diff -Nru gnutls26-2.8.6/ABOUT-NLS gnutls26-2.4.1/ABOUT-NLS --- gnutls26-2.8.6/ABOUT-NLS 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/ABOUT-NLS 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,1068 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is +a way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +1.1 Quick configuration advice +============================== + +If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +1.2 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU `gettext'. Other packages have their own ways to +internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the included GNU +`gettext' library will be used. This library is wholly contained +within this package, usually in the `intl/' subdirectory, so prior +installation of the GNU `gettext' package is _not_ required. +Installers may use special options at configuration time for changing +the default behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will, respectively, bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might not be desirable. You should use +the more recent version of the GNU `gettext' library. I.e. if the file +`intl/VERSION' shows that the library which comes with this package is +more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages usually have many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.3 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. If you happen to have the `LC_ALL' or some other +`LC_xxx' environment variables set, you should unset them before +setting `LANG', otherwise the setting of `LANG' will not have the +desired effect. Here `LL' is an ISO 639 two-letter language code, and +`CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your language by running the +command `locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it's recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +1.4 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `coordinator@translationproject.org' to +reach the coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.5 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of November +2007. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo + +----------------------------------------------------+ + Compendium | [] [] [] [] | + a2ps | [] [] [] [] [] | + aegis | () | + ant-phone | () | + anubis | [] | + ap-utils | | + aspell | [] [] [] [] [] | + bash | [] | + bfd | | + bibshelf | [] | + binutils | | + bison | [] [] | + bison-runtime | [] | + bluez-pin | [] [] [] [] [] | + cflow | [] | + clisp | [] [] [] | + console-tools | [] [] | + coreutils | [] [] [] [] | + cpio | | + cpplib | [] [] [] | + cryptonit | [] | + dialog | | + diffutils | [] [] [] [] [] [] | + doodle | [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + fetchmail | [] [] () [] [] | + findutils | [] | + findutils_stable | [] [] [] | + flex | [] [] [] | + fslint | | + gas | | + gawk | [] [] [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] | + gip | [] | + gliv | [] [] | + glunarclock | [] | + gmult | [] [] | + gnubiff | () | + gnucash | [] [] () () [] | + gnuedu | | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | | + gpe-clock | [] [] | + gpe-conf | [] [] | + gpe-contacts | | + gpe-edit | [] | + gpe-filemanager | | + gpe-go | [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] | + gpe-package | | + gpe-sketchbook | [] [] | + gpe-su | [] [] | + gpe-taskmanager | [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | | + gphoto2 | [] [] [] [] | + gprof | [] [] | + gpsdrive | | + gramadoir | [] [] | + grep | [] [] | + gretl | () | + gsasl | | + gss | | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] [] | + gst-plugins-ugly | [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | () | + gtkam | [] [] [] [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] | + herrie | [] | + hylafax | | + idutils | [] [] | + indent | [] [] [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] [] | + iso_639 | [] [] [] [] | + jpilot | [] | + jtag | | + jwhois | | + kbd | [] [] [] [] | + keytouch | [] [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + latrine | () | + ld | [] | + leafpad | [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] | + libextractor | [] | + libgpewidget | [] [] [] | + libgpg-error | [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] | + libgsasl | | + libiconv | [] [] | + libidn | [] [] [] | + lifelines | [] () | + lilypond | [] | + lingoteach | | + lprng | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailfromd | | + mailutils | [] | + make | [] [] | + man-db | [] [] [] | + minicom | [] [] [] | + nano | [] [] [] | + opcodes | [] | + parted | [] [] | + pilot-qof | | + popt | [] [] [] | + psmisc | [] | + pwdutils | | + qof | | + radius | [] | + recode | [] [] [] [] [] [] | + rpm | [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] | + shared-mime-info | [] [] [] [] () [] [] [] | + sharutils | [] [] [] [] [] [] | + shishi | | + skencil | [] () | + solfege | | + soundtracker | [] [] | + sp | [] | + system-tools-ba... | [] [] [] [] [] [] [] [] [] | + tar | [] [] | + texinfo | [] [] [] | + tin | () () | + tuxpaint | [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] [] | + util-linux-ng | [] [] [] [] | + vorbis-tools | [] | + wastesedge | () | + wdiff | [] [] [] [] | + wget | [] [] [] | + xchat | [] [] [] [] [] [] [] | + xkeyboard-config | [] | + xpad | [] [] [] | + +----------------------------------------------------+ + af am ar az be bg bs ca cs cy da de el en en_GB eo + 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 + + es et eu fa fi fr ga gl gu he hi hr hu id is it + +--------------------------------------------------+ + Compendium | [] [] [] [] [] | + a2ps | [] [] [] () | + aegis | | + ant-phone | [] | + anubis | [] | + ap-utils | [] [] | + aspell | [] [] [] | + bash | [] | + bfd | [] [] | + bibshelf | [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] [] [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + cflow | [] | + clisp | [] [] | + console-tools | | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cpplib | [] [] | + cryptonit | [] | + dialog | [] [] [] | + diffutils | [] [] [] [] [] [] [] [] [] | + doodle | [] [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + fetchmail | [] | + findutils | [] [] [] | + findutils_stable | [] [] [] [] | + flex | [] [] [] | + fslint | | + gas | [] [] | + gawk | [] [] [] [] () | + gcal | [] [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] | + gip | [] [] [] [] | + gliv | () | + glunarclock | [] [] [] | + gmult | [] [] [] | + gnubiff | () () | + gnucash | () () () | + gnuedu | [] | + gnulib | [] [] [] | + gnunet | | + gnunet-gtk | | + gnutls | | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | | + gpe-clock | [] [] [] [] | + gpe-conf | [] | + gpe-contacts | [] [] | + gpe-edit | [] [] [] [] | + gpe-filemanager | [] | + gpe-go | [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] [] [] | + gpsdrive | [] | + gramadoir | [] [] | + grep | [] [] [] | + gretl | [] [] [] () | + gsasl | [] [] | + gss | [] [] | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] | + gstreamer | [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | + herrie | [] | + hylafax | | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] [] [] [] | + iso_15924 | [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | [] | + iso_4217 | [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] | + jpilot | [] [] | + jtag | [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + keytouch | [] [] [] | + keytouch-editor | [] | + keytouch-keyboa... | [] [] | + latrine | [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | [] | + libgpewidget | [] [] [] [] [] | + libgpg-error | [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] | + libgsasl | [] [] | + libiconv | [] [] [] | + libidn | [] [] | + lifelines | () | + lilypond | [] [] [] | + lingoteach | [] [] [] | + lprng | | + lynx | [] [] [] | + m4 | [] [] [] [] | + mailfromd | | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] | + man-db | [] | + minicom | [] [] [] [] | + nano | [] [] [] [] [] [] [] | + opcodes | [] [] [] [] | + parted | [] [] [] | + pilot-qof | | + popt | [] [] [] [] | + psmisc | [] [] | + pwdutils | | + qof | [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] [] [] [] | + shared-mime-info | [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] [] | + shishi | [] | + skencil | [] [] | + solfege | [] | + soundtracker | [] [] [] | + sp | [] | + system-tools-ba... | [] [] [] [] [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + tin | [] () | + tuxpaint | [] [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux | [] [] [] [] [] [] [] | + util-linux-ng | [] [] [] [] [] [] [] | + vorbis-tools | | + wastesedge | () | + wdiff | [] [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] | + xchat | [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + xpad | [] [] [] | + +--------------------------------------------------+ + es et eu fa fi fr ga gl gu he hi hr hu id is it + 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 + + ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn + +--------------------------------------------------+ + Compendium | [] | + a2ps | () [] [] | + aegis | () | + ant-phone | [] | + anubis | [] [] [] | + ap-utils | [] | + aspell | [] [] | + bash | [] | + bfd | | + bibshelf | [] | + binutils | | + bison | [] [] [] | + bison-runtime | [] [] [] | + bluez-pin | [] [] [] | + cflow | | + clisp | [] | + console-tools | | + coreutils | [] | + cpio | [] | + cpplib | [] | + cryptonit | [] | + dialog | [] [] | + diffutils | [] [] [] | + doodle | | + e2fsprogs | [] | + enscript | [] | + fetchmail | [] [] | + findutils | [] | + findutils_stable | [] | + flex | [] [] | + fslint | | + gas | | + gawk | [] [] | + gcal | | + gcc | | + gettext-examples | [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gip | [] [] | + gliv | [] | + glunarclock | [] [] | + gmult | [] [] [] | + gnubiff | | + gnucash | () () () | + gnuedu | | + gnulib | [] [] | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gpe-aerial | [] | + gpe-beam | [] | + gpe-calendar | [] | + gpe-clock | [] [] [] | + gpe-conf | [] [] [] | + gpe-contacts | [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | [] | + gphoto2 | [] [] | + gprof | [] | + gpsdrive | [] | + gramadoir | () | + grep | [] [] | + gretl | | + gsasl | [] | + gss | | + gst-plugins-bad | [] | + gst-plugins-base | [] | + gst-plugins-good | [] | + gst-plugins-ugly | [] | + gstreamer | [] | + gtick | [] | + gtkam | [] [] | + gtkorphan | [] | + gtkspell | [] [] | + gutenprint | [] | + hello | [] [] [] [] [] [] [] | + herrie | [] | + hylafax | | + idutils | [] | + indent | [] [] | + iso_15924 | [] | + iso_3166 | [] [] [] [] [] [] [] [] | + iso_3166_2 | [] | + iso_4217 | [] [] [] | + iso_639 | [] [] [] [] | + jpilot | () () | + jtag | | + jwhois | [] | + kbd | [] | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | | + latrine | [] | + ld | | + leafpad | [] [] | + libc | [] [] [] | + libexif | | + libextractor | | + libgpewidget | [] | + libgpg-error | | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | [] | + libiconv | [] | + libidn | [] [] | + lifelines | [] | + lilypond | [] | + lingoteach | [] | + lprng | | + lynx | [] [] | + m4 | [] [] | + mailfromd | | + mailutils | | + make | [] [] [] | + man-db | | + minicom | [] | + nano | [] [] [] | + opcodes | [] | + parted | [] [] | + pilot-qof | | + popt | [] [] [] | + psmisc | [] [] [] | + pwdutils | | + qof | | + radius | | + recode | [] | + rpm | [] [] | + screem | [] | + scrollkeeper | [] [] [] [] | + sed | [] [] | + shared-mime-info | [] [] [] [] [] [] [] | + sharutils | [] [] | + shishi | | + skencil | | + solfege | () () | + soundtracker | | + sp | () | + system-tools-ba... | [] [] [] [] | + tar | [] [] [] | + texinfo | [] [] | + tin | | + tuxpaint | () [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] | + util-linux-ng | [] [] | + vorbis-tools | | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] | + xchat | [] [] [] [] | + xkeyboard-config | [] [] [] | + xpad | [] [] [] | + +--------------------------------------------------+ + ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn + 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 + + or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta + +--------------------------------------------------+ + Compendium | [] [] [] [] [] | + a2ps | () [] [] [] [] [] [] | + aegis | () () | + ant-phone | [] [] | + anubis | [] [] [] | + ap-utils | () | + aspell | [] [] [] | + bash | [] [] | + bfd | | + bibshelf | [] | + binutils | [] [] | + bison | [] [] [] [] [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] [] | + cflow | [] | + clisp | [] | + console-tools | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + cpplib | [] | + cryptonit | [] [] | + dialog | [] | + diffutils | [] [] [] [] [] [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] | + findutils_stable | [] [] [] [] [] [] | + flex | [] [] [] [] [] | + fslint | [] | + gas | | + gawk | [] [] [] [] | + gcal | [] | + gcc | [] [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] [] | + gip | [] [] [] [] | + gliv | [] [] [] [] [] [] | + glunarclock | [] [] [] [] [] [] | + gmult | [] [] [] [] | + gnubiff | () [] | + gnucash | () [] | + gnuedu | | + gnulib | [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] [] [] [] [] [] [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] [] [] [] [] [] | + gpe-login | [] [] [] [] [] [] [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] | + gphoto2 | [] [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] | + gramadoir | [] [] | + grep | [] [] [] [] | + gretl | [] [] [] | + gsasl | [] [] [] | + gss | [] [] [] [] | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] | + gst-plugins-ugly | [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] | + gtkam | [] [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] [] [] [] | + herrie | [] [] [] | + hylafax | | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] | + jpilot | | + jtag | [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + latrine | | + ld | [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] | + libextractor | [] [] | + libgpewidget | [] [] [] [] [] [] [] [] | + libgpg-error | [] [] [] | + libgphoto2 | [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] | + libidn | [] [] () | + lifelines | [] [] | + lilypond | | + lingoteach | [] | + lprng | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] [] [] | + make | [] [] [] [] | + man-db | [] [] [] [] | + minicom | [] [] [] [] [] | + nano | [] [] [] [] | + opcodes | [] [] | + parted | [] | + pilot-qof | | + popt | [] [] [] [] | + psmisc | [] [] | + pwdutils | [] [] | + qof | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + rpm | [] [] [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + shared-mime-info | [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + skencil | [] [] [] | + solfege | [] | + soundtracker | [] [] | + sp | | + system-tools-ba... | [] [] [] [] [] [] [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + tin | () | + tuxpaint | [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] [] | + util-linux-ng | [] [] [] [] | + vorbis-tools | [] | + wastesedge | | + wdiff | [] [] [] [] [] [] [] | + wget | [] [] [] [] | + xchat | [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + xpad | [] [] [] | + +--------------------------------------------------+ + or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta + 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 + + tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu + +---------------------------------------------------+ + Compendium | [] [] [] [] | 19 + a2ps | [] [] [] | 19 + aegis | [] | 1 + ant-phone | [] [] | 6 + anubis | [] [] [] | 11 + ap-utils | () [] | 4 + aspell | [] [] [] | 16 + bash | [] | 6 + bfd | | 2 + bibshelf | [] | 7 + binutils | [] [] [] [] | 9 + bison | [] [] [] [] | 20 + bison-runtime | [] [] [] [] | 18 + bluez-pin | [] [] [] [] [] [] | 28 + cflow | [] [] | 5 + clisp | | 9 + console-tools | [] [] | 5 + coreutils | [] [] [] | 18 + cpio | [] [] [] [] | 11 + cpplib | [] [] [] [] [] | 12 + cryptonit | [] | 6 + dialog | [] [] [] | 9 + diffutils | [] [] [] [] [] | 29 + doodle | [] | 6 + e2fsprogs | [] [] | 10 + enscript | [] [] [] | 16 + fetchmail | [] [] | 12 + findutils | [] [] [] | 11 + findutils_stable | [] [] [] [] | 18 + flex | [] [] | 15 + fslint | [] | 2 + gas | [] | 3 + gawk | [] [] [] | 16 + gcal | [] | 5 + gcc | [] [] [] | 7 + gettext-examples | [] [] [] [] [] [] | 29 + gettext-runtime | [] [] [] [] [] [] | 28 + gettext-tools | [] [] [] [] [] | 20 + gip | [] [] | 13 + gliv | [] [] | 11 + glunarclock | [] [] [] | 15 + gmult | [] [] [] [] | 16 + gnubiff | [] | 2 + gnucash | () [] | 5 + gnuedu | [] | 2 + gnulib | [] | 10 + gnunet | | 0 + gnunet-gtk | [] [] | 3 + gnutls | | 4 + gpe-aerial | [] [] | 14 + gpe-beam | [] [] | 14 + gpe-calendar | [] [] | 7 + gpe-clock | [] [] [] [] | 21 + gpe-conf | [] [] [] | 16 + gpe-contacts | [] [] | 10 + gpe-edit | [] [] [] [] [] | 22 + gpe-filemanager | [] [] | 7 + gpe-go | [] [] [] [] | 19 + gpe-login | [] [] [] [] [] | 21 + gpe-ownerinfo | [] [] [] [] | 21 + gpe-package | [] | 6 + gpe-sketchbook | [] [] | 16 + gpe-su | [] [] [] [] | 21 + gpe-taskmanager | [] [] [] [] | 21 + gpe-timesheet | [] [] [] [] | 18 + gpe-today | [] [] [] [] [] | 21 + gpe-todo | [] [] | 8 + gphoto2 | [] [] [] [] | 21 + gprof | [] [] | 13 + gpsdrive | [] | 5 + gramadoir | [] | 7 + grep | [] | 12 + gretl | | 6 + gsasl | [] [] [] | 9 + gss | [] | 7 + gst-plugins-bad | [] [] [] | 13 + gst-plugins-base | [] [] | 11 + gst-plugins-good | [] [] [] [] [] | 16 + gst-plugins-ugly | [] [] [] | 13 + gstreamer | [] [] [] | 18 + gtick | [] [] | 7 + gtkam | [] | 16 + gtkorphan | [] | 7 + gtkspell | [] [] [] [] [] [] | 27 + gutenprint | | 4 + hello | [] [] [] [] [] | 38 + herrie | [] [] | 8 + hylafax | | 0 + idutils | [] [] | 15 + indent | [] [] [] [] [] | 28 + iso_15924 | [] [] | 4 + iso_3166 | [] [] [] [] [] [] [] [] [] | 54 + iso_3166_2 | [] [] | 4 + iso_4217 | [] [] [] [] [] | 24 + iso_639 | [] [] [] [] [] | 26 + jpilot | [] [] [] [] | 7 + jtag | [] | 3 + jwhois | [] [] [] | 13 + kbd | [] [] [] | 13 + keytouch | [] | 8 + keytouch-editor | [] | 5 + keytouch-keyboa... | [] | 5 + latrine | [] [] | 5 + ld | [] [] [] [] | 10 + leafpad | [] [] [] [] [] | 24 + libc | [] [] [] | 19 + libexif | [] | 5 + libextractor | [] | 5 + libgpewidget | [] [] [] | 20 + libgpg-error | [] | 6 + libgphoto2 | [] [] | 9 + libgphoto2_port | [] [] [] | 11 + libgsasl | [] | 8 + libiconv | [] [] | 11 + libidn | [] [] | 11 + lifelines | | 4 + lilypond | [] | 6 + lingoteach | [] | 6 + lprng | [] | 2 + lynx | [] [] [] | 15 + m4 | [] [] [] | 18 + mailfromd | [] [] | 3 + mailutils | [] [] | 8 + make | [] [] [] | 20 + man-db | [] | 9 + minicom | [] | 14 + nano | [] [] [] | 20 + opcodes | [] [] | 10 + parted | [] [] [] | 11 + pilot-qof | [] | 1 + popt | [] [] [] [] | 18 + psmisc | [] [] | 10 + pwdutils | [] | 3 + qof | [] | 4 + radius | [] [] | 7 + recode | [] [] [] | 25 + rpm | [] [] [] [] | 13 + screem | [] | 2 + scrollkeeper | [] [] [] [] | 26 + sed | [] [] [] [] | 23 + shared-mime-info | [] [] [] | 29 + sharutils | [] [] [] | 23 + shishi | [] | 3 + skencil | [] | 7 + solfege | [] | 3 + soundtracker | [] [] | 9 + sp | [] | 3 + system-tools-ba... | [] [] [] [] [] [] [] | 38 + tar | [] [] [] | 17 + texinfo | [] [] [] | 15 + tin | | 1 + tuxpaint | [] [] [] | 19 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux | [] [] [] | 20 + util-linux-ng | [] [] [] | 20 + vorbis-tools | [] [] | 4 + wastesedge | | 1 + wdiff | [] [] | 23 + wget | [] [] [] | 20 + xchat | [] [] [] [] | 29 + xkeyboard-config | [] [] [] | 14 + xpad | [] [] [] | 15 + +---------------------------------------------------+ + 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu + 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If November 2007 seems to be old, you may fetch a more recent copy +of this `ABOUT-NLS' file on most GNU archive sites. The most +up-to-date matrix with full percentage details can be found at +`http://translationproject.org/extra/matrix.html'. + +1.6 Using `gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`coordinator@translationproject.org' to make the `.pot' files available +to the translation teams. + diff -Nru gnutls26-2.8.6/aclocal.m4 gnutls26-2.4.1/aclocal.m4 --- gnutls26-2.8.6/aclocal.m4 2010-03-15 10:29:13.000000000 +0000 +++ gnutls26-2.4.1/aclocal.m4 2008-06-30 22:07:33.000000000 +0100 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 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. @@ -13,13 +13,6665 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(AC_AUTOCONF_VERSION, [2.62],, +[m4_warning([this file was generated for autoconf 2.62. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 52 Debian 1.5.26-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +_LT_REQUIRED_DARWIN_CHECKS + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# -------------------------- +# Check for some things on darwin +AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + echo "int foo(void){return 1;}" > conftest.c + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib ${wl}-single_module conftest.c + if test -f libconftest.dylib; then + lt_cv_apple_cc_single_mod=yes + rm -rf libconftest.dylib* + fi + rm conftest.c + fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + case $host_os in + rhapsody* | darwin1.[[0123]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}" + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil="~$DSYMUTIL \$lib || :" + else + _lt_dsymutil= + fi + ;; + esac +]) + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec], +[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"]) +sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec], +[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"]) +sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [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]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognize shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognize a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= +_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + if test "$GXX" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# ------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 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 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + + +# Cheap backport of AS_EXECUTABLE_P and required macros +# from Autoconf 2.59; we should not use $as_executable_p directly. + +# _AS_TEST_PREPARE +# ---------------- +m4_ifndef([_AS_TEST_PREPARE], +[m4_defun([_AS_TEST_PREPARE], +[if test -x / >/dev/null 2>&1; then + as_executable_p='test -x' +else + as_executable_p='test -f' +fi +])])# _AS_TEST_PREPARE + +# AS_EXECUTABLE_P +# --------------- +# Check whether a file is executable. +m4_ifndef([AS_EXECUTABLE_P], +[m4_defun([AS_EXECUTABLE_P], +[AS_REQUIRE([_AS_TEST_PREPARE])dnl +$as_executable_p $1[]dnl +])])# AS_EXECUTABLE_P + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -31,10 +6683,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' +[am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.10.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -48,12 +6700,12 @@ # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.10.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- @@ -110,14 +6762,14 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # 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. -# serial 9 +# serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -130,7 +6782,6 @@ AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' @@ -144,14 +6795,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # 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. -# serial 10 +# serial 9 # 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, @@ -208,16 +6859,6 @@ if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - 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 @@ -235,17 +6876,7 @@ done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested @@ -255,23 +6886,19 @@ break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; 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=$am__obj \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 # or remarks (even with -Werror). So we grep stderr for any message @@ -328,68 +6955,57 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # 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. -#serial 5 +#serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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 +[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. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. 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 " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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 @@ -421,13 +7037,13 @@ # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2008 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. -# serial 16 +# serial 13 # 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. @@ -444,7 +7060,7 @@ # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl +[AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -495,8 +7111,8 @@ AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. @@ -504,36 +7120,23 @@ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) _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 + [_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 + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +]) # When config.status generates a header, we must update the stamp-h file. @@ -557,7 +7160,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -568,14 +7171,7 @@ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. @@ -601,13 +7197,13 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005 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. -# serial 4 +# serial 3 # AM_MAKE_INCLUDE() # ----------------- @@ -616,7 +7212,7 @@ [am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo this is the am__doit target + @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -626,24 +7222,24 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac +# 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 - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac + 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]) @@ -653,14 +7249,14 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # 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. -# serial 6 +# serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -677,14 +7273,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi +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 " @@ -722,13 +7311,13 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005 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. -# serial 4 +# serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -745,7 +7334,7 @@ # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- @@ -755,14 +7344,14 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # 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. -# serial 5 +# serial 4 # AM_SANITY_CHECK # --------------- @@ -771,29 +7360,16 @@ # Just in case sleep 1 echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - # 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` + 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` + set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ @@ -846,25 +7422,18 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006 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. -# serial 2 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. @@ -961,85 +7530,104 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -m4_include([libextra/m4/hooks.m4]) -m4_include([lib/m4/hooks.m4]) -m4_include([lib/gl/m4/po.m4]) -m4_include([gl/m4/00gnulib.m4]) -m4_include([gl/m4/alloca.m4]) +m4_include([lgl/m4/alloca.m4]) +m4_include([lgl/m4/arcfour.m4]) +m4_include([lgl/m4/arctwo.m4]) +m4_include([lgl/m4/des.m4]) +m4_include([lgl/m4/float_h.m4]) +m4_include([lgl/m4/fseeko.m4]) +m4_include([lgl/m4/func.m4]) +m4_include([lgl/m4/gc-arcfour.m4]) +m4_include([lgl/m4/gc-arctwo.m4]) +m4_include([lgl/m4/gc-camellia.m4]) +m4_include([lgl/m4/gc-des.m4]) +m4_include([lgl/m4/gc-hmac-md5.m4]) +m4_include([lgl/m4/gc-hmac-sha1.m4]) +m4_include([lgl/m4/gc-md2.m4]) +m4_include([lgl/m4/gc-md4.m4]) +m4_include([lgl/m4/gc-md5.m4]) +m4_include([lgl/m4/gc-pbkdf2-sha1.m4]) +m4_include([lgl/m4/gc-random.m4]) +m4_include([lgl/m4/gc-rijndael.m4]) +m4_include([lgl/m4/gc-sha1.m4]) +m4_include([lgl/m4/gc.m4]) +m4_include([lgl/m4/gnulib-comp.m4]) +m4_include([lgl/m4/hmac-md5.m4]) +m4_include([lgl/m4/hmac-sha1.m4]) +m4_include([lgl/m4/intmax_t.m4]) +m4_include([lgl/m4/lseek.m4]) +m4_include([lgl/m4/malloc.m4]) +m4_include([lgl/m4/md2.m4]) +m4_include([lgl/m4/md4.m4]) +m4_include([lgl/m4/md5.m4]) +m4_include([lgl/m4/memchr.m4]) +m4_include([lgl/m4/memcmp.m4]) +m4_include([lgl/m4/memmem.m4]) +m4_include([lgl/m4/memmove.m4]) +m4_include([lgl/m4/memxor.m4]) +m4_include([lgl/m4/minmax.m4]) +m4_include([lgl/m4/printf.m4]) +m4_include([lgl/m4/read-file.m4]) +m4_include([lgl/m4/realloc.m4]) +m4_include([lgl/m4/rijndael.m4]) +m4_include([lgl/m4/sha1.m4]) +m4_include([lgl/m4/snprintf.m4]) +m4_include([lgl/m4/sockpfaf.m4]) +m4_include([lgl/m4/stdbool.m4]) +m4_include([lgl/m4/stdint.m4]) +m4_include([lgl/m4/stdio_h.m4]) +m4_include([lgl/m4/stdlib_h.m4]) +m4_include([lgl/m4/strcase.m4]) +m4_include([lgl/m4/string_h.m4]) +m4_include([lgl/m4/strings_h.m4]) +m4_include([lgl/m4/strverscmp.m4]) +m4_include([lgl/m4/sys_socket_h.m4]) +m4_include([lgl/m4/sys_stat_h.m4]) +m4_include([lgl/m4/time_h.m4]) +m4_include([lgl/m4/time_r.m4]) +m4_include([lgl/m4/unistd_h.m4]) +m4_include([lgl/m4/vasnprintf.m4]) +m4_include([lgl/m4/vasprintf.m4]) +m4_include([lgl/m4/wchar.m4]) m4_include([gl/m4/arpa_inet_h.m4]) m4_include([gl/m4/autobuild.m4]) -m4_include([gl/m4/close.m4]) -m4_include([gl/m4/errno_h.m4]) +m4_include([gl/m4/eoverflow.m4]) m4_include([gl/m4/error.m4]) m4_include([gl/m4/extensions.m4]) -m4_include([gl/m4/fclose.m4]) -m4_include([gl/m4/float_h.m4]) -m4_include([gl/m4/fseeko.m4]) m4_include([gl/m4/getaddrinfo.m4]) m4_include([gl/m4/getdelim.m4]) m4_include([gl/m4/getline.m4]) m4_include([gl/m4/getpass.m4]) -m4_include([gl/m4/gettimeofday.m4]) m4_include([gl/m4/gnulib-common.m4]) m4_include([gl/m4/gnulib-comp.m4]) -m4_include([gl/m4/hostent.m4]) m4_include([gl/m4/include_next.m4]) m4_include([gl/m4/inet_ntop.m4]) m4_include([gl/m4/inet_pton.m4]) -m4_include([gl/m4/intmax_t.m4]) -m4_include([gl/m4/inttypes_h.m4]) -m4_include([gl/m4/lib-ld.m4]) -m4_include([gl/m4/lib-link.m4]) -m4_include([gl/m4/lib-prefix.m4]) -m4_include([gl/m4/longlong.m4]) -m4_include([gl/m4/lseek.m4]) -m4_include([gl/m4/malloc.m4]) -m4_include([gl/m4/manywarnings.m4]) -m4_include([gl/m4/minmax.m4]) -m4_include([gl/m4/multiarch.m4]) -m4_include([gl/m4/netdb_h.m4]) m4_include([gl/m4/netinet_in_h.m4]) m4_include([gl/m4/onceonly_2_57.m4]) -m4_include([gl/m4/perror.m4]) -m4_include([gl/m4/pmccabe2html.m4]) -m4_include([gl/m4/printf.m4]) -m4_include([gl/m4/read-file.m4]) m4_include([gl/m4/readline.m4]) -m4_include([gl/m4/realloc.m4]) -m4_include([gl/m4/select.m4]) -m4_include([gl/m4/servent.m4]) -m4_include([gl/m4/size_max.m4]) -m4_include([gl/m4/snprintf.m4]) -m4_include([gl/m4/sockets.m4]) m4_include([gl/m4/socklen.m4]) -m4_include([gl/m4/sockpfaf.m4]) m4_include([gl/m4/stdarg.m4]) -m4_include([gl/m4/stdbool.m4]) -m4_include([gl/m4/stdint.m4]) -m4_include([gl/m4/stdint_h.m4]) -m4_include([gl/m4/stdio_h.m4]) -m4_include([gl/m4/stdlib_h.m4]) +m4_include([gl/m4/strdup.m4]) m4_include([gl/m4/strerror.m4]) -m4_include([gl/m4/string_h.m4]) -m4_include([gl/m4/sys_ioctl_h.m4]) -m4_include([gl/m4/sys_select_h.m4]) -m4_include([gl/m4/sys_socket_h.m4]) -m4_include([gl/m4/sys_stat_h.m4]) -m4_include([gl/m4/sys_time_h.m4]) -m4_include([gl/m4/ungetc.m4]) -m4_include([gl/m4/unistd_h.m4]) -m4_include([gl/m4/vasnprintf.m4]) -m4_include([gl/m4/warnings.m4]) -m4_include([gl/m4/wchar.m4]) -m4_include([gl/m4/wchar_t.m4]) -m4_include([gl/m4/wint_t.m4]) -m4_include([gl/m4/xsize.m4]) +m4_include([m4/gettext.m4]) m4_include([m4/gtk-doc.m4]) m4_include([m4/guile.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/intlmacosx.m4]) +m4_include([m4/inttypes_h.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) +m4_include([m4/libgcrypt.m4]) +m4_include([m4/libtasn1.m4]) +m4_include([m4/longlong.m4]) +m4_include([m4/nls.m4]) m4_include([m4/pkg.m4]) -m4_include([m4/valgrind.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) +m4_include([m4/size_max.m4]) +m4_include([m4/stdint_h.m4]) +m4_include([m4/wchar_t.m4]) +m4_include([m4/wint_t.m4]) +m4_include([m4/xsize.m4]) diff -Nru gnutls26-2.8.6/AUTHORS gnutls26-2.4.1/AUTHORS --- gnutls26-2.8.6/AUTHORS 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/AUTHORS 2008-06-19 11:00:09.000000000 +0100 @@ -1,5 +1,5 @@ GNU TLS AUTHORS -- Information about the authors. -Copyright (C) 2006, 2007, 2008, 2009 Simon Josefsson +Copyright (C) 2006, 2007, 2008 Simon Josefsson Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Nikos Mavrogiannopoulos See the end for copying conditions. @@ -48,9 +48,6 @@ Daniel Kahn Gillmor OpenPGP discussion and improvements. -David Marín Carreño -Added gnutls_x509_crq_get_key_id. - -----BEGIN PGP PUBLIC KEY BLOCK----- URL: http://josefsson.org/key.txt (always latest version) Comment: This 0xB565716F key is used to sign releases of GnuTLS. @@ -60,11 +57,11 @@ 6bcDSBBDMRkHIX6/kH/vnevjqivIld+j8WTcVX+SArcKyzgQ58uMTrfQdLqzh6D9 sE/838+ZPZkabmKKWMVWccoaUbWGYOcNwO0ABim0JVNpbW9uIEpvc2Vmc3NvbiA8 c2ltb25Aam9zZWZzc29uLm9yZz6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgEC -F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSe3n2gUJDvoU -KwAKCRDtoh6UtWVxb8gaBP0SDiN4gn0EUY2PPLQvFNkvZ96dIpHbMpjfjkmYSJF0 -zhgcD7bxWXjXDNngBblX3JMs3yhg1GfQLvLVpQ64FakTT/XLCo9VecyFxILzq4aS -QHyxG6OcAKyq9ibpY4YtUutwV+jiO1/Zos8cdtsyDdn5RYYe6v27omKYRKrGHNlk -8NjAQC2pONY8MfPzMohWOcGhwdVYatAZXYENCo7hvlruiEYEExECAAYFAj1Y8sIA +F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRdXVWAUJC5P8 +LQAKCRDtoh6UtWVxb4xEBP9R74hzjkh79Gbjnfh+klZZMJ4ZseIOn6cnnjmuPZcs +IIDAS/M3XQf/dvDzGBUEPqb2JhApDivjurFTtjZLm6KWcBP4VI7ebHNF02EPS78a +eNDfylEfH0keRby0ElmBmEQ15Ct7dwrWvN2XiZNiCuNw6YFaBVjDesevQ5URk8kV +mwdlXUb0mc92SqfOqeXJ8DE/vivqTcavnmNFCaKy0Y/kiEYEExECAAYFAj1Y8sIA CgkQV5Mp08AbKiJmNwCgkgjjuS5TcZq4rVBWNYu1VwQlJWYAoJZf+pBNBvzT9xOg Hcs1cAMwT4FHiEwEExECAAwFAj1esHUFgwFXijYACgkQvLvElXGKklZXlwCfTWSl L2/3q5Od3zBVMKVHgpTo4asAnAtw7vVEIwp9pPuy1oKjTB/obqltiEYEExECAAYF @@ -234,289 +231,224 @@ mZutFX/OcnatDZExiEYEEBECAAYFAkXqoaAACgkQL5UVCKrmAi7oEwCgu/2cheN4 mU+yFFIG6HmLrbeIc5IAoI2I4eLWJdmLpJleOYgF7CtTGIKxiEYEEBECAAYFAkX/ bGMACgkQOpD/wRQI1/HBUwCglcM0b6fl1oP8iofWeovuhSk4+5sAmQHrgf2pbqFW -1oTBNS60dNQjA7VdiEYEEBECAAYFAka12CoACgkQXeJJllsDWKIizACgqk7R3Bhn -GgzraKbcP9qSMhbYBr8An2Xah3bURySnK2QBDx4GzNM/vCTqiEYEEBECAAYFAkdZ -tOwACgkQcgQ2cL3l8e4/XACg2opaihfpMLeOKb2bNSD7cLpI3N0An2A2r+PcOgUD -t3qIIZ8i24HAhBnSiEYEEBECAAYFAkdZt8kACgkQ4Q56CecvefrAfgCfU/NbkK4w -CiFMyviXo/F8tOEGyqkAnAgNaSmDzLkYZxHlM0SXosfHfV9diEYEExECAAYFAkda -cyUACgkQaGtW3WCKJJsOKwCeLKhorr01GCKnXR8QaGvImLVOm98AoJpyR9WMJ0cs -X+CuEdzGJDTlD8pxiEYEEBECAAYFAkddIIAACgkQt5wosOl/hW0OtwCgposF7nuk -dTQ1nsQd1AGHb0CkQzYAn06bBOKMXsPcN2VvMiO2hiv9FLhniHoEExECADoFAkdc -k2IzGmh0dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5ldC9zaWduLXBvbGljeS0y -MDA2LTEwAAoJEOdekMA5zDPbZ9IAnRTxxJl2Rtv1ZbnGsOuPJ6musP+5AJ9b8b3Y -9BL7PRHzWgQjzALVVXRrdIhGBBARAgAGBQJHXR/KAAoJEPG6TB7RyLqP7nYAn048 -cLE/iNKJFxl/RwkY9VcRedkrAJ9+Y6u67OnG6HneUhzqGvMDbaGmAohGBBARAgAG -BQJHXYVBAAoJEIUGW1nVLdGnUJ0AnjF43FY5SwhcW2JmuPVu1YnWfrwwAJ990zkv -mIQtRCrxMzMgThz4jVaoEIhGBBARAgAGBQJHXAvSAAoJEO2/HhEm8iS4g2YAoMWb -nnF/sbeM8+WToKO0nnoJrXVAAJ9iX3wXtSwAqrK+3X5imRfXGTxh8ohGBBMRAgAG -BQJHXuTeAAoJEIXCJ+WlVzjy4fQAoKz8piSTCDPkv0qeNq0bdoDs9mOxAJ4lO8Hp -GDqjYheaAvKG7tFZ1fsZjIj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIY -ZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJF1dVYBQkLk/wtAAoJ -EO2iHpS1ZXFvjEQE/1HviHOOSHv0ZuOd+H6SVlkwnhmx4g6fpyeeOa49lywggMBL -8zddB/928PMYFQQ+pvYmECkOK+O6sVO2NkubopZwE/hUjt5sc0XTYQ9Lvxp40N/K -UR8fSR5FvLQSWYGYRDXkK3t3Cta83ZeJk2IK43DpgVoFWMN6x69DlRGTyRWbB2Vd -RvSZz3ZKp86p5cnwMT++K+pNxq+eY0UJorLRj+SIRgQQEQIABgUCSES5dgAKCRBQ -LE8plp8qHbO7AKCPmi7Ri8FKIY/Wf9Ksa2NFDxUnRwCcCdAwwG67ZmplFNtZlVDW -wFEcvT+IRgQSEQIABgUCSFlvKwAKCRAk0yv5qpXDSUwfAJ0TPD78S3J8UvoziG+b -TCLTlPz1XwCgnWlV3PBKvOxuGSAdm/DOMlY1ogKJAaAEEAECAAYFAkkGvzkACgkQ -Ke5YuZaGUXFYtgwgx9yOo8cCR2a0d/0J8Ux8wAnjLI8m68BCiKW6HmAzXx/mNX2e -zicSEyqcvv4q5XdpvSrcA2kmlREBpu7mmnyerUuWWsTLMbi9clXaKRZ6yQJQBbrR -YwrXtzdFziHqFjw+hC19uVXlPhXYa/8YL6aCO4JUlzWWgVF8xHupfRTIeXuGLkC+ -sWww2VmSm8Fg0FBG9jpIt4wYxNMI77so4szE/hoFQSdRtY1lC18jjluNiygGNQQP -n7r5OKwrK9hX1gGZA2tGYVX0ZoYASRPZcUUzaYPH5cZ86SAg15zzroVD4etmk/2i -I4sdzR9PyKr0zUp5FNSAFRey6avPAhaTNsyVDRiKmK3PnZF9H9HaRLJJnQEcvevN -04Vg10VW/O3zCFMFi8zuxUP6ygoDdWZT9jR4wbzVEyFY7AUwXnStDd39p3oamTb9 -XtlngTJjmVBZIOlap4vmKsm0t2xviaxto6uR+656Ya49+SoXp+u5+dGDT2o0kFlN -aC5r9zovItqdDYUHtn7DsIhGBBARAgAGBQJJZyWPAAoJEEc46iFldJl61+EAn1jp -iTpjqq/l1oKwJQYDB0WsqGd+AKDEiDHvrN46b58gzQKdVbs472bFS4j7BBMBAgBF -AhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/ -dHlwZT1DRVJUBQJIYfmJBQkNGHReAAoJEO2iHpS1ZXFvdAwFAIshSBfY4Zn4BQfa -p1gTIjjcRy/v/bBnNMf8gMXkfm1FLTAaanO+n+lHsTNErPtaEfx8dyjvEg+wmOba -qAJYoR75pXBFbLKdiN/P1Tp5Wd/C0t+cTT2datz2PL5XFKAMRko9rST8C1MWOiri -H8akc6U6M+1Vy/dYcO2Tf3DxrXDLTFyrkfV9oREMsRFZu6W8P7UT578Epin/sTYY -A619IXOI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5q -b3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSaEuAAUJDq1aTgAKCRDtoh6UtWVxb4pU -BP9f7+9yeYZCJTvILOWlsYIvl7J2P0em2qYn3NbDUS1yq+BUO8udTYNWwyxX9zGT -5obhX9bhcWgms/UbGMsvlZcOT+e438P0t1q5q8u+FOgZtfkgZvyacCFvT4Fnd00B -+RaaGZ2atnodvhN8qpzHIf8GVrhzULEtdA55BRw+x5f6ORdSD14IFWirQ4WWKaXT -URx5LIRxs6twYJawkumU6m4KtCFTaW1vbiBKb3NlZnNzb24gPGphc0BleHR1bmRv -LmNvbT6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5q -b3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSe3n2gUJDvoUKwAKCRDtoh6UtWVxb0cp -BP431JbM/1Be0EgD95iofqEx9IqhUXp52EVCT/sV6MBfdUTplWjszWI93vR777ef -CVRhT2JSntNp448sqN0IBSwNunA0ZK6P2hzb8FrNF2POMGqdxlo5rvojOwi8Gks3 -1M8Jy7NExqCC7WkBAyIZF4WYClOFrEKQ4bCMV2ZxZvJ1vSeA7iRt4eLoFc7PLUFN -NF0rdjtOFxEW99ih14VFkNZWiEYEExECAAYFAj1Y8r8ACgkQV5Mp08AbKiIX9wCf -R2rMiXdKzZB95acA5YSQ4MLQyygAn1Nv7M36SAofR/73WjqlPpVAQ+fRiEwEExEC -AAwFAj1esHUFgwFXijYACgkQvLvElXGKklYZnQCeOXIzmEoZ5yOVNygphYmUwON/ -S8IAn32gWDyaTMpqyDcJEQeLdjcW7boSiEYEExECAAYFAkEAyn0ACgkQntdYP8FO -soL3oACfXAM0QRNlfq8OgJh1QalXw1SLJZUAoKAoGAAAGb7F1HO9jbK0owII8sse -iEYEExECAAYFAkD/P3cACgkQlv+ZxCXA7AtbsQCguoAQyxcVSPdJwBcNhy9BpH7m -U3sAoM8+z/22LG1aS4dtb1I+5pR8OLNBiEwEEhECAAwFAkDgVz0FgwCTtOwACgkQ -yIHdR0rnq0dgCACgqe1g6S0MaPkfm72F8ioT1ghrKEcAn090s8PIozoLTV93TTbN -B795qmyPiEYEExECAAYFAkJJAZAACgkQj8NyXz1o1jrrsQCgq7loSlMufZ2mUU89 -zv6iNElz69UAoNyY6spQqMiZlYiH5j+8kvA4diLziEwEEhECAAwFAkId8CMFgwA/ -IjEACgkQGCgra0U5SgFiygCeMS1yREf9GWkLXxuVYvARgNNKDDsAoKVBTM+DL0o1 -/ePv8yw/8SauXj5IiKIEEAECAAwFAkJG+cEFgwDmsQ4ACgkQv9buWFf3fwmU8gP+ -IEINaym7K7FUvZWuCkdJcHshCGVBlTOqI9YB1CTY8LNdRHp8jrRXBZFZODPAziH/ -1ZoiSQjsgTg88BUpxLLSgJHZOqhuPMWlLwa6WsytKGTkuFCnZ+mkmHKe7LVnjSKr -8OrP7y5OhFtdVqb5dgi9SIeK2ass1Xo+9EWZbco+v/OITAQTEQIADAUCQklECgWD -ABPOSgAKCRBmvnH/Z0hog4MLAJ944IigkBwS97tCZ2Kyetc66duezwCfWloLaQ1t -h9xZ47hc6cd6CU9XDkeITAQQEQIADAUCQk2CtQWDAOAoGgAKCRA7jqQfgvYSQATS -AKDPm9E4Q+qfxVAlncPp0WFdAhKNqgCgvkGlugvpmXBQRSMegHxskZBPEhCJASIE -EwECAAwFAkJhOZ0FgwDMcTIACgkQC3gy83PWLUH2Bgf9GHMCCYb349m66855EyPk -JmlVRGI5Qi6m37rjRmvAjL+aBSFYoAYyUKefTyv3TsJ8l+bAQsoaRU6wbn7uc/Lw -oJUTByXFj7rPOoITxx6Sa3VP1nYdXjCtarKmjzQTYU1cWwfKUbEA3fSgs4gpd801 -l6C21F+DbSmP8CbOtGb62Nv1Ux1CXiWn2r8VUy5AVWZ0VD4qvxxIGGn58R0vLxKC -5gGFids9JdMhJd1SHQ0mFkZp/NpNOnbw2A0tfhaFspdQAoDEjOHTr9fs0PAUBrt5 -YcP2W+iNZ9KPfN2c707p/3vErSPxQZCoXBmnN2LA5weNIVWZnKuJPUeyQ5FwH9or -PohMBBMRAgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6HsQUsAn2Ln//TsmEqIL/bc -Ltt8Vz82lqjCAJ9a5TbLuUOp4+h43F2CJjrUBL7CK4hMBBMRAgAMBQJC2LCxBYMA -VPoeAAoJEIHC9+viE7aSucUAn0cfeij+j8djU6jDPm/trQHL5/KoAJ4ySAysyVQ8 -U3fZ+OY3XfYKXPfVKIhMBBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/RzYR8A -n1jLVjT/3xOU0Xd9TV1ON39qxJetAKD6GoejRHaDXO2KBoQnrGVgp9wVUIkCIgQT -AQIADAUCQtiw8QWDAFT53gAKCRCq4+bOZqFEaKNhD/kBDYg2FWKwIkSMlz0KZWoA -FwoO9uUWqrbF7z8gwZKlOGW9gvcF0OPYoyvy094XrdqdtG8I2JqKfYgpaPr7jFU3 -ViaY1Mr8wQPqxfcmuKlsCfZjDxKaYHx4VKTiC5IXJ4guMeTlqzbTx3rnTZLm0Sey -ehmQDfIPTacVeiSAM0WLHEz0fPI5wYIBK7oDZQySItlRSCOJmIq5TEGVEb9B57Ip -ezW4O0WwRqE6hw8TTn7puMHHdTrI8PSydoPAwSRmUxV8p2EL4ZYgTTUrtzv0mTeG -7PdzU9Yc2TF3OXJwET1oake0PNLhriayDqdVlvs1h2F1KEIAotuMKXRd8CiURKln -ahj7eWtt3IVir8PdoBzRAtT3+Jm8ES32x/TdXQ8KDt1wPs/0ekLMcIzyAISW6gVi -+6utUpTvUXMQ/g/sQZXj2YrRTSjBNFP6WmE4hPc1h3JuJm0BbwXB0c8jE60YEGd0 -AHSJgPOdvra9AeNvMU6dn6c0Ts1boV035DvTZhTtUAb9kAc/T5ouNDwm8gsoob7E -02UFRfhMIo0Zqj5Bn2mC0QCnSb9P8L1C6bAbZEFXe/UrnH+eKBr+YMYphTIWWZ/C -SZhJwBaVDFCLzqr9Z/OirELSEJKCcG0VyxoigQfHmH6CRjM9K4ImJ2r5rr4FKT3w -88Gutxs9ypZW6XEhQ9Tj2YhGBBARAgAGBQJC8kruAAoJEG74r8KGV0rKw/0Anj3m -iI06v5jOKbRJt6wwLINA7N6RAJ9pdfC+4JZ+SMq0w9cO3NKGEsJ12ohMBBMRAgAM -BQJC8cBwBYMAO+pfAAoJECmqKFIzPnwjf58AoIpuzzaOyGF3g2Ky9dV9vqECBNs1 -AJ4jRU27Zwovy/hznIR9q+o+euIjoIhGBBARAgAGBQJD+NOWAAoJEOFd2FexXDfR -uzYAn2jjBwZqp6NfIRZM+cPQFWosanMIAJ9gZGuZXqOGcRHDYo1VwUK7Kg8anYhG -BBARAgAGBQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JEVccgdv8cdElg -AJ9jZHFa4KIdIsdGQZ5G4qS0YkHwKojYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIe -AQIXgAUCPr1HRgUJAtWOGQAKCRDtoh6UtWVxbxjZBP4+NJogmPfuKN7H7An8cEuT -LJ2pZhVmG5M9NUwuy3oNAyh1EGPdeLtRiWCDuUnq1HFqtW4X95hbpm/iPHkV4/Eo -sF4Ab4fgVFAf6iAhd4GUPHjVfsvbnCNLHE+FDgLAE0yZIpyQPzgt1CI+vKBtfwlA -uwnTxe5PMMbvvjR3RGi2rGLMaFg/RAlMPrtW99+hDSAu0HlyHDs9z2ixPX6PjKLO -iNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQI/pCtRBQkDvHImAAoJEO2i -HpS1ZXFvC54E/i6H1kQ65KO3afk6l+4BpuWytHOGWA9+W4Ex+Mc3KcQWwaOfzWXz -VMKpK1GWfvANSP3lm59KLdi+hhIUbWN98YyT+Ta2uAg21PeTFoaR+ezp3KQG5Xsq -LbBap0mRN7WJvJqL5EKq34nWV1JS4d19BnnAAs8lBFvgeqLszb1rMUdx/Fswt/fI -ZjIG4oLt4FU1VpHnxRMUrqvQJfdPt4a6TxuI2AQTAQIAIgIbAwQLBwMCAxUCAwMW -AgECHgECF4AFAkCGvisFCQSfBP4ACgkQ7aIelLVlcW+TGAT/Zl8IGpgoh7dIMzS0 -5U2sh5Jm5U1TKfbGipEorhWia9MjV4xKF8ZrS3A9WUEHnFce3TrJFvCOhsnKSYNz -8ea156X4VVY5x6GderxPbaAsQ2UQzQJRl6WWiw3AXB2dYY4cZmz8HgFUKHanOwKt -rp2LswoLOdkM4dfdMEuipUeNbMKV3G3Bzpjt8CwS2stWizj7Qm+NChhiAdDKuKXn -LAdiz4jYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAUCQW/EVAUJBYgLKQAK -CRDtoh6UtWVxb/FuBPwI7dyU7EW/gv2Cwm3F7qVFQhKW+aOiJCKCbDw8hDAZ9MJF -gDmgrgyNrjv7U/NurNjUCUSLcnIWkhAwMKlGGSF8caM5Ufa9qndoZfFIWvwkYzRI -7Vnn7zy42j03tECLiShrKQjL4ZgrKmjIX1QsaPlAv9tRiDMssbx601qyYT8OXzyY -ReFjfC4/Bp4gRty/8cMcHKZu/tWmU//dWG0A187PiNgEEwECACIFAjzVBysCGwMF -CQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEO2iHpS1ZXFviPIE/RqtM3MxNqQO -E7wEITTd3SKu7qwIUnapB6HhQAVfLwpnnJu1YnEVP9DvGfS5cq6Mn31xeG7LuJwN -HXfBaREobbQiMqI2/3LNBo1Hfr6bnyaNm7VQOcZWbY9P1sQtiYpNWi6aLjhBaBTm -WCrkpl9aGwDkFASpLm2n2TgIEGDfokLCNjEd+dbHKYDWFLIwo+aCY+bpoV34u/13 -eHmhNWz1ME6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v -bi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCQkBczwUJBlijpAAKCRDtoh6UtWVx -by3zBPkB3KFSVDNxags3/3fiYWbzOTtMLWeagcTu/d67BO6bIAHB1SHuX/O0GTbQ -6e2Zq57oMgYQuux9ha0Cq/JarCLym2ks466PMlKELbMFUnn/zq4akoBKrNPAIn2u -urKME9WVjtfNZuAQgu2qDUaL8fB7stD/mNWdm7TwPrrulL2S4doiqjD/vec5aDRz -R2VqKBuUxxUJdEXQibcm8g5i6Z/riPsEEwECAEUCGwMECwcDAgMVAgMDFgIBAh4B -AheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkMVrNIFCQcv -RSYACgkQ7aIelLVlcW/4KQT+IqyFzH4FIELZ3kQrbgPDDqwEM80Xg/maosIx9rZV -sZ5Zl99VCUaAl4t9O3aa0gAZGgLJpRrNaOPbTorjU5/sbRlUV4LJ8/KMG0oWXA0u -uMxbPuQAa0u1cX9sqezgyveUHwpckqI5OPm4Uj2b5vl6YAwNcnJAbcOdr9ZFx6Ck -j66uudHQ91mFgG9g89jqCBy0uxe18vcT9t6zVcuzItbNI4hGBBARAgAGBQJEc4b8 -AAoJEAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b0Hlo7Py6F9c1 -liLsMNWNDnyvZ4hGBBARAgAGBQJEc4cAAAoJEAixI47drUe2X7kAn2STeXyx0720 -Av+kaloy7DBcbQ9PAKCeHu+tG0BJiaFJ5PlFL9z7YTf6Koj7BBMBAgBFAhsDBAsH -AwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1D -RVJUBQJD8yj/BQkIC2/UAAoJEO2iHpS1ZXFvnC8E/2m35x5385TCfpBBULbxdISP -5DZcTlM9O30L+XZnn1lFVAFDQes7ZtLJfQtGUYzSPoA110G7ckq8YmLN46h++tV1 -cEdUNC/+pq+Z+hb+wGTdXL9z2cGYXH4YyUTPFYgqAvegFEpUQb2ApP9tOfnNlAu3 -gu74GUBN4AM1SVSOdyCApJdene5hCCFaplAesSze2TQ3DMHFg9b3sOa1hyNI1pCI -RgQQEQIABgUCRYwLjgAKCRApqihSMz58I4xDAJ9TxsGuTvlpK34/D/pFG6zQ20OJ -4wCcDRwPRMKgIVf4rpxjJHl6smEeBEqI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgEC -HgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObodQUJ -CP8vSAAKCRDtoh6UtWVxb4FkBP9tBDCSdedRv15ohfH5pJsB6g7mByjDIXOWByKd -pTIe7on/WiA7CKWShA+zGGBEToD+6eTdlpyS8GvOk3abD1idUZEL41z2q55FYoWE -F8o1QXAwJylUjLUiMJH98DPXGVXiSknlBBfls97xNhSp8pFLqF9ZG8Fl3RJS4LWz -XkjKqAqr1FkRCersY7PJC8xtIF5GStvga69kh3B1tH6oPY+ZiGsEEBECACsFAkXh -dvUFgwKHjGMeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl -0P1YIi0AoIj6iv+pHqqEXNYGOHs41bYXC3W6AJ4w+RXyAj4BiGjzNvuxyo/xa3Ei -R4hGBBARAgAGBQJF4sLGAAoJEKrPs4YhG27vaK8AoO3ONc4vHoteNr4J1uO/saI/ -vuMDAKD4FSdsGU0DcMUzZwIx+HT74UcxRokCHAQQAQIABgUCReGU+QAKCRAmSeYo -xdNNBYlwD/9XEPYoodT7gkKcwcwC0tDHfr8yUHCoYaNVfj5kCCP3PPd204/2hh4f -5TldAJbRvJVuqfJh0NbTDm5Ry2kq3E61FLeMJGbM8PZq9+lbaOd6DvKV+N4hCefc -SWS3WzG7dCJJ+8XEWDDgZ8kYizT+d+E7nio4Zfn6gyK1q8mI0LrSEYnuD5OgRk6Y -1eRZLWz3dLN/zw5vLm7rG1Gipg7EuePqQDmI9hKXXTLP6imKuuUKbGH2zCO/vcXy -66J5sI6Iky4w2dA2D/6CQGU/lNQMKrscKKeI2fXQ8I7UFPGomDisO1lxrz5QQ+z1 -Vx6ncI5u5irNjHFFYPlsq7tF4JgyVX15sTpsAHMBAJXhkE9f8C1YxstNKnP9F0Jt -czqK4bFF1bVoaE5H0Ip8ONLfdoBems9Ql6BgvGyQM94n6rTYVnlhyx9PO9LLhF8k -U/BplPcA8+cPNkB10xuK48zM8qvrSohB/QHUo46H33J2PdMdFjZM4KqztOJC2DsP -OE8L6WZBMCcvMXeTOTdoKPmcRtePAKF+azUHWOecpAkXSKK7HzJwZWyNrQWjXEi5 -p5WjEuUGFBgFmGlbzi7ALYLKjzjHDFvBDnb2dZWzLtswPdK/dEMcoVlvZUQjpY0A -zhEuO6NFQ6xicHMz963mvas1uFVhmldcjT22f1u4IKS++pzEMlKV6ohGBBARAgAG -BQJF4fboAAoJEE1EwCDFwFuumAsAoKvDeDQF6vBxmsDQDRAyaX2hZz81AJ0fENkd -FcOUkpvetayTWsiPUq9mxIhGBBARAgAGBQJF4gz6AAoJEFUVYHaRYekRoGAAoLke -CD2erYxzbJSjia1ifnlNnSbPAJ9S5mNGOnmLTAYxGOVJAgAXAtZtxIhGBBARAgAG -BQJF4grUAAoJEMfZMCWd/6rUgIwAnAq+iewnfvQpYXMRQPQHFQ1Q4oIWAKCbUj2F -EFUlU6cFznPqIMnUzc2Az4hGBBARAgAGBQJF4hFDAAoJEOVE3gebfDKN370An1/j -E3l8uC/UzrtY4E8FzB1pavjwAJ4sE44wMa8Bidx6SJny2pLFYxicZ4hGBBARAgAG -BQJF4i3iAAoJEHZJQAVJruv27z8AoL1S0MZUyWBxb0qLdQBtaDnOEDwDAKDFehqT -zLa4GI1XBWnM7+5vreKy3ohGBBARAgAGBQJF4ltVAAoJEFuTwC+eSpyd5QkAn0In -DM3Ef74GDEegEJi9CyV68RozAJ47ClCsb4r7WGCYJoplsFHvvGdWGohGBBARAgAG -BQJF4sNGAAoJEH5OpU/Qq0B1hCIAn3odxjrFGyc9x8KCaeBYXPcM4nN4AKDc7V60 -rCdebbhtFhEzdw8uw2TH34hMBBARAgAMBQJF4sR8BYMChj7cAAoJEHMcr9NTwaMv -I8YAoMfRnlA0X1QwWBSFe8ZHXyZX4hAwAKCQz64vRmNK7+9cbAzpFCotaw+hi4hG -BBARAgAGBQJF4eL6AAoJEHhn1Tx0eTXdNRYAoNE99BYi7z6tVqNDnq2+59mx8xSq -AJ93ptV7L/TCXEUfcG4poHiZpSgzO4hGBBARAgAGBQJF4s6iAAoJENoZYjcCOz9P -L7wAn2GeQZncnl0YvUhMebrsLnO6mHCYAJ4+dnk7nGWFch4j4Pz7PUkakSavTYkC -HAQQAQIABgUCReLO4gAKCRBSIlPD1yc5gWVXD/9o/pJ6/05wMtfLKNrcyXer8Rd7 -R14iBnEu6csly/2KtKetuD9+HbJnGiCdtIsEx0FREDZArXbdrBdR6Psm6CGfVKdQ -u+Lb86ojn6msFXhDHStT0GibARAT69YdL/SoWZzTD4jOigELQ9eFUj21O8+r+8oy -ttIuIGXGrDoSTKx9xGAcgh7Gk80H2QwPhhuhO9Mdc5LGm2FjeHR6E6GdF6LDrsJA -bfQIxBd0+nTW68fzrnoXcIDksaFO/5P6sYBwnxIWJKGMX5xdY6UjsO0IV+OEv8P1 -L1SDZJYyKCjPhgT5q3TVIbOzRqGKMX9yN9brxMb+YHEFcXm5jetFTTt/3b2Szagz -L6X2elU/BwO8qxgfA2i+03gznBLlRamBfqQjhk89X6edqfYVSo0Jxkj36lSzI68Q -iOx1mQZcuDIvlZo3fUOFk3P3IxYYk5o0eVGl0Obx09emc8+hcUqbs7eHJqZJbWaM -pow8bY8yKAKUfUp+crmRjYP8b7PV+TmQzkSz4f7M/JLEMyynci/AT6R0AgWWqVr9 -j7ohDaZsBtpHPPM6sHXb5ik1+QJs+alBkw/dy7VgiB0n9n66t0TSdJ6kd/7KAvta -6zpp9Q/kZYUU17YFIlH/oVx3av49XsNT+6GFsC7rKoRAlTf9fgYPDDO/HFDJHv0L -4lil6iDn+ADN1Zr7aYhGBBARAgAGBQJF4vk7AAoJEItKxIGsHnFex+0AniZ4F5qm -ExcEh9I33H/iGtQ5QKGpAJ4+FJNR7fD2hCbEb+bzWLfB5DU+74hGBBARAgAGBQJF -4yKoAAoJENOjcASuTRzUKTYAoJeMX1gnPVKfjKvcCF2XOOFrhlaUAKDfb/kQ6DYI -/0iz2qozs2anY4cAE4hGBBARAgAGBQJF4y0qAAoJELOx+BoCeHiAVAEAnAhbHFmo -nRhodwe6FSak7SPDeFxKAJ4w73sJn9Zb36S2jjtnOYgmrfgLKIhGBBARAgAGBQJF -40D3AAoJEDiaVjzCcqEmX2wAni+Nw8JZMW2jdHxuYV92EyNvMXZ0AKCUTA6JJ39m -CUtXEpSgBy2zlApjyohGBBARAgAGBQJF40DdAAoJEB9/MmoS7vYqpcIAoKxAoqVD -+73ldkTmVoMa8SGgRczZAJ4kyDtzFs+bsxU87qr1QnAbJC47vYkBHAQQAQIABgUC -ReM6egAKCRDo4GL2DcsEMe3tB/47n1FM1+2MO7F9ohVTeLAiBWzydd5Jv++flutz -UR+loQZ02tc9Ye8PL+7oBFnfzobkXh3PcRviS6BoD78/inSk8iZGZ6JFGBzK+kBN -0QX79jvzt2GSX99Wzr+iMvHsGrkuk7Eez1JkiOHFeR0/NLTpPR2nNXaINVsZTPWZ -kvy7JAXR6bXOV2iKzDMXTyCjiShZ4Ste1kDLQqG7m6nywMhJpRaebZUMesUt2vw8 -XOlS/xnfh75c2KJWg/3z10TobHaqAGGZH+mvFjngkLEyH96y9NEuN/1zN7e3U8jz -SYr+SanbOxUix3VIh3D5+PNh3hnMOLiADyfrhOW/mCV0afkMiEYEEBECAAYFAkXj -S5cACgkQKJz/wOY81tazggCfS+lTcAt2DzJPRqripAl1fWhWLlsAn0RWqR86QTpa -o8hoDmmeh0JpMh10iEYEExECAAYFAkXjRMgACgkQjCXuDw3At9bvCACeMHSawcws -iNm8ryhIfSRak/GaIIYAoMppSqRK9jTLzsiLMtBiKOh2pC8MiEYEEBECAAYFAkXj -VQUACgkQmEvTgKxfcAwzLwCg0jWh0/59ADqHgItaNoQrWqd0eGUAoM1jbmOwvOoJ -wmfQmpBo03eCS83HiEYEEBECAAYFAkXjT0gACgkQIae1O4AJae/APwCfYUX8kRrJ -Uo4v771hs0tekFV5HFoAnjiGi3cY45JLY4hln0v+fDhlGIdaiEYEEBECAAYFAkXj -faMACgkQzxI0fJaL1Yd68ACfZNxMXIfziM6l6M6YNJOsrfTFDHUAnjqQaczmaAhW -6pIOuX/VHg+atg3jiEYEEBECAAYFAkXkGv4ACgkQZDZDYQnzQCR5DACeK4bK0HHk -m8ZwUlXk0GWI4Z/GGzQAnRt7mMj/JaMr9ufzzHbCY2neZwDjiQIcBBABAgAGBQJF -6VpOAAoJEFeTDasLhrBn9ZcP/R2FJvi8q5fQfpncTK+V6FiuNlQqO/y1P4HQ5aa9 -7G5QQLpW1o8Z1XRschYiLsCOKNOC3BEOxPqouD43zB8DN8aWgIrPsECIXZSBqn9f -QnBsRerQ6BLMnQtTl+wcEyP0FvakdWZlWrKUmmm6ExKdDiloRy1+rcuzRQmyU2Ea -1+UATqIhqywilmojxpl8G0LoBYeTsCxSX8xDgaXGSY2ZU0mgFC3yHsMQrTYA6rAE -tisc1LKoGWaPP3QJ3erwyeyHV3vTb40lkXYi4aOpIC/kTZpY0JlDbOSgyE4ZOWo+ -yUTMiFvsb9rQjbbanHwO0DNhfykoDTMtX7hbTqks6tuqI8Q4EI8TjC3y3+M2u3Rt -WDeGsvpJ/7cBimAMbctcSuEZsRw9Ow5FR5AxZwa1ot8oKzb0GWflYFWB6IkAO/e3 -vDgQwUGPmBWUdq41sPOKnir36LcHhaOZuqTsc6l+bGWI4oQhfpooT1J95wle1rsD -Wmi07ymDQuV7O5+M3vbLc9JQhrRWep0wBXJhcxhQ+68BOUWvSpZ/PCqXl38nvM2K -AXNcJbSIGW/mCpOmion5vJmvZFR20L9DbKZY/j9wBxJwWtHhqcOd+I6oF44ZAHLt -x5h3gNZ3fw8FT5+fhn2ufwd8hGUnfLYKLucuzBtunfwYuBhjCra2M2jG4av/j69v -xzfLiEYEEBECAAYFAkXlgbYACgkQeQ6MlGH/2qtblACeLBrq99aUS3Ufyh5Q6MkL -KnsB3gYAnjhBZWmzkFah42klZxLebhwgVgRdiEYEEBECAAYFAkXt5LkACgkQMGnp -Ibeahxxm6wCdFu4HWyVtEsB5sGNSFOXK+BJ2yJsAnRX8196Qyy/Bfp7qbLkoFMVj -hbK6iEYEEBECAAYFAkXkwV0ACgkQcLIDITr1nRbm3wCguBDPdmEZ7+HPBDZsFMx5 -XXYDLOEAnRBaD8Ee8ex4F17n/Xhr5Xym3RJdiEYEEBECAAYFAkXqoaMACgkQL5UV -CKrmAi6QJQCfZRdrOFmsQcu9kfRzno3Yt00dgjoAnjNmc3y9jT2mCkDqnv5gZB+e -O7IGiEYEEBECAAYFAkX/bHAACgkQOpD/wRQI1/FJQQCggNBAwcpB22wqVxAovd27 -aQF5qP4AnRYQo2BGHw2CtyemlbZOk7KC9CoziEYEEBECAAYFAka12DEACgkQXeJJ -llsDWKKxCwCgngtYUs21LAMDhs2L6ogAchWQSxsAoJbzpJY6LdBxP9xn550xl2pN -Nd5GiEYEEBECAAYFAkdZtO4ACgkQcgQ2cL3l8e5FvwCfYTeRobKwTmGysoF+QgGV -yjZJvYgAn3V6vViraTxU6lSwGJ793Ky+CxiHiEYEEBECAAYFAkdZt8wACgkQ4Q56 -CecvefpNjACfasD5K4RT3LQtTPGvnn/BzprIb4wAnROzIGtAHADm2P3GDbt2q+Rn -L5FiiEYEExECAAYFAkdacyUACgkQaGtW3WCKJJstygCdGB/vjhdLZpm9fNel2S+o -mjxANnUAnRoEw/3XwLzxN/k13WwQiD63f2F2iEYEEBECAAYFAkddIIAACgkQt5wo -sOl/hW3MLgCg0bm+P1fP+K9drKzu453pqqFqlEEAoIylC5dJh485cMISSIYb5gO2 -h7mZiHoEExECADoFAkdck2IzGmh0dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5l -dC9zaWduLXBvbGljeS0yMDA2LTEwAAoJEOdekMA5zDPbiTQAn3DRwnGevBwyDnhC -8QwFVHLOjoXtAJ0W6gyPcHIha72NzQYU3+Wa1q6dOYhGBBARAgAGBQJHXR/OAAoJ -EPG6TB7RyLqPJVAAn0ck2xBfVEwOXIAvYfiotTAAzAsFAKCgmHeAr0iUrC6YICas -URoecVoJgYhGBBARAgAGBQJHXYVEAAoJEIUGW1nVLdGn4mkAoJUnzThPYZZ+i51I -jmXANTqr7ys1AJ9pDllBNW6SdJ0/H/fK3o9Mda/Pq4hGBBARAgAGBQJHXAvSAAoJ -EO2/HhEm8iS4E9oAmgImQfzgb6MQ4drV6xO1FrGkP2g4AKCs9bCw4TPhsjuoVLLw -nOgzE6+EPYhGBBMRAgAGBQJHXuTeAAoJEIXCJ+WlVzjy1CQAn11r9MoJ0GKP4+b3 -es9SmnZGyWr3AKCnGQnlg2tgJrChzJ9pA97Gwdkosoj7BBMBAgBFAhsDBAsHAwID -FQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJU -BQJF1dVYBQkLk/wtAAoJEO2iHpS1ZXFv6DQE+wZ2PqLW1saep7l9mik555l1bFV0 -tQ1hVyz6ZRsAKem9q3Za5vKXY9QbF6/SeJi0wT3RpnCau2Le0q8PaPy294/S6nGW -ASED9dPKFDDkKAwIMYMZZ/REtArnEQGxa643iBXmfVjN3HqKOJ5nA0l8Th04s4zg -4I+RpoTb0mLRNVf8GcRIE9bPdb9HTQWMN1z+XXh4E7k6WbJBX/MApP5HS0GIRgQQ -EQIABgUCSES5eAAKCRBQLE8plp8qHdVAAJ9nhO8V9k5tHCU7hjPOsvw04GBFjgCc -C0E2/kZrY67kqW6HOB0Phxz+E/aIRgQSEQIABgUCSFlvKwAKCRAk0yv5qpXDSS6G -AJ4094LNmGayI10vl61vFRnNVtNd7gCgqKYX3DJAYxgXR5A1DVrw3HurhiaJAaAE -EAECAAYFAkkGvzkACgkQKe5YuZaGUXESLwwgqD9Fsp1WZ98bZmW6M79apFtDtlow -3UeSsbN7Yt9byuR6FX/kMootFPQEfzidukXI49UzgUe/e+bzZ+HTIMOfHp7AWUaA -Zzui+YuMcOW0jvw7K0QWYq387tIze+PK3PX/9e32u2VpYOuEDa2cwRDf3EDsCvG3 -KlHLCFznXTcW6f7nVlRKAYbMmWRQpqbz+QDxvoPRT7HdnBlwHMt8Fb4/qCd5za9k -SiA/HG6Rg+u0ttETZmtQbRTVG5tRe7vp+fi26sgHdpni8V0JjdqX/EEiSDonmVbV -3NFz69jxN/2mff+ArHKATrUibTv9vykAoskERy6ibMif6VZLienc7iHoetU4VJBb -//jErnmJTsX2dWalADCaPb3VKXsqzCnSx/g0MnnO6jiIMWhFQqO+15wbuzV1EFPX -QNqaSq+rU8gKxA3rnShOFBoPD5UOKYvWFVHA5R3NQjP4CQrlJHM/oN7eeG5jEylJ -vGnEI5C5gY/ltSEHbdGOAnBZ6qvbhEhkapsQ0P2i0YhFBBARAgAGBQJJZyWPAAoJ -EEc46iFldJl6JRgAl18K2bUCKPd1UtMGnIhLWWTmJisAnipc315AAnAULbxVmC5T -5VUI+DbPiPsEEwECAEUCGwMECwcDAgMVAgMDFgIBAh4BAheAIhhkbnM6c2ltb24u -am9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkhh+YkFCQ0YdF4ACgkQ7aIelLVlcW8+ -HgT7B4+yIgD+sx23Ax7ARwTI0qZ9x1G9tJYslXKQnvoEgxRN7aAECsOaTwhP5rfz -J1thftd8f4yYgO0p9O4axkyZOOyURVJfQcJz2ENpuFml1K8jOlvZKziliTLJMKfQ -xmp3vdMJkxf8e0zDRwZPfA+2nV90WPtO8fsh4wORz+8JI9xlzEm5WlG+CrMdwooa -vGg73wh4XRctrnMQGnQm024d4oj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIX -gCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJJoS4ABQkOrVpO -AAoJEO2iHpS1ZXFv6UQE/1/KBXQuimTEU7pIqWX8tnKds0FpmLPd0+SLa+Va6lOJ -BsyMnhqWJSEvu4w9f4yC4ytw2EC16cDTn9wAcLpS2GE3l+Uph5OSiYYv1FtOfV+r -TmepaaVtuH0S/dzs1+oFQRxqY+Kn4qy8zO3qvlciX/d4XvM52Dlif78t5l2v0HTC -5iC9XgvmdgMrLpaQwDniA80G0DamzzKDa5nDulZ2ch24qwQ81Qd7AQUA2PTaoT8R -NkFDlX7UCOB9vaRFxrX+dN7l6QO+O0Mg7dVdjItEnaaYkJ+r4LXecI47HogsUGEx -RdDYGT0Dq7aZ8GkC4UKPXc3q2KWQ3ib3wj3qnCGm3IX/I249ydYLAzQyWqMW09wL -B5vxhPi4yjet4FTGWmtYUlGzDb7+6VZilYRTty0vhFF4cVXlO2R+vgPxFMvUc7o8 -WGDnQ3iyWAizkQAGKYjFBBgBAgAPAhsMBQJJ7efjBQkO+hPlAAoJEO2iHpS1ZXFv -z44E/1YIWFJ/LLk2Zx/4B+H4LQtFdGCxPAJfNI6B+02rtfMQy/UoxaxkcsUaXyWU -8K18OhvcgNppH1DskWNEWV3wvXoF97tpYRZhz0fnBvKSEF6ptXxgXnSDgDRwpJe1 -ePc49fIYqMTsQuwSgT8oZyRlMG2mzLOeRgm6kyi3yLOApBb4bogiOvUXliFU7R6i -YhPMO1T1pJzVDqe8hC8kTG+zxTA= -=STWG +1oTBNS60dNQjA7VdtCFTaW1vbiBKb3NlZnNzb24gPGphc0BleHR1bmRvLmNvbT6I ++wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3NlZnNz +b24ub3JnP3R5cGU9Q0VSVAUCRdXVWAUJC5P8LQAKCRDtoh6UtWVxb+g0BPsGdj6i +1tbGnqe5fZopOeeZdWxVdLUNYVcs+mUbACnpvat2Wubyl2PUGxev0niYtME90aZw +mrti3tKvD2j8tveP0upxlgEhA/XTyhQw5CgMCDGDGWf0RLQK5xEBsWuuN4gV5n1Y +zdx6ijieZwNJfE4dOLOM4OCPkaaE29Ji0TVX/BnESBPWz3W/R00FjDdc/l14eBO5 +OlmyQV/zAKT+R0tBiEYEExECAAYFAj1Y8r8ACgkQV5Mp08AbKiIX9wCfR2rMiXdK +zZB95acA5YSQ4MLQyygAn1Nv7M36SAofR/73WjqlPpVAQ+fRiEwEExECAAwFAj1e +sHUFgwFXijYACgkQvLvElXGKklYZnQCeOXIzmEoZ5yOVNygphYmUwON/S8IAn32g +WDyaTMpqyDcJEQeLdjcW7boSiEYEExECAAYFAkEAyn0ACgkQntdYP8FOsoL3oACf +XAM0QRNlfq8OgJh1QalXw1SLJZUAoKAoGAAAGb7F1HO9jbK0owII8sseiEYEExEC +AAYFAkD/P3cACgkQlv+ZxCXA7AtbsQCguoAQyxcVSPdJwBcNhy9BpH7mU3sAoM8+ +z/22LG1aS4dtb1I+5pR8OLNBiEwEEhECAAwFAkDgVz0FgwCTtOwACgkQyIHdR0rn +q0dgCACgqe1g6S0MaPkfm72F8ioT1ghrKEcAn090s8PIozoLTV93TTbNB795qmyP +iEYEExECAAYFAkJJAZAACgkQj8NyXz1o1jrrsQCgq7loSlMufZ2mUU89zv6iNElz +69UAoNyY6spQqMiZlYiH5j+8kvA4diLziEwEEhECAAwFAkId8CMFgwA/IjEACgkQ +GCgra0U5SgFiygCeMS1yREf9GWkLXxuVYvARgNNKDDsAoKVBTM+DL0o1/ePv8yw/ +8SauXj5IiKIEEAECAAwFAkJG+cEFgwDmsQ4ACgkQv9buWFf3fwmU8gP+IEINaym7 +K7FUvZWuCkdJcHshCGVBlTOqI9YB1CTY8LNdRHp8jrRXBZFZODPAziH/1ZoiSQjs +gTg88BUpxLLSgJHZOqhuPMWlLwa6WsytKGTkuFCnZ+mkmHKe7LVnjSKr8OrP7y5O +hFtdVqb5dgi9SIeK2ass1Xo+9EWZbco+v/OITAQTEQIADAUCQklECgWDABPOSgAK +CRBmvnH/Z0hog4MLAJ944IigkBwS97tCZ2Kyetc66duezwCfWloLaQ1th9xZ47hc +6cd6CU9XDkeITAQQEQIADAUCQk2CtQWDAOAoGgAKCRA7jqQfgvYSQATSAKDPm9E4 +Q+qfxVAlncPp0WFdAhKNqgCgvkGlugvpmXBQRSMegHxskZBPEhCJASIEEwECAAwF +AkJhOZ0FgwDMcTIACgkQC3gy83PWLUH2Bgf9GHMCCYb349m66855EyPkJmlVRGI5 +Qi6m37rjRmvAjL+aBSFYoAYyUKefTyv3TsJ8l+bAQsoaRU6wbn7uc/LwoJUTByXF +j7rPOoITxx6Sa3VP1nYdXjCtarKmjzQTYU1cWwfKUbEA3fSgs4gpd801l6C21F+D +bSmP8CbOtGb62Nv1Ux1CXiWn2r8VUy5AVWZ0VD4qvxxIGGn58R0vLxKC5gGFids9 +JdMhJd1SHQ0mFkZp/NpNOnbw2A0tfhaFspdQAoDEjOHTr9fs0PAUBrt5YcP2W+iN +Z9KPfN2c707p/3vErSPxQZCoXBmnN2LA5weNIVWZnKuJPUeyQ5FwH9orPohMBBMR +AgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6HsQUsAn2Ln//TsmEqIL/bcLtt8Vz82 +lqjCAJ9a5TbLuUOp4+h43F2CJjrUBL7CK4hMBBMRAgAMBQJC2LCxBYMAVPoeAAoJ +EIHC9+viE7aSucUAn0cfeij+j8djU6jDPm/trQHL5/KoAJ4ySAysyVQ8U3fZ+OY3 +XfYKXPfVKIhMBBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/RzYR8An1jLVjT/ +3xOU0Xd9TV1ON39qxJetAKD6GoejRHaDXO2KBoQnrGVgp9wVUIkCIgQTAQIADAUC +Qtiw8QWDAFT53gAKCRCq4+bOZqFEaKNhD/kBDYg2FWKwIkSMlz0KZWoAFwoO9uUW +qrbF7z8gwZKlOGW9gvcF0OPYoyvy094XrdqdtG8I2JqKfYgpaPr7jFU3ViaY1Mr8 +wQPqxfcmuKlsCfZjDxKaYHx4VKTiC5IXJ4guMeTlqzbTx3rnTZLm0SeyehmQDfIP +TacVeiSAM0WLHEz0fPI5wYIBK7oDZQySItlRSCOJmIq5TEGVEb9B57IpezW4O0Ww +RqE6hw8TTn7puMHHdTrI8PSydoPAwSRmUxV8p2EL4ZYgTTUrtzv0mTeG7PdzU9Yc +2TF3OXJwET1oake0PNLhriayDqdVlvs1h2F1KEIAotuMKXRd8CiURKlnahj7eWtt +3IVir8PdoBzRAtT3+Jm8ES32x/TdXQ8KDt1wPs/0ekLMcIzyAISW6gVi+6utUpTv +UXMQ/g/sQZXj2YrRTSjBNFP6WmE4hPc1h3JuJm0BbwXB0c8jE60YEGd0AHSJgPOd +vra9AeNvMU6dn6c0Ts1boV035DvTZhTtUAb9kAc/T5ouNDwm8gsoob7E02UFRfhM +Io0Zqj5Bn2mC0QCnSb9P8L1C6bAbZEFXe/UrnH+eKBr+YMYphTIWWZ/CSZhJwBaV +DFCLzqr9Z/OirELSEJKCcG0VyxoigQfHmH6CRjM9K4ImJ2r5rr4FKT3w88Gutxs9 +ypZW6XEhQ9Tj2YhGBBARAgAGBQJC8kruAAoJEG74r8KGV0rKw/0Anj3miI06v5jO +KbRJt6wwLINA7N6RAJ9pdfC+4JZ+SMq0w9cO3NKGEsJ12ohMBBMRAgAMBQJC8cBw +BYMAO+pfAAoJECmqKFIzPnwjf58AoIpuzzaOyGF3g2Ky9dV9vqECBNs1AJ4jRU27 +Zwovy/hznIR9q+o+euIjoIhGBBARAgAGBQJD+NOWAAoJEOFd2FexXDfRuzYAn2jj +BwZqp6NfIRZM+cPQFWosanMIAJ9gZGuZXqOGcRHDYo1VwUK7Kg8anYhGBBARAgAG +BQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JEVccgdv8cdElgAJ9jZHFa +4KIdIsdGQZ5G4qS0YkHwKojYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAUC +Pr1HRgUJAtWOGQAKCRDtoh6UtWVxbxjZBP4+NJogmPfuKN7H7An8cEuTLJ2pZhVm +G5M9NUwuy3oNAyh1EGPdeLtRiWCDuUnq1HFqtW4X95hbpm/iPHkV4/EosF4Ab4fg +VFAf6iAhd4GUPHjVfsvbnCNLHE+FDgLAE0yZIpyQPzgt1CI+vKBtfwlAuwnTxe5P +MMbvvjR3RGi2rGLMaFg/RAlMPrtW99+hDSAu0HlyHDs9z2ixPX6PjKLOiNgEEwEC +ACICGwMECwcDAgMVAgMDFgIBAh4BAheABQI/pCtRBQkDvHImAAoJEO2iHpS1ZXFv +C54E/i6H1kQ65KO3afk6l+4BpuWytHOGWA9+W4Ex+Mc3KcQWwaOfzWXzVMKpK1GW +fvANSP3lm59KLdi+hhIUbWN98YyT+Ta2uAg21PeTFoaR+ezp3KQG5XsqLbBap0mR +N7WJvJqL5EKq34nWV1JS4d19BnnAAs8lBFvgeqLszb1rMUdx/Fswt/fIZjIG4oLt +4FU1VpHnxRMUrqvQJfdPt4a6TxuI2AQTAQIAIgIbAwQLBwMCAxUCAwMWAgECHgEC +F4AFAkCGvisFCQSfBP4ACgkQ7aIelLVlcW+TGAT/Zl8IGpgoh7dIMzS05U2sh5Jm +5U1TKfbGipEorhWia9MjV4xKF8ZrS3A9WUEHnFce3TrJFvCOhsnKSYNz8ea156X4 +VVY5x6GderxPbaAsQ2UQzQJRl6WWiw3AXB2dYY4cZmz8HgFUKHanOwKtrp2LswoL +OdkM4dfdMEuipUeNbMKV3G3Bzpjt8CwS2stWizj7Qm+NChhiAdDKuKXnLAdiz4jY +BBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAUCQW/EVAUJBYgLKQAKCRDtoh6U +tWVxb/FuBPwI7dyU7EW/gv2Cwm3F7qVFQhKW+aOiJCKCbDw8hDAZ9MJFgDmgrgyN +rjv7U/NurNjUCUSLcnIWkhAwMKlGGSF8caM5Ufa9qndoZfFIWvwkYzRI7Vnn7zy4 +2j03tECLiShrKQjL4ZgrKmjIX1QsaPlAv9tRiDMssbx601qyYT8OXzyYReFjfC4/ +Bp4gRty/8cMcHKZu/tWmU//dWG0A187PiNgEEwECACIFAjzVBysCGwMFCQHhM4AE +CwcDAgMVAgMDFgIBAh4BAheAAAoJEO2iHpS1ZXFviPIE/RqtM3MxNqQOE7wEITTd +3SKu7qwIUnapB6HhQAVfLwpnnJu1YnEVP9DvGfS5cq6Mn31xeG7LuJwNHXfBaREo +bbQiMqI2/3LNBo1Hfr6bnyaNm7VQOcZWbY9P1sQtiYpNWi6aLjhBaBTmWCrkpl9a +GwDkFASpLm2n2TgIEGDfokLCNjEd+dbHKYDWFLIwo+aCY+bpoV34u/13eHmhNWz1 +ME6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3Nl +ZnNzb24ub3JnP3R5cGU9Q0VSVAUCQkBczwUJBlijpAAKCRDtoh6UtWVxby3zBPkB +3KFSVDNxags3/3fiYWbzOTtMLWeagcTu/d67BO6bIAHB1SHuX/O0GTbQ6e2Zq57o +MgYQuux9ha0Cq/JarCLym2ks466PMlKELbMFUnn/zq4akoBKrNPAIn2uurKME9WV +jtfNZuAQgu2qDUaL8fB7stD/mNWdm7TwPrrulL2S4doiqjD/vec5aDRzR2VqKBuU +xxUJdEXQibcm8g5i6Z/riPsEEwECAEUCGwMECwcDAgMVAgMDFgIBAh4BAheAIhhk +bnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkMVrNIFCQcvRSYACgkQ +7aIelLVlcW/4KQT+IqyFzH4FIELZ3kQrbgPDDqwEM80Xg/maosIx9rZVsZ5Zl99V +CUaAl4t9O3aa0gAZGgLJpRrNaOPbTorjU5/sbRlUV4LJ8/KMG0oWXA0uuMxbPuQA +a0u1cX9sqezgyveUHwpckqI5OPm4Uj2b5vl6YAwNcnJAbcOdr9ZFx6Ckj66uudHQ +91mFgG9g89jqCBy0uxe18vcT9t6zVcuzItbNI4hGBBARAgAGBQJEc4b8AAoJEAix +I47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b0Hlo7Py6F9c1liLsMNWN +DnyvZ4hGBBARAgAGBQJEc4cAAAoJEAixI47drUe2X7kAn2STeXyx0720Av+kaloy +7DBcbQ9PAKCeHu+tG0BJiaFJ5PlFL9z7YTf6Koj7BBMBAgBFAhsDBAsHAwIDFQID +AxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD +8yj/BQkIC2/UAAoJEO2iHpS1ZXFvnC8E/2m35x5385TCfpBBULbxdISP5DZcTlM9 +O30L+XZnn1lFVAFDQes7ZtLJfQtGUYzSPoA110G7ckq8YmLN46h++tV1cEdUNC/+ +pq+Z+hb+wGTdXL9z2cGYXH4YyUTPFYgqAvegFEpUQb2ApP9tOfnNlAu3gu74GUBN +4AM1SVSOdyCApJdene5hCCFaplAesSze2TQ3DMHFg9b3sOa1hyNI1pCIRgQQEQIA +BgUCRYwLjgAKCRApqihSMz58I4xDAJ9TxsGuTvlpK34/D/pFG6zQ20OJ4wCcDRwP +RMKgIVf4rpxjJHl6smEeBEqI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4Ai +GGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObodQUJCP8vSAAK +CRDtoh6UtWVxb4FkBP9tBDCSdedRv15ohfH5pJsB6g7mByjDIXOWByKdpTIe7on/ +WiA7CKWShA+zGGBEToD+6eTdlpyS8GvOk3abD1idUZEL41z2q55FYoWEF8o1QXAw +JylUjLUiMJH98DPXGVXiSknlBBfls97xNhSp8pFLqF9ZG8Fl3RJS4LWzXkjKqAqr +1FkRCersY7PJC8xtIF5GStvga69kh3B1tH6oPY+ZiGsEEBECACsFAkXhdvUFgwKH +jGMeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YIi0A +oIj6iv+pHqqEXNYGOHs41bYXC3W6AJ4w+RXyAj4BiGjzNvuxyo/xa3EiR4hGBBAR +AgAGBQJF4sLGAAoJEKrPs4YhG27vaK8AoO3ONc4vHoteNr4J1uO/saI/vuMDAKD4 +FSdsGU0DcMUzZwIx+HT74UcxRokCHAQQAQIABgUCReGU+QAKCRAmSeYoxdNNBYlw +D/9XEPYoodT7gkKcwcwC0tDHfr8yUHCoYaNVfj5kCCP3PPd204/2hh4f5TldAJbR +vJVuqfJh0NbTDm5Ry2kq3E61FLeMJGbM8PZq9+lbaOd6DvKV+N4hCefcSWS3WzG7 +dCJJ+8XEWDDgZ8kYizT+d+E7nio4Zfn6gyK1q8mI0LrSEYnuD5OgRk6Y1eRZLWz3 +dLN/zw5vLm7rG1Gipg7EuePqQDmI9hKXXTLP6imKuuUKbGH2zCO/vcXy66J5sI6I +ky4w2dA2D/6CQGU/lNQMKrscKKeI2fXQ8I7UFPGomDisO1lxrz5QQ+z1Vx6ncI5u +5irNjHFFYPlsq7tF4JgyVX15sTpsAHMBAJXhkE9f8C1YxstNKnP9F0JtczqK4bFF +1bVoaE5H0Ip8ONLfdoBems9Ql6BgvGyQM94n6rTYVnlhyx9PO9LLhF8kU/BplPcA +8+cPNkB10xuK48zM8qvrSohB/QHUo46H33J2PdMdFjZM4KqztOJC2DsPOE8L6WZB +MCcvMXeTOTdoKPmcRtePAKF+azUHWOecpAkXSKK7HzJwZWyNrQWjXEi5p5WjEuUG +FBgFmGlbzi7ALYLKjzjHDFvBDnb2dZWzLtswPdK/dEMcoVlvZUQjpY0AzhEuO6NF +Q6xicHMz963mvas1uFVhmldcjT22f1u4IKS++pzEMlKV6ohGBBARAgAGBQJF4fbo +AAoJEE1EwCDFwFuumAsAoKvDeDQF6vBxmsDQDRAyaX2hZz81AJ0fENkdFcOUkpve +tayTWsiPUq9mxIhGBBARAgAGBQJF4gz6AAoJEFUVYHaRYekRoGAAoLkeCD2erYxz +bJSjia1ifnlNnSbPAJ9S5mNGOnmLTAYxGOVJAgAXAtZtxIhGBBARAgAGBQJF4grU +AAoJEMfZMCWd/6rUgIwAnAq+iewnfvQpYXMRQPQHFQ1Q4oIWAKCbUj2FEFUlU6cF +znPqIMnUzc2Az4hGBBARAgAGBQJF4hFDAAoJEOVE3gebfDKN370An1/jE3l8uC/U +zrtY4E8FzB1pavjwAJ4sE44wMa8Bidx6SJny2pLFYxicZ4hGBBARAgAGBQJF4i3i +AAoJEHZJQAVJruv27z8AoL1S0MZUyWBxb0qLdQBtaDnOEDwDAKDFehqTzLa4GI1X +BWnM7+5vreKy3ohGBBARAgAGBQJF4ltVAAoJEFuTwC+eSpyd5QkAn0InDM3Ef74G +DEegEJi9CyV68RozAJ47ClCsb4r7WGCYJoplsFHvvGdWGohGBBARAgAGBQJF4sNG +AAoJEH5OpU/Qq0B1hCIAn3odxjrFGyc9x8KCaeBYXPcM4nN4AKDc7V60rCdebbht +FhEzdw8uw2TH34hMBBARAgAMBQJF4sR8BYMChj7cAAoJEHMcr9NTwaMvI8YAoMfR +nlA0X1QwWBSFe8ZHXyZX4hAwAKCQz64vRmNK7+9cbAzpFCotaw+hi4hGBBARAgAG +BQJF4eL6AAoJEHhn1Tx0eTXdNRYAoNE99BYi7z6tVqNDnq2+59mx8xSqAJ93ptV7 +L/TCXEUfcG4poHiZpSgzO4hGBBARAgAGBQJF4s6iAAoJENoZYjcCOz9PL7wAn2Ge +QZncnl0YvUhMebrsLnO6mHCYAJ4+dnk7nGWFch4j4Pz7PUkakSavTYkCHAQQAQIA +BgUCReLO4gAKCRBSIlPD1yc5gWVXD/9o/pJ6/05wMtfLKNrcyXer8Rd7R14iBnEu +6csly/2KtKetuD9+HbJnGiCdtIsEx0FREDZArXbdrBdR6Psm6CGfVKdQu+Lb86oj +n6msFXhDHStT0GibARAT69YdL/SoWZzTD4jOigELQ9eFUj21O8+r+8oyttIuIGXG +rDoSTKx9xGAcgh7Gk80H2QwPhhuhO9Mdc5LGm2FjeHR6E6GdF6LDrsJAbfQIxBd0 ++nTW68fzrnoXcIDksaFO/5P6sYBwnxIWJKGMX5xdY6UjsO0IV+OEv8P1L1SDZJYy +KCjPhgT5q3TVIbOzRqGKMX9yN9brxMb+YHEFcXm5jetFTTt/3b2SzagzL6X2elU/ +BwO8qxgfA2i+03gznBLlRamBfqQjhk89X6edqfYVSo0Jxkj36lSzI68QiOx1mQZc +uDIvlZo3fUOFk3P3IxYYk5o0eVGl0Obx09emc8+hcUqbs7eHJqZJbWaMpow8bY8y +KAKUfUp+crmRjYP8b7PV+TmQzkSz4f7M/JLEMyynci/AT6R0AgWWqVr9j7ohDaZs +BtpHPPM6sHXb5ik1+QJs+alBkw/dy7VgiB0n9n66t0TSdJ6kd/7KAvta6zpp9Q/k +ZYUU17YFIlH/oVx3av49XsNT+6GFsC7rKoRAlTf9fgYPDDO/HFDJHv0L4lil6iDn ++ADN1Zr7aYhGBBARAgAGBQJF4vk7AAoJEItKxIGsHnFex+0AniZ4F5qmExcEh9I3 +3H/iGtQ5QKGpAJ4+FJNR7fD2hCbEb+bzWLfB5DU+74hGBBARAgAGBQJF4yKoAAoJ +ENOjcASuTRzUKTYAoJeMX1gnPVKfjKvcCF2XOOFrhlaUAKDfb/kQ6DYI/0iz2qoz +s2anY4cAE4hGBBARAgAGBQJF4y0qAAoJELOx+BoCeHiAVAEAnAhbHFmonRhodwe6 +FSak7SPDeFxKAJ4w73sJn9Zb36S2jjtnOYgmrfgLKIhGBBARAgAGBQJF40D3AAoJ +EDiaVjzCcqEmX2wAni+Nw8JZMW2jdHxuYV92EyNvMXZ0AKCUTA6JJ39mCUtXEpSg +By2zlApjyohGBBARAgAGBQJF40DdAAoJEB9/MmoS7vYqpcIAoKxAoqVD+73ldkTm +VoMa8SGgRczZAJ4kyDtzFs+bsxU87qr1QnAbJC47vYkBHAQQAQIABgUCReM6egAK +CRDo4GL2DcsEMe3tB/47n1FM1+2MO7F9ohVTeLAiBWzydd5Jv++flutzUR+loQZ0 +2tc9Ye8PL+7oBFnfzobkXh3PcRviS6BoD78/inSk8iZGZ6JFGBzK+kBN0QX79jvz +t2GSX99Wzr+iMvHsGrkuk7Eez1JkiOHFeR0/NLTpPR2nNXaINVsZTPWZkvy7JAXR +6bXOV2iKzDMXTyCjiShZ4Ste1kDLQqG7m6nywMhJpRaebZUMesUt2vw8XOlS/xnf +h75c2KJWg/3z10TobHaqAGGZH+mvFjngkLEyH96y9NEuN/1zN7e3U8jzSYr+Sanb +OxUix3VIh3D5+PNh3hnMOLiADyfrhOW/mCV0afkMiEYEEBECAAYFAkXjS5cACgkQ +KJz/wOY81tazggCfS+lTcAt2DzJPRqripAl1fWhWLlsAn0RWqR86QTpao8hoDmme +h0JpMh10iEYEExECAAYFAkXjRMgACgkQjCXuDw3At9bvCACeMHSawcwsiNm8ryhI +fSRak/GaIIYAoMppSqRK9jTLzsiLMtBiKOh2pC8MiEYEEBECAAYFAkXjVQUACgkQ +mEvTgKxfcAwzLwCg0jWh0/59ADqHgItaNoQrWqd0eGUAoM1jbmOwvOoJwmfQmpBo +03eCS83HiEYEEBECAAYFAkXjT0gACgkQIae1O4AJae/APwCfYUX8kRrJUo4v771h +s0tekFV5HFoAnjiGi3cY45JLY4hln0v+fDhlGIdaiEYEEBECAAYFAkXjfaMACgkQ +zxI0fJaL1Yd68ACfZNxMXIfziM6l6M6YNJOsrfTFDHUAnjqQaczmaAhW6pIOuX/V +Hg+atg3jiEYEEBECAAYFAkXkGv4ACgkQZDZDYQnzQCR5DACeK4bK0HHkm8ZwUlXk +0GWI4Z/GGzQAnRt7mMj/JaMr9ufzzHbCY2neZwDjiQIcBBABAgAGBQJF6VpOAAoJ +EFeTDasLhrBn9ZcP/R2FJvi8q5fQfpncTK+V6FiuNlQqO/y1P4HQ5aa97G5QQLpW +1o8Z1XRschYiLsCOKNOC3BEOxPqouD43zB8DN8aWgIrPsECIXZSBqn9fQnBsRerQ +6BLMnQtTl+wcEyP0FvakdWZlWrKUmmm6ExKdDiloRy1+rcuzRQmyU2Ea1+UATqIh +qywilmojxpl8G0LoBYeTsCxSX8xDgaXGSY2ZU0mgFC3yHsMQrTYA6rAEtisc1LKo +GWaPP3QJ3erwyeyHV3vTb40lkXYi4aOpIC/kTZpY0JlDbOSgyE4ZOWo+yUTMiFvs +b9rQjbbanHwO0DNhfykoDTMtX7hbTqks6tuqI8Q4EI8TjC3y3+M2u3RtWDeGsvpJ +/7cBimAMbctcSuEZsRw9Ow5FR5AxZwa1ot8oKzb0GWflYFWB6IkAO/e3vDgQwUGP +mBWUdq41sPOKnir36LcHhaOZuqTsc6l+bGWI4oQhfpooT1J95wle1rsDWmi07ymD +QuV7O5+M3vbLc9JQhrRWep0wBXJhcxhQ+68BOUWvSpZ/PCqXl38nvM2KAXNcJbSI +GW/mCpOmion5vJmvZFR20L9DbKZY/j9wBxJwWtHhqcOd+I6oF44ZAHLtx5h3gNZ3 +fw8FT5+fhn2ufwd8hGUnfLYKLucuzBtunfwYuBhjCra2M2jG4av/j69vxzfLiEYE +EBECAAYFAkXlgbYACgkQeQ6MlGH/2qtblACeLBrq99aUS3Ufyh5Q6MkLKnsB3gYA +njhBZWmzkFah42klZxLebhwgVgRdiEYEEBECAAYFAkXt5LkACgkQMGnpIbeahxxm +6wCdFu4HWyVtEsB5sGNSFOXK+BJ2yJsAnRX8196Qyy/Bfp7qbLkoFMVjhbK6iEYE +EBECAAYFAkXkwV0ACgkQcLIDITr1nRbm3wCguBDPdmEZ7+HPBDZsFMx5XXYDLOEA +nRBaD8Ee8ex4F17n/Xhr5Xym3RJdiEYEEBECAAYFAkXqoaMACgkQL5UVCKrmAi6Q +JQCfZRdrOFmsQcu9kfRzno3Yt00dgjoAnjNmc3y9jT2mCkDqnv5gZB+eO7IGiEYE +EBECAAYFAkX/bHAACgkQOpD/wRQI1/FJQQCggNBAwcpB22wqVxAovd27aQF5qP4A +nRYQo2BGHw2CtyemlbZOk7KC9CozuKsEPNUHewEFANj02qE/ETZBQ5V+1Ajgfb2k +Rca1/nTe5ekDvjtDIO3VXYyLRJ2mmJCfq+C13nCOOx6ILFBhMUXQ2Bk9A6u2mfBp +AuFCj13N6tilkN4m98I96pwhptyF/yNuPcnWCwM0MlqjFtPcCweb8YT4uMo3reBU +xlprWFJRsw2+/ulWYpWEU7ctL4RReHFV5Ttkfr4D8RTL1HO6PFhg50N4slgIs5EA +BimIxQQYAQIADwIbDAUCRdXVYAUJC5P75QAKCRDtoh6UtWVxb0j5BP9ESni3ce/T +uX2D4m4ECe73UxCBnSLpdPgp3z87b5bh0X5DR2umWzVIpNdTZLMTWgOzu98xt+4D +ip7Q2loxhGC2d+1txeeSqPAuE9Th/5GdVNYmSVKJ3t+PQx7VDRc3oIqHQprwZc0H +u7T5q3lHINJrDmkzSAiwhYCUl7xPrL5Z/fOIn00w4rwuz6vkAhPUE08OyLG10D1X +KAd52PsD+0GyuI4ERBwt6wEEAOaG0PWwW6l4Z+nUf4bftXyaeB/jsGwFL3dEj7eZ +mM12r0zHj7JhQJa9bXZIsPYRtoGIoKiVjZ7Qr2obwtLyQRl/I9LL4r+8FRbbxhtC +F7gOfeDtP9DXwms03JY+T29WE6WdBD22tdNbbFgIAc9cZWAezh8PDP0BrKarAK7f +q3AFACDNzuRhiMUEGAECAA8FAkQcLesCGyAFCQIPWAAACgkQ7aIelLVlcW/lfQUA +lQj7q+nyWVL8jNf6Ul9oLJjRi9AHDHJ1AhrW9wD9dM+uRDITKnV+9axWrJg0tcOr +bPIbjh38EqBgHVwVI8M8PMIdXCTpOVrlNn2YKiIotiPabtw0/N/d/q624xeImvuO +cgNEzuhRuFoFE6ZrEsyLUIlsXtPQNQ1gJxPKqGsxZPc91GiMmniW5OVCCcPWe7td +bbCZ/TkgCpW3RpnOBNjmb7iOBEQcLtIBBACsHgigl+x7ysKpE2RXNiZu3G/POu3K +XcuuW42BLs3itM4uAJB5QnyWCoSvaHcoRnw+MYFY1jDDeuP8ydfriO/9hur1fElz +++QUFFhPUhKoazN4Vzc/QpNedVqEXnEbgxpDqaHLg+Ayrf80RN08f5Mn4jc4v/8o +5rQykaPCa2cauwAgtfPwh4kBkgQYAQIADwIbAgUJAg9YAAUCRPM4GQDXwAsgBBkB +AgA0BQJE8zgTLRSAAAAAABUAD3BrYS1hZGRyZXNzQGdudXBnLm9yZ2phc0BleHR1 +bmRvLmNvbQAKCRCnJxPIqrsfe3woA/9hac8iRbiR8BZTkT3c//RH0MdrWXLvM/cl +ZumbsvF77YRI4nA+fcZZKfeH5PL7dSE4iyogQzQhJD5I8Ab+W1qCFxP9dRadS2iV +xvphRUFyNC3nzCnFFZnAR/BBHnxpN8kcEMMddZOrnw31ihqXBMIVK+IX9TPIcDKy +nd0GN7vv8AkQ7aIelLVlcW+kFgT/YREIFNXO0AVcOk8cqLn+hU8LkPdzrcJG+31h +SpIwu+TqiDioId2J5ReJjAwd5rJxweAPVPoek3sR4nSUhYnxqfA9AFFlb8GzGJ0B +GQM5Zvp9vdAaCpjuwoE0Uhjdu+AwFcLamH84tmlsctwNjOZa0KBQ3qO0kt1NuRDa +ixaQ0t34ErBV/v3Mg6FIG4y9yD6XyIvZGzpz2foUuhLf465sN7iOBEQcLwkBBADE +It6ZjHBaobBcFSoxfvgZNBQuS+1JzzaxdaLHKuE83JrFgq4C+Uo7SeRcYQDBL9gw +Lib6AnuJOKyQb2JY9+hc8rlLzUCNFfs0DwHfgEBvmsltbZ4fKk4tD30xRQFjO40s +uqnAFlN66ahrPsOCggc2kykPjH8ivDWZfzfE2FDoXwAgpq05TYjFBBgBAgAPBQJE +HC8JAhsMBQkCD1gAAAoJEO2iHpS1ZXFvfS8E/1D1scBL7UIlZX2TJdBr5ve+rC3J +VeDluW5WnQMRz7jTJTtvxOYCA9Bsh5z3+SvjuG6ou7UJWKeWzI8oCfKl5+j7tkD3 +9m9Yxe02XHef4dkUHuJjvQB1rqRj5LJJLd3Vacej8DNNJ4Q03cj9SX3fXrriDm2r +PQTZu7SttM+/4yfntztJwF3SfuZYDtkjdR7qDvii22MTJLuanNHh5iuHhqI= +=evr/ -----END PGP PUBLIC KEY BLOCK----- ---------------------------------------------------------------------- diff -Nru gnutls26-2.8.6/build-aux/config.guess gnutls26-2.4.1/build-aux/config.guess --- gnutls26-2.8.6/build-aux/config.guess 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/config.guess 2008-02-17 20:10:30.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. -timestamp='2009-12-30' +timestamp='2008-01-23' # 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 @@ -27,16 +27,16 @@ # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # 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. # -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# 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,.*/,,'` @@ -56,9 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -171,7 +170,7 @@ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ + | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -325,33 +324,14 @@ case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -660,7 +640,7 @@ # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ + grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -811,12 +791,12 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:*) + *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - authenticamd | genuineintel | EM64T) + EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -826,9 +806,6 @@ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; 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 @@ -858,20 +835,6 @@ i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; - 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 -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -894,17 +857,6 @@ frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -914,33 +866,74 @@ m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:* | mips64:Linux:*:*) + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips64 + #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + CPU=mips64 #else CPU= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + 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 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level @@ -950,11 +943,8 @@ *) echo hppa-unknown-linux-gnu ;; esac exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -977,6 +967,69 @@ xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + 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. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C 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 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # 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 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; 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 @@ -1005,7 +1058,7 @@ i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1049,11 +1102,8 @@ 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 @@ -1091,16 +1141,6 @@ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1113,7 +1153,7 @@ rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1176,9 +1216,6 @@ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1206,16 +1243,6 @@ *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} @@ -1297,9 +1324,6 @@ i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff -Nru gnutls26-2.8.6/build-aux/config.rpath gnutls26-2.4.1/build-aux/config.rpath --- gnutls26-2.8.6/build-aux/config.rpath 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/config.rpath 2008-06-19 11:00:09.000000000 +0100 @@ -47,7 +47,7 @@ done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` -# Code taken from libtool.m4's _LT_COMPILER_PIC. +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then @@ -64,7 +64,7 @@ ;; esac ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) + mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' @@ -76,13 +76,7 @@ ;; linux* | k*bsd*-gnu) case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) + icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) @@ -130,7 +124,7 @@ esac fi -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= @@ -138,7 +132,7 @@ hardcode_minus_L=no case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -188,7 +182,7 @@ ld_shlibs=no fi ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' @@ -332,7 +326,7 @@ ;; bsdi[45]*) ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -500,7 +494,7 @@ fi # Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the @@ -523,7 +517,7 @@ bsdi[45]*) library_names_spec='$libname$shrext' ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; diff -Nru gnutls26-2.8.6/build-aux/config.sub gnutls26-2.4.1/build-aux/config.sub --- gnutls26-2.8.6/build-aux/config.sub 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/config.sub 2008-02-17 20:10:30.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. -timestamp='2010-01-22' +timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,16 +32,13 @@ # Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# diff and a properly formatted ChangeLog entry. # # 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. -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - # 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. @@ -75,9 +72,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -126,7 +122,6 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -153,13 +148,10 @@ -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 | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; - -bluegene*) - os=-cnk - ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -257,16 +249,13 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -279,7 +268,6 @@ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ - | moxie \ | mt \ | msp430 \ | nios | nios2 \ @@ -288,22 +276,20 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ - | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) + | z8k) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) + m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -343,17 +329,14 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -374,23 +357,21 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ | tron-* \ - | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-* | z80-*) + | z8k-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) @@ -458,10 +439,6 @@ basic_machine=m68k-apollo os=-bsd ;; - aros) - basic_machine=i386-pc - os=-aros - ;; aux) basic_machine=m68k-apple os=-aux @@ -478,18 +455,10 @@ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; c90) basic_machine=c90-cray os=-unicos ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -557,10 +526,6 @@ basic_machine=m88k-motorola os=-sysv3 ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -734,9 +699,6 @@ basic_machine=ns32k-utek os=-sysv ;; - microblaze) - basic_machine=microblaze-xilinx - ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1087,11 +1049,6 @@ basic_machine=tic6x-unknown os=-coff ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1171,10 +1128,6 @@ basic_machine=z8k-unknown os=-sim ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; none) basic_machine=none-none os=-none @@ -1213,7 +1166,7 @@ we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1263,9 +1216,6 @@ # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1286,11 +1236,10 @@ # 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* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1299,7 +1248,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1309,7 +1258,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1439,11 +1388,6 @@ -zvmoe) os=-zvmoe ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; -none) ;; *) @@ -1641,7 +1585,7 @@ -sunos*) vendor=sun ;; - -cnk*|-aix*) + -aix*) vendor=ibm ;; -beos*) diff -Nru gnutls26-2.8.6/build-aux/depcomp gnutls26-2.4.1/build-aux/depcomp --- gnutls26-2.8.6/build-aux/depcomp 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/depcomp 2008-06-30 22:07:50.000000000 +0100 @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2007-03-29.01 -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 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 @@ -17,7 +17,9 @@ # 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, see . +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -85,15 +87,6 @@ depmode=dashmstdout fi -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp -fi - case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -199,14 +192,14 @@ ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' -' ' ' >> "$depfile" - echo >> "$depfile" +' ' ' >> $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" + >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -335,12 +328,7 @@ if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi @@ -416,7 +404,7 @@ # Remove the call to Libtool. if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do + while test $1 != '--mode=compile'; do shift done shift @@ -467,39 +455,32 @@ "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do + while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift - cleared=no eat=no - for arg - do + cleared=no + for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac - if test $eat = yes; then - eat=no - continue - fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done - obj_suffix=`echo "$object" | sed 's/^.*\././'` + obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" @@ -519,7 +500,7 @@ # Remove the call to Libtool. if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do + while test $1 != '--mode=compile'; do shift done shift @@ -557,27 +538,13 @@ msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - IFS=" " for arg do case "$arg" in - -o) - shift - ;; - $object) - shift - ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift @@ -590,23 +557,16 @@ ;; esac done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; -msvcmsys) - # 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 - ;; - none) exec "$@" ;; @@ -625,6 +585,5 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" +# time-stamp-end: "$" # End: diff -Nru gnutls26-2.8.6/build-aux/gendocs.sh gnutls26-2.4.1/build-aux/gendocs.sh --- gnutls26-2.8.6/build-aux/gendocs.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/gendocs.sh 2008-06-19 11:00:09.000000000 +0100 @@ -2,9 +2,9 @@ # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. -scriptversion=2009-04-08.09 +scriptversion=2008-03-05.14 -# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify @@ -19,7 +19,7 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# +# # Original author: Mohit Agarwal. # Send bug reports and any other correspondence to bug-texinfo@gnu.org. @@ -44,7 +44,7 @@ version="gendocs.sh $scriptversion -Copyright 2009 Free Software Foundation, Inc. +Copyright (C) 2007 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." @@ -57,28 +57,24 @@ Options: -o OUTDIR write files into OUTDIR, instead of manual/. - --email ADR use ADR as contact in generated web pages. --docbook convert to DocBook too (xml, txt, html, pdf and ps). --html ARG pass indicated ARG to makeinfo or texi2html for HTML targets. --texi2html use texi2html to generate HTML targets. --help display this help and exit successfully. --version display version information and exit successfully. -Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" +Simple example: $prog emacs \"GNU Emacs Manual\" Typical sequence: - cd PACKAGESOURCE/doc + cd YOURPACKAGESOURCE/doc wget \"$scripturl\" wget \"$templateurl\" - $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" + $prog YOURMANUAL \"GNU YOURMANUAL - One-line description\" Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR to override). Move all the new files into your web CVS tree, as explained in the Web Pages node of maintain.texi. -Please use the --email ADDRESS option to specify your bug-reporting -address in the generated HTML pages. - MANUAL-TITLE is included as part of the HTML of the overall manual/index.html file. It should include the name of the package being documented. manual/index.html is created by substitution from the file @@ -86,11 +82,11 @@ generic template for your own purposes.) If you have several manuals, you'll need to run this script several -times with different MANUAL values, specifying a different output +times with different YOURMANUAL values, specifying a different output directory with -o each time. Then write (by hand) an overall index.html with links to them all. -If a manual's Texinfo sources are spread across several directories, +If a manual's texinfo sources are spread across several directories, first copy or symlink all Texinfo sources into a single directory. (Part of the script's work is to make a tar.gz of the sources.) @@ -98,11 +94,11 @@ control the programs that get executed, and GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is looked for. (With --docbook, the environment variables DOCBOOK2HTML, DOCBOOK2PDF, DOCBOOK2PS, and -DOCBOOK2TXT are also respected.) +DOCBOOK2TXT are also respected.) By default, makeinfo is run in the default (English) locale, since that's the language of most Texinfo manuals. If you happen to have a -non-English manual and non-English web site, see the SETLANG setting +non-English manual and non-English web site, check the SETLANG setting in the source. Email bug reports or enhancement requests to bug-texinfo@gnu.org. @@ -114,23 +110,21 @@ echo $size } -MANUAL_TITLE= -PACKAGE= -EMAIL=webmasters@gnu.org # please override with --email -htmlarg= outdir=manual +html= +PACKAGE= +MANUAL_TITLE= while test $# -gt 0; do case $1 in - --email) shift; EMAIL=$1;; --help) echo "$usage"; exit 0;; --version) echo "$version"; exit 0;; -o) shift; outdir=$1;; --docbook) docbook=yes;; - --html) shift; htmlarg=$1;; + --html) shift; html=$1;; --texi2html) use_texi2html=1;; -*) - echo "$0: Unknown option \`$1'." >&2 + echo "$0: Unknown or ambiguous option \`$1'." >&2 echo "$0: Try \`--help' for more information." >&2 exit 1;; *) @@ -209,10 +203,8 @@ ascii_gz_size=`calcsize $outdir/$PACKAGE.txt.gz` mv $PACKAGE.txt $outdir/ -html_split() -{ - opt="--split=$1 $htmlarg --node-files" - cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" +html_split() { + cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html --split=$1 $html --node-files \"$srcfile\"" echo "Generating html by $1... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html @@ -229,8 +221,7 @@ } if test -z "$use_texi2html"; then - opt="--no-split --html -o $PACKAGE.html $htmlarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" + cmd="$SETLANG $MAKEINFO --no-split --html -o $PACKAGE.html $html \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" @@ -239,7 +230,7 @@ html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz` mv $PACKAGE.html $outdir/ - cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\"" + cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $html \"$srcfile\"" echo "Generating html by node... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html @@ -247,13 +238,13 @@ cd ${split_html_dir} || exit 1 tar -czf $dotdot_outdir/${PACKAGE}.html_node.tar.gz -- *.html ) - html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz` + html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz` rm -f $outdir/html_node/*.html mkdir -p $outdir/html_node/ mv ${split_html_dir}/*.html $outdir/html_node/ rmdir ${split_html_dir} else - cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\"" + cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $html \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" @@ -315,7 +306,7 @@ mv $PACKAGE-db.pdf $outdir/ fi -echo "Writing index file..." +echo Writing index file... if test -z "$use_texi2html"; then CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" @@ -325,9 +316,8 @@ curdate=`$SETLANG date '+%B %d, %Y'` sed \ -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ - -e "s!%%EMAIL%%!$EMAIL!g" \ - -e "s!%%PACKAGE%%!$PACKAGE!g" \ -e "s!%%DATE%%!$curdate!g" \ + -e "s!%%PACKAGE%%!$PACKAGE!g" \ -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ @@ -351,7 +341,7 @@ -e "$CONDS" \ $GENDOCS_TEMPLATE_DIR/gendocs_template >$outdir/index.html -echo "Done, see $outdir/ subdirectory for new files." +echo "Done! See $outdir/ subdirectory for new files." # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -Nru gnutls26-2.8.6/build-aux/gnupload gnutls26-2.4.1/build-aux/gnupload --- gnutls26-2.8.6/build-aux/gnupload 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/build-aux/gnupload 2008-06-19 11:00:09.000000000 +0100 @@ -1,13 +1,13 @@ #!/bin/sh # Sign files and upload them. -scriptversion=2009-04-28.21; # UTC +scriptversion=2008-04-02.19 -# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # 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) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -23,212 +23,92 @@ set -e GPG='gpg --batch --no-tty' -conffile=.gnuploadrc to= -dry_run=false -symlink_files= -delete_files= -delete_symlinks= -collect_var= -dbg= -usage="Usage: $0 [OPTIONS]... [COMMAND] FILES... [[COMMAND] FILES...] +usage="Usage: $0 [OPTIONS]... FILES... Sign all FILES, and upload them to selected destinations, according to <http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>. -Commands: - --delete delete FILES from destination - --symlink create symbolic links - --rmsymlink remove symbolic links - -- treat the remaining arguments as files to upload - Options: --help print this help text and exit --to DEST specify one destination for FILES (multiple --to options are allowed) --user NAME sign with key NAME - --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names - --dry-run do nothing, show what would have been done --version output version information and exit -If --symlink-regex is given without EXPR, then the link target name -is created by replacing the version information with \`-latest', e.g.: - - foo-1.3.4.tar.gz -> foo-latest.tar.gz - Recognized destinations are: alpha.gnu.org:DIRECTORY savannah.gnu.org:DIRECTORY savannah.nongnu.org:DIRECTORY ftp.gnu.org:DIRECTORY build directive files and upload files by FTP - download.gnu.org.ua:{alpha|ftp}/DIRECTORY - build directive files and upload files by SFTP [user@]host:DIRECTORY upload files with scp -Options and commands are applied in order. If the file $conffile exists -in the current working directory, its contents are prepended to the -actual command line options. Use this to keep your defaults. Comments -(#) and empty lines in $conffile are allowed. - -Examples: -1. Upload automake-1.8.2b.tar.gz and automake-1.8.2b.tar.bz2 to two sites: - gnupload --to sources.redhat.com:~ftp/pub/automake \\ - --to alpha.gnu.org:automake \\ - automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2 - -2. Same as above, but also create symbolic links to automake-latest.tar.*: - gnupload --to sources.redhat.com:~ftp/pub/automake \\ - --to alpha.gnu.org:automake \\ - --symlink-regex \\ - automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2 - -3. Symlink automake-1.8.2b.tar.gz to automake-latest.tar.gz and -automake-1.8.2b.tar.bz2 to automake-latest.tar.bz2 on both sites: - - gnupload --to sources.redhat.com:~ftp/pub/automake \\ - --to alpha.gnu.org:automake \\ - --symlink automake-1.8.2b.tar.gz automake-latest.tar.gz \\ - automake-1.8.2b.tar.bz2 automake-latest.tar.bz2 - -4. Delete automake-1.8.2a.tar.gz and .bz2, remove symlink -automake-latest.tar.gz and upload automake-1.8.2b.tar.gz: - +Example: gnupload --to sources.redhat.com:~ftp/pub/automake \\ --to alpha.gnu.org:automake \\ - --delete automake-1.8.2a.tar.gz automake-1.8.2a.tar.bz2 \\ - --rmsymlink automake-latest.tar.gz \\ - -- \\ automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2 Report bugs to <bug-automake@gnu.org>. Send patches to <automake-patches@gnu.org>." -# Read local configuration file -if test -r "$conffile"; then - echo "$0: Reading configuration file $conffile" - eval set x "`sed 's/#.*$//;/^$/d' \"$conffile\" | tr '\012\015' ' '` \"\$@\"" - shift -fi - while test -n "$1"; do case $1 in - -*) - collect_var= - case $1 in --help) echo "$usage" exit $? ;; --to) if test -z "$2"; then - echo "$0: Missing argument for --to" 1>&2 + echo "$0: Missing argument for --to" 1>&2 exit 1 else to="$to $2" - shift + shift 2 fi ;; --user) if test -z "$2"; then - echo "$0: Missing argument for --user" 1>&2 + echo "$0: Missing argument for --user" 1>&2 exit 1 else GPG="$GPG --local-user $2" - shift + shift 2 fi ;; - --delete) - collect_var=delete_files - ;; - --rmsymlink) - collect_var=delete_symlinks - ;; - --symlink-regex=*) - symlink_expr=`expr "$1" : '[^=]*=\(.*\)'` - ;; - --symlink-regex) - symlink_expr='s|-[0-9][0-9\.]*\(-[0-9][0-9]*\)\{0,1\}\.|-latest.|' - ;; - --symlink) - collect_var=symlink_files - ;; - --dry-run|-n) - dry_run=: - ;; --version) echo "gnupload $scriptversion" exit $? ;; - --) - shift - break - ;; -*) echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2 exit 1 ;; - esac - ;; - *) - if test -z "$collect_var"; then + *) break - else - eval "$collect_var=\"\$$collect_var $1\"" - fi - ;; + ;; esac - shift done -dprint() -{ - echo "Running $*..." -} - -if $dry_run; then - dbg=dprint -fi - -if test -z "$to"; then - echo "$0: Missing destination sites" >&2 +if test $# = 0; then + echo "$0: No file to upload" 1>&2 exit 1 +else + : fi -if test -n "$symlink_files"; then - x=`echo "$symlink_files" | sed 's/[^ ]//g;s/ //g'` - if test -n "$x"; then - echo "$0: Odd number of symlink arguments" >&2 - exit 1 - fi -fi - -if test $# = 0; then - if test -z "${symlink_files}${delete_files}${delete_symlinks}"; then - echo "$0: No file to upload" 1>&2 +# Make sure all files exist. We don't want to ask +# for the passphrase if the script will fail. +for file +do + if test ! -f $file; then + echo "$0: Cannot find \`$file'" 1>&2 exit 1 + else + : fi -else - # Make sure all files exist. We don't want to ask - # for the passphrase if the script will fail. - for file - do - if test ! -f $file; then - echo "$0: Cannot find \`$file'" 1>&2 - exit 1 - elif test -n "$symlink_expr"; then - linkname=`echo $file | sed "$symlink_expr"` - if test -z "$linkname"; then - echo "$0: symlink expression produces empty results" >&2 - exit 1 - elif test "$linkname" = $file; then - echo "$0: symlink expression does not alter file name" >&2 - exit 1 - fi - fi - done -fi +done # Make sure passphrase is not exported in the environment. unset passphrase @@ -245,168 +125,59 @@ stty echo echo -if test $# -ne 0; then - for file - do - echo "Signing $file..." - rm -f $file.sig - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file - done -fi - - -# mkdirective DESTDIR BASE FILE STMT -# Arguments: See upload, below -mkdirective () -{ - stmt="$4" - if test -n "$3"; then - stmt=" -filename: $3$stmt" - fi - - cat >${2}.directive<<EOF -version: 1.1 -directory: $1 -comment: gnupload v. $scriptversion$stmt -EOF - if $dry_run; then - echo "File ${2}.directive:" - cat ${2}.directive - echo "File ${2}.directive:" | sed 's/./-/g' - fi -} - -mksymlink () -{ - while test $# -ne 0 - do - echo "symlink: $1 $2" - shift - shift - done -} - -# upload DEST DESTDIR BASE FILE STMT FILES -# Arguments: -# DEST Destination site; -# DESTDIR Destination directory; -# BASE Base name for the directive file; -# FILE Name of the file to distribute (may be empty); -# STMT Additional statements for the directive file; -# FILES List of files to upload. -upload () -{ - dest=$1 - destdir=$2 - base=$3 - file=$4 - stmt=$5 - files=$6 - - rm -f $base.directive $base.directive.asc - case $dest in - alpha.gnu.org:*) - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive - $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc - ;; - ftp.gnu.org:*) - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive - $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc - ;; - savannah.gnu.org:*) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg ncftpput savannah.gnu.org /incoming/savannah/$destdir $files - ;; - savannah.nongnu.org:*) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files - ;; - download.gnu.org.ua:alpha/*|download.gnu.org.ua:ftp/*) - destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` - destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` - mkdirective "$destdir_p1" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive - for f in $files $base.directive.asc - do - echo put $f - done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir - ;; - /*) - dest_host=`echo "$dest" | sed 's,:.*,,'` - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive - $dbg cp $files $base.directive.asc $dest_host - ;; - *) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg scp $files $dest - ;; - esac - rm -f $base.directive $base.directive.asc -} - -##### -# Process any standalone directives -stmt= -if test -n "$symlink_files"; then - stmt="$stmt -`mksymlink $symlink_files`" -fi - -for file in $delete_files -do - stmt="$stmt -archive: $file" -done - -for file in $delete_symlinks +for file do - stmt="$stmt -rmsymlink: $file" + echo "Signing $file..." + rm -f $file.sig + echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file done -if test -n "$stmt"; then - for dest in $to - do - destdir=`echo $dest | sed 's/[^:]*://'` - upload "$dest" "$destdir" "`hostname`-$$" "" "$stmt" - done -fi - -# Process actual uploads for dest in $to do for file do echo "Uploading $file to $dest..." - stmt= files="$file $file.sig" destdir=`echo $dest | sed 's/[^:]*://'` - if test -n "$symlink_expr"; then - linkname=`echo $file | sed "$symlink_expr"` - stmt="$stmt -symlink: $file $linkname -symlink: $file.sig $linkname.sig" - fi - upload "$dest" "$destdir" "$file" "$file" "$stmt" "$files" + case $dest in + alpha.gnu.org:*) + rm -f $file.directive $file.directive.asc + cat >$file.directive<<EOF +version: 1.1 +directory: $destdir +filename: `basename -- "$file"` +EOF + echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive + ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc + rm -f $file.directive $file.directive.asc + ;; + ftp.gnu.org:*) + rm -f $file.directive $file.directive.asc + cat >$file.directive<<EOF +version: 1.1 +directory: $destdir +filename: `basename -- "$file"` +EOF + echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive + ncftpput ftp-upload.gnu.org /incoming/ftp $files $file.directive.asc + rm -f $file.directive $file.directive.asc + ;; + savannah.gnu.org:*) + ncftpput savannah.gnu.org /incoming/savannah/$destdir $files + ;; + savannah.nongnu.org:*) + ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files + ;; + *) + scp $files $dest + ;; + esac done done -exit 0 - # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" +# time-stamp-end: "$" # End: diff -Nru gnutls26-2.8.6/build-aux/install-sh gnutls26-2.4.1/build-aux/install-sh --- gnutls26-2.8.6/build-aux/install-sh 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/install-sh 2008-06-30 22:07:49.000000000 +0100 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2006-12-25.00 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -515,6 +515,5 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" +# time-stamp-end: "$" # End: diff -Nru gnutls26-2.8.6/build-aux/ltmain.sh gnutls26-2.4.1/build-aux/ltmain.sh --- gnutls26-2.8.6/build-aux/ltmain.sh 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/build-aux/ltmain.sh 2008-04-29 22:33:55.000000000 +0100 @@ -1,83 +1,52 @@ -# Generated from ltmain.m4sh. - -# ltmain.sh (GNU libtool) 2.2.6b -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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. - -# GNU Libtool is free software; you can redistribute it and/or modify +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007, 2008 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 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 of the License, or # (at your option) any later version. # -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but +# 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print informational messages (default) -# --version print version information -# -h, --help print short or long help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to <bug-libtool@gnu.org>. +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2" -TIMESTAMP="" -package_revision=1.3017 +VERSION="1.5.26 Debian 1.5.26-4" +TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)" -# Be Bourne compatible +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: @@ -91,261 +60,104 @@ BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh -# NLS nuisances: We save the old values to restore during execute mode. +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit $EXIT_SUCCESS +fi + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + SP2NL='tr \040 \012' + NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + SP2NL='tr \100 \n' + NL2SP='tr \r\n \100\100' + ;; +esac + +# NLS nuisances. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). -lt_user_locale= -lt_safe_locale= +# We save the old values to restore during execute mode. +lt_env= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C + save_$lt_var=\$$lt_var + lt_env=\"$lt_var=\$$lt_var \$lt_env\" + $lt_var=C export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done -$lt_unset CDPATH - - - - - -: ${CP="cp -f"} -: ${ECHO="echo"} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/bin/sed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS +if test -n "$lt_env"; then + lt_env="env $lt_env" +fi # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -# Generated shell functions inserted here. - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -# In the unlikely event $progname began with a '-', it would play havoc with -# func_echo (imagine progname=-n), so we prepend ./ in that case: -func_dirname_and_basename "$progpath" -progname=$func_basename_result -case $progname in - -*) progname=./$progname ;; -esac - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname${mode+: }$mode: $*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` - done - my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 +##################################### +# Shell function definitions: +# This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running @@ -355,7 +167,7 @@ { my_template="${TMPDIR-/tmp}/${1-$progname}" - if test "$opt_dry_run" = ":"; then + if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else @@ -364,784 +176,523 @@ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } fi - $ECHO "X$my_tmpdir" | $Xsed + $echo "X$my_tmpdir" | $Xsed } -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () { - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; esac + ;; + esac + $echo $win32_libid_type } -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () { - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "X$1" | $Xsed \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi } -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () +# func_extract_an_archive dir oldlib +func_extract_an_archive () { - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE fi } - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () +# func_extract_archives gentop oldlib ... +func_extract_archives () { - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status fi -} - - + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $SED -n '/^# Usage:/,/# -h/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - $ECHO - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help -# Echo long help message to standard output and exit. -func_help () -{ - $SED -n '/^# Usage:/,/# Report bugs to/ { - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - }' < "$progpath" - exit $? -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" } +# End of Shell function definitions +##################################### -exit_cmd=: - - - +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" +disable_libs=no -# Check that we have a working $ECHO. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell, and then maybe $ECHO will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" shift - cat <<EOF -$* -EOF - exit $EXIT_SUCCESS -fi - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -# $mode is unset -nonopt= -execute_dlfiles= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 -opt_dry_run=false -opt_duplicate_deps=false -opt_silent=false -opt_debug=: + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + prev= + prevopt= + continue + fi -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + --version) + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2008 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." + exit $? + ;; + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" done - exit $? -} + ;; -# func_features -# Display the features supported by this script. -func_features () -{ - $ECHO "host: $host" + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" if test "$build_libtool_libs" = yes; then - $ECHO "enable shared libraries" + $echo "enable shared libraries" else - $ECHO "disable shared libraries" + $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then - $ECHO "enable static libraries" + $echo "enable static libraries" else - $ECHO "disable static libraries" + $echo "disable static libraries" fi - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac + ;; - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" + --finish) mode="finish" ;; - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; -# Parse options once, thoroughly. This comes as soon as possible in -# the script to make things like `libtool --version' happen quickly. -{ + --preserve-dup-deps) duplicate_deps="yes" ;; - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift + + *) + nonopt="$arg" + break ;; esac +done - # Parse non-mode specific arguments: - while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --config) func_config ;; - - --debug) preserve_args="$preserve_args $opt" - func_echo "enabling shell trace mode" - opt_debug='set -x' - $opt_debug - ;; - - -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break - execute_dlfiles="$execute_dlfiles $1" - shift - ;; - - --dry-run | -n) opt_dry_run=: ;; - --features) func_features ;; - --finish) mode="finish" ;; - - --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break - case $1 in - # Valid mode arguments: - clean) ;; - compile) ;; - execute) ;; - finish) ;; - install) ;; - link) ;; - relink) ;; - uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; - esac - - mode="$1" - shift - ;; - - --preserve-dup-deps) - opt_duplicate_deps=: ;; - - --quiet|--silent) preserve_args="$preserve_args $opt" - opt_silent=: - ;; - - --verbose| -v) preserve_args="$preserve_args $opt" - opt_silent=false - ;; - - --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break - preserve_args="$preserve_args $opt $1" - func_enable_tag "$1" # tagname is set here - shift - ;; - - # Separate optargs to long options: - -dlopen=*|--mode=*|--tag=*) - func_opt_split "$opt" - set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} - shift - ;; - - -\?|-h) func_usage ;; - --help) opt_help=: ;; - --version) func_version ;; +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi - -*) func_fatal_help "unrecognized option \`$opt'" ;; +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac - *) nonopt="$opt" - break - ;; - esac - done +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= +if test -z "$show_help"; then - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done ;; - *) - opt_duplicate_compiler_generated_deps=$opt_duplicate_deps + *db | *dbx | *strace | *truss) + mode=execute ;; - esac - - # Having warned about all mis-specified options, bail out if - # anything was wrong. - $exit_cmd $EXIT_FAILURE -} + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -## ----------- ## -## Main. ## -## ----------- ## - -$opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" + ;; + esac fi - test -z "$mode" && func_fatal_error "error: you must specify a MODE." - - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" - help="Try \`$progname --help --mode=$mode' for more information." -} + help="Try \`$modename --help --mode=$mode' for more information." + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} + target ) + libobj="$arg" + arg_mode=normal + continue + ;; -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_ltwrapper_scriptname_result="" - if func_ltwrapper_executable_p "$1"; then - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" - fi -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case "$@ " in - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <<EOF -# $write_libobj - a libtool object file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=$write_lobj - -# Name of the non-PIC object -non_pic_object=$write_oldobj - -EOF - $MV "${write_libobj}T" "${write_libobj}" - } -} - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - pie_flag="$pie_flag $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) + -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; @@ -1157,25 +708,31 @@ ;; # replaced later. I would guess that would be a bug. -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' - for arg in $args; do + for arg in $args; do IFS="$save_ifs" - func_quote_for_eval "$arg" - lastarg="$lastarg $func_quote_for_eval_result" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" done IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` # Add the arguments to base_compile. base_compile="$base_compile $lastarg" continue ;; - *) + * ) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # @@ -1187,42 +744,66 @@ esac # case $arg_mode # Aesthetically quote the previous argument. - func_quote_for_eval "$lastarg" - base_compile="$base_compile $func_quote_for_eval_result" + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" done # for arg case $arg_mode in arg) - func_fatal_error "you must specify an argument for -Xcompile" + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE ;; target) - func_fatal_error "you must specify a target with \`-o'" + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE ;; *) # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.obj | *.sx) - func_xform "$libobj" - libobj=$func_xform_result - ;; + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.[fF][09]?) xform=[fF][09]. ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + *.sx) xform=sx ;; esac + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) - func_fatal_error "cannot determine name of library object from \`$libobj'" + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE ;; esac @@ -1230,15 +811,7 @@ for arg in $later; do case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - -static) - build_libtool_libs=no build_old_libs=yes continue ;; @@ -1255,17 +828,28 @@ esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi lobj=${xdir}$objdir/$objname - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi # Delete any leftover library objects. if test "$build_old_libs" = yes; then @@ -1274,9 +858,12 @@ removelist="$lobj $libobj ${libobj}T" fi + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) + cygwin* | mingw* | pw32* | os2*) pic_mode=default ;; esac @@ -1288,8 +875,10 @@ # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then - output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no @@ -1299,13 +888,13 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then - $ECHO "\ + $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` @@ -1316,22 +905,34 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $opt_dry_run || $RM $removelist + $run $rm $removelist exit $EXIT_FAILURE fi - removelist="$removelist $output_obj" - $ECHO "$srcfile" > "$lockfile" + $echo "$srcfile" > "$lockfile" fi - $opt_dry_run || $RM $removelist - removelist="$removelist $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T <<EOF +# $libobj - a libtool object file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +EOF # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then @@ -1345,19 +946,32 @@ command="$base_compile $qsrcfile" fi - func_mkdir_p "$xdir$objdir" + if test ! -d "${xdir}$objdir"; then + $show "$mkdir ${xdir}$objdir" + $run $mkdir ${xdir}$objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $exit_status + fi + fi if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + $run $rm "$lobj" "$output_obj" + + $show "$command" + if $run eval $lt_env "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit $EXIT_FAILURE + fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -1371,27 +985,45 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $opt_dry_run || $RM $removelist + $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi fi + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object='$objdir/$objname' + +EOF + # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' + suppress_output=' >/dev/null 2>&1' fi + else + # No PIC object so indicate it doesn't exist in the libtool + # object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object=none + +EOF fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" + command="$base_compile $qsrcfile" else command="$base_compile $qsrcfile $pic_flag" fi @@ -1401,12 +1033,17 @@ # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval $lt_env "$command"; then : + else + $run $rm $removelist + exit $EXIT_FAILURE + fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -1420,6784 +1057,5485 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $opt_dry_run || $RM $removelist + $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object='$objname' + +EOF + else + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object=none + +EOF fi - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + $run $mv "${libobj}T" "${libobj}" - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi exit $EXIT_SUCCESS -} + ;; -$opt_help || { -test "$mode" = compile && func_mode_compile ${1+"$@"} -} + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no -func_mode_help () -{ - # We need to display help for each of the modes. - case $mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + base_compile="$nonopt $@" + compile_command="$nonopt" + finalize_command="$nonopt" - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= -Remove files from the build directory. + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + notinst_path= # paths that contain not-installed libtool libraries + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + single_module="${wl}-single_module" -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. + func_infer_tag $base_compile -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done -Complete the installation of libtool libraries. + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes -Each LIBDIR is a directory that contains libtool libraries. + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. -Install executables or libraries. + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac -The following components of INSTALL-COMMAND are treated specially: + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi - -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi -Link object files or libraries together to form another library, or to -create an executable program. + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi -The following components of LINK-COMMAND are treated specially: + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. -All other options (arguments beginning with \`-') are ignored. + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" -Remove libraries from an installation directory. + prevarg="$arg" -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; - *) - func_fatal_help "invalid operation mode \`$mode'" - ;; - esac + -avoid-version) + avoid_version=yes + continue + ;; - $ECHO - $ECHO "Try \`$progname --help' for more information about other modes." + -dlopen) + prev=dlfiles + continue + ;; - exit $? -} + -dlpreopen) + prev=dlprefiles + continue + ;; - # Now that we've collected a possible --mode arg, show help if necessary - $opt_help && func_mode_help + -export-dynamic) + export_dynamic=yes + continue + ;; + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" + -inst-prefix-dir) + prev=inst_prefix + continue + ;; - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; - # Read the libtool library. - dlname= - library_names= - func_source "$file" + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac fi + deplibs="$deplibs $arg" + continue + ;; - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue ;; - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue ;; - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + -multi_module) + single_module="${wl}-multi_module" continue ;; - esac - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" + -module) + module=yes + continue + ;; - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi + -shrext) + prev=shrext + continue ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_quote_for_eval "$file" - args="$args $func_quote_for_eval_result" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - $ECHO "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS + -no-fast-install) + fast_install=no + continue + ;; - $ECHO "X----------------------------------------------------------------------" | $Xsed - $ECHO "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - $ECHO - $ECHO "If you ever happen to want to link against installed libraries" - $ECHO "in a given directory, LIBDIR, you must either use libtool, and" - $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" - $ECHO "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" - $ECHO " during execution" - fi - if test -n "$runpath_var"; then - $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" - $ECHO " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $ECHO + -no-undefined) + allow_undefined=no + continue + ;; - $ECHO "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" - $ECHO "pages." + -objectlist) + prev=objectlist + continue ;; - *) - $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - $ECHO "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS -} -test "$mode" = finish && func_mode_finish ${1+"$@"} + -o) prev=output ;; + -precious-files-regex) + prev=precious_regex + continue + ;; -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $ECHO "X$nonopt" | $GREP shtool >/dev/null; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi + -release) + prev=release + continue + ;; - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog="$install_prog$func_quote_for_eval_result" + -rpath) + prev=rpath + continue + ;; - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg + -R) + prev=xrpath continue - fi + ;; - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue ;; - -g | -m | -o) - prev=$arg + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue ;; - -s) - stripme=" -s" + + -thread-safe) + thread_safe=yes continue ;; - -*) + + -version-info) + prev=vinfo + continue ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi + -version-number) + prev=vinfo + vinfo_number=yes + continue ;; - esac - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog="$install_prog $func_quote_for_eval_result" - done + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" + -Xcompiler) + prev=xcompiler + continue + ;; - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi + -Xlinker) + prev=xlinker + continue + ;; - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" + -XCClinker) + prev=xcclinker + continue + ;; - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" ;; esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do + ;; - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" + *.$objext) + # A standard object. + objs="$objs $arg" ;; - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" + *.lo) + # A libtool-controlled object. - library_names= - old_library= - relink_command= - func_source "$file" + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" fi - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi - # Install the shared library and build the symlinks. - func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" fi - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue ;; - *.lo) - # Install (i.e. copy) a libtool object. + *.la) + # A libtool-controlled library. - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" + deplibs="$deplibs $arg" fi + continue + ;; - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" ;; esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS ;; + esac # arg - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi - func_source "$wrapper" + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" else - exit $EXIT_SUCCESS + output_objdir="$output_objdir/$objdir" fi -} - -test "$mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status fi fi - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_verbose "extracting global C symbols from \`$progfile'" - $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac - $ECHO >> "$output_objdir/$my_dlsyms" "\ + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -" - case $host in - *cygwin* | *mingw* | *cegcc* ) - $ECHO >> "$output_objdir/$my_dlsyms" "\ -/* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs. */" - lt_dlsym_const= ;; - *osf5*) - echo >> "$output_objdir/$my_dlsyms" "\ -/* This system does not cope well with relocations in const data */" - lt_dlsym_const= ;; - *) - lt_dlsym_const=const ;; - esac + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done - $ECHO >> "$output_objdir/$my_dlsyms" "\ -extern $lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -$lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac - $ECHO >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE ;; esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags="$symtab_cflags $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" else - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + compiler_flags="$compiler_flags $deplib" fi + continue ;; - *) - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv -# func_emit_wrapper_part1 [arg=no] -# -# Emit the first part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part1 () -{ - func_emit_wrapper_part1_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part1_arg1=$1 + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE fi - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` -# 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+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen -relink_command=\"$relink_command\" + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - ECHO=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$ECHO works! - : - else - # Restart under the correct shell, and then maybe \$ECHO will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $ECHO "\ - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... - file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done -" -} -# end: func_emit_wrapper_part1 + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi -# func_emit_wrapper_part2 [arg=no] -# -# Emit the second part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part2 () -{ - func_emit_wrapper_part2_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part2_arg1=$1 - fi - - $ECHO "\ - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library - file=\"\$\$-\$program\" + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi - $ECHO "\ + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" - $ECHO "\ + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac - if test -f \"\$progdir/\$program\"; then" + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi - export $shlibpath_var -" - fi + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi - *) - $ECHO "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$deplibdir/$depdepl" ; then + depdepl="$deplibdir/$depdepl" + elif test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + else + # Can't find it, oh well... + depdepl= + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" ;; esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} -# end: func_emit_wrapper_part2 + case $linkmode in + oldlib) + case " $deplibs" in + *\ -l* | *\ -L*) + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;; + esac -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=no - if test -n "$1" ; then - func_emit_wrapper_arg1=$1 - fi + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi - # split this up so that func_emit_cwrapperexe_src - # can call each part independently. - func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" - func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" -} + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi -# func_to_host_path arg -# -# Convert paths to host format when used with build tools. -# Intended for use with "native" mingw (where libtool itself -# is running under the msys shell), or in the following cross- -# build environments: -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# where wine is equipped with the `winepath' executable. -# In the native mingw case, the (msys) shell automatically -# converts paths for any non-msys applications it launches, -# but that facility isn't available from inside the cwrapper. -# Similar accommodations are necessary for $host mingw and -# $build cygwin. Calling this function does no harm for other -# $host/$build combinations not listed above. -# -# ARG is the path (on $build) that should be converted to -# the proper representation for $host. The result is stored -# in $func_to_host_path_result. -func_to_host_path () -{ - func_to_host_path_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - case $build in - *mingw* ) # actually, msys - # awkward: cmd appends spaces to result - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_path_tmp1=`( cmd //c echo "$1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_path_tmp1=`cygpath -w "$1"` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # Unfortunately, winepath does not exit with a non-zero - # error code, so we are forced to check the contents of - # stdout. On the other hand, if the command is not - # found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both - # error code of zero AND non-empty stdout, which explains - # the odd construction: - func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - else - # Allow warning below. - func_to_host_path_result="" - fi - ;; - esac - if test -z "$func_to_host_path_result" ; then - func_error "Could not determine host path corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_path_result="$1" - fi - ;; - esac - fi -} -# end: func_to_host_path + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi -# func_to_host_pathlist arg -# -# Convert pathlists to host format when used with build tools. -# See func_to_host_path(), above. This function supports the -# following $build/$host combinations (but does no harm for -# combinations not listed here): -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# -# Path separators are also converted from $build format to -# $host format. If ARG begins or ends with a path separator -# character, it is preserved (but converted to $host format) -# on output. -# -# ARG is a pathlist (on $build) that should be converted to -# the proper representation on $host. The result is stored -# in $func_to_host_pathlist_result. -func_to_host_pathlist () -{ - func_to_host_pathlist_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_to_host_pathlist_tmp2="$1" - # Once set for this call, this variable should not be - # reassigned. It is used in tha fallback case. - func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e 's|^:*||' -e 's|:*$||'` - case $build in - *mingw* ) # Actually, msys. - # Awkward: cmd appends spaces to result. - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # unfortunately, winepath doesn't convert pathlists - func_to_host_pathlist_result="" - func_to_host_pathlist_oldIFS=$IFS - IFS=: - for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do - IFS=$func_to_host_pathlist_oldIFS - if test -n "$func_to_host_pathlist_f" ; then - func_to_host_path "$func_to_host_pathlist_f" - if test -n "$func_to_host_path_result" ; then - if test -z "$func_to_host_pathlist_result" ; then - func_to_host_pathlist_result="$func_to_host_path_result" - else - func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" - fi - fi - fi - IFS=: - done - IFS=$func_to_host_pathlist_oldIFS - ;; - esac - if test -z "$func_to_host_pathlist_result" ; then - func_error "Could not determine the host path(s) corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This may break if $1 contains DOS-style drive - # specifications. The fix is not to complicate the expression - # below, but for the user to provide a working wine installation - # with winepath so that path translation in the cross-to-mingw - # case works properly. - lt_replace_pathsep_nix_to_dos="s|:|;|g" - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_replace_pathsep_nix_to_dos"` - fi - # Now, add the leading and trailing path separators back - case "$1" in - :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" - ;; - esac - case "$1" in - *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" - ;; - esac - ;; - esac - fi -} -# end: func_to_host_pathlist + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat <<EOF + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac - Currently, it simply execs the wrapper *script* "$SHELL $output", - but could eventually absorb all of the scripts functionality and - exec $objdir/$outputname directly. -*/ -EOF - cat <<"EOF" -#include <stdio.h> -#include <stdlib.h> -#ifdef _MSC_VER -# include <direct.h> -# include <process.h> -# include <io.h> -# define setmode _setmode -#else -# include <unistd.h> -# include <stdint.h> -# ifdef __CYGWIN__ -# include <io.h> -# define HAVE_SETENV -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -# endif -#endif -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/stat.h> + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" -#ifdef _MSC_VER -# define S_IXUSR _S_IEXEC -# define stat _stat -# ifndef _INTPTR_T_DEFINED -# define intptr_t int -# endif -#endif + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi -#ifdef __CYGWIN__ -# define FOPEN_WB "wb" -#endif + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac -#undef LTWRAPPER_DEBUGPRINTF -#if defined DEBUGWRAPPER -# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args -static void -ltwrapper_debugprintf (const char *fmt, ...) -{ - va_list args; - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); -} -#else -# define LTWRAPPER_DEBUGPRINTF(args) -#endif + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac -const char *program_name = NULL; + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_fatal (const char *message, ...); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_opt_process_env_set (const char *arg); -void lt_opt_process_env_prepend (const char *arg); -void lt_opt_process_env_append (const char *arg); -int lt_split_name_value (const char *arg, char** name, char** value); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi -static const char *script_text_part1 = -EOF + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; - func_emit_wrapper_part1 yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ "/' -e 's/$/\\n"/' - echo ";" - cat <<EOF + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; -static const char *script_text_part2 = -EOF - func_emit_wrapper_part2 yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ "/' -e 's/$/\\n"/' - echo ";" - - cat <<EOF -const char * MAGIC_EXE = "$magic_exe"; -const char * LIB_PATH_VARNAME = "$shlibpath_var"; -EOF + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - func_to_host_pathlist "$temp_rpath" - cat <<EOF -const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result"; -EOF - else - cat <<"EOF" -const char * LIB_PATH_VALUE = ""; -EOF - fi + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; - if test -n "$dllsearchpath"; then - func_to_host_pathlist "$dllsearchpath:" - cat <<EOF -const char * EXE_PATH_VARNAME = "PATH"; -const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result"; -EOF - else - cat <<"EOF" -const char * EXE_PATH_VARNAME = ""; -const char * EXE_PATH_VALUE = ""; -EOF - fi + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" - if test "$fast_install" = yes; then - cat <<EOF -const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ -EOF - else - cat <<EOF -const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ -EOF - fi + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; - cat <<"EOF" + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; -#define LTWRAPPER_OPTION_PREFIX "--lt-" -#define LTWRAPPER_OPTION_PREFIX_LENGTH 5 + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" -static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH; -static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done -static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; -static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7; -static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set"; - /* argument is putenv-style "foo=bar", value of foo is set to bar */ + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; -static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11; -static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend"; - /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */ + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; -static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10; -static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append"; - /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */ + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac -int -main (int argc, char *argv[]) -{ - char **newargz; - int newargc; - char *tmp_pathspec; - char *actual_cwrapper_path; - char *actual_cwrapper_name; - char *target_name; - char *lt_argv_zero; - intptr_t rval = 127; - - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0])); - LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name)); - - /* very simple arg parsing; don't want to rely on getopt */ - for (i = 1; i < argc; i++) - { - if (strcmp (argv[i], dumpscript_opt) == 0) - { -EOF - case "$host" in - *mingw* | *cygwin* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; - esac - - cat <<"EOF" - printf ("%s", script_text_part1); - printf ("%s", script_text_part2); - return 0; - } - } - - newargz = XMALLOC (char *, argc + 1); - tmp_pathspec = find_executable (argv[0]); - if (tmp_pathspec == NULL) - lt_fatal ("Couldn't find %s", argv[0]); - LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n", - tmp_pathspec)); - - actual_cwrapper_path = chase_symlinks (tmp_pathspec); - LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n", - actual_cwrapper_path)); - XFREE (tmp_pathspec); - - actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path)); - strendzap (actual_cwrapper_path, actual_cwrapper_name); - - /* wrapper name transforms */ - strendzap (actual_cwrapper_name, ".exe"); - tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); - XFREE (actual_cwrapper_name); - actual_cwrapper_name = tmp_pathspec; - tmp_pathspec = 0; - - /* target_name transforms -- use actual target program name; might have lt- prefix */ - target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); - strendzap (target_name, ".exe"); - tmp_pathspec = lt_extend_str (target_name, ".exe", 1); - XFREE (target_name); - target_name = tmp_pathspec; - tmp_pathspec = 0; - - LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n", - target_name)); -EOF - - cat <<EOF - newargz[0] = - XMALLOC (char, (strlen (actual_cwrapper_path) + - strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); - strcpy (newargz[0], actual_cwrapper_path); - strcat (newargz[0], "$objdir"); - strcat (newargz[0], "/"); -EOF - - cat <<"EOF" - /* stop here, and copy so we don't have to do this twice */ - tmp_pathspec = xstrdup (newargz[0]); - - /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ - strcat (newargz[0], actual_cwrapper_name); - - /* DO want the lt- prefix here if it exists, so use target_name */ - lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); - XFREE (tmp_pathspec); - tmp_pathspec = NULL; -EOF - - case $host_os in - mingw*) - cat <<"EOF" - { - char* p; - while ((p = strchr (newargz[0], '\\')) != NULL) - { - *p = '/'; - } - while ((p = strchr (lt_argv_zero, '\\')) != NULL) - { - *p = '/'; - } - } -EOF + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= ;; - esac - - cat <<"EOF" - XFREE (target_name); - XFREE (actual_cwrapper_path); - XFREE (actual_cwrapper_name); - - lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ - lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); - lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); - - newargc=0; - for (i = 1; i < argc; i++) - { - if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0) - { - if (argv[i][env_set_opt_len] == '=') - { - const char *p = argv[i] + env_set_opt_len + 1; - lt_opt_process_env_set (p); - } - else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc) - { - lt_opt_process_env_set (argv[++i]); /* don't copy */ - } - else - lt_fatal ("%s missing required argument", env_set_opt); - continue; - } - if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0) - { - if (argv[i][env_prepend_opt_len] == '=') - { - const char *p = argv[i] + env_prepend_opt_len + 1; - lt_opt_process_env_prepend (p); - } - else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc) - { - lt_opt_process_env_prepend (argv[++i]); /* don't copy */ - } - else - lt_fatal ("%s missing required argument", env_prepend_opt); - continue; - } - if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0) - { - if (argv[i][env_append_opt_len] == '=') - { - const char *p = argv[i] + env_append_opt_len + 1; - lt_opt_process_env_append (p); - } - else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc) - { - lt_opt_process_env_append (argv[++i]); /* don't copy */ - } - else - lt_fatal ("%s missing required argument", env_append_opt); - continue; - } - if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0) - { - /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX - namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then - report an error. Otherwise, targets might begin to believe - they are allowed to use options in the LTWRAPPER_OPTION_PREFIX - namespace. The first time any user complains about this, we'll - need to make LTWRAPPER_OPTION_PREFIX a configure-time option - or a configure.ac-settable value. - */ - lt_fatal ("Unrecognized option in %s namespace: '%s'", - ltwrapper_option_prefix, argv[i]); - } - /* otherwise ... */ - newargz[++newargc] = xstrdup (argv[i]); - } - newargz[++newargc] = NULL; - - LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>"))); - for (i = 0; i < newargc; i++) - { - LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>"))); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi -int -check_executable (const char *path) -{ - struct stat st; + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi - LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" - LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi - LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", - wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", - tmp_pathspec)); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - char *errstr = strerror (errno); - lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal ("Could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $rm conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which I believe you do not have" + $echo "*** because a test_compile did reveal that the linker did not use it for" + $echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + $rm conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because a test_compile did reveal that the linker did not use this one" + $echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + $echo + $echo "*** Warning! Library $i is needed by this library but I was not able to" + $echo "*** make it link in! You will probably need to install it or some" + $echo "*** library that it depends on before this library will be fully" + $echo "*** functional. Installing it before continuing would be even better." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method + file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save - assert (str != NULL); - assert (pat != NULL); + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac - len = strlen (str); - patlen = strlen (pat); + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi -static void -lt_error_core (int exit_status, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - if (exit_status >= 0) - exit (exit_status); -} + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -void -lt_setenv (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi -int -lt_split_name_value (const char *arg, char** name, char** value) -{ - const char *p; - int len; - if (!arg || !*arg) - return 1; + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi - p = strchr (arg, (int)'='); + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift - if (!p) - return 1; + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi - *value = xstrdup (++p); + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done - len = strlen (arg) - strlen (*value); - *name = XMALLOC (char, len); - strncpy (*name, arg, len-1); - (*name)[len - 1] = '\0'; + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - return 0; -} + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi -void -lt_opt_process_env_set (const char *arg) -{ - char *name = NULL; - char *value = NULL; + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); - } + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" - lt_setenv (name, value); - XFREE (name); - XFREE (value); -} + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" -void -lt_opt_process_env_prepend (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); - } + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi - new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi -void -lt_opt_process_env_append (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); - } + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` - new_value = lt_extend_str (getenv (name), value, 1); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" -void -lt_update_exe_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} + $echo "creating a temporary reloadable object file: $output" -void -lt_update_lib_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} + libobjs=$output + # Restore the value of output. + output=$save_output + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. -EOF -} -# end: func_emit_cwrapperexe_src + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= + exit $lt_exit + } + done + IFS="$save_ifs" - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes + exit $EXIT_SUCCESS + fi - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. + obj) + case " $deplibs" in + *\ -l* | *\ -L*) + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;; + esac - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi - # Read the .lo file - func_source "$arg" + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi + # Delete the old objects. + $run $rm $obj $libobj - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs="$weak_libs $arg" - prev= - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - prevarg="$arg" + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop fi - continue - ;; - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; + exit $EXIT_SUCCESS + fi - -avoid-version) - avoid_version=yes - continue - ;; + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi - -dlopen) - prev=dlfiles - continue - ;; + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi - -dlpreopen) - prev=dlprefiles - continue - ;; + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi - -export-dynamic) - export_dynamic=yes - continue - ;; + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." fi - continue - ;; + fi - -framework) - prev=framework - continue + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; + esac - -inst-prefix-dir) - prev=inst_prefix - continue - ;; + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac ;; esac - continue - ;; - - -L*) - func_stripname '-L' '' "$arg" - dir=$func_stripname_result - if test -z "$dir"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi else - func_fatal_error "need path for \`-L' option" + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac fi - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath="$dllsearchpath:$dir";; + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac - continue - ;; + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac fi - deplibs="$deplibs $arg" - continue - ;; + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" - -module) - module=yes - continue - ;; + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; - esac - continue - ;; + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" - -multi_module) - single_module="${wl}-multi_module" - continue - ;; + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" - -no-fast-install) - fast_install=no - continue - ;; + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -no-undefined) - allow_undefined=no - continue - ;; +#ifdef __cplusplus +extern \"C\" { +#endif - -objectlist) - prev=objectlist - continue - ;; +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol - -o) prev=output ;; +/* External symbol declarations for the compiler. */\ +" - -precious-files-regex) - prev=precious_regex - continue - ;; + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" - -release) - prev=release - continue - ;; + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - -rpath) - prev=rpath - continue - ;; + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done - -R) - prev=xrpath - continue - ;; + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi - -shrext) - prev=shrext - continue - ;; + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi - -thread-safe) - thread_safe=yes - continue - ;; + $echo >> "$output_objdir/$dlsyms" "\ - -version-info) - prev=vinfo - continue - ;; +#undef lt_preloaded_symbols - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif - -weak) - prev=weak - continue - ;; +/* The mapping between symbol names and symbols. */ +" - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" - linker_flags="$linker_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - -Xcompiler) - prev=xcompiler - continue - ;; + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" - -Xlinker) - prev=xlinker - continue - ;; + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - -XCClinker) - prev=xcclinker - continue - ;; + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; +#ifdef __cplusplus +} +#endif\ +" + fi - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac - *.$objext) - # A standard object. - objs="$objs $arg" - ;; + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. - *.lo) - # A libtool-controlled object. + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" - # Read the .lo file - func_source "$arg" + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + exit $exit_status + fi - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" + # fast_install is set to needless + relink_command= fi else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" fi - ;; + fi - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - *.la) - # A libtool-controlled library. + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; + $show "$link_command" + $run eval "$link_command" || exit $? - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg + # Now create the wrapper script. + $show "creating $output" - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi - done # argument parsing loop - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" + cat > $cwrappersource <<EOF - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - # Create the object directory. - func_mkdir_p "$output_objdir" + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. - specialdeplibs= + Currently, it simply execs the wrapper *script* "/bin/sh $output", + but could eventually absorb all of the scripts functionality and + exec $objdir/$outputname directly. +*/ +EOF + cat >> $cwrappersource<<"EOF" +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <sys/stat.h> - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_duplicate_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - case $lib in - *.la) func_source "$lib" ;; - esac +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs="$deplibs $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi +const char *program_name = NULL; - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - dir=$func_stripname_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $ECHO - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because the file extensions .$libext of this argument makes me believe" - $ECHO "*** that it is just a static archive that I should not use here." - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF - func_dirname "$lib" "" "." - ladir="$func_dirname_result" + cat >> $cwrappersource <<EOF + newargz[0] = (char *) xstrdup("$SHELL"); +EOF - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= + cat >> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + for (i=0; i<argc+1; i++) + { + DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); + ; + } - # Read the .la file - func_source "$lib" +EOF - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi + case $host_os in + mingw*) + cat >> $cwrappersource <<EOF + execv("$SHELL",(char const **)newargz); +EOF + ;; + *) + cat >> $cwrappersource <<EOF + execv("$SHELL",newargz); +EOF + ;; + esac - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv + cat >> $cwrappersource <<"EOF" + return 127; +} +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi + return p; +} - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" +const char * +base_name (const char *name) +{ + const char *base; - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath="$temp_rpath$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - $ECHO - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $ECHO - $ECHO "*** And there doesn't seem to be a static archive available" - $ECHO "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $ECHO - $ECHO "*** Warning: This system can not link to static lib archive $lib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $ECHO "*** But as you try to build a module library, libtool will still create " - $ECHO "*** a static module, that should work as long as the dlopening application" - $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_dirname "$deplib" "" "." - dir="$func_dirname_result" - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs="$libobjs $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` - # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` - # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then - ldd_output=`ldd conftest` - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - $ECHO - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which I believe you do not have" - $ECHO "*** because a test_compile did reveal that the linker did not use it for" - $ECHO "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - ;; - *) - newdeplibs="$newdeplibs $i" - ;; - esac - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then - ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - $ECHO - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because a test_compile did reveal that the linker did not use this one" - $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - $ECHO - $ECHO "*** Warning! Library $i is needed by this library but I was not able to" - $ECHO "*** make it link in! You will probably need to install it or some" - $ECHO "*** library that it depends on before this library will be fully" - $ECHO "*** functional. Installing it before continuing would be even better." - fi - ;; - *) - newdeplibs="$newdeplibs $i" - ;; - esac - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method; shift - file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ - -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` - done - fi - if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | - $GREP . >/dev/null; then - $ECHO - if test "X$deplibs_check_method" = "Xnone"; then - $ECHO "*** Warning: inter-library dependencies are not supported in this platform." - else - $ECHO "*** Warning: inter-library dependencies are not known to be supported." - fi - $ECHO "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac +int +check_executable(const char * path) +{ + struct stat st; - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $ECHO - $ECHO "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - $ECHO "*** a static module, that should work as long as the dlopening" - $ECHO "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $ECHO "*** The inter-library dependencies that have been dropped here will be" - $ECHO "*** automatically added whenever a program is linked with this library" - $ECHO "*** or is declared to -dlopen it." + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; - if test "$allow_undefined" = no; then - $ECHO - $ECHO "*** Since this library must not contain undefined symbols," - $ECHO "*** because either the platform does not support them or" - $ECHO "*** it was explicitly requested with -no-undefined," - $ECHO "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_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+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles="$delfiles $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - func_len " $cmd" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi + file=\"\$\$-\$program\" - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + $echo >> $output "\ - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" fi - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi + $echo >> $output "\ - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" fi - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$ECHO "X$output" | $Xsed -e "$basename"` + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - $ECHO 'INPUT (' > $output - for obj in $save_libobjs - do - $ECHO "$obj" >> $output - done - $ECHO ')' >> $output - delfiles="$delfiles $output" - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - $ECHO "$obj" >> $output - done - delfiles="$delfiles $output" - output=$firstobj\"$file_list_spec$output\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - delfiles="$delfiles $output" + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do - else - output= - fi + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." - exit $lt_exit - } - done - IFS="$save_ifs" + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status fi fi - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi - libobjs=$output - # Restore the value of output. - output=$save_output + eval cmds=\"$old_archive_cmds\" - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : else - cmds=$module_cmds + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi +# The name that we can dlopen(3). +dlname='$tdlname' - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test +# Names of this library. +library_names='$library_names' - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' +# The name of the static archive. +old_library='$old_library' - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' - exit $EXIT_SUCCESS - fi +# Version information for $libname. +current=$current +age=$age +revision=$revision - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi +# Is this an already installed library? +installed=$installed - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi +# Should we warn about portability when linking against -modules? +shouldnotlink=$module - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done fi - exit $EXIT_SUCCESS + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? ;; + esac + exit $EXIT_SUCCESS + ;; - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi ;; esac - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" ;; esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE ;; - *) new_libs="$new_libs $deplib" ;; esac done - compile_deplibs="$new_libs" + ;; + esac + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; esac fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - wrappers_required=yes - case $host in - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *cegcc) - # Disable wrappers for cegcc, we are cross compiling anyway. - wrappers_required=no - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi fi - exit $exit_status - fi + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + IFS="$save_ifs" fi - fi - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - exit $EXIT_SUCCESS - fi + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" fi - fi - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi - func_show_eval "$link_command" 'exit $?' + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - # Now create the wrapper script. - func_verbose "creating $output" + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi - # Quote $ECHO for shipping. - if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; esac - qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` - fi - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions + # Do a test to see if this is really a libtool program. case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + $show "$relink_command" + if $run eval "$relink_command"; then : else - func_emit_wrapper no > $func_ltwrapper_scriptname_result + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi - func_emit_wrapper no > $output - chmod +x $output + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac ;; esac - } - exit $EXIT_SUCCESS - ;; - esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs="$oldobjs $symfileobj" - fi - fi - addlibs="$old_convenience" - fi + # Set up the ranlib parameters. + oldlib="$destdir/$name" - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? fi - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi - func_extract_archives $gentop $dlprefiles - oldobjs="$oldobjs $func_extract_archives_result" - fi + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $ECHO "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - eval cmds=\"$old_archive_cmds\" + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi + IFS="$save_ifs" fi - fi - func_execute_cmds "$cmds" 'exit $?' + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" - test -n "$generated" && \ - func_show_eval "${RM}r$generated" + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" + # libtool execute mode + execute) + modename="$modename: execute" - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles="$newdlfiles $libdir/$name" - ;; - *) newdlfiles="$newdlfiles $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles="$newdlprefiles $libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi -# The name that we can dlopen(3). -dlname='$tdlname' + # Read the libtool library. + dlname= + library_names= -# Names of this library. -library_names='$library_names' + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac -# The name of the static archive. -old_library='$old_library' + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + fi + ;; -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; -# Version information for $libname. -current=$current -age=$age -revision=$revision + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac -# Is this an already installed library? -installed=$installed + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" -# Should we warn about portability when linking against -modules? -shouldnotlink=$module + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi -{ test "$mode" = link || test "$mode" = relink; } && - func_mode_link ${1+"$@"} + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" files= rmforce= exit_status=0 @@ -8209,28 +6547,30 @@ for arg do case $arg in - -f) RM="$RM $arg"; rmforce=yes ;; - -*) RM="$RM $arg" ;; + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; *) files="$files $arg" ;; esac done - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi rmdirs= origobjdir="$objdir" for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. objdir="$origobjdir" else objdir="$dir/$origobjdir" fi - func_basename "$file" - name="$func_basename_result" + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates @@ -8242,9 +6582,9 @@ fi # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then : elif test -d "$file"; then exit_status=1 @@ -8258,8 +6598,8 @@ case $name in *.la) # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do @@ -8274,17 +6614,39 @@ *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" fi # FIXME: should reinstall the best remaining shared library. ;; @@ -8294,20 +6656,20 @@ *.lo) # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file - func_source $dir/$name + . $dir/$name # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then + if test -n "$pic_object" \ + && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi @@ -8318,26 +6680,17 @@ noexename=$name case $file in *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles="$rmfiles $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles @@ -8352,38 +6705,239 @@ fi ;; esac - func_show_eval "$RM $rmfiles" 'exit_status=1' + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 fi done exit $exit_status -} - -{ test "$mode" = uninstall || test "$mode" = clean; } && - func_mode_uninstall ${1+"$@"} + ;; -test -z "$mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$mode'" + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" if test -n "$exec_cmd"; then - eval exec "$exec_cmd" + eval exec $exec_cmd exit $EXIT_FAILURE fi -exit $exit_status +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to <bug-libtool@gnu.org>." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting @@ -8397,17 +6951,14 @@ # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes +disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: -# vi:sw=2 - diff -Nru gnutls26-2.8.6/build-aux/mdate-sh gnutls26-2.4.1/build-aux/mdate-sh --- gnutls26-2.8.6/build-aux/mdate-sh 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/mdate-sh 2008-06-30 22:07:49.000000000 +0100 @@ -1,10 +1,10 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2009-04-28.21; # UTC +scriptversion=2007-03-30.02 -# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007 Free Software +# Foundation, Inc. # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 # # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,8 @@ # 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, see <http://www.gnu.org/licenses/>. +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -200,6 +201,5 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" +# time-stamp-end: "$" # End: diff -Nru gnutls26-2.8.6/build-aux/missing gnutls26-2.4.1/build-aux/missing --- gnutls26-2.8.6/build-aux/missing 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/missing 2008-06-30 22:07:49.000000000 +0100 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2006-05-10.23 -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,9 @@ # 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, see <http://www.gnu.org/licenses/>. +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -87,9 +89,6 @@ tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - Send bug reports to <bug-automake@gnu.org>." exit $? ;; @@ -107,22 +106,15 @@ esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. +# the program). case $1 in - lex*|yacc*) + lex|yacc) # Not GNU programs, they don't have --version. ;; - tar*) + tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 @@ -146,7 +138,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case $program in +case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -156,7 +148,7 @@ touch aclocal.m4 ;; - autoconf*) + autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -165,7 +157,7 @@ touch configure ;; - autoheader*) + autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -195,7 +187,7 @@ while read f; do touch "$f"; done ;; - autom4te*) + autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -218,7 +210,7 @@ fi ;; - bison*|yacc*) + bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package @@ -248,7 +240,7 @@ fi ;; - lex*|flex*) + lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package @@ -271,7 +263,7 @@ fi ;; - help2man*) + help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the @@ -285,11 +277,11 @@ else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" - exit $? + exit 1 fi ;; - makeinfo*) + makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file @@ -318,7 +310,7 @@ touch $file ;; - tar*) + tar) shift # We have already tried tar in the generic part. @@ -371,6 +363,5 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" +# time-stamp-end: "$" # End: diff -Nru gnutls26-2.8.6/build-aux/pmccabe2html gnutls26-2.4.1/build-aux/pmccabe2html --- gnutls26-2.8.6/build-aux/pmccabe2html 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/pmccabe2html 1970-01-01 01:00:00.000000000 +0100 @@ -1,908 +0,0 @@ -#!/usr/bin/awk -f -# pmccabe2html - pmccabe to html converter - -# Copyright (C) 2007, 2008 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 3 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, see <http://www.gnu.org/licenses/>. - -# Written by Jose E. Marchesi <jemarch@gnu.org>. -# Adapted for gnulib by Simon Josefsson <simon@josefsson.org>. -# Added support for C++ by Giuseppe Scrivano <gscrivano@gnu.org>. - -# Typical Invocation is from a Makefile.am: -# -# cyclo-libidn.html: -# $(PMCCABE) ${top_srcdir}/lib/*.[ch] \ -# | sort -nr \ -# | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \ -# -v lang=html -v name="$(PACKAGE_NAME)" \ -# -v vcurl="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=%FILENAME%;hb=HEAD" \ -# -v url="http://www.gnu.org/software/libidn/" \ -# -v css=../../build-aux/pmccabe.css \ -# > tmp -# mv tmp $@ -# -# The variables available are: -# lang output language, either 'html' or 'wiki' -# name project name -# url link to project's home page -# vcurl URL to version controlled source code browser, -# a %FILENAME% in the string is replaced with the relative -# source filename -# css CSS stylesheet filename, included verbatim in HTML output -# css_url link to CSS stylesheet, an URL - -# Prologue & configuration -BEGIN { - section_global_stats_p = 1 - section_function_cyclo_p = 1 - - # "html" or "wiki" - package_name = name - output_lang = lang - - # General Options - cyclo_simple_max = 10 - cyclo_moderate_max = 20 - cyclo_high_max = 50 - cut_dir = "/../" - source_file_link_tmpl = vcurl - - # HTML options - if (url != "") - { - html_prolog = "<a href=\"" url "\">Back to " package_name " Homepage</a><br/><br/>" - } - html_epilog = "<hr color=\"black\" size=\"2\"/> \ -Copyright (c) 2007, 2008 Free Software Foundation Inc." - html_doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \ -\"http://www.w3.org/TR/html401/loose.dtd\">" - html_comment = "<!-- Generated by gnulib's pmccabe2html at " systime() " -->" - html_title = "Cyclomatic Complexity report for " package_name - - # Wiki options - wiki_prolog = "{{Note|This page has been automatically generated}}" - wiki_epilog = "" - - # Internal variables - nfuncs = 0; -} - -# Functions - -function build_stats() -{ - # Maximum modified cyclo - for (fcn in mcyclo) - { - num_of_functions++ - if (mcyclo[fcn] > max_mcyclo) - { - max_mcyclo = mcyclo[fcn] - } - - if (mcyclo[fcn] > cyclo_high_max) - { - num_of_untestable_functions++ - } - else if (mcyclo[fcn] > cyclo_moderate_max) - { - num_of_high_functions++ - } - else if (mcyclo[fcn] > cyclo_simple_max) - { - num_of_moderate_functions++ - } - else - { - num_of_simple_functions++ - } - } -} - -function html_fnc_table_complete (caption) -{ - html_fnc_table(caption, 1, 0, 1, 1, 1, 0, 1) -} - -function html_fnc_table_abbrev (caption) -{ - html_fnc_table(caption, 1, 0, 1, 0, 1, 0, 0) -} - - -function html_fnc_table (caption, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - print "<table width=\"90%\" class=\"function_table\" cellpadding=\"0\" cellspacing=\"0\">" - if (caption != "") - { - print "<caption class=\"function_table_caption\">" caption "</caption>" - } - html_fnc_header(fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) - for (nfnc = 1; nfnc < nfuncs; nfnc++) - { - html_fnc(nfnc, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) - } - print "</table>" -} - -function html_header () -{ - print html_doctype - print "<html>" - print html_comment - print "<head>" - print "<title>" html_title "" - print "" - print "" - print "" - print "" - print "" - print "" - print "" - print "" - - - if (css_url != "") - { - print "" - } - if (css != "") - { - print "" - close(css) - } - print "" - print "" -} - -function html_footer () -{ - print "" - print "" -} - -function html_fnc_header (fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - print "" - if (fname_p) - { - # Function name - print "" - print "" - print "" - - print "" - print "Function Name" - print "" - } - if (mcyclo_p) - { - # Modified cyclo - print "" - print "Modified Cyclo" - print "" - } - if (cyclo_p) - { - # Cyclo - print "" - print "Cyclomatic" - print "
" - print "Complexity" - print "" - } - if (num_statements_p) - { - print "" - print "Number of" - print "
" - print "Statements" - print "" - } - if (num_lines_p) - { - print "" - print "Number of" - print "
" - print "Lines" - print "" - } - if (first_line_p) - { - print "" - print "First Line" - print "" - } - if (file_p) - { - print "" - print "Source File" - print "" - - } - print "" -} - -function html_fnc (nfun, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - fname = fnames[nfun] - - # Function name - trclass = "function_entry_simple" - if (mcyclo[nfun] > cyclo_high_max) - { - trclass="function_entry_untestable" - } - else if (mcyclo[nfun] > cyclo_moderate_max) - { - trclass="function_entry_high" - } - else if (mcyclo[nfun] > cyclo_simple_max) - { - trclass="function_entry_moderate" - } - - print "" - if (fname_p) - { - print "" - if (file_p && mcyclo[nfun] > cyclo_simple_max) - { - print "\ -" - } - else - { - print " " - } - print "" - - print "" - print fname - print "" - } - if (mcyclo_p) - { - # Modified cyclo - print "" - print mcyclo[nfun] - print "" - } - if (cyclo_p) - { - # Cyclo - print "" - print cyclo[nfun] - print "" - } - if (num_statements_p) - { - # Number of statements - print "" - print num_statements[nfun] - print "" - } - if (num_lines_p) - { - # Number of lines - print "" - print num_lines[nfun] - print "" - } - if (first_line_p) - { - # First line - print "" - print first_line[nfun] - print "" - } - if (file_p) - { - href = "" - if (source_file_link_tmpl != "") - { - # Get href target - href = source_file_link_tmpl - sub(/%FILENAME%/, file[nfun], href) - } - - # Source file - print "" - if (href != "") - { - print "" file[nfun] "" - } - else - { - print file[nfun] - } - - print "" - - - print "" - - if (mcyclo[nfun] > cyclo_simple_max) - { - print "" - - num_columns = 1; - if (fname_p) { num_columns++ } - if (mcyclo_p) { num_columns++ } - if (cyclo_p) { num_columns++ } - if (num_statements_p) { num_columns++ } - if (num_lines_p) { num_columns++ } - if (first_line_p) { num_columns++ } - if (file_p) { num_columns++ } - - print "" - print "
" - print "
"
-
-            while ((getline codeline < (fname nfun "_fn.txt")) > 0)
-            {
-                sub(/\\/, ">", codeline)
-                sub(/&/, "&", codeline)
-                
-                print codeline
-            }
-            close(fname nfun "_fn.txt")
-            system("rm " fname nfun "_fn.txt")
-            print "
" - print "
" - print "" - print "" - } - - } -} - -function html_global_stats () -{ - print "
Resume
" - - print "
" - print "" - # Total number of functions - print "" - print "" - print "" - print "" - # Number of simple functions - print "" - print "" - print "" - print "" - # Number of moderate functions - print "" - print "" - print "" - print "" - # Number of high functions - print "" - print "" - print "" - print "" - # Number of untestable functions - print "" - print "" - print "" - print "" - print "
" - print "Total number of functions" - print "" - print num_of_functions - print "
" - print "Number of low risk functions" - print "" - print num_of_simple_functions - print "
" - print "Number of moderate risk functions" - print "" - print num_of_moderate_functions - print "
" - print "Number of high risk functions" - print "" - print num_of_high_functions - print "
" - print "Number of untestable functions" - print "" - print num_of_untestable_functions - print "
" - print "
" -} - -function html_function_cyclo () -{ - print "
Details for all functions
" - print "

Used ranges:

" - - print "" - print "" - print "" - print "" - print "" - print "" - # Simple - print "" - print "" - print "" - print "" - print "" - # Moderate - print "" - print "" - print "" - print "" - print "" - # High - print "" - print "" - print "" - print "" - print "" - # Untestable - print "" - print "" - print "" - print "" - print "" - print "
" - print " " - print "" - print "Cyclomatic Complexity" - print "" - print "Risk Evaluation" - print "
" - print " " - print "" - print "0 - " cyclo_simple_max - print "" - print "Simple module, without much risk" - print "
" - print " " - print "" - print cyclo_simple_max + 1 " - " cyclo_moderate_max - print "" - print "More complex module, moderate risk" - print "
" - print " " - print "" - print cyclo_moderate_max + 1 " - " cyclo_high_max - print "" - print "Complex module, high risk" - print "
" - print " " - print "" - print "greater than " cyclo_high_max - print "" - print "Untestable module, very high risk" - print "
" - print "
" - html_fnc_table_complete("") -} - -function wiki_global_stats () -{ - print "{| class=\"cyclo_resume_table\"" - # Total number of functions - print "|-" - print "| class=\"cyclo_resume_header_entry\" | Total number of functions" - print "| class=\"cyclo_resume_number_entry\" |" num_of_functions - # Number of simple functions - print "|-" - print "| class=\"cyclo_resume_header_entry\" | Number of low risk functions" - print "| class=\"cyclo_resume_number_entry\" |" num_of_simple_functions - # Number of moderate functions - print "|-" - print "| class=\"cyclo_resume_header_entry\" | Number of moderate risk functions" - print "| class=\"cyclo_resume_number_entry\" |" num_of_moderate_functions - # Number of high functions - print "|-" - print "| class=\"cyclo_resume_header_entry\" | Number of high risk functions" - print "| class=\"cyclo_resume_number_entry\" |" num_of_high_functions - # Number of untestable functions - print "|-" - print "| class=\"cyclo_resume_header_entry\" | Number of untestable functions" - print "| class=\"cyclo_resume_number_entry\" |" num_of_untestable_functions - print "|}" -} - -function wiki_function_cyclo () -{ - print "==Details for all functions==" - - print "Used ranges:" - - print "{| class =\"cyclo_ranges_table\"" - print "|-" - print "| class=\"cyclo_ranges_header_entry\" | " - print "| class=\"cyclo_ranges_header_entry\" | Cyclomatic Complexity" - print "| class=\"cyclo_ranges_header_entry\" | Risk Evaluation" - # Simple - print "|-" - print "| class=\"cyclo_ranges_entry_simple\" | " - print "| class=\"cyclo_ranges_entry\" | 0 - " cyclo_simple_max - print "| class=\"cyclo_ranges_entry\" | Simple module, without much risk" - # Moderate - print "|-" - print "| class=\"cyclo_ranges_entry_moderate\" | " - print "| class=\"cyclo_ranges_entry\" |" cyclo_simple_max + 1 " - " cyclo_moderate_max - print "| class=\"cyclo_ranges_entry\" | More complex module, moderate risk" - # High - print "|-" - print "| class=\"cyclo_ranges_entry_high\" | " - print "| class=\"cyclo_ranges_entry\" |" cyclo_moderate_max + 1 " - " cyclo_high_max - print "| class=\"cyclo_ranges_entry\" | Complex module, high risk" - # Untestable - print "|-" - print "| class=\"cyclo_ranges_entry_untestable\" | " - print "| class=\"cyclo_ranges_entry\" | greater than " cyclo_high_max - print "| class=\"cyclo_ranges_entry\" | Untestable module, very high risk" - print "|}" - - print "" - print "" - wiki_fnc_table_complete("") -} - -function wiki_fnc_table_complete (caption) -{ - wiki_fnc_table(caption, 1, 0, 1, 1, 1, 0, 1) -} - -function wiki_fnc_table_abbrev (caption) -{ - wiki_fnc_table(caption, 1, 0, 0, 0, 0, 0, 0) -} - -function wiki_fnc_table (caption, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - print "{| width=\"90%\" class=\"cyclo_function_table\" cellpadding=\"0\" cellspacing=\"0\">" - if (caption != "") - { - print "|+" caption - } - wiki_fnc_header(fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) - for (nfnc = 1; nfnc < nfuncs; nfnc++) - { - wiki_fnc(nfnc, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) - } - print "|}" -} - -function wiki_fnc_header (fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - if (fname_p) - { - # Function name - print "! class=\"cyclo_function_table_header_entry\" | Function Name" - } - if (mcyclo_p) - { - # Modified cyclo - print "! class=\"cyclo_function_table_header_entry\" | Modified Cyclo" - } - if (cyclo_p) - { - # Cyclo - print "! class=\"cyclo_function_table_header_entry\" | Cyclomatic Complexity" - } - if (num_statements_p) - { - print "! class=\"cyclo_function_table_header_entry\" | Number of Statements" - } - if (num_lines_p) - { - print "! class=\"cyclo_function_table_header_entry\" | Number of Lines" - } - if (first_line_p) - { - print "! class=\"cyclo_function_table_header_entry\" | First Line" - } - if (file_p) - { - print "! class=\"cyclo_function_table_header_entry\" | Source File" - } -} - -function wiki_fnc (nfnc, - fname_p, - mcyclo_p, - cyclo_p, - num_statements_p, - num_lines_p, - first_line_p, - file_p) -{ - fname = fnames[nfnc] - - # Function name - trclass = "cyclo_function_entry_simple" - if (mcyclo[nfnc] > cyclo_high_max) - { - trclass="cyclo_function_entry_untestable" - } - else if (mcyclo[nfnc] > cyclo_moderate_max) - { - trclass="cyclo_function_entry_high" - } - else if (mcyclo[nfnc] > cyclo_simple_max) - { - trclass="cyclo_function_entry_moderate" - } - - print "|- class=\"" trclass "\"" - if (fname_p) - { - print "| class=\"cyclo_function_entry_name\" |" fname - } - if (mcyclo_p) - { - # Modified cyclo - print "| class=\"cyclo_function_entry_cyclo\" |" mcyclo[nfnc] - } - if (cyclo_p) - { - # Cyclo - print "| class=\"cyclo_function_entry_cyclo\" |" cyclo[nfnc] - } - if (num_statements_p) - { - # Number of statements - print "| class=\"cyclo_function_entry_number\" |" num_statements[nfnc] - } - if (num_lines_p) - { - # Number of lines - print "| class=\"cyclo_function_entry_number\" |" num_lines[nfnc] - } - if (first_line_p) - { - # First line - print "| class=\"cyclo_function_entry_number\" |" first_line[nfnc] - } - if (file_p) - { - href = "" - if (source_file_link_tmpl != "") - { - # Get href target - href = source_file_link_tmpl - sub(/%FILENAME%/, file[nfnc], href) - } - - # Source file - print "| class=\"cyclo_function_entry_filename\" |" \ - ((href != "") ? "[" href " " file[nfnc] "]" : "[" file[nfnc] "]") - } -} - -# Scan data from a line -{ - function_name = $7 - - nfuncs++; - fnames[nfuncs] = function_name - mcyclo[nfuncs] = $1 - cyclo[nfuncs] = $2 - num_statements[nfuncs] = $3 - first_line[nfuncs] = $4 - num_lines[nfuncs] = $5 - - # Build the filename from the file_spec ($6) - begin_util_path = index($6, cut_dir) - tmpfilename = substr($6, begin_util_path + length(cut_dir)) - sub(/\([0-9]+\):/, "", tmpfilename) - file[nfuncs] = tmpfilename - - if (mcyclo[nfuncs] > cyclo_simple_max) - { - # Extract function contents to a fn_txt file - filepath = $6 - - sub(/\([0-9]+\):/, "", filepath) - num_line = 0 - - while ((getline codeline < filepath) > 0) - { - num_line++; - if ((num_line >= first_line[nfuncs]) && - (num_line < first_line[nfuncs] + num_lines[nfuncs])) - { - print codeline > (function_name nfuncs "_fn.txt") - } - } - close (function_name nfuncs "_fn.txt") - close(filepath) - } - - # Initial values for statistics variables - num_of_functions = 0 - max_mcyclo = 0 - max_function_length = 0 - num_of_simple_functions = 0 - num_of_moderate_functions = 0 - num_of_high_functions = 0 - num_of_untestable_functions = 0 -} - -# Epilogue -END { - # Print header (only for html) - if (output_lang == "html") - { - html_header() - } - - # Print prolog - if ((output_lang == "html") && - (html_prolog != "")) - { - print html_prolog - } - if ((output_lang == "wiki") && - (wiki_prolog != "")) - { - print wiki_prolog - } - - if (output_lang == "html") - { - print "
" package_name " Cyclomatic Complexity Report
" - print "

Report generated at: " strftime() "

" - } - if (output_lang == "wiki") - { - print "==" package_name " Cyclomatic Complexity Report==" - print "Report generated at: '''" strftime() "'''" - } - - if (section_global_stats_p) - { - build_stats() - - if (output_lang == "html") - { - html_global_stats() - } - if (output_lang == "wiki") - { - wiki_global_stats() - } - } - if (section_function_cyclo_p) - { - if (output_lang == "html") - { - html_function_cyclo() - } - if (output_lang == "wiki") - { - wiki_function_cyclo() - } - } - - # Print epilog - if ((output_lang == "html") && - (html_epilog != "")) - { - print html_epilog - } - if ((output_lang == "wiki") && - (wiki_epilog != "")) - { - print wiki_epilog - } - - # Print footer (html only) - if (output_lang == "html") - { - html_footer() - } -} - -# End of pmccabe2html diff -Nru gnutls26-2.8.6/build-aux/pmccabe.css gnutls26-2.4.1/build-aux/pmccabe.css --- gnutls26-2.8.6/build-aux/pmccabe.css 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/pmccabe.css 1970-01-01 01:00:00.000000000 +0100 @@ -1,227 +0,0 @@ -body { - - font-family: Helvetica, sans-serif; - -} - -.page_title { - - font: 18pt Georgia, serif; -/* font-size: 1.5em; - font-weight: bold; */ - color: darkred; - border-bottom: 2px solid darkred; -} - -.section_title { - - font: 14pt Georgia, serif; - color: darkred; - border-bottom: 2px dashed darkred; -} - -.report_timestamp { - - color: darkred; - font-weight: bold; - -} - -.function_src { - - text-align: left; - background: white; -} - -.resume_table { - -} - -.resume_header_entry { - - color: black; -} - -.resume_number_entry { - - color: darkred; - font-weight: bold; - text-align: right; -} - -.ranges_table { - - border-spacing: 0px; - border-bottom: solid 2px black; - border-top: solid 2px black; - border-left: solid 2px black; - border-right: solid 2px black; -} - -.ranges_header_entry { - - padding: 5px; - border-bottom: solid 1px black; - font-size: 1em; - font-weight: bold; - color: darkred; - text-align: left; -} - -.ranges_entry { - -} - -.ranges_entry_simple { - - background: #87ff75; - -} - -.ranges_entry_moderate { - - background: #fffc60; - -} - -.ranges_entry_high { - - background: #ff5a5d; - -} - -.ranges_entry_untestable { - - background: #993300 - -} - - -.function_table { - - border-spacing: 0px; - border-bottom: solid 2px black; - border-top: solid 2px black; - border-left: solid 2px black; - border-right: solid 2px black; -} - -.function_table_caption { - - font-size: 1.1em; - font-weight: bold; - color: black; - padding: 5px; -} - -.function_table_header { - -} - - -.function_table_header_entry { - - padding: 5px; - border-bottom: solid 1px black; - font-size: 1em; - font-weight: bold; - color: darkred; - text-align: left; -} - -.function_entry { - - -} - - -.function_entry_simple { - - background: #87ff75; - -} - -.function_entry_moderate { - - background: #fffc60; - -} - -.function_entry_high { - - background: #ff5a5d; - -} - -.function_entry_untestable { - - background: #993300 - -} - - -.function_entry_name { - - font-size: 1em; - text-align: left; - font-weight: bold; - text-valign: top; - - border-top: solid 1px black; - padding: 3px; -} - -.function_entry_cyclo { - - font-size: 1em; - text-align: right; - text-valign: top; - - border-top: solid 1px black; - padding: 3px; -} - -.function_entry_number { - - font-size: 1em; - text-align: right; - text-valign: top; - - border-top: solid 1px black; - padding: 3px; -} - -.function_entry_filename { - - font-size: 1em; - text-align: left; - text-valign: top; - - border-top: solid 1px black; - padding: 3px; -} - -.sidemenu { - - border: 1px black solid; - padding: 5px; - -} - -.sidemenuheader { - - color: darkred; - font-size: 1.1em; - font-weight: bold; - border-bottom: 1px dashed darkred; -} - -.sidemenuentry { - - -} - -.menu { - -} - diff -Nru gnutls26-2.8.6/build-aux/texinfo.tex gnutls26-2.4.1/build-aux/texinfo.tex --- gnutls26-2.8.6/build-aux/texinfo.tex 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/build-aux/texinfo.tex 2008-06-30 22:07:49.000000000 +0100 @@ -1,13 +1,13 @@ % texinfo.tex -- TeX macros to handle Texinfo files. -% +% % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2009-08-14.15} +\def\texinfoversion{2007-12-02.17} % -% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009 Free Software Foundation, Inc. +% 2007 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -97,10 +97,6 @@ \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t -\let\ptextop=\top -{\catcode`\'=\active -\global\let\ptexquoteright'}% Math-mode def from plain.tex. -\let\ptexraggedright=\raggedright % If this character appears in an error message or help string, it % starts a new line in the output. @@ -358,7 +354,7 @@ % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; - % it needs to be + % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. @@ -464,7 +460,7 @@ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} -% Each occurrence of `\^^M' or `\^^M' is replaced by a single space. +% Each occurence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo @@ -489,7 +485,7 @@ % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. -% (Similarly, we have to think about #3 of \argcheckspacesY above: it is +% (Similarily, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % @@ -546,12 +542,12 @@ % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as environments; they don't open a group. (The +% are not treated as enviroments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) -% At run-time, environments start with this: +% At runtime, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty @@ -569,7 +565,7 @@ \fi } -% Environment mismatch, #1 expected: +% Evironment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, @@ -653,8 +649,8 @@ \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% - \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi - \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi + \ifx\temp\imacro \ptexi + \else\ifx\temp\jmacro \j \else \errmessage{@dotless can be used only with i or j}% \fi\fi } @@ -709,7 +705,7 @@ \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. -% +% \def\onword{on} \def\offword{off} % @@ -920,20 +916,15 @@ \temp } -% @include FILE -- \input text of FILE. +% @include file insert text of that file as input. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% - \makevalueexpandable % we want to expand any @value in FILE. - \turnoffactive % and allow special characters in the expansion - \indexnofonts % Allow `@@' and other weird things in file names. - \edef\temp{\noexpand\input #1 }% - % - % This trickery is to read FILE outside of a group, in case it makes - % definitions, etc. + \makevalueexpandable + \def\temp{\input #1 }% \expandafter }\temp \popthisfilestack @@ -948,8 +939,6 @@ \catcode`>=\other \catcode`+=\other \catcode`-=\other - \catcode`\`=\other - \catcode`\'=\other } \def\pushthisfilestack{% @@ -1125,16 +1114,6 @@ \mathunderscore \let\\ = \mathbackslash \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. @@ -1148,21 +1127,17 @@ \catcode`< = \active \catcode`> = \active \catcode`+ = \active - \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus - \let' = \ptexquoteright } } -% Some math mode symbols. +% @bullet and @minus need the same treatment as @math, just above. \def\bullet{$\ptexbullet$} -\def\geq{\ifmmode \ge\else $\ge$\fi} -\def\leq{\ifmmode \le\else $\le$\fi} -\def\minus{\ifmmode -\else $-$\fi} +\def\minus{$-$} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm @@ -1285,7 +1260,7 @@ % that's what we do). % double active backslashes. -% +% {\catcode`\@=0 \catcode`\\=\active @gdef@activebackslashdouble{% @catcode`@\=@active @@ -1297,11 +1272,11 @@ % us) handles it with this amazing macro to replace tokens, with minor % changes for Texinfo. It is included here under the GPL by permission % from the author, Heiko Oberdiek. -% +% % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. -% +% \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% @@ -1332,17 +1307,11 @@ \ifpdf % - % Color manipulation macros based on pdfcolor.tex, - % except using rgb instead of cmyk; the latter is said to render as a - % very dark gray on-screen and a very dark halftone in print, instead - % of actual black. - \def\rgbDarkRed{0.50 0.09 0.12} - \def\rgbBlack{0 0 0} - % - % k sets the color for filling (usual text, etc.); - % K sets the color for stroking (thin rules, e.g., normal _'s). - \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} + % Color manipulation macros based on pdfcolor.tex. + \def\cmykDarkRed{0.28 1 1 0.35} + \def\cmykBlack{0 0 0 1} % + \def\pdfsetcolor#1{\pdfliteral{#1 k}} % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% @@ -1351,7 +1320,7 @@ \pdfsetcolor{#1}% } % - \def\maincolor{\rgbBlack} + \def\maincolor{\cmykBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} @@ -1393,11 +1362,8 @@ \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 - \errhelp = \nopdfimagehelp - \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{PDF}% - \fi + \errhelp = \nopdfimagehelp + \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{pdf}% \fi \else \gdef\pdfimgext{JPG}% @@ -1411,7 +1377,7 @@ \closein 1 \endgroup % - % without \immediate, ancient pdftex seg faults when the same image is + % without \immediate, pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage @@ -1446,8 +1412,8 @@ % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. - \def\urlcolor{\rgbDarkRed} - \def\linkcolor{\rgbDarkRed} + \def\urlcolor{\cmykDarkRed} + \def\linkcolor{\cmykDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines @@ -1576,15 +1542,11 @@ % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. - % + % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable - % do we want to go so far as to use \indexnofonts instead of just - % special-casing \var here? - \def\var##1{##1}% - % \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% @@ -1615,7 +1577,6 @@ \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else - % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax @@ -1646,10 +1607,6 @@ \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} -% Unfortunately, we have to override this for titles and the like, since -% in those cases "rm" is bold. Sigh. -\def\rmisbold{\rm\def\curfontstyle{bf}} - % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam @@ -1984,7 +1941,7 @@ % Definitions for a main text size of 11pt. This is the default in % Texinfo. -% +% \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} @@ -2047,6 +2004,8 @@ \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). @@ -2115,7 +2074,7 @@ % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. -% +% \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} @@ -2178,6 +2137,8 @@ \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} \def\titleecsize{2074} % Chapter fonts (14.4pt). @@ -2204,7 +2165,7 @@ \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} -\font\seci=cmmi12 +\font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} @@ -2248,7 +2209,7 @@ % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. -% +% \def\xword{10} \def\xiword{11} % @@ -2258,7 +2219,7 @@ % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. - % + % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi @@ -2309,7 +2270,7 @@ \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts\rmisbold #1}} +\def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc @@ -2360,16 +2321,6 @@ \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000}{OT1} -\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000}{OT1} -\setfont\shortconttt\ttshape{12}{1000}{OT1TT} - -% Define these just so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} - % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts @@ -2383,128 +2334,28 @@ % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 +% +% I wish the USA used A4 paper. % --karl, 24jan03. + % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi - -\message{markup,} - -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - -% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will -% define and register \INITMACRO to be called on markup style changes. -% \INITMACRO can check \currentmarkupstyle for the innermost -% style and the set of \ifmarkupSTYLE switches for all styles -% currently in effect. -\newif\ifmarkupvar -\newif\ifmarkupsamp -\newif\ifmarkupkey -%\newif\ifmarkupfile % @file == @samp. -%\newif\ifmarkupoption % @option == @samp. -\newif\ifmarkupcode -\newif\ifmarkupkbd -%\newif\ifmarkupenv % @env == @code. -%\newif\ifmarkupcommand % @command == @code. -\newif\ifmarkuptex % @tex (and part of @math, for now). -\newif\ifmarkupexample -\newif\ifmarkupverb -\newif\ifmarkupverbatim - -\let\currentmarkupstyle\empty - -\def\setupmarkupstyle#1{% - \csname markup#1true\endcsname - \def\currentmarkupstyle{#1}% - \markupstylesetup -} - -\let\markupstylesetup\empty - -\def\defmarkupstylesetup#1{% - \expandafter\def\expandafter\markupstylesetup - \expandafter{\markupstylesetup #1}% - \def#1% -} - -% Markup style setup for left and right quotes. -\defmarkupstylesetup\markupsetuplq{% - \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname - \ifx\temp\relax \markupsetuplqdefault \else \temp \fi -} - -\defmarkupstylesetup\markupsetuprq{% - \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname - \ifx\temp\relax \markupsetuprqdefault \else \temp \fi -} - -{ -\catcode`\'=\active -\catcode`\`=\active - -\gdef\markupsetuplqdefault{\let`\lq} -\gdef\markupsetuprqdefault{\let'\rq} - -\gdef\markupsetcodequoteleft{\let`\codequoteleft} -\gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} -} - -\let\markupsetuplqcode \markupsetcodequoteleft -\let\markupsetuprqcode \markupsetcodequoteright -\let\markupsetuplqexample \markupsetcodequoteleft -\let\markupsetuprqexample \markupsetcodequoteright -\let\markupsetuplqverb \markupsetcodequoteleft -\let\markupsetuprqverb \markupsetcodequoteright -\let\markupsetuplqverbatim \markupsetcodequoteleft -\let\markupsetuprqverbatim \markupsetcodequoteright - -\let\markupsetuplqsamp \markupsetnoligaturesquoteleft -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - -% Allow an option to not replace quotes with a regular directed right -% quote/apostrophe (char 0x27), but instead use the undirected quote -% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it -% the default, but it works for pasting with more pdf viewers (at least -% evince), the lilypond developers report. xpdf does work with the -% regular 0x27. -% -\def\codequoteright{% - \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% - \else \char'15 \fi - \else \char'15 \fi -} -% -% and a similar option for the left quote char vs. a grave accent. -% Modern fonts display ASCII 0x60 as a grave accent, so some people like -% the code environments to do likewise. -% -\def\codequoteleft{% - \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax - % [Knuth] pp. 380,381,391 - % \relax disables Spanish ligatures ?` and !` of \tt font. - \relax`% - \else \char'22 \fi - \else \char'22 \fi -} - -% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. -\def\noligaturesquoteleft{\relax\lq} +% Define these so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 +% Fonts for short table of contents. +\setfont\shortcontrm\rmshape{12}{1000}{OT1} +\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 +\setfont\shortcontsl\slshape{12}{1000}{OT1} +\setfont\shortconttt\ttshape{12}{1000}{OT1TT} + %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic @@ -2519,22 +2370,17 @@ % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} -% @cite is like \smartslanted except unconditionally use \sl. We never want +% like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted -\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} +\let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - -% @b, explicit bold. Also @strong. +% @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b @@ -2566,35 +2412,22 @@ \catcode`@=\other \def\endofsentencespacefactor{3000}% default -% @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } - -% @samp. -\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} - -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} - -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} - -% ctrl is no longer a Texinfo command. +\def\samp#1{`\tclose{#1}'\null} +\setfont\keyrm\rmshape{8}{1000}{OT1} +\font\keysy=cmsy9 +\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% + \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% + \vbox{\hrule\kern-0.4pt + \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% + \kern-0.4pt\hrule}% + \kern-.06em\raise0.4pt\hbox{\angleright}}}} +\def\key #1{{\nohyphenation \uppercase{#1}}\null} +% The old definition, with no lozenge: +%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. @@ -2636,11 +2469,11 @@ { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active - \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup - \setupmarkupstyle{code}% - % The following should really be moved into \setupmarkupstyle handlers. + \catcode\rquoteChar=\active \catcode\lquoteChar=\active + \let'\codequoteright \let`\codequoteleft + % \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash @@ -2672,7 +2505,7 @@ % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. -% +% \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} @@ -2692,7 +2525,6 @@ % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), @@ -2714,27 +2546,20 @@ \def\wordexample{example} \def\wordcode{code} -% Default is `distinct'. +% Default is `distinct.' \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +\else{\tclose{\kbdfont\look}}\fi +\else{\tclose{\kbdfont\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code -% @clicksequence{File @click{} Open ...} -\def\clicksequence#1{\begingroup #1\endgroup} - -% @clickstyle @arrow (by default) -\parseargdef\clickstyle{\def\click{#1}} -\def\click{\arrow} - % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url @@ -2784,20 +2609,34 @@ \let\email=\uref \fi +% Check if we are currently using a typewriter font. Since all the +% Computer Modern typewriter fonts have zero interword stretch (and +% shrink), and it is reasonable to expect all typewriter fonts to have +% this property, we can check that font parameter. +% +\def\ifmonospace{\ifdim\fontdimen3\font=0pt } + % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} +\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} + % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} +% Explicit font changes: @r, @sc, undocumented @ii. +\def\r#1{{\rm #1}} % roman font +\def\sc#1{{\smallcaps#1}} % smallcaps font +\def\ii#1{{\it #1}} % italic font + % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. -% +% \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% @@ -2809,7 +2648,7 @@ % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. -% +% \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% @@ -2819,44 +2658,6 @@ \fi } - -\message{glyphs,} - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, they should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} -\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\tentt \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} @@ -2866,59 +2667,52 @@ % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. -% +% % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. -% +% % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted -% +% % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. -% +% % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. -% -% +% +% \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. - % + % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. - % + % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. - % + % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % - \ifx\curfontstyle\bfstylename + \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else + \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } -% Glyphs from the EC fonts. We don't use \let for the aliases, because -% sometimes we redefine the original macro, and the alias should reflect -% the redefinition. -% -% Use LaTeX names for the Icelandic letters. -\def\DH{{\ecfont \char"D0}} % Eth -\def\dh{{\ecfont \char"F0}} % eth -\def\TH{{\ecfont \char"DE}} % Thorn -\def\th{{\ecfont \char"FE}} % thorn -% +% Hacks for glyphs from the EC fonts similar to \euro. We don't +% use \let for the aliases, because sometimes we redefine the original +% macro, and the alias should reflect the redefinition. \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} @@ -2928,36 +2722,8 @@ \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % -% This positioning is not perfect (see the ogonek LaTeX package), but -% we have the precomposed glyphs for the most common cases. We put the -% tests to use those glyphs in the single \ogonek macro so we have fewer -% dummy definitions to worry about for index entries, etc. -% -% ogonek is also used with other letters in Lithuanian (IOU), but using -% the precomposed glyphs for those is not so easy since they aren't in -% the same EC font. -\def\ogonek#1{{% - \def\temp{#1}% - \ifx\temp\macrocharA\Aogonek - \else\ifx\temp\macrochara\aogonek - \else\ifx\temp\macrocharE\Eogonek - \else\ifx\temp\macrochare\eogonek - \else - \ecfont \setbox0=\hbox{#1}% - \ifdim\ht0=1ex\accent"0C #1% - \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% - \fi - \fi\fi\fi\fi - }% -} -\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} -\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} -\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} -\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} -% -% Use the ec* fonts (cm-super in outline format) for non-CM glyphs. \def\ecfont{% - % We can't distinguish serif/sans and italic/slanted, but this + % We can't distinguish serif/sanserif and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. @@ -2990,7 +2756,7 @@ % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. -% +% \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi @@ -3085,9 +2851,12 @@ \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} +\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt} + \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rmisbold #1} + \leftline{\titlefonts\rm #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -3108,7 +2877,7 @@ \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\secfonts\rmisbold \leftline{#1}}% + {\authorfont \leftline{#1}}% \fi } @@ -3336,7 +3105,7 @@ % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. - % + % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse @@ -3430,18 +3199,9 @@ \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi - % - % Try typesetting the item mark that if the document erroneously says - % something like @itemize @samp (intending @table), there's an error - % right away at the @itemize. It's not the best error message in the - % world, but it's better than leaving it to the @item. This means if - % the user wants an empty mark, they have to say @w{} not just @w. \def\itemcontents{#1}% - \setbox0 = \hbox{\itemcontents}% - % % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi - % \let\item=\itemizeitem } @@ -3462,7 +3222,6 @@ \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% - % \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } @@ -3684,19 +3443,12 @@ % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group -% of an alignment entry. \everycr resets \everytab so we don't have to -% undo it ourselves. -\def\headitemfont{\b}% for people to use in the template row; not changeable -\def\headitem{% - \checkenv\multitable - \crcr - \global\everytab={\bf}% can't use \headitemfont since the parsing differs - \the\everytab % for the first item -}% +% of an alignment entry. Note that \everycr resets \everytab. +\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until -% we again encounter the problem the 1sp was intended to solve. +% we encounter the problem it was intended to solve again. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% @@ -4095,11 +3847,11 @@ \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. - \expandafter \ifx\csname donesynindex#2\endcsname \relax + \expandafter \ifx\csname donesynindex#2\endcsname \undefined % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname - \expandafter\let\csname donesynindex#2\endcsname = 1 + \expandafter\let\csname\donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname @@ -4149,7 +3901,7 @@ % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. - % + % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} @@ -4157,12 +3909,12 @@ % @end macro % ... % @funindex commtest - % + % % The above is not enough to reproduce the bug, but it gives the flavor. - % + % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} - % + % % So: \let\endinput = \empty % @@ -4214,23 +3966,19 @@ % Non-English letters. \definedummyword\AA \definedummyword\AE - \definedummyword\DH \definedummyword\L - \definedummyword\O \definedummyword\OE - \definedummyword\TH + \definedummyword\O \definedummyword\aa \definedummyword\ae - \definedummyword\dh - \definedummyword\exclamdown \definedummyword\l - \definedummyword\o \definedummyword\oe + \definedummyword\o + \definedummyword\ss + \definedummyword\exclamdown + \definedummyword\questiondown \definedummyword\ordf \definedummyword\ordm - \definedummyword\questiondown - \definedummyword\ss - \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf @@ -4261,7 +4009,6 @@ \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus - \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print @@ -4305,7 +4052,6 @@ \definedummyword\v \definedummyword\H \definedummyword\dotaccent - \definedummyword\ogonek \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent @@ -4325,7 +4071,6 @@ \definedummyword\code \definedummyword\command \definedummyword\dfn - \definedummyword\email \definedummyword\emph \definedummyword\env \definedummyword\file @@ -4374,23 +4119,19 @@ % Non-English letters. \def\AA{AA}% \def\AE{AE}% - \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% - \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% - \def\dh{dzz}% - \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% - \def\ordf{a}% - \def\ordm{o}% \def\o{o}% - \def\questiondown{?}% \def\ss{ss}% - \def\th{zzz}% + \def\exclamdown{!}% + \def\questiondown{?}% + \def\ordf{a}% + \def\ordm{o}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% @@ -4400,19 +4141,20 @@ \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% + \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% - \def\expansion{==>}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% + \def\expansion{==>}% \def\minus{-}% - \def\point{.}% \def\pounds{pounds}% + \def\point{.}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% @@ -4420,20 +4162,19 @@ \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% - \def\registeredsymbol{R}% \def\result{=>}% - \def\textdegree{o}% + \def\textdegree{degrees}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. - % + % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. - % + % \macrolist } @@ -4561,7 +4302,7 @@ % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: - % + % % @deffn deffn-whatever % @vindex index-whatever % Description. @@ -4691,7 +4432,7 @@ % % A straightforward implementation would start like this: % \def\entry#1#2{... -% But this freezes the catcodes in the argument, and can cause problems to +% But this frozes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % @@ -5142,9 +4883,7 @@ \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % - % \putwordChapter can contain complex things in translations. - \toks0=\expandafter{\putwordChapter}% - \message{\the\toks0 \space \the\chapno}% + \message{\putwordChapter\space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% @@ -5155,17 +4894,15 @@ \global\let\subsubsection = \numberedsubsubsec } -\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz -% +\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % - % \putwordAppendix can contain complex things in translations. - \toks0=\expandafter{\putwordAppendix}% - \message{\the\toks0 \space \appendixletter}% + \def\appendixnum{\putwordAppendix\space \appendixletter}% + \message{\appendixnum}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % @@ -5297,6 +5034,7 @@ % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. + \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -5305,8 +5043,8 @@ \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}% + \parindent=0pt\raggedright + \rm #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } @@ -5398,10 +5136,7 @@ \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% - % \noexpand\putwordAppendix avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} - \noexpand\thischapternum: + \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else @@ -5409,10 +5144,7 @@ \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% - % \noexpand\putwordChapter avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thischapter{\noexpand\putwordChapter{} - \noexpand\thischapternum: + \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi @@ -5431,7 +5163,7 @@ \domark % {% - \chapfonts \rmisbold + \chapfonts \rm % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called @@ -5468,7 +5200,7 @@ % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% @@ -5492,8 +5224,8 @@ % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}\bigskip \par\nobreak + \parindent=0pt\raggedright + \rm #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% @@ -5502,7 +5234,7 @@ \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt - \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak + \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -5535,7 +5267,7 @@ \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. - \csname #2fonts\endcsname \rmisbold + \csname #2fonts\endcsname \rm % \def\sectionlevel{#2}% \def\temptype{#3}% @@ -5555,10 +5287,7 @@ \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% - % \noexpand\putwordSection avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thissection{\noexpand\putwordSection{} - \noexpand\thissectionnum: + \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi @@ -5568,20 +5297,12 @@ \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% - % \noexpand\putwordSection avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thissection{\noexpand\putwordSection{} - \noexpand\thissectionnum: + \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % - % Go into vertical mode. Usually we'll already be there, but we - % don't want the following whatsit to end up in a preceding paragraph - % if the document didn't happen to have a blank line. - \par - % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark @@ -5631,7 +5352,7 @@ \nobreak % % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% @@ -5647,11 +5368,11 @@ % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip - % + % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: - % + % % @section sec-whatever % @deffn def-whatever \penalty 10001 @@ -5709,7 +5430,7 @@ % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. -% +% \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active @@ -5759,7 +5480,7 @@ % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. -% +% \def\tocreadfilename{\jobname.toc} % Normal (long) toc. @@ -5929,12 +5650,45 @@ \message{environments,} % @foo ... @end foo. +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% +% Since these characters are used in examples, it should be an even number of +% \tt widths. Each \tt character is 1en, so two makes it 1em. +% +\def\point{$\star$} +\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} +\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} +\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} +\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} + +% The @error{} command. +% Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% +{\tentt \global\dimen0 = 3em}% Width of the box. +\dimen2 = .55pt % Thickness of rules +% The text. (`r' is open on the right, `e' somewhat less so on the left.) +\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} +% +\setbox\errorbox=\hbox to \dimen0{\hfil + \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. + \advance\hsize by -2\dimen2 % Rules. + \vbox{% + \hrule height\dimen2 + \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. + \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. + \kern3pt\vrule width\dimen2}% Space to right. + \hrule height\dimen2} + \hfil} +% +\def\error{\leavevmode\lower.7ex\copy\errorbox} + % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \envdef\tex{% - \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie @@ -5944,8 +5698,6 @@ \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other - \catcode`\`=\other - \catcode`\'=\other \escapechar=`\\ % \let\b=\ptexb @@ -5965,7 +5717,6 @@ \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -6081,7 +5832,6 @@ % This macro is called at the beginning of all the @example variants, % inside a group. -\newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy @@ -6089,12 +5839,7 @@ \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt - % Turn off paragraph indentation but redefine \indent to emulate - % the normal \indent. - \nonfillparindent=\parindent \parindent = 0pt - \let\indent\nonfillindent - % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing @@ -6105,24 +5850,6 @@ \let\exdent=\nofillexdent } -\begingroup -\obeyspaces -% We want to swallow spaces (but not other tokens) after the fake -% @indent in our nonfill-environments, where spaces are normally -% active and set to @tie, resulting in them not being ignored after -% @indent. -\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% -\gdef\nonfillindentcheck{% -\ifx\temp % -\expandafter\nonfillindentgobble% -\else% -\leavevmode\nonfillindentbox% -\fi% -}% -\endgroup -\def\nonfillindentgobble#1{\nonfillindent} -\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} - % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: @@ -6171,7 +5898,7 @@ % \maketwodispenvs {lisp}{example}{% \nonfillstart - \tt\setupmarkupstyle{example}% + \tt\quoteexpand \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } @@ -6209,36 +5936,12 @@ \let\Eflushright = \afterenvbreak -% @raggedright does more-or-less normal line breaking but no right -% justification. From plain.tex. -\envdef\raggedright{% - \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax -} -\let\Eraggedright\par - -\envdef\raggedleft{% - \parindent=0pt \leftskip0pt plus2em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedleft\par - -\envdef\raggedcenter{% - \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedcenter\par - - % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % -\def\quotationstart{% +\envdef\quotation{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % @@ -6253,17 +5956,6 @@ \parsearg\quotationlabel } -\envdef\quotation{% - \setnormaldispenv - \quotationstart -} - -\envdef\smallquotation{% - \setsmalldispenv - \quotationstart -} -\let\Esmallquotation = \Equotation - % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % @@ -6299,16 +5991,18 @@ \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% - % Don't do the quotes -- if we do, @set txicodequoteundirected and - % @set txicodequotebacktick will not have effect on @verb and - % @verbatim, and ?` and !` ligatures won't get disabled. - %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % +% [Knuth] pp. 380,381,391 +% Disable Spanish ligatures ?` and !` of \tt font +\begingroup + \catcode`\`=\active\gdef`{\relax\lq} +\endgroup +% % Setup for the @verb command. % % Eight spaces for a tab @@ -6320,7 +6014,7 @@ \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% - \setupmarkupstyle{verb}% + \catcode`\`=\active \tabeightspaces % Respect line breaks, % print special symbols as themselves, and @@ -6335,6 +6029,33 @@ \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} + +% Allow an option to not replace quotes with a regular directed right +% quote/apostrophe (char 0x27), but instead use the undirected quote +% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it +% the default, but it works for pasting with more pdf viewers (at least +% evince), the lilypond developers report. xpdf does work with the +% regular 0x27. +% +\def\codequoteright{% + \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax + '% + \else \char'15 \fi + \else \char'15 \fi +} +% +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + `% + \else \char'22 \fi + \else \char'22 \fi +} % \begingroup \catcode`\^^I=\active @@ -6348,6 +6069,13 @@ \wd0=\dimen0 \box0 \starttabbox }% } + \catcode`\'=\active + \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% + % + \catcode`\`=\active + \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% + % + \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup % start the verbatim environment. @@ -6357,8 +6085,9 @@ % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% + \catcode`\`=\active \tabexpand - \setupmarkupstyle{verbatim}% + \quoteexpand % Respect line breaks, % print special symbols as themselves, and % make each space count @@ -6418,7 +6147,6 @@ {% \makevalueexpandable \setupverbatim - \indexnofonts % Allow `@@' and other weird things in file names. \input #1 \afterenvbreak }% @@ -6518,7 +6246,7 @@ \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remaining is to define \deffnheader. +% the only thing remainnig is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun @@ -6697,7 +6425,7 @@ % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. - \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% + \let\var=\ttslanted #1% \sl\hyphenchar\font=45 } @@ -6851,7 +6579,7 @@ % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). -% +% \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname @@ -7225,22 +6953,20 @@ % % Make link in pdf output. \ifpdf + \leavevmode + \getfilename{#4}% {\indexnofonts \turnoffactive - % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. - \getfilename{#4}% - % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % - \leavevmode - \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 - goto file{\the\filename.pdf} name{\pdfxrefdest}% + \startlink attr{/Border [0 0 0]}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% \else - goto name{\pdfmkpgn{\pdfxrefdest}}% + \startlink attr{/Border [0 0 0]}% + goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% @@ -7591,7 +7317,7 @@ % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. -% Similarly, if a @footnote appears inside an alignment, save the footnote +% Similarily, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. @@ -7695,19 +7421,15 @@ % If the image is by itself, center it. \ifvmode \imagevmodetrue - \nobreak\medskip + \nobreak\bigskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak + \line\bgroup \fi % - % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. On the other hand, if - % it's at the top level, we don't want the normal paragraph indentation. - \noindent - % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% @@ -7718,7 +7440,7 @@ \epsfbox{#1.eps}% \fi % - \ifimagevmode \medskip \fi % space after the standalone image + \ifimagevmode \egroup \bigbreak \fi % space after the image \endgroup} @@ -7990,9 +7712,10 @@ \message{localization,} -% For single-language documents, @documentlanguage is usually given very -% early, just after @documentencoding. Single argument is the language -% (de) or locale (de_DE) abbreviation. +% @documentlanguage is usually given very early, just after +% @setfilename. If done too late, it may not override everything +% properly. Single argument is the language (de) or locale (de_DE) +% abbreviation. It would be nice if we could set up a hyphenation file. % { \catcode`\_ = \active @@ -8005,60 +7728,31 @@ \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else - \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 - \endgroup % end raw TeX + \endgroup \endgroup} +} % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. -% -\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% +% +\def\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else - \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 } -}% end of special _ catcode % \newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? Putting it in the current -directory should work if nowhere else does.} +is empty. Maybe you need to install it? In the current directory +should work if nowhere else does.} -% This macro is called from txi-??.tex files; the first argument is the -% \language name to set (without the "\lang@" prefix), the second and -% third args are \{left,right}hyphenmin. -% -% The language names to pass are determined when the format is built. -% See the etex.log file created at that time, e.g., -% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. -% -% With TeX Live 2008, etex now includes hyphenation patterns for all -% available languages. This means we can support hyphenation in -% Texinfo, at least to some extent. (This still doesn't solve the -% accented characters problem.) -% -\catcode`@=11 -\def\txisetlanguage#1#2#3{% - % do not set the language if the name is undefined in the current TeX. - \expandafter\ifx\csname lang@#1\endcsname \relax - \message{no patterns for #1}% - \else - \global\language = \csname lang@#1\endcsname - \fi - % but there is no harm in adjusting the hyphenmin values regardless. - \global\lefthyphenmin = #2\relax - \global\righthyphenmin = #3\relax -} - -% Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% @@ -8099,7 +7793,7 @@ \setnonasciicharscatcode\active \lattwochardefs % - \else \ifx \declaredencoding \latone + \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % @@ -8111,7 +7805,7 @@ \setnonasciicharscatcode\active \utfeightchardefs % - \else + \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight @@ -8123,7 +7817,7 @@ % A message to be logged when using a character that isn't available % the default font encoding (OT1). -% +% \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. @@ -8136,21 +7830,21 @@ % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% - \gdef^^a0{~} + \gdef^^a0{~} \gdef^^a1{\exclamdown} - \gdef^^a2{\missingcharmsg{CENT SIGN}} + \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} - \gdef^^a6{\missingcharmsg{BROKEN BAR}} + \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\copyright} + \gdef^^a8{\"{}} + \gdef^^a9{\copyright} \gdef^^aa{\ordf} - \gdef^^ab{\guillemetleft} + \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^ac{$\lnot$} - \gdef^^ad{\-} - \gdef^^ae{\registeredsymbol} + \gdef^^ad{\-} + \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} @@ -8166,7 +7860,7 @@ \gdef^^b9{$^1$} \gdef^^ba{\ordm} % - \gdef^^bb{\guilletright} + \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} @@ -8177,7 +7871,7 @@ \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} - \gdef^^c5{\ringaccent A} + \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} @@ -8189,7 +7883,7 @@ \gdef^^ce{\^I} \gdef^^cf{\"I} % - \gdef^^d0{\DH} + \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} @@ -8203,7 +7897,7 @@ \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} - \gdef^^de{\TH} + \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} \gdef^^df{\ss} % \gdef^^e0{\`a} @@ -8223,7 +7917,7 @@ \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % - \gdef^^f0{\dh} + \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} @@ -8237,7 +7931,7 @@ \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} - \gdef^^fe{\th} + \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} \gdef^^ff{\"y} } @@ -8259,7 +7953,7 @@ % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{~} - \gdef^^a1{\ogonek{A}} + \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} @@ -8276,8 +7970,8 @@ \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} - \gdef^^b1{\ogonek{a}} - \gdef^^b2{\ogonek{ }} + \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} + \gdef^^b2{\missingcharmsg{OGONEK}} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} @@ -8302,14 +7996,14 @@ \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} - \gdef^^ca{\ogonek{E}} + \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % - \gdef^^d0{\DH} + \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} @@ -8318,7 +8012,7 @@ \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} - \gdef^^d9{\ringaccent U} + \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} @@ -8336,14 +8030,14 @@ \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} - \gdef^^ea{\ogonek{e}} + \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'\i} \gdef^^ee{\^\i} \gdef^^ef{\v d} % - \gdef^^f0{\dh} + \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} @@ -8362,11 +8056,11 @@ } % UTF-8 character definitions. -% +% % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. -% +% \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz @@ -8516,7 +8210,6 @@ \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} - \DeclareUnicodeCharacter{00D0}{\DH} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} @@ -8529,7 +8222,6 @@ \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} - \DeclareUnicodeCharacter{00DE}{\TH} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} @@ -8549,7 +8241,6 @@ \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} - \DeclareUnicodeCharacter{00F0}{\dh} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} @@ -8562,21 +8253,16 @@ \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} - \DeclareUnicodeCharacter{00FE}{\th} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} - \DeclareUnicodeCharacter{0104}{\ogonek{A}} - \DeclareUnicodeCharacter{0105}{\ogonek{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} - \DeclareUnicodeCharacter{0118}{\ogonek{E}} - \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} @@ -8724,8 +8410,6 @@ \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} - \DeclareUnicodeCharacter{02DB}{\ogonek{ }} - \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} @@ -9107,9 +8791,6 @@ \message{and turning on texinfo input format.} -% DEL is a comment character, in case @c does not suffice. -\catcode`\^^? = 14 - % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other @@ -9219,7 +8900,7 @@ % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. -% +% @def@normalturnoffactive{% @let\=@normalbackslash @let"=@normaldoublequote @@ -9231,8 +8912,6 @@ @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix - @markupsetuplqdefault - @markupsetuprqdefault @unsepspaces } @@ -9267,14 +8946,6 @@ @catcode`@# = @other @catcode`@% = @other -@c Finally, make ` and ' active, so that txicodequoteundirected and -@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we -@c don't make ` and ' active, @code will not get them as active chars. -@c Do this last of all since we use ` in the previous @catcode assignments. -@catcode`@'=@active -@catcode`@`=@active -@markupsetuplqdefault -@markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) diff -Nru gnutls26-2.8.6/build-aux/useless-if-before-free gnutls26-2.4.1/build-aux/useless-if-before-free --- gnutls26-2.8.6/build-aux/useless-if-before-free 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/useless-if-before-free 1970-01-01 01:00:00.000000000 +0100 @@ -1,206 +0,0 @@ -#!/usr/bin/perl -T -# Detect instances of "if (p) free (p);". -# Likewise for "if (p != NULL) free (p);". And with braces. -# Also detect "if (NULL != p) free (p);". -# And with 0 in place of NULL. - -my $VERSION = '2009-04-16 15:57'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. - -# Copyright (C) 2008, 2009 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 3 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, see . - -# Written by Jim Meyering - -use strict; -use warnings; -use Getopt::Long; - -(my $ME = $0) =~ s|.*/||; - -# use File::Coda; # http://meyering.net/code/Coda/ -END { - defined fileno STDOUT or return; - close STDOUT and return; - warn "$ME: failed to close standard output: $!\n"; - $? ||= 1; -} - -sub usage ($) -{ - my ($exit_code) = @_; - my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); - if ($exit_code != 0) - { - print $STREAM "Try `$ME --help' for more information.\n"; - } - else - { - print $STREAM < sub { usage 0 }, - version => sub { print "$ME version $VERSION\n"; exit }, - list => \$list, - 'name=s@' => \@name, - ) or usage 1; - - # Make sure we have the right number of non-option arguments. - # Always tell the user why we fail. - @ARGV < 1 - and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; - - my $or = join '|', @name; - my $regexp = qr/(?:$or)/; - - # Set the input record separator. - # Note: this makes it impractical to print line numbers. - $/ = '"'; - - my $found_match = 0; - FILE: - foreach my $file (@ARGV) - { - open FH, '<', $file - or (warn "$ME: can't open `$file' for reading: $!\n"), - $err = EXIT_ERROR, next; - while (defined (my $line = )) - { - while ($line =~ - /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) - # 1 2 3 - (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)| - \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) - { - my $all = $1; - my ($lhs, $rhs) = ($2, $3); - my ($free_opnd, $braced_free_opnd) = ($4, $5); - my $non_NULL; - if (!defined $rhs) { $non_NULL = $lhs } - elsif (is_NULL $rhs) { $non_NULL = $lhs } - elsif (is_NULL $lhs) { $non_NULL = $rhs } - else { next } - - # Compare the non-NULL part of the "if" expression and the - # free'd expression, without regard to white space. - $non_NULL =~ tr/ \t//d; - my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; - $e2 =~ tr/ \t//d; - if ($non_NULL eq $e2) - { - $found_match = 1; - $list - and (print "$file\0"), next FILE; - print "$file: $all\n"; - } - } - } - } - continue - { - close FH; - } - - $found_match && $err == EXIT_NO_MATCH - and $err = EXIT_MATCH; - - exit $err; -} - -my $foo = <<'EOF'; -# The above is to *find* them. -# This adjusts them, removing the unnecessary "if (p)" part. - -# FIXME: do something like this as an option (doesn't do braces): -free=xfree -git grep -l -z "$free *(" \ - | xargs -0 useless-if-before-free -l --name="$free" \ - | xargs -0 perl -0x3b -pi -e \ - 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\))/$2/s' - -# Use the following to remove redundant uses of kfree inside braces. -# Note that -0777 puts perl in slurp-whole-file mode; -# but we have plenty of memory, these days... -free=kfree -git grep -l -z "$free *(" \ - | xargs -0 useless-if-before-free -l --name="$free" \ - | xargs -0 perl -0777 -pi -e \ - 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' - -Be careful that the result of the above transformation is valid. -If the matched string is followed by "else", then obviously, it won't be. - -When modifying files, refuse to process anything other than a regular file. -EOF - -## Local Variables: -## indent-tabs-mode: nil -## eval: (add-hook 'write-file-hooks 'time-stamp) -## time-stamp-start: "my $VERSION = '" -## time-stamp-format: "%:y-%02m-%02d %02H:%02M" -## time-stamp-time-zone: "UTC" -## time-stamp-end: "'; # UTC" -## End: diff -Nru gnutls26-2.8.6/build-aux/vc-list-files gnutls26-2.4.1/build-aux/vc-list-files --- gnutls26-2.8.6/build-aux/vc-list-files 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/build-aux/vc-list-files 1970-01-01 01:00:00.000000000 +0100 @@ -1,116 +0,0 @@ -#!/bin/sh -# List version-controlled file names. - -# Print a version string. -scriptversion=2009-04-25.13; # UTC - -# Copyright (C) 2006-2009 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 3 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, see . - - -# List the specified version-controlled files. -# With no argument, list them all. With a single DIRECTORY argument, -# list the version-controlled files in that directory. - -# If there's an argument, it must be a single, "."-relative directory name. -# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ - -postprocess= -case $1 in - --help) cat <. -EOF - exit ;; - - --version) - year=`echo "$scriptversion" | sed 's/[^0-9].*//'` - cat < -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit ;; - - -C) - test "$2" = . || postprocess="| sed 's|^|$2/|'" - cd "$2" || exit 1 - shift; shift ;; -esac - -dir= -case $# in - 0) ;; - 1) dir=$1 ;; - *) echo "$0: too many arguments" 1>&2 - echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;; -esac - -test "x$dir" = x && dir=. - -if test -d .git; then - test "x$dir" = x. \ - && dir= sed_esc= \ - || dir="$dir/" sed_esc=`echo "$dir"|sed 's,\([\\/]\),\\\\\1,g'` - # Ignore git symlinks - either they point into the tree, in which case - # we don't need to visit the target twice, or they point somewhere - # else (often into a submodule), in which case the content does not - # belong to this package. - eval exec git ls-tree -r 'HEAD:"$dir"' \ - \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess -elif test -d .hg; then - eval exec hg locate '"$dir/*"' $postprocess -elif test -d .bzr; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - eval exec bzr ls --versioned '"$dir"' $postprocess -elif test -d CVS; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - if test -x build-aux/cvsu; then - eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess - elif (cvsu --help) >/dev/null 2>&1; then - eval cvsu --find --types=AFGM '"$dir"' $postprocess - else - eval awk -F/ \''{ \ - if (!$1 && $3 !~ /^-/) { \ - f=FILENAME; \ - if (f ~ /CVS\/Entries$/) \ - f = substr(f, 1, length(f)-11); \ - print f $2; \ - }}'\'' \ - `find "$dir" -name Entries -print` /dev/null' $postprocess - fi -else - echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 - exit 1 -fi - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/cfg.mk gnutls26-2.4.1/cfg.mk --- gnutls26-2.8.6/cfg.mk 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/cfg.mk 2008-06-19 11:00:09.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2006, 2007, 2008 Free Software Foundation # # Author: Simon Josefsson # @@ -18,100 +18,35 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -WFLAGS ?= --enable-gcc-warnings -ADDFLAGS ?= -CFGFLAGS ?= --enable-gtk-doc $(ADDFLAGS) $(WFLAGS) +CFGFLAGS ?= --enable-developer-mode --enable-gtk-doc -INDENT_SOURCES = `find . -name \*.c|grep -v -e ^./lgl -e ^./gl -e ^./src/cfg -e -gaa.c -e asn1_tab.c` +INDENT_SOURCES = `ls includes/gnutls/*.h{,.in} {lib,lib/x509,libextra,libextra/openpgp,src,tests}/*.{c,h} | grep -v -- -gaa` ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) .DEFAULT_GOAL := bootstrap endif -PODIR := lib/po -PO_DOMAIN := libgnutls - -local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_atoi_atof \ - sc_error_message_uppercase sc_prohibit_have_config_h \ - sc_require_config_h sc_require_config_h_first \ - sc_trailing_blank sc_unmarked_diagnostics sc_immutable_NEWS - autoreconf: - for f in $(PODIR)/*.po.in; do \ + for f in po/*.po.in; do \ cp $$f `echo $$f | sed 's/.in//'`; \ done - mv lib/build-aux/config.rpath lib/build-aux/config.rpath- + mv build-aux/config.rpath build-aux/config.rpath- test -f ./configure || autoreconf --install - mv lib/build-aux/config.rpath- lib/build-aux/config.rpath + mv build-aux/config.rpath- build-aux/config.rpath update-po: refresh-po - for f in `ls $(PODIR)/*.po | grep -v quot.po`; do \ + for f in `ls po/*.po | grep -v quot.po`; do \ cp $$f $$f.in; \ done - git add $(PODIR)/*.po.in - git commit -m "Sync with TP." $(PODIR)/LINGUAS $(PODIR)/*.po.in + git-add po/*.po.in + git-commit -m "Sync with TP." po/LINGUAS po/*.po.in bootstrap: autoreconf ./configure $(CFGFLAGS) -glimport: - gnulib-tool --m4-base gl/m4 --import - cd lib && gnulib-tool --m4-base gl/m4 --import - cd libextra && gnulib-tool --m4-base gl/m4 --import - -# Code Coverage - -pre-coverage: - ln -sf /usr/local/share/gaa/gaa.skel src/gaa.skel - -web-coverage: - rm -fv `find $(htmldir)/coverage -type f | grep -v CVS` - cp -rv doc/coverage/* $(htmldir)/coverage/ - -upload-web-coverage: - cd $(htmldir) && \ - cvs commit -m "Update." coverage - -# Mingw32 - -W32ROOT ?= $(HOME)/gnutls4win/inst +LIBGCRYPTROOT ?= $(HOME)/w32root mingw32: autoreconf - ./configure $(CFGFLAGS) --host=i586-mingw32msvc --build=`build-aux/config.guess` --with-libtasn1-prefix=$(W32ROOT) --with-libgcrypt-prefix=$(W32ROOT) --prefix $(W32ROOT) + ./configure $(CFGFLAGS) --host=i586-mingw32msvc --build=`./config.guess` --with-included-libtasn1 --with-included-opencdk --with-libgcrypt-prefix=$(LIBGCRYPTROOT) .PHONY: bootstrap autoreconf mingw32 - -# Release - -ChangeLog: - git log --pretty --numstat --summary --since="2005 November 07" -- | git2cl > ChangeLog - cat .clcopying >> ChangeLog - -tag = $(PACKAGE)_`echo $(VERSION) | sed 's/\./_/g'` -htmldir = ../www-$(PACKAGE) - -release: prepare upload web upload-web - -prepare: - ! git tag -l $(tag) | grep $(PACKAGE) > /dev/null - rm -f ChangeLog - $(MAKE) ChangeLog distcheck - git commit -m Generated. ChangeLog - git tag -u b565716f! -m $(VERSION) $(tag) - -upload: - git push - git push --tags - build-aux/gnupload --to ftp.gnu.org:$(PACKAGE) $(distdir).tar.bz2 - scp $(distdir).tar.bz2 $(distdir).tar.bz2.sig igloo.linux.gr:~ftp/pub/gnutls/ - ssh igloo.linux.gr 'cd ~ftp/pub/gnutls/ && sha1sum *.tar.bz2 > CHECKSUMS' - cp $(distdir).tar.bz2 $(distdir).tar.bz2.sig ../releases/$(PACKAGE)/ - -web: - cd doc && ../build-aux/gendocs.sh --html "--css-include=texinfo.css" \ - -o ../$(htmldir)/manual/ $(PACKAGE) $(PACKAGE_NAME) - cd doc/doxygen && doxygen && cd ../.. && cp -v doc/doxygen/html/* $(htmldir)/doxygen/ && cd doc/doxygen/latex && make refman.pdf && cd ../../../ && cp doc/doxygen/latex/refman.pdf $(htmldir)/doxygen/$(PACKAGE).pdf - cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.devhelp doc/reference/html/*.css $(htmldir)/reference/ - -upload-web: - cd $(htmldir) && cvs commit -m "Update." manual/ reference/ doxygen/ diff -Nru gnutls26-2.8.6/ChangeLog gnutls26-2.4.1/ChangeLog --- gnutls26-2.8.6/ChangeLog 2010-03-15 12:50:15.000000000 +0000 +++ gnutls26-2.4.1/ChangeLog 2008-06-30 22:15:12.000000000 +0100 @@ -1,5547 +1,28 @@ -2010-03-15 Simon Josefsson - - * NEWS: Version 2.8.6. - -2010-03-15 Simon Josefsson - - * tests/openpgp-certs/Makefile.am, tests/openpgp-certs/testselfsigs: - Backport tests/openpgp-certs fixes. - -2009-11-06 Simon Josefsson - - * gl/tests/Makefile.am: Update gnulib files. - -2010-03-15 Simon Josefsson - - * gl/m4/getaddrinfo.m4, gl/m4/inet_ntop.m4, gl/m4/inet_pton.m4: - Backport fix for inet_ntop/inet_pton link problem. - -2010-03-15 Simon Josefsson - - * NEWS: Add. - -2010-03-15 Simon Josefsson - - * lib/po/LINGUAS, lib/po/cs.po.in, lib/po/fr.po.in, - lib/po/nl.po.in, lib/po/pl.po.in, lib/po/sv.po.in, lib/po/vi.po.in, - lib/po/zh_CN.po.in: Sync with TP. - -2009-11-03 Simon Josefsson - - * doc/examples/Makefile.am, src/Makefile.am, tests/Makefile.am: Use - INET_NTOP_LIB and INET_PTON_LIB. - -2010-01-20 Simon Josefsson - - * NEWS: Fix. - -2010-01-20 Simon Josefsson - - * NEWS: Add. - -2009-11-05 Simon Josefsson - - * lib/m4/hooks.m4: Make sure libgcrypt's dependency on libgpg-error - is known. - -2010-01-20 Simon Josefsson - - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem: Fix public key identifier - change. - -2010-01-20 Simon Josefsson - - * NEWS: Add note about public key id difference. - -2010-01-20 Simon Josefsson - - * lib/x509/mpi.c: Fix warning. - -2010-01-20 Simon Josefsson - - * THANKS: Fix copyright. Add. - -2010-01-20 Simon Josefsson - - * NEWS: Improve. - -2010-01-20 Simon Josefsson - - * NEWS: Add. - -2010-01-20 Simon Josefsson - - * NEWS: Fix copyright. Add two NEWS blurbs. - -2010-01-12 Nikos Mavrogiannopoulos - - * NEWS, lib/opencdk/sig-check.c, src/certtool.c, - tests/openpgp-certs/Makefile.am, tests/openpgp-certs/testselfsigs: - When checking self signature also check the signatures of all - subkeys. Ilari Liusvaara noticed and reported the issue and - provided test vectors as well. certtool --pgp-certificate-info will check self signatures. Added self tests for self-sigs. - -2010-01-12 Nikos Mavrogiannopoulos - - * : commit fd29562630a701fadbfbf316ce323a248a3ccd43 Author: Simon - Josefsson Date: Fri Dec 4 13:36:58 2009 - +0100 - -2009-11-28 Nikos Mavrogiannopoulos - - * lib/x509/mpi.c: Corrected two issues that affected certificate - request generation. 1. Null padding is added on integers (found thanks to Wilankar - Trupti ) 2. In optional SignatureAlgorithm parameters field for DSA keys the - DSA parameters were added. Those were rejected by verisign. Gnutls - no longer adds those parameters there since other implementations - don't do either and having them does not seem to offer anything - (anyway you need the signer's certificate to verify thus public key - will be available). - -2009-11-09 Simon Josefsson - - * NEWS: Add. - -2009-11-06 Simon Josefsson - - * src/Makefile.am: Link to libgcrypt explicitly when libgcrypt - functions are used. - -2009-11-06 Simon Josefsson - - * NEWS: Add. - -2009-11-06 Simon Josefsson - - * configure.ac, m4/valgrind.m4: Fix --disable-valgrind-tests. - -2009-11-05 Nikos Mavrogiannopoulos - - * NEWS: Corrected bug fix author. - -2009-11-05 Nikos Mavrogiannopoulos - - * NEWS: Documented previous fix. - -2009-11-05 Nikos Mavrogiannopoulos - - * lib/auth_cert.c, lib/gnutls_constate.c, lib/gnutls_sig.c, - libextra/gnutls_openssl.c, src/certtool.c, src/cfg/cfg+.c, - src/cfg/platon/str/strdyn.c, src/serv.c: Cleanups and several bug - fixes found by Tomas Mraz. "I've patched the following problems in the code found by review of - gnutls-2.8.5 code done by Steve Grubb. See the patch attached. The gnutls_constate.c bug might be potentially serious so I've - decided to mail it to you directly, not to the public mailing list. The auth_cert.c change is just cleanup of the code. In gnutls_openssl.c I've just fixed the potential crasher, correct - fix would require using asprintf or precomputed length of the buffer - to allocate a memory. The certtool.c change is again just a cleanup." - -2009-11-05 Simon Josefsson - - * lib/gl/tests/test-func.c: Back port Solaris work around for - __func__ bug. Reported by Dagobert Michelsen in - - . - -2009-11-02 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, libextra/configure.ac: Bump - versions. - -2009-11-02 Simon Josefsson - - * ChangeLog: Generated. - -2009-11-02 Simon Josefsson - - * NEWS: Version 2.8.5. - -2009-11-02 Simon Josefsson - - * NEWS: Add. - -2009-11-02 Simon Josefsson - - * tests/chainverify.c: Fix time bomb in chainverify self-test. Reported by Andreas Metzler in - - . - -2009-11-02 Simon Josefsson - - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_cipher.c, - lib/gnutls_handshake.c, lib/gnutls_handshake.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_int.h, - lib/gnutls_sig.c, lib/gnutls_state.c: Revert "1. Fix for memory - leaks on interrupted handshake." This reverts commit 15b31cfc7888aafb4135fb1bc92c710eeaebb4c0. Let's - not pull this into the next release, it wasn't in the release - candidate. - -2009-11-01 Nikos Mavrogiannopoulos - - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_cipher.c, - lib/gnutls_handshake.c, lib/gnutls_handshake.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_int.h, - lib/gnutls_sig.c, lib/gnutls_state.c: 1. Fix for memory leaks on interrupted handshake. 2. Fixes issue where a TLS 1.2 client will wrongly calculate hashes - if the server will select a different than 1.2 protocol. 3. In TLS 1.2 when a certificate request is sent, support is not - complete. In that case abort the handshake. By checking TLS 1.2 it - seems that the algorithms to be used for the signature in the - certificate verify message are negotiated not at the client/server - hello messages but rather selected by the server at the certificate - request. This might not look as bad, but since in this message we - have to sign all previous handshake messages, it forces us to keep - all the handshake messages into a buffer until this point... I don't - know who proposed this change to the TLS WG, but it seems it wasn't - really thought of. - -2009-10-28 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_handshake.c: When resuming a session do not - overwrite the initial session data with resumed session data. - Discovered on discussion at help-gnutls with Sebastien Decugis. - -2009-10-26 Simon Josefsson - - * NEWS: Add. - -2009-10-20 Simon Josefsson - - * tests/chainverify.c: Fix expired cert. - -2009-10-14 Simon Josefsson - - * NEWS: Add. - -2009-10-14 Simon Josefsson - - * lib/pkix_asn1_tab.c: Regenerate. - -2009-10-14 Simon Josefsson - - * lib/pkix.asn: Work around 'Cannot find OID: 1.2.840.113549.1.9.21' - PKCS#12 problem. Reported by Michael Welsh Duggan in - . - -2009-09-28 Ludovic Courtès - - * configure.ac, guile/src/core.c: guile: Adjust for Guile 1.9.3+. * guile/src/core.c (mark_session_record_port, - free_session_record_port): Conditionalize on `SCM_MAJOR_VERSION == 1 - && SCM_MINOR_VERSION <= 8'. (scm_init_gnutls_session_record_port_type): Adjust accordingly. (make_session_record_port): Use `scm_gc_malloc_pointerless ()' - when available. - -2009-09-28 Ludovic Courtès - - * guile/src/core.c: guile: Syntactic nitpicking. * guile/src/core.c (SCM_GNUTLS_MAKE_SESSION_DATA, SCM_GNUTLS_SET_SESSION_RECORD_PORT): Remove extraneous semicolon. - -2009-09-28 Ludovic Courtès - - * guile/src/core.c: guile: Use Guile's malloc routines. * guile/src/core.c (scm_init_gnutls): Use Guile's malloc routines. - -2009-09-23 Ludovic Courtès - - * guile/src/core.c: Fix integer/pointer cast warnings in the Guile - bindings on x86_64. * guile/src/core.c (do_fill_port, fill_session_record_port_input, scm_gnutls_set_session_transport_fd_x): Make sure pointer/integer - casts use integers of the right size. - -2009-09-23 Ludovic Courtès - - * guile/src/extra.c: Update Guile bindings to the current OpenPGP - API. * guile/src/extra.c (scm_gnutls_openpgp_certificate_id, scm_gnutls_openpgp_certificate_id_x): Use the newer `gnutls_openpgp_crt_get_key_id ()'. - -2009-09-23 Ludovic Courtès - - * doc/Makefile.am, guile/src/Makefile.am, guile/tests/Makefile.am: - Turn off auto-compilation when using Guile 1.9+. * guile/src/Makefile.am (GUILE_FOR_BUILD): Turn off auto-compilation with Guile 1.9+. * guile/tests/Makefile.am (TESTS_ENVIRONMENT): Likewise. * doc/Makefile.am (GUILE_FOR_BUILD): Likewise. - -2009-09-18 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-09-18 Simon Josefsson - - * ChangeLog: Generated. - -2009-09-18 Simon Josefsson - - * NEWS: Version 2.8.4. - -2009-09-18 Simon Josefsson - - * NEWS, lib/m4/hooks.m4: Enable Camellia by default. - -2009-08-31 Simon Josefsson - - * NEWS: Add. - -2009-08-31 Simon Josefsson - - * lib/x509/x509.c: Handle XMPP SANs properly. Reported by Howard - Chu in . - -2009-08-27 Dan Fandrich - - * lib/opencdk/new-packet.c, lib/opencdk/packet.h, - lib/opencdk/pubkey.c, lib/opencdk/read-packet.c, - lib/opencdk/stream.c, lib/opencdk/stream.h, lib/opencdk/verify.c, - lib/x509/crq.c: Fix compiler warning bugs for OpenWatcom. Signed-off-by: Simon Josefsson - -2009-08-20 Simon Josefsson - - * NEWS: Add. - -2009-08-20 Simon Josefsson - - * lib/openpgp/pgp.c: Fix OpenPGP hostname comparison. - -2009-08-18 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-08-17 Simon Josefsson - - * gl/m4/size_max.m4, lib/gl/m4/size_max.m4: Pull in SIZE_MAX fix - from gnulib, to fix IRIX build. Reported by "Tom G. Christensen" in - - . - -2009-08-13 Simon Josefsson - - * ChangeLog: Generated. - -2009-08-13 Simon Josefsson - - * NEWS: Version 2.8.3. - -2009-08-10 Simon Josefsson - - * libextra/Makefile.am: Need to add LIBSOCKET because we link to - ../lib's gnulib library, for mingw. - -2009-08-13 Simon Josefsson - - * NEWS: Fix. - -2009-08-13 Simon Josefsson - - * NEWS: Fix. - -2009-08-13 Simon Josefsson - - * NEWS: Fix. - -2009-08-13 Simon Josefsson - - * NEWS: Add. - -2009-08-13 Simon Josefsson - - * lib/x509/x509.c: (gnutls_x509_crt_import): Re-initialize the ASN.1 structure. If this is not done here, the next certificate loading may fail - because asn1_der_decoding modified the ASN.1 structure. Triggered - by the hostname-check self-test. - -2009-08-12 Simon Josefsson - - * NEWS: Add. - -2009-08-12 Simon Josefsson - - * libextra/Makefile.am: Add -I to get to ../lib's gnulib. - -2009-08-12 Simon Josefsson - - * libextra/m4/hooks.m4: Add. - -2009-08-11 Simon Josefsson - - * lib/gnutls_algorithms.c: Doc fix. - -2009-08-11 Simon Josefsson - - * lib/gnutls_algorithms.c, lib/gnutls_anon_cred.c, - lib/gnutls_auth.c, lib/gnutls_cert.c, lib/gnutls_psk.c, - lib/gnutls_srp.c, lib/gnutls_state.c, lib/gnutls_x509.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/pgp.c, - libextra/gnutls_ia.c: Fix typos in documentation. Reported by Daiki - Ueno in . - -2009-07-15 Nikos Mavrogiannopoulos - - * tests/mini-eagain.c: reduced transferred data size. - -2009-08-10 Simon Josefsson - - * NEWS: Add. - -2009-08-10 Simon Josefsson - - * lib/x509/common.c: Revert "do not allow null character in DN." This reverts commit 21bc1439e5ce485dfc34ae7da425a7d4126888af. - -2009-08-10 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-08-10 Simon Josefsson - - * ChangeLog: Generated. - -2009-08-10 Simon Josefsson - - * NEWS: Version 2.8.2. - -2009-08-10 Simon Josefsson - - * NEWS: Add. - -2009-08-10 Simon Josefsson - - * lib/gnutls_global.c: Look only for latest _required_ - libgcrypt/libtasn1 version. Reported by Marco d'Itri via Andreas Metzler - as Debian BTS #540449. - -2009-08-10 Simon Josefsson - - * NEWS: Add. - -2009-07-01 Nikos Mavrogiannopoulos - - * lib/gnutls_str.c: There are cases where those buffers might - overlap - -2009-08-07 Simon Josefsson - - * NEWS: Add. - -2009-08-03 Simon Josefsson - - * tests/chainverify.c: Fix expected output, a cert have expired. - -2009-08-03 Simon Josefsson - - * tests/mini-eagain.c: Make it build. - -2009-08-07 Simon Josefsson - - * lib/x509/output.c: Check for NUL in SANs and replace accordingly. - -2009-08-07 Simon Josefsson - - * lib/x509/common.c: Refuse to return DNs with embedded NULs which - breaks other code. Problem published by Dan Kaminsky and Moxie Marlinspike at - BlackHat09. - -2009-06-03 Simon Josefsson - - * lib/x509/common.c: (_gnutls_x509_oid_data2string): Return proper @res_size for NULL - res. - -2009-08-04 Simon Josefsson - - * lib/gnutls_str.c: Cleanup code. - -2009-08-04 Tomas Hoger - - * lib/gnutls_str.c, lib/gnutls_str.h, lib/openpgp/pgp.c, - lib/x509/rfc2818_hostname.c: GnuTLS vs. NULL chars in CNs Check cert name size in _gnutls_hostname_compare() This is needed to protect against NULL (\0) characters embedded - in X509 certificates' CNs or subjectAltNames, that can be used - to fool SSL certificate verification as was demonstrated by Moxie - Marlinspike on BH USA 2009: - http://www.blackhat.com/html/bh-usa-09/bh-usa-09-archives.html#MarlinspikeSigned-off-by: Simon Josefsson - -2009-08-07 Simon Josefsson - - * NEWS: Add. - -2009-06-17 Simon Josefsson - - * lib/gnutls_ui.c: Return proper MPI lengths in bits. Reported by - Peter Hendrickson in - - . - -2009-08-07 Simon Josefsson - - * NEWS: Fix. - -2009-08-07 Simon Josefsson - - * NEWS: Add. - -2009-06-22 Simon Josefsson - - * lib/x509/dn.c: Fix off-by-one size computation that leads to - truncated strings. Reported by Tim Kosse - in - - . - -2009-07-29 Simon Josefsson - - * : commit 872048c5dd438a2c8f6c307d8b303b8cf8be174f Author: Nikos - Mavrogiannopoulos Date: Mon Jul 13 20:17:56 2009 - +0300 - -2009-07-01 Nikos Mavrogiannopoulos - - * lib/gnutls_handshake.c: Patch by Tim Kosse: "If - _gnutls_send_finished fails with GNUTLS_E_AGAIN or GNUTLS_E_AGAIN it - eventually gets called a second time. It however does not call _gnutls_send_handshake with a NULL pointer - on repeated calls, ultimately leading to an internal error in - _gnutls_handshake_io_send_int." - -2009-07-29 Simon Josefsson - - * NEWS, lib/minitasn1/errors.c, lib/minitasn1/libtasn1.h: Use - libtasn1 v2.3. - -2009-07-29 Simon Josefsson - - * NEWS: Add NEWS entry. - -2009-07-29 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump version. - -2009-07-01 Nikos Mavrogiannopoulos - - * lib/auth_cert.h, lib/gnutls_ui.c: Corrected - gnutls_certificate_client_get_request_status(). Based on observation - by Peter Hendrickson . - -2009-07-26 Nikos Mavrogiannopoulos - - * lib/minitasn1/decoding.c: more careful decoding of OID. - -2009-07-26 Nikos Mavrogiannopoulos - - * lib/x509/common.c: do not allow null character in DN. - -2009-07-15 Nikos Mavrogiannopoulos - - * doc/examples/ex-serv-anon.c, doc/examples/ex-serv-export.c, - doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, - doc/examples/ex-serv-srp.c, doc/examples/ex-serv1.c, - lib/auth_cert.c, lib/gnutls_buffers.c, lib/gnutls_mpi.c, - lib/gnutls_pk.c, lib/gnutls_sig.c, lib/opencdk/stream.c, - lib/opencdk/write-packet.c, lib/openpgp/pgp.c, - lib/openpgp/privkey.c, lib/x509/privkey_pkcs8.c, src/certtool.c, - src/psk.c: Several bug fixes by Fabian Keil (some were modified by - me). - -2009-07-01 Nikos Mavrogiannopoulos - - * lib/gnutls_buffers.c, tests/Makefile.am, tests/mini-eagain.c: - Added bug fix that allows gnutls_record_recv/send resuming from - previously interrupted actions. Patch by from Tim Kosse - . Added a self test to check those functions in handling interrupted - states. - -2009-06-10 Simon Josefsson - - * ChangeLog: Generated. - -2009-06-10 Simon Josefsson - - * NEWS: Version 2.8.1. - -2009-06-10 Simon Josefsson - - * tests/pkcs12_s2k.c: Fix test vectors. - -2009-06-10 Simon Josefsson - - * NEWS: Add. - -2009-06-10 Simon Josefsson - - * lib/x509/pkcs12_encr.c: Fix PKCS#12 string to key function for - 1/128 inputs. Reported by "Kukosa, Tomas" - in - . - -2009-06-08 Simon Josefsson - - * lib/gnutls_extensions.c: Mark global extfunc_size as having static - scope. - -2009-06-08 Simon Josefsson - - * configure.ac: Disable strict aliasing warning for v2.8.x (fixed in - v2.9.x). - -2009-06-08 Simon Josefsson - - * NEWS: Add. - -2009-06-08 Simon Josefsson - - * lib/gnutls_extensions.c: Deinitalize extension global variable - properly. See . - -2009-05-28 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-27 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-27 Simon Josefsson - - * NEWS: Version 2.8.0. - -2009-05-27 Simon Josefsson - - * NEWS: Add. - -2009-05-27 Simon Josefsson - - * doc/announcement-template.txt: Typo. - -2009-05-27 Simon Josefsson - - * NEWS: Fix. - -2009-05-27 Simon Josefsson - - * NEWS, cfg.mk, configure.ac, lib/configure.ac, - libextra/configure.ac: Prepare for stable release. - -2009-05-27 Simon Josefsson - - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-27 Simon Josefsson - - * NEWS: Add. - -2009-05-27 Simon Josefsson - - * lib/gnutls_ui.c: Doc fix. Reported by Peter Hendrickson - . - -2009-05-26 Simon Josefsson - - * src/select.c: Remove unused file, replaced by poll from gnulib. - -2009-05-26 Simon Josefsson - - * doc/Makefile.am: Fix generation of error_codes.texi and - algorithms.texi. - -2009-05-26 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-26 Simon Josefsson - - * doc/announcement-template.txt: Fix. - -2009-05-26 Simon Josefsson - - * NEWS: Version 2.7.14. - -2009-05-26 Simon Josefsson - - * src/certtool-gaa.c, src/serv-gaa.c: Regenerate. - -2009-05-26 Simon Josefsson - - * NEWS: Add. - -2009-05-26 Simon Josefsson - - * NEWS: Add. - -2009-05-26 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-26 Simon Josefsson - - * lib/gnutls_global.c, lib/includes/gnutls/compat.h, - libextra/gnutls_extra.c, libextra/includes/gnutls/extra.h, - libextra/includes/gnutls/openssl.h, tests/openssl.c, tests/simple.c: - Fix version symbol namespace. - -2009-05-26 Simon Josefsson - - * doc/examples/ex-serv-anon.c, doc/examples/ex-serv-export.c, - doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, - doc/examples/ex-serv1.c, doc/examples/ex-session-info.c, - doc/gnutls.texi, doc/manpages/certtool.1, - doc/manpages/gnutls-serv.1, lib/auth_anon.c, lib/auth_dh_common.c, - lib/auth_dhe.c, lib/auth_dhe_psk.c, lib/gnutls_anon_cred.c, - lib/gnutls_errors.c, lib/gnutls_handshake.c, lib/gnutls_psk.c, - lib/gnutls_record.c, lib/gnutls_ui.c, - lib/includes/gnutls/gnutls.h.in, libextra/gnutls_ia.c, - src/certtool.gaa, src/prime.c, src/serv.c, src/serv.gaa, - src/tls_test.c, tests/anonself.c, tests/dhepskself.c, - tests/openpgpself.c, tests/oprfi.c, tests/resume.c, tests/tlsia.c, - tests/x509dn.c, tests/x509self.c, tests/x509signself.c: Doc fixes. - Suggested by Peter Hendrickson . - -2009-05-26 Simon Josefsson - - * lib/gnutls_auth.c: Doc fix. Reported by Peter Hendrickson - . - -2009-05-25 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-25 Simon Josefsson - - * NEWS: Version 2.7.13. - -2009-05-25 Simon Josefsson - - * doc/announcement-template.txt: Fix. - -2009-05-25 Simon Josefsson - - * NEWS: Fix. - -2009-05-25 Simon Josefsson - - * NEWS: Add. - -2009-05-25 Simon Josefsson - - * doc/announcement-template.txt: Improve. - -2009-05-25 Simon Josefsson - - * lib/libgnutls.map: Sort symbols. - -2009-05-25 Simon Josefsson - - * lib/libgnutls.map: Auto-generate from GnuTLS 2.6.x list of - exported symbols. No substantial change. - -2009-05-25 Simon Josefsson - - * lib/libgnutls.map: Move functions. Reported by Andreas Metzler - in - - . - -2009-05-25 Simon Josefsson - - * lib/libgnutls.map: Move gnutls_x509_crq_set_key back to old ABI - namespace. Reported by Andreas Metzler - in - - . - -2009-05-25 Simon Josefsson - - * NEWS: Add. - -2009-05-25 Simon Josefsson - - * tests/chainverify.c: Fix expired certs. Exit early to make it - easier to find failing test. Reported by Andreas Metzler - in - - . - -2009-05-20 Simon Josefsson - - * .clcopying: Fix. - -2009-05-20 Simon Josefsson - - * AUTHORS: Fix PGP key. - -2009-05-20 Simon Josefsson - - * doc/gnutls.texi, src/Makefile.am, src/README, src/README.srptool: - Removed duplicated documentation. - -2009-05-20 Simon Josefsson - - * THANKS: Add. - -2009-05-20 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-20 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-20 Simon Josefsson - - * NEWS: Version 2.7.12. - -2009-05-20 Simon Josefsson - - * NEWS, src/serv.c, src/tls_test.c: Fix gnutls-serv and - gnutls-cli-debug on Windows. - -2009-05-20 Simon Josefsson - - * gl/getdelim.c: Update gnulib files. - -2009-05-20 Simon Josefsson - - * NEWS, doc/reference/Makefile.am, lib/minitasn1/libtasn1.h, - lib/minitasn1/parser_aux.c: Use libtasn1 2.2. - -2009-05-20 Simon Josefsson - - * NEWS: Add. - -2009-05-20 Simon Josefsson - - * build-aux/gnupload, gl/Makefile.am, gl/m4/sys_socket_h.m4, - gl/sys_socket.in.h, gl/tests/test-sys_socket.c, lib/gl/Makefile.am, - lib/gl/m4/sys_socket_h.m4, lib/gl/sys_socket.in.h, - lib/gl/tests/test-sys_socket.c, maint.mk: Update gnulib files. - -2009-05-20 Simon Josefsson - - * lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/vsnprintf.m4, - lib/gl/tests/Makefile.am, lib/gl/tests/test-vsnprintf.c, - lib/gl/vsnprintf.c: Replace vsnprintf if needed. - -2009-05-20 Simon Josefsson - - * NEWS: Add. - -2009-05-20 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-20 Simon Josefsson - - * tests/crq_key_id.c: Reorder gcry quick random to make it - effective. Reported by Andreas Metzler - in - - . - -2009-05-18 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-18 Simon Josefsson - - * NEWS: Version 2.7.11. - -2009-05-18 Simon Josefsson - - * NEWS, cfg.mk, configure.ac, doc/examples/Makefile.am, - lib/Makefile.am, lib/configure.ac, lib/openpgp/Makefile.am, - lib/x509/Makefile.am, libextra/Makefile.am, libextra/configure.ac, - src/Makefile.am, tests/Makefile.am: Don't build with warnings all - the time. Use a WERROR_CFLAGS. - -2009-05-18 Simon Josefsson - - * maint.mk: Update gnulib files. - -2009-05-18 Simon Josefsson - - * NEWS: Add. - -2009-05-18 Simon Josefsson - - * src/serv.c: Don't use unportable NI_MAXHOST/NI_MAXSERV. - -2009-05-17 Simon Josefsson - - * src/Makefile.am: Link getaddrinfo libraries. Reported by "Tom G. - Christensen" in - - . - -2009-05-17 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac: Need to run AC_PROG_CXX - unconditionally. - -2009-05-16 Simon Josefsson - - * doc/doxygen/Doxyfile.in, libextra/gl/Makefile.am: Fix old gnulib - lgpl/ paths. Reported by "Tom G. Christensen" - in - - . - -2009-05-14 Simon Josefsson - - * NEWS: Fix. - -2009-05-14 Simon Josefsson - - * lib/minitasn1/Makefile.am: Need -DASN1_BUILDING for libtasn1. - -2009-05-14 Simon Josefsson - - * doc/announcement-template.txt: Add. - -2009-05-14 Simon Josefsson - - * NEWS: Add. - -2009-05-14 Simon Josefsson - - * lib/minitasn1/Makefile.am: Fix -I's after gnulib changes. - Reported by "Tom G. Christensen" in - - . - -2009-05-14 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-13 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-13 Simon Josefsson - - * NEWS: Version 2.7.10. - -2009-05-13 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/tests/Makefile.am, gl/tests/test-alignof.c, lib/gl/Makefile.am, - lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/tests/Makefile.am, lib/gl/tests/test-alignof.c: Avoid failing - tests. - -2009-05-13 Simon Josefsson - - * lib/gnutls_algorithms.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cert.c, lib/gnutls_global.c, lib/gnutls_priority.c, - lib/gnutls_psk.c, lib/gnutls_session.c, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/x509.h, - lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.c, - lib/openpgp/pgp.c, lib/openpgp/privkey.c, lib/x509/crq.c, - lib/x509/dn.c, lib/x509/pkcs12_bag.c, lib/x509/x509.c, - lib/x509/x509_write.c, libextra/gnutls_ia.c: Doc fixes for GTK-DOC. - -2009-05-13 Simon Josefsson - - * lib/ext_server_name.c, lib/gnutls_priority.c, - lib/gnutls_record.c, lib/gnutls_srp.c, lib/gnutls_state.c, - lib/gnutls_ui.c, lib/gnutls_x509.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/x509.h, - lib/x509/crq.c, lib/x509/dn.c, lib/x509/pkcs7.c, - lib/x509/privkey.c, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_write.c: Doc fixes for GTK-DOC. - -2009-05-13 Simon Josefsson - - * lib/includes/gnutls/crypto.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/x509.h, lib/openpgp/gnutls_openpgp.c, - lib/x509/dn.c, lib/x509/output.c, lib/x509/pkcs7.c, - lib/x509/verify.c, lib/x509/x509.c: Doc fixes for GTK-DOC. - -2009-05-13 Simon Josefsson - - * NEWS: Add. - -2009-05-13 Simon Josefsson - - * doc/examples/ex-alert.c, doc/examples/ex-cert-select.c, - doc/examples/ex-client-psk.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-client-tlsia.c, - doc/examples/ex-client1.c, doc/examples/ex-client2.c, - doc/examples/ex-crq.c, doc/examples/ex-pkcs12.c, - doc/examples/ex-rfc2818.c, doc/examples/ex-serv-anon.c, - doc/examples/ex-serv-export.c, doc/examples/ex-serv-pgp.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv1.c, doc/examples/ex-session-info.c, - doc/examples/ex-verify.c, doc/examples/ex-x509-info.c, - doc/examples/tcp.c: Place examples in public domain. After - discussion with Karl. - -2009-05-13 Simon Josefsson - - * gl/alignof.h, gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, - gl/tests/test-alignof.c, lib/gl/alignof.h, - lib/gl/m4/gnulib-comp.m4, lib/gl/tests/Makefile.am, - lib/gl/tests/test-alignof.c, maint.mk: Update gnulib files. - -2009-05-13 Simon Josefsson - - * lib/opencdk/keydb.c: Avoid sprintf. - -2009-05-13 Simon Josefsson - - * doc/examples/ex-client-tlsia.c, lib/opencdk/literal.c, - lib/opencdk/misc.c, src/common.c, tests/chainverify.c, - tests/tlsia.c: Fix warnings. - -2009-05-13 Simon Josefsson - - * NEWS: Fix. - -2009-05-13 Simon Josefsson - - * doc/gnutls.texi: Fix. - -2009-05-13 Simon Josefsson - - * NEWS: Add. - -2009-05-13 Simon Josefsson - - * lib/pk-libgcrypt.c: Fix crash. - -2009-05-12 Simon Josefsson - - * lib/gnutls_cert.c: Doc fix. - -2009-05-12 Simon Josefsson - - * lib/gnutls_dh_primes.c: Doc fix. - -2009-05-12 Simon Josefsson - - * lib/minitasn1/Makefile.am, lib/minitasn1/errors.h: Drop removed - libtasn1 file. - -2009-05-12 Simon Josefsson - - * NEWS, lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/element.h, - lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, - lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, - lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, - lib/minitasn1/structure.c, lib/minitasn1/structure.h: Upgrade - libtasn1 to v2.1. - -2009-05-12 Simon Josefsson - - * lib/gnutls_global.c, libextra/gnutls_extra.c: Doc fixes. Remove - debugging code. - -2009-05-12 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-11 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-11 Simon Josefsson - - * NEWS: Version 2.7.9. - -2009-05-11 Simon Josefsson - - * lib/configure.ac, libextra/configure.ac: Drop obsolete stuff. - -2009-05-11 Simon Josefsson - - * configure.ac: Drop obsolete stuff. - -2009-05-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/ld-output-def.m4, gl/m4/ld-version-script.m4, - lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/ld-output-def.m4, - lib/gl/m4/ld-version-script.m4, libextra/gl/gnulib.mk, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-comp.m4, - libextra/gl/m4/ld-output-def.m4, - libextra/gl/m4/ld-version-script.m4: Move gnulib tests into proper - directory. - -2009-05-11 Simon Josefsson - - * NEWS: Fix. - -2009-05-11 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2009-05-11 Simon Josefsson - - * doc/scripts/gdoc: Fix gnutls_priority_init documentation. - -2009-05-11 Simon Josefsson - - * doc/scripts/gdoc: Revert "Fix man output for "%COMPAT" in - docstrings." This reverts commit d10f1872bcbf7eb63632a8ce2e50728f42bd03fa. - -2009-05-11 Simon Josefsson - - * doc/scripts/gdoc: Fix man output for "%COMPAT" in docstrings. - -2009-05-11 Simon Josefsson - - * doc/manpages/Makefile.am: When writing man pages, don't append to - any existing file. - -2009-05-11 Simon Josefsson - - * lib/gnutls_priority.c: Doc fix. - -2009-05-11 Simon Josefsson - - * NEWS, doc/examples/Makefile.am, lib/gl/Makefile.am, - lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/tests/Makefile.am, lib/gl/tests/test-lseek.c, - lib/gl/tests/test-lseek.sh, src/Makefile.am, tests/Makefile.am: Fix - MinGW build failures. - -2009-05-11 Simon Josefsson - - * lib/autogen.sh: Add. - -2009-05-11 Simon Josefsson - - * maint.mk: Update gnulib files. - -2009-05-11 Simon Josefsson - - * gtk-doc.make: Fix syntax-check. - -2009-05-11 Simon Josefsson - - * gtk-doc.make, m4/gtk-doc.m4: Upgrade gtk-doc files. - -2009-05-11 Simon Josefsson - - * cfg.mk, gl/sys_socket.in.h, gl/tests/test-vc-list-files-git.sh, - lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/sys_socket.in.h, - lib/gl/tests/Makefile.am, lib/gl/tests/test-lseek.c, - lib/gl/tests/test-lseek.sh, libextra/gl/gnulib.mk, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-comp.m4: - Update gnulib files. - -2009-05-10 Simon Josefsson - - * tests/chainverify.c: Verisign CA v1 cert has expired! Change - expected results. Also test expiration code more. - -2009-05-08 Simon Josefsson - - * doc/Makefile.am: Don't always rebuild manual. - -2009-05-08 Simon Josefsson - - * gl/m4/sys_socket_h.m4, lib/gl/m4/sys_socket_h.m4: Update gnulib - files. - -2009-05-08 Simon Josefsson - - * gl/Makefile.am, lib/gl/Makefile.am: Update gnulib files. - -2009-05-08 Simon Josefsson - - * gl/Makefile.am, gl/alignof.h, lib/gl/Makefile.am: Update gnulib - files. - -2009-05-08 Simon Josefsson - - * cfg.mk: Fix. - -2009-05-08 Simon Josefsson - - * cfg.mk: Fix. - -2009-05-08 Simon Josefsson - - * build-aux/gnupload, gl/Makefile.am, gl/m4/errno_h.m4, - gl/m4/gnulib-comp.m4, gl/m4/multiarch.m4, gl/m4/sys_socket_h.m4, - gl/m4/vasnprintf.m4, gl/sys_socket.in.h, - gl/tests/test-sys_socket.c, lib/gl/Makefile.am, lib/gl/alignof.h, - lib/gl/m4/errno_h.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/multiarch.m4, lib/gl/m4/sys_socket_h.m4, - lib/gl/m4/vasnprintf.m4, lib/gl/sys_socket.in.h, - lib/gl/tests/test-sys_socket.c, maint.mk: Update gnulib files. - -2009-05-08 Simon Josefsson - - * cfg.mk: Fix -Werror handling. - -2009-05-08 Simon Josefsson - - * lib/x509/output.c: Fix warnings. - -2009-05-07 Simon Josefsson - - * doc/examples/ex-serv-anon.c, doc/examples/ex-serv-export.c, - doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, - doc/examples/ex-serv-srp.c, doc/examples/ex-serv1.c, - tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, - tests/oprfi.c, tests/pskself.c, tests/resume.c, tests/tlsia.c, - tests/x509dn.c, tests/x509self.c, tests/x509signself.c: Fix - warnings. - -2009-05-07 Simon Josefsson - - * NEWS: Fix. - -2009-05-07 Simon Josefsson - - * tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, - tests/oprfi.c, tests/pskself.c, tests/resume.c, tests/tlsia.c, - tests/x509dn.c, tests/x509self.c, tests/x509signself.c: Use memset - instead of deprecated bzero. - -2009-05-07 Simon Josefsson - - * NEWS, src/certtool-cfg.c, src/serv.c: Fix build failure on systems - without AF_INET6, e.g., Solaris 2.6. Reported by "Tom G. - Christensen" in - - . - -2009-05-06 Simon Josefsson - - * doc/Makefile.am: Drop README.GIT. - -2009-05-06 Simon Josefsson - - * tests/Makefile.am: Need to link directly to libgcrypt here. - -2009-05-06 Simon Josefsson - - * lib/mpi-libgcrypt.c: Don't use casts that break strict-aliasing - rules. - -2009-05-06 Simon Josefsson - - * README-alpha: Fix. - -2009-05-06 Simon Josefsson - - * configure.ac: Fix. - -2009-05-05 Simon Josefsson - - * README-alpha, doc/README.GIT: Replace doc/README.GIT with - README-alpha. - -2009-05-05 Simon Josefsson - - * README-alpha: Fix. - -2009-05-05 Simon Josefsson - - * README-alpha: Add. - -2009-05-03 Simon Josefsson - - * NEWS, lib/libgnutls.map: Fix build failure when LZO is enabled. - -2009-05-03 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/openpgp.h, - libextra/includes/gnutls/extra.h: Fix gtk-doc warnings. - -2009-05-03 Simon Josefsson - - * NEWS: Fix. - -2009-05-03 Simon Josefsson - - * lib/gnutls_asn1_tab.c, lib/pkix_asn1_tab.c: Regenerated libtasn1 - files. - -2009-05-03 Simon Josefsson - - * doc/Makefile.am: Build tools before using them. - -2009-05-03 Simon Josefsson - - * .x-sc_GPL_version, .x-sc_avoid_if_before_free, - .x-sc_cast_of_alloca_return_value, .x-sc_cast_of_argument_to_free, - .x-sc_file_system, .x-sc_m4_quote_check, .x-sc_makefile_check, - .x-sc_program_name, .x-sc_prohibit_HAVE_MBRTOWC, - .x-sc_prohibit_S_IS_definition, .x-sc_space_tab, .x-sc_the_the, - .x-sc_two_space_separator_in_usage, .x-sc_useless_cpp_parens, NEWS, - cfg.mk, doc/examples/ex-serv-export.c, doc/gnutls.texi, - gtk-doc.make, lib/gnutls.asn, lib/m4/hooks.m4, - lib/openpgp/Makefile.am, lib/pkix.asn, lib/x509/Makefile.am, - libextra/m4/hooks.m4, m4/valgrind.m4, src/Makefile.am, - src/certtool-cfg.c, src/certtool.c, src/crypt.c, src/psk.c, - src/serv.c, src/tls_test.c, tests/Makefile.am, tests/resume.c, - tests/x509dn.c: Fix syntax-check warnings. - -2009-05-03 Simon Josefsson - - * doc/reference/Makefile.am, gtk-doc.make: Upgrade gtk-doc files. - -2009-05-03 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-05-03 Simon Josefsson - - * ChangeLog: Generated. - -2009-05-03 Simon Josefsson - - * NEWS: Version 2.7.8. - -2009-05-03 Simon Josefsson - - * gl/Makefile.am, gl/gettext.h, gl/m4/wchar.m4, gl/wchar.in.h, - lib/gl/Makefile.am, lib/gl/gettext.h, lib/gl/m4/wchar.m4, - lib/gl/wchar.in.h: Update gnulib files. - -2009-05-03 Simon Josefsson - - * tests/pkcs1-padding/pkcs1-pad: Fix self test fails because of - expired certs using datefudge. - -2009-05-01 Simon Josefsson - - * tests/chainverify.c: Print cert details. Fix verifying expired - cert. - -2009-05-01 Simon Josefsson - - * tests/cve-2008-4989.c: Avoid time checks. - -2009-04-30 Simon Josefsson - - * tests/Makefile.am, tests/cve-2009-1415.c, tests/cve-2009-1416.c: - Add self-tests for security problems. - -2009-04-30 Simon Josefsson - - * NEWS: Add. - -2009-04-30 Simon Josefsson - - * lib/gnutls_cert.c, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/x509.h, lib/x509/verify.c, src/common.c: - libgnutls: Check activation/expiration times on untrusted - certificates. Reported by Romain Francoise. - -2009-04-30 Simon Josefsson - - * lib/gnutls_pk.c: Fix DSA key generation. - -2009-04-30 Simon Josefsson - - * cfg.mk: Use modern git names. - -2009-04-30 Simon Josefsson - - * NEWS: Add old NEWS entries. - -2009-04-30 Simon Josefsson - - * doc/gnutls.texi: Document how to use TLS exporters. - -2009-04-30 Simon Josefsson - - * src/serv.c: Fix getaddrinfo/bind loop. - -2009-04-28 Simon Josefsson - - * maint.mk: Update gnulib files. - -2009-04-27 Simon Josefsson - - * : Replace PDF with official ZIP file. The PDFs have the same - SHA-1. The file was downloaded from: - - http://csrc.nist.gov/groups/ST/crypto_apps_infra/documents/PKI%20Testing%20Page.htmUsing the direct link: - - http://csrc.nist.gov/groups/ST/crypto_apps_infra/documents/certpath1.07.zip - -2009-04-27 Simon Josefsson - - * cfg.mk: Fix. - -2009-04-27 Simon Josefsson - - * build-aux/useless-if-before-free, build-aux/vc-list-files, - gl/Makefile.am, gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, - gl/tests/test-vc-list-files-cvs.sh, - gl/tests/test-vc-list-files-git.sh, maint.mk: Update gnulib files. - -2009-04-27 Simon Josefsson - - * src/certtool.c: Fix some error messages. - -2009-04-27 Simon Josefsson - - * gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/vasnprintf.c, - lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4, - lib/gl/vasnprintf.c, libextra/gl/m4/lib-link.m4, - libextra/gl/m4/lib-prefix.m4, maint.mk: Update gnulib files. - -2009-04-27 Simon Josefsson - - * NEWS: Fix. - -2009-04-27 Simon Josefsson - - * NEWS: Fix. - -2009-04-27 Simon Josefsson - - * lib/libgnutls.map: Move symbols new with gnutls 2.8.x under - GNUTLS_2_8 version. - -2009-04-24 Simon Josefsson - - * NEWS, src/serv.c: gnutls-serv: Listen on all interfaces. - -2009-04-24 Simon Josefsson - - * maint.mk: Update gnulib files. - -2009-04-24 Simon Josefsson - - * lib/pk-libgcrypt.c: Cleanup code and fix memory leaks. - -2009-04-23 Simon Josefsson - - * doc/gendocs_template: Update gnulib files. - -2009-04-23 Simon Josefsson - - * NEWS, doc/gnutls.texi: Improve texinfo section names. - -2009-04-23 Simon Josefsson - - * tests/x509sign-verify.c: Also test DSA keys. - -2009-04-21 Nikos Mavrogiannopoulos - - * lib/x509/verify.c: release allocated mpis in - _gnutls_x509_verify_algorithm(). - -2009-04-21 Simon Josefsson - - * tests/libgcrypt.supp: Suppress more for modern libgcrypt. - -2009-04-21 Simon Josefsson - - * tests/x509sign-verify.c: Cleanup code. - -2009-04-21 Simon Josefsson - - * src/cli.c: Pass proper socket to libgnutls on Windows. - -2009-04-21 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/sockets.c, gl/sockets.h, gl/tests/Makefile.am, gl/tests/dummy.c, - gl/tests/sockets.c, gl/tests/sockets.h: Need sockets module. - -2009-04-20 Simon Josefsson - - * lib/libgnutls.map: Make check needs more symbols. - -2009-04-20 Simon Josefsson - - * NEWS, lib/Makefile.am, lib/libgnutls.map, libextra/Makefile.am, - libextra/libgnutls-extra.map, libextra/libgnutls-extra.vers: Improve - version scripts. Limit exported symbols on systems without linker - script. - -2009-04-20 Simon Josefsson - - * NEWS: Add. - -2009-04-20 Simon Josefsson - - * NEWS, build-aux/gendocs.sh, configure.ac, lib/configure.ac, - lib/m4/hooks.m4, libextra/configure.ac: Bump version. - -2009-04-20 Simon Josefsson - - * ChangeLog: Generated. - -2009-04-20 Simon Josefsson - - * NEWS: Version 2.7.7. - -2009-04-20 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2009-04-20 Simon Josefsson - - * doc/gnutls.texi: Really generate DSA key in example. - -2009-04-20 Simon Josefsson - - * lib/x509/x509.c: Fix return value. Doc fix. - -2009-04-20 Simon Josefsson - - * doc/gnutls.texi: Explain how to generate DSA key. - -2009-04-20 Simon Josefsson - - * lib/gnutls_x509.c, lib/x509/x509.c: Doc fix for new APIs. - -2009-04-20 Nikos Mavrogiannopoulos - - * NEWS, lib/pk-libgcrypt.c: Corrected possible memory corruption on - signature verification failure. Reported by Miroslav Kratochvil - - -2009-04-18 Nikos Mavrogiannopoulos - - * doc/printlist.c: Added small patch from Romain Francoise to remove - unneeded include. - -2009-04-18 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/x509.h, lib/x509/privkey.c, lib/x509/x509.c, - tests/Makefile.am, tests/x509sign-verify.c: Added self test for - gnutls_x509_crt_verify_hash() and - gnutls_x509_crt_get_verify_algorithm(). Added some notes in - gnutls_x509_privkey_sign_hash(). - -2009-04-17 Nikos Mavrogiannopoulos - - * NEWS, lib/includes/gnutls/x509.h, lib/x509/verify.c, - lib/x509/x509.c: gnutls_x509_crt_get_sig_algorithm was renamed to - gnutls_x509_crt_get_verify_algorithm. Corrected some issues with - the code. - -2009-04-17 Simon Josefsson - - * NEWS: Reorder. - -2009-04-17 Simon Josefsson - - * NEWS, lib/gnutls.pc.in: Add -ltasn1 to pkg-config file. Reported - by Andreas Metzler in - - . - -2009-04-17 Simon Josefsson - - * NEWS: Add. - -2009-04-17 Simon Josefsson - - * cfg.mk: Use new po domain. - -2009-04-17 Simon Josefsson - - * lib/po/de.po.in: Sync with TP. - -2009-04-17 Simon Josefsson - - * lib/po/de.po.in: Sync with TP. - -2009-04-17 Simon Josefsson - - * maint.mk: Update gnulib files. - -2009-04-17 Simon Josefsson - - * lib/po/de.po.in: Sync with TP. - -2009-04-16 Simon Josefsson - - * : commit 934102c33ac89ace9a1e1d02047d54f2fea6b59b Merge: bc279f4 - d720f3f Author: Nikos Mavrogiannopoulos Date: - Wed Apr 15 22:43:03 2009 +0300 - -2009-04-14 Simon Josefsson - - * build-aux/gendocs.sh, doc/gendocs_template, doc/lgpl-2.1.texi: - Update gnulib files. - -2009-04-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/inet_ntop.m4, maint.mk: Update gnulib files. - -2009-04-03 Nikos Mavrogiannopoulos - - * NEWS: documented Cedric Bail's function addition - -2009-04-03 Nikos Mavrogiannopoulos - - * : commit 258d2e873f61d5543c674f46a6247b4a379d2cca Author: Simon - Josefsson Date: Fri Apr 3 15:20:09 2009 - +0200 - -2009-04-03 Simon Josefsson - - * lib/po/POTFILES.in: Fix filenames. - -2009-04-03 Simon Josefsson - - * cfg.mk: Fix PODIR. - -2009-04-03 Simon Josefsson - - * Makefile.am, configure.ac, lib/Makefile.am, lib/configure.ac, - lib/po/LINGUAS, lib/po/Makevars, lib/po/POTFILES.in, - lib/po/cs.po.in, lib/po/de.po.in, lib/po/fr.po.in, lib/po/ms.po.in, - lib/po/nl.po.in, lib/po/pl.po.in, lib/po/sv.po.in, lib/po/vi.po.in, - po/LINGUAS, po/Makevars, po/POTFILES.in, po/cs.po.in, po/de.po.in, - po/fr.po.in, po/ms.po.in, po/nl.po.in, po/pl.po.in, po/sv.po.in, - po/vi.po.in: Move i18n dir back to lib/, after discussion with - Bruno. - -2009-04-03 Simon Josefsson - - * configure.ac, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/ld-version-script.m4, - m4/linker-script.m4: Use linker-script from gnulib. - -2009-04-03 Simon Josefsson - - * configure.ac, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/ld-output-def.m4, lib/configure.ac, - libextra/configure.ac, m4/output-def.m4: Use output-def test from - gnulib. - -2009-04-03 Simon Josefsson - - * configure.ac, lib/Makefile.am, lib/libgnutls.map, - lib/libgnutls.vers, lib/libgnutlsxx.map, lib/libgnutlsxx.vers: - Rename linker script. - -2009-04-03 Simon Josefsson - - * lib/Makefile.am, lib/m4/hooks.m4, libextra/Makefile.am: Use - DLL_VERSION variable name. - -2009-03-30 Simon Josefsson - - * po/LINGUAS, po/cs.po.in: Sync with TP. - -2009-03-30 Simon Josefsson - - * lib/gnutls_global.c, lib/openpgp/output.c, lib/x509/output.c: Fix - warnings. - -2009-03-30 Simon Josefsson - - * configure.ac: Only add warnings when using gcc. Don't use - -Wformat-nonliteral. - -2009-03-30 Simon Josefsson - - * GNUmakefile, build-aux/gnupload, gl/Makefile.am, gl/close-hook.c, - gl/close-hook.h, gl/close.c, gl/fseeko.c, gl/gai_strerror.c, - gl/m4/close.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4, - gl/m4/printf.m4, gl/m4/select.m4, gl/m4/stdarg.m4, - gl/m4/sys_select_h.m4, gl/readline.c, gl/select.c, gl/setsockopt.c, - gl/stdint.in.h, gl/sys_select.in.h, gl/sys_socket.in.h, - gl/tests/Makefile.am, gl/tests/sockets.c, gl/tests/sockets.h, - gl/tests/test-getaddrinfo.c, gl/tests/test-sockets.c, - gl/unistd.in.h, gl/vasnprintf.c, gl/winsock-select.c, - lib/gl/Makefile.am, lib/gl/close-hook.c, lib/gl/close-hook.h, - lib/gl/fseeko.c, lib/gl/m4/gnulib-common.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/printf.m4, lib/gl/sockets.c, - lib/gl/sockets.h, lib/gl/stdint.in.h, lib/gl/sys_socket.in.h, - lib/gl/tests/test-sockets.c, lib/gl/unistd.in.h, - lib/gl/vasnprintf.c, lib/gl/w32sock.h, - libextra/gl/m4/gnulib-common.m4, maint.mk: Update gnulib files. - -2009-03-26 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/x509.h, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_int.h: Applied patch by Cedric Bail to add functions - gnutls_x509_crt_verify_hash() and - gnutls_x509_crt_get_sig_algorithm(). - -2009-03-23 Simon Josefsson - - * cfg.mk: Fix bootstrap. - -2009-03-23 Simon Josefsson - - * Makefile.am, cfg.mk, configure.ac, lib/Makefile.am, - lib/configure.ac: Fix po paths. - -2009-03-23 Simon Josefsson - - * lib/po/LINGUAS, lib/po/Makevars, lib/po/POTFILES.in, - lib/po/de.po.in, lib/po/fr.po.in, lib/po/ms.po.in, lib/po/nl.po.in, - lib/po/pl.po.in, lib/po/sv.po.in, lib/po/vi.po.in, po/LINGUAS, - po/Makevars, po/POTFILES.in, po/de.po.in, po/fr.po.in, po/ms.po.in, - po/nl.po.in, po/pl.po.in, po/sv.po.in, po/vi.po.in: Move lib/po to - po/ since the gettext domain is global for gnutls. - -2009-03-04 Simon Josefsson - - * lib/x509/Makefile.am: Cosmetic fix. - -2009-03-04 Simon Josefsson - - * lib/gnutls_global.c, lib/x509/x509_int.h: Be compatible with - libtasn1 before v1.6. - -2009-03-04 Simon Josefsson - - * NEWS: Add. - -2009-03-04 Simon Josefsson - - * NEWS, lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/errors.c, - lib/minitasn1/errors.h, lib/minitasn1/gstr.c, lib/minitasn1/int.h, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/structure.c: Update to minitasn1 v1.8. - -2009-03-04 Simon Josefsson - - * lib/gnutls_global.c, lib/gnutls_global.h, lib/x509/common.c, - lib/x509/crl.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/extensions.c, lib/x509/pkcs12.c, lib/x509/pkcs7.c, - lib/x509/x509.c: Use modern libtasn1 interfaces. - -2009-03-02 Simon Josefsson - - * NEWS: Add. - -2009-03-02 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump version. - -2009-03-02 Simon Josefsson - - * doc/Makefile.am: Add -I's for errcodes/printlist. Reported by - Roman Bogorodskiy in - - . - -2009-02-27 Simon Josefsson - - * ChangeLog: Generated. - -2009-02-27 Simon Josefsson - - * doc/Makefile.am: Fix distcheck. - -2009-02-27 Simon Josefsson - - * doc/Makefile.am: Fix. - -2009-02-27 Simon Josefsson - - * doc/Makefile.am: Remove error_codes.texi and algorithms.texi to - fix make distcheck. - -2009-02-27 Simon Josefsson - - * doc/Makefile.am: Update --css-include path to fix distcheck. - -2009-02-27 Simon Josefsson - - * NEWS: Version 2.7.6. - -2009-02-27 Simon Josefsson - - * .gitignore: Fix. - -2009-02-27 Simon Josefsson - - * gl/tests/test-fseeko2.sh, lib/gl/tests/test-fseeko2.sh: Update - gnulib files. - -2009-02-27 Simon Josefsson - - * gl/m4/gnulib-comp.m4, gl/m4/printf.m4, gl/m4/stdint.m4, - gl/m4/stdlib_h.m4, gl/m4/vasnprintf.m4, gl/tests/Makefile.am, - gl/tests/test-fseeko.c, gl/tests/test-getaddrinfo.c, - gl/vasnprintf.c, lib/gl/m4/gnulib-comp.m4, lib/gl/m4/printf.m4, - lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4, - lib/gl/m4/vasnprintf.m4, lib/gl/tests/Makefile.am, - lib/gl/tests/test-fseeko.c, lib/gl/vasnprintf.c: Update gnulib - files. - -2009-02-27 Simon Josefsson - - * gl/m4/ungetc.m4, lib/gl/m4/ungetc.m4: Update gnulib files. - -2009-02-27 Simon Josefsson - - * doc/scripts/gdoc: Revert %-hack that lead to syntax errors in - texinfo output. - -2009-02-24 Simon Josefsson - - * src/certtool.c: Minor cleanup. - -2009-02-24 Simon Josefsson - - * NEWS, src/certtool-cfg.c: certtool: Query for multiple dnsName - subjectAltName in interactive mode. - -2009-02-23 Simon Josefsson - - * gl/m4/include_next.m4, lib/gl/m4/include_next.m4: Update gnulib - files. - -2009-02-22 Nikos Mavrogiannopoulos - - * NEWS: documented pkix.asn change - -2009-02-22 Nikos Mavrogiannopoulos - - * lib/pkix.asn: Removed several unneeded parameters from pkix tree. - This reduces initial memory usage after gnutls_global_init() from - 140kb (in amd64) to 50kb. - -2009-02-22 Nikos Mavrogiannopoulos - - * lib/x509/dn.c, tests/crq_key_id.c: Added more verbose information. - -2009-02-22 Nikos Mavrogiannopoulos - - * lib/pkix.asn, lib/pkix_asn1_tab.c, lib/x509/dn.c, - tests/crq_key_id.c: Revert "Added more verbose debugging info" This reverts commit c2d3596cddbb54ac4f19c44b15a03ee1fcceab12. - -2009-02-22 Nikos Mavrogiannopoulos - - * lib/pkix.asn, lib/pkix_asn1_tab.c, lib/x509/dn.c, - tests/crq_key_id.c: Added more verbose debugging info - -2009-02-22 Nikos Mavrogiannopoulos - - * doc/TODO: removed items that have already been done or solved. - -2009-02-22 Nikos Mavrogiannopoulos - - * NEWS: documented the SSL3_RECORD_VERSION priority string - -2009-02-22 Nikos Mavrogiannopoulos - - * doc/scripts/gdoc, lib/gnutls_priority.c: Applied patch by Martin - von Gagern: The attached patch fixes gnutls_priority_init(3), but in - a very hackish way, treating a percent sign as indicating a constant - only if it is not immediately preceded by a double quote. - -2009-02-21 Nikos Mavrogiannopoulos - - * doc/manpages/gnutls-cli.1: Corrected listing of special keywords. - Reported by Martin von Gagern. - -2009-02-21 Nikos Mavrogiannopoulos - - * doc/manpages/gnutls-cli.1, lib/gnutls_handshake.c, - lib/gnutls_int.h, lib/gnutls_priority.c: Added %SSL3_RECORD_VERSION - priority option that allows to specify the client hello message - record version. Used to overcome buggy TLS servers. Report by Martin - von Gagern. - -2009-02-15 Nikos Mavrogiannopoulos - - * lib/x509/verify.c: Corrected bit disable (was flipping instead). - Initialy reported by Daniel Kahn Gillmor on 9/1/2008. Many thanks to - moog@sysdev.oucs.ox.ac.uk for bringing this into my attention. - -2009-02-11 Simon Josefsson - - * NEWS: Fix. - -2009-02-11 Simon Josefsson - - * NEWS, src/serv.c: gnutls-serv: No longer disable MAC padding by - default. - -2009-02-11 Simon Josefsson - - * src/serv.c: More gnulib usage. - -2009-02-11 Simon Josefsson - - * src/cli.c: Use more gnulib interfaces. - -2009-02-11 Simon Josefsson - - * NEWS: Add. - -2009-02-11 Simon Josefsson - - * doc/gnutls.texi: Update gnutls-serv --help output. - -2009-02-11 Simon Josefsson - - * doc/gnutls.texi: Update gnutls-cli --help output. - -2009-02-11 Simon Josefsson - - * NEWS, lib/gnutls_int.h, lib/gnutls_priority.c, lib/gnutls_x509.c: - libgnutls: Add new priority strings for allowing RSA-MD5 and V1-CA. - -2009-02-11 Simon Josefsson - - * NEWS, src/cli.c: gnutls-cli: Don't permit V1 CAs by default. - -2009-02-11 Simon Josefsson - - * doc/Makefile.am, doc/errcodes.c, doc/printlist.c, - src/Makefile.am, src/errcodes.c, src/printlist.c: Move doc related - tools from src/ to doc/. - -2009-02-11 Simon Josefsson - - * src/common.c: Typo. - -2009-02-11 Simon Josefsson - - * src/common.c: Typo. - -2009-02-11 Simon Josefsson - - * src/common.c: Print OpenPGP cert info using libgnutls. - -2009-02-11 Simon Josefsson - - * NEWS, lib/openpgp/output.c: libgnutls: gnutls_openpgp_crt_print - supports oneline mode. - -2009-02-11 Simon Josefsson - - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem: Fix expected test vectors. - -2009-02-11 Simon Josefsson - - * NEWS, lib/x509/output.c: libgnutls: gnutls_x509_crt_print prints - signature algorithm in oneline mode. - -2009-02-11 Simon Josefsson - - * gl/m4/close.m4, gl/m4/sockets.m4, gl/tests/sockets.h, - gl/tests/test-sockets.c, lib/gl/m4/sockets.m4, lib/gl/sockets.h, - lib/gl/tests/test-sockets.c: Update gnulib files. - -2009-02-11 Simon Josefsson - - * NEWS, src/common.c: gnutls-cli: Print certificate info using - libgnutls. - -2009-02-11 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-02-11 Simon Josefsson - - * lib/x509/output.c: Print bit size of RSA exponents. - -2009-02-06 Simon Josefsson - - * ChangeLog: Generated. - -2009-02-06 Simon Josefsson - - * src/Makefile.am: Need -lgnutls etc for certtool-cfg.c. - -2009-02-06 Simon Josefsson - - * NEWS: Version 2.7.5. - -2009-02-06 Simon Josefsson - - * NEWS: Merge in old NEWS entries. - -2009-02-06 Simon Josefsson - - * lib/x509/verify.c: Move down revocation check to revert code to - how it looked before. The idea is that if you have marked a cert as - trusted, you may want to trust it even though some authority has - revoked it. This changes back how this code used to work. - -2009-02-02 Simon Josefsson - - * NEWS, doc/TODO, lib/x509/verify.c, tests/chainverify.c: Make it - possible to trust intermediary certificates. Based on tiny patch - from "Douglas E. Engert" in - - . - -2009-02-02 Simon Josefsson - - * tests/chainverify.c: Add another chain from bug reports. - -2009-02-02 Simon Josefsson - - * src/common.c: Print more certificate status values. - -2009-02-02 Simon Josefsson - - * lib/x509/x509.c: Assert less for expected errors. - -2009-02-02 Simon Josefsson - - * lib/x509/output.c: Simplify keyid printing to avoid allocation and - asserts. - -2009-02-01 Simon Josefsson - - * doc/manpages/Makefile.am, doc/scripts/gdoc: Update gdoc and use - -pkg-name. - -2009-02-01 Simon Josefsson - - * build-aux/gnupload, gl/Makefile.am, gl/m4/00gnulib.m4, - gl/m4/errno_h.m4, gl/m4/extensions.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/multiarch.m4, gl/m4/pmccabe2html.m4, - gl/m4/stdlib_h.m4, gl/stdlib.in.h, gl/tests/test-getaddrinfo.c, - gl/version-etc.c, gl/version-etc.h, lib/gl/Makefile.am, - lib/gl/m4/00gnulib.m4, lib/gl/m4/errno_h.m4, - lib/gl/m4/extensions.m4, lib/gl/m4/gnulib-common.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/multiarch.m4, - lib/gl/m4/stdlib_h.m4, lib/gl/stdlib.in.h, - libextra/gl/m4/00gnulib.m4, libextra/gl/m4/extensions.m4, - libextra/gl/m4/gnulib-common.m4, libextra/gl/m4/gnulib-comp.m4: - Update gnulib files. - -2009-01-27 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_handshake.c: gnutls_handshake when sending client - hello during a rehandshake, will not offer a version number larger - than the current. Reported by Tristan Hill . - -2009-01-27 Nikos Mavrogiannopoulos - - * lib/gnutls_psk.c: result_size in gnutls_hex_encode behaves as - documented. It now holds the size of the result. Reported by John - Brooks. - -2009-01-21 Simon Josefsson - - * gl/Makefile.am, gl/arpa_inet.in.h, gl/fseeko.c, gl/m4/alloca.m4, - gl/m4/errno_h.m4, gl/m4/getaddrinfo.m4, gl/m4/getline.m4, - gl/m4/getpass.m4, gl/m4/gettimeofday.m4, gl/m4/gnulib-common.m4, - gl/m4/inet_ntop.m4, gl/m4/inet_pton.m4, gl/m4/intmax_t.m4, - gl/m4/inttypes_h.m4, gl/m4/lib-ld.m4, gl/m4/lib-link.m4, - gl/m4/longlong.m4, gl/m4/malloc.m4, gl/m4/minmax.m4, - gl/m4/printf.m4, gl/m4/readline.m4, gl/m4/realloc.m4, - gl/m4/sockets.m4, gl/m4/sockpfaf.m4, gl/m4/stdbool.m4, - gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, - gl/m4/unistd_h.m4, gl/m4/vasnprintf.m4, gl/m4/wchar_t.m4, - gl/m4/wint_t.m4, gl/progname.c, gl/stdint.in.h, gl/stdio.in.h, - gl/strerror.c, gl/sys_stat.in.h, gl/tests/gettimeofday.c, - gl/tests/ioctl.c, gl/tests/test-unistd.c, gl/unistd.in.h, - gl/wchar.in.h, lib/gl/Makefile.am, lib/gl/fseeko.c, - lib/gl/m4/alloca.m4, lib/gl/m4/byteswap.m4, lib/gl/m4/codeset.m4, - lib/gl/m4/errno_h.m4, lib/gl/m4/gettext.m4, - lib/gl/m4/gnulib-common.m4, lib/gl/m4/iconv.m4, - lib/gl/m4/intldir.m4, lib/gl/m4/intlmacosx.m4, lib/gl/m4/intmax.m4, - lib/gl/m4/intmax_t.m4, lib/gl/m4/inttypes-pri.m4, - lib/gl/m4/inttypes_h.m4, lib/gl/m4/lcmessage.m4, - lib/gl/m4/lib-ld.m4, lib/gl/m4/lib-link.m4, lib/gl/m4/lock.m4, - lib/gl/m4/longlong.m4, lib/gl/m4/malloc.m4, lib/gl/m4/memmem.m4, - lib/gl/m4/memmove.m4, lib/gl/m4/minmax.m4, lib/gl/m4/nls.m4, - lib/gl/m4/po.m4, lib/gl/m4/printf-posix.m4, lib/gl/m4/printf.m4, - lib/gl/m4/progtest.m4, lib/gl/m4/realloc.m4, lib/gl/m4/sockets.m4, - lib/gl/m4/sockpfaf.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4, - lib/gl/m4/stdint_h.m4, lib/gl/m4/stdio_h.m4, lib/gl/m4/strcase.m4, - lib/gl/m4/strverscmp.m4, lib/gl/m4/threadlib.m4, - lib/gl/m4/uintmax_t.m4, lib/gl/m4/unistd_h.m4, - lib/gl/m4/vasnprintf.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4, - lib/gl/stdint.in.h, lib/gl/stdio.in.h, lib/gl/sys_stat.in.h, - lib/gl/tests/test-unistd.c, lib/gl/unistd.in.h, lib/gl/wchar.in.h: - Update gnulib files. - -2009-01-21 Simon Josefsson - - * THANKS: Add. - -2009-01-21 Simon Josefsson - - * libextra/gl/Makefile.am, libextra/gl/gnulib.mk, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-common.m4, - libextra/gl/m4/lib-ld.m4, libextra/gl/m4/lib-link.m4, - libextra/gl/m4/md5.m4: Add -I's in libextra/gl for stdint.h on - Solaris. Reported by Dagobert Michelsen in - - http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3388 - -2009-01-13 Simon Josefsson - - * lib/gnutls_state.c: Check return value properly. - -2009-01-13 Simon Josefsson - - * lib/gnutls_state.c: Fix mem leak because buffer is not expanded - correctly. - -2009-01-09 Simon Josefsson - - * NEWS: Fix typos. - -2009-01-09 Simon Josefsson - - * NEWS, lib/x509/verify.c: Permit V1 Certificate Authorities - properly. Before they were mistakenly rejected even though - GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by - "Douglas E. Engert" in - - . - -2009-01-09 Simon Josefsson - - * src/certtool.c: Permit V1 CA's in new --verify-chain code. - -2009-01-09 Simon Josefsson - - * THANKS: Add. - -2009-01-09 Simon Josefsson - - * tests/chainverify.c: Added chain supplied by "Douglas E. Engert" - . - -2009-01-07 Simon Josefsson - - * src/errcodes.c, src/printlist.c: Fix license header. - -2009-01-07 Simon Josefsson - - * lib/gnutls_errors.c, lib/gnutls_errors.h, lib/gnutls_global.c, - lib/gnutls_global.h, lib/gnutls_int.h: Cleanup logger function type. - -2009-01-07 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2009-01-07 Simon Josefsson - - * ChangeLog: Generated. - -2009-01-07 Simon Josefsson - - * NEWS: Version 2.7.4. - -2009-01-07 Simon Josefsson - - * lib/gnutls_rsa_export.c: Doc fixes. - -2009-01-07 Simon Josefsson - - * doc/examples/ex-client-psk.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-client-tlsia.c, - doc/examples/ex-client1.c, lib/gnutls_algorithms.c, - lib/gnutls_rsa_export.c, lib/openpgp/output.c, lib/x509/output.c, - lib/x509/privkey.c, src/cli.c, src/common.c, src/serv.c, - src/tls_test.c, tests/dhepskself.c: Fix warnings. - -2009-01-07 Simon Josefsson - - * build-aux/gendocs.sh, doc/gendocs_template, gl/Makefile.am, - gl/m4/errno_h.m4, gl/m4/extensions.m4, gl/m4/getaddrinfo.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/inttypes_h.m4, - gl/m4/lib-link.m4, gl/m4/manywarnings.m4, gl/m4/multiarch.m4, - gl/m4/printf.m4, gl/m4/size_max.m4, gl/m4/stdint.m4, - gl/m4/stdint_h.m4, gl/m4/wchar.m4, gl/m4/wchar_t.m4, - gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/stdint.in.h, gl/stdlib.in.h, - gl/sys_select.in.h, gl/tests/Makefile.am, - gl/tests/test-select-in.sh, gl/unistd.in.h, gl/version-etc.c, - gl/wchar.in.h, lib/gl/Makefile.am, lib/gl/m4/codeset.m4, - lib/gl/m4/errno_h.m4, lib/gl/m4/extensions.m4, - lib/gl/m4/gettext.m4, lib/gl/m4/glibc2.m4, lib/gl/m4/glibc21.m4, - lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/iconv.m4, lib/gl/m4/intdiv0.m4, lib/gl/m4/intlmacosx.m4, - lib/gl/m4/intmax.m4, lib/gl/m4/inttypes-pri.m4, - lib/gl/m4/inttypes_h.m4, lib/gl/m4/lcmessage.m4, - lib/gl/m4/lib-link.m4, lib/gl/m4/multiarch.m4, lib/gl/m4/nls.m4, - lib/gl/m4/po.m4, lib/gl/m4/printf-posix.m4, lib/gl/m4/printf.m4, - lib/gl/m4/progtest.m4, lib/gl/m4/size_max.m4, lib/gl/m4/stdint.m4, - lib/gl/m4/stdint_h.m4, lib/gl/m4/threadlib.m4, - lib/gl/m4/uintmax_t.m4, lib/gl/m4/visibility.m4, - lib/gl/m4/wchar.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4, - lib/gl/m4/xsize.m4, lib/gl/stdint.in.h, lib/gl/stdlib.in.h, - lib/gl/tests/Makefile.am, lib/gl/unistd.in.h, lib/gl/wchar.in.h, - libextra/gl/Makefile.am, libextra/gl/m4/extensions.m4, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-comp.m4, - libextra/gl/m4/lib-link.m4: Update gnulib files. - -2009-01-07 Simon Josefsson - - * NEWS: Fix NEWS entry. - -2009-01-07 Simon Josefsson - - * tests/sha2/sha2: Fix self-test with new certtool --verify-chain - output. - -2009-01-06 Daniel Kahn Gillmor - - * NEWS: added NEWS item about MD5 deprecation - -2009-01-06 Simon Josefsson - - * tests/pkcs1-padding/pkcs1-pad: Fix expect strings to compensate - for new certtool -e output. - -2009-01-06 Simon Josefsson - - * NEWS, src/certtool.c: certtool: Make --verify-chain use libgnutls - verification algorithm. - -2009-01-06 Simon Josefsson - - * tests/chainverify.c: Test chain with EE cert signed using RSA-MD5. - -2009-01-06 Daniel Kahn Gillmor - - * lib/x509/verify.c: actually deprecate MD5 and MD2 signatures - during X.509 verification by treating them as invalid unless the - GNUTLS_VERIFY_ALLOW_SIGN_RSA_{MD5,MD2} flags are present. - -2008-12-12 Simon Josefsson - - * NEWS: Add NEWS entries from 2.6.3. - -2008-12-12 Simon Josefsson - - * tests/crq_key_id.c: Fix. - -2008-12-12 Simon Josefsson - - * tests/crq_key_id.c: Make it compile. Speed up key generation. - -2008-12-12 Simon Josefsson - - * tests/crq_key_id.c: Indent. - -2008-12-12 Simon Josefsson - - * NEWS, tests/Makefile.am, tests/crq_key_id.c: Add crq_key_id - self-test from David Marín Carreño. - -2008-12-11 Simon Josefsson - - * configure.ac: Update manywarnings usage. - -2008-12-11 Simon Josefsson - - * NEWS: Add. - -2008-12-11 Simon Josefsson - - * lib/x509/output.c: Print public key id for certificate requests - too. - -2008-12-11 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-12-11 Simon Josefsson - - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2008-12-11 Simon Josefsson - - * AUTHORS, NEWS, lib/includes/gnutls/x509.h, lib/x509/crq.c: gnutls: - New interface to get key id for certificate requests. Patch from - David Marín Carreño in - - . - -2008-12-10 Simon Josefsson - - * ChangeLog: Generated. - -2008-12-10 Simon Josefsson - - * NEWS: Version 2.7.3. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Check ca=false with flags too. - -2008-12-10 Simon Josefsson - - * gl/override/tests/test-lseek.sh.diff, gl/tests/test-lseek.sh, - lib/gl/tests/test-lseek.sh: Disable parts of gnulib self-tests that - fail on mingw. - -2008-12-10 Simon Josefsson - - * lib/gl/tests/test-lseek.c, maint.mk: Update gnulib files. - -2008-12-10 Simon Josefsson - - * gl/override/tests/test-lseek.c.diff, - gl/override/tests/test-select-in.sh.diff, gl/tests/test-lseek.c, - gl/tests/test-select-in.sh: Disable parts of gnulib self-tests that - fail on mingw. - -2008-12-10 Simon Josefsson - - * doc/examples/ex-cxx.cpp: Drop config.h, not needed (hopefully?) - and breaks mingw due to rpl_gmtime. - -2008-12-10 Simon Josefsson - - * src/Makefile.am: Certtool need libgnutls etc for - libcmd-certtool.la too, due to certtool-cfg.c. - -2008-12-10 Simon Josefsson - - * tests/x509self.c: Fix comments. - -2008-12-10 Simon Josefsson - - * NEWS: Add. - -2008-12-10 Simon Josefsson - - * NEWS: Add. - -2008-12-10 Simon Josefsson - - * tests/cve-2008-4989.c: Align with Nikos' patch. - -2008-12-10 Simon Josefsson - - * lib/opencdk/Makefile.am, lib/opencdk/armor.c, - lib/opencdk/keydb.c, lib/opencdk/literal.c, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/read-packet.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c: Revert "Fix warnings - in opencdk." This reverts commit 59cddc711e55bbd094bdf95986277fb33ba964ee. - -2008-12-10 Simon Josefsson - - * lib/x509/verify.c: Revert last commit. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Add GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT flag - when needed. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Add hbci chain. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Fix comments. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Fix order to match comments. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Don't fail on expect errors, to allow more - information to be collected. - -2008-12-10 Simon Josefsson - - * NEWS, lib/x509/verify.c: Revert Nikos revert, and fix verification - hopefully better. The new logic is to include the CA cert in - validation, but short-cut full validation of trusted certificates. - -2008-12-10 Simon Josefsson - - * tests/chainverify.c: Add chain with CA having a basic constraint - saying CA=FALSE. - -2008-12-10 Simon Josefsson - - * tests/cve-2008-4989.c: Add note. - -2008-12-10 Simon Josefsson - - * NEWS, tests/Makefile.am, tests/chainverify.c: Add self-test of - chain verification logic. - -2008-12-09 Simon Josefsson - - * tests/libgcrypt.supp: Ignore more. - -2008-12-05 Simon Josefsson - - * NEWS: Add. - -2008-12-05 Nikos Mavrogiannopoulos - - * lib/x509/verify.c: reintroduced the self signed certificate - removal code. This time shouldn't have the drawbacks that used to. - -2008-12-05 Simon Josefsson - - * lib/gnutls_global.c: Disable secmem rather than overriding - libgcrypt memory allocators. Suggested by Werner Koch in - - . - -2008-12-04 Nikos Mavrogiannopoulos - - * lib/gnutls_global.c: rearranged initialization stuff based on - Werner's suggestions. - -2008-12-04 Nikos Mavrogiannopoulos - - * src/certtool.c: gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0) is - being called after libgcrypt initialization (gnutls_global_init). - -2008-12-03 Simon Josefsson - - * lib/opencdk/Makefile.am, lib/opencdk/armor.c, - lib/opencdk/keydb.c, lib/opencdk/literal.c, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/read-packet.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c: Fix warnings in - opencdk. - -2008-12-03 Simon Josefsson - - * gl/m4/manywarnings.m4: Add. - -2008-12-01 Simon Josefsson - - * configure.ac, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/warnings.m4, - gl/stdint.in.h, gl/sys_time.in.h, lib/gl/m4/include_next.m4, - lib/gl/stdint.in.h: Update gnulib files. - -2008-11-29 Nikos Mavrogiannopoulos - - * tests/x509self.c: Incorporated patch (with modifications) from Joe - Orton that also checks the rehandshake capabilities. - -2008-11-25 Simon Josefsson - - * lib/opencdk/Makefile.am, lib/openpgp/Makefile.am, - libextra/Makefile.am, tests/Makefile.am: Fix minitasn1 -I's. - -2008-11-25 Simon Josefsson - - * lib/x509/Makefile.am: Fix minitasn1 -I. - -2008-11-25 Simon Josefsson - - * lib/gnutls_buffers.c: Fix compiler warning. - -2008-11-23 Simon Josefsson - - * src/Makefile.am: Libreadline is needed by libcmd_certtool.la, not - certtool. Reported by Arfrever Frehtes Taifersar Arahesis - in - - . - -2008-11-23 Nikos Mavrogiannopoulos - - * lib/opencdk/context.h, lib/opencdk/literal.c, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/opencdk.h, - lib/opencdk/read-packet.c: Converted non-C compliant code to - standard C. The usage of structures like: struct x { int el1; char str[1]; } and the trick of using a single allocation for str and the structure - itself by allocating sizeof(x) + strlen()-1, are questionable. They - were converted to: struct x { int el1; char *str; } and there is a single allocation of sizeof(x)+strlen() but then the - str pointer is updated to point to the rest of the data. - -2008-11-23 Nikos Mavrogiannopoulos - - * lib/gnutls_buffers.c, lib/gnutls_int.h, lib/gnutls_str.c, - lib/gnutls_str.h, lib/x509/dn.c: When reading data from a buffer - (gnutls_string) avoid memmoving all remaining data. This will speed - up short byte reads. - -2008-11-21 Nikos Mavrogiannopoulos - - * doc/TODO: reorganized goals - -2008-11-21 Nikos Mavrogiannopoulos - - * src/cli.c: return non zero error code on error conditions. - -2008-11-21 Nikos Mavrogiannopoulos - - * doc/certtool.cfg: better grouping of configuration directives - -2008-11-21 Nikos Mavrogiannopoulos - - * : commit 8b14ab18cf5e5214ac3d28412e0c503e83a753c1 Author: Nikos - Mavrogiannopoulos Date: Fri Nov 21 21:02:45 - 2008 +0200 - -2008-11-18 Simon Josefsson - - * lib/gnutls_compress.c: Clean up LZO initialization. - -2008-11-18 Simon Josefsson - - * lib/auth_cert.c: Don't use // comments. - -2008-11-18 Simon Josefsson - - * src/Makefile.am: Change link order, so that gnulib is last. - -2008-11-18 Simon Josefsson - - * maint.mk: Update gnulib files. - -2008-11-18 Simon Josefsson - - * lib/po/LINGUAS: Sync with TP. - -2008-11-18 Simon Josefsson - - * lib/po/LINGUAS: Sync with TP. - -2008-11-18 Simon Josefsson - - * lib/po/LINGUAS, lib/po/ms.po.in: Sync with TP. - -2008-11-18 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2008-11-18 Simon Josefsson - - * ChangeLog: Generated. - -2008-11-18 Simon Josefsson - - * NEWS: Version 2.7.2. - -2008-11-18 Simon Josefsson - - * doc/reference/Makefile.am: Add deprecated guard for libtasn1. - -2008-11-18 Simon Josefsson - - * NEWS, lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/element.h, - lib/minitasn1/errors.c, lib/minitasn1/gstr.h, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/parser_aux.h, lib/minitasn1/structure.c, - lib/minitasn1/structure.h: Sync with libtasn1 v1.7. - -2008-11-18 Simon Josefsson - - * doc/examples/Makefile.am, lib/Makefile.am, - lib/openpgp/Makefile.am, libextra/Makefile.am: Fix WARN_CFLAGS uses. - -2008-11-18 Simon Josefsson - - * lib/gnutls_compress.c: Fix warnings. - -2008-11-18 Simon Josefsson - - * tests/Makefile.am: Respect ENABLE_OPENSSL. - -2008-11-18 Simon Josefsson - - * configure.ac: Move gnulib EARLY early. - -2008-11-18 Simon Josefsson - - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - lib/m4/output-def.m4, libextra/configure.ac, m4/output-def.m4: Move - C++ and -output-def detection. - -2008-11-18 Simon Josefsson - - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - lib/m4/linker-script.m4, libextra/configure.ac, m4/linker-script.m4: - Fix linker script test. - -2008-11-18 Simon Josefsson - - * configure.ac: Fix typo. - -2008-11-18 Simon Josefsson - - * configure.ac, libextra/m4/hooks.m4: Print Openssl status. - -2008-11-18 Simon Josefsson - - * configure.ac, lib/m4/hooks.m4: Print C++ status. - -2008-11-18 Simon Josefsson - - * configure.ac: Cleanup guile tests. - -2008-11-17 Simon Josefsson - - * gl/m4/warnings.m4: Update gnulib files. - -2008-11-17 Simon Josefsson - - * configure.ac: Rewrite warning initializations. - -2008-11-17 Simon Josefsson - - * configure.ac: Typo. - -2008-11-17 Simon Josefsson - - * gl/m4/warnings.m4: Update gnulib files. - -2008-11-17 Simon Josefsson - - * doc/examples/examples.h: Add. - -2008-11-17 Simon Josefsson - - * configure.ac, doc/examples/Makefile.am, doc/examples/ex-alert.c, - doc/examples/ex-client-psk.c, doc/examples/ex-pkcs12.c, - doc/examples/ex-rfc2818.c, doc/examples/ex-session-info.c, - doc/examples/ex-verify.c, doc/examples/ex-x509-info.c, - doc/examples/tcp.c, gl/gettext.h, gl/override/lib/gettext.h.diff, - lib/gl/gettext.h, lib/gl/override/lib/gettext.h.diff, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_state.c, - lib/gnutls_str.h, lib/openpgp/output.c, lib/x509/Makefile.am, - lib/x509/dn.c, lib/x509/output.c, lib/x509/privkey.c, - libextra/fipsmd5.c, libextra/gnutls_extra.c, - libextra/gnutls_openssl.c, src/Makefile.am, src/cli.c, - src/common.h, src/crypt.c, src/prime.c, src/psk.c, src/serv.c, - src/tls_test.c, tests/Makefile.am, tests/anonself.c, - tests/crypto_rng.c, tests/dhepskself.c, tests/dn.c, - tests/finished.c, tests/gc.c, tests/mini.c, tests/openpgpself.c, - tests/pkcs12_s2k.c, tests/pskself.c, tests/resume.c, - tests/set_pkcs12_cred.c, tests/tlsia.c, tests/utils.c, - tests/utils.h, tests/x509dn.c, tests/x509self.c, - tests/x509signself.c: Use more warnings. Fix many warnings. - -2008-11-17 Simon Josefsson - - * gl/m4/warnings.m4, gl/override/tests/test-select-out.sh.diff, - gl/tests/test-select-out.sh: Update gnulib files. - -2008-11-17 Simon Josefsson - - * lib/includes/gnutls/compat.h, lib/includes/gnutls/crypto.h, - lib/includes/gnutls/gnutlsxx.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/x509.h: Fix - cosmetic nits in header files. - -2008-11-17 Simon Josefsson - - * NEWS, lib/includes/gnutls/compat.h, - lib/includes/gnutls/gnutls.h.in: Fix namespace of version symbols. - -2008-11-17 Simon Josefsson - - * NEWS: Add. - -2008-11-17 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Move #include's outside of C++ - markers. - -2008-11-17 Simon Josefsson - - * src/cli-gaa.c, src/cli-gaa.h, src/serv-gaa.c, src/serv-gaa.h: - Generated. - -2008-11-17 Simon Josefsson - - * src/common.c: Work around gnulib+mingw problem. - -2008-11-17 Simon Josefsson - - * src/cli.gaa, src/common.h, src/serv.c, src/serv.gaa: Never include - config.h in *.h files. - -2008-11-17 Simon Josefsson - - * gl/m4/hostent.m4, gl/m4/servent.m4: Update gnulib files. - -2008-11-17 Simon Josefsson - - * gl/override/tests/test-select-out.sh.diff, - gl/tests/test-select-out.sh: Work around reported bug in gnulib - self-tests. - -2008-11-17 Simon Josefsson - - * gl/m4/getaddrinfo.m4, gl/m4/gnulib-comp.m4, gl/m4/sockets.m4, - gl/tests/test-select-out.sh, lib/gl/m4/sockets.m4: Update gnulib - files. - -2008-11-17 Simon Josefsson - - * Makefile.am, build-aux/gnupload, gl/m4/getaddrinfo.m4, - gl/m4/netdb_h.m4, gl/netdb.in.h, gl/tests/sockets.h, - lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/netdb_h.m4, lib/gl/netdb.in.h, - lib/gl/sockets.h, lib/gl/tests/Makefile.am, - libextra/gl/Makefile.am, libextra/gl/m4/gnulib-cache.m4, - libextra/gl/m4/gnulib-comp.m4: Update gnulib files. - -2008-11-17 Simon Josefsson - - * lib/gnutls_auth.c: Make it build. - -2008-11-15 Nikos Mavrogiannopoulos - - * lib/gnutls_auth.c: Corrected memory leak in - _gnutls_free_auth_info(). Trace and patch by Michael Weiser. - -2008-11-14 Simon Josefsson - - * tests/Makefile.am: Disable openpgp-keyring when not building - openpgp. - -2008-11-14 Simon Josefsson - - * tests/Makefile.am: Add -I for libextra too. - -2008-11-14 Simon Josefsson - - * lib/gnutlsxx.cpp: Make it compile with --disable-openpgp. - -2008-11-14 Simon Josefsson - - * tests/resume.c: Fix warning. - -2008-11-14 Simon Josefsson - - * lib/mpi-libgcrypt.c: Don't return from void function. Reported by - Jeff Cai in - https://savannah.gnu.org/support/?106549 - -2008-11-14 Simon Josefsson - - * lib/gnutls_int.h, libextra/ext_inner_application.c, - libextra/gnutls_ia.c: Include gnutls/extra.h at the right places. - -2008-11-14 Simon Josefsson - - * lib/mac-libgcrypt.c: Don't return from void function. Reported by - Jeff Cai in - https://savannah.gnu.org/support/?106549 - -2008-11-14 Simon Josefsson - - * tests/Makefile.am, tests/pkcs12-decode/Makefile.am, - tests/pkcs12-decode/pkcs12_s2k.c, tests/pkcs12_s2k.c: Move - pkcs12_s2k.c test to top-level to avoid -I/etc flag duplication. - -2008-11-14 Simon Josefsson - - * tests/pkcs12-decode/pkcs12: Test pkcs12_2certs.p12 too. - -2008-11-14 Simon Josefsson - - * tests/pkcs12-decode/Makefile.am: Dist pkcs12_2certs.p12. - -2008-11-14 Simon Josefsson - - * doc/Makefile.am: Dist README.gaa. - -2008-11-14 Simon Josefsson - - * doc/Makefile.am: Remove README.autoconf. - -2008-11-14 Simon Josefsson - - * lib/m4/hooks.m4: Run AC_PROG_CXX only when needed. Reported by - Daniel Black in - . - -2008-11-13 Simon Josefsson - - * configure.ac: Use more warnings. - -2008-11-13 Simon Josefsson - - * libextra/gnutls_openssl.c: Fix warning. - -2008-11-13 Simon Josefsson - - * lib/Makefile.am: Drop incorrect -I. - -2008-11-13 Simon Josefsson - - * doc/README.gaa: Add. - -2008-11-13 Simon Josefsson - - * configure.ac, doc/examples/ex-serv-export.c, - libextra/gnutls_ia.c, src/Makefile.am, src/certtool-gaa.c, - src/cli-gaa.c, src/crypt-gaa.c, src/psk-gaa.c, src/serv-gaa.c, - src/tests.c, src/tls_test-gaa.c: Use more warnings. Fix warnings. - -2008-11-12 Simon Josefsson - - * lib/auth_cert.c, lib/gnutls_mpi.c, lib/gnutls_pk.c, - lib/mac-libgcrypt.c: Fix warnings. - -2008-11-12 Simon Josefsson - - * cfg.mk: Add -Werror again, code is fixed. - -2008-11-12 Simon Josefsson - - * doc/examples/Makefile.am: Use warning flags, but not for C++ code. - -2008-11-12 Simon Josefsson - - * tests/Makefile.am, tests/cve-2008-4989.c: Use more warnings. Fix - warnings. - -2008-11-12 Simon Josefsson - - * src/Makefile.am, src/certtool-cfg.h, src/certtool-gaa.c: Use more - warnings. Fix warnings. - -2008-11-12 Simon Josefsson - - * lib/openpgp/Makefile.am, libextra/Makefile.am, - libextra/gl/Makefile.am, libextra/gl/m4/extensions.m4, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-comp.m4: Use - more warning flags. Need extensions in libextra. - -2008-11-12 Simon Josefsson - - * lib/gnutls_buffers.c, lib/gnutls_extensions.c, - lib/gnutls_extensions.h, lib/gnutls_handshake.c, lib/gnutls_mpi.c, - lib/gnutls_x509.c: Fix warnings. - -2008-11-12 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Add prototype for - gnutls_certificate_set_x509_simple_pkcs12_mem. - -2008-11-12 Simon Josefsson - - * lib/x509/Makefile.am: Use WARN_CFLAGS. - -2008-11-12 Simon Josefsson - - * lib/ext_server_name.c, lib/gnutls_cipher.c, - lib/gnutls_constate.c, lib/gnutls_extensions.c, - lib/gnutls_handshake.c, lib/gnutls_record.c, - lib/gnutls_supplemental.c, lib/gnutls_v2_compat.c: Fix warnings. - -2008-11-12 Simon Josefsson - - * Makefile.am: Build gl/ later. - -2008-11-12 Simon Josefsson - - * cfg.mk: Drop -Werror because gnutls code doesn't compile with it. - -2008-11-12 Simon Josefsson - - * configure.ac, lib/Makefile.am: Disable pointer sign warnings. Use - WARN_CFLAGS more. - -2008-11-12 Simon Josefsson - - * configure.ac: Better warning flag hangling. - -2008-11-12 Simon Josefsson - - * cfg.mk, doc/README.GIT: Drop --enable-developer-mode. - -2008-11-12 Simon Josefsson - - * configure.ac: Remove debug code. - -2008-11-12 Simon Josefsson - - * cfg.mk, configure.ac: Use warnings module. - -2008-11-12 Simon Josefsson - - * cfg.mk, configure.ac, gl/m4/gnulib-comp.m4, gl/m4/warnings.m4, - lib/configure.ac, libextra/configure.ac: Use gnulib warnings module. - -2008-11-12 Simon Josefsson - - * NEWS: Add v2.6.2 entries. - -2008-11-12 Simon Josefsson - - * lib/m4/hooks.m4, lib/m4/output-def.m4: Use output-def.m4. - -2008-11-12 Simon Josefsson - - * lib/gnutls.pc.in, libextra/gnutls-extra.pc.in: Add URL fields. - -2008-11-12 Simon Josefsson - - * lib/m4/hooks.m4, lib/m4/linker-script.m4: Fix version script - detection. - -2008-11-12 Simon Josefsson - - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - lib/m4/linker-script.m4, libextra/configure.ac, m4/valgrind.m4: Use - external m4 files for shared tests. - -2008-11-12 Simon Josefsson - - * NEWS: Fix. - -2008-11-12 Simon Josefsson - - * tests/cve-2008-4989.c: Frob expected verify status code. With - latest verify.c patch it just say the chain is invalid, rather than - complaining about missing signer certificate. This is arguable more - correct. - -2008-11-12 Simon Josefsson - - * lib/x509/verify.c: Remove check of last certificate in path is - self signed. Causes crashes further down in the code for - certificate chains that only contain one self-signed certificate. - Still protects against the GNUTLS-SA-2008-3 vulnerabillity. - Reported by Michael Meskes in - . - -2008-11-12 Simon Josefsson - - * gl/tests/test-select-out.sh: Comment out broken test. - -2008-11-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/warnings.m4, lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/warnings.m4: Update gnulib - files. - -2008-11-11 Simon Josefsson - - * Makefile.am: Need more -I's. - -2008-11-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/warnings.m4: Update gnulib - files. - -2008-11-11 Simon Josefsson - - * gl/Makefile.am, gl/fseeko.c, gl/m4/getaddrinfo.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/netdb_h.m4, - gl/m4/printf.m4, gl/netdb.in.h, gl/tests/test-select-fd.c, - gl/tests/test-select-in.sh, gl/tests/test-select-out.sh, - lib/gl/Makefile.am, lib/gl/fseeko.c, lib/gl/m4/netdb_h.m4, - lib/gl/m4/printf.m4, lib/gl/netdb.in.h: Update gnulib files. - -2008-11-11 Simon Josefsson - - * tests/cve-2008-4989.c: Also test chain length of 1 since the - security patch caused a crash. - -2008-11-11 Simon Josefsson - - * tests/libgcrypt.supp: Add another gcrypt leak. - -2008-11-11 Simon Josefsson - - * lib/gnutls_extensions.c, lib/gnutls_extensions.h, - lib/gnutls_global.c: Fix mem leak. - -2008-11-11 Simon Josefsson - - * tests/cve-2008-4989.c: Fix mem leaks. - -2008-11-11 Simon Josefsson - - * NEWS, tests/Makefile.am, tests/cve-2008-4989.c: Add - cve-2008-4989.c self-test. - -2008-11-10 Simon Josefsson - - * gl/tests/gettimeofday.c, gl/tests/test-gettimeofday.c, - gl/tests/test-select-fd.c, gl/tests/test-select-in.sh, - gl/tests/test-select-out.sh, gl/tests/test-select-stdin.c: Update - gnulib files. - -2008-11-10 Simon Josefsson - - * gl/m4/gettimeofday.m4, gl/m4/gnulib-comp.m4, - gl/m4/sys_ioctl_h.m4, gl/tests/Makefile.am, - lib/gl/m4/include_next.m4, lib/gl/sys_stat.in.h: Update gnulib - files. - -2008-11-10 Simon Josefsson - - * NEWS, THANKS, lib/x509/verify.c: Merge in v2.6.1 fixes. - -2008-11-07 Simon Josefsson - - * NEWS, lib/m4/hooks.m4: Use modern -Wl,--version-script check. - -2008-11-07 Simon Josefsson - - * doc/cyclo/Makefile.am: Cover more files. - -2008-11-07 Simon Josefsson - - * lib/opencdk/opencdk.h: Fix C++ rule, for pmccabe2html. - -2008-11-07 Simon Josefsson - - * build-aux/pmccabe.css, build-aux/pmccabe2html, configure.ac, - doc/Makefile.am, doc/cyclo/Makefile.am, gl/Makefile.am, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/pmccabe2html.m4, - gl/sys_stat.in.h: Add cyclomatic code complexity charts. - -2008-11-07 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-11-07 Simon Josefsson - - * NEWS, lib/m4/hooks.m4, libextra/configure.ac: Need LZO detection - in libgnutls. - -2008-11-05 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_x509.c, tests/Makefile.am, - tests/set_pkcs12_cred.c: * Added gnutls_certificate_set_x509_simple_pkcs12_mem * Made gnutls_certificate_set_x509_simple_pkcs12_file() more - advanced. It will return a corresponding certificate and key pair. - [The previous version would return the first ones found]. Eliminated - memory leaks on error conditions on these functions. - -2008-11-05 Nikos Mavrogiannopoulos - - * .gitignore: ignore more stuff - -2008-11-05 Nikos Mavrogiannopoulos - - * NEWS, doc/certtool.cfg, src/certtool-cfg.c, src/certtool.c: - certtool: allow setting arbitrary key purpose object identifiers. - -2008-11-05 Simon Josefsson - - * doc/README.autoconf: Remove obsolete instructions. - -2008-11-04 Simon Josefsson - - * lib/gnutls_srp.c, lib/gnutls_ui.c: Doc fix. - -2008-11-04 Simon Josefsson - - * NEWS: Add. - -2008-11-04 Simon Josefsson - - * src/certtool.c: Use error instead of fprintf. - -2008-11-04 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Indent differently for gtk-doc. - -2008-11-04 Simon Josefsson - - * doc/reference/Makefile.am: Ignore gnulib headers. - -2008-11-04 Simon Josefsson - - * m4/ax_create_stdint_h.m4: Remove. - -2008-11-04 Simon Josefsson - - * doc/reference/Makefile.am: Ignore config.h. - -2008-11-04 Simon Josefsson - - * tests/Makefile.am: Drop pointless gc_LDADD. - -2008-11-04 Simon Josefsson - - * tests/Makefile.am: Drop removed -Ilgl. - -2008-11-04 Simon Josefsson - - * NEWS, doc/Makefile.am, doc/fdl-1.3.texi, doc/fdl.texi, - doc/gnutls.texi, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/include_next.m4: Update gnulib files. - Use GFDLv1.3 for manual. - -2008-11-04 Simon Josefsson - - * NEWS: Add. - -2008-11-04 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Fix typo. - -2008-11-04 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Sync gnutls_srp_set_prime_bits - prototype with code. - -2008-11-04 Simon Josefsson - - * lib/includes/gnutls/gnutls.h.in: Add forgotten prototype for - gnutls_srp_server_get_username. Reported by Kevin Quick. - -2008-11-03 Nikos Mavrogiannopoulos - - * lib/gnutls_ui.c: documented that gnutls_dh_set_prime_bits() has no - effect in server side. - -2008-11-03 Nikos Mavrogiannopoulos - - * : commit fe191e360728fcee72cf5ba835f2301f1bf78b49 Author: Nikos - Mavrogiannopoulos Date: Mon Nov 3 21:44:38 - 2008 +0200 - -2008-11-03 Simon Josefsson - - * lib/gl/Makefile.am, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/memchr.m4, lib/gl/m4/memcmp.m4, lib/gl/memchr.c, - lib/gl/memcmp.c, lib/gl/tests/Makefile.am, - lib/gl/tests/test-memchr.c, lib/gl/tests/test-memcmp.c, maint.mk: - Update gnulib files. - -2008-11-03 Simon Josefsson - - * NEWS: Add. - -2008-11-03 Simon Josefsson - - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. - -2008-11-03 Simon Josefsson - - * lib/m4/hooks.m4: Check for C99 macros. - -2008-11-02 Nikos Mavrogiannopoulos - - * lib/minitasn1/decoding.c, lib/minitasn1/element.c, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/parser_aux.h: * added BER octet string decoder from libtasn1. * added the tree generation optimizations. - -2008-11-02 Nikos Mavrogiannopoulos - - * src/certtool.c: * Some more verbose out. * Do not abort the pkcs12 structure parsing if one bag failed. - -2008-11-02 Nikos Mavrogiannopoulos - - * lib/x509/pkcs12.c: Reduce verbosity - -2008-11-02 Nikos Mavrogiannopoulos - - * lib/x509/pkcs12.c: print DER errors if any. - -2008-10-31 Simon Josefsson - - * doc/texinfo.css: Use white background. - -2008-10-31 Simon Josefsson - - * ChangeLog: Generated. - -2008-10-31 Simon Josefsson - - * NEWS: Version 2.7.1. - -2008-10-30 Simon Josefsson - - * guile/src/Makefile.am: Really fix -I's. - -2008-10-30 Simon Josefsson - - * guile/src/Makefile.am: Fix -I's. - -2008-10-30 Simon Josefsson - - * tests/Makefile.am: Add -lgnutls-extra for openpgp-keyring. - -2008-10-30 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/sys_stat_h.m4, gl/sys_stat.in.h, gl/tests/Makefile.am, - gl/tests/test-sys_stat.c: Need more gnulib modules. - -2008-10-30 Simon Josefsson - - * gl/Makefile.am, gl/connect.c, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/recv.c, gl/send.c, gl/tests/Makefile.am, - gl/tests/connect.c, src/certtool.c, src/cli.c: Need more gnulib - modules. - -2008-10-30 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/perror.c, gl/tests/Makefile.am, gl/tests/perror.c: Update gnulib - files. - -2008-10-30 Simon Josefsson - - * .gitignore: Update. - -2008-10-30 Simon Josefsson - - * doc/.gitignore, lib/po/.gitignore, libextra/.gitignore: Update. - -2008-10-30 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/minmax.m4, gl/m4/read-file.m4, gl/minmax.h, gl/read-file.c, - gl/read-file.h, gl/tests/Makefile.am, gl/tests/test-read-file.c, - src/Makefile.am, src/cli.c, src/serv.c: Need more gnulib modules. - -2008-10-30 Simon Josefsson - - * gl/accept.c, gl/alloca.c, gl/bind.c, gl/close.c, gl/fclose.c, - gl/listen.c, gl/m4/close.m4, gl/m4/fclose.m4, gl/m4/perror.m4, - gl/m4/sockets.m4, gl/m4/sys_ioctl_h.m4, gl/m4/sys_select_h.m4, - gl/m4/sys_time_h.m4, gl/setsockopt.c, gl/socket.c, - gl/sys_select.in.h, gl/sys_time.in.h, gl/tests/connect.c, - gl/tests/ioctl.c, gl/tests/perror.c, gl/tests/sockets.c, - gl/tests/sockets.h, gl/tests/sys_ioctl.in.h, - gl/tests/test-perror.c, gl/tests/test-perror.sh, - gl/tests/test-select.c, gl/tests/test-sockets.c, - gl/tests/test-sys_select.c, gl/tests/test-sys_time.c, - gl/tests/w32sock.h, gl/winsock-select.c: Update gnulib files. - -2008-10-30 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/shutdown.c, gl/tests/Makefile.am, gl/tests/dummy.c, - gl/w32sock.h, lib/Makefile.am, src/common.h: Use sockets module. - -2008-10-30 Simon Josefsson - - * guile/src/Makefile.am: Fix. - -2008-10-30 Simon Josefsson - - * configure.ac, lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/sockets.m4, lib/gl/sockets.c, - lib/gl/sockets.h, lib/gl/tests/Makefile.am, - lib/gl/tests/test-sockets.c, lib/gnutls_buffers.c, - lib/gnutls_global.c: Better gnulib module usage. - -2008-10-30 Simon Josefsson - - * gl/m4/gnulib-comp.m4: Update gnulib files. - -2008-10-30 Simon Josefsson - - * configure.ac, configure.in: Rename. - -2008-10-30 Simon Josefsson - - * guile/src/Makefile.am, src/Makefile.am: Fixes. - -2008-10-30 Simon Josefsson - - * configure.in, lib/configure.ac, tests/Makefile.am: Fixes. - -2008-10-30 Simon Josefsson - - * configure.in: Remove. - -2008-10-30 Simon Josefsson - - * Makefile.am, configure.in, doc/Makefile.am, - doc/examples/Makefile.am, doc/reference/Makefile.am, - guile/src/Makefile.am, includes/Makefile.am, - includes/gnutls/compat.h, includes/gnutls/crypto.h, - includes/gnutls/extra.h, includes/gnutls/gnutls.h.in, - includes/gnutls/gnutlsxx.h, includes/gnutls/openpgp.h, - includes/gnutls/openssl.h, includes/gnutls/pkcs12.h, - includes/gnutls/x509.h, lib/Makefile.am, lib/configure.ac, - lib/includes/Makefile.am, lib/includes/gnutls/compat.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/gnutlsxx.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/x509.h, - lib/opencdk/Makefile.am, lib/openpgp/Makefile.am, - lib/x509/Makefile.am, libextra/Makefile.am, libextra/configure.ac, - libextra/includes/Makefile.am, libextra/includes/gnutls/extra.h, - libextra/includes/gnutls/openssl.h, src/Makefile.am, - tests/Makefile.am, tests/hostname-check.README, - tests/hostname-check.c, tests/hostname-check/Makefile.am, - tests/hostname-check/README, tests/hostname-check/hostname-check.c, - tests/openpgp-keyring.c, tests/openpgp/Makefile.am, - tests/openpgp/keyring.c, tests/pkcs12-decode/Makefile.am: Separate - headers as well. Clean up -I's. - -2008-10-30 Simon Josefsson - - * guile/src/Makefile.am, tests/Makefile.am, - tests/pkcs12-decode/Makefile.am: Builds on my system now. - -2008-10-30 Simon Josefsson - - * NEWS: Add. - -2008-10-30 Simon Josefsson - - * configure.in, lib/gnutls_mem.h: Drop dmalloc and efence support. - -2008-10-30 Simon Josefsson - - * configure.in, lib/Makefile.am, lib/configure.ac, lib/m4/hooks.m4, - lib/openpgp/Makefile.am, lib/x509/Makefile.am, - libextra/Makefile.am, src/Makefile.am: Make it build better. - -2008-10-30 Simon Josefsson - - * configure.in, lib/Makefile.am, lib/m4/hooks.m4, - libextra/Makefile.am, src/Makefile.am: Fixes. - -2008-10-30 Simon Josefsson - - * cfg.mk, configure.in, includes/gnutls/gnutls.h.in, - lib/Makefile.am, lib/configure.ac, lib/m4/hooks.m4, - lib/openpgp/Makefile.am, lib/x509/Makefile.am: Make it build. - -2008-10-30 Simon Josefsson - - * lib/po/POTFILES.in: Fix paths. - -2008-10-30 Simon Josefsson - - * cfg.mk, lib/m4/hooks.m4: Build fixes. - -2008-10-30 Simon Josefsson - - * cfg.mk: Fix i18n stuff. - -2008-10-30 Simon Josefsson - - * lib/m4/hooks.m4, libextra/m4/hooks.m4: New files, forgotten in - last commit. - -2008-10-30 Simon Josefsson - - * lib/build-aux/config.rpath, lib/build-aux/link-warning.h, - lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, - libextra/build-aux/config.rpath: Update gnulib files. - -2008-10-30 Simon Josefsson - - * COPYING.LIB, Makefile.am, configure.in, lib/AUTHORS, lib/COPYING, - lib/ChangeLog, lib/Makefile.am, lib/NEWS, lib/README, - lib/configure.ac, lib/po/.gitignore, lib/po/LINGUAS, - lib/po/Makevars, lib/po/POTFILES.in, lib/po/de.po.in, - lib/po/fr.po.in, lib/po/ms.po.in, lib/po/nl.po.in, lib/po/pl.po.in, - lib/po/sv.po.in, lib/po/vi.po.in, libextra/AUTHORS, - libextra/COPYING, libextra/ChangeLog, libextra/Makefile.am, - libextra/NEWS, libextra/README, libextra/configure.ac, - libextra/gl/Makefile.am, libextra/gl/m4/gnulib-cache.m4, - libextra/gl/m4/gnulib-comp.m4, libextra/gl/m4/lib-ld.m4, - libextra/gl/m4/lib-link.m4, libextra/gl/m4/lib-prefix.m4, - po/.gitignore, po/LINGUAS, po/Makevars, po/POTFILES.in, - po/de.po.in, po/fr.po.in, po/ms.po.in, po/nl.po.in, po/pl.po.in, - po/sv.po.in, po/vi.po.in: More splitting updates. - -2008-10-30 Simon Josefsson - - * libextra/gl/Makefile.am, libextra/gl/m4/gnulib-cache.m4, - libextra/gl/m4/gnulib-comp.m4: Update gnulib files. - -2008-10-30 Simon Josefsson - - * gl/alloca.in.h, gl/asnprintf.c, gl/errno.in.h, gl/float+.h, - gl/float.in.h, gl/fseeko.c, gl/gettext.h, gl/lseek.c, - gl/m4/alloca.m4, gl/m4/errno_h.m4, gl/m4/float_h.m4, - gl/m4/fseeko.m4, gl/m4/intmax_t.m4, gl/m4/inttypes_h.m4, - gl/m4/longlong.m4, gl/m4/lseek.m4, gl/m4/malloc.m4, - gl/m4/printf.m4, gl/m4/realloc.m4, gl/m4/size_max.m4, - gl/m4/snprintf.m4, gl/m4/sockpfaf.m4, gl/m4/stdbool.m4, - gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, - gl/m4/stdlib_h.m4, gl/m4/string_h.m4, gl/m4/sys_socket_h.m4, - gl/m4/unistd_h.m4, gl/m4/vasnprintf.m4, gl/m4/wchar.m4, - gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/m4/xsize.m4, - gl/printf-args.c, gl/printf-args.h, gl/printf-parse.c, - gl/printf-parse.h, gl/realloc.c, gl/size_max.h, gl/snprintf.c, - gl/stdbool.in.h, gl/stdint.in.h, gl/stdio-impl.h, gl/stdio-write.c, - gl/stdio.in.h, gl/stdlib.in.h, gl/string.in.h, gl/sys_socket.in.h, - gl/tests/dummy.c, gl/tests/test-alloca-opt.c, - gl/tests/test-errno.c, gl/tests/test-fseeko.c, - gl/tests/test-fseeko.sh, gl/tests/test-lseek.c, - gl/tests/test-lseek.sh, gl/tests/test-snprintf.c, - gl/tests/test-stdbool.c, gl/tests/test-stdint.c, - gl/tests/test-stdio.c, gl/tests/test-stdlib.c, - gl/tests/test-string.c, gl/tests/test-sys_socket.c, - gl/tests/test-unistd.c, gl/tests/test-vasnprintf.c, - gl/tests/test-wchar.c, gl/tests/verify.h, gl/unistd.in.h, - gl/vasnprintf.c, gl/vasnprintf.h, gl/wchar.in.h, gl/xsize.h: Update - gnulib files. - -2008-10-30 Simon Josefsson - - * Makefile.am, configure.in, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, lib/configure.ac, - libextra/Makefile.am, libextra/configure.ac: More splitting. - -2008-10-30 Simon Josefsson - - * build-aux/config.rpath, lib/gl/Makefile.am, - lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/stdlib_h.m4, lib/gl/m4/sys_ioctl_h.m4, - lib/gl/m4/sys_socket_h.m4, lib/gl/stdlib.in.h, - lib/gl/sys_socket.in.h, lib/gl/sys_stat.in.h, - lib/gl/tests/Makefile.am, lib/gl/unistd.in.h: Update gnulib files. - -2008-10-30 Simon Josefsson - - * Makefile.am, build-aux/config.rpath, configure.in, - lgl/Makefile.am, lgl/alloca.in.h, lgl/asnprintf.c, lgl/asprintf.c, - lgl/byteswap.in.h, lgl/c-ctype.c, lgl/c-ctype.h, lgl/errno.in.h, - lgl/float+.h, lgl/float.in.h, lgl/fseeko.c, lgl/gettext.h, - lgl/lseek.c, lgl/m4/alloca.m4, lgl/m4/byteswap.m4, - lgl/m4/codeset.m4, lgl/m4/errno_h.m4, lgl/m4/extensions.m4, - lgl/m4/float_h.m4, lgl/m4/fseeko.m4, lgl/m4/func.m4, - lgl/m4/gettext.m4, lgl/m4/glibc2.m4, lgl/m4/glibc21.m4, - lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-common.m4, - lgl/m4/gnulib-comp.m4, lgl/m4/gnulib-tool.m4, lgl/m4/iconv.m4, - lgl/m4/include_next.m4, lgl/m4/intdiv0.m4, lgl/m4/intl.m4, - lgl/m4/intldir.m4, lgl/m4/intlmacosx.m4, lgl/m4/intmax.m4, - lgl/m4/intmax_t.m4, lgl/m4/inttypes-pri.m4, lgl/m4/inttypes_h.m4, - lgl/m4/lcmessage.m4, lgl/m4/lib-ld.m4, lgl/m4/lib-link.m4, - lgl/m4/lib-prefix.m4, lgl/m4/lock.m4, lgl/m4/longlong.m4, - lgl/m4/lseek.m4, lgl/m4/malloc.m4, lgl/m4/memchr.m4, - lgl/m4/memcmp.m4, lgl/m4/memmem.m4, lgl/m4/memmove.m4, - lgl/m4/minmax.m4, lgl/m4/netdb_h.m4, lgl/m4/nls.m4, lgl/m4/po.m4, - lgl/m4/printf-posix.m4, lgl/m4/printf.m4, lgl/m4/progtest.m4, - lgl/m4/read-file.m4, lgl/m4/realloc.m4, lgl/m4/size_max.m4, - lgl/m4/snprintf.m4, lgl/m4/socklen.m4, lgl/m4/sockpfaf.m4, - lgl/m4/stdbool.m4, lgl/m4/stdint.m4, lgl/m4/stdint_h.m4, - lgl/m4/stdio_h.m4, lgl/m4/stdlib_h.m4, lgl/m4/strcase.m4, - lgl/m4/string_h.m4, lgl/m4/strings_h.m4, lgl/m4/strverscmp.m4, - lgl/m4/sys_ioctl_h.m4, lgl/m4/sys_socket_h.m4, - lgl/m4/sys_stat_h.m4, lgl/m4/threadlib.m4, lgl/m4/time_h.m4, - lgl/m4/time_r.m4, lgl/m4/uintmax_t.m4, lgl/m4/unistd_h.m4, - lgl/m4/vasnprintf.m4, lgl/m4/vasprintf.m4, lgl/m4/visibility.m4, - lgl/m4/wchar.m4, lgl/m4/wchar_t.m4, lgl/m4/wint_t.m4, - lgl/m4/xsize.m4, lgl/memchr.c, lgl/memcmp.c, lgl/memmem.c, - lgl/memmove.c, lgl/minmax.h, lgl/netdb.in.h, - lgl/override/lib/gc-libgcrypt.c.diff, lgl/printf-args.c, - lgl/printf-args.h, lgl/printf-parse.c, lgl/printf-parse.h, - lgl/read-file.c, lgl/read-file.h, lgl/realloc.c, lgl/size_max.h, - lgl/snprintf.c, lgl/stdbool.in.h, lgl/stdint.in.h, - lgl/stdio-impl.h, lgl/stdio-write.c, lgl/stdio.in.h, - lgl/stdlib.in.h, lgl/str-two-way.h, lgl/strcasecmp.c, - lgl/string.in.h, lgl/strings.in.h, lgl/strncasecmp.c, - lgl/strverscmp.c, lgl/sys_socket.in.h, lgl/sys_stat.in.h, - lgl/tests/Makefile.am, lgl/tests/dummy.c, lgl/tests/intprops.h, - lgl/tests/test-alloca-opt.c, lgl/tests/test-byteswap.c, - lgl/tests/test-c-ctype.c, lgl/tests/test-errno.c, - lgl/tests/test-fseeko.c, lgl/tests/test-fseeko.sh, - lgl/tests/test-func.c, lgl/tests/test-lseek.c, - lgl/tests/test-lseek.sh, lgl/tests/test-memchr.c, - lgl/tests/test-memcmp.c, lgl/tests/test-netdb.c, - lgl/tests/test-read-file.c, lgl/tests/test-snprintf.c, - lgl/tests/test-stdbool.c, lgl/tests/test-stdint.c, - lgl/tests/test-stdio.c, lgl/tests/test-stdlib.c, - lgl/tests/test-string.c, lgl/tests/test-strings.c, - lgl/tests/test-strverscmp.c, lgl/tests/test-sys_socket.c, - lgl/tests/test-sys_stat.c, lgl/tests/test-time.c, - lgl/tests/test-unistd.c, lgl/tests/test-vasnprintf.c, - lgl/tests/test-vasprintf.c, lgl/tests/test-wchar.c, - lgl/tests/verify.h, lgl/time.in.h, lgl/time_r.c, lgl/unistd.in.h, - lgl/vasnprintf.c, lgl/vasnprintf.h, lgl/vasprintf.c, - lgl/wchar.in.h, lgl/xsize.h, lib/Makefile.am, lib/configure.ac, - lib/gl/Makefile.am, lib/gl/alloca.in.h, lib/gl/asnprintf.c, - lib/gl/asprintf.c, lib/gl/byteswap.in.h, lib/gl/c-ctype.c, - lib/gl/c-ctype.h, lib/gl/errno.in.h, lib/gl/float+.h, - lib/gl/float.in.h, lib/gl/fseeko.c, lib/gl/gettext.h, - lib/gl/lseek.c, lib/gl/m4/alloca.m4, lib/gl/m4/byteswap.m4, - lib/gl/m4/codeset.m4, lib/gl/m4/errno_h.m4, - lib/gl/m4/extensions.m4, lib/gl/m4/float_h.m4, lib/gl/m4/fseeko.m4, - lib/gl/m4/func.m4, lib/gl/m4/gettext.m4, lib/gl/m4/glibc2.m4, - lib/gl/m4/glibc21.m4, lib/gl/m4/gnulib-cache.m4, - lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/gnulib-tool.m4, lib/gl/m4/iconv.m4, - lib/gl/m4/include_next.m4, lib/gl/m4/intdiv0.m4, lib/gl/m4/intl.m4, - lib/gl/m4/intldir.m4, lib/gl/m4/intlmacosx.m4, lib/gl/m4/intmax.m4, - lib/gl/m4/intmax_t.m4, lib/gl/m4/inttypes-pri.m4, - lib/gl/m4/inttypes_h.m4, lib/gl/m4/lcmessage.m4, - lib/gl/m4/lib-ld.m4, lib/gl/m4/lib-link.m4, - lib/gl/m4/lib-prefix.m4, lib/gl/m4/lock.m4, lib/gl/m4/longlong.m4, - lib/gl/m4/lseek.m4, lib/gl/m4/malloc.m4, lib/gl/m4/memchr.m4, - lib/gl/m4/memcmp.m4, lib/gl/m4/memmem.m4, lib/gl/m4/memmove.m4, - lib/gl/m4/minmax.m4, lib/gl/m4/netdb_h.m4, lib/gl/m4/nls.m4, - lib/gl/m4/po.m4, lib/gl/m4/printf-posix.m4, lib/gl/m4/printf.m4, - lib/gl/m4/progtest.m4, lib/gl/m4/read-file.m4, - lib/gl/m4/realloc.m4, lib/gl/m4/size_max.m4, lib/gl/m4/snprintf.m4, - lib/gl/m4/socklen.m4, lib/gl/m4/sockpfaf.m4, lib/gl/m4/stdbool.m4, - lib/gl/m4/stdint.m4, lib/gl/m4/stdint_h.m4, lib/gl/m4/stdio_h.m4, - lib/gl/m4/stdlib_h.m4, lib/gl/m4/strcase.m4, lib/gl/m4/string_h.m4, - lib/gl/m4/strings_h.m4, lib/gl/m4/strverscmp.m4, - lib/gl/m4/sys_ioctl_h.m4, lib/gl/m4/sys_socket_h.m4, - lib/gl/m4/sys_stat_h.m4, lib/gl/m4/threadlib.m4, - lib/gl/m4/time_h.m4, lib/gl/m4/time_r.m4, lib/gl/m4/uintmax_t.m4, - lib/gl/m4/unistd_h.m4, lib/gl/m4/vasnprintf.m4, - lib/gl/m4/vasprintf.m4, lib/gl/m4/visibility.m4, - lib/gl/m4/wchar.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4, - lib/gl/m4/xsize.m4, lib/gl/memchr.c, lib/gl/memcmp.c, - lib/gl/memmem.c, lib/gl/memmove.c, lib/gl/minmax.h, - lib/gl/netdb.in.h, lib/gl/override/lib/gc-libgcrypt.c.diff, - lib/gl/printf-args.c, lib/gl/printf-args.h, lib/gl/printf-parse.c, - lib/gl/printf-parse.h, lib/gl/read-file.c, lib/gl/read-file.h, - lib/gl/realloc.c, lib/gl/size_max.h, lib/gl/snprintf.c, - lib/gl/stdbool.in.h, lib/gl/stdint.in.h, lib/gl/stdio-impl.h, - lib/gl/stdio-write.c, lib/gl/stdio.in.h, lib/gl/stdlib.in.h, - lib/gl/str-two-way.h, lib/gl/strcasecmp.c, lib/gl/string.in.h, - lib/gl/strings.in.h, lib/gl/strncasecmp.c, lib/gl/strverscmp.c, - lib/gl/sys_socket.in.h, lib/gl/sys_stat.in.h, - lib/gl/tests/Makefile.am, lib/gl/tests/dummy.c, - lib/gl/tests/intprops.h, lib/gl/tests/test-alloca-opt.c, - lib/gl/tests/test-byteswap.c, lib/gl/tests/test-c-ctype.c, - lib/gl/tests/test-errno.c, lib/gl/tests/test-fseeko.c, - lib/gl/tests/test-fseeko.sh, lib/gl/tests/test-func.c, - lib/gl/tests/test-lseek.c, lib/gl/tests/test-lseek.sh, - lib/gl/tests/test-memchr.c, lib/gl/tests/test-memcmp.c, - lib/gl/tests/test-netdb.c, lib/gl/tests/test-read-file.c, - lib/gl/tests/test-snprintf.c, lib/gl/tests/test-stdbool.c, - lib/gl/tests/test-stdint.c, lib/gl/tests/test-stdio.c, - lib/gl/tests/test-stdlib.c, lib/gl/tests/test-string.c, - lib/gl/tests/test-strings.c, lib/gl/tests/test-strverscmp.c, - lib/gl/tests/test-sys_socket.c, lib/gl/tests/test-sys_stat.c, - lib/gl/tests/test-time.c, lib/gl/tests/test-unistd.c, - lib/gl/tests/test-vasnprintf.c, lib/gl/tests/test-vasprintf.c, - lib/gl/tests/test-wchar.c, lib/gl/tests/verify.h, lib/gl/time.in.h, - lib/gl/time_r.c, lib/gl/unistd.in.h, lib/gl/vasnprintf.c, - lib/gl/vasnprintf.h, lib/gl/vasprintf.c, lib/gl/wchar.in.h, - lib/gl/xsize.h, libextra/configure.ac: Start configure split. - -2008-10-30 Simon Josefsson - - * NEWS, configure.in, doc/gnutls.texi, lib/Makefile.am, - lib/libgnutls-config.in, lib/libgnutls.m4, libextra/.gitignore, - libextra/Makefile.am, libextra/libgnutls-extra-config.in, - libextra/libgnutls-extra.m4: Remove *-config scripts and old M4 - checks. - -2008-10-29 Simon Josefsson - - * cfg.mk, maint.mk: Update gnulib files. - -2008-10-28 Simon Josefsson - - * cfg.mk: Fix coverage rules. - -2008-10-28 Simon Josefsson - - * cfg.mk: Need to build before running checks. - -2008-10-28 Simon Josefsson - - * cfg.mk: Add code coverage rules. - -2008-10-23 Simon Josefsson - - * : commit 3eab289192e97f0bada61ca2c4d51214a4e4f7df Author: Nikos - Mavrogiannopoulos Date: Wed Oct 22 22:06:21 - 2008 +0300 - -2008-10-22 Nikos Mavrogiannopoulos - - * : commit 8973cd66b52fda65b4c9ffadab3b9db59a464fb0 Author: Simon - Josefsson Date: Wed Oct 22 18:42:41 2008 - +0200 - -2008-10-22 Simon Josefsson - - * gl/m4/netdb_h.m4, gl/netdb.in.h, lgl/m4/netdb_h.m4, - lgl/netdb.in.h, lgl/sys_socket.in.h: Update gnulib files. - -2008-10-22 Simon Josefsson - - * doc/scripts/gdoc: Sync gdoc with libidn for license fixes. - -2008-10-22 Simon Josefsson - - * src/serv.c: Use netdb.h instead of getaddrinfo.h. - -2008-10-22 Simon Josefsson - - * NEWS: Fix. - -2008-10-22 Simon Josefsson - - * gl/arpa_inet.in.h, gl/gai_strerror.c, gl/getaddrinfo.c, - gl/getaddrinfo.h, gl/gnulib.mk, gl/m4/getaddrinfo.m4, - gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4, gl/m4/netdb_h.m4, - gl/netdb.in.h, gl/netinet_in.in.h, gl/stdarg.in.h, - gl/tests/gnulib.mk, gl/tests/test-getaddrinfo.c, - gl/tests/test-netdb.c, lgl/Makefile.am, lgl/errno.in.h, - lgl/float.in.h, lgl/m4/gnulib-common.m4, lgl/m4/gnulib-comp.m4, - lgl/m4/netdb_h.m4, lgl/m4/stdlib_h.m4, lgl/m4/sys_socket_h.m4, - lgl/m4/sys_stat_h.m4, lgl/m4/unistd_h.m4, lgl/netdb.in.h, - lgl/stdint.in.h, lgl/stdio.in.h, lgl/stdlib.in.h, lgl/string.in.h, - lgl/strings.in.h, lgl/sys_socket.in.h, lgl/sys_stat.in.h, - lgl/time.in.h, lgl/unistd.in.h, lgl/wchar.in.h, lgl/winsock.c, - libextra/gl/m4/gnulib-common.m4: Update gnulib files. - -2008-10-22 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-10-16 Nikos Mavrogiannopoulos - - * : commit a1c1da1939efe571f427a6323a8bb5311d933061 Author: Simon - Josefsson Date: Thu Oct 16 12:21:32 2008 - +0200 - -2008-10-16 Simon Josefsson - - * NEWS: Version 2.7.0. - -2008-10-16 Simon Josefsson - - * configure.in: Drop netdb.h check. - -2008-10-16 Simon Josefsson - - * lgl/Makefile.am, lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-comp.m4, - lgl/m4/netdb_h.m4, lgl/netdb.in.h, lgl/tests/Makefile.am, - lgl/tests/test-netdb.c, src/common.h: Add netdb gnulib module. Use - it. - -2008-10-16 Simon Josefsson - - * NEWS: Add. - -2008-10-16 Simon Josefsson - - * NEWS: Add. - -2008-10-16 Simon Josefsson - - * gl/Makefile.am: Upgrade. - -2008-10-16 Simon Josefsson - - * GNUmakefile, gl/getaddrinfo.c, gl/m4/getaddrinfo.m4, - lgl/Makefile.am, lgl/m4/gnulib-comp.m4, lgl/m4/stdio_h.m4, - lgl/m4/sys_ioctl_h.m4, lgl/m4/sys_socket_h.m4, lgl/m4/unistd_h.m4, - lgl/stdio-write.c, lgl/stdio.in.h, lgl/sys_socket.in.h, - lgl/unistd.in.h, lgl/winsock.c: Update gnulib files. - -2008-10-15 Simon Josefsson - - * tests/Makefile.am: Need to build libutils.la before recursing into - e.g. pkcs12-decode. - -2008-10-14 Simon Josefsson - - * lib/gnutlsxx.cpp: Minimize ABI changes. - -2008-10-13 Simon Josefsson - - * THANKS: Add. - -2008-10-13 Simon Josefsson - - * lib/gnutls_errors.c: Improve GNUTLS_E_AGAIN explanation. - Suggested by "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" - . - -2008-10-12 Simon Josefsson - - * doc/TODO: Add. - -2008-10-11 Nikos Mavrogiannopoulos - - * .gitignore: added to reduce untracked files. - -2008-10-11 Simon Josefsson - - * NEWS: Add. - -2008-10-11 Simon Josefsson - - * THANKS, libextra/fipsmd5.c: Add static qualifiers on internal - symbols. Tiny patch from Aaron Ucko . - -2008-10-09 Simon Josefsson - - * doc/reference/Makefile.am: Sync with upstream. - -2008-10-08 Simon Josefsson - - * lib/gnutls_cert.h, lib/opencdk/armor.c, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/new-packet.c, - lib/opencdk/seskey.c, lib/opencdk/verify.c, lib/x509/x509_int.h, - src/cfg/platon/str/strplus.c: Fix syntax-check warnings. - -2008-10-08 Simon Josefsson - - * lib/opencdk/opencdk.h: Indent. - -2008-10-08 Simon Josefsson - - * lib/debug.c, lib/opencdk/seskey.c, lib/opencdk/sig-check.c: Drop - gcrypt.h includes. - -2008-10-08 Simon Josefsson - - * NEWS: Mention libgcrypt dependency. - -2008-10-08 Simon Josefsson - - * configure.in, lib/Makefile.am, lib/opencdk/Makefile.am, - lib/openpgp/Makefile.am, lib/x509/Makefile.am, libextra/Makefile.am: - More libgcrypt fixes. - -2008-10-08 Simon Josefsson - - * configure.in, lib/Makefile.am, src/Makefile.am, tests/Makefile.am: - More libgcrypt fixes. - -2008-10-08 Simon Josefsson - - * configure.in, lib/gnutls_global.c, m4/libgcrypt.m4: Modernize - libgcrypt detection. - -2008-10-08 Simon Josefsson - - * doc/reference/gnutls-docs.sgml, includes/gnutls/x509.h, - lib/x509/crl.c, lib/x509/crl_write.c, lib/x509/crq.c, - lib/x509/output.c, lib/x509/x509_write.c: Doc fixes. - -2008-10-08 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-10-08 Simon Josefsson - - * NEWS: Sync with real list. - -2008-10-08 Simon Josefsson - - * lib/x509/x509_int.h: Need libtasn1.h here. - -2008-10-08 Simon Josefsson - - * lib/auth_rsa.c, lib/auth_rsa_export.c, lib/gnutls_cert.c, - lib/gnutls_cert.h, lib/gnutls_mpi.h, lib/gnutls_sig.c, - lib/gnutls_x509.c, lib/mpi-libgcrypt.c, lib/rnd-libgcrypt.c: Reduce - libtasn1.h includes. - -2008-10-08 Simon Josefsson - - * configure.in: Drop obsolete libtasn1 flags. - -2008-10-08 Simon Josefsson - - * lib/Makefile.am, libextra/Makefile.am, src/Makefile.am: Update - libtasn1 linker flags. - -2008-10-08 Simon Josefsson - - * GNUmakefile, configure.in, gl/arpa_inet.in.h, gl/c-ctype.h, - gl/gnulib.mk, gl/m4/arpa_inet_h.m4, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/inet_ntop.m4, gl/m4/inet_pton.m4, - gl/strerror.c, lgl/Makefile.am, lgl/c-ctype.h, lgl/errno.in.h, - lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-comp.m4, lgl/m4/memcmp.m4, - lgl/m4/stdio_h.m4, lgl/m4/string_h.m4, lgl/m4/sys_socket_h.m4, - lgl/m4/unistd_h.m4, lgl/m4/wchar.m4, lgl/stdio.in.h, - lgl/string.in.h, lgl/sys_socket.in.h, lgl/unistd.in.h, - libextra/gl/Makefile.am, libextra/gl/m4/gnulib-cache.m4, - libextra/gl/md5.c: Update gnulib files. - -2008-10-08 Simon Josefsson - - * configure.in: Remove obsolete stuff. - -2008-10-08 Simon Josefsson - - * lib/auth_cert.c, lib/gnutls_constate.c, lib/gnutls_mpi.c, - lib/gnutls_pk.c, lib/opencdk/armor.c, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/pubkey.c, - lib/opencdk/stream.c, lib/openpgp/privkey.c, lib/x509/common.c, - lib/x509/crl.c, lib/x509/crl_write.c, lib/x509/crq.c, - lib/x509/extensions.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/privkey.c, lib/x509/x509.c, lib/x509/x509_write.c, - libextra/fipsmd5.c, libextra/gl/md5.c, src/certtool-cfg.c, - src/certtool.c, src/cli.c, src/serv.c: Indent. - -2008-10-08 Simon Josefsson - - * NEWS, configure.in, lib/gnutls_global.c, m4/libtasn1.m4: Detect - libtasn1 via AC_LIB_HAVE_LINKFLAGS. - -2008-10-07 Simon Josefsson - - * NEWS: Fix. - -2008-10-07 Ludovic Courtès - - * tests/Makefile.am: More test compilation fixes with minitasn1. * tests/Makefile.am (AM_CPPFLAGS)[ENABLE_MINITASN1]: Add minitasn1 directory. Signed-off-by: Simon Josefsson - -2008-10-07 Simon Josefsson - - * NEWS: Add. - -2008-10-07 Ludovic Courtès - - * tests/pkcs12-decode/Makefile.am: Fix compilation of - `pkcs12-decode' test when using minitasn1. * tests/pkcs12-decode/Makefile.am (AM_CPPFLAGS)[ENABLE_MINITASN1]: - Add `minitasn1' include directory. Signed-off-by: Simon Josefsson - -2008-10-06 Simon Josefsson - - * THANKS: Add. - -2008-10-06 Simon Josefsson - - * libextra/gnutls_openssl.c: Get issuer dn in X509_get_issuer_name, - correct last patch. - -2008-10-06 Simon Josefsson - - * NEWS: Add 2.6.0 entries. - -2008-10-05 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-10-05 Simon Josefsson - - * NEWS: Add. - -2008-10-05 Simon Josefsson - - * libextra/gnutls_openssl.c: Fix out-of-bounds access. Similar to - debian #499945 lynx-cur problem. libextra/gnutls_openssl.c: fix - X509_get_issuer_name to return issuer name of given certificate and - not try to get the subject dn of the issuer certificate wich may or - may not exist. (Checked how openssl does this, too.) This fixes a - accessing an array outside its bounds. Debian bug #499945 is - instructive about the problem. While lynx-cur credits Thomas Dickey - for the bug, the code and implications are essentially the same for - the gnutls openssl-compat libary. Tiny patch from Thomas Viehmann - . - -2008-10-04 Nikos Mavrogiannopoulos - - * src/certtool-cfg.c, src/certtool-cfg.h, src/certtool-common.h, - src/certtool-gaa.c, src/certtool-gaa.h, src/certtool.c, - src/certtool.gaa: reduced warnings in compilation of certtool. - -2008-10-04 Nikos Mavrogiannopoulos - - * lib/x509/output.c: use union to avoid wrong type issues. - -2008-10-04 Nikos Mavrogiannopoulos - - * lib/x509/output.c: corrected print order. - -2008-10-04 Nikos Mavrogiannopoulos - - * NEWS, doc/certtool.cfg, includes/gnutls/x509.h, - lib/gnutls_errors.h, lib/gnutls_handshake.c, lib/x509/common.c, - lib/x509/crl.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/extensions.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/pkcs12.c, lib/x509/pkcs7.c, lib/x509/x509.c, - lib/x509/x509_int.h, lib/x509/x509_write.c, src/certtool-cfg.c, - src/certtool-cfg.h, src/certtool.c: Added function to copy - extensions from a CRL to a certificate. Reduced many warnings (and - added more by defining gnutls_log as printf like function --gcc - only) - -2008-10-04 Nikos Mavrogiannopoulos - - * configure.in: Disable certain warnings that do not work with my - compiler. - -2008-10-04 Nikos Mavrogiannopoulos - - * NEWS, includes/gnutls/x509.h, lib/x509/crq.c, - lib/x509/extensions.c, lib/x509/output.c, src/certtool.c: Added - gnutls_x509_crq_set_key_purpose_oid and - gnutls_x509_crq_get_key_purpose_oid. - -2008-10-04 Nikos Mavrogiannopoulos - - * NEWS: documentation added functions - -2008-10-04 Nikos Mavrogiannopoulos - - * NEWS: updated - -2008-10-04 Nikos Mavrogiannopoulos - - * lib/x509/crq.c, lib/x509/extensions.c, lib/x509/x509_int.h: set - global maximum size for certificate requests' extensions size. - -2008-10-04 Nikos Mavrogiannopoulos - - * src/Makefile.am: added missing file - -2008-10-04 Nikos Mavrogiannopoulos - - * includes/gnutls/x509.h, lib/x509/crl.c, lib/x509/crq.c, - lib/x509/extensions.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/x509.c, lib/x509/x509_int.h, src/certtool-cfg.c, - src/certtool-cfg.h, src/certtool-common.h, src/certtool-gaa.c, - src/certtool-gaa.h, src/certtool.c, src/certtool.gaa: Added initial - support for certificate requests handling of X.509 extensions. - Added support to certtool to handle these extensions (add/read) - -2008-10-03 Nikos Mavrogiannopoulos - - * NEWS, doc/certtool.cfg, includes/gnutls/x509.h, lib/x509/crl.c, - lib/x509/crl_write.c, lib/x509/extensions.c, lib/x509/output.c, - lib/x509/x509_int.h, src/certtool-cfg.c, src/certtool-cfg.h, - src/certtool.c: Added functions to handle and set CRL extensions. - -2008-10-01 Simon Josefsson - - * po/nl.po.in, po/vi.po.in: Sync with TP. - -2008-10-01 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-09-29 Nikos Mavrogiannopoulos - - * : commit c357933a30801a82e484bed8fbc4bd5b2b34d5e0 Author: Nikos - Mavrogiannopoulos Date: Mon Sep 29 15:08:02 - 2008 +0300 - -2008-09-29 Simon Josefsson - - * ChangeLog: Generated. - -2008-09-29 Simon Josefsson - - * NEWS: Version 2.5.9. - -2008-09-29 Simon Josefsson - - * NEWS: Fix. - -2008-09-29 Simon Josefsson - - * NEWS, configure.in: Document ABI change. - -2008-09-29 Simon Josefsson - - * lib/gnutls_constate.c: Re-add comment about too long function, it - is one of the most complex in gnutls. - -2008-09-29 Simon Josefsson - - * configure.in: Need AC_CONFIG_MACRO_DIR for modern libtool. - -2008-09-28 Nikos Mavrogiannopoulos - - * includes/gnutls/crypto.h, lib/gnutls_pk.c, lib/opencdk/pubkey.c, - lib/pk-libgcrypt.c, lib/x509/privkey.c, lib/x509/x509_int.h: changed - crypto API to reduce probability of memory leaks during usage of - pk_params. - -2008-09-28 Nikos Mavrogiannopoulos - - * : commit 699aa57dacc6446e92c123e93bba1f894067893e Author: Nikos - Mavrogiannopoulos Date: Sun Sep 28 03:34:59 - 2008 +0300 - -2008-09-28 Nikos Mavrogiannopoulos - - * NEWS: Revert "fixed" This reverts commit 14647811d21d3eda2d5bd82557329bcf7778f31b. - -2008-09-28 Nikos Mavrogiannopoulos - - * NEWS: fixed - -2008-09-28 Nikos Mavrogiannopoulos - - * lib/gnutls_algorithms.c, lib/gnutls_constate.c, lib/gnutls_int.h: - avoid using malloc for small buffers. - -2008-09-28 Nikos Mavrogiannopoulos - - * lib/gnutls_mpi.c: optimized in order to avoid calling malloc for - small buffers. - -2008-09-27 Nikos Mavrogiannopoulos - - * lib/gnutls_constate.c, lib/gnutls_mpi.c: Revert "Revert C99 uses. - Fixes gnutls_mpi.c mem leak, but not others." This reverts commit bdfa289133b15ad7d92eb3151ce86cca4c879426. - -2008-09-25 Simon Josefsson - - * tests/pathlen/Makefile.am, tests/pathlen/pathlen: Use EXEEXT in - self-test scripts. - -2008-09-25 Simon Josefsson - - * NEWS, tests/key-id/Makefile.am, tests/key-id/key-id, - tests/pkcs1-padding/Makefile.am, tests/pkcs1-padding/pkcs1-pad, - tests/rsa-md5-collision/Makefile.am, - tests/rsa-md5-collision/rsa-md5-collision, tests/sha2/Makefile.am, - tests/sha2/sha2, tests/userid/Makefile.am, tests/userid/userid: Use - EXEEXT in self-test scripts. - -2008-09-25 Simon Josefsson - - * NEWS: Add. - -2008-09-25 Simon Josefsson - - * lgl/vasnprintf.c: Update gnulib files. - -2008-09-25 Simon Josefsson - - * NEWS, THANKS: Add. - -2008-09-25 Simon Josefsson - - * lib/gnutls_constate.c, lib/gnutls_mpi.c: Revert C99 uses. Fixes - gnutls_mpi.c mem leak, but not others. - -2008-09-24 Simon Josefsson - - * NEWS: Add. - -2008-09-24 Simon Josefsson - - * NEWS: Add. - -2008-09-24 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-09-23 Nikos Mavrogiannopoulos - - * lib/x509/x509.c: Corrected buffer overrun in crt_list_import. - Reported and patch by Jonathan Manktelow. - -2008-09-23 Nikos Mavrogiannopoulos - - * README: corrected libgcrypt site. - -2008-09-23 Nikos Mavrogiannopoulos - - * lib/x509/privkey.c: corrected embarrasing bug. - -2008-09-23 Nikos Mavrogiannopoulos - - * lib/auth_cert.c, lib/gnutls_constate.c, lib/gnutls_mpi.c, - lib/pk-libgcrypt.c, lib/x509/common.c, lib/x509/dn.c: Corrected - several memory leaks reported by Sam. In some cases switched to C99 - to avoid having complex code. - -2008-09-23 Simon Josefsson - - * lib/openpgp/extras.c: Doc fix. - -2008-09-23 Simon Josefsson - - * lib/x509/crl_write.c, lib/x509/x509_write.c: Doc fix. - -2008-09-23 Simon Josefsson - - * configure.in, doc/reference/Makefile.am: Use automake warnings. - -2008-09-23 Simon Josefsson - - * cfg.mk: Typo. - -2008-09-23 Simon Josefsson - - * cfg.mk: Fix mingw32 rules. - -2008-09-23 Simon Josefsson - - * cfg.mk, doc/Makefile.am, doc/texinfo.css: Use a stylesheet for - texinfo HTML manual. - -2008-09-21 Nikos Mavrogiannopoulos - - * lib/x509/privkey.c: fixed memory leak in reencoding of RSA and DSA - private keys. Reported and studied by Sam Varshavchik - -2008-09-21 Nikos Mavrogiannopoulos - - * lib/x509/x509_write.c: documented the way set_subject_alt_name() - can set value. - -2008-09-21 Simon Josefsson - - * ChangeLog: Generated. - -2008-09-21 Simon Josefsson - - * NEWS: Version 2.5.8. - -2008-09-21 Simon Josefsson - - * po/fr.po.in, po/pl.po.in, po/sv.po.in: Sync with TP. - -2008-09-21 Simon Josefsson - - * libextra/Makefile.am: Use srcdir for -Igl/. - -2008-09-21 Simon Josefsson - - * Makefile.am: Don't use CFLAGS with distcheck, causes errors in - ./configure tests. - -2008-09-21 Simon Josefsson - - * src/certtool.c: Fix warnings. - -2008-09-21 Simon Josefsson - - * src/Makefile.am, src/certtool.c, src/serv.c: Use internal md5 if - libgcrypt is in FIPS mode. - -2008-09-21 Simon Josefsson - - * src/cli.c: Initialize libgnutls-extra too. - -2008-09-21 Simon Josefsson - - * includes/gnutls/extra.h: Add prototype for - gnutls_register_md5_handler. - -2008-09-21 Simon Josefsson - - * libextra/fipsmd5.c: Add Since: tag. - -2008-09-21 Simon Josefsson - - * lib/x509/x509_write.c: Doc fixes. - -2008-09-21 Simon Josefsson - - * Makefile.am: Need -I for aclocal. - -2008-09-21 Simon Josefsson - - * lgl/Makefile.am, lgl/m4/wchar.m4, lgl/tests/test-wchar.c, - lgl/wchar.in.h: Add. - -2008-09-21 Simon Josefsson - - * configure.in, libextra/Makefile.am, src/Makefile.am, src/cli.c: - Fix libextra build. Make gnutls-cli work in libgcrypt FIPS mode. - -2008-09-21 Simon Josefsson - - * libextra/Makefile.am: Fix typo. - -2008-09-21 Simon Josefsson - - * NEWS: Add. - -2008-09-21 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-09-21 Simon Josefsson - - * doc/gnutls.texi: Fix markup. - -2008-09-21 Simon Josefsson - - * libextra/Makefile.am: Add -I for hmac.h, md5.h. - -2008-09-21 Nikos Mavrogiannopoulos - - * src/certtool.c: deinitialize structures after use. - -2008-09-21 Nikos Mavrogiannopoulos - - * lib/gnutls_pk.c: Corrected memory leak. Reported by Sam - Varshavchik. - -2008-09-21 Nikos Mavrogiannopoulos - - * includes/gnutls/x509.h: added missing headers. - -2008-09-21 Nikos Mavrogiannopoulos - - * lib/gnutls_pk.c, lib/x509/privkey.c: Corrected several bugs in DSA - DER key importing. Reported and debugged by Sam Varshavchik. - -2008-09-20 Nikos Mavrogiannopoulos - - * lib/opencdk/armor.c, lib/opencdk/hash.c, lib/opencdk/kbnode.c, - lib/opencdk/keydb.c, lib/opencdk/stream.c: added gnutls_assert() to - assist debugging. - -2008-09-20 Nikos Mavrogiannopoulos - - * lib/openpgp/privkey.c: properly report the error line. - -2008-09-20 Nikos Mavrogiannopoulos - - * NEWS, doc/gnutls.texi, lib/x509/extensions.c, lib/x509/output.c, - lib/x509/x509_int.h, lib/x509/x509_write.c, src/certtool-cfg.c, - src/certtool-cfg.h, src/certtool.c: output.c: Can properly print IP - addresses in certificates. x509_write.c: added - gnutls_x509_crt_set_subject_alt_name added that can add multiple - subject alternative names. certtool: use the new function to be - able to add several names. - -2008-09-19 Simon Josefsson - - * configure.in: Bump versions. - -2008-09-19 Simon Josefsson - - * NEWS, libextra/Makefile.am, libextra/fipsmd5.c: Add - gnutls_register_md5_handler. - -2008-09-19 Simon Josefsson - - * gl/gnulib.mk, gl/m4/gnulib-comp.m4, gl/m4/strdup.m4, gl/strdup.c, - lgl/vasnprintf.c: Update gnulib files. - -2008-09-19 Simon Josefsson - - * configure.in, libextra/gl/Makefile.am, libextra/gl/hmac-md5.c, - libextra/gl/hmac.h, libextra/gl/m4/gnulib-cache.m4, - libextra/gl/m4/gnulib-common.m4, libextra/gl/m4/gnulib-comp.m4, - libextra/gl/m4/gnulib-tool.m4, libextra/gl/m4/hmac-md5.m4, - libextra/gl/m4/md5.m4, libextra/gl/m4/memxor.m4, libextra/gl/md5.c, - libextra/gl/md5.h, libextra/gl/memxor.c, libextra/gl/memxor.h: Add - md5 and hmac from gnulib to libextra/gl/. - -2008-09-19 Simon Josefsson - - * NEWS: Add. - -2008-09-19 Simon Josefsson - - * lib/gnutls_hash_int.c: Make _gnutls_hash_copy work with registered - hashes. - -2008-09-19 Simon Josefsson - - * THANKS, lib/gnutls_compress.c, lib/gnutls_compress.h, - libextra/gnutls_extra.c: Make LZO compression support build. Tiny - patch from Arfrever Frehtes Taifersar Arahesis - . - -2008-09-17 Simon Josefsson - - * doc/reference/Makefile.am, lib/Makefile.am, lib/defines.h, - lib/gnutls_errors.h, lib/gnutls_int.h: Merge defines.h into - gnutls_int.h. - -2008-09-17 Simon Josefsson - - * lib/gnutls_buffer.h: Remove, unused. - -2008-09-17 Simon Josefsson - - * lib/auth_cert.c, lib/gnutls_x509.c: Fix overflows in gnutls_calloc - calls. - -2008-09-17 Simon Josefsson - - * libextra/openssl_compat.c: Fix last commit. - -2008-09-17 Simon Josefsson - - * NEWS, lib/auth_cert.c, lib/gnutls_cert.c, - lib/gnutls_session_pack.c, libextra/openssl_compat.c: Fix overflows - in gnutls_calloc calls. - -2008-09-17 Simon Josefsson - - * NEWS, lib/gnutls_mem.c: libgnutls: Check for overflows in - gnutls_calloc and gnutls_secure_calloc. Reported by Werner Koch - . - -2008-09-17 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-09-17 Simon Josefsson - - * NEWS, THANKS, lib/auth_srp.c, lib/gnutls_int.h, lib/gnutls_srp.c: - libgnutls: New function to set minimum acceptable SRP bits. The - function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick - in - . - -2008-09-17 Simon Josefsson - - * doc/manpages/gnutls-cli.1: Fix markup, tiny patch from Sam - Varshavchik . - -2008-09-16 Simon Josefsson - - * NEWS, lib/auth_cert.c, lib/auth_rsa.c, lib/ext_cert_type.c, - lib/ext_max_record.c, lib/ext_oprfi.c, lib/ext_server_name.c, - lib/gnutls_algorithms.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_compress.c, - lib/gnutls_constate.c, lib/gnutls_extensions.c, - lib/gnutls_global.c, lib/gnutls_handshake.c, lib/gnutls_kx.c, - lib/gnutls_pk.c, lib/gnutls_record.c, lib/gnutls_session_pack.c, - lib/gnutls_sig.c, lib/gnutls_state.c, lib/gnutls_v2_compat.c, - lib/gnutls_x509.c, lib/mac-libgcrypt.c, lib/minitasn1/structure.c, - lib/opencdk/armor.c, lib/opencdk/read-packet.c, lib/openpgp/pgp.c, - lib/x509/common.c, lib/x509/crq.c, lib/x509/pkcs12.c, - lib/x509/privkey.c, libextra/gnutls_ia.c, src/printlist.c, - src/serv.c, tests/finished.c, tests/openssl.c, tests/pgps2kgnu.c, - tests/pkcs12-decode/pkcs12_s2k.c, tests/simple.c: Indent. - -2008-09-16 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-09-16 Simon Josefsson - - * ChangeLog: Generated. - -2008-09-16 Simon Josefsson - - * NEWS: Version 2.5.7. - -2008-09-16 Simon Josefsson - - * includes/gnutls/gnutls.h.in: Fix warning about trailing comma. - -2008-09-16 Simon Josefsson - - * doc/gnutls.texi: Fix math markup. - -2008-09-16 Simon Josefsson - - * src/printlist.c: Fix. - -2008-09-16 Simon Josefsson - - * doc/Makefile.am, doc/gnutls.texi, src/printlist.c: Fix. - -2008-09-16 Simon Josefsson - - * NEWS: Add. - -2008-09-16 Simon Josefsson - - * doc/reference/gnutls-docs.sgml: Document crypto.h stuff. - -2008-09-16 Simon Josefsson - - * doc/reference/gnutls-docs.sgml: Add list of new symbols in 2.6.x. - -2008-09-16 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-09-16 Simon Josefsson - - * includes/gnutls/crypto.h: Indent. - -2008-09-16 Simon Josefsson - - * includes/gnutls/gnutls.h.in: Don't use extern on functions, for - consistency. - -2008-09-16 Simon Josefsson - - * NEWS: Mention new functions. - -2008-09-16 Simon Josefsson - - * NEWS, doc/manpages/Makefile.am, includes/gnutls/gnutls.h.in, - lib/gnutls_algorithms.c, src/printlist.c: Add interfaces to get PK - and PK-sign algorithms. Use them. - -2008-09-16 Simon Josefsson - - * NEWS: Credit. - -2008-09-16 Simon Josefsson - - * tests/Makefile.am: Don't run pgps2kgnu self test when openpgp is - disable. - -2008-09-16 Simon Josefsson - - * NEWS: Merge in 2.4.2 news entries. - -2008-09-16 Simon Josefsson - - * lib/opencdk/main.c, lib/opencdk/opencdk.h: Remove cdk_strerror, - unused and uses non-thread safe strerror. - -2008-09-16 Simon Josefsson - - * tests/openpgpself.c, tests/x509dn.c, tests/x509self.c: Fix - warnings. - -2008-09-16 Simon Josefsson - - * tests/crypto_rng.c: Fix warnings. - -2008-09-16 Simon Josefsson - - * tests/parse_ca.c: Fix warning. - -2008-09-16 Simon Josefsson - - * cfg.mk: Split release target. - -2008-09-16 Simon Josefsson - - * gl/gnulib.mk, gl/m4/eoverflow.m4, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/strerror.m4, gl/strerror.c, - gl/tests/gnulib.mk, gl/tests/test-EOVERFLOW.c, - gl/tests/test-strerror.c, lgl/Makefile.am, lgl/errno.in.h, - lgl/m4/eoverflow.m4, lgl/m4/errno_h.m4, lgl/m4/gnulib-comp.m4, - lgl/m4/stdio_h.m4, lgl/stdio.in.h, lgl/sys_socket.in.h, - lgl/tests/Makefile.am, lgl/tests/test-EOVERFLOW.c, - lgl/tests/test-errno.c, lgl/tests/test-memchr.c: Update gnulib - files. - -2008-09-15 Simon Josefsson - - * NEWS: Add. - -2008-09-15 Simon Josefsson - - * tests/Makefile.am, tests/setcredcrash.c: Self-test regression of - gnutls_credentials_set. - -2008-09-15 Nikos Mavrogiannopoulos - - * lib/gnutls_auth.c: removed unnesessary and dangerous free from - credentials_set(). - -2008-09-14 Nikos Mavrogiannopoulos - - * lib/auth_cert.c: added some pedantic error checking. - -2008-09-09 Simon Josefsson - - * src/certtool-gaa.c, src/cli-gaa.c, src/crypt-gaa.c, - src/psk-gaa.c, src/serv-gaa.c, src/tls_test-gaa.c: Regenerate using - patched gaa. - -2008-09-09 Simon Josefsson - - * Makefile.am: Test release with -Werror to avoid regressions. - -2008-09-09 Simon Josefsson - - * libextra/openssl_compat.c: Remove unused code. - -2008-09-09 Simon Josefsson - - * lib/mac-libgcrypt.c: Fix warning. - -2008-09-09 Simon Josefsson - - * lib/opencdk/new-packet.c: Fix warning. - -2008-09-09 Simon Josefsson - - * lib/opencdk/opencdk.h: (CDK_KEY_USG_ENCR, CDK_KEY_USG_SIGN): Protect | op. - -2008-09-09 Simon Josefsson - - * lib/cipher-libgcrypt.c: Fix warnings. - -2008-09-09 Simon Josefsson - - * lib/mac-libgcrypt.c: Fix warnings. - -2008-09-09 Simon Josefsson - - * lib/mpi-libgcrypt.c: Fix warnings. - -2008-09-09 Simon Josefsson - - * NEWS: Add. - -2008-09-09 Simon Josefsson - - * doc/gnutls.texi: Add initialization section. Update thread - initialization discussion. - -2008-09-09 Simon Josefsson - - * tests/openssl.c: Need to initialize gnutls to avoid crash. - -2008-09-08 Simon Josefsson - - * cfg.mk: Drop redundant. - -2008-09-08 Simon Josefsson - - * NEWS: Add. - -2008-09-08 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-09-08 Simon Josefsson - - * configure.in: Remove foo.def after testing --output-def. - -2008-09-08 Simon Josefsson - - * ChangeLog: Generated. - -2008-09-08 Simon Josefsson - - * NEWS: Version 2.5.6. - -2008-09-08 Simon Josefsson - - * build-aux/config.rpath, gl/m4/include_next.m4, - lgl/m4/include_next.m4: Update gnulib files. - -2008-09-03 Simon Josefsson - - * doc/examples/ex-alert.c, doc/examples/ex-cert-select.c, - doc/examples/ex-client-psk.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-client-tlsia.c, - doc/examples/ex-client1.c, doc/examples/ex-client2.c, - doc/examples/ex-crq.c, doc/examples/ex-cxx.cpp, - doc/examples/ex-pkcs12.c, doc/examples/ex-rfc2818.c, - doc/examples/ex-serv-anon.c, doc/examples/ex-serv-export.c, - doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, - doc/examples/ex-serv-srp.c, doc/examples/ex-serv1.c, - doc/examples/ex-session-info.c, doc/examples/ex-verify.c, - doc/examples/ex-x509-info.c, doc/examples/tcp.c, lib/defines.h, - lib/gnutls_asn1_tab.c, lib/openpgp/openpgp_int.h, - lib/pkix_asn1_tab.c, src/errcodes.c, tests/anonself.c, - tests/certificate_set_x509_crl.c, tests/dhepskself.c, - tests/finished.c, tests/hostname-check/hostname-check.c, - tests/mini.c, tests/moredn.c, tests/netconf-psk.c, - tests/openpgpself.c, tests/oprfi.c, tests/pgps2kgnu.c, - tests/pskself.c, tests/resume.c, tests/tlsia.c, tests/x509dn.c, - tests/x509self.c, tests/x509signself.c: Use #ifdef for checking - HAVE_CONFIG_H for consistency. - -2008-09-02 Simon Josefsson - - * po/POTFILES.in: Mark gnutls_alert for translation. - -2008-09-02 Simon Josefsson - - * po/ms.po.in: Sync with TP. - -2008-09-02 Simon Josefsson - - * lgl/vasnprintf.c: Update gnulib files. - -2008-09-02 Simon Josefsson - - * NEWS: Add. - -2008-09-02 Simon Josefsson - - * NEWS: Add. - -2008-09-02 Simon Josefsson - - * THANKS: Add. - -2008-09-02 Simon Josefsson - - * lib/gnutls_cipher_int.c: Don't return from a void function. - Reported by Dave Uhring . - -2008-09-01 Daniel Kahn Gillmor - - * tests/Makefile.am, tests/pgps2kgnu.c: added pgps2kgnu test for GNU - extensions to OpenPGP String-to-Key (S2K) conventions. - -2008-09-01 Simon Josefsson - - * src/tls_test.c: Use gnulib for --version. - -2008-09-01 Simon Josefsson - - * src/crypt.c: Use gnulib more. Remove code. - -2008-09-01 Simon Josefsson - - * src/crypt.c, src/psk.c: Use gnulib for --version. - -2008-09-01 Simon Josefsson - - * src/cli-gaa.c, src/cli-gaa.h, src/serv-gaa.c, src/serv-gaa.h: - Generated. - -2008-09-01 Simon Josefsson - - * doc/gnutls.texi, doc/manpages/certtool.1, - doc/manpages/gnutls-cli.1, doc/manpages/gnutls-serv.1: Drop - --copyright from documentation. - -2008-09-01 Simon Josefsson - - * NEWS, src/cli.gaa, src/common.c, src/serv.c, src/serv.gaa: Drop - --copyright. - -2008-09-01 Simon Josefsson - - * src/serv.c: Use gnulib for --version. - -2008-09-01 Simon Josefsson - - * src/cli.c: Use gnulib for --version. - -2008-09-01 Simon Josefsson - - * src/certtool.c: Only print libgnutls version in --version if it is - different. - -2008-09-01 Simon Josefsson - - * NEWS: Add. - -2008-09-01 Simon Josefsson - - * doc/reference/Makefile.am, lib/Makefile.am, lib/gnutls_int.h, - lib/gnutls_str.h: Remove gnutls_buffer.h, move definitions to - gnutls_str.h. - -2008-09-01 Simon Josefsson - - * lib/gnutls_alert.c: Translate error messages. Cleanup code. - -2008-09-01 Simon Josefsson - - * lib/gnutls_compress.c, lib/gnutls_compress.h: Remove unused stuff. - -2008-09-01 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-09-01 Simon Josefsson - - * NEWS: Add. - -2008-09-01 Simon Josefsson - - * tests/simple.c: Test sign algos. - -2008-09-01 Simon Josefsson - - * src/common.c: Print pk and sign algos. - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.c: Typo. - -2008-09-01 Simon Josefsson - - * NEWS: Add. - -2008-09-01 Simon Josefsson - - * NEWS, includes/gnutls/gnutls.h.in, lib/gnutls_algorithms.c: Add - gnutls_sign_list and gnutls_sign_get_id. Suggested by Sam - Varshavchik . - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.h, lib/gnutls_compress.h: Move declarations. - -2008-09-01 Simon Josefsson - - * doc/reference/Makefile.am, lib/Makefile.am, - lib/gnutls_compress.c, lib/gnutls_compress.h, - lib/gnutls_compress_int.c, lib/gnutls_compress_int.h, - lib/gnutls_int.h: Merge gnutls_compress_int.? with - gnutls_compress.?. - -2008-09-01 Simon Josefsson - - * doc/reference/Makefile.am, lib/Makefile.am, lib/auth_anon.c, - lib/auth_cert.c, lib/auth_dh_common.c, lib/auth_dhe.c, - lib/auth_dhe_psk.c, lib/auth_psk.c, lib/auth_psk_passwd.c, - lib/auth_rsa.c, lib/auth_rsa_export.c, lib/auth_srp.c, - lib/auth_srp_passwd.c, lib/auth_srp_rsa.c, lib/ext_server_name.c, - lib/ext_srp.c, lib/gnutls_anon_cred.c, lib/gnutls_auth.c, - lib/gnutls_auth.h, lib/gnutls_auth_int.h, lib/gnutls_cert.c, - lib/gnutls_handshake.c, lib/gnutls_record.c, - lib/gnutls_session_pack.c, lib/gnutls_state.c, lib/gnutls_state.h, - lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_x509.c, - libextra/ext_inner_application.c: Move definitions in - gnutls_auth_int.h to gnutls_auth.h and update callers. - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.c, lib/gnutls_algorithms.h, - lib/gnutls_compress.c: Move compression functions to - gnutls_compress.c to make gnutls_algorithms.c more readable. - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.c: Fix warning. - -2008-09-01 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.c: Doc fix. - -2008-09-01 Simon Josefsson - - * tests/simple.c: Add more tests. - -2008-09-01 Simon Josefsson - - * lib/gnutls_algorithms.c: Fix typo. - -2008-09-01 Simon Josefsson - - * NEWS, includes/gnutls/gnutls.h.in, lib/gnutls_algorithms.c: Add - gnutls_pk_list and gnutls_pk_get_id. Suggested by Sam Varshavchik - . - -2008-09-01 Simon Josefsson - - * gl/arpa_inet.in.h, gl/gnulib.mk, gl/m4/include_next.m4, - gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/netinet_in.in.h, - gl/stdarg.in.h, lgl/Makefile.am, lgl/float.in.h, - lgl/m4/include_next.m4, lgl/m4/lib-link.m4, lgl/m4/lib-prefix.m4, - lgl/stdint.in.h, lgl/stdio.in.h, lgl/stdlib.in.h, lgl/string.in.h, - lgl/strings.in.h, lgl/sys_socket.in.h, lgl/sys_stat.in.h, - lgl/time.in.h, lgl/unistd.in.h, lgl/wchar.in.h: Update gnulib files. - -2008-09-01 Simon Josefsson - - * lib/minitasn1/Makefile.am, lib/openpgp/Makefile.am: Fixes. - -2008-09-01 Simon Josefsson - - * doc/gnutls.texi: Fix license and libgnutls-extra stuff. - -2008-08-31 Nikos Mavrogiannopoulos - - * : commit 765c079be0195f0f7fbefccf8b6a8910015042a6 Author: Nikos - Mavrogiannopoulos Date: Sun Aug 31 13:33:52 - 2008 +0300 - -2008-08-29 Simon Josefsson - - * lib/Makefile.am, lib/gnutls_openpgp.c, lib/openpgp/Makefile.am, - lib/openpgp/gnutls_openpgp.c: Move gnutls_openpgp.c to lib/openpgp/. - -2008-08-29 Simon Josefsson - - * lib/gnutls_errors.c: Add Since: tag for gtk-doc. - -2008-08-29 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-08-29 Simon Josefsson - - * cfg.mk: Fix release target. - -2008-08-29 Simon Josefsson - - * NEWS: Version 2.5.5. - -2008-08-29 Simon Josefsson - - * ChangeLog: Generated. - -2008-08-29 Simon Josefsson - - * .clcopying: Update copyright years. - -2008-08-29 Simon Josefsson - - * Makefile.am, cfg.mk: Split up release targets. - -2008-08-29 Simon Josefsson - - * NEWS, lib/minitasn1/element.c, lib/minitasn1/libtasn1.h, - lib/minitasn1/structure.c: Use libtasn1 1.5. - -2008-08-29 Simon Josefsson - - * lib/gnutls_str.c: Include stdarg.h for va_start etc. - -2008-08-29 Simon Josefsson - - * lib/gnutls_anon_cred.c: Fix dummy cred. - -2008-08-29 Simon Josefsson - - * configure.in: Bump libtool version because of new API. - -2008-08-29 Simon Josefsson - - * doc/examples/ex-client-tlsia.c, doc/examples/ex-serv-anon.c, - doc/examples/ex-serv-export.c, doc/examples/ex-serv-pgp.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv1.c, lib/gnutls_anon_cred.c, - lib/gnutls_buffers.c, lib/opencdk/keydb.c, - libextra/openssl_compat.c, libextra/openssl_compat.h, - src/certtool-cfg.c, src/certtool.c, src/cli.c, src/common.c, - src/crypt.c, src/prime.c, src/printlist.c, src/serv.c, src/tests.c, - src/tls_test.c: Fix warnings. - -2008-08-29 Simon Josefsson - - * configure.in: Fix description of --enable-developer-mode. Right - now all it does is to enable compiler warnings. - -2008-08-29 Simon Josefsson - - * NEWS, lib/auth_cert.c, lib/auth_srp_passwd.h, - lib/auth_srp_sb64.c, lib/gnutls_constate.c, lib/gnutls_global.c, - lib/gnutls_helper.c, lib/gnutls_int.h, lib/gnutls_srp.c, - lib/gnutls_supplemental.c, lib/gnutls_x509.c, lib/mac-libgcrypt.c, - lib/mpi-libgcrypt.c, lib/opencdk/armor.c, lib/opencdk/hash.c, - lib/opencdk/keydb.c, lib/opencdk/literal.c, lib/opencdk/main.h, - lib/opencdk/opencdk.h, lib/opencdk/stream.c, lib/openpgp/extras.c, - lib/pk-libgcrypt.c, libextra/gnutls_ia.c: Fix warnings. - -2008-08-29 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-08-29 Simon Josefsson - - * lib/gnutls_errors.c: Translate unknown error code message. - -2008-08-29 Simon Josefsson - - * lib/gnutls_errors.c: Don't translate symbol names. - -2008-08-29 Simon Josefsson - - * lib/gnutls_errors.c: Fix warning about defining variable inside - functions. - -2008-08-29 Simon Josefsson - - * NEWS, includes/gnutls/gnutls.h.in, lib/gnutls_errors.c, - src/errcodes.c: Add gnutls_strerror_name. - -2008-08-29 Simon Josefsson - - * lib/gnutls_extensions.c: Re-add, but mark static. - -2008-08-29 Simon Josefsson - - * GNUmakefile, gl/getdelim.c, gl/m4/getdelim.m4, maint.mk: Update - gnulib files. - -2008-08-29 Simon Josefsson - - * NEWS, lib/opencdk/Makefile.am, lib/x509/Makefile.am: Fix libtasn1 - include paths. - -2008-08-28 Nikos Mavrogiannopoulos - - * lib/opencdk/read-packet.c: avoid using gcrypt function. - -2008-08-28 Simon Josefsson - - * configure.in, lib/auth_rsa.c, lib/debug.c, lib/gnutls_cert.c, - lib/gnutls_dh.c, lib/gnutls_errors.c, lib/gnutls_extensions.c, - lib/gnutls_handshake.c, lib/gnutls_v2_compat.c: Fix warnings. - -2008-08-28 Simon Josefsson - - * lib/x509/common.c: Simplify logic. - -2008-08-28 Simon Josefsson - - * lib/x509/dn.c: Remove dead code. - -2008-08-28 Simon Josefsson - - * lib/openpgp/Makefile.am: Don't include missing -I's. - -2008-08-28 Simon Josefsson - - * configure.in: Drop warning. - -2008-08-28 Simon Josefsson - - * lib/x509/Makefile.am: Drop removed libextra directories from -I's. - -2008-08-28 Simon Josefsson - - * configure.in: Enable all kind of warnings. If you remove some, - add a comment on why. - -2008-08-28 Simon Josefsson - - * lib/openpgp/pgp.c, lib/x509/pbkdf2-sha1.c: Fix warnings. - -2008-08-28 Simon Josefsson - - * configure.in: Tweak warnings. - -2008-08-28 Simon Josefsson - - * includes/gnutls/x509.h, lib/x509/common.c, lib/x509/common.h, - lib/x509/dn.c: Fix warnings. - -2008-08-28 Simon Josefsson - - * lib/x509/common.c, lib/x509/common.h: Fix warnings. - -2008-08-28 Simon Josefsson - - * lib/auth_srp.c, lib/rnd-libgcrypt.c: Fix warnings. - -2008-08-28 Simon Josefsson - - * lib/gnutls_num.h: Protect against double inclusion. - -2008-08-28 Simon Josefsson - - * lib/crypto.h: Protect against double inclusions. - -2008-08-28 Simon Josefsson - - * lgl/Makefile.am, lgl/byteswap.in.h, lgl/m4/byteswap.m4, - lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-comp.m4, - lgl/tests/Makefile.am, lgl/tests/test-byteswap.c, lib/gnutls_num.c, - lib/gnutls_num.h: Use byteswap from gnulib. - -2008-08-28 Simon Josefsson - - * lib/auth_srp.h, lib/gnutls_global.c: Fix warnings. - -2008-08-28 Simon Josefsson - - * lib/gnutls_auth_int.h: Protect against double inclusion. - -2008-08-28 Simon Josefsson - - * lib/gnutls_errors.h: Protect against double inclusion. - -2008-08-28 Simon Josefsson - - * lib/gnutls_buffers.h, lib/gnutls_record.h, lib/gnutls_state.h: Fix - warnings. - -2008-08-28 Simon Josefsson - - * lib/gnutls_algorithms.h, lib/gnutls_pk.h, lib/gnutls_x509.h, - lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, lib/x509/verify.c: Fix - warnings. - -2008-08-28 Simon Josefsson - - * configure.in: Add warning. - -2008-08-28 Simon Josefsson - - * configure.in: Check whether warning flags are supported before - using them. - -2008-08-28 Simon Josefsson - - * doc/examples/Makefile.am, lib/gnutls_x509.c, lib/x509/output.c: - Make disable-extra-pki work better. - -2008-08-28 Simon Josefsson - - * configure.in: Fix --disable-extra-pki flag. - -2008-08-28 Simon Josefsson - - * NEWS, lib/gnutls_x509.c, lib/gnutls_x509.h, tests/Makefile.am, - tests/set_pkcs7_cred.c: Remove code to import PKCS#7 certificate - chains. The code hasn't worked since GnuTLS v0.9.0. Reported by - Christian Grothoff . - -2008-08-27 Simon Josefsson - - * lib/gnutls_handshake.c: Cast datasize to long to match %ld printf - format. - -2008-08-26 Simon Josefsson - - * tests/set_pkcs7_cred.c: Fix. - -2008-08-26 Simon Josefsson - - * tests/set_pkcs7_cred.c: Use utils infrastructure. - -2008-08-26 Simon Josefsson - - * tests/Makefile.am, tests/set_pkcs7_cred.c: Add set_pkcs7_cred self - test. - -2008-08-26 Daniel Kahn Gillmor - - * : commit 06ee30f6e553d4739ca50ab84492179da64cfc3e Author: Daniel - Kahn Gillmor Date: Tue Aug 26 11:00:27 - 2008 -0400 - -2008-08-26 Simon Josefsson - - * lib/gnutls_global.c, libextra/gnutls_extra.c: Fix gnulib calls. - -2008-08-26 Simon Josefsson - - * THANKS: Add. - -2008-08-26 Simon Josefsson - - * NEWS: Add. - -2008-08-26 Simon Josefsson - - * NEWS: Add. - -2008-08-26 Simon Josefsson - - * NEWS: Add. - -2008-08-26 Simon Josefsson - - * NEWS: Add. - -2008-08-26 Simon Josefsson - - * gl/m4/autobuild.m4, lgl/Makefile.am, lgl/m4/gnulib-comp.m4, - lgl/m4/string_h.m4, lgl/m4/strverscmp.m4, lgl/m4/threadlib.m4, - lgl/string.in.h, lgl/strverscmp.h, lgl/tests/Makefile.am, - lgl/tests/test-strverscmp.c: Update gnulib files. - -2008-08-25 Nikos Mavrogiannopoulos - - * lib/gnutls_pk.c, lib/pk-libgcrypt.c, lib/x509/privkey.c: corrected - private key generation - -2008-08-25 Nikos Mavrogiannopoulos - - * : commit 976565830d853f981ecd749bdb15dd02133ed93b Author: Nikos - Mavrogiannopoulos Date: Mon Aug 25 19:50:07 - 2008 +0300 - -2008-08-25 Nikos Mavrogiannopoulos - - * lib/x509/output.c: removed code that incorrectly printed IP - addresses. - -2008-08-23 Simon Josefsson - - * NEWS: Add. - -2008-08-23 Simon Josefsson - - * po/LINGUAS, po/fr.po.in, po/nl.po.in: Sync with TP. - -2008-08-20 Simon Josefsson - - * NEWS: Add. - -2008-08-19 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-08-19 Nikos Mavrogiannopoulos - - * lib/opencdk/opencdk.h, lib/opencdk/read-packet.c: patch by Daniel - Kahn Gillmor, to enable parsing (but not decrypting) of locked - secret keys (including the "gnu-dummy" S2K option). - -2008-08-19 Simon Josefsson - - * ChangeLog: Generated. - -2008-08-19 Simon Josefsson - - * NEWS: Version 2.5.4. - -2008-08-18 Simon Josefsson - - * gl/m4/autobuild.m4, lgl/m4/lock.m4: Update gnulib files. - -2008-08-18 Simon Josefsson - - * NEWS: Fix. - -2008-08-18 Simon Josefsson - - * NEWS: Add. - -2008-08-18 Simon Josefsson - - * NEWS: Add. - -2008-08-18 Simon Josefsson - - * lib/gnutls_global.c: Fix secure memory initialization of - libgcrypt. Reported by Joe Orton in - - . - -2008-08-16 Simon Josefsson - - * doc/gnutls.texi: Reference NIST SP 800-57. - -2008-08-16 Simon Josefsson - - * doc/protocol/rfc5246.txt: Add. - -2008-08-14 Simon Josefsson - - * NEWS: Re-add lost entry. - -2008-08-14 Simon Josefsson - - * lib/crypto.c, lib/gnutls_extensions.c, lib/gnutls_state.c, - lib/x509/crq.c: Doc fixes. - -2008-08-14 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-08-14 Simon Josefsson - - * ChangeLog: Generated. - -2008-08-14 Simon Josefsson - - * NEWS: Version 2.5.3. - -2008-08-13 Simon Josefsson - - * NEWS: Add. - -2008-08-13 Simon Josefsson - - * NEWS: Add. - -2008-08-13 Simon Josefsson - - * includes/gnutls/extra.h, includes/gnutls/openssl.h, - includes/gnutls/pkcs12.h, includes/gnutls/x509.h: Bump copyright in - installed header files. - -2008-08-13 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-08-13 Simon Josefsson - - * NEWS: Add. - -2008-08-13 Simon Josefsson - - * includes/gnutls/gnutls.h.in: Drop final comma in enum. Reported - in . - -2008-08-13 Simon Josefsson - - * lib/gnutlsxx.cpp: Don't call SRP functions if SRP is disabled. - -2008-08-13 Simon Josefsson - - * includes/gnutls/compat.h, includes/gnutls/gnutls.h.in, - lib/auth_rsa.c, lib/gnutls_constate.c, lib/gnutls_handshake.c, - lib/gnutls_int.h, lib/gnutls_kx.c, lib/gnutls_session_pack.c, - lib/gnutls_sig.c, lib/gnutls_state.c, lib/gnutls_v2_compat.c, - libextra/gnutls_ia.c: Fix namespace problem with TLS_MASTER_SIZE and - TLS_RANDOM_SIZE. - -2008-08-13 Simon Josefsson - - * gl/c-ctype.c, gl/c-ctype.h, gl/gnulib.mk, gl/inet_pton.c, - gl/m4/gnulib-comp.m4, gl/m4/inet_pton.m4, gl/tests/gnulib.mk, - gl/tests/test-c-ctype.c: Update gnulib files. - -2008-08-13 Simon Josefsson - - * NEWS, includes/gnutls/gnutls.h.in, lib/gnutls_handshake.c, - lib/gnutls_int.h, lib/gnutls_state.c, tests/Makefile.am, - tests/finished.c: Add API to set callback to extract TLS Finished - messages. - -2008-08-08 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-08-05 Simon Josefsson - - * GNUmakefile: Update gnulib files. - -2008-08-05 Simon Josefsson - - * NEWS: Add. - -2008-08-04 Simon Josefsson - - * GNUmakefile, build-aux/gnupload: Update gnulib files. - -2008-08-03 Nikos Mavrogiannopoulos - - * includes/gnutls/x509.h, lib/x509/crq.c: added - gnutls_x509_crq_set_key_rsa_raw() which will set a raw key to a - certificate request. - -2008-08-02 Nikos Mavrogiannopoulos - - * : commit 767fb210de7dcde20ac05e1f3ca78375279f5603 Author: Nikos - Mavrogiannopoulos Date: Sat Aug 2 11:55:56 - 2008 +0300 - -2008-07-22 Simon Josefsson - - * lib/auth_psk_passwd.c, lib/gnutls_cipher.c, - lib/gnutls_handshake.c, lib/x509/pkcs12.c, - lib/x509/privkey_pkcs8.c, src/crypt.c: Make it compile. - -2008-07-22 Simon Josefsson - - * doc/Makefile.am: Drop doxygen. - -2008-07-22 Simon Josefsson - - * GNUmakefile, gl/m4/gnulib-comp.m4, lgl/m4/gnulib-comp.m4, - lgl/vasnprintf.c: Update gnulib files. - -2008-07-10 Simon Josefsson - - * configure.in: Bump versions. - -2008-07-10 Simon Josefsson - - * NEWS, configure.in, doc/Makefile.am, doc/doxygen/Doxyfile.in, - doc/doxygen/Doxyfile.orig: Add doxygen scripts. - -2008-07-10 Simon Josefsson - - * lib/x509/common.c: Cleanup struct name, for doxygen documentation. - -2008-07-09 Simon Josefsson - - * lib/random.h: Add license. - -2008-07-09 Simon Josefsson - - * lib/auth_rsa.c, lib/auth_srp_passwd.c, lib/gnutls_pk.c, - lib/random.c, lib/random.h, lib/x509/privkey_pkcs8.c, src/psk.c: - Minor randomness API cleanups. - -2008-07-09 Simon Josefsson - - * lib/x509/dsa.c: Remove unused code. - -2008-07-08 Simon Josefsson - - * ChangeLog: Generated. - -2008-07-08 Simon Josefsson - - * NEWS: Version 2.5.2. - -2008-07-08 Simon Josefsson - - * doc/gnutls.texi: Fix @include of algorithms.texi. - -2008-07-08 Simon Josefsson - - * doc/Makefile.am: Fix typos. - -2008-07-08 Simon Josefsson - - * doc/Makefile.am, src/Makefile.am: Generate algorithms.texi the - same way as error_codes.texi for consistency. Fixes 'make - distcheck' due to srcdir != objdir breakage. - -2008-07-08 Simon Josefsson - - * configure.in: Bump libtool library version because we added - interfaces. - -2008-07-08 Simon Josefsson - - * NEWS, lib/Makefile.am, lib/ext_inner_application.c, - lib/ext_inner_application.h, lib/gnutls_extensions.c, - libextra/Makefile.am, libextra/ext_inner_application.c, - libextra/ext_inner_application.h, libextra/gnutls_extra.c: Move - TLS/IA features to libgnutls-extra. - -2008-07-08 Simon Josefsson - - * tests/tlsia.c: Initialize extra library. - -2008-07-08 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-07-07 Nikos Mavrogiannopoulos - - * src/printlist.c: added missing file. - -2008-07-06 Nikos Mavrogiannopoulos - - * doc/Makefile.am, doc/gnutls.texi: automatically generate the - appendix with supported algorithms and ciphersuites. - -2008-07-06 Nikos Mavrogiannopoulos - - * src/Makefile.am: automatically generate the appendix with - supported algorithms and ciphersuites. - -2008-07-06 Nikos Mavrogiannopoulos - - * lib/gnutls_priority.c: document a way to get the available - algorithms and protocols. - -2008-07-05 Nikos Mavrogiannopoulos - - * lib/x509/common.c: Corrected memory leak in read_octet. Based on - patch by Colin Leroy (colin@colino.net) - -2008-07-03 Simon Josefsson - - * NEWS: Add. - -2008-07-03 Simon Josefsson - - * includes/gnutls/gnutls.h.in, lib/gnutls_extensions.c, - lib/gnutls_extensions.h, lib/gnutls_global.c, - lib/gnutls_handshake.c, lib/gnutls_int.h: Add APIs to register TLS - extension handlers. - -2008-07-02 Simon Josefsson - - * lib/minitasn1/Makefile.am, lib/x509/Makefile.am: Use AM_CPPFLAGS. - -2008-07-02 Simon Josefsson - - * lib/opencdk/Makefile.am: lib/opencdk/Makefile.am (INCLUDES): - Rename to `AM_CPPFLAGS'. - -2008-07-02 Simon Josefsson - - * NEWS: Fix. - -2008-07-02 Simon Josefsson - - * NEWS: Add. - -2008-07-02 Simon Josefsson - - * Makefile.am, cfg.mk: Guile problem fixed. - -2008-07-02 Simon Josefsson - - * lib/gnutls_dh_primes.c: Fix typo that swapped prime/generator in - gnutls_dh_params_generate2. - -2008-07-02 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-07-02 Simon Josefsson - - * ChangeLog: Generated. - -2008-07-02 Simon Josefsson - - * NEWS: Version 2.5.1. - -2008-07-02 Simon Josefsson - - * cfg.mk, doc/examples/ex-cert-select.c, - doc/examples/ex-client-psk.c, doc/examples/ex-client-tlsia.c, - doc/examples/ex-client1.c, doc/examples/ex-client2.c, - doc/examples/ex-serv-export.c, doc/examples/ex-serv-pgp.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv1.c, - guile/src/core.c, guile/src/errors.c, guile/src/extra.c, - lib/auth_cert.c, lib/auth_dh_common.c, lib/auth_dhe.c, - lib/auth_psk.c, lib/auth_psk_passwd.c, lib/auth_rsa.c, - lib/auth_rsa_export.c, lib/auth_srp.c, lib/auth_srp_passwd.c, - lib/auth_srp_rsa.c, lib/cipher-libgcrypt.c, lib/crypto.c, - lib/debug.c, lib/ext_cert_type.c, lib/ext_max_record.c, - lib/ext_oprfi.c, lib/ext_server_name.c, lib/ext_srp.c, - lib/gnutls_alert.c, lib/gnutls_algorithms.c, - lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, - lib/gnutls_compress.c, lib/gnutls_constate.c, lib/gnutls_db.c, - lib/gnutls_dh.c, lib/gnutls_dh_primes.c, lib/gnutls_errors.c, - lib/gnutls_extensions.c, lib/gnutls_global.c, - lib/gnutls_handshake.c, lib/gnutls_hash_int.c, lib/gnutls_kx.c, - lib/gnutls_mpi.c, lib/gnutls_openpgp.c, lib/gnutls_pk.c, - lib/gnutls_priority.c, lib/gnutls_psk.c, lib/gnutls_psk_netconf.c, - lib/gnutls_record.c, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_sig.c, lib/gnutls_srp.c, - lib/gnutls_state.c, lib/gnutls_str.c, lib/gnutls_supplemental.c, - lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_x509.c, - lib/mac-libgcrypt.c, lib/minitasn1/structure.c, - lib/mpi-libgcrypt.c, lib/opencdk/armor.c, lib/opencdk/dummy.c, - lib/opencdk/hash.c, lib/opencdk/kbnode.c, lib/opencdk/keydb.c, - lib/opencdk/literal.c, lib/opencdk/main.c, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, - lib/opencdk/verify.c, lib/opencdk/write-packet.c, - lib/openpgp/compat.c, lib/openpgp/extras.c, lib/openpgp/output.c, - lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, lib/openpgp/privkey.c, - lib/pk-libgcrypt.c, lib/random.c, lib/rnd-libgcrypt.c, - lib/x509/common.c, lib/x509/crl.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/dsa.c, lib/x509/extensions.c, lib/x509/mpi.c, - lib/x509/output.c, lib/x509/pbkdf2-sha1.c, lib/x509/pkcs12.c, - lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/rfc2818_hostname.c, - lib/x509/sign.c, lib/x509/x509.c, lib/x509/x509_write.c, - libextra/gnutls_openssl.c, src/certtool-cfg.c, src/certtool.c, - src/cli.c, src/common.c, src/crypt.c, src/psk.c, src/select.c, - src/serv.c, src/tests.c, src/tls_test.c, - tests/certificate_set_x509_crl.c, tests/crypto_rng.c, - tests/dhepskself.c, tests/dn.c, tests/gc.c, - tests/hostname-check/hostname-check.c, tests/mini.c, - tests/moredn.c, tests/mpi.c, tests/openpgp/keyring.c, - tests/openpgpself.c, tests/oprfi.c, tests/parse_ca.c, - tests/pkcs12-decode/pkcs12_s2k.c, tests/x509dn.c, tests/x509self.c, - tests/x509signself.c: Indent code. - -2008-07-02 Simon Josefsson - - * NEWS, configure.in: Bump versions. - -2008-07-02 Simon Josefsson - - * ChangeLog: Generated. - -2008-07-02 Simon Josefsson - - * NEWS: Version 2.5.0. - -2008-07-02 Simon Josefsson - - * tests/pkcs12-decode/Makefile.am: The -I.. needs to point to - srcdir. - -2008-07-02 Simon Josefsson +2008-06-30 Simon Josefsson - * NEWS: Add. + * NEWS: Version 2.4.1. -2008-07-02 Simon Josefsson +2008-06-30 Simon Josefsson * NEWS: Add. -2008-07-02 Simon Josefsson - - * lib/opencdk/Makefile.am: Need -I to builddir for gnutls.h. - -2008-07-02 Simon Josefsson - - * doc/reference/Makefile.am: Ignore more. - -2008-07-02 Simon Josefsson - - * lib/x509/Makefile.am: Dist pbkdf2-sha1.h. - -2008-07-02 Simon Josefsson - - * po/pl.po.in, po/vi.po.in: Sync with TP. - -2008-07-02 Simon Josefsson - - * Makefile.am, cfg.mk: Disable building guile for now, to be able to - do a release. - -2008-07-02 Simon Josefsson - - * NEWS: Sort functions. - -2008-07-02 Simon Josefsson - - * doc/gnutls.texi: Don't use @acronym for C++, as it breaks old - texinfo/tetex installations. Further, C++ isn't an acronym anyway - as far as I know. - -2008-07-01 Simon Josefsson - - * gl/gnulib.mk, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/tests/Makefile.am, gl/tests/gnulib.mk, - gl/tests/test-EOVERFLOW.c, gl/tests/test-arpa_inet.c, - gl/tests/test-getaddrinfo.c, gl/tests/test-getdelim.c, - gl/tests/test-getline.c, gl/tests/test-netinet_in.c, - gl/tests/test-strerror.c, lgl/Makefile.am, lgl/m4/gnulib-cache.m4, - lgl/m4/gnulib-comp.m4, lgl/tests/Makefile.am, lgl/tests/dummy.c, - lgl/tests/intprops.h, lgl/tests/test-EOVERFLOW.c, - lgl/tests/test-alloca-opt.c, lgl/tests/test-c-ctype.c, - lgl/tests/test-fseeko.c, lgl/tests/test-fseeko.sh, - lgl/tests/test-func.c, lgl/tests/test-lseek.c, - lgl/tests/test-lseek.sh, lgl/tests/test-memchr.c, - lgl/tests/test-memcmp.c, lgl/tests/test-read-file.c, - lgl/tests/test-snprintf.c, lgl/tests/test-stdbool.c, - lgl/tests/test-stdint.c, lgl/tests/test-stdio.c, - lgl/tests/test-stdlib.c, lgl/tests/test-string.c, - lgl/tests/test-strings.c, lgl/tests/test-sys_socket.c, - lgl/tests/test-sys_stat.c, lgl/tests/test-time.c, - lgl/tests/test-unistd.c, lgl/tests/test-vasnprintf.c, - lgl/tests/test-vasprintf.c, lgl/tests/test-wchar.c, - lgl/tests/verify.h: Add gnulib self-tests. - -2008-07-01 Simon Josefsson - - * lgl/m4/gnulib-cache.m4: Put gnulib tests in a separate directory. - -2008-07-01 Simon Josefsson - - * m4/gc_random.m4: Remove unused code. - -2008-07-01 Simon Josefsson - - * lgl/Makefile.am, lgl/arcfour.c, lgl/arcfour.h, lgl/arctwo.c, - lgl/arctwo.h, lgl/des.c, lgl/des.h, lgl/gc-gnulib.c, - lgl/gc-libgcrypt.c, lgl/gc-pbkdf2-sha1.c, lgl/gc.h, lgl/hmac-md5.c, - lgl/hmac-sha1.c, lgl/hmac.h, lgl/m4/arcfour.m4, lgl/m4/arctwo.m4, - lgl/m4/des.m4, lgl/m4/gc-arcfour.m4, lgl/m4/gc-arctwo.m4, - lgl/m4/gc-camellia.m4, lgl/m4/gc-des.m4, lgl/m4/gc-hmac-md5.m4, - lgl/m4/gc-hmac-sha1.m4, lgl/m4/gc-md2.m4, lgl/m4/gc-md4.m4, - lgl/m4/gc-md5.m4, lgl/m4/gc-pbkdf2-sha1.m4, lgl/m4/gc-random.m4, - lgl/m4/gc-rijndael.m4, lgl/m4/gc-sha1.m4, lgl/m4/gc.m4, - lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-comp.m4, lgl/m4/hmac-md5.m4, - lgl/m4/hmac-sha1.m4, lgl/m4/md2.m4, lgl/m4/md4.m4, lgl/m4/md5.m4, - lgl/m4/memxor.m4, lgl/m4/rijndael.m4, lgl/m4/sha1.m4, lgl/md2.c, - lgl/md2.h, lgl/md4.c, lgl/md4.h, lgl/md5.c, lgl/md5.h, - lgl/memxor.c, lgl/memxor.h, lgl/rijndael-alg-fst.c, - lgl/rijndael-alg-fst.h, lgl/rijndael-api-fst.c, - lgl/rijndael-api-fst.h, lgl/sha1.c, lgl/sha1.h: Drop gnulib gc - modules. - -2008-07-01 Simon Josefsson - - * configure.in, lgl/m4/gnulib-cache.m4: Drop gc. - -2008-07-01 Simon Josefsson +2008-06-30 Simon Josefsson - * lib/gnutls_cipher.c, lib/gnutls_handshake.c, - lib/x509/privkey_pkcs8.c: Drop gc.h. + * THANKS: Add. 2008-06-30 Simon Josefsson - * NEWS: Add. + * NEWS: Fix links. 2008-06-30 Simon Josefsson - * lib/gnutls_handshake.c: (_gnutls_handshake_hash_buffers_clear): Make sure deinitialized MAC - hashes are initialized. Report and tiny patch from Tomas Mraz - . + * NEWS: Add. 2008-06-30 Simon Josefsson - * THANKS: Add. + * : commit 0fee3917077e191dea3c9787c95c072979532086 Author: Simon + Josefsson Date: Mon Jun 30 22:44:47 2008 + +0200 2008-06-30 Nikos Mavrogiannopoulos @@ -5549,54 +30,9 @@ never match (--verify check) on some architectures (patch by Matthias Koenig ) -2008-06-30 Nikos Mavrogiannopoulos - - * includes/gnutls/openssl.h, libextra/gnutls_openssl.c: corrected - openssl. - -2008-06-30 Nikos Mavrogiannopoulos - - * includes/gnutls/openssl.h, libextra/gnutls_openssl.c: use native - gnutls functions. - -2008-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_hash_int.c, lib/gnutls_hash_int.h: added - _gnutls_hash_fast() - -2008-06-30 Nikos Mavrogiannopoulos - - * : commit fded9a7d1e6d58f951fc7e8f4db80d3e23f5ea1f Author: Nikos - Mavrogiannopoulos Date: Mon Jun 30 20:15:19 - 2008 +0300 - -2008-06-30 Nikos Mavrogiannopoulos - - * src/crypt.c, src/psk.c: avoid using gc_ functions for random data. - -2008-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, - lib/x509/Makefile.am, lib/x509/pbkdf2-sha1.c, - lib/x509/pbkdf2-sha1.h, lib/x509/privkey_pkcs8.c, tests/gc.c: added - _gnutls_pkcs5_pbkdf2_sha1() based on gc_pkcs5_pbkdf2_sha1() - -2008-06-30 Simon Josefsson - - * : Remove executable. - 2008-06-30 Simon Josefsson - * lib/gnutls_psk_netconf.c: Remove debug code. - -2008-06-30 Simon Josefsson - - * doc/manpages/Makefile.am: Generated. - -2008-06-30 Simon Josefsson - - * gl/m4/gnulib-cache.m4, gl/m4/gnulib-tool.m4, - lgl/m4/gnulib-cache.m4, lgl/m4/gnulib-tool.m4: Update gnulib files. + * NEWS: Add. 2008-06-30 Simon Josefsson @@ -5607,58 +43,9 @@ * lib/gnutls_state.c: added check before reallocation of parameters to avoid memory leaks on rehandshake. -2008-06-28 Nikos Mavrogiannopoulos - - * NEWS: document the rewrite of opencdk crypto backend. - -2008-06-28 Nikos Mavrogiannopoulos - - * NEWS, doc/gnutls.texi, includes/gnutls/crypto.h, - includes/gnutls/gnutls.h.in, lib/Makefile.am, lib/auth_anon.c, - lib/auth_dh_common.c, lib/auth_dh_common.h, lib/auth_dhe.c, - lib/auth_dhe_psk.c, lib/auth_rsa.c, lib/auth_rsa_export.c, - lib/auth_srp.c, lib/cipher-libgcrypt.c, lib/crypto.c, lib/crypto.h, - lib/debug.c, lib/debug.h, lib/gnutls_algorithms.c, - lib/gnutls_cert.h, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/gnutls_datum.h, lib/gnutls_dh.c, - lib/gnutls_dh.h, lib/gnutls_dh_primes.c, lib/gnutls_global.c, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_int.h, - lib/gnutls_mpi.c, lib/gnutls_mpi.h, lib/gnutls_openpgp.c, - lib/gnutls_pk.c, lib/gnutls_pk.h, lib/gnutls_priority.c, - lib/gnutls_psk_netconf.c, lib/gnutls_rsa_export.c, - lib/gnutls_rsa_export.h, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/gnutls_srp.c, lib/gnutls_srp.h, lib/gnutls_state.c, - lib/gnutls_state.h, lib/gnutls_supplemental.c, lib/gnutls_x509.h, - lib/mac-libgcrypt.c, lib/mpi-libgcrypt.c, lib/opencdk/Makefile.am, - lib/opencdk/armor.c, lib/opencdk/context.h, lib/opencdk/dummy.c, - lib/opencdk/filters.h, lib/opencdk/hash.c, lib/opencdk/kbnode.c, - lib/opencdk/keydb.c, lib/opencdk/literal.c, lib/opencdk/main.c, - lib/opencdk/main.h, lib/opencdk/misc.c, lib/opencdk/new-packet.c, - lib/opencdk/opencdk.h, lib/opencdk/packet.h, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, lib/opencdk/types.h, - lib/opencdk/verify.c, lib/opencdk/write-packet.c, - lib/openpgp/extras.c, lib/openpgp/openpgp_int.h, - lib/openpgp/output.c, lib/openpgp/pgp.c, lib/openpgp/privkey.c, - lib/pk-libgcrypt.c, lib/random.c, lib/random.h, - lib/rnd-libgcrypt.c, lib/x509/Makefile.am, lib/x509/common.c, - lib/x509/common.h, lib/x509/crl.c, lib/x509/mpi.c, - lib/x509/pkcs12.c, lib/x509/pkcs12_encr.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/sign.c, lib/x509/verify.c, - lib/x509/x509.c, lib/x509/x509_int.h, src/psk-gaa.c, - tests/Makefile.am, tests/ca.pem, tests/crypto_rng.c, tests/mpi.c, - tests/netconf-psk.c, tests/openpgp/keyring.c, - tests/pkcs12-decode/Makefile.am, tests/pkcs12-decode/pkcs12_s2k.c: - Initial merge attempt with gnutls_with_ext_mpi - -2008-06-25 Nikos Mavrogiannopoulos - - * lib/gnutls_dh_primes.c: do not add trailing zero on the size - count. - 2008-06-23 Simon Josefsson - * GNUmakefile: Update gnulib files. + * Makefile.am: Upload to ftp.gnu.org, not alpha. 2008-06-23 Simon Josefsson @@ -5673,39 +60,13 @@ 2008-06-19 Simon Josefsson - * configure.in: Fix typo. - -2008-06-19 Simon Josefsson - - * configure.in: Disable C++ library if psk, srp, anon etc have been - disabled. The libgnutlsxx.cpp file calls several functions that may - have been removed. - -2008-06-19 Simon Josefsson - - * configure.in, doc/examples/Makefile.am: Make - --disable-psk-authentication work. - -2008-06-19 Simon Josefsson - - * lgl/m4/lock.m4: Update gnulib files. - -2008-06-19 Simon Josefsson - - * doc/examples/ex-cxx.cpp: Use cstring instead of string.h. - Reported by Daniel Black in - - . - -2008-06-19 Simon Josefsson - * NEWS: Add. 2008-06-18 Simon Josefsson - * src/cli.c, src/psk.c: Fix warning regarding undeclared getpass - replacement. Reported by Massimo Gaspari - in . + * lib/gnutls_state.h: Add prototype for _gnutls_session_is_psk. + Reported by Massimo Gaspari in + . 2008-06-18 Simon Josefsson @@ -5715,13 +76,13 @@ 2008-06-18 Simon Josefsson - * lib/gnutls_state.h: Add prototype for _gnutls_session_is_psk. - Reported by Massimo Gaspari in - . + * src/cli.c, src/psk.c: Fix warning regarding undeclared getpass + replacement. Reported by Massimo Gaspari + in . -2008-06-18 Simon Josefsson +2008-06-19 Simon Josefsson - * Makefile.am, NEWS, configure.in: Bump versions. + * NEWS, configure.in: Bump versions. 2008-06-18 Simon Josefsson @@ -17844,10 +12205,8 @@ * Version 1.2.9. - ----- - - Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. + ---------------------------------------------------------------------- + Copyright (C) 2005, 2006, 2007 Free Software Foundation + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. diff -Nru gnutls26-2.8.6/.clcopying gnutls26-2.4.1/.clcopying --- gnutls26-2.8.6/.clcopying 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/.clcopying 2008-06-19 11:00:09.000000000 +0100 @@ -1,7 +1,5 @@ - ----- - - Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. + ---------------------------------------------------------------------- + Copyright (C) 2005, 2006, 2007 Free Software Foundation + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. diff -Nru gnutls26-2.8.6/config.h.in gnutls26-2.4.1/config.h.in --- gnutls26-2.8.6/config.h.in 2010-03-15 10:29:17.000000000 +0000 +++ gnutls26-2.4.1/config.h.in 2008-06-30 22:07:48.000000000 +0100 @@ -1,8 +1,4 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if the compiler is building for multiple architectures of Apple - platforms at once. */ -#undef AA_APPLE_UNIVERSAL_BUILD +/* config.h.in. Generated from configure.in by autoheader. */ /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T @@ -36,6 +32,10 @@ /* enable camellia block cipher */ #undef ENABLE_CAMELLIA +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + /* use openpgp authentication */ #undef ENABLE_OPENPGP @@ -51,14 +51,50 @@ /* enable SRP authentication */ #undef ENABLE_SRP -/* Define to 1 if ungetc is broken when used on arbitrary bytes. */ -#undef FUNC_UNGETC_BROKEN +/* Define as good substitute value for EOVERFLOW. */ +#undef EOVERFLOW + +/* Define to 1 when using the gnulib module gc-arcfour. */ +#undef GNULIB_GC_ARCFOUR + +/* Define to 1 when using the gnulib module gc-arctwo. */ +#undef GNULIB_GC_ARCTWO + +/* Define to 1 when using the gnulib module gc-camellia. */ +#undef GNULIB_GC_CAMELLIA + +/* Define to 1 when using the gnulib module gc-des. */ +#undef GNULIB_GC_DES + +/* Define to 1 when using the gnulib module gc-hmac-md5. */ +#undef GNULIB_GC_HMAC_MD5 + +/* Define to 1 when using the gnulib module gc-hmac-sha1. */ +#undef GNULIB_GC_HMAC_SHA1 + +/* Define to 1 when using the gnulib module gc-md2. */ +#undef GNULIB_GC_MD2 -/* Define if gettimeofday clobbers the localtime buffer. */ -#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME +/* Define to 1 when using the gnulib module gc-md4. */ +#undef GNULIB_GC_MD4 -/* Define to 1 when using the gnulib module ioctl. */ -#undef GNULIB_IOCTL +/* Define to 1 when using the gnulib module gc-md5. */ +#undef GNULIB_GC_MD5 + +/* Define to 1 when using the gnulib module gc-random. */ +#undef GNULIB_GC_RANDOM + +/* Define to 1 when using the gnulib module gc-rijndael. */ +#undef GNULIB_GC_RIJNDAEL + +/* Define to 1 when using the gnulib module gc-sha1. */ +#undef GNULIB_GC_SHA1 + +/* version of gcrypt */ +#undef GNUTLS_GCRYPT_VERSION + +/* version of libtasn1 */ +#undef GNUTLS_LIBTASN1_VERSION /* Additional cast to bring void* to a type castable to int. */ #undef GNUTLS_POINTER_TO_INT_CAST @@ -74,9 +110,27 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H +/* Define to 1 if you have the header file. */ +#undef HAVE_BP_SYM_H + +/* Define if your libgcrypt supports Camellia. */ +#undef HAVE_CAMELLIA + +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + /* Hard-code for src/cfg/. */ #undef HAVE_CTYPE_H +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED @@ -105,10 +159,6 @@ don't. */ #undef HAVE_DECL_GETADDRINFO -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#undef HAVE_DECL_GETC_UNLOCKED - /* Define to 1 if you have the declaration of `getdelim', and to 0 if you don't. */ #undef HAVE_DECL_GETDELIM @@ -133,6 +183,10 @@ don't. */ #undef HAVE_DECL_INET_PTON +/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't. + */ +#undef HAVE_DECL_MEMMEM + /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED @@ -141,6 +195,10 @@ don't. */ #undef HAVE_DECL_SNPRINTF +/* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. + */ +#undef HAVE_DECL_STRDUP + /* Define to 1 if you have the declaration of `strerror', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR @@ -149,6 +207,10 @@ don't. */ #undef HAVE_DECL_STRERROR_R +/* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you + don't. */ +#undef HAVE_DECL_STRNCASECMP + /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF @@ -160,7 +222,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H -/* Define to 1 if you have the header file. */ +/* Hard-code for src/cfg/. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the header file. */ @@ -184,11 +246,14 @@ /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME -/* Define to 1 if you have the `getservbyname' function. */ -#undef HAVE_GETSERVBYNAME +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY +/* Define if your compiler supports the #include_next directive. */ +#undef HAVE_INCLUDE_NEXT /* Define to 1 if you have the `inet_ntop' function. */ #undef HAVE_INET_NTOP @@ -212,11 +277,17 @@ /* Define to 1 if defines AF_INET6. */ #undef HAVE_IPV6 -/* Define if you have the lib[]gcrypt library. */ +/* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ +#undef HAVE_LIBDMALLOC + +/* Define to 1 if you have the `efence' library (-lefence). */ +#undef HAVE_LIBEFENCE + +/* Define if you have the gcrypt library. */ #undef HAVE_LIBGCRYPT -/* Define if you have the lib[]tasn1 library. */ -#undef HAVE_LIBTASN1 +/* Define if you have the z library. */ +#undef HAVE_LIBZ /* Hard-code for src/cfg/. */ #undef HAVE_LIMITS_H @@ -236,8 +307,14 @@ /* Hard-code for src/cfg/. */ #undef HAVE_MATH_H -/* Define to 1 if you have the `mbrtowc' function. */ -#undef HAVE_MBRTOWC +/* Define to 1 if you have the `memchr' function. */ +#undef HAVE_MEMCHR + +/* Define to 1 if you have the `memmem' function. */ +#undef HAVE_MEMMEM + +/* Define to 1 if you have the `memmove' function. */ +#undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H @@ -254,9 +331,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H -/* Define to 1 if you have the header file. */ -#undef HAVE_RANDOM_H - /* Define if you have the readline library. */ #undef HAVE_READLINE @@ -266,12 +340,6 @@ /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX -/* Define to 1 if the system has the type `sa_family_t'. */ -#undef HAVE_SA_FAMILY_T - -/* Define to 1 if you have the `scm_gc_malloc_pointerless' function. */ -#undef HAVE_SCM_GC_MALLOC_POINTERLESS - /* Define to 1 if you have the `shutdown' function. */ #undef HAVE_SHUTDOWN @@ -309,29 +377,29 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + /* Define to 1 if you have the `strerror_r' function. */ #undef HAVE_STRERROR_R -/* Hard-code for src/cfg/. */ +/* 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 `strnlen' function. */ -#undef HAVE_STRNLEN +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP /* Define to 1 if the system has the type `struct addrinfo'. */ #undef HAVE_STRUCT_ADDRINFO -/* Define to 1 if the system has the type `struct random_data'. */ -#undef HAVE_STRUCT_RANDOM_DATA - -/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ -#undef HAVE_STRUCT_SOCKADDR_SA_LEN - -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ -#undef HAVE_STRUCT_SOCKADDR_STORAGE +/* Define to 1 if you have the `strverscmp' function. */ +#undef HAVE_STRVERSCMP /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H @@ -339,30 +407,18 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SELECT_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_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_TIMEB_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_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_SYS_WAIT_H - /* Define to 1 if you have the `tcgetattr' function. */ #undef HAVE_TCGETATTR @@ -372,6 +428,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_TIME_H + /* Define to 1 if the system has the type `uint'. */ #undef HAVE_UINT @@ -384,20 +443,20 @@ /* Define to 1 if you have the `vasnprintf' function. */ #undef HAVE_VASNPRINTF +/* Define to 1 if you have the `vasprintf' function. */ +#undef HAVE_VASPRINTF + /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T -/* Define to 1 if you have the `wcrtomb' function. */ -#undef HAVE_WCRTOMB - /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN -/* Define to 1 if you have the `wcsnlen' function. */ -#undef HAVE_WCSNLEN +/* Call WSAStartup in gnutls_global_init */ +#undef HAVE_WINSOCK /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H @@ -411,18 +470,26 @@ /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL -/* Define to 1 if you have the `_ftime' function. */ -#undef HAVE__FTIME - /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING +/* Enable prototypes in includes/crypto.h. */ +#undef INTERNAL_GNUTLS_CRYPTO_H_ENABLE_UNSUPPORTED_API + /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR +/* defined to the name of the unpredictable nonce device */ +#undef NAME_OF_NONCE_DEVICE + +/* defined to the name of the pseudo random device */ +#undef NAME_OF_PSEUDO_RANDOM_DEVICE + +/* defined to the name of the (strong) random device */ +#undef NAME_OF_RANDOM_DEVICE + +/* no ssize_t type was found */ +#undef NO_SSIZE_T /* Name of package */ #undef PACKAGE @@ -439,9 +506,6 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME -/* Define to the home page for this package. */ -#undef PACKAGE_URL - /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -465,14 +529,18 @@ /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG +/* The size of `unsigned int', as computed by sizeof. */ +#undef SIZEOF_UNSIGNED_INT + +/* The size of `unsigned long int', as computed by sizeof. */ +#undef SIZEOF_UNSIGNED_LONG_INT + /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ -#ifndef SIZE_MAX -# undef SIZE_MAX -#endif +#undef SIZE_MAX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ @@ -495,6 +563,12 @@ /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P +/* enable the use of dmalloc */ +#undef USE_DMALLOC + +/* use electric fence */ +#undef USE_EFENCE + /* whether to use the LZO compression */ #undef USE_LZO @@ -505,13 +579,21 @@ 'wchar_t'. */ #undef WCHAR_T_SUFFIX -/* Define if WSAStartup is needed. */ -#undef WINDOWS_SOCKETS - /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wint_t'. */ #undef WINT_T_SUFFIX +/* Windows 2000 or before not supported. */ +#undef WINVER + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ +#if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +#elif ! defined __LITTLE_ENDIAN__ +# undef WORDS_BIGENDIAN +#endif + /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE @@ -525,9 +607,6 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE -/* Define to 500 only on HP-UX. */ -#undef _XOPEN_SOURCE - /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -550,15 +629,18 @@ #endif +/* Define as a replacement for the ISO C99 __func__ variable. */ +#undef __func__ + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + /* Define to a replacement function name for getpass(). */ #undef getpass /* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b)) -/* Define to rpl_gmtime if the replacement function should be used. */ -#undef gmtime - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus @@ -578,8 +660,8 @@ # define __GNUC_STDC_INLINE__ 1 #endif -/* Define to rpl_localtime if the replacement function should be used. */ -#undef localtime +/* Define to rpl_memcmp if the replacement function should be used. */ +#undef memcmp /* Define to the type of st_nlink in struct stat, or a supertype. */ #undef nlink_t @@ -607,15 +689,5 @@ /* type to use in place of socklen_t if not defined */ #undef socklen_t -/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif - - /* Define as a macro for copying va_list variables. */ #undef va_copy diff -Nru gnutls26-2.8.6/configure gnutls26-2.4.1/configure --- gnutls26-2.8.6/configure 2010-03-15 10:29:16.000000000 +0000 +++ gnutls26-2.4.1/configure 2008-06-30 22:07:48.000000000 +0100 @@ -1,24 +1,20 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for GnuTLS 2.8.6. +# Generated by GNU Autoconf 2.62 for GnuTLS 2.4.1. # # Report bugs to . # -# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# -# +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 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. ## -## -------------------- ## +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -26,15 +22,23 @@ alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi + + +# PATH needs CR +# 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 + as_nl=' ' export as_nl @@ -42,13 +46,7 @@ as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -59,7 +57,7 @@ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in #( + case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -82,6 +80,13 @@ } fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -91,15 +96,15 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in #(( +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -111,16 +116,12 @@ fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' @@ -132,300 +133,330 @@ LANGUAGE=C export LANGUAGE +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; 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 || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + # CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +$as_unset CDPATH + if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST + if (eval ":") 2>/dev/null; then + as_have_required=yes else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac + as_have_required=no fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes +if as_func_success; then + : else - as_have_required=no + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : +if as_func_ret_success; then + : else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + 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=. - as_found=: - case $as_dir in #( + case $as_dir in /*) for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac - as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-gnutls@gnu.org -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' +if as_func_ret_success; then + : else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append + exitcode=1 + echo as_func_ret_success failed. +fi -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith + exitcode=1 + echo positional parameters were not saved. +fi +test $exitcode = 0) || { (exit 1); exit 1; } -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : else - as_expr=false + exitcode=1 + echo as_func_success failed. fi -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : else - as_basename=false + exitcode=1 + echo as_func_ret_success failed. fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : else - as_dirname=false + exitcode=1 + echo positional parameters were not saved. fi -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} -# 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 - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -442,7 +473,8 @@ s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { $as_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 @@ -452,18 +484,29 @@ exit } -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -493,7 +536,7 @@ rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -512,10 +555,10 @@ if test -d "$1"; then test -d "$1/."; else - case $1 in #( + case $1 in -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -530,25 +573,26 @@ + # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} -case X$lt_ECHO in +case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac -ECHO=${lt_ECHO-echo} +echo=${ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! : else # Restart under the correct shell. @@ -558,9 +602,9 @@ if test "X$1" = X--fallback-echo; then # used as fallback echo shift - cat <<_LT_EOF + cat </dev/null 2>&1 && unset CDPATH -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break fi - fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi fi fi fi fi +fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi -test -n "$DJDIR" || exec 7<&0 &1 +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -697,14 +745,14 @@ subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GnuTLS' PACKAGE_TARNAME='gnutls' -PACKAGE_VERSION='2.8.6' -PACKAGE_STRING='GnuTLS 2.8.6' +PACKAGE_VERSION='2.4.1' +PACKAGE_STRING='GnuTLS 2.4.1' PACKAGE_BUGREPORT='bug-gnutls@gnu.org' -PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ @@ -742,588 +790,471 @@ # include #endif" +gt_needs= gl_header_list= gl_func_list= -enable_option_checking=no -ac_subst_vars='gltests_LTLIBOBJS -gltests_LIBOBJS -gl_LTLIBOBJS -gl_LIBOBJS -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -subdirs -WERROR_CFLAGS -LIBTESTS_LIBDEPS -abs_aux_dir -NEXT_SYS_IOCTL_H -HAVE_SYS_IOCTL_H -NEXT_WCHAR_H -HAVE_WCHAR_H -HAVE_WINT_T -WCHAR_H -REPLACE_WCWIDTH -REPLACE_WCSNRTOMBS -REPLACE_WCSRTOMBS -REPLACE_WCRTOMB -REPLACE_MBSNRTOWCS -REPLACE_MBSRTOWCS -REPLACE_MBRLEN -REPLACE_MBRTOWC -REPLACE_MBSINIT -REPLACE_WCTOB -REPLACE_BTOWC -REPLACE_MBSTATE_T -HAVE_DECL_WCWIDTH -HAVE_DECL_WCTOB -HAVE_WCSNRTOMBS -HAVE_WCSRTOMBS -HAVE_WCRTOMB -HAVE_MBSNRTOWCS -HAVE_MBSRTOWCS -HAVE_MBRLEN -HAVE_MBRTOWC -HAVE_MBSINIT -HAVE_BTOWC -GNULIB_WCWIDTH -GNULIB_WCSNRTOMBS -GNULIB_WCSRTOMBS -GNULIB_WCRTOMB -GNULIB_MBSNRTOWCS -GNULIB_MBSRTOWCS -GNULIB_MBRLEN -GNULIB_MBRTOWC -GNULIB_MBSINIT -GNULIB_WCTOB -GNULIB_BTOWC -WARN_CFLAGS -HAVE_UNISTD_H -NEXT_UNISTD_H -SYS_TIME_H -REPLACE_GETTIMEOFDAY -HAVE_STRUCT_TIMEVAL -HAVE_SYS_TIME_H -NEXT_SYS_TIME_H -SYS_STAT_H -NEXT_SYS_STAT_H -HAVE_LSTAT -REPLACE_MKDIR -REPLACE_LSTAT -HAVE_LCHMOD -GNULIB_LSTAT -GNULIB_LCHMOD -NEXT_STRING_H -HAVE_RANDOM_H -NEXT_STDLIB_H -NEXT_STDIO_H -STDINT_H -WINT_T_SUFFIX -WCHAR_T_SUFFIX -SIG_ATOMIC_T_SUFFIX -SIZE_T_SUFFIX -PTRDIFF_T_SUFFIX -HAVE_SIGNED_WINT_T -HAVE_SIGNED_WCHAR_T -HAVE_SIGNED_SIG_ATOMIC_T -BITSIZEOF_WINT_T -BITSIZEOF_WCHAR_T -BITSIZEOF_SIG_ATOMIC_T -BITSIZEOF_SIZE_T -BITSIZEOF_PTRDIFF_T -HAVE_SYS_BITYPES_H -HAVE_SYS_INTTYPES_H -HAVE_STDINT_H -NEXT_STDINT_H -HAVE_SYS_TYPES_H -HAVE_INTTYPES_H -HAVE_UNSIGNED_LONG_LONG_INT -HAVE_LONG_LONG_INT -HAVE__BOOL -STDBOOL_H -NEXT_STDARG_H -STDARG_H -SYS_SELECT_H -HAVE_SYS_SELECT_H -NEXT_SYS_SELECT_H -REPLACE_SELECT -GNULIB_SELECT -VOID_UNSETENV -REPLACE_STRTOD -REPLACE_PUTENV -REPLACE_MKSTEMP -HAVE_DECL_GETLOADAVG -HAVE_UNSETENV -HAVE_SYS_LOADAVG_H -HAVE_STRUCT_RANDOM_DATA -HAVE_STRTOULL -HAVE_STRTOLL -HAVE_STRTOD -HAVE_SETENV -HAVE_RPMATCH -HAVE_RANDOM_R -HAVE_MKDTEMP -HAVE_MALLOC_POSIX -HAVE_GETSUBOPT -HAVE_CALLOC_POSIX -HAVE_ATOLL -GNULIB_UNSETENV -GNULIB_STRTOULL -GNULIB_STRTOLL -GNULIB_STRTOD -GNULIB_SETENV -GNULIB_RPMATCH -GNULIB_RANDOM_R -GNULIB_PUTENV -GNULIB_MKSTEMP -GNULIB_MKDTEMP -GNULIB_GETSUBOPT -GNULIB_GETLOADAVG -GNULIB_ATOLL -GNULIB_CALLOC_POSIX -GNULIB_REALLOC_POSIX -GNULIB_MALLOC_POSIX -HAVE_REALLOC_POSIX -LTLIBREADLINE -LIBREADLINE -PMCCABE -REPLACE_STRSIGNAL -REPLACE_STRERROR -REPLACE_STRCASESTR -REPLACE_STRSTR -REPLACE_STRDUP -REPLACE_MEMMEM -HAVE_STRVERSCMP -HAVE_DECL_STRSIGNAL -HAVE_DECL_STRERROR -HAVE_DECL_STRTOK_R -HAVE_STRCASESTR -HAVE_STRSEP -HAVE_STRPBRK -HAVE_DECL_STRNLEN -HAVE_DECL_STRNDUP -HAVE_STRNDUP -HAVE_DECL_STRDUP -HAVE_STRCHRNUL -HAVE_STPNCPY -HAVE_STPCPY -HAVE_RAWMEMCHR -HAVE_DECL_MEMRCHR -HAVE_MEMPCPY -HAVE_DECL_MEMMEM -GNULIB_STRVERSCMP -GNULIB_STRSIGNAL -GNULIB_STRERROR -GNULIB_MBSTOK_R -GNULIB_MBSSEP -GNULIB_MBSSPN -GNULIB_MBSPBRK -GNULIB_MBSCSPN -GNULIB_MBSCASESTR -GNULIB_MBSPCASECMP -GNULIB_MBSNCASECMP -GNULIB_MBSCASECMP -GNULIB_MBSSTR -GNULIB_MBSRCHR -GNULIB_MBSCHR -GNULIB_MBSNLEN -GNULIB_MBSLEN -GNULIB_STRTOK_R -GNULIB_STRCASESTR -GNULIB_STRSTR -GNULIB_STRSEP -GNULIB_STRPBRK -GNULIB_STRNLEN -GNULIB_STRNDUP -GNULIB_STRDUP -GNULIB_STRCHRNUL -GNULIB_STPNCPY -GNULIB_STPCPY -GNULIB_RAWMEMCHR -GNULIB_MEMRCHR -GNULIB_MEMPCPY -GNULIB_MEMMEM -NETINET_IN_H -HAVE_NETINET_IN_H -NEXT_NETINET_IN_H -APPLE_UNIVERSAL_BUILD -INET_PTON_LIB -LTLIBINTL -LIBINTL -GETADDRINFO_LIB -INET_NTOP_LIB -SERVENT_LIB -HOSTENT_LIB -NETDB_H -HAVE_NETDB_H -NEXT_NETDB_H -HAVE_DECL_GETNAMEINFO -HAVE_DECL_GETADDRINFO -HAVE_DECL_GAI_STRERROR -HAVE_DECL_FREEADDRINFO -HAVE_STRUCT_ADDRINFO -GNULIB_GETADDRINFO -FLOAT_H -NEXT_FLOAT_H -EOVERFLOW_VALUE -EOVERFLOW_HIDDEN -ENOLINK_VALUE -ENOLINK_HIDDEN -EMULTIHOP_VALUE -EMULTIHOP_HIDDEN -ERRNO_H -NEXT_ERRNO_H -REPLACE_PERROR -REPLACE_GETLINE -HAVE_DECL_GETLINE -HAVE_DECL_GETDELIM -REPLACE_FCLOSE -REPLACE_FFLUSH -REPLACE_FTELL -REPLACE_FTELLO -HAVE_FTELLO -REPLACE_FSEEK -REPLACE_FSEEKO -HAVE_FSEEKO -REPLACE_FREOPEN -REPLACE_FOPEN -REPLACE_OBSTACK_PRINTF -HAVE_DECL_OBSTACK_PRINTF -REPLACE_VASPRINTF -HAVE_VASPRINTF -REPLACE_VDPRINTF -HAVE_VDPRINTF -REPLACE_DPRINTF -HAVE_DPRINTF -REPLACE_VSPRINTF -REPLACE_SPRINTF -HAVE_DECL_VSNPRINTF -REPLACE_VSNPRINTF -HAVE_DECL_SNPRINTF -REPLACE_SNPRINTF -REPLACE_VPRINTF -REPLACE_PRINTF -REPLACE_VFPRINTF -REPLACE_FPRINTF -REPLACE_STDIO_WRITE_FUNCS -GNULIB_STDIO_H_SIGPIPE -GNULIB_PERROR -GNULIB_GETLINE -GNULIB_GETDELIM -GNULIB_FWRITE -GNULIB_PUTS -GNULIB_FPUTS -GNULIB_PUTCHAR -GNULIB_PUTC -GNULIB_FPUTC -GNULIB_FCLOSE -GNULIB_FFLUSH -GNULIB_FTELLO -GNULIB_FTELL -GNULIB_FSEEKO -GNULIB_FSEEK -GNULIB_FREOPEN -GNULIB_FOPEN -GNULIB_OBSTACK_PRINTF_POSIX -GNULIB_OBSTACK_PRINTF -GNULIB_VASPRINTF -GNULIB_VDPRINTF -GNULIB_DPRINTF -GNULIB_VSPRINTF_POSIX -GNULIB_VSNPRINTF -GNULIB_VPRINTF_POSIX -GNULIB_VPRINTF -GNULIB_VFPRINTF_POSIX -GNULIB_VFPRINTF -GNULIB_SPRINTF_POSIX -GNULIB_SNPRINTF -GNULIB_PRINTF_POSIX -GNULIB_PRINTF -GNULIB_FPRINTF_POSIX -GNULIB_FPRINTF -NEXT_ARPA_INET_H -HAVE_ARPA_INET_H -ARPA_INET_H -HAVE_DECL_INET_PTON -HAVE_DECL_INET_NTOP -GNULIB_INET_PTON -GNULIB_INET_NTOP -ALLOCA_H -ALLOCA -LTALLOCA -SYS_SOCKET_H -HAVE_WS2TCPIP_H -HAVE_SYS_SOCKET_H -NEXT_SYS_SOCKET_H -PRAGMA_SYSTEM_HEADER -INCLUDE_NEXT_AS_FIRST_DIRECTIVE -INCLUDE_NEXT -HAVE_SA_FAMILY_T -HAVE_STRUCT_SOCKADDR_STORAGE -GNULIB_SHUTDOWN -GNULIB_SETSOCKOPT -GNULIB_SENDTO -GNULIB_RECVFROM -GNULIB_SEND -GNULIB_RECV -GNULIB_LISTEN -GNULIB_GETSOCKOPT -GNULIB_GETSOCKNAME -GNULIB_GETPEERNAME -GNULIB_BIND -GNULIB_ACCEPT -GNULIB_CONNECT -GNULIB_SOCKET -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -CXXCPP -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -lt_ECHO -AR -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -HAVE_LIBCFG_FALSE -HAVE_LIBCFG_TRUE -HAVE_GCC_FALSE +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 +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +am__isrc +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +MKDIR_P +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +LT_CURRENT +LT_REVISION +LT_AGE +SOVERSION +MAJOR_VERSION +MINOR_VERSION +PATCH_VERSION +NUMBER_VERSION +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 +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +LN_S +HTML_DIR +PKG_CONFIG +GTKDOC_CHECK +ENABLE_GTK_DOC_TRUE +ENABLE_GTK_DOC_FALSE +GTK_DOC_USE_LIBTOOL_TRUE +GTK_DOC_USE_LIBTOOL_FALSE +GAA HAVE_GCC_TRUE -HAVE_GCC_GNU89_INLINE_OPTION_FALSE +HAVE_GCC_FALSE +RANLIB +CPP +GREP +EGREP +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +USE_NLS +GETTEXT_MACRO_VERSION +MSGFMT +GMSGFMT +MSGFMT_015 +GMSGFMT_015 +XGETTEXT +XGETTEXT_015 +MSGMERGE +XGETTEXT_EXTRA_OPTIONS +INTL_MACOSX_LIBS +LIBICONV +LTLIBICONV +INTLLIBS +LIBINTL +LTLIBINTL +POSUB +ENABLE_CXX_TRUE +ENABLE_CXX_FALSE +HAVE_LD_OUTPUT_DEF_TRUE +HAVE_LD_OUTPUT_DEF_FALSE HAVE_GCC_GNU89_INLINE_OPTION_TRUE -HAVE_GUILE_FALSE -HAVE_GUILE_TRUE -GUILE_SITE -GUILE_LDFLAGS -GUILE_CFLAGS -GUILE_TOOLS -GUILE_CONFIG -GUILE -guile_snarf -VALGRIND -HAVE_FORK_FALSE +HAVE_GCC_GNU89_INLINE_OPTION_FALSE HAVE_FORK_TRUE -LIBSOCKET -HAVE_WINSOCK2_H -SYS_IOCTL_H -SYS_IOCTL_H_HAVE_WINSOCK2_H -GNULIB_IOCTL -UNISTD_H_HAVE_WINSOCK2_H -REPLACE_WRITE -REPLACE_LSEEK -REPLACE_LCHOWN -REPLACE_GETPAGESIZE -REPLACE_GETCWD -REPLACE_FCHDIR -REPLACE_CLOSE -REPLACE_CHOWN -HAVE_SYS_PARAM_H -HAVE_OS_H -HAVE_DECL_GETLOGIN_R -HAVE_DECL_ENVIRON -HAVE_SLEEP -HAVE_READLINK -HAVE_LINK -HAVE_GETUSERSHELL -HAVE_GETPAGESIZE -HAVE_GETHOSTNAME -HAVE_GETDTABLESIZE -HAVE_GETDOMAINNAME -HAVE_FTRUNCATE -HAVE_FSYNC -HAVE_EUIDACCESS -HAVE_DUP2 -GNULIB_WRITE -GNULIB_UNISTD_H_SIGPIPE -GNULIB_SLEEP -GNULIB_READLINK -GNULIB_LSEEK -GNULIB_LINK -GNULIB_LCHOWN -GNULIB_GETUSERSHELL -GNULIB_GETPAGESIZE -GNULIB_GETLOGIN_R -GNULIB_GETHOSTNAME -GNULIB_GETDTABLESIZE -GNULIB_GETDOMAINNAME -GNULIB_GETCWD -GNULIB_FTRUNCATE -GNULIB_FSYNC -GNULIB_FCHDIR -GNULIB_EUIDACCESS -GNULIB_ENVIRON -GNULIB_DUP2 -GNULIB_CLOSE -GNULIB_CHOWN -ENABLE_OPENSSL_FALSE -ENABLE_OPENSSL_TRUE -ENABLE_OPENPGP_FALSE -ENABLE_OPENPGP_TRUE -ENABLE_PKI_FALSE -ENABLE_PKI_TRUE -ENABLE_ANON_FALSE -ENABLE_ANON_TRUE -ENABLE_PSK_FALSE -ENABLE_PSK_TRUE -ENABLE_SRP_FALSE -ENABLE_SRP_TRUE -ENABLE_OPRFI_FALSE +HAVE_FORK_FALSE +VALGRIND +HAVE_LD_VERSION_SCRIPT_TRUE +HAVE_LD_VERSION_SCRIPT_FALSE +DEFINE_SSIZE_T +guile_snarf +GUILE +GUILE_CONFIG +GUILE_TOOLS +GUILE_CFLAGS +GUILE_LDFLAGS +GUILE_SITE +HAVE_GUILE_TRUE +HAVE_GUILE_FALSE +LIBGCRYPT_CONFIG +LIBGCRYPT_CFLAGS +LIBGCRYPT_LIBS ENABLE_OPRFI_TRUE -USE_LZO_FALSE -USE_LZO_TRUE -LZO_LIBS -ENABLE_MINITASN1_FALSE +ENABLE_OPRFI_FALSE +ENABLE_SRP_TRUE +ENABLE_SRP_FALSE +ENABLE_ANON_TRUE +ENABLE_ANON_FALSE +ENABLE_PKI_TRUE +ENABLE_PKI_FALSE +ENABLE_OPENPGP_TRUE +ENABLE_OPENPGP_FALSE +ENABLE_OPENSSL_TRUE +ENABLE_OPENSSL_FALSE +LIBTASN1_CONFIG +LIBTASN1_CFLAGS +LIBTASN1_LIBS ENABLE_MINITASN1_TRUE -LIBTASN1_PREFIX -LTLIBTASN1 -LIBTASN1 -HAVE_LIBTASN1 -LIBGCRYPT_PREFIX -LTLIBGCRYPT -LIBGCRYPT -HAVE_LIBGCRYPT -DLL_VERSION -LT_AGE -LT_REVISION -LT_CURRENT -ENABLE_CXX_FALSE -ENABLE_CXX_TRUE -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -EGREP -GREP -CPP -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -RANLIB -GAA -GTK_DOC_USE_REBASE_FALSE -GTK_DOC_USE_REBASE_TRUE -GTK_DOC_USE_LIBTOOL_FALSE -GTK_DOC_USE_LIBTOOL_TRUE -GTK_DOC_BUILD_PDF_FALSE -GTK_DOC_BUILD_PDF_TRUE -GTK_DOC_BUILD_HTML_FALSE -GTK_DOC_BUILD_HTML_TRUE -ENABLE_GTK_DOC_FALSE -ENABLE_GTK_DOC_TRUE -PKG_CONFIG -HTML_DIR -GTKDOC_MKPDF -GTKDOC_REBASE -GTKDOC_CHECK -LN_S -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' +ENABLE_MINITASN1_FALSE +HAVE_LIBCFG_TRUE +HAVE_LIBCFG_FALSE +HAVE_LIBZ +LIBZ +LTLIBZ +LIBZ_PREFIX +LZO_LIBS +USE_LZO_TRUE +USE_LZO_FALSE +NEED_WS2_32_TRUE +NEED_WS2_32_FALSE +GL_COND_LIBTOOL_TRUE +GL_COND_LIBTOOL_FALSE +EOVERFLOW +GNULIB_INET_NTOP +GNULIB_INET_PTON +HAVE_DECL_INET_NTOP +HAVE_DECL_INET_PTON +ARPA_INET_H +HAVE_ARPA_INET_H +INCLUDE_NEXT +NEXT_ARPA_INET_H +NEXT_SYS_SOCKET_H +HAVE_SYS_SOCKET_H +HAVE_WINSOCK2_H +HAVE_WS2TCPIP_H +SYS_SOCKET_H +GNULIB_FPRINTF_POSIX +GNULIB_PRINTF_POSIX +GNULIB_OBSTACK_PRINTF +GNULIB_OBSTACK_PRINTF_POSIX +GNULIB_SNPRINTF +GNULIB_SPRINTF_POSIX +GNULIB_VFPRINTF_POSIX +GNULIB_VPRINTF_POSIX +GNULIB_VSNPRINTF +GNULIB_VSPRINTF_POSIX +GNULIB_VASPRINTF +GNULIB_FOPEN +GNULIB_FREOPEN +GNULIB_FSEEK +GNULIB_FSEEKO +GNULIB_FTELL +GNULIB_FTELLO +GNULIB_FFLUSH +GNULIB_GETDELIM +GNULIB_GETLINE +REPLACE_FPRINTF +REPLACE_VFPRINTF +REPLACE_PRINTF +REPLACE_VPRINTF +REPLACE_SNPRINTF +HAVE_DECL_SNPRINTF +REPLACE_VSNPRINTF +HAVE_DECL_VSNPRINTF +REPLACE_SPRINTF +REPLACE_VSPRINTF +HAVE_VASPRINTF +REPLACE_VASPRINTF +REPLACE_FOPEN +REPLACE_FREOPEN +HAVE_FSEEKO +REPLACE_FSEEKO +REPLACE_FSEEK +HAVE_FTELLO +REPLACE_FTELLO +REPLACE_FTELL +REPLACE_FFLUSH +HAVE_DECL_GETDELIM +HAVE_DECL_GETLINE +REPLACE_GETLINE +HAVE_DECL_OBSTACK_PRINTF +REPLACE_OBSTACK_PRINTF +NEXT_NETINET_IN_H +HAVE_NETINET_IN_H +NETINET_IN_H +LIBREADLINE +LTLIBREADLINE +STDARG_H +NEXT_STDARG_H +GNULIB_MEMMEM +GNULIB_MEMPCPY +GNULIB_MEMRCHR +GNULIB_RAWMEMCHR +GNULIB_STPCPY +GNULIB_STPNCPY +GNULIB_STRCHRNUL +GNULIB_STRDUP +GNULIB_STRNDUP +GNULIB_STRNLEN +GNULIB_STRPBRK +GNULIB_STRSEP +GNULIB_STRSTR +GNULIB_STRCASESTR +GNULIB_STRTOK_R +GNULIB_MBSLEN +GNULIB_MBSNLEN +GNULIB_MBSCHR +GNULIB_MBSRCHR +GNULIB_MBSSTR +GNULIB_MBSCASECMP +GNULIB_MBSNCASECMP +GNULIB_MBSPCASECMP +GNULIB_MBSCASESTR +GNULIB_MBSCSPN +GNULIB_MBSPBRK +GNULIB_MBSSPN +GNULIB_MBSSEP +GNULIB_MBSTOK_R +GNULIB_STRERROR +GNULIB_STRSIGNAL +HAVE_DECL_MEMMEM +HAVE_MEMPCPY +HAVE_DECL_MEMRCHR +HAVE_RAWMEMCHR +HAVE_STPCPY +HAVE_STPNCPY +HAVE_STRCHRNUL +HAVE_DECL_STRDUP +HAVE_STRNDUP +HAVE_DECL_STRNDUP +HAVE_DECL_STRNLEN +HAVE_STRPBRK +HAVE_STRSEP +HAVE_STRCASESTR +HAVE_DECL_STRTOK_R +HAVE_DECL_STRERROR +HAVE_DECL_STRSIGNAL +REPLACE_STRERROR +REPLACE_STRSIGNAL +REPLACE_MEMMEM +REPLACE_STRCASESTR +REPLACE_STRSTR +ALLOCA +ALLOCA_H +HAVE_LIBGCRYPT +LIBGCRYPT +LTLIBGCRYPT +LIBGCRYPT_PREFIX +NEXT_FLOAT_H +FLOAT_H +GNULIB_CHOWN +GNULIB_DUP2 +GNULIB_ENVIRON +GNULIB_FCHDIR +GNULIB_FTRUNCATE +GNULIB_GETCWD +GNULIB_GETLOGIN_R +GNULIB_GETPAGESIZE +GNULIB_LCHOWN +GNULIB_LSEEK +GNULIB_READLINK +GNULIB_SLEEP +HAVE_DUP2 +HAVE_FTRUNCATE +HAVE_GETPAGESIZE +HAVE_READLINK +HAVE_SLEEP +HAVE_DECL_ENVIRON +HAVE_DECL_GETLOGIN_R +HAVE_OS_H +HAVE_SYS_PARAM_H +REPLACE_CHOWN +REPLACE_FCHDIR +REPLACE_GETCWD +REPLACE_GETPAGESIZE +REPLACE_LCHOWN +REPLACE_LSEEK +HAVE_REALLOC_POSIX +GNULIB_MALLOC_POSIX +GNULIB_REALLOC_POSIX +GNULIB_CALLOC_POSIX +GNULIB_GETSUBOPT +GNULIB_MKDTEMP +GNULIB_MKSTEMP +GNULIB_PUTENV +GNULIB_RPMATCH +GNULIB_SETENV +GNULIB_STRTOD +GNULIB_UNSETENV +HAVE_CALLOC_POSIX +HAVE_GETSUBOPT +HAVE_MALLOC_POSIX +HAVE_MKDTEMP +HAVE_RPMATCH +HAVE_SETENV +HAVE_STRTOD +HAVE_UNSETENV +REPLACE_MKSTEMP +REPLACE_PUTENV +REPLACE_STRTOD +VOID_UNSETENV +STDBOOL_H +HAVE__BOOL +HAVE_LONG_LONG_INT +HAVE_UNSIGNED_LONG_LONG_INT +HAVE_INTTYPES_H +HAVE_SYS_TYPES_H +NEXT_STDINT_H +HAVE_STDINT_H +HAVE_SYS_INTTYPES_H +HAVE_SYS_BITYPES_H +BITSIZEOF_PTRDIFF_T +BITSIZEOF_SIG_ATOMIC_T +BITSIZEOF_SIZE_T +BITSIZEOF_WCHAR_T +BITSIZEOF_WINT_T +HAVE_SIGNED_SIG_ATOMIC_T +HAVE_SIGNED_WCHAR_T +HAVE_SIGNED_WINT_T +PTRDIFF_T_SUFFIX +SIG_ATOMIC_T_SUFFIX +SIZE_T_SUFFIX +WCHAR_T_SUFFIX +WINT_T_SUFFIX +STDINT_H +NEXT_STDIO_H +NEXT_STDLIB_H +HAVE_STRCASECMP +HAVE_DECL_STRNCASECMP +NEXT_STRING_H +NEXT_STRINGS_H +REPLACE_MKDIR +HAVE_LSTAT +NEXT_SYS_STAT_H +SYS_STAT_H +REPLACE_LOCALTIME_R +REPLACE_NANOSLEEP +REPLACE_STRPTIME +REPLACE_TIMEGM +NEXT_TIME_H +TIME_H_DEFINES_STRUCT_TIMESPEC +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC +NEXT_UNISTD_H +HAVE_UNISTD_H +GNULIB_WCWIDTH +HAVE_DECL_WCWIDTH +REPLACE_WCWIDTH +WCHAR_H +HAVE_WCHAR_H +NEXT_WCHAR_H +SED +ECHO +AR +DSYMUTIL +NMEDIT +DLLTOOL +AS +OBJDUMP +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBGNUTLS_LIBS +LIBGNUTLS_CFLAGS +LIBGNUTLS_EXTRA_LIBS +LIBGNUTLS_EXTRA_CFLAGS +POSSIBLY_WARN_ABOUT_MISSING_FEATURES +AM_CFLAGS +LIBOBJS +LTLIBOBJS +gl_LIBOBJS +gl_LTLIBOBJS +gltests_LIBOBJS +gltests_LTLIBOBJS +lgl_LIBOBJS +lgl_LTLIBOBJS +lgltests_LIBOBJS +lgltests_LTLIBOBJS' ac_subst_files='' ac_user_opts=' enable_option_checking +enable_dmalloc_mode +enable_efence_mode +enable_developer_mode enable_dependency_tracking with_html_dir enable_gtk_doc -enable_gtk_doc_html -enable_gtk_doc_pdf -enable_cxx +enable_nls with_gnu_ld enable_rpath +with_libiconv_prefix +with_libintl_prefix +enable_cxx +enable_valgrind_tests +enable_ld_version_script +enable_guile +with___with_guile_site_dir with_libgcrypt_prefix -with_included_libtasn1 -with_libtasn1_prefix -with_lzo +with_builtin_crypto enable_opaque_prf_input enable_srp_authentication enable_psk_authentication @@ -1332,17 +1263,23 @@ enable_extra_pki enable_openpgp_authentication enable_openssl_compatibility -enable_valgrind_tests -enable_guile -with___with_guile_site_dir +with_included_libtasn1 +with_libtasn1_prefix with_included_libcfg +with_zlib +with_libz_prefix +with_lzo +with_libreadline_prefix +with_libgcrypt +enable_random_device +enable_pseudo_random_device +enable_nonce_device enable_shared enable_static -with_pic enable_fast_install enable_libtool_lock -with_libreadline_prefix -enable_gcc_warnings +with_pic +with_tags ' ac_precious_vars='build_alias host_alias @@ -1352,3127 +1289,8072 @@ LDFLAGS LIBS CPPFLAGS -PKG_CONFIG -CPP CXX CXXFLAGS CCC -CXXCPP' -ac_subdirs_all='lib -libextra' +PKG_CONFIG +CPP +CXXCPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# 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. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +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 + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -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) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$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 ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$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 ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + 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 ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=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 ;; + + -*) { $as_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 && + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_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'` + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +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 + $as_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 + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# 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 the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + 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 + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# 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 GnuTLS 2.4.1 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 \`..'] + +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] + --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] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/gnutls] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_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 + case $ac_init_help in + short | recursive ) echo "Configuration of GnuTLS 2.4.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-dmalloc-mode enable dmalloc mode + --enable-efence-mode enable electric fence mode + --enable-developer-mode enable developer mode + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-gtk-doc use gtk-doc to build documentation [default=no] + --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths + --disable-cxx unconditionally disable the C++ library + --enable-valgrind-tests run self tests under valgrind + --enable-ld-version-script + enable/disable use of linker version script. + (default is system dependent) + --enable-guile build GNU Guile bindings + --enable-opaque-prf-input=DD + enable Opaque PRF input using DD as extension type + --disable-srp-authentication + disable the SRP authentication support + --disable-psk-authentication + disable the PSK authentication support + --disable-anon-authentication + disable the anonymous authentication support + --disable-camellia disable Camellia cipher + --disable-extra-pki only enable the basic PKI stuff + --disable-openpgp-authentication + disable the OpenPGP authentication support + --disable-openssl-compatibility + disable the OpenSSL compatibility support + --enable-random-device device with (strong) randomness (for Nettle) + --enable-pseudo-random-device + device with pseudo randomness (for Nettle) + --enable-nonce-device device with unpredictable nonces (for Nettle) + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-html-dir=PATH path to installed docs + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + --with-guile-site-dir use the given directory as the Guile site (use with + care) + --with-libgcrypt-prefix=PFX + prefix where LIBGCRYPT is installed (optional) + --with-builtin-crypto use internal crypto instead of libgcrypt + (EXPERIMENTAL) + --with-included-libtasn1 + use the included libtasn1 + --with-libtasn1-prefix=PFX Prefix where libtasn1 is installed (optional) + --with-included-libcfg use the included libcfg+ (certtool only) + --without-zlib disable zlib compression support + --with-libz-prefix[=DIR] search for libz in DIR/include and DIR/lib + --without-libz-prefix don't search for libz in includedir and libdir + --with-lzo use experimental LZO compression + --with-libreadline-prefix[=DIR] search for libreadline in DIR/include and DIR/lib + --without-libreadline-prefix don't search for libreadline in includedir and libdir + --with-libgcrypt use libgcrypt for low-level crypto + --with-libgcrypt-prefix[=DIR] search for libgcrypt in DIR/include and DIR/lib + --without-libgcrypt-prefix don't search for libgcrypt in includedir and libdir + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + +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 + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXX C++ compiler command + CXXFLAGS C++ compiler flags + PKG_CONFIG path to pkg-config utility + CPP C preprocessor + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested 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 + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GnuTLS configure 2.4.1 +generated by GNU Autoconf 2.62 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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 +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GnuTLS $as_me 2.4.1, which was +generated by GNU Autoconf 2.62. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +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` +/usr/bin/hostinfo = `(/usr/bin/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=. + $as_echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&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_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=`$as_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_arg'" + ;; + 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: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +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, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r 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 -f -r conftest* 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 an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test -r "$ac_site_file"; then + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_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 + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +gt_needs="$gt_needs " +gl_header_list="$gl_header_list arpa/inet.h" +gl_header_list="$gl_header_list sys/socket.h" +gl_header_list="$gl_header_list netdb.h" +gl_header_list="$gl_header_list netinet/in.h" +gl_header_list="$gl_header_list stdio_ext.h" +gl_header_list="$gl_header_list termios.h" +gl_func_list="$gl_func_list __fsetlocking" +gl_func_list="$gl_func_list tcgetattr" +gl_func_list="$gl_func_list tcsetattr" +gl_header_list="$gl_header_list stdarg.h" +gl_header_list="$gl_header_list float.h" +gl_header_list="$gl_header_list stdint.h" +gl_header_list="$gl_header_list wchar.h" +gl_header_list="$gl_header_list stdio.h" +gl_header_list="$gl_header_list stdlib.h" +gl_header_list="$gl_header_list string.h" +gl_header_list="$gl_header_list strings.h" +gl_func_list="$gl_func_list lstat" +gl_header_list="$gl_header_list sys/stat.h" +gl_header_list="$gl_header_list time.h" +gl_header_list="$gl_header_list sys/time.h" +gl_header_list="$gl_header_list unistd.h" +gl_func_list="$gl_func_list vasnprintf" +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; 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,) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_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 + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_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 + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_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 + + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; 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 + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version='1.10' + +# 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" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + $as_echo_n "(cached) " >&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/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + +done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +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. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$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' + +{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&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". + { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +$as_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 + { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +$as_echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "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 $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# 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= + { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "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 + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +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='gnutls' + VERSION='2.4.1' + + +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"} + +install_sh=${install_sh-"\$(SHELL) $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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + +# Library code modified: REVISION++ +# Interfaces changed/added/removed: CURRENT++ REVISION=0 +# Interfaces added: AGE++ +# Interfaces removed: AGE=0 +LT_CURRENT=30 + +LT_REVISION=5 + +LT_AGE=4 + + +# Used when creating the Windows libgnutls-XX.def files. +SOVERSION=`expr ${LT_CURRENT} - ${LT_AGE}` + + +GNUTLS_GCRYPT_VERSION=1:1.2.4 +GNUTLS_LIBTASN1_VERSION=0.3.4 + +cat >>confdefs.h <<_ACEOF +#define GNUTLS_GCRYPT_VERSION "$GNUTLS_GCRYPT_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define GNUTLS_LIBTASN1_VERSION "$GNUTLS_LIBTASN1_VERSION" +_ACEOF + + +# Compute numeric versions, used in includes/gnutls/gnutls.h.in. +MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'` + +MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'` + +PATCH_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'` + +NUMBER_VERSION=`printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION` + + +opt_dmalloc_mode=no +{ $as_echo "$as_me:$LINENO: checking whether in dmalloc mode" >&5 +$as_echo_n "checking whether in dmalloc mode... " >&6; } +# Check whether --enable-dmalloc-mode was given. +if test "${enable_dmalloc_mode+set}" = set; then + enableval=$enable_dmalloc_mode; opt_dmalloc_mode=$enableval +fi + +{ $as_echo "$as_me:$LINENO: result: $opt_dmalloc_mode" >&5 +$as_echo "$opt_dmalloc_mode" >&6; } + +opt_efence_mode=no +{ $as_echo "$as_me:$LINENO: checking whether in electric fence mode" >&5 +$as_echo_n "checking whether in electric fence mode... " >&6; } +# Check whether --enable-efence-mode was given. +if test "${enable_efence_mode+set}" = set; then + enableval=$enable_efence_mode; opt_efence_mode=$enableval +fi + +{ $as_echo "$as_me:$LINENO: result: $opt_efence_mode" >&5 +$as_echo "$opt_efence_mode" >&6; } + +opt_developer_mode=no +{ $as_echo "$as_me:$LINENO: checking whether in developer mode" >&5 +$as_echo_n "checking whether in developer mode... " >&6; } +# Check whether --enable-developer-mode was given. +if test "${enable_developer_mode+set}" = set; then + enableval=$enable_developer_mode; opt_developer_mode=$enableval +fi + +{ $as_echo "$as_me:$LINENO: result: $opt_developer_mode" >&5 +$as_echo "$opt_developer_mode" >&6; } + +{ $as_echo "$as_me:$LINENO: result: *** +*** Checking for compilation programs... +" >&5 +$as_echo "*** +*** Checking for compilation programs... +" >&6; } + +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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +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 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_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. +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* 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.out.dSYM 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. +{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +$as_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 + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&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' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_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 + { { $as_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 +$as_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 +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_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 | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +$as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +$as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$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 +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* 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; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +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 +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +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 +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. +{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&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 + + +{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-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 + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + $as_echo_n "(cached) " >&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 + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch 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/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + 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 + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' 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 +{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$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 + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +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 + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + $as_echo_n "(cached) " >&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_CXX_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 + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch 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/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + 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 + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi + +fi + + +# Check whether --with-html-dir was given. +if test "${with_html_dir+set}" = set; then + withval=$with_html_dir; +else + with_html_dir='${datadir}/gtk-doc/html' +fi + + HTML_DIR="$with_html_dir" + + + # Check whether --enable-gtk-doc was given. +if test "${enable_gtk_doc+set}" = set; then + enableval=$enable_gtk_doc; +else + enable_gtk_doc=no +fi + + + if test x$enable_gtk_doc = xyes; then + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.1\"") >&5 + ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.1") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + : +else + { { $as_echo "$as_me:$LINENO: error: You need to have gtk-doc >= 1.1 installed to build gtk-doc" >&5 +$as_echo "$as_me: error: You need to have gtk-doc >= 1.1 installed to build gtk-doc" >&2;} + { (exit 1); exit 1; }; } +fi + fi + + { $as_echo "$as_me:$LINENO: checking whether to build gtk-doc documentation" >&5 +$as_echo_n "checking whether to build gtk-doc documentation... " >&6; } + { $as_echo "$as_me:$LINENO: result: $enable_gtk_doc" >&5 +$as_echo "$enable_gtk_doc" >&6; } + + for ac_prog in gtkdoc-check +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $GTKDOC_CHECK in + [\\/]* | ?:[\\/]*) + ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK +if test -n "$GTKDOC_CHECK"; then + { $as_echo "$as_me:$LINENO: result: $GTKDOC_CHECK" >&5 +$as_echo "$GTKDOC_CHECK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$GTKDOC_CHECK" && break +done + + + if test x$enable_gtk_doc = xyes; then + ENABLE_GTK_DOC_TRUE= + ENABLE_GTK_DOC_FALSE='#' +else + ENABLE_GTK_DOC_TRUE='#' + ENABLE_GTK_DOC_FALSE= +fi + + if test -n "$LIBTOOL"; then + GTK_DOC_USE_LIBTOOL_TRUE= + GTK_DOC_USE_LIBTOOL_FALSE='#' +else + GTK_DOC_USE_LIBTOOL_TRUE='#' + GTK_DOC_USE_LIBTOOL_FALSE= +fi + + +# Extract the first word of "gaa", so it can be a program name with args. +set dummy gaa; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GAA+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $GAA in + [\\/]* | ?:[\\/]*) + ac_cv_path_GAA="$GAA" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GAA="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +GAA=$ac_cv_path_GAA +if test -n "$GAA"; then + { $as_echo "$as_me:$LINENO: result: $GAA" >&5 +$as_echo "$GAA" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test "x$GAA" = "x"; then + { $as_echo "$as_me:$LINENO: WARNING: *** +*** GAA was not found. It is only needed if you wish to modify +*** the source code or command-line description files. In this case, +*** you may want to get it from http://gaa.sourceforge.net/ +***" >&5 +$as_echo "$as_me: WARNING: *** +*** GAA was not found. It is only needed if you wish to modify +*** the source code or command-line description files. In this case, +*** you may want to get it from http://gaa.sourceforge.net/ +***" >&2;} +fi + if test "x$GCC" = "xyes"; then + HAVE_GCC_TRUE= + HAVE_GCC_FALSE='#' +else + HAVE_GCC_TRUE='#' + HAVE_GCC_FALSE= +fi + + + +{ $as_echo "$as_me:$LINENO: result: *** +*** Detecting compiler options... +" >&5 +$as_echo "*** +*** Detecting compiler options... +" >&6; } + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +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 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&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 + $as_echo_n "(cached) " >&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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_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 nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_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 nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_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 + { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_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 + + +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err 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 +/* 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 +/* 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* -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# 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 +fi -# 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. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' +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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#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 -ac_prev= -ac_dashdash= -for ac_option +#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)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# 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 - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - # Accept the important Cygnus configure options, so we can diagnose typos. + eval "$as_ac_Header=no" +fi - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; +fi + +done + + + + if test "${ac_cv_header_minix_config_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 +$as_echo_n "checking for minix/config.h... " >&6; } +if test "${ac_cv_header_minix_config_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 +$as_echo "$ac_cv_header_minix_config_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 +$as_echo_n "checking minix/config.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5 +$as_echo_n "checking minix/config.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 +$as_echo_n "checking for minix/config.h... " >&6; } +if test "${ac_cv_header_minix_config_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_minix_config_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 +$as_echo "$ac_cv_header_minix_config_h" >&6; } + +fi +if test $ac_cv_header_minix_config_h = yes; then + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define _POSIX_SOURCE 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define _POSIX_1_SOURCE 2 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define _MINIX 1 +_ACEOF + + fi - -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 ;; + { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if test "${ac_cv_safe_to_define___extensions__+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_safe_to_define___extensions__=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; + ac_cv_safe_to_define___extensions__=no +fi - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + cat >>confdefs.h <<\_ACEOF +#define __EXTENSIONS__ 1 +_ACEOF - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; + cat >>confdefs.h <<\_ACEOF +#define _ALL_SOURCE 1 +_ACEOF - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; + cat >>confdefs.h <<\_ACEOF +#define _GNU_SOURCE 1 +_ACEOF - -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 ;; + cat >>confdefs.h <<\_ACEOF +#define _POSIX_PTHREAD_SEMANTICS 1 +_ACEOF - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; + cat >>confdefs.h <<\_ACEOF +#define _TANDEM_SOURCE 1 +_ACEOF - -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 ;; +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; +{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +$as_echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - -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 ;; +{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +$as_echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; + case $ac_cv_prog_cc_stdc in + no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; + *) { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if test "${ac_cv_prog_cc_c99+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +#include - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK +#else + your preprocessor is broken; +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; +struct named_init { + int number; + const wchar_t *name; + double average; +}; - -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 ;; +typedef const char *ccp; - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} - -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 ;; +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); - -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 ;; + const char *str; + int number; + float fnumber; - -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 ;; + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; +int +main () +{ - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; + // Check bool. + _Bool success = false; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); - -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 ;; + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; + ni.number = 58; - -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 ;; + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c99=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; +fi - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC - --x) - # Obsolete; use --with-x. - with_x=yes ;; +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 +else + { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* 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; +} - -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 ;; +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -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 ;; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." - ;; +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 +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; +fi - esac +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done +rm -f conftest.$ac_ext +CC=$ac_save_CC -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 +else + ac_cv_prog_cc_stdc=no fi -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" -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 +fi -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_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 + ;; +esac + { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO Standard C" >&5 +$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } + if test "${ac_cv_prog_cc_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 fi -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- + case $ac_cv_prog_cc_stdc in + no) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + '') { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + *) { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; +esac -test "$silent" = yes && exec 6>/dev/null -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" -# 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 the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - 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 - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done -# -# 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 GnuTLS 2.8.6 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. + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + { $as_echo "$as_me:$LINENO: autobuild project... $AB_PACKAGE" >&5 +$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} -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 \`..'] + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + { $as_echo "$as_me:$LINENO: autobuild revision... $AB_VERSION" >&5 +$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} + + hostname=`hostname` + if test "$hostname"; then + { $as_echo "$as_me:$LINENO: autobuild hostname... $hostname" >&5 +$as_echo "$as_me: autobuild hostname... $hostname" >&6;} + fi -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. + date=`date +%Y%m%d-%H%M%S` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + { $as_echo "$as_me:$LINENO: autobuild timestamp... $date" >&5 +$as_echo "$as_me: autobuild timestamp... $date" >&6;} + fi -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] - --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] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/gnutls] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_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] +{ $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if test "${ac_cv_sys_largefile_source+set}" = set; then + $as_echo_n "(cached) " >&6 +else + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include /* for off_t */ + #include +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_sys_largefile_source=no; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of GnuTLS 2.8.6:";; - esac - cat <<\_ACEOF +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _LARGEFILE_SOURCE 1 +#include /* for off_t */ + #include +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_sys_largefile_source=1; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-gtk-doc use gtk-doc to build documentation [[default=no]] - --enable-gtk-doc-html build documentation in html format [[default=yes]] - --enable-gtk-doc-pdf build documentation in pdf format [[default=no]] - --disable-cxx unconditionally disable the C++ library - --disable-rpath do not hardcode runtime library paths - --enable-opaque-prf-input=DD - enable Opaque PRF input using DD as extension type - --disable-srp-authentication - disable the SRP authentication support - --disable-psk-authentication - disable the PSK authentication support - --disable-anon-authentication - disable the anonymous authentication support - --disable-camellia disable Camellia cipher - --disable-extra-pki only enable the basic PKI stuff - --disable-openpgp-authentication - disable the OpenPGP authentication support - --disable-openssl-compatibility - disable the OpenSSL compatibility support - --enable-valgrind-tests run self tests under valgrind - --enable-guile build GNU Guile bindings - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-gcc-warnings turn on lots of GCC warnings (for developers) -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-html-dir=PATH path to installed docs - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libgcrypt-prefix[=DIR] search for libgcrypt in DIR/include and DIR/lib - --without-libgcrypt-prefix don't search for libgcrypt in includedir and libdir - --with-included-libtasn1 - use the included libtasn1 - --with-libtasn1-prefix[=DIR] search for libtasn1 in DIR/include and DIR/lib - --without-libtasn1-prefix don't search for libtasn1 in includedir and libdir - --with-lzo use experimental LZO compression - --with-guile-site-dir use the given directory as the Guile site (use with - care) - --with-included-libcfg use the included libcfg+ (certtool only) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-libreadline-prefix[=DIR] search for libreadline in DIR/include and DIR/lib - --without-libreadline-prefix don't search for libreadline in includedir and libdir +fi -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 - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - PKG_CONFIG path to pkg-config utility - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 +$as_echo "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source +_ACEOF +;; +esac +rm -rf conftest* -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then -Report bugs to . +cat >>confdefs.h <<\_ACEOF +#define HAVE_FSEEKO 1 _ACEOF -ac_status=$? + fi -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested 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 - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -GnuTLS configure 2.8.6 -generated by GNU Autoconf 2.65 -Copyright (C) 2009 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. + +{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if test "${ac_cv_c_const+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF - exit -fi +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then -} # ac_fn_c_try_compile +cat >>confdefs.h <<\_ACEOF +#define const /**/ +_ACEOF -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" +fi + +{ $as_echo "$as_me:$LINENO: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if test "${ac_cv_c_inline+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || test ! -s conftest.err - }; then : - ac_retval=0 + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + test "$ac_cv_c_inline" != no && break +done -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## --------------------------------- ## -## Report this to bug-gnutls@gnu.org ## -## --------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 + + + + { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval else - eval "$3=\$ac_header_compiler" + USE_NLS=yes fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -} # ac_fn_c_check_header_mongrel + { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + + + GETTEXT_MACRO_VERSION=0.17 + + + + +# Prepare PATH_SEPARATOR. +# 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 - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval -} # ac_fn_c_try_run +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -} # ac_fn_c_check_header_compile + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval -} # ac_fn_c_try_link - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval -} # ac_fn_cxx_try_compile + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 +# Prepare PATH_SEPARATOR. +# 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 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + ac_executable_p="test -f" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 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 - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval + rm -f conf$$.sh +fi -} # ac_fn_c_compute_int +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif + test -n "$localedir" || localedir='${datadir}/locale' -#undef $2 -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* 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_$2 || defined __stub___$2 -choke me -#endif + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + with_gnu_ld=no fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_func -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +# Prepare PATH_SEPARATOR. +# 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 +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test "${acl_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + acl_cv_path_LD="$LD" # Let the user override the test with a path. fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -} # ac_fn_c_check_type - -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:$LINENO: result: $LD" >&5 +$as_echo "$LD" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 +test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${acl_cv_prog_gnu_ld+set}" = set; then + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld -# ac_fn_c_check_decl LINENO SYMBOL VAR -# ------------------------------------ -# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 -$as_echo_n "checking whether $2 is declared... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $2 - (void) $2; -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -} # ac_fn_c_check_decl -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if test "${acl_cv_rpath+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -} # ac_fn_c_check_member -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done -It was created by GnuTLS $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was +fi +{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then + enableval=$enable_rpath; : +else + enable_rpath=yes +fi - $ $0 $@ -_ACEOF -exec 5>>config.log -{ -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` + acl_libdirstem=lib + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi -/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` -/usr/bin/hostinfo = `(/usr/bin/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=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS -} >&5 -cat >&5 <<_ACEOF -## ----------- ## -## Core tests. ## -## ----------- ## -_ACEOF + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -# 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_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=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append 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 - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -# 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: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -$as_echo "/* confdefs.h */" > confdefs.h + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi -# Predefined preprocessor variables. +fi -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + LIBICONV_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -gl_header_list="$gl_header_list sys/socket.h" -gl_header_list="$gl_header_list arpa/inet.h" -gl_header_list="$gl_header_list errno.h" -gl_header_list="$gl_header_list float.h" -gl_header_list="$gl_header_list netdb.h" -gl_header_list="$gl_header_list netinet/in.h" -gl_header_list="$gl_header_list stdio_ext.h" -gl_header_list="$gl_header_list termios.h" -gl_func_list="$gl_func_list __fsetlocking" -gl_func_list="$gl_func_list tcgetattr" -gl_func_list="$gl_func_list tcsetattr" -gl_header_list="$gl_header_list sys/select.h" -gl_header_list="$gl_header_list stdarg.h" -gl_header_list="$gl_header_list stdint.h" -gl_header_list="$gl_header_list wchar.h" -gl_header_list="$gl_header_list stdio.h" -gl_header_list="$gl_header_list stdlib.h" -gl_header_list="$gl_header_list string.h" -gl_func_list="$gl_func_list lstat" -gl_header_list="$gl_header_list sys/stat.h" -gl_header_list="$gl_header_list sys/time.h" -gl_header_list="$gl_header_list unistd.h" -gl_func_list="$gl_func_list vasnprintf" -gl_func_list="$gl_func_list gettimeofday" -gl_header_list="$gl_header_list sys/wait.h" -gl_header_list="$gl_header_list sys/ioctl.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; 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,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_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 - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## -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 -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done -done -if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -am__api_version='1.11' -# 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" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : + + + + + + + + + + + + + + + + + { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then $as_echo_n "(cached) " >&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/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gt_cv_func_CFPreferencesCopyAppValue=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" 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. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh +{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 +_ACEOF + fi + { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gt_cv_func_CFLocaleCopyCurrent=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_CFLocaleCopyCurrent=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$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}' +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFLOCALECOPYCURRENT 1 +_ACEOF -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac -# 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". - as_fn_error "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "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 $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi + LIBINTL= + LTLIBINTL= + POSUB= -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; esac -fi + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" -# 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$gt_func_gnugettext_libc=yes" 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$gt_func_gnugettext_libc=no" fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi done -IFS=$as_save_IFS -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + + { $as_echo "$as_me:$LINENO: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if test "${am_cv_func_iconv+set}" = set; then + $as_echo_n "(cached) " >&6 else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - STRIP=$ac_ct_STRIP - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + am_cv_func_iconv=yes else - STRIP="$ac_cv_prog_STRIP" -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : - $as_echo_n "(cached) " >&6 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + am_cv_lib_iconv=yes + am_cv_func_iconv=yes else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:$LINENO: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if test "${am_cv_func_iconv_works+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + if test "$cross_compiling" = yes; then + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_func_iconv_works=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +am_cv_func_iconv_works=no fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - test -n "$AWK" && break -done + LIBS="$am_save_LIBS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then -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 +cat >>confdefs.h <<\_ACEOF +#define HAVE_ICONV 1 +_ACEOF -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi -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' + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } else - CYGPATH_W=echo + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= fi -fi -# Define the identity of the package. - PACKAGE='gnutls' - VERSION='2.8.6' -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}"} + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi -AMTAR=${AMTAR-"${am_missing_run}tar"} +fi -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + LIBINTL_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do -ac_config_headers="$ac_config_headers config.h" + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: *** -*** Checking for compilation programs... -" >&5 -$as_echo "*** -*** Checking for compilation programs... -" >&6; } + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$gt_func_gnugettext_libintl=yes" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$gt_func_gnugettext_libintl=no" fi - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 +_ACEOF + + else + USE_NLS=no + fi 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -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+' '}$@" + { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:$LINENO: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + if test "$USE_NLS" = "yes"; then -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi done -IFS=$as_save_IFS -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + fi - test -n "$ac_ct_CC" && break -done +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETTEXT 1 +_ACEOF - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DCGETTEXT 1 +_ACEOF + + fi + + POSUB=po fi -fi + + + INTLLIBS="$LIBINTL" + + + + + + + + +# Check whether --enable-cxx was given. +if test "${enable_cxx+set}" = set; then + enableval=$enable_cxx; use_cxx=$enableval +else + use_cxx=yes fi +if test "$use_cxx" != "no"; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + use_cxx=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + use_cxx=no +fi + +rm -f core conftest.err 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 + +fi + if test "$use_cxx" != "no"; then + ENABLE_CXX_TRUE= + ENABLE_CXX_FALSE='#' +else + ENABLE_CXX_TRUE='#' + ENABLE_CXX_FALSE= +fi + +{ $as_echo "$as_me:$LINENO: checking whether to build C++ library" >&5 +$as_echo_n "checking whether to build C++ library... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $use_cxx" >&5 +$as_echo "$use_cxx" >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: checking whether C99 macros are supported" >&5 +$as_echo_n "checking whether C99 macros are supported... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { +#define test_mac(...) +int z,y,x; +test_mac(x,y,z); +return 0; + ; return 0; } _ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + +cat >>confdefs.h <<\_ACEOF +#define C99_MACROS 1 +_ACEOF + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:$LINENO: WARNING: C99 macros not supported. This may affect compiling." >&5 +$as_echo "$as_me: WARNING: C99 macros not supported. This may affect compiling." >&2;} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_c_compiler_gnu != no; then + if test x$opt_developer_mode = xyes; then + AM_CFLAGS="${AM_CFLAGS} -g -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wno-format-y2k -Wmissing-braces -Winline -Wstrict-prototypes -Wno-unused-parameter" +# AM_CFLAGS="${AM_CFLAGS} -g -W -Wall -Wcast-align -Wpointer-arith -Wchar-subscripts -Wformat-security -Wno-format-y2k -Wmissing-braces -Winline -Wstrict-prototypes -Wshadow -Wno-unused-parameter -Wimplicit -fno-common -Wno-sign-compare -Wbad-function-cast -Wendif-labels -Wmissing-declarations -Wno-missing-format-attribute -Wmissing-prototypes -Wnested-externs -Wpointer-arith -pedantic -Wlong-long -Wcast-qual -Wcast-align -Winline -Wredundant-decls -Wstrict-prototypes -Wwrite-strings -Wparentheses -Wsequence-point -Wpacked -Waggregate-return -Wfloat-equal -Wmultichar -Wunknown-pragmas -Wtrigraphs -Wswitch -Wreturn-type -Wmain -Wchar-subscripts -Wcomment -Wno-missing-noreturn" + fi + + { $as_echo "$as_me:$LINENO: checking whether gcc supports -Wno-pointer-sign" >&5 +$as_echo_n "checking whether gcc supports -Wno-pointer-sign... " >&6; } + _gcc_cflags_save=$CFLAGS + CFLAGS="${CFLAGS} -Wno-pointer-sign" + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + _gcc_psign=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + _gcc_psign=no fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $_gcc_psign" >&5 +$as_echo "$_gcc_psign" >&6; } + if test x"$_gcc_psign" != xyes ; then + CFLAGS=$_gcc_cflags_save; + fi + + { $as_echo "$as_me:$LINENO: checking whether gcc supports -fgnu89-inline" >&5 +$as_echo_n "checking whether gcc supports -fgnu89-inline... " >&6; } + _gcc_cflags_save="$CFLAGS" + CFLAGS="${CFLAGS} -fgnu89-inline" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + int main () { -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + _gcc_gnu89_inline=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + _gcc_gnu89_inline=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $_gcc_gnu89_inline" >&5 +$as_echo "$_gcc_gnu89_inline" >&6; } + CFLAGS=$_gcc_cflags_save; + + { $as_echo "$as_me:$LINENO: checking if gcc/ld supports -Wl,--output-def" >&5 +$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; } + if test "$enable_shared" = no; then + output_def=no + { $as_echo "$as_me:$LINENO: result: no need, since shared libraries are disabled" >&5 +$as_echo "no need, since shared libraries are disabled" >&6; } + else + _gcc_ldflags_save=$LDFLAGS + LDFLAGS="-Wl,--output-def,foo.def" + cat >conftest.$ac_ext <<_ACEOF +/* 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 conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + output_def=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + output_def=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $output_def" >&5 +$as_echo "$output_def" >&6; } + LDFLAGS="$_gcc_ldflags_save" + fi + + if test x$opt_dmalloc_mode = xyes; then + +{ $as_echo "$as_me:$LINENO: checking for main in -ldmalloc" >&5 +$as_echo_n "checking for main in -ldmalloc... " >&6; } +if test "${ac_cv_lib_dmalloc_main+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldmalloc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + int main () { - +return main (); ; return 0; } _ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dmalloc_main=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } + ac_cv_lib_dmalloc_main=no fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dmalloc_main" >&5 +$as_echo "$ac_cv_lib_dmalloc_main" >&6; } +if test $ac_cv_lib_dmalloc_main = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBDMALLOC 1 +_ACEOF + + LIBS="-ldmalloc $LIBS" + +fi + + +cat >>confdefs.h <<\_ACEOF +#define USE_DMALLOC 1 +_ACEOF + + else + if test x$opt_efence_mode = xyes; then + +{ $as_echo "$as_me:$LINENO: checking for main in -lefence" >&5 +$as_echo_n "checking for main in -lefence... " >&6; } +if test "${ac_cv_lib_efence_main+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lefence $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* 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 main (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_efence_main=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_efence_main=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_efence_main" >&5 +$as_echo "$ac_cv_lib_efence_main" >&6; } +if test $ac_cv_lib_efence_main = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBEFENCE 1 +_ACEOF + + LIBS="-lefence $LIBS" + fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} +cat >>confdefs.h <<\_ACEOF +#define USE_EFENCE 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes + + fi + fi + + { $as_echo "$as_me:$LINENO: checking whether we have GNU assembler" >&5 +$as_echo_n "checking whether we have GNU assembler... " >&6; } + GAS=`as --version < /dev/null 2>/dev/null | grep GNU` + if test "$GAS"; then + AM_CFLAGS="${AM_CFLAGS} -pipe" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + fi +fi + +# Needs to be called outside of 'if' clause. + if test "$output_def" = "yes"; then + HAVE_LD_OUTPUT_DEF_TRUE= + HAVE_LD_OUTPUT_DEF_FALSE='#' else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + HAVE_LD_OUTPUT_DEF_TRUE='#' + HAVE_LD_OUTPUT_DEF_FALSE= +fi -int -main () -{ + if test "$_gcc_gnu89_inline" = "yes"; then + HAVE_GCC_GNU89_INLINE_OPTION_TRUE= + HAVE_GCC_GNU89_INLINE_OPTION_FALSE='#' +else + HAVE_GCC_GNU89_INLINE_OPTION_TRUE='#' + HAVE_GCC_GNU89_INLINE_OPTION_FALSE= +fi - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +{ $as_echo "$as_me:$LINENO: result: *** +*** Detecting C library capabilities... +" >&5 +$as_echo "*** +*** Detecting C library capabilities... +" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include +#include +#include +#include int main () @@ -4482,3052 +9364,4132 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi + rm -f core conftest.err 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 +/* 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 core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag +rm -f conftest* + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$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 + +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 +/* 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 - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi + ac_cv_header_stdc=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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; -} +rm -f conftest* -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#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 -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; +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; return 0; } _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then -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 -DEPDIR="${am__leading_dot}deps" +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF -ac_config_commands="$ac_config_commands depfiles" +fi -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; +for ac_header in netdb.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; + ac_header_preproc=no 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='#' +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - AMDEP_TRUE='#' - AMDEP_FALSE= + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done -depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +for ac_func in fork +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - 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 - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac +/* 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. */ - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf +#ifdef __STDC__ +# include +#else +# include +#endif - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done +#undef $ac_func - cd .. - rm -rf conftest.dir +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - am_cv_CC_dependencies_compiler_type=none + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - 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 +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_STRINGS_H 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FLOAT_H 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIMITS_H 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MATH_H 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CTYPE_H 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ERRNO_H 1 +_ACEOF + + +# No fork on MinGW, disable some self-tests until we fix them. + if test "$ac_cv_func_fork" != "no"; then + HAVE_FORK_TRUE= + HAVE_FORK_FALSE='#' else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + HAVE_FORK_TRUE='#' + HAVE_FORK_FALSE= fi +{ $as_echo "$as_me:$LINENO: result: *** +*** Detecting system's parameters... +" >&5 +$as_echo "*** +*** Detecting system's parameters... +" >&6; } -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +# Run self-tests under valgrind? +if test "$cross_compiling" = no; then + for ac_prog in valgrind +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : +if test "${ac_cv_prog_VALGRIND+set}" = set; then $as_echo_n "(cached) " >&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 + if test -n "$VALGRIND"; then + ac_cv_prog_VALGRIND="$VALGRIND" # 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_prog_VALGRIND="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS - ;; -esac fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } +fi +VALGRIND=$ac_cv_prog_VALGRIND +if test -n "$VALGRIND"; then + { $as_echo "$as_me:$LINENO: result: $VALGRIND" >&5 +$as_echo "$VALGRIND" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + test -n "$VALGRIND" && break +done + fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : +if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then + opt_valgrind_tests=yes +else + opt_valgrind_tests=no + VALGRIND= +fi +{ $as_echo "$as_me:$LINENO: checking whether self tests are run under valgrind" >&5 +$as_echo_n "checking whether self tests are run under valgrind... " >&6; } +# Check whether --enable-valgrind-tests was given. +if test "${enable_valgrind_tests+set}" = set; then + enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval +fi + +{ $as_echo "$as_me:$LINENO: result: $opt_valgrind_tests" >&5 +$as_echo "$opt_valgrind_tests" >&6; } + +# For minitasn1. +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of unsigned long int" >&5 +$as_echo_n "checking size of unsigned long int... " >&6; } +if test "${ac_cv_sizeof_unsigned_long_int+set}" = set; then $as_echo_n "(cached) " >&6 else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long int))) >= 0)]; +test_array [0] = 0 - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long int))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long int))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long int))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo= ac_hi= fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long int))) <= $ac_mid)]; +test_array [0] = 0 - # Extract the first word of "gtkdoc-check", so it can be a program name with args. -set dummy gtkdoc-check; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $GTKDOC_CHECK in - [\\/]* | ?:[\\/]*) - ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -fi -GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK -if test -n "$GTKDOC_CHECK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5 -$as_echo "$GTKDOC_CHECK" >&6; } +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` +fi - for ac_prog in gtkdoc-rebase -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GTKDOC_REBASE+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $GTKDOC_REBASE in - [\\/]* | ?:[\\/]*) - ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done - done -IFS=$as_save_IFS - - ;; +case $ac_lo in +?*) ac_cv_sizeof_unsigned_long_int=$ac_lo;; +'') if test "$ac_cv_type_unsigned_long_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (unsigned long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long_int=0 + fi ;; esac -fi -GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE -if test -n "$GTKDOC_REBASE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5 -$as_echo "$GTKDOC_REBASE" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (unsigned long int)); } +static unsigned long int ulongval () { return (long int) (sizeof (unsigned long int)); } +#include +#include +int +main () +{ - test -n "$GTKDOC_REBASE" && break -done -test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true" + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (unsigned long int))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (unsigned long int)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (unsigned long int)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; - # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args. -set dummy gtkdoc-mkpdf; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GTKDOC_MKPDF+set}" = set; then : - $as_echo_n "(cached) " >&6 + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_long_int=`cat conftest.val` else - case $GTKDOC_MKPDF in - [\\/]* | ?:[\\/]*) - ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - ;; -esac +( exit $ac_status ) +if test "$ac_cv_type_unsigned_long_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (unsigned long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long_int=0 + fi fi -GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF -if test -n "$GTKDOC_MKPDF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5 -$as_echo "$GTKDOC_MKPDF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long_int" >&5 +$as_echo "$ac_cv_sizeof_unsigned_long_int" >&6; } +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_LONG_INT $ac_cv_sizeof_unsigned_long_int +_ACEOF -# Check whether --with-html-dir was given. -if test "${with_html_dir+set}" = set; then : - withval=$with_html_dir; -else - with_html_dir='${datadir}/gtk-doc/html' -fi - HTML_DIR="$with_html_dir" +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of unsigned int" >&5 +$as_echo_n "checking size of unsigned int... " >&6; } +if test "${ac_cv_sizeof_unsigned_int+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)]; +test_array [0] = 0 - # Check whether --enable-gtk-doc was given. -if test "${enable_gtk_doc+set}" = set; then : - enableval=$enable_gtk_doc; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - enable_gtk_doc=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= $ac_mid)]; +test_array [0] = 0 - if test x$enable_gtk_doc = xyes; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.1") 2>&5 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - : + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break else - as_fn_error "You need to have gtk-doc >= 1.1 installed to build $PACKAGE_NAME" "$LINENO" 5 -fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5 -$as_echo_n "checking whether to build gtk-doc documentation... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5 -$as_echo "$enable_gtk_doc" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - # Check whether --enable-gtk-doc-html was given. -if test "${enable_gtk_doc_html+set}" = set; then : - enableval=$enable_gtk_doc_html; -else - enable_gtk_doc_html=yes + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi - # Check whether --enable-gtk-doc-pdf was given. -if test "${enable_gtk_doc_pdf+set}" = set; then : - enableval=$enable_gtk_doc_pdf; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - enable_gtk_doc_pdf=no -fi - - - if test -n "$GTKDOC_MKPDF"; then - enable_gtk_doc_pdf=no - fi - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test x$enable_gtk_doc = xyes; then - ENABLE_GTK_DOC_TRUE= - ENABLE_GTK_DOC_FALSE='#' -else - ENABLE_GTK_DOC_TRUE='#' - ENABLE_GTK_DOC_FALSE= + ac_lo= ac_hi= fi - if test x$enable_gtk_doc_html = xyes; then - GTK_DOC_BUILD_HTML_TRUE= - GTK_DOC_BUILD_HTML_FALSE='#' -else - GTK_DOC_BUILD_HTML_TRUE='#' - GTK_DOC_BUILD_HTML_FALSE= +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - if test x$enable_gtk_doc_pdf = xyes; then - GTK_DOC_BUILD_PDF_TRUE= - GTK_DOC_BUILD_PDF_FALSE='#' -else - GTK_DOC_BUILD_PDF_TRUE='#' - GTK_DOC_BUILD_PDF_FALSE= -fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)]; +test_array [0] = 0 - if test -n "$LIBTOOL"; then - GTK_DOC_USE_LIBTOOL_TRUE= - GTK_DOC_USE_LIBTOOL_FALSE='#' + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - GTK_DOC_USE_LIBTOOL_TRUE='#' - GTK_DOC_USE_LIBTOOL_FALSE= -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test -n "$GTKDOC_REBASE"; then - GTK_DOC_USE_REBASE_TRUE= - GTK_DOC_USE_REBASE_FALSE='#' -else - GTK_DOC_USE_REBASE_TRUE='#' - GTK_DOC_USE_REBASE_FALSE= + ac_lo=`expr '(' $ac_mid ')' + 1` fi - -# Extract the first word of "gaa", so it can be a program name with args. -set dummy gaa; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GAA+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $GAA in - [\\/]* | ?:[\\/]*) - ac_cv_path_GAA="$GAA" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GAA="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done - done -IFS=$as_save_IFS - - ;; +case $ac_lo in +?*) ac_cv_sizeof_unsigned_int=$ac_lo;; +'') if test "$ac_cv_type_unsigned_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi ;; esac -fi -GAA=$ac_cv_path_GAA -if test -n "$GAA"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAA" >&5 -$as_echo "$GAA" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (unsigned int)); } +static unsigned long int ulongval () { return (long int) (sizeof (unsigned int)); } +#include +#include +int +main () +{ -if test "x$GAA" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** -*** GAA was not found. It is only needed if you wish to modify -*** the source code or command-line description files. In this case, -*** you may want to get it from http://gaa.sourceforge.net/ and -*** read doc/README.gaa. -***" >&5 -$as_echo "$as_me: WARNING: *** -*** GAA was not found. It is only needed if you wish to modify -*** the source code or command-line description files. In this case, -*** you may want to get it from http://gaa.sourceforge.net/ and -*** read doc/README.gaa. -***" >&2;} -fi + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (unsigned int))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (unsigned int)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (unsigned int)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_int=`cat conftest.val` 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +if test "$ac_cv_type_unsigned_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f conftest.val fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5 +$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int +_ACEOF + + + +# For storing integers in pointers without warnings +# http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of void *" >&5 +$as_echo_n "checking size of void *... " >&6; } +if test "${ac_cv_sizeof_void_p+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; +test_array [0] = 0 -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - RANLIB="$ac_cv_prog_RANLIB" -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) < 0)]; +test_array [0] = 0 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= $ac_mid)]; +test_array [0] = 0 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= + ac_lo=`expr '(' $ac_mid ')' + 1` fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : - $as_echo_n "(cached) " >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_void_p=$ac_lo;; +'') if test "$ac_cv_type_void_p" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi ;; +esac 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 confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* 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 +$ac_includes_default +static long int longval () { return (long int) (sizeof (void *)); } +static unsigned long int ulongval () { return (long int) (sizeof (void *)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (void *))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (void *)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (void *)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_void_p=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -else - # Broken: fails on valid input. -continue +( exit $ac_status ) +if test "$ac_cv_type_void_p" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext 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 +rm -f conftest.val fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 +$as_echo "$ac_cv_sizeof_void_p" >&6; } - done - ac_cv_prog_CPP=$CPP -fi - CPP=$ac_cv_prog_CPP + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if test "${ac_cv_sizeof_long+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$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 confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* 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 +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - # Broken: fails on valid input. -continue + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -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 + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; +test_array [0] = 0 - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - ac_cv_path_GREP=$GREP -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long=$ac_lo;; +'') if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; + ac_cv_sizeof_long=0 + fi ;; esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (long)); } +static unsigned long int ulongval () { return (long int) (sizeof (long)); } +#include +#include +int +main () +{ - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (long))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (long)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (long)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long=`cat conftest.val` else - ac_cv_path_EGREP=$EGREP -fi + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_long=0 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if test "${ac_cv_sizeof_int+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include -#include +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default int main () { +static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; +test_array [0] = 0 ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - ac_cv_header_stdc=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) < 0)]; +test_array [0] = 0 + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - ac_cv_header_stdc=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - ac_cv_header_stdc=no -fi -rm -f conftest* + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` 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 : - : +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_int=$ac_lo;; +'') if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_int=0 + fi ;; +esac else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +static long int longval () { return (long int) (sizeof (int)); } +static unsigned long int ulongval () { return (long int) (sizeof (int)); } +#include #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)) - return 2; + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (int))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (int)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (int)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_int=`cat conftest.val` else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_int=0 + fi fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } -$as_echo "#define STDC_HEADERS 1" >>confdefs.h -fi -# 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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int _ACEOF -fi - -done +case $ac_cv_sizeof_void_p in + $ac_cv_sizeof_long) +cat >>confdefs.h <<\_ACEOF +#define GNUTLS_POINTER_TO_INT_CAST (long) +_ACEOF + ;; + *) + cat >>confdefs.h <<\_ACEOF +#define GNUTLS_POINTER_TO_INT_CAST /**/ +_ACEOF + ;; +esac - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : - MINIX=yes +# For some systems we know that we have ld_version scripts. +# Use it then as default. +have_ld_version_script=no +case "${host}" in + *-*-linux*) + have_ld_version_script=yes + ;; + *-*-gnu*) + have_ld_version_script=yes + ;; +esac +# Check whether --enable-ld-version-script was given. +if test "${enable_ld_version_script+set}" = set; then + enableval=$enable_ld_version_script; have_ld_version_script=$enableval else - MINIX= + : fi + if test "$have_ld_version_script" = "yes"; then + HAVE_LD_VERSION_SCRIPT_TRUE= + HAVE_LD_VERSION_SCRIPT_FALSE='#' +else + HAVE_LD_VERSION_SCRIPT_TRUE='#' + HAVE_LD_VERSION_SCRIPT_FALSE= +fi - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - fi +{ $as_echo "$as_me:$LINENO: checking for uint" >&5 +$as_echo_n "checking for uint... " >&6; } +if test "${ac_cv_type_uint+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_uint=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - case "$host_os" in - hpux*) +# include -$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h - ;; - esac +int +main () +{ +if (sizeof (uint)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +# include - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default int main () { - +if (sizeof ((uint))) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + ac_cv_type_uint=yes +fi - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint" >&5 +$as_echo "$ac_cv_type_uint" >&6; } +if test $ac_cv_type_uint = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_UINT 1 +_ACEOF +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then : +# Check for and replace ssize_t. +{ $as_echo "$as_me:$LINENO: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if test "${ac_cv_type_ssize_t+set}" = set; then $as_echo_n "(cached) " >&6 else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_type_ssize_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include /* for off_t */ - #include +#include + int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +if (sizeof (ssize_t)) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_sys_largefile_source=no; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include +#include + int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +if (sizeof ((ssize_t))) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_sys_largefile_source=1; break +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_ssize_t=yes fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_cv_sys_largefile_source=unknown - break -done + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 -$as_echo "$ac_cv_sys_largefile_source" >&6; } -case $ac_cv_sys_largefile_source in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source -_ACEOF -;; -esac -rm -rf conftest* -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -if test $ac_cv_sys_largefile_source != unknown; then +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 +$as_echo "$ac_cv_type_ssize_t" >&6; } +if test $ac_cv_type_ssize_t = yes; then + DEFINE_SSIZE_T="#include " + +else + +cat >>confdefs.h <<\_ACEOF +#define NO_SSIZE_T 1 +_ACEOF -$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h + DEFINE_SSIZE_T="typedef int ssize_t;" fi - case $ac_cv_prog_cc_stdc in #( - no) : - ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( - *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if test "${ac_cv_prog_cc_c99+set}" = set; then : + + + { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_c_bigendian=unknown + # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} +#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__) + neither is defined; + #endif + typedef int dummy; -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=universal +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -struct named_init { - int number; - const wchar_t *name; - double average; -}; -typedef const char *ccp; +fi -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) +int +main () { - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); + ; + return 0; } +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include int main () { +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); + ac_cv_c_bigendian=no +fi - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - ni.number = 58; +fi - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include -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]; +#ifndef _BIG_ENDIAN + not big endian + #endif + ; return 0; } _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes else - ac_cv_prog_cc_stdc=no -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 -$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } - if test "${ac_cv_prog_cc_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 + ac_cv_c_bigendian=no fi - case $ac_cv_prog_cc_stdc in #( - no) : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; #( - '') : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; #( - *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 -$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then + # Try to guess by grepping values from an object file. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 -$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 -$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; - hostname=`hostname` - if test "$hostname"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 -$as_echo "$as_me: autobuild hostname... $hostname" >&6;} - fi + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_c_bigendian=yes +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 -$as_echo "$as_me: autobuild timestamp... $date" >&6;} - fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF +;; #( + no) + ;; #( + universal) + ;; #( + *) + { { $as_echo "$as_me:$LINENO: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +$as_echo "$as_me: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; + esac +{ $as_echo "$as_me:$LINENO: result: *** +*** Checking for external libraries... +" >&5 +$as_echo "*** +*** Checking for external libraries... +" >&6; } +# For Guile bindings. +opt_guile_bindings=yes +{ $as_echo "$as_me:$LINENO: checking whether building Guile bindings" >&5 +$as_echo_n "checking whether building Guile bindings... " >&6; } +# Check whether --enable-guile was given. +if test "${enable_guile+set}" = set; then + enableval=$enable_guile; opt_guile_bindings=$enableval +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif +{ $as_echo "$as_me:$LINENO: result: $opt_guile_bindings" >&5 +$as_echo "$opt_guile_bindings" >&6; } -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done +# Check whether --with---with-guile-site-dir was given. +if test "${with___with_guile_site_dir+set}" = set; then + withval=$with___with_guile_site_dir; fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac +if test "x$opt_guile_bindings" = "xyes"; then + { $as_echo "$as_me:$LINENO: result: *** +*** Detecting GNU Guile... +" >&5 +$as_echo "*** +*** Detecting GNU Guile... +" >&6; } -# For the C++ code -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 + # Extract the first word of "guile-snarf", so it can be a program name with args. +set dummy guile-snarf; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if test "${ac_cv_path_guile_snarf+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $guile_snarf in + [\\/]* | ?:[\\/]*) + ac_cv_path_guile_snarf="$guile_snarf" # 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_path_guile_snarf="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS + ;; +esac fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } +guile_snarf=$ac_cv_path_guile_snarf +if test -n "$guile_snarf"; then + { $as_echo "$as_me:$LINENO: result: $guile_snarf" >&5 +$as_echo "$guile_snarf" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 + if test "x$guile_snarf" = "x"; then + { $as_echo "$as_me:$LINENO: WARNING: \`guile-snarf' from Guile 1.8 not found. Guile bindings not built." >&5 +$as_echo "$as_me: WARNING: \`guile-snarf' from Guile 1.8 not found. Guile bindings not built." >&2;} + opt_guile_bindings=no + else + # Extract the first word of "guile", so it can be a program name with args. +set dummy guile; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if test "${ac_cv_path_GUILE+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $GUILE in + [\\/]* | ?:[\\/]*) + ac_cv_path_GUILE="$GUILE" # 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_path_GUILE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS + ;; +esac fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } +GUILE=$ac_cv_path_GUILE +if test -n "$GUILE"; then + { $as_echo "$as_me:$LINENO: result: $GUILE" >&5 +$as_echo "$GUILE" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 + if test "$GUILE" = "" ; then + { { $as_echo "$as_me:$LINENO: error: guile required but not found" >&5 +$as_echo "$as_me: error: guile required but not found" >&2;} + { (exit 1); exit 1; }; } fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + # Extract the first word of "guile-config", so it can be a program name with args. +set dummy guile-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GUILE_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + case $GUILE_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GUILE_CONFIG="$GUILE_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GUILE_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes +GUILE_CONFIG=$ac_cv_path_GUILE_CONFIG +if test -n "$GUILE_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $GUILE_CONFIG" >&5 +$as_echo "$GUILE_CONFIG" >&6; } else - GXX= + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= + if test "$GUILE_CONFIG" = "" ; then + { { $as_echo "$as_me:$LINENO: error: guile-config required but not found" >&5 +$as_echo "$as_me: error: guile-config required but not found" >&2;} + { (exit 1); exit 1; }; } fi -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 - -depcc="$CXX" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : + # Extract the first word of "guile-tools", so it can be a program name with args. +set dummy guile-tools; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GUILE_TOOLS+set}" = set; then $as_echo_n "(cached) " >&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_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done + case $GUILE_TOOLS in + [\\/]* | ?:[\\/]*) + ac_cv_path_GUILE_TOOLS="$GUILE_TOOLS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GUILE_TOOLS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - cd .. - rm -rf conftest.dir + ;; +esac +fi +GUILE_TOOLS=$ac_cv_path_GUILE_TOOLS +if test -n "$GUILE_TOOLS"; then + { $as_echo "$as_me:$LINENO: result: $GUILE_TOOLS" >&5 +$as_echo "$GUILE_TOOLS" >&6; } else - am_cv_CXX_dependencies_compiler_type=none + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi -# Check whether --enable-cxx was given. -if test "${enable_cxx+set}" = set; then : - enableval=$enable_cxx; use_cxx=$enableval -else - use_cxx=yes -fi + { $as_echo "$as_me:$LINENO: checking libguile compile flags" >&5 +$as_echo_n "checking libguile compile flags... " >&6; } + GUILE_CFLAGS="`$GUILE_CONFIG compile`" + { $as_echo "$as_me:$LINENO: result: $GUILE_CFLAGS" >&5 +$as_echo "$GUILE_CFLAGS" >&6; } + { $as_echo "$as_me:$LINENO: checking libguile link flags" >&5 +$as_echo_n "checking libguile link flags... " >&6; } + GUILE_LDFLAGS="`$GUILE_CONFIG link`" + { $as_echo "$as_me:$LINENO: result: $GUILE_LDFLAGS" >&5 +$as_echo "$GUILE_LDFLAGS" >&6; } + -if test "$use_cxx" != "no"; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + save_CFLAGS="$CFLAGS" + save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GUILE_CFLAGS" + LIBS="$LIBS $GUILE_LDFLAGS" + { $as_echo "$as_me:$LINENO: checking whether GNU Guile is recent enough" >&5 +$as_echo_n "checking whether GNU Guile is recent enough... " >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char scm_from_locale_string (); int main () { - +return scm_from_locale_string (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - use_cxx=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + : else - use_cxx=no -fi -rm -f core conftest.err 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 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi - if test "$use_cxx" != "no"; then - ENABLE_CXX_TRUE= - ENABLE_CXX_FALSE='#' -else - ENABLE_CXX_TRUE='#' - ENABLE_CXX_FALSE= + opt_guile_bindings=no fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$save_CFLAGS" + LIBS="$save_LIBS" - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" + if test "x$opt_guile_bindings" = "xyes"; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + case "x$with_guile_site_dir" in + xno) + # Use the default $(GUILE_SITE). + { $as_echo "$as_me:$LINENO: checking for Guile site directory" >&5 +$as_echo_n "checking for Guile site directory... " >&6; } + GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site + { $as_echo "$as_me:$LINENO: result: $GUILE_SITE" >&5 +$as_echo "$GUILE_SITE" >&6; } -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi + ;; + x|xyes) + # Automatically derive $(GUILE_SITE) from $(pkgdatadir). This + # hack is used to allow `distcheck' to work (see + # `DISTCHECK_CONFIGURE_FLAGS' in the top-level `Makefile.am'). + GUILE_SITE="\$(datadir)/guile/site" -# Prepare PATH_SEPARATOR. -# 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${acl_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi + ;; + *) + # Use the user-specified directory as $(GUILE_SITE). + GUILE_SITE="$with_guile_site_dir" -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + ;; + esac + else + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } + { $as_echo "$as_me:$LINENO: WARNING: A sufficiently recent GNU Guile not found. Guile bindings not built." >&5 +$as_echo "$as_me: WARNING: A sufficiently recent GNU Guile not found. Guile bindings not built." >&2;} + opt_guile_bindings=no + fi + fi fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : + if test "x$opt_guile_bindings" = "xyes"; then + HAVE_GUILE_TRUE= + HAVE_GUILE_FALSE='#' else - enable_rpath=yes + HAVE_GUILE_TRUE='#' + HAVE_GUILE_FALSE= fi - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if test "${gl_cv_solaris_64bit+set}" = set; then : - $as_echo_n "(cached) " >&6 +# Check whether --with-libgcrypt-prefix was given. +if test "${with_libgcrypt_prefix+set}" = set; then + withval=$with_libgcrypt_prefix; libgcrypt_config_prefix="$withval" else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + libgcrypt_config_prefix="" +fi -#ifdef _LP64 -sixtyfour bits -#endif + if test x$libgcrypt_config_prefix != x ; then + if test x${LIBGCRYPT_CONFIG+set} != xset ; then + LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config + fi + fi -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes + # Extract the first word of "libgcrypt-config", so it can be a program name with args. +set dummy libgcrypt-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LIBGCRYPT_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - + case $LIBGCRYPT_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_LIBGCRYPT_CONFIG="$LIBGCRYPT_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LIBGCRYPT_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + test -z "$ac_cv_path_LIBGCRYPT_CONFIG" && ac_cv_path_LIBGCRYPT_CONFIG="no" + ;; +esac +fi +LIBGCRYPT_CONFIG=$ac_cv_path_LIBGCRYPT_CONFIG +if test -n "$LIBGCRYPT_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $LIBGCRYPT_CONFIG" >&5 +$as_echo "$LIBGCRYPT_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - # Library code modified: REVISION++ - # Interfaces changed/added/removed: CURRENT++ REVISION=0 - # Interfaces added: AGE++ - # Interfaces removed: AGE=0 - LT_CURRENT=40 - LT_REVISION=12 + tmp=$GNUTLS_GCRYPT_VERSION + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` + min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` + else + req_libgcrypt_api=0 + min_libgcrypt_version="$tmp" + fi + + { $as_echo "$as_me:$LINENO: checking for LIBGCRYPT - version >= $min_libgcrypt_version" >&5 +$as_echo_n "checking for LIBGCRYPT - version >= $min_libgcrypt_version... " >&6; } + ok=no + if test "$LIBGCRYPT_CONFIG" != "no" ; then + req_major=`echo $min_libgcrypt_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'` + req_minor=`echo $min_libgcrypt_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'` + req_micro=`echo $min_libgcrypt_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'` + libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` + major=`echo $libgcrypt_config_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'` + minor=`echo $libgcrypt_config_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'` + micro=`echo $libgcrypt_config_version | \ + sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -gt "$req_minor"; then + ok=yes + else + if test "$minor" -eq "$req_minor"; then + if test "$micro" -ge "$req_micro"; then + ok=yes + fi + fi + fi + fi + fi + fi + if test $ok = yes; then + { $as_echo "$as_me:$LINENO: result: yes ($libgcrypt_config_version)" >&5 +$as_echo "yes ($libgcrypt_config_version)" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + fi + if test $ok = yes; then + # If we have a recent libgcrypt, we should also check that the + # API is compatible + if test "$req_libgcrypt_api" -gt 0 ; then + tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + { $as_echo "$as_me:$LINENO: checking LIBGCRYPT API version" >&5 +$as_echo_n "checking LIBGCRYPT API version... " >&6; } + if test "$req_libgcrypt_api" -eq "$tmp" ; then + { $as_echo "$as_me:$LINENO: result: okay" >&5 +$as_echo "okay" >&6; } + else + ok=no + { $as_echo "$as_me:$LINENO: result: does not match. want=$req_libgcrypt_api got=$tmp" >&5 +$as_echo "does not match. want=$req_libgcrypt_api got=$tmp" >&6; } + fi + fi + fi + fi + if test $ok = yes; then + LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` + LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` + : + else + LIBGCRYPT_CFLAGS="" + LIBGCRYPT_LIBS="" + { { $as_echo "$as_me:$LINENO: error: +*** +*** libgcrypt was not found. You may want to get it from +*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ +*** +" >&5 +$as_echo "$as_me: error: +*** +*** libgcrypt was not found. You may want to get it from +*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ +*** +" >&2;} + { (exit 1); exit 1; }; } + fi - LT_AGE=14 - # Used when creating the Windows libgnutls-XX.def files. - DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` +libgcrypt=yes +# If this ever changes to 0, the user disabled some officially enabled +# stuff so we will print a warning. +ac_full=1 +# Hard-wire the gl/m4/gc.m4 test. +# Check whether --with-builtin-crypto was given. +if test "${with_builtin_crypto+set}" = set; then + withval=$with_builtin_crypto; ac_cv_libgcrypt=no +else + ac_cv_libgcrypt=yes +fi +LTLIBGCRYPT=$LIBGCRYPT_LIBS +{ $as_echo "$as_me:$LINENO: checking whether to enable Opaque PRF input support" >&5 +$as_echo_n "checking whether to enable Opaque PRF input support... " >&6; } +# Check whether --enable-opaque-prf-input was given. +if test "${enable_opaque_prf_input+set}" = set; then + enableval=$enable_opaque_prf_input; ac_opaque_prf_input=$enableval +else + ac_opaque_prf_input=no +fi +if test "$ac_opaque_prf_input" != "no"; then + if ! echo $ac_opaque_prf_input | egrep -q '^[0-9]+$'; then + ac_opaque_prf_input=no + { $as_echo "$as_me:$LINENO: WARNING: +*** Could not parse Opaque PRF Input extension type. +*** Use --enable-opaque-prf-input=XX where XX is decimal, for example +*** to use extension value 42 use --enable-opqaue-prf-input=42" >&5 +$as_echo "$as_me: WARNING: +*** Could not parse Opaque PRF Input extension type. +*** Use --enable-opaque-prf-input=XX where XX is decimal, for example +*** to use extension value 42 use --enable-opqaue-prf-input=42" >&2;} + fi +fi +if test "$ac_opaque_prf_input" != "no"; then + { $as_echo "$as_me:$LINENO: result: yes (extension value $ac_opaque_prf_input)" >&5 +$as_echo "yes (extension value $ac_opaque_prf_input)" >&6; } +cat >>confdefs.h <<_ACEOF +#define ENABLE_OPRFI $ac_opaque_prf_input +_ACEOF +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "$ac_opaque_prf_input" != "no"; then + ENABLE_OPRFI_TRUE= + ENABLE_OPRFI_FALSE='#' +else + ENABLE_OPRFI_TRUE='#' + ENABLE_OPRFI_FALSE= +fi +{ $as_echo "$as_me:$LINENO: checking whether to disable SRP authentication support" >&5 +$as_echo_n "checking whether to disable SRP authentication support... " >&6; } +# Check whether --enable-srp-authentication was given. +if test "${enable_srp_authentication+set}" = set; then + enableval=$enable_srp_authentication; ac_enable_srp=no +fi +if test x$ac_enable_srp != xno; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +cat >>confdefs.h <<\_ACEOF +#define ENABLE_SRP 1 +_ACEOF +else + ac_full=0 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + if test "$ac_enable_srp" != "no"; then + ENABLE_SRP_TRUE= + ENABLE_SRP_FALSE='#' +else + ENABLE_SRP_TRUE='#' + ENABLE_SRP_FALSE= +fi - use_additional=yes +{ $as_echo "$as_me:$LINENO: checking whether to disable PSK authentication support" >&5 +$as_echo_n "checking whether to disable PSK authentication support... " >&6; } +# Check whether --enable-psk-authentication was given. +if test "${enable_psk_authentication+set}" = set; then + enableval=$enable_psk_authentication; ac_enable_psk=no +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +if test x$ac_enable_psk != xno; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +cat >>confdefs.h <<\_ACEOF +#define ENABLE_PSK 1 +_ACEOF - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +else + ac_full=0 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:$LINENO: checking whether to disable anonymous authentication support" >&5 +$as_echo_n "checking whether to disable anonymous authentication support... " >&6; } +# Check whether --enable-anon-authentication was given. +if test "${enable_anon_authentication+set}" = set; then + enableval=$enable_anon_authentication; ac_enable_anon=no +fi -# Check whether --with-libgcrypt-prefix was given. -if test "${with_libgcrypt_prefix+set}" = set; then : - withval=$with_libgcrypt_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then +if test x$ac_enable_anon != xno; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +cat >>confdefs.h <<\_ACEOF +#define ENABLE_ANON 1 +_ACEOF - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +else + ac_full=0 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + if test "$ac_enable_anon" != "no"; then + ENABLE_ANON_TRUE= + ENABLE_ANON_FALSE='#' +else + ENABLE_ANON_TRUE='#' + ENABLE_ANON_FALSE= +fi - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi +# Check whether --enable-camellia was given. +if test "${enable_camellia+set}" = set; then + enableval=$enable_camellia; ac_enable_camellia=no +fi +if test "$ac_enable_camellia" != "no"; then + { $as_echo "$as_me:$LINENO: checking for Camellia support in libgcrypt" >&5 +$as_echo_n "checking for Camellia support in libgcrypt... " >&6; } + if test -n "`$LIBGCRYPT_CONFIG --algorithms | grep -i camellia`"; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + ac_enable_camellia=yes + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + ac_enable_camellia=no + fi fi +{ $as_echo "$as_me:$LINENO: checking whether to disable Camellia cipher" >&5 +$as_echo_n "checking whether to disable Camellia cipher... " >&6; } +if test "$ac_enable_camellia" = "yes"; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - LIBGCRYPT= - LTLIBGCRYPT= - INCGCRYPT= - LIBGCRYPT_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='gcrypt gpg-error' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBGCRYPT; do +cat >>confdefs.h <<\_ACEOF +#define ENABLE_CAMELLIA 1 +_ACEOF - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBGCRYPT; do +{ $as_echo "$as_me:$LINENO: checking whether to disable extra PKI stuff" >&5 +$as_echo_n "checking whether to disable extra PKI stuff... " >&6; } +# Check whether --enable-extra-pki was given. +if test "${enable_extra_pki+set}" = set; then + enableval=$enable_extra_pki; disable_pki=$enableval +else + disable_pki=no +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +if test "$disable_pki" != "no"; then + ac_full=0 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_a" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'gcrypt'; then - LIBGCRYPT_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'gcrypt'; then - LIBGCRYPT_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCGCRYPT; do +cat >>confdefs.h <<\_ACEOF +#define ENABLE_PKI 1 +_ACEOF - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +fi + if test "$disable_pki" = "no"; then + ENABLE_PKI_TRUE= + ENABLE_PKI_FALSE='#' +else + ENABLE_PKI_TRUE='#' + ENABLE_PKI_FALSE= +fi - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCGCRYPT="${INCGCRYPT}${INCGCRYPT:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBGCRYPT; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +ac_enable_openpgp=yes +{ $as_echo "$as_me:$LINENO: checking whether to disable OpenPGP Certificate authentication support" >&5 +$as_echo_n "checking whether to disable OpenPGP Certificate authentication support... " >&6; } +# Check whether --enable-openpgp-authentication was given. +if test "${enable_openpgp_authentication+set}" = set; then + enableval=$enable_openpgp_authentication; ac_enable_openpgp=no +fi + +if test x$ac_enable_openpgp = xno; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + ac_full=0 +else + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_OPENPGP 1 +_ACEOF + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "$ac_enable_openpgp" = "yes"; then + ENABLE_OPENPGP_TRUE= + ENABLE_OPENPGP_FALSE='#' +else + ENABLE_OPENPGP_TRUE='#' + ENABLE_OPENPGP_FALSE= +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to disable OpenSSL compatibility layer" >&5 +$as_echo_n "checking whether to disable OpenSSL compatibility layer... " >&6; } +# Check whether --enable-openssl-compatibility was given. +if test "${enable_openssl_compatibility+set}" = set; then + enableval=$enable_openssl_compatibility; ac_enable_openssl=$withval +else + ac_enable_openssl=yes +fi + +if test x$ac_enable_openssl != xno; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + + if test "$ac_enable_openssl" = "yes"; then + ENABLE_OPENSSL_TRUE= + ENABLE_OPENSSL_FALSE='#' +else + ENABLE_OPENSSL_TRUE='#' + ENABLE_OPENSSL_FALSE= +fi + + + + +# Check whether --with-included-libtasn1 was given. +if test "${with_included_libtasn1+set}" = set; then + withval=$with_included_libtasn1; minitasn1_enabled=$withval +else + minitasn1_enabled=no +fi + + +if test x$minitasn1_enabled = xno; then + +# Check whether --with-libtasn1-prefix was given. +if test "${with_libtasn1_prefix+set}" = set; then + withval=$with_libtasn1_prefix; libtasn1_config_prefix="$withval" +else + libtasn1_config_prefix="" +fi + + + if test x$libtasn1_config_prefix != x ; then + if test x${LIBTASN1_CONFIG+set} != xset ; then + LIBTASN1_CONFIG=$libtasn1_config_prefix/bin/libtasn1-config + fi + fi + + # Extract the first word of "libtasn1-config", so it can be a program name with args. +set dummy libtasn1-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LIBTASN1_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $LIBTASN1_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_LIBTASN1_CONFIG="$LIBTASN1_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LIBTASN1_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_LIBTASN1_CONFIG" && ac_cv_path_LIBTASN1_CONFIG="no" + ;; +esac +fi +LIBTASN1_CONFIG=$ac_cv_path_LIBTASN1_CONFIG +if test -n "$LIBTASN1_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $LIBTASN1_CONFIG" >&5 +$as_echo "$LIBTASN1_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBGCRYPT; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + min_libtasn1_version=$GNUTLS_LIBTASN1_VERSION + { $as_echo "$as_me:$LINENO: checking for libtasn1 - version >= $min_libtasn1_version" >&5 +$as_echo_n "checking for libtasn1 - version >= $min_libtasn1_version... " >&6; } + no_libtasn1="" + if test "$LIBTASN1_CONFIG" = "no" ; then + no_libtasn1=yes + else + LIBTASN1_CFLAGS=`$LIBTASN1_CONFIG $libtasn1_config_args --cflags` + LIBTASN1_LIBS=`$LIBTASN1_CONFIG $libtasn1_config_args --libs` + libtasn1_config_version=`$LIBTASN1_CONFIG $libtasn1_config_args --version` + + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" + rm -f conf.libtasn1test + if test "$cross_compiling" = yes; then + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$dep" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$dep" - ;; - esac - done - fi - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" +#include +#include +#include +#include + +int +main () +{ + system ("touch conf.libtasn1test"); + + if( strcmp( asn1_check_version(NULL), "$libtasn1_config_version" ) ) + { + printf("\n*** 'libtasn1-config --version' returned %s, but LIBTASN1 (%s)\n", + "$libtasn1_config_version", asn1_check_version(NULL) ); + printf("*** was found! If libtasn1-config was correct, then it is best\n"); + printf("*** to remove the old version of LIBTASN1. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If libtasn1-config was wrong, set the environment variable LIBTASN1_CONFIG\n"); + printf("*** to point to the correct copy of libtasn1-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ( strcmp(asn1_check_version(NULL), LIBTASN1_VERSION ) ) + { + printf("\n*** LIBTASN1 header file (version %s) does not match\n", LIBTASN1_VERSION); + printf("*** library (version %s)\n", asn1_check_version(NULL) ); + } else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-R$found_dir" - done - fi + { + if ( asn1_check_version( "$min_libtasn1_version" ) ) + { + return 0; + } + else + { + printf("no\n*** An old version of LIBTASN1 (%s) was found.\n", + asn1_check_version(NULL) ); + printf("*** You need a version of LIBTASN1 newer than %s. The latest version of\n", + "$min_libtasn1_version" ); + printf("*** LIBTASN1 is always available from ftp://gnutls.hellug.gr/pub/gnutls/libtasn1.\n"); + printf("*** \n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libtasn1-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of LIBTASN1, but you can also set the LIBTASN1_CONFIG environment to point to the\n"); + printf("*** correct copy of libtasn1-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +no_libtasn1=yes +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + if test "x$no_libtasn1" = x ; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + : + else + if test -f conf.libtasn1test ; then + : + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + fi + if test "$LIBTASN1_CONFIG" = "no" ; then + echo "*** The libtasn1-config script installed by LIBTASN1 could not be found" + echo "*** If LIBTASN1 was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBTASN1_CONFIG environment variable to the" + echo "*** full path to libtasn1-config." + else + if test -f conf.libtasn1test ; then + : + else + echo "*** Could not run libtasn1 test program, checking why..." + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include - ac_save_CPPFLAGS="$CPPFLAGS" +int +main () +{ + return !!asn1_check_version(NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding LIBTASN1 or finding the wrong" + echo "*** version of LIBTASN1. If it is not finding LIBTASN1, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - for element in $INCGCRYPT; do - haveit= - for x in $CPPFLAGS; do + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means LIBTASN1 was incorrectly installed" + echo "*** or that you have moved LIBTASN1 since it was installed. In the latter case, you" + echo "*** may want to edit the libtasn1-config script: $LIBTASN1_CONFIG" +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + LIBTASN1_CFLAGS="" + LIBTASN1_LIBS="" + minitasn1_enabled=yes + { $as_echo "$as_me:$LINENO: WARNING: +*** +*** LibtASN1 ${GNUTLS_LIBTASN1_VERSION} was not found. Will use the included one. +" >&5 +$as_echo "$as_me: WARNING: +*** +*** LibtASN1 ${GNUTLS_LIBTASN1_VERSION} was not found. Will use the included one. +" >&2;} + fi + rm -f conf.libtasn1test - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcrypt" >&5 -$as_echo_n "checking for libgcrypt... " >&6; } -if test "${ac_cv_libgcrypt+set}" = set; then : - $as_echo_n "(cached) " >&6 +fi + +{ $as_echo "$as_me:$LINENO: checking whether to use the included minitasn1" >&5 +$as_echo_n "checking whether to use the included minitasn1... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $minitasn1_enabled" >&5 +$as_echo "$minitasn1_enabled" >&6; } + + if test "$minitasn1_enabled" = "yes"; then + ENABLE_MINITASN1_TRUE= + ENABLE_MINITASN1_FALSE='#' else + ENABLE_MINITASN1_TRUE='#' + ENABLE_MINITASN1_FALSE= +fi - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBGCRYPT" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + +SAVED_LIBS=$LIBS + +# Check whether --with-included-libcfg was given. +if test "${with_included_libcfg+set}" = set; then + withval=$with_included_libcfg; libcfg_enabled=$withval +else + libcfg_enabled=no + { $as_echo "$as_me:$LINENO: checking for cfg_get_context in -lcfg+" >&5 +$as_echo_n "checking for cfg_get_context in -lcfg+... " >&6; } +if test "${ac_cv_lib_cfgp_cfg_get_context+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcfg+ $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cfg_get_context (); int main () { -enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128 +return cfg_get_context (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libgcrypt=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_cfgp_cfg_get_context=yes else - ac_cv_libgcrypt='no' -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_cfgp_cfg_get_context=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgcrypt" >&5 -$as_echo "$ac_cv_libgcrypt" >&6; } - if test "$ac_cv_libgcrypt" = yes; then - HAVE_LIBGCRYPT=yes -$as_echo "#define HAVE_LIBGCRYPT 1" >>confdefs.h +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cfgp_cfg_get_context" >&5 +$as_echo "$ac_cv_lib_cfgp_cfg_get_context" >&6; } +if test $ac_cv_lib_cfgp_cfg_get_context = yes; then + : +else + libcfg_enabled=yes + { $as_echo "$as_me:$LINENO: WARNING: +*** +*** Libcfg+ was not found. Will use the included one." >&5 +$as_echo "$as_me: WARNING: +*** +*** Libcfg+ was not found. Will use the included one." >&2;} +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgcrypt" >&5 -$as_echo_n "checking how to link with libgcrypt... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGCRYPT" >&5 -$as_echo "$LIBGCRYPT" >&6; } - else - HAVE_LIBGCRYPT=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBGCRYPT= - LTLIBGCRYPT= - LIBGCRYPT_PREFIX= - fi +fi + if test "$libcfg_enabled" = "no"; then + HAVE_LIBCFG_TRUE= + HAVE_LIBCFG_FALSE='#' +else + HAVE_LIBCFG_TRUE='#' + HAVE_LIBCFG_FALSE= +fi +LIBS=$SAVED_LIBS +{ $as_echo "$as_me:$LINENO: checking whether to use the included libcfg" >&5 +$as_echo_n "checking whether to use the included libcfg... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $libcfg_enabled" >&5 +$as_echo "$libcfg_enabled" >&6; } - if test "$ac_cv_libgcrypt" != yes; then - as_fn_error " -*** -*** libgcrypt was not found. You may want to get it from -*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ -*** - " "$LINENO" 5 - fi +{ $as_echo "$as_me:$LINENO: checking whether to include zlib compression support" >&5 +$as_echo_n "checking whether to include zlib compression support... " >&6; } -# Check whether --with-included-libtasn1 was given. -if test "${with_included_libtasn1+set}" = set; then : - withval=$with_included_libtasn1; included_libtasn1=$withval +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; ac_zlib=$withval else - included_libtasn1=no + ac_zlib=yes fi - if test "$included_libtasn1" = "no"; then - - +if test x$ac_zlib != xno; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } @@ -7552,9 +13514,9 @@ prefix="$acl_save_prefix" -# Check whether --with-libtasn1-prefix was given. -if test "${with_libtasn1_prefix+set}" = set; then : - withval=$with_libtasn1_prefix; +# Check whether --with-libz-prefix was given. +if test "${with_libz_prefix+set}" = set; then + withval=$with_libz_prefix; if test "X$withval" = "Xno"; then use_additional=no else @@ -7574,23 +13536,19 @@ else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi fi fi fi - LIBTASN1= - LTLIBTASN1= - INCTASN1= - LIBTASN1_PREFIX= + LIBZ= + LTLIBZ= + INCZ= + LIBZ_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= - names_next_round='tasn1 ' + names_next_round='z ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= @@ -7609,9 +13567,9 @@ if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" - test -z "$value" || LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$value" + test -z "$value" || LIBZ="${LIBZ}${LIBZ:+ }$value" eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$value" + test -z "$value" || LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$value" else : fi @@ -7668,7 +13626,7 @@ fi fi if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBTASN1; do + for x in $LDFLAGS $LTLIBZ; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -7727,12 +13685,10 @@ done fi if test "X$found_dir" != "X"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$found_dir -l$name" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + LIBZ="${LIBZ}${LIBZ:+ }$found_so" else haveit= for x in $ltrpathdirs; do @@ -7745,10 +13701,10 @@ ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" + LIBZ="${LIBZ}${LIBZ:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" + LIBZ="${LIBZ}${LIBZ:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then @@ -7761,7 +13717,7 @@ fi else haveit= - for x in $LDFLAGS $LIBTASN1; do + for x in $LDFLAGS $LIBZ; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -7777,37 +13733,28 @@ fi done if test -z "$haveit"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir" + LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" + LIBZ="${LIBZ}${LIBZ:+ }$found_so" else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" + LIBZ="${LIBZ}${LIBZ:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_a" + LIBZ="${LIBZ}${LIBZ:+ }$found_a" else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir -l$name" + LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'tasn1'; then - LIBTASN1_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'tasn1'; then - LIBTASN1_PREFIX="$basedir" - fi + LIBZ_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac @@ -7822,7 +13769,7 @@ fi fi if test -z "$haveit"; then - for x in $CPPFLAGS $INCTASN1; do + for x in $CPPFLAGS $INCZ; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -7839,7 +13786,7 @@ done if test -z "$haveit"; then if test -d "$additional_includedir"; then - INCTASN1="${INCTASN1}${INCTASN1:+ }-I$additional_includedir" + INCZ="${INCZ}${INCZ:+ }-I$additional_includedir" fi fi fi @@ -7856,11 +13803,9 @@ case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -7869,7 +13814,7 @@ fi if test -z "$haveit"; then haveit= - for x in $LDFLAGS $LIBTASN1; do + for x in $LDFLAGS $LIBZ; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -7886,11 +13831,11 @@ done if test -z "$haveit"; then if test -d "$additional_libdir"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$additional_libdir" + LIBZ="${LIBZ}${LIBZ:+ }-L$additional_libdir" fi fi haveit= - for x in $LDFLAGS $LTLIBTASN1; do + for x in $LDFLAGS $LTLIBZ; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -7907,7 +13852,7 @@ done if test -z "$haveit"; then if test -d "$additional_libdir"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$additional_libdir" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$additional_libdir" fi fi fi @@ -7945,15 +13890,15 @@ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$dep" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$dep" + LIBZ="${LIBZ}${LIBZ:+ }$dep" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$dep" ;; esac done fi else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-l$name" + LIBZ="${LIBZ}${LIBZ:+ }-l$name" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-l$name" fi fi fi @@ -7969,32 +13914,27 @@ libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" + LIBZ="${LIBZ}${LIBZ:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" + LIBZ="${LIBZ}${LIBZ:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-R$found_dir" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-R$found_dir" done fi - - - - - ac_save_CPPFLAGS="$CPPFLAGS" - for element in $INCTASN1; do + for element in $INCZ; do haveit= for x in $CPPFLAGS; do @@ -8017,52 +13957,83 @@ done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libtasn1" >&5 -$as_echo_n "checking for libtasn1... " >&6; } -if test "${ac_cv_libtasn1+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for libz" >&5 +$as_echo_n "checking for libz... " >&6; } +if test "${ac_cv_libz+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBTASN1" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + LIBS="$LIBS $LIBZ" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -asn1_check_version (NULL) +compress (0, 0, 0, 0); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libtasn1=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_libz=yes else - ac_cv_libtasn1='no' + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_libz=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS="$ac_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libtasn1" >&5 -$as_echo "$ac_cv_libtasn1" >&6; } - if test "$ac_cv_libtasn1" = yes; then - HAVE_LIBTASN1=yes - -$as_echo "#define HAVE_LIBTASN1 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libtasn1" >&5 -$as_echo_n "checking how to link with libtasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBTASN1" >&5 -$as_echo "$LIBTASN1" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_libz" >&5 +$as_echo "$ac_cv_libz" >&6; } + if test "$ac_cv_libz" = yes; then + HAVE_LIBZ=yes + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + { $as_echo "$as_me:$LINENO: checking how to link with libz" >&5 +$as_echo_n "checking how to link with libz... " >&6; } + { $as_echo "$as_me:$LINENO: result: $LIBZ" >&5 +$as_echo "$LIBZ" >&6; } else - HAVE_LIBTASN1=no + HAVE_LIBZ=no CPPFLAGS="$ac_save_CPPFLAGS" - LIBTASN1= - LTLIBTASN1= - LIBTASN1_PREFIX= + LIBZ= + LTLIBZ= + LIBZ_PREFIX= fi @@ -8071,53 +14042,46 @@ - if test "$ac_cv_libtasn1" != yes; then - included_libtasn1=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&5 -$as_echo "$as_me: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the included minitasn1" >&5 -$as_echo_n "checking whether to use the included minitasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $included_libtasn1" >&5 -$as_echo "$included_libtasn1" >&6; } - if test "$included_libtasn1" = "yes"; then - ENABLE_MINITASN1_TRUE= - ENABLE_MINITASN1_FALSE='#' + if test "$ac_cv_libz" != yes; then + { $as_echo "$as_me:$LINENO: WARNING: *** +*** ZLIB was not found. You will not be able to use ZLIB compression." >&5 +$as_echo "$as_me: WARNING: *** +*** ZLIB was not found. You will not be able to use ZLIB compression." >&2;} + fi else - ENABLE_MINITASN1_TRUE='#' - ENABLE_MINITASN1_FALSE= + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + # Check whether --with-lzo was given. -if test "${with_lzo+set}" = set; then : +if test "${with_lzo+set}" = set; then withval=$with_lzo; use_lzo=$withval else use_lzo=no fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include LZO compression support" >&5 +{ $as_echo "$as_me:$LINENO: checking whether to include LZO compression support" >&5 $as_echo_n "checking whether to include LZO compression support... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_lzo" >&5 +{ $as_echo "$as_me:$LINENO: result: $use_lzo" >&5 $as_echo "$use_lzo" >&6; } - LZO_LIBS= - if test "$use_lzo" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo2" >&5 + +LZO_LIBS= +if test "$use_lzo" = "yes"; then + { $as_echo "$as_me:$LINENO: checking for lzo1x_1_compress in -llzo2" >&5 $as_echo_n "checking for lzo1x_1_compress in -llzo2... " >&6; } -if test "${ac_cv_lib_lzo2_lzo1x_1_compress+set}" = set; then : +if test "${ac_cv_lib_lzo2_lzo1x_1_compress+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llzo2 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8135,30 +14099,59 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_lzo2_lzo1x_1_compress=yes else - ac_cv_lib_lzo2_lzo1x_1_compress=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_lzo2_lzo1x_1_compress=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_1_compress" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_lzo2_lzo1x_1_compress" >&5 $as_echo "$ac_cv_lib_lzo2_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo2_lzo1x_1_compress" = x""yes; then : +if test $ac_cv_lib_lzo2_lzo1x_1_compress = yes; then LZO_LIBS=-llzo2 fi - if test "$LZO_LIBS" = ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo" >&5 + if test "$LZO_LIBS" = ""; then + { $as_echo "$as_me:$LINENO: checking for lzo1x_1_compress in -llzo" >&5 $as_echo_n "checking for lzo1x_1_compress in -llzo... " >&6; } -if test "${ac_cv_lib_lzo_lzo1x_1_compress+set}" = set; then : +if test "${ac_cv_lib_lzo_lzo1x_1_compress+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llzo $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8176,67 +14169,372 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_lzo_lzo1x_1_compress=yes else - ac_cv_lib_lzo_lzo1x_1_compress=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_lzo_lzo1x_1_compress=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo_lzo1x_1_compress" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_lzo_lzo1x_1_compress" >&5 $as_echo "$ac_cv_lib_lzo_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo_lzo1x_1_compress" = x""yes; then : +if test $ac_cv_lib_lzo_lzo1x_1_compress = yes; then LZO_LIBS=-llzo else - use_lzo=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&5 -$as_echo "$as_me: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&2;} - + use_lzo=no + { $as_echo "$as_me:$LINENO: WARNING: *** +*** Could not find liblzo or liblzo2. Disabling LZO compression. +" >&5 +$as_echo "$as_me: WARNING: *** +*** Could not find liblzo or liblzo2. Disabling LZO compression. +" >&2;} + +fi + + fi +fi + + +if test "$use_lzo" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define USE_LZO 1 +_ACEOF + + if test "$LZO_LIBS" = "-llzo"; then + +for ac_header in lzo1x.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + elif test "$LZO_LIBS" = "-llzo2"; then + +for ac_header in lzo/lzo1x.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi - fi - fi - - if test "$use_lzo" = "yes"; then - -$as_echo "#define USE_LZO 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } - if test "$LZO_LIBS" = "-llzo"; then - for ac_header in lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo1x.h" "ac_cv_header_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo1x_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LZO1X_H 1 +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> _ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi -done +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } - elif test "$LZO_LIBS" = "-llzo2"; then - for ac_header in lzo/lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo/lzo1x.h" "ac_cv_header_lzo_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo_lzo1x_h" = x""yes; then : +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LZO_LZO1X_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done - fi fi - if test "$use_lzo" = "yes"; then +fi + + if test "$use_lzo" = "yes"; then USE_LZO_TRUE= USE_LZO_FALSE='#' else @@ -8245,1634 +14543,2071 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C99 macros are supported" >&5 -$as_echo_n "checking whether C99 macros are supported... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# Windows hacks. + +cat >>confdefs.h <<\_ACEOF +#define WINVER 0x0501 +_ACEOF + +save_LIBS="$LIBS" +LIBS="$LIBS -lws2_32" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { - #define test_mac(...) - int z,y,x; - test_mac(x,y,z); - return 0; - + WORD wVersionRequested = MAKEWORD(2, 2); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - -$as_echo "#define C99_MACROS 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + wsastartup=yes else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C99 macros not supported. This may affect compiling." >&5 -$as_echo "$as_me: WARNING: C99 macros not supported. This may affect compiling." >&2;} - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Opaque PRF input support" >&5 -$as_echo_n "checking whether to enable Opaque PRF input support... " >&6; } - # Check whether --enable-opaque-prf-input was given. -if test "${enable_opaque_prf_input+set}" = set; then : - enableval=$enable_opaque_prf_input; ac_opaque_prf_input=$enableval -else - ac_opaque_prf_input=no + wsastartup=no fi - if test "$ac_opaque_prf_input" != "no"; then - if ! echo $ac_opaque_prf_input | egrep -q '^[0-9]+$'; then - ac_opaque_prf_input=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&5 -$as_echo "$as_me: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&2;} - fi - fi - if test "$ac_opaque_prf_input" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (extension value $ac_opaque_prf_input)" >&5 -$as_echo "yes (extension value $ac_opaque_prf_input)" >&6; } +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS="$save_LIBS" +if test "$wsastartup" = "yes"; then -cat >>confdefs.h <<_ACEOF -#define ENABLE_OPRFI $ac_opaque_prf_input +cat >>confdefs.h <<\_ACEOF +#define HAVE_WINSOCK 1 _ACEOF - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_opaque_prf_input" != "no"; then - ENABLE_OPRFI_TRUE= - ENABLE_OPRFI_FALSE='#' -else - ENABLE_OPRFI_TRUE='#' - ENABLE_OPRFI_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable SRP authentication support" >&5 -$as_echo_n "checking whether to disable SRP authentication support... " >&6; } - # Check whether --enable-srp-authentication was given. -if test "${enable_srp_authentication+set}" = set; then : - enableval=$enable_srp_authentication; ac_enable_srp=no fi - - if test x$ac_enable_srp != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_SRP 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_srp" != "no"; then - ENABLE_SRP_TRUE= - ENABLE_SRP_FALSE='#' + if test "$wsastartup" = "yes"; then + NEED_WS2_32_TRUE= + NEED_WS2_32_FALSE='#' else - ENABLE_SRP_TRUE='#' - ENABLE_SRP_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable PSK authentication support" >&5 -$as_echo_n "checking whether to disable PSK authentication support... " >&6; } - # Check whether --enable-psk-authentication was given. -if test "${enable_psk_authentication+set}" = set; then : - enableval=$enable_psk_authentication; ac_enable_psk=no + NEED_WS2_32_TRUE='#' + NEED_WS2_32_FALSE= fi - if test x$ac_enable_psk != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ $as_echo "$as_me:$LINENO: checking if we have Windows and WSAStartup/WSACleanup in -lws2_32" >&5 +$as_echo_n "checking if we have Windows and WSAStartup/WSACleanup in -lws2_32... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $wsastartup" >&5 +$as_echo "$wsastartup" >&6; } -$as_echo "#define ENABLE_PSK 1" >>confdefs.h - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_psk" != "no"; then - ENABLE_PSK_TRUE= - ENABLE_PSK_FALSE='#' -else - ENABLE_PSK_TRUE='#' - ENABLE_PSK_FALSE= -fi +{ $as_echo "$as_me:$LINENO: result: *** +*** Setting up gnulib compatibility files... +" >&5 +$as_echo "*** +*** Setting up gnulib compatibility files... +" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable anonymous authentication support" >&5 -$as_echo_n "checking whether to disable anonymous authentication support... " >&6; } - # Check whether --enable-anon-authentication was given. -if test "${enable_anon_authentication+set}" = set; then : - enableval=$enable_anon_authentication; ac_enable_anon=no -fi - if test x$ac_enable_anon != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "#define ENABLE_ANON 1" >>confdefs.h - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_anon" != "no"; then - ENABLE_ANON_TRUE= - ENABLE_ANON_FALSE='#' -else - ENABLE_ANON_TRUE='#' - ENABLE_ANON_FALSE= -fi + GNULIB_INET_NTOP=0; + GNULIB_INET_PTON=0; + HAVE_DECL_INET_NTOP=1; + HAVE_DECL_INET_PTON=1; + ARPA_INET_H=''; - # Allow disabling Camellia - # Check whether --enable-camellia was given. -if test "${enable_camellia+set}" = set; then : - enableval=$enable_camellia; enable_camellia=$enableval -else - enable_camellia=yes -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable Camellia cipher" >&5 -$as_echo_n "checking whether to disable Camellia cipher... " >&6; } - if test "$enable_camellia" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "#define ENABLE_CAMELLIA 1" >>confdefs.h - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable extra PKI stuff" >&5 -$as_echo_n "checking whether to disable extra PKI stuff... " >&6; } - # Check whether --enable-extra-pki was given. -if test "${enable_extra_pki+set}" = set; then : - enableval=$enable_extra_pki; enable_pki=$enableval -else - enable_pki=yes +for ac_header in $gl_header_list +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 fi - - if test "$enable_pki" != "yes"; then - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_PKI 1" >>confdefs.h - - fi - if test "$enable_pki" = "yes"; then - ENABLE_PKI_TRUE= - ENABLE_PKI_FALSE='#' +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else - ENABLE_PKI_TRUE='#' - ENABLE_PKI_FALSE= -fi - + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - ac_enable_openpgp=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenPGP Certificate authentication support" >&5 -$as_echo_n "checking whether to disable OpenPGP Certificate authentication support... " >&6; } - # Check whether --enable-openpgp-authentication was given. -if test "${enable_openpgp_authentication+set}" = set; then : - enableval=$enable_openpgp_authentication; ac_enable_openpgp=no + ac_header_compiler=no fi - if test x$ac_enable_openpgp = xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ac_full=0 - else - -$as_echo "#define ENABLE_OPENPGP 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_enable_openpgp" = "yes"; then - ENABLE_OPENPGP_TRUE= - ENABLE_OPENPGP_FALSE='#' +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - ENABLE_OPENPGP_TRUE='#' - ENABLE_OPENPGP_FALSE= + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } - # For storing integers in pointers without warnings - # http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then : +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (void *) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_void_p=0 - fi fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } +done -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then : + + + + + { $as_echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5 +$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } +if test "${gl_cv_have_include_next+set}" = set; then $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - + rm -rf conftestd1 conftestd2 + mkdir conftestd1 conftestd2 + cat < conftestd1/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd2/conftest.h +#ifndef DEFINED_IN_CONFTESTD1 +#error "include_next test doesn't work" +#endif +#define DEFINED_IN_CONFTESTD2 +EOF + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" + cat >conftest.$ac_ext <<_ACEOF +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_have_include_next=yes else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_long=0 - fi -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_have_include_next=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$save_CPPFLAGS" + rm -rf conftestd1 conftestd2 + +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5 +$as_echo "$gl_cv_have_include_next" >&6; } + if test $gl_cv_have_include_next = yes; then -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long +cat >>confdefs.h <<\_ACEOF +#define HAVE_INCLUDE_NEXT 1 _ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then : + INCLUDE_NEXT=include_next + else + INCLUDE_NEXT=include + fi + + +{ $as_echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 +$as_echo_n "checking whether strerror_r is declared... " >&6; } +if test "${ac_cv_have_decl_strerror_r+set}" = set; then $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef strerror_r + (void) strerror_r; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_strerror_r=yes else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (int) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_int=0 - fi -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_strerror_r=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 +$as_echo "$ac_cv_have_decl_strerror_r" >&6; } +if test $ac_cv_have_decl_strerror_r = yes; then cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int +#define HAVE_DECL_STRERROR_R 1 _ACEOF - case $ac_cv_sizeof_void_p in - $ac_cv_sizeof_long) +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR_R 0 +_ACEOF -$as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long)" >>confdefs.h - ;; - *) - $as_echo "#define GNUTLS_POINTER_TO_INT_CAST /**/" >>confdefs.h +fi - ;; - esac - GNULIB_CHOWN=0; - GNULIB_CLOSE=0; - GNULIB_DUP2=0; - GNULIB_ENVIRON=0; - GNULIB_EUIDACCESS=0; - GNULIB_FCHDIR=0; - GNULIB_FSYNC=0; - GNULIB_FTRUNCATE=0; - GNULIB_GETCWD=0; - GNULIB_GETDOMAINNAME=0; - GNULIB_GETDTABLESIZE=0; - GNULIB_GETHOSTNAME=0; - GNULIB_GETLOGIN_R=0; - GNULIB_GETPAGESIZE=0; - GNULIB_GETUSERSHELL=0; - GNULIB_LCHOWN=0; - GNULIB_LINK=0; - GNULIB_LSEEK=0; - GNULIB_READLINK=0; - GNULIB_SLEEP=0; - GNULIB_UNISTD_H_SIGPIPE=0; - GNULIB_WRITE=0; - HAVE_DUP2=1; - HAVE_EUIDACCESS=1; - HAVE_FSYNC=1; - HAVE_FTRUNCATE=1; - HAVE_GETDOMAINNAME=1; - HAVE_GETDTABLESIZE=1; - HAVE_GETHOSTNAME=1; - HAVE_GETPAGESIZE=1; - HAVE_GETUSERSHELL=1; - HAVE_LINK=1; - HAVE_READLINK=1; - HAVE_SLEEP=1; - HAVE_DECL_ENVIRON=1; - HAVE_DECL_GETLOGIN_R=1; - HAVE_OS_H=0; - HAVE_SYS_PARAM_H=0; - REPLACE_CHOWN=0; - REPLACE_CLOSE=0; - REPLACE_FCHDIR=0; - REPLACE_GETCWD=0; - REPLACE_GETPAGESIZE=0; - REPLACE_LCHOWN=0; - REPLACE_LSEEK=0; - REPLACE_WRITE=0; - UNISTD_H_HAVE_WINSOCK2_H=0; +for ac_func in strerror_r +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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. */ - GNULIB_IOCTL=0; - SYS_IOCTL_H_HAVE_WINSOCK2_H=0; - SYS_IOCTL_H=''; +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" +fi - for ac_header in $gl_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi - done +{ $as_echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 +$as_echo_n "checking whether strerror_r returns char *... " >&6; } +if test "${ac_cv_func_strerror_r_char_p+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_func_strerror_r_char_p=no + if test $ac_cv_have_decl_strerror_r = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + char *p = strerror_r (0, buf, sizeof buf); + return !p || x; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_func_strerror_r_char_p=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenSSL compatibility layer" >&5 -$as_echo_n "checking whether to disable OpenSSL compatibility layer... " >&6; } - # Check whether --enable-openssl-compatibility was given. -if test "${enable_openssl_compatibility+set}" = set; then : - enableval=$enable_openssl_compatibility; enable_openssl=$withval -else - enable_openssl=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_openssl" >&5 -$as_echo "$enable_openssl" >&6; } - if test "$enable_openssl" = "yes"; then - ENABLE_OPENSSL_TRUE= - ENABLE_OPENSSL_FALSE='#' +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + # strerror_r is not declared. Choose between + # systems that have relatively inaccessible declarations for the + # function. BeOS and DEC UNIX 4.0 fall in this category, but the + # former has a strerror_r that returns char*, while the latter + # has a strerror_r that returns `int'. + # This test should segfault on the DEC system. + if test "$cross_compiling" = yes; then + : else - ENABLE_OPENSSL_TRUE='#' - ENABLE_OPENSSL_FALSE= -fi + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + extern char *strerror_r (); +int +main () +{ +char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + return ! isalpha (x); + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_strerror_r_char_p=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi - # We link to ../lib's gnulib, which needs -lws2_32 via LIBSOCKET in Makefile.am. + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 +$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } +if test $ac_cv_func_strerror_r_char_p = yes; then +cat >>confdefs.h <<\_ACEOF +#define STRERROR_R_CHAR_P 1 +_ACEOF +fi + XGETTEXT_EXTRA_OPTIONS= - : - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_func_wsastartup+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then $as_echo_n "(cached) " >&6 else - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -# include -#endif +#include int main () { - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_wsastartup=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_sys_socket_h_selfcontained=yes else - gl_cv_func_wsastartup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_header_sys_socket_h_selfcontained=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 -$as_echo "$gl_cv_func_wsastartup" >&6; } - if test "$gl_cv_func_wsastartup" = "yes"; then -$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h - - LIBSOCKET='-lws2_32' - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${gl_cv_lib_socket+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - gl_cv_lib_socket= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + SYS_SOCKET_H='' +for ac_func in shutdown +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lsocket" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnetwork" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnet" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - fi - LIBS="$gl_save_LIBS" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 -$as_echo "$gl_cv_lib_socket" >&6; } - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi - - - : +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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 +#undef $ac_func -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - ac_cv_header_stdc=no -fi -rm -f core conftest.err 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -else - ac_cv_header_stdc=no + eval "$as_ac_var=no" fi -rm -f conftest* +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _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 +done -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 : - : + if test $ac_cv_func_shutdown = yes; then + { $as_echo "$as_me:$LINENO: checking whether defines the SHUT_* macros" >&5 +$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } +if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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))) + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; +int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_sys_socket_h_shut=yes else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_header_sys_socket_h_shut=no fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_shut" >&5 +$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi + fi + else + SYS_SOCKET_H='sys/socket.h' + fi + if test -n "$SYS_SOCKET_H"; then -for ac_func in fork -do : - ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork" -if test "x$ac_cv_func_fork" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FORK 1 -_ACEOF -fi -done + + : + -$as_echo "#define HAVE_STRINGS_H 1" >>confdefs.h -$as_echo "#define HAVE_FLOAT_H 1" >>confdefs.h -$as_echo "#define HAVE_LIMITS_H 1" >>confdefs.h + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_socket_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_sys_socket_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include -$as_echo "#define HAVE_MATH_H 1" >>confdefs.h +_ACEOF + gl_cv_next_sys_socket_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/sys/socket.h#{ + s#.*"\(.*/sys/socket.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sys_socket_h" >&5 +$as_echo "$gl_cv_next_sys_socket_h" >&6; } + fi + NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h -$as_echo "#define HAVE_CTYPE_H 1" >>confdefs.h -$as_echo "#define HAVE_ERRNO_H 1" >>confdefs.h + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WINSOCK2_H=0 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 -# No fork on MinGW, disable some self-tests until we fix them. - if test "$ac_cv_func_fork" != "no"; then - HAVE_FORK_TRUE= - HAVE_FORK_FALSE='#' -else - HAVE_FORK_TRUE='#' - HAVE_FORK_FALSE= +for ac_header in winsock2.h ws2tcpip.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } - # Check whether --enable-valgrind-tests was given. -if test "${enable_valgrind_tests+set}" = set; then : - enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - opt_valgrind_tests=yes + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } - # Run self-tests under valgrind? - if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then - for ac_prog in valgrind -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_VALGRIND+set}" = set; then : +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if test -n "$VALGRIND"; then - ac_cv_prog_VALGRIND="$VALGRIND" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_VALGRIND="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi -VALGRIND=$ac_cv_prog_VALGRIND -if test -n "$VALGRIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5 -$as_echo "$VALGRIND" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi - test -n "$VALGRIND" && break done - fi + if test $ac_cv_header_winsock2_h = yes; then + HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi - if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then - opt_valgrind_tests=yes - else - opt_valgrind_tests=no - VALGRIND= - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5 -$as_echo_n "checking whether self tests are run under valgrind... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5 -$as_echo "$opt_valgrind_tests" >&6; } + fi -ac_fn_c_check_type "$LINENO" "uint" "ac_cv_type_uint" " -# include -" -if test "x$ac_cv_type_uint" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT 1 -_ACEOF -fi -# For Guile bindings. -opt_guile_bindings=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether building Guile bindings" >&5 -$as_echo_n "checking whether building Guile bindings... " >&6; } -# Check whether --enable-guile was given. -if test "${enable_guile+set}" = set; then : - enableval=$enable_guile; opt_guile_bindings=$enableval -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_guile_bindings" >&5 -$as_echo "$opt_guile_bindings" >&6; } +{ $as_echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if test "${ac_cv_c_restrict+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } +int +main () +{ +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_restrict=$ac_kw +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Check whether --with---with-guile-site-dir was given. -if test "${with___with_guile_site_dir+set}" = set; then : - withval=$with___with_guile_site_dir; fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done -if test "$opt_guile_bindings" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** -*** Detecting GNU Guile... -" >&5 -$as_echo "*** -*** Detecting GNU Guile... -" >&6; } - - # Extract the first word of "guile-snarf", so it can be a program name with args. -set dummy guile-snarf; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_guile_snarf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $guile_snarf in - [\\/]* | ?:[\\/]*) - ac_cv_path_guile_snarf="$guile_snarf" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_guile_snarf="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -guile_snarf=$ac_cv_path_guile_snarf -if test -n "$guile_snarf"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $guile_snarf" >&5 -$as_echo "$guile_snarf" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } - if test "x$guile_snarf" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`guile-snarf' from Guile 1.8 not found. Guile bindings not built." >&5 -$as_echo "$as_me: WARNING: \`guile-snarf' from Guile 1.8 not found. Guile bindings not built." >&2;} - opt_guile_bindings=no - else - # Extract the first word of "guile", so it can be a program name with args. -set dummy guile; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GUILE+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $GUILE in - [\\/]* | ?:[\\/]*) - ac_cv_path_GUILE="$GUILE" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GUILE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + case $ac_cv_c_restrict in + restrict) ;; + no) cat >>confdefs.h <<\_ACEOF +#define restrict /**/ +_ACEOF + ;; + *) cat >>confdefs.h <<_ACEOF +#define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac - ;; -esac -fi -GUILE=$ac_cv_path_GUILE -if test -n "$GUILE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE" >&5 -$as_echo "$GUILE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "$GUILE" = "" ; then - as_fn_error "guile required but not found" "$LINENO" 5 - fi - # Extract the first word of "guile-config", so it can be a program name with args. -set dummy guile-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GUILE_CONFIG+set}" = set; then : + + + + + + + : + + + + + + + { $as_echo "$as_me:$LINENO: checking for IPv4 sockets" >&5 +$as_echo_n "checking for IPv4 sockets... " >&6; } + if test "${gl_cv_socket_ipv4+set}" = set; then $as_echo_n "(cached) " >&6 else - case $GUILE_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_GUILE_CONFIG="$GUILE_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GUILE_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif +int +main () +{ +int x = AF_INET; struct in_addr y; struct sockaddr_in z; + if (&x && &y && &z) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -fi -GUILE_CONFIG=$ac_cv_path_GUILE_CONFIG -if test -n "$GUILE_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_CONFIG" >&5 -$as_echo "$GUILE_CONFIG" >&6; } +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_socket_ipv4=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_socket_ipv4=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + { $as_echo "$as_me:$LINENO: result: $gl_cv_socket_ipv4" >&5 +$as_echo "$gl_cv_socket_ipv4" >&6; } + if test $gl_cv_socket_ipv4 = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IPV4 1 +_ACEOF - if test "$GUILE_CONFIG" = "" ; then - as_fn_error "guile-config required but not found" "$LINENO" 5 fi - # Extract the first word of "guile-tools", so it can be a program name with args. -set dummy guile-tools; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GUILE_TOOLS+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for IPv6 sockets" >&5 +$as_echo_n "checking for IPv6 sockets... " >&6; } + if test "${gl_cv_socket_ipv6+set}" = set; then $as_echo_n "(cached) " >&6 else - case $GUILE_TOOLS in - [\\/]* | ?:[\\/]*) - ac_cv_path_GUILE_TOOLS="$GUILE_TOOLS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GUILE_TOOLS="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif +int +main () +{ +int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; + if (&x && &y && &z) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -fi -GUILE_TOOLS=$ac_cv_path_GUILE_TOOLS -if test -n "$GUILE_TOOLS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_TOOLS" >&5 -$as_echo "$GUILE_TOOLS" >&6; } +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_socket_ipv6=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_socket_ipv6=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + { $as_echo "$as_me:$LINENO: result: $gl_cv_socket_ipv6" >&5 +$as_echo "$gl_cv_socket_ipv6" >&6; } + if test $gl_cv_socket_ipv6 = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_IPV6 1 +_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking libguile compile flags" >&5 -$as_echo_n "checking libguile compile flags... " >&6; } - GUILE_CFLAGS="`$GUILE_CONFIG compile`" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_CFLAGS" >&5 -$as_echo "$GUILE_CFLAGS" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking libguile link flags" >&5 -$as_echo_n "checking libguile link flags... " >&6; } - GUILE_LDFLAGS="`$GUILE_CONFIG link`" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_LDFLAGS" >&5 -$as_echo "$GUILE_LDFLAGS" >&6; } + fi + GNULIB_FPRINTF_POSIX=0; + GNULIB_PRINTF_POSIX=0; + GNULIB_OBSTACK_PRINTF=0; + GNULIB_OBSTACK_PRINTF_POSIX=0; + GNULIB_SNPRINTF=0; + GNULIB_SPRINTF_POSIX=0; + GNULIB_VFPRINTF_POSIX=0; + GNULIB_VPRINTF_POSIX=0; + GNULIB_VSNPRINTF=0; + GNULIB_VSPRINTF_POSIX=0; + GNULIB_VASPRINTF=0; + GNULIB_FOPEN=0; + GNULIB_FREOPEN=0; + GNULIB_FSEEK=0; + GNULIB_FSEEKO=0; + GNULIB_FTELL=0; + GNULIB_FTELLO=0; + GNULIB_FFLUSH=0; + GNULIB_GETDELIM=0; + GNULIB_GETLINE=0; + REPLACE_FPRINTF=0; + REPLACE_VFPRINTF=0; + REPLACE_PRINTF=0; + REPLACE_VPRINTF=0; + REPLACE_SNPRINTF=0; + HAVE_DECL_SNPRINTF=1; + REPLACE_VSNPRINTF=0; + HAVE_DECL_VSNPRINTF=1; + REPLACE_SPRINTF=0; + REPLACE_VSPRINTF=0; + HAVE_VASPRINTF=1; + REPLACE_VASPRINTF=0; + REPLACE_FOPEN=0; + REPLACE_FREOPEN=0; + HAVE_FSEEKO=1; + REPLACE_FSEEKO=0; + REPLACE_FSEEK=0; + HAVE_FTELLO=1; + REPLACE_FTELLO=0; + REPLACE_FTELL=0; + REPLACE_FFLUSH=0; + HAVE_DECL_GETDELIM=1; + HAVE_DECL_GETLINE=1; + REPLACE_GETLINE=0; + HAVE_DECL_OBSTACK_PRINTF=1; + REPLACE_OBSTACK_PRINTF=0; - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GUILE_CFLAGS" - LIBS="$LIBS $GUILE_LDFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GNU Guile is recent enough" >&5 -$as_echo_n "checking whether GNU Guile is recent enough... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:$LINENO: checking whether getdelim is declared" >&5 +$as_echo_n "checking whether getdelim is declared... " >&6; } +if test "${ac_cv_have_decl_getdelim+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char scm_from_locale_string (); +$ac_includes_default int main () { -return scm_from_locale_string (); +#ifndef getdelim + (void) getdelim; +#endif + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_getdelim=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_getdelim=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5 +$as_echo "$ac_cv_have_decl_getdelim" >&6; } +if test $ac_cv_have_decl_getdelim = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETDELIM 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETDELIM 0 +_ACEOF + -else - opt_guile_bindings=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - - if test "$opt_guile_bindings" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - case "x$with_guile_site_dir" in - xno) - # Use the default $(GUILE_SITE). - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Guile site directory" >&5 -$as_echo_n "checking for Guile site directory... " >&6; } - GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_SITE" >&5 -$as_echo "$GUILE_SITE" >&6; } - ;; - x|xyes) - # Automatically derive $(GUILE_SITE) from $(pkgdatadir). This - # hack is used to allow `distcheck' to work (see - # `DISTCHECK_CONFIGURE_FLAGS' in the top-level `Makefile.am'). - GUILE_SITE="\$(datadir)/guile/site" - ;; - *) - # Use the user-specified directory as $(GUILE_SITE). - GUILE_SITE="$with_guile_site_dir" - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc supports -fgnu89-inline" >&5 -$as_echo_n "checking whether gcc supports -fgnu89-inline... " >&6; } - _gcc_cflags_save="$CFLAGS" - CFLAGS="${CFLAGS} -fgnu89-inline" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:$LINENO: checking whether getline is declared" >&5 +$as_echo_n "checking whether getline is declared... " >&6; } +if test "${ac_cv_have_decl_getline+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +$ac_includes_default int main () { +#ifndef getline + (void) getline; +#endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gnu89_inline=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_getline=yes else - gnu89_inline=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_getline=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnu89_inline" >&5 -$as_echo "$gnu89_inline" >&6; } - CFLAGS="$_gcc_cflags_save" +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getline" >&5 +$as_echo "$ac_cv_have_decl_getline" >&6; } +if test $ac_cv_have_decl_getline = yes; then - # Optional Guile functions. - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GUILE_CFLAGS" - LIBS="$LIBS $GUILE_LDFLAGS" - for ac_func in scm_gc_malloc_pointerless -do : - ac_fn_c_check_func "$LINENO" "scm_gc_malloc_pointerless" "ac_cv_func_scm_gc_malloc_pointerless" -if test "x$ac_cv_func_scm_gc_malloc_pointerless" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SCM_GC_MALLOC_POINTERLESS 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETLINE 1 _ACEOF -fi -done - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: A sufficiently recent GNU Guile not found. Guile bindings not built." >&5 -$as_echo "$as_me: WARNING: A sufficiently recent GNU Guile not found. Guile bindings not built." >&2;} - opt_guile_bindings=no - fi - fi -fi - if test "$opt_guile_bindings" = "yes"; then - HAVE_GUILE_TRUE= - HAVE_GUILE_FALSE='#' else - HAVE_GUILE_TRUE='#' - HAVE_GUILE_FALSE= -fi + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETLINE 0 +_ACEOF - if test "$gnu89_inline" = "yes"]; then - HAVE_GCC_GNU89_INLINE_OPTION_TRUE= - HAVE_GCC_GNU89_INLINE_OPTION_FALSE='#' -else - HAVE_GCC_GNU89_INLINE_OPTION_TRUE='#' - HAVE_GCC_GNU89_INLINE_OPTION_FALSE= -fi - if test "$GCC" = "yes"; then - HAVE_GCC_TRUE= - HAVE_GCC_FALSE='#' -else - HAVE_GCC_TRUE='#' - HAVE_GCC_FALSE= fi -SAVED_LIBS=$LIBS -# Check whether --with-included-libcfg was given. -if test "${with_included_libcfg+set}" = set; then : - withval=$with_included_libcfg; libcfg_enabled=$withval -else - libcfg_enabled=no - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cfg_get_context in -lcfg+" >&5 -$as_echo_n "checking for cfg_get_context in -lcfg+... " >&6; } -if test "${ac_cv_lib_cfgp_cfg_get_context+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking whether getpass is declared" >&5 +$as_echo_n "checking whether getpass is declared... " >&6; } +if test "${ac_cv_have_decl_getpass+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcfg+ $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cfg_get_context (); +$ac_includes_default int main () { -return cfg_get_context (); +#ifndef getpass + (void) getpass; +#endif + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cfgp_cfg_get_context=yes -else - ac_cv_lib_cfgp_cfg_get_context=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cfgp_cfg_get_context" >&5 -$as_echo "$ac_cv_lib_cfgp_cfg_get_context" >&6; } -if test "x$ac_cv_lib_cfgp_cfg_get_context" = x""yes; then : - : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_getpass=yes else - libcfg_enabled=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -*** -*** Libcfg+ was not found. Will use the included one." >&5 -$as_echo "$as_me: WARNING: -*** -*** Libcfg+ was not found. Will use the included one." >&2;} + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_getpass=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpass" >&5 +$as_echo "$ac_cv_have_decl_getpass" >&6; } +if test $ac_cv_have_decl_getpass = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETPASS 1 +_ACEOF - if test "$libcfg_enabled" = "no"; then - HAVE_LIBCFG_TRUE= - HAVE_LIBCFG_FALSE='#' else - HAVE_LIBCFG_TRUE='#' - HAVE_LIBCFG_FALSE= + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETPASS 0 +_ACEOF + + fi -LIBS=$SAVED_LIBS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the included libcfg" >&5 -$as_echo_n "checking whether to use the included libcfg... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libcfg_enabled" >&5 -$as_echo "$libcfg_enabled" >&6; } -enable_win32_dll=yes -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DLLTOOL+set}" = set; then : + + + + + + + + + + +for ac_func in $gl_func_list +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + fi +done -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then : + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:$LINENO: checking whether fflush_unlocked is declared" >&5 +$as_echo_n "checking whether fflush_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_fflush_unlocked+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fflush_unlocked + (void) fflush_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_fflush_unlocked=yes 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_fflush_unlocked=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 +$as_echo "$ac_cv_have_decl_fflush_unlocked" >&6; } +if test $ac_cv_have_decl_fflush_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED 1 +_ACEOF + - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi else - DLLTOOL="$ac_cv_prog_DLLTOOL" + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +_ACEOF + + fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : + + + + { $as_echo "$as_me:$LINENO: checking whether flockfile is declared" >&5 +$as_echo_n "checking whether flockfile is declared... " >&6; } +if test "${ac_cv_have_decl_flockfile+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef flockfile + (void) flockfile; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_flockfile=yes 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_flockfile=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_flockfile" >&5 +$as_echo "$ac_cv_have_decl_flockfile" >&6; } +if test $ac_cv_have_decl_flockfile = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FLOCKFILE 1 +_ACEOF + + else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FLOCKFILE 0 +_ACEOF fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : + + + + + { $as_echo "$as_me:$LINENO: checking whether fputs_unlocked is declared" >&5 +$as_echo_n "checking whether fputs_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_fputs_unlocked+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fputs_unlocked + (void) fputs_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_fputs_unlocked=yes 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_fputs_unlocked=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 +$as_echo "$ac_cv_have_decl_fputs_unlocked" >&6; } +if test $ac_cv_have_decl_fputs_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTS_UNLOCKED 1 +_ACEOF + - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTS_UNLOCKED 0 +_ACEOF - ;; -esac -test -z "$AS" && AS=as +fi + { $as_echo "$as_me:$LINENO: checking whether funlockfile is declared" >&5 +$as_echo_n "checking whether funlockfile is declared... " >&6; } +if test "${ac_cv_have_decl_funlockfile+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef funlockfile + (void) funlockfile; +#endif -test -z "$DLLTOOL" && DLLTOOL=dlltool + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_funlockfile=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_funlockfile=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_funlockfile" >&5 +$as_echo "$ac_cv_have_decl_funlockfile" >&6; } +if test $ac_cv_have_decl_funlockfile = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FUNLOCKFILE 1 +_ACEOF -test -z "$OBJDUMP" && OBJDUMP=objdump +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FUNLOCKFILE 0 +_ACEOF +fi + { $as_echo "$as_me:$LINENO: checking whether putc_unlocked is declared" >&5 +$as_echo_n "checking whether putc_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_putc_unlocked+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef putc_unlocked + (void) putc_unlocked; +#endif -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_putc_unlocked=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_putc_unlocked=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 +$as_echo "$ac_cv_have_decl_putc_unlocked" >&6; } +if test $ac_cv_have_decl_putc_unlocked = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED 1 +_ACEOF -macro_version='2.2.6b' -macro_revision='1.3017' +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED 0 +_ACEOF +fi @@ -9883,168 +16618,323 @@ -ltmain="$ac_aux_dir/ltmain.sh" + GNULIB_MEMMEM=0; + GNULIB_MEMPCPY=0; + GNULIB_MEMRCHR=0; + GNULIB_RAWMEMCHR=0; + GNULIB_STPCPY=0; + GNULIB_STPNCPY=0; + GNULIB_STRCHRNUL=0; + GNULIB_STRDUP=0; + GNULIB_STRNDUP=0; + GNULIB_STRNLEN=0; + GNULIB_STRPBRK=0; + GNULIB_STRSEP=0; + GNULIB_STRSTR=0; + GNULIB_STRCASESTR=0; + GNULIB_STRTOK_R=0; + GNULIB_MBSLEN=0; + GNULIB_MBSNLEN=0; + GNULIB_MBSCHR=0; + GNULIB_MBSRCHR=0; + GNULIB_MBSSTR=0; + GNULIB_MBSCASECMP=0; + GNULIB_MBSNCASECMP=0; + GNULIB_MBSPCASECMP=0; + GNULIB_MBSCASESTR=0; + GNULIB_MBSCSPN=0; + GNULIB_MBSPBRK=0; + GNULIB_MBSSPN=0; + GNULIB_MBSSEP=0; + GNULIB_MBSTOK_R=0; + GNULIB_STRERROR=0; + GNULIB_STRSIGNAL=0; + HAVE_DECL_MEMMEM=1; + HAVE_MEMPCPY=1; + HAVE_DECL_MEMRCHR=1; + HAVE_RAWMEMCHR=1; + HAVE_STPCPY=1; + HAVE_STPNCPY=1; + HAVE_STRCHRNUL=1; + HAVE_DECL_STRDUP=1; + HAVE_STRNDUP=1; + HAVE_DECL_STRNDUP=1; + HAVE_DECL_STRNLEN=1; + HAVE_STRPBRK=1; + HAVE_STRSEP=1; + HAVE_STRCASESTR=1; + HAVE_DECL_STRTOK_R=1; + HAVE_DECL_STRERROR=1; + HAVE_DECL_STRSIGNAL=1; + REPLACE_STRERROR=0; + REPLACE_STRSIGNAL=0; + REPLACE_MEMMEM=0; + REPLACE_STRCASESTR=0; + REPLACE_STRSTR=0; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : + + { $as_echo "$as_me:$LINENO: checking whether strdup is declared" >&5 +$as_echo_n "checking whether strdup is declared... " >&6; } +if test "${ac_cv_have_decl_strdup+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - 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_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef strdup + (void) strdup; +#endif - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_strdup=yes else - ac_cv_path_SED=$SED + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_strdup=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strdup" >&5 +$as_echo "$ac_cv_have_decl_strdup" >&6; } +if test $ac_cv_have_decl_strdup = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRDUP 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRDUP 0 +_ACEOF + + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" + { $as_echo "$as_me:$LINENO: checking for working strerror function" >&5 +$as_echo_n "checking for working strerror function... " >&6; } +if test "${gl_cv_func_working_strerror+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +int +main () +{ +return !*strerror (-2); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_func_working_strerror=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_working_strerror=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return !*strerror (-2); + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gl_cv_func_working_strerror=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +gl_cv_func_working_strerror=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_working_strerror" >&5 +$as_echo "$gl_cv_func_working_strerror" >&6; } + if test $gl_cv_func_working_strerror = no ; then + REPLACE_STRERROR=1 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking whether strerror is declared" >&5 +$as_echo_n "checking whether strerror is declared... " >&6; } +if test "${ac_cv_have_decl_strerror+set}" = set; then $as_echo_n "(cached) " >&6 else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef strerror + (void) strerror; +#endif - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_strerror=yes else - ac_cv_path_FGREP=$FGREP -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - fi + ac_cv_have_decl_strerror=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 +$as_echo "$ac_cv_have_decl_strerror" >&6; } +if test $ac_cv_have_decl_strerror = yes; then -test -z "$GREP" && GREP=grep +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR 1 +_ACEOF +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR 0 +_ACEOF +fi + fi + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + gl_cond_libtool=true @@ -10053,836 +16943,865 @@ + gl_source_base='gl' -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for EOVERFLOW" >&5 +$as_echo_n "checking for EOVERFLOW... " >&6; } +if test "${ac_cv_decl_EOVERFLOW+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef EOVERFLOW +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then + have_eoverflow=1 +fi +rm -f conftest* + if test -n "$have_eoverflow"; then + ac_cv_decl_EOVERFLOW=yes + else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef EOVERFLOW +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then + have_eoverflow=1 +fi +rm -f conftest* + if test -n "$have_eoverflow"; then + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) >= 0)]; +test_array [0] = 0 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; +test_array [0] = 0 - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - test -n "$ac_ct_DUMPBIN" && break -done +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)]; +test_array [0] = 0 - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -test -z "$NM" && NM=nm +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:10342: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:10345: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:10348: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; +test_array [0] = 0 -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : - $as_echo_n "(cached) " >&6 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - i=0 - teststring="ABCD" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; + ac_lo=`expr '(' $ac_mid ')' + 1` +fi - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_decl_EOVERFLOW=$ac_lo;; +'') ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; +static long int longval () { return EOVERFLOW; } +static unsigned long int ulongval () { return EOVERFLOW; } +#include +#include +int +main () +{ - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if ((EOVERFLOW) < 0) + { + long int i = longval (); + if (i != (EOVERFLOW)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != (EOVERFLOW)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_decl_EOVERFLOW=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val + else + ac_cv_decl_EOVERFLOW=E2BIG + fi fi - ;; - esac fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_decl_EOVERFLOW" >&5 +$as_echo "$ac_cv_decl_EOVERFLOW" >&6; } + if test "$ac_cv_decl_EOVERFLOW" != yes; then -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len +cat >>confdefs.h <<_ACEOF +#define EOVERFLOW $ac_cv_decl_EOVERFLOW +_ACEOF + EOVERFLOW="$ac_cv_decl_EOVERFLOW" + fi -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } + : -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi + if test $ac_cv_header_arpa_inet_h = yes; then + HAVE_ARPA_INET_H=1 + else + ARPA_INET_H='arpa/inet.h' + HAVE_ARPA_INET_H=0 + fi -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac + : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_arpa_inet_h+set}" = set; then $as_echo_n "(cached) " >&6 else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - + if test $ac_cv_header_arpa_inet_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_arpa_inet_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/arpa/inet.h#{ + s#.*"\(.*/arpa/inet.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_arpa_inet_h" >&5 +$as_echo "$gl_cv_next_arpa_inet_h" >&6; } + fi + NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done done - done IFS=$as_save_IFS fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : + + + + + + + + + + + + +{ $as_echo "$as_me:$LINENO: checking for error_at_line" >&5 +$as_echo_n "checking for error_at_line... " >&6; } +if test "${ac_cv_lib_error_at_line+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +error_at_line (0, 0, "", 0, "an error occurred"); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_error_at_line=yes 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_error_at_line=no fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 +$as_echo "$ac_cv_lib_error_at_line" >&6; } +if test $ac_cv_lib_error_at_line = no; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" fi -test -z "$OBJDUMP" && OBJDUMP=objdump + : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; -beos*) - lt_cv_deplibs_check_method=pass_all - ;; -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; + { $as_echo "$as_me:$LINENO: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&5 +$as_echo "$as_me: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&6;} -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; + : -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; + { $as_echo "$as_me:$LINENO: checking for library containing getaddrinfo" >&5 +$as_echo_n "checking for library containing getaddrinfo... " >&6; } +if test "${ac_cv_search_getaddrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getaddrinfo (); +int +main () +{ +return getaddrinfo (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl socket; do + if test -z "$ac_lib"; then + ac_res="none required" else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - ;; + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_search_getaddrinfo=$ac_res +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; +fi -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_getaddrinfo+set}" = set; then + break +fi +done +if test "${ac_cv_search_getaddrinfo+set}" = set; then + : +else + ac_cv_search_getaddrinfo=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_getaddrinfo" >&5 +$as_echo "$ac_cv_search_getaddrinfo" >&6; } +ac_res=$ac_cv_search_getaddrinfo +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; +fi -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; + { $as_echo "$as_me:$LINENO: checking for getaddrinfo" >&5 +$as_echo_n "checking for getaddrinfo... " >&6; } +if test "${gl_cv_func_getaddrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#include + +int +main () +{ +getaddrinfo("", "", NULL, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_func_getaddrinfo=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_func_getaddrinfo=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getaddrinfo" >&5 +$as_echo "$gl_cv_func_getaddrinfo" >&6; } + if test $gl_cv_func_getaddrinfo = no; then + { $as_echo "$as_me:$LINENO: checking for getaddrinfo in ws2tcpip.h and -lws2_32" >&5 +$as_echo_n "checking for getaddrinfo in ws2tcpip.h and -lws2_32... " >&6; } +if test "${gl_cv_w32_getaddrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; + gl_cv_w32_getaddrinfo=no + am_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; +#ifdef HAVE_WS2TCPIP_H +#include +#endif +#include -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; +int +main () +{ +getaddrinfo(NULL, NULL, NULL, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_w32_getaddrinfo=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_w32_getaddrinfo" >&5 +$as_echo "$gl_cv_w32_getaddrinfo" >&6; } + if test "$gl_cv_w32_getaddrinfo" = "yes"; then + LIBS="$LIBS -lws2_32" + else @@ -10891,102 +17810,83 @@ + gl_LIBOBJS="$gl_LIBOBJS getaddrinfo.$ac_objext" + fi + fi -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : + # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an + # inline function declared in ws2tcpip.h, so we need to get that + # header included somehow. + { $as_echo "$as_me:$LINENO: checking for gai_strerror (possibly via ws2tcpip.h)" >&5 +$as_echo_n "checking for gai_strerror (possibly via ws2tcpip.h)... " >&6; } +if test "${gl_cv_func_gai_strerror+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +#include -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +int +main () +{ +gai_strerror (NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_func_gai_strerror=yes 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + gl_cv_func_gai_strerror=no fi - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_gai_strerror" >&5 +$as_echo "$gl_cv_func_gai_strerror" >&6; } + if test $gl_cv_func_gai_strerror = no; then @@ -10995,223 +17895,364 @@ + gl_LIBOBJS="$gl_LIBOBJS gai_strerror.$ac_objext" + fi -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if test "${ac_cv_search_gethostbyname+set}" = set; then $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' inet nsl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi -done - done -IFS=$as_save_IFS + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_search_gethostbyname=$ac_res +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_gethostbyname+set}" = set; then + break fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } +done +if test "${ac_cv_search_gethostbyname+set}" = set; then + : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_search_gethostbyname=no fi - +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : + + { $as_echo "$as_me:$LINENO: checking for library containing getservbyname" >&5 +$as_echo_n "checking for library containing getservbyname... " >&6; } +if test "${ac_cv_search_getservbyname+set}" = set; then $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getservbyname (); +int +main () +{ +return getservbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' inet nsl socket xnet; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi -done - done -IFS=$as_save_IFS + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_search_getservbyname=$ac_res +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_getservbyname+set}" = set; then + break fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } +done +if test "${ac_cv_search_getservbyname+set}" = set; then + : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_search_getservbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_getservbyname" >&5 +$as_echo "$ac_cv_search_getservbyname" >&6; } +ac_res=$ac_cv_search_getservbyname +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" fi -test -z "$STRIP" && STRIP=: +for ac_func in gethostbyname +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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 +#undef $ac_func +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +else -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for gethostbyname in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } +if test "${gl_cv_w32_gethostbyname+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + gl_cv_w32_gethostbyname=no + am_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include + +int +main () +{ +gethostbyname(NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - RANLIB=$ac_ct_RANLIB - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_w32_gethostbyname=yes else - RANLIB="$ac_cv_prog_RANLIB" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_w32_gethostbyname" >&5 +$as_echo "$gl_cv_w32_gethostbyname" >&6; } + if test "$gl_cv_w32_gethostbyname" = "yes"; then + LIBS="$LIBS -lws2_32" + fi -test -z "$RANLIB" && RANLIB=: +fi +done -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi + : + @@ -11219,276 +18260,462 @@ + { $as_echo "$as_me:$LINENO: checking whether getaddrinfo is declared" >&5 +$as_echo_n "checking whether getaddrinfo is declared... " >&6; } +if test "${ac_cv_have_decl_getaddrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif + +int +main () +{ +#ifndef getaddrinfo + (void) getaddrinfo; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_getaddrinfo=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_getaddrinfo=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getaddrinfo" >&5 +$as_echo "$ac_cv_have_decl_getaddrinfo" >&6; } +if test $ac_cv_have_decl_getaddrinfo = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETADDRINFO 1 +_ACEOF +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETADDRINFO 0 +_ACEOF +fi +{ $as_echo "$as_me:$LINENO: checking whether freeaddrinfo is declared" >&5 +$as_echo_n "checking whether freeaddrinfo is declared... " >&6; } +if test "${ac_cv_have_decl_freeaddrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +int +main () +{ +#ifndef freeaddrinfo + (void) freeaddrinfo; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_freeaddrinfo=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_freeaddrinfo=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_freeaddrinfo" >&5 +$as_echo "$ac_cv_have_decl_freeaddrinfo" >&6; } +if test $ac_cv_have_decl_freeaddrinfo = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FREEADDRINFO 1 +_ACEOF +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FREEADDRINFO 0 +_ACEOF +fi +{ $as_echo "$as_me:$LINENO: checking whether gai_strerror is declared" >&5 +$as_echo_n "checking whether gai_strerror is declared... " >&6; } +if test "${ac_cv_have_decl_gai_strerror+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +int +main () +{ +#ifndef gai_strerror + (void) gai_strerror; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_gai_strerror=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_gai_strerror=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_gai_strerror" >&5 +$as_echo "$ac_cv_have_decl_gai_strerror" >&6; } +if test $ac_cv_have_decl_gai_strerror = yes; then -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GAI_STRERROR 1 +_ACEOF -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GAI_STRERROR 0 +_ACEOF -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : +fi +{ $as_echo "$as_me:$LINENO: checking whether getnameinfo is declared" >&5 +$as_echo_n "checking whether getnameinfo is declared... " >&6; } +if test "${ac_cv_have_decl_getnameinfo+set}" = set; then $as_echo_n "(cached) " >&6 else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac +int +main () +{ +#ifndef getnameinfo + (void) getnameinfo; +#endif -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_getnameinfo=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + ac_cv_have_decl_getnameinfo=no +fi -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getnameinfo" >&5 +$as_echo "$ac_cv_have_decl_getnameinfo" >&6; } +if test $ac_cv_have_decl_getnameinfo = yes; then -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETNAMEINFO 1 +_ACEOF -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETNAMEINFO 0 +_ACEOF - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - # Check to see that the pipe works correctly. - pipe_works=no +fi - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi + { $as_echo "$as_me:$LINENO: checking for struct addrinfo" >&5 +$as_echo_n "checking for struct addrinfo... " >&6; } +if test "${ac_cv_type_struct_addrinfo+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_struct_addrinfo=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include #endif -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = +int +main () { - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; +if (sizeof (struct addrinfo)) + return 0; + ; + return 0; } +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include #endif -#ifdef __cplusplus + +int +main () +{ +if (sizeof ((struct addrinfo))) + return 0; + ; + return 0; } -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_struct_addrinfo=yes fi -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_struct_addrinfo" >&5 +$as_echo "$ac_cv_type_struct_addrinfo" >&6; } +if test $ac_cv_type_struct_addrinfo = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_ADDRINFO 1 +_ACEOF +fi @@ -11505,663 +18732,441 @@ -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +for ac_func in getdelim +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 11539 "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; +/* 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. */ -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; +#ifdef __STDC__ +# include +#else +# include +#endif -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - 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 +#undef $ac_func - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - lt_cv_cc_needs_belf=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext 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 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -need_locks="$enable_libtool_lock" +else + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi +fi done - done -IFS=$as_save_IFS -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + : -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + if test $ac_cv_func_getdelim = no; then -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then : +for ac_func in flockfile funlockfile +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi done - done -IFS=$as_save_IFS -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO fi -else - LIPO="$ac_cv_prog_LIPO" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + if test $ac_cv_have_decl_getdelim = no; then + HAVE_DECL_GETDELIM=0 fi -done - done -IFS=$as_save_IFS -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : + GNULIB_GETDELIM=1 + + + + + + + + : + + + + + + + gl_getline_needs_run_time_check=no + { $as_echo "$as_me:$LINENO: checking for getline" >&5 +$as_echo_n "checking for getline... " >&6; } +if test "${ac_cv_func_getline+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define getline to an innocuous variant, in case declares getline. + For example, HP-UX 11i declares gettimeofday. */ +#define getline innocuous_getline -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char getline (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef getline + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getline (); +/* 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_getline || defined __stub___getline +choke me +#endif + +int +main () +{ +return getline (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_getline=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_getline=no fi - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getline" >&5 +$as_echo "$ac_cv_func_getline" >&6; } +if test $ac_cv_func_getline = yes; then + gl_getline_needs_run_time_check=yes else - OTOOL="$ac_cv_prog_OTOOL" + am_cv_func_working_getline=no fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then : + if test $gl_getline_needs_run_time_check = yes; then + { $as_echo "$as_me:$LINENO: checking for working getline function" >&5 +$as_echo_n "checking for working getline function... " >&6; } +if test "${am_cv_func_working_getline+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + echo fooN |tr -d '\012'|tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) + Lucky GNU user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then + am_cv_func_working_getline=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + am_cv_func_working_getline=no fi +rm -f conftest* -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +# include +# include +# include + int main () + { /* Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len; + FILE *in = fopen ("./conftest.data", "r"); + if (!in) + return 1; + len = getline (&line, &siz, in); + exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); + } - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - OTOOL64=$ac_ct_OTOOL64 - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_func_working_getline=yes else - OTOOL64="$ac_cv_prog_OTOOL64" + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +am_cv_func_working_getline=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_func_working_getline" >&5 +$as_echo "$am_cv_func_working_getline" >&6; } + fi + if test $ac_cv_have_decl_getline = no; then + HAVE_DECL_GETLINE=0 + fi + if test $am_cv_func_working_getline = no; then + REPLACE_GETLINE=1 @@ -12170,6 +19175,7 @@ + gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" @@ -12187,752 +19193,1111 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : +for ac_func in getdelim +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -fi +else + + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" +fi done -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : + : + + + + + + + if test $ac_cv_func_getdelim = no; then + + + +for ac_func in flockfile funlockfile +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + fi +done - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + if test $ac_cv_have_decl_getdelim = no; then + HAVE_DECL_GETDELIM=0 + fi + + + fi + + + + GNULIB_GETLINE=1 + + + + : + + + + + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS getpass.$ac_objext" - test -n "$ac_ct_CXX" && break -done - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + + + + + + + + + : + + + + + + + + + + + + { $as_echo "$as_me:$LINENO: checking whether __fsetlocking is declared" >&5 +$as_echo_n "checking whether __fsetlocking is declared... " >&6; } +if test "${ac_cv_have_decl___fsetlocking+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include + #if HAVE_STDIO_EXT_H + #include + #endif int main () { -#ifndef __GNUC__ - choke me +#ifndef __fsetlocking + (void) __fsetlocking; #endif ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl___fsetlocking=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl___fsetlocking=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___fsetlocking" >&5 +$as_echo "$ac_cv_have_decl___fsetlocking" >&6; } +if test $ac_cv_have_decl___fsetlocking = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___FSETLOCKING 1 +_ACEOF + + else - GXX= + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___FSETLOCKING 0 +_ACEOF + + fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : + + + + : + + + + + + + : + + + + + + + : + + + + + + + : + + + + + + + : + + + + + + : + + +cat >>confdefs.h <<\_ACEOF +#define getpass gnu_getpass +_ACEOF + + + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + + + + + + ARPA_INET_H='arpa/inet.h' + + + + + + + + + + +for ac_func in inet_ntop +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -int -main () -{ + eval "$as_ac_var=no" +fi - ; - return 0; -} +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + +fi +done + + + + { $as_echo "$as_me:$LINENO: checking whether inet_ntop is declared" >&5 +$as_echo_n "checking whether inet_ntop is declared... " >&6; } +if test "${ac_cv_have_decl_inet_ntop+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include int main () { +#ifndef inet_ntop + (void) inet_ntop; +#endif ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_inet_ntop=yes else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_inet_ntop=no 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 -depcc="$CXX" am_compiler_list= +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_inet_ntop" >&5 +$as_echo "$ac_cv_have_decl_inet_ntop" >&6; } +if test $ac_cv_have_decl_inet_ntop = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_NTOP 1 +_ACEOF + -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&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 + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_NTOP 0 +_ACEOF - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + +fi + + + if test $ac_cv_have_decl_inet_ntop = no; then + HAVE_DECL_INET_NTOP=0 fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi + GNULIB_INET_NTOP=1 -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then : + + + + + ARPA_INET_H='arpa/inet.h' + + + + + + + + + + +for ac_func in inet_pton +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext +#undef $ac_func - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - # Passes both tests. -ac_preproc_ok=: -break + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" 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 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - done - ac_cv_prog_CXXCPP=$CXXCPP +else + + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi - CXXCPP=$ac_cv_prog_CXXCPP +done + + + + { $as_echo "$as_me:$LINENO: checking whether inet_pton is declared" >&5 +$as_echo_n "checking whether inet_pton is declared... " >&6; } +if test "${ac_cv_have_decl_inet_pton+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include +#include + +int +main () +{ +#ifndef inet_pton + (void) inet_pton; #endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_inet_pton=yes else - # Broken: fails on valid input. -continue + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_inet_pton=no fi -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_inet_pton" >&5 +$as_echo "$ac_cv_have_decl_inet_pton" >&6; } +if test $ac_cv_have_decl_inet_pton = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_PTON 1 +_ACEOF -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 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -_lt_caught_CXX_error=yes; } -fi + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_PTON 0 +_ACEOF -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 -else - _lt_caught_CXX_error=yes fi + if test $ac_cv_have_decl_inet_pton = no; then + HAVE_DECL_INET_PTON=0 + fi -# Set options - enable_dlopen=no + GNULIB_INET_PTON=1 - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac + { $as_echo "$as_me:$LINENO: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if test "${gl_cv_header_netinet_in_h_selfcontained+set}" = set; then + $as_echo_n "(cached) " >&6 else - enable_shared=yes + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_netinet_in_h_selfcontained=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_header_netinet_in_h_selfcontained=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 +$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } + if test $gl_cv_header_netinet_in_h_selfcontained = yes; then + NETINET_IN_H='' + else + NETINET_IN_H='netinet/in.h' +for ac_header in netinet/in.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - enable_static=yes + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi +done + : -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_netinet_in_h='<'netinet/in.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_netinet_in_h+set}" = set; then + $as_echo_n "(cached) " >&6 else - pic_mode=default + + if test $ac_cv_header_netinet_in_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF + gl_cv_next_netinet_in_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/netinet/in.h#{ + s#.*"\(.*/netinet/in.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_netinet_in_h='<'netinet/in.h'>' + fi + fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_netinet_in_h" >&5 +$as_echo "$gl_cv_next_netinet_in_h" >&6; } + fi + NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h -test -z "$pic_mode" && pic_mode=default + if test $ac_cv_header_netinet_in_h = yes; then + HAVE_NETINET_IN_H=1 + else + HAVE_NETINET_IN_H=0 + fi + + fi + { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS +fi + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi @@ -12940,89 +20305,708 @@ + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' +# Check whether --with-libreadline-prefix was given. +if test "${with_libreadline_prefix+set}" = set; then + withval=$with_libreadline_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +fi + LIBREADLINE= + LTLIBREADLINE= + INCREADLINE= + LIBREADLINE_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='readline ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBREADLINE; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBREADLINE; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" + else + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_a" + else + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + LIBREADLINE_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCREADLINE; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCREADLINE="${INCREADLINE}${INCREADLINE:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBREADLINE; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBREADLINE; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$dep" + LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }$dep" + ;; + esac + done + fi + else + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-l$name" + LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-R$found_dir" + done + fi + am_save_CPPFLAGS="$CPPFLAGS" + for element in $INCREADLINE; do + haveit= + for x in $CPPFLAGS; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + { $as_echo "$as_me:$LINENO: checking for readline" >&5 +$as_echo_n "checking for readline... " >&6; } +if test "${gl_cv_lib_readline+set}" = set; then + $as_echo_n "(cached) " >&6 +else + gl_cv_lib_readline=no + am_save_LIBS="$LIBS" + for extra_lib in "" ncurses termcap curses; do + LIBS="$am_save_LIBS $LIBREADLINE" + if test -n "$extra_lib"; then + LIBS="$LIBS -l$extra_lib" + fi + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +readline((char*)0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_lib_readline=" -l$extra_lib" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -test -z "$LN_S" && LN_S="ln -s" +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test "$gl_cv_lib_readline" != no; then + break + fi + done + LIBS="$am_save_LIBS" +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_lib_readline" >&5 +$as_echo "$gl_cv_lib_readline" >&6; } + if test "$gl_cv_lib_readline" != no; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_READLINE 1 +_ACEOF + if test "$gl_cv_lib_readline" != " -l"; then + LIBREADLINE="$LIBREADLINE$gl_cv_lib_readline" + LTLIBREADLINE="$LTLIBREADLINE$gl_cv_lib_readline" + fi + { $as_echo "$as_me:$LINENO: checking how to link with libreadline" >&5 +$as_echo_n "checking how to link with libreadline... " >&6; } + { $as_echo "$as_me:$LINENO: result: $LIBREADLINE" >&5 +$as_echo "$LIBREADLINE" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBREADLINE= + LTLIBREADLINE= + fi +for ac_header in readline/readline.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST + ac_header_preproc=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null + eval "$as_ac_Header=\$ac_header_preproc" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF +fi +done + if test $gl_cv_lib_readline = no; then @@ -13031,1345 +21015,1155 @@ + gl_LIBOBJS="$gl_LIBOBJS readline.$ac_objext" + : - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes + { $as_echo "$as_me:$LINENO: checking for socklen_t" >&5 +$as_echo_n "checking for socklen_t... " >&6; } +if test "${ac_cv_type_socklen_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_socklen_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #if HAVE_SYS_SOCKET_H + # include + #elif HAVE_WS2TCPIP_H + # include + #endif -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a +int +main () +{ +if (sizeof (socklen_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #if HAVE_SYS_SOCKET_H + # include + #elif HAVE_WS2TCPIP_H + # include + #endif -with_gnu_ld="$lt_cv_prog_gnu_ld" +int +main () +{ +if (sizeof ((socklen_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -old_CC="$CC" -old_CFLAGS="$CFLAGS" + ac_cv_type_socklen_t=yes +fi -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +fi -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 +$as_echo "$ac_cv_type_socklen_t" >&6; } +if test $ac_cv_type_socklen_t = yes; then + : +else + { $as_echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5 +$as_echo_n "checking for socklen_t equivalent... " >&6; } + if test "${gl_cv_socklen_t_equiv+set}" = set; then $as_echo_n "(cached) " >&6 else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org + # Systems have either "struct sockaddr *" or + # "void *" as the second argument to getpeername + gl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void; do + for t in int size_t "unsigned int" "long int" "unsigned long int"; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; + int getpeername (int, $arg2 *, $t *); +int +main () +{ +$t len; + getpeername (0, 0, &len); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_socklen_t_equiv="$t" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$gl_cv_socklen_t_equiv" != "" && break + done + test "$gl_cv_socklen_t_equiv" != "" && break + done +fi -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 + if test "$gl_cv_socklen_t_equiv" = ""; then + { { $as_echo "$as_me:$LINENO: error: Cannot find a type to use in place of socklen_t" >&5 +$as_echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;} + { (exit 1); exit 1; }; } + fi + { $as_echo "$as_me:$LINENO: result: $gl_cv_socklen_t_equiv" >&5 +$as_echo "$gl_cv_socklen_t_equiv" >&6; } -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org +cat >>confdefs.h <<_ACEOF +#define socklen_t $gl_cv_socklen_t_equiv +_ACEOF -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + + STDARG_H=''; + NEXT_STDARG_H=''; + { $as_echo "$as_me:$LINENO: checking for va_copy" >&5 +$as_echo_n "checking for va_copy... " >&6; } + if test "${gl_cv_func_va_copy+set}" = set; then + $as_echo_n "(cached) " >&6 else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ - else - MAGIC_CMD=: - fi -fi +#ifndef va_copy +void (*func) (va_list, va_list) = va_copy; +#endif - fi - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_func_va_copy=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -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 - - -# Source file extension for C test sources. -ac_ext=c + gl_cv_func_va_copy=no +fi -# Object file extension for compiled C test sources. -objext=o -objext=$objext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" + { $as_echo "$as_me:$LINENO: result: $gl_cv_func_va_copy" >&5 +$as_echo "$gl_cv_func_va_copy" >&6; } + if test $gl_cv_func_va_copy = no; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined _AIX && !defined __GNUC__ + AIX vaccine + #endif -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "vaccine" >/dev/null 2>&1; then + gl_aixcc=yes +else + gl_aixcc=no +fi +rm -f conftest* + if test $gl_aixcc = yes; then + STDARG_H=stdarg.h + : -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdarg_h='<'stdarg.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdarg_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* + if test $ac_cv_header_stdarg_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_stdarg_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/stdarg.h#{ + s#.*"\(.*/stdarg.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_stdarg_h='<'stdarg.h'>' + fi -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdarg_h" >&5 +$as_echo "$gl_cv_next_stdarg_h" >&6; } + fi + NEXT_STDARG_H=$gl_cv_next_stdarg_h -lt_prog_compiler_no_builtin_flag= -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : + if test "$gl_cv_next_stdarg_h" = '""'; then + gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' + NEXT_STDARG_H="$gl_cv_next_stdarg_h" + fi + else + if test "${gl_cv_func___va_copy+set}" = set; then $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13325: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:13329: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +#ifndef __va_copy +error, bail out +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_func___va_copy=yes else - : + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_func___va_copy=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + if test $gl_cv_func___va_copy = yes; then +cat >>confdefs.h <<\_ACEOF +#define va_copy __va_copy +_ACEOF + else - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= +cat >>confdefs.h <<\_ACEOF +#define va_copy gl_va_copy +_ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } + fi + fi + fi - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; +for ac_func in strdup +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; +/* 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. */ - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; +#ifdef __STDC__ +# include +#else +# include +#endif - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; +#undef $ac_func - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; + eval "$as_ac_var=no" +fi - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - rdos*) - lt_prog_compiler_static='-non_shared' - ;; +else - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + +fi +done + + + + : + + + + + + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 + fi + : + + + + GNULIB_STRDUP=1 + + + + if test $gl_cv_func_working_strerror = no; then - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - *) - lt_prog_compiler_can_build_shared=no - ;; - esac + + gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" + + +cat >>confdefs.h <<_ACEOF +#define REPLACE_STRERROR $REPLACE_STRERROR +_ACEOF + fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } + GNULIB_STRERROR=1 -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13664: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:13668: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi -fi + gltests_libdeps= + gltests_ltlibdeps= -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi + gl_source_base='gl/tests' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13769: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:13773: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_working_alloca_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_working_alloca_h=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA_H 1 +_ACEOF +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13824: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:13828: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_alloca_works=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_alloca_works=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } +if test $ac_cv_func_alloca_works = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi else - need_locks=no -fi + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +cat >>confdefs.h <<\_ACEOF +#define C_ALLOCA 1 +_ACEOF - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - link_all_deplibs=no - ;; - esac +{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if test "${ac_cv_os_cray+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 +/* 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. */ -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. +#ifdef __STDC__ +# include +#else +# include +#endif -_LT_EOF - fi - ;; +#undef $ac_func - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + eval "$as_ac_var=no" +fi - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_stack_direction=1 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +fi -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no + { $as_echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5 +$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } +if test "${gl_cv_var_stdin_large_offset+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#if defined __SL64 && defined __SCLE /* cygwin */ + /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making + fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and + it is easier to do a version check than building a runtime test. */ +# include +# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) + choke me +# endif +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_var_stdin_large_offset=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac + gl_cv_var_stdin_large_offset=no +fi - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_var_stdin_large_offset" >&5 +$as_echo "$gl_cv_var_stdin_large_offset" >&6; } - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' + GNULIB_CHOWN=0; + GNULIB_DUP2=0; + GNULIB_ENVIRON=0; + GNULIB_FCHDIR=0; + GNULIB_FTRUNCATE=0; + GNULIB_GETCWD=0; + GNULIB_GETLOGIN_R=0; + GNULIB_GETPAGESIZE=0; + GNULIB_LCHOWN=0; + GNULIB_LSEEK=0; + GNULIB_READLINK=0; + GNULIB_SLEEP=0; + HAVE_DUP2=1; + HAVE_FTRUNCATE=1; + HAVE_GETPAGESIZE=1; + HAVE_READLINK=1; + HAVE_SLEEP=1; + HAVE_DECL_ENVIRON=1; + HAVE_DECL_GETLOGIN_R=1; + HAVE_OS_H=0; + HAVE_SYS_PARAM_H=0; + REPLACE_CHOWN=0; + REPLACE_FCHDIR=0; + REPLACE_GETCWD=0; + REPLACE_GETPAGESIZE=0; + REPLACE_LCHOWN=0; + REPLACE_LSEEK=0; - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:$LINENO: checking whether memmem is declared" >&5 +$as_echo_n "checking whether memmem is declared... " >&6; } +if test "${ac_cv_have_decl_memmem+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +$ac_includes_default int main () { +#ifndef memmem + (void) memmem; +#endif ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_memmem=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + ac_cv_have_decl_memmem=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_memmem" >&5 +$as_echo "$ac_cv_have_decl_memmem" >&6; } +if test $ac_cv_have_decl_memmem = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMMEM 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMMEM 0 +_ACEOF + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + + + + + + { $as_echo "$as_me:$LINENO: checking whether defines MIN and MAX" >&5 +$as_echo_n "checking whether defines MIN and MAX... " >&6; } +if test "${gl_cv_minmax_in_limits_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int x = MIN (42, 17); int main () { @@ -14378,587 +22172,735 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_minmax_in_limits_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi + gl_cv_minmax_in_limits_h=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_minmax_in_limits_h" >&5 +$as_echo "$gl_cv_minmax_in_limits_h" >&6; } + if test $gl_cv_minmax_in_limits_h = yes; then - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; +cat >>confdefs.h <<\_ACEOF +#define HAVE_MINMAX_IN_LIMITS_H 1 +_ACEOF - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; + fi - darwin* | rhapsody*) - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - else - ld_shlibs=no - fi - ;; - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; + { $as_echo "$as_me:$LINENO: checking whether defines MIN and MAX" >&5 +$as_echo_n "checking whether defines MIN and MAX... " >&6; } +if test "${gl_cv_minmax_in_sys_param_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int x = MIN (42, 17); +int +main () +{ - freebsd1*) - ld_shlibs=no - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_minmax_in_sys_param_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; + gl_cv_minmax_in_sys_param_h=no +fi - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_minmax_in_sys_param_h" >&5 +$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; } + if test $gl_cv_minmax_in_sys_param_h = yes; then - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +cat >>confdefs.h <<\_ACEOF +#define HAVE_MINMAX_IN_SYS_PARAM_H 1 +_ACEOF - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes + fi - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; + { $as_echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5 +$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } +if test "${gl_cv_func_malloc_posix+set}" = set; then + $as_echo_n "(cached) " >&6 +else - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo(void) {} + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; +int +main () +{ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + choke me + #endif - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_func_malloc_posix=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; + gl_cv_func_malloc_posix=no +fi - *nto* | *qnx*) - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_malloc_posix" >&5 +$as_echo "$gl_cv_func_malloc_posix" >&6; } - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; + GNULIB_MALLOC_POSIX=0; + GNULIB_REALLOC_POSIX=0; + GNULIB_CALLOC_POSIX=0; + GNULIB_GETSUBOPT=0; + GNULIB_MKDTEMP=0; + GNULIB_MKSTEMP=0; + GNULIB_PUTENV=0; + GNULIB_RPMATCH=0; + GNULIB_SETENV=0; + GNULIB_STRTOD=0; + GNULIB_UNSETENV=0; + HAVE_CALLOC_POSIX=1; + HAVE_GETSUBOPT=1; + HAVE_MALLOC_POSIX=1; + HAVE_MKDTEMP=1; + HAVE_REALLOC_POSIX=1; + HAVE_RPMATCH=1; + HAVE_SETENV=1; + HAVE_STRTOD=1; + HAVE_UNSETENV=1; + REPLACE_MKSTEMP=0; + REPLACE_PUTENV=0; + REPLACE_STRTOD=0; + VOID_UNSETENV=0; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; + { $as_echo "$as_me:$LINENO: checking whether snprintf is declared" >&5 +$as_echo_n "checking whether snprintf is declared... " >&6; } +if test "${ac_cv_have_decl_snprintf+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef snprintf + (void) snprintf; +#endif - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_snprintf=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; + ac_cv_have_decl_snprintf=no +fi - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_snprintf" >&5 +$as_echo "$ac_cv_have_decl_snprintf" >&6; } +if test $ac_cv_have_decl_snprintf = yes; then - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SNPRINTF 1 +_ACEOF - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SNPRINTF 0 +_ACEOF - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' +fi - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - *) - ld_shlibs=no - ;; - esac +{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if test "${ac_cv_header_stdbool_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + bool e = &s; + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + #if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a run-time + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); + #endif + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + +int +main () +{ + + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdbool_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdbool_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + { $as_echo "$as_me:$LINENO: checking for _Bool" >&5 +$as_echo_n "checking for _Bool... " >&6; } +if test "${ac_cv_type__Bool+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type__Bool=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (_Bool)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((_Bool))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type__Bool=yes +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -with_gnu_ld=$with_gnu_ld +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 +$as_echo "$ac_cv_type__Bool" >&6; } +if test $ac_cv_type__Bool = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF +fi + if test $ac_cv_header_stdbool_h = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_STDBOOL_H 1 +_ACEOF + fi + { $as_echo "$as_me:$LINENO: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if test "${ac_cv_type_long_long_int+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Test preprocessor. */ + #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + error in preprocessor; + #endif + #if ! (18446744073709551615ULL <= -1ull) + error in preprocessor; + #endif + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; +int +main () +{ +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + if test "$cross_compiling" = yes; then + ac_cv_type_long_long_int=yes +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif +int +main () +{ +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_long_long_int=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_type_long_long_int=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes + ac_cv_type_long_long_int=no +fi - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 +$as_echo "$ac_cv_type_long_long_int" >&6; } + if test $ac_cv_type_long_long_int = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LONG_LONG_INT 1 +_ACEOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac fi - ;; -esac + { $as_echo "$as_me:$LINENO: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Test preprocessor. */ + #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + error in preprocessor; + #endif + #if ! (18446744073709551615ULL <= -1ull) + error in preprocessor; + #endif + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; +int +main () +{ +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); + ; + return 0; +} + +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_type_unsigned_long_long_int=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_unsigned_long_long_int=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +_ACEOF + fi @@ -14985,6 +22927,8 @@ + HAVE_STRCASECMP=1; + HAVE_DECL_STRNCASECMP=1; @@ -14998,6 +22942,7 @@ + : @@ -15005,9 +22950,41 @@ + if test $gl_cv_have_include_next = yes; then + gl_cv_next_string_h='<'string.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_string_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_string_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_string_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/string.h#{ + s#.*"\(.*/string.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_string_h='<'string.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_string_h" >&5 +$as_echo "$gl_cv_next_string_h" >&6; } + fi + NEXT_STRING_H=$gl_cv_next_string_h @@ -15023,6 +23000,7 @@ + : @@ -15030,14 +23008,47 @@ + if test $gl_cv_have_include_next = yes; then + gl_cv_next_strings_h='<'strings.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_strings_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_strings_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_strings_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/strings.h#{ + s#.*"\(.*/strings.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_strings_h='<'strings.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_strings_h" >&5 +$as_echo "$gl_cv_next_strings_h" >&6; } + fi + NEXT_STRINGS_H=$gl_cv_next_strings_h + REPLACE_MKDIR=0; @@ -15045,15 +23056,74 @@ +{ $as_echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5 +$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } +if test "${ac_cv_header_stat_broken+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if defined S_ISBLK && defined S_IFDIR +extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; +#endif +#if defined S_ISBLK && defined S_IFCHR +extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; +#endif +#if defined S_ISLNK && defined S_IFREG +extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; +#endif +#if defined S_ISSOCK && defined S_IFREG +extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stat_broken=no +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_stat_broken=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5 +$as_echo "$ac_cv_header_stat_broken" >&6; } +if test $ac_cv_header_stat_broken = yes; then +cat >>confdefs.h <<\_ACEOF +#define STAT_MACROS_BROKEN 1 +_ACEOF +fi @@ -15062,6 +23132,10 @@ + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_STRPTIME=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; @@ -15077,18 +23151,124 @@ + : + { $as_echo "$as_me:$LINENO: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_sys_struct_timespec_in_time_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_sys_struct_timespec_in_time_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:$LINENO: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_sys_struct_timespec_in_sys_time_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_sys_struct_timespec_in_sys_time_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + fi + fi @@ -15098,6 +23278,7 @@ + : @@ -15105,436 +23286,140 @@ + if test $gl_cv_have_include_next = yes; then + gl_cv_next_time_h='<'time.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_time_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_time_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_time_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/time.h#{ + s#.*"\(.*/time.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_time_h='<'time.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_time_h" >&5 +$as_echo "$gl_cv_next_time_h" >&6; } + fi + NEXT_TIME_H=$gl_cv_next_time_h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; -freebsd1*) - dynamic_linker=no - ;; + { $as_echo "$as_me:$LINENO: checking for wchar_t" >&5 +$as_echo_n "checking for wchar_t... " >&6; } +if test "${gt_cv_c_wchar_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + wchar_t foo = (wchar_t)'\0'; +int +main () +{ -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gt_cv_c_wchar_t=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; + gt_cv_c_wchar_t=no +fi -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 +$as_echo "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +cat >>confdefs.h <<\_ACEOF +#define HAVE_WCHAR_T 1 +_ACEOF -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; + fi -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:$LINENO: checking for wint_t" >&5 +$as_echo_n "checking for wint_t... " >&6; } +if test "${gt_cv_c_wint_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0'; int main () { @@ -15543,256 +23428,365 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gt_cv_c_wint_t=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_c_wint_t=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir +{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 +$as_echo "$gt_cv_c_wint_t" >&6; } + if test $gt_cv_c_wint_t = yes; then - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes +cat >>confdefs.h <<\_ACEOF +#define HAVE_WINT_T 1 +_ACEOF - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; +{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 +$as_echo_n "checking for size_t... " >&6; } +if test "${ac_cv_type_size_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_size_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((size_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; + ac_cv_type_size_t=yes +fi -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +$as_echo "$ac_cv_type_size_t" >&6; } +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + + { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5 +$as_echo_n "checking for inttypes.h... " >&6; } +if test "${gl_cv_header_inttypes_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_inttypes_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_header_inttypes_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5 +$as_echo "$gl_cv_header_inttypes_h" >&6; } + if test $gl_cv_header_inttypes_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +_ACEOF -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes fi - ;; -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; + { $as_echo "$as_me:$LINENO: checking for stdint.h" >&5 +$as_echo_n "checking for stdint.h... " >&6; } +if test "${gl_cv_header_stdint_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_stdint_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -rdos*) - dynamic_linker=no - ;; + gl_cv_header_stdint_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5 +$as_echo "$gl_cv_header_stdint_h" >&6; } + if test $gl_cv_header_stdint_h = yes; then -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H_WITH_UINTMAX 1 +_ACEOF -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no fi - need_version=yes - ;; -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; + { $as_echo "$as_me:$LINENO: checking for intmax_t" >&5 +$as_echo_n "checking for intmax_t... " >&6; } +if test "${gt_cv_c_intmax_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif -*) - dynamic_linker=no - ;; +int +main () +{ +intmax_t x = -1; return !x; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gt_cv_c_intmax_t=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + gt_cv_c_intmax_t=no fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_intmax_t" >&5 +$as_echo "$gt_cv_c_intmax_t" >&6; } + if test $gt_cv_c_intmax_t = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INTMAX_T 1 +_ACEOF + + else + + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long' \ + || ac_type='long' + +cat >>confdefs.h <<_ACEOF +#define intmax_t $ac_type +_ACEOF + + fi + GNULIB_WCWIDTH=0; + HAVE_DECL_WCWIDTH=1; + REPLACE_WCWIDTH=0; + WCHAR_H= + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=true @@ -15801,68 +23795,495 @@ + gl_source_base='lgl' + { $as_echo "$as_me:$LINENO: checking for EOVERFLOW" >&5 +$as_echo_n "checking for EOVERFLOW... " >&6; } +if test "${ac_cv_decl_EOVERFLOW+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef EOVERFLOW +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then + have_eoverflow=1 +fi +rm -f conftest* + if test -n "$have_eoverflow"; then + ac_cv_decl_EOVERFLOW=yes + else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef EOVERFLOW +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then + have_eoverflow=1 +fi +rm -f conftest* + if test -n "$have_eoverflow"; then + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) < 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_decl_EOVERFLOW=$ac_lo;; +'') ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +static long int longval () { return EOVERFLOW; } +static unsigned long int ulongval () { return EOVERFLOW; } +#include +#include +int +main () +{ + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if ((EOVERFLOW) < 0) + { + long int i = longval (); + if (i != (EOVERFLOW)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != (EOVERFLOW)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_decl_EOVERFLOW=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val + else + ac_cv_decl_EOVERFLOW=E2BIG + fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_decl_EOVERFLOW" >&5 +$as_echo "$ac_cv_decl_EOVERFLOW" >&6; } + if test "$ac_cv_decl_EOVERFLOW" != yes; then +cat >>confdefs.h <<_ACEOF +#define EOVERFLOW $ac_cv_decl_EOVERFLOW +_ACEOF + EOVERFLOW="$ac_cv_decl_EOVERFLOW" + fi + if test $ac_cv_func_alloca_works = no; then + : + fi + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:$LINENO: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if test "${gl_cv_rpl_alloca+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then + gl_cv_rpl_alloca=yes +else + gl_cv_rpl_alloca=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF + ALLOCA_H=alloca.h + else + ALLOCA_H= + fi + else + ALLOCA_H=alloca.h + fi +# Check whether --with-libgcrypt was given. +if test "${with_libgcrypt+set}" = set; then + withval=$with_libgcrypt; libgcrypt=$withval +else + libgcrypt=no +fi + if test "$libgcrypt" != no; then @@ -15873,536 +24294,604 @@ + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi +# Check whether --with-libgcrypt-prefix was given. +if test "${with_libgcrypt_prefix+set}" = set; then + withval=$with_libgcrypt_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= +fi - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; + LIBGCRYPT= + LTLIBGCRYPT= + INCGCRYPT= + LIBGCRYPT_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='gcrypt ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBGCRYPT; do - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBGCRYPT; do - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" + else + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_a" + else + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + LIBGCRYPT_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCGCRYPT; do - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -fi + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCGCRYPT="${INCGCRYPT}${INCGCRYPT:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBGCRYPT; do - ;; + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBGCRYPT; do -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$dep" + LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$dep" + ;; + esac + done + fi + else + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" + LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-R$found_dir" + done + fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then : + + ac_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCGCRYPT; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:$LINENO: checking for libgcrypt" >&5 +$as_echo_n "checking for libgcrypt... " >&6; } +if test "${ac_cv_libgcrypt+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIBGCRYPT" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { -return dld_link (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_libgcrypt=yes else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_libgcrypt=no fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_libgcrypt" >&5 +$as_echo "$ac_cv_libgcrypt" >&6; } + if test "$ac_cv_libgcrypt" = yes; then + HAVE_LIBGCRYPT=yes +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBGCRYPT 1 +_ACEOF -fi + { $as_echo "$as_me:$LINENO: checking how to link with libgcrypt" >&5 +$as_echo_n "checking how to link with libgcrypt... " >&6; } + { $as_echo "$as_me:$LINENO: result: $LIBGCRYPT" >&5 +$as_echo "$LIBGCRYPT" >&6; } + else + HAVE_LIBGCRYPT=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBGCRYPT= + LTLIBGCRYPT= + LIBGCRYPT_PREFIX= + fi -fi -fi - ;; - esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + fi + if test "$ac_cv_libgcrypt" = yes; then - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 16208 "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; + lgl_LIBOBJS="$lgl_LIBOBJS gc-libgcrypt.$ac_objext" - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no + + + + + + + + lgl_LIBOBJS="$lgl_LIBOBJS gc-gnulib.$ac_objext" + fi -fi -rm -fr conftest* + if test $gl_cond_libtool = false; then + gl_ltlibdeps="$gl_ltlibdeps $LTLIBGCRYPT" + gl_libdeps="$gl_libdeps $LIBGCRYPT" + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 16304 "configure" -#include "confdefs.h" + if test "$ac_cv_libgcrypt" != yes; then -#if HAVE_DLFCN_H -#include -#endif -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi + lgl_LIBOBJS="$lgl_LIBOBJS arcfour.$ac_objext" + + + fi + + - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_ARCFOUR 1 +_ACEOF - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi + if test "$ac_cv_libgcrypt" != yes; then @@ -16412,1490 +24901,481 @@ + lgl_LIBOBJS="$lgl_LIBOBJS arctwo.$ac_objext" + # Prerequisites of lib/arctwo.c. + fi -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_ARCTWO 1 +_ACEOF + + + + + if test "$ac_cv_libgcrypt" = yes; then + { $as_echo "$as_me:$LINENO: checking for camellia in libgcrypt" >&5 +$as_echo_n "checking for camellia in libgcrypt... " >&6; } +if test "${gl_cv_libgcrypt_camellia+set}" = set; then + $as_echo_n "(cached) " >&6 else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return gcry_cipher_open (NULL, GCRY_CIPHER_CAMELLIA128, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_libgcrypt_camellia=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_libgcrypt_camellia=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_libgcrypt_camellia" >&5 +$as_echo "$gl_cv_libgcrypt_camellia" >&6; } + if test "$gl_cv_libgcrypt_camellia" = yes; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_CAMELLIA 1 +_ACEOF + fi + fi +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_CAMELLIA 1 +_ACEOF + if test "$ac_cv_libgcrypt" != yes; then - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + lgl_LIBOBJS="$lgl_LIBOBJS des.$ac_objext" -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 -CC="$lt_save_CC" + fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_DES 1 +_ACEOF -# Source file extension for C++ test sources. -ac_ext=cpp -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + if test "$ac_cv_libgcrypt" != yes; then - # ltmain only uses $CC for tagged configurations so make sure $CC is set. -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC + lgl_LIBOBJS="$lgl_LIBOBJS md5.$ac_objext" - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* + : - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - if test "$GXX" = yes; then - # Set up default GNU C++ configuration -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld + + lgl_LIBOBJS="$lgl_LIBOBJS hmac-md5.$ac_objext" + + + + + + + + + + + + lgl_LIBOBJS="$lgl_LIBOBJS memxor.$ac_objext" + + fi +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_HMAC_MD5 1 +_ACEOF - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + if test "$ac_cv_libgcrypt" != yes; then - else - GXX=no - with_gnu_ld=no - wlarc= - fi - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - export_dynamic_flag_spec_CXX='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + lgl_LIBOBJS="$lgl_LIBOBJS sha1.$ac_objext" - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : + : -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi - else - ld_shlibs_CXX=no + + + lgl_LIBOBJS="$lgl_LIBOBJS hmac-sha1.$ac_objext" + + + + + + + + + + + + lgl_LIBOBJS="$lgl_LIBOBJS memxor.$ac_objext" + + + fi - ;; - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_HMAC_SHA1 1 +_ACEOF - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_MD2 1 +_ACEOF - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5]* | *pgcpp\ [1-5]*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + if test "$ac_cv_libgcrypt" != yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - ld_shlibs_CXX=no - fi - ;; + lgl_LIBOBJS="$lgl_LIBOBJS md4.$ac_objext" - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - hardcode_libdir_separator_CXX=: - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; + fi + + + +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_MD4 1 +_ACEOF + + + + + if test "$ac_cv_libgcrypt" != yes; then + - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - output_verbose_link_cmd='echo' - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' + lgl_LIBOBJS="$lgl_LIBOBJS md5.$ac_objext" - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac + : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no + fi - GCC_CXX="$GXX" - LD_CXX="$LD" - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_MD5 1 +_ACEOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - *) ;; # Ignore the rest. - esac - done - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi -$RM -f confest.$objext + lgl_LIBOBJS="$lgl_LIBOBJS gc-pbkdf2-sha1.$ac_objext" -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac + # Devices with randomness. + # FIXME: Are these the best defaults? - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes + case "$host_os" in + *openbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/prandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *netbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *solaris* | *irix* | *dec-osf* ) + NAME_OF_RANDOM_DEVICE="/dev/random" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/random" + NAME_OF_NONCE_DEVICE="/dev/random" ;; - esac - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; + *) + NAME_OF_RANDOM_DEVICE="/dev/random" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; esac - ;; -esac + { $as_echo "$as_me:$LINENO: checking device with (strong) random data..." >&5 +$as_echo_n "checking device with (strong) random data...... " >&6; } + # Check whether --enable-random-device was given. +if test "${enable_random_device+set}" = set; then + enableval=$enable_random_device; NAME_OF_RANDOM_DEVICE=$enableval +fi + + { $as_echo "$as_me:$LINENO: result: $NAME_OF_RANDOM_DEVICE" >&5 +$as_echo "$NAME_OF_RANDOM_DEVICE" >&6; } -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` + { $as_echo "$as_me:$LINENO: checking device with pseudo random data..." >&5 +$as_echo_n "checking device with pseudo random data...... " >&6; } + # Check whether --enable-pseudo-random-device was given. +if test "${enable_pseudo_random_device+set}" = set; then + enableval=$enable_pseudo_random_device; NAME_OF_PSEUDO_RANDOM_DEVICE=$enableval +fi + + { $as_echo "$as_me:$LINENO: result: $NAME_OF_PSEUDO_RANDOM_DEVICE" >&5 +$as_echo "$NAME_OF_PSEUDO_RANDOM_DEVICE" >&6; } + + { $as_echo "$as_me:$LINENO: checking device with unpredictable data for nonces..." >&5 +$as_echo_n "checking device with unpredictable data for nonces...... " >&6; } + # Check whether --enable-nonce-device was given. +if test "${enable_nonce_device+set}" = set; then + enableval=$enable_nonce_device; NAME_OF_NONCE_DEVICE=$enableval +fi + + { $as_echo "$as_me:$LINENO: result: $NAME_OF_NONCE_DEVICE" >&5 +$as_echo "$NAME_OF_NONCE_DEVICE" >&6; } + + if test "$cross_compiling" != yes; then + if test "$NAME_OF_RANDOM_DEVICE" != "no"; then + as_ac_File=`$as_echo "ac_cv_file_$NAME_OF_RANDOM_DEVICE" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $NAME_OF_RANDOM_DEVICE" >&5 +$as_echo_n "checking for $NAME_OF_RANDOM_DEVICE... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + test "$cross_compiling" = yes && + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NAME_OF_RANDOM_DEVICE"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` = yes; then + : +else + { $as_echo "$as_me:$LINENO: WARNING: Device \`$NAME_OF_RANDOM_DEVICE' does not exist, consider to use --enable-random-device" >&5 +$as_echo "$as_me: WARNING: Device \`$NAME_OF_RANDOM_DEVICE' does not exist, consider to use --enable-random-device" >&2;} fi + fi + if test "$NAME_OF_PSEUDO_RANDOM_DEVICE" != "no"; then + as_ac_File=`$as_echo "ac_cv_file_$NAME_OF_PSEUDO_RANDOM_DEVICE" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $NAME_OF_PSEUDO_RANDOM_DEVICE" >&5 +$as_echo_n "checking for $NAME_OF_PSEUDO_RANDOM_DEVICE... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + test "$cross_compiling" = yes && + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NAME_OF_PSEUDO_RANDOM_DEVICE"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` = yes; then + : +else + { $as_echo "$as_me:$LINENO: WARNING: Device \`$NAME_OF_PSEUDO_RANDOM_DEVICE' does not exist, consider to use --enable-pseudo-random-device" >&5 +$as_echo "$as_me: WARNING: Device \`$NAME_OF_PSEUDO_RANDOM_DEVICE' does not exist, consider to use --enable-pseudo-random-device" >&2;} +fi + fi + if test "$NAME_OF_NONCE_DEVICE" != "no"; then + as_ac_File=`$as_echo "ac_cv_file_$NAME_OF_NONCE_DEVICE" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $NAME_OF_NONCE_DEVICE" >&5 +$as_echo_n "checking for $NAME_OF_NONCE_DEVICE... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + test "$cross_compiling" = yes && + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NAME_OF_NONCE_DEVICE"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` = yes; then + : +else + { $as_echo "$as_me:$LINENO: WARNING: Device \`$NAME_OF_NONCE_DEVICE' does not exist, consider to use --enable-nonce-device" >&5 +$as_echo "$as_me: WARNING: Device \`$NAME_OF_NONCE_DEVICE' does not exist, consider to use --enable-nonce-device" >&2;} +fi + fi + else + { $as_echo "$as_me:$LINENO: Cross compiling, assuming random devices exists on the target host..." >&5 +$as_echo "$as_me: Cross compiling, assuming random devices exists on the target host..." >&6;} + fi + # FIXME?: Open+read 42 bytes+close twice and compare data. Should differ. +cat >>confdefs.h <<_ACEOF +#define NAME_OF_RANDOM_DEVICE "$NAME_OF_RANDOM_DEVICE" +_ACEOF +cat >>confdefs.h <<_ACEOF +#define NAME_OF_PSEUDO_RANDOM_DEVICE "$NAME_OF_PSEUDO_RANDOM_DEVICE" +_ACEOF +cat >>confdefs.h <<_ACEOF +#define NAME_OF_NONCE_DEVICE "$NAME_OF_NONCE_DEVICE" +_ACEOF +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_RANDOM 1 +_ACEOF + if test "$ac_cv_libgcrypt" != yes; then @@ -17905,667 +25385,79 @@ + lgl_LIBOBJS="$lgl_LIBOBJS rijndael-alg-fst.$ac_objext" - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac + lgl_LIBOBJS="$lgl_LIBOBJS rijndael-api-fst.$ac_objext" + + fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_prog_compiler_pic_CXX" >&6; } +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_RIJNDAEL 1 +_ACEOF -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18260: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:18264: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi -fi + if test "$ac_cv_libgcrypt" != yes; then -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lgl_LIBOBJS="$lgl_LIBOBJS sha1.$ac_objext" - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18359: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:18363: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + fi - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18411: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:18415: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } +cat >>confdefs.h <<\_ACEOF +#define GNULIB_GC_SHA1 1 +_ACEOF -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - linux* | k*bsd*-gnu) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no -with_gnu_ld_CXX=$with_gnu_ld + lgl_LIBOBJS="$lgl_LIBOBJS md2.$ac_objext" -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + FLOAT_H= + case "$host_os" in + beos* | openbsd*) + FLOAT_H=float.h - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 -$as_echo "$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac + + + : @@ -18573,12 +25465,46 @@ + if test $gl_cv_have_include_next = yes; then + gl_cv_next_float_h='<'float.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_float_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_float_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_float_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/float.h#{ + s#.*"\(.*/float.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_float_h='<'float.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_float_h" >&5 +$as_echo "$gl_cv_next_float_h" >&6; } + fi + NEXT_FLOAT_H=$gl_cv_next_float_h + ;; + esac @@ -18588,10 +25514,65 @@ + { $as_echo "$as_me:$LINENO: checking for fseeko" >&5 +$as_echo_n "checking for fseeko... " >&6; } +if test "${gl_cv_func_fseeko+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +fseeko (stdin, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + gl_cv_func_fseeko=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fseeko=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5 +$as_echo "$gl_cv_func_fseeko" >&6; } + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 @@ -18601,9 +25582,12 @@ + lgl_LIBOBJS="$lgl_LIBOBJS fseeko.$ac_objext" + REPLACE_FSEEKO=1 + elif test $gl_cv_var_stdin_large_offset = no; then @@ -18613,665 +25597,621 @@ + lgl_LIBOBJS="$lgl_LIBOBJS fseeko.$ac_objext" + REPLACE_FSEEKO=1 + fi + GNULIB_FSEEKO=1 + { $as_echo "$as_me:$LINENO: checking whether __func__ is available" >&5 +$as_echo_n "checking whether __func__ is available... " >&6; } +if test "${gl_cv_var_func+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ +const char *str = __func__; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_var_func=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_var_func=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_var_func" >&5 +$as_echo "$gl_cv_var_func" >&6; } + if test "$gl_cv_var_func" != yes; then +cat >>confdefs.h <<\_ACEOF +#define __func__ "" +_ACEOF + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH + { $as_echo "$as_me:$LINENO: checking whether lseek detects pipes" >&5 +$as_echo_n "checking whether lseek detects pipes... " >&6; } +if test "${gl_cv_func_lseek_pipe+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $cross_compiling = no; then + cat >conftest.$ac_ext <<_ACEOF + +#include /* for off_t */ +#include /* for SEEK_CUR */ +#include +int main () +{ + /* Exit with success only if stdin is seekable. */ + return lseek (0, (off_t)0, SEEK_CUR) < 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_func_lseek_pipe=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + else + cat >conftest.$ac_ext <<_ACEOF + +#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ +/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ + Choke me. +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_func_lseek_pipe=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_func_lseek_pipe=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_lseek_pipe" >&5 +$as_echo "$gl_cv_func_lseek_pipe" >&6; } + if test $gl_cv_func_lseek_pipe = no; then - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; + lgl_LIBOBJS="$lgl_LIBOBJS lseek.$ac_objext" -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; + REPLACE_LSEEK=1 -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +cat >>confdefs.h <<\_ACEOF +#define LSEEK_PIPE_BROKEN 1 +_ACEOF -freebsd1*) - dynamic_linker=no - ;; -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; + GNULIB_LSEEK=1 -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + + + + + + + +for ac_func in memchr +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; + eval "$as_ac_var=no" +fi -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; +else -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; +fi +done -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; -rdos*) - dynamic_linker=no - ;; + if test $ac_cv_func_memchr = no; then -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; +for ac_header in bp-sym.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; + ac_header_compiler=no +fi -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; + ac_header_preproc=no +fi -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } -*) - dynamic_linker=no - ;; +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done + fi + if test $cross_compiling != no; then + # AC_FUNC_MEMCMP as of 2.62 defaults to 'no' when cross compiling. + # We default to yes if memcmp appears to exist, which works + # better for MinGW. + { $as_echo "$as_me:$LINENO: checking whether cross-compiling target has memcmp" >&5 +$as_echo_n "checking whether cross-compiling target has memcmp... " >&6; } +if test "${ac_cv_func_memcmp_working+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int ret = memcmp ("foo", "bar", 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_memcmp_working=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_memcmp_working=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 +$as_echo "$ac_cv_func_memcmp_working" >&6; } + fi + { $as_echo "$as_me:$LINENO: checking for working memcmp" >&5 +$as_echo_n "checking for working memcmp... " >&6; } +if test "${ac_cv_func_memcmp_working+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_memcmp_working=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + /* Some versions of memcmp are not 8-bit clean. */ + char c0 = '\100', c1 = '\200', c2 = '\201'; + if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) + return 1; + /* The Next x86 OpenStep bug shows up only when comparing 16 bytes + or more and with at least one buffer not starting on a 4-byte boundary. + William Lewis provided this test program. */ + { + char foo[21]; + char bar[21]; + int i; + for (i = 0; i < 4; i++) + { + char *a = foo + i; + char *b = bar + i; + strcpy (a, "--------01111111"); + strcpy (b, "--------10000000"); + if (memcmp (a, b, 16) >= 0) + return 1; + } + return 0; + } + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_memcmp_working=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_func_memcmp_working=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 +$as_echo "$ac_cv_func_memcmp_working" >&6; } +test $ac_cv_func_memcmp_working = no && @@ -19279,10 +26219,17 @@ + lgl_LIBOBJS="$lgl_LIBOBJS memcmp.$ac_objext" + if test $ac_cv_func_memcmp_working = no; then +cat >>confdefs.h <<\_ACEOF +#define memcmp rpl_memcmp +_ACEOF + : + fi @@ -19292,88 +26239,130 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - +for ac_func in memmem +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - fi # test -n "$compiler" +/* 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. */ - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes +#ifdef __STDC__ +# include +#else +# include +#endif -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 +#undef $ac_func +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +else + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" +fi +done + : - ac_config_commands="$ac_config_commands libtool" + if test $ac_cv_have_decl_memmem = no; then + HAVE_DECL_MEMMEM=0 + fi + : -# Only expand once: + GNULIB_MEMMEM=1 @@ -19382,1421 +26371,1935 @@ - GNULIB_SOCKET=0; - GNULIB_CONNECT=0; - GNULIB_ACCEPT=0; - GNULIB_BIND=0; - GNULIB_GETPEERNAME=0; - GNULIB_GETSOCKNAME=0; - GNULIB_GETSOCKOPT=0; - GNULIB_LISTEN=0; - GNULIB_RECV=0; - GNULIB_SEND=0; - GNULIB_RECVFROM=0; - GNULIB_SENDTO=0; - GNULIB_SETSOCKOPT=0; - GNULIB_SHUTDOWN=0; - HAVE_STRUCT_SOCKADDR_STORAGE=1; - HAVE_SA_FAMILY_T=1; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 -$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } -if test "${gl_cv_have_include_next+set}" = set; then : +for ac_func in memmove +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - cat < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd2/conftest.h -#ifndef DEFINED_IN_CONFTESTD1 -#error "include_next test doesn't work" -#endif -#define DEFINED_IN_CONFTESTD2 -EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=yes -else - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=buggy -else - gl_cv_have_include_next=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 -$as_echo "$gl_cv_have_include_next" >&6; } - PRAGMA_SYSTEM_HEADER= - if test $gl_cv_have_include_next = yes; then - INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi - else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi - fi - - - - +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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 +#undef $ac_func - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include int main () { - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - gl_cv_header_sys_socket_h_selfcontained=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF +else + + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" + fi done - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_func_memmove = no; then + + : -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' fi - # We need to check for ws2tcpip.h now. + + + + + + + + + lgl_LIBOBJS="$lgl_LIBOBJS read-file.$ac_objext" + : + if test $gl_cv_func_malloc_posix = yes; then + HAVE_REALLOC_POSIX=1 +cat >>confdefs.h <<\_ACEOF +#define HAVE_REALLOC_POSIX 1 +_ACEOF + else - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_socket_h+set}" = set; then : + + + + + + + lgl_LIBOBJS="$lgl_LIBOBJS realloc.$ac_objext" + + HAVE_REALLOC_POSIX=0 + fi + + + + + GNULIB_REALLOC_POSIX=1 + + + +for ac_header in stdint.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else - - if test $ac_cv_header_sys_socket_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/socket.h#{ - s#.*"\(.*/sys/socket.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - + { $as_echo "$as_me:$LINENO: checking for SIZE_MAX" >&5 +$as_echo_n "checking for SIZE_MAX... " >&6; } + if test "${gl_cv_size_max+set}" = set; then + $as_echo_n "(cached) " >&6 +else + gl_cv_size_max= + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include +#include +#if HAVE_STDINT_H +#include #endif -#ifdef HAVE_WS2TCPIP_H -#include +#ifdef SIZE_MAX +Found it #endif -" -if test "x$ac_cv_type_struct_sockaddr_storage" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 _ACEOF - - +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then + gl_cv_size_max=yes fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif +rm -f conftest* -" -if test "x$ac_cv_type_sa_family_t" = x""yes; then : + if test -z "$gl_cv_size_max"; then + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; +test_array [0] = 0 -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) < 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - : + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; +test_array [0] = 0 - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done +case $ac_lo in +?*) size_t_bits_minus_1=$ac_lo;; +'') size_t_bits_minus_1= ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +static long int longval () { return sizeof (size_t) * CHAR_BIT - 1; } +static unsigned long int ulongval () { return sizeof (size_t) * CHAR_BIT - 1; } +#include +#include +int +main () +{ - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if ((sizeof (size_t) * CHAR_BIT - 1) < 0) + { + long int i = longval (); + if (i != (sizeof (size_t) * CHAR_BIT - 1)) + return 1; + fprintf (f, "%ld", i); + } else - HAVE_WINSOCK2_H=0 - fi - + { + unsigned long int i = ulongval (); + if (i != (sizeof (size_t) * CHAR_BIT - 1)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; - fi + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + size_t_bits_minus_1=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +size_t_bits_minus_1= +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= 0)]; +test_array [0] = 0 -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then - -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then : - $as_echo_n "(cached) " >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { -char *p = (char *) alloca (1); - if (p) return 0; +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) < 0)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - - - - - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - -$as_echo "#define C_ALLOCA 1" >>confdefs.h + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then : - $as_echo_n "(cached) " >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no + ac_lo= ac_hi= fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; +test_array [0] = 0 - break -fi + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - done + ac_lo=`expr '(' $ac_mid ')' + 1` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) fits_in_uint=$ac_lo;; +'') fits_in_uint= ;; +esac else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +#include +static long int longval () { return sizeof (size_t) <= sizeof (unsigned int); } +static unsigned long int ulongval () { return sizeof (size_t) <= sizeof (unsigned int); } +#include +#include int -find_stack_direction () +main () { - static char *addr = 0; - auto char dummy; - if (addr == 0) + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if ((sizeof (size_t) <= sizeof (unsigned int)) < 0) { - addr = &dummy; - return find_stack_direction (); + long int i = longval (); + if (i != (sizeof (size_t) <= sizeof (unsigned int))) + return 1; + fprintf (f, "%ld", i); } else - return (&dummy > addr) ? 1 : -1; -} + { + unsigned long int i = ulongval (); + if (i != (sizeof (size_t) <= sizeof (unsigned int))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -int -main () -{ - return find_stack_direction () < 0; + ; + return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + fits_in_uint=`cat conftest.val` else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +( exit $ac_status ) +fits_in_uint= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - - - GNULIB_INET_NTOP=0; - GNULIB_INET_PTON=0; - HAVE_DECL_INET_NTOP=1; - HAVE_DECL_INET_PTON=1; - ARPA_INET_H=''; - - - - - - - - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - GNULIB_DPRINTF=0; - GNULIB_VDPRINTF=0; - GNULIB_VASPRINTF=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_FOPEN=0; - GNULIB_FREOPEN=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FFLUSH=0; - GNULIB_FCLOSE=0; - GNULIB_FPUTC=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_FPUTS=0; - GNULIB_PUTS=0; - GNULIB_FWRITE=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_PERROR=0; - GNULIB_STDIO_H_SIGPIPE=0; - REPLACE_STDIO_WRITE_FUNCS=0; - REPLACE_FPRINTF=0; - REPLACE_VFPRINTF=0; - REPLACE_PRINTF=0; - REPLACE_VPRINTF=0; - REPLACE_SNPRINTF=0; - HAVE_DECL_SNPRINTF=1; - REPLACE_VSNPRINTF=0; - HAVE_DECL_VSNPRINTF=1; - REPLACE_SPRINTF=0; - REPLACE_VSPRINTF=0; - HAVE_DPRINTF=1; - REPLACE_DPRINTF=0; - HAVE_VDPRINTF=1; - REPLACE_VDPRINTF=0; - HAVE_VASPRINTF=1; - REPLACE_VASPRINTF=0; - HAVE_DECL_OBSTACK_PRINTF=1; - REPLACE_OBSTACK_PRINTF=0; - REPLACE_FOPEN=0; - REPLACE_FREOPEN=0; - HAVE_FSEEKO=1; - REPLACE_FSEEKO=0; - REPLACE_FSEEK=0; - HAVE_FTELLO=1; - REPLACE_FTELLO=0; - REPLACE_FTELL=0; - REPLACE_FFLUSH=0; - REPLACE_FCLOSE=0; - HAVE_DECL_GETDELIM=1; - HAVE_DECL_GETLINE=1; - REPLACE_GETLINE=0; - REPLACE_PERROR=0; - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 -$as_echo_n "checking for complete errno.h... " >&6; } -if test "${gl_cv_header_errno_h_complete+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f conftest.val + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include + extern size_t foo; + extern unsigned long foo; -#include -#if !defined ENOMSG -booboo -#endif -#if !defined EIDRM -booboo -#endif -#if !defined ENOLINK -booboo -#endif -#if !defined EPROTO -booboo -#endif -#if !defined EMULTIHOP -booboo -#endif -#if !defined EBADMSG -booboo -#endif -#if !defined EOVERFLOW -booboo -#endif -#if !defined ENOTSUP -booboo -#endif -#if !defined ECANCELED -booboo -#endif +int +main () +{ + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1; then : - gl_cv_header_errno_h_complete=no +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + fits_in_uint=0 else - gl_cv_header_errno_h_complete=yes -fi -rm -f conftest* + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 -$as_echo "$gl_cv_header_errno_h_complete" >&6; } - if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' - else - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi - : +fi + { $as_echo "$as_me:$LINENO: result: $gl_cv_size_max" >&5 +$as_echo "$gl_cv_size_max" >&6; } + if test "$gl_cv_size_max" != yes; then +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $gl_cv_size_max +_ACEOF + fi + gl_cv_func_snprintf_usable=no - if test $gl_cv_have_include_next = yes; then - gl_cv_next_errno_h='<'errno.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_errno_h+set}" = set; then : +for ac_func in snprintf +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - - if test $ac_cv_header_errno_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/errno.h#{ - s#.*"\(.*/errno.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_errno_h='<'errno.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 -$as_echo "$gl_cv_next_errno_h" >&6; } - fi - NEXT_ERRNO_H=$gl_cv_next_errno_h - - - - ERRNO_H='errno.h' - fi +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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. */ - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 -$as_echo_n "checking for EMULTIHOP value... " >&6; } -if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +#ifdef __STDC__ +# include +#else +# include +#endif - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +#undef $ac_func -#include -#ifdef EMULTIHOP -yes +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 #endif +int +main () +{ +return $ac_func (); + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - gl_cv_header_errno_h_EMULTIHOP=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EMULTIHOP = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EMULTIHOP -yes -#endif + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=hidden + eval "$as_ac_var=no" fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then - if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - - fi - fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 -$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } - case $gl_cv_header_errno_h_EMULTIHOP in - yes | no) - EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= - ;; - *) - EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" - ;; - esac - +done - fi + if test $ac_cv_func_snprintf = yes; then - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 -$as_echo_n "checking for ENOLINK value... " >&6; } -if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5 +$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } +if test "${gl_cv_func_snprintf_size1+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then + gl_cv_func_snprintf_size1="guessing yes" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#ifdef ENOLINK -yes -#endif - +#include +int main() +{ + static char buf[8] = "DEADBEEF"; + snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=yes +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gl_cv_func_snprintf_size1=yes else - gl_cv_header_errno_h_ENOLINK=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ENOLINK -yes -#endif + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=hidden +( exit $ac_status ) +gl_cv_func_snprintf_size1=no fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = hidden; then - if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : - +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - fi - fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 -$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } - case $gl_cv_header_errno_h_ENOLINK in - yes | no) - ENOLINK_HIDDEN=0; ENOLINK_VALUE= - ;; - *) - ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" +{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5 +$as_echo "$gl_cv_func_snprintf_size1" >&6; } + + case "$gl_cv_func_snprintf_size1" in + *yes) + gl_cv_func_snprintf_usable=yes ;; esac - - fi + if test $gl_cv_func_snprintf_usable = no; then - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 -$as_echo_n "checking for EOVERFLOW value... " >&6; } -if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=yes -else - gl_cv_header_errno_h_EOVERFLOW=no -fi -rm -f conftest* - if test $gl_cv_header_errno_h_EOVERFLOW = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=hidden -fi -rm -f conftest* - if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then - if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : -fi - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 -$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } - case $gl_cv_header_errno_h_EOVERFLOW in - yes | no) - EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= - ;; - *) - EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" - ;; - esac + lgl_LIBOBJS="$lgl_LIBOBJS snprintf.$ac_objext" + if test $ac_cv_func_snprintf = yes; then + REPLACE_SNPRINTF=1 + fi + : fi + : -ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" -if test "x$ac_cv_have_decl_strerror_r" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R $ac_have_decl -_ACEOF -for ac_func in strerror_r -do : - ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" -if test "x$ac_cv_func_strerror_r" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRERROR_R 1 -_ACEOF -fi -done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 -$as_echo_n "checking whether strerror_r returns char *... " >&6; } -if test "${ac_cv_func_strerror_r_char_p+set}" = set; then : + if test $ac_cv_have_decl_snprintf = no; then + HAVE_DECL_SNPRINTF=0 + fi + + + + GNULIB_SNPRINTF=1 + + { $as_echo "$as_me:$LINENO: checking for socklen_t" >&5 +$as_echo_n "checking for socklen_t... " >&6; } +if test "${ac_cv_type_socklen_t+set}" = set; then $as_echo_n "(cached) " >&6 else - - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_type_socklen_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +#include + #if HAVE_SYS_SOCKET_H + # include + #elif HAVE_WS2TCPIP_H + # include + #endif + int main () { - - char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - char *p = strerror_r (0, buf, sizeof buf); - return !p || x; - +if (sizeof (socklen_t)) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_func_strerror_r_char_p=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); +#include + #if HAVE_SYS_SOCKET_H + # include + #elif HAVE_WS2TCPIP_H + # include + #endif + int main () { -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - return ! isalpha (x); +if (sizeof ((socklen_t))) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_strerror_r_char_p=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 -$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } -if test $ac_cv_func_strerror_r_char_p = yes; then - -$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_socklen_t=yes fi - - XGETTEXT_EXTRA_OPTIONS= - - - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 -$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } -if test "${gl_cv_var_stdin_large_offset+set}" = set; then : +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 +$as_echo "$ac_cv_type_socklen_t" >&6; } +if test $ac_cv_type_socklen_t = yes; then + : +else + { $as_echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5 +$as_echo_n "checking for socklen_t equivalent... " >&6; } + if test "${gl_cv_socklen_t_equiv+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Systems have either "struct sockaddr *" or + # "void *" as the second argument to getpeername + gl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void; do + for t in int size_t "unsigned int" "long int" "unsigned long int"; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include + #include + + int getpeername (int, $arg2 *, $t *); int main () { -#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif +$t len; + getpeername (0, 0, &len); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_var_stdin_large_offset=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_socklen_t_equiv="$t" else - gl_cv_var_stdin_large_offset=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 -$as_echo "$gl_cv_var_stdin_large_offset" >&6; } - - - GNULIB_GETADDRINFO=0; - HAVE_STRUCT_ADDRINFO=1; - HAVE_DECL_FREEADDRINFO=1; - HAVE_DECL_GAI_STRERROR=1; - HAVE_DECL_GETADDRINFO=1; - HAVE_DECL_GETNAMEINFO=1; - - - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$gl_cv_socklen_t_equiv" != "" && break + done + test "$gl_cv_socklen_t_equiv" != "" && break + done +fi + if test "$gl_cv_socklen_t_equiv" = ""; then + { { $as_echo "$as_me:$LINENO: error: Cannot find a type to use in place of socklen_t" >&5 +$as_echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;} + { (exit 1); exit 1; }; } + fi + { $as_echo "$as_me:$LINENO: result: $gl_cv_socklen_t_equiv" >&5 +$as_echo "$gl_cv_socklen_t_equiv" >&6; } +cat >>confdefs.h <<_ACEOF +#define socklen_t $gl_cv_socklen_t_equiv +_ACEOF +fi - : + # Define two additional variables used in the Makefile substitution. + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netdb_h='<'netdb.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_netdb_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/netdb.h#{ - s#.*"\(.*/netdb.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_netdb_h='<'netdb.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 -$as_echo "$gl_cv_next_netdb_h" >&6; } - fi - NEXT_NETDB_H=$gl_cv_next_netdb_h + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #include - struct addrinfo a; - int b = EAI_OVERFLOW; - int c = AI_NUMERICSERV; + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - NETDB_H='' -else - NETDB_H='netdb.h' -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - HAVE_NETDB_H=1 + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 else - NETDB_H='netdb.h' - HAVE_NETDB_H=0 + HAVE_SYS_TYPES_H=0 fi - HOSTENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if test "${ac_cv_search_gethostbyname+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gethostbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_gethostbyname+set}" = set; then : - break -fi -done -if test "${ac_cv_search_gethostbyname+set}" = set; then : + : + + -else - ac_cv_search_gethostbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } -ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_gethostbyname" != "none required"; then - HOSTENT_LIB="$ac_cv_search_gethostbyname" - fi -fi - LIBS="$gl_saved_libs" - if test -z "$HOSTENT_LIB"; then - for ac_func in gethostbyname -do : - ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" -if test "x$ac_cv_func_gethostbyname" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETHOSTBYNAME 1 -_ACEOF -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_w32_gethostbyname+set}" = set; then : + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdint_h='<'stdint.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdint_h+set}" = set; then $as_echo_n "(cached) " >&6 else - gl_cv_w32_gethostbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include + if test $ac_cv_header_stdint_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include -int -main () -{ -gethostbyname(NULL); - ; - return 0; -} _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_gethostbyname=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" + gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/stdint.h#{ + s#.*"\(.*/stdint.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_stdint_h='<'stdint.h'>' + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 -$as_echo "$gl_cv_w32_gethostbyname" >&6; } - if test "$gl_cv_w32_gethostbyname" = "yes"; then - HOSTENT_LIB="-lws2_32" - fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 +$as_echo "$gl_cv_next_stdint_h" >&6; } + fi + NEXT_STDINT_H=$gl_cv_next_stdint_h -fi -done - fi + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi - SERVENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 -$as_echo_n "checking for library containing getservbyname... " >&6; } -if test "${ac_cv_search_getservbyname+set}" = set; then : + if test $ac_cv_header_stdint_h = yes; then + { $as_echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 +$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } +if test "${gl_cv_header_working_stdint_h+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_header_working_stdint_h=no + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ +#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " #endif -char getservbyname (); + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; + +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + int main () { -return getservbyname (); + ; return 0; } _ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getservbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_getservbyname+set}" = set; then : - break -fi -done -if test "${ac_cv_search_getservbyname+set}" = set; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_working_stdint_h=yes else - ac_cv_search_getservbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 -$as_echo "$ac_cv_search_getservbyname" >&6; } -ac_res=$ac_cv_search_getservbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getservbyname" != "none required"; then - SERVENT_LIB="$ac_cv_search_getservbyname" - fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi - LIBS="$gl_saved_libs" - if test -z "$SERVENT_LIB"; then - for ac_func in getservbyname -do : - ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" -if test "x$ac_cv_func_getservbyname" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETSERVBYNAME 1 -_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 +$as_echo "$gl_cv_header_working_stdint_h" >&6; } + fi + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_w32_getservbyname+set}" = set; then : +for ac_header in sys/inttypes.h sys/bitypes.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else - gl_cv_w32_getservbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include + ac_header_compiler=no +fi -int -main () -{ -getservbyname(NULL,NULL); - ; - return 0; -} +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getservbyname=yes +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 -$as_echo "$gl_cv_w32_getservbyname" >&6; } - if test "$gl_cv_w32_getservbyname" = "yes"; then - SERVENT_LIB="-lws2_32" - fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF fi + done - fi + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + else + HAVE_SYS_INTTYPES_H=0 + fi + + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + else + HAVE_SYS_BITYPES_H=0 + fi + + : @@ -20805,304 +28308,510 @@ - : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5 -$as_echo_n "checking for IPv4 sockets... " >&6; } - if test "${gl_cv_socket_ipv4+set}" = set; then : + for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do + { $as_echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include int main () { -int x = AF_INET; struct in_addr y; struct sockaddr_in z; - if (&x && &y && &z) return 0; +static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socket_ipv4=yes -else - gl_cv_socket_ipv4=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 -$as_echo "$gl_cv_socket_ipv4" >&6; } - if test $gl_cv_socket_ipv4 = yes; then - -$as_echo "#define HAVE_IPV4 1" >>confdefs.h +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - fi + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5 -$as_echo_n "checking for IPv6 sockets... " >&6; } - if test "${gl_cv_socket_ipv6+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif +#include int main () { -int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; - if (&x && &y && &z) return 0; +static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socket_ipv6=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - gl_cv_socket_ipv6=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 -$as_echo "$gl_cv_socket_ipv6" >&6; } - if test $gl_cv_socket_ipv6 = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -$as_echo "#define HAVE_IPV6 1" >>confdefs.h + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - fi +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; +test_array [0] = 0 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if test "${ac_cv_c_restrict+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include int main () { -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) +static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } - - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac - - - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - ARPA_INET_H='arpa/inet.h' + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi - gl_save_LIBS=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 -$as_echo_n "checking for library containing inet_ntop... " >&6; } -if test "${ac_cv_search_inet_ntop+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_ntop (); + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include int main () { -return inet_ntop (); +static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -for ac_lib in '' nsl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_ntop=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_inet_ntop+set}" = set; then : - break -fi -done -if test "${ac_cv_search_inet_ntop+set}" = set; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid else - ac_cv_search_inet_ntop=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 -$as_echo "$ac_cv_search_inet_ntop" >&6; } -ac_res=$ac_cv_search_inet_ntop -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) result=$ac_lo;; +'') result=unknown ;; +esac else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +#include +static long int longval () { return sizeof ($gltype) * CHAR_BIT; } +static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } +#include +#include +int +main () +{ + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if ((sizeof ($gltype) * CHAR_BIT) < 0) + { + long int i = longval (); + if (i != (sizeof ($gltype) * CHAR_BIT)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != (sizeof ($gltype) * CHAR_BIT)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; - - - - - for ac_func in inet_ntop -do : - ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INET_NTOP 1 + ; + return 0; +} _ACEOF - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + result=`cat conftest.val` else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - +( exit $ac_status ) +result=unknown fi -done - - +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +rm -f conftest.val + eval gl_cv_bitsizeof_${gltype}=\$result - LIBS=$gl_save_LIBS - INET_NTOP_LIB= - if test "$ac_cv_search_inet_ntop" != "no" && - test "$ac_cv_search_inet_ntop" != "none required"; then - INET_NTOP_LIB="$ac_cv_search_inet_ntop" - fi - - - - ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include -" -if test "x$ac_cv_have_decl_inet_ntop" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP $ac_have_decl +ac_res=`eval 'as_val=${'gl_cv_bitsizeof_${gltype}'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result _ACEOF - if test $ac_cv_have_decl_inet_ntop = no; then - HAVE_DECL_INET_NTOP=0 - fi - - + eval BITSIZEOF_${GLTYPE}=\$result + done - ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" -if test "x$ac_cv_have_decl_getdelim" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETDELIM $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default" -if test "x$ac_cv_have_decl_getline" = x""yes; then : - ac_have_decl=1 + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 +$as_echo_n "checking whether $gltype is signed... " >&6; } +if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETLINE $ac_have_decl + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; +int +main () +{ - ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default" -if test "x$ac_cv_have_decl_getpass" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETPASS $ac_have_decl + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + result=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + result=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval gl_cv_type_${gltype}_signed=\$result +fi +ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_signed'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGNED_${GLTYPE} 1 +_ACEOF + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no @@ -21110,27 +28819,106 @@ + for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do + { $as_echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + extern $gltype foo; + extern $gltype1 foo; +int +main () +{ - for ac_func in $gl_func_list -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval gl_cv_type_${gltype}_suffix=\$glsuf +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi -done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_suffix'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + done + STDINT_H=stdint.h + fi @@ -21138,325 +28926,230 @@ + : - ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fflush_unlocked" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default" -if test "x$ac_cv_have_decl_flockfile" = x""yes; then : - ac_have_decl=1 + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdio_h='<'stdio.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdio_h+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FLOCKFILE $ac_have_decl + if test $ac_cv_header_stdio_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_stdio_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/stdio.h#{ + s#.*"\(.*/stdio.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_stdio_h='<'stdio.h'>' + fi - - ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputs_unlocked" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdio_h" >&5 +$as_echo "$gl_cv_next_stdio_h" >&6; } + fi + NEXT_STDIO_H=$gl_cv_next_stdio_h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default" -if test "x$ac_cv_have_decl_funlockfile" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FUNLOCKFILE $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putc_unlocked" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl -_ACEOF + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if test "${gl_cv_minmax_in_limits_h+set}" = set; then : + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdlib_h+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + if test $ac_cv_header_stdlib_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int x = MIN (42, 17); -int -main () -{ +#include - ; - return 0; -} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_limits_h=yes -else - gl_cv_minmax_in_limits_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5 -$as_echo "$gl_cv_minmax_in_limits_h" >&6; } - if test $gl_cv_minmax_in_limits_h = yes; then + gl_cv_next_stdlib_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/stdlib.h#{ + s#.*"\(.*/stdlib.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_stdlib_h='<'stdlib.h'>' + fi -$as_echo "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdlib_h" >&5 +$as_echo "$gl_cv_next_stdlib_h" >&6; } + fi + NEXT_STDLIB_H=$gl_cv_next_stdlib_h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if test "${gl_cv_minmax_in_sys_param_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int x = MIN (42, 17); -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_sys_param_h=yes -else - gl_cv_minmax_in_sys_param_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5 -$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; } - if test $gl_cv_minmax_in_sys_param_h = yes; then -$as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h - fi - gl_cv_c_multiarch=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; +for ac_func in strcasecmp +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_c_multiarch = yes; then - -$as_echo "#define AA_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - - +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - GNULIB_MEMMEM=0; - GNULIB_MEMPCPY=0; - GNULIB_MEMRCHR=0; - GNULIB_RAWMEMCHR=0; - GNULIB_STPCPY=0; - GNULIB_STPNCPY=0; - GNULIB_STRCHRNUL=0; - GNULIB_STRDUP=0; - GNULIB_STRNDUP=0; - GNULIB_STRNLEN=0; - GNULIB_STRPBRK=0; - GNULIB_STRSEP=0; - GNULIB_STRSTR=0; - GNULIB_STRCASESTR=0; - GNULIB_STRTOK_R=0; - GNULIB_MBSLEN=0; - GNULIB_MBSNLEN=0; - GNULIB_MBSCHR=0; - GNULIB_MBSRCHR=0; - GNULIB_MBSSTR=0; - GNULIB_MBSCASECMP=0; - GNULIB_MBSNCASECMP=0; - GNULIB_MBSPCASECMP=0; - GNULIB_MBSCASESTR=0; - GNULIB_MBSCSPN=0; - GNULIB_MBSPBRK=0; - GNULIB_MBSSPN=0; - GNULIB_MBSSEP=0; - GNULIB_MBSTOK_R=0; - GNULIB_STRERROR=0; - GNULIB_STRSIGNAL=0; - GNULIB_STRVERSCMP=0; - HAVE_DECL_MEMMEM=1; - HAVE_MEMPCPY=1; - HAVE_DECL_MEMRCHR=1; - HAVE_RAWMEMCHR=1; - HAVE_STPCPY=1; - HAVE_STPNCPY=1; - HAVE_STRCHRNUL=1; - HAVE_DECL_STRDUP=1; - HAVE_STRNDUP=1; - HAVE_DECL_STRNDUP=1; - HAVE_DECL_STRNLEN=1; - HAVE_STRPBRK=1; - HAVE_STRSEP=1; - HAVE_STRCASESTR=1; - HAVE_DECL_STRTOK_R=1; - HAVE_DECL_STRERROR=1; - HAVE_DECL_STRSIGNAL=1; - HAVE_STRVERSCMP=1; - REPLACE_MEMMEM=0; - REPLACE_STRDUP=0; - REPLACE_STRSTR=0; - REPLACE_STRCASESTR=0; - REPLACE_STRERROR=0; - REPLACE_STRSIGNAL=0; +/* 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 -$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } -if test "${gl_cv_func_malloc_posix+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +#undef $ac_func - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_malloc_posix=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - gl_cv_func_malloc_posix=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 -$as_echo "$gl_cv_func_malloc_posix" >&6; } +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +else + + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" + +fi +done + + + if test $ac_cv_func_strcasecmp = no; then + HAVE_STRCASECMP=0 + + : + + fi - GNULIB_MALLOC_POSIX=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_CALLOC_POSIX=0; - GNULIB_ATOLL=0; - GNULIB_GETLOADAVG=0; - GNULIB_GETSUBOPT=0; - GNULIB_MKDTEMP=0; - GNULIB_MKSTEMP=0; - GNULIB_PUTENV=0; - GNULIB_RANDOM_R=0; - GNULIB_RPMATCH=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_UNSETENV=0; - HAVE_ATOLL=1; - HAVE_CALLOC_POSIX=1; - HAVE_GETSUBOPT=1; - HAVE_MALLOC_POSIX=1; - HAVE_MKDTEMP=1; - HAVE_REALLOC_POSIX=1; - HAVE_RANDOM_R=1; - HAVE_RPMATCH=1; - HAVE_SETENV=1; - HAVE_STRTOD=1; - HAVE_STRTOLL=1; - HAVE_STRTOULL=1; - HAVE_STRUCT_RANDOM_DATA=1; - HAVE_SYS_LOADAVG_H=0; - HAVE_UNSETENV=1; - HAVE_DECL_GETLOADAVG=1; - REPLACE_MKSTEMP=0; - REPLACE_PUTENV=0; - REPLACE_STRTOD=0; - VOID_UNSETENV=0; - GNULIB_SELECT=0; - REPLACE_SELECT=0; @@ -21466,140 +29159,200 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : +for ac_func in strncasecmp +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + int main () { -struct timeval b; +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - SYS_SELECT_H='' - else - SYS_SELECT_H='sys/select.h' +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +else + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - : - - - +fi +done + if test $ac_cv_func_strncasecmp = no; then + : - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_select_h+set}" = set; then : + fi + { $as_echo "$as_me:$LINENO: checking whether strncasecmp is declared" >&5 +$as_echo_n "checking whether strncasecmp is declared... " >&6; } +if test "${ac_cv_have_decl_strncasecmp+set}" = set; then $as_echo_n "(cached) " >&6 else - - if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_includes_default +int +main () +{ +#ifndef strncasecmp + (void) strncasecmp; +#endif + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/select.h#{ - s#.*"\(.*/sys/select.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_strncasecmp=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl_strncasecmp=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } - fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strncasecmp" >&5 +$as_echo "$ac_cv_have_decl_strncasecmp" >&6; } +if test $ac_cv_have_decl_strncasecmp = yes; then - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNCASECMP 1 +_ACEOF +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNCASECMP 0 +_ACEOF +fi - : + if test $ac_cv_have_decl_strncasecmp = no; then + HAVE_DECL_STRNCASECMP=0 + fi - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - fi - ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_snprintf" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF $ac_have_decl -_ACEOF @@ -21607,260 +29360,338 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : +for ac_func in strverscmp +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - #if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); - #endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif int main () { - - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF +else + + lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" fi +done - if test $ac_cv_header_stdbool_h = yes; then -$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h + if test $ac_cv_func_strverscmp = no; then - fi + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if test "${ac_cv_type_long_long_int+set}" = set; then : + fi + + + + + { $as_echo "$as_me:$LINENO: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); + ; return 0; } - _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test "$cross_compiling" = yes; then : - ac_cv_type_long_long_int=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_sys_socket_h_selfcontained=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_header_sys_socket_h_selfcontained=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + SYS_SOCKET_H='' + +for ac_func in shutdown +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif + int main () { -long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; +return $ac_func (); ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_type_long_long_int=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - ac_cv_type_long_long_int=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -else - ac_cv_type_long_long_int=no + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 -$as_echo "$ac_cv_type_long_long_int" >&6; } - if test $ac_cv_type_long_long_int = yes; then - -$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h - fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +fi +done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 -$as_echo_n "checking for unsigned long long int... " >&6; } -if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then : + if test $ac_cv_func_shutdown = yes; then + { $as_echo "$as_me:$LINENO: checking whether defines the SHUT_* macros" >&5 +$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } +if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include int main () { -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); +int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; ; return 0; } - _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_type_unsigned_long_long_int=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_sys_socket_h_shut=yes else - ac_cv_type_unsigned_long_long_int=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_header_sys_socket_h_shut=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 -$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } - if test $ac_cv_type_unsigned_long_long_int = yes; then -$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_shut" >&5 +$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi + fi + else + SYS_SOCKET_H='sys/socket.h' fi + if test -n "$SYS_SOCKET_H"; then + : @@ -21868,118 +29699,275 @@ + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_socket_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_sys_socket_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_sys_socket_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/sys/socket.h#{ + s#.*"\(.*/sys/socket.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sys_socket_h" >&5 +$as_echo "$gl_cv_next_sys_socket_h" >&6; } + fi + NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WINSOCK2_H=0 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 - - - - - - - if test -z "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 -$as_echo_n "checking for working strerror function... " >&6; } -if test "${gl_cv_func_working_strerror+set}" = set; then : +for ac_header in winsock2.h ws2tcpip.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - -int -main () -{ -return !*strerror (-2); - ; - return 0; -} +$ac_includes_default +#include <$ac_header> _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_working_strerror=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - gl_cv_func_working_strerror=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - -int -main () -{ -return !*strerror (-2); - ; - return 0; -} +#include <$ac_header> _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_strerror=yes +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - gl_cv_func_working_strerror=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 -$as_echo "$gl_cv_func_working_strerror" >&6; } - if test $gl_cv_func_working_strerror = no; then - REPLACE_STRERROR=1 - fi - else - REPLACE_STRERROR=1 - fi - if test $REPLACE_STRERROR = 1; then - ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default" -if test "x$ac_cv_have_decl_strerror" = x""yes; then : - ac_have_decl=1 +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR $ac_have_decl +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF +fi - : - +done + if test $ac_cv_header_winsock2_h = yes; then + HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF + fi -fi + { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done done +IFS=$as_save_IFS - fi +fi + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" fi +fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + + : + + + + + + if test $ac_cv_func_lstat = yes; then + HAVE_LSTAT=1 + else + HAVE_LSTAT=0 + fi @@ -21998,554 +29986,387 @@ if test $gl_cv_have_include_next = yes; then - gl_cv_next_string_h='<'string.h'>' + gl_cv_next_sys_stat_h='<'sys/stat.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_string_h+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_stat_h+set}" = set; then $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_string_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test $ac_cv_header_sys_stat_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/string.h#{ - s#.*"\(.*/string.h\)".*#\1# + gl_cv_next_sys_stat_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/sys/stat.h#{ + s#.*"\(.*/sys/stat.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else - gl_cv_next_string_h='<'string.h'>' + gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 -$as_echo "$gl_cv_next_string_h" >&6; } +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } fi - NEXT_STRING_H=$gl_cv_next_string_h - - - - - - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - HAVE_LCHMOD=1; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + SYS_STAT_H='sys/stat.h' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for nlink_t" >&5 +$as_echo_n "checking for nlink_t... " >&6; } +if test "${ac_cv_type_nlink_t+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_type_nlink_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif + #include -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif +int +main () +{ +if (sizeof (nlink_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include +int +main () +{ +if (sizeof ((nlink_t))) + return 0; + ; + return 0; +} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - - - - - - - - - - - - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_nlink_t=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_nlink_t" >&5 +$as_echo "$ac_cv_type_nlink_t" >&6; } +if test $ac_cv_type_nlink_t = yes; then : +else +cat >>confdefs.h <<\_ACEOF +#define nlink_t int +_ACEOF +fi - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_time_h='<'sys/time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_time_h+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS - if test $ac_cv_header_sys_time_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/time.h#{ - s#.*"\(.*/sys/time.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_time_h='<'sys/time.h'>' - fi +fi + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 -$as_echo "$gl_cv_next_sys_time_h" >&6; } - fi - NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + - if test $ac_cv_header_sys_time_h = yes; then - HAVE_SYS_TIME_H=1 - else - HAVE_SYS_TIME_H=0 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 -$as_echo_n "checking for struct timeval... " >&6; } -if test "${gl_cv_sys_struct_timeval+set}" = set; then : + + + + { $as_echo "$as_me:$LINENO: checking whether localtime_r is compatible with its POSIX signature" >&5 +$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } +if test "${gl_cv_time_r_posix+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - +#include int main () { -static struct timeval x; x.tv_sec = x.tv_usec; +/* We don't need to append 'restrict's to the argument types, + even though the POSIX signature has the 'restrict's, + since C99 says they can't affect type compatibility. */ + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0; + /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ + *localtime_r (0, 0); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timeval=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_time_r_posix=yes else - gl_cv_sys_struct_timeval=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gl_cv_time_r_posix=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 -$as_echo "$gl_cv_sys_struct_timeval" >&6; } - if test $gl_cv_sys_struct_timeval = yes; then - HAVE_STRUCT_TIMEVAL=1 +{ $as_echo "$as_me:$LINENO: result: $gl_cv_time_r_posix" >&5 +$as_echo "$gl_cv_time_r_posix" >&6; } + if test $gl_cv_time_r_posix = yes; then + REPLACE_LOCALTIME_R=0 else - HAVE_STRUCT_TIMEVAL=0 - fi + REPLACE_LOCALTIME_R=1 - REPLACE_GETTIMEOFDAY=0 - if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then - SYS_TIME_H=sys/time.h - else - SYS_TIME_H= - fi + lgl_LIBOBJS="$lgl_LIBOBJS time_r.$ac_objext" + : + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h + : + - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then : + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_unistd_h='<'unistd.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_unistd_h+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ + if test $ac_cv_header_unistd_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include - ; - return 0; -} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wint_t=yes -else - gt_cv_c_wint_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_next_unistd_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/unistd.h#{ + s#.*"\(.*/unistd.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_unistd_h='<'unistd.h'>' + fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5 +$as_echo "$gl_cv_next_unistd_h" >&6; } + fi + NEXT_UNISTD_H=$gl_cv_next_unistd_h -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - fi -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : -else -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF + : -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if test "${gl_cv_header_inttypes_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_inttypes_h=yes -else - gl_cv_header_inttypes_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 + else + HAVE_UNISTD_H=0 fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if test "${gl_cv_header_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_h=yes -else - gl_cv_header_stdint_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF - - fi + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 -$as_echo_n "checking for intmax_t... " >&6; } -if test "${gt_cv_c_intmax_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif -int -main () -{ -intmax_t x = -1; return !x; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_intmax_t=yes -else - gt_cv_c_intmax_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 -$as_echo "$gt_cv_c_intmax_t" >&6; } - if test $gt_cv_c_intmax_t = yes; then -$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h + if test $ac_cv_func_vasnprintf = no; then - else - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' + : -cat >>confdefs.h <<_ACEOF -#define intmax_t $ac_type -_ACEOF - fi - for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done - ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include -" -if test "x$ac_cv_have_decl__snprintf" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF $ac_have_decl -_ACEOF + lgl_LIBOBJS="$lgl_LIBOBJS vasnprintf.$ac_objext" - GNULIB_BTOWC=0; - GNULIB_WCTOB=0; - GNULIB_MBSINIT=0; - GNULIB_MBRTOWC=0; - GNULIB_MBRLEN=0; - GNULIB_MBSRTOWCS=0; - GNULIB_MBSNRTOWCS=0; - GNULIB_WCRTOMB=0; - GNULIB_WCSRTOMBS=0; - GNULIB_WCSNRTOMBS=0; - GNULIB_WCWIDTH=0; - HAVE_BTOWC=1; - HAVE_MBSINIT=1; - HAVE_MBRTOWC=1; - HAVE_MBRLEN=1; - HAVE_MBSRTOWCS=1; - HAVE_MBSNRTOWCS=1; - HAVE_WCRTOMB=1; - HAVE_WCSRTOMBS=1; - HAVE_WCSNRTOMBS=1; - HAVE_DECL_WCTOB=1; - HAVE_DECL_WCWIDTH=1; - REPLACE_MBSTATE_T=0; - REPLACE_BTOWC=0; - REPLACE_WCTOB=0; - REPLACE_MBSINIT=0; - REPLACE_MBRTOWC=0; - REPLACE_MBRLEN=0; - REPLACE_MBSRTOWCS=0; - REPLACE_MBSNRTOWCS=0; - REPLACE_WCRTOMB=0; - REPLACE_WCSRTOMBS=0; - REPLACE_WCSNRTOMBS=0; - REPLACE_WCWIDTH=0; - WCHAR_H=''; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 -$as_echo_n "checking whether ungetc works on arbitrary bytes... " >&6; } -if test "${gl_cv_func_ungetc_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_func_ungetc_works='guessing no' -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f; long l; - if (!(f = fopen ("conftest.tmp", "w+"))) return 1; - if (fputs ("abc", f) < 0) return 2; - rewind (f); - if (fgetc (f) != 'a') return 3; - if (fgetc (f) != 'b') return 4; - if (ungetc ('d', f) != 'd') return 5; - if (ftell (f) != 1) return 6; - if (fgetc (f) != 'd') return 7; - if (ftell (f) != 2) return 8; - if (fseek (f, 0, SEEK_CUR) != 0) return 9; - if (ftell (f) != 2) return 10; - if (fgetc (f) != 'c') return 11; - fclose (f); remove ("conftest.tmp"); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ungetc_works=yes -else - gl_cv_func_ungetc_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 -$as_echo "$gl_cv_func_ungetc_works" >&6; } - if test "$gl_cv_func_ungetc_works" != yes; then + lgl_LIBOBJS="$lgl_LIBOBJS printf-args.$ac_objext" -$as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h - fi @@ -22553,6 +30374,7 @@ + lgl_LIBOBJS="$lgl_LIBOBJS printf-parse.$ac_objext" @@ -22562,17 +30384,15 @@ + lgl_LIBOBJS="$lgl_LIBOBJS asnprintf.$ac_objext" - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi + if test $ac_cv_func_vasnprintf = yes; then - gl_cond_libtool=true +cat >>confdefs.h <<\_ACEOF +#define REPLACE_VASNPRINTF 1 +_ACEOF + fi @@ -22581,257 +30401,552 @@ - gl_source_base='gl' - if test "$ac_cv_header_winsock2_h" = yes; then + { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 +$as_echo_n "checking for ptrdiff_t... " >&6; } +if test "${ac_cv_type_ptrdiff_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_ptrdiff_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (ptrdiff_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((ptrdiff_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_ptrdiff_t=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 +$as_echo "$ac_cv_type_ptrdiff_t" >&6; } +if test $ac_cv_type_ptrdiff_t = yes; then + : +else +cat >>confdefs.h <<\_ACEOF +#define ptrdiff_t long +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS accept.$ac_objext" - fi +fi - GNULIB_ACCEPT=1 -LTALLOCA=`echo "$ALLOCA" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` - if test $ac_cv_func_alloca_works = no; then - : - fi - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if test "${gl_cv_rpl_alloca+set}" = set; then : +for ac_func in snprintf wcslen +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca +/* 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 + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 #endif +int +main () +{ +return $ac_func (); + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - gl_cv_rpl_alloca=yes +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else - gl_cv_rpl_alloca=no -fi -rm -f conftest* + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h +fi +done - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h - fi + { $as_echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 +$as_echo_n "checking whether _snprintf is declared... " >&6; } +if test "${ac_cv_have_decl__snprintf+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#ifndef _snprintf + (void) _snprintf; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl__snprintf=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_have_decl__snprintf=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 +$as_echo "$ac_cv_have_decl__snprintf" >&6; } +if test $ac_cv_have_decl__snprintf = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNPRINTF 1 +_ACEOF - : +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNPRINTF 0 +_ACEOF +fi - if test $ac_cv_header_arpa_inet_h = yes; then - HAVE_ARPA_INET_H=1 - else - ARPA_INET_H='arpa/inet.h' - HAVE_ARPA_INET_H=0 - fi + fi - : +for ac_func in vasprintf +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* 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 +#undef $ac_func +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +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 +#endif - if test $gl_cv_have_include_next = yes; then - gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_arpa_inet_h+set}" = set; then : - $as_echo_n "(cached) " >&6 +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test $ac_cv_header_arpa_inet_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + eval "$as_ac_var=no" +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_arpa_inet_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/arpa/inet.h#{ - s#.*"\(.*/arpa/inet.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 -$as_echo "$gl_cv_next_arpa_inet_h" >&6; } - fi - NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h - - - - - - - if test "$ac_cv_header_winsock2_h" = yes; then - - - - - +done + if test $ac_cv_func_vasprintf = no; then - gl_LIBOBJS="$gl_LIBOBJS bind.$ac_objext" - fi - GNULIB_BIND=1 + lgl_LIBOBJS="$lgl_LIBOBJS vasprintf.$ac_objext" - : - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi + lgl_LIBOBJS="$lgl_LIBOBJS asprintf.$ac_objext" -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + if test $ac_cv_func_vasprintf = yes; then + REPLACE_VASPRINTF=1 else - HAVE_WINSOCK2_H=0 + HAVE_VASPRINTF=0 fi - if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then - - - if test $REPLACE_CLOSE != 1; then + fi - gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext" - fi - REPLACE_CLOSE=1 + GNULIB_VASPRINTF=1 - if test $REPLACE_FCLOSE != 1; then + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" + { $as_echo "$as_me:$LINENO: checking whether is standalone" >&5 +$as_echo_n "checking whether is standalone... " >&6; } +if test "${gl_cv_header_wchar_h_standalone+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#include +wchar_t w; +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + gl_cv_header_wchar_h_standalone=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - gl_LIBOBJS="$gl_LIBOBJS fclose.$ac_objext" + gl_cv_header_wchar_h_standalone=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_wchar_h_standalone" >&5 +$as_echo "$gl_cv_header_wchar_h_standalone" >&6; } + if test $gl_cv_header_wchar_h_standalone != yes; then + WCHAR_H=wchar.h fi - REPLACE_FCLOSE=1 - - - fi + : - GNULIB_CLOSE=1 - if test "$ac_cv_header_winsock2_h" = yes; then + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + : - gl_LIBOBJS="$gl_LIBOBJS connect.$ac_objext" - fi - GNULIB_CONNECT=1 + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wchar_h='<'wchar.h'>' + else + { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_wchar_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_wchar_h = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF + gl_cv_next_wchar_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | + sed -n '\#/wchar.h#{ + s#.*"\(.*/wchar.h\)".*#\1# + s#^/[^/]#//&# + p + q + }'`'"' + else + gl_cv_next_wchar_h='<'wchar.h'>' + fi +fi +{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_wchar_h" >&5 +$as_echo "$gl_cv_next_wchar_h" >&6; } + fi + NEXT_WCHAR_H=$gl_cv_next_wchar_h @@ -22840,1482 +30955,4035 @@ +for ac_header in stdint.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 -$as_echo_n "checking for error_at_line... " >&6; } -if test "${ac_cv_lib_error_at_line+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int -main () -{ -error_at_line (0, 0, "", 0, "an error occurred"); - ; - return 0; -} +#include <$ac_header> _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_error_at_line=yes +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - ac_cv_lib_error_at_line=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 -$as_echo "$ac_cv_lib_error_at_line" >&6; } -if test $ac_cv_lib_error_at_line = no; then +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done - gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" -fi - : + gltests_libdeps= + gltests_ltlibdeps= - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" + gl_source_base='tests' - GNULIB_FCLOSE=1 - FLOAT_H= - case "$host_os" in - beos* | openbsd*) - FLOAT_H=float.h +{ $as_echo "$as_me:$LINENO: result: *** +*** Detecting options for shared libraries... +" >&5 +$as_echo "*** +*** Detecting options for shared libraries... +" >&6; } - : +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_float_h='<'float.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_float_h+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if test "${lt_cv_path_SED+set}" = set; then $as_echo_n "(cached) " >&6 else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done - if test $ac_cv_header_float_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +fi -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/float.h#{ - s#.*"\(.*/float.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_float_h='<'float.h'>' - fi +SED=$lt_cv_path_SED -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 -$as_echo "$gl_cv_next_float_h" >&6; } - fi - NEXT_FLOAT_H=$gl_cv_next_float_h +{ $as_echo "$as_me:$LINENO: result: $SED" >&5 +$as_echo "$SED" >&6; } +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 -$as_echo_n "checking for fseeko... " >&6; } -if test "${gl_cv_func_fseeko+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then $as_echo_n "(cached) " >&6 else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -fseeko (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_fseeko=yes +{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +$as_echo_n "checking for BSD-compatible nm... " >&6; } +if test "${lt_cv_path_NM+set}" = set; then + $as_echo_n "(cached) " >&6 else - gl_cv_func_fseeko=no + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 -$as_echo "$gl_cv_func_fseeko" >&6; } - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - - +{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" +{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; +beos*) + lt_cv_deplibs_check_method=pass_all + ;; +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; - gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; - REPLACE_FSEEKO=1 +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; - elif test $gl_cv_var_stdin_large_offset = no; then +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; - gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; - REPLACE_FSEEKO=1 +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; - fi +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown - GNULIB_FSEEKO=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&5 -$as_echo "$as_me: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&6;} - GETADDRINFO_LIB= - gai_saved_LIBS="$LIBS" +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getaddrinfo" >&5 -$as_echo_n "checking for library containing getaddrinfo... " >&6; } -if test "${ac_cv_search_getaddrinfo+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getaddrinfo (); -int -main () -{ -return getaddrinfo (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getaddrinfo=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_getaddrinfo+set}" = set; then : - break -fi -done -if test "${ac_cv_search_getaddrinfo+set}" = set; then : +# Allow CC to be a program name with arguments. +compiler=$CC -else - ac_cv_search_getaddrinfo=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getaddrinfo" >&5 -$as_echo "$ac_cv_search_getaddrinfo" >&6; } -ac_res=$ac_cv_search_getaddrinfo -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getaddrinfo" != "none required"; then - GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" - fi +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; fi - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 -$as_echo_n "checking for getaddrinfo... " >&6; } -if test "${gl_cv_func_getaddrinfo+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#include +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 31696 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; -int -main () -{ -getaddrinfo("", "", NULL, NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_getaddrinfo=yes -else - gl_cv_func_getaddrinfo=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getaddrinfo" >&5 -$as_echo "$gl_cv_func_getaddrinfo" >&6; } - if test $gl_cv_func_getaddrinfo = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in ws2tcpip.h and -lws2_32" >&5 -$as_echo_n "checking for getaddrinfo in ws2tcpip.h and -lws2_32... " >&6; } -if test "${gl_cv_w32_getaddrinfo+set}" = set; then : +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then $as_echo_n "(cached) " >&6 else + 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 - gl_cv_w32_getaddrinfo=no - am_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include - int main () { -getaddrinfo(NULL, NULL, NULL, NULL); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getaddrinfo=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + lt_cv_cc_needs_belf=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + lt_cv_cc_needs_belf=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getaddrinfo" >&5 -$as_echo "$gl_cv_w32_getaddrinfo" >&6; } - if test "$gl_cv_w32_getaddrinfo" = "yes"; then - GETADDRINFO_LIB="-lws2_32" - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" - else - - - +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext 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 - - - - gl_LIBOBJS="$gl_LIBOBJS getaddrinfo.$ac_objext" - - fi +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; - # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an - # inline function declared in ws2tcpip.h, so we need to get that - # header included somehow. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror (possibly via ws2tcpip.h)" >&5 -$as_echo_n "checking for gai_strerror (possibly via ws2tcpip.h)... " >&6; } -if test "${gl_cv_func_gai_strerror+set}" = set; then : +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include - -int -main () -{ -gai_strerror (NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_gai_strerror=yes + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else - gl_cv_func_gai_strerror=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gai_strerror" >&5 -$as_echo "$gl_cv_func_gai_strerror" >&6; } - if test $gl_cv_func_gai_strerror = no; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS gai_strerror.$ac_objext" - +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - - LIBS="$gai_saved_LIBS" - - - - - - - - - - ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include -" -if test "x$ac_cv_member_struct_sockaddr_sa_len" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 -_ACEOF - +done +done +IFS=$as_save_IFS fi - - - - : - - - - - - - ac_fn_c_check_decl "$LINENO" "getaddrinfo" "ac_cv_have_decl_getaddrinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_have_decl_getaddrinfo" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETADDRINFO $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "freeaddrinfo" "ac_cv_have_decl_freeaddrinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_have_decl_freeaddrinfo" = x""yes; then : - ac_have_decl=1 +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } else - ac_have_decl=0 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREEADDRINFO $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "gai_strerror" "ac_cv_have_decl_gai_strerror" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_have_decl_gai_strerror" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GAI_STRERROR $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "getnameinfo" "ac_cv_have_decl_getnameinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_have_decl_getnameinfo" = x""yes; then : - ac_have_decl=1 +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } else - ac_have_decl=0 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETNAMEINFO $ac_have_decl -_ACEOF - - if test $ac_cv_have_decl_getaddrinfo = no; then - HAVE_DECL_GETADDRINFO=0 - fi - if test $ac_cv_have_decl_freeaddrinfo = no; then - HAVE_DECL_FREEADDRINFO=0 - fi - if test $ac_cv_have_decl_gai_strerror = no; then - HAVE_DECL_GAI_STRERROR=0 - fi - if test $ac_cv_have_decl_getnameinfo = no; then - HAVE_DECL_GETNAMEINFO=0 + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi - ac_fn_c_check_type "$LINENO" "struct addrinfo" "ac_cv_type_struct_addrinfo" " -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_struct_addrinfo" = x""yes; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AS+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_ADDRINFO 1 -_ACEOF +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:$LINENO: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi fi - - if test $ac_cv_type_struct_addrinfo = no; then - HAVE_STRUCT_ADDRINFO=0 +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done +done +IFS=$as_save_IFS - case " $GETADDRINFO_LIB " in - *" $HOSTENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; - esac - - case " $GETADDRINFO_LIB " in - *" $SERVENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; - esac - - case " $GETADDRINFO_LIB " in - *" $INET_NTOP_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; - esac +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - GNULIB_GETADDRINFO=1 +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + ;; +esac +need_locks="$enable_libtool_lock" +for ac_header in dlfcn.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## --------------------------------- ## +## Report this to bug-gnutls@gnu.org ## +## --------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } - for ac_func in getdelim -do : - ac_fn_c_check_func "$LINENO" "getdelim" "ac_cv_func_getdelim" -if test "x$ac_cv_func_getdelim" = x""yes; then : +fi +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_GETDELIM 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - fi + done +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : +else + $as_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 nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_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 - if test $ac_cv_func_getdelim = no; then +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 - for ac_func in flockfile funlockfile -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + done + ac_cv_prog_CXXCPP=$CXXCPP fi -done - - ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then : - ac_have_decl=1 + CXXCPP=$ac_cv_prog_CXXCPP else - ac_have_decl=0 + ac_cv_prog_CXXCPP=$CXXCPP fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl +{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue +fi - fi - - if test $ac_cv_have_decl_getdelim = no; then - HAVE_DECL_GETDELIM=0 - fi - - +rm -f conftest.err conftest.$ac_ext - GNULIB_GETDELIM=1 + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_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 + { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +fi +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - : +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { $as_echo "$as_me:$LINENO: result: $F77" >&5 +$as_echo "$F77" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +$as_echo "$ac_ct_F77" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + test -n "$ac_ct_F77" && break +done - gl_getline_needs_run_time_check=no - ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" -if test "x$ac_cv_func_getline" = x""yes; then : - gl_getline_needs_run_time_check=yes -else - am_cv_func_working_getline=no + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi fi - if test $gl_getline_needs_run_time_check = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 -$as_echo_n "checking for working getline function... " >&6; } -if test "${am_cv_func_working_getline+set}" = set; then : + +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - echo fooN |tr -d '\012'|tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) - Lucky GNU user - #endif + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me #endif + end _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then : - am_cv_func_working_getline=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes else - am_cv_func_working_getline=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +$as_echo "$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +$as_echo_n "checking whether $F77 accepts -g... " >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# include -# include -# include - int main () - { /* Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len; - FILE *in = fopen ("./conftest.data", "r"); - if (!in) - return 1; - len = getline (&line, &siz, in); - exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); - } + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + end _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_working_getline=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes else - am_cv_func_working_getline=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 -$as_echo "$am_cv_func_working_getline" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +$as_echo "$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" fi - - if test $ac_cv_have_decl_getline = no; then - HAVE_DECL_GETLINE=0 +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= fi +fi - if test $am_cv_func_working_getline = no; then - REPLACE_GETLINE=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" - - - - - - - - - - - - - - - - - for ac_func in getdelim -do : - ac_fn_c_check_func "$LINENO" "getdelim" "ac_cv_func_getdelim" -if test "x$ac_cv_func_getdelim" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETDELIM 1 -_ACEOF - +if test $ac_compiler_gnu = yes; then + G77=yes else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - + G77= fi -done +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 - : +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +# find the maximum length of command line arguments +{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; - if test $ac_cv_func_getdelim = no; then + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; - for ac_func in flockfile funlockfile -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac fi -done - ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then : - ac_have_decl=1 +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } else - ac_have_decl=0 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl -_ACEOF - - - fi - - if test $ac_cv_have_decl_getdelim = no; then - HAVE_DECL_GETDELIM=0 - fi - - - fi - - GNULIB_GETLINE=1 +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + $as_echo_n "(cached) " >&6 +else - : +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + # Check to see that the pipe works correctly. + pipe_works=no + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - : + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +fi +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:$LINENO: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } +fi +{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if test "${lt_cv_objdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir - : +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +# Constants: +rm="rm -f" +# Global variables: +default_ofile=libtool +can_build_shared=yes +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - ac_fn_c_check_decl "$LINENO" "__fsetlocking" "ac_cv_have_decl___fsetlocking" "#include - #if HAVE_STDIO_EXT_H - #include - #endif -" -if test "x$ac_cv_have_decl___fsetlocking" = x""yes; then : - ac_have_decl=1 +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:$LINENO: result: $AR" >&5 +$as_echo "$AR" >&6; } else - ac_have_decl=0 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL___FSETLOCKING $ac_have_decl -_ACEOF - - - : - - - +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - : + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - : + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi +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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - : + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi +old_CC="$CC" +old_CFLAGS="$CFLAGS" +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi - : +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi - : +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:$LINENO: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 -$as_echo "#define getpass gnu_getpass" >>confdefs.h +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + else + MAGIC_CMD=: + fi +fi - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + fi + ;; +esac - HOSTENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if test "${ac_cv_search_gethostbyname+set}" = set; then : + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gethostbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_gethostbyname+set}" = set; then : - break -fi done -if test "${ac_cv_search_gethostbyname+set}" = set; then : +done +IFS=$as_save_IFS -else - ac_cv_search_gethostbyname=no fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } -ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_gethostbyname" != "none required"; then - HOSTENT_LIB="$ac_cv_search_gethostbyname" - fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - LIBS="$gl_saved_libs" - if test -z "$HOSTENT_LIB"; then - for ac_func in gethostbyname -do : - ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" -if test "x$ac_cv_func_gethostbyname" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETHOSTBYNAME 1 -_ACEOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_w32_gethostbyname+set}" = set; then : +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else - gl_cv_w32_gethostbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -int -main () -{ -gethostbyname(NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_gethostbyname=yes fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 -$as_echo "$gl_cv_w32_gethostbyname" >&6; } - if test "$gl_cv_w32_gethostbyname" = "yes"; then - HOSTENT_LIB="-lws2_32" - fi - +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -done + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_NMEDIT+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - - ARPA_INET_H='arpa/inet.h' + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi - gl_save_LIBS=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 -$as_echo_n "checking for library containing inet_ntop... " >&6; } -if test "${ac_cv_search_inet_ntop+set}" = set; then : + { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if test "${lt_cv_apple_cc_single_mod+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_ntop (); + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + echo "int foo(void){return 1;}" > conftest.c + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib ${wl}-single_module conftest.c + if test -f libconftest.dylib; then + lt_cv_apple_cc_single_mod=yes + rm -rf libconftest.dylib* + fi + rm conftest.c + fi +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { -return inet_ntop (); + ; return 0; } _ACEOF -for ac_lib in '' nsl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_ntop=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_inet_ntop+set}" = set; then : - break -fi -done -if test "${ac_cv_search_inet_ntop+set}" = set; then : - -else - ac_cv_search_inet_ntop=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 -$as_echo "$ac_cv_search_inet_ntop" >&6; } -ac_res=$ac_cv_search_inet_ntop -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + lt_cv_ld_exported_symbols_list=yes else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + lt_cv_ld_exported_symbols_list=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[0123]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}" + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil="~$DSYMUTIL \$lib || :" + else + _lt_dsymutil= + fi + ;; + esac +enable_dlopen=no +enable_win32_dll=yes +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - for ac_func in inet_ntop -do : - ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INET_NTOP 1 -_ACEOF +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - + pic_mode=default fi - LIBS=$gl_save_LIBS - INET_NTOP_LIB= - if test "$ac_cv_search_inet_ntop" != "no" && - test "$ac_cv_search_inet_ntop" != "none required"; then - INET_NTOP_LIB="$ac_cv_search_inet_ntop" - fi +test -z "$pic_mode" && pic_mode=default +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +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 - ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include -" -if test "x$ac_cv_have_decl_inet_ntop" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi +# Source file extension for C test sources. +ac_ext=c -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP $ac_have_decl -_ACEOF +# Object file extension for compiled C test sources. +objext=o +objext=$objext - if test $ac_cv_have_decl_inet_ntop = no; then - HAVE_DECL_INET_NTOP=0 - fi +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +# Allow CC to be a program name with arguments. +compiler=$CC - GNULIB_INET_NTOP=1 +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* +lt_prog_compiler_no_builtin_flag= - ARPA_INET_H='arpa/inet.h' +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' - gl_save_LIBS=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5 -$as_echo_n "checking for library containing inet_pton... " >&6; } -if test "${ac_cv_search_inet_pton+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:34123: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:34127: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_pton (); -int -main () -{ -return inet_pton (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_pton=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_inet_pton+set}" = set; then : - break fi -done -if test "${ac_cv_search_inet_pton+set}" = set; then : +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else - ac_cv_search_inet_pton=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + : fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 -$as_echo "$ac_cv_search_inet_pton" >&6; } -ac_res=$ac_cv_search_inet_pton -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - - - - - +fi +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= - for ac_func in inet_pton -do : - ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" -if test "x$ac_cv_func_inet_pton" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INET_PTON 1 -_ACEOF - -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -fi -done + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; -fi + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; - LIBS=$gl_save_LIBS - INET_PTON_LIB= - if test "$ac_cv_search_inet_pton" != "no" && - test "$ac_cv_search_inet_pton" != "none required"; then - INET_PTON_LIB="$ac_cv_search_inet_pton" - fi + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; - ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include -" -if test "x$ac_cv_have_decl_inet_pton" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_PTON $ac_have_decl -_ACEOF + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; - if test $ac_cv_have_decl_inet_pton = no; then - HAVE_DECL_INET_PTON=0 - fi + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; - GNULIB_INET_PTON=1 + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; - if test "$ac_cv_header_winsock2_h" = yes; then + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; - gl_LIBOBJS="$gl_LIBOBJS listen.$ac_objext" + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + *) + lt_prog_compiler_can_build_shared=no + ;; + esac fi +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +$as_echo "$lt_prog_compiler_pic" >&6; } - GNULIB_LISTEN=1 +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then +{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:34413: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:34417: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $rm conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 -$as_echo_n "checking whether lseek detects pipes... " >&6; } -if test "${gl_cv_func_lseek_pipe+set}" = set; then : +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works+set}" = set; then $as_echo_n "(cached) " >&6 else - if test $cross_compiling = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $rm -r conftest* + LDFLAGS="$save_LDFLAGS" -#include /* for off_t */ -#include /* for SEEK_CUR */ -#include -int main () -{ - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi -else - gl_cv_func_lseek_pipe=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_lseek_pipe=yes +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : else - gl_cv_func_lseek_pipe=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi + lt_prog_compiler_static= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 -$as_echo "$gl_cv_func_lseek_pipe" >&6; } - if test $gl_cv_func_lseek_pipe = no; then +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:34517: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:34521: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi +{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' - REPLACE_LSEEK=1 + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac -$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. - fi +EOF + fi + ;; + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; - GNULIB_LSEEK=1 + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. - : +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netdb_h='<'netdb.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_netdb_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/netdb.h#{ - s#.*"\(.*/netdb.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : else - gl_cv_next_netdb_h='<'netdb.h'>' + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 -$as_echo "$gl_cv_next_netdb_h" >&6; } - fi - NEXT_NETDB_H=$gl_cv_next_netdb_h - - - - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include - struct addrinfo a; - int b = EAI_OVERFLOW; - int c = AI_NUMERICSERV; - int main () { @@ -24324,30 +34992,68 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - NETDB_H='' -else - NETDB_H='netdb.h' -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - HAVE_NETDB_H=1 - else - NETDB_H='netdb.h' - HAVE_NETDB_H=0 - fi +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_netinet_in_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + int main () { @@ -24356,3751 +35062,9276 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_netinet_in_h_selfcontained=yes -else - gl_cv_header_netinet_in_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 -$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } - if test $gl_cv_header_netinet_in_h_selfcontained = yes; then - NETINET_IN_H='' - else - NETINET_IN_H='netinet/in.h' - for ac_header in netinet/in.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" -if test "x$ac_cv_header_netinet_in_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NETINET_IN_H 1 -_ACEOF +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -done +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + freebsd1*) + ld_shlibs=no + ;; - : + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netinet_in_h='<'netinet/in.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_netinet_in_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; - if test $ac_cv_header_netinet_in_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_netinet_in_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/netinet/in.h#{ - s#.*"\(.*/netinet/in.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_netinet_in_h='<'netinet/in.h'>' - fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 -$as_echo "$gl_cv_next_netinet_in_h" >&6; } - fi - NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; - if test $ac_cv_header_netinet_in_h = yes; then - HAVE_NETINET_IN_H=1 - else - HAVE_NETINET_IN_H=0 - fi + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; - fi + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; - if test -n "$ERRNO_H"; then - REPLACE_PERROR=1 + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; - gl_LIBOBJS="$gl_LIBOBJS perror.$ac_objext" + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + *) + ld_shlibs=no + ;; + esac fi +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes - GNULIB_PERROR=1 + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +$as_echo "$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac +{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" - # Extract the first word of "pmccabe", so it can be a program name with args. -set dummy pmccabe; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PMCCABE+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $PMCCABE in - [\\/]* | ?:[\\/]*) - ac_cv_path_PMCCABE="$PMCCABE" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi -done + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false" - ;; -esac -fi -PMCCABE=$ac_cv_path_PMCCABE -if test -n "$PMCCABE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5 -$as_echo "$PMCCABE" >&6; } + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - gl_LIBOBJS="$gl_LIBOBJS read-file.$ac_objext" + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; - : +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +freebsd1*) + dynamic_linker=no + ;; +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; - use_additional=yes +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; -# Check whether --with-libreadline-prefix was given. -if test "${with_libreadline_prefix+set}" = set; then : - withval=$with_libreadline_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +rdos*) + dynamic_linker=no + ;; - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; -fi +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; - LIBREADLINE= - LTLIBREADLINE= - INCREADLINE= - LIBREADLINE_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='readline ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBREADLINE; do +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBREADLINE; do +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" +fi - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_so" - else - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$found_a" - else - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'readline'; then - LIBREADLINE_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'readline'; then - LIBREADLINE_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCREADLINE; do +sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCREADLINE="${INCREADLINE}${INCREADLINE:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBREADLINE; do +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + ;; + *) + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBREADLINE; do + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$dep" - LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }$dep" - ;; - esac - done - fi - else - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }-l$name" - LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBREADLINE="${LIBREADLINE}${LIBREADLINE:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-R$found_dir" - done - fi + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dl_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes +fi + ;; + *) + { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 +$as_echo_n "checking for shl_load... " >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ - am_save_CPPFLAGS="$CPPFLAGS" +#ifdef __STDC__ +# include +#else +# include +#endif - for element in $INCREADLINE; do - haveit= - for x in $CPPFLAGS; do +#undef shl_load - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* 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_shl_load || defined __stub___shl_load +choke me +#endif - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_shl_load=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_shl_load=no +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline" >&5 -$as_echo_n "checking for readline... " >&6; } -if test "${gl_cv_lib_readline+set}" = set; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +$as_echo "$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then $as_echo_n "(cached) " >&6 else - - gl_cv_lib_readline=no - am_save_LIBS="$LIBS" - for extra_lib in "" ncurses termcap curses; do - LIBS="$am_save_LIBS $LIBREADLINE" - if test -n "$extra_lib"; then - LIBS="$LIBS -l$extra_lib" - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); int main () { -readline((char*)0); +return shl_load (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_readline=" -l$extra_lib" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$gl_cv_lib_readline" != no; then - break - fi - done - LIBS="$am_save_LIBS" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dld_shl_load=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_dld_shl_load=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_readline" >&5 -$as_echo "$gl_cv_lib_readline" >&6; } - if test "$gl_cv_lib_readline" != no; then +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 +$as_echo_n "checking for dlopen... " >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen -$as_echo "#define HAVE_READLINE 1" >>confdefs.h +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ - if test "$gl_cv_lib_readline" != " -l"; then - LIBREADLINE="$LIBREADLINE$gl_cv_lib_readline" - LTLIBREADLINE="$LTLIBREADLINE$gl_cv_lib_readline" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libreadline" >&5 -$as_echo_n "checking how to link with libreadline... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBREADLINE" >&5 -$as_echo "$LIBREADLINE" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBREADLINE= - LTLIBREADLINE= - fi +#ifdef __STDC__ +# include +#else +# include +#endif +#undef dlopen +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* 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_dlopen || defined __stub___dlopen +choke me +#endif - for ac_header in readline/readline.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "readline/readline.h" "ac_cv_header_readline_readline_h" "$ac_includes_default" -if test "x$ac_cv_header_readline_readline_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_READLINE_READLINE_H 1 +int +main () +{ +return dlopen (); + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_dlopen=no fi -done - - - if test $gl_cv_lib_readline = no; then - - - - +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +$as_echo "$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dl_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_dl_dlopen=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS readline.$ac_objext" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_svld_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_svld_dlopen=no +fi - : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - fi +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dld_dld_link=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_dld_dld_link=no +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi - if test $gl_cv_func_malloc_posix = yes; then - HAVE_REALLOC_POSIX=1 -$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h +fi - else +fi +fi +fi +fi - gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" + ;; + esac - HAVE_REALLOC_POSIX=0 + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no fi + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" - GNULIB_REALLOC_POSIX=1 - - - if test "$ac_cv_header_winsock2_h" = yes; then - + { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif +#include +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +#ifdef __cplusplus +extern "C" void exit (int); +#endif +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; - gl_LIBOBJS="$gl_LIBOBJS recv.$ac_objext" + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no fi +fi +rm -fr conftest* - GNULIB_RECV=1 - - - - if test "$ac_cv_header_winsock2_h" = yes; then - +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif +#include +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +#ifdef __cplusplus +extern "C" void exit (int); +#endif - gl_LIBOBJS="$gl_LIBOBJS select.$ac_objext" +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } else + puts (dlerror ()); - : - - - - + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 -$as_echo_n "checking whether select supports a 0 argument... " >&6; } -if test "${gl_cv_func_select_supports0+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi - case "$host_os" in - # Guess no on Interix. - interix*) gl_cv_func_select_supports0="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_select_supports0="guessing yes";; - esac + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac -#include -#include -#if HAVE_SYS_SELECT_H -#include -#endif -int main () -{ - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_select_supports0=yes -else - gl_cv_func_select_supports0=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 -$as_echo "$gl_cv_func_select_supports0" >&6; } - case "$gl_cv_func_select_supports0" in - *yes) ;; - *) - REPLACE_SELECT=1 +# Report which library types will actually be built +{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + +{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } +test "$can_build_shared" = "no" && enable_shared=no +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + compiler_lib_search_dirs \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { $as_echo "$as_me:$LINENO: creating $ofile" >&5 +$as_echo "$as_me: creating $ofile" >&6;} + cat <<__EOF__ >> "$cfgfile" +#! $SHELL - gl_LIBOBJS="$gl_LIBOBJS select.$ac_objext" +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 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 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. - ;; - esac - fi +# A sed program that does not truncate output. +SED=$lt_SED +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - GNULIB_SELECT=1 +# The names of the tagged configurations supported by this script. +available_tags= +# ### BEGIN LIBTOOL CONFIG - if test "$ac_cv_header_winsock2_h" = yes; then +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared +# Whether or not to build static libraries. +build_old_libs=$enable_static +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os - gl_LIBOBJS="$gl_LIBOBJS send.$ac_objext" +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os - fi +# An echo program that does not interpret backslashes. +echo=$lt_echo +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS - GNULIB_SEND=1 +# A C compiler. +LTCC=$lt_LTCC +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS - SERVENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 -$as_echo_n "checking for library containing getservbyname... " >&6; } -if test "${ac_cv_search_getservbyname+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# A language-specific compiler. +CC=$lt_compiler -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getservbyname (); -int -main () -{ -return getservbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getservbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_getservbyname+set}" = set; then : - break -fi -done -if test "${ac_cv_search_getservbyname+set}" = set; then : +# Is the compiler the GNU C compiler? +with_gcc=$GCC -else - ac_cv_search_getservbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 -$as_echo "$ac_cv_search_getservbyname" >&6; } -ac_res=$ac_cv_search_getservbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getservbyname" != "none required"; then - SERVENT_LIB="$ac_cv_search_getservbyname" - fi -fi +# An ERE matcher. +EGREP=$lt_EGREP - LIBS="$gl_saved_libs" - if test -z "$SERVENT_LIB"; then - for ac_func in getservbyname -do : - ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" -if test "x$ac_cv_func_getservbyname" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETSERVBYNAME 1 -_ACEOF +# The linker used to build libraries. +LD=$lt_LD -else +# Whether we need hard or soft links. +LN_S=$lt_LN_S - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_w32_getservbyname+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_w32_getservbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# A BSD-compatible nm program. +NM=$lt_NM -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include +# A symbol stripping program +STRIP=$lt_STRIP -int -main () -{ -getservbyname(NULL,NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getservbyname=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 -$as_echo "$gl_cv_w32_getservbyname" >&6; } - if test "$gl_cv_w32_getservbyname" = "yes"; then - SERVENT_LIB="-lws2_32" - fi +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" -fi -done +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" - fi +# Used on cygwin: assembler. +AS="$AS" +# The name of the directory that contains temporary libtool files. +objdir=$objdir +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds - if test "$ac_cv_header_winsock2_h" = yes; then +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl +# Object file suffix (normally "o"). +objext="$ac_objext" +# Old archive suffix (normally "a"). +libext="$libext" +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' +# Executable file suffix (normally ""). +exeext="$exeext" +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o - gl_LIBOBJS="$gl_LIBOBJS setsockopt.$ac_objext" +# Must we lock files when doing compilation? +need_locks=$lt_need_locks - fi +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix +# Do we need a version for libraries? +need_version=$need_version - GNULIB_SETSOCKOPT=1 +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self - if test "$ac_cv_header_winsock2_h" = yes; then +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec +# Library versioning type. +version_type=$version_type +# Format of library name prefix. +libname_spec=$lt_libname_spec - gl_LIBOBJS="$gl_LIBOBJS shutdown.$ac_objext" +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec - fi +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds - GNULIB_SHUTDOWN=1 +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds -fi +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds -done +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 -$as_echo_n "checking for SIZE_MAX... " >&6; } -if test "${gl_cv_size_max+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects - gl_cv_size_max= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Found it" >/dev/null 2>&1; then : - gl_cv_size_max=yes -fi -rm -f conftest* +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps - if test -z "$gl_cv_size_max"; then - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include -#include "; then : +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs -else - size_t_bits_minus_1= -fi +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method -else - fits_in_uint= -fi +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - extern size_t foo; - extern unsigned long foo; +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag -int -main () -{ +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - fits_in_uint=0 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 -$as_echo "$gl_cv_size_max" >&6; } - if test "$gl_cv_size_max" != yes; then +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval -cat >>confdefs.h <<_ACEOF -#define SIZE_MAX $gl_cv_size_max -_ACEOF +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - fi +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +# This is the shared library runtime path variable. +runpath_var=$runpath_var +# This is the shared library path variable. +shlibpath_var=$shlibpath_var - gl_cv_func_snprintf_usable=no - for ac_func in snprintf -do : - ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SNPRINTF 1 -_ACEOF +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath -fi -done +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action - if test $ac_cv_func_snprintf = yes; then +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if test "${gl_cv_func_snprintf_size1+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - if test "$cross_compiling" = yes; then : - gl_cv_func_snprintf_size1="guessing yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_size1=yes -else - gl_cv_func_snprintf_size1=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_snprintf_usable = no; then +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms - gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - : +# ### END LIBTOOL CONFIG - fi +__EOF__ - : + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" fi +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 - GNULIB_SNPRINTF=1 +CC="$lt_save_CC" - if test "$ac_cv_header_winsock2_h" = yes; then +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +$as_echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - gl_LIBOBJS="$gl_LIBOBJS socket.$ac_objext" - fi +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= +compiler_lib_search_dirs_CXX= +# Source file extension for C++ test sources. +ac_ext=cpp - GNULIB_SOCKET=1 +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +# Allow CC to be a program name with arguments. +compiler=$CC - : +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_func_wsastartup+set}" = set; then : +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:$LINENO: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef HAVE_WINSOCK2_H -# include -#endif -int -main () -{ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_wsastartup=yes -else - gl_cv_func_wsastartup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 -$as_echo "$gl_cv_func_wsastartup" >&6; } - if test "$gl_cv_func_wsastartup" = "yes"; then + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' -$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' - LIBSOCKET='-lws2_32' + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${gl_cv_lib_socket+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + with_gnu_ld=no + wlarc= - gl_cv_lib_socket= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi -else - gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lsocket" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnetwork" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnet" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - fi - LIBS="$gl_save_LIBS" + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' +else + GXX=no + with_gnu_ld=no + wlarc= fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 -$as_echo "$gl_cv_lib_socket" >&6; } - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi +# PORTME: fill in a description of your system's C++ link characteristics +{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac - : + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes - ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include - #if HAVE_SYS_SOCKET_H - # include - #elif HAVE_WS2TCPIP_H - # include - #endif -" -if test "x$ac_cv_type_socklen_t" = x""yes; then : + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 -$as_echo_n "checking for socklen_t equivalent... " >&6; } - if test "${gl_cv_socklen_t_equiv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - gl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t "unsigned int" "long int" "unsigned long int"; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - #include - int getpeername (int, $arg2 *, $t *); int main () { -$t len; - getpeername (0, 0, &len); + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socklen_t_equiv="$t" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test "$gl_cv_socklen_t_equiv" = ""; then - as_fn_error "Cannot find a type to use in place of socklen_t" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 -$as_echo "$gl_cv_socklen_t_equiv" >&6; } - -cat >>confdefs.h <<_ACEOF -#define socklen_t $gl_cv_socklen_t_equiv -_ACEOF fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - STDARG_H=''; - NEXT_STDARG_H=''; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 -$as_echo_n "checking for va_copy... " >&6; } - if test "${gl_cv_func_va_copy+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + int main () { -#ifndef va_copy -void (*func) (va_list, va_list) = va_copy; -#endif - ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_va_copy=yes -else - gl_cv_func_va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 -$as_echo "$gl_cv_func_va_copy" >&6; } - if test $gl_cv_func_va_copy = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined _AIX && !defined __GNUC__ - AIX vaccine - #endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "vaccine" >/dev/null 2>&1; then : - gl_aixcc=yes -else - gl_aixcc=no fi -rm -f conftest* - if test $gl_aixcc = yes; then - STDARG_H=stdarg.h +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; - : + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + if test "$GXX" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdarg_h='<'stdarg.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdarg_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: - if test $ac_cv_header_stdarg_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdarg.h#{ - s#.*"\(.*/stdarg.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdarg_h='<'stdarg.h'>' - fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 -$as_echo "$gl_cv_next_stdarg_h" >&6; } - fi - NEXT_STDARG_H=$gl_cv_next_stdarg_h + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: - if test "$gl_cv_next_stdarg_h" = '""'; then - gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' - NEXT_STDARG_H="$gl_cv_next_stdarg_h" - fi - else + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - if test "${gl_cv_func___va_copy+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes -#ifndef __va_copy -error, bail out -#endif + output_verbose_link_cmd='echo' - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func___va_copy=yes -else - gl_cv_func___va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - as_echo_n="$saved_as_echo_n" + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi - if test $gl_cv_func___va_copy = yes; then + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no -$as_echo "#define va_copy __va_copy" >>confdefs.h +GCC_CXX="$GXX" +LD_CXX="$LD" - else +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. -$as_echo "#define va_copy gl_va_copy" >>confdefs.h + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no - fi - fi - fi + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi - # Define two additional variables used in the Makefile substitution. + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi + *) ;; # Ignore the rest. + esac + done - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi +$rm -f confest.$objext +compiler_lib_search_dirs_CXX= +if test -n "$compiler_lib_search_path_CXX"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac else - HAVE_SYS_TYPES_H=0 - fi - - - - - - - : - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_stdint_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; esac - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdint.h#{ - s#.*"\(.*/stdint.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } - fi - NEXT_STDINT_H=$gl_cv_next_stdint_h - - - - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac fi +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_prog_compiler_pic_CXX" >&6; } - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; - -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if test "$cross_compiling" = yes; then : - gl_cv_header_working_stdint_h=yes +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then +{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; - -int -main () -{ - - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return 1; - } - return 0; + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:39439: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:39443: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_header_working_stdint_h=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } - fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - for ac_header in sys/inttypes.h sys/bitypes.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac -fi +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $rm -r conftest* + LDFLAGS="$save_LDFLAGS" -done +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:39543: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:39547: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* - : +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi +{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if test $APPLE_UNIVERSAL_BUILD = 0; then + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +$as_echo "$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac +{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +need_lib_prefix=unknown +hardcode_into_libs=no -#include "; then : +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown -else - result=unknown -fi +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH - eval gl_cv_bitsizeof_${gltype}=\$result + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - + shlibpath_var=LIBPATH fi + ;; +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include "; then : - -else - result=unknown -fi +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; - eval gl_cv_bitsizeof_${gltype}=\$result +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no - eval BITSIZEOF_${GLTYPE}=\$result - done + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; -int -main () -{ +freebsd1*) + dynamic_linker=no + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - result=yes -else - result=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; -fi -eval ac_res=\$gl_cv_type_${gltype}_signed - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 -_ACEOF +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; - eval HAVE_SIGNED_${GLTYPE}=1 +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else - eval HAVE_SIGNED_${GLTYPE}=0 + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi - done - - - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi - done + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF +rdos*) + dynamic_linker=no + ;; - done +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; - STDINT_H=stdint.h +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" +fi +sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" +fi +sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then - : + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + compiler_lib_search_dirs_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac +cfgfile="$ofile" + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdio_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - if test $ac_cv_header_stdio_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdio.h#{ - s#.*"\(.*/stdio.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdio_h='<'stdio.h'>' - fi +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 -$as_echo "$gl_cv_next_stdio_h" >&6; } - fi - NEXT_STDIO_H=$gl_cv_next_stdio_h +# Whether or not to build static libraries. +build_old_libs=$enable_static +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os +# An echo program that does not interpret backslashes. +echo=$lt_echo +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS +# A C compiler. +LTCC=$lt_LTCC +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS +# A language-specific compiler. +CC=$lt_compiler_CXX - : +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX +# An ERE matcher. +EGREP=$lt_EGREP +# The linker used to build libraries. +LD=$lt_LD_CXX +# Whether we need hard or soft links. +LN_S=$lt_LN_S +# A BSD-compatible nm program. +NM=$lt_NM +# A symbol stripping program +STRIP=$lt_STRIP +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdlib_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" - if test $ac_cv_header_stdlib_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdlib.h#{ - s#.*"\(.*/stdlib.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdlib_h='<'stdlib.h'>' - fi +# Used on cygwin: assembler. +AS="$AS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 -$as_echo "$gl_cv_next_stdlib_h" >&6; } - fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_h +# The name of the directory that contains temporary libtool files. +objdir=$objdir +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX - for ac_header in random.h -do : - ac_fn_c_check_header_compile "$LINENO" "random.h" "ac_cv_header_random_h" "$ac_includes_default -" -if test "x$ac_cv_header_random_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RANDOM_H 1 -_ACEOF +# Object file suffix (normally "o"). +objext="$ac_objext" -fi +# Old archive suffix (normally "a"). +libext="$libext" -done +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' - if test $ac_cv_header_random_h = yes; then - HAVE_RANDOM_H=1 - else - HAVE_RANDOM_H=0 - fi +# Executable file suffix (normally ""). +exeext="$exeext" - ac_fn_c_check_type "$LINENO" "struct random_data" "ac_cv_type_struct_random_data" "#include - #if HAVE_RANDOM_H - # include - #endif +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode -" -if test "x$ac_cv_type_struct_random_data" = x""yes; then : +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RANDOM_DATA 1 -_ACEOF +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX +# Must we lock files when doing compilation? +need_locks=$lt_need_locks -else - HAVE_STRUCT_RANDOM_DATA=0 -fi +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix +# Do we need a version for libraries? +need_version=$need_version +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self - if test $REPLACE_STRERROR = 1; then +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX +# Library versioning type. +version_type=$version_type +# Format of library name prefix. +libname_spec=$lt_libname_spec - gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec -cat >>confdefs.h <<_ACEOF -#define REPLACE_STRERROR $REPLACE_STRERROR -_ACEOF +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds - fi +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds - GNULIB_STRERROR=1 +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -struct timeval b; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - SYS_SELECT_H='' - else - SYS_SELECT_H='sys/select.h' +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds - : +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +# This is the shared library runtime path variable. +runpath_var=$runpath_var +# This is the shared library path variable. +shlibpath_var=$shlibpath_var +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_select_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX - if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/select.h#{ - s#.*"\(.*/sys/select.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } - fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX - : +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds -fi +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX -done +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" fi +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 +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + else + tagname="" + fi + ;; + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# Source file extension for f77 test sources. +ac_ext=f - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" -fi -done +# ltmain only uses $CC for tagged configurations so make sure $CC is set. - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' - fi - # We need to check for ws2tcpip.h now. +# Allow CC to be a program name with arguments. +compiler=$CC +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* - : +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } +test "$can_build_shared" = "no" && enable_shared=no +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } +GCC_F77="$G77" +LD_F77="$LD" - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_socket_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= - if test $ac_cv_header_sys_socket_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/socket.h#{ - s#.*"\(.*/sys/socket.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 -_ACEOF + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; -fi + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; -done + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; -" -if test "x$ac_cv_type_struct_sockaddr_storage" = x""yes; then : + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -_ACEOF + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; -" -if test "x$ac_cv_type_sa_family_t" = x""yes; then : + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 -_ACEOF + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; -fi + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; - : + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +$as_echo "$lt_prog_compiler_pic_F77" >&6; } +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF +{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:41141: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:41145: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - fi - - +if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_F77=yes + fi + else + lt_cv_prog_compiler_static_works_F77=yes + fi + fi + $rm -r conftest* + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } +if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi - : +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:41245: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:41249: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - if test $ac_cv_func_lstat = yes; then - HAVE_LSTAT=1 - else - HAVE_LSTAT=0 +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn fi +else + need_locks=no +fi +{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. +EOF + fi + ;; + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; - : - - + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_stat_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; - if test $ac_cv_header_sys_stat_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/stat.h#{ - s#.*"\(.*/sys/stat.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -$as_echo "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 - SYS_STAT_H='sys/stat.h' +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = x""yes; then : + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; -else + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac -$as_echo "#define nlink_t int" >>confdefs.h + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; -fi + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - : +fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; - if test $gl_cv_have_include_next = yes; then - gl_cv_next_unistd_h='<'unistd.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_unistd_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; - if test $ac_cv_header_unistd_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/unistd.h#{ - s#.*"\(.*/unistd.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_unistd_h='<'unistd.h'>' - fi + freebsd1*) + ld_shlibs_F77=no + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 -$as_echo "$gl_cv_next_unistd_h" >&6; } - fi - NEXT_UNISTD_H=$gl_cv_next_unistd_h + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; - : + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; - : + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; - if test $ac_cv_func_vasnprintf = no; then + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; - : + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +$as_echo "$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +$as_echo "$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac - gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" +{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; - gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +freebsd1*) + dynamic_linker=no + ;; +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; - gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; - gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; - if test $ac_cv_func_vasnprintf = yes; then +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; -$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes fi + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; +rdos*) + dynamic_linker=no + ;; +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; - ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 else - -$as_echo "#define ptrdiff_t long" >>confdefs.h - - + lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi +sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" +fi +sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +$as_echo "$hardcode_action_F77" >&6; } +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi - fi +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + compiler_lib_search_dirs_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac +cfgfile="$ofile" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is standalone" >&5 -$as_echo_n "checking whether is standalone... " >&6; } -if test "${gl_cv_header_wchar_h_standalone+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -wchar_t w; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_wchar_h_standalone=yes -else - gl_cv_header_wchar_h_standalone=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_standalone" >&5 -$as_echo "$gl_cv_header_wchar_h_standalone" >&6; } + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared - if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then - WCHAR_H=wchar.h - fi +# Whether or not to build static libraries. +build_old_libs=$enable_static +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 - : +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os +# An echo program that does not interpret backslashes. +echo=$lt_echo - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS +# A C compiler. +LTCC=$lt_LTCC +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS +# A language-specific compiler. +CC=$lt_compiler_F77 +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 - : +# An ERE matcher. +EGREP=$lt_EGREP +# The linker used to build libraries. +LD=$lt_LD_F77 +# Whether we need hard or soft links. +LN_S=$lt_LN_S +# A BSD-compatible nm program. +NM=$lt_NM +# A symbol stripping program +STRIP=$lt_STRIP +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" - if test $gl_cv_have_include_next = yes; then - gl_cv_next_wchar_h='<'wchar.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_wchar_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" - if test $ac_cv_header_wchar_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Used on cygwin: assembler. +AS="$AS" -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/wchar.h#{ - s#.*"\(.*/wchar.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_wchar_h='<'wchar.h'>' - fi +# The name of the directory that contains temporary libtool files. +objdir=$objdir -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 -$as_echo "$gl_cv_next_wchar_h" >&6; } - fi - NEXT_WCHAR_H=$gl_cv_next_wchar_h +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 +# Object file suffix (normally "o"). +objext="$ac_objext" +# Old archive suffix (normally "a"). +libext="$libext" +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' +# Executable file suffix (normally ""). +exeext="$exeext" +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len -fi +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 -done +# Must we lock files when doing compilation? +need_locks=$lt_need_locks +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix +# Do we need a version for libraries? +need_version=$need_version +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - gltests_libdeps= - gltests_ltlibdeps= +# Library versioning type. +version_type=$version_type +# Format of library name prefix. +libname_spec=$lt_libname_spec +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 - gl_source_base='gl/tests' +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd - : +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 -$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } -if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - struct timeval c; +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -int -main () -{ +# This is the shared library runtime path variable. +runpath_var=$runpath_var - int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); +# This is the shared library path variable. +shlibpath_var=$shlibpath_var - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gettimeofday_posix_signature=yes -else - gl_cv_func_gettimeofday_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 -$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 -$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } -if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_func_gettimeofday_clobber=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - #include +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 -int -main () -{ +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_gettimeofday_clobber=no -else - gl_cv_func_gettimeofday_clobber=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 -$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - if test $gl_cv_func_gettimeofday_clobber = yes; then - REPLACE_GETTIMEOFDAY=1 - SYS_TIME_H=sys/time.h +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 +# ### END LIBTOOL TAG CONFIG: $tagname +__EOF__ - gltests_LIBOBJS="$gltests_LIBOBJS gettimeofday.$ac_objext" +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi - for ac_header in sys/timeb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMEB_H 1 -_ACEOF +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 -fi +CC="$lt_save_CC" -done + else + tagname="" + fi + ;; - for ac_func in _ftime -do : - ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" -if test "x$ac_cv_func__ftime" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FTIME 1 -_ACEOF + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then -fi -done +# Source file extension for Java test sources. +ac_ext=java +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext -$as_echo "#define gmtime rpl_gmtime" >>confdefs.h +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' -$as_echo "#define localtime rpl_localtime" >>confdefs.h +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h +# Allow CC to be a program name with arguments. +compiler=$CC - fi +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* - if test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 - SYS_TIME_H=sys/time.h - if test $gl_cv_func_gettimeofday_clobber != yes; then +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no +old_archive_cmds_GCJ=$old_archive_cmds +lt_prog_compiler_no_builtin_flag_GCJ= - gltests_LIBOBJS="$gltests_LIBOBJS gettimeofday.$ac_objext" +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - for ac_header in sys/timeb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMEB_H 1 -_ACEOF +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:43473: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:43477: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -done - - for ac_func in _ftime -do : - ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" -if test "x$ac_cv_func__ftime" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FTIME 1 -_ACEOF +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi fi -done +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= - fi - fi +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' - if test "$ac_cv_header_winsock2_h" = yes; then + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; - gltests_LIBOBJS="$gltests_LIBOBJS ioctl.$ac_objext" + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; - SYS_IOCTL_H='sys/ioctl.h' + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). - fi + ;; + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; - GNULIB_IOCTL=1 + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; -$as_echo "#define GNULIB_IOCTL 1" >>confdefs.h + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; - : + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +$as_echo "$lt_prog_compiler_pic_GCJ" >&6; } +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ + lt_cv_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:43763: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:43767: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - - fi +if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then : +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GCJ=yes + fi + else + lt_cv_prog_compiler_static_works_GCJ=yes + fi + fi + $rm -r conftest* + LDFLAGS="$save_LDFLAGS" -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wint_t=yes +if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then + : else - gt_cv_c_wint_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + lt_prog_compiler_static_GCJ= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then - -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - - fi - - - - - - : - - - - if test $ac_cv_header_sys_ioctl_h = yes; then - HAVE_SYS_IOCTL_H=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether declares ioctl" >&5 -$as_echo_n "checking whether declares ioctl... " >&6; } -if test "${gl_cv_decl_ioctl_in_sys_ioctl_h+set}" = set; then : +{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -int -main () -{ -(void) ioctl; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_decl_ioctl_in_sys_ioctl_h=yes -else - gl_cv_decl_ioctl_in_sys_ioctl_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:43867: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:43871: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_ioctl_in_sys_ioctl_h" >&5 -$as_echo "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; } - if test $gl_cv_decl_ioctl_in_sys_ioctl_h != yes; then - SYS_IOCTL_H='sys/ioctl.h' - fi - else - HAVE_SYS_IOCTL_H=0 - SYS_IOCTL_H='sys/ioctl.h' - fi - - - - - - : - +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi +{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_ioctl_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' - if test $ac_cv_header_sys_ioctl_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_ioctl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/ioctl.h#{ - s#.*"\(.*/sys/ioctl.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' - fi + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5 -$as_echo "$gl_cv_next_sys_ioctl_h" >&6; } - fi - NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_h +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. +EOF + fi + ;; + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; -fi -done + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; - abs_aux_dir=`cd "$ac_aux_dir"; pwd` + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; - LIBTESTS_LIBDEPS="$gltests_libdeps" + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -# Check whether --enable-gcc-warnings was given. -if test "${enable_gcc_warnings+set}" = set; then : - enableval=$enable_gcc_warnings; case $enableval in - yes|no) ;; - *) as_fn_error "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; - esac - gl_gcc_warnings=$enableval -else - gl_gcc_warnings=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac -fi + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes -if test "$gl_gcc_warnings" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror" >&5 -$as_echo_n "checking whether compiler handles -Werror... " >&6; } -if test "${gl_cv_warn__Werror+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Werror" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -28111,137 +44342,66 @@ return 0; } _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Werror=yes -else - gl_cv_warn__Werror=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Werror" >&5 -$as_echo "$gl_cv_warn__Werror" >&6; } -if test "x$gl_cv_warn__Werror" = x""yes; then : - as_fn_append WERROR_CFLAGS " -Werror" -fi - - - nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings - nw="$nw -Wc++-compat" # We don't care about C++ compilers - nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib - nw="$nw -Wtraditional" # Warns on #elif which we use often - nw="$nw -Wlogical-op" # Too many false positives - nw="$nw -Wold-style-definition" # - nw="$nw -Wpadded" # Our structs are not padded - nw="$nw -Wunreachable-code" # Too many false positives - nw="$nw -Wtraditional-conversion" # Too many warnings for now - nw="$nw -Wcast-qual" # Too many warnings for now - nw="$nw -Waggregate-return" # Too many warnings for now - nw="$nw -Wshadow" # Too many warnings for now - nw="$nw -Wswitch-default" # Too many warnings for now - nw="$nw -Wswitch-enum" # Too many warnings for now - nw="$nw -Wconversion" # Too many warnings for now - nw="$nw -Wsign-conversion" # Too many warnings for now - nw="$nw -Wformat-y2k" # Too many warnings for now - nw="$nw -Wformat-nonliteral" # Incompatible with gettext _() - nw="$nw -Wunsafe-loop-optimizations" - nw="$nw -Wstrict-overflow" - - - gl_manywarn_set= - for gl_manywarn_item in \ - -Wall \ - -W \ - -Wformat-y2k \ - -Wformat-nonliteral \ - -Wformat-security \ - -Winit-self \ - -Wmissing-include-dirs \ - -Wswitch-default \ - -Wswitch-enum \ - -Wunused \ - -Wunknown-pragmas \ - -Wstrict-aliasing \ - -Wstrict-overflow \ - -Wsystem-headers \ - -Wfloat-equal \ - -Wtraditional \ - -Wtraditional-conversion \ - -Wdeclaration-after-statement \ - -Wundef \ - -Wshadow \ - -Wunsafe-loop-optimizations \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wc++-compat \ - -Wcast-qual \ - -Wcast-align \ - -Wwrite-strings \ - -Wconversion \ - -Wsign-conversion \ - -Wlogical-op \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wmissing-format-attribute \ - -Wpacked \ - -Wpadded \ - -Wredundant-decls \ - -Wnested-externs \ - -Wunreachable-code \ - -Winline \ - -Winvalid-pch \ - -Wlong-long \ - -Wvla \ - -Wvolatile-register-var \ - -Wdisabled-optimization \ - -Wstack-protector \ - -Woverlength-strings \ - ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" - done - # The following are not documented in the manual but are included in - # output from gcc --help=warnings. - for gl_manywarn_item in \ - -Wattributes \ - -Wcoverage-mismatch \ - -Wmultichar \ - -Wunused-macros \ - ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" - done - ws=$gl_manywarn_set +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - gl_warn_set= - set x $ws; shift - for gl_warn_item - do - case " $nw " in - *" $gl_warn_item "*) - ;; - *) - gl_warn_set="$gl_warn_set $gl_warn_item" - ;; - esac - done - ws=$gl_warn_set +fi - for w in $ws; do - as_gl_Warn=`$as_echo "gl_cv_warn_$w" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles $w" >&5 -$as_echo_n "checking whether compiler handles $w... " >&6; } -if { as_var=$as_gl_Warn; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} $w" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -28252,2319 +44412,1773 @@ return 0; } _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - eval "$as_gl_Warn=yes" -else - eval "$as_gl_Warn=no" -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -eval ac_res=\$$as_gl_Warn - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -eval as_val=\$$as_gl_Warn - if test "x$as_val" = x""yes; then : - as_fn_append WARN_CFLAGS " $w" -fi - - done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-missing-field-initializers" >&5 -$as_echo_n "checking whether compiler handles -Wno-missing-field-initializers... " >&6; } -if test "${gl_cv_warn__Wno_missing_field_initializers+set}" = set; then : - $as_echo_n "(cached) " >&6 else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-missing-field-initializers" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_missing_field_initializers=yes -else - gl_cv_warn__Wno_missing_field_initializers=no fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_missing_field_initializers" >&5 -$as_echo "$gl_cv_warn__Wno_missing_field_initializers" >&6; } -if test "x$gl_cv_warn__Wno_missing_field_initializers" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers" -fi - # We need this one - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-sign-compare" >&5 -$as_echo_n "checking whether compiler handles -Wno-sign-compare... " >&6; } -if test "${gl_cv_warn__Wno_sign_compare+set}" = set; then : - $as_echo_n "(cached) " >&6 -else +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-sign-compare" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -int -main () -{ + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_sign_compare=yes -else - gl_cv_warn__Wno_sign_compare=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_sign_compare" >&5 -$as_echo "$gl_cv_warn__Wno_sign_compare" >&6; } -if test "x$gl_cv_warn__Wno_sign_compare" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-sign-compare" -fi - # Too many warnings for now - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-pointer-sign" >&5 -$as_echo_n "checking whether compiler handles -Wno-pointer-sign... " >&6; } -if test "${gl_cv_warn__Wno_pointer_sign+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-pointer-sign" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; -int -main () -{ + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_pointer_sign=yes -else - gl_cv_warn__Wno_pointer_sign=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + freebsd1*) + ld_shlibs_GCJ=no + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_pointer_sign" >&5 -$as_echo "$gl_cv_warn__Wno_pointer_sign" >&6; } -if test "x$gl_cv_warn__Wno_pointer_sign" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-pointer-sign" -fi - # Too many warnings for now - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-parameter" >&5 -$as_echo_n "checking whether compiler handles -Wno-unused-parameter... " >&6; } -if test "${gl_cv_warn__Wno_unused_parameter+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-unused-parameter" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; -int -main () -{ + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_unused_parameter=yes -else - gl_cv_warn__Wno_unused_parameter=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_unused_parameter" >&5 -$as_echo "$gl_cv_warn__Wno_unused_parameter" >&6; } -if test "x$gl_cv_warn__Wno_unused_parameter" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-parameter" -fi - # Too many warnings for now - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-parameter" >&5 -$as_echo_n "checking whether compiler handles -Wno-unused-parameter... " >&6; } -if test "${gl_cv_warn__Wno_unused_parameter+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-unused-parameter" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: -int -main () -{ + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_unused_parameter=yes -else - gl_cv_warn__Wno_unused_parameter=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_unused_parameter" >&5 -$as_echo "$gl_cv_warn__Wno_unused_parameter" >&6; } -if test "x$gl_cv_warn__Wno_unused_parameter" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-parameter" -fi - # Too many warnings for now - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-stack-protector" >&5 -$as_echo_n "checking whether compiler handles -Wno-stack-protector... " >&6; } -if test "${gl_cv_warn__Wno_stack_protector+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-stack-protector" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' -int -main () -{ + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_stack_protector=yes -else - gl_cv_warn__Wno_stack_protector=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_stack_protector" >&5 -$as_echo "$gl_cv_warn__Wno_stack_protector" >&6; } -if test "x$gl_cv_warn__Wno_stack_protector" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-stack-protector" -fi - # Some functions cannot be protected - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-strict-aliasing" >&5 -$as_echo_n "checking whether compiler handles -Wno-strict-aliasing... " >&6; } -if test "${gl_cv_warn__Wno_strict_aliasing+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -Wno-strict-aliasing" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; -int -main () -{ + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__Wno_strict_aliasing=yes -else - gl_cv_warn__Wno_strict_aliasing=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_strict_aliasing" >&5 -$as_echo "$gl_cv_warn__Wno_strict_aliasing" >&6; } -if test "x$gl_cv_warn__Wno_strict_aliasing" = x""yes; then : - as_fn_append WARN_CFLAGS " -Wno-strict-aliasing" -fi - # Breaks src/*.c, fixed in v2.9.x - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fdiagnostics-show-option" >&5 -$as_echo_n "checking whether compiler handles -fdiagnostics-show-option... " >&6; } -if test "${gl_cv_warn__fdiagnostics_show_option+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} -fdiagnostics-show-option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' -int -main () -{ + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - gl_cv_warn__fdiagnostics_show_option=yes -else - gl_cv_warn__fdiagnostics_show_option=no -fi -rm -f conftest.err conftest.$ac_ext - CPPFLAGS="$save_CPPFLAGS" + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fdiagnostics_show_option" >&5 -$as_echo "$gl_cv_warn__fdiagnostics_show_option" >&6; } -if test "x$gl_cv_warn__fdiagnostics_show_option" = x""yes; then : - as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" -fi + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; -fi + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; -# Export things for */configure.ac. -export WERROR_CFLAGS -export WARN_CFLAGS -export use_cxx + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' -subdirs="$subdirs lib" + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; -subdirs="$subdirs libextra" + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; -ac_config_files="$ac_config_files guile/pre-inst-guile" + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; -ac_config_files="$ac_config_files Makefile doc/Makefile doc/credentials/Makefile doc/credentials/openpgp/Makefile doc/credentials/srp/Makefile doc/credentials/x509/Makefile doc/cyclo/Makefile doc/doxygen/Doxyfile doc/examples/Makefile doc/manpages/Makefile doc/reference/Makefile doc/scripts/Makefile gl/Makefile gl/tests/Makefile guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile src/Makefile src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile tests/Makefile tests/key-id/Makefile tests/openpgp-certs/Makefile tests/pathlen/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile tests/pkcs8-decode/Makefile tests/rsa-md5-collision/Makefile tests/sha2/Makefile tests/userid/Makefile" + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +$as_echo "$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no -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. +# Do we need to explicitly link libc? # -# `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 +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# 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. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +$as_echo "$archive_cmds_need_lc_GCJ" >&6; } ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - 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" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + esac 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}' - -DEFS=-DHAVE_CONFIG_H + ;; +esac -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_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs +{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" -LTLIBOBJS=$ac_ltlibobjs +need_lib_prefix=unknown +hardcode_into_libs=no +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then - as_fn_error "conditional \"ENABLE_GTK_DOC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then - as_fn_error "conditional \"GTK_DOC_BUILD_HTML\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then - as_fn_error "conditional \"GTK_DOC_BUILD_PDF\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then - as_fn_error "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then - as_fn_error "conditional \"GTK_DOC_USE_REBASE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_CXX_TRUE}" && test -z "${ENABLE_CXX_FALSE}"; then - as_fn_error "conditional \"ENABLE_CXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_MINITASN1_TRUE}" && test -z "${ENABLE_MINITASN1_FALSE}"; then - as_fn_error "conditional \"ENABLE_MINITASN1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_LZO_TRUE}" && test -z "${USE_LZO_FALSE}"; then - as_fn_error "conditional \"USE_LZO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPRFI_TRUE}" && test -z "${ENABLE_OPRFI_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPRFI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_SRP_TRUE}" && test -z "${ENABLE_SRP_FALSE}"; then - as_fn_error "conditional \"ENABLE_SRP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PSK_TRUE}" && test -z "${ENABLE_PSK_FALSE}"; then - as_fn_error "conditional \"ENABLE_PSK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_ANON_TRUE}" && test -z "${ENABLE_ANON_FALSE}"; then - as_fn_error "conditional \"ENABLE_ANON\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PKI_TRUE}" && test -z "${ENABLE_PKI_FALSE}"; then - as_fn_error "conditional \"ENABLE_PKI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPENPGP_TRUE}" && test -z "${ENABLE_OPENPGP_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPENPGP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPENSSL_TRUE}" && test -z "${ENABLE_OPENSSL_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPENSSL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_FORK_TRUE}" && test -z "${HAVE_FORK_FALSE}"; then - as_fn_error "conditional \"HAVE_FORK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then - as_fn_error "conditional \"HAVE_GUILE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_GCC_GNU89_INLINE_OPTION_TRUE}" && test -z "${HAVE_GCC_GNU89_INLINE_OPTION_FALSE}"; then - as_fn_error "conditional \"HAVE_GCC_GNU89_INLINE_OPTION\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_GCC_TRUE}" && test -z "${HAVE_GCC_FALSE}"; then - as_fn_error "conditional \"HAVE_GCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_LIBCFG_TRUE}" && test -z "${HAVE_LIBCFG_FALSE}"; then - as_fn_error "conditional \"HAVE_LIBCFG\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; - gl_libobjs= - gl_ltlibobjs= - if test -n "$gl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - gl_libobjs="$gl_libobjs $i.$ac_objext" - gl_ltlibobjs="$gl_ltlibobjs $i.lo" - done +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' fi - gl_LIBOBJS=$gl_libobjs - - gl_LTLIBOBJS=$gl_ltlibobjs + shlibpath_var=LIBPATH + fi + ;; +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; - gltests_libobjs= - gltests_ltlibobjs= - if test -n "$gltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - gltests_libobjs="$gltests_libobjs $i.$ac_objext" - gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" - done - fi - gltests_LIBOBJS=$gltests_libobjs +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; - gltests_LTLIBOBJS=$gltests_ltlibobjs +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $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. + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; -debug=false -ac_cs_recheck=false -ac_cs_silent=false +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +freebsd1*) + dynamic_linker=no + ;; -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; -# Find who we are. Look in the path if we contain no directory separator. -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 -IFS=$as_save_IFS +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; - ;; -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 - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi +rdos*) + dynamic_linker=no + ;; -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; -# 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 +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no else - as_ln_s='cp -p' + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ + sys_lib_dlsearch_path_spec='/usr/lib' + ;; - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 else - test -d ./-p && rmdir ./-p - as_mkdir_p=false + lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' +sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + $as_echo_n "(cached) " >&6 else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L + lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" +fi + +sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink else - as_ls_L_option= + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +$as_echo "$hardcode_action_GCJ" >&6; } -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + compiler_lib_search_dirs_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by GnuTLS $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ +cfgfile="$ofile" -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname -_ACEOF +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared +# Whether or not to build static libraries. +build_old_libs=$enable_static -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_links="$ac_config_links" -config_commands="$ac_config_commands" +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ -_ACEOF +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install -Usage: $0 [OPTION]... [TAG]... +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - 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 +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os -Configuration files: -$config_files +# An echo program that does not interpret backslashes. +echo=$lt_echo -Configuration headers: -$config_headers +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS -Configuration links: -$config_links +# A C compiler. +LTCC=$lt_LTCC -Configuration commands: -$config_commands +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS -Report bugs to ." +# A language-specific compiler. +CC=$lt_compiler_GCJ -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -GnuTLS config.status 2.8.6 -configured by $0, generated by GNU Autoconf 2.65, - with options \\"\$ac_cs_config\\" +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ -Copyright (C) 2009 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." +# An ERE matcher. +EGREP=$lt_EGREP -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF +# The linker used to build libraries. +LD=$lt_LD_GCJ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -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 - ;; - esac +# Whether we need hard or soft links. +LN_S=$lt_LN_S - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; +# A BSD-compatible nm program. +NM=$lt_NM - # This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; +# A symbol stripping program +STRIP=$lt_STRIP - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD - esac - shift -done +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" -ac_configure_extra_args= +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi +# Used on cygwin: assembler. +AS="$AS" -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi +# The name of the directory that contains temporary libtool files. +objdir=$objdir -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ +# Object file suffix (normally "o"). +objext="$ac_objext" -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Old archive suffix (normally "a"). +libext="$libext" -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' -predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' -predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' -postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_ld_CXX \ -hardcode_libdir_separator_CXX \ -fix_srcfile_path_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done +# Executable file suffix (normally ""). +exeext="$exeext" -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ +# Must we lock files when doing compilation? +need_locks=$lt_need_locks - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix +# Do we need a version for libraries? +need_version=$need_version +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static -GNUmakefile=$GNUmakefile +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ -_ACEOF +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; - "guile/pre-inst-guile") CONFIG_FILES="$CONFIG_FILES guile/pre-inst-guile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "doc/credentials/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/Makefile" ;; - "doc/credentials/openpgp/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/openpgp/Makefile" ;; - "doc/credentials/srp/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/srp/Makefile" ;; - "doc/credentials/x509/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/x509/Makefile" ;; - "doc/cyclo/Makefile") CONFIG_FILES="$CONFIG_FILES doc/cyclo/Makefile" ;; - "doc/doxygen/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/doxygen/Doxyfile" ;; - "doc/examples/Makefile") CONFIG_FILES="$CONFIG_FILES doc/examples/Makefile" ;; - "doc/manpages/Makefile") CONFIG_FILES="$CONFIG_FILES doc/manpages/Makefile" ;; - "doc/reference/Makefile") CONFIG_FILES="$CONFIG_FILES doc/reference/Makefile" ;; - "doc/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES doc/scripts/Makefile" ;; - "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;; - "gl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gl/tests/Makefile" ;; - "guile/Makefile") CONFIG_FILES="$CONFIG_FILES guile/Makefile" ;; - "guile/modules/Makefile") CONFIG_FILES="$CONFIG_FILES guile/modules/Makefile" ;; - "guile/src/Makefile") CONFIG_FILES="$CONFIG_FILES guile/src/Makefile" ;; - "guile/tests/Makefile") CONFIG_FILES="$CONFIG_FILES guile/tests/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/cfg/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/Makefile" ;; - "src/cfg/platon/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/platon/Makefile" ;; - "src/cfg/platon/str/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/platon/str/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/key-id/Makefile") CONFIG_FILES="$CONFIG_FILES tests/key-id/Makefile" ;; - "tests/openpgp-certs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/openpgp-certs/Makefile" ;; - "tests/pathlen/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pathlen/Makefile" ;; - "tests/pkcs1-padding/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs1-padding/Makefile" ;; - "tests/pkcs12-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs12-decode/Makefile" ;; - "tests/pkcs8-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs8-decode/Makefile" ;; - "tests/rsa-md5-collision/Makefile") CONFIG_FILES="$CONFIG_FILES tests/rsa-md5-collision/Makefile" ;; - "tests/sha2/Makefile") CONFIG_FILES="$CONFIG_FILES tests/sha2/Makefile" ;; - "tests/userid/Makefile") CONFIG_FILES="$CONFIG_FILES tests/userid/Makefile" ;; +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ +# Library versioning type. +version_type=$version_type -# 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_LINKS+set}" = set || CONFIG_LINKS=$config_links - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi +# Format of library name prefix. +libname_spec=$lt_libname_spec -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method - print line -} +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 -_ACEOF +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ -# 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 +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. +# This is the shared library runtime path variable. +runpath_var=$runpath_var -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 +# This is the shared library path variable. +shlibpath_var=$shlibpath_var -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #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. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - # 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. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path - case $ac_mode in - :F) - # - # CONFIG_FILE - # +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;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&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - :L) - # - # CONFIG_LINK - # +fi - if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then - : - else - # Prefer the file from the source tree if names are identical. - if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then - ac_source=$srcdir/$ac_source - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 -$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} +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 ! -r "$ac_source"; then - as_fn_error "$ac_source: file not found" "$LINENO" 5 - fi - rm -f "$ac_file" +CC="$lt_save_CC" - # Try a relative symlink, then a hard link, then a copy. - case $srcdir in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; - *) ac_rel_source=$ac_top_build_prefix$ac_source ;; - esac - ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || - ln "$ac_source" "$ac_file" 2>/dev/null || - cp -p "$ac_source" "$ac_file" || - as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 - fi - ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac + else + tagname="" + fi + ;; + RC) - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_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 - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm -r conftest* - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +lt_cv_prog_compiler_c_o_RC=yes -# The names of the tagged configurations supported by this script. -available_tags="CXX " +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + compiler_lib_search_dirs_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done -# ### BEGIN LIBTOOL CONFIG + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac -# Assembler program. -AS=$AS +cfgfile="$ofile" -# DLL creation program. -DLLTOOL=$DLLTOOL + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname -# Object dumper program. -OBJDUMP=$OBJDUMP +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared @@ -30572,8 +46186,11 @@ # Whether or not to build static libraries. build_old_libs=$enable_static -# What type of objects to build. -pic_mode=$pic_mode +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install @@ -30588,725 +46205,2225 @@ build=$build build_os=$build_os -# A sed program that does not truncate output. -SED=$lt_SED +# An echo program that does not interpret backslashes. +echo=$lt_echo -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS -# A grep program that handles long lines. -GREP=$lt_GREP +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM +# The linker used to build libraries. +LD=$lt_LD_RC -# Whether we need soft or hard links. +# Whether we need hard or soft links. LN_S=$lt_LN_S -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len +# A BSD-compatible nm program. +NM=$lt_NM -# Object file suffix (normally "o"). -objext=$ac_objext +# A symbol stripping program +STRIP=$lt_STRIP -# Executable file suffix (normally ""). -exeext=$exeext +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD -# whether the shell understands "unset". -lt_unset=$lt_unset +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd +# Object file suffix (normally "o"). +objext="$ac_objext" -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS +# Old archive suffix (normally "a"). +libext="$libext" -# A symbol stripping program. -STRIP=$lt_STRIP +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec -# Commands used to install an old-style archive. +# Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds -# A C compiler. -LTCC=$lt_CC +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The directories searched by this compiler when creating a shared +# library +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform the output of nm in a proper C declaration. +# Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair. +# Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix +# This is the shared library runtime path variable. +runpath_var=$runpath_var -# The name of the directory that contains temporary libtool files. -objdir=$objdir +# This is the shared library path variable. +shlibpath_var=$shlibpath_var -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +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 + +CC="$lt_save_CC" + + ;; + + *) + { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" + + + +LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS" +LIBGNUTLS_EXTRA_CFLAGS="-I${includedir}" -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL +export ac_full -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT +AM_CFLAGS="${AM_CFLAGS} ${LIBGCRYPT_CFLAGS}" -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO +if test $ac_full -eq 0; then + POSSIBLY_WARN_ABOUT_MISSING_FEATURES= +#ifdef __GNUC__ +#warning This is not the official GnuTLS library. Several features were disabled at compilation. +#endif /* __GNUC__ */ -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL +fi -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 -# Old archive suffix (normally "a"). -libext=$libext -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds +ac_config_commands="$ac_config_commands chmod-config" -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version +cat >>confdefs.h <<\_ACEOF +#define INTERNAL_GNUTLS_CRYPTO_H_ENABLE_UNSUPPORTED_API 1 +_ACEOF -# Library versioning type. -version_type=$version_type -# Shared library runtime path variable. -runpath_var=$runpath_var +ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile doc/examples/Makefile doc/scripts/Makefile doc/manpages/Makefile doc/reference/Makefile doc/credentials/Makefile doc/credentials/x509/Makefile doc/credentials/srp/Makefile doc/credentials/openpgp/Makefile gl/Makefile lgl/Makefile tests/Makefile tests/rsa-md5-collision/Makefile tests/userid/Makefile tests/pkcs1-padding/Makefile tests/pkcs8-decode/Makefile tests/pkcs12-decode/Makefile tests/pathlen/Makefile tests/key-id/Makefile tests/sha2/Makefile tests/hostname-check/Makefile includes/Makefile includes/gnutls/gnutls.h lib/Makefile lib/minitasn1/Makefile lib/x509/Makefile libextra/Makefile lib/openpgp/Makefile lib/opencdk/Makefile tests/openpgp/Makefile tests/openpgp-certs/Makefile src/Makefile src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile lib/libgnutls-config libextra/libgnutls-extra-config lib/gnutls.pc libextra/gnutls-extra.pc guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile" -# Shared library path variable. -shlibpath_var=$shlibpath_var -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath +ac_config_files="$ac_config_files guile/pre-inst-guile" -# Format of library name prefix. -libname_spec=$lt_libname_spec -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +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. -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds +_ACEOF -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# 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. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + 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" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs +DEFS=-DHAVE_CONFIG_H -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +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_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +LTLIBOBJS=$ac_ltlibobjs -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_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 + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_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__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_GTK_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_GTK_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"GTK_DOC_USE_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"GTK_DOC_USE_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_GCC_TRUE}" && test -z "${HAVE_GCC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_GCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_GCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_CXX_TRUE}" && test -z "${ENABLE_CXX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_CXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_CXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LD_OUTPUT_DEF\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_LD_OUTPUT_DEF\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_GCC_GNU89_INLINE_OPTION_TRUE}" && test -z "${HAVE_GCC_GNU89_INLINE_OPTION_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_GCC_GNU89_INLINE_OPTION\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_GCC_GNU89_INLINE_OPTION\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_FORK_TRUE}" && test -z "${HAVE_FORK_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_FORK\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_FORK\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_GUILE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_GUILE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_OPRFI_TRUE}" && test -z "${ENABLE_OPRFI_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_OPRFI\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_OPRFI\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_SRP_TRUE}" && test -z "${ENABLE_SRP_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_SRP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_SRP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_ANON_TRUE}" && test -z "${ENABLE_ANON_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_ANON\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_ANON\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_PKI_TRUE}" && test -z "${ENABLE_PKI_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_PKI\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_PKI\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_OPENPGP_TRUE}" && test -z "${ENABLE_OPENPGP_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_OPENPGP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_OPENPGP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_OPENSSL_TRUE}" && test -z "${ENABLE_OPENSSL_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_OPENSSL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_OPENSSL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ENABLE_MINITASN1_TRUE}" && test -z "${ENABLE_MINITASN1_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_MINITASN1\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"ENABLE_MINITASN1\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_LIBCFG_TRUE}" && test -z "${HAVE_LIBCFG_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LIBCFG\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_LIBCFG\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${USE_LZO_TRUE}" && test -z "${USE_LZO_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"USE_LZO\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"USE_LZO\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${NEED_WS2_32_TRUE}" && test -z "${NEED_WS2_32_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"NEED_WS2_32\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"NEED_WS2_32\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static + gl_libobjs= + gl_ltlibobjs= + if test -n "$gl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + gl_libobjs="$gl_libobjs $i.$ac_objext" + gl_ltlibobjs="$gl_ltlibobjs $i.lo" + done + fi + gl_LIBOBJS=$gl_libobjs -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + gl_LTLIBOBJS=$gl_ltlibobjs -# The linker used to build libraries. -LD=$lt_LD -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds + gltests_libobjs= + gltests_ltlibobjs= + if test -n "$gltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + gltests_libobjs="$gltests_libobjs $i.$ac_objext" + gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" + done + fi + gltests_LIBOBJS=$gltests_libobjs -# A language specific compiler. -CC=$lt_compiler + gltests_LTLIBOBJS=$gltests_ltlibobjs -# Is the compiler the GNU compiler? -with_gcc=$GCC -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl + lgl_libobjs= + lgl_ltlibobjs= + if test -n "$lgl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + lgl_libobjs="$lgl_libobjs $i.$ac_objext" + lgl_ltlibobjs="$lgl_ltlibobjs $i.lo" + done + fi + lgl_LIBOBJS=$lgl_libobjs -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic + lgl_LTLIBOBJS=$lgl_ltlibobjs -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc + lgltests_libobjs= + lgltests_ltlibobjs= + if test -n "$lgltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + lgltests_libobjs="$lgltests_libobjs $i.$ac_objext" + lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo" + done + fi + lgltests_LIBOBJS=$lgltests_libobjs -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + lgltests_LTLIBOBJS=$lgltests_ltlibobjs -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object +: ${CONFIG_STATUS=./config.status} +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +#! $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. -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds +fi -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec +# PATH needs CR +# 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 -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var +# Find who we are. Look in the path if we contain no directory separator. +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 +IFS=$as_save_IFS -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic + ;; +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 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms +# CDPATH. +$as_unset CDPATH -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + # 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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# ### END LIBTOOL CONFIG +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi -_LT_EOF +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -_LT_EOF - ;; - esac + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval 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="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -ltmain="$ac_aux_dir/ltmain.sh" +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GnuTLS $as_me 2.4.1, which was +generated by GNU Autoconf 2.62. Invocation command line was + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" +_ACEOF -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} +_ACEOF -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} +Usage: $0 [OPTIONS] [FILE]... -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} + -h, --help print this help, then exit + -V, --version print version number and configuration settings, 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 -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} +Configuration files: +$config_files -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} +Configuration headers: +$config_headers -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} +Configuration links: +$config_links -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} +Configuration commands: +$config_commands -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" +Report bugs to ." -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_version="\\ +GnuTLS config.status 2.4.1 +configured by $0, generated by GNU Autoconf 2.62, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} +Copyright (C) 2008 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +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 + ;; esac -} -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { $as_echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} + # This is an error. + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} + esac + shift +done -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} +ac_configure_extra_args= -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi -_LT_EOF -esac +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log { - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" -_LT_EOF - ;; - esac +GNUmakefile=$GNUmakefile - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) +_ACEOF - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; + "chmod-config") CONFIG_COMMANDS="$CONFIG_COMMANDS chmod-config" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "doc/examples/Makefile") CONFIG_FILES="$CONFIG_FILES doc/examples/Makefile" ;; + "doc/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES doc/scripts/Makefile" ;; + "doc/manpages/Makefile") CONFIG_FILES="$CONFIG_FILES doc/manpages/Makefile" ;; + "doc/reference/Makefile") CONFIG_FILES="$CONFIG_FILES doc/reference/Makefile" ;; + "doc/credentials/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/Makefile" ;; + "doc/credentials/x509/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/x509/Makefile" ;; + "doc/credentials/srp/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/srp/Makefile" ;; + "doc/credentials/openpgp/Makefile") CONFIG_FILES="$CONFIG_FILES doc/credentials/openpgp/Makefile" ;; + "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;; + "lgl/Makefile") CONFIG_FILES="$CONFIG_FILES lgl/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/rsa-md5-collision/Makefile") CONFIG_FILES="$CONFIG_FILES tests/rsa-md5-collision/Makefile" ;; + "tests/userid/Makefile") CONFIG_FILES="$CONFIG_FILES tests/userid/Makefile" ;; + "tests/pkcs1-padding/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs1-padding/Makefile" ;; + "tests/pkcs8-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs8-decode/Makefile" ;; + "tests/pkcs12-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs12-decode/Makefile" ;; + "tests/pathlen/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pathlen/Makefile" ;; + "tests/key-id/Makefile") CONFIG_FILES="$CONFIG_FILES tests/key-id/Makefile" ;; + "tests/sha2/Makefile") CONFIG_FILES="$CONFIG_FILES tests/sha2/Makefile" ;; + "tests/hostname-check/Makefile") CONFIG_FILES="$CONFIG_FILES tests/hostname-check/Makefile" ;; + "includes/Makefile") CONFIG_FILES="$CONFIG_FILES includes/Makefile" ;; + "includes/gnutls/gnutls.h") CONFIG_FILES="$CONFIG_FILES includes/gnutls/gnutls.h" ;; + "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "lib/minitasn1/Makefile") CONFIG_FILES="$CONFIG_FILES lib/minitasn1/Makefile" ;; + "lib/x509/Makefile") CONFIG_FILES="$CONFIG_FILES lib/x509/Makefile" ;; + "libextra/Makefile") CONFIG_FILES="$CONFIG_FILES libextra/Makefile" ;; + "lib/openpgp/Makefile") CONFIG_FILES="$CONFIG_FILES lib/openpgp/Makefile" ;; + "lib/opencdk/Makefile") CONFIG_FILES="$CONFIG_FILES lib/opencdk/Makefile" ;; + "tests/openpgp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/openpgp/Makefile" ;; + "tests/openpgp-certs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/openpgp-certs/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/cfg/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/Makefile" ;; + "src/cfg/platon/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/platon/Makefile" ;; + "src/cfg/platon/str/Makefile") CONFIG_FILES="$CONFIG_FILES src/cfg/platon/str/Makefile" ;; + "lib/libgnutls-config") CONFIG_FILES="$CONFIG_FILES lib/libgnutls-config" ;; + "libextra/libgnutls-extra-config") CONFIG_FILES="$CONFIG_FILES libextra/libgnutls-extra-config" ;; + "lib/gnutls.pc") CONFIG_FILES="$CONFIG_FILES lib/gnutls.pc" ;; + "libextra/gnutls-extra.pc") CONFIG_FILES="$CONFIG_FILES libextra/gnutls-extra.pc" ;; + "guile/Makefile") CONFIG_FILES="$CONFIG_FILES guile/Makefile" ;; + "guile/modules/Makefile") CONFIG_FILES="$CONFIG_FILES guile/modules/Makefile" ;; + "guile/src/Makefile") CONFIG_FILES="$CONFIG_FILES guile/src/Makefile" ;; + "guile/tests/Makefile") CONFIG_FILES="$CONFIG_FILES guile/tests/Makefile" ;; + "guile/pre-inst-guile") CONFIG_FILES="$CONFIG_FILES guile/pre-inst-guile" ;; - cat <<_LT_EOF >> "$ofile" + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done -# ### BEGIN LIBTOOL TAG CONFIG: CXX -# The linker used to build libraries. -LD=$lt_LD_CXX +# 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_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. -# A language specific compiler. -CC=$lt_compiler_CXX +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + print line +} -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } +_ACEOF -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX +# 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 -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + prefix = substr(line, 1, index(line, defundef) - 1) + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #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. + if (defundef == "undef") { + print "/*", line, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 +$as_echo "$as_me: error: could not setup config headers machinery" >&2;} + { (exit 1); exit 1; }; } +fi # test -n "$CONFIG_HEADERS" -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" + done -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX + # 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. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; + esac -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path_CXX + case $ac_mode in + :F) + # + # CONFIG_FILE + # -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;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&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 +$as_echo "$as_me: error: could not create -" >&2;} + { (exit 1); exit 1; }; } + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX + if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then + { $as_echo "$as_me:$LINENO: WARNING: not linking $ac_source to itself" >&5 +$as_echo "$as_me: WARNING: not linking $ac_source to itself" >&2;} + else + # Prefer the file from the source tree if names are identical. + if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then + ac_source=$srcdir/$ac_source + fi -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + { $as_echo "$as_me:$LINENO: linking $ac_source to $ac_file" >&5 +$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX + if test ! -r "$ac_source"; then + { { $as_echo "$as_me:$LINENO: error: $ac_source: file not found" >&5 +$as_echo "$as_me: error: $ac_source: file not found" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "$ac_file" -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + # Try a relative symlink, then a hard link, then a copy. + case $srcdir in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$ac_source" "$ac_file" 2>/dev/null || + cp -p "$ac_source" "$ac_file" || + { { $as_echo "$as_me:$LINENO: error: cannot link or copy $ac_source to $ac_file" >&5 +$as_echo "$as_me: error: cannot link or copy $ac_source to $ac_file" >&2;} + { (exit 1); exit 1; }; } + fi + ;; + :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF + case $ac_file$ac_mode in + "depfiles":C) 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. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_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 + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. 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 " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "po-directories":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; 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 + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + "chmod-config":C) + chmod +x lib/libgnutls-config + chmod +x libextra/libgnutls-extra-config ;; "guile/pre-inst-guile":F) chmod +x guile/pre-inst-guile ;; @@ -31314,12 +48431,15 @@ done # for ac_tag -as_fn_exit 0 +{ (exit 0); exit 0; } _ACEOF +chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } # configure is writing to config.log, and then calls config.status. @@ -31340,182 +48460,10 @@ 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 || as_fn_exit $? -fi - -# -# CONFIG_SUBDIRS section. -# -if test "$no_recursion" != yes; then - - # Remove --cache-file, --srcdir, and --disable-option-checking arguments - # so they do not pile up. - ac_sub_configure_args= - ac_prev= - eval "set x $ac_configure_args" - shift - for ac_arg - do - if test -n "$ac_prev"; then - ac_prev= - continue - fi - case $ac_arg in - -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=*) - ;; - --config-cache | -C) - ;; - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - ;; - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - ;; - --disable-option-checking) - ;; - *) - case $ac_arg in - *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append ac_sub_configure_args " '$ac_arg'" ;; - esac - done - - # Always prepend --prefix to ensure using the same prefix - # in subdir configurations. - ac_arg="--prefix=$prefix" - case $ac_arg in - *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" - - # Pass --silent - if test "$silent" = yes; then - ac_sub_configure_args="--silent $ac_sub_configure_args" - fi - - # Always prepend --disable-option-checking to silence warnings, since - # different subdirs can have different --enable and --with options. - ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args" - - ac_popdir=`pwd` - for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue - - # Do not complain, so a configure script can configure whichever - # parts of a large source tree are present. - test -d "$srcdir/$ac_dir" || continue - - ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" - $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5 - $as_echo "$ac_msg" >&6 - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - cd "$ac_dir" - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f "$ac_srcdir/configure.gnu"; then - ac_sub_configure=$ac_srcdir/configure.gnu - elif test -f "$ac_srcdir/configure"; then - ac_sub_configure=$ac_srcdir/configure - elif test -f "$ac_srcdir/configure.in"; then - # This should be Cygnus configure. - ac_sub_configure=$ac_aux_dir/configure - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5 -$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} - ac_sub_configure= - fi - - # The recursion is here. - if test -n "$ac_sub_configure"; then - # Make the cache file name correct relative to the subdirectory. - case $cache_file in - [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; - *) # Relative name. - ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 -$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} - # The eval makes quoting arguments work. - eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ - --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || - as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5 - fi - - cd "$ac_popdir" - done + $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: summary of build options: - - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL library: $enable_openssl -" >&5 -$as_echo "$as_me: summary of build options: - - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL library: $enable_openssl -" >&6;} diff -Nru gnutls26-2.8.6/configure.ac gnutls26-2.4.1/configure.ac --- gnutls26-2.8.6/configure.ac 2009-11-06 16:22:23.000000000 +0000 +++ gnutls26-2.4.1/configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,303 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. -# -# Author: Nikos Mavrogiannopoulos, Simon Josefsson -# -# This file is part of GNUTLS. -# -# 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 3 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 -# USA - -AC_PREREQ(2.61) -AC_INIT([GnuTLS], [2.8.6], [bug-gnutls@gnu.org]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) - -AM_INIT_AUTOMAKE([1.10 dist-bzip2 -Wall -Werror -Wno-override]) -AM_CONFIG_HEADER(config.h) - -AC_MSG_RESULT([*** -*** Checking for compilation programs... -]) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_LN_S -GTK_DOC_CHECK(1.1) -AC_PATH_PROG([GAA], [gaa]) -if test "x$GAA" = "x"; then - AC_MSG_WARN([[*** -*** GAA was not found. It is only needed if you wish to modify -*** the source code or command-line description files. In this case, -*** you may want to get it from http://gaa.sourceforge.net/ and -*** read doc/README.gaa. -***]]) -fi - -gl_EARLY -AC_C_INLINE - -# For the C++ code -AC_PROG_CXX -AC_ARG_ENABLE(cxx, - AS_HELP_STRING([--disable-cxx], [unconditionally disable the C++ library]), - use_cxx=$enableval, use_cxx=yes) -if test "$use_cxx" != "no"; then - AC_LANG_PUSH(C++) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], use_cxx=yes, use_cxx=no) - AC_LANG_POP(C++) -fi -AM_CONDITIONAL(ENABLE_CXX, test "$use_cxx" != "no") - -LIBGNUTLS_HOOKS -LIBGNUTLS_EXTRA_HOOKS - -AC_HEADER_STDC -AC_CHECK_FUNCS(fork,,) -AC_DEFINE([HAVE_STRINGS_H], 1, [Hard-code for src/cfg/.]) -AC_DEFINE([HAVE_FLOAT_H], 1, [Hard-code for src/cfg/.]) -AC_DEFINE([HAVE_LIMITS_H], 1, [Hard-code for src/cfg/.]) -AC_DEFINE([HAVE_MATH_H], 1, [Hard-code for src/cfg/.]) -AC_DEFINE([HAVE_CTYPE_H], 1, [Hard-code for src/cfg/.]) -AC_DEFINE([HAVE_ERRNO_H], 1, [Hard-code for src/cfg/.]) - -# No fork on MinGW, disable some self-tests until we fix them. -AM_CONDITIONAL(HAVE_FORK, test "$ac_cv_func_fork" != "no") - -sj_VALGRIND - -AC_CHECK_TYPES(uint,,, [ -# include -]) - -# For Guile bindings. -opt_guile_bindings=yes -AC_MSG_CHECKING([whether building Guile bindings]) -AC_ARG_ENABLE(guile, - AS_HELP_STRING([--enable-guile], [build GNU Guile bindings]), -opt_guile_bindings=$enableval) -AC_MSG_RESULT($opt_guile_bindings) - -AC_ARG_WITH([--with-guile-site-dir], - [AS_HELP_STRING([--with-guile-site-dir], - [use the given directory as the Guile site (use with care)])]) - -if test "$opt_guile_bindings" = "yes"; then - AC_MSG_RESULT([*** -*** Detecting GNU Guile... -]) - - AC_PATH_PROG([guile_snarf], [guile-snarf]) - if test "x$guile_snarf" = "x"; then - AC_MSG_WARN([`guile-snarf' from Guile 1.8 not found. Guile bindings not built.]) - opt_guile_bindings=no - else - GUILE_PROGS - GUILE_FLAGS - - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GUILE_CFLAGS" - LIBS="$LIBS $GUILE_LDFLAGS" - AC_MSG_CHECKING([whether GNU Guile is recent enough]) - AC_LINK_IFELSE(AC_LANG_CALL([], [scm_from_locale_string]), - [], [opt_guile_bindings=no]) - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - - if test "$opt_guile_bindings" = "yes"; then - AC_MSG_RESULT([yes]) - case "x$with_guile_site_dir" in - xno) - # Use the default $(GUILE_SITE). - GUILE_SITE_DIR - ;; - x|xyes) - # Automatically derive $(GUILE_SITE) from $(pkgdatadir). This - # hack is used to allow `distcheck' to work (see - # `DISTCHECK_CONFIGURE_FLAGS' in the top-level `Makefile.am'). - GUILE_SITE="\$(datadir)/guile/site" - AC_SUBST(GUILE_SITE) - ;; - *) - # Use the user-specified directory as $(GUILE_SITE). - GUILE_SITE="$with_guile_site_dir" - AC_SUBST(GUILE_SITE) - ;; - esac - AC_MSG_CHECKING([whether gcc supports -fgnu89-inline]) - _gcc_cflags_save="$CFLAGS" - CFLAGS="${CFLAGS} -fgnu89-inline" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], - gnu89_inline=yes, gnu89_inline=no) - AC_MSG_RESULT($gnu89_inline) - CFLAGS="$_gcc_cflags_save" - - # Optional Guile functions. - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GUILE_CFLAGS" - LIBS="$LIBS $GUILE_LDFLAGS" - AC_CHECK_FUNCS([scm_gc_malloc_pointerless]) - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - else - AC_MSG_RESULT([no]) - AC_MSG_WARN([A sufficiently recent GNU Guile not found. Guile bindings not built.]) - opt_guile_bindings=no - fi - fi -fi -AM_CONDITIONAL(HAVE_GUILE, test "$opt_guile_bindings" = "yes") -AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"]) -AM_CONDITIONAL(HAVE_GCC, test "$GCC" = "yes") - -dnl Check for libcfg+ - -SAVED_LIBS=$LIBS -AC_ARG_WITH(included-libcfg, - AS_HELP_STRING([--with-included-libcfg], - [use the included libcfg+ (certtool only)]), - libcfg_enabled=$withval, - libcfg_enabled=no -dnl We search for libcfg+ which is used by certtool -dnl - AC_CHECK_LIB(cfg+, cfg_get_context,:, - libcfg_enabled=yes - AC_MSG_WARN([[ -*** -*** Libcfg+ was not found. Will use the included one.]]))) - -AM_CONDITIONAL(HAVE_LIBCFG, test "$libcfg_enabled" = "no") -LIBS=$SAVED_LIBS - -AC_MSG_CHECKING([whether to use the included libcfg]) -AC_MSG_RESULT($libcfg_enabled) - -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL - -gl_INIT - -AC_ARG_ENABLE([gcc-warnings], - [AS_HELP_STRING([--enable-gcc-warnings], - [turn on lots of GCC warnings (for developers)])], - [case $enableval in - yes|no) ;; - *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; - esac - gl_gcc_warnings=$enableval], - [gl_gcc_warnings=no] -) - -if test "$gl_gcc_warnings" = yes; then - gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) - - nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings - nw="$nw -Wc++-compat" # We don't care about C++ compilers - nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib - nw="$nw -Wtraditional" # Warns on #elif which we use often - nw="$nw -Wlogical-op" # Too many false positives - nw="$nw -Wold-style-definition" # - nw="$nw -Wpadded" # Our structs are not padded - nw="$nw -Wunreachable-code" # Too many false positives - nw="$nw -Wtraditional-conversion" # Too many warnings for now - nw="$nw -Wcast-qual" # Too many warnings for now - nw="$nw -Waggregate-return" # Too many warnings for now - nw="$nw -Wshadow" # Too many warnings for now - nw="$nw -Wswitch-default" # Too many warnings for now - nw="$nw -Wswitch-enum" # Too many warnings for now - nw="$nw -Wconversion" # Too many warnings for now - nw="$nw -Wsign-conversion" # Too many warnings for now - nw="$nw -Wformat-y2k" # Too many warnings for now - nw="$nw -Wformat-nonliteral" # Incompatible with gettext _() - nw="$nw -Wunsafe-loop-optimizations" - nw="$nw -Wstrict-overflow" - - gl_MANYWARN_ALL_GCC([ws]) - gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw]) - for w in $ws; do - gl_WARN_ADD([$w]) - done - - gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one - gl_WARN_ADD([-Wno-sign-compare]) # Too many warnings for now - gl_WARN_ADD([-Wno-pointer-sign]) # Too many warnings for now - gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now - gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now - gl_WARN_ADD([-Wno-stack-protector]) # Some functions cannot be protected - gl_WARN_ADD([-Wno-strict-aliasing]) # Breaks src/*.c, fixed in v2.9.x - gl_WARN_ADD([-fdiagnostics-show-option]) -fi - -# Export things for */configure.ac. -export WERROR_CFLAGS -export WARN_CFLAGS -export use_cxx - -AC_CONFIG_SUBDIRS([lib]) -AC_CONFIG_SUBDIRS([libextra]) - -AC_CONFIG_FILES([guile/pre-inst-guile], [chmod +x guile/pre-inst-guile]) -AC_CONFIG_FILES([ - Makefile - doc/Makefile - doc/credentials/Makefile - doc/credentials/openpgp/Makefile - doc/credentials/srp/Makefile - doc/credentials/x509/Makefile - doc/cyclo/Makefile - doc/doxygen/Doxyfile - doc/examples/Makefile - doc/manpages/Makefile - doc/reference/Makefile - doc/scripts/Makefile - gl/Makefile - gl/tests/Makefile - guile/Makefile - guile/modules/Makefile - guile/src/Makefile - guile/tests/Makefile - src/Makefile - src/cfg/Makefile - src/cfg/platon/Makefile - src/cfg/platon/str/Makefile - tests/Makefile - tests/key-id/Makefile - tests/openpgp-certs/Makefile - tests/pathlen/Makefile - tests/pkcs1-padding/Makefile - tests/pkcs12-decode/Makefile - tests/pkcs8-decode/Makefile - tests/rsa-md5-collision/Makefile - tests/sha2/Makefile - tests/userid/Makefile -]) -AC_OUTPUT - -AC_MSG_NOTICE([summary of build options: - - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL library: $enable_openssl -]) diff -Nru gnutls26-2.8.6/configure.in gnutls26-2.4.1/configure.in --- gnutls26-2.8.6/configure.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/configure.in 2008-06-30 21:45:51.000000000 +0100 @@ -0,0 +1,698 @@ +dnl Process this file with autoconf to produce a configure script. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. +# +# Author: Nikos Mavrogiannopoulos +# +# This file is part of GNUTLS. +# +# 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 3 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +# USA + +AC_PREREQ(2.61) +AC_INIT([GnuTLS], [2.4.1], [bug-gnutls@gnu.org]) +AC_CONFIG_AUX_DIR([build-aux]) + +AM_INIT_AUTOMAKE([1.10 dist-bzip2]) +AM_CONFIG_HEADER(config.h) + +# Library code modified: REVISION++ +# Interfaces changed/added/removed: CURRENT++ REVISION=0 +# Interfaces added: AGE++ +# Interfaces removed: AGE=0 +AC_SUBST(LT_CURRENT, 30) +AC_SUBST(LT_REVISION, 5) +AC_SUBST(LT_AGE, 4) + +# Used when creating the Windows libgnutls-XX.def files. +SOVERSION=`expr ${LT_CURRENT} - ${LT_AGE}` +AC_SUBST(SOVERSION) + +GNUTLS_GCRYPT_VERSION=1:1.2.4 +GNUTLS_LIBTASN1_VERSION=0.3.4 +AC_DEFINE_UNQUOTED(GNUTLS_GCRYPT_VERSION, "$GNUTLS_GCRYPT_VERSION", [version of gcrypt]) +AC_DEFINE_UNQUOTED(GNUTLS_LIBTASN1_VERSION, "$GNUTLS_LIBTASN1_VERSION", [version of libtasn1]) + +# Compute numeric versions, used in includes/gnutls/gnutls.h.in. +AC_SUBST(MAJOR_VERSION, `echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'`) +AC_SUBST(MINOR_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'`) +AC_SUBST(PATCH_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'`) +AC_SUBST(NUMBER_VERSION, `printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION`) + +opt_dmalloc_mode=no +AC_MSG_CHECKING([whether in dmalloc mode]) +AC_ARG_ENABLE(dmalloc-mode, + AS_HELP_STRING([--enable-dmalloc-mode], [enable dmalloc mode]), + opt_dmalloc_mode=$enableval) +AC_MSG_RESULT($opt_dmalloc_mode) + +opt_efence_mode=no +AC_MSG_CHECKING([whether in electric fence mode]) +AC_ARG_ENABLE(efence-mode, + AS_HELP_STRING([--enable-efence-mode], [enable electric fence mode]), +opt_efence_mode=$enableval) +AC_MSG_RESULT($opt_efence_mode) + +opt_developer_mode=no +AC_MSG_CHECKING([whether in developer mode]) +AC_ARG_ENABLE(developer-mode, + AS_HELP_STRING([--enable-developer-mode], [enable developer mode]), +opt_developer_mode=$enableval) +AC_MSG_RESULT($opt_developer_mode) + +AC_MSG_RESULT([*** +*** Checking for compilation programs... +]) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_LN_S +GTK_DOC_CHECK(1.1) +AC_PATH_PROG([GAA], [gaa]) +if test "x$GAA" = "x"; then + AC_MSG_WARN([[*** +*** GAA was not found. It is only needed if you wish to modify +*** the source code or command-line description files. In this case, +*** you may want to get it from http://gaa.sourceforge.net/ +***]]) +fi +AM_CONDITIONAL(HAVE_GCC, test "x$GCC" = "xyes") + + +AC_MSG_RESULT([*** +*** Detecting compiler options... +]) + +gl_EARLY +lgl_EARLY +AC_C_CONST +AC_C_INLINE + +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.17]) + +AC_ARG_ENABLE(cxx, + AS_HELP_STRING([--disable-cxx], + [unconditionally disable the C++ library]), + use_cxx=$enableval, use_cxx=yes) +if test "$use_cxx" != "no"; then + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], use_cxx=yes, use_cxx=no) + AC_LANG_POP(C++) +fi +AM_CONDITIONAL(ENABLE_CXX, test "$use_cxx" != "no") +AC_MSG_CHECKING([whether to build C++ library]) +AC_MSG_RESULT($use_cxx) + +AC_MSG_CHECKING([whether C99 macros are supported]) +AC_TRY_COMPILE(,[ +#define test_mac(...) +int z,y,x; +test_mac(x,y,z); +return 0; +], + dnl ***** OK + AC_DEFINE(C99_MACROS, 1, [C99 macros are supported]) + AC_MSG_RESULT(yes), + dnl ***** NOT FOUND + AC_MSG_RESULT(no) + AC_MSG_WARN([C99 macros not supported. This may affect compiling.])) + +if test $ac_cv_c_compiler_gnu != no; then + if test x$opt_developer_mode = xyes; then + AM_CFLAGS="${AM_CFLAGS} -g -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wno-format-y2k -Wmissing-braces -Winline -Wstrict-prototypes -Wno-unused-parameter" +# AM_CFLAGS="${AM_CFLAGS} -g -W -Wall -Wcast-align -Wpointer-arith -Wchar-subscripts -Wformat-security -Wno-format-y2k -Wmissing-braces -Winline -Wstrict-prototypes -Wshadow -Wno-unused-parameter -Wimplicit -fno-common -Wno-sign-compare -Wbad-function-cast -Wendif-labels -Wmissing-declarations -Wno-missing-format-attribute -Wmissing-prototypes -Wnested-externs -Wpointer-arith -pedantic -Wlong-long -Wcast-qual -Wcast-align -Winline -Wredundant-decls -Wstrict-prototypes -Wwrite-strings -Wparentheses -Wsequence-point -Wpacked -Waggregate-return -Wfloat-equal -Wmultichar -Wunknown-pragmas -Wtrigraphs -Wswitch -Wreturn-type -Wmain -Wchar-subscripts -Wcomment -Wno-missing-noreturn" + fi + + AC_MSG_CHECKING([whether gcc supports -Wno-pointer-sign]) + _gcc_cflags_save=$CFLAGS + CFLAGS="${CFLAGS} -Wno-pointer-sign" + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),_gcc_psign=yes,_gcc_psign=no) + AC_MSG_RESULT($_gcc_psign) + if test x"$_gcc_psign" != xyes ; then + CFLAGS=$_gcc_cflags_save; + fi + + AC_MSG_CHECKING([whether gcc supports -fgnu89-inline]) + _gcc_cflags_save="$CFLAGS" + CFLAGS="${CFLAGS} -fgnu89-inline" + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), + _gcc_gnu89_inline=yes, _gcc_gnu89_inline=no) + AC_MSG_RESULT($_gcc_gnu89_inline) + CFLAGS=$_gcc_cflags_save; + + AC_MSG_CHECKING([if gcc/ld supports -Wl,--output-def]) + if test "$enable_shared" = no; then + output_def=no + AC_MSG_RESULT([no need, since shared libraries are disabled]) + else + _gcc_ldflags_save=$LDFLAGS + LDFLAGS="-Wl,--output-def,foo.def" + AC_LINK_IFELSE(AC_LANG_PROGRAM([]),output_def=yes,output_def=no) + AC_MSG_RESULT($output_def) + LDFLAGS="$_gcc_ldflags_save" + fi + + if test x$opt_dmalloc_mode = xyes; then + AC_CHECK_LIB(dmalloc, main) + AC_DEFINE(USE_DMALLOC, 1, [enable the use of dmalloc]) + else + if test x$opt_efence_mode = xyes; then + AC_CHECK_LIB(efence, main) + AC_DEFINE(USE_EFENCE, 1, [use electric fence]) + fi + fi + + AC_MSG_CHECKING([whether we have GNU assembler]) + GAS=`as --version < /dev/null 2>/dev/null | grep GNU` + if test "$GAS"; then + AM_CFLAGS="${AM_CFLAGS} -pipe" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi +fi + +# Needs to be called outside of 'if' clause. +AM_CONDITIONAL(HAVE_LD_OUTPUT_DEF, test "$output_def" = "yes") +AM_CONDITIONAL([HAVE_GCC_GNU89_INLINE_OPTION], + [test "$_gcc_gnu89_inline" = "yes"]) + +AC_MSG_RESULT([*** +*** Detecting C library capabilities... +]) + +AC_HEADER_STDC +AC_CHECK_HEADERS(netdb.h) +AC_CHECK_FUNCS(fork,,) +AC_DEFINE([HAVE_STRINGS_H], 1, [Hard-code for src/cfg/.]) +AC_DEFINE([HAVE_FLOAT_H], 1, [Hard-code for src/cfg/.]) +AC_DEFINE([HAVE_LIMITS_H], 1, [Hard-code for src/cfg/.]) +AC_DEFINE([HAVE_MATH_H], 1, [Hard-code for src/cfg/.]) +AC_DEFINE([HAVE_CTYPE_H], 1, [Hard-code for src/cfg/.]) +AC_DEFINE([HAVE_ERRNO_H], 1, [Hard-code for src/cfg/.]) + +# No fork on MinGW, disable some self-tests until we fix them. +AM_CONDITIONAL(HAVE_FORK, test "$ac_cv_func_fork" != "no") + +AC_MSG_RESULT([*** +*** Detecting system's parameters... +]) + +# Run self-tests under valgrind? +if test "$cross_compiling" = no; then + AC_CHECK_PROGS(VALGRIND, valgrind) +fi +if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then + opt_valgrind_tests=yes +else + opt_valgrind_tests=no + VALGRIND= +fi +AC_MSG_CHECKING([whether self tests are run under valgrind]) +AC_ARG_ENABLE(valgrind-tests, + AS_HELP_STRING([--enable-valgrind-tests], + [run self tests under valgrind]), + opt_valgrind_tests=$enableval) +AC_MSG_RESULT($opt_valgrind_tests) + +# For minitasn1. +AC_CHECK_SIZEOF(unsigned long int, 4) +AC_CHECK_SIZEOF(unsigned int, 4) + +# For storing integers in pointers without warnings +# http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc +AC_CHECK_SIZEOF(void *) +AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(int) +case $ac_cv_sizeof_void_p in + $ac_cv_sizeof_long) + AC_DEFINE(GNUTLS_POINTER_TO_INT_CAST, [(long)], + [Additional cast to bring void* to a type castable to int.]) + ;; + *) + AC_DEFINE(GNUTLS_POINTER_TO_INT_CAST, []) + ;; +esac + +# For some systems we know that we have ld_version scripts. +# Use it then as default. +have_ld_version_script=no +case "${host}" in + *-*-linux*) + have_ld_version_script=yes + ;; + *-*-gnu*) + have_ld_version_script=yes + ;; +esac +AC_ARG_ENABLE([ld-version-script], + AC_HELP_STRING([--enable-ld-version-script], + [enable/disable use of linker version script. + (default is system dependent)]), + [have_ld_version_script=$enableval], + [ : ] ) +AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes") + +AC_CHECK_TYPES(uint,,, [ +# include +]) + +# Check for and replace ssize_t. +AC_CHECK_TYPE(ssize_t, + [DEFINE_SSIZE_T="#include " + AC_SUBST(DEFINE_SSIZE_T)], + [AC_DEFINE(NO_SSIZE_T, 1, [no ssize_t type was found]) + DEFINE_SSIZE_T="typedef int ssize_t;" + AC_SUBST(DEFINE_SSIZE_T)], + [#include ]) + +AC_C_BIGENDIAN + +AC_MSG_RESULT([*** +*** Checking for external libraries... +]) + +# For Guile bindings. + +opt_guile_bindings=yes +AC_MSG_CHECKING([whether building Guile bindings]) +AC_ARG_ENABLE(guile, + AS_HELP_STRING([--enable-guile], [build GNU Guile bindings]), +opt_guile_bindings=$enableval) +AC_MSG_RESULT($opt_guile_bindings) + +AC_ARG_WITH([--with-guile-site-dir], + [AS_HELP_STRING([--with-guile-site-dir], + [use the given directory as the Guile site (use with care)])]) + +if test "x$opt_guile_bindings" = "xyes"; then + AC_MSG_RESULT([*** +*** Detecting GNU Guile... +]) + + AC_PATH_PROG([guile_snarf], [guile-snarf]) + if test "x$guile_snarf" = "x"; then + AC_MSG_WARN([`guile-snarf' from Guile 1.8 not found. Guile bindings not built.]) + opt_guile_bindings=no + else + GUILE_PROGS + GUILE_FLAGS + + save_CFLAGS="$CFLAGS" + save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GUILE_CFLAGS" + LIBS="$LIBS $GUILE_LDFLAGS" + AC_MSG_CHECKING([whether GNU Guile is recent enough]) + AC_LINK_IFELSE(AC_LANG_CALL([], [scm_from_locale_string]), + [], [opt_guile_bindings=no]) + CFLAGS="$save_CFLAGS" + LIBS="$save_LIBS" + + if test "x$opt_guile_bindings" = "xyes"; then + AC_MSG_RESULT([yes]) + case "x$with_guile_site_dir" in + xno) + # Use the default $(GUILE_SITE). + GUILE_SITE_DIR + ;; + x|xyes) + # Automatically derive $(GUILE_SITE) from $(pkgdatadir). This + # hack is used to allow `distcheck' to work (see + # `DISTCHECK_CONFIGURE_FLAGS' in the top-level `Makefile.am'). + GUILE_SITE="\$(datadir)/guile/site" + AC_SUBST(GUILE_SITE) + ;; + *) + # Use the user-specified directory as $(GUILE_SITE). + GUILE_SITE="$with_guile_site_dir" + AC_SUBST(GUILE_SITE) + ;; + esac + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([A sufficiently recent GNU Guile not found. Guile bindings not built.]) + opt_guile_bindings=no + fi + fi +fi +AM_CONDITIONAL(HAVE_GUILE, test "x$opt_guile_bindings" = "xyes") + +AM_PATH_LIBGCRYPT($GNUTLS_GCRYPT_VERSION,, +dnl Can't disable - gnutls depends on gcrypt + AC_MSG_ERROR([[ +*** +*** libgcrypt was not found. You may want to get it from +*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ +*** +]])) +libgcrypt=yes + +# If this ever changes to 0, the user disabled some officially enabled +# stuff so we will print a warning. +ac_full=1 + +# Hard-wire the gl/m4/gc.m4 test. +AC_ARG_WITH(builtin-crypto, + AS_HELP_STRING([--with-builtin-crypto], + [use internal crypto instead of libgcrypt (EXPERIMENTAL)]), + ac_cv_libgcrypt=no, + ac_cv_libgcrypt=yes) +LTLIBGCRYPT=$LIBGCRYPT_LIBS + +AC_MSG_CHECKING([whether to enable Opaque PRF input support]) +AC_ARG_ENABLE(opaque-prf-input, + AS_HELP_STRING([--enable-opaque-prf-input=DD], + [enable Opaque PRF input using DD as extension type]), + ac_opaque_prf_input=$enableval, ac_opaque_prf_input=no) +if test "$ac_opaque_prf_input" != "no"; then + if ! echo $ac_opaque_prf_input | egrep -q '^[[0-9]]+$'; then + ac_opaque_prf_input=no + AC_MSG_WARN([[ +*** Could not parse Opaque PRF Input extension type. +*** Use --enable-opaque-prf-input=XX where XX is decimal, for example +*** to use extension value 42 use --enable-opqaue-prf-input=42]]) + fi +fi +if test "$ac_opaque_prf_input" != "no"; then + AC_MSG_RESULT([yes (extension value $ac_opaque_prf_input)]) + AC_DEFINE_UNQUOTED(ENABLE_OPRFI, $ac_opaque_prf_input, + [enable Opaque PRF Input]) +else + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(ENABLE_OPRFI, test "$ac_opaque_prf_input" != "no") + +AC_MSG_CHECKING([whether to disable SRP authentication support]) +AC_ARG_ENABLE(srp-authentication, + AS_HELP_STRING([--disable-srp-authentication], + [disable the SRP authentication support]), + ac_enable_srp=no) +if test x$ac_enable_srp != xno; then + AC_MSG_RESULT(no) + AC_DEFINE(ENABLE_SRP, 1, [enable SRP authentication]) +else + ac_full=0 + AC_MSG_RESULT(yes) +fi +AM_CONDITIONAL(ENABLE_SRP, test "$ac_enable_srp" != "no") + +AC_MSG_CHECKING([whether to disable PSK authentication support]) +AC_ARG_ENABLE(psk-authentication, + AS_HELP_STRING([--disable-psk-authentication], + [disable the PSK authentication support]), + ac_enable_psk=no) +if test x$ac_enable_psk != xno; then + AC_MSG_RESULT(no) + AC_DEFINE(ENABLE_PSK, 1, [enable PSK authentication]) +else + ac_full=0 + AC_MSG_RESULT(yes) +fi + +AC_MSG_CHECKING([whether to disable anonymous authentication support]) +AC_ARG_ENABLE(anon-authentication, + AS_HELP_STRING([--disable-anon-authentication], + [disable the anonymous authentication support]), + ac_enable_anon=no) +if test x$ac_enable_anon != xno; then + AC_MSG_RESULT(no) + AC_DEFINE(ENABLE_ANON, 1, [enable anonymous authentication]) +else + ac_full=0 + AC_MSG_RESULT(yes) +fi +AM_CONDITIONAL(ENABLE_ANON, test "$ac_enable_anon" != "no") + +dnl Check for Camellia support +dnl +AC_ARG_ENABLE(camellia, + AS_HELP_STRING([--disable-camellia], [disable Camellia cipher]), + ac_enable_camellia=no) +if test "$ac_enable_camellia" != "no"; then + AC_MSG_CHECKING([for Camellia support in libgcrypt]) + if test -n "`$LIBGCRYPT_CONFIG --algorithms | grep -i camellia`"; then + AC_MSG_RESULT([yes]) + ac_enable_camellia=yes + else + AC_MSG_RESULT([no]) + ac_enable_camellia=no + fi +fi +AC_MSG_CHECKING([whether to disable Camellia cipher]) +if test "$ac_enable_camellia" = "yes"; then + AC_MSG_RESULT([no]) + AC_DEFINE(ENABLE_CAMELLIA, 1, [enable camellia block cipher]) +else + AC_MSG_RESULT([yes]) +fi + +AC_MSG_CHECKING([whether to disable extra PKI stuff]) +AC_ARG_ENABLE(extra-pki, + AS_HELP_STRING([--disable-extra-pki], + [only enable the basic PKI stuff]), + disable_pki=$enableval, disable_pki=no) +if test "$disable_pki" != "no"; then + ac_full=0 + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) + AC_DEFINE(ENABLE_PKI, 1, [whether to include all the PKCS/PKI stuff]) +fi +AM_CONDITIONAL(ENABLE_PKI, test "$disable_pki" = "no") + +ac_enable_openpgp=yes +AC_MSG_CHECKING([whether to disable OpenPGP Certificate authentication support]) +AC_ARG_ENABLE(openpgp-authentication, + AS_HELP_STRING([--disable-openpgp-authentication], + [disable the OpenPGP authentication support]), + ac_enable_openpgp=no) +if test x$ac_enable_openpgp = xno; then + AC_MSG_RESULT(yes) + ac_full=0 +else + AC_DEFINE(ENABLE_OPENPGP, 1, [use openpgp authentication]) + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(ENABLE_OPENPGP, test "$ac_enable_openpgp" = "yes") + +AC_MSG_CHECKING([whether to disable OpenSSL compatibility layer]) +AC_ARG_ENABLE(openssl-compatibility, + AS_HELP_STRING([--disable-openssl-compatibility], + [disable the OpenSSL compatibility support]), + ac_enable_openssl=$withval, + ac_enable_openssl=yes) +if test x$ac_enable_openssl != xno; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) +fi + +AM_CONDITIONAL(ENABLE_OPENSSL, test "$ac_enable_openssl" = "yes") + + +AC_ARG_WITH(included-libtasn1, + AS_HELP_STRING([--with-included-libtasn1], + [use the included libtasn1]), + minitasn1_enabled=$withval, + minitasn1_enabled=no) + +if test x$minitasn1_enabled = xno; then +AM_PATH_LIBTASN1($GNUTLS_LIBTASN1_VERSION,, + minitasn1_enabled=yes + AC_MSG_WARN([[ +*** +*** LibtASN1 ${GNUTLS_LIBTASN1_VERSION} was not found. Will use the included one. +]])) +fi + +AC_MSG_CHECKING([whether to use the included minitasn1]) +AC_MSG_RESULT($minitasn1_enabled) + +AM_CONDITIONAL(ENABLE_MINITASN1, test "$minitasn1_enabled" = "yes") + +dnl Check for libcfg+ + +SAVED_LIBS=$LIBS +AC_ARG_WITH(included-libcfg, + AS_HELP_STRING([--with-included-libcfg], + [use the included libcfg+ (certtool only)]), + libcfg_enabled=$withval, + libcfg_enabled=no +dnl We search for libcfg+ which is used by certtool +dnl + AC_CHECK_LIB(cfg+, cfg_get_context,:, + libcfg_enabled=yes + AC_MSG_WARN([[ +*** +*** Libcfg+ was not found. Will use the included one.]]))) + +AM_CONDITIONAL(HAVE_LIBCFG, test "$libcfg_enabled" = "no") +LIBS=$SAVED_LIBS + +AC_MSG_CHECKING([whether to use the included libcfg]) +AC_MSG_RESULT($libcfg_enabled) + + +dnl CHECK FOR ZLIB SUPPORT +dnl + +AC_MSG_CHECKING([whether to include zlib compression support]) + +AC_ARG_WITH(zlib, + AS_HELP_STRING([--without-zlib], [disable zlib compression support]), + ac_zlib=$withval, + ac_zlib=yes) + +if test x$ac_zlib != xno; then + AC_MSG_RESULT(yes) + AC_LIB_HAVE_LINKFLAGS(z,, [#include ], [compress (0, 0, 0, 0);]) + if test "$ac_cv_libz" != yes; then + AC_MSG_WARN( +*** +*** ZLIB was not found. You will not be able to use ZLIB compression.) + fi +else + AC_MSG_RESULT(no) +fi + + +dnl CHECK FOR LZO SUPPORT +dnl + +AC_ARG_WITH(lzo, + AS_HELP_STRING([--with-lzo], [use experimental LZO compression]), + use_lzo=$withval, + use_lzo=no) +AC_MSG_CHECKING([whether to include LZO compression support]) +AC_MSG_RESULT($use_lzo) + +LZO_LIBS= +if test "$use_lzo" = "yes"; then + AC_CHECK_LIB(lzo2, lzo1x_1_compress, LZO_LIBS=-llzo2) + if test "$LZO_LIBS" = ""; then + AC_CHECK_LIB(lzo, lzo1x_1_compress, LZO_LIBS=-llzo, [ + use_lzo=no + AC_MSG_WARN( +*** +*** Could not find liblzo or liblzo2. Disabling LZO compression. +) + ]) + fi +fi +AC_SUBST(LZO_LIBS) + +if test "$use_lzo" = "yes"; then + AC_DEFINE(USE_LZO, 1, [whether to use the LZO compression]) + if test "$LZO_LIBS" = "-llzo"; then + AC_CHECK_HEADERS(lzo1x.h) + elif test "$LZO_LIBS" = "-llzo2"; then + AC_CHECK_HEADERS(lzo/lzo1x.h) + fi +fi + +AM_CONDITIONAL(USE_LZO, test "$use_lzo" = "yes") + +# Windows hacks. + +AC_DEFINE([WINVER], [0x0501], [Windows 2000 or before not supported.]) +save_LIBS="$LIBS" +LIBS="$LIBS -lws2_32" +AC_TRY_LINK([#include ], [ + WORD wVersionRequested = MAKEWORD(2, 2); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup ();], wsastartup=yes, wsastartup=no) +LIBS="$save_LIBS" +if test "$wsastartup" = "yes"; then + AC_DEFINE(HAVE_WINSOCK, 1, [Call WSAStartup in gnutls_global_init]) +fi +AM_CONDITIONAL(NEED_WS2_32, test "$wsastartup" = "yes") +AC_MSG_CHECKING([if we have Windows and WSAStartup/WSACleanup in -lws2_32]) +AC_MSG_RESULT($wsastartup) + +dnl Gnulib files +dnl + +AC_MSG_RESULT([*** +*** Setting up gnulib compatibility files... +]) +gl_INIT +lgl_INIT + +AC_MSG_RESULT([*** +*** Detecting options for shared libraries... +]) +AC_LIBTOOL_WIN32_DLL +AC_PROG_LIBTOOL + +LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" +AC_SUBST(LIBGNUTLS_LIBS) +AC_SUBST(LIBGNUTLS_CFLAGS) + +LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS" +LIBGNUTLS_EXTRA_CFLAGS="-I${includedir}" +AC_SUBST(LIBGNUTLS_EXTRA_LIBS) +AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) +export ac_full + +AM_CFLAGS="${AM_CFLAGS} ${LIBGCRYPT_CFLAGS}" + +if test $ac_full -eq 0; then + AC_SUBST(POSSIBLY_WARN_ABOUT_MISSING_FEATURES, [[ +#ifdef __GNUC__ +#warning This is not the official GnuTLS library. Several features were disabled at compilation. +#endif /* __GNUC__ */]]) +fi + +AC_SUBST(AM_CFLAGS) + +AC_CONFIG_COMMANDS([chmod-config],[[ + chmod +x lib/libgnutls-config + chmod +x libextra/libgnutls-extra-config +]],[[]]) + + +AC_DEFINE([INTERNAL_GNUTLS_CRYPTO_H_ENABLE_UNSUPPORTED_API], 1, + [Enable prototypes in includes/crypto.h.]) + +AC_CONFIG_FILES([Makefile po/Makefile.in \ + doc/Makefile doc/examples/Makefile doc/scripts/Makefile \ + doc/manpages/Makefile doc/reference/Makefile \ + doc/credentials/Makefile doc/credentials/x509/Makefile \ + doc/credentials/srp/Makefile doc/credentials/openpgp/Makefile \ + gl/Makefile lgl/Makefile \ + tests/Makefile tests/rsa-md5-collision/Makefile tests/userid/Makefile \ + tests/pkcs1-padding/Makefile tests/pkcs8-decode/Makefile \ + tests/pkcs12-decode/Makefile tests/pathlen/Makefile \ + tests/key-id/Makefile tests/sha2/Makefile \ + tests/hostname-check/Makefile \ + includes/Makefile includes/gnutls/gnutls.h \ + lib/Makefile lib/minitasn1/Makefile lib/x509/Makefile \ + libextra/Makefile lib/openpgp/Makefile lib/opencdk/Makefile \ + tests/openpgp/Makefile tests/openpgp-certs/Makefile \ + src/Makefile \ + src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile \ + lib/libgnutls-config libextra/libgnutls-extra-config \ + lib/gnutls.pc libextra/gnutls-extra.pc + guile/Makefile guile/modules/Makefile + guile/src/Makefile guile/tests/Makefile]) + +AC_CONFIG_FILES([guile/pre-inst-guile], [chmod +x guile/pre-inst-guile]) + + +AC_OUTPUT diff -Nru gnutls26-2.8.6/COPYING.LIB gnutls26-2.4.1/COPYING.LIB --- gnutls26-2.8.6/COPYING.LIB 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/COPYING.LIB 2008-06-19 11:00:09.000000000 +0100 @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +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 and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, 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 library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete 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 distribute a copy of this License along with the +Library. + + 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 Library or any portion +of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +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 Library, 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 Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you 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. + + If distribution of 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 satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be 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. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library 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. + + 9. 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 Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +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 with +this License. + + 11. 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 Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library 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 Library. + +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. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library 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. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser 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 Library +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 Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +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 + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), 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 Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. 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 library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff -Nru gnutls26-2.8.6/debian/changelog gnutls26-2.4.1/debian/changelog --- gnutls26-2.8.6/debian/changelog 2010-03-20 15:06:34.000000000 +0000 +++ gnutls26-2.4.1/debian/changelog 2010-08-10 15:01:10.000000000 +0100 @@ -1,270 +1,62 @@ -gnutls26 (2.8.6-1) unstable; urgency=low +gnutls26 (2.4.1-1ubuntu0.4~) hardy; urgency=low - * Use dh_lintian. - * Use dh_makeshlibs for the guile stuff, too. This gets us - a) ldconfig in postinst. Closes: #553109 - and - b) a shlibs file. - However the shared objects /usr/lib/libguile-gnutls*so* are still not - designed to be used as libraries (linking) but are dlopened. guile-1.10 - will address this issue by keeping this stuff in a private directory. - * hotfix pkg-config files (proper fix to be included upstream). - * Stop unneeeded linkage against libgpg-error. 16_unnecessarydep.diff + * Upload for XBMC PPA. + * Version changed to be less than version in intrepid. - -- Andreas Metzler Sat, 20 Mar 2010 15:53:35 +0100 + -- Andres Mejia Tue, 10 Aug 2010 04:01:42 -0400 -gnutls26 (2.8.5-2) unstable; urgency=low +gnutls26 (2.4.1-1ubuntu0.4) intrepid-security; urgency=low - * Add a huge bunch of lintian overrides for the guile stuff to make dak - happy. + * SECURITY UPDATE: fix improper handling of '\0' in Common Name (CN) and + Subject Alternative Name (SAN) in X.509 certificates (LP: #413136) + - debian/patches/21_CVE-2009-2730.diff: verify length of CN and SAN + are what we expect and error out if either contains an embedded \0 + - CVE-2009-2730 - -- Andreas Metzler Fri, 13 Nov 2009 19:53:04 +0100 + -- Jamie Strandboge Fri, 14 Aug 2009 14:03:56 -0500 -gnutls26 (2.8.5-1) unstable; urgency=low +gnutls26 (2.4.1-1ubuntu0.3) intrepid-security; urgency=low - * Add datefudge to build-depends. (Only needed for the pkcs1-pad test.) - * Switch to '3.0 (quilt)' source format, allowing us to use upstreams - orig.tar.bz2 without repacking it to gz. - * New upstream version. - + Drop patches/20_fixtimebomb.diff. - - -- Andreas Metzler Thu, 12 Nov 2009 19:57:08 +0100 - -gnutls26 (2.8.4-2) unstable; urgency=high - - * [20_fixtimebomb.diff] Fix testsuite error. Closes: #552920 - - -- Andreas Metzler Sun, 01 Nov 2009 13:21:27 +0100 - -gnutls26 (2.8.4-1) unstable; urgency=low - - * New upstream version. - + Drop debian/patches/15_openpgp.diff. - * Sync priorities with override file, libgnutls26 has been bumped from - important to standard. - - -- Andreas Metzler Sat, 26 Sep 2009 10:33:52 +0200 + * Fix for certificate chain regressions introduced by fixes for + CVE-2008-4989 + * debian/patches/20_CVE-2008-4989.diff: updated to upstream's final + 2.4.2 - 2.4.3 patchset for lib/x509/verify.c to fix CVE-2008-4989 and + address all known regressions. To summarize from upstream: + - Fix X.509 certificate chain validation error (CVE-2008-4989) + - Fix chain verification for chains that end with RSA-MD2 CAs (LP: #305264) + - Deprecate X.509 validation chains using MD5 and MD2 signatures + - Accept chains where intermediary certs are trusted (LP: #305264) -gnutls26 (2.8.3-3) unstable; urgency=low + -- Jamie Strandboge Fri, 20 Feb 2009 12:24:43 -0600 - * Empty dependency_libs in la-files. (Squeeze release goal.) +gnutls26 (2.4.1-1ubuntu0.2) intrepid-security; urgency=low - -- Andreas Metzler Sat, 05 Sep 2009 09:09:22 +0200 - -gnutls26 (2.8.3-2) unstable; urgency=low - - * [ debian/patches/15_openpgp.diff ] The CVE-2009-2730 patch broke - openpgp connections. - - -- Andreas Metzler Sat, 22 Aug 2009 14:14:48 +0200 - -gnutls26 (2.8.3-1) unstable; urgency=high - - * New upstream version. - + Stops hardcoding a hard dependency on the versions of gcrypt and tasn it - was built against. Closes: #540449 - + Fixes CVE-2009-2730, a vulnerability related to NUL bytes in X.509 - certificate name fields. Closes: #541439 GNUTLS-SA-2009-4 - http://lists.gnu.org/archive/html/help-gnutls/2009-08/msg00011.html - * Drop 15_chainverify_expiredcert.diff, included upstream. - * Urgency high, since 541439 applies to testing, too. - - -- Andreas Metzler Fri, 14 Aug 2009 19:14:29 +0200 - -gnutls26 (2.8.1-2) unstable; urgency=low - - [ Simon Josefsson ] - * Remove cruft in rules file. - * Remove patches/15_tasn1inpc.diff, not needed. - - [ Andreas Metzler ] - * Finally add an entry to the NEWS.Debian file concerning the deprecation of - RSA-MD2 and RSA-MD5 for signature verification. Closes: #514578 - * Upload to unstable. - * 15_chainverify_expiredcert.diff: New patch, pulled from upstream GIT. - Fix testsuite error caused by expired certificate. + * Fix for regression where some valid certificate chains would be untrusted + - Update debian/patches/20_CVE-2008-4989.diff to check if last certificate + is self-signed and prevent verifying self-signed certificates against + themselves. Patch from upstream. + - http://lists.gnu.org/archive/html/gnutls-devel/2008-12/msg00008.html + - LP: #305264 - -- Andreas Metzler Thu, 06 Aug 2009 19:12:51 +0200 + -- Jamie Strandboge Fri, 05 Dec 2008 14:36:48 -0600 -gnutls26 (2.8.1-1) experimental; urgency=low +gnutls26 (2.4.1-1ubuntu0.1) intrepid-security; urgency=low - * New upstream stable release. - - -- Andreas Metzler Thu, 11 Jun 2009 09:15:28 +0200 - -gnutls26 (2.7.14-1) experimental; urgency=low - - * [debian/control] set section setting of source package to libs instead of - devel. - * New upstream version. - + Drop debian/patches/16_symbolversioning_fix.diff, included upstream. - + Bump shlibs, new symbols added. - - -- Andreas Metzler Tue, 26 May 2009 19:51:41 +0200 - -gnutls26 (2.7.12-1) experimental; urgency=low - - * Fix typo in changelog. Closes: #526427 - * New upstream release. - + Does not ship the scripts libgnutls-extra-config and libgnutls-config - and the .m4 snippet to use it anymore. Please switch to pkg-config or - standard autoconf test. Drop manpages and - both patches/13_lessdeps_gnutls-config.diff and - patches/13_lessdeps_gnutls-config.diff from the debian diff. - + Update remaining patches. - + Bump shlibs, new symbols added. - * [patches/16_symbolversioning_fix.diff] Since gnutls_x509_crq_set_key was - already present in 2.6.x it needs to be versioned GNUTLS_1_4 instead of - GNUTLS_2_8. - * New upstream uses separate ./configure scripts for the different - libraries. Invoke the main ./configure script with - --cache-file=$(CURDIR)/config.cache to speed things up. - - -- Andreas Metzler Thu, 21 May 2009 11:18:35 +0200 - -gnutls26 (2.6.6-1) unstable; urgency=high - - * use @LTLIBTASN1@ instead of @LIBTASN1@ in Libs.private of *.pc.in. This - way lib-link.m4 gives us -ltasn1 instead of /usr/lib/libtasn1.so. - * New upstream security release. - + libgnutls: Corrected double free on signature verification failure. - GNUTLS-SA-2009-1 CVE-2009-1415 - + libgnutls: Fix DSA key generation. Noticed when investigating the - previous GNUTLS-SA-2009-1 problem. All DSA keys generated using GnuTLS - 2.6.x are corrupt. See the advisory for more details. - GNUTLS-SA-2009-2 CVE-2009-1416 - + libgnutls: Check expiration/activation time on untrusted certificates. - Before the library did not check activation/expiration times on - certificates, and was documented as not doing so. - GNUTLS-SA-2009-3 CVE-2009-1417 - * The former two issues only apply to gnutls 2.6.x. The latter is a - behavior change, add a NEWS.Debian file to document it. - - -- Andreas Metzler Thu, 30 Apr 2009 19:00:21 +0200 - -gnutls26 (2.6.5-1) unstable; urgency=low - - * Sync sections in debian/control with override file. libgnutls26-dbg is - section debug, guile-gnutls is section lisp. - * New upstream version. (Needed for Libtasn1-3 2.0) - * New patch 15_tasn1inpc.diff. Make sure libtasn1 is listed in Libs.private. - * Standards-Version: 3.8.1, no changes required. - - -- Andreas Metzler Tue, 14 Apr 2009 14:23:19 +0200 - -gnutls26 (2.6.4-2) unstable; urgency=low - - * Upload to unstable. - * Merge changelog entries from unstable and experimental. - - -- Andreas Metzler Mon, 16 Feb 2009 16:43:37 +0100 - -gnutls26 (2.6.4-1) experimental; urgency=low - - * New upstream version. + * SECURITY UPDATE: Fix for man-in-the-middle attack in certificate + validation + - debian/patches/20_CVE-2008-4989.diff: don't remove the last certificate + if it is self-signed in lib/x509/verify.c + - http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3215 + - http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3248 + - CVE-2008-4989 - -- Andreas Metzler Sat, 07 Feb 2009 14:32:57 +0100 + -- Jamie Strandboge Tue, 25 Nov 2008 03:35:25 -0600 -gnutls26 (2.6.3-1) experimental; urgency=low +gnutls26 (2.4.1-1build1) intrepid; urgency=low - * New upstream version. - + Corrects bug gnutls-cli which caused a rehandshake request - to be ignored. Closes: #396867 - * Drop debian/patches/21_GNUTLS-SA-2008-3.fix.patch (included upstream) - - -- Andreas Metzler Sun, 21 Dec 2008 10:46:38 +0100 - -gnutls26 (2.6.2-2) experimental; urgency=low - - * 21_GNUTLS-SA-2008-3.fix.patch Another fix for the verification fix. Some - correct certificate chains were not recognized as verified. - Closes: #507633 - * [lintian] Add ${misc:Depends} to multiple dendency lines. - - -- Andreas Metzler Sat, 06 Dec 2008 13:31:58 +0100 - -gnutls26 (2.6.2-1) experimental; urgency=low - - * New upstream version. - + Fixes certification verifaction error CVE-2008-4989. Closes: #505360 - + Drop 20_fix_501077.diff. - * ia64 has guile-1.8 nowadays, let's try building the guile-gnutls wrappper - there. - * Add Simon Josefsson to uploaders. - - -- Andreas Metzler Thu, 13 Nov 2008 19:30:06 +0100 - -gnutls26 (2.6.0-1) experimental; urgency=low - - * New upstream stable release. - * Add debian/patches/20_fix_501077.diff to fix an out of bound access in - gnutls-openssl. (Thanks, Thomas Viehmann). Closes: #501077 - - -- Andreas Metzler Sat, 25 Oct 2008 09:59:03 +0200 - -gnutls26 (2.5.9-1) experimental; urgency=low - - * New upstream development version. - * Bump shlibs. - - -- Andreas Metzler Sat, 04 Oct 2008 12:40:01 +0200 - -gnutls26 (2.4.2-6) unstable; urgency=medium - - * New patches, syncing with 2.4.3 upstream oldstable release: - + 24_intermedcertificate.patch If a non-root certificate ist trusted - gnutls certificateificate verification stops there instead of checking - up to the root of the certificate chain. - + 22_whitespace.patch - Whitespace only changes, to make it possible to - apply upstream fixes without manual changes. - + 25_bufferoverrun.patch. Fix buffer overrun bug in - gnutls_x509_crt_list_import. - http://news.gmane.org/find-root.php?message_id=%3c000001c91d6e%2463059c90%242910d5b0%24%40com%3e - - -- Andreas Metzler Sat, 07 Feb 2009 12:58:51 +0100 - -gnutls26 (2.4.2-5) unstable; urgency=low - - * Pull two patches from upstream stable branch to make gnutls behavior - match documentation: - + patch 23_permit_v1_CA.diff:Accept v1 x509 CA - certs if GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Closes: #509593 - + 22_deprecate_md2_md5_x509_validation.diff: Verifying untrusted X.509 - certificates signed with RSA-MD2 or RSA-MD5 will now fail with a - GNUTLS_CERT_INSECURE_ALGORITHM verification output. - CVE-2009-2409 - - -- Andreas Metzler Sat, 31 Jan 2009 16:26:52 +0100 - -gnutls26 (2.4.2-4) unstable; urgency=medium - - * Add Simon Josefsson to uploaders. - * Another fix for the verification fix. Some correct certificate chains were - not recognized as verified. Closes: #507633 - - -- Andreas Metzler Sat, 06 Dec 2008 12:09:33 +0100 - -gnutls26 (2.4.2-3) unstable; urgency=low - - * Fix a crash on trying to verify self-signed certificates introduced by the - patch for CVE-2008-4989. Closes: #505279 - - -- Andreas Metzler Wed, 12 Nov 2008 19:23:23 +0100 - -gnutls26 (2.4.2-2) unstable; urgency=medium - - * [CVE-2008-4989.diff] Fix man in the middle attack for certificate - verification. CVE-2008-4989 GNUTLS-SA-2008-3 - - -- Andreas Metzler Mon, 10 Nov 2008 19:42:54 +0100 - -gnutls26 (2.4.2-1) unstable; urgency=low - - * New upstream bugfix release. - * Up to date gnutls-cli manpage. Closes: #492775 + * Rebuild against thread-enabled guile-1.8. - -- Andreas Metzler Sun, 21 Sep 2008 10:35:16 +0200 + -- Martin Pitt Wed, 06 Aug 2008 14:18:59 +0000 gnutls26 (2.4.1-1) unstable; urgency=medium diff -Nru gnutls26-2.8.6/debian/control gnutls26-2.4.1/debian/control --- gnutls26-2.8.6/debian/control 2010-03-20 15:11:38.000000000 +0000 +++ gnutls26-2.4.1/debian/control 2010-08-10 15:01:10.000000000 +0100 @@ -1,11 +1,12 @@ Source: gnutls26 -Section: libs +Section: devel Priority: optional -Maintainer: Debian GnuTLS Maintainers -Uploaders: Andreas Metzler , Eric Dorland , James Westby , Simon Josefsson -Build-Depends: debhelper (>= 5.0.0), libgcrypt11-dev (>= 1.3.2), zlib1g-dev, cdbs, gtk-doc-tools, texinfo (>= 4.8), libtasn1-3-dev (>= 0.3.4-0), autotools-dev, guile-1.8-dev, datefudge +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Debian GnuTLS Maintainers +Uploaders: Andreas Metzler , Eric Dorland , James Westby +Build-Depends: debhelper (>= 5.0.0), libgcrypt11-dev (>= 1.3.2), zlib1g-dev, cdbs, gtk-doc-tools, texinfo (>= 4.8), libtasn1-3-dev (>= 0.3.4-0), autotools-dev, guile-1.8-dev [!ia64] Build-Conflicts: libgnutls-dev -Standards-Version: 3.8.4 +Standards-Version: 3.8.0 Vcs-Svn: svn://svn.debian.org/svn/pkg-gnutls/packages/gnutls26/trunk Vcs-Browser: http://svn.debian.org/wsvn/pkg-gnutls/packages/gnutls26/trunk/ Homepage: http://www.gnutls.org/ @@ -15,7 +16,7 @@ Section: libdevel Architecture: any Provides: gnutls-dev -Depends: libgnutls26 (= ${binary:Version}), libgcrypt11-dev (>= 1.3.0), libc6-dev | libc-dev, zlib1g-dev, libtasn1-3-dev (>= 0.3.4), ${misc:Depends} +Depends: libgnutls26 (= ${binary:Version}), libgcrypt11-dev (>= 1.3.0), libc6-dev | libc-dev, zlib1g-dev, libtasn1-3-dev (>= 0.3.4) Suggests: gnutls-doc, gnutls-bin, guile-gnutls Conflicts: libgnutls11-dev, gnutls-dev (<< 0.4.0-0), gnutls0.4-dev Replaces: libgnutls11-dev, gnutls-dev (<< 0.4.0-0), gnutls0.4-dev @@ -33,10 +34,10 @@ This package contains the gnutls development files. Package: libgnutls26 -Priority: standard +Priority: important Architecture: any Section: libs -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends} Replaces: gnutls0, gnutls3, gnutls0.4 Conflicts: gnutls0, gnutls0.4 Suggests: gnutls-bin @@ -56,8 +57,8 @@ Package: libgnutls26-dbg Priority: extra Architecture: any -Section: debug -Depends: libgnutls26 (= ${binary:Version}), ${misc:Depends} +Section: devel +Depends: libgnutls26 (= ${binary:Version}) Conflicts: libgnutls13-dbg Description: GNU TLS library - debugger symbols gnutls is a portable library which implements the Transport Layer @@ -76,7 +77,7 @@ Priority: optional Architecture: any Section: net -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends} Conflicts: libgnutls5-dev, gnutls0.4-dev, gnutls-dev (<< 0.4.0-0) Replaces: libgnutls5-dev, gnutls0.4-dev, gnutls-dev (<< 0.4.0-0) Description: the GNU TLS library - commandline utilities @@ -99,8 +100,8 @@ Package: guile-gnutls Priority: optional -Architecture: any -Section: lisp +Architecture: alpha amd64 arm armel hppa i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel powerpc s390 sparc +Section: libs Depends: ${misc:Depends},${shlibs:Depends}, guile-1.8 Description: the GNU TLS library - GNU Guile bindings gnutls is a portable library which implements the Transport Layer diff -Nru gnutls26-2.8.6/debian/copyright gnutls26-2.4.1/debian/copyright --- gnutls26-2.8.6/debian/copyright 2009-05-20 19:29:57.000000000 +0100 +++ gnutls26-2.4.1/debian/copyright 2010-08-10 15:01:10.000000000 +0100 @@ -21,9 +21,6 @@ Yoshisato YANAGISAWA Emile Van Bergen Joe Orton - Daniel Kahn Gillmor - David Marín Carreño - License: The main library is licensed under GNU Lesser General Public License (LGPL) version 2.1+, Gnutls Extra (i.e. openssl wrapper library, @@ -34,7 +31,8 @@ Copyright: -------------------- - * Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +/* + * Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -54,50 +52,50 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA + * + */ -------------------- /* - * Copyright (C) 2001, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * * This file is part of GNUTLS-EXTRA. * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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. + * GNUTLS-EXTRA 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 3 of the License, or + * (at your option) any later version. + * + * GNUTLS-EXTRA 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, see - * . + * along with this program. If not, see . */ -------------------- The documentation is distributed under the terms of the GNU Free Documentation License (FDL): -------------------- -Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or +under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. -@end quotation -------------------- On Debian GNU/Linux systems, the complete text of the latest version of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL' v2.1 of the license in `/usr/share/common-licenses/LGPL-2.1'; the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. The GNU Free -Documentation License is available under /usr/share/common-licenses/GFDL-1.3. +Documentation License is available under /usr/share/common-licenses/GFDL-1.2. diff -Nru gnutls26-2.8.6/debian/guile-gnutls.lintian-overrides gnutls26-2.4.1/debian/guile-gnutls.lintian-overrides --- gnutls26-2.8.6/debian/guile-gnutls.lintian-overrides 2010-03-20 08:08:28.000000000 +0000 +++ gnutls26-2.4.1/debian/guile-gnutls.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -guile-gnutls: non-dev-pkg-with-shlib-symlink -guile-gnutls: package-name-doesnt-match-sonames diff -Nru gnutls26-2.8.6/debian/libgnutls26.NEWS gnutls26-2.4.1/debian/libgnutls26.NEWS --- gnutls26-2.8.6/debian/libgnutls26.NEWS 2009-08-02 08:34:39.000000000 +0100 +++ gnutls26-2.4.1/debian/libgnutls26.NEWS 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -gnutls26 (2.6.6-1) unstable; urgency=high - - * libgnutls: Check expiration/activation time on untrusted certificates. - Before the library did not check activation/expiration times on - certificates, and was documented as not doing so. We have realized that - many applications that use libgnutls, including gnutls-cli, fail to - perform proper checks. Implementing similar logic in all applications - leads to code duplication. Hence, we decided to check whether the - current time (as reported by the time function) is within the - activation/expiration period of certificates when verifying untrusted - certificates. - - This changes the semantics of gnutls_x509_crt_list_verify, which in - turn is used by gnutls_certificate_verify_peers and - gnutls_certificate_verify_peers2. We add two new - gnutls_certificate_status_t codes for reporting the new error - condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. We also - add a new gnutls_certificate_verify_flags flag, - GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new - behaviour. - GNUTLS-SA-2009-3 CVE-2009-1417 - http://www.gnu.org/software/gnutls/security.html - - -- Andreas Metzler Thu, 30 Apr 2009 19:00:21 +0200 - -gnutls26 (2.4.2-5) unstable; urgency=medium - - * The gnutls certificate verification code has been changed to stop - trusting some weak algoritms. Verifying untrusted X.509 certificates - signed with RSA-MD2 or RSA-MD5 will now fail with a - GNUTLS_CERT_INSECURE_ALGORITHM verification output. - - See , - and - - - "certtool -i < signature.pem" will inform about the algoritm used for - signing (Search for "Signature Algorithm" in its output.). The proper - fix is to re-issue the certificates with a more secure algoritm. As a - hotfix the respective certicate itself can be added to the list of - trusted certificates. Obviously this should only be done after - verifying the certificate by different means than relying on the weak - signature. - - -- Andreas Metzler Sat, 07 Feb 2009 12:58:51 +0100 diff -Nru gnutls26-2.8.6/debian/libgnutls-config.1 gnutls26-2.4.1/debian/libgnutls-config.1 --- gnutls26-2.8.6/debian/libgnutls-config.1 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/libgnutls-config.1 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,50 @@ +.TH GNUTLS 1 "16 December 1998" Version 0.2.4 +.SH NAME +libgnutls-config, libgnutls-extra-config - script to get information about the installed version of GNU TLS +.SH SYNOPSIS +.B libgnutls-config [\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-version] [\-\-libs] [\-\-cflags] [LIBRARIES] + +.B libgnutls-extra-config [\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-version] [\-\-libs] [\-\-cflags] [LIBRARIES] +.SH DESCRIPTION +.PP +\fIlibgnutls-config\fP is a tool that is used to configure to determine +the compiler and linker flags that should be used to compile +and link programs that use \fIGNU TLS\fP. It is also used internally +to the .m4 macros for GNU autoconf that are included with \fIGNU TLS\fP. +. +.SH OPTIONS + +\fIlibgnutls-config\fP and \fIlibgnutls-extra-config\fP accept the following options: +.TP 8 +.B \-\-version +Print the currently installed version of \fIGNU TLS\fP on the standard output. +.TP 8 +.B \-\-libs +Print the linker flags that are necessary to link a \fIGNU TLS\fP program. +.TP 8 +.B \-\-cflags +Print the compiler flags that are necessary to compile a \fIGNU TLS\fP program. +.TP 8 +.B \-\-prefix=PREFIX +If specified, use PREFIX instead of the installation prefix that \fIGNU TLS\fP +was built with when computing the output for the \-\-cflags and +\-\-libs options. This option is also used for the exec prefix +if \-\-exec\-prefix was not specified. This option must be specified +before any \-\-libs or \-\-cflags options. +.TP 8 +.B \-\-exec\-prefix=PREFIX +If specified, use PREFIX instead of the installation exec prefix that +\fIGNU TLS\fP was built with when computing the output for the \-\-cflags +and \-\-libs options. This option must be specified before any +\-\-libs or \-\-cflags options. +.SH SEE ALSO +.BR libgcrypt-config (1) +.SH COPYRIGHT +Copyright \(co 1998 Owen Taylor, modified for gnutls by Ivo +Timmermans, 2001. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. diff -Nru gnutls26-2.8.6/debian/libgnutls-dev.install gnutls26-2.4.1/debian/libgnutls-dev.install --- gnutls26-2.8.6/debian/libgnutls-dev.install 2009-05-19 19:08:28.000000000 +0100 +++ gnutls26-2.4.1/debian/libgnutls-dev.install 2010-08-10 15:01:10.000000000 +0100 @@ -3,6 +3,8 @@ debian/tmp/usr/lib/libgnutls*.a usr/lib debian/tmp/usr/lib/libgnutls.la usr/lib debian/tmp/usr/lib/libgnutls-*.la usr/lib +debian/tmp/usr/share/aclocal/* usr/share/aclocal +debian/tmp/usr/bin/libgnutls*config usr/bin debian/tmp/usr/lib/pkgconfig/gnutls.pc usr/lib/pkgconfig debian/tmp/usr/lib/pkgconfig/gnutls-extra.pc usr/lib/pkgconfig diff -Nru gnutls26-2.8.6/debian/libgnutls-dev.manpages gnutls26-2.4.1/debian/libgnutls-dev.manpages --- gnutls26-2.8.6/debian/libgnutls-dev.manpages 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/libgnutls-dev.manpages 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,2 @@ +debian/libgnutls-config.1 +debian/libgnutls-extra-config.1 diff -Nru gnutls26-2.8.6/debian/libgnutls-extra-config.1 gnutls26-2.4.1/debian/libgnutls-extra-config.1 --- gnutls26-2.8.6/debian/libgnutls-extra-config.1 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/libgnutls-extra-config.1 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1 @@ +.so man1/libgnutls-config.1 diff -Nru gnutls26-2.8.6/debian/patches/12_lessdeps.diff gnutls26-2.4.1/debian/patches/12_lessdeps.diff --- gnutls26-2.8.6/debian/patches/12_lessdeps.diff 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/patches/12_lessdeps.diff 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,11 @@ +--- gnutls13-1.4.0.orig/libextra/libgnutls-extra-config.in ++++ gnutls13-1.4.0/libextra/libgnutls-extra-config.in +@@ -4,7 +4,7 @@ + exec_prefix=@exec_prefix@ + exec_prefix_set=no + +-gnutls_libs="@LIBGNUTLS_EXTRA_LIBS@" ++gnutls_libs=-lgnutls-extra + gnutls_cflags="@LIBGNUTLS_EXTRA_CFLAGS@" + gnutls_la_file="@libdir@/libgnutls-extra.la" + diff -Nru gnutls26-2.8.6/debian/patches/13_lessdeps_gnutls-config.diff gnutls26-2.4.1/debian/patches/13_lessdeps_gnutls-config.diff --- gnutls26-2.8.6/debian/patches/13_lessdeps_gnutls-config.diff 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/patches/13_lessdeps_gnutls-config.diff 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,13 @@ +diff -Nur gnutls13-1.4.0.foo/lib/libgnutls-config.in gnutls13-1.4.0/lib/libgnutls-config.in +--- gnutls13-1.4.0.foo/lib/libgnutls-config.in 2005-07-02 21:41:49.000000000 +0000 ++++ gnutls13-1.4.0/lib/libgnutls-config.in 2006-07-02 10:04:39.382609128 +0000 +@@ -4,7 +4,8 @@ + exec_prefix=@exec_prefix@ + exec_prefix_set=no + +-gnutls_libs="@LIBGNUTLS_LIBS@" ++#gnutls_libs="@LIBGNUTLS_LIBS@" ++gnutls_libs="-lgnutls" + gnutls_cflags="@LIBGNUTLS_CFLAGS@" + gnutls_la_file="@libdir@/libgnutls.la" + diff -Nru gnutls26-2.8.6/debian/patches/14_version_gettextcat.diff gnutls26-2.4.1/debian/patches/14_version_gettextcat.diff --- gnutls26-2.8.6/debian/patches/14_version_gettextcat.diff 2009-05-14 18:30:31.000000000 +0100 +++ gnutls26-2.4.1/debian/patches/14_version_gettextcat.diff 2010-08-10 15:01:10.000000000 +0100 @@ -1,6 +1,9 @@ -diff -NurbB gnutls-2.7.10.orig/lib/po/Makevars gnutls-2.7.10/lib/po/Makevars ---- gnutls-2.7.10.orig/lib/po/Makevars 2009-05-11 18:15:43.000000000 +0200 -+++ gnutls-2.7.10/lib/po/Makevars 2009-05-14 19:29:24.000000000 +0200 +Ship the gettext translations as /usr/share/locales/*/gnutls13.mo instead of +/usr/share/locales/*/gnutls.mo to not break co-installability of +multiple libgnutls packages. + +--- gnutls13-1.6.1/po/Makevars.orig 2006-03-03 16:16:16.000000000 +0000 ++++ gnutls13-1.6.1/po/Makevars 2007-02-11 10:22:01.000000000 +0000 @@ -1,7 +1,7 @@ # Makefile variables for PO directory in any package using GNU gettext. diff -Nru gnutls26-2.8.6/debian/patches/15_fixgnutlspc.diff gnutls26-2.4.1/debian/patches/15_fixgnutlspc.diff --- gnutls26-2.8.6/debian/patches/15_fixgnutlspc.diff 2010-03-20 14:42:13.000000000 +0000 +++ gnutls26-2.4.1/debian/patches/15_fixgnutlspc.diff 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -diff -NurBbp gnutls-2.8.6.orig/lib/gnutls.pc.in gnutls-2.8.6/lib/gnutls.pc.in ---- gnutls-2.8.6.orig/lib/gnutls.pc.in 2009-06-02 20:59:32.000000000 +0200 -+++ gnutls-2.8.6/lib/gnutls.pc.in 2010-03-20 15:41:10.000000000 +0100 -@@ -21,5 +21,6 @@ Description: Transport Security Layer im - URL: http://www.gnu.org/software/gnutls/ - Version: @VERSION@ - Libs: -L${libdir} -lgnutls --Libs.private: @LIBGNUTLS_LIBS@ @LTLIBTASN1@ -+Libs.private: @LTLIBGCRYPT@ -+Requires.private: libtasn1, zlib - Cflags: -I${includedir} diff -Nru gnutls26-2.8.6/debian/patches/16_unnecessarydep.diff gnutls26-2.4.1/debian/patches/16_unnecessarydep.diff --- gnutls26-2.8.6/debian/patches/16_unnecessarydep.diff 2010-03-20 15:01:56.000000000 +0000 +++ gnutls26-2.4.1/debian/patches/16_unnecessarydep.diff 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -diff -NurBbp gnutls-2.8.6.orig/configure gnutls-2.8.6/configure ---- gnutls-2.8.6.orig/configure 2010-03-15 11:29:16.000000000 +0100 -+++ gnutls-2.8.6/configure 2010-03-20 16:01:07.000000000 +0100 -@@ -7026,7 +7026,7 @@ fi - rpathdirs= - ltrpathdirs= - names_already_handled= -- names_next_round='gcrypt gpg-error' -+ names_next_round='gcrypt' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= -diff -NurBbp gnutls-2.8.6.orig/lib/configure gnutls-2.8.6/lib/configure ---- gnutls-2.8.6.orig/lib/configure 2010-03-15 11:28:38.000000000 +0100 -+++ gnutls-2.8.6/lib/configure 2010-03-20 16:00:59.000000000 +0100 -@@ -12102,7 +12102,7 @@ fi - rpathdirs= - ltrpathdirs= - names_already_handled= -- names_next_round='gcrypt gpg-error' -+ names_next_round='gcrypt' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= -diff -NurBbp gnutls-2.8.6.orig/libextra/configure gnutls-2.8.6/libextra/configure ---- gnutls-2.8.6.orig/libextra/configure 2010-03-15 11:28:58.000000000 +0100 -+++ gnutls-2.8.6/libextra/configure 2010-03-20 16:00:53.000000000 +0100 -@@ -11509,7 +11509,7 @@ fi - rpathdirs= - ltrpathdirs= - names_already_handled= -- names_next_round='gcrypt gpg-error' -+ names_next_round='gcrypt' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= diff -Nru gnutls26-2.8.6/debian/patches/20_CVE-2008-4989.diff gnutls26-2.4.1/debian/patches/20_CVE-2008-4989.diff --- gnutls26-2.8.6/debian/patches/20_CVE-2008-4989.diff 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/patches/20_CVE-2008-4989.diff 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,200 @@ +# +# Ubuntu: https://launchpad.net/bugs/305264 +# Patch: taken from 2.4.2 to 2.4.3 diff +# Description: Fix for CVE-2008-4989 with all known regressions fixed +# +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.1/lib/x509/verify.c gnutls26-2.4.1.new/lib/x509/verify.c +--- gnutls26-2.4.1/lib/x509/verify.c 2008-06-30 15:45:51.000000000 -0500 ++++ gnutls26-2.4.1.new/lib/x509/verify.c 2009-02-20 12:24:22.000000000 -0600 +@@ -42,17 +42,47 @@ + const gnutls_x509_crt_t * trusted_cas, + int tcas_size, unsigned int flags, + unsigned int *output); +-int _gnutls_x509_verify_signature (const gnutls_datum_t * signed_data, +- const gnutls_datum_t * signature, +- gnutls_x509_crt_t issuer); + +-static +- int is_crl_issuer (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer_cert); ++static int is_crl_issuer (gnutls_x509_crl_t crl, ++ gnutls_x509_crt_t issuer_cert); ++ + static int _gnutls_verify_crl2 (gnutls_x509_crl_t crl, + const gnutls_x509_crt_t * trusted_cas, + int tcas_size, unsigned int flags, + unsigned int *output); + ++/* Checks if two certs are identical. Return 0 onn match. */ ++static int ++check_if_same_cert (gnutls_x509_crt_t cert1, gnutls_x509_crt_t cert2) ++{ ++ gnutls_datum_t cert1bin = { NULL, 0 }, cert2bin = { NULL, 0 }; ++ int result; ++ ++ result = _gnutls_x509_der_encode (cert1->cert, "", &cert1bin, 0); ++ if (result < 0) ++ { ++ gnutls_assert (); ++ goto cleanup; ++ } ++ ++ result = _gnutls_x509_der_encode (cert2->cert, "", &cert2bin, 0); ++ if (result < 0) ++ { ++ gnutls_assert (); ++ goto cleanup; ++ } ++ ++ if ((cert1bin.size == cert2bin.size) && ++ (memcmp (cert1bin.data, cert2bin.data, cert1bin.size) == 0)) ++ result = 0; ++ else ++ result = 1; ++ ++ cleanup: ++ _gnutls_free_datum (&cert1bin); ++ _gnutls_free_datum (&cert2bin); ++ return result; ++} + + /* Checks if the issuer of a certificate is a + * Certificate Authority, or if the certificate is the same +@@ -127,8 +157,20 @@ + } + } + +- if (gnutls_x509_crt_get_ca_status (issuer, NULL) == 1) ++ result = gnutls_x509_crt_get_ca_status (issuer, NULL); ++ if (result == 1) ++ { ++ result = 1; ++ goto cleanup; ++ } ++ /* Handle V1 CAs that do not have a basicConstraint, but accept ++ these certs only if the appropriate flags are set. */ ++ else if ((result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) && ++ ((flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT) || ++ ((flags & GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT) && ++ (gnutls_x509_crt_check_issuer (issuer, issuer) == 1)))) + { ++ gnutls_assert (); + result = 1; + goto cleanup; + } +@@ -322,6 +364,7 @@ + { + if (output) + *output |= GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID; ++ ret = 0; + } + } + +@@ -354,16 +397,12 @@ + } + + +-/* The algorithm used is: +- * 1. Check last certificate in the chain. If it is not verified return. +- * 2. Check if any certificates in the chain are revoked. If yes return. +- * 3. Try to verify the rest of certificates in the chain. If not verified return. +- * 4. Return 0. ++/* Verify X.509 certificate chain. + * + * Note that the return value is an OR of GNUTLS_CERT_* elements. + * +- * This function verifies a X.509 certificate list. The certificate list should +- * lead to a trusted CA in order to be trusted. ++ * This function verifies a X.509 certificate list. The certificate ++ * list should lead to a trusted certificate in order to be trusted. + */ + static unsigned int + _gnutls_x509_verify_certificate (const gnutls_x509_crt_t * certificate_list, +@@ -376,16 +415,56 @@ + int i = 0, ret; + unsigned int status = 0, output; + ++ if (clist_size > 1) ++ { ++ /* Check if the last certificate in the path is self signed. ++ * In that case ignore it (a certificate is trusted only if it ++ * leads to a trusted party by us, not the server's). ++ * ++ * This prevents from verifying self signed certificates against ++ * themselves. This (although not bad) caused verification ++ * failures on some root self signed certificates that use the ++ * MD2 algorithm. ++ */ ++ if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1], ++ certificate_list[clist_size - 1]) > 0) ++ { ++ clist_size--; ++ } ++ } ++ ++ /* We want to shorten the chain by removing the cert that matches ++ * one of the certs we trust and all the certs after that i.e. if ++ * cert chain is A signed-by B signed-by C signed-by D (signed-by ++ * self-signed E but already removed above), and we trust B, remove ++ * B, C and D. We must leave the first cert on chain. */ ++ if (clist_size > 1 && !(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME)) ++ { ++ for (i = 1; i < clist_size; i++) ++ { ++ int j; ++ ++ for (j = 0; j < tcas_size; j++) ++ { ++ if (check_if_same_cert (certificate_list[i], ++ trusted_cas[j]) == 0) ++ { ++ clist_size = i; ++ break; ++ } ++ } ++ /* clist_size may have been changed which gets out of loop */ ++ } ++ } ++ + /* Verify the last certificate in the certificate path + * against the trusted CA certificate list. + * + * If no CAs are present returns CERT_INVALID. Thus works + * in self signed etc certificates. + */ +- ret = +- _gnutls_verify_certificate2 (certificate_list[clist_size - 1], +- trusted_cas, tcas_size, flags, &output); +- ++ ret = _gnutls_verify_certificate2 (certificate_list[clist_size - 1], ++ trusted_cas, tcas_size, flags, &output); + if (ret == 0) + { + /* if the last certificate in the certificate +@@ -414,18 +493,7 @@ + } + #endif + +- /* Check if the last certificate in the path is self signed. +- * In that case ignore it (a certificate is trusted only if it +- * leads to a trusted party by us, not the server's). +- */ +- if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1], +- certificate_list[clist_size - 1]) > 0 +- && clist_size > 0) +- { +- clist_size--; +- } +- +- /* Verify the certificate path (chain) ++ /* Verify the certificate path (chain) + */ + for (i = clist_size - 1; i > 0; i--) + { +@@ -1031,6 +1099,7 @@ + { + if (output) + *output |= GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID; ++ ret = 0; + } + } + diff -Nru gnutls26-2.8.6/debian/patches/21_CVE-2009-2730.diff gnutls26-2.4.1/debian/patches/21_CVE-2009-2730.diff --- gnutls26-2.8.6/debian/patches/21_CVE-2009-2730.diff 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/debian/patches/21_CVE-2009-2730.diff 2010-08-10 15:01:10.000000000 +0100 @@ -0,0 +1,246 @@ +# +# Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnutls26/+bug/413136 +# Upstream: http://lists.gnu.org/archive/html/help-gnutls/2009-08/msg00011.html +# Patch: adapted from upstream commits: +# http://git.savannah.gnu.org/cgit/gnutls.git/commit/?h=gnutls_2_8_x&id=a431be86124f900c4082e82d32917f86fcce461a +# http://git.savannah.gnu.org/cgit/gnutls.git/commit/?h=gnutls_2_8_x&id=74b6d92f9675ce4e03642c4d6ced4a3a614b07f6 +# http://git.savannah.gnu.org/cgit/gnutls.git/commit/?h=gnutls_2_8_x&id=40081594e3de518b998f3e5177ed5a9f7707f2e8 +# http://git.savannah.gnu.org/cgit/gnutls.git/patch/?id=5a58e9d33448235377afd5fbfcee1683dc70eae3 +# http://git.savannah.gnu.org/cgit/gnutls.git/patch/?id=1ea190d216767dd4ab93b87361cbcb9d4fb3aafc +# Description: fix improper handling of '\0' in Common Name (CN) and Subject +# Alternative Name (SAN) in X.509 certificates +# +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/gnutls_str.c gnutls26-2.4.2.new/lib/gnutls_str.c +--- gnutls26-2.4.2/lib/gnutls_str.c 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/gnutls_str.c 2009-08-14 13:52:59.222006047 -0500 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2002, 2004, 2005, 2007, 2008 Free Software Foundation ++ * Copyright (C) 2002, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * +@@ -331,16 +331,21 @@ + + /* compare hostname against certificate, taking account of wildcards + * return 1 on success or 0 on error ++ * ++ * note: certnamesize is required as X509 certs can contain embedded NULs in ++ * the strings such as CN or subjectAltName + */ + int +-_gnutls_hostname_compare (const char *certname, const char *hostname) ++_gnutls_hostname_compare (const char *certname, ++ size_t certnamesize, ++ const char *hostname) + { + /* find the first different character */ +- for (; *certname && *hostname && toupper(*certname) == toupper(*hostname); certname++, hostname++) ++ for (; *certname && *hostname && toupper(*certname) == toupper(*hostname); certname++, hostname++, certnamesize--) + ; + + /* the strings are the same */ +- if (strlen (certname) == 0 && strlen (hostname) == 0) ++ if (certnamesize == 0 && *hostname == '\0') + return 1; + + if (*certname == '*') +@@ -348,15 +353,16 @@ + /* a wildcard certificate */ + + certname++; +- ++ certnamesize--; ++ + while (1) + { + /* Use a recursive call to allow multiple wildcards */ +- if (_gnutls_hostname_compare (certname, hostname)) +- { +- return 1; +- } +- /* wildcards are only allowed to match a single domain component or component fragment */ ++ if (_gnutls_hostname_compare (certname, certnamesize, hostname)) ++ return 1; ++ ++ /* wildcards are only allowed to match a single domain ++ component or component fragment */ + if (*hostname == '\0' || *hostname == '.') + break; + hostname++; +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/gnutls_str.h gnutls26-2.4.2.new/lib/gnutls_str.h +--- gnutls26-2.4.2/lib/gnutls_str.h 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/gnutls_str.h 2009-08-14 13:49:43.534007138 -0500 +@@ -62,7 +62,7 @@ + int _gnutls_hex2bin (const opaque * hex_data, int hex_size, opaque * bin_data, + size_t * bin_size); + +-int _gnutls_hostname_compare (const char *certname, const char *hostname); ++int _gnutls_hostname_compare (const char *certname, size_t certnamesize, const char *hostname); + #define MAX_CN 256 + + #endif +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/openpgp/pgp.c gnutls26-2.4.2.new/lib/openpgp/pgp.c +--- gnutls26-2.4.2/lib/openpgp/pgp.c 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/openpgp/pgp.c 2009-08-14 13:53:35.954006279 -0500 +@@ -566,7 +566,7 @@ + + if (ret == 0) + { +- if (_gnutls_hostname_compare (dnsname, hostname)) ++ if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + return 1; + } + } +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/x509/common.c gnutls26-2.4.2.new/lib/x509/common.c +--- gnutls26-2.4.2/lib/x509/common.c 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/x509/common.c 2009-08-14 13:49:43.538006866 -0500 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * +@@ -241,6 +241,10 @@ + { + str[len] = 0; + ++ /* Refuse to deal with strings containing NULs. */ ++ if (strlen (str) != len) ++ return GNUTLS_E_ASN1_DER_ERROR; ++ + if (res) + _gnutls_str_cpy (res, *res_size, str); + *res_size = len; +@@ -291,25 +295,27 @@ + non_printable = 0; + } + +- if (res) ++ if (non_printable == 0) + { +- if (non_printable == 0) +- { +- str[len] = 0; +- _gnutls_str_cpy (res, *res_size, str); +- *res_size = len; +- } +- else ++ str[len] = 0; ++ ++ /* Refuse to deal with strings containing NULs. */ ++ if (strlen (str) != len) ++ return GNUTLS_E_ASN1_DER_ERROR; ++ ++ if (res) ++ _gnutls_str_cpy (res, *res_size, str); ++ *res_size = len; ++ } ++ else ++ { ++ result = _gnutls_x509_data2hex (str, len, res, res_size); ++ if (result < 0) + { +- result = _gnutls_x509_data2hex (str, len, res, res_size); +- if (result < 0) +- { +- gnutls_assert (); +- return result; +- } ++ gnutls_assert (); ++ return result; + } + } +- + } + + return 0; +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/x509/output.c gnutls26-2.4.2.new/lib/x509/output.c +--- gnutls26-2.4.2/lib/x509/output.c 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/x509/output.c 2009-08-14 13:49:43.538006866 -0500 +@@ -272,6 +272,17 @@ + return; + } + ++ if ((err == GNUTLS_SAN_DNSNAME ++ || err == GNUTLS_SAN_RFC822NAME ++ || err == GNUTLS_SAN_URI) && ++ strlen (buffer) != size) ++ { ++ adds (str, _("warning: distributionPoint contains an embedded NUL, " ++ "replacing with '!'\n")); ++ while (strlen (buffer) < size) ++ buffer[strlen (buffer)] = '!'; ++ } ++ + switch (err) + { + case GNUTLS_SAN_DNSNAME: +@@ -423,6 +434,17 @@ + return; + } + ++ if ((err == GNUTLS_SAN_DNSNAME ++ || err == GNUTLS_SAN_RFC822NAME ++ || err == GNUTLS_SAN_URI) && ++ strlen (buffer) != size) ++ { ++ adds (str, _("warning: SAN contains an embedded NUL, " ++ "replacing with '!'\n")); ++ while (strlen (buffer) < size) ++ buffer[strlen (buffer)] = '!'; ++ } ++ + switch (err) + { + case GNUTLS_SAN_DNSNAME: +@@ -481,7 +503,17 @@ + } + + if (err == GNUTLS_SAN_OTHERNAME_XMPP) +- addf (str, _("\t\t\tXMPP Address: %.*s\n"), size, buffer); ++ { ++ if (strlen (buffer) != size) ++ { ++ adds (str, _("warning: SAN contains an embedded NUL, " ++ "replacing with '!'\n")); ++ while (strlen (buffer) < size) ++ buffer[strlen (buffer)] = '!'; ++ } ++ ++ addf (str, _("\t\t\tXMPP Address: %.*s\n"), size, buffer); ++ } + else + { + addf (str, _("\t\t\totherName OID: %.*s\n"), oidsize, oid); +diff -Nur -x '*.orig' -x '*~' gnutls26-2.4.2/lib/x509/rfc2818_hostname.c gnutls26-2.4.2.new/lib/x509/rfc2818_hostname.c +--- gnutls26-2.4.2/lib/x509/rfc2818_hostname.c 2008-09-15 15:04:19.000000000 -0500 ++++ gnutls26-2.4.2.new/lib/x509/rfc2818_hostname.c 2009-08-14 13:54:12.614006798 -0500 +@@ -74,7 +74,7 @@ + if (ret == GNUTLS_SAN_DNSNAME) + { + found_dnsname = 1; +- if (_gnutls_hostname_compare (dnsname, hostname)) ++ if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + { + return 1; + } +@@ -84,7 +84,7 @@ + found_dnsname = 1; /* RFC 2818 is unclear whether the CN + should be compared for IP addresses + too, but we won't do it. */ +- if (_gnutls_hostname_compare (dnsname, hostname)) ++ if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + { + return 1; + } +@@ -104,7 +104,7 @@ + return 0; + } + +- if (_gnutls_hostname_compare (dnsname, hostname)) ++ if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + { + return 1; + } diff -Nru gnutls26-2.8.6/debian/patches/series gnutls26-2.4.1/debian/patches/series --- gnutls26-2.8.6/debian/patches/series 2010-03-20 15:02:18.000000000 +0000 +++ gnutls26-2.4.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -14_version_gettextcat.diff -15_fixgnutlspc.diff -16_unnecessarydep.diff diff -Nru gnutls26-2.8.6/debian/rules gnutls26-2.4.1/debian/rules --- gnutls26-2.8.6/debian/rules 2010-03-20 07:51:18.000000000 +0000 +++ gnutls26-2.4.1/debian/rules 2010-08-10 15:01:10.000000000 +0100 @@ -8,16 +8,36 @@ include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk -DEB_CONFIGURE_EXTRA_FLAGS = --enable-ld-version-script --disable-cxx --without-lzo --enable-guile --with-guile-site-dir=/usr/share/guile/site --cache-file=$(CURDIR)/config.cache +DEB_CONFIGURE_EXTRA_FLAGS = --with-mcrypt=no --enable-ld-version-script --disable-cxx --without-lzo DEB_MAKE_CHECK_TARGET = check DEB_DH_STRIP_ARGS = --dbg-package=libgnutls26-dbg -DEB_DH_MAKESHLIBS_ARGS_libgnutls26 := -V 'libgnutls26 (>=2.7.14-0)' -DEB_DH_MAKESHLIBS_ARGS_guile-gnutls := -V 'guile-gnutls (>=2.7.14-0)' +DEB_DH_MAKESHLIBS_ARGS_libgnutls26 := -V 'libgnutls26 (>=2.4.0-0)' +DEB_DH_MAKESHLIBS_ARGS_guile-gnutls := -Xusr/lib/libguile-gnutls- DEB_COMPRESS_EXCLUDE := gnutls.pdf +# No guile on ia64; do not build gnutls wrapper there. +ifeq ($(DEB_BUILD_ARCH),ia64) + DEB_CONFIGURE_EXTRA_FLAGS += --disable-guile +else + DEB_CONFIGURE_EXTRA_FLAGS += --enable-guile --with-guile-site-dir=/usr/share/guile/site +endif + +#build/libgnutls-doc:: +# $(DEB_MAKE_INVOKE) -C libextra/openpgp pgp-api.tex +# $(DEB_MAKE_INVOKE) -C doc/tex gnutls.ps +# $(DEB_MAKE_INVOKE) -C doc/tex +# +#install/libgnutls-doc:: +# $(DEB_MAKE_INVOKE) -C doc/tex $(DEB_MAKE_INSTALL_TARGET) + + +post-patches:: + cd $(DEB_SRCDIR) && chmod +x doc/scripts/sort2.pl doc/scripts/gdoc + # pre-clean rule: save gnutls.pdf since it is expensive to regenerate. -# See README.source +# See README.source_and_patches cleanbuilddir/gnutls-doc:: if [ -e doc/gnutls.pdf ] ; then mv doc/gnutls.pdf doc/gnutls.pdf.debbackup ; fi @@ -30,7 +50,8 @@ -rm -f tests/stamp-tests # stupid conflicts - -rm -f doc/*.info* lib/po/libgnutls26.pot + -rm -f libextra/lzoconf.h libextra/lzodefs.h + -rm -f doc/*.info* # restore gnutls.pdf if [ -e doc/gnutls.pdf.debbackup ] && [ ! -e doc/gnutls.pdf ] ; then mv doc/gnutls.pdf.debbackup doc/gnutls.pdf ; fi @@ -50,7 +71,3 @@ cd ../.. && \ dh_link -pgnutls-doc -install/libgnutls-dev:: - find debian/tmp/usr/lib -name "*.la" -exec \ - sed -i -e "s,^dependency_libs=.*,dependency_libs=''," {} + - diff -Nru gnutls26-2.8.6/debian/source/format gnutls26-2.4.1/debian/source/format --- gnutls26-2.8.6/debian/source/format 2010-08-10 15:01:09.000000000 +0100 +++ gnutls26-2.4.1/debian/source/format 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -3.0 (quilt) diff -Nru gnutls26-2.8.6/doc/algorithms.texi gnutls26-2.4.1/doc/algorithms.texi --- gnutls26-2.8.6/doc/algorithms.texi 2010-03-15 10:35:25.000000000 +0000 +++ gnutls26-2.4.1/doc/algorithms.texi 1970-01-01 01:00:00.000000000 +0100 @@ -1,211 +0,0 @@ -Available cipher suites: -@multitable @columnfractions .60 .20 .20 -@item TLS_ANON_DH_ARCFOUR_MD5 -@tab 0x00 0x18 -@tab SSL3.0 -@item TLS_ANON_DH_3DES_EDE_CBC_SHA1 -@tab 0x00 0x1b -@tab SSL3.0 -@item TLS_ANON_DH_AES_128_CBC_SHA1 -@tab 0x00 0x34 -@tab SSL3.0 -@item TLS_ANON_DH_AES_256_CBC_SHA1 -@tab 0x00 0x3a -@tab SSL3.0 -@item TLS_ANON_DH_CAMELLIA_128_CBC_SHA1 -@tab 0x00 0x46 -@tab TLS1.0 -@item TLS_ANON_DH_CAMELLIA_256_CBC_SHA1 -@tab 0x00 0x89 -@tab TLS1.0 -@item TLS_PSK_SHA_ARCFOUR_SHA1 -@tab 0x00 0x8a -@tab TLS1.0 -@item TLS_PSK_SHA_3DES_EDE_CBC_SHA1 -@tab 0x00 0x8b -@tab TLS1.0 -@item TLS_PSK_SHA_AES_128_CBC_SHA1 -@tab 0x00 0x8c -@tab TLS1.0 -@item TLS_PSK_SHA_AES_256_CBC_SHA1 -@tab 0x00 0x8d -@tab TLS1.0 -@item TLS_DHE_PSK_SHA_ARCFOUR_SHA1 -@tab 0x00 0x8e -@tab TLS1.0 -@item TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1 -@tab 0x00 0x8f -@tab TLS1.0 -@item TLS_DHE_PSK_SHA_AES_128_CBC_SHA1 -@tab 0x00 0x90 -@tab TLS1.0 -@item TLS_DHE_PSK_SHA_AES_256_CBC_SHA1 -@tab 0x00 0x91 -@tab TLS1.0 -@item TLS_SRP_SHA_3DES_EDE_CBC_SHA1 -@tab 0xc0 0x1a -@tab TLS1.0 -@item TLS_SRP_SHA_AES_128_CBC_SHA1 -@tab 0xc0 0x1d -@tab TLS1.0 -@item TLS_SRP_SHA_AES_256_CBC_SHA1 -@tab 0xc0 0x20 -@tab TLS1.0 -@item TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 -@tab 0xc0 0x1c -@tab TLS1.0 -@item TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 -@tab 0xc0 0x1b -@tab TLS1.0 -@item TLS_SRP_SHA_DSS_AES_128_CBC_SHA1 -@tab 0xc0 0x1f -@tab TLS1.0 -@item TLS_SRP_SHA_RSA_AES_128_CBC_SHA1 -@tab 0xc0 0x1e -@tab TLS1.0 -@item TLS_SRP_SHA_DSS_AES_256_CBC_SHA1 -@tab 0xc0 0x22 -@tab TLS1.0 -@item TLS_SRP_SHA_RSA_AES_256_CBC_SHA1 -@tab 0xc0 0x21 -@tab TLS1.0 -@item TLS_DHE_DSS_ARCFOUR_SHA1 -@tab 0x00 0x66 -@tab TLS1.0 -@item TLS_DHE_DSS_3DES_EDE_CBC_SHA1 -@tab 0x00 0x13 -@tab SSL3.0 -@item TLS_DHE_DSS_AES_128_CBC_SHA1 -@tab 0x00 0x32 -@tab SSL3.0 -@item TLS_DHE_DSS_AES_256_CBC_SHA1 -@tab 0x00 0x38 -@tab SSL3.0 -@item TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 -@tab 0x00 0x44 -@tab TLS1.0 -@item TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 -@tab 0x00 0x87 -@tab TLS1.0 -@item TLS_DHE_RSA_3DES_EDE_CBC_SHA1 -@tab 0x00 0x16 -@tab SSL3.0 -@item TLS_DHE_RSA_AES_128_CBC_SHA1 -@tab 0x00 0x33 -@tab SSL3.0 -@item TLS_DHE_RSA_AES_256_CBC_SHA1 -@tab 0x00 0x39 -@tab SSL3.0 -@item TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 -@tab 0x00 0x45 -@tab TLS1.0 -@item TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 -@tab 0x00 0x88 -@tab TLS1.0 -@item TLS_RSA_NULL_MD5 -@tab 0x00 0x01 -@tab SSL3.0 -@item TLS_RSA_EXPORT_ARCFOUR_40_MD5 -@tab 0x00 0x03 -@tab SSL3.0 -@item TLS_RSA_ARCFOUR_SHA1 -@tab 0x00 0x05 -@tab SSL3.0 -@item TLS_RSA_ARCFOUR_MD5 -@tab 0x00 0x04 -@tab SSL3.0 -@item TLS_RSA_3DES_EDE_CBC_SHA1 -@tab 0x00 0x0a -@tab SSL3.0 -@item TLS_RSA_AES_128_CBC_SHA1 -@tab 0x00 0x2f -@tab SSL3.0 -@item TLS_RSA_AES_256_CBC_SHA1 -@tab 0x00 0x35 -@tab SSL3.0 -@item TLS_RSA_CAMELLIA_128_CBC_SHA1 -@tab 0x00 0x41 -@tab TLS1.0 -@item TLS_RSA_CAMELLIA_256_CBC_SHA1 -@tab 0x00 0x84 -@tab TLS1.0 -@end multitable - - -Available certificate types: -@itemize -@item X.509 -@item OPENPGP -@end itemize - -Available protocols: -@itemize -@item SSL3.0 -@item TLS1.0 -@item TLS1.1 -@item TLS1.2 -@end itemize - -Available ciphers: -@itemize -@item AES-256-CBC -@item AES-128-CBC -@item 3DES-CBC -@item DES-CBC -@item ARCFOUR-128 -@item ARCFOUR-40 -@item RC2-40 -@item CAMELLIA-256-CBC -@item CAMELLIA-128-CBC -@item NULL -@end itemize - -Available MAC algorithms: -@itemize -@item SHA1 -@item MD5 -@item SHA256 -@item SHA384 -@item SHA512 -@item MD2 -@item RIPEMD160 -@item NULL -@end itemize - -Available key exchange methods: -@itemize -@item ANON-DH -@item RSA -@item RSA-EXPORT -@item DHE-RSA -@item DHE-DSS -@item SRP-DSS -@item SRP-RSA -@item SRP -@item PSK -@item DHE-PSK -@end itemize - -Available public key algorithms: -@itemize -@item RSA -@item DSA -@end itemize - -Available public key signature algorithms: -@itemize -@item RSA-SHA -@item RSA-SHA256 -@item RSA-SHA384 -@item RSA-SHA512 -@item RSA-RMD160 -@item DSA-SHA -@item RSA-MD5 -@item RSA-MD2 -@end itemize - -Available compression methods: -@itemize -@item DEFLATE -@item NULL -@end itemize diff -Nru gnutls26-2.8.6/doc/certtool.cfg gnutls26-2.4.1/doc/certtool.cfg --- gnutls26-2.8.6/doc/certtool.cfg 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/certtool.cfg 2008-06-19 11:00:09.000000000 +0100 @@ -88,17 +88,12 @@ # Whether this key will be used for time stamping. #time_stamping_key -#a space separated list of key purpose OIDs to be added -#key_purpose_oids = "1.3.6.1.5.5.7.3.1" "1.2.3.4.5.6" # Things for PKCS #10 certificate Requests # A challenge password for the request. #challenge_password = "My challenge password" -# When generating certificate use extensions found in certificate request. -#honor_crq_extensions - # Other things. # A password to be used while encrypting/decrypting. @@ -107,9 +102,5 @@ # The next update (in days from now) for a CRL #crl_next_update = 30 -# The CRL number extension -#crl_number = 1 - # A name for a PKCS #12 key #pkcs12_key_name = "Anonymous key" - diff -Nru gnutls26-2.8.6/doc/core.c.texi gnutls26-2.4.1/doc/core.c.texi --- gnutls26-2.8.6/doc/core.c.texi 2010-03-15 10:32:11.000000000 +0000 +++ gnutls26-2.4.1/doc/core.c.texi 2008-06-30 22:12:54.000000000 +0100 @@ -1,276 +1,276 @@ @c Automatically generated, do not edit. -@c snarfed from ../guile/src/core.c:2784 +@c snarfed from ../guile/src/core.c:2734 @deffn {Scheme Procedure} set-log-level! level Enable GnuTLS logging up to @var{level} (an integer). @end deffn -@c snarfed from ../guile/src/core.c:2766 +@c snarfed from ../guile/src/core.c:2717 @deffn {Scheme Procedure} set-log-procedure! proc Use @var{proc} (a two-argument procedure) as the global GnuTLS log procedure. @end deffn -@c snarfed from ../guile/src/core.c:2696 +@c snarfed from ../guile/src/core.c:2648 @deffn {Scheme Procedure} x509-certificate-subject-alternative-name cert index Return two values: the alternative name type for @var{cert} (i.e., one of the @code{x509-subject-alternative-name/} values) and the actual subject alternative name (a string) at @var{index}. Both values are @code{#f} if no alternative name is available at @var{index}. @end deffn -@c snarfed from ../guile/src/core.c:2661 +@c snarfed from ../guile/src/core.c:2613 @deffn {Scheme Procedure} x509-certificate-subject-key-id cert Return the subject key ID (a u8vector) for @var{cert}. @end deffn -@c snarfed from ../guile/src/core.c:2630 +@c snarfed from ../guile/src/core.c:2582 @deffn {Scheme Procedure} x509-certificate-authority-key-id cert Return the key ID (a u8vector) of the X.509 certificate authority of @var{cert}. @end deffn -@c snarfed from ../guile/src/core.c:2598 +@c snarfed from ../guile/src/core.c:2551 @deffn {Scheme Procedure} x509-certificate-key-id cert Return a statistically unique ID (a u8vector) for @var{cert} that depends on its public key parameters. This is normally a 20-byte SHA-1 hash. @end deffn -@c snarfed from ../guile/src/core.c:2576 +@c snarfed from ../guile/src/core.c:2530 @deffn {Scheme Procedure} x509-certificate-version cert Return the version of @var{cert}. @end deffn -@c snarfed from ../guile/src/core.c:2549 +@c snarfed from ../guile/src/core.c:2502 @deffn {Scheme Procedure} x509-certificate-key-usage cert Return the key usage of @var{cert} (i.e., a list of @code{key-usage/} values), or the empty list if @var{cert} does not contain such information. @end deffn -@c snarfed from ../guile/src/core.c:2526 +@c snarfed from ../guile/src/core.c:2480 @deffn {Scheme Procedure} x509-certificate-public-key-algorithm cert Return two values: the public key algorithm (i.e., one of the @code{pk-algorithm/} values) of @var{cert} and the number of bits used. @end deffn -@c snarfed from ../guile/src/core.c:2503 +@c snarfed from ../guile/src/core.c:2458 @deffn {Scheme Procedure} x509-certificate-signature-algorithm cert Return the signature algorithm used by @var{cert} (i.e., one of the @code{sign-algorithm/} values). @end deffn -@c snarfed from ../guile/src/core.c:2471 +@c snarfed from ../guile/src/core.c:2427 @deffn {Scheme Procedure} x509-certificate-matches-hostname? cert hostname Return true if @var{cert} matches @var{hostname}, a string denoting a DNS host name. This is the basic implementation of @uref{http://tools.ietf.org/html/rfc2818, RFC 2818} (aka. HTTPS). @end deffn -@c snarfed from ../guile/src/core.c:2453 +@c snarfed from ../guile/src/core.c:2410 @deffn {Scheme Procedure} x509-certificate-issuer-dn-oid cert index Return the OID (a string) at @var{index} from @var{cert}'s issuer DN. Return @code{#f} if no OID is available at @var{index}. @end deffn -@c snarfed from ../guile/src/core.c:2439 +@c snarfed from ../guile/src/core.c:2397 @deffn {Scheme Procedure} x509-certificate-dn-oid cert index Return OID (a string) at @var{index} from @var{cert}. Return @code{#f} if no OID is available at @var{index}. @end deffn -@c snarfed from ../guile/src/core.c:2377 +@c snarfed from ../guile/src/core.c:2336 @deffn {Scheme Procedure} x509-certificate-issuer-dn cert Return the distinguished name (DN) of X.509 certificate @var{cert}. @end deffn -@c snarfed from ../guile/src/core.c:2364 +@c snarfed from ../guile/src/core.c:2324 @deffn {Scheme Procedure} x509-certificate-dn cert Return the distinguished name (DN) of X.509 certificate @var{cert}. The form of the DN is as described in @uref{http://tools.ietf.org/html/rfc2253, RFC 2253}. @end deffn -@c snarfed from ../guile/src/core.c:2274 +@c snarfed from ../guile/src/core.c:2235 @deffn {Scheme Procedure} pkcs8-import-x509-private-key data format [pass [encrypted]] Return a new X.509 private key object resulting from the import of @var{data} (a uniform array) according to @var{format}. Optionally, if @var{pass} is not @code{#f}, it should be a string denoting a passphrase. @var{encrypted} tells whether the private key is encrypted (@code{#t} by default). @end deffn -@c snarfed from ../guile/src/core.c:2225 +@c snarfed from ../guile/src/core.c:2187 @deffn {Scheme Procedure} import-x509-private-key data format Return a new X.509 private key object resulting from the import of @var{data} (a uniform array) according to @var{format}. @end deffn -@c snarfed from ../guile/src/core.c:2180 +@c snarfed from ../guile/src/core.c:2143 @deffn {Scheme Procedure} import-x509-certificate data format Return a new X.509 certificate object resulting from the import of @var{data} (a uniform array) according to @var{format}. @end deffn -@c snarfed from ../guile/src/core.c:2152 +@c snarfed from ../guile/src/core.c:2116 @deffn {Scheme Procedure} server-session-psk-username session Return the username associated with PSK server session @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:2108 +@c snarfed from ../guile/src/core.c:2072 @deffn {Scheme Procedure} set-psk-client-credentials! cred username key key-format Set the client credentials for @var{cred}, a PSK client credentials object. @end deffn -@c snarfed from ../guile/src/core.c:2088 +@c snarfed from ../guile/src/core.c:2053 @deffn {Scheme Procedure} make-psk-client-credentials Return a new PSK client credentials object. @end deffn -@c snarfed from ../guile/src/core.c:2060 +@c snarfed from ../guile/src/core.c:2024 @deffn {Scheme Procedure} set-psk-server-credentials-file! cred file Use @var{file} as the password file for PSK server credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:2040 +@c snarfed from ../guile/src/core.c:2005 @deffn {Scheme Procedure} make-psk-server-credentials Return new PSK server credentials. @end deffn -@c snarfed from ../guile/src/core.c:1752 +@c snarfed from ../guile/src/core.c:1715 @deffn {Scheme Procedure} peer-certificate-status session Verify the peer certificate for @var{session} and return a list of @code{certificate-status} values (such as @code{certificate-status/revoked}), or the empty list if the certificate is valid. @end deffn -@c snarfed from ../guile/src/core.c:1724 +@c snarfed from ../guile/src/core.c:1687 @deffn {Scheme Procedure} set-certificate-credentials-verify-flags! cred [flags...] Set the certificate verification flags to @var{flags}, a series of @code{certificate-verify} values. @end deffn -@c snarfed from ../guile/src/core.c:1702 +@c snarfed from ../guile/src/core.c:1666 @deffn {Scheme Procedure} set-certificate-credentials-verify-limits! cred max-bits max-depth Set the verification limits of @code{peer-certificate-status} for certificate credentials @var{cred} to @var{max_bits} bits for an acceptable certificate and @var{max_depth} as the maximum depth of a certificate chain. @end deffn -@c snarfed from ../guile/src/core.c:1665 +@c snarfed from ../guile/src/core.c:1628 @deffn {Scheme Procedure} set-certificate-credentials-x509-keys! cred certs privkey Have certificate credentials @var{cred} use the X.509 certificates listed in @var{certs} and X.509 private key @var{privkey}. @end deffn -@c snarfed from ../guile/src/core.c:1619 +@c snarfed from ../guile/src/core.c:1582 @deffn {Scheme Procedure} set-certificate-credentials-x509-key-data! cred cert key format Use X.509 certificate @var{cert} and private key @var{key}, both uniform arrays containing the X.509 certificate and key in format @var{format}, for certificate credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:1599 +@c snarfed from ../guile/src/core.c:1562 @deffn {Scheme Procedure} set-certificate-credentials-x509-crl-data! cred data format Use @var{data} (a uniform array) as the X.509 CRL (certificate revocation list) database for @var{cred}. On success, return the number of CRLs processed. @end deffn -@c snarfed from ../guile/src/core.c:1580 +@c snarfed from ../guile/src/core.c:1543 @deffn {Scheme Procedure} set-certificate-credentials-x509-trust-data! cred data format Use @var{data} (a uniform array) as the X.509 trust database for @var{cred}. On success, return the number of certificates processed. @end deffn -@c snarfed from ../guile/src/core.c:1561 +@c snarfed from ../guile/src/core.c:1524 @deffn {Scheme Procedure} set-certificate-credentials-x509-crl-file! cred file format Use @var{file} as the X.509 CRL (certificate revocation list) file for certificate credentials @var{cred}. On success, return the number of CRLs processed. @end deffn -@c snarfed from ../guile/src/core.c:1542 +@c snarfed from ../guile/src/core.c:1505 @deffn {Scheme Procedure} set-certificate-credentials-x509-trust-file! cred file format Use @var{file} as the X.509 trust file for certificate credentials @var{cred}. On success, return the number of certificates processed. @end deffn -@c snarfed from ../guile/src/core.c:1500 +@c snarfed from ../guile/src/core.c:1463 @deffn {Scheme Procedure} set-certificate-credentials-x509-key-files! cred cert-file key-file format Use @var{file} as the password file for PSK server credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:1479 +@c snarfed from ../guile/src/core.c:1443 @deffn {Scheme Procedure} set-certificate-credentials-rsa-export-parameters! cred rsa-params Use RSA parameters @var{rsa_params} for certificate credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:1458 +@c snarfed from ../guile/src/core.c:1423 @deffn {Scheme Procedure} set-certificate-credentials-dh-parameters! cred dh-params Use Diffie-Hellman parameters @var{dh_params} for certificate credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:1438 +@c snarfed from ../guile/src/core.c:1404 @deffn {Scheme Procedure} make-certificate-credentials Return new certificate credentials (i.e., for use with either X.509 or OpenPGP certificates. @end deffn -@c snarfed from ../guile/src/core.c:1332 +@c snarfed from ../guile/src/core.c:1301 @deffn {Scheme Procedure} pkcs1-export-rsa-parameters rsa-params format Export Diffie-Hellman parameters @var{rsa_params} in PKCS1 format according for @var{format} (an @code{x509-certificate-format} value). Return a @code{u8vector} containing the result. @end deffn -@c snarfed from ../guile/src/core.c:1287 +@c snarfed from ../guile/src/core.c:1257 @deffn {Scheme Procedure} pkcs1-import-rsa-parameters array format Import Diffie-Hellman parameters in PKCS1 format (further specified by @var{format}, an @code{x509-certificate-format} value) from @var{array} (a homogeneous array) and return a new @code{rsa-params} object. @end deffn -@c snarfed from ../guile/src/core.c:1255 +@c snarfed from ../guile/src/core.c:1226 @deffn {Scheme Procedure} make-rsa-parameters bits Return new RSA parameters. @end deffn -@c snarfed from ../guile/src/core.c:1235 +@c snarfed from ../guile/src/core.c:1204 @deffn {Scheme Procedure} set-anonymous-server-dh-parameters! cred dh-params Set the Diffie-Hellman parameters of anonymous server credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/core.c:1215 +@c snarfed from ../guile/src/core.c:1185 @deffn {Scheme Procedure} make-anonymous-client-credentials Return anonymous client credentials. @end deffn -@c snarfed from ../guile/src/core.c:1197 +@c snarfed from ../guile/src/core.c:1167 @deffn {Scheme Procedure} make-anonymous-server-credentials Return anonymous server credentials. @end deffn -@c snarfed from ../guile/src/core.c:1176 +@c snarfed from ../guile/src/core.c:1146 @deffn {Scheme Procedure} set-session-dh-prime-bits! session bits Use @var{bits} DH prime bits for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:1154 +@c snarfed from ../guile/src/core.c:1124 @deffn {Scheme Procedure} pkcs3-export-dh-parameters dh-params format Export Diffie-Hellman parameters @var{dh_params} in PKCS3 format according for @var{format} (an @code{x509-certificate-format} value). Return a @code{u8vector} containing the result. @end deffn -@c snarfed from ../guile/src/core.c:1109 +@c snarfed from ../guile/src/core.c:1080 @deffn {Scheme Procedure} pkcs3-import-dh-parameters array format Import Diffie-Hellman parameters in PKCS3 format (further specified by @var{format}, an @code{x509-certificate-format} value) from @var{array} (a homogeneous array) and return a new @code{dh-params} object. @end deffn -@c snarfed from ../guile/src/core.c:1077 +@c snarfed from ../guile/src/core.c:1049 @deffn {Scheme Procedure} make-dh-parameters bits Return new Diffie-Hellman parameters. @end deffn -@c snarfed from ../guile/src/core.c:996 +@c snarfed from ../guile/src/core.c:968 @deffn {Scheme Procedure} set-session-transport-port! session port Use @var{port} as the input/output port for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:946 +@c snarfed from ../guile/src/core.c:918 @deffn {Scheme Procedure} set-session-transport-fd! session fd Use file descriptor @var{fd} as the underlying transport for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:901 +@c snarfed from ../guile/src/core.c:879 @deffn {Scheme Procedure} session-record-port session Return a read-write port that may be used to communicate over @var{session}. All invocations of @code{session-port} on a given session return the same object (in the sense of @code{eq?}). @end deffn -@c snarfed from ../guile/src/core.c:674 +@c snarfed from ../guile/src/core.c:668 @deffn {Scheme Procedure} record-receive! session array Receive data from @var{session} into @var{array}, a uniform homogeneous array. Return the number of bytes actually received. @end deffn -@c snarfed from ../guile/src/core.c:641 +@c snarfed from ../guile/src/core.c:635 @deffn {Scheme Procedure} record-send session array Send the record constituted by @var{array} through @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:559 +@c snarfed from ../guile/src/core.c:548 @deffn {Scheme Procedure} set-session-credentials! session cred Use @var{cred} as @var{session}'s credentials. @end deffn -@c snarfed from ../guile/src/core.c:537 +@c snarfed from ../guile/src/core.c:527 @deffn {Scheme Procedure} cipher-suite->string kx cipher mac Return the name of the given cipher suite. @end deffn -@c snarfed from ../guile/src/core.c:521 +@c snarfed from ../guile/src/core.c:512 @deffn {Scheme Procedure} set-session-default-export-priority! session Have @var{session} use the default export priorities. @end deffn -@c snarfed from ../guile/src/core.c:505 +@c snarfed from ../guile/src/core.c:497 @deffn {Scheme Procedure} set-session-default-priority! session Have @var{session} use the default priorities. @end deffn @@ -305,97 +305,97 @@ Use @var{items} (a list) as the list of preferred cipher for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:482 +@c snarfed from ../guile/src/core.c:474 @deffn {Scheme Procedure} set-server-session-certificate-request! session request Tell how @var{session}, a server-side session, should deal with certificate requests. @var{request} should be either @code{certificate-request/request} or @code{certificate-request/require}. @end deffn -@c snarfed from ../guile/src/core.c:442 +@c snarfed from ../guile/src/core.c:435 @deffn {Scheme Procedure} session-our-certificate-chain session Return our certificate chain for @var{session} (as sent to the peer) in raw format (a u8vector). In the case of OpenPGP there is exactly one certificate. Return the empty list if no certificate was used. @end deffn -@c snarfed from ../guile/src/core.c:395 +@c snarfed from ../guile/src/core.c:387 @deffn {Scheme Procedure} session-peer-certificate-chain session Return the a list of certificates in raw format (u8vectors) where the first one is the peer's certificate. In the case of OpenPGP, there is always exactly one certificate. In the case of X.509, subsequent certificates indicate form a certificate chain. Return the empty list if no certificate was sent. @end deffn -@c snarfed from ../guile/src/core.c:371 +@c snarfed from ../guile/src/core.c:364 @deffn {Scheme Procedure} session-client-authentication-type session Return the client authentication type (a @code{credential-type} value) used in @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:351 +@c snarfed from ../guile/src/core.c:345 @deffn {Scheme Procedure} session-server-authentication-type session Return the server authentication type (a @code{credential-type} value) used in @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:331 +@c snarfed from ../guile/src/core.c:326 @deffn {Scheme Procedure} session-authentication-type session Return the authentication type (a @code{credential-type} value) used by @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:311 +@c snarfed from ../guile/src/core.c:307 @deffn {Scheme Procedure} session-protocol session Return the protocol used by @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:295 +@c snarfed from ../guile/src/core.c:291 @deffn {Scheme Procedure} session-certificate-type session Return @var{session}'s certificate type. @end deffn -@c snarfed from ../guile/src/core.c:278 +@c snarfed from ../guile/src/core.c:274 @deffn {Scheme Procedure} session-compression-method session Return @var{session}'s compression method. @end deffn -@c snarfed from ../guile/src/core.c:261 +@c snarfed from ../guile/src/core.c:257 @deffn {Scheme Procedure} session-mac session Return @var{session}'s MAC. @end deffn -@c snarfed from ../guile/src/core.c:245 +@c snarfed from ../guile/src/core.c:241 @deffn {Scheme Procedure} session-kx session Return @var{session}'s kx. @end deffn -@c snarfed from ../guile/src/core.c:229 +@c snarfed from ../guile/src/core.c:225 @deffn {Scheme Procedure} session-cipher session Return @var{session}'s cipher. @end deffn -@c snarfed from ../guile/src/core.c:202 +@c snarfed from ../guile/src/core.c:198 @deffn {Scheme Procedure} alert-send session level alert Send @var{alert} via @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:185 +@c snarfed from ../guile/src/core.c:182 @deffn {Scheme Procedure} alert-get session Get an aleter from @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:167 +@c snarfed from ../guile/src/core.c:164 @deffn {Scheme Procedure} rehandshake session Perform a re-handshaking for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:149 +@c snarfed from ../guile/src/core.c:146 @deffn {Scheme Procedure} handshake session Perform a handshake for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:129 +@c snarfed from ../guile/src/core.c:126 @deffn {Scheme Procedure} bye session how Close @var{session} according to @var{how}. @end deffn -@c snarfed from ../guile/src/core.c:104 +@c snarfed from ../guile/src/core.c:102 @deffn {Scheme Procedure} make-session end Return a new session for connection end @var{end}, either @code{connection-end/server} or @code{connection-end/client}. @end deffn -@c snarfed from ../guile/src/core.c:93 +@c snarfed from ../guile/src/core.c:92 @deffn {Scheme Procedure} gnutls-version Return a string denoting the version number of the underlying GnuTLS library, e.g., @code{"1.7.2"}. @end deffn diff -Nru gnutls26-2.8.6/doc/credentials/Makefile.in gnutls26-2.4.1/doc/credentials/Makefile.in --- gnutls26-2.8.6/doc/credentials/Makefile.in 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/doc/credentials/Makefile.in 2008-06-30 22:07:49.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -36,9 +35,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -56,70 +54,84 @@ subdir = doc/credentials DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -131,43 +143,15 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -190,96 +174,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -291,31 +239,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -330,29 +263,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -360,18 +279,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -380,51 +292,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -433,123 +327,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -561,78 +440,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -664,11 +527,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -679,7 +545,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -703,14 +568,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/credentials/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/credentials/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -728,7 +593,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -743,7 +607,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -760,7 +624,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -768,7 +632,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -794,16 +658,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -811,14 +675,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -830,7 +694,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -839,34 +703,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -887,44 +746,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -954,7 +798,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -973,8 +816,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -983,28 +824,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -1025,8 +856,8 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ @@ -1042,7 +873,6 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/credentials/openpgp/Makefile.in gnutls26-2.4.1/doc/credentials/openpgp/Makefile.in --- gnutls26-2.8.6/doc/credentials/openpgp/Makefile.in 2010-03-15 10:29:19.000000000 +0000 +++ gnutls26-2.4.1/doc/credentials/openpgp/Makefile.in 2008-06-30 22:07:50.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = doc/credentials/openpgp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,7 +119,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -130,96 +142,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -231,31 +207,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -270,29 +231,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -300,18 +247,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -320,51 +260,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -373,123 +295,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -501,78 +408,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,11 +495,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -619,7 +513,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -633,14 +526,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/openpgp/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/credentials/openpgp/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/openpgp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/credentials/openpgp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -658,7 +551,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -688,17 +580,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -726,7 +614,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -745,8 +632,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -755,28 +640,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -810,7 +685,6 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/credentials/srp/Makefile.in gnutls26-2.4.1/doc/credentials/srp/Makefile.in --- gnutls26-2.8.6/doc/credentials/srp/Makefile.in 2010-03-15 10:29:19.000000000 +0000 +++ gnutls26-2.4.1/doc/credentials/srp/Makefile.in 2008-06-30 22:07:50.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = doc/credentials/srp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,7 +119,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -130,96 +142,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -231,31 +207,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -270,29 +231,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -300,18 +247,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -320,51 +260,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -373,123 +295,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -501,78 +408,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,11 +495,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -619,7 +513,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -633,14 +526,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/srp/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/credentials/srp/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/srp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/credentials/srp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -658,7 +551,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -688,17 +580,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -726,7 +614,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -745,8 +632,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -755,28 +640,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -810,7 +685,6 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/credentials/x509/Makefile.in gnutls26-2.4.1/doc/credentials/x509/Makefile.in --- gnutls26-2.8.6/doc/credentials/x509/Makefile.in 2010-03-15 10:29:19.000000000 +0000 +++ gnutls26-2.4.1/doc/credentials/x509/Makefile.in 2008-06-30 22:07:50.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = doc/credentials/x509 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,7 +119,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -130,96 +142,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -231,31 +207,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -270,29 +231,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -300,18 +247,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -320,51 +260,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -373,123 +295,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -501,78 +408,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,11 +495,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -619,7 +513,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -635,14 +528,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/x509/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/credentials/x509/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/credentials/x509/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/credentials/x509/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -660,7 +553,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -690,17 +582,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -728,7 +616,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -747,8 +634,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -757,28 +642,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -812,7 +687,6 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/cyclo/cyclo-gnutls.html gnutls26-2.4.1/doc/cyclo/cyclo-gnutls.html --- gnutls26-2.8.6/doc/cyclo/cyclo-gnutls.html 2010-03-15 10:43:38.000000000 +0000 +++ gnutls26-2.4.1/doc/cyclo/cyclo-gnutls.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,52477 +0,0 @@ - - - - -Cyclomatic Complexity report for GnuTLS - - - - - - - - - - - -Back to GnuTLS Homepage

-
GnuTLS Cyclomatic Complexity Report
-

Report generated at: Mon Mar 15 11:43:38 CET 2010

-
Resume
-
- - - - - - - - - - - - - - - - - - - - - -
-Total number of functions - -1576 -
-Number of low risk functions - -1399 -
-Number of moderate risk functions - -141 -
-Number of high risk functions - -36 -
-Number of untestable functions - -0 -
-
-
Details for all functions
-

Used ranges:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-  - -Cyclomatic Complexity - -Risk Evaluation -
-  - -0 - 10 - -Simple module, without much risk -
-  - -11 - 20 - -More complex module, moderate risk -
-  - -21 - 50 - -Complex module, high risk -
-  - -greater than 50 - -Untestable module, very high risk -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -Function Name - -Cyclomatic -
-Complexity -
-Number of -
-Statements -
-Number of -
-Lines -
-Source File -
- - -write_secret_key - -44 - -79 - -121 - -lib/opencdk/write-packet.c -
- -
- - -print_extensions - -43 - -128 - -239 - -lib/x509/output.c -
- -
- - -keydb_parse_allsigs - -42 - -104 - -179 - -lib/opencdk/keydb.c -
- -
- - -parse_pkcs12 - -45 - -168 - -297 - -lib/gnutls_x509.c -
- -
- - -print_crl - -39 - -158 - -279 - -lib/x509/output.c -
- -
- - -file_verify_clearsign - -37 - -94 - -147 - -lib/opencdk/verify.c -
- -
- - -_gnutls_recv_int - -36 - -106 - -260 - -lib/gnutls_record.c -
- -
- - -gnutls_priority_init - -33 - -86 - -160 - -lib/gnutls_priority.c -
- -
- - -read_secret_key - -32 - -91 - -131 - -lib/opencdk/read-packet.c -
- -
- - -keydb_merge_selfsig - -30 - -86 - -117 - -lib/opencdk/keydb.c -
- -
- - -cdk_keydb_get_keyblock - -30 - -74 - -133 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_parse_general_name - -30 - -100 - -185 - -lib/x509/x509.c -
- -
- - -armor_decode - -28 - -72 - -121 - -lib/opencdk/armor.c -
- -
- - -literal_decode - -28 - -67 - -103 - -lib/opencdk/literal.c -
- -
- - -print_san - -32 - -90 - -174 - -lib/x509/output.c -
- -
- - -_gnutls_set_keys - -27 - -106 - -283 - -lib/gnutls_constate.c -
- -
- - -cdk_pkt_read - -37 - -105 - -162 - -lib/opencdk/read-packet.c -
- -
- - -_gnutls_io_read_buffered - -26 - -63 - -174 - -lib/gnutls_buffers.c -
- -
- - -parse_sig_subpackets - -26 - -48 - -69 - -lib/opencdk/read-packet.c -
- -
- - -_gnutls_x509_parse_dn - -26 - -124 - -238 - -lib/x509/dn.c -
- -
- - -_gnutls_x509_oid_data2string - -25 - -72 - -145 - -lib/x509/common.c -
- -
- - -print_cert - -25 - -119 - -227 - -lib/x509/output.c -
- -
- - -cdk_keydb_search - -28 - -55 - -103 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_verify_certificate2 - -23 - -54 - -116 - -lib/x509/verify.c -
- -
- - -_gnutls_pkcs12_string_to_key - -23 - -101 - -145 - -lib/x509/pkcs12_encr.c -
- -
- - -_gnutls_ciphertext2compressed - -23 - -73 - -171 - -lib/gnutls_cipher.c -
- -
- - -_pkcs12_decode_safe_contents - -22 - -93 - -189 - -lib/x509/pkcs12.c -
- -
- - -_gnutls_proc_openpgp_server_certificate - -22 - -91 - -192 - -lib/auth_cert.c -
- -
- - -_gnutls_send_client_hello - -22 - -90 - -201 - -lib/gnutls_handshake.c -
- -
- - -_cdk_pk_check_sig - -22 - -69 - -113 - -lib/opencdk/sig-check.c -
- -
- - -_gnutls_recv_handshake - -30 - -57 - -120 - -lib/gnutls_handshake.c -
- -
- - -_gnutls_write_connection_state_init - -22 - -59 - -179 - -lib/gnutls_constate.c -
- -
- - -_gnutls_read_connection_state_init - -22 - -59 - -176 - -lib/gnutls_constate.c -
- -
- - -call_get_cert_callback - -21 - -64 - -136 - -lib/auth_cert.c -
- -
- - -_gnutls_x509_verify_certificate - -21 - -56 - -139 - -lib/x509/verify.c -
- -
- - -_gnutls_asn1_encode_rsa - -21 - -141 - -237 - -lib/x509/privkey.c -
- -
- - -print_crq - -21 - -108 - -205 - -lib/x509/output.c -
- -
- - -_gnutls_x509_parse_dn_oid - -20 - -82 - -166 - -lib/x509/dn.c -
- -
- - -_gnutls_srp_pwd_read_entry - -20 - -69 - -147 - -lib/auth_srp_passwd.c -
- -
- - -read_signature - -20 - -68 - -89 - -lib/opencdk/read-packet.c -
- -
- - -decode_pkcs8_key - -20 - -52 - -126 - -lib/x509/privkey_pkcs8.c -
- -
- - -write_signature - -20 - -49 - -63 - -lib/opencdk/write-packet.c -
- -
- - -_wrap_gcry_pk_sign - -21 - -80 - -159 - -lib/pk-libgcrypt.c -
- -
- - -_gnutls_pkcs1_rsa_encrypt - -20 - -93 - -157 - -lib/gnutls_pk.c -
- -
- - -_gnutls_io_write_buffered - -20 - -73 - -156 - -lib/gnutls_buffers.c -
- -
- - -_gnutls_send_int - -19 - -62 - -142 - -lib/gnutls_record.c -
- -
- - -_gnutls_verify_crl2 - -19 - -49 - -100 - -lib/x509/verify.c -
- -
- - -cdk_pk_check_sigs - -19 - -48 - -87 - -lib/opencdk/sig-check.c -
- -
- - -_gnutls_recv_client_certificate - -19 - -31 - -92 - -lib/gnutls_kx.c -
- -
- - -_gnutls_handshake_io_send_int - -18 - -63 - -131 - -lib/gnutls_buffers.c -
- -
- - -keydb_find_byusage - -18 - -22 - -42 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_decompress - -18 - -68 - -137 - -lib/gnutls_compress.c -
- -
- - -print_oneline - -17 - -72 - -137 - -lib/x509/output.c -
- -
- - -gnutls_x509_crt_list_import - -17 - -64 - -125 - -lib/x509/x509.c -
- -
- - -base64_decode - -17 - -34 - -59 - -lib/opencdk/armor.c -
- -
- - -_gnutls_read - -17 - -57 - -124 - -lib/gnutls_buffers.c -
- -
- - -_gnutls_pkcs1_rsa_decrypt - -17 - -56 - -112 - -lib/gnutls_pk.c -
- -
- - -unpack_certificate_auth_info - -16 - -89 - -157 - -lib/gnutls_session_pack.c -
- -
- - -gnutls_dh_params_export_pkcs3 - -16 - -81 - -157 - -lib/gnutls_dh_primes.c -
- -
- - -_gnutls_recv_handshake_header - -16 - -48 - -132 - -lib/gnutls_handshake.c -
- -
- - -_gnutls_supported_ciphersuites - -16 - -47 - -96 - -lib/gnutls_algorithms.c -
- -
- - -gnutls_certificate_set_x509_simple_pkcs12_mem - -16 - -46 - -84 - -lib/gnutls_x509.c -
- -
- - -print_key_purpose - -16 - -45 - -72 - -lib/x509/output.c -
- -
- - -cdk_kbnode_write_to_mem - -16 - -35 - -61 - -lib/opencdk/kbnode.c -
- -
- - -write_public_key - -16 - -35 - -46 - -lib/opencdk/write-packet.c -
- -
- - -cdk_keydb_search_start - -25 - -77 - -136 - -lib/opencdk/keydb.c -
- -
- - -record_check_type - -19 - -41 - -134 - -lib/gnutls_record.c -
- -
- - -_wrap_gcry_pk_verify - -17 - -60 - -116 - -lib/pk-libgcrypt.c -
- -
- - -encode_to_private_key_info - -15 - -71 - -149 - -lib/x509/privkey_pkcs8.c -
- -
- - -parse_attribute - -15 - -63 - -133 - -lib/x509/crq.c -
- -
- - -_pkcs12_encode_safe_contents - -15 - -51 - -121 - -lib/x509/pkcs12.c -
- -
- - -_cdk_keydb_get_sk_byusage - -15 - -50 - -86 - -lib/opencdk/keydb.c -
- -
- - -gnutls_x509_privkey_import - -15 - -49 - -103 - -lib/x509/privkey.c -
- -
- - -generate_key - -15 - -46 - -117 - -lib/x509/privkey_pkcs8.c -
- -
- - -_gnutls_psk_pwd_find_entry - -15 - -46 - -99 - -lib/auth_psk_passwd.c -
- -
- - -_cdk_keydb_get_pk_byusage - -15 - -45 - -73 - -lib/opencdk/keydb.c -
- -
- - -check_if_ca - -15 - -41 - -95 - -lib/x509/verify.c -
- -
- - -stream_filter_write - -15 - -34 - -54 - -lib/opencdk/stream.c -
- -
- - -cdk_stream_read - -15 - -31 - -54 - -lib/opencdk/stream.c -
- -
- - -read_pkcs_schema_params - -17 - -60 - -137 - -lib/x509/privkey_pkcs8.c -
- -
- - -_gnutls_proc_x509_server_certificate - -14 - -65 - -140 - -lib/auth_cert.c -
- -
- - -get_extension - -14 - -60 - -123 - -lib/x509/extensions.c -
- -
- - -_gnutls_gen_srp_client_kx - -14 - -59 - -119 - -lib/auth_srp.c -
- -
- - -_gnutls_server_select_suite - -14 - -57 - -123 - -lib/gnutls_handshake.c -
- -
- - -_gnutls_compressed2ciphertext - -14 - -55 - -125 - -lib/gnutls_cipher.c -
- -
- - -print_oneline - -14 - -51 - -93 - -lib/openpgp/output.c -
- -
- - -gnutls_x509_crt_get_crl_dist_points - -14 - -49 - -100 - -lib/x509/x509.c -
- -
- - -_gnutls_remove_unwanted_ciphersuites - -14 - -48 - -126 - -lib/gnutls_handshake.c -
- -
- - -gnutls_openpgp_keyring_import - -14 - -43 - -84 - -lib/openpgp/extras.c -
- -
- - -_gnutls_x509_ext_extract_proxyCertInfo - -14 - -41 - -77 - -lib/x509/extensions.c -
- -
- - -cdk_stream_close - -14 - -39 - -68 - -lib/opencdk/stream.c -
- -
- - -check_server_params - -14 - -38 - -108 - -lib/gnutls_handshake.c -
- -
- - -cdk_listkey_start - -14 - -35 - -52 - -lib/opencdk/keydb.c -
- -
- - -cdk_file_verify - -14 - -32 - -51 - -lib/opencdk/verify.c -
- -
- - -cdk_kbnode_write_to_mem_alloc - -14 - -29 - -52 - -lib/opencdk/kbnode.c -
- -
- - -_cdk_sig_check - -14 - -23 - -38 - -lib/opencdk/sig-check.c -
- -
- - -cdk_pkt_alloc - -22 - -46 - -78 - -lib/opencdk/new-packet.c -
- -
- - -print_crldist - -17 - -45 - -84 - -lib/x509/output.c -
- -
- - -find_by_pattern - -14 - -24 - -39 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_proc_srp_server_kx - -13 - -77 - -154 - -lib/auth_srp.c -
- -
- - -decrypt_data - -13 - -64 - -127 - -lib/x509/privkey_pkcs8.c -
- -
- - -_gnutls_x509_get_dn_oid - -13 - -61 - -120 - -lib/x509/dn.c -
- -
- - -gnutls_pkcs12_set_bag - -13 - -54 - -121 - -lib/x509/pkcs12.c -
- -
- - -_wrap_gcry_pk_encrypt - -13 - -52 - -96 - -lib/pk-libgcrypt.c -
- -
- - -_gnutls_x509_cert_verify_peers - -13 - -47 - -97 - -lib/gnutls_x509.c -
- -
- - -read_attribute - -13 - -46 - -67 - -lib/opencdk/read-packet.c -
- -
- - -gnutls_x509_crq_get_key_purpose_oid - -13 - -45 - -90 - -lib/x509/crq.c -
- -
- - -cdk_keydb_import - -13 - -44 - -78 - -lib/opencdk/keydb.c -
- -
- - -read_subpkt - -13 - -42 - -56 - -lib/opencdk/read-packet.c -
- -
- - -cdk_keydb_export - -13 - -42 - -69 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_x509_crt_to_gcert - -13 - -39 - -84 - -lib/gnutls_cert.c -
- -
- - -_gnutls_srp_send_params - -13 - -32 - -71 - -lib/ext_srp.c -
- -
- - -read_literal - -13 - -31 - -42 - -lib/opencdk/read-packet.c -
- -
- - -write_v3_sig - -13 - -29 - -35 - -lib/opencdk/write-packet.c -
- -
- - -print_key_usage - -13 - -28 - -39 - -lib/x509/output.c -
- -
- - -keydb_idx_search - -13 - -21 - -40 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_handshake_client - -23 - -49 - -115 - -lib/gnutls_handshake.c -
- -
- - -cdk_handle_control - -18 - -43 - -78 - -lib/opencdk/main.c -
- -
- - -_gnutls_pkcs7_encrypt_data - -15 - -64 - -153 - -lib/x509/privkey_pkcs8.c -
- -
- - -_gnutls_read_client_hello - -12 - -72 - -144 - -lib/gnutls_handshake.c -
- -
- - -_get_sk_rsa_raw - -12 - -66 - -109 - -lib/openpgp/privkey.c -
- -
- - -_gnutls_x509_encode_and_write_attribute - -12 - -63 - -127 - -lib/x509/dn.c -
- -
- - -_gnutls_x509_encode_and_copy_PKI_params - -12 - -57 - -113 - -lib/x509/common.c -
- -
- - -gnutls_pkcs12_generate_mac - -12 - -56 - -122 - -lib/x509/pkcs12.c -
- -
- - -gnutls_x509_crq_set_key_purpose_oid - -12 - -49 - -107 - -lib/x509/crq.c -
- -
- - -write_attributes - -12 - -47 - -105 - -lib/x509/pkcs12.c -
- -
- - -gnutls_x509_crt_check_revocation - -12 - -45 - -94 - -lib/x509/x509.c -
- -
- - -_wrap_gcry_pk_decrypt - -12 - -45 - -89 - -lib/pk-libgcrypt.c -
- -
- - -_cdk_subpkt_get_array - -12 - -44 - -62 - -lib/opencdk/new-packet.c -
- -
- - -armor_encode - -12 - -44 - -66 - -lib/opencdk/armor.c -
- -
- - -_select_client_cert - -12 - -43 - -106 - -lib/auth_cert.c -
- -
- - -cdk_stream_mmap_part - -12 - -42 - -67 - -lib/opencdk/stream.c -
- -
- - -_gnutls_cert_type_recv_params - -12 - -37 - -92 - -lib/ext_cert_type.c -
- -
- - -_gnutls_gen_psk_client_kx - -12 - -37 - -69 - -lib/auth_psk.c -
- -
- - -stream_filter_read - -12 - -36 - -64 - -lib/opencdk/stream.c -
- -
- - -gnutls_x509_crt_get_authority_key_id - -12 - -36 - -73 - -lib/x509/x509.c -
- -
- - -gnutls_x509_crt_get_subject_key_id - -12 - -36 - -72 - -lib/x509/x509.c -
- -
- - -_gnutls_get_public_rsa_params - -12 - -36 - -78 - -lib/auth_rsa.c -
- -
- - -cdk_listkey_next - -12 - -35 - -55 - -lib/opencdk/keydb.c -
- -
- - -cdk_pk_check_self_sig - -12 - -34 - -61 - -lib/opencdk/sig-check.c -
- -
- - -gnutls_openpgp_crt_verify_ring - -12 - -33 - -58 - -lib/openpgp/pgpverify.c -
- -
- - -write_literal - -12 - -31 - -47 - -lib/opencdk/write-packet.c -
- -
- - -read_pubkey_enc - -12 - -25 - -33 - -lib/opencdk/read-packet.c -
- -
- - -_gnutls_handshake_server - -22 - -46 - -100 - -lib/gnutls_handshake.c -
- -
- - -classify_data - -13 - -23 - -41 - -lib/opencdk/keydb.c -
- -
- - -_gnutls_read_client_hello_v2 - -11 - -74 - -166 - -lib/gnutls_v2_compat.c -
- -
- - -_gnutls_asn1_encode_dsa - -11 - -67 - -119 - -lib/x509/privkey.c -
- -
- - -gen_rsa_export_server_kx - -11 - -62 - -121 - -lib/auth_rsa_export.c -
- -
- - -_dsa_generate_params - -11 - -60 - -107 - -lib/pk-libgcrypt.c -
- -
- - -_get_sk_dsa_raw - -11 - -57 - -102 - -lib/openpgp/privkey.c -
- -
- - -_gnutls_proc_cert_cert_req - -11 - -53 - -104 - -lib/auth_cert.c -
- -
- - -_gnutls_pbkdf2_sha1 - -11 - -52 - -144 - -lib/x509/pbkdf2-sha1.c -
- -
- - -_gnutls_fbase64_decode - -11 - -52 - -95 - -lib/x509_b64.c -
- -
- - -_gnutls_send_server_hello - -11 - -49 - -112 - -lib/gnutls_handshake.c -
- -
- - -_gnutls_proc_rsa_client_kx - -11 - -44 - -109 - -lib/auth_rsa.c -
- -
- - -gnutls_pkcs7_get_crt_raw - -11 - -42 - -89 - -lib/x509/pkcs7.c -
- -
- - -gnutls_x509_crt_import - -11 - -39 - -87 - -lib/x509/x509.c -
- -
- - -_gnutls_handshake_io_recv_int - -11 - -38 - -81 - -lib/gnutls_buffers.c -
- -
- - -gnutls_x509_crt_get_key_purpose_oid - -11 - -38 - -78 - -lib/x509/x509.c -
- -
- - -decode_ber_digest_info - -11 - -37 - -72 - -lib/x509/verify.c -
- -
- - -gnutls_pkcs7_set_crt_raw - -11 - -37 - -82 - -lib/x509/pkcs7.c -
- -
- - -_cdk_keydb_check_userid - -11 - -37 - -57 - -lib/opencdk/keydb.c -
- -
- - -gnutls_x509_privkey_import_pkcs8 - -11 - -36 - -84 - -lib/x509/privkey_pkcs8.c -
- -
- - -gnutls_x509_crl_get_authority_key_id - -11 - -35 - -72 - -lib/x509/crl.c -
- -
- - -_gnutls_read_pgp_mpi - -11 - -34 - -84 - -lib/openpgp/pgp.c -
- -
- - -gnutls_openpgp_crt_import - -11 - -33 - -60 - -lib/openpgp/pgp.c -
- -
- - -gnutls_openpgp_crt_get_auth_subkey - -11 - -32 - -62 - -lib/openpgp/pgp.c -
- -
- - -gnutls_openpgp_crt_get_name - -11 - -30 - -53 - -lib/openpgp/pgp.c -
- -
- - -read_public_key - -11 - -30 - -46 - -lib/opencdk/read-packet.c -
- -
- - -keydb_pos_from_cache - -11 - -28 - -55 - -lib/opencdk/keydb.c -
- -
- - -decode - -11 - -27 - -37 - -lib/auth_srp_sb64.c -
- -
- - -_gnutls_session_cert_type_supported - -11 - -24 - -48 - -lib/gnutls_state.c -
- -
- - -compress_get_algo - -11 - -20 - -31 - -lib/opencdk/armor.c -
- -
- - -_gnutls_hostname_compare - -11 - -17 - -39 - -lib/gnutls_str.c -
- -
- - -_gnutls_openpgp_find_key - -11 - -14 - -37 - -lib/openpgp/pgp.c -
- -
- - -str_escape - -11 - -12 - -25 - -lib/x509/dn.c -
- -
- - -cdk_kbnode_find_next - -11 - -12 - -21 - -lib/opencdk/kbnode.c -
- -
-  - -_gnutls_session_unpack - -13 - -33 - -75 - -lib/gnutls_session_pack.c -
-  - -_gnutls_x509_get_pk_algorithm - -11 - -57 - -112 - -lib/x509/common.c -
-  - -_gnutls_compress - -11 - -51 - -105 - -lib/gnutls_compress.c -
-  - -gnutls_x509_privkey_generate - -11 - -40 - -75 - -lib/x509/privkey.c -
-  - -_gnutls_gen_srp_server_kx - -10 - -58 - -124 - -lib/auth_srp.c -
-  - -_gnutls_openpgp_crt_to_gcert - -10 - -54 - -116 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_x509_ext_gen_crl_dist_points - -10 - -50 - -104 - -lib/x509/extensions.c -
-  - -_get_pk_dsa_raw - -10 - -49 - -90 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_privkey_export_rsa_raw - -10 - -48 - -93 - -lib/x509/privkey.c -
-  - -_decode_pkcs7_signed_data - -10 - -47 - -94 - -lib/x509/pkcs7.c -
-  - -group_check_g_n - -10 - -46 - -103 - -lib/auth_srp.c -
-  - -gnutls_x509_crq_get_extension_info - -10 - -46 - -85 - -lib/x509/crq.c -
-  - -_gnutls_gen_rsa_client_kx - -10 - -45 - -90 - -lib/auth_rsa.c -
-  - -_gnutls_privkey_decode_pkcs1_rsa_key - -10 - -45 - -95 - -lib/x509/privkey.c -
-  - -gnutls_x509_privkey_import_rsa_raw - -10 - -44 - -83 - -lib/x509/privkey.c -
-  - -_gnutls_server_name_recv_params - -10 - -44 - -95 - -lib/ext_server_name.c -
-  - -gnutls_dh_params_import_pkcs3 - -10 - -44 - -93 - -lib/gnutls_dh_primes.c -
-  - -cdk_pk_verify - -10 - -42 - -66 - -lib/opencdk/pubkey.c -
-  - -gnutls_certificate_set_openpgp_key_mem2 - -10 - -41 - -75 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_pkcs12_bag_encrypt - -10 - -40 - -84 - -lib/x509/pkcs12_bag.c -
-  - -_gnutls_mpi_randomize - -10 - -40 - -75 - -lib/gnutls_mpi.c -
-  - -print_cert - -10 - -38 - -69 - -lib/openpgp/output.c -
-  - -gnutls_global_init - -10 - -38 - -83 - -lib/gnutls_global.c -
-  - -_gnutls_x509_export_int_named - -10 - -37 - -85 - -lib/x509/common.c -
-  - -_gnutls_copy_certificate_auth_info - -10 - -37 - -69 - -lib/auth_cert.c -
-  - -gnutls_openpgp_privkey_import - -10 - -35 - -69 - -lib/openpgp/privkey.c -
-  - -_pkcs1_rsa_verify_sig - -10 - -35 - -74 - -lib/x509/verify.c -
-  - -gnutls_openpgp_get_key - -10 - -35 - -63 - -lib/openpgp/gnutls_openpgp.c -
-  - -_find_x509_cert - -10 - -34 - -68 - -lib/auth_cert.c -
-  - -gnutls_pkcs7_set_crl_raw - -10 - -32 - -72 - -lib/x509/pkcs7.c -
-  - -_cdk_hash_pubkey - -10 - -31 - -43 - -lib/opencdk/sig-check.c -
-  - -cdk_keydb_idx_rebuild - -10 - -29 - -47 - -lib/opencdk/keydb.c -
-  - -cdk_stream_write - -10 - -29 - -55 - -lib/opencdk/stream.c -
-  - -_gnutls_cipher_init - -10 - -27 - -52 - -lib/gnutls_cipher_int.c -
-  - -uid_list_add_sig - -10 - -26 - -50 - -lib/opencdk/sig-check.c -
-  - -write_pubkey_enc - -10 - -25 - -34 - -lib/opencdk/write-packet.c -
-  - -write_onepass_sig - -10 - -23 - -31 - -lib/opencdk/write-packet.c -
-  - -_gnutls_send_client_certificate - -10 - -23 - -66 - -lib/gnutls_kx.c -
-  - -write_head_old - -10 - -23 - -34 - -lib/opencdk/write-packet.c -
-  - -cdk_kbnode_move - -10 - -22 - -28 - -lib/opencdk/kbnode.c -
-  - -cdk_pk_get_keyid - -10 - -20 - -36 - -lib/opencdk/pubkey.c -
-  - -_cdk_keydb_open - -10 - -19 - -41 - -lib/opencdk/keydb.c -
-  - -_gnutls_check_key_usage - -10 - -18 - -52 - -lib/gnutls_x509.c -
-  - -_gnutls_fbase64_encode - -9 - -64 - -102 - -lib/x509_b64.c -
-  - -_rsa_generate_params - -9 - -62 - -105 - -lib/pk-libgcrypt.c -
-  - -cdk_armor_encode_buffer - -9 - -60 - -87 - -lib/opencdk/armor.c -
-  - -unpack_psk_auth_info - -9 - -58 - -103 - -lib/gnutls_session_pack.c -
-  - -gnutls_psk_netconf_derive_key - -9 - -51 - -90 - -lib/gnutls_psk_netconf.c -
-  - -gen_dhe_server_kx - -9 - -50 - -96 - -lib/auth_dhe.c -
-  - -unpack_anon_auth_info - -9 - -49 - -90 - -lib/gnutls_session_pack.c -
-  - -gnutls_pkcs12_verify_mac - -9 - -48 - -101 - -lib/x509/pkcs12.c -
-  - -read_pbkdf2_params - -9 - -47 - -109 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_x509_der_encode - -9 - -46 - -82 - -lib/x509/common.c -
-  - -_gnutls_gen_extensions - -9 - -45 - -84 - -lib/gnutls_extensions.c -
-  - -write_pbkdf2_params - -9 - -45 - -105 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_read_server_hello - -9 - -45 - -101 - -lib/gnutls_handshake.c -
-  - -keydb_idx_build - -9 - -44 - -71 - -lib/opencdk/keydb.c -
-  - -parse_pem_cert_mem - -9 - -44 - -91 - -lib/gnutls_x509.c -
-  - -parse_pem_ca_mem - -9 - -43 - -93 - -lib/gnutls_x509.c -
-  - -gnutls_x509_crt_get_pk_dsa_raw - -9 - -43 - -81 - -lib/x509/x509.c -
-  - -_decode_pkcs12_auth_safe - -9 - -41 - -81 - -lib/x509/pkcs12.c -
-  - -gnutls_x509_crt_set_key_purpose_oid - -9 - -40 - -91 - -lib/x509/x509_write.c -
-  - -gnutls_x509_privkey_import_dsa_raw - -9 - -39 - -74 - -lib/x509/privkey.c -
-  - -get_extension_oid - -9 - -39 - -83 - -lib/x509/extensions.c -
-  - -_gnutls_sbase64_decode - -9 - -38 - -59 - -lib/auth_srp_sb64.c -
-  - -_pkcs12_encode_crt_bag - -9 - -37 - -79 - -lib/x509/pkcs12_bag.c -
-  - -decode_private_key_info - -9 - -36 - -76 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_P_hash - -9 - -36 - -76 - -lib/gnutls_state.c -
-  - -_gnutls_x509_crq_set_extension - -9 - -36 - -76 - -lib/x509/extensions.c -
-  - -_gnutls_x509_write_value - -9 - -36 - -73 - -lib/x509/common.c -
-  - -write_schema_params - -9 - -35 - -83 - -lib/x509/privkey_pkcs8.c -
-  - -set_extension - -9 - -34 - -81 - -lib/x509/extensions.c -
-  - -wrap_gcry_generate_group - -9 - -34 - -70 - -lib/mpi-libgcrypt.c -
-  - -gnutls_x509_crt_set_crq_extensions - -9 - -34 - -61 - -lib/x509/x509_write.c -
-  - -add_extension - -9 - -33 - -62 - -lib/x509/extensions.c -
-  - -get_subject_alt_name - -9 - -33 - -70 - -lib/x509/x509.c -
-  - -gnutls_x509_crq_get_key_id - -9 - -32 - -70 - -lib/x509/crq.c -
-  - -gnutls_x509_crt_get_key_id - -9 - -32 - -70 - -lib/x509/x509.c -
-  - -cdk_file_dearmor - -9 - -31 - -48 - -lib/opencdk/armor.c -
-  - -gnutls_x509_privkey_export_pkcs8 - -9 - -31 - -72 - -lib/x509/privkey_pkcs8.c -
-  - -gnutls_x509_privkey_get_key_id - -9 - -31 - -66 - -lib/x509/privkey.c -
-  - -_gnutls_send_handshake - -9 - -30 - -68 - -lib/gnutls_handshake.c -
-  - -do_encode_md - -9 - -30 - -42 - -lib/opencdk/seskey.c -
-  - -_gnutls_openpgp_export - -9 - -30 - -63 - -lib/openpgp/pgp.c -
-  - -_gnutls_openpgp_verify_key - -9 - -29 - -61 - -lib/openpgp/compat.c -
-  - -_gnutls_gen_cert_server_cert_req - -9 - -29 - -69 - -lib/auth_cert.c -
-  - -gnutls_certificate_set_openpgp_key_file2 - -9 - -28 - -56 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_psk_set_client_credentials - -9 - -27 - -56 - -lib/gnutls_psk.c -
-  - -gnutls_openpgp_keyring_get_crt - -9 - -27 - -47 - -lib/openpgp/extras.c -
-  - -cdk_keydb_check_sk - -9 - -27 - -46 - -lib/opencdk/keydb.c -
-  - -gnutls_x509_crt_check_hostname - -9 - -25 - -75 - -lib/x509/rfc2818_hostname.c -
-  - -base64_encode - -9 - -23 - -35 - -lib/opencdk/armor.c -
-  - -_gnutls_cert_type_send_params - -9 - -23 - -66 - -lib/ext_cert_type.c -
-  - -_gnutls_partition - -9 - -23 - -45 - -lib/gnutls_algorithms.c -
-  - -cdk_stream_flush - -9 - -22 - -38 - -lib/opencdk/stream.c -
-  - -_cdk_pkt_read_len - -9 - -21 - -31 - -lib/opencdk/read-packet.c -
-  - -_gnutls_io_clear_peeked_data - -9 - -20 - -39 - -lib/gnutls_buffers.c -
-  - -_gnutls_openpgp_request_key - -9 - -18 - -44 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_recv_client_certificate_verify_message - -9 - -17 - -44 - -lib/gnutls_kx.c -
-  - -_gnutls_openpgp_find_subkey_idx - -9 - -16 - -33 - -lib/openpgp/pgp.c -
-  - -cdk_pk_to_fingerprint - -9 - -16 - -31 - -lib/opencdk/pubkey.c -
-  - -_gnutls_store_session - -9 - -16 - -38 - -lib/gnutls_db.c -
-  - -check_g_n - -9 - -11 - -31 - -lib/auth_srp.c -
-  - -_gnutls_dh_set_group - -11 - -36 - -71 - -lib/gnutls_state.c -
-  - -print_key_info - -10 - -44 - -86 - -lib/openpgp/output.c -
-  - -get_mpis - -10 - -42 - -108 - -lib/x509/mpi.c -
-  - -gnutls_x509_privkey_cpy - -10 - -26 - -47 - -lib/x509/privkey.c -
-  - -find_by_keyid - -10 - -16 - -34 - -lib/opencdk/keydb.c -
-  - -_encode_privkey - -9 - -39 - -78 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_tls_sign_hdata - -9 - -36 - -75 - -lib/gnutls_sig.c -
-  - -_gnutls_x509_verify_algorithm - -9 - -34 - -66 - -lib/x509/verify.c -
-  - -_gnutls_openpgp_privkey_get_mpis - -9 - -34 - -66 - -lib/openpgp/privkey.c -
-  - -_gnutls_openpgp_crt_get_mpis - -9 - -34 - -64 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_privkey_export - -9 - -24 - -51 - -lib/x509/privkey.c -
-  - -_gnutls_verify_sig - -9 - -24 - -65 - -lib/gnutls_sig.c -
-  - -ip_to_string - -9 - -16 - -40 - -lib/x509/output.c -
-  - -_gnutls_proc_dh_common_server_kx - -8 - -56 - -92 - -lib/auth_dh_common.c -
-  - -pwd_put_values - -8 - -50 - -86 - -lib/auth_srp_passwd.c -
-  - -_gnutls_pkcs7_decrypt_data - -8 - -48 - -102 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_gen_dh_common_client_kx - -8 - -46 - -88 - -lib/auth_dh_common.c -
-  - -encrypt_data - -8 - -41 - -71 - -lib/x509/privkey_pkcs8.c -
-  - -encode_ber_digest_info - -8 - -40 - -77 - -lib/x509/sign.c -
-  - -_cdk_trim_string - -8 - -4 - -11 - -lib/opencdk/misc.c -
-  - -_gnutls_gen_openpgp_certificate_fpr - -8 - -38 - -74 - -lib/auth_cert.c -
-  - -literal_encode - -8 - -38 - -51 - -lib/opencdk/literal.c -
-  - -_gnutls_PRF - -8 - -36 - -79 - -lib/gnutls_state.c -
-  - -_get_pk_rsa_raw - -8 - -36 - -64 - -lib/openpgp/pgp.c -
-  - -gnutls_pkcs12_get_bag - -8 - -35 - -75 - -lib/x509/pkcs12.c -
-  - -_decode_pkcs8_dsa_key - -8 - -34 - -68 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_x509_read_value - -8 - -34 - -63 - -lib/x509/common.c -
-  - -rsadsa_crq_get_key_id - -8 - -34 - -64 - -lib/x509/crq.c -
-  - -rsadsa_get_key_id - -8 - -34 - -64 - -lib/x509/x509.c -
-  - -cdk_keydb_get_pk - -8 - -34 - -54 - -lib/opencdk/keydb.c -
-  - -decode_dsa_key - -8 - -33 - -66 - -lib/x509/privkey.c -
-  - -_pkcs12_decode_crt_bag - -8 - -33 - -71 - -lib/x509/pkcs12_bag.c -
-  - -set_attribute - -8 - -32 - -77 - -lib/x509/crq.c -
-  - -gnutls_certificate_set_x509_key - -8 - -31 - -70 - -lib/gnutls_x509.c -
-  - -gnutls_pkcs12_import - -8 - -31 - -60 - -lib/x509/pkcs12.c -
-  - -gnutls_x509_crq_set_subject_alt_name - -8 - -31 - -74 - -lib/x509/crq.c -
-  - -_gnutls_x509_ext_gen_proxyCertInfo - -8 - -31 - -64 - -lib/x509/extensions.c -
-  - -_gnutls_x509_set_dn_oid - -8 - -30 - -75 - -lib/x509/dn.c -
-  - -gnutls_pkcs7_get_crl_raw - -8 - -30 - -61 - -lib/x509/pkcs7.c -
-  - -_gnutls_x509_ext_gen_basicConstraints - -8 - -30 - -58 - -lib/x509/extensions.c -
-  - -_gnutls_client_set_ciphersuite - -8 - -30 - -77 - -lib/gnutls_handshake.c -
-  - -_gnutls_x509_read_uint - -8 - -29 - -49 - -lib/x509/mpi.c -
-  - -_gnutls_decrypt - -8 - -29 - -69 - -lib/gnutls_cipher.c -
-  - -gnutls_x509_crq_import - -8 - -29 - -59 - -lib/x509/crq.c -
-  - -gnutls_x509_crl_import - -8 - -29 - -58 - -lib/x509/crl.c -
-  - -_randomize_pwd_entry - -8 - -28 - -52 - -lib/auth_srp_passwd.c -
-  - -gnutls_pkcs7_import - -8 - -28 - -55 - -lib/x509/pkcs7.c -
-  - -gnutls_x509_crt_set_subject_alt_name - -8 - -27 - -65 - -lib/x509/x509_write.c -
-  - -_gnutls_x509_ext_extract_basicConstraints - -8 - -26 - -52 - -lib/x509/extensions.c -
-  - -cdk_file_armor - -8 - -26 - -40 - -lib/opencdk/armor.c -
-  - -_gnutls_mpi_dprint_size - -8 - -26 - -41 - -lib/gnutls_mpi.c -
-  - -print_key_times - -8 - -26 - -49 - -lib/openpgp/output.c -
-  - -read_mpi - -8 - -25 - -40 - -lib/opencdk/read-packet.c -
-  - -_gnutls_string_append_data - -8 - -24 - -47 - -lib/gnutls_str.c -
-  - -_gnutls_x509_ext_gen_subject_alt_name - -8 - -23 - -53 - -lib/x509/extensions.c -
-  - -_cdk_digest_encode_pkcs1 - -8 - -22 - -37 - -lib/opencdk/seskey.c -
-  - -_gnutls_max_record_recv_params - -8 - -21 - -58 - -lib/ext_max_record.c -
-  - -_gnutls_server_select_cert - -8 - -21 - -61 - -lib/auth_cert.c -
-  - -print_key_usage - -8 - -19 - -31 - -lib/openpgp/output.c -
-  - -write_user_id - -8 - -19 - -34 - -lib/opencdk/write-packet.c -
-  - -pwd_read_conf - -8 - -19 - -39 - -lib/auth_srp_passwd.c -
-  - -_gnutls_string_resize - -8 - -19 - -37 - -lib/gnutls_str.c -
-  - -mktime_utc - -8 - -18 - -27 - -lib/x509/common.c -
-  - -gnutls_pkcs12_bag_set_data - -8 - -18 - -50 - -lib/x509/pkcs12_bag.c -
-  - -cdk_stream_kick_off - -8 - -17 - -29 - -lib/opencdk/stream.c -
-  - -read_s2k - -8 - -16 - -29 - -lib/opencdk/read-packet.c -
-  - -cdk_s2k_new - -8 - -16 - -25 - -lib/opencdk/seskey.c -
-  - -key_usage_to_cdk_usage - -8 - -16 - -22 - -lib/opencdk/keydb.c -
-  - -_cdk_pubkey_compare - -8 - -15 - -22 - -lib/opencdk/new-packet.c -
-  - -hexdump - -8 - -15 - -23 - -lib/x509/output.c -
-  - -hexdump - -8 - -15 - -23 - -lib/openpgp/output.c -
-  - -find_by_fpr - -8 - -13 - -25 - -lib/opencdk/keydb.c -
-  - -keydb_check_key - -8 - -13 - -25 - -lib/opencdk/keydb.c -
-  - -check_buffers - -8 - -12 - -32 - -lib/gnutls_record.c -
-  - -keydb_cache_find - -12 - -18 - -36 - -lib/opencdk/keydb.c -
-  - -encode_to_pkcs8_key - -11 - -47 - -109 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_comp_init - -11 - -40 - -85 - -lib/gnutls_compress.c -
-  - -_gnutls_free_auth_info - -11 - -39 - -74 - -lib/gnutls_auth.c -
-  - -_gnutls_session_pack - -11 - -31 - -71 - -lib/gnutls_session_pack.c -
-  - -gnutls_bye - -11 - -29 - -60 - -lib/gnutls_record.c -
-  - -_gnutls_recv_handshake_final - -10 - -27 - -54 - -lib/gnutls_handshake.c -
-  - -gnutls_dh_get_group - -9 - -32 - -52 - -lib/gnutls_ui.c -
-  - -_gnutls_dh_set_peer_public - -9 - -29 - -56 - -lib/gnutls_state.c -
-  - -_gnutls_send_handshake_final - -9 - -25 - -57 - -lib/gnutls_handshake.c -
-  - -calc_enc_length - -8 - -23 - -56 - -lib/gnutls_cipher.c -
-  - -_cdk_check_args - -7 - -8 - -13 - -lib/opencdk/misc.c -
-  - -proc_rsa_export_server_kx - -7 - -51 - -91 - -lib/auth_rsa_export.c -
-  - -gnutls_x509_dn_get_rdn_ava - -7 - -46 - -80 - -lib/x509/x509.c -
-  - -_gnutls_verify_sig_params - -7 - -39 - -79 - -lib/gnutls_sig.c -
-  - -_gnutls_parse_extensions - -7 - -38 - -69 - -lib/gnutls_extensions.c -
-  - -generate_normal_master - -7 - -38 - -120 - -lib/gnutls_kx.c -
-  - -read_pbe_enc_params - -7 - -37 - -79 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_gen_openpgp_certificate - -7 - -36 - -72 - -lib/auth_cert.c -
-  - -_gnutls_calc_srp_S2 - -7 - -36 - -55 - -lib/gnutls_srp.c -
-  - -parse_pem_crl_mem - -7 - -36 - -80 - -lib/gnutls_x509.c -
-  - -gnutls_x509_privkey_export_dsa_raw - -7 - -35 - -68 - -lib/x509/privkey.c -
-  - -_gnutls_set_psk_session_key - -7 - -35 - -78 - -lib/auth_psk.c -
-  - -_gnutls_proc_srp_client_kx - -7 - -35 - -69 - -lib/auth_srp.c -
-  - -pwd_put_values2 - -7 - -35 - -60 - -lib/auth_srp_passwd.c -
-  - -_gnutls_server_name_send_params - -7 - -35 - -85 - -lib/ext_server_name.c -
-  - -gnutls_x509_crq_get_extension_data - -7 - -32 - -59 - -lib/x509/crq.c -
-  - -gnutls_x509_crq_get_key_rsa_raw - -7 - -30 - -53 - -lib/x509/crq.c -
-  - -_gnutls_x509_write_dsa_params - -7 - -30 - -59 - -lib/x509/mpi.c -
-  - -gnutls_x509_crt_get_pk_rsa_raw - -7 - -30 - -53 - -lib/x509/x509.c -
-  - -_gnutls_sbase64_encode - -7 - -30 - -52 - -lib/auth_srp_sb64.c -
-  - -get_subject_alt_name - -7 - -29 - -64 - -lib/x509/crq.c -
-  - -_gnutls_recv_finished - -7 - -28 - -66 - -lib/gnutls_handshake.c -
-  - -_gnutls_selected_cert_supported_kx - -7 - -28 - -51 - -lib/gnutls_cert.c -
-  - -cdk_stream_new - -7 - -28 - -44 - -lib/opencdk/stream.c -
-  - -gnutls_certificate_set_openpgp_key - -7 - -28 - -66 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_x509_crl_get_extension_info - -7 - -27 - -52 - -lib/x509/crl.c -
-  - -_gnutls_x509_write_int - -7 - -27 - -51 - -lib/gnutls_mpi.c -
-  - -print_aki - -7 - -27 - -52 - -lib/x509/output.c -
-  - -gnutls_x509_crt_get_extension_info - -7 - -27 - -52 - -lib/x509/x509.c -
-  - -gnutls_credentials_set - -7 - -26 - -58 - -lib/gnutls_auth.c -
-  - -_algo_register - -7 - -25 - -49 - -lib/crypto.c -
-  - -alloc_and_load_x509_certs - -7 - -24 - -37 - -lib/auth_cert.c -
-  - -gnutls_x509_crq_sign2 - -7 - -24 - -63 - -lib/x509/crq.c -
-  - -_gnutls_openpgp_crt_verify_peers - -7 - -23 - -53 - -lib/gnutls_cert.c -
-  - -_cdk_copy_seckey - -7 - -22 - -33 - -lib/opencdk/new-packet.c -
-  - -_gnutls_send_client_certificate_verify - -7 - -22 - -49 - -lib/gnutls_kx.c -
-  - -keydb_idx_parse - -7 - -22 - -34 - -lib/opencdk/keydb.c -
-  - -decode - -7 - -22 - -31 - -lib/x509_b64.c -
-  - -gnutls_calc_dh_secret - -7 - -21 - -41 - -lib/gnutls_dh.c -
-  - -_cdk_hash_userid - -7 - -21 - -27 - -lib/opencdk/sig-check.c -
-  - -_gnutls_send_finished - -7 - -20 - -50 - -lib/gnutls_handshake.c -
-  - -gnutls_srp_set_server_credentials_file - -7 - -20 - -43 - -lib/gnutls_srp.c -
-  - -_gnutls_auth_info_set - -7 - -20 - -59 - -lib/gnutls_auth.c -
-  - -_gnutls_recv_server_kx_message - -7 - -20 - -50 - -lib/gnutls_kx.c -
-  - -get_issuers_num - -7 - -20 - -45 - -lib/auth_cert.c -
-  - -gnutls_handshake - -7 - -20 - -47 - -lib/gnutls_handshake.c -
-  - -gnutls_x509_crt_get_extension_by_oid - -7 - -20 - -46 - -lib/x509/x509.c -
-  - -gnutls_x509_crl_get_number - -7 - -19 - -44 - -lib/x509/crl.c -
-  - -idx_init - -7 - -19 - -43 - -lib/opencdk/keydb.c -
-  - -_cdk_copy_pubkey - -7 - -19 - -24 - -lib/opencdk/new-packet.c -
-  - -_gnutls_supported_compression_methods - -7 - -19 - -38 - -lib/gnutls_compress.c -
-  - -gnutls_x509_crt_get_basic_constraints - -7 - -19 - -45 - -lib/x509/x509.c -
-  - -cdk_pk_get_fingerprint - -7 - -18 - -25 - -lib/opencdk/pubkey.c -
-  - -mpi_to_buffer - -7 - -18 - -33 - -lib/opencdk/pubkey.c -
-  - -read_user_id - -7 - -16 - -23 - -lib/opencdk/read-packet.c -
-  - -sig_to_datum - -7 - -15 - -26 - -lib/opencdk/pubkey.c -
-  - -_gnutls_x509_san_find_type - -7 - -13 - -17 - -lib/x509/common.c -
-  - -gnutls_cipher_suite_info - -7 - -13 - -24 - -lib/gnutls_algorithms.c -
-  - -gnutls_certificate_set_x509_key_mem - -7 - -12 - -27 - -lib/gnutls_x509.c -
-  - -keydb_find_bykeyid - -7 - -12 - -17 - -lib/opencdk/keydb.c -
-  - -handle_set_compress - -7 - -10 - -18 - -lib/opencdk/main.c -
-  - -_gnutls_tls_sign - -7 - -10 - -34 - -lib/gnutls_sig.c -
-  - -write_new_general_name - -9 - -33 - -65 - -lib/x509/extensions.c -
-  - -cdk_kbnode_hash - -9 - -20 - -47 - -lib/opencdk/kbnode.c -
-  - -encode - -8 - -45 - -84 - -lib/auth_srp_sb64.c -
-  - -_gnutls_tls_sign_params - -7 - -43 - -88 - -lib/gnutls_sig.c -
-  - -gnutls_x509_privkey_fix - -7 - -19 - -38 - -lib/x509/privkey.c -
-  - -_gnutls_remove_session - -6 - -9 - -22 - -lib/gnutls_db.c -
-  - -add_key_usage - -6 - -9 - -21 - -lib/opencdk/keydb.c -
-  - -handle_set_s2k - -6 - -8 - -13 - -lib/opencdk/main.c -
-  - -is_selfsig - -6 - -7 - -14 - -lib/opencdk/keydb.c -
-  - -gnutls_session_is_resumed - -6 - -6 - -22 - -lib/gnutls_state.c -
-  - -unpack_security_parameters - -6 - -57 - -129 - -lib/gnutls_session_pack.c -
-  - -gnutls_deinit - -6 - -49 - -78 - -lib/gnutls_state.c -
-  - -_cdk_hash_sig_data - -6 - -41 - -59 - -lib/opencdk/sig-check.c -
-  - -pack_certificate_auth_info - -6 - -40 - -74 - -lib/gnutls_session_pack.c -
-  - -_gnutls_calc_srp_B - -6 - -37 - -68 - -lib/gnutls_srp.c -
-  - -_gnutls_dh_common_print_server_kx - -6 - -36 - -63 - -lib/auth_dh_common.c -
-  - -_gnutls_copy_ciphersuites - -6 - -33 - -64 - -lib/gnutls_handshake.c -
-  - -proc_srp_cert_server_kx - -6 - -33 - -62 - -lib/auth_srp_rsa.c -
-  - -gen_srp_cert_server_kx - -6 - -32 - -61 - -lib/auth_srp_rsa.c -
-  - -_gnutls_calc_srp_u - -6 - -32 - -55 - -lib/gnutls_srp.c -
-  - -_gnutls_x509_crl_get_raw_issuer_dn - -6 - -31 - -67 - -lib/x509/crl.c -
-  - -_gnutls_proc_dh_common_client_kx - -6 - -31 - -67 - -lib/auth_dh_common.c -
-  - -_gnutls_verify_sig_hdata - -6 - -31 - -63 - -lib/gnutls_sig.c -
-  - -_gnutls_gen_supplemental - -6 - -30 - -55 - -lib/gnutls_supplemental.c -
-  - -create_empty_signed_data - -6 - -30 - -75 - -lib/x509/pkcs7.c -
-  - -_gnutls_x509_pkix_sign - -6 - -29 - -76 - -lib/x509/sign.c -
-  - -proc_dhe_server_kx - -6 - -29 - -57 - -lib/auth_dhe.c -
-  - -_gnutls_finished - -6 - -28 - -57 - -lib/gnutls_handshake.c -
-  - -gnutls_openpgp_privkey_sign_hash - -6 - -27 - -53 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_x509_read_dsa_params - -6 - -27 - -62 - -lib/x509/mpi.c -
-  - -_gnutls_x509_decode_octet_string - -6 - -27 - -52 - -lib/x509/common.c -
-  - -gen_psk_client_kx - -6 - -27 - -52 - -lib/auth_dhe_psk.c -
-  - -_gnutls_x509_write_rsa_params - -6 - -27 - -54 - -lib/x509/mpi.c -
-  - -_gnutls_openpgp_privkey_to_gkey - -6 - -26 - -65 - -lib/openpgp/gnutls_openpgp.c -
-  - -cdk_stream_create - -6 - -26 - -40 - -lib/opencdk/stream.c -
-  - -_cdk_stream_open_mode - -6 - -25 - -40 - -lib/opencdk/stream.c -
-  - -_gnutls_check_key_cert_match - -6 - -25 - -58 - -lib/gnutls_x509.c -
-  - -cdk_keydb_get_sk - -6 - -25 - -44 - -lib/opencdk/keydb.c -
-  - -gnutls_pkcs7_delete_crl - -6 - -24 - -51 - -lib/x509/pkcs7.c -
-  - -gnutls_pkcs7_delete_crt - -6 - -24 - -51 - -lib/x509/pkcs7.c -
-  - -_gnutls_x509_get_time - -6 - -24 - -48 - -lib/x509/common.c -
-  - -pwd_put_values - -6 - -23 - -46 - -lib/auth_psk_passwd.c -
-  - -gnutls_x509_crl_set_number - -6 - -23 - -50 - -lib/x509/crl_write.c -
-  - -gnutls_x509_crl_set_authority_key_id - -6 - -23 - -50 - -lib/x509/crl_write.c -
-  - -gnutls_x509_crl_get_signature - -6 - -23 - -45 - -lib/x509/crl.c -
-  - -print_proxy - -6 - -23 - -36 - -lib/x509/output.c -
-  - -gnutls_x509_crt_set_authority_key_id - -6 - -23 - -50 - -lib/x509/x509_write.c -
-  - -gnutls_x509_crt_set_subject_key_id - -6 - -23 - -50 - -lib/x509/x509_write.c -
-  - -_gnutls_encrypt - -6 - -22 - -52 - -lib/gnutls_cipher.c -
-  - -unpack_srp_auth_info - -6 - -22 - -49 - -lib/gnutls_session_pack.c -
-  - -gnutls_x509_crt_get_signature - -6 - -22 - -44 - -lib/x509/x509.c -
-  - -alloc_and_load_pgp_certs - -6 - -22 - -40 - -lib/auth_cert.c -
-  - -_gnutls_get_private_rsa_params - -6 - -22 - -58 - -lib/auth_rsa.c -
-  - -gnutls_openpgp_count_key_names - -6 - -21 - -33 - -lib/openpgp/gnutls_openpgp.c -
-  - -hash_encode - -6 - -21 - -39 - -lib/opencdk/hash.c -
-  - -gnutls_x509_crl_set_crt_serial - -6 - -21 - -53 - -lib/x509/crl_write.c -
-  - -_gnutls_send_server_kx_message - -6 - -21 - -44 - -lib/gnutls_kx.c -
-  - -cdk_stream_set_literal_flag - -6 - -21 - -33 - -lib/opencdk/stream.c -
-  - -gnutls_certificate_set_x509_trust - -6 - -21 - -42 - -lib/gnutls_x509.c -
-  - -_gnutls_send_server_certificate_request - -6 - -20 - -41 - -lib/gnutls_kx.c -
-  - -gnutls_openpgp_keyring_get_crt_count - -6 - -20 - -36 - -lib/openpgp/extras.c -
-  - -_gnutls_rsa_export_set_pubkey - -6 - -19 - -34 - -lib/gnutls_state.c -
-  - -cdk_stream_new_from_cbs - -6 - -19 - -34 - -lib/opencdk/stream.c -
-  - -_gnutls_server_find_pk_algos_in_ciphersuites - -6 - -18 - -32 - -lib/gnutls_handshake.c -
-  - -_gnutls_peers_cert_less_512 - -6 - -18 - -40 - -lib/auth_rsa_export.c -
-  - -gnutls_x509_crt_get_key_usage - -6 - -18 - -42 - -lib/x509/x509.c -
-  - -_cdk_subpkt_copy - -6 - -17 - -26 - -lib/opencdk/new-packet.c -
-  - -gnutls_certificate_set_openpgp_keyring_mem - -6 - -17 - -35 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_pk_params_copy - -6 - -17 - -27 - -lib/gnutls_pk.c -
-  - -gnutls_openpgp_privkey_get_subkey_pk_algorithm - -6 - -17 - -32 - -lib/openpgp/privkey.c -
-  - -_gnutls_ext_init - -6 - -17 - -51 - -lib/gnutls_extensions.c -
-  - -_gnutls_get_cred - -6 - -17 - -30 - -lib/gnutls_auth.c -
-  - -_gnutls_mpi_dprint - -6 - -17 - -27 - -lib/gnutls_mpi.c -
-  - -_gnutls_mpi_dprint_lz - -6 - -17 - -28 - -lib/gnutls_mpi.c -
-  - -_gnutls_max_record_send_params - -6 - -17 - -50 - -lib/ext_max_record.c -
-  - -wrap_gcry_pk_fixup - -6 - -16 - -37 - -lib/pk-libgcrypt.c -
-  - -read_onepass_sig - -6 - -16 - -22 - -lib/opencdk/read-packet.c -
-  - -_generate_params - -6 - -16 - -29 - -lib/gnutls_pk.c -
-  - -gnutls_dh_params_export_raw - -6 - -16 - -34 - -lib/gnutls_dh_primes.c -
-  - -gnutls_openpgp_privkey_get_fingerprint - -6 - -16 - -32 - -lib/openpgp/privkey.c -
-  - -gnutls_x509_crt_get_proxy - -6 - -16 - -44 - -lib/x509/x509.c -
-  - -pkt_encode_len - -6 - -16 - -31 - -lib/opencdk/write-packet.c -
-  - -_cdk_memistr - -6 - -16 - -23 - -lib/opencdk/misc.c -
-  - -cdk_stream_seek - -6 - -16 - -32 - -lib/opencdk/stream.c -
-  - -gnutls_openpgp_crt_get_subkey_fingerprint - -6 - -15 - -30 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_privkey_get_subkey_fingerprint - -6 - -15 - -31 - -lib/openpgp/privkey.c -
-  - -print_basic - -6 - -15 - -30 - -lib/x509/output.c -
-  - -cdk_kbnode_read_from_mem - -6 - -15 - -23 - -lib/opencdk/kbnode.c -
-  - -gnutls_openpgp_crt_get_fingerprint - -6 - -15 - -29 - -lib/openpgp/pgp.c -
-  - -break_comma_list - -6 - -14 - -30 - -lib/gnutls_priority.c -
-  - -gnutls_fingerprint - -6 - -14 - -31 - -lib/gnutls_ui.c -
-  - -_gnutls_recv_server_certificate_request - -6 - -14 - -32 - -lib/gnutls_kx.c -
-  - -_find_openpgp_cert - -6 - -14 - -32 - -lib/auth_cert.c -
-  - -_gnutls_handshake_common - -6 - -14 - -41 - -lib/gnutls_handshake.c -
-  - -text_decode - -6 - -13 - -22 - -lib/opencdk/literal.c -
-  - -cdk_stream_peek - -6 - -13 - -19 - -lib/opencdk/stream.c -
-  - -_gnutls_handshake_hash_add_recvd - -6 - -13 - -42 - -lib/gnutls_handshake.c -
-  - -write_mpi - -6 - -13 - -19 - -lib/opencdk/write-packet.c -
-  - -_gnutls_get_pgp_key_usage - -6 - -12 - -18 - -lib/openpgp/pgp.c -
-  - -cdk_pk_fingerprint_get_keyid - -6 - -12 - -23 - -lib/opencdk/pubkey.c -
-  - -_gnutls_certificate_get_rsa_params - -6 - -12 - -29 - -lib/gnutls_cert.c -
-  - -_gnutls_get_dh_params - -6 - -12 - -28 - -lib/gnutls_dh.c -
-  - -cdk_keydb_get_bypattern - -6 - -12 - -23 - -lib/opencdk/keydb.c -
-  - -cdk_key_desig_revoker_walk - -6 - -11 - -26 - -lib/opencdk/new-packet.c -
-  - -read_compressed - -6 - -11 - -23 - -lib/opencdk/read-packet.c -
-  - -read_mdc - -6 - -11 - -18 - -lib/opencdk/read-packet.c -
-  - -_cdk_stream_gets - -6 - -11 - -21 - -lib/opencdk/stream.c -
-  - -gnutls_x509_crt_set_proxy_dn - -6 - -10 - -29 - -lib/x509/x509_write.c -
-  - -gnutls_dh_get_peers_public_bits - -7 - -22 - -47 - -lib/gnutls_ui.c -
-  - -gnutls_dh_get_prime_bits - -7 - -22 - -45 - -lib/gnutls_ui.c -
-  - -gnutls_dh_get_pubkey - -7 - -22 - -43 - -lib/gnutls_ui.c -
-  - -_gnutls_dh_set_secret_bits - -7 - -21 - -41 - -lib/gnutls_state.c -
-  - -gnutls_dh_get_secret_bits - -7 - -17 - -38 - -lib/gnutls_ui.c -
-  - -gnutls_certificate_activation_time_peers - -6 - -11 - -35 - -lib/gnutls_cert.c -
-  - -gnutls_certificate_expiration_time_peers - -6 - -11 - -35 - -lib/gnutls_cert.c -
-  - -gnutls_certificate_verify_peers2 - -6 - -10 - -29 - -lib/gnutls_cert.c -
-  - -_gnutls_cipher_encrypt - -5 - -9 - -20 - -lib/gnutls_cipher_int.c -
-  - -update_crc - -5 - -9 - -13 - -lib/opencdk/armor.c -
-  - -oid2bag - -5 - -9 - -14 - -lib/x509/pkcs12.c -
-  - -cdk_kbnode_walk - -5 - -9 - -21 - -lib/opencdk/kbnode.c -
-  - -_gnutls_cipher_decrypt - -5 - -9 - -23 - -lib/gnutls_cipher_int.c -
-  - -cdk_keydb_search_release - -5 - -8 - -15 - -lib/opencdk/keydb.c -
-  - -_gnutls_ext_func_recv - -5 - -8 - -12 - -lib/gnutls_extensions.c -
-  - -_gnutls_srp_entry_free - -5 - -8 - -17 - -lib/auth_srp_passwd.c -
-  - -_gnutls_hmac_output - -5 - -8 - -19 - -lib/gnutls_hash_int.c -
-  - -_gnutls_hash_output - -5 - -8 - -19 - -lib/gnutls_hash_int.c -
-  - -gnutls_x509_crt_set_subject_alternative_name - -5 - -7 - -23 - -lib/x509/x509_write.c -
-  - -cdk_kbnode_find_prev - -5 - -7 - -13 - -lib/opencdk/kbnode.c -
-  - -gnutls_db_check_entry - -5 - -6 - -18 - -lib/gnutls_db.c -
-  - -proc_psk_client_kx - -5 - -35 - -70 - -lib/auth_dhe_psk.c -
-  - -_gnutls_parse_supplemental - -5 - -32 - -58 - -lib/gnutls_supplemental.c -
-  - -_gnutls_x509_time2gtime - -5 - -29 - -60 - -lib/x509/common.c -
-  - -_gnutls_proc_psk_server_kx - -5 - -28 - -59 - -lib/auth_psk.c -
-  - -_gnutls_proc_psk_client_kx - -5 - -28 - -60 - -lib/auth_psk.c -
-  - -_gnutls_x509_crt_get_raw_dn2 - -5 - -28 - -58 - -lib/x509/x509.c -
-  - -_gnutls_x509_get_signature - -5 - -28 - -57 - -lib/x509/common.c -
-  - -_gnutls_mac_deinit_ssl3_handshake - -5 - -27 - -46 - -lib/gnutls_hash_int.c -
-  - -gnutls_x509_crq_set_key_rsa_raw - -5 - -26 - -53 - -lib/x509/crq.c -
-  - -add_new_crt_to_rdn_seq - -5 - -26 - -55 - -lib/gnutls_x509.c -
-  - -_gnutls_gen_x509_crt - -5 - -26 - -54 - -lib/auth_cert.c -
-  - -_gnutls_x509_crt_cpy - -5 - -25 - -45 - -lib/x509/x509.c -
-  - -create_empty_pfx - -5 - -25 - -56 - -lib/x509/pkcs12.c -
-  - -_gnutls_x509_crl_cpy - -5 - -25 - -45 - -lib/x509/crl.c -
-  - -_gnutls_proc_cert_client_cert_vrfy - -5 - -25 - -47 - -lib/auth_cert.c -
-  - -gen_anon_server_kx - -5 - -24 - -47 - -lib/auth_anon.c -
-  - -_gnutls_hmac_init - -5 - -24 - -48 - -lib/gnutls_hash_int.c -
-  - -gen_psk_server_kx - -5 - -24 - -47 - -lib/auth_dhe_psk.c -
-  - -gnutls_x509_crt_set_crl_dist_points2 - -5 - -23 - -57 - -lib/x509/x509_write.c -
-  - -_gnutls_x509_write_dsa_public_key - -5 - -23 - -46 - -lib/x509/mpi.c -
-  - -add_attribute - -5 - -23 - -47 - -lib/x509/crq.c -
-  - -_gnutls_decode_ber_rs - -5 - -23 - -45 - -lib/gnutls_pk.c -
-  - -_gnutls_x509_read_int - -5 - -23 - -41 - -lib/gnutls_mpi.c -
-  - -_cdk_tmpfile - -5 - -23 - -33 - -lib/opencdk/misc.c -
-  - -write_pbe_enc_params - -5 - -23 - -60 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_gen_cert_client_cert_vrfy - -5 - -23 - -51 - -lib/auth_cert.c -
-  - -_gnutls_server_select_comp_method - -5 - -22 - -48 - -lib/gnutls_handshake.c -
-  - -oprfi_recv_client - -5 - -22 - -42 - -lib/ext_oprfi.c -
-  - -gnutls_srp_verifier - -5 - -22 - -43 - -lib/gnutls_srp.c -
-  - -_gnutls_handshake_select_v2_suite - -5 - -22 - -41 - -lib/gnutls_v2_compat.c -
-  - -overwrite_extension - -5 - -22 - -40 - -lib/x509/extensions.c -
-  - -gnutls_x509_crt_get_fingerprint - -5 - -22 - -42 - -lib/x509/x509.c -
-  - -oprfi_send_server - -5 - -22 - -50 - -lib/ext_oprfi.c -
-  - -_gnutls_ssl3_generate_random - -5 - -21 - -43 - -lib/gnutls_hash_int.c -
-  - -_gnutls_x509_read_rsa_params - -5 - -21 - -45 - -lib/x509/mpi.c -
-  - -_gnutls_encode_ber_rs - -5 - -21 - -43 - -lib/gnutls_pk.c -
-  - -_gnutls_openpgp_raw_crt_to_gcert - -5 - -20 - -39 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_x509_raw_privkey_to_gkey - -5 - -20 - -43 - -lib/gnutls_x509.c -
-  - -_gnutls_srp_gx - -5 - -20 - -40 - -lib/gnutls_srp.c -
-  - -_gnutls_x509_write_sig_params - -5 - -20 - -46 - -lib/x509/mpi.c -
-  - -gnutls_pkcs12_bag_decrypt - -5 - -19 - -44 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_x509_crl_get_crt_serial - -5 - -19 - -40 - -lib/x509/crl.c -
-  - -_cdk_copy_prefs - -5 - -19 - -23 - -lib/opencdk/new-packet.c -
-  - -_gnutls_x509_data2hex - -5 - -19 - -37 - -lib/x509/common.c -
-  - -_gnutls_client_set_comp_method - -5 - -19 - -38 - -lib/gnutls_handshake.c -
-  - -_gnutls_send_server_certificate - -5 - -18 - -40 - -lib/gnutls_kx.c -
-  - -gnutls_session_get_data - -5 - -18 - -36 - -lib/gnutls_session.c -
-  - -read_cert_mem - -5 - -18 - -47 - -lib/gnutls_x509.c -
-  - -_gnutls_send_client_kx_message - -5 - -18 - -38 - -lib/gnutls_kx.c -
-  - -_gnutls_server_register_current_session - -5 - -18 - -36 - -lib/gnutls_db.c -
-  - -gnutls_x509_crq_get_basic_constraints - -5 - -18 - -38 - -lib/x509/crq.c -
-  - -gnutls_certificate_set_x509_crl - -5 - -18 - -38 - -lib/gnutls_x509.c -
-  - -gnutls_x509_rdn_get - -5 - -18 - -40 - -lib/x509/dn.c -
-  - -gnutls_x509_crt_cpy_crl_dist_points - -5 - -17 - -39 - -lib/x509/x509_write.c -
-  - -cdk_stream_get_length - -5 - -17 - -33 - -lib/opencdk/stream.c -
-  - -gnutls_rsa_export_get_pubkey - -5 - -17 - -36 - -lib/gnutls_ui.c -
-  - -gnutls_x509_crq_get_extension_by_oid - -5 - -17 - -37 - -lib/x509/crq.c -
-  - -dsa_verify_sig - -5 - -16 - -35 - -lib/x509/verify.c -
-  - -check_if_same_cert - -5 - -16 - -31 - -lib/x509/verify.c -
-  - -hash_mpibuf - -5 - -16 - -25 - -lib/opencdk/sig-check.c -
-  - -gnutls_x509_crl_set_crt - -5 - -16 - -33 - -lib/x509/crl_write.c -
-  - -gnutls_certificate_set_x509_trust_file - -5 - -16 - -33 - -lib/gnutls_x509.c -
-  - -pack_srp_auth_info - -5 - -15 - -33 - -lib/gnutls_session_pack.c -
-  - -_cdk_copy_userid - -5 - -15 - -23 - -lib/opencdk/new-packet.c -
-  - -cdk_kbnode_commit - -5 - -15 - -24 - -lib/opencdk/kbnode.c -
-  - -gnutls_server_name_get - -5 - -15 - -44 - -lib/ext_server_name.c -
-  - -read_new_length - -5 - -14 - -27 - -lib/opencdk/read-packet.c -
-  - -_gnutls_uint64pp - -5 - -14 - -24 - -lib/gnutls_num.c -
-  - -_cdk_filter_literal - -5 - -14 - -22 - -lib/opencdk/literal.c -
-  - -get_temp_recv_buffer - -5 - -13 - -38 - -lib/gnutls_record.c -
-  - -_cdk_filter_armor - -5 - -13 - -22 - -lib/opencdk/armor.c -
-  - -_get_public_subkey - -5 - -13 - -24 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crt_set_crq - -5 - -13 - -30 - -lib/x509/x509_write.c -
-  - -cpydata - -5 - -12 - -18 - -lib/x509_b64.c -
-  - -cdk_kbnode_remove - -5 - -12 - -21 - -lib/opencdk/kbnode.c -
-  - -search_header - -5 - -11 - -18 - -lib/opencdk/armor.c -
-  - -gnutls_srp_set_client_credentials - -5 - -11 - -24 - -lib/gnutls_srp.c -
-  - -cdk_keydb_free - -5 - -11 - -23 - -lib/opencdk/keydb.c -
-  - -text_encode - -5 - -11 - -21 - -lib/opencdk/literal.c -
-  - -_gnutls_version_max - -5 - -11 - -21 - -lib/gnutls_algorithms.c -
-  - -_gnutls_version_lowest - -5 - -11 - -21 - -lib/gnutls_algorithms.c -
-  - -gnutls_x509_crt_sign2 - -5 - -10 - -27 - -lib/x509/x509_write.c -
-  - -record_check_version - -5 - -10 - -34 - -lib/gnutls_record.c -
-  - -cdk_handle_free - -5 - -10 - -19 - -lib/opencdk/main.c -
-  - -_cdk_filter_text - -5 - -10 - -18 - -lib/opencdk/literal.c -
-  - -cdk_keydb_get_byfpr - -5 - -10 - -20 - -lib/opencdk/keydb.c -
-  - -_gnutls_handshake_buffer_put - -5 - -10 - -27 - -lib/gnutls_buffers.c -
-  - -cdk_keydb_get_bykeyid - -5 - -10 - -19 - -lib/opencdk/keydb.c -
-  - -check_schema - -5 - -10 - -20 - -lib/x509/privkey_pkcs8.c -
-  - -cdk_pkt_write - -16 - -31 - -54 - -lib/opencdk/write-packet.c -
-  - -_cdk_pkt_get_fingerprint - -7 - -6 - -21 - -lib/opencdk/pubkey.c -
-  - -_gnutls_record_buffer_put - -6 - -18 - -43 - -lib/gnutls_buffers.c -
-  - -_gnutls_record_buffer_get - -6 - -15 - -40 - -lib/gnutls_buffers.c -
-  - -_gnutls_x509_sign - -5 - -15 - -36 - -lib/x509/sign.c -
-  - -_gnutls_sign - -5 - -13 - -35 - -lib/gnutls_sig.c -
-  - -verify_sig - -5 - -12 - -38 - -lib/x509/verify.c -
-  - -wrap_gcry_pk_generate_params - -5 - -12 - -32 - -lib/pk-libgcrypt.c -
-  - -_cdk_stream_get_opaque - -4 - -9 - -15 - -lib/opencdk/stream.c -
-  - -cdk_subpkt_find_next - -4 - -9 - -15 - -lib/opencdk/new-packet.c -
-  - -_gnutls_extension_list_check - -4 - -9 - -18 - -lib/gnutls_extensions.c -
-  - -cdk_subpkt_find_nth - -4 - -9 - -15 - -lib/opencdk/new-packet.c -
-  - -gnutls_certificate_get_ours - -4 - -9 - -20 - -lib/gnutls_ui.c -
-  - -uid_list_all_signed - -4 - -9 - -19 - -lib/opencdk/sig-check.c -
-  - -_gnutls_comp_deinit - -4 - -9 - -27 - -lib/gnutls_compress.c -
-  - -prio_add - -4 - -9 - -19 - -lib/gnutls_priority.c -
-  - -gnutls_pk_algorithm_get_name - -4 - -9 - -15 - -lib/gnutls_algorithms.c -
-  - -kbnode_find_valid - -4 - -9 - -15 - -lib/opencdk/keydb.c -
-  - -_gnutls_x509_oid2mac_algorithm - -4 - -8 - -14 - -lib/gnutls_algorithms.c -
-  - -wrap_gcry_mpi_print - -4 - -8 - -17 - -lib/mpi-libgcrypt.c -
-  - -gnutls_credentials_clear - -4 - -8 - -16 - -lib/gnutls_auth.c -
-  - -find_key_packet - -4 - -8 - -14 - -lib/opencdk/keydb.c -
-  - -_gnutls_x509_pk_to_sign - -4 - -8 - -14 - -lib/gnutls_algorithms.c -
-  - -write_head_new - -4 - -8 - -14 - -lib/opencdk/write-packet.c -
-  - -cdk_pk_get_npkey - -4 - -8 - -15 - -lib/opencdk/pubkey.c -
-  - -wrap_gcry_mac_output - -4 - -8 - -18 - -lib/mac-libgcrypt.c -
-  - -cdk_strlist_next - -4 - -8 - -12 - -lib/opencdk/misc.c -
-  - -_get_algo - -4 - -7 - -19 - -lib/crypto.c -
-  - -_gnutls_retrieve_session - -4 - -7 - -19 - -lib/gnutls_db.c -
-  - -cdk_handle_get_keydb - -4 - -7 - -11 - -lib/opencdk/main.c -
-  - -gnutls_dh_params_cpy - -4 - -7 - -14 - -lib/gnutls_dh_primes.c -
-  - -_gnutls_map_kx_get_cred - -4 - -7 - -17 - -lib/gnutls_algorithms.c -
-  - -cdk_subpkt_get_data - -4 - -6 - -10 - -lib/opencdk/new-packet.c -
-  - -cdk_sig_get_keyid - -4 - -6 - -12 - -lib/opencdk/pubkey.c -
-  - -_cdk_stream_get_fname - -4 - -6 - -9 - -lib/opencdk/stream.c -
-  - -read_secret_subkey - -4 - -6 - -12 - -lib/opencdk/read-packet.c -
-  - -gnutls_certificate_type_get_id - -4 - -6 - -12 - -lib/gnutls_algorithms.c -
-  - -cdk_sk_get_mpi - -4 - -5 - -12 - -lib/opencdk/pubkey.c -
-  - -cdk_pk_get_mpi - -4 - -5 - -12 - -lib/opencdk/pubkey.c -
-  - -gnutls_openpgp_crt_get_preferred_key_id - -4 - -5 - -14 - -lib/openpgp/pgp.c -
-  - -_gnutls_cipher_deinit - -4 - -5 - -13 - -lib/gnutls_cipher_int.c -
-  - -gnutls_openpgp_privkey_get_preferred_key_id - -4 - -5 - -14 - -lib/openpgp/privkey.c -
-  - -gnutls_cipher_suite_get_name - -4 - -4 - -15 - -lib/gnutls_algorithms.c -
-  - -pack_psk_auth_info - -4 - -36 - -69 - -lib/gnutls_session_pack.c -
-  - -gnutls_init - -4 - -36 - -88 - -lib/gnutls_state.c -
-  - -is_type_printable - -4 - -3 - -9 - -lib/x509/x509.c -
-  - -gnutls_x509_crq_set_dn_by_oid - -4 - -3 - -14 - -lib/x509/crq.c -
-  - -gnutls_x509_crt_set_dn_by_oid - -4 - -3 - -13 - -lib/x509/x509_write.c -
-  - -_gnutls_dh_params_to_mpi - -4 - -3 - -11 - -lib/gnutls_dh_primes.c -
-  - -_gnutls_abort_handshake - -4 - -3 - -11 - -lib/gnutls_handshake.c -
-  - -_gnutls_db_func_is_ok - -4 - -3 - -10 - -lib/gnutls_db.c -
-  - -gnutls_x509_crt_set_issuer_dn_by_oid - -4 - -3 - -15 - -lib/x509/x509_write.c -
-  - -pack_anon_auth_info - -4 - -24 - -47 - -lib/gnutls_session_pack.c -
-  - -_gnutls_x509_ext_extract_keyUsage - -4 - -22 - -42 - -lib/x509/extensions.c -
-  - -_gnutls_mac_deinit_ssl3 - -4 - -22 - -37 - -lib/gnutls_hash_int.c -
-  - -_gnutls_ssl3_finished - -4 - -22 - -47 - -lib/gnutls_handshake.c -
-  - -_gnutls_cert_get_issuer_dn - -4 - -21 - -42 - -lib/auth_cert.c -
-  - -pkcs1_rsa_sign - -4 - -21 - -43 - -lib/x509/sign.c -
-  - -_gnutls_x509_ext_gen_keyUsage - -4 - -20 - -37 - -lib/x509/extensions.c -
-  - -gnutls_certificate_free_keys - -4 - -20 - -31 - -lib/gnutls_cert.c -
-  - -print_crq_other - -4 - -20 - -35 - -lib/x509/output.c -
-  - -print_ski - -4 - -20 - -35 - -lib/x509/output.c -
-  - -_gnutls_copy_comp_methods - -4 - -20 - -37 - -lib/gnutls_handshake.c -
-  - -parse_der_crl_mem - -4 - -20 - -43 - -lib/gnutls_x509.c -
-  - -parse_der_ca_mem - -4 - -20 - -43 - -lib/gnutls_x509.c -
-  - -_gnutls_x509_decode_and_read_attribute - -4 - -19 - -44 - -lib/x509/dn.c -
-  - -_gnutls_base64_decode - -4 - -19 - -28 - -lib/x509_b64.c -
-  - -oprfi_recv_server - -4 - -19 - -36 - -lib/ext_oprfi.c -
-  - -_gnutls_hex2bin - -4 - -19 - -34 - -lib/gnutls_str.c -
-  - -gnutls_x509_crt_print - -4 - -19 - -42 - -lib/x509/output.c -
-  - -_gnutls_x509_ext_gen_auth_key_id - -4 - -19 - -39 - -lib/x509/extensions.c -
-  - -_gnutls_x509_ext_extract_number - -4 - -18 - -42 - -lib/x509/extensions.c -
-  - -_gnutls_x509_set_time - -4 - -18 - -34 - -lib/x509/common.c -
-  - -_gnutls_x509_privkey_to_gkey - -4 - -18 - -32 - -lib/gnutls_x509.c -
-  - -_gnutls_dsa_sign - -4 - -18 - -32 - -lib/gnutls_pk.c -
-  - -cdk_keydb_new_from_mem - -4 - -18 - -28 - -lib/opencdk/keydb.c -
-  - -_gnutls_server_restore_session - -4 - -18 - -37 - -lib/gnutls_db.c -
-  - -_gnutls_calc_srp_S1 - -4 - -18 - -31 - -lib/gnutls_srp.c -
-  - -_gnutls_supported_ciphersuites_sorted - -4 - -18 - -35 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_get_signed_data - -4 - -18 - -40 - -lib/x509/common.c -
-  - -_gnutls_x509_ext_gen_number - -4 - -17 - -36 - -lib/x509/extensions.c -
-  - -_gnutls_hash_init - -4 - -17 - -34 - -lib/gnutls_hash_int.c -
-  - -_gnutls_mac_init_ssl3 - -4 - -17 - -32 - -lib/gnutls_hash_int.c -
-  - -_gnutls_gen_psk_server_kx - -4 - -17 - -36 - -lib/auth_psk.c -
-  - -gnutls_x509_crq_get_key_usage - -4 - -17 - -36 - -lib/x509/crq.c -
-  - -gnutls_x509_privkey_sign_data - -4 - -17 - -37 - -lib/x509/privkey.c -
-  - -_gnutls_base64_encode - -4 - -17 - -28 - -lib/x509_b64.c -
-  - -_gnutls_x509_ext_gen_key_id - -4 - -17 - -36 - -lib/x509/extensions.c -
-  - -gnutls_x509_crt_set_proxy - -4 - -16 - -42 - -lib/x509/x509_write.c -
-  - -gnutls_x509_crt_set_key_usage - -4 - -16 - -35 - -lib/x509/x509_write.c -
-  - -gnutls_x509_crt_set_basic_constraints - -4 - -16 - -37 - -lib/x509/x509_write.c -
-  - -cdk_keydb_new_from_file - -4 - -16 - -24 - -lib/opencdk/keydb.c -
-  - -_gnutls_x509_read_der_int - -4 - -16 - -38 - -lib/x509/mpi.c -
-  - -gnutls_x509_crq_get_attribute_info - -4 - -16 - -32 - -lib/x509/crq.c -
-  - -_gnutls_openpgp_fingerprint - -4 - -16 - -31 - -lib/openpgp/compat.c -
-  - -gnutls_x509_crl_get_extension_data - -4 - -15 - -30 - -lib/x509/crl.c -
-  - -_gnutls_x509_verify_signature - -4 - -15 - -38 - -lib/x509/verify.c -
-  - -read_key_mem - -4 - -15 - -37 - -lib/gnutls_x509.c -
-  - -_gnutls_dsa_verify - -4 - -15 - -30 - -lib/gnutls_pk.c -
-  - -get_issuers - -4 - -15 - -38 - -lib/auth_cert.c -
-  - -_gnutls_rsa_verify - -4 - -15 - -36 - -lib/gnutls_pk.c -
-  - -gnutls_x509_crq_set_key_usage - -4 - -15 - -33 - -lib/x509/crq.c -
-  - -gnutls_x509_crq_set_basic_constraints - -4 - -15 - -35 - -lib/x509/crq.c -
-  - -gnutls_x509_crt_get_extension_data - -4 - -15 - -30 - -lib/x509/x509.c -
-  - -cdk_stream_set_hash_flag - -4 - -15 - -26 - -lib/opencdk/stream.c -
-  - -gnutls_x509_crq_get_attribute_data - -4 - -15 - -30 - -lib/x509/crq.c -
-  - -gnutls_x509_rdn_get_oid - -4 - -15 - -35 - -lib/x509/dn.c -
-  - -gnutls_x509_rdn_get_by_oid - -4 - -15 - -38 - -lib/x509/dn.c -
-  - -gnutls_prf - -4 - -15 - -35 - -lib/gnutls_state.c -
-  - -gnutls_pkcs7_set_crl - -4 - -14 - -28 - -lib/x509/pkcs7.c -
-  - -gnutls_pkcs7_get_crl_count - -4 - -14 - -33 - -lib/x509/pkcs7.c -
-  - -_gnutls_recv_server_certificate - -4 - -14 - -35 - -lib/gnutls_kx.c -
-  - -gnutls_pkcs7_set_crt - -4 - -14 - -28 - -lib/x509/pkcs7.c -
-  - -gnutls_openpgp_crt_check_hostname - -4 - -14 - -29 - -lib/openpgp/pgp.c -
-  - -gnutls_certificate_set_openpgp_keyring_file - -4 - -14 - -31 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_handshake_hash_pending - -4 - -14 - -31 - -lib/gnutls_handshake.c -
-  - -gnutls_pkcs7_get_crt_count - -4 - -14 - -33 - -lib/x509/pkcs7.c -
-  - -checksum_mpi - -4 - -14 - -17 - -lib/opencdk/pubkey.c -
-  - -gnutls_server_name_set - -4 - -14 - -32 - -lib/ext_server_name.c -
-  - -_gnutls_selected_certs_deinit - -4 - -14 - -25 - -lib/auth_cert.c -
-  - -gnutls_certificate_set_x509_crl_file - -4 - -14 - -32 - -lib/gnutls_x509.c -
-  - -gnutls_x509_crq_set_challenge_password - -4 - -13 - -37 - -lib/x509/crq.c -
-  - -cdk_stream_filter_disable - -4 - -13 - -23 - -lib/opencdk/stream.c -
-  - -gnutls_openpgp_crt_get_subkey_count - -4 - -13 - -24 - -lib/openpgp/pgp.c -
-  - -record_check_headers - -4 - -13 - -55 - -lib/gnutls_record.c -
-  - -gnutls_pem_base64_decode - -4 - -13 - -28 - -lib/x509_b64.c -
-  - -cdk_armor_filter_use - -4 - -13 - -20 - -lib/opencdk/armor.c -
-  - -gnutls_srp_base64_decode - -4 - -13 - -26 - -lib/auth_srp_sb64.c -
-  - -gnutls_openpgp_privkey_get_subkey_count - -4 - -13 - -24 - -lib/openpgp/privkey.c -
-  - -gnutls_srp_base64_encode - -4 - -13 - -26 - -lib/auth_srp_sb64.c -
-  - -gnutls_pem_base64_encode - -4 - -13 - -26 - -lib/x509_b64.c -
-  - -_gnutls_openpgp_count_key_names - -4 - -13 - -24 - -lib/openpgp/pgp.c -
-  - -_gnutls_string_get_datum - -4 - -13 - -28 - -lib/gnutls_str.c -
-  - -alloc_and_load_pgp_key - -4 - -13 - -25 - -lib/auth_cert.c -
-  - -alloc_and_load_x509_key - -4 - -13 - -25 - -lib/auth_cert.c -
-  - -find_selfsig_node - -4 - -13 - -21 - -lib/opencdk/keydb.c -
-  - -_gnutls_qsort - -4 - -13 - -27 - -lib/gnutls_algorithms.c -
-  - -cdk_kbnode_insert - -4 - -13 - -25 - -lib/opencdk/kbnode.c -
-  - -gnutls_openpgp_crt_get_subkey_id - -4 - -12 - -24 - -lib/openpgp/pgp.c -
-  - -read_old_length - -4 - -12 - -26 - -lib/opencdk/read-packet.c -
-  - -gnutls_openpgp_crt_get_subkey_pk_algorithm - -4 - -12 - -26 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crq_get_version - -4 - -12 - -26 - -lib/x509/crq.c -
-  - -gnutls_x509_crq_set_version - -4 - -12 - -25 - -lib/x509/crq.c -
-  - -gnutls_openpgp_privkey_get_subkey_id - -4 - -12 - -24 - -lib/openpgp/privkey.c -
-  - -gnutls_x509_crt_get_version - -4 - -12 - -26 - -lib/x509/x509.c -
-  - -gnutls_x509_crl_set_version - -4 - -12 - -24 - -lib/x509/crl_write.c -
-  - -gnutls_openpgp_crt_get_key_id - -4 - -12 - -23 - -lib/openpgp/pgp.c -
-  - -_cdk_copy_signature - -4 - -12 - -20 - -lib/opencdk/new-packet.c -
-  - -gnutls_pkcs12_bag_set_key_id - -4 - -12 - -30 - -lib/x509/pkcs12_bag.c -
-  - -_gnutls_recv_client_kx_message - -4 - -12 - -32 - -lib/gnutls_kx.c -
-  - -gnutls_openpgp_crt_get_pk_algorithm - -4 - -12 - -24 - -lib/openpgp/pgp.c -
-  - -_gnutls_srp_recv_params - -4 - -12 - -27 - -lib/ext_srp.c -
-  - -gnutls_openpgp_privkey_get_key_id - -4 - -12 - -23 - -lib/openpgp/privkey.c -
-  - -_gnutls_recv_hello_request - -4 - -12 - -25 - -lib/gnutls_handshake.c -
-  - -gnutls_openpgp_privkey_get_pk_algorithm - -4 - -12 - -24 - -lib/openpgp/privkey.c -
-  - -gnutls_session_set_data - -4 - -12 - -24 - -lib/gnutls_session.c -
-  - -gnutls_x509_crt_set_version - -4 - -12 - -24 - -lib/x509/x509_write.c -
-  - -_gnutls_bsort - -4 - -12 - -22 - -lib/gnutls_algorithms.c -
-  - -_gnutls_client_check_if_resuming - -4 - -12 - -39 - -lib/gnutls_handshake.c -
-  - -read_crl_mem - -4 - -12 - -33 - -lib/gnutls_x509.c -
-  - -cdk_stream_enable_cache - -4 - -12 - -23 - -lib/opencdk/stream.c -
-  - -gnutls_calc_dh_key - -4 - -11 - -19 - -lib/gnutls_dh.c -
-  - -_cdk_filter_hash - -4 - -11 - -20 - -lib/opencdk/hash.c -
-  - -_set_priority - -4 - -11 - -19 - -lib/gnutls_priority.c -
-  - -gnutls_pkcs12_bag_set_friendly_name - -4 - -11 - -26 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_cipher_set_priority - -4 - -11 - -18 - -lib/gnutls_priority.c -
-  - -prio_remove - -4 - -11 - -22 - -lib/gnutls_priority.c -
-  - -gnutls_strerror - -4 - -11 - -21 - -lib/gnutls_errors.c -
-  - -_gnutls_user_hello_func - -4 - -11 - -26 - -lib/gnutls_handshake.c -
-  - -write_mdc - -4 - -11 - -19 - -lib/opencdk/write-packet.c -
-  - -gnutls_error_is_fatal - -4 - -11 - -22 - -lib/gnutls_errors.c -
-  - -_gnutls_handshake_hash_init - -4 - -11 - -30 - -lib/gnutls_handshake.c -
-  - -_gnutls_recv_hello - -4 - -11 - -27 - -lib/gnutls_handshake.c -
-  - -gnutls_psk_set_server_credentials_file - -4 - -11 - -27 - -lib/gnutls_psk.c -
-  - -cdk_pk_get_nskey - -4 - -11 - -20 - -lib/opencdk/pubkey.c -
-  - -_gnutls_get_selected_cert - -4 - -11 - -38 - -lib/auth_cert.c -
-  - -gnutls_x509_crl_sign2 - -4 - -10 - -27 - -lib/x509/crl_write.c -
-  - -gnutls_certificate_set_x509_key_file - -4 - -10 - -26 - -lib/gnutls_x509.c -
-  - -gnutls_openpgp_crt_get_subkey_revoked_status - -4 - -10 - -20 - -lib/openpgp/pgp.c -
-  - -_gnutls_set_datum_m - -4 - -10 - -20 - -lib/gnutls_datum.c -
-  - -check_bits - -4 - -10 - -21 - -lib/gnutls_x509.c -
-  - -gnutls_openpgp_crt_get_revoked_status - -4 - -10 - -19 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_privkey_get_subkey_revoked_status - -4 - -10 - -20 - -lib/openpgp/privkey.c -
-  - -_get_secret_subkey - -4 - -10 - -18 - -lib/openpgp/privkey.c -
-  - -gnutls_openpgp_privkey_get_revoked_status - -4 - -10 - -19 - -lib/openpgp/privkey.c -
-  - -gnutls_session_get_data2 - -4 - -10 - -23 - -lib/gnutls_session.c -
-  - -_gnutls_version_priority - -4 - -10 - -18 - -lib/gnutls_algorithms.c -
-  - -is_armored - -11 - -8 - -25 - -lib/opencdk/armor.c -
-  - -wrap_gcry_mac_init - -9 - -22 - -40 - -lib/mac-libgcrypt.c -
-  - -_cdk_pkt_write2 - -8 - -17 - -33 - -lib/opencdk/write-packet.c -
-  - -_cdk_pkt_get_keyid - -7 - -12 - -31 - -lib/opencdk/pubkey.c -
-  - -_cdk_pkt_detach_free - -6 - -9 - -28 - -lib/opencdk/new-packet.c -
-  - -encode - -5 - -21 - -43 - -lib/x509_b64.c -
-  - -calc_s2ksize - -5 - -12 - -23 - -lib/opencdk/write-packet.c -
-  - -_gnutls_gen_cert_client_certificate - -4 - -6 - -20 - -lib/auth_cert.c -
-  - -_gnutls_get_auth_info_gcert - -4 - -5 - -25 - -lib/gnutls_cert.c -
-  - -gnutls_error_to_alert - -35 - -49 - -99 - -lib/gnutls_alert.c -
-  - -gnutls_openpgp_crt_get_subkey_expiration_time - -3 - -9 - -18 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crt_get_pk_algorithm - -3 - -9 - -25 - -lib/x509/x509.c -
-  - -gnutls_openpgp_crt_get_subkey_creation_time - -3 - -9 - -18 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crt_set_serial - -3 - -9 - -24 - -lib/x509/x509_write.c -
-  - -gnutls_x509_crq_set_key - -3 - -9 - -25 - -lib/x509/crq.c -
-  - -gnutls_x509_privkey_deinit - -3 - -9 - -16 - -lib/x509/privkey.c -
-  - -cdk_subpkt_add - -3 - -9 - -12 - -lib/opencdk/new-packet.c -
-  - -gnutls_openpgp_crt_get_key_usage - -3 - -9 - -20 - -lib/openpgp/pgp.c -
-  - -write_compressed - -3 - -9 - -17 - -lib/opencdk/write-packet.c -
-  - -gnutls_openpgp_privkey_get_subkey_expiration_time - -3 - -9 - -18 - -lib/openpgp/privkey.c -
-  - -cdk_subpkt_type_count - -3 - -9 - -15 - -lib/opencdk/new-packet.c -
-  - -gnutls_openpgp_privkey_get_subkey_creation_time - -3 - -9 - -18 - -lib/openpgp/privkey.c -
-  - -gnutls_pkcs12_bag_get_key_id - -3 - -9 - -21 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_x509_crq_init - -3 - -9 - -20 - -lib/x509/crq.c -
-  - -gnutls_x509_crl_init - -3 - -9 - -20 - -lib/x509/crl.c -
-  - -keydb_idx_mkname - -3 - -9 - -14 - -lib/opencdk/keydb.c -
-  - -gnutls_openpgp_crt_get_expiration_time - -3 - -9 - -17 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crl_get_crt_count - -3 - -9 - -24 - -lib/x509/crl.c -
-  - -gnutls_openpgp_crt_get_creation_time - -3 - -9 - -17 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_crt_get_version - -3 - -9 - -17 - -lib/openpgp/pgp.c -
-  - -gnutls_strerror_name - -3 - -9 - -17 - -lib/gnutls_errors.c -
-  - -_pkcs12_check_pass - -3 - -9 - -15 - -lib/x509/pkcs12_encr.c -
-  - -_gnutls_bin2hex - -3 - -9 - -16 - -lib/gnutls_str.c -
-  - -_gnutls_negotiate_version - -3 - -9 - -30 - -lib/gnutls_handshake.c -
-  - -gnutls_x509_crt_verify_hash - -3 - -9 - -22 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_verify_data - -3 - -9 - -22 - -lib/x509/x509.c -
-  - -proc_psk_server_kx - -3 - -9 - -25 - -lib/auth_dhe_psk.c -
-  - -gnutls_x509_crt_set_key - -3 - -9 - -25 - -lib/x509/x509_write.c -
-  - -_gnutls_x509_pk_to_oid - -3 - -9 - -15 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_oid2pk_algorithm - -3 - -9 - -15 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_oid2sign_algorithm - -3 - -9 - -17 - -lib/gnutls_algorithms.c -
-  - -gnutls_x509_privkey_verify_data - -3 - -9 - -23 - -lib/x509/privkey.c -
-  - -gnutls_x509_privkey_sign_hash - -3 - -9 - -23 - -lib/x509/privkey.c -
-  - -gnutls_pkcs7_init - -3 - -9 - -20 - -lib/x509/pkcs7.c -
-  - -proc_anon_server_kx - -3 - -9 - -25 - -lib/auth_anon.c -
-  - -gnutls_pkcs12_init - -3 - -9 - -20 - -lib/x509/pkcs12.c -
-  - -oid2cipher - -3 - -9 - -21 - -lib/x509/privkey_pkcs8.c -
-  - -write_mpibuf - -3 - -9 - -14 - -lib/opencdk/write-packet.c -
-  - -gnutls_openpgp_crt_get_subkey_usage - -3 - -9 - -21 - -lib/openpgp/pgp.c -
-  - -_gnutls_set_write_mac - -3 - -8 - -23 - -lib/gnutls_constate.c -
-  - -_gnutls_set_read_mac - -3 - -8 - -23 - -lib/gnutls_constate.c -
-  - -_gnutls_set_kx - -3 - -8 - -23 - -lib/gnutls_constate.c -
-  - -_gnutls_gcert_deinit - -3 - -8 - -15 - -lib/gnutls_cert.c -
-  - -_gnutls_handshake_hash_add_sent - -3 - -8 - -23 - -lib/gnutls_handshake.c -
-  - -gnutls_x509_crl_get_extension_oid - -3 - -8 - -21 - -lib/x509/crl.c -
-  - -_gnutls_set_write_cipher - -3 - -8 - -25 - -lib/gnutls_constate.c -
-  - -_gnutls_set_read_cipher - -3 - -8 - -25 - -lib/gnutls_constate.c -
-  - -cdk_subpkt_new - -3 - -8 - -14 - -lib/opencdk/new-packet.c -
-  - -filter_search - -3 - -8 - -15 - -lib/opencdk/stream.c -
-  - -gnutls_pkcs12_bag_get_friendly_name - -3 - -8 - -20 - -lib/x509/pkcs12_bag.c -
-  - -cdk_pkt_new - -3 - -8 - -13 - -lib/opencdk/new-packet.c -
-  - -gnutls_crypto_digest_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -gnutls_crypto_mac_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -gnutls_crypto_cipher_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -_cdk_sk_get_csum - -3 - -8 - -11 - -lib/opencdk/pubkey.c -
-  - -gnutls_crypto_pk_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -gnutls_psk_client_get_hint - -3 - -8 - -16 - -lib/gnutls_psk.c -
-  - -gnutls_crypto_bigint_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -get_keyid - -3 - -8 - -20 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_psk_server_get_username - -3 - -8 - -16 - -lib/gnutls_psk.c -
-  - -_gnutls_openpgp_get_algo - -3 - -8 - -17 - -lib/openpgp/privkey.c -
-  - -find_issuer - -3 - -8 - -18 - -lib/x509/verify.c -
-  - -gnutls_rsa_params_export_raw - -3 - -8 - -21 - -lib/gnutls_rsa_export.c -
-  - -gnutls_crypto_rnd_register2 - -3 - -8 - -19 - -lib/crypto.c -
-  - -cache_sig_result - -3 - -8 - -16 - -lib/opencdk/sig-check.c -
-  - -mac_init - -3 - -8 - -23 - -lib/gnutls_cipher.c -
-  - -gnutls_x509_crt_get_extension_oid - -3 - -8 - -21 - -lib/x509/x509.c -
-  - -gnutls_pkcs12_bag_get_data - -3 - -8 - -18 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_session_get_id - -3 - -8 - -24 - -lib/gnutls_session.c -
-  - -_gnutls_mpi_scan_nz - -3 - -8 - -19 - -lib/gnutls_mpi.c -
-  - -gnutls_x509_crq_get_pk_algorithm - -3 - -8 - -22 - -lib/x509/crq.c -
-  - -find_crl_issuer - -3 - -8 - -18 - -lib/x509/verify.c -
-  - -_gnutls_kx_priority - -3 - -7 - -12 - -lib/gnutls_algorithms.c -
-  - -skip_packet - -3 - -7 - -14 - -lib/opencdk/read-packet.c -
-  - -_gnutls_x509_oid_data_printable - -3 - -7 - -15 - -lib/x509/common.c -
-  - -gnutls_alert_get_name - -3 - -7 - -11 - -lib/gnutls_alert.c -
-  - -asciiprint - -3 - -7 - -11 - -lib/x509/output.c -
-  - -get_supp_func_recv - -3 - -7 - -11 - -lib/gnutls_supplemental.c -
-  - -_gnutls_cipher_priority - -3 - -7 - -12 - -lib/gnutls_algorithms.c -
-  - -gnutls_realloc_fast - -3 - -7 - -16 - -lib/gnutls_mem.c -
-  - -cdk_kbnode_release - -3 - -7 - -14 - -lib/opencdk/kbnode.c -
-  - -hexprint - -3 - -7 - -13 - -lib/x509/output.c -
-  - -gnutls_supplemental_get_name - -3 - -7 - -11 - -lib/gnutls_supplemental.c -
-  - -_gnutls_extension_get_name - -3 - -7 - -11 - -lib/gnutls_extensions.c -
-  - -_gnutls_mac_priority - -3 - -7 - -12 - -lib/gnutls_algorithms.c -
-  - -hexprint - -3 - -7 - -13 - -lib/openpgp/output.c -
-  - -send_debug - -3 - -7 - -14 - -lib/io_debug.h -
-  - -gnutls_secure_calloc - -3 - -7 - -10 - -lib/gnutls_mem.c -
-  - -_gnutls_gkey_deinit - -3 - -7 - -12 - -lib/gnutls_x509.c -
-  - -_gnutls_calloc - -3 - -7 - -10 - -lib/gnutls_mem.c -
-  - -recv_debug - -3 - -7 - -14 - -lib/io_debug.h -
-  - -_gnutls_str_cat - -3 - -7 - -19 - -lib/gnutls_str.c -
-  - -dup_trim_filename - -3 - -7 - -12 - -lib/opencdk/literal.c -
-  - -copy_record_version - -3 - -7 - -20 - -lib/gnutls_record.c -
-  - -pkt_write_head2 - -3 - -7 - -12 - -lib/opencdk/write-packet.c -
-  - -_gnutls_x509_oid2ldap_string - -3 - -7 - -15 - -lib/x509/common.c -
-  - -print_key_revoked - -3 - -7 - -15 - -lib/openpgp/output.c -
-  - -_gnutls_check_pk_algo_in_list - -3 - -7 - -15 - -lib/auth_cert.c -
-  - -_gnutls_x509_oid_data_choice - -3 - -7 - -15 - -lib/x509/common.c -
-  - -gnutls_openpgp_crt_verify_self - -3 - -7 - -15 - -lib/openpgp/pgpverify.c -
-  - -gnutls_x509_dn_oid_known - -3 - -7 - -15 - -lib/x509/common.c -
-  - -_gnutls_x509_compare_raw_dn - -3 - -7 - -17 - -lib/x509/dn.c -
-  - -_gnutls_version_is_supported - -3 - -7 - -15 - -lib/gnutls_algorithms.c -
-  - -gnutls_certificate_set_x509_trust_mem - -3 - -7 - -19 - -lib/gnutls_x509.c -
-  - -gnutls_openpgp_keyring_deinit - -3 - -6 - -14 - -lib/openpgp/extras.c -
-  - -gnutls_openpgp_privkey_deinit - -3 - -6 - -14 - -lib/openpgp/privkey.c -
-  - -gnutls_openpgp_crt_deinit - -3 - -6 - -14 - -lib/openpgp/pgp.c -
-  - -cdk_sk_get_keyid - -3 - -6 - -14 - -lib/opencdk/pubkey.c -
-  - -_gnutls_str_cpy - -3 - -6 - -18 - -lib/gnutls_str.c -
-  - -wrap_gcry_mpi_mul_ui - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_sub_ui - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_add_ui - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -cdk_listkey_close - -3 - -6 - -12 - -lib/opencdk/keydb.c -
-  - -wrap_gcry_mpi_div - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_mul - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_sub - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -cdk_kbnode_find - -3 - -6 - -10 - -lib/opencdk/kbnode.c -
-  - -wrap_gcry_mpi_add - -3 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_mulm - -3 - -6 - -14 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_subm - -3 - -6 - -14 - -lib/mpi-libgcrypt.c -
-  - -gnutls_certificate_type_get_name - -3 - -6 - -12 - -lib/gnutls_algorithms.c -
-  - -wrap_gcry_mpi_addm - -3 - -6 - -14 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_mpi_powm - -3 - -6 - -14 - -lib/mpi-libgcrypt.c -
-  - -_gnutls_handshake_buffer_get_ptr - -3 - -6 - -14 - -lib/gnutls_buffers.c -
-  - -_gnutls_string_clear - -3 - -6 - -11 - -lib/gnutls_str.c -
-  - -gnutls_pkcs12_bag_get_type - -3 - -6 - -13 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_x509_crq_deinit - -3 - -5 - -11 - -lib/x509/crq.c -
-  - -gnutls_x509_crl_deinit - -3 - -5 - -11 - -lib/x509/crl.c -
-  - -handle_set_digest - -3 - -5 - -9 - -lib/opencdk/main.c -
-  - -_format_conv - -3 - -5 - -10 - -lib/mpi-libgcrypt.c -
-  - -_gnutls_rnd_init - -3 - -5 - -14 - -lib/random.c -
-  - -_gnutls_hmac_deinit - -3 - -5 - -13 - -lib/gnutls_hash_int.c -
-  - -_gnutls_hmac - -3 - -5 - -13 - -lib/gnutls_hash_int.c -
-  - -cdk_handle_set_keydb - -3 - -5 - -10 - -lib/opencdk/main.c -
-  - -cdk_pk_get_nenc - -3 - -5 - -10 - -lib/opencdk/pubkey.c -
-  - -cdk_pk_get_nsig - -3 - -5 - -10 - -lib/opencdk/pubkey.c -
-  - -gnutls_pk_get_id - -3 - -5 - -10 - -lib/gnutls_algorithms.c -
-  - -deinit_internal_params - -3 - -5 - -11 - -lib/gnutls_state.c -
-  - -gnutls_pkcs7_deinit - -3 - -5 - -11 - -lib/x509/pkcs7.c -
-  - -_gnutls_extension_list_add - -3 - -5 - -19 - -lib/gnutls_extensions.c -
-  - -gnutls_pkcs12_deinit - -3 - -5 - -11 - -lib/x509/pkcs12.c -
-  - -_gnutls_hash_deinit - -3 - -5 - -13 - -lib/gnutls_hash_int.c -
-  - -gnutls_x509_crt_deinit - -3 - -5 - -11 - -lib/x509/x509.c -
-  - -_gnutls_session_is_psk - -3 - -5 - -13 - -lib/gnutls_state.c -
-  - -_gnutls_hash - -3 - -5 - -13 - -lib/gnutls_hash_int.c -
-  - -gnutls_x509_crt_list_verify - -3 - -4 - -21 - -lib/x509/verify.c -
-  - -_gnutls_mem_cpy - -3 - -4 - -17 - -lib/gnutls_str.c -
-  - -_gnutls_version_get - -3 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -_cdk_passphrase_get - -3 - -3 - -7 - -lib/opencdk/main.c -
-  - -gnutls_check_version - -3 - -3 - -8 - -lib/gnutls_global.c -
-  - -read_public_subkey - -3 - -3 - -7 - -lib/opencdk/read-packet.c -
-  - -cdk_pk_get_nbits - -3 - -3 - -7 - -lib/opencdk/pubkey.c -
-  - -_gnutls_x509_sign_tbs - -3 - -20 - -38 - -lib/x509/sign.c -
-  - -cdk_stream_tmp_set_mode - -3 - -2 - -6 - -lib/opencdk/stream.c -
-  - -_gnutls_calc_srp_sha - -3 - -18 - -35 - -lib/gnutls_srp.c -
-  - -proc_dhe_client_kx - -3 - -18 - -35 - -lib/auth_dhe.c -
-  - -proc_anon_client_kx - -3 - -18 - -35 - -lib/auth_anon.c -
-  - -parse_der_cert_mem - -3 - -17 - -31 - -lib/gnutls_x509.c -
-  - -cdk_handle_new - -3 - -17 - -32 - -lib/opencdk/main.c -
-  - -_gnutls_compare_algo - -3 - -17 - -37 - -lib/gnutls_algorithms.c -
-  - -read_pkcs12_kdf_params - -3 - -17 - -38 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_ssl3_hash_md5 - -3 - -16 - -33 - -lib/gnutls_hash_int.c -
-  - -ssl3_md5 - -3 - -16 - -30 - -lib/gnutls_hash_int.c -
-  - -ssl3_sha - -3 - -16 - -28 - -lib/gnutls_hash_int.c -
-  - -cdk_stream_tmp_from_mem - -3 - -16 - -26 - -lib/opencdk/stream.c -
-  - -dsa_sign - -3 - -16 - -32 - -lib/x509/sign.c -
-  - -_gnutls_x509_write_attribute - -3 - -15 - -35 - -lib/x509/dn.c -
-  - -filter_add - -3 - -15 - -23 - -lib/opencdk/stream.c -
-  - -_gnutls_calc_srp_A - -3 - -15 - -26 - -lib/gnutls_srp.c -
-  - -_cdk_free_signature - -3 - -15 - -24 - -lib/opencdk/new-packet.c -
-  - -_decode_pkcs8_rsa_key - -3 - -14 - -27 - -lib/x509/privkey_pkcs8.c -
-  - -_gnutls_x509_raw_cert_to_gcert - -3 - -14 - -28 - -lib/gnutls_cert.c -
-  - -gnutls_dh_params_import_raw - -3 - -14 - -31 - -lib/gnutls_dh_primes.c -
-  - -_parse_safe_contents - -3 - -14 - -32 - -lib/x509/pkcs12.c -
-  - -_gnutls_recv_supplemental - -3 - -14 - -29 - -lib/gnutls_handshake.c -
-  - -is_issuer - -3 - -14 - -30 - -lib/x509/verify.c -
-  - -_gnutls_openpgp_get_raw_key_expiration_time - -3 - -14 - -27 - -lib/openpgp/compat.c -
-  - -_gnutls_openpgp_get_raw_key_creation_time - -3 - -14 - -27 - -lib/openpgp/compat.c -
-  - -write_pkcs12_kdf_params - -3 - -14 - -37 - -lib/x509/privkey_pkcs8.c -
-  - -is_crl_issuer - -3 - -14 - -30 - -lib/x509/verify.c -
-  - -keydb_cache_add - -3 - -13 - -22 - -lib/opencdk/keydb.c -
-  - -_gnutls_x509_generalTime2gtime - -3 - -13 - -30 - -lib/x509/common.c -
-  - -_gnutls_x509_utcTime2gtime - -3 - -13 - -25 - -lib/x509/common.c -
-  - -gnutls_x509_crt_set_extension_by_oid - -3 - -13 - -30 - -lib/x509/x509_write.c -
-  - -_cdk_stream_append - -3 - -13 - -25 - -lib/opencdk/stream.c -
-  - -parse_crt_mem - -3 - -13 - -30 - -lib/gnutls_x509.c -
-  - -_gnutls_send_supplemental - -3 - -13 - -29 - -lib/gnutls_handshake.c -
-  - -_gnutls_hmac_fast - -3 - -13 - -25 - -lib/gnutls_hash_int.c -
-  - -_gnutls_hash_fast - -3 - -13 - -25 - -lib/gnutls_hash_int.c -
-  - -_gnutls_hash_copy - -3 - -13 - -25 - -lib/gnutls_hash_int.c -
-  - -check_b_mod_n - -3 - -12 - -26 - -lib/auth_srp.c -
-  - -gnutls_priority_set_direct - -3 - -12 - -26 - -lib/gnutls_priority.c -
-  - -gnutls_x509_crt_get_signature_algorithm - -3 - -12 - -31 - -lib/x509/x509.c -
-  - -_gnutls_x509_get_raw_crt_expiration_time - -3 - -12 - -23 - -lib/gnutls_cert.c -
-  - -_cdk_copy_pk_to_sk - -3 - -12 - -18 - -lib/opencdk/new-packet.c -
-  - -gnutls_pkcs12_bag_set_crl - -3 - -12 - -26 - -lib/x509/pkcs12_bag.c -
-  - -_gnutls_x509_get_raw_crt_activation_time - -3 - -12 - -23 - -lib/gnutls_cert.c -
-  - -gnutls_pkcs12_bag_set_crt - -3 - -12 - -25 - -lib/x509/pkcs12_bag.c -
-  - -check_armor - -3 - -12 - -21 - -lib/opencdk/armor.c -
-  - -gnutls_x509_crl_get_signature_algorithm - -3 - -12 - -32 - -lib/x509/crl.c -
-  - -gnutls_openpgp_crt_set_preferred_key_id - -3 - -12 - -26 - -lib/openpgp/pgp.c -
-  - -cdk_stream_set_compress_flag - -3 - -12 - -21 - -lib/opencdk/stream.c -
-  - -gnutls_alert_send - -3 - -12 - -22 - -lib/gnutls_alert.c -
-  - -gnutls_openpgp_privkey_set_preferred_key_id - -3 - -12 - -27 - -lib/openpgp/privkey.c -
-  - -print_fingerprint - -3 - -12 - -22 - -lib/x509/output.c -
-  - -_gnutls_x509_der_encode_and_copy - -3 - -12 - -30 - -lib/x509/common.c -
-  - -check_a_mod_n - -3 - -12 - -25 - -lib/auth_srp.c -
-  - -cdk_stream_getc - -3 - -11 - -20 - -lib/opencdk/stream.c -
-  - -_randomize_psk - -3 - -11 - -23 - -lib/auth_psk_passwd.c -
-  - -cdk_strlist_add - -3 - -11 - -17 - -lib/opencdk/misc.c -
-  - -gnutls_x509_crt_get_serial - -3 - -11 - -25 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_init - -3 - -11 - -25 - -lib/x509/x509.c -
-  - -gnutls_srp_base64_decode_alloc - -3 - -11 - -24 - -lib/auth_srp_sb64.c -
-  - -gnutls_srp_base64_encode_alloc - -3 - -11 - -24 - -lib/auth_srp_sb64.c -
-  - -_gnutls_string_append_printf - -3 - -11 - -20 - -lib/gnutls_str.c -
-  - -stream_cache_flush - -3 - -11 - -22 - -lib/opencdk/stream.c -
-  - -cdk_stream_set_text_flag - -3 - -11 - -20 - -lib/opencdk/stream.c -
-  - -cdk_stream_set_armor_flag - -3 - -11 - -20 - -lib/opencdk/stream.c -
-  - -gnutls_global_set_mem_functions - -3 - -11 - -31 - -lib/gnutls_global.c -
-  - -_gnutls_handshake_io_write_flush - -3 - -10 - -21 - -lib/gnutls_buffers.c -
-  - -gnutls_pem_base64_decode_alloc - -3 - -10 - -20 - -lib/x509_b64.c -
-  - -gnutls_openpgp_privkey_get_subkey_idx - -3 - -10 - -23 - -lib/openpgp/privkey.c -
-  - -gnutls_x509_crl_get_version - -3 - -10 - -23 - -lib/x509/crl.c -
-  - -gnutls_pem_base64_encode_alloc - -3 - -10 - -19 - -lib/x509_b64.c -
-  - -ucs2_to_ascii - -3 - -10 - -17 - -lib/x509/pkcs12.c -
-  - -cdk_handle_set_keyring - -3 - -10 - -17 - -lib/opencdk/main.c -
-  - -gnutls_rehandshake - -3 - -10 - -23 - -lib/gnutls_handshake.c -
-  - -gnutls_record_set_max_size - -3 - -10 - -22 - -lib/gnutls_record.c -
-  - -print_key_id - -3 - -10 - -20 - -lib/openpgp/output.c -
-  - -cdk_stream_putc - -3 - -10 - -17 - -lib/opencdk/stream.c -
-  - -gnutls_openpgp_crt_get_subkey_idx - -3 - -10 - -23 - -lib/openpgp/pgp.c -
-  - -cdk_pkt_free - -14 - -22 - -46 - -lib/opencdk/new-packet.c -
-  - -wrap_gcry_cipher_init - -11 - -23 - -68 - -lib/cipher-libgcrypt.c -
-  - -wrap_gcry_hash_init - -10 - -24 - -43 - -lib/mac-libgcrypt.c -
-  - -_gnutls_map_cdk_rc - -9 - -9 - -25 - -lib/openpgp/gnutls_openpgp.c -
-  - -_pgp_hash_algo_to_gnutls - -9 - -10 - -26 - -lib/opencdk/misc.c -
-  - -_gnutls_hash_algo_to_pgp - -9 - -10 - -26 - -lib/opencdk/misc.c -
-  - -is_key_node - -8 - -3 - -20 - -lib/opencdk/keydb.c -
-  - -_gnutls_get_digest_oid - -8 - -16 - -31 - -lib/opencdk/seskey.c -
-  - -set_opaque - -7 - -13 - -28 - -lib/opencdk/stream.c -
-  - -_gnutls_packet2str - -6 - -6 - -20 - -lib/debug.c -
-  - -check_recv_type - -6 - -3 - -17 - -lib/gnutls_record.c -
-  - -_cdk_pk_algo_usage - -6 - -13 - -28 - -lib/opencdk/pubkey.c -
-  - -cdk_keydb_new - -5 - -7 - -23 - -lib/opencdk/keydb.c -
-  - -bag_to_oid - -5 - -5 - -16 - -lib/x509/pkcs12.c -
-  - -_gnutls_mre_record2num - -5 - -5 - -18 - -lib/ext_max_record.c -
-  - -_gnutls_mre_num2record - -5 - -5 - -17 - -lib/ext_max_record.c -
-  - -gnutls_pk_get_name - -4 - -8 - -23 - -lib/gnutls_algorithms.c -
-  - -intmode_to_char - -4 - -5 - -17 - -lib/opencdk/literal.c -
-  - -stream_id_to_filter - -4 - -4 - -17 - -lib/opencdk/stream.c -
-  - -_gnutls_record_buffer_get_size - -4 - -4 - -18 - -lib/gnutls_buffers.c -
-  - -_gnutls_gen_cert_server_certificate - -3 - -4 - -16 - -lib/auth_cert.c -
-  - -_gnutls_proc_cert_server_certificate - -3 - -4 - -18 - -lib/auth_cert.c -
-  - -get_padsize - -3 - -3 - -13 - -lib/gnutls_hash_int.c -
-  - -_gnutls_cert_type2num - -3 - -3 - -14 - -lib/ext_cert_type.c -
-  - -_gnutls_num2cert_type - -3 - -3 - -13 - -lib/ext_cert_type.c -
-  - -_cdk_map_gnutls_error - -3 - -3 - -13 - -lib/opencdk/misc.c -
-  - -_gnutls_check_supported_sign_algo - -3 - -3 - -13 - -lib/auth_cert.c -
-  - -gnutls_openpgp_keyring_check_id - -2 - -9 - -20 - -lib/openpgp/extras.c -
-  - -_gnutls_cal_PRF_A - -2 - -9 - -20 - -lib/gnutls_state.c -
-  - -read_key_file - -2 - -9 - -19 - -lib/gnutls_x509.c -
-  - -_pkcs12_bag_free_data - -2 - -9 - -15 - -lib/x509/pkcs12_bag.c -
-  - -read_cert_file - -2 - -9 - -20 - -lib/gnutls_x509.c -
-  - -_gnutls_m_compressed2plaintext - -2 - -9 - -22 - -lib/gnutls_compress.c -
-  - -_gnutls_m_plaintext2compressed - -2 - -9 - -22 - -lib/gnutls_compress.c -
-  - -mpi_buf2bits - -2 - -9 - -18 - -lib/gnutls_ui.c -
-  - -_gnutls_tls_create_random - -2 - -9 - -24 - -lib/gnutls_handshake.c -
-  - -gnutls_dh_params_generate2 - -2 - -9 - -18 - -lib/gnutls_dh_primes.c -
-  - -print_key_fingerprint - -2 - -9 - -17 - -lib/openpgp/output.c -
-  - -gnutls_x509_dn_import - -2 - -8 - -18 - -lib/x509/dn.c -
-  - -gnutls_certificate_free_cas - -2 - -8 - -16 - -lib/gnutls_cert.c -
-  - -_cdk_pkt_write_fp - -2 - -8 - -13 - -lib/opencdk/write-packet.c -
-  - -_gnutls_x509_write_uint32 - -2 - -8 - -18 - -lib/x509/mpi.c -
-  - -filter_add2 - -2 - -8 - -14 - -lib/opencdk/stream.c -
-  - -_gnutls_log - -2 - -8 - -15 - -lib/gnutls_errors.c -
-  - -_cdk_buftou32 - -2 - -8 - -13 - -lib/opencdk/misc.c -
-  - -gnutls_global_deinit - -2 - -8 - -14 - -lib/gnutls_global.c -
-  - -_cdk_s2k_copy - -2 - -8 - -14 - -lib/opencdk/seskey.c -
-  - -gnutls_certificate_free_crls - -2 - -8 - -15 - -lib/gnutls_x509.c -
-  - -_deregister - -2 - -8 - -16 - -lib/crypto.c -
-  - -gnutls_openpgp_privkey_export_rsa_raw - -2 - -7 - -18 - -lib/openpgp/privkey.c -
-  - -gnutls_x509_dn_init - -2 - -7 - -18 - -lib/x509/dn.c -
-  - -calc_mpisize - -2 - -7 - -10 - -lib/opencdk/write-packet.c -
-  - -_cdk_free_userid - -2 - -7 - -12 - -lib/opencdk/new-packet.c -
-  - -gnutls_rsa_params_init - -2 - -7 - -16 - -lib/gnutls_rsa_export.c -
-  - -read_16 - -2 - -7 - -13 - -lib/opencdk/read-packet.c -
-  - -gnutls_certificate_verify_peers - -2 - -7 - -16 - -lib/gnutls_cert.c -
-  - -gnutls_x509_crq_set_attribute_by_oid - -2 - -7 - -18 - -lib/x509/crq.c -
-  - -gnutls_certificate_get_peers - -2 - -7 - -15 - -lib/gnutls_ui.c -
-  - -read_32 - -2 - -7 - -13 - -lib/opencdk/read-packet.c -
-  - -stream_read - -2 - -7 - -13 - -lib/opencdk/write-packet.c -
-  - -gnutls_hex_encode - -2 - -7 - -17 - -lib/gnutls_psk.c -
-  - -_gnutls_generate_session_id - -2 - -7 - -16 - -lib/gnutls_handshake.c -
-  - -_gnutls_x509_sign_to_oid - -2 - -7 - -14 - -lib/gnutls_algorithms.c -
-  - -gnutls_openpgp_crt_get_subkey_pk_dsa_raw - -2 - -7 - -20 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_crt_get_subkey_pk_rsa_raw - -2 - -7 - -18 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_crt_get_pk_dsa_raw - -2 - -7 - -17 - -lib/openpgp/pgp.c -
-  - -gnutls_openpgp_crt_get_pk_rsa_raw - -2 - -7 - -16 - -lib/openpgp/pgp.c -
-  - -_gnutls_cipher_suite_is_ok - -2 - -7 - -14 - -lib/gnutls_algorithms.c -
-  - -_gnutls_dump_mpi - -2 - -7 - -13 - -lib/debug.c -
-  - -gnutls_openpgp_privkey_export_subkey_dsa_raw - -2 - -7 - -21 - -lib/openpgp/privkey.c -
-  - -gnutls_openpgp_privkey_export_subkey_rsa_raw - -2 - -7 - -22 - -lib/openpgp/privkey.c -
-  - -gnutls_openpgp_privkey_export_dsa_raw - -2 - -7 - -18 - -lib/openpgp/privkey.c -
-  - -gnutls_x509_crt_verify - -2 - -6 - -20 - -lib/x509/verify.c -
-  - -_gnutls_kx_is_ok - -2 - -6 - -11 - -lib/gnutls_algorithms.c -
-  - -_gnutls_datum_append_m - -2 - -6 - -15 - -lib/gnutls_datum.c -
-  - -_gnutls_cipher_is_ok - -2 - -6 - -11 - -lib/gnutls_algorithms.c -
-  - -_gnutls_strdup - -2 - -6 - -11 - -lib/gnutls_mem.c -
-  - -_gnutls_send_empty_handshake - -2 - -6 - -14 - -lib/gnutls_handshake.c -
-  - -disable_optional_stuff - -2 - -6 - -16 - -lib/x509/x509_write.c -
-  - -_gnutls_io_write_flush - -2 - -6 - -14 - -lib/gnutls_buffers.c -
-  - -_gnutls_mac_is_ok - -2 - -6 - -11 - -lib/gnutls_algorithms.c -
-  - -cdk_strlist_free - -2 - -6 - -11 - -lib/opencdk/misc.c -
-  - -free_pubkey_enc - -2 - -6 - -12 - -lib/opencdk/new-packet.c -
-  - -gnutls_srp_server_get_username - -2 - -6 - -12 - -lib/gnutls_srp.c -
-  - -keydb_cache_free - -2 - -6 - -13 - -lib/opencdk/keydb.c -
-  - -_cdk_u32tobuf - -2 - -6 - -10 - -lib/opencdk/misc.c -
-  - -wrap_gcry_mpi_scan - -2 - -6 - -13 - -lib/mpi-libgcrypt.c -
-  - -gnutls_x509_privkey_init - -2 - -6 - -14 - -lib/x509/privkey.c -
-  - -uid_list_free - -2 - -6 - -13 - -lib/opencdk/sig-check.c -
-  - -cdk_kbnode_new - -2 - -6 - -11 - -lib/opencdk/kbnode.c -
-  - -_gnutls_file_exists - -2 - -6 - -12 - -lib/gnutls_helper.c -
-  - -gnutls_alert_send_appropriate - -2 - -6 - -14 - -lib/gnutls_alert.c -
-  - -gnutls_certificate_allocate_credentials - -2 - -6 - -14 - -lib/gnutls_cert.c -
-  - -_gnutls_compression_is_ok - -2 - -6 - -11 - -lib/gnutls_compress.c -
-  - -wrap_gcry_cipher_encrypt - -2 - -6 - -13 - -lib/cipher-libgcrypt.c -
-  - -wrap_gcry_cipher_decrypt - -2 - -6 - -13 - -lib/cipher-libgcrypt.c -
-  - -gnutls_x509_crl_verify - -2 - -6 - -18 - -lib/x509/verify.c -
-  - -_cdk_kbnode_add - -2 - -6 - -9 - -lib/opencdk/kbnode.c -
-  - -_gnutls_x509_privkey_verify_signature - -2 - -5 - -16 - -lib/x509/verify.c -
-  - -_gnutls_set_write_compression - -2 - -5 - -17 - -lib/gnutls_constate.c -
-  - -_gnutls_set_read_compression - -2 - -5 - -17 - -lib/gnutls_constate.c -
-  - -_gnutls_xor - -2 - -5 - -9 - -lib/gnutls_state.c -
-  - -cdk_subpkt_init - -2 - -5 - -10 - -lib/opencdk/new-packet.c -
-  - -gnutls_pk_params_release - -2 - -5 - -9 - -lib/gnutls_pk.c -
-  - -cdk_subpkt_free - -2 - -5 - -12 - -lib/opencdk/new-packet.c -
-  - -_gnutls_send_change_cipher_spec - -2 - -5 - -14 - -lib/gnutls_record.c -
-  - -_gnutls_connection_state_init - -2 - -5 - -16 - -lib/gnutls_constate.c -
-  - -gnutls_priority_set - -2 - -5 - -14 - -lib/gnutls_priority.c -
-  - -oid2ldap_string - -2 - -5 - -12 - -lib/x509/dn.c -
-  - -gnutls_hex_decode - -2 - -5 - -14 - -lib/gnutls_psk.c -
-  - -gnutls_rsa_export_get_modulus_bits - -2 - -5 - -11 - -lib/gnutls_ui.c -
-  - -stream_write - -2 - -5 - -10 - -lib/opencdk/write-packet.c -
-  - -gnutls_psk_set_server_credentials_hint - -2 - -5 - -13 - -lib/gnutls_psk.c -
-  - -_gnutls_send_hello - -2 - -5 - -17 - -lib/gnutls_handshake.c -
-  - -gnutls_protocol_set_priority - -2 - -5 - -15 - -lib/gnutls_priority.c -
-  - -_gnutls_mpi_scan_pgp - -2 - -5 - -13 - -lib/gnutls_mpi.c -
-  - -_cdk_result_verify_new - -2 - -5 - -10 - -lib/opencdk/verify.c -
-  - -_cdk_result_verify_free - -2 - -5 - -9 - -lib/opencdk/verify.c -
-  - -gnutls_dh_params_deinit - -2 - -5 - -12 - -lib/gnutls_dh_primes.c -
-  - -_gnutls_mpi_scan - -2 - -5 - -13 - -lib/gnutls_mpi.c -
-  - -wrap_gcry_mpi_mod - -2 - -5 - -12 - -lib/mpi-libgcrypt.c -
-  - -gnutls_x509_dn_export - -2 - -5 - -17 - -lib/x509/dn.c -
-  - -_gnutls_session_is_export - -2 - -5 - -14 - -lib/gnutls_state.c -
-  - -_gnutls_map_kx_get_kx - -2 - -5 - -15 - -lib/gnutls_algorithms.c -
-  - -_gnutls_handshake_buffer_peek - -2 - -5 - -14 - -lib/gnutls_buffers.c -
-  - -gnutls_dh_params_init - -2 - -5 - -14 - -lib/gnutls_dh_primes.c -
-  - -pack_security_parameters - -2 - -48 - -102 - -lib/gnutls_session_pack.c -
-  - -gnutls_kx_get_id - -2 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -gnutls_cipher_get_id - -2 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -gnutls_pkcs12_bag_deinit - -2 - -4 - -10 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_x509_crt_set_expiration_time - -2 - -4 - -11 - -lib/x509/x509_write.c -
-  - -gnutls_x509_crt_set_activation_time - -2 - -4 - -13 - -lib/x509/x509_write.c -
-  - -stream_get_mode - -2 - -4 - -9 - -lib/opencdk/stream.c -
-  - -gnutls_mac_get_id - -2 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -gnutls_x509_crq_get_attribute_by_oid - -2 - -4 - -14 - -lib/x509/crq.c -
-  - -gnutls_x509_privkey_get_pk_algorithm - -2 - -4 - -11 - -lib/x509/privkey.c -
-  - -gnutls_psk_allocate_client_credentials - -2 - -4 - -10 - -lib/gnutls_psk.c -
-  - -gnutls_x509_crt_get_expiration_time - -2 - -4 - -12 - -lib/x509/x509.c -
-  - -gnutls_x509_crl_export - -2 - -4 - -14 - -lib/x509/crl.c -
-  - -stream_putc - -2 - -4 - -8 - -lib/opencdk/write-packet.c -
-  - -gnutls_x509_crt_get_activation_time - -2 - -4 - -12 - -lib/x509/x509.c -
-  - -gnutls_pkcs12_bag_init - -2 - -4 - -11 - -lib/x509/pkcs12_bag.c -
-  - -gnutls_srp_allocate_server_credentials - -2 - -4 - -10 - -lib/gnutls_srp.c -
-  - -gnutls_openpgp_keyring_init - -2 - -4 - -9 - -lib/openpgp/extras.c -
-  - -gnutls_x509_crt_get_dn_oid - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -gnutls_openpgp_privkey_init - -2 - -4 - -9 - -lib/openpgp/privkey.c -
-  - -wrap_gcry_rnd - -2 - -4 - -10 - -lib/rnd-libgcrypt.c -
-  - -gnutls_openpgp_crt_init - -2 - -4 - -9 - -lib/openpgp/pgp.c -
-  - -gnutls_x509_crq_get_challenge_password - -2 - -4 - -13 - -lib/x509/crq.c -
-  - -gnutls_x509_crl_get_next_update - -2 - -4 - -11 - -lib/x509/crl.c -
-  - -gnutls_x509_crt_get_dn_by_oid - -2 - -4 - -15 - -lib/x509/x509.c -
-  - -gnutls_srp_allocate_client_credentials - -2 - -4 - -10 - -lib/gnutls_srp.c -
-  - -gnutls_x509_crl_get_this_update - -2 - -4 - -11 - -lib/x509/crl.c -
-  - -gnutls_x509_crt_get_dn - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_get_issuer_dn_oid - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_get_issuer_dn_by_oid - -2 - -4 - -16 - -lib/x509/x509.c -
-  - -cdk_handle_set_passphrase_cb - -2 - -4 - -10 - -lib/opencdk/main.c -
-  - -gnutls_crypto_single_digest_register2 - -2 - -4 - -13 - -lib/crypto.c -
-  - -gnutls_pkcs12_export - -2 - -4 - -14 - -lib/x509/pkcs12.c -
-  - -gnutls_x509_crt_get_issuer_dn - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -gnutls_x509_crq_get_dn_oid - -2 - -4 - -14 - -lib/x509/crq.c -
-  - -cdk_pkt_release - -2 - -4 - -8 - -lib/opencdk/new-packet.c -
-  - -gnutls_x509_crl_get_dn_oid - -2 - -4 - -14 - -lib/x509/crl.c -
-  - -gnutls_crypto_single_mac_register2 - -2 - -4 - -13 - -lib/crypto.c -
-  - -gnutls_x509_crt_get_verify_algorithm - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -cdk_kbnode_find_packet - -2 - -4 - -8 - -lib/opencdk/kbnode.c -
-  - -gnutls_x509_crq_get_dn_by_oid - -2 - -4 - -15 - -lib/x509/crq.c -
-  - -gnutls_x509_crl_get_issuer_dn_by_oid - -2 - -4 - -16 - -lib/x509/crl.c -
-  - -gnutls_x509_crt_export - -2 - -4 - -14 - -lib/x509/x509.c -
-  - -gnutls_x509_crq_get_dn - -2 - -4 - -13 - -lib/x509/crq.c -
-  - -gnutls_sign_get_name - -2 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -get_dn - -2 - -4 - -8 - -lib/x509/x509.c -
-  - -gnutls_sign_get_id - -2 - -4 - -10 - -lib/gnutls_algorithms.c -
-  - -gnutls_x509_crl_get_issuer_dn - -2 - -4 - -14 - -lib/x509/crl.c -
-  - -gnutls_x509_crl_set_next_update - -2 - -4 - -10 - -lib/x509/crl_write.c -
-  - -gnutls_psk_allocate_server_credentials - -2 - -4 - -10 - -lib/gnutls_psk.c -
-  - -gnutls_crypto_single_cipher_register2 - -2 - -4 - -13 - -lib/crypto.c -
-  - -gnutls_x509_crl_set_this_update - -2 - -4 - -11 - -lib/x509/crl_write.c -
-  - -gnutls_compression_get_id - -2 - -4 - -12 - -lib/gnutls_compress.c -
-  - -gnutls_certificate_set_x509_crl_mem - -2 - -4 - -12 - -lib/gnutls_x509.c -
-  - -gnutls_pkcs12_bag_get_count - -2 - -4 - -11 - -lib/x509/pkcs12_bag.c -
-  - -print_other - -2 - -4 - -10 - -lib/x509/output.c -
-  - -_gnutls_mpi_release - -2 - -4 - -9 - -lib/gnutls_mpi.c -
-  - -gnutls_x509_crq_export - -2 - -4 - -14 - -lib/x509/crq.c -
-  - -gnutls_protocol_get_id - -2 - -4 - -9 - -lib/gnutls_algorithms.c -
-  - -_gnutls_free_datum_m - -2 - -4 - -9 - -lib/gnutls_datum.c -
-  - -gnutls_sign_callback_get - -2 - -3 - -7 - -lib/gnutls_cert.c -
-  - -free_literal - -2 - -3 - -9 - -lib/opencdk/new-packet.c -
-  - -cdk_stream_verify - -2 - -3 - -9 - -lib/opencdk/verify.c -
-  - -_gnutls_rnd - -2 - -3 - -9 - -lib/random.c -
-  - -_gnutls_write_datum8 - -2 - -3 - -7 - -lib/gnutls_datum.c -
-  - -is_read_comp_null - -2 - -3 - -9 - -lib/gnutls_cipher.c -
-  - -_gnutls_write_datum32 - -2 - -3 - -7 - -lib/gnutls_datum.c -
-  - -_gnutls_rnd_deinit - -2 - -3 - -10 - -lib/random.c -
-  - -_gnutls_generate_master - -2 - -3 - -7 - -lib/gnutls_kx.c -
-  - -is_write_comp_null - -2 - -3 - -9 - -lib/gnutls_cipher.c -
-  - -_gnutls_write_datum24 - -2 - -3 - -7 - -lib/gnutls_datum.c -
-  - -gnutls_pkcs7_export - -2 - -3 - -11 - -lib/x509/pkcs7.c -
-  - -stream_read - -2 - -3 - -6 - -lib/opencdk/read-packet.c -
-  - -_gnutls_rsa_params_to_mpi - -2 - -3 - -10 - -lib/gnutls_rsa_export.c -
-  - -cdk_pk_from_secret_key - -2 - -3 - -7 - -lib/opencdk/pubkey.c -
-  - -cdk_kbnode_get_packet - -2 - -3 - -7 - -lib/opencdk/kbnode.c -
-  - -_cdk_stream_set_compress_algo - -2 - -3 - -7 - -lib/opencdk/stream.c -
-  - -cdk_stream_is_compressed - -2 - -3 - -7 - -lib/opencdk/stream.c -
-  - -_gnutls_write_datum16 - -2 - -3 - -7 - -lib/gnutls_datum.c -
-  - -_gnutls_pk_fixup - -2 - -3 - -6 - -lib/gnutls_pk.h -
-  - -disable_optional_stuff - -2 - -3 - -11 - -lib/x509/crl_write.c -
-  - -session_is_valid - -2 - -3 - -8 - -lib/gnutls_record.c -
-  - -pkt_write_head - -2 - -3 - -7 - -lib/opencdk/write-packet.c -
-  - -_gnutls_get_kx_cred - -2 - -3 - -9 - -lib/gnutls_auth.c -
-  - -mac_deinit - -2 - -3 - -12 - -lib/gnutls_cipher.c -
-  - -_gnutls_oprfi_send_params - -2 - -3 - -9 - -lib/ext_oprfi.c -
-  - -gnutls_auth_get_type - -2 - -3 - -13 - -lib/gnutls_auth.c -
-  - -_gnutls_oprfi_recv_params - -2 - -3 - -9 - -lib/ext_oprfi.c -
-  - -cdk_kbnode_delete - -2 - -2 - -6 - -lib/opencdk/kbnode.c -
-  - -_cdk_stream_get_errno - -2 - -2 - -5 - -lib/opencdk/stream.c -
-  - -_cdk_kbnode_clone - -2 - -2 - -8 - -lib/opencdk/kbnode.c -
-  - -_cdk_stream_get_fp - -2 - -2 - -5 - -lib/opencdk/stream.c -
-  - -cdk_stream_eof - -2 - -2 - -5 - -lib/opencdk/stream.c -
-  - -_cdk_free_mpibuf - -2 - -2 - -8 - -lib/opencdk/new-packet.c -
-  - -_cdk_stream_get_blockmode - -2 - -2 - -5 - -lib/opencdk/stream.c -
-  - -cdk_stream_tell - -2 - -2 - -5 - -lib/opencdk/stream.c -
-  - -gnutls_ext_register - -2 - -13 - -27 - -lib/gnutls_extensions.c -
-  - -_cdk_stream_fpopen - -2 - -13 - -22 - -lib/opencdk/stream.c -
-  - -cdk_keydb_new_from_stream - -2 - -12 - -24 - -lib/opencdk/keydb.c -
-  - -cdk_sk_release - -2 - -12 - -18 - -lib/opencdk/new-packet.c -
-  - -_gnutls_x509_gtime2utcTime - -2 - -11 - -28 - -lib/x509/common.c -
-  - -gnutls_certificate_set_x509_simple_pkcs12_file - -2 - -11 - -22 - -lib/gnutls_x509.c -
-  - -oprfi_send_client - -2 - -11 - -20 - -lib/ext_oprfi.c -
-  - -stream_fp_replace - -2 - -10 - -19 - -lib/opencdk/stream.c -
-  - -overwrite_attribute - -2 - -10 - -22 - -lib/x509/crq.c -
-  - -gnutls_openpgp_crt_print - -2 - -10 - -24 - -lib/openpgp/output.c -
-  - -cdk_pk_release - -2 - -10 - -16 - -lib/opencdk/new-packet.c -
-  - -print_keyid - -2 - -10 - -18 - -lib/x509/output.c -
-  - -_gnutls_asn2err - -15 - -15 - -37 - -lib/gnutls_errors.c -
-  - -_gnutls_handshake2str - -12 - -23 - -44 - -lib/debug.c -
-  - -digest_length - -10 - -9 - -26 - -lib/gnutls_hash_int.c -
-  - -_gnutls_cipher_to_pgp - -10 - -11 - -29 - -lib/opencdk/misc.c -
-  - -_pgp_cipher_to_gnutls - -10 - -11 - -29 - -lib/opencdk/misc.c -
-  - -resume_copy_required_values - -1 - -9 - -39 - -lib/gnutls_handshake.c -
-  - -_gnutls_read_uint24 - -1 - -8 - -16 - -lib/gnutls_num.c -
-  - -gnutls_x509_crl_print - -1 - -8 - -20 - -lib/x509/output.c -
-  - -_gnutls_string_init - -1 - -6 - -14 - -lib/gnutls_str.c -
-  - -write_32 - -1 - -6 - -11 - -lib/opencdk/write-packet.c -
-  - -_gnutls_print_state - -1 - -6 - -16 - -lib/debug.c -
-  - -gnutls_certificate_free_credentials - -1 - -6 - -16 - -lib/gnutls_cert.c -
-  - -_gnutls_write_uint24 - -1 - -6 - -14 - -lib/gnutls_num.c -
-  - -_gnutls_uint32touint24 - -1 - -5 - -11 - -lib/gnutls_num.c -
-  - -_gnutls_uint24touint32 - -1 - -5 - -10 - -lib/gnutls_num.c -
-  - -_gnutls_string_get_data - -1 - -5 - -13 - -lib/gnutls_str.c -
-  - -_gnutls_selected_certs_set - -1 - -5 - -13 - -lib/auth_cert.c -
-  - -write_16 - -1 - -4 - -9 - -lib/opencdk/write-packet.c -
-  - -_gnutls_handshake_hash_buffers_clear - -1 - -4 - -8 - -lib/gnutls_handshake.c -
-  - -_gnutls_free_dh_info - -1 - -4 - -8 - -lib/auth_dh_common.c -
-  - -_gnutls_cpy_write_security_parameters - -1 - -4 - -10 - -lib/gnutls_constate.c -
-  - -_gnutls_cpy_read_security_parameters - -1 - -4 - -10 - -lib/gnutls_constate.c -
-  - -wrap_gcry_rnd_init - -1 - -4 - -10 - -lib/rnd-libgcrypt.c -
-  - -_gnutls_db_remove_session - -1 - -4 - -11 - -lib/gnutls_db.c -
-  - -_gnutls_uint64touint32 - -1 - -4 - -12 - -lib/gnutls_num.c -
-  - -_cdk_stream_set_blockmode - -1 - -4 - -9 - -lib/opencdk/stream.c -
-  - -cdk_stream_mmap - -1 - -4 - -10 - -lib/opencdk/stream.c -
-  - -_gnutls_read_uint16 - -1 - -4 - -10 - -lib/gnutls_num.c -
-  - -_gnutls_read_uint32 - -1 - -4 - -11 - -lib/gnutls_num.c -
-  - -gnutls_prf_raw - -1 - -3 - -16 - -lib/gnutls_state.c -
-  - -gnutls_kx_get_name - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -_gnutls_kx_auth_struct - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -gnutls_cipher_get_name - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_get_export_flag - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_get_iv_size - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -gnutls_cipher_get_key_size - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_is_block - -1 - -3 - -9 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_get_block_size - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_mac_to_oid - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -gnutls_mac_get_key_size - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -gnutls_mac_get_name - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -gnutls_srp_free_server_credentials - -1 - -3 - -8 - -lib/gnutls_srp.c -
-  - -gnutls_psk_free_client_credentials - -1 - -3 - -7 - -lib/gnutls_psk.c -
-  - -gnutls_srp_free_client_credentials - -1 - -3 - -7 - -lib/gnutls_srp.c -
-  - -_gnutls_x509_crq_get_mpis - -1 - -3 - -14 - -lib/x509/mpi.c -
-  - -_gnutls_ext_deinit - -1 - -3 - -7 - -lib/gnutls_extensions.c -
-  - -_gnutls_x509_crt_get_mpis - -1 - -3 - -14 - -lib/x509/mpi.c -
-  - -calc_subpktsize - -1 - -3 - -9 - -lib/opencdk/write-packet.c -
-  - -_gnutls_compression_get_id - -1 - -3 - -10 - -lib/gnutls_compress.c -
-  - -get_comp_level - -1 - -3 - -8 - -lib/gnutls_compress.c -
-  - -get_mem_level - -1 - -3 - -8 - -lib/gnutls_compress.c -
-  - -get_wbits - -1 - -3 - -8 - -lib/gnutls_compress.c -
-  - -_gnutls_compression_get_num - -1 - -3 - -10 - -lib/gnutls_compress.c -
-  - -gnutls_sign_algorithm_get_name - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -_gnutls_crypto_deregister - -1 - -3 - -7 - -lib/crypto.c -
-  - -gnutls_compression_get_name - -1 - -3 - -10 - -lib/gnutls_compress.c -
-  - -_gnutls_cipher_suite_get_name - -1 - -3 - -10 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_suite_get_mac_algo - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_suite_get_kx_algo - -1 - -3 - -9 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_suite_get_version - -1 - -3 - -7 - -lib/gnutls_algorithms.c -
-  - -_gnutls_cipher_suite_get_cipher_algo - -1 - -3 - -7 - -lib/gnutls_algorithms.c -
-  - -_gnutls_version_get_major - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -_gnutls_handshake_buffer_clear - -1 - -3 - -10 - -lib/gnutls_buffers.c -
-  - -_gnutls_version_get_minor - -1 - -3 - -8 - -lib/gnutls_algorithms.c -
-  - -stream_flush - -1 - -3 - -10 - -lib/opencdk/stream.c -
-  - -_gnutls_handshake_buffer_empty - -1 - -3 - -10 - -lib/gnutls_buffers.c -
-  - -gnutls_protocol_get_name - -1 - -3 - -9 - -lib/gnutls_algorithms.c -
-  - -_gnutls_kx_needs_dh_params - -1 - -3 - -7 - -lib/gnutls_algorithms.c -
-  - -_gnutls_kx_needs_rsa_params - -1 - -3 - -7 - -lib/gnutls_algorithms.c -
-  - -gnutls_anon_allocate_client_credentials - -1 - -2 - -11 - -lib/gnutls_anon_cred.c -
-  - -gnutls_sign_callback_set - -1 - -2 - -7 - -lib/gnutls_cert.c -
-  - -wrap_gcry_md_write - -1 - -2 - -6 - -lib/mac-libgcrypt.c -
-  - -_gnutls_record_set_default_version - -1 - -2 - -7 - -lib/gnutls_state.c -
-  - -gnutls_certificate_set_verify_limits - -1 - -2 - -8 - -lib/gnutls_ui.c -
-  - -gnutls_anon_allocate_server_credentials - -1 - -2 - -9 - -lib/gnutls_anon_cred.c -
-  - -gnutls_oprfi_enable_server - -1 - -2 - -7 - -lib/ext_oprfi.c -
-  - -gnutls_oprfi_enable_client - -1 - -2 - -7 - -lib/ext_oprfi.c -
-  - -gnutls_certificate_type_set_priority - -1 - -2 - -13 - -lib/gnutls_priority.c -
-  - -gnutls_pk_list - -1 - -2 - -11 - -lib/gnutls_algorithms.c -
-  - -_gnutls_free_rsa_info - -1 - -2 - -6 - -lib/auth_cert.c -
-  - -_gnutls_conv_uint16 - -1 - -2 - -9 - -lib/gnutls_num.c -
-  - -_gnutls_kx_encipher_type - -1 - -2 - -7 - -lib/gnutls_algorithms.c -
-  - -_gnutls_map_pk_get_pk - -1 - -2 - -7 - -lib/gnutls_algorithms.c -
-  - -gnutls_transport_get_ptr2 - -1 - -2 - -9 - -lib/gnutls_record.c -
-  - -_gnutls_conv_uint32 - -1 - -2 - -9 - -lib/gnutls_num.c -
-  - -gnutls_psk_free_server_credentials - -1 - -2 - -6 - -lib/gnutls_psk.c -
-  - -_gnutls_write_uint16 - -1 - -2 - -9 - -lib/gnutls_num.c -
-  - -gnutls_certificate_get_x509_crls - -1 - -2 - -8 - -lib/gnutls_cert.c -
-  - -gnutls_x509_crt_get_ca_status - -1 - -2 - -7 - -lib/x509/x509.c -
-  - -gnutls_transport_set_ptr2 - -1 - -2 - -8 - -lib/gnutls_record.c -
-  - -_gnutls_write_uint32 - -1 - -2 - -9 - -lib/gnutls_num.c -
-  - -_gnutls_rsa_pms_set_version - -1 - -2 - -7 - -lib/gnutls_state.c -
-  - -gnutls_certificate_get_x509_cas - -1 - -2 - -8 - -lib/gnutls_cert.c -
-  - -gnutls_transport_set_ptr - -1 - -2 - -7 - -lib/gnutls_record.c -
-  - -wrap_gcry_cipher_setiv - -1 - -2 - -6 - -lib/cipher-libgcrypt.c -
-  - -wrap_gcry_cipher_setkey - -1 - -2 - -6 - -lib/cipher-libgcrypt.c -
-  - -_gnutls_handshake_internal_state_clear - -1 - -14 - -28 - -lib/gnutls_state.c -
-  - -_gnutls_set_write_keys - -1 - -12 - -20 - -lib/gnutls_constate.c -
-  - -_gnutls_set_read_keys - -1 - -12 - -20 - -lib/gnutls_constate.c -
-  - -gnutls_x509_crq_print - -1 - -10 - -24 - -lib/x509/output.c -
-  - -gnutls_kx_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -gnutls_record_disable_padding - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -_gnutls_hash_get_algo_len - -1 - -1 - -5 - -lib/gnutls_hash_int.c -
-  - -wrap_gcry_mpi_cmp_ui - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -wrap_gcry_md_close - -1 - -1 - -5 - -lib/mac-libgcrypt.c -
-  - -gnutls_transport_set_errno - -1 - -1 - -5 - -lib/gnutls_buffers.c -
-  - -_cdk_proc_packets - -1 - -1 - -7 - -lib/opencdk/dummy.c -
-  - -gnutls_x509_crt_set_crl_dist_points - -1 - -1 - -10 - -lib/x509/x509_write.c -
-  - -gnutls_cipher_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -wrap_gcry_mpi_cmp - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_db_set_store_function - -1 - -1 - -6 - -lib/gnutls_db.c -
-  - -gnutls_certificate_type_get - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -wrap_gcry_md_copy - -1 - -1 - -5 - -lib/mac-libgcrypt.c -
-  - -gnutls_global_set_log_level - -1 - -1 - -5 - -lib/gnutls_global.c -
-  - -wrap_gcry_mpi_new - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_set_default_export_priority - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -_gnutls_x509_export_int - -1 - -1 - -11 - -lib/x509/common.c -
-  - -gnutls_transport_set_lowat - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -gnutls_set_default_priority - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -gnutls_x509_crt_sign - -1 - -1 - -6 - -lib/x509/x509_write.c -
-  - -gnutls_srp_set_prime_bits - -1 - -1 - -5 - -lib/gnutls_srp.c -
-  - -gnutls_handshake_set_private_extensions - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -wrap_gcry_md_setkey - -1 - -1 - -5 - -lib/mac-libgcrypt.c -
-  - -gnutls_mac_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -gnutls_cipher_get - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_openpgp_set_recv_key_function - -1 - -1 - -6 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_anon_set_params_function - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -_gnutls_openpgp_send_fingerprint - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_db_set_remove_function - -1 - -1 - -6 - -lib/gnutls_db.c -
-  - -gnutls_certificate_send_x509_rdn_sequence - -1 - -1 - -6 - -lib/gnutls_state.c -
-  - -gnutls_psk_set_params_function - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -gnutls_priority_deinit - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -gnutls_global_set_log_function - -1 - -1 - -5 - -lib/gnutls_global.c -
-  - -gnutls_certificate_set_rsa_export_params - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -gnutls_openpgp_send_cert - -1 - -1 - -6 - -lib/gnutls_state.c -
-  - -cdk_stream_open - -1 - -1 - -5 - -lib/opencdk/stream.c -
-  - -gnutls_rsa_params_import_raw - -1 - -1 - -11 - -lib/gnutls_rsa_export.c -
-  - -gnutls_certificate_set_verify_flags - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -gnutls_srp_set_client_credentials_function - -1 - -1 - -8 - -lib/gnutls_srp.c -
-  - -gnutls_certificate_set_params_function - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -_gnutls_set_current_version - -1 - -1 - -6 - -lib/gnutls_record.c -
-  - -gnutls_certificate_set_dh_params - -1 - -1 - -6 - -lib/gnutls_ui.c -
-  - -gnutls_pk_params_init - -1 - -1 - -5 - -lib/gnutls_pk.c -
-  - -gnutls_srp_set_server_credentials_function - -1 - -1 - -8 - -lib/gnutls_srp.c -
-  - -gnutls_dh_set_prime_bits - -1 - -1 - -5 - -lib/gnutls_ui.c -
-  - -_gnutls_dsa_generate_params - -1 - -1 - -6 - -lib/gnutls_pk.c -
-  - -_gnutls_session_cert_type_set - -1 - -1 - -6 - -lib/gnutls_state.c -
-  - -cdk_subpkt_find - -1 - -1 - -5 - -lib/opencdk/new-packet.c -
-  - -_gnutls_rsa_generate_params - -1 - -1 - -6 - -lib/gnutls_pk.c -
-  - -gnutls_protocol_get_version - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -gnutls_certificate_client_get_request_status - -1 - -1 - -5 - -lib/gnutls_ui.c -
-  - -gnutls_db_set_retrieve_function - -1 - -1 - -6 - -lib/gnutls_db.c -
-  - -_gnutls_x509_crl_set_extension - -1 - -1 - -9 - -lib/x509/extensions.c -
-  - -_gnutls_x509_crt_set_extension - -1 - -1 - -9 - -lib/x509/extensions.c -
-  - -_cdk_armor_get_lineend - -1 - -1 - -5 - -lib/opencdk/armor.c -
-  - -gnutls_x509_crt_set_ca_status - -1 - -1 - -5 - -lib/x509/x509_write.c -
-  - -gnutls_psk_set_server_params_function - -1 - -1 - -6 - -lib/gnutls_psk.c -
-  - -_gnutls_null_log - -1 - -1 - -5 - -lib/gnutls_errors.c -
-  - -_gnutls_dh_get_allowed_prime_bits - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_psk_set_server_dh_params - -1 - -1 - -6 - -lib/gnutls_psk.c -
-  - -gnutls_anon_free_server_credentials - -1 - -1 - -6 - -lib/gnutls_anon_cred.c -
-  - -_gnutls_io_clear_read_buffer - -1 - -1 - -5 - -lib/gnutls_buffers.c -
-  - -gnutls_certificate_server_set_retrieve_function - -1 - -1 - -6 - -lib/gnutls_cert.c -
-  - -gnutls_certificate_client_set_retrieve_function - -1 - -1 - -6 - -lib/gnutls_cert.c -
-  - -gnutls_x509_crt_check_issuer - -1 - -1 - -6 - -lib/x509/verify.c -
-  - -_gnutls_is_secure_mem_null - -1 - -1 - -5 - -lib/gnutls_mem.c -
-  - -gnutls_db_remove_session - -1 - -1 - -7 - -lib/gnutls_db.c -
-  - -gnutls_certificate_server_set_request - -1 - -1 - -6 - -lib/gnutls_cert.c -
-  - -_gnutls_session_is_resumable - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -cdk_handle_verify_get_result - -1 - -1 - -5 - -lib/opencdk/main.c -
-  - -_gnutls_calc_srp_x - -1 - -1 - -8 - -lib/gnutls_srp.c -
-  - -gnutls_hex2bin - -1 - -1 - -6 - -lib/gnutls_str.c -
-  - -gnutls_transport_set_push_function - -1 - -1 - -6 - -lib/gnutls_global.c -
-  - -gnutls_certificate_set_openpgp_key_file - -1 - -1 - -9 - -lib/openpgp/gnutls_openpgp.c -
-  - -gnutls_perror - -1 - -1 - -5 - -lib/gnutls_errors.c -
-  - -gnutls_handshake_get_last_out - -1 - -1 - -5 - -lib/gnutls_handshake.c -
-  - -gnutls_handshake_get_last_in - -1 - -1 - -5 - -lib/gnutls_handshake.c -
-  - -gnutls_alert_get - -1 - -1 - -5 - -lib/gnutls_alert.c -
-  - -_gnutls_get_crypto_digest - -1 - -1 - -5 - -lib/crypto.c -
-  - -_gnutls_get_adv_version - -1 - -1 - -6 - -lib/gnutls_handshake.c -
-  - -_gnutls_set_adv_version - -1 - -1 - -6 - -lib/gnutls_handshake.c -
-  - -gnutls_handshake_set_max_packet_length - -1 - -1 - -5 - -lib/gnutls_handshake.c -
-  - -gnutls_psk_set_client_credentials_function - -1 - -1 - -8 - -lib/gnutls_psk.c -
-  - -wrap_gcry_prime_check - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_transport_set_pull_function - -1 - -1 - -6 - -lib/gnutls_global.c -
-  - -_gnutls_x509_crl_get_extension_oid - -1 - -1 - -7 - -lib/x509/extensions.c -
-  - -gnutls_certificate_set_openpgp_key_mem - -1 - -1 - -9 - -lib/openpgp/gnutls_openpgp.c -
-  - -_gnutls_get_auth_info - -1 - -1 - -5 - -lib/gnutls_auth.c -
-  - -_gnutls_x509_crt_get_extension_oid - -1 - -1 - -7 - -lib/x509/extensions.c -
-  - -session_unresumable - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -session_invalidate - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -gnutls_psk_set_server_credentials_function - -1 - -1 - -8 - -lib/gnutls_psk.c -
-  - -cdk_stream_tmp_new - -1 - -1 - -5 - -lib/opencdk/stream.c -
-  - -_gnutls_get_crypto_mac - -1 - -1 - -5 - -lib/crypto.c -
-  - -_cdk_keydb_is_secret - -1 - -1 - -5 - -lib/opencdk/keydb.c -
-  - -cdk_s2k_free - -1 - -1 - -5 - -lib/opencdk/seskey.c -
-  - -_cdk_tmpfile - -1 - -1 - -5 - -lib/opencdk/misc.c -
-  - -gnutls_openpgp_crt_export - -1 - -1 - -8 - -lib/openpgp/pgp.c -
-  - -gnutls_auth_client_get_type - -1 - -1 - -8 - -lib/gnutls_auth.c -
-  - -_gnutls_string_append_str - -1 - -1 - -5 - -lib/gnutls_str.c -
-  - -_gnutls_hmac_get_algo_len - -1 - -1 - -5 - -lib/gnutls_hash_int.c -
-  - -gnutls_record_check_pending - -1 - -1 - -5 - -lib/gnutls_buffers.c -
-  - -_gnutls_x509_read_dsa_pubkey - -1 - -1 - -5 - -lib/x509/mpi.c -
-  - -gnutls_auth_server_get_type - -1 - -1 - -8 - -lib/gnutls_auth.c -
-  - -gnutls_rsa_params_export_pkcs1 - -1 - -1 - -9 - -lib/gnutls_rsa_export.c -
-  - -gnutls_certificate_free_ca_names - -1 - -1 - -5 - -lib/gnutls_cert.c -
-  - -gnutls_x509_crt_get_issuer - -1 - -1 - -5 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_get_subject - -1 - -1 - -5 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_get_raw_dn - -1 - -1 - -5 - -lib/x509/x509.c -
-  - -gnutls_x509_crt_get_raw_issuer_dn - -1 - -1 - -6 - -lib/x509/x509.c -
-  - -_gnutls_get_crypto_cipher - -1 - -1 - -5 - -lib/crypto.c -
-  - -gnutls_sign_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_crl_get_extension - -1 - -1 - -8 - -lib/x509/extensions.c -
-  - -gnutls_openpgp_privkey_export - -1 - -1 - -10 - -lib/openpgp/privkey.c -
-  - -gnutls_compression_list - -1 - -1 - -5 - -lib/gnutls_compress.c -
-  - -gnutls_x509_crq_get_subject_alt_othername_oid - -1 - -1 - -7 - -lib/x509/crq.c -
-  - -gnutls_x509_crq_get_subject_alt_name - -1 - -1 - -10 - -lib/x509/crq.c -
-  - -gnutls_certificate_type_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -_gnutls_x509_crt_get_extension - -1 - -1 - -8 - -lib/x509/extensions.c -
-  - -gnutls_rsa_params_import_pkcs1 - -1 - -1 - -7 - -lib/gnutls_rsa_export.c -
-  - -gnutls_certificate_get_openpgp_keyring - -1 - -1 - -6 - -lib/gnutls_cert.c -
-  - -_cdk_stream_puts - -1 - -1 - -5 - -lib/opencdk/stream.c -
-  - -gnutls_transport_get_ptr - -1 - -1 - -5 - -lib/gnutls_record.c -
-  - -gnutls_compression_set_priority - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -wrap_gcry_cipher_close - -1 - -1 - -5 - -lib/cipher-libgcrypt.c -
-  - -gnutls_rsa_params_generate2 - -1 - -1 - -5 - -lib/gnutls_rsa_export.c -
-  - -gnutls_x509_crl_sign - -1 - -1 - -6 - -lib/x509/crl_write.c -
-  - -gnutls_session_enable_compatibility_mode - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_compression_get - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_db_set_cache_expiration - -1 - -1 - -5 - -lib/gnutls_db.c -
-  - -gnutls_handshake_set_post_client_hello_function - -1 - -1 - -6 - -lib/gnutls_state.c -
-  - -_gnutls_set_client_random - -1 - -1 - -6 - -lib/gnutls_handshake.c -
-  - -gnutls_anon_set_server_params_function - -1 - -1 - -6 - -lib/gnutls_anon_cred.c -
-  - -gnutls_x509_crt_get_subject_alt_othername_oid - -1 - -1 - -7 - -lib/x509/x509.c -
-  - -gnutls_record_get_direction - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_session_set_ptr - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_rsa_params_cpy - -1 - -1 - -5 - -lib/gnutls_rsa_export.c -
-  - -gnutls_mac_set_priority - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -gnutls_x509_crt_get_subject_alt_name2 - -1 - -1 - -10 - -lib/x509/x509.c -
-  - -gnutls_session_get_ptr - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -_gnutls_set_server_random - -1 - -1 - -6 - -lib/gnutls_handshake.c -
-  - -gnutls_x509_crt_get_subject_alt_name - -1 - -1 - -8 - -lib/x509/x509.c -
-  - -wrap_gcry_mpi_release - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_db_get_ptr - -1 - -1 - -5 - -lib/gnutls_db.c -
-  - -gnutls_record_get_max_size - -1 - -1 - -8 - -lib/gnutls_record.c -
-  - -gnutls_mac_get - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_transport_set_global_errno - -1 - -1 - -5 - -lib/gnutls_buffers.c -
-  - -gnutls_record_recv - -1 - -1 - -6 - -lib/gnutls_record.c -
-  - -gnutls_anon_set_server_dh_params - -1 - -1 - -6 - -lib/gnutls_anon_cred.c -
-  - -gnutls_session_set_finished_function - -1 - -1 - -6 - -lib/gnutls_state.c -
-  - -gnutls_record_send - -1 - -1 - -7 - -lib/gnutls_record.c -
-  - -wrap_gcry_mpi_get_nbits - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_protocol_list - -1 - -1 - -5 - -lib/gnutls_algorithms.c -
-  - -gnutls_session_get_master_secret - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_x509_crq_sign - -1 - -1 - -5 - -lib/x509/crq.c -
-  - -gnutls_session_get_server_random - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_rsa_params_deinit - -1 - -1 - -5 - -lib/gnutls_rsa_export.c -
-  - -_gnutls_handshake_buffer_get_size - -1 - -1 - -6 - -lib/gnutls_buffers.c -
-  - -gnutls_session_get_client_random - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -wrap_gcry_mpi_set_ui - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_kx_set_priority - -1 - -1 - -5 - -lib/gnutls_priority.c -
-  - -gnutls_db_set_ptr - -1 - -1 - -5 - -lib/gnutls_db.c -
-  - -gnutls_kx_get - -1 - -1 - -5 - -lib/gnutls_state.c -
-  - -gnutls_x509_crl_check_issuer - -1 - -1 - -6 - -lib/x509/verify.c -
-  - -gnutls_x509_dn_deinit - -1 - -1 - -5 - -lib/x509/dn.c -
-  - -wrap_gcry_mpi_set - -1 - -1 - -5 - -lib/mpi-libgcrypt.c -
-  - -gnutls_anon_free_client_credentials - -1 - -0 - -4 - -lib/gnutls_anon_cred.c -
-  - -gnutls_free - -1 - -0 - -4 - -lib/gnutls_mem.c -
-
Copyright (c) 2007, 2008 Free Software Foundation Inc. - - diff -Nru gnutls26-2.8.6/doc/cyclo/Makefile.am gnutls26-2.4.1/doc/cyclo/Makefile.am --- gnutls26-2.8.6/doc/cyclo/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/cyclo/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS. -# -# 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 3 of the License, or -# (at your option) any later version. -# -# This file 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 file; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -EXTRA_DIST = cyclo-gnutls.html - -cyclo-gnutls.html: - $(PMCCABE) ${top_srcdir}/lib/*.[ch] ${top_srcdir}/lib/x509/*.[ch] ${top_srcdir}/lib/openpgp/*.[ch] ${top_srcdir}/lib/opencdk/*.[ch] \ - | sort -nr \ - | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \ - -v lang=html -v name="$(PACKAGE_NAME)" \ - -v vcurl="http://git.savannah.gnu.org/gitweb/?p=gnutls.git;a=blob;f=%FILENAME%;hb=HEAD" \ - -v url="http://www.gnu.org/software/gnutls/" \ - -v css=../../build-aux/pmccabe.css \ - > tmp - mv tmp $@ diff -Nru gnutls26-2.8.6/doc/cyclo/Makefile.in gnutls26-2.4.1/doc/cyclo/Makefile.in --- gnutls26-2.8.6/doc/cyclo/Makefile.in 2010-03-15 10:29:19.000000000 +0000 +++ gnutls26-2.4.1/doc/cyclo/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,847 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS. -# -# 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 3 of the License, or -# (at your option) any later version. -# -# This file 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 file; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/cyclo -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ - $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ -AR = @AR@ -ARPA_INET_H = @ARPA_INET_H@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FLOAT_H = @FLOAT_H@ -GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ -GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ -GUILE = @GUILE@ -GUILE_CFLAGS = @GUILE_CFLAGS@ -GUILE_CONFIG = @GUILE_CONFIG@ -GUILE_LDFLAGS = @GUILE_LDFLAGS@ -GUILE_SITE = @GUILE_SITE@ -GUILE_TOOLS = @GUILE_TOOLS@ -HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ -HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ -HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ -HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ -HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ -HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ -HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ -HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSETENV = @HAVE_UNSETENV@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ -HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ -HTML_DIR = @HTML_DIR@ -INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBREADLINE = @LIBREADLINE@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ -NETINET_IN_H = @NETINET_IN_H@ -NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ -NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ -NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ -NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ -NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ -NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ -REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ -REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ -REPLACE_STRERROR = @REPLACE_STRERROR@ -REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ -REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ -REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -gl_LIBOBJS = @gl_LIBOBJS@ -gl_LTLIBOBJS = @gl_LTLIBOBJS@ -gltests_LIBOBJS = @gltests_LIBOBJS@ -gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ -guile_snarf = @guile_snarf@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = cyclo-gnutls.html -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/cyclo/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/cyclo/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$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 -installdirs: -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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - - -cyclo-gnutls.html: - $(PMCCABE) ${top_srcdir}/lib/*.[ch] ${top_srcdir}/lib/x509/*.[ch] ${top_srcdir}/lib/openpgp/*.[ch] ${top_srcdir}/lib/opencdk/*.[ch] \ - | sort -nr \ - | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \ - -v lang=html -v name="$(PACKAGE_NAME)" \ - -v vcurl="http://git.savannah.gnu.org/gitweb/?p=gnutls.git;a=blob;f=%FILENAME%;hb=HEAD" \ - -v url="http://www.gnu.org/software/gnutls/" \ - -v css=../../build-aux/pmccabe.css \ - > tmp - mv tmp $@ - -# 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: diff -Nru gnutls26-2.8.6/doc/doxygen/Doxyfile.in gnutls26-2.4.1/doc/doxygen/Doxyfile.in --- gnutls26-2.8.6/doc/doxygen/Doxyfile.in 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/doxygen/Doxyfile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,1417 +0,0 @@ -# Doxyfile 1.5.6 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = @PACKAGE@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @VERSION@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, -# and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../../ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = */config.h */doc/* */build-aux/* */gl/* */src/*-gaa.? */src/cfg/* */tests/* */guile/* *.cpp */gnutlsxx.h */lib/minitasn1/* *openssl* - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hiererachy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NONE - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is enabled by default, which results in a transparent -# background. Warning: Depending on the platform used, enabling this option -# may lead to badly anti-aliased labels on the edges of a graph (i.e. they -# become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff -Nru gnutls26-2.8.6/doc/doxygen/Doxyfile.orig gnutls26-2.4.1/doc/doxygen/Doxyfile.orig --- gnutls26-2.8.6/doc/doxygen/Doxyfile.orig 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/doxygen/Doxyfile.orig 1970-01-01 01:00:00.000000000 +0100 @@ -1,1417 +0,0 @@ -# Doxyfile 1.5.6 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, -# and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hiererachy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NONE - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is enabled by default, which results in a transparent -# background. Warning: Depending on the platform used, enabling this option -# may lead to badly anti-aliased labels on the edges of a graph (i.e. they -# become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff -Nru gnutls26-2.8.6/doc/errcodes.c gnutls26-2.4.1/doc/errcodes.c --- gnutls26-2.8.6/doc/errcodes.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/errcodes.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation - * Author: Nikos Mavrogiannopoulos, Simon Josefsson - * - * This file is part of GNUTLS. - * - * GNUTLS 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 3 of the License, or - * (at your option) any later version. - * - * GNUTLS 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, see . - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include - -typedef struct -{ - char name[128]; - int error_index; -} error_name; - - -static int -compar (const void *_n1, const void *_n2) -{ - const error_name *n1 = (const error_name *) _n1, - *n2 = (const error_name *) _n2; - return strcmp (n1->name, n2->name); -} - -int -main (int argc, char *argv[]) -{ - int i, j; - const char *desc; - const char *_name; - error_name names_to_sort[400]; /* up to 400 names */ - - printf ("@table @code\n"); - - memset (names_to_sort, 0, sizeof (names_to_sort)); - j = 0; - for (i = 0; i > -400; i--) - { - _name = gnutls_strerror_name (i); - if (_name == NULL) - continue; - - strcpy (names_to_sort[j].name, _name); - names_to_sort[j].error_index = i; - j++; - } - - qsort (names_to_sort, j, sizeof (error_name), compar); - - for (i = 0; i < j; i++) - { - _name = names_to_sort[i].name; - desc = gnutls_strerror (names_to_sort[i].error_index); - if (desc == NULL || _name == NULL) - continue; - - printf ("@item %s:\n%s\n\n", _name, desc); - } - - printf ("@end table\n"); - - return 0; -} diff -Nru gnutls26-2.8.6/doc/error_codes.texi gnutls26-2.4.1/doc/error_codes.texi --- gnutls26-2.8.6/doc/error_codes.texi 2010-03-15 10:35:25.000000000 +0000 +++ gnutls26-2.4.1/doc/error_codes.texi 2008-06-30 22:14:30.000000000 +0100 @@ -1,6 +1,6 @@ @table @code @item GNUTLS_E_AGAIN: -Resource temporarily unavailable, try again. +Function was interrupted. @item GNUTLS_E_ASN1_DER_ERROR: ASN1 parser: Error in DER parsing. @@ -69,7 +69,7 @@ Decryption has failed. @item GNUTLS_E_DH_PRIME_UNACCEPTABLE: -The Diffie-Hellman prime sent by the server is not acceptable (not long enough). +The Diffie Hellman prime sent by the server is not acceptable (not long enough). @item GNUTLS_E_ENCRYPTION_FAILED: Encryption has failed. diff -Nru gnutls26-2.8.6/doc/examples/ex-alert.c gnutls26-2.4.1/doc/examples/ex-alert.c --- gnutls26-2.8.6/doc/examples/ex-alert.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-alert.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -8,8 +13,6 @@ #include #include -#include "examples.h" - /* This function will check whether the given return code from * a gnutls function (recv/send), is an alert, and will print * that alert. diff -Nru gnutls26-2.8.6/doc/examples/examples.h gnutls26-2.4.1/doc/examples/examples.h --- gnutls26-2.8.6/doc/examples/examples.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/examples.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -#ifndef EXAMPLES_H -# define EXAMPLES_H - -void -check_alert (gnutls_session_t session, int ret); - -int -write_pkcs12 (const gnutls_datum_t * cert, - const gnutls_datum_t * pkcs8_key, const char *password); - -void -verify_certificate (gnutls_session_t session, const char *hostname); - -int -print_info (gnutls_session_t session); - -void -print_x509_certificate_info (gnutls_session_t session); - -void -verify_certificate_chain (gnutls_session_t session, - const char *hostname, - const gnutls_datum_t * cert_chain, - int cert_chain_length); - -#endif /* EXAMPLES_H */ diff -Nru gnutls26-2.8.6/doc/examples/ex-cert-select.c gnutls26-2.4.1/doc/examples/ex-cert-select.c --- gnutls26-2.8.6/doc/examples/ex-cert-select.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-cert-select.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -49,25 +54,24 @@ long filelen; void *ptr; - if (!(f = fopen (file, "r")) - || fseek (f, 0, SEEK_END) != 0 - || (filelen = ftell (f)) < 0 - || fseek (f, 0, SEEK_SET) != 0 - || !(ptr = malloc ((size_t) filelen)) - || fread (ptr, 1, (size_t) filelen, f) < (size_t) filelen) + if (!(f = fopen(file, "r")) + || fseek(f, 0, SEEK_END) != 0 + || (filelen = ftell(f)) < 0 + || fseek(f, 0, SEEK_SET) != 0 + || !(ptr = malloc((size_t)filelen)) + || fread(ptr, 1, (size_t)filelen, f) < (size_t)filelen) { return loaded_file; } loaded_file.data = ptr; - loaded_file.size = (unsigned int) filelen; + loaded_file.size = (unsigned int)filelen; return loaded_file; } -static void -unload_file (gnutls_datum_t data) +static void unload_file(gnutls_datum_t data) { - free (data.data); + free(data.data); } /* Load the certificate and the private key. @@ -136,7 +140,7 @@ gnutls_certificate_allocate_credentials (&xcred); /* priorities */ - gnutls_priority_init (&priorities_cache, "NORMAL", NULL); + gnutls_priority_init( &priorities_cache, "NORMAL", NULL); /* sets the trusted cas file @@ -207,7 +211,7 @@ gnutls_deinit (session); gnutls_certificate_free_credentials (xcred); - gnutls_priority_deinit (priorities_cache); + gnutls_priority_deinit( priorities_cache); gnutls_global_deinit (); diff -Nru gnutls26-2.8.6/doc/examples/ex-client1.c gnutls26-2.4.1/doc/examples/ex-client1.c --- gnutls26-2.8.6/doc/examples/ex-client1.c 2010-01-13 09:21:26.000000000 +0000 +++ gnutls26-2.4.1/doc/examples/ex-client1.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -17,6 +22,7 @@ */ #define MAX_BUF 1024 +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" extern int tcp_connect (void); @@ -40,8 +46,7 @@ gnutls_init (&session, GNUTLS_CLIENT); /* Use default priorities */ - gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", - NULL); + gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", NULL); /* put the anonymous credentials to the current session */ diff -Nru gnutls26-2.8.6/doc/examples/ex-client2.c gnutls26-2.4.1/doc/examples/ex-client2.c --- gnutls26-2.8.6/doc/examples/ex-client2.c 2010-01-13 09:21:26.000000000 +0000 +++ gnutls26-2.4.1/doc/examples/ex-client2.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -47,14 +52,12 @@ /* Use default priorities */ ret = gnutls_priority_set_direct (session, "PERFORMANCE", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); - } - exit (1); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); } + exit(1); + } /* put the x509 credentials to the current session */ diff -Nru gnutls26-2.8.6/doc/examples/ex-client-psk.c gnutls26-2.4.1/doc/examples/ex-client-psk.c --- gnutls26-2.8.6/doc/examples/ex-client-psk.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-client-psk.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -17,6 +22,7 @@ */ #define MAX_BUF 1024 +#define CAFILE "ca.pem" #define MSG "GET / HTTP/1.0\r\n\r\n" extern int tcp_connect (void); @@ -30,7 +36,7 @@ char buffer[MAX_BUF + 1]; const char *err; gnutls_psk_client_credentials_t pskcred; - const gnutls_datum_t key = { (char*) "DEADBEEF", 8 }; + const gnutls_datum_t key = { "DEADBEEF", 8 }; gnutls_global_init (); @@ -44,14 +50,12 @@ /* Use default priorities */ ret = gnutls_priority_set_direct (session, "PERFORMANCE", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); - } - exit (1); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); } + exit(1); + } /* put the x509 credentials to the current session */ diff -Nru gnutls26-2.8.6/doc/examples/ex-client-resume.c gnutls26-2.4.1/doc/examples/ex-client-resume.c --- gnutls26-2.8.6/doc/examples/ex-client-resume.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-client-resume.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -16,6 +21,7 @@ extern void tcp_close (int sd); #define MAX_BUF 1024 +#define CRLFILE "crl.pem" #define CAFILE "ca.pem" #define MSG "GET / HTTP/1.0\r\n\r\n" diff -Nru gnutls26-2.8.6/doc/examples/ex-client-srp.c gnutls26-2.4.1/doc/examples/ex-client-srp.c --- gnutls26-2.8.6/doc/examples/ex-client-srp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-client-srp.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -20,8 +25,11 @@ #define USERNAME "user" #define PASSWORD "pass" #define CAFILE "ca.pem" +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" +#define MAX_PRIORITIES 3 + int main (void) { @@ -35,7 +43,7 @@ gnutls_global_init (); /* now enable the gnutls-extra library which contains the - * SRP stuff. + * SRP stuff. */ gnutls_global_init_extra (); @@ -46,11 +54,11 @@ GNUTLS_X509_FMT_PEM); gnutls_srp_set_client_credentials (srp_cred, USERNAME, PASSWORD); - /* connects to server + /* connects to server */ sd = tcp_connect (); - /* Initialize TLS session + /* Initialize TLS session */ gnutls_init (&session, GNUTLS_CLIENT); diff -Nru gnutls26-2.8.6/doc/examples/ex-client-tlsia.c gnutls26-2.4.1/doc/examples/ex-client-tlsia.c --- gnutls26-2.8.6/doc/examples/ex-client-tlsia.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-client-tlsia.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -18,19 +23,21 @@ */ #define MAX_BUF 1024 +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" extern int tcp_connect (void); extern void tcp_close (int sd); -static int +int client_avp (gnutls_session_t session, void *ptr, - const char *last, size_t lastlen, char **new, size_t * newlen) + const char *last, size_t lastlen, + char **new, size_t *newlen) { if (last) printf ("- received %d bytes AVP: `%.*s'\n", - lastlen, (int) lastlen, last); + lastlen, lastlen, last); else printf ("- new application phase\n"); diff -Nru gnutls26-2.8.6/doc/examples/ex-crq.c gnutls26-2.4.1/doc/examples/ex-crq.c --- gnutls26-2.8.6/doc/examples/ex-crq.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-crq.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif diff -Nru gnutls26-2.8.6/doc/examples/ex-cxx.cpp gnutls26-2.4.1/doc/examples/ex-cxx.cpp --- gnutls26-2.8.6/doc/examples/ex-cxx.cpp 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-cxx.cpp 2008-06-30 21:45:51.000000000 +0100 @@ -1,8 +1,13 @@ +#if HAVE_CONFIG_H +# include +#else +#endif #include #include #include #include -#include /* for strlen */ + +#include /* for strlen */ /* A very basic TLS client, with anonymous authentication. * written by Eduardo Villanueva Che. diff -Nru gnutls26-2.8.6/doc/examples/ex-pkcs12.c gnutls26-2.4.1/doc/examples/ex-pkcs12.c --- gnutls26-2.8.6/doc/examples/ex-pkcs12.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-pkcs12.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -9,8 +14,6 @@ #include #include -#include "examples.h" - #define OUTFILE "out.p12" /* This function will write a pkcs12 structure into a file. @@ -33,7 +36,7 @@ /* A good idea might be to use gnutls_x509_privkey_get_key_id() * to obtain a unique ID. */ - gnutls_datum_t key_id = { (char*) "\x00\x00\x07", 3 }; + gnutls_datum_t key_id = { "\x00\x00\x07", 3 }; gnutls_global_init (); diff -Nru gnutls26-2.8.6/doc/examples/ex-rfc2818.c gnutls26-2.4.1/doc/examples/ex-rfc2818.c --- gnutls26-2.8.6/doc/examples/ex-rfc2818.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-rfc2818.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -8,8 +13,6 @@ #include #include -#include "examples.h" - /* This function will try to verify the peer's certificate, and * also check if the hostname matches, and the activation, expiration dates. */ diff -Nru gnutls26-2.8.6/doc/examples/ex-serv1.c gnutls26-2.4.1/doc/examples/ex-serv1.c --- gnutls26-2.8.6/doc/examples/ex-serv1.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv1.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -14,7 +19,7 @@ #include #include #include -#include /* for gcry_control */ +#include /* for gcry_control */ #define KEYFILE "key.pem" #define CERTFILE "cert.pem" @@ -35,7 +40,7 @@ gnutls_certificate_credentials_t x509_cred; gnutls_priority_t priority_cache; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -49,11 +54,11 @@ /* request client certificate if any. */ gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); - + /* Set maximum compatibility mode. This is only suggested on public webservers * that need to trade security for compatibility */ - gnutls_session_enable_compatibility_mode (session); + gnutls_session_enable_compatibility_mode( session); return session; } @@ -64,7 +69,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. When short bit length is used, it might * be wise to regenerate parameters. * @@ -80,7 +85,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -110,7 +115,7 @@ generate_dh_params (); - gnutls_priority_init (&priority_cache, "NORMAL", NULL); + gnutls_priority_init( &priority_cache, "NORMAL", NULL); gnutls_certificate_set_dh_params (x509_cred, dh_params); @@ -125,7 +130,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -160,6 +165,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -195,7 +201,7 @@ close (listen_sd); gnutls_certificate_free_credentials (x509_cred); - gnutls_priority_deinit (priority_cache); + gnutls_priority_deinit(priority_cache); gnutls_global_deinit (); diff -Nru gnutls26-2.8.6/doc/examples/ex-serv-anon.c gnutls26-2.4.1/doc/examples/ex-serv-anon.c --- gnutls26-2.8.6/doc/examples/ex-serv-anon.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv-anon.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -28,7 +33,7 @@ /* These are global */ gnutls_anon_server_credentials_t anoncred; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -50,7 +55,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated * once a day, once a week or once a month. Depending on the * security requirements. @@ -64,7 +69,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -94,7 +99,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -129,6 +134,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); diff -Nru gnutls26-2.8.6/doc/examples/ex-serv-export.c gnutls26-2.4.1/doc/examples/ex-serv-export.c --- gnutls26-2.8.6/doc/examples/ex-serv-export.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv-export.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -14,7 +19,7 @@ #include #include #include -#include /* for gcry_control */ +#include /* for gcry_control */ #define KEYFILE "key.pem" #define CERTFILE "cert.pem" @@ -42,7 +47,7 @@ #define TLS_SESSION_CACHE 50 -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -51,7 +56,7 @@ /* Use the default priorities, plus, export cipher suites. */ - gnutls_priority_set_direct (session, "EXPORT", NULL); + gnutls_priority_set_direct( session, "EXPORT", NULL); gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, cert_cred); @@ -85,13 +90,14 @@ "KRipli8Lk7hV+XmT7Jde6qgNdArb9P90c1nQQdXDPqcdKB5EaxR3O8qXtDoj+4AW\n" "dr0gekNsZIHx0rkHhxdGGludMuaI+HdIVEUjtSSw1X1ep3onddLs+gMs+9v1L7N4\n" "YWAnkATleuavh05zA85TKZzMBBx7wwjYKlaY86jQw4JxrjX46dv7tpS1yAPYn3rk\n" - "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n" "-----END DH PARAMETERS-----\n"; - -static int + "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n" + "-----END DH PARAMETERS-----\n"; + +int generate_dh_params (void) { - gnutls_datum_t dparams = { srp_dh_group2048, sizeof (srp_dh_group2048) }; - /* Here instead of generating Diffie-Hellman parameters (for use with DHE +gnutls_datum_t dparams = { srp_dh_group2048, sizeof( srp_dh_group2048) }; + /* Here instead of generating Diffie Hellman parameters (for use with DHE * kx algorithms) we import them. */ gnutls_dh_params_init (&dh_params); @@ -119,7 +125,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -173,7 +179,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -207,6 +213,7 @@ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -266,10 +273,10 @@ typedef struct { char session_id[MAX_SESSION_ID_SIZE]; - size_t session_id_size; + int session_id_size; char session_data[MAX_SESSION_DATA_SIZE]; - size_t session_data_size; + int session_data_size; } CACHE; static CACHE *cache_db; @@ -286,7 +293,8 @@ static void wrap_db_deinit (void) { - free (cache_db); + if (cache_db) + free (cache_db); cache_db = NULL; return; } diff -Nru gnutls26-2.8.6/doc/examples/ex-serv-pgp.c gnutls26-2.4.1/doc/examples/ex-serv-pgp.c --- gnutls26-2.8.6/doc/examples/ex-serv-pgp.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv-pgp.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -38,7 +43,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated * once a day, once a week or once a month. Depending on the * security requirements. @@ -49,14 +54,14 @@ return 0; } -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; gnutls_init (&session, GNUTLS_SERVER); - gnutls_priority_set_direct (session, "NORMAL", NULL); + gnutls_priority_set_direct(session, "NORMAL", NULL); /* request client certificate if any. */ @@ -70,7 +75,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -88,11 +93,9 @@ gnutls_global_init (); gnutls_certificate_allocate_credentials (&cred); - gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, - GNUTLS_OPENPGP_FMT_BASE64); + gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, GNUTLS_OPENPGP_FMT_BASE64); - gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, - GNUTLS_OPENPGP_FMT_BASE64); + gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, GNUTLS_OPENPGP_FMT_BASE64); generate_dh_params (); @@ -108,7 +111,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -143,6 +146,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); diff -Nru gnutls26-2.8.6/doc/examples/ex-serv-psk.c gnutls26-2.4.1/doc/examples/ex-serv-psk.c --- gnutls26-2.8.6/doc/examples/ex-serv-psk.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv-psk.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -14,7 +19,7 @@ #include #include #include -#include /* for gcry_control */ +#include /* for gcry_control */ #define KEYFILE "key.pem" #define CERTFILE "cert.pem" @@ -37,7 +42,7 @@ gnutls_psk_server_credentials_t psk_cred; gnutls_priority_t priority_cache; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -62,7 +67,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. When short bit length is used, it might * be wise to regenerate parameters. * @@ -91,7 +96,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -124,7 +129,7 @@ generate_dh_params (); - gnutls_priority_init (&priority_cache, "NORMAL:PSK", NULL); + gnutls_priority_init( &priority_cache, "NORMAL:PSK", NULL); gnutls_certificate_set_dh_params (x509_cred, dh_params); @@ -139,7 +144,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -174,6 +179,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -211,7 +217,7 @@ gnutls_certificate_free_credentials (x509_cred); gnutls_psk_free_server_credentials (psk_cred); - gnutls_priority_deinit (priority_cache); + gnutls_priority_deinit(priority_cache); gnutls_global_deinit (); diff -Nru gnutls26-2.8.6/doc/examples/ex-serv-srp.c gnutls26-2.4.1/doc/examples/ex-serv-srp.c --- gnutls26-2.8.6/doc/examples/ex-serv-srp.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-serv-srp.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -35,7 +40,7 @@ gnutls_srp_server_credentials_t srp_cred; gnutls_certificate_credentials_t cert_cred; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -59,7 +64,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -99,7 +104,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -133,6 +138,7 @@ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); diff -Nru gnutls26-2.8.6/doc/examples/ex-session-info.c gnutls26-2.4.1/doc/examples/ex-session-info.c --- gnutls26-2.8.6/doc/examples/ex-session-info.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-session-info.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -9,7 +14,7 @@ #include #include -#include "examples.h" +extern void print_x509_certificate_info (gnutls_session_t); /* This function will print some details of the * given session. @@ -66,7 +71,7 @@ case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */ - /* Check if we have been using ephemeral Diffie-Hellman. + /* Check if we have been using ephemeral Diffie Hellman. */ if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS) { diff -Nru gnutls26-2.8.6/doc/examples/ex-verify.c gnutls26-2.4.1/doc/examples/ex-verify.c --- gnutls26-2.8.6/doc/examples/ex-verify.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/ex-verify.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -9,8 +14,6 @@ #include #include -#include "examples.h" - /* All the available CRLs */ gnutls_x509_crl_t *crl_list; diff -Nru gnutls26-2.8.6/doc/examples/ex-x509-info.c gnutls26-2.4.1/doc/examples/ex-x509-info.c --- gnutls26-2.8.6/doc/examples/ex-x509-info.c 2009-12-04 12:34:27.000000000 +0000 +++ gnutls26-2.4.1/doc/examples/ex-x509-info.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -9,8 +14,6 @@ #include #include -#include "examples.h" - static const char * bin2hex (const void *bin, size_t bin_size) { @@ -39,14 +42,13 @@ print_x509_certificate_info (gnutls_session_t session) { char serial[40]; - char dn[256]; + char dn[128]; size_t size; unsigned int algo, bits; time_t expiration_time, activation_time; const gnutls_datum_t *cert_list; unsigned int cert_list_size = 0; gnutls_x509_crt_t cert; - gnutls_datum_t cinfo; /* This function only works for X.509 certificates. */ @@ -59,7 +61,6 @@ if (cert_list_size > 0) { - int ret; /* we only print information about the first certificate. */ @@ -69,19 +70,6 @@ printf ("Certificate info:\n"); - /* This is the preferred way of printing short information about - a certificate. */ - - ret = gnutls_x509_crt_print (cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (ret == 0) - { - printf ("\t%s\n", cinfo.data); - gnutls_free (cinfo.data); - } - - /* If you want to extract fields manually for some other reason, - below are popular example calls. */ - expiration_time = gnutls_x509_crt_get_expiration_time (cert); activation_time = gnutls_x509_crt_get_activation_time (cert); @@ -102,7 +90,7 @@ printf ("Certificate public key: %s", gnutls_pk_algorithm_get_name (algo)); - /* Print the version of the X.509 + /* Print the version of the X.509 * certificate. */ printf ("\tCertificate version: #%d\n", diff -Nru gnutls26-2.8.6/doc/examples/Makefile.am gnutls26-2.4.1/doc/examples/Makefile.am --- gnutls26-2.8.6/doc/examples/Makefile.am 2010-01-24 10:06:21.000000000 +0000 +++ gnutls26-2.4.1/doc/examples/Makefile.am 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Simon Josefsson # @@ -19,28 +19,21 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes \ - -I$(top_srcdir)/libextra/includes \ - -I$(top_srcdir)/gl -I$(top_builddir)/gl - +AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/gl -I$(top_builddir)/gl AM_LDFLAGS = -no-install -LDADD = libexamples.la \ - ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la \ - ../../gl/libgnu.la \ - $(LIBSOCKET) $(INET_NTOP_LIB) $(INET_PTON_LIB) +LDADD = libexamples.la \ + ../../lib/libgnutls.la \ + ../../libextra/libgnutls-extra.la \ + ../../gl/libgnu.la CXX_LDADD = $(LDADD) \ ../../lib/libgnutlsxx.la -noinst_PROGRAMS = ex-client2 ex-client-resume -noinst_PROGRAMS += ex-cert-select - -if ENABLE_PKI -noinst_PROGRAMS += ex-crq ex-serv1 ex-serv-export -endif +noinst_PROGRAMS = ex-client2 ex-client-resume ex-client-psk +noinst_PROGRAMS += ex-cert-select ex-crq +noinst_PROGRAMS += ex-serv1 ex-serv-export ex-serv-psk if ENABLE_CXX ex_cxx_SOURCES = ex-cxx.cpp @@ -57,19 +50,11 @@ noinst_PROGRAMS += ex-serv-pgp endif -if ENABLE_PSK -noinst_PROGRAMS += ex-client-psk -if ENABLE_PKI -noinst_PROGRAMS += ex-serv-psk -endif -endif - if ENABLE_SRP noinst_PROGRAMS += ex-client-srp ex-serv-srp endif noinst_LTLIBRARIES = libexamples.la -libexamples_la_SOURCES = examples.h ex-alert.c ex-pkcs12.c \ - ex-rfc2818.c ex-session-info.c ex-x509-info.c ex-verify.c \ - tcp.c +libexamples_la_SOURCES = ex-alert.c ex-pkcs12.c ex-rfc2818.c \ + ex-session-info.c ex-x509-info.c ex-verify.c tcp.c diff -Nru gnutls26-2.8.6/doc/examples/Makefile.in gnutls26-2.4.1/doc/examples/Makefile.in --- gnutls26-2.8.6/doc/examples/Makefile.in 2010-03-15 10:29:19.000000000 +0000 +++ gnutls26-2.4.1/doc/examples/Makefile.in 2008-06-30 22:07:50.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Simon Josefsson # @@ -38,9 +37,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -56,213 +54,186 @@ build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = ex-client2$(EXEEXT) ex-client-resume$(EXEEXT) \ - ex-cert-select$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ - $(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5) \ - $(am__EXEEXT_6) $(am__EXEEXT_7) -@ENABLE_PKI_TRUE@am__append_1 = ex-crq ex-serv1 ex-serv-export -@ENABLE_CXX_TRUE@am__append_2 = ex-cxx -@ENABLE_ANON_TRUE@am__append_3 = ex-client1 ex-serv-anon \ + ex-client-psk$(EXEEXT) ex-cert-select$(EXEEXT) ex-crq$(EXEEXT) \ + ex-serv1$(EXEEXT) ex-serv-export$(EXEEXT) ex-serv-psk$(EXEEXT) \ + $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ + $(am__EXEEXT_4) +@ENABLE_CXX_TRUE@am__append_1 = ex-cxx +@ENABLE_ANON_TRUE@am__append_2 = ex-client1 ex-serv-anon \ @ENABLE_ANON_TRUE@ ex-client-tlsia -@ENABLE_OPENPGP_TRUE@am__append_4 = ex-serv-pgp -@ENABLE_PSK_TRUE@am__append_5 = ex-client-psk -@ENABLE_PKI_TRUE@@ENABLE_PSK_TRUE@am__append_6 = ex-serv-psk -@ENABLE_SRP_TRUE@am__append_7 = ex-client-srp ex-serv-srp +@ENABLE_OPENPGP_TRUE@am__append_3 = ex-serv-pgp +@ENABLE_SRP_TRUE@am__append_4 = ex-client-srp ex-serv-srp subdir = doc/examples DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libexamples_la_LIBADD = am_libexamples_la_OBJECTS = ex-alert.lo ex-pkcs12.lo ex-rfc2818.lo \ ex-session-info.lo ex-x509-info.lo ex-verify.lo tcp.lo libexamples_la_OBJECTS = $(am_libexamples_la_OBJECTS) -@ENABLE_PKI_TRUE@am__EXEEXT_1 = ex-crq$(EXEEXT) ex-serv1$(EXEEXT) \ -@ENABLE_PKI_TRUE@ ex-serv-export$(EXEEXT) -@ENABLE_CXX_TRUE@am__EXEEXT_2 = ex-cxx$(EXEEXT) -@ENABLE_ANON_TRUE@am__EXEEXT_3 = ex-client1$(EXEEXT) \ +@ENABLE_CXX_TRUE@am__EXEEXT_1 = ex-cxx$(EXEEXT) +@ENABLE_ANON_TRUE@am__EXEEXT_2 = ex-client1$(EXEEXT) \ @ENABLE_ANON_TRUE@ ex-serv-anon$(EXEEXT) \ @ENABLE_ANON_TRUE@ ex-client-tlsia$(EXEEXT) -@ENABLE_OPENPGP_TRUE@am__EXEEXT_4 = ex-serv-pgp$(EXEEXT) -@ENABLE_PSK_TRUE@am__EXEEXT_5 = ex-client-psk$(EXEEXT) -@ENABLE_PKI_TRUE@@ENABLE_PSK_TRUE@am__EXEEXT_6 = ex-serv-psk$(EXEEXT) -@ENABLE_SRP_TRUE@am__EXEEXT_7 = ex-client-srp$(EXEEXT) \ +@ENABLE_OPENPGP_TRUE@am__EXEEXT_3 = ex-serv-pgp$(EXEEXT) +@ENABLE_SRP_TRUE@am__EXEEXT_4 = ex-client-srp$(EXEEXT) \ @ENABLE_SRP_TRUE@ ex-serv-srp$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) ex_cert_select_SOURCES = ex-cert-select.c ex_cert_select_OBJECTS = ex-cert-select.$(OBJEXT) ex_cert_select_LDADD = $(LDADD) -am__DEPENDENCIES_1 = ex_cert_select_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client_psk_SOURCES = ex-client-psk.c ex_client_psk_OBJECTS = ex-client-psk.$(OBJEXT) ex_client_psk_LDADD = $(LDADD) ex_client_psk_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client_resume_SOURCES = ex-client-resume.c ex_client_resume_OBJECTS = ex-client-resume.$(OBJEXT) ex_client_resume_LDADD = $(LDADD) ex_client_resume_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client_srp_SOURCES = ex-client-srp.c ex_client_srp_OBJECTS = ex-client-srp.$(OBJEXT) ex_client_srp_LDADD = $(LDADD) ex_client_srp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client_tlsia_SOURCES = ex-client-tlsia.c ex_client_tlsia_OBJECTS = ex-client-tlsia.$(OBJEXT) ex_client_tlsia_LDADD = $(LDADD) ex_client_tlsia_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client1_SOURCES = ex-client1.c ex_client1_OBJECTS = ex-client1.$(OBJEXT) ex_client1_LDADD = $(LDADD) ex_client1_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_client2_SOURCES = ex-client2.c ex_client2_OBJECTS = ex-client2.$(OBJEXT) ex_client2_LDADD = $(LDADD) ex_client2_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_crq_SOURCES = ex-crq.c ex_crq_OBJECTS = ex-crq.$(OBJEXT) ex_crq_LDADD = $(LDADD) ex_crq_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la am__ex_cxx_SOURCES_DIST = ex-cxx.cpp @ENABLE_CXX_TRUE@am_ex_cxx_OBJECTS = ex-cxx.$(OBJEXT) ex_cxx_OBJECTS = $(am_ex_cxx_OBJECTS) -am__DEPENDENCIES_2 = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) ../../lib/libgnutlsxx.la -@ENABLE_CXX_TRUE@ex_cxx_DEPENDENCIES = $(am__DEPENDENCIES_3) +@ENABLE_CXX_TRUE@ex_cxx_DEPENDENCIES = $(CXX_LDADD) ex_serv_anon_SOURCES = ex-serv-anon.c ex_serv_anon_OBJECTS = ex-serv-anon.$(OBJEXT) ex_serv_anon_LDADD = $(LDADD) ex_serv_anon_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_serv_export_SOURCES = ex-serv-export.c ex_serv_export_OBJECTS = ex-serv-export.$(OBJEXT) ex_serv_export_LDADD = $(LDADD) ex_serv_export_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_serv_pgp_SOURCES = ex-serv-pgp.c ex_serv_pgp_OBJECTS = ex-serv-pgp.$(OBJEXT) ex_serv_pgp_LDADD = $(LDADD) ex_serv_pgp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_serv_psk_SOURCES = ex-serv-psk.c ex_serv_psk_OBJECTS = ex-serv-psk.$(OBJEXT) ex_serv_psk_LDADD = $(LDADD) ex_serv_psk_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_serv_srp_SOURCES = ex-serv-srp.c ex_serv_srp_OBJECTS = ex-serv-srp.$(OBJEXT) ex_serv_srp_LDADD = $(LDADD) ex_serv_srp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la ex_serv1_SOURCES = ex-serv1.c ex_serv1_OBJECTS = ex-serv1.$(OBJEXT) ex_serv1_LDADD = $(LDADD) ex_serv1_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../libextra/libgnutls-extra.la ../../gl/libgnu.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -298,7 +269,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -321,96 +292,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -422,31 +357,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -461,29 +381,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -491,18 +397,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -511,51 +410,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -564,123 +445,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -692,78 +558,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -795,11 +645,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -810,24 +663,20 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes \ - -I$(top_srcdir)/libextra/includes \ - -I$(top_srcdir)/gl -I$(top_builddir)/gl +AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/gl -I$(top_builddir)/gl AM_LDFLAGS = -no-install -LDADD = libexamples.la \ - ../../lib/libgnutls.la \ - ../../libextra/libgnutls-extra.la \ - ../../gl/libgnu.la \ - $(LIBSOCKET) $(INET_NTOP_LIB) $(INET_PTON_LIB) +LDADD = libexamples.la \ + ../../lib/libgnutls.la \ + ../../libextra/libgnutls-extra.la \ + ../../gl/libgnu.la CXX_LDADD = $(LDADD) \ ../../lib/libgnutlsxx.la @@ -835,9 +684,8 @@ @ENABLE_CXX_TRUE@ex_cxx_SOURCES = ex-cxx.cpp @ENABLE_CXX_TRUE@ex_cxx_LDADD = $(CXX_LDADD) noinst_LTLIBRARIES = libexamples.la -libexamples_la_SOURCES = examples.h ex-alert.c ex-pkcs12.c \ - ex-rfc2818.c ex-session-info.c ex-x509-info.c ex-verify.c \ - tcp.c +libexamples_la_SOURCES = ex-alert.c ex-pkcs12.c ex-rfc2818.c \ + ex-session-info.c ex-x509-info.c ex-verify.c tcp.c all: all-am @@ -847,14 +695,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/examples/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/examples/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/examples/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -872,7 +720,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -886,13 +733,11 @@ $(LINK) $(libexamples_la_OBJECTS) $(libexamples_la_LIBADD) $(LIBS) clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done ex-cert-select$(EXEEXT): $(ex_cert_select_OBJECTS) $(ex_cert_select_DEPENDENCIES) @rm -f ex-cert-select$(EXEEXT) $(LINK) $(ex_cert_select_OBJECTS) $(ex_cert_select_LDADD) $(LIBS) @@ -970,42 +815,42 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -1021,14 +866,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -1036,34 +881,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1084,17 +924,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -1122,7 +958,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1144,8 +979,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -1154,28 +987,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -1214,7 +1037,6 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/examples/tcp.c gnutls26-2.4.1/doc/examples/tcp.c --- gnutls26-2.8.6/doc/examples/tcp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/examples/tcp.c 2008-06-19 11:00:09.000000000 +0100 @@ -1,6 +1,11 @@ -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -15,10 +20,6 @@ #define SA struct sockaddr -/* tcp.c */ -int tcp_connect (void); -void tcp_close (int sd); - /* Connects to the peer and returns a socket * descriptor. */ diff -Nru gnutls26-2.8.6/doc/extra.c.texi gnutls26-2.4.1/doc/extra.c.texi --- gnutls26-2.8.6/doc/extra.c.texi 2010-03-15 10:32:12.000000000 +0000 +++ gnutls26-2.4.1/doc/extra.c.texi 2008-06-30 22:12:55.000000000 +0100 @@ -1,21 +1,21 @@ @c Automatically generated, do not edit. -@c snarfed from ../guile/src/extra.c:513 +@c snarfed from ../guile/src/extra.c:510 @deffn {Scheme Procedure} set-certificate-credentials-openpgp-keys! cred pub sec Use certificate @var{pub} and secret key @var{sec} in certificate credentials @var{cred}. @end deffn -@c snarfed from ../guile/src/extra.c:475 +@c snarfed from ../guile/src/extra.c:472 @deffn {Scheme Procedure} openpgp-keyring-contains-key-id? keyring id Return @code{#f} if key ID @var{id} is in @var{keyring}, @code{#f} otherwise. @end deffn -@c snarfed from ../guile/src/extra.c:429 +@c snarfed from ../guile/src/extra.c:427 @deffn {Scheme Procedure} import-openpgp-keyring data format Import @var{data} (a u8vector) according to @var{format} and return the imported keyring. @end deffn -@c snarfed from ../guile/src/extra.c:403 +@c snarfed from ../guile/src/extra.c:402 @deffn {Scheme Procedure} openpgp-certificate-usage key Return a list of values denoting the key usage of @var{key}. @end deffn @@ -25,7 +25,7 @@ Return the version of the OpenPGP message format (RFC2440) honored by @var{key}. @end deffn -@c snarfed from ../guile/src/extra.c:365 +@c snarfed from ../guile/src/extra.c:366 @deffn {Scheme Procedure} openpgp-certificate-algorithm key Return two values: the certificate algorithm used by @var{key} and the number of bits used. @end deffn @@ -35,27 +35,27 @@ Return the list of names for @var{key}. @end deffn -@c snarfed from ../guile/src/extra.c:306 +@c snarfed from ../guile/src/extra.c:304 @deffn {Scheme Procedure} openpgp-certificate-name key index Return the @var{index}th name of @var{key}. @end deffn -@c snarfed from ../guile/src/extra.c:248 +@c snarfed from ../guile/src/extra.c:246 @deffn {Scheme Procedure} openpgp-certificate-fingerprint key Return a new u8vector denoting the fingerprint of @var{key}. @end deffn -@c snarfed from ../guile/src/extra.c:218 +@c snarfed from ../guile/src/extra.c:216 @deffn {Scheme Procedure} openpgp-certificate-fingerprint! key fpr Store in @var{fpr} (a u8vector) the fingerprint of @var{key}. Return the number of bytes stored in @var{fpr}. @end deffn -@c snarfed from ../guile/src/extra.c:183 +@c snarfed from ../guile/src/extra.c:181 @deffn {Scheme Procedure} openpgp-certificate-id! key id Store the ID (an 8 byte sequence) of certificate @var{key} in @var{id} (a u8vector). @end deffn -@c snarfed from ../guile/src/extra.c:157 +@c snarfed from ../guile/src/extra.c:156 @deffn {Scheme Procedure} openpgp-certificate-id key Return the ID (an 8-element u8vector) of certificate @var{key}. @end deffn @@ -65,7 +65,7 @@ Return a new OpenPGP private key object resulting from the import of @var{data} (a uniform array) according to @var{format}. Optionally, a passphrase may be provided. @end deffn -@c snarfed from ../guile/src/extra.c:57 +@c snarfed from ../guile/src/extra.c:58 @deffn {Scheme Procedure} import-openpgp-certificate data format Return a new OpenPGP certificate object resulting from the import of @var{data} (a uniform array) according to @var{format}. @end deffn diff -Nru gnutls26-2.8.6/doc/fdl-1.3.texi gnutls26-2.4.1/doc/fdl-1.3.texi --- gnutls26-2.8.6/doc/fdl-1.3.texi 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/fdl-1.3.texi 1970-01-01 01:00:00.000000000 +0100 @@ -1,506 +0,0 @@ -@c The GNU Free Documentation License. -@center Version 1.3, 3 November 2008 - -@c This file is intended to be included within another document, -@c hence no sectioning command or @node. - -@display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{http://fsf.org/} - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document @dfn{free} in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for -output purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The ``publisher'' means any person or entity that distributes copies -of the Document to the public. - -A section ``Entitled XYZ'' means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' -of such a section when you modify the Document means that it remains a -section ``Entitled XYZ'' according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -@item -COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -@enumerate A -@item -Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -@item -List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -@item -State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -@item -Preserve all the copyright notices of the Document. - -@item -Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -@item -Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -@item -Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -@item -Include an unaltered copy of this License. - -@item -Preserve the section Entitled ``History'', Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled ``History'' in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -@item -Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the ``History'' section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -@item -For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -@item -Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -@item -Delete any section Entitled ``Endorsements''. Such a section -may not be included in the Modified Version. - -@item -Do not retitle any existing section to be Entitled ``Endorsements'' or -to conflict in title with any Invariant Section. - -@item -Preserve any Warranty Disclaimers. -@end enumerate - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties---for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled ``History'' -in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', -and any sections Entitled ``Dedications''. You must delete all -sections Entitled ``Endorsements.'' - -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an ``aggregate'' if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation 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. See -@uref{http://www.gnu.org/copyleft/}. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -@item -RELICENSING - -``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the -site means any set of copyrightable works thus published on the MMC -site. - -``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -``Incorporate'' means to publish or republish a Document, in whole or -in part, as part of another Document. - -An MMC is ``eligible for relicensing'' if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - -@end enumerate - -@page -@heading ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: - -@smallexample -@group - with the Invariant Sections being @var{list their titles}, with - the Front-Cover Texts being @var{list}, and with the Back-Cover Texts - being @var{list}. -@end group -@end smallexample - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@c Local Variables: -@c ispell-local-pdict: "ispell-dict" -@c End: - diff -Nru gnutls26-2.8.6/doc/fdl.texi gnutls26-2.4.1/doc/fdl.texi --- gnutls26-2.8.6/doc/fdl.texi 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/fdl.texi 2008-06-19 11:00:09.000000000 +0100 @@ -0,0 +1,451 @@ +@c The GNU Free Documentation License. +@center Version 1.2, November 2002 + +@c This file is intended to be included within another document, +@c hence no sectioning command or @node. + +@display +Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +@end display + +@enumerate 0 +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document @dfn{free} in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The ``Document'', below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as ``you''. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A ``Modified Version'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``Secondary Section'' is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``Invariant Sections'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The ``Cover Texts'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A ``Transparent'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called ``Opaque''. + +Examples of suitable formats for Transparent copies include plain +@sc{ascii} without markup, Texinfo input format, La@TeX{} input +format, @acronym{SGML} or @acronym{XML} using a publicly available +@acronym{DTD}, and standard-conforming simple @acronym{HTML}, +PostScript or @acronym{PDF} designed for human modification. Examples +of transparent image formats include @acronym{PNG}, @acronym{XCF} and +@acronym{JPG}. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, @acronym{SGML} or +@acronym{XML} for which the @acronym{DTD} and/or processing tools are +not generally available, and the machine-generated @acronym{HTML}, +PostScript or @acronym{PDF} produced by some word processors for +output purposes only. + +The ``Title Page'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section ``Entitled XYZ'' means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as ``Acknowledgements'', +``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' +of such a section when you modify the Document means that it remains a +section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section Entitled ``History'', Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section Entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section to be Entitled ``Endorsements'' or +to conflict in title with any Invariant Section. + +@item +Preserve any Warranty Disclaimers. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all +sections Entitled ``Endorsements.'' + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document 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. + +@item +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation 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. See +@uref{http://www.gnu.org/copyleft/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. +@end enumerate + +@page +@heading ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +@smallexample +@group + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +@end group +@end smallexample + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the ``with@dots{}Texts.'' line with this: + +@smallexample +@group + with the Invariant Sections being @var{list their titles}, with + the Front-Cover Texts being @var{list}, and with the Back-Cover Texts + being @var{list}. +@end group +@end smallexample + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: + diff -Nru gnutls26-2.8.6/doc/gnutls-api.texi gnutls26-2.4.1/doc/gnutls-api.texi --- gnutls26-2.8.6/doc/gnutls-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -75,8 +75,8 @@ @subheading gnutls_anon_allocate_client_credentials @anchor{gnutls_anon_allocate_client_credentials} -@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_anon_client_credentials_t} structure. +@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) +@var{sc}: is a pointer to an @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -86,8 +86,8 @@ @subheading gnutls_anon_allocate_server_credentials @anchor{gnutls_anon_allocate_server_credentials} -@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_anon_server_credentials_t} structure. +@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) +@var{sc}: is a pointer to an @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -98,7 +98,7 @@ @subheading gnutls_anon_free_client_credentials @anchor{gnutls_anon_free_client_credentials} @deftypefun {void} {gnutls_anon_free_client_credentials} (gnutls_anon_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_anon_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -107,7 +107,7 @@ @subheading gnutls_anon_free_server_credentials @anchor{gnutls_anon_free_server_credentials} @deftypefun {void} {gnutls_anon_free_server_credentials} (gnutls_anon_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_anon_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -121,7 +121,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for anonymous authentication. +the diffie hellman or RSA parameters for anonymous authentication. The callback should return zero on success. @end deftypefun @@ -130,11 +130,11 @@ @deftypefun {void} {gnutls_anon_set_server_dh_params} (gnutls_anon_server_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_anon_server_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for an +This function will set the diffie hellman parameters for an anonymous server to use. These parameters will be used in -Anonymous Diffie-Hellman cipher suites. +Anonymous Diffie Hellman cipher suites. @end deftypefun @subheading gnutls_anon_set_server_params_function @@ -145,7 +145,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman parameters for anonymous authentication. The +the diffie hellman parameters for anonymous authentication. The callback should return zero on success. @end deftypefun @@ -159,7 +159,7 @@ to access authentication data. @strong{Returns:} The type of credentials for the client authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_auth_get_type @@ -171,12 +171,12 @@ The returned information is to be used to distinguish the function used to access authentication data. -Eg. for CERTIFICATE ciphersuites (key exchange algorithms: -@code{GNUTLS_KX_RSA}, @code{GNUTLS_KX_DHE_RSA}), the same function are to be -used to access the authentication data. +Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, +KX_DHE_RSA), the same function are to be used to access the +authentication data. @strong{Returns:} The type of credentials for the current authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_auth_server_get_type @@ -189,7 +189,7 @@ to access authentication data. @strong{Returns:} The type of credentials for the server authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_bye @@ -237,14 +237,12 @@ This is the creation time for openpgp keys. @strong{Returns:} (time_t)-1 on error. - -@strong{Deprecated:} @code{gnutls_certificate_verify_peers2()} now verifies activation times. @end deftypefun @subheading gnutls_certificate_allocate_credentials @anchor{gnutls_certificate_allocate_credentials} @deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) -@var{res}: is a pointer to a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is a pointer to an @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -305,14 +303,12 @@ This function will return the peer's certificate expiration time. @strong{Returns:} (time_t)-1 on error. - -@strong{Deprecated:} @code{gnutls_certificate_verify_peers2()} now verifies expiration times. @end deftypefun @subheading gnutls_certificate_free_ca_names @anchor{gnutls_certificate_free_ca_names} @deftypefun {void} {gnutls_certificate_free_ca_names} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CA name in the given credentials. Clients may call this to save some memory @@ -325,7 +321,7 @@ @subheading gnutls_certificate_free_cas @anchor{gnutls_certificate_free_cas} @deftypefun {void} {gnutls_certificate_free_cas} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CAs associated with the given credentials. Servers that do not use @@ -336,7 +332,7 @@ @subheading gnutls_certificate_free_credentials @anchor{gnutls_certificate_free_credentials} @deftypefun {void} {gnutls_certificate_free_credentials} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -349,7 +345,7 @@ @subheading gnutls_certificate_free_crls @anchor{gnutls_certificate_free_crls} @deftypefun {void} {gnutls_certificate_free_crls} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CRLs associated with the given credentials. @@ -358,7 +354,7 @@ @subheading gnutls_certificate_free_keys @anchor{gnutls_certificate_free_keys} @deftypefun {void} {gnutls_certificate_free_keys} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the keys and the certificates associated with the given credentials. This function must not be called when a @@ -368,9 +364,7 @@ @subheading gnutls_certificate_get_openpgp_keyring @anchor{gnutls_certificate_get_openpgp_keyring} @deftypefun {void} {gnutls_certificate_get_openpgp_keyring} (gnutls_certificate_credentials_t @var{sc}, gnutls_openpgp_keyring_t * @var{keyring}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. - -@var{keyring}: the exported keyring. Should be treated as constant +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will export the OpenPGP keyring associated with the given credentials. @@ -415,8 +409,8 @@ @subheading gnutls_certificate_get_x509_cas @anchor{gnutls_certificate_get_x509_cas} -@deftypefun {void} {gnutls_certificate_get_x509_cas} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t ** @var{x509_ca_list}, unsigned int * @var{ncas}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {void} {gnutls_certificate_get_x509_cas} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t ** @var{x509_ca_list}, unsigned int* @var{ncas}) +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. @var{x509_ca_list}: will point to the CA list. Should be treated as constant @@ -430,8 +424,8 @@ @subheading gnutls_certificate_get_x509_crls @anchor{gnutls_certificate_get_x509_crls} -@deftypefun {void} {gnutls_certificate_get_x509_crls} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crl_t ** @var{x509_crl_list}, unsigned int * @var{ncrls}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {void} {gnutls_certificate_get_x509_crls} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crl_t ** @var{x509_crl_list}, unsigned int* @var{ncrls}) +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. @var{x509_crl_list}: the exported CRL list. Should be treated as constant @@ -463,7 +457,7 @@ @subheading gnutls_certificate_server_set_request @anchor{gnutls_certificate_server_set_request} @deftypefun {void} {gnutls_certificate_server_set_request} (gnutls_session_t @var{session}, gnutls_certificate_request_t @var{req}) -@var{session}: is a @code{gnutls_session_t} structure. +@var{session}: is an @code{gnutls_session_t} structure. @var{req}: is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE @@ -502,11 +496,11 @@ @deftypefun {void} {gnutls_certificate_set_dh_params} (gnutls_certificate_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_certificate_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for a +This function will set the diffie hellman parameters for a certificate server to use. These parameters will be used in -Ephemeral Diffie-Hellman cipher suites. Note that only a pointer +Ephemeral Diffie Hellman cipher suites. Note that only a pointer to the parameters are stored in the certificate handle, so if you deallocate the parameters before the certificate is deallocated, you must change the parameters stored in the certificate first. @@ -520,7 +514,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for certificate +the diffie hellman or RSA parameters for certificate authentication. The callback should return zero on success. @end deftypefun @@ -550,7 +544,7 @@ @subheading gnutls_certificate_set_verify_limits @anchor{gnutls_certificate_set_verify_limits} -@deftypefun {void} {gnutls_certificate_set_verify_limits} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{max_bits}, unsigned int @var{max_depth}) +@deftypefun {void} {gnutls_certificate_set_verify_limits} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{max_bits}, unsigned int @var{max_depth}) @var{res}: is a gnutls_certificate_credentials structure @var{max_bits}: is the number of bits of an acceptable certificate (default 8200) @@ -565,8 +559,8 @@ @subheading gnutls_certificate_set_x509_crl_file @anchor{gnutls_certificate_set_x509_crl_file} -@deftypefun {int} {gnutls_certificate_set_x509_crl_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{crlfile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_crl_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{crlfile}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{crlfile}: is a file containing the list of verified CRLs (DER or PEM list) @@ -583,8 +577,8 @@ @subheading gnutls_certificate_set_x509_crl_mem @anchor{gnutls_certificate_set_x509_crl_mem} -@deftypefun {int} {gnutls_certificate_set_x509_crl_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{CRL}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_crl_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{CRL}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{CRL}: is a list of trusted CRLs. They should have been verified before. @@ -602,7 +596,7 @@ @subheading gnutls_certificate_set_x509_crl @anchor{gnutls_certificate_set_x509_crl} @deftypefun {int} {gnutls_certificate_set_x509_crl} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crl_t * @var{crl_list}, int @var{crl_list_size}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{crl_list}: is a list of trusted CRLs. They should have been verified before. @@ -621,13 +615,13 @@ @subheading gnutls_certificate_set_x509_key_file @anchor{gnutls_certificate_set_x509_key_file} -@deftypefun {int} {gnutls_certificate_set_x509_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{CERTFILE}, const char * @var{KEYFILE}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. -@var{certfile}: is a file that containing the certificate list (path) for +@var{CERTFILE}: is a file that containing the certificate list (path) for the specified private key, in PKCS7 format, or a list of certificates -@var{keyfile}: is a file that contains the private key +@var{KEYFILE}: is a file that contains the private key @var{type}: is PEM or DER @@ -644,8 +638,8 @@ @subheading gnutls_certificate_set_x509_key_mem @anchor{gnutls_certificate_set_x509_key_mem} -@deftypefun {int} {gnutls_certificate_set_x509_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cert}: contains a certificate list (path) for the specified private key @@ -653,18 +647,18 @@ @var{type}: is PEM or DER -This function sets a certificate/private key pair in the +This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). -@strong{Currently are supported:} RSA PKCS-1 encoded private keys, +@strong{Currently are supported:} RSA PKCS-1 encoded private keys, DSA private keys. DSA private keys are encoded the OpenSSL way, which is an ASN.1 DER sequence of 6 INTEGERs - version, p, q, g, pub, priv. -Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates is supported. This means that certificates intended for signing cannot be used for ciphersuites that require encryption. @@ -680,7 +674,7 @@ @subheading gnutls_certificate_set_x509_key @anchor{gnutls_certificate_set_x509_key} @deftypefun {int} {gnutls_certificate_set_x509_key} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crt_t * @var{cert_list}, int @var{cert_list_size}, gnutls_x509_privkey_t @var{key}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cert_list}: contains a certificate list (path) for the specified private key @@ -701,7 +695,7 @@ @subheading gnutls_certificate_set_x509_simple_pkcs12_file @anchor{gnutls_certificate_set_x509_simple_pkcs12_file} @deftypefun {int} {gnutls_certificate_set_x509_simple_pkcs12_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{pkcs12file}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{password}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{pkcs12file}: filename of file containing PKCS@code{12} blob. @@ -735,49 +729,10 @@ @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun -@subheading gnutls_certificate_set_x509_simple_pkcs12_mem -@anchor{gnutls_certificate_set_x509_simple_pkcs12_mem} -@deftypefun {int} {gnutls_certificate_set_x509_simple_pkcs12_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum * @var{p12blob}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{password}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. - -@var{p12blob}: the PKCS@code{12} blob. - -@var{type}: is PEM or DER of the @code{pkcs12file}. - -@var{password}: optional password used to decrypt PKCS@code{12} file, bags and keys. - -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). - -@strong{MAC:} ed PKCS@code{12} files are supported. Encrypted PKCS@code{12} bags are -supported. Encrypted PKCS@code{8} private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - -The private keys may be RSA PKCS@code{1} or DSA private keys encoded in -the OpenSSL way. - -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. - -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_certificate_set_x509_trust_file @anchor{gnutls_certificate_set_x509_trust_file} -@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cafile}: is a file containing the list of trusted CAs (DER or PEM list) @@ -799,8 +754,8 @@ @subheading gnutls_certificate_set_x509_trust_mem @anchor{gnutls_certificate_set_x509_trust_mem} -@deftypefun {int} {gnutls_certificate_set_x509_trust_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{ca}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_trust_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{ca}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{ca}: is a list of trusted CAs or a DER certificate @@ -823,7 +778,7 @@ @subheading gnutls_certificate_set_x509_trust @anchor{gnutls_certificate_set_x509_trust} @deftypefun {int} {gnutls_certificate_set_x509_trust} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crt_t * @var{ca_list}, int @var{ca_list_size}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{ca_list}: is a list of trusted CAs @@ -846,13 +801,13 @@ @subheading gnutls_certificate_type_get_id @anchor{gnutls_certificate_type_get_id} -@deftypefun {gnutls_certificate_type_t} {gnutls_certificate_type_get_id} (const char * @var{name}) +@deftypefun {gnutls_certificate_type_t} {gnutls_certificate_type_get_id} (const char* @var{name}) @var{name}: is a certificate type name The names are compared in a case insensitive way. -@strong{Returns:} a @code{gnutls_certificate_type_t} for the specified in a -string certificate type, or @code{GNUTLS_CRT_UNKNOWN} on error. +@strong{Returns:} an id of the specified in a string certificate type, or +@code{GNUTLS_CRT_UNKNOWN} on error. @end deftypefun @subheading gnutls_certificate_type_get_name @@ -925,8 +880,8 @@ Note that you must also check the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses @code{gnutls_x509_crt_list_verify()} with the CAs in -the credentials as trusted CAs. +This is the same as @code{gnutls_x509_crt_list_verify()} and uses the +loaded CAs in the credentials as trusted CAs. Note that some commonly used X.509 Certificate Authorities are still using Version 1 certificates. If you want to accept them, @@ -946,10 +901,11 @@ the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses @code{gnutls_x509_crt_list_verify()}. +The return value should be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd, or a +negative value on error. -@strong{Returns:} one or more of the @code{gnutls_certificate_status_t} -enumerated elements bitwise or'd, or a negative value on error. +This is the same as @code{gnutls_x509_crt_list_verify()}. @strong{Deprecated:} Use @code{gnutls_certificate_verify_peers2()} instead. @end deftypefun @@ -957,24 +913,24 @@ @subheading gnutls_check_version @anchor{gnutls_check_version} @deftypefun {const char *} {gnutls_check_version} (const char * @var{req_version}) -@var{req_version}: version string to compare with, or @code{NULL}. - -Check GnuTLS Library version. - -See @code{GNUTLS_VERSION} for a suitable @code{req_version} string. +@var{req_version}: the version to check -@strong{Return value:} Check that the version of the library is at -minimum the one given as a string in @code{req_version} and return the -actual version string of the library; return @code{NULL} if the -condition is not met. If @code{NULL} is passed to this function no -check is done and only the version string is returned. +Check that the version of the library is at minimum the requested one +and return the version string; return NULL if the condition is not +satisfied. If a NULL is passed to this function, no check is done, +but the version string is simply returned. + +See @code{LIBGNUTLS_VERSION} for a suitable @code{req_version} string. + +@strong{Return value:} Version string of run-time library, or NULL if the +run-time library does not meet the required version number. If +@code{NULL} is passed to this function no check is done and only the +version string is returned. @end deftypefun @subheading gnutls_cipher_get_id @anchor{gnutls_cipher_get_id} -@deftypefun {gnutls_cipher_algorithm_t} {gnutls_cipher_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - +@deftypefun {gnutls_cipher_algorithm_t} {gnutls_cipher_get_id} (const char* @var{name}) The names are compared in a case insensitive way. @strong{Returns:} return a @code{gnutls_cipher_algorithm_t} value corresponding to @@ -1010,7 +966,7 @@ Get currently used cipher. -@strong{Returns:} the currently used cipher, a @code{gnutls_cipher_algorithm_t} +@strong{Returns:} the currently used cipher, an @code{gnutls_cipher_algorithm_t} type. @end deftypefun @@ -1087,9 +1043,7 @@ @subheading gnutls_compression_get_id @anchor{gnutls_compression_get_id} -@deftypefun {gnutls_compression_method_t} {gnutls_compression_get_id} (const char * @var{name}) -@var{name}: is a compression method name - +@deftypefun {gnutls_compression_method_t} {gnutls_compression_get_id} (const char* @var{name}) The names are compared in a case insensitive way. @strong{Returns:} an id of the specified in a string compression method, or @@ -1168,265 +1122,101 @@ @var{cred}: is a pointer to a structure. -Sets the needed credentials for the specified type. Eg username, -password - or public and private keys etc. The @code{cred} parameter is -a structure that depends on the specified type and on the current -session (client or server). - -In order to minimize memory usage, and share credentials between -several threads gnutls keeps a pointer to cred, and not the whole -cred structure. Thus you will have to keep the structure allocated -until you call @code{gnutls_deinit()}. - -For @code{GNUTLS_CRD_ANON}, @code{cred} should be -@code{gnutls_anon_client_credentials_t} in case of a client. In case of -a server it should be @code{gnutls_anon_server_credentials_t}. - -For @code{GNUTLS_CRD_SRP}, @code{cred} should be @code{gnutls_srp_client_credentials_t} -in case of a client, and @code{gnutls_srp_server_credentials_t}, in case -of a server. - -For @code{GNUTLS_CRD_CERTIFICATE}, @code{cred} should be -@code{gnutls_certificate_credentials_t}. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. -@end deftypefun - -@subheading gnutls_crypto_bigint_register2 -@anchor{gnutls_crypto_bigint_register2} -@deftypefun {int} {gnutls_crypto_bigint_register2} (int @var{priority}, int @var{version}, gnutls_crypto_bigint_st * @var{s}) -@var{priority}: is the priority of the interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register an interface for gnutls to operate -on big integers. Any interface registered will override -the included interface. The interface with the lowest -priority will be used by gnutls. - -Note that the bigint interface must interoperate with the public -key interface. Thus if this interface is updated the -@code{gnutls_crypto_pk_register()} should also be used. +Sets the needed credentials for the specified type. +Eg username, password - or public and private keys etc. +The (void* cred) parameter is a structure that depends on the +specified type and on the current session (client or server). +[ In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole cred +structure. Thus you will have to keep the structure allocated until +you call @code{gnutls_deinit()}. ] -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience @code{gnutls_crypto_bigint_register()} -macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_cipher_register2 -@anchor{gnutls_crypto_cipher_register2} -@deftypefun {int} {gnutls_crypto_cipher_register2} (int @var{priority}, int @var{version}, gnutls_crypto_cipher_st * @var{s}) -@var{priority}: is the priority of the cipher interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a cipher interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_cipher_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun +For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. +In case of a server it should be gnutls_anon_server_credentials_t. -@subheading gnutls_crypto_digest_register2 -@anchor{gnutls_crypto_digest_register2} -@deftypefun {int} {gnutls_crypto_digest_register2} (int @var{priority}, int @var{version}, gnutls_crypto_digest_st * @var{s}) -@var{priority}: is the priority of the digest interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a digest interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_digest_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_mac_register2 -@anchor{gnutls_crypto_mac_register2} -@deftypefun {int} {gnutls_crypto_mac_register2} (int @var{priority}, int @var{version}, gnutls_crypto_mac_st * @var{s}) -@var{priority}: is the priority of the mac interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a mac interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_mac_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. +For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t +in case of a client, and gnutls_srp_server_credentials_t, in case +of a server. -@strong{Since:} 2.6.0 +For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t. @end deftypefun -@subheading gnutls_crypto_pk_register2 -@anchor{gnutls_crypto_pk_register2} -@deftypefun {int} {gnutls_crypto_pk_register2} (int @var{priority}, int @var{version}, gnutls_crypto_pk_st * @var{s}) -@var{priority}: is the priority of the interface +@subheading gnutls_crypto_cipher_register +@anchor{gnutls_crypto_cipher_register} +@deftypefun {int} {gnutls_crypto_cipher_register} (gnutls_cipher_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_cipher_st* @var{s}) +@var{algorithm}: is the gnutls algorithm identifier -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} +@var{priority}: is the priority of the algorithm -@var{s}: is a structure holding new interface's data +@var{s}: is a structure holding new cipher's data -This function will register an interface for gnutls to operate -on public key operations. Any interface registered will override -the included interface. The interface with the lowest +This function will register a cipher algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls. -Note that the bigint interface must interoperate with the bigint -interface. Thus if this interface is updated the -@code{gnutls_crypto_bigint_register()} should also be used. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience @code{gnutls_crypto_pk_register()} -macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_rnd_register2 -@anchor{gnutls_crypto_rnd_register2} -@deftypefun {int} {gnutls_crypto_rnd_register2} (int @var{priority}, int @var{version}, gnutls_crypto_rnd_st * @var{s}) -@var{priority}: is the priority of the generator - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new generator's data - -This function will register a random generator to be used by -gnutls. Any generator registered will override the included -generator and by convention kernel implemented generators have -priority of 90. The generator with the lowest priority will be -used by gnutls. - This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_rnd_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_single_cipher_register2 -@anchor{gnutls_crypto_single_cipher_register2} -@deftypefun {int} {gnutls_crypto_single_cipher_register2} (gnutls_cipher_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_cipher_st * @var{s}) +@subheading gnutls_crypto_digest_register +@anchor{gnutls_crypto_digest_register} +@deftypefun {int} {gnutls_crypto_digest_register} (gnutls_digest_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_digest_st* @var{s}) @var{algorithm}: is the gnutls algorithm identifier @var{priority}: is the priority of the algorithm -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new cipher's data +@var{s}: is a structure holding new algorithms's data -This function will register a cipher algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. +This function will register a digest (hash) algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_single_cipher_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_single_digest_register2 -@anchor{gnutls_crypto_single_digest_register2} -@deftypefun {int} {gnutls_crypto_single_digest_register2} (gnutls_digest_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_digest_st * @var{s}) +@subheading gnutls_crypto_mac_register +@anchor{gnutls_crypto_mac_register} +@deftypefun {int} {gnutls_crypto_mac_register} (gnutls_mac_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_mac_st* @var{s}) @var{algorithm}: is the gnutls algorithm identifier @var{priority}: is the priority of the algorithm -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - @var{s}: is a structure holding new algorithms's data -This function will register a digest (hash) algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. +This function will register a MAC algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_single_digest_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_single_mac_register2 -@anchor{gnutls_crypto_single_mac_register2} -@deftypefun {int} {gnutls_crypto_single_mac_register2} (gnutls_mac_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_mac_st * @var{s}) -@var{algorithm}: is the gnutls algorithm identifier - -@var{priority}: is the priority of the algorithm - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} +@subheading gnutls_crypto_rnd_register +@anchor{gnutls_crypto_rnd_register} +@deftypefun {int} {gnutls_crypto_rnd_register} (int @var{priority}, gnutls_crypto_rnd_st* @var{s}) +@var{priority}: is the priority of the generator -@var{s}: is a structure holding new algorithms's data +@var{s}: is a structure holding new generator's data -This function will register a MAC algorithm to be used by gnutls. -Any algorithm registered will override the included algorithms and -by convention kernel implemented algorithms have priority of 90. -The algorithm with the lowest priority will be used by gnutls. +This function will register a random generator to be used +by gnutls. Any generator registered will override +the included generator and by convention kernel implemented +generators have priority of 90. The generator with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_single_mac_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun @subheading gnutls_db_check_entry @@ -1558,9 +1348,9 @@ @var{raw_prime}: will hold the prime. This function will return the group parameters used in the last -Diffie-Hellman authentication with the peer. These are the prime +Diffie Hellman authentication with the peer. These are the prime and the generator used. This function should be used for both -anonymous and ephemeral Diffie-Hellman. The output parameters must +anonymous and ephemeral diffie Hellman. The output parameters must be freed with @code{gnutls_free()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise @@ -1573,10 +1363,11 @@ @var{session}: is a gnutls session Get the Diffie-Hellman public key bit size. Can be used for both -anonymous and ephemeral Diffie-Hellman. +anonymous and ephemeral diffie Hellman. -@strong{Returns:} the public key bit size used in the last Diffie-Hellman -authentication with the peer, or a negative value in case of error. +@strong{Returns:} the public key bit size used in the last Diffie Hellman +authentication with the peer, or a negative value in case of +error. @end deftypefun @subheading gnutls_dh_get_prime_bits @@ -1585,14 +1376,11 @@ @var{session}: is a gnutls session This function will return the bits of the prime used in the last -Diffie-Hellman authentication with the peer. Should be used for -both anonymous and ephemeral Diffie-Hellman. Note that some -ciphers, like RSA and DSA without DHE, does not use a -Diffie-Hellman exchange, and then this function will return 0. - -@strong{Returns:} The Diffie-Hellman bit strength is returned, or 0 if no -Diffie-Hellman exchange was done, or a negative error code on -failure. +Diffie Hellman authentication with the peer. Should be used for +both anonymous and ephemeral diffie Hellman. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. @end deftypefun @subheading gnutls_dh_get_pubkey @@ -1603,9 +1391,9 @@ @var{raw_key}: will hold the public key. This function will return the peer's public key used in the last -Diffie-Hellman authentication. This function should be used for -both anonymous and ephemeral Diffie-Hellman. The output parameters -must be freed with @code{gnutls_free()}. +Diffie Hellman authentication. This function should be used for +both anonymous and ephemeral diffie Hellman. The output +parameters must be freed with @code{gnutls_free()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @@ -1616,9 +1404,9 @@ @deftypefun {int} {gnutls_dh_get_secret_bits} (gnutls_session_t @var{session}) @var{session}: is a gnutls session -This function will return the bits used in the last Diffie-Hellman +This function will return the bits used in the last Diffie Hellman authentication with the peer. Should be used for both anonymous -and ephemeral Diffie-Hellman. +and ephemeral diffie Hellman. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @@ -1633,9 +1421,6 @@ This function will copy the DH parameters structure from source to destination. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_params_deinit @@ -1665,8 +1450,8 @@ If the structure is PEM encoded, it will have a header of "BEGIN DH PARAMETERS". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_dh_params_export_raw @@ -1680,13 +1465,9 @@ @var{bits}: if non null will hold is the prime's number of bits -This function will export the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters will be -allocated using @code{gnutls_malloc()} and will be stored in the -appropriate datum. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will export the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. @end deftypefun @subheading gnutls_dh_params_generate2 @@ -1696,18 +1477,15 @@ @var{bits}: is the prime's number of bits -This function will generate a new pair of prime and generator for use in +This function will generate a new pair of prime and generator for use in the Diffie-Hellman key exchange. The new parameters will be allocated using @code{gnutls_malloc()} and will be stored in the appropriate datum. -This function is normally slow. +This function is normally slow. Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of no use to call this in client side. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_params_import_pkcs3 @@ -1725,8 +1503,8 @@ If the structure is PEM encoded, it should have a header of "BEGIN DH PARAMETERS". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_dh_params_import_raw @@ -1738,12 +1516,9 @@ @var{generator}: holds the new generator -This function will replace the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters should be -stored in the appropriate gnutls_datum. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will replace the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters should be stored in the +appropriate gnutls_datum. @end deftypefun @subheading gnutls_dh_params_init @@ -1752,9 +1527,6 @@ @var{dh_params}: Is a structure that will hold the prime numbers This function will initialize the DH parameters structure. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_set_prime_bits @@ -1764,7 +1536,7 @@ @var{bits}: is the number of bits -This function sets the number of bits, for use in an Diffie-Hellman +This function sets the number of bits, for use in an Diffie Hellman key exchange. This is used both in DH ephemeral and DH anonymous cipher suites. This will set the minimum size of the prime that will be used for the handshake. @@ -1772,26 +1544,23 @@ In the client side it sets the minimum accepted number of bits. If a server sends a prime with less bits than that @code{GNUTLS_E_DH_PRIME_UNACCEPTABLE} will be returned by the handshake. - -This function has no effect in server side. @end deftypefun @subheading gnutls_error_is_fatal @anchor{gnutls_error_is_fatal} @deftypefun {int} {gnutls_error_is_fatal} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value - -If a GnuTLS function returns a negative value you may feed that -value to this function to see if the error condition is fatal. +@var{error}: is an error returned by a gnutls function. Error should be a negative value. -Note that you may want to check the error code manually, since some -non-fatal errors to the protocol may be fatal for you program. +If a function returns a negative value you may feed that value +to this function to see if it is fatal. Returns 1 for a fatal +error 0 otherwise. However you may want to check the +error code manually, since some non-fatal errors to the protocol +may be fatal for you (your program). -This function is only useful if you are dealing with errors from -the record layer or the handshake layer. +This is only useful if you are dealing with errors from the +record layer or the handshake layer. -@strong{Returns:} 1 if the error code is fatal, for positive @code{error} values, -0 is returned. For unknown @code{error} values, -1 is returned. +For positive @code{error} values, 0 is returned. @end deftypefun @subheading gnutls_error_to_alert @@ -1813,26 +1582,6 @@ @strong{Returns:} the alert code to use for a particular error code. @end deftypefun -@subheading gnutls_ext_register -@anchor{gnutls_ext_register} -@deftypefun {int} {gnutls_ext_register} (int @var{type}, const char * @var{name}, gnutls_ext_parse_type_t @var{parse_type}, gnutls_ext_recv_func @var{recv_func}, gnutls_ext_send_func @var{send_func}) -@var{type}: the 16-bit integer referring to the extension type - -@var{name}: human printable name of the extension used for debugging - -@var{parse_type}: either @code{GNUTLS_EXT_TLS} or @code{GNUTLS_EXT_APPLICATION}. - -@var{recv_func}: a function to receive extension data - -@var{send_func}: a function to send extension data - -This function is used to register a new TLS extension handler. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_fingerprint @anchor{gnutls_fingerprint} @deftypefun {int} {gnutls_fingerprint} (gnutls_digest_algorithm_t @var{algo}, const gnutls_datum_t * @var{data}, void * @var{result}, size_t * @var{result_size}) @@ -1916,31 +1665,31 @@ @deftypefun {void} {gnutls_global_set_log_function} (gnutls_log_func @var{log_func}) @var{log_func}: it's a log function -This is the function where you set the logging function gnutls is -going to use. This function only accepts a character array. -Normally you may not use this function since it is only used for -debugging purposes. +This is the function where you set the logging function gnutls +is going to use. This function only accepts a character array. +Normally you may not use this function since it is only used +for debugging purposes. -gnutls_log_func is of the form, +gnutls_log_func is of the form, void (*gnutls_log_func)( int level, const char*); @end deftypefun @subheading gnutls_global_set_log_level @anchor{gnutls_global_set_log_level} @deftypefun {void} {gnutls_global_set_log_level} (int @var{level}) -@var{level}: it's an integer from 0 to 9. +@var{level}: it's an integer from 0 to 9. -This is the function that allows you to set the log level. The -level is an integer between 0 and 9. Higher values mean more -verbosity. The default value is 0. Larger values should only be -used with care, since they may reveal sensitive information. +This is the function that allows you to set the log level. +The level is an integer between 0 and 9. Higher values mean +more verbosity. The default value is 0. Larger values should +only be used with care, since they may reveal sensitive information. Use a log level over 10 to enable all debugging options. @end deftypefun @subheading gnutls_global_set_mem_functions @anchor{gnutls_global_set_mem_functions} -@deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) +@deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) @var{alloc_func}: it's the default memory allocation function. Like @code{malloc()}. @var{secure_alloc_func}: This is the memory allocation function that will be used for sensitive data. @@ -1951,15 +1700,13 @@ @var{free_func}: The function that frees allocated data. Must accept a NULL pointer. -This is the function were you set the memory allocation functions -gnutls is going to use. By default the libc's allocation functions -(@code{malloc()}, @code{free()}), are used by gnutls, to allocate both sensitive -and not sensitive data. This function is provided to set the -memory allocation functions to something other than the defaults -(ie the gcrypt allocation functions). +This is the function were you set the memory allocation functions gnutls +is going to use. By default the libc's allocation functions (@code{malloc()}, @code{free()}), +are used by gnutls, to allocate both sensitive and not sensitive data. +This function is provided to set the memory allocation functions to +something other than the defaults (ie the gcrypt allocation functions). This function must be called before @code{gnutls_global_init()} is called. -This function is not thread safe. @end deftypefun @subheading gnutls_handshake_get_last_in @@ -2014,8 +1761,6 @@ @subheading gnutls_handshake_set_post_client_hello_function @anchor{gnutls_handshake_set_post_client_hello_function} @deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) -@var{session}: is a @code{gnutls_session_t} structure. - @var{func}: is the function to be called This function will set a callback to be called after the client @@ -2154,9 +1899,7 @@ @subheading gnutls_kx_get_id @anchor{gnutls_kx_get_id} -@deftypefun {gnutls_kx_algorithm_t} {gnutls_kx_get_id} (const char * @var{name}) -@var{name}: is a KX name - +@deftypefun {gnutls_kx_algorithm_t} {gnutls_kx_get_id} (const char* @var{name}) Convert a string to a @code{gnutls_kx_algorithm_t} value. The names are compared in a case insensitive way. @@ -2215,14 +1958,12 @@ @subheading gnutls_mac_get_id @anchor{gnutls_mac_get_id} -@deftypefun {gnutls_mac_algorithm_t} {gnutls_mac_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - +@deftypefun {gnutls_mac_algorithm_t} {gnutls_mac_get_id} (const char* @var{name}) Convert a string to a @code{gnutls_mac_algorithm_t} value. The names are compared in a case insensitive way. -@strong{Returns:} a @code{gnutls_mac_algorithm_t} id of the specified MAC -algorithm string, or @code{GNUTLS_MAC_UNKNOWN} on failures. +@strong{Returns:} an @code{gnutls_mac_algorithm_tid} of the specified in a string +MAC algorithm, or @code{GNUTLS_MAC_UNKNOWN} on failures. @end deftypefun @subheading gnutls_mac_get_key_size @@ -2440,10 +2181,10 @@ @subheading gnutls_perror @anchor{gnutls_perror} @deftypefun {void} {gnutls_perror} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value +@var{error}: is an error returned by a gnutls function. Error is always a negative value. -This function is like @code{perror()}. The only difference is that it -accepts an error number returned by a gnutls function. +This function is like @code{perror()}. The only difference is that it accepts an +error number returned by a gnutls function. @end deftypefun @subheading gnutls_pk_algorithm_get_name @@ -2457,46 +2198,6 @@ key algorithm, or @code{NULL}. @end deftypefun -@subheading gnutls_pk_get_id -@anchor{gnutls_pk_get_id} -@deftypefun {gnutls_pk_algorithm_t} {gnutls_pk_get_id} (const char * @var{name}) -@var{name}: is a string containing a public key algorithm name. - -Convert a string to a @code{gnutls_pk_algorithm_t} value. The names are -compared in a case insensitive way. For example, -gnutls_pk_get_id("RSA") will return @code{GNUTLS_PK_RSA}. - -@strong{Returns:} a @code{gnutls_pk_algorithm_t} id of the specified public key -algorithm string, or @code{GNUTLS_PK_UNKNOWN} on failures. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_pk_get_name -@anchor{gnutls_pk_get_name} -@deftypefun {const char *} {gnutls_pk_get_name} (gnutls_pk_algorithm_t @var{algorithm}) -@var{algorithm}: is a public key algorithm - -Convert a @code{gnutls_pk_algorithm_t} value to a string. - -@strong{Returns:} a pointer to a string that contains the name of the -specified public key algorithm, or @code{NULL}. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_pk_list -@anchor{gnutls_pk_list} -@deftypefun {const gnutls_pk_algorithm_t *} {gnutls_pk_list} ( @var{void}) - -Get a list of supported public key algorithms. - -@strong{Returns:} a zero-terminated list of @code{gnutls_pk_algorithm_t} integers -indicating the available ciphers. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_prf_raw @anchor{gnutls_prf_raw} @deftypefun {int} {gnutls_prf_raw} (gnutls_session_t @var{session}, size_t @var{label_size}, const char * @var{label}, size_t @var{seed_size}, const char * @var{seed}, size_t @var{outsize}, char * @var{out}) @@ -2596,71 +2297,56 @@ The @code{priorities} option allows you to specify a semi-colon separated list of the cipher priorities to enable. -Unless the first keyword is "NONE" the defaults (in preference -order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for -compression NULL; for certificate types X.509, OpenPGP. - -For key exchange algorithms when in NORMAL or SECURE levels the -perfect forward secrecy algorithms take precendence of the other -protocols. In all cases all the supported key exchange algorithms -are enabled (except for the RSA-EXPORT which is only enabled in -EXPORT level). +Unless the first keyword is "NONE" the defaults are: -Note that although one can select very long key sizes (such as 256 bits) -for symmetric algorithms, to actually increase security the public key -algorithms have to use longer key sizes as well. +@strong{Protocols:} TLS1.1, TLS1.0, and SSL3.0. -For all the current available algorithms and protocols use -"gnutls-cli -l" to get a listing. +@strong{Compression:} NULL. -@strong{Common keywords:} Some keywords are defined to provide quick access -to common preferences. +@strong{Certificate types:} X.509, OpenPGP. -"PERFORMANCE" means all the "secure" ciphersuites are enabled, -limited to 128 bit ciphers and sorted by terms of speed -performance. +@strong{You can also use predefined sets of ciphersuites:} "PERFORMANCE" +all the "secure" ciphersuites are enabled, limited to 128 bit +ciphers and sorted by terms of speed performance. -"NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are -included as a fallback only. The ciphers are sorted by security -margin. +"NORMAL" option enables all "secure" ciphersuites. The 256-bit ciphers +are included as a fallback only. The ciphers are sorted by security margin. -"SECURE128" means all "secure" ciphersuites with ciphers up to 128 -bits, sorted by security margin. +"SECURE128" flag enables all "secure" ciphersuites with ciphers up to +128 bits, sorted by security margin. -"SECURE256" means all "secure" ciphersuites including the 256 bit +"SECURE256" flag enables all "secure" ciphersuites including the 256 bit ciphers, sorted by security margin. -"EXPORT" means all ciphersuites are enabled, including the +"EXPORT" all the ciphersuites are enabled, including the low-security 40 bit ciphers. -"NONE" means nothing is enabled. This disables even protocols and +"NONE" nothing is enabled. This disables even protocols and compression methods. -@strong{Special keywords:} "!" or "-" appended with an algorithm will remove this algorithm. - -"+" appended with an algorithm will add this algorithm. - -"%COMPAT" will enable compatibility features for a server. +@strong{Special keywords:} '!' or '-' appended with an algorithm will remove this algorithm. +'+' appended with an algorithm will add this algorithm. +'@code{COMPAT}' will enable compatibility features for a server. -"%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello. - -"%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in -certificate chains. - -"%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. - -@strong{Namespace concern:} To avoid collisions in order to specify a compression algorithm in +To avoid collisions in order to specify a compression algorithm in this string you have to prefix it with "COMP-", protocol versions with "VERS-" and certificate types with "CTYPE-". All other algorithms don't need a prefix. -@strong{Examples:} "NORMAL:!AES-128-CBC" means normal ciphers except for AES-128. +For key exchange algorithms when in NORMAL or SECURE levels the +perfect forward secrecy algorithms take precendence of the other +protocols. In all cases all the supported key exchange algorithms +are enabled (except for the RSA-EXPORT which is only enabled in +EXPORT level). -"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are -enabled, TLS 1.0 is disabled, and libz compression enabled. +Note that although one can select very long key sizes (such as 256 bits) +for symmetric algorithms, to actually increase security the public key +algorithms have to use longer key sizes as well. +@strong{Examples:} "NORMAL:!AES-128-CBC", +"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", -"%COMPAT". +"NORMAL:@code{COMPAT}". @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. @@ -2676,7 +2362,7 @@ @var{err_pos}: In case of an error this will have the position in the string the error occured Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. This function avoids keeping a +macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the @code{gnutls_priority_init()}. @@ -2692,16 +2378,14 @@ @var{priority}: is a @code{gnutls_priority_t} structure. Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. +macs and compression methods. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @subheading gnutls_protocol_get_id @anchor{gnutls_protocol_get_id} -@deftypefun {gnutls_protocol_t} {gnutls_protocol_get_id} (const char * @var{name}) -@var{name}: is a protocol name - +@deftypefun {gnutls_protocol_t} {gnutls_protocol_get_id} (const char* @var{name}) The names are compared in a case insensitive way. @strong{Returns:} an id of the specified protocol, or @@ -2755,7 +2439,7 @@ @subheading gnutls_psk_allocate_client_credentials @anchor{gnutls_psk_allocate_client_credentials} @deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -2766,7 +2450,7 @@ @subheading gnutls_psk_allocate_server_credentials @anchor{gnutls_psk_allocate_server_credentials} @deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -2791,7 +2475,7 @@ @subheading gnutls_psk_free_client_credentials @anchor{gnutls_psk_free_client_credentials} @deftypefun {void} {gnutls_psk_free_client_credentials} (gnutls_psk_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_psk_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_psk_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -2800,7 +2484,7 @@ @subheading gnutls_psk_free_server_credentials @anchor{gnutls_psk_free_server_credentials} @deftypefun {void} {gnutls_psk_free_server_credentials} (gnutls_psk_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -2862,7 +2546,7 @@ @subheading gnutls_psk_set_client_credentials @anchor{gnutls_psk_set_client_credentials} @deftypefun {int} {gnutls_psk_set_client_credentials} (gnutls_psk_client_credentials_t @var{res}, const char * @var{username}, const gnutls_datum_t * @var{key}, gnutls_psk_key_flags @var{flags}) -@var{res}: is a @code{gnutls_psk_client_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_client_credentials_t} structure. @var{username}: is the user's zero-terminated userid @@ -2886,14 +2570,14 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for psk authentication. The +the diffie hellman or RSA parameters for psk authentication. The callback should return zero on success. @end deftypefun @subheading gnutls_psk_set_server_credentials_file @anchor{gnutls_psk_set_server_credentials_file} @deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) -@var{res}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_server_credentials_t} structure. @var{password_file}: is the PSK password file (passwd.psk) @@ -2930,7 +2614,7 @@ @subheading gnutls_psk_set_server_credentials_hint @anchor{gnutls_psk_set_server_credentials_hint} @deftypefun {int} {gnutls_psk_set_server_credentials_hint} (gnutls_psk_server_credentials_t @var{res}, const char * @var{hint}) -@var{res}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_server_credentials_t} structure. @var{hint}: is the PSK identity hint string @@ -2949,22 +2633,22 @@ @deftypefun {void} {gnutls_psk_set_server_dh_params} (gnutls_psk_server_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_psk_server_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for an -anonymous server to use. These parameters will be used in -Diffie-Hellman exchange with PSK cipher suites. +This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in Diffie +Hellman with PSK cipher suites. @end deftypefun @subheading gnutls_psk_set_server_params_function @anchor{gnutls_psk_set_server_params_function} @deftypefun {void} {gnutls_psk_set_server_params_function} (gnutls_psk_server_credentials_t @var{res}, gnutls_params_function * @var{func}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure +@var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman parameters for PSK authentication. The callback +the diffie hellman parameters for PSK authentication. The callback should return zero on success. @end deftypefun @@ -2973,14 +2657,12 @@ @deftypefun {size_t} {gnutls_record_check_pending} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} structure. -This function checks if there are any data to receive in the gnutls -buffers. - -Notice that you may also use @code{select()} to check for data in a TCP -connection, instead of this function. GnuTLS leaves some data in -the tcp buffer in order for select to work. - -@strong{Returns:} the size of that data or 0. +This function checks if there are any data to receive +in the gnutls buffers. Returns the size of that data or 0. +Notice that you may also use @code{select()} to check for data in +a TCP connection, instead of this function. +(gnutls leaves some data in the tcp buffer in order for select +to work). @end deftypefun @subheading gnutls_record_disable_padding @@ -3021,10 +2703,9 @@ @deftypefun {size_t} {gnutls_record_get_max_size} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} structure. -Get the record size. The maximum record size is negotiated by the -client after the first handshake message. - -@strong{Returns:} The maximum record packet size in this connection. +This function returns the maximum record packet size in this +connection. The maximum record size is negotiated by the client +after the first handshake message. @end deftypefun @subheading gnutls_record_recv @@ -3036,15 +2717,15 @@ @var{sizeofdata}: the number of requested bytes -This function has the similar semantics with @code{recv()}. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with @code{recv()}. The only +difference is that is accepts a GNUTLS session, and uses different error codes. In the special case that a server requests a renegotiation, the client may receive an error code of @code{GNUTLS_E_REHANDSHAKE}. This -message may be simply ignored, replied with an alert -@code{GNUTLS_A_NO_RENEGOTIATION}, or replied with a new handshake, -depending on the client's will. +message may be simply ignored, replied with an alert containing +NO_RENEGOTIATION, or replied with a new handshake, depending on +the client's will. If @code{EINTR} is returned by the internal push function (the default is @code{recv()}) then @code{GNUTLS_E_INTERRUPTED} will be returned. If @@ -3070,8 +2751,8 @@ @var{sizeofdata}: is the length of the data -This function has the similar semantics with @code{send()}. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with @code{send()}. The only +difference is that is accepts a GNUTLS session, and uses different error codes. Note that if the send buffer is full, @code{send()} will block this @@ -3105,15 +2786,12 @@ may choose not to accept the requested size. Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and -4096(=2^12). The requested record size does get in effect -immediately only while sending data. The receive part will take -effect after a successful handshake. +4096(=2^12). Returns 0 on success. The requested record size does +get in effect immediately only while sending data. The receive +part will take effect after a successful handshake. This function uses a TLS extension called 'max record size'. Not all TLS implementations use or even understand this extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_rehandshake @@ -3177,8 +2855,6 @@ This function will copy the RSA parameters structure from source to destination. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_deinit @@ -3201,13 +2877,14 @@ @var{params_data_size}: holds the size of params_data (and will be replaced by the actual size of parameters) This function will export the given RSA parameters to a PKCS1 -RSAPublicKey structure. If the buffer provided is not long enough to +RSAPublicKey structure. If the buffer provided is not long enough to hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. If the structure is PEM encoded, it will have a header of "BEGIN RSA PRIVATE KEY". -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_rsa_params_export_raw @@ -3232,8 +2909,6 @@ This function will export the RSA parameters found in the given structure. The new parameters will be allocated using @code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_generate2 @@ -3243,16 +2918,14 @@ @var{bits}: is the prime's number of bits -This function will generate new temporary RSA parameters for use in -RSA-EXPORT ciphersuites. This function is normally slow. +This function will generate new temporary RSA parameters for use in +RSA-EXPORT ciphersuites. This function is normally slow. -Note that if the parameters are to be used in export cipher suites the +Note that if the parameters are to be used in export cipher suites the bits value should be 512 or less. Also note that the generation of new RSA parameters is only useful to servers. Clients use the parameters sent by the server, thus it's no use calling this in client side. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_import_pkcs1 @@ -3265,12 +2938,13 @@ @var{format}: the format of params. PEM or DER. This function will extract the RSAPublicKey found in a PKCS1 formatted -structure. +structure. If the structure is PEM encoded, it should have a header of "BEGIN RSA PRIVATE KEY". -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_rsa_params_import_raw @@ -3291,10 +2965,7 @@ @var{u}: holds the coefficient This function will replace the parameters in the given structure. -The new parameters should be stored in the appropriate -gnutls_datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +The new parameters should be stored in the appropriate gnutls_datum. @end deftypefun @subheading gnutls_rsa_params_init @@ -3303,8 +2974,6 @@ @var{rsa_params}: Is a structure that will hold the parameters This function will initialize the temporary RSA parameters structure. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_server_name_get @@ -3320,25 +2989,19 @@ @var{indx}: is the index of the server_name -This function will allow you to get the name indication (if any), a -client has sent. The name indication may be any of the enumeration +This function will allow you to get the name indication (if any), +a client has sent. The name indication may be any of the enumeration gnutls_server_name_type_t. -If @code{type} is GNUTLS_NAME_DNS, then this function is to be used by -servers that support virtual hosting, and the data will be a null -terminated UTF-8 string. - -If @code{data} has not enough size to hold the server name -GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and @code{data_length} will -hold the required size. - -@code{index} is used to retrieve more than one server names (if sent by -the client). The first server name has an index of 0, the second 1 -and so on. If no name with the given index exists -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +If @code{type} is GNUTLS_NAME_DNS, then this function is to be used by servers +that support virtual hosting, and the data will be a null terminated UTF-8 string. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +If @code{data} has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER +is returned, and @code{data_length} will hold the required size. + +@code{index} is used to retrieve more than one server names (if sent by the client). +The first server name has an index of 0, the second 1 and so on. If no name with the given +index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. @end deftypefun @subheading gnutls_server_name_set @@ -3352,18 +3015,14 @@ @var{name_length}: holds the length of name -This function is to be used by clients that want to inform (via a -TLS extension mechanism) the server of the name they connected to. -This should be used by clients that connect to servers that do -virtual hosting. - -The value of @code{name} depends on the @code{ind} type. In case of -GNUTLS_NAME_DNS, an ASCII or UTF-8 null terminated string, without -the trailing dot, is expected. IPv4 or IPv6 addresses are not -permitted. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function is to be used by clients that want to inform +(via a TLS extension mechanism) the server of the name they +connected to. This should be used by clients that connect +to servers that do virtual hosting. + +The value of @code{name} depends on the @code{ind} type. In case of GNUTLS_NAME_DNS, +an ASCII or UTF-8 null terminated string, without the trailing dot, is expected. +IPv4 or IPv6 addresses are not permitted. @end deftypefun @subheading gnutls_session_enable_compatibility_mode @@ -3400,14 +3059,11 @@ @deftypefun {int} {gnutls_session_get_data2} (gnutls_session_t @var{session}, gnutls_datum_t * @var{data}) @var{session}: is a @code{gnutls_session_t} structure. -@var{data}: is a pointer to a datum that will hold the session. - -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -@code{gnutls_session_set_data()}. This function must be called after a -successful handshake. The returned datum must be freed with -@code{gnutls_free()}. +Returns all session parameters, in order to support resuming. +The client should call this, and keep the returned session, if he wants to +resume that current version later by calling @code{gnutls_session_set_data()} +This function must be called after a successful handshake. The returned +datum must be freed with @code{gnutls_free()}. Resuming sessions is really useful and speedups connections after a succesful one. @@ -3538,33 +3194,6 @@ an error code is returned. @end deftypefun -@subheading gnutls_session_set_finished_function -@anchor{gnutls_session_set_finished_function} -@deftypefun {void} {gnutls_session_set_finished_function} (gnutls_session_t @var{session}, gnutls_finished_callback_func @var{func}) -@var{session}: is a @code{gnutls_session_t} structure. - -@var{func}: a @code{gnutls_finished_callback_func} callback. - -Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. - -@strong{The callback should follow this prototype:} -void callback (gnutls_session_t @code{session}, const void *@code{finished}, size_t @code{len}); - -The @code{finished} parameter will contain the binary TLS finished -message, and @code{len} will contains its length. For SSLv3 connections, -the @code{len} parameter will be 36 and for TLS connections it will be -12. - -It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_session_set_ptr @anchor{gnutls_session_set_ptr} @deftypefun {void} {gnutls_session_set_ptr} (gnutls_session_t @var{session}, void * @var{ptr}) @@ -3620,8 +3249,6 @@ @subheading gnutls_sign_algorithm_get_name @anchor{gnutls_sign_algorithm_get_name} @deftypefun {const char *} {gnutls_sign_algorithm_get_name} (gnutls_sign_algorithm_t @var{sign}) -@var{sign}: is a sign algorithm - Convert a @code{gnutls_sign_algorithm_t} value to a string. @strong{Returns:} a string that contains the name of the specified sign @@ -3664,44 +3291,10 @@ callback function. See also @code{gnutls_sign_callback_get()}. @end deftypefun -@subheading gnutls_sign_get_id -@anchor{gnutls_sign_get_id} -@deftypefun {gnutls_sign_algorithm_t} {gnutls_sign_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - -The names are compared in a case insensitive way. - -@strong{Returns:} return a @code{gnutls_sign_algorithm_t} value corresponding to -the specified cipher, or @code{GNUTLS_SIGN_UNKNOWN} on error. -@end deftypefun - -@subheading gnutls_sign_get_name -@anchor{gnutls_sign_get_name} -@deftypefun {const char *} {gnutls_sign_get_name} (gnutls_sign_algorithm_t @var{algorithm}) -@var{algorithm}: is a public key signature algorithm - -Convert a @code{gnutls_sign_algorithm_t} value to a string. - -@strong{Returns:} a pointer to a string that contains the name of the -specified public key signature algorithm, or @code{NULL}. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_sign_list -@anchor{gnutls_sign_list} -@deftypefun {const gnutls_sign_algorithm_t *} {gnutls_sign_list} ( @var{void}) - -Get a list of supported public key signature algorithms. - -@strong{Returns:} a zero-terminated list of @code{gnutls_sign_algorithm_t} -integers indicating the available ciphers. -@end deftypefun - @subheading gnutls_srp_allocate_client_credentials @anchor{gnutls_srp_allocate_client_credentials} @deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3713,7 +3306,7 @@ @subheading gnutls_srp_allocate_server_credentials @anchor{gnutls_srp_allocate_server_credentials} @deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3806,7 +3399,7 @@ @subheading gnutls_srp_free_client_credentials @anchor{gnutls_srp_free_client_credentials} @deftypefun {void} {gnutls_srp_free_client_credentials} (gnutls_srp_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_srp_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_srp_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3815,7 +3408,7 @@ @subheading gnutls_srp_free_server_credentials @anchor{gnutls_srp_free_server_credentials} @deftypefun {void} {gnutls_srp_free_server_credentials} (gnutls_srp_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3835,7 +3428,7 @@ @subheading gnutls_srp_set_client_credentials_function @anchor{gnutls_srp_set_client_credentials_function} -@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function @@ -3865,7 +3458,7 @@ @subheading gnutls_srp_set_client_credentials @anchor{gnutls_srp_set_client_credentials} @deftypefun {int} {gnutls_srp_set_client_credentials} (gnutls_srp_client_credentials_t @var{res}, const char * @var{username}, const char * @var{password}) -@var{res}: is a @code{gnutls_srp_client_credentials_t} structure. +@var{res}: is an @code{gnutls_srp_client_credentials_t} structure. @var{username}: is the user's userid @@ -3881,30 +3474,10 @@ error code. @end deftypefun -@subheading gnutls_srp_set_prime_bits -@anchor{gnutls_srp_set_prime_bits} -@deftypefun {void} {gnutls_srp_set_prime_bits} (gnutls_session_t @var{session}, unsigned int @var{bits}) -@var{session}: is a @code{gnutls_session_t} structure. - -@var{bits}: is the number of bits - -This function sets the minimum accepted number of bits, for use in -an SRP key exchange. If zero, the default 2048 bits will be used. - -In the client side it sets the minimum accepted number of bits. If -a server sends a prime with less bits than that -@code{GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER} will be returned by the -handshake. - -This function has no effect in server side. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_srp_set_server_credentials_file @anchor{gnutls_srp_set_server_credentials_file} -@deftypefun {int} {gnutls_srp_set_server_credentials_file} (gnutls_srp_server_credentials_t @var{res}, const char * @var{password_file}, const char * @var{password_conf_file}) -@var{res}: is a @code{gnutls_srp_server_credentials_t} structure. +@deftypefun {int} {gnutls_srp_set_server_credentials_file} (gnutls_srp_server_credentials_t @var{res}, const char * @var{password_file}, const char * @var{password_conf_file}) +@var{res}: is an @code{gnutls_srp_server_credentials_t} structure. @var{password_file}: is the SRP password file (tpasswd) @@ -3978,33 +3551,14 @@ error code. @end deftypefun -@subheading gnutls_strerror_name -@anchor{gnutls_strerror_name} -@deftypefun {const char *} {gnutls_strerror_name} (int @var{error}) -@var{error}: is an error returned by a gnutls function. - -Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - -@strong{Returns:} A string corresponding to the symbol name of the error -code. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_strerror @anchor{gnutls_strerror} @deftypefun {const char *} {gnutls_strerror} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value - -This function is similar to @code{strerror()}. Differences: it accepts an -error number returned by a gnutls function; In case of an unknown -error a descriptive string is sent instead of NULL. - -Error codes are always a negative value. +@var{error}: is an error returned by a gnutls function. Error is always a negative value. -@strong{Returns:} A string explaining the GnuTLS error message. +This function is similar to @code{strerror()}. Differences: it accepts an error +number returned by a gnutls function; In case of an unknown error +a descriptive string is sent instead of NULL. @end deftypefun @subheading gnutls_transport_get_ptr2 @@ -4127,11 +3681,12 @@ @var{pull_func}: a callback function similar to @code{read()} -This is the function where you set a function for gnutls to receive -data. Normally, if you use berkeley style sockets, do not need to -use this function since the default (recv(2)) will probably be ok. +This is the function where you set a function for gnutls +to receive data. Normally, if you use berkeley style sockets, +do not need to use this function since the default (recv(2)) will +probably be ok. -PULL_FUNC is of the form, +PULL_FUNC is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); @end deftypefun @@ -4142,12 +3697,12 @@ @var{push_func}: a callback function similar to @code{write()} -This is the function where you set a push function for gnutls to -use in order to send data. If you are going to use berkeley style -sockets, you do not need to use this function since the default -(send(2)) will probably be ok. Otherwise you should specify this -function for gnutls to be able to send data. +This is the function where you set a push function for gnutls +to use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since +the default (send(2)) will probably be ok. Otherwise you should +specify this function for gnutls to be able to send data. -PUSH_FUNC is of the form, +PUSH_FUNC is of the form, ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t); @end deftypefun \ No newline at end of file diff -Nru gnutls26-2.8.6/doc/gnutls-extra-api.texi gnutls26-2.4.1/doc/gnutls-extra-api.texi --- gnutls26-2.8.6/doc/gnutls-extra-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls-extra-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -5,32 +5,21 @@ @subheading gnutls_extra_check_version @anchor{gnutls_extra_check_version} @deftypefun {const char *} {gnutls_extra_check_version} (const char * @var{req_version}) -@var{req_version}: version string to compare with, or @code{NULL}. +@var{req_version}: the version to check -Check GnuTLS Extra Library version. - -See @code{GNUTLS_EXTRA_VERSION} for a suitable @code{req_version} string. - -@strong{Return value:} Check that the version of the library is at -minimum the one given as a string in @code{req_version} and return the -actual version string of the library; return @code{NULL} if the -condition is not met. If @code{NULL} is passed to this function no -check is done and only the version string is returned. +Check that the version of the gnutls-extra library is at minimum +the requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned. @end deftypefun @subheading gnutls_global_init_extra @anchor{gnutls_global_init_extra} @deftypefun {int} {gnutls_global_init_extra} ( @var{void}) This function initializes the global state of gnutls-extra library -to defaults. +to defaults. Returns zero on success. Note that @code{gnutls_global_init()} has to be called before this function. If this function is not called then the gnutls-extra library will not be usable. - -This function is not thread safe, see the discussion for -@code{gnutls_global_init()} on how to deal with that. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun \ No newline at end of file diff -Nru gnutls26-2.8.6/doc/gnutls.html gnutls26-2.4.1/doc/gnutls.html --- gnutls26-2.8.6/doc/gnutls.html 2010-03-15 10:43:37.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.html 2008-06-30 22:15:21.000000000 +0100 @@ -1,20 +1,20 @@ -GNU TLS 2.8.6 +GNU TLS 2.4.1 - - + + -

GNU TLS 2.8.6

+

GNU TLS 2.4.1

Table of Contents

    @@ -154,7 +110,8 @@
  • 5.3 Digital Signatures
  • 6 How To Use TLS in Application Protocols @@ -167,10 +124,9 @@
  • 7.1 Preparation
  • 7.2 Multi-Threaded Applications
  • 7.3 Client Examples @@ -183,7 +139,7 @@
  • 7.3.6 Client with Resume Capability Example
  • 7.3.7 Simple Client Example with SRP Authentication
  • 7.3.8 Simple Client Example with TLS/IA Support -
  • 7.3.9 Simple Client Example using the C++ API +
  • 7.3.9 Simple Client Example using the C++ API
  • 7.3.10 Helper Function for TCP Connections
  • 7.4 Server Examples @@ -203,7 +159,6 @@
  • 7.6 Compatibility with the OpenSSL Library
  • 7.7 Opaque PRF Input TLS Extension -
  • 7.8 Keying Material Exporters
  • 8 Included Programs
      @@ -256,19 +211,14 @@
  • 12 Internal Architecture of GnuTLS
  • Appendix A Copying Information
      @@ -285,8 +235,8 @@
      -


      + Next: , Up: (dir) @@ -294,14 +244,14 @@

      GNU TLS

      -

      This manual is last updated 2 June 2009 for version -2.8.6 of GNU TLS. +

      This manual is last updated 30 June 2008 for version +2.4.1 of GNU TLS. -

      Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +

      Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.

      Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or +under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free @@ -329,8 +279,8 @@
    -


    + Next: , Previous: Top, Up: Top @@ -372,8 +322,8 @@
    -


    + Next: , Up: Preface @@ -394,8 +344,8 @@ See Bug Reports.
    -


    + Next: , Previous: Getting help, Up: Preface @@ -423,7 +373,8 @@

    If you are interested, please write to: -

    Simon Josefsson Datakonsult
    +
    +Simon Josefsson Datakonsult
     Hagagatan 24
     113 47 Stockholm
     Sweden
    @@ -435,8 +386,8 @@
     mentioned here, contact the author (see Bug Reports).
     
     
    -


    + Next: , Previous: Commercial Support, Up: Preface @@ -451,7 +402,7 @@

    http://www.gnutls.org/download.html

    The latest version is stored in a file, e.g., -‘gnutls-2.8.6.tar.gz’ where the ‘2.8.6’ +‘gnutls-2.4.1.tar.gz’ where the ‘2.4.1’ value is the highest version number in the directory.

    GnuTLS uses a Linux-like development cycle: even minor version numbers @@ -460,8 +411,7 @@ release since 6 is even, and GnuTLS 1.7.11 denote a development release since 7 is odd. -

    GnuTLS depends on Libgcrypt, -and you will need to install Libgcrypt +

    GnuTLS depends on Libgcrypt, and you will need to install Libgcrypt before installing GnuTLS. Libgcrypt is available from ftp://ftp.gnupg.org/gcrypt/libgcrypt. Libgcrypt needs another library, libgpg-error, and you need to install libgpg-error before @@ -509,8 +459,8 @@ --help.

    -


    + Next: , Previous: Downloading and Installing, Up: Preface @@ -557,8 +507,8 @@
    bug-gnutls@gnu.org
    -


    + Previous: Bug Reports, Up: Preface @@ -616,8 +566,8 @@
    -


    + Next: , Previous: Preface, Up: Top @@ -634,7 +584,8 @@

    Technically GnuTLS is a portable ANSI C based library which implements the TLS 1.1 and SSL 3.0 protocols (See Introduction to TLS, for a more detailed description of the protocols), accompanied with the required framework for authentication and public key -infrastructure. Important features of the GnuTLS library +infrastructure. The library is available under the GNU Lesser GPL +license1. Important features of the GnuTLS library include:

      @@ -655,25 +606,25 @@

    Additionally GnuTLS provides a limited emulation API for the -widely used OpenSSL1 library, +widely used OpenSSL2 library, to ease integration with existing applications.

    GnuTLS consists of three independent parts, namely the “TLS -protocol part”, the “Certificate part”, and the “Cryptographic backend” +protocol part”, the “Certificate part”, and the “Crypto backend” part. The `TLS protocol part' is the actual protocol implementation, and is entirely implemented within the GnuTLS library. The `Certificate part' consists of the certificate parsing, and verification functions which is partially implemented in the GnuTLS library. The -Libtasn12, +Libtasn13, a library which offers ASN.1 parsing capabilities, is used for the X.509 certificate parsing functions. A smaller version of -OpenCDK3 +OpenCDK4 is used for the OpenPGP key support in GnuTLS. -The “Cryptographic backend” is provided by the -Libgcrypt4 -library5. +The “Crypto backend” is provided by the +Libgcrypt5 +library.

    In order to ease integration in embedded systems, parts of the GnuTLS library can be disabled at compile time. That way a @@ -687,8 +638,8 @@

    -


    + Next: , Up: The Library @@ -714,7 +665,7 @@

    The credentials structure is used by some authentication methods, such as certificate authentication (see Certificate Authentication). A credentials structure may contain certificates, private keys, -temporary parameters for Diffie-Hellman or RSA key exchange, and other +temporary parameters for diffie hellman or RSA key exchange, and other stuff that may be shared between several TLS sessions.

    This structure should be initialized using the appropriate @@ -741,8 +692,8 @@ resumed one, and will share the same session ID with the previous one.

    -


    + Next: , Previous: General Idea, Up: The Library @@ -772,8 +723,8 @@ reference. See Error Codes, for all the error codes.
    -


    + Next: , Previous: Error handling, Up: The Library @@ -798,8 +749,8 @@ information.
    -


    + Previous: Memory handling, Up: The Library @@ -836,8 +787,8 @@
    -


    + Next: , Previous: The Library, Up: Top @@ -872,8 +823,8 @@
    -


    + Next: , Up: Introduction to TLS @@ -900,8 +851,8 @@
    gnutls-layers.png
    -


    + Next: , Previous: TLS layers, Up: Introduction to TLS @@ -954,8 +905,8 @@ TCP/IP servers.
    -


    + Next: , Previous: The transport layer, Up: Introduction to TLS @@ -993,8 +944,8 @@
    -


    + Next: , Up: The TLS record protocol @@ -1040,8 +991,8 @@
    -


    + Next: , Previous: Encryption algorithms used in the record layer, Up: The TLS record protocol @@ -1080,8 +1031,8 @@
    -


    + Previous: Compression algorithms used in the record layer, Up: The TLS record protocol @@ -1111,8 +1062,8 @@ TLS Working Group mailing list and the paper [CBCATT] (see Bibliography).
    -


    + Next: , Previous: The TLS record protocol, Up: Introduction to TLS @@ -1149,8 +1100,8 @@
    -


    + Next: , Previous: The TLS Alert Protocol, Up: Introduction to TLS @@ -1290,8 +1241,8 @@ gnutls_db_check_entry is provided for that reason.
    -


    + Next: , Previous: The TLS Handshake Protocol, Up: Introduction to TLS @@ -1337,8 +1288,8 @@ client.
    -


    + Next: , Previous: TLS Extensions, Up: Introduction to TLS @@ -1352,7 +1303,7 @@ For this reason this section will present some correspondance between key sizes of symmetric algorithms and public key algorithms based on the most conservative values of [SELKEY] (see Bibliography). Those can be used to generate certificates with appropriate key sizes as well -as parameters for Diffie-Hellman and SRP authentication. +as parameters for Diffie Hellman and SRP authentication.

    Year @@ -1405,47 +1356,9 @@ guess that is valid today. There are no guarrantees that an algorithm will remain unbreakable or that these values will remain constant in time. There could be scientific breakthroughs that cannot be predicted or total failure of the current public key systems by quantum computers. On the other hand though the cryptosystems used in TLS are selected in a conservative way and such catastrophic breakthroughs or failures are believed to be unlikely. -

    NIST publication SP 800-57 [NISTSP80057] (see Bibliography) contains a similar -table that extends beyond the key sizes given above. - -

    -
    Bits of security -Symmetric key algorithms -RSA key size, DSA, DH and SRP prime size -ECC key size - -


    80 -2TDEA -1024 -160-223 - -


    112 -3DES -2048 -224-255 - -


    128 -AES-128 -3072 -256-383 - -


    192 -AES-192 -7680 -384-511 - -


    256 -AES-256 -15360 -512+ - -
    - -

    The recommendations are fairly consistent. -

    -


    + Next: , Previous: Selecting cryptographic key sizes, Up: Introduction to TLS @@ -1497,8 +1410,8 @@ by SSL 3.0 and later TLS 1.0.
    -


    + Previous: On SSL 2 and older protocols, Up: Introduction to TLS @@ -1552,8 +1465,8 @@

    http://thread.gmane.org/gmane.ietf.tls/3079

    -


    + Next: , Previous: Introduction to TLS, Up: Top @@ -1588,8 +1501,8 @@
    -


    + Next: , Up: Authentication methods @@ -1719,14 +1632,14 @@ In the EXPORT algorithm, the server signs temporary RSA parameters of 512 bits — which are considered weak — and sends them to the client. -
    DHE_RSA:
    The RSA algorithm is used to sign Ephemeral Diffie-Hellman parameters +
    DHE_RSA:
    The RSA algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The key in the certificate must allow the key to be used for signing. Note that key exchange algorithms which -use Ephemeral Diffie-Hellman parameters, offer perfect forward +use Ephemeral Diffie Hellman parameters, offer perfect forward secrecy. That means that even if the private key used for signing is compromised, it cannot be used to reveal past session data. -
    DHE_DSS:
    The DSS algorithm is used to sign Ephemeral Diffie-Hellman parameters +
    DHE_DSS:
    The DSS algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The certificate must contain DSA parameters to use this key exchange algorithm. DSS stands for Digital Signature Standard. @@ -1734,8 +1647,8 @@
    -


    + Next: , Previous: Certificate authentication, Up: Authentication methods @@ -1754,19 +1667,19 @@ are shown below.

    Note that the key exchange methods for anonymous authentication -require Diffie-Hellman parameters to be generated by the server and associated with +require Diffie Hellman parameters to be generated by the server and associated with an anonymous credentials structure.

    Supported anonymous key exchange algorithms:

    -
    ANON_DH:
    This algorithm exchanges Diffie-Hellman parameters. +
    ANON_DH:
    This algorithm exchanges Diffie Hellman parameters.
    -


    + Next: , Previous: Anonymous authentication, Up: Authentication methods @@ -1854,8 +1767,8 @@ also included. See srptool, for more information.
    -


    + Next: , Previous: Authentication using SRP, Up: Authentication methods @@ -1875,7 +1788,7 @@
    PSK:
    Authentication using the PSK protocol. -
    DHE-PSK:
    Authentication using the PSK protocol and Diffie-Hellman key exchange. +
    DHE-PSK:
    Authentication using the PSK protocol and Diffie Hellman key exchange. This method offers perfect forward secrecy.
    @@ -1920,8 +1833,8 @@ maintain PSK keys.
    -


    + Next: , Previous: Authentication using PSK, Up: Authentication methods @@ -1969,8 +1882,8 @@

    -


    + Previous: Authentication and credentials, Up: Authentication methods @@ -2033,8 +1946,8 @@ }
    -


    + Next: , Previous: Authentication methods, Up: Top @@ -2052,9 +1965,9 @@
    +


    -


    Next: , Up: More on certificate authentication @@ -2085,9 +1998,9 @@
    +


    -


    Next: , Up: The X.509 trust model @@ -2167,9 +2080,9 @@ parsing capabilities can be found at section ex:x509-info.
    +


    -


    Next: , Previous: X.509 certificates, Up: The X.509 trust model @@ -2245,9 +2158,9 @@ and section ex:verify for an example.
    +


    -


    Next: , Previous: Verifying X.509 certificate paths, Up: The X.509 trust model @@ -2269,9 +2182,9 @@ request generation can be found at section ex:crq.
    +


    -


    Previous: PKCS #10 certificate requests, Up: The X.509 trust model @@ -2295,8 +2208,8 @@ at section ex:pkcs12.
    -


    + Next: , Previous: The X.509 trust model, Up: More on certificate authentication @@ -2372,8 +2285,8 @@
    -


    + Previous: The OpenPGP trust model, Up: More on certificate authentication @@ -2382,7 +2295,8 @@

    5.3 Digital Signatures

    -In this section we will provide some information about digital + +

    In this section we will provide some information about digital signatures, how they work, and give the rationale for disabling some of the algorithms used. @@ -2399,20 +2313,17 @@ donated 1.000.000 € to Bad Inc.

    For a hash algorithm to be called cryptographic the following three -requirements must hold: - +requirements must hold

      -
    1. Preimage resistance. -That means the algorithm must be one way and given the output of the -hash function H(x), it is impossible to calculate x. - -
    2. 2nd preimage resistance. -That means that given a pair x,y with y=H(x) it is -impossible to calculate an x' such that y=H(x'). - -
    3. Collision resistance. -That means that it is impossible to calculate random x and -x' such H(x')=H(x). +
    4. Preimage resistance. That means the algorithm must be one way and given +the output of the hash function H(x), it is impossible to +calculate x. + +
    5. 2nd preimage resistance. That means that given a pair x,y with y=H(x) it is impossible +to calculate an x' such that y=H(x'). + +
    6. Collision resistance. That means that it is impossible to calculate random x and x' such +H(x')=H(x).

    The last two requirements in the list are the most important in @@ -2427,18 +2338,52 @@

    There has been cryptographic results for the SHA-1 hash algorithms as well, although they are not yet critical. Before 2004, MD5 had a -presumed collision strength of 2^64, but it has been showed -to have a collision strength well under 2^50. As of November +presumed collision strength of 2^64, but it has been showed to +have a collision strength well under 2^50. As of November 2005, it is believed that SHA-1's collision strength is around 2^63. We consider this sufficiently hard so that we still support SHA-1. We anticipate that SHA-256/386/512 will be used in -publicly-distributed certificates in the future. When 2^63 -can be considered too weak compared to the computer power available +publicly-distributed certificates in the future. When 2^63 can +be considered too weak compared to the computer power available sometime in the future, SHA-1 will be disabled as well. The collision attacks on SHA-1 may also get better, given the new interest in tools for creating them. -

    5.3.1 Trading Security for Interoperability

    +

    5.3.1 Supported Algorithms

    + +

    The available digital signature algorithms in GnuTLS are +listed below: + +

    +
    RSA
    RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir +and Leonard Adleman. It can be used with any hash functions. + +
    DSA
    DSA is the USA's Digital Signature Standard. It uses only the SHA-1 +hash algorithm. + +
    + +

    The supported cryptographic hash algorithms are: + +

    +
    MD2
    MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is +optimized for 8-bit processors. Outputs 128 bits of data. There are no +known weaknesses of this algorithm but since this algorithm is rarely +used and not really studied it should not be used today. + +
    MD5
    MD5 is a cryptographic hash algorithm designed by Ron Rivest. Outputs +128 bits of data. It is considered to be broken. + +
    SHA-1
    SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 +bits of data. It is also considered to be broken, though no practical +attacks have been found. + +
    RMD160
    RIPEMD is a cryptographic hash algorithm developed in the framework of +the EU project RIPE. Outputs 160 bits of data. + +
    + +

    5.3.2 Trading Security for Interoperability

    If you connect to a server and use GnuTLS' functions to verify the certificate chain, and get a GNUTLS_CERT_INSECURE_ALGORITHM @@ -2489,8 +2434,8 @@ GNUTLS_SIGN_RSA_MD5, you could present a warning.

    -


    + Next: , Previous: More on certificate authentication, Up: Top @@ -2510,8 +2455,8 @@
    -


    + Next: , Up: How to use TLS in application protocols @@ -2543,8 +2488,8 @@ soon obsoleted.
    -


    + Previous: Separate ports, Up: How to use TLS in application protocols @@ -2573,17 +2518,17 @@
    (client connects to the server) -

    CLIENT: HELLO I'M MR. XXX +

    CLIENT: HELLO I'M MR. XXX -

    SERVER: NICE TO MEET YOU XXX +

    SERVER: NICE TO MEET YOU XXX -

    CLIENT: PLEASE START TLS +

    CLIENT: PLEASE START TLS -

    SERVER: OK +

    SERVER: OK -

    *** TLS STARTS +

    *** TLS STARTS -

    CLIENT: HERE ARE SOME CONFIDENTIAL DATA +

    CLIENT: HERE ARE SOME CONFIDENTIAL DATA

    And see an example of a conversation where someone is acting @@ -2592,17 +2537,17 @@

    (client connects to the server) -

    CLIENT: HELLO I'M MR. XXX +

    CLIENT: HELLO I'M MR. XXX -

    SERVER: NICE TO MEET YOU XXX +

    SERVER: NICE TO MEET YOU XXX -

    CLIENT: PLEASE START TLS +

    CLIENT: PLEASE START TLS -

    (here someone inserts this message) +

    (here someone inserts this message) -

    SERVER: SORRY I DON'T HAVE THIS CAPABILITY +

    SERVER: SORRY I DON'T HAVE THIS CAPABILITY -

    CLIENT: HERE ARE SOME CONFIDENTIAL DATA +

    CLIENT: HERE ARE SOME CONFIDENTIAL DATA

    As you can see above the client was fooled, and was dummy enough to @@ -2617,19 +2562,19 @@

    (client connects to the server) -

    CLIENT: HELLO I'M MR. XXX +

    CLIENT: HELLO I'M MR. XXX -

    SERVER: NICE TO MEET YOU XXX +

    SERVER: NICE TO MEET YOU XXX -

    CLIENT: PLEASE START TLS +

    CLIENT: PLEASE START TLS -

    (here someone inserts this message) +

    (here someone inserts this message) -

    SERVER: SORRY I DON'T HAVE THIS CAPABILITY +

    SERVER: SORRY I DON'T HAVE THIS CAPABILITY -

    CLIENT: BYE +

    CLIENT: BYE -

    (the client notifies the user that the secure connection was not possible) +

    (the client notifies the user that the secure connection was not possible)

    This method, if implemented properly, is far better than the @@ -2641,8 +2586,8 @@ else!

    -


    + Next: , Previous: How to use TLS in application protocols, Up: Top @@ -2661,12 +2606,11 @@
  • Miscellaneous examples
  • Compatibility with the OpenSSL library
  • Opaque PRF Input TLS Extension -
  • Keying Material Exporters
    -


    + Next: , Up: How to use GnuTLS in applications @@ -2680,16 +2624,15 @@
    -


    -Next: , + +Next: , Up: Preparation
    @@ -2706,39 +2649,15 @@ programs.
    -


    -Next: , -Previous: Headers, -Up: Preparation - -
    - -

    7.1.2 Initialization

    - -

    GnuTLS must be initialized before it can be used. The library is -initialized by calling gnutls_global_init. The resources -allocated by the initialization process can be released if the -application no longer has a need to call GnuTLS functions, this is -done by calling gnutls_global_deinit. - -

    The extra functionality of the GnuTLS-extra library is -available after calling gnutls_global_init_extra. - -

    In order to take advantage of the internationalisation features in -GnuTLS, such as translated error messages, the application must set -the current locale using setlocale before initializing GnuTLS. - -

    -


    Next: , -Previous: Initialization, +Previous: Headers, Up: Preparation
    -

    7.1.3 Version Check

    +

    7.1.2 Version Check

    It is often desirable to check that the version of `gnutls' used is indeed one which fits all requirements. Even with binary @@ -2748,15 +2667,15 @@ See the function gnutls_check_version.

    -


    + Next: , Previous: Version check, Up: Preparation
    -

    7.1.4 Debugging

    +

    7.1.3 Debugging

    In many cases things may not go as expected and further information, to assist debugging, from GnuTLS is desired. Those are the @@ -2765,57 +2684,56 @@ verbose information on the GnuTLS functions internal flow.

    -


    + Previous: Debugging, Up: Preparation
    -

    7.1.5 Building the Source

    +

    7.1.4 Building the Source

    -

    If you want to compile a source file including the -gnutls/gnutls.h header file, you must make sure that the -compiler can find it in the directory hierarchy. This is accomplished -by adding the path to the directory in which the header file is -located to the compilers include file search path (via the -I -option). +

    If you want to compile a source file including the `gnutls/gnutls.h' +header file, you must make sure that the compiler can find it in the +directory hierarchy. This is accomplished by adding the path to the +directory in which the header file is located to the compilers include +file search path (via the -I option).

    However, the path to the include file is determined at the time the -source is configured. To solve this problem, the library uses the -external package pkg-config that knows the path to the +source is configured. To solve this problem, GnuTLS ships +with two small helper programs libgnutls-config and +libgnutls-extra-config that knows about the path to the include file and other configuration options. The options that need to be added to the compiler invocation at compile time are output by -the --cflags option to pkg-config libgnutls. The +the --cflags option to libgnutls-config. The following example shows how it can be used at the command line: -

         gcc -c foo.c `pkg-config libgnutls --cflags`
    +
         gcc -c foo.c `libgnutls-config --cflags`
     
    -

    Adding the output of ‘pkg-config libgnutls --cflags’ to the +

    Adding the output of libgnutls-config --cflags to the compilers command line will ensure that the compiler can find the -gnutls/gnutls.h header file. +GnuTLS header file.

    A similar problem occurs when linking the program with the library. Again, the compiler has to find the library files. For this to work, the path to the library files has to be added to the library search -path (via the -L option). For this, the option ---libs to pkg-config libgnutls can be used. For -convenience, this option also outputs all other options that are -required to link the program with the libarary (for instance, the -‘-ltasn1’ option). The example shows how to link foo.o -with the library to a program foo. +path (via the -L option). For this, the option --libs to +libgnutls-config can be used. For convenience, this option +also outputs all other options that are required to link the program +with the GnuTLS libararies. The example shows how to link +`foo.o' with the GnuTLS libraries to a program foo. -

         gcc -o foo foo.o `pkg-config libgnutls --libs`
    +
         gcc -o foo foo.o `libgnutls-config --libs`
     

    Of course you can also combine both examples to a single command by -specifying both options to pkg-config: +specifying both options to `libgnutls-config': -

         gcc -o foo foo.c `pkg-config libgnutls --cflags --libs`
    +
         gcc -o foo foo.c `libgnutls-config --cflags --libs`
     
    +


    -


    Next: , Previous: Preparation, Up: How to use GnuTLS in applications @@ -2825,9 +2743,14 @@

    7.2 Multi-Threaded Applications

    Although the GnuTLS library is thread safe by design, some -parts of Libgcrypt, such as the random generator, are not. -Applications have to register callback functions to ensure proper -locking in the sensitive parts of libgcrypt. +parts of the crypto backend, such as the random generator, are +not. Since libgcrypt 1.1.92 there was an automatic detection of +the thread library used by the application, so most applications +wouldn't need to do any changes to ensure thread-safety. Due to the +unportability of the automatic thread detection, this was removed from +later releases of libgcrypt, so applications have now to +register callback functions to ensure proper locking in sensitive +parts of libgcrypt.

    There are helper macros to help you properly initialize the libraries. Examples are shown below. @@ -2875,8 +2798,8 @@

    -


    + Next: , Previous: Multi-threaded applications, Up: How to use GnuTLS in applications @@ -2899,13 +2822,13 @@
  • Client with Resume capability example
  • Simple client example with SRP authentication
  • Simple client example with TLS/IA support -
  • Simple client example in C++ +
  • Simple client example in C++
  • Helper function for TCP connections
    -


    + Next: , Up: Client examples @@ -2919,9 +2842,14 @@ is vulnerable to man-in-the-middle (active or redirection) attacks. However, the data is integrity and privacy protected. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -2938,6 +2866,7 @@
      */
     
     #define MAX_BUF 1024
    +#define SA struct sockaddr
     #define MSG "GET / HTTP/1.0\r\n\r\n"
     
     extern int tcp_connect (void);
    @@ -2961,8 +2890,7 @@
       gnutls_init (&session, GNUTLS_CLIENT);
     
       /* Use default priorities */
    -  gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128",
    -			      NULL);
    +  gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", NULL);
     
       /* put the anonymous credentials to the current session
        */
    @@ -3026,9 +2954,9 @@
     }
     
    +


    -


    Next: , Previous: Simple client example with anonymous authentication, Up: Client examples @@ -3045,9 +2973,14 @@ in this example are used in most of the other examples below, without redefining them. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3094,14 +3027,12 @@
     
       /* Use default priorities */
       ret = gnutls_priority_set_direct (session, "PERFORMANCE", &err);
    -  if (ret < 0)
    -    {
    -      if (ret == GNUTLS_E_INVALID_REQUEST)
    -	{
    -	  fprintf (stderr, "Syntax error at: %s\n", err);
    -	}
    -      exit (1);
    +  if (ret < 0) {
    +    if (ret == GNUTLS_E_INVALID_REQUEST) {
    +      fprintf(stderr, "Syntax error at: %s\n", err);
         }
    +    exit(1);
    +  }
     
       /* put the x509 credentials to the current session
        */
    @@ -3165,8 +3096,8 @@
     }
     
    -


    + Next: , Previous: Simple client example with X.509 certificate support, Up: Client examples @@ -3181,9 +3112,14 @@ function. Note that this function will print meaningful values only if called after a successful gnutls_handshake. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007, 2008 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3192,7 +3128,7 @@
     #include <gnutls/gnutls.h>
     #include <gnutls/x509.h>
     
    -#include "examples.h"
    +extern void print_x509_certificate_info (gnutls_session_t);
     
     /* This function will print some details of the
      * given session.
    @@ -3249,7 +3185,7 @@
     
         case GNUTLS_CRD_CERTIFICATE:	/* certificate authentication */
     
    -      /* Check if we have been using ephemeral Diffie-Hellman.
    +      /* Check if we have been using ephemeral Diffie Hellman.
            */
           if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS)
     	{
    @@ -3298,9 +3234,9 @@
     }
     
    +


    -


    Next: , Previous: Obtaining session information, Up: Client examples @@ -3316,9 +3252,14 @@ certificate, and expiration dates. Just after this step you should treat the connection as being a secure one. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3326,8 +3267,6 @@
     #include <gnutls/gnutls.h>
     #include <gnutls/x509.h>
     
    -#include "examples.h"
    -
     /* This function will try to verify the peer's certificate, and
      * also check if the hostname matches, and the activation, expiration dates.
      */
    @@ -3420,9 +3359,14 @@
     An other example is listed below which provides a more detailed
     verification output.
     
    -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3431,8 +3375,6 @@
     #include <gnutls/gnutls.h>
     #include <gnutls/x509.h>
     
    -#include "examples.h"
    -
     /* All the available CRLs
      */
     gnutls_x509_crl_t *crl_list;
    @@ -3649,8 +3591,8 @@
     }
     
    -


    + Next: , Previous: Verifying peer's certificate, Up: Client examples @@ -3664,9 +3606,14 @@ structure. The following example demonstrates the use of the certificate selection callback. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3715,25 +3662,24 @@
       long filelen;
       void *ptr;
     
    -  if (!(f = fopen (file, "r"))
    -      || fseek (f, 0, SEEK_END) != 0
    -      || (filelen = ftell (f)) < 0
    -      || fseek (f, 0, SEEK_SET) != 0
    -      || !(ptr = malloc ((size_t) filelen))
    -      || fread (ptr, 1, (size_t) filelen, f) < (size_t) filelen)
    +  if (!(f = fopen(file, "r"))
    +      || fseek(f, 0, SEEK_END) != 0
    +      || (filelen = ftell(f)) < 0
    +      || fseek(f, 0, SEEK_SET) != 0
    +      || !(ptr = malloc((size_t)filelen))
    +      || fread(ptr, 1, (size_t)filelen, f) < (size_t)filelen)
         {
           return loaded_file;
         }
     
       loaded_file.data = ptr;
    -  loaded_file.size = (unsigned int) filelen;
    +  loaded_file.size = (unsigned int)filelen;
       return loaded_file;
     }
     
    -static void
    -unload_file (gnutls_datum_t data)
    +static void unload_file(gnutls_datum_t data)
     {
    -  free (data.data);
    +  free(data.data);
     }
     
     /* Load the certificate and the private key.
    @@ -3802,7 +3748,7 @@
       gnutls_certificate_allocate_credentials (&xcred);
     
       /* priorities */
    -  gnutls_priority_init (&priorities_cache, "NORMAL", NULL);
    +  gnutls_priority_init( &priorities_cache, "NORMAL", NULL);
     
     
       /* sets the trusted cas file
    @@ -3873,7 +3819,7 @@
       gnutls_deinit (session);
     
       gnutls_certificate_free_credentials (xcred);
    -  gnutls_priority_deinit (priorities_cache);
    +  gnutls_priority_deinit( priorities_cache);
     
       gnutls_global_deinit ();
     
    @@ -3943,8 +3889,8 @@
     }
     
    -


    + Next: , Previous: Using a callback to select the certificate to use, Up: Client examples @@ -3958,9 +3904,14 @@ once using TLS, close the connection and then try to establish a new connection using the previously negotiated data. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007, 2008 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -3976,6 +3927,7 @@
     extern void tcp_close (int sd);
     
     #define MAX_BUF 1024
    +#define CRLFILE "crl.pem"
     #define CAFILE "ca.pem"
     #define MSG "GET / HTTP/1.0\r\n\r\n"
     
    @@ -4103,8 +4055,8 @@
     }
     
    -


    + Next: , Previous: Client with Resume capability example, Up: Client examples @@ -4118,9 +4070,14 @@ username and a password. The server may authenticate itself using a certificate, and in that case it has to be verified. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -4140,8 +4097,11 @@
     #define USERNAME "user"
     #define PASSWORD "pass"
     #define CAFILE "ca.pem"
    +#define SA struct sockaddr
     #define MSG "GET / HTTP/1.0\r\n\r\n"
     
    +#define MAX_PRIORITIES 3
    +
     int
     main (void)
     {
    @@ -4155,7 +4115,7 @@
       gnutls_global_init ();
     
       /* now enable the gnutls-extra library which contains the
    -   * SRP stuff.
    +   * SRP stuff. 
        */
       gnutls_global_init_extra ();
     
    @@ -4166,11 +4126,11 @@
     					  GNUTLS_X509_FMT_PEM);
       gnutls_srp_set_client_credentials (srp_cred, USERNAME, PASSWORD);
     
    -  /* connects to server
    +  /* connects to server 
        */
       sd = tcp_connect ();
     
    -  /* Initialize TLS session
    +  /* Initialize TLS session 
        */
       gnutls_init (&session, GNUTLS_CLIENT);
     
    @@ -4246,10 +4206,10 @@
     }
     
    +


    -


    -Next: , +Next: , Previous: Simple client example with SRP authentication, Up: Client examples @@ -4260,9 +4220,14 @@

    The following client is a simple client which uses the TLS/IA extension to authenticate with the server. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -4280,19 +4245,21 @@
      */
     
     #define MAX_BUF 1024
    +#define SA struct sockaddr
     #define MSG "GET / HTTP/1.0\r\n\r\n"
     
     extern int tcp_connect (void);
     extern void tcp_close (int sd);
     
    -static int
    +int
     client_avp (gnutls_session_t session, void *ptr,
    -	    const char *last, size_t lastlen, char **new, size_t * newlen)
    +	   const char *last, size_t lastlen,
    +	   char **new, size_t *newlen)
     {
     
       if (last)
         printf ("- received %d bytes AVP: `%.*s'\n",
    -	    lastlen, (int) lastlen, last);
    +	    lastlen, lastlen, last);
       else
         printf ("- new application phase\n");
     
    @@ -4423,25 +4390,30 @@
     }
     
    -

    7.3.9 Simple Client Example using the C++ API

    +

    7.3.9 Simple Client Example using the C++ API

    -

    The following client is a simple example of a client client utilizing -the GnuTLS C++ API. +

    The following client is a simple example of a client +client utilizing the GnuTLS C++ API. -

    #include <iostream>
    +
    #if HAVE_CONFIG_H
    +# include <config.h>
    +#else
    +#endif
    +#include <iostream>
     #include <stdexcept>
     #include <gnutls/gnutls.h>
     #include <gnutls/gnutlsxx.h>
    -#include <cstring> /* for strlen */
    +
    +#include <string.h> /* for strlen */
     
     /* A very basic TLS client, with anonymous authentication.
      * written by Eduardo Villanueva Che.
    @@ -4536,9 +4508,9 @@
     }
     
    @@ -4548,9 +4520,14 @@

    This helper function abstracts away TCP connection handling from the other examples. It is required to build some examples. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -4565,10 +4542,6 @@
     
     #define SA struct sockaddr
     
    -/* tcp.c */
    -int tcp_connect (void);
    -void tcp_close (int sd);
    -
     /* Connects to the peer and returns a socket
      * descriptor.
      */
    @@ -4609,8 +4582,8 @@
     }
     
    -


    + Next: , Previous: Client examples, Up: How to use GnuTLS in applications @@ -4631,9 +4604,9 @@
    +


    -


    Next: , Up: Server examples @@ -4644,9 +4617,14 @@

    This example is a very simple echo server which supports X.509 authentication, using the RSA ciphersuites. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -4660,7 +4638,7 @@
     #include <string.h>
     #include <unistd.h>
     #include <gnutls/gnutls.h>
    -#include <gcrypt.h>		/* for gcry_control */
    +#include <gcrypt.h> /* for gcry_control */
     
     #define KEYFILE "key.pem"
     #define CERTFILE "cert.pem"
    @@ -4681,7 +4659,7 @@
     gnutls_certificate_credentials_t x509_cred;
     gnutls_priority_t priority_cache;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -4695,11 +4673,11 @@
       /* request client certificate if any.
        */
       gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST);
    -
    +  
       /* Set maximum compatibility mode. This is only suggested on public webservers
        * that need to trade security for compatibility
        */
    -  gnutls_session_enable_compatibility_mode (session);
    +  gnutls_session_enable_compatibility_mode( session);
     
       return session;
     }
    @@ -4710,7 +4688,7 @@
     generate_dh_params (void)
     {
     
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. When short bit length is used, it might
        * be wise to regenerate parameters.
        *
    @@ -4726,7 +4704,7 @@
     int
     main (void)
     {
    -  int err, listen_sd;
    +  int err, listen_sd, i;
       int sd, ret;
       struct sockaddr_in sa_serv;
       struct sockaddr_in sa_cli;
    @@ -4756,7 +4734,7 @@
     
       generate_dh_params ();
     
    -  gnutls_priority_init (&priority_cache, "NORMAL", NULL);
    +  gnutls_priority_init( &priority_cache, "NORMAL", NULL);
     
     
       gnutls_certificate_set_dh_params (x509_cred, dh_params);
    @@ -4771,7 +4749,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       SOCKET_ERR (err, "bind");
    @@ -4806,6 +4784,7 @@
           /* see the Getting peer's information example */
           /* print_info(session); */
     
    +      i = 0;
           for (;;)
     	{
     	  memset (buffer, 0, MAX_BUF + 1);
    @@ -4841,7 +4820,7 @@
       close (listen_sd);
     
       gnutls_certificate_free_credentials (x509_cred);
    -  gnutls_priority_deinit (priority_cache);
    +  gnutls_priority_deinit(priority_cache);
     
       gnutls_global_deinit ();
     
    @@ -4850,9 +4829,9 @@
     }
     
    +


    -


    Next: , Previous: Echo Server with X.509 authentication, Up: Server examples @@ -4865,9 +4844,14 @@ authentication. This server supports the export-grade cipher suites, the DHE ciphersuites and session resuming. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007, 2008 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -4881,7 +4865,7 @@
     #include <string.h>
     #include <unistd.h>
     #include <gnutls/gnutls.h>
    -#include <gcrypt.h>		/* for gcry_control */
    +#include <gcrypt.h> /* for gcry_control */
     
     #define KEYFILE "key.pem"
     #define CERTFILE "cert.pem"
    @@ -4909,7 +4893,7 @@
     
     #define TLS_SESSION_CACHE 50
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -4918,7 +4902,7 @@
     
       /* Use the default priorities, plus, export cipher suites.
        */
    -  gnutls_priority_set_direct (session, "EXPORT", NULL);
    +  gnutls_priority_set_direct( session, "EXPORT", NULL);
     
       gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, cert_cred);
     
    @@ -4952,13 +4936,14 @@
       "KRipli8Lk7hV+XmT7Jde6qgNdArb9P90c1nQQdXDPqcdKB5EaxR3O8qXtDoj+4AW\n"
       "dr0gekNsZIHx0rkHhxdGGludMuaI+HdIVEUjtSSw1X1ep3onddLs+gMs+9v1L7N4\n"
       "YWAnkATleuavh05zA85TKZzMBBx7wwjYKlaY86jQw4JxrjX46dv7tpS1yAPYn3rk\n"
    -  "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n" "-----END DH PARAMETERS-----\n";
    -
    -static int
    +  "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n"
    +  "-----END DH PARAMETERS-----\n";
    +  
    +int
     generate_dh_params (void)
     {
    -  gnutls_datum_t dparams = { srp_dh_group2048, sizeof (srp_dh_group2048) };
    -  /* Here instead of generating Diffie-Hellman parameters (for use with DHE
    +gnutls_datum_t dparams = { srp_dh_group2048, sizeof( srp_dh_group2048) };
    +  /* Here instead of generating Diffie Hellman parameters (for use with DHE
        * kx algorithms) we import them.
        */
       gnutls_dh_params_init (&dh_params);
    @@ -4986,7 +4971,7 @@
     int
     main (void)
     {
    -  int err, listen_sd;
    +  int err, listen_sd, i;
       int sd, ret;
       struct sockaddr_in sa_serv;
       struct sockaddr_in sa_cli;
    @@ -5040,7 +5025,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       SOCKET_ERR (err, "bind");
    @@ -5074,6 +5059,7 @@
     
           /* print_info(session); */
     
    +      i = 0;
           for (;;)
     	{
     	  memset (buffer, 0, MAX_BUF + 1);
    @@ -5133,10 +5119,10 @@
     typedef struct
     {
       char session_id[MAX_SESSION_ID_SIZE];
    -  size_t session_id_size;
    +  int session_id_size;
     
       char session_data[MAX_SESSION_DATA_SIZE];
    -  size_t session_data_size;
    +  int session_data_size;
     } CACHE;
     
     static CACHE *cache_db;
    @@ -5153,7 +5139,8 @@
     static void
     wrap_db_deinit (void)
     {
    -  free (cache_db);
    +  if (cache_db)
    +    free (cache_db);
       cache_db = NULL;
       return;
     }
    @@ -5238,8 +5225,8 @@
     }
     
    -


    + Next: , Previous: Echo Server with X.509 authentication II, Up: Server examples @@ -5255,9 +5242,14 @@ X.509 and OpenPGP certificates— but we separated them to keep these examples as simple as possible. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -5295,7 +5287,7 @@
     generate_dh_params (void)
     {
     
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -5306,14 +5298,14 @@
       return 0;
     }
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
     
       gnutls_init (&session, GNUTLS_SERVER);
     
    -  gnutls_priority_set_direct (session, "NORMAL", NULL);
    +  gnutls_priority_set_direct(session, "NORMAL", NULL);
     
       /* request client certificate if any.
        */
    @@ -5327,7 +5319,7 @@
     int
     main (void)
     {
    -  int err, listen_sd;
    +  int err, listen_sd, i;
       int sd, ret;
       struct sockaddr_in sa_serv;
       struct sockaddr_in sa_cli;
    @@ -5345,11 +5337,9 @@
       gnutls_global_init ();
     
       gnutls_certificate_allocate_credentials (&cred);
    -  gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE,
    -					       GNUTLS_OPENPGP_FMT_BASE64);
    +  gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, GNUTLS_OPENPGP_FMT_BASE64);
     
    -  gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE,
    -					   GNUTLS_OPENPGP_FMT_BASE64);
    +  gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, GNUTLS_OPENPGP_FMT_BASE64);
     
       generate_dh_params ();
     
    @@ -5365,7 +5355,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       SOCKET_ERR (err, "bind");
    @@ -5400,6 +5390,7 @@
           /* see the Getting peer's information example */
           /* print_info(session); */
     
    +      i = 0;
           for (;;)
     	{
     	  memset (buffer, 0, MAX_BUF + 1);
    @@ -5443,8 +5434,8 @@
     }
     
    -


    + Next: , Previous: Echo Server with OpenPGP authentication, Up: Server examples @@ -5457,9 +5448,14 @@ also possible to combine this functionality with a certificate server. Here it is separate for simplicity. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -5494,7 +5490,7 @@
     gnutls_srp_server_credentials_t srp_cred;
     gnutls_certificate_credentials_t cert_cred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -5518,7 +5514,7 @@
     int
     main (void)
     {
    -  int err, listen_sd;
    +  int err, listen_sd, i;
       int sd, ret;
       struct sockaddr_in sa_serv;
       struct sockaddr_in sa_cli;
    @@ -5558,7 +5554,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       SOCKET_ERR (err, "bind");
    @@ -5592,6 +5588,7 @@
     
           /* print_info(session); */
     
    +      i = 0;
           for (;;)
     	{
     	  memset (buffer, 0, MAX_BUF + 1);
    @@ -5635,8 +5632,8 @@
     }
     
    -


    + Previous: Echo Server with SRP authentication, Up: Server examples @@ -5647,9 +5644,14 @@

    This example server support anonymous authentication, and could be used to serve the example client for anonymous authentication. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -5677,7 +5679,7 @@
     /* These are global */
     gnutls_anon_server_credentials_t anoncred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -5699,7 +5701,7 @@
     generate_dh_params (void)
     {
     
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -5713,7 +5715,7 @@
     int
     main (void)
     {
    -  int err, listen_sd;
    +  int err, listen_sd, i;
       int sd, ret;
       struct sockaddr_in sa_serv;
       struct sockaddr_in sa_cli;
    @@ -5743,7 +5745,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       SOCKET_ERR (err, "bind");
    @@ -5778,6 +5780,7 @@
           /* see the Getting peer's information example */
           /* print_info(session); */
     
    +      i = 0;
           for (;;)
     	{
     	  memset (buffer, 0, MAX_BUF + 1);
    @@ -5821,8 +5824,8 @@
     }
     
    -


    + Next: , Previous: Server examples, Up: How to use GnuTLS in applications @@ -5839,8 +5842,8 @@
    -


    + Next: , Up: Miscellaneous examples @@ -5851,9 +5854,14 @@

    This is a function that checks if an alert has been received in the current session. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -5861,8 +5869,6 @@
     #include <stdlib.h>
     #include <gnutls/gnutls.h>
     
    -#include "examples.h"
    -
     /* This function will check whether the given return code from
      * a gnutls function (recv/send), is an alert, and will print
      * that alert.
    @@ -5891,9 +5897,9 @@
     }
     
    +


    -


    Next: , Previous: Checking for an alert, Up: Miscellaneous examples @@ -5906,9 +5912,14 @@ listed below. That program reads the peer's certificate, and prints information about it. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007, 2008 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -5917,8 +5928,6 @@
     #include <gnutls/gnutls.h>
     #include <gnutls/x509.h>
     
    -#include "examples.h"
    -
     static const char *
     bin2hex (const void *bin, size_t bin_size)
     {
    @@ -5947,14 +5956,13 @@
     print_x509_certificate_info (gnutls_session_t session)
     {
       char serial[40];
    -  char dn[256];
    +  char dn[128];
       size_t size;
       unsigned int algo, bits;
       time_t expiration_time, activation_time;
       const gnutls_datum_t *cert_list;
       unsigned int cert_list_size = 0;
       gnutls_x509_crt_t cert;
    -  gnutls_datum_t cinfo;
     
       /* This function only works for X.509 certificates.
        */
    @@ -5967,7 +5975,6 @@
     
       if (cert_list_size > 0)
         {
    -      int ret;
     
           /* we only print information about the first certificate.
            */
    @@ -5977,19 +5984,6 @@
     
           printf ("Certificate info:\n");
     
    -      /* This is the preferred way of printing short information about
    -	 a certificate. */
    -
    -      ret = gnutls_x509_crt_print (cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo);
    -      if (ret == 0)
    -	{
    -	  printf ("\t%s\n", cinfo.data);
    -	  gnutls_free (cinfo.data);
    -	}
    -
    -      /* If you want to extract fields manually for some other reason,
    -	 below are popular example calls. */
    -
           expiration_time = gnutls_x509_crt_get_expiration_time (cert);
           activation_time = gnutls_x509_crt_get_activation_time (cert);
     
    @@ -6010,7 +6004,7 @@
           printf ("Certificate public key: %s",
     	      gnutls_pk_algorithm_get_name (algo));
     
    -      /* Print the version of the X.509
    +      /* Print the version of the X.509 
            * certificate.
            */
           printf ("\tCertificate version: #%d\n",
    @@ -6030,8 +6024,8 @@
     }
     
    -


    + Next: , Previous: X.509 certificate parsing example, Up: Miscellaneous examples @@ -6044,9 +6038,14 @@ private key. A certificate request can be later be processed by a CA, which should return a signed certificate. -
    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -6130,9 +6129,9 @@
     }
     
    +


    -


    Previous: Certificate request generation, Up: Miscellaneous examples @@ -6143,9 +6142,14 @@

    The following example is about generating a PKCS #12 structure. -

    /* This example code is placed in the public domain. */
    +
    /* Copyright 2007 Free Software Foundation
    + *
    + * Copying and distribution of this file, with or without modification,
    + * are permitted in any medium without royalty provided the copyright
    + * notice and this notice are preserved.
    + */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include <config.h>
     #endif
     
    @@ -6154,8 +6158,6 @@
     #include <gnutls/gnutls.h>
     #include <gnutls/pkcs12.h>
     
    -#include "examples.h"
    -
     #define OUTFILE "out.p12"
     
     /* This function will write a pkcs12 structure into a file.
    @@ -6178,7 +6180,7 @@
       /* A good idea might be to use gnutls_x509_privkey_get_key_id()
        * to obtain a unique ID.
        */
    -  gnutls_datum_t key_id = { (char*) "\x00\x00\x07", 3 };
    +  gnutls_datum_t key_id = { "\x00\x00\x07", 3 };
     
       gnutls_global_init ();
     
    @@ -6279,8 +6281,8 @@
     }
     
    -


    + Next: , Previous: Miscellaneous examples, Up: How to use GnuTLS in applications @@ -6309,9 +6311,8 @@
    -


    -Next: , + Previous: Compatibility with the OpenSSL library, Up: How to use GnuTLS in applications @@ -6331,38 +6332,8 @@ according to the protocol. - -

    7.8 Keying Material Exporters

    - -

    -The TLS PRF can be used by other protocols to derive data. The API to -use is gnutls_prf. The function needs to be provided with the -label in the parameter label, and the extra data to mix in the -extra parameter. Depending on whether you want to mix in the -client or server random data first, you can set the -server_random_first parameter. - -

    For example, after establishing a TLS session using -gnutls_handshake, you can invoke the TLS PRF with this call: - -

         #define MYLABEL "EXPORTER-FOO"
    -     #define MYCONTEXT "some context data"
    -     char out[32];
    -     rc = gnutls_prf (session, strlen (MYLABEL), MYLABEL, 0,
    -                      strlen (MYCONTEXT), MYCONTEXT, 32, out);
    -
    -

    If you don't want to mix in the client/server random, there is a more -low-level TLS PRF interface called gnutls_prf_raw. - -

    -


    Next: , Previous: How to use GnuTLS in applications, Up: Top @@ -6385,8 +6356,8 @@
    -


    + Next: , Up: Included programs @@ -6394,11 +6365,12 @@

    8.1 Invoking certtool

    -

    +

    This is a program to generate X.509 certificates, certificate requests, CRLs and private keys. -

    Certtool help
    +
    +Certtool help
     Usage: certtool [options]
          -s, --generate-self-signed
                                   Generate a self-signed certificate.
    @@ -6415,7 +6387,7 @@
                                   The last certificate in the chain must
                                   be a self signed one.
          --verify-crl             Verify a CRL.
    -     --generate-dh-params     Generate PKCS #3 encoded Diffie-Hellman
    +     --generate-dh-params     Generate PKCS #3 encoded Diffie Hellman
                                   parameters.
          --get-dh-params          Get the included PKCS #3 encoded Diffie
                                   Hellman parameters.
    @@ -6458,6 +6430,7 @@
          -d, --debug LEVEL        specify the debug level. Default is 1.
          -h, --help               shows this help text
          -v, --version            shows the program's version
    +     --copyright              shows the program's license
     

    The program can be used interactively or non interactively by @@ -6467,7 +6440,7 @@

    How to use certtool interactively:

      -
    • To generate parameters for Diffie-Hellman key exchange, use the command: +
    • To generate parameters for Diffie Hellman key exchange, use the command:
                $ certtool --generate-dh-params --outfile dh.pem
       
    • To generate parameters for the RSA-EXPORT key exchange, use the command: @@ -6484,14 +6457,10 @@

      Note that a self-signed certificate usually belongs to a certificate authority, that signs other certificates. -

    • To create a private key (RSA by default), run: +
    • To create a private key, run:
                $ certtool --generate-privkey --outfile key.pem
       
      -

      To create a DSA private key, run: - -

                $ certtool --dsa --generate-privkey --outfile key-dsa.pem
      -
    • To generate a certificate using the private key, use the command:
                $ certtool --generate-certificate --load-privkey key.pem \
      @@ -6606,7 +6575,6 @@
            
            # A dnsname in case of a WWW server.
            #dns_name = "www.none.org"
      -     #dns_name = "www.morethanone.org"
            
            # An IP address in case of a server.
            #ip_address = "192.168.1.1"
      @@ -6652,9 +6620,9 @@
            #time_stamping_key
       
      +


      -


      Next: , Previous: Invoking certtool, Up: Included programs @@ -6663,12 +6631,13 @@

      8.2 Invoking gnutls-cli

      -

      +

      Simple client program to set up a TLS connection to some other computer. It sets up a TLS connection and forwards data from the standard input to the secured socket and vice versa. -

      GNU TLS test client
      +
      +GNU TLS test client
       Usage:  gnutls-cli [options] hostname
       
            -d, --debug integer      Enable debugging
      @@ -6684,6 +6653,7 @@
                                     of the key.
            --disable-extensions     Disable all the TLS extensions.
            --print-cert             Print the certificate in PEM format.
      +     -p, --port integer       The port to connect to.
            --recordsize integer     The maximum record size to advertize.
            -V, --verbose            More verbose output.
            --ciphers cipher1 cipher2...
      @@ -6695,30 +6665,24 @@
            --kx kx1 kx2...          Key exchange methods to enable.
            --ctypes certType1 certType2...
                                     Certificate types to enable.
      -     --priority PRIORITY STRING
      -                              Priorities string.
            --x509cafile FILE        Certificate file to use.
            --x509crlfile FILE       CRL file to use.
            --pgpkeyfile FILE        PGP Key file to use.
            --pgpkeyring FILE        PGP Key ring file to use.
      +     --pgptrustdb FILE        PGP trustdb file to use.
            --pgpcertfile FILE       PGP Public Key (certificate) file to
                                     use.
      -     --pgpsubkey HEX|auto     PGP subkey to use.
            --x509keyfile FILE       X.509 key file to use.
            --x509certfile FILE      X.509 Certificate file to use.
            --srpusername NAME       SRP username to use.
            --srppasswd PASSWD       SRP password to use.
      -     --pskusername NAME       PSK username to use.
      -     --pskkey KEY             PSK key (in hex) to use.
      -     --opaque-prf-input DATA
      -                              Use Opaque PRF Input DATA.
      -     -p, --port PORT          The port to connect to.
            --insecure               Don't abort program if server
                                     certificate can't be validated.
            -l, --list               Print a list of the supported
      -                              algorithms and modes.
      +                              algorithms  and modes.
            -h, --help               prints this help
            -v, --version            prints the program's version number
      +     --copyright              prints the program's license
       

      To connect to a server using PSK authentication, you may use something @@ -6731,15 +6695,15 @@

    8.2.1 Example client PSK connection

    -

    +

    If your server only supports the PSK ciphersuite, connecting to it should be as simple as connecting to the server: @@ -6763,7 +6727,7 @@ to chose PSK by using a cipher priority parameter such as --priority NORMAL:+PSK:-RSA:-DHE-RSA:-DHE-PSK. -

    Instead of using the Netconf-way to derive the PSK key from a +

    Instead of using the Netconf-way to derive the PSK key from a password, you can also give the PSK username and key directly on the command line: @@ -6785,9 +6749,9 @@ the handshake.

    +


    -


    Next: , Previous: Invoking gnutls-cli, Up: Included programs @@ -6796,7 +6760,7 @@

    8.3 Invoking gnutls-cli-debug

    -

    +

    This program was created to assist in debugging GnuTLS, but it might be useful to extract a TLS server's capabilities. It's purpose is to connect onto a TLS server, perform some @@ -6824,9 +6788,9 @@ Checking for export-grade ciphersuite support... no Checking RSA-export ciphersuite info... N/A Checking for anonymous authentication support... no - Checking anonymous Diffie-Hellman group info... N/A - Checking for ephemeral Diffie-Hellman support... no - Checking ephemeral Diffie-Hellman group info... N/A + Checking anonymous Diffie Hellman group info... N/A + Checking for ephemeral Diffie Hellman support... no + Checking ephemeral Diffie Hellman group info... N/A Checking for AES cipher support (TLS extension)... yes Checking for 3DES cipher support... yes Checking for ARCFOUR 128 cipher support... yes @@ -6840,9 +6804,9 @@ Checking for OpenPGP authentication support (TLS extension)... no

    +


    -


    Next: , Previous: Invoking gnutls-cli-debug, Up: Included programs @@ -6851,14 +6815,15 @@

    8.4 Invoking gnutls-serv

    -

    +

    Simple server program that listens to incoming TLS connections. -

    GNU TLS test server
    +
    +GNU TLS test server
     Usage: gnutls-serv [options]
     
          -d, --debug integer      Enable debugging
    -     -g, --generate           Generate Diffie-Hellman Parameters.
    +     -g, --generate           Generate Diffie Hellman Parameters.
          -p, --port integer       The port to connect to.
          -q, --quiet              Suppress some messages.
          --nodb                   Does not use the resume database.
    @@ -6869,25 +6834,17 @@
          --x509cafile FILE        Certificate file to use.
          --x509crlfile FILE       CRL file to use.
          --pgpkeyring FILE        PGP Key ring file to use.
    +     --pgptrustdb FILE        PGP trustdb file to use.
          --pgpkeyfile FILE        PGP Key file to use.
          --pgpcertfile FILE       PGP Public Key (certificate) file to
                                   use.
    -     --pgpsubkey HEX|auto     PGP subkey to use.
          --x509keyfile FILE       X.509 key file to use.
          --x509certfile FILE      X.509 Certificate file to use.
          --x509dsakeyfile FILE    Alternative X.509 key file to use.
          --x509dsacertfile FILE   Alternative X.509 certificate file to
                                   use.
    -     -r, --require-cert       Require a valid certificate.
    -     -a, --disable-client-cert
    -                              Disable request for a client
    -                              certificate.
    -     --pskpasswd FILE         PSK password file to use.
    -     --pskhint HINT           PSK identity hint to use.
          --srppasswd FILE         SRP password file to use.
          --srppasswdconf FILE     SRP password conf file to use.
    -     --opaque-prf-input DATA
    -                              Use Opaque PRF Input DATA.
          --ciphers cipher1 cipher2...
                                   Ciphers to enable.
          --protocols protocol1 protocol2...
    @@ -6897,17 +6854,16 @@
          --kx kx1 kx2...          Key exchange methods to enable.
          --ctypes certType1 certType2...
                                   Certificate types to enable.
    -     --priority PRIORITY STRING
    -                              Priorities string.
          -l, --list               Print a list of the supported
                                   algorithms  and modes.
          -h, --help               prints this help
          -v, --version            prints the program's version number
    +     --copyright              prints the program's license
     

    8.4.1 Setting Up a Test HTTPS Server

    -

    +

    Running your own TLS server based on GnuTLS can be useful when debugging clients and/or GnuTLS itself. This section describes how to use gnutls-serv as a simple HTTPS server. @@ -7055,15 +7011,15 @@

    8.4.2 Example server PSK connection

    -

    +

    To set up a PSK server with gnutls-serv you need to create PSK password file (see Invoking psktool). In the example below, I type password at the prompt. @@ -7079,14 +7035,14 @@ disable DHE-PSK.

         $ ./gnutls-serv --pskpasswd psks.txt  --pskhint psk_identity_hint --priority NORMAL:-DHE-PSK
    -     Set static Diffie-Hellman parameters, consider --dhparams.
    +     Set static Diffie Hellman parameters, consider --dhparams.
          Echo Server ready. Listening to port '5556'.
     

    You can now connect to the server using a PSK client (see Example client PSK connection).

    -


    + Next: , Previous: Invoking gnutls-serv, Up: Included programs @@ -7095,10 +7051,11 @@

    8.5 Invoking psktool

    -

    +

    This is a program to manage PSK username and keys. -

    PSKtool help
    +
    +PSKtool help
     Usage : psktool [options]
          -u, --username username
                                   specify username.
    @@ -7119,8 +7076,8 @@
     empty PSK identity hint, using --netconf-hint "".
     
     
    -


    + Previous: Invoking psktool, Up: Included programs @@ -7128,16 +7085,13 @@

    8.6 Invoking srptool

    -

    +

    The srptool is a very simple program that emulates the programs -in the Stanford SRP libraries, see -http://srp.stanford.edu/. It is intended for use in places -where you don't expect SRP authentication to be the used for -system users. - -

    Traditionally libsrp used two files. One called tpasswd -which holds usernames and verifiers, and tpasswd.conf which -holds generators and primes. +in the Stanford SRP libraries. It is intended for use in +places where you don't expect SRP authentication to be the +used for system users. Traditionally libsrp used two +files. One called 'tpasswd' which holds usernames and verifiers, and +'tpasswd.conf' which holds generators and primes.

    How to use srptool: @@ -7148,13 +7102,13 @@

              $ srptool --create-conf /etc/tpasswd.conf
     
  • This command will create /etc/tpasswd and will add user 'test' (you -will also be prompted for a password). Verifiers are stored by -default in the way libsrp expects. +will also be prompted for a password). Verifiers are stored by default +in the way libsrp expects.
              $ srptool --passwd /etc/tpasswd \
                   --passwd-conf /etc/tpasswd.conf -u test
     
    -
  • This command will check against a password. If the password matches +
  • This command will check against a password. If the password matches the one in /etc/tpasswd you will get an ok.
              $ srptool --passwd /etc/tpasswd \
    @@ -7163,8 +7117,8 @@
          
     
     
    -


    + Next: , Previous: Included programs, Up: Top @@ -7173,7 +7127,7 @@

    9 Function Reference

    -

    +

    -


    + Next: , Up: Function reference @@ -7202,7 +7156,7 @@

    -— Function: const char * gnutls_alert_get_name (gnutls_alert_description_t alert)
    +— Function: const char * gnutls_alert_get_name (gnutls_alert_description_t alert)

    alert: is an alert number gnutls_session_t structure.

    This function will return a string that describes the given alert @@ -7216,7 +7170,7 @@

    -— Function: gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session)
    +— Function: gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function will return the last alert number received. This @@ -7236,7 +7190,7 @@

    -— Function: int gnutls_alert_send_appropriate (gnutls_session_t session, int err)
    +— Function: int gnutls_alert_send_appropriate (gnutls_session_t session, int err)

    session: is a gnutls_session_t structure.

    err: is an integer @@ -7260,7 +7214,7 @@

    -— Function: int gnutls_alert_send (gnutls_session_t session, gnutls_alert_level_t level, gnutls_alert_description_t desc)
    +— Function: int gnutls_alert_send (gnutls_session_t session, gnutls_alert_level_t level, gnutls_alert_description_t desc)

    session: is a gnutls_session_t structure.

    level: is the level of the alert @@ -7285,8 +7239,8 @@

    -— Function: int gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_anon_client_credentials_t structure. +— Function: int gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_anon_client_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -7299,8 +7253,8 @@

    -— Function: int gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_anon_server_credentials_t structure. +— Function: int gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_anon_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -7313,8 +7267,8 @@

    -— Function: void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc)
    -

    sc: is a gnutls_anon_client_credentials_t structure. +— Function: void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc)
    +

    sc: is an gnutls_anon_client_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -7325,8 +7279,8 @@

    -— Function: void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc)
    -

    sc: is a gnutls_anon_server_credentials_t structure. +— Function: void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc)
    +

    sc: is an gnutls_anon_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -7337,13 +7291,13 @@

    -— Function: void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, gnutls_params_function * func)
    +— Function: void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, gnutls_params_function * func)

    res: is a gnutls_anon_server_credentials_t structure

    func: is the function to be called

    This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for anonymous authentication. +the diffie hellman or RSA parameters for anonymous authentication. The callback should return zero on success.

    @@ -7352,14 +7306,14 @@

    -— Function: void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, gnutls_dh_params_t dh_params)
    +— Function: void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, gnutls_dh_params_t dh_params)

    res: is a gnutls_anon_server_credentials_t structure -

    dh_params: is a structure that holds Diffie-Hellman parameters. +

    dh_params: is a structure that holds diffie hellman parameters. -

    This function will set the Diffie-Hellman parameters for an +

    This function will set the diffie hellman parameters for an anonymous server to use. These parameters will be used in -Anonymous Diffie-Hellman cipher suites. +Anonymous Diffie Hellman cipher suites.

    gnutls_anon_set_server_params_function

    @@ -7367,13 +7321,13 @@

    -— Function: void gnutls_anon_set_server_params_function (gnutls_anon_server_credentials_t res, gnutls_params_function * func)
    +— Function: void gnutls_anon_set_server_params_function (gnutls_anon_server_credentials_t res, gnutls_params_function * func)

    res: is a gnutls_certificate_credentials_t structure

    func: is the function to be called

    This function will set a callback in order for the server to get -the Diffie-Hellman parameters for anonymous authentication. The +the diffie hellman parameters for anonymous authentication. The callback should return zero on success.

    @@ -7382,7 +7336,7 @@

    -— Function: gnutls_credentials_type_t gnutls_auth_client_get_type (gnutls_session_t session)
    +— Function: gnutls_credentials_type_t gnutls_auth_client_get_type (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Returns the type of credentials that were used for client authentication. @@ -7390,7 +7344,7 @@ to access authentication data.

    Returns: The type of credentials for the client authentication -schema, a gnutls_credentials_type_t type. +schema, an gnutls_credentials_type_t type.

    gnutls_auth_get_type

    @@ -7398,19 +7352,19 @@

    -— Function: gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session)
    +— Function: gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Returns type of credentials for the current authentication schema. The returned information is to be used to distinguish the function used to access authentication data. -

    Eg. for CERTIFICATE ciphersuites (key exchange algorithms: -GNUTLS_KX_RSA, GNUTLS_KX_DHE_RSA), the same function are to be -used to access the authentication data. +

    Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, +KX_DHE_RSA), the same function are to be used to access the +authentication data.

    Returns: The type of credentials for the current authentication -schema, a gnutls_credentials_type_t type. +schema, an gnutls_credentials_type_t type.

    gnutls_auth_server_get_type

    @@ -7418,7 +7372,7 @@

    -— Function: gnutls_credentials_type_t gnutls_auth_server_get_type (gnutls_session_t session)
    +— Function: gnutls_credentials_type_t gnutls_auth_server_get_type (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Returns the type of credentials that were used for server authentication. @@ -7426,7 +7380,7 @@ to access authentication data.

    Returns: The type of credentials for the server authentication -schema, a gnutls_credentials_type_t type. +schema, an gnutls_credentials_type_t type.

    gnutls_bye

    @@ -7434,7 +7388,7 @@

    -— Function: int gnutls_bye (gnutls_session_t session, gnutls_close_request_t how)
    +— Function: int gnutls_bye (gnutls_session_t session, gnutls_close_request_t how)

    session: is a gnutls_session_t structure.

    how: is an integer @@ -7473,15 +7427,13 @@

    -— Function: time_t gnutls_certificate_activation_time_peers (gnutls_session_t session)
    +— Function: time_t gnutls_certificate_activation_time_peers (gnutls_session_t session)

    session: is a gnutls session

    This function will return the peer's certificate activation time. This is the creation time for openpgp keys. -

    Returns: (time_t)-1 on error. - -

    Deprecated: gnutls_certificate_verify_peers2() now verifies activation times. +

    Returns: (time_t)-1 on error.

    gnutls_certificate_allocate_credentials

    @@ -7489,8 +7441,8 @@

    -— Function: int gnutls_certificate_allocate_credentials (gnutls_certificate_credentials_t * res)
    -

    res: is a pointer to a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_allocate_credentials (gnutls_certificate_credentials_t * res)
    +

    res: is a pointer to an gnutls_certificate_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -7503,7 +7455,7 @@

    -— Function: int gnutls_certificate_client_get_request_status (gnutls_session_t session)
    +— Function: int gnutls_certificate_client_get_request_status (gnutls_session_t session)

    session: is a gnutls session

    Get whether client certificate is requested or not. @@ -7518,7 +7470,7 @@

    -— Function: void gnutls_certificate_client_set_retrieve_function (gnutls_certificate_credentials_t cred, gnutls_certificate_client_retrieve_function * func)
    +— Function: void gnutls_certificate_client_set_retrieve_function (gnutls_certificate_credentials_t cred, gnutls_certificate_client_retrieve_function * func)

    cred: is a gnutls_certificate_credentials_t structure.

    func: is the callback function @@ -7554,14 +7506,12 @@

    -— Function: time_t gnutls_certificate_expiration_time_peers (gnutls_session_t session)
    +— Function: time_t gnutls_certificate_expiration_time_peers (gnutls_session_t session)

    session: is a gnutls session

    This function will return the peer's certificate expiration time. -

    Returns: (time_t)-1 on error. - -

    Deprecated: gnutls_certificate_verify_peers2() now verifies expiration times. +

    Returns: (time_t)-1 on error.

    gnutls_certificate_free_ca_names

    @@ -7569,8 +7519,8 @@

    -— Function: void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This function will delete all the CA name in the given credentials. Clients may call this to save some memory @@ -7585,8 +7535,8 @@

    -— Function: void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This function will delete all the CAs associated with the given credentials. Servers that do not use @@ -7599,8 +7549,8 @@

    -— Function: void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -7615,8 +7565,8 @@

    -— Function: void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This function will delete all the CRLs associated with the given credentials. @@ -7627,8 +7577,8 @@

    -— Function: void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This function will delete all the keys and the certificates associated with the given credentials. This function must not be called when a @@ -7640,10 +7590,8 @@

    -— Function: void gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, gnutls_openpgp_keyring_t * keyring)
    -

    sc: is a gnutls_certificate_credentials_t structure. - -

    keyring: the exported keyring. Should be treated as constant +— Function: void gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, gnutls_openpgp_keyring_t * keyring)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    This function will export the OpenPGP keyring associated with the given credentials. @@ -7656,7 +7604,7 @@

    -— Function: const gnutls_datum_t * gnutls_certificate_get_ours (gnutls_session_t session)
    +— Function: const gnutls_datum_t * gnutls_certificate_get_ours (gnutls_session_t session)

    session: is a gnutls session

    Get the certificate as sent to the peer, in the last handshake. @@ -7673,7 +7621,7 @@

    -— Function: const gnutls_datum_t * gnutls_certificate_get_peers (gnutls_session_t session, unsigned int * list_size)
    +— Function: const gnutls_datum_t * gnutls_certificate_get_peers (gnutls_session_t session, unsigned int * list_size)

    session: is a gnutls session

    list_size: is the length of the certificate list @@ -7697,8 +7645,8 @@

    -— Function: void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, gnutls_x509_crt_t ** x509_ca_list, unsigned int * ncas)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, gnutls_x509_crt_t ** x509_ca_list, unsigned int* ncas)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    x509_ca_list: will point to the CA list. Should be treated as constant @@ -7715,8 +7663,8 @@

    -— Function: void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, gnutls_x509_crl_t ** x509_crl_list, unsigned int * ncrls)
    -

    sc: is a gnutls_certificate_credentials_t structure. +— Function: void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, gnutls_x509_crl_t ** x509_crl_list, unsigned int* ncrls)
    +

    sc: is an gnutls_certificate_credentials_t structure.

    x509_crl_list: the exported CRL list. Should be treated as constant @@ -7733,7 +7681,7 @@

    -— Function: void gnutls_certificate_send_x509_rdn_sequence (gnutls_session_t session, int status)
    +— Function: void gnutls_certificate_send_x509_rdn_sequence (gnutls_session_t session, int status)

    session: is a pointer to a gnutls_session_t structure.

    status: is 0 or 1 @@ -7753,8 +7701,8 @@

    -— Function: void gnutls_certificate_server_set_request (gnutls_session_t session, gnutls_certificate_request_t req)
    -

    session: is a gnutls_session_t structure. +— Function: void gnutls_certificate_server_set_request (gnutls_session_t session, gnutls_certificate_request_t req)
    +

    session: is an gnutls_session_t structure.

    req: is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE @@ -7771,7 +7719,7 @@

    -— Function: void gnutls_certificate_server_set_retrieve_function (gnutls_certificate_credentials_t cred, gnutls_certificate_server_retrieve_function * func)
    +— Function: void gnutls_certificate_server_set_retrieve_function (gnutls_certificate_credentials_t cred, gnutls_certificate_server_retrieve_function * func)

    cred: is a gnutls_certificate_credentials_t structure.

    func: is the callback function @@ -7796,14 +7744,14 @@

    -— Function: void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, gnutls_dh_params_t dh_params)
    +— Function: void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, gnutls_dh_params_t dh_params)

    res: is a gnutls_certificate_credentials_t structure -

    dh_params: is a structure that holds Diffie-Hellman parameters. +

    dh_params: is a structure that holds diffie hellman parameters. -

    This function will set the Diffie-Hellman parameters for a +

    This function will set the diffie hellman parameters for a certificate server to use. These parameters will be used in -Ephemeral Diffie-Hellman cipher suites. Note that only a pointer +Ephemeral Diffie Hellman cipher suites. Note that only a pointer to the parameters are stored in the certificate handle, so if you deallocate the parameters before the certificate is deallocated, you must change the parameters stored in the certificate first. @@ -7814,13 +7762,13 @@

    -— Function: void gnutls_certificate_set_params_function (gnutls_certificate_credentials_t res, gnutls_params_function * func)
    +— Function: void gnutls_certificate_set_params_function (gnutls_certificate_credentials_t res, gnutls_params_function * func)

    res: is a gnutls_certificate_credentials_t structure

    func: is the function to be called

    This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for certificate +the diffie hellman or RSA parameters for certificate authentication. The callback should return zero on success.

    @@ -7829,7 +7777,7 @@

    -— Function: void gnutls_certificate_set_rsa_export_params (gnutls_certificate_credentials_t res, gnutls_rsa_params_t rsa_params)
    +— Function: void gnutls_certificate_set_rsa_export_params (gnutls_certificate_credentials_t res, gnutls_rsa_params_t rsa_params)

    res: is a gnutls_certificate_credentials_t structure

    rsa_params: is a structure that holds temporary RSA parameters. @@ -7844,7 +7792,7 @@

    -— Function: void gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res, unsigned int flags)
    +— Function: void gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res, unsigned int flags)

    res: is a gnutls_certificate_credentials_t structure

    flags: are the flags @@ -7859,7 +7807,7 @@

    -— Function: void gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t res, unsigned int max_bits, unsigned int max_depth)
    +— Function: void gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t res, unsigned int max_bits, unsigned int max_depth)

    res: is a gnutls_certificate_credentials structure

    max_bits: is the number of bits of an acceptable certificate (default 8200) @@ -7877,8 +7825,8 @@

    -— Function: int gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t res, const char * crlfile, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t res, const char * crlfile, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure.

    crlfile: is a file containing the list of verified CRLs (DER or PEM list) @@ -7898,8 +7846,8 @@

    -— Function: int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * CRL, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * CRL, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure.

    CRL: is a list of trusted CRLs. They should have been verified before. @@ -7919,8 +7867,8 @@

    -— Function: int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, gnutls_x509_crl_t * crl_list, int crl_list_size)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, gnutls_x509_crl_t * crl_list, int crl_list_size)
    +

    res: is an gnutls_certificate_credentials_t structure.

    crl_list: is a list of trusted CRLs. They should have been verified before. @@ -7942,13 +7890,13 @@

    -— Function: int gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t res, const char * certfile, const char * keyfile, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t res, const char * CERTFILE, const char * KEYFILE, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure. -

    certfile: is a file that containing the certificate list (path) for +

    CERTFILE: is a file that containing the certificate list (path) for the specified private key, in PKCS7 format, or a list of certificates -

    keyfile: is a file that contains the private key +

    KEYFILE: is a file that contains the private key

    type: is PEM or DER @@ -7968,8 +7916,8 @@

    -— Function: int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * cert, const gnutls_datum_t * key, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * cert, const gnutls_datum_t * key, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure.

    cert: contains a certificate list (path) for the specified private key @@ -8006,8 +7954,8 @@

    -— Function: int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, gnutls_x509_crt_t * cert_list, int cert_list_size, gnutls_x509_privkey_t key)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, gnutls_x509_crt_t * cert_list, int cert_list_size, gnutls_x509_privkey_t key)
    +

    res: is an gnutls_certificate_credentials_t structure.

    cert_list: contains a certificate list (path) for the specified private key @@ -8030,8 +7978,8 @@

    -— Function: int gnutls_certificate_set_x509_simple_pkcs12_file (gnutls_certificate_credentials_t res, const char * pkcs12file, gnutls_x509_crt_fmt_t type, const char * password)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_simple_pkcs12_file (gnutls_certificate_credentials_t res, const char * pkcs12file, gnutls_x509_crt_fmt_t type, const char * password)
    +

    res: is an gnutls_certificate_credentials_t structure.

    pkcs12file: filename of file containing PKCS12 blob. @@ -8065,55 +8013,13 @@

    Returns: GNUTLS_E_SUCCESS on success, or an error code.

    -

    gnutls_certificate_set_x509_simple_pkcs12_mem

    - -

    - -

    -— Function: int gnutls_certificate_set_x509_simple_pkcs12_mem (gnutls_certificate_credentials_t res, const gnutls_datum * p12blob, gnutls_x509_crt_fmt_t type, const char * password)
    -

    res: is a gnutls_certificate_credentials_t structure. - -

    p12blob: the PKCS12 blob. - -

    type: is PEM or DER of the pkcs12file. - -

    password: optional password used to decrypt PKCS12 file, bags and keys. - -

    This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). - -

    MAC: ed PKCS12 files are supported. Encrypted PKCS12 bags are -supported. Encrypted PKCS8 private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - -

    The private keys may be RSA PKCS1 or DSA private keys encoded in -the OpenSSL way. - -

    PKCS12 file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS12 file only contain one key/certificate -pair and/or one CRL. - -

    It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. - -

    Returns: GNUTLS_E_SUCCESS on success, or an error code. - -

    Since: 2.8.0 -

    -

    gnutls_certificate_set_x509_trust_file

    -— Function: int gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t res, const char * cafile, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t res, const char * cafile, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure.

    cafile: is a file containing the list of trusted CAs (DER or PEM list) @@ -8138,8 +8044,8 @@

    -— Function: int gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * ca, gnutls_x509_crt_fmt_t type)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * ca, gnutls_x509_crt_fmt_t type)
    +

    res: is an gnutls_certificate_credentials_t structure.

    ca: is a list of trusted CAs or a DER certificate @@ -8164,8 +8070,8 @@

    -— Function: int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, gnutls_x509_crt_t * ca_list, int ca_list_size)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, gnutls_x509_crt_t * ca_list, int ca_list_size)
    +

    res: is an gnutls_certificate_credentials_t structure.

    ca_list: is a list of trusted CAs @@ -8191,13 +8097,13 @@

    -— Function: gnutls_certificate_type_t gnutls_certificate_type_get_id (const char * name)
    +— Function: gnutls_certificate_type_t gnutls_certificate_type_get_id (const char* name)

    name: is a certificate type name

    The names are compared in a case insensitive way. -

    Returns: a gnutls_certificate_type_t for the specified in a -string certificate type, or GNUTLS_CRT_UNKNOWN on error. +

    Returns: an id of the specified in a string certificate type, or +GNUTLS_CRT_UNKNOWN on error.

    gnutls_certificate_type_get_name

    @@ -8205,7 +8111,7 @@

    -— Function: const char * gnutls_certificate_type_get_name (gnutls_certificate_type_t type)
    +— Function: const char * gnutls_certificate_type_get_name (gnutls_certificate_type_t type)

    type: is a certificate type

    Convert a gnutls_certificate_type_t type to a string. @@ -8219,7 +8125,7 @@

    -— Function: gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t session)
    +— Function: gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    The certificate type is by default X.509, unless it is negotiated @@ -8234,7 +8140,7 @@

    -— Function: const gnutls_certificate_type_t * gnutls_certificate_type_list ( void)
    +— Function: const gnutls_certificate_type_t * gnutls_certificate_type_list ( void)

    Get a list of certificate types. Note that to be able to use OpenPGP certificates, you must link to libgnutls-extra and call @@ -8249,7 +8155,7 @@

    -— Function: int gnutls_certificate_type_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_certificate_type_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_certificate_type_t elements. @@ -8269,7 +8175,7 @@

    -— Function: int gnutls_certificate_verify_peers2 (gnutls_session_t session, unsigned int * status)
    +— Function: int gnutls_certificate_verify_peers2 (gnutls_session_t session, unsigned int * status)

    session: is a gnutls session

    status: is the output of the verification @@ -8285,8 +8191,8 @@

    Note that you must also check the peer's name in order to check if the verified certificate belongs to the actual peer. -

    This function uses gnutls_x509_crt_list_verify() with the CAs in -the credentials as trusted CAs. +

    This is the same as gnutls_x509_crt_list_verify() and uses the +loaded CAs in the credentials as trusted CAs.

    Note that some commonly used X.509 Certificate Authorities are still using Version 1 certificates. If you want to accept them, @@ -8301,7 +8207,7 @@

    -— Function: int gnutls_certificate_verify_peers (gnutls_session_t session)
    +— Function: int gnutls_certificate_verify_peers (gnutls_session_t session)

    session: is a gnutls session

    This function will try to verify the peer's certificate and return @@ -8309,10 +8215,11 @@ the peer's name in order to check if the verified certificate belongs to the actual peer. -

    This function uses gnutls_x509_crt_list_verify(). +

    The return value should be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd, or a +negative value on error. -

    Returns: one or more of the gnutls_certificate_status_t -enumerated elements bitwise or'd, or a negative value on error. +

    This is the same as gnutls_x509_crt_list_verify().

    Deprecated: Use gnutls_certificate_verify_peers2() instead.

    @@ -8322,18 +8229,20 @@

    -— Function: const char * gnutls_check_version (const char * req_version)
    -

    req_version: version string to compare with, or NULL. - -

    Check GnuTLS Library version. +— Function: const char * gnutls_check_version (const char * req_version)
    +

    req_version: the version to check -

    See GNUTLS_VERSION for a suitable req_version string. - -

    Return value: Check that the version of the library is at -minimum the one given as a string in req_version and return the -actual version string of the library; return NULL if the -condition is not met. If NULL is passed to this function no -check is done and only the version string is returned. +

    Check that the version of the library is at minimum the requested one +and return the version string; return NULL if the condition is not +satisfied. If a NULL is passed to this function, no check is done, +but the version string is simply returned. + +

    See LIBGNUTLS_VERSION for a suitable req_version string. + +

    Return value: Version string of run-time library, or NULL if the +run-time library does not meet the required version number. If +NULL is passed to this function no check is done and only the +version string is returned.

    gnutls_cipher_get_id

    @@ -8341,10 +8250,8 @@

    -— Function: gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char * name)
    -

    name: is a MAC algorithm name - -

    The names are compared in a case insensitive way. +— Function: gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char* name)
    +

    The names are compared in a case insensitive way.

    Returns: return a gnutls_cipher_algorithm_t value corresponding to the specified cipher, or GNUTLS_CIPHER_UNKNOWN on error. @@ -8355,7 +8262,7 @@

    -— Function: size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm)
    +— Function: size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm)

    algorithm: is an encryption algorithm

    Get key size for cipher. @@ -8369,7 +8276,7 @@

    -— Function: const char * gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm)
    +— Function: const char * gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm)

    algorithm: is an encryption algorithm

    Convert a gnutls_cipher_algorithm_t type to a string. @@ -8383,12 +8290,12 @@

    -— Function: gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session)
    +— Function: gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get currently used cipher. -

    Returns: the currently used cipher, a gnutls_cipher_algorithm_t +

    Returns: the currently used cipher, an gnutls_cipher_algorithm_t type.

    @@ -8397,7 +8304,7 @@

    -— Function: const gnutls_cipher_algorithm_t * gnutls_cipher_list ( void)
    +— Function: const gnutls_cipher_algorithm_t * gnutls_cipher_list ( void)

    Get a list of supported cipher algorithms. Note that not necessarily all ciphers are supported as TLS cipher suites. For @@ -8413,7 +8320,7 @@

    -— Function: int gnutls_cipher_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_cipher_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_cipher_algorithm_t elements. @@ -8433,7 +8340,7 @@

    -— Function: const char * gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, gnutls_cipher_algorithm_t cipher_algorithm, gnutls_mac_algorithm_t mac_algorithm)
    +— Function: const char * gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, gnutls_cipher_algorithm_t cipher_algorithm, gnutls_mac_algorithm_t mac_algorithm)

    kx_algorithm: is a Key exchange algorithm

    cipher_algorithm: is a cipher algorithm @@ -8452,7 +8359,7 @@

    -— Function: const char * gnutls_cipher_suite_info (size_t idx, char * cs_id, gnutls_kx_algorithm_t * kx, gnutls_cipher_algorithm_t * cipher, gnutls_mac_algorithm_t * mac, gnutls_protocol_t * version)
    +— Function: const char * gnutls_cipher_suite_info (size_t idx, char * cs_id, gnutls_kx_algorithm_t * kx, gnutls_cipher_algorithm_t * cipher, gnutls_mac_algorithm_t * mac, gnutls_protocol_t * version)

    idx: index of cipher suite to get information about, starts on 0.

    cs_id: output buffer with room for 2 bytes, indicating cipher suite value @@ -8480,10 +8387,8 @@

    -— Function: gnutls_compression_method_t gnutls_compression_get_id (const char * name)
    -

    name: is a compression method name - -

    The names are compared in a case insensitive way. +— Function: gnutls_compression_method_t gnutls_compression_get_id (const char* name)
    +

    The names are compared in a case insensitive way.

    Returns: an id of the specified in a string compression method, or GNUTLS_COMP_UNKNOWN on error. @@ -8494,7 +8399,7 @@

    -— Function: const char * gnutls_compression_get_name (gnutls_compression_method_t algorithm)
    +— Function: const char * gnutls_compression_get_name (gnutls_compression_method_t algorithm)

    algorithm: is a Compression algorithm

    Convert a gnutls_compression_method_t value to a string. @@ -8508,7 +8413,7 @@

    -— Function: gnutls_compression_method_t gnutls_compression_get (gnutls_session_t session)
    +— Function: gnutls_compression_method_t gnutls_compression_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get currently used compression algorithm. @@ -8522,7 +8427,7 @@

    -— Function: const gnutls_compression_method_t * gnutls_compression_list ( void)
    +— Function: const gnutls_compression_method_t * gnutls_compression_list ( void)

    Get a list of compression methods. Note that to be able to use LZO compression, you must link to libgnutls-extra and call @@ -8537,7 +8442,7 @@

    -— Function: int gnutls_compression_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_compression_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_compression_method_t elements. @@ -8561,7 +8466,7 @@

    -— Function: void gnutls_credentials_clear (gnutls_session_t session)
    +— Function: void gnutls_credentials_clear (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Clears all the credentials previously set in this session. @@ -8572,299 +8477,120 @@

    -— Function: int gnutls_credentials_set (gnutls_session_t session, gnutls_credentials_type_t type, void * cred)
    +— Function: int gnutls_credentials_set (gnutls_session_t session, gnutls_credentials_type_t type, void * cred)

    session: is a gnutls_session_t structure.

    type: is the type of the credentials

    cred: is a pointer to a structure. -

    Sets the needed credentials for the specified type. Eg username, -password - or public and private keys etc. The cred parameter is -a structure that depends on the specified type and on the current -session (client or server). - -

    In order to minimize memory usage, and share credentials between -several threads gnutls keeps a pointer to cred, and not the whole -cred structure. Thus you will have to keep the structure allocated -until you call gnutls_deinit(). - -

    For GNUTLS_CRD_ANON, cred should be -gnutls_anon_client_credentials_t in case of a client. In case of -a server it should be gnutls_anon_server_credentials_t. - -

    For GNUTLS_CRD_SRP, cred should be gnutls_srp_client_credentials_t -in case of a client, and gnutls_srp_server_credentials_t, in case -of a server. - -

    For GNUTLS_CRD_CERTIFICATE, cred should be -gnutls_certificate_credentials_t. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. -

    - -

    gnutls_crypto_bigint_register2

    - -

    - -

    -— Function: int gnutls_crypto_bigint_register2 (int priority, int version, gnutls_crypto_bigint_st * s)
    -

    priority: is the priority of the interface - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new interface's data - -

    This function will register an interface for gnutls to operate -on big integers. Any interface registered will override -the included interface. The interface with the lowest -priority will be used by gnutls. - -

    Note that the bigint interface must interoperate with the public -key interface. Thus if this interface is updated the -gnutls_crypto_pk_register() should also be used. - -

    This function should be called before gnutls_global_init(). - -

    For simplicity you can use the convenience gnutls_crypto_bigint_register() -macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 -

    - -

    gnutls_crypto_cipher_register2

    - -

    - -

    -— Function: int gnutls_crypto_cipher_register2 (int priority, int version, gnutls_crypto_cipher_st * s)
    -

    priority: is the priority of the cipher interface - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new interface's data - -

    This function will register a cipher interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -

    This function should be called before gnutls_global_init(). - -

    For simplicity you can use the convenience -gnutls_crypto_cipher_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 -

    - -

    gnutls_crypto_digest_register2

    - -

    - -

    -— Function: int gnutls_crypto_digest_register2 (int priority, int version, gnutls_crypto_digest_st * s)
    -

    priority: is the priority of the digest interface - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new interface's data - -

    This function will register a digest interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -

    This function should be called before gnutls_global_init(). - -

    For simplicity you can use the convenience -gnutls_crypto_digest_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 -

    - -

    gnutls_crypto_mac_register2

    - -

    - -

    -— Function: int gnutls_crypto_mac_register2 (int priority, int version, gnutls_crypto_mac_st * s)
    -

    priority: is the priority of the mac interface - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new interface's data +

    Sets the needed credentials for the specified type. +Eg username, password - or public and private keys etc. +The (void* cred) parameter is a structure that depends on the +specified type and on the current session (client or server). +[ In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole cred +structure. Thus you will have to keep the structure allocated until +you call gnutls_deinit(). ] -

    This function will register a mac interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. +

    For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. +In case of a server it should be gnutls_anon_server_credentials_t. -

    This function should be called before gnutls_global_init(). - -

    For simplicity you can use the convenience -gnutls_crypto_mac_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. +

    For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t +in case of a client, and gnutls_srp_server_credentials_t, in case +of a server. -

    Since: 2.6.0 +

    For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t.

    -

    gnutls_crypto_pk_register2

    +

    gnutls_crypto_cipher_register

    -

    +

    -— Function: int gnutls_crypto_pk_register2 (int priority, int version, gnutls_crypto_pk_st * s)
    -

    priority: is the priority of the interface +— Function: int gnutls_crypto_cipher_register (gnutls_cipher_algorithm_t algorithm, int priority, gnutls_crypto_cipher_st* s)
    +

    algorithm: is the gnutls algorithm identifier -

    version: should be set to GNUTLS_CRYPTO_API_VERSION +

    priority: is the priority of the algorithm -

    s: is a structure holding new interface's data +

    s: is a structure holding new cipher's data -

    This function will register an interface for gnutls to operate -on public key operations. Any interface registered will override -the included interface. The interface with the lowest +

    This function will register a cipher algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls. -

    Note that the bigint interface must interoperate with the bigint -interface. Thus if this interface is updated the -gnutls_crypto_bigint_register() should also be used. - -

    This function should be called before gnutls_global_init(). - -

    For simplicity you can use the convenience gnutls_crypto_pk_register() -macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 -

    - -

    gnutls_crypto_rnd_register2

    - -

    - -

    -— Function: int gnutls_crypto_rnd_register2 (int priority, int version, gnutls_crypto_rnd_st * s)
    -

    priority: is the priority of the generator - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new generator's data - -

    This function will register a random generator to be used by -gnutls. Any generator registered will override the included -generator and by convention kernel implemented generators have -priority of 90. The generator with the lowest priority will be -used by gnutls. -

    This function should be called before gnutls_global_init(). -

    For simplicity you can use the convenience -gnutls_crypto_rnd_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 +

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error.

    -

    gnutls_crypto_single_cipher_register2

    +

    gnutls_crypto_digest_register

    -

    +

    -— Function: int gnutls_crypto_single_cipher_register2 (gnutls_cipher_algorithm_t algorithm, int priority, int version, gnutls_crypto_single_cipher_st * s)
    +— Function: int gnutls_crypto_digest_register (gnutls_digest_algorithm_t algorithm, int priority, gnutls_crypto_digest_st* s)

    algorithm: is the gnutls algorithm identifier

    priority: is the priority of the algorithm -

    version: should be set to GNUTLS_CRYPTO_API_VERSION - -

    s: is a structure holding new cipher's data +

    s: is a structure holding new algorithms's data -

    This function will register a cipher algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. +

    This function will register a digest (hash) algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls.

    This function should be called before gnutls_global_init(). -

    For simplicity you can use the convenience -gnutls_crypto_single_cipher_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 +

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error.

    -

    gnutls_crypto_single_digest_register2

    +

    gnutls_crypto_mac_register

    -

    +

    -— Function: int gnutls_crypto_single_digest_register2 (gnutls_digest_algorithm_t algorithm, int priority, int version, gnutls_crypto_single_digest_st * s)
    +— Function: int gnutls_crypto_mac_register (gnutls_mac_algorithm_t algorithm, int priority, gnutls_crypto_mac_st* s)

    algorithm: is the gnutls algorithm identifier

    priority: is the priority of the algorithm -

    version: should be set to GNUTLS_CRYPTO_API_VERSION -

    s: is a structure holding new algorithms's data -

    This function will register a digest (hash) algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. +

    This function will register a MAC algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls.

    This function should be called before gnutls_global_init(). -

    For simplicity you can use the convenience -gnutls_crypto_single_digest_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 +

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error.

    -

    gnutls_crypto_single_mac_register2

    +

    gnutls_crypto_rnd_register

    -

    +

    -— Function: int gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm, int priority, int version, gnutls_crypto_single_mac_st * s)
    -

    algorithm: is the gnutls algorithm identifier - -

    priority: is the priority of the algorithm - -

    version: should be set to GNUTLS_CRYPTO_API_VERSION +— Function: int gnutls_crypto_rnd_register (int priority, gnutls_crypto_rnd_st* s)
    +

    priority: is the priority of the generator -

    s: is a structure holding new algorithms's data +

    s: is a structure holding new generator's data -

    This function will register a MAC algorithm to be used by gnutls. -Any algorithm registered will override the included algorithms and -by convention kernel implemented algorithms have priority of 90. -The algorithm with the lowest priority will be used by gnutls. +

    This function will register a random generator to be used +by gnutls. Any generator registered will override +the included generator and by convention kernel implemented +generators have priority of 90. The generator with the lowest +priority will be used by gnutls.

    This function should be called before gnutls_global_init(). -

    For simplicity you can use the convenience -gnutls_crypto_single_mac_register() macro. - -

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error. - -

    Since: 2.6.0 +

    Returns: GNUTLS_E_SUCCESS on success, otherwise an error.

    gnutls_db_check_entry

    @@ -8872,7 +8598,7 @@

    -— Function: int gnutls_db_check_entry (gnutls_session_t session, gnutls_datum_t session_entry)
    +— Function: int gnutls_db_check_entry (gnutls_session_t session, gnutls_datum_t session_entry)

    session: is a gnutls_session_t structure.

    session_entry: is the session data (not key) @@ -8890,7 +8616,7 @@

    -— Function: void * gnutls_db_get_ptr (gnutls_session_t session)
    +— Function: void * gnutls_db_get_ptr (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get db function pointer. @@ -8904,7 +8630,7 @@

    -— Function: void gnutls_db_remove_session (gnutls_session_t session)
    +— Function: void gnutls_db_remove_session (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function will remove the current session data from the @@ -8921,7 +8647,7 @@

    -— Function: void gnutls_db_set_cache_expiration (gnutls_session_t session, int seconds)
    +— Function: void gnutls_db_set_cache_expiration (gnutls_session_t session, int seconds)

    session: is a gnutls_session_t structure.

    seconds: is the number of seconds. @@ -8935,7 +8661,7 @@

    -— Function: void gnutls_db_set_ptr (gnutls_session_t session, void * ptr)
    +— Function: void gnutls_db_set_ptr (gnutls_session_t session, void * ptr)

    session: is a gnutls_session_t structure.

    ptr: is the pointer @@ -8949,7 +8675,7 @@

    -— Function: void gnutls_db_set_remove_function (gnutls_session_t session, gnutls_db_remove_func rem_func)
    +— Function: void gnutls_db_set_remove_function (gnutls_session_t session, gnutls_db_remove_func rem_func)

    session: is a gnutls_session_t structure.

    rem_func: is the function. @@ -8966,7 +8692,7 @@

    -— Function: void gnutls_db_set_retrieve_function (gnutls_session_t session, gnutls_db_retr_func retr_func)
    +— Function: void gnutls_db_set_retrieve_function (gnutls_session_t session, gnutls_db_retr_func retr_func)

    session: is a gnutls_session_t structure.

    retr_func: is the function. @@ -8988,7 +8714,7 @@

    -— Function: void gnutls_db_set_store_function (gnutls_session_t session, gnutls_db_store_func store_func)
    +— Function: void gnutls_db_set_store_function (gnutls_session_t session, gnutls_db_store_func store_func)

    session: is a gnutls_session_t structure.

    store_func: is the function @@ -9005,7 +8731,7 @@

    -— Function: void gnutls_deinit (gnutls_session_t session)
    +— Function: void gnutls_deinit (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function clears all buffers associated with the session. @@ -9018,7 +8744,7 @@

    -— Function: int gnutls_dh_get_group (gnutls_session_t session, gnutls_datum_t * raw_gen, gnutls_datum_t * raw_prime)
    +— Function: int gnutls_dh_get_group (gnutls_session_t session, gnutls_datum_t * raw_gen, gnutls_datum_t * raw_prime)

    session: is a gnutls session

    raw_gen: will hold the generator. @@ -9026,9 +8752,9 @@

    raw_prime: will hold the prime.

    This function will return the group parameters used in the last -Diffie-Hellman authentication with the peer. These are the prime +Diffie Hellman authentication with the peer. These are the prime and the generator used. This function should be used for both -anonymous and ephemeral Diffie-Hellman. The output parameters must +anonymous and ephemeral diffie Hellman. The output parameters must be freed with gnutls_free().

    Returns: On success, GNUTLS_E_SUCCESS (0) is returned, otherwise @@ -9040,14 +8766,15 @@

    -— Function: int gnutls_dh_get_peers_public_bits (gnutls_session_t session)
    +— Function: int gnutls_dh_get_peers_public_bits (gnutls_session_t session)

    session: is a gnutls session

    Get the Diffie-Hellman public key bit size. Can be used for both -anonymous and ephemeral Diffie-Hellman. +anonymous and ephemeral diffie Hellman. -

    Returns: the public key bit size used in the last Diffie-Hellman -authentication with the peer, or a negative value in case of error. +

    Returns: the public key bit size used in the last Diffie Hellman +authentication with the peer, or a negative value in case of +error.

    gnutls_dh_get_prime_bits

    @@ -9055,18 +8782,15 @@

    -— Function: int gnutls_dh_get_prime_bits (gnutls_session_t session)
    +— Function: int gnutls_dh_get_prime_bits (gnutls_session_t session)

    session: is a gnutls session

    This function will return the bits of the prime used in the last -Diffie-Hellman authentication with the peer. Should be used for -both anonymous and ephemeral Diffie-Hellman. Note that some -ciphers, like RSA and DSA without DHE, does not use a -Diffie-Hellman exchange, and then this function will return 0. - -

    Returns: The Diffie-Hellman bit strength is returned, or 0 if no -Diffie-Hellman exchange was done, or a negative error code on -failure. +Diffie Hellman authentication with the peer. Should be used for +both anonymous and ephemeral diffie Hellman. + +

    Returns: On success, GNUTLS_E_SUCCESS (0) is returned, otherwise +an error code is returned.

    gnutls_dh_get_pubkey

    @@ -9074,15 +8798,15 @@

    -— Function: int gnutls_dh_get_pubkey (gnutls_session_t session, gnutls_datum_t * raw_key)
    +— Function: int gnutls_dh_get_pubkey (gnutls_session_t session, gnutls_datum_t * raw_key)

    session: is a gnutls session

    raw_key: will hold the public key.

    This function will return the peer's public key used in the last -Diffie-Hellman authentication. This function should be used for -both anonymous and ephemeral Diffie-Hellman. The output parameters -must be freed with gnutls_free(). +Diffie Hellman authentication. This function should be used for +both anonymous and ephemeral diffie Hellman. The output +parameters must be freed with gnutls_free().

    Returns: On success, GNUTLS_E_SUCCESS (0) is returned, otherwise an error code is returned. @@ -9093,12 +8817,12 @@

    -— Function: int gnutls_dh_get_secret_bits (gnutls_session_t session)
    +— Function: int gnutls_dh_get_secret_bits (gnutls_session_t session)

    session: is a gnutls session -

    This function will return the bits used in the last Diffie-Hellman +

    This function will return the bits used in the last Diffie Hellman authentication with the peer. Should be used for both anonymous -and ephemeral Diffie-Hellman. +and ephemeral diffie Hellman.

    Returns: On success, GNUTLS_E_SUCCESS (0) is returned, otherwise an error code is returned. @@ -9109,16 +8833,13 @@

    -— Function: int gnutls_dh_params_cpy (gnutls_dh_params_t dst, gnutls_dh_params_t src)
    +— Function: int gnutls_dh_params_cpy (gnutls_dh_params_t dst, gnutls_dh_params_t src)

    dst: Is the destination structure, which should be initialized.

    src: Is the source structure

    This function will copy the DH parameters structure from source -to destination. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +to destination.

    gnutls_dh_params_deinit

    @@ -9126,7 +8847,7 @@

    -— Function: void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params)
    +— Function: void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params)

    dh_params: Is a structure that holds the prime numbers

    This function will deinitialize the DH parameters structure. @@ -9137,7 +8858,7 @@

    -— Function: int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, gnutls_x509_crt_fmt_t format, unsigned char * params_data, size_t * params_data_size)
    +— Function: int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, gnutls_x509_crt_fmt_t format, unsigned char * params_data, size_t * params_data_size)

    params: Holds the DH parameters

    format: the format of output params. One of PEM or DER. @@ -9154,8 +8875,8 @@

    If the structure is PEM encoded, it will have a header of "BEGIN DH PARAMETERS". -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    In case of failure a negative value will be returned, and +0 on success.

    gnutls_dh_params_export_raw

    @@ -9163,7 +8884,7 @@

    -— Function: int gnutls_dh_params_export_raw (gnutls_dh_params_t params, gnutls_datum_t * prime, gnutls_datum_t * generator, unsigned int * bits)
    +— Function: int gnutls_dh_params_export_raw (gnutls_dh_params_t params, gnutls_datum_t * prime, gnutls_datum_t * generator, unsigned int * bits)

    params: Holds the DH parameters

    prime: will hold the new prime @@ -9172,13 +8893,9 @@

    bits: if non null will hold is the prime's number of bits -

    This function will export the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters will be -allocated using gnutls_malloc() and will be stored in the -appropriate datum. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function will export the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    gnutls_dh_params_generate2

    @@ -9186,7 +8903,7 @@

    -— Function: int gnutls_dh_params_generate2 (gnutls_dh_params_t params, unsigned int bits)
    +— Function: int gnutls_dh_params_generate2 (gnutls_dh_params_t params, unsigned int bits)

    params: Is the structure that the DH parameters will be stored

    bits: is the prime's number of bits @@ -9199,10 +8916,7 @@

    Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of -no use to call this in client side. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +no use to call this in client side.

    gnutls_dh_params_import_pkcs3

    @@ -9210,7 +8924,7 @@

    -— Function: int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, const gnutls_datum_t * pkcs3_params, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, const gnutls_datum_t * pkcs3_params, gnutls_x509_crt_fmt_t format)

    params: A structure where the parameters will be copied to

    pkcs3_params: should contain a PKCS3 DHParams structure PEM or DER encoded @@ -9223,8 +8937,8 @@

    If the structure is PEM encoded, it should have a header of "BEGIN DH PARAMETERS". -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    In case of failure a negative value will be returned, and +0 on success.

    gnutls_dh_params_import_raw

    @@ -9232,19 +8946,16 @@

    -— Function: int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, const gnutls_datum_t * prime, const gnutls_datum_t * generator)
    +— Function: int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, const gnutls_datum_t * prime, const gnutls_datum_t * generator)

    dh_params: Is a structure that will hold the prime numbers

    prime: holds the new prime

    generator: holds the new generator -

    This function will replace the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters should be -stored in the appropriate gnutls_datum. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function will replace the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters should be stored in the +appropriate gnutls_datum.

    gnutls_dh_params_init

    @@ -9252,13 +8963,10 @@

    -— Function: int gnutls_dh_params_init (gnutls_dh_params_t * dh_params)
    +— Function: int gnutls_dh_params_init (gnutls_dh_params_t * dh_params)

    dh_params: Is a structure that will hold the prime numbers -

    This function will initialize the DH parameters structure. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function will initialize the DH parameters structure.

    gnutls_dh_set_prime_bits

    @@ -9266,21 +8974,19 @@

    -— Function: void gnutls_dh_set_prime_bits (gnutls_session_t session, unsigned int bits)
    +— Function: void gnutls_dh_set_prime_bits (gnutls_session_t session, unsigned int bits)

    session: is a gnutls_session_t structure.

    bits: is the number of bits -

    This function sets the number of bits, for use in an Diffie-Hellman +

    This function sets the number of bits, for use in an Diffie Hellman key exchange. This is used both in DH ephemeral and DH anonymous cipher suites. This will set the minimum size of the prime that will be used for the handshake.

    In the client side it sets the minimum accepted number of bits. If a server sends a prime with less bits than that -GNUTLS_E_DH_PRIME_UNACCEPTABLE will be returned by the handshake. - -

    This function has no effect in server side. +GNUTLS_E_DH_PRIME_UNACCEPTABLE will be returned by the handshake.

    gnutls_error_is_fatal

    @@ -9288,20 +8994,19 @@

    -— Function: int gnutls_error_is_fatal (int error)
    -

    error: is a GnuTLS error code, a negative value +— Function: int gnutls_error_is_fatal (int error)
    +

    error: is an error returned by a gnutls function. Error should be a negative value. -

    If a GnuTLS function returns a negative value you may feed that -value to this function to see if the error condition is fatal. +

    If a function returns a negative value you may feed that value +to this function to see if it is fatal. Returns 1 for a fatal +error 0 otherwise. However you may want to check the +error code manually, since some non-fatal errors to the protocol +may be fatal for you (your program). -

    Note that you may want to check the error code manually, since some -non-fatal errors to the protocol may be fatal for you program. +

    This is only useful if you are dealing with errors from the +record layer or the handshake layer. -

    This function is only useful if you are dealing with errors from -the record layer or the handshake layer. - -

    Returns: 1 if the error code is fatal, for positive error values, -0 is returned. For unknown error values, -1 is returned. +

    For positive error values, 0 is returned.

    gnutls_error_to_alert

    @@ -9309,7 +9014,7 @@

    -— Function: int gnutls_error_to_alert (int err, int * level)
    +— Function: int gnutls_error_to_alert (int err, int * level)

    err: is a negative integer

    level: the alert level will be stored there @@ -9326,35 +9031,12 @@

    Returns: the alert code to use for a particular error code.

    -

    gnutls_ext_register

    - -

    - -

    -— Function: int gnutls_ext_register (int type, const char * name, gnutls_ext_parse_type_t parse_type, gnutls_ext_recv_func recv_func, gnutls_ext_send_func send_func)
    -

    type: the 16-bit integer referring to the extension type - -

    name: human printable name of the extension used for debugging - -

    parse_type: either GNUTLS_EXT_TLS or GNUTLS_EXT_APPLICATION. - -

    recv_func: a function to receive extension data - -

    send_func: a function to send extension data - -

    This function is used to register a new TLS extension handler. - -

    Returns: GNUTLS_E_SUCCESS on success, or an error code. - -

    Since: 2.6.0 -

    -

    gnutls_fingerprint

    -— Function: int gnutls_fingerprint (gnutls_digest_algorithm_t algo, const gnutls_datum_t * data, void * result, size_t * result_size)
    +— Function: int gnutls_fingerprint (gnutls_digest_algorithm_t algo, const gnutls_datum_t * data, void * result, size_t * result_size)

    algo: is a digest algorithm

    data: is the data @@ -9382,7 +9064,7 @@

    -— Function: void gnutls_free (void * ptr)
    +— Function: void gnutls_free (void * ptr)

    This function will free data pointed by ptr.

    The deallocation function used is the one set by gnutls_global_set_mem_functions(). @@ -9393,7 +9075,7 @@

    -— Function: void gnutls_global_deinit ( void)
    +— Function: void gnutls_global_deinit ( void)

    This function deinitializes the global data, that were initialized using gnutls_global_init(). @@ -9407,7 +9089,7 @@

    -— Function: int gnutls_global_init ( void)
    +— Function: int gnutls_global_init ( void)

    This function initializes the global data to defaults. Every gnutls application has a global data which holds common parameters @@ -9444,13 +9126,13 @@

    -— Function: void gnutls_global_set_log_function (gnutls_log_func log_func)
    +— Function: void gnutls_global_set_log_function (gnutls_log_func log_func)

    log_func: it's a log function -

    This is the function where you set the logging function gnutls is -going to use. This function only accepts a character array. -Normally you may not use this function since it is only used for -debugging purposes. +

    This is the function where you set the logging function gnutls +is going to use. This function only accepts a character array. +Normally you may not use this function since it is only used +for debugging purposes.

    gnutls_log_func is of the form, void (*gnutls_log_func)( int level, const char*); @@ -9461,13 +9143,13 @@

    -— Function: void gnutls_global_set_log_level (int level)
    +— Function: void gnutls_global_set_log_level (int level)

    level: it's an integer from 0 to 9. -

    This is the function that allows you to set the log level. The -level is an integer between 0 and 9. Higher values mean more -verbosity. The default value is 0. Larger values should only be -used with care, since they may reveal sensitive information. +

    This is the function that allows you to set the log level. +The level is an integer between 0 and 9. Higher values mean +more verbosity. The default value is 0. Larger values should +only be used with care, since they may reveal sensitive information.

    Use a log level over 10 to enable all debugging options.

    @@ -9477,7 +9159,7 @@

    -— Function: void gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, gnutls_alloc_function secure_alloc_func, gnutls_is_secure_function is_secure_func, gnutls_realloc_function realloc_func, gnutls_free_function free_func)
    +— Function: void gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, gnutls_alloc_function secure_alloc_func, gnutls_is_secure_function is_secure_func, gnutls_realloc_function realloc_func, gnutls_free_function free_func)

    alloc_func: it's the default memory allocation function. Like malloc().

    secure_alloc_func: This is the memory allocation function that will be used for sensitive data. @@ -9488,15 +9170,13 @@

    free_func: The function that frees allocated data. Must accept a NULL pointer. -

    This is the function were you set the memory allocation functions -gnutls is going to use. By default the libc's allocation functions -(malloc(), free()), are used by gnutls, to allocate both sensitive -and not sensitive data. This function is provided to set the -memory allocation functions to something other than the defaults -(ie the gcrypt allocation functions). +

    This is the function were you set the memory allocation functions gnutls +is going to use. By default the libc's allocation functions (malloc(), free()), +are used by gnutls, to allocate both sensitive and not sensitive data. +This function is provided to set the memory allocation functions to +something other than the defaults (ie the gcrypt allocation functions).

    This function must be called before gnutls_global_init() is called. -This function is not thread safe.

    gnutls_handshake_get_last_in

    @@ -9504,7 +9184,7 @@

    -— Function: gnutls_handshake_description_t gnutls_handshake_get_last_in (gnutls_session_t session)
    +— Function: gnutls_handshake_description_t gnutls_handshake_get_last_in (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function is only useful to check where the last performed @@ -9523,7 +9203,7 @@

    -— Function: gnutls_handshake_description_t gnutls_handshake_get_last_out (gnutls_session_t session)
    +— Function: gnutls_handshake_description_t gnutls_handshake_get_last_out (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function is only useful to check where the last performed @@ -9542,7 +9222,7 @@

    -— Function: void gnutls_handshake_set_max_packet_length (gnutls_session_t session, size_t max)
    +— Function: void gnutls_handshake_set_max_packet_length (gnutls_session_t session, size_t max)

    session: is a gnutls_session_t structure.

    max: is the maximum number. @@ -9562,10 +9242,8 @@

    -— Function: void gnutls_handshake_set_post_client_hello_function (gnutls_session_t session, gnutls_handshake_post_client_hello_func func)
    -

    session: is a gnutls_session_t structure. - -

    func: is the function to be called +— Function: void gnutls_handshake_set_post_client_hello_function (gnutls_session_t session, gnutls_handshake_post_client_hello_func func)
    +

    func: is the function to be called

    This function will set a callback to be called after the client hello has been received (callback valid in server side only). This @@ -9589,7 +9267,7 @@

    -— Function: void gnutls_handshake_set_private_extensions (gnutls_session_t session, int allow)
    +— Function: void gnutls_handshake_set_private_extensions (gnutls_session_t session, int allow)

    session: is a gnutls_session_t structure.

    allow: is an integer (0 or 1) @@ -9611,7 +9289,7 @@

    -— Function: int gnutls_handshake (gnutls_session_t session)
    +— Function: int gnutls_handshake (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function does the handshake of the TLS/SSL protocol, and @@ -9642,7 +9320,7 @@

    -— Function: int gnutls_hex2bin (const char * hex_data, size_t hex_size, char * bin_data, size_t * bin_size)
    +— Function: int gnutls_hex2bin (const char * hex_data, size_t hex_size, char * bin_data, size_t * bin_size)

    hex_data: string with data in hex format

    hex_size: size of hex data @@ -9664,7 +9342,7 @@

    -— Function: int gnutls_hex_decode (const gnutls_datum_t * hex_data, char * result, size_t * result_size)
    +— Function: int gnutls_hex_decode (const gnutls_datum_t * hex_data, char * result, size_t * result_size)

    hex_data: contain the encoded data

    result: the place where decoded data will be copied @@ -9685,7 +9363,7 @@

    -— Function: int gnutls_hex_encode (const gnutls_datum_t * data, char * result, size_t * result_size)
    +— Function: int gnutls_hex_encode (const gnutls_datum_t * data, char * result, size_t * result_size)

    data: contain the raw data

    result: the place where hex data will be copied @@ -9704,7 +9382,7 @@

    -— Function: int gnutls_init (gnutls_session_t * session, gnutls_connection_end_t con_end)
    +— Function: int gnutls_init (gnutls_session_t * session, gnutls_connection_end_t con_end)

    session: is a pointer to a gnutls_session_t structure.

    con_end: indicate if this session is to be used for server or client. @@ -9724,10 +9402,8 @@

    -— Function: gnutls_kx_algorithm_t gnutls_kx_get_id (const char * name)
    -

    name: is a KX name - -

    Convert a string to a gnutls_kx_algorithm_t value. The names are +— Function: gnutls_kx_algorithm_t gnutls_kx_get_id (const char* name)
    +

    Convert a string to a gnutls_kx_algorithm_t value. The names are compared in a case insensitive way.

    Returns: an id of the specified KX algorithm, or GNUTLS_KX_UNKNOWN @@ -9739,7 +9415,7 @@

    -— Function: const char * gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm)
    +— Function: const char * gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm)

    algorithm: is a key exchange algorithm

    Convert a gnutls_kx_algorithm_t value to a string. @@ -9753,7 +9429,7 @@

    -— Function: gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session)
    +— Function: gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get currently used key exchange algorithm. @@ -9767,7 +9443,7 @@

    -— Function: const gnutls_kx_algorithm_t * gnutls_kx_list ( void)
    +— Function: const gnutls_kx_algorithm_t * gnutls_kx_list ( void)

    Get a list of supported key exchange algorithms. @@ -9780,7 +9456,7 @@

    -— Function: int gnutls_kx_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_kx_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_kx_algorithm_t elements. @@ -9800,14 +9476,12 @@

    -— Function: gnutls_mac_algorithm_t gnutls_mac_get_id (const char * name)
    -

    name: is a MAC algorithm name - -

    Convert a string to a gnutls_mac_algorithm_t value. The names are +— Function: gnutls_mac_algorithm_t gnutls_mac_get_id (const char* name)
    +

    Convert a string to a gnutls_mac_algorithm_t value. The names are compared in a case insensitive way. -

    Returns: a gnutls_mac_algorithm_t id of the specified MAC -algorithm string, or GNUTLS_MAC_UNKNOWN on failures. +

    Returns: an gnutls_mac_algorithm_tid of the specified in a string +MAC algorithm, or GNUTLS_MAC_UNKNOWN on failures.

    gnutls_mac_get_key_size

    @@ -9815,7 +9489,7 @@

    -— Function: size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm)
    +— Function: size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm)

    algorithm: is an encryption algorithm

    Get size of MAC key. @@ -9829,7 +9503,7 @@

    -— Function: const char * gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm)
    +— Function: const char * gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm)

    algorithm: is a MAC algorithm

    Convert a gnutls_mac_algorithm_t value to a string. @@ -9843,7 +9517,7 @@

    -— Function: gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session)
    +— Function: gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get currently used MAC algorithm. @@ -9857,7 +9531,7 @@

    -— Function: const gnutls_mac_algorithm_t * gnutls_mac_list ( void)
    +— Function: const gnutls_mac_algorithm_t * gnutls_mac_list ( void)

    Get a list of hash algorithms for use as MACs. Note that not necessarily all MACs are supported in TLS cipher suites. For @@ -9873,7 +9547,7 @@

    -— Function: int gnutls_mac_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_mac_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_mac_algorithm_t elements. @@ -9893,7 +9567,7 @@

    -— Function: void * gnutls_malloc (size_t s)
    +— Function: void * gnutls_malloc (size_t s)

    This function will allocate 's' bytes data, and return a pointer to memory. This function is supposed @@ -9907,7 +9581,7 @@

    -— Function: void gnutls_openpgp_send_cert (gnutls_session_t session, gnutls_openpgp_crt_status_t status)
    +— Function: void gnutls_openpgp_send_cert (gnutls_session_t session, gnutls_openpgp_crt_status_t status)

    session: is a pointer to a gnutls_session_t structure.

    status: is one of GNUTLS_OPENPGP_CERT, or GNUTLS_OPENPGP_CERT_FINGERPRINT @@ -9923,7 +9597,7 @@

    -— Function: void gnutls_oprfi_enable_client (gnutls_session_t session, size_t len, unsigned char * data)
    +— Function: void gnutls_oprfi_enable_client (gnutls_session_t session, size_t len, unsigned char * data)

    session: is a gnutls_session_t structure.

    len: length of Opaque PRF data to use in client. @@ -9943,7 +9617,7 @@

    -— Function: void gnutls_oprfi_enable_server (gnutls_session_t session, gnutls_oprfi_callback_func cb, void * userdata)
    +— Function: void gnutls_oprfi_enable_server (gnutls_session_t session, gnutls_oprfi_callback_func cb, void * userdata)

    session: is a gnutls_session_t structure.

    cb: function pointer to Opaque PRF extension server callback. @@ -9970,7 +9644,7 @@

    -— Function: int gnutls_pem_base64_decode_alloc (const char * header, const gnutls_datum_t * b64_data, gnutls_datum_t * result)
    +— Function: int gnutls_pem_base64_decode_alloc (const char * header, const gnutls_datum_t * b64_data, gnutls_datum_t * result)

    header: The PEM header (eg. CERTIFICATE)

    b64_data: contains the encoded data @@ -9994,7 +9668,7 @@

    -— Function: int gnutls_pem_base64_decode (const char * header, const gnutls_datum_t * b64_data, unsigned char * result, size_t * result_size)
    +— Function: int gnutls_pem_base64_decode (const char * header, const gnutls_datum_t * b64_data, unsigned char * result, size_t * result_size)

    header: A null terminated string with the PEM header (eg. CERTIFICATE)

    b64_data: contain the encoded data @@ -10018,7 +9692,7 @@

    -— Function: int gnutls_pem_base64_encode_alloc (const char * msg, const gnutls_datum_t * data, gnutls_datum_t * result)
    +— Function: int gnutls_pem_base64_encode_alloc (const char * msg, const gnutls_datum_t * data, gnutls_datum_t * result)

    msg: is a message to be put in the encoded header

    data: contains the raw data @@ -10041,7 +9715,7 @@

    -— Function: int gnutls_pem_base64_encode (const char * msg, const gnutls_datum_t * data, char * result, size_t * result_size)
    +— Function: int gnutls_pem_base64_encode (const char * msg, const gnutls_datum_t * data, char * result, size_t * result_size)

    msg: is a message to be put in the header

    data: contain the raw data @@ -10066,11 +9740,11 @@

    -— Function: void gnutls_perror (int error)
    -

    error: is a GnuTLS error code, a negative value +— Function: void gnutls_perror (int error)
    +

    error: is an error returned by a gnutls function. Error is always a negative value. -

    This function is like perror(). The only difference is that it -accepts an error number returned by a gnutls function. +

    This function is like perror(). The only difference is that it accepts an +error number returned by a gnutls function.

    gnutls_pk_algorithm_get_name

    @@ -10078,7 +9752,7 @@

    -— Function: const char * gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm)
    +— Function: const char * gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm)

    algorithm: is a pk algorithm

    Convert a gnutls_pk_algorithm_t value to a string. @@ -10087,77 +9761,28 @@ key algorithm, or NULL.

    -

    gnutls_pk_get_id

    +

    gnutls_prf_raw

    -

    +

    -— Function: gnutls_pk_algorithm_t gnutls_pk_get_id (const char * name)
    -

    name: is a string containing a public key algorithm name. - -

    Convert a string to a gnutls_pk_algorithm_t value. The names are -compared in a case insensitive way. For example, -gnutls_pk_get_id("RSA") will return GNUTLS_PK_RSA. - -

    Returns: a gnutls_pk_algorithm_t id of the specified public key -algorithm string, or GNUTLS_PK_UNKNOWN on failures. - -

    Since: 2.6.0 -

    +— Function: int gnutls_prf_raw (gnutls_session_t session, size_t label_size, const char * label, size_t seed_size, const char * seed, size_t outsize, char * out)
    +

    session: is a gnutls_session_t structure. -

    gnutls_pk_get_name

    +

    label_size: length of the label variable. -

    +

    label: label used in PRF computation, typically a short string. -

    -— Function: const char * gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm)
    -

    algorithm: is a public key algorithm +

    seed_size: length of the seed variable. -

    Convert a gnutls_pk_algorithm_t value to a string. +

    seed: optional extra data to seed the PRF with. -

    Returns: a pointer to a string that contains the name of the -specified public key algorithm, or NULL. +

    outsize: size of pre-allocated output buffer to hold the output. -

    Since: 2.6.0 -

    +

    out: pre-allocate buffer to hold the generated data. -

    gnutls_pk_list

    - -

    - -

    -— Function: const gnutls_pk_algorithm_t * gnutls_pk_list ( void)
    -
    -

    Get a list of supported public key algorithms. - -

    Returns: a zero-terminated list of gnutls_pk_algorithm_t integers -indicating the available ciphers. - -

    Since: 2.6.0 -

    - -

    gnutls_prf_raw

    - -

    - -

    -— Function: int gnutls_prf_raw (gnutls_session_t session, size_t label_size, const char * label, size_t seed_size, const char * seed, size_t outsize, char * out)
    -

    session: is a gnutls_session_t structure. - -

    label_size: length of the label variable. - -

    label: label used in PRF computation, typically a short string. - -

    seed_size: length of the seed variable. - -

    seed: optional extra data to seed the PRF with. - -

    outsize: size of pre-allocated output buffer to hold the output. - -

    out: pre-allocate buffer to hold the generated data. - -

    Apply the TLS Pseudo-Random-Function (PRF) using the master secret -on some data. +

    Apply the TLS Pseudo-Random-Function (PRF) using the master secret +on some data.

    The label variable usually contain a string denoting the purpose for the generated data. The seed usually contain data such as the @@ -10181,7 +9806,7 @@

    -— Function: int gnutls_prf (gnutls_session_t session, size_t label_size, const char * label, int server_random_first, size_t extra_size, const char * extra, size_t outsize, char * out)
    +— Function: int gnutls_prf (gnutls_session_t session, size_t label_size, const char * label, int server_random_first, size_t extra_size, const char * extra, size_t outsize, char * out)

    session: is a gnutls_session_t structure.

    label_size: length of the label variable. @@ -10222,7 +9847,7 @@

    -— Function: void gnutls_priority_deinit (gnutls_priority_t priority_cache)
    +— Function: void gnutls_priority_deinit (gnutls_priority_t priority_cache)

    priority_cache: is a gnutls_prioritity_t structure.

    Deinitializes the priority cache. @@ -10233,7 +9858,7 @@

    -— Function: int gnutls_priority_init (gnutls_priority_t * priority_cache, const char * priorities, const char ** err_pos)
    +— Function: int gnutls_priority_init (gnutls_priority_t * priority_cache, const char * priorities, const char ** err_pos)

    priority_cache: is a gnutls_prioritity_t structure.

    priorities: is a string describing priorities @@ -10247,71 +9872,56 @@

    The priorities option allows you to specify a semi-colon separated list of the cipher priorities to enable. -

    Unless the first keyword is "NONE" the defaults (in preference -order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for -compression NULL; for certificate types X.509, OpenPGP. - -

    For key exchange algorithms when in NORMAL or SECURE levels the -perfect forward secrecy algorithms take precendence of the other -protocols. In all cases all the supported key exchange algorithms -are enabled (except for the RSA-EXPORT which is only enabled in -EXPORT level). +

    Unless the first keyword is "NONE" the defaults are: -

    Note that although one can select very long key sizes (such as 256 bits) -for symmetric algorithms, to actually increase security the public key -algorithms have to use longer key sizes as well. +

    Protocols: TLS1.1, TLS1.0, and SSL3.0. -

    For all the current available algorithms and protocols use -"gnutls-cli -l" to get a listing. +

    Compression: NULL. -

    Common keywords: Some keywords are defined to provide quick access -to common preferences. +

    Certificate types: X.509, OpenPGP. -

    "PERFORMANCE" means all the "secure" ciphersuites are enabled, -limited to 128 bit ciphers and sorted by terms of speed -performance. +

    You can also use predefined sets of ciphersuites: "PERFORMANCE" +all the "secure" ciphersuites are enabled, limited to 128 bit +ciphers and sorted by terms of speed performance. -

    "NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are -included as a fallback only. The ciphers are sorted by security -margin. +

    "NORMAL" option enables all "secure" ciphersuites. The 256-bit ciphers +are included as a fallback only. The ciphers are sorted by security margin. -

    "SECURE128" means all "secure" ciphersuites with ciphers up to 128 -bits, sorted by security margin. +

    "SECURE128" flag enables all "secure" ciphersuites with ciphers up to +128 bits, sorted by security margin. -

    "SECURE256" means all "secure" ciphersuites including the 256 bit +

    "SECURE256" flag enables all "secure" ciphersuites including the 256 bit ciphers, sorted by security margin. -

    "EXPORT" means all ciphersuites are enabled, including the +

    "EXPORT" all the ciphersuites are enabled, including the low-security 40 bit ciphers. -

    "NONE" means nothing is enabled. This disables even protocols and +

    "NONE" nothing is enabled. This disables even protocols and compression methods. -

    Special keywords: "!" or "-" appended with an algorithm will remove this algorithm. - -

    "+" appended with an algorithm will add this algorithm. - -

    "%COMPAT" will enable compatibility features for a server. +

    Special keywords: '!' or '-' appended with an algorithm will remove this algorithm. +'+' appended with an algorithm will add this algorithm. +'COMPAT' will enable compatibility features for a server. -

    "%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello. - -

    "%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in -certificate chains. - -

    "%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. - -

    Namespace concern: To avoid collisions in order to specify a compression algorithm in +

    To avoid collisions in order to specify a compression algorithm in this string you have to prefix it with "COMP-", protocol versions with "VERS-" and certificate types with "CTYPE-". All other algorithms don't need a prefix. -

    Examples: "NORMAL:!AES-128-CBC" means normal ciphers except for AES-128. +

    For key exchange algorithms when in NORMAL or SECURE levels the +perfect forward secrecy algorithms take precendence of the other +protocols. In all cases all the supported key exchange algorithms +are enabled (except for the RSA-EXPORT which is only enabled in +EXPORT level). -

    "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are -enabled, TLS 1.0 is disabled, and libz compression enabled. +

    Note that although one can select very long key sizes (such as 256 bits) +for symmetric algorithms, to actually increase security the public key +algorithms have to use longer key sizes as well. -

    "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", -"%COMPAT". +

    Examples: "NORMAL:!AES-128-CBC", +"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", +"NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", +"NORMAL:COMPAT".

    Returns: On syntax error GNUTLS_E_INVALID_REQUEST is returned, GNUTLS_E_SUCCESS on success, or an error code. @@ -10322,7 +9932,7 @@

    -— Function: int gnutls_priority_set_direct (gnutls_session_t session, const char * priorities, const char ** err_pos)
    +— Function: int gnutls_priority_set_direct (gnutls_session_t session, const char * priorities, const char ** err_pos)

    session: is a gnutls_session_t structure.

    priorities: is a string describing priorities @@ -10330,7 +9940,7 @@

    err_pos: In case of an error this will have the position in the string the error occured

    Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. This function avoids keeping a +macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the gnutls_priority_init(). @@ -10343,7 +9953,7 @@

    -— Function: int gnutls_priority_set (gnutls_session_t session, gnutls_priority_t priority)
    +— Function: int gnutls_priority_set (gnutls_session_t session, gnutls_priority_t priority)

    session: is a gnutls_session_t structure.

    priority: is a gnutls_priority_t structure. @@ -10359,10 +9969,8 @@

    -— Function: gnutls_protocol_t gnutls_protocol_get_id (const char * name)
    -

    name: is a protocol name - -

    The names are compared in a case insensitive way. +— Function: gnutls_protocol_t gnutls_protocol_get_id (const char* name)
    +

    The names are compared in a case insensitive way.

    Returns: an id of the specified protocol, or GNUTLS_VERSION_UNKNOWN on error. @@ -10373,7 +9981,7 @@

    -— Function: const char * gnutls_protocol_get_name (gnutls_protocol_t version)
    +— Function: const char * gnutls_protocol_get_name (gnutls_protocol_t version)

    version: is a (gnutls) version number

    Convert a gnutls_protocol_t value to a string. @@ -10387,7 +9995,7 @@

    -— Function: gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session)
    +— Function: gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get TLS version, a gnutls_protocol_t value. @@ -10400,7 +10008,7 @@

    -— Function: const gnutls_protocol_t * gnutls_protocol_list ( void)
    +— Function: const gnutls_protocol_t * gnutls_protocol_list ( void)

    Get a list of supported protocols, e.g. SSL 3.0, TLS 1.0 etc. @@ -10413,7 +10021,7 @@

    -— Function: int gnutls_protocol_set_priority (gnutls_session_t session, const int * list)
    +— Function: int gnutls_protocol_set_priority (gnutls_session_t session, const int * list)

    session: is a gnutls_session_t structure.

    list: is a 0 terminated list of gnutls_protocol_t elements. @@ -10430,8 +10038,8 @@

    -— Function: int gnutls_psk_allocate_client_credentials (gnutls_psk_client_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_psk_server_credentials_t structure. +— Function: int gnutls_psk_allocate_client_credentials (gnutls_psk_client_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_psk_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -10444,8 +10052,8 @@

    -— Function: int gnutls_psk_allocate_server_credentials (gnutls_psk_server_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_psk_server_credentials_t structure. +— Function: int gnutls_psk_allocate_server_credentials (gnutls_psk_server_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_psk_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -10458,7 +10066,7 @@

    -— Function: const char * gnutls_psk_client_get_hint (gnutls_session_t session)
    +— Function: const char * gnutls_psk_client_get_hint (gnutls_session_t session)

    session: is a gnutls session

    The PSK identity hint may give the client help in deciding which @@ -10475,8 +10083,8 @@

    -— Function: void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t sc)
    -

    sc: is a gnutls_psk_client_credentials_t structure. +— Function: void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t sc)
    +

    sc: is an gnutls_psk_client_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -10487,8 +10095,8 @@

    -— Function: void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t sc)
    -

    sc: is a gnutls_psk_server_credentials_t structure. +— Function: void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t sc)
    +

    sc: is an gnutls_psk_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -10499,7 +10107,7 @@

    -— Function: int gnutls_psk_netconf_derive_key (const char * password, const char * psk_identity, const char * psk_identity_hint, gnutls_datum_t * output_key)
    +— Function: int gnutls_psk_netconf_derive_key (const char * password, const char * psk_identity, const char * psk_identity_hint, gnutls_datum_t * output_key)

    password: zero terminated string containing password.

    psk_identity: zero terminated string with PSK identity. @@ -10521,7 +10129,7 @@

    -— Function: const char * gnutls_psk_server_get_username (gnutls_session_t session)
    +— Function: const char * gnutls_psk_server_get_username (gnutls_session_t session)

    session: is a gnutls session

    This should only be called in case of PSK authentication and in @@ -10535,7 +10143,7 @@

    -— Function: void gnutls_psk_set_client_credentials_function (gnutls_psk_client_credentials_t cred, gnutls_psk_client_credentials_function * func)
    +— Function: void gnutls_psk_set_client_credentials_function (gnutls_psk_client_credentials_t cred, gnutls_psk_client_credentials_function * func)

    cred: is a gnutls_psk_server_credentials_t structure.

    func: is the callback function @@ -10561,8 +10169,8 @@

    -— Function: int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, const char * username, const gnutls_datum_t * key, gnutls_psk_key_flags flags)
    -

    res: is a gnutls_psk_client_credentials_t structure. +— Function: int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, const char * username, const gnutls_datum_t * key, gnutls_psk_key_flags flags)
    +

    res: is an gnutls_psk_client_credentials_t structure.

    username: is the user's zero-terminated userid @@ -10583,13 +10191,13 @@

    -— Function: void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, gnutls_params_function * func)
    +— Function: void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, gnutls_params_function * func)

    res: is a gnutls_psk_server_credentials_t structure

    func: is the function to be called

    This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for psk authentication. The +the diffie hellman or RSA parameters for psk authentication. The callback should return zero on success.

    @@ -10598,8 +10206,8 @@

    -— Function: int gnutls_psk_set_server_credentials_file (gnutls_psk_server_credentials_t res, const char * password_file)
    -

    res: is a gnutls_psk_server_credentials_t structure. +— Function: int gnutls_psk_set_server_credentials_file (gnutls_psk_server_credentials_t res, const char * password_file)
    +

    res: is an gnutls_psk_server_credentials_t structure.

    password_file: is the PSK password file (passwd.psk) @@ -10615,7 +10223,7 @@

    -— Function: void gnutls_psk_set_server_credentials_function (gnutls_psk_server_credentials_t cred, gnutls_psk_server_credentials_function * func)
    +— Function: void gnutls_psk_set_server_credentials_function (gnutls_psk_server_credentials_t cred, gnutls_psk_server_credentials_function * func)

    cred: is a gnutls_psk_server_credentials_t structure.

    func: is the callback function @@ -10641,8 +10249,8 @@

    -— Function: int gnutls_psk_set_server_credentials_hint (gnutls_psk_server_credentials_t res, const char * hint)
    -

    res: is a gnutls_psk_server_credentials_t structure. +— Function: int gnutls_psk_set_server_credentials_hint (gnutls_psk_server_credentials_t res, const char * hint)
    +

    res: is an gnutls_psk_server_credentials_t structure.

    hint: is the PSK identity hint string @@ -10661,14 +10269,14 @@

    -— Function: void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, gnutls_dh_params_t dh_params)
    +— Function: void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, gnutls_dh_params_t dh_params)

    res: is a gnutls_psk_server_credentials_t structure -

    dh_params: is a structure that holds Diffie-Hellman parameters. +

    dh_params: is a structure that holds diffie hellman parameters. -

    This function will set the Diffie-Hellman parameters for an -anonymous server to use. These parameters will be used in -Diffie-Hellman exchange with PSK cipher suites. +

    This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in Diffie +Hellman with PSK cipher suites.

    gnutls_psk_set_server_params_function

    @@ -10676,13 +10284,13 @@

    -— Function: void gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t res, gnutls_params_function * func)
    -

    res: is a gnutls_certificate_credentials_t structure +— Function: void gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t res, gnutls_params_function * func)
    +

    res: is a gnutls_certificate_credentials_t structure

    func: is the function to be called

    This function will set a callback in order for the server to get -the Diffie-Hellman parameters for PSK authentication. The callback +the diffie hellman parameters for PSK authentication. The callback should return zero on success.

    @@ -10691,17 +10299,15 @@

    -— Function: size_t gnutls_record_check_pending (gnutls_session_t session)
    +— Function: size_t gnutls_record_check_pending (gnutls_session_t session)

    session: is a gnutls_session_t structure. -

    This function checks if there are any data to receive in the gnutls -buffers. - -

    Notice that you may also use select() to check for data in a TCP -connection, instead of this function. GnuTLS leaves some data in -the tcp buffer in order for select to work. - -

    Returns: the size of that data or 0. +

    This function checks if there are any data to receive +in the gnutls buffers. Returns the size of that data or 0. +Notice that you may also use select() to check for data in +a TCP connection, instead of this function. +(gnutls leaves some data in the tcp buffer in order for select +to work).

    gnutls_record_disable_padding

    @@ -10709,7 +10315,7 @@

    -— Function: void gnutls_record_disable_padding (gnutls_session_t session)
    +— Function: void gnutls_record_disable_padding (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Used to disabled padding in TLS 1.0 and above. Normally you do @@ -10726,7 +10332,7 @@

    -— Function: int gnutls_record_get_direction (gnutls_session_t session)
    +— Function: int gnutls_record_get_direction (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function provides information about the internals of the @@ -10748,13 +10354,12 @@

    -— Function: size_t gnutls_record_get_max_size (gnutls_session_t session)
    +— Function: size_t gnutls_record_get_max_size (gnutls_session_t session)

    session: is a gnutls_session_t structure. -

    Get the record size. The maximum record size is negotiated by the -client after the first handshake message. - -

    Returns: The maximum record packet size in this connection. +

    This function returns the maximum record packet size in this +connection. The maximum record size is negotiated by the client +after the first handshake message.

    gnutls_record_recv

    @@ -10762,22 +10367,22 @@

    -— Function: ssize_t gnutls_record_recv (gnutls_session_t session, void * data, size_t sizeofdata)
    +— Function: ssize_t gnutls_record_recv (gnutls_session_t session, void * data, size_t sizeofdata)

    session: is a gnutls_session_t structure.

    data: the buffer that the data will be read into

    sizeofdata: the number of requested bytes -

    This function has the similar semantics with recv(). The only -difference is that it accepts a GnuTLS session, and uses different +

    This function has the similar semantics with recv(). The only +difference is that is accepts a GNUTLS session, and uses different error codes.

    In the special case that a server requests a renegotiation, the client may receive an error code of GNUTLS_E_REHANDSHAKE. This -message may be simply ignored, replied with an alert -GNUTLS_A_NO_RENEGOTIATION, or replied with a new handshake, -depending on the client's will. +message may be simply ignored, replied with an alert containing +NO_RENEGOTIATION, or replied with a new handshake, depending on +the client's will.

    If EINTR is returned by the internal push function (the default is recv()) then GNUTLS_E_INTERRUPTED will be returned. If @@ -10799,15 +10404,15 @@

    -— Function: ssize_t gnutls_record_send (gnutls_session_t session, const void * data, size_t sizeofdata)
    +— Function: ssize_t gnutls_record_send (gnutls_session_t session, const void * data, size_t sizeofdata)

    session: is a gnutls_session_t structure.

    data: contains the data to send

    sizeofdata: is the length of the data -

    This function has the similar semantics with send(). The only -difference is that it accepts a GnuTLS session, and uses different +

    This function has the similar semantics with send(). The only +difference is that is accepts a GNUTLS session, and uses different error codes.

    Note that if the send buffer is full, send() will block this @@ -10834,7 +10439,7 @@

    -— Function: ssize_t gnutls_record_set_max_size (gnutls_session_t session, size_t size)
    +— Function: ssize_t gnutls_record_set_max_size (gnutls_session_t session, size_t size)

    session: is a gnutls_session_t structure.

    size: is the new size @@ -10844,15 +10449,12 @@ may choose not to accept the requested size.

    Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and -4096(=2^12). The requested record size does get in effect -immediately only while sending data. The receive part will take -effect after a successful handshake. +4096(=2^12). Returns 0 on success. The requested record size does +get in effect immediately only while sending data. The receive +part will take effect after a successful handshake.

    This function uses a TLS extension called 'max record size'. Not -all TLS implementations use or even understand this extension. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +all TLS implementations use or even understand this extension.

    gnutls_rehandshake

    @@ -10860,7 +10462,7 @@

    -— Function: int gnutls_rehandshake (gnutls_session_t session)
    +— Function: int gnutls_rehandshake (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function will renegotiate security parameters with the @@ -10887,7 +10489,7 @@

    -— Function: int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session)
    +— Function: int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session)

    session: is a gnutls session

    Get the export RSA parameter's modulus size. @@ -10901,7 +10503,7 @@

    -— Function: int gnutls_rsa_export_get_pubkey (gnutls_session_t session, gnutls_datum_t * exponent, gnutls_datum_t * modulus)
    +— Function: int gnutls_rsa_export_get_pubkey (gnutls_session_t session, gnutls_datum_t * exponent, gnutls_datum_t * modulus)

    session: is a gnutls session

    exponent: will hold the exponent. @@ -10921,15 +10523,13 @@

    -— Function: int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, gnutls_rsa_params_t src)
    +— Function: int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, gnutls_rsa_params_t src)

    dst: Is the destination structure, which should be initialized.

    src: Is the source structure

    This function will copy the RSA parameters structure from source -to destination. - -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +to destination.

    gnutls_rsa_params_deinit

    @@ -10937,7 +10537,7 @@

    -— Function: void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params)
    +— Function: void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params)

    rsa_params: Is a structure that holds the parameters

    This function will deinitialize the RSA parameters structure. @@ -10948,7 +10548,7 @@

    -— Function: int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, gnutls_x509_crt_fmt_t format, unsigned char * params_data, size_t * params_data_size)
    +— Function: int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, gnutls_x509_crt_fmt_t format, unsigned char * params_data, size_t * params_data_size)

    params: Holds the RSA parameters

    format: the format of output params. One of PEM or DER. @@ -10964,7 +10564,8 @@

    If the structure is PEM encoded, it will have a header of "BEGIN RSA PRIVATE KEY". -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +

    In case of failure a negative value will be returned, and +0 on success.

    gnutls_rsa_params_export_raw

    @@ -10972,7 +10573,7 @@

    -— Function: int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u, unsigned int * bits)
    +— Function: int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u, unsigned int * bits)

    params: a structure that holds the rsa parameters

    m: will hold the modulus @@ -10991,9 +10592,7 @@

    This function will export the RSA parameters found in the given structure. The new parameters will be allocated using -gnutls_malloc() and will be stored in the appropriate datum. - -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +gnutls_malloc() and will be stored in the appropriate datum.

    gnutls_rsa_params_generate2

    @@ -11001,7 +10600,7 @@

    -— Function: int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, unsigned int bits)
    +— Function: int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, unsigned int bits)

    params: The structure where the parameters will be stored

    bits: is the prime's number of bits @@ -11013,9 +10612,7 @@ bits value should be 512 or less. Also note that the generation of new RSA parameters is only useful to servers. Clients use the parameters sent by the server, thus it's -no use calling this in client side. - -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +no use calling this in client side.

    gnutls_rsa_params_import_pkcs1

    @@ -11023,7 +10620,7 @@

    -— Function: int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, const gnutls_datum_t * pkcs1_params, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, const gnutls_datum_t * pkcs1_params, gnutls_x509_crt_fmt_t format)

    params: A structure where the parameters will be copied to

    pkcs1_params: should contain a PKCS1 RSAPublicKey structure PEM or DER encoded @@ -11036,7 +10633,8 @@

    If the structure is PEM encoded, it should have a header of "BEGIN RSA PRIVATE KEY". -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +

    In case of failure a negative value will be returned, and +0 on success.

    gnutls_rsa_params_import_raw

    @@ -11044,7 +10642,7 @@

    -— Function: int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, const gnutls_datum_t * m, const gnutls_datum_t * e, const gnutls_datum_t * d, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * u)
    +— Function: int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, const gnutls_datum_t * m, const gnutls_datum_t * e, const gnutls_datum_t * d, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * u)

    rsa_params: Is a structure will hold the parameters

    m: holds the modulus @@ -11060,10 +10658,7 @@

    u: holds the coefficient

    This function will replace the parameters in the given structure. -The new parameters should be stored in the appropriate -gnutls_datum. - -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +The new parameters should be stored in the appropriate gnutls_datum.

    gnutls_rsa_params_init

    @@ -11071,12 +10666,10 @@

    -— Function: int gnutls_rsa_params_init (gnutls_rsa_params_t * rsa_params)
    +— Function: int gnutls_rsa_params_init (gnutls_rsa_params_t * rsa_params)

    rsa_params: Is a structure that will hold the parameters -

    This function will initialize the temporary RSA parameters structure. - -

    Returns: GNUTLS_E_SUCCESS on success, or an negative error code. +

    This function will initialize the temporary RSA parameters structure.

    gnutls_server_name_get

    @@ -11084,7 +10677,7 @@

    -— Function: int gnutls_server_name_get (gnutls_session_t session, void * data, size_t * data_length, unsigned int * type, unsigned int indx)
    +— Function: int gnutls_server_name_get (gnutls_session_t session, void * data, size_t * data_length, unsigned int * type, unsigned int indx)

    session: is a gnutls_session_t structure.

    data: will hold the data @@ -11095,25 +10688,19 @@

    indx: is the index of the server_name -

    This function will allow you to get the name indication (if any), a -client has sent. The name indication may be any of the enumeration +

    This function will allow you to get the name indication (if any), +a client has sent. The name indication may be any of the enumeration gnutls_server_name_type_t. -

    If type is GNUTLS_NAME_DNS, then this function is to be used by -servers that support virtual hosting, and the data will be a null -terminated UTF-8 string. - -

    If data has not enough size to hold the server name -GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and data_length will -hold the required size. - -

    index is used to retrieve more than one server names (if sent by -the client). The first server name has an index of 0, the second 1 -and so on. If no name with the given index exists -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +

    If type is GNUTLS_NAME_DNS, then this function is to be used by servers +that support virtual hosting, and the data will be a null terminated UTF-8 string. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    If data has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER +is returned, and data_length will hold the required size. + +

    index is used to retrieve more than one server names (if sent by the client). +The first server name has an index of 0, the second 1 and so on. If no name with the given +index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.

    gnutls_server_name_set

    @@ -11121,7 +10708,7 @@

    -— Function: int gnutls_server_name_set (gnutls_session_t session, gnutls_server_name_type_t type, const void * name, size_t name_length)
    +— Function: int gnutls_server_name_set (gnutls_session_t session, gnutls_server_name_type_t type, const void * name, size_t name_length)

    session: is a gnutls_session_t structure.

    type: specifies the indicator type @@ -11130,18 +10717,14 @@

    name_length: holds the length of name -

    This function is to be used by clients that want to inform (via a -TLS extension mechanism) the server of the name they connected to. -This should be used by clients that connect to servers that do -virtual hosting. - -

    The value of name depends on the ind type. In case of -GNUTLS_NAME_DNS, an ASCII or UTF-8 null terminated string, without -the trailing dot, is expected. IPv4 or IPv6 addresses are not -permitted. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function is to be used by clients that want to inform +(via a TLS extension mechanism) the server of the name they +connected to. This should be used by clients that connect +to servers that do virtual hosting. + +

    The value of name depends on the ind type. In case of GNUTLS_NAME_DNS, +an ASCII or UTF-8 null terminated string, without the trailing dot, is expected. +IPv4 or IPv6 addresses are not permitted.

    gnutls_session_enable_compatibility_mode

    @@ -11149,7 +10732,7 @@

    -— Function: void gnutls_session_enable_compatibility_mode (gnutls_session_t session)
    +— Function: void gnutls_session_enable_compatibility_mode (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    This function can be used to disable certain (security) features in @@ -11166,7 +10749,7 @@

    -— Function: const void * gnutls_session_get_client_random (gnutls_session_t session)
    +— Function: const void * gnutls_session_get_client_random (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Return a pointer to the 32-byte client random field used in the @@ -11184,17 +10767,14 @@

    -— Function: int gnutls_session_get_data2 (gnutls_session_t session, gnutls_datum_t * data)
    +— Function: int gnutls_session_get_data2 (gnutls_session_t session, gnutls_datum_t * data)

    session: is a gnutls_session_t structure. -

    data: is a pointer to a datum that will hold the session. - -

    Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -gnutls_session_set_data(). This function must be called after a -successful handshake. The returned datum must be freed with -gnutls_free(). +

    Returns all session parameters, in order to support resuming. +The client should call this, and keep the returned session, if he wants to +resume that current version later by calling gnutls_session_set_data() +This function must be called after a successful handshake. The returned +datum must be freed with gnutls_free().

    Resuming sessions is really useful and speedups connections after a succesful one. @@ -11208,7 +10788,7 @@

    -— Function: int gnutls_session_get_data (gnutls_session_t session, void * session_data, size_t * session_data_size)
    +— Function: int gnutls_session_get_data (gnutls_session_t session, void * session_data, size_t * session_data_size)

    session: is a gnutls_session_t structure.

    session_data: is a pointer to space to hold the session. @@ -11233,7 +10813,7 @@

    -— Function: int gnutls_session_get_id (gnutls_session_t session, void * session_id, size_t * session_id_size)
    +— Function: int gnutls_session_get_id (gnutls_session_t session, void * session_id, size_t * session_id_size)

    session: is a gnutls_session_t structure.

    session_id: is a pointer to space to hold the session id. @@ -11258,7 +10838,7 @@

    -— Function: const void * gnutls_session_get_master_secret (gnutls_session_t session)
    +— Function: const void * gnutls_session_get_master_secret (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Return a pointer to the 48-byte master secret in the session. The @@ -11279,7 +10859,7 @@

    -— Function: void * gnutls_session_get_ptr (gnutls_session_t session)
    +— Function: void * gnutls_session_get_ptr (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Get user pointer for session. Useful in callbacks. This is the @@ -11294,7 +10874,7 @@

    -— Function: const void * gnutls_session_get_server_random (gnutls_session_t session)
    +— Function: const void * gnutls_session_get_server_random (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Return a pointer to the 32-byte server random field used in the @@ -11312,7 +10892,7 @@

    -— Function: int gnutls_session_is_resumed (gnutls_session_t session)
    +— Function: int gnutls_session_is_resumed (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Check whether session is resumed or not. @@ -11326,7 +10906,7 @@

    -— Function: int gnutls_session_set_data (gnutls_session_t session, const void * session_data, size_t session_data_size)
    +— Function: int gnutls_session_set_data (gnutls_session_t session, const void * session_data, size_t session_data_size)

    session: is a gnutls_session_t structure.

    session_data: is a pointer to space to hold the session. @@ -11346,42 +10926,12 @@ an error code is returned.

    -

    gnutls_session_set_finished_function

    - -

    - -

    -— Function: void gnutls_session_set_finished_function (gnutls_session_t session, gnutls_finished_callback_func func)
    -

    session: is a gnutls_session_t structure. - -

    func: a gnutls_finished_callback_func callback. - -

    Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. - -

    The callback should follow this prototype: -void callback (gnutls_session_t session, const void *finished, size_t len); - -

    The finished parameter will contain the binary TLS finished -message, and len will contains its length. For SSLv3 connections, -the len parameter will be 36 and for TLS connections it will be -12. - -

    It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use. - -

    Since: 2.6.0 -

    -

    gnutls_session_set_ptr

    -— Function: void gnutls_session_set_ptr (gnutls_session_t session, void * ptr)
    +— Function: void gnutls_session_set_ptr (gnutls_session_t session, void * ptr)

    session: is a gnutls_session_t structure.

    ptr: is the user pointer @@ -11396,7 +10946,7 @@

    -— Function: int gnutls_set_default_export_priority (gnutls_session_t session)
    +— Function: int gnutls_set_default_export_priority (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Sets some default priority on the ciphers, key exchange methods, macs @@ -11419,7 +10969,7 @@

    -— Function: int gnutls_set_default_priority (gnutls_session_t session)
    +— Function: int gnutls_set_default_priority (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Sets some default priority on the ciphers, key exchange methods, @@ -11442,10 +10992,8 @@

    -— Function: const char * gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t sign)
    -

    sign: is a sign algorithm - -

    Convert a gnutls_sign_algorithm_t value to a string. +— Function: const char * gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t sign)
    +

    Convert a gnutls_sign_algorithm_t value to a string.

    Returns: a string that contains the name of the specified sign algorithm, or NULL. @@ -11456,7 +11004,7 @@

    -— Function: gnutls_sign_func gnutls_sign_callback_get (gnutls_session_t session, void ** userdata)
    +— Function: gnutls_sign_func gnutls_sign_callback_get (gnutls_session_t session, void ** userdata)

    session: is a gnutls session

    userdata: if non-NULL, will be set to abstract callback pointer. @@ -11472,7 +11020,7 @@

    -— Function: void gnutls_sign_callback_set (gnutls_session_t session, gnutls_sign_func sign_func, void * userdata)
    +— Function: void gnutls_sign_callback_set (gnutls_session_t session, gnutls_sign_func sign_func, void * userdata)

    session: is a gnutls session

    sign_func: function pointer to application's sign callback. @@ -11493,56 +11041,13 @@ callback function. See also gnutls_sign_callback_get().

    -

    gnutls_sign_get_id

    - -

    - -

    -— Function: gnutls_sign_algorithm_t gnutls_sign_get_id (const char * name)
    -

    name: is a MAC algorithm name - -

    The names are compared in a case insensitive way. - -

    Returns: return a gnutls_sign_algorithm_t value corresponding to -the specified cipher, or GNUTLS_SIGN_UNKNOWN on error. -

    - -

    gnutls_sign_get_name

    - -

    - -

    -— Function: const char * gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm)
    -

    algorithm: is a public key signature algorithm - -

    Convert a gnutls_sign_algorithm_t value to a string. - -

    Returns: a pointer to a string that contains the name of the -specified public key signature algorithm, or NULL. - -

    Since: 2.6.0 -

    - -

    gnutls_sign_list

    - -

    - -

    -— Function: const gnutls_sign_algorithm_t * gnutls_sign_list ( void)
    -
    -

    Get a list of supported public key signature algorithms. - -

    Returns: a zero-terminated list of gnutls_sign_algorithm_t -integers indicating the available ciphers. -

    -

    gnutls_srp_allocate_client_credentials

    -— Function: int gnutls_srp_allocate_client_credentials (gnutls_srp_client_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_srp_server_credentials_t structure. +— Function: int gnutls_srp_allocate_client_credentials (gnutls_srp_client_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_srp_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -11556,8 +11061,8 @@

    -— Function: int gnutls_srp_allocate_server_credentials (gnutls_srp_server_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_srp_server_credentials_t structure. +— Function: int gnutls_srp_allocate_server_credentials (gnutls_srp_server_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_srp_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -11571,7 +11076,7 @@

    -— Function: int gnutls_srp_base64_decode_alloc (const gnutls_datum_t * b64_data, gnutls_datum_t * result)
    +— Function: int gnutls_srp_base64_decode_alloc (const gnutls_datum_t * b64_data, gnutls_datum_t * result)

    b64_data: contains the encoded data

    result: the place where decoded data lie @@ -11593,7 +11098,7 @@

    -— Function: int gnutls_srp_base64_decode (const gnutls_datum_t * b64_data, char * result, size_t * result_size)
    +— Function: int gnutls_srp_base64_decode (const gnutls_datum_t * b64_data, char * result, size_t * result_size)

    b64_data: contain the encoded data

    result: the place where decoded data will be copied @@ -11617,7 +11122,7 @@

    -— Function: int gnutls_srp_base64_encode_alloc (const gnutls_datum_t * data, gnutls_datum_t * result)
    +— Function: int gnutls_srp_base64_encode_alloc (const gnutls_datum_t * data, gnutls_datum_t * result)

    data: contains the raw data

    result: will hold the newly allocated encoded data @@ -11640,7 +11145,7 @@

    -— Function: int gnutls_srp_base64_encode (const gnutls_datum_t * data, char * result, size_t * result_size)
    +— Function: int gnutls_srp_base64_encode (const gnutls_datum_t * data, char * result, size_t * result_size)

    data: contain the raw data

    result: the place where base64 data will be copied @@ -11664,8 +11169,8 @@

    -— Function: void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t sc)
    -

    sc: is a gnutls_srp_client_credentials_t structure. +— Function: void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t sc)
    +

    sc: is an gnutls_srp_client_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -11676,8 +11181,8 @@

    -— Function: void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t sc)
    -

    sc: is a gnutls_srp_server_credentials_t structure. +— Function: void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t sc)
    +

    sc: is an gnutls_srp_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -11688,7 +11193,7 @@

    -— Function: const char * gnutls_srp_server_get_username (gnutls_session_t session)
    +— Function: const char * gnutls_srp_server_get_username (gnutls_session_t session)

    session: is a gnutls session

    This function will return the username of the peer. This should @@ -11703,7 +11208,7 @@

    -— Function: void gnutls_srp_set_client_credentials_function (gnutls_srp_client_credentials_t cred, gnutls_srp_client_credentials_function * func)
    +— Function: void gnutls_srp_set_client_credentials_function (gnutls_srp_client_credentials_t cred, gnutls_srp_client_credentials_function * func)

    cred: is a gnutls_srp_server_credentials_t structure.

    func: is the callback function @@ -11735,8 +11240,8 @@

    -— Function: int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, const char * username, const char * password)
    -

    res: is a gnutls_srp_client_credentials_t structure. +— Function: int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, const char * username, const char * password)
    +

    res: is an gnutls_srp_client_credentials_t structure.

    username: is the user's userid @@ -11752,36 +11257,13 @@ error code.

    -

    gnutls_srp_set_prime_bits

    - -

    - -

    -— Function: void gnutls_srp_set_prime_bits (gnutls_session_t session, unsigned int bits)
    -

    session: is a gnutls_session_t structure. - -

    bits: is the number of bits - -

    This function sets the minimum accepted number of bits, for use in -an SRP key exchange. If zero, the default 2048 bits will be used. - -

    In the client side it sets the minimum accepted number of bits. If -a server sends a prime with less bits than that -GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER will be returned by the -handshake. - -

    This function has no effect in server side. - -

    Since: 2.6.0 -

    -

    gnutls_srp_set_server_credentials_file

    -— Function: int gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t res, const char * password_file, const char * password_conf_file)
    -

    res: is a gnutls_srp_server_credentials_t structure. +— Function: int gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t res, const char * password_file, const char * password_conf_file)
    +

    res: is an gnutls_srp_server_credentials_t structure.

    password_file: is the SRP password file (tpasswd) @@ -11801,7 +11283,7 @@

    -— Function: void gnutls_srp_set_server_credentials_function (gnutls_srp_server_credentials_t cred, gnutls_srp_server_credentials_function * func)
    +— Function: void gnutls_srp_set_server_credentials_function (gnutls_srp_server_credentials_t cred, gnutls_srp_server_credentials_function * func)

    cred: is a gnutls_srp_server_credentials_t structure.

    func: is the callback function @@ -11835,7 +11317,7 @@

    -— Function: int gnutls_srp_verifier (const char * username, const char * password, const gnutls_datum_t * salt, const gnutls_datum_t * generator, const gnutls_datum_t * prime, gnutls_datum_t * res)
    +— Function: int gnutls_srp_verifier (const char * username, const char * password, const gnutls_datum_t * salt, const gnutls_datum_t * generator, const gnutls_datum_t * prime, gnutls_datum_t * res)

    username: is the user's name

    password: is the user's password @@ -11861,39 +11343,17 @@ error code.

    -

    gnutls_strerror_name

    - -

    - -

    -— Function: const char * gnutls_strerror_name (int error)
    -

    error: is an error returned by a gnutls function. - -

    Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - -

    Returns: A string corresponding to the symbol name of the error -code. - -

    Since: 2.6.0 -

    -

    gnutls_strerror

    -— Function: const char * gnutls_strerror (int error)
    -

    error: is a GnuTLS error code, a negative value - -

    This function is similar to strerror(). Differences: it accepts an -error number returned by a gnutls function; In case of an unknown -error a descriptive string is sent instead of NULL. +— Function: const char * gnutls_strerror (int error)
    +

    error: is an error returned by a gnutls function. Error is always a negative value. -

    Error codes are always a negative value. - -

    Returns: A string explaining the GnuTLS error message. +

    This function is similar to strerror(). Differences: it accepts an error +number returned by a gnutls function; In case of an unknown error +a descriptive string is sent instead of NULL.

    gnutls_transport_get_ptr2

    @@ -11901,7 +11361,7 @@

    -— Function: void gnutls_transport_get_ptr2 (gnutls_session_t session, gnutls_transport_ptr_t * recv_ptr, gnutls_transport_ptr_t * send_ptr)
    +— Function: void gnutls_transport_get_ptr2 (gnutls_session_t session, gnutls_transport_ptr_t * recv_ptr, gnutls_transport_ptr_t * send_ptr)

    session: is a gnutls_session_t structure.

    recv_ptr: will hold the value for the pull function @@ -11918,7 +11378,7 @@

    -— Function: gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session)
    +— Function: gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Used to get the first argument of the transport function (like @@ -11933,7 +11393,7 @@

    -— Function: void gnutls_transport_set_errno (gnutls_session_t session, int err)
    +— Function: void gnutls_transport_set_errno (gnutls_session_t session, int err)

    session: is a gnutls_session_t structure.

    err: error value to store in session-specific errno variable. @@ -11959,7 +11419,7 @@

    -— Function: void gnutls_transport_set_global_errno (int err)
    +— Function: void gnutls_transport_set_global_errno (int err)

    err: error value to store in global errno variable.

    Store err in the global errno variable. Useful values for err is @@ -11984,7 +11444,7 @@

    -— Function: void gnutls_transport_set_lowat (gnutls_session_t session, int num)
    +— Function: void gnutls_transport_set_lowat (gnutls_session_t session, int num)

    session: is a gnutls_session_t structure.

    num: is the low water value. @@ -12002,7 +11462,7 @@

    -— Function: void gnutls_transport_set_ptr2 (gnutls_session_t session, gnutls_transport_ptr_t recv_ptr, gnutls_transport_ptr_t send_ptr)
    +— Function: void gnutls_transport_set_ptr2 (gnutls_session_t session, gnutls_transport_ptr_t recv_ptr, gnutls_transport_ptr_t send_ptr)

    session: is a gnutls_session_t structure.

    recv_ptr: is the value for the pull function @@ -12020,7 +11480,7 @@

    -— Function: void gnutls_transport_set_ptr (gnutls_session_t session, gnutls_transport_ptr_t ptr)
    +— Function: void gnutls_transport_set_ptr (gnutls_session_t session, gnutls_transport_ptr_t ptr)

    session: is a gnutls_session_t structure.

    ptr: is the value. @@ -12035,14 +11495,15 @@

    -— Function: void gnutls_transport_set_pull_function (gnutls_session_t session, gnutls_pull_func pull_func)
    +— Function: void gnutls_transport_set_pull_function (gnutls_session_t session, gnutls_pull_func pull_func)

    session: gnutls session

    pull_func: a callback function similar to read() -

    This is the function where you set a function for gnutls to receive -data. Normally, if you use berkeley style sockets, do not need to -use this function since the default (recv(2)) will probably be ok. +

    This is the function where you set a function for gnutls +to receive data. Normally, if you use berkeley style sockets, +do not need to use this function since the default (recv(2)) will +probably be ok.

    PULL_FUNC is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); @@ -12053,25 +11514,25 @@

    -— Function: void gnutls_transport_set_push_function (gnutls_session_t session, gnutls_push_func push_func)
    +— Function: void gnutls_transport_set_push_function (gnutls_session_t session, gnutls_push_func push_func)

    session: gnutls session

    push_func: a callback function similar to write() -

    This is the function where you set a push function for gnutls to -use in order to send data. If you are going to use berkeley style -sockets, you do not need to use this function since the default -(send(2)) will probably be ok. Otherwise you should specify this -function for gnutls to be able to send data. +

    This is the function where you set a push function for gnutls +to use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since +the default (send(2)) will probably be ok. Otherwise you should +specify this function for gnutls to be able to send data.

    PUSH_FUNC is of the form, ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t);

    +


    -


    Next: , Previous: Core functions, Up: Function reference @@ -12080,7 +11541,7 @@

    9.2 X.509 Certificate Functions

    -

    +

    The following functions are to be used for X.509 certificate handling. Their prototypes lie in gnutls/x509.h. @@ -12089,16 +11550,12 @@

    -— Function: int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, const char * pass)
    +— Function: int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, const char * pass)

    bag: The bag -

    pass: The password used for encryption, must be ASCII. - -

    This function will decrypt the given encrypted bag and return 0 on -success. +

    pass: The password used for encryption. This can only be ASCII. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function will decrypt the given encrypted bag and return 0 on success.

    gnutls_pkcs12_bag_deinit

    @@ -12106,7 +11563,7 @@

    -— Function: void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag)
    +— Function: void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag)

    bag: The structure to be initialized

    This function will deinitialize a PKCS12 Bag structure. @@ -12117,17 +11574,14 @@

    -— Function: int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, const char * pass, unsigned int flags)
    +— Function: int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, const char * pass, unsigned int flags)

    bag: The bag -

    pass: The password used for encryption, must be ASCII +

    pass: The password used for encryption. This can only be ASCII. -

    flags: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd +

    flags: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd -

    This function will encrypt the given bag. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    This function will encrypt the given bag and return 0 on success.

    gnutls_pkcs12_bag_get_count

    @@ -12135,13 +11589,10 @@

    -— Function: int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag)
    +— Function: int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag)

    bag: The bag -

    This function will return the number of the elements withing the bag. - -

    Returns: Number of elements in bag, or an negative error code on -error. +

    This function will return the number of the elements withing the bag.

    gnutls_pkcs12_bag_get_data

    @@ -12149,7 +11600,7 @@

    -— Function: int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, int indx, gnutls_datum_t * data)
    +— Function: int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, int indx, gnutls_datum_t * data)

    bag: The bag

    indx: The element of the bag to get the data from @@ -12169,7 +11620,7 @@

    -— Function: int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, int indx, char ** name)
    +— Function: int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, int indx, char ** name)

    bag: The bag

    indx: The bag's element to add the id @@ -12188,7 +11639,7 @@

    -— Function: int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, int indx, gnutls_datum_t * id)
    +— Function: int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, int indx, gnutls_datum_t * id)

    bag: The bag

    indx: The bag's element to add the id @@ -12207,14 +11658,13 @@

    -— Function: gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, int indx)
    +— Function: gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, int indx)

    bag: The bag

    indx: The element of the bag to get the type -

    This function will return the bag's type. - -

    Returns: One of the gnutls_pkcs12_bag_type_t enumerations. +

    This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t +enumerations.

    gnutls_pkcs12_bag_init

    @@ -12222,7 +11672,7 @@

    -— Function: int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t * bag)
    +— Function: int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t * bag)

    bag: The structure to be initialized

    This function will initialize a PKCS12 bag structure. PKCS12 Bags @@ -12238,7 +11688,7 @@

    -— Function: int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, gnutls_x509_crl_t crl)
    +— Function: int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, gnutls_x509_crl_t crl)

    bag: The bag

    crl: the CRL to be copied. @@ -12255,7 +11705,7 @@

    -— Function: int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, gnutls_x509_crt_t crt)
    +— Function: int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, gnutls_x509_crt_t crt)

    bag: The bag

    crt: the certificate to be copied. @@ -12272,7 +11722,7 @@

    -— Function: int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, gnutls_pkcs12_bag_type_t type, const gnutls_datum_t * data)
    +— Function: int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, gnutls_pkcs12_bag_type_t type, const gnutls_datum_t * data)

    bag: The bag

    type: The data's type @@ -12291,7 +11741,7 @@

    -— Function: int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, int indx, const char * name)
    +— Function: int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, int indx, const char * name)

    bag: The bag

    indx: The bag's element to add the id @@ -12311,7 +11761,7 @@

    -— Function: int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, int indx, const gnutls_datum_t * id)
    +— Function: int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, int indx, const gnutls_datum_t * id)

    bag: The bag

    indx: The bag's element to add the id @@ -12331,7 +11781,7 @@

    -— Function: void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12)
    +— Function: void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12)

    pkcs12: The structure to be initialized

    This function will deinitialize a PKCS12 structure. @@ -12342,7 +11792,7 @@

    -— Function: int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    pkcs12: Holds the pkcs12 structure

    format: the format of output params. One of PEM or DER. @@ -12370,7 +11820,7 @@

    -— Function: int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, const char * pass)
    +— Function: int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, const char * pass)

    pkcs12: should contain a gnutls_pkcs12_t structure

    pass: The password for the MAC @@ -12386,7 +11836,7 @@

    -— Function: int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, int indx, gnutls_pkcs12_bag_t bag)
    +— Function: int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, int indx, gnutls_pkcs12_bag_t bag)

    pkcs12: should contain a gnutls_pkcs12_t structure

    indx: contains the index of the bag to extract @@ -12407,7 +11857,7 @@

    -— Function: int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, unsigned int flags)
    +— Function: int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, unsigned int flags)

    pkcs12: The structure to store the parsed PKCS12.

    data: The DER or PEM encoded PKCS12. @@ -12430,7 +11880,7 @@

    -— Function: int gnutls_pkcs12_init (gnutls_pkcs12_t * pkcs12)
    +— Function: int gnutls_pkcs12_init (gnutls_pkcs12_t * pkcs12)

    pkcs12: The structure to be initialized

    This function will initialize a PKCS12 structure. PKCS12 structures @@ -12446,7 +11896,7 @@

    -— Function: int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
    +— Function: int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)

    pkcs12: should contain a gnutls_pkcs12_t structure

    bag: An initialized bag @@ -12462,7 +11912,7 @@

    -— Function: int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, const char * pass)
    +— Function: int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, const char * pass)

    pkcs12: should contain a gnutls_pkcs12_t structure

    pass: The password for the MAC @@ -12478,7 +11928,7 @@

    -— Function: void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7)
    +— Function: void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7)

    pkcs7: The structure to be initialized

    This function will deinitialize a PKCS7 structure. @@ -12489,10 +11939,8 @@

    -— Function: int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, int indx)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    indx: the index of the crl to delete +— Function: int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, int indx)
    +

    indx: the index of the crl to delete

    This function will delete a crl from a PKCS7 or RFC2630 crl set. Index starts from 0. Returns 0 on success. @@ -12506,10 +11954,8 @@

    -— Function: int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, int indx)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    indx: the index of the certificate to delete +— Function: int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, int indx)
    +

    indx: the index of the certificate to delete

    This function will delete a certificate from a PKCS7 or RFC2630 certificate set. Index starts from 0. Returns 0 on success. @@ -12523,7 +11969,7 @@

    -— Function: int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    pkcs7: Holds the pkcs7 structure

    format: the format of output params. One of PEM or DER. @@ -12542,8 +11988,8 @@

    If the structure is PEM encoded, it will have a header of "BEGIN PKCS7". -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. +

    Return value: In case of failure a negative value will be +returned, and 0 on success.

    gnutls_pkcs7_get_crl_count

    @@ -12551,10 +11997,8 @@

    -— Function: int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    This function will return the number of certifcates in the PKCS7 +— Function: int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7)
    +

    This function will return the number of certifcates in the PKCS7 or RFC2630 crl set.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a @@ -12566,10 +12010,8 @@

    -— Function: int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, int indx, void * crl, size_t * crl_size)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    indx: contains the index of the crl to extract +— Function: int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, int indx, void * crl, size_t * crl_size)
    +

    indx: contains the index of the crl to extract

    crl: the contents of the crl will be copied there (may be null) @@ -12589,10 +12031,8 @@

    -— Function: int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    This function will return the number of certifcates in the PKCS7 +— Function: int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7)
    +

    This function will return the number of certifcates in the PKCS7 or RFC2630 certificate set.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a @@ -12604,10 +12044,8 @@

    -— Function: int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, int indx, void * certificate, size_t * certificate_size)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    indx: contains the index of the certificate to extract +— Function: int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, int indx, void * certificate, size_t * certificate_size)
    +

    indx: contains the index of the certificate to extract

    certificate: the contents of the certificate will be copied there (may be null) @@ -12631,7 +12069,7 @@

    -— Function: int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)

    pkcs7: The structure to store the parsed PKCS7.

    data: The DER or PEM encoded PKCS7. @@ -12653,7 +12091,7 @@

    -— Function: int gnutls_pkcs7_init (gnutls_pkcs7_t * pkcs7)
    +— Function: int gnutls_pkcs7_init (gnutls_pkcs7_t * pkcs7)

    pkcs7: The structure to be initialized

    This function will initialize a PKCS7 structure. PKCS7 structures @@ -12669,10 +12107,8 @@

    -— Function: int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    crl: the DER encoded crl to be added +— Function: int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
    +

    crl: the DER encoded crl to be added

    This function will add a crl to the PKCS7 or RFC2630 crl set. @@ -12685,10 +12121,8 @@

    -— Function: int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    crl: the DER encoded crl to be added +— Function: int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl)
    +

    crl: the DER encoded crl to be added

    This function will add a parsed CRL to the PKCS7 or RFC2630 crl set. @@ -12702,10 +12136,8 @@

    -— Function: int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    crt: the DER encoded certificate to be added +— Function: int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
    +

    crt: the DER encoded certificate to be added

    This function will add a certificate to the PKCS7 or RFC2630 certificate set. @@ -12719,10 +12151,8 @@

    -— Function: int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt)
    -

    pkcs7: should contain a gnutls_pkcs7_t structure - -

    crt: the certificate to be copied. +— Function: int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt)
    +

    crt: the certificate to be copied.

    This function will add a parsed certificate to the PKCS7 or RFC2630 certificate set. This is a wrapper function over @@ -12737,15 +12167,14 @@

    -— Function: int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t cert, gnutls_x509_crt_t issuer)
    +— Function: int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t cert, gnutls_x509_crt_t issuer)

    issuer: is the certificate of a possible issuer -

    This function will check if the given CRL was issued by the given -issuer certificate. It will return true (1) if the given CRL was -issued by the given issuer, and false (0) if not. +

    This function will check if the given CRL was issued by the +given issuer certificate. It will return true (1) if the given CRL was issued +by the given issuer, and false (0) if not. -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. +

    A negative value is returned in case of an error.

    gnutls_x509_crl_deinit

    @@ -12753,7 +12182,7 @@

    -— Function: void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl)
    +— Function: void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl)

    crl: The structure to be initialized

    This function will deinitialize a CRL structure. @@ -12764,7 +12193,7 @@

    -— Function: int gnutls_x509_crl_export (gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_crl_export (gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    crl: Holds the revocation list

    format: the format of output params. One of PEM or DER. @@ -12786,38 +12215,12 @@ negative error value. and a negative value on failure.

    -

    gnutls_x509_crl_get_authority_key_id

    - -

    - -

    -— Function: int gnutls_x509_crl_get_authority_key_id (gnutls_x509_crl_t crl, void * ret, size_t * ret_size, unsigned int * critical)
    -

    crl: should contain a gnutls_x509_crl_t structure - -

    ret: The place where the identifier will be copied - -

    ret_size: Holds the size of the result field. - -

    critical: will be non zero if the extension is marked as critical -(may be null) - -

    This function will return the CRL authority's key identifier. This -is obtained by the X.509 Authority Key identifier extension field -(2.5.29.35). Note that this function only returns the -keyIdentifier field of the extension. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crl_get_crt_count

    -— Function: int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl)
    +— Function: int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl)

    crl: should contain a gnutls_x509_crl_t structure

    This function will return the number of revoked certificates in the @@ -12831,7 +12234,7 @@

    -— Function: int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, int indx, unsigned char * serial, size_t * serial_size, time_t * t)
    +— Function: int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, int indx, unsigned char * serial, size_t * serial_size, time_t * t)

    crl: should contain a gnutls_x509_crl_t structure

    indx: the index of the certificate to extract (starting from 0) @@ -12854,7 +12257,7 @@

    -— Function: int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, int indx, void * oid, size_t * sizeof_oid)
    +— Function: int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, int indx, void * oid, size_t * sizeof_oid)

    crl: should contain a gnutls_x509_crl_t structure

    indx: Specifies which DN OID to send. Use zero to get the first one. @@ -12873,103 +12276,12 @@ with the required size. On success 0 is returned.

    -

    gnutls_x509_crl_get_extension_data

    - -

    - -

    -— Function: int gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t crl, int indx, void * data, size_t * sizeof_data)
    -

    crl: should contain a gnutls_x509_crl_t structure - -

    indx: Specifies which extension OID to send. Use zero to get the first one. - -

    data: a pointer to a structure to hold the data (may be null) - -

    sizeof_data: initially holds the size of oid - -

    This function will return the requested extension data in the CRL. -The extension data will be stored as a string in the provided -buffer. - -

    Use gnutls_x509_crl_get_extension_info() to extract the OID and -critical flag. Use gnutls_x509_crl_get_extension_by_oid() instead, -if you want to get data indexed by the extension OID rather than -sequence. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crl_get_extension_info

    - -

    - -

    -— Function: int gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t crl, int indx, void * oid, size_t * sizeof_oid, int * critical)
    -

    crl: should contain a gnutls_x509_crl_t structure - -

    indx: Specifies which extension OID to send, use zero to get the first one. - -

    oid: a pointer to a structure to hold the OID - -

    sizeof_oid: initially holds the maximum size of oid, on return -holds actual size of oid. - -

    critical: output variable with critical flag, may be NULL. - -

    This function will return the requested extension OID in the CRL, -and the critical flag for it. The extension OID will be stored as -a string in the provided buffer. Use -gnutls_x509_crl_get_extension_data() to extract the data. - -

    If the buffer provided is not long enough to hold the output, then -*sizeof_oid is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be -returned. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crl_get_extension_oid

    - -

    - -

    -— Function: int gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, int indx, void * oid, size_t * sizeof_oid)
    -

    crl: should contain a gnutls_x509_crl_t structure - -

    indx: Specifies which extension OID to send, use zero to get the first one. - -

    oid: a pointer to a structure to hold the OID (may be null) - -

    sizeof_oid: initially holds the size of oid - -

    This function will return the requested extension OID in the CRL. -The extension OID will be stored as a string in the provided -buffer. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crl_get_issuer_dn_by_oid

    -— Function: int gnutls_x509_crl_get_issuer_dn_by_oid (gnutls_x509_crl_t crl, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crl_get_issuer_dn_by_oid (gnutls_x509_crl_t crl, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)

    crl: should contain a gnutls_x509_crl_t structure

    oid: holds an Object Identified in null terminated string @@ -13005,7 +12317,7 @@

    -— Function: int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, char * buf, size_t * sizeof_buf)

    crl: should contain a gnutls_x509_crl_t structure

    buf: a pointer to a structure to hold the peer's name (may be null) @@ -13029,7 +12341,7 @@

    -— Function: time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl)
    +— Function: time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl)

    crl: should contain a gnutls_x509_crl_t structure

    This function will return the time the next CRL will be issued. @@ -13039,51 +12351,27 @@

    Returns: when the next CRL will be issued, or (time_t)-1 on error.

    -

    gnutls_x509_crl_get_number

    +

    gnutls_x509_crl_get_signature_algorithm

    -

    +

    -— Function: int gnutls_x509_crl_get_number (gnutls_x509_crl_t crl, void * ret, size_t * ret_size, unsigned int * critical)
    +— Function: int gnutls_x509_crl_get_signature_algorithm (gnutls_x509_crl_t crl)

    crl: should contain a gnutls_x509_crl_t structure -

    ret: The place where the number will be copied - -

    ret_size: Holds the size of the result field. - -

    critical: will be non zero if the extension is marked as critical -(may be null) - -

    This function will return the CRL number extension. This is -obtained by the CRL Number extension field (2.5.29.20). +

    This function will return a value of the gnutls_sign_algorithm_t +enumeration that is the signature algorithm.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. - -

    Since: 2.8.0 +negative error value.

    -

    gnutls_x509_crl_get_signature_algorithm

    - -

    - -

    -— Function: int gnutls_x509_crl_get_signature_algorithm (gnutls_x509_crl_t crl)
    -

    crl: should contain a gnutls_x509_crl_t structure - -

    This function will return a value of the gnutls_sign_algorithm_t -enumeration that is the signature algorithm. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. -

    - -

    gnutls_x509_crl_get_signature

    +

    gnutls_x509_crl_get_signature

    -— Function: int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, char * sig, size_t * sizeof_sig)
    +— Function: int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, char * sig, size_t * sizeof_sig)

    crl: should contain a gnutls_x509_crl_t structure

    sig: a pointer where the signature part will be copied (may be null). @@ -13101,7 +12389,7 @@

    -— Function: time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl)
    +— Function: time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl)

    crl: should contain a gnutls_x509_crl_t structure

    This function will return the time this CRL was issued. @@ -13114,7 +12402,7 @@

    -— Function: int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl)
    +— Function: int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl)

    crl: should contain a gnutls_x509_crl_t structure

    This function will return the version of the specified CRL. @@ -13127,7 +12415,7 @@

    -— Function: int gnutls_x509_crl_import (gnutls_x509_crl_t crl, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_x509_crl_import (gnutls_x509_crl_t crl, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)

    crl: The structure to store the parsed CRL.

    data: The DER or PEM encoded CRL. @@ -13148,7 +12436,7 @@

    -— Function: int gnutls_x509_crl_init (gnutls_x509_crl_t * crl)
    +— Function: int gnutls_x509_crl_init (gnutls_x509_crl_t * crl)

    crl: The structure to be initialized

    This function will initialize a CRL structure. CRL stands for @@ -13166,7 +12454,7 @@

    -— Function: int gnutls_x509_crl_print (gnutls_x509_crl_t crl, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)
    +— Function: int gnutls_x509_crl_print (gnutls_x509_crl_t crl, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)

    crl: The structure to be printed

    format: Indicate the format to use @@ -13182,33 +12470,12 @@ negative error value.

    -

    gnutls_x509_crl_set_authority_key_id

    - -

    - -

    -— Function: int gnutls_x509_crl_set_authority_key_id (gnutls_x509_crl_t crl, const void * id, size_t id_size)
    -

    crl: a CRL of type gnutls_x509_crl_t - -

    id: The key ID - -

    id_size: Holds the size of the serial field. - -

    This function will set the CRL's authority key ID extension. Only -the keyIdentifier field can be set with this function. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crl_set_crt_serial

    -— Function: int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, const void * serial, size_t serial_size, time_t revocation_time)
    +— Function: int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, const void * serial, size_t serial_size, time_t revocation_time)

    crl: should contain a gnutls_x509_crl_t structure

    serial: The revoked certificate's serial number @@ -13228,10 +12495,10 @@

    -— Function: int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, gnutls_x509_crt_t crt, time_t revocation_time)
    +— Function: int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, gnutls_x509_crt_t crt, time_t revocation_time)

    crl: should contain a gnutls_x509_crl_t structure -

    crt: a certificate of type gnutls_x509_crt_t with the revoked certificate +

    crt: should contain a gnutls_x509_crt_t structure with the revoked certificate

    revocation_time: The time this certificate was revoked @@ -13246,7 +12513,7 @@

    -— Function: int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, time_t exp_time)
    +— Function: int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, time_t exp_time)

    crl: should contain a gnutls_x509_crl_t structure

    exp_time: The actual time @@ -13257,32 +12524,12 @@ negative error value.

    -

    gnutls_x509_crl_set_number

    - -

    - -

    -— Function: int gnutls_x509_crl_set_number (gnutls_x509_crl_t crl, const void * nr, size_t nr_size)
    -

    crl: a CRL of type gnutls_x509_crl_t - -

    nr: The CRL number - -

    nr_size: Holds the size of the nr field. - -

    This function will set the CRL's number extension. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crl_set_this_update

    -— Function: int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, time_t act_time)
    +— Function: int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, time_t act_time)

    crl: should contain a gnutls_x509_crl_t structure

    act_time: The actual time @@ -13298,7 +12545,7 @@

    -— Function: int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, unsigned int version)
    +— Function: int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, unsigned int version)

    crl: should contain a gnutls_x509_crl_t structure

    version: holds the version number. For CRLv1 crls must be 1. @@ -13316,7 +12563,7 @@

    -— Function: int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key, gnutls_digest_algorithm_t dig, unsigned int flags)
    +— Function: int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key, gnutls_digest_algorithm_t dig, unsigned int flags)

    crl: should contain a gnutls_x509_crl_t structure

    issuer: is the certificate of the certificate issuer @@ -13342,7 +12589,7 @@

    -— Function: int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key)
    +— Function: int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key)

    crl: should contain a gnutls_x509_crl_t structure

    issuer: is the certificate of the certificate issuer @@ -13361,7 +12608,7 @@

    -— Function: int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, const gnutls_x509_crt_t * CA_list, int CA_list_length, unsigned int flags, unsigned int * verify)
    +— Function: int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, const gnutls_x509_crt_t * CA_list, int CA_list_length, unsigned int flags, unsigned int * verify)

    crl: is the crl to be verified

    CA_list: is a certificate list that is considered to be trusted one @@ -13377,7 +12624,7 @@ return values.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error.

    gnutls_x509_crq_deinit

    @@ -13385,7 +12632,7 @@

    -— Function: void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq)
    +— Function: void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq)

    crq: The structure to be initialized

    This function will deinitialize a CRL structure. @@ -13396,7 +12643,7 @@

    -— Function: int gnutls_x509_crq_export (gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_crq_export (gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    crq: Holds the request

    format: the format of output params. One of PEM or DER. @@ -13424,7 +12671,7 @@

    -— Function: int gnutls_x509_crq_get_attribute_by_oid (gnutls_x509_crq_t crq, const char * oid, int indx, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crq_get_attribute_by_oid (gnutls_x509_crq_t crq, const char * oid, int indx, void * buf, size_t * sizeof_buf)

    crq: should contain a gnutls_x509_crq_t structure

    oid: holds an Object Identified in null terminated string @@ -13443,105 +12690,12 @@ negative error value.

    -

    gnutls_x509_crq_get_attribute_data

    - -

    - -

    -— Function: int gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t cert, int indx, void * data, size_t * sizeof_data)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    indx: Specifies which attribute OID to send. Use zero to get the first one. - -

    data: a pointer to a structure to hold the data (may be null) - -

    sizeof_data: initially holds the size of oid - -

    This function will return the requested attribute data in the -certificate request. The attribute data will be stored as a string in the -provided buffer. - -

    Use gnutls_x509_crq_get_attribute_info() to extract the OID. -Use gnutls_x509_crq_get_attribute_by_oid() instead, -if you want to get data indexed by the attribute OID rather than -sequence. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_attribute_info

    - -

    - -

    -— Function: int gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t cert, int indx, void * oid, size_t * sizeof_oid)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    indx: Specifies which attribute OID to send. Use zero to get the first one. - -

    oid: a pointer to a structure to hold the OID - -

    sizeof_oid: initially holds the maximum size of oid, on return -holds actual size of oid. - -

    This function will return the requested attribute OID in the -certificate, and the critical flag for it. The attribute OID will -be stored as a string in the provided buffer. Use -gnutls_x509_crq_get_attribute_data() to extract the data. - -

    If the buffer provided is not long enough to hold the output, then -*sizeof_oid is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be -returned. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_basic_constraints

    - -

    - -

    -— Function: int gnutls_x509_crq_get_basic_constraints (gnutls_x509_crq_t cert, unsigned int * critical, int * ca, int * pathlen)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    critical: will be non zero if the extension is marked as critical - -

    ca: pointer to output integer indicating CA status, may be NULL, -value is 1 if the certificate CA flag is set, 0 otherwise. - -

    pathlen: pointer to output integer indicating path length (may be -NULL), non-negative values indicate a present pathLenConstraint -field and the actual value, -1 indicate that the field is absent. - -

    This function will read the certificate's basic constraints, and -return the certificates CA status. It reads the basicConstraints -X.509 extension (2.5.29.19). - -

    Return value: If the certificate is a CA a positive value will be -returned, or zero if the certificate does not have CA flag set. -A negative value may be returned in case of errors. If the -certificate does not contain the basicConstraints extension -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crq_get_challenge_password

    -— Function: int gnutls_x509_crq_get_challenge_password (gnutls_x509_crq_t crq, char * pass, size_t * sizeof_pass)
    +— Function: int gnutls_x509_crq_get_challenge_password (gnutls_x509_crq_t crq, char * pass, size_t * sizeof_pass)

    crq: should contain a gnutls_x509_crq_t structure

    pass: will hold a null terminated password @@ -13560,7 +12714,7 @@

    -— Function: int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)

    crq: should contain a gnutls_x509_crq_t structure

    oid: holds an Object Identified in null terminated string @@ -13597,7 +12751,7 @@

    -— Function: int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, int indx, void * oid, size_t * sizeof_oid)
    +— Function: int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, int indx, void * oid, size_t * sizeof_oid)

    crq: should contain a gnutls_x509_crq_t structure

    indx: Specifies which DN OID to send. Use zero to get the first one. @@ -13621,326 +12775,45 @@

    -— Function: int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, char * buf, size_t * sizeof_buf)

    crq: should contain a gnutls_x509_crq_t structure

    buf: a pointer to a structure to hold the name (may be null)

    sizeof_buf: initially holds the size of buf -

    This function will copy the name of the Certificate request -subject in the provided buffer. The name will be in the form -"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string -will be ASCII or UTF-8 encoded, depending on the certificate data. - -

    If buf is null then only the size will be filled. - -

    Returns: GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -

    - -

    gnutls_x509_crq_get_extension_by_oid

    - -

    - -

    -— Function: int gnutls_x509_crq_get_extension_by_oid (gnutls_x509_crq_t cert, const char * oid, int indx, void * buf, size_t * sizeof_buf, unsigned int * critical)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    oid: holds an Object Identified in null terminated string - -

    indx: In case multiple same OIDs exist in the extensions, this -specifies which to send. Use zero to get the first one. - -

    buf: a pointer to a structure to hold the name (may be null) - -

    sizeof_buf: initially holds the size of buf - -

    critical: will be non zero if the extension is marked as critical - -

    This function will return the extension specified by the OID in -the certificate. The extensions will be returned as binary data -DER encoded, in the provided buffer. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If the certificate does not -contain the specified extension -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_extension_data

    - -

    - -

    -— Function: int gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t cert, int indx, void * data, size_t * sizeof_data)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    indx: Specifies which extension OID to send. Use zero to get the first one. - -

    data: a pointer to a structure to hold the data (may be null) - -

    sizeof_data: initially holds the size of oid - -

    This function will return the requested extension data in the -certificate. The extension data will be stored as a string in the -provided buffer. - -

    Use gnutls_x509_crq_get_extension_info() to extract the OID and -critical flag. Use gnutls_x509_crq_get_extension_by_oid() instead, -if you want to get data indexed by the extension OID rather than -sequence. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_extension_info

    - -

    - -

    -— Function: int gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t cert, int indx, void * oid, size_t * sizeof_oid, int * critical)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    indx: Specifies which extension OID to send. Use zero to get the first one. - -

    oid: a pointer to a structure to hold the OID - -

    sizeof_oid: initially holds the maximum size of oid, on return -holds actual size of oid. - -

    critical: output variable with critical flag, may be NULL. - -

    This function will return the requested extension OID in the -certificate, and the critical flag for it. The extension OID will -be stored as a string in the provided buffer. Use -gnutls_x509_crq_get_extension_data() to extract the data. - -

    If the buffer provided is not long enough to hold the output, then -*sizeof_oid is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be -returned. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_key_id

    - -

    - -

    -— Function: int gnutls_x509_crq_get_key_id (gnutls_x509_crq_t crq, unsigned int flags, unsigned char * output_data, size_t * output_data_size)
    -

    crq: Holds the certificate signing request - -

    flags: should be 0 for now - -

    output_data: will contain the key ID - -

    output_data_size: holds the size of output_data (and will be -replaced by the actual size of parameters) - -

    This function will return a unique ID the depends on the public -key parameters. This ID can be used in checking whether a -certificate corresponds to the given private key. - -

    If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. The output will normally be a SHA-1 hash output, -which is 20 bytes. - -

    Return value: In case of failure a negative value will be -returned, and 0 on success. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_key_purpose_oid

    - -

    - -

    -— Function: int gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert, int indx, void * oid, size_t * sizeof_oid, unsigned int * critical)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    indx: This specifies which OID to return. Use zero to get the first one. - -

    oid: a pointer to a buffer to hold the OID (may be null) - -

    sizeof_oid: initially holds the size of oid - -

    critical: output variable with critical flag, may be NULL. - -

    This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions -for human readable names. - -

    If oid is null then only the size will be filled. - -

    Returns: GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_key_rsa_raw

    - -

    - -

    -— Function: int gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t crq, gnutls_datum_t * m, gnutls_datum_t * e)
    -

    crq: Holds the certificate - -

    m: will hold the modulus - -

    e: will hold the public exponent - -

    This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -gnutls_malloc() and will be stored in the appropriate datum. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_key_usage

    - -

    - -

    -— Function: int gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t cert, unsigned int * key_usage, unsigned int * critical)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    key_usage: where the key usage bits will be stored - -

    critical: will be non zero if the extension is marked as critical - -

    This function will return certificate's key usage, by reading the -keyUsage X.509 extension (2.5.29.15). The key usage value will - -

    ORed values of the: GNUTLS_KEY_DIGITAL_SIGNATURE, -GNUTLS_KEY_NON_REPUDIATION, GNUTLS_KEY_KEY_ENCIPHERMENT, -GNUTLS_KEY_DATA_ENCIPHERMENT, GNUTLS_KEY_KEY_AGREEMENT, -GNUTLS_KEY_KEY_CERT_SIGN, GNUTLS_KEY_CRL_SIGN, -GNUTLS_KEY_ENCIPHER_ONLY, GNUTLS_KEY_DECIPHER_ONLY. - -

    Returns: the certificate key usage, or a negative value in case of -parsing error. If the certificate does not contain the keyUsage -extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be -returned. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_get_pk_algorithm

    - -

    - -

    -— Function: int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, unsigned int * bits)
    -

    crq: should contain a gnutls_x509_crq_t structure - -

    bits: if bits is non null it will hold the size of the parameters' in bits - -

    This function will return the public key algorithm of a PKCS \10 -certificate request. - -

    If bits is non null, it should have enough size to hold the parameters -size in bits. For RSA the bits returned is the modulus. -For DSA the bits returned are of the public -exponent. - -

    Returns: a member of the gnutls_pk_algorithm_t enumeration on -success, or a negative value on error. -

    - -

    gnutls_x509_crq_get_subject_alt_name

    - -

    - -

    -— Function: int gnutls_x509_crq_get_subject_alt_name (gnutls_x509_crq_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * ret_type, unsigned int * critical)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    seq: specifies the sequence number of the alt name, 0 for the -first one, 1 for the second etc. - -

    ret: is the place where the alternative name will be copied to - -

    ret_size: holds the size of ret. - -

    ret_type: holds the gnutls_x509_subject_alt_name_t name type - -

    critical: will be non zero if the extension is marked as critical -(may be null) - -

    This function will return the alternative names, contained in the -given certificate. It is the same as -gnutls_x509_crq_get_subject_alt_name() except for the fact that it -will return the type of the alternative name in ret_type even if -the function fails for some reason (i.e. the buffer provided is -not enough). +

    This function will copy the name of the Certificate request +subject in the provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data. -

    Returns: the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. It will return -GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough to -hold the value. In that case ret_size will be updated with the -required size. If the certificate request does not have an -Alternative name with the specified sequence number then -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +

    If buf is null then only the size will be filled. -

    Since: 2.8.0 +

    Returns: GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned.

    -

    gnutls_x509_crq_get_subject_alt_othername_oid

    +

    gnutls_x509_crq_get_pk_algorithm

    -

    +

    -— Function: int gnutls_x509_crq_get_subject_alt_othername_oid (gnutls_x509_crq_t cert, unsigned int seq, void * ret, size_t * ret_size)
    -

    cert: should contain a gnutls_x509_crq_t structure - -

    seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - -

    ret: is the place where the otherName OID will be copied to - -

    ret_size: holds the size of ret. +— Function: int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, unsigned int * bits)
    +

    crq: should contain a gnutls_x509_crq_t structure -

    This function will extract the type OID of an otherName Subject -Alternative Name, contained in the given certificate, and return -the type as an enumerated element. +

    bits: if bits is non null it will hold the size of the parameters' in bits -

    This function is only useful if -gnutls_x509_crq_get_subject_alt_name() returned -GNUTLS_SAN_OTHERNAME. +

    This function will return the public key algorithm of a PKCS \10 +certificate request. -

    Returns: the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, -it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, -e.g. GNUTLS_SAN_OTHERNAME_XMPP, and GNUTLS_SAN_OTHERNAME for -unknown OIDs. It will return GNUTLS_E_SHORT_MEMORY_BUFFER if -ret_size is not large enough to hold the value. In that case -ret_size will be updated with the required size. If the -certificate does not have an Alternative name with the specified -sequence number and with the otherName type then -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +

    If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent. -

    Since: 2.8.0 +

    Returns: a member of the gnutls_pk_algorithm_t enumeration on +success, or a negative value on error.

    gnutls_x509_crq_get_version

    @@ -13948,7 +12821,7 @@

    -— Function: int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq)
    +— Function: int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq)

    crq: should contain a gnutls_x509_crq_t structure

    This function will return the version of the specified Certificate request. @@ -13962,7 +12835,7 @@

    -— Function: int gnutls_x509_crq_import (gnutls_x509_crq_t crq, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_x509_crq_import (gnutls_x509_crq_t crq, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)

    crq: The structure to store the parsed certificate request.

    data: The DER or PEM encoded certificate. @@ -13983,7 +12856,7 @@

    -— Function: int gnutls_x509_crq_init (gnutls_x509_crq_t * crq)
    +— Function: int gnutls_x509_crq_init (gnutls_x509_crq_t * crq)

    crq: The structure to be initialized

    This function will initialize a PKCS10 certificate request structure. @@ -13992,35 +12865,12 @@ negative error value.

    -

    gnutls_x509_crq_print

    - -

    - -

    -— Function: int gnutls_x509_crq_print (gnutls_x509_crq_t crq, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)
    -

    crq: The structure to be printed - -

    format: Indicate the format to use - -

    out: Newly allocated datum with zero terminated string. - -

    This function will pretty print a certificate request, suitable for -display to a human. - -

    The output out needs to be deallocate using gnutls_free(). - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crq_set_attribute_by_oid

    -— Function: int gnutls_x509_crq_set_attribute_by_oid (gnutls_x509_crq_t crq, const char * oid, void * buf, size_t sizeof_buf)
    +— Function: int gnutls_x509_crq_set_attribute_by_oid (gnutls_x509_crq_t crq, const char * oid, void * buf, size_t sizeof_buf)

    crq: should contain a gnutls_x509_crq_t structure

    oid: holds an Object Identified in null terminated string @@ -14036,34 +12886,12 @@ negative error value.

    -

    gnutls_x509_crq_set_basic_constraints

    - -

    - -

    -— Function: int gnutls_x509_crq_set_basic_constraints (gnutls_x509_crq_t crq, unsigned int ca, int pathLenConstraint)
    -

    crq: a certificate of type gnutls_x509_crq_t - -

    ca: true(1) or false(0). Depending on the Certificate authority status. - -

    pathLenConstraint: non-negative values indicate maximum length of path, -and negative values indicate that the pathLenConstraints field should -not be present. - -

    This function will set the basicConstraints certificate extension. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crq_set_challenge_password

    -— Function: int gnutls_x509_crq_set_challenge_password (gnutls_x509_crq_t crq, const char * pass)
    +— Function: int gnutls_x509_crq_set_challenge_password (gnutls_x509_crq_t crq, const char * pass)

    crq: should contain a gnutls_x509_crq_t structure

    pass: holds a null terminated password @@ -14079,7 +12907,7 @@

    -— Function: int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, const char * oid, unsigned int raw_flag, const void * data, unsigned int sizeof_data)
    +— Function: int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, const char * oid, unsigned int raw_flag, const void * data, unsigned int sizeof_data)

    crq: should contain a gnutls_x509_crq_t structure

    oid: holds an Object Identifier in a null terminated string @@ -14090,89 +12918,25 @@

    sizeof_data: holds the size of data -

    This function will set the part of the name of the Certificate -request subject, specified by the given OID. The input string -should be ASCII or UTF-8 encoded. +

    This function will set the part of the name of the Certificate request subject, specified +by the given OID. The input string should be ASCII or UTF-8 encoded.

    Some helper macros with popular OIDs can be found in gnutls/x509.h With this function you can only set the known OIDs. You can test for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are -not known (by gnutls) you should properly DER encode your data, -and call this function with raw_flag set. +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value.

    -

    gnutls_x509_crq_set_key_purpose_oid

    - -

    - -

    -— Function: int gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert, const void * oid, unsigned int critical)
    -

    cert: a certificate of type gnutls_x509_crq_t - -

    oid: a pointer to a null terminated string that holds the OID - -

    critical: Whether this extension will be critical or not - -

    This function will set the key purpose OIDs of the Certificate. -These are stored in the Extended Key Usage extension (2.5.29.37) -See the GNUTLS_KP_* definitions for human readable names. - -

    Subsequent calls to this function will append OIDs to the OID list. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    - -

    gnutls_x509_crq_set_key_rsa_raw

    - -

    - -

    -— Function: int gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t crq, const gnutls_datum_t * m, const gnutls_datum_t * e)
    -

    crq: should contain a gnutls_x509_crq_t structure - -

    m: holds the modulus - -

    e: holds the public exponent - -

    This function will set the public parameters from the given private -key to the request. Only RSA keys are currently supported. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.6.0 -

    - -

    gnutls_x509_crq_set_key_usage

    - -

    - -

    -— Function: int gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t crq, unsigned int usage)
    -

    crq: a certificate of type gnutls_x509_crq_t - -

    usage: an ORed sequence of the GNUTLS_KEY_* elements. - -

    This function will set the keyUsage certificate extension. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crq_set_key

    -— Function: int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)
    +— Function: int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)

    crq: should contain a gnutls_x509_crq_t structure

    key: holds a private key @@ -14184,48 +12948,12 @@ negative error value.

    -

    gnutls_x509_crq_set_subject_alt_name

    - -

    - -

    -— Function: int gnutls_x509_crq_set_subject_alt_name (gnutls_x509_crq_t crq, gnutls_x509_subject_alt_name_t nt, const void * data, unsigned int data_size, unsigned int flags)
    -

    crq: a certificate of type gnutls_x509_crq_t - -

    nt: is one of the gnutls_x509_subject_alt_name_t enumerations - -

    data: The data to be set - -

    data_size: The size of data to be set - -

    flags: GNUTLS_FSAN_SET to clear previous data or -GNUTLS_FSAN_APPEND to append. - -

    This function will set the subject alternative name certificate -extension. It can set the following types: - -

    &GNUTLS_SAN_DNSNAME: as a text string - -

    &GNUTLS_SAN_RFC822NAME: as a text string - -

    &GNUTLS_SAN_URI: as a text string - -

    &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -

    Other values can be set as binary values with the proper DER encoding. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crq_set_version

    -— Function: int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, unsigned int version)
    +— Function: int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, unsigned int version)

    crq: should contain a gnutls_x509_crq_t structure

    version: holds the version number. For v1 Requests must be 1. @@ -14242,7 +12970,7 @@

    -— Function: int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key, gnutls_digest_algorithm_t dig, unsigned int flags)
    +— Function: int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key, gnutls_digest_algorithm_t dig, unsigned int flags)

    crq: should contain a gnutls_x509_crq_t structure

    key: holds a private key @@ -14270,7 +12998,7 @@

    -— Function: int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)
    +— Function: int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)

    crq: should contain a gnutls_x509_crq_t structure

    key: holds a private key @@ -14287,7 +13015,7 @@

    -— Function: int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, const char * hostname)
    +— Function: int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, const char * hostname)

    cert: should contain an gnutls_x509_crt_t structure

    hostname: A null terminated string that contains a DNS name @@ -14305,17 +13033,16 @@

    -— Function: int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
    +— Function: int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)

    cert: is the certificate to be checked

    issuer: is the certificate of a possible issuer

    This function will check if the given certificate was issued by the -given issuer. +given issuer. It will return true (1) if the given certificate is issued +by the given issuer, and false (0) if not. -

    Returns: It will return true (1) if the given certificate is issued -by the given issuer, and false (0) if not. A negative value is -returned in case of an error. +

    A negative value is returned in case of an error.

    gnutls_x509_crt_check_revocation

    @@ -14323,7 +13050,7 @@

    -— Function: int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, const gnutls_x509_crl_t * crl_list, int crl_list_length)
    +— Function: int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, const gnutls_x509_crl_t * crl_list, int crl_list_length)

    cert: should contain a gnutls_x509_crt_t structure

    crl_list: should contain a list of gnutls_x509_crl_t structures @@ -14342,8 +13069,8 @@

    -— Function: int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, gnutls_x509_crt_t src)
    -

    dst: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, gnutls_x509_crt_t src)
    +

    dst: should contain a gnutls_x509_crt_t structure

    src: the certificate where the dist points will be copied from @@ -14360,7 +13087,7 @@

    -— Function: void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert)
    +— Function: void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert)

    cert: The structure to be initialized

    This function will deinitialize a CRL structure. @@ -14371,7 +13098,7 @@

    -— Function: int gnutls_x509_crt_export (gnutls_x509_crt_t cert, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_crt_export (gnutls_x509_crt_t cert, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    cert: Holds the certificate

    format: the format of output params. One of PEM or DER. @@ -14399,7 +13126,7 @@

    -— Function: time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert)
    +— Function: time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert)

    cert: should contain a gnutls_x509_crt_t structure

    This function will return the time this Certificate was or will be @@ -14413,19 +13140,15 @@

    -— Function: int gnutls_x509_crt_get_authority_key_id (gnutls_x509_crt_t cert, void * ret, size_t * ret_size, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_authority_key_id (gnutls_x509_crt_t cert, void * ret, size_t * ret_size, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure -

    ret: The place where the identifier will be copied - -

    ret_size: Holds the size of the result field. -

    critical: will be non zero if the extension is marked as critical (may be null) -

    This function will return the X.509v3 certificate authority's key -identifier. This is obtained by the X.509 Authority Key -identifier extension field (2.5.29.35). Note that this function -only returns the keyIdentifier field of the extension. +

    This function will return the X.509v3 certificate authority's key identifier. +This is obtained by the X.509 Authority Key identifier extension +field (2.5.29.35). Note that this function only returns the keyIdentifier +field of the extension.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value.and a negative value in case of an error. @@ -14436,7 +13159,7 @@

    -— Function: int gnutls_x509_crt_get_basic_constraints (gnutls_x509_crt_t cert, unsigned int * critical, int * ca, int * pathlen)
    +— Function: int gnutls_x509_crt_get_basic_constraints (gnutls_x509_crt_t cert, unsigned int * critical, int * ca, int * pathlen)

    cert: should contain a gnutls_x509_crt_t structure

    critical: will be non zero if the extension is marked as critical @@ -14464,7 +13187,7 @@

    -— Function: int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    critical: will be non zero if the extension is marked as critical @@ -14477,9 +13200,9 @@

    Use gnutls_x509_crt_get_basic_constraints() if you want to read the pathLenConstraint field too. -

    Returns: A negative value may be returned in case of parsing error. +

    A negative value may be returned in case of parsing error. If the certificate does not contain the basicConstraints extension -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    gnutls_x509_crt_get_crl_dist_points

    @@ -14487,7 +13210,7 @@

    -— Function: int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * reason_flags, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * reason_flags, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    seq: specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.) @@ -14531,7 +13254,7 @@

    -— Function: int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)

    cert: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identified in null terminated string @@ -14567,7 +13290,7 @@

    -— Function: int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)
    +— Function: int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)

    cert: should contain a gnutls_x509_crt_t structure

    indx: This specifies which OID to return. Use zero to get the first one. @@ -14591,7 +13314,7 @@

    -— Function: int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, char * buf, size_t * sizeof_buf)

    cert: should contain a gnutls_x509_crt_t structure

    buf: a pointer to a structure to hold the name (may be null) @@ -14615,7 +13338,7 @@

    -— Function: time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert)
    +— Function: time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert)

    cert: should contain a gnutls_x509_crt_t structure

    This function will return the time this Certificate was or will be @@ -14629,7 +13352,7 @@

    -— Function: int gnutls_x509_crt_get_extension_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, void * buf, size_t * sizeof_buf, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_extension_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, void * buf, size_t * sizeof_buf, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identified in null terminated string @@ -14642,13 +13365,12 @@

    critical: will be non zero if the extension is marked as critical -

    This function will return the extension specified by the OID in the -certificate. The extensions will be returned as binary data DER -encoded, in the provided buffer. +

    This function will return the extension specified by the OID in the certificate. +The extensions will be returned as binary data DER encoded, in the provided +buffer. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. If the certificate does not -contain the specified extension +

    A negative value may be returned in case of parsing error. +If the certificate does not contain the specified extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    @@ -14657,7 +13379,7 @@

    -— Function: int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, int indx, void * data, size_t * sizeof_data)
    +— Function: int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, int indx, void * data, size_t * sizeof_data)

    cert: should contain a gnutls_x509_crt_t structure

    indx: Specifies which extension OID to send. Use zero to get the first one. @@ -14675,10 +13397,9 @@ if you want to get data indexed by the extension OID rather than sequence. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. +

    Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    gnutls_x509_crt_get_extension_info

    @@ -14686,7 +13407,7 @@

    -— Function: int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid, int * critical)
    +— Function: int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid, int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    indx: Specifies which extension OID to send. Use zero to get the first one. @@ -14707,10 +13428,9 @@ *sizeof_oid is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. +

    Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    gnutls_x509_crt_get_extension_oid

    @@ -14718,7 +13438,7 @@

    -— Function: int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)
    +— Function: int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)

    cert: should contain a gnutls_x509_crt_t structure

    indx: Specifies which extension OID to send. Use zero to get the first one. @@ -14730,10 +13450,9 @@

    This function will return the requested extension OID in the certificate. The extension OID will be stored as a string in the provided buffer. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. +

    A negative value may be returned in case of parsing error. +If your have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    gnutls_x509_crt_get_fingerprint

    @@ -14741,7 +13460,7 @@

    -— Function: int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, gnutls_digest_algorithm_t algo, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, gnutls_digest_algorithm_t algo, void * buf, size_t * sizeof_buf)

    cert: should contain a gnutls_x509_crt_t structure

    algo: is a digest algorithm @@ -14765,7 +13484,7 @@

    -— Function: int gnutls_x509_crt_get_issuer_dn_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crt_get_issuer_dn_by_oid (gnutls_x509_crt_t cert, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)

    cert: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identified in null terminated string @@ -14801,7 +13520,7 @@

    -— Function: int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)
    +— Function: int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid)

    cert: should contain a gnutls_x509_crt_t structure

    indx: This specifies which OID to return. Use zero to get the first one. @@ -14825,7 +13544,7 @@

    -— Function: int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, char * buf, size_t * sizeof_buf)

    cert: should contain a gnutls_x509_crt_t structure

    buf: a pointer to a structure to hold the name (may be null) @@ -14849,7 +13568,7 @@

    -— Function: int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
    +— Function: int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)

    cert: should contain a gnutls_x509_crt_t structure

    dn: output variable with pointer to opaque DN @@ -14869,7 +13588,7 @@

    -— Function: int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, unsigned int flags, unsigned char * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, unsigned int flags, unsigned char * output_data, size_t * output_data_size)

    crt: Holds the certificate

    flags: should be 0 for now @@ -14897,7 +13616,7 @@

    -— Function: int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, int indx, void * oid, size_t * sizeof_oid, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    indx: This specifies which OID to return. Use zero to get the first one. @@ -14906,18 +13625,16 @@

    sizeof_oid: initially holds the size of oid -

    critical: output flag to indicate criticality of extension -

    This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions -for human readable names. +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names.

    If oid is null then only the size will be filled.

    Returns: GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. +not long enough, and in that case the *sizeof_oid will be updated +with the required size. On success 0 is returned.

    gnutls_x509_crt_get_key_usage

    @@ -14925,7 +13642,7 @@

    -— Function: int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, unsigned int * key_usage, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, unsigned int * key_usage, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    key_usage: where the key usage bits will be stored @@ -14951,7 +13668,7 @@

    -— Function: int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, unsigned int * bits)
    +— Function: int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, unsigned int * bits)

    cert: should contain a gnutls_x509_crt_t structure

    bits: if bits is non null it will hold the size of the parameters' in bits @@ -14973,7 +13690,7 @@

    -— Function: int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)
    +— Function: int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)

    crt: Holds the certificate

    p: will hold the p @@ -14996,7 +13713,7 @@

    -— Function: int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, gnutls_datum_t * m, gnutls_datum_t * e)
    +— Function: int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, gnutls_datum_t * m, gnutls_datum_t * e)

    crt: Holds the certificate

    m: will hold the modulus @@ -15015,7 +13732,7 @@

    -— Function: int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, unsigned int * critical, int * pathlen, char ** policyLanguage, char ** policy, size_t * sizeof_policy)
    +— Function: int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, unsigned int * critical, int * pathlen, char ** policyLanguage, char ** policy, size_t * sizeof_policy)

    cert: should contain a gnutls_x509_crt_t structure

    critical: will be non zero if the extension is marked as critical @@ -15024,17 +13741,15 @@ NULL), non-negative values indicate a present pCPathLenConstraint field and the actual value, -1 indicate that the field is absent. -

    policyLanguage: output variable with OID of policy language - -

    policy: output variable with policy data - -

    sizeof_policy: output variable size of policy data - -

    This function will get information from a proxy certificate. It -reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). +

    This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19). -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    Return value: If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    gnutls_x509_crt_get_raw_dn

    @@ -15042,7 +13757,7 @@

    -— Function: int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, gnutls_datum_t * start)
    +— Function: int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, gnutls_datum_t * start)

    cert: should contain a gnutls_x509_crt_t structure

    start: will hold the starting point of the DN @@ -15059,7 +13774,7 @@

    -— Function: int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, gnutls_datum_t * start)
    +— Function: int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, gnutls_datum_t * start)

    cert: should contain a gnutls_x509_crt_t structure

    start: will hold the starting point of the DN @@ -15076,7 +13791,7 @@

    -— Function: int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, void * result, size_t * result_size)
    +— Function: int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, void * result, size_t * result_size)

    cert: should contain a gnutls_x509_crt_t structure

    result: The place where the serial number will be copied @@ -15098,7 +13813,7 @@

    -— Function: int gnutls_x509_crt_get_signature_algorithm (gnutls_x509_crt_t cert)
    +— Function: int gnutls_x509_crt_get_signature_algorithm (gnutls_x509_crt_t cert)

    cert: should contain a gnutls_x509_crt_t structure

    This function will return a value of the gnutls_sign_algorithm_t @@ -15113,7 +13828,7 @@

    -— Function: int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, char * sig, size_t * sizeof_sig)
    +— Function: int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, char * sig, size_t * sizeof_sig)

    cert: should contain a gnutls_x509_crt_t structure

    sig: a pointer where the signature part will be copied (may be null). @@ -15131,7 +13846,7 @@

    -— Function: int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * ret_type, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int* ret_type, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -15145,19 +13860,12 @@

    critical: will be non zero if the extension is marked as critical (may be null)

    This function will return the alternative names, contained in the -given certificate. It is the same as -gnutls_x509_crt_get_subject_alt_name() except for the fact that it -will return the type of the alternative name in ret_type even if -the function fails for some reason (i.e. the buffer provided is -not enough). +given certificate. It is the same as gnutls_x509_crt_get_subject_alt_name() +except for the fact that it will return the type of the alternative +name in ret_type even if the function fails for some reason (i.e. +the buffer provided is not enough). -

    Returns: the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. It will return -GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough -to hold the value. In that case ret_size will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +

    The return values are the same as with gnutls_x509_crt_get_subject_alt_name().

    gnutls_x509_crt_get_subject_alt_name

    @@ -15165,7 +13873,7 @@

    -— Function: int gnutls_x509_crt_get_subject_alt_name (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_subject_alt_name (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -15195,10 +13903,10 @@

    Returns: the alternative subject name type on success, one of the enumerated gnutls_x509_subject_alt_name_t. It will return -GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough -to hold the value. In that case ret_size will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then +GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough to +hold the value. In that case ret_size will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.

    @@ -15207,7 +13915,7 @@

    -— Function: int gnutls_x509_crt_get_subject_alt_othername_oid (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size)
    +— Function: int gnutls_x509_crt_get_subject_alt_othername_oid (gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size)

    cert: should contain a gnutls_x509_crt_t structure

    seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -15241,7 +13949,7 @@

    -— Function: int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, void * ret, size_t * ret_size, unsigned int * critical)
    +— Function: int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, void * ret, size_t * ret_size, unsigned int * critical)

    cert: should contain a gnutls_x509_crt_t structure

    ret: The place where the identifier will be copied @@ -15263,7 +13971,7 @@

    -— Function: int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
    +— Function: int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)

    cert: should contain a gnutls_x509_crt_t structure

    dn: output variable with pointer to opaque DN. @@ -15278,33 +13986,12 @@

    Returns: Returns 0 on success, or an error code.

    -

    gnutls_x509_crt_get_verify_algorithm

    - -

    - -

    -— Function: int gnutls_x509_crt_get_verify_algorithm (gnutls_x509_crt_t crt, const gnutls_datum_t * signature, gnutls_digest_algorithm_t * hash)
    -

    crt: Holds the certificate - -

    signature: contains the signature - -

    hash: The result of the call with the hash algorithm used for signature - -

    This function will read the certifcate and the signed data to -determine the hash algorithm used to generate the signature. - -

    Returns: the 0 if the hash algorithm is found. A negative value is -returned on error. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crt_get_version

    -— Function: int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert)
    +— Function: int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert)

    cert: should contain a gnutls_x509_crt_t structure

    This function will return the version of the specified Certificate. @@ -15317,7 +14004,7 @@

    -— Function: int gnutls_x509_crt_import (gnutls_x509_crt_t cert, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_x509_crt_import (gnutls_x509_crt_t cert, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)

    cert: The structure to store the parsed certificate.

    data: The DER or PEM encoded certificate. @@ -15339,7 +14026,7 @@

    -— Function: int gnutls_x509_crt_init (gnutls_x509_crt_t * cert)
    +— Function: int gnutls_x509_crt_init (gnutls_x509_crt_t * cert)

    cert: The structure to be initialized

    This function will initialize an X.509 certificate structure. @@ -15353,7 +14040,7 @@

    -— Function: int gnutls_x509_crt_list_import (gnutls_x509_crt_t * certs, unsigned int * cert_max, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, unsigned int flags)
    +— Function: int gnutls_x509_crt_list_import (gnutls_x509_crt_t * certs, unsigned int * cert_max, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, unsigned int flags)

    certs: The structures to store the parsed certificate. Must not be initialized.

    cert_max: Initially must hold the maximum number of certs. It will be updated with the number of certs available. @@ -15379,7 +14066,7 @@

    -— Function: int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t * cert_list, int cert_list_length, const gnutls_x509_crt_t * CA_list, int CA_list_length, const gnutls_x509_crl_t * CRL_list, int CRL_list_length, unsigned int flags, unsigned int * verify)
    +— Function: int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t * cert_list, int cert_list_length, const gnutls_x509_crt_t * CA_list, int CA_list_length, const gnutls_x509_crl_t * CRL_list, int CRL_list_length, unsigned int flags, unsigned int * verify)

    cert_list: is the certificate list to be verified

    cert_list_length: holds the number of certificate in cert_list @@ -15397,7 +14084,10 @@

    verify: will hold the certificate verification output.

    This function will try to verify the given certificate list and return its status. -If no flags are specified (0), this function will use the +Note that expiration and activation dates are not checked +by this function, you should check them using the appropriate functions. + +

    If no flags are specified (0), this function will use the basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate authority is allowed to sign a certificate. @@ -15422,7 +14112,7 @@

    -— Function: int gnutls_x509_crt_print (gnutls_x509_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)
    +— Function: int gnutls_x509_crt_print (gnutls_x509_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)

    cert: The structure to be printed

    format: Indicate the format to use @@ -15448,8 +14138,8 @@

    -— Function: int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, time_t act_time)
    -

    cert: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, time_t act_time)
    +

    cert: should contain a gnutls_x509_crt_t structure

    act_time: The actual time @@ -15465,8 +14155,8 @@

    -— Function: int gnutls_x509_crt_set_authority_key_id (gnutls_x509_crt_t cert, const void * id, size_t id_size)
    -

    cert: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_authority_key_id (gnutls_x509_crt_t cert, const void * id, size_t id_size)
    +

    cert: should contain a gnutls_x509_crt_t structure

    id: The key ID @@ -15484,8 +14174,8 @@

    -— Function: int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t crt, unsigned int ca, int pathLenConstraint)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t crt, unsigned int ca, int pathLenConstraint)
    +

    crt: should contain a gnutls_x509_crt_t structure

    ca: true(1) or false(0). Depending on the Certificate authority status. @@ -15504,8 +14194,8 @@

    -— Function: int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, unsigned int ca)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, unsigned int ca)
    +

    crt: should contain a gnutls_x509_crt_t structure

    ca: true(1) or false(0). Depending on the Certificate authority status. @@ -15517,37 +14207,13 @@ negative error value.

    -

    gnutls_x509_crt_set_crl_dist_points2

    - -

    - -

    -— Function: int gnutls_x509_crt_set_crl_dist_points2 (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const void * data, unsigned int data_size, unsigned int reason_flags)
    -

    crt: a certificate of type gnutls_x509_crt_t - -

    type: is one of the gnutls_x509_subject_alt_name_t enumerations - -

    data: The data to be set - -

    data_size: The data size - -

    reason_flags: revocation reasons - -

    This function will set the CRL distribution points certificate extension. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.6.0 -

    -

    gnutls_x509_crt_set_crl_dist_points

    -— Function: int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const void * data_string, unsigned int reason_flags)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const void * data_string, unsigned int reason_flags)
    +

    crt: should contain a gnutls_x509_crt_t structure

    type: is one of the gnutls_x509_subject_alt_name_t enumerations @@ -15561,38 +14227,19 @@ negative error value.

    -

    gnutls_x509_crt_set_crq_extensions

    - -

    - -

    -— Function: int gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
    -

    crt: a certificate of type gnutls_x509_crt_t - -

    crq: holds a certificate request - -

    This function will set extensions from the given request to the -certificate. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.8.0 -

    -

    gnutls_x509_crt_set_crq

    -— Function: int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
    +

    crt: should contain a gnutls_x509_crt_t structure

    crq: holds a certificate request -

    This function will set the name and public parameters as well as -the extensions from the given certificate request to the certificate. -Only RSA keys are currently supported. +

    This function will set the name and public parameters from the +given certificate request to the certificate. Only RSA keys are +currently supported.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value. @@ -15603,8 +14250,8 @@

    -— Function: int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, const char * oid, unsigned int raw_flag, const void * name, unsigned int sizeof_name)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, const char * oid, unsigned int raw_flag, const void * name, unsigned int sizeof_name)
    +

    crt: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identifier in a null terminated string @@ -15633,8 +14280,8 @@

    -— Function: int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, time_t exp_time)
    -

    cert: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, time_t exp_time)
    +

    cert: should contain a gnutls_x509_crt_t structure

    exp_time: The actual time @@ -15649,8 +14296,8 @@

    -— Function: int gnutls_x509_crt_set_extension_by_oid (gnutls_x509_crt_t crt, const char * oid, const void * buf, size_t sizeof_buf, unsigned int critical)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_extension_by_oid (gnutls_x509_crt_t crt, const char * oid, const void * buf, size_t sizeof_buf, unsigned int critical)
    +

    crt: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identified in null terminated string @@ -15673,8 +14320,8 @@

    -— Function: int gnutls_x509_crt_set_issuer_dn_by_oid (gnutls_x509_crt_t crt, const char * oid, unsigned int raw_flag, const void * name, unsigned int sizeof_name)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_issuer_dn_by_oid (gnutls_x509_crt_t crt, const char * oid, unsigned int raw_flag, const void * name, unsigned int sizeof_name)
    +

    crt: should contain a gnutls_x509_crt_t structure

    oid: holds an Object Identifier in a null terminated string @@ -15707,8 +14354,8 @@

    -— Function: int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, const void * oid, unsigned int critical)
    -

    cert: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, const void * oid, unsigned int critical)
    +

    cert: should contain a gnutls_x509_crt_t structure

    oid: a pointer to a null terminated string that holds the OID @@ -15720,8 +14367,7 @@

    Subsequent calls to this function will append OIDs to the OID list. -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    On success 0 is returned.

    gnutls_x509_crt_set_key_usage

    @@ -15729,8 +14375,8 @@

    -— Function: int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, unsigned int usage)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, unsigned int usage)
    +

    crt: should contain a gnutls_x509_crt_t structure

    usage: an ORed sequence of the GNUTLS_KEY_* elements. @@ -15745,8 +14391,8 @@

    -— Function: int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, gnutls_x509_privkey_t key)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, gnutls_x509_privkey_t key)
    +

    crt: should contain a gnutls_x509_crt_t structure

    key: holds a private key @@ -15763,7 +14409,7 @@

    -— Function: int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, gnutls_x509_crt_t eecrt, unsigned int raw_flag, const void * name, unsigned int sizeof_name)
    +— Function: int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, gnutls_x509_crt_t eecrt, unsigned int raw_flag, const void * name, unsigned int sizeof_name)

    crt: a gnutls_x509_crt_t structure with the new proxy cert

    eecrt: the end entity certificate that will be issuing the proxy @@ -15789,8 +14435,8 @@

    -— Function: int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, int pathLenConstraint, const char * policyLanguage, const char * policy, size_t sizeof_policy)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, int pathLenConstraint, const char * policyLanguage, const char * policy, size_t sizeof_policy)
    +

    crt: should contain a gnutls_x509_crt_t structure

    pathLenConstraint: non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints field should @@ -15810,58 +14456,23 @@

    gnutls_x509_crt_set_serial

    -

    - -

    -— Function: int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, const void * serial, size_t serial_size)
    -

    cert: a certificate of type gnutls_x509_crt_t - -

    serial: The serial number - -

    serial_size: Holds the size of the serial field. - -

    This function will set the X.509 certificate's serial number. -Serial is not always a 32 or 64bit number. Some CAs use large -serial numbers, thus it may be wise to handle it as something -opaque. - -

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. -

    - -

    gnutls_x509_crt_set_subject_alt_name

    - -

    - -

    -— Function: int gnutls_x509_crt_set_subject_alt_name (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const void * data, unsigned int data_size, unsigned int flags)
    -

    crt: a certificate of type gnutls_x509_crt_t - -

    type: is one of the gnutls_x509_subject_alt_name_t enumerations - -

    data: The data to be set - -

    data_size: The size of data to be set - -

    flags: GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. - -

    This function will set the subject alternative name certificate -extension. It can set the following types: - -

    &GNUTLS_SAN_DNSNAME: as a text string +

    -

    &GNUTLS_SAN_RFC822NAME: as a text string +

    +— Function: int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, const void * serial, size_t serial_size)
    +

    cert: should contain a gnutls_x509_crt_t structure -

    &GNUTLS_SAN_URI: as a text string +

    serial: The serial number -

    &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) +

    serial_size: Holds the size of the serial field. -

    Other values can be set as binary values with the proper DER encoding. +

    This function will set the X.509 certificate's serial number. +Serial is not always a 32 or 64bit number. Some CAs use large +serial numbers, thus it may be wise to handle it as something +opaque.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a -negative error value. - -

    Since: 2.6.0 +negative error value.

    gnutls_x509_crt_set_subject_alternative_name

    @@ -15869,19 +14480,15 @@

    -— Function: int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const char * data_string)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type, const char * data_string)
    +

    crt: should contain a gnutls_x509_crt_t structure

    type: is one of the gnutls_x509_subject_alt_name_t enumerations

    data_string: The data to be set, a zero terminated string

    This function will set the subject alternative name certificate -extension. This function assumes that data can be expressed as a null -terminated string. - -

    The name of the function is unfortunate since it is incosistent with -gnutls_x509_crt_get_subject_alt_name(). +extension.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value. @@ -15892,8 +14499,8 @@

    -— Function: int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, const void * id, size_t id_size)
    -

    cert: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, const void * id, size_t id_size)
    +

    cert: should contain a gnutls_x509_crt_t structure

    id: The key ID @@ -15911,8 +14518,8 @@

    -— Function: int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, unsigned int version)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, unsigned int version)
    +

    crt: should contain a gnutls_x509_crt_t structure

    version: holds the version number. For X.509v1 certificates must be 1. @@ -15922,7 +14529,7 @@

    To create well-formed certificates, you must specify version 3 if you use any certificate extensions. Extensions are created by -functions such as gnutls_x509_crt_set_subject_alt_name() +functions such as gnutls_x509_crt_set_subject_alternative_name() or gnutls_x509_crt_set_key_usage().

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a @@ -15934,14 +14541,14 @@

    -— Function: int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key, gnutls_digest_algorithm_t dig, unsigned int flags)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key, gnutls_digest_algorithm_t dig, unsigned int flags)
    +

    crt: should contain a gnutls_x509_crt_t structure

    issuer: is the certificate of the certificate issuer

    issuer_key: holds the issuer's private key -

    dig: The message digest to use, GNUTLS_DIG_SHA1 is a safe choice +

    dig: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing.

    flags: must be 0 @@ -15960,8 +14567,8 @@

    -— Function: int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key)
    -

    crt: a certificate of type gnutls_x509_crt_t +— Function: int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer, gnutls_x509_privkey_t issuer_key)
    +

    crt: should contain a gnutls_x509_crt_t structure

    issuer: is the certificate of the certificate issuer @@ -15979,7 +14586,7 @@

    -— Function: int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, unsigned int flags, const gnutls_datum_t * data, const gnutls_datum_t * signature)
    +— Function: int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, unsigned int flags, const gnutls_datum_t * data, const gnutls_datum_t * signature)

    crt: Holds the certificate

    flags: should be 0 for now @@ -15995,33 +14602,12 @@ success.

    -

    gnutls_x509_crt_verify_hash

    - -

    - -

    -— Function: int gnutls_x509_crt_verify_hash (gnutls_x509_crt_t crt, unsigned int flags, const gnutls_datum_t * hash, const gnutls_datum_t * signature)
    -

    crt: Holds the certificate - -

    flags: should be 0 for now - -

    hash: holds the hash digest to be verified - -

    signature: contains the signature - -

    This function will verify the given signed digest, using the -parameters from the certificate. - -

    Returns: In case of a verification failure 0 is returned, and 1 on -success. -

    -

    gnutls_x509_crt_verify

    -— Function: int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, const gnutls_x509_crt_t * CA_list, int CA_list_length, unsigned int flags, unsigned int * verify)
    +— Function: int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, const gnutls_x509_crt_t * CA_list, int CA_list_length, unsigned int flags, unsigned int * verify)

    cert: is the certificate to be verified

    CA_list: is one certificate that is considered to be trusted one @@ -16044,8 +14630,8 @@

    -— Function: void gnutls_x509_dn_deinit (gnutls_x509_dn_t dn)
    -

    dn: a DN opaque object pointer. +— Function: void gnutls_x509_dn_deinit (gnutls_x509_dn_t idn)
    +

    idn: a DN opaque object pointer.

    This function deallocates the DN object as returned by gnutls_x509_dn_import(). @@ -16058,7 +14644,7 @@

    -— Function: int gnutls_x509_dn_export (gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_dn_export (gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    dn: Holds the opaque DN object

    format: the format of output params. One of PEM or DER. @@ -16086,7 +14672,7 @@

    -— Function: int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, int irdn, int iava, gnutls_x509_ava_st * ava)
    +— Function: int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, int irdn, int iava, gnutls_x509_ava_st * ava)

    dn: input variable with opaque DN pointer

    irdn: index of RDN @@ -16110,14 +14696,18 @@

    -— Function: int gnutls_x509_dn_import (gnutls_x509_dn_t dn, const gnutls_datum_t * data)
    -

    dn: the structure that will hold the imported DN +— Function: int gnutls_x509_dn_import (gnutls_x509_dn_t odn, const gnutls_datum_t * data)
    +

    odn: the structure that will hold the imported DN

    data: should contain a DER encoded RDN sequence

    This function parses an RDN sequence and stores the result to a gnutls_x509_dn_t structure. The structure must have been initialized with gnutls_x509_dn_init(). You may use gnutls_x509_dn_get_rdn_ava() to +decode the DN. +This function parses an RDN sequence and stores the result to a +gnutls_x509_dn_t structure. The structure must have been initialized +with gnutls_x509_dn_init(). You may use gnutls_x509_dn_get_rdn_ava() to decode the DN.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a @@ -16131,8 +14721,8 @@

    -— Function: int gnutls_x509_dn_init (gnutls_x509_dn_t * dn)
    -

    dn: the object to be initialized +— Function: int gnutls_x509_dn_init (gnutls_x509_dn_t * odn)
    +

    odn: the object to be initialized

    This function initializes a gnutls_x509_dn_t structure. @@ -16150,7 +14740,7 @@

    -— Function: int gnutls_x509_dn_oid_known (const char * oid)
    +— Function: int gnutls_x509_dn_oid_known (const char * oid)

    oid: holds an Object Identifier in a null terminated string

    This function will inform about known DN OIDs. This is useful since @@ -16169,7 +14759,7 @@

    -— Function: int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, gnutls_x509_privkey_t src)
    +— Function: int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, gnutls_x509_privkey_t src)

    dst: The destination key, which should be initialized.

    src: The source key @@ -16186,7 +14776,7 @@

    -— Function: void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key)
    +— Function: void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key)

    key: The structure to be initialized

    This function will deinitialize a private key structure. @@ -16197,10 +14787,8 @@

    -— Function: int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)
    -

    key: a structure that holds the DSA parameters - -

    p: will hold the p +— Function: int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)
    +

    p: will hold the p

    q: will hold the q @@ -16223,7 +14811,7 @@

    -— Function: int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, gnutls_x509_crt_fmt_t format, const char * password, unsigned int flags, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, gnutls_x509_crt_fmt_t format, const char * password, unsigned int flags, void * output_data, size_t * output_data_size)

    key: Holds the key

    format: the format of output params. One of PEM or DER. @@ -16262,7 +14850,7 @@

    -— Function: int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)
    +— Function: int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)

    key: a structure that holds the rsa parameters

    m: will hold the modulus @@ -16290,7 +14878,7 @@

    -— Function: int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, gnutls_x509_crt_fmt_t format, void * output_data, size_t * output_data_size)

    key: Holds the key

    format: the format of output params. One of PEM or DER. @@ -16320,7 +14908,7 @@

    -— Function: int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key)
    +— Function: int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key)

    key: Holds the key

    This function will recalculate the secondary parameters in a key. @@ -16335,7 +14923,7 @@

    -— Function: int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags)
    +— Function: int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags)

    key: should contain a gnutls_x509_privkey_t structure

    algo: is one of RSA or DSA. @@ -16356,7 +14944,7 @@

    -— Function: int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, unsigned int flags, unsigned char * output_data, size_t * output_data_size)
    +— Function: int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, unsigned int flags, unsigned char * output_data, size_t * output_data_size)

    key: Holds the key

    flags: should be 0 for now @@ -16384,7 +14972,7 @@

    -— Function: int gnutls_x509_privkey_get_pk_algorithm (gnutls_x509_privkey_t key)
    +— Function: int gnutls_x509_privkey_get_pk_algorithm (gnutls_x509_privkey_t key)

    key: should contain a gnutls_x509_privkey_t structure

    This function will return the public key algorithm of a private @@ -16399,7 +14987,7 @@

    -— Function: int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * g, const gnutls_datum_t * y, const gnutls_datum_t * x)
    +— Function: int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * g, const gnutls_datum_t * y, const gnutls_datum_t * x)

    key: The structure to store the parsed key

    p: holds the p @@ -16425,7 +15013,7 @@

    -— Function: int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, const char * password, unsigned int flags)
    +— Function: int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, const char * password, unsigned int flags)

    key: The structure to store the parsed key

    data: The DER or PEM encoded key. @@ -16457,7 +15045,7 @@

    -— Function: int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, const gnutls_datum_t * m, const gnutls_datum_t * e, const gnutls_datum_t * d, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * u)
    +— Function: int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, const gnutls_datum_t * m, const gnutls_datum_t * e, const gnutls_datum_t * d, const gnutls_datum_t * p, const gnutls_datum_t * q, const gnutls_datum_t * u)

    key: The structure to store the parsed key

    m: holds the modulus @@ -16485,7 +15073,7 @@

    -— Function: int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
    +— Function: int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)

    key: The structure to store the parsed key

    data: The DER or PEM encoded certificate. @@ -16508,7 +15096,7 @@

    -— Function: int gnutls_x509_privkey_init (gnutls_x509_privkey_t * key)
    +— Function: int gnutls_x509_privkey_init (gnutls_x509_privkey_t * key)

    key: The structure to be initialized

    This function will initialize an private key structure. @@ -16522,7 +15110,7 @@

    -— Function: int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, gnutls_digest_algorithm_t digest, unsigned int flags, const gnutls_datum_t * data, void * signature, size_t * signature_size)
    +— Function: int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, gnutls_digest_algorithm_t digest, unsigned int flags, const gnutls_datum_t * data, void * signature, size_t * signature_size)

    key: Holds the key

    digest: should be MD5 or SHA1 @@ -16554,17 +15142,14 @@

    -— Function: int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, const gnutls_datum_t * hash, gnutls_datum_t * signature)
    +— Function: int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, const gnutls_datum_t * hash, gnutls_datum_t * signature)

    key: Holds the key

    hash: holds the data to be signed

    signature: will contain newly allocated signature -

    This function will sign the given hash using the private key. Do not -use this function directly unless you know what it is. Typical signing -requires the data to be hashed and stored in special formats -(e.g. BER Digest-Info for RSA). +

    This function will sign the given hash using the private key.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value. @@ -16575,7 +15160,7 @@

    -— Function: int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, unsigned int flags, const gnutls_datum_t * data, const gnutls_datum_t * signature)
    +— Function: int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, unsigned int flags, const gnutls_datum_t * data, const gnutls_datum_t * signature)

    key: Holds the key

    flags: should be 0 for now @@ -16596,7 +15181,7 @@

    -— Function: int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t * idn, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t * idn, const char * oid, int indx, unsigned int raw_flag, void * buf, size_t * sizeof_buf)

    idn: should contain a DER encoded RDN sequence

    oid: an Object Identifier @@ -16625,15 +15210,11 @@

    -— Function: int gnutls_x509_rdn_get_oid (const gnutls_datum_t * idn, int indx, void * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_rdn_get_oid (const gnutls_datum_t * idn, int indx, void * buf, size_t * sizeof_buf)

    idn: should contain a DER encoded RDN sequence

    indx: Indicates which OID to return. Use 0 for the first one. -

    buf: a pointer to a structure to hold the peer's name OID - -

    sizeof_buf: holds the size of buf -

    This function will return the specified Object identifier, of the RDN sequence. @@ -16650,7 +15231,7 @@

    -— Function: int gnutls_x509_rdn_get (const gnutls_datum_t * idn, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_x509_rdn_get (const gnutls_datum_t * idn, char * buf, size_t * sizeof_buf)

    idn: should contain a DER encoded RDN sequence

    buf: a pointer to a structure to hold the peer's name @@ -16668,9 +15249,9 @@

    +


    -


    Next: , Previous: X.509 certificate functions, Up: Function reference @@ -16679,28 +15260,23 @@

    9.3 GnuTLS-extra Functions

    -

    -These functions are only available in the GPLv3+ version of the -library called gnutls-extra. The prototypes for this library -lie in gnutls/extra.h. +

    +These functions are only available in the GPL version of the library +called gnutls-extra. The prototypes for this library lie in +gnutls/extra.h.

    gnutls_extra_check_version

    -— Function: const char * gnutls_extra_check_version (const char * req_version)
    -

    req_version: version string to compare with, or NULL. - -

    Check GnuTLS Extra Library version. +— Function: const char * gnutls_extra_check_version (const char * req_version)
    +

    req_version: the version to check -

    See GNUTLS_EXTRA_VERSION for a suitable req_version string. - -

    Return value: Check that the version of the library is at -minimum the one given as a string in req_version and return the -actual version string of the library; return NULL if the -condition is not met. If NULL is passed to this function no -check is done and only the version string is returned. +

    Check that the version of the gnutls-extra library is at minimum +the requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned.

    gnutls_global_init_extra

    @@ -16708,25 +15284,19 @@

    -— Function: int gnutls_global_init_extra ( void)
    +— Function: int gnutls_global_init_extra ( void)

    This function initializes the global state of gnutls-extra library -to defaults. +to defaults. Returns zero on success.

    Note that gnutls_global_init() has to be called before this function. If this function is not called then the gnutls-extra -library will not be usable. - -

    This function is not thread safe, see the discussion for -gnutls_global_init() on how to deal with that. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +library will not be usable.

    -


    + Next: , Previous: GnuTLS-extra functions, Up: Function reference @@ -16735,16 +15305,17 @@

    9.4 OpenPGP Functions

    -

    The following functions are to be used for OpenPGP +

    The following functions are to be used for OpenPGP certificate handling. Their prototypes lie in -gnutls/openpgp.h. +gnutls/openpgp.h. You need to link with libgnutls-extra +to be able to use these functions (see GnuTLS-extra functions).

    gnutls_certificate_set_openpgp_key_file2

    -— Function: int gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t res, const char * certfile, const char * keyfile, const char * subkey_id, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t res, const char * certfile, const char * keyfile, const char* subkey_id, gnutls_openpgp_crt_fmt_t format)

    res: the destination context to save the data.

    certfile: the file that contains the public key. @@ -16758,9 +15329,8 @@

    This funtion is used to load OpenPGP keys into the GnuTLS credential structure. The files should contain non encrypted keys. -

    The special keyword "auto" is also accepted as subkey_id. In that -case the gnutls_openpgp_crt_get_auth_subkey() will be used to -retrieve the subkey. +

    The special keyword "auto" is also accepted as &subkey_id. In that case +the gnutls_openpgp_crt_get_auth_subkey() will be used to retrieve the subkey.

    Returns: On success, GNUTLS_E_SUCCESS is returned, otherwise a negative error value. @@ -16773,7 +15343,7 @@

    -— Function: int gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, const char * certfile, const char * keyfile, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, const char * certfile, const char * keyfile, gnutls_openpgp_crt_fmt_t format)

    res: the destination context to save the data.

    certfile: the file that contains the public key. @@ -16795,13 +15365,9 @@

    -— Function: int gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t res, const gnutls_datum_t * cert, const gnutls_datum_t * key, const char * subkey_id, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t res, const gnutls_datum_t * icert, const gnutls_datum_t * ikey, const char* subkey_id, gnutls_openpgp_crt_fmt_t format)

    res: the destination context to save the data. -

    cert: the datum that contains the public key. - -

    key: the datum that contains the secret key. -

    subkey_id: a hex encoded subkey id

    format: the format of the keys @@ -16810,7 +15376,7 @@ credentials structure. The files should only contain one key which is not encrypted. -

    The special keyword "auto" is also accepted as subkey_id. In that +

    The special keyword "auto" is also accepted as &subkey_id. In that case the gnutls_openpgp_crt_get_auth_subkey() will be used to retrieve the subkey. @@ -16825,13 +15391,9 @@

    -— Function: int gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * cert, const gnutls_datum_t * key, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t res, const gnutls_datum_t * icert, const gnutls_datum_t * ikey, gnutls_openpgp_crt_fmt_t format)

    res: the destination context to save the data. -

    cert: the datum that contains the public key. - -

    key: the datum that contains the secret key. -

    format: the format of the keys

    This funtion is used to load OpenPGP keys into the GnuTLS credential @@ -16846,13 +15408,11 @@

    -— Function: int gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, const char * file, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, const char * file, gnutls_openpgp_crt_fmt_t format)

    c: A certificate credentials structure

    file: filename of the keyring. -

    format: format of keyring. -

    The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -16867,15 +15427,13 @@

    -— Function: int gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, const opaque * data, size_t dlen, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, const opaque * data, size_t dlen, gnutls_openpgp_crt_fmt_t format)

    c: A certificate credentials structure

    data: buffer with keyring data.

    dlen: length of data buffer. -

    format: the format of the keyring -

    The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -16890,20 +15448,17 @@

    -— Function: int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey)
    -

    res: is a gnutls_certificate_credentials_t structure. +— Function: int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey)
    +

    res: is an gnutls_certificate_credentials_t structure.

    pkey: is an openpgp private key

    This function sets a certificate/private key pair in the -gnutls_certificate_credentials_t structure. This function may be -called more than once (in case multiple keys/certificates exist -for the server). - -

    With this function the subkeys of the certificate are not used. +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server). -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    With this function the subkeys of the certificate are not used.

    gnutls_openpgp_crt_check_hostname

    @@ -16911,8 +15466,8 @@

    -— Function: int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, const char * hostname)
    -

    key: should contain a gnutls_openpgp_crt_t structure +— Function: int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, const char * hostname)
    +

    key: should contain an gnutls_openpgp_crt_t structure

    hostname: A null terminated string that contains a DNS name @@ -16928,7 +15483,7 @@

    -— Function: void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key)
    +— Function: void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key)

    key: The structure to be initialized

    This function will deinitialize a key structure. @@ -16939,7 +15494,7 @@

    -— Function: int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void * output_data, size_t * output_data_size)

    key: Holds the key.

    format: One of gnutls_openpgp_crt_fmt_t elements. @@ -16961,20 +15516,14 @@

    -— Function: int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, unsigned int flag)
    -

    crt: the structure that contains the OpenPGP public key. - -

    keyid: the struct to save the keyid. +— Function: int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, unsigned int flag)
    +

    keyid: the struct to save the keyid.

    flag: Non zero indicates that a valid subkey is always returned.

    Returns the 64-bit keyID of the first valid OpenPGP subkey marked for authentication. If flag is non zero and no authentication subkey exists, then a valid subkey will be returned even if it is -not marked for authentication. -Returns the 64-bit keyID of the first valid OpenPGP subkey marked -for authentication. If flag is non zero and no authentication -subkey exists, then a valid subkey will be returned even if it is not marked for authentication.

    Returns: GNUTLS_E_SUCCESS on success, or an error code. @@ -16985,7 +15534,7 @@

    -— Function: time_t gnutls_openpgp_crt_get_creation_time (gnutls_openpgp_crt_t key)
    +— Function: time_t gnutls_openpgp_crt_get_creation_time (gnutls_openpgp_crt_t key)

    key: the structure that contains the OpenPGP public key.

    Get key creation time. @@ -16998,7 +15547,7 @@

    -— Function: time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key)
    +— Function: time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key)

    key: the structure that contains the OpenPGP public key.

    Get key expiration time. A value of '0' means that the key doesn't @@ -17012,7 +15561,7 @@

    -— Function: int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, void * fpr, size_t * fprlen)
    +— Function: int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, void * fpr, size_t * fprlen)

    key: the raw data that contains the OpenPGP public key.

    fpr: the buffer to save the fingerprint, must hold at least 20 bytes. @@ -17030,7 +15579,7 @@

    -— Function: int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the buffer to save the keyid. @@ -17047,7 +15596,7 @@

    -— Function: int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, unsigned int * key_usage)
    +— Function: int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, unsigned int * key_usage)

    key: should contain a gnutls_openpgp_crt_t structure

    key_usage: where the key usage bits will be stored @@ -17064,7 +15613,7 @@

    -— Function: int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, int idx, char * buf, size_t * sizeof_buf)
    +— Function: int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, int idx, char * buf, size_t * sizeof_buf)

    key: the structure that contains the OpenPGP public key.

    idx: the index of the ID to extract @@ -17086,7 +15635,7 @@

    -— Function: gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm (gnutls_openpgp_crt_t key, unsigned int * bits)
    +— Function: gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm (gnutls_openpgp_crt_t key, unsigned int * bits)

    key: is an OpenPGP key

    bits: if bits is non null it will hold the size of the parameters' in bits @@ -17107,7 +15656,7 @@

    -— Function: int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)
    +— Function: int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)

    crt: Holds the certificate

    p: will hold the p @@ -17132,7 +15681,7 @@

    -— Function: int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t * m, gnutls_datum_t * e)
    +— Function: int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t * m, gnutls_datum_t * e)

    crt: Holds the certificate

    m: will hold the modulus @@ -17153,7 +15702,7 @@

    -— Function: int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the struct to save the keyid. @@ -17169,7 +15718,7 @@

    -— Function: int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key)
    +— Function: int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key)

    key: the structure that contains the OpenPGP public key.

    Get revocation status of key. @@ -17185,7 +15734,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key)
    +— Function: int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key)

    key: is an OpenPGP key

    This function will return the number of subkeys present in the @@ -17201,7 +15750,7 @@

    -— Function: time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, unsigned int idx)
    +— Function: time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, unsigned int idx)

    key: the structure that contains the OpenPGP public key.

    idx: the subkey index @@ -17218,7 +15767,7 @@

    -— Function: time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, unsigned int idx)
    +— Function: time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, unsigned int idx)

    key: the structure that contains the OpenPGP public key.

    idx: the subkey index @@ -17236,7 +15785,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_fingerprint (gnutls_openpgp_crt_t key, unsigned int idx, void * fpr, size_t * fprlen)
    +— Function: int gnutls_openpgp_crt_get_subkey_fingerprint (gnutls_openpgp_crt_t key, unsigned int idx, void * fpr, size_t * fprlen)

    key: the raw data that contains the OpenPGP public key.

    idx: the subkey index @@ -17258,7 +15807,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the keyid. @@ -17275,7 +15824,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    idx: the subkey index @@ -17292,7 +15841,7 @@

    -— Function: gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, unsigned int idx, unsigned int * bits)
    +— Function: gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, unsigned int idx, unsigned int * bits)

    key: is an OpenPGP key

    idx: is the subkey index @@ -17317,7 +15866,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_pk_dsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)
    +— Function: int gnutls_openpgp_crt_get_subkey_pk_dsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y)

    crt: Holds the certificate

    idx: Is the subkey index @@ -17344,7 +15893,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * m, gnutls_datum_t * e)
    +— Function: int gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * m, gnutls_datum_t * e)

    crt: Holds the certificate

    idx: Is the subkey index @@ -17367,7 +15916,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, unsigned int idx)
    +— Function: int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, unsigned int idx)

    key: the structure that contains the OpenPGP public key.

    idx: is the subkey index @@ -17385,7 +15934,7 @@

    -— Function: int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, unsigned int idx, unsigned int * key_usage)
    +— Function: int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, unsigned int idx, unsigned int * key_usage)

    key: should contain a gnutls_openpgp_crt_t structure

    idx: the subkey index @@ -17408,7 +15957,7 @@

    -— Function: int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key)
    +— Function: int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key)

    key: the structure that contains the OpenPGP public key.

    Extract the version of the OpenPGP key. @@ -17421,7 +15970,7 @@

    -— Function: int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format)

    key: The structure to store the parsed key.

    data: The RAW or BASE64 encoded key. @@ -17440,7 +15989,7 @@

    -— Function: int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t * key)
    +— Function: int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t * key)

    key: The structure to be initialized

    This function will initialize an OpenPGP key structure. @@ -17453,7 +16002,7 @@

    -— Function: int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)
    +— Function: int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t * out)

    cert: The structure to be printed

    format: Indicate the format to use @@ -17475,16 +16024,13 @@

    -— Function: int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the selected keyid

    This allows setting a preferred key id for the given certificate. -This key will be used by functions that involve key handling. - -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +This key will be used by functions that involve key handling.

    gnutls_openpgp_crt_verify_ring

    @@ -17492,7 +16038,7 @@

    -— Function: int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, gnutls_openpgp_keyring_t keyring, unsigned int flags, unsigned int * verify)
    +— Function: int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, gnutls_openpgp_keyring_t keyring, unsigned int flags, unsigned int * verify)

    key: the structure that holds the key.

    keyring: holds the keyring to check against @@ -17516,7 +16062,7 @@

    -— Function: int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, unsigned int flags, unsigned int * verify)
    +— Function: int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, unsigned int flags, unsigned int * verify)

    key: the structure that holds the key.

    flags: unused (should be 0) @@ -17535,7 +16081,7 @@

    -— Function: int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid, unsigned int flags)
    +— Function: int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid, unsigned int flags)

    ring: holds the keyring to check against

    keyid: will hold the keyid to check for. @@ -17553,7 +16099,7 @@

    -— Function: void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring)
    +— Function: void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring)

    keyring: The structure to be initialized

    This function will deinitialize a keyring structure. @@ -17564,7 +16110,7 @@

    -— Function: int gnutls_openpgp_keyring_get_crt_count (gnutls_openpgp_keyring_t ring)
    +— Function: int gnutls_openpgp_keyring_get_crt_count (gnutls_openpgp_keyring_t ring)

    ring: is an OpenPGP key ring

    This function will return the number of OpenPGP certificates @@ -17578,12 +16124,8 @@

    -— Function: int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, unsigned int idx, gnutls_openpgp_crt_t * cert)
    -

    ring: Holds the keyring. - -

    idx: the index of the certificate to export - -

    cert: An uninitialized gnutls_openpgp_crt_t structure +— Function: int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, unsigned int idx, gnutls_openpgp_crt_t * cert)
    +

    idx: the index of the certificate to export

    This function will extract an OpenPGP certificate from the given keyring. If the index given is out of range @@ -17598,7 +16140,7 @@

    -— Function: int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format)
    +— Function: int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format)

    keyring: The structure to store the parsed key.

    data: The RAW or BASE64 encoded keyring. @@ -17617,7 +16159,7 @@

    -— Function: int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t * keyring)
    +— Function: int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t * keyring)

    keyring: The structure to be initialized

    This function will initialize an keyring structure. @@ -17630,7 +16172,7 @@

    -— Function: void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key)
    +— Function: void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key)

    key: The structure to be initialized

    This function will deinitialize a key structure. @@ -17641,7 +16183,7 @@

    -— Function: int gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)
    +— Function: int gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)

    pkey: Holds the certificate

    p: will hold the p @@ -17668,7 +16210,7 @@

    -— Function: int gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)
    +— Function: int gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)

    pkey: Holds the certificate

    m: will hold the modulus @@ -17697,7 +16239,7 @@

    -— Function: int gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)
    +— Function: int gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x)

    pkey: Holds the certificate

    idx: Is the subkey index @@ -17726,7 +16268,7 @@

    -— Function: int gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)
    +— Function: int gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u)

    pkey: Holds the certificate

    idx: Is the subkey index @@ -17757,12 +16299,12 @@

    -— Function: int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const char * password, unsigned int flags, void * output_data, size_t * output_data_size)
    +— Function: int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const char* password, unsigned int flags, void * output_data, size_t * output_data_size)

    key: Holds the key.

    format: One of gnutls_openpgp_crt_fmt_t elements. -

    password: the password that will be used to encrypt the key. (unused for now) +

    password: the password that will be used to encrypt the key.

    flags: zero for future compatibility @@ -17785,7 +16327,7 @@

    -— Function: int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, void * fpr, size_t * fprlen)
    +— Function: int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, void * fpr, size_t * fprlen)

    key: the raw data that contains the OpenPGP secret key.

    fpr: the buffer to save the fingerprint, must hold at least 20 bytes. @@ -17805,7 +16347,7 @@

    -— Function: int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP secret key.

    keyid: the buffer to save the keyid. @@ -17822,7 +16364,7 @@

    -— Function: gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int * bits)
    +— Function: gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int * bits)

    key: is an OpenPGP key

    bits: if bits is non null it will hold the size of the parameters' in bits @@ -17845,7 +16387,7 @@

    -— Function: int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the struct to save the keyid. @@ -17861,7 +16403,7 @@

    -— Function: int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key)
    +— Function: int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key)

    key: the structure that contains the OpenPGP private key.

    Get revocation status of key. @@ -17877,7 +16419,7 @@

    -— Function: int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key)
    +— Function: int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key)

    key: is an OpenPGP key

    This function will return the number of subkeys present in the @@ -17893,7 +16435,7 @@

    -— Function: time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, unsigned int idx)
    +— Function: time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, unsigned int idx)

    key: the structure that contains the OpenPGP private key.

    idx: the subkey index @@ -17910,7 +16452,7 @@

    -— Function: time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, unsigned int idx)
    +— Function: time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, unsigned int idx)

    key: the structure that contains the OpenPGP private key.

    idx: the subkey index @@ -17928,7 +16470,7 @@

    -— Function: int gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, unsigned int idx, void * fpr, size_t * fprlen)
    +— Function: int gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, unsigned int idx, void * fpr, size_t * fprlen)

    key: the raw data that contains the OpenPGP secret key.

    idx: the subkey index @@ -17950,7 +16492,7 @@

    -— Function: int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP private key.

    keyid: the keyid. @@ -17967,7 +16509,7 @@

    -— Function: int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP secret key.

    idx: the subkey index @@ -17986,7 +16528,7 @@

    -— Function: gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int idx, unsigned int * bits)
    +— Function: gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int idx, unsigned int * bits)

    key: is an OpenPGP key

    idx: is the subkey index @@ -18011,7 +16553,7 @@

    -— Function: int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx)
    +— Function: int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx)

    key: the structure that contains the OpenPGP private key.

    idx: is the subkey index @@ -18029,14 +16571,14 @@

    -— Function: int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format, const char * password, unsigned int flags)
    +— Function: int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format, const char * pass, unsigned int flags)

    key: The structure to store the parsed key.

    data: The RAW or BASE64 encoded key. -

    format: One of gnutls_openpgp_crt_fmt_t elements. +

    format: One of gnutls_openpgp_crt_fmt_t elements. -

    password: not used for now +

    pass: Unused for now

    flags: should be zero @@ -18052,7 +16594,7 @@

    -— Function: int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t * key)
    +— Function: int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t * key)

    key: The structure to be initialized

    This function will initialize an OpenPGP key structure. @@ -18065,7 +16607,7 @@

    -— Function: int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)
    +— Function: int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)

    key: the structure that contains the OpenPGP public key.

    keyid: the selected keyid @@ -18081,7 +16623,7 @@

    -— Function: int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, const gnutls_datum_t * hash, gnutls_datum_t * signature)
    +— Function: int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, const gnutls_datum_t * hash, gnutls_datum_t * signature)

    key: Holds the key

    hash: holds the data to be signed @@ -18101,7 +16643,7 @@

    -— Function: void gnutls_openpgp_set_recv_key_function (gnutls_session_t session, gnutls_openpgp_recv_key_func func)
    +— Function: void gnutls_openpgp_set_recv_key_function (gnutls_session_t session, gnutls_openpgp_recv_key_func func)

    session: a TLS session

    func: the callback @@ -18112,9 +16654,9 @@

    +


    -


    Next: , Previous: OpenPGP functions, Up: Function reference @@ -18123,7 +16665,7 @@

    9.5 TLS Inner Application (TLS/IA) Functions

    -

    +

    The following functions are used for TLS Inner Application (TLS/IA). Their prototypes lie in gnutls/extra.h. You need to link with libgnutls-extra to be able to use these @@ -18177,8 +16719,8 @@

    -— Function: int gnutls_ia_allocate_client_credentials (gnutls_ia_client_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_ia_server_credentials_t structure. +— Function: int gnutls_ia_allocate_client_credentials (gnutls_ia_client_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_ia_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -18197,8 +16739,8 @@

    -— Function: int gnutls_ia_allocate_server_credentials (gnutls_ia_server_credentials_t * sc)
    -

    sc: is a pointer to a gnutls_ia_server_credentials_t structure. +— Function: int gnutls_ia_allocate_server_credentials (gnutls_ia_server_credentials_t * sc)
    +

    sc: is a pointer to an gnutls_ia_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -18217,7 +16759,7 @@

    -— Function: void gnutls_ia_enable (gnutls_session_t session, int allow_skip_on_resume)
    +— Function: void gnutls_ia_enable (gnutls_session_t session, int allow_skip_on_resume)

    session: is a gnutls_session_t structure.

    allow_skip_on_resume: non-zero if local party allows to skip the @@ -18248,7 +16790,7 @@

    -— Function: int gnutls_ia_endphase_send (gnutls_session_t session, int final_p)
    +— Function: int gnutls_ia_endphase_send (gnutls_session_t session, int final_p)

    session: is a gnutls_session_t structure.

    final_p: Set iff this should signal the final phase. @@ -18269,7 +16811,7 @@

    -— Function: void gnutls_ia_extract_inner_secret (gnutls_session_t session, char * buffer)
    +— Function: void gnutls_ia_extract_inner_secret (gnutls_session_t session, char * buffer)

    session: is a gnutls_session_t structure.

    buffer: pre-allocated buffer to hold 48 bytes of inner secret. @@ -18291,8 +16833,8 @@

    -— Function: void gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc)
    -

    sc: is a gnutls_ia_client_credentials_t structure. +— Function: void gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc)
    +

    sc: is an gnutls_ia_client_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -18303,8 +16845,8 @@

    -— Function: void gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc)
    -

    sc: is a gnutls_ia_server_credentials_t structure. +— Function: void gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc)
    +

    sc: is an gnutls_ia_server_credentials_t structure.

    This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -18315,7 +16857,7 @@

    -— Function: int gnutls_ia_generate_challenge (gnutls_session_t session, size_t buffer_size, char * buffer)
    +— Function: int gnutls_ia_generate_challenge (gnutls_session_t session, size_t buffer_size, char * buffer)

    session: is a gnutls_session_t structure.

    buffer_size: size of output buffer. @@ -18333,7 +16875,7 @@

    -— Function: void * gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t cred)
    +— Function: void * gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t cred)

    cred: is a gnutls_ia_client_credentials_t structure.

    Returns the pointer that will be provided to the TLS/IA callback @@ -18347,7 +16889,7 @@

    -— Function: void * gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t cred)
    +— Function: void * gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t cred)

    cred: is a gnutls_ia_client_credentials_t structure.

    Returns the pointer that will be provided to the TLS/IA callback @@ -18361,7 +16903,7 @@

    -— Function: int gnutls_ia_handshake_p (gnutls_session_t session)
    +— Function: int gnutls_ia_handshake_p (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Predicate to be used after gnutls_handshake() to decide whether to @@ -18376,14 +16918,13 @@

    -— Function: int gnutls_ia_handshake (gnutls_session_t session)
    +— Function: int gnutls_ia_handshake (gnutls_session_t session)

    session: is a gnutls_session_t structure.

    Perform a TLS/IA handshake. This should be called after gnutls_handshake() iff gnutls_ia_handshake_p(). -

    Returns: On success, GNUTLS_E_SUCCESS (zero) is returned, -otherwise an error code is returned. +

    Return 0 on success, or an error code.

    gnutls_ia_permute_inner_secret

    @@ -18391,7 +16932,7 @@

    -— Function: int gnutls_ia_permute_inner_secret (gnutls_session_t session, size_t session_keys_size, const char * session_keys)
    +— Function: int gnutls_ia_permute_inner_secret (gnutls_session_t session, size_t session_keys_size, const char * session_keys)

    session: is a gnutls_session_t structure.

    session_keys_size: Size of generated session keys (0 if none). @@ -18412,7 +16953,7 @@

    -— Function: ssize_t gnutls_ia_recv (gnutls_session_t session, char * data, size_t sizeofdata)
    +— Function: ssize_t gnutls_ia_recv (gnutls_session_t session, char * data, size_t sizeofdata)

    session: is a gnutls_session_t structure.

    data: the buffer that the data will be read into, must hold >= 12 bytes. @@ -18420,7 +16961,7 @@

    sizeofdata: the number of requested bytes, must be >= 12.

    Receive TLS/IA data. This function has the similar semantics with -recv(). The only difference is that it accepts a GnuTLS session, +recv(). The only difference is that is accepts a GNUTLS session, and uses different error codes.

    If the server attempt to finish an application phase, this function @@ -18447,7 +16988,7 @@

    -— Function: ssize_t gnutls_ia_send (gnutls_session_t session, const char * data, size_t sizeofdata)
    +— Function: ssize_t gnutls_ia_send (gnutls_session_t session, const char * data, size_t sizeofdata)

    session: is a gnutls_session_t structure.

    data: contains the data to send @@ -18455,8 +16996,8 @@

    sizeofdata: is the length of the data

    Send TLS/IA application payload data. This function has the -similar semantics with send(). The only difference is that it -accepts a GnuTLS session, and uses different error codes. +similar semantics with send(). The only difference is that is +accepts a GNUTLS session, and uses different error codes.

    The TLS/IA protocol is synchronous, so you cannot send more than one packet at a time. The client always send the first packet. @@ -18481,7 +17022,7 @@

    -— Function: void gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, gnutls_ia_avp_func avp_func)
    +— Function: void gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, gnutls_ia_avp_func avp_func)

    cred: is a gnutls_ia_client_credentials_t structure.

    avp_func: is the callback function @@ -18520,7 +17061,7 @@

    -— Function: void gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, void * ptr)
    +— Function: void gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, void * ptr)

    cred: is a gnutls_ia_client_credentials_t structure.

    ptr: is the pointer @@ -18534,7 +17075,7 @@

    -— Function: void gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, gnutls_ia_avp_func avp_func)
    +— Function: void gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, gnutls_ia_avp_func avp_func)

    cred: is a gnutls_ia_server_credentials_t structure.

    Set the TLS/IA AVP callback handler used for the session. @@ -18556,7 +17097,7 @@ client, and to get a new AVP to send to the client. It can also be used to instruct the TLS/IA handshake to do go into the Intermediate or Final phases. It return a negative error code, or -a gnutls_ia_apptype_t message type. +an gnutls_ia_apptype_t message type.

    The callback may invoke gnutls_ia_permute_inner_secret() to mix any generated session keys with the TLS/IA inner secret. @@ -18579,7 +17120,7 @@

    -— Function: void gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, void * ptr)
    +— Function: void gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, void * ptr)

    cred: is a gnutls_ia_client_credentials_t structure.

    ptr: is the pointer @@ -18593,7 +17134,7 @@

    -— Function: int gnutls_ia_verify_endphase (gnutls_session_t session, const char * checksum)
    +— Function: int gnutls_ia_verify_endphase (gnutls_session_t session, const char * checksum)

    session: is a gnutls_session_t structure.

    checksum: 12-byte checksum data, received from gnutls_ia_recv(). @@ -18612,8 +17153,8 @@

    -


    + Previous: TLS Inner Application (TLS/IA) functions, Up: Function reference @@ -18621,14 +17162,14 @@

    9.6 Error Codes and Descriptions

    -

    +

    The error codes used throughout the library are described below. The return code GNUTLS_E_SUCCESS indicate successful operation, and is guaranteed to have the value 0, so you can use it in logical expressions.

    -
    GNUTLS_E_AGAIN:
    Resource temporarily unavailable, try again. +
    GNUTLS_E_AGAIN:
    Function was interrupted.
    GNUTLS_E_ASN1_DER_ERROR:
    ASN1 parser: Error in DER parsing. @@ -18674,7 +17215,7 @@
    GNUTLS_E_DECRYPTION_FAILED:
    Decryption has failed. -
    GNUTLS_E_DH_PRIME_UNACCEPTABLE:
    The Diffie-Hellman prime sent by the server is not acceptable (not long enough). +
    GNUTLS_E_DH_PRIME_UNACCEPTABLE:
    The Diffie Hellman prime sent by the server is not acceptable (not long enough).
    GNUTLS_E_ENCRYPTION_FAILED:
    Encryption has failed. @@ -18831,8 +17372,8 @@
    -


    + Next: , Previous: Function reference, Up: Top @@ -18841,249 +17382,139 @@

    10 All the Supported Ciphersuites in GnuTLS

    -

    +

    +

    +
    TLS_RSA_NULL_MD5 +0x00 0x01 +RFC 2246 -

    Available cipher suites: -

    TLS_ANON_DH_ARCFOUR_MD5 +


    TLS_ANON_DH_3DES_EDE_CBC_SHA +0x00 0x1B +RFC 2246 + +


    TLS_ANON_DH_ARCFOUR_MD5 0x00 0x18 -SSL3.0 -
    TLS_ANON_DH_3DES_EDE_CBC_SHA1 -0x00 0x1b -SSL3.0 -
    TLS_ANON_DH_AES_128_CBC_SHA1 +RFC 2246 + +


    TLS_ANON_DH_AES_128_CBC_SHA 0x00 0x34 -SSL3.0 -
    TLS_ANON_DH_AES_256_CBC_SHA1 -0x00 0x3a -SSL3.0 -
    TLS_ANON_DH_CAMELLIA_128_CBC_SHA1 -0x00 0x46 -TLS1.0 -
    TLS_ANON_DH_CAMELLIA_256_CBC_SHA1 -0x00 0x89 -TLS1.0 -
    TLS_PSK_SHA_ARCFOUR_SHA1 -0x00 0x8a -TLS1.0 -
    TLS_PSK_SHA_3DES_EDE_CBC_SHA1 -0x00 0x8b -TLS1.0 -
    TLS_PSK_SHA_AES_128_CBC_SHA1 -0x00 0x8c -TLS1.0 -
    TLS_PSK_SHA_AES_256_CBC_SHA1 -0x00 0x8d -TLS1.0 -
    TLS_DHE_PSK_SHA_ARCFOUR_SHA1 -0x00 0x8e -TLS1.0 -
    TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1 -0x00 0x8f -TLS1.0 -
    TLS_DHE_PSK_SHA_AES_128_CBC_SHA1 -0x00 0x90 -TLS1.0 -
    TLS_DHE_PSK_SHA_AES_256_CBC_SHA1 -0x00 0x91 -TLS1.0 -
    TLS_SRP_SHA_3DES_EDE_CBC_SHA1 -0xc0 0x1a -TLS1.0 -
    TLS_SRP_SHA_AES_128_CBC_SHA1 -0xc0 0x1d -TLS1.0 -
    TLS_SRP_SHA_AES_256_CBC_SHA1 -0xc0 0x20 -TLS1.0 -
    TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 -0xc0 0x1c -TLS1.0 -
    TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 -0xc0 0x1b -TLS1.0 -
    TLS_SRP_SHA_DSS_AES_128_CBC_SHA1 -0xc0 0x1f -TLS1.0 -
    TLS_SRP_SHA_RSA_AES_128_CBC_SHA1 -0xc0 0x1e -TLS1.0 -
    TLS_SRP_SHA_DSS_AES_256_CBC_SHA1 -0xc0 0x22 -TLS1.0 -
    TLS_SRP_SHA_RSA_AES_256_CBC_SHA1 -0xc0 0x21 -TLS1.0 -
    TLS_DHE_DSS_ARCFOUR_SHA1 -0x00 0x66 -TLS1.0 -
    TLS_DHE_DSS_3DES_EDE_CBC_SHA1 -0x00 0x13 -SSL3.0 -
    TLS_DHE_DSS_AES_128_CBC_SHA1 -0x00 0x32 -SSL3.0 -
    TLS_DHE_DSS_AES_256_CBC_SHA1 -0x00 0x38 -SSL3.0 -
    TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 -0x00 0x44 -TLS1.0 -
    TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 -0x00 0x87 -TLS1.0 -
    TLS_DHE_RSA_3DES_EDE_CBC_SHA1 -0x00 0x16 -SSL3.0 -
    TLS_DHE_RSA_AES_128_CBC_SHA1 -0x00 0x33 -SSL3.0 -
    TLS_DHE_RSA_AES_256_CBC_SHA1 -0x00 0x39 -SSL3.0 -
    TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 -0x00 0x45 -TLS1.0 -
    TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 -0x00 0x88 -TLS1.0 -
    TLS_RSA_NULL_MD5 -0x00 0x01 -SSL3.0 -
    TLS_RSA_EXPORT_ARCFOUR_40_MD5 -0x00 0x03 -SSL3.0 -
    TLS_RSA_ARCFOUR_SHA1 +RFC 2246 + +


    TLS_ANON_DH_AES_256_CBC_SHA +0x00 0x3A +RFC 2246 + +


    TLS_RSA_ARCFOUR_SHA 0x00 0x05 -SSL3.0 -
    TLS_RSA_ARCFOUR_MD5 +RFC 2246 + +


    TLS_RSA_ARCFOUR_MD5 0x00 0x04 -SSL3.0 -
    TLS_RSA_3DES_EDE_CBC_SHA1 -0x00 0x0a -SSL3.0 -
    TLS_RSA_AES_128_CBC_SHA1 -0x00 0x2f -SSL3.0 -
    TLS_RSA_AES_256_CBC_SHA1 +RFC 2246 + +


    TLS_RSA_3DES_EDE_CBC_SHA +0x00 0x0A +RFC 2246 + +


    TLS_RSA_EXPORT_ARCFOUR_40_MD5 +0x00 0x03 +RFC 2246 + +


    TLS_DHE_DSS_3DES_EDE_CBC_SHA +0x00 0x13 +RFC 2246 + +


    TLS_DHE_RSA_3DES_EDE_CBC_SHA +0x00 0x16 +RFC 2246 + +


    TLS_RSA_AES_128_CBC_SHA +0x00 0x2F +RFC 3268 + +


    TLS_RSA_AES_256_CBC_SHA 0x00 0x35 -SSL3.0 -
    TLS_RSA_CAMELLIA_128_CBC_SHA1 -0x00 0x41 -TLS1.0 -
    TLS_RSA_CAMELLIA_256_CBC_SHA1 -0x00 0x84 -TLS1.0 -
    +

    RFC 3268 -

    Available certificate types: -

      -
    • X.509 -
    • OPENPGP -
    +


    TLS_DHE_DSS_AES_256_CBC_SHA +0x00 0x38 +RFC 3268 -

    Available protocols: -

      -
    • SSL3.0 -
    • TLS1.0 -
    • TLS1.1 -
    • TLS1.2 -
    +


    TLS_DHE_DSS_AES_128_CBC_SHA +0x00 0x32 +RFC 3268 -

    Available ciphers: -

      -
    • AES-256-CBC -
    • AES-128-CBC -
    • 3DES-CBC -
    • DES-CBC -
    • ARCFOUR-128 -
    • ARCFOUR-40 -
    • RC2-40 -
    • CAMELLIA-256-CBC -
    • CAMELLIA-128-CBC -
    • NULL -
    +


    TLS_DHE_RSA_AES_256_CBC_SHA +0x00 0x39 +RFC 3268 -

    Available MAC algorithms: -

      -
    • SHA1 -
    • MD5 -
    • SHA256 -
    • SHA384 -
    • SHA512 -
    • MD2 -
    • RIPEMD160 -
    • NULL -
    +


    TLS_DHE_RSA_AES_128_CBC_SHA +0x00 0x33 +RFC 3268 -

    Available key exchange methods: -

      -
    • ANON-DH -
    • RSA -
    • RSA-EXPORT -
    • DHE-RSA -
    • DHE-DSS -
    • SRP-DSS -
    • SRP-RSA -
    • SRP -
    • PSK -
    • DHE-PSK -
    +


    TLS_SRP_SHA_3DES_EDE_CBC_SHA +0x00 0x50 +RFC 5054 -

    Available public key algorithms: -

      -
    • RSA -
    • DSA -
    +


    TLS_SRP_SHA_AES_128_CBC_SHA +0x00 0x53 +RFC 5054 -

    Available public key signature algorithms: -

      -
    • RSA-SHA -
    • RSA-SHA256 -
    • RSA-SHA384 -
    • RSA-SHA512 -
    • RSA-RMD160 -
    • DSA-SHA -
    • RSA-MD5 -
    • RSA-MD2 -
    +


    TLS_SRP_SHA_AES_256_CBC_SHA +0x00 0x56 +RFC 5054 -

    Available compression methods: -

      -
    • DEFLATE -
    • NULL -
    +


    TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA +0x00 0x51 +RFC 5054 -

    Some additional information regarding some of the algorithms: +


    TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA +0x00 0x52 +RFC 5054 -
    -
    RSA
    RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir -and Leonard Adleman. It can be used with any hash functions. +


    TLS_SRP_SHA_RSA_AES_128_CBC_SHA +0x00 0x54 +RFC 5054 -
    DSA
    DSA is the USA's Digital Signature Standard. It uses only the SHA-1 -hash algorithm. +


    TLS_SRP_SHA_DSS_AES_128_CBC_SHA +0x00 0x55 +RFC 5054 -
    MD2
    MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is -optimized for 8-bit processors. Outputs 128 bits of data. There are -no known weaknesses of this algorithm but since this algorithm is -rarely used and not really studied it should not be used today. +


    TLS_SRP_SHA_RSA_AES_256_CBC_SHA +0x00 0x57 +RFC 5054 -
    MD5
    MD5 is a cryptographic hash algorithm designed by Ron Rivest. Outputs -128 bits of data. It is considered to be broken. +


    TLS_SRP_SHA_DSS_AES_256_CBC_SHA +0x00 0x58 +RFC 5054 -
    SHA-1
    SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 -bits of data. It is also considered to be broken, though no practical -attacks have been found. +


    TLS_DHE_DSS_ARCFOUR_SHA +0x00 0x66 +draft-ietf-tls-56-bit-ciphersuites -
    RMD160
    RIPEMD is a cryptographic hash algorithm developed in the framework of -the EU project RIPE. Outputs 160 bits of data. +


    TLS_PSK_ARCFOUR_SHA +0x00 0x8A +draft-ietf-tls-psk + +


    TLS_PSK_3DES_EDE_CBC_SHA +0x00 0x8B +draft-ietf-tls-psk + +


    TLS_PSK_AES_128_CBC_SHA +0x00 0x8C +draft-ietf-tls-psk + +


    TLS_PSK_AES_256_CBC_SHA +0x00 0x8D +draft-ietf-tls-psk - +

    -


    + Next: , Previous: All the supported ciphersuites in GnuTLS, Up: Top @@ -19108,8 +17539,8 @@
    -


    + Next: , Up: Guile Bindings @@ -19176,8 +17607,8 @@
    -


    + Next: , Previous: Guile Preparations, Up: Guile Bindings @@ -19198,8 +17629,8 @@
    -


    + Next: , Up: Guile API Conventions @@ -19207,7 +17638,7 @@

    11.2.1 Enumerates and Constants

    -

    +

    Lots of enumerates and constants are used in the GnuTLS C API. For each C enumerate type, a disjoint Scheme type is used—thus, enumerate values and constants are not represented by Scheme symbols @@ -19253,7 +17684,7 @@

    Scheme-side “enumerate” values can be compared using eq? (see equality predicates). Consider the following example: -

    +

         (let ((session (make-session connection-end/client)))
          
            ;;
    @@ -19273,8 +17704,8 @@
     and not internationalized.
     
     
    -


    + Next: , Previous: Enumerates and Constants, Up: Guile API Conventions @@ -19299,8 +17730,8 @@ procedure applies to session.
    -


    + Next: , Previous: Procedure Names, Up: Guile API Conventions @@ -19314,7 +17745,7 @@ similarly, procedures like pkcs1-export-rsa-parameters return binary data. -

    +

    Binary data is represented on the Scheme side using SRFI-4 homogeneous vectors (see SRFI-4). Although any type of homogeneous vector may be used, u8vectors @@ -19323,7 +17754,7 @@

    As an example, generating and then exporting RSA parameters in the PEM format can be done as follows: -

    +

         (let* ((rsa-params (make-rsa-parameters 1024))
                 (raw-data
                  (pkcs1-export-rsa-parameters rsa-params
    @@ -19333,8 +17764,8 @@
     

    For an example of OpenPGP key import from a file, see Importing OpenPGP Keys Guile Example.

    -


    + Next: , Previous: Representation of Binary Data, Up: Guile API Conventions @@ -19343,7 +17774,7 @@

    11.2.4 Input and Output

    -

    +

    The underlying transport of a TLS session can be any Scheme input/output port (see Ports and File Descriptors). This has to be specified using set-session-transport-port!. @@ -19365,7 +17796,7 @@ ;; Use the file descriptor that underlies SOCKET. (set-session-transport-fd! session (fileno socket)))

    -

    +

    Once a TLS session is established, data can be communicated through it (i.e., via the TLS record layer) using the port returned by session-record-port: @@ -19385,15 +17816,15 @@ (bye session close-request/rdwr))))

    -

    +

    A lower-level I/O API is provided by record-send and record-receive! which take an SRFI-4 vector to represent the data sent or received. While it might improve performance, it is much less convenient than the above and should rarely be needed.

    -


    + Previous: Input and Output, Up: Guile API Conventions @@ -19401,7 +17832,7 @@

    11.2.5 Exception Handling

    -

    +

    GnuTLS errors are implemented as Scheme exceptions (see exceptions in Guile). Each time a GnuTLS function returns an error, an exception with key gnutls-error is raised. The additional arguments that are @@ -19447,8 +17878,8 @@

    -


    + Next: , Previous: Guile API Conventions, Up: Guile Bindings @@ -19466,8 +17897,8 @@
    -


    + Next: , Up: Guile Examples @@ -19482,7 +17913,7 @@

    The client-side code would look like this (assuming some-socket is bound to an open socket port): -

    +

         ;; Client-side.
          
          (let ((client (make-session connection-end/client)))
    @@ -19514,7 +17945,7 @@
     

    The corresponding server would look like this (again, assuming some-socket is bound to a socket port): -

    +

         ;; Server-side.
          
          (let ((server (make-session connection-end/server)))
    @@ -19545,8 +17976,8 @@
     

    This is it!

    -


    + Next: , Previous: Anonymous Authentication Guile Example, Up: Guile Examples @@ -19567,7 +17998,7 @@ pub and sec are bound to the client's OpenPGP public and secret key, respectively, client-side code would look like this: -

    +

         ;; Client-side.
          
          (define %certs (list certificate-type/openpgp))
    @@ -19624,8 +18055,8 @@
     store them in a file for future re-use (see pkcs1-export-rsa-parameters and pkcs1-import-rsa-parameters).
     
     
    -


    + Previous: OpenPGP Authentication Guile Example, Up: Guile Examples @@ -19638,7 +18069,7 @@ import-openpgp-certificate and import-openpgp-private-key procedures provided by the (gnutls extra) module. -

    +

         (use-modules (srfi srfi-4)
                       (gnutls extra))
          
    @@ -19670,8 +18101,8 @@
     
     
     
    -


    + Previous: Guile Examples, Up: Guile Bindings @@ -19688,8 +18119,8 @@
    -


    + Next: , Up: Guile Reference @@ -19702,705 +18133,705 @@ Lesser General Public Licence, version 2.1 or later. - +
    -— Scheme Procedure: set-log-level! level
    +— Scheme Procedure: set-log-level! level

    Enable GnuTLS logging up to level (an integer).

    - +
    -— Scheme Procedure: set-log-procedure! proc
    +— Scheme Procedure: set-log-procedure! proc

    Use proc (a two-argument procedure) as the global GnuTLS log procedure.

    - +
    -— Scheme Procedure: x509-certificate-subject-alternative-name cert index
    +— Scheme Procedure: x509-certificate-subject-alternative-name cert index

    Return two values: the alternative name type for cert (i.e., one of the x509-subject-alternative-name/ values) and the actual subject alternative name (a string) at index. Both values are #f if no alternative name is available at index.

    - +
    -— Scheme Procedure: x509-certificate-subject-key-id cert
    +— Scheme Procedure: x509-certificate-subject-key-id cert

    Return the subject key ID (a u8vector) for cert.

    - +
    -— Scheme Procedure: x509-certificate-authority-key-id cert
    +— Scheme Procedure: x509-certificate-authority-key-id cert

    Return the key ID (a u8vector) of the X.509 certificate authority of cert.

    - +
    -— Scheme Procedure: x509-certificate-key-id cert
    +— Scheme Procedure: x509-certificate-key-id cert

    Return a statistically unique ID (a u8vector) for cert that depends on its public key parameters. This is normally a 20-byte SHA-1 hash.

    - +
    -— Scheme Procedure: x509-certificate-version cert
    +— Scheme Procedure: x509-certificate-version cert

    Return the version of cert.

    - +
    -— Scheme Procedure: x509-certificate-key-usage cert
    +— Scheme Procedure: x509-certificate-key-usage cert

    Return the key usage of cert (i.e., a list of key-usage/ values), or the empty list if cert does not contain such information.

    - +
    -— Scheme Procedure: x509-certificate-public-key-algorithm cert
    +— Scheme Procedure: x509-certificate-public-key-algorithm cert

    Return two values: the public key algorithm (i.e., one of the pk-algorithm/ values) of cert and the number of bits used.

    - +
    -— Scheme Procedure: x509-certificate-signature-algorithm cert
    +— Scheme Procedure: x509-certificate-signature-algorithm cert

    Return the signature algorithm used by cert (i.e., one of the sign-algorithm/ values).

    - +
    -— Scheme Procedure: x509-certificate-matches-hostname? cert hostname
    +— Scheme Procedure: x509-certificate-matches-hostname? cert hostname

    Return true if cert matches hostname, a string denoting a DNS host name. This is the basic implementation of RFC 2818 (aka. HTTPS).

    - +
    -— Scheme Procedure: x509-certificate-issuer-dn-oid cert index
    +— Scheme Procedure: x509-certificate-issuer-dn-oid cert index

    Return the OID (a string) at index from cert's issuer DN. Return #f if no OID is available at index.

    - +
    -— Scheme Procedure: x509-certificate-dn-oid cert index
    +— Scheme Procedure: x509-certificate-dn-oid cert index

    Return OID (a string) at index from cert. Return #f if no OID is available at index.

    - +
    -— Scheme Procedure: x509-certificate-issuer-dn cert
    +— Scheme Procedure: x509-certificate-issuer-dn cert

    Return the distinguished name (DN) of X.509 certificate cert.

    - +
    -— Scheme Procedure: x509-certificate-dn cert
    +— Scheme Procedure: x509-certificate-dn cert

    Return the distinguished name (DN) of X.509 certificate cert. The form of the DN is as described in RFC 2253.

    - +
    -— Scheme Procedure: pkcs8-import-x509-private-key data format [pass [encrypted]]
    +— Scheme Procedure: pkcs8-import-x509-private-key data format [pass [encrypted]]

    Return a new X.509 private key object resulting from the import of data (a uniform array) according to format. Optionally, if pass is not #f, it should be a string denoting a passphrase. encrypted tells whether the private key is encrypted (#t by default).

    - +
    -— Scheme Procedure: import-x509-private-key data format
    +— Scheme Procedure: import-x509-private-key data format

    Return a new X.509 private key object resulting from the import of data (a uniform array) according to format.

    - +
    -— Scheme Procedure: import-x509-certificate data format
    +— Scheme Procedure: import-x509-certificate data format

    Return a new X.509 certificate object resulting from the import of data (a uniform array) according to format.

    - +
    -— Scheme Procedure: server-session-psk-username session
    +— Scheme Procedure: server-session-psk-username session

    Return the username associated with PSK server session session.

    - +
    -— Scheme Procedure: set-psk-client-credentials! cred username key key-format
    +— Scheme Procedure: set-psk-client-credentials! cred username key key-format

    Set the client credentials for cred, a PSK client credentials object.

    - +
    -— Scheme Procedure: make-psk-client-credentials
    +— Scheme Procedure: make-psk-client-credentials

    Return a new PSK client credentials object.

    - +
    -— Scheme Procedure: set-psk-server-credentials-file! cred file
    +— Scheme Procedure: set-psk-server-credentials-file! cred file

    Use file as the password file for PSK server credentials cred.

    - +
    -— Scheme Procedure: make-psk-server-credentials
    +— Scheme Procedure: make-psk-server-credentials

    Return new PSK server credentials.

    - +
    -— Scheme Procedure: peer-certificate-status session
    +— Scheme Procedure: peer-certificate-status session

    Verify the peer certificate for session and return a list of certificate-status values (such as certificate-status/revoked), or the empty list if the certificate is valid.

    - +
    -— Scheme Procedure: set-certificate-credentials-verify-flags! cred [flags...]
    +— Scheme Procedure: set-certificate-credentials-verify-flags! cred [flags...]

    Set the certificate verification flags to flags, a series of certificate-verify values.

    - +
    -— Scheme Procedure: set-certificate-credentials-verify-limits! cred max-bits max-depth
    +— Scheme Procedure: set-certificate-credentials-verify-limits! cred max-bits max-depth

    Set the verification limits of peer-certificate-status for certificate credentials cred to max_bits bits for an acceptable certificate and max_depth as the maximum depth of a certificate chain.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-keys! cred certs privkey
    +— Scheme Procedure: set-certificate-credentials-x509-keys! cred certs privkey

    Have certificate credentials cred use the X.509 certificates listed in certs and X.509 private key privkey.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-key-data! cred cert key format
    +— Scheme Procedure: set-certificate-credentials-x509-key-data! cred cert key format

    Use X.509 certificate cert and private key key, both uniform arrays containing the X.509 certificate and key in format format, for certificate credentials cred.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-crl-data! cred data format
    +— Scheme Procedure: set-certificate-credentials-x509-crl-data! cred data format

    Use data (a uniform array) as the X.509 CRL (certificate revocation list) database for cred. On success, return the number of CRLs processed.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-trust-data! cred data format
    +— Scheme Procedure: set-certificate-credentials-x509-trust-data! cred data format

    Use data (a uniform array) as the X.509 trust database for cred. On success, return the number of certificates processed.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-crl-file! cred file format
    +— Scheme Procedure: set-certificate-credentials-x509-crl-file! cred file format

    Use file as the X.509 CRL (certificate revocation list) file for certificate credentials cred. On success, return the number of CRLs processed.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-trust-file! cred file format
    +— Scheme Procedure: set-certificate-credentials-x509-trust-file! cred file format

    Use file as the X.509 trust file for certificate credentials cred. On success, return the number of certificates processed.

    - +
    -— Scheme Procedure: set-certificate-credentials-x509-key-files! cred cert-file key-file format
    +— Scheme Procedure: set-certificate-credentials-x509-key-files! cred cert-file key-file format

    Use file as the password file for PSK server credentials cred.

    - +
    -— Scheme Procedure: set-certificate-credentials-rsa-export-parameters! cred rsa-params
    +— Scheme Procedure: set-certificate-credentials-rsa-export-parameters! cred rsa-params

    Use RSA parameters rsa_params for certificate credentials cred.

    - +
    -— Scheme Procedure: set-certificate-credentials-dh-parameters! cred dh-params
    +— Scheme Procedure: set-certificate-credentials-dh-parameters! cred dh-params

    Use Diffie-Hellman parameters dh_params for certificate credentials cred.

    - +
    -— Scheme Procedure: make-certificate-credentials
    +— Scheme Procedure: make-certificate-credentials

    Return new certificate credentials (i.e., for use with either X.509 or OpenPGP certificates.

    - +
    -— Scheme Procedure: pkcs1-export-rsa-parameters rsa-params format
    +— Scheme Procedure: pkcs1-export-rsa-parameters rsa-params format

    Export Diffie-Hellman parameters rsa_params in PKCS1 format according for format (an x509-certificate-format value). Return a u8vector containing the result.

    - +
    -— Scheme Procedure: pkcs1-import-rsa-parameters array format
    +— Scheme Procedure: pkcs1-import-rsa-parameters array format

    Import Diffie-Hellman parameters in PKCS1 format (further specified by format, an x509-certificate-format value) from array (a homogeneous array) and return a new rsa-params object.

    - +
    -— Scheme Procedure: make-rsa-parameters bits
    +— Scheme Procedure: make-rsa-parameters bits

    Return new RSA parameters.

    - +
    -— Scheme Procedure: set-anonymous-server-dh-parameters! cred dh-params
    +— Scheme Procedure: set-anonymous-server-dh-parameters! cred dh-params

    Set the Diffie-Hellman parameters of anonymous server credentials cred.

    - +
    -— Scheme Procedure: make-anonymous-client-credentials
    +— Scheme Procedure: make-anonymous-client-credentials

    Return anonymous client credentials.

    - +
    -— Scheme Procedure: make-anonymous-server-credentials
    +— Scheme Procedure: make-anonymous-server-credentials

    Return anonymous server credentials.

    - +
    -— Scheme Procedure: set-session-dh-prime-bits! session bits
    +— Scheme Procedure: set-session-dh-prime-bits! session bits

    Use bits DH prime bits for session.

    - +
    -— Scheme Procedure: pkcs3-export-dh-parameters dh-params format
    +— Scheme Procedure: pkcs3-export-dh-parameters dh-params format

    Export Diffie-Hellman parameters dh_params in PKCS3 format according for format (an x509-certificate-format value). Return a u8vector containing the result.

    - +
    -— Scheme Procedure: pkcs3-import-dh-parameters array format
    +— Scheme Procedure: pkcs3-import-dh-parameters array format

    Import Diffie-Hellman parameters in PKCS3 format (further specified by format, an x509-certificate-format value) from array (a homogeneous array) and return a new dh-params object.

    - +
    -— Scheme Procedure: make-dh-parameters bits
    +— Scheme Procedure: make-dh-parameters bits

    Return new Diffie-Hellman parameters.

    - +
    -— Scheme Procedure: set-session-transport-port! session port
    +— Scheme Procedure: set-session-transport-port! session port

    Use port as the input/output port for session.

    - +
    -— Scheme Procedure: set-session-transport-fd! session fd
    +— Scheme Procedure: set-session-transport-fd! session fd

    Use file descriptor fd as the underlying transport for session.

    - +
    -— Scheme Procedure: session-record-port session
    +— Scheme Procedure: session-record-port session

    Return a read-write port that may be used to communicate over session. All invocations of session-port on a given session return the same object (in the sense of eq?).

    - +
    -— Scheme Procedure: record-receive! session array
    +— Scheme Procedure: record-receive! session array

    Receive data from session into array, a uniform homogeneous array. Return the number of bytes actually received.

    - +
    -— Scheme Procedure: record-send session array
    +— Scheme Procedure: record-send session array

    Send the record constituted by array through session.

    - +
    -— Scheme Procedure: set-session-credentials! session cred
    +— Scheme Procedure: set-session-credentials! session cred

    Use cred as session's credentials.

    - +
    -— Scheme Procedure: cipher-suite->string kx cipher mac
    +— Scheme Procedure: cipher-suite->string kx cipher mac

    Return the name of the given cipher suite.

    - +
    -— Scheme Procedure: set-session-default-export-priority! session
    +— Scheme Procedure: set-session-default-export-priority! session

    Have session use the default export priorities.

    - +
    -— Scheme Procedure: set-session-default-priority! session
    +— Scheme Procedure: set-session-default-priority! session

    Have session use the default priorities.

    -— Scheme Procedure: set-session-certificate-type-priority! session items
    +— Scheme Procedure: set-session-certificate-type-priority! session items

    Use items (a list) as the list of preferred certificate-type for session.

    -— Scheme Procedure: set-session-protocol-priority! session items
    +— Scheme Procedure: set-session-protocol-priority! session items

    Use items (a list) as the list of preferred protocol for session.

    -— Scheme Procedure: set-session-kx-priority! session items
    +— Scheme Procedure: set-session-kx-priority! session items

    Use items (a list) as the list of preferred kx for session.

    -— Scheme Procedure: set-session-compression-method-priority! session items
    +— Scheme Procedure: set-session-compression-method-priority! session items

    Use items (a list) as the list of preferred compression-method for session.

    -— Scheme Procedure: set-session-mac-priority! session items
    +— Scheme Procedure: set-session-mac-priority! session items

    Use items (a list) as the list of preferred mac for session.

    -— Scheme Procedure: set-session-cipher-priority! session items
    +— Scheme Procedure: set-session-cipher-priority! session items

    Use items (a list) as the list of preferred cipher for session.

    - +
    -— Scheme Procedure: set-server-session-certificate-request! session request
    +— Scheme Procedure: set-server-session-certificate-request! session request

    Tell how session, a server-side session, should deal with certificate requests. request should be either certificate-request/request or certificate-request/require.

    - +
    -— Scheme Procedure: session-our-certificate-chain session
    +— Scheme Procedure: session-our-certificate-chain session

    Return our certificate chain for session (as sent to the peer) in raw format (a u8vector). In the case of OpenPGP there is exactly one certificate. Return the empty list if no certificate was used.

    - +
    -— Scheme Procedure: session-peer-certificate-chain session
    +— Scheme Procedure: session-peer-certificate-chain session

    Return the a list of certificates in raw format (u8vectors) where the first one is the peer's certificate. In the case of OpenPGP, there is always exactly one certificate. In the case of X.509, subsequent certificates indicate form a certificate chain. Return the empty list if no certificate was sent.

    - +
    -— Scheme Procedure: session-client-authentication-type session
    +— Scheme Procedure: session-client-authentication-type session

    Return the client authentication type (a credential-type value) used in session.

    - +
    -— Scheme Procedure: session-server-authentication-type session
    +— Scheme Procedure: session-server-authentication-type session

    Return the server authentication type (a credential-type value) used in session.

    - +
    -— Scheme Procedure: session-authentication-type session
    +— Scheme Procedure: session-authentication-type session

    Return the authentication type (a credential-type value) used by session.

    - +
    -— Scheme Procedure: session-protocol session
    +— Scheme Procedure: session-protocol session

    Return the protocol used by session.

    - +
    -— Scheme Procedure: session-certificate-type session
    +— Scheme Procedure: session-certificate-type session

    Return session's certificate type.

    - +
    -— Scheme Procedure: session-compression-method session
    +— Scheme Procedure: session-compression-method session

    Return session's compression method.

    - +
    -— Scheme Procedure: session-mac session
    +— Scheme Procedure: session-mac session

    Return session's MAC.

    - +
    -— Scheme Procedure: session-kx session
    +— Scheme Procedure: session-kx session

    Return session's kx.

    - +
    -— Scheme Procedure: session-cipher session
    +— Scheme Procedure: session-cipher session

    Return session's cipher.

    - +
    -— Scheme Procedure: alert-send session level alert
    +— Scheme Procedure: alert-send session level alert

    Send alert via session.

    - +
    -— Scheme Procedure: alert-get session
    +— Scheme Procedure: alert-get session

    Get an aleter from session.

    - +
    -— Scheme Procedure: rehandshake session
    +— Scheme Procedure: rehandshake session

    Perform a re-handshaking for session.

    - +
    -— Scheme Procedure: handshake session
    +— Scheme Procedure: handshake session

    Perform a handshake for session.

    - +
    -— Scheme Procedure: bye session how
    +— Scheme Procedure: bye session how

    Close session according to how.

    - +
    -— Scheme Procedure: make-session end
    +— Scheme Procedure: make-session end

    Return a new session for connection end end, either connection-end/server or connection-end/client.

    - +
    -— Scheme Procedure: gnutls-version
    +— Scheme Procedure: gnutls-version

    Return a string denoting the version number of the underlying GnuTLS library, e.g., "1.7.2".

    -— Scheme Procedure: x509-private-key? obj
    +— Scheme Procedure: x509-private-key? obj

    Return true if obj is of type x509-private-key.

    -— Scheme Procedure: x509-certificate? obj
    +— Scheme Procedure: x509-certificate? obj

    Return true if obj is of type x509-certificate.

    -— Scheme Procedure: psk-client-credentials? obj
    +— Scheme Procedure: psk-client-credentials? obj

    Return true if obj is of type psk-client-credentials.

    -— Scheme Procedure: psk-server-credentials? obj
    +— Scheme Procedure: psk-server-credentials? obj

    Return true if obj is of type psk-server-credentials.

    -— Scheme Procedure: srp-client-credentials? obj
    +— Scheme Procedure: srp-client-credentials? obj

    Return true if obj is of type srp-client-credentials.

    -— Scheme Procedure: srp-server-credentials? obj
    +— Scheme Procedure: srp-server-credentials? obj

    Return true if obj is of type srp-server-credentials.

    -— Scheme Procedure: certificate-credentials? obj
    +— Scheme Procedure: certificate-credentials? obj

    Return true if obj is of type certificate-credentials.

    -— Scheme Procedure: rsa-parameters? obj
    +— Scheme Procedure: rsa-parameters? obj

    Return true if obj is of type rsa-parameters.

    -— Scheme Procedure: dh-parameters? obj
    +— Scheme Procedure: dh-parameters? obj

    Return true if obj is of type dh-parameters.

    -— Scheme Procedure: anonymous-server-credentials? obj
    +— Scheme Procedure: anonymous-server-credentials? obj

    Return true if obj is of type anonymous-server-credentials.

    -— Scheme Procedure: anonymous-client-credentials? obj
    +— Scheme Procedure: anonymous-client-credentials? obj

    Return true if obj is of type anonymous-client-credentials.

    -— Scheme Procedure: session? obj
    +— Scheme Procedure: session? obj

    Return true if obj is of type session.

    -— Scheme Procedure: error->string enumval
    +— Scheme Procedure: error->string enumval

    Return a string describing enumval, a error value.

    -— Scheme Procedure: certificate-verify->string enumval
    +— Scheme Procedure: certificate-verify->string enumval

    Return a string describing enumval, a certificate-verify value.

    -— Scheme Procedure: key-usage->string enumval
    +— Scheme Procedure: key-usage->string enumval

    Return a string describing enumval, a key-usage value.

    -— Scheme Procedure: psk-key-format->string enumval
    +— Scheme Procedure: psk-key-format->string enumval

    Return a string describing enumval, a psk-key-format value.

    -— Scheme Procedure: sign-algorithm->string enumval
    +— Scheme Procedure: sign-algorithm->string enumval

    Return a string describing enumval, a sign-algorithm value.

    -— Scheme Procedure: pk-algorithm->string enumval
    +— Scheme Procedure: pk-algorithm->string enumval

    Return a string describing enumval, a pk-algorithm value.

    -— Scheme Procedure: x509-subject-alternative-name->string enumval
    +— Scheme Procedure: x509-subject-alternative-name->string enumval

    Return a string describing enumval, a x509-subject-alternative-name value.

    -— Scheme Procedure: x509-certificate-format->string enumval
    +— Scheme Procedure: x509-certificate-format->string enumval

    Return a string describing enumval, a x509-certificate-format value.

    -— Scheme Procedure: certificate-type->string enumval
    +— Scheme Procedure: certificate-type->string enumval

    Return a string describing enumval, a certificate-type value.

    -— Scheme Procedure: protocol->string enumval
    +— Scheme Procedure: protocol->string enumval

    Return a string describing enumval, a protocol value.

    -— Scheme Procedure: close-request->string enumval
    +— Scheme Procedure: close-request->string enumval

    Return a string describing enumval, a close-request value.

    -— Scheme Procedure: certificate-request->string enumval
    +— Scheme Procedure: certificate-request->string enumval

    Return a string describing enumval, a certificate-request value.

    -— Scheme Procedure: certificate-status->string enumval
    +— Scheme Procedure: certificate-status->string enumval

    Return a string describing enumval, a certificate-status value.

    -— Scheme Procedure: handshake-description->string enumval
    +— Scheme Procedure: handshake-description->string enumval

    Return a string describing enumval, a handshake-description value.

    -— Scheme Procedure: alert-description->string enumval
    +— Scheme Procedure: alert-description->string enumval

    Return a string describing enumval, a alert-description value.

    -— Scheme Procedure: alert-level->string enumval
    +— Scheme Procedure: alert-level->string enumval

    Return a string describing enumval, a alert-level value.

    -— Scheme Procedure: connection-end->string enumval
    +— Scheme Procedure: connection-end->string enumval

    Return a string describing enumval, a connection-end value.

    -— Scheme Procedure: compression-method->string enumval
    +— Scheme Procedure: compression-method->string enumval

    Return a string describing enumval, a compression-method value.

    -— Scheme Procedure: digest->string enumval
    +— Scheme Procedure: digest->string enumval

    Return a string describing enumval, a digest value.

    -— Scheme Procedure: mac->string enumval
    +— Scheme Procedure: mac->string enumval

    Return a string describing enumval, a mac value.

    -— Scheme Procedure: credentials->string enumval
    +— Scheme Procedure: credentials->string enumval

    Return a string describing enumval, a credentials value.

    -— Scheme Procedure: params->string enumval
    +— Scheme Procedure: params->string enumval

    Return a string describing enumval, a params value.

    -— Scheme Procedure: kx->string enumval
    +— Scheme Procedure: kx->string enumval

    Return a string describing enumval, a kx value.

    -— Scheme Procedure: cipher->string enumval
    +— Scheme Procedure: cipher->string enumval

    Return a string describing enumval, a cipher value.

    -


    + Previous: Core Interface, Up: Guile Reference @@ -20413,111 +18844,111 @@ Licence, version 3 or later. - +
    -— Scheme Procedure: set-certificate-credentials-openpgp-keys! cred pub sec
    +— Scheme Procedure: set-certificate-credentials-openpgp-keys! cred pub sec

    Use certificate pub and secret key sec in certificate credentials cred.

    - +
    -— Scheme Procedure: openpgp-keyring-contains-key-id? keyring id
    +— Scheme Procedure: openpgp-keyring-contains-key-id? keyring id

    Return #f if key ID id is in keyring, #f otherwise.

    - +
    -— Scheme Procedure: import-openpgp-keyring data format
    +— Scheme Procedure: import-openpgp-keyring data format

    Import data (a u8vector) according to format and return the imported keyring.

    - +
    -— Scheme Procedure: openpgp-certificate-usage key
    +— Scheme Procedure: openpgp-certificate-usage key

    Return a list of values denoting the key usage of key.

    -— Scheme Procedure: openpgp-certificate-version key
    +— Scheme Procedure: openpgp-certificate-version key

    Return the version of the OpenPGP message format (RFC2440) honored by key.

    - +
    -— Scheme Procedure: openpgp-certificate-algorithm key
    +— Scheme Procedure: openpgp-certificate-algorithm key

    Return two values: the certificate algorithm used by key and the number of bits used.

    -— Scheme Procedure: openpgp-certificate-names key
    +— Scheme Procedure: openpgp-certificate-names key

    Return the list of names for key.

    - +
    -— Scheme Procedure: openpgp-certificate-name key index
    +— Scheme Procedure: openpgp-certificate-name key index

    Return the indexth name of key.

    - +
    -— Scheme Procedure: openpgp-certificate-fingerprint key
    +— Scheme Procedure: openpgp-certificate-fingerprint key

    Return a new u8vector denoting the fingerprint of key.

    - +
    -— Scheme Procedure: openpgp-certificate-fingerprint! key fpr
    +— Scheme Procedure: openpgp-certificate-fingerprint! key fpr

    Store in fpr (a u8vector) the fingerprint of key. Return the number of bytes stored in fpr.

    - +
    -— Scheme Procedure: openpgp-certificate-id! key id
    +— Scheme Procedure: openpgp-certificate-id! key id

    Store the ID (an 8 byte sequence) of certificate key in id (a u8vector).

    - +
    -— Scheme Procedure: openpgp-certificate-id key
    +— Scheme Procedure: openpgp-certificate-id key

    Return the ID (an 8-element u8vector) of certificate key.

    -— Scheme Procedure: import-openpgp-private-key data format [pass]
    +— Scheme Procedure: import-openpgp-private-key data format [pass]

    Return a new OpenPGP private key object resulting from the import of data (a uniform array) according to format. Optionally, a passphrase may be provided.

    - +
    -— Scheme Procedure: import-openpgp-certificate data format
    +— Scheme Procedure: import-openpgp-certificate data format

    Return a new OpenPGP certificate object resulting from the import of data (a uniform array) according to format.

    -— Scheme Procedure: openpgp-certificate-format->string enumval
    +— Scheme Procedure: openpgp-certificate-format->string enumval

    Return a string describing enumval, a openpgp-certificate-format value.

    -— Scheme Procedure: openpgp-keyring? obj
    +— Scheme Procedure: openpgp-keyring? obj

    Return true if obj is of type openpgp-keyring.

    -— Scheme Procedure: openpgp-private-key? obj
    +— Scheme Procedure: openpgp-private-key? obj

    Return true if obj is of type openpgp-private-key.

    -— Scheme Procedure: openpgp-certificate? obj
    +— Scheme Procedure: openpgp-certificate? obj

    Return true if obj is of type openpgp-certificate.

    @@ -20525,8 +18956,8 @@
    -


    + Next: , Previous: Guile Bindings, Up: Top @@ -20535,28 +18966,12 @@

    12 Internal Architecture of GnuTLS

    -

    +

    This chapter is to give a brief description of the way GnuTLS works. The focus is to give an idea to potential developers and those who want to know what happens inside the black box. -

    - - -

    12.1 The TLS Protocol

    The main needs for the TLS protocol to be used are @@ -20570,15 +18985,6 @@ are functions that require the first parameter to be that object. gnutls-objects.png -

    -

    12.2 TLS Handshake Protocol

    The GnuTLS handshake protocol is implemented as a state @@ -20597,15 +19003,6 @@

    gnutls-handshake-sequence.png
    - -

    12.3 TLS Authentication Methods

    In GnuTLS authentication methods can be implemented quite easily. @@ -20624,15 +19021,6 @@ the structure holding its pointers has to be registered in gnutls_algorithms.c in the _gnutls_kx_algorithms structure. -

    -

    12.4 TLS Extension Handling

    As with authentication methods, the TLS extensions handlers can be implemented @@ -20790,9 +19178,9 @@

    The APIs need to be added to includes/gnutls/gnutls.h or includes/gnutls/extra.h as appropriate. It is recommended that -if you don't have a requirement to use the LGPLv2.1+ license for your -extension, that you place your work under the GPLv3+ license and thus -in the libgnutls-extra library. +if you don't have a requirement to use the LGPL license for your +extension, that you place your work under the GPL license and thus in +the libgnutls-extra library.

    You can implement the API function in the ext_foobar.c file, or if that file ends up becoming rather larger, add a @@ -20808,77 +19196,8 @@

    gnutls-certificate-user-use-case.png
    - -

    12.6 Cryptographic Backend

    - -

    Several new systems provide hardware assisted cryptographic algorithm implementations -that offer implementations some orders of magnitude faster than the software. For this -reason in current releases of GnuTLS it is possible to override parts of the crypto -backend or the whole. It is possible to override them both at runtime and compile time, however -here we will discuss the runtime possibility. The API available for this functionality -is in gnutls/crypto.h header file. - -

    12.6.1 Override specific algorithms

    - -

    When an optimized implementation of a single algorithm is available, say a -hardware assisted version of AES-CBC then the following functions -can be used to register those algorithms. - -

    - -

    Those registration functions will only replace the specified algorithm and leave the -rest of subsystem intact. - -

    12.6.2 Override parts of the backend

    - -

    In some systems, such as embedded ones, it might be desirable to override big parts -of the cryptographic backend, or even all of them. For this reason the following -functions are provided. - -

    - -

    If all of them are used then GnuTLS will no longer use libgcrypt. - -

    -


    Next: , Previous: Internal architecture of GnuTLS, Up: Top @@ -20894,8 +19213,8 @@
    -


    + Next: , Up: Copying Information @@ -20903,15 +19222,15 @@

    A.1 GNU Free Documentation License

    -

    +

    -

    Version 1.3, 3 November 2008
    +
    Version 1.2, November 2002
    -
         Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
    -     http://fsf.org/
    +
         Copyright © 2000,2001,2002 Free Software Foundation, Inc.
    +     51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
          
          Everyone is permitted to copy and distribute verbatim copies
          of this license document, but changing it is not allowed.
    @@ -21013,9 +19332,6 @@
     the text near the most prominent appearance of the work's title,
     preceding the beginning of the body of the text.
     
    -     

    The “publisher” means any person or entity that distributes copies -of the Document to the public. -

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a @@ -21261,30 +19577,13 @@

  • TERMINATION -

    You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -

    However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -

    Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -

    Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. +

    You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document 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.

  • FUTURE REVISIONS OF THIS LICENSE @@ -21301,41 +19600,7 @@ of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -
  • RELICENSING - -

    “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -“Massive Multiauthor Collaboration” (or “MMC”) contained in the -site means any set of copyrightable works thus published on the MMC -site. - -

    “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -

    “Incorporate” means to publish or republish a Document, in whole or -in part, as part of another Document. - -

    An MMC is “eligible for relicensing” if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -

    The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - +as a draft) by the Free Software Foundation.

    ADDENDUM: How to use this License for your documents

    @@ -21346,7 +19611,7 @@
           Copyright (C)  year  your name.
            Permission is granted to copy, distribute and/or modify this document
    -       under the terms of the GNU Free Documentation License, Version 1.3
    +       under the terms of the GNU Free Documentation License, Version 1.2
            or any later version published by the Free Software Foundation;
            with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
            Texts.  A copy of the license is included in the section entitled ``GNU
    @@ -21372,8 +19637,8 @@
     
     
     
    -


    + Next: , Previous: GNU Free Documentation License, Up: Copying Information @@ -21382,7 +19647,7 @@

    A.2 GNU Lesser General Public License

    -

    +

    Version 2.1, February 1999
    @@ -21895,8 +20160,8 @@

    That's all there is to it!

    -


    + Previous: GNU LGPL, Up: Copying Information @@ -21904,7 +20169,7 @@

    A.3 GNU General Public License

    -

    +

    Version 3, 29 June 2007
    @@ -22603,8 +20868,8 @@ first, please read http://www.gnu.org/philosophy/why-not-lgpl.html.
    -


    + Previous: Function and Data Index, Up: Top @@ -22624,10 +20889,6 @@ forced to find out", Available from http://www.cs.auckland.ac.nz/~pgut001/. -
    [NISTSP80057]
    NIST Special Publication 800-57, "Recommendation for Key Management - -Part 1: General (Revised)", March 2007, available from -http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf. -
    [RFC2246]
    Tim Dierks and Christopher Allen, "The TLS Protocol Version 1.0", January 1999, Available from http://www.ietf.org/rfc/rfc2246.txt. @@ -22716,8 +20977,8 @@
    -


    + Next: , Previous: Concept Index, Up: Top @@ -22727,690 +20988,644 @@

    Function and Data Index

    -


    + Next: , Previous: Copying Information, Up: Top @@ -23428,45 +21643,43 @@
  • Callback functions: Callback functions
  • Certificate authentication: More on certificate authentication
  • Certificate requests: PKCS #10 certificate requests
  • -
  • certtool: Invoking certtool
  • -
  • Ciphersuites: All the supported ciphersuites in GnuTLS
  • +
  • certtool: Invoking certtool
  • +
  • Ciphersuites: All the supported ciphersuites in GnuTLS
  • Client Certificate authentication: The TLS Handshake Protocol
  • Compression algorithms: Compression algorithms used in the record layer
  • -
  • constant: Enumerates and Constants
  • +
  • constant: Enumerates and Constants
  • Contributing: Contributing
  • -
  • debug server: Invoking gnutls-serv
  • +
  • debug server: Invoking gnutls-serv
  • Digital signatures: Digital signatures
  • Download: Downloading and Installing
  • -
  • enumerate: Enumerates and Constants
  • -
  • Error codes: Error codes and descriptions
  • -
  • errors: Exception Handling
  • +
  • enumerate: Enumerates and Constants
  • +
  • Error codes: Error codes and descriptions
  • +
  • errors: Exception Handling
  • Example programs: How to use GnuTLS in applications
  • -
  • exceptions: Exception Handling
  • -
  • Exporting Keying Material: Keying Material Exporters
  • -
  • FDL, GNU Free Documentation License: GNU Free Documentation License
  • -
  • Function reference: Function reference
  • -
  • gnutls-cli: Invoking gnutls-cli
  • -
  • gnutls-cli-debug: Invoking gnutls-cli-debug
  • -
  • gnutls-error: Exception Handling
  • -
  • GnuTLS-extra functions: GnuTLS-extra functions
  • -
  • gnutls-serv: Invoking gnutls-serv
  • -
  • GPL, GNU General Public License: GNU GPL
  • +
  • exceptions: Exception Handling
  • +
  • FDL, GNU Free Documentation License: GNU Free Documentation License
  • +
  • Function reference: Function reference
  • +
  • gnutls-cli: Invoking gnutls-cli
  • +
  • gnutls-cli-debug: Invoking gnutls-cli-debug
  • +
  • gnutls-error: Exception Handling
  • +
  • GnuTLS-extra functions: GnuTLS-extra functions
  • +
  • gnutls-serv: Invoking gnutls-serv
  • +
  • GPL, GNU General Public License: GNU GPL
  • Hacking: Contributing
  • Handshake protocol: The TLS Handshake Protocol
  • -
  • homogeneous vector: Representation of Binary Data
  • -
  • HTTPS server: Invoking gnutls-serv
  • -
  • Inner Application (TLS/IA) functions: TLS Inner Application (TLS/IA) functions
  • +
  • homogeneous vector: Representation of Binary Data
  • +
  • HTTPS server: Invoking gnutls-serv
  • +
  • Inner Application (TLS/IA) functions: TLS Inner Application (TLS/IA) functions
  • Installation: Downloading and Installing
  • -
  • Internal architecture: Internal architecture of GnuTLS
  • +
  • Internal architecture: Internal architecture of GnuTLS
  • key sizes: Selecting cryptographic key sizes
  • -
  • Keying Material Exporters: Keying Material Exporters
  • -
  • LGPL, GNU Lesser General Public License: GNU LGPL
  • -
  • License, GNU GPL: GNU GPL
  • -
  • License, GNU LGPL: GNU LGPL
  • +
  • LGPL, GNU Lesser General Public License: GNU LGPL
  • +
  • License, GNU GPL: GNU GPL
  • +
  • License, GNU LGPL: GNU LGPL
  • Maximum fragment length: TLS Extensions
  • -
  • Netconf: Example client PSK connection
  • +
  • Netconf: Example client PSK connection
  • Opaque PRF Input: Opaque PRF Input TLS Extension
  • -
  • OpenPGP functions: OpenPGP functions
  • +
  • OpenPGP functions: OpenPGP functions
  • OpenPGP Keys: The OpenPGP trust model
  • OpenPGP Keys: Certificate authentication
  • OpenPGP Server: Echo Server with OpenPGP authentication
  • @@ -23475,39 +21688,39 @@
  • PKCS #10: PKCS #10 certificate requests
  • PKCS #12: PKCS #12 structures
  • PSK authentication: Authentication using PSK
  • -
  • PSK client: Example client PSK connection
  • -
  • PSK server: Example server PSK connection
  • -
  • psktool: Invoking psktool
  • +
  • PSK client: Example client PSK connection
  • +
  • PSK server: Example server PSK connection
  • +
  • psktool: Invoking psktool
  • Record padding: On Record Padding
  • Record protocol: The TLS record protocol
  • Reporting Bugs: Bug Reports
  • Resuming sessions: The TLS Handshake Protocol
  • Server name indication: TLS Extensions
  • -
  • SRFI-4: Representation of Binary Data
  • +
  • SRFI-4: Representation of Binary Data
  • SRP authentication: Authentication using SRP
  • -
  • srptool: Invoking srptool
  • +
  • srptool: Invoking srptool
  • SSL 2: On SSL 2 and older protocols
  • Symmetric encryption algorithms: Encryption algorithms used in the record layer
  • TLS Extensions: TLS Extensions
  • -
  • TLS Inner Application (TLS/IA) functions: TLS Inner Application (TLS/IA) functions
  • +
  • TLS Inner Application (TLS/IA) functions: TLS Inner Application (TLS/IA) functions
  • TLS Layers: TLS layers
  • Transport protocol: The transport layer
  • Verifying certificate paths: Verifying X.509 certificate paths
  • X.509 certificates: The X.509 trust model
  • X.509 certificates: Certificate authentication
  • -
  • X.509 Functions: X.509 certificate functions
  • +
  • X.509 Functions: X.509 certificate functions

  • -

    Footnotes

    [1] http://www.openssl.org/

    +

    Footnotes

    [1] A copy of the license is included in the +distribution

    -

    [2] ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/

    +

    [2] http://www.openssl.org/

    -

    [3] ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/

    +

    [3] ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/

    -

    [4] ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/

    +

    [4] ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/

    -

    [5] On current versions of GnuTLS it is possible -to override the default crypto backend. Check see Cryptographic Backend for details

    +

    [5] ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/

    [6] The first message in a TLS handshake

    diff -Nru gnutls26-2.8.6/doc/gnutls.info gnutls26-2.4.1/doc/gnutls.info --- gnutls26-2.8.6/doc/gnutls.info 2010-03-15 10:35:26.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.info 2008-06-30 22:14:34.000000000 +0100 @@ -1,24 +1,25 @@ -This is gnutls.info, produced by makeinfo version 4.13 from gnutls.texi. +This is gnutls.info, produced by makeinfo version 4.11 from gnutls.texi. -This manual is last updated 2 June 2009 for version 2.8.6 of GNU TLS. +This manual is last updated 30 June 2008 for version 2.4.1 of GNU TLS. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software + Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Software libraries +INFO-DIR-SECTION GNU Libraries START-INFO-DIR-ENTRY -* GnuTLS: (gnutls). GNU Transport Layer Security Library. +* libgnutls: (gnutls). A Transport Layer Security Library. END-INFO-DIR-ENTRY -INFO-DIR-SECTION System Administration +INFO-DIR-SECTION Network Applications START-INFO-DIR-ENTRY +* GnuTLS: (gnutls). Package for Transport Layer Security. * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server. * gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client. @@ -29,732 +30,678 @@  Indirect: -gnutls.info-1: 1276 -gnutls.info-2: 362136 -gnutls.info-3: 639851 +gnutls.info-1: 1326 +gnutls.info-2: 348229 +gnutls.info-3: 639982  Tag Table: (Indirect) -Node: Top1276 -Node: Preface2366 -Ref: Availability3586 -Node: Getting help3850 -Node: Commercial Support4452 -Node: Downloading and Installing5315 -Node: Bug Reports8127 -Node: Contributing9500 -Node: The Library11576 -Ref: The Library-Footnote-113740 -Ref: The Library-Footnote-213771 -Ref: The Library-Footnote-313828 -Ref: The Library-Footnote-413884 -Ref: The Library-Footnote-513935 -Node: General Idea14073 -Ref: General Idea-Footnote-116469 -Node: Error handling16511 -Node: Memory handling17731 -Node: Callback functions18591 -Node: Introduction to TLS19488 -Ref: Introduction to TLS-Footnote-120664 -Node: TLS layers20951 -Node: The transport layer21930 -Node: The TLS record protocol23929 -Node: Encryption algorithms used in the record layer25148 -Ref: Encryption algorithms used in the record layer-Footnote-126730 -Ref: Encryption algorithms used in the record layer-Footnote-226851 -Node: Compression algorithms used in the record layer26964 -Ref: Compression algorithms used in the record layer-Footnote-128514 -Node: Weaknesses and countermeasures28612 -Node: The TLS Alert Protocol29515 -Ref: The Alert Protocol29715 -Node: The TLS Handshake Protocol30844 -Ref: The Handshake Protocol31043 -Ref: resume34024 -Ref: The TLS Handshake Protocol-Footnote-135893 -Node: TLS Extensions36002 -Ref: serverind36884 -Node: Selecting cryptographic key sizes37454 -Node: On SSL 2 and older protocols39856 -Node: On Record Padding41754 -Node: Authentication methods43875 -Node: Certificate authentication44566 -Ref: Certificate authentication-Footnote-150429 -Node: Anonymous authentication50588 -Node: Authentication using SRP51529 -Ref: Authentication using SRP-Footnote-155079 -Node: Authentication using PSK55137 -Node: Authentication and credentials57465 -Node: Parameters stored in credentials58652 -Node: More on certificate authentication60615 -Ref: Certificate Authentication60843 -Node: The X.509 trust model60930 -Node: X.509 certificates61904 -Node: Verifying X.509 certificate paths65123 -Ref: GNUTLS_CERT_INSECURE_ALGORITHM66401 -Ref: gnutls_certificate_verify_flags67020 -Node: PKCS #10 certificate requests68480 -Node: PKCS #12 structures69292 -Node: The OpenPGP trust model70087 -Node: Digital signatures73243 -Node: How to use TLS in application protocols78597 -Node: Separate ports79122 -Ref: Separate ports-Footnote-180547 -Node: Upward negotiation80620 -Ref: Upward negotiation-Footnote-183364 -Ref: Upward negotiation-Footnote-283389 -Node: How to use GnuTLS in applications83416 -Ref: examples83636 -Node: Preparation83869 -Node: Headers84270 -Node: Initialization84689 -Node: Version check85456 -Node: Debugging85982 -Node: Building the source86437 -Node: Multi-threaded applications88313 -Node: Client examples89885 -Node: Simple client example with anonymous authentication90730 -Node: Simple client example with X.509 certificate support93445 -Node: Obtaining session information96484 -Node: Verifying peer's certificate99967 -Ref: ex:verify100214 -Node: Using a callback to select the certificate to use108930 -Node: Client with Resume capability example115257 -Ref: ex:resume-client115547 -Node: Simple client example with SRP authentication118916 -Node: Simple client example with TLS/IA support122150 -Node: Simple client example in C++125887 -Node: Helper function for TCP connections128456 -Node: Server examples129880 -Node: Echo Server with X.509 authentication130358 -Node: Echo Server with X.509 authentication II135613 -Node: Echo Server with OpenPGP authentication144708 -Node: Echo Server with SRP authentication149600 -Node: Echo Server with anonymous authentication154401 -Node: Miscellaneous examples158739 -Node: Checking for an alert159100 -Node: X.509 certificate parsing example160355 -Ref: ex:x509-info160597 -Node: Certificate request generation163808 -Ref: ex:crq164052 -Node: PKCS #12 structure generation166107 -Ref: ex:pkcs12166307 -Node: Compatibility with the OpenSSL library169655 -Node: Opaque PRF Input TLS Extension170517 -Node: Keying Material Exporters171324 -Node: Included programs172351 -Node: Invoking certtool172854 -Node: Invoking gnutls-cli182357 -Node: Example client PSK connection185611 -Node: Invoking gnutls-cli-debug187223 -Node: Invoking gnutls-serv189708 -Node: Example server PSK connection197908 -Node: Invoking psktool198823 -Node: Invoking srptool199916 -Ref: srptool200054 -Node: Function reference201154 -Node: Core functions201518 -Ref: gnutls_alert_get_name201777 -Ref: gnutls_alert_get202173 -Ref: gnutls_alert_send_appropriate202889 -Ref: gnutls_alert_send203592 -Ref: gnutls_anon_allocate_client_credentials204494 -Ref: gnutls_anon_allocate_server_credentials204953 -Ref: gnutls_anon_free_client_credentials205404 -Ref: gnutls_anon_free_server_credentials205780 -Ref: gnutls_anon_set_params_function206148 -Ref: gnutls_anon_set_server_dh_params206648 -Ref: gnutls_anon_set_server_params_function207172 -Ref: gnutls_auth_client_get_type207663 -Ref: gnutls_auth_get_type208175 -Ref: gnutls_auth_server_get_type208869 -Ref: gnutls_bye209361 -Ref: gnutls_certificate_activation_time_peers211038 -Ref: gnutls_certificate_allocate_credentials211505 -Ref: gnutls_certificate_client_get_request_status211981 -Ref: gnutls_certificate_client_set_retrieve_function212413 -Ref: gnutls_certificate_expiration_time_peers214075 -Ref: gnutls_certificate_free_ca_names214479 -Ref: gnutls_certificate_free_cas214957 -Ref: gnutls_certificate_free_credentials215380 -Ref: gnutls_certificate_free_crls215901 -Ref: gnutls_certificate_free_keys216206 -Ref: gnutls_certificate_get_openpgp_keyring216660 -Ref: gnutls_certificate_get_ours217114 -Ref: gnutls_certificate_get_peers217663 -Ref: gnutls_certificate_get_x509_cas218520 -Ref: gnutls_certificate_get_x509_crls219034 -Ref: gnutls_certificate_send_x509_rdn_sequence219573 -Ref: gnutls_certificate_server_set_request220300 -Ref: gnutls_certificate_server_set_retrieve_function220981 -Ref: gnutls_certificate_set_dh_params221943 -Ref: gnutls_certificate_set_params_function222703 -Ref: gnutls_certificate_set_rsa_export_params223229 -Ref: gnutls_certificate_set_verify_flags223743 -Ref: gnutls_certificate_set_verify_limits224198 -Ref: gnutls_certificate_set_x509_crl_file224893 -Ref: gnutls_certificate_set_x509_crl_mem225668 -Ref: gnutls_certificate_set_x509_crl226438 -Ref: gnutls_certificate_set_x509_key_file227252 -Ref: gnutls_certificate_set_x509_key_mem228197 -Ref: gnutls_certificate_set_x509_key229641 -Ref: gnutls_certificate_set_x509_simple_pkcs12_file230487 -Ref: gnutls_certificate_set_x509_simple_pkcs12_mem232140 -Ref: gnutls_certificate_set_x509_trust_file233777 -Ref: gnutls_certificate_set_x509_trust_mem234767 -Ref: gnutls_certificate_set_x509_trust235718 -Ref: gnutls_certificate_type_get_id236657 -Ref: gnutls_certificate_type_get_name237054 -Ref: gnutls_certificate_type_get237435 -Ref: gnutls_certificate_type_list237833 -Ref: gnutls_certificate_type_set_priority238294 -Ref: gnutls_certificate_verify_peers2239035 -Ref: gnutls_certificate_verify_peers240306 -Ref: gnutls_check_version240977 -Ref: gnutls_cipher_get_id241596 -Ref: gnutls_cipher_get_key_size241980 -Ref: gnutls_cipher_get_name242307 -Ref: gnutls_cipher_get242651 -Ref: gnutls_cipher_list242953 -Ref: gnutls_cipher_set_priority243469 -Ref: gnutls_cipher_suite_get_name244169 -Ref: gnutls_cipher_suite_info244796 -Ref: gnutls_compression_get_id245960 -Ref: gnutls_compression_get_name246324 -Ref: gnutls_compression_get246703 -Ref: gnutls_compression_list247052 -Ref: gnutls_compression_set_priority247501 -Ref: gnutls_credentials_clear248378 -Ref: gnutls_credentials_set248611 -Ref: gnutls_crypto_bigint_register2249990 -Ref: gnutls_crypto_cipher_register2250995 -Ref: gnutls_crypto_digest_register2251888 -Ref: gnutls_crypto_mac_register2252775 -Ref: gnutls_crypto_pk_register2253640 -Ref: gnutls_crypto_rnd_register2254636 -Ref: gnutls_crypto_single_cipher_register2255525 -Ref: gnutls_crypto_single_digest_register2256541 -Ref: gnutls_crypto_single_mac_register2257562 -Ref: gnutls_db_check_entry258528 -Ref: gnutls_db_get_ptr259034 -Ref: gnutls_db_remove_session259351 -Ref: gnutls_db_set_cache_expiration259893 -Ref: gnutls_db_set_ptr260235 -Ref: gnutls_db_set_remove_function260575 -Ref: gnutls_db_set_retrieve_function261084 -Ref: gnutls_db_set_store_function261776 -Ref: gnutls_deinit262251 -Ref: gnutls_dh_get_group262594 -Ref: gnutls_dh_get_peers_public_bits263326 -Ref: gnutls_dh_get_prime_bits263762 -Ref: gnutls_dh_get_pubkey264398 -Ref: gnutls_dh_get_secret_bits264991 -Ref: gnutls_dh_params_cpy265425 -Ref: gnutls_dh_params_deinit265878 -Ref: gnutls_dh_params_export_pkcs3266151 -Ref: gnutls_dh_params_export_raw267163 -Ref: gnutls_dh_params_generate2267909 -Ref: gnutls_dh_params_import_pkcs3268812 -Ref: gnutls_dh_params_import_raw269580 -Ref: gnutls_dh_params_init270224 -Ref: gnutls_dh_set_prime_bits270588 -Ref: gnutls_error_is_fatal271319 -Ref: gnutls_error_to_alert272008 -Ref: gnutls_ext_register272686 -Ref: gnutls_fingerprint273377 -Ref: gnutls_free274338 -Ref: gnutls_global_deinit274573 -Ref: gnutls_global_init274889 -Ref: gnutls_global_set_log_function276483 -Ref: gnutls_global_set_log_level276989 -Ref: gnutls_global_set_mem_functions277491 -Ref: gnutls_handshake_get_last_in278767 -Ref: gnutls_handshake_get_last_out279386 -Ref: gnutls_handshake_set_max_packet_length280020 -Ref: gnutls_handshake_set_post_client_hello_function280711 -Ref: gnutls_handshake_set_private_extensions281798 -Ref: gnutls_handshake282578 -Ref: gnutls_hex2bin283758 -Ref: gnutls_hex_decode284308 -Ref: gnutls_hex_encode284883 -Ref: gnutls_init285397 -Ref: gnutls_kx_get_id286091 -Ref: gnutls_kx_get_name286435 -Ref: gnutls_kx_get286777 -Ref: gnutls_kx_list287104 -Ref: gnutls_kx_set_priority287404 -Ref: gnutls_mac_get_id288096 -Ref: gnutls_mac_get_key_size288510 -Ref: gnutls_mac_get_name288823 -Ref: gnutls_mac_get289139 -Ref: gnutls_mac_list289441 -Ref: gnutls_mac_set_priority289958 -Ref: gnutls_malloc290636 -Ref: gnutls_openpgp_send_cert290966 -Ref: gnutls_oprfi_enable_client291544 -Ref: gnutls_oprfi_enable_server292165 -Ref: gnutls_pem_base64_decode_alloc293191 -Ref: gnutls_pem_base64_decode293986 -Ref: gnutls_pem_base64_encode_alloc294850 -Ref: gnutls_pem_base64_encode295578 -Ref: gnutls_perror296358 -Ref: gnutls_pk_algorithm_get_name296647 -Ref: gnutls_pk_get_id296980 -Ref: gnutls_pk_get_name297497 -Ref: gnutls_pk_list297858 -Ref: gnutls_prf_raw298145 -Ref: gnutls_prf299717 -Ref: gnutls_priority_deinit301340 -Ref: gnutls_priority_init301570 -Ref: gnutls_priority_set_direct305067 -Ref: gnutls_priority_set305849 -Ref: gnutls_protocol_get_id306273 -Ref: gnutls_protocol_get_name306589 -Ref: gnutls_protocol_get_version306947 -Ref: gnutls_protocol_list307250 -Ref: gnutls_protocol_set_priority307559 -Ref: gnutls_psk_allocate_client_credentials308110 -Ref: gnutls_psk_allocate_server_credentials308564 -Ref: gnutls_psk_client_get_hint308994 -Ref: gnutls_psk_free_client_credentials309477 -Ref: gnutls_psk_free_server_credentials309848 -Ref: gnutls_psk_netconf_derive_key310209 -Ref: gnutls_psk_server_get_username310912 -Ref: gnutls_psk_set_client_credentials_function311296 -Ref: gnutls_psk_set_client_credentials312219 -Ref: gnutls_psk_set_params_function313036 -Ref: gnutls_psk_set_server_credentials_file313540 -Ref: gnutls_psk_set_server_credentials_function314146 -Ref: gnutls_psk_set_server_credentials_hint315094 -Ref: gnutls_psk_set_server_dh_params315687 -Ref: gnutls_psk_set_server_params_function316213 -Ref: gnutls_record_check_pending316698 -Ref: gnutls_record_disable_padding317221 -Ref: gnutls_record_get_direction317813 -Ref: gnutls_record_get_max_size318723 -Ref: gnutls_record_recv319085 -Ref: gnutls_record_send320537 -Ref: gnutls_record_set_max_size321959 -Ref: gnutls_rehandshake322854 -Ref: gnutls_rsa_export_get_modulus_bits323765 -Ref: gnutls_rsa_export_get_pubkey324125 -Ref: gnutls_rsa_params_cpy324715 -Ref: gnutls_rsa_params_deinit325144 -Ref: gnutls_rsa_params_export_pkcs1325421 -Ref: gnutls_rsa_params_export_raw326362 -Ref: gnutls_rsa_params_generate2327284 -Ref: gnutls_rsa_params_import_pkcs1328078 -Ref: gnutls_rsa_params_import_raw328774 -Ref: gnutls_rsa_params_init329576 -Ref: gnutls_server_name_get329933 -Ref: gnutls_server_name_set331287 -Ref: gnutls_session_enable_compatibility_mode332283 -Ref: gnutls_session_get_client_random332834 -Ref: gnutls_session_get_data2333374 -Ref: gnutls_session_get_data334200 -Ref: gnutls_session_get_id335076 -Ref: gnutls_session_get_master_secret335972 -Ref: gnutls_session_get_ptr336614 -Ref: gnutls_session_get_server_random337027 -Ref: gnutls_session_is_resumed337569 -Ref: gnutls_session_set_data337881 -Ref: gnutls_session_set_finished_function338754 -Ref: gnutls_session_set_ptr339858 -Ref: gnutls_set_default_export_priority340273 -Ref: gnutls_set_default_priority341118 -Ref: gnutls_sign_algorithm_get_name341901 -Ref: gnutls_sign_callback_get342242 -Ref: gnutls_sign_callback_set342679 -Ref: gnutls_sign_get_id343509 -Ref: gnutls_sign_get_name343868 -Ref: gnutls_sign_list344259 -Ref: gnutls_srp_allocate_client_credentials344589 -Ref: gnutls_srp_allocate_server_credentials345065 -Ref: gnutls_srp_base64_decode_alloc345525 -Ref: gnutls_srp_base64_decode346197 -Ref: gnutls_srp_base64_encode_alloc346910 -Ref: gnutls_srp_base64_encode347626 -Ref: gnutls_srp_free_client_credentials348445 -Ref: gnutls_srp_free_server_credentials348816 -Ref: gnutls_srp_server_get_username349179 -Ref: gnutls_srp_set_client_credentials_function349651 -Ref: gnutls_srp_set_client_credentials350770 -Ref: gnutls_srp_set_prime_bits351492 -Ref: gnutls_srp_set_server_credentials_file352182 -Ref: gnutls_srp_set_server_credentials_function352923 -Ref: gnutls_srp_verifier354290 -Ref: gnutls_strerror_name355307 -Ref: gnutls_strerror355750 -Ref: gnutls_transport_get_ptr2356226 -Ref: gnutls_transport_get_ptr356761 -Ref: gnutls_transport_set_errno357180 -Ref: gnutls_transport_set_global_errno358235 -Ref: gnutls_transport_set_lowat359253 -Ref: gnutls_transport_set_ptr2359847 -Ref: gnutls_transport_set_ptr360462 -Ref: gnutls_transport_set_pull_function360885 -Ref: gnutls_transport_set_push_function361485 -Node: X.509 certificate functions362136 -Ref: sec:x509api362337 -Ref: gnutls_pkcs12_bag_decrypt362503 -Ref: gnutls_pkcs12_bag_deinit362930 -Ref: gnutls_pkcs12_bag_encrypt363158 -Ref: gnutls_pkcs12_bag_get_count363658 -Ref: gnutls_pkcs12_bag_get_data363970 -Ref: gnutls_pkcs12_bag_get_friendly_name364599 -Ref: gnutls_pkcs12_bag_get_key_id365216 -Ref: gnutls_pkcs12_bag_get_type365815 -Ref: gnutls_pkcs12_bag_init366161 -Ref: gnutls_pkcs12_bag_set_crl366606 -Ref: gnutls_pkcs12_bag_set_crt367032 -Ref: gnutls_pkcs12_bag_set_data367476 -Ref: gnutls_pkcs12_bag_set_friendly_name367947 -Ref: gnutls_pkcs12_bag_set_key_id368610 -Ref: gnutls_pkcs12_deinit369245 -Ref: gnutls_pkcs12_export369457 -Ref: gnutls_pkcs12_generate_mac370386 -Ref: gnutls_pkcs12_get_bag370790 -Ref: gnutls_pkcs12_import371399 -Ref: gnutls_pkcs12_init372120 -Ref: gnutls_pkcs12_set_bag372543 -Ref: gnutls_pkcs12_verify_mac372946 -Ref: gnutls_pkcs7_deinit373344 -Ref: gnutls_pkcs7_delete_crl373557 -Ref: gnutls_pkcs7_delete_crt374010 -Ref: gnutls_pkcs7_export374478 -Ref: gnutls_pkcs7_get_crl_count375395 -Ref: gnutls_pkcs7_get_crl_raw375765 -Ref: gnutls_pkcs7_get_crt_count376562 -Ref: gnutls_pkcs7_get_crt_raw376942 -Ref: gnutls_pkcs7_import377826 -Ref: gnutls_pkcs7_init378447 -Ref: gnutls_pkcs7_set_crl_raw378870 -Ref: gnutls_pkcs7_set_crl379285 -Ref: gnutls_pkcs7_set_crt_raw379711 -Ref: gnutls_pkcs7_set_crt380155 -Ref: gnutls_x509_crl_check_issuer380672 -Ref: gnutls_x509_crl_deinit381179 -Ref: gnutls_x509_crl_export381390 -Ref: gnutls_x509_crl_get_authority_key_id382327 -Ref: gnutls_x509_crl_get_crt_count383184 -Ref: gnutls_x509_crl_get_crt_serial383537 -Ref: gnutls_x509_crl_get_dn_oid384299 -Ref: gnutls_x509_crl_get_extension_data385120 -Ref: gnutls_x509_crl_get_extension_info386228 -Ref: gnutls_x509_crl_get_extension_oid387486 -Ref: gnutls_x509_crl_get_issuer_dn_by_oid388358 -Ref: gnutls_x509_crl_get_issuer_dn389864 -Ref: gnutls_x509_crl_get_next_update390740 -Ref: gnutls_x509_crl_get_number391179 -Ref: gnutls_x509_crl_get_signature_algorithm391912 -Ref: gnutls_x509_crl_get_signature392346 -Ref: gnutls_x509_crl_get_this_update392909 -Ref: gnutls_x509_crl_get_version393239 -Ref: gnutls_x509_crl_import393547 -Ref: gnutls_x509_crl_init394171 -Ref: gnutls_x509_crl_print394725 -Ref: gnutls_x509_crl_set_authority_key_id395373 -Ref: gnutls_x509_crl_set_crt_serial395929 -Ref: gnutls_x509_crl_set_crt396546 -Ref: gnutls_x509_crl_set_next_update397122 -Ref: gnutls_x509_crl_set_number397530 -Ref: gnutls_x509_crl_set_this_update398002 -Ref: gnutls_x509_crl_set_version398407 -Ref: gnutls_x509_crl_sign2398951 -Ref: gnutls_x509_crl_sign399831 -Ref: gnutls_x509_crl_verify400387 -Ref: gnutls_x509_crq_deinit401262 -Ref: gnutls_x509_crq_export401473 -Ref: gnutls_x509_crq_get_attribute_by_oid402426 -Ref: gnutls_x509_crq_get_attribute_data403297 -Ref: gnutls_x509_crq_get_attribute_info404400 -Ref: gnutls_x509_crq_get_basic_constraints405585 -Ref: gnutls_x509_crq_get_challenge_password406827 -Ref: gnutls_x509_crq_get_dn_by_oid407345 -Ref: gnutls_x509_crq_get_dn_oid408859 -Ref: gnutls_x509_crq_get_dn409672 -Ref: gnutls_x509_crq_get_extension_by_oid410563 -Ref: gnutls_x509_crq_get_extension_data411710 -Ref: gnutls_x509_crq_get_extension_info412829 -Ref: gnutls_x509_crq_get_key_id414083 -Ref: gnutls_x509_crq_get_key_purpose_oid415106 -Ref: gnutls_x509_crq_get_key_rsa_raw416185 -Ref: gnutls_x509_crq_get_key_usage416805 -Ref: gnutls_x509_crq_get_pk_algorithm417882 -Ref: gnutls_x509_crq_get_subject_alt_name418617 -Ref: gnutls_x509_crq_get_subject_alt_othername_oid420181 -Ref: gnutls_x509_crq_get_version421658 -Ref: gnutls_x509_crq_import422002 -Ref: gnutls_x509_crq_init422685 -Ref: gnutls_x509_crq_print423019 -Ref: gnutls_x509_crq_set_attribute_by_oid423674 -Ref: gnutls_x509_crq_set_basic_constraints424379 -Ref: gnutls_x509_crq_set_challenge_password425102 -Ref: gnutls_x509_crq_set_dn_by_oid425567 -Ref: gnutls_x509_crq_set_key_purpose_oid426692 -Ref: gnutls_x509_crq_set_key_rsa_raw427480 -Ref: gnutls_x509_crq_set_key_usage428056 -Ref: gnutls_x509_crq_set_key428506 -Ref: gnutls_x509_crq_set_subject_alt_name429009 -Ref: gnutls_x509_crq_set_version430075 -Ref: gnutls_x509_crq_sign2430561 -Ref: gnutls_x509_crq_sign431576 -Ref: gnutls_x509_crt_check_hostname432038 -Ref: gnutls_x509_crt_check_issuer432689 -Ref: gnutls_x509_crt_check_revocation433236 -Ref: gnutls_x509_crt_cpy_crl_dist_points433882 -Ref: gnutls_x509_crt_deinit434467 -Ref: gnutls_x509_crt_export434680 -Ref: gnutls_x509_crt_get_activation_time435614 -Ref: gnutls_x509_crt_get_authority_key_id435987 -Ref: gnutls_x509_crt_get_basic_constraints436883 -Ref: gnutls_x509_crt_get_ca_status438084 -Ref: gnutls_x509_crt_get_crl_dist_points438966 -Ref: gnutls_x509_crt_get_dn_by_oid440803 -Ref: gnutls_x509_crt_get_dn_oid442340 -Ref: gnutls_x509_crt_get_dn443139 -Ref: gnutls_x509_crt_get_expiration_time444016 -Ref: gnutls_x509_crt_get_extension_by_oid444387 -Ref: gnutls_x509_crt_get_extension_data445506 -Ref: gnutls_x509_crt_get_extension_info446599 -Ref: gnutls_x509_crt_get_extension_oid447841 -Ref: gnutls_x509_crt_get_fingerprint448688 -Ref: gnutls_x509_crt_get_issuer_dn_by_oid449509 -Ref: gnutls_x509_crt_get_issuer_dn_oid451064 -Ref: gnutls_x509_crt_get_issuer_dn451885 -Ref: gnutls_x509_crt_get_issuer452758 -Ref: gnutls_x509_crt_get_key_id453376 -Ref: gnutls_x509_crt_get_key_purpose_oid454362 -Ref: gnutls_x509_crt_get_key_usage455414 -Ref: gnutls_x509_crt_get_pk_algorithm456469 -Ref: gnutls_x509_crt_get_pk_dsa_raw457184 -Ref: gnutls_x509_crt_get_pk_rsa_raw457834 -Ref: gnutls_x509_crt_get_proxy458392 -Ref: gnutls_x509_crt_get_raw_dn459403 -Ref: gnutls_x509_crt_get_raw_issuer_dn459912 -Ref: gnutls_x509_crt_get_serial460413 -Ref: gnutls_x509_crt_get_signature_algorithm461213 -Ref: gnutls_x509_crt_get_signature461636 -Ref: gnutls_x509_crt_get_subject_alt_name2462223 -Ref: gnutls_x509_crt_get_subject_alt_name463773 -Ref: gnutls_x509_crt_get_subject_alt_othername_oid465648 -Ref: gnutls_x509_crt_get_subject_key_id467118 -Ref: gnutls_x509_crt_get_subject467894 -Ref: gnutls_x509_crt_get_verify_algorithm468535 -Ref: gnutls_x509_crt_get_version469169 -Ref: gnutls_x509_crt_import469491 -Ref: gnutls_x509_crt_init470179 -Ref: gnutls_x509_crt_list_import470514 -Ref: gnutls_x509_crt_list_verify471538 -Ref: gnutls_x509_crt_print473389 -Ref: gnutls_x509_crt_set_activation_time474280 -Ref: gnutls_x509_crt_set_authority_key_id474733 -Ref: gnutls_x509_crt_set_basic_constraints475311 -Ref: gnutls_x509_crt_set_ca_status475995 -Ref: gnutls_x509_crt_set_crl_dist_points2476590 -Ref: gnutls_x509_crt_set_crl_dist_points477309 -Ref: gnutls_x509_crt_set_crq_extensions477953 -Ref: gnutls_x509_crt_set_crq478413 -Ref: gnutls_x509_crt_set_dn_by_oid478956 -Ref: gnutls_x509_crt_set_expiration_time480066 -Ref: gnutls_x509_crt_set_extension_by_oid480501 -Ref: gnutls_x509_crt_set_issuer_dn_by_oid481335 -Ref: gnutls_x509_crt_set_key_purpose_oid482606 -Ref: gnutls_x509_crt_set_key_usage483379 -Ref: gnutls_x509_crt_set_key483808 -Ref: gnutls_x509_crt_set_proxy_dn484301 -Ref: gnutls_x509_crt_set_proxy485317 -Ref: gnutls_x509_crt_set_serial486110 -Ref: gnutls_x509_crt_set_subject_alt_name486763 -Ref: gnutls_x509_crt_set_subject_alternative_name487861 -Ref: gnutls_x509_crt_set_subject_key_id488680 -Ref: gnutls_x509_crt_set_version489168 -Ref: gnutls_x509_crt_sign2489987 -Ref: gnutls_x509_crt_sign490847 -Ref: gnutls_x509_crt_verify_data491410 -Ref: gnutls_x509_crt_verify_hash491978 -Ref: gnutls_x509_crt_verify492547 -Ref: gnutls_x509_dn_deinit493477 -Ref: gnutls_x509_dn_export493737 -Ref: gnutls_x509_dn_get_rdn_ava494632 -Ref: gnutls_x509_dn_import495363 -Ref: gnutls_x509_dn_init495982 -Ref: gnutls_x509_dn_oid_known496403 -Ref: gnutls_x509_privkey_cpy497069 -Ref: gnutls_x509_privkey_deinit497499 -Ref: gnutls_x509_privkey_export_dsa_raw497760 -Ref: gnutls_x509_privkey_export_pkcs8498527 -Ref: gnutls_x509_privkey_export_rsa_raw500029 -Ref: gnutls_x509_privkey_export500903 -Ref: gnutls_x509_privkey_fix501954 -Ref: gnutls_x509_privkey_generate502343 -Ref: gnutls_x509_privkey_get_key_id502966 -Ref: gnutls_x509_privkey_get_pk_algorithm503951 -Ref: gnutls_x509_privkey_import_dsa_raw504373 -Ref: gnutls_x509_privkey_import_pkcs8505090 -Ref: gnutls_x509_privkey_import_rsa_raw506397 -Ref: gnutls_x509_privkey_import507233 -Ref: gnutls_x509_privkey_init507929 -Ref: gnutls_x509_privkey_sign_data508268 -Ref: gnutls_x509_privkey_sign_hash509379 -Ref: gnutls_x509_privkey_verify_data510062 -Ref: gnutls_x509_rdn_get_by_oid510626 -Ref: gnutls_x509_rdn_get_oid511603 -Ref: gnutls_x509_rdn_get512335 -Node: GnuTLS-extra functions512985 -Ref: gnutls_extra_check_version513387 -Ref: gnutls_global_init_extra514032 -Node: OpenPGP functions514571 -Ref: sec:openpgpapi514768 -Ref: gnutls_certificate_set_openpgp_key_file2514970 -Ref: gnutls_certificate_set_openpgp_key_file515948 -Ref: gnutls_certificate_set_openpgp_key_mem2516683 -Ref: gnutls_certificate_set_openpgp_key_mem517688 -Ref: gnutls_certificate_set_openpgp_keyring_file518422 -Ref: gnutls_certificate_set_openpgp_keyring_mem519136 -Ref: gnutls_certificate_set_openpgp_key519891 -Ref: gnutls_openpgp_crt_check_hostname520634 -Ref: gnutls_openpgp_crt_deinit521199 -Ref: gnutls_openpgp_crt_export521422 -Ref: gnutls_openpgp_crt_get_auth_subkey522187 -Ref: gnutls_openpgp_crt_get_creation_time523143 -Ref: gnutls_openpgp_crt_get_expiration_time523474 -Ref: gnutls_openpgp_crt_get_fingerprint523855 -Ref: gnutls_openpgp_crt_get_key_id524414 -Ref: gnutls_openpgp_crt_get_key_usage524802 -Ref: gnutls_openpgp_crt_get_name525361 -Ref: gnutls_openpgp_crt_get_pk_algorithm526037 -Ref: gnutls_openpgp_crt_get_pk_dsa_raw526753 -Ref: gnutls_openpgp_crt_get_pk_rsa_raw527436 -Ref: gnutls_openpgp_crt_get_preferred_key_id528059 -Ref: gnutls_openpgp_crt_get_revoked_status528526 -Ref: gnutls_openpgp_crt_get_subkey_count528900 -Ref: gnutls_openpgp_crt_get_subkey_creation_time529301 -Ref: gnutls_openpgp_crt_get_subkey_expiration_time529727 -Ref: gnutls_openpgp_crt_get_subkey_fingerprint530199 -Ref: gnutls_openpgp_crt_get_subkey_idx530862 -Ref: gnutls_openpgp_crt_get_subkey_id531256 -Ref: gnutls_openpgp_crt_get_subkey_pk_algorithm531708 -Ref: gnutls_openpgp_crt_get_subkey_pk_dsa_raw532528 -Ref: gnutls_openpgp_crt_get_subkey_pk_rsa_raw533281 -Ref: gnutls_openpgp_crt_get_subkey_revoked_status533970 -Ref: gnutls_openpgp_crt_get_subkey_usage534438 -Ref: gnutls_openpgp_crt_get_version535114 -Ref: gnutls_openpgp_crt_import535447 -Ref: gnutls_openpgp_crt_init536014 -Ref: gnutls_openpgp_crt_print536307 -Ref: gnutls_openpgp_crt_set_preferred_key_id536980 -Ref: gnutls_openpgp_crt_verify_ring537518 -Ref: gnutls_openpgp_crt_verify_self538257 -Ref: gnutls_openpgp_keyring_check_id538851 -Ref: gnutls_openpgp_keyring_deinit539359 -Ref: gnutls_openpgp_keyring_get_crt_count539634 -Ref: gnutls_openpgp_keyring_get_crt540001 -Ref: gnutls_openpgp_keyring_import540653 -Ref: gnutls_openpgp_keyring_init541275 -Ref: gnutls_openpgp_privkey_deinit541600 -Ref: gnutls_openpgp_privkey_export_dsa_raw541865 -Ref: gnutls_openpgp_privkey_export_rsa_raw542622 -Ref: gnutls_openpgp_privkey_export_subkey_dsa_raw543510 -Ref: gnutls_openpgp_privkey_export_subkey_rsa_raw544342 -Ref: gnutls_openpgp_privkey_export545256 -Ref: gnutls_openpgp_privkey_get_fingerprint546241 -Ref: gnutls_openpgp_privkey_get_key_id546844 -Ref: gnutls_openpgp_privkey_get_pk_algorithm547247 -Ref: gnutls_openpgp_privkey_get_preferred_key_id548012 -Ref: gnutls_openpgp_privkey_get_revoked_status548513 -Ref: gnutls_openpgp_privkey_get_subkey_count548944 -Ref: gnutls_openpgp_privkey_get_subkey_creation_time549361 -Ref: gnutls_openpgp_privkey_get_subkey_expiration_time549800 -Ref: gnutls_openpgp_privkey_get_subkey_fingerprint550289 -Ref: gnutls_openpgp_privkey_get_subkey_idx550966 -Ref: gnutls_openpgp_privkey_get_subkey_id551388 -Ref: gnutls_openpgp_privkey_get_subkey_pk_algorithm551883 -Ref: gnutls_openpgp_privkey_get_subkey_revoked_status552736 -Ref: gnutls_openpgp_privkey_import553203 -Ref: gnutls_openpgp_privkey_init553915 -Ref: gnutls_openpgp_privkey_set_preferred_key_id554264 -Ref: gnutls_openpgp_privkey_sign_hash554776 -Ref: gnutls_openpgp_set_recv_key_function555418 -Node: TLS Inner Application (TLS/IA) functions555801 -Ref: gnutls_ia_allocate_client_credentials557796 -Ref: gnutls_ia_allocate_server_credentials558523 -Ref: gnutls_ia_enable559208 -Ref: gnutls_ia_endphase_send560485 -Ref: gnutls_ia_extract_inner_secret561081 -Ref: gnutls_ia_free_client_credentials561971 -Ref: gnutls_ia_free_server_credentials562337 -Ref: gnutls_ia_generate_challenge562693 -Ref: gnutls_ia_get_client_avp_ptr563238 -Ref: gnutls_ia_get_server_avp_ptr563615 -Ref: gnutls_ia_handshake_p563978 -Ref: gnutls_ia_handshake564375 -Ref: gnutls_ia_permute_inner_secret564783 -Ref: gnutls_ia_recv565424 -Ref: gnutls_ia_send566931 -Ref: gnutls_ia_set_client_avp_function568291 -Ref: gnutls_ia_set_client_avp_ptr569840 -Ref: gnutls_ia_set_server_avp_function570209 -Ref: gnutls_ia_set_server_avp_ptr572189 -Ref: gnutls_ia_verify_endphase572542 -Node: Error codes and descriptions573263 -Ref: Error Codes573462 -Node: All the supported ciphersuites in GnuTLS581557 -Ref: ciphersuites581776 -Node: Guile Bindings586600 -Node: Guile Preparations587452 -Node: Guile API Conventions589792 -Node: Enumerates and Constants590377 -Node: Procedure Names592770 -Node: Representation of Binary Data593773 -Node: Input and Output594887 -Node: Exception Handling596789 -Node: Guile Examples598617 -Node: Anonymous Authentication Guile Example599082 -Node: OpenPGP Authentication Guile Example601644 -Node: Importing OpenPGP Keys Guile Example604595 -Node: Guile Reference606081 -Node: Core Interface606421 -Node: Extra Interface624131 -Node: Internal architecture of GnuTLS626892 -Node: The TLS Protocol627412 -Node: TLS Handshake Protocol627982 -Node: TLS Authentication Methods628837 -Ref: TLS Authentication Methods-Footnote-1630008 -Node: TLS Extension Handling630071 -Node: Cryptographic Backend637095 -Node: Copying Information639432 -Node: GNU Free Documentation License639851 -Node: GNU LGPL664992 -Node: GNU GPL693114 -Node: Bibliography730612 -Ref: CBCATT730723 -Ref: GPGH730900 -Ref: GUTPKI731022 -Ref: NISTSP80057731196 -Ref: RFC2246731443 -Ref: RFC4346731598 -Ref: RFC2440731747 -Ref: RFC4880731928 -Ref: RFC4211732121 -Ref: RFC2817732314 -Ref: RFC2818732466 -Ref: RFC2945732579 -Ref: RFC2986732728 -Ref: RFC3280732916 -Ref: RFC3749733171 -Ref: RFC3820733336 -Ref: PKCS12733574 -Ref: RESCORLA733714 -Ref: SELKEY733810 -Ref: SSL3733968 -Ref: STEVENS734146 -Ref: TLSEXT734254 -Ref: TLSPGP734470 -Ref: TLSSRP734646 -Ref: TLSPSK734841 -Ref: TOMSRP735009 -Ref: WEGER735121 -Node: Function and Data Index735313 -Node: Concept Index804638 +Node: Top1326 +Node: Preface2411 +Ref: Availability3631 +Node: Getting help3895 +Node: Commercial Support4497 +Node: Downloading and Installing5361 +Node: Bug Reports8173 +Node: Contributing9546 +Node: The Library11622 +Ref: The Library-Footnote-113832 +Ref: The Library-Footnote-213891 +Ref: The Library-Footnote-313922 +Ref: The Library-Footnote-413979 +Ref: The Library-Footnote-514035 +Node: General Idea14086 +Ref: General Idea-Footnote-116482 +Node: Error handling16524 +Node: Memory handling17744 +Node: Callback functions18604 +Node: Introduction to TLS19501 +Ref: Introduction to TLS-Footnote-120677 +Node: TLS layers20964 +Node: The transport layer21943 +Node: The TLS record protocol23942 +Node: Encryption algorithms used in the record layer25161 +Ref: Encryption algorithms used in the record layer-Footnote-126743 +Ref: Encryption algorithms used in the record layer-Footnote-226864 +Node: Compression algorithms used in the record layer26977 +Ref: Compression algorithms used in the record layer-Footnote-128527 +Node: Weaknesses and countermeasures28625 +Node: The TLS Alert Protocol29528 +Ref: The Alert Protocol29728 +Node: The TLS Handshake Protocol30857 +Ref: The Handshake Protocol31056 +Ref: resume34037 +Ref: The TLS Handshake Protocol-Footnote-135906 +Node: TLS Extensions36015 +Ref: serverind36897 +Node: Selecting cryptographic key sizes37467 +Node: On SSL 2 and older protocols39299 +Node: On Record Padding41197 +Node: Authentication methods43318 +Node: Certificate authentication44009 +Ref: Certificate authentication-Footnote-149872 +Node: Anonymous authentication50031 +Node: Authentication using SRP50972 +Ref: Authentication using SRP-Footnote-154522 +Node: Authentication using PSK54580 +Node: Authentication and credentials56908 +Node: Parameters stored in credentials58095 +Node: More on certificate authentication60058 +Ref: Certificate Authentication60286 +Node: The X.509 trust model60373 +Node: X.509 certificates61347 +Node: Verifying X.509 certificate paths64566 +Ref: GNUTLS_CERT_INSECURE_ALGORITHM65844 +Ref: gnutls_certificate_verify_flags66463 +Node: PKCS #10 certificate requests67923 +Node: PKCS #12 structures68735 +Node: The OpenPGP trust model69530 +Node: Digital signatures72686 +Node: How to use TLS in application protocols79215 +Node: Separate ports79740 +Ref: Separate ports-Footnote-181165 +Node: Upward negotiation81238 +Ref: Upward negotiation-Footnote-183982 +Ref: Upward negotiation-Footnote-284007 +Node: How to use GnuTLS in applications84034 +Ref: examples84254 +Node: Preparation84457 +Node: Headers84839 +Node: Version check85257 +Node: Debugging85776 +Node: Building the source86231 +Node: Multi-threaded applications88102 +Node: Client examples89981 +Node: Simple client example with anonymous authentication90826 +Node: Simple client example with X.509 certificate support93733 +Node: Obtaining session information96939 +Node: Verifying peer's certificate100640 +Ref: ex:verify100887 +Node: Using a callback to select the certificate to use109905 +Node: Client with Resume capability example116394 +Ref: ex:resume-client116684 +Node: Simple client example with SRP authentication120259 +Node: Simple client example with TLS/IA support123720 +Node: Simple client example in C++127647 +Node: Helper function for TCP connections130270 +Node: Server examples131806 +Node: Echo Server with X.509 authentication132284 +Node: Echo Server with X.509 authentication II137711 +Node: Echo Server with OpenPGP authentication146990 +Node: Echo Server with SRP authentication152035 +Node: Echo Server with anonymous authentication157010 +Node: Miscellaneous examples161522 +Node: Checking for an alert161883 +Node: X.509 certificate parsing example163289 +Ref: ex:x509-info163531 +Node: Certificate request generation166492 +Ref: ex:crq166736 +Node: PKCS #12 structure generation168965 +Ref: ex:pkcs12169165 +Node: Compatibility with the OpenSSL library172656 +Node: Opaque PRF Input TLS Extension173518 +Node: Included programs174291 +Node: Invoking certtool174794 +Node: Invoking gnutls-cli184191 +Node: Example client PSK connection187239 +Node: Invoking gnutls-cli-debug188851 +Node: Invoking gnutls-serv191336 +Node: Example server PSK connection199131 +Node: Invoking psktool200046 +Node: Invoking srptool201140 +Ref: srptool201278 +Node: Function reference202343 +Node: Core functions202707 +Ref: gnutls_alert_get_name202966 +Ref: gnutls_alert_get203362 +Ref: gnutls_alert_send_appropriate204078 +Ref: gnutls_alert_send204781 +Ref: gnutls_anon_allocate_client_credentials205683 +Ref: gnutls_anon_allocate_server_credentials206148 +Ref: gnutls_anon_free_client_credentials206605 +Ref: gnutls_anon_free_server_credentials206982 +Ref: gnutls_anon_set_params_function207351 +Ref: gnutls_anon_set_server_dh_params207851 +Ref: gnutls_anon_set_server_params_function208375 +Ref: gnutls_auth_client_get_type208866 +Ref: gnutls_auth_get_type209379 +Ref: gnutls_auth_server_get_type210056 +Ref: gnutls_bye210549 +Ref: gnutls_certificate_activation_time_peers212226 +Ref: gnutls_certificate_allocate_credentials212600 +Ref: gnutls_certificate_client_get_request_status213077 +Ref: gnutls_certificate_client_set_retrieve_function213509 +Ref: gnutls_certificate_expiration_time_peers215171 +Ref: gnutls_certificate_free_ca_names215482 +Ref: gnutls_certificate_free_cas215961 +Ref: gnutls_certificate_free_credentials216385 +Ref: gnutls_certificate_free_crls216907 +Ref: gnutls_certificate_free_keys217213 +Ref: gnutls_certificate_get_openpgp_keyring217668 +Ref: gnutls_certificate_get_ours218056 +Ref: gnutls_certificate_get_peers218605 +Ref: gnutls_certificate_get_x509_cas219462 +Ref: gnutls_certificate_get_x509_crls219976 +Ref: gnutls_certificate_send_x509_rdn_sequence220515 +Ref: gnutls_certificate_server_set_request221242 +Ref: gnutls_certificate_server_set_retrieve_function221924 +Ref: gnutls_certificate_set_dh_params222886 +Ref: gnutls_certificate_set_params_function223646 +Ref: gnutls_certificate_set_rsa_export_params224172 +Ref: gnutls_certificate_set_verify_flags224686 +Ref: gnutls_certificate_set_verify_limits225141 +Ref: gnutls_certificate_set_x509_crl_file225836 +Ref: gnutls_certificate_set_x509_crl_mem226612 +Ref: gnutls_certificate_set_x509_crl227383 +Ref: gnutls_certificate_set_x509_key_file228198 +Ref: gnutls_certificate_set_x509_key_mem229144 +Ref: gnutls_certificate_set_x509_key230589 +Ref: gnutls_certificate_set_x509_simple_pkcs12_file231436 +Ref: gnutls_certificate_set_x509_trust_file233076 +Ref: gnutls_certificate_set_x509_trust_mem234067 +Ref: gnutls_certificate_set_x509_trust235019 +Ref: gnutls_certificate_type_get_id235959 +Ref: gnutls_certificate_type_get_name236330 +Ref: gnutls_certificate_type_get236711 +Ref: gnutls_certificate_type_list237109 +Ref: gnutls_certificate_type_set_priority237570 +Ref: gnutls_certificate_verify_peers2238311 +Ref: gnutls_certificate_verify_peers239594 +Ref: gnutls_check_version240285 +Ref: gnutls_cipher_get_id241033 +Ref: gnutls_cipher_get_key_size241380 +Ref: gnutls_cipher_get_name241707 +Ref: gnutls_cipher_get242051 +Ref: gnutls_cipher_list242354 +Ref: gnutls_cipher_set_priority242870 +Ref: gnutls_cipher_suite_get_name243570 +Ref: gnutls_cipher_suite_info244197 +Ref: gnutls_compression_get_id245361 +Ref: gnutls_compression_get_name245683 +Ref: gnutls_compression_get246062 +Ref: gnutls_compression_list246411 +Ref: gnutls_compression_set_priority246860 +Ref: gnutls_credentials_clear247737 +Ref: gnutls_credentials_set247970 +Ref: gnutls_crypto_cipher_register249221 +Ref: gnutls_crypto_digest_register250007 +Ref: gnutls_crypto_mac_register250798 +Ref: gnutls_crypto_rnd_register251555 +Ref: gnutls_db_check_entry252222 +Ref: gnutls_db_get_ptr252728 +Ref: gnutls_db_remove_session253045 +Ref: gnutls_db_set_cache_expiration253587 +Ref: gnutls_db_set_ptr253929 +Ref: gnutls_db_set_remove_function254269 +Ref: gnutls_db_set_retrieve_function254778 +Ref: gnutls_db_set_store_function255470 +Ref: gnutls_deinit255945 +Ref: gnutls_dh_get_group256288 +Ref: gnutls_dh_get_peers_public_bits257020 +Ref: gnutls_dh_get_prime_bits257456 +Ref: gnutls_dh_get_pubkey257902 +Ref: gnutls_dh_get_secret_bits258495 +Ref: gnutls_dh_params_cpy258929 +Ref: gnutls_dh_params_deinit259272 +Ref: gnutls_dh_params_export_pkcs3259545 +Ref: gnutls_dh_params_export_raw260530 +Ref: gnutls_dh_params_generate2261165 +Ref: gnutls_dh_params_import_pkcs3261958 +Ref: gnutls_dh_params_import_raw262699 +Ref: gnutls_dh_params_init263232 +Ref: gnutls_dh_set_prime_bits263486 +Ref: gnutls_error_is_fatal264167 +Ref: gnutls_error_to_alert264823 +Ref: gnutls_fingerprint265499 +Ref: gnutls_free266460 +Ref: gnutls_global_deinit266695 +Ref: gnutls_global_init267011 +Ref: gnutls_global_set_log_function268605 +Ref: gnutls_global_set_log_level269110 +Ref: gnutls_global_set_mem_functions269610 +Ref: gnutls_handshake_get_last_in270851 +Ref: gnutls_handshake_get_last_out271470 +Ref: gnutls_handshake_set_max_packet_length272104 +Ref: gnutls_handshake_set_post_client_hello_function272795 +Ref: gnutls_handshake_set_private_extensions273832 +Ref: gnutls_handshake274612 +Ref: gnutls_hex2bin275792 +Ref: gnutls_hex_decode276342 +Ref: gnutls_hex_encode276917 +Ref: gnutls_init277431 +Ref: gnutls_kx_get_id278125 +Ref: gnutls_kx_get_name278443 +Ref: gnutls_kx_get278785 +Ref: gnutls_kx_list279112 +Ref: gnutls_kx_set_priority279412 +Ref: gnutls_mac_get_id280104 +Ref: gnutls_mac_get_key_size280486 +Ref: gnutls_mac_get_name280799 +Ref: gnutls_mac_get281115 +Ref: gnutls_mac_list281417 +Ref: gnutls_mac_set_priority281934 +Ref: gnutls_malloc282612 +Ref: gnutls_openpgp_send_cert282942 +Ref: gnutls_oprfi_enable_client283520 +Ref: gnutls_oprfi_enable_server284141 +Ref: gnutls_pem_base64_decode_alloc285167 +Ref: gnutls_pem_base64_decode285962 +Ref: gnutls_pem_base64_encode_alloc286826 +Ref: gnutls_pem_base64_encode287554 +Ref: gnutls_perror288334 +Ref: gnutls_pk_algorithm_get_name288664 +Ref: gnutls_prf_raw288993 +Ref: gnutls_prf290565 +Ref: gnutls_priority_deinit292188 +Ref: gnutls_priority_init292418 +Ref: gnutls_priority_set_direct295372 +Ref: gnutls_priority_set296153 +Ref: gnutls_protocol_get_id296577 +Ref: gnutls_protocol_get_name296861 +Ref: gnutls_protocol_get_version297219 +Ref: gnutls_protocol_list297522 +Ref: gnutls_protocol_set_priority297831 +Ref: gnutls_psk_allocate_client_credentials298382 +Ref: gnutls_psk_allocate_server_credentials298837 +Ref: gnutls_psk_client_get_hint299268 +Ref: gnutls_psk_free_client_credentials299751 +Ref: gnutls_psk_free_server_credentials300123 +Ref: gnutls_psk_netconf_derive_key300485 +Ref: gnutls_psk_server_get_username301188 +Ref: gnutls_psk_set_client_credentials_function301572 +Ref: gnutls_psk_set_client_credentials302495 +Ref: gnutls_psk_set_params_function303313 +Ref: gnutls_psk_set_server_credentials_file303817 +Ref: gnutls_psk_set_server_credentials_function304424 +Ref: gnutls_psk_set_server_credentials_hint305372 +Ref: gnutls_psk_set_server_dh_params305966 +Ref: gnutls_psk_set_server_params_function306483 +Ref: gnutls_record_check_pending306965 +Ref: gnutls_record_disable_padding307481 +Ref: gnutls_record_get_direction308073 +Ref: gnutls_record_get_max_size308983 +Ref: gnutls_record_recv309334 +Ref: gnutls_record_send310785 +Ref: gnutls_record_set_max_size312206 +Ref: gnutls_rehandshake313013 +Ref: gnutls_rsa_export_get_modulus_bits313924 +Ref: gnutls_rsa_export_get_pubkey314284 +Ref: gnutls_rsa_params_cpy314874 +Ref: gnutls_rsa_params_deinit315223 +Ref: gnutls_rsa_params_export_pkcs1315500 +Ref: gnutls_rsa_params_export_raw316444 +Ref: gnutls_rsa_params_generate2317286 +Ref: gnutls_rsa_params_import_pkcs1318000 +Ref: gnutls_rsa_params_import_raw318699 +Ref: gnutls_rsa_params_init319421 +Ref: gnutls_server_name_get319698 +Ref: gnutls_server_name_set320940 +Ref: gnutls_session_enable_compatibility_mode321826 +Ref: gnutls_session_get_client_random322377 +Ref: gnutls_session_get_data2322917 +Ref: gnutls_session_get_data323676 +Ref: gnutls_session_get_id324552 +Ref: gnutls_session_get_master_secret325448 +Ref: gnutls_session_get_ptr326090 +Ref: gnutls_session_get_server_random326503 +Ref: gnutls_session_is_resumed327045 +Ref: gnutls_session_set_data327357 +Ref: gnutls_session_set_ptr328202 +Ref: gnutls_set_default_export_priority328617 +Ref: gnutls_set_default_priority329462 +Ref: gnutls_sign_algorithm_get_name330245 +Ref: gnutls_sign_callback_get330554 +Ref: gnutls_sign_callback_set330991 +Ref: gnutls_srp_allocate_client_credentials331861 +Ref: gnutls_srp_allocate_server_credentials332338 +Ref: gnutls_srp_base64_decode_alloc332799 +Ref: gnutls_srp_base64_decode333471 +Ref: gnutls_srp_base64_encode_alloc334184 +Ref: gnutls_srp_base64_encode334900 +Ref: gnutls_srp_free_client_credentials335719 +Ref: gnutls_srp_free_server_credentials336091 +Ref: gnutls_srp_server_get_username336455 +Ref: gnutls_srp_set_client_credentials_function336927 +Ref: gnutls_srp_set_client_credentials338046 +Ref: gnutls_srp_set_server_credentials_file338795 +Ref: gnutls_srp_set_server_credentials_function339537 +Ref: gnutls_srp_verifier340904 +Ref: gnutls_strerror341911 +Ref: gnutls_transport_get_ptr2342317 +Ref: gnutls_transport_get_ptr342852 +Ref: gnutls_transport_set_errno343271 +Ref: gnutls_transport_set_global_errno344326 +Ref: gnutls_transport_set_lowat345344 +Ref: gnutls_transport_set_ptr2345938 +Ref: gnutls_transport_set_ptr346553 +Ref: gnutls_transport_set_pull_function346976 +Ref: gnutls_transport_set_push_function347580 +Node: X.509 certificate functions348229 +Ref: sec:x509api348430 +Ref: gnutls_pkcs12_bag_decrypt348596 +Ref: gnutls_pkcs12_bag_deinit348922 +Ref: gnutls_pkcs12_bag_encrypt349150 +Ref: gnutls_pkcs12_bag_get_count349572 +Ref: gnutls_pkcs12_bag_get_data349799 +Ref: gnutls_pkcs12_bag_get_friendly_name350428 +Ref: gnutls_pkcs12_bag_get_key_id351045 +Ref: gnutls_pkcs12_bag_get_type351644 +Ref: gnutls_pkcs12_bag_init351976 +Ref: gnutls_pkcs12_bag_set_crl352421 +Ref: gnutls_pkcs12_bag_set_crt352847 +Ref: gnutls_pkcs12_bag_set_data353291 +Ref: gnutls_pkcs12_bag_set_friendly_name353762 +Ref: gnutls_pkcs12_bag_set_key_id354425 +Ref: gnutls_pkcs12_deinit355060 +Ref: gnutls_pkcs12_export355272 +Ref: gnutls_pkcs12_generate_mac356201 +Ref: gnutls_pkcs12_get_bag356605 +Ref: gnutls_pkcs12_import357214 +Ref: gnutls_pkcs12_init357935 +Ref: gnutls_pkcs12_set_bag358358 +Ref: gnutls_pkcs12_verify_mac358761 +Ref: gnutls_pkcs7_deinit359159 +Ref: gnutls_pkcs7_delete_crl359372 +Ref: gnutls_pkcs7_delete_crt359768 +Ref: gnutls_pkcs7_export360181 +Ref: gnutls_pkcs7_get_crl_count361097 +Ref: gnutls_pkcs7_get_crl_raw361412 +Ref: gnutls_pkcs7_get_crt_count362152 +Ref: gnutls_pkcs7_get_crt_raw362475 +Ref: gnutls_pkcs7_import363304 +Ref: gnutls_pkcs7_init363925 +Ref: gnutls_pkcs7_set_crl_raw364348 +Ref: gnutls_pkcs7_set_crl364706 +Ref: gnutls_pkcs7_set_crt_raw365075 +Ref: gnutls_pkcs7_set_crt365462 +Ref: gnutls_x509_crl_check_issuer365922 +Ref: gnutls_x509_crl_deinit366384 +Ref: gnutls_x509_crl_export366595 +Ref: gnutls_x509_crl_get_crt_count367518 +Ref: gnutls_x509_crl_get_crt_serial367871 +Ref: gnutls_x509_crl_get_dn_oid368633 +Ref: gnutls_x509_crl_get_issuer_dn_by_oid369458 +Ref: gnutls_x509_crl_get_issuer_dn370964 +Ref: gnutls_x509_crl_get_next_update371840 +Ref: gnutls_x509_crl_get_signature_algorithm372305 +Ref: gnutls_x509_crl_get_signature372739 +Ref: gnutls_x509_crl_get_this_update373302 +Ref: gnutls_x509_crl_get_version373632 +Ref: gnutls_x509_crl_import373940 +Ref: gnutls_x509_crl_init374564 +Ref: gnutls_x509_crl_print375118 +Ref: gnutls_x509_crl_set_crt_serial375754 +Ref: gnutls_x509_crl_set_crt376371 +Ref: gnutls_x509_crl_set_next_update376950 +Ref: gnutls_x509_crl_set_this_update377368 +Ref: gnutls_x509_crl_set_version377773 +Ref: gnutls_x509_crl_sign2378317 +Ref: gnutls_x509_crl_sign379197 +Ref: gnutls_x509_crl_verify379753 +Ref: gnutls_x509_crq_deinit380669 +Ref: gnutls_x509_crq_export380880 +Ref: gnutls_x509_crq_get_attribute_by_oid381833 +Ref: gnutls_x509_crq_get_challenge_password382712 +Ref: gnutls_x509_crq_get_dn_by_oid383230 +Ref: gnutls_x509_crq_get_dn_oid384744 +Ref: gnutls_x509_crq_get_dn385557 +Ref: gnutls_x509_crq_get_pk_algorithm386440 +Ref: gnutls_x509_crq_get_version387157 +Ref: gnutls_x509_crq_import387501 +Ref: gnutls_x509_crq_init388184 +Ref: gnutls_x509_crq_set_attribute_by_oid388548 +Ref: gnutls_x509_crq_set_challenge_password389255 +Ref: gnutls_x509_crq_set_dn_by_oid389720 +Ref: gnutls_x509_crq_set_key390821 +Ref: gnutls_x509_crq_set_version391306 +Ref: gnutls_x509_crq_sign2391792 +Ref: gnutls_x509_crq_sign392807 +Ref: gnutls_x509_crt_check_hostname393269 +Ref: gnutls_x509_crt_check_issuer393920 +Ref: gnutls_x509_crt_check_revocation394450 +Ref: gnutls_x509_crt_cpy_crl_dist_points395096 +Ref: gnutls_x509_crt_deinit395684 +Ref: gnutls_x509_crt_export395897 +Ref: gnutls_x509_crt_get_activation_time396831 +Ref: gnutls_x509_crt_get_authority_key_id397204 +Ref: gnutls_x509_crt_get_basic_constraints397991 +Ref: gnutls_x509_crt_get_ca_status399192 +Ref: gnutls_x509_crt_get_crl_dist_points400061 +Ref: gnutls_x509_crt_get_dn_by_oid401898 +Ref: gnutls_x509_crt_get_dn_oid403435 +Ref: gnutls_x509_crt_get_dn404234 +Ref: gnutls_x509_crt_get_expiration_time405111 +Ref: gnutls_x509_crt_get_extension_by_oid405482 +Ref: gnutls_x509_crt_get_extension_data406557 +Ref: gnutls_x509_crt_get_extension_info407625 +Ref: gnutls_x509_crt_get_extension_oid408842 +Ref: gnutls_x509_crt_get_fingerprint409643 +Ref: gnutls_x509_crt_get_issuer_dn_by_oid410464 +Ref: gnutls_x509_crt_get_issuer_dn_oid412019 +Ref: gnutls_x509_crt_get_issuer_dn412840 +Ref: gnutls_x509_crt_get_issuer413713 +Ref: gnutls_x509_crt_get_key_id414331 +Ref: gnutls_x509_crt_get_key_purpose_oid415317 +Ref: gnutls_x509_crt_get_key_usage416303 +Ref: gnutls_x509_crt_get_pk_algorithm417358 +Ref: gnutls_x509_crt_get_pk_dsa_raw418073 +Ref: gnutls_x509_crt_get_pk_rsa_raw418723 +Ref: gnutls_x509_crt_get_proxy419281 +Ref: gnutls_x509_crt_get_raw_dn420385 +Ref: gnutls_x509_crt_get_raw_issuer_dn420894 +Ref: gnutls_x509_crt_get_serial421395 +Ref: gnutls_x509_crt_get_signature_algorithm422195 +Ref: gnutls_x509_crt_get_signature422618 +Ref: gnutls_x509_crt_get_subject_alt_name2423205 +Ref: gnutls_x509_crt_get_subject_alt_name424385 +Ref: gnutls_x509_crt_get_subject_alt_othername_oid426260 +Ref: gnutls_x509_crt_get_subject_key_id427730 +Ref: gnutls_x509_crt_get_subject428506 +Ref: gnutls_x509_crt_get_version429129 +Ref: gnutls_x509_crt_import429451 +Ref: gnutls_x509_crt_init430139 +Ref: gnutls_x509_crt_list_import430474 +Ref: gnutls_x509_crt_list_verify431498 +Ref: gnutls_x509_crt_print433491 +Ref: gnutls_x509_crt_set_activation_time434382 +Ref: gnutls_x509_crt_set_authority_key_id434838 +Ref: gnutls_x509_crt_set_basic_constraints435419 +Ref: gnutls_x509_crt_set_ca_status436106 +Ref: gnutls_x509_crt_set_crl_dist_points436702 +Ref: gnutls_x509_crt_set_crq437327 +Ref: gnutls_x509_crt_set_dn_by_oid437846 +Ref: gnutls_x509_crt_set_expiration_time438959 +Ref: gnutls_x509_crt_set_extension_by_oid439397 +Ref: gnutls_x509_crt_set_issuer_dn_by_oid440234 +Ref: gnutls_x509_crt_set_key_purpose_oid441508 +Ref: gnutls_x509_crt_set_key_usage442206 +Ref: gnutls_x509_crt_set_key442638 +Ref: gnutls_x509_crt_set_proxy_dn443134 +Ref: gnutls_x509_crt_set_proxy444150 +Ref: gnutls_x509_crt_set_serial444946 +Ref: gnutls_x509_crt_set_subject_alternative_name445618 +Ref: gnutls_x509_crt_set_subject_key_id446235 +Ref: gnutls_x509_crt_set_version446726 +Ref: gnutls_x509_crt_sign2447556 +Ref: gnutls_x509_crt_sign448459 +Ref: gnutls_x509_crt_verify_data449025 +Ref: gnutls_x509_crt_verify449583 +Ref: gnutls_x509_dn_deinit450513 +Ref: gnutls_x509_dn_export450775 +Ref: gnutls_x509_dn_get_rdn_ava451670 +Ref: gnutls_x509_dn_import452401 +Ref: gnutls_x509_dn_init453269 +Ref: gnutls_x509_dn_oid_known453692 +Ref: gnutls_x509_privkey_cpy454358 +Ref: gnutls_x509_privkey_deinit454788 +Ref: gnutls_x509_privkey_export_dsa_raw455049 +Ref: gnutls_x509_privkey_export_pkcs8455763 +Ref: gnutls_x509_privkey_export_rsa_raw457265 +Ref: gnutls_x509_privkey_export458139 +Ref: gnutls_x509_privkey_fix459190 +Ref: gnutls_x509_privkey_generate459579 +Ref: gnutls_x509_privkey_get_key_id460202 +Ref: gnutls_x509_privkey_get_pk_algorithm461187 +Ref: gnutls_x509_privkey_import_dsa_raw461609 +Ref: gnutls_x509_privkey_import_pkcs8462326 +Ref: gnutls_x509_privkey_import_rsa_raw463633 +Ref: gnutls_x509_privkey_import464469 +Ref: gnutls_x509_privkey_init465165 +Ref: gnutls_x509_privkey_sign_data465504 +Ref: gnutls_x509_privkey_sign_hash466615 +Ref: gnutls_x509_privkey_verify_data467112 +Ref: gnutls_x509_rdn_get_by_oid467676 +Ref: gnutls_x509_rdn_get_oid468653 +Ref: gnutls_x509_rdn_get469279 +Node: GnuTLS-extra functions469929 +Ref: gnutls_extra_check_version470328 +Ref: gnutls_global_init_extra470792 +Node: OpenPGP functions471130 +Ref: sec:openpgpapi471327 +Ref: gnutls_certificate_set_openpgp_key_file2471638 +Ref: gnutls_certificate_set_openpgp_key_file472613 +Ref: gnutls_certificate_set_openpgp_key_mem2473348 +Ref: gnutls_certificate_set_openpgp_key_mem474249 +Ref: gnutls_certificate_set_openpgp_keyring_file474882 +Ref: gnutls_certificate_set_openpgp_keyring_mem475563 +Ref: gnutls_certificate_set_openpgp_key476278 +Ref: gnutls_openpgp_crt_check_hostname476911 +Ref: gnutls_openpgp_crt_deinit477477 +Ref: gnutls_openpgp_crt_export477700 +Ref: gnutls_openpgp_crt_get_auth_subkey478465 +Ref: gnutls_openpgp_crt_get_creation_time479116 +Ref: gnutls_openpgp_crt_get_expiration_time479447 +Ref: gnutls_openpgp_crt_get_fingerprint479828 +Ref: gnutls_openpgp_crt_get_key_id480387 +Ref: gnutls_openpgp_crt_get_key_usage480775 +Ref: gnutls_openpgp_crt_get_name481334 +Ref: gnutls_openpgp_crt_get_pk_algorithm482010 +Ref: gnutls_openpgp_crt_get_pk_dsa_raw482726 +Ref: gnutls_openpgp_crt_get_pk_rsa_raw483409 +Ref: gnutls_openpgp_crt_get_preferred_key_id484032 +Ref: gnutls_openpgp_crt_get_revoked_status484499 +Ref: gnutls_openpgp_crt_get_subkey_count484873 +Ref: gnutls_openpgp_crt_get_subkey_creation_time485274 +Ref: gnutls_openpgp_crt_get_subkey_expiration_time485700 +Ref: gnutls_openpgp_crt_get_subkey_fingerprint486172 +Ref: gnutls_openpgp_crt_get_subkey_idx486835 +Ref: gnutls_openpgp_crt_get_subkey_id487229 +Ref: gnutls_openpgp_crt_get_subkey_pk_algorithm487681 +Ref: gnutls_openpgp_crt_get_subkey_pk_dsa_raw488501 +Ref: gnutls_openpgp_crt_get_subkey_pk_rsa_raw489254 +Ref: gnutls_openpgp_crt_get_subkey_revoked_status489943 +Ref: gnutls_openpgp_crt_get_subkey_usage490411 +Ref: gnutls_openpgp_crt_get_version491087 +Ref: gnutls_openpgp_crt_import491420 +Ref: gnutls_openpgp_crt_init491987 +Ref: gnutls_openpgp_crt_print492280 +Ref: gnutls_openpgp_crt_set_preferred_key_id492953 +Ref: gnutls_openpgp_crt_verify_ring493381 +Ref: gnutls_openpgp_crt_verify_self494120 +Ref: gnutls_openpgp_keyring_check_id494714 +Ref: gnutls_openpgp_keyring_deinit495222 +Ref: gnutls_openpgp_keyring_get_crt_count495497 +Ref: gnutls_openpgp_keyring_get_crt495864 +Ref: gnutls_openpgp_keyring_import496423 +Ref: gnutls_openpgp_keyring_init497045 +Ref: gnutls_openpgp_privkey_deinit497370 +Ref: gnutls_openpgp_privkey_export_dsa_raw497635 +Ref: gnutls_openpgp_privkey_export_rsa_raw498392 +Ref: gnutls_openpgp_privkey_export_subkey_dsa_raw499280 +Ref: gnutls_openpgp_privkey_export_subkey_rsa_raw500112 +Ref: gnutls_openpgp_privkey_export501026 +Ref: gnutls_openpgp_privkey_get_fingerprint501988 +Ref: gnutls_openpgp_privkey_get_key_id502591 +Ref: gnutls_openpgp_privkey_get_pk_algorithm502994 +Ref: gnutls_openpgp_privkey_get_preferred_key_id503759 +Ref: gnutls_openpgp_privkey_get_revoked_status504260 +Ref: gnutls_openpgp_privkey_get_subkey_count504691 +Ref: gnutls_openpgp_privkey_get_subkey_creation_time505108 +Ref: gnutls_openpgp_privkey_get_subkey_expiration_time505547 +Ref: gnutls_openpgp_privkey_get_subkey_fingerprint506036 +Ref: gnutls_openpgp_privkey_get_subkey_idx506713 +Ref: gnutls_openpgp_privkey_get_subkey_id507135 +Ref: gnutls_openpgp_privkey_get_subkey_pk_algorithm507630 +Ref: gnutls_openpgp_privkey_get_subkey_revoked_status508483 +Ref: gnutls_openpgp_privkey_import508950 +Ref: gnutls_openpgp_privkey_init509650 +Ref: gnutls_openpgp_privkey_set_preferred_key_id509999 +Ref: gnutls_openpgp_privkey_sign_hash510511 +Ref: gnutls_openpgp_set_recv_key_function511153 +Node: TLS Inner Application (TLS/IA) functions511536 +Ref: gnutls_ia_allocate_client_credentials513531 +Ref: gnutls_ia_allocate_server_credentials514259 +Ref: gnutls_ia_enable514945 +Ref: gnutls_ia_endphase_send516222 +Ref: gnutls_ia_extract_inner_secret516818 +Ref: gnutls_ia_free_client_credentials517708 +Ref: gnutls_ia_free_server_credentials518075 +Ref: gnutls_ia_generate_challenge518432 +Ref: gnutls_ia_get_client_avp_ptr518977 +Ref: gnutls_ia_get_server_avp_ptr519354 +Ref: gnutls_ia_handshake_p519717 +Ref: gnutls_ia_handshake520114 +Ref: gnutls_ia_permute_inner_secret520457 +Ref: gnutls_ia_recv521098 +Ref: gnutls_ia_send522604 +Ref: gnutls_ia_set_client_avp_function523963 +Ref: gnutls_ia_set_client_avp_ptr525512 +Ref: gnutls_ia_set_server_avp_function525881 +Ref: gnutls_ia_set_server_avp_ptr527862 +Ref: gnutls_ia_verify_endphase528215 +Node: Error codes and descriptions528936 +Ref: Error Codes529135 +Node: All the supported ciphersuites in GnuTLS537211 +Ref: ciphersuites537430 +Node: Guile Bindings539266 +Node: Guile Preparations540118 +Node: Guile API Conventions542458 +Node: Enumerates and Constants543043 +Node: Procedure Names545436 +Node: Representation of Binary Data546439 +Node: Input and Output547553 +Node: Exception Handling549455 +Node: Guile Examples551283 +Node: Anonymous Authentication Guile Example551748 +Node: OpenPGP Authentication Guile Example554310 +Node: Importing OpenPGP Keys Guile Example557261 +Node: Guile Reference558747 +Node: Core Interface559087 +Node: Extra Interface576797 +Node: Internal architecture of GnuTLS579558 +Ref: Internal architecture of GnuTLS-Footnote-1588972 +Node: Copying Information589035 +Node: GNU Free Documentation License589454 +Node: GNU LGPL611860 +Node: GNU GPL639982 +Node: Bibliography677480 +Ref: CBCATT677591 +Ref: GPGH677768 +Ref: GUTPKI677890 +Ref: RFC2246678064 +Ref: RFC4346678219 +Ref: RFC2440678368 +Ref: RFC4880678549 +Ref: RFC4211678742 +Ref: RFC2817678935 +Ref: RFC2818679087 +Ref: RFC2945679200 +Ref: RFC2986679349 +Ref: RFC3280679537 +Ref: RFC3749679792 +Ref: RFC3820679957 +Ref: PKCS12680195 +Ref: RESCORLA680335 +Ref: SELKEY680431 +Ref: SSL3680589 +Ref: STEVENS680767 +Ref: TLSEXT680875 +Ref: TLSPGP681091 +Ref: TLSSRP681267 +Ref: TLSPSK681462 +Ref: TOMSRP681630 +Ref: WEGER681742 +Node: Function and Data Index681934 +Node: Concept Index745728  End Tag Table diff -Nru gnutls26-2.8.6/doc/gnutls.info-1 gnutls26-2.4.1/doc/gnutls.info-1 --- gnutls26-2.8.6/doc/gnutls.info-1 2010-03-15 10:35:26.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.info-1 2008-06-30 22:14:34.000000000 +0100 @@ -1,24 +1,25 @@ -This is gnutls.info, produced by makeinfo version 4.13 from gnutls.texi. +This is gnutls.info, produced by makeinfo version 4.11 from gnutls.texi. -This manual is last updated 2 June 2009 for version 2.8.6 of GNU TLS. +This manual is last updated 30 June 2008 for version 2.4.1 of GNU TLS. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software + Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Software libraries +INFO-DIR-SECTION GNU Libraries START-INFO-DIR-ENTRY -* GnuTLS: (gnutls). GNU Transport Layer Security Library. +* libgnutls: (gnutls). A Transport Layer Security Library. END-INFO-DIR-ENTRY -INFO-DIR-SECTION System Administration +INFO-DIR-SECTION Network Applications START-INFO-DIR-ENTRY +* GnuTLS: (gnutls). Package for Transport Layer Security. * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server. * gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client. @@ -33,14 +34,14 @@ GNU TLS ******* -This manual is last updated 2 June 2009 for version 2.8.6 of GNU TLS. +This manual is last updated 30 June 2008 for version 2.4.1 of GNU TLS. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software + Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". @@ -141,6 +142,7 @@ If you are interested, please write to: + Simon Josefsson Datakonsult Hagagatan 24 113 47 Stockholm @@ -161,8 +163,8 @@ `http://www.gnutls.org/download.html' -The latest version is stored in a file, e.g., `gnutls-2.8.6.tar.gz' -where the `2.8.6' value is the highest version number in the directory. +The latest version is stored in a file, e.g., `gnutls-2.4.1.tar.gz' +where the `2.4.1' value is the highest version number in the directory. GnuTLS uses a Linux-like development cycle: even minor version numbers indicate a stable release and a odd minor version number indicates a @@ -324,6 +326,7 @@ the TLS 1.1 and SSL 3.0 protocols (*Note Introduction to TLS::, for a more detailed description of the protocols), accompanied with the required framework for authentication and public key infrastructure. +The library is available under the GNU Lesser GPL license(1). Important features of the GnuTLS library include: * Support for TLS 1.0, TLS 1.1, and SSL 3.0 protocols. @@ -342,18 +345,18 @@ Additionally GnuTLS provides a limited emulation API for the widely -used OpenSSL(1) library, to ease integration with existing applications. +used OpenSSL(2) library, to ease integration with existing applications. GnuTLS consists of three independent parts, namely the "TLS protocol -part", the "Certificate part", and the "Cryptographic backend" part. -The `TLS protocol part' is the actual protocol implementation, and is -entirely implemented within the GnuTLS library. The `Certificate part' -consists of the certificate parsing, and verification functions which -is partially implemented in the GnuTLS library. The Libtasn1(2), a +part", the "Certificate part", and the "Crypto backend" part. The `TLS +protocol part' is the actual protocol implementation, and is entirely +implemented within the GnuTLS library. The `Certificate part' consists +of the certificate parsing, and verification functions which is +partially implemented in the GnuTLS library. The Libtasn1(3), a library which offers ASN.1 parsing capabilities, is used for the X.509 -certificate parsing functions. A smaller version of OpenCDK(3) is used -for the OpenPGP key support in GnuTLS. The "Cryptographic backend" is -provided by the Libgcrypt(4) library(5). +certificate parsing functions. A smaller version of OpenCDK(4) is used +for the OpenPGP key support in GnuTLS. The "Crypto backend" is +provided by the Libgcrypt(5) library. In order to ease integration in embedded systems, parts of the GnuTLS library can be disabled at compile time. That way a small library, with @@ -368,16 +371,15 @@ ---------- Footnotes ---------- -(1) `http://www.openssl.org/' +(1) A copy of the license is included in the distribution -(2) `ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/' +(2) `http://www.openssl.org/' -(3) `ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/' +(3) `ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/' -(4) `ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/' +(4) `ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/' -(5) On current versions of GnuTLS it is possible to override the -default crypto backend. Check *note Cryptographic Backend:: for details +(5) `ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/'  File: gnutls.info, Node: General Idea, Next: Error handling, Up: The Library @@ -402,7 +404,7 @@ The credentials structure is used by some authentication methods, such as certificate authentication (*note Certificate Authentication::). A credentials structure may contain certificates, private keys, temporary -parameters for Diffie-Hellman or RSA key exchange, and other stuff that +parameters for diffie hellman or RSA key exchange, and other stuff that may be shared between several TLS sessions. This structure should be initialized using the appropriate @@ -986,7 +988,7 @@ some correspondance between key sizes of symmetric algorithms and public key algorithms based on the most conservative values of [SELKEY] (*note Bibliography::). Those can be used to generate certificates -with appropriate key sizes as well as parameters for Diffie-Hellman and +with appropriate key sizes as well as parameters for Diffie Hellman and SRP authentication. Year Symmetric key RSA key size, ECC key size @@ -1013,20 +1015,6 @@ TLS are selected in a conservative way and such catastrophic breakthroughs or failures are believed to be unlikely. -NIST publication SP 800-57 [NISTSP80057] (*note Bibliography::) -contains a similar table that extends beyond the key sizes given above. - -Bits of Symmetric key RSA key size, ECC key size -security algorithms DSA, DH and - SRP prime size -80 2TDEA 1024 160-223 -112 3DES 2048 224-255 -128 AES-128 3072 256-383 -192 AES-192 7680 384-511 -256 AES-256 15360 512+ - -The recommendations are fairly consistent. -  File: gnutls.info, Node: On SSL 2 and older protocols, Next: On Record Padding, Prev: Selecting cryptographic key sizes, Up: Introduction to TLS @@ -1268,16 +1256,16 @@ client. `DHE_RSA:' - The RSA algorithm is used to sign Ephemeral Diffie-Hellman + The RSA algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The key in the certificate must allow the key to be used for signing. Note that key exchange - algorithms which use Ephemeral Diffie-Hellman parameters, offer + algorithms which use Ephemeral Diffie Hellman parameters, offer perfect forward secrecy. That means that even if the private key used for signing is compromised, it cannot be used to reveal past session data. `DHE_DSS:' - The DSS algorithm is used to sign Ephemeral Diffie-Hellman + The DSS algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The certificate must contain DSA parameters to use this key exchange algorithm. DSS stands for Digital Signature Standard. @@ -1304,13 +1292,13 @@ shown below. Note that the key exchange methods for anonymous authentication require -Diffie-Hellman parameters to be generated by the server and associated +Diffie Hellman parameters to be generated by the server and associated with an anonymous credentials structure. Supported anonymous key exchange algorithms: `ANON_DH:' - This algorithm exchanges Diffie-Hellman parameters. + This algorithm exchanges Diffie Hellman parameters.  @@ -1412,7 +1400,7 @@ Authentication using the PSK protocol. `DHE-PSK:' - Authentication using the PSK protocol and Diffie-Hellman key + Authentication using the PSK protocol and Diffie Hellman key exchange. This method offers perfect forward secrecy. @@ -1874,16 +1862,15 @@ 1.000.000 Euro to Bad Inc. For a hash algorithm to be called cryptographic the following three -requirements must hold: - - 1. Preimage resistance. That means the algorithm must be one way and +requirements must hold + 1. Preimage resistance. That means the algorithm must be one way and given the output of the hash function H(x), it is impossible to calculate x. - 2. 2nd preimage resistance. That means that given a pair x,y with + 2. 2nd preimage resistance. That means that given a pair x,y with y=H(x) it is impossible to calculate an x' such that y=H(x'). - 3. Collision resistance. That means that it is impossible to + 3. Collision resistance. That means that it is impossible to calculate random x and x' such H(x')=H(x). The last two requirements in the list are the most important in digital @@ -1907,7 +1894,43 @@ as well. The collision attacks on SHA-1 may also get better, given the new interest in tools for creating them. -5.3.1 Trading Security for Interoperability +5.3.1 Supported Algorithms +-------------------------- + +The available digital signature algorithms in GnuTLS are listed below: + +`RSA' + RSA is public key cryptosystem designed by Ronald Rivest, Adi + Shamir and Leonard Adleman. It can be used with any hash functions. + +`DSA' + DSA is the USA's Digital Signature Standard. It uses only the SHA-1 + hash algorithm. + + +The supported cryptographic hash algorithms are: + +`MD2' + MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is + optimized for 8-bit processors. Outputs 128 bits of data. There + are no known weaknesses of this algorithm but since this algorithm + is rarely used and not really studied it should not be used today. + +`MD5' + MD5 is a cryptographic hash algorithm designed by Ron Rivest. + Outputs 128 bits of data. It is considered to be broken. + +`SHA-1' + SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 + bits of data. It is also considered to be broken, though no + practical attacks have been found. + +`RMD160' + RIPEMD is a cryptographic hash algorithm developed in the + framework of the EU project RIPE. Outputs 160 bits of data. + + +5.3.2 Trading Security for Interoperability ------------------------------------------- If you connect to a server and use GnuTLS' functions to verify the @@ -2112,7 +2135,6 @@ * Miscellaneous examples:: * Compatibility with the OpenSSL library:: * Opaque PRF Input TLS Extension:: -* Keying Material Exporters::  File: gnutls.info, Node: Preparation, Next: Multi-threaded applications, Up: How to use GnuTLS in applications @@ -2127,13 +2149,12 @@ * Menu: * Headers:: -* Initialization:: * Version check:: * Debugging:: * Building the source::  -File: gnutls.info, Node: Headers, Next: Initialization, Up: Preparation +File: gnutls.info, Node: Headers, Next: Version check, Up: Preparation 7.1.1 Headers ------------- @@ -2146,28 +2167,9 @@ including the header file `gnutls/extra.h' in your programs.  -File: gnutls.info, Node: Initialization, Next: Version check, Prev: Headers, Up: Preparation - -7.1.2 Initialization --------------------- - -GnuTLS must be initialized before it can be used. The library is -initialized by calling *note gnutls_global_init::. The resources -allocated by the initialization process can be released if the -application no longer has a need to call GnuTLS functions, this is done -by calling *note gnutls_global_deinit::. - -The extra functionality of the GnuTLS-extra library is available after -calling *note gnutls_global_init_extra::. - -In order to take advantage of the internationalisation features in -GnuTLS, such as translated error messages, the application must set the -current locale using `setlocale' before initializing GnuTLS. - - -File: gnutls.info, Node: Version check, Next: Debugging, Prev: Initialization, Up: Preparation +File: gnutls.info, Node: Version check, Next: Debugging, Prev: Headers, Up: Preparation -7.1.3 Version Check +7.1.2 Version Check ------------------- It is often desirable to check that the version of `gnutls' used is @@ -2180,7 +2182,7 @@  File: gnutls.info, Node: Debugging, Next: Building the source, Prev: Version check, Up: Preparation -7.1.4 Debugging +7.1.3 Debugging --------------- In many cases things may not go as expected and further information, to @@ -2192,44 +2194,45 @@  File: gnutls.info, Node: Building the source, Prev: Debugging, Up: Preparation -7.1.5 Building the Source +7.1.4 Building the Source ------------------------- If you want to compile a source file including the `gnutls/gnutls.h' header file, you must make sure that the compiler can find it in the directory hierarchy. This is accomplished by adding the path to the directory in which the header file is located to the compilers include -file search path (via the `-I' option). +file search path (via the -I option). However, the path to the include file is determined at the time the -source is configured. To solve this problem, the library uses the -external package `pkg-config' that knows the path to the include file -and other configuration options. The options that need to be added to -the compiler invocation at compile time are output by the `--cflags' -option to `pkg-config libgnutls'. The following example shows how it -can be used at the command line: - - gcc -c foo.c `pkg-config libgnutls --cflags` - -Adding the output of `pkg-config libgnutls --cflags' to the compilers -command line will ensure that the compiler can find the -`gnutls/gnutls.h' header file. +source is configured. To solve this problem, GnuTLS ships with two +small helper programs `libgnutls-config' and `libgnutls-extra-config' +that knows about the path to the include file and other configuration +options. The options that need to be added to the compiler invocation +at compile time are output by the `--cflags' option to +`libgnutls-config'. The following example shows how it can be used at +the command line: + + gcc -c foo.c `libgnutls-config --cflags` + +Adding the output of `libgnutls-config --cflags' to the compilers +command line will ensure that the compiler can find the GnuTLS header +file. A similar problem occurs when linking the program with the library. Again, the compiler has to find the library files. For this to work, the path to the library files has to be added to the library search -path (via the `-L' option). For this, the option `--libs' to -`pkg-config libgnutls' can be used. For convenience, this option also +path (via the -L option). For this, the option `--libs' to +`libgnutls-config' can be used. For convenience, this option also outputs all other options that are required to link the program with -the libarary (for instance, the `-ltasn1' option). The example shows -how to link `foo.o' with the library to a program `foo'. +the GnuTLS libararies. The example shows how to link `foo.o' with the +GnuTLS libraries to a program _foo_. - gcc -o foo foo.o `pkg-config libgnutls --libs` + gcc -o foo foo.o `libgnutls-config --libs` Of course you can also combine both examples to a single command by -specifying both options to `pkg-config': +specifying both options to `libgnutls-config': - gcc -o foo foo.c `pkg-config libgnutls --cflags --libs` + gcc -o foo foo.c `libgnutls-config --cflags --libs`  File: gnutls.info, Node: Multi-threaded applications, Next: Client examples, Prev: Preparation, Up: How to use GnuTLS in applications @@ -2237,10 +2240,14 @@ 7.2 Multi-Threaded Applications =============================== -Although the GnuTLS library is thread safe by design, some parts of -Libgcrypt, such as the random generator, are not. Applications have to -register callback functions to ensure proper locking in the sensitive -parts of _libgcrypt_. +Although the GnuTLS library is thread safe by design, some parts of the +crypto backend, such as the random generator, are not. Since _libgcrypt +1.1.92_ there was an automatic detection of the thread library used by +the application, so most applications wouldn't need to do any changes +to ensure thread-safety. Due to the unportability of the automatic +thread detection, this was removed from later releases of _libgcrypt_, +so applications have now to register callback functions to ensure +proper locking in sensitive parts of _libgcrypt_. There are helper macros to help you properly initialize the libraries. Examples are shown below. @@ -2319,9 +2326,14 @@ is vulnerable to man-in-the-middle (active or redirection) attacks. However, the data is integrity and privacy protected. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -2338,6 +2350,7 @@ */ #define MAX_BUF 1024 +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" extern int tcp_connect (void); @@ -2361,8 +2374,7 @@ gnutls_init (&session, GNUTLS_CLIENT); /* Use default priorities */ - gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", - NULL); + gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", NULL); /* put the anonymous credentials to the current session */ @@ -2438,9 +2450,14 @@ defined in this example are used in most of the other examples below, without redefining them. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -2487,14 +2504,12 @@ /* Use default priorities */ ret = gnutls_priority_set_direct (session, "PERFORMANCE", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); - } - exit (1); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); } + exit(1); + } /* put the x509 credentials to the current session */ @@ -2569,9 +2584,14 @@ function. Note that this function will print meaningful values only if called after a successful *note gnutls_handshake::. -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -2580,7 +2600,7 @@ #include #include -#include "examples.h" +extern void print_x509_certificate_info (gnutls_session_t); /* This function will print some details of the * given session. @@ -2637,7 +2657,7 @@ case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */ - /* Check if we have been using ephemeral Diffie-Hellman. + /* Check if we have been using ephemeral Diffie Hellman. */ if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS) { @@ -2698,9 +2718,14 @@ certificate, and expiration dates. Just after this step you should treat the connection as being a secure one. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -2708,8 +2733,6 @@ #include #include -#include "examples.h" - /* This function will try to verify the peer's certificate, and * also check if the hostname matches, and the activation, expiration dates. */ @@ -2801,9 +2824,14 @@ An other example is listed below which provides a more detailed verification output. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -2812,8 +2840,6 @@ #include #include -#include "examples.h" - /* All the available CRLs */ gnutls_x509_crl_t *crl_list; @@ -3040,9 +3066,14 @@ following example demonstrates the use of the certificate selection callback. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3091,25 +3122,24 @@ long filelen; void *ptr; - if (!(f = fopen (file, "r")) - || fseek (f, 0, SEEK_END) != 0 - || (filelen = ftell (f)) < 0 - || fseek (f, 0, SEEK_SET) != 0 - || !(ptr = malloc ((size_t) filelen)) - || fread (ptr, 1, (size_t) filelen, f) < (size_t) filelen) + if (!(f = fopen(file, "r")) + || fseek(f, 0, SEEK_END) != 0 + || (filelen = ftell(f)) < 0 + || fseek(f, 0, SEEK_SET) != 0 + || !(ptr = malloc((size_t)filelen)) + || fread(ptr, 1, (size_t)filelen, f) < (size_t)filelen) { return loaded_file; } loaded_file.data = ptr; - loaded_file.size = (unsigned int) filelen; + loaded_file.size = (unsigned int)filelen; return loaded_file; } -static void -unload_file (gnutls_datum_t data) +static void unload_file(gnutls_datum_t data) { - free (data.data); + free(data.data); } /* Load the certificate and the private key. @@ -3178,7 +3208,7 @@ gnutls_certificate_allocate_credentials (&xcred); /* priorities */ - gnutls_priority_init (&priorities_cache, "NORMAL", NULL); + gnutls_priority_init( &priorities_cache, "NORMAL", NULL); /* sets the trusted cas file @@ -3249,7 +3279,7 @@ gnutls_deinit (session); gnutls_certificate_free_credentials (xcred); - gnutls_priority_deinit (priorities_cache); + gnutls_priority_deinit( priorities_cache); gnutls_global_deinit (); @@ -3329,9 +3359,14 @@ once using TLS, close the connection and then try to establish a new connection using the previously negotiated data. -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3347,6 +3382,7 @@ extern void tcp_close (int sd); #define MAX_BUF 1024 +#define CRLFILE "crl.pem" #define CAFILE "ca.pem" #define MSG "GET / HTTP/1.0\r\n\r\n" @@ -3484,9 +3520,14 @@ server may authenticate itself using a certificate, and in that case it has to be verified. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3506,8 +3547,11 @@ #define USERNAME "user" #define PASSWORD "pass" #define CAFILE "ca.pem" +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" +#define MAX_PRIORITIES 3 + int main (void) { @@ -3620,9 +3664,14 @@ The following client is a simple client which uses the TLS/IA extension to authenticate with the server. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3640,19 +3689,21 @@ */ #define MAX_BUF 1024 +#define SA struct sockaddr #define MSG "GET / HTTP/1.0\r\n\r\n" extern int tcp_connect (void); extern void tcp_close (int sd); -static int +int client_avp (gnutls_session_t session, void *ptr, - const char *last, size_t lastlen, char **new, size_t * newlen) + const char *last, size_t lastlen, + char **new, size_t *newlen) { if (last) printf ("- received %d bytes AVP: `%.*s'\n", - lastlen, (int) lastlen, last); + lastlen, lastlen, last); else printf ("- new application phase\n"); @@ -3791,11 +3842,16 @@ The following client is a simple example of a client client utilizing the GnuTLS C++ API. +#if HAVE_CONFIG_H +# include +#else +#endif #include #include #include #include -#include /* for strlen */ + +#include /* for strlen */ /* A very basic TLS client, with anonymous authentication. * written by Eduardo Villanueva Che. @@ -3898,9 +3954,14 @@ This helper function abstracts away TCP connection handling from the other examples. It is required to build some examples. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3915,10 +3976,6 @@ #define SA struct sockaddr -/* tcp.c */ -int tcp_connect (void); -void tcp_close (int sd); - /* Connects to the peer and returns a socket * descriptor. */ @@ -3983,9 +4040,14 @@ This example is a very simple echo server which supports X.509 authentication, using the RSA ciphersuites. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -3999,7 +4061,7 @@ #include #include #include -#include /* for gcry_control */ +#include /* for gcry_control */ #define KEYFILE "key.pem" #define CERTFILE "cert.pem" @@ -4020,7 +4082,7 @@ gnutls_certificate_credentials_t x509_cred; gnutls_priority_t priority_cache; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -4038,7 +4100,7 @@ /* Set maximum compatibility mode. This is only suggested on public webservers * that need to trade security for compatibility */ - gnutls_session_enable_compatibility_mode (session); + gnutls_session_enable_compatibility_mode( session); return session; } @@ -4049,7 +4111,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. When short bit length is used, it might * be wise to regenerate parameters. * @@ -4065,7 +4127,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -4095,7 +4157,7 @@ generate_dh_params (); - gnutls_priority_init (&priority_cache, "NORMAL", NULL); + gnutls_priority_init( &priority_cache, "NORMAL", NULL); gnutls_certificate_set_dh_params (x509_cred, dh_params); @@ -4110,7 +4172,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -4145,6 +4207,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -4180,7 +4243,7 @@ close (listen_sd); gnutls_certificate_free_credentials (x509_cred); - gnutls_priority_deinit (priority_cache); + gnutls_priority_deinit(priority_cache); gnutls_global_deinit (); @@ -4198,9 +4261,14 @@ This server supports the export-grade cipher suites, the DHE ciphersuites and session resuming. -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -4214,7 +4282,7 @@ #include #include #include -#include /* for gcry_control */ +#include /* for gcry_control */ #define KEYFILE "key.pem" #define CERTFILE "cert.pem" @@ -4242,7 +4310,7 @@ #define TLS_SESSION_CACHE 50 -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -4251,7 +4319,7 @@ /* Use the default priorities, plus, export cipher suites. */ - gnutls_priority_set_direct (session, "EXPORT", NULL); + gnutls_priority_set_direct( session, "EXPORT", NULL); gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, cert_cred); @@ -4285,13 +4353,14 @@ "KRipli8Lk7hV+XmT7Jde6qgNdArb9P90c1nQQdXDPqcdKB5EaxR3O8qXtDoj+4AW\n" "dr0gekNsZIHx0rkHhxdGGludMuaI+HdIVEUjtSSw1X1ep3onddLs+gMs+9v1L7N4\n" "YWAnkATleuavh05zA85TKZzMBBx7wwjYKlaY86jQw4JxrjX46dv7tpS1yAPYn3rk\n" - "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n" "-----END DH PARAMETERS-----\n"; + "Nd4jbVJfVHWbZeNy/NaO8g+nER+eSv9zAgEC\n" + "-----END DH PARAMETERS-----\n"; -static int +int generate_dh_params (void) { - gnutls_datum_t dparams = { srp_dh_group2048, sizeof (srp_dh_group2048) }; - /* Here instead of generating Diffie-Hellman parameters (for use with DHE +gnutls_datum_t dparams = { srp_dh_group2048, sizeof( srp_dh_group2048) }; + /* Here instead of generating Diffie Hellman parameters (for use with DHE * kx algorithms) we import them. */ gnutls_dh_params_init (&dh_params); @@ -4319,7 +4388,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -4373,7 +4442,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -4407,6 +4476,7 @@ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -4466,10 +4536,10 @@ typedef struct { char session_id[MAX_SESSION_ID_SIZE]; - size_t session_id_size; + int session_id_size; char session_data[MAX_SESSION_DATA_SIZE]; - size_t session_data_size; + int session_data_size; } CACHE; static CACHE *cache_db; @@ -4486,7 +4556,8 @@ static void wrap_db_deinit (void) { - free (cache_db); + if (cache_db) + free (cache_db); cache_db = NULL; return; } @@ -4581,9 +4652,14 @@ have a server that supports both X.509 and OpenPGP certificates-- but we separated them to keep these examples as simple as possible. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -4621,7 +4697,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated * once a day, once a week or once a month. Depending on the * security requirements. @@ -4632,14 +4708,14 @@ return 0; } -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; gnutls_init (&session, GNUTLS_SERVER); - gnutls_priority_set_direct (session, "NORMAL", NULL); + gnutls_priority_set_direct(session, "NORMAL", NULL); /* request client certificate if any. */ @@ -4653,7 +4729,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -4671,11 +4747,9 @@ gnutls_global_init (); gnutls_certificate_allocate_credentials (&cred); - gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, - GNUTLS_OPENPGP_FMT_BASE64); + gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, GNUTLS_OPENPGP_FMT_BASE64); - gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, - GNUTLS_OPENPGP_FMT_BASE64); + gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, GNUTLS_OPENPGP_FMT_BASE64); generate_dh_params (); @@ -4691,7 +4765,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -4726,6 +4800,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -4778,9 +4853,14 @@ to combine this functionality with a certificate server. Here it is separate for simplicity. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -4815,7 +4895,7 @@ gnutls_srp_server_credentials_t srp_cred; gnutls_certificate_credentials_t cert_cred; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -4839,7 +4919,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -4879,7 +4959,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -4913,6 +4993,7 @@ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -4964,9 +5045,14 @@ This example server support anonymous authentication, and could be used to serve the example client for anonymous authentication. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -4994,7 +5080,7 @@ /* These are global */ gnutls_anon_server_credentials_t anoncred; -static gnutls_session_t +gnutls_session_t initialize_tls_session (void) { gnutls_session_t session; @@ -5016,7 +5102,7 @@ generate_dh_params (void) { - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated * once a day, once a week or once a month. Depending on the * security requirements. @@ -5030,7 +5116,7 @@ int main (void) { - int err, listen_sd; + int err, listen_sd, i; int sd, ret; struct sockaddr_in sa_serv; struct sockaddr_in sa_cli; @@ -5060,7 +5146,7 @@ sa_serv.sin_addr.s_addr = INADDR_ANY; sa_serv.sin_port = htons (PORT); /* Server Port number */ - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int)); + setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int)); err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv)); SOCKET_ERR (err, "bind"); @@ -5095,6 +5181,7 @@ /* see the Getting peer's information example */ /* print_info(session); */ + i = 0; for (;;) { memset (buffer, 0, MAX_BUF + 1); @@ -5159,9 +5246,14 @@ This is a function that checks if an alert has been received in the current session. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -5169,8 +5261,6 @@ #include #include -#include "examples.h" - /* This function will check whether the given return code from * a gnutls function (recv/send), is an alert, and will print * that alert. @@ -5208,9 +5298,14 @@ listed below. That program reads the peer's certificate, and prints information about it. -/* This example code is placed in the public domain. */ +/* Copyright 2007, 2008 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -5219,8 +5314,6 @@ #include #include -#include "examples.h" - static const char * bin2hex (const void *bin, size_t bin_size) { @@ -5249,14 +5342,13 @@ print_x509_certificate_info (gnutls_session_t session) { char serial[40]; - char dn[256]; + char dn[128]; size_t size; unsigned int algo, bits; time_t expiration_time, activation_time; const gnutls_datum_t *cert_list; unsigned int cert_list_size = 0; gnutls_x509_crt_t cert; - gnutls_datum_t cinfo; /* This function only works for X.509 certificates. */ @@ -5269,7 +5361,6 @@ if (cert_list_size > 0) { - int ret; /* we only print information about the first certificate. */ @@ -5279,19 +5370,6 @@ printf ("Certificate info:\n"); - /* This is the preferred way of printing short information about - a certificate. */ - - ret = gnutls_x509_crt_print (cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (ret == 0) - { - printf ("\t%s\n", cinfo.data); - gnutls_free (cinfo.data); - } - - /* If you want to extract fields manually for some other reason, - below are popular example calls. */ - expiration_time = gnutls_x509_crt_get_expiration_time (cert); activation_time = gnutls_x509_crt_get_activation_time (cert); @@ -5341,9 +5419,14 @@ private key. A certificate request can be later be processed by a CA, which should return a signed certificate. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -5434,9 +5517,14 @@ The following example is about generating a PKCS #12 structure. -/* This example code is placed in the public domain. */ +/* Copyright 2007 Free Software Foundation + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. + */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -5445,8 +5533,6 @@ #include #include -#include "examples.h" - #define OUTFILE "out.p12" /* This function will write a pkcs12 structure into a file. @@ -5469,7 +5555,7 @@ /* A good idea might be to use gnutls_x509_privkey_get_key_id() * to obtain a unique ID. */ - gnutls_datum_t key_id = { (char*) "\x00\x00\x07", 3 }; + gnutls_datum_t key_id = { "\x00\x00\x07", 3 }; gnutls_global_init (); @@ -5591,7 +5677,7 @@  -File: gnutls.info, Node: Opaque PRF Input TLS Extension, Next: Keying Material Exporters, Prev: Compatibility with the OpenSSL library, Up: How to use GnuTLS in applications +File: gnutls.info, Node: Opaque PRF Input TLS Extension, Prev: Compatibility with the OpenSSL library, Up: How to use GnuTLS in applications 7.7 Opaque PRF Input TLS Extension ================================== @@ -5607,31 +5693,6 @@ the protocol.  -File: gnutls.info, Node: Keying Material Exporters, Prev: Opaque PRF Input TLS Extension, Up: How to use GnuTLS in applications - -7.8 Keying Material Exporters -============================= - -The TLS PRF can be used by other protocols to derive data. The API to -use is *note gnutls_prf::. The function needs to be provided with the -label in the parameter `label', and the extra data to mix in the -`extra' parameter. Depending on whether you want to mix in the client -or server random data first, you can set the `server_random_first' -parameter. - -For example, after establishing a TLS session using *note -gnutls_handshake::, you can invoke the TLS PRF with this call: - - #define MYLABEL "EXPORTER-FOO" - #define MYCONTEXT "some context data" - char out[32]; - rc = gnutls_prf (session, strlen (MYLABEL), MYLABEL, 0, - strlen (MYCONTEXT), MYCONTEXT, 32, out); - -If you don't want to mix in the client/server random, there is a more -low-level TLS PRF interface called *note gnutls_prf_raw::. - - File: gnutls.info, Node: Included programs, Next: Function reference, Prev: How to use GnuTLS in applications, Up: Top 8 Included Programs @@ -5659,6 +5720,7 @@ This is a program to generate X.509 certificates, certificate requests, CRLs and private keys. + Certtool help Usage: certtool [options] -s, --generate-self-signed @@ -5676,7 +5738,7 @@ The last certificate in the chain must be a self signed one. --verify-crl Verify a CRL. - --generate-dh-params Generate PKCS #3 encoded Diffie-Hellman + --generate-dh-params Generate PKCS #3 encoded Diffie Hellman parameters. --get-dh-params Get the included PKCS #3 encoded Diffie Hellman parameters. @@ -5719,6 +5781,7 @@ -d, --debug LEVEL specify the debug level. Default is 1. -h, --help shows this help text -v, --version shows the program's version + --copyright shows the program's license The program can be used interactively or non interactively by specifying the `--template' command line option. See below for an @@ -5726,7 +5789,7 @@ How to use certtool interactively: - * To generate parameters for Diffie-Hellman key exchange, use the + * To generate parameters for Diffie Hellman key exchange, use the command: $ certtool --generate-dh-params --outfile dh.pem @@ -5743,14 +5806,10 @@ Note that a self-signed certificate usually belongs to a certificate authority, that signs other certificates. - * To create a private key (RSA by default), run: + * To create a private key, run: $ certtool --generate-privkey --outfile key.pem - To create a DSA private key, run: - - $ certtool --dsa --generate-privkey --outfile key-dsa.pem - * To generate a certificate using the private key, use the command: $ certtool --generate-certificate --load-privkey key.pem \ @@ -5863,7 +5922,6 @@ # A dnsname in case of a WWW server. #dns_name = "www.none.org" - #dns_name = "www.morethanone.org" # An IP address in case of a server. #ip_address = "192.168.1.1" @@ -5918,6 +5976,7 @@ computer. It sets up a TLS connection and forwards data from the standard input to the secured socket and vice versa. + GNU TLS test client Usage: gnutls-cli [options] hostname @@ -5934,6 +5993,7 @@ of the key. --disable-extensions Disable all the TLS extensions. --print-cert Print the certificate in PEM format. + -p, --port integer The port to connect to. --recordsize integer The maximum record size to advertize. -V, --verbose More verbose output. --ciphers cipher1 cipher2... @@ -5945,30 +6005,24 @@ --kx kx1 kx2... Key exchange methods to enable. --ctypes certType1 certType2... Certificate types to enable. - --priority PRIORITY STRING - Priorities string. --x509cafile FILE Certificate file to use. --x509crlfile FILE CRL file to use. --pgpkeyfile FILE PGP Key file to use. --pgpkeyring FILE PGP Key ring file to use. + --pgptrustdb FILE PGP trustdb file to use. --pgpcertfile FILE PGP Public Key (certificate) file to use. - --pgpsubkey HEX|auto PGP subkey to use. --x509keyfile FILE X.509 key file to use. --x509certfile FILE X.509 Certificate file to use. --srpusername NAME SRP username to use. --srppasswd PASSWD SRP password to use. - --pskusername NAME PSK username to use. - --pskkey KEY PSK key (in hex) to use. - --opaque-prf-input DATA - Use Opaque PRF Input DATA. - -p, --port PORT The port to connect to. --insecure Don't abort program if server certificate can't be validated. -l, --list Print a list of the supported - algorithms and modes. + algorithms and modes. -h, --help prints this help -v, --version prints the program's version number + --copyright prints the program's license To connect to a server using PSK authentication, you may use something like: @@ -6060,9 +6114,9 @@ Checking for export-grade ciphersuite support... no Checking RSA-export ciphersuite info... N/A Checking for anonymous authentication support... no - Checking anonymous Diffie-Hellman group info... N/A - Checking for ephemeral Diffie-Hellman support... no - Checking ephemeral Diffie-Hellman group info... N/A + Checking anonymous Diffie Hellman group info... N/A + Checking for ephemeral Diffie Hellman support... no + Checking ephemeral Diffie Hellman group info... N/A Checking for AES cipher support (TLS extension)... yes Checking for 3DES cipher support... yes Checking for ARCFOUR 128 cipher support... yes @@ -6083,11 +6137,12 @@ Simple server program that listens to incoming TLS connections. + GNU TLS test server Usage: gnutls-serv [options] -d, --debug integer Enable debugging - -g, --generate Generate Diffie-Hellman Parameters. + -g, --generate Generate Diffie Hellman Parameters. -p, --port integer The port to connect to. -q, --quiet Suppress some messages. --nodb Does not use the resume database. @@ -6098,25 +6153,17 @@ --x509cafile FILE Certificate file to use. --x509crlfile FILE CRL file to use. --pgpkeyring FILE PGP Key ring file to use. + --pgptrustdb FILE PGP trustdb file to use. --pgpkeyfile FILE PGP Key file to use. --pgpcertfile FILE PGP Public Key (certificate) file to use. - --pgpsubkey HEX|auto PGP subkey to use. --x509keyfile FILE X.509 key file to use. --x509certfile FILE X.509 Certificate file to use. --x509dsakeyfile FILE Alternative X.509 key file to use. --x509dsacertfile FILE Alternative X.509 certificate file to use. - -r, --require-cert Require a valid certificate. - -a, --disable-client-cert - Disable request for a client - certificate. - --pskpasswd FILE PSK password file to use. - --pskhint HINT PSK identity hint to use. --srppasswd FILE SRP password file to use. --srppasswdconf FILE SRP password conf file to use. - --opaque-prf-input DATA - Use Opaque PRF Input DATA. --ciphers cipher1 cipher2... Ciphers to enable. --protocols protocol1 protocol2... @@ -6126,12 +6173,11 @@ --kx kx1 kx2... Key exchange methods to enable. --ctypes certType1 certType2... Certificate types to enable. - --priority PRIORITY STRING - Priorities string. -l, --list Print a list of the supported algorithms and modes. -h, --help prints this help -v, --version prints the program's version number + --copyright prints the program's license 8.4.1 Setting Up a Test HTTPS Server ------------------------------------ @@ -6303,7 +6349,7 @@ DHE-PSK. $ ./gnutls-serv --pskpasswd psks.txt --pskhint psk_identity_hint --priority NORMAL:-DHE-PSK - Set static Diffie-Hellman parameters, consider --dhparams. + Set static Diffie Hellman parameters, consider --dhparams. Echo Server ready. Listening to port '5556'. You can now connect to the server using a PSK client (*note Example @@ -6317,6 +6363,7 @@ This is a program to manage PSK username and keys. + PSKtool help Usage : psktool [options] -u, --username username @@ -6343,12 +6390,10 @@ ==================== The `srptool' is a very simple program that emulates the programs in -the _Stanford SRP libraries_, see `http://srp.stanford.edu/'. It is -intended for use in places where you don't expect SRP authentication to -be the used for system users. - -Traditionally _libsrp_ used two files. One called `tpasswd' which holds -usernames and verifiers, and `tpasswd.conf' which holds generators and +the _Stanford SRP libraries_. It is intended for use in places where +you don't expect SRP authentication to be the used for system users. +Traditionally _libsrp_ used two files. One called 'tpasswd' which holds +usernames and verifiers, and 'tpasswd.conf' which holds generators and primes. How to use srptool: @@ -6359,14 +6404,14 @@ $ srptool --create-conf /etc/tpasswd.conf * This command will create /etc/tpasswd and will add user 'test' (you - will also be prompted for a password). Verifiers are stored by + will also be prompted for a password). Verifiers are stored by default in the way libsrp expects. $ srptool --passwd /etc/tpasswd \ --passwd-conf /etc/tpasswd.conf -u test - * This command will check against a password. If the password - matches the one in /etc/tpasswd you will get an ok. + * This command will check against a password. If the password matches + the one in /etc/tpasswd you will get an ok. $ srptool --passwd /etc/tpasswd \ --passwd-conf /etc/tpasswd.conf --verify -u test @@ -6478,7 +6523,8 @@ -- Function: int gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t * SC) - SC: is a pointer to a `gnutls_anon_client_credentials_t' structure. + SC: is a pointer to an `gnutls_anon_client_credentials_t' + structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -6490,7 +6536,8 @@ -- Function: int gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * SC) - SC: is a pointer to a `gnutls_anon_server_credentials_t' structure. + SC: is a pointer to an `gnutls_anon_server_credentials_t' + structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -6502,7 +6549,7 @@ -- Function: void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t SC) - SC: is a `gnutls_anon_client_credentials_t' structure. + SC: is an `gnutls_anon_client_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -6512,7 +6559,7 @@ -- Function: void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t SC) - SC: is a `gnutls_anon_server_credentials_t' structure. + SC: is an `gnutls_anon_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -6528,7 +6575,7 @@ FUNC: is the function to be called This function will set a callback in order for the server to get - the Diffie-Hellman or RSA parameters for anonymous authentication. + the diffie hellman or RSA parameters for anonymous authentication. The callback should return zero on success. gnutls_anon_set_server_dh_params @@ -6539,11 +6586,11 @@ DH_PARAMS) RES: is a gnutls_anon_server_credentials_t structure - DH_PARAMS: is a structure that holds Diffie-Hellman parameters. + DH_PARAMS: is a structure that holds diffie hellman parameters. - This function will set the Diffie-Hellman parameters for an + This function will set the diffie hellman parameters for an anonymous server to use. These parameters will be used in - Anonymous Diffie-Hellman cipher suites. + Anonymous Diffie Hellman cipher suites. gnutls_anon_set_server_params_function -------------------------------------- @@ -6556,7 +6603,7 @@ FUNC: is the function to be called This function will set a callback in order for the server to get - the Diffie-Hellman parameters for anonymous authentication. The + the diffie hellman parameters for anonymous authentication. The callback should return zero on success. gnutls_auth_client_get_type @@ -6571,7 +6618,7 @@ distinguish the function used to access authentication data. *Returns:* The type of credentials for the client authentication - schema, a `gnutls_credentials_type_t' type. + schema, an `gnutls_credentials_type_t' type. gnutls_auth_get_type -------------------- @@ -6584,12 +6631,12 @@ The returned information is to be used to distinguish the function used to access authentication data. - Eg. for CERTIFICATE ciphersuites (key exchange algorithms: - `GNUTLS_KX_RSA', `GNUTLS_KX_DHE_RSA'), the same function are to be - used to access the authentication data. + Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, + KX_DHE_RSA), the same function are to be used to access the + authentication data. *Returns:* The type of credentials for the current authentication - schema, a `gnutls_credentials_type_t' type. + schema, an `gnutls_credentials_type_t' type. gnutls_auth_server_get_type --------------------------- @@ -6603,7 +6650,7 @@ distinguish the function used to access authentication data. *Returns:* The type of credentials for the server authentication - schema, a `gnutls_credentials_type_t' type. + schema, an `gnutls_credentials_type_t' type. gnutls_bye ---------- @@ -6654,15 +6701,12 @@ *Returns:* (time_t)-1 on error. - *Deprecated:* `gnutls_certificate_verify_peers2()' now verifies - activation times. - gnutls_certificate_allocate_credentials --------------------------------------- -- Function: int gnutls_certificate_allocate_credentials (gnutls_certificate_credentials_t * RES) - RES: is a pointer to a `gnutls_certificate_credentials_t' + RES: is a pointer to an `gnutls_certificate_credentials_t' structure. This structure is complex enough to manipulate directly thus this @@ -6731,15 +6775,12 @@ *Returns:* (time_t)-1 on error. - *Deprecated:* `gnutls_certificate_verify_peers2()' now verifies - expiration times. - gnutls_certificate_free_ca_names -------------------------------- -- Function: void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t SC) - SC: is a `gnutls_certificate_credentials_t' structure. + SC: is an `gnutls_certificate_credentials_t' structure. This function will delete all the CA name in the given credentials. Clients may call this to save some memory since in @@ -6753,7 +6794,7 @@ -- Function: void gnutls_certificate_free_cas (gnutls_certificate_credentials_t SC) - SC: is a `gnutls_certificate_credentials_t' structure. + SC: is an `gnutls_certificate_credentials_t' structure. This function will delete all the CAs associated with the given credentials. Servers that do not use @@ -6765,7 +6806,7 @@ -- Function: void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t SC) - SC: is a `gnutls_certificate_credentials_t' structure. + SC: is an `gnutls_certificate_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -6779,7 +6820,7 @@ -- Function: void gnutls_certificate_free_crls (gnutls_certificate_credentials_t SC) - SC: is a `gnutls_certificate_credentials_t' structure. + SC: is an `gnutls_certificate_credentials_t' structure. This function will delete all the CRLs associated with the given credentials. @@ -6789,7 +6830,7 @@ -- Function: void gnutls_certificate_free_keys (gnutls_certificate_credentials_t SC) - SC: is a `gnutls_certificate_credentials_t' structure. + SC: is an `gnutls_certificate_credentials_t' structure. This function will delete all the keys and the certificates associated with the given credentials. This function must not be @@ -6802,9 +6843,7 @@ -- Function: void gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t SC, gnutls_openpgp_keyring_t * KEYRING) - SC: is a `gnutls_certificate_credentials_t' structure. - - KEYRING: the exported keyring. Should be treated as constant + SC: is an `gnutls_certificate_credentials_t' structure. This function will export the OpenPGP keyring associated with the given credentials. @@ -6853,8 +6892,8 @@ -- Function: void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t SC, gnutls_x509_crt_t ** - X509_CA_LIST, unsigned int * NCAS) - SC: is a `gnutls_certificate_credentials_t' structure. + X509_CA_LIST, unsigned int* NCAS) + SC: is an `gnutls_certificate_credentials_t' structure. X509_CA_LIST: will point to the CA list. Should be treated as constant @@ -6871,8 +6910,8 @@ -- Function: void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t SC, gnutls_x509_crl_t ** - X509_CRL_LIST, unsigned int * NCRLS) - SC: is a `gnutls_certificate_credentials_t' structure. + X509_CRL_LIST, unsigned int* NCRLS) + SC: is an `gnutls_certificate_credentials_t' structure. X509_CRL_LIST: the exported CRL list. Should be treated as constant @@ -6906,7 +6945,7 @@ -- Function: void gnutls_certificate_server_set_request (gnutls_session_t SESSION, gnutls_certificate_request_t REQ) - SESSION: is a `gnutls_session_t' structure. + SESSION: is an `gnutls_session_t' structure. REQ: is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE @@ -6949,11 +6988,11 @@ DH_PARAMS) RES: is a gnutls_certificate_credentials_t structure - DH_PARAMS: is a structure that holds Diffie-Hellman parameters. + DH_PARAMS: is a structure that holds diffie hellman parameters. - This function will set the Diffie-Hellman parameters for a + This function will set the diffie hellman parameters for a certificate server to use. These parameters will be used in - Ephemeral Diffie-Hellman cipher suites. Note that only a pointer + Ephemeral Diffie Hellman cipher suites. Note that only a pointer to the parameters are stored in the certificate handle, so if you deallocate the parameters before the certificate is deallocated, you must change the parameters stored in the certificate first. @@ -6969,7 +7008,7 @@ FUNC: is the function to be called This function will set a callback in order for the server to get - the Diffie-Hellman or RSA parameters for certificate + the diffie hellman or RSA parameters for certificate authentication. The callback should return zero on success. gnutls_certificate_set_rsa_export_params @@ -7024,7 +7063,7 @@ -- Function: int gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t RES, const char * CRLFILE, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CRLFILE: is a file containing the list of verified CRLs (DER or PEM list) @@ -7045,7 +7084,7 @@ -- Function: int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t RES, const gnutls_datum_t * CRL, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CRL: is a list of trusted CRLs. They should have been verified before. @@ -7066,7 +7105,7 @@ -- Function: int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t RES, gnutls_x509_crl_t * CRL_LIST, int CRL_LIST_SIZE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CRL_LIST: is a list of trusted CRLs. They should have been verified before. @@ -7089,7 +7128,7 @@ -- Function: int gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t RES, const char * CERTFILE, const char * KEYFILE, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CERTFILE: is a file that containing the certificate list (path) for the specified private key, in PKCS7 format, or a list of @@ -7115,7 +7154,7 @@ -- Function: int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t RES, const gnutls_datum_t * CERT, const gnutls_datum_t * KEY, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CERT: contains a certificate list (path) for the specified private key @@ -7154,7 +7193,7 @@ -- Function: int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t RES, gnutls_x509_crt_t * CERT_LIST, int CERT_LIST_SIZE, gnutls_x509_privkey_t KEY) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CERT_LIST: contains a certificate list (path) for the specified private key @@ -7178,7 +7217,7 @@ -- Function: int gnutls_certificate_set_x509_simple_pkcs12_file (gnutls_certificate_credentials_t RES, const char * PKCS12FILE, gnutls_x509_crt_fmt_t TYPE, const char * PASSWORD) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. PKCS12FILE: filename of file containing PKCS`12' blob. @@ -7212,55 +7251,13 @@ *Returns:* `GNUTLS_E_SUCCESS' on success, or an error code. -gnutls_certificate_set_x509_simple_pkcs12_mem ---------------------------------------------- - - -- Function: int gnutls_certificate_set_x509_simple_pkcs12_mem - (gnutls_certificate_credentials_t RES, const gnutls_datum * - P12BLOB, gnutls_x509_crt_fmt_t TYPE, const char * PASSWORD) - RES: is a `gnutls_certificate_credentials_t' structure. - - P12BLOB: the PKCS`12' blob. - - TYPE: is PEM or DER of the `pkcs12file'. - - PASSWORD: optional password used to decrypt PKCS`12' file, bags - and keys. - - This function sets a certificate/private key pair and/or a CRL in - the gnutls_certificate_credentials_t structure. This function may - be called more than once (in case multiple keys/certificates exist - for the server). - - *MAC:* ed PKCS`12' files are supported. Encrypted PKCS`12' bags - are supported. Encrypted PKCS`8' private keys are supported. - However, only password based security, and the same password for - all operations, are supported. - - The private keys may be RSA PKCS`1' or DSA private keys encoded in - the OpenSSL way. - - PKCS`12' file may contain many keys and/or certificates, and there - is no way to identify which key/certificate pair you want. You - should make sure the PKCS`12' file only contain one key/certificate - pair and/or one CRL. - - It is believed that the limitations of this function is acceptable - for most usage, and that any more flexibility would introduce - complexity that would make it harder to use this functionality at - all. - - *Returns:* `GNUTLS_E_SUCCESS' on success, or an error code. - - *Since:* 2.8.0 - gnutls_certificate_set_x509_trust_file -------------------------------------- -- Function: int gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t RES, const char * CAFILE, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CAFILE: is a file containing the list of trusted CAs (DER or PEM list) @@ -7286,7 +7283,7 @@ -- Function: int gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t RES, const gnutls_datum_t * CA, gnutls_x509_crt_fmt_t TYPE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CA: is a list of trusted CAs or a DER certificate @@ -7311,7 +7308,7 @@ -- Function: int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t RES, gnutls_x509_crt_t * CA_LIST, int CA_LIST_SIZE) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. CA_LIST: is a list of trusted CAs @@ -7335,13 +7332,13 @@ ------------------------------ -- Function: gnutls_certificate_type_t gnutls_certificate_type_get_id - (const char * NAME) + (const char* NAME) NAME: is a certificate type name The names are compared in a case insensitive way. - *Returns:* a `gnutls_certificate_type_t' for the specified in a - string certificate type, or `GNUTLS_CRT_UNKNOWN' on error. + *Returns:* an id of the specified in a string certificate type, or + `GNUTLS_CRT_UNKNOWN' on error. gnutls_certificate_type_get_name -------------------------------- @@ -7418,8 +7415,8 @@ Note that you must also check the peer's name in order to check if the verified certificate belongs to the actual peer. - This function uses `gnutls_x509_crt_list_verify()' with the CAs in - the credentials as trusted CAs. + This is the same as `gnutls_x509_crt_list_verify()' and uses the + loaded CAs in the credentials as trusted CAs. Note that some commonly used X.509 Certificate Authorities are still using Version 1 certificates. If you want to accept them, @@ -7440,10 +7437,11 @@ the peer's name in order to check if the verified certificate belongs to the actual peer. - This function uses `gnutls_x509_crt_list_verify()'. + The return value should be one or more of the + gnutls_certificate_status_t enumerated elements bitwise or'd, or a + negative value on error. - *Returns:* one or more of the `gnutls_certificate_status_t' - enumerated elements bitwise or'd, or a negative value on error. + This is the same as `gnutls_x509_crt_list_verify()'. *Deprecated:* Use `gnutls_certificate_verify_peers2()' instead. @@ -7452,25 +7450,25 @@ -- Function: const char * gnutls_check_version (const char * REQ_VERSION) - REQ_VERSION: version string to compare with, or `NULL'. - - Check GnuTLS Library version. - - See `GNUTLS_VERSION' for a suitable `req_version' string. + REQ_VERSION: the version to check - *Return value:* Check that the version of the library is at - minimum the one given as a string in `req_version' and return the - actual version string of the library; return `NULL' if the - condition is not met. If `NULL' is passed to this function no - check is done and only the version string is returned. + Check that the version of the library is at minimum the requested + one and return the version string; return NULL if the condition is + not satisfied. If a NULL is passed to this function, no check is + done, but the version string is simply returned. + + See `LIBGNUTLS_VERSION' for a suitable `req_version' string. + + *Return value:* Version string of run-time library, or NULL if the + run-time library does not meet the required version number. If + `NULL' is passed to this function no check is done and only the + version string is returned. gnutls_cipher_get_id -------------------- -- Function: gnutls_cipher_algorithm_t gnutls_cipher_get_id (const - char * NAME) - NAME: is a MAC algorithm name - + char* NAME) The names are compared in a case insensitive way. *Returns:* return a `gnutls_cipher_algorithm_t' value @@ -7510,8 +7508,8 @@ Get currently used cipher. - *Returns:* the currently used cipher, a `gnutls_cipher_algorithm_t' - type. + *Returns:* the currently used cipher, an + `gnutls_cipher_algorithm_t' type. gnutls_cipher_list ------------------ @@ -7596,9 +7594,7 @@ ------------------------- -- Function: gnutls_compression_method_t gnutls_compression_get_id - (const char * NAME) - NAME: is a compression method name - + (const char* NAME) The names are compared in a case insensitive way. *Returns:* an id of the specified in a string compression method, @@ -7683,260 +7679,78 @@ CRED: is a pointer to a structure. Sets the needed credentials for the specified type. Eg username, - password - or public and private keys etc. The `cred' parameter is - a structure that depends on the specified type and on the current - session (client or server). - - In order to minimize memory usage, and share credentials between - several threads gnutls keeps a pointer to cred, and not the whole - cred structure. Thus you will have to keep the structure allocated - until you call `gnutls_deinit()'. - - For `GNUTLS_CRD_ANON', `cred' should be - `gnutls_anon_client_credentials_t' in case of a client. In case of - a server it should be `gnutls_anon_server_credentials_t'. - - For `GNUTLS_CRD_SRP', `cred' should be - `gnutls_srp_client_credentials_t' in case of a client, and - `gnutls_srp_server_credentials_t', in case of a server. - - For `GNUTLS_CRD_CERTIFICATE', `cred' should be - `gnutls_certificate_credentials_t'. - - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - -gnutls_crypto_bigint_register2 ------------------------------- - - -- Function: int gnutls_crypto_bigint_register2 (int PRIORITY, int - VERSION, gnutls_crypto_bigint_st * S) - PRIORITY: is the priority of the interface - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - - S: is a structure holding new interface's data - - This function will register an interface for gnutls to operate on - big integers. Any interface registered will override the included - interface. The interface with the lowest priority will be used by - gnutls. - - Note that the bigint interface must interoperate with the public - key interface. Thus if this interface is updated the - `gnutls_crypto_pk_register()' should also be used. - - This function should be called before `gnutls_global_init()'. - - For simplicity you can use the convenience - `gnutls_crypto_bigint_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_cipher_register2 ------------------------------- - - -- Function: int gnutls_crypto_cipher_register2 (int PRIORITY, int - VERSION, gnutls_crypto_cipher_st * S) - PRIORITY: is the priority of the cipher interface - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - - S: is a structure holding new interface's data - - This function will register a cipher interface to be used by - gnutls. Any interface registered will override the included engine - and by convention kernel implemented interfaces should have - priority of 90. The interface with the lowest priority will be used - by gnutls. - - This function should be called before `gnutls_global_init()'. - - For simplicity you can use the convenience - `gnutls_crypto_cipher_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_digest_register2 ------------------------------- - - -- Function: int gnutls_crypto_digest_register2 (int PRIORITY, int - VERSION, gnutls_crypto_digest_st * S) - PRIORITY: is the priority of the digest interface - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - - S: is a structure holding new interface's data - - This function will register a digest interface to be used by - gnutls. Any interface registered will override the included engine - and by convention kernel implemented interfaces should have - priority of 90. The interface with the lowest priority will be used - by gnutls. - - This function should be called before `gnutls_global_init()'. - - For simplicity you can use the convenience - `gnutls_crypto_digest_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_mac_register2 ---------------------------- - - -- Function: int gnutls_crypto_mac_register2 (int PRIORITY, int - VERSION, gnutls_crypto_mac_st * S) - PRIORITY: is the priority of the mac interface - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - - S: is a structure holding new interface's data - - This function will register a mac interface to be used by gnutls. - Any interface registered will override the included engine and by - convention kernel implemented interfaces should have priority of - 90. The interface with the lowest priority will be used by gnutls. - - This function should be called before `gnutls_global_init()'. - - For simplicity you can use the convenience - `gnutls_crypto_mac_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_pk_register2 --------------------------- - - -- Function: int gnutls_crypto_pk_register2 (int PRIORITY, int - VERSION, gnutls_crypto_pk_st * S) - PRIORITY: is the priority of the interface - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - - S: is a structure holding new interface's data - - This function will register an interface for gnutls to operate on - public key operations. Any interface registered will override the - included interface. The interface with the lowest priority will be - used by gnutls. - - Note that the bigint interface must interoperate with the bigint - interface. Thus if this interface is updated the - `gnutls_crypto_bigint_register()' should also be used. - - This function should be called before `gnutls_global_init()'. - - For simplicity you can use the convenience - `gnutls_crypto_pk_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_rnd_register2 ---------------------------- - - -- Function: int gnutls_crypto_rnd_register2 (int PRIORITY, int - VERSION, gnutls_crypto_rnd_st * S) - PRIORITY: is the priority of the generator - - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' + password - or public and private keys etc. The (void* cred) + parameter is a structure that depends on the specified type and on + the current session (client or server). [ In order to minimize + memory usage, and share credentials between several threads gnutls + keeps a pointer to cred, and not the whole cred structure. Thus + you will have to keep the structure allocated until you call + `gnutls_deinit()'. ] + + For GNUTLS_CRD_ANON cred should be + gnutls_anon_client_credentials_t in case of a client. In case of + a server it should be gnutls_anon_server_credentials_t. + + For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t + in case of a client, and gnutls_srp_server_credentials_t, in case + of a server. - S: is a structure holding new generator's data - - This function will register a random generator to be used by - gnutls. Any generator registered will override the included - generator and by convention kernel implemented generators have - priority of 90. The generator with the lowest priority will be - used by gnutls. - - This function should be called before `gnutls_global_init()'. + For GNUTLS_CRD_CERTIFICATE cred should be + gnutls_certificate_credentials_t. - For simplicity you can use the convenience - `gnutls_crypto_rnd_register()' macro. - - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - - *Since:* 2.6.0 - -gnutls_crypto_single_cipher_register2 -------------------------------------- +gnutls_crypto_cipher_register +----------------------------- - -- Function: int gnutls_crypto_single_cipher_register2 - (gnutls_cipher_algorithm_t ALGORITHM, int PRIORITY, int - VERSION, gnutls_crypto_single_cipher_st * S) + -- Function: int gnutls_crypto_cipher_register + (gnutls_cipher_algorithm_t ALGORITHM, int PRIORITY, + gnutls_crypto_cipher_st* S) ALGORITHM: is the gnutls algorithm identifier PRIORITY: is the priority of the algorithm - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - S: is a structure holding new cipher's data This function will register a cipher algorithm to be used by - gnutls. Any algorithm registered will override the included + gnutls. Any algorithm registered will override the included algorithms and by convention kernel implemented algorithms have - priority of 90. The algorithm with the lowest priority will be + priority of 90. The algorithm with the lowest priority will be used by gnutls. This function should be called before `gnutls_global_init()'. - For simplicity you can use the convenience - `gnutls_crypto_single_cipher_register()' macro. - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - *Since:* 2.6.0 - -gnutls_crypto_single_digest_register2 -------------------------------------- +gnutls_crypto_digest_register +----------------------------- - -- Function: int gnutls_crypto_single_digest_register2 - (gnutls_digest_algorithm_t ALGORITHM, int PRIORITY, int - VERSION, gnutls_crypto_single_digest_st * S) + -- Function: int gnutls_crypto_digest_register + (gnutls_digest_algorithm_t ALGORITHM, int PRIORITY, + gnutls_crypto_digest_st* S) ALGORITHM: is the gnutls algorithm identifier PRIORITY: is the priority of the algorithm - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - S: is a structure holding new algorithms's data - This function will register a digest (hash) algorithm to be used by - gnutls. Any algorithm registered will override the included + This function will register a digest (hash) algorithm to be used + by gnutls. Any algorithm registered will override the included algorithms and by convention kernel implemented algorithms have - priority of 90. The algorithm with the lowest priority will be + priority of 90. The algorithm with the lowest priority will be used by gnutls. This function should be called before `gnutls_global_init()'. - For simplicity you can use the convenience - `gnutls_crypto_single_digest_register()' macro. - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - *Since:* 2.6.0 - -gnutls_crypto_single_mac_register2 ----------------------------------- +gnutls_crypto_mac_register +-------------------------- - -- Function: int gnutls_crypto_single_mac_register2 - (gnutls_mac_algorithm_t ALGORITHM, int PRIORITY, int VERSION, - gnutls_crypto_single_mac_st * S) + -- Function: int gnutls_crypto_mac_register (gnutls_mac_algorithm_t + ALGORITHM, int PRIORITY, gnutls_crypto_mac_st* S) ALGORITHM: is the gnutls algorithm identifier PRIORITY: is the priority of the algorithm - VERSION: should be set to `GNUTLS_CRYPTO_API_VERSION' - S: is a structure holding new algorithms's data This function will register a MAC algorithm to be used by gnutls. @@ -7946,12 +7760,26 @@ This function should be called before `gnutls_global_init()'. - For simplicity you can use the convenience - `gnutls_crypto_single_mac_register()' macro. - *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. - *Since:* 2.6.0 +gnutls_crypto_rnd_register +-------------------------- + + -- Function: int gnutls_crypto_rnd_register (int PRIORITY, + gnutls_crypto_rnd_st* S) + PRIORITY: is the priority of the generator + + S: is a structure holding new generator's data + + This function will register a random generator to be used by + gnutls. Any generator registered will override the included + generator and by convention kernel implemented generators have + priority of 90. The generator with the lowest priority will be + used by gnutls. + + This function should be called before `gnutls_global_init()'. + + *Returns:* `GNUTLS_E_SUCCESS' on success, otherwise an error. gnutls_db_check_entry --------------------- @@ -8090,9 +7918,9 @@ RAW_PRIME: will hold the prime. This function will return the group parameters used in the last - Diffie-Hellman authentication with the peer. These are the prime + Diffie Hellman authentication with the peer. These are the prime and the generator used. This function should be used for both - anonymous and ephemeral Diffie-Hellman. The output parameters must + anonymous and ephemeral diffie Hellman. The output parameters must be freed with `gnutls_free()'. *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, @@ -8106,9 +7934,9 @@ SESSION: is a gnutls session Get the Diffie-Hellman public key bit size. Can be used for both - anonymous and ephemeral Diffie-Hellman. + anonymous and ephemeral diffie Hellman. - *Returns:* the public key bit size used in the last Diffie-Hellman + *Returns:* the public key bit size used in the last Diffie Hellman authentication with the peer, or a negative value in case of error. gnutls_dh_get_prime_bits @@ -8118,14 +7946,11 @@ SESSION: is a gnutls session This function will return the bits of the prime used in the last - Diffie-Hellman authentication with the peer. Should be used for - both anonymous and ephemeral Diffie-Hellman. Note that some - ciphers, like RSA and DSA without DHE, does not use a - Diffie-Hellman exchange, and then this function will return 0. - - *Returns:* The Diffie-Hellman bit strength is returned, or 0 if no - Diffie-Hellman exchange was done, or a negative error code on - failure. + Diffie Hellman authentication with the peer. Should be used for + both anonymous and ephemeral diffie Hellman. + + *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, + otherwise an error code is returned. gnutls_dh_get_pubkey -------------------- @@ -8137,9 +7962,9 @@ RAW_KEY: will hold the public key. This function will return the peer's public key used in the last - Diffie-Hellman authentication. This function should be used for - both anonymous and ephemeral Diffie-Hellman. The output parameters - must be freed with `gnutls_free()'. + Diffie Hellman authentication. This function should be used for + both anonymous and ephemeral diffie Hellman. The output + parameters must be freed with `gnutls_free()'. *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, otherwise an error code is returned. @@ -8150,9 +7975,9 @@ -- Function: int gnutls_dh_get_secret_bits (gnutls_session_t SESSION) SESSION: is a gnutls session - This function will return the bits used in the last Diffie-Hellman + This function will return the bits used in the last Diffie Hellman authentication with the peer. Should be used for both anonymous - and ephemeral Diffie-Hellman. + and ephemeral diffie Hellman. *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, otherwise an error code is returned. @@ -8169,9 +7994,6 @@ This function will copy the DH parameters structure from source to destination. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_dh_params_deinit ----------------------- @@ -8205,8 +8027,8 @@ If the structure is PEM encoded, it will have a header of "BEGIN DH PARAMETERS". - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + In case of failure a negative value will be returned, and 0 on + success. gnutls_dh_params_export_raw --------------------------- @@ -8223,13 +8045,10 @@ BITS: if non null will hold is the prime's number of bits This function will export the pair of prime and generator for use - in the Diffie-Hellman key exchange. The new parameters will be + in the Diffie-Hellman key exchange. The new parameters will be allocated using `gnutls_malloc()' and will be stored in the appropriate datum. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_dh_params_generate2 -------------------------- @@ -8249,9 +8068,6 @@ Since clients use the parameters sent by the server, it's of no use to call this in client side. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_dh_params_import_pkcs3 ----------------------------- @@ -8271,8 +8087,8 @@ If the structure is PEM encoded, it should have a header of "BEGIN DH PARAMETERS". - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + In case of failure a negative value will be returned, and 0 on + success. gnutls_dh_params_import_raw --------------------------- @@ -8287,12 +8103,9 @@ GENERATOR: holds the new generator This function will replace the pair of prime and generator for use - in the Diffie-Hellman key exchange. The new parameters should be + in the Diffie-Hellman key exchange. The new parameters should be stored in the appropriate gnutls_datum. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_dh_params_init --------------------- @@ -8301,9 +8114,6 @@ This function will initialize the DH parameters structure. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_dh_set_prime_bits ------------------------ @@ -8313,7 +8123,7 @@ BITS: is the number of bits - This function sets the number of bits, for use in an Diffie-Hellman + This function sets the number of bits, for use in an Diffie Hellman key exchange. This is used both in DH ephemeral and DH anonymous cipher suites. This will set the minimum size of the prime that will be used for the handshake. @@ -8322,25 +8132,23 @@ a server sends a prime with less bits than that `GNUTLS_E_DH_PRIME_UNACCEPTABLE' will be returned by the handshake. - This function has no effect in server side. - gnutls_error_is_fatal --------------------- -- Function: int gnutls_error_is_fatal (int ERROR) - ERROR: is a GnuTLS error code, a negative value - - If a GnuTLS function returns a negative value you may feed that - value to this function to see if the error condition is fatal. + ERROR: is an error returned by a gnutls function. Error should be + a negative value. - Note that you may want to check the error code manually, since some - non-fatal errors to the protocol may be fatal for you program. + If a function returns a negative value you may feed that value to + this function to see if it is fatal. Returns 1 for a fatal error 0 + otherwise. However you may want to check the error code manually, + since some non-fatal errors to the protocol may be fatal for you + (your program). - This function is only useful if you are dealing with errors from - the record layer or the handshake layer. + This is only useful if you are dealing with errors from the record + layer or the handshake layer. - *Returns:* 1 if the error code is fatal, for positive `error' - values, 0 is returned. For unknown `error' values, -1 is returned. + For positive `error' values, 0 is returned. gnutls_error_to_alert --------------------- @@ -8361,28 +8169,6 @@ *Returns:* the alert code to use for a particular error code. -gnutls_ext_register -------------------- - - -- Function: int gnutls_ext_register (int TYPE, const char * NAME, - gnutls_ext_parse_type_t PARSE_TYPE, gnutls_ext_recv_func - RECV_FUNC, gnutls_ext_send_func SEND_FUNC) - TYPE: the 16-bit integer referring to the extension type - - NAME: human printable name of the extension used for debugging - - PARSE_TYPE: either `GNUTLS_EXT_TLS' or `GNUTLS_EXT_APPLICATION'. - - RECV_FUNC: a function to receive extension data - - SEND_FUNC: a function to send extension data - - This function is used to register a new TLS extension handler. - - *Returns:* `GNUTLS_E_SUCCESS' on success, or an error code. - - *Since:* 2.6.0 - gnutls_fingerprint ------------------ @@ -8470,7 +8256,7 @@ LOG_FUNC: it's a log function This is the function where you set the logging function gnutls is - going to use. This function only accepts a character array. + going to use. This function only accepts a character array. Normally you may not use this function since it is only used for debugging purposes. @@ -8484,8 +8270,8 @@ LEVEL: it's an integer from 0 to 9. This is the function that allows you to set the log level. The - level is an integer between 0 and 9. Higher values mean more - verbosity. The default value is 0. Larger values should only be + level is an integer between 0 and 9. Higher values mean more + verbosity. The default value is 0. Larger values should only be used with care, since they may reveal sensitive information. Use a log level over 10 to enable all debugging options. @@ -8520,7 +8306,7 @@ defaults (ie the gcrypt allocation functions). This function must be called before `gnutls_global_init()' is - called. This function is not thread safe. + called. gnutls_handshake_get_last_in ---------------------------- @@ -8580,8 +8366,6 @@ -- Function: void gnutls_handshake_set_post_client_hello_function (gnutls_session_t SESSION, gnutls_handshake_post_client_hello_func FUNC) - SESSION: is a `gnutls_session_t' structure. - FUNC: is the function to be called This function will set a callback to be called after the client @@ -8726,9 +8510,7 @@ gnutls_kx_get_id ---------------- - -- Function: gnutls_kx_algorithm_t gnutls_kx_get_id (const char * NAME) - NAME: is a KX name - + -- Function: gnutls_kx_algorithm_t gnutls_kx_get_id (const char* NAME) Convert a string to a `gnutls_kx_algorithm_t' value. The names are compared in a case insensitive way. @@ -8789,15 +8571,13 @@ gnutls_mac_get_id ----------------- - -- Function: gnutls_mac_algorithm_t gnutls_mac_get_id (const char * + -- Function: gnutls_mac_algorithm_t gnutls_mac_get_id (const char* NAME) - NAME: is a MAC algorithm name - Convert a string to a `gnutls_mac_algorithm_t' value. The names are compared in a case insensitive way. - *Returns:* a `gnutls_mac_algorithm_t' id of the specified MAC - algorithm string, or `GNUTLS_MAC_UNKNOWN' on failures. + *Returns:* an `gnutls_mac_algorithm_tid' of the specified in a + string MAC algorithm, or `GNUTLS_MAC_UNKNOWN' on failures. gnutls_mac_get_key_size ----------------------- @@ -9028,7 +8808,8 @@ ------------- -- Function: void gnutls_perror (int ERROR) - ERROR: is a GnuTLS error code, a negative value + ERROR: is an error returned by a gnutls function. Error is always + a negative value. This function is like `perror()'. The only difference is that it accepts an error number returned by a gnutls function. @@ -9045,46 +8826,6 @@ *Returns:* a string that contains the name of the specified public key algorithm, or `NULL'. -gnutls_pk_get_id ----------------- - - -- Function: gnutls_pk_algorithm_t gnutls_pk_get_id (const char * NAME) - NAME: is a string containing a public key algorithm name. - - Convert a string to a `gnutls_pk_algorithm_t' value. The names are - compared in a case insensitive way. For example, - gnutls_pk_get_id("RSA") will return `GNUTLS_PK_RSA'. - - *Returns:* a `gnutls_pk_algorithm_t' id of the specified public key - algorithm string, or `GNUTLS_PK_UNKNOWN' on failures. - - *Since:* 2.6.0 - -gnutls_pk_get_name ------------------- - - -- Function: const char * gnutls_pk_get_name (gnutls_pk_algorithm_t - ALGORITHM) - ALGORITHM: is a public key algorithm - - Convert a `gnutls_pk_algorithm_t' value to a string. - - *Returns:* a pointer to a string that contains the name of the - specified public key algorithm, or `NULL'. - - *Since:* 2.6.0 - -gnutls_pk_list --------------- - - -- Function: const gnutls_pk_algorithm_t * gnutls_pk_list ( VOID) - Get a list of supported public key algorithms. - - *Returns:* a zero-terminated list of `gnutls_pk_algorithm_t' - integers indicating the available ciphers. - - *Since:* 2.6.0 - gnutls_prf_raw -------------- @@ -9195,74 +8936,58 @@ The `priorities' option allows you to specify a semi-colon separated list of the cipher priorities to enable. - Unless the first keyword is "NONE" the defaults (in preference - order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for - compression NULL; for certificate types X.509, OpenPGP. + Unless the first keyword is "NONE" the defaults are: - For key exchange algorithms when in NORMAL or SECURE levels the - perfect forward secrecy algorithms take precendence of the other - protocols. In all cases all the supported key exchange algorithms - are enabled (except for the RSA-EXPORT which is only enabled in - EXPORT level). + *Protocols:* TLS1.1, TLS1.0, and SSL3.0. - Note that although one can select very long key sizes (such as 256 - bits) for symmetric algorithms, to actually increase security the - public key algorithms have to use longer key sizes as well. - - For all the current available algorithms and protocols use - "gnutls-cli -l" to get a listing. + *Compression:* NULL. - *Common keywords:* Some keywords are defined to provide quick - access to common preferences. + *Certificate types:* X.509, OpenPGP. - "PERFORMANCE" means all the "secure" ciphersuites are enabled, - limited to 128 bit ciphers and sorted by terms of speed - performance. + *You can also use predefined sets of ciphersuites:* "PERFORMANCE" + all the "secure" ciphersuites are enabled, limited to 128 bit + ciphers and sorted by terms of speed performance. - "NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are - included as a fallback only. The ciphers are sorted by security - margin. + "NORMAL" option enables all "secure" ciphersuites. The 256-bit + ciphers are included as a fallback only. The ciphers are sorted by + security margin. - "SECURE128" means all "secure" ciphersuites with ciphers up to 128 - bits, sorted by security margin. + "SECURE128" flag enables all "secure" ciphersuites with ciphers up + to 128 bits, sorted by security margin. - "SECURE256" means all "secure" ciphersuites including the 256 bit - ciphers, sorted by security margin. + "SECURE256" flag enables all "secure" ciphersuites including the + 256 bit ciphers, sorted by security margin. - "EXPORT" means all ciphersuites are enabled, including the + "EXPORT" all the ciphersuites are enabled, including the low-security 40 bit ciphers. - "NONE" means nothing is enabled. This disables even protocols and + "NONE" nothing is enabled. This disables even protocols and compression methods. - *Special keywords:* "!" or "-" appended with an algorithm will - remove this algorithm. - - "+" appended with an algorithm will add this algorithm. - - "%COMPAT" will enable compatibility features for a server. - - "%SSL3_RECORD_VERSION" will use SSL3.0 record version in client - hello. - - "%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in - certificate chains. + *Special keywords:* '!' or '-' appended with an algorithm will + remove this algorithm. '+' appended with an algorithm will add + this algorithm. '`COMPAT'' will enable compatibility features for + a server. + + To avoid collisions in order to specify a compression algorithm in + this string you have to prefix it with "COMP-", protocol versions + with "VERS-" and certificate types with "CTYPE-". All other + algorithms don't need a prefix. - "%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. - - *Namespace concern:* To avoid collisions in order to specify a - compression algorithm in this string you have to prefix it with - "COMP-", protocol versions with "VERS-" and certificate types with - "CTYPE-". All other algorithms don't need a prefix. - - *Examples:* "NORMAL:!AES-128-CBC" means normal ciphers except for - AES-128. + For key exchange algorithms when in NORMAL or SECURE levels the + perfect forward secrecy algorithms take precendence of the other + protocols. In all cases all the supported key exchange algorithms + are enabled (except for the RSA-EXPORT which is only enabled in + EXPORT level). - "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are - enabled, TLS 1.0 is disabled, and libz compression enabled. + Note that although one can select very long key sizes (such as 256 + bits) for symmetric algorithms, to actually increase security the + public key algorithms have to use longer key sizes as well. + *Examples:* "NORMAL:!AES-128-CBC", + "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", - "%COMPAT". + "NORMAL:`COMPAT'". *Returns:* On syntax error `GNUTLS_E_INVALID_REQUEST' is returned, `GNUTLS_E_SUCCESS' on success, or an error code. @@ -9280,7 +9005,7 @@ string the error occured Sets the priorities to use on the ciphers, key exchange methods, - macs and compression methods. This function avoids keeping a + macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the `gnutls_priority_init()'. @@ -9304,10 +9029,8 @@ gnutls_protocol_get_id ---------------------- - -- Function: gnutls_protocol_t gnutls_protocol_get_id (const char * + -- Function: gnutls_protocol_t gnutls_protocol_get_id (const char* NAME) - NAME: is a protocol name - The names are compared in a case insensitive way. *Returns:* an id of the specified protocol, or @@ -9365,7 +9088,7 @@ -- Function: int gnutls_psk_allocate_client_credentials (gnutls_psk_client_credentials_t * SC) - SC: is a pointer to a `gnutls_psk_server_credentials_t' structure. + SC: is a pointer to an `gnutls_psk_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -9377,7 +9100,7 @@ -- Function: int gnutls_psk_allocate_server_credentials (gnutls_psk_server_credentials_t * SC) - SC: is a pointer to a `gnutls_psk_server_credentials_t' structure. + SC: is a pointer to an `gnutls_psk_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -9405,7 +9128,7 @@ -- Function: void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t SC) - SC: is a `gnutls_psk_client_credentials_t' structure. + SC: is an `gnutls_psk_client_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -9415,7 +9138,7 @@ -- Function: void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t SC) - SC: is a `gnutls_psk_server_credentials_t' structure. + SC: is an `gnutls_psk_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -9484,7 +9207,7 @@ -- Function: int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t RES, const char * USERNAME, const gnutls_datum_t * KEY, gnutls_psk_key_flags FLAGS) - RES: is a `gnutls_psk_client_credentials_t' structure. + RES: is an `gnutls_psk_client_credentials_t' structure. USERNAME: is the user's zero-terminated userid @@ -9510,7 +9233,7 @@ FUNC: is the function to be called This function will set a callback in order for the server to get - the Diffie-Hellman or RSA parameters for psk authentication. The + the diffie hellman or RSA parameters for psk authentication. The callback should return zero on success. gnutls_psk_set_server_credentials_file @@ -9519,7 +9242,7 @@ -- Function: int gnutls_psk_set_server_credentials_file (gnutls_psk_server_credentials_t RES, const char * PASSWORD_FILE) - RES: is a `gnutls_psk_server_credentials_t' structure. + RES: is an `gnutls_psk_server_credentials_t' structure. PASSWORD_FILE: is the PSK password file (passwd.psk) @@ -9559,7 +9282,7 @@ -- Function: int gnutls_psk_set_server_credentials_hint (gnutls_psk_server_credentials_t RES, const char * HINT) - RES: is a `gnutls_psk_server_credentials_t' structure. + RES: is an `gnutls_psk_server_credentials_t' structure. HINT: is the PSK identity hint string @@ -9580,11 +9303,11 @@ DH_PARAMS) RES: is a gnutls_psk_server_credentials_t structure - DH_PARAMS: is a structure that holds Diffie-Hellman parameters. + DH_PARAMS: is a structure that holds diffie hellman parameters. - This function will set the Diffie-Hellman parameters for an - anonymous server to use. These parameters will be used in - Diffie-Hellman exchange with PSK cipher suites. + This function will set the diffie hellman parameters for an + anonymous server to use. These parameters will be used in Diffie + Hellman with PSK cipher suites. gnutls_psk_set_server_params_function ------------------------------------- @@ -9592,12 +9315,12 @@ -- Function: void gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t RES, gnutls_params_function * FUNC) - RES: is a `gnutls_certificate_credentials_t' structure + RES: is a gnutls_certificate_credentials_t structure FUNC: is the function to be called This function will set a callback in order for the server to get - the Diffie-Hellman parameters for PSK authentication. The callback + the diffie hellman parameters for PSK authentication. The callback should return zero on success. gnutls_record_check_pending @@ -9607,14 +9330,11 @@ SESSION) SESSION: is a `gnutls_session_t' structure. - This function checks if there are any data to receive in the gnutls - buffers. - - Notice that you may also use `select()' to check for data in a TCP - connection, instead of this function. GnuTLS leaves some data in - the tcp buffer in order for select to work. - - *Returns:* the size of that data or 0. + This function checks if there are any data to receive in the + gnutls buffers. Returns the size of that data or 0. Notice that + you may also use `select()' to check for data in a TCP connection, + instead of this function. (gnutls leaves some data in the tcp + buffer in order for select to work). gnutls_record_disable_padding ----------------------------- @@ -9658,10 +9378,9 @@ SESSION) SESSION: is a `gnutls_session_t' structure. - Get the record size. The maximum record size is negotiated by the - client after the first handshake message. - - *Returns:* The maximum record packet size in this connection. + This function returns the maximum record packet size in this + connection. The maximum record size is negotiated by the client + after the first handshake message. gnutls_record_recv ------------------ @@ -9674,15 +9393,15 @@ SIZEOFDATA: the number of requested bytes - This function has the similar semantics with `recv()'. The only - difference is that it accepts a GnuTLS session, and uses different + This function has the similar semantics with `recv()'. The only + difference is that is accepts a GNUTLS session, and uses different error codes. In the special case that a server requests a renegotiation, the client may receive an error code of `GNUTLS_E_REHANDSHAKE'. This - message may be simply ignored, replied with an alert - `GNUTLS_A_NO_RENEGOTIATION', or replied with a new handshake, - depending on the client's will. + message may be simply ignored, replied with an alert containing + NO_RENEGOTIATION, or replied with a new handshake, depending on + the client's will. If `EINTR' is returned by the internal push function (the default is `recv()') then `GNUTLS_E_INTERRUPTED' will be returned. If @@ -9709,8 +9428,8 @@ SIZEOFDATA: is the length of the data - This function has the similar semantics with `send()'. The only - difference is that it accepts a GnuTLS session, and uses different + This function has the similar semantics with `send()'. The only + difference is that is accepts a GNUTLS session, and uses different error codes. Note that if the send buffer is full, `send()' will block this @@ -9745,16 +9464,13 @@ may choose not to accept the requested size. Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and - 4096(=2^12). The requested record size does get in effect - immediately only while sending data. The receive part will take - effect after a successful handshake. + 4096(=2^12). Returns 0 on success. The requested record size does + get in effect immediately only while sending data. The receive + part will take effect after a successful handshake. This function uses a TLS extension called 'max record size'. Not all TLS implementations use or even understand this extension. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_rehandshake ------------------ @@ -9821,9 +9537,6 @@ This function will copy the RSA parameters structure from source to destination. - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. - gnutls_rsa_params_deinit ------------------------ @@ -9857,8 +9570,8 @@ If the structure is PEM encoded, it will have a header of "BEGIN RSA PRIVATE KEY". - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. + In case of failure a negative value will be returned, and 0 on + success. gnutls_rsa_params_export_raw ---------------------------- @@ -9887,9 +9600,6 @@ structure. The new parameters will be allocated using `gnutls_malloc()' and will be stored in the appropriate datum. - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. - gnutls_rsa_params_generate2 --------------------------- @@ -9908,9 +9618,6 @@ Clients use the parameters sent by the server, thus it's no use calling this in client side. - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. - gnutls_rsa_params_import_pkcs1 ------------------------------ @@ -9930,8 +9637,8 @@ If the structure is PEM encoded, it should have a header of "BEGIN RSA PRIVATE KEY". - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. + In case of failure a negative value will be returned, and 0 on + success. gnutls_rsa_params_import_raw ---------------------------- @@ -9958,9 +9665,6 @@ The new parameters should be stored in the appropriate gnutls_datum. - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. - gnutls_rsa_params_init ---------------------- @@ -9971,9 +9675,6 @@ This function will initialize the temporary RSA parameters structure. - *Returns:* `GNUTLS_E_SUCCESS' on success, or an negative error - code. - gnutls_server_name_get ---------------------- @@ -9991,9 +9692,9 @@ INDX: is the index of the server_name - This function will allow you to get the name indication (if any), a - client has sent. The name indication may be any of the enumeration - gnutls_server_name_type_t. + This function will allow you to get the name indication (if any), + a client has sent. The name indication may be any of the + enumeration gnutls_server_name_type_t. If `type' is GNUTLS_NAME_DNS, then this function is to be used by servers that support virtual hosting, and the data will be a null @@ -10004,13 +9705,10 @@ hold the required size. `index' is used to retrieve more than one server names (if sent by - the client). The first server name has an index of 0, the second 1 - and so on. If no name with the given index exists + the client). The first server name has an index of 0, the second + 1 and so on. If no name with the given index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_server_name_set ---------------------- @@ -10035,9 +9733,6 @@ the trailing dot, is expected. IPv4 or IPv6 addresses are not permitted. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_session_enable_compatibility_mode ---------------------------------------- @@ -10075,13 +9770,11 @@ gnutls_datum_t * DATA) SESSION: is a `gnutls_session_t' structure. - DATA: is a pointer to a datum that will hold the session. - Returns all session parameters, in order to support resuming. The - client should call this, and keep the returned session, if he wants - to resume that current version later by calling - `gnutls_session_set_data()'. This function must be called after a - successful handshake. The returned datum must be freed with + client should call this, and keep the returned session, if he + wants to resume that current version later by calling + `gnutls_session_set_data()' This function must be called after a + successful handshake. The returned datum must be freed with `gnutls_free()'. Resuming sessions is really useful and speedups connections after @@ -10219,34 +9912,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, otherwise an error code is returned. -gnutls_session_set_finished_function ------------------------------------- - - -- Function: void gnutls_session_set_finished_function - (gnutls_session_t SESSION, gnutls_finished_callback_func FUNC) - SESSION: is a `gnutls_session_t' structure. - - FUNC: a `gnutls_finished_callback_func' callback. - - Register a callback function for the session that will be called - when a TLS Finished message has been generated. The function is - typically used to copy away the TLS finished message for later use - as a channel binding or similar purpose. - - *The callback should follow this prototype:* void callback - (gnutls_session_t `session', const void *`finished', size_t `len'); - - The `finished' parameter will contain the binary TLS finished - message, and `len' will contains its length. For SSLv3 - connections, the `len' parameter will be 36 and for TLS - connections it will be 12. - - It is recommended that the function returns quickly in order to not - delay the handshake. Use the function to store a copy of the TLS - finished message for later use. - - *Since:* 2.6.0 - gnutls_session_set_ptr ---------------------- @@ -10307,8 +9972,6 @@ -- Function: const char * gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t SIGN) - SIGN: is a sign algorithm - Convert a `gnutls_sign_algorithm_t' value to a string. *Returns:* a string that contains the name of the specified sign @@ -10350,47 +10013,12 @@ can be used to store application-specific data needed in the callback function. See also `gnutls_sign_callback_get()'. -gnutls_sign_get_id ------------------- - - -- Function: gnutls_sign_algorithm_t gnutls_sign_get_id (const char * - NAME) - NAME: is a MAC algorithm name - - The names are compared in a case insensitive way. - - *Returns:* return a `gnutls_sign_algorithm_t' value corresponding - to the specified cipher, or `GNUTLS_SIGN_UNKNOWN' on error. - -gnutls_sign_get_name --------------------- - - -- Function: const char * gnutls_sign_get_name - (gnutls_sign_algorithm_t ALGORITHM) - ALGORITHM: is a public key signature algorithm - - Convert a `gnutls_sign_algorithm_t' value to a string. - - *Returns:* a pointer to a string that contains the name of the - specified public key signature algorithm, or `NULL'. - - *Since:* 2.6.0 - -gnutls_sign_list ----------------- - - -- Function: const gnutls_sign_algorithm_t * gnutls_sign_list ( VOID) - Get a list of supported public key signature algorithms. - - *Returns:* a zero-terminated list of `gnutls_sign_algorithm_t' - integers indicating the available ciphers. - gnutls_srp_allocate_client_credentials -------------------------------------- -- Function: int gnutls_srp_allocate_client_credentials (gnutls_srp_client_credentials_t * SC) - SC: is a pointer to a `gnutls_srp_server_credentials_t' structure. + SC: is a pointer to an `gnutls_srp_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -10403,7 +10031,7 @@ -- Function: int gnutls_srp_allocate_server_credentials (gnutls_srp_server_credentials_t * SC) - SC: is a pointer to a `gnutls_srp_server_credentials_t' structure. + SC: is a pointer to an `gnutls_srp_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -10501,7 +10129,7 @@ -- Function: void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t SC) - SC: is a `gnutls_srp_client_credentials_t' structure. + SC: is an `gnutls_srp_client_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -10511,7 +10139,7 @@ -- Function: void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t SC) - SC: is a `gnutls_srp_server_credentials_t' structure. + SC: is an `gnutls_srp_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -10566,7 +10194,7 @@ -- Function: int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t RES, const char * USERNAME, const char * PASSWORD) - RES: is a `gnutls_srp_client_credentials_t' structure. + RES: is an `gnutls_srp_client_credentials_t' structure. USERNAME: is the user's userid @@ -10581,34 +10209,13 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, or an error code. -gnutls_srp_set_prime_bits -------------------------- - - -- Function: void gnutls_srp_set_prime_bits (gnutls_session_t SESSION, - unsigned int BITS) - SESSION: is a `gnutls_session_t' structure. - - BITS: is the number of bits - - This function sets the minimum accepted number of bits, for use in - an SRP key exchange. If zero, the default 2048 bits will be used. - - In the client side it sets the minimum accepted number of bits. If - a server sends a prime with less bits than that - `GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER' will be returned by the - handshake. - - This function has no effect in server side. - - *Since:* 2.6.0 - gnutls_srp_set_server_credentials_file -------------------------------------- -- Function: int gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t RES, const char * PASSWORD_FILE, const char * PASSWORD_CONF_FILE) - RES: is a `gnutls_srp_server_credentials_t' structure. + RES: is an `gnutls_srp_server_credentials_t' structure. PASSWORD_FILE: is the SRP password file (tpasswd) @@ -10686,35 +10293,17 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' (0) is returned, or an error code. -gnutls_strerror_name --------------------- - - -- Function: const char * gnutls_strerror_name (int ERROR) - ERROR: is an error returned by a gnutls function. - - Return the GnuTLS error code define as a string. For example, - gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return - the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - - *Returns:* A string corresponding to the symbol name of the error - code. - - *Since:* 2.6.0 - gnutls_strerror --------------- -- Function: const char * gnutls_strerror (int ERROR) - ERROR: is a GnuTLS error code, a negative value + ERROR: is an error returned by a gnutls function. Error is always + a negative value. - This function is similar to `strerror()'. Differences: it accepts + This function is similar to `strerror()'. Differences: it accepts an error number returned by a gnutls function; In case of an unknown error a descriptive string is sent instead of NULL. - Error codes are always a negative value. - - *Returns:* A string explaining the GnuTLS error message. - gnutls_transport_get_ptr2 ------------------------- @@ -10845,9 +10434,10 @@ PULL_FUNC: a callback function similar to `read()' - This is the function where you set a function for gnutls to receive - data. Normally, if you use berkeley style sockets, do not need to - use this function since the default (recv(2)) will probably be ok. + This is the function where you set a function for gnutls to + receive data. Normally, if you use berkeley style sockets, do not + need to use this function since the default (recv(2)) will + probably be ok. PULL_FUNC is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); @@ -10862,9 +10452,9 @@ PUSH_FUNC: a callback function similar to `write()' This is the function where you set a push function for gnutls to - use in order to send data. If you are going to use berkeley style + use in order to send data. If you are going to use berkeley style sockets, you do not need to use this function since the default - (send(2)) will probably be ok. Otherwise you should specify this + (send(2)) will probably be ok. Otherwise you should specify this function for gnutls to be able to send data. PUSH_FUNC is of the form, ssize_t diff -Nru gnutls26-2.8.6/doc/gnutls.info-2 gnutls26-2.4.1/doc/gnutls.info-2 --- gnutls26-2.8.6/doc/gnutls.info-2 2010-03-15 10:35:26.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.info-2 2008-06-30 22:14:34.000000000 +0100 @@ -1,24 +1,25 @@ -This is gnutls.info, produced by makeinfo version 4.13 from gnutls.texi. +This is gnutls.info, produced by makeinfo version 4.11 from gnutls.texi. -This manual is last updated 2 June 2009 for version 2.8.6 of GNU TLS. +This manual is last updated 30 June 2008 for version 2.4.1 of GNU TLS. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software + Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Software libraries +INFO-DIR-SECTION GNU Libraries START-INFO-DIR-ENTRY -* GnuTLS: (gnutls). GNU Transport Layer Security Library. +* libgnutls: (gnutls). A Transport Layer Security Library. END-INFO-DIR-ENTRY -INFO-DIR-SECTION System Administration +INFO-DIR-SECTION Network Applications START-INFO-DIR-ENTRY +* GnuTLS: (gnutls). Package for Transport Layer Security. * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server. * gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client. @@ -43,14 +44,11 @@ const char * PASS) BAG: The bag - PASS: The password used for encryption, must be ASCII. + PASS: The password used for encryption. This can only be ASCII. This function will decrypt the given encrypted bag and return 0 on success. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_pkcs12_bag_deinit ------------------------ @@ -66,15 +64,12 @@ const char * PASS, unsigned int FLAGS) BAG: The bag - PASS: The password used for encryption, must be ASCII + PASS: The password used for encryption. This can only be ASCII. - FLAGS: should be one of `gnutls_pkcs_encrypt_flags_t' elements + FLAGS: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd - This function will encrypt the given bag. - - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + This function will encrypt the given bag and return 0 on success. gnutls_pkcs12_bag_get_count --------------------------- @@ -85,9 +80,6 @@ This function will return the number of the elements withing the bag. - *Returns:* Number of elements in bag, or an negative error code on - error. - gnutls_pkcs12_bag_get_data -------------------------- @@ -151,9 +143,8 @@ INDX: The element of the bag to get the type - This function will return the bag's type. - - *Returns:* One of the `gnutls_pkcs12_bag_type_t' enumerations. + This function will return the bag's type. One of the + gnutls_pkcs12_bag_type_t enumerations. gnutls_pkcs12_bag_init ---------------------- @@ -400,8 +391,6 @@ -- Function: int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t PKCS7, int INDX) - PKCS7: should contain a `gnutls_pkcs7_t' structure - INDX: the index of the crl to delete This function will delete a crl from a PKCS7 or RFC2630 crl set. @@ -415,8 +404,6 @@ -- Function: int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t PKCS7, int INDX) - PKCS7: should contain a gnutls_pkcs7_t structure - INDX: the index of the certificate to delete This function will delete a certificate from a PKCS7 or RFC2630 @@ -449,15 +436,13 @@ If the structure is PEM encoded, it will have a header of "BEGIN PKCS7". - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. + *Return value:* In case of failure a negative value will be + returned, and 0 on success. gnutls_pkcs7_get_crl_count -------------------------- -- Function: int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t PKCS7) - PKCS7: should contain a gnutls_pkcs7_t structure - This function will return the number of certifcates in the PKCS7 or RFC2630 crl set. @@ -469,8 +454,6 @@ -- Function: int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t PKCS7, int INDX, void * CRL, size_t * CRL_SIZE) - PKCS7: should contain a `gnutls_pkcs7_t' structure - INDX: contains the index of the crl to extract CRL: the contents of the crl will be copied there (may be null) @@ -489,8 +472,6 @@ -------------------------- -- Function: int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t PKCS7) - PKCS7: should contain a `gnutls_pkcs7_t' structure - This function will return the number of certifcates in the PKCS7 or RFC2630 certificate set. @@ -502,8 +483,6 @@ -- Function: int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t PKCS7, int INDX, void * CERTIFICATE, size_t * CERTIFICATE_SIZE) - PKCS7: should contain a gnutls_pkcs7_t structure - INDX: contains the index of the certificate to extract CERTIFICATE: the contents of the certificate will be copied there @@ -560,8 +539,6 @@ -- Function: int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t PKCS7, const gnutls_datum_t * CRL) - PKCS7: should contain a `gnutls_pkcs7_t' structure - CRL: the DER encoded crl to be added This function will add a crl to the PKCS7 or RFC2630 crl set. @@ -574,8 +551,6 @@ -- Function: int gnutls_pkcs7_set_crl (gnutls_pkcs7_t PKCS7, gnutls_x509_crl_t CRL) - PKCS7: should contain a `gnutls_pkcs7_t' structure - CRL: the DER encoded crl to be added This function will add a parsed CRL to the PKCS7 or RFC2630 crl @@ -589,8 +564,6 @@ -- Function: int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t PKCS7, const gnutls_datum_t * CRT) - PKCS7: should contain a `gnutls_pkcs7_t' structure - CRT: the DER encoded certificate to be added This function will add a certificate to the PKCS7 or RFC2630 @@ -604,8 +577,6 @@ -- Function: int gnutls_pkcs7_set_crt (gnutls_pkcs7_t PKCS7, gnutls_x509_crt_t CRT) - PKCS7: should contain a `gnutls_pkcs7_t' structure - CRT: the certificate to be copied. This function will add a parsed certificate to the PKCS7 or @@ -623,11 +594,10 @@ ISSUER: is the certificate of a possible issuer This function will check if the given CRL was issued by the given - issuer certificate. It will return true (1) if the given CRL was + issuer certificate. It will return true (1) if the given CRL was issued by the given issuer, and false (0) if not. - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. + A negative value is returned in case of an error. gnutls_x509_crl_deinit ---------------------- @@ -663,31 +633,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. and a negative value on failure. -gnutls_x509_crl_get_authority_key_id ------------------------------------- - - -- Function: int gnutls_x509_crl_get_authority_key_id - (gnutls_x509_crl_t CRL, void * RET, size_t * RET_SIZE, - unsigned int * CRITICAL) - CRL: should contain a `gnutls_x509_crl_t' structure - - RET: The place where the identifier will be copied - - RET_SIZE: Holds the size of the result field. - - CRITICAL: will be non zero if the extension is marked as critical - (may be null) - - This function will return the CRL authority's key identifier. This - is obtained by the X.509 Authority Key identifier extension field - (2.5.29.35). Note that this function only returns the - keyIdentifier field of the extension. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. - - *Since:* 2.8.0 - gnutls_x509_crl_get_crt_count ----------------------------- @@ -744,95 +689,6 @@ not long enough, and in that case the sizeof_oid will be updated with the required size. On success 0 is returned. -gnutls_x509_crl_get_extension_data ----------------------------------- - - -- Function: int gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t - CRL, int INDX, void * DATA, size_t * SIZEOF_DATA) - CRL: should contain a `gnutls_x509_crl_t' structure - - INDX: Specifies which extension OID to send. Use zero to get the - first one. - - DATA: a pointer to a structure to hold the data (may be null) - - SIZEOF_DATA: initially holds the size of `oid' - - This function will return the requested extension data in the CRL. - The extension data will be stored as a string in the provided - buffer. - - Use `gnutls_x509_crl_get_extension_info()' to extract the OID and - critical flag. Use `gnutls_x509_crl_get_extension_by_oid()' - instead, if you want to get data indexed by the extension OID - rather than sequence. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crl_get_extension_info ----------------------------------- - - -- Function: int gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t - CRL, int INDX, void * OID, size_t * SIZEOF_OID, int * - CRITICAL) - CRL: should contain a `gnutls_x509_crl_t' structure - - INDX: Specifies which extension OID to send, use zero to get the - first one. - - OID: a pointer to a structure to hold the OID - - SIZEOF_OID: initially holds the maximum size of `oid', on return - holds actual size of `oid'. - - CRITICAL: output variable with critical flag, may be NULL. - - This function will return the requested extension OID in the CRL, - and the critical flag for it. The extension OID will be stored as - a string in the provided buffer. Use - `gnutls_x509_crl_get_extension_data()' to extract the data. - - If the buffer provided is not long enough to hold the output, then - *`sizeof_oid' is updated and `GNUTLS_E_SHORT_MEMORY_BUFFER' will be - returned. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crl_get_extension_oid ---------------------------------- - - -- Function: int gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t - CRL, int INDX, void * OID, size_t * SIZEOF_OID) - CRL: should contain a `gnutls_x509_crl_t' structure - - INDX: Specifies which extension OID to send, use zero to get the - first one. - - OID: a pointer to a structure to hold the OID (may be null) - - SIZEOF_OID: initially holds the size of `oid' - - This function will return the requested extension OID in the CRL. - The extension OID will be stored as a string in the provided - buffer. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - gnutls_x509_crl_get_issuer_dn_by_oid ------------------------------------ @@ -905,28 +761,6 @@ *Returns:* when the next CRL will be issued, or (time_t)-1 on error. -gnutls_x509_crl_get_number --------------------------- - - -- Function: int gnutls_x509_crl_get_number (gnutls_x509_crl_t CRL, - void * RET, size_t * RET_SIZE, unsigned int * CRITICAL) - CRL: should contain a `gnutls_x509_crl_t' structure - - RET: The place where the number will be copied - - RET_SIZE: Holds the size of the result field. - - CRITICAL: will be non zero if the extension is marked as critical - (may be null) - - This function will return the CRL number extension. This is - obtained by the CRL Number extension field (2.5.29.20). - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. - - *Since:* 2.8.0 - gnutls_x509_crl_get_signature_algorithm --------------------------------------- @@ -1033,25 +867,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crl_set_authority_key_id ------------------------------------- - - -- Function: int gnutls_x509_crl_set_authority_key_id - (gnutls_x509_crl_t CRL, const void * ID, size_t ID_SIZE) - CRL: a CRL of type `gnutls_x509_crl_t' - - ID: The key ID - - ID_SIZE: Holds the size of the serial field. - - This function will set the CRL's authority key ID extension. Only - the keyIdentifier field can be set with this function. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - gnutls_x509_crl_set_crt_serial ------------------------------ @@ -1079,7 +894,7 @@ gnutls_x509_crt_t CRT, time_t REVOCATION_TIME) CRL: should contain a gnutls_x509_crl_t structure - CRT: a certificate of type `gnutls_x509_crt_t' with the revoked + CRT: should contain a gnutls_x509_crt_t structure with the revoked certificate REVOCATION_TIME: The time this certificate was revoked @@ -1104,24 +919,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crl_set_number --------------------------- - - -- Function: int gnutls_x509_crl_set_number (gnutls_x509_crl_t CRL, - const void * NR, size_t NR_SIZE) - CRL: a CRL of type `gnutls_x509_crl_t' - - NR: The CRL number - - NR_SIZE: Holds the size of the nr field. - - This function will set the CRL's number extension. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - gnutls_x509_crl_set_this_update ------------------------------- @@ -1218,7 +1015,7 @@ description of return values. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. + negative error value.and a negative value in case of an error. gnutls_x509_crq_deinit ---------------------- @@ -1280,95 +1077,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crq_get_attribute_data ----------------------------------- - - -- Function: int gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t - CERT, int INDX, void * DATA, size_t * SIZEOF_DATA) - CERT: should contain a `gnutls_x509_crq_t' structure - - INDX: Specifies which attribute OID to send. Use zero to get the - first one. - - DATA: a pointer to a structure to hold the data (may be null) - - SIZEOF_DATA: initially holds the size of `oid' - - This function will return the requested attribute data in the - certificate request. The attribute data will be stored as a - string in the provided buffer. - - Use `gnutls_x509_crq_get_attribute_info()' to extract the OID. - Use `gnutls_x509_crq_get_attribute_by_oid()' instead, if you want - to get data indexed by the attribute OID rather than sequence. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_attribute_info ----------------------------------- - - -- Function: int gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t - CERT, int INDX, void * OID, size_t * SIZEOF_OID) - CERT: should contain a `gnutls_x509_crq_t' structure - - INDX: Specifies which attribute OID to send. Use zero to get the - first one. - - OID: a pointer to a structure to hold the OID - - SIZEOF_OID: initially holds the maximum size of `oid', on return - holds actual size of `oid'. - - This function will return the requested attribute OID in the - certificate, and the critical flag for it. The attribute OID will - be stored as a string in the provided buffer. Use - `gnutls_x509_crq_get_attribute_data()' to extract the data. - - If the buffer provided is not long enough to hold the output, then - *`sizeof_oid' is updated and `GNUTLS_E_SHORT_MEMORY_BUFFER' will be - returned. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_basic_constraints -------------------------------------- - - -- Function: int gnutls_x509_crq_get_basic_constraints - (gnutls_x509_crq_t CERT, unsigned int * CRITICAL, int * CA, - int * PATHLEN) - CERT: should contain a `gnutls_x509_crq_t' structure - - CRITICAL: will be non zero if the extension is marked as critical - - CA: pointer to output integer indicating CA status, may be NULL, - value is 1 if the certificate CA flag is set, 0 otherwise. - - PATHLEN: pointer to output integer indicating path length (may be - NULL), non-negative values indicate a present pathLenConstraint - field and the actual value, -1 indicate that the field is absent. - - This function will read the certificate's basic constraints, and - return the certificates CA status. It reads the basicConstraints - X.509 extension (2.5.29.19). - - *Return value:* If the certificate is a CA a positive value will be - returned, or zero if the certificate does not have CA flag set. A - negative value may be returned in case of errors. If the - certificate does not contain the basicConstraints extension - `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will be returned. - - *Since:* 2.8.0 - gnutls_x509_crq_get_challenge_password -------------------------------------- @@ -1466,205 +1174,6 @@ not long enough, and in that case the *sizeof_buf will be updated with the required size. On success 0 is returned. -gnutls_x509_crq_get_extension_by_oid ------------------------------------- - - -- Function: int gnutls_x509_crq_get_extension_by_oid - (gnutls_x509_crq_t CERT, const char * OID, int INDX, void * - BUF, size_t * SIZEOF_BUF, unsigned int * CRITICAL) - CERT: should contain a `gnutls_x509_crq_t' structure - - OID: holds an Object Identified in null terminated string - - INDX: In case multiple same OIDs exist in the extensions, this - specifies which to send. Use zero to get the first one. - - BUF: a pointer to a structure to hold the name (may be null) - - SIZEOF_BUF: initially holds the size of `buf' - - CRITICAL: will be non zero if the extension is marked as critical - - This function will return the extension specified by the OID in - the certificate. The extensions will be returned as binary data - DER encoded, in the provided buffer. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If the certificate does not - contain the specified extension - `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will be returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_extension_data ----------------------------------- - - -- Function: int gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t - CERT, int INDX, void * DATA, size_t * SIZEOF_DATA) - CERT: should contain a `gnutls_x509_crq_t' structure - - INDX: Specifies which extension OID to send. Use zero to get the - first one. - - DATA: a pointer to a structure to hold the data (may be null) - - SIZEOF_DATA: initially holds the size of `oid' - - This function will return the requested extension data in the - certificate. The extension data will be stored as a string in the - provided buffer. - - Use `gnutls_x509_crq_get_extension_info()' to extract the OID and - critical flag. Use `gnutls_x509_crq_get_extension_by_oid()' - instead, if you want to get data indexed by the extension OID - rather than sequence. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_extension_info ----------------------------------- - - -- Function: int gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t - CERT, int INDX, void * OID, size_t * SIZEOF_OID, int * - CRITICAL) - CERT: should contain a `gnutls_x509_crq_t' structure - - INDX: Specifies which extension OID to send. Use zero to get the - first one. - - OID: a pointer to a structure to hold the OID - - SIZEOF_OID: initially holds the maximum size of `oid', on return - holds actual size of `oid'. - - CRITICAL: output variable with critical flag, may be NULL. - - This function will return the requested extension OID in the - certificate, and the critical flag for it. The extension OID will - be stored as a string in the provided buffer. Use - `gnutls_x509_crq_get_extension_data()' to extract the data. - - If the buffer provided is not long enough to hold the output, then - *`sizeof_oid' is updated and `GNUTLS_E_SHORT_MEMORY_BUFFER' will be - returned. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative value in case of an error. If your have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_key_id --------------------------- - - -- Function: int gnutls_x509_crq_get_key_id (gnutls_x509_crq_t CRQ, - unsigned int FLAGS, unsigned char * OUTPUT_DATA, size_t * - OUTPUT_DATA_SIZE) - CRQ: Holds the certificate signing request - - FLAGS: should be 0 for now - - OUTPUT_DATA: will contain the key ID - - OUTPUT_DATA_SIZE: holds the size of output_data (and will be - replaced by the actual size of parameters) - - This function will return a unique ID the depends on the public - key parameters. This ID can be used in checking whether a - certificate corresponds to the given private key. - - If the buffer provided is not long enough to hold the output, then - *output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will - be returned. The output will normally be a SHA-1 hash output, - which is 20 bytes. - - *Return value:* In case of failure a negative value will be - returned, and 0 on success. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_key_purpose_oid ------------------------------------ - - -- Function: int gnutls_x509_crq_get_key_purpose_oid - (gnutls_x509_crq_t CERT, int INDX, void * OID, size_t * - SIZEOF_OID, unsigned int * CRITICAL) - CERT: should contain a `gnutls_x509_crq_t' structure - - INDX: This specifies which OID to return. Use zero to get the - first one. - - OID: a pointer to a buffer to hold the OID (may be null) - - SIZEOF_OID: initially holds the size of `oid' - - CRITICAL: output variable with critical flag, may be NULL. - - This function will extract the key purpose OIDs of the Certificate - specified by the given index. These are stored in the Extended - Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions - for human readable names. - - If `oid' is null then only the size will be filled. - - *Returns:* `GNUTLS_E_SHORT_MEMORY_BUFFER' if the provided buffer is - not long enough, and in that case the *sizeof_oid will be updated - with the required size. On success 0 is returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_key_rsa_raw -------------------------------- - - -- Function: int gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t - CRQ, gnutls_datum_t * M, gnutls_datum_t * E) - CRQ: Holds the certificate - - M: will hold the modulus - - E: will hold the public exponent - - This function will export the RSA public key's parameters found in - the given structure. The new parameters will be allocated using - `gnutls_malloc()' and will be stored in the appropriate datum. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_key_usage ------------------------------ - - -- Function: int gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t - CERT, unsigned int * KEY_USAGE, unsigned int * CRITICAL) - CERT: should contain a `gnutls_x509_crq_t' structure - - KEY_USAGE: where the key usage bits will be stored - - CRITICAL: will be non zero if the extension is marked as critical - - This function will return certificate's key usage, by reading the - keyUsage X.509 extension (2.5.29.15). The key usage value will - - *ORed values of the:* `GNUTLS_KEY_DIGITAL_SIGNATURE', - `GNUTLS_KEY_NON_REPUDIATION', `GNUTLS_KEY_KEY_ENCIPHERMENT', - `GNUTLS_KEY_DATA_ENCIPHERMENT', `GNUTLS_KEY_KEY_AGREEMENT', - `GNUTLS_KEY_KEY_CERT_SIGN', `GNUTLS_KEY_CRL_SIGN', - `GNUTLS_KEY_ENCIPHER_ONLY', `GNUTLS_KEY_DECIPHER_ONLY'. - - *Returns:* the certificate key usage, or a negative value in case - of parsing error. If the certificate does not contain the keyUsage - extension `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will be returned. - - *Since:* 2.8.0 - gnutls_x509_crq_get_pk_algorithm -------------------------------- @@ -1685,79 +1194,6 @@ *Returns:* a member of the `gnutls_pk_algorithm_t' enumeration on success, or a negative value on error. -gnutls_x509_crq_get_subject_alt_name ------------------------------------- - - -- Function: int gnutls_x509_crq_get_subject_alt_name - (gnutls_x509_crq_t CERT, unsigned int SEQ, void * RET, size_t - * RET_SIZE, unsigned int * RET_TYPE, unsigned int * CRITICAL) - CERT: should contain a `gnutls_x509_crq_t' structure - - SEQ: specifies the sequence number of the alt name, 0 for the - first one, 1 for the second etc. - - RET: is the place where the alternative name will be copied to - - RET_SIZE: holds the size of ret. - - RET_TYPE: holds the `gnutls_x509_subject_alt_name_t' name type - - CRITICAL: will be non zero if the extension is marked as critical - (may be null) - - This function will return the alternative names, contained in the - given certificate. It is the same as - `gnutls_x509_crq_get_subject_alt_name()' except for the fact that - it will return the type of the alternative name in `ret_type' even - if the function fails for some reason (i.e. the buffer provided is - not enough). - - *Returns:* the alternative subject name type on success, one of the - enumerated `gnutls_x509_subject_alt_name_t'. It will return - `GNUTLS_E_SHORT_MEMORY_BUFFER' if `ret_size' is not large enough to - hold the value. In that case `ret_size' will be updated with the - required size. If the certificate request does not have an - Alternative name with the specified sequence number then - `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' is returned. - - *Since:* 2.8.0 - -gnutls_x509_crq_get_subject_alt_othername_oid ---------------------------------------------- - - -- Function: int gnutls_x509_crq_get_subject_alt_othername_oid - (gnutls_x509_crq_t CERT, unsigned int SEQ, void * RET, size_t - * RET_SIZE) - CERT: should contain a `gnutls_x509_crq_t' structure - - SEQ: specifies the sequence number of the alt name (0 for the - first one, 1 for the second etc.) - - RET: is the place where the otherName OID will be copied to - - RET_SIZE: holds the size of ret. - - This function will extract the type OID of an otherName Subject - Alternative Name, contained in the given certificate, and return - the type as an enumerated element. - - This function is only useful if - `gnutls_x509_crq_get_subject_alt_name()' returned - `GNUTLS_SAN_OTHERNAME'. - - *Returns:* the alternative subject name type on success, one of the - enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it - will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, - e.g. `GNUTLS_SAN_OTHERNAME_XMPP', and `GNUTLS_SAN_OTHERNAME' for - unknown OIDs. It will return `GNUTLS_E_SHORT_MEMORY_BUFFER' if - `ret_size' is not large enough to hold the value. In that case - `ret_size' will be updated with the required size. If the - certificate does not have an Alternative name with the specified - sequence number and with the otherName type then - `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' is returned. - - *Since:* 2.8.0 - gnutls_x509_crq_get_version --------------------------- @@ -1803,28 +1239,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crq_print ---------------------- - - -- Function: int gnutls_x509_crq_print (gnutls_x509_crq_t CRQ, - gnutls_certificate_print_formats_t FORMAT, gnutls_datum_t * - OUT) - CRQ: The structure to be printed - - FORMAT: Indicate the format to use - - OUT: Newly allocated datum with zero terminated string. - - This function will pretty print a certificate request, suitable for - display to a human. - - The output `out' needs to be deallocate using `gnutls_free()'. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - gnutls_x509_crq_set_attribute_by_oid ------------------------------------ @@ -1846,28 +1260,6 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crq_set_basic_constraints -------------------------------------- - - -- Function: int gnutls_x509_crq_set_basic_constraints - (gnutls_x509_crq_t CRQ, unsigned int CA, int - PATHLENCONSTRAINT) - CRQ: a certificate of type `gnutls_x509_crq_t' - - CA: true(1) or false(0). Depending on the Certificate authority - status. - - PATHLENCONSTRAINT: non-negative values indicate maximum length of - path, and negative values indicate that the pathLenConstraints - field should not be present. - - This function will set the basicConstraints certificate extension. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - gnutls_x509_crq_set_challenge_password -------------------------------------- @@ -1903,124 +1295,30 @@ request subject, specified by the given OID. The input string should be ASCII or UTF-8 encoded. - Some helper macros with popular OIDs can be found in gnutls/x509.h - With this function you can only set the known OIDs. You can test - for known OIDs using `gnutls_x509_dn_oid_known()'. For OIDs that - are not known (by gnutls) you should properly DER encode your data, - and call this function with raw_flag set. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - -gnutls_x509_crq_set_key_purpose_oid ------------------------------------ - - -- Function: int gnutls_x509_crq_set_key_purpose_oid - (gnutls_x509_crq_t CERT, const void * OID, unsigned int - CRITICAL) - CERT: a certificate of type `gnutls_x509_crq_t' - - OID: a pointer to a null terminated string that holds the OID - - CRITICAL: Whether this extension will be critical or not - - This function will set the key purpose OIDs of the Certificate. - These are stored in the Extended Key Usage extension (2.5.29.37) - See the GNUTLS_KP_* definitions for human readable names. - - Subsequent calls to this function will append OIDs to the OID list. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - -gnutls_x509_crq_set_key_rsa_raw -------------------------------- - - -- Function: int gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t - CRQ, const gnutls_datum_t * M, const gnutls_datum_t * E) - CRQ: should contain a `gnutls_x509_crq_t' structure - - M: holds the modulus - - E: holds the public exponent - - This function will set the public parameters from the given private - key to the request. Only RSA keys are currently supported. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.6.0 - -gnutls_x509_crq_set_key_usage ------------------------------ - - -- Function: int gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t CRQ, - unsigned int USAGE) - CRQ: a certificate of type `gnutls_x509_crq_t' - - USAGE: an ORed sequence of the GNUTLS_KEY_* elements. - - This function will set the keyUsage certificate extension. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - -gnutls_x509_crq_set_key ------------------------ - - -- Function: int gnutls_x509_crq_set_key (gnutls_x509_crq_t CRQ, - gnutls_x509_privkey_t KEY) - CRQ: should contain a gnutls_x509_crq_t structure - - KEY: holds a private key - - This function will set the public parameters from the given - private key to the request. Only RSA keys are currently supported. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - -gnutls_x509_crq_set_subject_alt_name ------------------------------------- - - -- Function: int gnutls_x509_crq_set_subject_alt_name - (gnutls_x509_crq_t CRQ, gnutls_x509_subject_alt_name_t NT, - const void * DATA, unsigned int DATA_SIZE, unsigned int FLAGS) - CRQ: a certificate of type `gnutls_x509_crq_t' - - NT: is one of the `gnutls_x509_subject_alt_name_t' enumerations - - DATA: The data to be set - - DATA_SIZE: The size of data to be set - - FLAGS: `GNUTLS_FSAN_SET' to clear previous data or - `GNUTLS_FSAN_APPEND' to append. - - This function will set the subject alternative name certificate - extension. It can set the following types: + Some helper macros with popular OIDs can be found in gnutls/x509.h + With this function you can only set the known OIDs. You can test + for known OIDs using `gnutls_x509_dn_oid_known()'. For OIDs that + are not known (by gnutls) you should properly DER encode your + data, and call this function with raw_flag set. - &GNUTLS_SAN_DNSNAME: as a text string + *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a + negative error value. - &GNUTLS_SAN_RFC822NAME: as a text string +gnutls_x509_crq_set_key +----------------------- - &GNUTLS_SAN_URI: as a text string + -- Function: int gnutls_x509_crq_set_key (gnutls_x509_crq_t CRQ, + gnutls_x509_privkey_t KEY) + CRQ: should contain a gnutls_x509_crq_t structure - &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) + KEY: holds a private key - Other values can be set as binary values with the proper DER - encoding. + This function will set the public parameters from the given + private key to the request. Only RSA keys are currently supported. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. - *Since:* 2.8.0 - gnutls_x509_crq_set_version --------------------------- @@ -2105,11 +1403,10 @@ ISSUER: is the certificate of a possible issuer This function will check if the given certificate was issued by the - given issuer. + given issuer. It will return true (1) if the given certificate is + issued by the given issuer, and false (0) if not. - *Returns:* It will return true (1) if the given certificate is - issued by the given issuer, and false (0) if not. A negative - value is returned in case of an error. + A negative value is returned in case of an error. gnutls_x509_crt_check_revocation -------------------------------- @@ -2133,7 +1430,7 @@ -- Function: int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t DST, gnutls_x509_crt_t SRC) - DST: a certificate of type `gnutls_x509_crt_t' + DST: should contain a gnutls_x509_crt_t structure SRC: the certificate where the dist points will be copied from @@ -2199,10 +1496,6 @@ unsigned int * CRITICAL) CERT: should contain a `gnutls_x509_crt_t' structure - RET: The place where the identifier will be copied - - RET_SIZE: Holds the size of the result field. - CRITICAL: will be non zero if the extension is marked as critical (may be null) @@ -2258,9 +1551,9 @@ Use `gnutls_x509_crt_get_basic_constraints()' if you want to read the pathLenConstraint field too. - *Returns:* A negative value may be returned in case of parsing - error. If the certificate does not contain the basicConstraints - extension `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will be returned. + A negative value may be returned in case of parsing error. If the + certificate does not contain the basicConstraints extension + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_crl_dist_points ----------------------------------- @@ -2420,13 +1713,12 @@ CRITICAL: will be non zero if the extension is marked as critical - This function will return the extension specified by the OID in the - certificate. The extensions will be returned as binary data DER - encoded, in the provided buffer. - - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. If the certificate does not - contain the specified extension + This function will return the extension specified by the OID in + the certificate. The extensions will be returned as binary data + DER encoded, in the provided buffer. + + A negative value may be returned in case of parsing error. If the + certificate does not contain the specified extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_extension_data @@ -2452,10 +1744,9 @@ instead, if you want to get data indexed by the extension OID rather than sequence. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. If you have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. + Return 0 on success. A negative value may be returned in case of + parsing error. If you have reached the last extension available + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_extension_info ---------------------------------- @@ -2484,10 +1775,9 @@ *`sizeof_oid' is updated and `GNUTLS_E_SHORT_MEMORY_BUFFER' will be returned. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. If you have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. + Return 0 on success. A negative value may be returned in case of + parsing error. If you have reached the last extension available + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_extension_oid --------------------------------- @@ -2507,10 +1797,9 @@ certificate. The extension OID will be stored as a string in the provided buffer. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. If you have reached the last - extension available `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will - be returned. + A negative value may be returned in case of parsing error. If + your have reached the last extension available + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_fingerprint ------------------------------- @@ -2676,12 +1965,10 @@ SIZEOF_OID: initially holds the size of `oid' - CRITICAL: output flag to indicate criticality of extension - This function will extract the key purpose OIDs of the Certificate - specified by the given index. These are stored in the Extended - Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions - for human readable names. + specified by the given index. These are stored in the Extended Key + Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for + human readable names. If `oid' is null then only the size will be filled. @@ -2786,17 +2073,15 @@ NULL), non-negative values indicate a present pCPathLenConstraint field and the actual value, -1 indicate that the field is absent. - POLICYLANGUAGE: output variable with OID of policy language - - POLICY: output variable with policy data - - SIZEOF_POLICY: output variable size of policy data - - This function will get information from a proxy certificate. It - reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). + This function will read the certificate's basic constraints, and + return the certificates CA status. It reads the basicConstraints + X.509 extension (2.5.29.19). - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + *Return value:* If the certificate is a CA a positive value will be + returned, or zero if the certificate does not have CA flag set. A + negative value may be returned in case of errors. If the + certificate does not contain the basicConstraints extension + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. gnutls_x509_crt_get_raw_dn -------------------------- @@ -2883,7 +2168,7 @@ -- Function: int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t CERT, unsigned int SEQ, void * RET, size_t - * RET_SIZE, unsigned int * RET_TYPE, unsigned int * CRITICAL) + * RET_SIZE, unsigned int* RET_TYPE, unsigned int * CRITICAL) CERT: should contain a `gnutls_x509_crt_t' structure SEQ: specifies the sequence number of the alt name (0 for the @@ -2903,16 +2188,11 @@ given certificate. It is the same as `gnutls_x509_crt_get_subject_alt_name()' except for the fact that it will return the type of the alternative name in `ret_type' even - if the function fails for some reason (i.e. the buffer provided is - not enough). + if the function fails for some reason (i.e. the buffer provided + is not enough). - *Returns:* the alternative subject name type on success, one of the - enumerated `gnutls_x509_subject_alt_name_t'. It will return - `GNUTLS_E_SHORT_MEMORY_BUFFER' if `ret_size' is not large enough - to hold the value. In that case `ret_size' will be updated with - the required size. If the certificate does not have an - Alternative name with the specified sequence number then - `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' is returned. + The return values are the same as with + `gnutls_x509_crt_get_subject_alt_name()'. gnutls_x509_crt_get_subject_alt_name ------------------------------------ @@ -2951,10 +2231,10 @@ *Returns:* the alternative subject name type on success, one of the enumerated `gnutls_x509_subject_alt_name_t'. It will return - `GNUTLS_E_SHORT_MEMORY_BUFFER' if `ret_size' is not large enough - to hold the value. In that case `ret_size' will be updated with - the required size. If the certificate does not have an - Alternative name with the specified sequence number then + `GNUTLS_E_SHORT_MEMORY_BUFFER' if `ret_size' is not large enough to + hold the value. In that case `ret_size' will be updated with the + required size. If the certificate does not have an Alternative + name with the specified sequence number then `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' is returned. gnutls_x509_crt_get_subject_alt_othername_oid @@ -3030,27 +2310,6 @@ *Returns:* Returns 0 on success, or an error code. -gnutls_x509_crt_get_verify_algorithm ------------------------------------- - - -- Function: int gnutls_x509_crt_get_verify_algorithm - (gnutls_x509_crt_t CRT, const gnutls_datum_t * SIGNATURE, - gnutls_digest_algorithm_t * HASH) - CRT: Holds the certificate - - SIGNATURE: contains the signature - - HASH: The result of the call with the hash algorithm used for - signature - - This function will read the certifcate and the signed data to - determine the hash algorithm used to generate the signature. - - *Returns:* the 0 if the hash algorithm is found. A negative value - is returned on error. - - *Since:* 2.8.0 - gnutls_x509_crt_get_version --------------------------- @@ -3149,10 +2408,13 @@ VERIFY: will hold the certificate verification output. This function will try to verify the given certificate list and - return its status. If no flags are specified (0), this function - will use the basicConstraints (2.5.29.19) PKIX extension. This - means that only a certificate authority is allowed to sign a - certificate. + return its status. Note that expiration and activation dates are + not checked by this function, you should check them using the + appropriate functions. + + If no flags are specified (0), this function will use the + basicConstraints (2.5.29.19) PKIX extension. This means that only + a certificate authority is allowed to sign a certificate. You must also check the peer's name in order to check if the verified certificate belongs to the actual peer. @@ -3199,7 +2461,7 @@ -- Function: int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t CERT, time_t ACT_TIME) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure ACT_TIME: The actual time @@ -3214,7 +2476,7 @@ -- Function: int gnutls_x509_crt_set_authority_key_id (gnutls_x509_crt_t CERT, const void * ID, size_t ID_SIZE) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure ID: The key ID @@ -3233,7 +2495,7 @@ -- Function: int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t CRT, unsigned int CA, int PATHLENCONSTRAINT) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure CA: true(1) or false(0). Depending on the Certificate authority status. @@ -3252,7 +2514,7 @@ -- Function: int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t CRT, unsigned int CA) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure CA: true(1) or false(0). Depending on the Certificate authority status. @@ -3264,38 +2526,13 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crt_set_crl_dist_points2 ------------------------------------- - - -- Function: int gnutls_x509_crt_set_crl_dist_points2 - (gnutls_x509_crt_t CRT, gnutls_x509_subject_alt_name_t TYPE, - const void * DATA, unsigned int DATA_SIZE, unsigned int - REASON_FLAGS) - CRT: a certificate of type `gnutls_x509_crt_t' - - TYPE: is one of the gnutls_x509_subject_alt_name_t enumerations - - DATA: The data to be set - - DATA_SIZE: The data size - - REASON_FLAGS: revocation reasons - - This function will set the CRL distribution points certificate - extension. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.6.0 - gnutls_x509_crt_set_crl_dist_points ----------------------------------- -- Function: int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t CRT, gnutls_x509_subject_alt_name_t TYPE, const void * DATA_STRING, unsigned int REASON_FLAGS) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure TYPE: is one of the gnutls_x509_subject_alt_name_t enumerations @@ -3309,35 +2546,18 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crt_set_crq_extensions ----------------------------------- - - -- Function: int gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t - CRT, gnutls_x509_crq_t CRQ) - CRT: a certificate of type `gnutls_x509_crt_t' - - CRQ: holds a certificate request - - This function will set extensions from the given request to the - certificate. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.8.0 - gnutls_x509_crt_set_crq ----------------------- -- Function: int gnutls_x509_crt_set_crq (gnutls_x509_crt_t CRT, gnutls_x509_crq_t CRQ) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure CRQ: holds a certificate request - This function will set the name and public parameters as well as - the extensions from the given certificate request to the - certificate. Only RSA keys are currently supported. + This function will set the name and public parameters from the + given certificate request to the certificate. Only RSA keys are + currently supported. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -3348,7 +2568,7 @@ -- Function: int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t CRT, const char * OID, unsigned int RAW_FLAG, const void * NAME, unsigned int SIZEOF_NAME) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure OID: holds an Object Identifier in a null terminated string @@ -3376,7 +2596,7 @@ -- Function: int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t CERT, time_t EXP_TIME) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure EXP_TIME: The actual time @@ -3391,7 +2611,7 @@ -- Function: int gnutls_x509_crt_set_extension_by_oid (gnutls_x509_crt_t CRT, const char * OID, const void * BUF, size_t SIZEOF_BUF, unsigned int CRITICAL) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure OID: holds an Object Identified in null terminated string @@ -3415,7 +2635,7 @@ -- Function: int gnutls_x509_crt_set_issuer_dn_by_oid (gnutls_x509_crt_t CRT, const char * OID, unsigned int RAW_FLAG, const void * NAME, unsigned int SIZEOF_NAME) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure OID: holds an Object Identifier in a null terminated string @@ -3448,7 +2668,7 @@ -- Function: int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t CERT, const void * OID, unsigned int CRITICAL) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure OID: a pointer to a null terminated string that holds the OID @@ -3460,15 +2680,14 @@ Subsequent calls to this function will append OIDs to the OID list. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + On success 0 is returned. gnutls_x509_crt_set_key_usage ----------------------------- -- Function: int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t CRT, unsigned int USAGE) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure USAGE: an ORed sequence of the GNUTLS_KEY_* elements. @@ -3482,7 +2701,7 @@ -- Function: int gnutls_x509_crt_set_key (gnutls_x509_crt_t CRT, gnutls_x509_privkey_t KEY) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure KEY: holds a private key @@ -3525,7 +2744,7 @@ -- Function: int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t CRT, int PATHLENCONSTRAINT, const char * POLICYLANGUAGE, const char * POLICY, size_t SIZEOF_POLICY) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure PATHLENCONSTRAINT: non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints @@ -3547,7 +2766,7 @@ -- Function: int gnutls_x509_crt_set_serial (gnutls_x509_crt_t CERT, const void * SERIAL, size_t SERIAL_SIZE) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure SERIAL: The serial number @@ -3561,60 +2780,20 @@ *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. -gnutls_x509_crt_set_subject_alt_name ------------------------------------- - - -- Function: int gnutls_x509_crt_set_subject_alt_name - (gnutls_x509_crt_t CRT, gnutls_x509_subject_alt_name_t TYPE, - const void * DATA, unsigned int DATA_SIZE, unsigned int FLAGS) - CRT: a certificate of type `gnutls_x509_crt_t' - - TYPE: is one of the gnutls_x509_subject_alt_name_t enumerations - - DATA: The data to be set - - DATA_SIZE: The size of data to be set - - FLAGS: GNUTLS_FSAN_SET to clear previous data or - GNUTLS_FSAN_APPEND to append. - - This function will set the subject alternative name certificate - extension. It can set the following types: - - &GNUTLS_SAN_DNSNAME: as a text string - - &GNUTLS_SAN_RFC822NAME: as a text string - - &GNUTLS_SAN_URI: as a text string - - &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - - Other values can be set as binary values with the proper DER - encoding. - - *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a - negative error value. - - *Since:* 2.6.0 - gnutls_x509_crt_set_subject_alternative_name -------------------------------------------- -- Function: int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t CRT, gnutls_x509_subject_alt_name_t TYPE, const char * DATA_STRING) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure TYPE: is one of the gnutls_x509_subject_alt_name_t enumerations DATA_STRING: The data to be set, a zero terminated string This function will set the subject alternative name certificate - extension. This function assumes that data can be expressed as a - null terminated string. - - The name of the function is unfortunate since it is incosistent - with `gnutls_x509_crt_get_subject_alt_name()'. + extension. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -3624,7 +2803,7 @@ -- Function: int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t CERT, const void * ID, size_t ID_SIZE) - CERT: a certificate of type `gnutls_x509_crt_t' + CERT: should contain a gnutls_x509_crt_t structure ID: The key ID @@ -3641,7 +2820,7 @@ -- Function: int gnutls_x509_crt_set_version (gnutls_x509_crt_t CRT, unsigned int VERSION) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure VERSION: holds the version number. For X.509v1 certificates must be 1. @@ -3652,8 +2831,8 @@ To create well-formed certificates, you must specify version 3 if you use any certificate extensions. Extensions are created by - functions such as `gnutls_x509_crt_set_subject_alt_name()' or - `gnutls_x509_crt_set_key_usage()'. + functions such as `gnutls_x509_crt_set_subject_alternative_name()' + or `gnutls_x509_crt_set_key_usage()'. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -3664,13 +2843,14 @@ -- Function: int gnutls_x509_crt_sign2 (gnutls_x509_crt_t CRT, gnutls_x509_crt_t ISSUER, gnutls_x509_privkey_t ISSUER_KEY, gnutls_digest_algorithm_t DIG, unsigned int FLAGS) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure ISSUER: is the certificate of the certificate issuer ISSUER_KEY: holds the issuer's private key - DIG: The message digest to use, `GNUTLS_DIG_SHA1' is a safe choice + DIG: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice + unless you know what you're doing. FLAGS: must be 0 @@ -3688,7 +2868,7 @@ -- Function: int gnutls_x509_crt_sign (gnutls_x509_crt_t CRT, gnutls_x509_crt_t ISSUER, gnutls_x509_privkey_t ISSUER_KEY) - CRT: a certificate of type `gnutls_x509_crt_t' + CRT: should contain a gnutls_x509_crt_t structure ISSUER: is the certificate of the certificate issuer @@ -3720,26 +2900,6 @@ *Returns:* In case of a verification failure 0 is returned, and 1 on success. -gnutls_x509_crt_verify_hash ---------------------------- - - -- Function: int gnutls_x509_crt_verify_hash (gnutls_x509_crt_t CRT, - unsigned int FLAGS, const gnutls_datum_t * HASH, const - gnutls_datum_t * SIGNATURE) - CRT: Holds the certificate - - FLAGS: should be 0 for now - - HASH: holds the hash digest to be verified - - SIGNATURE: contains the signature - - This function will verify the given signed digest, using the - parameters from the certificate. - - *Returns:* In case of a verification failure 0 is returned, and 1 - on success. - gnutls_x509_crt_verify ---------------------- @@ -3768,8 +2928,8 @@ gnutls_x509_dn_deinit --------------------- - -- Function: void gnutls_x509_dn_deinit (gnutls_x509_dn_t DN) - DN: a DN opaque object pointer. + -- Function: void gnutls_x509_dn_deinit (gnutls_x509_dn_t IDN) + IDN: a DN opaque object pointer. This function deallocates the DN object as returned by `gnutls_x509_dn_import()'. @@ -3829,15 +2989,19 @@ gnutls_x509_dn_import --------------------- - -- Function: int gnutls_x509_dn_import (gnutls_x509_dn_t DN, const + -- Function: int gnutls_x509_dn_import (gnutls_x509_dn_t ODN, const gnutls_datum_t * DATA) - DN: the structure that will hold the imported DN + ODN: the structure that will hold the imported DN DATA: should contain a DER encoded RDN sequence This function parses an RDN sequence and stores the result to a `gnutls_x509_dn_t' structure. The structure must have been initialized with `gnutls_x509_dn_init()'. You may use + `gnutls_x509_dn_get_rdn_ava()' to decode the DN. This function + parses an RDN sequence and stores the result to a + `gnutls_x509_dn_t' structure. The structure must have been + initialized with `gnutls_x509_dn_init()'. You may use `gnutls_x509_dn_get_rdn_ava()' to decode the DN. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a @@ -3848,8 +3012,8 @@ gnutls_x509_dn_init ------------------- - -- Function: int gnutls_x509_dn_init (gnutls_x509_dn_t * DN) - DN: the object to be initialized + -- Function: int gnutls_x509_dn_init (gnutls_x509_dn_t * ODN) + ODN: the object to be initialized This function initializes a `gnutls_x509_dn_t' structure. @@ -3908,8 +3072,6 @@ (gnutls_x509_privkey_t KEY, gnutls_datum_t * P, gnutls_datum_t * Q, gnutls_datum_t * G, gnutls_datum_t * Y, gnutls_datum_t * X) - KEY: a structure that holds the DSA parameters - P: will hold the p Q: will hold the q @@ -4260,10 +3422,7 @@ SIGNATURE: will contain newly allocated signature - This function will sign the given hash using the private key. Do - not use this function directly unless you know what it is. Typical - signing requires the data to be hashed and stored in special - formats (e.g. BER Digest-Info for RSA). + This function will sign the given hash using the private key. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -4325,10 +3484,6 @@ INDX: Indicates which OID to return. Use 0 for the first one. - BUF: a pointer to a structure to hold the peer's name OID - - SIZEOF_BUF: holds the size of `buf' - This function will return the specified Object identifier, of the RDN sequence. @@ -4365,7 +3520,7 @@ 9.3 GnuTLS-extra Functions ========================== -These functions are only available in the GPLv3+ version of the library +These functions are only available in the GPL version of the library called `gnutls-extra'. The prototypes for this library lie in `gnutls/extra.h'. @@ -4374,35 +3529,24 @@ -- Function: const char * gnutls_extra_check_version (const char * REQ_VERSION) - REQ_VERSION: version string to compare with, or `NULL'. - - Check GnuTLS Extra Library version. + REQ_VERSION: the version to check - See `GNUTLS_EXTRA_VERSION' for a suitable `req_version' string. - - *Return value:* Check that the version of the library is at - minimum the one given as a string in `req_version' and return the - actual version string of the library; return `NULL' if the - condition is not met. If `NULL' is passed to this function no - check is done and only the version string is returned. + Check that the version of the gnutls-extra library is at minimum + the requested one and return the version string; return NULL if the + condition is not satisfied. If a NULL is passed to this function, + no check is done, but the version string is simply returned. gnutls_global_init_extra ------------------------ -- Function: int gnutls_global_init_extra ( VOID) This function initializes the global state of gnutls-extra library - to defaults. + to defaults. Returns zero on success. Note that `gnutls_global_init()' has to be called before this function. If this function is not called then the gnutls-extra library will not be usable. - This function is not thread safe, see the discussion for - `gnutls_global_init()' on how to deal with that. - - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. -  File: gnutls.info, Node: OpenPGP functions, Next: TLS Inner Application (TLS/IA) functions, Prev: GnuTLS-extra functions, Up: Function reference @@ -4410,14 +3554,16 @@ ===================== The following functions are to be used for OpenPGP certificate -handling. Their prototypes lie in `gnutls/openpgp.h'. +handling. Their prototypes lie in `gnutls/openpgp.h'. You need to +link with `libgnutls-extra' to be able to use these functions (*note +GnuTLS-extra functions::). gnutls_certificate_set_openpgp_key_file2 ---------------------------------------- -- Function: int gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t RES, const char * CERTFILE, - const char * KEYFILE, const char * SUBKEY_ID, + const char * KEYFILE, const char* SUBKEY_ID, gnutls_openpgp_crt_fmt_t FORMAT) RES: the destination context to save the data. @@ -4432,9 +3578,9 @@ This funtion is used to load OpenPGP keys into the GnuTLS credential structure. The files should contain non encrypted keys. - The special keyword "auto" is also accepted as `subkey_id'. In - that case the `gnutls_openpgp_crt_get_auth_subkey()' will be used - to retrieve the subkey. + The special keyword "auto" is also accepted as &subkey_id. In that + case the `gnutls_openpgp_crt_get_auth_subkey()' will be used to + retrieve the subkey. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -4467,14 +3613,10 @@ -- Function: int gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t RES, const gnutls_datum_t * - CERT, const gnutls_datum_t * KEY, const char * SUBKEY_ID, + ICERT, const gnutls_datum_t * IKEY, const char* SUBKEY_ID, gnutls_openpgp_crt_fmt_t FORMAT) RES: the destination context to save the data. - CERT: the datum that contains the public key. - - KEY: the datum that contains the secret key. - SUBKEY_ID: a hex encoded subkey id FORMAT: the format of the keys @@ -4483,9 +3625,9 @@ credentials structure. The files should only contain one key which is not encrypted. - The special keyword "auto" is also accepted as `subkey_id'. In - that case the `gnutls_openpgp_crt_get_auth_subkey()' will be used - to retrieve the subkey. + The special keyword "auto" is also accepted as &subkey_id. In that + case the `gnutls_openpgp_crt_get_auth_subkey()' will be used to + retrieve the subkey. *Returns:* On success, `GNUTLS_E_SUCCESS' is returned, otherwise a negative error value. @@ -4497,14 +3639,10 @@ -- Function: int gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t RES, const gnutls_datum_t * - CERT, const gnutls_datum_t * KEY, gnutls_openpgp_crt_fmt_t + ICERT, const gnutls_datum_t * IKEY, gnutls_openpgp_crt_fmt_t FORMAT) RES: the destination context to save the data. - CERT: the datum that contains the public key. - - KEY: the datum that contains the secret key. - FORMAT: the format of the keys This funtion is used to load OpenPGP keys into the GnuTLS @@ -4523,8 +3661,6 @@ FILE: filename of the keyring. - FORMAT: format of keyring. - The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -4545,8 +3681,6 @@ DLEN: length of data buffer. - FORMAT: the format of the keyring - The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -4561,26 +3695,23 @@ -- Function: int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t RES, gnutls_openpgp_crt_t CRT, gnutls_openpgp_privkey_t PKEY) - RES: is a `gnutls_certificate_credentials_t' structure. + RES: is an `gnutls_certificate_credentials_t' structure. PKEY: is an openpgp private key This function sets a certificate/private key pair in the - gnutls_certificate_credentials_t structure. This function may be + gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). With this function the subkeys of the certificate are not used. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_openpgp_crt_check_hostname --------------------------------- -- Function: int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t KEY, const char * HOSTNAME) - KEY: should contain a `gnutls_openpgp_crt_t' structure + KEY: should contain an `gnutls_openpgp_crt_t' structure HOSTNAME: A null terminated string that contains a DNS name @@ -4625,8 +3756,6 @@ -- Function: int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t CRT, gnutls_openpgp_keyid_t KEYID, unsigned int FLAG) - CRT: the structure that contains the OpenPGP public key. - KEYID: the struct to save the keyid. FLAG: Non zero indicates that a valid subkey is always returned. @@ -4634,10 +3763,7 @@ Returns the 64-bit keyID of the first valid OpenPGP subkey marked for authentication. If flag is non zero and no authentication subkey exists, then a valid subkey will be returned even if it is - not marked for authentication. Returns the 64-bit keyID of the - first valid OpenPGP subkey marked for authentication. If flag is - non zero and no authentication subkey exists, then a valid subkey - will be returned even if it is not marked for authentication. + not marked for authentication. *Returns:* `GNUTLS_E_SUCCESS' on success, or an error code. @@ -5104,9 +4230,6 @@ This allows setting a preferred key id for the given certificate. This key will be used by functions that involve key handling. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. - gnutls_openpgp_crt_verify_ring ------------------------------ @@ -5191,12 +4314,8 @@ -- Function: int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t RING, unsigned int IDX, gnutls_openpgp_crt_t * CERT) - RING: Holds the keyring. - IDX: the index of the certificate to export - CERT: An uninitialized `gnutls_openpgp_crt_t' structure - This function will extract an OpenPGP certificate from the given keyring. If the index given is out of range `GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE' will be returned. The @@ -5364,14 +4483,13 @@ -- Function: int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t KEY, gnutls_openpgp_crt_fmt_t - FORMAT, const char * PASSWORD, unsigned int FLAGS, void * + FORMAT, const char* PASSWORD, unsigned int FLAGS, void * OUTPUT_DATA, size_t * OUTPUT_DATA_SIZE) KEY: Holds the key. FORMAT: One of gnutls_openpgp_crt_fmt_t elements. PASSWORD: the password that will be used to encrypt the key. - (unused for now) FLAGS: zero for future compatibility @@ -5621,15 +4739,15 @@ -- Function: int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t KEY, const gnutls_datum_t * DATA, - gnutls_openpgp_crt_fmt_t FORMAT, const char * PASSWORD, - unsigned int FLAGS) + gnutls_openpgp_crt_fmt_t FORMAT, const char * PASS, unsigned + int FLAGS) KEY: The structure to store the parsed key. DATA: The RAW or BASE64 encoded key. - FORMAT: One of `gnutls_openpgp_crt_fmt_t' elements. + FORMAT: One of gnutls_openpgp_crt_fmt_t elements. - PASSWORD: not used for now + PASS: Unused for now FLAGS: should be zero @@ -5756,7 +4874,7 @@ -- Function: int gnutls_ia_allocate_client_credentials (gnutls_ia_client_credentials_t * SC) - SC: is a pointer to a `gnutls_ia_server_credentials_t' structure. + SC: is a pointer to an `gnutls_ia_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -5774,7 +4892,7 @@ -- Function: int gnutls_ia_allocate_server_credentials (gnutls_ia_server_credentials_t * SC) - SC: is a pointer to a `gnutls_ia_server_credentials_t' structure. + SC: is a pointer to an `gnutls_ia_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -5860,7 +4978,7 @@ -- Function: void gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t SC) - SC: is a `gnutls_ia_client_credentials_t' structure. + SC: is an `gnutls_ia_client_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -5870,7 +4988,7 @@ -- Function: void gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t SC) - SC: is a `gnutls_ia_server_credentials_t' structure. + SC: is an `gnutls_ia_server_credentials_t' structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -5938,8 +5056,7 @@ Perform a TLS/IA handshake. This should be called after `gnutls_handshake()' iff `gnutls_ia_handshake_p()'. - *Returns:* On success, `GNUTLS_E_SUCCESS' (zero) is returned, - otherwise an error code is returned. + Return 0 on success, or an error code. gnutls_ia_permute_inner_secret ------------------------------ @@ -5973,7 +5090,7 @@ SIZEOFDATA: the number of requested bytes, must be >= 12. Receive TLS/IA data. This function has the similar semantics with - `recv()'. The only difference is that it accepts a GnuTLS session, + `recv()'. The only difference is that is accepts a GNUTLS session, and uses different error codes. If the server attempt to finish an application phase, this function @@ -6006,8 +5123,8 @@ SIZEOFDATA: is the length of the data Send TLS/IA application payload data. This function has the - similar semantics with `send()'. The only difference is that it - accepts a GnuTLS session, and uses different error codes. + similar semantics with `send()'. The only difference is that is + accepts a GNUTLS session, and uses different error codes. The TLS/IA protocol is synchronous, so you cannot send more than one packet at a time. The client always send the first packet. @@ -6101,7 +5218,7 @@ client, and to get a new AVP to send to the client. It can also be used to instruct the TLS/IA handshake to do go into the Intermediate or Final phases. It return a negative error code, or - a `gnutls_ia_apptype_t' message type. + an `gnutls_ia_apptype_t' message type. The callback may invoke `gnutls_ia_permute_inner_secret()' to mix any generated session keys with the TLS/IA inner secret. @@ -6163,7 +5280,7 @@ expressions. `GNUTLS_E_AGAIN:' - Resource temporarily unavailable, try again. + Function was interrupted. `GNUTLS_E_ASN1_DER_ERROR:' ASN1 parser: Error in DER parsing. @@ -6232,7 +5349,7 @@ Decryption has failed. `GNUTLS_E_DH_PRIME_UNACCEPTABLE:' - The Diffie-Hellman prime sent by the server is not acceptable (not + The Diffie Hellman prime sent by the server is not acceptable (not long enough). `GNUTLS_E_ENCRYPTION_FAILED:' @@ -6473,182 +5590,37 @@ 10 All the Supported Ciphersuites in GnuTLS ******************************************* -Available cipher suites: -TLS_ANON_DH_ARCFOUR_MD5 0x00 0x18 SSL3.0 -TLS_ANON_DH_3DES_EDE_CBC_SHA1 0x00 0x1b SSL3.0 -TLS_ANON_DH_AES_128_CBC_SHA1 0x00 0x34 SSL3.0 -TLS_ANON_DH_AES_256_CBC_SHA1 0x00 0x3a SSL3.0 -TLS_ANON_DH_CAMELLIA_128_CBC_SHA1 0x00 0x46 TLS1.0 -TLS_ANON_DH_CAMELLIA_256_CBC_SHA1 0x00 0x89 TLS1.0 -TLS_PSK_SHA_ARCFOUR_SHA1 0x00 0x8a TLS1.0 -TLS_PSK_SHA_3DES_EDE_CBC_SHA1 0x00 0x8b TLS1.0 -TLS_PSK_SHA_AES_128_CBC_SHA1 0x00 0x8c TLS1.0 -TLS_PSK_SHA_AES_256_CBC_SHA1 0x00 0x8d TLS1.0 -TLS_DHE_PSK_SHA_ARCFOUR_SHA1 0x00 0x8e TLS1.0 -TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1 0x00 0x8f TLS1.0 -TLS_DHE_PSK_SHA_AES_128_CBC_SHA1 0x00 0x90 TLS1.0 -TLS_DHE_PSK_SHA_AES_256_CBC_SHA1 0x00 0x91 TLS1.0 -TLS_SRP_SHA_3DES_EDE_CBC_SHA1 0xc0 0x1a TLS1.0 -TLS_SRP_SHA_AES_128_CBC_SHA1 0xc0 0x1d TLS1.0 -TLS_SRP_SHA_AES_256_CBC_SHA1 0xc0 0x20 TLS1.0 -TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 0xc0 0x1c TLS1.0 -TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 0xc0 0x1b TLS1.0 -TLS_SRP_SHA_DSS_AES_128_CBC_SHA1 0xc0 0x1f TLS1.0 -TLS_SRP_SHA_RSA_AES_128_CBC_SHA1 0xc0 0x1e TLS1.0 -TLS_SRP_SHA_DSS_AES_256_CBC_SHA1 0xc0 0x22 TLS1.0 -TLS_SRP_SHA_RSA_AES_256_CBC_SHA1 0xc0 0x21 TLS1.0 -TLS_DHE_DSS_ARCFOUR_SHA1 0x00 0x66 TLS1.0 -TLS_DHE_DSS_3DES_EDE_CBC_SHA1 0x00 0x13 SSL3.0 -TLS_DHE_DSS_AES_128_CBC_SHA1 0x00 0x32 SSL3.0 -TLS_DHE_DSS_AES_256_CBC_SHA1 0x00 0x38 SSL3.0 -TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 0x00 0x44 TLS1.0 -TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 0x00 0x87 TLS1.0 -TLS_DHE_RSA_3DES_EDE_CBC_SHA1 0x00 0x16 SSL3.0 -TLS_DHE_RSA_AES_128_CBC_SHA1 0x00 0x33 SSL3.0 -TLS_DHE_RSA_AES_256_CBC_SHA1 0x00 0x39 SSL3.0 -TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 0x00 0x45 TLS1.0 -TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 0x00 0x88 TLS1.0 -TLS_RSA_NULL_MD5 0x00 0x01 SSL3.0 -TLS_RSA_EXPORT_ARCFOUR_40_MD5 0x00 0x03 SSL3.0 -TLS_RSA_ARCFOUR_SHA1 0x00 0x05 SSL3.0 -TLS_RSA_ARCFOUR_MD5 0x00 0x04 SSL3.0 -TLS_RSA_3DES_EDE_CBC_SHA1 0x00 0x0a SSL3.0 -TLS_RSA_AES_128_CBC_SHA1 0x00 0x2f SSL3.0 -TLS_RSA_AES_256_CBC_SHA1 0x00 0x35 SSL3.0 -TLS_RSA_CAMELLIA_128_CBC_SHA1 0x00 0x41 TLS1.0 -TLS_RSA_CAMELLIA_256_CBC_SHA1 0x00 0x84 TLS1.0 - -Available certificate types: - * X.509 - - * OPENPGP - -Available protocols: - * SSL3.0 - - * TLS1.0 - - * TLS1.1 - - * TLS1.2 - -Available ciphers: - * AES-256-CBC - - * AES-128-CBC - - * 3DES-CBC - - * DES-CBC - - * ARCFOUR-128 - - * ARCFOUR-40 - - * RC2-40 - - * CAMELLIA-256-CBC - - * CAMELLIA-128-CBC - - * NULL - -Available MAC algorithms: - * SHA1 - - * MD5 - - * SHA256 - - * SHA384 - - * SHA512 - - * MD2 - - * RIPEMD160 - - * NULL - -Available key exchange methods: - * ANON-DH - - * RSA - - * RSA-EXPORT - - * DHE-RSA - - * DHE-DSS - - * SRP-DSS - - * SRP-RSA - - * SRP - - * PSK - - * DHE-PSK - -Available public key algorithms: - * RSA - - * DSA - -Available public key signature algorithms: - * RSA-SHA - - * RSA-SHA256 - - * RSA-SHA384 - - * RSA-SHA512 - - * RSA-RMD160 - - * DSA-SHA - - * RSA-MD5 - - * RSA-MD2 - -Available compression methods: - * DEFLATE - - * NULL - -Some additional information regarding some of the algorithms: - -`RSA' - RSA is public key cryptosystem designed by Ronald Rivest, Adi - Shamir and Leonard Adleman. It can be used with any hash - functions. - -`DSA' - DSA is the USA's Digital Signature Standard. It uses only the - SHA-1 hash algorithm. - -`MD2' - MD2 is a cryptographic hash algorithm designed by Ron Rivest. It - is optimized for 8-bit processors. Outputs 128 bits of data. - There are no known weaknesses of this algorithm but since this - algorithm is rarely used and not really studied it should not be - used today. - -`MD5' - MD5 is a cryptographic hash algorithm designed by Ron Rivest. - Outputs 128 bits of data. It is considered to be broken. - -`SHA-1' - SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 - bits of data. It is also considered to be broken, though no - practical attacks have been found. - -`RMD160' - RIPEMD is a cryptographic hash algorithm developed in the - framework of the EU project RIPE. Outputs 160 bits of data. - +`TLS_RSA_NULL_MD5' 0x00 0x01 RFC 2246 +`TLS_ANON_DH_3DES_EDE_CBC_SHA' 0x00 0x1B RFC 2246 +`TLS_ANON_DH_ARCFOUR_MD5' 0x00 0x18 RFC 2246 +`TLS_ANON_DH_AES_128_CBC_SHA' 0x00 0x34 RFC 2246 +`TLS_ANON_DH_AES_256_CBC_SHA' 0x00 0x3A RFC 2246 +`TLS_RSA_ARCFOUR_SHA' 0x00 0x05 RFC 2246 +`TLS_RSA_ARCFOUR_MD5' 0x00 0x04 RFC 2246 +`TLS_RSA_3DES_EDE_CBC_SHA' 0x00 0x0A RFC 2246 +`TLS_RSA_EXPORT_ARCFOUR_40_MD5' 0x00 0x03 RFC 2246 +`TLS_DHE_DSS_3DES_EDE_CBC_SHA' 0x00 0x13 RFC 2246 +`TLS_DHE_RSA_3DES_EDE_CBC_SHA' 0x00 0x16 RFC 2246 +`TLS_RSA_AES_128_CBC_SHA' 0x00 0x2F RFC 3268 +`TLS_RSA_AES_256_CBC_SHA' 0x00 0x35 RFC 3268 +`TLS_DHE_DSS_AES_256_CBC_SHA' 0x00 0x38 RFC 3268 +`TLS_DHE_DSS_AES_128_CBC_SHA' 0x00 0x32 RFC 3268 +`TLS_DHE_RSA_AES_256_CBC_SHA' 0x00 0x39 RFC 3268 +`TLS_DHE_RSA_AES_128_CBC_SHA' 0x00 0x33 RFC 3268 +`TLS_SRP_SHA_3DES_EDE_CBC_SHA' 0x00 0x50 RFC 5054 +`TLS_SRP_SHA_AES_128_CBC_SHA' 0x00 0x53 RFC 5054 +`TLS_SRP_SHA_AES_256_CBC_SHA' 0x00 0x56 RFC 5054 +`TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA'0x00 0x51 RFC 5054 +`TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA'0x00 0x52 RFC 5054 +`TLS_SRP_SHA_RSA_AES_128_CBC_SHA'0x00 0x54 RFC 5054 +`TLS_SRP_SHA_DSS_AES_128_CBC_SHA'0x00 0x55 RFC 5054 +`TLS_SRP_SHA_RSA_AES_256_CBC_SHA'0x00 0x57 RFC 5054 +`TLS_SRP_SHA_DSS_AES_256_CBC_SHA'0x00 0x58 RFC 5054 +`TLS_DHE_DSS_ARCFOUR_SHA' 0x00 0x66 draft-ietf-tls-56-bit-ciphersuites +`TLS_PSK_ARCFOUR_SHA' 0x00 0x8A draft-ietf-tls-psk +`TLS_PSK_3DES_EDE_CBC_SHA' 0x00 0x8B draft-ietf-tls-psk +`TLS_PSK_AES_128_CBC_SHA' 0x00 0x8C draft-ietf-tls-psk +`TLS_PSK_AES_256_CBC_SHA' 0x00 0x8D draft-ietf-tls-psk  File: gnutls.info, Node: Guile Bindings, Next: Internal architecture of GnuTLS, Prev: All the supported ciphersuites in GnuTLS, Up: Top @@ -7718,17 +6690,6 @@ The focus is to give an idea to potential developers and those who want to know what happens inside the black box. -* Menu: - -* The TLS Protocol:: -* TLS Handshake Protocol:: -* TLS Authentication Methods:: -* TLS Extension Handling:: -* Cryptographic Backend:: - - -File: gnutls.info, Node: The TLS Protocol, Next: TLS Handshake Protocol, Up: Internal architecture of GnuTLS - 12.1 The TLS Protocol ===================== @@ -7742,9 +6703,6 @@ attributes. The operations listed are functions that require the first parameter to be that object. [image src="gnutls-objects.png"] - -File: gnutls.info, Node: TLS Handshake Protocol, Next: TLS Authentication Methods, Prev: The TLS Protocol, Up: Internal architecture of GnuTLS - 12.2 TLS Handshake Protocol =========================== @@ -7763,9 +6721,6 @@ [image src="gnutls-handshake-sequence.png"] - -File: gnutls.info, Node: TLS Authentication Methods, Next: TLS Extension Handling, Prev: TLS Handshake Protocol, Up: Internal architecture of GnuTLS - 12.3 TLS Authentication Methods =============================== @@ -7789,13 +6744,6 @@ its pointers has to be registered in `gnutls_algorithms.c' in the `_gnutls_kx_algorithms' structure. ----------- Footnotes ---------- - -(1) such as the `gnutls_certificate_credentials_t' structures - - -File: gnutls.info, Node: TLS Extension Handling, Next: Cryptographic Backend, Prev: TLS Authentication Methods, Up: Internal architecture of GnuTLS - 12.4 TLS Extension Handling =========================== @@ -7954,9 +6902,9 @@ The APIs need to be added to `includes/gnutls/gnutls.h' or `includes/gnutls/extra.h' as appropriate. It is recommended that - if you don't have a requirement to use the LGPLv2.1+ license for - your extension, that you place your work under the GPLv3+ license - and thus in the libgnutls-extra library. + if you don't have a requirement to use the LGPL license for your + extension, that you place your work under the GPL license and thus + in the libgnutls-extra library. You can implement the API function in the `ext_foobar.c' file, or if that file ends up becoming rather larger, add a @@ -7971,79 +6919,977 @@ [image src="gnutls-certificate-user-use-case.png"] - -File: gnutls.info, Node: Cryptographic Backend, Prev: TLS Extension Handling, Up: Internal architecture of GnuTLS - -12.6 Cryptographic Backend -========================== - -Several new systems provide hardware assisted cryptographic algorithm -implementations that offer implementations some orders of magnitude -faster than the software. For this reason in current releases of GnuTLS -it is possible to override parts of the crypto backend or the whole. It -is possible to override them both at runtime and compile time, however -here we will discuss the runtime possibility. The API available for -this functionality is in `gnutls/crypto.h' header file. - -12.6.1 Override specific algorithms ------------------------------------ - -When an optimized implementation of a single algorithm is available, -say a hardware assisted version of AES-CBC then the following functions -can be used to register those algorithms. +---------- Footnotes ---------- - * *note gnutls_crypto_single_cipher_register2:: To register a cipher - algorithm. +(1) such as the `gnutls_certificate_credentials_t' structures - * *note gnutls_crypto_single_mac_register2:: To register a MAC - algorithm. + +File: gnutls.info, Node: Copying Information, Next: Concept Index, Prev: Internal architecture of GnuTLS, Up: Top - *note gnutls_crypto_single_digest_register2:: To register a digest - (hash) algorithm. +Appendix A Copying Information +****************************** +* Menu: -Those registration functions will only replace the specified algorithm -and leave the rest of subsystem intact. +* GNU Free Documentation License:: License for copying this manual. +* GNU LGPL:: License for copying the core GnuTLS library. +* GNU GPL:: License for copying GNUTLS extra and tools. -12.6.2 Override parts of the backend ------------------------------------- + +File: gnutls.info, Node: GNU Free Documentation License, Next: GNU LGPL, Up: Copying Information -In some systems, such as embedded ones, it might be desirable to -override big parts of the cryptographic backend, or even all of them. -For this reason the following functions are provided. +A.1 GNU Free Documentation License +================================== - * *note gnutls_crypto_cipher_register2:: To override the - cryptographic algorithms backend. + Version 1.2, November 2002 - * *note gnutls_crypto_mac_register2:: To override the MAC algorithms - backend. + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it + can be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You + accept the license if you copy, modify or distribute the work in a + way requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. If a section does not fit the above definition of + Secondary then it is not allowed to be designated as Invariant. + The Document may contain zero Invariant Sections. If the Document + does not identify any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup, or absence of + markup, has been arranged to thwart or discourage subsequent + modification by readers is not Transparent. An image format is + not Transparent if used for any substantial amount of text. A + copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML, PostScript or PDF designed for + human modification. Examples of transparent image formats include + PNG, XCF and JPG. Opaque formats include proprietary formats that + can be read and edited only by proprietary word processors, SGML or + XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML, PostScript or PDF + produced by some word processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a computer-network location from + which the general network-using public has access to download + using public-standard network protocols a complete Transparent + copy of the Document, free of added material. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section Entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the + section all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document 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. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation 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. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +ADDENDUM: How to use this License for your documents +==================================================== + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. - * *note gnutls_crypto_digest_register2:: To override the digest - algorithms backend. + +File: gnutls.info, Node: GNU LGPL, Next: GNU GPL, Prev: GNU Free Documentation License, Up: Copying Information - * *note gnutls_crypto_rnd_register2:: To override the random number - generator backend. +A.2 GNU Lesser General Public License +===================================== - * *note gnutls_crypto_bigint_register2:: To override the big number - number operations backend. + Version 2.1, February 1999 - * *note gnutls_crypto_pk_register2:: To override the public key - encryption backend. This is tight to the big number operations so - either both of them should be updated or care must be taken to use - the same format. + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence the + version number 2.1.] + +Preamble +-------- + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public Licenses +are intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some +specially designated software--typically libraries--of the Free +Software Foundation and other authors who decide to use it. You can use +it too, but we suggest you first think carefully about whether this +license or the ordinary General Public License is the better strategy to +use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, 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 and use pieces of it +in new free programs; and that you are informed that you can do these +things. + +To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or +for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there +is no warranty for the free library. Also, if the library is modified +by someone else and passed on, the recipients should know that what +they have is not the original version, so that the original author's +reputation will not be affected by problems that might be introduced by +others. + +Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License. This license, the GNU Lesser General +Public License, applies to certain designated libraries, and is quite +different from the ordinary General Public License. We use this +license for certain libraries in order to permit linking those +libraries into non-free programs. + +When a program is linked with a library, whether statically or using a +shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + +We call this license the "Lesser" General Public License because it +does _Less_ to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + +For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of free +software. For example, permission to use the GNU C Library in non-free +programs enables many more people to use the whole GNU operating +system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run that +program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +--------------------------------------------------------------- + + 0. This License Agreement applies to any software library or other + program which contains a notice placed by the copyright holder or + other authorized party saying it may be distributed under the + terms of this Lesser General Public License (also called "this + License"). Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or + translated straightforwardly into another language. (Hereinafter, + translation is included without limitation in the term + "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, 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 library. + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running a program using the Library is not restricted, and + output from such a program is covered only if its contents + constitute a work based on the Library (independent of the use of + the Library in a tool for writing it). Whether that is true + depends on what the Library does and what the program that uses + the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete 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 distribute a copy of this License + along with the Library. + + 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 Library or any portion + of it, thus forming a work based on the Library, 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. The modified work must itself be a software library. + + b. You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c. You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d. If a facility in the modified Library refers to a function or + a table of data to be supplied by an application program that + uses the facility, other than as an argument passed when the + facility is invoked, then you must make a good faith effort + to ensure that, in the event an application does not supply + such function or table, the facility still operates, and + performs whatever part of its purpose remains meaningful. + + (For example, a function in a library to compute square roots + has a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function + must be optional: if the application does not supply it, the + square root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Library, 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 Library, 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 Library. + + In addition, mere aggregation of another work not based on the + Library with the Library (or with a work based on the Library) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. + To do this, you must alter all the notices that refer to this + License, so that they refer to the ordinary GNU General Public + License, version 2, instead of to this License. (If a newer + version than version 2 of the ordinary GNU General Public License + has appeared, then you can specify that version instead if you + wish.) Do not make any other change in these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to + all subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable + form under the terms of Sections 1 and 2 above provided that you + 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. + + If distribution of 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 satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being + compiled or linked with it, is called a "work that uses the + Library". Such a work, in isolation, is not a derivative work of + the Library, and therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because + it contains portions of the Library), rather than a "work that + uses the library". The executable is therefore covered by this + License. Section 6 states terms for distribution of such + executables. + + When a "work that uses the Library" uses material from a header + file that is part of the Library, the object code for the work may + be a derivative work of the Library even though the source code is + not. Whether this is true is especially significant if the work + can be linked without the Library, or if the work is itself a + library. The threshold for this to be true is not precisely + defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a + derivative work. (Executables containing this object code plus + portions of the Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section + 6. Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered + by this License. You must supply a copy of this License. If the + work during execution displays copyright notices, you must include + the copyright notice for the Library among them, as well as a + reference directing the user to the copy of this License. Also, + you must do one of these things: + + a. Accompany the work with the complete corresponding + machine-readable source code for the Library including + whatever changes were used in the work (which must be + distributed under Sections 1 and 2 above); and, if the work + is an executable linked with the Library, with the complete + machine-readable "work that uses the Library", as object code + and/or source code, so that the user can modify the Library + and then relink to produce a modified executable containing + the modified Library. (It is understood that the user who + changes the contents of definitions files in the Library will + not necessarily be able to recompile the application to use + the modified definitions.) + + b. Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run + time a copy of the library already present on the user's + computer system, rather than copying library functions into + the executable, and (2) will operate properly with a modified + version of the library, if the user installs one, as long as + the modified version is interface-compatible with the version + that the work was made with. + + c. Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d. If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the + above specified materials from the same place. + + e. Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special + exception, the materials to be 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. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you + cannot use both them and the Library together in an executable + that you distribute. + + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other + library facilities not covered by this License, and distribute + such a combined library, provided that the separate distribution + of the work based on the Library and of the other library + facilities is otherwise permitted, and provided that you do these + two things: + + a. Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b. Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same + work. + + 8. You may not copy, modify, sublicense, link with, or distribute the + Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library 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. + + 9. 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 Library or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Library (or any work + based on the Library), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the + Library 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 with this License. + + 11. 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 + Library at all. For example, if a patent license would not permit + royalty-free redistribution of the Library 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 Library. + + 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. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Library 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. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Lesser 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 + Library 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 Library + does not specify a license version number, you may choose any + version ever published by the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + 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 + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE + LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY + OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + END OF TERMS AND CONDITIONS -If all of them are used then GnuTLS will no longer use libgcrypt. +How to Apply These Terms to Your New Libraries +---------------------------------------------- - -File: gnutls.info, Node: Copying Information, Next: Concept Index, Prev: Internal architecture of GnuTLS, Up: Top +If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of +the ordinary General Public License). + +To apply these terms, attach the following notices to the library. 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. + + ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES. + Copyright (C) YEAR NAME OF AUTHOR + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at + your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: -Appendix A Copying Information -****************************** + Yoyodyne, Inc., hereby disclaims all copyright interest in the library + `Frob' (a library for tweaking knobs) written by James Random Hacker. -* Menu: + SIGNATURE OF TY COON, 1 April 1990 + Ty Coon, President of Vice -* GNU Free Documentation License:: License for copying this manual. -* GNU LGPL:: License for copying the core GnuTLS library. -* GNU GPL:: License for copying GNUTLS extra and tools. +That's all there is to it! diff -Nru gnutls26-2.8.6/doc/gnutls.info-3 gnutls26-2.4.1/doc/gnutls.info-3 --- gnutls26-2.8.6/doc/gnutls.info-3 2010-03-15 10:35:26.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.info-3 2008-06-30 22:14:34.000000000 +0100 @@ -1,24 +1,25 @@ -This is gnutls.info, produced by makeinfo version 4.13 from gnutls.texi. +This is gnutls.info, produced by makeinfo version 4.11 from gnutls.texi. -This manual is last updated 2 June 2009 for version 2.8.6 of GNU TLS. +This manual is last updated 30 June 2008 for version 2.4.1 of GNU TLS. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software + Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Software libraries +INFO-DIR-SECTION GNU Libraries START-INFO-DIR-ENTRY -* GnuTLS: (gnutls). GNU Transport Layer Security Library. +* libgnutls: (gnutls). A Transport Layer Security Library. END-INFO-DIR-ENTRY -INFO-DIR-SECTION System Administration +INFO-DIR-SECTION Network Applications START-INFO-DIR-ENTRY +* GnuTLS: (gnutls). Package for Transport Layer Security. * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server. * gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client. @@ -28,1018 +29,6 @@ END-INFO-DIR-ENTRY  -File: gnutls.info, Node: GNU Free Documentation License, Next: GNU LGPL, Up: Copying Information - -A.1 GNU Free Documentation License -================================== - - Version 1.3, 3 November 2008 - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - `http://fsf.org/' - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly - and finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from - you under this License. If your rights have been terminated and - not permanently reinstated, receipt of a copy of some or all of - the same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation 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. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. If the Document specifies that a proxy - can decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: gnutls.info, Node: GNU LGPL, Next: GNU GPL, Prev: GNU Free Documentation License, Up: Copying Information - -A.2 GNU Lesser General Public License -===================================== - - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence the - version number 2.1.] - -Preamble --------- - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public Licenses -are intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. - -This license, the Lesser General Public License, applies to some -specially designated software--typically libraries--of the Free -Software Foundation and other authors who decide to use it. You can use -it too, but we suggest you first think carefully about whether this -license or the ordinary General Public License is the better strategy to -use in any particular case, based on the explanations below. - -When we speak of free software, we are referring to freedom of use, 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 and use pieces of it -in new free programs; and that you are informed that you can do these -things. - -To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - -For example, if you distribute copies of the library, whether gratis or -for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - -We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - -To protect each distributor, we want to make it very clear that there -is no warranty for the free library. Also, if the library is modified -by someone else and passed on, the recipients should know that what -they have is not the original version, so that the original author's -reputation will not be affected by problems that might be introduced by -others. - -Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - -Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License. This license, the GNU Lesser General -Public License, applies to certain designated libraries, and is quite -different from the ordinary General Public License. We use this -license for certain libraries in order to permit linking those -libraries into non-free programs. - -When a program is linked with a library, whether statically or using a -shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - -We call this license the "Lesser" General Public License because it -does _Less_ to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - -For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - -In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of free -software. For example, permission to use the GNU C Library in non-free -programs enables many more people to use the whole GNU operating -system, as well as its variant, the GNU/Linux operating system. - -Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run that -program using a modified version of the Library. - -The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ---------------------------------------------------------------- - - 0. This License Agreement applies to any software library or other - program which contains a notice placed by the copyright holder or - other authorized party saying it may be distributed under the - terms of this Lesser General Public License (also called "this - License"). Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or - translated straightforwardly into another language. (Hereinafter, - translation is included without limitation in the term - "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, 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 library. - - Activities other than copying, distribution and modification are - not covered by this License; they are outside its scope. The act - of running a program using the Library is not restricted, and - output from such a program is covered only if its contents - constitute a work based on the Library (independent of the use of - the Library in a tool for writing it). Whether that is true - depends on what the Library does and what the program that uses - the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete 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 distribute a copy of this License - along with the Library. - - 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 Library or any portion - of it, thus forming a work based on the Library, 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. The modified work must itself be a software library. - - b. You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c. You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d. If a facility in the modified Library refers to a function or - a table of data to be supplied by an application program that - uses the facility, other than as an argument passed when the - facility is invoked, then you must make a good faith effort - to ensure that, in the event an application does not supply - such function or table, the facility still operates, and - performs whatever part of its purpose remains meaningful. - - (For example, a function in a library to compute square roots - has a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function - must be optional: if the application does not supply it, the - square root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the - Library, 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 Library, 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 Library. - - In addition, mere aggregation of another work not based on the - Library with the Library (or with a work based on the Library) on - a volume of a storage or distribution medium does not bring the - other work under the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. - To do this, you must alter all the notices that refer to this - License, so that they refer to the ordinary GNU General Public - License, version 2, instead of to this License. (If a newer - version than version 2 of the ordinary GNU General Public License - has appeared, then you can specify that version instead if you - wish.) Do not make any other change in these notices. - - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to - all subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable - form under the terms of Sections 1 and 2 above provided that you - 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. - - If distribution of 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 satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being - compiled or linked with it, is called a "work that uses the - Library". Such a work, in isolation, is not a derivative work of - the Library, and therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because - it contains portions of the Library), rather than a "work that - uses the library". The executable is therefore covered by this - License. Section 6 states terms for distribution of such - executables. - - When a "work that uses the Library" uses material from a header - file that is part of the Library, the object code for the work may - be a derivative work of the Library even though the source code is - not. Whether this is true is especially significant if the work - can be linked without the Library, or if the work is itself a - library. The threshold for this to be true is not precisely - defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a - derivative work. (Executables containing this object code plus - portions of the Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section - 6. Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered - by this License. You must supply a copy of this License. If the - work during execution displays copyright notices, you must include - the copyright notice for the Library among them, as well as a - reference directing the user to the copy of this License. Also, - you must do one of these things: - - a. Accompany the work with the complete corresponding - machine-readable source code for the Library including - whatever changes were used in the work (which must be - distributed under Sections 1 and 2 above); and, if the work - is an executable linked with the Library, with the complete - machine-readable "work that uses the Library", as object code - and/or source code, so that the user can modify the Library - and then relink to produce a modified executable containing - the modified Library. (It is understood that the user who - changes the contents of definitions files in the Library will - not necessarily be able to recompile the application to use - the modified definitions.) - - b. Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run - time a copy of the library already present on the user's - computer system, rather than copying library functions into - the executable, and (2) will operate properly with a modified - version of the library, if the user installs one, as long as - the modified version is interface-compatible with the version - that the work was made with. - - c. Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - - d. If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the - above specified materials from the same place. - - e. Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special - exception, the materials to be 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. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you - cannot use both them and the Library together in an executable - that you distribute. - - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other - library facilities not covered by this License, and distribute - such a combined library, provided that the separate distribution - of the work based on the Library and of the other library - facilities is otherwise permitted, and provided that you do these - two things: - - a. Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b. Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same - work. - - 8. You may not copy, modify, sublicense, link with, or distribute the - Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library 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. - - 9. 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 Library or its derivative works. These actions - are prohibited by law if you do not accept this License. - Therefore, by modifying or distributing the Library (or any work - based on the Library), you indicate your acceptance of this - License to do so, and all its terms and conditions for copying, - distributing or modifying the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the - Library 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 with this License. - - 11. 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 - Library at all. For example, if a patent license would not permit - royalty-free redistribution of the Library 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 Library. - - 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. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, - the original copyright holder who places the Library 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. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Lesser 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 - Library 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 Library - does not specify a license version number, you may choose any - version ever published by the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - 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 - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE - LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE - LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY - SERVICING, REPAIR OR CORRECTION. - - 16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY - OTHER SOFTWARE), 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 Libraries ----------------------------------------------- - -If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of -the ordinary General Public License). - -To apply these terms, attach the following notices to the library. 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. - - ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES. - Copyright (C) YEAR NAME OF AUTHOR - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or (at - your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the library - `Frob' (a library for tweaking knobs) written by James Random Hacker. - - SIGNATURE OF TY COON, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - File: gnutls.info, Node: GNU GPL, Prev: GNU LGPL, Up: Copying Information A.3 GNU General Public License @@ -1781,11 +770,6 @@ were forced to find out", Available from `http://www.cs.auckland.ac.nz/~pgut001/'. -[NISTSP80057] - NIST Special Publication 800-57, "Recommendation for Key - Management - Part 1: General (Revised)", March 2007, available from - `http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf'. - [RFC2246] Tim Dierks and Christopher Allen, "The TLS Protocol Version 1.0", January 1999, Available from `http://www.ietf.org/rfc/rfc2246.txt'. @@ -1932,148 +916,140 @@ * gnutls_alert_send: Core functions. (line 67) * gnutls_alert_send_appropriate: Core functions. (line 44) * gnutls_anon_allocate_client_credentials: Core functions. (line 91) -* gnutls_anon_allocate_server_credentials: Core functions. (line 103) -* gnutls_anon_free_client_credentials: Core functions. (line 115) -* gnutls_anon_free_server_credentials: Core functions. (line 125) -* gnutls_anon_set_params_function: Core functions. (line 136) -* gnutls_anon_set_server_dh_params: Core functions. (line 150) -* gnutls_anon_set_server_params_function: Core functions. (line 164) -* gnutls_auth_client_get_type: Core functions. (line 177) -* gnutls_auth_get_type: Core functions. (line 191) -* gnutls_auth_server_get_type: Core functions. (line 209) -* gnutls_bye: Core functions. (line 223) -* gnutls_certificate_activation_time_peers: Core functions. (line 260) -* gnutls_certificate_allocate_credentials: Core functions. (line 275) +* gnutls_anon_allocate_server_credentials: Core functions. (line 104) +* gnutls_anon_free_client_credentials: Core functions. (line 117) +* gnutls_anon_free_server_credentials: Core functions. (line 127) +* gnutls_anon_set_params_function: Core functions. (line 138) +* gnutls_anon_set_server_dh_params: Core functions. (line 152) +* gnutls_anon_set_server_params_function: Core functions. (line 166) +* gnutls_auth_client_get_type: Core functions. (line 179) +* gnutls_auth_get_type: Core functions. (line 193) +* gnutls_auth_server_get_type: Core functions. (line 211) +* gnutls_bye: Core functions. (line 225) +* gnutls_certificate_activation_time_peers: Core functions. (line 262) +* gnutls_certificate_allocate_credentials: Core functions. (line 274) * gnutls_certificate_client_get_request_status: Core functions. - (line 288) + (line 287) * gnutls_certificate_client_set_retrieve_function: Core functions. - (line 302) -* gnutls_certificate_expiration_time_peers: Core functions. (line 338) -* gnutls_certificate_free_ca_names: Core functions. (line 352) -* gnutls_certificate_free_cas: Core functions. (line 366) -* gnutls_certificate_free_credentials: Core functions. (line 378) -* gnutls_certificate_free_crls: Core functions. (line 392) -* gnutls_certificate_free_keys: Core functions. (line 402) -* gnutls_certificate_get_openpgp_keyring: Core functions. (line 415) -* gnutls_certificate_get_ours: Core functions. (line 429) -* gnutls_certificate_get_peers: Core functions. (line 444) -* gnutls_certificate_get_x509_cas: Core functions. (line 467) -* gnutls_certificate_get_x509_crls: Core functions. (line 485) -* gnutls_certificate_send_x509_rdn_sequence: Core functions. (line 501) -* gnutls_certificate_server_set_request: Core functions. (line 519) + (line 301) +* gnutls_certificate_expiration_time_peers: Core functions. (line 337) +* gnutls_certificate_free_ca_names: Core functions. (line 348) +* gnutls_certificate_free_cas: Core functions. (line 362) +* gnutls_certificate_free_credentials: Core functions. (line 374) +* gnutls_certificate_free_crls: Core functions. (line 388) +* gnutls_certificate_free_keys: Core functions. (line 398) +* gnutls_certificate_get_openpgp_keyring: Core functions. (line 411) +* gnutls_certificate_get_ours: Core functions. (line 423) +* gnutls_certificate_get_peers: Core functions. (line 438) +* gnutls_certificate_get_x509_cas: Core functions. (line 461) +* gnutls_certificate_get_x509_crls: Core functions. (line 479) +* gnutls_certificate_send_x509_rdn_sequence: Core functions. (line 495) +* gnutls_certificate_server_set_request: Core functions. (line 513) * gnutls_certificate_server_set_retrieve_function: Core functions. - (line 535) -* gnutls_certificate_set_dh_params: Core functions. (line 560) -* gnutls_certificate_set_openpgp_key: OpenPGP functions. (line 158) + (line 529) +* gnutls_certificate_set_dh_params: Core functions. (line 554) +* gnutls_certificate_set_openpgp_key: OpenPGP functions. (line 148) * gnutls_certificate_set_openpgp_key_file: OpenPGP functions. - (line 44) + (line 46) * gnutls_certificate_set_openpgp_key_file2: OpenPGP functions. - (line 16) -* gnutls_certificate_set_openpgp_key_mem: OpenPGP functions. (line 96) + (line 18) +* gnutls_certificate_set_openpgp_key_mem: OpenPGP functions. (line 94) * gnutls_certificate_set_openpgp_key_mem2: OpenPGP functions. - (line 66) + (line 68) * gnutls_certificate_set_openpgp_keyring_file: OpenPGP functions. - (line 116) + (line 110) * gnutls_certificate_set_openpgp_keyring_mem: OpenPGP functions. - (line 136) -* gnutls_certificate_set_params_function: Core functions. (line 577) -* gnutls_certificate_set_rsa_export_params: Core functions. (line 591) -* gnutls_certificate_set_verify_flags: Core functions. (line 604) -* gnutls_certificate_set_verify_limits: Core functions. (line 618) -* gnutls_certificate_set_x509_crl: Core functions. (line 679) -* gnutls_certificate_set_x509_crl_file: Core functions. (line 637) -* gnutls_certificate_set_x509_crl_mem: Core functions. (line 658) -* gnutls_certificate_set_x509_key: Core functions. (line 767) -* gnutls_certificate_set_x509_key_file: Core functions. (line 702) -* gnutls_certificate_set_x509_key_mem: Core functions. (line 728) + (line 128) +* gnutls_certificate_set_params_function: Core functions. (line 571) +* gnutls_certificate_set_rsa_export_params: Core functions. (line 585) +* gnutls_certificate_set_verify_flags: Core functions. (line 598) +* gnutls_certificate_set_verify_limits: Core functions. (line 612) +* gnutls_certificate_set_x509_crl: Core functions. (line 673) +* gnutls_certificate_set_x509_crl_file: Core functions. (line 631) +* gnutls_certificate_set_x509_crl_mem: Core functions. (line 652) +* gnutls_certificate_set_x509_key: Core functions. (line 761) +* gnutls_certificate_set_x509_key_file: Core functions. (line 696) +* gnutls_certificate_set_x509_key_mem: Core functions. (line 722) * gnutls_certificate_set_x509_simple_pkcs12_file: Core functions. - (line 791) -* gnutls_certificate_set_x509_simple_pkcs12_mem: Core functions. - (line 831) -* gnutls_certificate_set_x509_trust: Core functions. (line 924) -* gnutls_certificate_set_x509_trust_file: Core functions. (line 873) -* gnutls_certificate_set_x509_trust_mem: Core functions. (line 899) -* gnutls_certificate_type_get: Core functions. (line 973) -* gnutls_certificate_type_get_id: Core functions. (line 949) -* gnutls_certificate_type_get_name: Core functions. (line 961) -* gnutls_certificate_type_list: Core functions. (line 986) -* gnutls_certificate_type_set_priority: Core functions. (line 998) + (line 785) +* gnutls_certificate_set_x509_trust: Core functions. (line 876) +* gnutls_certificate_set_x509_trust_file: Core functions. (line 825) +* gnutls_certificate_set_x509_trust_mem: Core functions. (line 851) +* gnutls_certificate_type_get: Core functions. (line 925) +* gnutls_certificate_type_get_id: Core functions. (line 901) +* gnutls_certificate_type_get_name: Core functions. (line 913) +* gnutls_certificate_type_list: Core functions. (line 938) +* gnutls_certificate_type_set_priority: Core functions. (line 950) * gnutls_certificate_verify_flags: Verifying X.509 certificate paths. (line 44) -* gnutls_certificate_verify_peers: Core functions. (line 1046) -* gnutls_certificate_verify_peers2: Core functions. (line 1016) -* gnutls_check_version: Core functions. (line 1065) -* gnutls_cipher_get: Core functions. (line 1119) -* gnutls_cipher_get_id: Core functions. (line 1082) -* gnutls_cipher_get_key_size: Core functions. (line 1095) -* gnutls_cipher_get_name: Core functions. (line 1107) -* gnutls_cipher_list: Core functions. (line 1131) -* gnutls_cipher_set_priority: Core functions. (line 1144) -* gnutls_cipher_suite_get_name: Core functions. (line 1163) -* gnutls_cipher_suite_info: Core functions. (line 1182) -* gnutls_compression_get: Core functions. (line 1234) -* gnutls_compression_get_id: Core functions. (line 1210) -* gnutls_compression_get_name: Core functions. (line 1222) -* gnutls_compression_list: Core functions. (line 1246) -* gnutls_compression_set_priority: Core functions. (line 1258) -* gnutls_credentials_clear: Core functions. (line 1280) -* gnutls_credentials_set: Core functions. (line 1289) -* gnutls_crypto_bigint_register2: Core functions. (line 1324) -* gnutls_crypto_cipher_register2: Core functions. (line 1353) -* gnutls_crypto_digest_register2: Core functions. (line 1379) -* gnutls_crypto_mac_register2: Core functions. (line 1405) -* gnutls_crypto_pk_register2: Core functions. (line 1430) -* gnutls_crypto_rnd_register2: Core functions. (line 1459) -* gnutls_crypto_single_cipher_register2: Core functions. (line 1486) -* gnutls_crypto_single_digest_register2: Core functions. (line 1515) -* gnutls_crypto_single_mac_register2: Core functions. (line 1544) -* gnutls_db_check_entry: Core functions. (line 1571) -* gnutls_db_get_ptr: Core functions. (line 1586) -* gnutls_db_remove_session: Core functions. (line 1597) -* gnutls_db_set_cache_expiration: Core functions. (line 1612) -* gnutls_db_set_ptr: Core functions. (line 1624) -* gnutls_db_set_remove_function: Core functions. (line 1636) -* gnutls_db_set_retrieve_function: Core functions. (line 1651) -* gnutls_db_set_store_function: Core functions. (line 1671) -* gnutls_deinit: Core functions. (line 1685) -* gnutls_dh_get_group: Core functions. (line 1696) -* gnutls_dh_get_peers_public_bits: Core functions. (line 1716) -* gnutls_dh_get_prime_bits: Core functions. (line 1728) -* gnutls_dh_get_pubkey: Core functions. (line 1745) -* gnutls_dh_get_secret_bits: Core functions. (line 1761) -* gnutls_dh_params_cpy: Core functions. (line 1775) -* gnutls_dh_params_deinit: Core functions. (line 1790) -* gnutls_dh_params_export_pkcs3: Core functions. (line 1800) -* gnutls_dh_params_export_raw: Core functions. (line 1827) -* gnutls_dh_params_generate2: Core functions. (line 1848) -* gnutls_dh_params_import_pkcs3: Core functions. (line 1871) -* gnutls_dh_params_import_raw: Core functions. (line 1893) -* gnutls_dh_params_init: Core functions. (line 1910) -* gnutls_dh_set_prime_bits: Core functions. (line 1922) -* gnutls_error_is_fatal: Core functions. (line 1941) -* gnutls_error_to_alert: Core functions. (line 1959) -* gnutls_ext_register: Core functions. (line 1980) +* gnutls_certificate_verify_peers: Core functions. (line 998) +* gnutls_certificate_verify_peers2: Core functions. (line 968) +* gnutls_check_version: Core functions. (line 1018) +* gnutls_cipher_get: Core functions. (line 1072) +* gnutls_cipher_get_id: Core functions. (line 1037) +* gnutls_cipher_get_key_size: Core functions. (line 1048) +* gnutls_cipher_get_name: Core functions. (line 1060) +* gnutls_cipher_list: Core functions. (line 1084) +* gnutls_cipher_set_priority: Core functions. (line 1097) +* gnutls_cipher_suite_get_name: Core functions. (line 1116) +* gnutls_cipher_suite_info: Core functions. (line 1135) +* gnutls_compression_get: Core functions. (line 1185) +* gnutls_compression_get_id: Core functions. (line 1163) +* gnutls_compression_get_name: Core functions. (line 1173) +* gnutls_compression_list: Core functions. (line 1197) +* gnutls_compression_set_priority: Core functions. (line 1209) +* gnutls_credentials_clear: Core functions. (line 1231) +* gnutls_credentials_set: Core functions. (line 1240) +* gnutls_crypto_cipher_register: Core functions. (line 1272) +* gnutls_crypto_digest_register: Core functions. (line 1294) +* gnutls_crypto_mac_register: Core functions. (line 1315) +* gnutls_crypto_rnd_register: Core functions. (line 1335) +* gnutls_db_check_entry: Core functions. (line 1354) +* gnutls_db_get_ptr: Core functions. (line 1369) +* gnutls_db_remove_session: Core functions. (line 1380) +* gnutls_db_set_cache_expiration: Core functions. (line 1395) +* gnutls_db_set_ptr: Core functions. (line 1407) +* gnutls_db_set_remove_function: Core functions. (line 1419) +* gnutls_db_set_retrieve_function: Core functions. (line 1434) +* gnutls_db_set_store_function: Core functions. (line 1454) +* gnutls_deinit: Core functions. (line 1468) +* gnutls_dh_get_group: Core functions. (line 1479) +* gnutls_dh_get_peers_public_bits: Core functions. (line 1499) +* gnutls_dh_get_prime_bits: Core functions. (line 1511) +* gnutls_dh_get_pubkey: Core functions. (line 1525) +* gnutls_dh_get_secret_bits: Core functions. (line 1541) +* gnutls_dh_params_cpy: Core functions. (line 1555) +* gnutls_dh_params_deinit: Core functions. (line 1567) +* gnutls_dh_params_export_pkcs3: Core functions. (line 1577) +* gnutls_dh_params_export_raw: Core functions. (line 1604) +* gnutls_dh_params_generate2: Core functions. (line 1622) +* gnutls_dh_params_import_pkcs3: Core functions. (line 1642) +* gnutls_dh_params_import_raw: Core functions. (line 1664) +* gnutls_dh_params_init: Core functions. (line 1678) +* gnutls_dh_set_prime_bits: Core functions. (line 1687) +* gnutls_error_is_fatal: Core functions. (line 1704) +* gnutls_error_to_alert: Core functions. (line 1722) * gnutls_extra_check_version: GnuTLS-extra functions. (line 15) -* gnutls_fingerprint: Core functions. (line 2002) -* gnutls_free: Core functions. (line 2027) -* gnutls_global_deinit: Core functions. (line 2036) -* gnutls_global_init: Core functions. (line 2046) +* gnutls_fingerprint: Core functions. (line 1743) +* gnutls_free: Core functions. (line 1768) +* gnutls_global_deinit: Core functions. (line 1777) +* gnutls_global_init: Core functions. (line 1787) * gnutls_global_init_extra: GnuTLS-extra functions. - (line 31) -* gnutls_global_set_log_function: Core functions. (line 2080) -* gnutls_global_set_log_level: Core functions. (line 2094) -* gnutls_global_set_mem_functions: Core functions. (line 2111) -* gnutls_handshake: Core functions. (line 2237) -* gnutls_handshake_get_last_in: Core functions. (line 2140) -* gnutls_handshake_get_last_out: Core functions. (line 2157) -* gnutls_handshake_set_max_packet_length: Core functions. (line 2174) + (line 26) +* gnutls_global_set_log_function: Core functions. (line 1821) +* gnutls_global_set_log_level: Core functions. (line 1835) +* gnutls_global_set_mem_functions: Core functions. (line 1852) +* gnutls_handshake: Core functions. (line 1976) +* gnutls_handshake_get_last_in: Core functions. (line 1881) +* gnutls_handshake_get_last_out: Core functions. (line 1898) +* gnutls_handshake_set_max_packet_length: Core functions. (line 1915) * gnutls_handshake_set_post_client_hello_function: Core functions. - (line 2193) -* gnutls_handshake_set_private_extensions: Core functions. (line 2218) -* gnutls_hex2bin: Core functions. (line 2266) -* gnutls_hex_decode: Core functions. (line 2286) -* gnutls_hex_encode: Core functions. (line 2305) + (line 1934) +* gnutls_handshake_set_private_extensions: Core functions. (line 1957) +* gnutls_hex2bin: Core functions. (line 2005) +* gnutls_hex_decode: Core functions. (line 2025) +* gnutls_hex_encode: Core functions. (line 2044) * gnutls_ia_allocate_client_credentials: TLS Inner Application (TLS/IA) functions. (line 59) * gnutls_ia_allocate_server_credentials: TLS Inner Application (TLS/IA) functions. @@ -2099,636 +1075,567 @@ * gnutls_ia_handshake_p: TLS Inner Application (TLS/IA) functions. (line 223) * gnutls_ia_permute_inner_secret: TLS Inner Application (TLS/IA) functions. - (line 249) + (line 248) * gnutls_ia_recv: TLS Inner Application (TLS/IA) functions. - (line 268) + (line 267) * gnutls_ia_send: TLS Inner Application (TLS/IA) functions. - (line 302) + (line 301) * gnutls_ia_set_client_avp_function: TLS Inner Application (TLS/IA) functions. - (line 335) + (line 334) * gnutls_ia_set_client_avp_ptr: TLS Inner Application (TLS/IA) functions. - (line 371) + (line 370) * gnutls_ia_set_server_avp_function: TLS Inner Application (TLS/IA) functions. - (line 384) + (line 383) * gnutls_ia_set_server_avp_ptr: TLS Inner Application (TLS/IA) functions. - (line 426) + (line 425) * gnutls_ia_verify_endphase: TLS Inner Application (TLS/IA) functions. - (line 438) -* gnutls_init: Core functions. (line 2322) -* gnutls_kx_get: Core functions. (line 2365) -* gnutls_kx_get_id: Core functions. (line 2340) -* gnutls_kx_get_name: Core functions. (line 2353) -* gnutls_kx_list: Core functions. (line 2376) -* gnutls_kx_set_priority: Core functions. (line 2386) -* gnutls_mac_get: Core functions. (line 2441) -* gnutls_mac_get_id: Core functions. (line 2404) -* gnutls_mac_get_key_size: Core functions. (line 2417) -* gnutls_mac_get_name: Core functions. (line 2429) -* gnutls_mac_list: Core functions. (line 2452) -* gnutls_mac_set_priority: Core functions. (line 2465) -* gnutls_malloc: Core functions. (line 2482) -* gnutls_openpgp_crt_check_hostname: OpenPGP functions. (line 177) -* gnutls_openpgp_crt_deinit: OpenPGP functions. (line 191) -* gnutls_openpgp_crt_export: OpenPGP functions. (line 201) -* gnutls_openpgp_crt_get_auth_subkey: OpenPGP functions. (line 222) -* gnutls_openpgp_crt_get_creation_time: OpenPGP functions. (line 243) -* gnutls_openpgp_crt_get_expiration_time: OpenPGP functions. (line 254) -* gnutls_openpgp_crt_get_fingerprint: OpenPGP functions. (line 266) -* gnutls_openpgp_crt_get_key_id: OpenPGP functions. (line 283) -* gnutls_openpgp_crt_get_key_usage: OpenPGP functions. (line 298) -* gnutls_openpgp_crt_get_name: OpenPGP functions. (line 313) -* gnutls_openpgp_crt_get_pk_algorithm: OpenPGP functions. (line 333) -* gnutls_openpgp_crt_get_pk_dsa_raw: OpenPGP functions. (line 354) -* gnutls_openpgp_crt_get_pk_rsa_raw: OpenPGP functions. (line 378) + (line 437) +* gnutls_init: Core functions. (line 2061) +* gnutls_kx_get: Core functions. (line 2102) +* gnutls_kx_get_id: Core functions. (line 2079) +* gnutls_kx_get_name: Core functions. (line 2090) +* gnutls_kx_list: Core functions. (line 2113) +* gnutls_kx_set_priority: Core functions. (line 2123) +* gnutls_mac_get: Core functions. (line 2176) +* gnutls_mac_get_id: Core functions. (line 2141) +* gnutls_mac_get_key_size: Core functions. (line 2152) +* gnutls_mac_get_name: Core functions. (line 2164) +* gnutls_mac_list: Core functions. (line 2187) +* gnutls_mac_set_priority: Core functions. (line 2200) +* gnutls_malloc: Core functions. (line 2217) +* gnutls_openpgp_crt_check_hostname: OpenPGP functions. (line 164) +* gnutls_openpgp_crt_deinit: OpenPGP functions. (line 178) +* gnutls_openpgp_crt_export: OpenPGP functions. (line 188) +* gnutls_openpgp_crt_get_auth_subkey: OpenPGP functions. (line 209) +* gnutls_openpgp_crt_get_creation_time: OpenPGP functions. (line 225) +* gnutls_openpgp_crt_get_expiration_time: OpenPGP functions. (line 236) +* gnutls_openpgp_crt_get_fingerprint: OpenPGP functions. (line 248) +* gnutls_openpgp_crt_get_key_id: OpenPGP functions. (line 265) +* gnutls_openpgp_crt_get_key_usage: OpenPGP functions. (line 280) +* gnutls_openpgp_crt_get_name: OpenPGP functions. (line 295) +* gnutls_openpgp_crt_get_pk_algorithm: OpenPGP functions. (line 315) +* gnutls_openpgp_crt_get_pk_dsa_raw: OpenPGP functions. (line 336) +* gnutls_openpgp_crt_get_pk_rsa_raw: OpenPGP functions. (line 360) * gnutls_openpgp_crt_get_preferred_key_id: OpenPGP functions. - (line 397) -* gnutls_openpgp_crt_get_revoked_status: OpenPGP functions. (line 411) -* gnutls_openpgp_crt_get_subkey_count: OpenPGP functions. (line 425) + (line 379) +* gnutls_openpgp_crt_get_revoked_status: OpenPGP functions. (line 393) +* gnutls_openpgp_crt_get_subkey_count: OpenPGP functions. (line 407) * gnutls_openpgp_crt_get_subkey_creation_time: OpenPGP functions. - (line 439) + (line 421) * gnutls_openpgp_crt_get_subkey_expiration_time: OpenPGP functions. - (line 454) + (line 436) * gnutls_openpgp_crt_get_subkey_fingerprint: OpenPGP functions. - (line 471) -* gnutls_openpgp_crt_get_subkey_id: OpenPGP functions. (line 508) -* gnutls_openpgp_crt_get_subkey_idx: OpenPGP functions. (line 492) + (line 453) +* gnutls_openpgp_crt_get_subkey_id: OpenPGP functions. (line 490) +* gnutls_openpgp_crt_get_subkey_idx: OpenPGP functions. (line 474) * gnutls_openpgp_crt_get_subkey_pk_algorithm: OpenPGP functions. - (line 524) + (line 506) * gnutls_openpgp_crt_get_subkey_pk_dsa_raw: OpenPGP functions. - (line 549) + (line 531) * gnutls_openpgp_crt_get_subkey_pk_rsa_raw: OpenPGP functions. - (line 575) + (line 557) * gnutls_openpgp_crt_get_subkey_revoked_status: OpenPGP functions. - (line 596) -* gnutls_openpgp_crt_get_subkey_usage: OpenPGP functions. (line 613) -* gnutls_openpgp_crt_get_version: OpenPGP functions. (line 634) -* gnutls_openpgp_crt_import: OpenPGP functions. (line 646) -* gnutls_openpgp_crt_init: OpenPGP functions. (line 662) -* gnutls_openpgp_crt_print: OpenPGP functions. (line 674) + (line 578) +* gnutls_openpgp_crt_get_subkey_usage: OpenPGP functions. (line 595) +* gnutls_openpgp_crt_get_version: OpenPGP functions. (line 616) +* gnutls_openpgp_crt_import: OpenPGP functions. (line 628) +* gnutls_openpgp_crt_init: OpenPGP functions. (line 644) +* gnutls_openpgp_crt_print: OpenPGP functions. (line 656) * gnutls_openpgp_crt_set_preferred_key_id: OpenPGP functions. - (line 694) -* gnutls_openpgp_crt_verify_ring: OpenPGP functions. (line 710) -* gnutls_openpgp_crt_verify_self: OpenPGP functions. (line 732) -* gnutls_openpgp_keyring_check_id: OpenPGP functions. (line 750) -* gnutls_openpgp_keyring_deinit: OpenPGP functions. (line 766) -* gnutls_openpgp_keyring_get_crt: OpenPGP functions. (line 788) -* gnutls_openpgp_keyring_get_crt_count: OpenPGP functions. (line 775) -* gnutls_openpgp_keyring_import: OpenPGP functions. (line 807) -* gnutls_openpgp_keyring_init: OpenPGP functions. (line 824) -* gnutls_openpgp_privkey_deinit: OpenPGP functions. (line 835) -* gnutls_openpgp_privkey_export: OpenPGP functions. (line 963) -* gnutls_openpgp_privkey_export_dsa_raw: OpenPGP functions. (line 846) -* gnutls_openpgp_privkey_export_rsa_raw: OpenPGP functions. (line 873) + (line 676) +* gnutls_openpgp_crt_verify_ring: OpenPGP functions. (line 689) +* gnutls_openpgp_crt_verify_self: OpenPGP functions. (line 711) +* gnutls_openpgp_keyring_check_id: OpenPGP functions. (line 729) +* gnutls_openpgp_keyring_deinit: OpenPGP functions. (line 745) +* gnutls_openpgp_keyring_get_crt: OpenPGP functions. (line 767) +* gnutls_openpgp_keyring_get_crt_count: OpenPGP functions. (line 754) +* gnutls_openpgp_keyring_import: OpenPGP functions. (line 782) +* gnutls_openpgp_keyring_init: OpenPGP functions. (line 799) +* gnutls_openpgp_privkey_deinit: OpenPGP functions. (line 810) +* gnutls_openpgp_privkey_export: OpenPGP functions. (line 938) +* gnutls_openpgp_privkey_export_dsa_raw: OpenPGP functions. (line 821) +* gnutls_openpgp_privkey_export_rsa_raw: OpenPGP functions. (line 848) * gnutls_openpgp_privkey_export_subkey_dsa_raw: OpenPGP functions. - (line 902) + (line 877) * gnutls_openpgp_privkey_export_subkey_rsa_raw: OpenPGP functions. - (line 932) -* gnutls_openpgp_privkey_get_fingerprint: OpenPGP functions. (line 990) -* gnutls_openpgp_privkey_get_key_id: OpenPGP functions. (line 1009) + (line 907) +* gnutls_openpgp_privkey_get_fingerprint: OpenPGP functions. (line 964) +* gnutls_openpgp_privkey_get_key_id: OpenPGP functions. (line 983) * gnutls_openpgp_privkey_get_pk_algorithm: OpenPGP functions. - (line 1025) + (line 999) * gnutls_openpgp_privkey_get_preferred_key_id: OpenPGP functions. - (line 1047) + (line 1021) * gnutls_openpgp_privkey_get_revoked_status: OpenPGP functions. - (line 1061) + (line 1035) * gnutls_openpgp_privkey_get_subkey_count: OpenPGP functions. - (line 1075) + (line 1049) * gnutls_openpgp_privkey_get_subkey_creation_time: OpenPGP functions. - (line 1089) + (line 1063) * gnutls_openpgp_privkey_get_subkey_expiration_time: OpenPGP functions. - (line 1104) + (line 1078) * gnutls_openpgp_privkey_get_subkey_fingerprint: OpenPGP functions. - (line 1121) -* gnutls_openpgp_privkey_get_subkey_id: OpenPGP functions. (line 1159) -* gnutls_openpgp_privkey_get_subkey_idx: OpenPGP functions. (line 1143) + (line 1095) +* gnutls_openpgp_privkey_get_subkey_id: OpenPGP functions. (line 1133) +* gnutls_openpgp_privkey_get_subkey_idx: OpenPGP functions. (line 1117) * gnutls_openpgp_privkey_get_subkey_pk_algorithm: OpenPGP functions. - (line 1178) + (line 1152) * gnutls_openpgp_privkey_get_subkey_revoked_status: OpenPGP functions. - (line 1202) -* gnutls_openpgp_privkey_import: OpenPGP functions. (line 1220) -* gnutls_openpgp_privkey_init: OpenPGP functions. (line 1241) + (line 1176) +* gnutls_openpgp_privkey_import: OpenPGP functions. (line 1194) +* gnutls_openpgp_privkey_init: OpenPGP functions. (line 1215) * gnutls_openpgp_privkey_set_preferred_key_id: OpenPGP functions. - (line 1253) -* gnutls_openpgp_privkey_sign_hash: OpenPGP functions. (line 1268) -* gnutls_openpgp_send_cert: Core functions. (line 2493) -* gnutls_openpgp_set_recv_key_function: OpenPGP functions. (line 1286) -* gnutls_oprfi_enable_client: Core functions. (line 2508) -* gnutls_oprfi_enable_server: Core functions. (line 2526) -* gnutls_pem_base64_decode: Core functions. (line 2575) -* gnutls_pem_base64_decode_alloc: Core functions. (line 2552) -* gnutls_pem_base64_encode: Core functions. (line 2619) -* gnutls_pem_base64_encode_alloc: Core functions. (line 2598) -* gnutls_perror: Core functions. (line 2641) -* gnutls_pk_algorithm_get_name: Core functions. (line 2651) -* gnutls_pk_get_id: Core functions. (line 2662) -* gnutls_pk_get_name: Core functions. (line 2678) -* gnutls_pk_list: Core functions. (line 2691) + (line 1227) +* gnutls_openpgp_privkey_sign_hash: OpenPGP functions. (line 1242) +* gnutls_openpgp_send_cert: Core functions. (line 2228) +* gnutls_openpgp_set_recv_key_function: OpenPGP functions. (line 1260) +* gnutls_oprfi_enable_client: Core functions. (line 2243) +* gnutls_oprfi_enable_server: Core functions. (line 2261) +* gnutls_pem_base64_decode: Core functions. (line 2310) +* gnutls_pem_base64_decode_alloc: Core functions. (line 2287) +* gnutls_pem_base64_encode: Core functions. (line 2354) +* gnutls_pem_base64_encode_alloc: Core functions. (line 2333) +* gnutls_perror: Core functions. (line 2376) +* gnutls_pk_algorithm_get_name: Core functions. (line 2387) * gnutls_pkcs12_bag_decrypt: X.509 certificate functions. (line 14) * gnutls_pkcs12_bag_deinit: X.509 certificate functions. - (line 28) + (line 25) * gnutls_pkcs12_bag_encrypt: X.509 certificate functions. - (line 37) + (line 34) * gnutls_pkcs12_bag_get_count: X.509 certificate functions. - (line 53) + (line 47) * gnutls_pkcs12_bag_get_data: X.509 certificate functions. - (line 66) + (line 57) * gnutls_pkcs12_bag_get_friendly_name: X.509 certificate functions. - (line 84) + (line 75) * gnutls_pkcs12_bag_get_key_id: X.509 certificate functions. - (line 102) + (line 93) * gnutls_pkcs12_bag_get_type: X.509 certificate functions. - (line 120) + (line 111) * gnutls_pkcs12_bag_init: X.509 certificate functions. - (line 132) + (line 122) * gnutls_pkcs12_bag_set_crl: X.509 certificate functions. - (line 146) + (line 136) * gnutls_pkcs12_bag_set_crt: X.509 certificate functions. - (line 161) + (line 151) * gnutls_pkcs12_bag_set_data: X.509 certificate functions. - (line 176) + (line 166) * gnutls_pkcs12_bag_set_friendly_name: X.509 certificate functions. - (line 193) + (line 183) * gnutls_pkcs12_bag_set_key_id: X.509 certificate functions. - (line 212) + (line 202) * gnutls_pkcs12_deinit: X.509 certificate functions. - (line 230) + (line 220) * gnutls_pkcs12_export: X.509 certificate functions. - (line 240) + (line 230) * gnutls_pkcs12_generate_mac: X.509 certificate functions. - (line 267) + (line 257) * gnutls_pkcs12_get_bag: X.509 certificate functions. - (line 281) + (line 271) * gnutls_pkcs12_import: X.509 certificate functions. - (line 302) + (line 292) * gnutls_pkcs12_init: X.509 certificate functions. - (line 323) + (line 313) * gnutls_pkcs12_set_bag: X.509 certificate functions. - (line 337) + (line 327) * gnutls_pkcs12_verify_mac: X.509 certificate functions. - (line 351) + (line 341) * gnutls_pkcs7_deinit: X.509 certificate functions. - (line 364) + (line 354) * gnutls_pkcs7_delete_crl: X.509 certificate functions. - (line 373) + (line 363) * gnutls_pkcs7_delete_crt: X.509 certificate functions. - (line 388) + (line 376) * gnutls_pkcs7_export: X.509 certificate functions. - (line 404) + (line 390) * gnutls_pkcs7_get_crl_count: X.509 certificate functions. - (line 429) + (line 415) * gnutls_pkcs7_get_crl_raw: X.509 certificate functions. - (line 442) + (line 426) * gnutls_pkcs7_get_crt_count: X.509 certificate functions. - (line 462) + (line 444) * gnutls_pkcs7_get_crt_raw: X.509 certificate functions. - (line 475) + (line 455) * gnutls_pkcs7_import: X.509 certificate functions. - (line 500) + (line 478) * gnutls_pkcs7_init: X.509 certificate functions. - (line 519) + (line 497) * gnutls_pkcs7_set_crl: X.509 certificate functions. - (line 547) + (line 523) * gnutls_pkcs7_set_crl_raw: X.509 certificate functions. - (line 533) + (line 511) * gnutls_pkcs7_set_crt: X.509 certificate functions. - (line 577) + (line 549) * gnutls_pkcs7_set_crt_raw: X.509 certificate functions. - (line 562) -* gnutls_prf: Core functions. (line 2744) -* gnutls_prf_raw: Core functions. (line 2704) -* gnutls_priority_deinit: Core functions. (line 2784) -* gnutls_priority_init: Core functions. (line 2794) -* gnutls_priority_set: Core functions. (line 2905) -* gnutls_priority_set_direct: Core functions. (line 2885) -* gnutls_protocol_get_id: Core functions. (line 2919) -* gnutls_protocol_get_name: Core functions. (line 2931) -* gnutls_protocol_get_version: Core functions. (line 2943) -* gnutls_protocol_list: Core functions. (line 2953) -* gnutls_protocol_set_priority: Core functions. (line 2963) -* gnutls_psk_allocate_client_credentials: Core functions. (line 2978) -* gnutls_psk_allocate_server_credentials: Core functions. (line 2990) -* gnutls_psk_client_get_hint: Core functions. (line 3002) -* gnutls_psk_free_client_credentials: Core functions. (line 3018) -* gnutls_psk_free_server_credentials: Core functions. (line 3028) -* gnutls_psk_netconf_derive_key: Core functions. (line 3039) -* gnutls_psk_server_get_username: Core functions. (line 3060) -* gnutls_psk_set_client_credentials: Core functions. (line 3097) + (line 536) +* gnutls_prf: Core functions. (line 2440) +* gnutls_prf_raw: Core functions. (line 2400) +* gnutls_priority_deinit: Core functions. (line 2480) +* gnutls_priority_init: Core functions. (line 2490) +* gnutls_priority_set: Core functions. (line 2585) +* gnutls_priority_set_direct: Core functions. (line 2565) +* gnutls_protocol_get_id: Core functions. (line 2599) +* gnutls_protocol_get_name: Core functions. (line 2609) +* gnutls_protocol_get_version: Core functions. (line 2621) +* gnutls_protocol_list: Core functions. (line 2631) +* gnutls_protocol_set_priority: Core functions. (line 2641) +* gnutls_psk_allocate_client_credentials: Core functions. (line 2656) +* gnutls_psk_allocate_server_credentials: Core functions. (line 2668) +* gnutls_psk_client_get_hint: Core functions. (line 2680) +* gnutls_psk_free_client_credentials: Core functions. (line 2696) +* gnutls_psk_free_server_credentials: Core functions. (line 2706) +* gnutls_psk_netconf_derive_key: Core functions. (line 2717) +* gnutls_psk_server_get_username: Core functions. (line 2738) +* gnutls_psk_set_client_credentials: Core functions. (line 2775) * gnutls_psk_set_client_credentials_function: Core functions. - (line 3073) -* gnutls_psk_set_params_function: Core functions. (line 3118) -* gnutls_psk_set_server_credentials_file: Core functions. (line 3132) + (line 2751) +* gnutls_psk_set_params_function: Core functions. (line 2796) +* gnutls_psk_set_server_credentials_file: Core functions. (line 2810) * gnutls_psk_set_server_credentials_function: Core functions. - (line 3148) -* gnutls_psk_set_server_credentials_hint: Core functions. (line 3172) -* gnutls_psk_set_server_dh_params: Core functions. (line 3191) -* gnutls_psk_set_server_params_function: Core functions. (line 3205) -* gnutls_record_check_pending: Core functions. (line 3218) -* gnutls_record_disable_padding: Core functions. (line 3234) -* gnutls_record_get_direction: Core functions. (line 3248) -* gnutls_record_get_max_size: Core functions. (line 3269) -* gnutls_record_recv: Core functions. (line 3281) -* gnutls_record_send: Core functions. (line 3316) -* gnutls_record_set_max_size: Core functions. (line 3349) -* gnutls_rehandshake: Core functions. (line 3372) -* gnutls_rsa_export_get_modulus_bits: Core functions. (line 3397) -* gnutls_rsa_export_get_pubkey: Core functions. (line 3409) -* gnutls_rsa_params_cpy: Core functions. (line 3427) -* gnutls_rsa_params_deinit: Core functions. (line 3442) -* gnutls_rsa_params_export_pkcs1: Core functions. (line 3452) -* gnutls_rsa_params_export_raw: Core functions. (line 3480) -* gnutls_rsa_params_generate2: Core functions. (line 3508) -* gnutls_rsa_params_import_pkcs1: Core functions. (line 3530) -* gnutls_rsa_params_import_raw: Core functions. (line 3553) -* gnutls_rsa_params_init: Core functions. (line 3579) -* gnutls_server_name_get: Core functions. (line 3593) -* gnutls_server_name_set: Core functions. (line 3630) -* gnutls_session_enable_compatibility_mode: Core functions. (line 3656) -* gnutls_session_get_client_random: Core functions. (line 3670) -* gnutls_session_get_data: Core functions. (line 3708) -* gnutls_session_get_data2: Core functions. (line 3686) -* gnutls_session_get_id: Core functions. (line 3732) -* gnutls_session_get_master_secret: Core functions. (line 3756) -* gnutls_session_get_ptr: Core functions. (line 3774) -* gnutls_session_get_server_random: Core functions. (line 3787) -* gnutls_session_is_resumed: Core functions. (line 3802) -* gnutls_session_set_data: Core functions. (line 3814) -* gnutls_session_set_finished_function: Core functions. (line 3837) -* gnutls_session_set_ptr: Core functions. (line 3865) -* gnutls_set_default_export_priority: Core functions. (line 3878) -* gnutls_set_default_priority: Core functions. (line 3899) -* gnutls_sign_algorithm_get_name: Core functions. (line 3920) -* gnutls_sign_callback_get: Core functions. (line 3932) -* gnutls_sign_callback_set: Core functions. (line 3946) -* gnutls_sign_get_id: Core functions. (line 3968) -* gnutls_sign_get_name: Core functions. (line 3980) -* gnutls_sign_list: Core functions. (line 3993) -* gnutls_srp_allocate_client_credentials: Core functions. (line 4003) -* gnutls_srp_allocate_server_credentials: Core functions. (line 4016) -* gnutls_srp_base64_decode: Core functions. (line 4049) -* gnutls_srp_base64_decode_alloc: Core functions. (line 4029) -* gnutls_srp_base64_encode: Core functions. (line 4092) -* gnutls_srp_base64_encode_alloc: Core functions. (line 4071) -* gnutls_srp_free_client_credentials: Core functions. (line 4114) -* gnutls_srp_free_server_credentials: Core functions. (line 4124) -* gnutls_srp_server_get_username: Core functions. (line 4134) -* gnutls_srp_set_client_credentials: Core functions. (line 4179) + (line 2826) +* gnutls_psk_set_server_credentials_hint: Core functions. (line 2850) +* gnutls_psk_set_server_dh_params: Core functions. (line 2869) +* gnutls_psk_set_server_params_function: Core functions. (line 2883) +* gnutls_record_check_pending: Core functions. (line 2896) +* gnutls_record_disable_padding: Core functions. (line 2909) +* gnutls_record_get_direction: Core functions. (line 2923) +* gnutls_record_get_max_size: Core functions. (line 2944) +* gnutls_record_recv: Core functions. (line 2955) +* gnutls_record_send: Core functions. (line 2990) +* gnutls_record_set_max_size: Core functions. (line 3023) +* gnutls_rehandshake: Core functions. (line 3043) +* gnutls_rsa_export_get_modulus_bits: Core functions. (line 3068) +* gnutls_rsa_export_get_pubkey: Core functions. (line 3080) +* gnutls_rsa_params_cpy: Core functions. (line 3098) +* gnutls_rsa_params_deinit: Core functions. (line 3110) +* gnutls_rsa_params_export_pkcs1: Core functions. (line 3120) +* gnutls_rsa_params_export_raw: Core functions. (line 3148) +* gnutls_rsa_params_generate2: Core functions. (line 3173) +* gnutls_rsa_params_import_pkcs1: Core functions. (line 3192) +* gnutls_rsa_params_import_raw: Core functions. (line 3215) +* gnutls_rsa_params_init: Core functions. (line 3238) +* gnutls_server_name_get: Core functions. (line 3249) +* gnutls_server_name_set: Core functions. (line 3283) +* gnutls_session_enable_compatibility_mode: Core functions. (line 3306) +* gnutls_session_get_client_random: Core functions. (line 3320) +* gnutls_session_get_data: Core functions. (line 3356) +* gnutls_session_get_data2: Core functions. (line 3336) +* gnutls_session_get_id: Core functions. (line 3380) +* gnutls_session_get_master_secret: Core functions. (line 3404) +* gnutls_session_get_ptr: Core functions. (line 3422) +* gnutls_session_get_server_random: Core functions. (line 3435) +* gnutls_session_is_resumed: Core functions. (line 3450) +* gnutls_session_set_data: Core functions. (line 3462) +* gnutls_session_set_ptr: Core functions. (line 3485) +* gnutls_set_default_export_priority: Core functions. (line 3498) +* gnutls_set_default_priority: Core functions. (line 3519) +* gnutls_sign_algorithm_get_name: Core functions. (line 3540) +* gnutls_sign_callback_get: Core functions. (line 3550) +* gnutls_sign_callback_set: Core functions. (line 3564) +* gnutls_srp_allocate_client_credentials: Core functions. (line 3586) +* gnutls_srp_allocate_server_credentials: Core functions. (line 3599) +* gnutls_srp_base64_decode: Core functions. (line 3632) +* gnutls_srp_base64_decode_alloc: Core functions. (line 3612) +* gnutls_srp_base64_encode: Core functions. (line 3675) +* gnutls_srp_base64_encode_alloc: Core functions. (line 3654) +* gnutls_srp_free_client_credentials: Core functions. (line 3697) +* gnutls_srp_free_server_credentials: Core functions. (line 3707) +* gnutls_srp_server_get_username: Core functions. (line 3717) +* gnutls_srp_set_client_credentials: Core functions. (line 3762) * gnutls_srp_set_client_credentials_function: Core functions. - (line 4148) -* gnutls_srp_set_prime_bits: Core functions. (line 4199) -* gnutls_srp_set_server_credentials_file: Core functions. (line 4221) + (line 3731) +* gnutls_srp_set_server_credentials_file: Core functions. (line 3783) * gnutls_srp_set_server_credentials_function: Core functions. - (line 4241) -* gnutls_srp_verifier: Core functions. (line 4275) -* gnutls_strerror: Core functions. (line 4318) -* gnutls_strerror_name: Core functions. (line 4303) -* gnutls_transport_get_ptr: Core functions. (line 4349) -* gnutls_transport_get_ptr2: Core functions. (line 4334) -* gnutls_transport_set_errno: Core functions. (line 4362) -* gnutls_transport_set_global_errno: Core functions. (line 4385) -* gnutls_transport_set_lowat: Core functions. (line 4408) -* gnutls_transport_set_ptr: Core functions. (line 4441) -* gnutls_transport_set_ptr2: Core functions. (line 4425) -* gnutls_transport_set_pull_function: Core functions. (line 4454) -* gnutls_transport_set_push_function: Core functions. (line 4470) + (line 3803) +* gnutls_srp_verifier: Core functions. (line 3837) +* gnutls_strerror: Core functions. (line 3865) +* gnutls_transport_get_ptr: Core functions. (line 3893) +* gnutls_transport_get_ptr2: Core functions. (line 3878) +* gnutls_transport_set_errno: Core functions. (line 3906) +* gnutls_transport_set_global_errno: Core functions. (line 3929) +* gnutls_transport_set_lowat: Core functions. (line 3952) +* gnutls_transport_set_ptr: Core functions. (line 3985) +* gnutls_transport_set_ptr2: Core functions. (line 3969) +* gnutls_transport_set_pull_function: Core functions. (line 3998) +* gnutls_transport_set_push_function: Core functions. (line 4015) * gnutls_x509_crl_check_issuer: X.509 certificate functions. - (line 593) + (line 563) * gnutls_x509_crl_deinit: X.509 certificate functions. - (line 606) + (line 575) * gnutls_x509_crl_export: X.509 certificate functions. - (line 616) -* gnutls_x509_crl_get_authority_key_id: X.509 certificate functions. - (line 642) + (line 585) * gnutls_x509_crl_get_crt_count: X.509 certificate functions. - (line 665) + (line 609) * gnutls_x509_crl_get_crt_serial: X.509 certificate functions. - (line 678) + (line 622) * gnutls_x509_crl_get_dn_oid: X.509 certificate functions. - (line 699) -* gnutls_x509_crl_get_extension_data: X.509 certificate functions. - (line 722) -* gnutls_x509_crl_get_extension_info: X.509 certificate functions. - (line 753) -* gnutls_x509_crl_get_extension_oid: X.509 certificate functions. - (line 786) + (line 643) * gnutls_x509_crl_get_issuer_dn: X.509 certificate functions. - (line 847) + (line 702) * gnutls_x509_crl_get_issuer_dn_by_oid: X.509 certificate functions. - (line 812) + (line 667) * gnutls_x509_crl_get_next_update: X.509 certificate functions. - (line 869) -* gnutls_x509_crl_get_number: X.509 certificate functions. - (line 883) + (line 724) * gnutls_x509_crl_get_signature: X.509 certificate functions. - (line 918) + (line 751) * gnutls_x509_crl_get_signature_algorithm: X.509 certificate functions. - (line 905) + (line 738) * gnutls_x509_crl_get_this_update: X.509 certificate functions. - (line 935) + (line 768) * gnutls_x509_crl_get_version: X.509 certificate functions. - (line 945) + (line 778) * gnutls_x509_crl_import: X.509 certificate functions. - (line 956) + (line 789) * gnutls_x509_crl_init: X.509 certificate functions. - (line 975) + (line 808) * gnutls_x509_crl_print: X.509 certificate functions. - (line 992) -* gnutls_x509_crl_set_authority_key_id: X.509 certificate functions. - (line 1011) + (line 825) * gnutls_x509_crl_set_crt: X.509 certificate functions. - (line 1050) + (line 864) * gnutls_x509_crl_set_crt_serial: X.509 certificate functions. - (line 1031) + (line 845) * gnutls_x509_crl_set_next_update: X.509 certificate functions. - (line 1068) -* gnutls_x509_crl_set_number: X.509 certificate functions. - (line 1082) + (line 882) * gnutls_x509_crl_set_this_update: X.509 certificate functions. - (line 1100) + (line 896) * gnutls_x509_crl_set_version: X.509 certificate functions. - (line 1114) + (line 910) * gnutls_x509_crl_sign: X.509 certificate functions. - (line 1156) + (line 952) * gnutls_x509_crl_sign2: X.509 certificate functions. - (line 1131) + (line 927) * gnutls_x509_crl_verify: X.509 certificate functions. - (line 1174) + (line 970) * gnutls_x509_crq_deinit: X.509 certificate functions. - (line 1197) + (line 993) * gnutls_x509_crq_export: X.509 certificate functions. - (line 1207) + (line 1003) * gnutls_x509_crq_get_attribute_by_oid: X.509 certificate functions. - (line 1234) -* gnutls_x509_crq_get_attribute_data: X.509 certificate functions. - (line 1258) -* gnutls_x509_crq_get_attribute_info: X.509 certificate functions. - (line 1287) -* gnutls_x509_crq_get_basic_constraints: X.509 certificate functions. - (line 1319) + (line 1030) * gnutls_x509_crq_get_challenge_password: X.509 certificate functions. - (line 1347) + (line 1054) * gnutls_x509_crq_get_dn: X.509 certificate functions. - (line 1422) + (line 1129) * gnutls_x509_crq_get_dn_by_oid: X.509 certificate functions. - (line 1364) + (line 1071) * gnutls_x509_crq_get_dn_oid: X.509 certificate functions. - (line 1399) -* gnutls_x509_crq_get_extension_by_oid: X.509 certificate functions. - (line 1445) -* gnutls_x509_crq_get_extension_data: X.509 certificate functions. - (line 1474) -* gnutls_x509_crq_get_extension_info: X.509 certificate functions. - (line 1505) -* gnutls_x509_crq_get_key_id: X.509 certificate functions. - (line 1539) -* gnutls_x509_crq_get_key_purpose_oid: X.509 certificate functions. - (line 1568) -* gnutls_x509_crq_get_key_rsa_raw: X.509 certificate functions. - (line 1597) -* gnutls_x509_crq_get_key_usage: X.509 certificate functions. - (line 1617) + (line 1106) * gnutls_x509_crq_get_pk_algorithm: X.509 certificate functions. - (line 1643) -* gnutls_x509_crq_get_subject_alt_name: X.509 certificate functions. - (line 1664) -* gnutls_x509_crq_get_subject_alt_othername_oid: X.509 certificate functions. - (line 1701) + (line 1151) * gnutls_x509_crq_get_version: X.509 certificate functions. - (line 1735) + (line 1170) * gnutls_x509_crq_import: X.509 certificate functions. - (line 1748) + (line 1183) * gnutls_x509_crq_init: X.509 certificate functions. - (line 1768) -* gnutls_x509_crq_print: X.509 certificate functions. - (line 1782) + (line 1203) * gnutls_x509_crq_set_attribute_by_oid: X.509 certificate functions. - (line 1804) -* gnutls_x509_crq_set_basic_constraints: X.509 certificate functions. - (line 1825) + (line 1217) * gnutls_x509_crq_set_challenge_password: X.509 certificate functions. - (line 1846) + (line 1237) * gnutls_x509_crq_set_dn_by_oid: X.509 certificate functions. - (line 1862) + (line 1253) * gnutls_x509_crq_set_key: X.509 certificate functions. - (line 1948) -* gnutls_x509_crq_set_key_purpose_oid: X.509 certificate functions. - (line 1891) -* gnutls_x509_crq_set_key_rsa_raw: X.509 certificate functions. - (line 1913) -* gnutls_x509_crq_set_key_usage: X.509 certificate functions. - (line 1932) -* gnutls_x509_crq_set_subject_alt_name: X.509 certificate functions. - (line 1964) + (line 1281) * gnutls_x509_crq_set_version: X.509 certificate functions. - (line 1999) + (line 1296) * gnutls_x509_crq_sign: X.509 certificate functions. - (line 2042) + (line 1339) * gnutls_x509_crq_sign2: X.509 certificate functions. - (line 2015) + (line 1312) * gnutls_x509_crt_check_hostname: X.509 certificate functions. - (line 2057) + (line 1354) * gnutls_x509_crt_check_issuer: X.509 certificate functions. - (line 2073) + (line 1370) * gnutls_x509_crt_check_revocation: X.509 certificate functions. - (line 2089) + (line 1385) * gnutls_x509_crt_cpy_crl_dist_points: X.509 certificate functions. - (line 2106) + (line 1402) * gnutls_x509_crt_deinit: X.509 certificate functions. - (line 2121) + (line 1417) * gnutls_x509_crt_export: X.509 certificate functions. - (line 2131) + (line 1427) * gnutls_x509_crt_get_activation_time: X.509 certificate functions. - (line 2157) + (line 1453) * gnutls_x509_crt_get_authority_key_id: X.509 certificate functions. - (line 2170) + (line 1466) * gnutls_x509_crt_get_basic_constraints: X.509 certificate functions. - (line 2193) + (line 1485) * gnutls_x509_crt_get_ca_status: X.509 certificate functions. - (line 2219) + (line 1511) * gnutls_x509_crt_get_crl_dist_points: X.509 certificate functions. - (line 2242) + (line 1534) * gnutls_x509_crt_get_dn: X.509 certificate functions. - (line 2345) + (line 1637) * gnutls_x509_crt_get_dn_by_oid: X.509 certificate functions. - (line 2287) + (line 1579) * gnutls_x509_crt_get_dn_oid: X.509 certificate functions. - (line 2322) + (line 1614) * gnutls_x509_crt_get_expiration_time: X.509 certificate functions. - (line 2367) + (line 1659) * gnutls_x509_crt_get_extension_by_oid: X.509 certificate functions. - (line 2380) + (line 1672) * gnutls_x509_crt_get_extension_data: X.509 certificate functions. - (line 2407) + (line 1698) * gnutls_x509_crt_get_extension_info: X.509 certificate functions. - (line 2436) + (line 1726) * gnutls_x509_crt_get_extension_oid: X.509 certificate functions. - (line 2467) + (line 1756) * gnutls_x509_crt_get_fingerprint: X.509 certificate functions. - (line 2491) + (line 1779) * gnutls_x509_crt_get_issuer: X.509 certificate functions. - (line 2594) + (line 1882) * gnutls_x509_crt_get_issuer_dn: X.509 certificate functions. - (line 2572) + (line 1860) * gnutls_x509_crt_get_issuer_dn_by_oid: X.509 certificate functions. - (line 2514) + (line 1802) * gnutls_x509_crt_get_issuer_dn_oid: X.509 certificate functions. - (line 2549) + (line 1837) * gnutls_x509_crt_get_key_id: X.509 certificate functions. - (line 2613) + (line 1901) * gnutls_x509_crt_get_key_purpose_oid: X.509 certificate functions. - (line 2640) + (line 1928) * gnutls_x509_crt_get_key_usage: X.509 certificate functions. - (line 2667) + (line 1953) * gnutls_x509_crt_get_pk_algorithm: X.509 certificate functions. - (line 2691) + (line 1977) * gnutls_x509_crt_get_pk_dsa_raw: X.509 certificate functions. - (line 2712) + (line 1998) * gnutls_x509_crt_get_pk_rsa_raw: X.509 certificate functions. - (line 2733) + (line 2019) * gnutls_x509_crt_get_proxy: X.509 certificate functions. - (line 2751) + (line 2037) * gnutls_x509_crt_get_raw_dn: X.509 certificate functions. - (line 2776) + (line 2060) * gnutls_x509_crt_get_raw_issuer_dn: X.509 certificate functions. - (line 2791) + (line 2075) * gnutls_x509_crt_get_serial: X.509 certificate functions. - (line 2806) + (line 2090) * gnutls_x509_crt_get_signature: X.509 certificate functions. - (line 2839) + (line 2123) * gnutls_x509_crt_get_signature_algorithm: X.509 certificate functions. - (line 2826) + (line 2110) * gnutls_x509_crt_get_subject: X.509 certificate functions. - (line 2990) + (line 2269) * gnutls_x509_crt_get_subject_alt_name: X.509 certificate functions. - (line 2893) + (line 2172) * gnutls_x509_crt_get_subject_alt_name2: X.509 certificate functions. - (line 2857) + (line 2141) * gnutls_x509_crt_get_subject_alt_othername_oid: X.509 certificate functions. - (line 2936) + (line 2215) * gnutls_x509_crt_get_subject_key_id: X.509 certificate functions. - (line 2969) -* gnutls_x509_crt_get_verify_algorithm: X.509 certificate functions. - (line 3009) + (line 2248) * gnutls_x509_crt_get_version: X.509 certificate functions. - (line 3028) + (line 2286) * gnutls_x509_crt_import: X.509 certificate functions. - (line 3039) + (line 2297) * gnutls_x509_crt_init: X.509 certificate functions. - (line 3059) + (line 2317) * gnutls_x509_crt_list_import: X.509 certificate functions. - (line 3072) + (line 2330) * gnutls_x509_crt_list_verify: X.509 certificate functions. - (line 3103) + (line 2361) * gnutls_x509_crt_print: X.509 certificate functions. - (line 3148) + (line 2409) * gnutls_x509_crt_set_activation_time: X.509 certificate functions. - (line 3172) + (line 2433) * gnutls_x509_crt_set_authority_key_id: X.509 certificate functions. - (line 3187) + (line 2448) * gnutls_x509_crt_set_basic_constraints: X.509 certificate functions. - (line 3206) + (line 2467) * gnutls_x509_crt_set_ca_status: X.509 certificate functions. - (line 3225) + (line 2486) * gnutls_x509_crt_set_crl_dist_points: X.509 certificate functions. - (line 3268) -* gnutls_x509_crt_set_crl_dist_points2: X.509 certificate functions. - (line 3244) + (line 2504) * gnutls_x509_crt_set_crq: X.509 certificate functions. - (line 3304) -* gnutls_x509_crt_set_crq_extensions: X.509 certificate functions. - (line 3287) + (line 2523) * gnutls_x509_crt_set_dn_by_oid: X.509 certificate functions. - (line 3321) + (line 2540) * gnutls_x509_crt_set_expiration_time: X.509 certificate functions. - (line 3349) + (line 2568) * gnutls_x509_crt_set_extension_by_oid: X.509 certificate functions. - (line 3364) + (line 2583) * gnutls_x509_crt_set_issuer_dn_by_oid: X.509 certificate functions. - (line 3388) + (line 2607) * gnutls_x509_crt_set_key: X.509 certificate functions. - (line 3455) + (line 2673) * gnutls_x509_crt_set_key_purpose_oid: X.509 certificate functions. - (line 3421) + (line 2640) * gnutls_x509_crt_set_key_usage: X.509 certificate functions. - (line 3441) + (line 2659) * gnutls_x509_crt_set_proxy: X.509 certificate functions. - (line 3498) + (line 2716) * gnutls_x509_crt_set_proxy_dn: X.509 certificate functions. - (line 3472) + (line 2690) * gnutls_x509_crt_set_serial: X.509 certificate functions. - (line 3520) -* gnutls_x509_crt_set_subject_alt_name: X.509 certificate functions. - (line 3540) + (line 2738) * gnutls_x509_crt_set_subject_alternative_name: X.509 certificate functions. - (line 3576) + (line 2758) * gnutls_x509_crt_set_subject_key_id: X.509 certificate functions. - (line 3597) + (line 2775) * gnutls_x509_crt_set_version: X.509 certificate functions. - (line 3614) + (line 2792) * gnutls_x509_crt_sign: X.509 certificate functions. - (line 3661) + (line 2840) * gnutls_x509_crt_sign2: X.509 certificate functions. - (line 3637) + (line 2815) * gnutls_x509_crt_verify: X.509 certificate functions. - (line 3719) + (line 2878) * gnutls_x509_crt_verify_data: X.509 certificate functions. - (line 3679) -* gnutls_x509_crt_verify_hash: X.509 certificate functions. - (line 3699) + (line 2858) * gnutls_x509_dn_deinit: X.509 certificate functions. - (line 3742) + (line 2901) * gnutls_x509_dn_export: X.509 certificate functions. - (line 3755) + (line 2914) * gnutls_x509_dn_get_rdn_ava: X.509 certificate functions. - (line 3781) + (line 2940) * gnutls_x509_dn_import: X.509 certificate functions. - (line 3804) + (line 2963) * gnutls_x509_dn_init: X.509 certificate functions. - (line 3822) + (line 2985) * gnutls_x509_dn_oid_known: X.509 certificate functions. - (line 3838) + (line 3001) * gnutls_x509_privkey_cpy: X.509 certificate functions. - (line 3855) + (line 3018) * gnutls_x509_privkey_deinit: X.509 certificate functions. - (line 3870) + (line 3033) * gnutls_x509_privkey_export: X.509 certificate functions. - (line 3973) + (line 3134) * gnutls_x509_privkey_export_dsa_raw: X.509 certificate functions. - (line 3881) + (line 3044) * gnutls_x509_privkey_export_pkcs8: X.509 certificate functions. - (line 3907) + (line 3068) * gnutls_x509_privkey_export_rsa_raw: X.509 certificate functions. - (line 3946) + (line 3107) * gnutls_x509_privkey_fix: X.509 certificate functions. - (line 4000) + (line 3161) * gnutls_x509_privkey_generate: X.509 certificate functions. - (line 4014) + (line 3175) * gnutls_x509_privkey_get_key_id: X.509 certificate functions. - (line 4034) + (line 3195) * gnutls_x509_privkey_get_pk_algorithm: X.509 certificate functions. - (line 4060) + (line 3221) * gnutls_x509_privkey_import: X.509 certificate functions. - (line 4163) + (line 3324) * gnutls_x509_privkey_import_dsa_raw: X.509 certificate functions. - (line 4075) + (line 3236) * gnutls_x509_privkey_import_pkcs8: X.509 certificate functions. - (line 4101) + (line 3262) * gnutls_x509_privkey_import_rsa_raw: X.509 certificate functions. - (line 4136) + (line 3297) * gnutls_x509_privkey_init: X.509 certificate functions. - (line 4183) + (line 3344) * gnutls_x509_privkey_sign_data: X.509 certificate functions. - (line 4197) + (line 3358) * gnutls_x509_privkey_sign_hash: X.509 certificate functions. - (line 4227) + (line 3388) * gnutls_x509_privkey_verify_data: X.509 certificate functions. - (line 4247) + (line 3405) * gnutls_x509_rdn_get: X.509 certificate functions. - (line 4317) + (line 3471) * gnutls_x509_rdn_get_by_oid: X.509 certificate functions. - (line 4267) + (line 3425) * gnutls_x509_rdn_get_oid: X.509 certificate functions. - (line 4294) + (line 3452) * handshake: Core Interface. (line 325) * handshake-description->string: Core Interface. (line 416) * import-openpgp-certificate: Extra Interface. (line 59) @@ -2892,7 +1799,7 @@ * constant: Enumerates and Constants. (line 6) * Contributing: Contributing. (line 7) -* debug server: Invoking gnutls-serv. (line 61) +* debug server: Invoking gnutls-serv. (line 53) * Digital signatures: Digital signatures. (line 6) * Download: Downloading and Installing. (line 6) @@ -2904,8 +1811,6 @@ * Example programs: How to use GnuTLS in applications. (line 6) * exceptions: Exception Handling. (line 6) -* Exporting Keying Material: Keying Material Exporters. - (line 6) * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * Function reference: Function reference. (line 6) @@ -2922,7 +1827,7 @@ (line 6) * homogeneous vector: Representation of Binary Data. (line 11) -* HTTPS server: Invoking gnutls-serv. (line 61) +* HTTPS server: Invoking gnutls-serv. (line 53) * Inner Application (TLS/IA) functions: TLS Inner Application (TLS/IA) functions. (line 6) * Installation: Downloading and Installing. @@ -2931,8 +1836,6 @@ (line 6) * key sizes: Selecting cryptographic key sizes. (line 6) -* Keying Material Exporters: Keying Material Exporters. - (line 6) * LGPL, GNU Lesser General Public License: GNU LGPL. (line 6) * License, GNU GPL: GNU GPL. (line 6) * License, GNU LGPL: GNU LGPL. (line 6) Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/doc/gnutls.pdf and /tmp/5mqzrPKESq/gnutls26-2.4.1/doc/gnutls.pdf differ diff -Nru gnutls26-2.8.6/doc/gnutls.ps gnutls26-2.4.1/doc/gnutls.ps --- gnutls26-2.8.6/doc/gnutls.ps 2010-03-15 10:43:34.000000000 +0000 +++ gnutls26-2.4.1/doc/gnutls.ps 2008-06-30 22:15:18.000000000 +0100 @@ -1,19 +1,19 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software +%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software %%Title: gnutls.dvi -%%CreationDate: Mon Mar 15 11:43:33 2010 -%%Pages: 347 +%%CreationDate: Mon Jun 30 23:15:18 2008 +%%Pages: 326 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 -%%DocumentFonts: CMBX12 CMR10 CMTT12 CMSY10 CMMI12 CMMI10 CMTT10 CMR7 -%%+ CMTT9 CMR9 CMR8 CMB10 CMTI10 TeX-feymr10 CMSY7 CMMI7 CMSS10 CMSL10 +%%DocumentFonts: CMBX12 CMR10 CMTT12 CMMI12 CMMI10 CMTT10 CMSY10 CMR7 +%%+ CMR9 CMTT9 CMR8 CMB10 CMTI10 TeX-feymr10 CMSY7 CMMI7 CMSS10 CMSL10 %%+ CMSLTT10 CMCSC10 CMMI9 %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o gnutls.ps gnutls.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2010.03.15:1143 +%DVIPSSource: TeX output 2008.06.30:2315 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -137,230 +137,61 @@ %%EndProcSet %%BeginFont: CMMI9 -%!PS-AdobeFont-1.0: CMMI9 003.002 -%%Title: CMMI9 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMMI9. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup -/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMMI9 1.100 +%%CreationDate: 1996 Jul 23 07:53:55 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMMI9 def -/FontBBox {-29 -250 1075 750 }readonly def -/UniqueID 5087384 def -/PaintType 0 def -/FontInfo 10 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI9.) readonly def +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/ascent 750 def end readonly def +/FontName /CMMI9 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def +/FontBBox{-29 -250 1075 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 -45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 -7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 -72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E -BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 -974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 -11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB -7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67 -7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8 -BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365 -82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC -E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74 -91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E -540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112 -7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8 -93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D -EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756 -972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A -6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149 -796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94 -DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B -D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80 -E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D -0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83 -F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9 -ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97 -72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F -F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9 -4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1 -692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C -BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109 -4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1 -CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59 -41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A -9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20 -5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292 -2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5 -8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B -33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28 -03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1 -749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE -CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE -3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F -64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F -90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05 -DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8 -F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D -4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF -49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4 -E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117 -58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE -88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3 -B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE -7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776 -01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46 -19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41 -194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55 -53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3 -F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4 -412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6 -C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC -C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108 -4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831 -E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81 -AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF -00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A -E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91 -C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC -B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8 -2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980 -F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50 -0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023 -28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4 -E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A -C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42 -20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B -7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE -5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4 -74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4 -90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55 -3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621 -98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066 -54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7 -93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC -19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A -9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD -E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84 -A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB -107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA -5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08 -22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95 -B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D -403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789 -D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6 -20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6 -943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33 -AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F -A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70 -B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA -2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84 -2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F -E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D -E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F -8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642 -87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4 -2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842 -D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC -512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4 -4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559 -6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9 -9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A -0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040 -9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B -FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1 -430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8 -56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE -718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3 -F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE -95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B -EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE -6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7 -6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867 -630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111 -6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA -89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475 -3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2 -90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47 -38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34 -EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9 -B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376 -9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9 -1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF -1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C -62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5 -84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2 -AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618 -D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196 -BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6 -4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6 -531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24 -FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2 -43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256 -D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6 -0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4 -E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53 -DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358 -99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD -8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1 -8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73 -A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5 -362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3 -C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79 -E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2 -07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F -0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6 -190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4 -5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D -F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50 -005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8 -6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C -D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9 -F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087 -F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE -2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752 -F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0 -0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD -73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2 -62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79 -5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98 -F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F -6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7 -DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109 -EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222 -E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107 -536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18 -36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF -B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3 -F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0 -431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB598E51CAE7E4900 -5CD570C914EFBA426BAFF7A56FC775ECF5BE13F2C42E51EF96784E5201C0B64C -074AC229FF0BFDF71E6D5E08D8755D2C12B770B6466A9C9C61C15582DCD2FF78 -E9E74DC2B1CAA344EC0339EBFF92CD2CC1D62E2FA8FF15E7459A83C6CFA58A77 -2F1A40BD276E76B675FD6834052B33BF9190F04DF6AA5FA3BB7D77A88DD5B600 -324C5E28216F47682EC29EABF35BA842BA2294A3D72B126EBB852AB741186C9F -FC84B12DC4A6CEC08F2D03EE61B65C845841EE17F1B765649A +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935 +86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505 +DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD +67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF +6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554 +FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7 +22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD +730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F +449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7 +97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A +E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C +AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA +A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599 +B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B +9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E +759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3 +5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2 +BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680 +3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE +2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA +1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB +431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588 +A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433 +30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7 +801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -370,41 +201,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMSLTT10 -%!PS-AdobeFont-1.0: CMSLTT10 003.002 -%%Title: CMSLTT10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSLTT10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup -/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMSLTT10 1.0 +%%CreationDate: 1991 Aug 20 16:41:43 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSLTT10 def -/FontBBox {-20 -233 617 696 }readonly def -/UniqueID 5000800 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSLTT10.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSLTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMSLTT10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 39 /quoteright put @@ -420,9 +235,14 @@ dup 57 /nine put dup 65 /A put dup 67 /C put +dup 69 /E put +dup 70 /F put +dup 73 /I put +dup 75 /K put dup 76 /L put dup 82 /R put dup 84 /T put +dup 89 /Y put dup 95 /underscore put dup 97 /a put dup 98 /b put @@ -450,396 +270,260 @@ dup 121 /y put dup 122 /z put readonly def +/FontBBox{-20 -233 617 696}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 -2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 -6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 -979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E -ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF -B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 -A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA -3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F -D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC -6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F -3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C -4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90 -DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2 -753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131 -54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D -107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3 -7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231 -328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9 -85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C -2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7 -308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450 -CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195 -739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93 -FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6 -F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312 -3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A -A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F -55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC -A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB -69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50 -82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0 -8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8 -0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6 -0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8 -1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1 -D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F -B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737 -170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863 -767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D -EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F -AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3 -826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235 -8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048 -345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE -67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD -802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E -20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127 -5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07 -0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36 -22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC -4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF -CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B -4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880 -0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5 -220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403 -7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005 -27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE -B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300 -7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07 -A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D -45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10 -F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7 -C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65 -AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012 -DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781 -FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA -997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4 -3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A -2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605 -31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22 -A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891 -43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D -4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5 -94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E -425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616 -FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5 -51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9 -859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852 -E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F -2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910 -82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA -22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D -200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5 -892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32 -0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140 -437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3 -BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9 -E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402 -DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1 -CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551 -80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F -FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA -9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41 -031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90 -9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3 -9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891 -4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB -57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B -2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39 -0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9 -03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067 -22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79 -06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC -39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD -E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163 -A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6 -9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6 -B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F -79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553 -2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5 -8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA -1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA -0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2 -BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3 -312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3 -B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F -9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16 -A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6 -91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F -7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D -78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC -7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09 -766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11 -016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D -C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3 -8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278 -E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC -6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8 -B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959 -44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB -C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE -5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB -42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A -F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57 -CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009 -9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2 -82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72 -0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5 -F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9 -EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA -E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD -D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD -F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F -14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8 -BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2 -9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5 -6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A -6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116 -4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE -C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B -A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C -9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780 -42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE -7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024 -1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D -4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540 -CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4 -D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81 -CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1 -0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9 -92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0 -57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4 -5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4 -57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158 -8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0 -C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3 -7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7 -B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674 -EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521 -D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9 -DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074 -F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D -D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0 -56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8 -46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40 -52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA -19477F075ACF64D424279612DA5AE02B2A140048386D01B1F30EADF2050B71A7 -993773D5B68C6FE65EAC53411AC6E7E26E49BE5FE1079A8BC565D2CEB7E3B896 -593D720DBF66CDB26DA5D8E533A346845E31374A7C85FB6B06C3D54FE3408013 -864CB0954A2FFC00ED17CC167AF714716376B789A71059DF2032E0E907761E81 -F0C887810337F52662AF43FA1A7528923B0A30A217FA184ACB73207EB3018D5C -09EA88CA0873AE690E94D43B360D9C1070D7CBAE9BBA72E82EF9914D3AED6D1A -5539585EA969F0A1407C8FEDAB69BA3EEE3097D5B123C5770D5ACBCB0882F35A -E8A3E3B1FE3903A941EA2090266B60D218407AB99EEF38F18C9FA307D73E2F5C -42F8C37E2F668BA6B0779791D8404E2B2CA52E28F0B34C85250B0D6AAF9D2DCA -A12133B5B601D971345EB6D892B85FB971DB8C4A4188ADA6575DC6DC42D2F0C8 -4EB946AB47F487B6B4C4C59B2FCEB1291C386805C5B62B61FD7310A13B4620BA -650DDF28FC1AF21FA124C16EE8ABB98904F03E7F49E54348B1AF2211A1768768 -D62E35EA2EF7F2756B58168F9FFB5785DAEAB324C90FDF6207E670DF277D6AB5 -F0924B26BCF52CDA2980680320314F41244B73DA6367C434B5DCDB96B6F0F454 -89BF20A32EC8354205FF9546B6EC5270AB9A27B021B5DE768877E63DE1807D5E -58831A67F6AECA5F486593AFC74B9D23FE0576B4EB7B94B931270E679823BAF2 -248AD5445881F676EB9903F69D0360CD4D002B4D5BEBD29975692E6177D32F76 -FB51906F0840BC7EA4A875DD99A2AF524B50D2EE3DA5B49F6B2E6D1B2193D129 -CF5C702C546EB19E5D8664F0994EB98144D80CFFC7F45FBB3B6B73E80D791379 -29CE63FD415390A24D835AC0FB5DF4ADDDDEF68354C2EDAB21FF99AE0F54D9B8 -75E95CA8168948E2DD33BA0C07A948B3B6035E4EDEDA0731DAF5C22EA4DFEA59 -F6360AC5F961C2BBFE20F8D2C731D5087BE5D80A2FCA54BE62873F5037B9B259 -B2EEB28E7BD2C7E75F79A3B3C9570AF1D140A62FBDF4B1B51066A6E35F302958 -C96984BC8D4D217B11607975CC29FB44CDF22A359E71DB7CB21C39A075540381 -551273EF1E2E2566534E170A5724141D552D763E94407545DE786B64315C8420 -EE5C0258C94107B32F687A0D987E6988001E0A227C9E89D3A10A55F29CE148C6 -1281728A2DC7838667AFB6F9E5B29E5A3FF1B2CD0B3D94C11C516CE01E9E0ABD -F10E46CF71C0953EA98B6E0BB183F10DA0C95E676EF6C5260AA898B7C82F0A14 -9AFA665A54D1D74C88B9D1A8FBC3894C23CF11ABFB2160DB34547D9196B55AB3 -0815B729C6F319E757F46DD49FBC0D6B16EA52AD6B9736B9E47D12AE984E5AB4 -0921F1E657AF07A57C370E3EDA4FD142D44A8C485CBCBB41481DAD043D9D83A4 -B3F8FE39BF9769F05E057334A1F71F7902029A36624B567B9158FBC442246D6A -B978FB1D816FA5AC5EF1C71D966B48049960BEA0FDA2898E3A29B84A9E5FA9DC -67E1E3CAA4FF5126CD6C6CF6D2B4B316B9FBCCFF8A619BD6496FCD9624344463 -86916FCC2B4CC2827344A0FB62F256607A3791C094B6421A439C6C28FA9291BB -3C04D362BE2D667149BD0DC073D6B551DE19B315B1BB79DB8C3AA9F620C98C82 -1250D79BA5869A19FAA17B1DB92FCB932397DF9301A67A66ECAB98278B4452DD -1ADCA9AF9234DA9898662200C64E39E21CFEBCF8332B14B118A75F528F3007F3 -2B4279F44E1CB2E252DE3F5257DD5BD51D07287CAE64FC2D537FEF49BA286D54 -FE87B162B0F4E1B0402C70F3A460CAF02ECA95900DF5C863B6C905E35756E22E -F08854882F4E83719C545AF33487BE329AAD762B28D239EA7E54661C6170F7DA -1C78458E20F329725271490AF9D0D254F5A9E3AF17609C7F9164990AFAA8B199 -2F7990F9468FA77E87B0674B998AA5F4988518160BD65191BF11A35BC2599B56 -30790C1EA31D722B1DFE2D8EAC3E307A75B70C6263F8B6E4A669A46800FFA38B -78BEC2DB84528408A48EC1A8785424D93FF82700BA62887CBCE30EB53B2BE6B2 -EC4BCA1C20B6A0796CFD7CC60A2ED2D796CC1267127383C0BA3C1A0708B6E48C -B9D0573E0972FEF5E3DF0822A010D42F01922440A925862318FA154E5C882B57 -745366133209558C59084E08C33B2F4B0009EDCA24C12FC72244024B1574C2A3 -1EDC371AE61D520BB5D0724A98D3A08AF2EC472E59F3D56CB28FE6E6C4FAF6F9 -1F941B940F65D2433C43DEC8270CF6F689A3DDF98F669B9BCCE71113035C3988 -3ABA8C40067701D549CB6B58DFCFBE91C8F6B93741B22F73F70B4518E3D8F008 -9CCCD77535753E7ADDE16E45A25750AD3A762ED256D85BF5132B5B580405977C -16719406627131B95E5DEEB8C8C44B26D832BAB60C996D420723D75F53E46CC2 -8F092220D6C316EA76AFB3D78CFC249BF188666AB999C25DB0360D4BA559A617 -DD4B482E2762891D0AF6BA78A7B86ED23C78E224090AE9E785D30A0C5EE13190 -BB1649BB135C1025A6203DDA8B847D709D08CD7F1B70198222111E42DBCEEEAC -2FFB9620F3951DDB042C05769DAF0833020CA5D2BB9FE347473DF3EF6C2DFCDD -0A1F616EF11908B09FE7D84EE76A569BFBBA65961B8C4C751276C9D1E64A7146 -0618B194A1254BBFF83ABF109C279BB08E808EA4F13281D17B37241134CDFC62 -4B83B7FD42CF695EAFEF35D89B49ADFAA669ADDA0DB25B2BAB8613B768EE999D -40BCD080C096B57DA9335A407696790E46CF194AE3D5CB5F678F21C49F98CAC3 -6ABDA340BA0C78793A4DBB326AAD6DFC8C619CE8FE1E4E8D8D64EBEBF74A832C -38070CF2C1FF8B1151CC01AF86D5C3491FFDE9378C426F035D463A8F5BD7CF88 -5E253A30680330958F48CDC6E2BCD2CBF4624518956A8E90FFF5496A6D8F1FA7 -B3CBBC5ECD077DA75B44868ECFCE51B4D23F9E15733792B0B7781567FFFD1D77 -EEBB7186FE4037AA42616B1FE6608BD55CC8EAA66D9FC06BA41026D58B1FA74D -8A56A0B5C75D5B24CDB8B7FF3EFCC9A49755A07B8FD3234F78135941AF522E09 -1FFD25EB7C2BD403C22B5911A0FFCA0E197F8684F48B2F0A1E0A7D358CDB0D94 -EF4D4876BB88C4A3608322520DE9B84D7DC9BA7DCA3BC51029E6D215706918D0 -EF8F7259322A3542924B81681772123ACF749FB05EB466D166E67CAA64445BFC -EAB5CBA2D485CB99629A4ED97EC22768EFB92D410F0598316EC80B6171119377 -70B1914A586CD476569262C41BC09FFC55A6C3DC6DAFF35B7696EA7BD813C4B6 -4EC237F9DBA04A7583603F4327D04B6E73BCA165BF00BB85C4589D4A061E1823 -FE9C4E5FE0C51C20C245DE32DCB497A181D04DEE86A5D52FCCB1017577FD0669 -BBC5048C2893D1AE3A06B4096A313C46219A0FAAD1C87886CAB74339AEEF4B9E -EBC7F37B28D351814A1C01CD7D02F97F4083D38210588249AA3FF2AFB24F6C38 -5BE61074C06AEF7D2AE5FD54444E4580476334C3EC73143C91E963AE6BD5899A -EF5A0A69EE01CD9B8D2940EBEA9D36C99923EDF55156EFFB082252848ED3611C -E8648E6AD693C92F72E8F3163C0248CA69330D1374B910C4558CECDF77328309 -56637CD4331F9EDA63B6484BC72EA66A90E2E2BBB6B4208EA08A4BC93FA404D6 -85DCFCDEC9322E7D2581D43DF536B78C7F78601B0E36197BFA43E8AC460A10E1 -D5C9388A5C844B4345CB10DC7F4A57A35B94D28F10399BCA3D00F4851484CAEC -11FA5890D5F92AC80CE0F6349304499F34489F2E21B18BC4951AFBE5893E2253 -C7F787893F7C9FE20D912161FE3EA9EC2CFF9011BAB33F3DCF0E36E49AF7A2E9 -6A0DC30A741619117E01EDCEAD25D7978E989DCDABBADD9EBC757CBDBE6B9260 -A71723EBFDFD95A9CEDF80B6E7A05CF22CE0A8FEF2BC6751C712DA49F049D3A9 -5EA063EBEA23CCD69864C94C380A25E4C281194A84A9ECEF3744816FDF05BF6B -923662092796575CB3E2099B48FAD03A353AD484E735878362FE83B440D3DF83 -7A5C3EDD71E17BE222A9FAFDBA38E62BE971194184372475B86B83B06DEBB79C -14E529A540FF0D633CC54A212A2EAF58CE2C63EFD149EF940CB863D873004C7D -FD2D742F076EB386AC825F4DAD7B4A45B443ADD8B19E2B3DD0999761F1FF24F1 -94BD9CB480F8E1D9B965CB102CC97B15D9D74CF20AF491CE10C5C7BC3A97089A -145AB1EF61F96003FBBDB9858C09F23389F89805479EBB6BC1CC5417965BEF12 -26AE8AFE28309007200519E1CA5BA0CBD98880855F33A38313DF643016285766 -7EDDC94609111663D0A46D1CA8AE7BB46D668F6BB54401DC1B1931FEBB73AC24 -21228E5F9E28262B82E15032434074BE3259C7D2A3108D8678E9E9DBDC807922 -07F398335D217D20CD4D6D6C6ABF4F06D75912EC116A810BCF60C0B310872669 -06C312A1DF3B52542CD149A087DD17B61E3AF9C4DEC4EB0C8C421330FC373721 -33A512ED6B53D8C7D4E8AE57BDB39F1DE7100D4DF28F49611EFC5F205D9FC38C -6CC16B82D6B7D34EF75C1D01D5DAFFE353929EE3EFDA34B58FD637A7EF7D8A52 -ABD77348076831019108E4A90A20DC7147D8ED0DB40D5B793E36563FC1D83ACC -C037CF952612934B4F619A43C2881705EEA3D6BF65CE6997266929A1244C84E2 -A4F100D963DEE3169CE22DCC8A24F5782329EEAA8A817A49437690E75C4480D3 -2DACB8772387711A0E9042E22F99F06184D00D9A71CC7BBC7A2FA1BCD1047CB2 -CD560D1C3DB8C3C8E33FDAD7A507CC1314503CFFFCE5CC1F7E462F78BEEE76C3 -C9AB532D808BDEF17F9681ACDE09788D19128D337199FA628D99B04DC6F0BC01 -9EB0B831B226DE9A46B3FD157C5AFFE89EBE777A7E590ADD1D51F935660B7F61 -FAB79620A4F921EFC560A7B7F2CF55637D3007A6CB9092022F00B5DA1BA6EF9C -7E0B3B0342417EAA0028A8EE6085F367CCFEFDEF1C42772BE62EDF282DDF811B -9C24FBD99D3AC48E3F7E52A5493E2F8BC3E1624127EEDE0C2B4349CCEC3E1945 -E657BBDC66D347422A91EA79E214749A1B3EFEA3CB046B70562AFCCAF6BF9936 -4B8948632D15E36ED5C41920AF4B91280F921156C382F87F0DE61F3A69774B77 -C0B520E5A9E67E4BB7887B7D3CB35F1BAE8F03FDA02F0564EFBB98F0588970A3 -DFFB501C223F493D9D1BA9C647DB1AF7E5DAEDC721B65D6507B11915A9E2AA1B -000D551C653F1182FA493F1256436D1B2C88914B673C4CCC3D10A7EA7D6C2A33 -CC5094909F97D022EC2DF65592BA8BF76AC6D806EC676DDCEC7D55481A31027F -DF00E9CD0B30531379A84461A859BC26260DBA0ECB38D4045178AF12A525DCA5 -5CC3287E9BAB52D4FA15999000DE479BC7BD781522165E8144D0C0025E2219FE -8EEC47C77981FA17086FAD4489F1C68D281861110BA7AD7989F9A96FC734B88C -F1AAB9BADA2F036E88E32619B8523692C96C68CD2B4AEEF372D4D6D3A2BC4D23 -3DC8B18AAF737BCECD31B6F4DF1A0B7162AE2F8ADD3F32E0E91BFCE83CEE055E -609F89479E28E4EEDC0EA95AFE1A334E3EABECF13E97E4F030A36E2FEED6065E -A14E99FE1F39800B4F6D4A1DB500242F6E7ABA6FB2FD60D17D8229694D28C970 -CC34FF84DCF51595CB6F9FCC5D37212BD309469FE4A7A2C7F9EB7980F09C4FD7 -61EE7F34C9684EE7DF8022B9B09659DBCE8F755C83A7D02F9AA3DCD8CF1D4C3C -A8FF3BB258479F4EF229EB1331E55794F32FB7E73C86FF36E00CC0AA8C332D25 -1123D03A72C019A82801FC5B137FFACA559518AC8E48B0220067DCEE06228301 -ACAEAD5621A2DD670B56A44DBC3CE63C529B08CEADE6596DE439B8B98815B178 -B5ED8954298E57838268D5043E0542FA4E62C3420D939860E9C86DAA87A1390E -F5AC2001D02A0C93DE4BC8446D14A0A3FD58E207D8129A6C6606FFC332A009D7 -C515BC885C7A1C4BA0AD52091B1F8B4E26F90D6437C44546969BBF0535490F63 -083FEB3932519529C2EC78BE6A24C1C110444D420F585E0002FAABAB994E548D -0613CB37D6862BEA6BD2FF83A56C0375C1E22F9DC070E2627ADDA1BF3D1B86A0 -5714AA82D5B173966AAECAC36D93737DE1F02305CCFFECF9DBB0C7A5C913AF41 -2021E1105259ADCD5B598D16BC906DBBA51548489BFFABFA9149ED7182421BE2 -61233E32E50E32025FCFA0309F558C23B2C29ED7927E6775227EEF50FC14AEDA -10B3D7655F9EDCFD094894B32165766AD1D16912ACA6E0C3C2559F5A8D89F053 -12F7EA1BA44D9CD46D68099B1A258913152DEB531476D43654E29028C10502AB -E8D0253A75134256C93E9A76D587B9909D602F361A65B5C248639F7C19C81F20 -6F2C4DBE9FB70CB63FF69715AED08D942BEFD6E5CED68710EBD3A8EF016ABA74 -4DDA5D93E08C9EE2B9EE013E4987DF871DC9D20E3D5F038EC17B0F29DABFAE15 -A5B5CBA393CCA1A990DACAA78BC2E0BD00728DC58C9072F571479E9F83CF5A9C -41CCB4FE57D5935EB5BF72CBE30942F6123E14A892439F70CB14977EA85A83F6 -34FE4E02CB7E2A273EBBAA7C6504C6996FE90CB2A0CFB97EA12AB4785DC879F8 -27B1574811FAA0E72740F86ECDE00728A30D3307B13986E2AE94C4BF587C8683 -3813CF081C792AE20474A435FE0DB6137E5D2C12B770B6466AE3D6FBD0120B7A -FE237A40BD359237EA31F03FF121E86E6BCADA98F90581483CABEA5C82650996 -2C4491179F02456D587290E0988AF4C77F40CCB916C4F6C42B9D3456E03CC977 -78642A069F1CE14A14296A3549F65E7896EA14A0D5B11D4150A2D99D86345995 -63F1AEDCD5383F4C1C65DFAD564CC64E5E98048C2D405C63906544CD442ACBD2 -97D9AE3419E14F1E1D2F71D5F875E9F1063B7D4E1FCA2822DC582D2537CD0256 -24C7B916A965EA074D2D3CB125706835C99386FE54161F6A2A9856841B40C024 -77B1C10B6FF8F0845C60024F0CAE228100AC660D113E8049EC6625AB09FC9543 -34F71E0E0E37057B221152C0AB9E9A31C89AD05D2060C7D502A76DBDE5E4220C -36FD60FA010DE7B070CF8E71491DD7B451463A76BF3665EAAE5C54EB7D33B9EA -DA1CE01DBDE22E5BF061B169A936D3D2F9F1BAA38ACCF936F4DA980DE8237AE1 -2524A4352491DA569A58B0F813C796B8A643A4DFE980C3320FCB3B84F1688698 -DBAA106DAFCBDB74F37E121B3A4F743932BBFDCB06AB3A121F6F8F355CE10D67 -B215F1EC1B57DDF194699D750F9368FEE067DB39387B6DBECDDACBD2E7913494 -37421D4D7BF383A31C2FD34A374EF6621CAD4CB98AC86A3EFFC786CAF58EEE5B -08CEC534175106B08E068FF570B53959ED5801029CDBEEF5010E08FD6A334493 -3187EEA046698435E7CDF3BDFD089D0E108900B2E6B3624A7B4D3ADD37AE94D5 -DB2313087E4ED66DA8F1927814ECBB37C596C685159DF3A7EF60B22FB3BCE54B -4E5F84D18147FD08E09D4F689101473A7E21C430BA9EAF6472F1004438D13252 -10A081E55629AE78B98450B851B1E4BE062BB2FC260AFF4AFA3B05A8DFD11657 -234C58BEB24E8964A8AE8F151C6F80A2517CD91E446AF7361D8BF9A61A35A476 -5D944C78871C31668501B94F60490EC275AA3FAD636AF40404C409C6F38D274A -1B0AD7C2DCCE33DD6C0BBFBF0106A604F0DF1AA36B27A827031953506003BB9D -BB729B7490BB9CA508FFDA3205D95E7531189B3B2AF55F3E6E9C0C006BD27F40 -A2D56F63D9CD2034C7E058A0263B8761A43FB2B63C13DC305B70B3D202CBCEFA -9E109DA53D2BC2471570511E589A436A5B81FF3D8A3E2065AF2E7A4611BF899B -A9D5C8922F8140548EC95C5F61F6D0CF4EDD9F854A62B30B57A6771DEC0D3933 -3F1C46CA38F1B945B49675C907E2F4892464F5284D5A07E0C064D6DBEAE7C823 -B0DD9AE5B2B077C424B840961191D4BDB41A3C57659072D433A45739F6EC82D6 -48A3863ED56295D1F6F39216089C6B95099068347F561DE487D50308AD95687B -44E7AB4DC4EB8470641E864A2723CECD507BD23072E8A48695A1F05AB0D80FEE -DBAE13476A4C6C455EA4AB58CAF469311AE5DEE5C18EAFF7BE4662FCB06B2C85 -9BBFE62BC4FB7074D21F942B94BE13967CB7168BFD053C16C4CF81249AF3DD82 -0F4C8964D6E0AC8891958E010E0BD465876A8DAE58C9E8BB35F7768B542BA900 -1C74CE7C2D7773322CDE685971EAE0E93EE4301CAF9E6FB7BAEF2ABB48A06BC1 -92F6DE314E99CB9FD0AED2E1DB94D541874A6A11693DE5A3E8BF5639FC11B6D1 -AEBB47305F7E3655BAE6575436EC691E0EBD50C184B968E7CD495038B4FFF055 -42C50FC84CF0E7A3B6DC200F1844BC8DBC2C2548D3C3CBD5ED851DB77C61EF54 -CF8F1046488C2FC5C5C44D5DCDEA37A48CD46659B15EA78D76E0C8DA72454274 -6E26391BB08796DB7020A4B8D458959F587CCDDAAD660B07B50B25D0E68C4860 -5A422050AC09DAE5EF41D117703948263B88B776CD803DBF8A8D34E74BA32B03 -D02DCE2CF889F5F14BA50AFE43F4F7DEB0D00E42E953359BD1C902409E2D391E -F9A6221B760AC52B14CB74ED9F8AE635AF4AF648F464F3836C64B4B1936CBADE -6936E57E22383AAE3CBE7E24A3510298279A9FA55AC57264A0041E44DFAB5B45 -961BA0723B460CC1DC6C17B469F54DBD7545E6F6D2BC76D127C7066B1E516B41 -174CA6C543AC256E0577122D217033C25573190C1735FB4CA5B0751023B8EA10 -9D9D437D0F0441DC0953554F44F4EE11EC075E453CE0F1AC1912911BAFE13C13 -A081812E93E74F4FA7901F0230A9A5A3E60042F077A9C138BC5BB971F2BB9EEA -2D9BEB26B6A06F25516580021CDD674302324B4F9B054E401C646741566912BC -D265AE6D1C2CC32388ADDA06941BC56A6274A149389F93BD130AB9B617B04549 -5F7EDFEB9C6A1E4D7F43719FBDD1BAA0498BE7D4F08536B5903A6A06F5B312E2 -A2E10E5377438CC248E1C693FA950ED2FDB7BA787A62C216E1D5C6A77E09CB80 -D7BF57A686203E30764F365676EEDE5520F9D79EDAB109AE5496B4C3BDE66907 -D59D47E1ABCC9C19B1CEDA1EA529C4D97DCC5551B8F3DDE2E1DB1EC0BE85B894 -1DD9DE217C0FA4C177C140D2775BCC126C11B2CAEC1DCF2E65D84D3DB93C7EA5 -AB251ADAF9E5EF62D8A4B57A358923EBCF21DB9B712D439E8046BCC8BCFFB835 -6C0266B2F623D5D20EB0D0785D179CE58A7F13406461876AD0C834773DCE1F20 -99B36DD6EFC763FB692A000D256FD61BAB88271EA956EA60102F25038CE5D19F -0DE15DE05E49B00ECC05AE3D808A4BE4A376AB9A5FF39C389565A0A83DE9B5E8 -F64E5CF3172E4CC132FA7BB7338BACA1A1E179F1141DC5F78005320AB815CE48 -F29BC80FBFD5B77EE684BFBA721556C7D5236C1320205D842C85DE7BAAE55C58 -FAD522CBD751404856E0043159760F37348D0CEC6041715CF00A17FD91EBE570 -25A8D4B0AE14EA62D45EAA1F6F5ED3F437841150E2AD112CDCD62538C113E616 -BDA020CC71C130F2F4DA6070AD65C9AD6B1A98351DB0683EA1D089C02475CCE3 -FC25723AD64E177DA4CC248C21AD9FADECD900AE4E15914A7F671D71B38C2EA7 -15F72D93C498550F30E1E5966DD6D91DB92E951FD45FEDDCF890E9F959E5BB5E -062C683E8DC30A +D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8 +0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB +4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840 +8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079 +8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4 +B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F +ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858 +C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F +EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F +2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60 +4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370 +52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D +38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA +00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0 +B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D +CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF +B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F +802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE +32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8 +00DE382ABED85350033EC00053134DBABB69DD3098576DACC5D1E325C4B372B3 +943F8E90BE7B97B996D39337ED6D90F8041298B7A27B223358A5161FE98FA4E0 +6879524934E026863F790FE3B5A8A41AD2E91866F81B195E0A02D9BDF971633F +0FE9A9BEA04CBEA9E46AA44C31D694A0AF3D7CBC1FC4988F6A81130613047150 +12203A85849EF4D9238604ED8040DC85FB0CDE867F50EE685C8B2BB0574FE22E +B02F2595A161E810E2C9FB46B3E15BF0B3E7591FE81769472CA5C7268E399C6C +68B6ACC0D1E9F5EDE5468FB2180401F81A03130E58ABDD0C6D18C554948A47B5 +4A28FF02225D5B819E5C808215FB8708B2EDCA1E2EE568D33EDD8E881F8D900F +4BED632F1810E6D4329AD5026562DF61BACD09947E2681FA46119E9C6EB74597 +98FFD04D539FB30BFA4E9869D621714D3039AE078EA137D0EC85E97BDF08F1BF +344C95B65A6BA13D7F64BDF3CAE195CAF54AA7BEFD665BB77CC882807441D4FB +30B87856F91AE8A3C62788EB6EC33349D140E6E8D8A7B612DE3AE507F78CD315 +E18B05AEF83F329E20C5457B83646086C50B0861617F9ED8C93A05943AC507CD +97BEFF13F2861DC7A74497F159542727DD2C420DC2EA9317573F44A11B22CCD7 +0A6A2EE35A3BDAAFAF8BDD8FB8886BDF0A53A2170325748402D749CA488E8765 +795558C0DFC09B606C284295155EAC7895EE53C2FAE5D5FA6321E140C6105ED2 +5B768D7B5C60B05AA4C6A1C143B05E6CDC85D404A95A70360086576B0D5C4FC7 +4046BF9089C9E2E2E2C0BF7AD344C40A57D580F3112DEE1A858FF24F3FB6E767 +8981D3062F58C94F28A6C4DBF7857F05C792B0A6FB949EDF96C6291FD03D538F +4DFC595AFC183E555C0ECAD259637B5577BAC8CB9F6BCC20D5A30B4A332A92F9 +AD272E37F96B1F8764AE2553D85094B02DFF29918752D5955F5BCCBF74A8AF1C +61C6AA0386CF5C3B0EAB6FBAA07D8B57CF1AB78F5A1D4C087B1A3F9292CC9E91 +C1B071CFF5970681A067032997EFF78E22353EAFC1A1372756E0993AA70DCDA0 +ED96EB3CD14B2007CE740972B1F5BCE11B9FA8D8BB1DAF56A6CE6B4B15047FD2 +A983277CA8FD31E26D2494FE6029324E7FB3AA65C594BF31CCB09E7223E9DD06 +06701F25F8271F4706FD3E9B3AA0354A0157877EE2C5FC1CA591F290C59EE33F +F847E4980E7DE55F5B28225AD60EA8E917B869BDD6B8D1354731E5032294A5A3 +0A71D47FE5CA284FEF0979A31FE40D779434F2FF6F07A2C4B3EB24ABB1A3270F +CAF8F996E355FE149D8D7EED07CDFAEDD31E80EDA4C7B9895CCC7FDE93D7D419 +28F3BBF2232231B880B1B7C74B559CA5376471BF6E6394DF0BD32934486AA4BE +221ED38F7B3CBBF86F8FB22A032A5CF009BAA253F4EBAECD37B8132E3E658F69 +97D41EC1617708737E6110D11EBB192411530A72CDB09F4E3E73974D29D811D0 +6B0835E6941D0B86A92E94AEB06E33973D4E45A2C3C2CDB760552E2E6387AF5E +2A44CA18B164A6FE2321BAF867AD84601EA388F039AFFC19685C7E4DD614C7EF +3084EB0437999EEB80BF4A04FD82097A5DF6F3EB2F7D7BC13B993E78FD49728E +347098476A05D5ABAF7B2C811412531B6270ED9CB45D79277BDF40AD24C8A3EF +E7D5D59851EE39437CF9167EC2A3282145F5F38DDFFDE32DFE2004E7589A4872 +A77EAE408B082DBC8398CDB6D13FC5789716E48CCD6376EE4F654D743F1EC8A8 +217DCFF0347BC72382039619A658E22E68FD93E7B65DF221895F0890BD9E73A2 +8FEB4F8AF73EB19DBBDB84349222D7E62F86BF1580B81B6DE5CD766B300BD851 +8950AF328C910A7A6F1C4916069E45F8B8681F5E25287A023FFB0286555FE949 +B67BB5162E71796BE770B58DAA506050D87E5A75C4BBCB4A32DE971F62E0D2EF +27C770CE0A66968F1B09421DE78F7F1D75E2FB4D81F24D6B6F98AF3EC804D572 +A8A6C57174658D4187AD2690AC2396EC7E5041E8BDBA82D7D9197B18512741CA +6E08F3CF9CFC3D9D0612D63ADA635BB6D6E30D909FF769FCC97E200B6F67A976 +108EB6D916EDB7CADDB7E3A4110BB5F72DC7B2859D854DBDBE197F0E0CBD9170 +44F51BCFE4035C7A734B1BE0AF650A6CB5C629EACD395284EE03ED3EDBADF854 +8946D233D104E2951B3513BBE8041F29CF2B4F3E1FA1AEB98865366BDCAF3F7B +7BCFC6D633CF76D6E085F8980158F6FB46C9BCA5DBE92894C99015E6720C5268 +D6549DB1731DC9840ECFED51EC341681BF06870922A6F20A3F5333199C4AFCF0 +C8E43D8E021DC551B9CCB5F5AB3A35CAD0B90A81CB27D87C8A03666F9517E31C +9C31EAB68B6F8DC08EE5051211A24AA9B4A41CE54CC7D4885793356DA1D9F3F3 +AE8F79CFC623969965D012F9A607A32464B12EDE7D949C02D7A7A77C413E5CD7 +18564BA3E06515D16E9FDC434D7F5BC4CAC7B13026584438CC1FA161DCA47008 +1BFE5863EE1406D439E29694A1759DB8230BB73358BC9C3B0F59ACE81F9ADC4E +225AC63ABCF45AD94E0CEF25B43459DA189815B403E286BB6838EFF1DA269044 +66D76D8F6AB1C0C15064B56092B46C16CB129617405E45887922920DBA2C878F +A8ADC36F19A25221CCBA5F089952BB24A71B79B1DC1F1799E251995379692AA2 +301786ACEEA46F7ED4F114C9FA5B03B95EFD97F45466556A6181E62E5A583089 +3AC9535A4BD4F2A49BED8C633B110C268536E135E2306C74993F93FEC11A8A4A +E9F0C55683173DE4645DCD1BBB0A43D67462C29FA7D3EEEF792B241F2284D260 +971C94EC0944F0DD111BE0AB5A7D502673D6DB56FBD7F81FFD5354646A284BAA +982ACD9376D17FCCB92A6588E96946F5D4E25A79727C263F7867363137F0761F +9C12112388C0123AB0A3E44B91666DAE1F0E290C2F9BD9341B4B35A1C96AF545 +909CCB0820C5CBE21210E997AADF026F15E050A86BCAC15460F00E54177176F7 +A73A2E2402168D73BB93AD3A56372385345F9F3BB5912BB075FB0A5CEA0F0C6A +68EBE4A64982E6D168C06CF9A6920D1F225102BD6E2765A8C60B4BF91519447C +9C2CE147D5DF0FB4DDEA31F11F31CF4CAE0124098E7D0AF71BE0BE3696330E16 +8DEA9C0CA1A080646644E1064E64CD3A3C8F992CDECC5F0017666DCB8AB5B8EE +7269B0694CCD41BB21C1A83BD3C4E6CE239538CB10D10942981873EEE08454A1 +19176BE107CC95F36851F91E5A482462E6A86904DA587DC0CABB24CA90CF8074 +F687BF3ECE2F092C657E2763A422BCFE3B4F7475D63ACD0FCAB47E1095EDE4AA +AB6609A95BD2468939B26BAC9905915F7FFFA745D0568AC503009D9C7C8740E3 +959709333BBDEB76666E161E1E0CB8B94FEC2F8DB5E33443250BAE03EB618A01 +3DA562FAF6ED04684D77822EAB5F2F7154B42B48D746CDD3599A32DEC0D1EC64 +B83F74A75DBCC5BDCB8C07CAF0F91E08C19B7BF8B786130973A8E60D5AF94533 +3441CF69F617755958EA4CC737011D3FA87B52E05841777BA77AC972841A6226 +512E8F8A096847AAC27625E89611C818330BCBF9B7638EC5D9EEAF7FD0037A97 +99E9085E1D0A346C1E6E7A7BB7D940C878E21D1CC954E991AE83DABDB887C3E6 +C21D624EF81767E9EC5DD2519C4251DCDDB37EF3AD98E8B51DD2894D85C7031A +60B955E8C6DCEBB6AF1DCDA51ECBB9392D0DEF45B7AC7438463FF055105F0863 +E9F74F63E41456B66457B74AD2086DC57FC0A74BD4F1389235708F7BF4F4D358 +BD9868B8CCC3E79D6B6E47FEAEACF3795E8763502A918F64095AD520E94484BA +9536FE3B6987B37305EACEF3AFBC7CD7DC2C308BC058EA9B07E62C7BCB139347 +A37E34C0C03C96D106AA9985956AC646D593CF7B860BB4C70BEF70391AC2ECC7 +C71E2E3D28EC2CB881E0A7B36DA793AC0FF21C5A7875149FD42C17C5DD384951 +31FE30D6586F5144DF8CD84F758046A3D617CE8F1CBC9E290CB742BC807D920C +5AAE46915215529C965211224BB95EA45823E97BEC1D196FD6E787B19B5B3CD5 +C9F57A54A9BFEB82B1061747FD028C7D546B3032DF6D33F9B69678C865B1C1CD +07DADA1AC383C91BFADEBC1141763AF6297C13D9320F38F04E8D861E0BD78495 +3A47CE8C7AA979A1A3E150627E14828EFECC27E9697258E3F1760765536BE82A +8322BAAC2BF0778398C308654FF59E77E6C3972FDE8A7AFAA4AC1BAC57EE9DBD +FEB966363AEE23AD4F6BBAD90F00E993E257F3B12D275E3B942159818548DC5F +F24C50AFBDBB7351F347231EEFA4082650BF03CEE901EE2FE828AE20683DA93B +8152CC8C1220C9A76EC0E207A98134137B912850EC5BCAA5DC5522C832F2D9DB +42225E09D03E80FC7F028950524BF3950EC4CDC9D1BD32803C2C22DD92C12811 +2AE3F6EB50EE843421B1D618926C606D3B500778E1DBFB279B0790D01A92DA64 +1ED6F34DF4A946293608BDFCA34DD42F124AD450936C41675AADB2E61256E297 +BE146085E065D8034C61EF74CE6715F0B2A9930B907C8A99B7439F7541EA4008 +6BD4E5C69EE333A3441EE01AEA4A5DEA2027E7B16DBA9E94A2D965D7292A4D7D +93E4E50144A35A43BEF530DA26563354B51D8235193CD3D8C2015D87397200AC +B2CB71CA87DAD1AC7C8CD6C122E3581E93E03EE57A92C114E7CC2418B41BE726 +B19BA67EC36777D6234ED0F9CE45AE8D6E8B3CA17C38BDD57F0017A7F843B083 +7FB935FD15BE077C57A318C76735066322E86D15E6A5828540EFED105AB246B6 +F8D46F67660BD5B19C286237B768A8CA150DB38674798F3B407F6E07F24E0911 +55B9A0C7874FE4092022A2023BF89774FC44F0A00A2102DF9B54B36C31810F78 +F6785A372C7F2BCDA5880E8D95328170B3A7C7A533E62E071FB4578E19706CE9 +7282BEB9BAEADAF45FFF7BCFD2517ACB4536802EDA881384105AD6E06FB73C98 +0339AEB70579F6DE67AED82AB29135A9C4ACCB3CBAADD950615A1127D9DF4F92 +27748B0AAA555CC8C17B4FBE8F9389E3A36EB52C62DCF8694D9F06D5BDE83631 +298A7F2C91EDE83B60CED7067CA1775A33ADA771D309161A7470A3C5F22870CB +D483C8C40C3A85B3ED3F16B30F4F08A196DEC9F39F8E79219FCC73323730CA1D +73F6AA866FD060E73839C8744F727F81604C36FFA6D6B8C4DA281EB30680282B +5BFE0BFBD5F7088A4953855C3EB3F9135DB58F72748E65CBA2C5E8194130F492 +C7421DBD1DB095786D613C07D55E0F876B5FEFAA64EB780B3462248FA7F9CEF4 +DE8ACBE89F1B07023E929E728B12723319483F8D5467698C42796B6B0B3F31DC +E004D709C8BA5C01B72CFE341D34BE70E0DDD7547AB504CDC658D462597CDBB7 +EFCD471FCE49657BB96D4083DCC3F5053E27C688593FD65C7FFB0C17A2DC5BFA +EB404998A92E85C31CD69A6250E30743D5A0C2DD84ED2E77A172C03EA91CD1A7 +8F8694E4A39F6D9A9079B5A62729D32C5BF6245EAAF38A8024B3E580734DA2A2 +9A771DAD5E446BAF59EE866BF1C2E58E4218C11B3592E015BF857B2086826AD8 +9F11AB95283D2BD11ADFEE3A431C58087CA0BB64C8937B26F8830C839B53898A +E11C13180A292215AFF9BD6F903DA62807705FC306DC312337BE44188A83AE71 +E5BBC00C55FBCFCEC68C16C74377D7428314209B82E57CEA1B022E34E9A883F4 +28BD899572A669FE228E8CC69F648A2AEE6F33A83C8DD1773EB5DF5CC8C5CE2D +B64AE8CFA8AE82417CAB67DADFEF6159FF6449434A20C84AFDB0A4F97D681610 +249A1BC636E54F5AB9B4780674DDEFC93FC65BFCECA4F76A0AF5F0F6FCF2C3FA +A7DAAA2BC9993A94FD7158D71CCB5B2D0DA9FC0B9A49ADB2BEBAD699066D8B02 +11FCF0D4125EEFA53253ABD855C30989913D1F3E911C722321E0BE8E6CE92D53 +BB13CB619D8AAC22B34422E65E771C43D402FF5169B310F341E039BD71835C78 +98C4771AA6CDE8BC78203884AF7303ED90D35DB8889C2BAD2505B7ED5D1AC6F3 +9F6F1EEE906057E55533374D611A626C51DAD35580006079CE7DF49CC005350C +83CCAB9BA1E2C8D29F478982666D776EE209E139957EFB1111383256B6CB99A0 +1F430798528AA604CCA34315F77DFE0C6F7237BAF92F6016F44EC26F6A482603 +71E487A07F677F00C7A7675A3645ED844DDB9257A57A3A6C6AA064560D211BB5 +6BEE217D782E09E5A22C3D63478D086182C94098C7DD71231B0611B250DC9BE1 +79FFE75A2933C619654E99F6CD53E33779B29F0220AFE0BC3C810D2D2CA1FF8E +4DC33A6D0BF543537C7DB0B1524F30C22C0368FD0E4D9BFBE70854011104A0B0 +B7C2099CF5569B2648E2F3077E22C0C1B5F1324B4BC01148849A9BF3E1BB3AF5 +AED5DDA803CE984CF5327DBCF2314CFBF877161E5B078F2981BC3D4B43D97A69 +ED537F1CBEA746433F943863B9CB2A6CDF6498B3F5943E93786C673C8F2A8052 +735D704B25EDA41211DB5AC9002EFE8198ED807E1CFECF1291AE3ADA462A59E4 +06FDFEB52A56E963407B1FFAEA3ADF8FA06EF856F65CBE87CD50D516BA2FF52F +8DA88150067491A95E889F9FD98230A680E6B9B6561A703EADF97532E95C1DA1 +72F9404A706B4C55D156C686C567F7E29757A9A09A54A24F6D0AE80AA3D04CA2 +71F3598E48404106A2F059606B7E762B0B3AC253B62C517755FCFD03C7A95C6D +624F5BB73C05C61BF39D908DEAF6A6423F9FB6CCDE48580E49873E45B1BE7277 +E65A09CECB5112F1347A11E0016803D20CADA5C56CF081FFCE1824EE1011CACC +451F985F66CF591806DEE8093B8609BA7ADC3AA334E3CA06A5256DD5C3D3B647 +A4232E5A2C343D0A814F481131069B73A83877594D008523DC8320467C4C1085 +8E56D57AA71A1F21AE57E07A9DC8BCDDC480F8B3FD061395965496A3ED6F763D +3A8F320C88E72AA8D1D7E9D96E147AF96BA147DF6FBE1F6FE257F113AC3181E8 +A8F7DAA5171E8495DAD280E89C5053B2578C0FE6937897A18C2D6AAEADED8063 +047465DFB696038FB7CCAD791C57FEEE75FD2BC916073C1A8195825C40159E3A +FCBEFD574E43BB524682C1418C03B29F395C148C7CD49C4864671D69E2684E3B +EC7186638856AC23F9747E908DC2F3F10BF0C1B8975D5B395115F13EAA4D9928 +3F9113932E675B8B6E035ECF0152E0FA3AA17D982D4A67693737449CDF93CBB4 +3D078740BDD1857C4126265C047DAD97BE81231DED678EAB0DE8963296D5D264 +70E964D8F1DCB3EDF73470B5D27BCFCFC6A3EE2631E89DA7514E9CD689CEB4B1 +3431D7E01D77CB63A6EF3887BFB01335FDDB1095F903FC40FB802D18621934E7 +FA0C5D7A877860A954C2502C8C4DA745ED88FDBEEC9A7DB37DA56F10AFD8FDA4 +DB5D63F7B2BFDFD1337F757521CB9E3D198725E91337B2D3956668EAE2D48970 +F1A1D9C56F4AEFE9443F637166CED647A0968908BB1582F58B73292CCC622F94 +8ED3FAE65E9657BF232AABAD64BE637F7E71816C20CDA91EF714702E0AA67522 +F8DF27EDD505187120C848193779B126A88A092F0B8E9BC0743C00A29E2FA6D3 +BEBA9E573737313FDAEB348C83AD8BDD81EAEB91861E9B7EF989077C4169936E +8F50910CE16FD1E68EF3D9D307D6F29EA534C5DD0D3B55E18518DA6C630B6A85 +92B91C74376DC73DB510D678BBB5674740E334A195AFB5F711F8A8B8F78E7C4A +4762489B1B4616B0CA33FC0A8C063A9D003E604CFA313DC17276DC3A5D5FD781 +8524CC6F65D91603F76AC32BB02CFCA227155D5CD5CF62F5B55BEF9A21883665 +C3756A73D647A2D45C76BE20A99F5B63267D54E2592298434E923D72788756FB +A9A29FB8CD13BC385DA8BBF01E7057E341B64349A4BDFC49C2025413EDCC23CE +94234EDD561643E50CC7F178E10455133E398D8B6B2A12A57DDBE450571713EB +301E9D0A37BCA6CA499EF04D69E73662CD2788E2C911D8173534893ECE3E30A5 +8C2ED948DAFF39A8E0DF6980C283F1A9505640D3456FC2028458EFDA6BC96BF7 +0CC9F7B72704ABB471C84DD2F2C64B3CE1E195E8FE3B291588255B4A064358B7 +603C02C6D3FB6D583B829C1AF02F8F0B5A0B5CA97BB954E95AF5A21F5D784ABE +0E4FB9948B944E96540CBCDCD7296E3609891D14E5A741874EB35ED6DDBB8850 +48E7503337F71CB7FCA5E3EDC5A2E40169C6FC0023003A8C0BACCDF7DB190D4F +5EFCFD3C8C9DDC37E366C8A93D95A55EA5CFD6ABB00581C632FE5350F52C74F7 +52F850B82B3CF8C37F536ECD3033D1EBC8611A21C57245C1F692E14C87C6A295 +5E5CBBBA799E53170EA9B40C0EC4CBBA9B51A84735E714A44D4AE785B7A56350 +ECB0CE2B5C31A3CC89A7DC80C46BD1100F711796CCA2A51186836D92C4F889E7 +62A93AE089945AD1DFA13C3BC904D5D9A1D8131EB3759E723235FE70E336F14B +AA428978CD750203DF28D7B122C133026A94523309783518B7807F432751F8E2 +77F4C90645BFBE784A898F9F16D75ECBE906FBF5113FF94378E39DE94E5FD27C +48A92E9B3E39D0DB9A13D20A2A6A3E246B22342C3A3D62E880841A91A393C297 +F869350E4FD2ED7FE9CB0F30A9B8B8F35CDF92684ACCD40433EF25EDD4D06BA4 +DADF51067F956B05E0D0F118AEB45263704FBF8A3097BFAA4F5ACB1E0216357E +6932DB2604F88BD151A06CE71599D754C952FD4094F8CC1562C92F933E84808F +AB2C25D773E87DACA98C778A44042F6AD48C2FBE56386854095871C58DE8CFF4 +DA339247B61A478F5DFEDF9AB3780E6EF9FAEEB1D6101A7EFC11798BBC3276C3 +53AEBA488A85141359B77D34A0B74279DB8C3AE1CD26AAE67D791EE01ED5A4EA +291BCF6AF321F23F95F7277066868DF009070F4601D24AC0DC626EDF735BB97F +A62D21130F79B7BC5977E5AF578384AEAB6FA5DBA09CDDBEA1DD8A6C8E6BB42F +BB4D6F7F7248831B783348723AD638C5AF14E10182F3D2DDDA5614B9DED53BD3 +8CDEEF5A16F1B9F4BFB901F0C02071A751C85CD39A8CCB745BC75715AD7A02A2 +6209976AB1777901AE92333C2FBDD1F23E6D55094251CD00C675EE7189B51D8C +3E06494FB2AE33EF63C9F1748559A27319ED9BFB9465E8F788D8109D5C5C417A +45714B66DC451E480454ADA265BC05E9F6DB2CDF2E20A7197C63D7C85A000244 +BE0D0B1B374DC3762B547394C1C717DB24CC5BBED6454247EB097657FB799865 +D5F5F8903668EEC6AD4862508CE97614198C8AADBCA8576E07A4CB12EDB28F69 +8662451FCB78416CDA4482E02E1EE9A3D7C273FA811E687C03A36FF113310482 +46BC3FD5D0A34CB5B621E1FE2A7DADE1DDC8185EE521395AD531B3ADDD7BA056 +9465B1877E310992FF2FB1543C7E47F9C57BD760A944BE337E39A2029C8F0B14 +F60065E45E48E7A86FA5C5E47179C69153B389EA19790EADB737D171BE6D23CD +0B33537B7DE65BB09DD8BEF131A5D4A7E38319C6608743AEF35A958A4711356E +462A0BAD6566EE28B7D259E04A638619632FF568DA77171CD1C56C56B0AE6315 +4B4E1F3D19EB932006D4DA8577284382C9CF862EDB07790AB830120945F2E818 +89B86E06AF042D8340332A500A4554FB7E4725CA37EA896A936FDE87F2E6B0E1 +252E758140253B7BB2E287F7BFA496D27B8EB94F1C22F7E7974CB7DDD9E69F06 +1293D0758E28F27087F4AC37ECB851E3CC5D071D47B88E7B105993DBFC7C3107 +34D6939B0620F69020D27FA02DACE1591DDF9BB179250B090BF95D038509C44B +0E398FE948A60E63959F7620DFC7E84E286024014D668C24FF9AAB2408DA96AE +C952BFA97DC5E0FF5F1D0FD7B111D32778A1FAC55B2D97C97D28D037628DD779 +B385695D42FF3CDB3720DABD17C34587E3BBAF315C01D2E29D37C825441AA195 +C9CD33E173F911AAF1FB0F5E90106C5121FEA6A5EC91D7B809C1811EF1B4BD4C +31938D0B227E033DC3D664D8231EA6B4375C0686E67222A3B04B91B2E9A9C9ED +E76E633B2C51B304EEDB36ABCCD3B85E674B38C99B301BC82DE761981BCBCA1B +6FC9C5EB604A853A36C955617ABA7642D6ED1FC54E6A2D41F6EB03AFFE46276F +ACA466C2AB0DA0C87F112A13C5F6D620538A9E073367B4F71233D16B1734DD1D +303D07DD7EB3DD3E7760CB41B0FC3A34375AB6D3D0C54E6608985AAF4D5703B7 +378BD1DFCC218B510F013A9905896AD78A03E3B1D6B75F5B514E8B2D68F9D2D5 +E6C25A83D6483C3A9B517A08449AD64F337E7489A129A3A52B7AC3DC7483BE49 +55C4F51B5598177E8A2583448299602656E7D96257FF524435A849A5500AF476 +EEB525D4B8B4BAE3D517C3E3B1F1D31983AB3CF405E31CCD14E6DD5CC93F16F8 +0111A1461442EC460C98322F7FC2DD5F64D4BD83A44E4DE083C5AAED8E562885 +36342C1DDEE6CDE9F6D6710E1FE0494B1E441E7D8E18EB6C8E2CF5D5357C3D53 +A04A4C656F294CE4FC7A34A4931D49A7BAC1D9C7E5A1B0AEA35AC1157264E7CF +69540DC3200AC71662B83256A6E9FC038A7C58DA71773316CDCBD7C91835C7F9 +4F89027052C52B09F4DAEAF93569BDF3FF2A86C6CF418EC3CE94EA618AF55826 +7DAFC1773222B5B6A40ECC2003AFA2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -849,42 +533,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMCSC10 -%!PS-AdobeFont-1.0: CMCSC10 003.002 -%%Title: CMCSC10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMCSC10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMCSC10 known{/CMCSC10 findfont dup/UniqueID known{dup -/UniqueID get 5087402 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMCSC10 1.0 +%%CreationDate: 1991 Aug 18 17:46:49 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMCSC10 def -/FontBBox {14 -250 1077 750 }readonly def -/UniqueID 5087402 def -/PaintType 0 def -/FontInfo 10 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMCSC10.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMCSC10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/ascent 750 def end readonly def +/FontName /CMCSC10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 97 /a put @@ -892,221 +559,58 @@ dup 105 /i put dup 115 /s put readonly def +/FontBBox{14 -250 1077 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 -45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 -7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 -72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E -BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 -974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 -11453BC81C443407AF41AF8A831A85A700CFC65E2181BB89566A9BDEC70EB4F2 -048A6EB631F05C014D372103E37FC3FA317EBC9973565A638403DA02E48B7D31 -CFF6C241DC5CDB470561002FF46437C06EF93BC99352DF04393C661FFFBF4BA2 -0723ABD9B3E9CA9E63BA57EFDBAE684655CBBDBA15ADAE43E1A2C98A3CF060A3 -D16AF8FE3A49B50A24C20EEED716E49AF6013D4D38CD9CC41A91C17E4D04D79D -567E1EF49110AA9C34464E95D81A730ECEB2C9AF38FBA6B45E253288438B4CB3 -DC75B3A906D4357293BA41E59C35223A6C9CBD6FF5FC90C2D07CBB376C7320FF -435A6251822BFCBB612CE630EDF826C37E95F541C21B93FCE127591D5E38165E -2B58A34AAE37712BC58B63FFD70AB80F4F24612CFD2F1466BAAF3CA2BCB45148 -D0DEA0E9B8FBA4C4FF5B8B3CB02E461355051842BD1C94F41066B9B909DB83B1 -DCDCBEF7CD00A43E4C0B8191A29600CA197F0BA227FB8309BB539D2A620BAC70 -8A1AB2DFA51ADC9873B8E5582DCD3ED154E5D727D1665F99BD89883D69E6CC2F -DB3A57AEB612171A88E22F038461DE03FC357F771675E34E90D4D19B4B36891C -9D2333960400E97494F4FC4DBCE6A73C34A0409E433BBDC0AAAEBA7D3555066E -1CFBB4515C8B573C9B9DD12ED5B6ECEBE35AD0DDEA9DB004FC6CB540B5117B49 -59CABE5FD74C6F5B6482B42C20B5FF0467D1DBD7CED2CC651CA57852B6FBB402 -A6764DB342889132C911CAA713A7F2FDD8A5E849345D6C81025E02F5B8B682BA -90CC9B467FBC37362436EA6BF8EB62D784B01D5430147945BC09D1F49EE89F2E -3E2B8E6D439248A56F82F2E03EA5C7A922F2813BE6538A3A423BEBC55B345AFB -3B3C125306749E137C647D78028AE1FBF3E1A82C260132832A9668F454D39C41 -736717DED0A99F6B11F005F0E1D07FE84713AAB4C042FDC166AA146D7B5E9198 -E4F485BE5B135EA281FF1C1E616B5AAF02771F58C5840CB5A427FF9794F93E94 -17FD799C78AED1DC4810BCEF4C6C51D3C1504EA2C6F2B29805B7ECF97B5F637D -FE92E168CB9029E90404CB54FB312FC7AA8A9F2F524C03E61F03B1E31D4F061E -1677B39D5D30C9FD4673E1723F4AE3CCF38593AD6D7F61E9DF3C010E51F25085 -35D51105E1464BA146A78D7297D4D310AD91342A0BB942034A3EC0696B467367 -3E39D202D637E6B14D0EBCA6AD3CF22B07D4CA69C0FCBB6C93782B2F0DFC5AC1 -5D8A16CB5EDB671A0C1BA9D10F63CEAFCD0E06E42C730C8EF769CCFD57937245 -658F486036D37E8BDDE5670A212FB488A8753322A5B170C9662750AA958C0BBD -8E97D8239D2A08B30416504DEEC4E506013E037C91785C674F8A6A44E23FEE6F -CCC00CC5E4D355B0871FDB8ECD64F70EE32449BB5D6F84F8C8AA2D5B1A489BA9 -D7FF2DBAA8D0B84054E93D64D3E77850A3724824914A0F821EEC3D605DD851A7 -606936B8B9E24D6E932E16C448140FE94DD96C75AECB73850035ED9C04A1D93C -64B21E7D4657E030483EC5C3554AEF8BE4D0FE5B9743B875340B09E01273DAE8 -F256C50A1A8F2E0417440A8BB0173F59E11523E1CEF2593A4AC5AF2167627B00 -C5EA97D125EB8A4BD4C372877ABF10F5B7B149D73787E0834BFB3084E9508DF7 -072DD71637019599252059738D4D6BC57A9358E4B14F6AF9C4B31DB8E25C29B3 -7A15F9953BD73ACDE5F0445A5DC406BB4635FAE51C1D8202AE31730E6F355317 -1DC197DB0B6177307C60E5D38F4487363EE051B2E609A52BC4D45B14B6558B6B -5E1618748794B8340752CDBE7756C068975B559615D4CD5A97CE30BAA7B2B1A3 -2FEF2E055232B24FD8A21BECDE1B6A479A28EC80AE2CD16DB50B30B4A6CFCF06 -491C7CD5AC29FB964D4846415233947522676DEABDA0D9535F8507D33693930C -B4E4240A02B0CE7EA288516B8A6EF908D7F8BAF9012D052C6AC96D9F8F6ADB07 -8984F3559C5E7E3022A957982155FC9CD599C74E18328D3AB46F9DD15D1C4C3F -9B93ADB4489BA02CFCF57DE6270F3AD2F8597BE71786510EF08142F430EE5568 -4F9DDB792B7C46B6135E341DBBF062FBC50FABA80CD4A384157BAE57CBEA9781 -AA4416323265168AC097DE7E30A0D4750143A4FCE70A863A31876A8FA5327C3E -36E89589E363AA2B1A6E8B09F5AEB8FFFD0396067173465B6503383DE517A6EA -88C0FC08578398C2A721E5AEB29F4AC9BC990A50CD87BD35A11F9E81F68E7B85 -5E5B95A4F9A5D30379EF90D78E1E466DEF867BAEFC4F5ED2C762BFF099C1C2B3 -5E0DA1C2FB33BE1379413CDDB1EE6BB3A495331F72F2FAEB8152E8AD5FD334A8 -AAB0082A71D5574B618EA8D487B8FAF1B445F3395B1E21224F5492A0E06F5152 -7726835C900E2E52BE3B7B654183AEDEC68053DD0AF19EF6DBC10B6FC08EC7D0 -CC0E2C8FAF8C9A4C21FB7C34E074BBA4EE64226BEC8C928A784C1BEE35B72EC8 -E9295240B29DDC2539CD118BAC38DB3917D14CD33AB45FE47E827F2A2B193AFF -53C5396C52CEA4F43F06AC2D08C74CC85D608CBA267175EC31311EE25AB48DD9 -FE811B411AE426C9FC0B6044D1EBF130231623F1566CEA4D1C06D8032FD9808A -94479C842BC41B675CF6B90113BD681F8D43F51D5016D80EDC11D7640FB950D4 -E709A46184406ED90D0892A4CD9062938A8205697A200DBE1F38EB166EFEA0EC -4FCB45CDAF82EA103DD6FDD03D146F3E42EDA6496064DB3F4FC1C5280C9E604B -D5EBCA08BF2AAC90156C11EF68137DC76502EBF216F3AF3EE30DD2676D218428 -F41C655093F8B530FCA378B5769F262A6FDB4B66B83F18F050E77227E28D71F4 -5F4425CB8D51B3DAE872CD86D7804F870BC564A6DA1CA13EDB00D131CE4F6460 -7021661B99612629DCC20C85CF155EDC5111E015A77B0B82A8FC1EBB374B7EF2 -361419BA93B857D5C9944BB5B4AEDD86ABCC261542077FE09701C96370168579 -5F89D5AAA08D700E2643E88C2FB8D1D56D37AAA9744872E7C050B4CE046B47A7 -83F224FA9FD311C955EFBF173042C8FC66524135F579B1397828870D5C9DC71F -8615FADE2A1CFAEA90F732B6C266E2F3048FC43EDA7A6B6D98E9DB793CF457B3 -F5877E7A055C92B0246FEA8C72B3B3456F93BF36E2651D32CD614C3AECC0B4BC -F824C8363E593A6458D37408FC5B09883B280005DD24123E2D4B1B85F4113327 -EEDD9186A4AF2CD6439B46C5C168C125CA80F9EE9E68906620EE126CFBF26E15 -B269838A54224EDCFE2A373EB750D4829BFA410DE5F1541E428BB1E024AF496D -F5F1C151F5A645C8622F2EF9088D57A2811868A8A8BFCDBFCE3ACB8463AC35B4 -8B6F44E1C1232805842F56FA468F81FF37D5D55B81CA56058558544C142EB3BE -07CFB1F75DECB1E48C14D6AFDD455989AA6FFE8B8DC54F462B3C20E31D270BCE -8E68E2B43A6625AC7E9792704FAAD6CE8BBE0B341DA7189EBB3E9D5375B27FD4 -12506D5BCA50AEDC6955E6C3C7BAA84BACAF7ABDF3A270C7734EC3C6EC22793B -E67B0E288F99699D38DA8B79F2D21DD97945FBDDD132A8F0BF947950D3C0B4AA -EB7B2C435AFE54489E1930610311D718AC610C21A644F34CB2D1959B3066F39B -EADEAB5CFC6AF4D191D86B02402B00D1C5262707861C5308730579795EB53207 -A291A27A8B5C4DAE0A87A0C6A260026CA3CB620E1002E066A515D7990F3DEA29 -0FAC962E0B82B7A6C86B1EDC54007822BAECED673FAAEF88C8109777EB79A53F -AF3C58546974F2F56E70E9B5CB59ACB5C27CB01895557B2D82134D7F02029B24 -3331621F38E68717F5CB68A8892D0B9C0A8ED4F8BB56E80505170D44C6856128 -2DED0254ADA4875CF56B4D97372AAE730D4C77A2940DC8C178274DF88A9EE037 -215C6FE7B9D481EE4DE809B124C0270782411ACCCF89906A8B143D0BA8B2CEDE -E9B90465C3E57A4FD9AD2702323450256ABD09A1F8C26F08480317C08B75B720 -70A161C99715A35A94DD5C9647ED0F8A5337B774C8E54F9653AC859485A1FED5 -37B725A7E4BA58711CBCDA6054E34CBD8E9F9460179DA7DBD243D81A1531FDDE -BF2BD425BD9DBE75EAA333B1F5793669A215549A774597E6ADA16D323FE5601A -EDA41092730009A99BF5B5AAE281844A6BF3292D4D4EDE36B4FD8BCAEB6EB72F -AC5D3CD53D0D621CA9EA8D254FDCB2B5161EE9E80B266563F669805A3A15271A -0753983004A1ECC7FBADF62AFEA4DAB49A178C231759857DB910668BDB07CB3F -7E8EC24901863088B3231EE3FA563924032C91CA9D68DB398F9BD9AC0C651EC8 -9051C9F709CD784F3FF5951DECD7E869ACC34B83AECDB011E6594347855EE7F5 -28811F744A4BD70D4E9077EA7EC19FFCF612689F12B34332857AE41F13E6D16A -962DB9B6AAAC167B9FBDF0068EA13412F318384134B29F3F0C399F1973A3564E -F9C3C39B5BDD4C98D81A6CB476E565860B50704BD65ABD630A5F1372F2D826F3 -3AD47C08B8AD3176A170C369EF3CEEB190134006D6135C5B8CCDBE1C11FFF1EC -3F6D8C46E15C4F5EB9ED9F31A129594D542D40DC3815CD075A0DBB648D868AF5 -15A05C4BDB28BF23653A3AD96CF6AFC065DCCCB23D5D9A945F8CBB539DD3BFA8 -DB8F1FBF9B6F25B41EB4309995CA3D5D6ABD70CBB4A2F0C6364E5439AD1045FF -72F6B45A30BD3A548CFAADDCC6C15D46F6D783D3E520215751DC98335A4ED512 -D7D19235CDF911CC69F3CF4365B678EBF3E87C456A4E77339C74930083445588 -462529C22A96A28C5CE87AFA0C981F26CAED5A1C8DBCDDA612624DBE0373F026 -465185A4D8C73CCD8D71EE97116F8F7D341B87FD78F9CCB9FBDA2A7799711607 -6BBA855AE9D5C505870DC85FDFAAA130A351D56AADBFBD6A7D52055E3200F8B7 -8AE9A00092B55DEA8BDE224B4BA7FD4A191CB1FFC4CB995FEE1AC2883AB69E1A -AFFC09AB5B9AE311A030A5BA05E2213F9BBF016C8FA80689C069314D91274B20 -53FCC65C7D7B3A7504887525BFFA060304931672A078BCD7F269595686310E34 -E1ECA868899BC402D17EC36CE40D5041D7CEDA77F7764C9D98793F5334F574DF -E93CB10A5E8ADAE95CE63D2339557091B4B4911A4987CF21B7F1DBADBC2DD605 -8EB72473C1F2EABCC44E0D0339EECB55DA74085606C3F89D57ACFBF5755A5395 -CA8D4BD47E4EE8D8B882D3AB31A1F0C62E74654C7E041E4FF2693A38A9796064 -46526B0A37E6B5BF8E48E80EDEF81E34DA8F6CC9025936A4D0E6D709D61B7B5C -AB550397117F3F9D2F5A542A64DEA8E1178F7337124D6B56BA92F659AAD694D7 -391028731E01284BFEA635314A8DA8DF7A34EA3B6B2F8803BE6DCB423A9E8015 -55EBD90EBAE8A00298B3B6B1C02BA516AF528122C1F2B07EF69F5466C2C36643 -0D665D6561705509B7582D8301AF3C32E2F3B9433E3E04D62117C7E8A368BDE1 -0D4DAA1C415B2A6573116D2A169AFEF700A83F55D88813585E89C94C07802BA8 -3AE8F9BC3CDBFD9C2E35D062B1FD6E79E1EF104FC70B0AB09D12CA027F33F85A -22F0ECBB4AD55FE8C616B82C46CE69A600E4F767BD7A9C5F9B37A3196B038384 -5DEF76A8884425FE598A63AEB19FA698C2AF7CAA4983CEC789268E22BA051EE0 -20A40633D22D8F707626ED30E8273EAAD1C065F0B2E1718B5AC853ABE09330C3 -B0082A71D557169BC1559B6D285A3499D41C4CCF1F74884EC3917EB9C574371E -AFE8578DDCA459B8D22C0188A8D150437B05FB92022C95EB6FBCC954216B5FED -CBC7C90B9A1F061376A9840FB64390A6BA99CFC8279A86A730C6DBFD14C53C4B -7277D676BD42203677E9ABEEC8C97E13DAA626474513B06F8734DD784F2FBBB9 -B3B448B8E8221E380AB4A86D3A683B86A54129519D50DD4FE63B30954D805CED -A9A5D9A39C58B65B08E1C19555E927C6DBF7FD07252B2B57F62B905D6B488201 -213D106A41033B26FFBAC2E616DA6ADA6D560BADF10E68872806CFD6F6E19D7B -57CF1F7A030A7BAD374F16A977E0ECB8742D034ADAF9C247DA19C8AEA74EF6CE -DAFD6B1DC562FD3B77E4D008BDE4D8C7FCA9895DA1AC9EAA01C32A0DA712B082 -9438E77230D38FC4153E1711417B918BA6CC03203A5FF082AF880F48518D8271 -C1121E4F1386B30A7F1BC6F10EA98443F8A65C867A109336B808BC9A8E2A75AC -F950835AA84B56F59DA4C8A18859C3B68F6B6DE09A6675F639EA9107BDB67B0F -54EBC564BC2D781B61C14363A54956BA78A2BB89C9F966C94EEFC29EE9F4E23E -C0BF750144DC289F0DEE1F8A25BB52E54F656FAFEE4BD2DA57E1306BBE648051 -1D0CFD6A23A3DF082E3CF13197BF1B7FB22B2CD427BB78F455C9634DF989DC90 -7BB2AE247B1C99AB2062855B2948341B0F857ACD750B59E370A6698C6A1F5287 -72A4A9628A592E313956C242DF8277EDD2F1FDFB07CDC104275FFBF796D7518A -DF49FF3CDEC3BDFF1D290C382F244DF18005ECDABF0C5C2C64EEC4383E2E07DC -5C82587C071E59B46B7BEF31D268F39D9B12D534344FBA515E9DE8F166FAD1E2 -7D1558967AAAD3829D3F7EC6938D20E5379F414532976ABA844D97A5E9078901 -EAE4D0ED1F4C7EE7A2D80D891A5013D6409A38ACFA497F5A169EB7F9F4890DC4 -62FA6A89EA48267331F086992B9CA9305E16611E6AEE67DCDD588A25D37F45B1 -0DE75C802EE021E574B64B3969DE2E5061ED9364B646C38D4BBA86802CA6338A -94E135D2256920EBFB1AA22D9E90C7D16853F0DF9F2D942748EE540E4FCE63C6 -5380D7AB4ADD6CB00FE8F7867E4862D8DB432F28331428CC350CDF7F447A65ED -D7683ECA35A22ADD06E9FE6BAF060913AEEE7B2B8EE4798E437698CC9EB2428E -74CE73F84D0D2292DE709D71FFF8901C3505370E6F1D4E28E6B7372492C65A88 -159371B1D60D77CEC93B272B6C5394EE1D2EF9969DB2838B8E128553879A1BA5 -2884B0A596E8FC3D1E648B7E26A4AC57DF09B9CE09B2F91D8CA618CA52AB3DBD -D005A56A420366069B73146A6F58E88BA49671A1AB7C2070C3D42AA770285143 -40AE7D7868C0E1993506B07C086AD7D4F28CE2D15853FC5FBCBF9425D8012B9E -DB6E1E5002517659C8DA69DCEACA94F368537668843D281FC11782F1C5F71977 -CA215349EE6F20565DE3D8D8212A40E1227A4B22965FA64A0B02C62BFDE97E6F -C3C54FED4057EF9D258C42D7440C78C5E0CC58A40DD74ECED4152F70A93CE71A -1B3A57C46F74A6D27BF98C97CCD31A8EA487260F224A3E40F52C65490AB4098A -7B9EEB54A5A415C8C88568F7D9EFE74BBB785FA18AA27D9201F28BBC477A20A5 -D1307AA78EB8C7CAD409AB64B29E4115E45F5FADDCC80CA74B296C4265A40614 -37F2ACD8386AC0202D6FDB6711E8CB06442F209D781E940ADDD6D881D4F8E874 -357C533115923B90138FFE31D3577C6AAE60D768970FAAB682CD0DCA3E9A9A68 -6393E4B772691C1013ADFFC90C508D51B02D2518ADCC7E79F7DE5DF9D18B8435 -6129064DD1A3995E5A6F45D78287CC10A0EAFBF47223494C5EA934B1BC2F7C53 -686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F -D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8 -EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6 -3088F8D19CF2364A329162D39E166AC728B267758341630B00398D64538FCC4D -E3E6CF103794C29AEF7F7E56970F6B1ABA87DC8D23E280EDC77556593D02DFF3 -154883CFE4EF04E07E7539A4750FA1CF1A994E99B656E728D140C83AE1F196AD -9F049188A4184C84556C0476BE46DDA8ED86888DDA3065C5091D99EEEAC43092 -40B97AE327215024ACC0134CBE91FD761C26A48EDFF9028DA28222985FAED7B6 -A1CC891D07185666E34BEFBBF77C6C32B88FF3F1046E4EB2CD942E70746DDCDE -002E74BA03A2B15E0529E61DCAC207A71F61C89D81B3C53C5B458EAC70ADFC54 -810310CB04E1A21FFBC5DE2429EC0989A3F2B6AE4290A005FBE736750956765D -637B7CABF7F9A593D9FF6C322895835C0007A78771D1404671122F9CF898AB24 -1A5648EF8C40B27FD537612C4CBC6E584FBD058DBD4F0A00C63A79077826D3F1 -859589B221F7F82DBE392601B0A89142648EB40BCD943E382FC7758A10F978FF -6DD9C3C1D284C5642C812DBF29A75A50BF63F788CBEA5883DC1544ABB49289EE -2C99CB03C1BA72C7320904C7EC94736825A793D5629EABFCEFAB8D28B6F23858 -89A6967942A943FAB5E5B26B8567CC9606DE60329C6D890843F700FC1F60656A -38164ED7976AD47A8E54940B9E340D61353AAD260C9273D45772AEC8E9F4F045 -9CC576D152757AF3B74DFB9B6962001EA9FF7F62C2E36F71D9B76BB99DA7631F -774795B8CD1E08480153496DE5E08A1F4BEA681D0C1D6336A49A222B0537ABD9 -75A3A9D27D0B71B8913E9355F8E56C5FB3E14B9D5ACC4F87339FF9D9039ADEEC -660B5CEF75E7C1772D4A3A4D0C8976A165766D9DBD0CA8132D17E5149AE716A9 -2E255277FB5294A96194C462C74AAB251A36941768EDB3EC6DC2C481393ABA6C -8BC2F3AB0BF5A6E5619BE16DF43BB09D0E9D5FA4577426BE8A2F847C25E55D7F -F67F71F3F7BEB60A2DE7183A562D7A8C97E96A43C9E06549B174431F4499FB8B -949498C1DCBD58F8C028B52BD41EC7950B2F3F570CC86B44382CB9F2D5EA8CC6 -BD9601797B108FEC00511C0D50484F503C1CA95A766012B9BAD38F014867A27E -D4564B02850D3892796717EDA0E3AF8F81B1B4404DA8FF7D0FF25B1464E75B6B -2A55554A12D0C032029C19B72CE17052E96D235A0825065ABB286814A465351B -6AA15EBFC67E9FBCA14D7B8F1B9AD6DEA70CDAE988751E1703C41504A15F25A4 -AD04721DFDDF69C267DAABAAFD31ADF59861FC3A7D9B3EC7E65E424DDF65E253 -7E22E3190B20B2221849EC1FF3DB635393446B435A51DFDF427C2EE6C45CC9EB -CF142528D4F8869E6E44FFD471CFBEFD327B5D204C879BC8F9611D5B67383211 -5224ED2DDE9A993549039A6FE27BA358AA91C292216E9AD0FBFB5C3A34F5ABCE -DED5848E2F0E438737A9C1DB313A943BDEAEA9B30B1B224D81FA6C74E5BCC03F -032C3951F93F7291E5DD988B44DCB8E8900746AF88AB0D464DAF82129D29AA30 -C8E6102ADA9C9D5F0086E13F8C33F09B9332242B98F6C635B4940592135C75FD -AF697976371F61D88DE453D7BC926C68F4DC15189B85BA08700A5CC26A1590C5 -EDFCAF063D28095048939FB2A21B6EF7D08E6189907A5D0D5CC24CC577104438 -79D693CE13C22BC55612038F56A07C3BFAE2513905B0AB3F5CDC4808BF581D14 -E1F3B0E771C0E7DF3CDC1A80002989F77EEF09DA90EC20CF2B1153598E7EF452 -4FE4BD2CE3EB3E8E41041C42 +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337 +900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA +87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98 +076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518 +9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A +FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD +B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9 +CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30 +40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D +C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B +7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5 +FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC +81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D +5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90 +CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2 +24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD +9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3 +933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307 +08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61F886 +A05B2870FE72E963C4A8189809A2B2CD9FAA7F16449612753E497511227DC378 +14FF12E39E88C5918082D372E253B61C7538BB00D130E9AD5E26A039A33D0694 +91AA4D2571A3565782107291BE4D4B9AAB3DB1EDF984D5B64217EAA28D8B2F19 +A645B4FA969DFFE2F64F1E2F0ACF92E01DC32E02769E040D6F59F707E2441238 +C7973B0E5752A0F3B7C7E328F5AEA0BDFAACEB66018CC5D7CAB286824D7F2364 +AFAE8FDF6961641A5790B923DBFE0F908E38FF0695FEA7BFE993EE6B8D0CA848 +B7062133BBF02A6B1750F1E4B8C4175BDA65A6FEE6CC47E0BE9A2EE144103A08 +F8903F8F494D6604A0BD7C2A298C06F30C4D90DEF3D2364C85667CB0DF8B6C2A +956CBE240FDE42B27B08C8787D9D3BC807FE4E4E9C0733CABDF626577589671E +64116BD5A69FCD6500B63EC97C57B9E0DF00BE29664C4C17F899339AEC17685D +FD335BD8FCD875C7101451A5FF3DA0AA8D7619188EAD019351F412D77BF4CB86 +7FA1BEE9FD546AE66D3B7BF35E10DB852592D917720577FB917238FDC282CA2A +C139DADF9F3423E419C530BC6B8FBA73733BDFD5535C20EC95418A5C303F328B +401E5EC69CFFB2B8A28510E5F4A9435361E9AF3CCB067801B766A143D489B355 +F541FF1E1F32C5E17BBD9A6131150955B35B63FDAA564E70413A7308B1ABAF2E +6D87D9A549DE51A62204343CBC7D7A38ECC5D154A01A4A7054CB6937BD77D357 +05DAD31FD5B8B38450075277ED6614EC89564EAC1AD2F586D062F21EA6D52BAF +133C280E1DD6C3754C31BB3CEE7E6DF43DE7E15E0223AEA7A016B09200463C1C +9A361B95AA360DF3B174BFCED0BC1C6EE261D64AB20D2479A92702C00B7A5DEB +C9E262B1447CBD53DADB8C11C6C68D1A3CFB6902F3D37E85F4F05588E6F88D64 +0E53CC634BAD0BA1EE0F16E7466317DDE2E6521F5B4B9AA68094FA7E62688890 +46FE6BFD6F0F733BCBCD75BB8B7605A2BA832278988F068A879872395797DCC3 +91C47345BA010403760752E140D5281B766ECE69A1D3774B21A3594057C1492F +DFA0BC409A1F6CB9258E4B61FEDC26CFDA03E0C6A827886B52E9EC7B6A99F200 +115678FDB267140368ADF66F503FAA7057 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1116,48 +620,28 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMB10 -%!PS-AdobeFont-1.0: CMB10 003.002 -%%Title: CMB10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMB10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMB10 known{/CMB10 findfont dup/UniqueID known{dup -/UniqueID get 5000761 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMB10 1.0 +%%CreationDate: 1991 Aug 20 16:34:36 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMB10 def -/FontBBox {-62 -250 1011 750 }readonly def -/UniqueID 5000761 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMB10.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMB10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMB10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 46 /period put -dup 47 /slash put -dup 48 /zero put -dup 53 /five put -dup 57 /nine put +dup 12 /fi put dup 58 /colon put dup 65 /A put dup 67 /C put @@ -1177,11 +661,10 @@ dup 85 /U put dup 86 /V put dup 87 /W put -dup 88 /X put +dup 89 /Y put dup 91 /bracketleft put dup 93 /bracketright put dup 97 /a put -dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put @@ -1204,472 +687,250 @@ dup 120 /x put dup 121 /y put readonly def +/FontBBox{-62 -250 1011 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2D432E1428FB6D5BDAF -3F02C975AA4E0072BE5F8CC7D3D59BA3FD04709FC9E52189F55C7747056EDBF5 -F85CCBDB1DDE9F9163AC7158EE8DBFBE8D94A46510118ECE6A280C4872F448F2 -E6A6B36AE3224FA448DAF204D1C998D010C6BF52DDCC45831DF1EC22528B00C7 -70525CAC9F6BAD892E7D5C81295A2AEFA8A5E4B6BA2C4EF61FD3FECFA2A8551B -DC84DAC597222341E762620D3D3C1A4AFF2F6D68C4813004318FDBBDE23AE224 -617F7BC1F3846943E915624D6BBFC555E2EDD013F190492F03CB64E5F2403723 -7A2D4652BFFAD1FAA1DBA4538F2C3E608367BF95E09B853A2BBF9930D9B3BE46 -0BFBEF05DA75DF3D8E11A09D472A9E45C626428A1A599C111ADDEC7A4E70407A -014F792395A2A12303EF51698D487854EA15000AB08BCCA8B2E35A5018F5460C -9B223315D7B838BFEB224E8D1DC9A0C1077DA31F5FCE0D9D499EB0507B90E9A0 -1F92FB5FBB8D40568C1E8B8CD6E1DD27CAE6E107AEAC5696CFEB19091B40FD77 -7A4B4F0F261702BFF5E2320C62EB5C6E9DDE142E9FC7DEAB99D90297AE0F15A7 -04C0E3B39FBC85CB6B92BDA7917698230B5374D9159807ED1D07947D95802693 -A856C84812ABD3EBA336B88CC8F37288CAB59790B0882A4ED6815FF6D7A1BB35 -5C7B7437D2ED76E806813478007886ED1009A1E73CCE210FFA69A20D6E05A713 -F6EFAB133D146B0EBD547CD29FFE7870973C1E71854C1C643BADC69974BE360A -4CF84FAB098EA3DCD2DD8B2FAAD19429B0ACC7C312B03E6446F1C1D51E6AB45F -72F11FFA078DF3196EA970B24B1BE607571795A2FDC2EE7194E9422C483799EE -23E16A737951BB935EE2C2BF008B6190E0138D551E75C9E6D0EA48E64E9750C4 -BAAE32B894BE25D092CFAE894230430E43C585D0F06636C8D56BB80A4597A0AA -547FBCF12821C20F0E62369E1A9CD2343B8A8647B2FBB1F4C86CAB1F7A14669B -69DC857F9BC7538A864E523C2DF7C830315E0907CB17C8FB6E412A2A9E88317C -0026A6A402B36BDC433015AEBAD775835E5ADB4EE75FD8CA06C199E000CEDF93 -00692F29C5394DEE45DFF2D42872B1370C8D4A14E144FF36163C849F9339AB97 -EA87BD445733162A34E609BA1E92DC92F9AC892E7A0B39AB0FFE517856491695 -56155FF0C2B231EF1314CD4A146EDB1CA9AF7DD546CACDE1E6B49BF0D4ACBC09 -55C85E2D38DF84E0B779642F7E9C26CE19EDBF328104B9E803D1B03F3FC24C4C -9EF0D27C8E5AFA420A63981C000A0C1F0B3D3F853FF300EEC524C586376AF998 -DF4ED5AA16D8E298C159C2A3E33048D4EF192A11287F69B11BE24D49A033B334 -83CB8783383F92EFB9E3BE84CEF37796BA4211E534B0360970B9C57EA7CB54FB -F582789A83113ADD2415B3F84AC4ECA15DC70878A32559198DAE67B083B0EE6D -68A92511FA8FD6BA88A42769E3FBBBBDFDAD61F99A6C274B48CB044D16FD5953 -44F1503D8D1D6DBAC41C1246A71EBCEE5B1F0DCE3EE7E3A99792DD8FFBD94DD4 -3A5ED347A62D301B6739AD2BCCC7C57378C29FA5A83759E7AC6F1505DF6C0E16 -71587914F698608AD93ABEC43611DE709ABC3F1C0A1343CBED5F09DDB4FACE0A -8BBA9DE5B85FE9B4365358DFE877BBFD9AF08BC60BAD7C41433BBDBA17EA9A7B -92F76358612FE44F43A85588DAACCF7846ECF5C58B22F18120F895317609AFA1 -06E88CA1D73C4CD5098CF44093207C31F46977B6D22665AACAD5A169906640F6 -3DFFEB3937BD6CE1501C52783743F8F6110DF43ECF512D49A55379432CAB1C33 -7C38B7A38DDB91F0683A052378CBED8BDE4E6DC32FFF6D723A4D1469D32AEDA9 -FBF89B9604656DD0D44ADFAC39BA893808676E1E08444CE56F6CAFF3E93D8D41 -F164049193BA11AF94B43515BC79D6A538C00B08FB518EB67C27E73380A651DC -4B244E8A2E4ED405EA5C7EEDDB09D44C458A883C839B98D9D6A2209516E0310C -AD777536190ED06F47EB2ED61C53A2E0AD0CA4E4035324DE75F272B1CA6BC1FB -B912807B7331D932DADA30F1975A1C9A8B55604EEE8A0CB514C6CAEECAF9C46B -5D5563E8934B421EA1CCE3B96412D78DBEEABA59FC603CC6ECF65BDB5B66EAF9 -14B852CC04286EBEDD560713090BC417A10BB834944E007F45B61AD6E6150B9C -10A6FBA56C1B45EA5F9A5379B1A0788513DD4100B82BD61D89E6841A26B362B1 -D4762EAF4FF3BEABD882700BE9832115405728C5292BE942F871661EB0E6B29D -430CB271A090B6F5399184F21ED6728171B1783C982E61DB7C0BF90CBC1482CE -C6982B4F0AA39076B64CCA5A71BE73CA65F2CB60B89AFACA957EF8E6429F2182 -CA36220F80EEC5D01AD7061DF45CC5109D9F0B7E2B6DB9D6C6326A45DC6C05D1 -E81B636A82592D99C7B7ADA0E958A0D7570BFF1830017A6241AD62C53D4CB36C -583672FBA265142DCE545F4855CA3D9E528143AAC66EBC9527B76EE43B4F4E2B -B209BD265D6AEF18D168CA7BA2CEC40DF86FF352029597A5A3B2941D467DF229 -50C788D4276C5B400F360AB596E35983262A215047C9714912B2E69CABC0DBDF -BF6925E19EDF3A6638CF5794722C8B92C6DCF5853DF288B9DA52A2152F98227C -FC04D3C318E7D942E9D33582A490888F0C1CC1A8C4474091B4956222DE467632 -33CF5DB7DA165B59A648AC6945687B0ADB83EF5B286CC469B2C9E4AE92ACAE8E -86E4C62A092B8F6C05EB2ED346DAA7C573A03760ADB3CD55B6C794FF4463BAC4 -2F4A738F9C4237107C503A7EBF4F4BB4380DBB64F5F5C9B268111752FD2204CF -F25085683D071FB4149A64426859D407936A3D1E2C627652C126D8F9264E2919 -960ACB9DD61BDF973492CDB1FD20EA81E06BECF5E164A8ABAC12926DE1CBC0FC -6693737B4875F465B5623C899FE129B3A52A2BDF104F8B8429890AC870580C7D -B078A9E26C322D1A8AC1C6B2BF340813D989EE8D054882B965905D33EC3F4278 -DC41BE055E0E5F73B5A1F45E9E69718F5E155B4EA30B28BD28C52C6C322F2E84 -674CE600D699CEE1D2CFB7212BD8168B45824890273A0AAE4757D112980DF2DC -C3026300B4BBC9B081817AC7F4D48B309E66CC7455708C772A08EF6FAC829363 -E27AEBC3E7D0A91984C05935B16E102E81D6AAAC347E38EBA40125543263BCA6 -9C6F4AD6BF8C3A90279FCA4A99D9290C3B8E0DEBB4B2DF932F66FD47AAC3094B -7582FF8265CFF8BBC7F79C8C74B1FF94B26F3817A39B5FFC6BB562BF6DBF9CEC -31CC3BE4D7E431D41D55D96C4F020486F993781828E9E8850192F9F6BA350AAA -5E292210B0EFA4061EC8BD6EE15E3FAA4AB2F54110D17D29BA32C0D28559FF32 -D164DCC98EAC78822D6D6AC6F4871D47290A11C83670374F072A9DC723096C89 -EA584D43BBB13584D9B8B1820C415DA2E0DCA1B50655E81B47B9AC8343DD8FAF -95F4771ABF81361EBFA9259EE8901F31C21E95DD22FE04BDB77D23DA561FFCE5 -A7708647AAF65FBA2FD95E843D839E5734D4C08A215180C7244924E002A965D8 -AB29470A1B86065B4133A9A6EBA05EF1AC67DFB5ED8DD8C11450233D2624EFEF -3E6D3DCA7E23ADF174BC83AF25A1D7529E52D39C27DA86A2DF4BE4F8A96361CE -7025BC1954C75A765ABC95B4AFE0AF5474653E6808F85893BE6ECA1A37F8B666 -05A9E9FBAADB0DD86848D6FC48A1000FAB396F756513798E09D29ED6DBCC8466 -40181BB71C92CAAF8E240E16304DB9F4B0FB6880004A0F9AF6228E60646647D1 -669577DA709B4FDB8721B95B07B4599652A303FFCEBF858A41F08BF3B83EBD31 -74EFA947A8ABFC7467D6CC544B655A7BD4B6A4F5EA9BF11CFC9CDCE14FEEDEC5 -9116A3FEF962932F8B105BC4C51744916E8976815AC286B1E682D83091E9C533 -839223A68B9D977C41107F597E05C3D8C1C3E79542A990B0E8E22F34BBDD8E47 -B6C2CAF54B72E8F0E8A41DB343934FD2C33B6D77AF2E9061C4E76BF258CFD615 -30AEAECE9D04569D358541C346C922A01D017BCE85D4F083AA9B6939D85EEF29 -335D1BDCC9E6D5F7F58EC2BA2D8CE50CCB38AE6A2DE2F695B76831F8F591BEC4 -EC6391563D18E4169151F552B5E1601B1DDA6F93E5C8B5F4FE63F5E002AA3C15 -E0C8DE2C735EE00E9A2A01530FF37B7FEB0FB182A4E381CF1BBC80D743209814 -F99002980CEBCBE3E677005766CE1D0AF4DCC9F103499D1961771FFBF01B833F -1701EF6EB1A381A287F73E519C01084241335905661B2E8B86B398C88F39BBC5 -09FACC1344E15CC7685708BCB3F43EAD4E24A84AA0687FCE0A2178D9BA84EBB9 -68E8A727DAF9A0B28A7CA3B119798603F9BBC6728C5A6B4BFC84C95DC4F36839 -C2649E364CEA39A4EDBBA4C0E27C61648D38CA46B64E8CE797CA3464C80214EE -28A1E58B387AE0A663A39F04F57899ED62FB0E542EA108AC32490B4B2BC068F6 -2087BE9C9C3CBFDD80F2E632BC4C971A79A0A3C3A5607B997223A9F6373EE51F -C58EBEE7756A391C91758A1F6567F532A5EB762A2927F57CF9F0E845E4F66B3D -8100D1795B706FD32944CEF24A054650EC911A54A22F4F35E3034AC70F07C98B -8DD43BE9F7D68C50D6449791F5331A189706D9CD18417348B9F296D8D01368E3 -2523FCC0EF33B998FE925B4CC7BE329B32D6AF791BFFACB60E4874412C8C8676 -34914A453A592C7614AEE5001DF3E5E8D9335A155C65174B940E1AE61ACBCBD8 -A41D7E1C6FC0680E094ECF65C60CE714E6EB2A1897D8A3F39FF58D64EF7E9A41 -4CD8E55BE32CE8CA29239A9BE3FD6B1DD5CA5A035AB1FE57CAFACB8A39B6A877 -C853BE6BAAEF5714982FBFA414EC128B61326B60D83076E690FDCBE3D2AD256B -FA7A15B804402826684AAD933E94853CD0CDEA3CCA7DC833E486F431EC4764DB -F3FB244DB99FA0CA2FA14DFA75A326385B3AF92AF8E4C6D437DC3DCC07FAF25B -6C0F270333ED377B08E498BC3004C25C7A991DAC9A3E0D1FC43E2EB6996C7269 -7A864CEF35FE312DD8F87E37AC69490299CEF9B059EC7E7492D1D6E5640E0AC6 -35B97F7A629B6B7CDF3BF86D2B518EA807B03E4F79DEA59C84D98E4C94102EE3 -71A29649ED75F5ED02EFEED8064E2D54E8F9CA0C4284B987B81B7F41FD7DCAC4 -FB9C3ED70774F9FD09F3321CE1D0319C1129F5868DABBD183045984748C8A3E4 -53E085818729A1353B13C78E63E837DE483E9E2ABFDAD16534420BE4D7976D35 -F56B86EEB90F663E9778A6E0CD698E6324EC2D19901972B74EDAB8F4073E4F37 -89082F08735E8345BA167B2B76C77703C586CA5DAF41C0DD0E231184DECD8A9C -DE8FD239B6CC636507A5BE6EE5283C06A1D8D59E98A31AA76F4D358DBC641DE2 -ECE3D9F2D262FE2E878E909A950A7642A3F59995519D541B96D459F24F12682A -9AE61FC08CF436D9DF060DAAA90884A1281B370A2F824704B5347FEC65E14E7E -3D212E29723427BBB12C1CB91B28CA47D6FA8259A875EDAE4B49C33B2F73938A -784C1E7A7F21873CAD55A868A1451B070A3F259A983293289B131E07C903D7A6 -3CC66CEF8C4D2B6736282896A2683EEB944B67240CAC5FBD8A1392A875245A9E -2611B511909A041846063E465473D41958104E92519C0F86706AD640FC6CEA10 -620C9718C4589D9D562D8810CF6F461B776D5A1B040F8272D43C029C2A695D2E -86CF508C4AB11104E575E13C2EF56914E241279BE0558CD3D59D25BF13CE8212 -3D7AD1F25FA5A9155AA06306C7CD0F49E3498856318B0ADF279731E1769839EF -98657EE73CF07B0585EECB67F5FF609E0E3DA1B78F6A8FBE2F2E0C051237AB4B -1587DD72BBFD962E865EAE0CAF1A5C592F5019C7533BAF297C0F78F3287838D6 -CEBFC8B5969486A5134DA76B4961C8056E1EF1F2AD17F19D7998175D66B3149A -2CF21CCABA281EA0345EF50C1EBE7004ED495C6D03963B639A66638A43C049C6 -DCD311B5F86EBC814BE42D432EEC87B861FCBA9C8729FA5AE87E20C5B30B8E5A -BB41189A42B9853CA408BA01A559CAB722AAC3DA28E70AD79E1BBC8B6FCC937C -180B5C2E20B03D3FBAC60C83F765CDCDB3146FE5C0B02911F6E120D63EDFB0B0 -86CCF83C2AB62922450206D3701588B54A8B232126BE120432E6BB2E25C50B13 -708D742A44E20176C54FF89F4589B10D5396C94625AEA1914AC168899FE7AE9A -7D90DA67A5EF3DDA25CCBB18DBAC3AF4AB889528A381542185821B96CCFB4302 -987611DD5B5B8514FDD7F5148D1BAC9C34567F75EDAB317E0B8A7A76604A42F3 -1D46332C4791006DD1AB657308CDBBC7314592707EB163326E345C2C5EA05B33 -01FEA5B7A346E6B1B6EF58B692150C6116B149B6A26B493674337A9C1CB4F42B -A7A80AC587F9BBD7A487F407EBBF9978840A01B5E7E772DF7EF28481E7AD14F2 -424816AAA958320A0E6F318C757A474F7B05AC0F570094372CDE877B479AE3F4 -90C257A2B3F443DE43D8A58594BE8D4B5C7E5E075ACFB1AFAD4C06415266E168 -FB38C1CA256287953EDAB1D40537A3633CB52FECF3D35BEB8C2C6CBEECB54BBA -CD6E043EEF68A21D7639FAB8D1006B1119CF92350D9773502F7554B4B3036EA3 -D747596506FC674DC01ADEA9B45ADC43B9E6947235E9BA30FF462252038D91D1 -D908E9132A946FD03B86A08885AC44CEE72F0E27AA63A901F2DCCB86D87702D9 -A66F35F06D6640115B075B0260FB116E24E795E24DAE988CD48A95FFD3116E92 -63D02221D272531186E2AAB74496FB78A4064C9C9772608C49D46E40FE28088E -B5109171E7AF69599BD8BC1186C196EB11FB4132F5C9FC1395220392E17B66E2 -32215E54E9483196341D6DC691FCCEFBD00DFF4C095FA8AB36A374BD5E1F5082 -730A698AAB7B57A5399196ABCF7B7963E2970CCAC5E9A5EC552CDBE1E2EE1968 -B81CF5BDDFF9D385C9C1FFD726A0C52A4CB0C8121E77AEA16157C1EDCD1AEFF5 -5607E8F5C44072DC54332B95AF28417E2D45B4685F270821EB6C455AC147F938 -50CC9F7F2006D933D0664AADBF5D7E3E6DAD57527AB59DDD13BCA392B059FAD2 -E7833AD00F62EB89CD7BECA9DD479F7CD7C981859EF43CBB1EC1681081B58A39 -2CEC9FEC039082771E1BF48968431F72817C8156D0D6B65DD33D472BCC49496D -1F5FB1796892C6A45BCC65BECF41D8604B811824739647D87A7B28FDB3574478 -9807DA2557F411E0BA7479F31B9E3BBE6F3CAAA653883A9D2BEF2073F47F057A -CFD20BE1371F17F5B6F0A9520F2EFCC3C04A24EC272C43E1F587ACDAFEAD7076 -6139D04FD9A50F67301D7765109C76D6270D2DECC94017A877EF386AC7F625C0 -ABCA9A6D15D71AF7A5889403DDB83EDE87EF5A69EEA97995CC1601160B296750 -32AD8D65A456F5471AD4536F1AF41A4D370203F897686CAE7C89577D3A843E90 -9C08CF3E3D489625256DA5E0984BF971E0D8D251AE5B09C17883CE07750051DF -770B920AABB2E80A4944EF613891B4EC3F9E214339AEDFDD5DD15240933DC82C -D878BCB743ACBB562A41BBD86191E1129718826681FD12981D4159C7432DC3D9 -AD4C6C478EEEA0A34030BDD0B9122E8AE5F0B473AC5A48346D56C2DE42815D19 -FE378D252960D3F56654B31C58CBBBE0D634FF6EB81295809AF12222C58345C0 -4595590B2DAEF5F3CCACE8AD4CE8585DF4099665B05B32FC49160ED307573D18 -6C4D88C07CCD1BD4A0179BDDE6524D8CC9A70318578646EE6F4DE040C56C90C3 -C5C5827A77DB584E95F55F083D07AF133B31DB611D1831D93180F66A13E86AAD -573C57B42DA521764563F69E7D4E26057622C17A135716EBB2552F644065C733 -451295216950B589D09E00FE06779D50AA82A4653649B7CDCA11A1FF27AFA7FF -189A798A6DD355CE23F77BF90DD88672ED1AE3C262A2071CD9E6E8710E44EA18 -8EAF3FC2FD7A203792FD5A925E03F5FDF5FC3C0D975724B9C0EB5891CFFFAAF7 -AC4180C714BFB1BC100B055AEC13D255FDD48CDE21EFBBE6A2A5CCC75DEAEB75 -CA1B5C649CF209DAF2ED786DC4D0E02F1AEFAA8A7B2B96971E35DE1AEB60A50B -B4E5B18753CB1E6E18FD08BF00E01DB6497645F29D666701A930476B878C7843 -D729490D64FDFA946762B2F71AFD7E3CD2A7B155D6445774A471A84FD5CDEF48 -1419EBD5CA76742B84B005FD3D7F5D0A26DBE0D126A3D2425138A063DC33F8A7 -A907828055D474047493CB57E69F2FB9FFD46BF34C659FD3D3E5E453D668D614 -F9704E5A54B91D2C55A43C3D7FD831B7FDBE31BB25E17015BA9E8A164281BE6E -F8DC6A516457AFAFC8DF907F35A6E500F3E4E56446467CC1EFE209A524061C3A -19ADB576D16A387192FC31E23A6C1DABD54AA844E6FF992346F78BD2C8A13F6B -05623D3378A9F71F614BD7C5DB21815804C06F994C1EAA0F8566C58CD0EF092B -2C5CB5166E5EBC13013E94942CDC41F0CBB798EA916064BE9B6BAB64D3D18816 -0ACBCFD531DC9DBF82555B69875884528DCC545F81DC7145B835A1ABD0C7596D -A741A6F22639A230488403A6428CD672BEA0F210D5C25C5AD8002D1007A258AF -692361941089077C9A33228032AECD7230A36A2AE2FC413AE2F2F0DDA16DFE91 -25776534C83AD8B6CF52A1BB6DDD84051BF612224950615DA2032B283F347153 -CAA54FD0E8C4058D581CC9727034CDC3DE2D4082A8774CBCD5A91A2CBE22FD83 -EC1CC112E3152F126435DF1620FFB82F6A84AAB3F2BA946C2060057F894930A1 -F7BF10E0DB1E9DC2D2B0BAA94AB8D358177683DBED62A331D8E903B3BBF56400 -9F9CBC17B1B398018C34BAC156DC48063EFE7CBDDA79E9FAC22931D6E513A2F8 -0B7A861036B7057D729A1AA384C9131E17A70D3DAAC81DA1685B58D9FC61F703 -B24DDC43271CB41FFF5DB751B27EFB6FA7CE794093E367CBE2ECF64A282BB3C4 -81C676B3BBBC896306A048C599960F85D987D197815BAE4E3D7B935864F725A8 -018586A5CC0A37095F8D0F4C1C4DE79C21CF7A1BB84C488963745F7A9BEB3949 -45D802F90F8AF66BFC2B239DBD6C9DF6E89FADDAD047F74E35E26C01043B6D18 -E3489511BA6AFE524978797A2D6E4FD2E18C103706AB17FDA37478EC6BBE90B3 -F9ED68AB35209E56B259F3C48E0D2173C7B17355741B7155426168A894241A1D -FEC43643DF5EC7BE606BA65903F4FF9C20396FEABA493BF252C6895357979C55 -F7FB11E9544817BDE8B421B4337AA7BC4B652F163E8049A71698FE9191692550 -357AB69DBC3C85DA3B4C4CB57D9719B48EBCA06B2AC8B13D844A44636A32A4CD -C4C979F365BB09D9C8EE9FA0C3692A816294F5865F4C41322D376FFFE5EDE3B7 -54B7249CCD1B2C68AC093720EAC39658B25EDEA8C841ABF5FB35E7112727D637 -B90B2DD0D4393138E528CBB7C5FBC232254865072FC7F677FE970D16B1A17AAD -EACB1899279C15EB9BD943C3C035E9CDB19D53CCE4213BFEB1259E9761024FA5 -3A0F0E5CAA6948DF2C763B66F92EB3BB758AA868B89B394BEF2ECED19967F9E3 -48A67CFA9BE5039EB763278FE2B51051C2B93083A651F6B16A290A3D1E106C8F -40527A5948E87054CE92EDADF61565BC479E5C9155176E2F6355B782D9E5A41E -096683E66BBAC92BF1D76C3395420428B083229BD80F0C938B0911EBD3490C88 -CD7F846764CEF0191D1EC946FE02BE5A593C8F913431757C9939FB3ACCA0D3DC -5716CF9B2C885827F950247F532148906095DD310BE9639F9A50203F9C3CF7D0 -6E231159D27D5875939B13CF359FCDB54C225AED1AA8D4FEBFE026258B269180 -229DFEA4CF5511A5C61ECC76B6BCF2F4AA25E037C7C9BF66DF0F9F6C23D79098 -F50358E18FB8533B8C19C2FCC5DF0FFEB4A529870472449B4623D706CD184FF4 -5DC9E36D1E8838285DB8EDA89B0870F7AAB1E18762B6A9C8CB0F26E8029C1234 -A46FAC5FCF27F557677E84E5F6397C4AD99EF7C422AE38DAE2C9368B43115A05 -8C5231C1A0098D9D7BC5645AFF0D41663C5F0F4A6CB2772E3913BE57F5A8B69B -FC5170F7E8A58E7FF2911C9254D96A0A253BD53F00A57615360486B55D656D10 -F2E040BD560F5F299DC78CEC6D81DFAB6AE157CB6E03456E7CF238B0D4F38380 -78098ECF4FB2B2D28685D7E902D41A9CCA33BCFA63C881C15DF14EB6C3A9F8A6 -8D97106F933429F314D8CD308B80E33341A4D13B14BB0BC2B53E6624F74EAF9D -188D00B222F646160A5B9586965CA7CE30D6D01803E74378E3B55FB987CD0BFE -9AB19E46C66764D204DB8B95348CEB77E756A22F4A7A392E8768B613235F6445 -BCE270A6909EA63F8D64C39A99DE74EA3CBEBA33DA0BE688B904C6A8BA62589E -89EC07E6FEF209B9E51EF3E06A22BAD56897CB00AE97B1DEF1B7BDCF2C00A4B9 -97D8EB5AA7D23ADC67538F5F885C1EE4F9AF801B2BBC2D9D08F2BD302B23352C -DD2DAED2A769598AFBAB0A2CEBE51FCFA39BF82D8982C82AD0C441612B39D262 -E5E961D6944C1AA5B681C0F11DB389CBCE894EF1A71B8E45BD689E75F1C50733 -79E6C805D24C55150B9BF3FBAC9119FF2CBA67F681490973AE358E44674784DA -DF5B6BAB0C9CD6B34F9001E7D3449D6ABC21F1B9FCFFA5798256DE6BB27B1A25 -1F4257FBC0BD9DBBE3E6171A3B771A1BECF38D562B3F1CEF0226424537DF352D -E559933C8B4EF788971DDE143E31D2B9718F7A620638AD30A768EB9F7422094C -7AD753664DDC1E06AC2A3E9CB9C81D05BA12BAC5A311F03BA2CAE02520BED99E -E3AE74F598002FB5E60564CEEC9A79B044650B86000C8CF647FC1D4BB92526CD -A403D4B5A1B6B9E2CBD69BA2C2CC9F18106C6195E8CE9A18BBFFB62013CD650B -CC4C816532488049184D0AEFA9D1173F750CE7FA30CA4BC29FE9A58E1B2C28FC -10CCD414B85FF1A1A5703C25AF4EC78C89972CD01EF07C58FEB912766B646FA6 -8106D59A79616AE432E1C9C2BE9CBD1946F9A6612997914467A8338262987642 -D18D3D0E96E5099756FB100E7F8238B9E2A49AD3ECFC271E57553BA066B98FD2 -D4D68CF909F8CEC7062CAA5B3FACCD59A5CCB50039E4894FCE95D6BF0363C9C0 -8B13A311E8158FDDE682442B04E4CD7EAEFDADE6E819EC0427D5FA06B29FF43D -631BA3D185EB14BD0D668440B17DCD623E0DAC6C76E6764B9EE4980D71C01A48 -2B5B36B8B59AA7DA1A2FF413B20BCEC37322FC57DB371E366A4E457FD8583E9D -97E29C2978D429C48ABACA21A9A1354DE96DF1F4E0E48C91E6906E3C0A3BB055 -91CB6209155EBD1871A8CFBCB12E9452A282CF23FABAC0975AC9C6F0120B4A0E -525313BDB7CBAE20919BD78CB7E13ABDDDF57B3BAA15F310E436022221B476AB -76BF46CFAEA517F33B49F11BED36A13F92052258A1A7ABF167922B4D9A1C95E9 -FD88E9D301065BEB2DD66EC619A9A4564A31461E228172521F337D8E44AE6C8C -887201A5F1CE3C50AFCDF02F8FC1D48B8A8FDC235578C5E469C27962BCBA5C9E -FA3E39C2963656D8940EF939FEDC8086748934B31D885B3212B8280134D24860 -742C3C3BB05BD9DA5075B6DCB0F6E5F3D3274F0CF7988850E4E328919C4CB90B -1F913F9DE0F889A281DC158A5CA06A448ED11AF627E73778976FDC94ED27E153 -3EF73E2B4EEE679CD55AF11E6C96E982428FE4922F00CA1E2D3C75E40F2DD603 -14A65AEC0FCBAE971D81F5E5B197ED9D56AF146C99A42EF7EFDA78A0E2B9BD69 -4AB12EF64DACBF422042DD19A89E20DB0CC1D63FDDEE5F62B0A742C449456551 -C0365D145904C682FA18A5C152748196532D76867E60C60A8F1F518C5EAED36B -EB4D70E39480D518AF797DA2B6E88CFF722EEBF6908BAB89EB0B103A4A9360C5 -391EE8C4F0564664590D2BA8E5E322A7A982E2A2855BA6753BCB686E832BBCB3 -F24FE4E8FDB4A099F66E47D67DE4B23639C8634C7E1B4BAB5FAB70ABC7163C5A -C9439D91EBA3161F53CF2F98791AF4B5063209634F1EF6BB92583A16A8AC4182 -45A1E1EDF87704921CCFA1A78D229E351F66869C27F7ECB21B78D6D287B10978 -DFE5560F0F146B699D198544B5386CD69DC5B6C534D604C5365ACBD6578BCF58 -034A283B3BE7D04674A7D8403BE811287A6CD686BFB4F0FF5FD8079BD640D729 -402A4151FA37B64CA1DBCACC97D7862B1D41E3C02F6E1776FA840956A4DC2666 -D52C493AF49C7084128A021A734E54E47F651F6D8F43A7264FE5AB41490D58CB -C283F03C4AF7740B7B0171E138AADBF76DEDCA7908732371A7BF3CC54951535B -479A14E4B3F2289130DE48C39149585A8F0F1ECDAF3A74F53B9E7A77485D339F -0C444607770E6BBD4A75DCAEE2EE731128B1C4A7BF4A2C0D14B432A92FA2D278 -D8A6BDBED15025964CAD6839764288BB5BA92E62895756B0D26E9AA030283476 -0522F11DC1065028B988DB6254CFD706228BFE5E381F40977A1B6992D4316101 -FC27F29710BE8F6EF0F78836C7C1B7A5B26E21D17DC1273C9051B4AEBC846E81 -19BABCFADA6A4761E7CE05EAF209520DF069672502D45AA73222C83A5B08D182 -B48EB438B466AD3E15067D767A8CD96D1392F99EC71C0BDD83617469F8D2B1E6 -30CEB15F10FDE62AF52AE02858EC421A1A7E81F7C0F088ACC095B33018FF4394 -271BB4B4A20BEC4B3619BB48F10609DB0CD1CCC0D6CD85B9672BC2A2F11ABE97 -B6BD7F4EF8786B297DF351E29772BA8CC6B74FB70B91F58EAB587AD74BECCA7D -5C85DE26BA4E0A86B49C55C7DF3D398421229403865690E6910A5BFFE4A67C7E -D59CD8E9C0050EEC6928474985D179E21BB9C53F36B74017AD7617609376D340 -FE3335C7FF8D8B13B67FCF090719E9C94504C10B5A7D93EBED54ADE9EAF051DA -0579D346E60A3142CBF8FF75926A03906329DE9839D2855CD0F984E3DF9D623A -587E5416337577B00B643E6C3F63F1B00CFB2DD7C2F747AFBCB95BDEE1035A7E -C15A231754E388B535EBF5F010F0235F89E7A8576602E3765BDEC437508B815D -F13C9EC6247FD4A8C38984FB9597B0A1707929B6D2E6AA02F37B2F668AC9599F -47E0FA14B427634771D49B0EB21B7718F08C5280AF1FFC25DD5F13D8A8B9FA47 -998031F441444DEDA82A5F362A8B72141DF5D21DC931F949053604017B167DC6 -F278FE4A6A4733D931E776DFC59A3ED42FD999A372CAEFB1EA244F5269680EFD -FFA2A2850C2A152A2036B9802F1A868F8D6D072AD98D24F7D6BB806C7F51B096 -B4D500F009C2ED82AD3693A8C67E1B3EE07B3B4AE96813EAB0F60E4786961053 -73A46378E6EC5A72E9D8EA433DEA77A20CB2D86CD6D16C97B886CC01E33ED5B2 -03FE0DCE1B918DFE68BF0D9FD0C1093A57B82554F70C9C2DC15EE4DBA896277E -63589DA770CD8A7324A7E95A63A8D7096E9E9414DA7518781ADABBEB5346E0E4 -956128AFB21B0FC4D335B2216A38DD0806C58406E3F294F5AAD85908434F7315 -307F0BF5B9094FFCEC373C80E770E634ABB0CE799C7D47DB408CC0B13B1D281D -A28B5746100A049B1F9B1E6738A18314515ECBF61F7EE8CCC69A46FE995CA5B6 -2311315D5E0A579AA2233FDD2FCF90768297913D7AD7DCF7BA55F81AA8D4A2C0 -C1A0BF082788DEFAE004BCA439E8539D4FA3CCC4FD39DA9E1AAB05671F50DFB0 -585A9F548AA76093A5C9B7FCC3E827839B45C78293C4BE25FD3A575AD775BE85 -3B91F1C7E82274F763664C1A3B65E5AD5B6598DF1F8EF9E2170EFA34ECA0F706 -042967836670BDEFEDCFE5306333A24EDCDAD937FB42E88C457C95ACE2D2A10C -4E974DFD7E5EF8E152C9ABE5BF2E6C34ACDC750A8EE88AD82502AA60B698E145 -71A0E929FA168D5783A1F4376375E58DE589A3DF69A738F2BEFED90BF87D50F3 -DDA3D8ECD63424F7B4A84AC7083FC457C0519683067CED23E352CD3CE3C261AB -03722EBE95EA3F60C7FD4802D85C49E8C5291BF5799EA354598AE2B4411D1F6D -4D88E92C682B301CE7F311E35DDBE5219460823451A274AE60A3CB962CCBBBA0 -6A0D63C2003FF9207C24F13DA5A5C4EF6FB708B13894561C06BDCA36436B269B -A4E280619361953903BFF938971DA9BC69DE2FC1928A70A41BC915ECAC4CCC2D -E14CE61D66E3F231DF1919985AA120E8899B58FB42659B3E03BEAEB7D2B669FD -569458271213D3B0A88FF98C02A3B488F40AD62860FA59B75293A5DC3207DBCB -D798EB880922876A73E1F347E19A56B1619B5E8B07D6F2915AA36349A025CA35 -CD57A162B856CE17E174116DBC971415B51F17BE093F116DB30B2E18BF8F8679 -74BDAEC02F20C78BD070EDDFC61795DA63584C441452E96A42DFF9EA4361F5E5 -BC44ACF343894BB0253F53FB80D7E90CA9ED2BEF1528541E735BC6BCC0F63EDF -4F1C63728D49D5004707737383FDB2529087BCF6F37232B00A703F6784023874 -79D0280F3B6D6E89852C4C3E8427621AE171C5618AE71D38381195F506FBF625 -A645C589B0E2DC1440F616B4C8819B0F1BF1BCB01051374CE6B00BFD4B70309C -A131682382C39DF9E418A471FC806264709E0A35FF337D4DBEA8D196437D7FA0 -2C4EC0F4DBC5287E5274AC02E05CB4D18C28D25E4A4B1421E920D7E29F5A5E03 -A9625D0CFF3927CCB6F03A620E1B07D8938B4E0E61B9729C6A30884166797BBC -187FD3313433D0762EF99966BBA00892461B56F2A4F94D964649536C7B424FEC -330229CE74D2075D818CC4BB6D8402CA4449E9B0EE2FD7B31663B3C5DD3D0F25 -8BE4D2DBFC52FB689D4B214872156BA26193118AAE471D896F5C6F770C45814E -738CFCD35B2C1D34C31B67F2252CCDC4EDE29B05BFDC5E271B9DD51D77FFBFAD -2B13277836F289E6A3B8F22FAA6FA30C11C40A33ACA36C9F454498AA0925BB0F -980B80EFEB76A2FB76B45B7DA537B164E330B36D30D98A5674EA0061DB1C53C4 -4708DB9868E18A580203BA2C76906EDE0B120CC751CA54780F2CB3554FBC0905 -C48805F95C91FD5EFFF09F2962C08A6F4B99D59EB4760B1FD5E3DFD6FEE337E1 -6D6F1D374042310EC65CE09E73F714C78CDC6A21BE81F3477F6993CE204748B3 -9BBE76D3B981788485D0A68D2A4B2B57EA8AE43F78AF50E96419D596F41CB89E -CCD7AE80A53A21C4428A37B6CA5F4572120752476D242D91D334E7E1C9248759 -5F6508E6C84EFDBD0E008F1CF56ACA81A659E7B1A07CB630D13F75287722A48B -96008D195872012FC595CDB4E271721821BA1130C7F82BC01F82F641F15E358D -CFF62F84D6FFEB87AE2089D03360B92ABD1B53116119D715A1C458C172276E67 -58E2A37D8CF25BA97BA78032D27C3CA899558E1229AAB3DE67068353C1B220AB -8B94C54C4871BD7BB7159806DC46347182C739594F58C53AB48367CFB00CA72C -8D41870415840E3C374F4764E781B741692BDDA10D01921DDC7AF8F19719B966 -6CF7E03DEB92974929624EBE4BE61756C4B38AF1AAB910974CB6389042C9CFD5 -DD065E0C49CEEB5C9B7C4F0082581DF44D828F3BB9A3ED08F5CEF2251E638DD8 -C3A3D33B83CF15B42231A3969C42CBF6AE5094C06C5CB01B707EC33664F2A057 -D2D63AF9110BE38CF41CE2F0F4773A8D3AF79C9766A4AFC1B150904E1E85BF90 -42B57BBC6B1BB16845340C9F08A9103D666ADABA0E9C38793D91FB38C5212081 -CB817074D487C9129C2D342CA7541AD93BB203AA8755D64ADA01D4877C47AD4F -2E5AAB758A76CCEB2C4F19D29D0E89715B1EBCAA7ECD43C09E408515C81B7D2F -06719EC3F49CE69E824967B18B46167426248D9DF01B19E79D736C39F3E5E704 -F60839D36991A657189DF22DB380D4FFB599DA454794D61EC83575D1D60343D4 -27AB37B9DBBC40F6BB6B5640CBB7DD043070D8C7725F83F742F7F7F25DF75F7B -6084FEBCB2E3F1821541CDA5975027A7CE247212E5D108DA298381B1AE090791 -7268B0DE8B02B7C694AF325AB69F9463FE068D22C2D16A04D33654F27DB1A179 -BC69E6F3A344E7671ADC349CF58B5719450B80B4F7ECA9E4283CECD6466F5A6C -AB0298E32A151F3DF8D0AD6BE56413EF6212459BEC61C833280E63FA77C17D2B -D20336908D8923413B4763651A16044831DB7CC5C3192D4C864C13FA5199A1FC -B9350462962C6F8879347313200B1E9CD913ACA75342916A52D08B99CBF448EC -51E787076A5750D8F688635F5C01AD97450DF2C0346510176C43244CF8BF27A4 -9FFAE55812DC410C47D07D5847B6297A69E3175F1B5E1D5653B8E5FAF822B24E -58E4EF41B15594A6945354A2132D12F57F5B4AE7E7F2ED96D46443D5AFF62FF0 -44A3EA7F693E197C791582D2A882C5CCB5F67280DDC9CF9DB142F266FFD5ED59 -9DCDFBD3599B9621A8FF4631FFC50414F370013EF940C64E7EACDA8760C15C7D -A47EFE1DB1500E38CBA90140B6D35742A408FADF06D086B5DFFDFE950ACB4CCA -B257A9A20A8BECFB61CF73757DD13119038E819B4C99D067FFA8800338DA170B -2215B67F401631B5DA1F853097F72FAC3E5D8B3DA0EA7D620F446AAEFDEFA720 -06E5CAC9DD3090E6E583ADC857DF397E1831BC7196C70F60363E4CA0F2E5F1A0 -83B19FC4D1C8C75FEE5F1F595CAC462F8FD2936DC159FA3B854B2D7A327A4E77 -8527BBCD24640335DF67C7B927067269811139B31BFE26A3F2E6A1ABDAFFA2BE -04824A24C83F997A9BAB0463F50E992D3E166DC8BD9FD950A59116A399434A48 -83DE1EFDBCB04385DECDE5008A38B670FD18F6E65CAA9F2A0C0A7535FF8AD5ED -8E5F882159ED689F3411AD1E0E1B33AA99C1C0D42DD62AD0D1AFB3D3BCE61AD9 -3E68E7E5373B57ADB395252BA9003237AEFC4BD9FE130AF31C56BCF8D29B215C -375358D9B5D1CFD2F5F109B197E62E2D1D4B3C732204C50D62205C128B200461 -EFE9B29183F673761212D2B46010C5FBDC83258E53838C01D71A5C6AB3F5239B -2B64C815A3838AA1256827BCF9330C1BB0C09574C952C3CA685FB264A55A40DB -A4BF51172D88865379B846453F71BF5966D0958D01AB40FCB9E63AE273467FDA -51A0CB6459B7707050E8AD204C234204109B5973C56C7D228754A6D94AD89DAB -7801769DCBBFC42F00E587F425CC1762E1C4250E194115C0A39EC8D39F104DA9 -EB9D1D3BFFCDD77C599F708DA444AE81A36D7627C5C8FB5E5B7954EC9EDF7B42 -99A4D17AD0F06CCE19E258499148D70E8693A2A58FC7873E803EA00DE2FB08C8 -960F98CD4C3654FAC8FC87ABC2E9482115BAF1C629B0D9EC0245B8795F3FF8CB -759269C482981886DE6D779B654150041D998A4D10EEFE23338A6662DFA7A7C9 -92F6E7D12C792C13DCDAEBC2D4302F5EDA12FB20F589707D9660E0BB8EAE3D65 -0EBD389A263D7C0CB2A2DF2EA43BA5BD8410A11D2F832B705133440885A5CB3B -6D508C72216896DAED2DDB2285496B572D1B3738844F5D1F36E2507405B466AC -D8EFF7A7DFD2B520D715E560714C41AACE23D2979D4F0CE2E6FCBD51BE773901 -A5886FD84087992B610C347373DD254343D97D3094E702033B1F3BA719A4979B -D32C92C55AF191B515B68F9780E4DAAADEE9E44327A179263B01EC6FD7757AC2 -B2C59EB579829000429C90E556E194A48F0732DEAD1A42AE2345B2C19FB6AF1A -762EEA811E8575E2446834E1D74B8B45FCD97DDCEDC8DDB6585F8A230901A40E -CEF5558A6C1965A8E99AA048CE3C256029D2D7034D6AEFCC6BA746144B602C64 -132BADE18A57BC55803CA0DAE6391C9C808540B9A25EA8BCD2F3022B674E1BFC -F9380430EE5015F921EC8F87339DB56BF23E08861F9121912848C4F33D3DF51D -EB08AAED04DF18024EB8BAF5405D12D431D216D9C57B7B22CA2824880D9B66AB -7B3498EDF1A790691F279435D9D5B0CBED3958536448132B9CFA2858C849DE78 -7E0EE93001795429582B6E8E497842FB9C9B4617043E0D4D7B8D95A18B787AA4 -F6BAEE1FAFD8347D16A3904BDF95030E46820D4B5309070F79EE6891BD846A16 -C3D73BA79601FC8858F058A3E216C247702C11DAC52B9A8F31805365954B7EFC -308820716E3928F6B5064827D8D829B67EA85F880531F6858414D06C74D0229B -9599E6273E5C349A68D43AA653435A3585EE6B8336888C8249340722B7F09A91 -5584C4D8491BE6CD8DB3BD9D040828B17E62BEA53051A0FE78B4FE6DA31EF51A -2FEDE42EDB68DF6AA701AA63C6870B669D460A1ED05F92279F7CF1D91364F432 -8CAEAC55934A3C8F6E000E666C6B94F2C2A4FFB599EE2D98551EA3F372CC13E7 -9E973D3D8CE46E0816B3C016EDEE0B1FA9B075C054AD56719127783E61A7F102 -9FA5E96E8FE0FFB00487C7B62564C6997E9D6871CE637AC20B9A4994AAE7BD41 -8D4124B7AC3A7AEF6AC32D8B6BFF91424D7E20754098807F7C2ECAEDE181E3E1 -81987E5CD474E082BFF7BC6DC75B6BDC5AAC912F681196C8B5CACA483AE6957A -BF7C9FA499717CF0E272C8D4E43B76152598271B4E90A1589688921074716C07 -E546F94A5C0F5FD6D2BAD61EE9722B39306BA202E8E2F5928ECCE54CAACDF5F9 -0CD1F9FA1B562F67B456D4FD206401CDA1BC8927264FCF53973F324BAD8DF486 -2BBB4D848966D7173B3745FCA56974673B69F29712E0E58DC100F1B577B1B381 -BE4060440F549929954641A92E98B0C061DA1CC3B9EFA0FB255EE90F39944716 -5C3EBD4C33335A86B0F487E768C6CE39A265615155A8C751640878FA51DD79A6 -4C26BE64D97BAA1F523427EB7311F47C3557D9A71D576BB848EBB3AA759ADC30 -4A79C9313D3189DC2A995A42164206B35C10F88194950FBB36576C72DFCA6944 -5A0E3E99E93C963F81B3D45FAE7D4EF50BEB4BCD8C9EE4793CACF316B894800A -F0C2C5C4A9DAB5727DBBB9CCF5360578FFF8B1B4F50F49DDE8CB9CC1E1807389 -681C7E8972B5FD5CBA843471CF16DE609007C542AF67A5AC99A02183FA8C5923 -839B9AAE5E23BECE90D72A4B466BE24E132931CDFA831539D97AE0E57641DE08 -C36BA7A5442B162559A218FF018647D410DD04B8778AD85A809FCD218B69406E -13C277807E3ED257417BCCB0DC109B02A806263CE4CB42B08976BC7C0B65A010 -BEE4393739878AEB8A0244AD39388275B28A34F61C9BD45647297BF55B1E2890 -945396CD8A8C6AB4564AAAF0AA00C5F77CB8E52F9068CDD34D7B673A5CE10CBC -D6E37B89B28D19E05151B10E58A91D706DC8C913D3838EF96D043E0EECB35A06 -DF0EDD550FDDB40CA4A4D5D6F780079D9D1FC2F149F35C81A8660BBF9E484085 -7C3C6A7F977723CBCDA744B7290FD8FB501E742F8FB4A9F945572B1F50DC79EA -EF82C06A5B9B1D88C00354A30D93B4C6DFB9FADAD433C2FAB908E1324363E6BE -BD610C9DD3E87E53945816B7A14ED62F7E52B5AF4B590E6083A2EF3113963562 -73D3D7AA838215A98641A72A5D5C088D9480A99B2991C9063F94BA418B8D7B17 -604B4AC22EB53EBA5307298E1D0B42E998E6B2E94F22E63A150FE664776A1E8C -920CBAF1E83D5D6BAAED3BFABCA63E05EECC83498EA0A6D08B26DE0486463554 -0A3CA358459338CE7058782DAABEFA2C92CC392D7026FD73D98D9031958BECDB -5D8002EE8A212F32CB648D9369ED1426F814597C1C97410AF2C5BED8CDF49582 -4800DC085F94F183442AFAC685611EC15BF4E07E7223BC7DAAC03419155816DB -58318852621287D55495DBBB5A909E079AD6190FD3210CA2CACE0EB80AB1CB72 -BCEE6F6C44E3996C7C3585863AE81E509670B6C261CC5511F47C7FC129BFFE75 -ECF7D1FDE42EEC88883B6594679CADA075B390112345A3C610D7E97E6CB36EA1 -428071B3DF1F1F9527D6642556F6A23DF9860B22F29D4CC5BC03AF09D4189481 -4FB92C23B277D5EF06884AAA4E17CA851FC53B39A3F26D0E295845C5ED827281 -7BD3007445068914DE15E70A1A9C6D13F6168699260E654862BBA6A376466CD7 -D9497E2F28FD2D54787E3A8C690872376D342F67CFE8C18DBC7D929AD28D7F59 -14010B8A57AC2AB93FE19BF38D553204FD5FBE49193410CD531FB6C33F264D27 -AD625028B10536F54189691CA2FF79D19A15176146BA2EA42785212889F29507 -F3076D650D8B2DF0422EC76C663F7A58C3E015ADF2781323050D27F007E3267E -94A8CF350820B261ED73A348640AF1D2AF38971E041B55F37E3271E67EE76311 -F10C9C4A84FCD968FFD492EF40BEE56B3E2DDD37BA31AA1EE5E6B41C8DDF4DB4 -F7F33F203EB4E62D9D8CB613C732DA9DF975795E1CC61E1682EBD0A97268CC65 -111D89540E8000287D44D74A6114077FA6EED3CDB4BECDB3F973464EE37BD282 -645E44C73DE26CAC4FEFF3E2BAA7AFBC13CAD0B0ACD57E06C906A296CF63F0DC -0A301F8C4F41DF746B94CCF84D62CBDACCB0C057FDD57B256D013B5C1765D0B4 -C463E608630279F9660050E678E4D6B93E689BF222ADED151D6624A2B878C457 -1C8D1B0011B9F457BBB2F71E443E6D8B2C306925BAB247F89AEC7A1B905D9BA7 -2C77C4EFDA6F5F110353A3DAFDF9C64FAF7790FE7C0B95D27CC24DAE1DAC4EFF -0A5F9DEC0C7B05558D4E60802C089C8F183041BE74BC11B5FE6B6253CF8ECA70 -D6FB560BAF261F10DE7B3207008DE569FC08102D84562F77FBE8E69108BF9881 -06DE2D7C7AD0C4DF1C01E20DC57210013F1E2FE9F48D7C27C41BDA77A1CFAFE4 -8F8F1D3ACB44262E4E9DC7E038B7EB558BFBC0E20E7A170C6C3AE2361B801543 -C009EFFEA56D79239AFF83546FD5200C4EEA85B34CBEA562549F13B4A5692BA1 -476DF0DC97053D02B990B444870AF58934E3C9C2A18D1444D6AABE64120155D8 -20215FB0277908059E25FEE768691FFB50255201C8D23A7A5FDE3A3C1F587195 -2D91C24770740EA410 +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 +7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 +77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 +2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542 +A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A +99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D +2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563 +C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A +00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56 +B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F +BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90 +8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362 +FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC +31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831 +2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41 +9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB9216487655F91CD091A +DEAA34823397C3D1CAF14A0F016A4EB2A2238881A285C0A4D2850F1D942637B2 +A6BD6CF81D1A3A8B0E9ECE37710AE059A3DD5D5236726BF6EFF89C97B4E1C735 +DBCA03EAE44BFB56C90EC7472FA83DD86D63E9FF50ABBFE1FC07FAE9ED061B73 +6B15923CAB0A8F3DCB7C607594FAA48BC5D060259663B000B14B012FBB1407D2 +626F8CAF1E097ED3B0D6C7D927ACF3383909B4E85803546AD4388E63D83DF79C +0BD818A7D74BBDA915D41788488BAEDA38F6BC42985D366979EEC3588B54BE38 +24D75819490D23E8D4D5C1E26872900D388BCF726A9B389D17A32EF3A83A8696 +26A4E06A73A608BE2FC7C87666C5DD248793CB069107515301929977D2345504 +E1C756EEB988B1DA4F019E9C72C4082B731DF785F6C23AD2205FF462F5B4D185 +F254F703ED74D77A69312CD1F2D4C9BA1CA36453C933E26E77EF3C79B9CFA987 +FB3EE4CDD8C427CA0F817EBC41609CEFE013C70F9969D453B45BC5F400E43910 +71BEC16356A3F026DCECD7C9B494B6B7E319D626792028FB4259DAC853A827E2 +F2FD94C700E8A8695C4B3A408D9620E3B8169AE791DBFE8F498603117D56DE15 +039023E6FCAF825EC28E1EB8C767B75269FB6ACEBD5D4C15CE39DA5EEF10CAD7 +43711E6A8873949E0910596F4FA203DED3C45456CB554742A4027EB60AF464C0 +668E235269AF0AA74C7081C674DEC86B51D2FE8B532033F858BCED7968521D42 +F34653C32CA14640D6592C5A9C3AC9885E82E7371F5C5A56E6661356599A9C0E +C98D496D5844796FD952867BFC3FE6593346F13C99E2D7965583383977E22B2D +6E0893D15EBBDCBE5ACE77590B8E9B36CEEDDF86562832D2EB46FC1C4A0A4C53 +3AFDEE45FBE9F5DF667E039E03B229963F0FB85C25E35C088DA8639044747300 +69F8EE38A5641BEE6AF832EA98E65DA91AE257653EE03D479F437CB09023EBC8 +FD5878F8D458D4191E22711BFAD540EF0FB4C22739AF8FFAF0FD5F68CF2D14EC +9E7390B31355DB1F45677A46585264C8C41B4DD060E4A834DCBE4C3E3BF3C71E +16E3418EE89A82D97777688C70F4DA0EB6FE953C4FC616F871098F95CCEFC03A +747D89CAF045CF09E011AA832B37974DBEDAFDA18364AFCC99DC21349EAF34E0 +713A40B16761E27FF1B48F83F7696EC4F2DB3358B4D08CFAD4E03551EDAC5A26 +0F1AC2EC8A395F78D3583BC290A79A871AEED7294A2EFB437A423EAF98EEE68C +D567B3F49A73D9EBEDB4663B584E17B90861F7D1E15C9B5BD8EDC321BD7368DF +050D89BF79A6120F8F3A8461680A087866B3F16586CDA5B6891BA7428DB2356C +E62ACC34C4EF00353FAAFF843B3FB36CD6E3E590EEEE8D8570C7CAEA26865D6C +6095A9CF71E6164AF8C4A3DDAC7BAF8B52C60CDE76CF03F05DD0038CE4B8745F +A2095582145B9E58C706C84DF8A4E55B1A34BFDB919F52B6217E5E25550A9038 +42E195D7AA787C4C9C8FC3BAA38143318B7924D4EC84167C28178C096D492716 +14A3F6D8C1C143ECC63B8FA4875A2A471BBF3703FE64606A0E1618701ADCFFF9 +8A4C32A49A7E07CB116F3EA0F4C575A6E61BD14247E7D9FA42F42138F5F71F38 +4B8B4C683C5A583EB58B75F3B5521AD8324AA945EB2F9B37DE10D3859A95A7DE +A4878FEE56AA99CDF14003187CD7D4DB3569EF82FC3457B5E963298C87642CE1 +3C38E1F1AF29AD7B77BE023E9FB49A829B5F137AEA82D27D7A46850ABAA2A96A +8C40A9A79CB629655EA359178AEF418B0778D38CF9DCA0C5A72DF5F30BC27D5E +8CEFD39988282755DB80A9C8AE74B0293436E08A6BDB90533FE284F479FDE08D +71F3A2EE6AA727D24760AD60CD4E52CECA1D72BBDA7217E66E3FA955AD24D2DD +E8DB781446EF5F146D77D21E997F6C82AA34580CFC94EE4BF661F258C5C60364 +35936C8D95DAF661CF9C78D9BF3831E904069030B3363B02853C271D111E95CD +BC69408F013977D2E1BF1676BD59E7148840CB403EA40A9669D63E175B94220C +B98DF65DE952BF8B7A9DBBDE6B462DD875A8173F37376BED0CF505C441499F41 +64C8F7340C7948B82475D413E753CBF44AF0FE86E1293947AB7DFE28BBADD382 +D5FF538A5459493B28CD3948E9F4F6461F37C100E95CCF7F0D49CBFA57DB3074 +CB7C02A273207F8261428548AEAD50529C6A59E38D31B41F0ABF99FE2DAFEA1C +329F004F6CAFEBFF800D0999B9F099430F1248296F99796806FA01AD1436244D +4B20E0EAE047B51BD71264668FA9A8846976E7B32C829E9F5B93D95B39B9C0EB +BD2A935A44FFB46AF71306129B73BF99F0292D6BE11E6CF20DDAD86ACDD52758 +6E3FAE92F332CC71E88EBCAAA4E5493FE0E9D49BEAC885EDAB1837B7DCEAE00C +94022A5C1E1D4CB58CA09B6A9E92B4F466832FE75A90250F3DF82CAB9A8BA649 +E8A2573A0819F1D0E088928B3F319E7CE6BBEA17241450E823A0E67792C8BD1B +DFE49EBFD62A6E5CDC96457507E13281175DA76CD2D651286C9A234560926BDD +FCE9EF3D0F9B3EF0A7B9A5A037F6B69BBC626F4FC6F49CA7B088587FB02CC71D +60BFDB57FE0D722D74F346DE904F5BF00C4729F75DA277DE67658A28C101D8F3 +1F7E52B2080DC3ADC84D63BF37634462E8F39DEF26DC091DE00095FF233F1D44 +ECB6D267CA5B6CAF37FE3E246F86EB7A7D637617C89372D61ABF182445003ED5 +B01743D297E2697A896C9EB834D4D734D4FD97693EBBC2901A8B738E78307427 +E82016FD5BA3C75DA2FBD25DB00AC5D73C485599F683F207ECE6A4801624E51A +B550C6B29AC6E6EAE5DBEEF1B4203D66BDE6549719C801D3AE65019F08FCCCE5 +B1D461895B63A6C8774D73B5832C8A7EC868C28EB221DEB3578F293AE45DD16A +DE9BCA9435FE6E901EC3DF5C226CF468A12181ABFF73EBF7DFB3027B896C111B +A642E6C4D90255F591EB6CD8738C38A31225694791D05F8CE4D3234AB56CED8C +783C5D7ED889C17D3B853C4AF4CF205D70E6152E10DFFC10C6C6B64244E977BB +A217A985EC3D72BA39BAA6AE0D65E77E4B011776E12B61B5EE57CDFD06563853 +C7C7B27D7F7E703DC27F9D8567907275EAE2B20B64F8BE3F5D18FDA4E8BE77D9 +A95D4810FA6474FC9192182F038F5AE70D755296EF463719180D020BF534DF61 +E17D29B0F791F825DB6AF669731C8840FE6EACB00E563CDD29BE5C33ADA0E800 +A88AD76559D7FB3296BC8685F4D8FE41949B2503C566CD7B1C37CA06FAA1CE9F +03D5729D714B41B232F9027DAC23D9D7AAFFC7F049D9534DF779F0E359502A5B +D2ECFEA1A7395C1DC6ED95A4A9242077CAA0AB2DDB2F99B0AD4F8547C1AE6881 +0B076F076DA22794F8057749B594CB52FCAB080622F28E32EA04DD4040DC8C65 +6E6D407439E6E9AA91367B74B855F8EAEFCDBF2A1F9C38372FB9EF372EAF3F66 +3CE243EBE6B0D9E7CBC439B309FE1F47F6EF0BADA6FE0C948E5C172DF6CA0291 +9FE7EB7927B2B2690E84B51FDD958717E9E2CFA01E49161A4D2B856EEED41F5D +1868021E19E30CABF2919C938FF6498FDADCC2AEB131C95C18097FD6016FEF09 +45F992E491AD7C0775A61001335F95624B339AD04E4149CED2C6F068C666D437 +BB9C196FB8401D3F639D751B14D31E0C3CD56BBB1D36B316E86914E6A177A28D +0D7E62F3B2DB335AEE4BEB24BB4315FC7603B3267A1747D6F74D8D5241159364 +77077E83DB646E5D425D4214A5D863C1FD5174656BD27B2F4E92CB99EC2731CF +5CEE23EA7D835CB4A3A3CF32DD0A1207265FDCD61A0877AE047043C2BE3CDB65 +E28008A78E7F13074D1C0117FE2BA2286916EEA2114BBFFB7EF09D45AFAF2937 +CA5503ADDE73107C51A26CDF2E60F6A9C2910B7ADDB88482BC28809E3F1558C7 +D44B702708152CFD49FB8D34AA1135FAC18E99940096968D50798D22BDCCFF64 +E5A85C73DFE03AB44ED5A1D6F0E925D9DED86BE46716920E06A024B03A9D1987 +93CFEFDE0208454DC6CF088D0592C934903097C90F7DC523B0E51761A102C712 +347CC5C17E39CF050E3F8570DB625A21C05F631AE700289F26A83BA3E188A882 +075F2B8E40D4A2DE2A39965769A84359B028FEA2D147788C5CC78055CFDD266E +8EBC312B4441BB7FD96629C5BC1832948AA17631D6DEC67BC675E9D4DC1D7ADA +786BB3A4A7670F32C1ED2D92D935F26059A37C795E1497AE0CC33234BC0DAD76 +8041B1178051143E8DC8451CDF556F1122DD3812FB9C036166D41D65382E1DFF +76C6D6B461172F13F3106CB2A9DF0B0E4439B358B022DC954EA9B7814B553445 +EBB610F7DBB221E32B2750033B8D58A1C89FE2C06547FA8C8246F7194516BED6 +C5B51EE1FA1B1C9051F1A795A5B63537382976F1E58A32DDABC72BECB83A1C41 +F9CAD3193E5BFDE3CFE79584FA77959F7FE543AE240EC6CF4F5FCA4F7B58489E +691A88005D2504AE5DC370400F6153FE4F7FB72C10DC6E29A72143B438BCDDAB +80044DB29BB433B5D2E279C1D48E28F2C260C6480482A13B93CC093CF176AAA0 +10C6721BA6F031F0A10B180D82D8CD383877E8C3B6DF18DBC0E7A14E6A35AFE8 +71626A6FC0E117325E91F18E2F315A71B79C4B230CFA5F928CB45E2629BA2989 +FFA7524690FF381841E9CE31DC2A0E5FC85B2AC2D01811F5B8BA0F1570417F47 +1BB8176A0C78A0B262B50B663D765AB449C85D6633DD818E055939F5F53B9490 +E80B34ADFAE41C7050170B62A6DEA5636865B70DF40865AB1B3151F25D1195D7 +263F1C09D9B7E51C03053FCBB48C4791BFB9533527110A4A2C76858680D135D7 +38D4A9A4D2B40A91C84555ABC46C47A0969567911C0D99646B841FCD6ECFE37F +EF93551B1B721A4BAA34D0CD363481F2516A596327068925F054FEA3A9D31FCD +CFCA1D193E9B2E34C1306160804130113BB8E78221857231F1CD5DCB4B58585E +D9E8F772B6B07BF84AF9BB3E1DCF9C0F41BF0E676A9D4810897C3717E38FB2EE +4E7ABBDCC790086DDFE8DA2601D7D1C148109E4E7024D36A48A4DCE3531CB761 +5C052D85391155D5CF9C52A290B66459BFE3CD1C1B72EAC3BE7A987D40D23BF0 +BC637930451FFBCBAF1CA21E199DB69ECAD73839CE7D83D275068AB2CA3549A6 +53C625EF0DDF730322D15BBC85F0B2F7698B2A7A72009B3BDF5E0FB051FFA330 +829217812ECA14942B200C05C69FA80A6C91812F82E46BDDC0DF0AEAC8B6D112 +86F822D32227A71E4D9C65AE2DAEA2C002EF3097F5102AC55D2F8259642DFEA9 +2A7C0FA3FF2DC32667FE4B8C37CE4461C12512E2F0DAD83520F10487294078CC +A01578E4864BCC33E2F4643FCA4DA70238AAB6B392E7B28D234E08E86F503C13 +B601196BA4176D413A8BE50F59C22899AE5DC1E6D36C98FD3C9C01C7A615F1DD +B34D22810EBDFBEA99BD88676141B86DD4676C8D4527825829E07271F8489FC4 +B7294D3288E4F0557DBCA0FA7E19F10BDD97805D8BC4BDF3B33B0F3E0DF5C1FF +E57E754DCBCAD89779F162F64E9435F07C032C64BA1DD0B2CB4D4DAF045553FE +F6A1E2431C40136888D4BF0F849BFB446AE9A328A2B411548E270DED291827A8 +C31783A0595CA2F61FD7CA184F765BB8DE8CCCC8D67366CC48FE8125951140A7 +3B15547DAF57FF12DFC5BBDBD6815528613659AD33491506CC1D6330E9CC5B04 +69B614F73AD16CC3086E9A434E1CBAD3C00E27923D825EEF360E2067E7FC30F5 +9FFEB6513A21E6597658AB354C3B8F39BA11CE00AECD15D458EA25D94058A473 +87357C9A5A31BF8FBB87BE92C60E217C7D1A39973EEDCEF33C997D6BEEF82048 +181A1EC4517B699188282E66E75E4CF7CB8B940DADF78EE0B3C10225FBBFAE7F +22F236AB4F1E0390B2F50B326BE344B522C4D624D7BE31796124732AD8929737 +64383CF987CA353E4549DB284FB728DF766A610B355A4FF9E553546798673FB2 +7B99559FBAED5C449736EB7575EE8A72FC52847D32397EC8F916292E388B0CDC +0265519849AE6FCADC0A2C3258AE2F4721647EBB2A04C0D268F7A0459F28277B +63292D3CCCC9921ABE924A62C4C5FDA447D6832A392FD82B5FA15826FA423EBF +2E9A0793BDE90D52460C934483DABA4096BDAF0BB62870D75D505421BB4D0794 +2DC574689BB9543807B54E655E5296208281D205A5B09FA6FCBAE89C369FAA0D +8A29A6C20A7CE18431ED1C560A89A3E404042569B38EF7CE6EE1F0DEEA5BA1C0 +592A6D5109855B4B0CF7239C922398131CCFE4895629BC4CE2A2CDFBD983A45C +CBAAF93CFF9D0DA43E755CE7E8AD76D55086DCDD3A0301B50972A0A32EE1206D +8C3EECA890FA76265D3DC23BD5EC00C7C778EC946E628EC6BBE3912EC7E21182 +CCA146137BAD2EC351114DD1275F50C3A6B01584BAB19481F6D0DFA455342F0D +672B7B1773807D4FA176AF4B03C302AF14E1B0987966DE49C9EC8D9895B4ABB4 +5FE4D27C77BA1C510604649012EDF52ED0FC9BE7F52F06C01CEEDC2300D614FF +4DD027AD62AED1C42454F974A929222FD0942400AD70DF55D1A41E954AE346D5 +544362D00C8C31F1AC09BBCBDCAFB28107120C4580743DA0B19CEDE88369468D +CE1AEFE983A9BB9AB6982D915BEA6264527F7F023014CAA8DD136C5BEE24B7DB +2510A4C3C54F0DEA140198DA2EC4EF1363A8C4BF8FA378D4E5F4C5FD614D37BA +02B9BA31780B58C16D43E4682065D517188548BCB1157D5D9037ED68F97369F2 +CC79F0C58511A1DBC05195C35BCAE53B23BE3AE8DFB1C190206D83316B896591 +D2B3B0896AF8C0A4C18C1C1071FC423A78F0F38F37050DF234A989E0F7AFE5F8 +1DA610B2F989BF26F72075B461FA326926BFFBEE18BB038449336DC3788C60FA +D9DC9B90BFEBE74614FF5B24ABEF0B0B28644292A8332A4ECA6C08E65323B038 +F8DF4B1696D2114D823FF1F0D68CEB1D078C41550C16B28AF76F7D44048CC76A +DF196F63BEA37CB8392DFAD81AE12CA7B372F6B4598E7C147064733AD1D8DFCC +66680296F96ED853B61DB926A415CD4EBE31B8E20FA7F5663585CFBBDF3229FE +8BDDD11D91C0DF3EFFC0910F204C63E6E6B3397A9E8BC178C392EB0FF9131DF5 +DA246D91983C5B9E67AB5A300EDB9441CD3F1001B15B9665E84D560769058E5F +7F9F1E793A77FD5047278720B562BF7F82C0B5B079048E20E0B9C6F441F2448C +520680A3022BC8768D85086F5C4AA789F000287F18FE8F7BCE994AD9DCCFE7CD +DB1F0B93DA7E1C164C07169CE80E94B980AFC401FE71A2C4754444BA3EF99DEB +E1614E775AEEE63F438E52C1F44E3574FAA69706DF67039AD7912BD0E39723B6 +3712F9152EB1D36B3D1BBBBC83FF7CF55360CEF383310EBA79F6C50811B5B198 +561D0AE06F32FEF60D9ED4CCB3530D175E45C44F2227BC74266849CAB9A05EF3 +578EF245189FB6850C7B1AA200D4B3D22470D116075862A6266AC311EF1F3507 +CCC89E740C6527D0AE4E41FABFDA27604AB991451432E0484ABA6DF2C6672132 +478F497FA75A874F44A813E5AC819A7E389F5DF31C5F2B577BDD2B1220579FCE +EC75E12CB7B0AA5615EB7994F504CBC9197F659CCCA4ED952B061E9400E8AA97 +9F819E3A16392A8E120F1424E7EADCA501C3D313DE129665735A2B4AED70A72E +20D5290083D7816C72329DA3FA3675BB0A23650763519209EAEA31C9212E6BC2 +E7262F67D56D15DC3E2419508BC6B39ADBCF10D490829E1AE07077BABB0B4927 +F4C19C2733C7C0272FBCB9D1C9E81DF1D110B934444E20CE08AA40B0CBE3D972 +215B8192E045EDE0C112797F6A2B660C0FEECE383C55318C8B1EF7530864C293 +1681DB8E8029CD19BD5294009FC2A7CA75619D78B71DF8C10BACCAC7C5A30FBC +AAB6EE730E533320580FDE4BE5203CC06DBE72CF62C3BB43636F48BA310B508E +8783D863902A00DD067FF9F98027F6B1077CC586AFA28B571F3FE693A37A2506 +7F385E3060C6EF2ED178080B36C5F992D0FB43FCE6A1F1D88D9806A04884FE0F +FE41D003C24B96D06780C4C71E5B365B58F9BDB2F8B09D735B3E2FB15D26A81E +6DF97DFF9461AFA393D0046359CB56E5DE986DF87B9930E95504CB8665A89A58 +01E2F0B4127D76956FBE18B12972E5F6C7A135FB9CF82B0D36DBE888996F7D56 +CB64A02176141A9D0F3E069BADD2865D6899389C0BA0BCE91590A0D05ED04E94 +0F5B0D548779C09F89AF89C23BF62537A21BD7F5A49A4E80BA5E5436762A343D +38FE68E35A0330C8AB22707F557AED139013588B7DB7B5995444A764BA9F3EF3 +8989BBBFA3DD78BC3DE4EB75A05708CFDA11B7806BBD76C1FDF617DFF5AB5BF7 +C57FE560D47350930C7CAA6C16AF36994AC947B81E17FF18E61A9BE06EC7AD27 +6EF5D6B0057D58AC43FE133AD4EC56412AC174EDACC12616A08E57BD7E8D600D +16F07E3292404E106676B4C6534FB1286D6B0EB369E83D2FE79759827B827B1C +010EF6EE98F7F3F64B5EACC3031B2E09DCA940EED297E5F478D2501FBF5DA12F +22013AF8378A7CEEF073814E259F01BED60A43051EA6F2B4DCE4C6D7A6F92DA0 +F65A659F989BE0D544CBE2B2CB527D1115CECFF2AB73F09119FC25430B93B0B1 +9DF79D68DAAA86F46FD618AB7323A5037A533256299B019BA4C0E49432D789F1 +6AB7C8F0D68808253350E8F1FA1AEBA91DA917125041B1EE4598A9A79D379D8B +A0A39CB40A376BD951BD00F61CEE88BF820B807423506782385CDDA466D118AB +28997426875ECAA7113C9070B13E7AA5CF99F17D6BB4A9ABB56D7E2021DA9DD1 +99FB678A92FC318ED6C6FF3E45AB9DFA027040D74F17F4715ECC1061B08BCCE2 +8C0039DCD08191F02A0CD66C3ACEE05B3F65916BB3CB812D3F32B355577CACBC +625F4A9A7DFE1EDC43C562AC74CA853EDF0D1B1B3899EA7102489642B45738B5 +5954180E6909A76919DB513B2B49D0C763710041E4DF77731D5EB91F239B5971 +88D38452E8739691B049115DB44016C19BD65FC8DC03D7CD64701C51DD84CD1A +28EDD041F30C91A8109FF4906AC1008FA3DA8A47458F3F623B3A958DF480E738 +4C7045FBCDCE1882CA1FF40A91480CE79E422128A3D3C2D1A47C6DD8677FCDBF +E0F6483DAC5278239BD35131D78A057611100EF1C0AD6836572DE9F5D44D6D38 +42E69F64F0F650376C14F83C99EB41CD377BD2CE28D946170E90B21874277CF3 +9AFD978837D734DA54C1A38F37669E505DBAA0602FC7B570841D6D242E0FDACC +49250AEE8AB4864DC4842B6FD7A5CC31D41753E6E0B06DDBCD541C115DF107A8 +3419D625417FD506EB5D974C79032A3D0AA6F98A2ADC476A77BA5C0A8E8977AF +A8C1DFE4E3AE865412FF7E6FA331E42AF31A1AE66DC094BBD7A8C3DCD2A01FAE +35FEDFB62F605E77AD933E0317943DE335E3A88495718C8DFEA9E2547640804A +B4A4260C7277188B179D4F46B22C83D9F6E6A0921AAA468CE655B4170D80592A +62781EEEE2E554F63B5B0CC776BCB4368C5765C38B018E3BEA42BEAA7A86E2BA +F81BFB9A2DCD745B06D48F991A407653BF7EA2B010D02CF424CC3CC0C00327C6 +AE66EEC953057DDB32433A08B9DFCACB9407A1431039D6A538E2B552CFDABF08 +723580D7BA75EB2A26DE8F3CCD646D71D7F694E3D79352468B0EF26788D35572 +DA629031FFDF12C84432BB130B85736D7E909769B0C4B8D635616DA3138BD04D +3BFE25B7D5EEAB327C5D66D453F205AE3DE15479B37BC70798AA19A79D379847 +95CF9E292922D2045607784956B323459682A95B3FEE40A0FF35E6122C2C83D1 +3EED2EFFC30060D9D4EED39D50AC13D3D5E18A62F3FA9AA02DF4A82599B0CD71 +3CB5BEE2AE87703E9177B90E7C429D4FCAE1EE446E7F78F087A0E04BFDDF9AB0 +2D7E20BD906018E1FBA0B88D0754BF0D269640DE165FC5FC39B34FE5F8EB853D +7D9CCCD7E476F452AF9EB2AA84217B64E72F3A713227F6D5BD0E93A26B2376DE +CBADC70DF559700D434E8A72CB7152B9FD92890BF5C878187A88CC3DBCF9BEA0 +99D639B162A2BF0D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1679,41 +940,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMSL10 -%!PS-AdobeFont-1.0: CMSL10 003.002 -%%Title: CMSL10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSL10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup -/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMSL10 1.0 +%%CreationDate: 1991 Aug 20 16:40:20 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSL10 def -/FontBBox {-62 -250 1123 750 }readonly def -/UniqueID 5000798 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSL10.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSL10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMSL10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put @@ -1734,13 +979,18 @@ dup 57 /nine put dup 65 /A put dup 67 /C put +dup 69 /E put +dup 70 /F put dup 71 /G put +dup 73 /I put +dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 82 /R put dup 84 /T put dup 85 /U put +dup 89 /Y put dup 97 /a put dup 98 /b put dup 99 /c put @@ -1768,527 +1018,364 @@ dup 121 /y put dup 122 /z put readonly def +/FontBBox{-62 -250 1123 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 -5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 -8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 -EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C -02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D -46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A -4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D -DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384 -7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0 -C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814 -25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5 -7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581 -299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8 -80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB -5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584 -8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894 -5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F -F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B -966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E -A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5 -9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4 -A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD -94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A -DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669 -E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929 -5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23 -8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5 -155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E -4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038 -44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D -8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0 -04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC -A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F -F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07 -111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344 -8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C -567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728 -C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214 -C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094 -51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01 -66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58 -9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6 -2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4 -4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7 -5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256 -0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9 -233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D -BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF -62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086 -B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88 -DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0 -C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA -CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC -38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D -FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24 -303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2 -8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1 -8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2 -C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53 -9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363 -4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29 -03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212 -93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8 -91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0 -FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27 -06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179 -95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954 -9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2 -7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972 -6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31 -5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262 -3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91 -CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1 -797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0 -DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112 -CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19 -8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51 -04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757 -78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE -730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F -021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79 -CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57 -90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD -97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0 -F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9 -4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394 -40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7 -3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B -362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7 -DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136 -7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233 -04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8 -DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B -C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049 -B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F -9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229 -3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE -D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2 -B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571 -74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A -44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5 -A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8 -3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1 -BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64 -01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4 -6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD -DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A -CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C -683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D -87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF -550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6 -2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB -17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB -3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E -F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F -B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B -1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514 -61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7 -124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2 -ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746 -0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246 -D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933 -F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2 -BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003 -75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A -8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3 -B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E -7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD -F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F -F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7 -322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E -523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017 -6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77 -66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633 -B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182 -5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1 -093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838 -B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72 -6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394 -EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF -A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966 -8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE -144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0 -7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F -172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9 -254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6 -5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71 -011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460 -B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC -0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E -3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB -E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E -993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E -0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9 -18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0 -ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F -CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228 -1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3 -A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A -6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B -BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20 -DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323 -1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761 -93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082 -E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62 -4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB -F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526 -4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1 -361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36 -95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C -AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0 -50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81 -88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932 -AB7916D44EC2210CB941B1422DEB13896DD78CB7B7F400EA5A6CD639D9CC828F -52311A11F2A84E566DE98826F1E28D55FB08ED70950205DE52C207CF14238446 -084FB4DCE04C781858BB4E0744C023EB0B563769751AF1D807EED20E4AFFDC46 -3C1510C782FD92902761F7557FEF701AA67B20A9B019C760B2BBA8A048BA3681 -35DB440925CABA05B8A13B2D30D14FA875D3E200A018C78BE2E930457BC33AD2 -FE3610314A268E9A30EB41F7C771758410E7D1179567B22CFF76517901CB7805 -FA27AE1A2E9ACFC032BA907F1B99F3DE86B975605D28FD7459DB83C8EC381617 -441BE95D470868FB7A81DE241EC72384E10F995262F6C66416290A1AB82116D9 -99DBF4CA8002828A0B8F207A9F33AD1BCC21592261A181AC864D9DE7F43FF609 -93FF317E2A0B71D337DE2F7E9C5CE6F85C655457DBD51637C51A5FF27FC1322B -EF3797CB68909FC7385149C47AF9C2E66CC7481E727C2C231D9878D4C5E8A0F0 -9E221C7F8549E3D51108E3306E0263EC193104C160EBA0AEB7A47E404232EE1E -AF4648252B6994A1E21FFECD68C172C88799050B8950E5F1FEAC65D6D6EB4570 -EA698FBF3971BD5FBE56AF47A9DB69C9740A241A8AD4FE88804DDFE3F2D3EF07 -5DF53BFBEEB2C7D074C18EAD9F7F0E8BCA6BF1550BCE1D420F1B6DB78F860881 -A6574D6F1F4D9ABA0C7CC5161C2D717D2D1B00A49F6150C21ED359571DEFDE83 -F2E0F67BE96F1568698FA1512A3312992ECB4DEEDDA8EE1F00F992A47151A0DA -B546C179CEB8231E95CA03612549BB090F286DB8ADD9DC141D49284F48EE264E -EAF3B05F3C6924B523DB21637AA949A706A14936A21F3DFD24A348B1B97895EA -75567A42B800D6A0E5472242FA2353E6E52FF041C6DCB11EF3ECA4408CD31217 -24E8C0CAC11F13ECA6A2D280DA99F77BAB9682490A0BE4E119BAA7D31F8C4E2A -9AAEEFD379B94C46EA7F3973F152B3CEA33F70174703CE7388B56A2AF7A50218 -DB55A3D6B73272980E4BBFE21C11B4E556DE79004C0CE8C4682DECB13B6E0EDB -F02142B470A9405ED935E0BAF1B1E60816EAE9DE3B4495CFDA978C12D1039FB7 -5810EFB21904AC6AF9BC8B782DF3F5399E421929C2452D8BE1E4B6DC14C6DF35 -EED945656741874F3D5652801ADB04F4C74BE0C766C82F547B0552C0B9FEF27D -D89645A59827E884D6163D809B5644AF0A84F407D2975A5B8B5DE0FA7BA18F3C -EA6357CFFA75EFA4DD12E9F92160EB138FA88C930E083F250C01A009B901803C -C11197E735BFD5DE1CCB5287CDAD319A56F60C62325934F4C83CAF950736878C -FA0AA42672E242FFC9995B766A332ABDF5BB63C317186EBC7A86BF23E437FD30 -7C7F84992D28A15A7208803EC49E5FD02859729C5620D7B7D040C253E4BA9A64 -F8CC129056F7B33C5E0180D96D5A10B5834D800B3908BCECF063A1793E80B9F5 -5746F6492729ACB3356842577933A8871D09BC2E27F3A8D1A76540BC1908F1A3 -DCA102F14A90F649C08EDB08B36D4327DFACCECEF473913169FE13F441C50591 -5BB116B444EC6C22039745697F3AEBF6E3590F0245FB7701D70D4F243943EDBC -8D1E25978E15917F9F5B996445935C3C086EFA3E72E656CCF5C776DE7F7FD3F1 -C50B28640819E749D2E1AF2EEC9B918BB9F06D0CC8C0F93D86D9677999A57D3B -BFBEF4B83567851B764A1B151001FD5BC3CE159010D8F2F14C2B63359CAAEB54 -DD3A81C16A4D920FF93DD84F02929983338F7AC0D45911B9BA1DA404FA1D5086 -FE62D175CA061705400B599BBD119392A156CDD5D2E532F83CDD0B7864546034 -61CE782C729509BF651E4E3747F23F10A6757A3F9A2D80273725913439F13596 -62E7E24EF4ECF745673957711BDC76F52EDF1588EC4A2A05EBDA0EF31A7F7C31 -0709535370BC482086238BB4E828F01FCB796AC9B970580CE05378F2BA1F62C9 -D122DE45F97FDD44F50BB794B1DC18821EB5704553E68F308371BBC1CABC3EB0 -0957689FB60D92D2B8D470A08059239371EC82CE7C8B5DC4B9CBF5311DC8D142 -A79B3C3F0AB131F899E0FF30E999D893745F11F48DF641F685F60FCA956AC05D -C820D36AEC8A29045AC742320DF636907A854E3565A16D086EB5ED827B3E14F1 -9533568783E5374B19BA58FDED11A64230E9E2C5EF18187BFCEAA75BEB7A6495 -D76431DECA086C22876AD7416465EE13EFD07BEA319C419F49D77418426BB6A7 -A50B07D3BA3E9858366AC9F6B7087E8FBBFB397C557D42EA226BC6E02D69EB17 -9263BB15A863A13B8E4F783E668214AD7C4532EBD32AEB826B2BDE2E61DA6393 -3CC72474D5BF531D59B302E9DED3BB83075CF187FA226796DA87C73771A6CED0 -71E09B4F8E477DCFDA32B7D3BBC326AEEABC148C60FACC0AC5E3D06232AEFDE4 -869FC25CCFCD3782A699B8165662ABE30D3FC691378CDFDB8A284503E29008C2 -0BD40276D2009DF42001C1F094DECCDD4E0B88FFE669623070E9B69E10081AF9 -70B457082BB84EDB13B46A50D44F22CF787A4F706D8A29F3A52DF647F9C9B492 -47CEED50EE0D149DB4995897AE95F1E91F1B1E0562F91C64C494C2B2E43E4334 -E9C07D444F3091D6AE92A8A795571ABB708A180FBA66F04FB579919DDB1C4A6E -098EE784943755B1D53BD9C6DC98D37A14CC78E23BD4EC6EAC821F8372282AFB -6B7876399AD6064E3421F03E6944F591E694C51C6581D8D10125DAF4C05315C9 -344559F149ADD0FA6AF04EAFC8CD5260D0936F64DA50A547BFCE9AE613DCF157 -50717D5D4A34EA62B94E0E6C9445EAF55C231F5A699731C522DF270AA57D63DC -43D84A8076871B50FBF3C8AFE2251D0312A502D9FE934A84BC64075EE5BDA93C -7B571BB3AA03ABDF97859EFC4DCF64309E4C87ED62980CB2D029B166D01B4437 -55F5B418E835B5B7B56DFB1867E8369771B699819675AED1F8A117BF3EC08AD1 -85A7926EE98C74883A7934FD8D4833A63820EF97485844BE7BD94020CAF9510E -6F8B1C58C58D9AB0CDF6C653A902909B14C84875A236B9801A962739FD5225F0 -05D9CB9AF4FB12520205C01CE3B736B04BD2A4BB8A92C93B0C0BCDBC2DBC7A01 -FE758F2950A1C9E15CCC1F97D5DBD1A3ED82883D6C9271CFD0E381A62B214EA0 -562234A96CA5A3D276C10E72D41E4BE0212C4EEC0F06C2A81E830380AAB9D40A -8CC5D2EB276D1C844F87237E0A740B5E7CA3A9F8ED7341C071AE301456AE5B69 -A777374636A354C3F558CE9091F4F6BEAC5EF4B1B39C1F0CD598C1F855BFAF54 -B5F86CD29DA93949AF786CC5D2DE0BDEEEDBE20C75A0A332A5B5F7BCDD55F28E -EFD54E9F4C8799515D3D46E034E78616EAE5D7E0B8ABC8658AFDFA78891CB860 -A897E82B01999700CEEEE3BD1B74DC78E53A6962247F43713308E38B8D34EBC6 -4D983AFF4E828D323882FB9071F65C553C960F1E42E5921E926324F6CE27D676 -B079EA60DD7CD9C28BE06E95BC9975CA14E31E5C67D71FB3C82B9C89ECE71208 -024CC5D4E9E537C4D310C4DEAB52C94BBEA47CD2C18D47E00D7DDEB5094EA1F5 -58016A0582DAD04E6BEF843BCCAFCE7CB35F926B2348B250BC1C04CC70AA0B4A -B8767EA8819A57CAA6B653CAFA5A9092668DCFCF98DE5AEFAC23320EEBB92724 -48D6BD72ADD65E5B137DD1C8CEB76DEEC2753F960D4AC5BE5F0549479E47DBDF -449974F462E1CB0898BC52FC5E4C0ACB3FAAC433A2291F1663A6835A8BBD32D8 -96A487C916F0FF48F08AD58EA8AEE48AE3B12A614447D347AED16DFE7DF34260 -0E1AE307960BB53996CD35F0EB12B54349901AED6E4CF1CDC835567D85DD2E59 -C6C816F543186A38EB6148E003F6B610F6033FA9CDCCDDC34DB31470ECFB84F6 -0A6361E9E22742E9896149D33C1211575BF625A089BCC8F72EB6900818AC3736 -48EC30943A4DDE307649EE4AC9FC787D0BE42E0D3089CD2397194D111B2278BF -71134049FB838E3D2D4AEB7631CF64900A77487F82297BA7530C44FF601280AC -8F836D7E07950FF774F4D83887472375B015E5B0D4B13317DB1D14F1D1FB9674 -B6B769BF069660BB5FEF2B2356FC93AFDBDD5069BD4C28AB45017F1E1A02A25B -AFB31D77075023A9AC0EC734EB9A3F0BEE30EFF80F954CCEE786B291CE92DCDF -56730BD6F104BBB789CF99EC9AE481DC5E4E1803797ED9B237E7B3B09E62AF37 -F15BDAECDC0436E638572F7235913E09C8E8471690D888DD8913F9431707F886 -6C46BEE6F1196FD2DF15F7E7437AB0D9CF2C960CC7D5E218D1F26AA57E22316F -C2E9E9553B870B6BD6A138120370E52EFDFF9E39D091AB0F743529B3E988F6F5 -8D996F7EF0EAE27BBFFB280FF35EE522BA47CF9ED3EC4D2ABA4624AA4CE7500E -8C06D73760FC78EEFE785F04613147EA27B3CCC6875C00F51A63D3C263677BD7 -1C634958D0FA574A1F09D4C18BFABFC0DF6FEECF460CF82F0336E5E0AD2355CA -1B2C54D96D28D5C93FF496AE3F836F82D47902B5720EBC007C9BBE2C652FA933 -77D41C8B2DCE39EA998FF80E45A3A6E34C6C43A143FE5005C4896C1CC41DEEF5 -09A93864ED70F7D89DDCA596281E1DA6ADE57CAA6E544D48BC0A46AB8523C974 -A574817308A4FA81F503FCB0A312AF5DBA0DBF460FBAA35530867B65CC76DADD -C1A54A50C1F4FE3342A8C86CEF64F3CF2010C969084DAC00CD7262B9EAF03711 -3C641F18ED2826802242F97133976FBE5B200912261DF4FC0854B9A6137C6512 -C9154E5ADAE01172A6FFBE14D6A9C7AD8636DA576F9A286A01EC1D061681A15D -588A29B7D4BBB43B73D1BC7CC84EED09CC250FB4B9D33B22AED4B781EA77F8A8 -694B8E40EDBB63F2EA56F0039ADF884A848346EAF73B71460803E4D4E5A935CF -C708EC6AC6461EFF806EE01538E112ED3D60A7A91575FBE068BA7521E0851B7A -7D7464350382FFA6C66565ABE1F6605F039A2C3A724B1EA6308AE3846F16C14D -9E1EF3703156CC8CD6BDDB3CBE1A8EB057F89153D32717FC6BFBD509869C2F0C -F1A5A8D1BCDF7B1E8574F64872C4DFEB8E4507DEA583C690964281FADE0C73FE -601E8ED0AD98E9143F6A4E2041CABBE6DD6C2963F13A621DFD8FB0D171732058 -ED4CAF1AF5931111213BA124EDAD49358FBB57CE43BACAC76436B33258E9DF91 -4ABB5BBECE7F03258FE9D1C3705FF1B0CA5C665AFF2557DA106DFF49FD260D36 -FB388A7B9F1A2C6D77B6C4BEB3B48C7DBAB35E3D318E4B902F558A8DCB834066 -A013866B57D8BB1E7B90A36CECD67AAAAE36A2034E62CA2B81FF04173A6DA8F1 -5BD5698BE107E6C7CEE75173FA6641FC78B15B229A3F56773B95201D0C6C57EE -A10758CF9F5CFB1BCDE7A65B47D38641538D944251BAC9D13879155232D7930B -53FBF7A8A669CD6082E1EAF366A2C9650E9F2E7A65FC7AC72A3369CCB5757A02 -BE2D89848782EE1EA554221CAEB48B720E161DD62102F7BBC0EBF56EC460D4F8 -7CD028A761355CEE449E51D7F6688D32F5830A15202B450369BB0B65BE9FD100 -371EF609E26EDF46513A427429D1BC7FE480DE990E2D80E28FD42FB7C130A0DC -F9789F5D99BA2221AF474D826D4D0B201D83F845812912F79CA22B5F5AEC0BB2 -9342E7C26CF7D65B9A1B8D6AED62D8FD2B5361A75037D2D130EDB44B3AE864FA -0A570545ECFDE050627304586C50AE5FB1B8BE514C66A44F8053BE1E7E7C7BF0 -A1DE148D408ACD765E9C1C083819AAB1D8264CE3ED26BB9C7DC08ADAD1D8F6EB -22B4FFA93BEF71A1A76D7F81E54B6D54E4056B7E6E39D19F346F14203E4938BE -8354D8BD24C0C190A1C8D3E75E3C425AF6472221AA9CBA8B80E3FF1898AEBCE2 -CA2F3366C5261FA4B1577BFD8D0BB33E846D776E6C1C09D0827370799B15007B -5576D948761CA7E0968816072B532A5CCE2D0FD500657B9754BC27305C4CAA7D -1E9884EB5C24484B3D9F686BFC5671544BF65CC0EF731ECFC8ABCFE4B0240202 -108991FEC43EE22BF75E623803AF41B42E9E3AAF361940245AC9E0BD7BB8C0BD -7997E9A7E7CC0626063962126D5EF13EC31A8585BAA9964A3CA2C10A4A2E4902 -A5CB9604EDC7AD7FD4AA77604A9CD0D757CA01D3480B9DDB6AA25DE0D1F9318B -0F76D7EE25EF3A3C8F3A90118BE2F2231A3A5DEAC62A73C6D1237A3060CC4A4A -C140B7DF25E02A4234E27EEC5D5A8FCD7231199DE6F2EE60D207E53148073871 -437587A7061526441F00264F616B613B67DF6C5A0A1A3BF1D49D507AB216A9E3 -7375DD3747B904571A97225647840B26EF5770828631DBD74CCFD0F198E7CE2C -EACE7B7912908029A3B973201A91367D03DB34C8C4308E8566DFE98D25DE18F2 -DDDDB0D8D9EDBD92E11BAB9ABAB63E7472FCBAF4F5E0525BB03EA0E97588EB63 -C0258CB789E3470F6603171A0FD34820BFF1165270A9E8E7D1FF0CBD57253008 -9F4AA7E3DF1D5AEC60CCAAE5EA12C3CA2F17273613C332DBCC0F6CFA65924717 -620F69646DC2DF26DD2B15E13451E08358DFA757B32431540D4475ECDD063ED2 -FBC6F66E3B91D7AA1BECED0684E2C3A48A4CAF7BD7283DD5660ABD2C4E85C708 -BFAA6AC50972329C47FAEA2435F4C2612C3238D8FF196B9D6278EC99050FE119 -2B35ED57EA53AC159D31E47E6D3D1A4E1B0AD153765F7738E2AAA67C2AEE7F04 -5C3D67CCE3248693A52E05AEC0E8F42397EB7220B30E348117EF1FA0D75BA5B6 -C2F190CA1CA87C1FDB31E75DD77A00F37D2E8C739892C8DB93697B358C1686E6 -4750E1F6D98A32ABCAD10CAC22E4267487D7731B1EA642A6BF46AA605CD540D0 -6CFC668E0E1175C79CFBD7D6053DCB8C9811B995217EA161FFA80327D5A4D20A -A9E01523853EFA3C3E38E5223704944168AB7FD49C224635C5B09EEAC0303A1F -278E831C049C0B0933A59B7FA4CCE5A70FC4F485EF4A93A64296E44A75505FB1 -2035C16A2DD4A9EBE939B4138D13179E62A7C2CC2560F2E015CA021A2A1C8655 -60FB8E4F7BD2A3FFD23F3D358E66921337D581025A2096B5BDF50D969CE8D6C5 -23F9A48E67506D52B71862E9A024AD540F72AC9F3FECC4D0E972E4AD37CD8009 -044CD402B02FD1CB0AEF45CC5A7AC5C1CBC07F9CD26F483ABF4EFA49A4CDD768 -8C38127EA5990BFA1ADEAB96B74398E49F4563D3FE343A7CD881467DBD9FFEEA -E9E1E96D26D6FAA32210F7636B520ED2AF8C259335954B2F866BE8AB16C74599 -5C989792E2F929D1C67E9CF162E452DBDAC7F5A2D1999D07CF876DBDDE4D6053 -638CD1F499659FDCDF4FFACF75FF0275432F20034FE65A4DAD99A9207976EF07 -8849BDA7CAA9E0CC91E1D614C9FC5DD09C0B81C8FB8BC48ED6A56AEE35AF1E08 -68DFFE9630EFDFDB8BA2C1940C10CE145F75CD34B12D9168F2000BA673B8840D -ADC4BC8C1C41D519AD3D56ADD4A86D11163EA15A473F3AB138E9953116728DA1 -416A2F5C67EF33850B8A7EA1E8371773785E15AD44725C0DA768BBD6E79F4015 -DB35276FACBA09592D346B5B80D03D3C6EA30FB2A116B315CBD7BE3883300976 -E4C748C08D6F965166D277DA2D8EE5E9C6AE2228F60B4926EC9DC9D4D1B6E02E -B77AFD8F83A6CF39FF83D4B4D63695DF44AEC84430D77F253C4D365D2E69C080 -56ABDEB3EF942373F5E89E29D3DBEBD36034C8E79A9AF889F2974328962709F0 -6B678EE10A09D4E790BD0D6286E6FF7C4351BE5F9AF0DEDB5EB536B38FCE698F -2422ED07849839946A2F24E499B38186ED7DC70E9FE560F21D9EE531F392CC46 -6EE2A5CB9ADB616CD431B6CA0FD455244FFE7B95B780D5D147DEEF7A63A77A6C -B040B7A30B623C32CE048D48C16CA549EC18FF6098D8DC1A7C196942FFE1709C -2B13D767E658A31672268C8B0E4BCD145BF78DAF1D82D0A0810B42999DA3BFD4 -2C50817BBE14D43128637CAADDAE0C001B9FE15518A913395E4362478A55A1E2 -476ACA92108408CD7525DEA8A479B740773A951BBA6DF79158B5C4BE0DC89F0C -64409B6AE0B4B64F3BEDCDAC5941AC534F8FAAE0A68173695C52458424080F32 -9CCE4575D2848A73B69480C87F6F066309B3391C7F1A1C16E045B76494336CC6 -58B44E405B87D074985CE4C9055C4AE74CDDC5A9DB45F3A6C0082A034526DB3B -E289E645F471EDDF5BC8748C9F4252708E4B26A83EED6205B5C3B7AD27784987 -C5368197FAAA82A042D5709AD504DE48B70815707DD1F9CC7617D6BA28E7C95B -7EAE62E3B986E5A951FA6DB5D067EF8D76E9AE36E59CE4C3EFF33DDFE3C26F97 -34F7DF815EBFC75EEE5CF7D6F9DB03B968478CC47F0BEB1CEF1E14AD5915D86B -FC529CF9F4645660AA93B71A0BA062AB31D4ACCCC3451FCF4F719D15DE3FBCDC -608FA9A016083732ECD5796260BB3ACA11AC00A617F98F475130D00D4C62F188 -5AF1535B350F6E0DDAE86A0D66069FF88EB31A72C0A4977B3AD334AF0C799AC9 -31AE6D8C0DFD87E1E95F3B9EF3DC67E322389EE60B6AA631B14D554FB3BD2232 -86E5303CD8499960337FB2B1FB0E5343DC9399C3B554B4C2F7369FABC6F40874 -62DD4AD356E65E38B72F8C8AC75A6CA1B7CB1CC8049A943548BBCF60E7C856BC -DF04DECF2E900770303635E97A0CF499A8BDB4AE67667CC7561CA5A66947DB01 -9AE99166DD023137FDD4CE882F39CB66B9538BAF297776E1160FA3192D02B4ED -A5864E80E6A453B44DB606306B2700D34678995FC92DE01CACEFB79BFC36056E -709F1CAF8E3D431329F07A180D4BF5B5A4106CD13EFD1A3493DC2E268211CA33 -F1C21E7BB5D95F95566C54AF7AB9247AF0995C4F7B203AA9C3003F5CA7AAA01B -2944678866E44B709C4E73C6CE604D587F5E0761001EF56A6924D371D17F6800 -461DE892496A3C734B0756936D8DB092F49F87B7103AC6895F6CD74B10C91730 -3283567F9315AA4D799EBEC5A9AEF1AC2324936B128C6C1C142747BAF0212285 -CE3673B3F6023D6828B7B7FECAA67089E16DFE4ED4C50D8B5F2B35242339B4AC -C78847A5DAA985C915696B4AF8196CF30873E932D05B31187732D3956003C203 -598A0A591A869882EAFDFEC1A7406442D2900ED8DF4BEEBA1C141DB9A39A46A6 -2833772A3B4320648786BF35F8566725ABC640AFC856552D70125E1C22B9D7DF -B65F60B70AD1152993E886AA2CE7AF79F3A7E22403433D97EF14AE40675D03D2 -45137DE815B1CB8E44FA3426776575F743E63D8F11551EDB8AEBC1E88257F73C -E1A7F94454098C6D0260E2E43C3DBB99E0666D64746C14C3C4DD2635A9678160 -CAE6424F45DA7999AF126DF07B0422A7CA2E5D1D2595A0FB021CF32D35C6071F -A9B1C5D0F9582FC83953B9007C9C237326173A1EBC4BC82847EF64514B7E439F -106D9848D922B2167A0427F1BBB6D3C0DCADBB840F65254305063A87516227CF -A0597AE3C1C65EB0FC10D7FF98C33EE9F3775D9583F638247F7B9FAEFD92E592 -0000E743ACA6016DC6673A50AE550D2B003BEF8812E58FB7EB4A0F51F9967D77 -923065F4ADE3FB3D48D158ABC4ECD6BBA6EEC701698A33423C133904B5F62144 -65171F3AF1B15C4D6180E74554A76A925A5BC3A34115A3BCEFCBEE6216D06028 -C5DC9D92289A71C654E8F45A6A7534E966C90DAC83CD2F1FF064C236ECBF1230 -7F96121A8A2982E431A4EE7B36C168903E8BBFB7A95505D0F78F2D5461808672 -08FDD70309C6F42608497F3965AC89A931783A4C4BE087CCBBEE66F216C9B1E2 -0EACDCB4855B7F8DBD9BCBD0D1B64A319ED90D327368AEDA37B6A04E2DC7F388 -CBF1C9BC33B9B3FFCF78A17300D44D112D6652F0716931969142ABC9FFA0E626 -48578F2B1C10075C80CCECCD9E51C657088B8C4E3EFC039082828A0BCD9C592A -978FE662ABF818D220AA9453D22999A8C6FF7DDD2030C87A8F55D2F666607387 -E8295A4861AC665AC0E88B499AF9452F0DDA167E81ED8552D3CCD67BFACA1FCA -18EE5EA2D34CFFC2EA68558E1770FFA6D478330BB16D3B4106F29030AC1F2C0A -94CDB930961F26C4A223D8CA8A36F6AAD3307DC29C219A3D9A060A4C27730093 -775C04AE779B18AB8172A73E450EF5329BAE7A4F5618B3361848BC0D4583BE3D -94EB7C69DE3C68FD2EFB39715870D2415AA010A17872F673BF7B7315D6F05F69 -78F8D4C6F25211972A7A066C0D73CD45A213E865B450DF3BA66040CAB2C08419 -C214E7721A8049CD697F159D058E23431FBCA49228B53E958E9B1D06E8D02299 -8BAF12C50DB42EAAE57BC54B97D782B233FFC163D5EA406260EDE201024B7D47 -E62002D404F728E87535790731FCF63102616A78BD1BEE1CE09C55D59469E62A -6DE12C4DF8534782705307CCCEA199BB5959E8BA13A9D730DF9D6D9364582DAA -91E397C3667D3D2EF86E11D59ECC78CB21A976541DD0A926AF4CAFF6F39D416B -32570E543C9B70A6278CFBD28A7C6D743B3D278C9644835B9C300F98E9369DA2 -BDD03CCA0278197B1346C495EC3CC4FBF475203F66A628F00EF628ABF5A09BC6 -AB173AD1D59F2FE5D770EAB2E0E22CEDD3F0D67DDF971029D0CE53213143E06F -B365BD78E955723FEC3B6C33FA11032E407B0BAF8177D415B7819E186A2CA22F -F0C0277E02509EF3C7C0D857CC1EC15027AED381E6A67D9061F7D68AF231CD43 -FABEB0CC17A6F5BED7E1FD6EBA72AF6661149A22D419B264EBCA02ADE6FF145C -CB4525719F165EB8CECB0418172FD69ED08048854BF3A4ABE848D437A7FF0F1F -8BEE57A20E28CF8775D2EF92F60DC6116C1B69A328E5098916258CF3ABE4A898 -E0FDB189A1B478C34DC3EE34433B4587A1569F77CAB8F2127E7DC18123CADC6C -7CC78E6A8D9F482DA1E0733ABCBD8BDF8B86BFBBEBE0880AAF725995F4A5DEB6 -71999343D6A0719B41D76AB799FE5CAF88D78470A87D27C544D382FEA8FA1B44 -B24FD7CA6D297A1232B1A28B7DD56BC078940C3C06B608CED869763F99A736A8 -C84C66B4BD67DB14928FFEDAF6705EF21853178B70C7D83DABE41045317E4A29 -42BEADED6CB7014FDF8C9F765B9566BCC45660142CC768E61F8A1115A2AA1816 -81E4976259A6A50F653F029551EBA4C0622D2B0E86896E98413B77D2F6B36980 -16FFDE5AD58CF5692BA6E5560CF4E37B6933FCD5592E381958880ACFECF2C9A3 -5C158B220E7BFDDC4D9130ED749AACA8419D052E3D953D0D992273588614FDE7 -06E09B922860171D41BC1E6F8C7417F2AFB021ABA980C9249A32EC2B10B00DB7 -63C0A4A9F95210629756843337E1FB1806BE1F1D801DCFB179FA28A5E4353501 -3236028925BC6E26FA31FF04F73FC6FBE31BACC66BFCA527A2300B502AA830D0 -EC447CCF42DD2B12E5A072FD3F865CD3DF791A6AC50C420954FC1DBF63FB95A2 -315C6BB2E5D2882C351DF168F07EFD986F19D78F63660764476C37E1ED4A22E9 -3A20A33E830954600B42F54CCC8146B0966691B6AF292D2B2B44139C13FA0530 -50A0A684730B0220C3750BF8A7BDBFC1E49BF579AA6D01609ABCDE84B52A0317 -E027B8419E95B0C7A49BF04D28C44BBE2BDEF4E414BDB8E44FC1CFD15E6789FE -BDE094EF6AE14EF24578DBA2F2095F58F26E7A4F1F8D352138BD6CD2B823CBAE -821A54217F2493D01B7CB36E8880B336FBAE6743D5346AE0F376C22B5E0E6E4E -A1764D38604BF18F957DE8DC3A283F33FEE2DC32625EA2F242D29574B9C8DA19 -F4FC8040FB14531C6A00B0E54F65D45B327313F780684D170D30A55BF491603B -8DFE7F68F789C6C327FDC78A6C34683AE3C1C5896249183DA3605B67C7B42BE7 -48EDFD3D00DA2C50198A695C58274D6DB8E68B621467EB3D97E43D4C1F4AE9B7 -9A92F00D2B6F23ADB09C26DD8D013E8C42A8E24FBFC9EC41ADABF0FE8E1B943F -66013AEBF659757A2701EC8F8CB9CA992F385F5D4F7F10CD822E2B45448818A2 -F2995E9AA7A1F679E665B912D4DD17121A254279F0C567CD1FC9746AE2380453 -58636A4E4ADEB814F54665F3FDBBC40095C154FFCD74EC150901F68871E0120B -C17901007824A5B09A578AA45A71F49CF6055692B02ED312ECD5CA4CD8FE4C8F -F659BB2AB394B670B9DBED12BF55AB9C442FEE0B22B931A4A56DC3C4B7B0D126 -868572E1C29C2F45E7E5197031384B3982C75CE26E38881E801E45B0CE0DF755 -B6019B6CC68F75A2312AB6EDB4735D4672A85709EF4BE844512FCC4AD6F645E3 -D586935F0E7AF6D49CB9509B2EAF5A60710E0CB2EF4D5DF2406BD6480528AD70 -AD9ED9D7A8CFC8FAD98FA4B21E61761373207DA645F5C9F325C7EB566CF2EE50 -35BF44B2F1BAA622BF4FF20FB6D47C5F04DC9B11E47C430637D1F95990835477 -B22D9EEC29DD108E3BFAA132B0B2A067A81C9A76F7B0C12433F018690AF08291 -E8235F50A65627ADDF2150AB435B796CF77A9537EDD2BEE37192872A780B9765 -13A5C27853BAA384DDBB90466C19B5F38A08CB65E12AD68351239679BB25CD4B -744F74DFE24F9B5DC322B2896A8BB113D678353CA3752F0D4EDA67F0032B9EF5 -A9E7F9C3895209E9C238F4DB28C8752CB342B13DCEC4A4747C42E6ED9F7F0CB8 -4FA64AD96A0685589FB4DB7C4769F82B90548F44D292637A31B3842C254C38EA -F3C0FB3E7904F473C4664800FFA1FB57DB00F9D017B887CF4F4D586A76A7F09F -C2CB4EF644063CED58F8F7CA79014DC09DD1F7375C040549B22689713BD6EBDF -B32F5085C85B8218417D2561BF6BFF318807506F8AD76B3D5887D0DE36781D5F -9827B5A4D1704268ECCEAF4174EC6E7770BA4099629805B0745A2DF0A9779A1A -1DBD41DB89C48C94A018AFD695C2D80E762EAE49F0A7388A2EE1835C1670E87F -219BCA5E0375E02E3EADE7B7D802CEBD2E8D3BE0E1B76937428B2182554F7527 -6A0120224048BEDCFABFDEC389E280129F7C666AF14B7C2EBC0ED8060E6788D9 -D269DDC2879B32A04E873923B0F32BA62EE80743418689097594AB0939831684 -1B486372CE4EB57117BF3FC3AEA726D6A7CA3D492D636D5D19BE4084BB8C02C5 -E41CA85FE55F2EF1BEA7E9F369DC8C7D0337E91680E92197E6E4543A23B89429 -7C8AC75E14B1FF936C92315033B5280DFE44BD30B0AD992509DBFC1AEFBAC612 -EA50139DA3EF9D124E8E95A5F737DA6AB47FEAE579B79505E238C6809E35FD18 -BF9CE2002C747C24E670861BDC2B65B1BBD24B1E3C3F2627FB8A99CA8910D6D7 -2CC405B4EB3FBF133C585FE026F8FA185BE68FD7D655D206253788F8B74F6ACB -A296D31C1D1B65CC7CFCC85536C0B4E7543045153A9F4079DCFCF1A9C44ACEB0 -D41E35BA6A4898952CCCBD9227C5AAF59833918E092E63DD6A7C9C25DF2BBB44 -FEE3D59A19664A7A3691C3CDFF2C448476CB723699FDF53C84780B82C3DD785E -6A20B9E4CAD41CF96C63D7A789A6F2B86111DD98D2A2D088D6B72AE66C78172D -2F4971D603B65D0DC18A0EB0753E8E7BA2E4E7F3214CE647D2DA0C854D50AFC3 -C7F39334D8F0DEE3967995E07AC57BB2DE558CE5A51AC46E696522693A0B2444 -C13E77A4929004E25EF3DE3A6A0AFADF96D63AAF45A2E9760D30CC4B0A8271EE -19E4AE5B5E2BBC2F802F0056407EFB41C8717435C7C59FE0334D70BEF28924C8 -94CC6A0B12F0372DD592C4292E3B058C65E8326B182E8E64B7BE98C5D27F2A2A -DB7AD6747465281B53E3E73F4E10D8A51359D67BCA5D70891FE5F8CF514D90B3 -B3330668BB859C0A8CA42D23DF76776A54DD150D7A946C1C42273B9B5BD34C89 -087FA2F3A9380AF502D4C4F3B6C457CA2156BF8C3523C6397A4BA38CD7E71E95 -0819D7C7D9FFBACCED119840B73D74791C8F093A7BB2A2B8CF1BBC0B564C11AD -AA2EF193AD1E8F14D2387BE3DB4F41B41882B951411E14ADCC0D04ED9D55A99C -7876A99825998E1314B8966F872305CB0F74DBE780A08432A2FA4A956CEFA46F -DAEBF454C6078C6C49B3A72BF71847C067F201F92FD9FA92C14509C89C8832D9 -1EB29EC613D2C325E102E0A6C75C6414F285F52A88936DF58B028C923B3B7C3F -889BF9C8D1828AAEAC29F0B4C4D8DF42C8C49A9329F419994D1FC50295E2534D -A47F5C743DF25FC2B663EF5F96982A5350325C9B280B92008EBF6278B73A9233 -7AEE504DD1C844FC4DCF64309D4C7DB0AC457BE71903E55F761156C82D19C3D9 -FE6FA2FBC33A4EC6E2FB76D5F01416B749C0654767983C86F5D623E185F4B30A -B383E8FBF7DC8A6DC5B2EFB6813C7761AC9B9A16A866520182011A1DAE1BF9FB -3EC8888BA11CF60872E0FA72ADDACBD9444E7C57F8F2C8E9640C066D1D4BEF24 -729DA8D585C6D03959879FEC9527423B96183E3251B580AC16C2BFC30CABADA3 -5442230817AE5E4CFAC046017F8F94C71F5F99DDC00EDBA90B1B5BDA439C88DA -F71B10D7D4948BC2ED1997EBFB39C6B91A83E66AB1F989F5ACFE5DBAB5771D64 -D5004F9A20422954BE2A5A28EDB9213B3CEE85DA9D15BC71FFF609DDBFC1B26F -54B5F0C1C2B71F0E8E9EA95CFE202CD082BCAE1F70BDB719D7AF86F42C11F7D8 -F9806168F7F4C8FB0FF59A531BCBF370AF5554C3243C729564C3A59E7C8F8DE9 -45734F7D83902DA8D8BCA689A84829D5138151A8D43597E1DAB2F5ECAAB9583F -2C7BBC39F77561FE316E818B2330643EB27647EEFED4D382E8F0B81B7AA52332 -2D0C8BC8D88EB282AFF2CC442F17DBEE83833C10E62C329A695377742DB812D5 -C05B14027A6767DA25510AF5A422F229C1B54C6CA10E01A8E02F010FB6A58BD1 -B3EB9097F8139CBA36999FAE5BEFE4C82692F5CDD037B568B2DB7E7DB37CA67A -CFE9AC7E8A07F623C702976CB21E6CF82FC882EDA6B59DB00B4EE4D05EA4F897 -1BCAA95EB8A961BEBD1D8C6D2D1577CCF1E98ECD5F0BCA5F78480FE0BF49B827 -A8CD191F947DD0E892CC72B43D8AE265D196FC07E147B092709C0D6D1AB4BCDA -579385B8A618611BD28A1004F59945E9E07F2A015BBC54348DCB1063D8D20769 -0334214B940CBE04FDC990B06E2C3F7CB3A66CDCA674977A483E1FC2BD24C6AF -C624F668A2EEF6485ED13BB6F3E143D49C49482FD800E2A9027FB3BBAC7EC0AC -55D5A7183AA6FA394206077CE61241CF2B4D470512343379FF395E807514A74C -BB8B5DAF51F262FFF9E1306A41A8E86DEF0AC15FAD60D0F013552E6E391BB1FC -55FDE8984F364E5000D817546AD301DF9050D53E8E7AB8C52DB3D796921F8A37 -001DBF979526BAB8A9B5D3C08F026BA99296730E520A1CB14D9EF8E8CCB843BE -B328783F304CA50C0654EA991219BE24C2F248A980AB5424DD2F77D8F688823B -615973026F733721006841731B95F27FF23940E6A3F52A69E2B402684E64509E -1B99F5AD926134D75B363F48C03C2BE541035771BB1094767B11D6FD01F13979 -8C7AD7543DD0AE15A523E933AEDBCE3142174C91052805F294F5197E6B776B1E -7191B12751AE62078871E3D7AE1D1001A5A38DEFC167F84DB038F900DC1EB343 -AC1B84B7E329A9CB186DC39D747B2DDBF2CDA50812AB16F36FB5CDC4922EDA8E -7197ED1AABD51AC76CD454BB14A305E4F5C6F9446E39B80760AF3274CBED6E53 -811E74163AFD6F0C6399A037AE5E71DA0D73A764BC0BBC5B2A4FA941BBC92540 -417FCCB353F3A3C265B354CDAE15AB6825F673E2D7FF32A2BC8D2AAA92998B6A -41E677FB52222CCEF10A42315F25652B3CE0717D5ADCC76D38B2B0B92BACB6F3 -5E09336C78E511E38EE5B9E513B6349B86B846B8A42BABC64494D738899D6557 -19DEE68C852453EAF982C0FB +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142 +08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C +30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF +C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A +BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78 +5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D +43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1 +374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23 +DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4 +B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83 +63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B +89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A +5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2 +C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5 +7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B +EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850 +4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5 +7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40 +30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9 +2E080C10DE923C195C73E97DAF6F87CDF2C02B72F1E0BC0A0D69ECC6F8301CB7 +07B8A4377F1446EBC085839239C2CC62CB60CDC0C4DFE564D7829D4298661DE2 +DD412051F4344034FA18DF21FB614AE21C1A6335DF7584B180969A45857F81DE +A3C099F8A57BCD705F0F606B1B78A80155DFA868D4C72ED08080C9B1A9F4BAB4 +2A74A5F592CDB7DC3D7D69E262A62AFC6929BB74567355EBC2D192D640A8B8A3 +AAA8B13A6EE29B3F38BEB70FDE2E53FEA0CB8C10C5582CE8C839B56DD65F37F7 +003BB0F35AD583FFF9D4DF1631597C7741A2F288FAD2DE58062582BE330465DC +5D6A5F8C3528534F158E4BC66D900DDCA60C900AEA56ECC1BAAEA97CE76F5E43 +ED66E4E47D9B818CF813E73780C9F02B95793433C9ECB7BDE6BFE17D03B70B00 +704274AB4F7B627AECBAFEE5A8D29D95EBD63780E60D720E40541E25A69C384E +3572B755536EC1010D3B93E30E9F46036EA293E88924E93154099FDC067FB4E0 +752960A3E80F47CEDB0D7D0BC240C68D45BE3D356BEE9ECD6399CEB9DAF3B27C +632422258EB4415BFF16999CA07DB50096EC7E17F0663DC9E9A475DC735C434F +6819F96586969AAAD601D38C736B7425F2ABA4C2D402C270025F61E0E0484F4E +C3E30E9000E0A7D455ED06452724CCD9FC798B329B1EA97AFB4A76C40C26DFC9 +06530BCBE98671BC8070286D47517A6DE14F08E0DC665D9BCBED3D27F1EF37BC +FB412D5F1565AB0F54DE5BE890C7DCC0BB9D16859AE2145EE881E663811E114F +26CFBD9A5B26BAE14A498ECBE62AEB131DA47C05CAFDB44CA46784BEDFCF0460 +FFE2D7838600FEB0D8F83D821FB86FB9D4D0620246623672251EB8CEF8035046 +6F95E2F2C6C2E7FED4FD9897FB5E12603E7D397D6A9AECEF6A50FEC3A2194BC6 +98CE11A620DC84A0FD806E896D25C952FDC54F92CE7285C7FB6ECBEA71012889 +96F47DC5B996BAECCA9FA07EE0B73C928DD16A37519A1CC19E4B64CBBCE8952F +A06684936FA1D7B48470A8BDDA67CDD3CED52C3943D77A45945CB081961265AC +692D22C295ACEB6344AA61488D2B23C1AACB32FF6B3CA289784D8F9D148E0077 +A6BEA521ABD14902B7AF36CAB8C9412059325CBA8219ECA792465EDEB8AE785D +D868C8F6272DB50B8EFE1B2CC683BF88E31B8E1DC44CF93D5940F4F2F4D792A3 +627202047EE7795E1F4A6869B360AF8C5A410C1F782B503169C7387BF777F757 +071AB6B160B88F0293266F476315411AD77A9EA07627575D9C3FD5182D8E719B +95CEBB90948389AAA0A68F475D7507A3A1940BFB7BFEEED49BA800453A195D36 +0F1B9A5400A67FC5EF7D82975D8B280C3649EF8BA4E2C4CE595862E7BD32FBAF +6F3270C53108999DB3613333AAF56CC2D3C1DC900606E72846851EB3A0333EAD +C74F182705DC88438C9A76CD65BFBDB1E5493FA8DB4E922C67EF4AA0A1DEAA48 +B215C9755D8F1C716E6794E39A31744DEC3D7CFAA7C3A59CCB719FA312FF1B44 +874BE70BD427A167228653E8F465EF8E30C149DBBAD92B12EC236A77776218F5 +0F3DABEB8F40C18D84A4E2DEAA165911F64FA9980B0EC3D145A3F246D3EEC2F4 +49535441876210EC5BD4C08C6487AEDA0E0B5AC42B7DBCEC3F6882984C83ACAD +283A44C775C3170AFD2CA1449409C9312E05D0C54EB1AF3A08B30D4F942F5901 +19D9118EBC44987065BBE9B03802C0AF6A35B64DA446FC62F72CDFD30EE19C01 +5F68D5D9ADDC9DFD98595C901292E451FA2AA7D4019A1827A8E612ADF9FEFCDA +B709EC270845FB5713E9BE8B24B8F6B9874E5391727CC1726819D696F526249E +44B22675AB2123687E52BF3F80D8AE111E468A0A194CA7F5CBE1228C40558D06 +50AD63F747F6E6F4DCCF5CB4564E0A584E0B25ADFAB205A528963E5577DF3597 +D1904E054C0CE3FC8A41B43858BB81CA34BB6056B5BEA50C501C466FAC361827 +46F922CD23BF0F73006C2AB25F23FDA818791C880E3924FABB0DF2CE74FCEED0 +0BAD81E26A3E92D7F21F2EF2A10C0E9073061EC9623657F29DD1F5C2AC16755E +87021D6C5C222997E48ADD0D0109086DCDF7C9043DC184A877D0E50C8B5439E5 +E3AFFFFDDCFFA7EF6D315A05F53D8225E9ACDCCD1653A970AB6FE3E7682264E2 +2EEF982E99A9481CA64A1ED87BF894EF1E3B8E10BCAA122367E943016D8974FA +67A1FE3EABF22C22C58732A2C6C9E23813299D3BEC8637563B0FDDEACE399302 +4699BFFBB3EB37025FD4A09EFABA473228BF76E20B3B8DBAC91F975C1E82CF05 +441D4F0A0D1F53C3258A60DFC86E84B86CCCB20C9D02ADF447FC52D372F317EF +E8E189CD6696CDDEAF217B568FB768A573AB2BE4425CEC71892A343F758BF83C +BAC3040971019990AAF6C16C4F2470F44B1EC6CF8402FEEDE74184ED83C88DCC +1ADAD5761C7CA3137ECA202784AA80CC84F6FFFD00EC5B0D4881F693B66CEFA9 +FD1D2C9E40ACB50C9A36766A6F8EC78279839A5B101FC76BE3502A4F04AE24F8 +0E4A0B78B5527A7A3B38FA1FAB60D8437C418EB6C446239E4615A811B015E9ED +C4491CDC29A57FA121FC6947B7952807C060B6C6D77C7A2ABEB5B3F19F924FA0 +77C486CFAE8D3E749C9CCA2BACAB438D6C689DDCCF5EEA4B2E636CB9150A4042 +B55BA21AADD7C2698EF7842E89A3BB1B888A681EBCDE19A1FD5ED04510D51557 +BEADD6593A013E8DD1DD55F16A9BF23EDADDE4D68FC9FE3EBAC9FFAB96F70D47 +C5E77D8AB6C5A32BD7600723F6BEFFB3C41A0208E5A01CDAC25D89CB38F0B6E5 +7D0D8A605BA0A1A5F42915A42D5228F1A8B6EF99408F5E5E69068F0A027CB243 +8395D8F93AD7FD3C51683EEB5C58F72AA1C88C2A9A398364673A70EF4C6BBBE9 +148337818AC74294DEACD2873D749CB48307C1BDFEA5724982CE889F0B063567 +BDBE2F2F1215608B4BC27FBEB453D2E531C7455F852D777F97CFE0D95DDF839A +A3CF74E2E77B2FB1E3C7DD54208A01F529A29610C0BC2D6490E73555D38A98DE +0EEAD2A84926A472A74C4DF14659D90DEB585FE3115CB753244C3BB8B123D378 +FA6E3AF6E9EA7F255CFAF5F32BE92A6CE3578DD3B35C54F832698A5516CE038E +20755567CA0F13C8F2794225D31896C8C2A9D2B5692A00D77BDB9AA261B98A75 +ED93313AD002147CBB6417655803F7ADA5276E6CAF73A9DC71D45884BC61CBFA +D6D49D5893C0C6C59CD1FE7896F694BD3ED037EC0F6674A399A217766135E8D2 +FD6CA6A596D912CF9F4AF1CEADBC7173AA580C0EFB0B9BE78935718732D31A9F +F7D2D926710626142F9F249C024A1AD9105B46724E24B81076687A454FBC5D94 +CBD585822DFD52C2BEA8AD532389D7CAF8937DA4D5B74F1ABD58B12F2E549AF8 +E66300183E3343F06EE3BA8BAE79D339E1F5E316D4210D6855F71A02477EFB87 +93269F47BB56C3BB96D382DA5AD1C80E17E4F3F0B3E77626D7D34B4465FB8980 +DB5154FF84EDDFA3C3D70D44A86FEA50E1E8483D52A84CEFA0912CD118C209E4 +6794002F8925923B15EE0E60C1F4BB8D3FDF11E35E2D9C581731DADCB2E1C5D2 +2EADBBB6BA4E0926A35333553DA5014C00A95B0CA5ADBDDA676DC7C654C1B702 +898EA28BF19AAF5D93C1B02E5192DDAE79B5B162639635F497018377A1ABC9FD +0A67DDD3C202B8D56A89DC44B89773088B9A91CCE94BDA6A8273F3A81E358942 +7007D97D4A7C30107C6042A15EE6F0662877570E145D75F709DFB48EC1CC9DAE +303086246968990814FF0BCF96371631B13420089B68CB3BA4E685DB42D4AC1F +B95C3072729FF5ED612D549C14475C41EC4E48BCFF1D4A3D5A7CAE405EC3265A +B2198867A0B14BA9B0CDCC591CF818F88AE1654113E34535B4B4B5C628421BA7 +64CE1C6AC66C2BCCE4343B517AF18074D126DD192203202E2602A6BF77C3AA5F +94DB8B1B2A5AC1AB53D48B247943D9300E0AB59338C1DC83EB41E5B1AA13C8A4 +2383D2BA2C0E7F7E163BEF7C25EB8145839AC0017381B4E8B0AC3761AF44FB94 +BA007C787DB3175B7523B77989215BF461257AC331025DFB618A8BDF9EA754A6 +1E41B8C4EF45585A15CC64BB7AD3AC53288027B508175FD3F43D7CF96232D38D +7C14A0DEF7C64583C8B1DA4B3095D85EAC845449471DE9360ED836A0F236C746 +405FDE7625069D2F95C602EADDB74037808D0E702A36AAFBDDC427E72C5823E6 +6830F7C7385C4F9D0D4931B3ABCBEE3E6369A8CE9C5611235A6F512B0223F2DF +F717DB279239B664C7C0DD0E0BFA5169178021C60688ADE420C37B2B1ED91A3D +36B83BF44FEDEA014F3C1AEA12D222B895EA8FF5D22548717D8831EE8873EE97 +676C10DF9B8000DBE8CDB30B7693DC80BBD8FFD13C13DF7F6F1226D452250C59 +320B931DA2715A14AF7172DBA1B039FFA3ACCD9D5BFC7178EF34A388FDBA85B0 +E22C7A6EE2FCA78837595D2B382B0A79E3DC053D440854AC129CFEFB1EE3F13C +A2BB156FD1287AE5EFB39F63D9DD8EFC61BF96013B4B315547BBF1999CB53A3C +72F9F7C0CE795627B70480A3E5F97CB639384558CABBCD88D2FCED62B3EA5023 +545BE0F41827449F45C949AC68982169D858485960DCDB4ED0BEAA8B8A0DF6B1 +AB41364794F089DBC989BF957A90561BAB9F3FE89DF387E81CB997353AA9A26F +AC5889CCFD4786EC1A8AA1039944AE27D4510E135FF050C817F064AB2FB1F54B +D39E744A943CAD824D5E5E1E23EBD526198575E2E37100BB0CAC1F5A71BD744D +8A5B9F752FCD378858AE2BE93064100561471E2D66013630351BE8F984910232 +1DC811247980F58176C4474FDDEE438F90AEB6F733E71B0510D0FCC4DD340AE9 +1A5ABF9FFBD93054327B51A65A55EC62B2619D5CC4CBC13A64E462589BEB6248 +0BD43076FAB7FA3DBC6EDA6AFF600E5C7D21CB8CB8CBEE23117A959E1F01ABF1 +F314F37751F3433FFD45974C4E7C77B22508FC01455FC54C44ED36082E915DD7 +0184946F72EE2515EC8F7D1682676F7CE6F4B5A81DA523505B6C9D49B8ACE0EF +B7235D79C8FE40960826B21A3FB543FFA223456488FBCE91D0B5AD7C8E929767 +5EB37CB460570F22103A18B8578E46449C6680792FB476CA55F923D447A34D59 +6555555D266857267CE67198151DBC4BBD5675C97298154E3DF0F5DDEC6CECA8 +3B6C1FB23EBFC21E388C011FBE300B2CD603078B73B5AE87F2DDB24CFB501499 +DB0D6127C1008402981F4F93FD6EEFA552C0C55A271A4AA820B1A83069C11F99 +1ADEEC616DD6A5A7D0E59A9982EFD7B6C923BF24E1A75ED5C77819C544EE488E +C91198E21E22D3DEF568B0D2AC320E6795331F71BC534C7B8B59CC2DE98E53CF +194FDCA9AD67172983C2F2F7F611B013A8915DD2DE4CE9CF0AB2BD686EA33036 +E6D3B90A79C232477AAF20D0CC675580822C7FB2AEC3440BB057C487642079BF +3FB23CE37A95FD8B798DB2724BB5C7C54756A84B637D3E5F4D31DA0805C6B2B6 +9D674345C5AF736DC5B93BFAB2D323A8395571E856AF14EF8767BBC457B36CE6 +0BACEDA069FD624ED91F73C15E8B65C3CB4B4B3D138C67BAB0C938C9BD04A1A4 +57FADE76945548B307F84598629DAEB2770BB21C5A863F1460261161C28FE809 +2FFB5BC2482F24794BDA0042B7399BEE0B5C2195A04D6C0792D53FC3D28FF903 +B764F9BF2A615F08839FF6426D2D03D5C666E4FAADC530954BAD2854A903D6D3 +8BC50F5A485AF990350C99770C01AF3AEDB53FE195EE43735BD8545749679C96 +6AF9C1D2FE9106FE2EA15C430C09516B3F45ACC75CD1CAC9016827E905F0003C +53844E172D0BFF78E64052E8953E6193456805C69C73779437D5D743640E593C +4E6A33E2C6B388B943E52899C3BC3913E4777A94903A2157457E7DBE48260F54 +C9EAB8F8511D6C665D567F9C6F258D1EA421F5DE0C77EA31FD0DC035A5F5C82B +EB14DBC8B5281DFD0D52CBF678F820F247DA855AA893DDCF7DAFF48547D3A8DA +8078D302ECFDC3AFEB515E937849018C00BAD74F759E5FAC77A876609E8BC510 +34F11175D01E8392B34FB25780A9830058C989B964CDC34BDF220F0BD0D66EC3 +B43F9BADA5136943D7F8552E54CCF7AE598B9C0E25B951D715F7DFFEA68DAC32 +CE510DFC09DBC57F764A94E6C5B0CCF02E3D5D7CED19FDE6BF90176C85BF11CC +D16CA47DEA68BB0B28F83947EBCA82DEF1187C62B376CFE09B21B431BA09A7EB +444CEEB7D3729ABC6FF39A8C00F1CCA85EB3B3A82496237ADF18749F00B5A1AB +6D127D26B343DC5F42ACB83C8C9A3D787A95A1F155295B27FA8B80CBD2601914 +4CED8DD4D52267482BD3977048D5A5640421E9C0C09307C35E76778D3F07C764 +855FAB2ED1B3B850F6C4695DCFBDFEE07DDBF13A5048AE13BBB8C51C536C8491 +5F337571DB3A884C9FB5469CF97B64A9D9B9129904BF0E3237366BEC5B95B9AA +90826BD807853B8EB22537F62ED5450F4D02CA8553DE532C9E64F7A9354D1B6E +9611B7180C89CD89DD8D629EEE5136D05D854AC823BA59F81304F7F0E0EB8552 +93FA2A032B26B501FE49E2DDE340DA86EF8B7C571BB6ECC17278852786D6AC95 +9F3B454E57A1E72C7AF87B475574969EE6920854F8FF39284F68ED2100C05AAA +68702E5B33B42F8C76F6BEE0953CDEC7398517D2B437BF4651BA2346D51787BA +F519C021415A27A0A720BD1D5D489D5AE82C7F2A5EED67323CA904C95886C667 +48B5D8097F41C1D6A524E3845D434B0A8E62EB5601C531739893A473EB96E01D +E865E4A2A606A794D9820755B81543C4225067B392DD2585D76276463F7FC6E6 +A94E3D1B424D5B5EC841A3A9868275AFC005954CC9AEFA40933E017220C2FB2A +D5345843C1371CF2E7CE7BFBFFB003439D8DD2FFC1FBEED72C2864F1257183B8 +96650F602C2320F5411C276B69830BA89D50C394D853BABAA36AA7C04B7578EF +DB0C41FB95F2F2115EEA42B2066C3C10A59C86F29E35E778F3FE71B08C241DD0 +EFF4143C99B514769F096C36E7C5FA86071314EFEB33327C0A0A46BB179ADBA6 +DC4140B9481DDB9819024EB9DC755F732E410B6D53352F5CE15349B755DDB468 +F5B9748C65D051EAD2C0C3719E681EEEC37A48A127DED469D87AFD0D8D8C932F +38A1DB0502668E38E6E6C89DC7C6997BBCB749416045D1B53042F12AAF772050 +DB047D401D17F772A6A1A70EC0371C4DDADA3EAB928B49059ED9AF01688071A0 +E94C103C24ACF23C9228393FF8DD169911DFB5DBB0406BC0FD46E5AD88744233 +CCAC20264C6BF44F69655FE2A869B7DD00CB7090853BFE7B9FFB5303286A1CB9 +9C4E2DF4F5DC6E839A82FD7064E2D0A722C74D43CA3FD30A3D7E8BA61E0EC525 +77416D26501AB49305380D3A12EF491146A46A5A2128D549DE2D4021B2DB40EC +DA900AE6732296FB2F730ED4A3D4791B3311E5F1D6FA05D821268A5015A476D3 +894792884579F9739D240D9EB065041E742A09D57E66846BEAA92B0F1C9D9B1D +97C2504872E9790B340A9C6A62E9B2E29D40758F5888125C675900612DFE6EBE +3995414EE465716BE0060E8DEC29792DE0618A5AE06574EAA92FAB3A1AEF8021 +D3E6F0D6518404D3C452E32029C803AAE5B43E529FDEAC0278FD53DC2ACEE30F +5EEB4A5FDCD8E99609DC89B1B1922ED023C9CFC73AB2C0F066B649FF278F59DE +46CF23FC53CC03C1DFC77D8959F9CA38FFF037066428D929448AD1F003879411 +8CB0350CF627224C1DA19B11F8668FDA4B2403548A120BF9CCDE1938A21A85C5 +5EC69D43B71D4C690A198E769D6335758B66E23873B83676833BCB938C9050A1 +63C5E8BCAE6C1024DD017B93B744B39BAA9AEAA2CA49F0030A3B59E1DB2D972F +F55B57BF5F21C9A5F610924F8BC7E00FE01DA8DE877182C958C5D5F5566EDF8F +4D6AE5F6D2DE459B4B28BC3906D594D95B96DFA5E0B440A6390D26DB138FB2F5 +F6DC1C1202371157656A0DC9BC798FD0AEAB0692B63A00B209128E5977852764 +8B635DDAD202A42D358FE8CC8B267C43E860C96EF705F0F1E57D3BBECE582E84 +C7B826085B30941118FDEE5E09416399BA1C211BD5D55130C92992346C78592D +CA62C754FDAA8C7183CE74CE6A7D083936265767EE6EA3E685BA5B555F783BE8 +5B002A5AEAFE7620AE9B4D52D1192695B866611EDAFE1DCCB7631BB0F1940164 +9795E80622743177CF0293F07B7CAD703E778C382D31A81232B7AE771938CEC4 +7F7683878C3FF6C2081B5AE95A02A2C56C18AFF559FE3615AB09BEE63D6AC457 +F2FF94D1FF50221BD0076B3C39E1D68F92031377C1531D51A4765DCDA73AE355 +CAFB3C4A2215ED12AE6F06B14F83078A7DC54908F01DB65A40C15146A30FFC23 +CC934653AD5D748451E18B2C27FA290AC28185BEFBCD97F413263495C99E60EA +78E6ABC4ECC5E7B128F14FD2DA804543F8751FD8FC4A5E7A924C5B72BBD500EF +D14E9590C86D8DDB2EB2E30EAD88D90C1276E9C2291F54B1842AA2C2F55A89D6 +419153377D2DDD15813133FF0A6A8A940B104584DBE898D790BAF5DE705E4D3E +B5730ABA5D9511168504992A4D2F5D53EECA185CAD1B67D60F14C24D3DE24C76 +A3F4B1D7560EBA1F874C537049857677A7891AA4016BD87A5A65C72EB2D876BC +10081E8767667F5CCA7DB71A63203325A02CB6F1AC48FB98476C56B0549F4EA8 +848E4A4FCFD7B8267C305E3527366FA69EAFC629A1FA2F73029E96CF392D35AA +516CF5B0F2B38A33DA2B4CC55602B4A197650D8D2184423EA9467C1FD5E49AA5 +AB9508F2055FE1E3229738764C08B09C2EAE05C43104B0BB98D08D1B843D7AA6 +0CF00EFB3F38A91BAEE8FCBD5F079B29962930D3F096B8B2A6B08A46999099B7 +59CCA7406F5FC87C4C540AB883E3A18DB175BABD3821E66F8762AA6815AF2182 +46536D0BEB42123AAC633674E7FC5B30F2A1331D69D8D4B867056F084C6750C6 +17DD7279BB05F6E9CEF348A952AAF2E00EF2742E37BBB452FED81FCB664D584F +04862628C86A904930B9F1CF857F56AE8E3B4119749FDFE5E0FEBF21389B420C +294D5B34190A8D0592C934DF169C80FE893C6B5D1B373A37C996ECE391D3906F +8795709F6C25546E8DED141A779C3534F5E3E5BA4DC061748BA34CC115D98356 +AFA33D57D01704C0B35267657CBF09146AE8FFDD004DED53F3C7D38593F9734F +BED657663FDF19962205237480607A2AF96997F449CD0D1CC155D721588AE597 +79DCC351F873EC48876E758EDBF2988619A4D8607B3161BC8331B33CA5B805DC +5ECA2D3A2D4C70295627A21EDEEBE0BC273E46C6250D8CFF0C39E38267BB23BA +3C2E62BB61FBE4315E4417C949CED4906F7DF85B8E6FCFE4298582A935382981 +59139E685C56B8EB28850DDFC674FE2E75444A4F691BA195BAFBF0A01A53582F +0FA1E03E1BAAFA927576724AA259D0A64F780823F1C02E9F68564709512297F8 +17F14289E723E7A6A71F6A18ABDA9E37F99043B319FF83E36EE6738AE61CB3E0 +6A838E443E123DEDB9AFA1A3FCDA9E516E5037932DFCC033535D07E4E94BA83C +5E7AF085C162DCA5D6B2595DA44C1C4DF97C48DEE66E9CA191DE8DAEDC0C68D0 +1F6131EBB0444618EBB557356A7F4869EAC52614AC3E2F616214ADFEA0AC4236 +E0F66ABCFBEA1AD1698325409F3496A570385C6B630BA429F5BCCD1716E37CC2 +101DD46750891C94CCF57A65BC3574552672160A6D6EC655FEA055CDF5B5BC50 +8ED4463916AFAB7E9F675E5E2466AAE99F804C8B40D90F9C47C81EAAE643E310 +538E813374E35E40F04DEFF38157A4B6C745A9BFE81AF9BE8D1902199F667B6D +5CB72A293E8A8B5C8D97D44AE76DAE58B8B5786A53E0ED9F9EB103118BF79E70 +3691DBDA449636770E8114C2EA11E20903CC0215A39ABF7ABB7DECF443F60EC1 +74C78E23A017A87C6B000EE3FC3633C5AD5B144A01D15D6BDB2711803913650C +C8426E04B00F78FFB1F97B19DCD72F2CFEB486A13F57943AF3A2519F75C2E0DD +0A1F2E3E9219B83B69689964B811BD2C233172E5B9C923B6BDEB007933DE2CBA +EC8BBC1500165480FD93104E09480D33FDCACC2C7D9170173E94C28A9D9180BE +3CA94D24A2F9B7612DA7E35EB9A0D452CCB638FC214385FE27AB1D2E788D052B +A412006805EBEB4FD8AFB44A439DB7AFA7C79656C743DC41638D686E900C4F94 +E351C5111E91D3DD8E306104CA852FE1CD68742BA8F4620335B96A9233926C44 +B30857EC329C4730C729061FA5130764A9BB7848ACB9EFBE3C640F4AA4045553 +02F6A012CAEC153C99D521CA63FF91B22CF4768F88524410AA2BDD17A04DC90F +E56656587C252FCB81049F76FD9EDBC6CC9EF3AAD07A9256D6693839CAE9C75A +EE0AAB35FC1DAFF4D2CB2A9013474439CDFEDE1193006167D801E9DCFA300A1F +711D47ADA1E38F19A59B2F4EB7169CF0841FAD00195CAFB0EC0EC446EE0CD649 +5A19BCEC2F5509BE04EE7135104D7CCDBCAA97BF541E70995D16C92EE29C6280 +9575BBE3DF59C7C70D208FC5166E14AA836DF84D8A985A447BECDE54279EC35C +3B7CFBF58AB2618AE1AACABB8573FB4561B6DEA51DA0ADC0DFB89E9DC0F7D13B +30F15E29A8ABEFDBF75A1C6961C5E29FA12A4F823C846F486B611338418EB9BB +B8F32EC508A2AE8FD05F878C792E0B1021183747EE9CB1FBCC3D490DE6497716 +955453C6F4307A408868EAA068E5B9C11A218ECE728B372F5D36D32BEB1FD81E +DB0D6C694BB4C41816F84FBAEDFDD22FE57C70CE9A8EB1731E261EC94DCCD876 +028164652E7C0BC5C979CB1B5F5A791C21A0F0DDA98022A8A6185EFB00BB7550 +FBBEF498F4A2E6A432696A2EA1ACCA71CCCAF5084661ADD9E0DDC491D20FC5B3 +0EF7E66B6F65230CF5823FCB0328C26ABAED09C9B82DEDC0D3125910415E995C +05A01C9DD95ACD8669FD2F771B99E4254F0343EC8D15F4621680042746177513 +59E36EA3A3205A5929E94924783C86A7E9A31B5CDAEFA92AB82C856D1CFA5BF2 +23AE26B28B05D7B051A835A61DB510F1CCB152C9A860934648E92841A6EDE67D +EEEB5183D919E056C1C1813907336BB83EE58D2AD4B0FD93C781A1B52B9EEB1F +07F60967A95CB81BE85B08418FB77D61AA2C6E500D96464F509DA5C82EEEEBE1 +B34ED8678DBEBAE6DC18BB9C8BA0674CBAE1197199B05EFD4C3C3C6F7C0318D2 +EB8A1026EDC64B9FDD49D5D343751BF916544DD55B497247D4AF40B240B0CB67 +75D9A52F86CF25CD7AE654D8F71BBC157E72AD5E91CE8A66BCDEECE3A8EB835A +421BBD8E4654860D87CD40D4F9471D07063E8D324A3BC9615D5AA62D26E5C34B +93CECC60A5266768D8E2DBFD5B59E07E2F02DB1B41D6EEB6E71365710074EEA4 +CACC83A107AFE3DEED5F78866C03F1AB91002C744A1F429D5CC48D88F21935D2 +F0A5D956D82F53AC6BAEFF33B5DB39EE1A7F2FC5562D62E11D89DE4AA0BF4189 +96A2B62875B638519A4C52955E6A4A35D0D5BC4A729BF923F140D6D91A056306 +5885890C0F386AD383143CBB76F503A14A04E2E56DBEA03555DB71893EEE4CA7 +B401015316644A322415A4142382A3F16130533E2F9E4B0BD0AB262E7509F508 +6BAF06B3F212FC88D7DEF88DA19BA425185CC459A22F041B4010D102B41E3D7F +B5D927C1396679E90BEA1385FBCD025869F0BD71F0D9BB3D26ABF8358CC835FC +8E2D7675DDB0B59F01E80097D7949B0F538BA322D4CE3210A4F0DC4B7E9B7830 +CB84020AC16BD300A1442CB8EE8601A02CDFBF2A2A30045C4195A62942F930AB +2E672A22C17FE1AEDE0D66B138E32F32490247F231CDBEF0670889431A4FA54B +A2C208E3DBEAEB6A524829FD61C938720DF7C5CC925ADD019301D970530BD3D1 +7CD2AA6605757BAAE198D16B9D98E0FBCA667F7EA322226E7B765F8F6DFE1CEB +59AF3607A62165547A206F19BE4B3388EE23D354A11B3C0E47E61D2B8BB5B83E +E187D8165E9D42E66B20D62357D7EF055954A1226C99FD516ABF2CE7CA0AD477 +E96A65432D4447AB3F927D9953C7A442A18AA579D76E3605689B5DFB9AA49018 +9A00683EF049D33DADF31A65C599CBD28F7AEE79C0BADE1E759C3021D7360BE4 +3F90F481BC8900F16CA119E8CA7B08F8847ADFDA752E01937E9A6FBB6297C280 +9F6CCD8732438EB964D6C81E6150F39096ADE7A61CFDAFE5DFC5D1709E640C42 +1F48CC03012328DC0DF8119435B0458FB943FB4D23CF61CC52B3BC00A3A851DC +E0613EF5CDDCC8EB3B921D24E2B714C0F6BE78BA7F8C15ED66D78A0C122767DE +EC59BF91E52BA0E196E3FC6E4B42F7CA8EAE142160E33BEC00AF41BA6E228424 +8D078C158283F81ED55E7FE1599C034E36BD21E1ACD23C86F55F472C156DBA6E +F5C315E746F6BE38DEA0B02480641B760AFD9FBC41B3AB02717AFD29B7EBFD4F +38C9BC3A3FD2E1D496FCDB36A46AEA91EFC76C943770B6EAED626AF9BD779DDB +6548527C12E10A6937A636BCCC3D41B3C1B0A0DA27D098625CFD3415AED9FF6F +B2D04B3E1A32F10854F41A7F7ED395948BD5B23524D3315A636DEBA2237C1A60 +E707EF33B6742676DECD7765C344C2091CE107F6180B65B2235CA2B4AA8FACAB +3DDAFA8863C7C28295C518BDBDFE31515FB2E1C4EE7FDF4AECA44F577453C5CD +D225E316B64F4CD160E626E1C1BC6BB429B528317FB78726C6AAC89C08577659 +4E7B629626A023E35640A8B3E804F5C25414842B293288E0762D6CF05EB5A04A +65C2855E0FC17E9C0DF63F1509CDA1185CA421873899F7677441A66D40DB57A5 +53F2CFF7E5A32F69C6FFC910A540D3DB87E21F31B728F3CACE803A5B048DCEE5 +7BFDB576EDEBE2C57CBCA9C2A83A1FCBF08BA22C96B9D7326AC23AD017D025E5 +9D3B8725EC343FD23657E8DED77EA04D151B8348A3C8D289D7804E6266DFDB93 +5B47670CA7DD8B25FD0C2A5846726AE798C2692DC01E7FF96B1E0C5A79AD1344 +4C97A047EFF19B921DDD95D48E15E23ED3CA64C89C758C7DFB2CC6AA1340A6EF +7A226722BB9AE5905F1C3B73F3F5B7F6FF50588F564CF6BDE50678D5C4B0E700 +19A63AE110A6DA028084E7EFEDD78BEB7BEB8A75B7D7855F042E5B8B9808DFC9 +FA033DD5AA6A17230C4E8A995E3903F4B2AFE860EF4160892E275D7F1CEEE7EA +37E229F35140E3C1880218627BE2D7283D0E4F1384208C706CF3EF7BB79E2F12 +1C0BC2A4AFCF1EA4D2BF35BF979B31BF0AE2AFFEB9E1E5D7C72B6F64448F72BC +13D73186796DE786C8A505C06A1B49F810866A15E30BA3C71A98FBFA1F801BE6 +5435FD1F1980099E9DB3137341F3A8A3927B2E004590349EADD73614B235B6BC +F515F22B35ABAE1CD9AC21C555CC0D75C9105A9BFC5230F54797A04E96D0B218 +0ECB6F2A8C3DCFFAC996874AD4C7EC8C6FCB632C3EDF43F0556611293598F00C +9BB1EE5DE39F8750296768CD9E393C6E35153F40988E950AFBFF2646E978C960 +4199AA76F6AC2CF981A62CD16C7E89B21EDFB0CBB0D990013A8A0B30558BB14F +7D30588D49F2FB26049948984BD316F90E47BB33E082F20E90A4E97227246B6E +541E2CD4E4C7A20B82528E177B6FAEA95AC58431B3D6A697006A33EDE8F169B5 +6C55BC84FD7EA87833A0459EC00C9AF3F043158F35EB83312F1502C99AE6D265 +3CA41054B7E6D9149E18EC76630A9996799F1B34DC8120E645C7044BC5DB8A78 +7F241D18AE9F851C3AB9F69AD63E0B118FA4DB2663EC4116131D7692928A361F +4550BDB68A7F4809014BDEADBBF6AB7828542E933E463E6FA5694D789586108F +565051104044315BD67769FB9101A7811985CF8343E5C139E93B437AF710DFBF +FEDD5C0A84A4148C9ABF0E6D1539F6615384394EA9F0E1731690D42D17690A30 +120493198991C9031327B40CCA5D5EEB28D7DC63C3F9AA8463E0462DC26E9AA8 +7E5D3EB0D16D54010D2563F2007D29B25E58D3E8F5A5BAE73076F523DC857BB7 +C1251865FC8ED1EEF18F12C77883D34C2895FFEC05D642C0D1F2616D8E7789A7 +5642B02255C9A921F83084CF3D5E1211990AC3D929CAF59BEAC926445F6179B4 +9D5C82FA62B6BE8CAAD7C343661EE481B10B0C4F9536E64F6FADD9EEEDACFCEC +AC15E9BA4665EF023A54078FE9E6EC27824D6615A706898D8FEB4C8C013E32BC +66348A832B5CD997702F1581673783BE1A2E4CCC50891165F65413814F00316D +2C3CCA794F5C0498B1E732D3120B12D6CEEF6F5393B6B11E86699E30F6DD7A82 +E63D9C9D0A0D6C2753CA18DA7E67A882B751CB5C296FED2AEDABA6A5E2C72420 +4A75BF560DBD6E8876E497B2DDC0994159DC5335E9CA9086EDCE2EBC80EAC580 +CE89B584FD64ED9D30CC5D3874B367F9727678C35A3918AB78B3B85A41760EF3 +10AA4C261FA41826E5590844A67435673F3872C930EE7A4E09DC9C071448B200 +85F6E3501615A57DF4DD3CB6AFAE404C3750657BDEFE9FDCD0051FC495724B47 +7C81990D74CE10EE36A2BC532591319A5B49ABCE51721A1E5761CFAA165227E0 +5187E377E03AE35ADF3BCB6CC26168F5C2AB44507D3E2325B93ECA5CBABDE515 +E670208ACF95FCE9201B9023E6D8D863BE866BC435796D19E41C72ED7FACE14A +586105FF31220FC050FBA84382F94DF41439D7F95D68EBD50289F32562117FE3 +CD9720B957253E2386F4B899D6559B7C12666D7D9A6E3384589B500FFE82B8D8 +97EF3264C4432216CFAA069B12999CCB120525AE0DD3763F5A2A6FBC0AAB8D29 +58BF9ADE50737AA06F84E649B855EE986D2B12356A6DF03AB894CA478C9CE4FC +74F9DE2C6FADC03C50B6CB89031F2EFB47A2C764C6E074C1446832DE107CDA0B +5DE77956E75FE9580828C4B8F71B888571ED5460D2BDEC7383F7B8269D219D08 +5E982A4CEC819580383E96D68454060C5E60EC0D48F7EF113A0D9D8215976CF1 +CB252172EBF79C6B7F460EA23FC47BDAD78F16F21D43D2BC2AD80570B6393B2B +FA606FAA7809CF089FF9FA9087292D46720DBFF5123B8A3FDC5DA29347D5EFF5 +3B68A83F3EB710D4E22F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2298,239 +1385,70 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMSS10 -%!PS-AdobeFont-1.0: CMSS10 003.002 -%%Title: CMSS10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSS10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup -/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMSS10 1.0 +%%CreationDate: 1991 Aug 20 17:33:34 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSS10 def -/FontBBox {-61 -250 999 759 }readonly def -/UniqueID 5000803 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSS10.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSS10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMSS10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 40 /parenleft put dup 41 /parenright put readonly def +/FontBBox{-61 -250 999 759}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 -63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 -274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F -388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B -E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D -AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 -154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B -4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 -29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 -CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 -C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 -131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 -302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 -F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 -AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 -28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 -121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A -A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D -8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 -69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 -BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 -C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 -B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 -8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 -161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 -F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E -A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 -0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 -D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 -B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 -DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 -261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA -B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 -64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 -F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 -AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 -CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF -5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 -73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 -A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D -EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F -1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 -D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C -13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 -C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 -08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 -B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 -23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA -56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 -2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB -DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE -3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D -5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D -9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 -2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 -F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB -73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 -B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 -11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 -03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE -F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 -5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 -60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 -622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F -BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 -C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 -8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 -1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 -F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F -D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE -257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA -7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 -611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 -246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 -E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 -AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 -EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 -0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A -94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 -73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 -AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 -8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 -5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE -6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 -B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 -129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B -AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB -8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C -B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 -753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD -A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 -93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE -207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 -3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 -7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 -D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 -09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C -5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 -B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 -E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 -C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 -F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 -7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 -99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A -96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 -1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B -48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F -4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A -45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 -D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 -838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 -5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA -ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 -DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF -E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 -5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 -46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D -491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A -DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 -F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B -0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 -EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 -E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 -0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD -ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D -8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C -8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 -A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 -4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 -AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C -2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 -14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A -647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E -6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 -4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 -D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD -60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 -4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 -BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 -1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 -6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE -65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF -D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 -6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 -85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC -7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 -BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 -9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 -6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 -2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A -374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 -39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 -AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F -1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 -E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 -AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD -B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 -CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF -9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 -DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 -670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD -99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B -8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 -E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A -F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 -DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 -99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E -DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF -51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A -40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5 -AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977 -DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093 -8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2 -BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49 -BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E096517A -0CEDD60F43DDB684BC6E4C3F6F3D70BD58AAB5052936EC4ED7140EDE795223D0 -4E3B95161D16B0402EB45FE97ADAFA0433FCAF55E22BD7E4AD2030D9DC86F55A -8D7EA00901EB1351EE8A0F1BFE75CE46DA4165D78043F8F0741D4D9DE0CCA00E -5F7D89A849AD0F0CEBBCB948613028CFC39617FE9184753372C375A9896F5F1C -7E24255FD49D2109CFF9ADD9A118CA47CF58975A9CD3A960A8A08A078B98A50E -4DE619C8B2D3E15938C879D785539445AC468AABD6A6576AF0E8ED368A9350EC -717B7D3BB55AF58941B47FF639CA2946028CDDFDB84FF0060D330DCDEDF13BE1 -FB1F743317C15C7A9F34408F5FF7CD9745217D9B809DACDDF7DAF9D821C06B37 -25738F0D20F4A86A079EDF71583A9640173B3EC529B98899601F0EBDFE45BEF0 - +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9 +D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858 +D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723 +3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6 +0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348 +44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8 +46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13 +6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5 +6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3 +16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4 +1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED +286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872 +A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477 +713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C +3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE +3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5 +034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185 +9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A +12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA +901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68 +64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5 +A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0 +1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9 +342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007 +6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F +107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5 +C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102 +65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D +F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B +A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E +8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6 +44748E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2540,41 +1458,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMTT10 -%!PS-AdobeFont-1.0: CMTT10 003.002 -%%Title: CMTT10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMTT10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup -/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMTT10 1.00B +%%CreationDate: 1992 Apr 26 10:42:42 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTT10 def -/FontBBox {-4 -233 537 696 }readonly def -/UniqueID 5000832 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT10.) readonly def +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMTT10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 33 /exclam put @@ -2672,671 +1574,486 @@ dup 125 /braceright put dup 126 /asciitilde put readonly def +/FontBBox{-4 -235 731 800}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 -7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 -6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 -14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 -0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 -3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 -BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F -D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 -FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB -556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F -8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E -F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB -B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 -125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 -A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 -4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC -56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 -E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F -15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 -2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 -05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 -6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD -04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 -C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 -70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA -4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A -A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 -62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 -240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D -69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 -ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 -121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 -0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB -D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A -0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 -D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C -550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 -CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A -9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 -FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F -7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 -E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 -50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A -2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 -9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 -44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE -49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 -385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 -8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 -6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C -EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 -E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB -C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE -484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 -4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 -0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C -6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F -5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C -1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 -909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 -BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 -CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 -2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 -CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 -EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 -0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 -9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A -D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 -21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 -7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F -52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A -FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD -AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 -F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 -067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E -E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 -C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 -5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B -0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD -CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC -2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD -E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 -56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 -F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F -E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F -0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D -67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 -EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 -CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 -9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 -9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 -C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 -327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 -F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC -60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD -A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 -B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 -0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F -1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 -DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D -55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C -7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E -75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 -E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 -8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E -F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB -8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F -D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 -54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 -49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 -CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 -34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 -1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA -6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A -DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 -E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD -4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD -2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC -ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 -3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE -97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C -FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 -A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF -639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 -D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 -E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 -1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E -A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 -F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 -5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 -4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 -664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 -4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 -35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 -1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 -01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A -5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 -2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 -DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C -BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 -39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 -C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 -99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 -7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE -D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 -6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 -5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 -6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B -F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 -E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 -39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 -7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 -ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 -6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 -2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 -1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 -06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE -5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A -288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E -7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F -759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF -E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E -03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A -6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 -314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 -74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D -906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 -673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E -A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 -931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B -CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 -E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 -4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 -2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE -F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B -E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE -E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE -251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 -7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 -46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C -E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 -DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 -F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 -507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025 -46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49 -2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C -C4A879C0C7596E61997B972E8A55E57B17F802C738E5C7A8FBF6424F8B131B23 -CEE3EA3747DB066246C250EAD335A76FA166ABF75120CECB59076AB31A51F176 -57176CBE8C802A97B0542A5CFD6D5E6D7EC848B923012E45D9F065BFFA0D03E6 -788B68BA4DE51DA37994948F859D41C28BA939C3A82BFDB44DA585AE80B8CD7B -A6EEA79B70BFB4864E06F06A9751BD2D2A209D150D7135E0A25D67263EDD2A7C -C63B5B76ADB05D44BD5BC0BB3EBCE2E74E1AE5F7DE07A59D90C932DAA2553505 -27F2AFC05F7CEB39E1C7E54F69FB0BBB069959F2FBD11709F8E81F6E7CA06DBA -1CBDD8E7A78487462596DA288B50B295E46F4C3D9BA862688C68859734B232A7 -4B371D2BD786924F186524765E789EEAA30B20C069322D42C893A30BF1BD2C46 -F8F3732DDFE80B8FC1789239345944D8B457824FD80D11184E73FBA30EB80A9F -2FD466826D4E666E3A835B98A1D4AE5D17053A6A648E26E77BD08F9A3E02956A -AE82C4929E9666F539079846527D0E326FE7CBBF86E3722BA3E53F8A5121080B -ACF8D3C67A2A1DF624B9DB92105D3C833F5A6ECEC108E026E1D3D968967A1447 -15CEFDD09123D56606134BC3449404ADAB1330C9238DE48F3CDFBC91EB86D7B3 -8B85B5BA97376A0673E434DBFF19798EA90BFBD94493E2D21976F8106FC0C276 -C81C9B9F7D4A68120DDA56FC6EC65FFA40DB78A60A05EC270A106DEEBD2CB92B -F0622BD2B1D43771DF39AAD3ECB655F317AB483F7290C148690903AAA636583C -99DE3DBA99EFE20773D3D8DDD816A28D7BD8881DE570BAF5C7A30679179E1214 -FCFED81605FE56AEA21C1894167F93D648B474352A65C0756F812F97AB435ADD -22C031A21714A626DE35308AC51CD676DB1748DD2773532294FA77CFB2AAFD32 -A72BB7A045F12B4934A768F89217233DBBD69B900B28492A26713CA5D61A9042 -A982CB071F1F875718FAC168E4E275860DB6369B8114E1BDD4801110B62C3E3E -CF140554C826967A99F4E9726526E87D57BF845CE38E33893E5F9788769B6A4B -A4577C38C8D45AF2EDC9F4FA7DD9979AB8E14FF5D8956233AB4C02982BE8E561 -C63B7BC314793F634DB6F086E1A60D9FC3B69D3A7C20A99FBF3CB028CDBCEB60 -E803C8DC3C5F0CCAC030905E72BBAC052520CB0E40E23B46B2150DE67F61E4B1 -8C4D55904B7F90DDE4A4A78B11AE1009DE46DA396791B1C0EA63FB6897FDFA0F -42474042E7E9B06A703A7C6E672AC6705506F3C0B6861BC85CEBB9DC9BCFDE0D -43F5248CD7CAD4B89835BACABBCE6C791BC35FE7211E775C009844FC75CBF6CA -DA6A6B7B488270BFAFFA3E9950914CB0F88C8AB7CDEFD2FDE11ADA7073037EF3 -1A5CEEE37090F3A56D06FBC70597907A26498593783878C02722ECFD5D65903C -7D421CAFA78924DD27756853568535B02533C3393183D6E30DA6ED4BD6582E09 -A5A4B4404EC452E91CB44515AC6124EBADAAE8A98D8A95E7D14DA39951EBC461 -D426490071462F246794023DE1BDC04AB0F1834D50F748C3C60A07E1FB8EF400 -78DBAB90B59500BD1232A872ED51928329CC8F06E83164FBB2D0B24222223EE5 -992241E8E00D5DCCD6DB9A8E2325ADBE12FC8512AC127BBEABDA739672C1644B -554850CD75724E6779A7E76424CAF89E9455860E0AE2679231F4A535C0ED4336 -313717D6F7A4A4DA833847A1BCFC7BF99234FA645F2B85C9A9AAF7108931E3CB -077A9C571E57B0D7EFD92B56C3AA4FCEC0BCAA96005E649AE8012366BE6E62CD -9E742F8F45AE4C96BCD73AD80AFB6F061D629ABEAEC3018CFF45E41F46751953 -44E490B1355DC49C1E10BF343307263584091D122ABB1E3892E532B6DBAA105F -CD48375C112331EC5DB49E4D4CE2D126C9274B21E678E5E3EAAD4EA0CAAA29A7 -86FD8819217B195EC6E40AF23ABCD71156656DAD38C931C8730715A2773DC44C -4DEF14D92C2A054739F27D7EF349A0EB76D952BD9BA169B4F85C09D80984D232 -2CB4A3812BDE539DC79E2EDC7C221739D16B10246A5F57151C210878556D4176 -31EFF3AB6C4D78C4F0DF81692B3C9BDE4F85242BF0E84BACBFA39688BB222A81 -E85E9CB332868ED5B64E140C66E242B97A90C13B6DFBC3D285A49BA9D4BA1A47 -64D83577FFB50BF974D953F42A249ADF9AC228CC4D8E82213FD463BC757AFF26 -DF4D1678FBCD55AFD5FB3014C0380B2F8CA9D6400DF2AA041580A6FA5694ADBA -674286F00E531693DB28F7C996D5A66F80AAAF53001EDFBC065C72FA5BE3F114 -1FA3354376AEF7374AE1D0A8E9B06C58FD029922164DC9FA09343FB6652232E2 -2EE34C662F0092BE479D739ACE775C6F589775DD768B736F7391B9AEBDE7F760 -727702E145CF749DC457B2E98A36C52416107B1E59084B5F777B61511B8D17AC -88386A7933CAF852CA23FE179B67DF8DCF15800755605847ECC0FD77873727FC -1AF2BA8BC75D30E26C40913771E528724FD7C5DE284A8B58AE55A5C48AF26AC8 -02E155B8FCD6755D8F7F5A6F1AE66E4D24A13567B6463B18E65972BD75ABF732 -FB41F87A62FECE9A50C697BCEA1E3B3DF1E3DC961DCA598220CC746326F85F83 -72E803A4E69106EC5BCA01139F92171DBF9964BBEC8D3370039623CA1F927CBF -FE7DA71B04B4321EB4D3FCB27F8404994CC7DE5F26AB8FC019A203D6DF2F449D -85A4F103F7604986A1AC1F7D05D239E728FD6AD1DB5024B0A0542130D2B0E7EA -4432F910F9FD75568F5732EAC95F7A87CEBC359949C26595741533E952327791 -87E42DF84E1064E1BDD3F5A6455087B8E9C783AB9ABBCAF032E9FA32C27ED7E6 -CA7E3D1D76CD1905166090BD81A85485B9B4E976DB2E19A8E62EFB795FD6298C -9ADA57D5BDA2FEBB227F0EFEC59E4B51E06B8358006F9D79C1EFE92510D6046B -6AFEEDC793137DE622A8B3F5C9E3B21F29A98A589D9CEE75E348FD4D206415CE -508AB95A7496236AF1F6F5ED6B3ADFBAF1E35B51484F9B1E0C11C5AEAB9336F5 -A8861ACE1EC74C4A145A64E4FC8F6BEB3A16B021AFF4AEDA59B06326A8D7FCB3 -3B75F9729BFB7EEEDA8A1774728C80AED40BC35D42045E5CEEBBBEFAD2566CB1 -AD69A9A972826DF0F2303BB232367E611C115E8955DC97779B1AF269B84574C0 -9D816C88BAE3AACA6428CFC648FCF0869AD9236591E3B8FA326BD2EDE7F97286 -511C75F4EE4F7B4DA33BA2CE7F778D92AE7C1B4844CAB3ED8FCA285454D78469 -1639D24729E8002E4507A114407DF51543CF7DFFDB7E05ADB2D36E139F2DBACF -D90AF274AFB3E5AB5B38918A28EDFCF6EACA78248BEFDC2FAC0E041AD35B1240 -B33191F5397FD09BD2B23112C25D27233ACEBD728E9B2D6ACEF70F13DDA614AC -12AD845A43269E2BA323A9051FD2B5C539F417DEB625465AD2370DE58D4E0C1C -90DDBBC85CC416287B4FD8DE7F41085412CA5A1508A9A383089690144F4DC4FB -B64B7D3E1AFE43B8CA67E55244940C3C3605E259BD02335B0DDA6F022D585A7C -4A98ECF5D52756717DC98BDC5FF425948858B33C58D1A6521ACD41B381CEBAA1 -C0A3AA55193D46F5962C2C7F26589F5888F3A2BAA0FA4206601B580FEBADAD8C -34CD8AC20C07D8232B7E2EDEE184FA4D901844FFB3E8F2629CC1462B42CDA11F -FDD31DBB41286064731E0D0677CDB3BF5A61BA4171C2A79FA9E8D667FC547BEA -9571408643C4383979354C214CF6C9D8971E91D944791F0E6B2EADB55E4D1356 -66A1D81D0B769C30E3E7672B22170177C015F8B9657663B486648801252DBE96 -AA54E5068AF986D8EA010E158F07F0A3140FE739BF702ECCBDD73F65353D300F -50FFD9536BE94A080A36C9FB22EBE3E60FD4773B6BCAD134DCA14E30A7A429B7 -23035AEB6C8E5EA7A79937BA62F3B99BE1D0E72D2398C52B32E55823AADC7CF8 -DE4435F908959FF59420B4038042746132994A046C678FB1DC065049E1E5794E -DC638D83EE32D6423E07B092D82CEC388DD63E05E9ECBDBDEEB34A56DFF67D10 -1113B0996774C5EC465A774C371547440A4AB91C1A64419914ED7D27F7175331 -A0CA4E7F6E85D9BA778C26AD642AC9CAA66D8605332DD7EF702B00E46CEB58A6 -D51573013917544EA4219777E83385E3DF69CFA50DF2AC71C64036CE75E24738 -3A2E951CF750EB4D28EA85F95B13C30825C273091A568A69537BF03D70272A6B -1E47077D64054588403AC984B9A80390C866A2E2DFB498064555EF3D4D531D10 -669C3E830EA3E0067B5677AFA5BD29C94B5E0893EA14FE874B911DB192F0527D -646E7206F79859D5E6EA4ECE8B26BBA97BB791BD7DA4F7F7CEBCC8B04D00D920 -6D2E4227F997936A16C683A0AE11F059109A2E679244E9776DC9C7ECBB0BB73D -D9A149C90BA2C69AD26F9F900323DFF9D04779F53AED156C8A8647FCE57DEFFB -863B8D148E6722A9077DD3F50DF532094874AC6682680AAEADB785FEBB7F3B12 -1FDFFA94A4BACEC70943405DB37CF6E9E4C7EE51977A803035E06AD0D3B43734 -C8B07ACCCA764DE24A841023316C84CEBF6A2D86E6382281856D8AFC9BABD871 -3BE9E6B1F99262A2BC0C99138A5049C44F2527B02E07E40B9727017F30E59AFD -9EAF7590517673069D0D5D399446C5D4DA1996CEE93112B322C35290AE4C14E4 -B651FEB0CD3C9A845F5AA9B6C6CC7548895DFB88574F89AE4BC8DF6C94084367 -40ED5EEC51173B32A02B6DA16353E91D07EFD2E034DB0A4B57608EA80C56D975 -9DF0B73BB12A1FC8FE26C7B5486C971D89217E6D45760045255531E2579830FB -B4984CA52896E88D964BC91E1CD3B3CED5DE4861F98DEAB97979BA9A30F100CA -027362CFFDD972347B466B295D8244F99EF1A929E54F99830FA62F0A11D7C279 -D5D76395F83D12264B50782207C957324FE35DE6C03C571A0C0E06F1AE3A6C85 -5F8AD72CC806E2EC0BCA6128524A9FA3EF41B372968B0F4D4CDD2B5E5C4FE3A7 -27D0EB547C3F34CA3BCAD92FFA62D761F21C4B213C9529C60D4D83A4AC9BBFE0 -500EDD6E1F22E53E1ADFBB8D1A0FA4D68668E7DF7DEE87CC7A6E55AB0EA91178 -3B46465E041B262CAC2C775B6964AE59F1352A98F4F6D6FE648DDA8C1769A333 -0D35A6CFD30357BC2D059D67ABF7E1A4C78246AF7E9528014CC2D36E12379284 -C17974375E1E4ACA37593C07876312F2BE5018E71F85E140BCC45EB4BFAA7CC3 -0FF2CAF72A76A0788108BE53388ED11FB521CE8C5499F528ECA91F2A21EBD10C -1F26C0D816DF93E840052230356507BFE615320D7C856332A9DC966AE7960B19 -95C50BFACDB6E824E5E05F6F21CA855CCAA7991F052F222DE81361C6CCBF9BAE -BCA4BB3E293FEE1A4ACF635AECDBD204EB5AD40926DE56664B67751E90289EF1 -005DE6AEA7BB788D5C1BDEA4D2626A0AD6FB4DCB5D4F5FE3C3B0ABE2AB39EC39 -0C83EF5DD92D5458ACCC7CC6C23E930E60CC81636BE65CAA56A7C552DF3AD090 -F41C8448DBBC4785B2E5359CE5F4B5458E0F5D5BDFB191B5E11D166CDCD979E5 -71B494C2AC013D908F0786751D8E4921C8D3AFF9A2640371F0037CDD33A5B239 -5427A3F13FEDDE7350199E194CBD0D0367A32B654893961B696E27248EE1FA2E -D4C6128E66526AA9EFE0693BADA6F4196A617A86AA1667503F45B430D50D2187 -1922575245D78C0E696E7301A6D4C9A2BF81FD0294459432A5B46F334A1E9CFA -D0EAFCEEE0127679E963B04EC13B8C81380E5F68992E95314062767FB1A7481D -C7268BDDF0840C1BA24B08335256C46FF042661523EE084DBC7F05ABA12EB45E -BD46ECD92DE2DDAFC372498CBDC82A51AE32A4E3AC7FAC9C2B2FCEA14C18E2B5 -8A2182F6188B9EBDEA3F0288071552D838AFF8F28D41E13633EEEF3DF8EA106B -78CAB5C69A6F54C5CA0600D151A5FA476183D2EC55D4AE76E856BFE0B91A8A75 -6D9FEAB2BEABCABDD42BA4FA9EAB6335D036B99C7E345632F2557C5AB48093BC -2B01BEADFF47D830F7F724A305C4DB87B0F44C29D460FC45B1525EDCCBC9C566 -CC6434A2A4767FF5A35E0094097E9A0CE33CD9D09310E77F84662E4870C64BFC -11D2D1E263756EFDB365A2F6C9EF4E5FB1F493192F14F6CD68C35AF59AEF138E -60665714C3AAB84BE8A44AACE61A940B2274EC6E48F0DFB2E10870A423F84636 -8C6C1F4EA85F9560C3190AC388727BE054B2A8FA80A18F3309CFB0087553CB4B -75A3A01B7676B26E92C11B85C7BBC51B8E7842877A2C5FA7CBEE7CDB00123789 -6159D6A49B0B7D5503C2096749F69526C2779388AD5CD2675B5087B5DF61197B -9FDEEF9AAE9C98B8DD71E5B2AD45CBE9C6CF84E39CE3B1412895A86B6A016279 -EF39755F2F1F045B62CE8EED13A9B05E445D2C8B781987E5DD891070AAFE3F8E -76F9B2901111D4094DED65E0631AD91AE2A497BA0322EAB3978A2405CA6CE376 -C1C51461BB73B990EDDDDF66F4C4AD9BF1F403AD130F104D67A7781839273653 -181EE49022707C03B0945C08271CAAECB922893F0050270F2BF1AFA776C78DDC -F2B55A1F80184F2A26D230D42131E91A53A536B5238D2702E8AEA9AD5CDD9E20 -D13B7D67EA0C52E48B6FB033D2BE976B2EDB855FEB8D9BB4BFEBB0A96867CD85 -C04317DFDDBDACEE413EAFE6544CB5CE9DF41E99AC8F9945D8E303A1E86F2AB6 -A12E5E79185B7C1DFB6DB8FD9D6F93B34165F8B88D3993DF034507AFF20DBE60 -72D3329495A1AB31BA5E057D40C10BB6B0B1CF50F1D07F748531DC0BF1011195 -07428DB85302235746CDA81DF9D05F085EE1E452E45FA115CC80E114E4D1F5CC -36C6266733E70CB2EE8C9FA7F641A08047CEB84126E1B8723F6A19B637D2B4CE -E73281E6AA7964DFFF6002BFDEB7D206DDA4BC7CCEBC5FCAEE8DE9C3203ECF73 -56082B0B67F2C3DE2B7A30B839E736A96CCC8F10515C450389C37EBF7316889A -602D35C3DDA74A5270D5C280CBBEFD3ED473D45E068EC4E011E4DADEBA005914 -2DE2C0854DED8C7DF430FF29F3E454442645B646A1718796E9D5910271F088D2 -522DBBBF002D5BB08A129AC2F716E57D31217D6186E05A410F634502EA74C7F5 -8A1DBB0F5B35012291FF58700C3A41856C8351BEB4233AC8FC879D0B1CD0CE1E -CE50742ED437BE8F80280AEEAE20A7C7C2770F6AEECD7A9F9009207730C6F05B -42ECE0F1B464558D7487F5143FC0E1B7EBE675BC48A18C0C34A99404579F99BF -ED16457F3E0C800434234257AA531955833AD900928626C993955299593C8495 -B084CA0AD01EBDDE91E49EE562C961D3828F38FF1B05D977DAC40742AA7AE4E2 -A153C65511D055BA412F67425D63B303296F3B9C4C4B377099F265646D101B4E -117C63F22CB46BFF21081B885853610C36A2F5BE721BA16AD203F9167F60B7FF -A83CD5EB56C2FFAB222A1D3B9210B8698863158C6848F0FADF096831557D9B81 -A0061BA5E1BBB75FCC178EC4E5263CE0FDBCED4239012B64808BC85776D70835 -F713846E6C17D92E80B8A1DFED2CFFE0962B5FE2FB7CC764DA214977A03EB01C -CCB1CD127A23C5486A8115BB840132B3D568D9EDE75B7A0AA814ABBC47854FED -7F75B0EFB6A2C9B19CABCB0334F70451A7B03662DD83ABC273D16D79E801718C -7DD2B8D033AB828E9D80023B1024E377295E7A660F894F128B9380E57CCE7DE8 -F842F80F76BCBDD52EAEF474C6F368DA0B30648C46E13121652CE16AB55D78F3 -9E15E6210751706E6EF3DDAD926FDC49C13CCFC3436C9B01008F8D656C0A2111 -8B21119342A600757477D5AE24F673FBE2429BA7A0BD4A3AD41ACB26D732FD54 -BD3F5499F4EF2CA22F29ED773A796AAE0E8D05CBDD3A56EDFA1ABE8A8E3C631F -7CDB0DB86B5D7345C7CEBAB208702C6E19D0ED09E26980AAE57BB17CE2A98477 -4628C86F7336599DC729B04C8C5C4F0E908D6135434598BA3A1C594B46832E3D -866A992F4382C00C928540FA636C958C807B2BC3CD4BC1F7C6A79F8DB58A9722 -CD5D352FC5B0B8383ACFEE3BA2072B5A66A5858F4A7CDD70DAAA4A6088CD55F1 -561872587AAE330EF9E76619AAB72744C83D29A51EB86C057D0F5972E5C31FCC -4A34175C47ABDFAE5311D2318126FB8F15AE8A40E609CDB7ACA07431DFC2DD91 -30765EA0F2DA53F1C9C6459E18645FF6BF92FF9918F860151D1C53E8076239BD -1FA4F932A7EA9589A439AA3793B4F939AA349A2DB6F574CEFC3F0537A18CA734 -6CA31DEFA1F46A0D93B0A8092E176ACF3475136F03D66506E0B4814E0DEBA2F2 -0640483BB98FE5AD51457A49387EB6FA7CB464DE2683DEFCEEE7754322EC3D75 -BE93657480EE0B205EA0764C411F2957048D84137E27961DDDA720B972697AAC -07A00FAD82226F92DCCF48E9DF7BC311D9098D9BD2069BB306449EEC97FFBD75 -202C13B602FAA33F29675411D738AE1F3DC5C97641F8215E8ED4A28904C06387 -EEB28B2F6C0494289228512B76CC04B6741C6076C4FE2C42D58A28C332E9FDE9 -289001D2BBC1A8790D7F1FAC88E645E1D3B50C1CA28B24A31E14025679A61250 -67BA993BB3F22CDE012A9CEC30F66DF165A53EB4145850535DA2E17F27E7AD30 -C2EBC274B6D9388B8B58D7BB242581B22AB5ED916276841540EDA6001252565D -E7E0FC7B762602133B335FAAD00E9690F90747675CE69B17A789DC774D8009FE -D9D4B7105854A44B634A56D4266E3AD008A1F78FE23FF876B9F8A640E2302C70 -AF50667B3D4B8954D01DDC88BC8140462F22B67EDF59692BA9A70B1E6DE915F7 -429567A130A730A359F58388DE4EB4382EE07D03CCCE3FAE0EA6391A05A3F255 -B63DD8E4EE1F8FEA91F96EDAABD436790E0DA067F0662CFA8BBBEA3E434171BF -790C78B3CA0A3F4BACFBEAA9B18E5FE5B266A3AE06B85400A1B90902EFE6BB8D -76D07EA68E0AAE52FB0D6B15660874A3CE6AA275FD279CEA98BACADC5869A3ED -0E11200EB25B9760D1795B7B261C9144BECE83D37BF4C3FFAEBCCFC3554D6CB9 -40D9E4F20333CF18582D379942940574524B17B767B0405722EDBA9A360D2C14 -C4680EFBC0442D6C35B5C0DEFAD773793338EDC66E14A05FC87F7A38091DB3CB -0EF6D9F2AFEB4356B5E024ABEF34EB7799EF3A658BB58F6FB1D43C792C3816DE -A1A41493FD6C4FE088F02379292015FA9CCAC621CEB98F8709AADBF331027B17 -B236BE24CD7AE1F02DBC0064D65C26C3C0929DA5713DD9C0FE39EDEDD24C4417 -D36FE80291FBDD3245918CA105AD4E52ACA28BA901ABBE8D416A53A412921112 -AEE6120650FC6DA122D1B82738BF5A127633BE6E2044F0104614AFD80315251D -D086A8D2A91C87A545F61CB01CD289CFE86ADC1A5DE5B1DD7F2EDEFC81927F3B -0DAA749D888E4FE9B6EA80B3E0A2F5E9721B6F81192E021E2705ECCB1F92AB50 -D51064B847A13AD0F32B1769102B0531276D47FC621D5660D4436DB33E028F9F -EFEEB9953010AB8660E5C9F531E242D7873358F6E6B713478FC40CB42B9A7D06 -40D8558706F5A5628BE9842BEE345E759EC581ACEBFD70A6CD51D412A810C00B -8ADA276E44994D72AE69AA71C61D1FAA8456710D603D30B155F6AABFB76DE963 -386AFEB54E41E450C65E6F0C0979855EB117AA0B50E8FB8C02F2973CB5A53C34 -D2E7ED301619A8325C4F085454D451BCCD02F46AC1129662EFFDFBC6B4600C37 -A51490A3619DE5ECA9003AD60D601154F03B7053A8CA9FF2134C5F2175DE2120 -76226AB000F940193F4D0B17EBDFD9247B85FE823DE740CCBA6D0CEF119CE48A -44AD0A5EE0760573119CD4EF9FB0C6C81C6826A24B88B3E3D878091FBD73B117 -0F8A875A96C13E2F328C28A482C250DC5871C5232F3AC55CA4F231C71DF26715 -0585A2F42DEE145A6987ED34593DD1A62C731D15BE51CCD339D52845AD9896BF -90DBE789D5AE81199735293C113E5BC6BCCBCE4D9A721EC3E4DA08ACF5A4819C -986402BFCC14DCBC35FBC26252B9BD83BCDB7AFA4075DC58E1CCB295F542F303 -FB0A8F54063D40E435DA18E845DB2030D62BCEBAFBB972608132584E6D484E06 -1FD48230B808A8C67AF8AEEC2C48822C588437DB547A734A7169FDA7A3B347D8 -B59BF7447DA941F25E502F0C3FEBF9D1132DE2FE4093425CC3CE4515D00CB74E -85AE8C677A13E7A54CC8073C841E5C8F32B4B967EF7694054582447BDCE42E74 -9B07C2140E92CEC205C25B2625F070461422FA1077941A1ED5F1CF6C218CEBB5 -AE70ECA87102BE081C33626F0678F82485CB1DEA62D26C89654FCF294BAFB0A7 -4DC08F22F7993016648570008BE8DB1EFD7ECB6A3147B3A23EDDBC413039004E -7B3ED15CCCC90A4771467EFE51E795F464FF11EAB2B813118ACA0FED6EFA734F -2532D136E26F42623A52A863BA0CFA773109F261A97EB35DBDA81768BD5F13C7 -2668C6DAF749BE6564A1F81947F6D224A5A9D792AE5B783F95AB372F71305CFC -29F5A86D98432C0ADFA5E448EB06D022053BCD2D95E7611C2D321E0E53FF9C5C -670EFE6732E74ED7DAA70D1F18AC98D8D975E8F82B3903A16CEA2CF34224E30D -65D0E7E05A991E5C98B8554F8E02C7C85EADC34E9C879B00570862CB7AD01F85 -F6107E0A3013F98A90E972FBD3561659583B08455577D12F25F5E74EE2474C94 -A69EC94EBBCCB05FB90FD00CC773826A7EE5FC7D252AB1748847E38C8F50631B -42E0FEDCD88D4C47E7F91B74EA3AD2E26B57E6674C78EB74B6178B20B27FFCC1 -0594A99352D7115AF251222F772D66892BE04E44FA40EDFAAB219628CF4D5B83 -746EEED9CF0F84A19EBF3D3DFD8F33BAE2835C1E6E57983B5D9B3FB0AD120B7B -A8DB2C3648B676F02D98ABF893569C55D5102E772A97947F6D85464AF35BF392 -1F0B31A8D4AAAD549FEB9409B8EA47605D1CBD9D50934D6E14D282AF3727CA58 -CC4B26B63D41755E802E798A1F2153FC12585BE8BDBAB3991AD188CA10DA3F55 -F9056640A1F31D0242A015938DA000ADDFAC774FA6B5010D4647E13682290E2E -48CDED102CD6A4993C9858F0C7E3842F1C3FBA14E431D068BAB68258C10DE1DF -682EBB96525AA82E20EA1E4E124DD7630E3553EFFE0F03C3763A776C5D64318B -2BBF007C0029ACC45615D3B4E77CEB40688EC755F2A1606CDFE4ED8B1B5D4515 -6D9582137DF6358A8208CE99B191999792310E3E9138DCBA4E726700E4D0C4EF -016EBB22A37C4213BED2822EDC5D5F54C40EB2D22A92E40E63D827FCC8A24CF7 -A802576CD9CF3795892FD077CC77DB908564E4944CD852A3C41466E0683F6437 -BF3CB99189CAF2F3D7A293C5349F494200A88F74FC900122A5E6DE4157BB22A5 -2041988C2E1FFA890A4143AAA8BBD5EEEE9157CE5CAD36C9A1B929576C41094B -1F4BDF445A6FE42CA871679B1385BA5088BFF264500DB66A1AEE0BF19810E27F -327D44DD4317C307C811C38864698A0F0F93F9DDE1BA1B7B00D469645A8E353B -9307B242284689AEE0675E9C6CE7ED473ACB90EBAEE98BE4E336CC926D952D74 -BA108E306C78B1A91D07F7ED434F37B86AE93C52081C696B4BF20053B340BB3D -961C387DEFF21597F306C4B741A96D98DB7E7B8D835889C6581688EEB62F6E3C -163BE8E23A7EF73B87D41CB4FE29BC6D23EAF95A258B8FF77B832EBBCD1B4645 -2FF147D8B3EAA3F930231FE68C357114E9B7433B34CC96AAD26540792628B506 -452359AD152CAC44BEFD9F9660DE8FEC6D6FB19E8BD650BFB237E9501AC91ED8 -F6EF73EE75E5BCACB151AF904AD4D476523E7504F0291AB8DDD14437C79E6B4D -DBF914075E3568A4755A04CA0C42E50665D8ABA4D83273260D3020063D02AE1D -8FC05995D51B8C9A90DD26BB3C05A6EE022E69F2E59362C07D09CF5E337E94C3 -6672053AAECBFE391F148C575A8C4BDC3EA5E5EC498D8B8C31733E0DF0638D69 -4A5BC67021F8B3B32199C6A36B021ED18B113D6E1DEE67D7C9CA6336ABBD9E22 -93C79BEDEAF3ED5BBDF5083A19705A33848918F66916F8937AE3E2B76A160487 -F6CBDEA233B128EFA70896AB27EAEEE73AB7BAB3AB9F856E924D34DB474FFE9E -FED841710AE8A00345D7DEA9D92D4423550B37F6D3855F22DA2D8DF65A99E569 -B058C4B4BB0413B844DFFDFD665385374781CB3B9AF1833591C22D4FC7B71BE0 -329E06E9610DB8BDCDC0A319EB45571B2CA8C1E7FE7EB46410AF9BAEC3867949 -264F207EDC23D35E402E1EBD41B8FEA39BAF4A2DCFFDD6DD7B0F10BA352D91D8 -07E4A7FADCB8D98F59A08AE999157809B208DF0FA06D47DC568DF681FF72AAE1 -7B37FC433C7AEEC73AF11AD7EAC745BB7D6691B0920B2B78CADA825E0BC5D030 -ACDBC0E9E5A37B34D796FA5A2DAEE16C7F467787D292BA93A5FF4DE374BFBBED -DA7E28361FE2071F6D64FDA8F4F97097ACA617A3B1C0C2ECF71DDAE8478CCE80 -D97ADBACA25E95A43084465EB30234C653F7266BBE0EA83CE96906D8C5D03F7F -8FDD490D7FE1D84E6BE16F9E10AC20709FCA8AACC1B8A8A8A566EB46EC51BAB1 -3BF501E4B079468F08130FF0BF3D2B786F71543C16B7BB173B8D1329A2C65A69 -C5ED57B225E7774F694B44D1ECADE5CF4A53B2315504DB62C2F8E2ED5321B19A -494103966108C3C60D5B246F8FCEE5007D4DD369C2E2CBC8076019CF8DEC8891 -63114D54F0C8B58363E7043FB422986FFB468FB3D978A0E326D6967CBDDA745C -15348C665619F41AC20591C3A4610C4190100E753B621C08F9CC026BE5FE3654 -E37790CEBD7F51AB4F187C19641865234E54A5720D419544E7EDD0D718C5592E -EAD0F2363EC919871D7FA3EF55B1F89C176926F360586A5C8C5C205F554BDB1A -D25A28E7B2335616E6AF945A8F4D81BC0B998AE317B36246B8361F639E308272 -58FEC15DD63172C4BCE2C57D7711AA0109673D6AD7FB5935FF390A9BF9752B84 -54AA0A4D5726691D59620F66900EDCE15B7B332BE3E198C3562A351299D0E8D8 -F655F492587525A1FB2EA800268A800C8F7FDE34EB732312694F7180247ACCC2 -AEE06ECBB1972DD04B35B46E7564AA7B265DD4E1377B9E3198FC069C67400AE5 -C707F1A990985D93906B1FBF31ABF448C926AFE10242CD3C1B314598F98A899F -33B9C031F4FD8ABF398E13035EF7A1A3C1370D98F60038A508E7D86C06C6AC19 -48982631E4DD41BE967BC5B1893A693E46860A9E0A3823A73B42F4219A80096A -04E7A736E423B0DEBF67C4E5DC0A49F6AE294B152C16ABF8426D3845D886BF29 -D906492867AF7E0297D62911AFD504E1AAA7B9EFA2A81FE0C58C8A9A44D6BE0D -05A751E818DE653489C7A71932AD98C0F0DE2619DFD1C690F29287F56E14E2D9 -2677C61BA8C6DFC1DB65B882C3B3D02964A9D835213F4E37EF48C61E45A3DA8D -17E7C45ECD56CB63F1372D99817A40CA9705A02785F9173509680DEF0A484A21 -7DD6B88ACCFB9483E9F7B11F08B580B1C76C0D2B9337927694A23DB941C2EE08 -A6E8F874BEC2F5A0E18845791B8297752731F994FA78F6D82EC09FF8EF2FC7A4 -400DF95C31487CF65CDEBBD4BD866647510832BEA0B9D9661CFB8F513AD5954C -0ABB6A70841E230C19DC4E1B2B4F8D1421BC5D54782C9A6AAD8AA6CEA14D0A5E -0D66988D9CBA1B65D54C779BF5D79D5A9DAEC89F5551A50F35C316AF4667D96E -1B7476A500E6BE15C3525A5D7EAF873813D2207E1E5166444F1BD0D52427EBF2 -445483FFF53E7B0ED56AD4741F99ED5F37E7141CBC1C23EC7F69A476C458F327 -EAB3A290A1BB29D1BCDC1D2FA2942208E102AC9818E22E9EC10F2F3AEEF94BD1 -399614049D1EDD94EDA791EBA2E8D5C25A7449941098425A7A911998D3F9F15D -633C05A5355167A1196D0C4340AF63CC3D268CF99A692C94ADE405C646D19F0B -0B1A8530615AFA7FC4AAB63663D90BC517A3392B9499103A4F2E189C57322879 -839C898DAF180FF50CB64A3D5172671A2B7F3B6F22307B1B10D233CD138AB41B -945692D447F0E8228B337F45E3871A224466DB6BCDD2D9B857B2C359D39745C8 -C1836665BD49218EA80E4BDAF20B5B889D1578CF0E7EB6FAAEC228886F530BA4 -F2806B4851E34349A8588CADA96A3D70C51BBD3DC1CB0825C3B4E3C72286C053 -D10BDF61280F27AC3DEF4ADB164FE4CB2EBE6E1155C0A437315CC818237C8AF4 -FE4776C1306B158683FDC03838F66CB6A3618EA101BDBE131D8D77DEE97B10B1 -CFB45A1B9E13E4B02A6A556BB8B78769A410F13BB0C3BFFDD6F776E19CA0F03A -217BCDB2EA78614CB68F8B8141F38FF7BE62D28458B5FB08734676B36DD03A70 -A1843999E4AE5384029901548D01045972AA77AD5214FB345A7F47C4A7480A58 -BBDAD39FDE66FB7B2C0EF82AC9A814D3A1298684923374EC5E92F8B52B1726E8 -EEB56AF8DEAFBB31F4D1090401675DA4EB033C6905C784A0205D94F0A305F1B4 -3255F47774576908F0C3BED7D3438327E24EC145BF5BCFABDBFCA47D40B77029 -36431000A253860094BFD836DCF19E6BFB5FF75508CBF65FEA900382745FC2AE -EF968CCE1C6032205871B023892F451474E5379DFD5F885E428FABEC1DEFCB4D -2DB98F261D3C039591905768B03BCF8588618F386C8B75F2C2B1CFEB5ACB821C -23474D93C05C07B8D88B88D0430BF19BF699C9D649C1ABA7A7B4FDB7B8E70A4C -8394B27AB99AB406E334AFE0050AC566D7695FDBBF508E93E7D22121EBA505B0 -F1AE5FA3B8F32E1BA971585EFC7A2CE5513CE410748439522542F90B380AB0AD -9F1527055B7E2A559E1D3735128D02B96EA028FD5DA8727E33CE3822A44301B6 -BBABDA3192C650FCD7D1F89142A5D47544C19458F86412D6DCFA1BABF3CF4A80 -AF980F44F7AB893A9D2197BAE883BB672E63C3C00CCA363F5C45CE6BC30BEC6C -8BCA685F08F46FEE281A42C171FFF3C6A1AC5E551C659C6808E76FE3B7178792 -1F94B67E7E100DA039040206D53CB9366F100A637FC14350869EB5D2AEC8DBBC -E24FE1547A3C7D3CC0E8A48EDEFC323D31C026792AD179215E7FFA45F18D9585 -6859EF48E7F6A90A693FF66A3CC8DB1C13A75E722B3CEF084079D8E423ED67D8 -077EC4FD608EDC7FBB8121E59BD2B2304F54D6540DC186CAB44E68F342836E8B -559AEB63C74E0DCB9A1891F1D3628F5B34AF42617385F3CD3B28B585C21553FF -A2E96A984B1043371A184D83AFA58B0600E291B50A97E114C507E56DF287386D -B1FA3A1C3D62A89D690481412D3846D17D12224C971DFFAAD2F99244B3366EAD -4E46C7A4B6551ABC34B99543E712AADE0AA1D56E8EF3439A5BBA78CFF308AEFE -71C3292D3FAAB992A98480B3B553A7102156FC99CEFB5FA56EF0CF162145E5E1 -18D263A6598B436C0190DB08CEE27A69D4F5A7B3B9D740B7C51E5C9149FF2629 -BB8568FE356A82BD8B2E6905B03CF385AF23E961E9A6DAF1A7B2034A05608971 -E9D56EB8195F133BC99502765EE811A4DAB4025733606A888224AE875FAEB9AA -3B2579585ECFAE0C90E1BFCA9727F7CBC87CF62D35C4AB3657235C3A46C38225 -79FE1424CE94C3A3D64F1FB8D3D673ADACA1DC48A0E0726753818924A4A186EA -34B2CB2492D0B8A64516FDB920DC59E1AA8FFC403D852DC03ACEB1E33DCA32F0 -737CF57D4665843BD6AC9EBCA63C092035810CCF5ABB9262737F2C256A4EADEE -B450387F9326EDD7B4242C0D981F8BF9D7CCCE6AD7BD77A96058E2B9B1CD0BF4 -C4697B977AD1422661E854176C6DA938D17CEE9F3A6121BE465803C51D56BFBD -E8EC49553DDF8127F1FC35DB9C4F0AA3959FD17ED40E850DADAE2AC870E5AA53 -662019B26B3E6EBEF1387EA4A60510219B9D0995F8504945385704D6FB4E93F4 -1125F862CA15265C1FA66F440B8FB9E5B33433014EB2A517BAD771FA7DF8F23E -89CD3E58F89DF19776DBC3E5673CF190B35CF68B5934C0EB37558FC14581FA56 -07CAF596E51991008C035194B7FA9F150E30B53A7B2117BFCE6932CB3929B2F6 -87232470568A90CBBDD9B77C77A7966AE1C84FD680681AEC09BAC06E39688AE5 -4DE2DB3CEE5F0B072865B5CFF15C835C9AF5737D9ED19C1501BCBBBE909F0EFA -978CBAFE5A25D203D8E630B36740B22E854CED07D73DE75FD6C1C0C80417E0FA -BB6BC4AAE6DACBE26F499B8B69B958DEFCB7BCE7ACC9F5E058098170F4FB9E54 -DE12711C4C3A03E0CA3C1EC7AFCF26747BADD5D594A901E31CD42DDFBC50655E -D669003E1D6A34E98C1A37F3C2B05A0F4E331390D4BEB19372A91BA3894FB886 -5868375664253DA120D2C094492E7C0E14EFFF97A9825F549B5FD8B89FA4CB6A -5FEA11B2E0293BA22D57FD4A0150902AA3729D81EF74D6AF88D6B2133CA24B68 -FEC7E3941B884067B53DAD429CB7ED9FB023A5F693D1FF1EED9A6FF32F20F947 -5A2FA756EDB6621DD7DF077220C96AEB910E49A2B4CCCF82A02DACB0C42E8263 -7F0E76DFF2F21CEF6628EADC5BB5648BF82DB67FC39B0D0244A0BC0B30A59B8F -76A7594A3D2A38DC3E6BD9CD05354E6EBE00448D7A7B8A5C094AE8D756151870 -EE984259842C8D2B2AE14D8E3C1FB010DE3B6996499A2426A124DC57BA152304 -D2467D7F3BD9286F3EBD43AF7A51079FBD7770947FD252FA6264E78B48ACC9C5 -CAA45D69784D107686B57E3CC94690C09B47CAE7845398B2C480A183A771FF94 -39B68F3FC3DCEC7059DF57105EF23C92555131F6D1F5DD509E1B6AEB3A4DCEF3 -4F6E660AE7C859139A1414839CAD6380155F907BF0E607BF2710C8F3743A3E44 -558DD7B820D8B9634E9183D0EC8B93297E33C71F2EFAE552E2D8371398CA8729 -60C6FE5B314600A01053279AE003D4470756977366467B2C843E267BCC69AFCE -5E5297ECB2D69BE6EA118D486F05CE63785E52956ACA64662A962C5148E96C61 -346B834C2401B2A61A002A9738C28120BA7BCFF64A84F85D2F23792555C345E4 -86A37AEDD3C06176AB27D3CDA4FA46EFB1897C5D8827AC392F28A592DC1C5143 -13BA138F0D8B27ABFEE428D062538FE6BA62D2BDEC73EC3B830825E12E69D1C4 -CBFC07C631BBB7AE9BC8F8BDB25DB7415C7B9D0502C734FBAB387E201D1CEEDB -C5F72A9FF2328DAECFC97A3EA1A75E7C7CCF1B274A3829B9F71C3B1BEC03923C -F6E1E5E32BB8CBE6E71A855F1A7FB01A6AD8959A4E7CA24AED8F8E8B50967EDF -E32A69B846B22F7A39D36B8809005E70C6A148F861C9DD68986677F16FF78F10 -B479132D9D5A4DEA428B5F2F360DDFB20C99B653F0F5C2B44472F947FF0F981D -DA1317377C9D2B686A583814170CF417ED89686E568B1585A8AC08A5B6137695 -B2518B04FA646222A16B167CFAA29A59C9ABEC521868DFF306DE1F11715F16FD -79F34C80F3BF298AE6ED20352AE60DC029C41552AD946C6CF7CB95F9E8B8C4A1 -7107F9BB0C5C9347D4669F4BAC9DA73D798104C9116FC8E1D10FC2C01AF559AB -4A139BE448BCBDF113943FCBA3781DC6C0FB26637AF91874924BB9568BE0D34C -71CBE4CB7CEED092D787C77608D3B2EC8137780BEA416E72DDAB37227A75087E -DD680558A48CB39B804C795E4CA1642149C488A97186CA640A209F1D4DFE0F8A -AB95DF6289C9A8490D3AB5B7C2D9F869665C9E163A58F200C3C97983E8D52E0A -7D7BA1DC68876C3DA365168C1674B44A9F6702CE1BC29C5239240AF0C98E88FB -64ECD020A7063061468DC709BD3E1BCA4E93E3574CFC4511B3548B5B263ECB2B -C11543731619C381177C9AC98DC17EF0F1EA4D1A657A58136D873EC2D6555B70 -1B62409E24897A3DB5132039914365D529B476CC5587B1773CEA7C6BED50BC79 -35A2D753876A555D29273A8387A0E7BF81374BDC9B68A4EEA07E3A3E68876AE3 -3443F3DECD2711DE89C23961B364E650317DFCABD116D9E5E7476D6168852B8E -945A52C78FF81DA9CCF9308C08C11438653AF10D496C82E6FF8FACBC785EFF4D -42D053AC59E4E2869CF0A44B71AD9422D3C10F47DCF39CA5F57BF5BECDC098C7 -D011468870269798486A67D03579A843222ACE77AD05B05546101DFE33B04237 -EF34690DC25DF3B937113E46C233599F73B00F1C01DFCDC08F2138602C09172A -63B0229F92E494FBBC896EE5B16BC65C990307F74B506E1BFB8C22D3FC4BB714 -962E6F057604B73859CAF2E14FAD61F427364992092D8CCECE6D0E51676BAC7B -DA24651A425A61E74040AED70EA59FABA7035514A0F8FDE6DFB1B43838565702 -17B9C8C8786D4C359FFF347DFE060A91FA81932E96C73FEC129D1C5024570262 -FF1C515171973F908B4FB47B13A5AF652072A270ECF4A00402AA0CB9DB91FFAC -B54DBBDBF179BD3E3A9B67A3E714F7C2A423A61F3AEC621C1D7E31C0398E4F22 -FE8F979EBFD5B143C3FA34E11D5EB1688A8C482D3ED2099DE89BD08069678287 -8FFCDAC7C19706F2288F51DF332B96106C6B7600C0BE4F8C89D013CD7D779472 -EAF9261E10092901566EF875F29CE04D8C6D8ECB37A7096078BDF6DD5F25348F -9E39DAC89EB8A3DF269E7A7178579E626380EDA7E5D330B2639731FCF802E2E9 -BFA9A87C1685656736F55EF3769FA1EAB28933073CB87621A6B8B9D3D2BC4A98 -61022BCE0E35EF358D903FC77F8930D2CA2D663557BE3B573EBB07E2140779B8 -9E526B45BD4896EDF8229A02DD4A48A0AEAF7CB14679238B301370C1ABB056F0 -C37D9CC91141B5E855363E0E51345F4FC983345AB2057F726F0677C7BF6ACB6C -AEF80CC2EA9C976206FE0B4D84795ED3D5A4588D0C90E7ABEC97ABCA62A18F8E -1814E2538564B4A07A82C6758BAE9E8D37DCF47EA9E8154B9299DF7A51EAC45D -BC4A341307F1A49176F83486153168BAADB77B19D2B6BE161BEFD021722F44D7 -1740E3687921E12D64AAA3744F9457E83A0F7B0459E7E046E29182F0286F38D5 -C35449E6849AAE29E612601164437702FD0BF9BF2331612F3AADD906ED5E7F26 -539AC3A8F798F447076200C0290D58C14A617D9A072FDF46123F89F21F0EA20D -71F222AF6AAB681CC9BC2CE9E1F37D489C73E8E628B0CE90389C1BF15FBB82CC -432631F956C85AC52EE619CC864EC00F4E631597691DFF1905D1CC16C78749FE -9F39FC04257224F8E8B41629AA9A71827D002361850AF30D1EDAFC58E323E361 -D3ADCC591BDEA4D2626A0AD6903C6814FE57E782ED040FBC2CE140AC36336CBB -C17BE07B5CCC863940CF36853E0154113D625788877329B9C4739F481E8CA942 -27B2DE3588F60EA297BDFA0F3EA34E275455988892F060C98F91758EA4E0B0D1 -7170E0C4FC9E9781A6875512E97E81B7373A9E352BAD9EB00004CBC4763871BD -BD54D005815128532889B5ADC362B1B64657910FE5FA3DA3A8DCB70BF46C5598 -B1D844B4EAF1AAEC9BB44D37C48872A9307BD5A5FAA4A4DFF81CE7D2952B9676 -6126C65726EA85CF7F0AFADBE9EB077441F9A590F684AB98F22ACD1ABCB1B2BA -8B659E7716DD06767E04AF78FFD888F6BEBF6D950A42CB9195E69F18C9607C70 -71CCD52A86C7A08A586B816A9F16F69941A08ECB1AE3CD0CD58F6F5AB5D5A8B4 -165655F31B21C0EAC5BD295E419A6F3C925F969C2A605E9183F96BF17FD4CD07 -86E04E57D07565CDD7841835BADA8EC57AADA52666BE34F2736B7015C1637315 -A8B2CC14C4AC2C8509D32D5199FE6F293BE46A5C3F32A00BDFC2EF6F344527DA -D36898DD9C5319A8617AB3E95814A87C301FD92EEAE2639CD4978DC8DC62F3A4 -E42C0821F9F9178C3EE632D3C4E798C24945CBAF94FCCE65046E1C233B9D4A15 -65ADD80B536709F0282414B62F5A142E08B52F3C21F014438B0FD1E36B9A7734 -A6D9CA034080481D75E317CFC24F723F9B801401DF362BD4C9DDBFA99C6BC828 -D03481F1EB9F767573CF5E7B3A22A2323EDE34AB5CDE29E05D610715C9723FB2 -25BBA2FA1D2D7CDDC230CB6C49E52F3054D5D0D11613CB8A3B5D229A41A20622 -C0D20AE3B443B2527EE54AB4DB3E1CDC89013D56AB754CA542F4F4C634A46751 -2629264596717A9FBF6D3781809A14E3970B65DCE2C2957451414108915A803D -93292A2B802A02CEC1B34F3E455620AEC38A4F28CC09D835F42FC57741BA951E -AE907E955DFABA52A9076F322B8F122351E85D75B99EDFF3D2D50059FBF2064F -A86648300F3B78B9117ACC4B83F8AAEB1AE57A1F056BE2AAD247429B873D314A -F4ABABB5EA4F9031F8CF29DBCCFAE1EB519D9C3572E4D2D88AC3E856F900D267 -D734164AFCB4FF518AEA409AD3EBA59AF40E53493536188BB496B9247ACBCB88 -529DF6DE1C453F1BBC597E43FF1B8DE2FAACBCD384C813336B5C11F56F368789 -ABEB6C7F5758F356C6ABA76F4E50463EB728315DB7F6C64A6C9C890F2AD3337F -6FB7E3A64190D687003065D990A395F60505C5334CFCC4F05D7061288AF4B52D -E3555C18F955D9C5FBEC3FD4F83C580E6D3576CC4E86F059D59F40152A454984 -8BF8A749E118855B6ED6BA9E66316EAB63309FC2C597F76F4981CD56BB180EC7 -1BEE4A8C9AFBCE06C7ED7BA126782D47474F91AAEF69C0D9EC460B44D3083ECF -8D93D7F22005B41477145A3362A0E22A47B50E3CCEE3693B8259A795F645A9DF -C7AB00FDC56372725AE9B280EFFEDBB1D082DFF316E125358052E8BBC8C8DA6B -8DEFE3454245BB6E682F8DBEE76901EED818622974D66EFD951F003F6FB019E4 -9AEFE6DC73BA878DAAEDC7329E5ED9019A6482B802298F4F123A3DB13E508C7A -38ACB631516936D5373AB9518D138EABB19F460E45C725E5BE52907093AC519B -3E495CF7078266468CCF9D9494A22A2382968051800791A0AC4AD6D5F6E48621 -D520B1F52F44BC2001587154A8340542CA42417EAA002CA3328AC878AC6C8238 -797C1345E2356FCD4FBE87CDC346EA0B830FF17B35C374F9D8A71451EA3A6159 -8CFD6A39AF6FD5BF14A39F1824CF7179C92FF7E2765F9CB624B1BEAE7110F34F -B1E74C926352B57E7DAE80C98E60ADEA3F23564CB6DA53E4141092E9EF973CEF -2915A6D0E5882CB9C2ADC2FA533B616A1874FC20A4D58A73AAE65CA4F4B6FAD0 -E1A970C748F18D80FB0120FD6B766DD79DF40C3BD8A215F6A5A701F16C9982DC -C6E18342F5E1B2331133DE2500CCF86137564CFB52A759B7CE851424DFD802B0 -5EABAA0AF079E5F906CE3CB4B32D049586A09739B4AAAFEE980A8B608C62FB4C -CED631546433847D6A103065F35190E73B45F78AC127AF9462CD4DC92B98E22F -0FE0780F1D6057D8FA051D0D54385ECE63C32FCDD8BD2E82208122C8B8C25498 -92011D7F3A5383F18936E94F570BF307DCA1BF05277B87E366F30A79A2A7EEBE -FD048294EE529625C7C10AA28694F3FE49D0B8790B39B1A7637E667CD5BB9D75 -9AF8067981238094150A78CCE08B225B427932DC47779922EEAAEFD137E82CFB -4AA3476AE7AB02558ECD89D6AEAABCDB85F1FB4F4E318FFF3A9CAB4757EF24DA -ADB33711E855A0E25582F10469F1B6C19089AF013C38F2624826A5730646 +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19 +38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF +D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204 +EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727 +A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593 +F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714 +4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA +6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E +A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B +E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F +1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438 +452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF +8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369 +5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA +DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9 +BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19 +741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79 +E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712 +E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7 +D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE +C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA +726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227 +CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B +7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8C9BD1C5CD486A50DAA10BC7 +7D6286142355E3F21DD254E27C00C442728A0BAEC9D3F17AE9CE320D365152E9 +EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6 +DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437 +ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53 +B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A087FD1752DF68F55B52B4DA7 +48030F2AA7E570B3D56C4EAD367B9B73FBC0A7356253233006178B9A6BC19081 +B815B5988AE76FE6FAFD7AC239072B1106A3F509381AAEE79B2F2154CAC4727B +D199CDC8B4D05DF4BA006982512ABD7539E28D937B0F87FF79A3F84C29ECF943 +A8DCB8BDF8EA9E7A0E7CD60BC2308C96B3E889C797D0FF28FF4847016B3DA141 +E76FC6BE78A6EE9CE07E651FF86E720A1A1F075972D36E5C55162E3FE26BCE3A +814BFEB12D4C5FD24340CFFED499C7CA183E57EC4F12CFFBE3291D43F7270575 +C6C3306F832EF182ADD0AA14C4D8669A17C09F632406AFA195F90C4DDC39779E +EC0A77E590211592D6EE19563963225C06C2F13265EBB5A6CFB7C17D9E77650D +11958305727AF662AE73AD0E3ED5F7E7086C5A0C3548A8129575980B06C715AF +DD55C8DF869BED0A7883491030B1A7E82C5EB04E5A7D952E716DD8F2EF6275EE +087614CFAB55FCE2BBECD7E8D9C90FD8359E929D5E0A416A23BD58158318B4FF +87B095EB63F7F052B3A77F136FD66EB2C52BD46CD7DB3091A4B78A607112B12C +4D171B2A00B78B0E1C44B0D90C20D9244281F5123DC1F6063F91E9E3E48DE78B +C862D848BAD073A4FCB5EEC9FF54B5AB8E234CCC3C7439C62ABC4A13EF1B8897 +ABBF21F900C564C9A305FC36FC7224932F766E6E72C2EBB55953DFE2AFC2E3FD +33A0C6F0FDFF086E9FD796E7242596AE85B877223532667625E371D2156E4C04 +0D7FFCD3337B93DF066CB6FE1E13960719EB7CB409EE805C08ACD2C06303ED9C +E34C898787A43C1B428B896551C6FEB50A831C6F8CE2073EFC662EC286CB7555 +A3B42E58772E82FEE206948B8C439FEC5E4ECB9E11DC3A4CBC7611E30890E408 +637A01A2118441B4F9467A98BB2A1B03BB2F5D8E3DB7D1D15C188D9E856088EC +B762F07B1C06024F7EF53A2FBD60C0A1F4C0275D07164545250ECEEF8CB15B04 +A2D8AC44DDE818C4E23DFF5B846F412C1D28C52DA1EC7F6B68D2E63E6586EA41 +0B01DFF80C744F65C069047200AFBD969234842863A2CF78DD48BC0BA686C91F +3B1382C42DC044F539B7089E055DDDE9E76F7EC4A120B4D8D3E14FEAD686B0F5 +3EB80AD386901D788C51B61A9C04955BE06E75B24FB77F501D9937DC244B7446 +60E9453930286D8112EDA6EB6291C0BDB909AA3B3EA0578815A4CE3AFC9C699C +54C86466BA0F2FC9BF260DB773E29B2D4AF20562C31E83E45950A3A777E06C18 +0F29343F91938126514FB2B4A81C98E9CC420F54C8CCD614FC7AA290B7D42FF0 +429259B32D92836F4B71D517C130240B63949875D2423339FDEB14B1F1FEC58D +49BC8B826DFD0C2DF5E94A4B4088A7E4029EF2B97B970A53A43F0D280CCDB41F +8F9F3573F522404F634212E534EF3B2FA648D9BF218BAFA1135F6800478D711B +9E3FC435C0D12C845F0B3E77DDA804A75EA9BE82DCB9435BF16A2B94CF7684E6 +748B2BB7C5EB08C5728DE734125E6E48B895FF3483E07558714F68F2FDC0F4F3 +D195335C8216499611CF9355764266CFB43B77B30E90BA64BC8EB301B5E2D060 +B1C053E8071EE600A76C8309801C7927F77D1FF4CBBDB83573EAF13DB5588412 +23B6F8EF8C388136CA0BD33DA6043043163E34E1B647A549136C33DCF3A816B4 +BFF8424CBC2C9EA6FBFFD26B7789815EE0D3576FB50A3D0D2101D4C43C0F67BF +16984BAF98F16F7652BD26329516CF3979539C902F5BB43BFA0B1DE623E26CA0 +521BE8F6908E249743D1F7E62350986EF4385E7E617B1EC50F7408CB18A0352A +9CF70E0FC30958BD6335211756B872801AA86C2F43801FDD42BE49F16DD74849 +40E5F5FE77FF2948CBCC494E3D9259938F26C916EF34919924CEBEA9315B603C +5D618FEA13211BD46B019852FE26E305A4EF2362536C9FEA7475769262D3C2EB +E4E5C2334FC9E57F57BA7CFB29AD573D3FC5CB5781419899DED8B473385280A0 +B375271DC9550455D9AFE5171CA247F90902D62F65F84D05B5F65B8BC80376EF +A0DA23DEE61AEE96577629DA3835F2D50C36D181D714E5CEA92198F4EDBC4A3F +17995EBCA8A6B3C86EFF6EBEA1991D3A3BC2EF33833103F462CDA92BCA15974C +49B3F1E7D585E056666A2CB937B7B49572A12E9953438F334B727200C9D7A86F +F995C454EFA2D0A5B6043E85A5D282F6C6CEBF5781A59AC4DEA90A6E4F2BCC54 +B77584E08B6FB01CD73D5BAE1AFB220EF723C9F99F0F8ED7EA821FF9BFC9D57B +1F84B91A3CDE5B158D3DB7D1369D51CD9A2822D4CCF0DB935B56CF3A52866394 +0899E7A965B08BB808186D885D12335BDF0095C476462297D3AC3BE208B1CA01 +54CF223348B87BF3472AA2966C208D7BCC2AA07BE712AB448824D7DE9968C6F5 +7B6C957577BEBF7EDCFC01EE0D276501830548E6604D50E4C534CE727BADF7D3 +BBEC9CE7E326DCEFF2B5908BCF60495C7CD9E47448434353363A82096FA9E1F2 +1F8C780C4917DE4EC79CF95A42CD2D15E3D51BBDB9CD624F9C358390748A9A95 +5AB4DFEB92EFEF7FB8907751FA44DA024FA91C6C064B5E61069B2796590202F1 +2DFF657471BADB7A62F2ABCB770815750378DDF973CD4E11EFC3D19C27C02171 +4AD74C3CC0B96793A7E0EB9A0AA40C7A6D426100FF3FECF3E3CB60ADA80DCDCE +870F74D04ED5B167D965F8AD2677298548FBD803C716488925CCBC9A3C515D3D +86C03CDC708D2F95F403008963361C8E7EE7C5C62C15DBE6B22C2CDB249C4445 +21C8AD0C014BBE4B28827A5C84D714327904518E36EFBF4356DE0750B52035E9 +2E06426EA0395C4852AD2ED3129F4D43E3BB75B546F092C1E7CDFCFEC2F00331 +D9D0BBA5D76287C4CA7088332D5BCCBDBFD20B7A07DC6619A4AD3894C699B01B +045D803FC5E36061648DD13B6BCD95844E171F4380CA89F7A7F948715630A623 +DD5E011B419FAAB28B814DAFBD3DA2EBC7B6CA635D62145E87679FC56843AC49 +FF421EFC70F30062D749120D1C492EF1070EAA096E283CECD8411964DEA10390 +147718F191A0A786C3A9862EDEE74767762BCB27D5621A5562EE1D22BE784FB4 +0BEACE3F8A806ED5257A038C8DD59D3D52CDB4EBC501C13CC9DC9BD89A51CF86 +B6C3F769C470912FFDA75C99C2EF55D78874558397C923C330CCAC3C149BA314 +C6CBCA464B176721E9C04D0C08ADA8BDEFEA62E3231FCA6A646F837115D0F479 +E51C7E509BB81045FE2F3DCD4A761E956BAF0561BCE5A0D20C0F1C45F40306B5 +B6A834974281675F2A33F258B6BF7F7AB717FB72A96C0D50DA6B6E4D3EDF9416 +6640E77C36BC882A09024789FA969E730CAC7948640EC203B610D8B02B0E8897 +6E0395D5C45E7D414331145412115E3DDD7D137716192A10F8D1F6E134210034 +0AC5572B33F6FD9D2B95D7D62D12919B23F7CBF114A5E1FF5C3C310CB947B914 +E7729E00E22E2F5E4614CE226310306FEFA46DC9ACD671478C026A15FD6668D3 +3562902F13842676E2A15F813364FBF3751A6BCA132596BB02DC0BCB18463F0F +28C1A0E1DD23BBAB471ED0A91788353A27BDB2D3DF7F547A2E401DD536417F74 +5CF1285AACD4D96642200201BAB9EB201272A1D102FA7B4C293787CA1DB59847 +482B209F980BA3107F7538C5FA1CDC5DB36C5F0A7917FB0BF90F185CFDEDCDA7 +3B1D584F43CE6CFC46EEA3907B6E81BABC903DA628077D83A1F18C291729A92F +77607547D61D0CE06750F927EA4F37AA39C1FFA07EDABD3147228D161F0D0FDA +771EF1F476174134A27076EF9AE92D3F6DA91C9568C0E27BB954E27CA09345FD +2AFB9150ADB7AEE906AEE84C5375F25C2210D3F5A3C57298BE1B6AE3CD38DEB2 +97904795D70A9F2082DAA0C6071AB9E8FF71508AC77052A242DF4D01C9139805 +C2F5BDEFD7BFA42D3B3335332B37983D213B6F7DDEA6217186A93B911DCC0FE6 +42957686973CA3E07AD6EA4895AAAD5D5CD878AD776FB9975EDC7EE3934EB131 +37EE8F063BC1EBC11D807BEE136A31A70EF2A46B36D99B98B8B1B933F032FB54 +B9EAFB5CFED5D813488D6A28250605034BBF2BEF55108CA0D6FF94BCB1650F91 +99071E1A1B3B2F1E8E7C89A5E4DA1F77DBF6AA289D331C35C2C2BFDE4A391C6E +FB679CA42BCB2AF018303A3F55EBD657AAD46815B45DD067823B4BC3FE3B4245 +C9940627467C5F9AE0EAE53CB7CC118984272BCC5E1B8548494E812676FBCA78 +A70C417C270EB6E435A6A75CAB4AE742B1194E3F9811A7B581D9C552A3EE5B1B +98E997DE7F74B3D85B46825B620B19357E4A7D82AE97C3B85609335B1B41A532 +FB2F53C79A4064C88C84FCE693FA6EDB086732B6F76D31F8A6FF27DD850DD1CE +B9C29258680CE73A371B3613F17A3533C5EF5D4E3F833E563E976FD58B381643 +F097AD8D3BBD1E4F0C22A79F464FB1168E6B12E503DEE9D1D563B6F9B5A8D6DB +D1FD6BF4A90DA086275F7F7AB784F8F945569601AE0499EFCBC5F5585A759D09 +6829A9649317B8C53F66C083170EAD52494006623FFED560D382CE663A1B4BC0 +D68B544A2D3F4AF0C1A6E50A4603CD433329F379B960A2E6822A381D91DADA65 +E5D973E67820C6AFDFB917126A4C4C7CCE0C00EA9762059E3BA7C3BA56F739CA +2F89F58A2F058A78FA9F0F040A8B04B77F300343CEFEBF9357243118D9B62B83 +2EC312A4AEBD8BEEDE4DBF3CBA2F574BF9AD66B43C19615961A00D70ECE67C17 +6C93C248AAB0D3F9580ABDC833D52A5BE4A5C7F06C12E934BCB99C8D484A0CB3 +BC75FE276F26C6AC861A17CCE8EAE60AD5E4573D4DC2FCE59477702AEA956B2A +0DB471C240961BF1402F6ADC61C3D7B72C78145B5FEB9853485C862FC428BE26 +F2FCA109EC1D6F77284C5ABA95359FDB4507D921934DAF4EDE1A1071F7157982 +3A9799E17F5377F27700EE7CB253ADB2371B228647FD11DC38F4FCD9D75ACC96 +D6B5508773BF71AD6B9D49829D6872CE8271A17C6FC89994159850529D5A8A32 +206A8BD5E688D5AEEDBE8E0195DFDD5ED07D11DC54131B7E22958959CD35E529 +F9DB957C31AEA4F25811C7E0B9ADCBFCD7AE1BB84D65C7EB2BE322E245F50CE9 +D611E6D52493244E89003784149E23DCE1624930D53B937405064775D2CF8103 +66D2FE6F360D5AFF017C7CD773F0303CA4F8C9FD08B91E414546CECECC770884 +87FA3D4EDA2E7D8474D5C30EBF966C9F40F4707E939C22779BC757DB50E9BACA +80E0AD329BABE0AABBCD5C1C59E80CF55E63F84F49FB24D5F8F953D028568083 +015973AD8921C03794814AF609FEE8A5466BB982A15644C00BEDD08D351F661A +AB6DE4FD2715935A73399ED21B074120B214C8E6BBDD346CE84E704A8DF4EB4A +73C5ACF8E106D56287BF82A4C04C8AD092B9643CC1512154D04AA5213EC06B2E +6B8A5452428EF353C92B18855E9C7BE2BFE82B568AA0A4B620EAE77EA0D60755 +E78C6FF41E2503A3868195127619E97805A628A0348CC7C92C3EBE700EF008A5 +86B6B5736A275BEB0431FD754D9866829C9B8218552737AE357B6DEB6DE5B17D +5D86DFE33C9A4C93CAE5DC1777EA1DD2D810FC772C8855B4055A1B520BB0EF02 +9B1C32FFFEA106BDE7EEFD7C05FEBEA882C2FE39993EA2BB7CB9DDF009C08642 +B3B12A2752F8F6BDFDFDF83B0F8648C309248AC9274C823CEC96A0766C58488B +EF98089D39CFFC48DB5076BC1DF598C450E76E32EAC21E2A63ED2F4CD9BFD34A +23731B4BCE26D3500339CE43CCA5FB9FD2CE1BF78DE258A270490158921A8430 +BA9F37EA3BAE30895A57D8BE8A3DEA3DA9E35E3AFB9E650815E81F9252427FBD +4B27B5C81F4F6D98CC7B7E289231FDEA58E629C4A414C5635B69B7ED30BD3583 +2C0CE0A350FA686F91C11AC4EF37F651FF61BB9D087E42A7ECABB2073D930C03 +E206ADC510961C03634984D380EE3604635695DB7B240CC9D60E31E684867FB0 +C7AF5D477F96C24D377970A9B0431780F0EADC1FCF162245EEBB2C99946C28D8 +E85A85CE650089EDDE2C11C224B3BBC65835D33D25DCDE8C9ECF38FC58D24972 +EB715C666E5598E6F6ED4268BBAC9F99D725B95F81B3A93EDEAEA3B33EC2025B +C944E72BDEBEB532A01D263064123E1514EA9778E34DAD260C3EFB820E9B7B2C +005FB6B60E44782CBB9AAAD0D84E2A7FB9B9A003B2E9C4BE6528537B909FA590 +F2AE7CA038C6912DD59455C76BFA330BD5801BB94B2869F9F4011DC70BD31FEC +A18F3944CEE997E9D984425D95C28DD02D8E0E0DED0D1FAF045C6BA250868E80 +730180003EEE66D87118E677DB28B9F54AEF115FC1F1BDE48DC42BADB2F70A05 +0112E3E69AE8F24E90D2C020131BCB703D4BE761B59237786AA2565B1FBE6F13 +66F74844A3B2BD29F9BC483BF9931838BD701F8FE96B0751A3C2E93E326FF14A +037BED6C2D42D93E06082DEF985E39557D9A0A607D5DA570E084CE011B3F96B6 +2F3633344FB5DEF35A48F468C019A9A881C036F095A4516AF9289085217C2556 +62808AEB100B2D3D049629C688392CC8A62BBC7494881B5F64F71F6A280F86DC +288C82510A59277BBC18751679448EFDDB168F3BD63947E6C96897DDFF56A60E +747AF59AE10C996931ED47E0567A0FB1EB9C2A7F062E04CB75174E05D9571D1C +FA2EFBA213E13CA73D9FF1CC4661E04E4D1267CF8E792F6AC270F03C38B7DDFB +9155F17C13DC7EFBEDD541AA9FD866F3214FB78FC78DFD68A4B8819144D9A28C +DA70DF8489B06196672EAAA63953DC4987FE1BC025CFC38CAA8DD29A19E0B007 +F99DF8D4D56FF048A53A5A4919256A3918ED9C87A681B168120E65E24EBA3060 +EBB79FE24DBFCA590B47A732B5A84F68392E5CCD7F0AAF8AE46E8B2F7B9B629D +984BE10229CE058AEBF5A5625F3EDAFC37D75C087BBA244FCDA5C6CA4D02EA1F +3F64D397F84FE2AC9ED7D8F03BB56BB25DAFE7E691DC2F7F42B82B79EDA8111F +B98941BF10B58EAF2D86FECA8239774A6AE2AF22F8A4103D0CAA22ED11E639EA +899DC81867C0E3C42F6FEB53370D06AF2975843410C8114F5C1057D53F078FB5 +96E572702A18C71E09DD607BD6CCCB2CE9D3C84E9D626CE715805C0697204A81 +DBB43CD0B952BCD9EADA1FE80EE1E24B1C328FE08783FE66C8A1F615EAF8CFAA +DD5A57695ED5BF8866603CFCB4EDF22FB010CE429278CCCD13B39C7AF2135FE1 +DEFED11CD2275ED4C51DAE380DF3CBD87A5502AB213D816FF6ADF4BDFC53F18B +1BA97CCC685B11BB417FEFB94140FCE2733949AC3E2E1D25BEB6E6D2E5D83144 +463283C90090E110280FC2C220DA957E4F74568CADA115E02BA45417C09CC34B +EE51F2452A50D20A5B8D532C283E46E6AFBBA38DECEB61836673F76E8B20FC0E +238CE894EA5EA7C7D0AD342F87831DBDB01586AF952CA32796A6276B2AFE3269 +0A26B0D6473A5FBB2A7FDD47EB4CB0AECFE2EB581146A37B403EDF0E53C2F969 +450DD44BB534B0D1F8161CB2B04FBD5FB691FFBFF6AEA8664FD8F776A2C328A7 +30E745E7F8D46289C8CB4FCDAF7A42371604E47AA073B7200173E1D0075A7895 +747C48506669C5FB8EA2EDAC1BA526BF2A3629C7457CECEC6D8F0296C2107BB4 +AB5E3895B2DA8C0B2DD14E756EAE39CC14480AC37EF83226903389C6AE3A4109 +C93577F97BC888773C24DD888767B11C9628204AA55DFF463AE17936E6BCDD15 +F93C818EB1DF9F2664B1BC06BEEFD54A913448E69BDCBC969B7653B868D54B81 +8934B0E26F35BA405917D207E2C02266F89261C2566261D204DF7BE4E4FD30F8 +E5914FC6956A02F641A478DCF80C02A2B42BA2A326D2202673C65647475460EC +99999A568C1B4C259E3B7A16B741004FF2901AF4F186D02F44B0C6D3F53A6F5F +B4066C137C8687ACDD32F7062884391D6861FF0543A377F06B4F85490F096A1C +6213247A6F0C7DFD5EF4940ACB1562927FC7EC5FFCB07A393CBF6FC21C94BF73 +453B75ABAD9FBEDC164EBAA111108CCA28F219C0003C488A54BB9B2BF0858419 +538058DEBA6C22CB17B7786C34D3F569B42D7065ED309A5AE6F8D457B9655ABC +BF4AB6BA6BA1EB95AFE3CD45B37BCAAD8A715629142D9D1138CD3314CF2E777D +BC790A63DD1B724741F23B4D3B39C2D3BED0023BD240C19E129B6CF5741A6ACC +D6C0310DF5A560D7CA26AB6AF212131073CDA02C770A275F7DDED8C52D673019 +AC4A4D4F036F94FBAA1448A0BE735C2CA1193B0B3795B3B4AB693C5B97EE0DE0 +CA05AD896B47D71CE613090AB4B0F5FAFFAC48A7F52EC247ACC0CCB10A9DF052 +6D19E742A514CCFD71ED7EC2C7D86118990C93748459293FD21BFBBA03C57C59 +18572EAED78F8E0A39A03A7C8C1ACE30AB791FB6C477A4B74F21DBEC1DE8F611 +B1C849F0A01F93C4E1D76F5E0AF2537624C2A263EE163734F71701E05D77C1B6 +AD220682785BDE886373582908664529C9D081667C7354AB745600E3A610F672 +53AF7D1DFBF502594B2B50194406F831251EFE156C063B458BD4F42E7DA02833 +23CF0005BE43376DECD1A306F75261D6248A6DEDF5F56AFDC8CD410BE0213C4C +BB9304DD363D0D60AB2B2D645A8ADAFAC099847344A7C010CD16E61236DBC4F6 +D9EA4FB7563A01E3F799123FAB7977699D1134E49A5E079A69D8E9296A062F30 +2F163064A215845D0D65B815FE0082852CABE0481120CFAA3B687B32EECA8F62 +CC327D1D7BD071F9945AB8B9539AE8E8C5A717FDA594DEFE8511BBBAAD08D7A2 +4072A4E4ECA0F3EA8FAB76883439ACB4727A36DF72DE574418B13CAEB099E9FB +466DED499B8E01942E2D6F72035222BC90E6BBE16ED4FB2DBEFC64CD371A6FE5 +97D70A6E6319DAF2AF90064B7A240A6B11493984E63B84DD3D59B4243DE9160F +D2657C215AADB68343D6ADA3268E20CD294301ED7C46F137DC50B152A2718BBF +8EBF5880626E9DCA1DFABF1AF6828E8D5AA9150BDAF9701F288F864D8C91E976 +9E9BE865B6DEB2796C6C3FFA603A947B9F43790A98058936B3109610B502B2C2 +320E75318B535D194D764C0AC7A322B5DD0D4520F96036908CBB808212A7B27E +CE14671E77725B8EC619C68EB5657863D3663208D21318F7F9415B93B1E72BB7 +83612E137E85645CC4A1327859818781CB1DF455AD4BFC77E49A90F893179F5D +ECF976993082E64B63ED0533008AE77515453DA9B07AB2F1F0B1CE816E6E1D4E +D0D7A445F75F126538FE849BE9A9CA6BF221DDF53BD7E9A45017D919A46B9287 +1D1D98703C6622F41A997BCE4F77456A23418E6BB7C0F9FA957FE88A449DBD23 +D713F39CFB2D4A639AB99409DC6DDA631A53CF8F5F617159E03BCBC89C688A22 +971129FD158E8AD10D39AD3D2E6A8A469BB27AB8F929B28A3459928FBBD0C33C +4DE82E1E1DBC8DDB977706FC4B5C14087456D9634A65BF0C97D5C49593350CFD +826633734D9B96E850FBD5F3F319ABBA61397724E8D21B14FE56B6367ECEBBE8 +2D7D0CCE1C2FBBE5817C3D60CF93CAEDF9886632B27DA37F7C1A0342911D160B +E520A5D20B4013983021365E2BA6792766B0541F3262A83C4E863A94FAE921E0 +57EB7E291DBE76944B7CF7F0D7363681586B405EEDD879BB508FA7E4203C8854 +44027B509D69E1CAF1BAA5C1A239999E190C7B91D315AA81B289FE88E5C43D0B +251FAB17BBF7D49A71F75364C6DCECAC2C22ABD8D215AFD535C9EFD9629F178A +A75E11332FF6B05A4B1569306E3F3616EE35D8338F65B6601D3535B2C6EF7EAC +C71EF79C4EE2A862A75531E4131866D6836F7569B1659A734F35C78FDA7F3DEF +39397290CF54AA9C263E7AEF736798672CFD722612716938391A1053B727C7B1 +BEA9DA04AD5B47C42E7B8A53F98AF379F3353F0FD438D215B517A69DB1CA5F27 +B567D55144197A840F0BCF876AF832CF3F620A1E2EB286E45794ACF216062F88 +D70270FA4453AE510543FB2E62CAB84A3BD7E2F5881B20B5BFE7FAC1125F075A +84070D639DDF28A73E73478FD27FFDDFC0246B3AAE90143AAA71DEC5E440C660 +857432CAB7E1E0DE1F6ECBA47F0E0448E21EA69126434DE576DD22996B9C4671 +1B5B07B923B59A56A39F22396B2BE68B14283BC384F7EC76C90DC17BF57AE82E +AB5BC5D2F39C916F68167A22824BBDAEF18501224005E4E63D8A357F85CDAC2E +1F7FA28FC65DC65FF10059A658F64A06E98152D580385B2DAA906ADC3840245C +7AAA12C0945F8E14BDD097A4BA5F2BE5F6C1704C256FDE77DE6671FC25B05400 +61EB206F67B7C752E406CE88205485A27E626161E3FFEE0153BCA76E4F474E22 +57DECDFB9294B874FC26D354787AE7D53389C77AFDF711FA5D7552FE3FCFA9B7 +DAC7564C749913F4020389E4C7F4DC4FE13ED85AC8F57D0477D752BE1722B02E +E2B54C21DA7A976EAF928B142D2E0A5591DCF14420BABDC027E06CE3CE027336 +C20703A85CD2D290AD1DC4D347A05FE5E3BB87889B74B7E0CC251A58B2F999B2 +F04EA13EF3C6CE11D6FFDE47712BE6C84428E7D95E26DE1BC6142876868B6929 +A8F88012693A34E2740818DE3FA7458EE6160364795A3DF3CE46A3BAEDB5E361 +B1BF48DCC0B9B9045F65A4E9D61BDB537FD76AB51C39CC123DDB09534FB63C1E +A5F85BA1DF0EC2736D029EBBFA7D935A20B087832EE66475FC2AF6E938363F3F +708949FCCCD04CB56E8A00628106F12D7D6B31D08D8A047C5B9E39F4C8F1A7E9 +8A06D46ACF7ABE91EF88322FC5C8346310953F9C61CAAB6B8AF4C489447D6A08 +125F9E06EA30D6B07DB76E305626581D69929EA0B06E104674747A436637D015 +34A880E798BB653C9AE9E8BD619FFA875FDE8F488CD798DCDB0C63532D0D1A7C +C866EB30FAE071B43C02EE5C01198E81CADFF0686839C2D44FED8257A2BE9E88 +32A38671E067BE2A49D3BC5C0E7893E12A04355315FB0B46EB033DFB8C101EDD +84749263790C308966FE76F6789F21CBDF83A280C6D6FE8BDB669E2F30795E46 +C6EDD896F762C9F3E647BB51E43A7BB4A949F51D5599C25DB872F75D72E9BBA1 +616BEA9E026069F0262868FAAA16B44DFD016F80A6DE44A4A69B5AA6AB8C0424 +C2932BB816DF4F7F74145AE2A0CCEBB71DDF61B2208823E42D3AEB663E3206F2 +340F7369C6645397100FE513FDBA478C5DE5C9A0839B5DD2430725529939B414 +89BA91759A62625E40B92E834A9EFB3C68005876010F9CAA8BABEEDB06B6A554 +21609C50731E2435361AB8F53BF71B878591F8E0BDECC464736D96271F8872AE +ADBE8BE4A26B8145480F7EA4AFBA97EA46F6EFE3A52A20711ACF947EF3F8B580 +500DC99468972BB657E57245D4FC01F8665C939D385BEC9126193E1DB54E1078 +042F0B0984E812A44726C4B369EE9CE54083A417BC8ABB50A6F2B185E3B8BCBD +53A75936812779305A859E533617E5192DA6C3531189CD57DB856B29807F383B +530DE0218926F7A6FFAA401D3864931FDA344BDA891E32359EC567739B25CEC1 +A4C8169F251ADF4594215549F7F225DD1F20F1269CEBFC88CBA7CFF4B7214B3A +C111FE9B511A8703810E222406D86F41996815618661ABB2C69F663AB97797B3 +81D7BA0172D90246E5B076662ADAA4D2BC8FA1BDA20F13F9CB5A70465667B32F +EE2A1FE5DBB8BF41ADA4B7D3970DCE1972508929AB078E35391BD8D8C0FA2FC9 +A0C63973A0236E7582D4EF32D3213BEC05DF0ABF760767CC5020B609E8225CAD +E64A95D1E7D032833DD90ACCE8B5E40A3D57D6D5F0B36617644E83AD6BB70DF0 +DCD7D9410B7F47763F7FE5533806A1DE39BE6241C07B2BEBCE630CF7550B1595 +81EE53E4C92D15FE69B8591DDA933337F7F789B3BBDCC5526B10BB959E76225B +2569292E55B90B4465A44624AA45A4327E23650D4C9A941E8D86A2D619CDA196 +EEA705015C6EA8330D3C04F293512955F38C4170C12D709C55A2832C58930C13 +D9B37FB7D4C8B0FDCAB5BA07FFBFCD805FA6089DC09D2CEBF1DC3C894CFD93C9 +9BC945C25591C38596062BCF218F28DE9B4EE244182FDA170A07A7A6CFFFDD8F +B08F7AD8857066E582F48C596F3C3B3AF67294D1C45C5E5E6C2B7BF67C8AE472 +79835988AAB90BFF38E234EB1F49E67200F77BA40CFE10463DF43FEF5FB13F1A +7CBEDA0B168FB8DF78C793CE54D309AD9212A1EB5883C5FF17CB637390D2DBD6 +07F05E04CE60D3211C1A32304D1DF076EFEAEE3ABA07DB78D9C13F58FB5B3DF8 +1A92DBEDB9EA5C55E3752855AC1225A2345D3B9E37F4068272AA3E465C74D122 +782864FEC675506304AFE1EBF79D0972A652D452FA8F70F9C6BB5F7B521E534B +1EC7CC493DE8D55C2F0007B2204D1E59383FD1380519DC4E699BF7AF8D81DA1F +8B0E9626F17C2F620117230E9BF7C4A58F42F8CC037182D73D7DD884A04E0C38 +C9B7B80589278B76C2C858C9735A5816A0CEA72F099E038895151004E1DC8CBC +B8D53BDA668D8F985BF4FECA6E8646042DBEAEF1AD6579B60FACA93175F3DA04 +40F034036E621E1C7F31A376B3765B285B7E4CA83CB8CC1014658C2004D777E2 +2D08F4B307A0E63DBB23B21D2A49101BB7CEACD2B40A686DD7C66F4FBC5B6163 +24F3A4F48706C45D54FE0056B5C4E748FF43EE41D34563867E41D8160500122A +2115AB57213917F5B1BEFFDA531DEE363AE61D480B05F7F2F440B851B6CE6265 +2FFA0A0FCDACA7C1FB9948A63967B3E4E106A7D2194844E368623FA61D327321 +C0949D6495FD37433D8157365435FC316539671407676D347F7841CAF39E315D +00B2F5878D64D0BD920D3E418CBEBE3EF5717D509F0AD20C2B9BF8B481F8D7ED +B1ABF3595255DBF1DA8AE4FEB4EF00FCA5E681AC5C80F71ED707CE5B6D0DD8B3 +800B87042E1CA1C3FE1AC461FB47E7A8AF5977DEDEBD2B1FAE57780342CAD7B6 +205770B6D14E8C4387DF27056D3E3AD60FE0811A1F9D2D7DFB6D1D52CA8F8E6C +3EDF8F78AE862AF1D75546E4C0C624CC57A18FD61968CF742FEA4B45C758CD53 +78DA3A32960328BD4079C7280F19AC3FB66D24DA8C9235AE7ECEBA537F09A958 +F5FD63C4E3A0C49F44F8CB0A828D2A7DE24949138C7206354D6BE8CDB99BA5D7 +C60CB286AE290268214AC0A0C3F775BC92DD5326A100CF4842EDC00AEC236CDC +E4F8F8448596B7E59BCB5EFFCB7D8C90837FA5BA690B9FB4D4F24BE0EF5EE864 +717394793E045BA233A7B146AFECA0664577795ECACF06E811E1A0147A38A3B9 +2941416AFB19B4C82A73921AA970B08D68818AB2F159E527EB7C48B64C43AA2D +D5DD0DAD15AD0161667D273BFD59BA13D7AFD709F43DA9E1E5B3B5CCFE7EB38F +08DDDD02CC0CA2A60CEDB070D54AFD8F8EEF0B460E839A2904A8DE16CE73F632 +3CBA9A65DDC7DFF06E5FD2B074A6312D01F8D75491B87EDBDAF045FD2093AE79 +0C2CDF2CD7677D4639E412812A7E95224C3995631589DCFB5363C82E7D1F66D8 +3224A7172E5F0DBB88275EA86428DF0D223AD4079C9D233CCF7C83D3D488EA8E +0D1A5710DB03D00B4729E51803322DB1C649D2C0FD6D3ECDD66DF8EF0FA80B1C +C447EBBAFFFE5BCA6262F252CAA42FDB90837425645E57637A4FE5DE5CDF423F +85E41136A2DB6EEF9FF48965C73E07A1FA4C9C0DB88E5FDD963E55528C8986E1 +030CD62EF13B3DCD4936080F90EDD2CFBBC294E666E0D78D448CA04113EFF2D9 +C467D9E7616C426F93C1AA8C3D31D26B2F14C4B1ED42390E613B4881D137F79C +07A1E8874FB91F8C3F561945FD8903D4BE99F18212E8DB95BE4220E57876DA3F +5D502316602D0CD1B1121FC930F08BCAC9D6E5B9ADF80B3C1CA1215756F11ECC +7D2DA3D97ED094920C38CC4A68D7BFB6F75E8431A3840D5845CA8752F14AAF8D +F5A80ACF8E703D88EDCBE251C10238BBAAA923DC490049E76DACCD2FD320C349 +7FF97E3E2A9EC49C5EBA951F0EEA06D48727CCEC45DFE86D667725454B700F97 +06B1A6521B25A0B5034BB64EFD4C7AD11E83F24BF7ED607789A1AE805881E4FA +A5A8610DB42BC7341F81D63CE70A7E37715449BD850A4CA83A0C0EB1A33A29D3 +82630F9F62CAA98AF0AEAE3E0F450B925E24A82907A642366EF798CC064FF67A +D3BC3D3CF3BD23641A91F2DB09680BBED2586A8869FC8015134901F7F4684B70 +73E4D6A466F013F76619BE61A4B9F66BF167EA7FF7DCCFDBDDE96DE78EBBC0C4 +A4DAC9DE8D709078F4C134FC1BBF53315977ED4C9C41CC4A02026E4C3443653F +39B23880391A2320170337F211CD83794118E5A014922CFBD8482D88F5622059 +3DE77CCE12C636241FAE4F5B91EFEBEFF1EA36C91465BB15A49EE3202451B862 +BECD7D819A56F7D7E46F981BD96FF1FC2587943D90F4B0F7B4C6ED4B76D6050B +01C551C265BCFADE1E2D72A0FD4C8AE9559C7F2723769B1E3254E33B7725321A +1E57D149D9A3091EC5714180DD68B89D7BE2AEFEADCA9585069CEF9D5FBC51F6 +B526E00E168E72F5CC9A70349DE30D46C50D30536821A4D988488C72AA9A8E87 +52DF5FD0ACDBC377A37AB3140D89EE5803A70886696176D2CB7D226443866046 +174AF7D525A28D851AE35BC42A2FC7EE4777EFD0E1650F7BCBEF9DF1AB64870B +CA1E15C7D67B3FC527B86723054D6C1EF1A869A9FCD5244D0BCE4182BAFF60BA +C7DC0ABB04C31C92741C14627D5ABE692403C6624B6CA64544E905B11C6D8FD7 +1F28055E4BAA5CB25996FE88F502742F42E11D087F61117F9730652F493329A2 +453D9508DE874DD92BE4185F6A7BF99E562EB614DF01385B86F6F271F355FF1E +ED5A84D534446E834B5435D483DC20A729E81CEB96EDAEE53D2E431BD905046D +712133BB30F33DAF2FC62BDB3A171BAC8E33297C08360CF255050DDAD58DC96D +280AEE9F9B66D2D8806E2CD32F8A08434FE91B7451AC5948A1DAAFD2D28CCA24 +8184E20D0F00EA9F2C663E7C4ECA2F9AF6EEA56F282AF32DBD960D40D4CF055F +F33D5C25602C2D6040BDAFBED1926120464F183124F48D34BB54A06A6724DCBD +DB2CD715999302DA068272B4E5742DD8D017E604C4114B1DB529A841F633160F +CFE80EA9B3B52B940AC0F685DA509ECA4B420A996E8488933EAA721B562450B6 +554302451C9AD6A56A84B85EAC18F03535099C8363599D4397454E19C0AB2A34 +9EE7A3C94165E396B9EFB97067315FC4762F2BB4EFD7FC635FFF0593528D9079 +69A5556D34927059A46525E6445A881CFF4B5B790ECF680068973A47EB6849A0 +52B9F18FB039050940EA4F9B51A3B9A099F33147569AE9254322ED47A6C7612C +46EA207F0A0FCB785E1DAEB571BB99C97D296CA1DE3838CAAD06A98FF8146056 +ED014E14180D505B17AFAE35F58696C16D8C46F13290F1600075A363489C9D63 +6CB4DB7FDCCF49E15B6825CBC4E04A2D6BA136289D198E2C851D794A9A3E8E45 +7790862DDC9EC0D12DF50176A194F39C7C13C88150D2DD1208F386BBA3B0FC1A +77F94819F12D78D5C59139A1DE0F2DFB3A7FFEC4FC38067455003968A57F73B3 +6C15268401F75B5C843D46EC956AA677A8DB075B61E547DEC35A63124769324D +BD64C1B1D38777BE93F60BF4D92C85CB8C9ED2C8A77EEE0A4EBFF3A44F237305 +EC57E50E3120CFB0DF8D573A96A740E1260A26C3174AD869CF2EEB226ECD812C +480D45502C3A4BE2B4EF9A8EAC7DB836F0C843971067F690B653D9C722655066 +D113AAFB04FBDC5BCEE0FF67A38C1808943882E4CE60A6969939BEFE16C09B59 +CE50B529C3BE6377368C3E827E9441D96BB174BAAC8B518671E3A9B95D4F1722 +A26F4FFF48348CEDACCC4FD98F71147D0B760B320705C1C13C9815E2CE82C5F9 +D6CF04C81F1BCB9F12A188F9828498C220C6DF1738CA9F236B6D6A01D747BB6D +F322F38D0D60A2E07E0BF1E259214C3F3EF0A72074C261ED09B05DB3915D0835 +B2BB52B6ECCB04E712B6BFE1A0DA7437DDD8C4C05CA45B1D5CA17EA99BCE6428 +7E635AAB8F2BA639F28C52CD0800BC348990D0E3832B0303A272D6C99D8A6044 +C5093A422D646898EF85ADB647544B2CE33DB5DC66717506CC90ACB01CF58830 +D50F4CF7BACAFA2311819C3F50A9F91249C624EEE17EF5752C6AF77D6B852703 +81F95A42593045A69334D6DC1280384CDFA0D8088D97332FDB06A02E5DE9F962 +1B41C68A0139BC5F03FF841D8E93FAD2DC08E645F476034919C218693989244F +DBAFFDB4FC0436DA9D43C8A2D55CF8DDB0E7ACDF9D564BCBE38073E74D65C8AB +0E89D87275D680F0FBC2389D1AABA196474E26BB4BA01527A72E554C29EDD3FE +7B17BEF3AB22F2C7C0EFA69C708C36CDDA24C38A845EBA9E9A3E6052B54C188D +2743EF1487B6DF0E6E622A697BBE91D5627DB3F32A57C0AC98368FE53BD09844 +A326B096D01FA3547FAF440D44E079EC0EFC2A482B05052B2D57DA79B8B811E6 +DD9D0E46E838F1402F32EC5FB127DF771049F7B79BCF62C14E3FB4D6D7BBDB80 +975272E6DEE0109857F51D57E304B74DE4AE99ECFCD0A40E57C5E51283D8F270 +291665EE714A6596DBBB5285FDDC4B6328BA6745998EAEF40EE717C63AEF8A59 +E87D8E3AC8161B6638FB5D0963F8795587949FFD6F58C5FD18741BA3483B7FD3 +FC31F188B096FEC566BA23ABC2B34B79DC293909C9E8393AC9A26E6538672756 +3FE2EEF3E04ABA6D344F2DF359AE718C7D0EB5CDA5AB3D09C62C990BD5BD7E73 +3F1F8AF93ED0FF3222D7411CB9AD3C3AE9EDA04DD1AFD21A4653AE6A890E6C07 +1607F1668E4B62730DA65DF88C3C63FD7816C32F26D21A87522C2097BB925D92 +CBB694A7F77E91F3FAB14D0A493384DF902DE5D5F4FEAB5F5BDF567878AC8B4F +98FBFE8FD16D07A58E2211B87983D40D5CE6349A207FF195B7F09B914CB6D688 +B103A5206380A90713D3C872EF8C026D2E302BEA473BAB705DE58D802A47C249 +9C40EE6F20398E591A3878D4A9DE9F6EC097521DDB694503AA8FE3BBCF24A5FB +3DD6CCF1247B5D9724508C63A3E107DE56F0802CB083399BFC3A9DA62E7575E2 +58AA589E85ABFF222717335997260A7F56965DE4DE551885BA8A1DAA5C97AC34 +ECDB36FEBE3D8428A4681871FEF7CBF2B5DCFE747550D296B419140C39EB3AD9 +D65B6146705DC3FEF0131533283A100D9DBCAEDB8A10CAE4C431136FD94089D7 +64402322603B7049D4D10F97FD54D03D81B7B134293004BFB852D50DE5C6C5A8 +29F3FC4855C34AE134EF939755B88270B114106573415FB185E395F6FB0A4698 +B105964A9F374AF011972D67BBE0B3CDBBD0D9918A0E0D2653726C630FC8A63D +7C5BE82A965EDC1E0A57652688375FA60463EDEF222D4A6D726B768D8EA06584 +BE7D23F6FE42CF8541F4BCAE1B01C73D6500207B211720DF98B72D016CC513FF +9109B59C4DBE5108CAE19687C1682A36F39AA8AD09C5AB7D69A13EB0BF2F50A4 +0766AC191B105EE28BF0A87862C377E47EDAA69F99B7793F5F76114940848E50 +CE05005B4E2C91103DB7BA7BCE79755E4324C0D0305EE203294CC82451EF3780 +106156CC6C6BD07296CA7B927B869F8A9755CF9173F22D30EBD3217A98616E3C +8525AC8ACDB07F9311558AB53805673411836886A919BBB916416DC1C2061CF7 +448ADED96B2933FD25C207BD374AB495DF564F25554274A3D2129CF7E6562F56 +E3D7234B8660A536DF464418BD08E3DB7CC2A2A8B80A0CEA897505ED6367A460 +3B6C0CE70E7C5F482C6B3FCFDD8C8266E023C421481CDBD041469219AFAFF611 +97F1A2D6B13A90A76AF1FB2520D973DB1CA53BBB11A81115605A9ECEB0AA60CB +972E5FC2C431F1A5EB305D09C8B4C6D5CE1E397CE7FE9DA819F132192B2B91D1 +2832F636D75DFC3A82143BDEE17461D536B13D21CDDC295EB617AFD850D59356 +7172AD007B843AA74DB797099AB440C40BE561612B4506A8E26D1C4C5A8DD4D6 +2B8DA07722FA903A6ADD179E0214071F1AA8A21022283E7380AF0B2656DAF629 +50E8EB7C686EDCBAB6E56C5198041DEB47AE8BCDB4C30D318D2CF076491894E9 +C9BBA0C6D9DC4B5962350AEF5B9DC1EFFB0C9B8F562660D677F376B2279089D0 +294FD57B5ED589C1D28C6E9F02C821134A221334E1B4AFCD618FD86BAEBB31CC +28FF741E785DA99568AC909B091BDDEA56D6E3B75F4307E3A989C1BE6C92546C +F518EE6BFA37355BF3A752C26A014FFD48B98F7C1B11B625A43E677DD04B16B5 +B1B5F666AA67EBD602583D810578ADF8FBCE669C3913DDFECB2F64745EFDF7DA +13E21B44417230EA477D2E13452EE0E048FFBC3B3F3E32687948361AE63B2F3A +C2393837699C356E580C995217D2BCADFDCCE3A6276B86DDA6DF06884B153369 +327D3461E0493B6CDAC5102E62040437522DBA5DB6B6A4B30BE8AF1E9AD4DA47 +AA79B1AC528F44184C40B9FC2E402F602FA679EFBF9F374BEE06E6332B112399 +D18B8822C21B3B1DA3A84B31023D39508C1F0C97CFB05298E67DDF6EE891E261 +67C5A17051C6DAEC3924E7E9FC00C98225CCDF01D885724122CBFD1354A59CC2 +35EF7E987F633164341E2074B26689C6797F81618EC137BA7AE502904A211920 +D7FA213A6F0BE82D49F7237690413AD381F5D2A3BB67D027C48455F48E717DCB +E1D0ED373D62E180BF0AE16B91605EBB768E97242CA8DB982AC0C2DCFD4B5EE8 +95BDC8910A12F20439946D3CA70A5F67A62B82BEC253FF1C68B1DB9BE887923C +1B4F803DEDBC42CB12082ED81E92F657D30E8652E76C6D93B1C7196BB77C0DBD +C2DCB9E8734272157E4BD32B57FAD22278DF0B98DA7ACCE25626F453E8A7387E +F75FB71ABECBCE09E6D35C7CDCD550EC6907A8832D6831B8F16C6FF757E3733A +3D028A0456B64C686A35EFFED2BEC9A9A1D93E98745DD6036FD954AAC48ECCC5 +470FE468CC4AEEEC6D6E650378E5561990EF37879B517DA5D550B5DABF216D27 +26941BDBE7286F95F3DB4673BEA513C8AE8FAABD78ACF6AB6918308627EE223A +BFCD0B05C18134AB378AA07512D71E7AF987C925AD05686B6891EA8573FD13E2 +790918687BD4DA3C12A9E0F33FCB6AA2BE3E3397B970E80338E5338F0F603B86 +A42FA5A6285CDEF0739EBEB1B9133E86BAEE66E1AC48F83BECD4FA2CA3F1D5EE +8EA02DA4925191191A953FE68C13398E2D80796714C07FE16CAE171AC6BB0870 +0AA402B06C310DC99F0A07669C57B5292530FB8DF265DB909A86B8D076468B4A +B24AA398EE42F29BB41E7A640883F9D6021F4CC7E949670DACA3233FFCBD64F6 +AAE2DFBB7B1E69F24A6C0A8D86081B2B09270D561B20EAD4D6B1D40B7F333A0A +F1B2E915DA6709BA159E81455907510390AE7C870A4F38BC8DD19149558B9687 +37B0777DC5D7964E3B50F4CEF6EF43F38BE9F01A68B60FBAC4BEE09E197C2554 +C413B003ED8D8A095BEDCB291ACC0FB3AEC024D779BA9D69FD3D0F5D105F95E0 +EA00C1483DC52F2A37BDD09F1F416BF99C1299784AA46D36515387FBD61C1C27 +A2B6E55C6B086E87B32921BD7441F10E49DD10D7D82E81AED5FE4C5AC09F617B +9BEED75211D3FED854D9414ADC9B6AA0529863DD90FD48A3F82DF1F7C634D83A +261AB18F257A389AE958DC7315251E670296B0F415AB99D1FFB56AC1E7E61BBE +0DD2A5C6DCB7E270957BAC7584BFA9A6E21CFB293F0F51C58199D2EB431037D2 +C44DB61F55B46B3F034CE7127628B7A3549AA2CA1FF18DD7AECFC4EE7B3AEC3D +D0A1EBF2F7E045BCF177FFEC6A32B8BD47EDF924EDE5FAE04FFAE9904F4229AA +DF5B82485C624F0B7319B147CAB299A6FC7EE302DB985DACE5B13F8FA8E73504 +96E522B8D32869418AFE99B2EE70F52CCFE638419454432B9688E631272806CA +FDC72B2F2971931F3D32AEE7B8979EF969E122CFB6D7AE0C314C3CF64859DADA +99AF547DF83E7B74AC852752D25B6EE4A29B6CBA28CB35FDCE44C0CF816E1420 +9456518D9DC7A31DDA813F7ECE178F6C80A53010BF2272F50E93F5EC18E91D6A +BA5DD888E1E9FBAB51276F78875DC0E6EBF759FD1C92A7D9E86D57B9632E5D3B +823FCB477610DEBF376FF0DAAF01A47E0CCBC52F0052C93C35EDAC9BD26C0CC6 +5D62756F5476CD1BD7581567F55A6F04352AFB226DC7087F9D5B254E454126DA +1C12C7ECD608698A0B2E3595CAF63B8BB3C1DC9AC379FDB7F99F255C8AC29A46 +AA322BD508021592969A16DCBA6959C5B92D0510AC400844405C810D6E34D41F +DC8867E6A9 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3346,389 +2063,64 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if -%%EndFont -%%BeginFont: CMTT12 -%!PS-AdobeFont-1.0: CMTT12 003.002 -%%Title: CMTT12 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMTT12. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup -/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTT12 def -/FontBBox {-1 -234 524 695 }readonly def -/UniqueID 5000833 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT12.) readonly def -/FullName (CMTT12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 43 /plus put -dup 45 /hyphen put -dup 46 /period put -dup 64 /at put -dup 98 /b put -dup 103 /g put -dup 108 /l put -dup 110 /n put -dup 111 /o put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 -5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 -8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 -EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C -02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D -46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A -4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 -7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 -A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 -4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C -A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 -75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 -9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 -098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 -ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 -DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B -5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 -F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 -2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 -E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 -C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 -42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D -4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 -95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 -830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3 -FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF -F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19 -13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11 -6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE -896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2 -91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492 -660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6 -6E7295A254FEFC41A669A86933F8B05B9236B04C3C0C757CA37AFCBF3B888AD4 -FCDAF76C5BC7146FF489945B49B165AA4F1EB30A0BCC5204FCB890C33C4479CA -AA39D1CFDD9459D56F730032CA1AA6A18C8B8F25C5055528F5CD94F9704FF7EB -628440A3633E5DDCA0671259786255A4DC7DD81BCB762D4B3E019F687663ADA3 -76805EF1BABEFCCE98A39170E6126A9E40C7E09C8972B082F153A352996B855D -20608020D3F60504728E54D29BB2245B612550E9ED1025956095819CE36C5B87 -601571F52FB635BCC0FD42BBA3D77B10432575088796B78BE157D847EE2C986B -973EA76C27EC816EF5A5083378153907D92D8964F875D52DE8B3AE14B28B19D8 -02F7E056401C3D4D2CCDC6AF17BFD8EC02A71FE03EC0B230415FFEE335294303 -C8C700060D465158C76A2B6052D0467E8209239485F4D756A2DF47B003E3804D -0F0128E82EC3070576D81917C08B03E0DFC6CDE9DD226EB2B96427794F7850A5 -46AB6189851C6A654A5DC87E9EFAAE33748AC9E401A581758AF8530220D39614 -6F66B9C5BFA541A23C8F8F97D044BA4AF89F75B1D76ED9D834F1A97A36D12EE1 -CE576B9E7EBC3A67E7C577911EC56521A4C55B4F1451A47BC93C929BAE652737 -9CAA97B7F7F0715908B78B02263D780C215B1B52EE4C48E227405598BC6C4BFD -4005056C5C6E72E2EA5C3CAE648430832045AC014CBE6EE41AB383653091BB83 -428FBE5D2A2947E5D34CD654A461A7DE60E24166A5299A1916F283C6CF04205F -24CE9DF7C11A5F34CA3E8EAC5D3269FD4B557E4691435E5299094D5A2483DE32 -EA343676A30F67B1C01F64F7D1FE8284A0B381D7E78C44DEAEF096A57BBC8163 -730CFBA810FC0629BE8A82CA97D4CF0CB6E2B6B01532B38A1C3ADDBF8D06F562 -2A2E2EEB8EB87DF014E2258712A842785A7296115A87654D329C790964D82FB7 -BDCC6535E9B10F667B25C5BE3F8CD9BA986CCED6FD769EB09D19DABA6BA147E5 -EDA87B8C246F89A0485A239A6D5AB5B77A546580AA3A60A5356B4EC548FBB9ED -96812BC8D4F6036BD3CAEC1EB91302BC78DBA0E4412373B448569668AC44E5B8 -B8DB334E99380ECCA3A39043F95551821A311A1BF8BAC76137BDED558D79266D -A7F08DFE0DB9F2DF9EA33E0BFC17613BA58F8D25A7BB1D5C8787EB83BB380D51 -CAF3082F9AA4DEB7263180E915D1CC4C514735A836BEE471848D284C9442E2AC -4AB38BC28E410C54BD2CA03B091AE45785D6D8470715261B09FC0823EE41FD81 -8DEA02A55D3363A8CCD8260685EA20D05FE28143DE565F89C4FE4195C861B0A4 -21EF3DA260F8C429E91D128C794F77BD223C30FA5C7A12F7681B47F01A2848DE -5D6CC27213E1EFFDDCF7FE6DF7B82067EB01EFEA61B7C6E584BBE2E7BD5AF168 -9621110229EA248081A4AE91D1EB745332A2D4E54D6E2F2D0224F4A589E53F78 -8F5AA7C3A499BF40FBC00A9912B63D39A9FA15EB0BEE8DD93C003F4DE9E9B67B -6C3E9F537FF602E32A0470A9BB2634F548DA0469FEC1DBAE881F7C173625F601 -A0A2D9EEC75E3685E7F82B68579AC0D00F95274EBFA7A2D0E8ED0855F302D7EE -69CE6CF48F170BBD9D9BA7BD64FBA0FDA44F49A492B4BCC564A5430514FDDA4E -22394031ECCE85670C24F516B94A5BD0A6AAD844B4A659DFD2925321D4DD76E4 -612986CC2E544803E1C3BD4FF5001D24025D47C36802540E280B4C655251CFF3 -4CFAFF302D3D43B3B294EABFA37C3258B301349066D4BF61A6BEB3EB7A1CA3A2 -A42EA81E320730458DF5B995E02B38098C7A1C748912C80EE4DB82C3F537C0AF -0B545D0FD6602AB0071A4B4882E94BF67594819766B38FE852A8FEAB7799B8BD -AAA5D39BD8F1BE9EA1065A063EF469F8939A149AD06400A7E95777DD62EF44A5 -BB24632FA03901A2E037D1C53ABB19277F1AA1AF9A7C3C92AED2CA11BB3D68CF -E7642E68CB862E7EA7050057F8D2772723EC9300949C581C255424892B3CFC3C -D9CD8BE6ECB7253AA15864C09F6B96ACCC6284E47C37DFB91FEC888E35D294D7 -25C32BC45ED3EBE470EED5AB95504F0461E89482425A1F6F3564E51A6D53688A -A34215B7AAEAA0F1F87C8B2192BDFB4BE8492881D494085E9A815FB973337718 -E8BA19743E593505C55E2A25996D424B0935DBBB4ECA651A5347F0CADA8277B3 -C5AE58C1E06041F86FE709D8F806B6C9572B18AF0DDB1D2EA02295E0C5D230E8 -92D702DBB99408510C78D2B7DB0841AC69A342C663C6A6F5C2D43FA5A6CAD910 -7738E1A8D87C3718DAB5895B4E54EEDA369936CE24D1008FFB5B2BFEE946CE03 -71EAD67036B4D9E56CA8CB8F291AED0A95DEC1D6816D33643347BB0EE5109004 -B278E1B5D5816839E8ADDD4F8D6EBEDAB1BA337B5176CA8B05E2762A75B88EDD -640D7D577FAA7CB183F5E849F664630E2E55C20F509CBFC82E0CBDDE4C9122B7 -BBBCE373754F0FAF7333F5E9EE2056D5446D6F89F037AF91266DD3BE96791F1E -7D92A322224B64F06D61C28E01C62569BD21CBFC19FC535E30F0928A91825354 -2DFC81578D460B8CE127A5439509FAC57519CC9012DC054322D385C9ABF5DEBD -358C373D249F97C70D10FE0823A9280F30229874A9A16CEFF1DB9A7C2F8A1EC0 -3606647C091315FD7E17BE22DB049C047646CC70D242188B84F3EF4692FBBF9D -3741EAA448C7E7D1A6E00BF06073569EA0DE2FE48E80C32967C71DA02ECCF90B -8C5355 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if %%EndFont %%BeginFont: CMMI7 -%!PS-AdobeFont-1.0: CMMI7 003.002 -%%Title: CMMI7 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMMI7. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMMI7 known{/CMMI7 findfont dup/UniqueID known{dup -/UniqueID get 5087382 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMMI7 1.100 +%%CreationDate: 1996 Jul 23 07:53:53 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMMI7 def -/FontBBox {-1 -250 1171 750 }readonly def -/UniqueID 5087382 def -/PaintType 0 def -/FontInfo 10 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI7.) readonly def +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/ascent 750 def end readonly def +/FontName /CMMI7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 61 /slash put readonly def +/FontBBox{0 -250 1171 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 -45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 -7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 -72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E -BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 -974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 -11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBBAAB71645535A2B -6F0F22458E1429F4A67307E01F0BCF6F337E0E2AD89658D880B04C26306F8179 -C8121B958459B923AC3B05B594D8AB95F75870019130442FD29578D44F5690BC -7281357A5041C8A809A59D0DEE108E2A07D406656BC74A9F3317CB887E712318 -46B2ECAA341F8692ACC2D14ABABDFBCAC6F35858355F1D3228B0223EC73AC56F -3C987464DB829F243E304F4C59CDE3EF6EB53A4EF9BA91510CB89A3407261F58 -A2AE66880BA98FC1EF546112892494C85A2C39F9DCCAC5766725894A7AA148E9 -42360AE64BF3A4F1F9F0A0D0C1AAFDC4D50C52233AA595B7D0CE557D4A010D86 -6E6B76A7E9523E8A6633DA9348BC3F59302F72F492A30782AE7EF220516893D3 -DE836CDE311DED9262AF01C506040541EE84AAC539B404B23033EF56D4BCE6BE -B05F79CD633FE75C6728114D2749E39FD7454050F67763AB636377BA8E1867C3 -996C7D7D4A4A02BC49D1AD7FF174C1F49F1F205BC9D5AE42BCB02CF8554E8F5A -D1876C9285B6CCD7B8C165F75843B0AA11D8462B57077AFE75BAD086E9D9F91E -30ACFF91776132F3CACAD1CA5E08B17B36A0E45ACBAC52393B9AF9089BD821D9 -CD5A9CD9BECA59F7445D63DECC1B4502D299DB85B6E2EE7C69A1DAB91E22A3A5 -89B524FA20AF6005E7A586B90A2C6E5A93C9EFA4ABEF5F7E4C7B81363FE8D2B3 -0AD637FA863DE787581ADD7CBE463F7866C40F4E280260ED0E9C8453E5C7E668 -FFF058B9742DD3F131C264F8FA102CD0DA05F3114D13D34D422799181453FE23 -2FC6EFB01BE420C930B879D671F3DFB036197874725220644A5A52DFB467BB75 -8089E4F40CE9401777B9FE1D0AEE02E782A6EB2A185A454AE9394094CDFE7CFA -C03C23A78EAF242E4F811E4C83B59EF4DC5ACE4AD37B41616B46C263358710B2 -6137314545CA6CE89119B42A3518EC85C68DC07D26839C68B1FF55C4A9CD518B -A1FB32F9C475BB6110839FCCB94156E7B3648F27245A00D2966FC4DDE3996BFA -F463A663CB6935B596B1582ED0ABBC648AAA8A86068BF0038001C753C8BAFA0D -2058041DFA720B528E2D4B16196DB1CF30C779D3F4800FE662D5B60B208341F2 -A66EFCB8448C2FCD12DF0DD899911A8BD96C9B670054D328790E5D388518B146 -8CE92E368EB1DB3CAAFCA4834CC9D9D9DCC80FB1F34F39DACDE643052C977A7E -A95C5FA8DFED9B4DCE769E4E46256D6DA8FB18FD7FA4E4CED5D486803538F3B4 -6D3F5B3C03184F5C26C66DBB4C724918EBB6A89C4602E4EDDA81EEE2BD18B683 -FDB459F2CE0A9CED23DC208EAA8BEDB304B00E093DEE926A7B32FDB2EC70DD85 -94B9137856DDDABB402B2C76DBA87149051ADC6007018EBDD571BE1D092EBD95 -76D4E063AD7D5F62E6C26EDB88D38678F2806A1F4900B0ABC4ED034A818119A4 -E618F1A902315BC98F26775E59555A3DCEA1D0F8B20A9084920ECBE3F7F245AC -1182A40B518B194669D95DE968542BFF80FDC89669BC256C44CB66A2AB8CD7A9 -E42C69956CCB6BDE8C09AD22EF3196939B3B84EB23A6E071A36D702909E019FF -058F27562441EB5CAE87A4407F67C4390810BE89BBE867D636468E73677B84C8 -5A1228DD7DC8EADA221B1BAD5F43E832F20ADE7ADBFF170AB306F5B711816FD1 -39B7882556E30F002977FB88D8B28826A75DE0D20354A2D41F2DA8578376F7DD -F27B0F59D4DDDF5790E11E3957491DC74EEB7625CA49FAD90FA47AD8E0BDE824 -FF326A84846A47A21B70FA549BEE307F9C6970009F963B49A504F0115777826F -1D81203F655C242FFF15BA97E3BDDFBF435B10E74CE8543C98966223818839B3 -6BF3BC63F882B0AD0FDACA8C56A570277952E1D83F18BEDF084D2AC004E2B09D -70DE1740D7D220E92B54D2FD0DDEAF1E08C41FD321A8D474982DD105B23166A7 -AA9E0129DC88065B1E0F9382BEB4B4E1DAAE3EA5489BDCA921AD5A8175F2841F -9400478DFA99C5E5553F383882664D73FBDFA29BF32E52C28DCE80DAF4839434 -022FA515679DBC13FE98968D2894DF5DD69C49BD23D00F5D858B69D1F220F968 -F0700E13873579B3CFB658972098DC61F1DD580105BC27795DB4AF11A871CCD6 -2E1B9AF7F0DAAD4CE315379A7B42CECB983DAC5A2B9426B4E5E0A7F7978504C1 -DD7E30063AE3CBDFB24EA2BCCDC478AB82084FD30A4793F4707D9F8F9647B413 -F8A5C5AC6D5EA0E35628CE1096A434FB8286F4617CB4D0AD30A4A0B255A5A356 -25AA5A947FD3C4FA44B4AA80BAB44C48CC1E2C6D0A711365A37A58C3483D07ED -301A83D2650A2E8CBA9EE62FF5C2736EC82C1402959F64527F9B640619F112D9 -8E0F4A8A3078C72ACF3F34AD855AA4008C96E30D9E8C414607C34E06E29AC5B9 -2EE5DDB823E8C3EEE6A8DE228313D476A7F39B5DFBFBDEDDF7C45C1C88EE6D01 -7FB4F7BB2CBBD5DF7F0CBD98DC287FA6940FBFE1B3B136613A3CF16634CA7B90 -53D5FD5776515EFF5D37F8FCC62D8BEC8EE2216503D54D6F2032D3C2BF861E15 -FD1B45B71576F15852EEA65DD372E911EF4CC18283CD2FF4196A3F1A9D81137F -F1820EC604D6C61AF318C6C5AB6DA1EDF305CADEF7CC0183B86D31310A09972C -A4BC37D110C77ECCA614D1A281EE1C2040B4A5ECB31A3FC61760F608E44332D1 -D2C53C7891B505A3020E9E4915F3618588FCEC80B9ECC5E637D8D0F3C94B1F2A -C53FC46CAE0AFAA7E12266C212A73AAE60199752C042BD55A5DF1CD07FBDB830 -C83E7832D8554AD9C9CAEEC7CED1DAEE622090897641CF2E5B34A353D83264D4 -4687522DB290D3BA927BA315EA5D25B0D7B69350C6C180AB0C322B05E01F7C7D -F2F48651567F0C1B49AF3950E43C94D78F7B184BF2946B924BC4279AED28F3A0 -17A7D8B235698A516D3FB5DF0B18A422B2410C385E7E9439C6D60917EB3299AD -E31471616251FA40C9FA098109BB31A54D9C03B2F12947E4E9252A0851B81C4D -F39E7FC44752504B589C3911571B1D3EC3BD1E1807F99CED1DB20270E483A805 -CA2A016E7283550D1B1D35C226FAB63F983CED41A4D02A2F228FA9EF065027B3 -CC69D6F2E278C0A2D238D3A37154B0D22281F62C61D9182A69657B027BBDED64 -11E261E47620602F865221A534C5A32E2BF5B93A187911A146F2E96538B47DBB -7BFA7EF406FE940F4DAD17E6E4B80C4F031D71F65657C2F5C8233EEAC68DE8A7 -E1FC3055C122C1795D0C71A0284F89A9BF04837F61C9E08DB42644A490C97D34 -A5D3CEE475B8D578205005A0D68AF94AD27C0E855BB8EDB74775690A4EDD6543 -BCC10CF13283D6FA8A7CF3FE6C4F96470A11FF0B0160D3F9816B13B0BAE0D8F9 -B84C7631063FE658D13D108D6FE24A89799FABA72E6A6D1C943922CBE676C1B6 -11A4106ECB4F1A7F8A84B2783C2E6A109C58D63FC0B74D8C8A1CB62D527441AE -E656D94B1AA8581B4F07B653ED6486AAE1F8ADB30FA8D8914AF24721C74B0908 -D84F2EBB91144ED4BD7EF533F2584048DEE37E17CDE5FBC2992A6F924FEBAF07 -B626F988599DECDAB43C931CFECF99FC6EBB72F8E542765C26295902DFF60B7C -7B9ADDB4858BC9D808B7F0909690CF8DFBC59A786D48B891937C31A219842A43 -234425B4963062DB4C4E9F534C77F4243408805B5A6B8BBF428632CA4AC03A7A -E336DD181CE0CF3E742079E2919EAFABE16A63299771BF276EFA8D85C920F995 -5B9D4E8F1ADFCC5C29AA89BF90C186C5DE7679906B2FD4DB279D245D27D08837 -D3A8D541FE37415B706EC585C05804108C1D938E543B8B63E275EE85CE9DD843 -0A8B9163144B77DA1A552A25D5E77E94F29CF252BE9950F4E627D5F72536B6F3 -3278D4A45D10759F16AE42BAE8460865FEE84537F8EC9BF4813570E883B826FD -1ABF3F4E66DB6FEF8366E07BCF290EA67D39C9D81B2A7EA48E0A228FE3D5AA50 -1A56CCBF229C9AF2537A8FA70EEF41096ACED34CC7BEECA4EA1F23B39FBC39D8 -CCEA93E63F508CBE6722C11467A3D0D5C4C52031DE43C449333E4295104651CE -E13B821D7904653346067E971BE0042C571ABF40C3A1079A675FE4264B784D46 -1B8FAA4CDE9851C4EBF69ADF51A7B68CC8706C08D13A44909D4C1D78DB0E0B2D -0E0318304B229DD2FDC968027CDFF65722059C62154304D6F9C3F06DE22914EE -928B7D1BF1FC7E74B4D882998D59BC086AA2D4EAD0AE39F6B75B5A3FB9994506 -E21731E1A15F0F2D12F88724BA72898197A80FDAC00243A3038871EBD2F2BAB1 -C616278BB78490CB86F552CBE5DD0862F3793D72C68AC16AF8E38FE1A523A5FA -9B0428745B1455671CFA1F6BFBCCF9CA23C833113C2948E7A6AEFFF1A83509FF -C559BB5EE7F92BB43F7F37A371E661C826F63DD0C1B25E34A8119E71EC82FB66 -23C7B126FB6554E7560B1B69F2EDBB742F3B20D1648C151C37A8570CBD330A9E -7592A8607D2D727F3AAA0FF2057DF4E2A4C7D3B658C6CED38824A770420D89E7 -F6AD385DBCE9C9A9095CF0042052A67AB804A6675BB9373A99390CBDFB715984 -A069DE543E4C6ADD7F1EC7A15392EF834EAB4584679A43443953427DB13E6959 -0F2F5061C99C6D00FA5327FDB5330AEDE19A53DE3AE092634DC6AEEAF63A5BED -990F8A117AEB1CA0E7F7DBE02CB3D86465F1613B976D1CF6F3A1E69740A2FDC8 -062ACC45EDA6B863B60015F276860FB79C31D28F97A799568E66D0A8757B2C41 -E939337B467303041D0F4C59390B2E41E5F298F275DCC699D27C459ED4D5ADBD -02539F00095D7E1872862142B46BE06513D3EB1A406E6BAA64BE795122100F09 -C37E5D1834218EC1D11B031C7DFC9F5AB071A8F4DC08203821366959E9191D4B -289682D915AF28CE5858F83338DC51B6B0DD052A181D9133FBA50CF18F70EE65 -C33726A0450EBA9D0E0C3662AF6C2121AB7911AA9880D6BB6811D6D7515888E7 -199A0E632104059A88C9D85B19BB35EDF4AB95E1515BB2339572928BD5FE8CBD -2D4DAF55DCFE29FBC4C3D56336277BA0C9A889A129F9FA7052AD1420B8705163 -1A808EC1284C888D78CEA2B4BAB71AD76289F5F4986008FA9BF328E8537E6C91 -E11DBDD8447E1C9ACE18DB0EC3D5742C264C8EFA445C5D16C2930FB43669774F -A2CA52144D99EFA8FC427DB4128CD4C036A8C611B087335C780740FAA419D39B -5DD68EA89C95275F9254D947EB3683D0130255269B10C6CFF29EA0BE484C9949 -96188FCB747618A8044E2E37DFFD2DB8ABB621B34DC024259340677095B6937A -78EDCF508AC91D4CEFD872AD73F50582DC8807143CEB9F109C84DC5DA30B64E2 -E56DE973088A9D32583D6946DB4F3523902FB1781D993B89D5F56D79D5D98CC1 -7FEE73FC3A7D1BCCE90179AE450829E228B4DEAD3B2B4C79A400CFF899AB26F9 -048B0875EBC871AD23BA96F88CDA8B87FE5809A13889A6AC349ABB25E54ACAA9 -C213C5DE2D01BCB9CC0D7BBD384D23AE12E289FF8FDF1F611F5E14D4B20B15A3 -42D9B3B37A83A9CA39B5DB6C8316C51B70F211530A56CFE54D63E88169CF5233 -D1A7B2388025B3EBD2BEE0716C3A2D589EBC7A42B3DA602AC4E2FD9C9052C922 -711E44408DEEA1FE0C9FD50A39AD46D437F61F284A2EFD42EF158EDD71A1486D -4865D6B5E20E60F4F4FC3D646909FF1EE2D7573665E4CD8340A1B232CAC0202C -C35BA9BB3D2267C7E78518F6711633F888EBEF72DC750AC2CB362D528CFC8B2E -A1AE1C05456F50EED8CAA768DEF47FF85C4322F02D7F9D188C6F285C674EF589 -251B0B913339FD701FDB281338D96704ED7ED908BC113B4275A24D058955890B -12CCDD5572D63688426B0E1E9A40D6AAECFA5555C1CF9DBEF8C04CE1E5A63F14 -969D39B6DAE8A91F6AF4CD1E2DA89A4661DA34E272B6032C442C031F081F5DF5 -858F4620885773D8A2B2F5EB6DDA74C1408DF279900450E4A3E80BA9A9B1295E -F24EDC3F6EFD81A741EF74B0202820516C4FB720687BDD915EB2396128C3B262 -20E3075DA153D6FD36E1C05B855929DAA4DE694B6F15EF2145C63250B24B031A -4CF0AFDB225E91D99828B83BD90F1702D3906D45872587A3A116B138AD9627CE -E778A949C392202823C670FDBC56F1896FFFFBCF52C4B400F67BA36B5FCE44A5 -F18EEB8ADFC088C99DFF8E0A593E81A5ACA2E3693005F723C7D3E0AE2BDD3805 -8C6007A00542DEB2539709558A88B21003CE4B2C7817AF207ED576B25A41DEA0 -FC55A459BEB00ADB01309B35920F04F84B7B64F95AA99EBCB843A06CED900D99 -97BEFD7CCB9F4D85876F10160C8D63E2FDE82B7A8D945F37CC9933ABE0FD1D76 -268296B1A5AB06B2E814691128771694224781171DC6266BCC290FCE1AB59416 -85530368115BABD4F1DE45952918D1945D51EB713C283DAE8EDD559F437CD886 -A4B1DA6120D685C284673A3EE489FC1AE4297A3623B339B7D886B6B4B8F9F4A3 -7BF85E320A52FDC6323B51879B98A14C33C567BC069D9B44616514EE1BE36F90 -EC5FA33E1B6B0A46945D876EF0085E74935DF2560A03321861A752E59742B9FC -5C501FBC64BFB1602459885B63873DC857ED37F8BE1A9C6E9517B9BF5A6161BD -DEB6DB0381FFB34A8A96AB4AD48BEC40D4C198ABC599C3758AFF638AA75BBDA4 -8545D5F95FA426FB25587301A43E176F6CED7851E815AD907F2443E70740DD2D -4FBD5D978B9B37F59D6DCF0ADD0F90825DD23558FCB858513602C8BC82BFA383 -7AA6DCEA4009961D06DF233C5381A7F9541259926446B2F03664BC5978A1B6CD -EA6EBC9FE6100A65959513EEE32E69D47B55BAF30A893D77142F943982019C01 -715CE29923795EA01C58A798979939B507C5B29A32881877EF7EF0C5CB3DE591 -6B9A6C3F3FFA847F396A396F078860B59850BA4CA3115CA2376AEE6B30C05DC1 -6F9DB6781ED0F9D45D10E096C33B1B7CD12A9D57C6E49AD833C4B093DC82811F -16B3BD902BE764A1680831EC5A6C1CED84AE0DC0A65678EA5270BF20931E6409 -7AA44EACB22CCA11098F8A51096BE83A1ABA56C9EED4195D5CCF24FDAD92E823 -C439DAAFBFD652157D728F2754F28304710D3CB33763156D76A259D446647A11 -493FAC70DD28063A4CDDA162F72542368E1AC2826C4BFF7109208F66371910C1 -068F21779FC39DE03AECF1C9FB2F417930C22791961D801284DCC89B0833B6A8 -D63F153ACBFB7B7D547924613BBCCAED37D90BAC5B0264ED31C7B9DA5A2BC620 -9B20CA48424D0FF58905BCD6190BF4B5FC6ECCA1BCEF13426920197CAB41C4E6 -E82E8EE7BCB23C6BA6F8B58001533B225ED721D6CE3D6E89116EC33CAA6E905A -649F8C6A1AA187A48E20DB864596481976216DB78F0F57543DFAE3CDC0A6FC77 -2CAA49442527A5D94DC54BE93C875690CBE52EAA4EDD9F2A511361BC0F0807EE -96AD0D26B62D809E82EC14EDB158EF48A748A6FE0C3A7EE5D4479B35425F35AD -3EC7444F6FA75CEA5011AD571078293448A33C7647611CAEE87974B0A756DAC9 -4E1BA78DEE477FA59AD50BF5C52E068A5E044A4A4994D5B24CC5045F768A3C51 -D4F65E2A5AFD271A7666C6835E28C60751EE528C0742433165AFBE71562A3016 -F59676D56B0B5F7E4984D664BC3ADDAF24B4205752EE21D4B57057A943018466 -09C3FA5D2C5BCBFC22A643586BC9E7A965DC34C0A7D76A470B0602AE45106417 -0701ACD2C764DDE218B924E38B5A13CB82678372E743A8B3CC300BCBBB878978 -D9847F0640A031D5E76B5AD07699C3B2FC6C1DBBF79938BA649C152FFB2B5BBA -D18B9570670B99907506494F362B124790A17D4F415D8447ECF70B67DBD46643 -91AD465A1852B804CBE65206EAAA38FFD2B4180AF00DBC6291C9474BAE831466 -A9837BEE55AA0E15812D87E7033BF2CEF3BE10ECF668D3B57D6EF1D4335152CB -08DA4049A6427B9316D259BCA63E19A4A7E61F818A7CBDCBAE5653E799A2D1E9 -4E92E4D8194F0EF4C784D9D7BC3111A700ED3490FC6A90EE9A0617839864C601 -50B8E1F0EA59FA3E74D89153FE071A67FB6983FD277148AEEDA68B92ED8BF8AE -2D52B81E4F45E8F6BAB8DE959578F75D2A7B702B9F6500C278F99B938A4F760B -B06AA77A263B4A15930707AD75157D40A1328613AA1C46E576026A5732F8F856 -038DB3878E28108D3E22DA1274EA38CD3F9F7FAF +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D77639DF1232A4D6233A9CAF69B151DFD33F +C0962EAC6E3EBFB8AD256A3C654EAAF9A50C51BC6FA90B61B60401C235AFAB7B +B078D20B4B8A6D7F0300CF694E6956FF9C29C84FCC5C9E8890AA56B1BC60E868 +DA8488AC4435E6B5CE34EA88E904D5C978514D7E476BF8971D419363125D4811 +4D886EDDDCDDA8A6B0FDA5CF0603EA9FA5D4393BEBB26E1AB11C2D74FFA6FEE3 +FAFBC6F05B801C1C3276B11080F5023902B56593F3F6B1F37997038F36B9E3AB +76C2E97E1F492D27A8E99F3E947A47166D0D0D063E4E6A9B535DC9F1BED129C5 +123775D5D68787A58C93009FD5DA55B19511B95168C83429BD2D878207C39770 +012318EA7AA39900C97B9D3859E3D0B04750B8390BF1F1BC29DC22BCAD50ECC6 +A3C633D0937A59E859E5185AF9F56704708D5F1C50F78F43DFAC43C4E7DC9413 +44CEFE43279AFD3C167C942889A352F2FF806C2FF8B3EB4908D50778AA58CFFC +4D1B14597A06A994ED8414BBE8B26E74D49F6CF54176B7297CDA112A69518050 +01337CBA5478EB984CDD22020DAED9CA8311C33FBCC84177F5CE870E709FC608 +D28B3A7208EFF72988C136142CE79B4E9C7B3FE588E9824ABC6F04D141E589B3 +914A73A42801305439862414F893D5B6C327A7EE2730DEDE6A1597B09C258F05 +261BC634F64C9F8477CD51634BA648FC70F659C90DC042C0D6B68CD1DF36D615 +24F362B85A58D65A8E6DFD583EF9A79A428F2390A0B5398EEB78F4B5A89D9AD2 +A517E0361749554ABD6547072398FFDD863E40501C316F28FDDF8B550FF8D663 +9843D0BEA42289F85BD844891DB42EC7C51229D33EE7E83B1290404C799B8E8C +889787CDC194F782420BB447DE705EAE7963391B3664618A8FEBA38AB6049859 +CDB7106930EAEF418766870E432B4243618901FE4D17464AE8C1ADDBD3D43DC4 +15124206D1A6BFFF710787394BC0C12968E9933F8C840A487A2AD0F79C7007A2 +F2D2AB0B026C1DB248D198C0C4DDD16E49A27039A2F17CB61A82405D4CE92989 +C3E78BF0E98EE4FB6268DCF5E991C3D1251CE4592399EF8AB71C44C45F71996A +50A685BA5F736E70D8F9C3ADF3BFF0EFC3E8DFCC0B6C5CE91961141DE8A9DEC4 +330F27668CF9C511048F7AD9EDA5599C31AD32E66BD16393E546C1F498B49C9A +2ACD4A1B1751FDD4F83E5056568FB792A09E76 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3738,233 +2130,51 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMSY7 -%!PS-AdobeFont-1.0: CMSY7 003.002 -%%Title: CMSY7 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY7. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY7 known{/CMSY7 findfont dup/UniqueID known{dup -/UniqueID get 5096648 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMSY7 1.0 +%%CreationDate: 1991 Aug 15 07:21:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY7 def -/FontBBox {-15 -951 1251 782 }readonly def -/UniqueID 5096648 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY7.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def -/ItalicAngle -14.04 def +/ItalicAngle -14.035 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMSY7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 48 /prime put readonly def +/FontBBox{-15 -951 1252 782}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D9DAFF1B3EA76067 -C5493B69F73B89C8B61804A34FCEC826343337CCDFFCE17BF343EA8034BF95AA -14C56862C2C052569AFB236E1F1795F05150C8F28DFEF6BF4BCBACB678D00036 -30EE84FEB44B1A8438185EB45654E6853C1159B073E54292D135F0961A64E8A5 -AAE49C4BA9C44156C123426212120F99F3E8B7425752A5FE384AAEF755A8464B -51F015F9E2967477D57B22627D75CEF8AAAF0AEBD504EB46D0289DFC8D86C972 -F042BD88A90A53613DD93D8A7A8460E63D85F6C15C000C0AAEE4BD5130B6E668 -8C9B3F3FFD804745DA1D5EC0AB85C96E1724FA67F9324C59275415182AB48D57 -9722DCF602396AD4B5C075A5A89A5D005C9FE11273E5FBDDD1800F11BBDF6AEC -6711C5633A73AC5DF038BA521AC492E138F7FFC7C5438FFD32FEAA1128C66E83 -0D3AA40665F05E62D7EF00B1B0596162C402A34B6BAE6300D43F3DFCC84860F5 -C0F0F1CE28FC60642BBFE9BC9102E80146774CDC88F9C250DE762D24A3484BCD -1D26B6D9FE981CA5AAB2A4BEDC528115043DC18D7105735D7528C2C5DD89A812 -75B5D7B2E5A586FBB0C061E708F92C1552F64A296490BD0F20243986A4707FF9 -8AB3C917B8DB92F19DCA6B9D4A1DB57515E51DD85D5C9D2CAF7A036AA3F9E9B1 -5B5E099CC05A9126AB274C17D75CB4FAF78052366D2F21EDAADF84B22A2D645A -3E65C4BC0F540B5D9609D88DD0E4CBEEF87C16447D43A5F98528FD45ADD10DE6 -41AEC411FD6929308F0E4F48A8D9C9EE386E920D41C1CC98A52073011DF5BD28 -5683F280B5CF7F27DC50930C81D344FF5A8A9258A207D2531AC21A735B14155B -C22C752DD22AA33C52D6D4D053B3E46FD4C9129068DFF52695A3A9184D04E8EC -93696A3FEC3AEB3814D9015EC14C22EC3ABD5070E8C28A3B42F5596D948212B4 -AFB9978A0A361135C9E18CBDC98E0D1E8BDC17E25DDB3D52E86127E5AAECC55D -FEE61693190E378978EF1BBD4D1AF005D511C7607CCFA4BCBD3EC427CAD82809 -B725B25AE8A03EE88F80A7732A571A2317E0B6A0D072EE8CE2EB9E033CDCC899 -B64CF4FA1C708A885442062F08D3D8DAF44C066EE278714D1486EB709D327865 -A483F62709E89D08291F044325208EBA758DD459481334F5D9AE3BB61B3020F2 -A4538CFC2C94BE84C920BE80806FDCEE394230730E049333A7E16509207514FD -695B5E0AEA9E4A9737311AA0B33B15F6769FF865D1ACB63DC6201C3F1062A3FD -1B446C1857460745917A36289DD57C94FE6240F4A40FBDFC10E91B91B79029D9 -9F1B9C74E8E5AA011A0ECBEC660230AD5929F01D0325D15FDC0040406F124021 -02AE176F4C98BAC1706F03C2B5B40F325A50CA4683B2BB4605E68E72D0CBDC2D -96B3BBCDD01201B650A7E7744D58D1E36D81FBF72E0A875FF29B4C109A1950FC -9621B18D58806392EEE9841794DFD39E3C4E20D45384FE07F9D445F143B922D1 -AB350AA6DFC51FCF767B141A392D6A8B633AACBCEC9F56A0CF40AB08020EE63E -08CC0BE01B40E86388A65F5869F2F4D022DD4B912031CB8CEDEDFC2473772569 -5B28F66AB74CD7902A0061AA3547D13C7F0C6EEEA7B0BD316694A94E4D672520 -EA044AB28D8D01076C486CE456EDA1811F7ACA75D27473080D27D3E681E35FC6 -447046120C6CC4C17674F0F051570A79DCA74848F3F300B58B19018430D99858 -CA5504084D6BB74CFDB635B6866974A9AF05DF201C69352B2663B0623E7828B9 -5EC5FFA8D8F10A7C28000F8C679B180067D5481D6315BF1C4194EB171C8F3CE2 -4CE319975B9E948D907F9F7EEAF07089844391555F329E331D52FF114668B8A4 -80704B3C6AC0CCAA2F5D043CE44E65EDA89A0CA854CFDCB11D549B7FA72EDB90 -D35353C34A771B1FAF96F83FCA5258AAB65384BAFFCE448690C1432A1F749C20 -5817205185F973FA098BA856584753E75EBEBF387FC155202885F5B67117DD7E -70D1CD887183C5573B6FB607D4F6CC9F8B94B09B3F3AEC2EF1E6A320CF6D0112 -63046321941D1FB3F2140B59370AA9387E24D579D389A166A10C989497FE9549 -34E1AC2E546CC06C5308460DBEF3E1AEEB6CBB0FFDAC458E61DE3391480CF5CD -34A647D4DE15B81131B7D1F9EED4C6837A32E89B0EAAD6A05F5F67518655E5DB -224D4833CEC60D5DBBDB8A03FB1A9730589BB4F0FF56191D17E73B9562E0C356 -B188882B36F9505F6F42EB2644FEE125C2A7D12227ABC8ADB924E88B0A9E8DC2 -79762523B0B88DBBE6AC7968A46BD9E9F0C3F03F5F64724CA07782195F01F130 -30DBE895C212E0EE20162D863F46A674D85232FA0DEE69A8DF019794AF6873AD -9CC2A5EEEF9393313CA519BF95C08ADF7A75B6F53EDCDC39851D20E58B97CA57 -A7523717AA1821DEA94C8A9F8B82346B16D92D15AEDC16F0011A45A44B09DE47 -08CBA46E8511D0C5CC83F952EEFA4ACFA7F3D7FA5E113EF6B70E5ABA6F1AD3B1 -E4D3B15AC6D5C3BC70A3946F411A7D965D6FA9D7B6C6ECE19B2C29A2FF476251 -EBF0CF3BF658A1D896323706172746F58B2DE49F8B7E431E20304A42694CCF73 -11C4E9E96260CC442E2938A1E27EE6744C7CAB01634C8210CE40488B9CBD757C -4277B5E3E43C7560291D945F9128AF1F85924003418F96458ADDC5BB8EC431D5 -AC9093D20DEA69B92454613BC1A82DAD4FBF8E56084494D9D2FFABD82A7C9847 -171FE36B265B546F3072B0923840E6C6BB12CA53E05A99F0E8FD4F5109782746 -7CAB9B35B68050230736AE624B7862D1244C7D9BE4D1CAAE21B123D1E8372377 -F1FEF269A9A2EDF02CE0CC8BF92FD7EF09556987B8A3BF6D8C0A663DB6B9742B -E9AC61A449106AF1EA7ACAD40AC6F59427CC51865E6A90CF2AEED8D6037BA70E -4ADDAF622CDE877C98C3B2006B4721FC9BA18E30F0752BD4ACE36221F5CD1497 -8FEDA5D643BE2EE007970A68E53D85975116E6CC09F0039A09EBAF0CA4B0EED6 -A485CC0B69E526033FD1C1190BC5686739CE13D1AE8EBCABC01FCFF26141867C -44ED291196E546369129B9F759FDD7DC21BAF0A528FC34BA9FA8937813953644 -C539F9DA4E55E83DB3D6DA309C562DA1330B157957B18F7618544AB738E25F16 -F0517CD13C1F11BB8EA056BDC575D77CDC526EF497639DD89C2098660C5C45B2 -D7CF715AC5E76847E0D3178360DAC1BAF6ACAEE72453B845B9F86621C166857B -029CEF5AFE29D1EDB4CA3AD7D008B7550A779E0066D7312DD6C7AFE1C0BFFF25 -7B062B0DF30032EA2A2FE3CC46C96A3A0BA1888D1D2B05424A59ABE3EE928ED8 -B67F507EFA78AE128F58B54634C7F534B3D0F4AFC23E38FB56EB39CFA425FD37 -848545EAD03EDC5A9E796CEFB345F527615C785963F536972EBD9CFC4A6A4A07 -5A31A508CA147FBB762ADD198CE36DF86730FCE2B643D1E7DF0BDE800DE7AF89 -44A36B04193E44231E08919EE91A8B559646DC4DFAFF0AD891890A0A88FFA8EF -B066BCB7AFCA409C51889E7FEB33F19A3CB1268BD0EA74AF29C1401BABD16F87 -ACF7DD65A8513DA9995C5092C36A774BC4260113360D29AF7ADF5D22B5B58E7E -A9BEFC33B9A91D2C397B27A81087376CB623318A8362C3FA9CBE3026675723C2 -E711910DDB328E0EE3FCE219F44FE528B70E58B8E6CDB4AAB48237DD933D9639 -E9D4F9EADAA8D46537D964D75C27F210B0C2473CB60D65F61BBD91ADE01576BF -77C49E31936138B0FBA066BE910DE1B1F0E4FFB5E81038E8656ABFF08DFD923E -6BA2AFEDCE6998BBF7045393C34811501586A4846E5B942C8E99D4C481D3AE60 -2796ADBB5242D59F1116EBB828014BD903EF58B223DFD18BFBAAE4D348876B06 -CAC10B7AF0DC270E6702A3F75D4DCEF872F2CDB9470AC9A1DC1ABCB55636D26F -9CB6BF27A0DAEB1F62AFEC12F55F78C9B59AC6DA9DB4B45444B0C582DB4DB8A4 -B31EF4AFB77988E92FC0B257374B4408406490D9AFCC495316D6C08BEC9A76C7 -12371E14417711EF802FB7151B3F6A2580C97527C9C3A0FAAB8D62FD992AA18F -EBEB36F7910186CD5F70A55DFE932757C299D9D2289796769A00A0C6ABD18F82 -E0D4E95D6477E67B4C012DBBD098FE20E2F15C412DD2AD5471A65EACE05B3A1A -0C9C430BAEF4887F2CCE668116B87FFD9DAB4B9B3605CD26E6B12488058AFA30 -8843791A95BB322DF5C47387F3EC72343855D6B23D72144EB5EB5157B8B238FD -6C71DDDA64C9539F66A7DD569FFF43DBE4A8F0608A3CBD354DD9BAB5E3C756DD -92C3C1B3E169D86A2230299432488BC04A87E08A80809F9968676DF9157B1C91 -27C664ABCCBA9997FAD8966F766B325086899D1FE44581FE07C97688B3E15B0C -234A22646C32BB965B9BFD2CD34854D1488AAF021E169BF9CA9665CF040E25A8 -16156C80A2F47397CD370AAEDA731E0D14FBEE1E51A17DB972D96DBCCE33F937 -5CDBF1A650BF1D3536BA4CB7A1CACFD5CB457E2368A660A62AC26E64A631B2BA -6B08EBE42E02D9B1B2E95BF9F0A6B59C96A122968FD46A4D17BA3D018CCBA0F9 -80BA3C1E6C683111AFF79303CF64F1D2CCBD7571C6E09DD9B27B8E101BE219F0 -E075880A0E367885AC94143E777DAE455B990383100EADF786300602C2CE28F2 -4F44662FDF03BD39A5181912D8F1243C36FF88882CFC4B34C1D4EBBC01D96A7D -9CE5303042D1B21042E4FEAA455F22A01333FCAD7E4AACA5D3A5386331985F6B -9B247EC6310BB07507321BEF3E4ECFC3B915AAA6E029B3999644C987640863B0 -5DCF58CE479497AFAD1208FEFD1796E74467E9F7867C313A3412E6923F4C9144 -C69EFA17965056DF043DB465BF2F1E191706D3AAB47E6AD5C9767E4A73B29F2D -E2E579D0262237568F82B360ADB6D0219B7535EFD02DD0688CDD23D84FC4F308 -5D2D0010B1A9F4F0321A00C154672D21708B66B91ADCF98BAC7A2F94848E9A4E -86CC82EDD0399BD9F13E43359E71F80086B9B0C3B6D08831D4479ED83E7892C4 -90C477BD1F06DFEBBF60F26516EECDEFE4787EEA8683754F2B257D0BAA607DBA -35EC6D1618C2FDF3881827F92D793ECF152D761F2423A96210F582DC9B90120F -26A33025414716A5E6F56D712E31BABE5047EC4855B767AC63D793995C9E074B -6E35C7E5255FBF4C3F17E7AD7B2A6C5F7459794FC94306B581536910F244BF5A -3158E821CE75F4B0565EBE985DF24DAA92F9C1D848EEC6B88E21FB6C51125872 -1752F7352291960E5BD36F78AABBCF6DAA4D07AF56E4B6058AAB13D41BCDAA14 -C0D63C6807FCD0E2B4B9CC892F224843173A75DC53A8F0FA396959C2E2CFE3F5 -9B1C8B62797F34E7A0BFCF0787C73FEF98442234A617CF161829498035D30B29 -ADFEAABD0B496E8A2E764D22DB7737F950FC5982F1C5F4FD414C1B0202F40FBA -62C81B8F0E836CD73D79366FD62388B437B81FC673442EE34BF27454F72A08F3 -389E60CE28A050601A42FB4491C60DC02EC008E6B9DD2495522BBEC7293E2923 -120584E88412DA7137397B41A28706B1CC6BB0C80709A2A4BA79822D245757A4 -3EE454198942ED2316FAEB981F7615E642167620EBDDC5B271E273216EB119C6 -4F2F0412F0BA6E3BA396217597575C6739194E1F839232FF088FDDFD3695A5CB -9A0E220389938596D8BDB183138E1F73F64512E4FAB5E1328F9B42364E3113B8 -004BE2CA0B074EE271BBE0260D31CE555D535C16EBB528747EBAFFF253E659DA -3A377CBE0B296276AACF0294CF90FDAADB4EAD5E2F600E5B2A018DEFB86FF61C -84296480A425687CCE37D671472537E897AFD4B8C6A6175E1ADDF9AD24DFC5C3 -A73E18AC2D9B28BDA2F17D51DB3521945850DAF0EE48B0FAC271544C1B4F3B2D -53BFC8DE32BA366FB1FEC0DD6C0B1FEA374CBE2B96F5B235A1D83A240DB442C7 -1460980A3E5B96AE3D5784DE2C2DFFA671E0A856DB2FF4130E5905F3D5338856 -C11A468D867D0C6EC585F1AD3E7164B8598BB59973B9A952FAE819F052A6554D -EDC342BCCB0525905D1D27ECB9EE43847B69AE116F494CB2DBBAFB2773F1A3E1 -C75FBDF8D66FA5AB4005757D631A0D9424FCDA91A1D2AC6FCE7CC7A23E84C65B -3E92BC684F23467DCF8521E0E27CF1441C487EC6E3BCA0AB54BB137E83776009 -833D772FD225E88A8BD992FD69819B3BA90BAAD1DDF16E4326190CC4BF9C30F2 -AF7CA1FB38E6387D9745FC5E176B248B1581BF7A4CA2FCA8E423DF340EAE29AA -7E07A25FF838F67378F9A6A9A0B404E01E86E64FEF71DD3D540D4711AEB1974D -E2E0D485DAFFC74BA6B8E9AFDA245BC8997BB39BB6BD52B496A09C68F7A8E900 -8DB3007643416040FCEC85B407EA0A946827771FBBEE49A3DA5542CC5173A31A -0280AB8E922C23C1BDD88D70627EF124633C318E7C9ACBC14AE216BFD41C0B6B -3A0161757913CA1F7B6626963C09936A52E73DD9B3D86DEEE73C0293A646FCF1 -21D4C33DFF1671DA7A53E77E20233EDE51571549AACB7968602CD03EE67ACACA -B231661CA9DA2BEC5795A83DFAF675E9B052C8BDD51490F7874C91EF5ED2E0A6 -BE9CBABB98A950F7E55DDA3823036437C11F614E27DA5BB8BC6D955FFE54B825 -0201275C2C49A3908BEF1DB3D87792DDFFED23DE7FD9CFC284F6255C77E54A39 -C2FDBCD28F2938E4CC135829AC1867CAA5705674062C9639FEEFBE49D6108091 -7C58585B80464F7E69966D7933C7019BF336B88B9E0E7073A85EAF297B71B303 -31EEE9121347A482D28CCE942AF53E94F88A97EF2F1860A92CE29A14495D67B7 -D37E207D42F3891E0423F5BCFFCAAC057FEC683696ED6FEEFA65C8FB6F1312C5 -24A1130192B4179F3B08DA1C951D988894E7FE7CFC28C56992A1CA82BF8BDBDA -E021F16E630FF67201BA4DF5F3F4D6AA65B8347FC1575C142C6C1868E8472BD2 -CF191137AE1B36F32FD84DCAD50644AD55EBA2694C93BDF984A5C9E7C92B73A0 -26769F00831537266FD2E711AB3F8AFC5F3FDA3C9E6439FFC48C3D1B5527FC56 -1FEDE991E66E8465C0E395EAD0A22A2FDC001E449AB9C5E0EF187A1DE9B74696 -BEB6A525DBF3A60DA2FBF1579150DEE1C5D1B6F55FF2708CE23289803CE123BD -C81E25DB96551A13AD713D5C7BFDD3F2E1D5C12463A195442B51909CC1724E50 -A1F6F4EADB3B7355908F36F88521F333C4E7C70B094209D1F883B961DFAC32BC -8C5A2CAF77CA5E6AAB714CC0AF2B42FFF6F73301FC71AFFA9B33A2153F55C2DB -C1C111874DEC37CB746BEC9A3A9A37A2DD098CE7C66B0FE38460ACD77A47D53C -1550F857FFB733B5A8D02FB56790A09190B29CCB4F4A3058B1C82F0CC5E1B2EB -2F8E06F2DE531E1EB81326A8EF0F82843A4AC59D267EEE45730895752820BA93 -A129C22A78C1AB28BCF67AD5DF372FECC9EE6719A02E499FD5CA866688E86089 -7EE8E5912087E0C4588DE38428114785E0CFEDB1E2EE24CC067D107DFDF1E2BD -B1C4F9C6B740F3DEA0BD315581004E851ED5A9F66C4F9E95DE97D355DB06F482 -A43B565F1255A85710B15A281E2F034B1C23FEE6CDF3A043780CB6AB18A016F1 -9EAFE545CA5A5B5AAE2459D69D2151E99D029FB5C1649B9DA784BFDF7D177385 -4D8B16B9922D149FFF6B4F99311D52BEC9A9FC098E7192180DBB38767DA9B9C6 -E8CFC98615219EF3AD4A8157D14C72BA3F91C8B78381383E0BCA1A5319749E08 -D67D1208C693A6640D1BD6B9285AC0D3110CBF8F7747AD12585141C3248D0BB5 -BDE892F91A4B3291F21F30294693518E4629A3ADD7C8640E424FF615602C603E -1E14DCB3B17D34C090BEAD2A523E260A599522329B698729A635CFB15BE7E79E -6A34DAC7C3ED57340821A4E7A0C7F88F64BAA69BB80DFA8B659F4756878E3044 -E1DB7EE4FE60074AF97818B3D36CF51110191B4E10655F52CC5D11F56517CFF9 -04BA2676F4147DC8192C98C555B01CF3CE65912744C4B419499D3F6B356E8561 -A9171BD894DD9FD3EFF11EE4830B1ACD0DF81BCF5D1D288DB0C09C934E3276B5 -D231C95BBC9D2ABEE4F39C9AA60948803ABBA21F8768BCC0F612565C54AB722B -328C3B489822CEB0BBC8CC31A585E0DABAE1033FDEF1DEDE464D93255B987241 -2694F11CB11FDF9C1E058D7D27AFAF8DC868E0B3173F58F0DEF25FF1EF199DF9 -5C809F4776961879470BB5FA281D3A9F7949DDBB523E307ACE84554A +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D251491EBF65A98C9FE2B1CF8D725A70281949 +8F4AFFE638BBA6B12386C7F32BA350D62EA218D5B24EE612C2C20F43CD3BFD0D +F02B185B692D7B27BEC7290EEFDCF92F95DDEB507068DE0B0B0351E3ECB8E443 +E611BE0A41A1F8C89C3BC16B352C3443AB6F665EAC5E0CC4229DECFC58E15765 +424C919C273E7FA240BE7B2E951AB789D127625BBCB7033E005050EB2E12B1C8 +E5F3AD1F44A71957AD2CC53D917BFD09235601155886EE36D0C3DD6E7AA2EF9C +C402C77FF1549E609A711FC3C211E64E8F263D60A57E9F2B47E3480B978AAF63 +868AEA25DA3D5413467B76D2F02F8097D2841EDA6677731A6ACFEC0BABF1016A +089B2D24E941E5E7649642B5280D22A2A1499CA9708C88490B456D647364C957 +D289912A4360E31002BEB15135CC9FEBE452F9F6C627968ABD65EC4D987AC218 +E4C5427189CFB260E8321817639C61C05B19DD9035A4CDB46FCC415633BB924E +C508609EF6EA51685FD6E4EB10FB915414DBB3022D3733CBEB1BAFD628ACB64A +661042A600224B084B612B557596A01D1F1F5CB77E3E63E93510A79E0D131271 +3F35F8C34F36C30A593689DD275BDB0054C56527EE372B33BB5673041EE004DA +002AD9C278B0CBA7F111CF641C05FC33AD07591C6FE59CA12B0E2D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3974,7 +2184,6 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: TeX-feymr10 %!PS-AdobeFont-1.0: TeX-feymr10 001.001 @@ -4216,41 +2425,30 @@ cleartomark %%EndFont %%BeginFont: CMTI10 -%!PS-AdobeFont-1.0: CMTI10 003.002 -%%Title: CMTI10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMTI10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup -/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMTI10 1.00B +%%CreationDate: 1992 Feb 19 19:56:16 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTI10 def -/FontBBox {-35 -250 1124 750 }readonly def -/UniqueID 5000828 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI10.) readonly def +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMTI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 46 /period put dup 47 /slash put +dup 49 /one put +dup 50 /two put +dup 57 /nine put dup 67 /C put dup 73 /I put dup 76 /L put @@ -4285,450 +2483,283 @@ dup 120 /x put dup 121 /y put readonly def +/FontBBox{-163 -250 1146 969}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 -5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 -8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 -EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C -02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D -46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A -4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E -2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A -EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD -8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF -CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 -7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC -32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 -482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF -118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 -1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC -C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA -8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 -61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 -C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 -3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 -9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A -D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 -125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 -34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A -30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 -39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 -9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 -2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF -0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 -3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D -9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 -802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 -FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 -98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 -5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF -AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD -A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 -5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 -DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 -4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC -8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B -A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 -E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F -42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 -3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 -A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F -7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 -49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 -D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C -0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 -CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 -1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB -8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 -6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 -83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 -60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 -42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 -1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A -21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA -206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 -D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 -7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B -55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 -6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 -4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 -871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E -9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 -DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 -41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 -2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F -220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 -A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D -981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F -337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 -139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B -1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC -100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A -1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 -F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB -72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 -A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D -310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 -7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 -1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 -8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 -80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 -3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C -C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 -4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB -865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B -301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 -3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 -1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B -E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 -0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 -30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E -2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 -C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 -14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A -44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC -CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 -DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 -9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 -4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 -2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 -21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 -47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 -F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 -D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F -03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 -886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 -352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD -9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 -9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 -92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F -821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 -3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 -47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 -F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B -9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 -AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 -C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 -B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED -D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD -F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E -81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 -970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C -6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 -97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 -A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE -AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 -971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 -514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 -8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C -392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 -3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F -464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE -C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E -F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 -911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 -261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED -D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA -147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D -C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 -C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB -61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD -FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 -F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C -2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C -7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 -11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C -9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 -C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 -1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 -5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 -6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 -EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E -F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 -AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D -8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 -376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 -B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B -02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 -4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF -9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD -751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 -3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A -40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 -2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 -D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A -0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E -8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 -AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510 -6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B -CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E -DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D -098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337 -900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B -41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149 -7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA -2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC -A91885E7410F56F60C29AB8B417E2D6092F8BB70A2DD5DEDD4BA1077D7CC62FD -EA43428C6F79C332342E15F75B08A1ED360B3511F823E75AD49BA7AE63B19238 -2AFE8FAC2715E2FDC895E95036D23127557837506A3B542B0E4651CE2B89C252 -31EE8ADC26E2C04E8E30A9CA12F066CE01953BE7867171FF6C7E834742C36C3B -58E74E4B482CB85FD4D24DB03D753F260A585D552CDC9E1941446F2F5B45FF24 -2DA4932B973139F328E7E92828B900BFD398B6F41DAA0D6861C66AA7F5E3299C -87A5925CE0E0F9E09AAE0792954A1F2C0AAA8288DEEFFE579E38A3CE8A943EB4 -55322A87C1634074EBEC25F724DC1BCC1BC10458CA6C4395659B0DB6B612C151 -557CC669D8DC37769E59A5AC6BF061C79FEE265DBB59520EB8FFEA273601D1E8 -2984B8AE31AE343F37D03E2BF97DC48AFE50BB6138C7B9F9B5E28672A37BD8F5 -8F8C98DC43DB22C6537028798198E2D3B0453ED72487267D653DD50F1BBBDA92 -833A987A95FC1F275B90B581B4BB62B6863A4CFAE37F715EDF3EA5A33679FEB6 -4847ABB4B3D170C275B9F1AC3156D731198DACE0B051674E85B758500AC9FBEE -ECC75EBBD85F8D62AAA328FB09C6526F853077AEF7EFBFC2B6A29D6D508B1E19 -EAFA4C67EEE44045B9F15B9762B3DDF5CE5C18B23A5C2F73A1F6DF7F8679AB78 -843AA41FD2A7DC02B45B729EB76C66A89F5F76E5C4A0C0563B1EC5E75D72EE35 -A7F1FC89216B60D82F6F2B8DBE85E4FF4D63712C689E696F60B52AB622C2A4F9 -37C380775EDB72638D3F81F61D8D74C76D813DDFFF35ABD9A502F2BC7FF65754 -2A8660A5A53E0CDC2E8A95B6E33CA153EB711DC796D313C8183D707D3F0E3EE8 -BA65E0FCE3F1C07F3D93F77056688B5496AE35A6BA0B59619DE786471561FE5B -721D4F7B490FB5485BF7B79D897C0828396AFE9CBBA7A1EB4EB59AFEED0A400F -F53C409C626FCC8D058DFBFE442372B08A3124CA8D553818DEAE44E957169199 -1176F56B9574C4F00CACD6246FA6078355F2337BE81CF88EF1B4ABF118820254 -263E3C10FCD1F1EC8FEFDCC983B13E5AC418B289D3EDBE86B80528191757BB77 -E37700D66FDDFC890B35AFE4DE9670467B5A1E6D748E3A08396BA6796CDD7D5E -E5949236930A173A205C6C609E1FD66B020CDC063B34309B96F79A0BFF749427 -D37193E3DB7533C31DA1E79BD5F165EDCCF3422C41B8C38A2A054B57FED28031 -2DB2C88B25DB852A163DCEF9F111BE9D14349627DF855C026A73E52351C27281 -5D47CD6A5B2ED1DC997146A22768AC82C7B98DA3406455638F8981AF7707EEC3 -B3C5AE4807D2D2323CA0BA3959EC6B5D1B31527E274BD48632AC81F019E14E65 -EAF7E3C26DFA63B537ED531EF73DC0F75F4A6EDA39C26603CAFAC6C3084F0265 -7F8ED654548B36A9804CBF93832746E0F1F37E6D91D2B85CCCEE3A92904D1598 -E83526C45D8BDE14235BD4EB20213459C0F6CD4324737ED9957FDF6BFF93B9FE -D0372D8DF63481255FB07C915411AFA06B3C3D0E4E3E15E5CF2FF021CF6AF459 -6330893FBCDA8160C467A7EFCB0CA56ABC164CB4DC953DEFC223DE86F9DAC374 -E9A17AB678698D2B6F11332AAE28B734AC1ACD31713A7D8FEA52AE1C01905E07 -5CD64CD13839C4BAC14F33BF9787B1A2CEAE7453100566039B1F7DB5DFCF2450 -270BB75F181704FC3ADA152A9B3BB861E5BD60E48CCFD9E1AC3B55F8ED2B9885 -FE84047D1E67E93109D7E964569E95281FC5F9C1C84579534D13B1918647B4A2 -39A092115929FFC632CCAC5A00DD256336B5AFDF415DC03A88674BDB9075A799 -58BEED0281A71DCD2D3908BDFB8C7687C5658C91C37AC2F697D6A08BAA2CCEEE -63D016F562F7879D063B8B807FA2EABDC7AAFB5BBBAE6CC925D8B78F530244A3 -52FBC02B408AF647A5829093E12AF3A1E51754767436E5AEBED97B7C4C3AF9F2 -89D45F6F5B8835439252364D26B9F39751B4E4050B5A07F93E3519B8A6C3DD17 -E8402DB3FE47BB42024979D884E58AFF5DFE327A316832E831493FB812DE06FC -45E045B20BBBAC79395715702FF0CA2AA075DD434B109949943713437283C436 -0DA5E8939C089A9522682E915E8098B7E75DF32D119076FD65DE0F7616D306F0 -FDDB597B89222D218FC030E572EC1A50A19411A7ADC7887FF488797361A94357 -023089FB25FA0AE578EC494274385E1701D9A3C05A5BC6B99BD59046619B837B -036A0CB59874DEE665DF98CAB40FFB1E056727DC8A782878684EB08C640D9000 -312C59DF111AF9BC4B531E1815E24EC09C731CE7E8B788AE556AD586F1AEB28D -5AE90CE153519AD5D3887C2F491F598FAD74357A01189010DDFF8452828E7FC8 -41ABB952D469873ED994CE589997F2529D94E984D611BB99715DEF9C16CFC8E4 -2288722B9A8228F7966AAC9A87D5A7B803633335E18AC5537747D45626E0921A -3798864990AD376C34DE2DF16332040A340DE3FAB9B60665940F86E19B4C415E -1286A1C9A583D788CAD4B6AE34147BD0923ED599AD9B96661509711BA3158A42 -DCEC6D3FC10A9F46C771019311BD659AC492D7DAC9B4769ABDC44A5881B4A812 -F80AFC7D3BBC38DCDA7F8B2FD316B0B148CF66065908F7E7345FA146B81C0647 -89F45644A0EE31D50531FC5D477A4FC28C56EC6C334AEADAC23D5EA8EC374093 -9499BFC93C684E2FDF4E94D7A942728B4E28993D11DFD2E0CBACEAC89C0066FB -9A6EBBA8C010EF9ACDA7776C9094DCA696D4E87E80064F01C089FC16347C50DA -D5172BC0793209DAB88D751DA4C1696DB9EFC9B79D9FE51F32F74BA3AF4EB7E9 -93ECCC9A323D96E3C1283971EBD60BCF6EB1A074C78B92C85737921A20CC06C3 -0063807305A4CF5D5606205208C9556E022CFD0B8863C138D70FCD7DEAD62F27 -84FDEDDDEB590DA63250ADD450A470CC006F64CB52AA782FE95A21E1E4583495 -ED142467B435F61458E29FB460BEA937E6D13E62E32A15E29AF5C9796D8A44A4 -C4AE1D90A357A97180299853852E20010B4D894898BC2CE91536BA2E5EB13843 -03532ACE802F6BE33DBFDEF9E78714C0AF13D8B4D176212FE44AB38E1B36BF41 -24E785DB94486FC1CE08B74B1C5F2E4ECAC5FCD4269FE95018D2916FA9700F64 -828AB66C85255A198C7FC09AE8F061E2496AF137CC128F85C00A7F650326C8E7 -7F3011EB62D1388E9BDA4A43A87327CB0C5F059807334E6BD8500ADB052477AA -301076FBD4EA24253DC8BC26DC1B8FA3FE1423B1BB2CD892B6A1B40F668906B9 -0A96A2BC31CCC1FB05FC4655913C9E845B3C433E962594975DC40590A5E44664 -942061BA6E98E0E4BBF0C9F7DEC9CB80A60185BE14ECEDE705A42E0A423D369C -19560047B9C2D62BC1643F3C6712301A1B4D8B7FB3FFCD19EE5B5B59727A1E0B -5E2771DDD9A581DDB6F5BC38E6C1CD6FD7731177D36A981EC41BE44B1B9F6564 -8E691E49F7809E17DDCFD5D479CC592B14EFC1FDEB117A9DEBCAA1C387699144 -2D79B815E02F38F24A40DCA0E53D6743CEBDE93D06E3339435B42911F256C524 -E15C7E5DD0DC978A76BDDCC17CEFF6EBBDC45F38131111C3BCBEE72366857AA8 -8C30F33B8C3D7AE690C38FCD7C878BF143019E02141540C47A103C7B73CEF881 -73F2DA31482A8F35EFA24C332493C3381E9BBEA7C2751BE3254CC478C5B014F8 -B08554F595EE02EF7C49AE12673FF9DA442313ADE943570B8B58888C33015888 -C769DA081B9465296809986355A3F5C96E73B0AEC33172F83FCCB090B8E553D2 -FEC55E65F7434A073D78DA5521876C2AAF84573CA15C13E8CF9571E8C319D430 -9445F3F574594CDCCE905B5555F5DE2AFACC905A7B50CECA0E5B2EB98549BDDE -4DE485022CF8E008253FBF7C028A684B6210EE3EBBD9655B1A933028B809675B -2CA309A398B9E9D624E6B039BAF6520772B096B0FA7542458B0C371363926449 -A2633CC1ACDD73E48AA67AB4E1DD05CDD4F3C0CECC3FEB607430444599F7FA12 -71AE7CE1336B094BBC9037A61C543B62A3ABF3AA4EA2F7E204B5FB801F24FC43 -A9730F95BA628CF6D8099F77029AEAC6991BBC5E5D546C71CECEFAF4E549619B -172DBA96AEE9D82CD3F13D91838E9F312D9C843CB11CD4A473616AA6028DA088 -973102A83E5F68FA916C25E6759A23BB9DBC3232FF3A2BC06A675F97336BC37C -76F17B16D3F10A0A867589BC2F5C65EBA435FCB8D8258E30242B29D942D2E5A8 -BD0DA481E283DF2CCAFF9022B6CFC4B57821AFBFB8107D38639C0AB36C736B94 -4D7808397B4B7F2413AA2C25EE2B72B3F50440AA7DBCE19D438970AB3A865CF6 -AB6C8074E68401C450358D62B7B015A0E5228720967DF06F8F82B10EC05F8728 -DEC9AE94E0D89407E174B0E5DDEB04275BBB8CBD02B05B880EED8F279D44E934 -5C0ECECBF1EB48EB31C7983CAA32F822EC297F96E1011693DC01F20993A52652 -AC4758A9167209BD8D5072E034E6A731A61A764F6AC2906F522E776C7AAFD12E -407DE110C6C99775F8FB65953BC91B9192EB039BBA7E9FA3DCEE57BD2D0AF796 -52D711D08E7A899E55804819EF95BFF3B8800E7D6E3843AD90E4254E58605FB5 -9F174E5613CFD422793250282DE29F5E6F16420C5743CCF01EB86CCE8335A106 -8E058BF151CE9053F07DD21969AFA9EA431D4AD328354F932493D8C67AC3F571 -45B6D3059263BBFDE8455469EBDA3493B9ED6EB4CC354B3382828A0BFF1AB09E -6D290A576A0A438866D09FCCFE058B4D01A658261E95845FD9ADB65675BC3212 -68B759CE87C34B5F8B0EDAB2C64D977EDB25B1F51A0A67E7633FCC513F2E8DB4 -622AFFD31CC6FBF4560B0522BCA967905CFDD8BA06B0849434AD6D907F9E05B6 -E6D1FE8C6EFCB09772F13997AEA468F30968D76BF15DBF963CCCDFEF6257439E -1FFB4DA45428BBA5D8FF7D657EFEA037141E45CEE6CB1C20F805C87F6275F8D8 -E6C90CC150C55055DA347BF86FDE68C3E34B79D9C0468AEA96B5B03B20EA5A42 -B88E3A476C947E98F21163D90116F76EE36DD0B5E28272AA6785A18B9C1DA18A -C3E0BA78D399949C59DAD2FA3079482BC232578AD766F51A1DA0632BCCA90716 -C0FF76765E032D338EA24DC264485A664DEF53E6D57DC119E8ED767A45808D36 -2775EF2D9F0BC9D23D7022696077E713B53CF382F976DBE1123B2EF4C1F0000B -A8967CF0782AD3EFE32BD0152F20C85A2880525F8044E1513FA572F94FAEB2C6 -CBB66B9085EBECAFDAB090E00AC5AA3189DB2DFE4C0F669E5537E67737D1B906 -D02FEC8F768DA7D2ACEB068D985ED72BC37AD5405F2A11A2A0F440051440325C -245E40D130F2750A82D28D2EFE5138C6EB59A08EA036CAF3F24352212D93AFDC -5D913C673031E10D55F23D5B7402ABC8F2B67E4A033A295486C9529069145ECA -FF8B0231B3523DB565BBC3A1EEACDE79E7938D298DBF1F59685EB324F62109A9 -E110B5AE14F3F3E45146EB8EC938B425B289233F2B50D456E8D8D2B9E5C0262C -A8C0A5752281DBCAEF380BC3094DFC1046CB281299B1BBBAAC7F9CF0453AC5F1 -83D5B7BDDE3F82FAABF1BA57F008754F362787CFEF08527C757FC9616A35C25A -903315DA4CF18DEBE048B8AC1D93F594F05C490A2FF90CF3FAD1811E085846B9 -1C1CD8C555164C4E54CCD75D221C8B6EC4655AF886B85FBE17358FAAA7C47514 -96B66245C44C66064F4F4A54570D2C3B59443AC8FE578481358AB40A173D020F -35ECA4323634B8035B5F1496048AE70026E8B849A23DE9D0ED42ED7E757381EE -E4A76DCDF78A4366C0BD22DB60860EF79B994DD5983141867F17176A397F64EE -53AF44322C605F9E76FF5FB0F1BAAB37612D7B51EA14FA31FBAA433CF9F6DA60 -92374E6ECB7099C0119B299E7E2D882921F143D14064569A6F7C8AF28B8A54E0 -CF21CA143FFF8456E0C8F8335813D22A6E85664D717F65824884F439830A1865 -E20D59E8C82FE84A7AF15BA9E298C62235425DF3D01D1E162D0205E9099DBBE2 -4E15F46D2DFFB2D25B039B91218734C656A310B21EB66B20C3240507B522E73D -43160E033CC5DBF6E1660433CBA17960879363EF2DD5E2C51E182CD706BB319B -2648DC63179031C81A9257791DD152B1A0E69B7162F107C24A1E6A99A0756D07 -AADB8581B69EA0EC17287A81D3A8C4A8032C37B84CA53527C20666EF92E1661A -83D27379A622C97CB26EE5BA91127BE05BC8321C5E2F7238442E9A906238FA92 -CC64D26FE90775B5644933FB9C42EFBB381E898B55CF65FEC8D9998AA8A8CFAB -94D4A3C036AD0389AA150EFB6FC69177DFAA17B1FD8F15F906C029AB5F78EC12 -CE62C6C150BB33FBEF49D56244469C8BF4B99D4543D05276281E9E4A260CD7AB -95B223F31216B8DA6C906E6B0DE340128220611B930316E475B90002FF87E232 -55DFFC71D33D1B9149A34EA98CE9299196ADFA2F555D55A88F779D82AD6C9688 -4D91F839F974B5FF5D0EF696FDB198F094F3505DB5ED91115C15A52B1FFE91B2 -55A7ED566F7E308EB0425D12DC608494F73F4C4FC42A414032F959BD32CBB9D0 -1956FC6702080AEEAC9C996A67D0464962A06AC369B12D18942F13294A189078 -92E349E4994AB4ACD4C54FBD1CBA7622868951C764174455149F850FFD9FACA3 -6F4FC40B943ACF4137D40D8CEA7D33D6177CD878D96B8B782BE396E7A3921F1D -163C10360FE64B06B1D23D086CD6A6FADF1289CA85B8D3D94251413FC00A5AD8 -EC59725F0B943E3CC9CE4EF0203304E95DDB232FAFE284CFECD5ACDE2744B107 -D3777714E9943C4C86BA0C45198A71017EF65FF54157CCBAB35513DE3EB534D8 -08C8D4DD40039FE2E33BF54FC2FD8692E33D0FE8B12922456773234610C07A58 -7CE6179DC2D3BC09230D1448955E918150E44A4CF1B26AB403E3454D6383FCC1 -AF7CC9FC7E58EE89EC294109E5074C61F4A81B5A56D51E6A9777B51DBCB2886B -9E4700A645EA87A182FAE9A1C43349C3281A908F8CE0ADB8F0198FC9CDF3953A -5E6FFEF4752D44B80ACD7848FE8ECD615D7DE7D93750FD89F6DA30BB050CE32F -EFEA4942FF6F5D120564EA4DE4BDDA52671AA708308C4C470F1423C2FA8DA662 -A7490E773721AC4C55CA4270A515EA3484F76FB05353AAFE878F7A07BDAD1128 -675DCCDAD05F035805655F98F3FB48031261D5B265A739F19401E76FD41DC1A4 -9CD3ABBA475B4B7566FB964C81E0347CC56CE5CAA36431889421AC38294EAAB4 -276214225BD9EE33D0EE06661245E760621EEFEF925E10EAB80FF4D7A9ECBA85 -D8EA887D67DAE4E10313DCD52BA837308B27278A03F55597EBBAF84437EDC0F5 -619B3741FC979600909B1E7E338C2ADAA21A20A3C00EEAF42B666A77E7CBD854 -3A30FACEC70C34742F8C2CE3368A8F2831A4F82FF5B3BEB5B05A6C173BA02F72 -A7891DE923AC72D53EE871ED508ECCE56A5CA48C130AD115D2836E7AE5C3725E -05BAF0FF94F11E95A45F7FDF7AFDF74DC4D71658CC2A46228F2F64EA3D3B493C -BA76D42F0D66729F45119854BF4B6ADCFE73DBACE13ACAF9A67E369A7EFF125C -7A2E1822EC0741CF5736C0B8529DBF9E961DC07E640D4FB30023B33F846DBB2E -A4B375F8A334E050F927B96ADADA8DBFE8E0FB365B7270F4BD4705D8FE7E707B -AB7F61EE5C34E67BFF11F20A7E5EF211E4C5E09AB53307F0B178F419CAE87BAB -D0B3C4FBEFCC532DE02BC118B6BB6FBF16A74A0521A87B0205F95BB7E24B2258 -4946C3E4D06CF90B9100DD7B0A0F8D3ECDCE92D19EFD84ECF7B7B81E000CB5FB -27111E7D4F7AE77CB667388D63BA4BFF0562665529E85079590D11751A8B54F0 -96C44E276357D65779019E678CC8D9E070E08796C024A036968A7CF879B42416 -F02053DCB073E464EFCA523A532C6BF404770DEF5A6C4A1399F9136210D6504E -DA29FD095A995115EF6F6AF865ADF62FCDB163516CA39304FD4EC3BFF80DE097 -E7352F5FCEDE23B4E9BCC9BDA0D2DFBDFCF2C3E2EC009DF0A5F5C75862BC06AC -8F2E63F8B2F023A5BBD075A46175A4F285F0FAAE2A1AD68C545DDFDFEAEF4DDB -40F8E6FDB9A55FF38EE513B4CDDE1EDA0506A512F36C22A4FBA03A4C72609224 -0B641A89BFA7286765632BCD99646BD6D468A9682B741F00CDC4A9584BCA0A8A -5B2143978F81CA520F6686D3328BFEB7CC8A25B5F71B512A255DAFC9F52E7B43 -BD8FEE4D54E66FD68774099DE54BB8066EA3CEDEE034393C75CC0B637AA1BF8C -D45BB97A2CDC19836B1588C685C8A2116E8CB4C464FCBD826C3A72BC1E72A5F9 -8432F06C241FB4C63EBC796864CDE3AAC680313DE926F31B10319DF6E88AAB2B -E2FB67738EFDE1549B88A691F9A370C57B9995519F45A6CF04E820ABA68DE586 -9C9EA63182EB0470788C5C24F342532D2146F7B979B013173BD0C26F09445CD4 -13B8AC6001DEC6B23DB9B88B8E976B9AC9EB14BBB57CB5AA03A2D694AAE228BF -F180C3F685767B79D0FA9B59566BF1C2DD48DCFD77242EA5E4F8E708084BB63C -BE2A9C81A842A422B460E242800B38FBA637007810E6AD16B9EBFA93D527413C -515F4FF941DE4B602B9593AAE2B2646F46F270B591D70F2F6FC5559522E7E0F1 -1553D6F4C4C625A655FF7769053CF664EAF942E46CBEA89A76A5C5B9E8D7AC4F -2AB3175C4EC603C20EEBB2F2E2C6D82FB86E1650CE1B4ECD5D2811289FE2A94B -7D3C0EA5D5D6D9906D0DDD6FE2C616CDBA6DB3201DAD9BE077D5BBC942419102 -87C0F9162364F76713CFE0E9D8FB356678D67B8493874F4F5963D1036BDF0D03 -ECD497109C24106CE7217EE8D3E6A3F058C6918A43AE73E8C13980C8C277DD7C -372EE682FCFA09FABE8B2868A026A21C0ABB7DA6CEE7D47EAAFDDB80D71434A9 -F4B2EC814D0AA8B1E9650673FEA27C07FA802B5FD46E05F6350A16AC07AE94C8 -313E666830A838E59E419C2CB7EAD158F01E38836C814A9F4153A3CAECB6EF81 -200910F81644A63992296FDFF84805DDAFBE2C21229F710B549EF732EE393A4D -08612167CAE72563F58C45C373CE5E70D0D73613F87660F8A2A7D6B2DA034713 -9AEBE0DDD79E9C477655E136934A58181984BBC877C10DEC685EE8591BA9B2D8 -C44FD091F794ED9603106862E5F6B29AAC0CBB6D7986BA0EF944DF637D9EF505 -561BDEDA36B50849524DCD8599FF702ABB9AFF38C10A2F1E84534C1F36D962AB -617D846626EBD25553933FD0DAF60C5DFE01CBE997BA591848E1133A72886567 -C8C2A0F11F4E7DFA23B88994637976612B9AD24DBCCE2A8690189AF3A0831FBF -1A68F8E7024DB1D5380CD68F13D9C4F1E9570B23BE8D8918A8F8CE08647255FD -7C210AE1F4F6090E6C4BA040052B48623EF88309EE2D1D3D80DE0C2689FBC50E -4BA814C8EC2559837A9F7EB9DCD4B090757CD332A359AD124682C08BAF79E60B -84E3459886DFE59BF6DBA99529F0587FF81347911A7E0BDC9CE0A0CF866F17A6 -BAEC8310E5D56233C483707B038904687DFB11C6CC442EEA2EBC7688070DEA65 -34F6D6C581E9D22BC7B860173B4671B4AFD8854CFF825E654D39A6BAF91457D2 -79705229D8EFC4205369A75A0D436C80E5D0CCD7E38C8AA35841566ABFCC0EC4 -F2730540011E3942FBC7C50D7D7083450D5C2A875AEEAF2F876FA63C3B034641 -39F91F0D1D5AE69485077CF335B2DF18774067FAEB594CA03B2CA0D07C37EF43 -213B3D083327235FC0B757C124115EC975B9D17E93E17ECFE334F9006DC4D29D -1B49C232224E51ECB5AE6009AF4AEEADC3833A65C1444CF023F712DB90050258 -E5F5B3D029C2993B3F395974AC94D5E5FAD5C398090FF898F6B73BFCFF7352EA -D7C40891EA553C351493A53B9F984725782A5FF6F1E49F17B4BF6A0A3BF1352E -43CF620930BB18D126F8AB08B72712D997D90CF84DD8E2F00EA3DB6C179103F7 -9DF08637C9B2624FCC24FF8F513C22E56061E1788DFDDB18826038E855D6ACBF -AF50DF7BD68426B676B4A671E902433EFBF02E58FC57D6F660253DCA71162CCA -27F330ED03129410EFCA24E8AF3B4CB15D25BBEA48E6814A148A8524F26FB447 -D0AD6CD91B13DE5556244CB9E6B9554CD37EF60FCFF12154870E9D7284AB2FDF -C9249F66B9491D127862355A182DA62E7E511FFF4C266452C9EE04B76338C793 -C2392DA55E4CB91F85DAC15823EC597B23D29D117C890B270A25B89517592D40 -1CDCECBE9814BD19184BF99C3F21A2A820EA4E0B898DC0FA8A1C6D36242E4561 -AC9AC5035CAD8248887B012C82A5B85E3C78ECD066B32889EB820CD08B07A780 -A0A50229578428E8A0CD88B50E714835E549AED5AE809D0C8850BB38EAE4EDCB -2A60A5051B4462DC271AD81163AAD8F67EFAB13DB0898DD1566583FF6B055383 -FB44C50EC5ADC319A6A49F24080936B4BEE76B38DA50850D3F1BD28CCD88F8F6 -A8EB64A06581D2D1BB57C74655438DD76E7EE53A0A7670695257961BBD6E4682 -C01C050CA369D1E6A2BD12020D0FC9E7E32133F73A5C393308C37DCF78D64336 -D7848CA1001CD5F9E3671A89AA1FDCB1DA4E303248B43C1E74A1FE3FE957D271 -98FEB7F735F6F890F2BA964D12FC124C67599325219FD3CC3E05E19C40BCAD88 -C95F3909C9BC4E76FD2628C106CB7F927EF29ACACB6E7CABEEFE6698235E2F87 -FFA223847BE78768F00B38BF721ECE8BB7ABE4D5B447D8CB2F6B177DCA468B35 -FD53CC433101F1D9421A6372D8CEB2365ED90CFFC71FD55A5490C89197BC3891 -5DA8B699E351061ADA31171490194C0D2B059A75540951E8B329DDA3E054A932 -3CC26BEAD5620AF50729A66DDAD67DA6BEE4AD2908F417BC4B1E51AC6AA592C6 -3CF88C4B9FB6F0BDA230D2552BE53BED96BDEA0BAFA483724DFE07EADC8A09A7 -8973358ACC8D2AE1F8E1015A1210F014E691A88A8D7B118A9744F0DAF2F25BA2 -3FA04D4C01C2D7B0F6B2136D1061F38F6CE544CCD5D4F065BAEC5280E38DACC8 -6B8092F73AE770B4E7688FC2185A1442636EB541C9142C2962C1F4B0E4B23C5D -1FAF0F04EA05381A2591338C9A150760A658F94C6819497DDDB86970645A442D -6C35B5D9F3EF925687439EF62CE27FB26BA5D3EBD97F7ACE546BC53BE37D9C60 -600E3F817ED91970413B868B1EBA0A758E792FD58B8EFB58FBCD427DB0D5209F -95DFF30411A4652FDACB786754A75A9A61C2CA175FBE9028DD66A0E502774694 -C44039C5FD808729427CC83ED27E94E3BF7E9B0BC49F302A657E8FAF501C21BB -00A8481244A7F1CBC36C5B2F173B0EA2BB60C32B5B7096A532177E4A1D78EF72 -4AE8F57A90B06698C2BF3286C0F02C05EB0EA4C3C9BD25546C165B1F3B536B55 -326118430E91ACBF11A3C5973DC54F355D73F0FEA7C85193B44B25FA81AA0DE5 -2E4670EA04E65B36BEE810939C5F82BDEAFCFF69421DE9501481D533B2FE4E38 -37974A71F6C9729E20848B2122BD81508D9F2A151D95AC05BCCF99304B963D80 -6B93B6AEC77DF9166723A8C82E9D6C0DC6835BDA5774FE1A371D2136C1C7BC6B -BE419F2CD3F519045CEB4723EB4EA0FFF7D7EA0E499D79B45AD5CE5B11B62240 -C43DC434353D2FB1298C17FB65D017D7F2433F93E5ACCBA45061BD21A3C59CEC -B7C643D88E81D7097834A2180AA75163ECDAE95DB504DE176724D1FE43068D66 -D5FF6B158D27DFF11C51AF560843AC36D53DD9A431A0F4C154682E59A5CB1435 -C77C50873E0C8ACF45937BFE6FDDF1DE287F7069DB1C3938A35D1C3EBBF9EA0E -E46A05D3BED1A9ADA052CB6AAFBECE0CD9BA05F8F05A57F8D91A7F410C371A8B -EA06BF21D92F133CC2325EAD63B1F9B3C6 +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F +21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6 +06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF +55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5 +B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86 +0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9 +1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961 +7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A +7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402 +356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B +19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2 +C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F +244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B +AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95 +5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC +D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D +993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363 +2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B +E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3 +309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513 +F42EDDCF39AE522A1DC2D80B2772B05DA60F3DC15A815A6BAFEDC399C7956E75 +3851CB3588E22936FBFB63A58300298B11C45D82385C083D07AF133BB1BC941A +FDD9F34D5E0B8087EF2A58C54D8AB7580EE3ED58AEB83B72CB9028F472ADBF11 +05A77651F118824F6CD00209EFB60C1D32D46A78E8C8DCB8B0E742828E3B7D17 +DF5200D68189C918C2D1E2BCE076599AF2AE945C35C8F442DBFAD21892B5A756 +B1B5447FC44BDB516C6C2DA3C7BD5593A7DEB7BFB32B71F78D0A99E9BDB58BBB +27B4E189F93BFE5F98476CF276D6C72089E75CF8281A9EDC43DB22A2E1C11402 +CDB1D75D90BE00A7C4BDAC69B136BD53DC921F1419BF36A9CBBBDF351E3D756E +E3977689EB91D20E9A9EC4C8E0E072F72ECB42B64BB10D9BAA63EBA58F4D586F +57DA03E70605C6404B9FB7BA1EB23749B262E24BBE4682EBF731BD0D89CFCEE3 +750B6349A156C60FABA18A37F36472DC8A02B6AC32FE82C4838234F2B46B01A7 +958A1633FBC0DE768432ADF18EC797A358B1A839E01BDAE24FE168A987BDDD7B +EE1A3E1EEE071623A8C690797C0FF54661440225A056FC52FB542FFD67EEEA23 +4E91FF37442BAAEA4C9336ADA7F869F713989A02ED1A7C8F586769A7912E63DB +5D957A0BE4E04A8EDE6C5A15622FF0CE50692DBBFFCB7E67C2664A7D9FE1EF13 +5B8D5812DC038839A152CD20853682DFC0AF97FE153933AA73AFD31261F53C58 +3DA138D5CA4B636772811E1C70075812442A532D206FC46060F5B2934D96A398 +C38D89C44EE7F5EE0A83475CD2DDFAED87043E0612F10A642D04828FBE344375 +DF320D47C2F1FDD74AA71D07E18458AE8C2C24E27E4C435727C9A711885165DD +4B7AE9122F2BE8DAF3487CB165DA21401D79EDB9B2F8FEF2E6BEC38689D97B00 +49C723C8DD6A66EA23CCA759A8ACD1BC64EC122FA470CEBF7424497DE720AEC2 +C90884229C3B42CE4FB65404D9B19428B7C52D59505B2FCD3CC5CEFD9E001BBB +415B2683508092688D0377CCF6CE5C158B0B513EB2C6E5BC407D6CFDAE54B126 +86DFDBEA047FFFD2C61F0699F17B663C1D723307EADD194EA37134870DCB9AB5 +A9EFCD0978C88BA1EA2D0FD6A1C3A27E0D2C491311B0F0F2C7DDD111DAEF806E +0A48731A557DDC6ECCB0901C836FED35BBA9BD69795DC8B31E5943E7C04B46CB +72EFDBB1E1416CD931AF289CC2A6DF53B7B2B9C5AF61317B8AC94A1FBDD17B5E +CA0D16CA604E57FA9317D0A4B75FF9942B3AEE4AE95AE4AC27C196CE8C6F0B6A +4D73849CB8880D293E980244E5AE87F4F61F19154AA10A40DC2F3474DD30E130 +2F93ED7147F2B4CE1C0AF7BA3521F3EA6A20FF47EA8CE07121697B6E5744E586 +BDFF8B341DEE22AB68C1D89530E380E081BDEE1D5913B0FBB7B34DC8A63048DB +3BA529BC6EE15A21AF816AEC3454AF11A9DE42E896D73DC50793A4D94E6390ED +2B77BB370CF909CD03E2CDC6D12178F0CD5EFE586737AA2B51C93B48C4396D2F +AE7A8A544F7EF67DB411D2C9282D8EABBE2039DB68C512AEF3152C8A936C7C34 +ED633F98F864E53C03034BCEC8BB84FC4BF5E542769D78D8A3BC18385EF332EC +EC41D26CD44A6DE49822F1B77ABFE39EAFED68322B304ACA3E74CF4543F045E2 +06CDDE49A4E964D3B219802118DBA9CA01DEC44915F312708D350E6BF6A5C01A +C67946212337A6E324C71FBE7D8C9F3C21F810A90B0EAAF389B67FBA2B4D0EFD +B4C1C20D1595064BDD01DEEDDADC70128706FD2D7982FB4D8F53F98386218855 +18ACBCF212105BA5C7A079AFD87EF0A47AC4E996DC6A9A9914FB8B0F61EE4717 +77623DF9914C40B708211B8D879C96F24B5A29359AFB48E8FCB5922905A2923F +EED283BE7840493A7079577F61604AD6441E7BDDE7186F1C43D8D56B245F546F +63A1099A76CD4D0CB79D97CA78B3581BA2287DE3228870DB2D8EAFA98B0F0BE1 +48B1D60C82B71A0C46A422793713C0CE9250AA4FC0DFE4CBDD8C870B67FAB281 +F9B2F46EA7CEE68C83F4DCB203F616E6DA8CF155C1AC4EE7431B488E1B38B612 +314E14468ACAC166278424E4964A3DCC53BCB4E8C6DC5C92AB81E97525E3172E +CF32C3CABD53787F3CF5FE072C2833BBFDE5F55CB4FCD573BE5B04AC00370E23 +8320653544449C1F51549D2302B927C3FBEB25BBA35049C8EDD57742CB2BDE79 +75A5E70E587CE7AD39F2A68F9D4F5D12AD42ACBFBA429871AB3C6EDC3CD6A321 +32A731B65D72D9BBF85D6346C10B9057AFB175FE2B2B636119B3ED5B3187F0FD +C12DA53BF40D34A87A4908FFEBFEA1735908148E55BDBEA08211061B54DF52E5 +52AEE536195E40C1C88BF1C5CFAD56121E0B88900A4EB7E82455AF969D6E8BD3 +6E0DC44E7DAEA9ACC7C028EDA2ABB27340345A3692D7CA0913081588026538DD +3194C86844B70393C6086E02489CD7AB843F7F2E5052AC76A1714CDB30A9F1A9 +A89C65B2443428E358BCF9AD44521DAD1468CFD8F9C3E4170196E7BB0151A58A +DE2A3483861E7CA8B27D7F4300E88C8243783EBB435C4D83261AD57F87699435 +A4A199C6FFDA27CE792F9C19004EB20D353C9710A14946439921DCEAB0260F52 +93F58C588D46D25BFDD1FE23F6991A91ED140DD065DD1DBCA12463EE69A48EC5 +4C2B974A3E511909F411B703F3F5343EE7DD6F8056A4EE305F77BA440E6EAC1E +4398C0A6D0DAC85B15B6FC86C5712ECF2A04758A8CDDA6067A20F81017963E10 +DB34F9E7F2B2EBE8A614ACA430EAE63C0282A0EA1067C08B1CD7C63EC6ECBCAB +AA1C7E867A72A50BC23C713E6975F3E034AFE8140D447DEA6DC5E607AF63BF83 +6F0E4317A7FD14A521A4B311EEDBF66905637936084D365AF326FF372257E9A5 +BB4034E419DDC64DB9C80770A3D4CA36D516104A1F4807B23F49B070B682A549 +5BE44704393B77C5558D4333F7010FC75B1C17DB05DA39E7C9F065AA69312CE4 +AEE5856989828E26C30096D4825A68CD0B9D72222B72EC2E3EA1C0C551151A31 +4E5D1D8CFCC3730B46FC0B819526C757CDF0FEA26834EE094F8EEC1FDF54CFA9 +9568ABE6F471F2DC7C1C8D60A26F43A224B6642BD4942249F2D6D30C026312AF +6346A46AF67317C0562328B6F9AFEF1A7BB740C8C956A5E44DAF766BD6BC826F +C17E05BEF51B37866449733EAE5E159D32EEE4E4D883CD6A3AEBF74E7955EE83 +CF6F0CE1DD324FF17E75CEA106A93287EF968D852254AB3D62CD39899C7F788B +03DB5C389945473C47E110F80DD228C84CE585C349487CE76AF592389E951A30 +ABB98431347205577362C3A64E64688A09D7F5756BE197283FC0969A9663851E +4CE5F7706167E06357D3E4C3F4B828B5C36AE9C08FD0F62308665E350B4B7B5A +E7C5B9FCD9C9C4FFD91ABCFE7AED3D32FF75EC15018B12F7EAD8CFD3B6D3C601 +F3B4608D344D26423411948112B93B363B2714153E020B2D9B0EE1CDEAB3A83A +C2D253E9100EDB3985FC1F5F90702E835C784A79350C8D1847349310766E36EF +AD44FCA3AAFE496F2BA6E374168E8525D6D0C342B72870BA40ED78CC579F3E8E +4732FCDBF0A8985273DFE4EEE0F658D54F9FCDD0A1C4A84BD163248C02F46F8B +06ACDD461EF5E2CF736AE8E812A967911AFFE201BF6600053A8D09738C4823CE +71D835030282694EEE6AC228F040122CD49AAE571E2F9C96353009136CBBFCE4 +A1D99107A5435603548FB70D5E0AB083E288DDA4CB0EA34EE8859CC11B0DE20B +0130B5DB434403973870C793C7661654715CD653FFCF41A09D26E85F660A50ED +1EE84E52064E0E385FB7405F9C190B1CA3AF57C2AB35D64F8572593FD69EE4AB +5BCD838F31568B062D281B70D2931D0091E409DFE09E975568AA25C5EFE87057 +145CDBE8D88233CA719F757AC6F463DAFEC7DE394F4B5AAB66B4CA3F8B29AAF0 +1DCA01550D7C0549B2D8B66601857E6AEFEC7C255D6F237421F782A4BBB88A9C +E97ED94EAD3C253A33A8ED3F452EA3CB77AF470A6A7540F81D186C9CDE2B4497 +4FAA8446351A6A21A6DF7883AFF2D43BD337D83A5EBF9A1118091AEC6A891557 +031B2AF596DD48F34C9990017E0BABBBBA9F2AA14A9612DFE8165B8B33332557 +AB2985F2E9FA3354F81C53DBADF52619469B87B67D0AB5CBFE0DDD96462A1A03 +1C47CE2FF56677B08D35E9B2066D3D36BF034A523D4FF9525F2C16329ED65BA3 +ACF2D82B4DB48A7A4EDC90017EFBCC6D4A71FAAD4553B9D09A3C6CBDB435A40D +ADD9CFAA2AFB11D28FB83D736884015E41102B3023A1CFF57D73F83396131980 +12BB0A95FAE7E01BB40D7C3373C7CC763E4FCD7DDFA159EFBD354C8E264D9C9D +22D1E0F08523D3235197A2BAB1ECD4E96F8D53BE9B4276BC0BC5D2AEECA67275 +91285E13EE3202D9831DB9036264BBD3BA413257F1C30A7440C290A09F0D08AA +5503DB29D714B2177F184FA0A6415D0B2AEB0E6148CC0BE2D709A59484FDC41E +2611E03B3BE398ED6A5B9065FBD72AB6CFE5FD705D05F858ECFF71A96DCD769B +7775C54D7EB0414FA98C5CD1D8FC96CBE1F97AC83738DA76E23313F12F421D97 +975E5AC359723E0E52AE1784FE80FE74D7480DBB41A998E4D0AC3C69BE5B2A00 +8FD9DE7C947C5ED83F2C07C8D83E345E7835665D1AC042DE74A1277ECA101406 +87CB085C648EE61C9A68C692DD0406047240351DDFD8DD9AB861513D5C9D57B1 +3A6F807070508FA2D36FA33947CBE751D5FCA90B42823B1D0F7D934BDC42B06A +117F573C7D4A84B48FD0F5566A2E1CE543EB88DF9F6475F081AF952657D2FA3E +8144A06F44227A5887B2066FF74306B2B1C60E797035D9F0CAFFAF645562AEF0 +5037E839AE0A12ECE74B1ADADE8FFFC3A121B34D492847E5067706036FDC661C +87251B048777CA080D1699954302AA3098CA7E377F3B9B82EC0FB44E24BCD685 +F7853B9E2F07914A353F9D597B2D5DC718D4CC261EA4182756CBC42AF7071EAD +6D5ED56B8B049616029CB9B249706C6C1A605BB96EF6F6ADE02E66290D72FE68 +D816F4D59799FCFB02DAF0A5BAC94AE588A4602A73D7132EB2F93B65EE3B9171 +4CA54EF1700FC77665F5500AF744CEDC47E6C473AA863F85E06A8BD98B4E34CB +DE0332A2E93C85207D85183FF94BDE2D1BD4C0CB379EDDA039560CEBFB239C4A +C9CA8A8EC0722ECA4F052C06A2DA2A18B35F2DF7D3A59F655D3DC7DFB107DD00 +8D9ECA79D357BB644299CD785681108E58ED37439915EC93DE8F1FAE4F222CE3 +84CB1642BE1CDCF1EB30BBAB73ECC81E5B580F9C6E5312141D843AAEA20FF6B0 +4D85A0BC3CA44E8A346BF7342CBE1520C284783D26AEE00F80C3248D2C990FD9 +146646D5A566558D84717CEF8094DECEA2BF87DC3C51616CA085301D099ABC78 +FFEA0AFDC8AA5AC457BEA7CD449E148EC945BB329F50F9545F23AD239378F2A0 +2AFC3ABE99AFE7D4DB325B1A47370A0A9EFEB9ABF4FB6F753DBCB692CA3E012E +B4CFD2F5A5762380995A440A2301C22BC1392D5672991CBF1AF6F2E1C4AA46E5 +AB3B6A70BE860C7E1DC13487775B7F4E207EC30E212DFCF76A3F94D506ECC9B2 +7AF788FD96C16899FC98CC5EEE56EFDBC35308C1FDCCABB7E6A90B1AC43C46C9 +DE8DC57D67DF2ECBC8E6DC7C07D9FA54D3AAF9847E4E96F9AF36CFA68FA0B749 +2F5EF28FE5954482566C42C207B32D701899CC674533DF5B8F69346D8313442B +4754F43236452AA5CACFBE93F83D46E5D0E9AC5D3B24058078F33973D66A1781 +BD57C0FDB9CFF0D92534DA5A378CAE0FD954C4811385C96FEB6E18B7A96C15F0 +1692D814061F837D102AFE4EFF87B07B1360A9818CEF45AC999E3371086B782E +F24C40102E012941C5094D1220DD7D0FF84FEEC6973D252642BD40741E385907 +D41E33053369C00FE1C749E71FCF736D4E70D2C29B25842C4E7E62672ABC1CB4 +EC65D766332122DA3DC3A1C8F999379FD2E1390750F705EEF1A805FBC46F617C +39CF331F575EB708449402AB9FF901BA98884CE7C0981DD1B6747791C13EEFAC +2457B44DC578E664B2E3752667D8C38C6C291D41059BF43A99C7B539B22B85ED +F5071ACEE149AE0B57BD70BB530D22AB20883A8786BBB662E38880F7097B1490 +F9B816CDB33F8E3DA4E701CFD88C033277B7169F2345EE0427ED572D447359CF +0AC9D94014998C1946920DEF11B49F46F2A7511AF0B17AB8BF18F0DF892E6014 +BCB802CB6758A207CE10C0818BF255DB3A41BD5830DD9E1092625023D389F3A6 +EB43DBDB162583E1865855ACF38358D4729746E240B1379870961A7C9BD22B24 +A05F018C5C384AB9B50E6226DDFCD39DCCE7A612F64ED2C97EA352F5B4129E00 +2E63B84FB34894965BD9F9BC558F24DA5A60359A9D04BEE93B8912C831C67F88 +A73D9804E39D44891156B7931BE98FD2D99964339614A1B2E4ED94BA6ECD38B5 +45201231615FAD66AE69239DE4818A558B95F15EB65F44D0A9983C960A1EF3FC +4D41E7249F88482DFB6DF8248ED90144E69EC6488294C980C0B9B3E24803A1BD +853DC9715B6FD01160F426D94028F912163FE2AF605435F2C5B347036B51DC19 +7EA62750F76FFA6C5AFD9348611AD12EB18F7887FF933EA7AA736200F3CF8C95 +309DA1A48416B414E25CE1562504293EA80C1BBB992368493CD968689450C762 +FA4FFD7BBA8BF9A0434382D713C81FC091CA30EE94A29F7049F89C2FE9108B6D +833AF1B8DC22F0A8BE419358717CFC97C69E695E5597A1293A4D2F7E00078CC0 +BD8EA43B90BA7B3B4C5C8093F8741A74AEE1F4E16D8B9468D613C010CAFF4D4F +0537C9CB3801D59717A5716C86A883F6FDC90EBAF498FEB19A17071C388CCD7B +BF5EDD5FF4A22FB01D1D1A9F2A0ACD760E5C809FDBA0C49DADF4D7896183FF64 +2502D4A0024A93F1B65A9B1C510F469983CDA31D8F6AA8BC5F68B11EC30EB281 +08316BF3EB619A75F4BFDC921D77027BBE5BA0BFB0C265F10CA2991C2CF2C8C1 +BB284563EEF8846ED22CC8D5778564EAAD41C9AE673CB125E82434816F12DB90 +33B24C5741CC80118999140C84C0C6CEC96098DCA44ED12F470E67E354B60082 +6116738449577AD46F605C48450F3100DA2CA86030441E01A5931AEA6F4998B7 +4752F12B89BB2AC309009C5C3D8BD21DF29B7967BF863C3D699B9EF65026C029 +6644B97574CA6674BE8B8368AA686666EC9BB161E4EF1C6D9B4D48C624978759 +7863A96C0C37569850F750A326F25EEC43241CFF8FE6B16F4A39D872BCE80268 +57A1C18F8F9BC0393B8D514B13FAF9545393ABF3561A862AD85AE4CA8160419E +26BD3CFA5E4CCF15E6B51C013FD6968A770B2D7A2BFED5DA2549FE46FD0035A6 +B9916D5FA5AC183A4EB9E3D1ED58D7FC2974E9FE55715EB79D989CF0BA95B293 +480D80434BA11D6D9202369DA2AEF4B64D632D3335249973071E8C9D3C69D85C +C6CB2A097FEEEA6AF39D2C489037470F1BF4E214ED4F091F85A3CD4397BBE3B3 +9C2C47A2BE91785375A0EB8B1A2D62051600696356FE952B74A2DB798A9A5203 +AD067B1EFB381A9D7B2E1008688CAF5105E72C26BCFB4C7721D1F726F80C90FE +366957DED74F5CD9E026FEE077D4F773C28F80EA500BCCDC2B9B2A2185B4E786 +44502EF31471A3BDE1250E542DD50F3FE80F9C0515B6706738C2231ECDBF247A +B26508A94E7C0E59689FCD9077B8EB5F3F113F7756DA6BA863FE1DA4D7761B08 +347FDFE550C2AE7CB970C6D1E0FA806B5E5A391DFDC558FF19AFA1700D199758 +BDF25B5C3434777E71FFD2E810B0931878589AC1D03D57D0BBB791138965B14A +A994AF68652C4B5260E49542E640EEDAEA14E1834BCEACF60D27F7674139FCF5 +52692333A575177F58DC527CDB64614726D8E9C8F90C6551DAC58947E05664C8 +BDDC2FC200ECAF4E4A839BF96F9AF348C4E3ABDAE132C54A2598973B213390FE +8D06AB4C39A21A1E43BD59BCBD732E80D9B0A3B655B61D1E12E940FA1C433AA8 +D545E83D5BA4F354A2414EC94451F0818C176AD137E2201EE1C2D78C2F018D0F +CA582B14C84A7162FA20901533D124F610A490F359A0A6B900103892A82FB245 +DF36B919E1EF48F60DF3516705C878F9F6B273DB69631626E77E41740AAA475E +A70A5092816E959FC910DF420ED6A720368CAA0B0E965BE1A9A806D90A12FADE +9058F9B7B408A87DB6A4355A27C68B6A47F99D07D3C79041071CF4BFFA3C2ECF +D05D49BED5D735B6D53725931F2A6C8136769754A92A247A280803F932540446 +FC2DDBD491DC663C36C7E98E38622D2C98E886CCA61200477117B4CE3D197078 +CD4782AB6B3A8045B2B80CAE8E503C32336ED7CA15679970AF757765B2F6FEF0 +54005AE316B2C13CB905E6559BD56A09892F6ADDF0F746F377DF2E4393CA1E9E +499E18BC5BB53FED894C25813C60BB5E90DD205F99EE30688BBCBEC727EDE9D9 +CDAE65EABB63152DE8CE9419C22346CDF8DC622B6AFD1332BC1E4192EE38A430 +471E0630414E1CE47A8BBC7EBF94CD1D7076BF4F32D76114B0193A37019AC2D7 +3880BD4599B3FCC5CAEC2C86A29F03B8A5E4B2EF51E13AF29499D69D9242DC0F +CC43AB88CCBAC6C236175C5091D210FA5E159F9DC4C31BB1898261072868B737 +2FFB921B3DD2D08A5D712D47B13C1B175AF6C7BDA17858CC92CEDF69A7527D6E +FE27CF65CD0EC91F5D5667A775AB8681539CFF03709C9BB885F16B9BF41B8FAB +F8070E0F437538F4C4A74144198F1E14412DB11CD971324AB2AEA3EE476F442E +A5F78ED2B19E61BB93911DD201A07731667A14A858714391E6FFB08FF0ECC92A +C94176B53E32A95953592C70ED426FE4C709DA1AD69343B3BEE26594ED54815D +C397A958BE75D6DBD5B7B7FB5E6C86D1C539005F03E78910C3EDFD163558FE0B +D38A1E74248E5B9C51A139716746B431689D8921C1FE860B13535BADCE862FF1 +142B7DDB6906531F9456EB955EDA62420D18CF38EAA249CAA86B20C89795A946 +4CDE85252DE299E08358C96832D26D32CA786F747A238097DD96F3015E19E9B2 +310D7D77113D61ABFAC4C5363AD3F227845DFDF4C625E701767D4A4081C82B2F +94F594ED387A10DD3F2EE22C09664F6031F153A88FD90875B402924D88EEDB12 +3598DC34D2208BD3ED64FA5096470B6107D6965A9298662A9BFB03F73F82B265 +8082F80E17D8CF7F5D94742533304F51DF719BAC63CCA8E3710AAD3D88D4C1C4 +2DD1AEABD76FC0A6AA2E2EA0F5325237CD92F439B14BDEA09FE2AC63737B39D8 +7D7E765102BB220A40D4F6A8DD2FB1C4227829AC9F705B105E98A82E4BCE745B +7857CDCF08125A06FAFA12D289F3B108CB19E229B5885F60AC334A29457C6B3E +48D6E9D14CF77B7608EFCE07E37A0B42FDE17BAC8F28CEE2B31D867DBDEF1386 +B530174ED322D9A277F2ED8E596C24F1F2D492CAB366A5780455309A1C2D284E +A2445A71E4B1C6F9E336D93F5A72467AA3E74EE72C464997F19D64B7395E707A +DEE0CF87DADB6DED390571C03FDCEB0B0D5AFCDDDF9EA040A9B10E2FCB883FBB +074315B66BFC64D52A62670E6F21C2A151FC0FB5B56F002533103E87C68A3626 +483ED4D2B038B1550D31F9BE18E0EEDD0817B68ADA61C5F77601FA9AD9A5A713 +D1C35CCD992410FBD14513B81E9A6A204C4582A15BB786FD31BF1D79B66D4EF6 +0ED44DA918CD20FACF302C0A9C511481E8D8D46FAD098D504CD69E7D083B6A22 +54D1482AF72CAC05FDD460D10326CC3D14E401DD87E6BAB8A17DAC298BB5770E +B6CBF7262F10653BDAB41F6394745A9275B0A5DD78C1A7A0CC14EEAC20471B20 +CE7183C527D6A8BBFDF6246DABB3F2F2612D3F0950175C96BB450C33FB6D2D51 +9F5AD14FA417C6952279BD09D7B61D4BC7209F8CFD2CB1A800EBF4E6FB4050CA +9099FD7BBB5550F831A0E2347DBC53A67840B4DAB2380A49B6169CA4E72F04F2 +6D6A1A1B2061D1352732B310656C684E218816084FAF7C9E6CA49A4A6A182D54 +433576AF051C4AF33E521C1F0B83009CCE9C8DC3E375F37D09613C3CE21AA8D6 +BCA986A7A46863CAD82CACB69C7B7E17434678637F63751F0368158B39C8C92C +44B8B03E56B06698695AB3480C31E7D7AEF4C99C2A9E7B7AE2BCCC5C724D743B +3404BF40D7E02520C1113C9DCAFD448322461C67ED55CB93F1827F7014AB1879 +3C89757D761ADEFD9512FD83293BDBCB9BD2FADE53293F2E1C6B20ACEE5C7525 +7C4D498DF6A88FC908951F87A3380E4DB465912B5730751CA7C93C0E549C3905 +82DB2C171F4BF888E2D279AADF167393F58AA3F70DFA84D18EBD920B8B6EE728 +B1FDDD095612D9F7CB331798A359B81814DD70744EAE8D2FB6A2F0D2908E6671 +AE1489DB4FBD686AE5880E4400BCF54DC5F03CE9A43F3B326F772141FFE540D2 +7467A87C9DA5ACF257702437A0F6A2EF25D58EF2D35EC17AA814C0BA76B45410 +D0CBFAF84E273F95C202C73C149C4EE508FAB31B63BDD8F5B5296E44D99B12E2 +8B9DBA47A07991A3FF656CCD03DC18F4AB20F19308A828F912BF23E1434F38F2 +A2C1C1C475A340AFC5247785CCF81CF932A62D704347887F4CA0C74E6B5B92C8 +440F2D010587862492451FC476C64B3A097E36FA6551A7AAD12C56936EA74102 +8D5795158BEC11FEFC1EBCBD6B1BE66447DFB72CCC23066AA6A6BE54E33930E0 +6203AC9F939CC8DD07E82ABF2F4AA61857955F7DB949D0D23A60088B6FEA4B21 +FE8D0A3C609045C96E8246EDDF22D562DBF363E261AB35CCFA0BD30506A964A0 +C927F2B6724C797A45BB12CAB54367F681DB642E867F09E66B4EE5962671AE70 +3571C9DE88F61116CE3E6AC13305FCEDCA2EFBD510406DDC3E63196A2780A43A +B7F7CE2E0CC856DE5810AAB7C256D459360DF48363A2CD19C6783DDBFB7DB105 +D0745F98C5CF210C06A826FAA9674A401F6954B9C57F472CAACBF3D4E5C9F1B8 +240BE9D102728CE5C1BEA5E1FAB2388B745D65E5623113FBF11224A85927A86B +E8BBEF2A71EB4370AAC3032C2FF0951B74516B9D5C0C074B62F995F311059B6A +50CE7B21ACDD6A44E0B55E360D2643820C1D11F943C10B69295007FD0DCE57DD +F0ECFC2FFF4008FA4F5534F7B46413F00C7925DDFF285906628B525DA55E02CB +08769C8BC092401DD736D59B291E97CAC80C14DCFC400DFA8C644F5A1378324D +7E4B28DD6BCC18855987DC1317421461364AA0D70CA7A4C868F98A4F7492E5A0 +03CC27525DA9DE2A1CFAEA94B76CDBADB2354FB85942D4CB1788B43BAA6CD1CC +A2A033B335AE5404FF3448AE4648C2C9436C62BF31A34D8C1EF2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -4738,41 +2769,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMR8 1.0 +%%CreationDate: 1991 Aug 20 16:39:40 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 45 /hyphen put @@ -4802,345 +2817,167 @@ dup 117 /u put dup 120 /x put readonly def +/FontBBox{-36 -250 1070 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2AED1652A132D66117071CADB8603969B3A2F97270CF2AA8EC2AB890662FDBD5 -00EDD53F16FD0CE199660202373E2EA28D29245A4AFD3A63695F6178406A7234 -AB0C0FB1B19CB408E047BF014BBEAF4C9C19445C7819748F082C19E6E355EFDA -BF1C2DC348AC0AE6777F679E2F62A0A3EB19B3A5D086186E1DFFF295171B38A4 -C8C604EFCC29A76055C6764C6176E2B23333ABF27FE159FEFE89CA6E88F43E2C -8BD92C3919755C48B4F711372AE3B7BB1090E9EE6F645318CE9E4426114DD821 -D76C17C8DEE7C01814EAD64D2956CA4F5F287BE397934F27E5BC8072ADC6E6DF -8DE856EA8C28BC52DFF627698D5188E6C53D9B4DD0308D908D7B6FCD4DB7B906 -1FE8EB6D5FBAD96B899ABA41512B3919755C48B4F711CB9BEA9C503929754D46 -A6E52A0F5611CBD81BC119BA46731DEA1F51A6B8B34129911EFE4715987565B6 -0AEBB01649B1EC2C98500772D1B72B841C1691C07BEB2428FC6620FA8D49CC56 -ED7830BC4B0C52A3A0E98FC71CAD8DE69654E76C73BFC3C79DD8311101317A71 -126DA51FC9DE6A24BF40246A18A8D921257BE9AC6BF7CB07994764598F2B3D97 -CCC415E762B8F48F93DBC7739C573F1415F381236D5875F87759CA5044FDE239 -2FAEE32DBC2C1588628F1ABEA52CECCC56B02D7BA3CF312ED2CE9441477B9724 -F914C9EE779BD67B0DCE56692F65CA0415ECCD1DB6324138C69F7A7581CB2D78 -10C39C844EF46F27A44AD8DB2C1BB9185EEC43C9FB59CA9B022B28179E4D1938 -A62AF2BD8EB0C303F4F31DF41F5EF7039DD1840187891DF162A1CF5A07E87003 -8DA112052DAB90DFEA219795FA1C27D000D9FDFCF1C5535A42636F534F2B9AD3 -9F581F65CD2FE6E32E51F560A7DCAE24135ACEA49F8CD4F83D1AFB9F0C092F01 -6A43350F00347C47BDE40A16CBF26C5D50776C76EDF327D623B61FEAC05B9D10 -9955908BB524717A12A54E1294B4F31CE9DFD5DEC0791C3019932DC6B8E790D9 -F0BA8E9D06BA5A717C4DF65009ACCCB9ADE75128DE76580FE5BFE1A7FC71F053 -9D2E67894CFDC47BA6E3FB7274DB30963C0E1C04EA0F35DB2CE83EC9B141E327 -B7C6F5A123D58861F1F7E0D2C251EDDAF80B7834E93428E0DFAD80EAD19F7E5E -7D48C9D3BE8D2A280CDFBF582CA2ECAA69B8FE97C37EED2F44334E867072AABF -E4FB680B26D687D9C90A2C29438E1BE2BF5C94EBE064BEE88D5F6D5EB40DE00D -8388D2B6D139F902C4118473584736B604DE832C215B232CC32D143B3959C09A -DE23D0416F275AF3086B2573CC76658AA0C1403867C9BEAB7C861507254F67E0 -5B670446500A4F848E96A474AF6A0F3ADA640C62F27EC1CD37A598EE9AEF117E -ABDF3262AA3B1A13CE1714E8DA5A15D2CB5AB35598001B3951749B3CE1F5D34A -6A674E82B825B9E7F445B7270474D804893BD5BB73391A72D7C12D29348F26FA -3F916E71876CDF5F294A70C6A53DA74C6D10F6B33E63846892B139FB42A99C4E -5C970AF728F5D1D5A4B96B1A40835CDEEFF1399C136000669C936B2AB435919A -76FBCFDC593D17A96CAFCB7A76F819EB84B8FEEA425E219180D5EF4BBE0E9295 -B7B58ADC36C318FF0C6ADAF2FF07E46AF96D15E58D53C5DA4B6EFBE1315C874E -FF6A91DB60BE93BE95D445A82D8482453973853935D9D358976536E67F861CE0 -7A04E863C33E40E47BBA4BCE78741A50D867C91FEFA1F492C04669054EA935E6 -72E7CC22D64A5FFABA5913CA1F28F92866A6B341D28E9E2D4330693AF7A75182 -A4D6EA16F3F738F170E5E2D7385AF2A7D45C33942D801C9E482561C726298230 -CAD26310FA1CF7CD12414F52D9385443F5FC2A42DC1E3B49899B1DFD48B1AFC7 -A2D6B2C01CCD4EFEA6D80F0DB0F1E418FEFB2D39B397760550029BD9BD787096 -045D956A4857629AC55B913BF3C3280ACC21634897D6777539BE5284791A4034 -AF4B30D0766E6EC4ECD359394B4D1A92FF9542D39CCEEAD8CAF89678451B1B4E -351EE85855E1B901F7C529D61FBABEF4BE481CFCBEE1A92BF7BA5970F8A18410 -FD7AD1134480EFB7B51589EF380304D4375A327E5CFC27B0307D98EFE06EB7D1 -18E98F4A230A93812565D9FBB9FBD0AAE3970CBB7736F065FB1AB366EF0BAAFA -416C0AD71BB602BC64B66EC34DECE14A8DBF3E3CAD66FF79ED344F5FDD7F5875 -EF4091B6215E9E73AA924D63E9DAED57BF8CB1B8EFD1C1586E6FE0694F9EC0B1 -070434F36612AED1B0F9A5B1FC929FABD8178A299D12F69EDADA9E362B94631B -C3D5A5430CB5EC50F147031B45A0E8A55943D46126CA7A578FFF5619FBCB8A11 -E889B623AE484107A482943B62A29FB540187441B0D4749E1675035A5A18C70C -6DC587870ED1C68D96A0D8BFB08ED874D22CB3389F576635254B8A2A7B87FF63 -70B79677584681255D36E158C73A22913DCD86C0C96F391933CF2DC5DA1BB76B -FB567EA4A9845375D64F185FECA9B3694130C21105003D050E752CCF4159746B -074951A1B6791979DFA8A01AE88B2E2EB9EDDB738FD8AA831AB98DB6B892DE8F -75C5FE508941DD61A171CCCACE70F0C3E7D94ECE9A986326F3E0B2C4DBB3B0E0 -CC49F41122B76AD8C5100EAD3703CAF88FFFD8EDAE1647D1792AA29CD9D6B954 -5229F7EECCE7A4B96CEC974F42D5158534EE24A73863E5B48B12A2567C49EE37 -CDBF0E0987C58153C219991C2D771291871B2BAB04BA0793D5AF444861BEC52C -AFC8594CAD990E78FFB6141123ABAF858130D55ABC9A4F21B250121174097C12 -46F5810F96AFEF721B6622BC86A0D31EAA1281468F2E830896B71B181166B7B0 -C13AE8059D4AB5AEBC986F7430495DD210198D9C9A973714C0FDAEE5DD7FD936 -9E6305851DEEB95B49C6E5725A0DA9E67B0A1639AA1DF43C36E9E4097AE660D9 -344C1B6C8C901A2E3839CEEE78BC5E7E208FD9B7083E502AFD5791D5E958FDE4 -AE06130A79145460421C9B3B7CDD395E658A11519F28C0538937053E42FFA88C -F3B0486818B98046D0F2596B1C907DE9A24404901666E56C8A15EED04C941D91 -6FA33820B8821884096AF322010CFA06633A557EDF2E1671214E6C627D83474C -91869860820CC391FCB503882FE8AF42FD8FE941F6C074D526195333ACA696F9 -A8337701BDD5AF31ED74B9C644A2AB882757D197D680FB3C541F1F34648F2CCA -270E7DAA18C22A08D57C56052DDC17687457F7EA15D6A4EE245836205D502916 -F4855A3E46199DA8E679459257CE2D10BE58BEF8B521091EC027CEEB72D23319 -FFCA952A34693C8EAE9EED10379A7A42AF2D4EF22A025CF000EC5E118B6331BF -7DC92C5C69FDD2A50E6821DB2682E20B22F93DD642192763AF7832E745D31978 -E29ED44F9BBA423A8F3C46E3B00F04501B05E70DEB7C60234340F7D14CBF1408 -C97D26CC9534516E8B478145A2948DECF15D158F926A18B3C1E6435475B5D8BD -8538A1C0656A28B64B7202CF9F480133CC78D500A8F517C7BD32299EE2C4BCC9 -38BE47236FE2B4F73B3320D0FB505B35961882DBC44363BAA1D247D1D291C928 -7FF5D3F7FF9503FD76DA70F318CF1F73D290A5FE88C98AEFD753C8EF6442E307 -543BFAE0E04E36B1994BE31E479DFDCA7E2F7CDDB8580B506121D91283CB0AC3 -23C55AAACB1E568B855B2D401EF1C293A4AF833443964081BCE8E27FFD3EBEBA -47F15891EFABAD45470C43594886C840CF8F0D59373F72C9D9AB3BC804BAC75B -5C465D56E56F741ECF8C050106CE653BBEA433069EAE7CE0D50D4088892D20E1 -50DC3F07C842C85EAF7FE6C3839D32CEC24295CF1ED7B440A05D1FAAAE3AAE38 -06215271C00B7F18C3387F9888E68AA3E0A1086455D3564EDE71E40C5CD127D5 -98F5BA4F0B058159E2C0ADB5B45EEDB8FA19B452C9A554DB2478F15E5A9DCDB6 -52FF0580BEE6775D0308245775DE5893A36739DA59AA8559D79B3BBF01184164 -520CE041D5206A55C504ACB80B3F702EF68D315F43072B3A5B32707877A7FB9B -AE672110523D35FB69B945A8B6031337E506860A6490784442C5FD4E1559EF7B -9384F9487F5BB8B4AF79354F38D0FAE3665C8EA4B86AB7044972E093F74DF695 -5391C411E3437CB079399624C47E6DB08E31EAED233AA5DA02B86762E858FEC1 -DFC541E58DFE45AEF9AE0877C1110EC7830B550A85972E3F4E3CEB2283E066F9 -30D73E79043CC3F6E0B1B331576E1D85C82876018ADD649FE495088A2F55B09D -1FB9DB3A69E74818B45E532372764F462BDDAF81F41A9B966BF30147D83488CA -E17FCD72B1A7074B4F152D350E40F6DF563CCD109E98BA95D40C71823BADCF77 -0E38D13C42C380E28516DF6DBFE95E20EA129E87BD2E68FBA90703C5F0B5C17B -501BC46684CB8200FFD7F2DF0A6B41B3DCA63104ED72470EF1582025B19C8D03 -F59AB62738F0C7E6F36CB924CE7EC0DCEB145B314487B8F5C1DFCFABC80193D3 -576BAEE2F8BA3B4F26CF1C0C868E2495A1A53FFCDBDEDDA2E1B4BF49B059215D -256BD2EB40C4301DFFA52B1DA767F7F3C6FCC8D18A3DB84FAE1F4BFC5B7A19E3 -8845B4CC4B0DED5CB82BDBCAED672BA0D7DC6551393E3B27F4C1DD9830D59D0B -8F38B99CE7F86010FA1029DF03A348FA9B82AF118C0ADA62EDFACCEB18BE591B -FB524F18279E6E2B72AEFF238D7F75952AA70B2F564C8A154B95E98E34E701F5 -F38644C02C30FD68742DF9F749075077C7315FDC7200959574BC062E36FF5BC5 -F70DA95D473F16D681D8C2F233FFF35A199C30A86AED6828A087D166B1908C02 -E96D176F398B9FE829119AE66981620B60CCB616305E3DEFC0D368909C2D3220 -23576D994906622F9F6A2A88B718B7A29F908B6DC38BB12491AD49C7F76B3CC0 -8B807856066DAC2E72B2AB4C1319277F479E5B45DD81BCCB824D7E076AA94C1B -792D72EBC1C16DFB91BBBD861CC2FA1E5849CA9C9D305BCB72BCBBCAD1BA2D6C -9715FD37DBA9BBE2A5E1CB57EF6F34E84897E10B116C8FF4AF458AF4F18DA5B0 -E487360C0ACFE4D1FA517E1AB449A7B8245E9FA6A211DE9E61DD170CFD9160ED -A69D81279B2B1E41EB1261AE83D9890F34B758E07A4AD93ED78565D72CCD1DD0 -E7C0747C2111E26790A0D1075B863333F7F258A34E6B4F9425FE5C8D435C2169 -0B6D04BE1FCFAF1400833066109CF4F11408CE3CFBB44B54DEDC772252428297 -DCD569781CB0FE4D9957AD8DACDA3BE190DA3EAC7C4F5FB44567B0EA83F193EB -BE3F039242AD91A5D86A9A3E0DE32A1A80B534B10EE00F84C5A9C573D3B7B48B -4971EAA474C6BFA59365D51B2AB28CF54A254A8BC9A9FC0C937A9BA61C762F70 -0CF2514B497EE9D24E050D14AF9347585C3C1EB1479F269B92BA7C6EC3D62B8D -5CBDAA6A07ADCF1934404A40D215AB2F3C535A25764621FFBE95092D1471BCCA -B83D6A45DA291F055F847E43AFB0E48566761636C38F47F7606AF72FE26CE468 -B9E80C7C16E4FE9433C65C778DB1115EDBE6E366BE2B7EACC29C29BFE92E1CB5 -D2593E1A39B96F062E5BC644B0728EB209FB5A0BF36AAD0F395F879112258858 -88C01A48F49082616393A7454CA52907112447AAF45E73D2E6380CBA011F0DE4 -030FDC5CFE54218AEFFADF7739998492489D67D8FF79A812598F2874B946537F -4A9749D02C0514CD254FD63553E475EAAE5B71055ECD02B541B79D919F37F9B1 -A59206BCF5ABEEBD5DC5CCA86CCEC47CE7956FC29DB487A66948D2D1981072E5 -8251BCA093E69F6565C6ABBFA32474175ECCA82D1222B6D8E9AC8E2EBB009656 -A0D7EB6B98EA8840280B1D6142FFF34C158579C26BFD03F9E9A2C94EA7B63CAA -33359B40284F6217D65297AC20DBA627E6F328CF8A93861F095EEF01A77BA4EE -A3A12056EEA8935187F0EEFA8EC335D698F35EFD049C2ED3DA3AD1666416B7EC -F5D6EA11852A8831E5B174809554CACCD9B579B5C1522E1AAC576D39E117FAD4 -8D1F055AC811BE13F69AC2DF5AD66B03436F8B1D02E26F5230467B0B4B3A8043 -FE913EA90B9ADCD8B5C69567107E310582B0A2328939625224EF23D847C3D5B8 -470F7122C4BC968C6BA0329728F04624C541FB1726D7B520AFC76862E65E4B34 -0EB11C7E081F08A2DD261A6C5E3AABAEFFE7AF98312DE4E8F7840BB44AC497E4 -87B838F89D22070AC528A848DBBD457801DB4E3BB0FA60C144FDADF5703C164D -5C413B0F7EEC0AC705A698FAA12458795B10156A478052B111ADDE4F77F91BB4 -335E890E40374881A62789BFC113F632C4EF93760B7D4F27A613D5B76CE0D0C4 -5D99CCFD546E3B37131FF5B81ACF6F09F353FCD6883E08C3AB99C20A35E6A187 -37F365078055A4A2BAA888F64C03D7D98C051BBC9DA8264CE80586F5D9B84E67 -44346858F809292DFF1621CC9355C55C4A34746EFFB9FACAFAD975055B73DB17 -13B4E713182E0989065159E9FA15F93D65903A58D7768E6703E732F3D52AEFDB -253096FC584C17A810FBEE9427BC9271F741D1FD9C0F39676E8EDBF2947CE321 -857459794C804804BAB0B9F7284318A9064840D631B3F8F666A0128A021E0D3C -9DB114FC70AD76578742F4A9D291265CFDC9C55F3B57639C61C722DC0836330E -22C7499F9FF2BEA4F09D53F548206DD49EB29144AB896288B860A1B347445683 -D5BE3BDE0D9318AC3C0AADF08F454CFF9E8DF90178E427B01931D84A31E4225C -50E0BB4F192E41876B070A8F6712E11023B865C880F4780F4117E309FCECFFFC -D2C9EB3174C21381060767F13FE511F6974DF53ECCC26D3BB7F227BE4CA78631 -15378A47653BFFAEF21407C775E02B6676D6627244EE3AE61E7237AEC3CE31B3 -649F3D54AE58966AC2F4E74019B03D4DE4D01EAED203BA8C812252C4EDECF8D6 -60EEC4B191162240095C8276BAEA3B8A300FEBB8D800D5B899B3EDC964B863AE -5E474E49D5799948B15A0C646A41901072D06F266372C246C185E3AF16344142 -023F2039F9DA4846EAFDCECB7D951819F47CD8C76EC0C91BF84E7CA6B603BBCD -314C33CBD33BF8479C01F34A2D8ADA50256F347250B11F9C5A84DEDC21AE05F1 -00047599FB48034A509A41BF77CC57FA6DA32E15714C8D216E6780F2A14CE339 -C52F6A086846E483BAF134845D0A22DFADE593565C789D4BDE03F97D9742B1F7 -732F3E9C98DBCCA0CC9B2924ECD99894511797A23C70ABA036733A5CB4BD61D1 -AD61951B2D18ECB002DE903099A9C1EB91C625C2452BF448F7A4DC4D3E76D316 -B244EFC3A53DF68C003C311400A22FDC2B830ADFE0B50486A119377251C4A95D -86E21E5DEED4B59F3A2D31E1CD9E16980A738793DBC568074ECC0D743E94605D -07328E3BAED62812EC0FA9DDAA23720F25360309618CD4C6B138E664A21D4F4B -3A2B95149D89959C788BD38199B13C0434EA27 +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 +48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 +9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB +0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB +8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F +EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 +FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 +9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 +D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 +9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 +ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 +10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 +83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 +2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA912A2BCC6CA6105B29 +044005DDBEAF88E0F05541BBD233977A447B469F013D8535A9D7023CC0FB7B49 +A95CD2B6F18935C37F49E9A73E97A8602C5C26EE13D7A04A188336FCAB4CDEE0 +23DE9D803FD6E8D846B3F729BD36137E834E016242CD2F7BF048959DD45AD413 +19B985D05E5D422F3D0968375EA6A90FBEBF8B42B15F15280469D69629C08A42 +1C298CC027CC288B9C984239ABB96B6A891C1360D08F9ECC22202861E4CE9B39 +8BF6B05F0B97F8FDED86BDA32D9EE6204BEE3215303CCA27EEEB4C1D63A56818 +4D98D6DDBA48CF57F6702CA365876998526AF3127006CB24B598DD824779DD44 +C71DFF00324FFB212381961F0717D60ABFD43845AFBF571725B66989A46F4AB0 +2BABD925B8E256FAB7DAA18C92CD383C8250D9EEBF030E57529E62F32B9E84B8 +6F54F9D3F03433E1C3B49ECC65BC7941715B03E0D4AF398BE366B4BA47616A6D +204E95FC5B55BE143D91B52A33B84F1AC412CAE214D16A481946AD40D990141C +CB3BED649F1FB9A9BD6FA48C42F58272FAAC3760971BD5FB219FB886DCE3CD8C +F5878A253FBE6099B3CB27794652CD0EA5991B876A0BF545EC38BCC18C44BB67 +C5C50B217C2601C0336B2D5EE7EAE718CB55918174835A657FD20B5DCBBF85C6 +59CCD302B124D2A77F571AD2B8ACC9D9C1AE0DDAFB478DAB9B0A2B9A8CAF4A4F +564E63C3B72402DF7DAB10234ECEB0EFA648F7CC330B33E3B60242450FB232E0 +2B9E1CDFA4E042C83DC4E57F0F3C2EF6D3B0233E0D8337D28F818D83384F56B1 +2F95F8CADF82F02E19378A9BB6D156CDF42E2E422FA5BA85405D56F852D8A57D +11FD630C95B88AF6FE9A5106C4445F2E0E2168D41DAEB561D69E9713587C2663 +2B2EB55669B8AA9A25B7EE1A2A34E62BEAEAB15B10D52B4A1D8687CF69C6E34A +3926E5F92DF419054F8734E1D270DD3C94E64E5BC33FCB574916641F718F6E33 +C7F14D40381F18173D9FAA611E06BDC95AF4387B4576B672F0F768BF81D7629A +54B5DE49CF2C8C4A5961AC105F8B29EA0C804754EF25D6385E0965C68C56ECFE +C42CE5DD7928A1F79FC556B74BCBA547C3336ACCDDE58C86EF1BC47C70D7BFC8 +AD2B62285231AF42452759AD832244F307734B30988E0F8B9FBE765493D4FC15 +5CE6FB08E01754D83A1764C35CA3E9DD4B8D4F24929C55F7DDCBA54ADD726267 +3901C754348C3105FD37484C355282635E3E601D73B27D5CF8F66EA34BE453FA +83D28348E4FFE40818A70EC4D822DE1AD9DFB7A0189086AFF520D20A47CB167C +2F4E0A5AA4A0DFC4137435A62EADD8DF34042ABDFFF38394DDF6C8C2D9182649 +439BE4F563BA76A747877F216E8FB653881D47E28FAD35822BC485631DE205CD +11AC16F70513A9B3FEA3B450CA7BB8E568450169AD56CA72CD9080F2EADC13A3 +74AF3DEB8F850B771FFF1D835C2B5B5451F89F43D687CA76934662EE9E155936 +23EC73234E119CDDCC6C5EB6D8F82068F852D096EB9336F839D3892D7ABD8B6B +A854CCBD8AEFC7FFA2F61B3C77101D849939905FAEA72E6B6223818E359C2E58 +C771BB52AED3F73AE4A51FC258D7F822162C384B9B692D990DDF5CEF0E2E3964 +F2C0A902439D7B1552EC239076658B9DFD9EB05337F5D0CF685086AD959DC3BC +0088F23F1478243C90D2234805D7E3FBD87292A37BC36F851E510CA0F2BD2F63 +9F3DC21043938841B9D2EB85B88A5ED861BBA873F3AF891A1A021522C6680F9B +17C0396AC7847A3DE42B1C8C1A60D7B0DC651A43882610C3D854CE92E20C18C3 +F554B3C3731E2967469987B767874F5B64676779066AA2837F836CFBB322087B +5922607C36620537338303CFC20CA30101CCC35C3CB7A38E8271FAE977E5E09B +90A049FF325F82B6C6B0FAE8A962E26661913F573D11393ED00F5A047914ACF2 +796E62866E5CB1178541DE6842BC2DB620A6CA9FC62A9B7317BA1DC8FE5CFF47 +BEB15749E9B45335D9A28E8BFF9E74D110920C25CABFB935CEF571EAAB3B5D0C +915F8609E4B1727A30863D71EE013FC1BF5CF1F26D19DD93F286616EDAF9C7CD +E3392B03B8B8B6CAEB0843A4DED9E72B447774E3F223C96BA65E02623D4D304A +C57877A2B4CDDBE00972FC03D878A0DCF7830F3FCD26B7748E240F076D8A7485 +B1D41F4038FB24B4A1764B5FB1D98857D5FFDDA43048B754204519536F858C88 +9C16EADBB8BCA4E5609688E5F03B561D8F6ADC775EFAAB6474431B0082552F21 +0B1814035BED18546EF7B2C3EB1BE9403140D9772DEE3FDEFC4323DDCA3595B0 +37EC8992204DA5106D4380BFFDD8595F23604F0FAB2A4CC2E4B8F14882A821A1 +0C5700F33EB020510D0853E25D518840EC28796CB96A8349666BA4C7488C2D9F +9036E57F705CF39D4FE333CBD281F3A3D438230E2603E874E60823592194715E +8ADF67A5D104993B444570C4E0F405DE973DA981F243430A51D24ABC0F6831B4 +A8185EEFD181297E05700579594DAEF58C3B0251D7460F52454E843DA39ABFA7 +138937E192F0778BACDD7EA822DD53CD3BB26C85EE24A334A0BAD1E506B7D9AF +C667142C7073A63339FFE93032DF51DE66555365CF008CF7A037E4A5A4968925 +D93DCFBE0959A4D0FDA7078392E4BF580D2C468AA38D14E683EEE593212C957A +B289C33C79BB91006B38A632B7ACA42109AC0E9A8B25C88C7749B0941748468F +9C2F0C05EB7B9188F21DB36BF2C4AC747ED96C682DA0F5A81E114EE1DB81D0AE +67496FFC1ABBF04E7B33F310F483B502C02F7556E34EB289975353D8723B10AB +7D9C0EF506ECF8C2A5A2E853E30D514140685D2DB8F562EFB21428E09CB8BC6D +D8B4B7B3AAAAD9021C437F47FA70C60727341179BC7564E4E835C191B5C00DAE +2D42CD94DDE6198F173B4CC683434E4F9B6B0A8A082312F44FA464B9E88C9D85 +7963B8DC950A0704572971D22B9C1157B75C29BD41EF982EF82C1BF4E841BE34 +51A5E7FA5945F72C24069931E8E20340D7EB926C0C2ED7F4E5773A0439CF6954 +5A2CEF16C21A101335017B7E862B7A3FAD5E41B6632996506A740CFBDCD43C54 +CDA99E25D62002A5769917DC47D36F27FFD8E49E79A2EEAE22192F849114011B +0B628EE515C2D145CC0EFC0058B9E20BB2D4695E1B8D26F2E0F5444354E9990A +E7D68B3BEC6CFD849FD8E1F902452B3EF54B37D305F4AF5FC6095F8ACA23CC16 +087D4CEA0B4BB4599F31272C772E647AF271676CEC005FEEA7D61A0B4AE7E8F2 +9029D2AB75202C9A345BE4FE01CF1B889FA678435E69A5C2105D8A5F2101EC86 +37BC7C499DB46625C5F68F941AFE6BDE985DE6533E6ADDEFA4CA7F542D232822 +52C988861F66EDA24D5CA9D8CE256553D1FAA78648A325D982E18268F9119A49 +D5A0EE2D03E5E8F2B076033D2BD98BF9008D48D16DE9E25AA26A3C5DA7B20599 +F05E25ABEAD7E6AC95F08900439444B25A8BC5F26654DE0342A7A7D2319559EC +F136C02E2FE0016775C84E6240E9226FC71D07A3084A15845AB5E265A560FF93 +C999FD6E4B03C8CD343EF1FA818D072C0D739FD01BC8917CA61A4CEDDD2507AD +C10B31FA159A9E99F74AB237CAF07BB7F3F0E86EF2E3A01DB348F3C2B2041EBA +1A0772FC91541F1BB517A3F4D4167C6E8D4884D7C32CC1920F5AB8CD94BA5409 +61CC8F7F2B4CBC1398A5FD3C345932FD749971B8FF19C9C5C095042334112FAB +F362BAC9C6D807D7E316D8E408649459CDA4ED2084D9AA43402C033E34B6D37D +35D40DB02D910C279C6B0597322FB2F54F6321439C3E3EA358E96485EA62FD94 +1BC6958847E10E340F853A1A3FA691EFAEB58113C625A623FEF54A4F76E9A406 +FB5EA9AC05713CA3D75AB52A349E0C3AD3E421C85072C59B9C83F9E5279C0DBF +42CBD3D33C208186C254FE8788819A8C603366015D0A241E8790C2291A6D34E8 +106B3F67B6B3AAAB247266AFAB244967BC79D396FE1B6B4EDF397B28638E0A7D +82300D008E73C4D04AD2564EB868CF6CC8B6C63F5C2153B6C89D094CF24F0494 +EA309702F01151AAC500C3F91C512B476468230D013D4286FF9C984A863FAC64 +2FBC0CEBCF77ECD76B4416C90026C89DFECDD2BA5F9ED661742133B7B013595C +9F78DB5433A2D6B3352814F3F179B28F84294B6EB6186F339AFFD1513A214863 +D432952410E7EC8A1F5A29ACA3149C729EBF3A6E8E94906A3AF8900318585823 +A1CA8C740316FDA75CB3C168B2D0CCEECEE205F6A6E45F8896B8EC543CCFB528 +AE21C87F79B45323B7210B831BCC31466B68D4A938B31A92A3954763F6DF2057 +6F8F5D8E3FA1971E7A86BCA728D6B9D8DC6610DE1A2C438A9994557FCA7F4CFD +31450EF046A12FF31B53E721F4B1D7AECBF74DD9983DA73E11536C9D98AD9595 +8669E499752B96BF8698BC1DD22B24D14F1199B9038AA69355CB83103EA54DD5 +F9EF4444BE104D65B94CFEDB596B9EDE5DE66AC64463687CFBBF41061EBA18BB +F42DA14AFDCE300F67E99C876859DB65A556FD927B5E2EF3332E2EAF8D22517B +169A6850B3478BA7FF5E5CABD7471CFFAE030AD93F95190C36C503270CDFA4F4 +CCA46C9C1A49229B9E74E25B3FC87D3E6BD9AF19CC26D94F8C34279C423AD76C +D208758515E09950DC6E5F7DBD10CE3146327044A8DFB2BD2032B21ADA5AABA0 +E6A854CB5B75CC191026E4C5B3B04682B10EA4341BDACAD2E594A552036AE717 +9F35D721C7270A5E0C395BC7B9EF995ED1C41A6F7330BFA9F8819B379D850CA4 +89B8B4BB0EEBBEB10179A91A0CB3C5ED680A0F559ADAA467B58A96220DCD14F8 +984F0AE9D1B16850F38D255BFCF50EF82663DD8D01FE411E081AE86C1945715D +6305B1BB8D093015DAB02555661D3FF5B2D0AB9FC829FAA1B7730C2F3F089DAF +96775798A848EFAC7302AA3DCFFAF36F7ED43E993A16547D3E3F27E2FA4C9C05 +3499B3548341C34EC75F935779E535652FDD6A89094A0DBF6ACB66FDE246A98B +FB258A67B560F87BB70B0655DA497F9A242FB90FEB3B859C8EABB7C882B82090 +855F365B586DFA63CCB702D2E9171EACDDEB4766E86F0802693AE2D92BC81959 +AA789091F9F54F55259A27CDDA07C8897256485499218FCC23924ABCE57E18B0 +12EF18021D3B6CF1E75E68190838CF30586EAE0FA5F8BD7DE0C8FBF237B1C5F3 +457DE47DD55E8428CDBDC4B40B0642B651BD9132E3B733A7312DCD05A9812247 +D513E7BAF0238E0A8B930B98DFF280F0224668ADE07D448900A6CC02F1822002 +986BE825CFF1B3C580F8E331830B4CCF9BB0BEAD78E001C11815D81928B6BD4C +00868B6262476F52A2994567A9DEB18E0606AC1F7D5C30E50E464A7D57942D1A +ED3F5A91FDED389FBDD7A5DED88A959F6DCDE126B9B2D46DE928A15C8B70A947 +552D410DDD99E592665174F813469961F2B9E779ED7687DB8846C2F22036AA79 +D3D279B6CA0CD20F6A6D78B3356D2C84C6761F9D4070CDC8C985E41D86DB173D +86B8FFE28675AC99939C23C4D8E5C768944564453B21E2C5B40AF5F1C475FA89 +3D74C7E306961A008964DC4415FA7B9A12E2249D4A25463DD07C6B3CC7E34907 +35D4FBCA00223784925C831B9AD617B53CCA87E373C865638335D5D4C0A656DE +B061F3BD863A21FF2B7EF1484F71C58856886E6C84EC03722B54C43D455C35D7 +04E959B9485371560E497764B045D2AD99333C03BDABA6EDE7A74513390A81F7 +9375196296ADEB0DB73F5F4DC3E8578A3A3F54BCDCBBB8F62286A961B99F5A92 +42B642D57681E74D00E665E2EDC149C9E58642850BBFAEB36CB14971AF23057A +CF7551DFDFC00A524A1F841000036DA4A820A91446B676FEBD6ACA4A3D4CDFEB +EFD7ACB626529FECFB492E93DB2A0EFEB8BA6A33D3FA27195B6A069502EC63AE +9DD670FF74785FC0374401B3D071B2DE3F353C911D1A698770E6056FE3580C31 +2E4050CF8F176A3314B2D2E40A2371021C6D922FD17E82D4C207E1697E2EBF7B +CA3F7E80AD75B0779AEFB9DCAA1D82BB74A1DB9DD1B77CE85E84C01B79BF9467 +24AD2DD73BEA36AFA6BC50FCCD0E81BBDC19F5BD42554D438C5154B0AE978A86 +4914D7B729B60683BBD21C9FF9D78D7C27151E85428DD75CDB71551D5F042A68 +07917CEF94157179E841296768551A89165E53253F8AC2FBB65DD5B14ED49F26 +FC9BD0909AB47C9D0328E81C7D9E9C2A03B2D2EBA8E7BC5A8412EDCF9F8345BD +9E7EBED79CDB5CA67FEE8F1C7B36CB7060A3246F16DBE86C 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -5150,51 +2987,37 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont -%%BeginFont: CMR9 -%!PS-AdobeFont-1.0: CMR9 003.002 -%%Title: CMR9 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR9. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup -/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%%BeginFont: CMTT9 +%!PS-AdobeFont-1.1: CMTT9 1.0 +%%CreationDate: 1991 Aug 20 16:46:24 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR9 def -/FontBBox {-39 -250 1036 750 }readonly def -/UniqueID 5000792 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR9.) readonly def -/FullName (CMR9) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def +/isFixedPitch true def end readonly def +/FontName /CMTT9 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 12 /fi put -dup 35 /numbersign put +dup 33 /exclam put +dup 36 /dollar put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put +dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put +dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put @@ -5205,6 +3028,10 @@ dup 55 /seven put dup 56 /eight put dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 62 /greater put +dup 63 /question put dup 65 /A put dup 66 /B put dup 67 /C put @@ -5226,9 +3053,11 @@ dup 84 /T put dup 85 /U put dup 86 /V put +dup 87 /W put dup 89 /Y put -dup 91 /bracketleft put -dup 93 /bracketright put +dup 90 /Z put +dup 95 /underscore put +dup 96 /quoteleft put dup 97 /a put dup 98 /b put dup 99 /c put @@ -5238,6 +3067,7 @@ dup 103 /g put dup 104 /h put dup 105 /i put +dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put @@ -5255,609 +3085,371 @@ dup 121 /y put dup 122 /z put readonly def +/FontBBox{-6 -233 542 698}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340 -15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E -ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4 -B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029 -85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C -DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955 -F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D -2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5 -B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7 -78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7 -E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3 -41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277 -B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072 -55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA -700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9 -8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A -F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4 -FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4 -3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15 -B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2 -AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013 -461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC -CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85 -CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C -4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F -291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223 -D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181 -C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115 -D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9 -9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405 -2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380 -A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB -2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E -2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6 -AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577 -9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB -B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67 -0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D -9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B -42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0 -C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35 -623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6 -B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4 -E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97 -CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D -07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7 -53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350 -EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9 -52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88 -F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC -D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3 -81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D -B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6 -B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A -31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF -E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293 -846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733 -46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E -44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08 -A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A -BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5 -1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4 -D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344 -6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A -E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E -24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E -75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D -EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51 -C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0 -5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034 -099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281 -7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE -53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84 -7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F -7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C -D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933 -CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD -866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B -B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826 -ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B -B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64 -FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B -40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643 -D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8 -2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787 -39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2 -1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4 -F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9 -253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B -14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085 -6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E -E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B -9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E -EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339 -FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F -289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3 -A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5 -5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46 -5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652 -152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE -67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3 -BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59 -3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88 -713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF -2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5 -D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143 -6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB -A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9 -F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95 -26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A -C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970 -350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700 -70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5 -F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95 -F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8 -9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2 -DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473 -F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D -064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF -1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325 -A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E -E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF -01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C -40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C -72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645 -24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1 -EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775 -D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311 -83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483 -5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448 -1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69 -AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC -4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3 -7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9 -65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063 -B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6 -FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6 -4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490 -8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6 -1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3 -10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B -C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4 -8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A -C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0 -7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F -852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C -3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997 -648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD -855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE -1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C -1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0 -B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7 -D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99 -24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C -552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733 -6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0 -800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8 -6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659 -E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4 -5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2 -00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F -E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4 -82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7 -6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3 -128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D -744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507 -84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF -AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86 -5D24AB1323A0BDCC0A8FCCAD408E091D37B62D3D1BF8537CFC619A78488DA0CF -87FF97E3181A579D373539E8AFF22856FD03F4C387BA307983EDE87FE0F320FF -41E45F60704B913C7381D84E98411045E4AC9FFDF8168FA2286D8C7EBF681EA8 -787E7960CFCAF502B7A3066310BE7A1159A02F1BF2C5C11A3A9A52E01DE3E108 -8ECF6C9F892370DE073A17C26D92487DC47818C92555B5FA22B8E2D726EBDC07 -7B0E0DBF8060AEAD5106824D748D9C085BAC95E031069395B41D5BB131FCDAFB -5CB678DA317AA3082296487B40E1D4297E22905E096C47A26F4DF5975ED35156 -F33D505FE3ED168177598CA0CE444A03F66032BD7D1C1ACA0EF9FC36C4C9CE25 -C9B1F2420CF9A96365BAA62E2704F2C662090D58BB4E0B099DDB4EEBF8D05F97 -A5CBC658236F5E4D62BAEFB5996AB9E8EC4F4F9AC53FF17CC7A87BF1B8EC4626 -1C500327CCB89B0EB07A9F4903E0C5A5E7370D90B50C010286EB368B0503D038 -A2EF77A39178507E41DBE433DF19D3F69A70793D051F813CD263B5DA690579AC -1789D2D4CA15488F73F1F01CA8FC188FA30CB08809D8228AAC5A10954A6E5471 -F8D84AF40CBD5C92F789EB1742E17D5EF1F7212D71A06BD7091360023093F101 -36EB44A8DE87A4A196B0140641000B445FD8F603A9A7F2C6F77EF6963811F7C9 -15649EE1D81DC3E988A7A797D76DB89758A73428D690AAC6CAF6E216CA40F8C6 -2E05352428D4C5BDF539C8E423815555A1051370EFB3A9606D3D58F46E7D0B97 -CCA0C589D0E36D25CE3938B059FB0E2C8361014B57098F96088C5C98E7AF24CF -F8A8308EA440CD67106B94310E4C81D9D739DF88C655165C148CA55C7A1E2F7E -A6F673ED5F34F1C1D20B609A152EDECFA26875C005B5D3394AFC2E2FC73EC0D8 -693A9561AD2C3F9B9E9C9325EA9497425941EC3A0CEF1A59E6669429B08600DA -86C38D78CFA1AE7634B2C0423F951E647B2AE424776519ABCB28AB77F98AE76A -2F70CC3FC78E82702743AB7022329C56ED8AE3BE873992E131DDC094E1E6E683 -D2545B0E6044A8F3626CD111A9C0940AD0A7D86CE7038A74907C8E9A28945C73 -CC08B2B5F0D608B7A4B741D9F35104F476DC5B7C9E09D0BA369B0502062B3ACA -061ACE401105AAFAB82C4AA821E8523BC287BAFD83AFA05B719CBFD536B82B6D -A6E549A9FF74858C3DCC717457691AD5BAB068DFD9AC47F9426F7148BB8FA709 -24316D211D3A0EA27C36EEA1E76C0BB1068594DC152E58825290920E6DDEA892 -BE5622E1C421994E1338424D82156895529BDDBF81ED48361530BFB2C763E138 -777FF1CA8846EF2343E735E9EB00E50971C1E7B50917CFD0E82E5F05D1F96031 -216DB9AC8A26B00280FE57F64038938E7E48429061C48B21F9B051F6147B984B -193B34B606F5A5B8583654F891D0E7256870F71A8898783B772AFA05228231D0 -69EDB2E2ADF1F8CD734ABE140A34004817B886A717BAF0239A5B8A0874412F72 -C49ECA2EF65E34A8B9C3288D95EBA49A57783A51198028FF2CC674E022F6C6F9 -91F40145A7A1313A8C12793F71E79A58BEF6ED7DDD3CD527317F3063086D8B67 -46817FD31B267DD7B61DF90BED14A3164DA8B2883B0B2CA52A8B48F33D055173 -A804F2704D9367231B9B797CD55E7D512BF3D4EF1709BE4290C627E04330E3CB -CA9D10AA2F41A42DC3089F2C51AFB51A3A0A5E68F99F61F05D7DE8ED84DEEA3F -3F2A64C59AB48E9137F101552C270F6B5AE64868FC6AEE59C276C7DBDB0D7835 -9D58E3BAE73B32391C040298C4B93B8149ACCEBDB0D1D481F6C795004617D445 -4108A2BA61E53ADD1BCB8E528A1E982E5211458978B071E20C6A2FB7BFB3FBB1 -BCBDB5E18BE8CBDBBF8B28BC56E147DE26DE432ABC8F6CE4663CEEFC7E2B7232 -0948A931575B3F6D7C5C29F5E59914FD00CFA0B64E595CA37FF9328FCB3E5DFC -1ECD5C2CED3A0113096F86466E0EBB27A3AE1D793090520DAFAB5A00545DAA99 -500D452137475078B1996A96CDB7C12ABE78F41CF4DB7207C66394AD669BB39A -19492926069ECD6A5FFFB23654B0877618512E706301A7DDC2B76C42CECCB2A4 -0F5388B9759429AF631A262C6F5C1DFFE78F9FB4371E98D29FCF91F4CD7A9DB8 -5665151FB63CCEE8039BB28E82A7A73ACF6434AE97F67BDD7BDC6FC671A90D09 -2EF97519795B91C4AD666EBC36188457390B902BEC72BE9F0AFCB70EB75CCA91 -270C5367C18CCA4396C5D97BC3D1F1C93A6E82767543FEF3277C1DAB981944E0 -D8B3EB3AE74B1CE21F7C41C9A7FA5FAE2F6892FA7B8AA3866FB247E9FB015004 -48E74475596253F968537227DE9FF96147F79044A86E9046A57E21128FEB458B -194E8E4C3ABF558D1178D2FAF63B1F44F15600E01692752C2AFFFB88B95C23A4 -2A3FD624778B37C56CE88C2F005A4561679F7EF91967AF1B2F900F8EEE4A8264 -2D30067D42CE88A5A5C7792D88715A4CEBF3B85D6028CFB8B7018F52A695C63D -B1DC68D73C592D5283541004E877FDE4E81E152F9E171201E9A88EEC6659BE7B -6A7F9255F6988FCDE5BDE0F31DD4D282C8743CBF831B9C2C1A703BB9A4B1791F -7E680BE9FED244D0DF33DB8C6A7C47A516E274EFE79B1FE56E5BE053D560A24A -ACF4C58018A899C877A1F71CF57227931C445F65CC387A69B9DE781DE3C40DF6 -EE70A9FF46DF1BAB6B187C55A034A4CD534BF74FD940E51546321EA34D8D16F4 -C53254425F4BAC8A9F25E503C52CAFE84FC7E2DD40EBDE538487CD3FC6994AC7 -D18FC4B740B469FA6515F0743BB742B3637D17C276BEDD74BEBED378206C8817 -ED8CD550090529E57B4E965719956F543DC7CD195A898E63C48825E4D1F74D92 -B931D09133810F01DF00B316D88E67648D419B11F09A271BA4A063908D4A0849 -2F6BD8FA7202999E06CFC9CD396553935357F37C98EDF6B7A3A1B89E9CB4A844 -21F91A5CC36DDBC15AB4E8ED818CF109C6658F052A8E92917FD437B717050DED -B2699335A6813CA79FCC5F0C62BA6FF8DC37C0AD8DCEEC3078950D2D8B0E7B26 -B3A7272226F87E29BBBA2C52EE034A90501D5F3F63A4707673F6885E1BF498E1 -13D28BE1C19AB64023DDB4F6B2A9C87DEB37B1ACB543508F5DA28E5D367DF897 -F1F63FADB3EE573239565960D47ACBBD131ECBD36D25AEF73E2D8364A2F0CB7C -12112CE1E1DB864C11203028752B129E43747BE3E7C4F93DECFBA5D031F36980 -0DDAEB15448E2718B52A397C487060FA8E9615E8AB8A8EE0F0061854459CEDFB -A906BF73C2390ADF610E692876BCED32A7C70746FA371CC4CDF4A0BCE7172A25 -7A584EE60E40C65FD29C4886FCD94C53EA596ED2F887A3B33E3F5AA70AFF2252 -5E60892ED16E7CD6409665365972D5A0CBDEDDE70ADEA72854483B278AD95F99 -11EE76C051EF317497B20CE4772C18C1CD2E7D6B5DFD48A73EA25119DAA62160 -AE38814D915B1E6E17915AA8EB01671F1666891732B7A74DA77525E7291019B8 -F0EA4BBEEAD44046062417D9E46F1899C50DB5281D90A4CC61A386D4EFDBB302 -F9D8DB575BD6F240A2BE1F19582D367DEBD658AFAAF0F2676E8234E97203B849 -3F5954CA5A35415E5547D95DE12E9F43D865EF05DEBC64EE830BB8D88E70F553 -A23C67C8CB1710A7B0456E51FD7E05C5505A8C11229C3216C6C9934959E2E22F -19CF379EAD2514966385DCB584DC935935AD5C315904D3602CAE95E2030019F9 -CAD1D2A6E9A4F675954D0E48E588A03CDD6F6684A2F6A6E4B0BB228F0FB1C6FD -90E391B76DE31914E30033A146BB5340CCD436CC9F994E7E66877CAEEE11313A -17173C8EE7BF8E3AECD0F8834E164E3CF9C29E1240F90533E269D73B8CA8F2BD -F3C8BC840FAA6973EC6B5FDE8C7BC7A8BE6B0F3A34C5ADC61FB3C2B6DAD735DB -868949C4A7B5380F0F0604927C79CB4E64500DC0EB05DA5B1D63B58A5EFD8431 -A7C45534A8E8F4BE8FBE60B6F7491BCCE4BFFD73EEA80CC81134CC44DC3ADFC6 -DACE394B69F26CB904629BDD24B5B5237DCD4FA88AF922E0DCFD07E38F18BF16 -309EECFEBD83EEF16B07B16934363BBADADD8F9F1315AFADE985559C972F241B -85C3FE29A8BB395ACA5E17D350F9F72E861275A95C05A0E7B5422FEE794EC90F -2B5B2D13FF62B3A5CCA7C62B95CDA580DF9B53BA3EFFB509C2048A4BA2608BC6 -AD25FC81DFC007A1DC42673DC3E608CC74D9B2AAB0117841A3220F19CAF09893 -3C0C345F4449459ADAC7BC383324CB6AA7EC26AAD55020993D0F9DD13FAC0A89 -D1E7A05573070D9E4FB58B45648BDB6D08E9373D4E9ACE279447FD2CE70456E1 -A9B91CCB3EB15C8826FFA0A41E01B28F674B99E32944DAC246A79D1870DCF186 -C972C3ED527FF0A3CEED33E6236364188C02B1E4543B8DAC9751197133B9D448 -66B0223ADE1BC707D4159A286E68C1058BD155BD8E1E1D83EC8C60D17130037A -194AD5AA368993526B74DF4AD3DEF7AB646FDF374255A47F3CB4E95869B3C178 -390E1E324C159A70324E812E25BB637D2850C09B405A0B7721B0A991C313500C -90D08E6F0DA8BF505B034C6BD6072E758FB3DED09F3D3CCDA80C974F08F9DCD8 -E96287587986F1FB7EF258921A9BBE01B0A43C9B9CF3F8C9FE9548E41273285F -FC8935C7AAF4A29566716E950726C7989A95901F5C56B45D25D75DEE1D5EA3DF -E6E938DC3DEA0AEFBC47872FE3744E6B5C6168800FE1E3730FC438108EBDE8B4 -B4A9DA7F8E55543C67BB815C2B77C30265F880BFF9D998B8996992C2DBFC616C -9EE006EB98C867B9D3D7EAC8B00903CE633B94F8F5D2D487770BDB62EB1A53FE -BC0D13DB94C737E54C3288EA6BE122A0FC35857D92DA9E3BCB8583B45764349D -E2344139C8F905C208CB4050E950126F632879811A5ED15F7E7B27D3170198B7 -B1964F06FA35A68AF7FB6DEFA5B1BDE93E1B2F90EF1CFE9FE8941A8B415C361C -4310878F15F5DB640CFDD8221CA74A2A7EE19FF3FAE5D71D664EF4D62C2E280C -F0AD8C00490F45808E57FDF1A6A275B171305E30CF860AFAB56D1369CBB82A6F -8838ED8B3B82DCFD7F800C8ABD192F0185EE44B0A4F697AE22098957536997B7 -1AB7571306B05CE960E807751927F5E2E72961CFE5F62C054619995565E980D1 -A13CAE531B413577774B38CBEB7D7F86AA166750290200181AFB17D77CF82CB2 -855CF7DF6729E50D7960A0FA3210218ADFC88FFD811BAEC739FE4FC8DB89BA15 -AA357A2F5A9E18A10CBAD86AAC30D56B29CCA5CEA9985E89C44C885DEB45B22B -96D4D60C75AE1DCFF2E07F6D135876BBB3267C84C1201495E94570CB3A9059AE -A0090608967B5D8A8BF1386CCA5A2F63F5C6B07868E0CCD9095FECAD65FA0761 -C4162148A3DFFE39A61F141D576857BF03FFE3DBCE2ED3EEA24EFD76BFBDA6DB -AFF600253A35841F989946F6C829FFE721FA95AFB6A33285CCB778B3E0708689 -A3148C7A1451DC6D40BA17195C8530C3CEB6CC2EB4197EA1A636C3D6A8B780B1 -89BF95F1EB3AA6D7EFF5B18C793EF87F16792C40EFC70FDBBA88091CCB5B7CC0 -75CBEC51D397A40466B40FB0D21E05562691048A92E5E1F716C2BDEC250578EC -B8CB81ADEAF3687DD0D534D473526034079ED148C38784D0B69134831D0CE4C8 -9642D9B8B747AA2DFB2B68FB2121D1C684A791F8677CDEB1223824EAF72F3F65 -DFC5CE557187C776D0B679813F362FA9C0AD171F144BA3805DB60EB9C5D511F7 -DC2FE5296C122961680463B9F3EDE7B6882BBDC05FF9D4AC54FDBF7904A7C40C -3926828DBA37B96A66C84C26A4020B9B9FBD12B31DD0038BCBFC2906031B5738 -266726D93F28561948BD17D65A7E03A0C61E41F341ED356C0B3EDA05579D913F -4F079C3EE5E024C13277F8911D63227EF9E7D7BF1E656CF55B9FE7F73B470A55 -AD4C0FF4AB0650B4F8D3B942BFAC7E6917BA507D51E3435A367F0080DD0DDC01 -C8BB06302714672693445A090FFB9B572DF4E524D81497579456D38BCD306540 -363295168D376495621D1B374B7E1076C39AAD221A2CF88E6017549EBA165527 -968BE3EC8AD147247493990DC2BB95BFF362B66183CBAACE28CE5C644B344D6D -3AE37B21788CDC4A7320CF375F87B28E98C675ACF11EF07D9740BCE7F788AEF8 -361C43FF55137B67297937D64ECC3DE12A37BE7016B015A4A003655D6DDAEC09 -45BCE1C441C6E57550FD3459B57BACD771443FC40DA3197F5C93384B5371CA26 -4830EEE7F7290846C9BE5DB31C307057775133CC75EEC9A0D7AFDFFD3C22FA78 -A876C788CAE74E9AA0E62B40D19A131C987E6396F7BC1977B449316DDD3B7EE2 -2483D1865F204020C0B59E5D539D92C698428B1CC2E69A48A8F053924E382E7C -31F99F6BEA2BA30ADEEFB5B800C716A4E461DD942A3F13BA2837B2855C32E7DA -F286BAB42F3B5D84DF24FEA71664BCD6F9A8791316B8842E15C2C7B73C444775 -C514D5117F7A7A2C57634AF421506E16D31CB2CF2B74BDCB592F66BB61CE28A1 -F14DAD5ABBC51B8363929B1C6222AB869A4038599056684A6D5096ADF01B2767 -30D3FA3C8808131E85EC48A0182EF1641426EF966DBC194D4ECE7C2C85A06CD2 -E050F8E5981B06D2CB19FC1D0644439182D53857E9BA75B52CC5D469D04A8FA1 -EBAE50E7974F6F75E3B343E6383619C2949272C09828E4D70296D2679ED39D53 -61B2874B193A44C4C9DB6844DE30383F1B448A2F6937DF6BBFB52B8306809CB1 -6BE40AC1D92F42FB1471CE7DE2F159E2CBA721C68513763961A6718713226184 -0292560D57171F761D3EDBFE936730D1208E27A95710E270F15E0CF8725AB626 -A4850B3F8B0952AC04A66318AD35FE30F91C7491B6FD986D09E93E8C082C5E92 -4771DF78A8E43080B0E0A58AC0BA68300231A952DAE4C5372588B951BDF8CB68 -19B5550E1DBE2C76113BD820932016B0452E7D425F0FA21E2BAF4C4EC02FE70A -8815A2D933FA02686DCBFD6790483F571E91C5EC6A75769E751D697D6294126A -DBA45C6A40B9A01B5CC5E8DF695C59F284B12CE5065DEA44DD66CC60C2D9BC17 -9DCD3635A80B5D3168810A06F86D52B96D18F27627FC6BA8E04D6B9612222485 -8A522B9E47D40DA4A12AD5237046E8CC1AB9A8BDEF138560FB0172ADA48762EB -DF15A9AE7DDB5339EA409CEFE54F42115ADD43CB3B3BBE71FA1DA5670D54FB24 -FCA6BD547E41DDA9302A5E94DE463444B57B03BDC34E5564CB8EA712F80D4DBF -A40C91584F101EBBF3DF5708DBD38E4687D3DF59AA263BA56360317B536B5A26 -FE0BE6E759A046D1AEC79030144FEA65049881C468F57C65B8510016DB1665C4 -5C576A56FA7B20FB63A7431D0A4827C05EA648CAF97018CB2176F3018A837B52 -A2473579B0EC11E6C212C11AF744927033D7A5998F200F8E8133CAF3695CD1D6 -E2D2E335377745923116073771FD5910C8E704FFF2FB08F8633C02915FE13FBA -DD16E1759A53865DBB922E9C6DEE3333FA7C31DA1DAC8F01EFD3C631BF280559 -1E632E212612D6C2B4E4FAE6911D7A4D69CE5884EDECFC67770E53882D2DA074 -A94CE0C770A851807C3410F62961B5F9D949A3814A15CB8C00CF246F3D81497E -B3ED6D9CC0CB3598FF9AA77CC331A401CA31F9BCD6A4D8A19526A9B26E4D1638 -908ED9EE64BFF750EADD2CCF349B4231DE7EDBB99F8B75CD54D74ABE8FBF3E99 -59D243D5A0C85E1057472B2CFB85466E5A83306DBBDDAFB2B60AF96873DBE82D -CD40E8CD287A71987D184AADE8F2DD7C083C47B8C1A721D032207BAA1DF5B536 -39F0BBCD65146DFA6FD1BB605BCA3D020F09890307705E69C940CBE60F1BE0A1 -C136E3739B8CB419C4839FBAA426B06725B8843C8AFFEC664165ABF784D63BFF -C015E44384EEC1135DF528C5EB3ED85276CB29915BAD454DCB77DC58E20C74F7 -B7756F2CFD421CFC35F9A77005CC909D427CAB42E51398E56FF8F9BD05A4BE33 -7228003B7308434C3E748DB9FBB89D93312EA295F38E0DCC8EFAFB50393C108C -D08DB7CFA863CADD2070A89D526FF66FA46FDE574423A43CCA948E2596761CC0 -20CFD81D89083A075C7BFB505C83EF61B6E892D63623C7218CBC942E46BD867E -73FA816713AED3D4EBC95659AA5E6D897BDC8B780B3865CE2850C41FAEDAC36F -3E8564B90A06F0EF7837BFC48234CD225AFF788F3E45A791AFBF784F99860288 -A2B2E3122341370C38D72367205F591F4DB6C1944C7F76A2F8E607FF4B34C312 -2BBE2259CE4A4E041375F649E1F130D7A3A5BF9F72572BDDB3388609E3BD5E1D -4F52F1F8C40DD44A85DA9579D648D68E5E145019580431B892BF138A81B42817 -3E2785FA0615163FF642F0430CBA0984D4D74963E3CE6C55213B271BF7B8DFFC -BF3BA8211C5E5887F92626CE65E371A0829F223FC59582361E61F9D0535C15CF -0512D6AFF6C9EB87E670E9FA489862E91CE6B63016DF3D467B6ECA9AED400A8A -8DC982E7A4D0F7B3BB7B744735D54B470F546F4DC60419B8B99AC822E3FC8D46 -48288CE158C08A53E37DC19DAF06CA4B41FDBB4EFB0FA1C1AB38B4C868E7F32A -088BCB72BC1E0CC25B96217BF429E2395837ADB2FA625076205F8367D8E7A5D4 -B23CDF36E77D53A397328D3632ACC2E09B7B58451618506EE1B359CA05D05B99 -7055014DB7892A911254D04F4872AA3CC0DFED1C9AABF26FF51F34649F220CD3 -19EB7E325D37B5E27DDC8E96BD687E41798A7F5B5297320C26EDAE9068155217 -A4E42CC4E4F619D2B17B356231BBE0F163E3D69C9203F8C89A8684B04F9A57B6 -A0BA9DC187FF314072BAB68883872FC33ED268D29DBB00E513544E4BCD1CDD41 -ADC758C71B9990C533C23C264F2BAF40A4ACAA8A838763CDE5334DC2292F3398 -28EB9888E48D40E2F48A24416085202B18878536EF2D6CA01026CCB5B8A46EE0 -AC95185B0C3D792F2D9390530B56AC7F029B27D511DFA9A7428E157752FCABFE -28DB26D75CB52DA0326987A5AB5D11D3073D6B4DC80CBC3D43441F8ACC410654 -401044C09CFB9C39C1AA58E6A021A5D6EFB4306F9AB626A489EF191519840599 -D33A3F404D925C03C01F6AF575828F8F262020C8481E62CC1AB21DDB617E1DD6 -E85A54EB77919CFFD93C6DE751AFD24DD9AC868E96B71D570230BA41A0A76B47 -3BF50EA3C8EAC09FBD52DB3D41EDB3D17289CF2265C79F134D84FCD87F0B1508 -D061A8185520613B31769646CF9BE48C2A36918BD33EB77910BDC67419AAB398 -B7E73A1DDE1BCC1CABD8F76466A35F697DBF0FEC4F40F326753CD18405B5888C -258ED210151443A00144F94AB19CD2F7D0D60D8438574EFF945AC8326B40D4AB -E8ED0E76E6EFC5990A9947C6CFE75AA0F813E930A6C257A781DE663842A4980D -42BFFBD5031FF5BCC51662C2A71CCBA0B9BEBA1B5C9A3CC40E88D8B83E8CE68E -81C4E322949AE9038DE093856835692F4745A691E80F065CE9AFA04A181F2F11 -52FAB5A432AFB11A0FDA7222A94F8A57635F9BD2CFA683E2B33E0F70D34EEFDB -D8FCE7808B046B4EC021D8A0E4FEFB33D31949EC7AD7EBA2245EEB702B2A995D -B71E2852B53BBEEE94B1E03B05BD075A192F99A3F4A657EA73F59841666A2BDE -5BB43666F9BA470184FF061F08F87D0C4B6DCB63FE35050F98501FBA99C38385 -90A2E42C90C6339D9EF6B8EF26FD2AF272FD5D86886025E8B4A205A3869515A8 -4A7F8D639795DEA6B4537676E7E7AB20670E8380B212B1B1B48D51C5A661907E -1392F4245791890C095203F8F92BD57CAA5FC51236D5EC1D3E1653B6B7F4BF63 -65F79BC83DF3F5ECD354509211923F0CCBF8F303DB02E4FDB4916B3C9430AA39 -D51E70919D05A0BE5B661C535F20B7FA1BF0C6556AEA461A16A842A906C9B207 -0E2E62C77C51ABC8E2F6B72E59E0D75EA253AD51EBF44E8D6D0A4D057F58105A -B13B9ED469632236BCC81023F22FCD3428A8E62F1BF55D7402FBAC416C2B59B9 -50F68048F655186C469B5CAC9DA5C8EADFE9C30F3D73953D51D7D40BCC75408A -7110C5F553038AF8018900ED405E29494CD176DF69B5B0257F75488111D7A97E -A102BEDA4BC2A2EADCBD496750EC0757FD4545A8F30EB7F4F38AC0726AB2BC73 -A7C9702E8EB3A749DC439C43CBE47F10FE812A9644545B754A03C9C92117AA0E -3D5A1BE7419A3E7F2CC4F042E7E419DFEF1FE8DF673627D2D3E97A2E5081BD0B -03F86243FDB82D7A23B3291D62848AA2E4B72F62400259FACFAD1E75D9E7E222 -C4A0155040A7616AE61C7416BFEE20D2747FF552A8F83A35637CF0AB9DFC593F -A5193435633E1F0E04954ECE7993A2D1B6D6408D9FAE82D3BA7A5261A0C972B8 -FE64A419C5CD72A024DD34B13E3A6D9C898CF0208470EFBDF9664F6EFD212184 -381E1FA7CD2A5D4F1C948FD5F5B0B62978910F420DDB2711D207542D9671D7DE -6B5590B67AFA3E0F6FA7E90854B90CA7429DAADEFB44928747B6B85444EEB59D -548BE6EFA29C37D5FA7BDAA622D23A9D79E597A7A0DF2A4EBE0B6909983EE17D -1D38166A2AD39C883B004501496921A131B9EAEB30C5E041E13A2A4F5D1545E9 -9459C1F56DD67437DBF25DA0606E5F28759ACE545B5A72F840997BFB1A7B6C3A -8DEAF32403478ABD2F5FF1E326FA57C0BDA3244FE4994C6584320CF4E49B47A1 -D929FB5EFBDDB20A77DFFA44FA661B7E5838C44389B84A4DB269DE21FDD7239C -707743F70BF87DDB828D6F59A43B60F9D0C58800ED78840334700252B79158B7 -71F28833A8AC6B3AFA044FB956E7223F749203A06AA4802E1295BBA4A0B77605 -CDBDFDCCC5CAFC62A5BD94CD1B236C43DE58410FE64F6E7378E728C5389E97B5 -41A1947FA1E159FB2E8117F7A2B6B977442B30E94029F3C22FD418ABB2F9A3BF -C7941C372B1029EDEA642FB4C4C79E7057BBD6C4364541C6FD40035AC2A4EF03 -40CC00F5288C0803D582C610EA5AD7DBFE2A4E0C4D69A2595CEF3F2B80944E38 -5942BF82AF3EF20DDC39C9AFB11AEADD6DC69F96D7E45F567F9F11F053BF74C3 -8DA2BC20C3F05FE50AF73F5F565FCEB65839C4CCB2158F975C1B5D599861D113 -8C27ECCAC46EE43FFB9F5FEB1A1B42F4A7E084533BE95818BAEFFBEB5A9BE7C1 -BEA15C98660291B5CEB6EA73FDDA33170D527B026B89D97B8DF566606246F9A6 -7294E5DDB346024E97CF08621AFF365AF27D781774560AA5DD8C15842DD60B64 -9F1A8C4084F821A4F2738C411ED0EE8A7FDCBD7EA8797BF4A18A58B2C229FAC1 -1528309A69246F9E1D5D534745D579930485BB11CFDE8CACD53D96909B916D7A -2EA2954EE92DC2718FA8F6B8C2B8FF2974609BEECD3A83555E730B0B969F039C -8BBB3E52C508477E63DFD7C3EEDAA74500CFE83FB3CE6692A2D95365425732D0 -201CFAE9271DE9E1D56E29BF8B21263C2789EE7E4F29D98DAA92884F844D4430 -0AAD422999CAB05FC621A2576888320603B309D723C3A65E4C0C667556455001 -F6835F6B3BE8286F67BA762D36ADD92A052B7AB589DBC73563F4B92907162DBE -153EF4E45FE00933038F1B5E36D0EC46340922AE6E85AA6D6BA8A54EB6D75283 -671413BCAA920F0C36970CF7B7B723ACCDD0DB798BEAF8E0886C6712417B9AE1 -9EEE796682527E41EA1E44A75B19E48C69CAA1F0D9F8E83B095A2FEBE498E9A9 -2814A5652954E693C04DE8F3C481C424743471519FD07C435366252D4DFB4AE0 -884D9E58C267B1B5E4E5B4DF0F7B67299FD00CA6D5D5591AC3D7D22596E33AD1 -2FCF824D150DDF8A00B6621EA29E125EF87688D42FE5733BFB29108C93DBBCB0 -A4A0D0476DED3707EAB2700EFDEA209F39609EBA9F32AC72542F5EDF5F45D375 -E8CDAF6DCC11AF4C8C9981970673D3E98EE19EFA4EA7C159ABF590A76416C113 -59E51E199D736A7BD473F074CEAE114973FF2FBDC71994D4A434EDF62AE15659 -2D771465C0F561D8561F54180C21212D257898C988AC3B83CF4BB360EC625D8D -9EF1F53E962157E37E6658C1357038FD1E8F7BBB66F7AA361857D647BBD5CAF9 -1FC3BF7D3620069D566A53BC833A9C3F374CFDBE6CF9999B396675AD7A0C5640 -DFD5956A25555FCCE35DDC8B1CAE03FD4C2ADE567E5F7EF5217FAC6ABF3636ED -20830D8E105F518EEBF3817F8641B777B03B86C85D4B92D1B5C1BE491B80A200 -3B732749DA09910E5FA8BEAF0A1DA9DB7FC37AE74EA1053F9848210552D2C86C -AF72AE8C328F44DF02BDEB46B0404EC3A1388D5FCC814AC3DC0815857294797E -EBA9CDA7369B81A2D2DC7BD3EDA6F324A0ACAB59E8F9FD7085055654BD6646DD -B1734D573713A19F2554DE157DB91E485677F2A9DC453C2B55190F88D09F1B9F -19A7A0BB88BA039B46C7DA5764B8A5A2201FBF98CDE896DD02C2D40EB8711B47 -CA2A8F478E04FC918673D375F53FA26551B76AFA6951BD11CC2981CAA0D464C9 -F1593CCE06B07CCBE5B662ED30BE9887CEDCB78D737E94414B5FE6F10E995E7C -3CA3E3C87CEA84B0633460821B742E44942E32F2336BF5B692963B0800E2AD40 -CE7A40F8BED56589CB746A36215577ED7D7F2C4E2E75330ED2B42CFD41C1F7F1 -2C0D5749188BA7CEF4C83C47168665599D3E2BEF2EA39E7C57FEB1B3C3484221 -B03A07820878512BABB3C20384E0F5F798BF98584A415FEF6CBCC796897EAFEA -A6CE87A377ADBF202718045A284243D85E3FF4E4D80C57FD09DB022870A7C11A -B3E64B80E962E43F1B279B09B64CF6290FBC3ED668178C742D8C4FA3960637E9 -1D9F1600EB056B35BCAD1AFDC29FA5FBC3484B47BA1ADA8E64B397599C928DFA -A25745F1DACE451DA915647D8ECF441EEFEC95AEA7C4BCBC8D136D5AA3A3B229 -3882ABBA16FAA6AEA9D077C9F6330D0ACBB0AD881CB8DD43545627AAE35C12C3 -5C8B3376826D009B35FC4F352864724A88591C55B641FBC286628F8956B29371 -3AE71B194F5968D6A29E33284F87ACACD21DC5FE8D7DB4E91ED7E6E8F9163B3F -0E029877641D1326048C8A17D9CC2BAB8A7339A1AFAD465CD3FEE61F1A919C7B -3574E9FAAF3039C050D8B6A3583408C0E517C7C96B145D69E1F9BFBDC4AC73C9 -6E68D7FEDBC076A46D30BC8C7A9FACEA48619F2E3C300CBCD9C7E583652C8D74 -BBB41CB98AB7A5E1AB520EB25D31CD8D2F0843DB628DA2849949C122AB794812 -016F162CC377DAD192EB7A4947EB302FA7500193FF2B74D24F52E5F712115A17 -ED675D6422CE3E9FF1562F32709049B07F0816B88899340474C4E2A85F20D3CA -DD90CAFACA5844445884BAC86F8D2CF4E2AD4489C107372135B875DF1120FC70 -9477133F8C29A507E0FEDC956287F57915FF6380AC2E2FF9BD724E45F7FF722F -3AB746DE6EB430871F898728C09C18F5370FCC18A69AC16BB63674D62C41624F -1FF822FE5564C738379D8DCCF518BC96BA0F69443CD13B0EBBFD895F4545EBEB -86F3A6B35C065C8EB66BFD1394CA3C27DD223252D5730AFEF9518A83EC54D2AE -BEB1EA544EA6553CC4FD7D016B4990CFB9B733F90CE9AD819CD0AA1EDE67FC56 -7ADB79486E4C8460A8E4BE318FCA6ACD5BCE5D7BEDAB43807C2EEE7EDF3F6567 -529B9BAE97A330FB6578527FB95D429D2048331F01C001B79DB981D3CB436E20 -539F1F8A38B06A9A3A50E48DAE9D7542B8BC5AC37C79EC067361FB782EFEFECC -F4F3DB0441E72767F5442ED0A69B8C52DE63A06B1B76B9B8041219F14C62D560 -0D2DDA123539428C8084293486CD0F4099554576379DA207F60130006AFA06ED -4FBA39CF70749D3E132F5FDDCDD0A3FC51E04F38ED9D08EF354054DCA8F6AA49 -449E4910AB5C9F4CDBFDF67AEDAA82C31B0EE17407974B1B54E642CC5A6D1ACD -3FC6F2AD0035F26BBD7B2B4EB45CFEC6898AA91C467B2A640904990D68B86B10 -0811FC63E7A7721CB405D445DB480C68D87FB0B25371E652BAE9299E709FD28E -70F3B00A185D7C9992EA91FBFE24FDD101EC40DAB59A5D06AAC07CA40EEC4D3A -DC1F1AFB9B2B9B2B64B80D1D8E7E708210FC414BC25D5E73615584BC3AFC2809 -CC65D1E9EF1C71F791E9E2127E2C04205DB283EF9285C9525AB8A79E7D26A4D9 -426A17864E9E3DF59B37C34C9E783F66A3FF213DE5478526C8316D9FBAC720D3 -55353013757656140F6E8BA8A760915594421EFB00ADF5448F60B6BA12DAB82E -5E3ED425A66B6C7B0DADB7EC8C4017D4EE5B7DAD32C4958E69E8584128D5062F -C93DEA86D431EAC55926107E030BCDE5E6534C43FF62717A0B38775B24183C09 -148B213D876C610F9914206BFB5C1B56FD5FDD3276602A6193571C38E6AD4416 -6B00DE875418D95D4FF539685B949D6DC2AEE9608DF5B82CC3AD68F4BC53E1C8 -9EC716B79909131723858D82781DD405EFDD303D341037A445F5BBA620F169F7 -F3A84ECC9038F27667C9736323404DB69B7A5D2112CDAAD27D58E5458476E8E6 -38FA71CA40AAF60082BEC3FD8167017FC8F352B952A7B8768AF2997EF7BEE0F0 -606C4AE3B20D9348AD9691ED8D19DAB05926712F987C7621882E87E7222B1439 -B39088BD76B8417B2D7182B61E6053E47A47823D2943DABE090091D46F82BA66 -A147FFD1B367A755631DE4D5E64F5B0AF2EA6DEF0AC15FAD60D0F034845B1042 -077F3D984ED1DD461ED4BDB6A484E6AB212B2AA00AB3F36E30F3948EB990A8AC -3B3A274AE94EE395FA2DEC56E319D2C84186B51459C0924D1042F6BC252C724B -745D836A5A4FB17C7C34F0FD02A7F397BE9C419DAFD2AD333738A7C551560F61 -265D00B81FEDFF212514DEB90E3595D613FD71854094FFF409AC79B9EFF2FDE8 -E47A850E572D2653717D7FBE1260EE5D51F77450F0FEF5216A0BDDCAF4B3C239 -80F33DB552809CBBE1DA7E0F902313C08FE9644DD5C68D695A41B07D27769B13 -778A2B2992239539461E185AA974DF7BA87DA7AA1AAC6198CF0AABBF6CC94144 -2F95B76E9807F6DA550903B6C708C337EF26E30DC65B014CB8FB4B5964D50E50 -9C2C8EC147BB1ED416BBE6E462AB1C63EAB127CA81408EE27C8CE4FCA3BB835F -4E0D402DF87583A35F29A3B4E442063D91C538216BAF6970AE1443C1939789EF -F924649DB41E8281A71C6F0D6C154FE54092EBBD5A6B9EC6096320CBDD2D2DCF -48887691E35104F83A5BC53571CD59D4B4D72B1DAABB34CBB948327E6424D852 -B8F4CEE32749C91435CBA2B54ADAB7D7A9DFD42A0A2FF8BCBCB5CC067A41D410 -7695D4A92278FBD00AF863EE38876CD377A0B19352BD604F4274FD2D9E0E80E9 -020F5B9873E5ADB373F5635E2EB40A27031BD869CDBC9D1B266772C4EEE61AFA -515D2BF55290B66C8923B106AFA868260066606FA10CB83E2B9FC8E176A6A70F -63389AD4165D1AF3DB0E1EB62DF932B1B55B309F7A5C5892F9776CEDDDDF3725 -7C4693FA4E80CD1822CD1AEC01BA153CE58C22240357DDFFF6ECE7508085DC80 -73B0947E45C8166F364FFFEA2FADFD48B0A1BAB15BBFF6999641F928DA69B884 -A5C25885569D8E055285A795C27DFBD48D967940A8FA1C06FCA449007521A498 -B52DB316C9F484FE6870F7DDA52A6A503967F1F978BE5436F9A70C2B57AF8D1B -B34A141DE6E7585B3653F1B2A19826F99BD8E21497E43FAAB751F82A98CC77B7 -EBF809F3FC8D40F9AD170FC827A06858AAAA86417CC54B594EC6CFD4B24E9BE6 -218546BB8C07B3959C1710B25AEF6FB65F15277321D8C21A238B3547513A0C73 -959EF10B7D9949ED0B6EE1EF58590D81AE06806E4F8381FE8EA734E0922A3C73 -3FB9D4FAAB367CECAC7D531CD23D5DE2F67EABA1E094C367861B31899BBCB027 -4730DC299EEF802741DAC27B1C51D8E8DBB4E3F440AB1CDBF72075BFE511E652 -052355744D8C65FA32CF81854E889C42941313B4F455AC81781548147D9F4BBB -5FB7A012E55579FB1FD9923B4D951F6F3EA38DACF84725DB62D34C981126B3DA -E1DFDB04986ED950754E80DE9F6B22F610BD7EA43D189958D373E74AE2C318EF -FC8405EB0AB677CBD7B52D61B3E52DEA8966B4A23659D18C35AA5364A64CF982 -4F1498A17AC49CC0694B54B17BF3510521588C287469095DA07B88A2180BCFAC -96D74B81B088A44AD1A8AF87852AE8E34123C7FDF5C902A2F708468D358F28C1 -59C1A90B916039474F861F32E7B12CAAFDBBE47B1B8735B5EE6D341CB2F39BFB -9F70C658B8C6C3F3E8C7ACF133F1CC11D7C4BB9EBA8F56DE4683F9DE5086827F -392CB3C9B7DD50BA7038F25F77BC4D54ACF6844AA44B2CEFDB08DA7F4B750172 -9B206D02F9B43B200A06CF2679E3D970E16BEE78482FBC6834E41482318005FD -39A389C54192A9A62F70CF366086D73CB4ABF7A969E31BD0E9E68820031B8B3A -6D414F68A8A83644903F33DD3047B9EA7591B3550812E7F1834AE581A710228A -18BB10E1B526F5B5D135AF8E6B08D8427310C73487BCB526CC41216370DE8F19 -4C429CD69075B5D23FED5F6AA706AEE1EF1CA17052A4D885209AB469342EF223 -F1DC6C82984F68E97881495BA14DEFB37082B58FAA80EFB1734A6F0ADF80B17B -94EEC9B244192835437585CDC7A96C29CCAC43C8379CE99615A813BFD24BC910 -071750271ECD7D4176CBF97B170A745E7FF0D74181DB980237F44790E52720E6 -6152D9F83A7CB2D669B9AAE91C2AFF0BF214F26C0FA0675FD3F293A7E43EF6E8 -39D5A1F753C075CC0A1135A225BC177AC9D5A6DA85B216124F85AB51E6523F60 -862BDFA3AF59CC1DC2FFDD1B1202CBA9A798FBE313E2AA15FE97C20B4E2B1A05 -2EEB999DBB253E34354693D9A973C881B1831560465AE2297D5B258C7ADEFD16 -0BC119369B39A6EBC5C9680C25F906603F2F99F93EEE18B8ACA6ECF90C3FC219 -F3846A822BCE9FAA58F12865A35F5E6CA7C72AE5D24B831184EEB7F4D95C4D38 -DB721744B887D4C4D4805D35E6752713226BCF7D197BF3E37F63B6EFAB6A2CE8 -78682CD33B40BC1175F049F75FC09E974EC293AB30C681E5A2DE39EC6E0FD1F0 -44F2B9F75E516C4366A98EC96FF8063C12B7BA1619142DB6A97CF6B53CAD248C -E49455B54B66A09B7317F5204794A82C56DDD195373E539ACCB3DA6F512DCEB4 -3AA3398E7EC623B088F653498D4E05B02CA702266C882494EE072F9700618583 -AC317EDBB319D9B2E22A2F069CDC14058D6885B047005AFF18B2902554333066 -8C18A57209791EFA11441CB72C6ED6B78E483DCB99A453EB6B18889017AF89A6 -6DE02813862D35B08B6EFA8C049D02309F4289D9538E887F4B05540EDA577F37 -CC08697D253EEB565F845F23AFAA637946DFF84DF8B5130D1C2858F90E8E7F77 -417C79FF8534D8AFF99E3A8E81632FE814831C6C4A9F6B876840138A3FFEEBCB -660A42C59A1C5F3969B0CF576059359B6D45E9EBA758647CF5CEAA7C58A4FBAC -084708A6701F177BC42BA4E437A97E5685567427D9077F7ADBD41EE571EF3A0B -F86498CA5B9E33738564869F5520A821D92AD171983C4F73093B1D06A2B6A8DA -6AFB637E96D87D8696D810CFD988F71354FE25B2A5AE7D6E5E581BC25D5FA7CA -328D607F6AA4342ACC98DF98CA69DC5C39CA9646B5562AD35D3D2E30B7FE66DC -E42B6B6CFEE967802F2EC7FF9240DD7ECF9F54C3242BE50BA493F472745DDD72 -ECA270A37CBE04A5F96544BD7D75658A2708C230AD7AD98D5BC4A4973246A963 -4E05DE7366826A3B469F0FEF161FF24A1AB6FD2135550D08E8B8033C41F7D358 -C4B124524B7C18BE95C631C70CBFC90BB716BF4F86E91B30E280AB7B8F3A26EC -22919C332A599259D990B113C02B2011264102751CCF2CBD388E511E5BD2E5EA -969996A3E449FC2828ED007752CF30F9B67110FDD57D37FDD1AF3BC27182E4FC -9CAE6349C415655F555C755396CDCFA2CFCE2BAEB131FD2049F3CF7D2E7679D3 -51B703C838AB1A5125EE67E36633E9B4D63EBD2C46F4983A066076478A995919 -B7FBEF44CA90CF2C2DDF3DB12D82E23206600794148CB8102BC96ABDD8FC18EE -82B3B5B734EE5DE803F9AECCEED0732705B9240D64691A87FA6C3527810324B0 -ED706699D05087DCFFDBA1213F493836D8418FE5B0EB5C7990E912825FA472E5 -5FFFFC4F2DFAD2F73A58054F9BA3484B47A60B2F4E16E218D1F559D7095EC8D4 -492723D30FE566902492A470945FD023C894113A8322FA0CBF6EBD64B91314A3 -02985E31F168CA995427710C993A47320BD8C35CB03B67845186C3C4CC7D2B26 -7F25A66A5D9D6146493276052B1D2DB03C378623D8694F2BEB17302BF60AE1DE -A955B73CC56873C16DE4A860A9B480E13998176F6510B9526E94465D9E46DEAC -82AC2F0660117211B39B8BA7342DC26B1D667707258DEFC7AF469C00683DD60B -6C606CCAF3A17E0C19D55A2865272FAA92D20451264B672173291905F8B0F51D -311AF9C9B6D8A0C96D6FACA99CDD08FA6FFEAEEB609200F893A70DA9B7076CF8 -F50DA6470B15F3D380FA276139D681CD9C0913C3093FAC7B5F27E7E5708DEE4A -92FDEE523958E408BA367C16413363E7ED18F14B22B0A6820A6FDF417DE07645 -D6ACA7EA37B4A8E0936F237F6226B245A7C9B261CB1FE9D05E8A63EFB56C7C40 -FB3FE2999BC183951CEC55A7EFB17F2AD29FFE59ACD80B57802A2952B8B6BFCB -FB294EC168A3E47EF8635499B5E15D953AB7F9C4EEB821845A31DA0EE2A11ECE -7D273317D37A0E4BE2D48A8C19EE3A06A8FB6E5CD285E8AD62B658EFDF850E2F -8A75F0F42E938942C42892A7A9C8F6D794DB2CA77BA74BE663EEDAAB41D33C7B -0C048F6619A743D886355851F7D6C1E69A2E17F71AC2AE0F7A914ABC04B66009 -F880A81C413EB6714E16C27DDA863E3D4DE2D6F04C2EF6F498EB8E3B59BE785E -9B0D7A19C2F934798F4C7B559F6910B6D6D3B8DF46CD85BE4AC55C69C8C910D8 -DD3C76A9E1F21DDEAD4DC6BD99839BF8E28D70817F1BDE8E3D87B9347FAC623D -E71A4099751DD0F60BE96DB076E52CD907D0DA4DD508DC01C5F7D70E747BDA21 -1ECFF53D16367418E255D8CCE75748CEB52CD26AB393A283E14A56D0515FD4B5 -DBA5A568119F6D9B96D68313EE1E181B413214F41D083E6AF2478A3FD8A820F3 -BBC9CAFF4FA7E83F147A2FA9AF292323FDA6521414F072C24331811FF96A087E -EA1274922F19C28B522ABAF817563894BE035B3F679C280089090939D6BC87D8 -D8B1DCEEE7A522DDDBB1C0778E3038959CB07092406738560EF9FA9621DE4A88 -42FFCC90F952DDD7A00A6FBB9214F4E884D68B3C27FA75ACEC1EF4D04D2DDBE8 -6F9E93F0CFE621912BC93B5A0296929172116FF554DDF6882D3BC68528663E6F -400D71C9F6C1202211059336497C16319F8D9DF65F041A7508C75F459092C706 -25D805C245849E580002C79412F2EF5FEDF287B2FCCD866B90A76E2320518955 -83215AD46E8BE1412F +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E +2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279 +650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35 +F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A +D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E +F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1 +4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A +438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD +BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B +A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641 +AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74 +D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB +CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A +082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980 +9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0 +4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A +9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F +B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D +42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED +F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328 +A2C69F817061D6C60B121EEE844CA5008F23DF08D999D8C635946BF53CDDEC4E +059481E167C2253B9F7EE17916C028D30C626217C07D5C81CB3DA2E154DB5E3E +3E812A739086F78F17DA8B363CAE0CCCB67D2814FDAEBF43DF0F99EC06DD6286 +D3E9216952E5416F39B2FAB5CF61C034D2D759D4BBA9270C30B75527A790435C +4E6326684674D41BAEEBD0DC2FF367FD5E7F9B1F50668EB54DF00F6D0FD060EF +580CECFAF245BB6D880C084F887790DFD1885E3278B8CD44B5177A76050ABF06 +AC85F1EFF74C30C4F3868217A4D294844687F5E08386CA995460B81B8CA27926 +DDFF5146287832B49A3C87FC56B47927A167A0D9CA13805D0D1193933DE2BCC3 +9F4EB66CB673946403D99B4323308F7BBEB5BCCD0A966DEB5C47CACF43BCEFD1 +7676749270B2407FCEE1EC38A2835BB23A250D605148BAD60B205CDBCF190AEF +14D57B553910AC7965648D2004EE391ECC10515B5235957A9C0AF06D85238B69 +D8F49E144815514AB8827A0646DCBA8521975A9ACC18D12F2FB8B7D3EF201052 +98E4D91B83F1A851007E5A561CCDA00E7F564DBFFFF064562964AB620176FA73 +79FF857BC5C1E5CCB9069FBDE8E72D9D2A00288F7EE515E9230F884EF143B0E1 +2A22575B3090A12ECD9D87580429817D995DBAB441876F4F499EFA34A2A33366 +0FE92611C6E683BCB3EB99ED61660F6826C9FEFDE8DB12535F31B06DA4FB61FD +4C967BFA6826B6410EC067BE236D51D06719317F923EC53D1F4D247E54F5D941 +D78DD1DC0A669C7A7AEC59B6172D5A71496EB03CADE8047BCBCE42E9547DD808 +3C2515495809617151AA09E24702D32B7E80350FE983284419EDF9A08F723B39 +2C71D92A7F8AB125333C757397A197876B76277EE9045CB3825B5CE22ED4EC17 +BA0951EAEF13AEFD1485BEB782AC96B5345597604A8658FB75FEF5D7163B2AC2 +0C30211CDC91036449856D389499FEC3ACD5F7416EF44786CDB885728158B132 +EE953B79A4F634F08AE0B458C0BA46A66D74FEDC01B7D0E692FE1A241726B0DC +9391394CFB5B14E22CE93896DBCB9ADA8C380ACCC8CFBC8579E636FC7039F9F7 +C3B0FBE6468B878176F8D4974A15072F103D782D02C5B60C796774153CF05E83 +0E3AF1D76FA60C60927F13CA646D99E447698737D5FD5C9A2401D012213364AA +C8B3CB230E7CE231CE2A945C7668E0E6554DB8FB56FA582CE3D97B2A95D212BE +528D4BE63BC1A80CC202FD3AED4A3559BDDEB77FEDCEE5B7365CA44244CFF4B5 +E7DC16D3756D92A7348B89BC4437D57A9C8CEB3C0F3C7F8AB0A516503B839D0A +2F05758A42A9FF629C3612D65247756DFFF2740D66F5CC04914017B1F17714C0 +BBFF48992A5DA81E656F7BD57D5A9A6B317E3F0C75EC1DA3C5BBD289DA681AC7 +531D68C064CAF598DD2E76DC2514EB9776B7575D67F74768665C5845D82D1BD7 +978820F75D1DD91521E866E23E0C55A46EFB4ECCFFF9066EC20B264EE3781092 +D939071128806971640B87277FD3FE12898E0AE84C0D23BF77065B9DEF7855AB +B468FC1D1FCE519F345B64CB1EA86176D1BB4C940F3D91D91D9D1AA6B6E4F08D +18463930ACCF56E24B4B5CA7AA3160532BEF4E8DFBA8C1CB26E1D6BBEC0F3E63 +AEF65CD8CA02C56AD8509B9BE8133DDF96D3920EEB133B1406C72161D642F625 +FA8FB62F3EE61D8C3C9D7D6B244A853B6FA8DE2F18EF0E5BB615D4D9A1AEAD85 +8C59BF94EEF3F25A734D4F04F8FBCDFC1FA718D82DA7B343D3DD089FBAFD3107 +137E17E8D903C14D152F1751C3A9A64042CFF1553C971B0B2B3FF0248C6013DD +7874CDE8FF3F761FC7C0BC3D85597963230354288FECF85EBFAC90AD60F1FC41 +049AC8E828B7C556C53C9096C8545252F83C4036A1284D6FC6C99E46157DBDB7 +DEC088614146797ADA15410FA761A52C453B188430C4E4B612DF5440E10A7FF6 +B4DD2A2B3BAF175B4C8114FE20FAFE2130E6388A088BCB8BE6664BF92366DB37 +99D446E0ADBC7C8E5AA4369B1E26A4F3CFD61C496A6C8996AFFF51C8C328B647 +C82190D7AEC8C6F28CE5817C5E84DA53B4851F61CF707EEFCE2168FC95455B57 +612F1998CFB76A9425B695E239D48AA1F68140F34611101F9906238587197127 +46E9FB248D4A9D262CF8F913FFCCB00AE4656E35F017F0295DF11FD0C4847E9A +D8A3645F469ED61428CA583BA1F1F28F22C31E684889156FDFE8606CFB07352E +4805500ACF038B28ABA5BF2062563F9576679331FD1D3DAF0327A19B998040FB +A82CCE50DD2A73BACCCDB65EB6A8DF7572463B3AFEBAE7EEA75C68BE0AE86F41 +3F064C64288866E619F980DFCCD989E78E374AF35A8550B77F8007D0EE265112 +647DBE66E87BE700AAC3D30635219630399AC66CFC12C0ED12D2553D2A943F29 +64BF278AA11F3F46BE149712124D2848F732AC8125C3666EFC6D792A026A7413 +49E5CA68910085D7722F425D37869E75677801DA25D871846CF84B1A4FBEA2AB +CEC621785053B8177397608810E876008C98FBF00BDDEEB4052B84FE0BDCB98F +E5A120001AED93D7D5232C540D9B6FBBED1D45D66C6DE2C7579A7629F1D691C5 +F882F2242B3823CBBD73FE0864ED26451C8824DFBB0D9447DCF08967049396D5 +E8F4EB4B9335750A4A860B0152C6307C290BB19DAC3863BA8FF80124BDE5FF8E +47F96EA4FB0E95A04B20C48019A40B454F7D79E31237B87962B7472F00AE74AD +2B324B1083A2BFCCD1BBC51458A5141CF8A7BF514EAA64749E799EC3457890D3 +98BA7E68EE9A70C062AAE98FCC1979E9CFBC69B1E44ED3673E10DA71539BCDB8 +E57693C256F46A4914ABF5A9C1A80BA5CE40A96536AA68A5789EB4D5B2927E65 +4122682BE74F8820CBABEB0508332747FF69CD3421E49B29500F5FF822650CE8 +CC964FF0BC15E1471C593ABF6C38E82B10D945239A933D66F26FEF328ACB91AB +EAA87C300CA2E04089E51EAFDEAE4DA08A97EB89B9BB59FEE10D2C93F51D80DC +9BBEC67CBE7552C09E7D6057CEA0AC3D819E9D17B7BDDE5B5D9A6101E81DB657 +99A7622E7184A03CFD47688A306028778838A5F826C352952B33B40711BEFA3F +C82A35D68403AE3C8C5CCB514CAC60FA067F4292C8799A2F24F9A4AC0F5A1F0C +4592B9D45D63C39782ACD6691267D00710643F89A16E7033B94989880805C855 +1DD05025118DB6893DE597DB2381B7E7B0C0B1CF2521BB1954FF0814EC97CE5D +66C7D427A040BD1C0BF09D39109A6311297FFE6009826C77B742659AA0B0621D +F1854A44F6AEB1E94DC15798D441D22036F3ED221911E36306FD4276D41025F3 +1A89A28451D04D5379D40C31CB8D73A6C3AA92F3D5E085E7344DFAEEF24D17D2 +891E800831C360E21BCE57368C570E85B9E76C354017A808409664CCDD02E1DC +52F329F251EE33FBA3990C88CECBD0FA022D2798BBC37B2B3111A9E61A2EEDB9 +390C837EB0710D7F0D6D7DA2685E3BFCD964BA82A485483B1500D67D03EBDA35 +5FE9E2F90FED3009C7BE3A5692917E040D2392F307549C5DD97030F476EBBFAF +83ECB243EF178C2F915E707599BEDB064C035F78A0FAA4485EA8C52F29675F20 +7F080925ABF3CDA9CDE633CD492833D95974C0D8E8EDB07077A890577C0D8623 +2B4D22F97175FAF27C1374A2EA5A0656C89AFB825662DD1F706430E0E4A3D80A +41DBBBB931F562E460ECA0A0BE6C66400941BA401001DB5FDDDE9B84BD20F376 +DCC10A6B91AC45F15001480D94F2020279219CAF229C13A5DA47E703A368C8AF +768586673E3FC501BE64114CD64FB0AD72585B6B8AFB0FDA55B4D3D43DFB4C34 +750CB34E05919A65384A2AAC0D74BF553CC32E72370386BF60AF0560D7431A79 +8BA93F47E837303BD2AC0D88414519241FA100262AFBAFFAC3C90660007536AD +68E15F56A78B7EB00DBBC1D7A28F1F043BDDE2F048D4DEAFA9BED3D90721DCF3 +4EBD9C8AB0A9907906B0DD5686F99B7CDFB906F78D8687FC5B81462D883585EB +742A2DBBF1936212F232ADAB752BD71FE3E36AEDB96BFE1CE5A5C40586181D21 +30B38D4A303D715396B64CE9DE25DB46390905CD87716071BDDA8AFACEC48560 +48E3DE28C0C8D0B591753C5F29BE188E66BF4D59E32D482BB9824383FB36AFDF +B2CC7BB1271942F0062DE873B6438877B110307695DA9416273BC43E4C2E5899 +02DE6489420D127169940802FEE118523BA083AB28073602623A27F38DDEB6E5 +7397DF41E9A5BE4E20340F1B9C1560143C6A7B8F0F7B6BB15E6E8380CD127FF7 +5B76075B28D0D1D35F9E300390B662D9B27B85ADFC427ADB3068927DD0F5B663 +1920BD2D8FFA5075818517797579FC2D4EBA52AA0FACF072BD6BF6F6BF736D0C +CFAAE2E5EBDA024B8C90B7A9209222F5058F14BB2D98D7E9BBCF4699AAE49AEB +EFAA45681D350DEB514EB5C957E1E329F37FBC22AA74E7DDE8B01D05A813D015 +BEB8385D61EE52F2F056E552F3067BF75C30634289CE920ACCEE14816972FDDA +78D31D27E930001865CE71BD5725755DA6A359D30A1108BDB0B51436BF8E4B81 +344949F58BE0CF4A00D551DF293BF443618C1F9CC1962A6CEF8CDE7E96703F19 +21EE616FA3F1BB0EEF940F16B926FCB9A6BAF1410F1ACAF76BDA63E3F7652B0F +FE76E5004F2CDE79684442F23A2442345BE6E3095CEA1BEDF685AC76EA6FF9E8 +0E124329B6A55541E94D8B9A68AC345CD76E64E7F2DFEE8A90C736C315F7725B +1697582F6C94DE8BF92440F164B1AC5332811DB930B0DBA18747161E31BA823D +AF202F5197A758EB4E4A280BE37835CDAFA47BBB47E041EFA389385EC409B978 +9E949DBCED6B5046C2582DA87FFC82550408A4CEB43B72077CC7663215994AA9 +C282E4D23E62FB88A4377C213DBEAF8002784EF7E5C94B9B4F8F3D5E5721136B +DEC1327F28F7F42C5BF358720D69B98C44AD9FD966781216B3A0E23E18573C7F +8196543278400FD79C36E0837146C72C16C39BF775FCA0D8D12A98D0909E9D5D +A2779ABD611D96F4DD5B80344D40CC4EFB5E22502A4F0751B7A43A28045B5F20 +93C2970F681BA91D963BB7F1C61EEB790C7DBB391703D0CB5F10BEB8218582E0 +2B8F3389A1E743EB99186BA2C64CC431751186B45B300AF45D88C34AEB95D966 +1A026340F37616E46A9BD24CCD28EDE21D410BA02AF49D32B528AF36832BB25E +C43359FB31146DB139B7C9BCFEEC5096B2A9FFEEA77C03223C941EEE0E2DD4D8 +AEF26E61728EC7C2A0611C0277D05812CBE438F1FEA7A1A2D1CEEF636B5713F9 +C3A49DBD6BFBE3CF494A557580136DAE1BA1C4D8D0EFF9B63D2D163B35A1012E +699358A9F27FE90E5F8E9028EBBE160BDAE449E134D9493B8DCC3180C04AA05B +9313CE846A8FB9C27A473E3A24CB6D4166198E097206302C9613DF8F0F449B18 +B6D9DB7645A69B72A69578611C46A6903F9FFDBDAAB27883FA8EE8A7AB879477 +F020F03F4D73E0F9F8DEB173E2B58155B694B6D47DF2982062180F54EF238F9F +63D96C81F34898EAA0477E4C4B8A14477F01B4ACBA9F8CDB2D907DE7EF26E5FF +67B91E1F0273C1DADEC5C17A96AD027475157BAC672BDFE1176BB31009E084CE +CDC6E0180122462DD823D8C7DF2F1794F6605CDB7C11E65CC6A546E2F8D028B5 +D2D2834219423DA5E11CE760687C329CF51018CD2FA15748197F5C9C15CCA6DA +401990F02F5CBFC95A2B5A0B3D7479327909B133AF4EF9C201532F3A17201434 +2A12086433AB157B982D7F6E4A98B6CDE829A2A40B0635D2CFEF01A900F879C4 +79386236AD7678D46B4F1CC342E2AA733FE60C5885A0DC27A625917193BADFCA +E51F4B4091799DBB13C95C8A568AC2D101314C4BA8137E9035FDE3C5EBD26E34 +543DC9962E5DCB2D8B72553C94EF3FEC1DF0EEACAB1DD05F42FC276584D33C45 +7E1DF56F2C8E0BA8A64D15969FBDCEDD3DA16FDA411279FF0431F1EB5D9EC60E +6A061F878C10513CC8B23620771B7E87177B4F4E4D276E7123D87585CE24BFCB +F972CF440F1792799F1875185D4C89BC4D636DFB203438FF6B007375251E3C91 +F5B139CCBB5956C420FD74E8E7B8AEED762AD894E7446D6707AF3E6959FD85C4 +95E691DD9E4B3A8B8AE8BC0FB7B0F4BA8DAE53F8F9A8D7D732F1272A26E14239 +C3FC402310AE750466A0DDF0C422B33CEA46FD984DC7B59D5C2693606E6ED231 +29308BDF531DAA673CDB737318EE01932594B3E29EF797ADFD59E3BE66A716F3 +AFC46D7F8F1191DEB436DDD926826366869AEDF92AE08CC591C04AE3FB502303 +B93D83F5A608098429A187B1134468A6B9D9C34472C4BDF1103910DE27410F95 +3A432F87F4978429C62B65A0924898FF65296B2F976F8332F689947BDE147379 +4DF26FCDB8EE4D72054CDB31E1FFF56DDA7B2565E58FB2D1C394209FA03826A6 +D0F31A78087A31CF5E5AB4E5D917BEBDB76E28596B3E393EC71CE4B96F43A432 +9B700D2128ED84DF89976A697042CD0656CEADDF5B0CDA5600888FF0DB856FCA +7CBE2B62B2DC8116BB614E850EF9D7AF53A4885207AA61C3788D9A14A3853E77 +25FD4FA2E5BEE906FC6E742674BFB3508B509B5846ADBD92B15C26915248C34E +4CE923F8AF5FBE6FD23C1A1AD652150A81043FBB896572808272DED8ABC7F677 +1714F01A88BF59F397EC7D28174F4DCC42FC79CD24B01223CFD9410181794E2F +3205A2251729728B5709778A8B34B31485180665946A35C996D9942CAAC54815 +7C4C7DFEC5B5B555EB8D84F6BDB2EC71485DB418C4D927AF7901D95C8D8E70F1 +4E3AB752AD1D2783DEF4892A578EFB6196E9C4128A12E846AD1237FACB150812 +64F37D4F984F953F341C82C29B2FBB177BC604CF4A3713BB5CE287AC53912F53 +F0EF740DCA0B5AC07FEAF7FCED71830A185BFCA82170062DBA0ED8DB94A5FAF0 +C9DBCE23B24DF26745F0220950A6AD2464798EE226C1170A826E663907EC63AF +3733C3BBF73E6B04DC076ADDDD8CE4E9C2E8ED224E4BA7062AC02A312B16A35D +C8E170EE5ECB3A402E945F7D270F1C41839EA2DC52D0F038AFFC17AFCCC075E9 +93D4D59E75585FBD72C92213DA07D07473C867392F5CB8C5D4E68A76E9A1D3A6 +7977D6C6F213986357EC92F460031C1A2AD32579B8401655A15E1189D76E8D67 +1F52C47084BA96CEB6E2FB5255FDC6C1E3BD0F196FF6A3EBF76779236EEAD805 +70C8F14B922B025D4CE603FE56ACC6B2D3461FDEF01CBE87E7D013178D993284 +C074692EF2D3AB42F38BC02DBF8B32C4044F40BADCCDB263F5F314CB86F3DEAA +6358FCA9281ABF9F1ACB7491D637DC429CE0CBAD10E3DE375B08FBAB94D8E897 +A24BD60CF64299D49A674D32A198BC9AAAD23BDF254FAC7A20CE1E90D280E5E7 +A39540EFD1B820281EB3D5BD8613E038D9117D69FC0DA991361B568B507BA071 +1DB6EF6D98144D38D13FD53DF2127D1078C39088B20F34B41769811EBDFC7FDA +96103C4E8B129CB693B87F5969E94B6C49F376AE13FC09D56C852AD60F52ADAC +2F5C49FFDCC2D05BB0299FC0DBFED884D944DF5E16434C161E83902A90147252 +3D6A47ED157A10CBDE6146F7A63152804D5F60911493009C5D9702AF5C2DA29D +EAB3B605532A11836363489BE4F4CD1AB8766799F87DA3BFC8CBCC6E5B07ED0B +177684048C9B3E4A1943E8BFB9E5CE16F484D274D0F6A2CA9DCE971801EE2728 +17AC09BAB5A704017A3BFB53C723765450048A22A5F882F4E44B8008D0C11C41 +DE9E1FD8E2D767DDF591D533B928C7830BC2F9AA4830B7834F541A330952EDFF +59F8D1C3B7BA2491E738A0E2D4E41F99F9DC0056E85DD7DD8C96EC87CE77A6AB +EDE74C02A48ED9F197FA0607A05B6079AFFC858ED05D8E54D0C7309A43BC82F6 +B99EA395935AA7114F391AD55CB6099A14D80D3EF27B3746E3C3EE492330CD5F +18B8142623318B38367DC3A7E2491532A9F6E5C9D6173BE1090CCE5665DF5053 +CCDFB34F3443B2ECDD8E74C22B83985AAC9C21219FF18CB281E05E52B8C5CB84 +4AF697886E089E2FA81EB8D18CE8731BFFCC8B25DAB8B692F4147C6C9B6C2FD2 +4C30EF357799DDADB99FE6D3F2ECD6E0BB30DD85C2D639AE5A75DA602BDBF4B1 +696E44C3706537082E8DB0310B9357D2FE45DF7B3C24AD39816F7A8648BAA5B6 +4032806BA9511B5049D197B4A32F4F6E829FB1D815CCBFAEBF1BAB1B3DA3A7DE +3EB7F7CCCB16526561C1C2F31BE9D37F5CC66D3025FFA0C868ED05F8284E7CF9 +83DF5FA790098E9E364D364D9B0AF9D4C5A8BAAF52ADE82689794FD51772ED97 +F5BBD0FAB55670216FB8B8733364B4BE249D6DCC9AD3662A2776BD08806BB750 +24EF1DD5946474163C5832FD494C9299303D4C107FE7996E3DE340876D2948B8 +3FA77864FE33652CCC6C14F0FD3582DE84A1EC8A6DCFE8CDA8E21E50E6AF11CD +7548D1BD6D620D69BB46FC1657BF9FE3AE936AD7200979B6D1C2C47D1074F954 +1A497C4A56042C82EF31BF805B4E54E0E918934FCDEC7509B97AAE57D29C4A1B +5249716204CB644B5FE3835661B421BC7BE411937A3BCB9E28B2856FF23A6F19 +6EDCC01DBCC6141CD133CE7E26CBF03AF2208108B24458F97894E74B3E1417E3 +F3B0B7641A74CB5A552610C171904C571BD3624ABABB47F68E1A3AF35A7219A6 +FA5DB40C39930AB1619AC09F1FEF60613B28DB2BABC258239ACE7496B6E08127 +C0D82D4CFECDD9E6E106E7F581C9CB8D79E94C4512250CE350F08A1C4F0D670D +295CD237A0B9447AAE68F9E500A1BD84EA2ABBE4F99A306057D714302D634981 +ABA9E953EDD03C9FFE39CDB81E24FFCFBA51DCA6D3F2761B19AB183DA9F3C47C +F4CE9924E3BA02D69524257107B247FDABAE791993D403CA8D7A96B1297ABE95 +8612E526DC923616C0151AA71A2376E6833303D822C44B19A2D4EC4528AA8D8F +2D1800FB508EDCCF0CD55CDE8532D3461A7654122A4E17111BF882ADF5F01C26 +E7CE10E45D138F0B90981C84C971288BDF36E755614F1D60AC375C71CB071DC3 +BD88FB7DAF97DA2C8E12685E88137951E322DDC92D84FAC2CCD47705FDB32A0D +45970E3FA4AC9BAE17DB8D5F03348D8197E9154A2956BCA9CD456CF44A97F019 +B9BDDB6B037AFFF1C942BB15A4B914BE8EAC27C9DE5AA87B0DD7099BA4F9A98A +68FCA7AF7C16129B824D87DF2010A444D01400C0C2E439C175DF087C5BD9035B +BD665321AEE9FE848B8FE31FEEEAE68701397DE32BDC12EB748DA171C623F567 +61EF39D49D2575A185416DCDAF7DF8CEB09F12D08F109EB18D961E30FC14D447 +A1D75D5AF70682C37F52BD5EFFD562141E2E1A59552E2513C1FF9EC22878337F +0E0CBE2B5A8C24A2566BF699C413163CA0E8D2BA41603457EB89D7A7BC89B054 +DA916FCEB36252F1A899FE7767DFD3BC66F52BF428AD7D9AD2C6831986F8BD25 +399F8A5A8395C1DBB78C85CEAA567A1C7FDC0A772CCD6C70A571BED31B4CB7BC +A78011517D12F94D1F2BCCFACA65B7B24B7CEE2CEE6DCE1DBD8D74B2BA033DA8 +ED540EBE3F8814CBF193030704361793829BBE0F42C9C2F37FF95B6315141CC6 +602705998E686E1B9E44D4BEF1876795BC7536EF9081429363EDFAF9350D9B7E +5AB5A1F0BEA995E57FA99AF6CDFD07A67B95E5A4CCA02194941F12EBCA43B909 +9ED9E3841E4CED864AC62C8258BDE719558C916F57AFF729B5678EABE442B115 +D52EBD945665EBC9D7E8087A4663F8B513F1AA64777B3ED7D0B2E2E045B5DA30 +B1654082962B230B24ED26F11BAC22C64298CC33C2BDCD4F2D33781209AFBC0C +D68113FEAA89E4A70C94536AEED56E6B57D27727B719878F63D6E8E77FAFB36F +ED8A027606616F50D99467B47AF87A013E8311949315AA1B47826EA848BECE4F +1F0EE7949F1320ED9B9B1EA1F8253FB3FC3CAEF06B98314B95EA32D0D5870C01 +DFB66E92B59FD0B794ABC09FF27560C7D8E7CB5C03704D8DE073B3180D9EF299 +E3DF718169AF07EC8772DAC736E7E6C518007AE2AEC8EACD882F785259BCAFBD +50C98B6558FE6AF4262F57647D007EAA1ACC7B35D94E9DB8E7EFE4C3B15FC5B5 +27F9803249D9632238D4187A95B232ABE247F6EF0D998CF6A4A40CAB76FFF173 +7086D17201B287170D2842D8317BB656FC568FF439CBBCA85FC17B63D0766D90 +78EA0AAA81936BB2E68B07AB1CF12D88CAC5190ABD937A0F6FC86B34990C3236 +3ED0FBC0CB51EE3C61531C1CE4F966EE494D331C961CAD32B0725245756B4D28 +4BF2CDDB05E171E96770AFBBC416FA1974147225BCBF715B182BBF2B6D078E34 +A5D8CE0D539C4E40891022BECBFF6971FDFB16E1381A0477D2BC6C5DD655973D +EF82CEF310674FFAE59BBFE32B105ADEA51A45FFE2F6C1D89ADEF9F0A69E0DC4 +0DFFA22255A186876E5E35FF8C838EA408CE76FE008A3F61032C43AFFA4E84B0 +47E1509D1AF9CB621FC28B63A206554F448124B4C51CBD7A21FFB363244FE840 +9978FDB9399EDCA726462A43EF21C6AC474AE2C379BDC37AB682A0C0F532A0AD +656F7B897A70A9DB606D124542C944E0A0A62CC54C6334F4C6A3065A02FE511E +5906424E2A9FBD5D8FD45B3047855468E4CAA9E403331F9B98AD1F5DC9FE8D0E +9635877D253DF4B9202882AD527C240D44EED0F00E32DB0A906A312089CFEDA5 +E4BC1A6A0CAC907E47262E9ACDACEDF560F5E78D5DDC6B898788CC4FEF68F474 +D2A8C10DAD1639978FF5E8EA51AD6276747A3D0F7B9218A450CF8974C4A42E94 +7E3B7C4D679CD982F4FB5699E25D836BA4DBF6A915A829F580D5A00F2FD4CF9E +1914D8B286788A5A0DEA59E2899B0A9F1B8946203067E3F1278FAD85D69D4C68 +A13AB1463AD00A5DD5B6CE48E98045B96589B20A732A4FE28955A04114491949 +0A5AC1786B1EB0737046741A71719DE43BE210837BF657F7E7F99C9FC5292595 +44C7080E02D6037242E06D88D0A27F4F8F55D6913FB038B53D22F1C2F69DE705 +EC2ACA318226D6144C12246EB3413EDE851D47D2531DCBE4B30296A7915266F9 +F0A7E54DFC98B3E409932DB1FC7FAEFDEDB1A80390A20DB4786AFEA859E298A1 +0F60A8F4755FED71E114417296F5B909E1E071959DC5F2F4BC4FC6A9DE1A8EDE +8398685B094BC3B12E60F67DD02E4A1571C34B88374B0931A209DE5ABEFD22C5 +76EC0D10F328C3019402E3C37899CAAD254691C744EA3295FBD2134CA2E76E05 +3F35DD8420A5EAEE1BCFF15C12F8CED414CE84CF6C0A2580173CB98D5A39E678 +3FDCFC8D86588113EADB340E3BA930D7B3EB03ED93047398854C6D60423DC24E +6A55619B114006374E33714283F7ECEE2E6A7F595FDF85D1EB7F75AC8DDDB67D +52CB3761002F9436317D4010972ADAF3717FC1DAB303EF8BBD80DFD94C660BD6 +8C1D3EA825CE7B07C1EBBA617B612F99C14AE3B9A6645EC399486617F78D0847 +F92B1139E70D7825C6B8181EAA664BF5F639A439388F4810201DFE3A171D364C +4332E9BAC369E41C10F85055CEE9CE801ABA569BBE7FBC0CF93AFE2C39E7E7CD +E30C57D87F8687E2439AD8CF54F4E5A8112950660F133A149551B2523C4F63D1 +073A1D35398FB4961A621EEE4F54ECF991C3B54CB73016A6C3855CEC85B22F56 +78AE629332B6582E060A3AD4D5F5DD709430C7C9DAB36BAE5FD029DD431BD2A9 +A832D287735F557CF562E53FF2786F3E334CB1C0839E1C0E7331D8D7959732C5 +589AB8C6BCD49053CFFEE3116A91F164BAFD79C1B37679E70E372B3AC52EDA17 +E1A8D9D48D8FB02A0D2B9996ED2D61001C6C36A621B175078C5B6F6BBBA6F7DF +624DA1004A895B0628FCCDB04C376805EC51CEDCEF4594F13C2434DE0F4E372F +BF2227ED171A56A50B109055CE9DE24003C605481CC49517DEC308D3C46021E8 +030BCCB9A718210135F335A8D3FA6AAC3AC2CE346728EF75BA795D6CFE78FDB7 +8AD1AC20BE36A430767D4B09B6132FE83598A3BC233D4B3BD4417A478BA013D1 +1838E0E072446B7C1F634D4E1DCDC4265933B28E5B4E81F80738F405E85F93AF +A2132391CB45F91116BCB53D267344E6922634FC4E4D09B382E5679F45F0FA82 +3B81C42EC66964DD85CD8A6CD7C23D340A07B9FEC25D7F1DE16DAC235B961D72 +178A6CA626BC713D0F3BB6A6D2CC874E8C86A374E24296B18FF2B676CFB5726A +2821B78B34E07AE14C2D293763D15B1AA75F94FF12B6AE8960F610531DCB2352 +69ED903AE5D6C56747D32C870E2DF933B6932930809ED009DC3DEF12147AF01B +5E64D62CC132EB2B26A24FBD5C7F7F80CCA7380F6B69899E6581F31ED8317B8E +03ED7E5482C48E58566B0CF3CA0FBA6FD11974B18333F17815EAAAFF42ADC872 +23C9A1B47A9DBCFCD008920817C316767CEC8E5A949553FD5F737B98F241ED2C +08C268F955E96DC9D684B287BE28736BF8A1F8AB1562C83A8BFAA17EF5D9D263 +15B875E386C25FA246ADF30255D8F83CF74B73B94BF0666F8E6588D085208402 +DB3D71FD4CFD96DCEA9B8A58D2C0723C191AD6B24175D671712D9FEAD60B3E4C +039937D8CC0324532F2B9BF5F23C62EC06BACA467B970B9199FEBDADC47EC14A +680892D092FB9B824D897412FF790D09A953C23B92C8A950773B6FCFE48E0237 +25E379722EA052EDF10F6BF493B930F78A154E75493784C3BED840D2F3894483 +F327C44AB1867C8B14C4C8164D9C76E9335AE40920205FF045946D92B97BC901 +86B8BA340B0EB5A44D5EED854DC1336AE2EC4612E8F8F5DF2816372A011CFFD4 +9BAAC209EB9159F9C3795E3862DB365CD79C883840C296D63D67FE30E8713D9B +D3BEB45FB60ADE7D409D70698487A64FDFE3BA7976141F0B920E622E4A2D2769 +FDB68DB735F638586670D928639E45715EF084B150ACD5507771FF8FB51AB01A +F634EFD9A2CAC71FF73DD7F70D21DF819A74171C86E75EC10B40182B34345E81 +264EA0E78B09250D212B80190B442A90CDB8E6021A72E61DB6BD51C4E260A386 +6E215006529BB6F1E9B73A96F14D5ED9EC6E89218E40C66387FA94AF52D0FD6B +CCDD3CEFB7C8DF27F762DB821B8B6E9191F7DC24E7ABC1AA2B78170B26801AC7 +ACE2586A17F5AE6FCA6D36A511CBBE013155046250F3B8EDB8E2D5243842F27F +A4EBA1A3DBF965AD371C020620ED510CEAD8F8A1F5F4D6AFDD5279EAEAEC9659 +0B2F4EF6AC3D16E4BA07700AF283D25620A86FDDA23DBDECAC8996A9D279C9C8 +E7E3D75AADE21240D571A0B75C0FDED30BE9F413C9043D656C2C0AD12E7F20FC +0E1BC10A4F0DD9C9A0B5309486F5D65E21BEE345DE13FA968CFC7C084797A09F +2682F5DCA4D0D0DA09C32E8700604FC2B27ACFA628F0FAE4A5627EF28516823D +AEFDFDC516DF2D93A6E9BE458976736DB4FF4360952DA9E79D824B10F2545561 +B5DEE6F7DD945F0224FAFA7C4D3C368C4D2FD2D03F18E515EC68AD2464559384 +5A5C4D29CAD4F9B7ACC58FB5E058ABD151654505D47373BE2B2DDB54098E7FB7 +1607EF54ECDDA74EE545BFD0784F71F467A1780AC4629E1BE5F2B213C50F0BB3 +4DF2A5A3F31ACC8C936F01928DB969364AA34E18E6D9B74B849320A2BC2E35F7 +1C2C5C73CEEB7CAB536FE868CAD40D5A2946BC919784B7B91DE0082178720FA7 +E0F39E130CF439CB9CD05B3B7D8A6035FA92E76E9B61EB841D48664EF122CC7D +02164F26BE17CD496F317200CDEBF357FBBCE30C0F58DE0B823BC04435906A72 +D23EE24AD59013AB67D9CFAC5B8807E895B48528688563603A233F28804EA495 +F53C0ECFAC110D43DEF81768C423618C0048FDDFADFC12A5F13465C380E31CC2 +C5889CEC933212253837E053FB70D318F8DAD2F97E2002A2B4A92F08A439D436 +787F38BA3C95EFD7CF681A3124588DC21F9AC9766C90916E135CBF169C28B578 +6C47BBA003E40775CA05A76864A9FCDC5EBED5F1EEFADB96C304CAC0A196D359 +5204B1BD6A71F14B9687D035E697A27E09567F82CE097C27338DA9152BEE5995 +E944DA9E9086111FED61BD77FC19E5E4EA12A47234E5CDF69FD2BE62FE18C027 +4BBCCFB6537E4D99832435B6E73EBACC65A05E375242E4D4C8566C71DF89BF3A +DAB78666B8FE548D2BA025C33367D138AD4A58C933938433C55543AA86C97046 +028FE07EF58DA3222BBE8425508EDFF8545581151BBB86DDB4295FACA874813F +546021D3898A565BA763C1C8AE0035D7FE37C3B3CE091D2DB1F77568BA32530C +F248A9158CD68D35A63A21CC7D4DC6091B635A6750124D4149D93DFCD162E95C +9F48C19E364EB94FECA35958242BA34F22A020B70B7AD5816C60C24B53AAC52B +2BFBB42219E9B427B8557B27E7F4C41CAA1426BB8AC22265D9BB2D87AB322DB1 +3173991A24263DFAB1C4DB21AC6D3162915BCCD182B67D27B87F7A68850474F5 +BB2767DF8DB578847163E8F55347C4A0675CC316363C48C3DE3D193485188EF3 +5EBD60ED5EFE6AC90FF066B9B17DFA0E23F2E5B3051D16ED3EA745EE32DFF157 +4D49D25F95B2FF4D0CAB4CF225BCAE57F962DC6AD8D8121908BEA6602870DE60 +2511CB352302D2C37ADC093D23650438D3C76C76D7851C95ECC8615AD93FD4C8 +A556B1E0C4154DF9B3C86A601F8791BA43A5E70892EC74AB7E547BED9383382D +3F2DC158936B27152FF201F232A9D6ED3BFD396C20EBA7A43395ED0C5FB02D92 +8FDA63B73DE2C904FEAD3309588C4CD1D54A4881692F92E36F9341BF754F0F9F +1A1B11137B122B3C04F623027C9E97E08D1DB3DB336EFAEA684C6FEB3157FC22 +17097CD1A150204FE5BA8555B568E89294D9A6B3F2FA7C8DDB83F7A0ECE3EC71 +F9AE42E7E7425E631BE3921B4C72EE4ADB7E585A212A7629B9954B09D8C079E1 +B26A00005FDB999B09261A00A0EB6BE0DBC85039B2766C9703A6B2E97CD8A76A +BAABFC613E9855AF060E219D559598778148FCB5AEB9190C12B793531DE8C5DC +83FDE07BD6B0EE52B3EAD7825F8B755BFB6AC951C28C7770A0FE01C7B22835B1 +6E6F44E73C3D9F32031C797EF93C40749EF0F1AA0B5B5078DD5605DA6948C274 +F80D9BC9DCBD7291A95353847B7B7DE7B92FB8F2301C9C7BC1AB218280D4E76E +EE022FA67BC0509DCBC0B4D9BC5CF06DA55EA03E88AB8E6A257C66196FAD3EBE +681CB7A92861D669ABFA380B210316DD888832D6EA7165162087E39030BF27F8 +386FB0F1685989FCCEBF9FCDD314F5FEFBAE25A3557AADFFC612AB9753B3333B +910829E327B93E8BAA473C82D9F5BA5D33B1F2F746DF9314E702D2D0B00B07CB +F2AFBDF1B3A59F34C029AF22C9961B7D9C9CAF5FEE519468DD92372D83FC1392 +5679F3387A2318B471237D75FF4A45 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -5867,55 +3459,35 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont -%%BeginFont: CMTT9 -%!PS-AdobeFont-1.0: CMTT9 003.002 -%%Title: CMTT9 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMTT9. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup -/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%%BeginFont: CMR9 +%!PS-AdobeFont-1.1: CMR9 1.0 +%%CreationDate: 1991 Aug 20 16:39:59 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTT9 def -/FontBBox {-6 -233 542 698 }readonly def -/UniqueID 5000831 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT9.) readonly def -/FullName (CMTT9) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def -/isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def +/isFixedPitch false def end readonly def +/FontName /CMR9 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 33 /exclam put -dup 34 /quotedbl put +dup 12 /fi put dup 35 /numbersign put -dup 36 /dollar put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put -dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put -dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put @@ -5926,11 +3498,6 @@ dup 55 /seven put dup 56 /eight put dup 57 /nine put -dup 58 /colon put -dup 59 /semicolon put -dup 61 /equal put -dup 62 /greater put -dup 63 /question put dup 65 /A put dup 66 /B put dup 67 /C put @@ -5952,14 +3519,9 @@ dup 84 /T put dup 85 /U put dup 86 /V put -dup 87 /W put -dup 88 /X put dup 89 /Y put -dup 90 /Z put dup 91 /bracketleft put dup 93 /bracketright put -dup 95 /underscore put -dup 96 /quoteleft put dup 97 /a put dup 98 /b put dup 99 /c put @@ -5969,7 +3531,6 @@ dup 103 /g put dup 104 /h put dup 105 /i put -dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put @@ -5987,551 +3548,369 @@ dup 121 /y put dup 122 /z put readonly def +/FontBBox{-39 -250 1036 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0 -42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259 -4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457 -689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521 -0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA -610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8 -3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735 -C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933 -995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE -EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723 -2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0 -4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC -B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014 -D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE -510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5 -BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF -93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC -F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385 -45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757 -4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47 -088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8 -9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A -09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988 -E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C -0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A -FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C -94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741 -03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF -409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71 -45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95 -39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971 -58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85 -84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A -0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F -F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD -B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD -D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B -3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B -7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D -8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737 -712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E -C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3 -E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA -A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC -2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467 -757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C -54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981 -DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9 -08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD -6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2 -A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5 -336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D -E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB -3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A -E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627 -1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903 -FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72 -A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6 -465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0 -3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32 -CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF -573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA -9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D -15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D -D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5 -15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1 -64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789 -D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C -D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8 -576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540 -ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135 -EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC -9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099 -3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A -1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD -FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598 -C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA -4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0 -CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7 -3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D -D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9 -BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6 -1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D -4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442 -C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D -80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C -AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6 -59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647 -3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6 -14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59 -B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34 -F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8 -54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588 -34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191 -825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439 -BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54 -4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F -66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E -2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF -F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A -1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416 -37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6 -741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1 -39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC -887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49 -B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD -15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526 -5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1 -80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839 -A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404 -BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048 -2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B -B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598 -F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B -9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483 -CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91 -DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62 -6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B -7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7 -D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B -9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9 -EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12 -0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2 -1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10 -85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0 -EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F -D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518 -E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0 -88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842 -E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8 -01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68 -54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A -97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78 -B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2 -D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9 -18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE -A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13 -1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62 -31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5 -408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF -1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E -29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33 -BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B -AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8 -0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D -99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE -480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC -D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481 -FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB -587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51 -A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C -C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C -AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D -AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4 -48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367 -385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56 -8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38 -4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C -839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C -320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63 -7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E -DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D -DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F -461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A -BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449 -1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A -3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500 -0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77 -EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA -AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8 -F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4 -097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA -53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7 -39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78 -77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0 -1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F -9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D -84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F -737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC572551C934 -9C362FD595A429FDA2D815959461B0CC2A804C1142BD91C7567082699B8E274C -6A22806D6C51B7DA809BE9F612EC537D4FF3122644AE0718BBDC6ADEFE7EDBCB -8C8A76CBB280E70ADFE563C01CB9EB828ECFCD365825941C8B7E1B1401AF773E -0D3E8A6F2D62624F8F5FD1EC3CC76254E4CCB4D8E4DF0D5E6DE10BC1FD8BC325 -05E773E0925B6838E0D7ACF12AE32E572F6642EA587806FD2805C9147B873194 -788B8162F3C20C915E4909B72D0A62D4A2B63B3825F96C42625DA10FC0E9ADCD -77F50821EC5851979FF133DD5A6B3EF195DB6022FD37470DA65A14A3FA26ED43 -40E12B75356E08825EF0E664659BCCF81668D166948E19C19D29884D3533502E -1F59F53F8A7EA8B9188489FE2AD77BE2436C435760ADD670C886EA70D661EFFE -BEEC33BA2398DBEF8B952DA4CC1B64772B7DA7708EC56992042F54FDA9673B1E -B7D5095B3B03FAEB5B35342FC60561ECE0112C9C7357A8302295C278EA18B097 -80215EF69E4CC9622CE8868C1CF7905F968EB0E5F26A3738CEDC44EE9623F400 -A8B085823B2A8C3BB616D36BF7F7E43F367CC4ECECEAC392DE3B8C4F2B9D8AA4 -15C413EA9A5E7D4B4FCBB9B9F25B4DB0DD2666996593C9C96C420CBA2D6F2EF1 -5B67E8A96BCD23B528B398043248B4D29ABDCE5206E50ADACC6A18BFF6DDECE2 -C7FE7C5115459133C4C051D4CD656756B0A00E9645BAB4641CA4EA75C3C54038 -9B18818CD9F9417BE1FEF21FDBE0E4518A0385FAF4544598213620C94859F652 -9F4DED689ED839EECC1168395AFCE32631B2926998ADC74ECEC7AEE154DD78E3 -BFEF2A5D884543D13B96F1D77C356CD6EE98725FE8ABE8BCEDC868F8586A1F58 -3CEAFE55D910F49AAE256A743DF095ED24DF29652F2E03DE67CFA25B66E2D825 -803E3F5853F9573409797C89BD43E0B1EEFB60C02AFA682C65C4111970C7DECB -FC88D0D6DE9A36B417C151791B23B3AAA8AC2D5306450282EAFEBAC5CB842C7D -FBB038BBD0A8F6FE437946489EEFB8052F8E51CE224ADC8F737BE5BAA69FCCD1 -704EDED37003CA7E0285217BE31195A7405D7585B6B05681E9D0D3ABEAB3A418 -E02A37E4176CB48207580D6B6BD22FB7AEF364A147779FEF4104F69F3E1E9B63 -06A608266C1F229F18BB252DB5661869A461878488A858C4460C5091761D66A5 -11A5032E1EE344CC9A43D3D9A13A06939846B4BE3380D6E7D809BBB427BB9C61 -93780161C83E12EF8466CC14B4902233BD6FE7E67E8FFEA0F0B3867EDE0A050E -0E7FF6E97151497806F5D99CB91C74E5015B8026365F36369314BBDAD6B90788 -D30B4371380A29DBD504045165C77217B8175FC4AAA6EDC6146F3181129867F0 -7CF307223F1A17D07AE5B81526F4436950413BB332BEF1089BE8E67DA328E4FC -475A6F7ADB67E6217CD753305D99AA2E07F110A735859034FC20964EDEC5C867 -0EB3470223A7BF4B06224A0C4131AC42C45B366B2B1CAF2E1DFE72DA0D93415F -67AB2FA2FA6FB81E07A2575B27247E0F2CDF4257D7C5B1D85B2CFDB0F885163D -FD18588D4850DA039665B0EA244A150982B891AC924DD43546E3DDE99488E270 -BAB33AECC3047094210039236306E2E559AB7397119AE6A0B17FF5C7D01E012E -566729EE2425289E22678BB0756BD320C54353222355A317CBDDAC2A67275F80 -963D540D5D5AC435DC4231C888AD7095FA31E29B87F42C3382DBEEC9A6F42B3A -37F717201868A66D3B2D4620AEB4B59FD1634B7599362FDC9B4E28F05AFB7E4E -FF3C1057DBD7C7D5A2ECEB9D399D59C05BB1A9845D55F8A1576728D4AC0878AA -FBA329774F466AA377503CD7EC0D0F2A6F909D9B691548C33E2B2AA12896F81F -D6C46911808D3C99610D3F6271AF2F4FD30519EEEEFD658C635018193F871F61 -F40EBB75EECC2F940A1D22B4DBB3352164419034064ADEA3F289A9A72059688B -34F8A2E9CA6DBC29B0509F4315C93C15D9B6EE057DAB1AB665040361D102A8CB -C8897EE0AE6F0234F3A9F78024C4930C36900C676413C080E14282982C1AD134 -B167231FEF2E66C55E00BAD23E091BB8F1DF8974D292FABC8119EE4D7CEDC309 -E7947261B5A8AA2044649EB229BB53BEBA7F21300FA2FDFDA3A7588CD59C60B3 -8BF893B9A35CC336921DB19AEAF42BD39A7524425F606083714E73B57CC0CCD0 -4BA7A14CB7C1AE42886FA40270C7D900FCB0C85BC448FAD20F678299FF914D30 -E1AEAD2316C449795628553C75FD3C07DFADED2B0C12A9B7400F23E572BE898F -05238F53B5565761D67E7E0925009CB9C9A58FE153BF86DA4FEF443D3C925971 -EAB44FD061FB3AFD63BE8D40CDEDC1CEDAA3E9131DE6D9870624295ACFFF2AEE -5ED0E76BA5BA3CAE77F319158D8E44279A758C17329237BF331E9A45474404E2 -B822E4900E71642EEF7DCA4CDFA1B77304C21C36CF482577F488E5E91504A069 -D22CC4C882C414F0C45A05353A9A370566F196F9865C99BC9CFFC460A8555BE2 -247D0B1B63BE28731E9E9213AC198C00CB753C85FFEB716A3F2892CDC5D94113 -4EA496622E7B4D87A588768287454439AB110AA90793B5614738523E186EC959 -DE82E9467C9891DCEF85107024D7A2CC157B6AC472B70CA34A73464D6D7D7E5B -11313A7C8387CE73358F097134B05273C3A071FB4E911DC3AB08AD40412E3066 -2921A61F19FDF7D5EEA9758D42C0F5CC82B4D62631CA9C545D2C8FFFC12AD9D4 -D4CB236734CCBDD08BBF6B314AB3EECD1B3D72862C0EC68DCB376BF4D24876AC -E385983B16AA01333413353331A6E71D9C2DBC66C5930677F22B1FB76ABFAE02 -D93D09785571D423FDD817A1C6FBCAE2110515206586B9F2E0F120335BDA6AA5 -28C9677407E4960621B27B53B866655429D7F523E04D2BC4466571A87446BF20 -96A4E57D9C058E0770E579A5861C850D58FEB01AF80BFA783E5D752785F50A5B -6955234A114B9372E82EBBB25EB2C57F8549F1A6A5DAE4F66878775FB90398AA -88AB0CDD4FF2E5AC72D98925981487717B5A663F04F3CDD076EF81BF9419E139 -E7F4411AC07E51F0D9394EDFCCC4926575BB9B8CF260222682528F2BC5A9B730 -42A16671E12118B93DC0BD98340B2AE2408BEFD7F94D8835F573CE7E742E77B0 -4A051295D832B8C951F194C3FF5676161F6BF1F1CD1CE10C8E9D79AF1C7CEDB3 -095F7A75620D51F833DA70CF26B82F3B363A769A346694129CD817BE72481EB1 -71DACED17A6BEA6B8AA0CECBD5F647B62D2B2705C3D9CBEDA775E1D468BBDA59 -6A6D5F320373BC5E6A4CCB2984D23E1EB48F1942093FCFAA0491231BC1823A56 -3B245613A437ABA35CA98FC333F8C50A28E9AD5A5BDFBD840E24FDA1166EE51E -08A49C61B51E24E2618FC581A362A977BA927135FBB2E2BCF5FEDDE09FAFD707 -67C291C41708E5D7BE343960A8942D283D29F424940219D6955D0BA056ED178C -211FE2AFD7076CF090B02B7C346D6DABDE6490C8DC3E9C061C15988847BCB5B0 -AD749A23E93DC8247E3B46DD7643AE36EB952C3F07F220CF4552BCE51183C49F -0E74FC886B93908DFBD0AF7770BE1DBA97F800EEF503EFF813A5A1900217FA23 -F0128D629A03F0D86EE00FA78D8F7F2994FD0824E998ACF97F85C878F1D57542 -0C3A87C95496C4B5DFF62469ED8FDEB91A4785B0932C2EE2B902A756B979A93E -4C59CBD734958BC6C51CE68DED09469A88D7771A36E9038CEFC41BA172B9274A -9B83C3C9D23D02E8A80FFF29EC3AF576E289CA472262FDDD656DD3BD8607206F -C3515F80AACF032C044A4C661A166DDE5EA127A691830DF61E91DB5F25EA843D -057AD6AE1E14F11B26A3EA2CA8EF5979499BAF634C74BAFDB1A1EE86713A1A17 -D2A3BA045CA7DB98CC04F1AC96BF52E7D9855E01803A2EF6A1517ED6C7E2D3A3 -FEC8C34C79902DD1764E84EDF916A637769F0BF55A62EBFE2EC372E90E8D099E -DB896133FC18C854D535CDE703BCB1C33FF0C07ACEF3E5758DCEF6909E7C2A47 -5AC6C2CA38C5781A15F835FAC3235D1C1D2E1905940C5A790168BF65B384F7C4 -BB8E4A0045495FB5C1BDD404AB7E6C0E537EFA07E9FE58EC7E53A47ED824D6A7 -CB4E276E70E1C1F837B105D9B60DC6A407814AD88FB5DC7546F2CEF8694D3937 -88EEA59D7919884A6C5E527764BBA45FF1FA877637D5D71A6D0F54DB99709A82 -D2C4835287D8181A20D94339E53F73430E4712C5DD9F5B4C85D80499198A1558 -302A8862E9AB75829ACC4CFF780029BE28E1E3FA461B3807190D2A846F369195 -D1958F32C03099E8380BFB3CDD13D6C5EA795740461C7F14C1E926659B9B46A9 -437DA7C228C55960F6EE1543F7DD79FA01B0278FB15D8185FEC18A6ACDAF5629 -B8D52D136096BAC214EFDF00ACA533EE7F8B37B9A2418EBC5B96912E91FA3F45 -CF2DEAEBA113B136B2FC3E80829070AEB85E1106FE3D0534409A0C1B1FE1E0B0 -9363638214C918A4FC930E01165D5415CF65817532EE732B609153217C40A3B9 -887252DE415196BCFE0137DAF8103D628970CFD735E1E5B047A41D7249A8E62D -89ABDB74BEE45BD58B7F4EA7F2917FD61192EF07D36682CB9B8FB7677F533B68 -1A049A8FA0D1345406F8A32B5A906C52E4D4AAE228D4307DEA4AAC9492B88A70 -E6EC6A2182B1D1EF61A0497D08FED779A9F38DFC54C51A0569FE10BA0F993358 -DBA870547531A4D408E58749BC1EE9B5D10FBF8247917144F7F5AD322C79DA29 -A055FEA5AF738BA682595836C50BDC848ADA591463ABFF37AECD69767518B498 -FD4D245525144DB2ED0BEE6266794149D5113EBEE14D869910D47E0FA7C51392 -30CDC203FAC265B4C0FD5724082308A83563415EFFAD3EA8FE302BF7D10C443B -F677643ED0144959D1024CF8ACCA3899D11D80110078E671581945E520DE78FA -7B0A3BE7DC1846EB8213E9FA16983F1CA4EF22682343ADC06B9929C5C52E225D -07B185A3EAE0E9C849D071312AC66416229679E4BDD1D07D3328C346771872E6 -AA2B5C432B5FB0C8776421FCA422B2C19A5AC342DF990F4BD76A30138A037026 -325F9F2DE7A656A8BD1E506F1405F5AD9A7781B0D6A5AB4FC0A3EB95398F7542 -8835FDA088E459FED712EFD1774FD0E9C5611A174BD2600A79F75EAE9C6611F2 -B4363F72F08E6D2167F56148244919BFDA8790BF9EC24AE0FA0AB88511A1231E -7651C90F28BD6FE04467A83A16E2C68253AEACAE25A9579A2B5195963600FFF4 -467B263CA9CAC0BD56E4F261D7EB1E8B1818D81BD2B675C24833A29C4248514C -B1D538C72CE645731EBA976086751743249E6695A90BB571BF425B99FDD872F2 -0F2C09270F567662CC0F00E35FC8436B51CE12E9369A68410D6B1911A5B8C693 -924FCFA3246EFCEFC1E113D6A14126CF79D20067C730F6EC9B88145157A99CC4 -E3F6769DAA52A435019D0DF0CA67D9B12670DD0C964236869D63E21FBAE81B1D -DD3092A18714B6D66BFC098A84576ABA67DE5C9684187BFC51B163FDDDF34645 -75EDEBB121B31DD7293664B3DC4C40390CCA9D0848643361A8FF61F2E56C5C9F -10E2C0085D7C25009130F42AE1748722510FDFC151205154245E3C08C151BC37 -052823156390C5A59440CD4EA4DA21FE6CD3CA2791F50E62FF4D8C0F3A693F08 -579DF6824C753CBC0F132A64B6133E50122E16C8BDC996A5DD0A826ECD9D98B6 -F7C1A47884B8A0457E86F9CA25703BC0BCF806DFF2630D638E4F792BDA1C86A9 -E369FD770003EDEFB7DB69DA19A2A0B6706A45717FF59E40311F2A0AD3AD03AB -65E4D6160B8E4C0AA8702E34EA3FE63420885D35B93E92E98DA2068FCE9ECFD0 -5CF4906AFEF232C7D7883D77DD2655EFE6D0917478CBC8D2F5E5EFBC4C1590AB -B0E6434C6993D23E00902864737A6C103979ECFDCA976E967EED2C48C256A4F3 -35680743EE7F6DD9908F309B247BC098B7B81768CCB9313C526EDAA4976026D2 -16A97E817BA3381BA05BB7CDF4FCDB72C02BBD3E2A263D278B21E861E5D35F48 -1FF3B1716044D5443BB0FBD2DE5D996E4E45A033E95229F7E86656246676B53C -C3EDEBFD78774D30B8C9F5935EA8F4A54EB9FF2B6379F207BABF44D41FF6012E -6AE41AF46F919F70DDF368A4321C9A9713D630AAE868F185D541EAA317171716 -87B307220FD4090845B58A36533881980C15C242D12ADF542D19911484F71771 -46C7A93B8F25BBC1DBAB44E7627EBCEAEEF8EACB3201EF8A5CDA59BEB0A7D5BD -F4A8D2D78C4CAF737C8BDA45713872FDB16D055B92698E655B62BE8D56FF79D6 -3E4622479F530541F33EE6FECE94351CCC5DFB02C1F73F98EF62CB3F5386BF62 -CB74E4BAF1F8DBA9FE0446AE6AFEBC5BCC699F0E9E22C3FD7D78039114E971E8 -F1C9CEA15D558ECD98C558F85F81EC5616298A580CD2709F827B687E8722B68B -273B0FB32251509CCAF99CB4D85595145B253A717DF2EFB14F78A12FAA49AFA1 -34C4C8848CE163100D9FE12A88FEC2C6E39E2F927E6D699A533B797B86732AAD -723B4EBDB3DA8F5440F1EE8DFF5AD24822E811FA6F0F70D60EB253F062CBEEE2 -9B7204F79BFBD84CEB2566BD06427B88C841055A438430DFA184B0168804ACC7 -70909BA01512A4E5CFA471DD615F22F328E807638714E5C6B9E229B6737B987B -DC7C1E92FA0579E4F754D52E7F7A54F91DFA87909276FE98E8E4E1A1F448FD0D -D42B7472B8A9327C32C359A91E13C099FF67B5E3366CAF38FE1DB79A268081F7 -398FDDCA08BCC630096F036ABFDF09090B2B3FBFC8D060D00EE525C5EF81757F -4AD9649C8A1A564E926DD3790B3698E3CB37390CF8C8CA7B362536AF77CAD155 -DDE3AE85B94FC23F08F2C35586853DD45FB9C9AE5FAA280C45C4C576C82DA548 -3616D87568452DD35F7A7B528474B72CBB22A1A91AE8D2886E0D10927676EF45 -EA17EA67E867E37CF8CE551192EAE591464ABD2BBE156FD04C7163BB823C9B18 -E7CF73A0BE845CA3ABBF384C3C4AA81E615B2BF1C4CE76058F2979B27CFCF2F4 -99D9CE968472E520F026E37B99974A1F76BF5676D0893A7391575561611C2F83 -8C09B108863B415272A4A03BAA2DBBC4E1AE3FEE2614C0685F409BA238B80334 -B0E4777F625F0B644C9F21F85F6969D9DEE8754EBA55B2DF29B37004C458D977 -9EBB37347545B9907F71567166BB5DFF3A759D4EE554F93C518514806B93A8A2 -F86D517F17515B9EE06A7FB035E796BE3202DB0F33872D65065560456312B3C9 -EB3B3242A5340BB797CEF02CA3646CC3E5CE242748042E954801951D77D54DA6 -773431D192ECF1067C4E4083F01FDF052A25265F9809103C5A55C9512B8CA7EF -184A2C7BC25D061801548A13F16A4ABD96A872391420BFECFF1643EEBEF50EF9 -B10310D7FD259ABCA92E6705E78CF7D48EEF24FBA5EB83EAF46455E09A6BA28A -A2B0834A7621C35537D1A0B23F711B1D331F81958A306848B3C99A5FB796F507 -5A72DD8C3D2048BB4B5B8F0091057393A8D4136D8C22F152A34883D27103B1E8 -D3345EB3D725076421330B49E0961D057851E904370A599BABC9D06DB7AE0B7B -B6215093E74F0A315960027E5C5E87F1FD7EA71C1C9B6A4E8C628809E477E369 -B16A674A29A5AB844B7AA3DAF863C2036F8C18C266FB5D0318012D054A1444A6 -DE8401433790343A0A7360A16BBC2C53498BA015FA1957B50003C15583B4B851 -AC089375F1E0892565BC2BA9EE1ACB7313F8301301D019F7764E48D7EE7C08FF -C975DC7B7D8300AD53101188F5ECC4B88C57643F9D64EE498FA6E78C9B036757 -E226427840B0924C38AFC48736763CED4B7284FCB67291614E959A753DC6FC10 -C086E661FBD56CEAD5B7672A00736CDDBB75FF40FE270AF96B75C03B594A6817 -3A029AB642E0459A4F06F953E097D84D198917A77704D103CBBF3A379178B13E -CB4D633D328B920CF8060F679740C06FCC42C50B5EBAFABB6A0DED029A44654C -32F1FA833357DED38DFA359A8171949939B5E70DE266679F1D0265A2C0A19813 -C8D229F42DCA9ECDD9306DEA21534D29A72B19043848E0FFA7CFC39A85CC157A -324B1401581D79C26BE19EBA9EA7A517C8CB8F57D25CF9EF5F28B37BAC9D547F -72F628C6E1D6066BC92858E0389F5C594EC3D4C539270C74117DB96540F0BBCD -6FC1850F056C78901280462D6C795F368473F4086B4FB7C98D4370807EBD7EC0 -AC52878CF6F44F414D4EDCC1DEB47FC5D13576BE08FE349947481AF0A44DD2B8 -E4BA126A0EC4FD03D5AAC8CDBADF54E57618640FAB0BCB9FFCB402E50E788D67 -0919BBCF18BB54503FE560FF37CC5B81A8143BB39F9EBAE45ED2D9328BF26DA9 -1505AB6E0248907D9CC335397197D64F922526C35276CA6511A1C66826B5E1A8 -F74185C4B6BCD24F11228096DECB01C20F508F9292ABC668E8F8C50B6F6283CB -80F88FD6923654F6B1F1D4234E4A8E3FADB840EB96F269695BF1EA19EAB0E1C8 -4D53CDF12938E47276F20E12A50660DEE4A4BEF25F49D23AD9CCF9A9654264C3 -474583CF9043816D186D1D72D2A39B7F9DC24A705102A917BE7F79D46C7C3A75 -5EE586C013F4404C8249110F400CCE9E0C1B5D83E3924DFADFB6992C141436F1 -5F2CFB458D116880FFC9D598D980473BC971AE241B381B8665349238F9240253 -C86EFC57F1029B29D56CDF5D7F20AA6C2F9DA05C12BC862B0FC226636C72883A -532655445A21BF6F2933D8E67B9FEE2AE725B8936CCA300792B23556FB08BAAE -75E13BCB268776845E538843D87E8BF93360BAE2BE50C10CD9003F27EFF60781 -02FD52DB1B795BE7BB5588416284D0D3300B16B293F61564A37233CFC84BA6C9 -AE6830D4C33D86DA068F1ADA7B3D6AA0F2DD2AE9A274EF950F24702FEF3D5B55 -4505C046D2F4A0A55BFB3CABDCD09706E6C5C9D90DAED61F657ABDDE4F9FF628 -1F1192BFFEDB4B090FF48B381C9FC8DC524ABC96287505014C982F5E7DC2C62F -FCEB26AC23C64B47E47D654F620D93CDF24424E666071F03D1BEAFBDBF4C83E7 -D3D82AAF0F2E7ACE463E7A1EE26C2E2C22D88BE726F39DF5FECCB2753764CBB8 -34A1F6043AC02177A32FFF3A6CC9FC605FD9C093338977534EA5F2126CCA7E93 -63EA5B1B36B9C3794F7A4DE90E65F6973057B7EFD7FD23F9BDCED40843BD9BB2 -FC000062A71FA6195A77FE6FD16F8CBB993B10A3BE1F8DDC62FDD9B7407FEA56 -996E124C15F1447DBFC4B387B51BC3C50882866FF4200D27A650BBFADCC48929 -1BE20549D4174691F9BA49939E8922A4B37C047574BC1921CF97B3FE3D863BD1 -FEBB2F0013FEA09DFAB08D195CCE950C6D420597029788D75FEF80891F834234 -883E05F85877A8BF1287DFE5CFA3AF04352C63B58F2F6BF580EE83B0217C9ECF -1A75A90992D7565C0D9A6A31BD0245BD1BB41F2B3ED49D78BAD04EC143B8AAB3 -502AB1BE48516D16BB874420537AB7EAFBCF4272AD6278608436359C2461BEA5 -E3A8569E55D2334CE42C98B7C4B3B4CA4335DEEDF8C0A14F3B6DC88A041E4D8E -1C3458C8EA6D6D49CB065D4422356AB64F018B2038426D27E1763D9BC65EC720 -CE1C28B32CFBF751B8ECD201C3B94DB17A58FEA504A373D28FDC0E37AC7E3809 -999C5EA6421B1D7A2BE1BD98CCBF66ABFF3B694563D7DE6863BA370DD152F13B -BDEF06BA1598948D26B87F00B8EF76FB4AC3EC0004507F370B78FADC75C649B2 -603558C1108D1C8F5E5EE0171FB8B00C205FA763D8C69EFAB0C19327F84018CA -C0A200EFCF32FDCC7A8C77C14C630A0DD4816E89C20213B7302A9E8AD1C24C8F -1FC1F748347E80D6904EDDF0593232F53550B5CE79D406267A21C72252B49740 -4E681BA745D32511DE5C2998374975F837B8E87000F5DAED494D1C78C73ECABD -7F326AE3422F28ECC469C4B495AB2FA52B71429C81A77C3B1878A4A6EA7330CF -14469040542F457E7D172DCE032B51A2F433BBCA4A535A44396F17F1F2500B39 -3E531E77C546B0CD4F407F735477E84B5C762F8BCF0C323DEDC35160666E34A4 -F4D1BB9FD18F5D345F9493FA02292709AC950CBC1317E44FA7041A48D88CD2AC -739CFD988C24E94D565AAE632A185F071985D598CE0E8379A12DDBB13A2AECBF -39EF8F67F5C7CE9207253DFEB066E50B0028427BBAAA6820E019FEA98FBBA320 -778E0C945807A0973D7601615D4B0E2ADB99F2A0CDF30E18040C3CB79C950609 -EB023B68A6E403CF87F7D936C719FA5262D00559C8412D660719884F8500DB34 -C72A8888800CEF265D5566E7B81B4552761C516140CF3BAA7171BA8C384691DE -C2DDF45F77A8253AC66394EB19B9F0CC2EFAF23350BD6DB68B5C6C96B97D4CD2 -CF78E9587DD329CCED2731F9EA2213B8DEB0F3292A8AD108564148C9BBD6AF37 -B5F43B91543C7BF1BCDE4A9EEAFF4A99A541BDDE2DEC614D2F0AC047413DA5C7 -1EE2738A96B9D7FF9AB98F01FFC98CBC4F0D78757858B41D587E4DD6B40B6EFA -CC9A2FA68A628D98D8B35097C76F7DAD57294AB13E45AE53EC5B434CAFDF81D8 -CAFEB4CA6DE730CB4DCFE953D2C8EDE4A0BFE69EC6BD5F66D934320AEEC3297C -8FA8CEA3D88CEFA2E8623C6A970CAE37F2DE3522D72524F4CFF219F17771D7B1 -C39AA509211E33EC50CE497C2E10B620750E2C442D54AD283396CD05497DA70D -B628C5A4D1B669C0E23394C522B7F4CDB9CB7F9AA76BE0E26212A073EC154BDD -F3D4C4E175225C73212014D46D807549D1A40213390D5209AF5868F203039B96 -C4F76F3A2ACEC39365BCBB1F580955089F347CD13EAC2619BB758C3735137158 -D3E30000293B947E35A2982F766E144163E00FA5927BFEC750E7001000B2C684 -4FB37387917039AABFAEB327D61209DA69BEAA136AE5DF4D10AA090832EFE3FA -817ACDF06952182EF67FD06FEB0BDC839C55D8AB657966333DE030AD0AB68045 -8539B1EB906B57622F6176EDC004CAA3D3F2F2EF262BC94E2300A9780166DD74 -A61EC680F4D1C9E68D0E809D12C4FDF51FDAA3E9EF9E99617B48A7E89D60595C -3446D2F3242109AB6132AE069389B8207F29446882273FB569F825D531839E8E -1821E1821339B999AC900CE19FB1A5A06445FB3F1B436B0A029037A81E504FD7 -95B0BCBA314C4D12254E6033358C9E45A7FFDDF65050229094578B7ACD288F7C -A348D4A8E42BA5384B72F4D3DB0535A91CEF92024BFD59D272A8197165EB8F69 -5BC198B65997EBD308E2F09FBB640DDCCD944604CDAB4F3ED155CCAA3F3BDCB7 -F1A46A834298DF541573FB2C327C40F7B428D49702DC58B23C26128542B325CF -9482F5E05744515DCE402B0886B9FF78C46E2705883BB205795BF624118BA830 -12E8CB5B5C5598768B552989D90E35E9E9DF7D4EB5E558D97070D344F666E50F -2575FE3A0DEF4843890ECBB298E1F9D85A02D983CA91EC4C027F29D4A3179329 -5F12EA1E7D94D4D6EC67FE986C3CE537154B099E6E8DA7EB6019A1E4E3001578 -C841B80E7C4DB15FAA3CF88D1E654899716A685645492A314D914D97DCCB6245 -A9AEDDA26A6B0A47EC239A8CDFA4A62BA7A86747CB0CEF42F16C0987EC002EC1 -9354112ABF427C7E6774B8208157822D42F334B8B21DF77A43A83293DD11F266 -83B06BD584FD3199A0A2123527B65D7D3C59D82A15A3DEF728A56F5D5A5F4C7B -EDEBD5BEFCA0DC121B5E5F249A7A2CD1A323254DE979CE138DA8130624DB68C2 -CF1E390E57E61377CB0A4089CB76EF7C748A60C2992025A156DE906F24B6EB9F -29BAB2438038C02473F8BBFD598652E0BB9DF96569E4E9AA0B0717D775F8672F -4E4E7C709E93952398F5DB779E2BCA919F2EDC62EAEADD3C18E08D792CF7185E -B30BDE8D971148943D30016533EC24EE424628D7ECAD22EDDC8EA581B70D7E2A -F8D494E1C73FBE8688BB2AEA7F7636346A685E63199BCAE71242D847C91FE4C7 -C5A675A319093AD5E39CC0347B9908EA3961649C03096CA3C7A108E87E90D85E -867A20FC89B1D1C537B96EB8DB985A44AD99714A183E05FE0B98DE9835632695 -AC73F7CD89A2A98947B75A653AB16AA4094DE103E0459F8BE6795C5718AACACA -7C22D86FF0B6928F71573BB410E945E9B4E7B4B0703A81A9BAD71CD070883A34 -8212A027A48E468876230ED5F461E40153F5929E6003D9CE2F9F78CAC92A0E43 -EED08A63261998DA65F2BDD192BA663FC3D6018C397C1393443ECA0DF03AFB69 -307BCAD92BFF04FDAE761012DB0E8E91DDF727F12EE404423B6B1359443448FD -DCCAE260C1D0F2484592BDA8E6D8F1CD93BBFFB0E443EAAF45EE2303E040655A -8B871E163013D1EEA916F2E2C3F6B2BD3D801CEC3B672E369542E67D5243C8D7 -C822FD51AAAC61BB099BBCA1B8AA7A24578BB8BD88D47197C64BEE7488981FBA -8DEB16734D55AB8BFA168023EF0EDBDBC04FAC98DC290FCBE5AB98176E0E186B -00404358AF65BA03FCFFA4D273E63A3C35B4880EE699F42E4770A1C66C5DB545 -F81F5819E91D696A7FACB6284A288006D65346E6B26D57B5ED9056FB17F821D0 -67FF0BBEBB0DDA6F37B21366BD6B6A062201BEFE9678143D14FB2A445D187D57 -FB8EA7AF754ADD037D34BC5266B6C5ED9953C005601E560A9960F6311C62D731 -9727A779600D2658BDD15C2AA9FAA343A13152B7F6DCD259FC031529EDB2D9E2 -DAE6C0A29284FD2C9A87F01425E070851AC9CD3AFF3BB268E642B14126E05933 -607D2476C53BD2D08D0049802351D9C59F71C1F579BEBF29BCE13186B60B7EA6 -2B3BFB81D4CA724E5D1D4FF4444A1EDBD6F3E72337171EA353D8F4F075502F8E -E5E059AA254F298D2674065497BB1E4B7D48ACB0BFC8F2FBF20A43F54643555A -0E3E0AF55F1E8CAC11A84DFE3F9EC0F68E595598DC339D62AF18BD0C7AC68069 -31FBA9F0251FD0CFCB52F71AA29AB8CE6658BB4F2895819E95734E9172CE3F59 -D42E71CDBC5FD1ABCF7958A5693A79BE7DFEA00B2705373FC3F6EB876CA01F71 -8C0ABA4ED1E25BFCC067DEF176BCBC038965960F4E788AD6B3FCA413E6F261CF -CE0227BE78E0C6332BF2F0BC8288264291B9C7E66822A74AAB325B7D13B330DA -B5FCFA89AE548EF01ED8BF7F28A63D57E2C831DA62864D85928777CB75EA820B -B02F75D7D1F0492AD977106BA7F9F67048762655690E6410EFA6E18EB3D1C152 -35079048BF00E967590F2F253BBBACBE36C0145FAB4D1CFF7B5CA0B3FF37FFDA -AE45E1A9052F8234BC4C0021571B3CC5CED2257844801C70D4569F8B5603689F -40EB5465036A0DAFAC05D98D8C81CC01CA4BD20E31BB370F3C9A58EBCB0F414D -F25FA84D8CA45841F84CF853D8343F37C4AB18783196B8A42A4C0A54BBB9D1CD -63F9212ED0DA75A8B89FBC441568B3B11F8B8F14C67F0F28E59AAD66D5E2E139 -C09BD7ED34203B426C4F19DFA2162597584BF07452ED01996F9E14A2AD0933C1 -BBD82BFC1BCFA689F7D25B01AFE11FE88F0A803B29D6040324D59434A8004285 -5745E603F24035906C0EC066319191D8B17C70E50B509CBB2AD6343DB72A9384 -1A26A0C43F3DA6CAEF3A3E7ECD7647A14362C3F5CF13B09D45478A7F8C130192 -80984A71BAC01AC27F50B859B8C2A236CE856B543FE44D5413E19635581C1BCA -1FACAB907210EB54C8D1897290DEFA7AC1A06EAC35A8822F32C6EA2DA11E8B13 -F7BABE7599560C0DB4B0BD33F5C84C0B64DD222FF8020537AFDFDEDE501AC55B -E69F0592D10FE3F79D0EECF65356D6EE0613D17C769A9F55B7E7DC0F64419C88 -1B7D3D9C698BED8CF98570C9AFE36C410B49DC1205DE1FE01C9AF25AA7BDBB77 -42DDB74065558A244D28608FE123209E60DF42D2E41F88B909E6894955415154 -38E1F36D248DC16C059AE9DE3CE619DB3FD1BFEFA9365F563824B6BC5A495E16 -19E4EEEB86DEE9A6347FD78653491AAD52ECC59D44CF612EE1F34D1E3BC304FE -B71D67638B45A59FA0D577D3606879765C22010A6CE4B67904E0036FD2EE3376 -41DFA49C32130EF0FBE9121573B5E6FE05444A50F743F9FC89F03032901349C0 -8E3D7F0D04A17CE85A148B2C8F8130FD2CD0449656110FDB093CCC45C1994427 -6C1E5EBD20E3313EF8D82038D425E22B8B4C2647DE33AEE676A6CA614C92A5B8 -F9B9B29CFC3CE3B981923654DE9492E243E7ED117AD5C8AB9901D70996B3B28F -5F22851DDADBF2200E24ABCA23DC98EAEC6B7DFF023B9ECC299C218CE96D806D -3229DF29E739C7966CAFA769F3F14521771BD9580E9854FF633DC6BFB80636C1 -DB8E35FF6DBAB9D6EB800C907B5D9E439AF89C23778B2CF8E37C86C837A05615 -187D425EEC521D9CD2E3AD1BB91720D1D329EB502F2E371DEF1F9DA1AB40CF58 -8BC2E7FFA80D276F804F58BF962D267F63EE13879C248B7C1DF4C30BACA1B16D -562807B7CE1C9DB76123040AAC7EF8DE35074E115083395524FDF6D4431C2C2E -77E68750D4215A1F38F1A98A4BDFD1251C34F71C9B51A62F99C05201585E1C2F -8A639EFE519B89B9093C34BE38A1394AF11D1649EBAAF6B8147601C80516E49F -1E0BB0DE6ADD2A62D70C61CEC61936E910EE63BEA2347BA8CB2E51CB43B5D6F6 -CE12A0DE65B0DC01926C19D3B829CF02D8F765B2631DCE8DEE5398996F23C1EA -D807E44C8BF88950700BB3F1D9C7C4930A0A5D6100F3A8F533487AB30C43DA11 -E15D135E7C5993E8EF83EFB40C518F0243181BB7D6A50C3E5900F715C1D62CB7 -609CCE1418931B1AD1AD97272AE6AF1B5727B1276FAC2D339C1B7C8569E53659 -FF2473540CBE8548DBDD23CD0B49A3BA81396830294FC87C74DBE242585172F8 -B11E2224479562F90BC4A997F082325FF86B27B452E96D8D5A4A05623BE02D52 -C81AFDF3F629F796E3AB852464E65423A3222C22D4C3DB6B3D588AF725A3179F -8EDFB5C04C7E0891C0BE1030CBE582DC3DB788611E73C68F9C61F5C5F642B331 -1D33928512D0B89FDCC65CE1BAA0B70CDFCFA01F58ABA2E429900870648E4B48 -902435A557F048BE6D2A6374AEF2517C808F19BCF161E8C025C93E3B22C58543 -EF0C294165780F749B4F38ACDF2A839CC4BC6EF8757AC551866548AA13ACB85D -055AC6442313920CF98FB57171D4A1E67E84B587D9F2865B69355AA04545A3FF -D5076F5744F9FC5C69EC6A3ED3E860784352153239A96D8607BC76E703E2D044 -7FD419BDEA8B0D57798C77F2DD082954BE92FCF009E67F97876B27E7B369F646 -C9AC457A50996A29B2CBDFF47BB96C30C92A8B9AA3A33CA0B2FA4B1F6D368408 -22D7A39ABE13E32704AB573A8037C69D8DFF05AEAC39A3258A38EF3C9D11BD7D -2B27B7D65AD076DF3787E93B63988BC3473D3C787377DA6FF42A7C2917341F83 -2B31DF8EDF8A932BDD4AA7533F3706E39A3A5E0859709E963E1329210A04DDBB -89907D346E730FD57A0C162BC7240F93CD9CC6E1C4CC1ABD61AFB6B8910B37A5 -461F531D1EF7B96CA77CDC78798323B9F5083A19705A338486979C29DBEA2EB3 -F58F55A820FC4027ADCE6D0388A90F9679CDE74E9161FA6DCD9C479DCD56ED3E -60484EE7ECA53643E65EE701C0AB254F089207BAD2B9380A503275A90D275FA2 -D58481CBC9A943CBB270BE76B845650B4A6EE35D5EF27D41C81DC1C4C1813801 -6B231D0A0F9625A62DF170974ABEBB1D30D8418EF233BFDFB17ACEF60F29462B -C4F14BBE1F2496E16F2483C247896CD513ECF2518892CE6941B16BB00183F414 -992F92EA343BF40CABF9238662530E7B63507011BAF6D42651C31FB0DBE4CA02 -E5B9A8262B7B208A843B7E7E5ABE7A06EE96327A1D894937FE4DEA635CFF6B09 -A0B95AE9A30D555859740C0ADA380D39A4DC7193DC67762C156A75E572656832 -00B8F36C4CD57E5411BC6F1B111512196E41FE55900F51B774E4E33882C19D6B -29B0F5497C0EEC84E23AAEC8829D25A50A4E1C54A3D4F11773D0BE4CE527B1FE -EB443CB3A37FBE22A31529526E3B15874DC1D34885A2BAD0C552E6118701545E -CA6EF216AB2F013FBF66EDFC427778F5D060DF901C65C2EDCC687EA258ADEF72 -F557FA3947EFEA5AF2B2EF36B575155F97E2F0C97EC08D53E846EBEDF716ED8F -FBD26A0D3BAE948B5167E97FCC415056705D187454264E2B7891DB928453CC5E -68EA8026734BB2713FE9EDDC9DF41D1093882EE31CD5EE0FDF9BEE96260E8100 -F7456EDCC4A629762DD24979BC89E9E9CEBA2C0780269CFB5F489ADD02268E71 -475036BB570D20BFFB7A3FADEDDFCAF582552E84C10DC29EAD5101AB6522B51C -7E38C9BE4BF76E7AC2 +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 +92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835 +3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203 +046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E +C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A +A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2 +A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D +731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B +09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1 +49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B +5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B +54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C +C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F +11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AC46268691C741B2D4 +48A840F1128D9B2F9CF07D0709FE796B23A836417BF7B5B12D67F74453C82F5F +25F7B30701D6F6D4F4DC623C0C27D6A6FBECC7312A3CD10932FC7C10851C3C52 +24B75DEA8A648B7F34F5711DB0E843C914E25663C510185BC37BDB7593C1C259 +21D8DDAD33982C336BF272BAB2F48E68217403FE9F54877B243614A87E64784D +2796EE4179FBF96123D1BEE3EF89D682B427BA4F12A1318A57F18BE5DD903815 +2617B3FF62C4887452FC2323938BE58C4FA7C7851E6AEE1918FA75680FF68A06 +BE207F0337EDBB05276FDA8A108CEDFDCD1A1BEA90F4963A4BD1F9D573F3AA38 +0FB226D9986782D5403DEAE9603A44EE74960C82ED033ED4B2473E0C6F5A8C0F +9B49CB4DBDF95A1E418DDF7F4301FCBCD4D8AA0E079A2FABBE83B7074DFE7A14 +9EE8AA0510A9B2D59C4FA081D76376E393C2FE20098356862EAE04C059214FFB +814010CBB26946A127180DD01FB5090BC43B1BC49149164EB3E76C1926660938 +9626C0D590188EDC7051719D763DF5FA3F0C626DA3733428E82CF3921195D51B +020C9C2319746A37B73FE3B1F33D112DFDD763538FA0C26958472799FAF43E3A +DBA5FB0AF8CB2541BAD6B46E9C8B69994F1B5572395D9DC4B2108A67A415E117 +0D13DCFD599DF1C08B20140B104A8BCBD0D2B64FC8C095B20CDEE9733CDCF42B +E837BC704A2ABB5BAE87C9212EB5F15A749C877361BEF41892E8AA3E8A318FAC +1E778C340C5A662F7583665C17D7D91B546FBCEF6A8A345516FC3F5B8B48660C +2F3DC422E4D980644C90F79C4D78795A742CF92F01C8567934A87DFB8E7F7E94 +2282F8142FD50E2EE68E4F68EC6559206B15B6363953E47BE773B472393CDD45 +134AE464BAC05C860084AB93D56682EFB358E06630988FA9FA4C4CBBE2A9F84E +FA2C1B4BAAE1FDB142260BEFC47C763D6DA171DC10DC0A97AE01DAC7D9E30556 +CD5EADA53250A8CBEED9F7995A7C5C98BA30BF4D24AA757AA72049E99D7FC64E +3F38F6305D375FC12FE689B3F47C23A61DB541E8BB5C68AF83AAC0FCB5871F04 +3EFF18F78E120A27037715BC7C0025B45F5F1F488A43FE161F62DF65F025A960 +C3282E1E6BE8F9DBC2666F69A46E2788700C2BD285E76709BC86FB87B5C76255 +DB45CF692CEE11958327A9AFD56853F88371FCB1D92449A10CB853BB0D2EB865 +B75FC216FDA627D2D8E239100E4BDEA9470E524106B36D14547798FED4A9DF17 +315494ECAC810E3D706242C8E5C56FB17A5E35344F78ECD97AB6A954642B188C +5B97B9FCC71A07EE00927DA998AF8D83881E0232A752EF96704DD07310AA017A +87131541F50A84028134DA8A9E48385B59963F26EA4B54B16FE1C191A608F506 +42B67B71D7F62968BA73516C98AFB06B2593AA36C59935C64763869592188E65 +528B06E1AE4BF6C42163E7630F294093B45A62894A2FA299C239F2F62B431DCC +9C3F9A7C5F2019F62CCAB012882ADAF74E5E06508DE64EA8CE82D5288017D806 +08907D37F766820410C46E738C057288742BC2BC5851CCA7387B8FC471A1414F +2460838D729E9F2EAF2DDCB42C498250C000B144F96F97BB692305FDDBDE1EFA +E30419612FC3E4604FABA72DA94725183B8867D6372B9BACD8CEEE16D078197D +7A21BBB7262EB151D48786FC75715CA51339C4ED624832428DBB886158645D8D +ED2A599C6D9013AB8937D4B84E2521C44675A17D0D0B0F412A005B643B36E26A +2531F965C376AD3563657096D0DFC9C2B010C412FF3189FB0F3370A34184BFAC +DF4029963C7DA0D55B44A4EE9AB3070B807235DD391ADCB21B403F99A33FBA5C +672F1FCFFBB0FAE7FCFFC52EADE0486A64861F5ACDD1B7F983FCC3F26AD11804 +A6ED03BB4AC9826BF9AF0AA08BA1BA18983D0FC27FC78745E0CE4916414B24CB +24AC13F4DA41B36B7D56B821E64950D099772913E7FA960AE06CE1432535A448 +002941E3A3132B7FB788EB94295005A261B799E9C7BB997DB87BD78FC6FE99CD +DFB3A0D12C0715ECD718248AC63D5DFDAC3656A3635A5674D9F1884486CD9BC7 +CFAC45B42E1653B01EBDDA10AB94552B8D9BB41422C790EDE2EDB3781F448BD6 +0003B4DFFE51CB050B5E8DE677FF67B3FECFF1CC938F615DDF0C63BD572204DC +ED05A2D922474E36333874C95538E85463BC44D9B55FD656E5985A14965C60EA +9FDE3559701B3DB7129788BC99E40D44498155F666014117F2FF3E215726831D +242BBFFBD267E16CE345E057CEF7FDE6532425CCC5D3C6E8F6AEE6EA5651D26D +9F643C8F22724FC514C8402250D7B9EE11005DBF65E565709774D1FDDF80DF18 +4F351501B71D6F88E4BA975864FFC88D2A2D32632C90F71C15709339DD6A7990 +C0C7E27B42F475084772C822B7E7AFFF4E958DB2BE2F4E87175F84FB60030F78 +345030F6C35D815328A20BDAF2CAD695BD9DE94FEBB3EECE173998DFDE362F56 +12D3E1931C01AE3B235ACE4B99BEDC797CEB83CF65ED4C176A68E8C4C63A7E8F +9EE466AC521A6C3727B8F6CC85BEA400C0DC34D87A674E38D74A2EE89A88A4A8 +A8197FD49F091B2E2176270AD90AEF43E2BB4E43DA074092CA90491B693217E1 +B9662C034BC251294E46A69FC31F8B61B4536E93097E444FB450CAA5DB2F3D1C +BAEE6D574CA0299A0CB5201069AEDC02EBA826D98A51B367E0F97D9C298E7305 +786215AB7F99E4D69DC912E3CECB2B1B409F7117900213FD509495A7C74A8F4D +6FCE63F12809F664BCCA7DB7E3C4512DFB1B2F2E8DA326FC73244CC004913BCE +3CF041FD3FB93838D3C2232FC5A70C1459EB852216538F74856DC1C10CC5B888 +98B0281CB6668357D0EFA2BD2025DCD1E5661B49B1F18772B305E2111EADCD46 +B2C200883CE0A0EBD0ACA9A7F6437EC4E83EBF417F11D93D3D6AB745E812A3DB +0B6CFA69332D83199A550A001B752C4AD9BD661583BCA29594DD739851C20C48 +81E3DDEE362F63DDEB7AF23D697A90BB66D0AAF12BC0BC753D582BFCC322B428 +36576EF1FCD3841ADF3EDAA804F28BA76CF9B75E80B96B5B4F68C5CA72604424 +5A86A498AC08AE3C359658D4AE56243609AFD9C377192146B353DB7CCE174CBD +9767D89141D605D9BC306923C85A8D2E430C2429EBBB1EBAC4E4923D8637C704 +9F9996AA7199F61A66753D186363DCEFB142845672A3EC5FFCC353A33935F80E +ACA840AD06665D5C08CA97E2B4960AD10A28BAA5A5B0210DF81EE182672E54B0 +26D1E1387D533A0E5F1041564CF59DC431D8A088A13AADDAD0909EB73B315664 +067A536C88140631AE1765BFB7B111CD2C339A3945AE28AF98850E8D3929A532 +B6086F63EE92D3882A77B379F722C054420F486C3C57EA9555D5D0FFC0962468 +12A4E5482EA841D25AE67785433297A42570BB0ED552A44B7FDEC21D2ECCE5A7 +2A750ACE6D075725C63C5FD8B713D2A0BE7D1B04654555C31F2D938B0109A5D3 +8A675CCEC498D874BA14597406F620BB87B0951CD2740B285596357425677BA0 +0DB6920EBF1565B8373641AA056CEF346211AF8E6316AA9EA4622CC4BE1AEB32 +033109A244FC87A03EA62ACD243A32063EDBF605D4E50781DDF21F00E06469B0 +D01A26C866970D193C806A0913BE36F66B64B4A5CE885D2BF6F857E5E0BFDB17 +34059129E158376040DB6381F1F8D2C94120E7E12A57E80BFA6742870DD4C0EB +8C43C17BC0F0525E108B00D7E661B61A5D06C710283D5578F2B5D74ABE4D8A25 +D1857B097013E994A61DE5BE9CDC2D3AE057F724718DC95A4F1F2CD99991F395 +3F84488BE421D45351C7D525AEF054F509CA10F8199329BBFC0EED32A3250433 +0DF65F82370B10A303B779549EC3FD57F32A48B9C035AD61A038272C9DE53486 +19C70054B46BD0FEBF0797C50A0CEA473DF9D492FEE1427EC0936F215B33986E +45CE5DAFA387752AB63727B8543B1D7C929C702E7B0094C26E29479BC110E5D3 +B5C48E6A85AF32FD743EF87949BFC6849C91E8A39D7B5D8747658DCED79FA0BE +1CD81B13EDB3CC4A429E4D9CEEF9B51A6F958DF217407491F06DFE1665DFF0A1 +87AA01FB5622034AA4AF71DE936E2F669B8AA66DB6D2933B23FD8C6273B75011 +36DDD523728DBB4E48788C20411CC48E94508C08DDDEEAD4DE00517F31D209EB +C12D765C834DABED57FCCB838C41F1E2CFCA538F23A2910BC125F32CA44BFCFA +7973CA2DAA3B6B8739998223B230996F5FE43B82F85B440EBE3EF7747CAC19E0 +31AC3D3593AA88A8B8C0C10783B4A119884BCF7F9510D7101B7D47B03CC8198D +6329298C3FF4769E09B27F5A978A7BCA1E2436CAB595744A88C012B221A376DC +360643002923AA0F5490AF3527701E8513DA5A2806A9A6753938F4123CBE9B95 +8CA78D414CE419992A1D8EB58A9EA6AF4B362B98C76B46D14147F7C9D736F8A2 +3AB0F02F8937926EF58C5121E19C3C418303B38A04D47D225C5017BC7174B4C1 +EB3FFC74130B16CEDB19798F1AC8FB15E7927ADF591024A67DB94BA16FAC1C40 +1C3B4D3D6DB7E7D643205BC3AD4D92A3B88AB3643B78594E10F34F0AAB24EC22 +665D16AEE96F2E166C1512452A9D5DFB3BEBA1CC9B899A648FD3767C23838348 +5682A8D62E8385C7DFFB8E5D7DEB5EFAACA31E1B297761C1AE6B8CD80E76DE07 +656F6F8B9AE86CFD84D842AC1171B785E19A3CA1586B279BAA7C1C2D6D2BAB8F +9FAB09BBD4D970685770DD9D384140491021BD1F5D4F040F66BE7A73A92D1040 +0A62B90B23D8040295A592183FF875CC1D34FB2BCE3A5C2122535C50D897C289 +DD0461DAD32DCDBD71E6158B03AA4CD010321C5DDA92DEFCD31B8FDFA299D4A6 +6CE0CD1827B88C1838275DF5CA35D7EABE53726641FABAE82AFB60CFC492459C +B93C9CA350141CF9B6D1CE85DA0032D5631A5FC7FC796D36B4A88DBE6223E3C8 +A769FBC23BFB574F977AFAEA8575D3115EEAB2B8ED76B13969A897A39D634A24 +3FA178E74B6CE8B3AA59D5997FFA09C000A6226468163892FE185E1AD25FC391 +610978502FBF626B5456782300A5256373C36C0FAA296468C8350D3E463FA623 +EA3A20A837399EA49381C2AFC01C6A28BE0AC5F455F150B18E8DB354AEB058D7 +6B83013051C9F6769D37786AD33889E0FC90F1B96B227ED039C75E2F48E1CF33 +C0C0310FCE27477C90432293E4A26C7335661396D397512FE98052C5EA44AA4D +2F748DD84740BD5F9B8CD59067F603CC405C92D61299715AE1F24D891C41631D +A50A46B5E4B2D7FBD62221A87E4A6C962BE45532E54C48E60DD441B3F0144F87 +4545A9910D6AB7531EEF57B3A2E263855F03325327C0F50F6ABD02E39F393891 +327DC54E0394A8EA3F3E07075794D3FABEDB084F112CC1EDE9F1BA935177F2AE +94BD8DDB65AAD6A4CF1660327FF2CB6E9D8CD69240CBF229AC7A321BB32D8825 +A4C9D220843875E192CF17663ACDFF874A101F0659A8CFD7BB269265B0DC5607 +4A15D0D3FF40FD5F18DDB06DFB6B7CDFE4C4BC4184EE92C0130E379A4D158B8C +BE352E642E543949FAE0020AAC60B09638002EB4559143804930D3975AAEED98 +59BFC0DC59ACD5B36FD0F5A776EFB898819F5B67F89223076549AE1D3CA3FD16 +ECF26FA5B9AD50B0ABF4B6166D87801AE822EC03913F882BCC32061B9E000C17 +921E219D8E060177E0288B4B87CE2E2F919A906C51AB0D53C80BD1F72FC2A15B +86ECE49BC154674D04D913F35ADC79A6B1067C76F11B06B08F50E5D70D8EFC2D +0C9EC9D5190C4A78548341043A956A6570C1E8A3935A3782E7009B32B431C6A2 +8BD26BE1DDB3F164C05ECDAE91F850292A2EAC0A51D8326C2F28C4792FFFF468 +4C1B8709A2F9F020584455955E50541C6A60BC20579C93D17D7B03FBEBF58959 +F107C83557072B87FA96BBA34B5DC629633C33C63DD528F75F63F26DFCA5263C +25D0A8BEF3B2612051FC6D8C821A6634DA866B1ADB5C8B0CF90342DDB6AB22A4 +5C44984A25B63233CF4035EE56C6D4319314C6057DBFE238FED46A015A07A549 +A542AB821E317CC672AF906B6D322BC6768ABCC20B550B1627BE65F7FA3E3E79 +29515C0E891E0857AE7C51C380F1D0821A6AB3A957F85740360A807791A57A33 +47A780635BDE8B9C43F63605B70E21B874EF51E65EF2E46BC463E1F12ABBDF2A +21B7803B0FC8F6833214F7AE6220FE7A4072892472F0CB6E1BEA4E307F47D901 +5A4E22EDABF002253EACC83C556C5B33312F4E2628EC11A42D7ABC6DBE091D2F +3AF67ECF33C195B9D2990C93A49B298857564BB3A94445C43A54B5D150B109F2 +1795F0354CE01F34388636E7E38E0FA6BE9531260B3006872CDDC3BA08A9D63C +F8C6C9A19A06D7F3707B04DDBFC59C84C2C6D03226D2A32CCDEFA56694B3137A +5F6314E4A96545F1E6EA370E6B7A1C40546E7B5EF7AD2C9300E01995B4109BB3 +ABD68BF74E2480AC0D79248EDBFE880D374B2BC8CBB3E6797D5D8E385EF055C4 +7486BAF3CB2CEF8CFFEA836DD82F878906A1979C549202357EC31A223008299A +0FBBD51BD7A2F8861C5AB1E2B715F8F5DFDDB3A7E0FF5A61FC7987B258C77621 +FC902CD15AAF87B3F14701FE6BE916360A7855D73A3F19DE1A527FDEC26ECFE6 +DD5958C4441CB103FEB1834045FB4E8915D1CACF54ED03B1D3DE6899459844EF +5548A55603A532BAAC84F5CE618B79DC609234177C62BAC4928CCBE4947BF7FF +05DB67D9A97F818F071202B5B005000AB5C3080F88ADF9CFD9FF4D7A83F8EB8E +865B3E3EE53DC87895AFD859B29E86943DBB13C4FBB5F3A4D264762708B9786F +612F199B585D67C8714241901F36CF1AF3E38D190D4F4F9157273855CB0F5FFE +3CDC0E5690536F61759FBE518D19CD4DEAFF2A8AEE18E59DAE2068B588CD8B01 +C3768013C5F226339555F4283C3B82764D590B7B30BD4CD80DEFB1ABC04D1C02 +8AC7BFEBD0EE146FC44B6717CE0BB029FDB72868C8EABE21D1AE954D5AEB96E0 +FB9762D1EE8E0FF494EA61D5199221B723CBB054C2B36B4837930F4B456AB12F +CCED13F3C1BB58C4907D12738D193B5E054863BB02058B7D8B2DAB831038D0F0 +1C574256D8CA084D7121A56B8797E3808F9D34331B958031401E26B6FCEE4876 +B358FBE065F3377A6C610E05ABB78D344663608EE1A8C655F64F173AC40F5EC7 +7050F863258CAB72DE16BC8A1F2A0F946E1129DEDED89EC1B8F30F8AE56CF2F9 +BBE3E42422D0A0C8E687F071E9B0AF7EF8AF7EBF9321BDC8566A04A7649D6CDC +3A6AEE6BB4DF9014E8FE172C1D742D9A039D5D9875C6E1E378BDBCA3FAAC8A94 +B4F60AE4C14F0F779B68A35BAB672AB6323AF66B961CCA7C4DFA8E53DCE1670F +59D09B6FFDF1583D77FE4B5C175956298EF85A06B2739783C1A43FD944722CAF +430DB8CA1DD3F8ED88DD6DC31D637A7FDF02C334035418FE56983147903B0355 +512D284587DB7254A633D11AB964427E918D61FB4774CA8C5DBA1830359D0378 +6D9C3878163F22593D56F93F4F10A6FE84E3A7C5EF1AC7140F540E59739BD3F3 +01BA81B21F97D266520EE1054EF8000BDD50B4DDB8360F323DD0418AB21D1C91 +8F19DEEC9255061660B049D680AFC86A47D9B295FA0087CCCDC95DA7178C275D +BB641A97DADFC0C89415E0BDA7B3CFE791C08C20E773715A6D52C6D2357ACA3D +E15F4874BF619D9C2D2BB0E7D2204A2714DC8770EAA54F34DEA983BB4BEF3E65 +EB173E2976E2CE37A0E748464780E034A877D89E06B9CC46EB152C61FEC2C14E +3E8EB6477EACE2B5359D694698A5EDF54532D18DC28F8275C86F1EDAA3EFF058 +52D103DE18959605A2B020F6B9B6600895472970A6A75D723718E126EF6B83A8 +E11E0E6BFD9882A58D68F9537F0C6CE717107147717E7201523B0A2B85AE5F1E +79108B3E197DE8032BD97876E3750217DD8E750F546A9BD334A0BC1BC8173E20 +468225C0220204EC25AA878219933035AA5B041C8E867C3C9B552723CE05E0DA +191E0DC8D3279027C2BFDAE569B8DE7D22E8B18F70851170994C4BF74616F8CD +15047EF350A32D90DBFE87E69CEAC44846D857891C836DED2CCD879BA1FD6595 +B48623564F06E0C64AC32D1604D04B6D5A6B17B1468262DD9375CB58AD780F6E +7375D18D5FBA75DCD30D185FD7C0D8AC80ED599D072AC716D8884689C8276A2D +58D8001939728ABF0DD5285B522587B57C3F80210069F0A277901A502D92A405 +8EF7006858D2198F15EF86CCC99E84DAC10EB14920B986729B7861685EDB5930 +C0792A4FD7FA3E4F9A94C224575F2DF2FE0C51FCCD7EC96D2CAC325FBE0A145D +FB7D7431CD6A48E7809553B61D163C8934C2D3100645B39FDFE5915633A5505D +50B07B9597A25E478D0ABA6A470C9CFA9F7C338073F8E94CDC6560351085216B +E22A5F7CA16AEF4C9D3DA99DBE4D9EB135EA17ACA574B53127457EB32477866D +7AC40007D55FC883BC54D4D6CBD0891054981AF97BD88C296AC9FAC505E28C49 +42D14E546B3076672AD28766C3221B7DCF41E2B5F4E23E6D2B9E317BFE87EAE6 +3D3F18F976E4335E745A9136418493F29D9553A010AEB1EEA5CD342F725740DF +5F7D781017C6764DECEC9AFEBE170026D3A8DF867E2030E09F66F0E2955346CD +67CCA23526C2D98BC193B0F6118A1EECCF885EA6C562D2BCA8BA407B6FA8E51A +B7C263444981D41F719148C5723E6ED45705D81332FF08D9B299B6D6CBB76EAF +D838705490DC370353FEEED0C3222FF6384808E0F442EADA54DC41618F02A9FD +000E49FB214FC6C229AABB426F07B9F5FA7D3FA4334F86FF34CEA7178405AC92 +25FC1265240E4AEA324CB614CF51DD787C532EAEAEC395B1FCA2355B092FBE67 +72A4BC1205F4FDA30D944C27A6A22CD6841D022F8F1E59C019D4CC13D300422A +B1A3C6DAD1E71E435386524AC3F41217441A1A7B7931BCF560B93EB4B659BBDF +7D1295375A26BDD1AAC2F47A37E2B1B5736DE7156F497F576B9587F90BCF247D +B14F30C459BF3EB829253DED96A8827D443B89F28812D3B12CF1CDBF6927D144 +2674C6D22475A6E4DE535437AAF42C3922920D4FA774492B1435BB1B5F01F6A3 +5B1055F2CABA25C2C8F5E079B44DDDBB873D704AADE8D8B7B19B6A4702A81DFC +86D8DA828021157C4BD20CCE7CBC15C383B564A279B80980FF55C1FE1F3F8A88 +20AE4F6B8EC8EF63014A6A2DF8335D0D8FAE704CCB5EA2CE284AD6E63D486094 +AFF70478E8CA74DBD0B889DB75D405FF11BFB26919CEA88AE20BD8D00C32FBD1 +9F7551A9A74D0DF2D8914A9515E4666EFAC16C7EF50806AD07C8103CDBC0C15E +E61D74B21788F75BA5F438903C9C88753A75702C5D85F2E3B053684706AD4F43 +7FAD9D935F958A095FDE91993AE1C5D4B8B561A7C385FF630021FDD68B3EA734 +22944FC47954222617E6038040C8966468767CBC7A283591686545D16E77A586 +345181B0AF1F22A6FA94AFD05B7200B0AB5F0710CDE82FB0834D92F6AEDB2CE3 +343973F29CC0576640C6D8C8557E2FCE414FDB5B5BF527BBEEE44EBB8690BA7D +B5883F5CC6CF35B73E1771E663E3D6100371435FDFF6B090C94A047044726F12 +39784759907191161B1D0FB8F21CA5818557819D6D8A21B69C8B6265B823F7D8 +2102221B51F70AC44301ACC6769944A5572F3438F22AA26BF2959A3C1CB46A16 +699730381423779E45208FF6CEBA47280A8895C3A2D7B4DB130C1A7BD7E6CB22 +A2E5014A10CE67900A70E7E78292218EB505EB819C873B2152D2A80D3DE25D15 +BA90D27AA5C4C2F5E138CE81F55C9360FE8AEE811C2AE2D8F3B1D23EB855BEC4 +A683BD5EAE06373BDD0216CBB9B7203BB9292E96E345A45D72B6BCD0DFC0D186 +A804BAFBD741E566CD368B8C0F39377F6F435B702876009029650145D2DE8B0E +C2C3E6FCAFB12F228B1E7F22CDA96D40A08EA7137FEC806EEBD45D90D779D073 +496ED09464FC0F9CC4EF7AB715032775AC5246BDAE4F4B51D07F70CF2DB12FC1 +4678D943FA2DD1A7A883B5020E2E1A01BD7598468B2DA5B43C9B101F739F32DF +E5FEDF72A2AE5E2F1153D2E81E3033733C812ED69A4BB3931076F04E3C1C524F +8572D5007C005784E400E015807C3D172096C0F9B5722C06A5D43B48962F9D6E +494231ADEEE8A65E2463DEFB82ED663832831B67DF1559F98EC4C52B9E4F0A96 +0A489CA142A9AE665D8917D1103212CCB45D04CA198A388DD988B815C2A38A5D +F5A39AF6395E34F7D02A5781D01CDA9BBF445D926094656EE535595F10431883 +387CE32836F29D4A0371DA2DD0D29C5B0EBE34D7B885A21DCE211FB189EF0C6E +7A7199C5A86C2CB44F37F9695D81B56F6D1A52898B6FFB534D6B369F35E954CD +59FA342A0B5C4996D414B711B33936225EC04837BD5C1A9C02F49D3E388496D0 +EC32F9E0BC6B2B0534E819C2DFE4438B9DC41CB6CB2E39858F29AFF09A81DA66 +B7DA5DB998A17F62CDE0FE32C0E6CBABA4594CD2A7B90C1292C75D66D42E68CC +9B271F4F8A5963E7A83F1032DE59CD1C174D0BB8B36F93F59F6DE1387CB8F082 +DE77608FAF4B016FD98290F092DF78F9908B01207684BE3FC8C35820E5D1F5F2 +EE8EE4B1C4C74BEB55918040D985C81A6ED7AEF420413A5B179C69C85BA9CCA4 +D7F39BA1BBD9881D6FCED310BCF6B494C97A1E4187DAA680744659BDFDDA7E90 +4F425266DC0C71CD0F8ED8F4DEB160E7EDC187C920C2A1FA17209071CF09D6DB +12A6D46FAB26DAEC0CB76252A75407A384B1A940DB0CE4AA84326C41216FA39B +BD53BE40C1BC0825094CC1653F514A58B70023272AA294F1524000ADD4720AB9 +4C9E8D7D0571E485D0F9A5537C9BC63FDA1C96DF657B329974BE01E0A3AA9B55 +32B2166F18E007D7A3BFD180E8BBE9BB259915B6CAC64F6D07F6DF4C54835867 +A1EF37CD289E5F956FB2AF6EFE071A5BBC9E2E0B7EDD80826823E979CCBA9C33 +0048A2D465B9C4C5F881B00D34ED27809EC8B298965FCBA2A4CCCEE825DE774B +8517C2E51CB273C6B5CD2C1CB67D5C7971510FEAE9A678BD76B25FB111DE1826 +6B9F702F517D20D6EEFC034C21FFCEDBFF1FB56BD5B3ED880FA6A2E59DA48901 +5058A6D906A2F83A5E9BE10C5D7D08E30EA16FDA88207DFB4D07A0ADD08FA8CA +C39144B4500DC4C8BC3EBF2431DC43110BFE20B7A7BA84D6327A96EAA9658495 +83D2E1ED8DEF3F06085F1E845545FBCF23D32697578FCCF550FCB9466AFDF197 +A0EC02118FB1395796AA2C06111426BD4354452BDA743B9E3449456FFC996565 +B34C84C18B64F2829636D1E03944D8D491AC59CF7FF1EFDCD5B1D6E62BDED302 +9B5BD8E620ADE4FC3BE637015FA467302DD13989B3D28C451ED27E8562B0EB9D +F227D20E2924E21F6FA85533D4912E3D8FBD89741D190A30E13D8F0492DEF588 +3A2F1E0F5CA9E202F2BD27BFF0FEC2D80631244DD570C164736DC15CA7396AD8 +54B6AD42B9E87C64C1643534B208BFF8C92159B779D27764AA09270C0B8E8725 +4934B8CCD6C6B913AFDEA9BDB4870D4F885DB3CF7BCFF3B41A2F7B22329EBF15 +E537B75EA279EC1201C0FD74B4BEF39530E7CCA7711BE52ABB7C03E417741B29 +50DE08ECD1381FE9C36955A92F56FD639432FB79F9D2CCCD44208132DCF22A00 +C3F7F3765A89DB3201C10A13A8499CD6094A1E287F6803F1619B95F2AA389750 +D5522BF691F5A0F10103B29E9C97800272215AB91CDFF59E26F7CD7244B1F712 +53D07EB30F7673A2B9E64B3A7A43CF03B0760752ABD8D328C9B59CBB035D8D01 +0F96F48EF87E69280F7569C0AC77CDFD58FD3DB7D15886A78D5F66FBF660724A +1064C55ED7A1C6F4385DF9BA9C1F6E46C4BA506CA010FB9C7AF3D88519EB0530 +D52322DB8C0BB347C62356F92D52FCACF5E435884CD19BA3C2732E7EA12700A0 +202A61C4F4A17C517B94751CA878A8B12636B57FBE5348FE6068501A641446F2 +90172EA97533D9D204A0703E749398914EB4F6D66FE5C7EB443B9BEBCB12C0F5 +F2D325E562578ED38714DFDC07991F04C08DA795D56F5CA91527C22CFE3DBF90 +026648CBFDF95D2A6A6A6CD2ADF100626F722471227AB35B23F5790A662DDB28 +6D4C4CCE806F77C764425C3A64AD382D6406AED1766F469352608F35BE86CF2C +F230C6CC094B8E453ED2DDB71D67CA8D8C0C815C7D73F3983551629987759924 +C3AF2359B0B178E1379839145A213993C54F4266C709BF17CA4EB60556C3A720 +C9C3FEBDEBCDCF82288CD34372EC5E73AE2800A6E21AE4DEEDA7EDF4A3A8A029 +B2385D4F2DD79637A418AA1B9229D63FD761D8B119880CA2ECBC1C4E9C59414C +EA9388DE63EDC72D26575CA4B6137E9C808C41AC1BB04BF070AB0239CA8117AB +31AAFE41D4D81B343AA6CE40B33ED98E064A07E556B9CE048BEA0608F984C65D +B2173E492AA25CC84E3A4A69E94D39E513DB6ECF5ECF34E9D7387702C23FFC97 +9975FD103E0C908C5993824D592DE5F40AC5A44CD053FE9C7AFE25D481B5F0B7 +A4C4C27C402F62B2737E44AADF8413408A3689DED00797701B8FE0091141045D +570F6E197A49747FB29587BEA9A4DD53B72C10CBD83A11AC7678EBD9FFB57573 +3577267E9DDF86B47CD8723D52089D1B7994CDBE17BEBB18A80BFCB38CFC3659 +5306EAD3F4E4C0E7AC8B90D09A34ED82754468CFA7FA76A69ED1D3DC32A315C9 +938C4D349377CBBF264334099D608D4A3118361E80FA3F26F1C5D1774FD756B5 +D9C93FE747147AF241E2CA1D95C0BB03926C663F245D6B816DBD3993C30805A7 +8A77CD4DFAE02CB8D8F5E32A2BA24EE376EFB4F570B8ECF24A16C1D832FEAF31 +3800877DAED479194833DB92CDF9BA52D90E75A218215968241087FB2DF89C28 +94F60B60F626A61DC91A893C0DCE5710E1F1CC7A4C893148BA91DB07AD8B2514 +EB00C0297E60DB16475A70430C1C4D04B79C199360D9D0CDFB51BC063BFCD759 +4F12F31C7CD8C71B83023FA5AC825DF104E7E960EDE54ED371227BB3BD58FC82 +C49A2713E13EE483A7DA5199D8F3E33790E5F7630B53C3DFEA6129E8BDD4105B +3245295CD6A87B8AD6B5D6EA427C5ACE0A34316A5D9E800D4FFD9C20B536E243 +C094DFE8A63E76C23327EC6BA48E642211B597A099DE3502BBB42CE83E4FCF13 +505E7395CF4FBD9D26FA1D5949B802ED36C80F4D8B4027D71AF0B5B52DAE7ED5 +44C88AE2B9E08316A21BC9EDFAB25C71EF9ED68FA8FF4D0CEBA02DDD8E20AAD6 +6E5F49EB334509B772934AD7B8B17CEFD0CCFA97233E86BBEDB40BCED181E493 +3C0D512E78E9C8C935A67A8AF2F09E5BB7788A9FB8E8F1984A557B5B5DD86415 +EFCB13A45E2467F86E00F35173D20E8F73D5CF865F30D53EC2901D8D88DAD59F +0650B8825E06230EB1F6192FF18A3AD90DBDB4DE6A45CB532FF945B39BA6B5BE +8C172A251DCFEAE1538500EDA8BB89EAF95D0A3AD0F11C01C4117CE4E770CF07 +A83CA8E7A78CDA0E51324CE64C432AE78F2D1253BBE9E3E5C2F39D509F2DDB37 +23D9412EF96DEDE81BBDE950B600CBFE0E179B31287AC9378BF72CE1B659B172 +CCEA8CC6CAB18BA4C41BAE82597C575049A81E63AFD578A3BC38BA6CADF7219A +5C84C02BE5BF7D47B3AFC6C2C7C1B4E859752FD0E66B03815D6B9B629F39D1FD +AA6AA329D98048349CC2694BFF1B1818D351A2905024881293CF9803696EB337 +8D9A26655102BE1E70B4C96029A5946F66F26AE07CD2D561AE21DEAD1E735C6E +55620EC1E67E30217C58D2220203D7A7545E07F616684AE898EBEFB2E3487A34 +FCE657B621BD0016F04A50268C74BF541D5D2B37B9443E5276FF1E6A7384B7E4 +CCDCA18C2DD4747E06396C83A63DCA739E4AC9C0B7E07BC5607AFEB28B17DA4E +E97937C39E54BE2F0F1F1484CB3181E7FDF0DBE8FA52A329AF49BC0EB7DCED46 +1B9148D9C43856BBA88EA86C0F18AF1DC6EC9648D7FBFC214B8245A529CB12E2 +B70A467F378976C55F67DCBF3612721319ADEB9638915F5ACE15E18DCD4C9FCD +7AB33E623444C4AF7012E43DE8D2430BD48E0367B1B0DD324B02467FB2ACF2CD +966FA783769AE76536E283C01014D007F39D39B27B50FAB8D03E214120ABB1FE +BBBF4A31263CF9292FEBFD5EA5531B32492A316D80091D35D2B84B855FEC8057 +980BF4CD6E689DFA1AD007AC7D00E58A39FA064F1A625E914A1E2A892FFB4941 +ED1007FF6CA78A9B4FDB2B2B09642FD3FAE5FF6468A24DC03FBB860C0633E308 +DE64880A6B388D2A8107445B68093565C19A3C89E218F0C4AE2CA100CD86F02C +EB8B59E14F2EC6BC200833B90BC37AE5ADC382A64F2F9EC387B446D3936CD54C +1BEBFFBC5AE01699A9B1C4D3FF6798DF96DAA20FBFCD624D52ABB3CF653758F0 +68A26DD9AD150FCABEC4D7D256B6A330E247E974A9B7DFECE84E98E54618CC50 +EAA9E2486DC8E694A2379C2BCD150AA02B526BD08B7C6B8334ADE27782AED2D5 +41D9E89A08B59DE726515D8DE1064D0D55281FFD7BB95672E9AA72D469602155 +21558975BA204C1742C44B68D1DDBF0598B88DAA9F9A6BB02203D8A5B4FA93AD +A2EA943EF947552E1A1FB51228C0FE7B906BEB472B3FC93711051C6882E3A7B2 +7ACB642C6483BF6DA70956C3376A2B69EE49CA354C9FB91F6F936E59830D7765 +D8732246D5274F7B8280E6603A1BC78E0F7D6601FF87AD646E2618AB968B63E6 +640A8DD0F7738409FB72D0881739A99CF0C615A86E4E164EC7D3C1217F2FFEC8 +893D760A8F44EB2CC62A5A326E438B8C643407A89D6FDEA99D1EF97BB361A515 +4AFD16163C422ABE59042FD48A8B065949FE428ABF06784189FB98BE95AF38C5 +D937FA70022D20E29A37099DC71029427903A15C02689232D8F1A61680DFC7DA +7800EBE78465E7759CDF948D2C5A4F373B6BBBDC6847001EEFCC61B162CB4967 +03003B116000893992A1F7CE11EFF19061617BAC904A087493DDBA141870E3DB +1715592615C48A3F8D5AF86A0A78896392DB8323E7892C531F222E258BC2709C +48B71EFE8DF217A6783B6FB202B885062E337D6FFE16320EFFFA086D05F9A4D9 +3C2D0CCB6506174FFE21E6766F3AC908C64BD406CCE3DD583DC5F46D34E0E578 +F3581645FCD89506B2F2E5B7BEE2CC44BF89695F07A57E2CC3AADF877E72C761 +FDC3CA8DE3B0AF0C0455D48B8D6CE77B7F581DD22744960D6B58983E3C77E2C4 +F17F0EE71547FC985053C6A18E4A78B3FC20BC466B9316B044044027D126ADC0 +1B66FAD6DC720B7A800E6B0C362AF7BE28D66A7CD6E6C157833A7FA42B985505 +6D5473D53F45B17F7754C7786D7A0F3EE5A490B4CA390E652D854A76D5082BBC +24089657F34228015ACD4E4358C88F1ED10B3FE527F2EE3CB2BB0BF245E147BE +B5BC75281E49CBF4020B14B1FE3171D4CDBDD5272FCE3D594BCAB335B772AD24 +A4 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -6541,46 +3920,29 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMR7 -%!PS-AdobeFont-1.0: CMR7 003.002 -%%Title: CMR7 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR7. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup -/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR7 def -/FontBBox {-27 -250 1122 750 }readonly def -/UniqueID 5000790 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR7.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 40 /parenleft put dup 41 /parenright put -dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put @@ -6594,265 +3956,106 @@ dup 115 /s put dup 122 /z put readonly def +/FontBBox{-27 -250 1122 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5 -3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C -CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707 -9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71 -D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D -BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9 -F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939 -F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3 -D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E -52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681 -7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E -A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627 -C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824 -DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C -67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC -10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F -DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5 -EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B -C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF -C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC -E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7 -7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74 -2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6 -1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449 -672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6 -BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7 -8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F -E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A -A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01 -2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5 -E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2 -F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333 -5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E -80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800 -B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA -4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F -D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56 -A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C -4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8 -081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1 -067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7 -58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5 -AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B -653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E -9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14 -0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA -41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF -75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA -C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1 -3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA -AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7 -E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC -B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63 -73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28 -7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962 -64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410 -B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE -61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08 -8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08 -61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741 -2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C -BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6 -B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08 -22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98 -28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181 -047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A -8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25 -A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7 -B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A -6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90 -7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2 -9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5 -E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E -00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3 -9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4 -E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E -4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3 -AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF -9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B -4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7 -D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69 -EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33 -41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9 -722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09 -B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56 -D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B -82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29 -37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67 -54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC -796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA -28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D -BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF -0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F -422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8 -71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9 -D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246 -10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C -0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A -065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E -644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B -4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09 -C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930 -DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92 -60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05 -6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD -6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8 -F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A -40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA -F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6 -A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E -176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF -99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25 -21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5 -305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D -775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879 -16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119 -0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39 -F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8 -AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702 -E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A -ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB -437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949 -C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF -0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA -BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE -9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE -933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0 -ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E -F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818 -60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892 -4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD -FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43 -5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB -F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083 -EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E -CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E -26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F -A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81 -9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A -6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605 -999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D -72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC -5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407 -530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527 -10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72 -FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE -7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE -AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F -15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39 -81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543 -BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A -116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A -B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70 -55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC -6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893 -BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717 -A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE -A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715 -D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8 -A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0 -127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34 -0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F -7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5 -F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3 -61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060 -C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2 -C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB -402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57 -8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE -B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD -0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE -5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0 -AA2163A7E43954EB71F807F3175DD627390F70D513AC15D093FAC56259CC9A47 -5D3AF367496E34225891F2A5145A5B28CCE9AE78F43594DF41CFCDDEA3298426 -9355B641D85C2C86A8D3EDE4883C91619AE7D4BD40E2E3B5A498105E94F87E38 -AAD9EA84F4E85777216C2618ED7EF6DC0143D4CEBF75B62FAEABA4EE4B5CBAAE -C95ACEBE9C0F0B8BBD99BC3AE6BAB28DF0877BB6A88C35EE46FFB4D47EAC4DB1 -69881048ED8860131530C1B42B15D78A0522F4837C25D4A3E60B693B3ED0BEE8 -E3DEBBCF1432CF62E25FA98AC671D7DF7249E2C9C49E8E04597808B6C72B7685 -DB04E5DC46436A2D7CE9B79B179F11466459281D74C0E0DF771BE62893B93A8C -6DC7DC2E86187897EA907C69B025ADC8CA87BF7FB717727B1DAD7147F8883787 -86ECB69F1EAF891E3B726AABB623977E8AAFB83194C6F4169F9F60CA595A82B0 -5518EDC7653C37B9185B6F196F6C95E62DC9B2DC3193148EDE4E7A56A81AC0B8 -4044150DAA4CAF5FF529F614512499DED0DF71170613BC3955B303710BF078FE -BCFC6FF9FA1E8C65A43B487FB9531BDC6D5F1C7C1C1F126D3378DDFF803FCDF7 -AB7215C959EFD466B44FBDF4C545E89ED636BB116AB3BE61752AEAB24513F68E -B56AE59FDBC387E77C7FEFCF51970D9A2C3835698856AFE9AA99A1BF092B7DEC -67E2CA43A8EB8244B7FBBE96DC7ED62540451635C99BE8DB501BA22BD21A8301 -8CCAA6B14D5E006831466C6EB977ED30A06349CC0F8F8F521CCE7EF0DD6B2B3F -C193F0D80B3945655DED8BEB418DDED60AAB8BE58A59DF7F90B6EF6577F37216 -18A28CF0E6DC819DC3277A0A2070618C2127B5CCC7D51BE8AD74E9BE5967AA61 -A3B8DDA6BB3B9B997B32977AAB5B41789E3EDC74FE27593CE91F88067FEBD9DF -F66FE285D12710878EAA6FB978D6518350E6A4C261223158A7F526C2B8353F50 -35FD3FDC80D504EA24757791473AFFB30216395B9A584776F318AF7092A3DA80 -5DE8148438E7F760527DAA1D80F1562BA19D4463F482C252AE701B02E169327A -0407A67242B898A7F819D57641B2CAA7E12DE8201891027A9E9510AEB3030146 -218CCB8A159ED09A05805E457ECE26FA00719F767E06C499F2D09C8CE0C820B9 -00AFA0BEEAAE59A9B548F269AC63483F06A54AA89DDEF90C8D6A7029E3D9CA0A -FDC3E20D59464E2412C3E200A1698D6635A07CC84BE2AAD544A6E3643323FADC -F1881E0746D3BF132F680DC530906A4653AA47113586DC105EF74D932B981182 -CE9941F2A8F51889C7658798B7310A3DD57B136AFF3166C3AF9411FEE068A5AD -D73A8CB2C13484018FD5E5E7899BD641E0B24DE5EDB07EA1D46E474946396840 -0336F35D69FD49F611540FEBB1B1D50E81CD3581FF6F54D30E31340AC925BFD6 -3D719CEA9E143992CE2E525F4530FED9A3BCB79298BC4C56B12D4A7AA686DDC1 -B6D0D7CE3C768F5C68444D1E7CF805F1B79DE87FFEEEDFEDA8177757F62E172E -76EC7D31E6261993A02BC2A06CF36F6E627DE2888DF7EC50FF1AF6A1656123DD -1189E1919812BD2EA1FED2A29DD82DA3468D84AAF4F473E765163C891835D6D8 -D02C4B68D7377A1837A1E920F8D80D7F28A0518DF654C7134CB40D4BC2688EFB -B332A5CED0DB34036AA3D6B880B15AC7CFA0B38DD268866862B0251E20FE6940 -5CB0154FDDC9D05F4B94B3074123154A5049B0E67A147237E096F1AB111152E9 -F3F34890B9F9B08B1F67900B69F08A1F924084DB365497BBF59471EDABFB3A92 -7081FEF2BCAC96F98F8433568D60428326E64330032BE44DBDAD331930BA67D5 -D1EB57534835EC03CA9D3EB7B56D0C74B4B0E5F8C1DBC6D4BF76005F713C56CC -68BCE276AF9CB1D6D55FA6C0E1C68A289AE99B37E58A0139A736E9CE72598EFD -6653B06A21166551333852F59F53FDD304A50D61295C717B2C939AEF68A72D7A -F85EF37156C6D94BAEAB0AB5726448576D00E1C513EE2E0F7B172107E89E6FC7 -A7810F0C25AA309F47AE305B0C4EC9327F66FC1DE6EA83EF8FD10C4833DE5A52 -677640DAC03F42FF79823E50513AA7C034A864E9A5C69186555627402D5372F4 -D9075C46722E18D6D654F48C86AAF6B630760A80038E0C2AE13652C59F814602 -4772D51E6AF2CD53FC4127A3DEB5793395799BDB60DE2F88245CB65620110BC5 -24BF59AA9959829A75591900CEF90DC7BD537BEC29CECD2E8051F0B48DDB6FA3 -139A81A5F69E12A22AFCF9B90F0268B3B93CF132805680EA198D969D5BD3213A -67B9F036142391581A2F3104F9E432FC5FE999685111E9422ABF395F6BEE3DD6 -10AD4D7A1CC4D193B62242AF0C2467C3C119AFBD419A18763DCC2F1D137D2AD9 -886DE8DFF7E5BB9A73AB728B097AC049ECB536219D8E9F593D544446B75CD82B -D5BC5082FC08C97BCBF1DECCE762850C5565506DE97E86FDB4E768799D4AB6F5 -6699B66B77AD70115716E65DE67FE955E5F50D51A02A8C52C28F17E3DF5C8196 -3DCED0010BAF193A1BF3638554506B964F42E3FA5D37C61379FF8799F75A25A6 -A5F803B293B8FCD179CDD17485B274C091B2532721624D78F23CA3D2037CE453 -90D6EAE4CB01A4417BD2A60390AEC295D4E4D1A99F3E8252EDC1EACA7F494DF5 -1D1BD1DFAA70450EB36DF3DD36C1E4E2F67FAD1CE6B59233D06FD607957CC5EB -A1F9FF6940970380856AF7A9DDDAAEE3CFE2C8AB94EC384563A3B3B48684A3B8 -1D96F6E776E57C50B1F6FA1610D5BAEA06BD8A20767AB4D9C540B9CCEE743111 -FE6A345CE87A3A7AC16D7B29DBDEF5B8BE0D11B4401D6201CA0980F771183B30 -2FF59E832C983FF6C5854A48EBB33463BD9D713A29A9CDC77E96B20479A04F15 -9A0E298F410AC2CEE56D496F0897D6A708E839E7490B01DA09D159D8F4465B83 -9ED422ADF9F1C168EA1635D59F2FC2501FF26FE12B2A8BF836478108FDBB116E -27A6A89870FE823020F142F330301113F199F2E8DA038D564F0AC41D573626D1 -0254E82F0FCCA5B324069C9C4288D7C7C1BEFB0EF09CD1DD824B2EAA1DE5F308 -34557519A4B3F2610C2568FEBE6927B1B98718B03AA19424290FBD68575BF8F9 -C69D72C4903E52B1DCB5756BBC8E2DC16FAA6C2FC413FEA7A24A16D6F79B80DB -AAB0BC4276F1C8DD150A8F2DA8D10DC0E54914D82BB4ED55DA114FE82910E4DF -25F8D7E7A1D976317701268C8569FD705F4FC15C4D6463EC42C79E281240F36D -FFCD67FB5766665A8FDA8ABBDB71B9478BC66E87FBA6F7D5FB8DFEA87389E757 -D0488727A1DBE54A83730B8197C4233126D010CB22519CC4DF6E7D700E874135 -53A93B8D816E86CBE1123328BB0D3C078351434AE89750C22DAA8951F4184282 -D98FD531E2640EE63F097AD7139D08BA931C7414B7B645CEAFB80500DCD5E833 -898DA3686CB0B4A40285434286A868C7A125B63F0483CDBC588906872E1AD1B9 -C187A5FA48DC171F325B8292EAC7CAC3CB635D564A43AB7CD3D8D67B93CAED2E -65399B123E9214CFABDBD211400DF97C897592D21989102989CDF2D27BC06A42 -661D51896E856AF0057B +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D +E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8 +47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C +8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4 +78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486 +1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E +01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B +C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0 +F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30 +8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF +A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7 +455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2 +9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105 +EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B +52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97 +563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F +0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB +7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1 +0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4 +1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4EA4754D5807 +7BDDF8A3912628C7B3B52E21D65E238889EE465FC106AEBF048139D1E73D3C19 +99E4D5FAACA52C6E94AD4D4B1D1C0441584AF004DADE6DB4F414044941EA775C +1D43F644E5AFBC7B6E4336A1B9CEF0B78A5BF030CE865305BF7594FCC7B4C376 +0FF4C91679CCC55CDC3EB6AB20640469EE2422CCAF08683AD4FD009AC62ED596 +B5AEEBD5F39A29A254D8CD6E96408E9C8B9FD6E86241AB555BA933FBB5099F8C +862CA1E77BA070B09E6C7FE14C587780C4E4C89D27930CFF6006F513AB80EA39 +5C1FE2E4E1D6F001745BBEAD27E03FC6FEC6259F77F1EC689BEAE3DE3FEB3385 +6A9D78399CCF249222CF413E5BA65E6DB320B5BD146E5B97FA244A129FF29F6D +208463381672EBD8AE05E9A2A4267249BF81FE14A6935B613E1D55F7DD8254FD +9E6148FE317EA41C052782F00DC7D06FE209078712F325FB43729A88B84F0872 +3EB2BFEE56AA1801589CD4C4083802E06F5DEF7BB3A1246EFFB32C53189E9FC7 +E751A538460EAD5BB8F7A01E607E56471B69FE1B40900B4A3D758F2C5152AEFB +0877D9E1B0FC5B2D0CE572D60E4473AF4B94E5250F4A22137CBDFC2037E194C9 +F59E578ABC6715686D5C96C58ECAC77351E2B80037FB2B7B9A5C6432242473EC +552F10E64C4336C5F14DCEA2D671767FC0FA1074B75A42B27B50AAF638E4F7A6 +00CB6295E93C1C6015993360D6860DB8DAAAFFAA27D0C8433FB0B83667091613 +B47F74152B6F88E5BDAD6448C50BBADFDA14114FA71471A2FD906D182645457B +1D2826461416E7DD1ED49DE9EDAB68A4DFB113B3232A485DFD552D8C1A04A79D +860D09202BF17D7937752DD740F6B3FF21EDEFA789B452BABDEF807D0572A6EF +A260B18F59BF3E2B623467417E2165C553149501F47D37CE10B0BF7B799E20B1 +13E073913FA428095BAF9D67EA78BE5B6EDA7B32E1A0AF57CF0B201DDDC57917 +0F7571FADB8B7D74DF9536D6A9D91F325A1ECBD4F2F066DEA24B337135822FC4 +8A7325ABA5259DD319AAB5AE674EECC72BABEE233A78016AB6744F90CEED57B5 +24EA40A8E85275A6208635A2B11B3D9BC4F4985EF7FEACF0F80E474EB27A55C4 +3632705CD2D36FE7E0882152BC8E8CFE8E94F680E99EE0F1AB73AFA9D122948F +2931660658638626BDFBDA3C5D13E11FF05532ECFC75EDAEB072C58B105B2F19 +B0FF1683D201F477F93B706CE071EFE902826655D12F9F815826A0134734FEF4 +9E5D8F5F3F51766B1C0CD90BE39141132BB73E4CAB58B4BA41C3430CBC9700CF +96EE67467ACA6BC37FFFBAD54C8E5FA4FDD4C535919C10933F0FBD7AB2E86F09 +23273AD4008A3243D0A4F8EABD848E70D4CA588ECFDE347B9FFFECC0370E2617 +FA0C9CCA1E9BBE8282C287F1C0BD651AC105DB511FB516D476DA6D1735FF836B +5A11E1B15F8EC5E3913F8FAF0E189BE0CEA893A3C7462E8A110F776B3DB384B8 +7D3E65D10866B4B307FE5C679633658C7F20269660971403948648D71CE81744 +6A96B2BECEE1D9585625BC0B0679C9228F1D73BD34311B04E72D4274ADE894E4 +A589C362F7D61A41F50E60833C881FA3CB4B42A55C5BEAA4496E63AD6BC86B78 +79825DB00F5C79C8DAC7498E871EC58C4469DA0DC18AC3D644AF5F4E5DD7373C +0F6FFB807427AC345A43768E1F83FBF9166BECB3008874BFF53F26FE4918A1FD +8C9AD07C2194E572A1EEC540CAFF8C980F4DE977E5001EA6B5FBBFBC0E799FD4 +DB3651E12E374C6B78078A7A95EFC3DD3AA148F6FFEB3A28C4B44B9B083ED977 +9DFE79C058D8EBA098298FB3B199A358192646068E70DAFD2B89EEE2210C2ABD +B04053ADC0DFBDFF4F791099057DA8EFA7DCEAA920A8C60CF6181D60B199470F +75A8E7F7D51DDA114D3F8FE5BDFAACEFCC30F1C68F55E4E8534EA02E43C28BEB +9B61AB18826AA5B238D241ECA8E948638B08B86F9BEF15D9A629D9B5921042A8 +7CFF73BDA507E27CA413512FE4A6F1EBDCE35B3FAD6B1BF86BE7090A65293616 +26B8F7409F9B7C57EF3C93ADB472BBDA18284B94E1AFC44412660248657BEC09 +C31285F55DF58F1307F4488F25D0B426E17B3A0391224A026EECA9B213A4956A +524148E007CB43AD23B9E53A109CD459122A5ABB26241A9247F5DB7574B888BC +5BE6908235E39D6AC110EEF5E2B44C654E1E883F7828E1975CE04BE89126D48C +D31377C6A8473399FC0EAA5DD202070BF5192D6A62967749EE0EF9E7DE74BDA8 +ED6B769A28B632BA1164C0BB882C0F97F1183340133B25D28748BC440F564C88 +6E11742881E406C2FD19014163B315FFCE52E436E62EFA8C673CF2F914F8816B +9845BDB0D7B91DA0A8E932F10C6F406EC7ED11468AD91368AB40024DC0AC2EA5 +41A5EAE1FD454F741E8A3077D31D19C295E88EF67B1F0C0822CF549F8B53E1F7 +97341F232098897B101051618E5AC8481BF579E28778AA5B92F2ADC1D27FAB41 +05B9E1B9A47F5FDAFCD959943406F74E70B477DD8A6112C765766064EE9F9075 +180A3A20BB356A763AFB7EE00EA1E148F3B7195B7C4B150732A8DE4FD93F71BC +D02B8F18BC083A61954C55B604EA481E22D0CF470952EF1231CDC55DA016B329 +3D31148CCF6B560C37F237296A006A931239CBC65C7A5B19CB520C748CEECC25 +C2A979DDBAA9730E7D434C7DB3196C48AA09D98AD060B79E39F31E3E4FEC9B90 +02AF68360D8F0230CCDCCD8CDB8F19F1842B7BDBEEA68E36FCDDEF6BD815B16E +7523A16E3BA4D8B620D4949115BDFBABAE5B2080FD5166CC40F3BB653BB05FF6 +FE68B727869887D003D7B5122AEC6F3DBBB4D4DDD760B161BCC59E57F92113C9 +8D564B068A57967422468EFBE9D3C0D64E2D907BF1D7D47EADF66CA7462E4144 +49CDA986B6EF29E4CF0FD39E985C42B992817610E2805D818B9EC379E9CF516C +25F632EF1D7BED3C569BEAAA07D38D5313520B10331D8A0CD039942F712127DE +23DA4BFB725D725C3D1A9C1D3C76BC3F34A1C7248B0E0C5FF03C0728929B04F1 +5E8A4AD8B59219CC9975CE75B9585D65CC4F51BB045EBA30319C6BE8578238D7 +1BC656913B6579BEB96F5EE8CDF9188121A387FA04E4CD7EAE9FAFAEEFBCC17D +AD97385A3FE61B3485A0D154ED39895B6A219346065A06D8142ACC5F54818FCD +EC72240EB04BB6F4F03BF4A67E17FCC7A96DC32672C89E21A13DEFA4FF135552 +ACC6237BBA705749F70BEE49616264B069F841BD2025E2424C20DC0FEC1A32B3 +14EC8D33435A17BFF9FFF48BE29231C7E72162FF4888E522B3EB7813 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -6862,41 +4065,94 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont -%%BeginFont: CMR10 -%!PS-AdobeFont-1.0: CMR10 003.002 -%%Title: CMR10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup -/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR10 def -/FontBBox {-40 -250 1009 750 }readonly def -/UniqueID 5000793 def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY10 def /PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 13 /circlecopyrt put +dup 15 /bullet put +dup 104 /angbracketleft put +dup 105 /angbracketright put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A +27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF +5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 +0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 +DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A +71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 +4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C +515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78 +253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999 +ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0 +CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878 +03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE +6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44 +426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF +773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01 +476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185 +26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742 +F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803 +1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749 +49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061 +C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E +F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7 +B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15 +EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02 +579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318 +9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0 +DF06DF8F5E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put @@ -6906,7 +4162,6 @@ dup 33 /exclam put dup 34 /quotedblright put dup 35 /numbersign put -dup 37 /percent put dup 38 /ampersand put dup 39 /quoteright put dup 40 /parenleft put @@ -6990,783 +4245,519 @@ dup 123 /endash put dup 124 /emdash put readonly def +/FontBBox{-251 -250 1009 969}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 -569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 -24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A -2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 -8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E -3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 -D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 -D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B -03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 -767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A -8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B -DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E -94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 -22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 -72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C -8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 -344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A -64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B -07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC -1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 -78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 -CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 -7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 -BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 -4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A -5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D -EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE -EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 -4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE -0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 -C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 -314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E -DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 -EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 -DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E -DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 -7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 -1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 -69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE -EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 -7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 -CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D -38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 -22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C -0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 -BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D -4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F -3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD -B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE -15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 -849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 -FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 -4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 -1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 -84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF -7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 -CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA -4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B -3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 -F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D -F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 -DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 -D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 -56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 -8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 -59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED -49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 -87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B -8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 -C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 -D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 -D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 -F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 -0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B -5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 -229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC -17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 -01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 -F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 -3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 -689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 -4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F -A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 -DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D -364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F -7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F -26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 -43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD -8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 -C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 -94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 -C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 -B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 -4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 -7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 -204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE -B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 -7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 -279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB -E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 -CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A -65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 -BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 -6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 -B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 -63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 -4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A -A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 -67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C -DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A -5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 -C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C -9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D -B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 -963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 -D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB -B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B -72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE -B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 -8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB -3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 -668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 -ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 -69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 -C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 -3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 -407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 -11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF -2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 -4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 -2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF -9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 -CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 -DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 -0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 -5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 -9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A -EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 -09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A -2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 -AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 -324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 -486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A -EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 -52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 -9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 -4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D -B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 -BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 -6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 -B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 -16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED -E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 -546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED -6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 -559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B -C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A -ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 -04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B -7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A -8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B -A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 -94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB -C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC -41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 -7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 -18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 -9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD -E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 -5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F -4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F -E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF -9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 -89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 -7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 -AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3 -3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E -61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B -F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F -D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6 -652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA -07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11 -6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB -EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2 -BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77 -2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3 -9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B -B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E -CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E00091A2315EA8C071AB631CCD -04C3EA77541646B7F9D70B7EA564D92A65C4DED8966517660EFB9F77E172CD8F -1B5FA83270898C3709DE964B0C4A899418435F92C13E94F5C1C5B9D7DF3E8793 -5F9E83CE1430E3EF275A5169C1005B864AD5B7ABD694E7D77B43D157B6070EAB -843B16BD639F53C50A48E040D063779B47F67AF0E115947CDE6A0C9DE8196D3A -E61C1A57B150A5B386F71C863ECEB8ACAAD9A9B92C336A7B118D8D5B1FCBD698 -2637028A7DB25D4314EE94974E09C2413E9C51A2504CF5B4ACDA26CE82FD1900 -CF01D52F946CDA5F6434B8BD541503B1A1BDA72225592CEA5B55ADE52666C150 -B0FFD1DA9BBBDE3C40E443C917C0A91444CD19BA8FC48C88835F09F35C6B43C7 -C81B914BB437E99E48FCEF5984A0E10096DE7CBD0AFBD750D7BF11B5633DC364 -6F547C1BB5DC55F4F2108D1ABAAA7CE8CAA45AE2984FBC51954AEBD3D188916B -B0C5FF9339A80310E4A90B3E8CD587CDABD9D54EA413DE4E7B777779C2022362 -96A9052378EDD3DA31F05B94979170169F1B43C60BACFAD96C76BA86B66DC30F -BB57A48CBCB99683368A8E087D65343CD9DFD9B28DA91EAA3BC9FAD76337D87A -047661444966D02502C915E2823AEAE71C7640BCC8AC451239E34711D34A753C -44D5DD5647148520F4B28C97D8FF00A10B1D34592A32E90CF70EF4A01F9CF8AC -5EF9C240EB792EB337DFED508E5C91D91A3F16D2E067208120CD058F4EFB98D0 -3C634F3DCF13881E7135C3FDC75362064CBC02FE1DFB6F49557DE90DE0C12A1C -AA5F609267E04AF24404E050CDB6C3D6BC5DDB715621D4315D4D30E900EF3A5B -03D6524107544DFAF0ACE84F19C2119ED9CA58E88C81FCB5C33A327A8DA8CD1C -BC87E83C7AEA2E430ED13B6F1B9E6045FA02C88B025D5CE7D6D191883B928672 -AF8E7B0467A90A15680C1610576D93E6492A99787D4E0D49A5306DB04502D5BA -2E9DC1DC55365D68F27B9FCC33D55FF35C41EDD546F479E7D69B54B3BE72ED0C -62C80AFB76758B53337424120BBCB1872EFF9859B2BBF5F9B82BCB01902D7268 -65B72FDE5A7C8DB2A7A03C9E8646AAB65F552E9342902FFD80972B325816F999 -AB36938B6B88F8D84CE7EC8B95C459191023377A30F50EE2D9C8C41FCF685389 -1F4BA89C1547A41B767259CF565ADA5011FEA13A782B566EFE3DBF496A99DCC9 -543E261859EC309993B0F727286B02F19048772DB89984ADC5EE723C48078B9A -79E0B93DC55249EB4AE55C975CF75029C56E88707079C24297C206B35C0F52EB -0D3BDD760EAF8BE7BB9A41E778AD0ACFFF1A6C37F1AE3E7AD1990C7022449B76 -7A23C9B0CDEB4626B42C96306A9544DD84D640F525DF20EB1EDF35AE470BCD3F -B4F384E51CA45D81C3BB20EDAE1B6C8B109BC6C12B8CB7ABD01394E2CE389A6D -7CBB108D67C913765E081FBA3E79CE29FCDBA0850408B31A55D6FBF2DCE01478 -04BFA09E8706E8C9437ED67CD32A37E836CD1E17F99EEAEFE28541BAA7AD8145 -225393FD3EF8D033328E19749F7D700E64B829F82F3A7C8499B0FC557C3FC783 -38866397480538DA97E4FB6C63CBD4EE16455CEA2832C5EBC2637574DAA16916 -B8B2868A63B44BA3EC24A6314835DBF2D38BAD05F14E96741AA7E4BD3BB7833A -D1C66EB4EDA345525F2447BD1AC8E0356493282EA56C6ECC81EFF7A74E1174DB -AD3A842B36E0B339F2F83896892EB69F7ED2BE72EBA0BB60C59D40F48D09320A -591CCBA48D1D05BFC34D0B31735BB9A6C138E8615E21F1554432DEC1E25C073D -0D16E9D6F0255D88E0E87308560F434CC0E7DDDE759166759765DEC82366284D -4BC47C4DA087781B275B5711FD6B2279E9D4CB734E1ACBF2A59249A4937E75A3 -79B263B6DA1A3516E90DF279D2D5E0C97ECE4BFC98224B9506D90AB34063E508 -A0C4DEDEAF4ED82E1BF056124045843102761545870DF537009C00AEBB04D578 -FAD4737E69DFD916065B1C34F194BEEF7A2CB60CDDE431A0349D36A979BB1884 -3C388AD5EF92932B86E5FDE6558AAA21C046DBC85DADA57DC476C1339AE9DE58 -34371106FFEC2E1BF06BA289F4BF1233F53321A57879D8E1AA7A5DC71B8F705B -1AA8697A500C94CCB3AE355200EFC6B9FA03621E0543A84DD889F23C85091CF6 -8205E2650FE6376557B19A9664C864AE880125F06EC5FFEE834138BD7BC43BE6 -86FEB49300C39EF66C73814880994B414731F0AA45DF19EEC082EE27E72DA39C -71EB0EB707D5936DA04EF89E6900E73866F56ABA3B6F9DB5575462F1364A7B16 -30CA0BD02D13D7875008CEECAD3A540AC08C46261501E9CB24318536ECB3EA76 -42ED1B2A49C20FD36B31583A2695B590A0496A486815A6150C0BC1335DB50A7B -9FE25238CE3295507729B4FD2D2AC515EEAC8E07578309FD7351CE86D4E2DB76 -077BC2119BAB40577875000A90E147F150B8E98FBBCEC64AC7004C28C3C7CB5D -045BB984A519FCED4413A9117D008FEB967EBC92504F51D3EEC517BBCD2688FF -913D3F49F86D7A71BDAC55FD47082DBE0067691AAE981F94EE504FA1B79DF008 -11BB5237A95479E4E9813350499ED01C6E485D399717A3AE14785C8C69D836C4 -5624577D5FE7FA8F4381A343C8646CB7E1197EE9CAA4370CD0AC9ED69D15F816 -E38BFD18D6DFD222EF239ED19B1A5E17BE8DBF06B24BED099BD4ED00A3A0AE0A -653C08A3EBDF22FEFACCA5D723337B886403B701ECAB7A2410D91B2350C9B349 -B72DCBE46913459F089EFE0C9232665F5E79B5E28460788DD1ADD12F0A4AAC43 -2A02E6413AD94EE3D2A4F58F34886F37C2D18213DEA42B39B6759C59A2CB5645 -DEF5BB2CE952943C7F8B51B62396F4A8FB1A4042652967EB4F063DFF43BD4DC9 -6663256ED43A577B77F81BAD98DC1344787B04B7E09BECDA35DC497840DFB401 -91270EE3BFD711367F67F5F9AC09ACDBCFCA598C1C84F3704BDCB50479413FDC -C1CEE14D1A67BCB8C1E42CA3858B13E52C9309AAFAA6F9EF687CECEC6ABEF325 -0922B3402092CD52FADA2CD2B2BD502D6C566B0425559FCE9A00386490A8A577 -3046930B807EA00345F19ADEBEB7DD581C8E5A011C46D4FF59909EB59D1EF237 -0C2A49669AA4339CF26E4199D500F52589F5545C25DBF6F108411736DA09E872 -2259218D7B8DB91740E954DCA4A6667BB22C849A72954E3754B1C47243745AD2 -A3D57CCC9E35C93FEC0118A7769996F884789F272CA43BE6C9B54D726DEB10BB -D456C161EB13CD1DF6AE98F6798010F76FBD8D4C718A6ED15BCF2FBA48D1D361 -6A63D93DD0005779B0116F8B148DD87504652967C67B4AAAFB9A3C72EDED884C -A932EB02F3447CE092C85223E50F1695E2F60775BB1225F94FB7236008EEEF18 -55B9A48D28BB363416C0958F01305C9EC94B754BFE4B548B3A650A50808E3159 -3A54ACF96E55CC78A5E876FE6EB0B3A2CF8C5F604E26409B80AC6AE54B4C3C03 -F4F9B2CB5B6DC32495D5247D877453098B1CCA426DB4BC12DEABE00DFD67D999 -73200D0779A7FC96645630504CB449E94C749BD813E87844C8C9709112938ACF -9BB26060C6DB9E198E1F5792D3B9E8E52ACF97B1D8E1021F51C47CEAE7F14357 -1C36769B6559E8FCD460FFB21007E49DF356C1F01CF78E6D002A07986293BF57 -C7C11141EF873A4D7DCC46BC1E9FFED9B1D45889A21A1204D6ED9A98ABAA446E -C0821754B7FB62AAF8178718AF1A38804DADD238C05F4E80CB1B5C5151305C3E -0878838D31234CEDB70F36E38390D473C3717014E77EDFA8DE1F54F2FB3B3A40 -EF28831334E1E727FEE5D60CA1B0784E9865B00EE8B410B6B921EB1A029A179D -B0D892C920334E62A6AAA8137C4B8A7D6312F3E8F27DAA9C755B75CA93BE048C -E142E4743D5DEC93729D362EF1C610144BEF6F00035EB90645567DEE2522A50E -28BC0AB58790AB0459CC00FBF0EE23940CB5E2DD650908EA1795C412FF9DF3A6 -109FDEB484A8B9100A315D31849F0AA9876F8B9CDD64765EE5EE2483DFDE804C -B12FA6B0EA6F74EA5BEAFE3D947BA16CC916C66B17FA3B8C0435161A714F0703 -88A37E7A9FD889FA29952DD52E3BA7C864937143FC6822A658871C88608A9A9B -351FB780D11B72D1331D46CF68E7200F0AE4A82B64C2FCFE145F8D5AB954697E -4F68EAA114B2B4CE8F32188E9725D8D3AAAEC150959C74B9134DD46C874040B8 -447CFF35B8CAB7349313C74D63DC4518196CFDA8D65CFCC1DE2CC2DFD4D24FB2 -CEBF1FE1C6ECAB54588A59E739DBEEFD716ACEDC22CD69ACEC454312EC1DCE03 -8F8B740631E360AA6DBA1E54991EC7922725600CABB41F639DD64D65594D5BB7 -300B2A77A5CF0158D31439C030C0B76180F42BFBF941CC362A11E0BF7854BF43 -230EF10B6DBE472F83389D740F5BC1FF862296A31BA59D2F24C230F828A4F187 -27A2C122F5A959F052D673C8B1966B0AFA70AECAABFEEDC5718176B275775201 -469C9D0A8E6FB7A4E67284134AB9975585272C47BA5249D5A65A1BA3ACAF5BD5 -71E5DD513FA8FBE2AEDC6269D84F7C92D2BF0CA570CD6FC067FC70DE0B05B11D -24D09BD925DC59359DAE2A50778D5252CCE225E4259AFB2EBBC09D2A62111101 -B54DA4D4C40E586B3DE6C5FBCB5F3199E6FC664012F7921F36ABDC5F9716ED27 -27A9B86D2316AC08788E5FEF463E9A29290122B3079FCE6DAC04BEF74FF305C8 -937B89431F0276FB5C0FA52C0B89FD7E5700FD6DB73F5F5D88044A8E85DCBC79 -78288260AF33B936534820753AD0B50993DCB4F814A74AAC2F624BA1A1A7B887 -DAE15C2AC585DC80F7D4E0653356DDE43320C5808523E7E244731A2B4E9EDB15 -34BB3387633A890262E6F04269C3F88EA8F21701BA79100D53E3A65238116DC6 -A995416707522777B659F9BDC274B5F131855BB17947C96D69DBE729A7F145AB -83AE8B019645339FBED1E16EC4D91C6EE3CBFF27981D021DDFDE58B425C97C1B -A1AA922020965BFC43E410DCDC68E6D7717468505130752F783170A780ACEAD3 -5DE6A430E2FBD48F8F196A31CB1590B152AC35A89F8FFD1425690EE6AF63DACB -18EC824694A4A5A098353E9189BFFF58AA0B4374C7BCD23C0FC9C99084346BB1 -79BA1CEAEA3357D37EA76287FF754F5105F03E413B533FFF2AB5F9ACD6805574 -B1DBA7948E35DBEE83C266C483814FD44305A1CD26CFC8D704C74459E9B192CE -6268449BA98DC453D4D5A9C192F2F15EDFAFFB835DFF2E1C299AA4B4666DA7FB -5B1229487BF72AC79EFA9E24CCDAA15239C4454B8FA64E9BECF937289DE014E5 -0D172D0A4C82DF0E16BA13E4A36F3FE4D5B748124B96C56887AB2440823AB10D -E547FCD4049B4CF8B4CB7EC75A8D7D23E9C337D5C8A7FE589A50BE1D7C4807FA -DF4298E4FE85CFD3791D2BD432726F28957DD9B359A929F49E9C255A7A58A123 -26D4F646EB8D8B1D8A2DA0BB0923068B2CC07D3B07F2D1763955383CB37C3CDA -5E9ACC4BEEAB36C0B873E879D2A069E741D13D4C091C1A6BB7D1E5C1F912F2AD -31122491E2065129DE8B39C5AF2CAF10E866B213702DAFA29ECCE019DA996600 -A85179B373740423C898C8310455894A64DF87CE2FF832A30FC4059CB4A48620 -0D979FE36566B3D2F799768DF5BC9A8EC197EF6262375990AB68D454AC3CD06F -4CAA88407A5027AA7322E9FC5D41D64223CA3E6E1CB642596FB6CD125ECFEC31 -5F6B0D78A77945269C0534E0CD292244A9A2263D9D4411CC8D0AF68881B03E2A -1251AD9975880A9233AA25A5E30D498E6AFAA0B043C0F4DECC45DEDC27585B91 -3322F6842E7F151294194AB643A4A25C62848A1414E4CD4E15FB0D54D5880803 -825DFDFF6261E46BD447D79D0552F7DD037E8BB1FDED39B4A940FB08C350B3CA -CEBAF75C06A389F43DF2AF17466A73328919B92F5EF79CFD62EABE93AFFE3655 -B76A48A85C75AA37A215135C3B4FBC9AB4BB16F02B59B61D6A182C436EBFF04A -60A5EE00B1BAE49BCA5B0B604D14829E1D9D90CA2D6ED236E878855AF974C928 -33F1C305AEBDD39984D37EDB9CA91C8A4161D90DCD77D4B08BB02B8571DAA306 -C04D0B873D90EDD39601420F2CFF51D1774F905242288CA8A33E9CDBF006B03E -74624C1ED85E11369BC23030BF6B196EFB69B3A084C2F699C26ACF57E55561FC -70BFA8A9EF31208573ECF54696E6A17913936A556EF465AAB7ACF22E5B038399 -B7B345AB415E753F1E974B2FAE3A25FE244C5A9566221AAEFDC12E0AC5CFCE13 -076333BD4AFF78E52CC5715F0302699CACF10286FEC4AB3ECC72C4F28D30D882 -00E364F76006129F2582939F84C1FA45863CEA0E085436C3278EAF3CFF3F4EAA -939708A0CEEBEE0143F4DA3302EABCDB997093FD7959B45828364ECECC25A5EE -82FB79FE4DA7BCD131F711C0CE9ECE9E3685868D347A6040125CA5B06C92777C -9CF81AC7F3F505C1ADA811E00313A051DB8558F2E61C5384455C675859515088 -1E14B8FDA85A765A3F4D393B9FAC1A17102761D682954B6BD4591417E0B27042 -E2BCECDAAB3EFD7C838C93FB8ECCCA0F43CFF9E38F4BA96550CB76AF11170CCC -E794DC4B17714C4CB01FD815052EEE1BD0A2A83EDD0363C47615C4CEF4F47ED8 -B713F4C214214C85D37722EFF691B14D83F1DF95575EAD58EB47DDF8F42D2FB3 -868574F658E8954EB450A0A715CC581151FFC0615A994B46B949173DAA93C521 -038D74457A3F857606BED280DBDA067C9DCB03566EEC699B20811B098FB1F976 -5DF4E106678D5F15D430072C84D558B0E7E2E5D0A24661D7F9EBF174B514BC2C -758328A6B51F38292B5D3FCD8FF19ECA27948BC6BB400E84ED886E83284D7443 -985BD4EE97396C99CD50B07212F3D82FFE4466603FEE79875D1D5BE76134F513 -E4FB7E3481B0250FC9371F690CC0267B486CE0A042D6F222D20844D7D0DB59B7 -69D99804F1FF7CC0A2A0431D10E271E6112E8CB5C62D791F005A5BC2C3E230B2 -CC9E1DC9B979E4A59BF7CD650922F21520BC93401A896933E49C1479289B3275 -26D3F1A1AB48D73BD3AE4527CB5B09934ED4E3D87F75F85AA4AFDD6CCA8D6537 -B1EDF84B54E787946F236D9445BACDC6D71C16E988E26C0A2551542053DA9B06 -4F4AC0C639B8E3CE265154B11B5772C53C8A2111D0EA50C2F8FF8AEDEDF08DB7 -95C0C8999A540BC995D407F40A724F3CA03A332BEB4FF749B042DFF6E4A18D01 -6A7DF74A10FBD566E19733B3F894548055E0293624CD6D7DBD48689BCFAEB373 -4DC798BFA23962B20942250E094757B3C7B220DA49A48735D69420A850ADD566 -F452F115C97162AB620EE152ADFFF64572AC827FBE28B95D2DCDAA94CE0704EC -B2B526FE47693F4AF4B7FD3731CE9AAE6A4C9714FD83F8BE55450839461559E3 -2D53E8CE7CCF9689A380D2B5242CAC347DFC26E48B14F7D190311CA33B98663B -B7DB19D295F2FC66FEB82A5D7BBD5E319D12A7A5F2432F3A68546AEF78128262 -B398DBB9D6A52E63C6055C3F14FA8BFCE93F003B2DB951B8ED4E22E7DACA26FD -485B089DA5D87446BE5C2314EEA2CAA691C337447BDB5C9B3C7CD617CFC89D31 -C5CB1E87B6774B03454C599E62BF8C8E1957CB549713400428EBF8B416D1BF82 -5095F2A159F34AC357A3CD4CF31A84373FA7C78EF6A7262ABF43A075A5F6D24B -618AC58D3DE242E5D4660BE13895C6E269F7CD6E1F804C1958566B8FD8FECC0D -D537FB544278D202880D0EBBB381665AB77ECF4D059C83EDA32AE298EF5BE167 -F6FDDF4C32B28823B651960967935BE3443DD5FF205082FD61322F1FB69E5CB8 -5513AA71DE8A455F8B7045C362AE6FA8432A138389EF79B3A17B34B71562297E -F2F10C17D59F000524063069FD1878D05AA1A79F4BB6F33C8B3124A973DD4A1D -7D7AC283F54B9FE417532B30A0D65AEA2DCD564B36BF4D9A15613A5E43BBE866 -B5CB6E6F52CBF3969333F31BBF0A2B7DFFDE811F98F86173936C6F0C5C2EE33F -D8420F69F387C9C5B648BCE0CC84EBBED8086C3141EC91285F41A4C4AB9FFE76 -D9C8548C69A499C779A0C97FA8B7429CB64F54FCC7A2EB30A589C94023E72C1F -5EA0B6E981D84EF013B4E6486B79D530188EF910995A9E59AD253E599A78949B -5D6FC63FCD84D9D71D6802B727DFE96FCC6A6EABDB4A4A189878F20FF7D066C7 -843E4412B1928B72A3C1A61B6DE90A0B7E6E9358927FC694BD52A4A1DFBD8232 -F0F3E94ADF167BCFEE90ECF92E2007E1274DBBFAD011582829B4D9969B6A10D7 -B17DF9C63C5E1727980793FEA384DEE9628B16EE1F84B3D82A5C62F30B37028A -66CBABAAB4E596C3E9CC58ABE10790ECE9F0C923D3E5462831AEF090202D8A17 -0B6DCFA5E36A22E521A228FFA73926CA5795D84973D4F7B110AA2B6F09336130 -F1C5096B19046296C6049ED35A595F0D4A93B6567C91A7B8A93350FC88D493EE -AF72875DAAC0608748DAA2839040E46AA929A8B8992B5146D4B07DFF89D25A5D -68ED10D4294CD21C96B2596123C534BEC2C164059C4272385503AA7C1CF5C724 -8E442ECCA239CE97DBF66B5EE125EF0844C8D35879734D69B0E6D69461F38D18 -6DB3A99E2E80C744E72FB3E20F4EE7105A132B1D4568FEE7080ACC9FD9E2C09B -E368A9784710483C7CF3C8BB429FA4F0CF736AFE301B1CCFA1AF17D68497308A -507E7ED6BEB6CB011F025D23CB6C86CF4D3DBC729416976BF6A2960242D8D513 -6C59397898F448BC6DACB171837577EC4CC468391315C3388DD7C483AF082785 -CA8A5E6FA59460FE5A62986BCF5436B77F04D26D62D0A3EDD5FCE0951752BD7A -E952B478206ED9F8FA3EEBE782513F0923887B8BF7D6BAD154E7ABE6FA30BBDF -84DCE93079EFC70E555B806978E4B6B6CCBEA35ADB4AA0382548D6E86563628D -0AA38884CCF4D19A0467153DB9913C0717FFDF8D97EB1FB127F1D1A6D28C2DFD -367EE787C103A32F820310687832556BE3D0105EE18043D30B5C9F1846CFC9D0 -1A991ACF54EA64EE19116878A3EC77BA2162E96E748355FBD1D755E4AF70FD95 -69A3748D495330BD6FEB6A1D4E6BA9D40821A7E157CE0F66562DA9B301FB5055 -C78A40EC2649B107E819C2E7BC43CAE5A08252E468272BD8A4192ECCC8EA623E -D1D28B611F85D76D9A0F2AA97227887E0C0AFF50A91E8B8548D7F905815F79EE -F626A1260716795A2230C7D26648EAA5BA9230A5E05105818F77DC54EAD5927C -2B7F4B622607E42D092C796CFDFA922AF6029A8606D5EC29772B5F9F35F1B823 -8B4D59AD6DBBAFBAEB0B4F793515338A3E9CC78B47BD69DAFD85879D46BFAA7A -5769ECCBDAD2D86FD9E9712E6CC3002C91DEB0DAABCBCB4BBBF7FB7F8D0ACA5B -BCA8C848963020A5B1E947793136E8E0315C026E9E791DD269F45449CF84F3EC -7CBA5D09616ED96B87DFC76AA9BEC72785F1EB805EBEEC435FA541AFBAD7B826 -DBCEE8905FFB2E2767C678984D0292FBB8DAD2A38257A0C780A9A203ECE4999C -71702B5D49DBD73E0F347AF41BEBE32C30BB5D8045A4CD00CA25F58F18848561 -F6AEF1FE17705EEE04828686EC1A5B402BA96EB91AF3B47807A0B94420E9567A -ABB51FDFCE382760348F3FDBE52F3879A7854A7A12CD6F77A247AFE74BA9B972 -8C17A3097585CE5132B1A118856CBA9CF03192A78D2E16BAB8C5445EBF809FC1 -CF161C5645EA3EECAFE3503F3794D42B28E8F9052E4A320868897E725D8A6384 -D9281A76E9089CED2A7B4CB4006214980FDD4A35F1DBA0BE092BE7E8E7E1A7E5 -D3A053355D6F7A5EAAD8AA2109CF71D8D267F1BC472E0BD5FB243C4E6488D2D3 -CC30214E4CFEA99DF37CB99D9B6462DA429F877BD22BD7D9AFEBF3EC14DC86BA -AC11D1B6510AE2DFB023EE73C55C94DC6276910D223A8E89D0237713C2CEEB08 -23E4E18E05D646C3351D3E32884309578763A110F11BC3F4C92AEAA2B40A7826 -491C59FF9413A50E0F8F9B3308F7DB436050F1A3FBD22E5896DD32E0972082FC -03CA1BC83ADECA7104B1EB62D797B18DB034BA3381FFFC6801FC798905CB0BC8 -71A9CAA02D731553456F92822ABE6906513443803885C2694D611562AC4CB445 -73DCC876936B5FD3DB31B393147F5B18E1D28442BAE187EB378E39898D334F1B -A421F9E0EDECD20B59DC90FFA4F3D3DCA546EF5CB4081F6F41672C4A38110997 -744A37B5A5FAE338055DAB634BD2F4DA29EC1417168F6AC42455A0A6E0E2A983 -61703BC08D704E66EBA5FF3BC3919F70B1398D05EA972B55C4DE5D205176B508 -4F65BDEBA9041EA14412A0FF6E2164ACCAC7C5A30C585197C54FEA17F2CA0C7D -35F28E59C60F6898F02320BC6D2FD26322C0A8E927C4500ED9A7385BAEEBD7D2 -98102EB1024357FC66F694C5E455A3A17E2B547DF6A85A48D9065E4695D1AC98 -4EB55CA938CE7DB5E2432994C423797A76DA18D13B63D97BBDE2A2901B4B8CEA -4D2481BA2CC1D5559A9F30E6B240B10E6FC423B6A9FB56F8BD4AF33FEFBF9EBF -E5A3FB2F4309E3962186AF7C5A2375AF5DD26E605A3723F8C4B83A36A6F2B02E -320464AF01944BA2D55BA69181D5FA184B2882A12F816CEBABD89A3DF115E219 -90207135F41E51F7E9ED6DDC93861B6D82FE9B50CD9894989B7480B89F1E1AFF -0B70A682102CF5586E15397841EF6F60D65C591603BBEF427FB295D65B321312 -B8EB127F041437A70EF6694452B60C232BCEE06BACA86AC9664EBB1555F3A6A0 -606ECB128FD12F3305DE9A02A8B568F5C3FC9F0B3A71C4A61F551944350799B0 -8B479E36EBC659847EC0DD558ABE30B7EA1EF4FE3B0A6C7331F8EB2D1D97D7FB -B891D34E9229D0B90DFE4FEFAB7B66D5BA6C51C9D6F085A039AD7B5AE61EC8FE -0B92E77918D7693871B797C651C21D366901D37CF491F6139BAFE332FA3F372C -AD3FE700F5F10B7BE272CDF89039A2585256CBFB209908CB5D056B2116071D1C -FFF74F86FBF0B86B9AF13A25D14ECC5F4AF5DFDA755370FC759D267B30B0AD2E -A8F7664D9AAB601B8DF222C1B29B7CA10CEB596D49ECD43C1BC4D4F2C522009E -5CD18E5883DC07BB1D5CFAD074623465D46E75A0032DA9031D4AC357AEE3CEE5 -260E93C0424383FFF597768FF4F58B3DB15840FC528D6CEC2718E1619B281D5E -A8BA1832B988327F112B09BEACB22D4D9D1CA4D99374FB77E49FEB0F7FBCBA4D -6831C449D18CFEC249C6D35AECA00DE0A45FE9FF34087DBD5DC869DA94E26CEF -915A9F4679E974002350EC0F778C9EFBF44EAB3AD7364804F9103965849537F8 -963118A659D02818742DF7CA2D119C2B1016A539490D33F4C131BFB26E9376B7 -DFC46C6D815E9A2ED96DC28CE146BA6CA48B3E579C57F0FCEEC31782CB222EAF -20DD7EFFEF8D82F5287F5AA095F9304E47FF478852246489D69277E089A7094A -66F9625E2308735169C1D5C2AADF0E96CD6F1DB47CDFE02C88BD2A8BB3E56418 -DBBA37688BEF42B680CBAFFFD671317CC6EAC2728C89E392CE0241FCF175DC13 -DAED8FB4512229C9A10AD75D0B26F571F489C8D92B6B39171493C411FD1B32AA -4CC59EB0E4D68CB25EFBA9135024C51CA1FDABFFB691BD5567646DC751268BC8 -49ACBC107D9FEE3AD3F54F017357C63B67F8D940018E0C730AF772909B3AFFCF -45A4328D51E0486E48E71123BEE2AACCFB2E8E2D6A9022219B5CCB68FE39BB0D -A03B4A00F003C395CB73A8C0F94024ACA8F3C7A94FDD44D8A518BACFEB5B2E92 -CC878D164C51BDACAD222C0120DBD1FB5004959819DEEA819E9C5057B5D99374 -261F6B30897FE5196CCE6EF061B4C7F1CC95787CBFD551858F7271DA6D476613 -25156740CAD5D594FAC891259A642706C64547AAAF15C6414C9DF8E43FAE2862 -CA2C6268F5A5F09D1542990649E0887323027B999F9477FAF353B877FEDE2AA7 -8FA93401F37693ED259ED8DFD1DE22CD91F261FB72C450833A242318175837D5 -0AED12D6B9FCCB84FA6FE853AC048493B61DA2AA6D8BF581EA5216A4FB9648FE -924A4C1702A4ACB571DE5C22796B0243A61A23301A59A5B8CB349C5D5B4BF017 -6C880123B6B5125267D929CE8BE7B56FEFBCDC582AE4A58218A7197055037D58 -1FE28386D53BE5E8A9BACD50B40CD7EA458FE1211A79080EC5E6CDDF4DDE8B02 -168001A108C519F6C130CD52B27D4E2E26528515DE94E76BD5B708363258B1EB -C90CF0DE8117CC69E539165C8BCFA018C132992F796260AFE65FA8BD953E9DF6 -99C0887D2A53CBC6B4EAE34DDCA9744AAB2FEDEC0A5579D22020F251DB7C5D60 -E69F8C55212BFFA113753337F95EFA7C4B265793A9E3CE8D95C35CF83626C9CE -EBA52133D91ED503548ACBE49F784F89B0905CBDF1022D51D21101A481AB1A4C -2C61FDE9F932D8A56DE7626C82DE6719A7C5F5DF8C12E6BBDFC4076F36C9BD33 -117AD027CBE89428608763D98C70374552F4E7A06C35C7981A55247047DEFA80 -B7C9DAED48A72ABF81EF85D81B220E30F2503EEC6571C8D0B854D672C9B18F2E -DA49C54F808895183C0FBF5EA0C4FCBFB72A3FA68E2DDE54F2438C79419D000D -7D86B96890E2CDCBF6CA62771F404B9EAF5BBCDA68CD4BC63590B9C9C9323CF5 -6781A57F5AC8DE9C89689A6BF93C24920CE4711DBE8C1262CE7A9FBF32FD91EA -E9804116C033E164E0F7A5E94C0430A0400E99CDE37CF56D0434AAEE80665F06 -252BE2562EB5E9ED0D5B26FCBEB1EE6CDCBEDE5C5F786D5958D55B73F9B26651 -7FD1BC373AA2C878C30BD455AEBFEE7385D45B095FD3CC379213BBE218FA5416 -73EF07B8F72B73B21C52F0BC11F08F11A27BB68667DE9B47C4D4DB417E265E97 -A7E8D9432F797EF29A11E291BB8C7160FF7EEC87BE8DF54F9BD4FD1ACC6A1E9D -C06F191AD74C9BEB16FBDA95CBA7864D6BCA78B03190355A0013B8896307F4AF -1EF7C7B7FF5C565C3686DAE3D013CE224F20A9898B0E092B9C3870A6748BADFA -A677761E46A95AC462B5EE50BF36151923C9A0FEC86AC2D42CADC87CA3F83C9D -49782F2045DF9BB517AE699EE00A7FDF6CC21ECAF39ACF7D3005A173963E101A -47A37730DA8BAF19B65565BBB1E2F877B2720AC38EBB1BCDEEF72DBA6B65110A -D5B5C542132530200BA249544B1F78FB8DA6D0FC305210EE28F2E015CA912870 -851BB7FF72AB73C461C536066A1B94747CD37EC9CE39E08AA37391EC5F46EC0D -A66A2B467DEBCEE0193A952BEF52F2078D7AACC0124D532170474CD4C0CA33D7 -5F000FB16F88D39A146AC59A34653D93FDB31FDAF6B8D53E0A47A34E219BC360 -967999F0570A29DDBB4B1E8413976D83870CE16B5C272351E8C1137ACBE37ECA -E285EB3D866AE252435ECD7B650356161FCD59E20768FE94659BF2E944E689BD -ADEF446472A10EA32BCAB68F1D51F94298CDAF5528F4FDF3BB1608494AA90823 -CE9BCAF917534076435076353CFC42D7C1905423B476E2978D938FBA1A6E123E -C18552775D86F8D787D901656F43D0CB2DFC56E8CA51B1415CC9A01AA23FEF92 -21B85EBC52AD02A4EC78F46CF97893DFF19A8D54F6D8E5E1934141DA4DB93B9C -6131E8B2B3130C9122D4555325FC80966BDC7DC74BEE8D8EA38330511A28AF30 -0B0473BD7FDAFB632A724369DFA54241AEC340C6C886C618591B91D59482F9F6 -97EC4391CDF066DDDF0B99E8905BACD72D2C5A9CC0B61F8EF3632B33F99DB427 -CFCCCD3470CAA5041D883B91EE720CF24660D21A26A38E934A964DFA0F12052F -D043E181E79443FE1A9544A2C8D80B6680A8B026604B9E2D3D5DFBD751A50E5F -4747841A3BD411DE309B61CA57AC14CB2CC0DE257E209AA6104845916E4E8AA2 -EEC28EED6F90F75A9DAAF06C78909D318C201C08BEA2ADA33BD2CEABFCE6E6CD -DBA5161B652040F0507E0D799AC488A82F305F1AA9F8BB6BB859B027ECFF92C9 -C307D58B2726E0318555CA15970FD964FAE7E6174EC6BB4C95ABE2F14524B16C -D43E2A1E234C6A93F916E11D7D8899C379712EC3ED228688A53609959BDC26AC -7530E54763CB9F827E7211CDEA66E74D97A0C2E8DFC87DDC23C5223B1094EAAC -6A9F19098C9C57E449D7C95305B5BD1DA894556782C642BD71EA9E4519A776FA -D1529BBA1B7C1F29E560A86CBD5BA595C923A4CE3C4B4827E51F89695688FA5C -954F5522EEC371AD00792E07F69CB5C31D51F9B61206ABD887E0EB196477CD0D -824E5438E3482794BEBE1035601412199B8121DCA9931332FBF35AB8450DF361 -223503699152EF91EB7661E440CF7AB0D4957442804AE4370EC9C7B070E4214C -072BB32A44BD1E1AA851868B7462B001D987B8D5CAD3A458A585FD533C135F80 -8D551EB25D6AA9C7698A1E3839E5CCA38718DC15977B06932F8FBAB4AC511067 -3B1ED6E38E95C48599802C4F47A96FC82FB9C2157E8E8E8FA5D473011B28683B -B37F8BB62AB2CB9B57849A2EE8145FE4D612491D5DA7DA0BF68C3866443ADBF2 -E7086D242548B2BD2E00319ECD672970B86B91A36C501FB44B4EB2E3CB2355DB -AD72FA6338050550AC531B1613529EE0A77781105366C06427593CAEE036F5FA -DF269AFA12D0CE2F9547DFEBD32946C8B9E70BDAC2008C679D3ED7A05F312AED -D3C5E43127A82D75285C4F52DC44BE72DFF18C1FB7108E363D5283E3EF1F456C -1E81A6387CA76901DAF08204BDBCBC660EC956DD238C0655CB084287DC6AD7C5 -358E5279AF836F09562339438A99C521121944FC794F56927F24248E024D842C -7683BE0FF391BD12F265E9309485E9D28451F1F3314872EB5743214F6FCA958F -900D9643E00DA1F7FEB38C17F4EFDFE076AC8AF5D3A9DE88607B75CC4425ABE3 -2513F2D91E1F70CCD7DFBA434DA555BAFBABCF6770F8AA27695472E6B365899C -9488FED4D59AC654B9C45FF4FDAB88B787FA28650C037F9F32E633A1B9EBA730 -6FECF0CAD6A0CDA868DB68E9997E83D0FD995D3CDDF734F05E2A494A89135079 -FFFD5EF835BBDFDB1F5E787DD5A4086F2D8933E88445BFFB0B25BFFCF664B371 -7F12725F6C5B800AF66BFFF3997D86FC753A9A73402FC0504BB575E357957AD7 -0E286998B4F68FC9A99D6C325073E60667126EDAE653A20A1FF2ED2EE753AE27 -83187EAEA404752F4B10E1D5A535CD60767E62D714901D9471C5B9950A41076D -CACD73B05236FFED5D7905F0C0A6F722E19BDC6CC5690D599C12334D82DBBAFE -2F4B227C1B8959120A97A87C7F956691FAF3803A533D4D454DBA24AD0172AF8C -F1418E3EB98B5FF63F991A3B1CD28944727BA1216BE2C3CF6A050F9E54D3C391 -D7D53898423B822E5B9D801D04DF14C32D1048E580219F27FFA66A410CCF2396 -DA509C3A0F38536D31490716F2FBD8319101B65AD15437B9E7BD020554071ABD -E28B893842D427EC7E5CF513FBDFF9334380417FB1BF5C0AA251146064DE6608 -1F5B5CF3E416CC0371B2DE36A097258C863B6D1F5856254A5D48A30378D4FFD5 -188FE8BFE62987DE557AFE9B887C66855E93A4928ADFB4AE80ADCF71B18CB844 -D86F2949E788A04EB09C40B5C49AD4EE2E41B7898BFABD5D488CC0F46541D2C8 -1C182A0987B035C5420BDFB25563C6292B20F9F291C3D2D562FACC57F3AE8C20 -1500CB7B0D5503054222325AE4A8BCABA01E7F75A9B7D951EC9047E3452847C8 -DB381C7DFD4E23C5B562B146B3C02E2DF677BEB0320367F347EE1D6DB9546191 -7B20C314753A4501450717880A0EAFC70BB708AF9FC1C68E9939E17CE960D0B6 -85AC1BD4DA472AC9178272DB78B07C212909B11B632F9E84C3B98E8797831EDF -45336AB80A2D99517A35BC45183865FA128A71138CD4BBB8B92343955F9BA915 -98CF98C5A7F710DA111357E8073AAB804DC94C2746C35FC49BA54B3974EB53E4 -FB458B587CF56CA4112DA35FF8BC860BD0172467352FC25151DD0AEA98557203 -F3547C001A8F23A61A4F938896BF2A2BFFAA784D0318EF88A317F62139DF23A4 -E5388C87CDCB196FCF5E72C7B6DE32DE388200C71E64D71084EE9F569F292C39 -0A529988CE87044BD4D2070689DDA8EC1D37916398FB44631DB1668F8F24163F -155EB85B0DFC25CD810F4ECB903710A303B1BFB5FC96A655D60A2580363A2923 -BA902EDE4C2A19B5732A4C8592BE18999ECE02F18BDD8AA9D00A4FD1703B84F2 -B4661DD45E8F596F9F2259D143193C899C124D534E742D89D55DB2DA3F99BC1C -BF5AB72258040C35633B27A158E899B7527CDA3199DB6C97F51CD8695E0EDE68 -762C05C1F653A1E7D9F85192DA5D310E5374E7392C3CBD1BD79E1BBA44F40105 -B46FCE2656572B8370B65E594F7BCDF0CB35D72D3713737AA5CEA6BD18107E6C -CFB5F7C8364DFE74367EC1F65E6FE24203CA2FEF480FE91B7B3495166B4A63B8 -B687AA86E2EC7BCAC1F373DDCD481C1B8F68BF0F706F46E86639A487D2166E7E -47AA93166DB95AD24E974E3115E0F30D4A0DB4C5D9324C1A275B8B3316E66AFD -8D19129D0DAA4E439112858209240734E8D7D06904A1C088AF73CA6D9913EE08 -D59B228658FEFDE730B0ACAE9651D3B4D5A8D3D2713D099A92CEE660685D4030 -6C15D6AA53342499D78B07386C5DEA43ABDA2426CBD5A1C2B03A59444DC43E37 -E036019B77CED690420078B04133053F81DF73422570EEADE1125A28B8738182 -C5B50AD9A7B337F96CA30EBA78476054B383C4134682B5954E666F09DACCFC18 -321AF3CB774853FCBF7C7AB5F63C109AC71798F4521BE8063BB24BE2BC02D887 -EB5057F14E9029A7D774849A3538B395C30AE7E12CEC0BA9FB0AE194373E54AD -149BEE16BA1B25C20363D7DE8B4384802F9FCFF5E76CF767B9AAFD5161BA8831 -02150D1B3212B93FEA226F48CCCF50CEC590A09CAAE2C388807DB89EB469DB15 -2AE0967B54E788808D72E6C74F19580843322D84918B0BB62AC15FE5008CE9BC -678F35FB4F95D12AA9F80BF009E764E58AE2681A9955945149692C071DE72866 -94602EEDBB2E803528A51FE820FAE688C10C793949BC253D714E1F2A1086E8BE -A209E89628CB6C28033890114DAB0782880CADA93C3624F4D5D853C627217BBB -972A5FAFC11402CEFEB99C8C1B4100A67CF3F29F850388832955E9F76E3E26B7 -314C612B861D887F5DEB9604D68141570F2A8DD247C7AD0C7A8F45DAC4C1BB37 -45E2473D0E1FA005097EED58BF0B1A02EBF5CFEA3C5F7D8DD03487A34D905CBB -127EFFCFEEE3F9328458BBBE2635422B38758647F44024E157F0D6594616A06C -144A0ED78D171F878DCF00355831B24B9B773B521D41752B7CDBA49738B7B7A4 -EE03AFD93B73E0916C384193261C13CE1CF078DC3D71A99E153F7BBC7CAA4A37 -21F654886F18FFBC4E02EF04F5AD921489C36E6D8FC150FD8FDB3419002AAB97 -94EEDECA255A66F12910613BFFE288149A46C3C243A480BD9879468B971577F7 -800EA3AF08D43E179466DD77C5C13C57CEFFA8A823A3C219037E93C7D9860F25 -8074A268FCEE74E2AFE7A1069978C70CCEC0AC8410120039346F91568267C592 -F9CDEBDD5C73B03CCF99C5AB86CB4BA7ACAB36276D665A1DC956CE6A90B2D1D8 -279AA2B617EAC4911A0A954D2FC6C5C451B4150C2242DF45BECA1C0E86CC3B02 -8227530837D55CBE59FD680D0F71F88462E49C1EFDA1972B94BEE0AA9FA2EC1B -AB8A584F235B4340CE3068B2A0CF6AD0FD760A8FE548153A9C8819F8C68E9820 -B20B4C2E2E3AA723C5EE720E6480C76495E53AED858D67C05616BB8470C9CA58 -BFF199C74C2881CA0D3F86CA31B72B7F4D070C174FFCD88F9CB079CDF2C9E5CD -08FD999A38708DE1920458D02AE9E22CCE846EB942672E0992D39255C75123AE -C434A697725355FB54BBBE2975F235CC0C936A6A074BC3CA4645BEE4610197B8 -B231537C41ED72B100DEDFD4FD2F10D8DDA728D2EA5C7C659E4005C0AA39DA1C -01A7553EBD5758840FF7EA47C43368CA1D8832B0DB48954618144F36237ABE63 -B57D39EEAB548647CC13D697AD8D587D3C6A1032ABE2C86B4D4BBC20C1686EF6 -0A4CCCBF25239E31C74CA1F286F0D843EA34EFAB4B1680E166228207C76E6880 -46B008FBCBA16DB1FF6D5C1EC85B0451B33EAC68F0E7C656FDF94788FB4FEE78 -F370B9E1ACD21EEC70F5B1601CFFA3150FC22387C4ACB763D6427435612B769A -6A29D3A87FBBF9D03E85A9C75D493683AEFD86163B3ACDBC3217A9A062C13323 -40750217C1EE8BAE10C60B899D5F991302BD02C95692504344C1CE04C07F49CF -E7005ADABD27490EA45713CFE6E51015472CF227D43B2EF48C846E27D7769FBC -F3838A5E942C64706B94D6EC4422133A2FD031560BCC7C628D33913828C5E506 -3E0DEA53E06ECF209C3FB3E552B7F129D9454DEC8F69641F84259D39C5E99186 -2EE453060B35C1F4251601211F027E5250E65EF3971C81069497933BBD6CBEFB -4B6486109D6092C37E5A402FF04A35733F88F7133BEAB2A32B21EB6EEE05152D -461461E4C8C90AFD4D4A6E10E7C6A11247AAB9C19E2BDB7EC2CF0A46402A3A59 -B4ACC2B3FA27FBA1E75888C795B0E0493429A1F1EA791E5CF66B30CF830FAAD9 -FC1AA60A4F3E73558DDBB595C0C15BAF2B1584E16F90E176D668FB756B0523DA -B7DFA5C9B37619D201ABB9DA08509BBA7199C3381505C07D53A58EC5E59BE0BB -FB7090AD241E972BB564E1763BEC252BA2B93BF1023DC5C7518DFB34EE276964 -2EA4AC9C41A8B5AEF99A869316FED476CC8B59F6C935573B918E01105A4BA017 -63A97B8040F54162CCD6BA06CB8FCD2E4C1CCA1EB4B0B0677C46BE5156E5D5A2 -59167C8114DE138C0D6AA2AAFECFDD7F1D3C3F07E5846932913A377B86BC6A62 -5EC4D097225D845684859338D86A9AB803C7620E2FA2AEAC634073D6A7C93811 -C0F28053ABDD3CB1F562ADB1955B47AF5B178FE386D6364D2A0E57B6728AB1B8 -0B9B01DBC3A39C1DAAB0A6E96A3D6FF5274A548985E36B41D1188D5DACBF46F8 -E70F1576A33C04CE7E215E56F9CB961AA8AEBF18782E7AD9B6F61400F081B884 -A8336487804F880AA46521F06F259EABAED0E107E3C88CA8CEA1A5A39F9845EE -1CF7880214AC4C72A79144F0C9898FFCBBB6AC3DD8342C9CE64666DCFA4595A8 -C2ECA0C256F9CFD8FDE80E4999A67DEFCF529D64D1A26613AD6CCB97F1C5C8FB -549DD64F6CC95DDF040B76E1057BB40791DA8707E07700FCCD677839D0029E3D -30DA7F1C00D78EE0F3957BA15DDCDEBBD3878B05E422536090C84EE59C5AC384 -CF7A0CC448582EBD7CC96668BC241875E5B9F26B631F76A77E790B369AA96783 -A898B0C9B0D6A2AD6382C7BEA13E4423A57B63D674C02359F0BD62FC64910239 -5D37192ED33A8C32867E6DAA13A26BC97AD335363730DBEF4B1A68FA6E1499F7 -DBA0A440F4EE508D19B02FFEED69003478B4FF2F5C78A35AE1262208025566CA -9DBC446660DB64C16441DF431273A28D80CA67896219D0882DD96CFA12119B84 -EEDB84975F35DEC67400C04828FB0B74F0E4DABDD03416CA5F5C3FABDB4325A0 -31CABD1DF715A98F4BC129AFFF406323BFE6C0A327ACFD99EAD434BC1A139773 -EDD7B6053BB61DE33D74837AB863E8A035624B202509A07F9623ACC0C09C3111 -A208E4A540925BBE503A6F01ABDC11416156DB364F1B85ED4A8F578AF2E8C777 -C74FDFF4230A1249062B0AA3C40154902F8535AD43CFE7AF99B231648951CEB0 -72D8E44C40027C3C043B5DD8247A567C75D150A8522FEA5A58D347FD9F5F23B1 -1C3B8DF9B1FB96AA2747E3F26E09DDCE9F3F284D8E0153831B07156C97CA3AE0 -33EF49DF5DC3FC09F767504E2821ECBF78FBFC268EC081CE61001BEEBE85C0BA -3D2AF8649CE5066F40C001E36B7F312A75551CBB2DFA424C28E6858398F8BBC1 -BD06FDCECE9F8CAB4ABF1E26C75A9C3099D618F025C989E54D13D02A9A4318CC -272A3FE7529E37CD015EF732001EBE0C890EF8717252316C3EA31A2BA09F97D1 -AEE325CC130EBB82ABDFE37CA2E643377B2D23C9D99DAAF5F77A10715E20A696 -DFD4CD1C7EBF72BA1EEBECD79F71C9BB963441AE0554B438AE8B596E67963AF1 -AE572DE6AD4166A0D7FD0D6AC846EFCFA7EB503FC9D1C79D0DF5F9146C1B05DE -60905503467587174B903C3F6FF01E788C87BD058CB0DA37C89401E50CD148CA -CFB57184F5070A3269438552BC2F8D15D468501DCE15E5577387235A671DD6E7 -BFCB742BA1D6B4A4B8CEA2A7E17E6E55E688AACACF1B28C8C29F4C10DE0EBC5D -210C53516D8E99E6E47AB777C5140C7DB4EA3F1AF016B4A6BD768038FD3247CE -BADDAA75167FA62436CF01A561D498281A01B219DB7F056AC581852BF31A41B8 -4057A9A9D52B0DA75C395AFC2BA281101A673E020FDF572572C4ABCB421FC113 -9A7F60FC5BF747B0D20A3D9F9D5296B449A0AE05A7739BC40BB1FB7406305E33 -33E1372E602575BB2765528DC1F547355460BE4E0C5D87191886B1DB61B163E3 -36C7E655EDE6608F9F2EB046D424199D97069779E5708EF414C7732F1165B8FF -B800EFB9B3325331B0746E0A8D43EFE335EB246AC5EE5FA2F87539EDA0671410 -5BE97C99A6D8892B1FC603AA90567E27EB5EE30BF0067B9E03F8D2FF3998F2AC -2D664205B45B3DCE4CF968810067A43B9A75A70726DC2BD646EA89D989C9338A -709E4EBC202D60487EA7863E6973C19204E602BAEEB476B6A08438E3B812F022 -14FEE0C5D6A734B2DEE955D1B54F03AD513B3ADF3425355CF6A24DF1286AD3AB -2BD4C6B626E3D4E96980FA85EDCF678DD39246B0BE2807F5925AEB63CD9E2391 -C4D34F6A0CAEB7E9A39E6B1E991FDE2A4D4756D7C02B39363242347480437E91 -297DEEC7C839D988E62ED3B38822AABED31F534BDDFDA1CF32A9E980DCD544A5 -FC32896B441741ACFA389265048DFBD0B2F4FAD52FD17277F6B08E5760FBEDD7 -815DFFDE97C4B268BBAD73C6BC76B10A8383734E8D2F220D496DBE5132E5C84F -FBD47D9D93586BC94CF851AFAAA86845C099BF2B22C91700E411D5221212F411 -5852C4FF1C49C2DC5245541D0AC351E342C4BC22A69F4F2AB417E0BD43655134 -769B021029C158E512A9BCBB8E75F315040F62D4AF38C8DD788F84290F5D7CA8 -A02311652D874B5E7ADF908E22EBCCBE4DF2062EFD6FD5525527FF7DF98682C2 -33336CFE9A282A83B0A1CD94BAB6B739FD297BBD9DAA96335500607CD3871964 -28A1AF9756C1893213164F462F3EABA34532811F4207D53B200AE21D0404DC53 -9D12C29625D5C37391A13798545C71A3D16E48F931E5626A607AE520134F34B3 -C437F02867DD800A2BB2C4E0DA546D8D3533CB4B260D119800FA923B0C770A9F -8C55E046BD07272233C4F43849CA134DFB81A21AE373187D31199FEB2B8046FB -B1E679D9A83AE53ECC06E6E58E26BC6D82E45E95EA8D4449E4B5A26ED4A7D994 -CFC1FADF26F1AACAA7748D29EEC93C7CF5885E780629FEAADB58E8372A7EB98D -662FAB6B5A69F86CF92B764D14399F5C926CD8027E5AC3EA0A5C058A98290943 -7FA629FB4BDF515E02D17DE8E135A7DEC256507EB05706FA6DB1C35982E4C8A0 -345D0B0CA0519EF5E5BD7DB19263AED870497F4D8114C8007B4C5C931D4ACF94 -32AD60D4E41D8A175E955519FAF20F60E5D15B0B492EE1CD1925A9ADC1DBD0C8 -0D44A79E72927A09717183739F0C78931B3DAA7F67F613388EF32D92DE006BF5 -3C386F623209E7ED31CE28A193B8F4A01E09458966B87FD535953BBFE740429C -3F73BEDB04ECF8C405A7ED7C5A460F18A879424491937BB1444FD4D3C6C34816 -74B84679AE2901CC4901AD465F0EBAAE1AFB34E16F990E3FDD90C89FBB25495A -B8A9C7DF3C92761FBE8C04EC4E98AB9B3BF574A2402D148A37D295CC6D045C4A -81499C7F3B280154E9538B4E878ACD8B3CE51F4F5C8FDFEC4204BE58932E2B8B -A9E27432AAC567F6E7559922BF817EED32F9610358671B3220BDB548021D4BC6 -E6E257CCA9D84392F1820D7B94E2C7E16440D34CD93A3B9644781803D7D3F40E -97B1BC7B28BDE9D8D6A9C0348C5C894BB8311A94A967CAA518BC8E1F900436CE -E2102C70B1CAA7015123D2AA1E138960E305DFE8075B80537A7621B07E460FFB -6AE775A2DEC96EEC2E049C2DD2BAE752123CA30EC61B9D5BE73424B609948374 -8DE68D9180F4CA0BAC24C536293CE48DE708405038A9C3ADC65A6385BF7EFDC4 -591701C2A31438797A0BC6E764CDD24886CE7F17F170A94D2982ED98260DB843 -97898878E2B3F951C42FBC78CB51BAB889C8343BAFBEED200826BF3B75B602DB -8E13E7C0098383C0913181AE716804B22D1F4EAD78B53F5682F2AA4DFE43CEBD -7173CF96D418828CE1E984C0AE4903B06E4D83944D515B15ECA295E4CBE241A3 -8EF82170ABD4D2A7B4CCFF4C861254E2566BE986A4F663C0211EEC7E727BA682 -AD33BA507E4899D29A0C099A1C703008D8BD7C2DB12EB6D0C30BE55FFEE7715E -D011A48281EDC3721E75470B850E59B83BD02EA0B57C620C3A99D691179FB5E6 -D5E7061B4ADEE25FDA42FE6EF4B31B63DFF8288EBBA9F0F1F2A6E1A84E936AE4 -86F1439DF04822355517FBBB354B20964E21C8C2BE0DCF54E7C60F0B9B728D26 -355149AEEA4C8D677ACA4A0D42C4C688FF0A1525DF340BC44960A5A4D4F0A716 -5BE3EA9261570C344EEEEA7C97B4CEC4F31261ED8AAFFB60F543918DC9131DB2 -1222C652233BFDC0F1D844CFE84C0C0446D38DFE47EA060DF5BD568864110E76 -3E894B64A80D7949A20AED9BC1234A93CF3865CC0BE9419D3B305CE1FACAC766 -C150A85CD1676FDD03C855379D5A368633863B5E37D5A51EBB5994AB06C7E287 -D7BB64103F6357C156C2E2AD3961FDB8E4CC7CEE47B7AD2CBD35BB40F65559E7 -D46DA13E8ACE8760C9EE443DF3130EABBD3155BCDA80E4ABC2565DEB6B7D3831 -9E69E97C1DECFE0F705DE69FFCAD95AC5B407CB5D8B6AFA192CD0CAC9F6801E3 -4F4DBBDED3DABD5B0360B47090C80B4824F44152542DAA6BF79393065669A9E9 -3DF15F908D55321C525D0F4C82720D8CF2F3B433574D47AC5F0C920EE9367DB5 -340BAAB96AFA069B13E272D3827D63683EAF2ECD39E5F8DA2B7A0391AB1FEFC4 -DCBD771BAE92EFDDBC67CF0510DCB6F25BD659CA9E6202DA4A36B8354EF07289 -33C5D6D32F68D31608E206186A713A9AB0D5FAE0787398299FC9B1AEC6073C78 -3B330DBFC34C4735920D00267D0E15FE2EBA7292A2F656B221E06A221074862C -7B564700F0FD5859D7FC1AA5024EF75B5AA1DD34CDCECD81F2682E1C6D952FD9 -6FE8D67B6576E4AC8158DBA6D86418FCE5938A2C0938F8E5863E5757C7C64CB1 -62B8304D099F66F856F1FDFF7A2103650A6D8FA1CE561B0C7D55101377EB596C -89D4346BC56980AD0EDCFCDB8B5653DCBE2D315E591513DEADF34F88D75E2CE8 -A960B512CDE20C947D7AF0D6B5D5F1C9AE53AFDB6BACE0E32114544FE4D0AD74 -D90C4176F2694C7813EDCD68EC658DE522699489155F5911D4A2A8F80ABAE65A -2A80F8C5930EC44F761F15A2FCD53A3AA356A93B146CF88EFD11E12C34F11A67 -ABA4E32B1D8E6BB08D7D39ED01253724B655316848B01F90327EAB17097BA5C0 -FADAFC4D059D0656630A9CF5FF1D0787BBBA4E86CA6286E69D23E9FD278CD5F2 -CB9A977455856DBF37BB33B174068F3B2E86389AE3CF35559A4D1E28BBBEE50C -51E6D46F4EB4213767942A3E49DE60D9256A00414FF48F67190D1EC5558E946D -753CF4E50C812BCA3B93A5C755CFF71548FFDAD85E17ACDD5891852CC3C5E969 -B390894109D9560EC952EB53B42E4604C9CCE735C473A9F9F2AB9F34A950FBE8 -448592A7D2BB4BB9782E5B2DCAFC2BDAA16965D2038DC3E73CDE30808BE61497 -C7C5E211B09A4D68F8A7DA9A23D18B640387786F016A68820A3F620A51363046 -DD32B8018391C07C2BE01C836EFDC14F463F154834F748E484E5C77556A3BDE7 -9871205EAC23B071ACED90156BF9F073CCE20AC8FD9482F5C2529AB75F1EE1DA -C904D0DA542D9A3C0BE53811714757A0F890176A835222E010F3AD73EDCB90F9 -B73A533DEF274BE538CC95E9C1D814BF2FDE4A9A72EA22FB49E013B1DF2913D2 -0487BA44DF415B8B6BF6203A288D04D5778406D6A85C2D22E278FE2D2CA8BE2F -F6BA35910B247FDB5ADDF173F4EC11B64CB8CE171FDB1E62A06A0A127173F077 -0294D8B1564A527A4D05F166983E8E466294DBA5F2DEC7EB9D4C6B790CC60AA7 -7C5D6276391B7CD165F1938A8455C71214002C0D73AEA2589ACA638032BD10FD -6C6F3275C7282DBC800772F1FE2714E7E201B59B1EC02C5C8107F5BB4D2F8851 -6B0B2D2A49EF1A3138035FE26323C75500585AFC1C2BA32D718B6AD8A02C5FEF -66EC68FB8C697B9439C79A6ED6749C1ADFE6F7F06E60C7F257404136FD0B424E -85372F857C8340CEF4B10B0255723D2FA077AC8473A219EF1BA55066F976A307 -6D6B983345A5B84273F2B70659DB223F0C86E7DF9A98111573166C2CABEBF2AB -E398D80CA51E6849541EB715E63B5BF8BA6570A88C24BFB8FA59FBD4F93DD19B -6B90C8CF4DE5F2BBEF12F42F6D9B35D92B2D92E003F710234318DDB99CE90020 -8C2C4F2BF795C039D9DBB42B6F13F541B74B86C854EE38D4BFFE2DCE3D73CD99 -A47442423EB5D09077BF199C3D6441E6E4B95E03CE77AC1257FC5BF49F6D0099 -01F6B75248BB5209244B0F9A1C0E2984548CEDA3EEBC1E1E1C1FB376B949B96D -C70430E59445E3A42053202572C4325BE06F9C5809791667509B5FB198EC148D -3685BC5539CB8124BFB99225C7E48EED18E27D7ADDCCDFA946F14DF4A581BA8C -A01AC9557F06F7CD94DF704179B95290020C7C33AD4D2E853916A448E07AFC1B -BB47A4170DC081D99F11767546B0200289253AB9AAEF4A79C75755DDB8E18B95 -160F191114250D1F95BC1E32DD2ACB69363416830FC15693BCB2ADB963CED0E9 -6D5E568F6F597665F0705657BD92A7B5FDB11F4689C1CECC3D1ED9D1A4DAE470 -ED828F764E5FC49BB7357DC676888F68E60EB86590F98A1EA24DFD1549A78BA3 -E40114D2D370CC12FC5865253F7F010BECB2093F5416FC5765E712E211C0C17E -D22D78C830E6C8B64F0A81A721D05F92035728CDDD3355B133C3BF4699B4586E -E64F2DF695B06FB5078BC780FAC4A4ACA5ABA29958F3F5FF141435D4A0865641 -49742B4A5FF31EE8C2A739B895A613D1F273026402B63F75BDA9872551DA0614 -BBECE9C499A9149C3FF57E3B8FE3F356FD5576CDEF2243D231FE478528DCFE07 -902D9FDA7BE72AA1B3221992D97A0AC4F719E944C1AA31BCB3FA175E05311D48 -9292ED5E314F7BF6B5004E1B0BB5BD50C7681DC28D73633720CF986D6665AAC6 -D359965C545CB4DC942849C5EB3C98D78D1172619A31AE1DDCB74DE0FFB3F2BB -5E6B86BBF1F4435B7B5F566CC680F37CBCFDE5EEEACC98613ED32EA5CA932973 -8F2271D817FDE67F1A396795F3C0AA83BB6EB509D9941BB43B57E3FE2057A144 -2BB5A7BD982F45585291717F666259F2288CDC4FB59DF2EC4ECC98AC152C181E -707831A610078B6C29B14FE77F853D2051D5CB6725BD5718751B645396738313 -A6C4AC625B54623BE51A3710D21ABC8078ACA01A344C459253B7BFF5F357C4BE -C6A15FC3CBB1E61418F79BCB0669C43F1AE44EB4CD08231CD269A6585C8C7C36 -D999E700FAE3ECDBF70BFC38C1679A1FD852B5B16CB412851507D94444B6B450 -72C19C66066B18D769A347EA0712E81AF0165A792800B7EB230A2651AC418A4C -1FF10E40A7C4527E04835A2C8CECB1C50488653A670F7BB7763B1513B8C8B200 -49AE58EAED0C29C873FAB86D5E1C974605DE2A7A9B9BA24FC105A04908ACE40C -6856CCF43B4003FD4E67AF6519FBD587B34EEDFE74B2F0C99057E503BE9562A2 -1B107E8E46309899616AB7421927616C64CC3C5B24257F97D70EE400E8AA63CA -E16916D3A127C5113AD4FD8E51B7BFA28C9C30E523FF89D32454D66FB78E6743 -C72D96E40C9891EB2F3066707F7526079CD60BFDDBCBC8B183A015619FDA7808 -C85B77EFE7527C43E395199341367D5BFF3B4D30B8B78EDCAF0D3E2D4EC98DA3 -F74CBCD09BF9A5BCBA5664A95A0384B3ABAC69D6686FC3B78ED1A89A40D79B32 -C4D58A4F0DE679D47FB44027ACB54EC69F5E17FB5C42CF9C46F65B38FD237365 -BB841B2FA100446B2D697CF2725A619D02794ABA0322BCBF33ECA3A2B2AD548B -7EEBDD228138140A03542F1D724482ED41EC106321A684FF59F7F33237D3515E -5993CB4521B0A17558E21E570CB15DEE5B4AF3BA98C5436D8156FAAC43816B8A -01308B1366FA4DC4F5DBC34184AE9AD981EBC449C5EF8EFE7258AB992EF9324B -F6B159D7129BC4C25A9732DC5AD6FCFA5DA706E7241660AE +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 +92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C +295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 +409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C +4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF +2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E +0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E +B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 +24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B +43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF +D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 +5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC +96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 +7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65 +0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830 +B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D +AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007 +97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8 +FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5 +20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4 +0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD +F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20 +3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122 +A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379 +5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A +45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625 +0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF +F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078 +3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E +E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9 +3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64 +293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5 +9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139 +6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639 +3FB39C1F05FF8F31D2DEF37BB9B883334F51EA124581B786A3D5FE6424B19872 +AE7CB657C8D9528934B990B94FA4A6D61BC9D2CA9B4E95A22CBAA066043F44D1 +AF32F545B9E123536914A7FD7FE96F12039EC25128C810BFF546AABC609DF57F +E19D511F324E32956177C4376D191C691B9F0B21FA84BAF3DCBBA536CD710A80 +1DCD4C83C02E69A140E1A4CFFA3B012398F21DDD96ED8060DB98EE133F430022 +41BA1DA473F1C99F0D6CDBD35188DAF712AC83E0EDE08EFC3CA2B4A21EE55692 +CF22799274A5CFAE84C89C937AEECF9CC71A328015B63C1730FA68A18871E174 +D035568A73346EBE4EBCAE410A4F2505370A0ECB487FB40FD823065AC56CE66A +9D8440C5B3F74B855EDAECE69835137D4D76FC0FEBA53998F57EEF25C7E3D9A9 +21BFDBD66C84D8AF7D8A3B79FAA9DA2963FD47689E519FBB2B7793CE6DE04A5C +203539BF94A5A700E65B5A5DD37B051EA4348BDC4CA39909ABDF8C4102A58FD6 +661206115F7EF6C29E12408BADB83AD40071F53B501C15601338467BED90B659 +2708D01CD77E109ABA63C19FE12606511639C5D9D5522C80692D1CA874E17B9C +753AEEF13718DD36A008B2D39D618F4F766174423AE972CB619634766A5DA025 +F9682D9E2A3C752D0F6F18B0D58319FCA606BD6DBC4F83D19DCAC84A6165B460 +AC1A0057B12E2023F175E6A51FC12A4852043F6F2F2625ECFF6E866293531437 +1C060C9383278C81B8DF68BEED88C49F86B7617C5B938457D19FA336C616D2AB +0A430B489EAE7998EAB74FC8C037550E12EF9AC540FD37473DB1A44B1747A4C7 +4687624D806FAC32A53BD65A333DA3732ADA2774D6621BB59BDAECA5637F1F41 +CD2AAEA8DB9774C2730DBDE3A2F9499C719A0E9D59FF37C4F4E6E54D5EC402C8 +6599488AE21DD119CA2BF54EDB306B26351D0CC4C82040835580087C60327110 +9F8A1277DDBBD25823AD30F0E960604BFF9CE454C5C841119F73535F3093FBD6 +8E47B1357BA56E3D906EC70D68E85465479539187B56EC67A64DE38FC444950E +A82B014254689B676BD02A3068ED7ED5D4C9CA1839ACD730A1796B168466CE4D +B20466F4D60E981E67458E197A3E2F54D844F70F995C00790B21EE9CEFD078DC +BF157CA5D705931510F3CB9A600158FDBF7DD3BC764CC4BB0D2A1ECCA2094723 +9049BF1650BE0C16FBCCF51AAE84BC26436C6264CD02C51930FB9126F37E05EA +DB0D6D39D431C794A3A136099EEB292DFF51E0A61386E9C38CB80C897CFF467C +51C535925DD614D98CC04B5408D2C7845E016ABFC3850F76C134F6B4149C5DC7 +6AD70FA9EAD7C20F2B0F314CF778B97E32D08C71AA2FB186C789B1FDA0C192F6 +545937A7E4431E8DFA30F63A05FDCE6EB9F40781AF08CEC204507EAD2D2F005F +42F37A4E40C3E80DC93B3CED522117EDEA3C85AF48122B2D5500A52F64F6D198 +831CC19A2C419B5EA5BCF65F7C740741324E48AC0F5F5D9C8095D091D7D6ED29 +3DB6C26AA81BC38A9D8A61DCD3C1CEB3C22F25F61A328E2AF32614826316944C +117F176E54C988BB28A746576CA0427FBF30B0E5EFB67BAB5CA8DACE2211D5D3 +FBC26CDAFAE2A6D1911EA3C44250C475D81B148D9CD081CB4E890BB9D97A92BE +CB6D401C4E60CAE38EF4F2446CC5C9DBC750CE6FAFC0FDFA9B84E1C97BE1FF97 +049CAE711EB15ACC6484A7611D1B9D41B09A95FDCF4068ED01FB6D05C0B16CB5 +461B49277895DFD843FC453A622F96B6A12EB9F964572CF42344BA14C66ED0B4 +B08DE8239204495E9E063D3F06DB78D9DF6D21B14E6CF41E24953997ED6AA288 +46603AF6E4F69C89475804013F1F0B7353C3F64C21F80E99045C0D6CCD591990 +6F3534F0CF97D27B4C5BD5160864EC39E69456E9C613CC335EDE1C720448F476 +CA2E86BD0637A98C3CED931559A088586C4E0312165850CA8E27244994BF7500 +C607D8379988055CAEBDF0C18D1356F8052F29D0D4A74B2F0B45F5F5C8F0D3A9 +214FA7E6DBD638B9DD5C873670D7273871DDC13689C90C3208DD0E2ABE5348A8 +117C86743B3BCD6D955384BE08E5FE3D848D6FB6A5B2855AC25850817969071A +3809B08D18C746797D25375AD00E71E9F393BF88E102097AE05AA33161FE3FCC +43C4EE5619B748A316E0E2A3447E0B532C30AF16515FC3257C724BA263E67489 +D728205BC89B5395E55A22A5991117DA64889DCC6FB85514B36CE6CC89271A63 +949EE723150051484D8AC303B21A17D71C1F49E543DE149FEF5CDDA59C0EE3FB +3164BB1F74ECD24778C20D7120BC3E6203AE4110745659AD3719D61DA41AF1F4 +426D80F8BF614D1390C1D96F56D23F0181C250550862C1FF03C4EECF010148C2 +BCDC2EF0081670C86F34F179DBFFD229A0B020468E81B7A61E857E24A75A89C0 +3D33C9BC194943C96C1046FE7C06069F0CA1A69C3D0D72FEB779175DAAB543CF +79388EDE734BCC3F4641288A2BC79B93F98B8940BA57EE26BC924BDA142FDC3B +B740E98BB24CFBB840AE0B783B5802324C44146442EF8E68945E11215F413302 +9C04B5AF8955DC69FE0D3C9DF50645E08E1115E14C674DE76A660CF9F82B490C +DF0A1CEEBF3C91DC17A074282AB7D7134BDB31308B113E8BC5314D9F6E48C67E +223FFC8BD8B9D5A26F37C17042DF6A6297488E8041C0EF4B21C72A3CF9654AF1 +399BB590C059E56ADE6AACA98532607445AB58BA78819705DD7F6ED2E7EA71E9 +5A24C4D20DB1741A36FEF60F3DB7D6AB36BDF2819E3334B11AF8FC02B046E7D6 +F039D2B24EF5DC10622E6CA0A87FFE8F73FB46A8DFBC15DDBD20CDE98BC3567E +979A7E708A7C921F2ABE2EC263AFD72A7749C4EBE08B7635A2AF9AB7801D3340 +75119D878EC6A8C4855FAAE3791D4FDE17A3FFD9827540E4BE6856EE7F040416 +95D749EA7E778A858AB0936AB9924A759E2353C5C9C3FD48DEB28E7D0BE7B34B +C89CF1557FBC55D090B4DF51F3849CE1B1951D87AE619B384BAA02AAC6E8698F +7C693E4EF946374C19381C1A1E66EEA91987DAC8108D27F7A77B0F47DF898F3D +139C6F0DED0DB0AE58E91D7DA2B9072B08BC6FB3AC76420DBFCAA1CA5244141F +67DE15B627C6AD33BD0E8BA99706ED4880FFCC12EA01E3733601B66D781E658A +F2A2ECE5B3351AD3830CE5803DA17592EA41817642424892E711093242459211 +B18C7DA9D04A5FBE76E86CD50D41A43B71B576DC1A829CDE5D06277B65583379 +AA9BC47BF2A9F92F3D99112242EFC01C812B69C9D23349853AD7A1D7CB1D8D2A +FF330E266B629A2EC664D0FD1AD9D12FAB7D37F9ADEFF3CCFB44BCF014FF30F4 +D00C365E6310B774116FEE7A39C8C080C5E775AB55F5B5A0B8005C2943060491 +CA8DD8B5EA9330475126D5B05353717A457E794F1E4975AEE112ED89537D008F +5AE8EA6EFE62DFB6BF76CE78F730D55A00D07E4C41F7134224C4EF0EE7039148 +2C64E12F278442DFFD9AE8B7F4D3A6898A420FA89BE5B89C5E955C7B7413B397 +518EC2632F26A90870CD10F31F9668B611507E789C4E3168187FC4530EE79574 +CAC9344B244DBDD3067F274F73B2CE47C1FCCFC3226D4EEA748BFE9CC060C79A +78356BAD39BCC4812463E4238526796D673E98D7BC5EC4706510311F6359DA8D +AC2F21FB94A7E7322C9DA1944A0EDFCA6D700A181A314E9FC30E4A519795E00C +8D1304FC45FCDDA0B21B92ED4FADA1589987030A5ABDFFB8480A03105BC67A43 +C3168CA0E0B541DE959F5EBB481D9121AEBDBCAFBD7A3ACB3EDD6248678A3591 +8E65DE52FC7643D3E6BA11DC23C0F58AB35CDE7A2C9A322052C33C3013C04A08 +F589D07DAA94270CB63D40368B10A1F685B088074296807EA16B24B73E2BFB21 +13F03CFCF8F9C00ED35AE775F4EB98E74FFB6C5167946747BDBBF6907B769896 +C471A1ABFB458DE1F8A6DA4A2FEFAD7A2E2E6FA6D59C6FB6D9644283755714EF +10FA7D92DFADAA1A89745613E86D44B37ACA45A74E11FD3796974E09C235C7AC +088D70DA7D7A36C195A179A71E037C9C8B012D073140AEA89D930CE356B6BC86 +BC618805F470E658284E5883354EFA383BB5DC1D9882F6BAEBB9B9DE16A16CD1 +B03F0A46F2600DEE2BFBDDF214573484C63AE91A408DB7D99754A29A5704E542 +75A50D99F32F2D9E51BD551993186A684FCCA1697C3DD38319DA2CACC32D31DB +E9001171988129258F12B9F1CBD9498AAF70C2E61CAFE0C3C449FCBA20F6870F +E59B414C064A94C842B5C06CFD8E58BE0F1A4894E5D03AACDC3FB9EC75EB1D8E +7C2EAED9A91BA2D40DE50E25901859CD0C631F2853CFFD35D5BDB5761EAEF50A +7DD180237559E73456A03572A44149D42E474C7CBBF725ABDACA045F0F52CDB5 +113F851DBE37A8FE98656BA597433661B8720F2A7936138876152DB83CD25489 +87EB705B75E279E8C8EDC452857CBAEB51BC861DFD13579F819D30CCB65FE90B +A4B02B62ED722A81E55C18835B406B772D0208C89C8A709EDA8BDD11EAB7325F +61A08E897F6EDACED724E81FC12A9CF79CBEF1039925CB70F876B6FE669659FF +741446C889F33D786EB2FDC459DE2BD5FA08FCD942AA051BCDDDE5FC7D8F03B5 +9461D5C8E12380E28415D9385CACCDA547BE120613F3F83A48F63310DBD95E5C +9D542F52EE236663A11FDE4C9EA259500C1CC1EEF9BBB36B519186FE6C1F7C15 +C77E8ACBB5DACF0A32D379623D3DC0B00744518A70ED5FB3C162F217E4A684EF +B7BD257E116FB073F96C196B498767D9AEACC9A226AEF6131863771BEDD966D0 +D8A8BFE4CB9CEC62552E62063C5EBAA99C5E71A585509D86BE4E82ACB4868219 +1592770FA787F2087A0443F43C23ACD93939FFF32315FA7974ACB4C5446C69C9 +C15C0ADEA0AFB56036FFAC3E2F3BFC349B7D4C2B701A54779AF80BC5ABF417D6 +FD1E1F113DF2F10172AF64834453D8C81D66BAD7BDD957F50DDB2E0A1740292D +023AC79322ADD727CA30399572AE6ECD0349D3815930BCBC2B1C31B64DC257E1 +2B060E06F6842EC6652F06F67F1AFD391B91BBB2E3C9A015D82EC626886CAC91 +FA36EAD0EA6B4852B166B0162917CEABE439053B5A3BC537A26A7A2E317C46CA +0DD1BF31C1CAF47D796BC1AD82A06C904F5514254AC5A5861B2FE4B6EF838F0D +239D3D63913C7009174C8F0A15A33CC7830CDB76DE580175D84AC751E55747B6 +5A09331CC40DA86B9178D9AFE92C14C9F66FAD17C7FE6088E63C455D8D867E79 +95B1498F4B0D3D4D0A53ABDC1DFBF0B2CDCC1E7C42608B15E7DF9A29DDADA476 +35DA9EDE3E601882A4440BB3DE5DDC7DA78CC152DBD817FE2D7B538075C30367 +2736288DDB474FA837CBE77FBACAB32ED156FD0DB389C707FE96E536AB83439B +02D30BF7D65CDEEF5B3261C5252E5F8E844618B9A7AA954828A58EAA0E9A656A +6CE7DF76704FC97CB6D49C03D4D71C2DEF876684AEBC2BC7A89CF58187E82180 +AD4CB0B034BE1B02D0BB86931300587ABC5DA3117B4A390D6E0586974E4ADEAF +BC66BB211224533C4C8B97E9470633A588E674C5CEED85238638EA25C0204CF3 +9D26D57DEDD11DC7FE69A4EDF9DDDF211C24C196FF319C98245A01D734D58100 +1170865FDFCA06F590768738257FC356F6A71B069DC21319940016CE04C9155B +EE7C5666B998EAEDF808915EFB796817412F6D2B0D2BA2D8B5D5A6DBC70AC6B9 +423913845C1EA21FCC574F863D89254E552A35DFAA78A6A80ACE75248702E802 +2673E41E345998DA68ADCD37FF73C644B448D7B06A32EB9843E8E9F2157F5301 +23932D4B794CAC66F40DB4367E33BEADB83BCA46F1CA80F3A77E199148289F5E +3A8F4003CB2BF7E48AA7F1189BEFC67F05423076A191AABB788AF3F0945EB60B +1B33D0B4D37F3A98D9A94EA067C35E4B898C2BBBFE30BA9991192958C6A9761A +903202D676F20891D5DE7C16D3D14C91A484F4B71020909BE78842D9312B8A93 +A6A3E0A75A8024653FFD6DCE0E737E6BC6AC301CD9E3E526C43E10B2CBF80724 +9890D1DB182ABBAB8A07BCC5D62ED2268FE40FCBBFE936164B2EDE40D057A99C +3A1031624E3389D6B087345C5A02B605C15565397112BC4E4123F3572738074F +570C1229FD449F9E0CF5A54E437ED97ECC54E1A9DEB9BD58CD5CFD3FBC3187C2 +03EF078155677B7D702A456AA0DC614136F5B4D712AC35F0379BCDFF46369D87 +2195BA2099E11F1E801594C42A46E1EF538FCB737DDF0018F47958E76EF52A52 +798A178EACB556DDB528E86C5EACE20CF83BB8E8A58CF1B295D4E2558E97CBC3 +FE02301DF32991EE5567F1337F27D55A27229E7BA717F4F911376683A0DD024C +8D91F33D9D5E5FC42DD7C1FE2897FA609D2CD0A4D8401B1F4EF0561E8279C02C +48E33816D078EC7906956A7FCED03355BA19E2D511390ACF4490A2046107E0B0 +4DC8E1451C071599F065770CDAE88A542724AAFB27631C3E1A20423F56CFBD1F +571572BB8B153D035AE727F448399AF8DF96A782B7F18EF6968D154A7F07A945 +9655F7FDAD75998C20697F62CB2F97B35252E8C5ADB7C12D92202491C8C4B1F0 +6D62022B3E5B4C3AB0DE75DCCF7CCE1603881A6565263B8B5F005905E6E69BDB +4208E35F1FD999852F246CE7E5CEA31EC4C870CF2AE8BAB72B18B537A0BB15B4 +CE991D79FA618E9338F229509E5D5A7D1ADA8AD342DE954A2DB7656F1592B867 +2E169998FDDA1387B17F2BBB551DC128DCA7F022278E01FB373DED63E0DA2D1A +8BC60588F6326C9844DE7B18BAB9F953E24FDAD01890B79755B3B164420D2A93 +BB02504851E1DB13AC6CC16BBCB8B91AF7F84AD8F35C9C05575935467CFCDE25 +DDFDAAB419CF7F23E8CBFD4FD04C4D4187EC7B53B5816EFA9D7A065A899E030B +740977B1B9A05832FA483142C78FC4A9E878561EEAC74C40F46275C1FD957FF4 +5D610FBF61F9398EB0AFDEEA8745299DA4363FB2E853ED85E8DD7A4E5CA39B1F +22D29684EDCD0A7B5A7EE97B7063B31925D24C415C57B2BCBDAAA590C6B93E1F +7DB56AA08A927FB5348FD14C5B6158EE27E948815EB26444B7DDC8928FC43745 +B97F3B33BA70DFEFEF7350EE6DFF769C15F2085D3FA6A6509478B42A15889965 +19A1EA0B28F029BC4EADC36D8E1CB13B3FADE5B45119A4E6D1F8176B301987BB +68B7B0089CCE9228DA5D231D0BE393264972F5E1ECB88A0D2AB2348A915B151A +E77ED585C036EF0A1DE0EB8123C626DFE7942FA777DC8D373FB50C05D8B647DB +D6EA7220F830F0009A283E92FBE547407AE503D7A58EC5F99D424F34DA354E7F +6E9E231D380BB153B01E59B9A5B789EC88D5D2E270CEB6084D264E153872507D +5FC21BD1C0459BAF40B77BA8E5155D87124259BACCE54D3355627208AA69E6E7 +1CBA5ABE42B26E5120AB9AAE1B5F210CE38A4A140A645D6A17FAC38D9C07F33A +ABE942706289F28F224D5E5E1B60D0116D9E71575F84727AAECA6FC171308F5A +A2B01C82F35406358D1716C887DA4A0FE56FB5260A21D0ACEBB7EA0C506235D5 +C8B5910F3770FB5B175A1ACA7E9926628B77BD3E81FFEE533ED7E30FC9CC28D3 +C183F6495E1603C9A630382D907475F0B4572B7AA506F457665F3CA379F6B037 +62AEE570DD88D47CBBFC3AEBCA533C9CA98830D3DCA5303C74CEB3ECF4EA48D7 +4D21FAB7FF4C23B6C04FA5781008EFFFA56A81188C1FFA6C5AD7B56F6A4C3517 +DFF662A1B3C2D0FCA831FA80F8AA86D22D92509D2FC8EDED4AB73FE19BEE8012 +3ACFB25AF7F58DB91E355F3336C6EE39A9A962D7298DDE032E2FD2A170B0B293 +820B658CB125035D9C23CB9EE97BADAF6C10FACBE7E52B79E5ECF7E375ABF9E3 +5D4F47A8648A5C163D19799B10081520C4A57B17317A119937C7C2C8B8F3BBE8 +9D0A9EB82F19F9F8075C72692FC0157F846AF7E60E899D6BE7DF43214A355744 +CA08B479EB5128FC372AFA1A03E45949EB50A7A7DF8784BB2C28BCF824D24A7B +F6E4899E6DB6CD6828810F20AAAE413E65107BBE77098ECE77997CF0A25BA9AA +65682CDCD88265B6BA6AC95004BF36B065E6CD8405DF2CED6C479AD3C12F506C +99AF3B3902F056CC37BEA6D67CAF0A672830EBC41699CDC62886C6763891F029 +CF7FC2296AF4A62B9DF765D464AC422D61F987E553D5639FCF7DF07B00C05DEC +DF6BBAC0ACDC9DAE68B4F10F7EF0B7A8557DE962F7D59EDFDC264AFF463D1E60 +4436F991A45F1EB97B0E3C384E50A124F6384F6AECA650E5AA17FB2F6146E22C +6D2B00FE36F9EECBC8796D8D80E0B000EF2C949DC8E9485E4126EEC072D30BEF +C4CE6D146730B28823B651A492CECDBB7432E4874FDC5AF948211C9AC7F524A4 +EF504BD73F617E6FF31705E1C9C8E9AA30E1279DE67046C461CF379AC523E71C +27BE10A2682D390F8269AEE730F064D414B8AC9EC6CCD30114B8A2EB43A273D9 +6E30B4FAC88B682260647C6D1FAA515E7731E41ADB4E28D33AB2FB8CB342EFF4 +2D274A5C3FBD3DF9FB381DB42A6246539A8735292BCFEC087AF96F42842C3193 +AF34A80161C83FB67D5ADCE1A7347DBD5EEE014E65CFA9549BFA47A796C25F38 +1381B282FDE73811BE997D0266F041D7F45C5A5695FA013D1B6A1480AFC689AB +2636CA8B8F897B8886E936F55DE448081AE85B40D71A0514C66DE1159CF46E87 +88C7CCB188EB8CEF3CABF72336615D70A30D70ADB245ACA30FECBD564F521D68 +6D4DE456605A1BE09ABC4D231DADF7A2D4002AA1B44E6759552FD08F87567D3D +6327A70BE165B718BC3852F34420330912C3297B3112E080625757DA2D56D893 +DEDD6E9CAD45F14418CB97FB7E2434D2E873D514632E1F7C91459087A89E0B47 +904A535196344C4493F6BBCE23E0B00E4E517CDEB6A4A9AD8C84AE41A5B35DBE +420614A38AA9B64A4F06950C1BCE965ABCB09B198A9761E35A453916B4EF3477 +C50C79D9407E3A200BAC8676FAFFAD726DA0178DEA767B6BD3140B4AA202C504 +2612919D15A1928CA0EB1FB966BC65FCE945D84B211579A63A8D11C5AF411F96 +2D174120277A6F15227F51E4A7D35AEF6096ABE41EED480609CB288859D3836B +9664FC3837C2B4F8B21F558A7A23B87AF55622777E52BB4015307BFC43A35907 +568A02E561B59036470B05E3CC4C8C0E46706EFA063D21CEE1C842AA11E5364D +E3803F62D5DF51451F9256C23A9A9E7AEBDAADAC141DDAAD57E835E460F3DCA2 +111ABCD9C069EB2475B2AC3D05CDE91249AAC471BCCC7F5A21E8578E2B546EAA +991FDA65AC39BC908ECBDC41A857AFD83F9B937F5D041CCE48F5A06118840125 +1D40812F36F4C95DA463A21C213DF2634F4EA2259038EF6F6E0B855DE7A6D45E +678AF95A94D7829852885036B1A3CB4F1C1B1A7AEF63C0BF4D0170B24A053CA9 +D0A6BC774105F597B1AA4CC3B08E8DEDA7973A2D2CE2896FE01BD2E1DFCB543B +B14A8577CD86C204150EE604342D59363BCB4F83B353BA08A03B79EE64566388 +B168BCA31E015264F2A28FF05D3B7E8B786B61CE545F7BF28C8A261BAF2289B6 +3D5A074E51364393BA187382F683F1D61BD1661AC0DE9FD29840C5921FFD56F0 +3F49A8BA54DE9C22C55DA4FF14C03A41089F7C521CCE3D9F2D98497C52483B68 +8A20B9617E5F39F51DDDD921792D3EF2692EB40E4F6B971EFF9A6B05B6214D9A +352AA8F31E8C7AE63E89B75AD464AD70445939C0B9310492C54B61B5ACDA9252 +9567941DBBD1966124767A03A2B4158E1F7AEBD75C2AE32D8A1B9815D341BCEB +B40E074FBBD6411D5DB4374335FB1B1A9755B15C2817531FD3906D8EC203701A +0ED69D5553AED26D9A383173AEF2EE8696FF40628F1A8E23E30F2A2223866B12 +7E1383B6109042C6249130A23747D2A425652A0CD8EDAD594C9A0820B9D22A31 +86081709D92C49AF84E0A1B8F91F331636E65249BF6011BC90FD289964A10AAA +200F92039E889E3F481E0B0B9A51559336B209BB3E53BFC95205D2B2D4347C88 +36D4182EE53403610BC11848F63473F79A90B67EE98900F55B52C8B7B73E72A7 +DDDF2098B79C17A0543CDE430A759EAA8CD3D24E6899693738769D71BD1BDDE4 +9D946E8B79383F8F85BCDC5CA3614431A7C10AF51F18D072DAB948934FE11FBD +DA20E35777E6CA9B8E2B25D7D83959A2856EC0AE8B57207C8394E5A55445BA59 +39D4929AB08048B760BCBD59937BA0AB002371B5763E6592A4A0D2C04731FBD7 +C0C90D8CB69CD3C869F723E86FC9EA1A0FBA861E97E946B7327EDFE619FD18EA +F82AAED5730FB13094750B2EB2230DE2C147CFBD8B8A3526842322250AF44D56 +DF7C44B11104C0D8E67CDCF8344C085AF95F99E831D91AB8FCC809C4AAA3E08E +EBCCABBEE816BAD11E8C507EC8B952D78D1FD64650AE5A6C73C5EB8EC9FC3CCB +B47C9727ACB33E889D573E69A3730F08D7F610E549CDFD3D198241A68E848EA4 +D72BDDF38CB1F68137E94D364AA42BB3D0709F673BC2BD81C4AAE9A104E30E23 +E6C18F250114BE8786D4D2D4F64ABE2E3771CF1BE71F23FCF870EAC193281893 +CD54877C03D217AA3CDF70A6A3EFAA11151EF68C20CD84F57BF5C66126DDC02D +12C51354C1CEEAF34B3B81DBDCFA9EF2C0A781D93968CB56FF95BCFF003D495D +1D22522FF63E41461A6A84CF8863A070988208F87CA364BCB3B89333DAEB6ACC +CAB6614D96BA022E5A1C2DDDD631BB6957214433D8BB0A374D2917FD61D8D5E5 +026ED0AB556512F4513D2BB5FEA17FEEA5CC7D0539A9D5B5851BBFEFC8E73977 +6872FDF948BAAC2C74119881611BEC1D3A323B99537BBE95E0367E5501C0C98D +5352E834CA380C31024A7A8015C03EB2423669925DBFE661CA874FCE93862E48 +7CC0FB337E11CB961F1AC7ECF8C9C764BD57D8CB369A46DC9BA04C4BF05B5BDB +8A3B17199B16CD10345FD677742A2A45F22DA04A16CC03D06B8AC69FD29A86B5 +B1B9B91CB290BD554F5649B56C808CA3B78A262C570312019CA230B5D9759C09 +52FF120A298D89EEEBAE8B699BBEC7DB99B94E8A881E8D1D0AA1B9D22E8FA525 +A8F0B6DB3F0587527FF8D880F7A10329A25667D3EEC0710FDAF460BD94E72D8D +77648216F5DE9DC39F9799F05A3F6D45F8927AC994721D4299514E899309A5E5 +7207C073E47783862CC49DDE2C9F4EA11635FB0866DEE13601C6399AC4FCAFF8 +AB9E5466FFACC8F9AC85E0C5F72DE8A5257966AB05CE7F676E255DFA2822E9B7 +284F5FAA196E8F82E7955C5E1505D5B253CC17525CF0EF6957E8528C04F30EE2 +8056710820343580715CE32FCBC1D9BFDA81AD2AF542C7759E607AC811A6F74B +63D0D17886B0957EBB568AEE5F7EAACADBCB7CE1A334AE7CC80649F70FAA72DC +1E765FD93EA698EA19061591135CF16FD4331C8E0CB6A8F8369CE85B29D06B35 +CAC22F2126DD852206D546C8D19EDAA9C951909648B4645462FA74FFBFB0D447 +7DC167A0E59A71A9EBBB124510A7B257E59F18245440A2C3D737539453CAC764 +9508E65CB02815DA9D7B97ABF844D1B0E8FF1D7F6DE3B8939EE023E1554BEBC2 +99FD40151B728668BAB2660FC10677E9B33423892743BD09DD8E292155135062 +F3F7BE098BF4F1BE0EB5456F32F8605F96C91A4F5ADE77717CC5BA464F3824A9 +964F2F12F994D51DB629B5BB64428AE3805018CFA9AC8BFAA688ADF61EDC5AC6 +D9A051A9A04AB8CFF90FE4B27E80B030DDAD8FD54FFC5F7BD058DA3F0EF04559 +16301A335D7355DD0FDB4ECEAC524D9A47D23C6EE3F802C7918EB5C713122AE4 +BAE96534509941ACD95D733C94326E8B96823658B13506F5D59D64A92115CAF1 +F1FE219116697A84CEB711C2AD6D78FF7556B573922EC6DE42EB8099FE6131BA +E1B1EACB23B02BFB7B71209F11569B1A856F9C8498668DCECB51EEF94A026F88 +25AEB4EADAECC3FDB5D533E2C4CC97022F833992A98F53D6EB4E19204B33DAEA +195D66D9F15F798F7920AEFEFDA95FE8C22FCC713B605267CE187082D282A997 +44603C582E8B3C144DA8304A5A588C92965BA41A88646F720AAC08BC2CAF3DC9 +7A69597C0D51A048617AF4311E00BF3C393EC6A4C03870665C12F72B2EDC6F81 +1FB9721A1D80EFE8CE950AEF4D4DECACB8E292219936D045E411C012FE4BEECC +E8621CB94FC2186CF62ABAFE21486396B154BC72DEF230888A9AADF84EC6F689 +BD342ED79D6ECA7A17AA19D10CC5BBFD1A2CB0320398A9FE47F8B7863E3A06DE +78A4A109BDE2228AC6F0FB4B27C6AA2A9B2B99D8204F9F9D7DA333A4D327B1C8 +DE860B2D218431B28B28BDDA9004938BB6DDF00077BB93A873A2DDB93F53CDD0 +42BC9272149BDFC921A5C73F68AA3958B7A5C48C2438D91BDE07FFEEB2641F5A +3739FE11ADA7C84CA46497A5BE49FD7D4DEAA46992A5B6CB40C72285A14ECC77 +0016ABE4A667920DCEF88017DE06D0DD240DD8A0ABD82B803FF8E0B22D6058FE +9D982E2CCE63F19FE91C97E9E85F927B71A2DBEBD01D0EEC720441AEA705FA6A +8FEAB270E4F10A2FDF69F9FAE7AC97638BED0AB87AFC073392C243D398D5FCA4 +4992BDCA216A7CB633F27FF7FF18F2ACA50FBA602755D9DE9CECC4DF9C2E21BD +21009BE6150D1329E6128277A42769BBF15ECC9C8A4FFA02D5AF18FC20B2C1D8 +937A1D0D73B333D93C35B3F239810CD7CF447489EF2D99CD914D3D914A3BCA54 +C96567DABA4DD64FE502EBBB6FFAEB058D78B1EFF3E3A82A5D429A62751B249C +A12AD34D5BDCC6146AE85E81D7A710A63BC8393234DADEF079E66BA88771E709 +09DB8614AE7A4900EADC640DE660A7527F3FEE923B0E1096C193B01501C4FEBB +23B9E8839237A660EAFB513729013B868C8FC91269375EC5143416102A3B1A25 +4F55196555EA27629D3585BC145555025775E6493D7FA8140F7F111910756FF9 +6CB1377F21D5E52938FA40F5E36C6DE07E1BABA8629195B1E975C471E89EBBD6 +F53AC5BD9F11C384CA814EF00A6BA7DFF751B37A340ABE5055E9BB33137CE603 +D959403AF0D62C94F5E0B75A174C577727584A58D9363E6345A50C67FD89DB37 +891AEB6BD2F21F5FD752B67A74C45AB396889FDCDF0F9E65E403E4AAFFEF7A93 +E06F6AC81636D1F36037F1CF9E1FB33AF7FEEE6C19AE19A438F8560FC5FED8E1 +758DA356AE7DBB36D5D2C4C8E42AC7E441819C79B78B94B35E8C2B60E25E00A2 +CCF0B5C445F705EA8968061F72F10B1B0ABDC422721F9821011CF64B34A8DF37 +85DBC1EFA26C75FAF6318C021876F65CE4A5FC85FAC00B9509620B4E67D9F910 +8D9DAFCC2DFDFF946253F1CA272B9C972DEBF9212D14201EDF6791F671575481 +8522E7F597E5A4BF9FD7F67863511783FFFB54694D083F6CFC7EA93E394926DB +A7253D0BD6E953C604C73CBFA3FB31975864CFDF4482F31F7028920D511EF03A +354D7DCA40108521CE910B8FF0C39CD79922DC325A069318C5AD07D75A623B13 +2C3686CA047EBD49D88CCE7B3ECDD3CE10335936110F5B84AA396EA202487AC0 +902D2BF2F262A53A71DE61A562D8E9D6751AF290605DA22F7BA2997D160CF056 +9250BEA35BB85E9BEF8727520B139A328E290252CFA517C33AB4A9B317537332 +5C2B74E872F4BBB8788CFE22CC0808F3A2E5C1670563C93190E8B2A5A07A57BF +2DDC97C4B9416CEE0064165D645F5483B3DDCBFF345471B15CDA56AAC11A5DF6 +35CFBF2C6E4591FD9EDBC9EA0C48E532E682C9D0AA9BA2AC4667DEE486942A97 +5AB2EEF5D6BA5FF21A5B906B781F29B5ACD98316ABFD2FFDFFAB8F1A503419D4 +AE8E3080EF95240AEF85BD1A8FCA1086893701169C935C8019E7F8120A12541E +3DF985361D924EBF248DA95379BD7988DF43069D8927DAE94DCB1B0CE3943320 +EDED49A7C2829C8D8D614186789423BF7A420EAE591DDE503EB7A1D16EA6E036 +DC6EF8AF16F50A54CEF7353C7E26A685B81E90BB1FA6C65EF8D0D773092F93BA +D71BC2FAA34C6743769151FCEA4F8BE7AAEE6AB46D18BF91F86D290EDE248130 +0CF158085C6E93FCFDD5EF1DC1D5A0DDE3AEE2B99F5F38182CA1B2992D361F5E +C33FD15100A84A340B77182749317886E3257D04B23C0762C1050D12896932B5 +44619D87032023B3A5C63867211DB4FCBD611A1EAE004066AF85049D1F6A9F08 +AE8CBF74C2AB2E515AB7FE3A73F7BEDD398B893DD65FE25399AB580B6DB60640 +5D8DD6A78CBC68C15B8981854F20183B5ABBD100EE839BDD9062C2D1738BB67D +56F23A12C8B52F3DCAA041EEC32B88809BF8E996925EE03D9F46DCE818A62683 +0FB1DD42EAC2D7E236F141F402D6F2046C518C5D09DF7081CF264E7F975F3337 +19D2127FF158E64CE29BA5CF63890FD1875427F22E6FC4265188B4DD0961B3F0 +0C65DF48EDF5F622C85BD255FE8F232CC0A89E51253EBE53E1BA93C8C70F6051 +9015FAD07A6D5DD93BC3AE865B3CC42FE7D7CCD1A91640EA22998F4B2A026FB6 +BC3DD14E4CB8C0AD2F15F450C551E78412670A09D30FEFDC264AE78E044E6519 +47F9A97066644113C232B0F5992835906BBC7D1712ABF84933B1DDDD9F04F260 +D0432FAEB045EF6443AC6DE5F23399F8CE0D2B307BAB9DD9FC29D186BD43B281 +50E7E8CC2ADAE564F31D57F72919ACAE98A86AD0088EA14ECBA752AEBA72B2B0 +A4286DA8FCAB3F869E53A03647F438C5F2235A350293448D01A7558DAE6F6AB1 +54FEEAAF5E951E18435CB624645C43F1D18E722392AC27A2CB48F661213D3738 +3D4A3AF311584B47ACDA5BEE484504391CC9AD3686FAB39CAE504358297AEB82 +9A4B50A4738A073CC4494FC7DBF9E3756B952DF46D18E6697EB83D60B8C5B39F +5E0724081E24F639C598D97A069ED00EFE51D5BA6630E66F245FBDA47F8DE218 +8669466617EA2B38839CE4C1DB4FA167CE521A339B4610FA3F8B6C80B6692F00 +3F7DF2863FC435866C04BCA80392ED8463D6091443EA0D236AA63871A9558604 +58F243E3FA143ECFF493A2160895E7F5149C0253C3F38D9BDC5BF25596D1012E +0DED083360686EC3D99178666CB420F461D350598807B303FA2BF0E9C31AFD28 +0B16AD173CE68E451FC2A89405E175A50A6B14C73B4EDB221F07437C7D21E0C1 +CAA05AAF3DDBBDA76843049BFB933DD0572F93BD334958F2F7F948D75E24B822 +8F1584D5409D13E20BBE3F147E9EAACE7E2B4F03139462E5B3411DC4D602F759 +99D9BB5C7A906C1161470A2944673021FAB91EAE69A3071002FB35588490F2D1 +2A18488F1D85BDC8F319FB8FDEE187DBDE617BE5FE4B9F3E658477A337F2F574 +E05903E211996A437DF2375D2BD370A88E8BBD1ABA929F3E91C6E7347548A429 +75559BFBA29F73DA39E5790C726A04B82AB721A2239DB385D0BDE88D82B825A7 +EF75742F9C5FDB4656188CE6A7BF12AB0AC9E7FF4D6909CDF21D00EE169AA821 +B374052B7D2F7D15EBE7BC7C416296C64F8CB1F401F1CC84727F2407F8B56D11 +0504119F727F1742A394ACD5639DB0F1EF210F886EA53AFB02A4B55DA1E8784D +D62F386E3C4F4DD7EE620AF1A5104F24F2AE0DB37E31CD8F45E1A71DFD481885 +F8B2F472CC44F8110189B8620E03C47988CAF3683DCB430D002F6F45CDD7A855 +363169A9F2FC76F56D264B15A9A7B7F5920CC90EFFFA7197681E85178BEC1ED3 +5E5070F048D317012F71CC1012EE0C865CD8511B02912B7BB219AC0FEC8379C4 +7615FB3E693F3289E4661129D5C88F47719FB2DC69614B505394320C33AF1A8F +D6DF2BAA6BBD483039858E89AE1D914329D494B07625A44B39D540DFEF651312 +ECD5BD91966855C625479AFF310C72559916B8D5C89715224BB6076F39009110 +F8BA24AA0EB2A9541DACC263092F00707E393843A44E4167F4F3FC6EABB816D7 +CF92994612ECFB69029A7057CFAF9C0D955768492BE91D5FE1F2A53D7D83F378 +C2F76E0C541DA9011B4E98D7B1DA327725FC1615C8359C6E226793F3FFA2BF29 +C70DF9545E1768BC47E60FB87024E60B10189EB73C22824E3447E132C318F61C +9767BF496175DD3BECFC7EA9BE9611C2D4A561C2FF857989C6A0F5119A409DC9 +F0DCA9AD029A252A453E9B686702F2C10959E1F573FA6044A17B4EEAB78BC9D1 +D5BF884AA876E1F389DA17D200D5B3F714449E8000246DE6FABDFDB3C249EC78 +0A9ACCF042616E6C44265767F2AC8BA72C05FDF408AF3DD4F4831A42124DC0E7 +B6B5B11F03D6481B25B03DD31106E55D372D9ACE730CC8CD90206F902E47EBAC +B03C1B7DE005F3047590489F0E68255C254800FD7943E15D71D42E7762DEA890 +01701EDC523535EEDB3C483A18BD4D24B7F42EECBDAAD1383CEB53B12FB378D4 +BFA16837BC4DEFA362A6FC2E54129F6F6651F7A5F44AB3AC0FF32F3C72646E59 +7C11819DEE5FC6AA6353D4040654FBAA145BC55D7FFFC1EFF92BDAE7BAB7F190 +CB8876505FDC746002F25FA2004A9E5A96721373E0B695BE2BB224EA724F510A +D9895E9E62D51DEC8D7461394D4F4821C9E4499C2D07685A83AC9177C0DC6B8A +A38B079398EA05E2A1DB9EAE0F11E15FDDA695085100EABC758C6BF719A7FACB +CA7BA5E16F8C8DCE646DBD4D66D869B893FCF5AB923D8F29DDB6A40A3DDD7DB9 +05C5CD5A916D0927A3543CA1D6A564B47A1CC26FE5FE9A632CC399CA745552CF +A2FE906578477C2B876F31C32AA3EACA2AB01BA7598E73E17C17D5AD7D299637 +5B7E70C8F30330B08CE90F9342F56B5C4A7E152C8CA05374F4C855BD68AB9AC4 +997C206A6A540C708FC16BE3B1C941D07E7147777AF9F308452EC1AD3399D776 +B436193B4C9DF3FF4C8BCD6CEC13234350A58C0C4410A0DC8040813452295E22 +D9D1C2E88A48283A305B5F542B5782E57EA5ACC502F4AF5B0ED355A99AC87905 +D00AB01B3C74773846F6E4A3F893F43458445EA0A3E2FD87692FB655C02D41E9 +F83629EC75CD563A28A5B31EB70F31A71C38F742F647F6B676079494ACFC07C9 +5A448CF60F0072CF32914963A50A9DF6A3B05F6EAC1B80A4795CB470C7A9CA32 +05215E390CA2C6FA36F049735A2E2167DE76E0B92E8420F9987E8FD3F61B9810 +F5DCBF27867CCDBFDD70080C6DDCEF7A7DC4CA09C781BFA643B664A130CCDD4F +870C7768B98900A9510EE42B277E7CB01ED0360320A3153A76AA94E5707A0B7E +3A73B565F936C30AC4871F719EB42EA9B63DC8DC534AE005D1603933A3DE43C1 +7EDE421477454ED65D84DBA96AE67F9618BABE03DC4C38378A1B25CB2F3A3DEA +3FFBB35D858F34674DADD02452449BF5E624163499E8F809BB69B0BBD7D39A92 +39E851BD15A4AC062B965E7B20883517432770321B072FC511EFB9F1A2EBF51C +365E554030163A3D468B28AED144736BEAA51E4CF1BA9FAF2E1961BBCD690ADE +897CA435337506EC2DCEFD7BB58D1A424FB6E0E60DD757D4889346FD090F0634 +66882F77C946BC9AFC4DFCC338E0CE97C9D1042C50426D5597CF67A4F855F00E +F040BBFEA199BE8C7893F346D4C7CFA6B1462D89DA8138C5154BA3F2242FD34D +81E257640C216DAC3AE239F3888BB12783A96D3398036292D1C3AE3EFE6F4905 +73AC8D9C872884A5977B59C9AB1D765F16FC98BC975CC6744572440DCE8C2074 +4B90A35CC7B76855D18BCAC4A116C42791544486962884FC8DB4ADE5BAA94E0B +5128D5D3862B32FB9FE18BEC380D2C5D34CB403704970783507044024ED6C598 +61DF70385332E0CF6C811BF064B146712145FC20544D0D91A9BA8D3063DF25A6 +47CFA6DAEA3E7051391BFF42B9EF3A1085633F7ACB83A11A9E74045B7D7C2C80 +D82641B164686308D75E4BC1D7337C27F5FB3D3C1DBA1416C0067298C72F30DC +467295AAB25B0C6A4BE11228A472527434D5C67AEF200F05FA22EB371AAFC723 +E467231E4CBD5621BDC9AFEDAC909BC898A41083B8BE6787E941DCC8A74FE51F +5D10D2DDFAC6207EE8117ADAA96A68A5A422CF1734235C8C7C3FAB8D54CF60AB +23CA0B19E6164CAEA86C652E111A6FA0F5965E9DCD8594791FBFF77A5569D793 +81DF9D8A4FF93752585835FB9B82D80CFD743D542C5A421FE543A1687B299FA5 +A1D7E0ADD8B2A05076A0D3697D4908A98C966FBBC0F70AB2290674D3A8E2AA88 +47BD84D86A93171429FCAD1F3DC29753CD3B9F63FCDD1DA97D1253E87D9B7A03 +5EF625738538E82231CB92EA67446EBCDE6E96C19FE42BE116E3AF8B0F2576D2 +13905D0BD793D968152D23FE6529D8C5C4F2A98F97411FB6C0331FC7A20CC4D2 +725E02560C4BED50DD5B00FCA1C89BAE896354EA09AF6A44D56BCD8EBABC6BD4 +7D9B85874A68E1C2B56A1BD61DEE8CD933BF872385D2910E5ED5E7ED6B9F202B +34421B1AC673DA5302D4AA3D9C7E56AEB4D1F5C313C2FC2D143B23A889EC0AD2 +09A2F5EE55EF1DE9144EE9B0E515E92EBC49BB1A36120BC3C1287C2314623C5B +54ACC9EDFF75CD9125C6F37C75C1FF1D695CE9ED7F7E6A9E6132149A536644DF +4C75D11744FA1D4483A56F61F6FBA11A5E94C5072A21D8A7275DB0774D57C7A0 +E31FC864D3900BB251F3CF3751CA80D4A7D89AE69EABAA476BD9FF9CBBCECC49 +CF65BA614008BC38F41BDB3947E2A36AC9E4F241510B88342AA24BAF3F83EA49 +DD1DF58CE6C1F41D425BCD2E4FF151A35A7EB68A14703F06065F0A7B242238DB +1D68B653634E0C5BF43E3953BCB01FF43A511C8A5B1EF8371D10405C3C2BE8C7 +EC9185AC445C5BB9A3D341151FE647F914FC0D74BF199070E2028EBD27365A82 +11638DCBB4EFD184F4A522916BA69A0B689CDA7FA0ECBC2E456E4216145763A4 +F8644FACB544EB6CE20D6D2BDC17CF599565295C80059440FEAA2D63ED89C521 +C7244D3E412EA7A6A5A3969AC631F99B3E3EEB0F3C09B5C9B538871A45A3113D +B1B28883AF5B41335A9CF17C07047CE77AA6BE4BC9A53DB2B8F25E77660ACE7D +C0A7882032D968A4411D106343659719BB2CF4C3C0C0BB6F5A2AF07537BDA3FD +B0B84DBD3B93DC9C3F927B7A01B4D6AFBED318213BFEA9A9A3314CA0172F55ED +2B1EAD47D6592C883B29614EFF5462E133C3F23A91677AD9A62080FC2BEB4076 +F70BC0D61E22F181C968C2AD292603D86189ACBC5EFB580FAFD78A2C0BCCF629 +5803CFCA767407C9512BCF2AC91D1D1302B4180367AEBEBAAD5B6D878181AC66 +A8E144CFFD2AC8EDFA0743AE686364FAB573F4610FEAF5E73443E63278A83AAD +A713156F11A558F9C17113C6973B3BF8B9002E9DB6CC6FB58599919F4FEB5767 +FB9F7FF9606211BB461E4AFB6A4090D8855C8A913531895ACFC16AD7E68409B0 +C693C73790D1BFFC491938D475F33945E1EE1D76543CE2EB56A59DD96FD19D02 +A47AD02F06D6D2C85FB08EE076B43C8D141407822BDE6E708A211BB0C929C795 +87F00F120C6776843EF679959CF24C347FE901076347EA63979D3B51C4765858 +9B9B1CBCDE46E8D205F28DBC2ED2AD5E323899C2AB6E9C60DCC3D8A217FB332E +F619C14EE5DA4C753439D2831CD5F041C6084C2215F85D8AEF909C46C8D9ADF4 +2DEA9287DBF9C98AE52BA7EE6F693EC350D7C434D6C65F9A86AA42C4F5435610 +1C187C316C489513FDE2D1DE3AF32B7EF746992636B8FE578DD8E70772E3B607 +32A9406B813B517E652CB2A36BDC40A98F6747B729281F07089483A690FD87CE +161BCFB9068E8C06451BBC7E8688797D0419BADDA01BD4E9FAADF2EB089BF53A +A60CC8FAE6D483CCFC006950F4B547655A78DF870D85AEBE5A5F1F1E0D044856 +593D0CC49BE3C86DE35DFCB10193F02DD278973F6485F14476DA36FFDBAADB46 +3A85F91B0A65E5FA301502425C41954F991DB6A58E9FC1862ECAE8C34D6D692D +DF3C387268C23D0AF00310050A58D13510C9CEA280E0721E894B0FD3B6ACDC0C +B54AEC681BEC6DC6BAE3D0FC93BA3CC10EB5254CAA755535FC693104FA5736AD +F4F7B692A1EE331951AC27899F3D1B7D384561437D4E5F31664FAF1E7AF0D50C +178A9A386A24AFF02A2B425D7D27B4AE753FA84609CAD097AC968E5FE5661C97 +BA2B8E401B7A2F9F21FE59EE0A93C089F62C42A35F60375E154E41AAD222D386 +5FBFB27AC0834794C34C5769D36FCBAB44DE916DD8638F7E958E5A5650DCC43C +EB0168CF760306C628738122B833AA4A62497E51760464C340110D3067889037 +5F8808B084AC734D36AC78560034E0F931CE7EF907376AE5ECBDC4DCDE669AB4 +B435A3C20530C9B5E80C32DDC5D096C1673BDD0BC9439DEAD9C8C6BE68C9589C +0A150449C39C8ED5796467AD30CB1710A7B04DA2D628EC6C5302A0C5206BCA02 +0AD2927A1A8557838910DCEBE1195751FBF3FC0623D4D620A5C5078871B866B8 +9657E7C8D6409EFB2DDE13124F24F5E4020164F633E7F51FB5B0C518984F3C9D +2DAC24936A6F7507BCF161C2E6D6EFE4A6FE89AB7331B6EB90B979E6DD28D291 +85D38C061FFBCFB786E4067CA2CD0456B9A171F4C8E11B720EFE45769495966C +077FB4B9CEF5B27A1E961A7FAC015454ECB54BBEA161C46E50324D140160B830 +E6F22F326A6FD002B95127E6C5A8E89311D88EDC5D6642BE618E3484C7321353 +FB89391BE1176DC9D2CF022C520319CDAAB68C8AF4B243DD9B18158DFD91A315 +793412AEB39ED55B6487799C51B06E614DA8B6F3D75D8A8C67E849E82058BD76 +1D0D55EA4F5B7FBB6111DDF4F36BD241D8E8FDC2C44DD295D6911D5AA5E858FC +30A8A20AFBE794261786ADD000AB83DA76BECAF14F95EE125AF6A02DE8A819F9 +E1E53C1825A090AC4DC8FA80D23D42D91008824E6013D2900D7A22FE9C744D13 +F14AF65E8FF27BD5E246B1A1F11FB48BFDE0D14BC3F86A8F8E06CF1F72B773BC +82D864AEA0081C406F028ABD605F6E334456F9AF79D34AE11C06DEB4BFD304E9 +A2F12E6F621AFF1D41E01D221BD2134CD6F269E0C077732C7678121F9DA875C6 +B9F34A464191AD979FBFC59E2705E038AE9C340256328344CEB1E1E327053B64 +92E1AAC1CECFCBB298AE6384FFE46DC5D8DCD877D2715133C66D964B1BDA26DC +2D7F52EA51D26D65E16EB88CC51B00B6FEF374C4F724E8C240B2BCD51DA82789 +A0262D1649B398AE9C8A6A9ECE3201E5DFD318631443BA7D719F8474E0C7C729 +53D93BF2CA3B31253DAD7D72E5ECF2F6E47D5A0054204984941E09629EB2EE5C +39F9B6F3647BB349F19887C4F1A346DFEE064D27CA5ACFE5B4F04639F10FDFAB +88CE26B5F3CE0FB1F31A7606D11F54B03AD7B7C3E092D4955A482FA54AAB43CD +8A54CC0E827A61A1CF065FCCF4D6E54354D0CE98B65360C2E3D93E1582872653 +248F7156A36C8373E59C14816F2E4338005CF44B39608EC93CC4D5D94D91C697 +94F0DD47A47999E098D6DC3BB0 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -7776,41 +4767,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMBX12 -%!PS-AdobeFont-1.0: CMBX12 003.002 -%%Title: CMBX12 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMBX12. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup -/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMBX12 1.0 +%%CreationDate: 1991 Aug 20 16:34:54 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMBX12 def -/FontBBox {-53 -251 1139 750 }readonly def -/UniqueID 5000769 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def end readonly def +/FontName /CMBX12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put @@ -7885,588 +4860,371 @@ dup 121 /y put dup 122 /z put readonly def +/FontBBox{-53 -251 1139 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE -0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D -2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 -1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C -42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 -FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE -78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 -22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE -A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 -4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 -4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 -95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D -9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC -5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF -9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 -CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 -BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 -9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 -EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A -D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE -2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE -947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B -0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 -4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C -BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 -F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 -6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 -D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 -F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 -481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 -FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D -419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 -7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B -70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 -2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE -0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC -9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A -C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D -1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 -A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 -21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 -7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 -17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 -30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F -3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 -96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 -B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 -1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B -57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE -B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC -8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 -8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 -B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E -BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC -21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 -D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 -FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F -A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 -A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 -A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA -DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 -7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F -07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 -BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E -8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 -E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C -B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 -45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 -2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 -5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF -A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 -5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 -E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 -5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 -6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 -8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB -BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 -9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB -B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B -B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E -8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD -595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E -FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 -13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A -FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 -DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB -313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 -C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 -F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD -DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 -8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 -E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 -A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 -C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 -417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 -19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 -9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 -12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 -3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 -A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 -90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 -3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 -B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B -82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 -1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 -AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D -9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 -2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 -99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A -31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 -3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 -F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 -70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E -5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 -84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 -BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 -8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 -5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 -9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B -F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E -94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE -0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC -E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 -7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 -596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 -F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E -7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 -1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 -AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE -4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F -744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D -67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA -054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA -6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B -8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE -CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 -EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 -C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 -57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 -5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F -C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 -CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 -848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C -B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB -77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 -87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 -3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 -409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 -A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B -72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D -99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD -8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB -E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C -82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 -C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 -EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 -23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A -59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F -C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 -1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C -403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 -1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 -75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E -0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 -82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 -C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 -A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC -9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 -0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C -5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 -62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D -6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E -1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5 -648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1 -FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6 -754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A -E124929876488AFA97FAD262BE3D172E2F03F564F1325C9F1E050C83C12E0CE3 -C7F58270B5C40B46B3F592FB41FFB7F59EBD69B2F489441E398FEF7F84C85055 -531D95FD21629B0E509C2FCEE995D025BAD5D3F28CDBA5CD414405ACBD936C3F -AA4CB2620D7426002161F983AE95E542EB8553AFF7E57B82E05FDD5FC433E1DB -BBCFFB1ED92299DB0291CAB10A84529B7FE279C62628A24A2FC36B01976E13BA -6CBB27085F3E9FAA6F6AB25CD0F9B879FC87D5F6BC8BC00A44123626DC9CB159 -90C6D14B7BCBA095CC2BD04A7126DDD4AC823F4AC3E225DFDD7CA9031023CBEE -603CD1DC2AB701F16FFAC44FAD5A50EC402F70F4C2B403772176979C11032728 -BF872DC77347FC43F28CB71E97BC0184963FA54A8E161D9B51EE1B89F32F409E -F01F82D09B739A8C31BCB73E5DA40B937286E7E68A2C3CD4C6CB185352361539 -C164DB729E9EC9B6AA11AB7BF074D4B78B6A9B6208C377498E4F7277995245D0 -BDADB3330506A9946D64F92E90AB858FAF5022413AC49A291C7C99B57ED93CD0 -D6002C103DC2323E4B3BBB6F116B9F13C56C68B5ED74791AC978B695FFB8267D -BCE2D7B9A4491BBB086211835466216D8260AF7E1116262E6B252B79001F9EC2 -C14B055E73288F4DCCB53272A358ACEBF13F25438B1F549690CFA18D9DABF899 -0211AFE68B21311B94F86B7C7A44EFCFE3A93071A5FA81049AE2744FBA9FE342 -95E511CC1ABD5CA57838885242570B08D76B55911F20E936A8CB30C2F2CCC232 -1E117D9CD3A050323B908279580BC2EAD720F18B50A6487AEDE734FC076134D2 -8C10166D67F96FEB5175C1AE214DEC0B3C2494DF3CB5285038FBA9239285940F -237F186757BEEAE6070E3194BA9B55C96608AEEB5A3F665C5A98F5DA80E06510 -19949234C19DB18E174A0FE7837F10529E00335533118A656D6C3689D0F14A4F -A62809F5EB2901448420F8AF229BBAD735CA2FD14E7412AD04096FE84F286AA6 -8F7EC17735E4B8090E75875E70C3EA96C37A4AE8DD195E2519D5384404E2BB05 -F373484D5DB02802C3F74CCFB0D4A3BE3EBF3BA723DEEEFF32BED95528245119 -BD44668627D63A90AFB4116B0841AD63B6B7ED893816A6768E3599354F8F83C0 -78E9C1855FD995CD49D35A513E24A69150FF5CFBFE5081C544578F161A641486 -2F6822660A75D7A32912733FA11D4B164321D50B9799FC804798BF298E0A818E -9356FE6CCCA55BD132E6AC6AE3C1B686ACA441E316EDCECA6E2D10D78539F9CF -683587C970F9C313F1E726D28EC096167CC4B232C5A94F21DFC62721D0E1ABBB -6DDA795B9F476D3651391189452D1FC26DC20E74A6BE56EF62DFF76C4619151A -9C16C8192F66B383360E5296EA53FA332C740AA18CAF7FDA6D6F0E0B87037697 -BE1CB3852CAEE10A1B2F269DFF12BC5CC86E982B0E8645D383103CD062A3F692 -BA11340E06F1376BAF15D4C612EF1F28650F8D0E8DAA4541FD243DDD27E0F1D7 -B8F4C3FDF0D27852213B503D21C87985C674A7C80AAC29E9C3865CAFC2D1EE49 -C789E80A8E33AB040C2F00DF2EF47BC293343C488E746B4ED45D1EA81CBF022E -962FCF30A15E135D06D568D378F2B50412131A26C60ABE28AFF12B6CD3F03EA6 -9A19D30A47471FC3AFC15B967F2CF5ADD39454B52894A6422AE0B8B834201F14 -8081C618B47F60FA4A42D3B8E30F72E3309C5F7C4E69A7E48513ED6BC46F2F87 -4AB7D6948C254730C4B999791A87D251BE8775C627DF5A7AA3F8D0B997B3EA73 -E3983150486132FDCD0F2AB9F301E4F0173B2B8D91C29641B9405EB6411C078F -5FAF4D1102A91F078241BE797E450CF4FF8A5DB69E8A53AE6F92225C82751989 -6AFE2F7D24CD05A3ED434571463C06EEDA494C56116A2F48C5D895C664BBBCCA -28105E19AE597A4EDCC2B0372148A501B1050DE62A14095DA2B5AFA3CC568C95 -F6074C8D522610F6BC100996AB5945623AF5C0895A70F727D136709F5A900342 -B5BB35E4E9C91272D035CC1E6F81FE07B27DF80440CB6CD20C5DB191F2823DC5 -EE33B6FBCED45414AD22857F6CE51924ED5E6824D054355AC31D638CBF608951 -26E8929121E35519B445E898074D7D86FA01C0D13BB53E56F219AA6AF3D2A00E -9C316C6DE5C19E7738B109884813DA35356CFBE7F32EED2BF10A58CA8C6B3935 -42472014F905CF962234796F1AC680E1F2C2E2378247738A1A0F8F0F21A5D877 -97314BECE7CB9140CF004AF4D76C8434323A0985C67C3E50D37BFB3502231A78 -83C48947B8C157B01E075415CB4200A7E226B8B932A195CCCCCEFC9B48779388 -18C698E4EAD2227475A5B704171241D1EF305152D28ACF6D7B8EACF59F3B0BB2 -FEF3D1583441DE5F5F8C6A2BAE4CAB51D75756465300A248B373C4EE04D73CA7 -9BD26EF09F907DAE4D4700A54726D9BA911D2C2CB227696E221EAD0476B220B4 -E9A7F7E5480FE02ADC46CE5C8AAE29AEA8E850FD865279C7F9226D23AF623232 -B226253F14D265471E7377EC42F227ED6AEDD9BD975C7703DDCAF8D9DC827385 -5575C13EE3509FFB74E834FC453BDB2D40643522B51BE66DD320356C78C5C403 -20F4D7072D6C6F6881ADF878AB4CC0549AD60F833329DE81E22500A155626EBD -FACDC043863D58FC3816C3753710734CCE5313D35B7F96AC3F44C817F1731CC4 -771D23587B2762B3861DA865B5A3EB104D3DD7CFFA76EAEEBB4E1DD2192FE2AF -CBC5286F09D228973EC9BFC47CDC27AC00ADA243A33CEF45A42825C54F212216 -12AFB5CB1148631CE3FDE3C3715EA1E2241804E7CAAC81A2FAB38A815BB9F434 -73133637943331C15B3EBDBC18D7FA78714229D590B5A2112058A087396D98F9 -01BB91E3A4C07413C52613A5FC12129859B9150D612CD5161C394239E0A32F47 -30618597AF191E8BA62EE2358FA3FF9BCE8FE83DC2D4966E1851F45882A0DACA -1C92B9D78EF5C5B6CA5C883A32C3A447149CC2C883CEF6FDD20901AE7A9A6A5E -BD3A89CBE7A664A93278729B7F9795D309C036188AF869E866C6DD4AAE4F0818 -6E097FC32DA2D7CB3EEE3462A3DAC9415D219B647881A9C7A17A1D97A3C0585D -CCA57ACC67A7ED625B246F67B4734798E5A7EADC39C2EDDF56D6C185B16AEE00 -4AAE341DEBAA4B77DF5CD8909668B9972589257AC58AD77BAC79E8C68A57FD72 -05C25BDDAAE4C28F27D6BD06AE8EFA18D8E8A4B064DBD81884E00E3EE31DE5FD -6FE908F9FC59105CBC02D9A90B34DA65FF771A70B4B0B708C654E7BE2C5A0EE6 -0D1E6649C8C288B378DA33922D8EBAE99154033812B3617187C50EE0D0D735C9 -58B68F34DD21919C4C4460F40479C645CBAB2059FFD22A08FA4CE0CEA6371C96 -2B908DF2C2559ECF7FA4035D22E8B30DF5120ECF8CC7FC75A5CEBF33F5C864BA -0B185342B393485684171FBB67983C7676B2D1DA688C9206F17EA8ED908625C3 -AC6DD908F7DA622D7C38670994D2A6266D4B1780C2FC50A250F6870F287C1323 -E6D1E1A94CE35F5E00BC7F757259A5D32A9065D26EE0AA9CC42AA0EBC3AC0D6E -6028F3515755901E6B6BA2BC78EC5C22F0D52FA09DDC499E466A581E66B4E272 -FBDB4DE9D7E89AD41F7B520239CE68DE328348F1350F35F143816E2A3DF3B7A2 -CAD351B7DB785E6C252E2715463DD555FF5F73176922D07E218C1C240631BBF9 -45620EA041CDC4AE89F1AB80D54CB91029388E08D7AB3FB36441518D2FC7CB54 -66FA6CD1F0A4B1A4D244DCE152ACF9A44261CCA8F78ADB376381A9BF72C1DFF5 -483441E273DA4DD44FE4EFED6F9DEA93A98D901BB47DE5D3C07AA44C2002D7EA -AC7DC3155EC752EE9AB2C7977AF146C61296F80EDCE65D453450F17576898CA0 -C3724DB72610217228D07C6915EA833C8470541F5ADA8CE5500921D4F3AC00CF -67F8D803BFBABAFA1B595B004967A5B07E331B2FC76DA564BBF3719B19668D1D -E7B1295E927C381707FC1095DD7FB757532FB1EC0C8E2048B05D7A6B086A7CB8 -EDAAC388CF761A9DB17C0D6F657CF16FF70918C07EDBA5C167A18C87AA62A604 -BEF0EFF30EFEC2E457B650ED2437E228DCF7378BF3E9539E9880A3CCD30D80D9 -C1D7DD22817BA31396F44D0ECB45F6225A073F0B1938C5F8BE84CC9EE20ED635 -872520154F2CDB309CAD46FE0DEA77C580917EA8AB6F23F458F45DC199168E20 -BF75AD2E6E533C954EEEA281D28B388D7ED78B9582B5C607E920E9E2CFC3C9D0 -0457CA6F4DD88CD180DE0852F3424FE4A69CB97F313BD87281F5606F5DF551AB -F46C065991CDD83688B7C4CF19BC57EB1702BB62A74F3F8E7BCDD2F8319241A5 -742BAA157C5746980AB253601873ECA4561C55158B83017D143D0FAA6FB12DFF -E48EA051FA5EA18C4640C7C56F600B9BA009EA495D8B0B51C8954DA81F15531A -7BFBAC52ADC64C95D35C13350B09BDAE7E8255ED9F8DBE8E3802F5E1DC211CFB -A4062268D12AB1E3F815C1C7A2EAD81B63CFE3735D3640FF12684763D120B95D -733BB42F58F89FA0AF0CF7F7263E7E5A7DD571BB0385BC2B451E70E0A7430D89 -13A28EA286335F50250F08103199EC21C1352E1F9A5A737942B43013A523DDCD -54089FF334E6D4CCEEF792CFF16EA955B78F4122752501FF36DBB20426417BE7 -5B623BDFE66E54A3327EB5173FD1F48EADC66CBD82E2F5F3E1CD38F300FC454A -06EF2A1CED66AC574FD1DF53DE99AE4755916AD091BCE539B8BF06738821B037 -B5D7251C33CD87F0B4746C680FC92A8FE6AEE890CCA5D50A9B6105640EC93C75 -FE2CE58048EDD5471B7A2E074D652544224577F76BE34064D2A621441C79B548 -23C14EF7B847476B657016DCAAD84EC2FDFF7DC8509A3CE99F35DE386B1BF351 -E803B107D0D9E2C5C94EB4BBA06E0E84994E8AE454DCE3689809EADCA082748F -8C2DE570EE5B5E4106729E83231EDE781A5037AEC26FDA7C3FD78B35E903EF7E -F836A91404002ACFE10108725A0D25290F05AB4777CF05CB5A7844D6D60BDDB5 -23AA8D1DA368493BED9E47D5FCF0F7B0DBA8A576F695317FB35C2364A3C67C69 -36A82196686FADFF1E827A535C40D5CBA260EABC9E2BEA70942D9C94394168ED -A727CF0DFC83B8E031B522EA636A4307B7639C78E065FDDC62C3CDB735544835 -4C4A802E7A4202A830EE64221217E3C2D00092AB43BC07658290EF0EDCCE2D29 -3A521261C2851509623F7962B4838A32BA939638833E3367D3B09FCDFD314D61 -499803AB3D88D485FC79A886C6B71DE5C6056EBF0F636F058FF95F08EE80F057 -9ECFD4009BBA9B809968E3FAFE643463FC85C16E5DAE1AEEA6D81FA1D39C1791 -7A129EE6B52B5A2D0B5F2922448EEB625F60BF624BE50F217BA07857FE94CC28 -86E0F353C28B8AAD720A03325DB8D7D56DEA4F58325D44B96A5840944DBFA625 -4C9E7910A1C251833383FEAA3B77F31EC974DD209BF4DCC4D37F8F4295812CB9 -31F863D4C991E630FFFFFE38A1F1B7C4B4AA123E6A3BAD2C73418CC4C17B59B6 -866664EA9A93ED7F1EF6CA8E1D5988003939B4366C5D7D99559322E551571FF6 -4886F8E43C2A4ECDF759092936CEA5C237EA2E533AC6D4BF668D70148D32B105 -8AD1FAF67BD2F95E670B5F50D5F94A47C22229DD6FA6D55EB87195A8A0C6C248 -5232E00C8F15700A4A56EEE34C5FEA56E572B64237F09406CE6514A1629F2E8A -6FC80A05E2CAD6D48ACE1128D1B141CAE07CE5E98DDA65507C63044452549E2C -7648449FF4230AEE931237CF4492AEC7210B07EE6DA983A1A5A2CCA15337A351 -2B0707E24B0143C33B28C92522B795AFB0B416EB21CF84962CEEF18A83906F9A -C84C9367497D918738F3151E0C173F3497047811F1A7EE984C922EBCE0110094 -4BD59BB7E02F9246D437AA624D1762B213B2614328D45775E4B88D87182A41CB -CD4379AE64272EE4A3A68283ACBDD3D108983860173E6583060737291569A9E6 -2DF70E93E7D825C68F7107177622BE1C7C2158F12EDAB866A0662877958E323A -7B63EDE89F52B8363ACD3D1F9FE8694658C893DE2FB20B8DAAF1469FD3741D97 -675C36DDD25EADFD01F1A1830C59CF702A5EE8BF552B47DB109EA3EEDE18B5B7 -59DEB476F338B3D1D638261324ACFF52EFC9BED54CEEAD882BF345E4EA3196A8 -486EE9ADFE614B2F2C25737BAD017911CFC6C4A05884119B17B7D3D4ECB4F641 -EFE844351FEC14DDF6005CC5EBE782F32425E77B543F7026D37CC3F567F91314 -FE232D2D7E6AE164CF5403D8E6A4A04B58E7B820B64354433C0BE3951E4DCD54 -93A067F2FEBD7A1241B43B96C9225EFB8216BA510C2478093F541BA6923A8D86 -1EE37C930FB9E16F274E8189570630C3370A44B831AB93CC59F2C8B4262F48BF -BAB27276427C69A932DDCF8FE8D8DCB0D20BFB467C35C2B1FEA3B1B076458856 -297F5B001009403933008A0E1FA2C6581CCAF4020FB0091202208BFE6F3C8267 -0058B01E2859788C43F9134E8D7EDF9174464A3AF0ABE1FD40F892005AAF88B1 -2B68715719D12343C08660BF31DF77DE3BC2800FE61CE60B3FC10A324957A5F3 -680B44AA0E744E2101AB7BF07A4E7DD2B1520AE726C6F91D578AA9BD2B6FACA7 -602752FBA8BAE19E367B2C2B0A8A8E148C7AC5B5F5CAA2E815B31E9F14138397 -D397749EFA7C02091099A026F2CEEC8892D247BC485AB24C2E9B9EADB562BB63 -CFBD42F1529FB224F6A4AF09B6D8700FB7DE789330031944F0932C21F34A4C0C -FBB75FD935B164AE95045822B85ABB34A56DC50126A12062D172CF7DAB570098 -45DF9ED60B3CC782479B56D0F63882A7C2C439B7DC98CCAC1F5F343155BF4E6F -FF466C40760128F9B6DFDD60685B7812EE2602F85C48C0FFDBB8EE398BE3B126 -3FD2AFAB35ABA3CF1934A8F3C294AE6762CBE3614507D6973BB30FB25DC5BF7B -B7B14097007DE25DFFA1E7ACBB093F363ED1F645D66EDA2A00AAC09B44B75EF2 -273EEEDB9FEF7F4811A92EBFD50F9E46408D7D2E0293633FB9C6D2A8357AB1DB -D9957080C85F9220F920816B9BEC2D99F63085D9C92C3CC1337A92F10DEDF060 -BCF664B4095FA99EFB085FF72CF93E66A925BEE44CA4E02E7C8EEF6ABD7D384B -038E03593C3443207AEB07FAE6D7A6730B0E8DA227A71BE68FF01E98CCE52F72 -A6FD14669A78F0722ED99D33DDCB107F4081AB605223D4899448D9DBB867DAF5 -868591BB05255FE8E9970F5C1669195FFEA03ADB37E3D6C2A74FBDF433D67458 -A2F774F5881E3AF08F44948D78F8ECF432903799ABD6EF5EEFACF876E4AB009A -8732B56B055C139D442F6515049CFC1791D335DD4AEEA1997E2205E92F365F4B -64BD0F60DEA00C473F72F855D932D3C9B7EF6E26111EFBF89EA1C08D65BC70B9 -7EEBA4E88D796492F212C5B00819835231BF499055DB4CE754503B8C1A8E1A86 -493771C76B9CD2D4DA0588E921E65794035DBEA8A37AABBFCAC60D952D9DCBBA -3EED17A7E9AEAE87AF9E2D436CAC99F4A4AD109D74357FA319A97D58FE53A5EA -B9A3C9A9C10D77AC0BB2DC4509B1AC87B59A4CD9B4E5ED299B87404C8133A7C6 -C71693E7668B491A228FB7D16F42223621E2D509CEDD5079F638376C9D3E716C -EB191421168C1DBCED8A92D1B1CB8B69929E351B9AA26E7207A08F0EF0FE6FF5 -2BA27B5396DC9A8BC6A8CAC1EA9966E984D59FB0985ACE34A56BCC9D980372B3 -1B70A7751AC109BFDB7799647892F47E63045A2CD0C2F283F64E2837677ADC36 -D111E3FA9BBFAB00A8BF41F15C8F1DF35E6EA8388BD3E5FA2A9C09F67A897D90 -51552326ED87886F3FC1948B743E11AF0EC4C3FF6A70BDD8AA99B5BC5BE76067 -5E7929DC0B99D0DC76777CADF69D55E28F1C35B04F664F40B283EEFEF0F90ED7 -60637A5362F0493BDE0DD2013FC8FA3D0C8921ADA213668039C276F11F054DC6 -405891105305FA803EB7190DA5BB6EC11F047AB2AE29AE4CAABD72AE61896E5D -AF8636DC3FFE30F188F6B7FC8C408195A95CE1283D74A7EFA29712D519761D7D -60279F48E14A7A9F4585C1E961F6CAD1CA73AF7E95FEDF73E71BEB208865B81C -C287CCC04C7485751235DB26D0CDDD95168A2D5B90E4E8D970566A2FD6A4A0EA -A259CC412206E3FF2B3D941A81215A2361434AAEA784186CFBAEF24B3236770C -E26455C546F7B59DD01B5F5E38571F04AA8334811D530CF644124DC75D960D3A -B241D76E3D84C92E9D1C64CCF0CD88C766705BB3F9B8758ACF0E3F99D26EF494 -98B75D28CDFE3B90212931DBBBC63E059789938CD221FD7582CBB6C68B9C3AB6 -9CEB1F4473B01EA03FC0DE695C4B18E3C43648C73783E3775B90890ED925A793 -37CDFA1BBEDDAADA8F720E8D17E80C770A6776EE9658FC8D66A4DDCC24EB6596 -125D4DF15D0B9D5F56DA5A731E84483F807584723A6241E61D54A9259A941A43 -F8B9A7AE2C76C191238DB4B42BDB39CF33EB6591D0BF21C42E559FD2E25C1990 -BDDE039844B0C8D667244FA015726E32BBF60B8D1338DF6B607E193F6687E043 -BE32848C6E0CB7B3F205EA42BF1D605DD7024A8A8BCAD50864D7538061D470D4 -DC49BF5D7E477EB590519C4343D8A42DB8C7B368015553C92DE9DFF45AF84832 -B6B4D43CFB6ABB1FBA8251945109E945888D9D7A97A6F1929D5BD7444FD9450E -8F9083A9AA260114B7C2744390D41BCBA5B58FB7BB2CDF1FC128AC1E81C0C47F -CF7607ABFC35DF2D7231D6E5E1DDB38655E34BB77F805A80200212E6512A6FED -004768BDAA021517E7B5308C5C62AA5706D772C85A98E39BC1F87324950AF31F -EBF84AE6C43D2096110F4175FBD980BD4838CB6812AC7688A5704F9B8BB73C69 -86478F41CAB32F2293F85D42FD2E7C90870F581F4627D5CB35F0D5C54D888279 -84ED48F3DF17AFB4CECAC6A26755A80B86FC0F541534F2C66E43A5F6540AC6F2 -2B0F9136740EB3E8DCC1AA7206C51EDA2002FADF0237FB916BA76E2720FDEB92 -4A86F34C842B599EE30047F3ADF4E35B256885648C94ABECE4935D1DC5D2763B -837A3F21570F631818D2B62644DA18D965006691BD0070FA89A9E6CC28F79E71 -BDA53BEC321CF61B46EB82457487BE0BFE2F22926F5E11E57C5C0ED29C55D010 -498F106C099C00199549D9FFB9E3E504788CB680579C862AC8EA8406DE408103 -0F61B03FD628F8DA711D81FED5B926484B41C477ED59BA66867CBE5409A8EA6E -975DA5340900AC57C620CCBE275FD90A0961691B6E1B576ADE5182200C86FD6A -B782E171AD8745528ACA9477E3F1CF72B81D0C341A1307FD6303A6F0173EF135 -0FBBAA3D1175B46932EC88DA1C7B8EA2D9AB133112E978A220D7788091E382D3 -2E9028281F80211B6E3D338E0CDFA5453A9A5BA6FEE3DDF17FC784BA8BF48EF4 -07B5721D64DE3684D5D1DA77CC7A79CE96828A22314A8E2892A91DC7E39D8B57 -B792DA6679CC4F707481B865C5A7E200DD82D6608F61CF74AE612DC8EA353400 -14D4103A76A8AAC5A7D36C7C3DF10B8A700D4EC9FCD4DB977D8572D525E93A5B -475CB140EB79B35EAC1092FCA709D41FC5FF4FDA5D851198985F21031C07EAB7 -803E4EFA549DE06D3E61F8C996A63A1CF36F700C741DDF06A8D7543044E4E4A6 -B0BB379C81D640C81F5A67F3012036172BA933B2085FCD7B47D5955FF29BD55C -7CE23DE5F04E98B2B91E969BEF54D51154C133D1D23DA5098228DCD21F0215E7 -4F87D12C4FF008074974A60D23B1EC3ABA00BA0035C59FEB8130A359F92DAB78 -43328C38CB9CC6C09AF4BF90C22EAA57F99008E157FC66CB29C2392EF486B4A6 -F00F9B5E80A7D41857D20B8C57E6FE660E275138318B3EAA4703D556B5150A76 -562E41C78D460F3E039E0910C708D54D8C456071ACB6D149CBF681F3ECB94021 -8103CF3A58E63C1537B89D9DAABD3EDD048D06D8144737ADF1304FEC9E954884 -BBBD9161CB12A52DDC68CDD00FF4F78E36B069B3D2E6CB2A66D4C2DCB1977EE5 -0FC29DA497F18E3E94ECEC51B82F32C1CCE9EC9F87D94F0EB9A31C54FFE4B71F -D85F87E8EC6CDAD8000EB51365510D541BE2860C37F21D014ACDC6AAE319B4FE -2F7FCBCE7A319985F457C3BE45855A4C6C569EC74639AE845859246BA76BACF2 -FE70483AC93CA647FD2FF1F361C9149E012455F61F4A8C6DB63D54288212F26D -D09FEA2CD61C6148FD931B961B427E6B8E656FB90B456B39562936A6B2A99A98 -4E6A0E62CB1582935D68849810A2613D382EA289DC780B1FE319C36219D810E9 -76B9559F61EB5072B861F1855227D2977ECA1F3F8184BC8653053AA756F58658 -4E16C3A964B5D734DA6442624E04996C6B8CDB2349719CE252A1D3B9D0CDEAE6 -0DE788F6D726A04A5DAC182FB161250B915263870C2AA6838C9DC6EBB17604FD -5240E1BF95C44F4987FF097B0E491ACAB1C0381DBE847AC47E7C3CDE52E49565 -68A62D605A21E986E92116ADABB3D5F0FEB3D8397570BF4DDEF10DD419F68669 -0FDB825CDFCDE1614882E301E559554F2C1ACD84751CC3A19CC1FB46C7C2BD6E -6A71E0701C66212952DEEA07412F53484A66C4695E34A860BB396BE02B0F35A7 -DBADF5002B01602DE0925B5699465007819BF3861AC39E0B4B360E3603CC546F -09CAB11AF6C93E52204E88A090BFA05A3EDAF6C431A71D6B172B0065BD8CD480 -F36D76FB174261AB35A718D360FC13D41E50FC17C5ACB3A22EFA73189A211229 -55CA2B203706CA66EF55EB602F6F888FAEF3E9AC9D7C4C3F2408AB2800530F41 -4B89755E9A264274BEB9B2B5272ABC85C77F495C1C2118D849AF1F83AB490BCE -460F77130ADD7A7415001011F466DE8F5A76C8B0BA5EE557C052DC4DF8F1A4A4 -0BADBA49B1F05BCCDE88ECA1290696C1284779DA5273B23008F10A3E4E8057EA -CE145B4E3365458E84E1320FD0D6A5BA935E97955A060375766816CF6D0631A0 -EC2B02F4C99169429BACF787D204CB05BFA0DDE5319303218C292D7A209F6D92 -928D719959FA61C705E4840F6D7B86D4608BCA4B5ABF5D112F14A75860EE38D8 -59FCEDC833CE7D73B6245377D735E5A304BC6BDD7B52A9F5BB1C96939EC2A7EF -EC1A4AEA5CAF83F1213B38E298DBCA0ED891C616DB8ECE67D5A4439955172814 -1F9D7CD6B19DB839F5FA9018A061668BB4D14A2DEA901BFB97A31E2907669444 -1CE8F5C91D6B711D70672B6BF9D9E52366FF19EA0A8FADD2939A454538F3B603 -EA8489EF09190B0C3C7364A4585B2C871F6DFF31874DB3F4B9A71DD9B7E83E3E -43A00E5358E6DBDD017A0710D90AE8F6EE9FBC72E5F679F341643ACDACE7AFDD -280B51512418BC9803027BD5ECE9D4769C16FEFB9C1DEBF1C7507175F5128FD1 -B607D3FE3476ABEDFA9A99315DF43BE782A78E25B00AE376616E06539B9329DA -46F59469B8CA9B55D08A51045575484F742AD0D7D3DC7769B4DB439C0D2161F1 -EAD0224E32FAC93E320DFF0EC3C2502B13EAA8D1E31277213D64F1AB2CAE0B1B -B9B8865847AF36E3DA5C1DE305F64A860BEAA27475FFAFB04211DB33275C5A8C -52C3293E174374FB327642DBA85B9D0652A1E26E8A6BD2442CFF04C8ABBC10F9 -AC90D5A3E10BDB1F603F7456E57E20DE85355C06B9995BF61264C91028C1701C -DEA2857B67E036B0D74BF55FA3F3FB30140F8B02CA31AE8A3F987D3FA7C7D0C4 -2A2FAEB2D29CF796281DC5D3A266187C512E681202609594CF665BCF1BBAB16F -08DA5C48625C8DAADE804B885764EB8F7DA311EBD4EEDEB060225E9788C76685 -440D0972BB83FDF2BCE71C6E4D3DE65D2DBEA6DE685AFA8C859E14DA7E31EE6D -D0F83C399A2FC95AA59BFB25164A4B2C7F65CC7C5A13A98847712DF7F304A4C6 -8C3BAE9AA2530DFA087C5ABFB28C14865BFECC7A104747F01F8277EEA7F142F9 -2956E4DDB21FBC3A7E82DD420C1F312B5C7E7B93418B6D25DEAE646843715BCA -5C8280DAC638700B1AD74B037690DF2B75A1B0901EC307EDBFF41CFA8B527A87 -4D6ED0340F7A01837B23D0D93EAA1EFFE2F9E68BF5BAB363046A269D6EE42078 -967423088DC03E1D6F9C9D351A4B2D4F3CF5B06DDE0A825068AED4629BE31A07 -62F58B2E36018AE69069BF4064D75B9093F822B29F296D1953B0D5367657DCA0 -1BD83B9C11552D3485AEC8FB460B4B614E016F6BD4E21F8691EB34971F085E62 -756DE4AF648BC70C3E2D313FFB4F0CF3EB2B66FB6D8931DE784D3CFA8A1412E8 -4AE456BF4D6F8D27C4AD9728B3496372596444550DC8CB19B84B0467833D0FD2 -388802817368B84C5A2E01C2980750C1FE5ED1C71B9282BF3C49B563F24D1848 -BAF75EDD59E056676FE26A34B40844CC8F40BBDF147342876F5CED70F393F476 -A3AECE9B42AE5FFABC0A6B4CDE1903873126AF9F6B4B57E85DA16E125BFE15EF -E27AAF6D1E9043D06156D4E99D0407C9FC3F84A28C76034E80F772D9E52D7268 -0B5FA31E73522689718EAF1099A629426F198DAD6E3477B4F9051FC2E3A1CE73 -085888F6C6B46743D261D56A569904A8CD6A6FC38A4956D6BDAD371382694DCE -5E40FAD9663E4FC4511C568C1B6023C416450C985BCF3D9493ADCC0AC64BCA6E -F412F2650FF4B46174D6C5FDE9CAC9E7741CEA54B6AF5EAD0F79FB1BE45A9F97 -138D02F44E796040325DA7FE5A7A9847564AABE929C470B9191BB3D4C177F3D3 -F44D1784342AD7BE087038152494DD459ACFF4E69EEDEACB3AC4BA7610A6522B -8E7D945709498A634D0F1FFD00C1BE0FE14B400C453047FB670802C64B580D81 -7D9F033DCC08224D65A3E0422B30E2C38D55D32F865891FE38AF4673CCD081D9 -D64404AA26ADEB9D2DB3DB8FFF1381806D43DEC95BA71D0B83ADFD5D9F11CA2D -A090391BF04FEE3C44897A1FC98C9CD2C4A3B6E71F0B52CC14F1B0791D57B0CC -021CD62F1A8B87EC8377F2B51B22960E7D6EF7BACD9252C5A7AF2E4274BCFF0C -79F69FF514DAA9EE01B125191630925E52C0528A80EDFF5118AC5556AC0E257F -09DD31BFCD209C4E4045AE2C2315BE415D91D0313839A93BE81706604ECA72E4 -3EBAA496612F83F04CD97F7DE6FC6BFEE0A60B572C25A8B0D1668CE44DC6BEF7 -AC120BBC77259450E4649F18D545E72699BE9F3D149E6843035662461B3F358E -1FF039C66200ADDFAC776EA67182A9EC26ED6581AFA8B66B3238BFA68D938A99 -874B9BE41611215FF59163EE5520102540B32ADFC503205B1694CE28ABB2E8AF -F7F3D9A5C00ADB509F497F5CD7836E4CCAE30722B7CE47053EBE373EDEF997CC -B742766AF8833E1AD4246B94E808B3719BE5D1E72CD2FB1DD0AFB05164167787 -C331C8FDE20D08CAF1C45B21822DFB65B732BFFF368C1176B7C8B4B39E1CA5D8 -0D930AA3BCF12EDCC75DB95A06D4A98C658560541C2AA23ADFF7580BFFD2CB05 -7FF179658D16F05A776DAC9A9CC9CFF056BDF3E2E8CAE6CFA20C38F60C315723 -B6E373E51B3BD720100E2A0D1E8B1264433FFE2B21EC590631517C1194C0D388 -910A21BDEF221F41EA27A60D41CA7D26FB52EC52D405948B80332C587F327025 -D61415472BF1F84DF41B213A19A9B933FA1EC53D984C0FA047220838E3113461 -02361064393DD2AF431A0B40E1EF5904FDCBD5B1B6B87A1C35BAF1BFB34AA5F7 -6C9B6DD93C12E4C0768E185CCFC587772FD0FFC481BD64FF8AC2726F434CA962 -725DAE3C30CA284F622841145FDEE9EA6711BDD515D263707B35F092FA58B287 -77DA1BF8F6E331C2C6959FE81EFB52796147221545DA039C6866199048675DE8 -1E1F4A9907EC9CC11E233C4FF41E4E15EAD902849FF14E0B53B10776872A16A1 -D819000839727089EEF33BD922212E3E605C56DD25F3A2D5EA95700DBD00DF19 -F0650A3237A1BBB6630C6430BC54508D040DB4B68AFB1FEAA255F43E2ECFE012 -AA476C8777637C94E1EBA7D0FEC9C7C9A7206D07E07D24A5FDEAE65851E9B2EB -779046EAD81608B49866811440F3CDAAC8B5500F084089986100FC3E836258E8 -2EEC0A9B6E5C515FE2324952C4AAB24D6D701856C454E0793597BFA24CB5F01F -593AD5502638A8CF5DE46DBB988FB4C31D386C5DD9DE23E94BF925C0603A096D -26FE506CC2EA93FE08EEF0BF99B6EF6577F3721618DF57145B056ACD5F9B8CAB -EBBFFA15B3B4B235FE0F00BDD3593B02DE05EA0FD88DC304F0EB4301A36D54A5 -4004258E03CA965937F9E77925A51297382B955F96282348FA4BC0B9BB32EDBF -424EF2C842D2D8736CB432246831AE4E0BECC860FE64A0315EF59D1B19CE42F8 -977DC6AEC0CE63B75C322D7C86ACCF1A06767D2047BBD0C5B2A4AFA1B51CE015 -00021DBF4BA65CEE5BF211377F1C218CA0D256253B3D0A61F1AF4D76AFF73C86 -2D9F8229A5E5649D975D33332C68758554AB8804DB12275D1D668557D48807F9 -821C5A59BBDCEE4E7B14FBCC0927834F68BEAA8F9991BA89EC17A241EE8524CB -81C0A8E3AEB34CF8AB2423DAA3BEA37F650FB7DFD72B612E8317664B8E3BEC19 -673B97CFE0E3FB696EF34913EC3C43CA76C68950B09C5645DF36FDFABBCB7191 -16550A74D867CFF23AB90F9E97C476E65971E9BA188CFF6611BB30EFEDE64019 -B662458B02A96358D5857A34F9A4FED5CA6D702752448366B3170573C2EE879B -F983C1467D8F454A1A8DD397F497435659F4B0D8A06DFD70CDDB93D1AB5B589A -E10CDBEB920995E10BBE8797902E26577C215E37910DE6DBDE66D718207AEC8E -89F0627FCD48AC573A72EC0802F3CAFB860766ABB4FB436E9CB3F25E4BE4402D -D1FB59AA4DF4486169B98C3E4BDB3ACECBC52B32F89A448EB6431928602CD558 -6DBD433F7D39FD7CD213A97D5FFD9B6EE8E1DE2346662847F366B75214983F4D -4D9F244A82C9E98AF531374C0B3F44CF725F612E4E29033841F361FF009E3C74 -668B36DD9EBCD1A8B07CF1FC3731E62004DBCBD4C6871D1ACC26568F78981B48 -0FC9B160FCB3286F6C4F2E9D3EDC1E63CAD3CF6C731A4F0D998CA2AFA822355A -B27CD4C38F451A947B2A918C0BC7660A76F8A77C9BC8F8C6915763BC4F817904 -98E3515ABD159ECEEA3110111A25709A536EA7237DEE7F19452A49EE954E1803 -86E323185DB3F56409F66EE784DD80FF8A16D1908D958AD0EFBDF9D2D944ACA8 -42719743A13BA65FE9721CD99C1214E6570315188F53F105E037E4CA7F2EA5D6 -F353FCF03C13628FAC78CBB7A49430BAFBCFC5127BAEAB2ECDD0D8FFF6A381EF -4D6A1406C000A701AF24300F545318A84822468E95F6505AF13371239B772C8E -D99153355C4893DF0DC1BB6B5ECB1EC38ADF68E8F586BCB018E964B9580E1195 -A4350330A79A5D42613CBACAF22ABBDFDBCE01C395F63685013AE355465EE1B0 -B59B1C16D441ABFA4008696775D77E5BEC5ADC1C60A5E6FFC5F478C66A37BF86 -67539E474524A27812823B8F909806B15BDCD2A160C012694A0EEC6EF6EEE98A -F865AF07C1D8807B8C51DDB3292334C31D63C5FA1C18397F9C927AB814E3CB4C -CE94331FA07D9103E732C2B964B69C06B24BB9380B2E20CE10C71A064BA371B1 -443101D4E2278DD4BA0A9618D2742F06B27F926F8D5EFA7C99F0BA6DBE78A0ED -2FFC4B92F64495FB8F125E8A0D05AD493E6BABE4B92A1EA3CC8140BA46B37B97 -22690F8B8F000B0CF742C36FAF8C20E4E89A5DE89F24B824E5DDAE7DBA93E1C5 -35249ACC95CC39AF5EC9AB16CB780A88F040E2F2D166492EEB27E3E21336F7F6 -926E4518A9F76F4FF834843E5A959E78F1CDF74E027DF59CC31C2FAD19C5F1C8 -81DD214B53AFE49A9BC3D8AF74DC331DE94D678C6083D4AEAB494958268ECC09 -94CCB1FE71C614310AFBEB390E27B453F7E5818199078A7095784EB690E356A3 -6DD395DAC5AE9E76C0F47C325CC18CA24449AAA34B1B5BFA04A35A8E638C614E -85AD0C094D6D95DE2EEEDD754488E2F59F11D210449B1AB8F796967184F7834B -A86818BFC987F9A7FF09000608B3C5B2C951F49A79132C173587D5D6D1960C6E -B094A13D5812F66CB04B61EF700A746DF194200D551ED8F9FE71F2A73865ECAA -0FBC735069E5399649AE1B915AF495F2E37714502D1F07ECC5E1CB702876270A -BD0EAB310FF8F176CC99343D1361997B36D56BC53ABDD0A7B7A49AF939A22D39 -CD9286708C5E8400AD8804A37516D2564F109E7830DCB0D244E2494367E4F868 -746EB3DD81AC7063BC9D7B2ECC0FB94D7070CC45D6535E3154DE350DED1C140D -0C001846F49A8716AC4C5D18EC8DD301AAA69044E5D30AA4B93EC0980EB140E8 -7344F7F33F34C2AB37086AE15A894CE61826AAACB2B78373F3D400FFEAB639C0 -CAD1283DDAF492AC9CEC125C4A95FF0C97B5FDB40C6097EBF0E0CB90065B9A03 -22A815911B8F54F2681D6A3B0FD8EFE9EE6FDD0312047E3427B676E32D962985 -03F9418812DCE2EF1AF866B6B053E3B7DCBE5D107B25CA9BE56FED9768AF38B8 -1BFF016C930D30B921E3E88B3269FA7CDCCF6B9B82D09E8F953553BC8DB98E6F -57B26683A8E423E2DD2840429998198C831F95A6D7E751FC1AF59E2D190AD904 -5083FCAC884E74F7ADB3CF387F0F404C919D180D2875D0B56A3BA77E8962B61F -7F3248F46CC01CD8B8B8552180BEDE4CD180D809B3EA2742E519FC1F42A35F9C -C3FE4417F046BD07B3919F97C9BAD610DA4789DFA86AECAF3A445FA080F3F008 -63A3991E8B521C9E06D2537424B423483F1B50BE44FAE74EC2C1B5442214E230 -AA58940BADF618C0D4C895D1EC71B2B73E3F17A36ABF7AD075B1E8304CCFA9FC -5715B5B8F39DF90056FB59DA6771C7654B654376C145D4585D36CDD2D1AC7400 -4A28F1EAC479977359539901D2F37F6A6B02925728DC8313068222667F00B532 -C049EA619D302C99D915E88BEC82D952820AE9AE2A457C99B550159F463844E1 -9F8DF563DA90805A68114FE600CF1855F5EA89A74D83E0ED98A4170C3F7879D8 -64662452EE7B581344B4FCBE3079A3C3F741AE1C104D2C7E15F2634E5D874056 -8A2CA1E1779FDB79073656A76E01614ABABEFB15E7E69554E064BDFFFF7523C5 -D9B3E7AB27BEDB6BF2A5F499B9F0CA181B643FC71D1B8391F1A591C6DA0BABA9 -82EA2A36B81E934B9C3F5B1B1D0989EF7D068D78C8885123E02424B4F2007281 -38F56EFD4A11AAC000D7A7E7B1B8FEF271A1C7C9333CD481DF4B939F4D53D344 -AB477CFF59E54F1FAE7329A1CE079C0C32F4AEAE4C4FE2AD3D8F8B6FCA84E3ED -C1ED005AFA342FEF75AF89439205E6ECD79C6B9990AFFF7A09F95D0776DC9167 -29C20636CF24BA1305728CD7531F63595B2EBB8AA4ADED3D1A24D7C5E9F6AF98 -A7D228F9E468A6DDA935063512B7BAB8ED57C66DF6A7637F2666D9B21F4F0A2C -5707496342F3C7ADF02F6F22F5C91D13C27FF2EE2A2C18832254256037DE73B6 -B60086F815F30E5F7310FB73E76A59C86BE0CE6CC56E18B49F72CBE16003F959 -1FFB2A4C674F3B425535E45BC18EB9569B26B260B5875518976CF5EFE7A51E85 -EAE3A0B4F03703D558AFD6CF6355871DE64206535D24F4BA8B2A420D20B60A18 -454DAD872A878143C898D81C5C0A1DDA7F00897156522588CA541803E0620339 -CD8177E15950405F09056BA5BB4393A6966E81135E31A403F93E510AA1B4AC58 -FE008BD20D9E4CEF525CCAE5602F879C4A3BCCBE5DE021C8DA627E74481E7F20 -5FB8AC697DE5E41C417AE727BCA05E995784689B065859EDA736A13E0E8A653D -F053B1D2D389AA10D46EDA2FF54EAEAE42E6C0B9DF0EC74F4B5408918C13B8C1 -BB71C362DEBBDF46BC9ED17FA99863AB4242E72CB6F46D2AC6CD8C050E60E49C -49CEF5823C86621421E2B0DE3A97DB4DB8E527AA1FBDC9DE1D5FFE46DB1E5E2B -1F8B587FA4A64F01D4C3D52572C26D0134D8A4C99AFADDCF56D061B51D7199A8 -0AD74E4BEC19412F4C354417DB90F6DFAA3B9D904EB3ED4603A407909D29F7B0 -EA6BCB988F9926BA219DA04DF66EA8EC15F9C1EA8C0D25361BFD6BA114915121 -5EA4C2E5A57DAED54CDA63218BDDEACF6D0C40DA04D7FB9ECB09F19F98066D9C -203D89DD326EDC42501D9BCCA9DF37EFEB6627FD6101676EAB779B98F5FD562F -449D30 +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 +B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 +AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26 +7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF +20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390 +B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D +68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809 +D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E +26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D +F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26 +77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299 +BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E +C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8 +30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5 +148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C +E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D +E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23 +337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598 +0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6 +472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E +A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26 +31BD4B15835897B780BEA56230EC98D44200DBD7DBEE512140F1C7CC6E5E63DD +228F2B277A50DC4B151B278FDFD20E103C7B97BF443374E58FB1B8F73BF8C720 +93EC5BB903709FB0D1CA1DC85306390DC6BA79DA210DFBD6B46B5D13BF05A6DC +7D9FD0089F052C054EA4BE885367C27481DBB5A04014B906E68E4F0BA151CE48 +554DBF017C31450B8A3F0CE6120F352A1ECC3C9F70CFBC1D3D6B8E4CE35F483C +6C476781522C3DD8983187EFA9F107AA56EF9AAA1F4CBF57DF53611816F451F3 +EC49391F560E1DC9234EC4D340016B9BC5A65FFCBDA8E18ABCBF21BF0DF06E67 +54294278C679DE7AC03FC2B12B3C5B5B9116372CE4F8D549F27825A54CB66965 +099C08485C3327E66E1FF98561BDA599EF37C31E9E5710BC1D5D7623EF3835DE +5EA79810555E297224AD0D134B68D3B551A52968C709C25A45828BD854BB5E1B +BC2C5E4C043EE768862C517693E0157AA4642C754938CAB4B62CEFD4C4FF42A9 +7FF4988C4A2A5314D6024DC453F389D9E003296AE18D8D05A407F7F660651C54 +7BE2DAE87E6C4343675AE1682EFADFE62385BCEC6444235C739A54A1B11387A4 +EDFD5ACFE0A83BBEB596B7C910A4987E877F2DBF5DD725D9A462D8151E12D13D +08DC540E006A217FF1EEC888AA70F08678DCD2972AD6823404AC9DEE9C53D63A +31FC3E808BB7A643C8BA5D0C41DD658E9F7650F90C42EEF2D93D5D93B394A18F +4DE8A364387D1073225F8BD0E63D14E1E55CAA1B3F053BFD6DC2C60DC00DEF4C +639DF4880A3A2858A1224B6CEC40FF5123C20B66E8B31F56F16A1236D3840316 +5A53D8212D31821C0B6A7B8EBD645AA245EA6DAE4D4EB8400CADD5C316FE9B56 +86F622CAE471B726BCA87718AF8BFA845F002727426A35D6C04FC8C1E8C878D7 +392B51241989DD9D58AC7A2411EB604E9706E37143F4F348C46E5EC85C1C6CDE +C6C8990A3601C0A62EE3D9760DECDFA0BEDD0A0C0AD6EB81BAF47CCEBCA6177B +149F987724AD3E239B2DD5E4D1B9EF046EC528C6DB10FFFB02498B1B5EBA3727 +B4733B45D005086596054C7EE22B9F4B0F5DDE88FBF2B784E9C34D195FC889DD +006CA33FEB8496118F02B0A42094794BF6EA53F3FFBBE58DF3542D4BBA13B790 +F53A2AB5EFCEE7492DF488B0182AF94FB759BAC862F71EB7FE001D98522A4CEA +659812788A3D94FCDF58A17356E014B62EE4C264E07FDC1CD9D7446ADBA519D1 +239BA5F89D39C5E9AAFA5AE886A4AD2F492875CF2CAB1D15BB49D9D9D4BB1F16 +A5BF93BD878233471BA35E31487A003584FD0C1F4F48D018B7C42B12D21AE491 +4C276576A015E4589A10ED6CFEB3DBCD8188FD076C1F0698D724904B79CE3880 +146D80F1D00F0C85BA4EB68C03664B1DA67B6B9FAB7F4129D13FB690840FA1BF +D464FB70609A8C4011DFA2090970C44804D6158022FFC5CCF48A56B8E3348285 +B26BDAB2AE15B0887E9B2E17FAE6F3E727800235992A4190F4715D4B3C3B787D +8B2E39A8D2B7C1EDC2435DD9C4DD850A5D991C5350F56797F3CA93A251E224E4 +7F1B2FEA5C616AED4E52F9CE47856B7B055C8BEBEE26E994F1056A41DFB024E5 +A29631708C294F1000AB6341520C36A97A22F0E58F5D1691428FC5A41732F512 +273183B4189F0624409FDD386D6819677BEBEC9749796A351E14C9FAD8959163 +3219B24AE884AE22619C6DCD0610328E2C735856D1037CA8AA0962E21D8E4731 +554EEE7CED660BC1C8B85EDF605D77A6261AB98744F80AE9F020A4D0AC0BE222 +80B3A835558C7712150B7067720B0B01822625C426F37F847F1E910A3764B0EA +798FAE3FAFC3AAC12271376FB6A7644B19C110825E12C08D93FCA29780D7B50A +0901719F6C700827EC180FE0655DEFE8255909A236E20662665FDF74FC929D4E +1E5876339FC003B2C79E8137B22A0F21AD20B22149AB939FC337ED3B913D75C4 +593BAC4B789D6517ECA6B787BE603279897CAC27AC2DB2A24BE8B42F2A7F7C84 +3F73BC40D078342B6982EEE73843A9238A25863FC69C73AAEF45B20CF4E20B0F +BCD6FB7B127731A83A6FF9D64C996D072EE2E69786916B16100FF3EB7FE3C7A5 +8FF0D3B6A08504018E9E30B8701D92660FA5CFDBAFAB3EDB35A0A940AC2CCCFF +529ECC4F4C9835EBE7F48B87771CAC7BF0B7173080A6C6512C23ADE1BDFFDFD5 +20BCB7A694419D20C59E92E7C97329C231346D84EC7A1CEB2FCF4CF54C306BF5 +4866166C13D92D847608E18039CEE287E6DD0FF63CC428AF70F3B7A6559A417C +CFD3DC27ECD96C89C7BB9D9768CDD284CF3726D8BD84A88AA200E2FD071C0A5E +323DBD3957D9D7C77A841DBE8BA458216DCF6DC9D3EC01971643ADF34E6B61CA +218929CE943F394A472CEE8551E321FF6A2E93B3A821A6B28717B271A805FE9B +3A1D9362D171787FA903E1A1D0BF91088385F5EFCA127A41F31CB088163B190B +023F23F2C64156A92B50F4BB0D9136F636AA65294C3069B9A7E2FC2374C8E598 +4BD05D5AD0E1F50A61696345E4DA57F5EF6FE6FDCDEAB271348751056A294344 +71A7934E83242D65432637603C183CAF0AF83ABC3B6BCF8BBCC4D835F87CE2D9 +D30061655377B7EA5D43D2B16733194BB008496AA4751BD4038A982FB063773A +A2921094690027594E01AFA1126646030871B76D17B407CB2AF4CFCA607CF119 +B436ABACB254A1F92A62BD046712AEED74DF08AA708208D71A0AE3D1A94A3073 +C8BDBDF1D754C530B60BF5136BADF341BBA891E54698241A99047CB239B07BF8 +8A2A0ECAA56EB95D28CDD9C6D4E5AF460AC2C418962596C612FAFAC954B8C6BB +FEB35272ED99885A93C47350D77FF6EA204DB8E119A66595922C50BA9525AD68 +35D02C3A2353A1AF3716934B8E0D5B977DC62F14381B3FDF62F5DB221D776738 +CBFC3D8BBE695F70F9C54F975BA0C9D793DF87A36A9B14B0FFCE6E0B19E3C83A +A33364FA9CC516F513984DBED7917B31ABBE5FC87CF161082573A78ABCA9016E +69AE871B2E17BFB9E7FD08FE6B1515C12F8EAE5EC14AC50AF7ADB1AB86A61ABB +F3D63A4657B7E4137B6383389DBA87125841B4E717059BFB621F1EE597B417AC +69F87C932308A1863136F2621E0BD1DAE4CCB62069F939020BB82D03AF2BC425 +459EC4929FD3148A23EA0901D1CFF12E6A7A5F1C7E5E551CDF4081B83C7A9968 +78D94B0A20BA052B7D3C1FE0A216079F467C9FA617E25C09D70296EF70F9DD46 +0E4190A0ED0B145799FF96D688E144A99836E37A68E51CEB0C5133EF73011933 +7622A6C6B74E223561B37877FF3930FD27B6BB1FD7EB6B115BBD87417AB0DB02 +0B78C89034E3CBA6ECA50F024B642A4CEAA710FCA44397EB14F96886CE1953DB +632AF5AE6D98A1F94CCBDAEC3A1DDBAF257F5DEF2DDE24D2EE3E704600998B2E +F02DB3F277D09DF9F791B10DB17C789C793FBDA26B97999A8C7B4A83DD474826 +E4199437A58B46BBBFEE2A5B86371D620A12210F6EB55EA8398FA47A955C34EA +7AE7C5D9EE443E85BEC40E9A29EC8B0339AA37124727B3B7655B221B1E2240AB +E7918E8744DBD35383EAD058E47677C155D78D348D42879CD6A5C8B98ABAFB3B +5564B030FA35F9C37694C1362EAADA6182C6EF48CC95CADF2A6D17A693402C58 +6BC8BDB855446873AFB5B5DE82B6208D977DE1B95F7161894C3896ED3ABF735D +65ACD474D5DF16D3923EF6A3BC14EC3E681991353D2AC3BD848D8760AA64A3AF +3A0D1C194CEB45AF999E710107709A02CF7CCA3B25D668B1E76470F468AB8867 +F2404AF3AC1F1B69E76F3FA3A0AED1A8C5A12C3CBE32F7F81310F6585851FAA5 +106FE9F08783A752F50AEDBD47C63324D1C67950CFA53561D1C47C45BCA9207F +30D0D4DFBAE1076B5802ACC386F50D4FB80DF2BBEA69DBA849328A339DA2C770 +F5A7DC0A1CA7A4CA46AA3101BDDB44A92E89AA8215AC379F02D45A92FD9192B0 +3F026DF4A32603249B0342402A46BD24A40B7A868921B4B30B199E08F507861D +20222A858475B69D9DDAE61DC59827289CF8631E325FB8B6FB8BC3C13341913B +79F1EADB30F08F8C2C41630E4F65453DC6426696F7E68CC3D6B193353AD4191A +8D68F6EEDE3DBC0E3DA7CAF3E2E948465A7527DD7697B874F655AF56D6D3430A +F5559B665A5E9426E1F8FE2264A6AB470A37245A45D5E9F231A95C14A5118BD4 +B3923FE71BB46A3AB06B0740301C698E8D278310FE3796387773154BD59953B6 +8DC6C542F3FB22EDFCC7D01A23B46812D3575ED0585A4A86E9B1F8A4E610BECD +15B92288614FA415E1A8A86D9258E2D596A1A1846BE12367AF23E8BEF04530D3 +1486361BC9EFAC1129A29A7CF03DCDBB243CD892B9BE117ED07B93CC3579AC47 +78D2084C6C6537BE72FE2CED9BA5FEF1BE81C1FB02007184CC2B6EC1933B7662 +FD32D872669E1F7E4E06C6BE069D118C9D2006FE2C0063F4E130E92D21C89BB1 +61DA1DBEBE4EC051165F62D450F5AB06D5E1CEE3A40E2937C3D14E6727E6E614 +EA92424CF5937D5872FA6CDF8FF68959673E4EEE7DB3575FFDB91F68FE0D8126 +E64E5187D294E9A75B9A4864223F1C79A88A0C629E4D1EAA6E8A7FEC80EF2977 +0A3D0E0000D3A2D0E18DF6932D07387BD34F1E6E9E16CF408256A34424DF2ECE +C07709AC4E50482BE4F7E37326839A66111E0504C65497824CD9FC46A6ECD7F8 +FEA30FB16C6160545FBABAF02DD1EA56B68811EAEB3325B9A290E8F540365C8A +FC5C398CA7ED48EF10E6F85E68016791E8780E1C78C1EC2EE11A6EE7904FE3F6 +3B2680423BEAEDE67AD0F829566382BF596511EA9360D0CEF75D04DE2D35E9CB +54CF60419BF405FB8F984DB4D4C011356C339F1B8E482CE375A3BA7ACF02DA73 +044F9675135EF70D52EB71A55A32CBDB30477439DAC1783C4D7B8CC9DB76E161 +DA378A7E8E345F81C95C08C721A3B58731C75111284FE49FABA03B98816FC063 +29AF52B45E40586EF849F1088A412A64E9BA4887A7817BFA8545605FD1977EB6 +6DDB885D507108B6F8B71A946D137F5FE447FC7B1CF7D97522EEACAC14198BD3 +BAE571034ECB7E9ECB1D8E2289D6B1B4443960C58DAD4F3CFD32362A0BD9DBB2 +39A8DDFD675323DCD46370C648B46AA8D28E2C4F742E80A45C0E2E486F1450F6 +293E3B65B7784711CA9A5D90C5F562ABE212BD0DB653B8116196B5A815B084EC +8191FED783470205726B5A02E7C35121E5164C4DDEDFA8052568B4948CAF3893 +7445313F380D222815CD1CEBDC9D3472CA6C1F75FBEE2D9E34F7FA97C5614156 +50D9F6C92ECD7DC81DB63BB04BFAE50519E32D59B227B107AE55743CB3DB8A34 +2E122846951A7BF9843292BE4CAA1C3AC84CE6B0504998CFCE77DCFDE2A3720B +6DAD24157794CA5DF32E895449BAA4CC59187B18FE32B619D71C21EB0277693F +16FA4FE28E5462A44E80BACAE53D883A43739AF85A16EED1EB6CE261A98C3217 +3EF40AAA23EC646B854070C9D41C1F34329862F20039932D0D4502CE0D065220 +64D20B092D643C37C5C466E19BFFAE6A1AF0EBB65188211D1A57AFAC0C505DD1 +C468EFFF92DDF073ED85FD0C60A0A3486D1E6F91ABF69EE0E6EAD5223235788F +908EDB01EFC706414975B35CC59BB724EFFF40FAB52DACD2CC6255A87873C3E1 +B090C1AFD24AF0A8DBD7E64D11418AA39BC43993ECF8950AAE05FA1E31448BC6 +BB7D6F1C47D522456CF318ADDA6FF966AFE7946EFC4CBE6C415B871CE1803969 +70D288201C6120B6AEC80AC9D7F63923F69C8B0D47ABC1A77CC6C7AFA9B09847 +1A03E1988B1E8637537DFB27581995C80DD710EB3A56675C1456E0073520C63D +38C425B8C6554069DCCDE1266910C13AFE5A5012409449A0CA865DE68372583C +54059E3216044F87378FB7737AE358BB592145B7B08B4E7D08400EB44DF08551 +750CB7A12FF2317D837E29134FAF6DAC11E7437942C607043FCC9EF375C89095 +BABB6B75B04D5674FE33D156E07CF0A0B67AC5CC8077608D1B7840A5CA723239 +0F187E3B34458F6C110B8B30C9E651FE14360C499DCAE8FFB206906C5E0BB966 +9DCF88BE2DB7D50E9CCF2ADB251DA00D666E97D89511A8DE055837B5528DDA0B +A1E3E8DDB352972C15B5774ADC7E51CA42577B02AF9C6A37E97C51F426913931 +2C70B53242D0815D7A0E5E53A966B5FECE62377BA4E25F3FD3EF9724BA51E276 +68B4FA41774FC8AB235A3F8AE864E1850EA75EA03F8084C382100B8E1746B823 +44FDB18B8C1A42947E256BBB5D2BBAF455C47DDCB33204CAB9C6B50010B495F1 +191BAEDB32581C624C4C77809319B9A86C902456CC33096EB25FB9F084327823 +B890838027CCE370AD2A53DB8E26067F1D647407BE48F35741E1351CC246E47A +111EDAE04E0E4C304C3C0E18448BFB617D339554C5356DD8A3F278D3A178C2EF +9E4118FE41A9651D85542308CC9B843D0DC563E7C5D79A854DD6A68EB8A31A6F +E87B68E84AF427EC3D72D91FD29AE7DB69DEAC2AAC26D2B8D4AAB9BFA47033A8 +BE36F9AFEF4CBD56484356B01BB7A0EE0FDD3549601DD2B56391BD1F614578BE +A4B5227263293B5FBF481DBCBB644F1A23B991B612FD6C94FD31E6E9419CD7A9 +8AB2BD4C7D9FA94EF40B16F3F7FAA30659280FAA8B77B89AC55AF8877F607C82 +9B6BF0FEE5B09CF11A3F8F1245270681A049067D6211CE08BC25E638B6430937 +1AA50861276DDB0942B5CF075B34FC0EE9DABC9C712B7A233A09A0C25CCDA963 +FEF863A35B72181D282D4FC58AAF40FCE2065175EF198934D4DE69DF388ADE0D +3792CAAA34ADF2BEA346F6BC08A29D4C607A0566415174F6798F59FEC4B28F69 +6777C8945E0FC124109D560BEC62A9FF952EF1B6DFF4ECE7B9BD34B25BC78BBF +986531D21838C81B3083A098AE54BD9ECD0406F4C3015C3603D5C0F18F3E0B33 +C76B4D43D0590C0CB75FC7984DEDAC6041A8BE08C139DC2F1F0CF396DBCD84FB +6323DCA7EE119EF4D0B01EC6C83E4317E402EC772672979646D3AEDEEB5A25C7 +066EBDCB26652731C6FC981E887DCBA0A532E231EF269045D9781DCCF1390B88 +F78C3993D2519C05F24F15231DC1F572D596F6B01AD3A99EA6A184D09DC372ED +321C81FA4CC3A0856BF89B1CEB365EA0B1B568C0307B20A8E290EC876650E389 +FC21976757A00322A47F1C49B59DDFBBB2BE00124A1F8DF8DA00346252BB2F1A +CBF8852A5229FB0338DF8EED7CD443A6BAB84857CA41817E7B4BB8990DA3028E +1209CED7DF97BA4760FF78625CF5465A5EDC56158EBCA9F42EAD9B2D72FEF5C3 +DA045F552AB177EFFF8BA993C54D8CCF62CCD17392D9706E7129A2A7DFBB4F55 +32B19D5D8B01632ABAF824605C1839495B6E8125BC7C5ACA9D9184D80FB3ABB7 +F6C271064C2CE44A3A6D49FF55342970D2571A725541F35D81803BCDF849C51C +ACC53AD05AB017D7B18A6F482077B413856B19A4043141B8D3F59BD34B2B57D2 +E49A6ECE39D13146F137FD4D437FBA4D4F0C6A4E28BD1A93F82654F367365348 +8DE66EE931E0B749C85C681BCB692A1A05F7110D170020F595AB1B24C5182BFB +172C7C81677576EB90D710D6486AD117D332798445C146EAD87715FE9B674CF4 +2E0CC7BD5E311D996B2BEC1B4E8DD29EAF0A301D85B577099F4DFA218BE4A7D5 +B67B619667D023FE36CF7FB1454071FE652431FD33DCC1B9C55DC751F8B0F446 +95EA44EE5ACD23CABDEE0F92C830594ADF6157D14FC7756BE76FA6C16D769A3C +EB8EFE46F4288680CAD42E629399BA5B9D405E253FCE94D04F3539A734E60348 +5ECF7BF44A9FA630C5716D91DE70DE195000A6698857C0B0A8346FF912829A09 +6BF55A5D97005A210E30252B2D2E8FB7576C7E86B3A2DA7A9A43978F575A2600 +F719A223279752A42E15FA44D0D47200D0CF147D18A6BD7B611FDF1A71D8FB36 +817B469AB3EEC16B90736D90AD2EF7CF111E0F071B1B0261EC4B44ECC50C0363 +0741262E36912A8D7358F09CE8372BF3262970245B281AFA4DBDBF554F3F5A50 +339752FADD57D2B4180BB0ED1AF3E654CEB2BAC0571AFA0AF74273FCF1E4B3DD +AC7A003FA93D28B869C85037FD9CF469EEEE28C025D221D4A0D84F49AC4F0EFD +4EAD6B2E1D793A1E43AB5134D5D5C57CA581FAA0AC74BA313D7C8558073E3C44 +38E76F9BE7D2F726E94DE39156333CBF0156FA5D41792326EB553D6685C2EB79 +A37A308AC2224B5F8D6AC3A5BED5365B0F13FD47755A409F7DF8232302AB66B5 +6CE313873A55BAA45AA0C5844F1DD2832AED243FA8FD069A93ACE62D85824D53 +3F3ABEFDF007020958D47B3300447192E4EF70FB4FD6815D251126A23B592B38 +1B52313DAAA223DDE6BC188D68BDC85A06422C240379640B3A811EA42DFC999B +1856AE370DB0DA264DF7C70B765290D6A346E4B8A560E51C2D8F2314547768B3 +C28EABF48905A499D383A7BDB2BA72092312912A1F049313A5AB1B941AD7410D +3726B1A51375BAFF0B54EB8D0734A3184D1CF697599C929E9FC450DBD4E655C8 +AFCDED58F39FC18EFB9143866042E19C86BC4709BFE97B40CF08484EC9D5785D +7C29046374ADEE84B151B1A231FE095BF9F4005D9528A484EFD649698CF5DBE2 +3EE594BE0DAFAAED69D6A913DCD2B82A63BBB59D89790C5A04C9AC399C22C90C +67305B6A67892698167D996A698610A5DF36053953DCC3AF8483B34B43B50D26 +5383DBBA756AE32DF5817F4347A5FA79D4E84530E59AC46BAD1DF149BFAC6541 +4D601E27165E2A24FE449FBE14F65030AA406E2174F62D72B2E6BD44CAB606C0 +D3D1DD6B7A74DFD0700A4930EF6DF1401A9AF4F93DA8D07B90D59292B5FB2C51 +44CFD946AA0827C1A21257C16EC15C60F39160464FE2DF9D196A6A110D729214 +9B3041F7E8BE24DDB44A154D338EFD1CF6E5B89ED8898E39C864D2542B359F63 +02C833ECA658B98669E80BF16A376F531E6C6802A5EEC6DB7FFA90C261A9B364 +F6718C408519475FB09D9B49B650EA8AA52E3B70BE0FFF1718CFAC256DADF7C8 +953C46BCC0BB3334087E2D0A90569CB7FE8EDE8E6AE82B93B7C84BE9F33DAEC0 +3D539DDF8B21F42916F0AB24FD8D02E114465B3ED7325B9B3CE0B9E89779F1F2 +DDF956C35C9C550709BA0DF3472B10201DB70EF98DB0095BB1B67BE334FD6CA5 +8089B4E47109F6D4F3C1FE5C6CD45BA777BBF2895FBA52A026D52B34294B21C1 +74815706A50641EC1E0BE4E2BC7B0E93FDECF2FD1EC45B5BDDAD50A3A35827E9 +5B24537057D4BC5DC3B8FE11D8CF1BE62C6102C3AE979DD39137E513F39BB363 +70ED0628E8AC867D422EF8DDCBAA5F6EC6CE53A70B1F457D088EACAAD313D21A +59C66FB81E592C87F963BD0E3E1CA4F534E91EFB8B0C4F963A18EF8EBF3D73EE +27165C22307774577A3209840B95A6CC809F9613B834BB8DB48F891E4BF7885F +99DD2105F3F4CF7D82F9C771D350B4ECE398D673B02BC082C296BB2F86D20BBA +875CDA7A543B6D4BF1CAED3A305A025CFA54ED889A6E49EA9ADAAE781BBE74A3 +F6F1CEB4F92B62DEA49B1A5441B7FFE4F0B66A7FFE75B74F70D7580A97E46F52 +E77D498B3EDDF7327884D3B5D23EA953F95DB25B2816B046083C6E5AFEAB01AD +4787447B934C22BFEC60C0F0210DF32D85F1E2DB0A3217D553AD8AD32C94C38E +CEFB4EE0E1DE86F72F24D637B1AF65B5249D844060CF6996BA2F8B9ED71E5F96 +7EC93CABED6430D4149835C99200C9930DA482C2AE2BB4B1620184A8A6066BAF +D93FEF420C91706EC582BBD33597A11A4E6E8A44844D8915AB47BDCE2667CC8F +BEF577F959803AE89E3A9E083DA019456AA31B687DA386AFC68DDC8B3B54E8B1 +C3BFAC04FB4A3D8494B23AB5CD9D15D1622A69F2FA98747740B94AFF5EC17404 +9C4046FE2FD924A727004F1302440031893741D2B08A46EED28553283453AD52 +B804C5049D99E953DE81CBDE064E7E9C3215B49713BA42DCDD0527E7487B1ADF +4D9CFA3989010F05C9A26CBA28ACD7911BD610DFC2EE0BF516E0C912FBFAC3D7 +762D51794FD0DBC88402FC8367737EC0A9D73B35A33A4134E5419B29E81EB9E4 +10509FA5F8BFC987726895ADA71819715D7D39FE85829AD8A155A240103FAE08 +37447EF45C757EFF5E445539F146505E6AF9BF8DA22C5CBEAB9B203AE06B9FCC +AF0B24C1FD7B378F947531AFC292322EE43480B8AFF720B4E4A3186E9C36019C +4ADCD3966D1BAECE8671243A28354E45A2A9835A9178527F662B984775ACD10C +B2790C4AD91C0A018A80A9C9D9790566087878B5BC2F181D8E69AA5F094E935F +A05766668C95D284239DE866ED8E527AAC6F7ADC39E2FA478425BDF4757E24B7 +278912EE01D654E7BCBBCDD1BD7FFC67E939FBFC9F371AE4F2D7028BB91A922C +198EBBCB7943CB68FF8DF54C78DCC7576B48CCD1CDFC170FD5A309E6818F9EDB +1D31E0E18518597A9B083912A50F550A373A2BE987CC95F5DFC40D548EC061A6 +C4D27D8947F2D2EE10E961E83066392C5A37B880B9889B32EF87ABFE968E9864 +9EE9A5EBEC1789A6ECC898A55744C52E441911626A4214D538BE5936AC72710A +0EAB9FD3DB9DF9AF87416B37079B8D8D254C75BA92FC2E7CE785B7D564BC8DE5 +F42B20AB8474D0955C85F80B7EA270702C173C857B65BDEA2751EF0A12E6D173 +0FBF666DECA90CDF1FD01E0C8A434BADAC2A44F976DBF27D896478FD2EA1CC31 +71FEEC813C9C4AAFCDE50FBF71010004CBF11DB570CCE00C35B8C02E8C7C765F +B925E9FE1F659BCE841B732CC0E8BDA2EE47BDE7B3C4BB239A1A75E95DAA51F9 +25EA2D09CBA8539C475FC4234F0D96A0ED1247146DBEBE7AFE68C4A69503C0BD +6DEE0E321CCABAAC0354EB47B631FE1058476C17B5BD19E7D4154E4F6548E010 +5CF7D7C5D065E1035922C2A7FC303B05121D4FD28F4BE9103C73D69CCBA5B555 +EDD72EB4E48337626C98A46AFE1FDD82B3E38E5F0C7E5E595B808700D1364232 +726733EFAC524F93BB3F41B438608EDEBC9F4563662CCE1C0F47341089A64CCC +007F8F9B8E4296D628BE57AC7684C3428D9B8852C04D5D8252DC8742BD7383B7 +662414042AB2776FB17B824BEB04E39FE141440676F16C51D6458A4A4FB22472 +C92B118864AF030BC51AB0971A2D104169C32E78F98840882823D037CD62F7B3 +E8AC9BFB67AAEC1C8EB99A159C51D881D64C25E42C0820281732097760C559F1 +0587506768DD122E18017BFA80255B64B44E58AEDD829A91278EA5C633C32E10 +EFC15370AA47E0C1E2D650E7F48F83EFB5FA29E9DCBBEF4485E0ACC42F6797A0 +CDC7821E013FEA0D4D10060F387C2F51CC3A9DE310265772BD9121F8432E42DB +D1847148151FE8BD07E0003E4FEE64DB5FA5EEF90A123E111AA5AB5E616FC9F7 +1F9F0B4C623AB31FAF502535DF1A75F2E32ACA914264E1363F998C58E7E21FB7 +E39421B4D1C92AEF4800725FE00A6F611DD2650AA8CF1924455B169F2E43B570 +E4CD65094937C9BFF421EE01535585A85BC3260C65CE96D7694CF14D2EFB53AA +892BB7BE0B33AF9C77F81EBE4CB38BF66C166336CF5629CCA945062AF8852169 +66812758FEB1209BE58C9F505E8E2F28A6A25C16D09BCB97C8DD475ECE6D376F +890823AFA15FE854DD18B26EE2AE5ED4496C217B31F0F9EEECFD456EEC041D53 +E9E967EC7AFCA8A7529A1E55B7EA825C4C51B7AA81BEA47CA852A084339E3B20 +DF9E9E9978C70CCEFD9CA836C3343D8A73DB6903C72FAF0A4701AD7F9CC9EE02 +81B608AF70C03028F765CE80512F4D7AE376089D4B5436C69EF24DCCD9E3B134 +C37A41AAABCE14E4AB597B45D111EFC3A9035E6E94D3DA8F5B6920BE36223FA4 +7E93AA427781B473FD80868626D2798D76B2B77630D88FBC8A325F731503B75E +8B24E790167A337B425A9D9C70A6A6BA8FB2FE799E342663F3E0B22E1178B7FF +567E9B514B582CBDE505A043287FEF8C2DAB38E7CF157139D969BE2C27B80D32 +0BEA58034CFE47AA40D11EC4AEC5E8194175AB56927CAA2E51B0C3CFAA1C6E74 +87A25A208384B937BC2474CDDDE76A3691F51FC5FDA14838932BF8CC262251C0 +2002D0737EEA9AA81394D14650289CC3FA248D40A8439FF750CEA3BA3C7EE44F +C53B1A485A612C222F68D10BDFB264EC4AD52763185219033610F537E41FC152 +BBBE2E44F53768F91407E7F97B01905D5D6E7FCB80064E40E2EBE957748C8A5C +C8DD61BFBAED78C7801C66CBF51DFD26C2B0590F653301C6446D601F682BDE77 +F20D2203F54909AA8AB9246D0221D3899DCA4EC5E9A1B1A9B947DAB742CE1D02 +8A739CA6776A8941369F94BB4811651A9A5C515955C018264440D4BCBEC487A4 +C8436FB526F60656FCF394E53FA44EF9B174E5B4A1F1603688A57A26E2DE1754 +05A8E39B942543FDC79071124C4B662DCE221F864DB3DA6276852AD3D638FF96 +02794A273569C5632D62E22C84DBEA4FC992A52D9C18B112CC12CB4FD9187784 +537612EEAADC49B0C922C675E67E53FB09E81DE632BE382471764A96BFDFA8B9 +CD9A2F1395A692BDBC10037268434AC74CE38CF2C995FF6ED3F43C9314AD0614 +E9E5DAD6A0756CD16301B118D22E5BB10DAE5D790007F82936982F1C2F8CCDC6 +0DD4CB2F3F4E67C20F94FCE1096B3D68A04864692D07597C33FE18F9ABD4440F +752A872A01F171D621AA0935B3B69547D6B58B119853733BDD532921E4572293 +FB4AC554ADCB96EA84FB02AE48BD8B9F2ABA67D9101E2F307CD4FA24A2963339 +9175C3F48F8ADAC06808FFA0654586CC3B98F726190B8F3C4BCE21E2EFB41490 +6BCD549D93425060765489D9263D29A7FFFD4A4D25617CE82F4D6CC5086416AD +B430527D9E917BD05436CF3D2E713D332C0DA0A74E0E36CC7DBD7BF47C1E4FD2 +479127F507552EF97540873E466C01C67F22F8CEDBBE8794CCE89C99E222F02F +4BC7A5BCD07CF32C124657606B74E388A31BB495F9883C543613505B942AAAF4 +5832B19E4CB3B99C7E91D35880F0131BCE6839BE90A19FC111FE90F2A78E88CF +2C4BF30FDE98648D4BF6689570A11BF22162737FC17238DBD61462541CA91986 +81A0788C6A626C738AF28308B5EE5EDCD162BF4CA21B1951081946EB464991D7 +B460FCC4FAE69E8D416E8D63537F14A87B3D0A3EB153E8B07D2CF8F6DF674AFE +9656EF981119795F77CE186A133B6C90A8F52D92EC5BE01218174F899EDD824D +0C6438BDAE2E6B26CBD3D4A34C190FE4718832F8D5A72D08C3F45A15DFA57CFE +743B5950064E47A7C70CA3976ADADACAEB1FDF14E12E1BB9905CE9C3E7C4B1E7 +082515F6893E5479441A8007B6C79361B384270C1058DA398424516526265C71 +F25EF0C2E7DA98078A9349C6D974F97FDDEB3C0A852F47C061AAAB90FC04C954 +96AD12D10D473F237578640AC5C31A1BC8329D7CC9A96260127FACB1D06652F4 +79D57285CB2AE5ED4D1D9E3D9080DBB1975F76314B7046F8AD44226497AF2EEB +CF858AC1A249BFE3CBDEACB4BB625C28B5C1E2DBB9B6CDC5972DFE7688829B9E +C2299AC359082F407EE500D2E432E2B8C088790C214F8E1F2AE2408367DA2F8F +2B0A9F54C9845D5F77133EFFC2D0C68C794FD9C8DB09430F062ECE7AEF62725A +106C6A8FCEE4CB2EEC415C358F9DB9CBBFF433D7898C65D7967278238F7BE293 +7EEA907C053372DB4F4775536480C8DCF0E103D370628B97E0C20FE184AE1263 +42ABDCBC7B66C100DAE65CC2F33F5D4B56ACDC3F42C477CAF9C74D8111AE658D +7D2332FBCDF5C42AB84F4083265B05E7EED8B46D64FD8BD9B977C41344725A7B +EAB09BD85882C11C2890B8FE14E41CA49FBEC56B2C534E51FA523A930163D860 +CDC033F08DA535486A73FC42596BA78F0A376534C68E64F449730C38A0E33E2D +179926559D352820A60A51A57F55F9C5D091F8CF3C5FE0B4E52F5D58F270319F +0CBCAE07DECC4503808AD13E60D7837D5C617D5EDE06241C38EC98F0A49B96DF +F9DB4A8537F6E8BDC47E38B0674429A7AB5637414AEA00ED6F86476C608D7BE1 +1376E2921CD9EC9E63E95BBB7109F289D2BFF8F143B50C9671AAF397E6D33052 +6E7AFBA991BD41D9F714408D7AEACF9434A6363C8E13F33ED8F1793E368DBB71 +B5F925C75B7B1F111B7EFE783144A95AF206831EFA3A8B94C3A8A4A79B5C0792 +C2AD5444CF3B9F508F9CE3C99256D2BDE2C6F581DA79A5FE0589A3DC141F7A29 +CCFF53838C624CB004ACE2393ED52EC67CB3C89DF3866CBCD6BD1CBE86133F41 +6B3E5B178D1498D52E8E66A02EBF2E94ADC0601521617738ECDBFFCA2A9721A5 +45ABB01FCE451C6B9904D9D656D575FA07E87EE16EE954DB9143025AFAABD4B5 +C14F8E6D3CF20EA69BC4647450F011D25C1BEC1CF837A3AE5843B12BB545108B +A11AAB59359BF3E399ABDC9470AE61E754421588CED35ECE2E43E695A8724605 +7C545D8E573A5033E5DE47073CE57250D0FBCE11B965221155DBB079D48FB008 +93E74F6567390AD366469958F6058E24964826B7B9026EFBE8E1F4BF05DD714E +5922B195117575027D89B71BE84987D389EC405AD1090A2BBC23561DF40FFBC9 +7CA518B9D20EE08DC33BFC705E158BBC392A80A78800FF10D506F4E124551AB1 +E98C277FA3B960ED22440F81F3A6FE1B927A8A017B1696ECC5823D5C2216EDF4 +8181B17D8DDCA4E42FA13A74512C031748B1749CB51DBCA5F6D33AF405885D54 +849F983721896FEA300034124DDE1DFAC2484075FBF0FF28BC4C0C92AABF9CAC +9FCD37A161C1FE6175E23C8B3E05B245CA1FA9205020E82D1C0498AC6AAA4716 +C22B5B3A00EB52AFB018D1E64A806E71C67B36EBBD144D5D00AEF1427B8D8FBA +2E2C0AB000966A9AD489E0551D04AD4DA81C10BC985F6563057E8B3B9F139904 +484BA7BE252040661BDB68253F1DD3B37F5B83641A196637775891B13734F3D6 +108EF409FCF2880D610E878571DC0146857E19C38EAA84284BA2E7299382FA84 +63832D4F153AAFAA79CA0C8987F43059F3E84C0B02F4B322CEE7954F2895333E +33421A2A882365B45C1445F4E64FD7FCAD9D14D8ED04019F5FE83C70CC35BA82 +E8913E123A6F6E3B9C9FE556359DEB19A5AAE740226405ED909BB13F735C9B03 +31A85B1ACF2FE77519750D540EE20BB8B2BEC50EEF7DF470E1E9B5EF6E9F3429 +37375956D3E7E2EFF132BF292AE4D60B5B3C624EC36EF92C56F4B7763891AA34 +EF749EDE69F8E8CB2DFEFC66DEF307FA1B8351E223F0118A77D47114D9618D54 +14D7B2BFC868 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -8476,42 +5234,25 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMMI10 -%!PS-AdobeFont-1.0: CMMI10 003.002 -%%Title: CMMI10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMMI10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup -/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMMI10 def -/FontBBox {-32 -250 1048 750 }readonly def -/UniqueID 5087385 def -/PaintType 0 def -/FontInfo 10 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/ascent 750 def end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put @@ -8520,222 +5261,68 @@ dup 120 /x put dup 121 /y put readonly def +/FontBBox{-32 -250 1048 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 -45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 -7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 -72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E -BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 -974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 -11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 -1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C -7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B -0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 -EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 -404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 -78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF -A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE -88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 -C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC -BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 -98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 -E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 -143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 -981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 -88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 -4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 -FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F -347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F -FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB -C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 -B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 -F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA -29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 -36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 -048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 -80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C -9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B -75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E -4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC -74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B -D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 -E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 -EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D -543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 -710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 -EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F -7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 -03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 -01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 -500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F -F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 -AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE -1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 -85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C -4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 -6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F -55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 -085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 -BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 -2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D -CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E -BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E -D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 -991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 -6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 -E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 -E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 -B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 -4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 -1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB -B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 -8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA -FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 -AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E -BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 -E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD -38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 -7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 -2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 -DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D -22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 -8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB -44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 -D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A -42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF -C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E -0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE -66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 -E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 -6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E -1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 -B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B -897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E -EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 -A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 -F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA -A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 -2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 -51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 -598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F -87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE -178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 -4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 -7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 -AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 -3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 -337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 -C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 -DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA -7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD -6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC -98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 -821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 -C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 -7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 -B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 -A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 -23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF -C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 -969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 -3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B -9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 -1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 -B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 -95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 -FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE -44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 -FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 -E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA -633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D -6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F -FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD -375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 -6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 -EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C -E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D -F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 -DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 -D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 -D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 -9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B -9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 -B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 -D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF -8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 -FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 -B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F -00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 -909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 -5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF -7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA -BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 -C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 -BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 -BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D -4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 -94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 -F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 -E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA -92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 -63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A -CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 -B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 -5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E -86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 -AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 -3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC -35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD -155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 -AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 -E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F -226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 -9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B -8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B -919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE -A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 -9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 -523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 -88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D -2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF -AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 -B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9122E8494CE3AC668 -3B5554571BE12596F1E4AC4A664CDCEB7842581CA963B239C132D1566EA3C8D8 -813C2E0080DEDC279CF83DA020EE0285979C4568B1805BD605BBC48767D7E254 -2CDACC60553FBCF6C09B8F0B42CEEF693F098F68C9050D6E601A3307C3482173 -C52C785C77938E895784B9D7442495A411942ADB7F3DAD182C4DFE4CFA5E25E4 -085971B4609973340944D9505C22E9B3AF8886495B2F7FF02617D82222A089D2 -E28F7D9F6A1DD342AA0D497399B6CD04C9ED54A1438D29A7A714B8488A5A9A47 -0D0B5BD8461393B9E2C710DA59618FFDF86B0E310835A31E20D8F03285142BC6 -6697C85574F680721225AF71727FFFCA08A6E9CCCADD5C801EB732516F6E76E9 -1F3EB79FA6FF5B700AB7C2E0D0CBDA625751D15A8C774D9139F480B12A4A6A1B -64A9A9739C88245EBCFF379E6622FB7F33A033051CE68A3AA2A3145BE029E7B4 -4278366CBE69B066CD8AAC8057209E89525D1EED7D4E511E2E380272E4BEC52F -66997CFBD9B83BC37E84B136249F221A1376C45E1C24EBF7E6AB3158A90FF088 -A171DFF75051A426F96DD75D78DF6AA1C129180259E568567B8064E496BDE7C6 -6371A4DBE06845A3A3EBE6403EBED98EC759B77A4D37FABCD028A608E62E1AC9 -5D7405F11FE009C73A326A3BC010C99B279190EF57B8D6C4736B8F94358A76C2 -0CF1BE086D58C7400C57084E0B631BC36BAABC14298279D4B5E7B7830381A322 -3C459764AE02EA46C71B022E7DA4D4891BFD64B3D5DFE0ADFDCFE9D1E2B0B6A3 -D925A6670E659ECC287275F99B1C2F41C475E3DD308114AFED18556DFA879B1D -08DDA9EC89E2F197B51F3A94BB123753F5F28D8C5ADA510B4B6F31FA2275E051 -E206985EFEB5EBE745893D54B70E9397BF6D109D6F6EA7D44F2766B6F36E11B1 -9D7B3A80098BB886988B5CD144FC294C60E484CDE94E91E82D3E4DD3672DA9AA -E78147AC04807F68F7BEA15078F0E93A79A28FC8197441D6D0405CEA81F7F672 -ACED8E1FC7D4B2947F8DBE7ECA1CBC88BD3D1A4F18AC7615E108E154FD2BE233 -008BD26EEF768C429B8E925AABB02595150130CC227F4D919545D05A8AEE4A61 -2BE3ACA5F00F0B5DC3AD41EDD0E7251D994F4DBF729EAD452A4E92EF7EF78A7D -C7BA6F05F8821359AAA38EBEB9E2156009A16EF7DFAD735A4E284174D141C000 -507AB754866722ADB38314DEC97547A5DE2C20E9A10706756DC2A1E2EF1ECE52 -D5FC14448D6E04CF0827BD11FD7392591BDE23995E391A71B01CB8B64FB70120 -1E06D46703755C39136AA3C475B252E6550188229E4982451926D4049FC4ACBE -EFDBEE6EE29B0C38B96D6628010B409F36141A780B8EF3198165F4DCBEBD96E1 -99E23F82BFC3CA4D5258B30584B93233FA2248B4286CDA35B108D8771DD00561 -258C662B3869D21FF20C5D2D378660B61628285A7AF83D0E31CDABC5353C10A5 -60A48259D9C283E416A61F01573C894668527E9516FD459213E801665BB38875 -458EAE2769DDA58CC0677FE67482AE4E9C169D9DDDC4802952D6DBD9C553EE46 -275649E817D38DAB343199838A86BC6A835B13D00FD0898610B4F761D0 +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +956017667271C1FD06DBA26AC7504FCD81979D968F25FBF2C61B4822DFD416D2 +8FAA9120511EF04ADA431D911C4BBFC9F75B97286EF528C117FEC1C8FF9C4275 +F7C4B6595CE4072590A210C7740E110C16073A9B3B277B7BF25CBFBA34FA558B +BE9520AA432CFD9B93655999BDDB835BCE3430923B148CBA37F1037A36071FEF +15472E6759352C4CB7E27F1F8781B2B7BE2AA0A8FBBF574ADEB68C14DEE49B49 +5448DD98AAF95ED9DF0FC767540EB08E1204FC39412B54CB27E0133EE408F1D5 +1473A118DF855A6B8A43F988541AC2954E893101C070E0AD99FF3E6E8B3DF4AF +5F73D4773C2327B4EE00BE7349076460B7A37EEF9B36D32F37D8C5BF09F310B3 +00F1A646CA77E1C01094496A367209469516602C78E3694E2C28214977B148F2 +9D5644F179600040BDCF1056C61ED5399F5E7BE7695F197F651FCF852CB539B3 +AE4F1505B9F713144E2EB4D0E98B9D7EAF7F2D42AD7F6611A4AC53EA56EC9E02 +FFFB6CD23750A6256E69030044BDEEA70251ABE695991043D7C84D69DBBB5B1C +6050EF59C739594FCB578F80AA0D45EFFD5ADA215F7BDEA14700562D8A676A00 +30948C546E99E4E562B114ABDBFADED16B8DDF434E73EB30750A5A4DC55CA9A2 +EF21180CFCA105A5826025C1713F528D9351A1EE646EB03B40A9F58778E1D6EE +8A1255957D60AEE2FDABF08FF412880C1F78BF95B2D8672B5D90C8FFC2CF48DB +C6A3B482C1FEE825B1E1CB2480627D4E3FB4CC87B5BD3D25881330E31AE303FE +987956906411A19026674733A1146A82AF49B6883D394815B7B905DA934358A5 +E97F68D1BCBD8E264A43313CFBA64B6EDD33F6D6DBD21460C5EB3D88C9451597 +88E00AE9457D88BDB6223AD4501EAF6498F1D08C17980FA534D9610512B28EFA +F84CA85F0AFD6577C58BCF2F8C01B4D169861F7D97D6B7B59C381D14CEB8523F +B45510221A42C11850A3214FF83E6E07A215ABCBDED564A6B997004F7BD498F2 +54570CED72CE67632866550882CD05EAD1E4467C40EB3F155EC63348AB76E80E +40F2D3BC4A69E9F5D04774DDA4031A8E40CB63868A760265DFDD8456D5F10D81 +7CF414B212FE9D44648B89390042D3E818BC1578DB7B254491D52E967CC49B03 +E7A776B486D89FC31810F008BDAB5CF814152ED8E6A5AD709D366FF6334DFFA3 +DC0634217530BBF6BFFFC104A85AD24D4FA12C92BD62031E92A7B51BC47A4551 +3ACD552C79FE98883F9EDECFB95BFC31B226DBF48FD24C9A38751C27B18FDFE1 +D8032C4E722B631B6C3DA3FE3F1F212F04F63EF595919402189A05F2BDDCA96E +0092ABA060CC8FFFF76B284AF76A16E6A13D698E93F33904023F97C50CCBCA27 +A29A6D5014BA002844DCFA5E45C8861EB76CB04A04D8562F1CB3CE3CD807965F +A3ED81F563C91F29A929649D8981BF6366C2EEBCC7CC3688968284423FE4B955 +102A22C5AFCA1DA0C654387F2B4CB1B05856190BDB80CC13F3BCBFAFE099A80A +A12D25679B211BE74E8672ED72904999C4C955D7B9D0144BEF7FE582777281F4 +03948A0D7EC6644E21A778A471B4C483731EB82141B3 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -8745,233 +5332,63 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont %%BeginFont: CMMI12 -%!PS-AdobeFont-1.0: CMMI12 003.002 -%%Title: CMMI12 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMMI12. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup -/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%!PS-AdobeFont-1.1: CMMI12 1.100 +%%CreationDate: 1996 Jul 27 08:57:55 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMMI12 def -/FontBBox {-31 -250 1026 750 }readonly def -/UniqueID 5087386 def -/PaintType 0 def -/FontInfo 10 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/ascent 750 def end readonly def +/FontName /CMMI12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def +/FontBBox{-30 -250 1026 750}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 -45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 -7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 -72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E -BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 -974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 -11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE -882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3 -2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A -7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541 -0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69 -987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7 -609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC -182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A -CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A -1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE -C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D -3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6 -D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E -E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200 -761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24 -8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F -68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D -10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4 -262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6 -922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16 -56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26 -32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA -7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460 -7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A -46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD -754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF -88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F -CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A -7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760 -8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0 -BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B -CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25 -8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B -D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300 -135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A -C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812 -1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86 -07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39 -14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D -7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D -2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D -639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3 -D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F -90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948 -10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E -1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E -8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC -D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9 -1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33 -9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875 -EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE -DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3 -60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8 -FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D -203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608 -FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09 -DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F -2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D -244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077 -31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B -724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8 -F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7 -D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA -AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907 -CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF -01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D -CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA -287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605 -8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9 -9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1 -6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5 -7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C -192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA -AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4 -A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9 -50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67 -A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912 -3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF -CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6 -5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96 -8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE -084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7 -92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2 -AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27 -97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF -92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5 -7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824 -5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199 -13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76 -6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1 -5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5 -6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83 -F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E -A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4 -7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A -9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817 -E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962 -AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD -F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8 -0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003 -1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31 -7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E -38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8 -5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F -3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B -B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85 -15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B -AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674 -6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6 -CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322 -EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82 -A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D -806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4 -461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1 -4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361 -9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C -172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6 -69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E -ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690 -356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0 -E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78 -7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C -B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A -31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF -EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7 -98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30 -C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61 -AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208 -E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900 -76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40 -8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573 -CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7 -761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A -2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138 -89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60 -D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF -C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485 -D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8 -B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39 -AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F -D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3 -866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD -207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73 -756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7 -60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD -A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A -1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4 -A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048 -C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3 -03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321 -1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B -97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE -D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8 -4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF -94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97 -201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7 -9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000 -CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7 -29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939 -4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED -66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31 -14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53 -84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74 -6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12 -49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C -224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5 -5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4 -A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498 -1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D -5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6 -40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C -E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B -C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD -CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D -2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE -710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45 -FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8 -FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736 -5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65 +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 +3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 +EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F +4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 +2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A +323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C +2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 +D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA +5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F +0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D +A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 +2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 +00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 +CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757 +99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA +C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D +5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295 +55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49 +335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146 +BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 +15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10 +0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8 +23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2 +378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -8981,253 +5398,124 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont -%%BeginFont: CMSY10 -%!PS-AdobeFont-1.0: CMSY10 003.002 -%%Title: CMSY10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup -/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.1: CMTT12 1.0 +%%CreationDate: 1991 Aug 20 16:45:46 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY10 def -/FontBBox {-29 -960 1116 775 }readonly def -/UniqueID 5096651 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def -/FullName (CMSY10) readonly def +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def +/ItalicAngle 0 def +/isFixedPitch true def end readonly def +/FontName /CMTT12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 13 /circlecopyrt put -dup 15 /bullet put -dup 104 /angbracketleft put -dup 105 /angbracketright put +dup 45 /hyphen put +dup 46 /period put +dup 64 /at put +dup 98 /b put +dup 103 /g put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put readonly def +/FontBBox{-1 -234 524 695}readonly def currentdict end currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 -3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 -91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 -E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A -11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 -C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 -D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 -B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 -93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F -10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D -7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF -B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B -491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB -F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 -019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 -915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 -356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 -5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D -9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 -3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 -FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 -720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 -D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 -BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 -7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 -DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 -AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 -A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E -0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 -AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 -CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 -0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD -5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B -5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F -E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB -54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 -E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F -A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 -4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 -4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 -038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 -B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 -5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC -B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 -A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD -2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D -CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 -455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE -FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 -16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C -16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F -483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 -67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 -3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 -1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 -93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA -051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B -8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 -8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 -6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 -06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 -84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 -D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 -DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB -0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD -8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC -C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 -754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 -1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 -CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 -1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F -153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 -905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 -617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 -8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A -98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 -53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B -888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D -052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A -CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 -A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F -07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 -B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 -10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 -CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D -3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 -D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F -849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 -648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE -84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA -2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD -2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 -9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 -B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B -D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 -135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE -EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 -C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 -7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 -4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 -9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 -050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 -3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 -C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 -843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 -CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B -B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 -3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 -19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 -FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 -17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 -8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B -CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 -F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 -1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E -4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 -2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 -9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 -E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB -8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB -BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 -04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 -C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 -ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C -4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 -84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 -C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 -09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 -D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 -56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF -035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB -FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 -CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 -B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A -F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD -CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B -0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C -B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 -33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 -4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D -F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E -2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A -CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 -88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 -17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 -55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A -A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 -2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 -406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 -AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B -60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 -C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 -5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 -822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E -94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 -D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA -343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE -894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 -DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 -DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F -8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 -A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA -DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 -E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 -DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC -4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 -5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 -02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 -88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0 -657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE -D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808 -AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2 -3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E -7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B -A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0 -2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25 -CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D -9E592159338E1293F449380E13C21AE42E6E371B75D78AA87381B96012E722B1 -3E1628DC89D9009FB38D9984AECC3367A8436F03DD58F85DD4971868D7949048 -7083BD403FE778F660F5F0B684E730A8EE16315D4FDFF432FE18FAFEBE527D3E -788FDBCAD3405F21EF422913918EAB15AAF24E95243B4458145F7CD3CA6447B2 -7E9D369CBB62B6CAE7E7E0BEDACAAD8BE313CDBF24ADF41D458F28F971B7C0F2 -0283DC3C6CB1F02450A27EA834138F4EC0A4026219FEAA9B7B9C4E61E86F114F -174819DFBFC8086931E4D79746A7C7BA03C39E2B9045644D1219D9848C36A653 -E1F4A2FA71CB6B12A24509AD5304B355C1466ECB7E31D33A7C65AED48F7CCB4B -927713E3898334BD99CF42EC428B4B4B186E88DA52D6B9ACD74663CCC9CE05FF -B2407222F227F49DE7552F45C60A120FC1471D4136A98FC7B0CCF102D16BBA0A -620F109E65AED0BA6172A4520F2A773A99C009BFBAF175684CD71CE172F148E8 -7C5A80D66FAC0598AF22323087B9D3AB25CAE4FE9670F51C61CFFDD351FAB682 -04E232331D36C159D08B2B907A9A9CAAAAF6F2FC1964308844F23FAC620D85C2 -B4C0C6FEEE4A2F1B438A80701698D94EBFD4A7A99C7A16AAEBD3A7030078E95D -58C4B914C06438C86E4832DFFA884C3574FBE830351463C4DA0610C0B01DBEBA -1FA2244B128D81C1256D84C4CD7E2E64D524BE14CF7B2AD3924D23380D0C1227 -8E7628B9601B01D2C715F74585F639E7B059612214E8E60A6F521CC6E7AFC827 -0B948F6E76E0CE904E7C4AE79800C8E69A4ABAFDE476F452AF9EB2AA84217B64 -E72F3A713227F6D5BD0E93A26B2376DECBADC70DF559700D434E8A72CB7152B9 -FD92890BF5C878187A88CC3DBCF9BEA099D639B162A2BF0D +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E +C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E +3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B +426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D +D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161 +E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32 +6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5 +A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE +0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC +85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF +F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4 +C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC +12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D +048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8 +0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725 +741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB +9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE +306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371 +CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666 +1353CC1FC512D59DFF847ACCD3D03959C548F21BF622A6C3224EE815E753BC8C +B155391C51D667F9C839F4D4E8EF4CBE6D3BFE2B563A86A947000F549268A100 +209B87105E2D4A93E6EBD0C65F02507F60E499EE7703D0262249B7BFB4AA1FA6 +3F21DC8195DE00E095781C138BC104972281AB173CD41ADEC6627A0C1FAB6542 +E7BCB67292592BEA43E0292ACBA05AD567C4845624B4FDE527FA7D697B09E0CC +E41E79C455FCA992E1E910B517867D04D3D4ED74CCC4122C1A9F82049119A695 +9698152C58F0053E0ECEA91517F1083096B424C0F636523E0D28DF5F5FE4397F +07C3F11B89DD6C46280EE2B5C0EA634C9A9E828A6BD7F665F3083347C7F321F9 +177E4E9F584CD9CCD3B9AA2BBD321B7BEF7C6808F7AC3E7D70898D9DC1439F0E +AB97D70B4F80F1078AC40FA8E08806095B8BBF973FB3102D53746746BAE3CB58 +36D5BC356E859143263BEE92090B9ED179DD35ED44C6264297196C53B5DC4588 +1BDF88FA97586554C9F12F1EF380959DE40923AB17F96ED4FC370D303AB57AD3 +41251731F0C0504C78BF8783479FA0C6CBCAB76A9D6212278CDE5DD653109D59 +F696C04C18C143680876E43253D4F9BBE9F36C3BAA9ACD1A0AA2B657DD8682F5 +61862E0F03EBAD8CA957475B4493EA158D60FAC5CE0F4656C3DA52D1305B9199 +329665D1021008E4D41E963CF6B4E3F44686C540E4353F75D4785C01154A1E5D +B669332EA2816C5891AAE534346AAC032E1DEEBD154835842D5C385DBE2B8514 +6A4A2BDEC6CCADC02D9835947C101F10528D2052FC56A3B804CCAEF2C83E0DDF +503339BF6C57FC52624D46216034FEB97BB9B18176E1F8D0E333EA3CF3CE38A6 +F9297B14FFE06A4EC3CF15A83F221F43D93681BBF6A0932ACEF642BCAEAC10A9 +85B5979A87B2D3DE98FEB76566680557A936BE3E494FA625DA6D49F1FE03FDD4 +5132006842747BBB99D9AACC145DD48C0084842789783ED73B694E26EBD317E2 +CF7978DC95563534B37513CD92FF96DCEA9A5A8321517F565F5AF5CED11CFF29 +FC204E9649DF3295CA99F27D0C2EC4908179EBF83E0AB80BDC1304BF9387959E +1211F0790C6CD66B428BA66A95E7BF9D51FC4F6A6749551250ABA792CB7D2960 +AB2B6CF9D0CCDBD60B8E9B1D77A29633FDB975752B21DD0B860DB72665D2F4A5 +E4D6302AFD02B6637DBFFFCC77443909C19E0CD47F65EB3D2908F6372D809DE4 +58EF22CEC5C1859A10A3990AB718CA748859B9235335FE5E1F84F850769584E3 +C2E7522BD16A9117A23D28C10E2BCAEC23D4C48437FC18A8B1C5045D17BD8A08 +14A25BD4A5548198E7E266AB258BD7BDE2250C3218CE664BDD86C647B4D64653 +BDAD6D877059A1A415D52AFB026DA1C404C2CD082DBE13E8F438A576CC83BFEE +23FB8F56C0F60AF374234D43A5E74B400BC676FCABA4A68A66D62CE72FB7A984 +F17AA626352E64EE6422EFD235E34A1A3CE3AB6769CC909D0902F7C3B805D2D9 +BCC02F615D80C483C263A516CE42A2FA125DD5293BDF1BF4B1BC2E130F36515E +75DD0152C763FE3449E7FFD9E7A37390FA0DCA2254338914A74F227C3853869B +F71ABEF1BF0886476724F0DC72027ABB7919A1444EC67CE37B467359520DBAF5 +E89206D6D30054783715FD50B965F14C70000495C12373BAB7120A3731876661 +13E29EF9A59E1AB6854DD114AAE5A93EBB79D67FEAC23269FE3A601720470AF0 +944BF20F1E310019A14B651B9BBE583882F7B57B0995F0939441C5091A4A297B +A7EBA7356F7C328BB14FF92E31D58BACF057A1F079C93DD420483325E884BC35 +FC9B549D37D2793C5D896A525555956E3BCFBAEED12EFAA939CD34AB23B03C36 +77CDF6C75D166C495747AFECC995544923587674EB84AE250BB17E6E329C1EB6 +A99966CD246AAEDB652A146DB0FC547FCF7C5E9B73A3BC0FBB5F2AD059CBDA04 +B3F70F8755BDC7F60F5A828A60F7E1A3F89F0380A56CBB513928182A7741E8C3 +B2A9D00E2BBC06EF0A40CD1286BE5D3BBC9DD979EC316D01E308C13E53CFFFEA +389E8FC02ED91B855873213E4C01E879591E24B5BABB20FD827FB94927E23AA4 +7E93180BCFE1EC7D2B2BC34A78CB7E4798349A7E69A30018A66FFA7C888EB0B1 +D00E7B8D395305D9ACC01C50B4D78EFFA1D0B2DD7F3F1922DEE3E9DA4E040F4B +AB7F910617318263E2FF22CD6F017C6198394003FABCFB51FBACFED0375D45E3 +300E3E9B58F9BACABB5D4C687CC7C2F474C4DA7A782C725570B1FFD7FE7EEF15 +EB9EC5D34594D50744C0F563112BD6E1ACDAB0D94D40C8A36B415A1500292452 +340EF13806F28EA581857C9F067D556BD74E972E36039340A6273EAE3C6FA438 +BE8CC4D3B69FC9952527D3CFAD07135CBB1F98CE16CC9EE653598AFF25AF51F7 +7122060C1393A6EF997922AEE44030E0ECCBD8D91F2688599725DBF6337D99A6 +51ACF7C6BE2006DECA41BE9E511A1239513D5269ECE06A7515C485ED666EF710 +25649AF0F7DBB1E45E27B64ED57D092FD599DD86D610BBABACB2050AB605A143 +679CC9AE80C2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -9237,7 +5525,6 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark -{restore}if %%EndFont TeXDict begin 39158280 55380996 1000 600 600 (gnutls.dvi) @start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[39 @@ -9246,73 +5533,74 @@ rf /Fc 140[42 9[27 5[54 1[56 97[{}4 90.9091 /CMCSC10 rf /Fd 162[28 1[28 91[{}2 99.6264 /CMB10 rf /Fe 133[52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 1[52 52 -52 52 52 52 52 52 52 1[52 12[52 5[52 8[52 1[52 7[52 1[52 -52 52 52 52 52 52 52 48[{}39 99.6264 /CMSLTT10 rf /Ff -133[40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 -25 51 45 28 40 51 40 51 45 11[68 66 1[67 3[68 83 57 4[71 -3[66 1[68 7[45 1[45 45 45 45 45 45 45 45 1[25 30 25 1[45 -28[51 51 53 11[{}51 90.9091 /CMSL10 rf /Fg 214[35 35 -40[{}2 90.9091 /CMSS10 rf /Fh 133[52 52 52 52 52 52 52 -52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 -52 1[52 31[52 52 4[52 52 52 52 52 52 52 52 52 52 2[52 -2[52 8[52 33[{}42 99.6264 /CMTT10 rf /Fi 212[56 43[{}1 -109.091 /CMTT12 rf /Fj 194[34 61[{}1 58.1154 /CMMI7 rf -/Fk 207[19 48[{}1 58.1154 /CMSY7 rf /Fl 154[66 101[{}1 -91.3242 /TeX-feymr10 rf /Fm 134[44 42 60 42 49 30 37 -38 1[46 46 51 74 23 1[28 28 1[42 28 42 46 42 42 46 8[68 -1[68 68 65 51 66 1[62 1[68 1[57 2[35 5[65 19[46 47[{}34 -90.9091 /CMTI10 rf /Fn 134[48 48 66 48 51 35 36 39 1[51 -45 51 76 25 48 1[25 51 45 28 42 51 40 51 44 8[69 94 69 -70 63 51 69 1[62 68 71 86 55 71 1[36 1[71 1[60 70 66 -1[69 6[25 45 3[45 4[45 45 25 46[{}48 90.9091 /CMB10 rf -/Fo 135[37 2[39 27 1[28 1[39 1[39 8[31 3[35 8[53 3[51 -39 52 1[48 55 2[44 55 1[25 1[55 3[51 1[53 7[35 3[35 4[35 -35 20 24 45[{}26 66.4176 /CMR8 rf /Fp 133[34 41 41 55 -41 43 30 30 30 41 43 38 43 64 21 41 1[21 43 38 23 34 -43 34 43 38 3[21 1[21 1[58 2[58 58 55 43 57 1[52 60 58 -70 48 60 39 28 58 60 50 52 59 55 54 58 7[38 38 38 38 -38 38 38 38 38 38 1[21 26 21 2[30 30 21 3[64 22[43 12[{}67 -74.7198 /CMR9 rf /Fq 133[39 39 39 39 39 39 39 39 39 39 +52 52 52 52 52 52 52 1[52 5[52 4[52 1[52 5[52 52 1[52 +2[52 52 1[52 1[52 7[52 1[52 52 52 52 52 52 52 52 48[{}45 +99.6264 /CMSLTT10 rf /Ff 133[40 48 48 66 48 51 35 36 +36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 +7[68 3[68 66 1[67 3[68 83 57 71 1[33 1[71 59 62 1[66 +1[68 7[45 1[45 45 45 45 45 45 45 45 1[25 30 25 1[45 28[51 +51 53 11[{}56 90.9091 /CMSL10 rf /Fg 214[35 35 40[{}2 +90.9091 /CMSS10 rf /Fh 133[52 52 52 52 52 52 52 52 52 +52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 1[52 +31[52 52 4[52 52 52 52 52 52 52 52 52 52 2[52 2[52 8[52 +33[{}42 99.6264 /CMTT10 rf /Fi 212[44 43[{}1 83.022 /CMTT10 +rf /Fj 194[34 61[{}1 58.1154 /CMMI7 rf /Fk 207[19 48[{}1 +58.1154 /CMSY7 rf /Fl 154[66 101[{}1 91.3242 /TeX-feymr10 +rf /Fm 134[44 42 60 42 49 30 37 38 1[46 46 51 74 23 1[28 +28 1[42 28 42 46 42 42 46 8[68 1[68 68 65 51 66 1[62 +1[68 1[57 2[35 5[65 9[46 6[46 46 1[46 28 46[{}38 90.9091 +/CMTI10 rf /Fn 134[48 48 66 48 51 35 36 39 1[51 45 51 +76 25 48 1[25 51 45 28 42 51 40 1[44 7[69 1[94 69 70 +63 51 69 1[62 68 71 86 55 71 1[36 1[71 1[60 70 66 1[69 +6[25 45[51 12[{}43 90.9091 /CMB10 rf /Fo 135[37 2[39 +27 1[28 1[39 1[39 8[31 3[35 8[53 3[51 39 52 1[48 55 2[44 +55 1[25 1[55 3[51 1[53 7[35 3[35 4[35 35 20 24 45[{}26 +66.4176 /CMR8 rf /Fp 133[39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 -1[39 1[39 39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 -39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 1[39 39 39 -39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 -2[39 39 39 39 33[{}82 74.7198 /CMTT9 rf /Fr 133[30 6[26 -9[19 37 2[30 3[33 42[33 33 33 33 33 33 33 6[26 26 40[{}15 -58.1154 /CMR7 rf /Fs 129[48 48 48 48 48 48 48 48 48 48 +4[39 39 1[39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 +39 39 39 39 39 39 39 39 1[39 39 2[39 39 39 39 39 39 39 +39 39 39 39 39 39 39 39 39 39 1[39 39 39 2[39 2[39 33[{}76 +74.7198 /CMTT9 rf /Fq 133[34 41 41 55 41 43 30 30 30 +41 43 38 43 64 21 41 1[21 43 38 23 34 43 34 43 38 3[21 +1[21 1[58 2[58 58 55 43 57 1[52 60 58 70 48 60 39 28 +58 60 50 52 59 55 54 58 7[38 38 38 38 38 38 38 38 38 +38 1[21 26 21 2[30 30 21 3[64 22[43 12[{}67 74.7198 /CMR9 +rf /Fr 133[30 6[26 9[19 37 2[30 3[33 42[33 33 33 33 33 +33 7[26 26 40[{}14 58.1154 /CMR7 rf /Fs 150[35 35 88[45 +1[91 13[{}4 90.9091 /CMSY10 rf /Ft 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 48 48 48 48 48 33[{}94 90.9091 /CMTT10 -rf /Ft 134[44 44 1[44 46 32 33 33 1[46 1[46 4[23 1[42 -1[37 1[37 46 42 8[62 3[60 46 61 1[57 65 62 76 52 65 43 -30 62 65 54 57 63 60 59 62 7[42 3[42 2[42 42 42 42 23 -28 45[{}43 83.022 /CMR10 rf /Fu 133[55 65 65 89 65 68 -48 48 50 65 68 61 68 102 34 65 37 34 68 61 37 56 68 55 -68 60 7[93 93 127 93 94 85 68 92 1[84 92 96 116 74 96 -1[46 96 96 77 81 94 89 87 93 7[61 61 61 61 61 61 61 61 -61 61 61 34 41 34 4[34 3[102 21[68 68 12[{}67 109.091 -/CMBX12 rf /Fv 134[45 52 47[76 12[25 25 58[{}5 90.9091 -/CMMI10 rf /Fw 197[33 58[{}1 119.552 /CMMI12 rf /Fx 134[85 -85 117 1[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 -74 90 72 90 78 11[124 112 90 120 1[110 2[153 97 2[60 -126 127 101 1[124 117 115 122 7[81 81 81 81 81 81 81 -81 81 81 35[90 12[{}47 143.462 /CMBX12 rf /Fy 150[35 -35 88[45 1[91 13[{}4 90.9091 /CMSY10 rf /Fz 138[62 62 -62 62 2[62 62 1[62 4[62 4[62 33[62 17[62 62 45[{}12 119.552 -/CMTT12 rf /FA 133[60 71 71 97 71 75 52 53 55 71 75 67 -75 112 37 71 1[37 75 67 41 61 75 60 75 65 7[102 102 139 -102 103 94 75 100 1[92 101 105 128 81 105 69 50 105 106 -85 88 103 97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 -1[37 45 3[52 52 27[75 12[{}65 119.552 /CMBX12 rf /FB -131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 -48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 -68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 -59 62 69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 -45 45 45 45 45 25 30 25 71 45 35 35 25 71 76 1[76 45 -25 18[76 51 51 53 11[{}90 90.9091 /CMR10 rf /FC 170[149 -135 108 4[151 1[116 4[152 71[{}6 172.154 /CMBX12 rf end +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 33[{}94 +90.9091 /CMTT10 rf /Fu 134[44 44 1[44 46 32 33 33 1[46 +1[46 4[23 1[42 1[37 1[37 46 42 8[62 3[60 46 61 1[57 65 +62 76 52 65 43 30 62 65 54 57 63 60 1[62 7[42 3[42 2[42 +42 42 42 23 28 1[65 43[{}43 83.022 /CMR10 rf /Fv 133[55 +65 65 89 65 68 48 48 50 65 68 61 68 102 34 65 37 34 68 +61 37 56 68 55 68 60 7[93 93 127 93 94 85 68 92 1[84 +92 96 116 74 96 1[46 96 96 77 81 94 89 87 93 7[61 61 +61 61 61 61 61 61 61 61 61 34 41 34 4[34 3[102 21[68 +68 12[{}67 109.091 /CMBX12 rf /Fw 134[45 52 47[76 12[25 +25 58[{}5 90.9091 /CMMI10 rf /Fx 197[33 58[{}1 119.552 +/CMMI12 rf /Fy 134[85 85 117 1[90 63 64 66 1[90 81 90 +134 45 2[45 90 81 49 74 90 72 90 78 11[124 112 90 120 +1[110 2[153 97 2[60 126 127 101 1[124 117 115 122 7[81 +81 81 81 81 81 81 81 81 81 35[90 12[{}47 143.462 /CMBX12 +rf /Fz 138[62 62 62 62 2[62 62 1[62 4[62 4[62 33[62 17[62 +62 45[{}12 119.552 /CMTT12 rf /FA 133[60 71 71 97 71 +75 52 53 55 71 75 67 75 112 37 71 1[37 75 67 41 61 75 +60 75 65 7[102 102 139 102 103 94 75 100 1[92 101 105 +128 81 105 69 50 105 106 85 88 103 97 96 102 6[37 67 +67 67 67 67 67 67 67 67 67 1[37 45 3[52 52 27[75 12[{}65 +119.552 /CMBX12 rf /FB 131[91 45 40 48 48 66 48 51 35 +36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 +45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71 +68 83 57 71 47 33 68 71 59 62 69 66 64 68 1[43 1[71 1[25 +25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 +35 25 71 2[76 45 25 18[76 51 51 53 11[{}88 90.9091 /CMR10 +rf /FC 170[149 135 108 4[151 1[116 4[152 71[{}6 172.154 +/CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -9328,9 +5616,9 @@ %%Page: 1 1 TeXDict begin 1 0 bop 150 1317 a FC(GNU)65 b(TLS)p 150 1383 3600 34 v 1587 1480 a FB(T)-8 b(ransp)s(ort)29 b(La)m(y)m(er)j -(Securit)m(y)f(Library)e(for)h(the)h(GNU)g(system)2584 -1588 y(for)f(v)m(ersion)h(2.8.6,)h(2)f(June)e(2009)150 -3899 y @beginspecial 14 @llx 14 @lly 60 @urx 56 @ury +(Securit)m(y)f(Library)e(for)h(the)h(GNU)g(system)2538 +1588 y(for)f(v)m(ersion)h(2.4.1,)i(30)e(June)e(2008)150 +3923 y @beginspecial 14 @llx 14 @lly 60 @urx 56 @ury 1700 @rwi @setspecial %%BeginDocument: gnutls-logo.eps %!PS-Adobe-3.0 EPSF-3.0 @@ -9489,482 +5777,468 @@ %%EOF %%EndDocument - @endspecial 1029 x FA(Nik)l(os)46 b(Ma)l(vrogiannop)t(oulos)150 + @endspecial 1005 x FA(Nik)l(os)46 b(Ma)l(vrogiannop)t(oulos)150 5061 y(Simon)f(Josefsson)h(\()p Fz(bug-gnutls@gnu.)o(or)o(g)p FA(\))p 150 5141 3600 17 v eop end %%Page: 2 2 TeXDict begin 2 1 bop 150 4523 a FB(This)30 b(man)m(ual)g(is)h(last)g -(up)s(dated)e(2)i(June)e(2009)j(for)e(v)m(ersion)h(2.8.6)h(of)f(GNU)g -(TLS.)150 4658 y(Cop)m(yrigh)m(t)593 4655 y(c)568 4658 -y Fy(\015)21 b FB(2001,)k(2002,)g(2003,)g(2004,)g(2005,)g(2006,)g -(2007,)g(2008,)g(2009)e(F)-8 b(ree)22 b(Soft)m(w)m(are)g(F)-8 -b(oundation,)150 4767 y(Inc.)390 4902 y(P)m(ermission)21 -b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s -(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011 -y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g -(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion) -390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46 -b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 -b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er) -31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8 +(up)s(dated)e(30)i(June)f(2008)i(for)e(v)m(ersion)h(2.4.1)h(of)e(GNU)h +(TLS.)150 4658 y(Cop)m(yrigh)m(t)37 b(\(C\))g(2001,)k(2002,)f(2003,)g +(2004,)g(2005,)h(2006,)f(2007,)g(2008)e(F)-8 b(ree)38 +b(Soft)m(w)m(are)g(F)-8 b(oundation,)150 4767 y(Inc.)390 +4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 +b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f +(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 +b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26 +b(1.2)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43 +b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8 +b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46 +b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31 +b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390 5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end %%Page: -1 3 -TeXDict begin -1 2 bop 3725 -116 a FB(i)150 299 y Fx(T)-13 +TeXDict begin -1 2 bop 3725 -116 a FB(i)150 299 y Fy(T)-13 b(able)53 b(of)h(Con)l(ten)l(ts)150 606 y FA(1)135 b(Preface)34 -b Fw(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h +b Fx(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)78 b FA(1)275 743 y FB(1.1)92 -b(Getting)32 b(Help)15 b Fv(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(Getting)32 b(Help)15 b Fw(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)45 b FB(1)275 852 y(1.2)92 b(Commercial)31 -b(Supp)s(ort)23 b Fv(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(Supp)s(ort)23 b Fw(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 b FB(1)275 962 y(1.3)92 b(Do)m(wnloading)31 b(and)f(Installing)9 -b Fv(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +b Fw(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)39 b FB(2)275 1071 y(1.4)92 b(Bug)30 b(Rep)s(orts)22 -b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 -b FB(3)275 1181 y(1.5)92 b(Con)m(tributing)18 b Fv(:)c(:)i(:)f(:)h(:)f +b FB(3)275 1181 y(1.5)92 b(Con)m(tributing)18 b Fw(:)c(:)i(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 b FB(3)150 -1408 y FA(2)135 b(The)44 b(Library)26 b Fw(:)20 b(:)f(:)h(:)f(:)h(:)f +1408 y FA(2)135 b(The)44 b(Library)26 b Fx(:)20 b(:)f(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)71 b FA(5)275 1545 y FB(2.1)92 b(General)31 b(Idea)20 b -Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g +Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)50 -b FB(6)275 1654 y(2.2)92 b(Error)29 b(Handling)12 b Fv(:)j(:)h(:)f(:)g +b FB(6)275 1654 y(2.2)92 b(Error)29 b(Handling)12 b Fw(:)j(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 b FB(7)275 -1764 y(2.3)92 b(Memory)30 b(Handling)15 b Fv(:)h(:)f(:)h(:)f(:)h(:)f(:) +1764 y(2.3)92 b(Memory)30 b(Handling)15 b Fw(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)45 b FB(7)275 1873 y(2.4)92 b(Callbac)m(k)31 -b(F)-8 b(unctions)16 b Fv(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b(F)-8 b(unctions)16 b Fw(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46 b FB(7)150 2100 y FA(3)135 b(In)l(tro)t(duction)45 b(to)g -Fu(TLS)31 b Fw(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +Fv(TLS)31 b Fx(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)75 b FA(8)275 2237 y FB(3.1)92 b(TLS)29 b(La)m(y)m(ers)c -Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)54 b FB(8)275 2346 y(3.2)92 b(The)29 b(T)-8 b(ransp)s(ort)30 -b(La)m(y)m(er)19 b Fv(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +b(La)m(y)m(er)19 b Fw(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b FB(9)275 2456 y(3.3)92 b(The)29 b(TLS)h(Record)g(Proto)s(col)18 -b Fv(:)f(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +b Fw(:)f(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)48 b FB(9)399 2566 y(3.3.1)93 b(Encryption)30 b(Algorithms)h(Used)f(in)g(the)g(Record)h(La)m(y)m(er)19 -b Fv(:)e(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)49 b FB(10)399 +b Fw(:)e(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)49 b FB(10)399 2675 y(3.3.2)93 b(Compression)29 b(Algorithms)i(Used)g(in)f(the)g -(Record)h(La)m(y)m(er)8 b Fv(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)38 +(Record)h(La)m(y)m(er)8 b Fw(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)38 b FB(10)399 2785 y(3.3.3)93 b(W)-8 b(eaknesses)32 b(and)e(Coun)m -(termeasures)25 b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(termeasures)25 b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56 b FB(11)275 2894 y(3.4)92 b(The)29 b(TLS)h(Alert)h(Proto)s(col)12 -b Fv(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b Fw(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)42 b FB(11)275 3004 y(3.5)92 b(The)29 -b(TLS)h(Handshak)m(e)g(Proto)s(col)20 b Fv(:)d(:)e(:)h(:)f(:)h(:)f(:)g +b(TLS)h(Handshak)m(e)g(Proto)s(col)20 b Fw(:)d(:)e(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b FB(11)399 3113 y(3.5.1)93 -b(TLS)29 b(Cipher)g(Suites)e Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(TLS)29 b(Cipher)g(Suites)e Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b FB(12)399 3223 y(3.5.2)93 b(Clien)m(t)31 b(Authen)m(tication)26 -b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)53 b FB(12)399 3333 y(3.5.3)93 b(Resuming)30 -b(Sessions)25 b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(Sessions)25 b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)55 b FB(13)399 3442 -y(3.5.4)93 b(Resuming)30 b(In)m(ternals)11 b Fv(:)k(:)h(:)f(:)h(:)f(:)g +y(3.5.4)93 b(Resuming)30 b(In)m(ternals)11 b Fw(:)k(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b FB(13)275 3552 y(3.6)92 b(TLS)29 b(Extensions)16 b -Fv(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +Fw(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46 b FB(13)399 3661 y(3.6.1)93 b(Maxim)m(um)31 b(F)-8 b(ragmen)m(t)32 -b(Length)e(Negotiation)15 b Fv(:)j(:)e(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +b(Length)e(Negotiation)15 b Fw(:)j(:)e(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b FB(13)399 3771 y(3.6.2)93 -b(Serv)m(er)30 b(Name)h(Indication)d Fv(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h +b(Serv)m(er)30 b(Name)h(Indication)d Fw(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b FB(14)275 3881 y(3.7)92 b(Selecting)31 b(Cryptographic)f(Key)h(Sizes)11 -b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b FB(14)275 3990 y(3.8)92 b(On)29 b(SSL)g(2)i(and)f(Older)g(Proto)s -(cols)d Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(cols)d Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -56 b FB(15)275 4100 y(3.9)92 b(On)29 b(Record)i(P)m(adding)19 -b Fv(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +56 b FB(14)275 4100 y(3.9)92 b(On)29 b(Record)i(P)m(adding)19 +b Fw(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)48 b FB(15)150 4326 -y FA(4)135 b(Authen)l(tication)46 b(Metho)t(ds)22 b Fw(:)d(:)g(:)h(:)f +y FA(4)135 b(Authen)l(tication)46 b(Metho)t(ds)22 b Fx(:)d(:)g(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) 67 b FA(17)275 4463 y FB(4.1)92 b(Certi\014cate)31 b(Authen)m(tication) -14 b Fv(:)j(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +14 b Fw(:)j(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)43 b FB(17)399 4573 y(4.1.1)93 b(Authen)m(tication)32 -b(Using)f Ft(X.509)e FB(Certi\014cates)14 b Fv(:)j(:)e(:)g(:)h(:)f(:)h +b(Using)f Fu(X.509)e FB(Certi\014cates)14 b Fw(:)j(:)e(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)44 b FB(17)399 4682 y(4.1.2)93 b(Authen)m(tication)32 b(Using)f -Ft(Op)r(enPGP)e FB(Keys)19 b Fv(:)d(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +Fu(Op)r(enPGP)e FB(Keys)19 b Fw(:)d(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b FB(17)399 4792 y(4.1.3)93 b(Using)30 b(Certi\014cate)i(Authen)m(tication)11 -b Fv(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b Fw(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b FB(17)275 4902 y(4.2)92 b(Anon)m(ymous)30 b(Authen)m(tication)f -Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)57 b FB(19)275 5011 y(4.3)92 b(Authen)m(tication)32 -b(using)e Ft(SRP)20 b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b(using)e Fu(SRP)20 b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)50 b FB(19)275 5121 y(4.4)92 -b(Authen)m(tication)32 b(using)e Ft(PSK)18 b Fv(:)d(:)g(:)h(:)f(:)g(:)h +b(Authen)m(tication)32 b(using)e Fu(PSK)18 b Fw(:)d(:)g(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)48 b FB(20)275 5230 y(4.5)92 b(Authen)m(tication)32 b(and)e(Creden)m -(tials)10 b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(tials)10 b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)39 b FB(21)275 5340 y(4.6)92 b(P)m(arameters)31 b(Stored)f(in)g -(Creden)m(tials)15 b Fv(:)h(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h +(Creden)m(tials)15 b Fw(:)h(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) 44 b FB(21)p eop end %%Page: -2 4 TeXDict begin -2 3 bop 3699 -116 a FB(ii)150 83 y FA(5)135 b(More)45 b(on)f(Certi\014cate)j(Authen)l(tication)14 -b Fw(:)21 b(:)e(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)59 b FA(23)275 -220 y FB(5.1)92 b(The)29 b Ft(X.509)h FB(T)-8 b(rust)29 -b(Mo)s(del)13 b Fv(:)k(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +b Fx(:)21 b(:)e(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)59 b FA(23)275 +220 y FB(5.1)92 b(The)29 b Fu(X.509)h FB(T)-8 b(rust)29 +b(Mo)s(del)13 b Fw(:)k(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)43 b FB(23)399 330 -y(5.1.1)93 b Ft(X.509)29 b FB(Certi\014cates)10 b Fv(:)17 +y(5.1.1)93 b Fu(X.509)29 b FB(Certi\014cates)10 b Fw(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)40 b FB(23)399 439 y(5.1.2)93 b(V)-8 -b(erifying)31 b Ft(X.509)e FB(Certi\014cate)j(P)m(aths)8 -b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(erifying)31 b Fu(X.509)e FB(Certi\014cate)j(P)m(aths)8 +b Fw(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)38 b FB(25)399 -549 y(5.1.3)93 b Ft(PK)n(CS)29 b FB(#10)i(Certi\014cate)h(Requests)13 -b Fv(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +549 y(5.1.3)93 b Fu(PK)n(CS)29 b FB(#10)i(Certi\014cate)h(Requests)13 +b Fw(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)43 b FB(26)399 -658 y(5.1.4)93 b Ft(PK)n(CS)29 b FB(#12)i(Structures)25 -b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f +658 y(5.1.4)93 b Fu(PK)n(CS)29 b FB(#12)i(Structures)25 +b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)55 b FB(26)275 768 y(5.2)92 b(The)29 b Ft(Op)r(enPGP)h -FB(T)-8 b(rust)30 b(Mo)s(del)12 b Fv(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +g(:)h(:)55 b FB(26)275 768 y(5.2)92 b(The)29 b Fu(Op)r(enPGP)h +FB(T)-8 b(rust)30 b(Mo)s(del)12 b Fw(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)42 b FB(26)399 -878 y(5.2.1)93 b Ft(Op)r(enPGP)29 b FB(Keys)16 b Fv(:)f(:)h(:)f(:)g(:)h +878 y(5.2.1)93 b Fu(Op)r(enPGP)29 b FB(Keys)16 b Fw(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)45 b FB(27)399 987 y(5.2.2)93 b(V)-8 b(erifying)31 -b(an)f Ft(Op)r(enPGP)g FB(Key)18 b Fv(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b(an)f Fu(Op)r(enPGP)g FB(Key)18 b Fw(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)48 b FB(27)275 1097 y(5.3)92 b(Digital)32 -b(Signatures)14 b Fv(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +b(Signatures)14 b Fw(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)44 -b FB(28)399 1206 y(5.3.1)93 b(T)-8 b(rading)30 b(Securit)m(y)h(for)f -(In)m(terop)s(erabilit)m(y)13 b Fv(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 -b FB(29)150 1449 y FA(6)135 b(Ho)l(w)45 b(T)-11 b(o)45 -b(Use)g Fu(TLS)h FA(in)e(Application)i(Proto)t(cols)28 -b Fw(:)20 b(:)72 b FA(30)275 1586 y FB(6.1)92 b(Separate)31 -b(P)m(orts)19 b Fv(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +b FB(28)399 1206 y(5.3.1)93 b(Supp)s(orted)28 b(Algorithms)14 +b Fw(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)44 b FB(29)399 1316 y(5.3.2)93 b(T)-8 b(rading)30 +b(Securit)m(y)h(for)f(In)m(terop)s(erabilit)m(y)13 b +Fw(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)43 b FB(29)150 1547 y FA(6)135 b(Ho)l(w)45 +b(T)-11 b(o)45 b(Use)g Fv(TLS)h FA(in)e(Application)i(Proto)t(cols)28 +b Fx(:)20 b(:)72 b FA(31)275 1684 y FB(6.1)92 b(Separate)31 +b(P)m(orts)19 b Fw(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 -b FB(30)275 1695 y(6.2)92 b(Up)m(w)m(ard)30 b(Negotiation)11 -b Fv(:)19 b(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +b FB(31)275 1794 y(6.2)92 b(Up)m(w)m(ard)30 b(Negotiation)11 +b Fw(:)19 b(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)41 b FB(30)150 1938 -y FA(7)135 b(Ho)l(w)45 b(T)-11 b(o)45 b(Use)g Fu(Gn)m(uTLS)h -FA(in)f(Applications)29 b Fw(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)74 -b FA(32)275 2075 y FB(7.1)92 b(Preparation)16 b Fv(:)f(:)g(:)h(:)f(:)h +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)41 b FB(31)150 2025 +y FA(7)135 b(Ho)l(w)45 b(T)-11 b(o)45 b(Use)g Fv(Gn)m(uTLS)h +FA(in)f(Applications)29 b Fx(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)74 +b FA(33)275 2162 y FB(7.1)92 b(Preparation)16 b Fw(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45 b FB(32)399 -2184 y(7.1.1)93 b(Headers)16 b Fv(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45 b FB(33)399 +2271 y(7.1.1)93 b(Headers)16 b Fw(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)h(:)f(:)g(:)h(:)45 b FB(32)399 2294 y(7.1.2)93 -b(Initialization)21 b Fv(:)d(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)51 -b FB(32)399 2403 y(7.1.3)93 b(V)-8 b(ersion)31 b(Chec)m(k)12 -b Fv(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)41 b FB(32)399 -2513 y(7.1.4)93 b(Debugging)23 b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)53 b FB(32)399 2623 y(7.1.5)93 b(Building)30 -b(the)h(Source)23 b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)52 b FB(32)275 2732 -y(7.2)92 b(Multi-Threaded)30 b(Applications)16 b Fv(:)g(:)g(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)46 b FB(33)275 -2842 y(7.3)92 b(Clien)m(t)31 b(Examples)26 b Fv(:)15 +(:)f(:)h(:)f(:)g(:)h(:)45 b FB(33)399 2381 y(7.1.2)93 +b(V)-8 b(ersion)31 b(Chec)m(k)12 b Fw(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +(:)41 b FB(33)399 2491 y(7.1.3)93 b(Debugging)23 b Fw(:)16 +b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 b FB(33)399 +2600 y(7.1.4)93 b(Building)30 b(the)h(Source)23 b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)55 b FB(34)399 -2951 y(7.3.1)93 b(Simple)30 b(Clien)m(t)h(Example)g(with)f(Anon)m -(ymous)g(Authen)m(tication)20 b Fv(:)d(:)50 b FB(34)399 -3061 y(7.3.2)93 b(Simple)30 b(Clien)m(t)h(Example)g(with)f -Ft(X.509)f FB(Certi\014cate)i(Supp)s(ort)22 b Fv(:)16 -b(:)f(:)h(:)53 b FB(36)399 3171 y(7.3.3)93 b(Obtaining)30 -b(Session)g(Information)12 b Fv(:)j(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +f(:)h(:)52 b FB(33)275 2710 y(7.2)92 b(Multi-Threaded)30 +b(Applications)16 b Fw(:)g(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)h(:)f(:)g(:)46 b FB(34)275 2819 y(7.3)92 b(Clien)m(t)31 +b(Examples)26 b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)55 +b FB(35)399 2929 y(7.3.1)93 b(Simple)30 b(Clien)m(t)h(Example)g(with)f +(Anon)m(ymous)g(Authen)m(tication)20 b Fw(:)d(:)50 b +FB(35)399 3039 y(7.3.2)93 b(Simple)30 b(Clien)m(t)h(Example)g(with)f +Fu(X.509)f FB(Certi\014cate)i(Supp)s(ort)22 b Fw(:)16 +b(:)f(:)h(:)53 b FB(37)399 3148 y(7.3.3)93 b(Obtaining)30 +b(Session)g(Information)12 b Fw(:)j(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -41 b FB(39)399 3280 y(7.3.4)93 b(V)-8 b(erifying)31 b(P)m(eer's)g -(Certi\014cate)22 b Fv(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +41 b FB(40)399 3258 y(7.3.4)93 b(V)-8 b(erifying)31 b(P)m(eer's)g +(Certi\014cate)22 b Fw(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)52 b FB(42)399 3390 y(7.3.5)93 b(Using)30 b(a)h(Callbac)m(k)h -(to)f(Select)h(the)e(Certi\014cate)i(to)f(Use)14 b Fv(:)i(:)f(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)44 b FB(49)399 3499 y(7.3.6)93 +h(:)f(:)52 b FB(43)399 3367 y(7.3.5)93 b(Using)30 b(a)h(Callbac)m(k)h +(to)f(Select)h(the)e(Certi\014cate)i(to)f(Use)14 b Fw(:)i(:)f(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)44 b FB(50)399 3477 y(7.3.6)93 b(Clien)m(t)31 b(with)f(Resume)g(Capabilit)m(y)i(Example)16 -b Fv(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)45 b FB(55)399 3609 y(7.3.7)93 b(Simple)30 b(Clien)m(t)h(Example)g -(with)f Ft(SRP)g FB(Authen)m(tication)11 b Fv(:)17 b(:)e(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)40 b FB(58)399 3719 y(7.3.8)93 b(Simple)30 -b(Clien)m(t)h(Example)g(with)f Ft(TLS/IA)g FB(Supp)s(ort)21 -b Fv(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)53 -b FB(61)399 3828 y(7.3.9)93 b(Simple)30 b(Clien)m(t)h(Example)g(using)e -(the)i(C++)e(API)11 b Fv(:)k(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)40 b FB(64)399 3938 y(7.3.10)93 b(Help)s(er)30 -b(F)-8 b(unction)32 b(for)e(TCP)f(Connections)17 b Fv(:)f(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46 -b FB(67)275 4047 y(7.4)92 b(Serv)m(er)30 b(Examples)22 -b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b Fw(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)45 b FB(56)399 3587 y(7.3.7)93 b(Simple)30 b(Clien)m(t)h(Example)g +(with)f Fu(SRP)g FB(Authen)m(tication)11 b Fw(:)17 b(:)e(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)40 b FB(60)399 3696 y(7.3.8)93 b(Simple)30 +b(Clien)m(t)h(Example)g(with)f Fu(TLS/IA)g FB(Supp)s(ort)21 +b Fw(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)53 +b FB(63)399 3806 y(7.3.9)93 b(Simple)30 b(Clien)m(t)h(Example)g(using)e +(the)i Fu(C++)e FB(API)20 b Fw(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)49 b FB(66)399 3915 y(7.3.10)93 +b(Help)s(er)30 b(F)-8 b(unction)32 b(for)e(TCP)f(Connections)17 +b Fw(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)46 b FB(69)275 4025 y(7.4)92 b(Serv)m(er)30 b(Examples)22 +b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b -FB(68)399 4157 y(7.4.1)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g -Ft(X.509)f FB(Authen)m(tication)g Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b FB(68)399 -4266 y(7.4.2)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g Ft(X.509)f -FB(Authen)m(tication)k(I)s(I)18 b Fv(:)c(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b FB(72)399 4376 y(7.4.3)93 -b(Ec)m(ho)31 b(Serv)m(er)f(with)g Ft(Op)r(enPGP)g FB(Authen)m(tication) -d Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 -b FB(80)399 4486 y(7.4.4)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g -Ft(SRP)g FB(Authen)m(tication)9 b Fv(:)18 b(:)d(:)g(:)h(:)f(:)h(:)f(:)g +FB(70)399 4134 y(7.4.1)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g +Fu(X.509)f FB(Authen)m(tication)g Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b FB(70)399 +4244 y(7.4.2)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g Fu(X.509)f +FB(Authen)m(tication)k(I)s(I)18 b Fw(:)c(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b FB(75)399 4354 y(7.4.3)93 +b(Ec)m(ho)31 b(Serv)m(er)f(with)g Fu(Op)r(enPGP)g FB(Authen)m(tication) +d Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 +b FB(83)399 4463 y(7.4.4)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g +Fu(SRP)g FB(Authen)m(tication)9 b Fw(:)18 b(:)d(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)39 -b FB(85)399 4595 y(7.4.5)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g(Anon)m -(ymous)g(Authen)m(tication)19 b Fv(:)e(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)48 b FB(88)275 4705 y(7.5)92 b(Miscellaneous)32 -b(Examples)15 b Fv(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b FB(87)399 4573 y(7.4.5)93 b(Ec)m(ho)31 b(Serv)m(er)f(with)g(Anon)m +(ymous)g(Authen)m(tication)19 b Fw(:)e(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)48 b FB(91)275 4682 y(7.5)92 b(Miscellaneous)32 +b(Examples)15 b Fw(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b FB(92)399 4814 y(7.5.1)93 -b(Chec)m(king)31 b(for)f(an)g(Alert)c Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b FB(95)399 4792 y(7.5.1)93 +b(Chec)m(king)31 b(for)f(an)g(Alert)c Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)54 b FB(92)399 -4924 y(7.5.2)93 b Ft(X.509)29 b FB(Certi\014cate)j(P)m(arsing)e -(Example)19 b Fv(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b FB(93)399 -5034 y(7.5.3)93 b(Certi\014cate)32 b(Request)e(Generation)22 -b Fv(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)52 b FB(96)399 -5143 y(7.5.4)93 b Ft(PK)n(CS)29 b FB(#12)i(Structure)f(Generation)10 -b Fv(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b FB(98)275 -5253 y(7.6)92 b(Compatibilit)m(y)31 b(with)f(the)h(Op)s(enSSL)d -(Library)12 b Fv(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 b FB(101)p eop end +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)54 b FB(95)399 +4902 y(7.5.2)93 b Fu(X.509)29 b FB(Certi\014cate)j(P)m(arsing)e +(Example)19 b Fw(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b FB(96)399 +5011 y(7.5.3)93 b(Certi\014cate)32 b(Request)e(Generation)22 +b Fw(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)52 b FB(98)399 +5121 y(7.5.4)93 b Fu(PK)n(CS)29 b FB(#12)i(Structure)f(Generation)f +Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)58 b FB(100)275 5230 y(7.6)92 +b(Compatibilit)m(y)31 b(with)f(the)h(Op)s(enSSL)d(Library)12 +b Fw(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) +g(:)h(:)f(:)h(:)42 b FB(103)275 5340 y(7.7)92 b(Opaque)29 +b(PRF)i(Input)e(TLS)g(Extension)13 b Fw(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +h(:)43 b FB(103)p eop end %%Page: -3 5 -TeXDict begin -3 4 bop 3674 -116 a FB(iii)275 83 y(7.7)92 -b(Opaque)29 b(PRF)i(Input)e(TLS)g(Extension)13 b Fv(:)j(:)f(:)h(:)f(:)g +TeXDict begin -3 4 bop 3674 -116 a FB(iii)150 83 y FA(8)135 +b(Included)44 b(Programs)18 b Fx(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)62 +b FA(105)275 220 y FB(8.1)92 b(In)m(v)m(oking)31 b(certto)s(ol)11 +b Fw(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)43 b FB(101)275 193 y(7.8)92 b(Keying)30 -b(Material)j(Exp)s(orters)18 b Fv(:)c(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 b FB(101)150 435 y -FA(8)135 b(Included)44 b(Programs)18 b Fw(:)j(:)e(:)g(:)h(:)f(:)h(:)f -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)h(:)62 b FA(102)275 572 y FB(8.1)92 b(In)m(v)m(oking)31 -b(certto)s(ol)11 b Fv(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 -b FB(102)275 682 y(8.2)92 b(In)m(v)m(oking)31 b(gn)m(utls-cli)25 -b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 b FB(105)275 +330 y(8.2)92 b(In)m(v)m(oking)31 b(gn)m(utls-cli)25 b +Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b FB(106)399 791 +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b FB(109)399 439 y(8.2.1)93 b(Example)30 b(clien)m(t)i(PSK)e(connection)d -Fv(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b FB(108)275 901 +Fw(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b FB(110)275 549 y(8.3)92 b(In)m(v)m(oking)31 b(gn)m(utls-cli-debug)11 -b Fv(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h +b Fw(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)41 b FB(108)275 1010 y(8.4)92 b(In)m(v)m(oking)31 -b(gn)m(utls-serv)10 b Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g +f(:)g(:)h(:)41 b FB(111)275 658 y(8.4)92 b(In)m(v)m(oking)31 +b(gn)m(utls-serv)10 b Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40 -b FB(109)399 1120 y(8.4.1)93 b(Setting)31 b(Up)f(a)h(T)-8 -b(est)31 b(HTTPS)e(Serv)m(er)12 b Fv(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +b FB(112)399 768 y(8.4.1)93 b(Setting)31 b(Up)f(a)h(T)-8 +b(est)31 b(HTTPS)e(Serv)m(er)12 b Fw(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 -b FB(110)399 1230 y(8.4.2)93 b(Example)30 b(serv)m(er)h(PSK)e -(connection)17 b Fv(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 b FB(113)275 -1339 y(8.5)92 b(In)m(v)m(oking)31 b(pskto)s(ol)20 b Fv(:)c(:)f(:)g(:)h +b FB(113)399 878 y(8.4.2)93 b(Example)30 b(serv)m(er)h(PSK)e +(connection)17 b Fw(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 b FB(115)275 +987 y(8.5)92 b(In)m(v)m(oking)31 b(pskto)s(ol)20 b Fw(:)c(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)50 b FB(113)275 1449 y(8.6)92 -b(In)m(v)m(oking)31 b(srpto)s(ol)26 b Fv(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h +(:)g(:)h(:)f(:)h(:)f(:)50 b FB(116)275 1097 y(8.6)92 +b(In)m(v)m(oking)31 b(srpto)s(ol)26 b Fw(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)56 b FB(113)150 1691 y FA(9)135 b(F)-11 b(unction)44 -b(Reference)10 b Fw(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h +(:)g(:)h(:)56 b FB(116)150 1339 y FA(9)135 b(F)-11 b(unction)44 +b(Reference)10 b Fx(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)54 -b FA(115)275 1828 y FB(9.1)92 b(Core)30 b(F)-8 b(unctions)29 -b Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +b FA(117)275 1476 y FB(9.1)92 b(Core)30 b(F)-8 b(unctions)29 +b Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)58 b -FB(115)275 1938 y(9.2)92 b Ft(X.509)29 b FB(Certi\014cate)i(F)-8 -b(unctions)17 b Fv(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +FB(117)275 1586 y(9.2)92 b Fu(X.509)29 b FB(Certi\014cate)i(F)-8 +b(unctions)17 b Fw(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)47 b FB(181)275 2047 y(9.3)92 b Ft(Gn)n(uTLS-extra)29 -b FB(F)-8 b(unctions)19 b Fv(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)h(:)f(:)g(:)47 b FB(176)275 1695 y(9.3)92 b Fu(Gn)n(uTLS-extra)29 +b FB(F)-8 b(unctions)19 b Fw(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b FB(242)275 -2157 y(9.4)92 b Ft(Op)r(enPGP)29 b FB(F)-8 b(unctions)15 -b Fv(:)h(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b FB(226)275 +1805 y(9.4)92 b Fu(Op)r(enPGP)29 b FB(F)-8 b(unctions)15 +b Fw(:)h(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b FB(242)275 2266 y(9.5)92 -b Ft(TLS)30 b FB(Inner)f(Application)i(\()p Ft(TLS/IA)p -FB(\))g(F)-8 b(unctions)26 b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)55 b FB(262)275 -2376 y(9.6)92 b(Error)29 b(Co)s(des)h(and)g(Descriptions)21 -b Fv(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b FB(227)275 1914 y(9.5)92 +b Fu(TLS)30 b FB(Inner)f(Application)i(\()p Fu(TLS/IA)p +FB(\))g(F)-8 b(unctions)26 b Fw(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)55 b FB(245)275 +2024 y(9.6)92 b(Error)29 b(Co)s(des)h(and)g(Descriptions)21 +b Fw(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 -b FB(268)150 2619 y FA(10)135 b(All)45 b(the)g(Supp)t(orted)f -(Ciphersuites)i(in)f Fu(Gn)m(uTLS)439 2751 y Fw(:)19 +b FB(252)150 2266 y FA(10)135 b(All)45 b(the)g(Supp)t(orted)f +(Ciphersuites)i(in)f Fv(Gn)m(uTLS)439 2399 y Fx(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b FA(275)150 -3021 y(11)135 b(Guile)45 b(Bindings)28 b Fw(:)19 b(:)h(:)f(:)g(:)h(:)f +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b FA(258)150 +2669 y(11)135 b(Guile)45 b(Bindings)28 b Fx(:)19 b(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)h(:)f(:)h(:)f(:)g(:)72 b FA(278)275 3158 y FB(11.1)92 -b(Guile)31 b(Preparations)12 b Fv(:)k(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h +f(:)h(:)f(:)h(:)f(:)g(:)72 b FA(260)275 2806 y FB(11.1)92 +b(Guile)31 b(Preparations)12 b Fw(:)k(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 -b FB(278)275 3268 y(11.2)92 b(Guile)31 b(API)f(Con)m(v)m(en)m(tions)g -Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b FB(260)275 2916 y(11.2)92 b(Guile)31 b(API)f(Con)m(v)m(en)m(tions)g +Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)58 b FB(279)399 3377 y(11.2.1)93 b(En)m(umerates)31 -b(and)f(Constan)m(ts)16 b Fv(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)58 b FB(261)399 3025 y(11.2.1)93 b(En)m(umerates)31 +b(and)f(Constan)m(ts)16 b Fw(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)46 b FB(279)399 3487 y(11.2.2)93 b(Pro)s(cedure)30 -b(Names)21 b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)46 b FB(261)399 3135 y(11.2.2)93 b(Pro)s(cedure)30 +b(Names)21 b Fw(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b FB(280)399 3597 y(11.2.3)93 -b(Represen)m(tation)32 b(of)f(Binary)f(Data)21 b Fv(:)c(:)f(:)f(:)h(:)f +f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b FB(262)399 3244 y(11.2.3)93 +b(Represen)m(tation)32 b(of)f(Binary)f(Data)21 b Fw(:)c(:)f(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)51 b FB(280)399 3706 y(11.2.4)93 b(Input)29 b(and)h(Output)11 -b Fv(:)j(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +f(:)h(:)51 b FB(262)399 3354 y(11.2.4)93 b(Input)29 b(and)h(Output)11 +b Fw(:)j(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)41 b FB(280)399 3816 y(11.2.5)93 b(Exception)31 -b(Handling)17 b Fv(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)f(:)h(:)f(:)41 b FB(262)399 3464 y(11.2.5)93 b(Exception)31 +b(Handling)17 b Fw(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)47 b FB(281)275 3925 y(11.3)92 b(Guile)31 -b(Examples)14 b Fv(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +h(:)f(:)g(:)h(:)f(:)47 b FB(263)275 3573 y(11.3)92 b(Guile)31 +b(Examples)14 b Fw(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 -b FB(282)399 4035 y(11.3.1)93 b(Anon)m(ymous)30 b(Authen)m(tication)j -(Guile)e(Example)19 b Fv(:)c(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)49 b FB(282)399 4144 y(11.3.2)93 b(Op)s(enPGP)29 -b(Authen)m(tication)k(Guile)e(Example)c Fv(:)16 b(:)f(:)g(:)h(:)f(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 b FB(283)399 4254 y(11.3.3)93 +b FB(264)399 3683 y(11.3.1)93 b(Anon)m(ymous)30 b(Authen)m(tication)j +(Guile)e(Example)19 b Fw(:)c(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)49 b FB(264)399 3792 y(11.3.2)93 b(Op)s(enPGP)29 +b(Authen)m(tication)k(Guile)e(Example)c Fw(:)16 b(:)f(:)g(:)h(:)f(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 b FB(265)399 3902 y(11.3.3)93 b(Imp)s(orting)30 b(Op)s(enPGP)f(Keys)h(Guile)h(Example)13 -b Fv(:)j(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43 -b FB(285)275 4364 y(11.4)92 b(Guile)31 b(Reference)14 -b Fv(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:) +b Fw(:)j(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43 +b FB(267)275 4012 y(11.4)92 b(Guile)31 b(Reference)14 +b Fw(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b FB(285)399 -4473 y(11.4.1)93 b(Core)31 b(In)m(terface)8 b Fv(:)17 +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b FB(267)399 +4121 y(11.4.1)93 b(Core)31 b(In)m(terface)8 b Fw(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)38 b FB(286)399 4583 y(11.4.2)93 -b(Extra)31 b(In)m(terface)9 b Fv(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h +h(:)f(:)g(:)h(:)f(:)h(:)38 b FB(268)399 4231 y(11.4.2)93 +b(Extra)31 b(In)m(terface)9 b Fw(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 -b FB(293)p eop end -%%Page: -4 6 -TeXDict begin -4 5 bop 3677 -116 a FB(iv)150 83 y FA(12)135 -b(In)l(ternal)46 b(Arc)l(hitecture)f(of)g(Gn)l(uTLS)14 -b Fw(:)k(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)58 b FA(295)275 -220 y FB(12.1)92 b(The)30 b(TLS)f(Proto)s(col)c Fv(:)16 -b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)54 b FB(295)275 330 y(12.2)92 -b(TLS)29 b(Handshak)m(e)i(Proto)s(col)e Fv(:)15 b(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58 b FB(296)275 -439 y(12.3)92 b(TLS)29 b(Authen)m(tication)k(Metho)s(ds)23 -b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 -b FB(297)275 549 y(12.4)92 b(TLS)29 b(Extension)i(Handling)15 -b Fv(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +b FB(275)150 4473 y FA(12)135 b(In)l(ternal)46 b(Arc)l(hitecture)f(of)g +(Gn)l(uTLS)14 b Fx(:)k(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)58 +b FA(277)275 4610 y FB(12.1)92 b(The)30 b(TLS)f(Proto)s(col)c +Fw(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)54 b FB(277)275 4720 +y(12.2)92 b(TLS)29 b(Handshak)m(e)i(Proto)s(col)e Fw(:)15 +b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58 +b FB(278)275 4829 y(12.3)92 b(TLS)29 b(Authen)m(tication)k(Metho)s(ds) +23 b Fw(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 +b FB(279)275 4939 y(12.4)92 b(TLS)29 b(Extension)i(Handling)15 +b Fw(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)45 b FB(298)399 658 y(12.4.1)93 b(Adding)30 b(a)h(New)f(TLS)g -(Extension)15 b Fv(:)g(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)45 b FB(280)399 5049 y(12.4.1)93 b(Adding)30 b(a)h(New)f(TLS)g +(Extension)15 b Fw(:)g(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 -b FB(298)275 768 y(12.5)92 b(Certi\014cate)32 b(Handling)25 -b Fv(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +b FB(280)275 5158 y(12.5)92 b(Certi\014cate)32 b(Handling)25 +b Fw(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)55 b FB(301)275 878 y(12.6)92 -b(Cryptographic)30 b(Bac)m(k)m(end)19 b Fv(:)e(:)f(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b -FB(301)399 987 y(12.6.1)93 b(Ov)m(erride)31 b(sp)s(eci\014c)f -(algorithms)18 b Fv(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 -b FB(302)399 1097 y(12.6.2)93 b(Ov)m(erride)31 b(parts)f(of)g(the)h -(bac)m(k)m(end)19 b Fv(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)49 -b FB(302)150 1339 y FA(App)t(endix)44 b(A)160 b(Cop)l(ying)45 -b(Information)18 b Fw(:)j(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)62 -b FA(303)275 1476 y FB(A.1)91 b(GNU)31 b(F)-8 b(ree)32 -b(Do)s(cumen)m(tation)g(License)19 b Fv(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)49 b FB(303)275 1586 y(A.2)91 b(GNU)31 b(Lesser)g(General)g(Public) -f(License)9 b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)39 -b FB(310)275 1695 y(A.3)91 b(GNU)31 b(General)h(Public)e(License)c -Fv(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +h(:)f(:)h(:)f(:)g(:)h(:)55 b FB(283)p eop end +%%Page: -4 6 +TeXDict begin -4 5 bop 3677 -116 a FB(iv)150 83 y FA(App)t(endix)44 +b(A)160 b(Cop)l(ying)45 b(Information)18 b Fx(:)j(:)e(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)62 b FA(284)275 220 y FB(A.1)91 +b(GNU)31 b(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)19 +b Fw(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)49 b FB(284)275 +330 y(A.2)91 b(GNU)31 b(Lesser)g(General)g(Public)f(License)9 +b Fw(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)39 b FB(290)275 +439 y(A.3)91 b(GNU)31 b(General)h(Public)e(License)c +Fw(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56 -b FB(318)150 1938 y FA(Bibliograph)l(y)13 b Fw(:)21 b(:)e(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)57 -b FA(330)150 2208 y(F)-11 b(unction)44 b(and)h(Data)h(Index)17 -b Fw(:)i(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)61 b FA(333)150 2477 y(Concept)45 -b(Index)11 b Fw(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g +b FB(298)150 682 y FA(Bibliograph)l(y)13 b Fx(:)21 b(:)e(:)h(:)f(:)g(:) +h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)57 +b FA(310)150 951 y(F)-11 b(unction)44 b(and)h(Data)h(Index)17 +b Fx(:)i(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)61 b FA(312)150 1221 y(Concept)45 +b(Index)11 b Fx(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)55 b FA(340)p eop end +g(:)h(:)f(:)h(:)f(:)55 b FA(319)p eop end %%Page: 1 7 TeXDict begin 1 6 bop 150 -116 a FB(Chapter)30 b(1:)41 -b(Preface)2799 b(1)150 299 y Fx(1)80 b(Preface)150 538 +b(Preface)2799 b(1)150 299 y Fy(1)80 b(Preface)150 538 y FB(This)38 b(do)s(cumen)m(t)g(tries)g(to)h(demonstrate)g(and)f -(explain)h(the)f Ft(Gn)n(uTLS)h FB(library)e(API.)i(A)f(brief)g(in)m +(explain)h(the)f Fu(Gn)n(uTLS)h FB(library)e(API.)i(A)f(brief)g(in)m (tro-)150 647 y(duction)c(to)h(the)g(proto)s(cols)g(and)f(the)h(tec)m (hnology)h(in)m(v)m(olv)m(ed,)i(is)c(also)h(included)f(so)h(that)g(an)f (applica-)150 757 y(tion)e(programmer)f(can)h(b)s(etter)f(understand)f -(the)h Ft(Gn)n(uTLS)h FB(purp)s(ose)d(and)i(actual)i(o\013erings.)44 -b(Ev)m(en)32 b(if)150 866 y Ft(Gn)n(uTLS)23 b FB(is)h(a)g(t)m(ypical)h +(the)h Fu(Gn)n(uTLS)h FB(purp)s(ose)d(and)i(actual)i(o\013erings.)44 +b(Ev)m(en)32 b(if)150 866 y Fu(Gn)n(uTLS)23 b FB(is)h(a)g(t)m(ypical)h (library)e(soft)m(w)m(are,)j(it)e(op)s(erates)g(o)m(v)m(er)h(sev)m (eral)f(securit)m(y)h(and)d(cryptographic)i(pro-)150 976 y(to)s(cols,)30 b(whic)m(h)d(require)h(the)g(programmer)f(to)i(mak) @@ -9976,51 +6250,51 @@ (easily)h(restricted)g(to)g(a)f(single)150 1305 y(cryptographic)k (library)-8 b(.)60 b(F)-8 b(or)37 b(that)g(reason,)i(do)e(not)g (consider)f(a)h(program)g(secure)g(just)f(b)s(ecause)g(it)150 -1414 y(uses)26 b Ft(Gn)n(uTLS)p FB(;)h(there)f(are)h(sev)m(eral)h(w)m +1414 y(uses)26 b Fu(Gn)n(uTLS)p FB(;)h(there)f(are)h(sev)m(eral)h(w)m (a)m(ys)f(to)g(compromise)g(a)g(program)f(or)g(a)h(comm)m(unication)h -(line)f(and)150 1524 y Ft(Gn)n(uTLS)j FB(only)h(helps)f(with)g(some)h +(line)f(and)150 1524 y Fu(Gn)n(uTLS)j FB(only)h(helps)f(with)g(some)h (of)f(them.)150 1660 y(Although)38 b(this)g(do)s(cumen)m(t)f(tries)h (to)h(b)s(e)e(self)h(con)m(tained,)j(basic)d(net)m(w)m(ork)h (programming)e(and)h(PKI)150 1770 y(kno)m(wlegde)g(is)e(assumed)g(in)g (most)h(of)g(it.)60 b(A)36 b(go)s(o)s(d)h(in)m(tro)s(duction)f(to)i (net)m(w)m(orking)f(can)g(b)s(e)f(found)f(in)150 1879 -y([STEVENS])28 b(\(see)i([Bibliograph)m(y],)g(page)g(330\))g(and)e(for) +y([STEVENS])28 b(\(see)i([Bibliograph)m(y],)g(page)g(310\))g(and)e(for) h(Public)f(Key)h(Infrastructure)f(in)g([GUTPKI])150 1989 -y(\(see)j([Bibliograph)m(y],)h(page)g(330\).)150 2125 -y(Up)s(dated)54 b(v)m(ersions)h(of)h(the)f Ft(Gn)n(uTLS)f +y(\(see)j([Bibliograph)m(y],)h(page)g(310\).)150 2125 +y(Up)s(dated)54 b(v)m(ersions)h(of)h(the)f Fu(Gn)n(uTLS)f FB(soft)m(w)m(are)j(and)d(this)h(do)s(cumen)m(t)g(will)g(b)s(e)f(a)m(v) --5 b(ailable)57 b(from)150 2234 y Fs(http://www.gnutls.org/)24 -b FB(and)30 b Fs(http://www.gnu.org/softwa)o(re/)o(gnut)o(ls/)o +-5 b(ailable)57 b(from)150 2234 y Ft(http://www.gnutls.org/)24 +b FB(and)30 b Ft(http://www.gnu.org/softwa)o(re/)o(gnut)o(ls/)o FB(.)150 2469 y FA(1.1)68 b(Getting)46 b(Help)150 2629 y FB(A)62 b(mailing)h(list)f(where)g(users)f(ma)m(y)h(help)g(eac)m(h)h (other)f(exists,)70 b(and)62 b(y)m(ou)g(can)g(reac)m(h)h(it)f(b)m(y)150 -2738 y(sending)44 b(e-mail)i(to)g Fs(help-gnutls@gnu.org)p +2738 y(sending)44 b(e-mail)i(to)g Ft(help-gnutls@gnu.org)p FB(.)79 b(Arc)m(hiv)m(es)46 b(of)f(the)g(mailing)g(list)h(discussions,) i(and)150 2848 y(an)57 b(in)m(terface)h(to)f(manage)h(subscriptions,)k (is)57 b(a)m(v)-5 b(ailable)59 b(through)d(the)g(W)-8 -b(orld)58 b(Wide)f(W)-8 b(eb)57 b(at)150 2957 y Fs +b(orld)58 b(Wide)f(W)-8 b(eb)57 b(at)150 2957 y Ft (http://lists.gnu.org/mai)o(lman)o(/lis)o(tin)o(fo/h)o(elp-)o(gnu)o (tls)p FB(.)150 3093 y(A)20 b(mailing)i(list)e(for)g(dev)m(elop)s(ers)h -(are)g(also)g(a)m(v)-5 b(ailable,)25 b(see)c Fs +(are)g(also)g(a)m(v)-5 b(ailable,)25 b(see)c Ft (http://www.gnu.org/soft)o(ware)o(/gnu)o(tls)o(/lis)o(ts.h)o(tml)o FB(.)150 3229 y(Bug)40 b(rep)s(orts)f(should)g(b)s(e)h(sen)m(t)g(to)h -Fs(bug-gnutls@gnu.org)p FB(,)d(see)i(See)g(Section)h(1.4)g([Bug)g(Rep)s +Ft(bug-gnutls@gnu.org)p FB(,)d(see)i(See)g(Section)h(1.4)g([Bug)g(Rep)s (orts],)150 3339 y(page)31 b(3.)150 3574 y FA(1.2)68 b(Commercial)47 b(Supp)t(ort)150 3733 y FB(Commercial)41 b(supp)s(ort)d(is)i(a)m(v)-5 b(ailable)43 b(for)c(users)g(of)i(Gn)m (uTLS.)e(The)g(kind)g(of)h(supp)s(ort)f(that)h(can)h(b)s(e)150 3843 y(purc)m(hased)30 b(ma)m(y)g(include:)225 3979 y -Fy(\017)60 b FB(Implemen)m(t)31 b(new)e(features.)41 +Fs(\017)60 b FB(Implemen)m(t)31 b(new)e(features.)41 b(Suc)m(h)30 b(as)h(a)g(new)e(TLS)h(extension.)225 4114 -y Fy(\017)60 b FB(P)m(ort)29 b(Gn)m(uTLS)d(to)j(new)e(platforms.)40 +y Fs(\017)60 b FB(P)m(ort)29 b(Gn)m(uTLS)d(to)j(new)e(platforms.)40 b(This)27 b(could)h(include)g(p)s(orting)g(to)g(an)g(em)m(b)s(edded)f (platforms)330 4224 y(that)k(ma)m(y)g(need)f(memory)g(or)h(size)g -(optimization.)225 4359 y Fy(\017)60 b FB(In)m(tegrating)32 +(optimization.)225 4359 y Fs(\017)60 b FB(In)m(tegrating)32 b(TLS)d(as)i(a)g(securit)m(y)g(en)m(vironmen)m(t)g(in)f(y)m(our)g -(existing)h(pro)5 b(ject.)225 4494 y Fy(\017)60 b FB(System)30 +(existing)h(pro)5 b(ject.)225 4494 y Fs(\017)60 b FB(System)30 b(design)g(of)h(comp)s(onen)m(ts)f(related)i(to)f(TLS.)150 4656 y(If)f(y)m(ou)h(are)f(in)m(terested,)i(please)f(write)g(to:)150 -4792 y Fs(Simon)46 b(Josefsson)g(Datakonsult)150 4902 +4792 y Ft(Simon)46 b(Josefsson)g(Datakonsult)150 4902 y(Hagagatan)f(24)150 5011 y(113)i(47)g(Stockholm)150 5121 y(Sweden)150 5340 y(E-mail:)f(simon@josefsson.org)p eop end @@ -10032,11 +6306,11 @@ g(\(see)i(Section)f(1.4)g([Bug)g(Rep)s(orts],)g(page)g(3\).)150 641 y FA(1.3)68 b(Do)l(wnloading)46 b(and)f(Installing)150 800 y FB(Gn)m(uTLS)29 b(is)i(a)m(v)-5 b(ailable)32 b(for)e(do)m(wnload) -h(from)f(the)g(follo)m(wing)i(URL:)150 935 y Fs +h(from)f(the)g(follo)m(wing)i(URL:)150 935 y Ft (http://www.gnutls.org/do)o(wnlo)o(ad.h)o(tml)150 1070 y FB(The)f(latest)i(v)m(ersion)f(is)g(stored)f(in)g(a)h(\014le,)g -(e.g.,)i(`)p Fs(gnutls-2.8.6.tar.gz)p FB(')26 b(where)31 -b(the)h(`)p Fs(2.8.6)p FB(')e(v)-5 b(alue)150 1179 y(is)30 +(e.g.,)i(`)p Ft(gnutls-2.4.1.tar.gz)p FB(')26 b(where)31 +b(the)h(`)p Ft(2.4.1)p FB(')e(v)-5 b(alue)150 1179 y(is)30 b(the)h(highest)g(v)m(ersion)f(n)m(um)m(b)s(er)g(in)g(the)g(directory) -8 b(.)150 1314 y(Gn)m(uTLS)25 b(uses)g(a)h(Lin)m(ux-lik)m(e)h(dev)m (elopmen)m(t)g(cycle:)40 b(ev)m(en)26 b(minor)g(v)m(ersion)g(n)m(um)m @@ -10049,12 +6323,12 @@ 1777 y(Gn)m(uTLS)40 b(dep)s(ends)f(on)j(Libgcrypt,)i(and)c(y)m(ou)i (will)g(need)f(to)h(install)g(Libgcrypt)f(b)s(efore)g(installing)150 1887 y(Gn)m(uTLS.)101 b(Libgcrypt)i(is)f(a)m(v)-5 b(ailable)105 -b(from)d Fs(ftp://ftp.gnupg.org/gcr)o(ypt)o(/lib)o(gcry)o(pt)p +b(from)d Ft(ftp://ftp.gnupg.org/gcr)o(ypt)o(/lib)o(gcry)o(pt)p FB(.)150 1996 y(Libgcrypt)120 b(needs)f(another)h(library)-8 b(,)143 b(libgpg-error,)g(and)119 b(y)m(ou)i(need)e(to)i(install)150 2106 y(libgpg-error)f(b)s(efore)g(installing)h(Libgcrypt.)309 b(Libgpg-error)120 b(is)g(a)m(v)-5 b(ailable)122 b(from)150 -2216 y Fs(ftp://ftp.gnupg.org/gcry)o(pt/l)o(ibgp)o(g-e)o(rror)o +2216 y Ft(ftp://ftp.gnupg.org/gcry)o(pt/l)o(ibgp)o(g-e)o(rror)o FB(.)150 2350 y(Don't)30 b(forget)h(to)f(v)m(erify)g(the)f (cryptographic)h(signature)g(after)g(do)m(wnloading)g(source)f(co)s(de) h(pac)m(k)-5 b(ages.)150 2485 y(The)42 b(pac)m(k)-5 b(age)45 @@ -10062,15 +6336,15 @@ (y)f(other)g(pac)m(k)-5 b(ages)45 b(that)e(use)150 2594 y(Auto)s(conf.)54 b(F)-8 b(or)36 b(detailed)g(information)f(on)g (con\014guring)f(and)g(building)g(it,)j(refer)e(to)g(the)g(`)p -Fs(INSTALL)p FB(')150 2704 y(\014le)i(that)h(is)g(part)f(of)g(the)h +Ft(INSTALL)p FB(')150 2704 y(\014le)i(that)h(is)g(part)f(of)g(the)h (distribution)e(arc)m(hiv)m(e.)63 b(T)m(ypically)39 b(y)m(ou)e(in)m(v)m -(ok)m(e)i Fs(./configure)c FB(and)h(then)150 2814 y Fs(make)29 +(ok)m(e)i Ft(./configure)c FB(and)h(then)150 2814 y Ft(make)29 b(check)g(install)p FB(.)38 b(There)29 b(are)h(a)f(n)m(um)m(b)s(er)f (of)i(compile-time)h(parameters,)f(as)f(discussed)f(b)s(elo)m(w.)150 2948 y(The)33 b(compression)g(libraries)g(\(libz)h(and)e(lzo\))j(are)e (optional)i(dep)s(endencies.)48 b(Y)-8 b(ou)33 b(can)h(get)g(libz)f -(from)150 3058 y Fs(http://www.zlib.net/)p FB(.)f(Y)-8 -b(ou)21 b(can)f(get)i(lzo)f(from)f Fs(http://www.oberhumer.co)o(m/op)o +(from)150 3058 y Ft(http://www.zlib.net/)p FB(.)f(Y)-8 +b(ou)21 b(can)f(get)i(lzo)f(from)f Ft(http://www.oberhumer.co)o(m/op)o (ens)o(ourc)o(e/lz)o(o/)p FB(.)150 3192 y(The)47 b(X.509)i(part)f(of)f (Gn)m(uTLS)f(needs)i(ASN.1)g(functionalit)m(y)-8 b(,)53 b(from)47 b(a)h(library)f(called)i(libtasn1.)150 3302 @@ -10078,41 +6352,41 @@ (If)g(y)m(ou)h(w)m(an)m(t)g(to)g(install)h(it)f(separately)150 3412 y(\(e.g.,)d(to)57 b(mak)m(e)g(it)g(p)s(ossibly)e(to)i(use)f (libtasn1)h(in)f(other)h(programs\),)63 b(y)m(ou)57 b(can)f(get)i(it)e -(from)150 3521 y Fs(http://www.gnu.org/softw)o(are/)o(gnut)o(ls/)o +(from)150 3521 y Ft(http://www.gnu.org/softw)o(are/)o(gnut)o(ls/)o (down)o(load)o(.ht)o(ml)p FB(.)150 3656 y(The)41 b(Op)s(enPGP)f(part)h (of)h(Gn)m(uTLS)e(uses)h(a)g(stripp)s(ed)f(do)m(wn)h(v)m(ersion)h(of)f (Op)s(enCDK)f(for)h(parsing)150 3765 y(Op)s(enPGP)67 b(pac)m(k)m(ets.)158 b(It)68 b(is)h(included)f(Gn)m(uTLS.)g(Use)h -(parameter)g Fs(--disable-openpgp-)150 3875 y(authentication)42 +(parameter)g Ft(--disable-openpgp-)150 3875 y(authentication)42 b FB(to)47 b(disable)f(the)g(Op)s(enPGP)e(functionalit)m(y)j(in)f(Gn)m (uTLS.)f(Unfortunately)-8 b(,)50 b(w)m(e)150 3985 y(didn't)30 b(ha)m(v)m(e)h(resources)g(to)g(main)m(tain)g(the)g(co)s(de)f(in)g(a)h (separate)g(library)-8 b(.)150 4119 y(Regarding)31 b(the)f(Guile)h (bindings,)e(there)i(are)f(additional)i(installation)g(considerations,) f(see)g(See)f(Sec-)150 4229 y(tion)h(11.1)h([Guile)f(Preparations],)g -(page)g(278.)150 4363 y(A)f(few)h Fs(configure)c FB(options)k(ma)m(y)g +(page)g(260.)150 4363 y(A)f(few)h Ft(configure)c FB(options)k(ma)m(y)g (b)s(e)f(relev)-5 b(an)m(t,)32 b(summarized)e(in)g(the)g(table.)150 -4523 y Fs(--disable-srp-authentica)o(tion)150 4632 y +4523 y Ft(--disable-srp-authentica)o(tion)150 4632 y (--disable-psk-authentica)o(tion)150 4742 y(--disable-anon-authentic)o (atio)o(n)150 4852 y(--disable-extra-pki)150 4961 y (--disable-openpgp-authen)o(tica)o(tion)150 5071 y (--disable-openssl-compat)o(ibil)o(ity)630 5180 y FB(Disable)h(or)g (enable)g(particular)f(features.)41 b(Generally)32 b(not)f (recommended.)150 5340 y(F)-8 b(or)31 b(the)g(complete)h(list,)f(refer) -f(to)h(the)g(output)f(from)f Fs(configure)f(--help)p +f(to)h(the)g(output)f(from)f Ft(configure)f(--help)p FB(.)p eop end %%Page: 3 9 TeXDict begin 3 8 bop 150 -116 a FB(Chapter)30 b(1:)41 b(Preface)2799 b(3)150 299 y FA(1.4)68 b(Bug)45 b(Rep)t(orts)150 458 y FB(If)30 b(y)m(ou)h(think)f(y)m(ou)g(ha)m(v)m(e)i(found)d(a)i (bug)e(in)h(Gn)m(uTLS,)g(please)h(in)m(v)m(estigate)j(it)c(and)g(rep)s -(ort)g(it.)225 589 y Fy(\017)60 b FB(Please)34 b(mak)m(e)h(sure)d(that) +(ort)g(it.)225 589 y Fs(\017)60 b FB(Please)34 b(mak)m(e)h(sure)d(that) i(the)f(bug)g(is)g(really)h(in)f(Gn)m(uTLS,)f(and)h(preferably)g(also)h (c)m(hec)m(k)h(that)e(it)330 698 y(hasn't)d(already)h(b)s(een)f (\014xed)g(in)g(the)g(latest)i(v)m(ersion.)225 829 y -Fy(\017)60 b FB(Y)-8 b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g +Fs(\017)60 b FB(Y)-8 b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g (case)g(that)g(mak)m(es)g(it)g(p)s(ossible)f(for)g(us)g(to)h(repro)s -(duce)e(the)i(bug.)225 959 y Fy(\017)60 b FB(Y)-8 b(ou)29 +(duce)e(the)i(bug.)225 959 y Fs(\017)60 b FB(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)f(what)g(is)g(wrong;)g(if)g(y)m(ou)g (get)h(a)f(crash,)h(or)f(if)f(the)h(results)g(prin)m(ted)g(are)330 1069 y(not)36 b(go)s(o)s(d)g(and)g(in)g(that)g(case,)j(in)d(what)g(w)m @@ -10135,7 +6409,7 @@ (unclear,)g(or)g(do)m(wnrigh)m(t)g(incorrect,)i(or)e(if)f(the)i (language)150 2138 y(needs)g(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g (also)g(send)f(a)h(note.)150 2269 y(Send)e(y)m(our)i(bug)e(rep)s(ort)h -(to:)1495 2378 y(`)p Fs(bug-gnutls@gnu.org)p FB(')150 +(to:)1495 2378 y(`)p Ft(bug-gnutls@gnu.org)p FB(')150 2603 y FA(1.5)68 b(Con)l(tributing)150 2762 y FB(If)25 b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g(for)f(inclusion)h ({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g(disco)m(v)m(ered,)i @@ -10158,25 +6432,25 @@ (programming)e(co)s(de,)h(the)g(only)g(guidelines)g(are)150 3790 y(common)g(sense.)40 b(Use)31 b(it.)150 3921 y(F)-8 b(or)31 b(co)s(de)g(con)m(tributions,)g(a)g(n)m(um)m(b)s(er)e(of)h(st)m -(yle)i(guides)e(will)h(help)f(y)m(ou:)225 4051 y Fy(\017)60 +(yle)i(guides)e(will)h(help)f(y)m(ou:)225 4051 y Fs(\017)60 b FB(Co)s(ding)32 b(St)m(yle.)48 b(F)-8 b(ollo)m(w)34 -b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g Fy(h)p -FB(unde\014ned)p Fy(i)e FB([top],)j(page)f Fy(h)p FB(un-)330 -4161 y(de\014ned)p Fy(i)p FB(\).)330 4291 y(If)42 b(y)m(ou)h(normally)f +b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g Fs(h)p +FB(unde\014ned)p Fs(i)e FB([top],)j(page)f Fs(h)p FB(un-)330 +4161 y(de\014ned)p Fs(i)p FB(\).)330 4291 y(If)42 b(y)m(ou)h(normally)f (co)s(de)h(using)f(another)g(co)s(ding)h(standard,)i(there)d(is)h(no)f (problem,)j(but)d(y)m(ou)330 4401 y(should)h(use)g(`)p -Fs(indent)p FB(')g(to)i(reformat)f(the)g(co)s(de)g(\(see)h -Fy(h)p FB(unde\014ned)p Fy(i)d FB([top],)48 b(page)d -Fy(h)p FB(unde\014ned)p Fy(i)p FB(\))330 4510 y(b)s(efore)30 -b(submitting)g(y)m(our)g(w)m(ork.)225 4641 y Fy(\017)60 +Ft(indent)p FB(')g(to)i(reformat)f(the)g(co)s(de)g(\(see)h +Fs(h)p FB(unde\014ned)p Fs(i)d FB([top],)48 b(page)d +Fs(h)p FB(unde\014ned)p Fs(i)p FB(\))330 4510 y(b)s(efore)30 +b(submitting)g(y)m(our)g(w)m(ork.)225 4641 y Fs(\017)60 b FB(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p -Fs(diff)f(-u)p FB('.)225 4771 y Fy(\017)60 b FB(Return)32 +Ft(diff)f(-u)p FB('.)225 4771 y Fs(\017)60 b FB(Return)32 b(errors.)47 b(No)33 b(reason)g(whatso)s(ev)m(er)g(should)f(ab)s(ort)h (the)g(execution)g(of)g(the)g(library)-8 b(.)48 b(Ev)m(en)330 4881 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41 b(when)26 b(mallo)s(c)i(return)e(NULL,)h(should)f(w)m(ork)h(although)h (result)330 4990 y(in)i(an)g(error)g(co)s(de.)225 5121 -y Fy(\017)60 b FB(Design)38 b(with)g(thread)f(safet)m(y)i(in)e(mind.)62 +y Fs(\017)60 b FB(Design)38 b(with)g(thread)f(safet)m(y)i(in)e(mind.)62 b(Don't)38 b(use)g(global)g(v)-5 b(ariables.)64 b(Don't)38 b(ev)m(en)g(write)g(to)330 5230 y(p)s(er-handle)27 b(global)j(v)-5 b(ariables)28 b(unless)g(the)g(do)s(cumen)m(ted)g(b)s(eha)m(viour)g(of) @@ -10185,95 +6459,94 @@ end %%Page: 4 10 TeXDict begin 4 9 bop 150 -116 a FB(Chapter)30 b(1:)41 -b(Preface)2799 b(4)225 299 y Fy(\017)60 b FB(Av)m(oid)38 +b(Preface)2799 b(4)225 299 y Fs(\017)60 b FB(Av)m(oid)38 b(using)f(the)g(C)g(math)g(library)-8 b(.)61 b(It)37 b(causes)h(problems)e(for)h(em)m(b)s(edded)f(implemen)m(tations,)330 408 y(and)30 b(in)g(most)h(situations)g(it)g(is)f(v)m(ery)h(easy)g(to)g -(a)m(v)m(oid)h(using)e(it.)225 543 y Fy(\017)60 b FB(Do)s(cumen)m(t)23 +(a)m(v)m(oid)h(using)e(it.)225 543 y Fs(\017)60 b FB(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37 b(Use)23 b(commen)m(ts)g(b)s(efore)f(eac)m(h) h(function)f(headers,)h(that,)i(if)d(prop)s(erly)330 653 y(formatted,)31 b(are)g(extracted)h(in)m(to)f(T)-8 b(exinfo)31 b(man)m(uals)f(and)g(GTK-DOC)g(w)m(eb)h(pages.)225 -787 y Fy(\017)60 b FB(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m +787 y Fs(\017)60 b FB(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m (tries,)i(where)e(appropriate.)p eop end %%Page: 5 11 TeXDict begin 5 10 bop 150 -116 a FB(Chapter)30 b(2:)41 -b(The)30 b(Library)2605 b(5)150 299 y Fx(2)80 b(The)54 -b(Library)150 747 y FB(In)28 b(brief)f Ft(Gn)n(uTLS)i +b(The)30 b(Library)2605 b(5)150 299 y Fy(2)80 b(The)54 +b(Library)150 742 y FB(In)28 b(brief)f Fu(Gn)n(uTLS)i FB(can)g(b)s(e)e(describ)s(ed)h(as)g(a)h(library)f(whic)m(h)g(o\013ers) -h(an)f(API)g(to)h(access)h(secure)e(comm)m(u-)150 857 +h(an)f(API)g(to)h(access)h(secure)e(comm)m(u-)150 852 y(nication)33 b(proto)s(cols.)47 b(These)32 b(proto)s(cols)h(pro)m (vide)g(priv)-5 b(acy)32 b(o)m(v)m(er)i(insecure)e(lines,)h(and)e(w)m -(ere)i(designed)150 967 y(to)e(prev)m(en)m(t)g(ea)m(v)m(esdropping,)h -(tamp)s(ering,)e(or)g(message)i(forgery)-8 b(.)150 1172 -y(T)g(ec)m(hnically)43 b Ft(Gn)n(uTLS)e FB(is)g(a)g(p)s(ortable)g(ANSI) +(ere)i(designed)150 962 y(to)e(prev)m(en)m(t)g(ea)m(v)m(esdropping,)h +(tamp)s(ering,)e(or)g(message)i(forgery)-8 b(.)150 1166 +y(T)g(ec)m(hnically)43 b Fu(Gn)n(uTLS)e FB(is)g(a)g(p)s(ortable)g(ANSI) f(C)h(based)f(library)h(whic)m(h)g(implemen)m(ts)g(the)g(TLS)f(1.1)150 -1282 y(and)35 b(SSL)g(3.0)i(proto)s(cols)f(\(See)h(Chapter)e(3)h([In)m +1275 y(and)35 b(SSL)g(3.0)i(proto)s(cols)f(\(See)h(Chapter)e(3)h([In)m (tro)s(duction)g(to)g(TLS],)g(page)g(8,)i(for)e(a)g(more)g(detailed)150 -1392 y(description)31 b(of)f(the)h(proto)s(cols\),)h(accompanied)f +1385 y(description)31 b(of)f(the)h(proto)s(cols\),)h(accompanied)f (with)g(the)f(required)g(framew)m(ork)h(for)f(authen)m(tication)150 -1501 y(and)g(public)f(k)m(ey)j(infrastructure.)39 b(Imp)s(ortan)m(t)31 -b(features)f(of)h(the)f Ft(Gn)n(uTLS)h FB(library)f(include:)225 -1707 y Fy(\017)60 b FB(Supp)s(ort)28 b(for)i(TLS)g(1.0,)h(TLS)f(1.1,)h -(and)f(SSL)f(3.0)j(proto)s(cols.)225 1877 y Fy(\017)60 -b FB(Supp)s(ort)28 b(for)i(b)s(oth)g Ft(X.509)f FB(and)h -Ft(Op)r(enPGP)f FB(certi\014cates.)225 2048 y Fy(\017)60 -b FB(Supp)s(ort)28 b(for)i(handling)g(and)g(v)m(eri\014cation)i(of)e -(certi\014cates.)225 2218 y Fy(\017)60 b FB(Supp)s(ort)28 -b(for)i Ft(SRP)g FB(for)h(TLS)e(authen)m(tication.)225 -2388 y Fy(\017)60 b FB(Supp)s(ort)28 b(for)i Ft(PSK)g -FB(for)g(TLS)f(authen)m(tication.)225 2558 y Fy(\017)60 +1495 y(and)d(public)f(k)m(ey)i(infrastructure.)39 b(The)26 +b(library)h(is)g(a)m(v)-5 b(ailable)30 b(under)25 b(the)j(GNU)f(Lesser) +g(GPL)g(license)3686 1462 y Fr(1)3725 1495 y FB(.)150 +1604 y(Imp)s(ortan)m(t)j(features)h(of)f(the)h Fu(Gn)n(uTLS)f +FB(library)g(include:)225 1808 y Fs(\017)60 b FB(Supp)s(ort)28 +b(for)i(TLS)g(1.0,)h(TLS)f(1.1,)h(and)f(SSL)f(3.0)j(proto)s(cols.)225 +1978 y Fs(\017)60 b FB(Supp)s(ort)28 b(for)i(b)s(oth)g +Fu(X.509)f FB(and)h Fu(Op)r(enPGP)f FB(certi\014cates.)225 +2147 y Fs(\017)60 b FB(Supp)s(ort)28 b(for)i(handling)g(and)g(v)m +(eri\014cation)i(of)e(certi\014cates.)225 2317 y Fs(\017)60 +b FB(Supp)s(ort)28 b(for)i Fu(SRP)g FB(for)h(TLS)e(authen)m(tication.) +225 2486 y Fs(\017)60 b FB(Supp)s(ort)28 b(for)i Fu(PSK)g +FB(for)g(TLS)f(authen)m(tication.)225 2655 y Fs(\017)60 b FB(Supp)s(ort)28 b(for)i(TLS)g(Extension)g(mec)m(hanism.)225 -2728 y Fy(\017)60 b FB(Supp)s(ort)28 b(for)i(TLS)g(Compression)f(Metho) -s(ds.)150 2995 y(Additionally)37 b Ft(Gn)n(uTLS)e FB(pro)m(vides)h(a)g +2825 y Fs(\017)60 b FB(Supp)s(ort)28 b(for)i(TLS)g(Compression)f(Metho) +s(ds.)150 3089 y(Additionally)37 b Fu(Gn)n(uTLS)e FB(pro)m(vides)h(a)g (limited)g(em)m(ulation)h(API)f(for)f(the)h(widely)g(used)f(Op)s(enSSL) -3599 2962 y Fr(1)3669 2995 y FB(li-)150 3105 y(brary)-8 +3599 3056 y Fr(2)3669 3089 y FB(li-)150 3198 y(brary)-8 b(,)30 b(to)h(ease)h(in)m(tegration)g(with)e(existing)h(applications.) -150 3311 y Ft(Gn)n(uTLS)e FB(consists)g(of)g(three)g(indep)s(enden)m(t) +150 3403 y Fu(Gn)n(uTLS)e FB(consists)g(of)g(three)g(indep)s(enden)m(t) f(parts,)h(namely)g(the)g(\\TLS)f(proto)s(col)i(part",)f(the)g -(\\Certi\014-)150 3420 y(cate)35 b(part",)f(and)f(the)g -(\\Cryptographic)h(bac)m(k)m(end")g(part.)49 b(The)33 -b(`TLS)f(proto)s(col)j(part')e(is)g(the)h(actual)150 -3530 y(proto)s(col)26 b(implemen)m(tation,)i(and)c(is)h(en)m(tirely)h -(implemen)m(ted)f(within)g(the)g Ft(Gn)n(uTLS)g FB(library)-8 -b(.)38 b(The)25 b(`Cer-)150 3639 y(ti\014cate)31 b(part')f(consists)g -(of)f(the)h(certi\014cate)i(parsing,)d(and)g(v)m(eri\014cation)i -(functions)e(whic)m(h)g(is)h(partially)150 3749 y(implemen)m(ted)e(in)f -(the)h Ft(Gn)n(uTLS)f FB(library)-8 b(.)40 b(The)27 b -Ft(Libtasn1)2105 3716 y Fr(2)2141 3749 y FB(,)i(a)e(library)g(whic)m(h) -h(o\013ers)f Ft(ASN.1)h FB(parsing)f(ca-)150 3858 y(pabilities,)h(is)d -(used)g(for)g(the)g Ft(X.509)f FB(certi\014cate)k(parsing)d(functions.) -38 b(A)26 b(smaller)f(v)m(ersion)h(of)g Ft(Op)r(enCDK)3713 -3826 y Fr(3)150 3968 y FB(is)h(used)f(for)h(the)h Ft(Op)r(enPGP)e -FB(k)m(ey)i(supp)s(ort)d(in)i Ft(Gn)n(uTLS)p FB(.)g(The)g -(\\Cryptographic)g(bac)m(k)m(end")h(is)f(pro)m(vided)150 -4078 y(b)m(y)j(the)h Ft(Libgcrypt)788 4045 y Fr(4)855 -4078 y FB(library)1122 4045 y Fr(5)1159 4078 y FB(.)150 -4284 y(In)43 b(order)g(to)i(ease)g(in)m(tegration)h(in)d(em)m(b)s -(edded)g(systems,)48 b(parts)43 b(of)h(the)g Ft(Gn)n(uTLS)g -FB(library)f(can)i(b)s(e)150 4393 y(disabled)c(at)g(compile)h(time.)73 -b(That)41 b(w)m(a)m(y)g(a)h(small)f(library)-8 b(,)44 -b(with)c(the)h(required)f(features,)k(can)e(b)s(e)150 -4503 y(generated.)p 150 4741 1200 4 v 74 4809 a Fr(1)150 -4841 y Fq(http://www.openssl.org/)74 4912 y Fr(2)150 -4944 y Fq(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q(gnutl)q(s/li)q(btasn)q -(1/)74 5015 y Fr(3)150 5047 y Fq(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q -(gnutl)q(s/op)q(encdk)q(/)74 5118 y Fr(4)150 5150 y Fq -(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q(libgc)q(rypt)q(/)74 -5221 y Fr(5)150 5253 y Fp(On)23 b(curren)n(t)g(v)n(ersions)h(of)g(Gn)n -(uTLS)f(it)g(is)h(p)r(ossible)h(to)f(o)n(v)n(erride)f(the)g(default)h -(crypto)f(bac)n(k)n(end.)33 b(Chec)n(k)23 b(see)h(Section)f(12.6)150 -5340 y([Cryptographic)k(Bac)n(k)n(end],)e(page)i(301)f(for)h(details)p +(\\Certi\014-)150 3512 y(cate)h(part",)g(and)e(the)i(\\Crypto)e(bac)m +(k)m(end")i(part.)40 b(The)29 b(`TLS)f(proto)s(col)i(part')f(is)g(the)g +(actual)h(proto)s(col)150 3622 y(implemen)m(tation,)38 +b(and)d(is)g(en)m(tirely)h(implemen)m(ted)g(within)e(the)i +Fu(Gn)n(uTLS)f FB(library)-8 b(.)55 b(The)34 b(`Certi\014cate)150 +3731 y(part')e(consists)g(of)g(the)f(certi\014cate)j(parsing,)e(and)f +(v)m(eri\014cation)i(functions)e(whic)m(h)g(is)h(partially)h(imple-)150 +3841 y(men)m(ted)c(in)g(the)h Fu(Gn)n(uTLS)f FB(library)-8 +b(.)40 b(The)29 b Fu(Libtasn1)1897 3808 y Fr(3)1933 3841 +y FB(,)h(a)f(library)g(whic)m(h)g(o\013ers)g Fu(ASN.1)g +FB(parsing)g(capabil-)150 3951 y(ities,)35 b(is)e(used)g(for)f(the)i +Fu(X.509)e FB(certi\014cate)j(parsing)d(functions.)49 +b(A)33 b(smaller)h(v)m(ersion)f(of)h Fu(Op)r(enCDK)3619 +3918 y Fr(4)3689 3951 y FB(is)150 4060 y(used)g(for)g(the)h +Fu(Op)r(enPGP)f FB(k)m(ey)h(supp)s(ort)e(in)h Fu(Gn)n(uTLS)p +FB(.)h(The)f(\\Crypto)h(bac)m(k)m(end")g(is)g(pro)m(vided)f(b)m(y)h +(the)150 4170 y Fu(Libgcrypt)505 4137 y Fr(5)572 4170 +y FB(library)-8 b(.)150 4374 y(In)43 b(order)g(to)i(ease)g(in)m +(tegration)h(in)d(em)m(b)s(edded)g(systems,)48 b(parts)43 +b(of)h(the)g Fu(Gn)n(uTLS)g FB(library)f(can)i(b)s(e)150 +4484 y(disabled)c(at)g(compile)h(time.)73 b(That)41 b(w)m(a)m(y)g(a)h +(small)f(library)-8 b(,)44 b(with)c(the)h(required)f(features,)k(can)e +(b)s(e)150 4593 y(generated.)p 150 4829 1200 4 v 74 4896 +a Fr(1)150 4928 y Fq(A)25 b(cop)n(y)g(of)i(the)e(license)i(is)f +(included)f(in)h(the)f(distribution)74 4999 y Fr(2)150 +5031 y Fp(http://www.openssl.org/)74 5102 y Fr(3)150 +5134 y Fp(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q(gnutl)q(s/li)q(btasn)q +(1/)74 5205 y Fr(4)150 5237 y Fp(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q +(gnutl)q(s/op)q(encdk)q(/)74 5308 y Fr(5)150 5340 y Fp +(ftp://ftp.gnupg.org/gcrypt/al)q(pha/)q(libgc)q(rypt)q(/)p eop end %%Page: 6 12 TeXDict begin 6 11 bop 150 -116 a FB(Chapter)30 b(2:)41 b(The)30 b(Library)2605 b(6)150 299 y FA(2.1)68 b(General)46 b(Idea)150 458 y FB(A)21 b(brief)f(description)h(of)f(ho)m(w)h -Ft(Gn)n(uTLS)g FB(w)m(orks)f(in)m(ternally)i(is)f(sho)m(wn)f(at)h(the)g +Fu(Gn)n(uTLS)g FB(w)m(orks)f(in)m(ternally)i(is)f(sho)m(wn)f(at)h(the)g (\014gure)f(b)s(elo)m(w.)38 b(This)20 b(section)150 568 y(ma)m(y)31 b(b)s(e)f(easier)h(to)g(understand)e(after)i(ha)m(ving)f -(seen)h(the)f(examples)h(\(see)h([examples],)f(page)h(32\).)150 -2581 y @beginspecial 0 @llx 0 @lly 898 @urx 560 @ury +(seen)h(the)f(examples)h(\(see)h([examples],)f(page)h(33\).)150 +2585 y @beginspecial 0 @llx 0 @lly 898 @urx 560 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-internals.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -12462,55 +8735,55 @@ showpage %%EndDocument - @endspecial 179 x(As)26 b(sho)m(wn)f(in)g(the)h(\014gure,)h(there)f + @endspecial 205 x(As)26 b(sho)m(wn)f(in)g(the)h(\014gure,)h(there)f (is)f(a)i(read-only)f(global)h(state)g(that)f(is)g(initialized)i(once)e -(b)m(y)g(the)g(global)150 2869 y(initialization)h(function.)39 +(b)m(y)g(the)g(global)150 2900 y(initialization)h(function.)39 b(This)23 b(global)j(structure,)f(among)g(others,)h(con)m(tains)f(the)f -(memory)h(allo)s(cation)150 2979 y(functions)35 b(used,)g(and)g(some)g -(structures)f(needed)h(for)g(the)g Ft(ASN.1)g FB(parser.)54 -b(This)34 b(structure)h(is)g(nev)m(er)150 3088 y(mo)s(di\014ed)h(b)m(y) -h(an)m(y)g Ft(Gn)n(uTLS)g FB(function,)i(except)f(for)f(the)g +(memory)h(allo)s(cation)150 3009 y(functions)35 b(used,)g(and)g(some)g +(structures)f(needed)h(for)g(the)g Fu(ASN.1)g FB(parser.)54 +b(This)34 b(structure)h(is)g(nev)m(er)150 3119 y(mo)s(di\014ed)h(b)m(y) +h(an)m(y)g Fu(Gn)n(uTLS)g FB(function,)i(except)f(for)f(the)g (deinitialization)j(function)c(whic)m(h)h(frees)g(all)150 -3198 y(memory)32 b(allo)s(cated)i(in)e(the)g(global)h(structure)f(and)f +3229 y(memory)32 b(allo)s(cated)i(in)e(the)g(global)h(structure)f(and)f (is)h(called)h(after)g(the)f(program)g(has)f(p)s(ermanen)m(tly)150 -3308 y(\014nished)e(using)h Ft(Gn)n(uTLS)p FB(.)150 3440 +3338 y(\014nished)e(using)h Fu(Gn)n(uTLS)p FB(.)150 3467 y(The)35 b(creden)m(tials)h(structure)f(is)g(used)g(b)m(y)g(some)h (authen)m(tication)h(metho)s(ds,)f(suc)m(h)f(as)g(certi\014cate)j(au-) -150 3550 y(then)m(tication)25 b(\(see)f([Certi\014cate)g(Authen)m +150 3577 y(then)m(tication)25 b(\(see)f([Certi\014cate)g(Authen)m (tication],)j(page)c(23\).)40 b(A)23 b(creden)m(tials)h(structure)e(ma) -m(y)i(con)m(tain)150 3659 y(certi\014cates,)39 b(priv)-5 -b(ate)36 b(k)m(eys,)i(temp)s(orary)e(parameters)g(for)f -(Di\016e-Hellman)j(or)d(RSA)h(k)m(ey)g(exc)m(hange,)150 -3769 y(and)30 b(other)g(stu\013)g(that)h(ma)m(y)g(b)s(e)f(shared)g(b)s -(et)m(w)m(een)h(sev)m(eral)h(TLS)d(sessions.)150 3902 -y(This)k(structure)h(should)f(b)s(e)g(initialized)j(using)d(the)i -(appropriate)f(initialization)i(functions.)52 b(F)-8 -b(or)34 b(ex-)150 4011 y(ample)43 b(an)f(application)h(whic)m(h)f(uses) -g(certi\014cate)i(authen)m(tication)h(w)m(ould)d(probably)f(initialize) -k(the)150 4121 y(creden)m(tials,)39 b(using)c(the)h(appropriate)g -(functions,)h(and)f(put)f(its)h(trusted)g(certi\014cates)i(in)d(this)h -(struc-)150 4230 y(ture.)41 b(The)29 b(next)i(step)f(is)h(to)g(asso)s -(ciate)h(the)f(creden)m(tials)h(structure)d(with)i(eac)m(h)g -Ft(TLS)f FB(session.)150 4363 y(A)20 b Ft(Gn)n(uTLS)h -FB(session)f(con)m(tains)i(all)f(the)g(required)e(stu\013)h(for)g(a)h -(session)f(to)i(handle)d(one)i(secure)g(connection.)150 -4472 y(This)35 b(session)g(calls)i(directly)f(to)g(the)g(transp)s(ort)e -(la)m(y)m(er)j(functions,)g(in)e(order)g(to)h(comm)m(unicate)h(with)150 -4582 y(the)31 b(p)s(eer.)40 b(Ev)m(ery)30 b(session)h(has)f(a)h(unique) -e(session)i(ID)f(shared)g(with)g(the)g(p)s(eer.)150 4715 -y(Since)38 b(TLS)f(sessions)i(can)f(b)s(e)g(resumed,)h(serv)m(ers)f(w)m -(ould)g(probably)g(need)g(a)g(database)h(bac)m(k)m(end)g(to)150 -4824 y(hold)29 b(the)h(session's)g(parameters.)41 b(Ev)m(ery)30 -b Ft(Gn)n(uTLS)g FB(session)g(after)g(a)g(successful)g(handshak)m(e)f -(calls)i(the)150 4934 y(appropriate)k(bac)m(k)m(end)h(function)g(\(See) +m(y)i(con)m(tain)150 3686 y(certi\014cates,)j(priv)-5 +b(ate)23 b(k)m(eys,)i(temp)s(orary)e(parameters)g(for)g(di\016e)g +(hellman)g(or)g(RSA)g(k)m(ey)g(exc)m(hange,)k(and)150 +3796 y(other)k(stu\013)f(that)h(ma)m(y)g(b)s(e)e(shared)h(b)s(et)m(w)m +(een)h(sev)m(eral)h(TLS)d(sessions.)150 3924 y(This)k(structure)h +(should)f(b)s(e)g(initialized)j(using)d(the)i(appropriate)f +(initialization)i(functions.)52 b(F)-8 b(or)34 b(ex-)150 +4034 y(ample)43 b(an)f(application)h(whic)m(h)f(uses)g(certi\014cate)i +(authen)m(tication)h(w)m(ould)d(probably)f(initialize)k(the)150 +4144 y(creden)m(tials,)39 b(using)c(the)h(appropriate)g(functions,)h +(and)f(put)f(its)h(trusted)g(certi\014cates)i(in)d(this)h(struc-)150 +4253 y(ture.)41 b(The)29 b(next)i(step)f(is)h(to)g(asso)s(ciate)h(the)f +(creden)m(tials)h(structure)d(with)i(eac)m(h)g Fu(TLS)f +FB(session.)150 4382 y(A)20 b Fu(Gn)n(uTLS)h FB(session)f(con)m(tains)i +(all)f(the)g(required)e(stu\013)h(for)g(a)h(session)f(to)i(handle)d +(one)i(secure)g(connection.)150 4492 y(This)35 b(session)g(calls)i +(directly)f(to)g(the)g(transp)s(ort)e(la)m(y)m(er)j(functions,)g(in)e +(order)g(to)h(comm)m(unicate)h(with)150 4601 y(the)31 +b(p)s(eer.)40 b(Ev)m(ery)30 b(session)h(has)f(a)h(unique)e(session)i +(ID)f(shared)g(with)g(the)g(p)s(eer.)150 4730 y(Since)38 +b(TLS)f(sessions)i(can)f(b)s(e)g(resumed,)h(serv)m(ers)f(w)m(ould)g +(probably)g(need)g(a)g(database)h(bac)m(k)m(end)g(to)150 +4839 y(hold)29 b(the)h(session's)g(parameters.)41 b(Ev)m(ery)30 +b Fu(Gn)n(uTLS)g FB(session)g(after)g(a)g(successful)g(handshak)m(e)f +(calls)i(the)150 4949 y(appropriate)k(bac)m(k)m(end)h(function)g(\(See) g([resume],)g(page)h(13,)g(for)f(information)f(on)h(initialization\))i -(to)150 5043 y(store)h(the)g(newly)f(negotiated)i(session.)66 +(to)150 5059 y(store)h(the)g(newly)f(negotiated)i(session.)66 b(The)38 b(session)g(database)i(is)e(examined)h(b)m(y)f(the)h(serv)m -(er)g(just)150 5153 y(after)c(ha)m(ving)h(receiv)m(ed)g(the)f(clien)m -(t)h(hello)1616 5120 y Fr(6)1655 5153 y FB(,)g(and)e(if)h(the)g +(er)g(just)150 5168 y(after)c(ha)m(ving)h(receiv)m(ed)g(the)f(clien)m +(t)h(hello)1616 5135 y Fr(6)1655 5168 y FB(,)g(and)e(if)h(the)g (session)g(ID)g(sen)m(t)g(b)m(y)g(the)g(clien)m(t,)j(matc)m(hes)e(a)p -150 5241 1200 4 v 74 5308 a Fr(6)150 5340 y Fp(The)26 -b(\014rst)f(message)j(in)d(a)h Fo(TLS)g Fp(handshak)n(e)p +150 5241 1200 4 v 74 5308 a Fr(6)150 5340 y Fq(The)26 +b(\014rst)f(message)j(in)d(a)h Fo(TLS)g Fq(handshak)n(e)p eop end %%Page: 7 13 TeXDict begin 7 12 bop 150 -116 a FB(Chapter)30 b(2:)41 @@ -12519,7 +8792,7 @@ (session)h(will)g(b)s(e)f(a)h(resumed)150 408 y(one,)d(and)f(will)g (share)h(the)f(same)h(session)f(ID)h(with)f(the)h(previous)e(one.)150 641 y FA(2.2)68 b(Error)45 b(Handling)150 800 y FB(In)27 -b Ft(Gn)n(uTLS)h FB(most)g(functions)g(return)e(an)i(in)m(teger)h(t)m +b Fu(Gn)n(uTLS)h FB(most)g(functions)g(return)e(an)i(in)m(teger)h(t)m (yp)s(e)f(as)g(a)h(result.)39 b(In)27 b(almost)i(all)g(cases)g(a)f (zero)h(or)f(a)150 910 y(p)s(ositiv)m(e)g(n)m(um)m(b)s(er)e(means)h (success,)h(and)f(a)g(negativ)m(e)j(n)m(um)m(b)s(er)25 @@ -12529,28 +8802,28 @@ j(or)e(not.)150 1154 y(F)-8 b(atal)38 b(errors)d(terminate)h(the)g (connection)h(immediately)g(and)e(further)f(sends)g(and)h(receiv)m(es)j (will)e(b)s(e)150 1264 y(disallo)m(w)m(ed.)49 b(An)32 -b(example)i(of)e(a)h(fatal)h(error)e(co)s(de)h(is)g Fs +b(example)i(of)e(a)h(fatal)h(error)e(co)s(de)h(is)g Ft (GNUTLS_E_DECRYPTION_FAIL)o(ED)p FB(.)41 b(Non-fatal)150 1373 y(errors)32 b(ma)m(y)i(w)m(arn)e(ab)s(out)g(something,)j(i.e.,)f (a)f(w)m(arning)g(alert)h(w)m(as)f(receiv)m(ed,)i(or)e(indicate)h(the)f (some)150 1483 y(action)23 b(has)e(to)h(b)s(e)f(tak)m(en.)38 b(This)21 b(is)g(the)h(case)g(with)f(the)h(error)f(co)s(de)g -Fs(GNUTLS_E_REHANDSHAKE)16 b FB(returned)150 1592 y(b)m(y)34 +Ft(GNUTLS_E_REHANDSHAKE)16 b FB(returned)150 1592 y(b)m(y)34 b([gn)m(utls)p 551 1592 28 4 v 40 w(record)p 839 1592 -V 40 w(recv],)h(page)g(163.)52 b(This)32 b(error)i(co)s(de)g(indicates) +V 40 w(recv],)h(page)g(161.)52 b(This)32 b(error)i(co)s(de)g(indicates) g(that)g(the)g(serv)m(er)g(requests)g(a)g(re-)150 1702 y(handshak)m(e.)40 b(The)30 b(clien)m(t)h(ma)m(y)g(ignore)g(this)f (request,)g(or)g(ma)m(y)h(reply)f(with)f(an)h(alert.)42 b(Y)-8 b(ou)31 b(can)f(test)h(if)150 1812 y(an)f(error)g(co)s(de)h(is)f (a)h(fatal)h(one)e(b)m(y)h(using)e(the)i([gn)m(utls)p 2044 1812 V 41 w(error)p 2278 1812 V 39 w(is)p 2378 1812 -V 40 w(fatal],)i(page)e(143.)150 1946 y(If)d(an)m(y)i(non)e(fatal)i +V 40 w(fatal],)i(page)e(142.)150 1946 y(If)d(an)m(y)i(non)e(fatal)i (errors,)f(that)g(require)g(an)f(action,)j(are)e(to)h(b)s(e)e(returned) g(b)m(y)h(a)g(function,)g(these)g(error)150 2056 y(co)s(des)34 b(will)g(b)s(e)g(do)s(cumen)m(ted)g(in)f(the)i(function's)e(reference.) -53 b(See)34 b([Error)f(Co)s(des],)i(page)g(268,)h(for)e(all)150 +53 b(See)34 b([Error)f(Co)s(des],)i(page)g(252,)h(for)e(all)150 2165 y(the)d(error)f(co)s(des.)150 2398 y FA(2.3)68 b(Memory)45 -b(Handling)150 2557 y Ft(Gn)n(uTLS)33 b FB(in)m(ternally)i(handles)e +b(Handling)150 2557 y Fu(Gn)n(uTLS)33 b FB(in)m(ternally)i(handles)e (heap)g(allo)s(cated)j(ob)5 b(jects)34 b(di\013eren)m(tly)-8 b(,)35 b(dep)s(ending)d(on)i(the)f(sensitivit)m(y)150 2667 y(of)f(the)h(data)g(they)f(con)m(tain.)48 b(Ho)m(w)m(ev)m(er)34 @@ -12561,18 +8834,18 @@ b(In)23 b(order)i(to)g(c)m(hange)g(the)g(default)g(b)s(eha)m(vior)g (the)f([gn)m(utls)p 2642 2886 V 41 w(global)p 2919 2886 V 41 w(set)p 3071 2886 V 41 w(mem)p 3304 2886 V 40 w(functions],)150 -2995 y(page)38 b(146)g(function)e(is)h(a)m(v)-5 b(ailable)39 +2995 y(page)38 b(144)g(function)e(is)h(a)m(v)-5 b(ailable)39 b(whic)m(h)e(can)g(b)s(e)f(used)g(to)i(set)f(other)h(memory)e(handlers) g(than)h(the)150 3105 y(defaults.)150 3240 y(The)31 b -Ft(Libgcrypt)g FB(library)h(on)g(whic)m(h)f Ft(Gn)n(uTLS)h +Fu(Libgcrypt)g FB(library)h(on)g(whic)m(h)f Fu(Gn)n(uTLS)h FB(dep)s(ends,)f(has)g(suc)m(h)h(secure)g(memory)f(allo)s(cation)k (func-)150 3349 y(tions)28 b(a)m(v)-5 b(ailable.)42 b(These)28 b(should)f(b)s(e)g(used)g(in)g(cases)i(where)e(ev)m(en)i(the)f (system's)g(sw)m(ap)f(memory)h(is)g(not)150 3459 y(considered)i (secure.)41 b(See)31 b(the)f(do)s(cumen)m(tation)h(of)g -Ft(Libgcrypt)f FB(for)g(more)g(information.)150 3691 +Fu(Libgcrypt)f FB(for)g(more)g(information.)150 3691 y FA(2.4)68 b(Callbac)l(k)46 b(F)-11 b(unctions)150 3851 -y FB(There)23 b(are)h(sev)m(eral)h(cases)g(where)e Ft(Gn)n(uTLS)h +y FB(There)23 b(are)h(sev)m(eral)h(cases)g(where)e Fu(Gn)n(uTLS)h FB(ma)m(y)g(need)f(some)h(out)g(of)g(band)e(input)h(from)g(y)m(our)h (program.)150 3960 y(This)i(is)i(no)m(w)f(implemen)m(ted)h(using)e (some)i(callbac)m(k)h(functions,)f(whic)m(h)f(y)m(our)g(program)g(is)h @@ -12581,73 +8854,73 @@ d(and)i(pull)g(callbac)m(ks)j(whic)m(h)d(are)h(used)e(to)150 4314 y(sp)s(ecify)30 b(the)h(functions)e(that)i(will)g(retriev)m(e)h (and)e(send)f(data)i(to)g(the)g(transp)s(ort)f(la)m(y)m(er.)225 -4448 y Fy(\017)60 b FB([gn)m(utls)p 601 4448 V 41 w(transp)s(ort)p +4448 y Fs(\017)60 b FB([gn)m(utls)p 601 4448 V 41 w(transp)s(ort)p 1015 4448 V 39 w(set)p 1165 4448 V 41 w(push)p 1395 4448 -V 38 w(function],)30 b(page)i(181)225 4583 y Fy(\017)60 +V 38 w(function],)30 b(page)i(176)225 4583 y Fs(\017)60 b FB([gn)m(utls)p 601 4583 V 41 w(transp)s(ort)p 1015 4583 V 39 w(set)p 1165 4583 V 41 w(pull)p 1358 4583 V -39 w(function],)31 b(page)g(181)150 4742 y(Other)25 b(callbac)m(k)j +39 w(function],)31 b(page)g(176)150 4742 y(Other)25 b(callbac)m(k)j (functions)d(suc)m(h)g(as)h(the)g(one)g(set)g(b)m(y)g([gn)m(utls)p 2290 4742 V 40 w(srp)p 2453 4742 V 39 w(set)p 2603 4742 V 41 w(serv)m(er)p 2877 4742 V 40 w(creden)m(tials)p -3338 4742 V 42 w(function],)150 4852 y(page)45 b(177,)k(ma)m(y)c +3338 4742 V 42 w(function],)150 4852 y(page)45 b(173,)k(ma)m(y)c (require)f(more)h(complicated)h(input,)h(including)d(data)h(to)g(b)s(e) f(allo)s(cated.)84 b(These)150 4961 y(callbac)m(ks)32 b(should)e(allo)s(cate)j(and)c(free)i(memory)f(using)g(the)h(functions) -e(sho)m(wn)h(b)s(elo)m(w.)225 5096 y Fy(\017)60 b FB([gn)m(utls)p -601 5096 V 41 w(mallo)s(c],)32 b(page)f(152)225 5230 -y Fy(\017)60 b FB([gn)m(utls)p 601 5230 V 41 w(free],)31 -b(page)g(145)p eop end +e(sho)m(wn)h(b)s(elo)m(w.)225 5096 y Fs(\017)60 b FB([gn)m(utls)p +601 5096 V 41 w(mallo)s(c],)32 b(page)f(150)225 5230 +y Fs(\017)60 b FB([gn)m(utls)p 601 5230 V 41 w(free],)31 +b(page)g(143)p eop end %%Page: 8 14 TeXDict begin 8 13 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2293 b FB(8)150 -299 y Fx(3)80 b(In)l(tro)t(duction)51 b(to)j FA(TLS)150 -544 y Ft(TLS)30 b FB(stands)g(for)g(\\T)-8 b(ransp)s(ort)29 +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2293 b FB(8)150 +299 y Fy(3)80 b(In)l(tro)t(duction)51 b(to)j FA(TLS)150 +538 y Fu(TLS)30 b FB(stands)g(for)g(\\T)-8 b(ransp)s(ort)29 b(La)m(y)m(er)i(Securit)m(y")g(and)f(is)g(the)g(successor)h(of)f(SSL,)f -(the)i(Secure)f(So)s(c)m(k)m(ets)150 654 y(La)m(y)m(er)46 -b(proto)s(col)f([SSL3])f(\(see)i([Bibliograph)m(y],)j(page)d(330\))g -(designed)e(b)m(y)g(Netscap)s(e.)84 b Ft(TLS)45 b FB(is)f(an)150 -763 y(In)m(ternet)31 b(proto)s(col,)i(de\014ned)c(b)m(y)i -Ft(IETF)1523 730 y Fr(1)1560 763 y FB(,)g(describ)s(ed)f(in)h -Ft(RF)n(C)f FB(4346)j(and)d(also)i(in)f([RESCORLA])f(\(see)150 -873 y([Bibliograph)m(y],)k(page)e(330\).)47 b(The)31 +(the)i(Secure)f(So)s(c)m(k)m(ets)150 647 y(La)m(y)m(er)46 +b(proto)s(col)f([SSL3])f(\(see)i([Bibliograph)m(y],)j(page)d(310\))g +(designed)e(b)m(y)g(Netscap)s(e.)84 b Fu(TLS)45 b FB(is)f(an)150 +757 y(In)m(ternet)31 b(proto)s(col,)i(de\014ned)c(b)m(y)i +Fu(IETF)1523 724 y Fr(1)1560 757 y FB(,)g(describ)s(ed)f(in)h +Fu(RF)n(C)f FB(4346)j(and)d(also)i(in)f([RESCORLA])f(\(see)150 +866 y([Bibliograph)m(y],)k(page)e(310\).)47 b(The)31 b(proto)s(col)i(pro)m(vides)f(con\014den)m(tialit)m(y)-8 -b(,)34 b(and)e(authen)m(tication)h(la)m(y)m(ers)150 982 +b(,)34 b(and)e(authen)m(tication)h(la)m(y)m(ers)150 976 y(o)m(v)m(er)22 b(an)m(y)g(reliable)g(transp)s(ort)f(la)m(y)m(er.)39 b(The)20 b(description,)k(b)s(elo)m(w,)f(refers)e(to)h -Ft(TLS)f FB(1.0)h(but)f(also)h(applies)f(to)150 1092 -y Ft(TLS)27 b FB(1.1)g([RF)m(C4346])j(\(see)e([Bibliograph)m(y],)h -(page)e(330\))i(and)d Ft(SSL)h FB(3.0,)h(since)g(the)f(di\013erences)g -(of)f(these)150 1202 y(proto)s(cols)38 b(are)f(minor.)60 -b(Older)36 b(proto)s(cols)h(suc)m(h)g(as)g Ft(SSL)g FB(2.0)h(are)f(not) -g(discussed)f(nor)g(implemen)m(ted)150 1311 y(in)g Ft(Gn)n(uTLS)h +Fu(TLS)f FB(1.0)h(but)f(also)h(applies)f(to)150 1086 +y Fu(TLS)27 b FB(1.1)g([RF)m(C4346])j(\(see)e([Bibliograph)m(y],)h +(page)e(310\))i(and)d Fu(SSL)h FB(3.0,)h(since)g(the)f(di\013erences)g +(of)f(these)150 1195 y(proto)s(cols)38 b(are)f(minor.)60 +b(Older)36 b(proto)s(cols)h(suc)m(h)g(as)g Fu(SSL)g FB(2.0)h(are)f(not) +g(discussed)f(nor)g(implemen)m(ted)150 1305 y(in)g Fu(Gn)n(uTLS)h FB(since)g(they)g(are)g(not)g(considered)f(secure)h(to)s(da)m(y)-8 -b(.)60 b(Gn)m(uTLS)36 b(also)h(supp)s(orts)e Ft(X.509)h -FB(and)150 1421 y Ft(Op)r(enPGP)29 b FB([RF)m(C4880])k(\(see)f -([Bibliograph)m(y],)g(page)f(330\).)150 1659 y FA(3.1)68 -b(TLS)44 b(La)l(y)l(ers)150 1818 y Ft(TLS)26 b FB(is)h(a)f(la)m(y)m +b(.)60 b(Gn)m(uTLS)36 b(also)h(supp)s(orts)e Fu(X.509)h +FB(and)150 1414 y Fu(Op)r(enPGP)29 b FB([RF)m(C4880])k(\(see)f +([Bibliograph)m(y],)g(page)f(310\).)150 1649 y FA(3.1)68 +b(TLS)44 b(La)l(y)l(ers)150 1808 y Fu(TLS)26 b FB(is)h(a)f(la)m(y)m (ered)i(proto)s(col,)g(and)e(consists)h(of)f(the)h(Record)f(Proto)s -(col,)j(the)d(Handshak)m(e)h(Proto)s(col)h(and)150 1928 +(col,)j(the)d(Handshak)m(e)h(Proto)s(col)h(and)150 1918 y(the)37 b(Alert)g(Proto)s(col.)60 b(The)36 b(Record)g(Proto)s(col)i (is)f(to)g(serv)m(e)g(all)g(other)g(proto)s(cols)g(and)f(is)g(ab)s(o)m -(v)m(e)i(the)150 2037 y(transp)s(ort)c(la)m(y)m(er.)54 +(v)m(e)i(the)150 2028 y(transp)s(ort)c(la)m(y)m(er.)54 b(The)34 b(Record)g(proto)s(col)h(o\013ers)g(symmetric)g(encryption,)g -(data)g(authen)m(ticit)m(y)-8 b(,)39 b(and)150 2147 y(optionally)32 -b(compression.)150 2285 y(The)g(Alert)i(proto)s(col)g(o\013ers)f(some)h +(data)g(authen)m(ticit)m(y)-8 b(,)39 b(and)150 2137 y(optionally)32 +b(compression.)150 2273 y(The)g(Alert)i(proto)s(col)g(o\013ers)f(some)h (signaling)f(to)h(the)f(other)g(proto)s(cols.)50 b(It)33 -b(can)g(help)f(informing)h(the)150 2395 y(p)s(eer)28 +b(can)g(help)f(informing)h(the)150 2383 y(p)s(eer)28 b(for)h(the)g(cause)g(of)g(failures)g(and)g(other)g(error)f (conditions.)41 b(See)29 b([The)g(Alert)g(Proto)s(col],)i(page)f(11,) -150 2504 y(for)g(more)h(information.)41 b(The)30 b(alert)h(proto)s(col) +150 2492 y(for)g(more)h(information.)41 b(The)30 b(alert)h(proto)s(col) g(is)g(ab)s(o)m(v)m(e)g(the)g(record)f(proto)s(col.)150 -2643 y(The)h(Handshak)m(e)h(proto)s(col)h(is)e(resp)s(onsible)g(for)h +2628 y(The)h(Handshak)m(e)h(proto)s(col)h(is)e(resp)s(onsible)g(for)h (the)f(securit)m(y)i(parameters')f(negotiation,)j(the)d(initial)150 -2752 y(k)m(ey)i(exc)m(hange)g(and)e(authen)m(tication.)51 +2738 y(k)m(ey)i(exc)m(hange)g(and)e(authen)m(tication.)51 b(See)33 b([The)g(Handshak)m(e)g(Proto)s(col],)i(page)f(11,)g(for)f -(more)g(infor-)150 2862 y(mation)e(ab)s(out)e(the)h(handshak)m(e)g +(more)g(infor-)150 2848 y(mation)e(ab)s(out)e(the)h(handshak)m(e)g (proto)s(col.)41 b(The)29 b(proto)s(col)i(la)m(y)m(ering)h(in)d(TLS)g -(is)h(sho)m(wn)f(in)h(the)g(\014gure)150 2971 y(b)s(elo)m(w.)150 -4981 y @beginspecial 0 @llx 0 @lly 698 @urx 395 @ury +(is)h(sho)m(wn)f(in)h(the)g(\014gure)150 2957 y(b)s(elo)m(w.)150 +4985 y @beginspecial 0 @llx 0 @lly 698 @urx 395 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-layers.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -14663,7 +10936,7 @@ %%EndDocument @endspecial 150 5066 1200 4 v 74 5134 a Fr(1)150 5166 -y Fp(IETF,)h(or)g(In)n(ternet)f(Engineering)i(T)-6 b(ask)30 +y Fq(IETF,)h(or)g(In)n(ternet)f(Engineering)i(T)-6 b(ask)30 b(F)-6 b(orce,)33 b(is)e(a)g(large)h(op)r(en)f(in)n(ternational)g(comm) n(unit)n(y)f(of)h(net)n(w)n(ork)g(designers,)150 5253 y(op)r(erators,)23 b(v)n(endors,)e(and)g(researc)n(hers)g(concerned)g @@ -14673,64 +10946,64 @@ (individual.)p eop end %%Page: 9 15 TeXDict begin 9 14 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2293 b FB(9)150 +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2293 b FB(9)150 299 y FA(3.2)68 b(The)45 b(T)-11 b(ransp)t(ort)44 b(La)l(y)l(er)150 -458 y Ft(TLS)29 b FB(is)g(not)h(limited)g(to)g(one)f(transp)s(ort)g(la) +458 y Fu(TLS)29 b FB(is)g(not)h(limited)g(to)g(one)f(transp)s(ort)g(la) m(y)m(er,)i(it)f(can)f(b)s(e)g(used)f(ab)s(o)m(v)m(e)j(an)m(y)e(transp) s(ort)g(la)m(y)m(er,)i(as)e(long)150 568 y(as)f(it)g(is)g(a)g(reliable) g(one.)40 b(A)28 b(set)g(of)g(functions)f(is)h(pro)m(vided)f(and)g -(their)h(purp)s(ose)d(is)j(to)g(load)h(to)f Ft(Gn)n(uTLS)150 +(their)h(purp)s(ose)d(is)j(to)g(load)h(to)f Fu(Gn)n(uTLS)150 677 y FB(the)j(required)e(callbac)m(ks)j(to)g(access)f(the)g(transp)s -(ort)e(la)m(y)m(er.)225 804 y Fy(\017)60 b FB([gn)m(utls)p +(ort)e(la)m(y)m(er.)225 804 y Fs(\017)60 b FB([gn)m(utls)p 601 804 28 4 v 41 w(transp)s(ort)p 1015 804 V 39 w(set)p 1165 804 V 41 w(push)p 1395 804 V 38 w(function],)30 -b(page)i(181)225 931 y Fy(\017)60 b FB([gn)m(utls)p 601 +b(page)i(176)225 931 y Fs(\017)60 b FB([gn)m(utls)p 601 931 V 41 w(transp)s(ort)p 1015 931 V 39 w(set)p 1165 -931 V 41 w(pull)p 1358 931 V 39 w(function],)31 b(page)g(181)225 -1057 y Fy(\017)60 b FB([gn)m(utls)p 601 1057 V 41 w(transp)s(ort)p -1015 1057 V 39 w(set)p 1165 1057 V 41 w(ptr],)30 b(page)h(180)225 -1184 y Fy(\017)60 b FB([gn)m(utls)p 601 1184 V 41 w(transp)s(ort)p +931 V 41 w(pull)p 1358 931 V 39 w(function],)31 b(page)g(176)225 +1057 y Fs(\017)60 b FB([gn)m(utls)p 601 1057 V 41 w(transp)s(ort)p +1015 1057 V 39 w(set)p 1165 1057 V 41 w(ptr],)30 b(page)h(176)225 +1184 y Fs(\017)60 b FB([gn)m(utls)p 601 1184 V 41 w(transp)s(ort)p 1015 1184 V 39 w(set)p 1165 1184 V 41 w(lo)m(w)m(at],)32 -b(page)g(180)225 1311 y Fy(\017)60 b FB([gn)m(utls)p +b(page)g(175)225 1311 y Fs(\017)60 b FB([gn)m(utls)p 601 1311 V 41 w(transp)s(ort)p 1015 1311 V 39 w(set)p -1165 1311 V 41 w(errno],)30 b(page)h(179)150 1454 y(These)i(functions)g +1165 1311 V 41 w(errno],)30 b(page)h(174)150 1454 y(These)i(functions)g (accept)h(a)g(callbac)m(k)h(function)e(as)g(a)h(parameter.)49 b(The)33 b(callbac)m(k)i(functions)e(should)150 1564 y(return)c(the)i(n)m(um)m(b)s(er)e(of)h(b)m(ytes)h(written,)g(or)f(-1)h -(on)g(error)f(and)f(should)h(set)h Fs(errno)e FB(appropriately)-8 +(on)g(error)f(and)f(should)h(set)h Ft(errno)e FB(appropriately)-8 b(.)150 1691 y(In)27 b(some)g(en)m(vironmen)m(ts,)i(setting)g -Fs(errno)d FB(is)h(unreliable,)h(for)g(example)g(Windo)m(ws)f(ha)m(v)m +Ft(errno)d FB(is)h(unreliable,)h(for)g(example)g(Windo)m(ws)f(ha)m(v)m (e)i(sev)m(eral)f(errno)150 1800 y(v)-5 b(ariables)30 b(in)f(di\013eren)m(t)g(CR)-8 b(Ts,)29 b(or)h(it)f(ma)m(y)h(b)s(e)f (that)g(errno)g(is)g(not)h(a)f(thread-lo)s(cal)i(v)-5 b(ariable.)41 b(If)29 b(this)g(is)150 1910 y(a)d(concern)h(to)g(y)m -(ou,)g(call)h Fs(gnutls_transport_set_er)o(rno)19 b FB(with)26 +(ou,)g(call)h Ft(gnutls_transport_set_er)o(rno)19 b FB(with)26 b(the)h(in)m(tended)e(errno)h(v)-5 b(alue)27 b(instead)150 -2019 y(of)k(setting)g Fs(errno)e FB(directly)-8 b(.)150 -2146 y Ft(Gn)n(uTLS)36 b FB(curren)m(tly)h(only)f(in)m(terprets)h(the)f +2019 y(of)k(setting)g Ft(errno)e FB(directly)-8 b(.)150 +2146 y Fu(Gn)n(uTLS)36 b FB(curren)m(tly)h(only)f(in)m(terprets)h(the)f (EINTR)g(and)g(EA)m(GAIN)h(errno)f(v)-5 b(alues)37 b(and)f(returns)f -(the)150 2256 y(corresp)s(onding)j Ft(Gn)n(uTLS)h FB(error)f(co)s(des)h -Fs(GNUTLS_E_INTERRUPTED)33 b FB(and)38 b Fs(GNUTLS_E_AGAIN)p +(the)150 2256 y(corresp)s(onding)j Fu(Gn)n(uTLS)h FB(error)f(co)s(des)h +Ft(GNUTLS_E_INTERRUPTED)33 b FB(and)38 b Ft(GNUTLS_E_AGAIN)p FB(.)62 b(These)150 2365 y(v)-5 b(alues)34 b(are)g(usually)g(returned)f (b)m(y)g(in)m(terrupted)h(system)g(calls,)i(or)e(when)e(non)i(blo)s(c)m -(king)g(IO)g(is)f(used.)150 2475 y(All)28 b Ft(Gn)n(uTLS)f +(king)g(IO)g(is)f(used.)150 2475 y(All)28 b Fu(Gn)n(uTLS)f FB(functions)g(can)h(b)s(e)e(resumed)h(\(called)h(again\),)i(if)d(an)m (y)h(of)f(these)h(error)f(co)s(des)h(is)f(returned.)150 2584 y(The)34 b(error)g(co)s(des)g(ab)s(o)m(v)m(e)h(refer)f(to)h(the)g -(system)f(call,)j(not)e(the)f Ft(Gn)n(uTLS)g FB(function,)i(since)e -(signals)h(do)150 2694 y(not)c(in)m(terrupt)e Ft(Gn)n(uTLS)p +(system)f(call,)j(not)e(the)f Fu(Gn)n(uTLS)g FB(function,)i(since)e +(signals)h(do)150 2694 y(not)c(in)m(terrupt)e Fu(Gn)n(uTLS)p FB(')i(functions.)150 2821 y(F)-8 b(or)106 b(non)f(blo)s(c)m(king)i(so) s(c)m(k)m(ets)g(or)e(other)h(custom)g(made)g(pull/push)e(functions)h (the)150 2930 y([gn)m(utls)p 421 2930 V 41 w(transp)s(ort)p 835 2930 V 39 w(set)p 985 2930 V 41 w(lo)m(w)m(at],)100 -b(page)85 b(180)h(m)m(ust)e(b)s(e)g(called,)100 b(with)84 +b(page)85 b(175)h(m)m(ust)e(b)s(e)g(called,)100 b(with)84 b(a)h(zero)g(lo)m(w)g(w)m(ater)150 3040 y(mark)30 b(v)-5 b(alue.)150 3166 y(By)39 b(default,)i(if)e(the)f(transp)s(ort)g -(functions)g(are)h(not)g(set,)j Ft(Gn)n(uTLS)c FB(will)h(use)f(the)h +(functions)g(are)h(not)g(set,)j Fu(Gn)n(uTLS)c FB(will)h(use)f(the)h (Berk)m(eley)i(So)s(c)m(k)m(ets)150 3276 y(functions.)77 -b(In)42 b(this)h(case)h Ft(Gn)n(uTLS)e FB(will)i(use)e(some)h(hac)m(ks) -g(in)g(order)f(for)h Fs(select)e FB(to)i(w)m(ork,)j(th)m(us)150 -3386 y(making)31 b(it)g(easy)g(to)g(add)e Ft(TLS)i FB(supp)s(ort)d(to)j +b(In)42 b(this)h(case)h Fu(Gn)n(uTLS)e FB(will)i(use)e(some)h(hac)m(ks) +g(in)g(order)f(for)h Ft(select)e FB(to)i(w)m(ork,)j(th)m(us)150 +3386 y(making)31 b(it)g(easy)g(to)g(add)e Fu(TLS)i FB(supp)s(ort)d(to)j (existing)h(TCP/IP)e(serv)m(ers.)150 3602 y FA(3.3)68 b(The)45 b(TLS)e(Record)j(Proto)t(col)150 3762 y FB(The)41 b(Record)h(proto)s(col)g(is)g(the)g(secure)g(comm)m(unications)g(pro)m @@ -14738,19 +11011,19 @@ 3871 y(authen)m(ticate)33 b(and)c(|optionally|)j(compress)e(pac)m(k)m (ets.)43 b(The)30 b(follo)m(wing)i(functions)d(are)i(a)m(v)-5 b(ailable:)150 4015 y([gn)m(utls)p 421 4015 V 41 w(record)p -710 4015 V 40 w(send],)30 b(page)h(164:)630 4125 y(T)-8 +710 4015 V 40 w(send],)30 b(page)h(161:)630 4125 y(T)-8 b(o)31 b(send)e(a)i(record)f(pac)m(k)m(et)j(\(with)d(application)i (data\).)150 4268 y([gn)m(utls)p 421 4268 V 41 w(record)p -710 4268 V 40 w(recv],)f(page)g(163:)630 4378 y(T)-8 +710 4268 V 40 w(recv],)f(page)g(161:)630 4378 y(T)-8 b(o)31 b(receiv)m(e)h(a)f(record)f(pac)m(k)m(et)i(\(with)f(application) h(data\).)150 4522 y([gn)m(utls)p 421 4522 V 41 w(record)p -710 4522 V 40 w(get)p 870 4522 V 41 w(direction],)f(page)h(163:)630 +710 4522 V 40 w(get)p 870 4522 V 41 w(direction],)f(page)h(160:)630 4631 y(T)-8 b(o)31 b(get)g(the)g(direction)g(of)f(the)h(last)g(in)m (terrupted)f(function)g(call.)150 4775 y(As)c(y)m(ou)h(ma)m(y)g(ha)m(v) m(e)h(already)f(noticed,)h(the)f(functions)f(whic)m(h)g(access)i(the)f (Record)f(proto)s(col,)j(are)e(quite)150 4885 y(limited,)h(giv)m(en)g (the)f(imp)s(ortance)g(of)g(this)g(proto)s(col)g(in)g -Ft(TLS)p FB(.)g(This)e(is)i(b)s(ecause)g(the)g(Record)g(proto)s(col's) +Fu(TLS)p FB(.)g(This)e(is)i(b)s(ecause)g(the)g(Record)g(proto)s(col's) 150 4994 y(parameters)k(are)f(all)i(set)f(b)m(y)f(the)g(Handshak)m(e)h (proto)s(col.)150 5121 y(The)k(Record)i(proto)s(col)f(initially)i (starts)e(with)g(NULL)g(parameters,)h(whic)m(h)f(means)g(no)g @@ -14760,51 +11033,51 @@ eop end %%Page: 10 16 TeXDict begin 10 15 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(10)150 -299 y Fu(3.3.1)63 b(Encryption)40 b(Algorithms)i(Used)g(in)f(the)g +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(10)150 +299 y Fv(3.3.1)63 b(Encryption)40 b(Algorithms)i(Used)g(in)f(the)g (Record)g(La)m(y)m(er)150 446 y FB(Con\014den)m(tialit)m(y)d(in)e(the)g (record)h(la)m(y)m(er)h(is)e(ac)m(hiev)m(ed)i(b)m(y)e(using)g (symmetric)h(blo)s(c)m(k)g(encryption)f(algo-)150 555 -y(rithms)h(lik)m(e)i Fs(3DES)p FB(,)g Fs(AES)1020 522 +y(rithms)h(lik)m(e)i Ft(3DES)p FB(,)g Ft(AES)1020 522 y Fr(2)1056 555 y FB(,)h(or)e(stream)g(algorithms)g(lik)m(e)h -Fs(ARCFOUR_128)2705 522 y Fr(3)2740 555 y FB(.)62 b(Ciphers)37 +Ft(ARCFOUR_128)2705 522 y Fr(3)2740 555 y FB(.)62 b(Ciphers)37 b(are)h(encryption)150 665 y(algorithms)h(that)h(use)e(a)h(single,)j (secret,)g(k)m(ey)d(to)g(encrypt)g(and)f(decrypt)g(data.)66 b(Blo)s(c)m(k)40 b(algorithms)150 775 y(in)33 b(TLS)f(also)j(pro)m (vide)e(protection)i(against)f(statistical)i(analysis)e(of)g(the)f (data.)51 b(Th)m(us,)33 b(if)g(y)m(ou're)h(us-)150 884 -y(ing)40 b(the)g Ft(TLS)f FB(proto)s(col,)44 b(a)c(random)f(n)m(um)m(b) +y(ing)40 b(the)g Fu(TLS)f FB(proto)s(col,)44 b(a)c(random)f(n)m(um)m(b) s(er)f(of)i(blo)s(c)m(ks)g(will)g(b)s(e)f(app)s(ended)f(to)j(data,)i (to)d(prev)m(en)m(t)150 994 y(ea)m(v)m(esdropp)s(ers)30 b(from)g(guessing)h(the)f(actual)i(data)f(size.)150 1127 -y(Supp)s(orted)d(cipher)i(algorithms:)150 1284 y Fs(3DES_CBC)96 +y(Supp)s(orted)d(cipher)i(algorithms:)150 1284 y Ft(3DES_CBC)96 b(3DES_CBC)21 b FB(is)i(the)h(DES)f(blo)s(c)m(k)h(cipher)e(algorithm)j (used)d(with)h(triple)h(encryption)f(\(EDE\).)630 1394 y(Has)31 b(64)g(bits)f(blo)s(c)m(k)h(size)g(and)f(is)h(used)e(in)h(CBC) -g(mo)s(de.)150 1551 y Fs(ARCFOUR_128)630 1660 y FB(AR)m(CF)m(OUR)h(is)g -(a)f(fast)h(stream)g(cipher.)150 1817 y Fs(ARCFOUR_40)630 +g(mo)s(de.)150 1551 y Ft(ARCFOUR_128)630 1660 y FB(AR)m(CF)m(OUR)h(is)g +(a)f(fast)h(stream)g(cipher.)150 1817 y Ft(ARCFOUR_40)630 1927 y FB(This)c(is)i(the)f(AR)m(CF)m(OUR)h(cipher)f(that)h(is)g(fed)e (with)h(a)h(40)g(bit)g(k)m(ey)-8 b(,)30 b(whic)m(h)e(is)g(considered) -630 2036 y(w)m(eak.)150 2193 y Fs(AES_CBC)144 b FB(AES)38 +630 2036 y(w)m(eak.)150 2193 y Ft(AES_CBC)144 b FB(AES)38 b(or)g(RIJND)m(AEL)g(is)g(the)h(blo)s(c)m(k)f(cipher)g(algorithm)h (that)g(replaces)g(the)f(old)g(DES)630 2303 y(algorithm.)78 b(Has)43 b(128)g(bits)f(blo)s(c)m(k)h(size)h(and)d(is)i(used)e(in)h (CBC)g(mo)s(de.)77 b(This)41 b(is)i(not)630 2413 y(o\016cially)32 b(supp)s(orted)d(in)h(TLS.)150 2570 y(Supp)s(orted)e(MA)m(C)j -(algorithms:)150 2727 y Fs(MAC_MD5)144 b FB(MD5)33 b(is)f(a)g +(algorithms:)150 2727 y Ft(MAC_MD5)144 b FB(MD5)33 b(is)f(a)g (cryptographic)g(hash)g(algorithm)h(designed)e(b)m(y)h(Ron)g(Riv)m (est.)46 b(Outputs)31 b(128)630 2836 y(bits)f(of)h(data.)150 -2993 y Fs(MAC_SHA)144 b FB(SHA)31 b(is)h(a)g(cryptographic)g(hash)f +2993 y Ft(MAC_SHA)144 b FB(SHA)31 b(is)h(a)g(cryptographic)g(hash)f (algorithm)i(designed)f(b)m(y)f(NSA.)h(Outputs)e(160)j(bits)f(of)630 -3103 y(data.)150 3300 y Fu(3.3.2)63 b(Compression)43 +3103 y(data.)150 3300 y Fv(3.3.2)63 b(Compression)43 b(Algorithms)f(Used)g(in)f(the)g(Record)f(La)m(y)m(er)150 3447 y FB(The)31 b(TLS)g(record)g(la)m(y)m(er)i(also)g(supp)s(orts)d (compression.)44 b(The)31 b(algorithms)i(implemen)m(ted)f(in)f -Ft(Gn)n(uTLS)150 3556 y FB(can)22 b(b)s(e)f(found)f(in)h(the)g(table)i +Fu(Gn)n(uTLS)150 3556 y FB(can)22 b(b)s(e)f(found)f(in)h(the)g(table)i (b)s(elo)m(w.)38 b(All)22 b(the)f(algorithms)i(except)f(for)f(DEFLA)-8 b(TE)22 b(whic)m(h)f(is)h(referenced)150 3666 y(in)30 -b([RF)m(C3749])j(\(see)e([Bibliograph)m(y],)h(page)f(330\),)h(should)d -(b)s(e)g(considered)h(as)h Ft(Gn)n(uTLS)p FB(')f(extensions)3687 +b([RF)m(C3749])j(\(see)e([Bibliograph)m(y],)h(page)f(310\),)h(should)d +(b)s(e)g(considered)h(as)h Fu(Gn)n(uTLS)p FB(')f(extensions)3687 3633 y Fr(4)3725 3666 y FB(,)150 3775 y(and)f(should)g(b)s(e)h(adv)m (ertised)h(only)f(when)f(the)h(p)s(eer)f(is)h(kno)m(wn)g(to)h(ha)m(v)m (e)g(a)f(complian)m(t)i(clien)m(t,)g(to)e(a)m(v)m(oid)150 @@ -14819,38 +11092,38 @@ (net)m(w)m(ork)i(usage)g(has)f(to)h(b)s(e)e(minimized.)38 b(As)22 b(a)g(dra)m(wbac)m(k,)j(compression)150 4457 y(increases)31 b(latency)-8 b(.)150 4590 y(The)30 b(record)g(la)m(y)m -(er)i(compression)f(in)f Ft(Gn)n(uTLS)g FB(is)g(implemen)m(ted)h(based) +(er)i(compression)f(in)f Fu(Gn)n(uTLS)g FB(is)g(implemen)m(ted)h(based) f(on)h(the)f(prop)s(osal)g([RF)m(C3749])150 4700 y(\(see)h -([Bibliograph)m(y],)h(page)g(330\).)42 b(The)30 b(supp)s(orted)e -(compression)j(algorithms)g(are:)150 4857 y Fs(DEFLATE)144 +([Bibliograph)m(y],)h(page)g(310\).)42 b(The)30 b(supp)s(orted)e +(compression)j(algorithms)g(are:)150 4857 y Ft(DEFLATE)144 b FB(Zlib)30 b(compression,)g(using)g(the)h(de\015ate)g(algorithm.)p -150 4947 1200 4 v 74 5015 a Fr(2)150 5047 y Fp(AES,)c(or)g(Adv)l(anced) +150 4947 1200 4 v 74 5015 a Fr(2)150 5047 y Fq(AES,)c(or)g(Adv)l(anced) e(Encryption)i(Standard,)f(is)i(actually)f(the)g(RIJND)n(AEL)e (algorithm.)40 b(This)27 b(is)h(the)e(algorithm)i(that)150 -5134 y(replaced)e(DES.)74 5205 y Fr(3)150 5237 y Fq(ARCFOUR_128)f -Fp(is)f(a)f(compatible)g(algorithm)i(with)e(RSA's)f(R)n(C4)h +5134 y(replaced)e(DES.)74 5205 y Fr(3)150 5237 y Fp(ARCFOUR_128)f +Fq(is)f(a)f(compatible)g(algorithm)i(with)e(RSA's)f(R)n(C4)h (algorithm,)i(whic)n(h)e(is)g(considered)g(to)g(b)r(e)g(a)g(trade)g -(secret.)74 5308 y Fr(4)150 5340 y Fp(Y)-6 b(ou)25 b(should)g(use)h +(secret.)74 5308 y Fr(4)150 5340 y Fq(Y)-6 b(ou)25 b(should)g(use)h ([gn)n(utls)p 913 5340 24 4 v 34 w(handshak)n(e)p 1298 5340 V 33 w(set)p 1425 5340 V 35 w(priv)l(ate)p 1693 -5340 V 33 w(extensions],)h(page)f(148)h(to)f(enable)g(priv)l(ate)f +5340 V 33 w(extensions],)h(page)f(146)h(to)f(enable)g(priv)l(ate)f (extensions.)p eop end %%Page: 11 17 TeXDict begin 11 16 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(11)150 -299 y Fs(LZO)336 b FB(LZO)41 b(is)g(a)i(v)m(ery)f(fast)g(compression)f +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(11)150 +299 y Ft(LZO)336 b FB(LZO)41 b(is)g(a)i(v)m(ery)f(fast)g(compression)f (algorithm.)76 b(This)41 b(algorithm)i(is)f(only)g(a)m(v)-5 -b(ailable)630 408 y(if)33 b(the)h Ft(Gn)n(uTLS-extra)e +b(ailable)630 408 y(if)33 b(the)h Fu(Gn)n(uTLS-extra)e FB(library)g(has)h(b)s(een)g(initialized)i(and)e(the)g(priv)-5 b(ate)34 b(extensions)g(are)630 518 y(enabled,)d(and)e(if)i(Gn)m(uTLS)e (w)m(as)i(built)f(with)g(LZO)f(supp)s(ort.)150 718 y -Fu(3.3.3)63 b(W)-10 b(eaknesses)41 b(and)g(Coun)m(termeasures)150 +Fv(3.3.3)63 b(W)-10 b(eaknesses)41 b(and)g(Coun)m(termeasures)150 865 y FB(Some)32 b(w)m(eaknesses)h(that)f(ma)m(y)h(a\013ect)g(the)g (securit)m(y)f(of)g(the)h(Record)f(la)m(y)m(er)h(ha)m(v)m(e)h(b)s(een)d -(found)f(in)i Ft(TLS)150 974 y FB(1.0)h(proto)s(col.)48 +(found)f(in)i Fu(TLS)150 974 y FB(1.0)h(proto)s(col.)48 b(These)32 b(w)m(eaknesses)i(can)e(b)s(e)g(exploited)h(b)m(y)g(activ)m (e)h(attac)m(k)m(ers,)i(and)c(exploit)i(the)e(facts)150 -1084 y(that)199 1219 y(1.)61 b Ft(TLS)30 b FB(has)g(separate)i(alerts)f +1084 y(that)199 1219 y(1.)61 b Fu(TLS)30 b FB(has)g(separate)i(alerts)f (for)f(\\decryption)p 1900 1219 28 4 v 41 w(failed")h(and)f(\\bad)p 2600 1219 V 40 w(record)p 2888 1219 V 40 w(mac")199 1353 y(2.)61 b(The)30 b(decryption)g(failure)h(reason)f(can)h(b)s(e)f @@ -14858,12 +11131,12 @@ 1488 y(3.)61 b(The)30 b(IV)g(for)g(CBC)g(encrypted)g(pac)m(k)m(ets)j (is)d(the)g(last)i(blo)s(c)m(k)f(of)f(the)h(previous)f(encrypted)g(pac) m(k)m(et.)150 1648 y(Those)k(w)m(eaknesses)h(w)m(ere)g(solv)m(ed)g(in)f -Ft(TLS)g FB(1.1)i([RF)m(C4346])h(\(see)e([Bibliograph)m(y],)i(page)e -(330\))h(whic)m(h)150 1758 y(is)d(implemen)m(ted)h(in)f -Ft(Gn)n(uTLS)p FB(.)g(F)-8 b(or)34 b(a)f(detailed)h(discussion)f(see)h +Fu(TLS)g FB(1.1)i([RF)m(C4346])h(\(see)e([Bibliograph)m(y],)i(page)e +(310\))h(whic)m(h)150 1758 y(is)d(implemen)m(ted)h(in)f +Fu(Gn)n(uTLS)p FB(.)g(F)-8 b(or)34 b(a)f(detailed)h(discussion)f(see)h (the)f(arc)m(hiv)m(es)h(of)g(the)f(TLS)f(W)-8 b(orking)150 1867 y(Group)30 b(mailing)h(list)g(and)f(the)g(pap)s(er)g([CBCA)-8 -b(TT])30 b(\(see)h([Bibliograph)m(y],)i(page)e(330\).)150 +b(TT])30 b(\(see)h([Bibliograph)m(y],)i(page)e(310\).)150 2100 y FA(3.4)68 b(The)45 b(TLS)e(Alert)j(Proto)t(col)150 2260 y FB(The)38 b(Alert)h(proto)s(col)g(is)f(there)g(to)h(allo)m(w)h (signals)f(to)f(b)s(e)g(sen)m(t)h(b)s(et)m(w)m(een)g(p)s(eers.)63 @@ -14872,9 +11145,9 @@ (failure.)41 b(Some)29 b(of)h(these)f(signals)150 2479 y(are)f(used)f(in)m(ternally)i(b)m(y)e(the)h(proto)s(col)g(and)g(the)f (application)i(proto)s(col)g(do)s(es)e(not)h(ha)m(v)m(e)h(to)f(cop)s(e) -g(with)150 2589 y(them)42 b(\(see)h Fs(GNUTLS_A_CLOSE_NOTIFY)p +g(with)150 2589 y(them)42 b(\(see)h Ft(GNUTLS_A_CLOSE_NOTIFY)p FB(\),)c(and)i(others)h(refer)g(to)h(the)f(application)h(proto)s(col)g -(solely)150 2698 y(\(see)31 b Fs(GNUTLS_A_USER_CANCELLED)o +(solely)150 2698 y(\(see)31 b Ft(GNUTLS_A_USER_CANCELLED)o FB(\).)k(An)29 b(alert)i(signal)g(includes)e(a)h(lev)m(el)h(indication) g(whic)m(h)e(ma)m(y)i(b)s(e)150 2808 y(either)i(fatal)g(or)g(w)m (arning.)46 b(F)-8 b(atal)34 b(alerts)g(alw)m(a)m(ys)f(terminate)h(the) @@ -14887,15 +11160,15 @@ (information)f(not)g(to)h(leak)g(to)150 3271 y(a)e(p)s(ossible)f(attac) m(k)m(er,)j(via)e(public)f(log)h(\014les)g(etc.)150 3431 y([gn)m(utls)p 421 3431 V 41 w(alert)p 643 3431 V 41 -w(send],)f(page)h(116:)630 3541 y(T)-8 b(o)31 b(send)e(an)i(alert)g +w(send],)f(page)h(118:)630 3541 y(T)-8 b(o)31 b(send)e(an)i(alert)g (signal.)150 3701 y([gn)m(utls)p 421 3701 V 41 w(error)p -655 3701 V 39 w(to)p 774 3701 V 41 w(alert],)h(page)f(144:)630 +655 3701 V 39 w(to)p 774 3701 V 41 w(alert],)h(page)f(142:)630 3810 y(T)-8 b(o)31 b(map)f(a)h(gn)m(utls)f(error)g(n)m(um)m(b)s(er)f (to)i(an)g(alert)g(signal.)150 3970 y([gn)m(utls)p 421 -3970 V 41 w(alert)p 643 3970 V 41 w(get],)h(page)f(115:)630 +3970 V 41 w(alert)p 643 3970 V 41 w(get],)h(page)f(117:)630 4080 y(Returns)e(the)i(last)g(receiv)m(ed)h(alert.)150 4240 y([gn)m(utls)p 421 4240 V 41 w(alert)p 643 4240 -V 41 w(get)p 804 4240 V 41 w(name],)f(page)g(115:)630 +V 41 w(get)p 804 4240 V 41 w(name],)f(page)g(117:)630 4349 y(Returns)e(the)i(name,)g(in)f(a)h(c)m(haracter)g(arra)m(y)-8 b(,)32 b(of)f(the)f(giv)m(en)i(alert.)150 4582 y FA(3.5)68 b(The)45 b(TLS)e(Handshak)l(e)j(Proto)t(col)150 4742 @@ -14908,45 +11181,45 @@ b(Av)-5 b(ailable)42 b(functions)d(to)150 5070 y(con)m(trol)32 b(the)e(handshak)m(e)g(proto)s(col)i(include:)150 5230 y([gn)m(utls)p 421 5230 V 41 w(priorit)m(y)p 760 5230 -V 40 w(init],)f(page)g(156:)630 5340 y(T)-8 b(o)31 b(initialize)i(a)d +V 40 w(init],)f(page)g(154:)630 5340 y(T)-8 b(o)31 b(initialize)i(a)d (priorit)m(y)h(set)g(of)g(ciphers.)p eop end %%Page: 12 18 TeXDict begin 12 17 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(12)150 +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(12)150 299 y([gn)m(utls)p 421 299 28 4 v 41 w(priorit)m(y)p -760 299 V 40 w(deinit],)31 b(page)g(156:)630 408 y(T)-8 +760 299 V 40 w(deinit],)31 b(page)g(154:)630 408 y(T)-8 b(o)31 b(deinitialize)h(a)f(priorit)m(y)g(set)g(of)f(ciphers.)150 563 y([gn)m(utls)p 421 563 V 41 w(priorit)m(y)p 760 563 -V 40 w(set],)i(page)f(158:)630 672 y(T)-8 b(o)31 b(asso)s(ciate)h(a)f -(priorit)m(y)g(set)g(with)f(a)g Ft(TLS)h FB(session.)150 +V 40 w(set],)i(page)f(155:)630 672 y(T)-8 b(o)31 b(asso)s(ciate)h(a)f +(priorit)m(y)g(set)g(with)f(a)g Fu(TLS)h FB(session.)150 827 y([gn)m(utls)p 421 827 V 41 w(priorit)m(y)p 760 827 -V 40 w(set)p 911 827 V 41 w(direct],)g(page)g(158:)630 +V 40 w(set)p 911 827 V 41 w(direct],)g(page)g(155:)630 936 y(T)-8 b(o)31 b(directly)g(asso)s(ciate)h(a)f(session)f(with)h(a)f (giv)m(en)i(priorit)m(y)e(string.)150 1091 y([gn)m(utls)p -421 1091 V 41 w(creden)m(tials)p 883 1091 V 41 w(set],)i(page)f(134:) +421 1091 V 41 w(creden)m(tials)p 883 1091 V 41 w(set],)i(page)f(135:) 630 1200 y(T)-8 b(o)31 b(set)g(the)f(appropriate)h(creden)m(tials)h (structures.)150 1355 y([gn)m(utls)p 421 1355 V 41 w(certi\014cate)p 849 1355 V 42 w(serv)m(er)p 1124 1355 V 40 w(set)p 1275 -1355 V 41 w(request],)f(page)g(122:)630 1464 y(T)-8 b(o)31 +1355 V 41 w(request],)f(page)g(124:)630 1464 y(T)-8 b(o)31 b(set)g(whether)e(clien)m(t)j(certi\014cate)h(is)d(required)g(or)g (not.)150 1619 y([gn)m(utls)p 421 1619 V 41 w(handshak)m(e],)g(page)h -(148:)630 1728 y(T)-8 b(o)31 b(initiate)h(the)f(handshak)m(e.)150 -1923 y Fu(3.5.1)63 b(TLS)41 b(Cipher)g(Suites)150 2069 -y FB(The)34 b(Handshak)m(e)h(Proto)s(col)h(of)f Ft(TLS)g -FB(negotiates)i(cipher)e(suites)f(of)h(the)g(form)g Fs +(146:)630 1728 y(T)-8 b(o)31 b(initiate)h(the)f(handshak)m(e.)150 +1923 y Fv(3.5.1)63 b(TLS)41 b(Cipher)g(Suites)150 2069 +y FB(The)34 b(Handshak)m(e)h(Proto)s(col)h(of)f Fu(TLS)g +FB(negotiates)i(cipher)e(suites)f(of)h(the)g(form)g Ft (TLS_DHE_RSA_WITH_)150 2179 y(3DES_CBC_SHA)p FB(.)i(The)30 b(usual)g(cipher)g(suites)h(con)m(tain)g(these)g(parameters:)225 -2311 y Fy(\017)60 b FB(The)30 b(k)m(ey)h(exc)m(hange)h(algorithm.)42 -b Fs(DHE_RSA)28 b FB(in)i(the)h(example.)225 2443 y Fy(\017)60 +2311 y Fs(\017)60 b FB(The)30 b(k)m(ey)h(exc)m(hange)h(algorithm.)42 +b Ft(DHE_RSA)28 b FB(in)i(the)h(example.)225 2443 y Fs(\017)60 b FB(The)30 b(Symmetric)g(encryption)g(algorithm)i(and)e(mo)s(de)g -Fs(3DES_CBC)e FB(in)i(this)g(example.)225 2575 y Fy(\017)60 +Ft(3DES_CBC)e FB(in)i(this)g(example.)225 2575 y Fs(\017)60 b FB(The)30 b(MA)m(C)731 2542 y Fr(5)799 2575 y FB(algorithm)h(used)f -(for)g(authen)m(tication.)43 b Fs(MAC_SHA)28 b FB(is)j(used)e(in)i(the) +(for)g(authen)m(tication.)43 b Ft(MAC_SHA)28 b FB(is)j(used)e(in)i(the) f(ab)s(o)m(v)m(e)i(example.)150 2729 y(The)h(cipher)g(suite)h (negotiated)i(in)d(the)h(handshak)m(e)f(proto)s(col)h(will)g(a\013ect)i (the)d(Record)h(Proto)s(col,)i(b)m(y)150 2839 y(enabling)f(encryption)g (and)f(data)h(authen)m(tication.)56 b(Note)36 b(that)f(y)m(ou)g(should) -f(not)h(o)m(v)m(er)h(rely)e(on)h Ft(TLS)150 2949 y FB(to)28 +f(not)h(o)m(v)m(er)h(rely)e(on)h Fu(TLS)150 2949 y FB(to)28 b(negotiate)h(the)e(strongest)h(a)m(v)-5 b(ailable)29 b(cipher)d(suite.)40 b(Do)28 b(not)f(enable)g(ciphers)f(and)h (algorithms)g(that)150 3058 y(y)m(ou)k(consider)f(w)m(eak.)150 @@ -14957,59 +11230,59 @@ (ciphersuites)g(are)h(allo)m(w)m(ed,)k(but)150 3409 y(this)e(is)g(not)h (true.)38 b(F)-8 b(or)25 b(sev)m(eral)h(reasons,)g(not)e(discussed)f (here,)j(some)f(com)m(binations)g(w)m(ere)g(not)f(de\014ned)150 -3519 y(in)30 b(the)h Ft(TLS)f FB(proto)s(col.)42 b(The)29 +3519 y(in)30 b(the)h Fu(TLS)f FB(proto)s(col.)42 b(The)29 b(supp)s(orted)g(ciphersuites)h(are)h(sho)m(wn)f(in)g([ciphersuites],)h -(page)g(275.)150 3713 y Fu(3.5.2)63 b(Clien)m(t)40 b(Authen)m(tication) +(page)g(258.)150 3713 y Fv(3.5.2)63 b(Clien)m(t)40 b(Authen)m(tication) 150 3860 y FB(In)i(the)g(case)h(of)g(ciphersuites)f(that)h(use)f (certi\014cate)i(authen)m(tication,)j(the)c(authen)m(tication)h(of)f -(the)150 3970 y(clien)m(t)c(is)f(optional)h(in)e Ft(TLS)p +(the)150 3970 y(clien)m(t)c(is)f(optional)h(in)e Fu(TLS)p FB(.)h(A)g(serv)m(er)g(ma)m(y)h(request)e(a)i(certi\014cate)g(from)f (the)g(clien)m(t)h(|)e(using)h(the)150 4079 y([gn)m(utls)p 421 4079 V 41 w(certi\014cate)p 849 4079 V 42 w(serv)m(er)p 1124 4079 V 40 w(set)p 1275 4079 V 41 w(request],)32 -b(page)g(122)h(function.)44 b(If)31 b(a)h(certi\014cate)h(is)f(to)g(b)s +b(page)g(124)h(function.)44 b(If)31 b(a)h(certi\014cate)h(is)f(to)g(b)s (e)f(requested)150 4189 y(from)40 b(the)h(clien)m(t)i(during)c(the)i (handshak)m(e,)j(the)d(serv)m(er)g(will)g(send)f(a)h(certi\014cate)i (request)e(message)150 4298 y(that)35 b(con)m(tains)h(a)f(list)g(of)g -(acceptable)h(certi\014cate)h(signers.)53 b(In)34 b Ft(Gn)n(uTLS)g +(acceptable)h(certi\014cate)h(signers.)53 b(In)34 b Fu(Gn)n(uTLS)g FB(the)h(certi\014cate)i(signers)d(list)150 4408 y(is)d(constructed)h (using)f(the)g(trusted)g(Certi\014cate)i(Authorities)f(b)m(y)f(the)h (serv)m(er.)44 b(That)31 b(is)g(the)h(ones)f(set)150 -4518 y(using)225 4650 y Fy(\017)60 b FB([gn)m(utls)p +4518 y(using)225 4650 y Fs(\017)60 b FB([gn)m(utls)p 601 4650 V 41 w(certi\014cate)p 1029 4650 V 42 w(set)p 1182 4650 V 40 w(x509)p 1405 4650 V 42 w(trust)p 1640 -4650 V 39 w(\014le],)31 b(page)h(127)225 4782 y Fy(\017)60 +4650 V 39 w(\014le],)31 b(page)h(129)225 4782 y Fs(\017)60 b FB([gn)m(utls)p 601 4782 V 41 w(certi\014cate)p 1029 4782 V 42 w(set)p 1182 4782 V 40 w(x509)p 1405 4782 V -42 w(trust)p 1640 4782 V 39 w(mem],)31 b(page)g(128)150 +42 w(trust)p 1640 4782 V 39 w(mem],)31 b(page)g(129)150 4936 y(Sending)19 b(of)i(the)f(names)g(of)h(the)f(CAs)g(can)h(b)s(e)e (con)m(trolled)j(using)e([gn)m(utls)p 2602 4936 V 41 w(certi\014cate)p 3030 4936 V 42 w(send)p 3250 4936 V 39 w(x509)p 3472 4936 V 41 w(rdn)p 3651 4936 V 39 w(sequence],)150 -5046 y(page)31 b(122.)42 b(The)30 b(clien)m(t,)j(then,)d(ma)m(y)h(send) +5046 y(page)31 b(124.)42 b(The)30 b(clien)m(t,)j(then,)d(ma)m(y)h(send) f(a)h(certi\014cate,)h(signed)f(b)m(y)f(one)h(of)f(the)h(serv)m(er's)g (acceptable)150 5155 y(signers.)p 150 5241 1200 4 v 74 -5308 a Fr(5)150 5340 y Fp(MA)n(C)19 b(stands)h(for)g(Message)h(Authen)n +5308 a Fr(5)150 5340 y Fq(MA)n(C)19 b(stands)h(for)g(Message)h(Authen)n (tication)e(Co)r(de.)33 b(It)19 b(can)g(b)r(e)g(describ)r(ed)h(as)f(a)h (k)n(ey)n(ed)e(hash)h(algorithm.)34 b(See)19 b(RF)n(C2104.)p eop end %%Page: 13 19 TeXDict begin 13 18 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(13)150 -299 y Fu(3.5.3)63 b(Resuming)42 b(Sessions)150 446 y +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(13)150 +299 y Fv(3.5.3)63 b(Resuming)42 b(Sessions)150 446 y FB(The)30 b([gn)m(utls)p 608 446 28 4 v 41 w(handshak)m(e],)h(page)h -(148)g(function,)f(is)f(exp)s(ensiv)m(e)h(since)h(a)f(lot)h(of)f +(146)g(function,)f(is)f(exp)s(ensiv)m(e)h(since)h(a)f(lot)h(of)f (calculations)h(are)g(p)s(er-)150 555 y(formed.)65 b(In)39 b(order)f(to)h(supp)s(ort)e(man)m(y)i(fast)h(connections)f(to)h(the)f (same)g(serv)m(er)g(a)g(clien)m(t)i(ma)m(y)e(use)150 665 y(session)27 b(resuming.)39 b Fn(Session)27 b(resuming)g -FB(is)g(a)h(feature)f(of)h(the)f Ft(TLS)g FB(proto)s(col)h(whic)m(h)f +FB(is)g(a)h(feature)f(of)h(the)f Fu(TLS)g FB(proto)s(col)h(whic)m(h)f (allo)m(ws)i(a)e(clien)m(t)i(to)150 775 y(connect)j(to)f(a)g(serv)m (er,)g(after)h(a)f(successful)f(handshak)m(e,)h(without)f(the)h(exp)s (ensiv)m(e)g(calculations.)44 b(This)150 884 y(is)27 b(ac)m(hiev)m(ed)i(b)m(y)e(using)f(the)h(previously)g(established)g(k)m -(eys.)40 b Ft(Gn)n(uTLS)27 b FB(supp)s(orts)e(this)i(feature,)h(and)f -(the)150 994 y(example)k(\(see)g([ex:resume-clien)m(t],)j(page)d(55\))g +(eys.)40 b Fu(Gn)n(uTLS)27 b FB(supp)s(orts)e(this)i(feature,)h(and)f +(the)150 994 y(example)k(\(see)g([ex:resume-clien)m(t],)j(page)d(56\))g (illustrates)h(a)e(t)m(ypical)i(use)f(of)f(it.)150 1137 y(Keep)d(in)f(mind)g(that)i(sessions)e(are)i(expired)e(after)h(some)h (time,)g(for)f(securit)m(y)g(reasons,)h(th)m(us)f(it)g(ma)m(y)h(b)s(e) @@ -15017,7 +11290,7 @@ (session)g(ev)m(en)h(if)e(y)m(ou)i(requested)e(that.)43 b(Also)32 b(note)f(that)h(y)m(ou)150 1356 y(m)m(ust)e(enable,)h(using)f (the)h(priorit)m(y)g(functions,)f(at)h(least)g(the)g(algorithms)g(used) -f(in)g(the)g(last)i(session.)150 1563 y Fu(3.5.4)63 b(Resuming)42 +f(in)g(the)g(last)i(session.)150 1563 y Fv(3.5.4)63 b(Resuming)42 b(In)m(ternals)150 1710 y FB(The)32 b(resuming)g(capabilit)m(y)-8 b(,)35 b(mostly)e(in)f(the)h(serv)m(er)g(side,)g(is)f(one)h(of)g(the)f (problems)g(of)h(a)f(thread-safe)150 1820 y(TLS)38 b(implemen)m @@ -15027,273 +11300,260 @@ (case)i(of)e(a)h(clien)m(t,)i(to)e(lea)m(v)m(e)i(all)e(the)150 2039 y(burden)g(of)i(resuming)g(to)g(the)h(clien)m(t.)62 b(I.e.,)40 b(cop)m(y)d(and)g(k)m(eep)h(the)f(necessary)g(parameters.)61 -b(See)38 b(the)150 2148 y(functions:)225 2291 y Fy(\017)60 +b(See)38 b(the)150 2148 y(functions:)225 2291 y Fs(\017)60 b FB([gn)m(utls)p 601 2291 V 41 w(session)p 911 2291 -V 40 w(get)p 1071 2291 V 41 w(data],)32 b(page)f(170)225 -2430 y Fy(\017)60 b FB([gn)m(utls)p 601 2430 V 41 w(session)p -911 2430 V 40 w(get)p 1071 2430 V 41 w(id],)31 b(page)g(170)225 -2568 y Fy(\017)60 b FB([gn)m(utls)p 601 2568 V 41 w(session)p -911 2568 V 40 w(set)p 1062 2568 V 40 w(data],)32 b(page)f(171)150 +V 40 w(get)p 1071 2291 V 41 w(data],)32 b(page)f(166)225 +2430 y Fs(\017)60 b FB([gn)m(utls)p 601 2430 V 41 w(session)p +911 2430 V 40 w(get)p 1071 2430 V 41 w(id],)31 b(page)g(167)225 +2568 y Fs(\017)60 b FB([gn)m(utls)p 601 2568 V 41 w(session)p +911 2568 V 40 w(set)p 1062 2568 V 40 w(data],)32 b(page)f(168)150 2740 y(The)36 b(serv)m(er)h(side)f(is)h(di\013eren)m(t.)60 b(A)36 b(serv)m(er)h(has)g(to)g(sp)s(ecify)f(some)h(callbac)m(k)i (functions)d(whic)m(h)g(store,)150 2850 y(retriev)m(e)c(and)e(delete)h (session)g(data.)41 b(These)30 b(can)h(b)s(e)f(registered)h(with:)225 -2993 y Fy(\017)60 b FB([gn)m(utls)p 601 2993 V 41 w(db)p +2993 y Fs(\017)60 b FB([gn)m(utls)p 601 2993 V 41 w(db)p 744 2993 V 39 w(set)p 894 2993 V 40 w(remo)m(v)m(e)p -1213 2993 V 42 w(function],)30 b(page)i(139)225 3131 -y Fy(\017)60 b FB([gn)m(utls)p 601 3131 V 41 w(db)p 744 +1213 2993 V 42 w(function],)30 b(page)i(138)225 3131 +y Fs(\017)60 b FB([gn)m(utls)p 601 3131 V 41 w(db)p 744 3131 V 39 w(set)p 894 3131 V 40 w(store)p 1126 3131 V -41 w(function],)31 b(page)g(139)225 3270 y Fy(\017)60 +41 w(function],)31 b(page)g(138)225 3270 y Fs(\017)60 b FB([gn)m(utls)p 601 3270 V 41 w(db)p 744 3270 V 39 w(set)p 894 3270 V 40 w(retriev)m(e)p 1231 3270 V 42 -w(function],)30 b(page)h(139)225 3408 y Fy(\017)60 b +w(function],)30 b(page)h(138)225 3408 y Fs(\017)60 b FB([gn)m(utls)p 601 3408 V 41 w(db)p 744 3408 V 39 w(set)p -894 3408 V 40 w(ptr],)31 b(page)g(139)150 3580 y(It)26 +894 3408 V 40 w(ptr],)31 b(page)g(137)150 3580 y(It)26 b(migh)m(t)h(also)h(b)s(e)d(useful)h(to)h(b)s(e)e(able)i(to)g(c)m(hec)m (k)h(for)e(expired)g(sessions)g(in)g(order)g(to)h(remo)m(v)m(e)g(them,) h(and)150 3690 y(sa)m(v)m(e)k(space.)41 b(The)30 b(function)g([gn)m (utls)p 1437 3690 V 41 w(db)p 1580 3690 V 39 w(c)m(hec)m(k)p -1832 3690 V 41 w(en)m(try],)i(page)f(138)g(is)g(pro)m(vided)f(for)g +1832 3690 V 41 w(en)m(try],)i(page)f(137)g(is)g(pro)m(vided)f(for)g (that)h(reason.)150 3935 y FA(3.6)68 b(TLS)44 b(Extensions)150 4094 y FB(A)30 b(n)m(um)m(b)s(er)f(of)i(extensions)f(to)h(the)f -Ft(TLS)h FB(proto)s(col)g(ha)m(v)m(e)g(b)s(een)f(prop)s(osed)e(mainly)j -(in)f([TLSEXT])f(\(see)150 4204 y([Bibliograph)m(y],)j(page)f(330\).)43 -b(The)30 b(extensions)g(supp)s(orted)f(in)h Ft(Gn)n(uTLS)g -FB(are:)225 4346 y Fy(\017)60 b FB(Maxim)m(um)31 b(fragmen)m(t)g -(length)g(negotiation)225 4485 y Fy(\017)60 b FB(Serv)m(er)30 +Fu(TLS)h FB(proto)s(col)g(ha)m(v)m(e)g(b)s(een)f(prop)s(osed)e(mainly)j +(in)f([TLSEXT])f(\(see)150 4204 y([Bibliograph)m(y],)j(page)f(310\).)43 +b(The)30 b(extensions)g(supp)s(orted)f(in)h Fu(Gn)n(uTLS)g +FB(are:)225 4346 y Fs(\017)60 b FB(Maxim)m(um)31 b(fragmen)m(t)g +(length)g(negotiation)225 4485 y Fs(\017)60 b FB(Serv)m(er)30 b(name)h(indication)150 4657 y(and)f(they)g(will)h(b)s(e)f(discussed)f (in)h(the)h(subsections)f(that)h(follo)m(w.)150 4864 -y Fu(3.6.1)63 b(Maxim)m(um)41 b(F)-10 b(ragmen)m(t)41 +y Fv(3.6.1)63 b(Maxim)m(um)41 b(F)-10 b(ragmen)m(t)41 b(Length)g(Negotiation)150 5011 y FB(This)30 b(extension)h(allo)m(ws)h -(a)f Ft(TLS)g FB(implemen)m(tation)h(to)g(negotiate)h(a)e(smaller)h(v) +(a)f Fu(TLS)g FB(implemen)m(tation)h(to)g(negotiate)h(a)e(smaller)h(v) -5 b(alue)31 b(for)f(record)h(pac)m(k)m(et)150 5121 y(maxim)m(um)25 b(length.)40 b(This)24 b(extension)i(ma)m(y)g(b)s(e)e(useful)h(to)h (clien)m(ts)g(with)f(constrained)h(capabilities.)41 b(See)150 5230 y(the)33 b([gn)m(utls)p 580 5230 V 40 w(record)p 868 5230 V 40 w(set)p 1019 5230 V 41 w(max)p 1229 5230 -V 40 w(size],)i(page)e(164)h(and)e(the)h([gn)m(utls)p +V 40 w(size],)i(page)e(162)h(and)e(the)h([gn)m(utls)p 2481 5230 V 40 w(record)p 2769 5230 V 40 w(get)p 2929 -5230 V 42 w(max)p 3140 5230 V 40 w(size],)h(page)g(163)150 +5230 V 42 w(max)p 3140 5230 V 40 w(size],)h(page)g(160)150 5340 y(functions.)p eop end %%Page: 14 20 TeXDict begin 14 19 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(14)150 -299 y Fu(3.6.2)63 b(Serv)m(er)40 b(Name)h(Indication)150 -446 y FB(A)30 b(common)h(problem)e(in)h Ft(HTTPS)g FB(serv)m(ers)h(is)f -(the)g(fact)h(that)g(the)g Ft(TLS)f FB(proto)s(col)h(is)f(not)h(a)m(w)m +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(14)150 +299 y Fv(3.6.2)63 b(Serv)m(er)40 b(Name)h(Indication)150 +446 y FB(A)30 b(common)h(problem)e(in)h Fu(HTTPS)g FB(serv)m(ers)h(is)f +(the)g(fact)h(that)g(the)g Fu(TLS)f FB(proto)s(col)h(is)f(not)h(a)m(w)m (are)g(of)g(the)150 555 y(hostname)e(that)g(a)g(clien)m(t)h(connects)f (to,)h(when)d(the)i(handshak)m(e)f(pro)s(cedure)f(b)s(egins.)39 -b(F)-8 b(or)30 b(that)f(reason)150 665 y(the)i Ft(TLS)f +b(F)-8 b(or)30 b(that)f(reason)150 665 y(the)i Fu(TLS)f FB(serv)m(er)g(has)h(no)f(w)m(a)m(y)h(to)g(kno)m(w)g(whic)m(h)f -(certi\014cate)i(to)f(send.)150 812 y(This)38 b(extension)h(solv)m(es)g -(that)h(problem)d(within)h(the)h Ft(TLS)f FB(proto)s(col,)k(and)c(allo) -m(ws)i(a)e(clien)m(t)j(to)e(send)150 922 y(the)33 b(HTTP)g(hostname)g +(certi\014cate)i(to)f(send.)150 796 y(This)38 b(extension)h(solv)m(es)g +(that)h(problem)d(within)h(the)h Fu(TLS)f FB(proto)s(col,)k(and)c(allo) +m(ws)i(a)e(clien)m(t)j(to)e(send)150 906 y(the)33 b(HTTP)g(hostname)g (b)s(efore)g(the)g(handshak)m(e)f(b)s(egins)h(within)f(the)i(\014rst)e -(handshak)m(e)h(pac)m(k)m(et.)50 b(The)150 1031 y(functions)25 -b([gn)m(utls)p 808 1031 28 4 v 41 w(serv)m(er)p 1082 -1031 V 40 w(name)p 1334 1031 V 40 w(set],)i(page)g(168)f(and)f([gn)m -(utls)p 2368 1031 V 41 w(serv)m(er)p 2642 1031 V 40 w(name)p -2894 1031 V 40 w(get],)j(page)e(168)h(can)f(b)s(e)150 -1141 y(used)k(to)h(enable)g(this)f(extension,)h(or)f(to)i(retriev)m(e)f -(the)g(name)f(sen)m(t)h(b)m(y)f(a)h(clien)m(t.)150 1392 +(handshak)m(e)h(pac)m(k)m(et.)50 b(The)150 1015 y(functions)25 +b([gn)m(utls)p 808 1015 28 4 v 41 w(serv)m(er)p 1082 +1015 V 40 w(name)p 1334 1015 V 40 w(set],)i(page)g(165)f(and)f([gn)m +(utls)p 2368 1015 V 41 w(serv)m(er)p 2642 1015 V 40 w(name)p +2894 1015 V 40 w(get],)j(page)e(165)h(can)f(b)s(e)150 +1125 y(used)k(to)h(enable)g(this)f(extension,)h(or)f(to)i(retriev)m(e)f +(the)g(name)f(sen)m(t)h(b)m(y)f(a)h(clien)m(t.)150 1350 y FA(3.7)68 b(Selecting)46 b(Cryptographic)f(Key)h(Sizes)150 -1552 y FB(In)37 b(TLS,)g(since)i(a)f(lot)h(of)f(algorithms)h(are)g(in)m +1510 y FB(In)37 b(TLS,)g(since)i(a)f(lot)h(of)f(algorithms)h(are)g(in)m (v)m(olv)m(ed,)j(it)c(is)g(not)g(easy)h(to)g(set)f(a)h(consisten)m(t)g -(securit)m(y)150 1661 y(lev)m(el.)63 b(F)-8 b(or)37 b(this)g(reason)h +(securit)m(y)150 1619 y(lev)m(el.)63 b(F)-8 b(or)37 b(this)g(reason)h (this)f(section)h(will)f(presen)m(t)g(some)h(corresp)s(ondance)e(b)s -(et)m(w)m(een)i(k)m(ey)g(sizes)g(of)150 1771 y(symmetric)33 +(et)m(w)m(een)i(k)m(ey)g(sizes)g(of)150 1729 y(symmetric)33 b(algorithms)g(and)g(public)f(k)m(ey)h(algorithms)g(based)g(on)f(the)h (most)g(conserv)-5 b(ativ)m(e)35 b(v)-5 b(alues)33 b(of)150 -1881 y([SELKEY])f(\(see)h([Bibliograph)m(y],)i(page)e(330\).)49 +1838 y([SELKEY])f(\(see)h([Bibliograph)m(y],)i(page)e(310\).)49 b(Those)32 b(can)g(b)s(e)g(used)g(to)h(generate)h(certi\014cates)g -(with)150 1990 y(appropriate)c(k)m(ey)i(sizes)f(as)f(w)m(ell)i(as)e -(parameters)h(for)f(Di\016e-Hellman)i(and)e(SRP)g(authen)m(tication.) -150 2247 y(Y)-8 b(ear)459 b(Symmetric)59 b(k)m(ey)790 -2356 y(size)1510 2247 y(RSA)66 b(k)m(ey)i(size,)1510 -2356 y(DH)79 b(and)f(SRP)1510 2466 y(prime)29 b(size)2230 -2247 y(ECC)g(k)m(ey)i(size)150 2585 y(1982)460 b(56)630 -b(417)585 b(105)150 2802 y(1988)460 b(61)630 b(566)585 -b(114)150 3020 y(2002)460 b(72)630 b(1028)540 b(139)150 -3238 y(2015)460 b(82)630 b(1613)540 b(173)150 3455 y(2028)460 -b(92)630 b(2362)540 b(210)150 3673 y(2040)460 b(101)585 -b(3214)540 b(244)150 3891 y(2050)460 b(109)585 b(4047)540 -b(272)150 4131 y(The)33 b(\014rst)f(column)h(pro)m(vides)g(an)g +(with)150 1948 y(appropriate)c(k)m(ey)i(sizes)f(as)f(w)m(ell)i(as)e +(parameters)h(for)f(Di\016e)h(Hellman)g(and)f(SRP)g(authen)m(tication.) +150 2189 y(Y)-8 b(ear)459 b(Symmetric)59 b(k)m(ey)790 +2298 y(size)1510 2189 y(RSA)66 b(k)m(ey)i(size,)1510 +2298 y(DH)79 b(and)f(SRP)1510 2408 y(prime)29 b(size)2230 +2189 y(ECC)g(k)m(ey)i(size)150 2526 y(1982)460 b(56)630 +b(417)585 b(105)150 2744 y(1988)460 b(61)630 b(566)585 +b(114)150 2962 y(2002)460 b(72)630 b(1028)540 b(139)150 +3179 y(2015)460 b(82)630 b(1613)540 b(173)150 3397 y(2028)460 +b(92)630 b(2362)540 b(210)150 3615 y(2040)460 b(101)585 +b(3214)540 b(244)150 3832 y(2050)460 b(109)585 b(4047)540 +b(272)150 4057 y(The)33 b(\014rst)f(column)h(pro)m(vides)g(an)g (estimation)h(of)f(the)h(y)m(ear)g(un)m(til)f(these)g(parameters)h(are) -f(considered)150 4241 y(safe)e(and)f(the)g(rest)h(of)f(the)h(columns)f +f(considered)150 4167 y(safe)e(and)f(the)g(rest)h(of)f(the)h(columns)f (list)h(the)f(parameters)h(for)f(the)h(v)-5 b(arious)30 -b(algorithms.)150 4388 y(Note)f(ho)m(w)m(ev)m(er)g(that)f(the)g(v)-5 +b(algorithms.)150 4298 y(Note)f(ho)m(w)m(ev)m(er)g(that)f(the)g(v)-5 b(alues)27 b(suggested)i(here)e(are)h(nothing)f(more)h(than)f(an)h -(educated)g(guess)f(that)150 4498 y(is)42 b(v)-5 b(alid)43 +(educated)g(guess)f(that)150 4407 y(is)42 b(v)-5 b(alid)43 b(to)s(da)m(y)-8 b(.)77 b(There)42 b(are)h(no)f(guarran)m(tees)h(that)g (an)f(algorithm)h(will)g(remain)f(un)m(break)-5 b(able)42 -b(or)150 4607 y(that)26 b(these)g(v)-5 b(alues)26 b(will)h(remain)e +b(or)150 4517 y(that)26 b(these)g(v)-5 b(alues)26 b(will)h(remain)e (constan)m(t)i(in)f(time.)39 b(There)26 b(could)f(b)s(e)g(scien)m -(ti\014c)j(breakthroughs)c(that)150 4717 y(cannot)e(b)s(e)f(predicted)g +(ti\014c)j(breakthroughs)c(that)150 4626 y(cannot)e(b)s(e)f(predicted)g (or)g(total)j(failure)d(of)h(the)f(curren)m(t)g(public)g(k)m(ey)h -(systems)g(b)m(y)f(quan)m(tum)g(computers.)150 4827 y(On)36 +(systems)g(b)m(y)f(quan)m(tum)g(computers.)150 4736 y(On)36 b(the)i(other)g(hand)e(though)h(the)g(cryptosystems)h(used)e(in)h(TLS)g (are)g(selected)i(in)e(a)h(conserv)-5 b(ativ)m(e)150 -4936 y(w)m(a)m(y)31 b(and)f(suc)m(h)g(catastrophic)i(breakthroughs)e +4846 y(w)m(a)m(y)31 b(and)f(suc)m(h)g(catastrophic)i(breakthroughs)e (or)g(failures)g(are)h(b)s(eliev)m(ed)g(to)g(b)s(e)f(unlik)m(ely)-8 -b(.)150 5083 y(NIST)20 b(publication)h(SP)f(800-57)k([NISTSP80057])e -(\(see)g([Bibliograph)m(y],)i(page)e(330\))g(con)m(tains)g(a)g(similar) -150 5193 y(table)31 b(that)g(extends)g(b)s(ey)m(ond)e(the)i(k)m(ey)g -(sizes)g(giv)m(en)g(ab)s(o)m(v)m(e.)p eop end +b(.)150 5071 y FA(3.8)68 b(On)45 b(SSL)f(2)h(and)f(Older)i(Proto)t +(cols)150 5230 y FB(One)22 b(of)g(the)h(initial)g(decisions)g(in)f(the) +g Fu(Gn)n(uTLS)g FB(dev)m(elopmen)m(t)i(w)m(as)e(to)h(implemen)m(t)g +(the)f(kno)m(wn)g(securit)m(y)150 5340 y(proto)s(cols)31 +b(for)f(the)h(transp)s(ort)f(la)m(y)m(er.)42 b(Initially)32 +b Fu(TLS)e FB(1.0)h(w)m(as)g(implemen)m(ted)g(since)g(it)g(w)m(as)g +(the)f(latest)p eop end %%Page: 15 21 -TeXDict begin 15 20 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(15)150 -299 y(Bits)307 b(of)150 408 y(securit)m(y)790 299 y(Symmetric)59 -b(k)m(ey)790 408 y(algorithms)1510 299 y(RSA)66 b(k)m(ey)i(size,)1510 -408 y(DSA,)61 b(DH)h(and)1510 518 y(SRP)29 b(prime)h(size)2230 -299 y(ECC)f(k)m(ey)i(size)150 637 y(80)550 b(2TDEA)410 -b(1024)540 b(160-223)150 854 y(112)505 b(3DES)493 b(2048)540 -b(224-255)150 1072 y(128)505 b(AES-128)374 b(3072)540 -b(256-383)150 1290 y(192)505 b(AES-192)374 b(7680)540 -b(384-511)150 1507 y(256)505 b(AES-256)374 b(15360)495 -b(512)p Fs(+)150 1749 y FB(The)30 b(recommendations)h(are)g(fairly)f -(consisten)m(t.)150 2003 y FA(3.8)68 b(On)45 b(SSL)f(2)h(and)f(Older)i -(Proto)t(cols)150 2162 y FB(One)22 b(of)g(the)h(initial)g(decisions)g -(in)f(the)g Ft(Gn)n(uTLS)g FB(dev)m(elopmen)m(t)i(w)m(as)e(to)h -(implemen)m(t)g(the)f(kno)m(wn)g(securit)m(y)150 2272 -y(proto)s(cols)31 b(for)f(the)h(transp)s(ort)f(la)m(y)m(er.)42 -b(Initially)32 b Ft(TLS)e FB(1.0)h(w)m(as)g(implemen)m(ted)g(since)g -(it)g(w)m(as)g(the)f(latest)150 2382 y(at)f(that)g(time,)h(and)e(w)m -(as)h(considered)f(to)i(b)s(e)d(the)i(most)g(adv)-5 b(anced)29 -b(in)f(securit)m(y)h(prop)s(erties.)40 b(Later)29 b(the)150 -2491 y Ft(SSL)37 b FB(3.0)h(proto)s(col)g(w)m(as)g(implemen)m(ted)f -(since)h(it)f(is)g(still)h(the)f(only)g(proto)s(col)h(supp)s(orted)e(b) -m(y)h(sev)m(eral)150 2601 y(serv)m(ers)30 b(and)g(there)h(are)g(no)f -(serious)g(securit)m(y)h(vulnerabilities)g(kno)m(wn.)150 -2749 y(One)g(question)g(that)h(ma)m(y)g(arise)g(is)f(wh)m(y)g(w)m(e)h -(didn't)e(implemen)m(t)i Ft(SSL)g FB(2.0)g(in)f(the)g(library)-8 -b(.)44 b(There)31 b(are)150 2859 y(sev)m(eral)g(reasons,)f(most)g(imp)s +TeXDict begin 15 20 bop 150 -116 a FB(Chapter)30 b(3:)h(In)m(tro)s +(duction)f(to)h Fu(TLS)2257 b FB(15)150 299 y(at)29 b(that)g(time,)h +(and)e(w)m(as)h(considered)f(to)i(b)s(e)d(the)i(most)g(adv)-5 +b(anced)29 b(in)f(securit)m(y)h(prop)s(erties.)40 b(Later)29 +b(the)150 408 y Fu(SSL)37 b FB(3.0)h(proto)s(col)g(w)m(as)g(implemen)m +(ted)f(since)h(it)f(is)g(still)h(the)f(only)g(proto)s(col)h(supp)s +(orted)e(b)m(y)h(sev)m(eral)150 518 y(serv)m(ers)30 b(and)g(there)h +(are)g(no)f(serious)g(securit)m(y)h(vulnerabilities)g(kno)m(wn.)150 +659 y(One)g(question)g(that)h(ma)m(y)g(arise)g(is)f(wh)m(y)g(w)m(e)h +(didn't)e(implemen)m(t)i Fu(SSL)g FB(2.0)g(in)f(the)g(library)-8 +b(.)44 b(There)31 b(are)150 769 y(sev)m(eral)g(reasons,)f(most)g(imp)s (ortan)m(t)g(b)s(eing)f(that)h(it)g(has)g(serious)f(securit)m(y)i -(\015a)m(ws,)e(unacceptable)i(for)f(a)150 2968 y(mo)s(dern)c(securit)m +(\015a)m(ws,)e(unacceptable)i(for)f(a)150 878 y(mo)s(dern)c(securit)m (y)i(library)-8 b(.)40 b(Other)26 b(than)h(that,)i(this)e(proto)s(col)h (is)g(barely)f(used)f(b)m(y)i(an)m(y)m(one)g(these)g(da)m(ys)150 -3078 y(since)j(it)g(has)f(b)s(een)f(deprecated)i(since)g(1996.)42 -b(The)30 b(securit)m(y)h(problems)f(in)g Ft(SSL)h FB(2.0)g(include:)225 -3226 y Fy(\017)60 b FB(Message)47 b(in)m(tegrit)m(y)g(compromised.)85 -b(The)45 b Ft(SSLv2)f FB(message)i(authen)m(tication)i(uses)c(the)i -(MD5)330 3336 y(function,)30 b(and)g(is)g(insecure.)225 -3477 y Fy(\017)60 b FB(Man-in-the-middle)38 b(attac)m(k.)65 +988 y(since)j(it)g(has)f(b)s(een)f(deprecated)i(since)g(1996.)42 +b(The)30 b(securit)m(y)h(problems)f(in)g Fu(SSL)h FB(2.0)g(include:)225 +1129 y Fs(\017)60 b FB(Message)47 b(in)m(tegrit)m(y)g(compromised.)85 +b(The)45 b Fu(SSLv2)f FB(message)i(authen)m(tication)i(uses)c(the)i +(MD5)330 1239 y(function,)30 b(and)g(is)g(insecure.)225 +1377 y Fs(\017)60 b FB(Man-in-the-middle)38 b(attac)m(k.)65 b(There)37 b(is)h(no)f(protection)i(of)f(the)g(handshak)m(e)f(in)g -Ft(SSLv2)p FB(,)i(whic)m(h)330 3587 y(p)s(ermits)30 b(a)g -(man-in-the-middle)h(attac)m(k.)225 3729 y Fy(\017)60 -b FB(T)-8 b(runcation)33 b(attac)m(k.)50 b Ft(SSLv2)33 +Fu(SSLv2)p FB(,)i(whic)m(h)330 1486 y(p)s(ermits)30 b(a)g +(man-in-the-middle)h(attac)m(k.)225 1624 y Fs(\017)60 +b FB(T)-8 b(runcation)33 b(attac)m(k.)50 b Fu(SSLv2)33 b FB(relies)g(on)g(TCP)f(FIN)h(to)h(close)g(the)f(session,)h(so)f(the)g -(attac)m(k)m(er)j(can)330 3838 y(forge)31 b(a)g(TCP)e(FIN,)i(and)f(the) +(attac)m(k)m(er)j(can)330 1733 y(forge)31 b(a)g(TCP)e(FIN,)i(and)f(the) g(p)s(eer)g(cannot)h(tell)h(if)e(it)h(w)m(as)g(a)g(legitimate)i(end)c -(of)i(data)g(or)f(not.)225 3980 y Fy(\017)60 b FB(W)-8 +(of)i(data)g(or)f(not.)225 1871 y Fs(\017)60 b FB(W)-8 b(eak)34 b(message)f(in)m(tegrit)m(y)h(for)d(exp)s(ort)h(ciphers.)45 -b(The)31 b(cryptographic)i(k)m(eys)f(in)g Ft(SSLv2)f -FB(are)i(used)330 4089 y(for)40 b(b)s(oth)g(message)i(authen)m +b(The)31 b(cryptographic)i(k)m(eys)f(in)g Fu(SSLv2)f +FB(are)i(used)330 1981 y(for)40 b(b)s(oth)g(message)i(authen)m (tication)h(and)d(encryption,)k(so)c(if)h(w)m(eak)h(encryption)e(sc)m -(hemes)i(are)330 4199 y(negotiated)36 b(\(sa)m(y)f(40-bit)h(k)m(eys\))f +(hemes)i(are)330 2090 y(negotiated)36 b(\(sa)m(y)f(40-bit)h(k)m(eys\))f (the)f(message)i(authen)m(tication)g(co)s(de)f(use)e(the)i(same)f(w)m -(eak)h(k)m(ey)-8 b(,)330 4308 y(whic)m(h)30 b(isn't)h(necessary)-8 -b(.)150 4489 y(Other)30 b(proto)s(cols)h(suc)m(h)f(as)h(Microsoft's)h -Ft(PCT)e FB(1)g(and)g Ft(PCT)g FB(2)h(w)m(ere)g(not)f(implemen)m(ted)h -(b)s(ecause)g(they)150 4598 y(w)m(ere)g(also)g(abandoned)f(and)g -(deprecated)g(b)m(y)h Ft(SSL)f FB(3.0)i(and)d(later)j -Ft(TLS)e FB(1.0.)150 4852 y FA(3.9)68 b(On)45 b(Record)g(P)l(adding)150 -5011 y FB(The)23 b(TLS)f(proto)s(col)i(allo)m(ws)g(for)f(random)g +(eak)h(k)m(ey)-8 b(,)330 2200 y(whic)m(h)30 b(isn't)h(necessary)-8 +b(.)150 2369 y(Other)30 b(proto)s(cols)h(suc)m(h)f(as)h(Microsoft's)h +Fu(PCT)e FB(1)g(and)g Fu(PCT)g FB(2)h(w)m(ere)g(not)f(implemen)m(ted)h +(b)s(ecause)g(they)150 2479 y(w)m(ere)g(also)g(abandoned)f(and)g +(deprecated)g(b)m(y)h Fu(SSL)f FB(3.0)i(and)d(later)j +Fu(TLS)e FB(1.0.)150 2721 y FA(3.9)68 b(On)45 b(Record)g(P)l(adding)150 +2881 y FB(The)23 b(TLS)f(proto)s(col)i(allo)m(ws)g(for)f(random)g (padding)f(of)h(records,)i(to)f(mak)m(e)g(it)g(more)f(di\016cult)g(to)h -(p)s(erform)150 5121 y(analysis)40 b(on)e(the)i(length)f(of)g(exc)m +(p)s(erform)150 2990 y(analysis)40 b(on)e(the)i(length)f(of)g(exc)m (hanged)h(messages.)68 b(\(In)39 b(RF)m(C)g(4346)i(this)e(is)g(sp)s -(eci\014ed)f(in)h(section)150 5230 y(6.2.3.2.\))72 b(Gn)m(uTLS)38 +(eci\014ed)f(in)h(section)150 3100 y(6.2.3.2.\))72 b(Gn)m(uTLS)38 b(app)s(ears)h(to)h(b)s(e)f(one)h(of)g(few)g(implemen)m(tation)h(that)f -(tak)m(e)i(adv)-5 b(an)m(tage)41 b(of)f(this)150 5340 -y(text,)32 b(and)d(pad)h(records)g(b)m(y)h(a)f(random)g(length.)p -eop end -%%Page: 16 22 -TeXDict begin 16 21 bop 150 -116 a FB(Chapter)30 b(3:)41 -b(In)m(tro)s(duction)30 b(to)h Ft(TLS)2247 b FB(16)150 -299 y(The)31 b(TLS)g(implemen)m(tation)j(in)d(the)h(Sym)m(bian)g(op)s +(tak)m(e)i(adv)-5 b(an)m(tage)41 b(of)f(this)150 3210 +y(text,)32 b(and)d(pad)h(records)g(b)m(y)h(a)f(random)g(length.)150 +3351 y(The)h(TLS)g(implemen)m(tation)j(in)d(the)h(Sym)m(bian)g(op)s (erating)g(system,)h(frequen)m(tly)f(used)f(b)m(y)g(Nokia)j(and)150 -408 y(Son)m(y-Ericsson)f(mobile)h(phones,)f(cannot)g(handle)g +3460 y(Son)m(y-Ericsson)f(mobile)h(phones,)f(cannot)g(handle)g (non-minimal)g(record)g(padding.)48 b(What)34 b(happ)s(ens)150 -518 y(when)j(one)h(of)g(these)g(clien)m(ts)h(handshak)m(e)e(with)h(a)g +3570 y(when)j(one)h(of)g(these)g(clien)m(ts)h(handshak)m(e)e(with)h(a)g (Gn)m(uTLS)e(serv)m(er)i(is)g(that)g(the)g(clien)m(t)i(will)e(fail)g -(to)150 628 y(compute)31 b(the)h(correct)g(MA)m(C)g(for)f(the)g +(to)150 3680 y(compute)31 b(the)h(correct)g(MA)m(C)g(for)f(the)g (record.)43 b(The)31 b(clien)m(t)h(sends)e(a)i(TLS)e(alert)i(\()p -Fs(bad_record_mac)p FB(\))150 737 y(and)d(disconnects.)41 +Ft(bad_record_mac)p FB(\))150 3789 y(and)d(disconnects.)41 b(T)m(ypically)31 b(this)f(will)g(result)g(in)f(error)g(messages)i(suc) -m(h)f(as)g('A)g(TLS)e(fatal)j(alert)g(has)150 847 y(b)s(een)f(receiv)m +m(h)f(as)g('A)g(TLS)e(fatal)j(alert)g(has)150 3899 y(b)s(een)f(receiv)m (ed',)i('Bad)f(record)f(MA)m(C',)i(or)e(b)s(oth,)g(on)g(the)h(Gn)m -(uTLS)e(serv)m(er)h(side.)150 981 y(Gn)m(uTLS)45 b(implemen)m(ts)j(a)f +(uTLS)e(serv)m(er)h(side.)150 4040 y(Gn)m(uTLS)45 b(implemen)m(ts)j(a)f (w)m(ork)g(around)e(for)i(this)f(problem.)90 b(Ho)m(w)m(ev)m(er,)53 -b(it)47 b(has)f(to)i(b)s(e)e(enabled)150 1091 y(sp)s(eci\014cally)-8 +b(it)47 b(has)f(to)i(b)s(e)e(enabled)150 4149 y(sp)s(eci\014cally)-8 b(.)98 b(It)49 b(can)h(b)s(e)e(enabled)i(b)m(y)f(using)f([gn)m(utls)p -2164 1091 28 4 v 41 w(record)p 2453 1091 V 40 w(disable)p -2766 1091 V 40 w(padding],)54 b(page)c(163,)55 b(or)150 -1200 y([gn)m(utls)p 421 1200 V 41 w(priorit)m(y)p 760 -1200 V 40 w(set],)32 b(page)f(158)g(with)f(the)h Fs(\045COMPAT)d -FB(priorit)m(y)j(string.)150 1335 y(If)22 b(y)m(ou)h(implemen)m(t)h(an) +2164 4149 28 4 v 41 w(record)p 2453 4149 V 40 w(disable)p +2766 4149 V 40 w(padding],)54 b(page)c(160,)55 b(or)150 +4259 y([gn)m(utls)p 421 4259 V 41 w(priorit)m(y)p 760 +4259 V 40 w(set],)32 b(page)f(155)g(with)f(the)h Ft(\045COMPAT)d +FB(priorit)m(y)j(string.)150 4400 y(If)22 b(y)m(ou)h(implemen)m(t)h(an) e(application)i(that)g(ha)m(v)m(e)g(a)f(con\014guration)g(\014le,)i(w)m -(e)e(recommend)f(that)i(y)m(ou)f(mak)m(e)150 1445 y(it)33 +(e)e(recommend)f(that)i(y)m(ou)f(mak)m(e)150 4510 y(it)33 b(p)s(ossible)e(for)h(users)f(or)h(administrators)g(to)h(sp)s(ecify)e (a)i(Gn)m(uTLS)d(proto)s(col)j(priorit)m(y)g(string,)f(whic)m(h)150 -1554 y(is)e(used)e(b)m(y)i(y)m(our)f(application)i(via)f([gn)m(utls)p -1667 1554 V 40 w(priorit)m(y)p 2005 1554 V 41 w(set],)h(page)f(158.)42 +4619 y(is)e(used)e(b)m(y)i(y)m(our)f(application)i(via)f([gn)m(utls)p +1667 4619 V 40 w(priorit)m(y)p 2005 4619 V 41 w(set],)h(page)f(155.)42 b(T)-8 b(o)29 b(allo)m(w)i(the)f(b)s(est)f(\015exibilit)m(y)-8 -b(,)150 1664 y(mak)m(e)31 b(it)g(p)s(ossible)f(to)h(ha)m(v)m(e)h(a)f +b(,)150 4729 y(mak)m(e)31 b(it)g(p)s(ossible)f(to)h(ha)m(v)m(e)h(a)f (di\013eren)m(t)g(priorit)m(y)f(string)h(for)f(di\013eren)m(t)h -(incoming)f(IP)g(addresses.)150 1798 y(T)-8 b(o)31 b(enable)f(the)g(w)m -(ork)-5 b(around)30 b(in)f(the)i Fs(gnutls-cli)c FB(clien)m(t)32 -b(or)e(the)g Fs(gnutls-serv)d FB(serv)m(er,)k(for)f(testing)150 -1908 y(of)h(other)f(implemen)m(tations,)i(use)e(the)h(follo)m(wing)h -(parameter:)41 b Fs(--priority)28 b("\045COMPAT")p FB(.)150 -2042 y(This)j(problem)h(has)f(b)s(een)h(discussed)f(on)h(mailing)h +(incoming)f(IP)g(addresses.)150 4870 y(T)-8 b(o)31 b(enable)f(the)g(w)m +(ork)-5 b(around)30 b(in)f(the)i Ft(gnutls-cli)c FB(clien)m(t)32 +b(or)e(the)g Ft(gnutls-serv)d FB(serv)m(er,)k(for)f(testing)150 +4980 y(of)h(other)f(implemen)m(tations,)i(use)e(the)h(follo)m(wing)h +(parameter:)41 b Ft(--priority)28 b("\045COMPAT")p FB(.)150 +5121 y(This)j(problem)h(has)f(b)s(een)h(discussed)f(on)h(mailing)h (lists)f(and)f(in)h(bug)g(rep)s(orts.)44 b(This)32 b(section)h(tries)f -(to)150 2152 y(collect)f(all)d(pieces)h(of)f(information)h(that)f(w)m +(to)150 5230 y(collect)f(all)d(pieces)h(of)f(information)h(that)f(w)m (e)h(kno)m(w)f(ab)s(out)g(the)g(problem.)39 b(If)28 b(y)m(ou)g(wish)g -(to)g(go)h(bac)m(k)g(to)150 2262 y(the)i(old)f(discussions,)g(here)g -(are)h(some)g(links:)150 2396 y Fs(http://bugs.debian.org/3)o(9071)o(2) -150 2531 y(http://bugs.debian.org/4)o(0286)o(1)150 2665 -y(http://bugs.debian.org/4)o(3813)o(7)150 2800 y +(to)g(go)h(bac)m(k)g(to)150 5340 y(the)i(old)f(discussions,)g(here)g +(are)h(some)g(links:)p eop end +%%Page: 16 22 +TeXDict begin 16 21 bop 150 -116 a FB(Chapter)30 b(3:)41 +b(In)m(tro)s(duction)30 b(to)h Fu(TLS)2247 b FB(16)150 +299 y Ft(http://bugs.debian.org/3)o(9071)o(2)150 433 +y(http://bugs.debian.org/4)o(0286)o(1)150 568 y +(http://bugs.debian.org/4)o(3813)o(7)150 702 y (http://thread.gmane.org/)o(gman)o(e.ie)o(tf.)o(tls/)o(3079)p eop end %%Page: 17 23 TeXDict begin 17 22 bop 150 -116 a FB(Chapter)30 b(4:)41 b(Authen)m(tication)32 b(Metho)s(ds)2074 b(17)150 299 -y Fx(4)80 b(Authen)l(tication)51 b(Metho)t(ds)150 522 -y FB(The)37 b Ft(TLS)g FB(proto)s(col)i(pro)m(vides)e(con\014den)m +y Fy(4)80 b(Authen)l(tication)51 b(Metho)t(ds)150 522 +y FB(The)37 b Fu(TLS)g FB(proto)s(col)i(pro)m(vides)e(con\014den)m (tialit)m(y)j(and)d(encryption,)i(but)e(also)i(o\013ers)f(authen)m (tication,)150 632 y(whic)m(h)f(is)g(a)h(prerequisite)f(for)g(a)g (secure)g(connection.)62 b(The)37 b(a)m(v)-5 b(ailable)40 -b(authen)m(tication)f(metho)s(ds)d(in)150 741 y Ft(Gn)n(uTLS)30 -b FB(are:)225 873 y Fy(\017)60 b FB(Certi\014cate)32 -b(authen)m(tication)225 1006 y Fy(\017)60 b FB(Anon)m(ymous)30 -b(authen)m(tication)225 1138 y Fy(\017)60 b Ft(SRP)30 -b FB(authen)m(tication)225 1270 y Fy(\017)60 b Ft(PSK)30 +b(authen)m(tication)f(metho)s(ds)d(in)150 741 y Fu(Gn)n(uTLS)30 +b FB(are:)225 873 y Fs(\017)60 b FB(Certi\014cate)32 +b(authen)m(tication)225 1006 y Fs(\017)60 b FB(Anon)m(ymous)30 +b(authen)m(tication)225 1138 y Fs(\017)60 b Fu(SRP)30 +b FB(authen)m(tication)225 1270 y Fs(\017)60 b Fu(PSK)30 b FB(authen)m(tication)150 1498 y FA(4.1)68 b(Certi\014cate)47 -b(Authen)l(tication)150 1720 y Fu(4.1.1)63 b(Authen)m(tication)39 -b(Using)k Fn(X.509)f Fu(Certi\014cates)150 1867 y Ft(X.509)30 +b(Authen)l(tication)150 1720 y Fv(4.1.1)63 b(Authen)m(tication)39 +b(Using)k FB(X.509)f Fv(Certi\014cates)150 1867 y Fu(X.509)30 b FB(certi\014cates)i(con)m(tain)h(the)e(public)f(parameters,)h(of)g(a) h(public)e(k)m(ey)i(algorithm,)g(and)e(an)h(author-)150 1977 y(it)m(y's)c(signature,)g(whic)m(h)e(pro)m(v)m(es)i(the)f(authen)m (ticit)m(y)h(of)f(the)g(parameters.)40 b(See)26 b(Section)g(5.1)h([The) e(X.509)150 2086 y(trust)30 b(mo)s(del],)h(page)g(23,)g(for)f(more)h -(information)g(on)f Ft(X.509)f FB(proto)s(cols.)150 2281 -y Fu(4.1.2)63 b(Authen)m(tication)39 b(Using)k Fn(Op)s(enPGP)d -Fu(Keys)150 2428 y Ft(Op)r(enPGP)22 b FB(k)m(eys)h(also)h(con)m(tain)g +(information)g(on)f Fu(X.509)f FB(proto)s(cols.)150 2281 +y Fv(4.1.2)63 b(Authen)m(tication)39 b(Using)k FB(Op)s(enPGP)c +Fv(Keys)150 2428 y Fu(Op)r(enPGP)22 b FB(k)m(eys)h(also)h(con)m(tain)g (public)e(parameters)h(of)g(a)g(public)f(k)m(ey)h(algorithm,)i(and)e (signatures)f(from)150 2538 y(sev)m(eral)j(other)f(parties.)39 b(Dep)s(ending)24 b(on)f(whether)h(a)g(signer)g(is)g(trusted)f(the)h(k) m(ey)h(is)f(considered)f(trusted)150 2647 y(or)31 b(not.)41 -b Ft(Gn)n(uTLS)p FB('s)31 b Ft(Op)r(enPGP)e FB(authen)m(tication)k +b Fu(Gn)n(uTLS)p FB('s)31 b Fu(Op)r(enPGP)e FB(authen)m(tication)k (implemen)m(tation)f(is)f(based)f(on)g(the)h([TLSPGP])f(\(see)150 -2757 y([Bibliograph)m(y],)i(page)f(330\))h(prop)s(osal.)150 +2757 y([Bibliograph)m(y],)i(page)f(310\))h(prop)s(osal.)150 2889 y(See)43 b(Section)i(5.2)f([The)f(Op)s(enPGP)f(trust)h(mo)s(del],) j(page)e(26,)k(for)43 b(more)g(information)h(ab)s(out)f(the)150 -2999 y Ft(Op)r(enPGP)i FB(trust)h(mo)s(del.)88 b(F)-8 +2999 y Fu(Op)r(enPGP)i FB(trust)h(mo)s(del.)88 b(F)-8 b(or)47 b(a)f(more)h(detailed)g(in)m(tro)s(duction)f(to)h -Ft(Op)r(enPGP)e FB(and)h Ft(Gn)n(uPG)f FB(see)150 3109 -y([GPGH])32 b(\(see)f([Bibliograph)m(y],)h(page)f(330\).)150 -3303 y Fu(4.1.3)63 b(Using)42 b(Certi\014cate)d(Authen)m(tication)150 -3450 y FB(In)21 b Ft(Gn)n(uTLS)i FB(b)s(oth)e(the)h Ft(Op)r(enPGP)g -FB(and)f Ft(X.509)g FB(certi\014cates)j(are)f(part)f(of)g(the)h +Fu(Op)r(enPGP)e FB(and)h Fu(Gn)n(uPG)f FB(see)150 3109 +y([GPGH])32 b(\(see)f([Bibliograph)m(y],)h(page)f(310\).)150 +3303 y Fv(4.1.3)63 b(Using)42 b(Certi\014cate)d(Authen)m(tication)150 +3450 y FB(In)21 b Fu(Gn)n(uTLS)i FB(b)s(oth)e(the)h Fu(Op)r(enPGP)g +FB(and)f Fu(X.509)g FB(certi\014cates)j(are)f(part)f(of)g(the)h (certi\014cate)h(authen)m(tication)150 3560 y(and)30 b(th)m(us)g(are)h(handled)e(using)h(a)h(common)f(API.)150 3692 y(When)46 b(using)g(certi\014cates)i(the)f(serv)m(er)g(is)f @@ -15302,17 +11562,17 @@ b(clien)m(t)i(ma)m(y)f(or)g(ma)m(y)g(not)g(ha)m(v)m(e)h(suc)m(h)e(a)h (pair.)67 b(The)39 b(certi\014cate)j(and)d(k)m(ey)h(pair)150 3911 y(should)f(b)s(e)g(loaded,)j(b)s(efore)d(an)m(y)h -Ft(TLS)g FB(session)f(is)h(initialized,)k(in)39 b(a)h(certi\014cate)i +Fu(TLS)g FB(session)f(is)h(initialized,)k(in)39 b(a)h(certi\014cate)i (creden)m(tials)f(struc-)150 4021 y(ture.)97 b(This)48 b(should)g(b)s(e)h(done)g(b)m(y)g(using)g([gn)m(utls)p 2019 4021 28 4 v 40 w(certi\014cate)p 2446 4021 V 42 w(set)p 2599 4021 V 41 w(x509)p 2823 4021 V 41 w(k)m(ey)p -2997 4021 V 41 w(\014le],)55 b(page)49 b(125)i(or)150 +2997 4021 V 41 w(\014le],)55 b(page)49 b(127)i(or)150 4131 y([gn)m(utls)p 421 4131 V 41 w(certi\014cate)p 849 4131 V 42 w(set)p 1002 4131 V 40 w(op)s(enpgp)p 1379 -4131 V 39 w(k)m(ey)p 1551 4131 V 41 w(\014le],)46 b(page)e(243)g(dep)s +4131 V 39 w(k)m(ey)p 1551 4131 V 41 w(\014le],)46 b(page)e(227)g(dep)s (ending)d(on)h(the)h(certi\014cate)i(t)m(yp)s(e.)78 b(In)150 -4240 y(the)26 b Ft(X.509)f FB(case,)j(the)e(functions)f(will)h(also)h +4240 y(the)26 b Fu(X.509)f FB(case,)j(the)e(functions)f(will)h(also)h (accept)g(and)f(use)f(a)h(certi\014cate)i(list)f(that)f(leads)h(to)f(a) g(trusted)150 4350 y(authorit)m(y)-8 b(.)58 b(The)36 b(certi\014cate)h(list)g(m)m(ust)e(b)s(e)h(ordered)f(in)g(suc)m(h)h(w)m @@ -15324,19 +11584,19 @@ e(b)s(e)e(used)h(so)h(the)f(serv)m(er)h(or)f(the)g(clien)m(t)i(sp)s (ecify)e(the)h(certi\014cate)150 4811 y(and)e(the)g(k)m(ey)h(at)h(the)e (handshak)m(e)g(time.)42 b(That)30 b(callbac)m(k)i(can)f(b)s(e)f(set)h -(using)e(the)i(functions:)225 4943 y Fy(\017)60 b FB([gn)m(utls)p +(using)e(the)i(functions:)225 4943 y Fs(\017)60 b FB([gn)m(utls)p 601 4943 V 41 w(certi\014cate)p 1029 4943 V 42 w(serv)m(er)p 1304 4943 V 40 w(set)p 1455 4943 V 41 w(retriev)m(e)p -1793 4943 V 41 w(function],)31 b(page)g(123)225 5075 -y Fy(\017)60 b FB([gn)m(utls)p 601 5075 V 41 w(certi\014cate)p +1793 4943 V 41 w(function],)31 b(page)g(124)225 5075 +y Fs(\017)60 b FB([gn)m(utls)p 601 5075 V 41 w(certi\014cate)p 1029 5075 V 42 w(clien)m(t)p 1284 5075 V 41 w(set)p 1436 5075 V 41 w(retriev)m(e)p 1774 5075 V 42 w(function],)30 -b(page)h(119)150 5230 y(Certi\014cate)89 b(v)m(eri\014cation)g(is)e(p)s +b(page)h(121)150 5230 y(Certi\014cate)89 b(v)m(eri\014cation)g(is)e(p)s (ossible)g(b)m(y)h(loading)g(the)g(trusted)f(authorities)h(in)m(to)h (the)150 5340 y(creden)m(tials)d(structure)e(b)m(y)h(using)f([gn)m (utls)p 1845 5340 V 40 w(certi\014cate)p 2272 5340 V 42 w(set)p 2425 5340 V 41 w(x509)p 2649 5340 V 41 w(trust)p -2883 5340 V 40 w(\014le],)99 b(page)85 b(127)h(or)p eop +2883 5340 V 40 w(\014le],)99 b(page)85 b(129)h(or)p eop end %%Page: 18 24 TeXDict begin 18 23 bop 150 -116 a FB(Chapter)30 b(4:)41 @@ -15344,272 +11604,271 @@ y([gn)m(utls)p 421 299 28 4 v 41 w(certi\014cate)p 849 299 V 42 w(set)p 1002 299 V 40 w(op)s(enpgp)p 1379 299 V 39 w(k)m(eyring)p 1708 299 V 41 w(\014le],)107 b(page)92 -b(244)g(for)f(op)s(enpgp)f(k)m(eys.)224 b(Note)150 408 +b(228)g(for)f(op)s(enpgp)f(k)m(eys.)224 b(Note)150 408 y(ho)m(w)m(ev)m(er)72 b(that)f(the)g(p)s(eer's)e(certi\014cate)k(is)e (not)f(automatically)k(v)m(eri\014ed,)80 b(y)m(ou)71 b(should)f(call)150 518 y([gn)m(utls)p 421 518 V 41 w(certi\014cate)p 849 518 V 42 w(v)m(erify)p 1113 518 V 40 w(p)s(eers2],)57 -b(page)52 b(130,)58 b(after)51 b(a)h(successful)f(handshak)m(e,)56 +b(page)52 b(131,)58 b(after)51 b(a)h(successful)f(handshak)m(e,)56 b(to)c(v)m(erify)g(the)150 628 y(signatures)30 b(of)f(the)h (certi\014cate.)43 b(An)29 b(alternativ)m(e)j(w)m(a)m(y)-8 b(,)31 b(whic)m(h)e(rep)s(orts)g(a)h(more)g(detailed)g(v)m (eri\014cation)150 737 y(output,)f(is)g(to)h(use)e([gn)m(utls)p 1098 737 V 41 w(certi\014cate)p 1526 737 V 42 w(get)p -1688 737 V 41 w(p)s(eers],)h(page)h(121)g(to)g(obtain)f(the)h(ra)m(w)f +1688 737 V 41 w(p)s(eers],)h(page)h(123)g(to)g(obtain)f(the)h(ra)m(w)f (certi\014cate)i(of)e(the)150 847 y(p)s(eer)40 b(and)g(v)m(erify)h(it)g (using)f(the)g(functions)g(discussed)g(in)g(Section)h(5.1)h([The)e (X.509)i(trust)f(mo)s(del],)150 956 y(page)31 b(23.)150 -1097 y(In)e(a)i(handshak)m(e,)e(the)i(negotiated)h(cipher)d(suite)i +1090 y(In)e(a)i(handshak)m(e,)e(the)i(negotiated)h(cipher)d(suite)i (dep)s(ends)d(on)i(the)g(certi\014cate's)i(parameters,)e(so)h(not)150 -1207 y(all)43 b(k)m(ey)h(exc)m(hange)g(metho)s(ds)e(will)h(b)s(e)f(a)m +1200 y(all)43 b(k)m(ey)h(exc)m(hange)g(metho)s(ds)e(will)h(b)s(e)f(a)m (v)-5 b(ailable)45 b(with)d(some)h(certi\014cates.)79 -b Ft(Gn)n(uTLS)43 b FB(will)g(disable)150 1316 y(ciphersuites)32 +b Fu(Gn)n(uTLS)43 b FB(will)g(disable)150 1310 y(ciphersuites)32 b(that)g(are)g(not)g(compatible)h(with)f(the)g(k)m(ey)-8 b(,)33 b(or)f(the)g(enabled)f(authen)m(tication)j(metho)s(ds.)150 -1426 y(F)-8 b(or)26 b(example)g(k)m(eys)f(mark)m(ed)g(as)h(sign-only)-8 +1419 y(F)-8 b(or)26 b(example)g(k)m(eys)f(mark)m(ed)g(as)h(sign-only)-8 b(,)27 b(will)e(not)h(b)s(e)e(able)i(to)g(access)g(the)f(plain)g(RSA)g -(ciphersuites,)150 1535 y(but)33 b(only)g(the)h Fs(DHE_RSA)d +(ciphersuites,)150 1529 y(but)33 b(only)g(the)h Ft(DHE_RSA)d FB(ones.)50 b(It)34 b(is)f(recommended)g(not)h(to)g(use)f(RSA)g(k)m -(eys)h(for)f(b)s(oth)g(signing)h(and)150 1645 y(encryption.)70 +(eys)h(for)f(b)s(oth)g(signing)h(and)150 1638 y(encryption.)70 b(If)40 b(p)s(ossible)g(use)g(the)g(same)h(k)m(ey)g(for)f(the)g -Fs(DHE_RSA)f FB(and)g Fs(RSA_EXPORT)f FB(ciphersuites,)150 -1755 y(whic)m(h)26 b(use)h(signing,)g(and)f(a)h(di\013eren)m(t)h(k)m +Ft(DHE_RSA)f FB(and)g Ft(RSA_EXPORT)f FB(ciphersuites,)150 +1748 y(whic)m(h)26 b(use)h(signing,)g(and)f(a)h(di\013eren)m(t)h(k)m (ey)f(for)f(the)h(plain)g(RSA)f(ciphersuites,)h(whic)m(h)f(use)h -(encryption.)150 1864 y(All)k(the)g(k)m(ey)g(exc)m(hange)h(metho)s(ds)d +(encryption.)150 1857 y(All)k(the)g(k)m(ey)g(exc)m(hange)h(metho)s(ds)d (sho)m(wn)h(b)s(elo)m(w)h(are)f(a)m(v)-5 b(ailable)33 -b(in)d(certi\014cate)j(authen)m(tication.)150 2005 y(Note)26 +b(in)d(certi\014cate)j(authen)m(tication.)150 1991 y(Note)26 b(that)f(the)g(DHE)g(k)m(ey)h(exc)m(hange)g(metho)s(ds)e(are)h -(generally)h(slo)m(w)m(er)2602 1972 y Fr(1)2665 2005 -y FB(than)e(plain)h(RSA)f(and)g(require)150 2115 y(Di\016e)33 +(generally)h(slo)m(w)m(er)2602 1958 y Fr(1)2665 1991 +y FB(than)e(plain)h(RSA)f(and)g(require)150 2101 y(Di\016e)33 b(Hellman)g(parameters)f(to)h(b)s(e)f(generated)h(and)e(asso)s(ciated)j -(with)e(a)g(creden)m(tials)i(structure,)e(b)m(y)150 2224 -y(the)25 b(serv)m(er.)40 b(The)24 b Fs(RSA-EXPORT)f FB(metho)s(d)i +(with)e(a)g(creden)m(tials)i(structure,)e(b)m(y)150 2211 +y(the)25 b(serv)m(er.)40 b(The)24 b Ft(RSA-EXPORT)f FB(metho)s(d)i (also)h(requires)e(512)j(bit)e(RSA)g(parameters,)i(that)f(should)e -(also)150 2334 y(b)s(e)30 b(generated)h(and)f(asso)s(ciated)i(with)e +(also)150 2320 y(b)s(e)30 b(generated)h(and)f(asso)s(ciated)i(with)e (the)g(creden)m(tials)i(structure.)40 b(See)31 b(the)g(functions:)225 -2474 y Fy(\017)60 b FB([gn)m(utls)p 601 2474 V 41 w(dh)p -744 2474 V 39 w(params)p 1072 2474 V 39 w(generate2],)33 -b(page)e(142)225 2612 y Fy(\017)60 b FB([gn)m(utls)p -601 2612 V 41 w(certi\014cate)p 1029 2612 V 42 w(set)p -1182 2612 V 40 w(dh)p 1324 2612 V 39 w(params],)31 b(page)g(123)225 -2750 y Fy(\017)60 b FB([gn)m(utls)p 601 2750 V 41 w(rsa)p -759 2750 V 40 w(params)p 1088 2750 V 39 w(generate2],)33 -b(page)e(167)225 2887 y Fy(\017)60 b FB([gn)m(utls)p -601 2887 V 41 w(certi\014cate)p 1029 2887 V 42 w(set)p -1182 2887 V 40 w(rsa)p 1339 2887 V 40 w(exp)s(ort)p 1637 -2887 V 40 w(params],)31 b(page)g(123)150 3056 y(Sometimes)g(in)f(order) +2454 y Fs(\017)60 b FB([gn)m(utls)p 601 2454 V 41 w(dh)p +744 2454 V 39 w(params)p 1072 2454 V 39 w(generate2],)33 +b(page)e(141)225 2588 y Fs(\017)60 b FB([gn)m(utls)p +601 2588 V 41 w(certi\014cate)p 1029 2588 V 42 w(set)p +1182 2588 V 40 w(dh)p 1324 2588 V 39 w(params],)31 b(page)g(125)225 +2722 y Fs(\017)60 b FB([gn)m(utls)p 601 2722 V 41 w(rsa)p +759 2722 V 40 w(params)p 1088 2722 V 39 w(generate2],)33 +b(page)e(164)225 2856 y Fs(\017)60 b FB([gn)m(utls)p +601 2856 V 41 w(certi\014cate)p 1029 2856 V 42 w(set)p +1182 2856 V 40 w(rsa)p 1339 2856 V 40 w(exp)s(ort)p 1637 +2856 V 40 w(params],)31 b(page)g(125)150 3014 y(Sometimes)g(in)f(order) g(to)i(a)m(v)m(oid)g(b)s(ottlenec)m(ks)f(in)g(programs)f(it)h(is)f -(usefull)g(to)i(store)f(and)f(read)g(param-)150 3166 +(usefull)g(to)i(store)f(and)f(read)g(param-)150 3124 y(eters)i(from)g(formats)g(that)g(can)g(b)s(e)g(generated)g(b)m(y)g -(external)h(programs)e(suc)m(h)h(as)g Fs(certtool)p FB(.)43 -b(This)31 b(is)150 3275 y(p)s(ossible)f(with)g Ft(Gn)n(uTLS)g +(external)h(programs)e(suc)m(h)h(as)g Ft(certtool)p FB(.)43 +b(This)31 b(is)150 3233 y(p)s(ossible)f(with)g Fu(Gn)n(uTLS)g FB(b)m(y)h(using)e(the)i(follo)m(wing)h(functions:)225 -3416 y Fy(\017)60 b FB([gn)m(utls)p 601 3416 V 41 w(dh)p -744 3416 V 39 w(params)p 1072 3416 V 39 w(imp)s(ort)p -1382 3416 V 40 w(pk)m(cs3],)31 b(page)g(142)225 3554 -y Fy(\017)60 b FB([gn)m(utls)p 601 3554 V 41 w(rsa)p -759 3554 V 40 w(params)p 1088 3554 V 39 w(imp)s(ort)p -1398 3554 V 40 w(pk)m(cs1],)31 b(page)g(167)225 3691 -y Fy(\017)60 b FB([gn)m(utls)p 601 3691 V 41 w(dh)p 744 -3691 V 39 w(params)p 1072 3691 V 39 w(exp)s(ort)p 1369 -3691 V 40 w(pk)m(cs3],)32 b(page)f(141)225 3829 y Fy(\017)60 -b FB([gn)m(utls)p 601 3829 V 41 w(rsa)p 759 3829 V 40 -w(params)p 1088 3829 V 39 w(exp)s(ort)p 1385 3829 V 40 -w(pk)m(cs1],)32 b(page)f(166)150 3997 y(Key)f(exc)m(hange)i(algorithms) -g(for)e Ft(Op)r(enPGP)f FB(and)h Ft(X.509)f FB(certi\014cates:)150 -4166 y Fs(RSA:)288 b FB(The)41 b(RSA)g(algorithm)h(is)g(used)e(to)i +3367 y Fs(\017)60 b FB([gn)m(utls)p 601 3367 V 41 w(dh)p +744 3367 V 39 w(params)p 1072 3367 V 39 w(imp)s(ort)p +1382 3367 V 40 w(pk)m(cs3],)31 b(page)g(141)225 3501 +y Fs(\017)60 b FB([gn)m(utls)p 601 3501 V 41 w(rsa)p +759 3501 V 40 w(params)p 1088 3501 V 39 w(imp)s(ort)p +1398 3501 V 40 w(pk)m(cs1],)31 b(page)g(164)225 3635 +y Fs(\017)60 b FB([gn)m(utls)p 601 3635 V 41 w(dh)p 744 +3635 V 39 w(params)p 1072 3635 V 39 w(exp)s(ort)p 1369 +3635 V 40 w(pk)m(cs3],)32 b(page)f(140)225 3769 y Fs(\017)60 +b FB([gn)m(utls)p 601 3769 V 41 w(rsa)p 759 3769 V 40 +w(params)p 1088 3769 V 39 w(exp)s(ort)p 1385 3769 V 40 +w(pk)m(cs1],)32 b(page)f(163)150 3928 y(Key)f(exc)m(hange)i(algorithms) +g(for)e Fu(Op)r(enPGP)f FB(and)h Fu(X.509)f FB(certi\014cates:)150 +4086 y Ft(RSA:)288 b FB(The)41 b(RSA)g(algorithm)h(is)g(used)e(to)i (encrypt)f(a)h(k)m(ey)g(and)f(send)g(it)h(to)g(the)f(p)s(eer.)73 -b(The)630 4276 y(certi\014cate)32 b(m)m(ust)f(allo)m(w)h(the)e(k)m(ey)h -(to)g(b)s(e)f(used)g(for)g(encryption.)150 4441 y Fs(RSA_EXPORT:)630 -4551 y FB(The)36 b(RSA)f(algorithm)i(is)g(used)e(to)i(encrypt)f(a)g(k)m +b(The)630 4195 y(certi\014cate)32 b(m)m(ust)f(allo)m(w)h(the)e(k)m(ey)h +(to)g(b)s(e)f(used)g(for)g(encryption.)150 4354 y Ft(RSA_EXPORT:)630 +4463 y FB(The)36 b(RSA)f(algorithm)i(is)g(used)e(to)i(encrypt)f(a)g(k)m (ey)h(and)f(send)f(it)i(to)g(the)f(p)s(eer.)57 b(In)36 -b(the)630 4661 y(EXPOR)-8 b(T)37 b(algorithm,)j(the)d(serv)m(er)h +b(the)630 4573 y(EXPOR)-8 b(T)37 b(algorithm,)j(the)d(serv)m(er)h (signs)f(temp)s(orary)g(RSA)g(parameters)g(of)h(512)g(bits)630 -4770 y(|)30 b(whic)m(h)g(are)h(considered)f(w)m(eak)i(|)e(and)g(sends)f -(them)h(to)h(the)g(clien)m(t.)150 4936 y Fs(DHE_RSA:)96 -b FB(The)25 b(RSA)f(algorithm)i(is)f(used)f(to)i(sign)f(Ephemeral)g -(Di\016e-Hellman)i(parameters)e(whic)m(h)630 5045 y(are)34 +4683 y(|)30 b(whic)m(h)g(are)h(considered)f(w)m(eak)i(|)e(and)g(sends)f +(them)h(to)h(the)g(clien)m(t.)150 4841 y Ft(DHE_RSA:)96 +b FB(The)25 b(RSA)g(algorithm)i(is)e(used)g(to)h(sign)g(Ephemeral)f +(Di\016e)h(Hellman)g(parameters)g(whic)m(h)630 4950 y(are)34 b(sen)m(t)f(to)h(the)f(p)s(eer.)49 b(The)32 b(k)m(ey)i(in)f(the)g (certi\014cate)j(m)m(ust)d(allo)m(w)h(the)f(k)m(ey)h(to)g(b)s(e)f(used) -p 150 5154 1200 4 v 74 5221 a Fr(1)150 5253 y Fp(It)f(really)i(dep)r -(ends)e(on)g(the)g(group)h(used.)55 b(Primes)34 b(with)f(lesser)h(bits) -f(are)g(alw)n(a)n(ys)g(faster,)j(but)c(also)i(easier)g(to)f(break.)150 -5340 y(V)-6 b(alues)26 b(less)g(than)f(768)i(should)f(not)f(b)r(e)h -(used)f(to)r(da)n(y)p eop end +630 5060 y(for)41 b(signing.)74 b(Note)43 b(that)f(k)m(ey)g(exc)m +(hange)h(algorithms)g(whic)m(h)e(use)g(Ephemeral)g(Di\016e)p +150 5154 1200 4 v 74 5221 a Fr(1)150 5253 y Fq(It)32 +b(really)i(dep)r(ends)e(on)g(the)g(group)h(used.)55 b(Primes)34 +b(with)f(lesser)h(bits)f(are)g(alw)n(a)n(ys)g(faster,)j(but)c(also)i +(easier)g(to)f(break.)150 5340 y(V)-6 b(alues)26 b(less)g(than)f(768)i +(should)f(not)f(b)r(e)h(used)f(to)r(da)n(y)p eop end %%Page: 19 25 TeXDict begin 19 24 bop 150 -116 a FB(Chapter)30 b(4:)41 b(Authen)m(tication)32 b(Metho)s(ds)2074 b(19)630 299 -y(for)39 b(signing.)66 b(Note)41 b(that)e(k)m(ey)h(exc)m(hange)g -(algorithms)g(whic)m(h)f(use)f(Ephemeral)h(Di\016e-)630 -408 y(Hellman)27 b(parameters,)h(o\013er)g(p)s(erfect)e(forw)m(ard)g +y(Hellman)27 b(parameters,)h(o\013er)g(p)s(erfect)e(forw)m(ard)g (secrecy)-8 b(.)41 b(That)27 b(means)f(that)i(ev)m(en)f(if)g(the)630 -518 y(priv)-5 b(ate)36 b(k)m(ey)g(used)e(for)h(signing)h(is)f +408 y(priv)-5 b(ate)36 b(k)m(ey)g(used)e(for)h(signing)h(is)f (compromised,)i(it)f(cannot)g(b)s(e)e(used)h(to)h(rev)m(eal)h(past)630 -628 y(session)30 b(data.)150 790 y Fs(DHE_DSS:)96 b FB(The)26 -b(DSS)g(algorithm)i(is)e(used)g(to)h(sign)g(Ephemeral)f -(Di\016e-Hellman)i(parameters)f(whic)m(h)630 899 y(are)32 -b(sen)m(t)g(to)h(the)e(p)s(eer.)44 b(The)31 b(certi\014cate)j(m)m(ust)e -(con)m(tain)h(DSA)e(parameters)h(to)h(use)e(this)630 -1009 y(k)m(ey)g(exc)m(hange)h(algorithm.)42 b(DSS)30 -b(stands)f(for)i(Digital)h(Signature)f(Standard.)150 -1245 y FA(4.2)68 b(Anon)l(ymous)45 b(Authen)l(tication)150 -1405 y FB(The)26 b(anon)m(ymous)g(k)m(ey)h(exc)m(hange)h(p)s(erforms)c -(encryption)i(but)g(there)g(is)g(no)h(indication)g(of)f(the)g(iden)m -(tit)m(y)150 1514 y(of)34 b(the)g(p)s(eer.)50 b(This)34 -b(kind)f(of)h(authen)m(tication)i(is)d(vulnerable)h(to)h(a)f(man)f(in)h -(the)g(middle)f(attac)m(k,)38 b(but)150 1624 y(this)31 -b(proto)s(col)g(can)g(b)s(e)f(used)g(ev)m(en)i(if)e(there)h(is)g(no)g -(prior)f(comm)m(unication)i(and)e(trusted)g(parties)h(with)150 -1734 y(the)d(p)s(eer,)g(or)g(when)f(full)h(anon)m(ymit)m(y)h(is)f +518 y(session)30 b(data.)150 688 y Ft(DHE_DSS:)96 b FB(The)26 +b(DSS)h(algorithm)h(is)e(used)h(to)g(sign)g(Ephemeral)g(Di\016e)g +(Hellman)h(parameters)f(whic)m(h)630 798 y(are)32 b(sen)m(t)g(to)h(the) +e(p)s(eer.)44 b(The)31 b(certi\014cate)j(m)m(ust)e(con)m(tain)h(DSA)e +(parameters)h(to)h(use)e(this)630 907 y(k)m(ey)g(exc)m(hange)h +(algorithm.)42 b(DSS)30 b(stands)f(for)i(Digital)h(Signature)f +(Standard.)150 1155 y FA(4.2)68 b(Anon)l(ymous)45 b(Authen)l(tication) +150 1315 y FB(The)26 b(anon)m(ymous)g(k)m(ey)h(exc)m(hange)h(p)s +(erforms)c(encryption)i(but)g(there)g(is)g(no)h(indication)g(of)f(the)g +(iden)m(tit)m(y)150 1424 y(of)34 b(the)g(p)s(eer.)50 +b(This)34 b(kind)f(of)h(authen)m(tication)i(is)d(vulnerable)h(to)h(a)f +(man)f(in)h(the)g(middle)f(attac)m(k,)38 b(but)150 1534 +y(this)31 b(proto)s(col)g(can)g(b)s(e)f(used)g(ev)m(en)i(if)e(there)h +(is)g(no)g(prior)f(comm)m(unication)i(and)e(trusted)g(parties)h(with) +150 1644 y(the)d(p)s(eer,)g(or)g(when)f(full)h(anon)m(ymit)m(y)h(is)f (required.)39 b(Unless)28 b(really)h(required,)f(do)g(not)g(use)g(anon) -m(ymous)150 1843 y(authen)m(tication.)43 b(Av)-5 b(ailable)32 +m(ymous)150 1753 y(authen)m(tication.)43 b(Av)-5 b(ailable)32 b(k)m(ey)f(exc)m(hange)h(metho)s(ds)e(are)g(sho)m(wn)g(b)s(elo)m(w.)150 -1980 y(Note)j(that)f(the)g(k)m(ey)g(exc)m(hange)h(metho)s(ds)e(for)g -(anon)m(ymous)g(authen)m(tication)j(require)d(Di\016e-Hellman)150 -2090 y(parameters)38 b(to)h(b)s(e)f(generated)h(b)m(y)f(the)g(serv)m +1898 y(Note)j(that)f(the)f(k)m(ey)h(exc)m(hange)h(metho)s(ds)e(for)g +(anon)m(ymous)g(authen)m(tication)j(require)d(Di\016e)h(Hellman)150 +2008 y(parameters)38 b(to)h(b)s(e)f(generated)h(b)m(y)f(the)g(serv)m (er)h(and)e(asso)s(ciated)j(with)e(an)g(anon)m(ymous)g(creden)m(tials) -150 2200 y(structure.)150 2337 y(Supp)s(orted)28 b(anon)m(ymous)i(k)m -(ey)i(exc)m(hange)f(algorithms:)150 2500 y Fs(ANON_DH:)96 -b FB(This)30 b(algorithm)h(exc)m(hanges)h(Di\016e-Hellman)g -(parameters.)150 2737 y FA(4.3)68 b(Authen)l(tication)46 -b(using)f Fu(SRP)150 2896 y FB(Authen)m(tication)40 b(via)e(the)h -(Secure)e(Remote)j(P)m(assw)m(ord)e(proto)s(col,)j Ft(SRP)2707 -2863 y Fr(2)2744 2896 y FB(,)d(is)g(supp)s(orted.)62 -b(The)37 b Ft(SRP)150 3006 y FB(k)m(ey)27 b(exc)m(hange)g(is)f(an)g -(extension)h(to)g(the)f Ft(TLS)g FB(proto)s(col,)i(and)e(it)g(is)g(a)h -(passw)m(ord)e(based)h(authen)m(tication)150 3115 y(\(unlik)m(e)37 -b Ft(X.509)e FB(or)i Ft(Op)r(enPGP)e FB(that)i(use)f(certi\014cates\).) +150 2117 y(structure.)150 2262 y(Supp)s(orted)28 b(anon)m(ymous)i(k)m +(ey)i(exc)m(hange)f(algorithms:)150 2437 y Ft(ANON_DH:)96 +b FB(This)30 b(algorithm)h(exc)m(hanges)h(Di\016e)f(Hellman)g +(parameters.)150 2686 y FA(4.3)68 b(Authen)l(tication)46 +b(using)f Fv(SRP)150 2845 y FB(Authen)m(tication)40 b(via)e(the)h +(Secure)e(Remote)j(P)m(assw)m(ord)e(proto)s(col,)j Fu(SRP)2707 +2812 y Fr(2)2744 2845 y FB(,)d(is)g(supp)s(orted.)62 +b(The)37 b Fu(SRP)150 2955 y FB(k)m(ey)27 b(exc)m(hange)g(is)f(an)g +(extension)h(to)g(the)f Fu(TLS)g FB(proto)s(col,)i(and)e(it)g(is)g(a)h +(passw)m(ord)e(based)h(authen)m(tication)150 3064 y(\(unlik)m(e)37 +b Fu(X.509)e FB(or)i Fu(Op)r(enPGP)e FB(that)i(use)f(certi\014cates\).) 61 b(The)36 b(t)m(w)m(o)i(p)s(eers)e(can)g(b)s(e)g(iden)m(ti\014ed)h -(using)f(a)150 3225 y(single)c(passw)m(ord,)f(or)g(there)g(can)h(b)s(e) +(using)f(a)150 3174 y(single)c(passw)m(ord,)f(or)g(there)g(can)h(b)s(e) e(com)m(binations)j(where)d(the)i(clien)m(t)g(is)g(authen)m(ticated)h -(using)d Ft(SRP)150 3334 y FB(and)g(the)g(serv)m(er)h(using)f(a)h -(certi\014cate.)150 3472 y(The)f(adv)-5 b(an)m(tage)32 -b(of)e Ft(SRP)g FB(authen)m(tication,)j(o)m(v)m(er)e(other)g(prop)s +(using)d Fu(SRP)150 3283 y FB(and)g(the)g(serv)m(er)h(using)f(a)h +(certi\014cate.)150 3428 y(The)f(adv)-5 b(an)m(tage)32 +b(of)e Fu(SRP)g FB(authen)m(tication,)j(o)m(v)m(er)e(other)g(prop)s (osed)e(secure)h(passw)m(ord)g(authen)m(tication)150 -3581 y(sc)m(hemes,)i(is)g(that)f Ft(SRP)g FB(do)s(es)g(not)h(require)f +3538 y(sc)m(hemes,)i(is)g(that)f Fu(SRP)g FB(do)s(es)g(not)h(require)f (the)g(serv)m(er)g(to)h(hold)f(the)h(user's)e(passw)m(ord.)43 -b(This)30 b(kind)h(of)150 3691 y(protection)24 b(is)f(similar)h(to)f +b(This)30 b(kind)h(of)150 3648 y(protection)24 b(is)f(similar)h(to)f (the)h(one)f(used)f(traditionally)j(in)e(the)g Fm(UNIX)36 -b FB(`)p Fs(/etc/passwd)p FB(')20 b(\014le,)25 b(where)e(the)150 -3800 y(con)m(ten)m(ts)36 b(of)e(this)f(\014le)h(did)f(not)i(cause)f +b FB(`)p Ft(/etc/passwd)p FB(')20 b(\014le,)25 b(where)e(the)150 +3757 y(con)m(ten)m(ts)36 b(of)e(this)f(\014le)h(did)f(not)i(cause)f (harm)f(to)i(the)f(system)g(securit)m(y)h(if)e(they)h(w)m(ere)h(rev)m -(ealed.)52 b(The)150 3910 y Ft(SRP)39 b FB(needs)g(instead)g(of)g(the)h +(ealed.)52 b(The)150 3867 y Fu(SRP)39 b FB(needs)g(instead)g(of)g(the)h (plain)f(passw)m(ord)f(something)i(called)g(a)g(v)m(eri\014er,)i(whic)m -(h)d(is)g(calculated)150 4019 y(using)f(the)g(user's)g(passw)m(ord,)i +(h)d(is)g(calculated)150 3976 y(using)f(the)g(user's)g(passw)m(ord,)i (and)e(if)g(stolen)h(cannot)g(b)s(e)f(used)g(to)h(imp)s(ersonate)f(the) -h(user.)64 b(Chec)m(k)150 4129 y([TOMSRP])24 b(\(see)i([Bibliograph)m -(y],)i(page)d(330\))h(for)f(a)g(detailed)h(description)f(of)g(the)f -Ft(SRP)h FB(proto)s(col)h(and)150 4239 y(the)35 b(Stanford)e -Ft(SRP)h FB(libraries,)i(whic)m(h)e(includes)g(a)h(P)-8 +h(user.)64 b(Chec)m(k)150 4086 y([TOMSRP])24 b(\(see)i([Bibliograph)m +(y],)i(page)d(310\))h(for)f(a)g(detailed)h(description)f(of)g(the)f +Fu(SRP)h FB(proto)s(col)h(and)150 4196 y(the)35 b(Stanford)e +Fu(SRP)h FB(libraries,)i(whic)m(h)e(includes)g(a)h(P)-8 b(AM)35 b(mo)s(dule)f(that)h(sync)m(hronizes)f(the)h(system's)150 -4348 y(users)c(passw)m(ords)g(with)h(the)g Ft(SRP)f FB(passw)m(ord)g -(\014les.)45 b(That)32 b(w)m(a)m(y)h Ft(SRP)f FB(authen)m(tication)i -(could)e(b)s(e)f(used)150 4458 y(for)f(all)h(the)g(system's)g(users.) -150 4595 y(The)26 b(implemen)m(tation)h(in)f Ft(Gn)n(uTLS)g +4305 y(users)c(passw)m(ords)g(with)h(the)g Fu(SRP)f FB(passw)m(ord)g +(\014les.)45 b(That)32 b(w)m(a)m(y)h Fu(SRP)f FB(authen)m(tication)i +(could)e(b)s(e)f(used)150 4415 y(for)f(all)h(the)g(system's)g(users.) +150 4560 y(The)26 b(implemen)m(tation)h(in)f Fu(Gn)n(uTLS)g FB(is)g(based)g(on)g(pap)s(er)f([TLSSRP])g(\(see)i([Bibliograph)m(y],)h -(page)f(330\).)150 4705 y(The)j(supp)s(orted)e Ft(SRP)i -FB(k)m(ey)i(exc)m(hange)f(metho)s(ds)f(are:)150 4868 -y Fs(SRP:)288 b FB(Authen)m(tication)32 b(using)e(the)h -Ft(SRP)f FB(proto)s(col.)150 5030 y Fs(SRP_DSS:)96 b -FB(Clien)m(t)35 b(authen)m(tication)g(using)f(the)f Ft(SRP)h +(page)f(310\).)150 4669 y(The)j(supp)s(orted)e Fu(SRP)i +FB(k)m(ey)i(exc)m(hange)f(metho)s(ds)f(are:)150 4845 +y Ft(SRP:)288 b FB(Authen)m(tication)32 b(using)e(the)h +Fu(SRP)f FB(proto)s(col.)150 5014 y Ft(SRP_DSS:)96 b +FB(Clien)m(t)35 b(authen)m(tication)g(using)f(the)f Fu(SRP)h FB(proto)s(col.)51 b(Serv)m(er)34 b(is)g(authen)m(ticated)h(using)f(a) -630 5140 y(certi\014cate)e(with)f(DSA)f(parameters.)p +630 5124 y(certi\014cate)e(with)f(DSA)f(parameters.)p 150 5241 1200 4 v 74 5308 a Fr(2)150 5340 y Fo(SRP)c -Fp(is)g(describ)r(ed)g(in)f([RF)n(C2945])j(\(see)e([Bibliograph)n(y],)i -(page)e(330\))p eop end +Fq(is)g(describ)r(ed)g(in)f([RF)n(C2945])j(\(see)e([Bibliograph)n(y],)i +(page)e(310\))p eop end %%Page: 20 26 TeXDict begin 20 25 bop 150 -116 a FB(Chapter)30 b(4:)41 b(Authen)m(tication)32 b(Metho)s(ds)2074 b(20)150 299 -y Fs(SRP_RSA:)96 b FB(Clien)m(t)35 b(authen)m(tication)g(using)f(the)f -Ft(SRP)h FB(proto)s(col.)51 b(Serv)m(er)34 b(is)g(authen)m(ticated)h +y Ft(SRP_RSA:)96 b FB(Clien)m(t)35 b(authen)m(tication)g(using)f(the)f +Fu(SRP)h FB(proto)s(col.)51 b(Serv)m(er)34 b(is)g(authen)m(ticated)h (using)f(a)630 408 y(certi\014cate)e(with)f(RSA)e(parameters.)150 -574 y(If)k(clien)m(ts)i(supp)s(orting)e Ft(SRP)g FB(kno)m(w)h(the)g +574 y(If)k(clien)m(ts)i(supp)s(orting)e Fu(SRP)g FB(kno)m(w)h(the)g (username)f(and)g(passw)m(ord)g(b)s(efore)g(the)h(connection,)i(should) 150 684 y(initialize)54 b(the)f(clien)m(t)g(creden)m(tials)h(and)e (call)h(the)f(function)g([gn)m(utls)p 2674 684 28 4 v 41 w(srp)p 2838 684 V 39 w(set)p 2988 684 V 40 w(clien)m(t)p -3241 684 V 42 w(creden)m(tials],)150 793 y(page)e(177.)98 +3241 684 V 42 w(creden)m(tials],)150 793 y(page)e(172.)98 b(Alternativ)m(ely)51 b(they)e(could)g(sp)s(ecify)g(a)g(callbac)m(k)i (function)e(b)m(y)g(using)f(the)h(function)150 903 y([gn)m(utls)p 421 903 V 41 w(srp)p 585 903 V 39 w(set)p 735 903 V 40 w(clien)m(t)p 988 903 V 42 w(creden)m(tials)p 1451 903 -V 41 w(function],)37 b(page)f(176.)57 b(This)34 b(has)h(the)h(adv)-5 +V 41 w(function],)37 b(page)f(172.)57 b(This)34 b(has)h(the)h(adv)-5 b(an)m(tage)37 b(that)f(allo)m(ws)150 1013 y(probing)31 -b(the)g(serv)m(er)h(for)f Ft(SRP)h FB(supp)s(ort.)42 +b(the)g(serv)m(er)h(for)f Fu(SRP)h FB(supp)s(ort.)42 b(In)31 b(that)h(case)g(the)g(callbac)m(k)i(function)d(will)h(b)s(e)f (called)h(t)m(wice)150 1122 y(p)s(er)k(handshak)m(e.)59 b(The)36 b(\014rst)g(time)h(is)g(b)s(efore)f(the)h(ciphersuite)f(is)h (negotiated,)j(and)c(if)h(the)g(callbac)m(k)150 1232 y(returns)29 b(a)i(negativ)m(e)h(error)e(co)s(de,)h(the)g(callbac)m(k)h -(will)f(b)s(e)f(called)h(again)h(if)e Ft(SRP)g FB(has)g(b)s(een)g +(will)f(b)s(e)f(called)h(again)h(if)e Fu(SRP)g FB(has)g(b)s(een)g (negotiated.)150 1341 y(This)e(uses)f(a)i(sp)s(ecial)g -Ft(TLS)p FB(-)p Ft(SRP)f FB(handshak)m(e)g(idiom)h(in)f(order)g(to)h(a) +Fu(TLS)p FB(-)p Fu(SRP)f FB(handshak)m(e)g(idiom)h(in)f(order)g(to)h(a) m(v)m(oid,)h(in)e(in)m(teractiv)m(e)j(applications,)150 -1451 y(to)39 b(ask)f(the)f(user)h(for)f Ft(SRP)h FB(passw)m(ord)f(and)g +1451 y(to)39 b(ask)f(the)f(user)h(for)f Fu(SRP)h FB(passw)m(ord)f(and)g (username)g(if)h(the)g(serv)m(er)g(do)s(es)f(not)h(negotiate)j(an)c -Ft(SRP)150 1561 y FB(ciphersuite.)150 1699 y(In)56 b(serv)m(er)h(side)f -(the)h(default)g(b)s(eha)m(viour)f(of)h Ft(Gn)n(uTLS)f -FB(is)h(to)g(read)g(the)f(usernames)g(and)g Ft(SRP)150 +Fu(SRP)150 1561 y FB(ciphersuite.)150 1699 y(In)56 b(serv)m(er)h(side)f +(the)h(default)g(b)s(eha)m(viour)f(of)h Fu(Gn)n(uTLS)f +FB(is)h(to)g(read)g(the)f(usernames)g(and)g Fu(SRP)150 1809 y FB(v)m(eri\014ers)48 b(from)f(passw)m(ord)g(\014les.)94 b(These)47 b(passw)m(ord)g(\014les)h(are)h(the)f(ones)g(used)f(b)m(y)h (the)g Fm(Stanfor)-5 b(d)150 1918 y(srp)73 b(libr)-5 b(aries)82 b FB(and)72 b(can)i(b)s(e)f(sp)s(eci\014ed)f(using)h(the)g ([gn)m(utls)p 2499 1918 V 41 w(srp)p 2663 1918 V 39 w(set)p 2813 1918 V 41 w(serv)m(er)p 3087 1918 V 40 w(creden)m(tials)p -3548 1918 V 41 w(\014le],)150 2028 y(page)67 b(177.)148 +3548 1918 V 41 w(\014le],)150 2028 y(page)67 b(173.)148 b(If)66 b(a)g(di\013eren)m(t)g(passw)m(ord)f(\014le)h(format)h(is)f(to) g(b)s(e)f(used,)75 b(then)65 b(the)h(function)150 2138 y([gn)m(utls)p 421 2138 V 41 w(srp)p 585 2138 V 39 w(set)p 735 2138 V 40 w(serv)m(er)p 1008 2138 V 41 w(creden)m(tials)p -1470 2138 V 41 w(function],)36 b(page)f(177,)j(should)33 +1470 2138 V 41 w(function],)36 b(page)f(173,)j(should)33 b(b)s(e)i(called,)i(in)d(order)g(to)i(set)f(an)150 2247 y(appropriate)30 b(callbac)m(k.)150 2386 y(Some)g(help)s(er)g -(functions)g(suc)m(h)g(as)225 2525 y Fy(\017)60 b FB([gn)m(utls)p +(functions)g(suc)m(h)g(as)225 2525 y Fs(\017)60 b FB([gn)m(utls)p 601 2525 V 41 w(srp)p 765 2525 V 39 w(v)m(eri\014er],)31 -b(page)g(178)225 2661 y Fy(\017)60 b FB([gn)m(utls)p +b(page)g(173)225 2661 y Fs(\017)60 b FB([gn)m(utls)p 601 2661 V 41 w(srp)p 765 2661 V 39 w(base64)p 1066 2661 -V 41 w(enco)s(de],)31 b(page)g(175)225 2798 y Fy(\017)60 +V 41 w(enco)s(de],)31 b(page)g(171)225 2798 y Fs(\017)60 b FB([gn)m(utls)p 601 2798 V 41 w(srp)p 765 2798 V 39 -w(base64)p 1066 2798 V 41 w(deco)s(de],)31 b(page)g(175)150 -2964 y(are)f(included)g(in)f Ft(Gn)n(uTLS)p FB(,)h(and)g(can)g(b)s(e)f -(used)h(to)g(generate)i(and)d(main)m(tain)i Ft(SRP)f +w(base64)p 1066 2798 V 41 w(deco)s(de],)31 b(page)g(170)150 +2964 y(are)f(included)g(in)f Fu(Gn)n(uTLS)p FB(,)h(and)g(can)g(b)s(e)f +(used)h(to)g(generate)i(and)d(main)m(tain)i Fu(SRP)f FB(v)m(eri\014ers)g(and)f(pass-)150 3073 y(w)m(ord)d(\014les.)39 b(A)26 b(program)f(to)i(manipulate)f(the)g(required)g(parameters)g(for) -f Ft(SRP)h FB(authen)m(tication)i(is)e(also)150 3183 -y(included.)40 b(See)31 b([srpto)s(ol],)g(page)g(113,)h(for)e(more)g +f Fu(SRP)h FB(authen)m(tication)i(is)e(also)150 3183 +y(included.)40 b(See)31 b([srpto)s(ol],)g(page)g(116,)h(for)e(more)g (information.)150 3422 y FA(4.4)68 b(Authen)l(tication)46 -b(using)f Fu(PSK)150 3581 y FB(Authen)m(tication)e(using)e(Pre-shared)g +b(using)f Fv(PSK)150 3581 y FB(Authen)m(tication)e(using)e(Pre-shared)g (k)m(eys)h(is)g(a)g(metho)s(d)f(to)h(authen)m(ticate)i(using)d (usernames)g(and)150 3691 y(binary)36 b(k)m(eys.)61 b(This)36 b(proto)s(col)i(a)m(v)m(oids)g(making)f(use)g(of)g(public)f(k)m(ey)h (infrastructure)f(and)h(exp)s(ensiv)m(e)150 3800 y(calculations,)c(th)m (us)d(it)h(is)f(suitable)h(for)f(constrain)m(t)i(clien)m(ts.)150 -3939 y(The)25 b(implemen)m(tation)j(in)d Ft(Gn)n(uTLS)h +3939 y(The)25 b(implemen)m(tation)j(in)d Fu(Gn)n(uTLS)h FB(is)g(based)f(on)h(pap)s(er)e([TLSPSK])g(\(see)j([Bibliograph)m(y],)i -(page)d(330\).)150 4049 y(The)k(supp)s(orted)e Ft(PSK)i +(page)d(310\).)150 4049 y(The)k(supp)s(orted)e Fu(PSK)i FB(k)m(ey)h(exc)m(hange)h(metho)s(ds)e(are:)150 4214 -y Fs(PSK:)288 b FB(Authen)m(tication)32 b(using)e(the)h -Ft(PSK)e FB(proto)s(col.)150 4378 y Fs(DHE-PSK:)96 b -FB(Authen)m(tication)32 b(using)e(the)h Ft(PSK)e FB(proto)s(col)j(and)e -(Di\016e-Hellman)i(k)m(ey)f(exc)m(hange.)43 b(This)630 +y Ft(PSK:)288 b FB(Authen)m(tication)32 b(using)e(the)h +Fu(PSK)e FB(proto)s(col.)150 4378 y Ft(DHE-PSK:)96 b +FB(Authen)m(tication)32 b(using)e(the)h Fu(PSK)e FB(proto)s(col)j(and)e +(Di\016e)h(Hellman)g(k)m(ey)g(exc)m(hange.)43 b(This)630 4488 y(metho)s(d)30 b(o\013ers)g(p)s(erfect)h(forw)m(ard)f(secrecy)-8 -b(.)150 4653 y(Clien)m(ts)59 b(supp)s(orting)d Ft(PSK)h +b(.)150 4653 y(Clien)m(ts)59 b(supp)s(orting)d Fu(PSK)h FB(should)g(supply)g(the)h(username)f(and)g(k)m(ey)i(b)s(efore)f(the)g (connection)150 4763 y(to)75 b(the)f(clien)m(t)h(creden)m(tials)h(b)m (y)e(calling)h(the)f(function)g([gn)m(utls)p 2662 4763 V 40 w(psk)p 2837 4763 V 40 w(set)p 2988 4763 V 40 w(clien)m(t)p 3241 4763 V 42 w(creden)m(tials],)150 4872 y(page)50 -b(161.)98 b(Alternativ)m(ely)51 b(they)e(could)g(sp)s(ecify)g(a)g +b(158.)98 b(Alternativ)m(ely)51 b(they)e(could)g(sp)s(ecify)g(a)g (callbac)m(k)i(function)e(b)m(y)g(using)f(the)h(function)150 4982 y([gn)m(utls)p 421 4982 V 41 w(psk)p 597 4982 V 39 w(set)p 747 4982 V 41 w(clien)m(t)p 1001 4982 V 41 -w(creden)m(tials)p 1463 4982 V 42 w(function],)g(page)d(160.)86 +w(creden)m(tials)p 1463 4982 V 42 w(function],)g(page)d(158.)86 b(This)45 b(has)f(the)i(adv)-5 b(an)m(tage)47 b(that)f(the)150 5092 y(callbac)m(k)32 b(will)f(b)s(e)f(called)i(only)e(if)g -Ft(PSK)g FB(has)g(b)s(een)g(negotiated.)150 5230 y(In)41 +Fu(PSK)g FB(has)g(b)s(een)g(negotiated.)150 5230 y(In)41 b(serv)m(er)g(side)g(the)h(default)f(b)s(eha)m(viour)g(of)g -Ft(Gn)n(uTLS)h FB(is)f(to)h(read)f(the)h(usernames)e(and)h -Ft(PSK)f FB(k)m(eys)150 5340 y(from)29 b(a)h(passw)m(ord)f(\014le.)40 +Fu(Gn)n(uTLS)h FB(is)f(to)h(read)f(the)h(usernames)e(and)h +Fu(PSK)f FB(k)m(eys)150 5340 y(from)29 b(a)h(passw)m(ord)f(\014le.)40 b(The)29 b(passw)m(ord)g(\014le)g(should)g(con)m(tain)i(usernames)e (and)f(k)m(eys)i(in)g(hexadecimal)p eop end %%Page: 21 27 @@ -15620,50 +11879,50 @@ (calling)150 408 y([gn)m(utls)p 421 408 28 4 v 41 w(psk)p 597 408 V 39 w(set)p 747 408 V 41 w(serv)m(er)p 1021 408 V 40 w(creden)m(tials)p 1482 408 V 41 w(\014le],)40 -b(page)f(161.)64 b(If)37 b(a)h(di\013eren)m(t)g(passw)m(ord)f(\014le)h +b(page)f(158.)64 b(If)37 b(a)h(di\013eren)m(t)g(passw)m(ord)f(\014le)h (format)g(is)f(to)150 518 y(b)s(e)25 b(used,)i(then)f(the)g(function)g ([gn)m(utls)p 1477 518 V 40 w(psk)p 1652 518 V 40 w(set)p 1803 518 V 40 w(serv)m(er)p 2076 518 V 41 w(creden)m(tials)p -2538 518 V 41 w(function],)h(page)g(162,)h(should)e(b)s(e)150 +2538 518 V 41 w(function],)h(page)g(159,)h(should)e(b)s(e)150 628 y(used)k(instead.)150 772 y(The)46 b(serv)m(er)h(can)f(help)h(the)f (clien)m(t)i(c)m(hose)g(a)f(suitable)g(username)e(and)h(passw)m(ord,)k (b)m(y)d(sending)f(a)150 882 y(hin)m(t.)88 b(In)46 b(the)g(serv)m(er,) 51 b(sp)s(ecify)46 b(the)g(hin)m(t)g(b)m(y)g(calling)i([gn)m(utls)p 2444 882 V 41 w(psk)p 2620 882 V 39 w(set)p 2770 882 V 41 w(serv)m(er)p 3044 882 V 40 w(creden)m(tials)p 3505 -882 V 41 w(hin)m(t],)150 992 y(page)43 b(162.)77 b(The)41 +882 V 41 w(hin)m(t],)150 992 y(page)43 b(159.)77 b(The)41 b(clien)m(t)j(can)e(retriev)m(e)i(the)e(hin)m(t,)j(for)d(example)h(in)e (the)h(callbac)m(k)j(function,)f(using)150 1101 y([gn)m(utls)p 421 1101 V 41 w(psk)p 597 1101 V 39 w(clien)m(t)p 849 -1101 V 42 w(get)p 1011 1101 V 41 w(hin)m(t],)31 b(page)g(159.)150 +1101 V 42 w(get)p 1011 1101 V 41 w(hin)m(t],)31 b(page)g(157.)150 1246 y(There)39 b(is)h(no)f(standard)g(mec)m(hanism)h(to)g(deriv)m(e)g (a)g(PSK)e(k)m(ey)j(from)e(a)h(passw)m(ord)e(sp)s(eci\014ed)h(b)m(y)h (the)150 1356 y(TLS)23 b(PSK)f(do)s(cumen)m(t.)39 b(Ho)m(w)m(ev)m(er,) 27 b(Gn)m(uTLS)22 b(pro)m(vides)i([gn)m(utls)p 2382 1356 V 41 w(psk)p 2558 1356 V 39 w(netconf)p 2887 1356 V 40 -w(deriv)m(e)p 3164 1356 V 41 w(k)m(ey],)i(page)f(160)150 +w(deriv)m(e)p 3164 1356 V 41 w(k)m(ey],)i(page)f(157)150 1465 y(whic)m(h)30 b(follo)m(ws)i(the)e(algorithm)i(sp)s(eci\014ed)d -(in)h(`)p Fs(draft-ietf-netconf-tls-02.)o(txt)p FB('.)150 +(in)h(`)p Ft(draft-ietf-netconf-tls-02.)o(txt)p FB('.)150 1610 y(Some)g(help)s(er)g(functions)g(suc)m(h)g(as:)225 -1755 y Fy(\017)60 b FB([gn)m(utls)p 601 1755 V 41 w(hex)p -781 1755 V 40 w(enco)s(de],)31 b(page)g(149)225 1894 -y Fy(\017)60 b FB([gn)m(utls)p 601 1894 V 41 w(hex)p -781 1894 V 40 w(deco)s(de],)31 b(page)g(149)150 2069 -y(are)g(included)e(in)h Ft(Gn)n(uTLS)p FB(,)h(and)f(ma)m(y)h(b)s(e)f -(used)f(to)i(generate)h(and)e(main)m(tain)h Ft(PSK)f +1755 y Fs(\017)60 b FB([gn)m(utls)p 601 1755 V 41 w(hex)p +781 1755 V 40 w(enco)s(de],)31 b(page)g(147)225 1894 +y Fs(\017)60 b FB([gn)m(utls)p 601 1894 V 41 w(hex)p +781 1894 V 40 w(deco)s(de],)31 b(page)g(147)150 2069 +y(are)g(included)e(in)h Fu(Gn)n(uTLS)p FB(,)h(and)f(ma)m(y)h(b)s(e)f +(used)f(to)i(generate)h(and)e(main)m(tain)h Fu(PSK)f FB(k)m(eys.)150 2317 y FA(4.5)68 b(Authen)l(tication)46 -b(and)f(Creden)l(tials)150 2476 y FB(In)27 b Ft(Gn)n(uTLS)i +b(and)f(Creden)l(tials)150 2476 y FB(In)27 b Fu(Gn)n(uTLS)i FB(ev)m(ery)g(k)m(ey)f(exc)m(hange)i(metho)s(d)e(is)g(asso)s(ciated)i (with)d(a)i(creden)m(tials)g(t)m(yp)s(e.)41 b(So)28 b(in)g(order)f(to) 150 2586 y(enable)i(to)g(enable)g(a)f(sp)s(eci\014c)h(metho)s(d,)f(the) g(corresp)s(onding)g(creden)m(tials)i(t)m(yp)s(e)e(should)f(b)s(e)h (initialized)150 2696 y(and)i(set)h(using)f([gn)m(utls)p -978 2696 V 40 w(creden)m(tials)p 1439 2696 V 42 w(set],)h(page)g(134.) +978 2696 V 40 w(creden)m(tials)p 1439 2696 V 42 w(set],)h(page)g(135.) 42 b(A)31 b(mapping)e(is)i(sho)m(wn)f(b)s(elo)m(w.)150 2840 y(Key)g(exc)m(hange)i(algorithms)g(and)d(the)i(corresp)s(onding)e (creden)m(tial)j(t)m(yp)s(es:)150 3095 y Fn(Key)f(exc)m(hange)628 b(Clien)m(t)31 b(creden)m(tials)381 b(Serv)m(er)31 b(creden)m(tials)150 -3312 y Fs(KX_RSA)150 3422 y(KX_DHE_RSA)150 3532 y(KX_DHE_DSS)150 +3312 y Ft(KX_RSA)150 3422 y(KX_DHE_RSA)150 3532 y(KX_DHE_DSS)150 3641 y(KX_RSA_EXPORT)556 b(CRD_CERTIFICATE)360 b(CRD_CERTIFICATE)150 3859 y(KX_SRP_RSA)700 b(CRD_SRP)744 b(CRD_SRP)150 3968 y(KX_SRP_DSS)1780 b(CRD_CERTIFICATE)150 4186 y(KX_SRP)892 @@ -15675,17 +11934,17 @@ (within)150 5230 y(the)40 b(creden)m(tials)h(structures,)g(so)f(all)g (sessions)f(can)h(access)h(them.)68 b(Those)39 b(parameters)h(are)g (stored)150 5340 y(in)32 b(structures)g(suc)m(h)g(as)g -Fs(gnutls_dh_params_t)c FB(and)j Fs(gnutls_rsa_params_t)p +Ft(gnutls_dh_params_t)c FB(and)j Ft(gnutls_rsa_params_t)p FB(,)d(and)k(functions)g(lik)m(e)p eop end %%Page: 22 28 TeXDict begin 22 27 bop 150 -116 a FB(Chapter)30 b(4:)41 b(Authen)m(tication)32 b(Metho)s(ds)2074 b(22)150 299 y([gn)m(utls)p 421 299 28 4 v 41 w(certi\014cate)p 849 299 V 42 w(set)p 1002 299 V 40 w(dh)p 1144 299 V 39 w(params],)24 -b(page)e(123)i(and)d([gn)m(utls)p 2341 299 V 40 w(certi\014cate)p +b(page)e(125)i(and)d([gn)m(utls)p 2341 299 V 40 w(certi\014cate)p 2768 299 V 42 w(set)p 2921 299 V 41 w(rsa)p 3079 299 V 40 w(exp)s(ort)p 3377 299 V 40 w(params],)150 408 y(page)31 -b(123)h(can)e(b)s(e)g(used)g(to)h(asso)s(ciate)h(those)f(parameters)g +b(125)h(can)e(b)s(e)g(used)g(to)h(asso)s(ciate)h(those)f(parameters)g (with)f(the)g(giv)m(en)i(creden)m(tials)g(structure.)150 543 y(Since)47 b(those)h(parameters)g(need)e(to)i(b)s(e)f(renew)m(ed)g (from)g(time)h(to)g(time)g(and)e(a)i(global)g(structure)150 @@ -15695,9 +11954,9 @@ b(ailable)41 b(using)d(a)g(callbac)m(k)j(function.)64 b(This)38 b(can)g(b)s(e)g(set)h(using)f(the)150 872 y([gn)m(utls)p 421 872 V 41 w(certi\014cate)p 849 872 V 42 w(set)p 1002 -872 V 40 w(params)p 1331 872 V 40 w(function],)31 b(page)g(123.)42 +872 V 40 w(params)p 1331 872 V 40 w(function],)31 b(page)g(125.)42 b(An)30 b(example)h(is)f(sho)m(wn)g(b)s(elo)m(w.)390 -1006 y Fs(#include)46 b()390 1225 y(gnutls_rsa_params_t)d +1006 y Ft(#include)46 b()390 1225 y(gnutls_rsa_params_t)d (rsa_params;)390 1335 y(gnutls_dh_params_t)g(dh_params;)390 1554 y(/*)k(This)g(function)e(will)i(be)g(called)f(once)h(a)g(session)f (requests)g(DH)438 1664 y(*)h(or)g(RSA)g(parameters.)e(The)i @@ -15722,18 +11981,18 @@ %%Page: 23 29 TeXDict begin 23 28 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 -b(23)150 299 y Fx(5)80 b(More)54 b(on)f(Certi\014cate)e(Authen)l -(tication)150 609 y FA(5.1)68 b(The)45 b Fu(X.509)g FA(T)-11 -b(rust)44 b(Mo)t(del)150 768 y FB(The)37 b Ft(X.509)f +b(23)150 299 y Fy(5)80 b(More)54 b(on)f(Certi\014cate)e(Authen)l +(tication)150 658 y FA(5.1)68 b(The)45 b Fv(X.509)g FA(T)-11 +b(rust)44 b(Mo)t(del)150 818 y FB(The)37 b Fu(X.509)f FB(proto)s(cols)i(rely)f(on)h(a)f(hierarc)m(hical)i(trust)e(mo)s(del.) 61 b(In)37 b(this)g(trust)g(mo)s(del)g(Certi\014cation)150 -878 y(Authorities)21 b(\(CAs\))g(are)f(used)g(to)h(certify)g(en)m +927 y(Authorities)21 b(\(CAs\))g(are)f(used)g(to)h(certify)g(en)m (tities.)39 b(Usually)21 b(more)f(than)g(one)h(certi\014cation)h -(authorities)150 987 y(exist,)30 b(and)e(certi\014cation)i(authorities) -g(ma)m(y)f(certify)g(other)g(authorities)h(to)f(issue)f(certi\014cates) -j(as)e(w)m(ell,)150 1097 y(follo)m(wing)j(a)f(hierarc)m(hical)g(mo)s -(del.)150 3453 y @beginspecial 0 @llx 0 @lly 470 @urx -617 @ury 1984 @rwi @setspecial +(authorities)150 1037 y(exist,)30 b(and)e(certi\014cation)i +(authorities)g(ma)m(y)f(certify)g(other)g(authorities)h(to)f(issue)f +(certi\014cates)j(as)e(w)m(ell,)150 1146 y(follo)m(wing)j(a)f(hierarc)m +(hical)g(mo)s(del.)150 3565 y @beginspecial 0 @llx 0 +@lly 470 @urx 617 @ury 1984 @rwi @setspecial %%BeginDocument: gnutls-x509.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: tree1 @@ -15988,240 +12247,241 @@ showpage %%EndDocument - @endspecial 173 x(One)41 b(needs)g(to)h(trust)f(one)h(or)g(more)f(CAs) + @endspecial 258 x(One)41 b(needs)g(to)h(trust)f(one)h(or)g(more)f(CAs) g(for)h(his)f(secure)g(comm)m(unications.)75 b(In)41 -b(that)h(case)h(only)150 3736 y(the)32 b(certi\014cates)i(issued)d(b)m +b(that)h(case)h(only)150 3932 y(the)32 b(certi\014cates)i(issued)d(b)m (y)h(the)f(trusted)h(authorities)h(are)f(acceptable.)47 b(See)32 b(the)g(\014gure)f(ab)s(o)m(v)m(e)i(for)f(a)150 -3845 y(t)m(ypical)22 b(example.)39 b(The)20 b(API)g(for)h(handling)f -Ft(X.509)f FB(certi\014cates)k(is)e(describ)s(ed)e(at)j(section)g -([sec:x509api],)150 3955 y(page)31 b(181.)42 b(Some)31 -b(examples)f(are)h(listed)g(b)s(elo)m(w.)150 4147 y Fu(5.1.1)63 -b Fn(X.509)42 b Fu(Certi\014cates)150 4294 y FB(An)30 -b Ft(X.509)f FB(certi\014cate)k(usually)d(con)m(tains)i(information)e +4042 y(t)m(ypical)22 b(example.)39 b(The)20 b(API)g(for)h(handling)f +Fu(X.509)f FB(certi\014cates)k(is)e(describ)s(ed)e(at)j(section)g +([sec:x509api],)150 4152 y(page)31 b(176.)42 b(Some)31 +b(examples)f(are)h(listed)g(b)s(elo)m(w.)150 4359 y Fv(5.1.1)63 +b FB(X.509)42 b Fv(Certi\014cates)150 4506 y FB(An)30 +b Fu(X.509)f FB(certi\014cate)k(usually)d(con)m(tains)i(information)e (ab)s(out)h(the)f(certi\014cate)j(holder,)d(the)h(signer,)g(a)150 -4403 y(unique)24 b(serial)j(n)m(um)m(b)s(er,)e(expiration)h(dates)g +4615 y(unique)24 b(serial)j(n)m(um)m(b)s(er,)e(expiration)h(dates)g (and)f(some)g(other)h(\014elds)f([RF)m(C3280])j(\(see)e([Bibliograph)m -(y],)150 4513 y(page)31 b(330\))h(as)f(sho)m(wn)f(in)g(the)g(table)h(b) -s(elo)m(w.)150 4665 y Fs(version:)96 b FB(The)30 b(\014eld)g(that)h +(y],)150 4725 y(page)31 b(310\))h(as)f(sho)m(wn)f(in)g(the)g(table)h(b) +s(elo)m(w.)150 4896 y Ft(version:)96 b FB(The)30 b(\014eld)g(that)h (indicates)g(the)g(v)m(ersion)g(of)f(the)h(certi\014cate.)150 -4817 y Fs(serialNumber:)630 4926 y FB(This)f(\014eld)g(holds)f(a)i +5063 y Ft(serialNumber:)630 5173 y FB(This)f(\014eld)g(holds)f(a)i (unique)f(serial)h(n)m(um)m(b)s(er)e(p)s(er)g(certi\014cate.)150 -5078 y Fs(issuer:)144 b FB(Holds)31 b(the)f(issuer's)g(distinguished)g -(name.)150 5230 y Fs(validity:)630 5340 y FB(The)g(activ)-5 -b(ation)33 b(and)c(expiration)i(dates.)p eop end +5340 y Ft(issuer:)144 b FB(Holds)31 b(the)f(issuer's)g(distinguished)g +(name.)p eop end %%Page: 24 30 TeXDict begin 24 29 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 -b(24)150 299 y Fs(subject:)96 b FB(The)30 b(sub)5 b(ject's)30 -b(distinguished)g(name)g(of)h(the)f(certi\014cate.)150 -461 y Fs(extensions:)630 570 y FB(The)g(extensions)h(are)g(\014elds)e -(only)i(presen)m(t)f(in)g(v)m(ersion)h(3)g(certi\014cates.)150 -733 y(The)38 b(certi\014cate's)j Fm(subje)-5 b(ct)41 -b(or)g(issuer)f(name)47 b FB(is)38 b(not)i(just)e(a)h(single)h(string.) -66 b(It)39 b(is)g(a)g(Distinguished)150 842 y(name)25 -b(and)g(in)f(the)i Ft(ASN.1)f FB(notation)h(is)f(a)h(sequence)f(of)h -(sev)m(eral)g(ob)5 b(ject)26 b(IDs)f(with)g(their)g(corresp)s(onding) -150 952 y(v)-5 b(alues.)56 b(Some)36 b(of)f(a)m(v)-5 -b(ailable)38 b(OIDs)d(to)h(b)s(e)f(used)g(in)g(an)g Ft(X.509)f -FB(distinguished)h(name)g(are)h(de\014ned)e(in)150 1062 -y(`)p Fs(gnutls/x509.h)p FB('.)150 1198 y(The)d Fm(V)-7 -b(ersion)38 b FB(\014eld)31 b(in)f(a)i(certi\014cate)h(has)e(v)-5 -b(alues)31 b(either)h(1)f(or)g(3)h(for)f(v)m(ersion)g(3)h -(certi\014cates.)44 b(V)-8 b(ersion)150 1308 y(1)35 b(certi\014cates)i -(do)e(not)g(supp)s(ort)f(the)h(extensions)g(\014eld)g(so)g(it)h(is)f -(not)g(p)s(ossible)g(to)h(distinguish)e(a)h(CA)150 1418 -y(from)30 b(a)h(p)s(erson,)e(th)m(us)h(their)g(usage)h(should)f(b)s(e)g -(a)m(v)m(oided.)150 1554 y(The)i Fm(validity)41 b FB(dates)33 -b(are)f(there)h(to)g(indicate)g(the)g(date)g(that)f(the)h(sp)s -(eci\014c)f(certi\014cate)i(w)m(as)f(activ)-5 b(ated)150 -1664 y(and)30 b(the)g(date)h(the)g(certi\014cate's)h(k)m(ey)g(w)m(ould) -e(b)s(e)g(considered)g(in)m(v)-5 b(alid.)150 1801 y(Certi\014cate)34 -b Fm(extensions)42 b FB(are)33 b(there)g(to)h(include)f(information)g -(ab)s(out)g(the)g(certi\014cate's)j(sub)5 b(ject)32 b(that)150 -1910 y(did)23 b(not)i(\014t)f(in)g(the)g(t)m(ypical)i(certi\014cate)g -(\014elds.)38 b(Those)24 b(ma)m(y)h(b)s(e)e(e-mail)j(addresses,)f -(\015ags)f(that)h(indicate)150 2020 y(whether)32 b(the)h(b)s(elongs)g -(to)h(a)f(CA)g(etc.)49 b(All)33 b(the)h(supp)s(orted)d -Ft(X.509)g FB(v)m(ersion)j(3)f(extensions)g(are)h(sho)m(wn)150 -2129 y(in)c(the)h(table)g(b)s(elo)m(w.)150 2292 y Fs(subject)d(key)i -(id)g(\(2.5.29.14\):)630 2402 y FB(An)g(iden)m(ti\014er)h(of)f(the)h(k) -m(ey)g(of)f(the)h(sub)5 b(ject.)150 2563 y Fs(authority)28 -b(key)h(id)h(\(2.5.29.35\):)630 2673 y FB(An)g(iden)m(ti\014er)h(of)f -(the)h(authorit)m(y's)g(k)m(ey)g(used)f(to)h(sign)f(the)h -(certi\014cate.)150 2835 y Fs(subject)d(alternative)g(name)h -(\(2.5.29.17\):)630 2944 y FB(Alternativ)m(e)k(names)d(to)h(sub)5 -b(ject's)30 b(distinguished)g(name.)150 3106 y Fs(key)f(usage)g -(\(2.5.29.15\):)630 3216 y FB(Constrain)m(ts)i(the)f(k)m(ey's)h(usage)g -(of)g(the)g(certi\014cate.)150 3377 y Fs(extended)d(key)i(usage)f -(\(2.5.29.37\):)630 3487 y FB(Constrain)m(ts)i(the)f(purp)s(ose)f(of)h -(the)h(certi\014cate.)150 3648 y Fs(basic)e(constraints)e -(\(2.5.29.19\):)630 3758 y FB(Indicates)d(whether)g(this)g(is)g(a)g(CA) -g(certi\014cate)i(or)e(not,)h(and)f(sp)s(ecify)f(the)h(maxim)m(um)g -(path)630 3868 y(lengths)31 b(of)f(certi\014cate)j(c)m(hains.)150 -4029 y Fs(CRL)c(distribution)f(points)g(\(2.5.29.31\):)630 -4139 y FB(This)i(extension)h(is)f(set)h(b)m(y)f(the)h(CA,)f(in)g(order) -g(to)h(inform)f(ab)s(out)g(the)h(issued)e(CRLs.)150 4300 -y Fs(Proxy)g(Certification)e(Information)g(\(1.3.6.1.5.5.7.1.14\):)630 -4410 y FB(Pro)m(xy)35 b(Certi\014cates)h(includes)e(this)g(extension)h +b(24)150 299 y Ft(validity:)630 408 y FB(The)30 b(activ)-5 +b(ation)33 b(and)c(expiration)i(dates.)150 567 y Ft(subject:)96 +b FB(The)30 b(sub)5 b(ject's)30 b(distinguished)g(name)g(of)h(the)f +(certi\014cate.)150 725 y Ft(extensions:)630 835 y FB(The)g(extensions) +h(are)g(\014elds)e(only)i(presen)m(t)f(in)g(v)m(ersion)h(3)g +(certi\014cates.)150 993 y(The)38 b(certi\014cate's)j +Fm(subje)-5 b(ct)41 b(or)g(issuer)f(name)47 b FB(is)38 +b(not)i(just)e(a)h(single)h(string.)66 b(It)39 b(is)g(a)g +(Distinguished)150 1103 y(name)25 b(and)g(in)f(the)i +Fu(ASN.1)f FB(notation)h(is)f(a)h(sequence)f(of)h(sev)m(eral)g(ob)5 +b(ject)26 b(IDs)f(with)g(their)g(corresp)s(onding)150 +1212 y(v)-5 b(alues.)56 b(Some)36 b(of)f(a)m(v)-5 b(ailable)38 +b(OIDs)d(to)h(b)s(e)f(used)g(in)g(an)g Fu(X.509)f FB(distinguished)h +(name)g(are)h(de\014ned)e(in)150 1322 y(`)p Ft(gnutls/x509.h)p +FB('.)150 1456 y(The)d Fm(V)-7 b(ersion)38 b FB(\014eld)31 +b(in)f(a)i(certi\014cate)h(has)e(v)-5 b(alues)31 b(either)h(1)f(or)g(3) +h(for)f(v)m(ersion)g(3)h(certi\014cates.)44 b(V)-8 b(ersion)150 +1565 y(1)35 b(certi\014cates)i(do)e(not)g(supp)s(ort)f(the)h +(extensions)g(\014eld)g(so)g(it)h(is)f(not)g(p)s(ossible)g(to)h +(distinguish)e(a)h(CA)150 1675 y(from)30 b(a)h(p)s(erson,)e(th)m(us)h +(their)g(usage)h(should)f(b)s(e)g(a)m(v)m(oided.)150 +1809 y(The)i Fm(validity)41 b FB(dates)33 b(are)f(there)h(to)g +(indicate)g(the)g(date)g(that)f(the)h(sp)s(eci\014c)f(certi\014cate)i +(w)m(as)f(activ)-5 b(ated)150 1918 y(and)30 b(the)g(date)h(the)g +(certi\014cate's)h(k)m(ey)g(w)m(ould)e(b)s(e)g(considered)g(in)m(v)-5 +b(alid.)150 2052 y(Certi\014cate)34 b Fm(extensions)42 +b FB(are)33 b(there)g(to)h(include)f(information)g(ab)s(out)g(the)g +(certi\014cate's)j(sub)5 b(ject)32 b(that)150 2162 y(did)23 +b(not)i(\014t)f(in)g(the)g(t)m(ypical)i(certi\014cate)g(\014elds.)38 +b(Those)24 b(ma)m(y)h(b)s(e)e(e-mail)j(addresses,)f(\015ags)f(that)h +(indicate)150 2271 y(whether)32 b(the)h(b)s(elongs)g(to)h(a)f(CA)g +(etc.)49 b(All)33 b(the)h(supp)s(orted)d Fu(X.509)g FB(v)m(ersion)j(3)f +(extensions)g(are)h(sho)m(wn)150 2381 y(in)c(the)h(table)g(b)s(elo)m +(w.)150 2539 y Ft(subject)d(key)i(id)g(\(2.5.29.14\):)630 +2649 y FB(An)g(iden)m(ti\014er)h(of)f(the)h(k)m(ey)g(of)f(the)h(sub)5 +b(ject.)150 2807 y Ft(authority)28 b(key)h(id)h(\(2.5.29.35\):)630 +2917 y FB(An)g(iden)m(ti\014er)h(of)f(the)h(authorit)m(y's)g(k)m(ey)g +(used)f(to)h(sign)f(the)h(certi\014cate.)150 3075 y Ft(subject)d +(alternative)g(name)h(\(2.5.29.17\):)630 3185 y FB(Alternativ)m(e)k +(names)d(to)h(sub)5 b(ject's)30 b(distinguished)g(name.)150 +3343 y Ft(key)f(usage)g(\(2.5.29.15\):)630 3453 y FB(Constrain)m(ts)i +(the)f(k)m(ey's)h(usage)g(of)g(the)g(certi\014cate.)150 +3611 y Ft(extended)d(key)i(usage)f(\(2.5.29.37\):)630 +3720 y FB(Constrain)m(ts)i(the)f(purp)s(ose)f(of)h(the)h +(certi\014cate.)150 3879 y Ft(basic)e(constraints)e(\(2.5.29.19\):)630 +3988 y FB(Indicates)d(whether)g(this)g(is)g(a)g(CA)g(certi\014cate)i +(or)e(not,)h(and)f(sp)s(ecify)f(the)h(maxim)m(um)g(path)630 +4098 y(lengths)31 b(of)f(certi\014cate)j(c)m(hains.)150 +4256 y Ft(CRL)c(distribution)f(points)g(\(2.5.29.31\):)630 +4366 y FB(This)i(extension)h(is)f(set)h(b)m(y)f(the)h(CA,)f(in)g(order) +g(to)h(inform)f(ab)s(out)g(the)h(issued)e(CRLs.)150 4524 +y Ft(Proxy)g(Certification)e(Information)g(\(1.3.6.1.5.5.7.1.14\):)630 +4634 y FB(Pro)m(xy)35 b(Certi\014cates)h(includes)e(this)g(extension)h (that)h(con)m(tains)f(the)g(OID)g(of)f(the)h(pro)m(xy)630 -4520 y(p)s(olicy)30 b(language)h(used,)f(and)f(can)h(sp)s(ecify)g +4743 y(p)s(olicy)30 b(language)h(used,)f(and)f(can)h(sp)s(ecify)g (limits)g(on)g(the)g(maxim)m(um)g(lengths)g(of)g(pro)m(xy)630 -4629 y(c)m(hains.)107 b(Pro)m(xy)52 b(Certi\014cates)h(are)g(sp)s +4853 y(c)m(hains.)107 b(Pro)m(xy)52 b(Certi\014cates)h(are)g(sp)s (eci\014ed)e(in)h([RF)m(C3820])j(\(see)e([Bibliograph)m(y],)630 -4739 y(page)31 b(330\).)150 4902 y(In)e Ft(Gn)n(uTLS)h -FB(the)g Ft(X.509)f FB(certi\014cate)j(structures)d(are)i(handled)e -(using)g(the)i Fs(gnutls_x509_crt_t)25 b FB(t)m(yp)s(e)150 -5011 y(and)32 b(the)g(corresp)s(onding)f(priv)-5 b(ate)32 -b(k)m(eys)h(with)f(the)g Fs(gnutls_x509_privkey_t)27 +4963 y(page)31 b(310\).)150 5121 y(In)e Fu(Gn)n(uTLS)h +FB(the)g Fu(X.509)f FB(certi\014cate)j(structures)d(are)i(handled)e +(using)g(the)i Ft(gnutls_x509_crt_t)25 b FB(t)m(yp)s(e)150 +5230 y(and)32 b(the)g(corresp)s(onding)f(priv)-5 b(ate)32 +b(k)m(eys)h(with)f(the)g Ft(gnutls_x509_privkey_t)27 b FB(t)m(yp)s(e.)46 b(All)33 b(the)f(a)m(v)-5 b(ail-)150 -5121 y(able)31 b(functions)f(for)h Ft(X.509)e FB(certi\014cate)k +5340 y(able)31 b(functions)f(for)h Fu(X.509)e FB(certi\014cate)k (handling)c(ha)m(v)m(e)j(their)f(protot)m(yp)s(es)g(in)f(`)p -Fs(gnutls/x509.h)p FB('.)38 b(An)150 5230 y(example)k(program)e(to)i -(demonstrate)g(the)f Ft(X.509)f FB(parsing)g(capabilities)j(can)e(b)s -(e)f(found)g(at)i(section)150 5340 y([ex:x509-info],)33 -b(page)e(93.)p eop end +Ft(gnutls/x509.h)p FB('.)38 b(An)p eop end %%Page: 25 31 TeXDict begin 25 30 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 -b(25)150 299 y Fu(5.1.2)63 b(V)-10 b(erifying)41 b Fn(X.509)h -Fu(Certi\014cate)e(P)m(aths)150 446 y FB(V)-8 b(erifying)49 +b(25)150 299 y(example)42 b(program)e(to)i(demonstrate)g(the)f +Fu(X.509)f FB(parsing)g(capabilities)j(can)e(b)s(e)f(found)g(at)i +(section)150 408 y([ex:x509-info],)33 b(page)e(96.)150 +615 y Fv(5.1.2)63 b(V)-10 b(erifying)41 b FB(X.509)i +Fv(Certi\014cate)c(P)m(aths)150 762 y FB(V)-8 b(erifying)49 b(certi\014cate)h(paths)d(is)h(imp)s(ortan)m(t)h(in)e -Ft(X.509)g FB(authen)m(tication.)96 b(F)-8 b(or)49 b(this)e(purp)s(ose) -g(the)150 555 y(function)e([gn)m(utls)p 792 555 28 4 -v 41 w(x509)p 1016 555 V 41 w(crt)p 1168 555 V 40 w(v)m(erify],)50 -b(page)c(233)h(is)e(pro)m(vided.)85 b(The)45 b(output)f(of)i(this)f -(function)g(is)150 665 y(the)57 b(bit)m(wise)h(OR)f(of)g(the)g(elemen)m -(ts)i(of)e(the)g Fs(gnutls_certificate_status_)o(t)51 -b FB(en)m(umeration.)150 775 y(A)e(detailed)h(description)e(of)h(these) -g(elemen)m(ts)h(can)f(b)s(e)f(found)g(in)g(\014gure)g(b)s(elo)m(w.)96 -b(The)48 b(function)150 884 y([gn)m(utls)p 421 884 V -41 w(certi\014cate)p 849 884 V 42 w(v)m(erify)p 1113 -884 V 40 w(p)s(eers2],)29 b(page)g(130)g(is)g(equiv)-5 +Fu(X.509)g FB(authen)m(tication.)96 b(F)-8 b(or)49 b(this)e(purp)s(ose) +g(the)150 871 y(function)e([gn)m(utls)p 792 871 28 4 +v 41 w(x509)p 1016 871 V 41 w(crt)p 1168 871 V 40 w(v)m(erify],)50 +b(page)c(218)h(is)e(pro)m(vided.)85 b(The)45 b(output)f(of)i(this)f +(function)g(is)150 981 y(the)57 b(bit)m(wise)h(OR)f(of)g(the)g(elemen)m +(ts)i(of)e(the)g Ft(gnutls_certificate_status_)o(t)51 +b FB(en)m(umeration.)150 1091 y(A)e(detailed)h(description)e(of)h +(these)g(elemen)m(ts)h(can)f(b)s(e)f(found)g(in)g(\014gure)g(b)s(elo)m +(w.)96 b(The)48 b(function)150 1200 y([gn)m(utls)p 421 +1200 V 41 w(certi\014cate)p 849 1200 V 42 w(v)m(erify)p +1113 1200 V 40 w(p)s(eers2],)29 b(page)g(131)g(is)g(equiv)-5 b(alen)m(t)29 b(to)g(the)g(previous)e(one,)i(and)f(will)h(v)m(erify)150 -994 y(the)i(p)s(eer's)e(certi\014cate)k(in)d(a)h(TLS)e(session.)150 -1155 y Fs(CERT_INVALID:)630 1264 y FB(The)j(certi\014cate)j(is)d(not)h +1310 y(the)i(p)s(eer's)e(certi\014cate)k(in)d(a)h(TLS)e(session.)150 +1480 y Ft(CERT_INVALID:)630 1589 y FB(The)j(certi\014cate)j(is)d(not)h (signed)f(b)m(y)h(one)g(of)f(the)h(kno)m(wn)f(authorities,)i(or)f(the)g -(signature)630 1374 y(is)d(in)m(v)-5 b(alid.)150 1534 -y Fs(CERT_REVOKED:)630 1644 y FB(The)30 b(certi\014cate)i(has)e(b)s -(een)g(rev)m(ok)m(ed)i(b)m(y)e(its)h(CA.)150 1805 y Fs -(CERT_SIGNER_NOT_FOUND:)630 1914 y FB(The)f(certi\014cate's)i(issuer)e +(signature)630 1699 y(is)d(in)m(v)-5 b(alid.)150 1866 +y Ft(CERT_REVOKED:)630 1975 y FB(The)30 b(certi\014cate)i(has)e(b)s +(een)g(rev)m(ok)m(ed)i(b)m(y)e(its)h(CA.)150 2142 y Ft +(CERT_SIGNER_NOT_FOUND:)630 2251 y FB(The)f(certi\014cate's)i(issuer)e (is)g(not)h(kno)m(wn.)40 b(This)29 b(is)h(the)h(case)g(when)e(the)i -(issuer)e(is)i(not)f(in)630 2024 y(the)h(trusted)e(certi\014cates)k -(list.)150 2184 y Fs(GNUTLS_CERT_SIGNER_NOT_C)o(A:)630 -2294 y FB(The)d(certi\014cate's)i(signer)e(w)m(as)h(not)f(a)h(CA.)f +(issuer)e(is)i(not)f(in)630 2361 y(the)h(trusted)e(certi\014cates)k +(list.)150 2527 y Ft(GNUTLS_CERT_SIGNER_NOT_C)o(A:)630 +2637 y FB(The)d(certi\014cate's)i(signer)e(w)m(as)h(not)f(a)h(CA.)f (This)f(ma)m(y)i(happ)s(en)e(if)h(this)g(w)m(as)g(a)h(v)m(ersion)g(1) -630 2403 y(certi\014cate,)i(whic)m(h)d(is)g(common)h(with)f(some)h +630 2747 y(certi\014cate,)i(whic)m(h)d(is)g(common)h(with)f(some)h (CAs,)f(or)h(a)g(v)m(ersion)g(3)f(certi\014cate)j(without)630 -2513 y(the)e(basic)f(constrains)h(extension.)150 2673 -y Fs(GNUTLS_CERT_INSECURE_ALG)o(ORIT)o(HM:)630 2783 y +2856 y(the)e(basic)f(constrains)h(extension.)150 3023 +y Ft(GNUTLS_CERT_INSECURE_ALG)o(ORIT)o(HM:)630 3132 y FB(The)j(certi\014cate)j(w)m(as)e(signed)g(using)f(an)h(insecure)g -(algorithm)g(suc)m(h)g(as)g(MD2)h(or)f(MD5.)630 2893 +(algorithm)g(suc)m(h)g(as)g(MD2)h(or)f(MD5.)630 3242 y(These)30 b(algorithms)h(ha)m(v)m(e)h(b)s(een)e(brok)m(en)g(and)g -(should)f(not)i(b)s(e)e(trusted.)150 3054 y(There)41 +(should)f(not)i(b)s(e)e(trusted.)150 3412 y(There)41 b(is)g(also)h(to)g(p)s(ossibilit)m(y)g(to)g(pass)f(some)h(input)e(to)i (the)f(v)m(eri\014cation)i(functions)e(in)g(the)g(form)150 -3163 y(of)54 b(\015ags.)111 b(F)-8 b(or)55 b([gn)m(utls)p -1048 3163 V 40 w(x509)p 1271 3163 V 42 w(crt)p 1424 3163 -V 40 w(v)m(erify],)61 b(page)54 b(233)h(the)f(\015ags)g(are)h(passed)e -(straigh)m(tforw)m(ard,)150 3273 y(but)65 b([gn)m(utls)p -623 3273 V 40 w(certi\014cate)p 1050 3273 V 42 w(v)m(erify)p -1314 3273 V 41 w(p)s(eers2],)74 b(page)66 b(130)h(dep)s(ends)c(on)i -(the)h(\015ags)f(set)h(b)m(y)f(calling)150 3382 y([gn)m(utls)p -421 3382 V 41 w(certi\014cate)p 849 3382 V 42 w(set)p -1002 3382 V 40 w(v)m(erify)p 1264 3382 V 41 w(\015ags],)e(page)57 -b(124.)118 b(All)57 b(the)f(a)m(v)-5 b(ailable)58 b(\015ags)f(are)f -(part)g(of)g(the)150 3492 y(en)m(umeration)31 b([gn)m(utls)p -944 3492 V 41 w(certi\014cate)p 1372 3492 V 42 w(v)m(erify)p -1636 3492 V 40 w(\015ags],)g(page)g(25)h(and)d(are)i(explained)g(in)f -(the)g(table)i(b)s(elo)m(w.)150 3653 y Fs(GNUTLS_VERIFY_DISABLE_CA)o -(_SIG)o(N:)630 3763 y FB(If)41 b(set)h(a)g(signer)f(do)s(es)g(not)h(ha) +3522 y(of)54 b(\015ags.)111 b(F)-8 b(or)55 b([gn)m(utls)p +1048 3522 V 40 w(x509)p 1271 3522 V 42 w(crt)p 1424 3522 +V 40 w(v)m(erify],)61 b(page)54 b(218)h(the)f(\015ags)g(are)h(passed)e +(straigh)m(tforw)m(ard,)150 3631 y(but)65 b([gn)m(utls)p +623 3631 V 40 w(certi\014cate)p 1050 3631 V 42 w(v)m(erify)p +1314 3631 V 41 w(p)s(eers2],)74 b(page)66 b(131)h(dep)s(ends)c(on)i +(the)h(\015ags)f(set)h(b)m(y)f(calling)150 3741 y([gn)m(utls)p +421 3741 V 41 w(certi\014cate)p 849 3741 V 42 w(set)p +1002 3741 V 40 w(v)m(erify)p 1264 3741 V 41 w(\015ags],)e(page)57 +b(125.)118 b(All)57 b(the)f(a)m(v)-5 b(ailable)58 b(\015ags)f(are)f +(part)g(of)g(the)150 3850 y(en)m(umeration)31 b([gn)m(utls)p +944 3850 V 41 w(certi\014cate)p 1372 3850 V 42 w(v)m(erify)p +1636 3850 V 40 w(\015ags],)g(page)g(25)h(and)d(are)i(explained)g(in)f +(the)g(table)i(b)s(elo)m(w.)150 4021 y Ft(GNUTLS_VERIFY_DISABLE_CA)o +(_SIG)o(N:)630 4130 y FB(If)41 b(set)h(a)g(signer)f(do)s(es)g(not)h(ha) m(v)m(e)h(to)f(b)s(e)f(a)h(certi\014cate)h(authorit)m(y)-8 -b(.)75 b(This)41 b(\015ag)h(should)630 3872 y(normaly)30 +b(.)75 b(This)41 b(\015ag)h(should)630 4240 y(normaly)30 b(b)s(e)g(disabled,)g(unless)g(y)m(ou)h(kno)m(w)f(what)g(this)h(means.) -150 4033 y Fs(GNUTLS_VERIFY_ALLOW_X509)o(_V1_)o(CA_C)o(RT:)630 -4142 y FB(Allo)m(w)46 b(only)g(trusted)e(CA)h(certi\014cates)i(that)f +150 4406 y Ft(GNUTLS_VERIFY_ALLOW_X509)o(_V1_)o(CA_C)o(RT:)630 +4516 y FB(Allo)m(w)46 b(only)g(trusted)e(CA)h(certi\014cates)i(that)f (ha)m(v)m(e)g(v)m(ersion)g(1.)85 b(This)45 b(is)g(safer)g(than)630 -4252 y(GNUTLS)p 1017 4252 V 40 w(VERIFY)p 1414 4252 V -40 w(ALLO)m(W)p 1797 4252 V 40 w(ANY)p 2041 4252 V 41 -w(X509)p 2285 4252 V 42 w(V1)p 2440 4252 V 40 w(CA)p -2614 4252 V 40 w(CR)-8 b(T,)21 b(and)f(should)g(b)s(e)h(used)f(in-)630 -4361 y(stead.)55 b(That)34 b(w)m(a)m(y)i(only)f(signers)g(in)f(y)m(our) +4625 y(GNUTLS)p 1017 4625 V 40 w(VERIFY)p 1414 4625 V +40 w(ALLO)m(W)p 1797 4625 V 40 w(ANY)p 2041 4625 V 41 +w(X509)p 2285 4625 V 42 w(V1)p 2440 4625 V 40 w(CA)p +2614 4625 V 40 w(CR)-8 b(T,)21 b(and)f(should)g(b)s(e)h(used)f(in-)630 +4735 y(stead.)55 b(That)34 b(w)m(a)m(y)i(only)f(signers)g(in)f(y)m(our) h(trusted)f(list)i(will)f(b)s(e)f(allo)m(w)m(ed)j(to)e(ha)m(v)m(e)h -(cer-)630 4471 y(ti\014cates)c(of)e(v)m(ersion)h(1.)150 -4632 y Fs(GNUTLS_VERIFY_ALLOW_ANY_)o(X509)o(_V1_)o(CA_)o(CRT:)630 -4741 y FB(Allo)m(w)36 b(CA)e(certi\014cates)j(that)e(ha)m(v)m(e)g(v)m +(cer-)630 4845 y(ti\014cates)c(of)e(v)m(ersion)h(1.)150 +5011 y Ft(GNUTLS_VERIFY_ALLOW_ANY_)o(X509)o(_V1_)o(CA_)o(CRT:)630 +5121 y FB(Allo)m(w)36 b(CA)e(certi\014cates)j(that)e(ha)m(v)m(e)g(v)m (ersion)h(1)e(\(b)s(oth)h(ro)s(ot)g(and)e(in)m(termediate\).)56 -b(This)630 4851 y(is)30 b(dangerous)h(since)f(those)h(ha)m(v)m(en't)h +b(This)630 5230 y(is)30 b(dangerous)h(since)f(those)h(ha)m(v)m(en't)h (the)f(basicConstrain)m(ts)g(extension.)42 b(Must)30 -b(b)s(e)g(used)630 4960 y(in)g(com)m(bination)i(with)e(GNUTLS)p -1848 4960 V 39 w(VERIFY)p 2244 4960 V 41 w(ALLO)m(W)p -2628 4960 V 40 w(X509)p 2871 4960 V 42 w(V1)p 3026 4960 -V 40 w(CA)p 3200 4960 V 40 w(CR)-8 b(T.)150 5121 y Fs -(GNUTLS_VERIFY_DO_NOT_ALL)o(OW_S)o(AME:)630 5230 y FB(If)28 -b(a)i(certi\014cate)g(is)f(not)g(signed)g(b)m(y)g(an)m(y)m(one)h -(trusted)e(but)g(exists)i(in)e(the)h(trusted)g(CA)f(list)630 -5340 y(do)i(not)h(treat)g(it)g(as)g(trusted.)p eop end +b(b)s(e)g(used)630 5340 y(in)g(com)m(bination)i(with)e(GNUTLS)p +1848 5340 V 39 w(VERIFY)p 2244 5340 V 41 w(ALLO)m(W)p +2628 5340 V 40 w(X509)p 2871 5340 V 42 w(V1)p 3026 5340 +V 40 w(CA)p 3200 5340 V 40 w(CR)-8 b(T.)p eop end %%Page: 26 32 TeXDict begin 26 31 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 -b(26)150 299 y Fs(GNUTLS_VERIFY_ALLOW_SIGN)o(_RSA)o(_MD2)o(:)630 -408 y FB(Allo)m(w)32 b(certi\014cates)g(to)f(b)s(e)f(signed)g(using)g -(the)g(old)h(MD2)h(algorithm.)150 720 y Fs(GNUTLS_VERIFY_ALLOW_SIGN)o -(_RSA)o(_MD5)o(:)630 830 y FB(Allo)m(w)g(certi\014cates)g(to)f(b)s(e)f +b(26)150 299 y Ft(GNUTLS_VERIFY_DO_NOT_ALL)o(OW_S)o(AME:)630 +408 y FB(If)28 b(a)i(certi\014cate)g(is)f(not)g(signed)g(b)m(y)g(an)m +(y)m(one)h(trusted)e(but)g(exists)i(in)e(the)h(trusted)g(CA)f(list)630 +518 y(do)i(not)h(treat)g(it)g(as)g(trusted.)150 766 y +Ft(GNUTLS_VERIFY_ALLOW_SIGN)o(_RSA)o(_MD2)o(:)630 875 +y FB(Allo)m(w)h(certi\014cates)g(to)f(b)s(e)f(signed)g(using)g(the)g +(old)h(MD2)h(algorithm.)150 1123 y Ft(GNUTLS_VERIFY_ALLOW_SIGN)o(_RSA)o +(_MD5)o(:)630 1233 y FB(Allo)m(w)g(certi\014cates)g(to)f(b)s(e)f (signed)g(using)g(the)g(brok)m(en)h(MD5)g(algorithm.)150 -1218 y(Although)42 b(the)f(v)m(eri\014cation)i(of)f(a)f(certi\014cate)j +1525 y(Although)42 b(the)f(v)m(eri\014cation)i(of)f(a)f(certi\014cate)j (path)d(indicates)h(that)g(the)g(certi\014cate)h(is)f(signed)f(b)m(y) -150 1327 y(trusted)25 b(authorit)m(y)-8 b(,)29 b(do)s(es)c(not)h(rev)m +150 1634 y(trusted)25 b(authorit)m(y)-8 b(,)29 b(do)s(es)c(not)h(rev)m (eal)h(an)m(ything)f(ab)s(out)g(the)g(p)s(eer's)f(iden)m(tit)m(y)-8 -b(.)41 b(It)26 b(is)g(required)f(to)i(v)m(erify)150 1437 +b(.)41 b(It)26 b(is)g(required)f(to)i(v)m(erify)150 1744 y(if)36 b(the)g(certi\014cate's)j(o)m(wner)d(is)g(the)g(one)h(y)m(ou)f (exp)s(ect.)58 b(F)-8 b(or)37 b(more)g(information)f(consult)g([RF)m -(C2818])150 1547 y(\(see)31 b([Bibliograph)m(y],)h(page)g(330\))g(and)d -(section)j([ex:v)m(erify],)g(page)f(42)g(for)g(an)f(example.)150 -1898 y Fu(5.1.3)63 b Fn(PK)m(CS)41 b Fu(#10)g(Certi\014cate)f(Requests) -150 2045 y FB(A)k(certi\014cate)i(request)e(is)f(a)i(structure,)i(whic) -m(h)c(con)m(tain)i(information)f(ab)s(out)g(an)g(applican)m(t)h(of)f(a) -150 2155 y(certi\014cate)38 b(service.)59 b(It)36 b(usually)g(con)m -(tains)h(a)f(priv)-5 b(ate)37 b(k)m(ey)-8 b(,)39 b(a)d(distinguished)f -(name)h(and)g(secondary)150 2264 y(data)j(suc)m(h)f(as)g(a)g(c)m -(hallenge)i(passw)m(ord.)63 b Ft(Gn)n(uTLS)39 b FB(supp)s(orts)d(the)i -(requests)g(de\014ned)f(in)g Ft(PK)n(CS)g FB(#10)150 -2374 y([RF)m(C2986])27 b(\(see)d([Bibliograph)m(y],)j(page)e(330\).)40 -b(Other)23 b(certi\014cate)j(request's)e(format)h(suc)m(h)e(as)h -(PKIX's)150 2484 y([RF)m(C4211])33 b(\(see)e([Bibliograph)m(y],)h(page) -g(330\))g(are)e(not)h(curren)m(tly)f(supp)s(orted.)150 -2770 y(In)h Ft(Gn)n(uTLS)h FB(the)g Ft(PK)n(CS)e FB(#10)i(structures)f -(are)i(handled)d(using)i(the)f Fs(gnutls_x509_crq_t)c -FB(t)m(yp)s(e.)45 b(An)150 2880 y(example)31 b(of)g(a)f(certi\014cate)j -(request)d(generation)i(can)f(b)s(e)e(found)g(at)i(section)h([ex:crq],) -g(page)f(96.)150 3232 y Fu(5.1.4)63 b Fn(PK)m(CS)41 b -Fu(#12)g(Structures)150 3379 y FB(A)36 b Ft(PK)n(CS)e -FB(#12)i(structure)f([PK)m(CS12])h(\(see)h([Bibliograph)m(y],)h(page)e -(330\))i(usually)d(con)m(tains)i(a)f(user's)150 3488 -y(priv)-5 b(ate)38 b(k)m(eys)g(and)e(certi\014cates.)64 -b(It)37 b(is)g(commonly)h(used)f(in)g(bro)m(wsers)f(to)i(exp)s(ort)f -(and)g(imp)s(ort)g(the)150 3598 y(user's)30 b(iden)m(tities.)150 -3885 y(In)k Ft(Gn)n(uTLS)g FB(the)g Ft(PK)n(CS)g FB(#12)h(structures)e -(are)i(handled)e(using)h(the)h Fs(gnutls_pkcs12_t)30 -b FB(t)m(yp)s(e.)53 b(This)150 3994 y(is)29 b(an)g(abstract)g(t)m(yp)s -(e)h(that)f(ma)m(y)g(hold)g(sev)m(eral)h Fs(gnutls_pkcs12_bag_t)24 +(C2818])150 1853 y(\(see)31 b([Bibliograph)m(y],)h(page)g(310\))g(and)d +(section)j([ex:v)m(erify],)g(page)f(43)g(for)g(an)f(example.)150 +2141 y Fv(5.1.3)63 b FB(PK)m(CS)40 b Fv(#10)i(Certi\014cate)d(Requests) +150 2288 y FB(A)44 b(certi\014cate)i(request)e(is)f(a)i(structure,)i +(whic)m(h)c(con)m(tain)i(information)f(ab)s(out)g(an)g(applican)m(t)h +(of)f(a)150 2398 y(certi\014cate)38 b(service.)59 b(It)36 +b(usually)g(con)m(tains)h(a)f(priv)-5 b(ate)37 b(k)m(ey)-8 +b(,)39 b(a)d(distinguished)f(name)h(and)g(secondary)150 +2507 y(data)j(suc)m(h)f(as)g(a)g(c)m(hallenge)i(passw)m(ord.)63 +b Fu(Gn)n(uTLS)39 b FB(supp)s(orts)d(the)i(requests)g(de\014ned)f(in)g +Fu(PK)n(CS)g FB(#10)150 2617 y([RF)m(C2986])27 b(\(see)d([Bibliograph)m +(y],)j(page)e(310\).)40 b(Other)23 b(certi\014cate)j(request's)e +(format)h(suc)m(h)e(as)h(PKIX's)150 2726 y([RF)m(C4211])33 +b(\(see)e([Bibliograph)m(y],)h(page)g(310\))g(are)e(not)h(curren)m(tly) +f(supp)s(orted.)150 2949 y(In)h Fu(Gn)n(uTLS)h FB(the)g +Fu(PK)n(CS)e FB(#10)i(structures)f(are)i(handled)d(using)i(the)f +Ft(gnutls_x509_crq_t)c FB(t)m(yp)s(e.)45 b(An)150 3059 +y(example)31 b(of)g(a)f(certi\014cate)j(request)d(generation)i(can)f(b) +s(e)e(found)g(at)i(section)h([ex:crq],)g(page)f(98.)150 +3346 y Fv(5.1.4)63 b FB(PK)m(CS)40 b Fv(#12)i(Structures)150 +3493 y FB(A)36 b Fu(PK)n(CS)e FB(#12)i(structure)f([PK)m(CS12])h(\(see) +h([Bibliograph)m(y],)h(page)e(310\))i(usually)d(con)m(tains)i(a)f +(user's)150 3603 y(priv)-5 b(ate)38 b(k)m(eys)g(and)e(certi\014cates.) +64 b(It)37 b(is)g(commonly)h(used)f(in)g(bro)m(wsers)f(to)i(exp)s(ort)f +(and)g(imp)s(ort)g(the)150 3712 y(user's)30 b(iden)m(tities.)150 +3935 y(In)k Fu(Gn)n(uTLS)g FB(the)g Fu(PK)n(CS)g FB(#12)h(structures)e +(are)i(handled)e(using)h(the)h Ft(gnutls_pkcs12_t)30 +b FB(t)m(yp)s(e.)53 b(This)150 4045 y(is)29 b(an)g(abstract)g(t)m(yp)s +(e)h(that)f(ma)m(y)g(hold)g(sev)m(eral)h Ft(gnutls_pkcs12_bag_t)24 b FB(t)m(yp)s(es.)40 b(The)29 b(Bag)h(t)m(yp)s(es)f(are)150 -4104 y(the)35 b(holders)f(of)h(the)g(actual)h(data,)g(whic)m(h)f(ma)m +4154 y(the)35 b(holders)f(of)h(the)g(actual)h(data,)g(whic)m(h)f(ma)m (y)g(b)s(e)f(certi\014cates,)k(priv)-5 b(ate)35 b(k)m(eys)g(or)g -(encrypted)f(data.)150 4213 y(An)c(Bag)i(of)e(t)m(yp)s(e)h(encrypted)f +(encrypted)f(data.)150 4264 y(An)c(Bag)i(of)e(t)m(yp)s(e)h(encrypted)f (should)f(b)s(e)h(decrypted)g(in)g(order)g(for)g(its)h(data)g(to)g(b)s -(e)f(accessed.)150 4500 y(An)20 b(example)i(of)f(a)g -Ft(PK)n(CS)e FB(#12)j(structure)e(generation)i(can)f(b)s(e)f(found)g -(at)h(section)h([ex:pk)m(cs12],)j(page)d(98.)150 4961 -y FA(5.2)68 b(The)45 b Fu(Op)s(enPGP)g FA(T)-11 b(rust)45 -b(Mo)t(del)150 5121 y FB(The)38 b Ft(Op)r(enPGP)f FB(k)m(ey)i(authen)m -(tication)i(relies)e(on)f(a)h(distributed)e(trust)h(mo)s(del,)i(called) -g(the)e(\\w)m(eb)h(of)150 5230 y(trust".)58 b(The)36 -b(\\w)m(eb)h(of)f(trust")g(uses)g(a)h(decen)m(tralized)h(system)e(of)h -(trusted)e(in)m(tro)s(ducers,)j(whic)m(h)e(are)150 5340 -y(the)g(same)g(as)g(a)g(CA.)g Ft(Op)r(enPGP)f FB(allo)m(ws)i(an)m(y)m -(one)g(to)f(sign)g(an)m(y)m(one's)h(else)g(public)e(k)m(ey)-8 +(e)f(accessed.)150 4487 y(An)47 b(example)g(of)h(a)f +Fu(PK)n(CS)f FB(#12)h(structure)g(generation)h(can)f(b)s(e)g(found)f +(at)h(section)h([ex:pk)m(cs12],)150 4596 y(page)31 b(100.)150 +4961 y FA(5.2)68 b(The)45 b Fv(Op)s(enPGP)g FA(T)-11 +b(rust)45 b(Mo)t(del)150 5121 y FB(The)38 b Fu(Op)r(enPGP)f +FB(k)m(ey)i(authen)m(tication)i(relies)e(on)f(a)h(distributed)e(trust)h +(mo)s(del,)i(called)g(the)e(\\w)m(eb)h(of)150 5230 y(trust".)58 +b(The)36 b(\\w)m(eb)h(of)f(trust")g(uses)g(a)h(decen)m(tralized)h +(system)e(of)h(trusted)e(in)m(tro)s(ducers,)j(whic)m(h)e(are)150 +5340 y(the)g(same)g(as)g(a)g(CA.)g Fu(Op)r(enPGP)f FB(allo)m(ws)i(an)m +(y)m(one)g(to)f(sign)g(an)m(y)m(one's)h(else)g(public)e(k)m(ey)-8 b(.)58 b(When)36 b(Alice)p eop end %%Page: 27 33 TeXDict begin 27 32 bop 150 -116 a FB(Chapter)30 b(5:)41 @@ -16230,7 +12490,7 @@ (tro)s(ducing)f(Bob's)h(k)m(ey)h(to)f(an)m(y)m(one)h(who)f(trusts)f (Alice.)42 b(If)28 b(someone)h(trusts)150 408 y(Alice)j(to)f(in)m(tro)s (duce)f(k)m(eys,)h(then)g(Alice)g(is)g(a)f(trusted)g(in)m(tro)s(ducer)g -(in)g(the)h(mind)e(of)i(that)g(observ)m(er.)150 2661 +(in)g(the)h(mind)e(of)i(that)g(observ)m(er.)150 2662 y @beginspecial 0 @llx 0 @lly 444 @urx 424 @ury 3118 @rwi @setspecial %%BeginDocument: gnutls-pgp.eps @@ -18009,75 +14269,75 @@ showpage %%EndDocument - @endspecial 184 x(F)-8 b(or)35 b(example:)48 b(If)33 + @endspecial 211 x(F)-8 b(or)35 b(example:)48 b(If)33 b(Da)m(vid)i(trusts)e(Alice)j(to)e(b)s(e)f(an)h(in)m(tro)s(ducer,)g (and)g(Alice)h(signed)e(Bob's)i(k)m(ey)-8 b(,)36 b(Da)m(v)m(e)150 -2954 y(also)31 b(trusts)f(Bob's)h(k)m(ey)g(to)g(b)s(e)f(the)g(real)i -(one.)150 3089 y(There)g(are)g(some)h(k)m(ey)g(p)s(oin)m(ts)f(that)h +2982 y(also)31 b(trusts)f(Bob's)h(k)m(ey)g(to)g(b)s(e)f(the)g(real)i +(one.)150 3112 y(There)g(are)g(some)h(k)m(ey)g(p)s(oin)m(ts)f(that)h (are)g(imp)s(ortan)m(t)f(in)g(that)h(mo)s(del.)46 b(In)32 -b(the)g(example)h(Alice)h(has)e(to)150 3198 y(sign)38 +b(the)g(example)h(Alice)h(has)e(to)150 3222 y(sign)38 b(Bob's)f(k)m(ey)-8 b(,)41 b(only)d(if)f(she)h(is)f(sure)g(that)h(the)g (k)m(ey)g(b)s(elongs)g(to)g(Bob.)62 b(Otherwise)38 b(she)f(ma)m(y)h -(also)150 3308 y(mak)m(e)c(Da)m(v)m(e)g(falsely)g(b)s(eliev)m(e)g(that) +(also)150 3331 y(mak)m(e)c(Da)m(v)m(e)g(falsely)g(b)s(eliev)m(e)g(that) f(this)g(is)f(Bob's)h(k)m(ey)-8 b(.)49 b(Da)m(v)m(e)35 b(has)d(also)i(the)f(resp)s(onsibilit)m(y)g(to)g(kno)m(w)150 -3418 y(who)d(to)h(trust.)40 b(This)30 b(mo)s(del)g(is)h(similar)f(to)h -(real)g(life)g(relations.)150 3552 y(Just)h(see)i(ho)m(w)f(Charlie)g(b) +3441 y(who)d(to)h(trust.)40 b(This)30 b(mo)s(del)g(is)h(similar)f(to)h +(real)g(life)g(relations.)150 3571 y(Just)h(see)i(ho)m(w)f(Charlie)g(b) s(eha)m(v)m(es)h(in)f(the)g(previous)f(example.)50 b(Although)33 -b(he)g(has)g(signed)g(Bob's)g(k)m(ey)150 3662 y(-)39 +b(he)g(has)g(signed)g(Bob's)g(k)m(ey)150 3680 y(-)39 b(b)s(ecause)h(he)f(kno)m(ws,)i(someho)m(w,)h(that)e(it)f(b)s(elongs)h (to)f(Bob)h(-)f(he)g(do)s(es)g(not)g(trust)g(Bob)h(to)g(b)s(e)e(an)150 -3771 y(in)m(tro)s(ducer.)49 b(Charlie)33 b(decided)h(to)g(trust)e(only) +3790 y(in)m(tro)s(ducer.)49 b(Charlie)33 b(decided)h(to)g(trust)e(only) i(Kevin,)g(for)f(some)h(reason.)49 b(A)34 b(reason)f(could)h(b)s(e)e -(that)150 3881 y(Bob)i(is)h(lazy)g(enough,)g(and)e(signs)h(other)h(p)s +(that)150 3899 y(Bob)i(is)h(lazy)g(enough,)g(and)e(signs)h(other)h(p)s (eople's)f(k)m(eys)h(without)f(b)s(eing)g(sure)f(that)i(they)f(b)s -(elong)g(to)150 3990 y(the)d(actual)g(o)m(wner.)150 4189 -y Fu(5.2.1)63 b Fn(Op)s(enPGP)40 b Fu(Keys)150 4336 y -FB(In)30 b Ft(Gn)n(uTLS)g FB(the)h Ft(Op)r(enPGP)e FB(k)m(ey)i -(structures)f([RF)m(C2440])j(\(see)e([Bibliograph)m(y],)h(page)f(330\)) -h(are)f(han-)150 4446 y(dled)36 b(using)f(the)h Fs +(elong)g(to)150 4009 y(the)d(actual)g(o)m(wner.)150 4199 +y Fv(5.2.1)63 b FB(Op)s(enPGP)39 b Fv(Keys)150 4346 y +FB(In)30 b Fu(Gn)n(uTLS)g FB(the)h Fu(Op)r(enPGP)e FB(k)m(ey)i +(structures)f([RF)m(C2440])j(\(see)e([Bibliograph)m(y],)h(page)f(310\)) +h(are)f(han-)150 4455 y(dled)36 b(using)f(the)h Ft (gnutls_openpgp_crt_t)31 b FB(t)m(yp)s(e)36 b(and)g(the)g(corresp)s (onding)f(priv)-5 b(ate)36 b(k)m(eys)h(with)f(the)150 -4556 y Fs(gnutls_openpgp_privkey_t)29 b FB(t)m(yp)s(e.)57 +4565 y Ft(gnutls_openpgp_privkey_t)29 b FB(t)m(yp)s(e.)57 b(All)36 b(the)g(protot)m(yp)s(es)g(for)g(the)g(k)m(ey)g(handling)f -(functions)h(can)150 4665 y(b)s(e)30 b(found)f(at)i(`)p -Fs(gnutls/openpgp.h)p FB('.)150 4864 y Fu(5.2.2)63 b(V)-10 -b(erifying)41 b(an)g Fn(Op)s(enPGP)g Fu(Key)150 5011 -y FB(The)61 b(v)m(eri\014cation)i(functions)d(of)i Ft(Op)r(enPGP)e -FB(k)m(eys,)70 b(included)60 b(in)h Ft(Gn)n(uTLS)p FB(,)h(are)f(simple) +(functions)h(can)150 4674 y(b)s(e)30 b(found)f(at)i(`)p +Ft(gnutls/openpgp.h)p FB('.)150 4864 y Fv(5.2.2)63 b(V)-10 +b(erifying)41 b(an)g FB(Op)s(enPGP)e Fv(Key)150 5011 +y FB(The)61 b(v)m(eri\014cation)i(functions)d(of)i Fu(Op)r(enPGP)e +FB(k)m(eys,)70 b(included)60 b(in)h Fu(Gn)n(uTLS)p FB(,)h(are)f(simple) h(ones,)150 5121 y(and)50 b(do)g(not)g(use)g(the)g(features)h(of)f(the) g(\\w)m(eb)h(of)f(trust".)100 b(F)-8 b(or)51 b(that)g(reason,)k(if)50 b(the)h(v)m(eri\014ca-)150 5230 y(tion)62 b(needs)f(are)h(complex,)70 b(the)61 b(assistance)i(of)e(external)i(to)s(ols)f(lik)m(e)g -Ft(Gn)n(uPG)f FB(and)g(GPGME)150 5340 y(\()p Fs +Fu(Gn)n(uPG)f FB(and)g(GPGME)150 5340 y(\()p Ft (http://www.gnupg.org/relat)o(ed_)o(soft)o(ware)o(/gp)o(gme/)o FB(\))25 b(is)30 b(recommended.)p eop end %%Page: 28 34 TeXDict begin 28 33 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 b(28)150 299 y(There)21 b(is)h(one)g(v)m(eri\014cation)h(function)f(in) -f Ft(Gn)n(uTLS)p FB(,)h(the)g([gn)m(utls)p 2330 299 28 +f Fu(Gn)n(uTLS)p FB(,)h(the)g([gn)m(utls)p 2330 299 28 4 v 41 w(op)s(enpgp)p 2708 299 V 38 w(crt)p 2857 299 -V 41 w(v)m(erify)p 3120 299 V 40 w(ring],)i(page)e(253.)150 -408 y(This)34 b(c)m(hec)m(ks)i(an)e Ft(Op)r(enPGP)g FB(k)m(ey)h +V 41 w(v)m(erify)p 3120 299 V 40 w(ring],)i(page)e(236.)150 +408 y(This)34 b(c)m(hec)m(ks)i(an)e Fu(Op)r(enPGP)g FB(k)m(ey)h (against)h(a)f(giv)m(en)h(set)f(of)f(public)g(k)m(eys)i(\(k)m(eyring\)) f(and)f(returns)g(the)150 518 y(k)m(ey)39 b(status.)63 b(The)38 b(k)m(ey)h(v)m(eri\014cation)g(status)f(is)g(the)g(same)h(as)f -(in)g Ft(X.509)e FB(certi\014cates,)42 b(although)d(the)150 +(in)g Fu(X.509)e FB(certi\014cates,)42 b(although)d(the)150 628 y(meaning)e(and)g(in)m(terpretation)h(are)g(di\013eren)m(t.)61 -b(F)-8 b(or)38 b(example)g(an)f Ft(Op)r(enPGP)f FB(k)m(ey)i(ma)m(y)f(b) +b(F)-8 b(or)38 b(example)g(an)f Fu(Op)r(enPGP)f FB(k)m(ey)i(ma)m(y)f(b) s(e)g(v)-5 b(alid,)39 b(if)150 737 y(the)29 b(self)g(signature)h(is)f (ok,)h(ev)m(en)f(if)g(no)g(signers)g(w)m(ere)g(found.)39 b(The)29 b(meaning)g(of)g(v)m(eri\014cation)i(status)e(is)150 847 y(sho)m(wn)h(in)g(the)g(\014gure)g(b)s(elo)m(w.)150 -1004 y Fs(CERT_INVALID:)630 1113 y FB(A)36 b(signature)h(on)f(the)h(k)m +1004 y Ft(CERT_INVALID:)630 1113 y FB(A)36 b(signature)h(on)f(the)h(k)m (ey)g(is)f(in)m(v)-5 b(alid.)59 b(That)36 b(means)h(that)g(the)f(k)m (ey)h(w)m(as)g(mo)s(di\014ed)e(b)m(y)630 1223 y(someb)s(o)s(dy)-8 b(,)30 b(or)g(corrupted)g(during)f(transp)s(ort.)150 -1380 y Fs(CERT_REVOKED:)630 1489 y FB(The)h(k)m(ey)h(has)f(b)s(een)g -(rev)m(ok)m(ed)h(b)m(y)g(its)f(o)m(wner.)150 1646 y Fs +1380 y Ft(CERT_REVOKED:)630 1489 y FB(The)h(k)m(ey)h(has)f(b)s(een)g +(rev)m(ok)m(ed)h(b)m(y)g(its)f(o)m(wner.)150 1646 y Ft (CERT_SIGNER_NOT_FOUND:)630 1756 y FB(The)g(k)m(ey)h(w)m(as)g(not)f -(signed)h(b)m(y)f(a)h(kno)m(wn)f(signer.)150 1912 y Fs +(signed)h(b)m(y)f(a)h(kno)m(wn)f(signer.)150 1912 y Ft (GNUTLS_CERT_INSECURE_ALG)o(ORIT)o(HM:)630 2022 y FB(The)k (certi\014cate)j(w)m(as)e(signed)g(using)f(an)h(insecure)g(algorithm)g (suc)m(h)g(as)g(MD2)h(or)f(MD5.)630 2132 y(These)30 b(algorithms)h(ha)m @@ -18105,24 +14365,24 @@ (cen)m(t)g(message)h(of)150 3531 y(donating)f(1)g Fl(e)f FB(to)h(Greenp)s(eace)h(and)d(\014nd)g(out)i(that)g(he)f(donated)g (1.000.000)k Fl(e)d FB(to)g(Bad)g(Inc.)150 3664 y(F)-8 -b(or)25 b(a)h(hash)d(algorithm)j(to)g(b)s(e)e(called)i(cryptographic)f -(the)g(follo)m(wing)h(three)f(requiremen)m(ts)f(m)m(ust)h(hold:)199 +b(or)27 b(a)g(hash)f(algorithm)i(to)f(b)s(e)f(called)i(cryptographic)f +(the)g(follo)m(wing)h(three)f(requiremen)m(ts)g(m)m(ust)f(hold)199 3797 y(1.)61 b(Preimage)28 b(resistance.)40 b(That)27 b(means)f(the)h(algorithm)h(m)m(ust)e(b)s(e)g(one)h(w)m(a)m(y)h(and)e (giv)m(en)h(the)g(output)330 3907 y(of)k(the)f(hash)g(function)g -Fv(H)7 b FB(\()p Fv(x)p FB(\),)31 b(it)g(is)f(imp)s(ossible)g(to)h -(calculate)i Fv(x)p FB(.)199 4040 y(2.)61 b(2nd)44 b(preimage)i +Fw(H)7 b FB(\()p Fw(x)p FB(\),)31 b(it)g(is)f(imp)s(ossible)g(to)h +(calculate)i Fw(x)p FB(.)199 4040 y(2.)61 b(2nd)44 b(preimage)i (resistance.)85 b(That)45 b(means)g(that)g(giv)m(en)h(a)f(pair)g -Fv(x;)15 b(y)48 b FB(with)d Fv(y)52 b FB(=)d Fv(H)7 b -FB(\()p Fv(x)p FB(\))45 b(it)h(is)330 4150 y(imp)s(ossible)30 -b(to)h(calculate)i(an)d Fv(x)1441 4117 y Fk(0)1495 4150 -y FB(suc)m(h)g(that)h Fv(y)d FB(=)d Fv(H)7 b FB(\()p -Fv(x)2236 4117 y Fk(0)2259 4150 y FB(\).)199 4283 y(3.)61 +Fw(x;)15 b(y)48 b FB(with)d Fw(y)52 b FB(=)d Fw(H)7 b +FB(\()p Fw(x)p FB(\))45 b(it)h(is)330 4150 y(imp)s(ossible)30 +b(to)h(calculate)i(an)d Fw(x)1441 4117 y Fk(0)1495 4150 +y FB(suc)m(h)g(that)h Fw(y)d FB(=)d Fw(H)7 b FB(\()p +Fw(x)2236 4117 y Fk(0)2259 4150 y FB(\).)199 4283 y(3.)61 b(Collision)39 b(resistance.)63 b(That)38 b(means)f(that)i(it)f(is)g -(imp)s(ossible)f(to)h(calculate)i(random)d Fv(x)h FB(and)f -Fv(x)3727 4250 y Fk(0)330 4392 y FB(suc)m(h)30 b Fv(H)7 -b FB(\()p Fv(x)705 4359 y Fk(0)729 4392 y FB(\))25 b(=)g -Fv(H)7 b FB(\()p Fv(x)p FB(\).)150 4549 y(The)34 b(last)h(t)m(w)m(o)h +(imp)s(ossible)f(to)h(calculate)i(random)d Fw(x)h FB(and)f +Fw(x)3727 4250 y Fk(0)330 4392 y FB(suc)m(h)30 b Fw(H)7 +b FB(\()p Fw(x)705 4359 y Fk(0)729 4392 y FB(\))25 b(=)g +Fw(H)7 b FB(\()p Fw(x)p FB(\).)150 4549 y(The)34 b(last)h(t)m(w)m(o)h (requiremen)m(ts)e(in)h(the)f(list)h(are)g(the)g(most)f(imp)s(ortan)m (t)h(in)f(digital)i(signatures.)53 b(These)150 4659 y(protect)26 b(against)g(someb)s(o)s(dy)e(who)h(w)m(ould)f(lik)m(e)j(to)e(generate)i @@ -18136,119 +14396,151 @@ b(T)-8 b(o)s(da)m(y)40 b(colliding)h(certi\014cates)g(using)e(the)g (MD5)h(hash)f(algorithm)150 5097 y(ha)m(v)m(e)32 b(b)s(een)d(generated) j(as)e(sho)m(wn)g(in)g([WEGER])h(\(see)h([Bibliograph)m(y],)g(page)f -(330\).)150 5230 y(There)c(has)h(b)s(een)f(cryptographic)h(results)g +(310\).)150 5230 y(There)c(has)h(b)s(een)f(cryptographic)h(results)g (for)f(the)h(SHA-1)g(hash)f(algorithms)i(as)f(w)m(ell,)i(although)e -(they)150 5340 y(are)41 b(not)f(y)m(et)i(critical.)72 -b(Before)41 b(2004,)k(MD5)c(had)f(a)h(presumed)e(collision)i(strength)g -(of)f(2)3374 5307 y Fr(64)3445 5340 y FB(,)j(but)c(it)p +(they)150 5340 y(are)40 b(not)g(y)m(et)g(critical.)71 +b(Before)40 b(2004,)k(MD5)d(had)e(a)h(presumed)e(collision)j(strength)f +(of)f(2)3363 5307 y Fr(6)3401 5340 y FB(4,)k(but)38 b(it)p eop end %%Page: 29 35 TeXDict begin 29 34 bop 150 -116 a FB(Chapter)30 b(5:)41 b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 -b(29)150 299 y(has)37 b(b)s(een)f(sho)m(w)m(ed)i(to)g(ha)m(v)m(e)g(a)g -(collision)h(strength)e(w)m(ell)h(under)e(2)2501 266 -y Fr(50)2571 299 y FB(.)61 b(As)38 b(of)f(No)m(v)m(em)m(b)s(er)h(2005,) -j(it)d(is)150 408 y(b)s(eliev)m(ed)29 b(that)f(SHA-1's)h(collision)h -(strength)e(is)g(around)f(2)2189 375 y Fr(63)2260 408 -y FB(.)40 b(W)-8 b(e)29 b(consider)f(this)g(su\016cien)m(tly)h(hard)e -(so)150 518 y(that)g(w)m(e)g(still)g(supp)s(ort)d(SHA-1.)40 +b(29)150 299 y(has)36 b(b)s(een)g(sho)m(w)m(ed)h(to)g(ha)m(v)m(e)h(a)f +(collision)h(strength)e(w)m(ell)i(under)d(2)2494 266 +y Fr(5)2531 299 y FB(0.)60 b(As)36 b(of)h(No)m(v)m(em)m(b)s(er)h(2005,) +i(it)d(is)150 408 y(b)s(eliev)m(ed)28 b(that)f(SHA-1's)h(collision)h +(strength)e(is)g(around)f(2)2182 375 y Fr(6)2220 408 +y FB(3.)40 b(W)-8 b(e)28 b(consider)f(this)g(su\016cien)m(tly)h(hard)e +(so)150 518 y(that)h(w)m(e)g(still)g(supp)s(ort)d(SHA-1.)40 b(W)-8 b(e)28 b(an)m(ticipate)g(that)f(SHA-256/386/512)k(will)c(b)s(e)f -(used)f(in)h(publicly-)150 628 y(distributed)35 b(certi\014cates)j(in)d -(the)h(future.)57 b(When)35 b(2)1993 595 y Fr(63)2100 -628 y FB(can)h(b)s(e)f(considered)h(to)s(o)h(w)m(eak)f(compared)g(to) -150 737 y(the)31 b(computer)g(p)s(o)m(w)m(er)g(a)m(v)-5 +(used)f(in)h(publicly-)150 628 y(distributed)34 b(certi\014cates)j(in)e +(the)g(future.)54 b(When)35 b(2)1987 595 y Fr(6)2024 +628 y FB(3)h(can)f(b)s(e)g(considered)f(to)s(o)i(w)m(eak)g(compared)f +(to)150 737 y(the)c(computer)g(p)s(o)m(w)m(er)g(a)m(v)-5 b(ailable)33 b(sometime)f(in)e(the)h(future,)f(SHA-1)i(will)f(b)s(e)f (disabled)g(as)h(w)m(ell.)43 b(The)150 847 y(collision)32 b(attac)m(ks)h(on)d(SHA-1)h(ma)m(y)g(also)g(get)h(b)s(etter,)f(giv)m (en)g(the)g(new)f(in)m(terest)h(in)f(to)s(ols)h(for)g(creating)150 -956 y(them.)150 1156 y Fu(5.3.1)63 b(T)-10 b(rading)41 -b(Securit)m(y)f(for)i(In)m(terop)s(erabilit)m(y)150 1303 -y FB(If)21 b(y)m(ou)h(connect)g(to)h(a)e(serv)m(er)h(and)f(use)g(Gn)m -(uTLS')g(functions)g(to)h(v)m(erify)g(the)f(certi\014cate)j(c)m(hain,)g -(and)d(get)i(a)150 1412 y([GNUTLS)p 562 1412 28 4 v 40 -w(CER)-8 b(T)p 855 1412 V 39 w(INSECURE)p 1371 1412 V -39 w(ALGORITHM],)33 b(page)h(25)f(v)-5 b(alidation)34 -b(error)e(\(see)i(Section)f(5.1.2)150 1522 y([V)-8 b(erifying)42 -b(X.509)h(certi\014cate)g(paths],)h(page)e(25\),)k(it)41 -b(means)h(that)f(somewhere)h(in)e(the)i(certi\014cate)150 -1631 y(c)m(hain)35 b(there)g(is)g(a)h(certi\014cate)g(signed)f(using)g -Fs(RSA-MD2)d FB(or)j Fs(RSA-MD5)p FB(.)52 b(These)35 -b(t)m(w)m(o)h(digital)h(signature)150 1741 y(algorithms)27 +956 y(them.)150 1145 y Fv(5.3.1)63 b(Supp)s(orted)42 +b(Algorithms)150 1292 y FB(The)30 b(a)m(v)-5 b(ailable)33 +b(digital)e(signature)g(algorithms)g(in)f Fu(Gn)n(uTLS)h +FB(are)g(listed)g(b)s(elo)m(w:)150 1441 y Ft(RSA)336 +b FB(RSA)36 b(is)h(public)f(k)m(ey)h(cryptosystem)g(designed)g(b)m(y)f +(Ronald)h(Riv)m(est,)i(Adi)e(Shamir)f(and)630 1551 y(Leonard)30 +b(Adleman.)41 b(It)30 b(can)h(b)s(e)f(used)f(with)h(an)m(y)h(hash)f +(functions.)150 1700 y Ft(DSA)336 b FB(DSA)38 b(is)h(the)f(USA's)h +(Digital)h(Signature)f(Standard.)63 b(It)39 b(uses)f(only)g(the)h +(SHA-1)g(hash)630 1809 y(algorithm.)150 1958 y(The)30 +b(supp)s(orted)e(cryptographic)j(hash)f(algorithms)h(are:)150 +2107 y Ft(MD2)336 b FB(MD2)26 b(is)f(a)g(cryptographic)g(hash)f +(algorithm)i(designed)e(b)m(y)h(Ron)f(Riv)m(est.)40 b(It)25 +b(is)g(optimized)630 2217 y(for)j(8-bit)i(pro)s(cessors.)39 +b(Outputs)28 b(128)h(bits)g(of)g(data.)41 b(There)28 +b(are)h(no)f(kno)m(wn)g(w)m(eaknesses)630 2326 y(of)j(this)g(algorithm) +h(but)e(since)h(this)g(algorithm)h(is)f(rarely)g(used)f(and)h(not)g +(really)h(studied)630 2436 y(it)f(should)e(not)i(b)s(e)f(used)f(to)s +(da)m(y)-8 b(.)150 2585 y Ft(MD5)336 b FB(MD5)33 b(is)f(a)g +(cryptographic)g(hash)g(algorithm)h(designed)e(b)m(y)h(Ron)g(Riv)m +(est.)46 b(Outputs)31 b(128)630 2694 y(bits)f(of)h(data.)41 +b(It)31 b(is)f(considered)g(to)h(b)s(e)f(brok)m(en.)150 +2843 y Ft(SHA-1)240 b FB(SHA)31 b(is)h(a)g(cryptographic)g(hash)f +(algorithm)i(designed)f(b)m(y)f(NSA.)h(Outputs)e(160)j(bits)f(of)630 +2953 y(data.)41 b(It)29 b(is)h(also)g(considered)f(to)h(b)s(e)e(brok)m +(en,)i(though)f(no)g(practical)i(attac)m(ks)g(ha)m(v)m(e)g(b)s(een)630 +3063 y(found.)150 3211 y Ft(RMD160)192 b FB(RIPEMD)29 +b(is)f(a)h(cryptographic)g(hash)f(algorithm)h(dev)m(elop)s(ed)g(in)f +(the)h(framew)m(ork)f(of)h(the)630 3321 y(EU)h(pro)5 +b(ject)31 b(RIPE.)f(Outputs)f(160)j(bits)e(of)h(data.)150 +3510 y Fv(5.3.2)63 b(T)-10 b(rading)41 b(Securit)m(y)f(for)i(In)m +(terop)s(erabilit)m(y)150 3657 y FB(If)21 b(y)m(ou)h(connect)g(to)h(a)e +(serv)m(er)h(and)f(use)g(Gn)m(uTLS')g(functions)g(to)h(v)m(erify)g(the) +f(certi\014cate)j(c)m(hain,)g(and)d(get)i(a)150 3766 +y([GNUTLS)p 562 3766 28 4 v 40 w(CER)-8 b(T)p 855 3766 +V 39 w(INSECURE)p 1371 3766 V 39 w(ALGORITHM],)33 b(page)h(25)f(v)-5 +b(alidation)34 b(error)e(\(see)i(Section)f(5.1.2)150 +3876 y([V)-8 b(erifying)42 b(X.509)h(certi\014cate)g(paths],)h(page)e +(25\),)k(it)41 b(means)h(that)f(somewhere)h(in)e(the)i(certi\014cate) +150 3986 y(c)m(hain)35 b(there)g(is)g(a)h(certi\014cate)g(signed)f +(using)g Ft(RSA-MD2)d FB(or)j Ft(RSA-MD5)p FB(.)52 b(These)35 +b(t)m(w)m(o)h(digital)h(signature)150 4095 y(algorithms)27 b(are)f(considered)g(brok)m(en,)h(so)f(Gn)m(uTLS)f(fail)i(when)e (attempting)i(to)g(v)m(erify)f(the)h(certi\014cate.)150 -1851 y(In)44 b(some)i(situations,)k(it)c(ma)m(y)g(b)s(e)e(useful)h(to)h +4205 y(In)44 b(some)i(situations,)k(it)c(ma)m(y)g(b)s(e)e(useful)h(to)h (b)s(e)e(able)i(to)g(v)m(erify)f(the)h(certi\014cate)h(c)m(hain)f(an)m -(yw)m(a)m(y)-8 b(,)150 1960 y(assuming)33 b(an)h(attac)m(k)m(er)j(did)c +(yw)m(a)m(y)-8 b(,)150 4314 y(assuming)33 b(an)h(attac)m(k)m(er)j(did)c (not)h(utilize)h(the)f(fact)h(that)g(these)f(signatures)g(algorithms)h -(are)f(brok)m(en.)150 2070 y(This)c(section)h(will)g(giv)m(e)h(help)e -(on)g(ho)m(w)g(to)h(ac)m(hiev)m(e)i(that.)150 2204 y(First,)28 +(are)f(brok)m(en.)150 4424 y(This)c(section)h(will)g(giv)m(e)h(help)e +(on)g(ho)m(w)g(to)h(ac)m(hiev)m(e)i(that.)150 4553 y(First,)28 b(it)f(is)f(imp)s(ortan)m(t)h(to)g(kno)m(w)g(that)g(y)m(ou)g(do)f(not)h (ha)m(v)m(e)h(to)f(enable)g(an)m(y)f(of)h(the)g(\015ags)g(discussed)e -(here)150 2314 y(to)33 b(b)s(e)e(able)i(to)g(use)f(trusted)f(ro)s(ot)i -(CA)e(certi\014cates)j(signed)e(using)g Fs(RSA-MD2)e -FB(or)i Fs(RSA-MD5)p FB(.)44 b(The)32 b(only)150 2423 +(here)150 4663 y(to)33 b(b)s(e)e(able)i(to)g(use)f(trusted)f(ro)s(ot)i +(CA)e(certi\014cates)j(signed)e(using)g Ft(RSA-MD2)e +FB(or)i Ft(RSA-MD5)p FB(.)44 b(The)32 b(only)150 4772 y(attac)m(k)e(to)s(da)m(y)f(is)f(that)h(it)f(is)g(p)s(ossible)g(to)g (generate)i(certi\014cates)g(with)e(colliding)h(signatures)f -(\(collision)150 2533 y(resistance\);)46 b(y)m(ou)41 +(\(collision)150 4882 y(resistance\);)46 b(y)m(ou)41 b(cannot)f(generate)h(a)g(certi\014cate)h(that)e(has)g(the)g(same)g -(signature)g(as)h(an)e(already)150 2643 y(existing)31 -b(signature)g(\(2nd)f(preimage)h(resistance\).)150 2777 -y(If)36 b(y)m(ou)g(are)h(using)f([gn)m(utls)p 1097 2777 -V 40 w(certi\014cate)p 1524 2777 V 42 w(v)m(erify)p 1788 -2777 V 41 w(p)s(eers2],)i(page)f(130)g(to)g(v)m(erify)g(the)f -(certi\014cate)i(c)m(hain,)150 2887 y(y)m(ou)30 b(can)f(call)i([gn)m -(utls)p 923 2887 V 40 w(certi\014cate)p 1350 2887 V 42 -w(set)p 1503 2887 V 41 w(v)m(erify)p 1766 2887 V 40 w(\015ags],)g(page) -f(124)g(with)f(the)g Fs(GNUTLS_VERIFY_ALLOW_)150 2996 -y(SIGN_RSA_MD2)e FB(or)j Fs(GNUTLS_VERIFY_ALLOW_SIGN_R)o(SA_)o(MD5)24 -b FB(\015ag,)31 b(as)g(in:)485 3131 y Fs(gnutls_certificate_set_ver)o -(ify_)o(fla)o(gs)42 b(\(x509cred,)2251 3240 y -(GNUTLS_VERIFY_ALLOW_SIGN_R)o(SA_)o(MD5\))o(;)150 3375 -y FB(This)30 b(will)g(tell)i(the)e(v)m(eri\014er)h(algorithm)g(to)g -(enable)g Fs(RSA-MD5)e FB(when)g(v)m(erifying)i(the)g(certi\014cates.) -150 3509 y(If)25 b(y)m(ou)h(are)g(using)f([gn)m(utls)p -1054 3509 V 40 w(x509)p 1277 3509 V 42 w(crt)p 1430 3509 -V 40 w(v)m(erify],)i(page)g(233)f(or)g([gn)m(utls)p 2510 -3509 V 40 w(x509)p 2733 3509 V 42 w(crt)p 2886 3509 V -40 w(list)p 3047 3509 V 41 w(v)m(erify],)h(page)f(225,)150 -3619 y(y)m(ou)40 b(can)g(pass)f(the)h Fs(GNUTLS_VERIFY_ALLOW_SIG)o(N_R) -o(SA_M)o(D5)33 b FB(parameter)40 b(directly)g(in)g(the)f -Fs(flags)150 3729 y FB(parameter.)150 3863 y(If)32 b(y)m(ou)h(are)f +(signature)g(as)h(an)e(already)150 4992 y(existing)31 +b(signature)g(\(2nd)f(preimage)h(resistance\).)150 5121 +y(If)36 b(y)m(ou)g(are)h(using)f([gn)m(utls)p 1097 5121 +V 40 w(certi\014cate)p 1524 5121 V 42 w(v)m(erify)p 1788 +5121 V 41 w(p)s(eers2],)i(page)f(131)g(to)g(v)m(erify)g(the)f +(certi\014cate)i(c)m(hain,)150 5230 y(y)m(ou)30 b(can)f(call)i([gn)m +(utls)p 923 5230 V 40 w(certi\014cate)p 1350 5230 V 42 +w(set)p 1503 5230 V 41 w(v)m(erify)p 1766 5230 V 40 w(\015ags],)g(page) +f(125)g(with)f(the)g Ft(GNUTLS_VERIFY_ALLOW_)150 5340 +y(SIGN_RSA_MD2)e FB(or)j Ft(GNUTLS_VERIFY_ALLOW_SIGN_R)o(SA_)o(MD5)24 +b FB(\015ag,)31 b(as)g(in:)p eop end +%%Page: 30 36 +TeXDict begin 30 35 bop 150 -116 a FB(Chapter)30 b(5:)41 +b(More)31 b(on)f(Certi\014cate)i(Authen)m(tication)1644 +b(30)485 299 y Ft(gnutls_certificate_set_ver)o(ify_)o(fla)o(gs)42 +b(\(x509cred,)2251 408 y(GNUTLS_VERIFY_ALLOW_SIGN_R)o(SA_)o(MD5\))o(;) +150 543 y FB(This)30 b(will)g(tell)i(the)e(v)m(eri\014er)h(algorithm)g +(to)g(enable)g Ft(RSA-MD5)e FB(when)g(v)m(erifying)i(the)g +(certi\014cates.)150 677 y(If)25 b(y)m(ou)h(are)g(using)f([gn)m(utls)p +1054 677 28 4 v 40 w(x509)p 1277 677 V 42 w(crt)p 1430 +677 V 40 w(v)m(erify],)i(page)g(218)f(or)g([gn)m(utls)p +2510 677 V 40 w(x509)p 2733 677 V 42 w(crt)p 2886 677 +V 40 w(list)p 3047 677 V 41 w(v)m(erify],)h(page)f(210,)150 +787 y(y)m(ou)40 b(can)g(pass)f(the)h Ft(GNUTLS_VERIFY_ALLOW_SIG)o(N_R)o +(SA_M)o(D5)33 b FB(parameter)40 b(directly)g(in)g(the)f +Ft(flags)150 897 y FB(parameter.)150 1031 y(If)32 b(y)m(ou)h(are)f (using)g(these)h(\015ags,)g(it)g(ma)m(y)g(also)g(b)s(e)f(a)h(go)s(o)s (d)f(idea)h(to)g(w)m(arn)f(the)g(user)g(when)f(v)m(eri\014cation)150 -3973 y(failure)21 b(o)s(ccur)g(for)g(this)h(reason.)37 +1141 y(failure)21 b(o)s(ccur)g(for)g(this)h(reason.)37 b(The)21 b(simplest)g(is)h(to)g(not)f(use)g(the)g(\015ags)h(b)m(y)f -(default,)i(and)e(only)g(fall)h(bac)m(k)150 4082 y(to)g(using)f(them)g +(default,)i(and)e(only)g(fall)h(bac)m(k)150 1250 y(to)g(using)f(them)g (after)h(w)m(arning)f(the)g(user.)37 b(If)21 b(y)m(ou)g(wish)g(to)h (insp)s(ect)f(the)g(certi\014cate)i(c)m(hain)f(y)m(ourself,)i(y)m(ou) -150 4192 y(can)29 b(use)g([gn)m(utls)p 742 4192 V 40 -w(certi\014cate)p 1169 4192 V 42 w(get)p 1331 4192 V -42 w(p)s(eers],)g(page)g(121)h(to)g(extract)g(the)f(ra)m(w)g(serv)m -(er's)g(certi\014cate)i(c)m(hain,)150 4301 y(then)h(use)f([gn)m(utls)p -788 4301 V 41 w(x509)p 1012 4301 V 41 w(crt)p 1164 4301 -V 40 w(imp)s(ort],)h(page)h(224)g(to)g(parse)e(eac)m(h)i(of)f(the)g -(certi\014cates,)j(and)c(then)g(use)150 4411 y([gn)m(utls)p -421 4411 V 41 w(x509)p 645 4411 V 41 w(crt)p 797 4411 -V 40 w(get)p 957 4411 V 42 w(signature)p 1363 4411 V -40 w(algorithm],)h(page)f(221)g(to)g(\014nd)d(out)j(the)f(signing)h -(algorithm)g(used)150 4521 y(for)e(eac)m(h)i(certi\014cate.)42 +150 1360 y(can)29 b(use)g([gn)m(utls)p 742 1360 V 40 +w(certi\014cate)p 1169 1360 V 42 w(get)p 1331 1360 V +42 w(p)s(eers],)g(page)g(123)h(to)g(extract)g(the)f(ra)m(w)g(serv)m +(er's)g(certi\014cate)i(c)m(hain,)150 1469 y(then)h(use)f([gn)m(utls)p +788 1469 V 41 w(x509)p 1012 1469 V 41 w(crt)p 1164 1469 +V 40 w(imp)s(ort],)h(page)h(209)g(to)g(parse)e(eac)m(h)i(of)f(the)g +(certi\014cates,)j(and)c(then)g(use)150 1579 y([gn)m(utls)p +421 1579 V 41 w(x509)p 645 1579 V 41 w(crt)p 797 1579 +V 40 w(get)p 957 1579 V 42 w(signature)p 1363 1579 V +40 w(algorithm],)h(page)f(207)g(to)g(\014nd)d(out)j(the)f(signing)h +(algorithm)g(used)150 1689 y(for)e(eac)m(h)i(certi\014cate.)42 b(If)30 b(an)m(y)f(of)h(the)g(in)m(termediary)g(certi\014cates)h(are)f -(using)f Fs(GNUTLS_SIGN_RSA_MD2)150 4630 y FB(or)h Fs +(using)f Ft(GNUTLS_SIGN_RSA_MD2)150 1798 y FB(or)h Ft (GNUTLS_SIGN_RSA_MD5)p FB(,)c(y)m(ou)k(could)h(presen)m(t)f(a)h(w)m (arning.)p eop end -%%Page: 30 36 -TeXDict begin 30 35 bop 150 -116 a FB(Chapter)30 b(6:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(TLS)f FB(in)g(Application)h(Proto) -s(cols)1370 b(30)150 299 y Fx(6)80 b(Ho)l(w)53 b(T)-13 -b(o)53 b(Use)h FA(TLS)e Fx(in)i(Application)e(Proto)t(cols)150 +%%Page: 31 37 +TeXDict begin 31 36 bop 150 -116 a FB(Chapter)30 b(6:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(TLS)f FB(in)g(Application)h(Proto) +s(cols)1370 b(31)150 299 y Fy(6)80 b(Ho)l(w)53 b(T)-13 +b(o)53 b(Use)h FA(TLS)e Fy(in)i(Application)e(Proto)t(cols)150 535 y FB(This)31 b(c)m(hapter)i(is)f(in)m(tended)g(to)g(pro)m(vide)h -(some)f(hin)m(ts)g(on)g(ho)m(w)g(to)h(use)e(the)h Ft(TLS)g +(some)f(hin)m(ts)g(on)g(ho)m(w)g(to)h(use)e(the)h Fu(TLS)g FB(o)m(v)m(er)i(simple)e(custom)150 645 y(made)h(application)h(proto)s (cols.)48 b(The)32 b(discussion)g(b)s(elo)m(w)h(mainly)g(refers)f(to)h (the)g Fm(TCP/IP)42 b FB(transp)s(ort)150 754 y(la)m(y)m(er)32 b(but)e(ma)m(y)h(b)s(e)e(extended)i(to)g(other)f(ones)h(to)s(o.)150 988 y FA(6.1)68 b(Separate)46 b(P)l(orts)150 1147 y FB(T)-8 -b(raditionally)40 b Ft(SSL)f FB(w)m(as)h(used)e(in)g(application)j +b(raditionally)40 b Fu(SSL)f FB(w)m(as)h(used)e(in)g(application)j (proto)s(cols)e(b)m(y)g(assigning)h(a)f(new)f(p)s(ort)h(n)m(um)m(b)s (er)e(for)150 1257 y(the)j(secure)f(services.)69 b(That)39 b(w)m(a)m(y)i(t)m(w)m(o)f(separate)h(p)s(orts)d(w)m(ere)i(assigned,)i @@ -18261,13 +14553,13 @@ (metho)s(d)g(is)g(a)g(denial)g(of)g(service)h(one.)39 b(The)23 b(most)i(famous)e(example)i(of)f(this)150 1695 y(metho)s(d)g(is)g(the)h(famous)f(\\HTTP)g(o)m(v)m(er)i(TLS")d(or)i -Ft(HTTPS)f FB(proto)s(col)h([RF)m(C2818])i(\(see)e([Bibliograph)m(y],) -150 1805 y(page)31 b(330\).)150 1940 y(Despite)41 b(its)g(wide)f(use,)j +Fu(HTTPS)f FB(proto)s(col)h([RF)m(C2818])i(\(see)e([Bibliograph)m(y],) +150 1805 y(page)31 b(310\).)150 1940 y(Despite)41 b(its)g(wide)f(use,)j (this)d(metho)s(d)g(is)g(not)g(as)h(go)s(o)s(d)f(as)h(it)f(seems.)71 -b(This)39 b(approac)m(h)i(starts)g(the)150 2050 y Ft(TLS)35 +b(This)39 b(approac)m(h)i(starts)g(the)150 2050 y Fu(TLS)35 b FB(Handshak)m(e)g(pro)s(cedure)f(just)g(after)i(the)f(clien)m(t)h (connects)g(on)f(the)g(|so)g(called|)h(secure)f(p)s(ort.)150 -2159 y(That)28 b(w)m(a)m(y)h(the)f Ft(TLS)g FB(proto)s(col)h(do)s(es)f +2159 y(That)28 b(w)m(a)m(y)h(the)f Fu(TLS)g FB(proto)s(col)h(do)s(es)f (not)g(kno)m(w)g(an)m(ything)h(ab)s(out)f(the)g(clien)m(t,)i(and)e(p)s (opular)f(metho)s(ds)150 2269 y(lik)m(e)36 b(the)e(host)h(adv)m (ertising)g(in)f(HTTP)g(do)h(not)f(w)m(ork)2046 2236 @@ -18295,7 +14587,7 @@ y(neat)j(idea)g(and)f(do)s(es)g(not)g(require)g(an)h(extra)g(p)s(ort.) 150 3809 y(This)g(metho)s(d)h(is)g(used)f(b)m(y)h(almost)h(all)g(mo)s (dern)e(proto)s(cols)i(and)e(there)h(is)g(ev)m(en)h(the)f([RF)m(C2817]) -j(\(see)150 3918 y([Bibliograph)m(y],)d(page)f(330\))h(pap)s(er)e(whic) +j(\(see)150 3918 y([Bibliograph)m(y],)d(page)f(310\))h(pap)s(er)e(whic) m(h)g(prop)s(oses)f(extensions)i(to)g(HTTP)f(to)h(supp)s(ort)e(it.)150 4054 y(The)f(tric)m(ky)i(part,)g(in)e(this)h(metho)s(d,)g(is)g(that)g (the)g(\\ST)-8 b(AR)g(TTLS")29 b(request)g(is)g(sen)m(t)g(in)g(the)g @@ -18311,14 +14603,14 @@ 4788 y(SER)-10 b(VER:)30 b(NICE)g(TO)f(MEET)h(YOU)h(XXX)390 4923 y(CLIENT:)f(PLEASE)f(ST)-8 b(AR)g(T)30 b(TLS)390 5058 y(SER)-10 b(VER:)30 b(OK)p 150 5138 1200 4 v 74 -5205 a Fr(1)150 5237 y Fp(See)c(also)h(the)e(Serv)n(er)g(Name)h +5205 a Fr(1)150 5237 y Fq(See)c(also)h(the)e(Serv)n(er)g(Name)h (Indication)f(extension)h(on)g([serv)n(erind],)g(page)g(14.)74 -5308 y Fr(2)150 5340 y Fp(See)g(LD)n(AP)-6 b(,)24 b(IMAP)i(etc.)p +5308 y Fr(2)150 5340 y Fq(See)g(LD)n(AP)-6 b(,)24 b(IMAP)i(etc.)p eop end -%%Page: 31 37 -TeXDict begin 31 36 bop 150 -116 a FB(Chapter)30 b(6:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(TLS)f FB(in)g(Application)h(Proto) -s(cols)1370 b(31)390 299 y(***)32 b(TLS)d(ST)-8 b(AR)g(TS)390 +%%Page: 32 38 +TeXDict begin 32 37 bop 150 -116 a FB(Chapter)30 b(6:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(TLS)f FB(in)g(Application)h(Proto) +s(cols)1370 b(32)390 299 y(***)32 b(TLS)d(ST)-8 b(AR)g(TS)390 433 y(CLIENT:)30 b(HERE)g(ARE)g(SOME)g(CONFIDENTIAL)g(D)m(A)-8 b(T)g(A)150 568 y(And)29 b(see)i(an)g(example)g(of)f(a)h(con)m(v)m (ersation)i(where)c(someone)j(is)e(acting)i(in)e(b)s(et)m(w)m(een:)390 @@ -18336,7 +14628,7 @@ (o)m(v)m(e)h(attac)m(k?)42 b(As)27 b(y)m(ou)g(ma)m(y)g(ha)m(v)m(e)h (already)f(though)m(t)h(this)e(one)h(is)g(easy)h(to)f(a)m(v)m(oid.)150 1998 y(The)32 b(clien)m(t)j(has)d(to)i(ask)f(the)g(user)f(b)s(efore)g -(it)h(connects)h(whether)e(the)h(user)f(requests)h Ft(TLS)f +(it)h(connects)h(whether)e(the)h(user)f(requests)h Fu(TLS)f FB(or)h(not.)48 b(If)150 2107 y(the)30 b(user)g(answ)m(ered)g(that)g (he)g(certainly)i(w)m(an)m(ts)e(the)h(secure)f(la)m(y)m(er)i(the)e (last)h(con)m(v)m(ersation)h(should)d(b)s(e:)390 2242 @@ -18354,1134 +14646,1175 @@ (remain)g(the)g(same,)h(since)g(only)f(denial)g(of)h(service)g(is)f(p)s (ossible.)43 b(The)31 b(b)s(ene\014t)f(is)150 3537 y(that)k(the)g(serv) m(er)g(ma)m(y)g(request)f(additional)i(data)f(b)s(efore)f(the)h -Ft(TLS)f FB(Handshak)m(e)h(proto)s(col)g(starts,)h(in)150 +Fu(TLS)f FB(Handshak)m(e)h(proto)s(col)g(starts,)h(in)150 3646 y(order)30 b(to)h(send)f(the)g(correct)i(certi\014cate,)g(use)e (the)h(correct)h(passw)m(ord)d(\014le)2737 3613 y Fr(3)2775 3646 y FB(,)h(or)h(an)m(ything)f(else!)p 150 5241 1200 -4 v 74 5308 a Fr(3)150 5340 y Fp(in)c Fo(SRP)f Fp(authen)n(tication)p +4 v 74 5308 a Fr(3)150 5340 y Fq(in)c Fo(SRP)f Fq(authen)n(tication)p eop end -%%Page: 32 38 -TeXDict begin 32 37 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(Gn)n(uTLS)f FB(in)g(Applications) -1582 b(32)150 299 y Fx(7)80 b(Ho)l(w)53 b(T)-13 b(o)53 -b(Use)h FA(Gn)l(uTLS)e Fx(in)h(Applications)150 625 y -FA(7.1)68 b(Preparation)150 784 y FB(T)-8 b(o)30 b(use)g -Ft(Gn)n(uTLS)p FB(,)g(y)m(ou)h(ha)m(v)m(e)g(to)g(p)s(erform)d(some)j(c) +%%Page: 33 39 +TeXDict begin 33 38 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(33)150 299 y Fy(7)80 b(Ho)l(w)53 b(T)-13 b(o)53 +b(Use)h FA(Gn)l(uTLS)e Fy(in)h(Applications)150 622 y +FA(7.1)68 b(Preparation)150 781 y FB(T)-8 b(o)30 b(use)g +Fu(Gn)n(uTLS)p FB(,)g(y)m(ou)h(ha)m(v)m(e)g(to)g(p)s(erform)d(some)j(c) m(hanges)g(to)f(y)m(our)g(sources)g(and)g(y)m(our)g(build)f(system.)150 -894 y(The)h(necessary)h(c)m(hanges)g(are)g(explained)f(in)g(the)h -(follo)m(wing)h(subsections.)150 1091 y Fu(7.1.1)63 b(Headers)150 -1238 y FB(All)47 b(the)g(data)g(t)m(yp)s(es)g(and)e(functions)i(of)f -(the)h Ft(Gn)n(uTLS)f FB(library)g(are)h(de\014ned)f(in)g(the)h(header) -f(\014le)150 1347 y(`)p Fs(gnutls/gnutls.h)p FB('.)h(This)33 +891 y(The)h(necessary)h(c)m(hanges)g(are)g(explained)f(in)g(the)h +(follo)m(wing)h(subsections.)150 1087 y Fv(7.1.1)63 b(Headers)150 +1234 y FB(All)47 b(the)g(data)g(t)m(yp)s(es)g(and)e(functions)i(of)f +(the)h Fu(Gn)n(uTLS)f FB(library)g(are)h(de\014ned)f(in)g(the)h(header) +f(\014le)150 1344 y(`)p Ft(gnutls/gnutls.h)p FB('.)h(This)33 b(m)m(ust)h(b)s(e)f(included)g(in)g(all)i(programs)e(that)i(mak)m(e)g -(use)e(of)h(the)g Ft(Gn)n(uTLS)150 1457 y FB(library)-8 -b(.)150 1590 y(The)28 b(extra)i(functionalit)m(y)g(of)f(the)g -Ft(Gn)n(uTLS-extra)f FB(library)g(is)h(a)m(v)-5 b(ailable)31 -b(b)m(y)e(including)f(the)h(header)g(\014le)150 1700 -y(`)p Fs(gnutls/extra.h)p FB(')e(in)j(y)m(our)g(programs.)150 -1897 y Fu(7.1.2)63 b(Initialization)150 2044 y FB(Gn)m(uTLS)41 -b(m)m(ust)g(b)s(e)h(initialized)h(b)s(efore)f(it)g(can)g(b)s(e)g(used.) -74 b(The)42 b(library)f(is)h(initialized)i(b)m(y)d(calling)150 -2154 y([gn)m(utls)p 421 2154 28 4 v 41 w(global)p 698 -2154 V 41 w(init],)34 b(page)g(145.)49 b(The)32 b(resources)h(allo)s -(cated)i(b)m(y)d(the)h(initialization)j(pro)s(cess)c(can)i(b)s(e)150 -2263 y(released)g(if)f(the)h(application)g(no)g(longer)f(has)g(a)h -(need)f(to)h(call)h(Gn)m(uTLS)d(functions,)h(this)h(is)f(done)g(b)m(y) -150 2373 y(calling)f([gn)m(utls)p 709 2373 V 41 w(global)p -986 2373 V 41 w(deinit],)f(page)g(145.)150 2506 y(The)89 -b(extra)i(functionalit)m(y)g(of)f(the)g Ft(Gn)n(uTLS-extra)e -FB(library)h(is)h(a)m(v)-5 b(ailable)92 b(after)e(calling)150 -2616 y([gn)m(utls)p 421 2616 V 41 w(global)p 698 2616 -V 41 w(init)p 875 2616 V 40 w(extra],)32 b(page)f(242.)150 -2749 y(In)j(order)g(to)h(tak)m(e)h(adv)-5 b(an)m(tage)37 -b(of)d(the)h(in)m(ternationalisation)i(features)e(in)f(Gn)m(uTLS,)g -(suc)m(h)g(as)h(trans-)150 2859 y(lated)j(error)e(messages,)j(the)e -(application)h(m)m(ust)f(set)g(the)g(curren)m(t)g(lo)s(cale)h(using)e -Fs(setlocale)e FB(b)s(efore)150 2969 y(initializing)e(Gn)m(uTLS.)150 -3166 y Fu(7.1.3)63 b(V)-10 b(ersion)41 b(Chec)m(k)150 -3313 y FB(It)28 b(is)g(often)h(desirable)f(to)h(c)m(hec)m(k)h(that)e +(use)e(of)h(the)g Fu(Gn)n(uTLS)150 1453 y FB(library)-8 +b(.)150 1586 y(The)28 b(extra)i(functionalit)m(y)g(of)f(the)g +Fu(Gn)n(uTLS-extra)f FB(library)g(is)h(a)m(v)-5 b(ailable)31 +b(b)m(y)e(including)f(the)h(header)g(\014le)150 1696 +y(`)p Ft(gnutls/extra.h)p FB(')e(in)j(y)m(our)g(programs.)150 +1892 y Fv(7.1.2)63 b(V)-10 b(ersion)41 b(Chec)m(k)150 +2039 y FB(It)28 b(is)g(often)h(desirable)f(to)h(c)m(hec)m(k)h(that)e (the)h(v)m(ersion)f(of)h(`gn)m(utls')g(used)e(is)h(indeed)g(one)g(whic) -m(h)g(\014ts)g(all)h(re-)150 3422 y(quiremen)m(ts.)38 +m(h)g(\014ts)g(all)h(re-)150 2149 y(quiremen)m(ts.)38 b(Ev)m(en)23 b(with)f(binary)f(compatibilit)m(y)k(new)d(features)h(ma)m (y)g(ha)m(v)m(e)g(b)s(een)f(in)m(tro)s(duced)g(but)g(due)150 -3532 y(to)f(problem)g(with)f(the)h(dynamic)g(link)m(er)g(an)f(old)h(v)m +2258 y(to)f(problem)g(with)f(the)h(dynamic)g(link)m(er)g(an)f(old)h(v)m (ersion)g(is)g(actually)i(used.)36 b(So)21 b(y)m(ou)g(ma)m(y)g(w)m(an)m -(t)h(to)f(c)m(hec)m(k)150 3642 y(that)j(the)f(v)m(ersion)h(is)f(ok)-5 +(t)h(to)f(c)m(hec)m(k)150 2368 y(that)j(the)f(v)m(ersion)h(is)f(ok)-5 b(a)m(y)25 b(righ)m(t)f(after)g(program)f(startup.)38 -b(See)23 b(the)h(function)f([gn)m(utls)p 3132 3642 V -40 w(c)m(hec)m(k)p 3385 3642 V 42 w(v)m(ersion],)150 -3751 y(page)31 b(130.)150 3948 y Fu(7.1.4)63 b(Debugging)150 -4095 y FB(In)28 b(man)m(y)i(cases)f(things)g(ma)m(y)h(not)f(go)h(as)g +b(See)23 b(the)h(function)f([gn)m(utls)p 3132 2368 28 +4 v 40 w(c)m(hec)m(k)p 3385 2368 V 42 w(v)m(ersion],)150 +2478 y(page)31 b(132.)150 2674 y Fv(7.1.3)63 b(Debugging)150 +2821 y FB(In)28 b(man)m(y)i(cases)f(things)g(ma)m(y)h(not)f(go)h(as)g (exp)s(ected)f(and)g(further)e(information,)j(to)g(assist)g(debugging,) -150 4205 y(from)23 b Ft(Gn)n(uTLS)g FB(is)g(desired.)38 +150 2930 y(from)23 b Fu(Gn)n(uTLS)g FB(is)g(desired.)38 b(Those)23 b(are)h(the)f(case)i(where)d(the)i([gn)m(utls)p -2537 4205 V 41 w(global)p 2814 4205 V 41 w(set)p 2966 -4205 V 41 w(log)p 3122 4205 V 41 w(lev)m(el],)j(page)d(146)150 -4314 y(and)42 b([gn)m(utls)p 610 4314 V 40 w(global)p -886 4314 V 42 w(set)p 1039 4314 V 40 w(log)p 1194 4314 -V 41 w(function],)k(page)d(145)g(are)g(to)g(b)s(e)e(used.)75 -b(Those)42 b(will)h(prin)m(t)f(v)m(erb)s(ose)150 4424 -y(information)31 b(on)f(the)h Ft(Gn)n(uTLS)f FB(functions)g(in)m -(ternal)h(\015o)m(w.)150 4621 y Fu(7.1.5)63 b(Building)42 -b(the)f(Source)150 4768 y FB(If)29 b(y)m(ou)h(w)m(an)m(t)h(to)f -(compile)h(a)f(source)g(\014le)g(including)f(the)h(`)p -Fs(gnutls/gnutls.h)p FB(')c(header)k(\014le,)g(y)m(ou)g(m)m(ust)150 -4878 y(mak)m(e)g(sure)f(that)g(the)h(compiler)g(can)f(\014nd)f(it)h(in) -g(the)h(directory)f(hierarc)m(h)m(y)-8 b(.)42 b(This)28 -b(is)h(accomplished)h(b)m(y)150 4987 y(adding)d(the)h(path)f(to)h(the)g -(directory)g(in)f(whic)m(h)g(the)h(header)f(\014le)h(is)g(lo)s(cated)g -(to)h(the)e(compilers)h(include)150 5097 y(\014le)i(searc)m(h)h(path)g -(\(via)g(the)g(`)p Fs(-I)p FB(')f(option\).)150 5230 -y(Ho)m(w)m(ev)m(er,)h(the)d(path)g(to)h(the)f(include)g(\014le)g(is)h -(determined)e(at)i(the)g(time)f(the)h(source)f(is)g(con\014gured.)39 -b(T)-8 b(o)150 5340 y(solv)m(e)33 b(this)e(problem,)g(the)h(library)f -(uses)g(the)g(external)i(pac)m(k)-5 b(age)33 b Fs(pkg-config)28 -b FB(that)k(kno)m(ws)g(the)f(path)p eop end -%%Page: 33 39 -TeXDict begin 33 38 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(Gn)n(uTLS)f FB(in)g(Applications) -1582 b(33)150 299 y(to)34 b(the)g(include)g(\014le)f(and)g(other)h -(con\014guration)g(options.)51 b(The)33 b(options)h(that)g(need)g(to)g -(b)s(e)f(added)g(to)150 408 y(the)24 b(compiler)h(in)m(v)m(o)s(cation)h -(at)f(compile)f(time)h(are)g(output)e(b)m(y)h(the)g(`)p -Fs(--cflags)p FB(')f(option)h(to)h Fs(pkg-config)150 -518 y(libgnutls)p FB(.)38 b(The)30 b(follo)m(wing)i(example)f(sho)m(ws) -f(ho)m(w)g(it)h(can)g(b)s(e)f(used)f(at)i(the)g(command)f(line:)390 -652 y Fs(gcc)47 b(-c)g(foo.c)f(`pkg-config)f(libgnutls)g(--cflags`)150 -786 y FB(Adding)37 b(the)g(output)g(of)h(`)p Fs(pkg-config)28 -b(libgnutls)g(--cflags)p FB(')35 b(to)j(the)g(compilers)f(command)h -(line)150 895 y(will)31 b(ensure)e(that)i(the)g(compiler)g(can)f -(\014nd)f(the)i(`)p Fs(gnutls/gnutls.h)p FB(')c(header)j(\014le.)150 -1029 y(A)j(similar)g(problem)f(o)s(ccurs)h(when)e(linking)i(the)g +2537 2930 V 41 w(global)p 2814 2930 V 41 w(set)p 2966 +2930 V 41 w(log)p 3122 2930 V 41 w(lev)m(el],)j(page)d(144)150 +3040 y(and)42 b([gn)m(utls)p 610 3040 V 40 w(global)p +886 3040 V 42 w(set)p 1039 3040 V 40 w(log)p 1194 3040 +V 41 w(function],)k(page)d(144)g(are)g(to)g(b)s(e)e(used.)75 +b(Those)42 b(will)h(prin)m(t)f(v)m(erb)s(ose)150 3150 +y(information)31 b(on)f(the)h Fu(Gn)n(uTLS)f FB(functions)g(in)m +(ternal)h(\015o)m(w.)150 3346 y Fv(7.1.4)63 b(Building)42 +b(the)f(Source)150 3493 y FB(If)c(y)m(ou)h(w)m(an)m(t)h(to)f(compile)h +(a)f(source)g(\014le)g(including)f(the)h(`gn)m(utls/gn)m(utls.h')h +(header)f(\014le,)i(y)m(ou)e(m)m(ust)150 3602 y(mak)m(e)30 +b(sure)f(that)g(the)h(compiler)g(can)f(\014nd)f(it)h(in)g(the)h +(directory)f(hierarc)m(h)m(y)-8 b(.)42 b(This)28 b(is)h(accomplished)h +(b)m(y)150 3712 y(adding)d(the)h(path)f(to)h(the)g(directory)g(in)f +(whic)m(h)g(the)h(header)f(\014le)h(is)g(lo)s(cated)g(to)h(the)e +(compilers)h(include)150 3822 y(\014le)i(searc)m(h)h(path)g(\(via)g +(the)g(-I)f(option\).)150 3955 y(Ho)m(w)m(ev)m(er,)42 +b(the)37 b(path)h(to)g(the)g(include)f(\014le)h(is)g(determined)f(at)h +(the)g(time)g(the)g(source)g(is)f(con\014gured.)150 4064 +y(T)-8 b(o)36 b(solv)m(e)h(this)f(problem,)g Fu(Gn)n(uTLS)g +FB(ships)f(with)g(t)m(w)m(o)i(small)f(help)s(er)f(programs)g +Ft(libgnutls-config)150 4174 y FB(and)41 b Ft(libgnutls-extra-config)35 +b FB(that)42 b(kno)m(ws)f(ab)s(out)h(the)f(path)g(to)i(the)e(include)g +(\014le)h(and)f(other)150 4283 y(con\014guration)e(options.)65 +b(The)38 b(options)h(that)g(need)f(to)h(b)s(e)f(added)g(to)h(the)g +(compiler)g(in)m(v)m(o)s(cation)h(at)150 4393 y(compile)j(time)g(are)f +(output)g(b)m(y)g(the)g Ft(--cflags)e FB(option)i(to)h +Ft(libgnutls-config)p FB(.)71 b(The)41 b(follo)m(wing)150 +4503 y(example)31 b(sho)m(ws)f(ho)m(w)h(it)f(can)h(b)s(e)f(used)f(at)j +(the)e(command)g(line:)390 4636 y Ft(gcc)47 b(-c)g(foo.c)f +(`libgnutls-config)e(--cflags`)150 4769 y FB(Adding)d(the)h(output)g +(of)g Ft(libgnutls-config)26 b(--cflags)40 b FB(to)i(the)g(compilers)h +(command)e(line)i(will)150 4878 y(ensure)30 b(that)h(the)f(compiler)h +(can)g(\014nd)e(the)h Fu(Gn)n(uTLS)g FB(header)h(\014le.)150 +5011 y(A)i(similar)g(problem)f(o)s(ccurs)h(when)e(linking)i(the)g (program)g(with)f(the)h(library)-8 b(.)48 b(Again,)34 -b(the)f(compiler)150 1139 y(has)26 b(to)g(\014nd)f(the)h(library)f -(\014les.)40 b(F)-8 b(or)26 b(this)g(to)h(w)m(ork,)g(the)f(path)g(to)h -(the)f(library)f(\014les)h(has)g(to)h(b)s(e)e(added)g(to)150 -1248 y(the)32 b(library)g(searc)m(h)h(path)f(\(via)h(the)f(`)p -Fs(-L)p FB(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p -Fs(--libs)p FB(')e(to)i Fs(pkg-config)150 1358 y(libgnutls)24 -b FB(can)i(b)s(e)f(used.)39 b(F)-8 b(or)27 b(con)m(v)m(enience,)i(this) -d(option)h(also)g(outputs)e(all)i(other)f(options)h(that)g(are)150 -1468 y(required)36 b(to)h(link)f(the)h(program)f(with)g(the)h(libarary) -f(\(for)g(instance,)j(the)e(`)p Fs(-ltasn1)p FB(')e(option\).)59 -b(The)150 1577 y(example)31 b(sho)m(ws)f(ho)m(w)h(to)g(link)f(`)p -Fs(foo.o)p FB(')f(with)h(the)h(library)f(to)h(a)g(program)f -Fs(foo)p FB(.)390 1711 y Fs(gcc)47 b(-o)g(foo)g(foo.o)f(`pkg-config)f -(libgnutls)g(--libs`)150 1845 y FB(Of)39 b(course)g(y)m(ou)g(can)h -(also)g(com)m(bine)g(b)s(oth)e(examples)i(to)g(a)f(single)h(command)f -(b)m(y)g(sp)s(ecifying)g(b)s(oth)150 1954 y(options)31 -b(to)g Fs(pkg-config)p FB(:)390 2088 y Fs(gcc)47 b(-o)g(foo)g(foo.c)f -(`pkg-config)f(libgnutls)g(--cflags)h(--libs`)150 2320 -y FA(7.2)68 b(Multi-Threaded)45 b(Applications)150 2479 -y FB(Although)39 b(the)g Ft(Gn)n(uTLS)f FB(library)g(is)h(thread)f -(safe)h(b)m(y)g(design,)i(some)e(parts)f(of)h(Libgcrypt,)h(suc)m(h)f -(as)150 2588 y(the)34 b(random)g(generator,)i(are)f(not.)52 -b(Applications)35 b(ha)m(v)m(e)g(to)g(register)g(callbac)m(k)h -(functions)e(to)h(ensure)150 2698 y(prop)s(er)29 b(lo)s(c)m(king)j(in)e -(the)g(sensitiv)m(e)i(parts)e(of)g Fm(lib)-5 b(gcrypt)p -FB(.)150 2832 y(There)32 b(are)h(help)s(er)f(macros)i(to)f(help)g(y)m -(ou)g(prop)s(erly)e(initialize)k(the)e(libraries.)49 -b(Examples)32 b(are)i(sho)m(wn)150 2942 y(b)s(elo)m(w.)225 -3075 y Fy(\017)60 b FB(POSIX)29 b(threads)570 3209 y -Fs(#include)46 b()570 3319 y(#include)g()570 -3428 y(#include)g()570 3538 y(#include)g()570 -3648 y(GCRY_THREAD_OPTION_PTHRE)o(AD_I)o(MPL;)570 3867 -y(int)h(main\(\))570 3976 y({)713 4086 y(/*)g(The)g(order)g(matters.) -761 4196 y(*/)713 4305 y(gcry_control)e(\(GCRYCTL_SET_THREAD_CBS)o(,)d -(&gcry_threads_pthread\);)713 4415 y(gnutls_global_init\(\);)570 -4524 y(})225 4658 y Fy(\017)60 b FB(GNU)31 b(PTH)f(threads)570 -4792 y Fs(#include)46 b()570 4902 y(#include)g()570 -5011 y(#include)g()570 5121 y(#include)g()570 -5230 y(GCRY_THREAD_OPTION_PTH_I)o(MPL;)p eop end +b(the)f(compiler)150 5121 y(has)e(to)i(\014nd)d(the)i(library)f +(\014les.)44 b(F)-8 b(or)33 b(this)e(to)h(w)m(ork,)h(the)f(path)f(to)h +(the)g(library)f(\014les)h(has)f(to)i(b)s(e)e(added)150 +5230 y(to)i(the)f(library)f(searc)m(h)i(path)e(\(via)i(the)f(-L)g +(option\).)46 b(F)-8 b(or)33 b(this,)f(the)h(option)f +Ft(--libs)e FB(to)j Ft(libgnutls-)150 5340 y(config)h +FB(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d +(option)g(also)g(outputs)g(all)g(other)g(options)g(that)h(are)p +eop end %%Page: 34 40 TeXDict begin 34 39 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(34)570 299 y Fs(int)47 b(main\(\))570 408 y({)713 518 -y(gcry_control)e(\(GCRYCTL_SET_THREAD_CBS)o(,)d(&gcry_threads_pth\);) -713 628 y(gnutls_global_init\(\);)570 737 y(})225 865 -y Fy(\017)60 b FB(Other)30 b(thread)g(pac)m(k)-5 b(ages)570 -993 y Fs(/*)47 b(The)g(gcry_thread_cbs)d(structure)h(must)i(have)f -(been)618 1103 y(*)h(initialized.)618 1212 y(*/)570 1322 -y(static)f(struct)g(gcry_thread_cbs)e(gcry_threads_other)f(=)k({)h(...) -e(};)570 1541 y(int)h(main\(\))570 1651 y({)713 1760 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(34)150 299 y(required)32 b(to)i(link)f(the)g(program)g(with)f +(the)h Fu(Gn)n(uTLS)g FB(libararies.)50 b(The)32 b(example)i(sho)m(ws)e +(ho)m(w)h(to)h(link)150 408 y(`fo)s(o.o')e(with)e(the)g +Fu(Gn)n(uTLS)h FB(libraries)f(to)h(a)g(program)f Fm(fo)-5 +b(o)p FB(.)390 545 y Ft(gcc)47 b(-o)g(foo)g(foo.o)f(`libgnutls-config)d +(--libs`)150 681 y FB(Of)c(course)g(y)m(ou)g(can)h(also)g(com)m(bine)g +(b)s(oth)e(examples)i(to)g(a)f(single)h(command)f(b)m(y)g(sp)s +(ecifying)g(b)s(oth)150 791 y(options)31 b(to)g(`libgn)m +(utls-con\014g':)390 927 y Ft(gcc)47 b(-o)g(foo)g(foo.c)f +(`libgnutls-config)d(--cflags)j(--libs`)150 1162 y FA(7.2)68 +b(Multi-Threaded)45 b(Applications)150 1322 y FB(Although)35 +b(the)g Fu(Gn)n(uTLS)f FB(library)h(is)f(thread)h(safe)g(b)m(y)f +(design,)i(some)f(parts)g(of)f(the)h(crypto)g(bac)m(k)m(end,)150 +1431 y(suc)m(h)43 b(as)h(the)f(random)g(generator,)48 +b(are)43 b(not.)80 b(Since)44 b Fm(lib)-5 b(gcrypt)45 +b(1.1.92)57 b FB(there)44 b(w)m(as)g(an)f(automatic)150 +1541 y(detection)30 b(of)f(the)g(thread)f(library)h(used)f(b)m(y)g(the) +h(application,)i(so)e(most)g(applications)h(w)m(ouldn't)e(need)150 +1650 y(to)45 b(do)g(an)m(y)g(c)m(hanges)g(to)g(ensure)f(thread-safet)m +(y)-8 b(.)85 b(Due)45 b(to)g(the)g(unp)s(ortabilit)m(y)g(of)f(the)h +(automatic)150 1760 y(thread)26 b(detection,)j(this)d(w)m(as)g(remo)m +(v)m(ed)h(from)f(later)h(releases)g(of)g Fm(lib)-5 b(gcrypt)p +FB(,)28 b(so)e(applications)i(ha)m(v)m(e)f(no)m(w)150 +1870 y(to)k(register)g(callbac)m(k)i(functions)d(to)h(ensure)e(prop)s +(er)g(lo)s(c)m(king)j(in)e(sensitiv)m(e)i(parts)e(of)g +Fm(lib)-5 b(gcrypt)p FB(.)150 2006 y(There)32 b(are)h(help)s(er)f +(macros)i(to)f(help)g(y)m(ou)g(prop)s(erly)e(initialize)k(the)e +(libraries.)49 b(Examples)32 b(are)i(sho)m(wn)150 2116 +y(b)s(elo)m(w.)225 2252 y Fs(\017)60 b FB(POSIX)29 b(threads)570 +2387 y Ft(#include)46 b()570 2497 y(#include)g()570 +2607 y(#include)g()570 2716 y(#include)g()570 +2826 y(GCRY_THREAD_OPTION_PTHRE)o(AD_I)o(MPL;)570 3045 +y(int)h(main\(\))570 3154 y({)713 3264 y(/*)g(The)g(order)g(matters.) +761 3374 y(*/)713 3483 y(gcry_control)e(\(GCRYCTL_SET_THREAD_CBS)o(,)d +(&gcry_threads_pthread\);)713 3593 y(gnutls_global_init\(\);)570 +3702 y(})225 3838 y Fs(\017)60 b FB(GNU)31 b(PTH)f(threads)570 +3973 y Ft(#include)46 b()570 4083 y(#include)g()570 +4192 y(#include)g()570 4302 y(#include)g()570 +4412 y(GCRY_THREAD_OPTION_PTH_I)o(MPL;)570 4631 y(int)h(main\(\))570 +4740 y({)713 4850 y(gcry_control)e(\(GCRYCTL_SET_THREAD_CBS)o(,)d +(&gcry_threads_pth\);)713 4960 y(gnutls_global_init\(\);)570 +5069 y(})225 5205 y Fs(\017)60 b FB(Other)30 b(thread)g(pac)m(k)-5 +b(ages)570 5340 y Ft(/*)47 b(The)g(gcry_thread_cbs)d(structure)h(must)i +(have)f(been)p eop end +%%Page: 35 41 +TeXDict begin 35 40 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(35)618 299 y Ft(*)47 b(initialized.)618 408 y(*/)570 +518 y(static)f(struct)g(gcry_thread_cbs)e(gcry_threads_other)f(=)k({)h +(...)e(};)570 737 y(int)h(main\(\))570 847 y({)713 956 y(gcry_control)e(\(GCRYCTL_SET_THREAD_CBS)o(,)d(&gcry_threads_other\);) -570 1870 y(})150 2089 y FA(7.3)68 b(Clien)l(t)46 b(Examples)150 -2249 y FB(This)22 b(section)i(con)m(tains)g(examples)f(of)g -Ft(TLS)g FB(and)f Ft(SSL)h FB(clien)m(ts,)j(using)c Ft(Gn)n(uTLS)p -FB(.)h(Note)h(that)g(these)f(exam-)150 2358 y(ples)h(con)m(tain)h +570 1066 y(})150 1300 y FA(7.3)68 b(Clien)l(t)46 b(Examples)150 +1460 y FB(This)22 b(section)i(con)m(tains)g(examples)f(of)g +Fu(TLS)g FB(and)f Fu(SSL)h FB(clien)m(ts,)j(using)c Fu(Gn)n(uTLS)p +FB(.)h(Note)h(that)g(these)f(exam-)150 1569 y(ples)h(con)m(tain)h (little)g(or)f(no)f(error)h(c)m(hec)m(king.)40 b(Some)24 b(of)g(the)g(examples)g(require)f(functions)g(implemen)m(ted)150 -2468 y(b)m(y)30 b(another)h(example.)150 2654 y Fu(7.3.1)63 +1679 y(b)m(y)30 b(another)h(example.)150 1879 y Fv(7.3.1)63 b(Simple)41 b(Clien)m(t)g(Example)f(with)h(Anon)m(ymous)g(Authen)m -(tication)150 2801 y FB(The)33 b(simplest)h(clien)m(t)h(using)e(TLS)g +(tication)150 2026 y FB(The)33 b(simplest)h(clien)m(t)h(using)e(TLS)g (is)h(the)f(one)h(that)h(do)s(esn't)e(do)h(an)m(y)f(authen)m(tication.) -53 b(This)33 b(means)150 2911 y(no)41 b(external)h(certi\014cates)h(or) +53 b(This)33 b(means)150 2136 y(no)41 b(external)h(certi\014cates)h(or) e(passw)m(ords)f(are)i(needed)f(to)g(set)h(up)e(the)h(connection.)74 -b(As)41 b(could)h(b)s(e)150 3020 y(exp)s(ected,)29 b(the)e(connection)h +b(As)41 b(could)h(b)s(e)150 2245 y(exp)s(ected,)29 b(the)e(connection)h (is)g(vulnerable)f(to)h(man-in-the-middle)f(\(activ)m(e)j(or)d -(redirection\))h(attac)m(ks.)150 3130 y(Ho)m(w)m(ev)m(er,)33 +(redirection\))h(attac)m(ks.)150 2355 y(Ho)m(w)m(ev)m(er,)33 b(the)d(data)h(is)g(in)m(tegrit)m(y)h(and)e(priv)-5 b(acy)30 -b(protected.)150 3258 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed) -g(in)g(the)g(public)f(domain.)93 b(*/)150 3477 y(#ifdef)46 -b(HAVE_CONFIG_H)150 3587 y(#)h(include)f()150 -3696 y(#endif)150 3915 y(#include)g()150 4025 -y(#include)g()150 4134 y(#include)g()150 -4244 y(#include)g()150 4354 y(#include)g() -150 4463 y(#include)g()150 4573 y(#include)g() -150 4682 y(#include)g()150 4902 y(/*)h(A)h(very)e +b(protected.)150 2491 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e +(Foundation)198 2600 y(*)198 2710 y(*)i(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +2819 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2929 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 3039 y(*/)150 3258 y(#if)g +(HAVE_CONFIG_H)150 3367 y(#)g(include)f()150 +3477 y(#endif)150 3696 y(#include)g()150 3806 +y(#include)g()150 3915 y(#include)g()150 +4025 y(#include)g()150 4134 y(#include)g() +150 4244 y(#include)g()150 4354 y(#include)g() +150 4463 y(#include)g()150 4682 y(/*)h(A)h(very)e (basic)h(TLS)g(client,)e(with)i(anonymous)e(authentication.)198 -5011 y(*/)150 5230 y(#define)h(MAX_BUF)g(1024)150 5340 -y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")p -eop end -%%Page: 35 41 -TeXDict begin 35 40 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(35)150 408 y Fs(extern)46 b(int)h(tcp_connect)e(\(void\);)150 -518 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 737 -y(int)150 847 y(main)g(\(void\))150 956 y({)245 1066 -y(int)g(ret,)g(sd,)g(ii;)245 1176 y(gnutls_session_t)d(session;)245 -1285 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 1395 y -(gnutls_anon_client_credent)o(ials)o(_t)41 b(anoncred;)245 -1504 y(/*)48 b(Need)e(to)h(enable)g(anonymous)e(KX)i(specifically.)92 -b(*/)245 1724 y(gnutls_global_init)43 b(\(\);)245 1943 -y(gnutls_anon_allocate_clien)o(t_cr)o(ede)o(ntia)o(ls)f(\(&anoncred\);) -245 2162 y(/*)48 b(Initialize)d(TLS)i(session)293 2271 -y(*/)245 2381 y(gnutls_init)e(\(&session,)g(GNUTLS_CLIENT\);)245 -2600 y(/*)j(Use)f(default)e(priorities)g(*/)245 2710 -y(gnutls_priority_set_direct)c(\(session,)k("PERFORMANCE:+ANON-DH:!ARC) -o(FOU)o(R-12)o(8",)1582 2819 y(NULL\);)245 3039 y(/*)j(put)f(the)f -(anonymous)g(credentials)e(to)k(the)f(current)e(session)293 -3148 y(*/)245 3258 y(gnutls_credentials_set)d(\(session,)j -(GNUTLS_CRD_ANON,)f(anoncred\);)245 3477 y(/*)k(connect)d(to)j(the)f -(peer)293 3587 y(*/)245 3696 y(sd)h(=)f(tcp_connect)e(\(\);)245 -3915 y(gnutls_transport_set_ptr)d(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)245 4134 y(/*)48 -b(Perform)d(the)i(TLS)g(handshake)293 4244 y(*/)245 4354 -y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 4573 -y(if)48 b(\(ret)e(<)i(0\))341 4682 y({)436 4792 y(fprintf)e(\(stderr,)g -("***)g(Handshake)g(failed\\n"\);)436 4902 y(gnutls_perror)f(\(ret\);) -436 5011 y(goto)i(end;)341 5121 y(})245 5230 y(else)341 -5340 y({)p eop end +4792 y(*/)150 5011 y(#define)h(MAX_BUF)g(1024)150 5121 +y(#define)g(SA)h(struct)f(sockaddr)150 5230 y(#define)g(MSG)h("GET)f(/) +i(HTTP/1.0\\r\\n\\r\\n")p eop end %%Page: 36 42 TeXDict begin 36 41 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(36)436 299 y Fs(printf)46 b(\("-)h(Handshake)f(was)h -(completed\\n"\);)341 408 y(})245 628 y(gnutls_record_send)c -(\(session,)j(MSG,)g(strlen)g(\(MSG\)\);)245 847 y(ret)h(=)h -(gnutls_record_recv)43 b(\(session,)i(buffer,)h(MAX_BUF\);)245 -956 y(if)i(\(ret)e(==)h(0\))341 1066 y({)436 1176 y(printf)f(\("-)h -(Peer)g(has)g(closed)f(the)h(TLS)g(connection\\n"\);)436 -1285 y(goto)g(end;)341 1395 y(})245 1504 y(else)g(if)g(\(ret)g(<)g(0\)) -341 1614 y({)436 1724 y(fprintf)f(\(stderr,)g("***)g(Error:)94 -b(\045s\\n",)46 b(gnutls_strerror)e(\(ret\)\);)436 1833 -y(goto)j(end;)341 1943 y(})245 2162 y(printf)g(\("-)f(Received)g(\045d) -h(bytes:)94 b(",)47 b(ret\);)245 2271 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h -(ret;)e(ii++\))341 2381 y({)436 2491 y(fputc)h(\(buffer[ii],)d -(stdout\);)341 2600 y(})245 2710 y(fputs)j(\("\\n",)f(stdout\);)245 -2929 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 -3148 y(end:)245 3367 y(tcp_close)g(\(sd\);)245 3587 y(gnutls_deinit)f -(\(session\);)245 3806 y(gnutls_anon_free_client_cr)o(eden)o(tia)o(ls)d -(\(anoncred\);)245 4025 y(gnutls_global_deinit)h(\(\);)245 -4244 y(return)k(0;)150 4354 y(})150 4587 y Fu(7.3.2)63 -b(Simple)41 b(Clien)m(t)g(Example)f(with)h Fn(X.509)h -Fu(Certi\014cate)d(Supp)s(ort)150 4733 y FB(Let's)d(assume)f(no)m(w)h +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(36)150 299 y Ft(extern)46 b(int)h(tcp_connect)e(\(void\);)150 +408 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 628 +y(int)150 737 y(main)g(\(void\))150 847 y({)245 956 y(int)g(ret,)g(sd,) +g(ii;)245 1066 y(gnutls_session_t)d(session;)245 1176 +y(char)j(buffer[MAX_BUF)d(+)j(1];)245 1285 y +(gnutls_anon_client_credent)o(ials)o(_t)41 b(anoncred;)245 +1395 y(/*)48 b(Need)e(to)h(enable)g(anonymous)e(KX)i(specifically.)d +(*/)245 1614 y(gnutls_global_init)f(\(\);)245 1833 y +(gnutls_anon_allocate_clien)o(t_cr)o(ede)o(ntia)o(ls)f(\(&anoncred\);) +245 2052 y(/*)48 b(Initialize)d(TLS)i(session)293 2162 +y(*/)245 2271 y(gnutls_init)e(\(&session,)g(GNUTLS_CLIENT\);)245 +2491 y(/*)j(Use)f(default)e(priorities)g(*/)245 2600 +y(gnutls_priority_set_direct)c(\(session,)k("PERFORMANCE:+ANON-DH:!ARC) +o(FOU)o(R-12)o(8",)c(NULL\);)245 2819 y(/*)48 b(put)f(the)f(anonymous)g +(credentials)e(to)k(the)f(current)e(session)293 2929 +y(*/)245 3039 y(gnutls_credentials_set)d(\(session,)j(GNUTLS_CRD_ANON,) +f(anoncred\);)245 3258 y(/*)k(connect)d(to)j(the)f(peer)293 +3367 y(*/)245 3477 y(sd)h(=)f(tcp_connect)e(\(\);)245 +3696 y(gnutls_transport_set_ptr)d(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)245 3915 y(/*)48 +b(Perform)d(the)i(TLS)g(handshake)293 4025 y(*/)245 4134 +y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 4354 +y(if)48 b(\(ret)e(<)i(0\))341 4463 y({)436 4573 y(fprintf)e(\(stderr,)g +("***)g(Handshake)g(failed\\n"\);)436 4682 y(gnutls_perror)f(\(ret\);) +436 4792 y(goto)i(end;)341 4902 y(})245 5011 y(else)341 +5121 y({)436 5230 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);) +341 5340 y(})p eop end +%%Page: 37 43 +TeXDict begin 37 42 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(37)245 408 y Ft(gnutls_record_send)43 b(\(session,)j(MSG,)g +(strlen)g(\(MSG\)\);)245 628 y(ret)h(=)h(gnutls_record_recv)43 +b(\(session,)i(buffer,)h(MAX_BUF\);)245 737 y(if)i(\(ret)e(==)h(0\))341 +847 y({)436 956 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h(TLS)g +(connection\\n"\);)436 1066 y(goto)g(end;)341 1176 y(})245 +1285 y(else)g(if)g(\(ret)g(<)g(0\))341 1395 y({)436 1504 +y(fprintf)f(\(stderr,)g("***)g(Error:)g(\045s\\n",)h(gnutls_strerror)c +(\(ret\)\);)436 1614 y(goto)k(end;)341 1724 y(})245 1943 +y(printf)g(\("-)f(Received)g(\045d)h(bytes:)f(",)h(ret\);)245 +2052 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e(ii++\))341 +2162 y({)436 2271 y(fputc)h(\(buffer[ii],)d(stdout\);)341 +2381 y(})245 2491 y(fputs)j(\("\\n",)f(stdout\);)245 +2710 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 +2929 y(end:)245 3148 y(tcp_close)g(\(sd\);)245 3367 y(gnutls_deinit)f +(\(session\);)245 3587 y(gnutls_anon_free_client_cr)o(eden)o(tia)o(ls)d +(\(anoncred\);)245 3806 y(gnutls_global_deinit)h(\(\);)245 +4025 y(return)k(0;)150 4134 y(})150 4367 y Fv(7.3.2)63 +b(Simple)41 b(Clien)m(t)g(Example)f(with)h FB(X.509)h +Fv(Certi\014cate)e(Supp)s(ort)150 4514 y FB(Let's)c(assume)f(no)m(w)h (that)g(w)m(e)g(w)m(an)m(t)g(to)g(create)h(a)f(TCP)f(clien)m(t)i(whic)m -(h)e(comm)m(unicates)i(with)e(serv)m(ers)150 4843 y(that)c(use)e -Ft(X.509)g FB(or)h Ft(Op)r(enPGP)f FB(certi\014cate)k(authen)m +(h)e(comm)m(unicates)i(with)e(serv)m(ers)150 4624 y(that)c(use)e +Fu(X.509)g FB(or)h Fu(Op)r(enPGP)f FB(certi\014cate)k(authen)m (tication.)42 b(The)30 b(follo)m(wing)h(clien)m(t)h(is)e(a)h(v)m(ery)f -(simple)150 4953 y Ft(TLS)d FB(clien)m(t,)i(it)f(do)s(es)f(not)g(supp)s +(simple)150 4733 y Fu(TLS)d FB(clien)m(t,)i(it)f(do)s(es)f(not)g(supp)s (ort)e(session)i(resuming,)g(not)g(ev)m(en)h(certi\014cate)h(v)m -(eri\014cation.)41 b(The)27 b(TCP)150 5062 y(functions)36 +(eri\014cation.)41 b(The)27 b(TCP)150 4843 y(functions)36 b(de\014ned)f(in)h(this)h(example)g(are)g(used)e(in)i(most)f(of)h(the)g -(other)f(examples)h(b)s(elo)m(w,)i(without)150 5172 y(rede\014ning)29 -b(them.)150 5340 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in) -g(the)g(public)f(domain.)93 b(*/)p eop end -%%Page: 37 43 -TeXDict begin 37 42 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(37)150 408 y Fs(#ifdef)46 b(HAVE_CONFIG_H)150 518 y(#)h(include)f -()150 628 y(#endif)150 847 y(#include)g()150 -956 y(#include)g()150 1066 y(#include)g()150 -1176 y(#include)g()150 1285 y(#include)g() -150 1395 y(#include)g()150 1504 y(#include)g() -150 1614 y(#include)g()150 1833 y(/*)h(A)h(very)e -(basic)h(TLS)g(client,)e(with)i(X.509)f(authentication.)198 -1943 y(*/)150 2162 y(#define)g(MAX_BUF)g(1024)150 2271 -y(#define)g(CAFILE)g("ca.pem")150 2381 y(#define)g(MSG)h("GET)f(/)i -(HTTP/1.0\\r\\n\\r\\n")150 2600 y(extern)e(int)h(tcp_connect)e -(\(void\);)150 2710 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 -2929 y(int)150 3039 y(main)g(\(void\))150 3148 y({)245 -3258 y(int)g(ret,)g(sd,)g(ii;)245 3367 y(gnutls_session_t)d(session;) -245 3477 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3587 y(const)g(char)f -(*err;)245 3696 y(gnutls_certificate_credent)o(ials)o(_t)41 -b(xcred;)245 3915 y(gnutls_global_init)i(\(\);)245 4134 -y(/*)48 b(X509)e(stuff)h(*/)245 4244 y(gnutls_certificate_allocat)o -(e_cr)o(ede)o(ntia)o(ls)42 b(\(&xcred\);)245 4463 y(/*)48 -b(sets)e(the)h(trusted)f(cas)h(file)293 4573 y(*/)245 -4682 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o(_fil)o(e)42 -b(\(xcred,)k(CAFILE,)f(GNUTLS_X509_FMT_PEM\);)245 4902 -y(/*)j(Initialize)d(TLS)i(session)293 5011 y(*/)245 5121 -y(gnutls_init)e(\(&session,)g(GNUTLS_CLIENT\);)245 5340 -y(/*)j(Use)f(default)e(priorities)g(*/)p eop end +(other)f(examples)h(b)s(elo)m(w,)i(without)150 4953 y(rede\014ning)29 +b(them.)150 5121 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e +(Foundation)198 5230 y(*)198 5340 y(*)i(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)p +eop end %%Page: 38 44 TeXDict begin 38 43 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(38)245 299 y Fs(ret)47 b(=)h(gnutls_priority_set_dire)o(ct)41 -b(\(session,)46 b("PERFORMANCE",)e(&err\);)245 408 y(if)k(\(ret)e(<)i -(0\))341 518 y({)436 628 y(if)g(\(ret)e(==)h -(GNUTLS_E_INVALID_REQUEST\))532 737 y({)627 847 y(fprintf)f(\(stderr,)g -("Syntax)f(error)i(at:)94 b(\045s\\n",)47 b(err\);)532 -956 y(})436 1066 y(exit)g(\(1\);)341 1176 y(})245 1395 -y(/*)h(put)f(the)f(x509)h(credentials)e(to)i(the)g(current)f(session) -293 1504 y(*/)245 1614 y(gnutls_credentials_set)c(\(session,)j -(GNUTLS_CRD_CERTIFICATE,)d(xcred\);)245 1833 y(/*)48 -b(connect)d(to)j(the)f(peer)293 1943 y(*/)245 2052 y(sd)h(=)f -(tcp_connect)e(\(\);)245 2271 y(gnutls_transport_set_ptr)d(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)245 2491 y(/*)48 -b(Perform)d(the)i(TLS)g(handshake)293 2600 y(*/)245 2710 -y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 2929 -y(if)48 b(\(ret)e(<)i(0\))341 3039 y({)436 3148 y(fprintf)e(\(stderr,)g -("***)g(Handshake)g(failed\\n"\);)436 3258 y(gnutls_perror)f(\(ret\);) -436 3367 y(goto)i(end;)341 3477 y(})245 3587 y(else)341 -3696 y({)436 3806 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);) -341 3915 y(})245 4134 y(gnutls_record_send)c(\(session,)j(MSG,)g -(strlen)g(\(MSG\)\);)245 4354 y(ret)h(=)h(gnutls_record_recv)43 -b(\(session,)i(buffer,)h(MAX_BUF\);)245 4463 y(if)i(\(ret)e(==)h(0\)) -341 4573 y({)436 4682 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h -(TLS)g(connection\\n"\);)436 4792 y(goto)g(end;)341 4902 -y(})245 5011 y(else)g(if)g(\(ret)g(<)g(0\))341 5121 y({)436 -5230 y(fprintf)f(\(stderr,)g("***)g(Error:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)436 5340 y(goto)j(end;)p -eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(38)198 299 y Ft(*)47 b(are)g(permitted)e(in)j(any)e(medium)h +(without)e(royalty)h(provided)g(the)h(copyright)198 408 +y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +518 y(*/)150 737 y(#if)g(HAVE_CONFIG_H)150 847 y(#)g(include)f +()150 956 y(#endif)150 1176 y(#include)g()150 +1285 y(#include)g()150 1395 y(#include)g()150 +1504 y(#include)g()150 1614 y(#include)g() +150 1724 y(#include)g()150 1833 y(#include)g() +150 1943 y(#include)g()150 2162 y(/*)h(A)h(very)e +(basic)h(TLS)g(client,)e(with)i(X.509)f(authentication.)198 +2271 y(*/)150 2491 y(#define)g(MAX_BUF)g(1024)150 2600 +y(#define)g(CAFILE)g("ca.pem")150 2710 y(#define)g(MSG)h("GET)f(/)i +(HTTP/1.0\\r\\n\\r\\n")150 2929 y(extern)e(int)h(tcp_connect)e +(\(void\);)150 3039 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 +3258 y(int)150 3367 y(main)g(\(void\))150 3477 y({)245 +3587 y(int)g(ret,)g(sd,)g(ii;)245 3696 y(gnutls_session_t)d(session;) +245 3806 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3915 y(const)g(char)f +(*err;)245 4025 y(gnutls_certificate_credent)o(ials)o(_t)41 +b(xcred;)245 4244 y(gnutls_global_init)i(\(\);)245 4463 +y(/*)48 b(X509)e(stuff)h(*/)245 4573 y(gnutls_certificate_allocat)o +(e_cr)o(ede)o(ntia)o(ls)42 b(\(&xcred\);)245 4792 y(/*)48 +b(sets)e(the)h(trusted)f(cas)h(file)293 4902 y(*/)245 +5011 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o(_fil)o(e)42 +b(\(xcred,)k(CAFILE,)f(GNUTLS_X509_FMT_PEM\);)245 5230 +y(/*)j(Initialize)d(TLS)i(session)293 5340 y(*/)p eop +end %%Page: 39 45 TeXDict begin 39 44 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(39)341 299 y Fs(})245 518 y(printf)47 b(\("-)f(Received)g(\045d)h -(bytes:)94 b(",)47 b(ret\);)245 628 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h -(ret;)e(ii++\))341 737 y({)436 847 y(fputc)h(\(buffer[ii],)d(stdout\);) -341 956 y(})245 1066 y(fputs)j(\("\\n",)f(stdout\);)245 -1285 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 -1504 y(end:)245 1724 y(tcp_close)g(\(sd\);)245 1943 y(gnutls_deinit)f -(\(session\);)245 2162 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)d -(\(xcred\);)245 2381 y(gnutls_global_deinit)h(\(\);)245 -2600 y(return)k(0;)150 2710 y(})150 2943 y Fu(7.3.3)63 -b(Obtaining)41 b(Session)i(Information)150 3090 y FB(Most)33 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(39)245 299 y Ft(gnutls_init)45 b(\(&session,)g(GNUTLS_CLIENT\);) +245 518 y(/*)j(Use)f(default)e(priorities)g(*/)245 628 +y(ret)i(=)h(gnutls_priority_set_dire)o(ct)41 b(\(session,)46 +b("PERFORMANCE",)e(&err\);)245 737 y(if)k(\(ret)e(<)i(0\))f({)341 +847 y(if)g(\(ret)g(==)g(GNUTLS_E_INVALID_REQUEST)o(\))42 +b({)436 956 y(fprintf\(stderr,)i("Syntax)i(error)g(at:)h(\045s\\n",)f +(err\);)341 1066 y(})341 1176 y(exit\(1\);)245 1285 y(})245 +1504 y(/*)i(put)f(the)f(x509)h(credentials)e(to)i(the)g(current)f +(session)293 1614 y(*/)245 1724 y(gnutls_credentials_set)c(\(session,)j +(GNUTLS_CRD_CERTIFICATE,)d(xcred\);)245 1943 y(/*)48 +b(connect)d(to)j(the)f(peer)293 2052 y(*/)245 2162 y(sd)h(=)f +(tcp_connect)e(\(\);)245 2381 y(gnutls_transport_set_ptr)d(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)245 2600 y(/*)48 +b(Perform)d(the)i(TLS)g(handshake)293 2710 y(*/)245 2819 +y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 3039 +y(if)48 b(\(ret)e(<)i(0\))341 3148 y({)436 3258 y(fprintf)e(\(stderr,)g +("***)g(Handshake)g(failed\\n"\);)436 3367 y(gnutls_perror)f(\(ret\);) +436 3477 y(goto)i(end;)341 3587 y(})245 3696 y(else)341 +3806 y({)436 3915 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);) +341 4025 y(})245 4244 y(gnutls_record_send)c(\(session,)j(MSG,)g +(strlen)g(\(MSG\)\);)245 4463 y(ret)h(=)h(gnutls_record_recv)43 +b(\(session,)i(buffer,)h(MAX_BUF\);)245 4573 y(if)i(\(ret)e(==)h(0\)) +341 4682 y({)436 4792 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h +(TLS)g(connection\\n"\);)436 4902 y(goto)g(end;)341 5011 +y(})245 5121 y(else)g(if)g(\(ret)g(<)g(0\))341 5230 y({)436 +5340 y(fprintf)f(\(stderr,)g("***)g(Error:)g(\045s\\n",)h +(gnutls_strerror)c(\(ret\)\);)p eop end +%%Page: 40 46 +TeXDict begin 40 45 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(40)436 299 y Ft(goto)47 b(end;)341 408 y(})245 +628 y(printf)g(\("-)f(Received)g(\045d)h(bytes:)f(",)h(ret\);)245 +737 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e(ii++\))341 +847 y({)436 956 y(fputc)h(\(buffer[ii],)d(stdout\);)341 +1066 y(})245 1176 y(fputs)j(\("\\n",)f(stdout\);)245 +1395 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 +1614 y(end:)245 1833 y(tcp_close)g(\(sd\);)245 2052 y(gnutls_deinit)f +(\(session\);)245 2271 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)d +(\(xcred\);)245 2491 y(gnutls_global_deinit)h(\(\);)245 +2710 y(return)k(0;)150 2819 y(})150 3052 y Fv(7.3.3)63 +b(Obtaining)41 b(Session)i(Information)150 3199 y FB(Most)33 b(of)f(the)g(times)g(it)g(is)g(desirable)g(to)h(kno)m(w)e(the)h (securit)m(y)h(prop)s(erties)e(of)h(the)g(curren)m(t)g(established)150 -3199 y(session.)84 b(This)44 b(includes)g(the)h(underlying)e(ciphers)i +3309 y(session.)84 b(This)44 b(includes)g(the)h(underlying)e(ciphers)i (and)f(the)h(proto)s(cols)g(in)m(v)m(olv)m(ed.)85 b(That)45 -b(is)g(the)150 3309 y(purp)s(ose)26 b(of)i(the)g(follo)m(wing)i +b(is)g(the)150 3418 y(purp)s(ose)26 b(of)i(the)g(follo)m(wing)i (function.)39 b(Note)29 b(that)g(this)f(function)f(will)h(prin)m(t)g -(meaningful)g(v)-5 b(alues)28 b(only)150 3418 y(if)i(called)i(after)f -(a)g(successful)f([gn)m(utls)p 1466 3418 28 4 v 40 w(handshak)m(e],)h -(page)g(148.)150 3587 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed) -g(in)g(the)g(public)f(domain.)93 b(*/)150 3806 y(#ifdef)46 -b(HAVE_CONFIG_H)150 3915 y(#)h(include)f()150 -4025 y(#endif)150 4244 y(#include)g()150 4354 -y(#include)g()150 4463 y(#include)g()150 -4573 y(#include)g()150 4792 y(#include)g("examples.h") -150 5011 y(/*)h(This)g(function)e(will)i(print)f(some)h(details)f(of)h -(the)198 5121 y(*)g(given)g(session.)198 5230 y(*/)150 -5340 y(int)p eop end -%%Page: 40 46 -TeXDict begin 40 45 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(40)150 299 y Fs(print_info)45 b(\(gnutls_session_t)e(session\))150 -408 y({)245 518 y(const)k(char)f(*tmp;)245 628 y -(gnutls_credentials_type_t)41 b(cred;)245 737 y(gnutls_kx_algorithm_t)h -(kx;)245 956 y(/*)48 b(print)e(the)h(key)g(exchange's)e(algorithm)g -(name)293 1066 y(*/)245 1176 y(kx)j(=)f(gnutls_kx_get)d(\(session\);) -245 1285 y(tmp)j(=)h(gnutls_kx_get_name)43 b(\(kx\);)245 -1395 y(printf)k(\("-)f(Key)h(Exchange:)93 b(\045s\\n",)46 -b(tmp\);)245 1614 y(/*)i(Check)e(the)h(authentication)d(type)i(used)h -(and)g(switch)293 1724 y(*)h(to)f(the)g(appropriate.)293 -1833 y(*/)245 1943 y(cred)g(=)h(gnutls_auth_get_type)42 -b(\(session\);)245 2052 y(switch)47 b(\(cred\))341 2162 -y({)341 2271 y(case)g(GNUTLS_CRD_IA:)436 2381 y(printf)f(\("-)h(TLS/IA) -f(session\\n"\);)436 2491 y(break;)150 2819 y(#ifdef)g(ENABLE_SRP)341 -2929 y(case)h(GNUTLS_CRD_SRP:)436 3039 y(printf)f(\("-)h(SRP)g(session) -f(with)h(username)e(\045s\\n",)818 3148 y(gnutls_srp_server_get_use)o -(rnam)o(e)d(\(session\)\);)436 3258 y(break;)150 3367 -y(#endif)341 3587 y(case)47 b(GNUTLS_CRD_PSK:)436 3696 -y(/*)h(This)e(returns)g(NULL)h(in)g(server)f(side.)484 -3806 y(*/)436 3915 y(if)i(\(gnutls_psk_client_get_)o(hin)o(t)42 -b(\(session\))j(!=)i(NULL\))532 4025 y(printf)f(\("-)h(PSK)g -(authentication.)91 b(PSK)47 b(hint)g('\045s'\\n",)914 -4134 y(gnutls_psk_client_get_h)o(int)41 b(\(session\)\);)436 -4244 y(/*)48 b(This)e(returns)g(NULL)h(in)g(client)f(side.)484 -4354 y(*/)436 4463 y(if)i(\(gnutls_psk_server_get_)o(use)o(rnam)o(e)42 -b(\(session\))j(!=)i(NULL\))532 4573 y(printf)f(\("-)h(PSK)g -(authentication.)91 b(Connected)45 b(as)j('\045s'\\n",)914 -4682 y(gnutls_psk_server_get_u)o(sern)o(ame)41 b(\(session\)\);)436 -4792 y(break;)341 5011 y(case)47 b(GNUTLS_CRD_ANON:)329 -b(/*)47 b(anonymous)f(authentication)e(*/)436 5230 y(printf)i(\("-)h -(Anonymous)f(DH)h(using)f(prime)h(of)g(\045d)g(bits\\n",)818 -5340 y(gnutls_dh_get_prime_bits)41 b(\(session\)\);)p -eop end +(meaningful)g(v)-5 b(alues)28 b(only)150 3528 y(if)i(called)i(after)f +(a)g(successful)f([gn)m(utls)p 1466 3528 28 4 v 40 w(handshak)m(e],)h +(page)g(146.)150 3696 y Ft(/*)47 b(Copyright)e(2007,)i(2008)f(Free)h +(Software)f(Foundation)198 3806 y(*)198 3915 y(*)h(Copying)f(and)h +(distribution)d(of)k(this)e(file,)h(with)f(or)h(without)f +(modification,)198 4025 y(*)h(are)g(permitted)e(in)j(any)e(medium)h +(without)e(royalty)h(provided)g(the)h(copyright)198 4134 +y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +4244 y(*/)150 4463 y(#if)g(HAVE_CONFIG_H)150 4573 y(#)g(include)f +()150 4682 y(#endif)150 4902 y(#include)g()150 +5011 y(#include)g()150 5121 y(#include)g() +150 5230 y(#include)g()p eop end %%Page: 41 47 TeXDict begin 41 46 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(41)436 299 y Fs(break;)341 518 y(case)47 b(GNUTLS_CRD_CERTIFICATE:) -375 b(/*)47 b(certificate)e(authentication)f(*/)436 737 -y(/*)k(Check)e(if)h(we)g(have)g(been)g(using)f(ephemeral)f -(Diffie-Hellman.)484 847 y(*/)436 956 y(if)j(\(kx)e(==)i -(GNUTLS_KX_DHE_RSA)43 b(||)k(kx)g(==)g(GNUTLS_KX_DHE_DSS\))532 -1066 y({)627 1176 y(printf)f(\("\\n-)h(Ephemeral)e(DH)i(using)g(prime)f -(of)h(\045d)g(bits\\n",)1009 1285 y(gnutls_dh_get_prime_bits)41 -b(\(session\)\);)532 1395 y(})436 1614 y(/*)48 b(if)f(the)g -(certificate)d(list)j(is)g(available,)e(then)484 1724 -y(*)j(print)e(some)h(information)d(about)j(it.)484 1833 -y(*/)436 1943 y(print_x509_certificate_inf)o(o)42 b(\(session\);)341 -2162 y(})1288 b(/*)47 b(switch)g(*/)245 2381 y(/*)h(print)e(the)h -(protocol's)e(name)i(\(ie)f(TLS)h(1.0\))293 2491 y(*/)245 -2600 y(tmp)g(=)h(gnutls_protocol_get_name)41 b -(\(gnutls_protocol_get_ver)o(sion)g(\(session\)\);)245 -2710 y(printf)47 b(\("-)f(Protocol:)93 b(\045s\\n",)47 -b(tmp\);)245 2929 y(/*)h(print)e(the)h(certificate)e(type)h(of)h(the)g -(peer.)293 3039 y(*)h(ie)f(X.509)293 3148 y(*/)245 3258 -y(tmp)g(=)341 3367 y(gnutls_certificate_type_)o(get_)o(nam)o(e)42 -b(\(gnutls_certificate_type)o(_get)f(\(session\)\);)245 -3587 y(printf)47 b(\("-)f(Certificate)f(Type:)94 b(\045s\\n",)46 -b(tmp\);)245 3806 y(/*)i(print)e(the)h(compression)e(algorithm)g(\(if)i -(any\))293 3915 y(*/)245 4025 y(tmp)g(=)h(gnutls_compression_get_n)o -(ame)41 b(\(gnutls_compression_get)h(\(session\)\);)245 -4134 y(printf)47 b(\("-)f(Compression:)93 b(\045s\\n",)46 -b(tmp\);)245 4354 y(/*)i(print)e(the)h(name)g(of)g(the)g(cipher)f -(used.)293 4463 y(*)i(ie)f(3DES.)293 4573 y(*/)245 4682 -y(tmp)g(=)h(gnutls_cipher_get_name)42 b(\(gnutls_cipher_get)g -(\(session\)\);)245 4792 y(printf)47 b(\("-)f(Cipher:)94 -b(\045s\\n",)46 b(tmp\);)245 5011 y(/*)i(Print)e(the)h(MAC)g -(algorithms)e(name.)293 5121 y(*)j(ie)f(SHA1)293 5230 -y(*/)245 5340 y(tmp)g(=)h(gnutls_mac_get_name)42 b(\(gnutls_mac_get)i -(\(session\)\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(41)150 299 y Ft(extern)46 b(void)h(print_x509_certificate_)o +(info)41 b(\(gnutls_session_t\);)150 518 y(/*)47 b(This)g(function)e +(will)i(print)f(some)h(details)f(of)h(the)198 628 y(*)g(given)g +(session.)198 737 y(*/)150 847 y(int)150 956 y(print_info)e +(\(gnutls_session_t)e(session\))150 1066 y({)245 1176 +y(const)k(char)f(*tmp;)245 1285 y(gnutls_credentials_type_t)41 +b(cred;)245 1395 y(gnutls_kx_algorithm_t)h(kx;)245 1614 +y(/*)48 b(print)e(the)h(key)g(exchange's)e(algorithm)g(name)293 +1724 y(*/)245 1833 y(kx)j(=)f(gnutls_kx_get)d(\(session\);)245 +1943 y(tmp)j(=)h(gnutls_kx_get_name)43 b(\(kx\);)245 +2052 y(printf)k(\("-)f(Key)h(Exchange:)f(\045s\\n",)g(tmp\);)245 +2271 y(/*)i(Check)e(the)h(authentication)d(type)i(used)h(and)g(switch) +293 2381 y(*)h(to)f(the)g(appropriate.)293 2491 y(*/)245 +2600 y(cred)g(=)h(gnutls_auth_get_type)42 b(\(session\);)245 +2710 y(switch)47 b(\(cred\))341 2819 y({)341 2929 y(case)g +(GNUTLS_CRD_IA:)436 3039 y(printf)f(\("-)h(TLS/IA)f(session\\n"\);)436 +3148 y(break;)150 3477 y(#ifdef)g(ENABLE_SRP)341 3587 +y(case)h(GNUTLS_CRD_SRP:)436 3696 y(printf)f(\("-)h(SRP)g(session)f +(with)h(username)e(\045s\\n",)818 3806 y(gnutls_srp_server_get_use)o +(rnam)o(e)d(\(session\)\);)436 3915 y(break;)150 4025 +y(#endif)341 4244 y(case)47 b(GNUTLS_CRD_PSK:)436 4354 +y(/*)h(This)e(returns)g(NULL)h(in)g(server)f(side.)484 +4463 y(*/)436 4573 y(if)i(\(gnutls_psk_client_get_)o(hin)o(t)42 +b(\(session\))j(!=)i(NULL\))532 4682 y(printf)f(\("-)h(PSK)g +(authentication.)c(PSK)k(hint)g('\045s'\\n",)914 4792 +y(gnutls_psk_client_get_h)o(int)41 b(\(session\)\);)436 +4902 y(/*)48 b(This)e(returns)g(NULL)h(in)g(client)f(side.)484 +5011 y(*/)436 5121 y(if)i(\(gnutls_psk_server_get_)o(use)o(rnam)o(e)42 +b(\(session\))j(!=)i(NULL\))532 5230 y(printf)f(\("-)h(PSK)g +(authentication.)c(Connected)j(as)h('\045s'\\n",)914 +5340 y(gnutls_psk_server_get_u)o(sern)o(ame)41 b(\(session\)\);)p +eop end %%Page: 42 48 TeXDict begin 42 47 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(42)245 299 y Fs(printf)47 b(\("-)f(MAC:)h(\045s\\n",)f(tmp\);)245 -518 y(return)h(0;)150 628 y(})150 861 y Fu(7.3.4)63 b(V)-10 -b(erifying)41 b(P)m(eer's)g(Certi\014cate)150 1007 y -FB(A)d Ft(TLS)f FB(session)g(is)h(not)g(secure)f(just)g(after)h(the)g -(handshak)m(e)f(pro)s(cedure)f(has)h(\014nished.)61 b(It)37 -b(m)m(ust)h(b)s(e)150 1117 y(considered)30 b(secure,)h(only)g(after)f -(the)h(p)s(eer's)f(certi\014cate)i(and)e(iden)m(tit)m(y)i(ha)m(v)m(e)g -(b)s(een)d(v)m(eri\014ed.)41 b(That)31 b(is,)150 1227 -y(y)m(ou)36 b(ha)m(v)m(e)g(to)g(v)m(erify)g(the)g(signature)f(in)g(p)s -(eer's)g(certi\014cate,)k(the)d(hostname)f(in)g(the)h(certi\014cate,)j -(and)150 1336 y(expiration)28 b(dates.)40 b(Just)26 b(after)h(this)g -(step)g(y)m(ou)g(should)f(treat)i(the)f(connection)h(as)g(b)s(eing)e(a) -h(secure)g(one.)150 1504 y Fs(/*)47 b(This)g(example)f(code)g(is)h -(placed)g(in)g(the)g(public)f(domain.)93 b(*/)150 1724 -y(#ifdef)46 b(HAVE_CONFIG_H)150 1833 y(#)h(include)f()150 -1943 y(#endif)150 2162 y(#include)g()150 2271 -y(#include)g()150 2381 y(#include)g() -150 2600 y(#include)g("examples.h")150 2819 y(/*)h(This)g(function)e -(will)i(try)g(to)g(verify)f(the)h(peer's)f(certificate,)f(and)198 -2929 y(*)i(also)g(check)f(if)h(the)g(hostname)f(matches,)f(and)i(the)g -(activation,)e(expiration)g(dates.)198 3039 y(*/)150 -3148 y(void)150 3258 y(verify_certificate)e(\(gnutls_session_t)g -(session,)i(const)i(char)f(*hostname\))150 3367 y({)245 -3477 y(unsigned)g(int)h(status;)245 3587 y(const)g(gnutls_datum_t)d -(*cert_list;)245 3696 y(unsigned)i(int)h(cert_list_size;)245 -3806 y(int)g(ret;)245 3915 y(gnutls_x509_crt_t)d(cert;)245 -4244 y(/*)k(This)e(verification)f(function)g(uses)i(the)g(trusted)f -(CAs)h(in)g(the)g(credentials)293 4354 y(*)h(structure.)92 -b(So)48 b(you)e(must)h(have)g(installed)e(one)i(or)g(more)g(CA)g -(certificates.)293 4463 y(*/)245 4573 y(ret)g(=)h -(gnutls_certificate_verif)o(y_p)o(eers)o(2)42 b(\(session,)j -(&status\);)245 4792 y(if)j(\(ret)e(<)i(0\))341 4902 -y({)436 5011 y(printf)e(\("Error\\n"\);)436 5121 y(return;)341 -5230 y(})p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(42)436 299 y Ft(break;)341 518 y(case)47 b(GNUTLS_CRD_ANON:)329 +b(/*)47 b(anonymous)f(authentication)e(*/)436 737 y(printf)i(\("-)h +(Anonymous)f(DH)h(using)f(prime)h(of)g(\045d)g(bits\\n",)818 +847 y(gnutls_dh_get_prime_bits)41 b(\(session\)\);)436 +956 y(break;)341 1176 y(case)47 b(GNUTLS_CRD_CERTIFICATE:)375 +b(/*)47 b(certificate)e(authentication)f(*/)436 1395 +y(/*)k(Check)e(if)h(we)g(have)g(been)g(using)f(ephemeral)f(Diffie)h +(Hellman.)484 1504 y(*/)436 1614 y(if)i(\(kx)e(==)i(GNUTLS_KX_DHE_RSA) +43 b(||)k(kx)g(==)g(GNUTLS_KX_DHE_DSS\))532 1724 y({)627 +1833 y(printf)f(\("\\n-)h(Ephemeral)e(DH)i(using)g(prime)f(of)h(\045d)g +(bits\\n",)1009 1943 y(gnutls_dh_get_prime_bits)41 b(\(session\)\);)532 +2052 y(})436 2271 y(/*)48 b(if)f(the)g(certificate)d(list)j(is)g +(available,)e(then)484 2381 y(*)j(print)e(some)h(information)d(about)j +(it.)484 2491 y(*/)436 2600 y(print_x509_certificate_inf)o(o)42 +b(\(session\);)341 2819 y(})1288 b(/*)47 b(switch)g(*/)245 +3039 y(/*)h(print)e(the)h(protocol's)e(name)i(\(ie)f(TLS)h(1.0\))293 +3148 y(*/)245 3258 y(tmp)g(=)h(gnutls_protocol_get_name)41 +b(\(gnutls_protocol_get_ver)o(sion)g(\(session\)\);)245 +3367 y(printf)47 b(\("-)f(Protocol:)g(\045s\\n",)g(tmp\);)245 +3587 y(/*)i(print)e(the)h(certificate)e(type)h(of)h(the)g(peer.)293 +3696 y(*)h(ie)f(X.509)293 3806 y(*/)245 3915 y(tmp)g(=)341 +4025 y(gnutls_certificate_type_)o(get_)o(nam)o(e)42 b +(\(gnutls_certificate_type)o(_get)f(\(session\)\);)245 +4244 y(printf)47 b(\("-)f(Certificate)f(Type:)i(\045s\\n",)f(tmp\);)245 +4463 y(/*)i(print)e(the)h(compression)e(algorithm)g(\(if)i(any\))293 +4573 y(*/)245 4682 y(tmp)g(=)h(gnutls_compression_get_n)o(ame)41 +b(\(gnutls_compression_get)h(\(session\)\);)245 4792 +y(printf)47 b(\("-)f(Compression:)f(\045s\\n",)h(tmp\);)245 +5011 y(/*)i(print)e(the)h(name)g(of)g(the)g(cipher)f(used.)293 +5121 y(*)i(ie)f(3DES.)293 5230 y(*/)245 5340 y(tmp)g(=)h +(gnutls_cipher_get_name)42 b(\(gnutls_cipher_get)g(\(session\)\);)p +eop end %%Page: 43 49 TeXDict begin 43 48 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(43)245 299 y Fs(if)48 b(\(status)d(&)j(GNUTLS_CERT_INVALID\))341 -408 y(printf)e(\("The)g(certificate)f(is)i(not)g(trusted.\\n"\);)245 -628 y(if)h(\(status)d(&)j(GNUTLS_CERT_SIGNER_NOT_F)o(OUND)o(\))341 -737 y(printf)e(\("The)g(certificate)f(hasn't)h(got)h(a)h(known)e -(issuer.\\n"\);)245 956 y(if)i(\(status)d(&)j(GNUTLS_CERT_REVOKED\))341 -1066 y(printf)e(\("The)g(certificate)f(has)i(been)g(revoked.\\n"\);)245 -1395 y(/*)h(Up)f(to)g(here)g(the)g(process)e(is)j(the)e(same)h(for)g -(X.509)f(certificates)f(and)293 1504 y(*)j(OpenPGP)d(keys.)95 -b(From)46 b(now)h(on)g(X.509)g(certificates)d(are)j(assumed.)93 -b(This)47 b(can)293 1614 y(*)h(be)f(easily)f(extended)f(to)j(work)e -(with)h(openpgp)f(keys)g(as)i(well.)293 1724 y(*/)245 -1833 y(if)g(\(gnutls_certificate_typ)o(e_ge)o(t)42 b(\(session\))j(!=)i -(GNUTLS_CRT_X509\))341 1943 y(return;)245 2162 y(if)h +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(43)245 299 y Ft(printf)47 b(\("-)f(Cipher:)g(\045s\\n",)g +(tmp\);)245 518 y(/*)i(Print)e(the)h(MAC)g(algorithms)e(name.)293 +628 y(*)j(ie)f(SHA1)293 737 y(*/)245 847 y(tmp)g(=)h +(gnutls_mac_get_name)42 b(\(gnutls_mac_get)i(\(session\)\);)245 +956 y(printf)j(\("-)f(MAC:)h(\045s\\n",)f(tmp\);)245 +1176 y(return)h(0;)150 1285 y(})150 1518 y Fv(7.3.4)63 +b(V)-10 b(erifying)41 b(P)m(eer's)g(Certi\014cate)150 +1665 y FB(A)d Fu(TLS)f FB(session)g(is)h(not)g(secure)f(just)g(after)h +(the)g(handshak)m(e)f(pro)s(cedure)f(has)h(\014nished.)61 +b(It)37 b(m)m(ust)h(b)s(e)150 1775 y(considered)30 b(secure,)h(only)g +(after)f(the)h(p)s(eer's)f(certi\014cate)i(and)e(iden)m(tit)m(y)i(ha)m +(v)m(e)g(b)s(een)d(v)m(eri\014ed.)41 b(That)31 b(is,)150 +1884 y(y)m(ou)36 b(ha)m(v)m(e)g(to)g(v)m(erify)g(the)g(signature)f(in)g +(p)s(eer's)g(certi\014cate,)k(the)d(hostname)f(in)g(the)h +(certi\014cate,)j(and)150 1994 y(expiration)28 b(dates.)40 +b(Just)26 b(after)h(this)g(step)g(y)m(ou)g(should)f(treat)i(the)f +(connection)h(as)g(b)s(eing)e(a)h(secure)g(one.)150 2162 +y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +2271 y(*)198 2381 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 2491 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2600 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 2710 y(*/)150 2929 y(#if)g +(HAVE_CONFIG_H)150 3039 y(#)g(include)f()150 +3148 y(#endif)150 3367 y(#include)g()150 3477 +y(#include)g()150 3587 y(#include)g() +150 3806 y(/*)h(This)g(function)e(will)i(try)g(to)g(verify)f(the)h +(peer's)f(certificate,)f(and)198 3915 y(*)i(also)g(check)f(if)h(the)g +(hostname)f(matches,)f(and)i(the)g(activation,)e(expiration)g(dates.) +198 4025 y(*/)150 4134 y(void)150 4244 y(verify_certificate)e +(\(gnutls_session_t)g(session,)i(const)i(char)f(*hostname\))150 +4354 y({)245 4463 y(unsigned)g(int)h(status;)245 4573 +y(const)g(gnutls_datum_t)d(*cert_list;)245 4682 y(unsigned)i(int)h +(cert_list_size;)245 4792 y(int)g(ret;)245 4902 y(gnutls_x509_crt_t)d +(cert;)245 5230 y(/*)k(This)e(verification)f(function)g(uses)i(the)g +(trusted)f(CAs)h(in)g(the)g(credentials)293 5340 y(*)h(structure.)d(So) +i(you)g(must)f(have)h(installed)e(one)i(or)g(more)g(CA)g(certificates.) +p eop end +%%Page: 44 50 +TeXDict begin 44 49 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(44)293 299 y Ft(*/)245 408 y(ret)47 b(=)h +(gnutls_certificate_verif)o(y_p)o(eers)o(2)42 b(\(session,)j +(&status\);)245 628 y(if)j(\(ret)e(<)i(0\))341 737 y({)436 +847 y(printf)e(\("Error\\n"\);)436 956 y(return;)341 +1066 y(})245 1285 y(if)i(\(status)d(&)j(GNUTLS_CERT_INVALID\))341 +1395 y(printf)e(\("The)g(certificate)f(is)i(not)g(trusted.\\n"\);)245 +1614 y(if)h(\(status)d(&)j(GNUTLS_CERT_SIGNER_NOT_F)o(OUND)o(\))341 +1724 y(printf)e(\("The)g(certificate)f(hasn't)h(got)h(a)h(known)e +(issuer.\\n"\);)245 1943 y(if)i(\(status)d(&)j(GNUTLS_CERT_REVOKED\)) +341 2052 y(printf)e(\("The)g(certificate)f(has)i(been)g +(revoked.\\n"\);)245 2381 y(/*)h(Up)f(to)g(here)g(the)g(process)e(is)j +(the)e(same)h(for)g(X.509)f(certificates)f(and)293 2491 +y(*)j(OpenPGP)d(keys.)i(From)f(now)h(on)h(X.509)e(certificates)e(are)j +(assumed.)f(This)g(can)293 2600 y(*)i(be)f(easily)f(extended)f(to)j +(work)e(with)h(openpgp)f(keys)g(as)i(well.)293 2710 y(*/)245 +2819 y(if)g(\(gnutls_certificate_typ)o(e_ge)o(t)42 b(\(session\))j(!=)i +(GNUTLS_CRT_X509\))341 2929 y(return;)245 3148 y(if)h (\(gnutls_x509_crt_init)42 b(\(&cert\))j(<)j(0\))341 -2271 y({)436 2381 y(printf)e(\("error)g(in)h(initialization\\n"\);)436 -2491 y(return;)341 2600 y(})245 2819 y(cert_list)f(=)h +3258 y({)436 3367 y(printf)e(\("error)g(in)h(initialization\\n"\);)436 +3477 y(return;)341 3587 y(})245 3806 y(cert_list)f(=)h (gnutls_certificate_get_pe)o(ers)41 b(\(session,)46 b -(&cert_list_size\);)245 2929 y(if)i(\(cert_list)d(==)i(NULL\))341 -3039 y({)436 3148 y(printf)f(\("No)h(certificate)e(was)i(found!\\n"\);) -436 3258 y(return;)341 3367 y(})245 3587 y(/*)h(This)e(is)h(not)g(a)h +(&cert_list_size\);)245 3915 y(if)i(\(cert_list)d(==)i(NULL\))341 +4025 y({)436 4134 y(printf)f(\("No)h(certificate)e(was)i(found!\\n"\);) +436 4244 y(return;)341 4354 y(})245 4573 y(/*)h(This)e(is)h(not)g(a)h (real)e(world)h(example,)e(since)i(we)g(only)g(check)f(the)h(first)293 -3696 y(*)h(certificate)c(in)k(the)e(given)h(chain.)293 -3806 y(*/)245 3915 y(if)h(\(gnutls_x509_crt_import)41 +4682 y(*)h(certificate)c(in)k(the)e(given)h(chain.)293 +4792 y(*/)245 4902 y(if)h(\(gnutls_x509_crt_import)41 b(\(cert,)46 b(&cert_list[0],)e(GNUTLS_X509_FMT_DER\))e(<)48 -b(0\))341 4025 y({)436 4134 y(printf)e(\("error)g(parsing)g -(certificate\\n"\);)436 4244 y(return;)341 4354 y(})245 -4573 y(/*)i(Beware)e(here)g(we)i(do)f(not)g(check)f(for)h(errors.)293 -4682 y(*/)245 4792 y(if)h(\(gnutls_x509_crt_get_ex)o(pira)o(tio)o(n_ti) -o(me)42 b(\(cert\))k(<)h(time)g(\(0\)\))341 4902 y({)436 -5011 y(printf)f(\("The)h(certificate)e(has)h(expired\\n"\);)436 -5121 y(return;)341 5230 y(})p eop end -%%Page: 44 50 -TeXDict begin 44 49 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(44)245 299 y Fs(if)48 b(\(gnutls_x509_crt_get_ac)o(tiva)o(tio)o(n_ti) -o(me)42 b(\(cert\))k(>)h(time)g(\(0\)\))341 408 y({)436 -518 y(printf)f(\("The)h(certificate)e(is)i(not)g(yet)g -(activated\\n"\);)436 628 y(return;)341 737 y(})245 956 -y(if)h(\(!gnutls_x509_crt_check)o(_hos)o(tna)o(me)42 -b(\(cert,)k(hostname\)\))341 1066 y({)436 1176 y(printf)g(\("The)h -(certificate's)d(owner)i(does)h(not)g(match)f(hostname)g('\045s'\\n",) -818 1285 y(hostname\);)436 1395 y(return;)341 1504 y(})245 -1724 y(gnutls_x509_crt_deinit)c(\(cert\);)245 1943 y(return;)150 -2052 y(})150 2217 y FB(An)30 b(other)h(example)g(is)f(listed)h(b)s(elo) -m(w)g(whic)m(h)f(pro)m(vides)g(a)h(more)f(detailed)i(v)m(eri\014cation) -g(output.)150 2381 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g -(in)g(the)g(public)f(domain.)93 b(*/)150 2600 y(#ifdef)46 -b(HAVE_CONFIG_H)150 2710 y(#)h(include)f()150 -2819 y(#endif)150 3039 y(#include)g()150 3148 -y(#include)g()150 3258 y(#include)g()150 -3367 y(#include)g()150 3587 y(#include)g("examples.h") -150 3806 y(/*)h(All)g(the)g(available)e(CRLs)198 3915 -y(*/)150 4025 y(gnutls_x509_crl_t)e(*crl_list;)150 4134 -y(int)k(crl_list_size;)150 4354 y(/*)g(All)g(the)g(available)e(trusted) -h(CAs)198 4463 y(*/)150 4573 y(gnutls_x509_crt_t)d(*ca_list;)150 -4682 y(int)k(ca_list_size;)150 4902 y(static)f(void)h(verify_cert2)d -(\(gnutls_x509_crt_t)f(crt,)1391 5011 y(gnutls_x509_crt_t)g(issuer,) -1391 5121 y(gnutls_x509_crl_t)g(*)k(crl_list,)f(int)h(crl_list_size\);) -150 5230 y(static)f(void)h(verify_last_cert)c(\(gnutls_x509_crt_t)g -(crt,)1582 5340 y(gnutls_x509_crt_t)g(*)k(ca_list,)f(int)h -(ca_list_size,)p eop end +b(0\))341 5011 y({)436 5121 y(printf)e(\("error)g(parsing)g +(certificate\\n"\);)436 5230 y(return;)341 5340 y(})p +eop end %%Page: 45 51 TeXDict begin 45 50 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(45)1582 299 y Fs(gnutls_x509_crl_t)43 b(*)k(crl_list,)1582 -408 y(int)g(crl_list_size\);)150 737 y(/*)g(This)g(function)e(will)i +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(45)245 408 y Ft(/*)48 b(Beware)e(here)g(we)i(do)f(not)g(check)f +(for)h(errors.)293 518 y(*/)245 628 y(if)h(\(gnutls_x509_crt_get_ex)o +(pira)o(tio)o(n_ti)o(me)42 b(\(cert\))k(<)h(time)g(\(0\)\))341 +737 y({)436 847 y(printf)f(\("The)h(certificate)e(has)h(expired\\n"\);) +436 956 y(return;)341 1066 y(})245 1285 y(if)i +(\(gnutls_x509_crt_get_ac)o(tiva)o(tio)o(n_ti)o(me)42 +b(\(cert\))k(>)h(time)g(\(0\)\))341 1395 y({)436 1504 +y(printf)f(\("The)h(certificate)e(is)i(not)g(yet)g(activated\\n"\);)436 +1614 y(return;)341 1724 y(})245 1943 y(if)h(\(!gnutls_x509_crt_check)o +(_hos)o(tna)o(me)42 b(\(cert,)k(hostname\)\))341 2052 +y({)436 2162 y(printf)g(\("The)h(certificate's)d(owner)i(does)h(not)g +(match)f(hostname)g('\045s'\\n",)818 2271 y(hostname\);)436 +2381 y(return;)341 2491 y(})245 2710 y(gnutls_x509_crt_deinit)c +(\(cert\);)245 2929 y(return;)150 3039 y(})150 3203 y +FB(An)30 b(other)h(example)g(is)f(listed)h(b)s(elo)m(w)g(whic)m(h)f +(pro)m(vides)g(a)h(more)f(detailed)i(v)m(eri\014cation)g(output.)150 +3367 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +3477 y(*)198 3587 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 3696 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 3806 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 3915 y(*/)150 4134 y(#if)g +(HAVE_CONFIG_H)150 4244 y(#)g(include)f()150 +4354 y(#endif)150 4573 y(#include)g()150 4682 +y(#include)g()150 4792 y(#include)g()150 +4902 y(#include)g()150 5121 y(/*)h(All)g(the)g +(available)e(CRLs)198 5230 y(*/)150 5340 y(gnutls_x509_crl_t)e +(*crl_list;)p eop end +%%Page: 46 52 +TeXDict begin 46 51 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(46)150 299 y Ft(int)47 b(crl_list_size;)150 518 +y(/*)g(All)g(the)g(available)e(trusted)h(CAs)198 628 +y(*/)150 737 y(gnutls_x509_crt_t)d(*ca_list;)150 847 +y(int)k(ca_list_size;)150 1066 y(static)f(void)h(verify_cert2)d +(\(gnutls_x509_crt_t)f(crt,)1391 1176 y(gnutls_x509_crt_t)g(issuer,) +1391 1285 y(gnutls_x509_crl_t)g(*)k(crl_list,)f(int)h(crl_list_size\);) +150 1395 y(static)f(void)h(verify_last_cert)c(\(gnutls_x509_crt_t)g +(crt,)1582 1504 y(gnutls_x509_crt_t)g(*)k(ca_list,)f(int)h +(ca_list_size,)1582 1614 y(gnutls_x509_crl_t)c(*)k(crl_list,)1582 +1724 y(int)g(crl_list_size\);)150 2052 y(/*)g(This)g(function)e(will)i (try)g(to)g(verify)f(the)h(peer's)f(certificate)f(chain,)h(and)198 -847 y(*)h(also)g(check)f(if)h(the)g(hostname)f(matches,)f(and)i(the)g -(activation,)e(expiration)g(dates.)198 956 y(*/)150 1066 -y(void)150 1176 y(verify_certificate_chain)c(\(gnutls_session_t)i -(session,)1391 1285 y(const)j(char)h(*hostname,)1391 -1395 y(const)f(gnutls_datum_t)e(*)k(cert_chain,)1391 -1504 y(int)f(cert_chain_length\))150 1614 y({)245 1724 -y(int)g(i;)245 1833 y(gnutls_x509_crt_t)d(*cert;)245 -2052 y(cert)j(=)h(malloc)e(\(sizeof)f(\(*cert\))h(*)i -(cert_chain_length\);)245 2271 y(/*)g(Import)e(all)h(the)g -(certificates)d(in)j(the)g(chain)f(to)293 2381 y(*)i(native)e -(certificate)e(format.)293 2491 y(*/)245 2600 y(for)j(\(i)h(=)f(0;)g(i) -h(<)f(cert_chain_length;)c(i++\))341 2710 y({)436 2819 -y(gnutls_x509_crt_init)g(\(&cert[i]\);)436 2929 y +2162 y(*)h(also)g(check)f(if)h(the)g(hostname)f(matches,)f(and)i(the)g +(activation,)e(expiration)g(dates.)198 2271 y(*/)150 +2381 y(void)150 2491 y(verify_certificate_chain)c(\(gnutls_session_t)i +(session,)1391 2600 y(const)j(char)h(*hostname,)1391 +2710 y(const)f(gnutls_datum_t)e(*)k(cert_chain,)1391 +2819 y(int)f(cert_chain_length\))150 2929 y({)245 3039 +y(int)g(i;)245 3148 y(gnutls_x509_crt_t)d(*cert;)245 +3367 y(cert)j(=)h(malloc)e(\(sizeof)f(\(*cert\))h(*)i +(cert_chain_length\);)245 3587 y(/*)g(Import)e(all)h(the)g +(certificates)d(in)j(the)g(chain)f(to)293 3696 y(*)i(native)e +(certificate)e(format.)293 3806 y(*/)245 3915 y(for)j(\(i)h(=)f(0;)g(i) +h(<)f(cert_chain_length;)c(i++\))341 4025 y({)436 4134 +y(gnutls_x509_crt_init)g(\(&cert[i]\);)436 4244 y (gnutls_x509_crt_import)f(\(cert[i],)j(&cert_chain[i],)f -(GNUTLS_X509_FMT_DER\);)341 3039 y(})245 3258 y(/*)k(If)f(the)g(last)f +(GNUTLS_X509_FMT_DER\);)341 4354 y(})245 4573 y(/*)k(If)f(the)g(last)f (certificate)f(in)i(the)g(chain)g(is)g(self)f(signed)g(ignore)h(it.)293 -3367 y(*)h(That)e(is)h(because)f(we)h(want)g(to)g(check)g(against)e -(our)i(trusted)f(certificate)293 3477 y(*)i(list.)293 -3587 y(*/)245 3696 y(if)g(\(gnutls_x509_crt_check_)o(issu)o(er)41 -b(\(cert[cert_chain_length)h(-)47 b(1],)1868 3806 y +4682 y(*)h(That)e(is)h(because)f(we)h(want)g(to)g(check)g(against)e +(our)i(trusted)f(certificate)293 4792 y(*)i(list.)293 +4902 y(*/)245 5011 y(if)g(\(gnutls_x509_crt_check_)o(issu)o(er)41 +b(\(cert[cert_chain_length)h(-)47 b(1],)1868 5121 y (cert[cert_chain_length)42 b(-)47 b(1]\))g(>)h(0)436 -3915 y(&&)g(cert_chain_length)43 b(>)k(0\))341 4025 y({)436 -4134 y(cert_chain_length--;)341 4244 y(})245 4463 y(/*)h(Now)f(verify)f -(the)h(certificates)d(against)i(their)g(issuers)293 4573 -y(*)i(in)f(the)g(chain.)293 4682 y(*/)245 4792 y(for)g(\(i)h(=)f(1;)g -(i)h(<)f(cert_chain_length;)c(i++\))341 4902 y({)436 -5011 y(verify_cert2)i(\(cert[i)h(-)h(1],)g(cert[i],)f(crl_list,)f -(crl_list_size\);)341 5121 y(})245 5340 y(/*)j(Here)e(we)h(must)g -(verify)f(the)h(last)g(certificate)d(in)k(the)f(chain)f(against)p +5230 y(&&)g(cert_chain_length)43 b(>)k(0\))341 5340 y({)p eop end -%%Page: 46 52 -TeXDict begin 46 51 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(46)293 299 y Fs(*)48 b(our)f(trusted)e(CA)j(list.)293 -408 y(*/)245 518 y(verify_last_cert)c(\(cert[cert_chain_length)d(-)48 -b(1],)1105 628 y(ca_list,)d(ca_list_size,)f(crl_list,)i -(crl_list_size\);)245 847 y(/*)i(Check)e(if)h(the)g(name)g(in)g(the)g +%%Page: 47 53 +TeXDict begin 47 52 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(47)436 299 y Ft(cert_chain_length--;)341 408 y(})245 +628 y(/*)48 b(Now)f(verify)f(the)h(certificates)d(against)i(their)g +(issuers)293 737 y(*)i(in)f(the)g(chain.)293 847 y(*/)245 +956 y(for)g(\(i)h(=)f(1;)g(i)h(<)f(cert_chain_length;)c(i++\))341 +1066 y({)436 1176 y(verify_cert2)i(\(cert[i)h(-)h(1],)g(cert[i],)f +(crl_list,)f(crl_list_size\);)341 1285 y(})245 1504 y(/*)j(Here)e(we)h +(must)g(verify)f(the)h(last)g(certificate)d(in)k(the)f(chain)f(against) +293 1614 y(*)i(our)f(trusted)e(CA)j(list.)293 1724 y(*/)245 +1833 y(verify_last_cert)c(\(cert[cert_chain_length)d(-)48 +b(1],)1105 1943 y(ca_list,)d(ca_list_size,)f(crl_list,)i +(crl_list_size\);)245 2162 y(/*)i(Check)e(if)h(the)g(name)g(in)g(the)g (first)f(certificate)f(matches)h(our)h(destination!)293 -956 y(*/)245 1066 y(if)h(\(!gnutls_x509_crt_check)o(_hos)o(tna)o(me)42 -b(\(cert[0],)j(hostname\)\))341 1176 y({)436 1285 y(printf)h(\("The)h +2271 y(*/)245 2381 y(if)h(\(!gnutls_x509_crt_check)o(_hos)o(tna)o(me)42 +b(\(cert[0],)j(hostname\)\))341 2491 y({)436 2600 y(printf)h(\("The)h (certificate's)d(owner)i(does)h(not)g(match)f(hostname)g('\045s'\\n",) -818 1395 y(hostname\);)341 1504 y(})245 1724 y(for)h(\(i)h(=)f(0;)g(i)h -(<)f(cert_chain_length;)c(i++\))341 1833 y(gnutls_x509_crt_deinit)f -(\(cert[i]\);)245 2052 y(return;)150 2162 y(})150 2491 +818 2710 y(hostname\);)341 2819 y(})245 3039 y(for)h(\(i)h(=)f(0;)g(i)h +(<)f(cert_chain_length;)c(i++\))341 3148 y(gnutls_x509_crt_deinit)f +(\(cert[i]\);)245 3367 y(return;)150 3477 y(})150 3806 y(/*)47 b(Verifies)f(a)h(certificate)e(against)h(an)h(other)f -(certificate)198 2600 y(*)h(which)g(is)g(supposed)e(to)i(be)h(it's)e -(issuer.)94 b(Also)46 b(checks)h(the)198 2710 y(*)g(crl_list)f(if)h -(the)g(certificate)e(is)i(revoked.)198 2819 y(*/)150 -2929 y(static)f(void)150 3039 y(verify_cert2)e(\(gnutls_x509_crt_t)f -(crt,)k(gnutls_x509_crt_t)c(issuer,)818 3148 y(gnutls_x509_crl_t)g(*)48 -b(crl_list,)d(int)i(crl_list_size\))150 3258 y({)245 -3367 y(unsigned)f(int)h(output;)245 3477 y(int)g(ret;)245 -3587 y(time_t)g(now)f(=)i(time)f(\(0\);)245 3696 y(size_t)g(name_size;) -245 3806 y(char)g(name[64];)245 4025 y(/*)h(Print)e(information)f -(about)h(the)h(certificates)d(to)293 4134 y(*)k(be)f(checked.)293 -4244 y(*/)245 4354 y(name_size)f(=)h(sizeof)f(\(name\);)245 -4463 y(gnutls_x509_crt_get_dn)c(\(crt,)47 b(name,)f(&name_size\);)245 -4682 y(fprintf)g(\(stderr,)g("\\nCertificate:)91 b(\045s\\n",)46 -b(name\);)245 4902 y(name_size)g(=)h(sizeof)f(\(name\);)245 -5011 y(gnutls_x509_crt_get_issuer)o(_dn)41 b(\(crt,)47 -b(name,)f(&name_size\);)245 5230 y(fprintf)g(\(stderr,)g("Issued)g(by:) -94 b(\045s\\n",)46 b(name\);)p eop end -%%Page: 47 53 -TeXDict begin 47 52 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(47)245 299 y Fs(/*)48 b(Get)f(the)f(DN)i(of)f(the)g(issuer)f(cert.) -293 408 y(*/)245 518 y(name_size)g(=)h(sizeof)f(\(name\);)245 -628 y(gnutls_x509_crt_get_dn)c(\(issuer,)k(name,)g(&name_size\);)245 -847 y(fprintf)g(\(stderr,)g("Checking)f(against:)93 b(\045s\\n",)46 -b(name\);)245 1066 y(/*)i(Do)f(the)g(actual)f(verification.)293 -1176 y(*/)245 1285 y(gnutls_x509_crt_verify)c(\(crt,)47 -b(&issuer,)e(1,)i(0,)g(&output\);)245 1504 y(if)h(\(output)d(&)j -(GNUTLS_CERT_INVALID\))341 1614 y({)436 1724 y(fprintf)e(\(stderr,)g -("Not)g(trusted"\);)436 1943 y(if)i(\(output)d(&)j -(GNUTLS_CERT_SIGNER_NOT_F)o(OUN)o(D\))532 2052 y(fprintf)e(\(stderr,)f -(":)95 b(no)47 b(issuer)f(was)h(found"\);)436 2162 y(if)h(\(output)d(&) -j(GNUTLS_CERT_SIGNER_NOT_C)o(A\))532 2271 y(fprintf)e(\(stderr,)f(":)95 -b(issuer)46 b(is)h(not)g(a)h(CA"\);)436 2491 y(fprintf)e(\(stderr,)g -("\\n"\);)341 2600 y(})245 2710 y(else)341 2819 y(fprintf)g(\(stderr,)f -("Trusted\\n"\);)245 3148 y(/*)j(Now)f(check)f(the)h(expiration)e -(dates.)293 3258 y(*/)245 3367 y(if)j(\(gnutls_x509_crt_get_ac)o(tiva)o -(tio)o(n_ti)o(me)42 b(\(crt\))k(>)h(now\))341 3477 y(fprintf)f -(\(stderr,)f("Not)i(yet)g(activated\\n"\);)245 3696 y(if)h -(\(gnutls_x509_crt_get_ex)o(pira)o(tio)o(n_ti)o(me)42 -b(\(crt\))k(<)h(now\))341 3806 y(fprintf)f(\(stderr,)f("Expired\\n"\);) -245 4025 y(/*)j(Check)e(if)h(the)g(certificate)e(is)i(revoked.)293 -4134 y(*/)245 4244 y(ret)g(=)h(gnutls_x509_crt_check_re)o(voc)o(atio)o -(n)42 b(\(crt,)k(crl_list,)f(crl_list_size\);)245 4354 -y(if)j(\(ret)e(==)h(1\))341 4463 y({)1288 b(/*)47 b(revoked)f(*/)436 -4573 y(fprintf)g(\(stderr,)g("Revoked\\n"\);)341 4682 -y(})150 4792 y(})150 5121 y(/*)h(Verifies)f(a)h(certificate)e(against)h -(our)h(trusted)e(CA)j(list.)198 5230 y(*)f(Also)g(checks)f(the)h -(crl_list)e(if)j(the)e(certificate)f(is)i(revoked.)198 -5340 y(*/)p eop end +(certificate)198 3915 y(*)h(which)g(is)g(supposed)e(to)i(be)h(it's)e +(issuer.)g(Also)h(checks)f(the)198 4025 y(*)h(crl_list)f(if)h(the)g +(certificate)e(is)i(revoked.)198 4134 y(*/)150 4244 y(static)f(void)150 +4354 y(verify_cert2)e(\(gnutls_x509_crt_t)f(crt,)k(gnutls_x509_crt_t)c +(issuer,)818 4463 y(gnutls_x509_crl_t)g(*)48 b(crl_list,)d(int)i +(crl_list_size\))150 4573 y({)245 4682 y(unsigned)f(int)h(output;)245 +4792 y(int)g(ret;)245 4902 y(time_t)g(now)f(=)i(time)f(\(0\);)245 +5011 y(size_t)g(name_size;)245 5121 y(char)g(name[64];)245 +5340 y(/*)h(Print)e(information)f(about)h(the)h(certificates)d(to)p +eop end %%Page: 48 54 TeXDict begin 48 53 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(48)150 299 y Fs(static)46 b(void)150 408 y(verify_last_cert)d -(\(gnutls_x509_crt_t)g(crt,)1009 518 y(gnutls_x509_crt_t)g(*)48 -b(ca_list,)d(int)i(ca_list_size,)1009 628 y(gnutls_x509_crl_t)c(*)48 -b(crl_list,)d(int)i(crl_list_size\))150 737 y({)245 847 -y(unsigned)f(int)h(output;)245 956 y(int)g(ret;)245 1066 -y(time_t)g(now)f(=)i(time)f(\(0\);)245 1176 y(size_t)g(name_size;)245 -1285 y(char)g(name[64];)245 1504 y(/*)h(Print)e(information)f(about)h -(the)h(certificates)d(to)293 1614 y(*)k(be)f(checked.)293 -1724 y(*/)245 1833 y(name_size)f(=)h(sizeof)f(\(name\);)245 -1943 y(gnutls_x509_crt_get_dn)c(\(crt,)47 b(name,)f(&name_size\);)245 -2162 y(fprintf)g(\(stderr,)g("\\nCertificate:)91 b(\045s\\n",)46 -b(name\);)245 2381 y(name_size)g(=)h(sizeof)f(\(name\);)245 -2491 y(gnutls_x509_crt_get_issuer)o(_dn)41 b(\(crt,)47 -b(name,)f(&name_size\);)245 2710 y(fprintf)g(\(stderr,)g("Issued)g(by:) -94 b(\045s\\n",)46 b(name\);)245 2929 y(/*)i(Do)f(the)g(actual)f -(verification.)293 3039 y(*/)245 3148 y(gnutls_x509_crt_verify)c -(\(crt,)47 b(ca_list,)e(ca_list_size,)1391 3258 y -(GNUTLS_VERIFY_ALLOW_X509)o(_V1_)o(CA_)o(CRT,)c(&output\);)245 -3477 y(if)48 b(\(output)d(&)j(GNUTLS_CERT_INVALID\))341 -3587 y({)436 3696 y(fprintf)e(\(stderr,)g("Not)g(trusted"\);)436 -3915 y(if)i(\(output)d(&)j(GNUTLS_CERT_SIGNER_NOT_C)o(A\))532 -4025 y(fprintf)e(\(stderr,)f(":)95 b(Issuer)46 b(is)h(not)g(a)h -(CA\\n"\);)436 4134 y(else)532 4244 y(fprintf)e(\(stderr,)f("\\n"\);) -341 4354 y(})245 4463 y(else)341 4573 y(fprintf)h(\(stderr,)f -("Trusted\\n"\);)245 4902 y(/*)j(Now)f(check)f(the)h(expiration)e -(dates.)293 5011 y(*/)245 5121 y(if)j(\(gnutls_x509_crt_get_ac)o(tiva)o -(tio)o(n_ti)o(me)42 b(\(crt\))k(>)h(now\))341 5230 y(fprintf)f -(\(stderr,)f("Not)i(yet)g(activated\\n"\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(48)293 299 y Ft(*)48 b(be)f(checked.)293 408 y(*/)245 +518 y(name_size)f(=)h(sizeof)f(\(name\);)245 628 y +(gnutls_x509_crt_get_dn)c(\(crt,)47 b(name,)f(&name_size\);)245 +847 y(fprintf)g(\(stderr,)g("\\nCertificate:)d(\045s\\n",)k(name\);)245 +1066 y(name_size)f(=)h(sizeof)f(\(name\);)245 1176 y +(gnutls_x509_crt_get_issuer)o(_dn)41 b(\(crt,)47 b(name,)f +(&name_size\);)245 1395 y(fprintf)g(\(stderr,)g("Issued)g(by:)h +(\045s\\n",)f(name\);)245 1614 y(/*)i(Get)f(the)f(DN)i(of)f(the)g +(issuer)f(cert.)293 1724 y(*/)245 1833 y(name_size)g(=)h(sizeof)f +(\(name\);)245 1943 y(gnutls_x509_crt_get_dn)c(\(issuer,)k(name,)g +(&name_size\);)245 2162 y(fprintf)g(\(stderr,)g("Checking)f(against:)h +(\045s\\n",)g(name\);)245 2381 y(/*)i(Do)f(the)g(actual)f +(verification.)293 2491 y(*/)245 2600 y(gnutls_x509_crt_verify)c +(\(crt,)47 b(&issuer,)e(1,)i(0,)g(&output\);)245 2819 +y(if)h(\(output)d(&)j(GNUTLS_CERT_INVALID\))341 2929 +y({)436 3039 y(fprintf)e(\(stderr,)g("Not)g(trusted"\);)436 +3258 y(if)i(\(output)d(&)j(GNUTLS_CERT_SIGNER_NOT_F)o(OUN)o(D\))532 +3367 y(fprintf)e(\(stderr,)f(":)i(no)h(issuer)e(was)h(found"\);)436 +3477 y(if)h(\(output)d(&)j(GNUTLS_CERT_SIGNER_NOT_C)o(A\))532 +3587 y(fprintf)e(\(stderr,)f(":)i(issuer)f(is)i(not)f(a)g(CA"\);)436 +3806 y(fprintf)f(\(stderr,)g("\\n"\);)341 3915 y(})245 +4025 y(else)341 4134 y(fprintf)g(\(stderr,)f("Trusted\\n"\);)245 +4463 y(/*)j(Now)f(check)f(the)h(expiration)e(dates.)293 +4573 y(*/)245 4682 y(if)j(\(gnutls_x509_crt_get_ac)o(tiva)o(tio)o(n_ti) +o(me)42 b(\(crt\))k(>)h(now\))341 4792 y(fprintf)f(\(stderr,)f("Not)i +(yet)g(activated\\n"\);)245 5011 y(if)h(\(gnutls_x509_crt_get_ex)o +(pira)o(tio)o(n_ti)o(me)42 b(\(crt\))k(<)h(now\))341 +5121 y(fprintf)f(\(stderr,)f("Expired\\n"\);)245 5340 +y(/*)j(Check)e(if)h(the)g(certificate)e(is)i(revoked.)p +eop end %%Page: 49 55 TeXDict begin 49 54 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(49)245 299 y Fs(if)48 b(\(gnutls_x509_crt_get_ex)o(pira)o(tio)o(n_ti) -o(me)42 b(\(crt\))k(<)h(now\))341 408 y(fprintf)f(\(stderr,)f -("Expired\\n"\);)245 628 y(/*)j(Check)e(if)h(the)g(certificate)e(is)i -(revoked.)293 737 y(*/)245 847 y(ret)g(=)h(gnutls_x509_crt_check_re)o -(voc)o(atio)o(n)42 b(\(crt,)k(crl_list,)f(crl_list_size\);)245 -956 y(if)j(\(ret)e(==)h(1\))341 1066 y({)1288 b(/*)47 -b(revoked)f(*/)436 1176 y(fprintf)g(\(stderr,)g("Revoked\\n"\);)341 -1285 y(})150 1395 y(})150 1628 y Fu(7.3.5)63 b(Using)42 -b(a)e(Callbac)m(k)g(to)h(Select)f(the)h(Certi\014cate)e(to)i(Use)150 -1775 y FB(There)29 b(are)h(cases)h(where)e(a)h(clien)m(t)i(holds)d(sev) -m(eral)i(certi\014cate)h(and)d(k)m(ey)h(pairs,)g(and)f(ma)m(y)i(not)f -(w)m(an)m(t)g(to)150 1884 y(load)j(all)h(of)e(them)h(in)f(the)h(creden) -m(tials)h(structure.)47 b(The)32 b(follo)m(wing)i(example)f -(demonstrates)g(the)g(use)150 1994 y(of)e(the)f(certi\014cate)j -(selection)f(callbac)m(k.)150 2162 y Fs(/*)47 b(This)g(example)f(code)g -(is)h(placed)g(in)g(the)g(public)f(domain.)93 b(*/)150 -2381 y(#ifdef)46 b(HAVE_CONFIG_H)150 2491 y(#)h(include)f() -150 2600 y(#endif)150 2819 y(#include)g()150 -2929 y(#include)g()150 3039 y(#include)g()150 -3148 y(#include)g()150 3258 y(#include)g() -150 3367 y(#include)g()150 3477 y(#include)g() -150 3587 y(#include)g()150 3696 y(#include)g -()150 3806 y(#include)g()150 -3915 y(#include)g()150 4025 y(#include)g()150 -4244 y(/*)h(A)h(TLS)f(client)f(that)g(loads)h(the)g(certificate)d(and)j -(key.)198 4354 y(*/)150 4573 y(#define)f(MAX_BUF)g(1024)150 -4682 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 -4902 y(#define)e(CERT_FILE)f("cert.pem")150 5011 y(#define)h(KEY_FILE)f -("key.pem")150 5121 y(#define)h(CAFILE)g("ca.pem")150 -5340 y(extern)g(int)h(tcp_connect)e(\(void\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(49)293 299 y Ft(*/)245 408 y(ret)47 b(=)h +(gnutls_x509_crt_check_re)o(voc)o(atio)o(n)42 b(\(crt,)k(crl_list,)f +(crl_list_size\);)245 518 y(if)j(\(ret)e(==)h(1\))341 +628 y({)1288 b(/*)47 b(revoked)f(*/)436 737 y(fprintf)g(\(stderr,)g +("Revoked\\n"\);)341 847 y(})150 956 y(})150 1285 y(/*)h(Verifies)f(a)h +(certificate)e(against)h(our)h(trusted)e(CA)j(list.)198 +1395 y(*)f(Also)g(checks)f(the)h(crl_list)e(if)j(the)e(certificate)f +(is)i(revoked.)198 1504 y(*/)150 1614 y(static)f(void)150 +1724 y(verify_last_cert)d(\(gnutls_x509_crt_t)g(crt,)1009 +1833 y(gnutls_x509_crt_t)g(*)48 b(ca_list,)d(int)i(ca_list_size,)1009 +1943 y(gnutls_x509_crl_t)c(*)48 b(crl_list,)d(int)i(crl_list_size\))150 +2052 y({)245 2162 y(unsigned)f(int)h(output;)245 2271 +y(int)g(ret;)245 2381 y(time_t)g(now)f(=)i(time)f(\(0\);)245 +2491 y(size_t)g(name_size;)245 2600 y(char)g(name[64];)245 +2819 y(/*)h(Print)e(information)f(about)h(the)h(certificates)d(to)293 +2929 y(*)k(be)f(checked.)293 3039 y(*/)245 3148 y(name_size)f(=)h +(sizeof)f(\(name\);)245 3258 y(gnutls_x509_crt_get_dn)c(\(crt,)47 +b(name,)f(&name_size\);)245 3477 y(fprintf)g(\(stderr,)g +("\\nCertificate:)d(\045s\\n",)k(name\);)245 3696 y(name_size)f(=)h +(sizeof)f(\(name\);)245 3806 y(gnutls_x509_crt_get_issuer)o(_dn)41 +b(\(crt,)47 b(name,)f(&name_size\);)245 4025 y(fprintf)g(\(stderr,)g +("Issued)g(by:)h(\045s\\n",)f(name\);)245 4244 y(/*)i(Do)f(the)g +(actual)f(verification.)293 4354 y(*/)245 4463 y +(gnutls_x509_crt_verify)c(\(crt,)47 b(ca_list,)e(ca_list_size,)1391 +4573 y(GNUTLS_VERIFY_ALLOW_X509)o(_V1_)o(CA_)o(CRT,)c(&output\);)245 +4792 y(if)48 b(\(output)d(&)j(GNUTLS_CERT_INVALID\))341 +4902 y({)436 5011 y(fprintf)e(\(stderr,)g("Not)g(trusted"\);)436 +5230 y(if)i(\(output)d(&)j(GNUTLS_CERT_SIGNER_NOT_C)o(A\))532 +5340 y(fprintf)e(\(stderr,)f(":)i(Issuer)f(is)i(not)f(a)g(CA\\n"\);)p +eop end %%Page: 50 56 TeXDict begin 50 55 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(50)150 299 y Fs(extern)46 b(void)h(tcp_close)e(\(int)i(sd\);)150 -518 y(static)f(int)h(cert_callback)d(\(gnutls_session_t)f(session,)1391 -628 y(const)j(gnutls_datum_t)e(*)k(req_ca_rdn,)c(int)j(nreqs,)1391 -737 y(const)f(gnutls_pk_algorithm_t)c(*)48 b(sign_algos,)1391 -847 y(int)f(sign_algos_length,)c(gnutls_retr_st)h(*)j(st\);)150 -1066 y(gnutls_x509_crt_t)c(crt;)150 1176 y(gnutls_x509_privkey_t)f -(key;)150 1395 y(/*)47 b(Helper)f(functions)g(to)h(load)f(a)i -(certificate)d(and)h(key)198 1504 y(*)h(files)g(into)f(memory.)198 -1614 y(*/)150 1724 y(static)g(gnutls_datum_t)150 1833 -y(load_file)f(\(const)h(char)h(*file\))150 1943 y({)245 -2052 y(FILE)g(*f;)245 2162 y(gnutls_datum_t)d(loaded_file)h(=)j({)f -(NULL,)f(0)i(};)245 2271 y(long)f(filelen;)245 2381 y(void)g(*ptr;)245 -2600 y(if)h(\(!\(f)e(=)i(fopen)e(\(file,)g("r"\)\))436 -2710 y(||)i(fseek)e(\(f,)h(0,)g(SEEK_END\))e(!=)i(0)436 -2819 y(||)h(\(filelen)d(=)j(ftell)e(\(f\)\))h(<)g(0)436 -2929 y(||)h(fseek)e(\(f,)h(0,)g(SEEK_SET\))e(!=)i(0)436 -3039 y(||)h(!\(ptr)e(=)h(malloc)f(\(\(size_t\))g(filelen\)\))436 -3148 y(||)i(fread)e(\(ptr,)g(1,)h(\(size_t\))f(filelen,)g(f\))h(<)g -(\(size_t\))f(filelen\))341 3258 y({)436 3367 y(return)g(loaded_file;) -341 3477 y(})245 3696 y(loaded_file.data)e(=)j(ptr;)245 -3806 y(loaded_file.size)d(=)j(\(unsigned)f(int\))g(filelen;)245 -3915 y(return)h(loaded_file;)150 4025 y(})150 4244 y(static)f(void)150 -4354 y(unload_file)f(\(gnutls_datum_t)e(data\))150 4463 -y({)245 4573 y(free)k(\(data.data\);)150 4682 y(})150 -4902 y(/*)g(Load)g(the)g(certificate)d(and)j(the)g(private)f(key.)198 -5011 y(*/)150 5121 y(static)g(void)150 5230 y(load_keys)f(\(void\))150 -5340 y({)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(50)436 299 y Ft(else)532 408 y(fprintf)46 b(\(stderr,)f +("\\n"\);)341 518 y(})245 628 y(else)341 737 y(fprintf)h(\(stderr,)f +("Trusted\\n"\);)245 1066 y(/*)j(Now)f(check)f(the)h(expiration)e +(dates.)293 1176 y(*/)245 1285 y(if)j(\(gnutls_x509_crt_get_ac)o(tiva)o +(tio)o(n_ti)o(me)42 b(\(crt\))k(>)h(now\))341 1395 y(fprintf)f +(\(stderr,)f("Not)i(yet)g(activated\\n"\);)245 1614 y(if)h +(\(gnutls_x509_crt_get_ex)o(pira)o(tio)o(n_ti)o(me)42 +b(\(crt\))k(<)h(now\))341 1724 y(fprintf)f(\(stderr,)f("Expired\\n"\);) +245 1943 y(/*)j(Check)e(if)h(the)g(certificate)e(is)i(revoked.)293 +2052 y(*/)245 2162 y(ret)g(=)h(gnutls_x509_crt_check_re)o(voc)o(atio)o +(n)42 b(\(crt,)k(crl_list,)f(crl_list_size\);)245 2271 +y(if)j(\(ret)e(==)h(1\))341 2381 y({)1288 b(/*)47 b(revoked)f(*/)436 +2491 y(fprintf)g(\(stderr,)g("Revoked\\n"\);)341 2600 +y(})150 2710 y(})150 2943 y Fv(7.3.5)63 b(Using)42 b(a)e(Callbac)m(k)g +(to)h(Select)f(the)h(Certi\014cate)e(to)i(Use)150 3090 +y FB(There)29 b(are)h(cases)h(where)e(a)h(clien)m(t)i(holds)d(sev)m +(eral)i(certi\014cate)h(and)d(k)m(ey)h(pairs,)g(and)f(ma)m(y)i(not)f(w) +m(an)m(t)g(to)150 3199 y(load)j(all)h(of)e(them)h(in)f(the)h(creden)m +(tials)h(structure.)47 b(The)32 b(follo)m(wing)i(example)f +(demonstrates)g(the)g(use)150 3309 y(of)e(the)f(certi\014cate)j +(selection)f(callbac)m(k.)150 3477 y Ft(/*)47 b(Copyright)e(2007)i +(Free)g(Software)e(Foundation)198 3587 y(*)198 3696 y(*)i(Copying)f +(and)h(distribution)d(of)k(this)e(file,)h(with)f(or)h(without)f +(modification,)198 3806 y(*)h(are)g(permitted)e(in)j(any)e(medium)h +(without)e(royalty)h(provided)g(the)h(copyright)198 3915 +y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +4025 y(*/)150 4244 y(#if)g(HAVE_CONFIG_H)150 4354 y(#)g(include)f +()150 4463 y(#endif)150 4682 y(#include)g()150 +4792 y(#include)g()150 4902 y(#include)g()150 +5011 y(#include)g()150 5121 y(#include)g() +150 5230 y(#include)g()150 5340 y(#include)g()p +eop end %%Page: 51 57 TeXDict begin 51 56 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(51)245 299 y Fs(int)47 b(ret;)245 408 y(gnutls_datum_t)d(data;)245 -628 y(data)j(=)h(load_file)d(\(CERT_FILE\);)245 737 y(if)j(\(data.data) -d(==)i(NULL\))341 847 y({)436 956 y(fprintf)f(\(stderr,)g("***)g(Error) -h(loading)f(cert)g(file.\\n"\);)436 1066 y(exit)h(\(1\);)341 -1176 y(})245 1285 y(gnutls_x509_crt_init)c(\(&crt\);)245 -1504 y(ret)k(=)h(gnutls_x509_crt_import)42 b(\(crt,)k(&data,)g -(GNUTLS_X509_FMT_PEM\);)245 1614 y(if)i(\(ret)e(<)i(0\))341 -1724 y({)436 1833 y(fprintf)e(\(stderr,)g("***)g(Error)h(loading)f(key) -g(file:)95 b(\045s\\n",)866 1943 y(gnutls_strerror)44 -b(\(ret\)\);)436 2052 y(exit)j(\(1\);)341 2162 y(})245 -2381 y(unload_file)e(\(data\);)245 2600 y(data)i(=)h(load_file)d -(\(KEY_FILE\);)245 2710 y(if)j(\(data.data)d(==)i(NULL\))341 -2819 y({)436 2929 y(fprintf)f(\(stderr,)g("***)g(Error)h(loading)f(key) -g(file.\\n"\);)436 3039 y(exit)h(\(1\);)341 3148 y(})245 -3367 y(gnutls_x509_privkey_init)42 b(\(&key\);)245 3587 -y(ret)47 b(=)h(gnutls_x509_privkey_impo)o(rt)41 b(\(key,)47 -b(&data,)f(GNUTLS_X509_FMT_PEM\);)245 3696 y(if)i(\(ret)e(<)i(0\))341 -3806 y({)436 3915 y(fprintf)e(\(stderr,)g("***)g(Error)h(loading)f(key) -g(file:)95 b(\045s\\n",)866 4025 y(gnutls_strerror)44 -b(\(ret\)\);)436 4134 y(exit)j(\(1\);)341 4244 y(})245 -4463 y(unload_file)e(\(data\);)150 4682 y(})150 4902 -y(int)150 5011 y(main)i(\(void\))150 5121 y({)245 5230 -y(int)g(ret,)g(sd,)g(ii;)245 5340 y(gnutls_session_t)d(session;)p -eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(51)150 299 y Ft(#include)46 b()150 +408 y(#include)g()150 518 y(#include)g()150 +628 y(#include)g()150 737 y(#include)g()150 +956 y(/*)h(A)h(TLS)f(client)f(that)g(loads)h(the)g(certificate)d(and)j +(key.)198 1066 y(*/)150 1285 y(#define)f(MAX_BUF)g(1024)150 +1395 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 +1614 y(#define)e(CERT_FILE)f("cert.pem")150 1724 y(#define)h(KEY_FILE)f +("key.pem")150 1833 y(#define)h(CAFILE)g("ca.pem")150 +2052 y(extern)g(int)h(tcp_connect)e(\(void\);)150 2162 +y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 2381 +y(static)f(int)h(cert_callback)d(\(gnutls_session_t)f(session,)1391 +2491 y(const)j(gnutls_datum_t)e(*)k(req_ca_rdn,)c(int)j(nreqs,)1391 +2600 y(const)f(gnutls_pk_algorithm_t)c(*)48 b(sign_algos,)1391 +2710 y(int)f(sign_algos_length,)c(gnutls_retr_st)h(*)j(st\);)150 +2929 y(gnutls_x509_crt_t)c(crt;)150 3039 y(gnutls_x509_privkey_t)f +(key;)150 3258 y(/*)47 b(Helper)f(functions)g(to)h(load)f(a)i +(certificate)d(and)h(key)198 3367 y(*)h(files)g(into)f(memory.)198 +3477 y(*/)150 3587 y(static)g(gnutls_datum_t)150 3696 +y(load_file)f(\(const)h(char)h(*file\))150 3806 y({)245 +3915 y(FILE)g(*f;)245 4025 y(gnutls_datum_t)d(loaded_file)h(=)j({)f +(NULL,)f(0)i(};)245 4134 y(long)f(filelen;)245 4244 y(void)g(*ptr;)245 +4463 y(if)h(\(!\(f)e(=)i(fopen\(file,)c("r"\)\))436 4573 +y(||)k(fseek\(f,)d(0,)i(SEEK_END\))f(!=)h(0)436 4682 +y(||)h(\(filelen)d(=)j(ftell\(f\)\))d(<)i(0)436 4792 +y(||)h(fseek\(f,)d(0,)i(SEEK_SET\))f(!=)h(0)436 4902 +y(||)h(!\(ptr)e(=)h(malloc\(\(size_t\)filelen\)\))436 +5011 y(||)h(fread\(ptr,)d(1,)i(\(size_t\)filelen,)c(f\))k(<)h +(\(size_t\)filelen\))341 5121 y({)436 5230 y(return)e(loaded_file;)341 +5340 y(})p eop end %%Page: 52 58 TeXDict begin 52 57 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(52)245 299 y Fs(gnutls_priority_t)44 b(priorities_cache;)245 -408 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 518 y -(gnutls_certificate_credent)o(ials)o(_t)41 b(xcred;)245 -628 y(/*)48 b(Allow)e(connections)f(to)i(servers)f(that)g(have)h -(OpenPGP)f(keys)g(as)i(well.)293 737 y(*/)245 956 y(gnutls_global_init) -43 b(\(\);)245 1176 y(load_keys)j(\(\);)245 1395 y(/*)i(X509)e(stuff)h -(*/)245 1504 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)42 -b(\(&xcred\);)245 1724 y(/*)48 b(priorities)d(*/)245 -1833 y(gnutls_priority_init)e(\(&priorities_cache,)f("NORMAL",)k -(NULL\);)245 2162 y(/*)i(sets)e(the)h(trusted)f(cas)h(file)293 -2271 y(*/)245 2381 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o(_fil)o -(e)42 b(\(xcred,)k(CAFILE,)f(GNUTLS_X509_FMT_PEM\);)245 -2600 y(gnutls_certificate_client_)o(set_)o(ret)o(riev)o(e_fu)o(nct)o -(ion)c(\(xcred,)46 b(cert_callback\);)245 2819 y(/*)i(Initialize)d(TLS) -i(session)293 2929 y(*/)245 3039 y(gnutls_init)e(\(&session,)g -(GNUTLS_CLIENT\);)245 3258 y(/*)j(Use)f(default)e(priorities)g(*/)245 -3367 y(gnutls_priority_set)e(\(session,)i(priorities_cache\);)245 -3587 y(/*)j(put)f(the)f(x509)h(credentials)e(to)i(the)g(current)f -(session)293 3696 y(*/)245 3806 y(gnutls_credentials_set)c(\(session,)j -(GNUTLS_CRD_CERTIFICATE,)d(xcred\);)245 4025 y(/*)48 -b(connect)d(to)j(the)f(peer)293 4134 y(*/)245 4244 y(sd)h(=)f -(tcp_connect)e(\(\);)245 4463 y(gnutls_transport_set_ptr)d(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)245 4682 y(/*)48 -b(Perform)d(the)i(TLS)g(handshake)293 4792 y(*/)245 4902 -y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 5121 -y(if)48 b(\(ret)e(<)i(0\))341 5230 y({)436 5340 y(fprintf)e(\(stderr,)g -("***)g(Handshake)g(failed\\n"\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(52)245 408 y Ft(loaded_file.data)44 b(=)j(ptr;)245 +518 y(loaded_file.size)d(=)j(\(unsigned)f(int\)filelen;)245 +628 y(return)h(loaded_file;)150 737 y(})150 956 y(static)f(void)h +(unload_file\(gnutls_datu)o(m_t)41 b(data\))150 1066 +y({)245 1176 y(free\(data.data\);)150 1285 y(})150 1504 +y(/*)47 b(Load)g(the)g(certificate)d(and)j(the)g(private)f(key.)198 +1614 y(*/)150 1724 y(static)g(void)150 1833 y(load_keys)f(\(void\))150 +1943 y({)245 2052 y(int)i(ret;)245 2162 y(gnutls_datum_t)d(data;)245 +2381 y(data)j(=)h(load_file)d(\(CERT_FILE\);)245 2491 +y(if)j(\(data.data)d(==)i(NULL\))341 2600 y({)436 2710 +y(fprintf)f(\(stderr,)g("***)g(Error)h(loading)f(cert)g(file.\\n"\);) +436 2819 y(exit)h(\(1\);)341 2929 y(})245 3039 y(gnutls_x509_crt_init)c +(\(&crt\);)245 3258 y(ret)k(=)h(gnutls_x509_crt_import)42 +b(\(crt,)k(&data,)g(GNUTLS_X509_FMT_PEM\);)245 3367 y(if)i(\(ret)e(<)i +(0\))341 3477 y({)436 3587 y(fprintf)e(\(stderr,)g("***)g(Error)h +(loading)f(key)g(file:)h(\045s\\n",)866 3696 y(gnutls_strerror)d +(\(ret\)\);)436 3806 y(exit)j(\(1\);)341 3915 y(})245 +4134 y(unload_file)e(\(data\);)245 4354 y(data)i(=)h(load_file)d +(\(KEY_FILE\);)245 4463 y(if)j(\(data.data)d(==)i(NULL\))341 +4573 y({)436 4682 y(fprintf)f(\(stderr,)g("***)g(Error)h(loading)f(key) +g(file.\\n"\);)436 4792 y(exit)h(\(1\);)341 4902 y(})245 +5121 y(gnutls_x509_privkey_init)42 b(\(&key\);)245 5340 +y(ret)47 b(=)h(gnutls_x509_privkey_impo)o(rt)41 b(\(key,)47 +b(&data,)f(GNUTLS_X509_FMT_PEM\);)p eop end %%Page: 53 59 TeXDict begin 53 58 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(53)436 299 y Fs(gnutls_perror)45 b(\(ret\);)436 408 -y(goto)i(end;)341 518 y(})245 628 y(else)341 737 y({)436 -847 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);)341 -956 y(})245 1176 y(gnutls_record_send)c(\(session,)j(MSG,)g(strlen)g -(\(MSG\)\);)245 1395 y(ret)h(=)h(gnutls_record_recv)43 -b(\(session,)i(buffer,)h(MAX_BUF\);)245 1504 y(if)i(\(ret)e(==)h(0\)) -341 1614 y({)436 1724 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h -(TLS)g(connection\\n"\);)436 1833 y(goto)g(end;)341 1943 -y(})245 2052 y(else)g(if)g(\(ret)g(<)g(0\))341 2162 y({)436 -2271 y(fprintf)f(\(stderr,)g("***)g(Error:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)436 2381 y(goto)j(end;)341 -2491 y(})245 2710 y(printf)g(\("-)f(Received)g(\045d)h(bytes:)94 -b(",)47 b(ret\);)245 2819 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e -(ii++\))341 2929 y({)436 3039 y(fputc)h(\(buffer[ii],)d(stdout\);)341 -3148 y(})245 3258 y(fputs)j(\("\\n",)f(stdout\);)245 -3477 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 -3696 y(end:)245 3915 y(tcp_close)g(\(sd\);)245 4134 y(gnutls_deinit)f -(\(session\);)245 4354 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)d -(\(xcred\);)245 4463 y(gnutls_priority_deinit)g(\(priorities_cache\);) -245 4682 y(gnutls_global_deinit)h(\(\);)245 4902 y(return)k(0;)150 -5011 y(})p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(53)245 299 y Ft(if)48 b(\(ret)e(<)i(0\))341 408 +y({)436 518 y(fprintf)e(\(stderr,)g("***)g(Error)h(loading)f(key)g +(file:)h(\045s\\n",)866 628 y(gnutls_strerror)d(\(ret\)\);)436 +737 y(exit)j(\(1\);)341 847 y(})245 1066 y(unload_file)e(\(data\);)150 +1285 y(})150 1504 y(int)150 1614 y(main)i(\(void\))150 +1724 y({)245 1833 y(int)g(ret,)g(sd,)g(ii;)245 1943 y(gnutls_session_t) +d(session;)245 2052 y(gnutls_priority_t)g(priorities_cache;)245 +2162 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 2271 y +(gnutls_certificate_credent)o(ials)o(_t)41 b(xcred;)245 +2381 y(/*)48 b(Allow)e(connections)f(to)i(servers)f(that)g(have)h +(OpenPGP)f(keys)g(as)i(well.)293 2491 y(*/)245 2710 y +(gnutls_global_init)43 b(\(\);)245 2929 y(load_keys)j(\(\);)245 +3148 y(/*)i(X509)e(stuff)h(*/)245 3258 y(gnutls_certificate_allocat)o +(e_cr)o(ede)o(ntia)o(ls)42 b(\(&xcred\);)245 3477 y(/*)48 +b(priorities)d(*/)245 3587 y(gnutls_priority_init\()d +(&priorities_cache,)h("NORMAL",)j(NULL\);)245 3915 y(/*)i(sets)e(the)h +(trusted)f(cas)h(file)293 4025 y(*/)245 4134 y +(gnutls_certificate_set_x50)o(9_tr)o(ust)o(_fil)o(e)42 +b(\(xcred,)k(CAFILE,)f(GNUTLS_X509_FMT_PEM\);)245 4354 +y(gnutls_certificate_client_)o(set_)o(ret)o(riev)o(e_fu)o(nct)o(ion)c +(\(xcred,)46 b(cert_callback\);)245 4573 y(/*)i(Initialize)d(TLS)i +(session)293 4682 y(*/)245 4792 y(gnutls_init)e(\(&session,)g +(GNUTLS_CLIENT\);)245 5011 y(/*)j(Use)f(default)e(priorities)g(*/)245 +5121 y(gnutls_priority_set)e(\(session,)i(priorities_cache\);)245 +5340 y(/*)j(put)f(the)f(x509)h(credentials)e(to)i(the)g(current)f +(session)p eop end %%Page: 54 60 TeXDict begin 54 59 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(54)150 299 y Fs(/*)47 b(This)g(callback)e(should)h(be)i(associated)d -(with)h(a)i(session)e(by)h(calling)198 408 y(*)g -(gnutls_certificate_client)o(_set)o(_re)o(trie)o(ve_f)o(unc)o(tion)o -(\()42 b(session,)j(cert_callback\),)198 518 y(*)i(before)f(a)i -(handshake.)198 628 y(*/)150 847 y(static)e(int)150 956 -y(cert_callback)e(\(gnutls_session_t)f(session,)866 1066 -y(const)j(gnutls_datum_t)e(*)k(req_ca_rdn,)c(int)j(nreqs,)866 -1176 y(const)f(gnutls_pk_algorithm_t)c(*)48 b(sign_algos,)866 -1285 y(int)f(sign_algos_length,)c(gnutls_retr_st)h(*)j(st\))150 -1395 y({)245 1504 y(char)g(issuer_dn[256];)245 1614 y(int)g(i,)h(ret;) -245 1724 y(size_t)f(len;)245 1833 y(gnutls_certificate_type_t)41 -b(type;)245 2052 y(/*)48 b(Print)e(the)h(server's)e(trusted)h(CAs)293 -2162 y(*/)245 2271 y(if)i(\(nreqs)e(>)h(0\))341 2381 -y(printf)f(\("-)h(Server's)e(trusted)h(authorities:\\n"\);)245 -2491 y(else)341 2600 y(printf)g(\("-)h(Server)f(did)h(not)g(send)f(us)i -(any)f(trusted)e(authorities)g(names.\\n"\);)245 2819 -y(/*)j(print)e(the)h(names)f(\(if)h(any\))g(*/)245 2929 -y(for)g(\(i)h(=)f(0;)g(i)h(<)f(nreqs;)f(i++\))341 3039 -y({)436 3148 y(len)h(=)h(sizeof)e(\(issuer_dn\);)436 -3258 y(ret)h(=)h(gnutls_x509_rdn_get)42 b(\(&req_ca_rdn[i],)i -(issuer_dn,)h(&len\);)436 3367 y(if)j(\(ret)e(>=)h(0\))532 -3477 y({)627 3587 y(printf)f(\(")143 b([\045d]:)94 b(",)47 -b(i\);)627 3696 y(printf)f(\("\045s\\n",)g(issuer_dn\);)532 -3806 y(})341 3915 y(})245 4134 y(/*)i(Select)e(a)h(certificate)e(and)i -(return)f(it.)293 4244 y(*)i(The)f(certificate)d(must)j(be)g(of)g(any)g -(of)g(the)g("sign)g(algorithms")293 4354 y(*)h(supported)d(by)i(the)g -(server.)293 4463 y(*/)245 4682 y(type)g(=)h(gnutls_certificate_type)o -(_ge)o(t)42 b(\(session\);)245 4792 y(if)48 b(\(type)e(==)h -(GNUTLS_CRT_X509\))341 4902 y({)436 5011 y(st->type)f(=)h(type;)436 -5121 y(st->ncerts)e(=)j(1;)436 5340 y(st->cert.x509)d(=)i(&crt;)p +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(54)293 299 y Ft(*/)245 408 y(gnutls_credentials_set)42 +b(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(xcred\);)245 +628 y(/*)48 b(connect)d(to)j(the)f(peer)293 737 y(*/)245 +847 y(sd)h(=)f(tcp_connect)e(\(\);)245 1066 y(gnutls_transport_set_ptr) +d(\(session,)j(\(gnutls_transport_ptr_t\))c(sd\);)245 +1285 y(/*)48 b(Perform)d(the)i(TLS)g(handshake)293 1395 +y(*/)245 1504 y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 +1724 y(if)48 b(\(ret)e(<)i(0\))341 1833 y({)436 1943 +y(fprintf)e(\(stderr,)g("***)g(Handshake)g(failed\\n"\);)436 +2052 y(gnutls_perror)f(\(ret\);)436 2162 y(goto)i(end;)341 +2271 y(})245 2381 y(else)341 2491 y({)436 2600 y(printf)f(\("-)h +(Handshake)f(was)h(completed\\n"\);)341 2710 y(})245 +2929 y(gnutls_record_send)c(\(session,)j(MSG,)g(strlen)g(\(MSG\)\);)245 +3148 y(ret)h(=)h(gnutls_record_recv)43 b(\(session,)i(buffer,)h +(MAX_BUF\);)245 3258 y(if)i(\(ret)e(==)h(0\))341 3367 +y({)436 3477 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h(TLS)g +(connection\\n"\);)436 3587 y(goto)g(end;)341 3696 y(})245 +3806 y(else)g(if)g(\(ret)g(<)g(0\))341 3915 y({)436 4025 +y(fprintf)f(\(stderr,)g("***)g(Error:)g(\045s\\n",)h(gnutls_strerror)c +(\(ret\)\);)436 4134 y(goto)k(end;)341 4244 y(})245 4463 +y(printf)g(\("-)f(Received)g(\045d)h(bytes:)f(",)h(ret\);)245 +4573 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e(ii++\))341 +4682 y({)436 4792 y(fputc)h(\(buffer[ii],)d(stdout\);)341 +4902 y(})245 5011 y(fputs)j(\("\\n",)f(stdout\);)245 +5230 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)p eop end %%Page: 55 61 TeXDict begin 55 60 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(55)436 299 y Fs(st->key.x509)45 b(=)i(key;)436 518 -y(st->deinit_all)d(=)k(0;)341 628 y(})245 737 y(else)341 -847 y({)436 956 y(return)e(-1;)341 1066 y(})245 1285 -y(return)h(0;)150 1504 y(})150 1737 y Fu(7.3.6)63 b(Clien)m(t)40 -b(with)g(Resume)i(Capabilit)m(y)d(Example)150 1884 y -FB(This)27 b(is)h(a)h(mo)s(di\014cation)f(of)g(the)h(simple)f(clien)m -(t)h(example.)41 b(Here)28 b(w)m(e)h(demonstrate)g(the)f(use)g(of)g -(session)150 1994 y(resumption.)44 b(The)31 b(clien)m(t)i(tries)f(to)g -(connect)h(once)f(using)f Ft(TLS)p FB(,)h(close)h(the)f(connection)h -(and)e(then)g(try)150 2103 y(to)g(establish)g(a)g(new)e(connection)j -(using)e(the)g(previously)h(negotiated)h(data.)150 2271 -y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g(public)f -(domain.)93 b(*/)150 2491 y(#ifdef)46 b(HAVE_CONFIG_H)150 -2600 y(#)h(include)f()150 2710 y(#endif)150 -2929 y(#include)g()150 3039 y(#include)g()150 -3148 y(#include)g()150 3258 y(#include)g() -150 3477 y(/*)h(Those)g(functions)e(are)i(defined)f(in)h(other)f -(examples.)198 3587 y(*/)150 3696 y(extern)g(void)h(check_alert)d -(\(gnutls_session_t)g(session,)h(int)i(ret\);)150 3806 -y(extern)f(int)h(tcp_connect)e(\(void\);)150 3915 y(extern)h(void)h -(tcp_close)e(\(int)i(sd\);)150 4134 y(#define)f(MAX_BUF)g(1024)150 -4244 y(#define)g(CAFILE)g("ca.pem")150 4354 y(#define)g(MSG)h("GET)f(/) -i(HTTP/1.0\\r\\n\\r\\n")150 4573 y(int)150 4682 y(main)f(\(void\))150 -4792 y({)245 4902 y(int)g(ret;)245 5011 y(int)g(sd,)g(ii;)245 -5121 y(gnutls_session_t)d(session;)245 5230 y(char)j(buffer[MAX_BUF)d -(+)j(1];)245 5340 y(gnutls_certificate_credent)o(ials)o(_t)41 -b(xcred;)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(55)150 299 y Ft(end:)245 518 y(tcp_close)46 b(\(sd\);)245 +737 y(gnutls_deinit)f(\(session\);)245 956 y +(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)d(\(xcred\);)245 +1066 y(gnutls_priority_deinit\()g(priorities_cache\);)245 +1285 y(gnutls_global_deinit)h(\(\);)245 1504 y(return)k(0;)150 +1614 y(})150 2052 y(/*)g(This)g(callback)e(should)h(be)i(associated)d +(with)h(a)i(session)e(by)h(calling)198 2162 y(*)g +(gnutls_certificate_client)o(_set)o(_re)o(trie)o(ve_f)o(unc)o(tion)o +(\()42 b(session,)j(cert_callback\),)198 2271 y(*)i(before)f(a)i +(handshake.)198 2381 y(*/)150 2600 y(static)e(int)150 +2710 y(cert_callback)e(\(gnutls_session_t)f(session,)866 +2819 y(const)j(gnutls_datum_t)e(*)k(req_ca_rdn,)c(int)j(nreqs,)866 +2929 y(const)f(gnutls_pk_algorithm_t)c(*)48 b(sign_algos,)866 +3039 y(int)f(sign_algos_length,)c(gnutls_retr_st)h(*)j(st\))150 +3148 y({)245 3258 y(char)g(issuer_dn[256];)245 3367 y(int)g(i,)h(ret;) +245 3477 y(size_t)f(len;)245 3587 y(gnutls_certificate_type_t)41 +b(type;)245 3806 y(/*)48 b(Print)e(the)h(server's)e(trusted)h(CAs)293 +3915 y(*/)245 4025 y(if)i(\(nreqs)e(>)h(0\))341 4134 +y(printf)f(\("-)h(Server's)e(trusted)h(authorities:\\n"\);)245 +4244 y(else)341 4354 y(printf)g(\("-)h(Server)f(did)h(not)g(send)f(us)i +(any)f(trusted)e(authorities)g(names.\\n"\);)245 4573 +y(/*)j(print)e(the)h(names)f(\(if)h(any\))g(*/)245 4682 +y(for)g(\(i)h(=)f(0;)g(i)h(<)f(nreqs;)f(i++\))341 4792 +y({)436 4902 y(len)h(=)h(sizeof)e(\(issuer_dn\);)436 +5011 y(ret)h(=)h(gnutls_x509_rdn_get)42 b(\(&req_ca_rdn[i],)i +(issuer_dn,)h(&len\);)436 5121 y(if)j(\(ret)e(>=)h(0\))532 +5230 y({)627 5340 y(printf)f(\(")143 b([\045d]:)46 b(",)i(i\);)p +eop end %%Page: 56 62 TeXDict begin 56 61 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(56)245 408 y Fs(/*)48 b(variables)d(used)i(in)g(session)f(resuming) -293 518 y(*/)245 628 y(int)h(t;)245 737 y(char)g(*session_data)d(=)k -(NULL;)245 847 y(size_t)f(session_data_size)c(=)k(0;)245 -1066 y(gnutls_global_init)c(\(\);)245 1285 y(/*)48 b(X509)e(stuff)h(*/) -245 1395 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)42 -b(\(&xcred\);)245 1614 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(56)627 299 y Ft(printf)46 b(\("\045s\\n",)g(issuer_dn\);)532 +408 y(})341 518 y(})245 737 y(/*)i(Select)e(a)h(certificate)e(and)i +(return)f(it.)293 847 y(*)i(The)f(certificate)d(must)j(be)g(of)g(any)g +(of)g(the)g("sign)g(algorithms")293 956 y(*)h(supported)d(by)i(the)g +(server.)293 1066 y(*/)245 1285 y(type)g(=)h(gnutls_certificate_type)o +(_ge)o(t)42 b(\(session\);)245 1395 y(if)48 b(\(type)e(==)h +(GNUTLS_CRT_X509\))341 1504 y({)436 1614 y(st->type)f(=)h(type;)436 +1724 y(st->ncerts)e(=)j(1;)436 1943 y(st->cert.x509)d(=)i(&crt;)436 +2052 y(st->key.x509)e(=)i(key;)436 2271 y(st->deinit_all)d(=)k(0;)341 +2381 y(})245 2491 y(else)341 2600 y({)436 2710 y(return)e(-1;)341 +2819 y(})245 3039 y(return)h(0;)150 3258 y(})150 3491 +y Fv(7.3.6)63 b(Clien)m(t)40 b(with)g(Resume)i(Capabilit)m(y)d(Example) +150 3638 y FB(This)27 b(is)h(a)h(mo)s(di\014cation)f(of)g(the)h(simple) +f(clien)m(t)h(example.)41 b(Here)28 b(w)m(e)h(demonstrate)g(the)f(use)g +(of)g(session)150 3747 y(resumption.)44 b(The)31 b(clien)m(t)i(tries)f +(to)g(connect)h(once)f(using)f Fu(TLS)p FB(,)h(close)h(the)f +(connection)h(and)e(then)g(try)150 3857 y(to)g(establish)g(a)g(new)e +(connection)j(using)e(the)g(previously)h(negotiated)h(data.)150 +4025 y Ft(/*)47 b(Copyright)e(2007,)i(2008)f(Free)h(Software)f +(Foundation)198 4134 y(*)198 4244 y(*)h(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +4354 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 4463 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 4573 y(*/)150 4792 y(#if)g +(HAVE_CONFIG_H)150 4902 y(#)g(include)f()150 +5011 y(#endif)150 5230 y(#include)g()150 5340 +y(#include)g()p eop end +%%Page: 57 63 +TeXDict begin 57 62 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(57)150 299 y Ft(#include)46 b()150 408 +y(#include)g()150 628 y(/*)h(Those)g(functions)e(are)i +(defined)f(in)h(other)f(examples.)198 737 y(*/)150 847 +y(extern)g(void)h(check_alert)d(\(gnutls_session_t)g(session,)h(int)i +(ret\);)150 956 y(extern)f(int)h(tcp_connect)e(\(void\);)150 +1066 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 +1285 y(#define)f(MAX_BUF)g(1024)150 1395 y(#define)g(CRLFILE)g +("crl.pem")150 1504 y(#define)g(CAFILE)g("ca.pem")150 +1614 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 +1833 y(int)150 1943 y(main)f(\(void\))150 2052 y({)245 +2162 y(int)g(ret;)245 2271 y(int)g(sd,)g(ii;)245 2381 +y(gnutls_session_t)d(session;)245 2491 y(char)j(buffer[MAX_BUF)d(+)j +(1];)245 2600 y(gnutls_certificate_credent)o(ials)o(_t)41 +b(xcred;)245 2819 y(/*)48 b(variables)d(used)i(in)g(session)f(resuming) +293 2929 y(*/)245 3039 y(int)h(t;)245 3148 y(char)g(*session_data)d(=)k +(NULL;)245 3258 y(size_t)f(session_data_size)c(=)k(0;)245 +3477 y(gnutls_global_init)c(\(\);)245 3696 y(/*)48 b(X509)e(stuff)h(*/) +245 3806 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)42 +b(\(&xcred\);)245 4025 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o (_fil)o(e)g(\(xcred,)k(CAFILE,)f(GNUTLS_X509_FMT_PEM\);)245 -1833 y(for)i(\(t)h(=)f(0;)g(t)h(<)f(2;)g(t++\))341 1943 +4244 y(for)i(\(t)h(=)f(0;)g(t)h(<)f(2;)g(t++\))341 4354 y({)1288 b(/*)47 b(connect)f(2)i(times)e(to)h(the)g(server)f(*/)436 -2162 y(sd)i(=)f(tcp_connect)e(\(\);)436 2381 y(gnutls_init)g -(\(&session,)g(GNUTLS_CLIENT\);)436 2600 y(gnutls_priority_set_direct)c +4573 y(sd)i(=)f(tcp_connect)e(\(\);)436 4792 y(gnutls_init)g +(\(&session,)g(GNUTLS_CLIENT\);)436 5011 y(gnutls_priority_set_direct)c (\(session,)k("PERFORMANCE:!ARCFOUR-128)o(",)d(NULL\);)436 -2819 y(gnutls_credentials_set)g(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d -(xcred\);)436 3039 y(if)48 b(\(t)f(>)g(0\))532 3148 y({)627 -3258 y(/*)g(if)h(this)e(is)h(not)g(the)g(first)g(time)f(we)h(connect)f -(*/)627 3367 y(gnutls_session_set_data)c(\(session,)j(session_data,)f -(session_data_size\);)627 3477 y(free)j(\(session_data\);)532 -3587 y(})436 3806 y(gnutls_transport_set_ptr)42 b(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)436 4025 y(/*)48 -b(Perform)d(the)i(TLS)g(handshake)484 4134 y(*/)436 4244 -y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)436 4463 -y(if)48 b(\(ret)e(<)i(0\))532 4573 y({)627 4682 y(fprintf)e(\(stderr,)g -("***)g(Handshake)g(failed\\n"\);)627 4792 y(gnutls_perror)e(\(ret\);) -627 4902 y(goto)j(end;)532 5011 y(})436 5121 y(else)532 -5230 y({)627 5340 y(printf)f(\("-)h(Handshake)f(was)g(completed\\n"\);) -p eop end -%%Page: 57 63 -TeXDict begin 57 62 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(57)532 299 y Fs(})436 518 y(if)48 b(\(t)f(==)g(0\))532 -628 y({)1097 b(/*)47 b(the)g(first)g(time)f(we)i(connect)d(*/)627 -737 y(/*)i(get)g(the)g(session)f(data)h(size)f(*/)627 -847 y(gnutls_session_get_data)c(\(session,)j(NULL,)h -(&session_data_size\);)627 956 y(session_data)f(=)i(malloc)f -(\(session_data_size\);)627 1176 y(/*)h(put)g(session)f(data)h(to)g -(the)g(session)f(variable)f(*/)627 1285 y(gnutls_session_get_data)d -(\(session,)j(session_data,)f(&session_data_size\);)532 -1504 y(})436 1614 y(else)532 1724 y({)1097 b(/*)47 b(the)g(second)f -(time)h(we)g(connect)f(*/)627 1943 y(/*)h(check)g(if)g(we)g(actually)f -(resumed)g(the)g(previous)g(session)g(*/)627 2052 y(if)h -(\(gnutls_session_is_resumed)41 b(\(session\))k(!=)j(0\))723 -2162 y({)818 2271 y(printf)e(\("-)h(Previous)f(session)g(was)g -(resumed\\n"\);)723 2381 y(})627 2491 y(else)723 2600 -y({)818 2710 y(fprintf)g(\(stderr,)g("***)g(Previous)g(session)g(was)g -(NOT)h(resumed\\n"\);)723 2819 y(})532 2929 y(})436 3148 -y(/*)h(This)e(function)g(was)h(defined)e(in)j(a)f(previous)f(example) -484 3258 y(*/)436 3367 y(/*)i(print_info\(session\);)42 -b(*/)436 3587 y(gnutls_record_send)h(\(session,)i(MSG,)i(strlen)f -(\(MSG\)\);)436 3806 y(ret)h(=)h(gnutls_record_recv)43 -b(\(session,)i(buffer,)h(MAX_BUF\);)436 3915 y(if)i(\(ret)e(==)h(0\)) -532 4025 y({)627 4134 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h -(TLS)g(connection\\n"\);)627 4244 y(goto)g(end;)532 4354 -y(})436 4463 y(else)g(if)g(\(ret)g(<)g(0\))532 4573 y({)627 -4682 y(fprintf)f(\(stderr,)g("***)g(Error:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)627 4792 y(goto)j(end;)532 -4902 y(})436 5121 y(printf)f(\("-)h(Received)f(\045d)h(bytes:)94 -b(",)47 b(ret\);)436 5230 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)g(ret;)g -(ii++\))532 5340 y({)p eop end +5230 y(gnutls_credentials_set)g(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d +(xcred\);)p eop end %%Page: 58 64 TeXDict begin 58 63 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(58)627 299 y Fs(fputc)47 b(\(buffer[ii],)d(stdout\);)532 -408 y(})436 518 y(fputs)j(\("\\n",)f(stdout\);)436 737 -y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)341 956 -y(end:)436 1176 y(tcp_close)g(\(sd\);)436 1395 y(gnutls_deinit)f -(\(session\);)341 1614 y(})1288 b(/*)47 b(for\(\))g(*/)245 -1833 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)42 -b(\(xcred\);)245 2052 y(gnutls_global_deinit)h(\(\);)245 -2271 y(return)k(0;)150 2381 y(})150 2614 y Fu(7.3.7)63 -b(Simple)41 b(Clien)m(t)g(Example)f(with)h Fn(SRP)f Fu(Authen)m -(tication)150 2761 y FB(The)e(follo)m(wing)h(clien)m(t)h(is)e(a)h(v)m -(ery)f(simple)g Ft(SRP)g(TLS)g FB(clien)m(t)i(whic)m(h)e(connects)g(to) -h(a)g(serv)m(er)f(and)g(au-)150 2870 y(then)m(ticates)f(using)d(a)h -Fm(username)43 b FB(and)34 b(a)h Fm(p)-5 b(asswor)g(d)p -FB(.)57 b(The)34 b(serv)m(er)h(ma)m(y)h(authen)m(ticate)h(itself)e -(using)g(a)150 2980 y(certi\014cate,)e(and)c(in)i(that)f(case)i(it)f -(has)f(to)h(b)s(e)f(v)m(eri\014ed.)150 3148 y Fs(/*)47 -b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g(public)f(domain.)93 -b(*/)150 3367 y(#ifdef)46 b(HAVE_CONFIG_H)150 3477 y(#)h(include)f -()150 3587 y(#endif)150 3806 y(#include)g()150 -3915 y(#include)g()150 4025 y(#include)g()150 -4134 y(#include)g()150 4244 y(#include)g -()150 4463 y(/*)h(Those)g(functions)e(are)i(defined)f -(in)h(other)f(examples.)198 4573 y(*/)150 4682 y(extern)g(void)h -(check_alert)d(\(gnutls_session_t)g(session,)h(int)i(ret\);)150 -4792 y(extern)f(int)h(tcp_connect)e(\(void\);)150 4902 -y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 5121 -y(#define)f(MAX_BUF)g(1024)150 5230 y(#define)g(USERNAME)f("user")150 -5340 y(#define)h(PASSWORD)f("pass")p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(58)436 299 y Ft(if)48 b(\(t)f(>)g(0\))532 408 +y({)627 518 y(/*)g(if)h(this)e(is)h(not)g(the)g(first)g(time)f(we)h +(connect)f(*/)627 628 y(gnutls_session_set_data)c(\(session,)j +(session_data,)f(session_data_size\);)627 737 y(free)j +(\(session_data\);)532 847 y(})436 1066 y(gnutls_transport_set_ptr)42 +b(\(session,)j(\(gnutls_transport_ptr_t\))c(sd\);)436 +1285 y(/*)48 b(Perform)d(the)i(TLS)g(handshake)484 1395 +y(*/)436 1504 y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)436 +1724 y(if)48 b(\(ret)e(<)i(0\))532 1833 y({)627 1943 +y(fprintf)e(\(stderr,)g("***)g(Handshake)g(failed\\n"\);)627 +2052 y(gnutls_perror)e(\(ret\);)627 2162 y(goto)j(end;)532 +2271 y(})436 2381 y(else)532 2491 y({)627 2600 y(printf)f(\("-)h +(Handshake)f(was)g(completed\\n"\);)532 2710 y(})436 +2929 y(if)i(\(t)f(==)g(0\))532 3039 y({)1097 b(/*)47 +b(the)g(first)g(time)f(we)i(connect)d(*/)627 3148 y(/*)i(get)g(the)g +(session)f(data)h(size)f(*/)627 3258 y(gnutls_session_get_data)c +(\(session,)j(NULL,)h(&session_data_size\);)627 3367 +y(session_data)f(=)i(malloc)f(\(session_data_size\);)627 +3587 y(/*)h(put)g(session)f(data)h(to)g(the)g(session)f(variable)f(*/) +627 3696 y(gnutls_session_get_data)d(\(session,)j(session_data,)f +(&session_data_size\);)532 3915 y(})436 4025 y(else)532 +4134 y({)1097 b(/*)47 b(the)g(second)f(time)h(we)g(connect)f(*/)627 +4354 y(/*)h(check)g(if)g(we)g(actually)f(resumed)g(the)g(previous)g +(session)g(*/)627 4463 y(if)h(\(gnutls_session_is_resumed)41 +b(\(session\))k(!=)j(0\))723 4573 y({)818 4682 y(printf)e(\("-)h +(Previous)f(session)g(was)g(resumed\\n"\);)723 4792 y(})627 +4902 y(else)723 5011 y({)818 5121 y(fprintf)g(\(stderr,)g("***)g +(Previous)g(session)g(was)g(NOT)h(resumed\\n"\);)723 +5230 y(})532 5340 y(})p eop end %%Page: 59 65 TeXDict begin 59 64 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(59)150 299 y Fs(#define)46 b(CAFILE)g("ca.pem")150 -408 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 -628 y(int)150 737 y(main)f(\(void\))150 847 y({)245 956 -y(int)g(ret;)245 1066 y(int)g(sd,)g(ii;)245 1176 y(gnutls_session_t)d -(session;)245 1285 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 -1395 y(gnutls_srp_client_credenti)o(als_)o(t)42 b(srp_cred;)245 -1504 y(gnutls_certificate_credent)o(ials)o(_t)f(cert_cred;)245 -1724 y(gnutls_global_init)i(\(\);)245 1943 y(/*)48 b(now)f(enable)f -(the)h(gnutls-extra)d(library)i(which)g(contains)g(the)293 -2052 y(*)i(SRP)f(stuff.)293 2162 y(*/)245 2271 y -(gnutls_global_init_extra)42 b(\(\);)245 2491 y -(gnutls_srp_allocate_client)o(_cre)o(den)o(tial)o(s)g(\(&srp_cred\);) -245 2600 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)g -(\(&cert_cred\);)245 2819 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o -(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 2929 y(GNUTLS_X509_FMT_PEM\);) -245 3039 y(gnutls_srp_set_client_cred)o(enti)o(als)c(\(srp_cred,)k -(USERNAME,)g(PASSWORD\);)245 3258 y(/*)j(connects)d(to)i(server)293 -3367 y(*/)245 3477 y(sd)h(=)f(tcp_connect)e(\(\);)245 -3696 y(/*)j(Initialize)d(TLS)i(session)293 3806 y(*/)245 -3915 y(gnutls_init)e(\(&session,)g(GNUTLS_CLIENT\);)245 -4244 y(/*)j(Set)f(the)f(priorities.)293 4354 y(*/)245 -4463 y(gnutls_priority_set_direct)41 b(\(session,)k -("NORMAL:+SRP:+SRP-RSA:+SRP)o(-DS)o(S",)c(NULL\);)245 -4682 y(/*)48 b(put)f(the)f(SRP)h(credentials)e(to)i(the)g(current)f -(session)293 4792 y(*/)245 4902 y(gnutls_credentials_set)c(\(session,)j -(GNUTLS_CRD_SRP,)f(srp_cred\);)245 5011 y(gnutls_credentials_set)e -(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(cert_cred\);)245 -5230 y(gnutls_transport_set_ptr)g(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(59)436 408 y Ft(/*)48 b(This)e(function)g(was)h(defined)e(in)j +(a)f(previous)f(example)484 518 y(*/)436 628 y(/*)i +(print_info\(session\);)42 b(*/)436 847 y(gnutls_record_send)h +(\(session,)i(MSG,)i(strlen)f(\(MSG\)\);)436 1066 y(ret)h(=)h +(gnutls_record_recv)43 b(\(session,)i(buffer,)h(MAX_BUF\);)436 +1176 y(if)i(\(ret)e(==)h(0\))532 1285 y({)627 1395 y(printf)f(\("-)h +(Peer)g(has)g(closed)f(the)h(TLS)g(connection\\n"\);)627 +1504 y(goto)g(end;)532 1614 y(})436 1724 y(else)g(if)g(\(ret)g(<)g(0\)) +532 1833 y({)627 1943 y(fprintf)f(\(stderr,)g("***)g(Error:)g +(\045s\\n",)g(gnutls_strerror)e(\(ret\)\);)627 2052 y(goto)j(end;)532 +2162 y(})436 2381 y(printf)f(\("-)h(Received)f(\045d)h(bytes:)f(",)h +(ret\);)436 2491 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)g(ret;)g(ii++\))532 +2600 y({)627 2710 y(fputc)g(\(buffer[ii],)d(stdout\);)532 +2819 y(})436 2929 y(fputs)j(\("\\n",)f(stdout\);)436 +3148 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)341 +3367 y(end:)436 3587 y(tcp_close)g(\(sd\);)436 3806 y(gnutls_deinit)f +(\(session\);)341 4025 y(})1288 b(/*)47 b(for\(\))g(*/)245 +4244 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)42 +b(\(xcred\);)245 4463 y(gnutls_global_deinit)h(\(\);)245 +4682 y(return)k(0;)150 4792 y(})p eop end %%Page: 60 66 TeXDict begin 60 65 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(60)245 299 y Fs(/*)48 b(Perform)d(the)i(TLS)g(handshake)293 -408 y(*/)245 518 y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 -737 y(if)48 b(\(ret)e(<)i(0\))341 847 y({)436 956 y(fprintf)e -(\(stderr,)g("***)g(Handshake)g(failed\\n"\);)436 1066 -y(gnutls_perror)f(\(ret\);)436 1176 y(goto)i(end;)341 -1285 y(})245 1395 y(else)341 1504 y({)436 1614 y(printf)f(\("-)h -(Handshake)f(was)h(completed\\n"\);)341 1724 y(})245 -1943 y(gnutls_record_send)c(\(session,)j(MSG,)g(strlen)g(\(MSG\)\);)245 -2162 y(ret)h(=)h(gnutls_record_recv)43 b(\(session,)i(buffer,)h -(MAX_BUF\);)245 2271 y(if)i(\(gnutls_error_is_fatal)41 -b(\(ret\))47 b(==)g(1)g(||)h(ret)e(==)i(0\))341 2381 -y({)436 2491 y(if)g(\(ret)e(==)h(0\))532 2600 y({)627 -2710 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h(GNUTLS)f -(connection\\n"\);)627 2819 y(goto)h(end;)532 2929 y(})436 -3039 y(else)532 3148 y({)627 3258 y(fprintf)f(\(stderr,)g("***)g -(Error:)94 b(\045s\\n",)46 b(gnutls_strerror)e(\(ret\)\);)627 -3367 y(goto)j(end;)532 3477 y(})341 3587 y(})245 3696 -y(else)341 3806 y(check_alert)e(\(session,)g(ret\);)245 -4025 y(if)j(\(ret)e(>)i(0\))341 4134 y({)436 4244 y(printf)e(\("-)h -(Received)f(\045d)h(bytes:)94 b(",)47 b(ret\);)436 4354 -y(for)g(\(ii)g(=)h(0;)f(ii)g(<)g(ret;)g(ii++\))532 4463 -y({)627 4573 y(fputc)g(\(buffer[ii],)d(stdout\);)532 -4682 y(})436 4792 y(fputs)j(\("\\n",)f(stdout\);)341 -4902 y(})245 5011 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 -5230 y(end:)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(60)150 299 y Fv(7.3.7)63 b(Simple)41 b(Clien)m(t)g(Example)f +(with)h FB(SRP)f Fv(Authen)m(tication)150 446 y FB(The)e(follo)m(wing)h +(clien)m(t)h(is)e(a)h(v)m(ery)f(simple)g Fu(SRP)g(TLS)g +FB(clien)m(t)i(whic)m(h)e(connects)g(to)h(a)g(serv)m(er)f(and)g(au-)150 +555 y(then)m(ticates)f(using)d(a)h Fm(username)43 b FB(and)34 +b(a)h Fm(p)-5 b(asswor)g(d)p FB(.)57 b(The)34 b(serv)m(er)h(ma)m(y)h +(authen)m(ticate)h(itself)e(using)g(a)150 665 y(certi\014cate,)e(and)c +(in)i(that)f(case)i(it)f(has)f(to)h(b)s(e)f(v)m(eri\014ed.)150 +847 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +956 y(*)198 1066 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 1176 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 1285 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 1395 y(*/)150 1614 y(#if)g +(HAVE_CONFIG_H)150 1724 y(#)g(include)f()150 +1833 y(#endif)150 2052 y(#include)g()150 2162 +y(#include)g()150 2271 y(#include)g()150 +2381 y(#include)g()150 2491 y(#include)g +()150 2710 y(/*)h(Those)g(functions)e(are)i(defined)f +(in)h(other)f(examples.)198 2819 y(*/)150 2929 y(extern)g(void)h +(check_alert)d(\(gnutls_session_t)g(session,)h(int)i(ret\);)150 +3039 y(extern)f(int)h(tcp_connect)e(\(void\);)150 3148 +y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 3367 +y(#define)f(MAX_BUF)g(1024)150 3477 y(#define)g(USERNAME)f("user")150 +3587 y(#define)h(PASSWORD)f("pass")150 3696 y(#define)h(CAFILE)g +("ca.pem")150 3806 y(#define)g(SA)h(struct)f(sockaddr)150 +3915 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 +4134 y(#define)e(MAX_PRIORITIES)e(3)150 4354 y(int)150 +4463 y(main)j(\(void\))150 4573 y({)245 4682 y(int)g(ret;)245 +4792 y(int)g(sd,)g(ii;)245 4902 y(gnutls_session_t)d(session;)245 +5011 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 5121 y +(gnutls_srp_client_credenti)o(als_)o(t)42 b(srp_cred;)245 +5230 y(gnutls_certificate_credent)o(ials)o(_t)f(cert_cred;)p +eop end %%Page: 61 67 TeXDict begin 61 66 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(61)245 299 y Fs(tcp_close)46 b(\(sd\);)245 518 y(gnutls_deinit)f -(\(session\);)245 737 y(gnutls_srp_free_client_cre)o(dent)o(ial)o(s)d -(\(srp_cred\);)245 847 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)g -(\(cert_cred\);)245 1066 y(gnutls_global_deinit)h(\(\);)245 -1285 y(return)k(0;)150 1395 y(})150 1628 y Fu(7.3.8)63 -b(Simple)41 b(Clien)m(t)g(Example)f(with)h Fn(TLS/IA)f -Fu(Supp)s(ort)150 1775 y FB(The)26 b(follo)m(wing)i(clien)m(t)g(is)e(a) -h(simple)f(clien)m(t)i(whic)m(h)f(uses)f(the)g Ft(TLS/IA)g -FB(extension)h(to)g(authen)m(ticate)i(with)150 1884 y(the)i(serv)m(er.) -150 2052 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g -(public)f(domain.)93 b(*/)150 2271 y(#ifdef)46 b(HAVE_CONFIG_H)150 -2381 y(#)h(include)f()150 2491 y(#endif)150 -2710 y(#include)g()150 2819 y(#include)g()150 -2929 y(#include)g()150 3039 y(#include)g()150 -3148 y(#include)g()150 3258 y(#include)g() -150 3367 y(#include)g()150 3477 y(#include)g -()150 3587 y(#include)g()150 -3806 y(/*)h(A)h(basic)e(TLS)h(client,)f(with)g(anonymous)g -(authentication)e(and)i(TLS/IA)h(handshake.)198 3915 -y(*/)150 4134 y(#define)f(MAX_BUF)g(1024)150 4244 y(#define)g(MSG)h -("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 4463 y(extern)e(int)h -(tcp_connect)e(\(void\);)150 4573 y(extern)h(void)h(tcp_close)e(\(int)i -(sd\);)150 4792 y(static)f(int)150 4902 y(client_avp)f -(\(gnutls_session_t)e(session,)j(void)g(*ptr,)723 5011 -y(const)g(char)h(*last,)f(size_t)g(lastlen,)f(char)i(**new,)f(size_t)g -(*)i(newlen\))150 5121 y({)245 5340 y(if)g(\(last\))p -eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(61)245 299 y Ft(gnutls_global_init)43 b(\(\);)245 +518 y(/*)48 b(now)f(enable)f(the)h(gnutls-extra)d(library)i(which)g +(contains)g(the)293 628 y(*)i(SRP)f(stuff.)293 737 y(*/)245 +847 y(gnutls_global_init_extra)42 b(\(\);)245 1066 y +(gnutls_srp_allocate_client)o(_cre)o(den)o(tial)o(s)g(\(&srp_cred\);) +245 1176 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)g +(\(&cert_cred\);)245 1395 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o +(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 1504 y(GNUTLS_X509_FMT_PEM\);) +245 1614 y(gnutls_srp_set_client_cred)o(enti)o(als)c(\(srp_cred,)k +(USERNAME,)g(PASSWORD\);)245 1833 y(/*)j(connects)d(to)i(server)293 +1943 y(*/)245 2052 y(sd)h(=)f(tcp_connect)e(\(\);)245 +2271 y(/*)j(Initialize)d(TLS)i(session)293 2381 y(*/)245 +2491 y(gnutls_init)e(\(&session,)g(GNUTLS_CLIENT\);)245 +2819 y(/*)j(Set)f(the)f(priorities.)293 2929 y(*/)245 +3039 y(gnutls_priority_set_direct)41 b(\(session,)k +("NORMAL:+SRP:+SRP-RSA:+SRP)o(-DS)o(S",)c(NULL\);)245 +3258 y(/*)48 b(put)f(the)f(SRP)h(credentials)e(to)i(the)g(current)f +(session)293 3367 y(*/)245 3477 y(gnutls_credentials_set)c(\(session,)j +(GNUTLS_CRD_SRP,)f(srp_cred\);)245 3587 y(gnutls_credentials_set)e +(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(cert_cred\);)245 +3806 y(gnutls_transport_set_ptr)g(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)245 4025 y(/*)48 +b(Perform)d(the)i(TLS)g(handshake)293 4134 y(*/)245 4244 +y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 4463 +y(if)48 b(\(ret)e(<)i(0\))341 4573 y({)436 4682 y(fprintf)e(\(stderr,)g +("***)g(Handshake)g(failed\\n"\);)436 4792 y(gnutls_perror)f(\(ret\);) +436 4902 y(goto)i(end;)341 5011 y(})245 5121 y(else)341 +5230 y({)436 5340 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);) +p eop end %%Page: 62 68 TeXDict begin 62 67 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(62)341 299 y Fs(printf)46 b(\("-)h(received)e(\045d)j(bytes)e(AVP:)h -(`\045.*s'\\n",)723 408 y(lastlen,)e(\(int\))i(lastlen,)e(last\);)245 -518 y(else)341 628 y(printf)h(\("-)h(new)g(application)e(phase\\n"\);) -245 847 y(*new)i(=)h(gnutls_strdup)c(\("client)h(avp"\);)245 -956 y(if)j(\(!*new\))341 1066 y(return)e(-1;)245 1176 -y(*newlen)g(=)i(strlen)e(\(*new\);)245 1395 y(printf)h(\("-)f(sending)g -(\045d)h(bytes)g(AVP:)f(`\045s'\\n",)g(*newlen,)g(*new\);)245 -1614 y(gnutls_ia_permute_inner_se)o(cret)41 b(\(session,)k(3,)i -("foo"\);)245 1833 y(return)g(0;)150 2052 y(})150 2271 -y(int)150 2381 y(main)g(\(void\))150 2491 y({)245 2600 -y(int)g(ret,)g(sd,)g(ii;)245 2710 y(gnutls_session_t)d(session;)245 -2819 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 2929 y -(gnutls_anon_client_credent)o(ials)o(_t)41 b(anoncred;)245 -3039 y(gnutls_ia_client_credentia)o(ls_t)g(iacred;)245 -3148 y(/*)48 b(Need)e(to)h(enable)g(anonymous)e(KX)i(specifically.)92 -b(*/)245 3367 y(gnutls_global_init)43 b(\(\);)245 3587 -y(gnutls_anon_allocate_clien)o(t_cr)o(ede)o(ntia)o(ls)f(\(&anoncred\);) -245 3696 y(gnutls_ia_allocate_client_)o(cred)o(ent)o(ials)f -(\(&iacred\);)245 3915 y(/*)48 b(Set)f(TLS/IA)f(stuff)293 -4025 y(*/)245 4134 y(gnutls_ia_set_client_avp_f)o(unct)o(ion)41 -b(\(iacred,)46 b(client_avp\);)245 4354 y(/*)i(Initialize)d(TLS)i -(session)293 4463 y(*/)245 4573 y(gnutls_init)e(\(&session,)g -(GNUTLS_CLIENT\);)245 4792 y(/*)j(Use)f(default)e(priorities)g(*/)245 -4902 y(gnutls_priority_set_direct)c(\(session,)k("NORMAL:+ANON-DH",)e -(NULL\);)245 5121 y(/*)48 b(put)f(the)f(anonymous)g(and)h(TLS/IA)f -(credentials)e(to)k(the)f(current)e(session)293 5230 -y(*/)245 5340 y(gnutls_credentials_set)d(\(session,)j(GNUTLS_CRD_ANON,) -f(anoncred\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(62)341 299 y Ft(})245 518 y(gnutls_record_send)43 +b(\(session,)j(MSG,)g(strlen)g(\(MSG\)\);)245 737 y(ret)h(=)h +(gnutls_record_recv)43 b(\(session,)i(buffer,)h(MAX_BUF\);)245 +847 y(if)i(\(gnutls_error_is_fatal)41 b(\(ret\))47 b(==)g(1)g(||)h(ret) +e(==)i(0\))341 956 y({)436 1066 y(if)g(\(ret)e(==)h(0\))532 +1176 y({)627 1285 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h(GNUTLS) +f(connection\\n"\);)627 1395 y(goto)h(end;)532 1504 y(})436 +1614 y(else)532 1724 y({)627 1833 y(fprintf)f(\(stderr,)g("***)g +(Error:)g(\045s\\n",)g(gnutls_strerror)e(\(ret\)\);)627 +1943 y(goto)j(end;)532 2052 y(})341 2162 y(})245 2271 +y(else)341 2381 y(check_alert)e(\(session,)g(ret\);)245 +2600 y(if)j(\(ret)e(>)i(0\))341 2710 y({)436 2819 y(printf)e(\("-)h +(Received)f(\045d)h(bytes:)f(",)h(ret\);)436 2929 y(for)g(\(ii)g(=)h +(0;)f(ii)g(<)g(ret;)g(ii++\))532 3039 y({)627 3148 y(fputc)g +(\(buffer[ii],)d(stdout\);)532 3258 y(})436 3367 y(fputs)j(\("\\n",)f +(stdout\);)341 3477 y(})245 3587 y(gnutls_bye)f(\(session,)h +(GNUTLS_SHUT_RDWR\);)150 3806 y(end:)245 4025 y(tcp_close)g(\(sd\);)245 +4244 y(gnutls_deinit)f(\(session\);)245 4463 y +(gnutls_srp_free_client_cre)o(dent)o(ial)o(s)d(\(srp_cred\);)245 +4573 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)g(\(cert_cred\);) +245 4792 y(gnutls_global_deinit)h(\(\);)245 5011 y(return)k(0;)150 +5121 y(})p eop end %%Page: 63 69 TeXDict begin 63 68 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(63)245 299 y Fs(gnutls_credentials_set)42 b(\(session,)j -(GNUTLS_CRD_IA,)f(iacred\);)245 518 y(/*)k(connect)d(to)j(the)f(peer) -293 628 y(*/)245 737 y(sd)h(=)f(tcp_connect)e(\(\);)245 -956 y(gnutls_transport_set_ptr)d(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)245 1176 y(/*)48 -b(Perform)d(the)i(TLS)g(handshake)293 1285 y(*/)245 1395 -y(ret)g(=)h(gnutls_handshake)43 b(\(session\);)245 1614 -y(if)48 b(\(ret)e(<)i(0\))341 1724 y({)436 1833 y(fprintf)e(\(stderr,)g -("***)g(Handshake)g(failed\\n"\);)436 1943 y(gnutls_perror)f(\(ret\);) -436 2052 y(goto)i(end;)341 2162 y(})245 2271 y(else)341 -2381 y({)436 2491 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);) -341 2600 y(})245 2819 y(if)h(\(!gnutls_ia_handshake_p)41 -b(\(session\)\))341 2929 y({)436 3039 y(fprintf)46 b(\(stderr,)g("***)g -(TLS/IA)g(not)h(negotiated...\\n"\);)436 3148 y(goto)g(end;)341 -3258 y(})245 3367 y(else)341 3477 y({)436 3587 y(printf)f(\("-)h -(Starting)f(TLS/IA)g(handshake...\\n"\);)436 3806 y(ret)h(=)h -(gnutls_ia_handshake)42 b(\(session\);)436 4025 y(if)48 -b(\(ret)e(<)i(0\))532 4134 y({)627 4244 y(fprintf)e(\(stderr,)g("***)g -(TLS/IA)g(handshake)g(failed\\n"\);)627 4354 y(gnutls_perror)e -(\(ret\);)627 4463 y(goto)j(end;)532 4573 y(})436 4682 -y(else)532 4792 y({)627 4902 y(printf)f(\("-)h(TLS/IA)f(Handshake)g -(was)h(completed\\n"\);)532 5011 y(})341 5121 y(})p eop -end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(63)150 299 y Fv(7.3.8)63 b(Simple)41 b(Clien)m(t)g(Example)f +(with)h FB(TLS/IA)f Fv(Supp)s(ort)150 446 y FB(The)26 +b(follo)m(wing)i(clien)m(t)g(is)e(a)h(simple)f(clien)m(t)i(whic)m(h)f +(uses)f(the)g Fu(TLS/IA)g FB(extension)h(to)g(authen)m(ticate)i(with) +150 555 y(the)i(serv)m(er.)150 737 y Ft(/*)47 b(Copyright)e(2007)i +(Free)g(Software)e(Foundation)198 847 y(*)198 956 y(*)i(Copying)f(and)h +(distribution)d(of)k(this)e(file,)h(with)f(or)h(without)f +(modification,)198 1066 y(*)h(are)g(permitted)e(in)j(any)e(medium)h +(without)e(royalty)h(provided)g(the)h(copyright)198 1176 +y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +1285 y(*/)150 1504 y(#if)g(HAVE_CONFIG_H)150 1614 y(#)g(include)f +()150 1724 y(#endif)150 1943 y(#include)g()150 +2052 y(#include)g()150 2162 y(#include)g()150 +2271 y(#include)g()150 2381 y(#include)g() +150 2491 y(#include)g()150 2600 y(#include)g() +150 2710 y(#include)g()150 2819 y(#include)g +()150 3039 y(/*)h(A)h(basic)e(TLS)h(client,)f(with)g +(anonymous)g(authentication)e(and)i(TLS/IA)h(handshake.)198 +3148 y(*/)150 3367 y(#define)f(MAX_BUF)g(1024)150 3477 +y(#define)g(SA)h(struct)f(sockaddr)150 3587 y(#define)g(MSG)h("GET)f(/) +i(HTTP/1.0\\r\\n\\r\\n")150 3806 y(extern)e(int)h(tcp_connect)e +(\(void\);)150 3915 y(extern)h(void)h(tcp_close)e(\(int)i(sd\);)150 +4134 y(int)150 4244 y(client_avp)e(\(gnutls_session_t)e(session,)j +(void)g(*ptr,)675 4354 y(const)g(char)h(*last,)f(size_t)g(lastlen,)675 +4463 y(char)h(**new,)f(size_t)g(*newlen\))150 4573 y({)245 +4792 y(if)i(\(last\))341 4902 y(printf)e(\("-)h(received)e(\045d)j +(bytes)e(AVP:)h(`\045.*s'\\n",)723 5011 y(lastlen,)e(lastlen,)h +(last\);)245 5121 y(else)341 5230 y(printf)g(\("-)h(new)g(application)e +(phase\\n"\);)p eop end %%Page: 64 70 TeXDict begin 64 69 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(64)245 299 y Fs(gnutls_record_send)43 b(\(session,)j(MSG,)g(strlen)g -(\(MSG\)\);)245 518 y(ret)h(=)h(gnutls_record_recv)43 -b(\(session,)i(buffer,)h(MAX_BUF\);)245 628 y(if)i(\(ret)e(==)h(0\))341 -737 y({)436 847 y(printf)f(\("-)h(Peer)g(has)g(closed)f(the)h(TLS)g -(connection\\n"\);)436 956 y(goto)g(end;)341 1066 y(})245 -1176 y(else)g(if)g(\(ret)g(<)g(0\))341 1285 y({)436 1395 -y(fprintf)f(\(stderr,)g("***)g(Error:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)436 1504 y(goto)j(end;)341 -1614 y(})245 1833 y(printf)g(\("-)f(Received)g(\045d)h(bytes:)94 -b(",)47 b(ret\);)245 1943 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e -(ii++\))341 2052 y({)436 2162 y(fputc)h(\(buffer[ii],)d(stdout\);)341 -2271 y(})245 2381 y(fputs)j(\("\\n",)f(stdout\);)245 -2600 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 -2819 y(end:)245 3039 y(tcp_close)g(\(sd\);)245 3258 y(gnutls_deinit)f -(\(session\);)245 3477 y(gnutls_ia_free_client_cred)o(enti)o(als)c -(\(iacred\);)245 3587 y(gnutls_anon_free_client_cr)o(eden)o(tia)o(ls)h -(\(anoncred\);)245 3806 y(gnutls_global_deinit)h(\(\);)245 -4025 y(return)k(0;)150 4134 y(})150 4367 y Fu(7.3.9)63 -b(Simple)41 b(Clien)m(t)g(Example)f(using)i(the)f(C)p -Fi(++)g Fu(API)150 4514 y FB(The)30 b(follo)m(wing)i(clien)m(t)g(is)e -(a)h(simple)f(example)h(of)g(a)g(clien)m(t)g(clien)m(t)h(utilizing)g -(the)f(Gn)m(uTLS)e(C)p Fs(++)g FB(API.)150 4682 y Fs(#include)46 -b()150 4792 y(#include)g()150 4902 -y(#include)g()150 5011 y(#include)g -()150 5121 y(#include)g()f(/*)i(for)g -(strlen)f(*/)150 5340 y(/*)h(A)h(very)e(basic)h(TLS)g(client,)e(with)i -(anonymous)e(authentication.)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(64)245 299 y Ft(*new)47 b(=)h(gnutls_strdup)c(\("client)h +(avp"\);)245 408 y(if)j(\(!*new\))341 518 y(return)e(-1;)245 +628 y(*newlen)g(=)i(strlen)e(\(*new\);)245 847 y(printf)h(\("-)f +(sending)g(\045d)h(bytes)g(AVP:)f(`\045s'\\n",)g(*newlen,)g(*new\);)245 +1066 y(gnutls_ia_permute_inner_se)o(cret)41 b(\(session,)k(3,)i +("foo"\);)245 1285 y(return)g(0;)150 1504 y(})150 1724 +y(int)150 1833 y(main)g(\(void\))150 1943 y({)245 2052 +y(int)g(ret,)g(sd,)g(ii;)245 2162 y(gnutls_session_t)d(session;)245 +2271 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 2381 y +(gnutls_anon_client_credent)o(ials)o(_t)41 b(anoncred;)245 +2491 y(gnutls_ia_client_credentia)o(ls_t)g(iacred;)245 +2600 y(/*)48 b(Need)e(to)h(enable)g(anonymous)e(KX)i(specifically.)d +(*/)245 2819 y(gnutls_global_init)f(\(\);)245 3039 y +(gnutls_anon_allocate_clien)o(t_cr)o(ede)o(ntia)o(ls)f(\(&anoncred\);) +245 3148 y(gnutls_ia_allocate_client_)o(cred)o(ent)o(ials)f +(\(&iacred\);)245 3367 y(/*)48 b(Set)f(TLS/IA)f(stuff)293 +3477 y(*/)245 3587 y(gnutls_ia_set_client_avp_f)o(unct)o(ion)41 +b(\(iacred,)46 b(client_avp\);)245 3806 y(/*)i(Initialize)d(TLS)i +(session)293 3915 y(*/)245 4025 y(gnutls_init)e(\(&session,)g +(GNUTLS_CLIENT\);)245 4244 y(/*)j(Use)f(default)e(priorities)g(*/)245 +4354 y(gnutls_priority_set_direct)c(\(session,)k("NORMAL:+ANON-DH",)e +(NULL\);)245 4573 y(/*)48 b(put)f(the)f(anonymous)g(and)h(TLS/IA)f +(credentials)e(to)k(the)f(current)e(session)293 4682 +y(*/)245 4792 y(gnutls_credentials_set)d(\(session,)j(GNUTLS_CRD_ANON,) +f(anoncred\);)245 4902 y(gnutls_credentials_set)e(\(session,)j +(GNUTLS_CRD_IA,)f(iacred\);)245 5121 y(/*)k(connect)d(to)j(the)f(peer) +293 5230 y(*/)245 5340 y(sd)h(=)f(tcp_connect)e(\(\);)p +eop end %%Page: 65 71 TeXDict begin 65 70 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(65)198 299 y Fs(*)47 b(written)f(by)h(Eduardo)f(Villanueva)f(Che.)198 -408 y(*/)150 628 y(#define)h(MAX_BUF)g(1024)150 737 y(#define)g(SA)h -(struct)f(sockaddr)150 956 y(#define)g(CAFILE)g("ca.pem")150 -1066 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n")150 -1285 y(extern)e("C")150 1395 y({)341 1504 y(int)h(tcp_connect\(void\);) -341 1614 y(void)g(tcp_close\(int)d(sd\);)150 1724 y(})150 -2052 y(int)j(main\(void\))150 2162 y({)341 2271 y(int)g(sd)g(=)g(-1;) -341 2381 y(gnutls_global_init\(\);)341 2600 y(try)341 -2710 y({)532 2929 y(/*)g(Allow)f(connections)f(to)i(servers)f(that)h -(have)f(OpenPGP)g(keys)h(as)g(well.)580 3039 y(*/)532 -3148 y(gnutls::client_session)42 b(session;)532 3367 -y(/*)47 b(X509)g(stuff)f(*/)532 3477 y(gnutls::certificate_cred)o(ent)o -(ials)41 b(credentials;)532 3806 y(/*)47 b(sets)g(the)g(trusted)e(cas)i -(file)580 3915 y(*/)532 4025 y(credentials.set_x509_tru)o(st_)o(file)o -(\(CAF)o(ILE)o(,)42 b(GNUTLS_X509_FMT_PEM\);)532 4134 -y(/*)47 b(put)g(the)g(x509)f(credentials)f(to)i(the)g(current)f +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(65)245 408 y Ft(gnutls_transport_set_ptr)42 b(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)245 628 y(/*)48 b(Perform)d(the)i +(TLS)g(handshake)293 737 y(*/)245 847 y(ret)g(=)h(gnutls_handshake)43 +b(\(session\);)245 1066 y(if)48 b(\(ret)e(<)i(0\))341 +1176 y({)436 1285 y(fprintf)e(\(stderr,)g("***)g(Handshake)g +(failed\\n"\);)436 1395 y(gnutls_perror)f(\(ret\);)436 +1504 y(goto)i(end;)341 1614 y(})245 1724 y(else)341 1833 +y({)436 1943 y(printf)f(\("-)h(Handshake)f(was)h(completed\\n"\);)341 +2052 y(})245 2271 y(if)h(\(!gnutls_ia_handshake_p)41 +b(\(session\)\))341 2381 y({)436 2491 y(fprintf)46 b(\(stderr,)g("***)g +(TLS/IA)g(not)h(negotiated...\\n"\);)436 2600 y(goto)g(end;)341 +2710 y(})245 2819 y(else)341 2929 y({)436 3039 y(printf)f(\("-)h +(Starting)f(TLS/IA)g(handshake...\\n"\);)436 3258 y(ret)h(=)h +(gnutls_ia_handshake)42 b(\(session\);)436 3477 y(if)48 +b(\(ret)e(<)i(0\))532 3587 y({)627 3696 y(fprintf)e(\(stderr,)g("***)g +(TLS/IA)g(handshake)g(failed\\n"\);)627 3806 y(gnutls_perror)e +(\(ret\);)627 3915 y(goto)j(end;)532 4025 y(})436 4134 +y(else)532 4244 y({)627 4354 y(printf)f(\("-)h(TLS/IA)f(Handshake)g +(was)h(completed\\n"\);)532 4463 y(})341 4573 y(})245 +4902 y(gnutls_record_send)c(\(session,)j(MSG,)g(strlen)g(\(MSG\)\);)245 +5121 y(ret)h(=)h(gnutls_record_recv)43 b(\(session,)i(buffer,)h +(MAX_BUF\);)245 5230 y(if)i(\(ret)e(==)h(0\))341 5340 +y({)p eop end +%%Page: 66 72 +TeXDict begin 66 71 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(66)436 299 y Ft(printf)46 b(\("-)h(Peer)g(has)g(closed)f(the)h +(TLS)g(connection\\n"\);)436 408 y(goto)g(end;)341 518 +y(})245 628 y(else)g(if)g(\(ret)g(<)g(0\))341 737 y({)436 +847 y(fprintf)f(\(stderr,)g("***)g(Error:)g(\045s\\n",)h +(gnutls_strerror)c(\(ret\)\);)436 956 y(goto)k(end;)341 +1066 y(})245 1285 y(printf)g(\("-)f(Received)g(\045d)h(bytes:)f(",)h +(ret\);)245 1395 y(for)g(\(ii)g(=)h(0;)f(ii)g(<)h(ret;)e(ii++\))341 +1504 y({)436 1614 y(fputc)h(\(buffer[ii],)d(stdout\);)341 +1724 y(})245 1833 y(fputs)j(\("\\n",)f(stdout\);)245 +2052 y(gnutls_bye)f(\(session,)h(GNUTLS_SHUT_RDWR\);)150 +2271 y(end:)245 2491 y(tcp_close)g(\(sd\);)245 2710 y(gnutls_deinit)f +(\(session\);)245 2929 y(gnutls_ia_free_client_cred)o(enti)o(als)c +(\(iacred\);)245 3039 y(gnutls_anon_free_client_cr)o(eden)o(tia)o(ls)h +(\(anoncred\);)245 3258 y(gnutls_global_deinit)h(\(\);)245 +3477 y(return)k(0;)150 3587 y(})150 3819 y Fv(7.3.9)63 +b(Simple)41 b(Clien)m(t)g(Example)f(using)i(the)f FB(C)p +Ft(++)f Fv(API)150 3966 y FB(The)30 b(follo)m(wing)i(clien)m(t)g(is)e +(a)h(simple)f(example)h(of)g(a)g(clien)m(t)g(clien)m(t)h(utilizing)g +(the)f(Gn)m(uTLS)e Fu(C)p Fi(++)g FB(API.)150 4134 y +Ft(#if)47 b(HAVE_CONFIG_H)150 4244 y(#)g(include)f()150 +4354 y(#else)150 4463 y(#endif)150 4573 y(#include)g()150 +4682 y(#include)g()150 4792 y(#include)g() +150 4902 y(#include)g()150 5121 y(#include)g +()f(/*)i(for)g(strlen)f(*/)150 5340 y(/*)h(A)h(very)e(basic)h +(TLS)g(client,)e(with)i(anonymous)e(authentication.)p +eop end +%%Page: 67 73 +TeXDict begin 67 72 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(67)198 299 y Ft(*)47 b(written)f(by)h(Eduardo)f(Villanueva)f +(Che.)198 408 y(*/)150 628 y(#define)h(MAX_BUF)g(1024)150 +737 y(#define)g(SA)h(struct)f(sockaddr)150 956 y(#define)g(CAFILE)g +("ca.pem")150 1066 y(#define)g(MSG)h("GET)f(/)i(HTTP/1.0\\r\\n\\r\\n") +150 1285 y(extern)e("C")150 1395 y({)341 1504 y(int)h +(tcp_connect\(void\);)341 1614 y(void)g(tcp_close\(int)d(sd\);)150 +1724 y(})150 2052 y(int)j(main\(void\))150 2162 y({)341 +2271 y(int)g(sd)g(=)g(-1;)341 2381 y(gnutls_global_init\(\);)341 +2600 y(try)341 2710 y({)532 2929 y(/*)g(Allow)f(connections)f(to)i +(servers)f(that)h(have)f(OpenPGP)g(keys)h(as)g(well.)580 +3039 y(*/)532 3148 y(gnutls::client_session)42 b(session;)532 +3367 y(/*)47 b(X509)g(stuff)f(*/)532 3477 y(gnutls::certificate_cred)o +(ent)o(ials)41 b(credentials;)532 3806 y(/*)47 b(sets)g(the)g(trusted)e +(cas)i(file)580 3915 y(*/)532 4025 y(credentials.set_x509_tru)o(st_)o +(file)o(\(CAF)o(ILE)o(,)42 b(GNUTLS_X509_FMT_PEM\);)532 +4134 y(/*)47 b(put)g(the)g(x509)f(credentials)f(to)i(the)g(current)f (session)580 4244 y(*/)532 4354 y(session.set_credentials\()o(cre)o (dent)o(ials)o(\);)532 4573 y(/*)h(Use)g(default)f(priorities)f(*/)532 4682 y(session.set_priority)d(\("NORMAL",)j(NULL\);)532 @@ -19489,10 +15822,10 @@ 5121 y(sd)g(=)g(tcp_connect\(\);)532 5230 y(session.set_transport_pt)o (r\(\()o(gnut)o(ls_t)o(ran)o(spor)o(t_pt)o(r_t)o(\))42 b(sd\);)p eop end -%%Page: 66 72 -TeXDict begin 66 71 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(Gn)n(uTLS)f FB(in)g(Applications) -1582 b(66)532 299 y Fs(/*)47 b(Perform)f(the)h(TLS)g(handshake)580 +%%Page: 68 74 +TeXDict begin 68 73 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(68)532 299 y Ft(/*)47 b(Perform)f(the)h(TLS)g(handshake)580 408 y(*/)532 518 y(int)g(ret)g(=)g(session.handshake\(\);)532 628 y(if)g(\(ret)g(<)g(0\))532 737 y({)150 847 y(//)620 b(gnutls_perror\(ret\);)723 956 y(throw)46 b @@ -19511,343 +15844,557 @@ 3148 y(std::cout.write\(buffer,)41 b(ret\);)532 3258 y(std::cout)k(<<)i(std::endl;)532 3477 y(session.bye\(GNUTLS_SHUT_)o (RDW)o(R\);)341 3587 y(})341 3696 y(catch)f(\(std::exception)e(&ex\)) -341 3806 y({)532 3915 y(std::cerr)h(<<)i("Exception)e(caught:)94 -b(")47 b(<<)g(ex.what\(\))f(<<)h(std::endl;)341 4025 -y(})341 4244 y(if)g(\(sd)g(!=)g(-1\))532 4354 y(tcp_close\(sd\);)341 +341 3806 y({)532 3915 y(std::cerr)h(<<)i("Exception)e(caught:)h(")i(<<) +f(ex.what\(\))e(<<)i(std::endl;)341 4025 y(})341 4244 +y(if)g(\(sd)g(!=)g(-1\))532 4354 y(tcp_close\(sd\);)341 4573 y(gnutls_global_deinit\(\);)341 4792 y(return)f(0;)150 4902 y(})p eop end -%%Page: 67 73 -TeXDict begin 67 72 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(67)150 299 y Fu(7.3.10)63 b(Help)s(er)42 b(F)-10 b(unction)41 -b(for)h(TCP)e(Connections)150 446 y FB(This)28 b(help)s(er)h(function)g -(abstracts)h(a)m(w)m(a)m(y)h(TCP)d(connection)j(handling)d(from)h(the)g -(other)h(examples.)41 b(It)150 555 y(is)30 b(required)g(to)h(build)e -(some)i(examples.)150 737 y Fs(/*)47 b(This)g(example)f(code)g(is)h -(placed)g(in)g(the)g(public)f(domain.)93 b(*/)150 956 -y(#ifdef)46 b(HAVE_CONFIG_H)150 1066 y(#)h(include)f()150 -1176 y(#endif)150 1395 y(#include)g()150 1504 -y(#include)g()150 1614 y(#include)g()150 -1724 y(#include)g()150 1833 y(#include)g() -150 1943 y(#include)g()150 2052 y(#include)g -()150 2162 y(#include)g()150 -2381 y(#define)g(SA)h(struct)f(sockaddr)150 2600 y(/*)h(tcp.c)g(*/)150 -2710 y(int)g(tcp_connect)e(\(void\);)150 2819 y(void)i(tcp_close)e -(\(int)i(sd\);)150 3039 y(/*)g(Connects)f(to)h(the)g(peer)f(and)h -(returns)f(a)i(socket)198 3148 y(*)f(descriptor.)198 -3258 y(*/)150 3367 y(extern)f(int)150 3477 y(tcp_connect)f(\(void\))150 -3587 y({)245 3696 y(const)i(char)f(*PORT)h(=)g("5556";)245 -3806 y(const)g(char)f(*SERVER)g(=)i("127.0.0.1";)245 -3915 y(int)f(err,)g(sd;)245 4025 y(struct)g(sockaddr_in)d(sa;)245 -4244 y(/*)k(connects)d(to)i(server)293 4354 y(*/)245 -4463 y(sd)h(=)f(socket)f(\(AF_INET,)f(SOCK_STREAM,)g(0\);)245 -4682 y(memset)i(\(&sa,)f('\\0',)g(sizeof)g(\(sa\)\);)245 -4792 y(sa.sin_family)f(=)i(AF_INET;)245 4902 y(sa.sin_port)e(=)j(htons) -e(\(atoi)g(\(PORT\)\);)245 5011 y(inet_pton)g(\(AF_INET,)f(SERVER,)h -(&sa.sin_addr\);)245 5230 y(err)h(=)h(connect)e(\(sd,)g(\(SA)h(*\))g(&) -h(sa,)f(sizeof)f(\(sa\)\);)245 5340 y(if)i(\(err)e(<)i(0\))p -eop end -%%Page: 68 74 -TeXDict begin 68 73 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(68)341 299 y Fs({)436 408 y(fprintf)46 b(\(stderr,)g("Connect)f -(error\\n"\);)436 518 y(exit)i(\(1\);)341 628 y(})245 -847 y(return)g(sd;)150 956 y(})150 1176 y(/*)g(closes)f(the)h(given)g -(socket)f(descriptor.)198 1285 y(*/)150 1395 y(extern)g(void)150 -1504 y(tcp_close)f(\(int)i(sd\))150 1614 y({)245 1724 -y(shutdown)f(\(sd,)h(SHUT_RDWR\);)235 b(/*)47 b(no)h(more)e(receptions) -f(*/)245 1833 y(close)i(\(sd\);)150 1943 y(})150 2177 -y FA(7.4)68 b(Serv)l(er)45 b(Examples)150 2336 y FB(This)30 -b(section)h(con)m(tains)h(examples)f(of)f Ft(TLS)g FB(and)g -Ft(SSL)h FB(serv)m(ers,)f(using)g Ft(Gn)n(uTLS)p FB(.)150 -2537 y Fu(7.4.1)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h -Fn(X.509)h Fu(Authen)m(tication)150 2684 y FB(This)34 -b(example)h(is)f(a)h(v)m(ery)f(simple)h(ec)m(ho)g(serv)m(er)g(whic)m(h) -f(supp)s(orts)e Ft(X.509)h FB(authen)m(tication,)38 b(using)c(the)150 -2793 y(RSA)c(ciphersuites.)150 2929 y Fs(/*)47 b(This)g(example)f(code) -g(is)h(placed)g(in)g(the)g(public)f(domain.)93 b(*/)150 -3148 y(#ifdef)46 b(HAVE_CONFIG_H)150 3258 y(#)h(include)f() -150 3367 y(#endif)150 3587 y(#include)g()150 -3696 y(#include)g()150 3806 y(#include)g()150 -3915 y(#include)g()150 4025 y(#include)g() -150 4134 y(#include)g()150 4244 y(#include)g -()150 4354 y(#include)g()150 -4463 y(#include)g()150 4573 y(#include)g() -150 4682 y(#include)g()617 b(/*)47 b(for)g(gcry_control)e(*/) -150 4902 y(#define)h(KEYFILE)g("key.pem")150 5011 y(#define)g(CERTFILE) -f("cert.pem")150 5121 y(#define)h(CAFILE)g("ca.pem")150 -5230 y(#define)g(CRLFILE)g("crl.pem")p eop end %%Page: 69 75 TeXDict begin 69 74 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(69)150 299 y Fs(/*)47 b(This)g(is)g(a)g(sample)g(TLS)f(1.0)h(echo)g -(server,)f(using)g(X.509)h(authentication.)198 408 y(*/)150 -737 y(#define)f(SA)h(struct)f(sockaddr)150 847 y(#define)g -(SOCKET_ERR\(err,s\))d(if\(err==-1\))i({perror\(s\);return\(1\);})150 -956 y(#define)h(MAX_BUF)g(1024)150 1066 y(#define)g(PORT)g(5556)715 -b(/*)47 b(listen)g(to)g(5556)f(port)h(*/)150 1176 y(#define)f(DH_BITS)g -(1024)150 1395 y(/*)h(These)g(are)f(global)h(*/)150 1504 -y(gnutls_certificate_crede)o(ntia)o(ls_t)41 b(x509_cred;)150 -1614 y(gnutls_priority_t)i(priority_cache;)150 1833 y(static)j -(gnutls_session_t)150 1943 y(initialize_tls_session)c(\(void\))150 -2052 y({)245 2162 y(gnutls_session_t)i(session;)245 2381 -y(gnutls_init)h(\(&session,)g(GNUTLS_SERVER\);)245 2600 -y(gnutls_priority_set)e(\(session,)i(priority_cache\);)245 -2819 y(gnutls_credentials_set)d(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d -(x509_cred\);)245 3039 y(/*)48 b(request)d(client)i(certificate)d(if)j -(any.)293 3148 y(*/)245 3258 y(gnutls_certificate_server_)o(set_)o(req) -o(uest)41 b(\(session,)k(GNUTLS_CERT_REQUEST\);)245 3477 -y(/*)j(Set)f(maximum)e(compatibility)g(mode.)94 b(This)46 -b(is)h(only)g(suggested)e(on)j(public)e(webservers)293 -3587 y(*)i(that)e(need)h(to)g(trade)f(security)g(for)h(compatibility) -293 3696 y(*/)245 3806 y(gnutls_session_enable_comp)o(atib)o(ili)o -(ty_m)o(ode)41 b(\(session\);)245 4025 y(return)47 b(session;)150 -4134 y(})150 4354 y(static)f(gnutls_dh_params_t)d(dh_params;)150 -4573 y(static)j(int)150 4682 y(generate_dh_params)d(\(void\))150 -4792 y({)245 5011 y(/*)48 b(Generate)d(Diffie-Hellman)f(parameters)h(-) -j(for)e(use)h(with)g(DHE)293 5121 y(*)h(kx)f(algorithms.)92 -b(When)47 b(short)f(bit)h(length)f(is)h(used,)g(it)g(might)293 -5230 y(*)h(be)f(wise)f(to)i(regenerate)d(parameters.)293 -5340 y(*)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(69)150 299 y Fv(7.3.10)63 b(Help)s(er)42 b(F)-10 +b(unction)41 b(for)h(TCP)e(Connections)150 446 y FB(This)28 +b(help)s(er)h(function)g(abstracts)h(a)m(w)m(a)m(y)h(TCP)d(connection)j +(handling)d(from)h(the)g(other)h(examples.)41 b(It)150 +555 y(is)30 b(required)g(to)h(build)e(some)i(examples.)150 +737 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +847 y(*)198 956 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e(file,) +h(with)f(or)h(without)f(modification,)198 1066 y(*)h(are)g(permitted)e +(in)j(any)e(medium)h(without)e(royalty)h(provided)g(the)h(copyright)198 +1176 y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +1285 y(*/)150 1504 y(#if)g(HAVE_CONFIG_H)150 1614 y(#)g(include)f +()150 1724 y(#endif)150 1943 y(#include)g()150 +2052 y(#include)g()150 2162 y(#include)g()150 +2271 y(#include)g()150 2381 y(#include)g() +150 2491 y(#include)g()150 2600 y(#include)g +()150 2710 y(#include)g()150 +2929 y(#define)g(SA)h(struct)f(sockaddr)150 3148 y(/*)h(Connects)f(to)h +(the)g(peer)f(and)h(returns)f(a)i(socket)198 3258 y(*)f(descriptor.)198 +3367 y(*/)150 3477 y(extern)f(int)150 3587 y(tcp_connect)f(\(void\))150 +3696 y({)245 3806 y(const)i(char)f(*PORT)h(=)g("5556";)245 +3915 y(const)g(char)f(*SERVER)g(=)i("127.0.0.1";)245 +4025 y(int)f(err,)g(sd;)245 4134 y(struct)g(sockaddr_in)d(sa;)245 +4354 y(/*)k(connects)d(to)i(server)293 4463 y(*/)245 +4573 y(sd)h(=)f(socket)f(\(AF_INET,)f(SOCK_STREAM,)g(0\);)245 +4792 y(memset)i(\(&sa,)f('\\0',)g(sizeof)g(\(sa\)\);)245 +4902 y(sa.sin_family)f(=)i(AF_INET;)245 5011 y(sa.sin_port)e(=)j(htons) +e(\(atoi)g(\(PORT\)\);)245 5121 y(inet_pton)g(\(AF_INET,)f(SERVER,)h +(&sa.sin_addr\);)245 5340 y(err)h(=)h(connect)e(\(sd,)g(\(SA)h(*\))g(&) +h(sa,)f(sizeof)f(\(sa\)\);)p eop end %%Page: 70 76 TeXDict begin 70 75 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(70)293 299 y Fs(*)48 b(Check)e(the)h(ex-serv-export.c)c(example)j -(for)h(using)f(static)293 408 y(*)i(parameters.)293 518 -y(*/)245 628 y(gnutls_dh_params_init)42 b(\(&dh_params\);)245 -737 y(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)245 -956 y(return)i(0;)150 1066 y(})150 1285 y(int)150 1395 -y(main)g(\(void\))150 1504 y({)245 1614 y(int)g(err,)g(listen_sd;)245 -1724 y(int)g(sd,)g(ret;)245 1833 y(struct)g(sockaddr_in)d(sa_serv;)245 -1943 y(struct)j(sockaddr_in)d(sa_cli;)245 2052 y(int)j(client_len;)245 -2162 y(char)g(topbuf[512];)245 2271 y(gnutls_session_t)d(session;)245 -2381 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 2491 y(int)g(optval)f(=)i -(1;)245 2710 y(/*)g(to)f(disallow)e(usage)i(of)g(the)g(blocking)e -(/dev/random)293 2819 y(*/)245 2929 y(gcry_control)g -(\(GCRYCTL_ENABLE_QUICK_RA)o(NDOM)o(,)d(0\);)245 3148 -y(/*)48 b(this)e(must)h(be)g(called)f(once)h(in)g(the)g(program)293 -3258 y(*/)245 3367 y(gnutls_global_init)c(\(\);)245 3587 -y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)f -(\(&x509_cred\);)245 3696 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o -(_fil)o(e)g(\(x509_cred,)j(CAFILE,)2155 3806 y(GNUTLS_X509_FMT_PEM\);) -245 4025 y(gnutls_certificate_set_x50)o(9_cr)o(l_f)o(ile)c -(\(x509_cred,)k(CRLFILE,)2059 4134 y(GNUTLS_X509_FMT_PEM\);)245 -4354 y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c(\(x509_cred,)k -(CERTFILE,)g(KEYFILE,)2059 4463 y(GNUTLS_X509_FMT_PEM\);)245 -4682 y(generate_dh_params)e(\(\);)245 4902 y(gnutls_priority_init)g -(\(&priority_cache,)g("NORMAL",)i(NULL\);)245 5230 y -(gnutls_certificate_set_dh_)o(para)o(ms)c(\(x509_cred,)k(dh_params\);)p +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(70)245 299 y Ft(if)48 b(\(err)e(<)i(0\))341 408 +y({)436 518 y(fprintf)e(\(stderr,)g("Connect)f(error\\n"\);)436 +628 y(exit)i(\(1\);)341 737 y(})245 956 y(return)g(sd;)150 +1066 y(})150 1285 y(/*)g(closes)f(the)h(given)g(socket)f(descriptor.) +198 1395 y(*/)150 1504 y(extern)g(void)150 1614 y(tcp_close)f(\(int)i +(sd\))150 1724 y({)245 1833 y(shutdown)f(\(sd,)h(SHUT_RDWR\);)235 +b(/*)47 b(no)h(more)e(receptions)f(*/)245 1943 y(close)i(\(sd\);)150 +2052 y(})150 2287 y FA(7.4)68 b(Serv)l(er)45 b(Examples)150 +2446 y FB(This)30 b(section)h(con)m(tains)h(examples)f(of)f +Fu(TLS)g FB(and)g Fu(SSL)h FB(serv)m(ers,)f(using)g Fu(Gn)n(uTLS)p +FB(.)150 2646 y Fv(7.4.1)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h +FB(X.509)i Fv(Authen)m(tication)150 2793 y FB(This)34 +b(example)h(is)f(a)h(v)m(ery)f(simple)h(ec)m(ho)g(serv)m(er)g(whic)m(h) +f(supp)s(orts)e Fu(X.509)h FB(authen)m(tication,)38 b(using)c(the)150 +2903 y(RSA)c(ciphersuites.)150 3039 y Ft(/*)47 b(Copyright)e(2007)i +(Free)g(Software)e(Foundation)198 3148 y(*)198 3258 y(*)i(Copying)f +(and)h(distribution)d(of)k(this)e(file,)h(with)f(or)h(without)f +(modification,)198 3367 y(*)h(are)g(permitted)e(in)j(any)e(medium)h +(without)e(royalty)h(provided)g(the)h(copyright)198 3477 +y(*)g(notice)f(and)h(this)g(notice)f(are)h(preserved.)198 +3587 y(*/)150 3806 y(#if)g(HAVE_CONFIG_H)150 3915 y(#)g(include)f +()150 4025 y(#endif)150 4244 y(#include)g()150 +4354 y(#include)g()150 4463 y(#include)g()150 +4573 y(#include)g()150 4682 y(#include)g() +150 4792 y(#include)g()150 4902 y(#include)g +()150 5011 y(#include)g()150 +5121 y(#include)g()150 5230 y(#include)g() +150 5340 y(#include)g()f(/*)i(for)g(gcry_control)d(*/)p eop end %%Page: 71 77 TeXDict begin 71 76 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(71)245 299 y Fs(/*)48 b(Socket)e(operations)293 408 -y(*/)245 518 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g(SOCK_STREAM,)e -(0\);)245 628 y(SOCKET_ERR)h(\(listen_sd,)g("socket"\);)245 -847 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g(\(sa_serv\)\);)245 -956 y(sa_serv.sin_family)d(=)48 b(AF_INET;)245 1066 y -(sa_serv.sin_addr.s_addr)42 b(=)47 b(INADDR_ANY;)245 -1176 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 b(/*)47 -b(Server)f(Port)h(number)f(*/)245 1395 y(setsockopt)f(\(listen_sd,)g -(SOL_SOCKET,)g(SO_REUSEADDR,)f(\(void)i(*\))i(&optval,)d(sizeof)h -(\(int\)\);)245 1614 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h -(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 1724 y(SOCKET_ERR)f(\(err,)i -("bind"\);)245 1833 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 -1943 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 2162 y(printf)g(\("Server) -e(ready.)94 b(Listening)45 b(to)i(port)g('\045d'.\\n\\n",)e(PORT\);)245 -2381 y(client_len)g(=)j(sizeof)e(\(sa_cli\);)245 2491 -y(for)h(\(;;\))341 2600 y({)436 2710 y(session)f(=)i -(initialize_tls_session)41 b(\(\);)436 2929 y(sd)48 b(=)f(accept)f -(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 -3148 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) -818 3258 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 -3367 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 -3587 y(gnutls_transport_set_ptr)42 b(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)436 3696 y(ret)47 -b(=)h(gnutls_handshake)43 b(\(session\);)436 3806 y(if)48 -b(\(ret)e(<)i(0\))532 3915 y({)627 4025 y(close)f(\(sd\);)627 -4134 y(gnutls_deinit)d(\(session\);)627 4244 y(fprintf)i(\(stderr,)g -("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 -4354 y(gnutls_strerror)c(\(ret\)\);)627 4463 y(continue;)532 -4573 y(})436 4682 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) -436 4902 y(/*)h(see)e(the)h(Getting)f(peer's)g(information)f(example)h -(*/)436 5011 y(/*)i(print_info\(session\);)42 b(*/)436 -5230 y(for)47 b(\(;;\))532 5340 y({)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(71)150 408 y Ft(#define)46 b(KEYFILE)g("key.pem")150 +518 y(#define)g(CERTFILE)f("cert.pem")150 628 y(#define)h(CAFILE)g +("ca.pem")150 737 y(#define)g(CRLFILE)g("crl.pem")150 +956 y(/*)h(This)g(is)g(a)g(sample)g(TLS)f(1.0)h(echo)g(server,)f(using) +g(X.509)h(authentication.)198 1066 y(*/)150 1395 y(#define)f(SA)h +(struct)f(sockaddr)150 1504 y(#define)g(SOCKET_ERR\(err,s\))d +(if\(err==-1\))i({perror\(s\);return\(1\);})150 1614 +y(#define)h(MAX_BUF)g(1024)150 1724 y(#define)g(PORT)g(5556)715 +b(/*)47 b(listen)g(to)g(5556)f(port)h(*/)150 1833 y(#define)f(DH_BITS)g +(1024)150 2052 y(/*)h(These)g(are)f(global)h(*/)150 2162 +y(gnutls_certificate_crede)o(ntia)o(ls_t)41 b(x509_cred;)150 +2271 y(gnutls_priority_t)i(priority_cache;)150 2491 y(gnutls_session_t) +150 2600 y(initialize_tls_session)f(\(void\))150 2710 +y({)245 2819 y(gnutls_session_t)i(session;)245 3039 y(gnutls_init)h +(\(&session,)g(GNUTLS_SERVER\);)245 3258 y(gnutls_priority_set)e +(\(session,)i(priority_cache\);)245 3477 y(gnutls_credentials_set)d +(\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(x509_cred\);)245 +3696 y(/*)48 b(request)d(client)i(certificate)d(if)j(any.)293 +3806 y(*/)245 3915 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 +b(\(session,)k(GNUTLS_CERT_REQUEST\);)245 4134 y(/*)j(Set)f(maximum)e +(compatibility)g(mode.)h(This)h(is)g(only)f(suggested)g(on)h(public)f +(webservers)293 4244 y(*)i(that)e(need)h(to)g(trade)f(security)g(for)h +(compatibility)293 4354 y(*/)245 4463 y(gnutls_session_enable_comp)o +(atib)o(ili)o(ty_m)o(ode\()41 b(session\);)245 4682 y(return)47 +b(session;)150 4792 y(})150 5011 y(static)f(gnutls_dh_params_t)d +(dh_params;)150 5230 y(static)j(int)150 5340 y(generate_dh_params)d +(\(void\))p eop end %%Page: 72 78 TeXDict begin 72 77 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(72)627 299 y Fs(memset)46 b(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 -408 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g -(MAX_BUF\);)627 628 y(if)h(\(ret)g(==)g(0\))723 737 y({)818 -847 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f -(connection\\n"\);)818 956 y(break;)723 1066 y(})627 -1176 y(else)h(if)g(\(ret)g(<)g(0\))723 1285 y({)818 1395 -y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 -1504 y("data\(\045d\).)92 b(Closing)46 b(the)h(connection.\\n\\n",)c -(ret\);)818 1614 y(break;)723 1724 y(})627 1833 y(else)k(if)g(\(ret)g -(>)g(0\))723 1943 y({)818 2052 y(/*)g(echo)g(data)g(back)f(to)h(the)g -(client)866 2162 y(*/)818 2271 y(gnutls_record_send)c(\(session,)i -(buffer,)h(strlen)g(\(buffer\)\);)723 2381 y(})532 2491 -y(})436 2600 y(printf)g(\("\\n"\);)436 2710 y(/*)i(do)f(not)g(wait)f -(for)h(the)g(peer)g(to)g(close)f(the)h(connection.)484 -2819 y(*/)436 2929 y(gnutls_bye)e(\(session,)h(GNUTLS_SHUT_WR\);)436 -3148 y(close)h(\(sd\);)436 3258 y(gnutls_deinit)e(\(session\);)341 -3477 y(})245 3587 y(close)i(\(listen_sd\);)245 3806 y -(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)42 b(\(x509_cred\);)245 -3915 y(gnutls_priority_deinit)g(\(priority_cache\);)245 -4134 y(gnutls_global_deinit)h(\(\);)245 4354 y(return)k(0;)150 -4573 y(})150 4806 y Fu(7.4.2)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h -Fn(X.509)h Fu(Authen)m(tication)e(I)s(I)150 4953 y FB(The)23 -b(follo)m(wing)h(example)g(is)f(a)h(serv)m(er)f(whic)m(h)g(supp)s(orts) -e Ft(X.509)h FB(authen)m(tication.)40 b(This)22 b(serv)m(er)i(supp)s -(orts)150 5062 y(the)31 b(exp)s(ort-grade)f(cipher)g(suites,)h(the)g -(DHE)g(ciphersuites)f(and)g(session)g(resuming.)150 5230 -y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g(public)f -(domain.)93 b(*/)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(72)150 299 y Ft({)245 518 y(/*)48 b(Generate)d(Diffie)h(Hellman) +g(parameters)f(-)j(for)e(use)h(with)g(DHE)293 628 y(*)h(kx)f +(algorithms.)e(When)h(short)h(bit)f(length)h(is)g(used,)f(it)h(might) +293 737 y(*)h(be)f(wise)f(to)i(regenerate)d(parameters.)293 +847 y(*)293 956 y(*)j(Check)e(the)h(ex-serv-export.c)c(example)j(for)h +(using)f(static)293 1066 y(*)i(parameters.)293 1176 y(*/)245 +1285 y(gnutls_dh_params_init)42 b(\(&dh_params\);)245 +1395 y(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)245 +1614 y(return)i(0;)150 1724 y(})150 1943 y(int)150 2052 +y(main)g(\(void\))150 2162 y({)245 2271 y(int)g(err,)g(listen_sd,)e(i;) +245 2381 y(int)i(sd,)g(ret;)245 2491 y(struct)g(sockaddr_in)d(sa_serv;) +245 2600 y(struct)j(sockaddr_in)d(sa_cli;)245 2710 y(int)j(client_len;) +245 2819 y(char)g(topbuf[512];)245 2929 y(gnutls_session_t)d(session;) +245 3039 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3148 y(int)g(optval)f(=) +i(1;)245 3367 y(/*)g(to)f(disallow)e(usage)i(of)g(the)g(blocking)e +(/dev/random)293 3477 y(*/)245 3587 y(gcry_control)g +(\(GCRYCTL_ENABLE_QUICK_RA)o(NDOM)o(,)d(0\);)245 3806 +y(/*)48 b(this)e(must)h(be)g(called)f(once)h(in)g(the)g(program)293 +3915 y(*/)245 4025 y(gnutls_global_init)c(\(\);)245 4244 +y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)f +(\(&x509_cred\);)245 4354 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o +(_fil)o(e)g(\(x509_cred,)j(CAFILE,)2155 4463 y(GNUTLS_X509_FMT_PEM\);) +245 4682 y(gnutls_certificate_set_x50)o(9_cr)o(l_f)o(ile)c +(\(x509_cred,)k(CRLFILE,)2059 4792 y(GNUTLS_X509_FMT_PEM\);)245 +5011 y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c(\(x509_cred,)k +(CERTFILE,)g(KEYFILE,)2059 5121 y(GNUTLS_X509_FMT_PEM\);)245 +5340 y(generate_dh_params)e(\(\);)p eop end %%Page: 73 79 TeXDict begin 73 78 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(73)150 299 y Fs(#ifdef)46 b(HAVE_CONFIG_H)150 408 y(#)h(include)f -()150 518 y(#endif)150 737 y(#include)g()150 -847 y(#include)g()150 956 y(#include)g()150 -1066 y(#include)g()150 1176 y(#include)g() -150 1285 y(#include)g()150 1395 y(#include)g -()150 1504 y(#include)g()150 -1614 y(#include)g()150 1724 y(#include)g() -150 1833 y(#include)g()617 b(/*)47 b(for)g(gcry_control)e(*/) -150 2052 y(#define)h(KEYFILE)g("key.pem")150 2162 y(#define)g(CERTFILE) -f("cert.pem")150 2271 y(#define)h(CAFILE)g("ca.pem")150 -2381 y(#define)g(CRLFILE)g("crl.pem")150 2600 y(/*)h(This)g(is)g(a)g -(sample)g(TLS)f(1.0)h(echo)g(server.)198 2710 y(*)g(Export-grade)e -(ciphersuites)f(and)j(session)f(resuming)f(are)i(supported.)198 -2819 y(*/)150 3039 y(#define)f(SA)h(struct)f(sockaddr)150 -3148 y(#define)g(SOCKET_ERR\(err,s\))d(if\(err==-1\))i -({perror\(s\);return\(1\);})150 3258 y(#define)h(MAX_BUF)g(1024)150 -3367 y(#define)g(PORT)g(5556)715 b(/*)47 b(listen)g(to)g(5556)f(port)h -(*/)150 3477 y(#define)f(DH_BITS)g(1024)150 3696 y(/*)h(These)g(are)f -(global)h(*/)150 3806 y(gnutls_certificate_crede)o(ntia)o(ls_t)41 -b(cert_cred;)150 4025 y(static)46 b(void)h(wrap_db_init)d(\(void\);)150 -4134 y(static)i(void)h(wrap_db_deinit)d(\(void\);)150 -4244 y(static)i(int)h(wrap_db_store)d(\(void)j(*dbf,)f(gnutls_datum_t)e -(key,)i(gnutls_datum_t)e(data\);)150 4354 y(static)i(gnutls_datum_t)e -(wrap_db_fetch)g(\(void)j(*dbf,)f(gnutls_datum_t)e(key\);)150 -4463 y(static)i(int)h(wrap_db_delete)d(\(void)i(*dbf,)h(gnutls_datum_t) -d(key\);)150 4682 y(#define)i(TLS_SESSION_CACHE)d(50)150 -4902 y(static)j(gnutls_session_t)150 5011 y(initialize_tls_session)c -(\(void\))150 5121 y({)245 5230 y(gnutls_session_t)i(session;)p -eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(73)245 408 y Ft(gnutls_priority_init\()42 b(&priority_cache,)i +("NORMAL",)h(NULL\);)245 737 y(gnutls_certificate_set_dh_)o(para)o(ms)c +(\(x509_cred,)k(dh_params\);)245 956 y(/*)j(Socket)e(operations)293 +1066 y(*/)245 1176 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g +(SOCK_STREAM,)e(0\);)245 1285 y(SOCKET_ERR)h(\(listen_sd,)g +("socket"\);)245 1504 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g +(\(sa_serv\)\);)245 1614 y(sa_serv.sin_family)d(=)48 +b(AF_INET;)245 1724 y(sa_serv.sin_addr.s_addr)42 b(=)47 +b(INADDR_ANY;)245 1833 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 +b(/*)47 b(Server)f(Port)h(number)f(*/)245 2052 y(setsockopt)f +(\(listen_sd,)g(SOL_SOCKET,)g(SO_REUSEADDR,)f(&optval,)i(sizeof)g +(\(int\)\);)245 2271 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h +(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 2381 y(SOCKET_ERR)f(\(err,)i +("bind"\);)245 2491 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 +2600 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 2819 y(printf)g(\("Server) +e(ready.)h(Listening)f(to)j(port)e('\045d'.\\n\\n",)f(PORT\);)245 +3039 y(client_len)g(=)j(sizeof)e(\(sa_cli\);)245 3148 +y(for)h(\(;;\))341 3258 y({)436 3367 y(session)f(=)i +(initialize_tls_session)41 b(\(\);)436 3587 y(sd)48 b(=)f(accept)f +(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 +3806 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) +818 3915 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 +4025 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 +4244 y(gnutls_transport_set_ptr)42 b(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)436 4354 y(ret)47 +b(=)h(gnutls_handshake)43 b(\(session\);)436 4463 y(if)48 +b(\(ret)e(<)i(0\))532 4573 y({)627 4682 y(close)f(\(sd\);)627 +4792 y(gnutls_deinit)d(\(session\);)627 4902 y(fprintf)i(\(stderr,)g +("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 +5011 y(gnutls_strerror)c(\(ret\)\);)627 5121 y(continue;)532 +5230 y(})436 5340 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) +p eop end %%Page: 74 80 TeXDict begin 74 79 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(74)245 299 y Fs(gnutls_init)45 b(\(&session,)g(GNUTLS_SERVER\);)245 -518 y(/*)j(Use)f(the)f(default)g(priorities,)f(plus,)h(export)g(cipher) -h(suites.)293 628 y(*/)245 737 y(gnutls_priority_set_direct)41 -b(\(session,)k("EXPORT",)h(NULL\);)245 956 y(gnutls_credentials_set)c +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(74)436 408 y Ft(/*)48 b(see)e(the)h(Getting)f(peer's)g +(information)f(example)h(*/)436 518 y(/*)i(print_info\(session\);)42 +b(*/)436 737 y(i)48 b(=)f(0;)436 847 y(for)g(\(;;\))532 +956 y({)627 1066 y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 +1176 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g +(MAX_BUF\);)627 1395 y(if)h(\(ret)g(==)g(0\))723 1504 +y({)818 1614 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f +(connection\\n"\);)818 1724 y(break;)723 1833 y(})627 +1943 y(else)h(if)g(\(ret)g(<)g(0\))723 2052 y({)818 2162 +y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 +2271 y("data\(\045d\).)g(Closing)h(the)g(connection.\\n\\n",)e(ret\);) +818 2381 y(break;)723 2491 y(})627 2600 y(else)j(if)g(\(ret)g(>)g(0\)) +723 2710 y({)818 2819 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 +2929 y(*/)818 3039 y(gnutls_record_send)c(\(session,)i(buffer,)h +(strlen)g(\(buffer\)\);)723 3148 y(})532 3258 y(})436 +3367 y(printf)g(\("\\n"\);)436 3477 y(/*)i(do)f(not)g(wait)f(for)h(the) +g(peer)g(to)g(close)f(the)h(connection.)484 3587 y(*/)436 +3696 y(gnutls_bye)e(\(session,)h(GNUTLS_SHUT_WR\);)436 +3915 y(close)h(\(sd\);)436 4025 y(gnutls_deinit)e(\(session\);)341 +4244 y(})245 4354 y(close)i(\(listen_sd\);)245 4573 y +(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)42 b(\(x509_cred\);)245 +4682 y(gnutls_priority_deinit\(pri)o(orit)o(y_c)o(ache)o(\);)245 +4902 y(gnutls_global_deinit)h(\(\);)245 5121 y(return)k(0;)150 +5340 y(})p eop end +%%Page: 75 81 +TeXDict begin 75 80 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(75)150 299 y Fv(7.4.2)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h +FB(X.509)i Fv(Authen)m(tication)d(I)s(I)150 446 y FB(The)23 +b(follo)m(wing)h(example)g(is)f(a)h(serv)m(er)f(whic)m(h)g(supp)s(orts) +e Fu(X.509)h FB(authen)m(tication.)40 b(This)22 b(serv)m(er)i(supp)s +(orts)150 555 y(the)31 b(exp)s(ort-grade)f(cipher)g(suites,)h(the)g +(DHE)g(ciphersuites)f(and)g(session)g(resuming.)150 737 +y Ft(/*)47 b(Copyright)e(2007,)i(2008)f(Free)h(Software)f(Foundation) +198 847 y(*)198 956 y(*)h(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 1066 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 1176 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 1285 y(*/)150 1504 y(#if)g +(HAVE_CONFIG_H)150 1614 y(#)g(include)f()150 +1724 y(#endif)150 1943 y(#include)g()150 2052 +y(#include)g()150 2162 y(#include)g()150 +2271 y(#include)g()150 2381 y(#include)g() +150 2491 y(#include)g()150 2600 y(#include)g +()150 2710 y(#include)g()150 +2819 y(#include)g()150 2929 y(#include)g() +150 3039 y(#include)g()f(/*)i(for)g(gcry_control)d(*/)150 +3258 y(#define)i(KEYFILE)g("key.pem")150 3367 y(#define)g(CERTFILE)f +("cert.pem")150 3477 y(#define)h(CAFILE)g("ca.pem")150 +3587 y(#define)g(CRLFILE)g("crl.pem")150 3806 y(/*)h(This)g(is)g(a)g +(sample)g(TLS)f(1.0)h(echo)g(server.)198 3915 y(*)g(Export-grade)e +(ciphersuites)f(and)j(session)f(resuming)f(are)i(supported.)198 +4025 y(*/)150 4244 y(#define)f(SA)h(struct)f(sockaddr)150 +4354 y(#define)g(SOCKET_ERR\(err,s\))d(if\(err==-1\))i +({perror\(s\);return\(1\);})150 4463 y(#define)h(MAX_BUF)g(1024)150 +4573 y(#define)g(PORT)g(5556)715 b(/*)47 b(listen)g(to)g(5556)f(port)h +(*/)150 4682 y(#define)f(DH_BITS)g(1024)150 4902 y(/*)h(These)g(are)f +(global)h(*/)150 5011 y(gnutls_certificate_crede)o(ntia)o(ls_t)41 +b(cert_cred;)150 5230 y(static)46 b(void)h(wrap_db_init)d(\(void\);)150 +5340 y(static)i(void)h(wrap_db_deinit)d(\(void\);)p eop +end +%%Page: 76 82 +TeXDict begin 76 81 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(76)150 299 y Ft(static)46 b(int)h(wrap_db_store)d(\(void)j +(*dbf,)f(gnutls_datum_t)e(key,)i(gnutls_datum_t)e(data\);)150 +408 y(static)i(gnutls_datum_t)e(wrap_db_fetch)g(\(void)j(*dbf,)f +(gnutls_datum_t)e(key\);)150 518 y(static)i(int)h(wrap_db_delete)d +(\(void)i(*dbf,)h(gnutls_datum_t)d(key\);)150 737 y(#define)i +(TLS_SESSION_CACHE)d(50)150 956 y(gnutls_session_t)150 +1066 y(initialize_tls_session)f(\(void\))150 1176 y({)245 +1285 y(gnutls_session_t)i(session;)245 1504 y(gnutls_init)h +(\(&session,)g(GNUTLS_SERVER\);)245 1724 y(/*)j(Use)f(the)f(default)g +(priorities,)f(plus,)h(export)g(cipher)h(suites.)293 +1833 y(*/)245 1943 y(gnutls_priority_set_direct)o(\()42 +b(session,)j("EXPORT",)h(NULL\);)245 2162 y(gnutls_credentials_set)c (\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(cert_cred\);)245 -1176 y(/*)48 b(request)d(client)i(certificate)d(if)j(any.)293 -1285 y(*/)245 1395 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 -b(\(session,)k(GNUTLS_CERT_REQUEST\);)245 1614 y +2381 y(/*)48 b(request)d(client)i(certificate)d(if)j(any.)293 +2491 y(*/)245 2600 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 +b(\(session,)k(GNUTLS_CERT_REQUEST\);)245 2819 y (gnutls_dh_set_prime_bits)d(\(session,)j(DH_BITS\);)245 -1833 y(if)j(\(TLS_SESSION_CACHE)42 b(!=)48 b(0\))341 -1943 y({)436 2052 y(gnutls_db_set_retrieve_fun)o(cti)o(on)42 -b(\(session,)j(wrap_db_fetch\);)436 2162 y(gnutls_db_set_remove_funct)o -(ion)c(\(session,)k(wrap_db_delete\);)436 2271 y +3039 y(if)j(\(TLS_SESSION_CACHE)42 b(!=)48 b(0\))341 +3148 y({)436 3258 y(gnutls_db_set_retrieve_fun)o(cti)o(on)42 +b(\(session,)j(wrap_db_fetch\);)436 3367 y(gnutls_db_set_remove_funct)o +(ion)c(\(session,)k(wrap_db_delete\);)436 3477 y (gnutls_db_set_store_functi)o(on)c(\(session,)46 b(wrap_db_store\);)436 -2381 y(gnutls_db_set_ptr)d(\(session,)j(NULL\);)341 2491 -y(})245 2710 y(return)h(session;)150 2819 y(})150 3039 -y(gnutls_dh_params_t)c(dh_params;)150 3148 y(/*)k(Export-grade)e -(cipher)h(suites)g(require)g(temporary)f(RSA)198 3258 -y(*)i(keys.)198 3367 y(*/)150 3477 y(gnutls_rsa_params_t)c(rsa_params;) -150 3696 y(static)j(char)h(srp_dh_group2048[])c(=)245 -3806 y("-----BEGIN)i(DH)i(PARAMETERS-----\\n")245 3915 +3587 y(gnutls_db_set_ptr)d(\(session,)j(NULL\);)341 3696 +y(})245 3915 y(return)h(session;)150 4025 y(})150 4244 +y(gnutls_dh_params_t)c(dh_params;)150 4354 y(/*)k(Export-grade)e +(cipher)h(suites)g(require)g(temporary)f(RSA)198 4463 +y(*)i(keys.)198 4573 y(*/)150 4682 y(gnutls_rsa_params_t)c(rsa_params;) +150 4902 y(static)j(char)h(srp_dh_group2048[])c(=)245 +5011 y("-----BEGIN)i(DH)i(PARAMETERS-----\\n")245 5121 y("MIIBBwKCAQCsa9tBMkqam/Fm3)o(l4Ti)o(Vgv)o(r3K2)o(ZRmH)o(7gf)o(8MZK)o -(UPbV)o(gUK)o(NzKc)o(u0oJ)o(nt\\)o(n")245 4025 y +(UPbV)o(gUK)o(NzKc)o(u0oJ)o(nt\\)o(n")245 5230 y ("gZPgdXdnoT3VIxKrSwMxDc1/S)o(KnaB)o(P1Q)o(6Ag5)o(ae23)o(Z7D)o(PYJU)o -(XmhY)o(6s2)o(YaBf)o(vV+q)o(ro\\)o(n")245 4134 y +(XmhY)o(6s2)o(YaBf)o(vV+q)o(ro\\)o(n")245 5340 y ("KRipli8Lk7hV+XmT7Jde6qgNd)o(Arb9)o(P90)o(c1nQ)o(QdXD)o(Pqc)o(dKB5)o -(EaxR)o(3O8)o(qXtD)o(oj+4)o(AW\\)o(n")245 4244 y -("dr0gekNsZIHx0rkHhxdGGludM)o(uaI+)o(HdI)o(VEUj)o(tSSw)o(1X1)o(ep3o)o -(nddL)o(s+g)o(Ms+9)o(v1L7)o(N4\\)o(n")245 4354 y -("YWAnkATleuavh05zA85TKZzMB)o(Bx7w)o(wjY)o(KlaY)o(86jQ)o(w4J)o(xrjX)o -(46dv)o(7tp)o(S1yA)o(PYn3)o(rk\\)o(n")245 4463 y -("Nd4jbVJfVHWbZeNy/NaO8g+nE)o(R+eS)o(v9z)o(AgEC)o(\\n")41 -b("-----END)46 b(DH)h(PARAMETERS-----\\n";)150 4682 y(static)f(int)150 -4792 y(generate_dh_params)d(\(void\))150 4902 y({)245 -5011 y(gnutls_datum_t)h(dparams)i(=)i({)f(srp_dh_group2048,)c(sizeof)j -(\(srp_dh_group2048\))d(};)245 5121 y(/*)48 b(Here)e(instead)g(of)h -(generating)e(Diffie-Hellman)f(parameters)h(\(for)i(use)g(with)f(DHE) -293 5230 y(*)i(kx)f(algorithms\))e(we)i(import)f(them.)293 -5340 y(*/)p eop end -%%Page: 75 81 -TeXDict begin 75 80 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(75)245 299 y Fs(gnutls_dh_params_init)42 b(\(&dh_params\);)245 -408 y(gnutls_dh_params_import_pk)o(cs3)f(\(dh_params,)k(&dparams,)g -(GNUTLS_X509_FMT_PEM\);)245 628 y(return)i(0;)150 737 -y(})150 956 y(static)f(int)150 1066 y(generate_rsa_params)d(\(void\)) -150 1176 y({)245 1285 y(gnutls_rsa_params_init)f(\(&rsa_params\);)245 -1504 y(/*)48 b(Generate)d(RSA)i(parameters)e(-)j(for)e(use)h(with)g -(RSA-export)293 1614 y(*)h(cipher)e(suites.)93 b(This)47 -b(is)g(an)g(RSA)g(private)f(key)h(and)g(should)f(be)293 -1724 y(*)i(discarded)d(and)i(regenerated)e(once)h(a)i(day,)e(once)h -(every)f(500)293 1833 y(*)i(transactions)c(etc.)94 b(Depends)46 -b(on)h(the)g(security)f(requirements.)293 1943 y(*/)245 -2162 y(gnutls_rsa_params_generate)o(2)c(\(rsa_params,)i(512\);)245 -2381 y(return)j(0;)150 2491 y(})150 2710 y(int)150 2819 -y(main)g(\(void\))150 2929 y({)245 3039 y(int)g(err,)g(listen_sd;)245 -3148 y(int)g(sd,)g(ret;)245 3258 y(struct)g(sockaddr_in)d(sa_serv;)245 -3367 y(struct)j(sockaddr_in)d(sa_cli;)245 3477 y(int)j(client_len;)245 -3587 y(char)g(topbuf[512];)245 3696 y(gnutls_session_t)d(session;)245 -3806 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3915 y(int)g(optval)f(=)i -(1;)245 4025 y(char)f(name[256];)245 4244 y(strcpy)g(\(name,)f("Echo)g -(Server"\);)245 4463 y(/*)i(to)f(disallow)e(usage)i(of)g(the)g -(blocking)e(/dev/random)293 4573 y(*/)245 4682 y(gcry_control)g -(\(GCRYCTL_ENABLE_QUICK_RA)o(NDOM)o(,)d(0\);)245 4902 -y(/*)48 b(this)e(must)h(be)g(called)f(once)h(in)g(the)g(program)293 -5011 y(*/)245 5121 y(gnutls_global_init)c(\(\);)p eop -end -%%Page: 76 82 -TeXDict begin 76 81 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(76)245 299 y Fs(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls) -42 b(\(&cert_cred\);)245 518 y(gnutls_certificate_set_x50)o(9_tr)o(ust) -o(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 628 y(GNUTLS_X509_FMT_PEM\);) -245 847 y(gnutls_certificate_set_x50)o(9_cr)o(l_f)o(ile)c(\(cert_cred,) -k(CRLFILE,)2059 956 y(GNUTLS_X509_FMT_PEM\);)245 1176 -y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c(\(cert_cred,)k -(CERTFILE,)g(KEYFILE,)2059 1285 y(GNUTLS_X509_FMT_PEM\);)245 -1504 y(generate_dh_params)e(\(\);)245 1614 y(generate_rsa_params)g -(\(\);)245 1833 y(if)48 b(\(TLS_SESSION_CACHE)42 b(!=)48 -b(0\))341 1943 y({)436 2052 y(wrap_db_init)d(\(\);)341 -2162 y(})245 2381 y(gnutls_certificate_set_dh_)o(para)o(ms)c -(\(cert_cred,)k(dh_params\);)245 2491 y(gnutls_certificate_set_rsa)o +(EaxR)o(3O8)o(qXtD)o(oj+4)o(AW\\)o(n")p eop end +%%Page: 77 83 +TeXDict begin 77 82 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(77)245 299 y Ft("dr0gekNsZIHx0rkHhxdGGludM)o(uaI+)o(HdI)o(VEUj)o +(tSSw)o(1X1)o(ep3o)o(nddL)o(s+g)o(Ms+9)o(v1L7)o(N4\\)o(n")245 +408 y("YWAnkATleuavh05zA85TKZzMB)o(Bx7w)o(wjY)o(KlaY)o(86jQ)o(w4J)o +(xrjX)o(46dv)o(7tp)o(S1yA)o(PYn3)o(rk\\)o(n")245 518 +y("Nd4jbVJfVHWbZeNy/NaO8g+nE)o(R+eS)o(v9z)o(AgEC)o(\\n")245 +628 y("-----END)46 b(DH)h(PARAMETERS-----\\n";)150 847 +y(int)150 956 y(generate_dh_params)c(\(void\))150 1066 +y({)150 1176 y(gnutls_datum_t)h(dparams)i(=)h({)h(srp_dh_group2048,)43 +b(sizeof\()j(srp_dh_group2048\))d(};)245 1285 y(/*)48 +b(Here)e(instead)g(of)h(generating)e(Diffie)h(Hellman)g(parameters)f +(\(for)i(use)g(with)f(DHE)293 1395 y(*)i(kx)f(algorithms\))e(we)i +(import)f(them.)293 1504 y(*/)245 1614 y(gnutls_dh_params_init)c +(\(&dh_params\);)245 1724 y(gnutls_dh_params_import_pk)o(cs3)f +(\(dh_params,)k(&dparams,)g(GNUTLS_X509_FMT_PEM\);)245 +1943 y(return)i(0;)150 2052 y(})150 2271 y(static)f(int)150 +2381 y(generate_rsa_params)d(\(void\))150 2491 y({)245 +2600 y(gnutls_rsa_params_init)f(\(&rsa_params\);)245 +2819 y(/*)48 b(Generate)d(RSA)i(parameters)e(-)j(for)e(use)h(with)g +(RSA-export)293 2929 y(*)h(cipher)e(suites.)g(This)g(is)h(an)h(RSA)e +(private)g(key)h(and)g(should)f(be)293 3039 y(*)i(discarded)d(and)i +(regenerated)e(once)h(a)i(day,)e(once)h(every)f(500)293 +3148 y(*)i(transactions)c(etc.)j(Depends)f(on)h(the)g(security)e +(requirements.)293 3258 y(*/)245 3477 y(gnutls_rsa_params_generate)o(2) +d(\(rsa_params,)i(512\);)245 3696 y(return)j(0;)150 3806 +y(})150 4025 y(int)150 4134 y(main)g(\(void\))150 4244 +y({)245 4354 y(int)g(err,)g(listen_sd,)e(i;)245 4463 +y(int)i(sd,)g(ret;)245 4573 y(struct)g(sockaddr_in)d(sa_serv;)245 +4682 y(struct)j(sockaddr_in)d(sa_cli;)245 4792 y(int)j(client_len;)245 +4902 y(char)g(topbuf[512];)245 5011 y(gnutls_session_t)d(session;)245 +5121 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 5230 y(int)g(optval)f(=)i +(1;)245 5340 y(char)f(name[256];)p eop end +%%Page: 78 84 +TeXDict begin 78 83 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(78)245 408 y Ft(strcpy)47 b(\(name,)f("Echo)g(Server"\);)245 +628 y(/*)i(to)f(disallow)e(usage)i(of)g(the)g(blocking)e(/dev/random) +293 737 y(*/)245 847 y(gcry_control)g(\(GCRYCTL_ENABLE_QUICK_RA)o(NDOM) +o(,)d(0\);)245 1066 y(/*)48 b(this)e(must)h(be)g(called)f(once)h(in)g +(the)g(program)293 1176 y(*/)245 1285 y(gnutls_global_init)c(\(\);)245 +1614 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)f +(\(&cert_cred\);)245 1833 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o +(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 1943 y(GNUTLS_X509_FMT_PEM\);) +245 2162 y(gnutls_certificate_set_x50)o(9_cr)o(l_f)o(ile)c +(\(cert_cred,)k(CRLFILE,)2059 2271 y(GNUTLS_X509_FMT_PEM\);)245 +2491 y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c(\(cert_cred,)k +(CERTFILE,)g(KEYFILE,)2059 2600 y(GNUTLS_X509_FMT_PEM\);)245 +2819 y(generate_dh_params)e(\(\);)245 2929 y(generate_rsa_params)g +(\(\);)245 3148 y(if)48 b(\(TLS_SESSION_CACHE)42 b(!=)48 +b(0\))341 3258 y({)436 3367 y(wrap_db_init)d(\(\);)341 +3477 y(})245 3696 y(gnutls_certificate_set_dh_)o(para)o(ms)c +(\(cert_cred,)k(dh_params\);)245 3806 y(gnutls_certificate_set_rsa)o (_exp)o(ort)o(_par)o(ams)c(\(cert_cred,)k(rsa_params\);)245 -2710 y(/*)j(Socket)e(operations)293 2819 y(*/)245 2929 +4025 y(/*)j(Socket)e(operations)293 4134 y(*/)245 4244 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g(SOCK_STREAM,)e(0\);)245 -3039 y(SOCKET_ERR)h(\(listen_sd,)g("socket"\);)245 3258 +4354 y(SOCKET_ERR)h(\(listen_sd,)g("socket"\);)245 4573 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g(\(sa_serv\)\);)245 -3367 y(sa_serv.sin_family)d(=)48 b(AF_INET;)245 3477 +4682 y(sa_serv.sin_family)d(=)48 b(AF_INET;)245 4792 y(sa_serv.sin_addr.s_addr)42 b(=)47 b(INADDR_ANY;)245 -3587 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 b(/*)47 -b(Server)f(Port)h(number)f(*/)245 3806 y(setsockopt)f(\(listen_sd,)g -(SOL_SOCKET,)g(SO_REUSEADDR,)f(\(void)i(*\))i(&optval,)d(sizeof)h +4902 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 b(/*)47 +b(Server)f(Port)h(number)f(*/)245 5121 y(setsockopt)f(\(listen_sd,)g +(SOL_SOCKET,)g(SO_REUSEADDR,)f(&optval,)i(sizeof)g(\(int\)\);)245 +5340 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h(sa_serv,)d +(sizeof)h(\(sa_serv\)\);)p eop end +%%Page: 79 85 +TeXDict begin 79 84 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(79)245 299 y Ft(SOCKET_ERR)45 b(\(err,)i("bind"\);)245 +408 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 518 +y(SOCKET_ERR)g(\(err,)i("listen"\);)245 737 y(printf)g(\("\045s)f +(ready.)g(Listening)g(to)h(port)f('\045d'.\\n\\n",)f(name,)h(PORT\);) +245 956 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 1066 +y(for)h(\(;;\))341 1176 y({)436 1285 y(session)f(=)i +(initialize_tls_session)41 b(\(\);)436 1504 y(sd)48 b(=)f(accept)f +(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 +1724 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) +818 1833 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 +1943 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 +2162 y(gnutls_transport_set_ptr)42 b(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)436 2271 y(ret)47 +b(=)h(gnutls_handshake)43 b(\(session\);)436 2381 y(if)48 +b(\(ret)e(<)i(0\))532 2491 y({)627 2600 y(close)f(\(sd\);)627 +2710 y(gnutls_deinit)d(\(session\);)627 2819 y(fprintf)i(\(stderr,)g +("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 +2929 y(gnutls_strerror)c(\(ret\)\);)627 3039 y(continue;)532 +3148 y(})436 3258 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) +436 3477 y(/*)h(print_info\(session\);)42 b(*/)436 3696 +y(i)48 b(=)f(0;)436 3806 y(for)g(\(;;\))532 3915 y({)627 +4025 y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 +4134 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g +(MAX_BUF\);)627 4354 y(if)h(\(ret)g(==)g(0\))723 4463 +y({)818 4573 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(TLS)g +(connection\\n"\);)818 4682 y(break;)723 4792 y(})627 +4902 y(else)g(if)g(\(ret)g(<)g(0\))723 5011 y({)818 5121 +y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 +5230 y("data\(\045d\).)g(Closing)h(the)g(connection.\\n\\n",)e(ret\);) +818 5340 y(break;)p eop end +%%Page: 80 86 +TeXDict begin 80 85 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(80)723 299 y Ft(})627 408 y(else)47 b(if)g(\(ret)g(>)g(0\))723 +518 y({)818 628 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 +737 y(*/)818 847 y(gnutls_record_send)c(\(session,)i(buffer,)h(strlen)g +(\(buffer\)\);)723 956 y(})532 1066 y(})436 1176 y(printf)g(\("\\n"\);) +436 1285 y(/*)i(do)f(not)g(wait)f(for)h(the)g(peer)g(to)g(close)f(the)h +(connection.)484 1395 y(*/)436 1504 y(gnutls_bye)e(\(session,)h +(GNUTLS_SHUT_WR\);)436 1724 y(close)h(\(sd\);)436 1833 +y(gnutls_deinit)e(\(session\);)341 2052 y(})245 2162 +y(close)i(\(listen_sd\);)245 2381 y(if)h(\(TLS_SESSION_CACHE)42 +b(!=)48 b(0\))341 2491 y({)436 2600 y(wrap_db_deinit)c(\(\);)341 +2710 y(})245 2929 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)e +(\(cert_cred\);)245 3148 y(gnutls_global_deinit)h(\(\);)245 +3367 y(return)k(0;)150 3587 y(})150 3915 y(/*)g(Functions)e(and)i +(other)g(stuff)f(needed)g(for)h(session)f(resuming.)198 +4025 y(*)h(This)g(is)g(done)g(using)f(a)h(very)g(simple)f(list)h(which) +f(holds)h(session)e(ids)198 4134 y(*)i(and)g(session)f(data.)198 +4244 y(*/)150 4463 y(#define)g(MAX_SESSION_ID_SIZE)c(32)150 +4573 y(#define)k(MAX_SESSION_DATA_SIZE)c(512)150 4792 +y(typedef)k(struct)150 4902 y({)245 5011 y(char)h +(session_id[MAX_SESSION_ID)o(_SI)o(ZE];)245 5121 y(int)g +(session_id_size;)245 5340 y(char)g(session_data[MAX_SESSION_)o(DAT)o +(A_SI)o(ZE];)p eop end +%%Page: 81 87 +TeXDict begin 81 86 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(81)245 299 y Ft(int)47 b(session_data_size;)150 +408 y(})g(CACHE;)150 628 y(static)f(CACHE)g(*cache_db;)150 +737 y(static)g(int)h(cache_db_ptr)d(=)k(0;)150 956 y(static)e(void)150 +1066 y(wrap_db_init)e(\(void\))150 1176 y({)245 1395 +y(/*)k(allocate)d(cache_db)h(*/)245 1504 y(cache_db)g(=)h(calloc)g +(\(1,)f(TLS_SESSION_CACHE)e(*)j(sizeof)f(\(CACHE\)\);)150 +1614 y(})150 1833 y(static)g(void)150 1943 y(wrap_db_deinit)e(\(void\)) +150 2052 y({)245 2162 y(if)k(\(cache_db\))341 2271 y(free)f +(\(cache_db\);)245 2381 y(cache_db)f(=)h(NULL;)245 2491 +y(return;)150 2600 y(})150 2819 y(static)f(int)150 2929 +y(wrap_db_store)e(\(void)j(*dbf,)f(gnutls_datum_t)e(key,)i +(gnutls_datum_t)e(data\))150 3039 y({)245 3258 y(if)k(\(cache_db)d(==)i +(NULL\))341 3367 y(return)f(-1;)245 3587 y(if)i(\(key.size)d(>)i +(MAX_SESSION_ID_SIZE\))341 3696 y(return)f(-1;)245 3806 +y(if)i(\(data.size)d(>)i(MAX_SESSION_DATA_SIZE\))341 +3915 y(return)f(-1;)245 4134 y(memcpy)h(\(cache_db[cache_db_ptr])o(.se) +o(ssio)o(n_id)o(,)42 b(key.data,)j(key.size\);)245 4244 +y(cache_db[cache_db_ptr].ses)o(sion)o(_id)o(_siz)o(e)d(=)47 +b(key.size;)245 4463 y(memcpy)g(\(cache_db[cache_db_ptr])o(.se)o(ssio)o +(n_da)o(ta,)41 b(data.data,)k(data.size\);)245 4573 y +(cache_db[cache_db_ptr].ses)o(sion)o(_da)o(ta_s)o(ize)c(=)48 +b(data.size;)245 4792 y(cache_db_ptr++;)245 4902 y(cache_db_ptr)d +(\045=)i(TLS_SESSION_CACHE;)245 5121 y(return)g(0;)150 +5230 y(})p eop end +%%Page: 82 88 +TeXDict begin 82 87 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(82)150 299 y Ft(static)46 b(gnutls_datum_t)150 +408 y(wrap_db_fetch)e(\(void)j(*dbf,)f(gnutls_datum_t)e(key\))150 +518 y({)245 628 y(gnutls_datum_t)g(res)j(=)h({)f(NULL,)g(0)g(};)245 +737 y(int)g(i;)245 956 y(if)h(\(cache_db)d(==)i(NULL\))341 +1066 y(return)f(res;)245 1285 y(for)h(\(i)h(=)f(0;)g(i)h(<)f +(TLS_SESSION_CACHE;)c(i++\))341 1395 y({)436 1504 y(if)48 +b(\(key.size)d(==)i(cache_db[i].session_id_s)o(ize)41 +b(&&)627 1614 y(memcmp)46 b(\(key.data,)f(cache_db[i].session_id,)d +(key.size\))j(==)i(0\))532 1724 y({)627 2052 y(res.size)f(=)h +(cache_db[i].session_data_)o(size)o(;)627 2271 y(res.data)f(=)h +(gnutls_malloc)d(\(res.size\);)627 2381 y(if)j(\(res.data)f(==)h +(NULL\))723 2491 y(return)f(res;)627 2710 y(memcpy)g(\(res.data,)f +(cache_db[i].session_data,)c(res.size\);)627 2929 y(return)46 +b(res;)532 3039 y(})341 3148 y(})245 3258 y(return)h(res;)150 +3367 y(})150 3587 y(static)f(int)150 3696 y(wrap_db_delete)e(\(void)i +(*dbf,)h(gnutls_datum_t)d(key\))150 3806 y({)245 3915 +y(int)j(i;)245 4134 y(if)h(\(cache_db)d(==)i(NULL\))341 +4244 y(return)f(-1;)245 4463 y(for)h(\(i)h(=)f(0;)g(i)h(<)f +(TLS_SESSION_CACHE;)c(i++\))341 4573 y({)436 4682 y(if)48 +b(\(key.size)d(==)i(cache_db[i].session_id_s)o(ize)41 +b(&&)627 4792 y(memcmp)46 b(\(key.data,)f(cache_db[i].session_id,)d +(key.size\))j(==)i(0\))532 4902 y({)627 5121 y +(cache_db[i].session_id_si)o(ze)42 b(=)47 b(0;)627 5230 +y(cache_db[i].session_data_)o(size)41 b(=)48 b(0;)p eop +end +%%Page: 83 89 +TeXDict begin 83 88 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(83)627 299 y Ft(return)46 b(0;)532 408 y(})341 +518 y(})245 737 y(return)h(-1;)150 956 y(})150 1189 y +Fv(7.4.3)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h FB(Op)s(enPGP)f +Fv(Authen)m(tication)150 1336 y FB(The)31 b(follo)m(wing)i(example)g +(is)f(an)f(ec)m(ho)i(serv)m(er)f(whic)m(h)f(supp)s(orts)f +Fq(Op)r(enPGP)i FB(k)m(ey)h(authen)m(tication.)46 b(Y)-8 +b(ou)150 1446 y(can)32 b(easily)h(com)m(bine)f(this)g(functionalit)m(y) +h(|that)f(is)f(ha)m(v)m(e)i(a)f(serv)m(er)g(that)g(supp)s(orts)e(b)s +(oth)h Fu(X.509)g FB(and)150 1555 y Fu(Op)r(enPGP)23 +b FB(certi\014cates|)j(but)e(w)m(e)h(separated)f(them)h(to)g(k)m(eep)f +(these)h(examples)g(as)f(simple)h(as)f(p)s(ossible.)150 +1724 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +1833 y(*)198 1943 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 2052 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2162 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 2271 y(*/)150 2491 y(#if)g +(HAVE_CONFIG_H)150 2600 y(#)g(include)f()150 +2710 y(#endif)150 2929 y(#include)g()150 3039 +y(#include)g()150 3148 y(#include)g()150 +3258 y(#include)g()150 3367 y(#include)g() +150 3477 y(#include)g()150 3587 y(#include)g +()150 3696 y(#include)g()150 +3806 y(#include)g()150 3915 y(#include)g() +150 4025 y(#include)g()150 4244 y(#define)g(KEYFILE)g +("secret.asc")150 4354 y(#define)g(CERTFILE)f("public.asc")150 +4463 y(#define)h(RINGFILE)f("ring.gpg")150 4682 y(/*)i(This)g(is)g(a)g +(sample)g(TLS)f(1.0-OpenPGP)f(echo)i(server.)198 4792 +y(*/)150 5121 y(#define)f(SA)h(struct)f(sockaddr)150 +5230 y(#define)g(SOCKET_ERR\(err,s\))d(if\(err==-1\))i +({perror\(s\);return\(1\);})150 5340 y(#define)h(MAX_BUF)g(1024)p +eop end +%%Page: 84 90 +TeXDict begin 84 89 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(84)150 299 y Ft(#define)46 b(PORT)g(5556)715 b(/*)47 +b(listen)g(to)g(5556)f(port)h(*/)150 408 y(#define)f(DH_BITS)g(1024)150 +628 y(/*)h(These)g(are)f(global)h(*/)150 737 y +(gnutls_certificate_crede)o(ntia)o(ls_t)41 b(cred;)150 +847 y(gnutls_dh_params_t)i(dh_params;)150 1066 y(static)j(int)150 +1176 y(generate_dh_params)d(\(void\))150 1285 y({)245 +1504 y(/*)48 b(Generate)d(Diffie)h(Hellman)g(parameters)f(-)j(for)e +(use)h(with)g(DHE)293 1614 y(*)h(kx)f(algorithms.)e(These)h(should)g +(be)h(discarded)e(and)i(regenerated)293 1724 y(*)h(once)e(a)i(day,)e +(once)h(a)g(week)g(or)g(once)g(a)g(month.)f(Depending)g(on)h(the)293 +1833 y(*)h(security)d(requirements.)293 1943 y(*/)245 +2052 y(gnutls_dh_params_init)d(\(&dh_params\);)245 2162 +y(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)245 +2381 y(return)i(0;)150 2491 y(})150 2710 y(gnutls_session_t)150 +2819 y(initialize_tls_session)42 b(\(void\))150 2929 +y({)245 3039 y(gnutls_session_t)i(session;)245 3258 y(gnutls_init)h +(\(&session,)g(GNUTLS_SERVER\);)245 3477 y(gnutls_priority_set_direct)o +(\(ses)o(sio)o(n,)d("NORMAL",)j(NULL\);)245 3696 y(/*)j(request)d +(client)i(certificate)d(if)j(any.)293 3806 y(*/)245 3915 +y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 b(\(session,)k +(GNUTLS_CERT_REQUEST\);)245 4134 y(gnutls_dh_set_prime_bits)d +(\(session,)j(DH_BITS\);)245 4354 y(return)i(session;)150 +4463 y(})150 4682 y(int)150 4792 y(main)g(\(void\))150 +4902 y({)245 5011 y(int)g(err,)g(listen_sd,)e(i;)245 +5121 y(int)i(sd,)g(ret;)245 5230 y(struct)g(sockaddr_in)d(sa_serv;)245 +5340 y(struct)j(sockaddr_in)d(sa_cli;)p eop end +%%Page: 85 91 +TeXDict begin 85 90 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(85)245 299 y Ft(int)47 b(client_len;)245 408 y(char)g +(topbuf[512];)245 518 y(gnutls_session_t)d(session;)245 +628 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 737 y(int)g(optval)f(=)i(1;) +245 847 y(char)f(name[256];)245 1066 y(strcpy)g(\(name,)f("Echo)g +(Server"\);)245 1285 y(/*)i(this)e(must)h(be)g(called)f(once)h(in)g +(the)g(program)293 1395 y(*/)245 1504 y(gnutls_global_init)c(\(\);)245 +1724 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)f +(\(&cred\);)245 1833 y(gnutls_certificate_set_ope)o(npgp)o(_ke)o(yrin)o +(g_fi)o(le)f(\(cred,)47 b(RINGFILE,)e(GNUTLS_OPENPGP_FMT_BASE6)o(4\);) +245 2052 y(gnutls_certificate_set_ope)o(npgp)o(_ke)o(y_fi)o(le)d +(\(cred,)k(CERTFILE,)f(KEYFILE,)g(GNUTLS_OPENPGP_FMT_BASE64\))o(;)245 +2271 y(generate_dh_params)e(\(\);)245 2491 y +(gnutls_certificate_set_dh_)o(para)o(ms)e(\(cred,)47 +b(dh_params\);)245 2710 y(/*)h(Socket)e(operations)293 +2819 y(*/)245 2929 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g +(SOCK_STREAM,)e(0\);)245 3039 y(SOCKET_ERR)h(\(listen_sd,)g +("socket"\);)245 3258 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g +(\(sa_serv\)\);)245 3367 y(sa_serv.sin_family)d(=)48 +b(AF_INET;)245 3477 y(sa_serv.sin_addr.s_addr)42 b(=)47 +b(INADDR_ANY;)245 3587 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 +b(/*)47 b(Server)f(Port)h(number)f(*/)245 3806 y(setsockopt)f +(\(listen_sd,)g(SOL_SOCKET,)g(SO_REUSEADDR,)f(&optval,)i(sizeof)g (\(int\)\);)245 4025 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h (sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 4134 y(SOCKET_ERR)f(\(err,)i ("bind"\);)245 4244 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 4354 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 4573 y(printf)g(\("\045s)f -(ready.)94 b(Listening)45 b(to)i(port)g('\045d'.\\n\\n",)e(name,)h -(PORT\);)245 4792 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 +(ready.)g(Listening)g(to)h(port)f('\045d'.\\n\\n",)f(name,)h(PORT\);) +245 4792 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 4902 y(for)h(\(;;\))341 5011 y({)436 5121 y(session)f(=)i (initialize_tls_session)41 b(\(\);)436 5340 y(sd)48 b(=)f(accept)f (\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)p eop end -%%Page: 77 83 -TeXDict begin 77 82 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(77)436 408 y Fs(printf)46 b(\("-)h(connection)e(from)i(\045s,)g(port) -g(\045d\\n",)818 518 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d -(topbuf,)1343 628 y(sizeof)j(\(topbuf\)\),)f(ntohs)i -(\(sa_cli.sin_port\)\);)436 847 y(gnutls_transport_set_ptr)42 +%%Page: 86 92 +TeXDict begin 86 91 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(86)436 408 y Ft(printf)46 b(\("-)h(connection)e(from)i(\045s,)g +(port)g(\045d\\n",)818 518 y(inet_ntop)e(\(AF_INET,)h +(&sa_cli.sin_addr,)d(topbuf,)1343 628 y(sizeof)j(\(topbuf\)\),)f(ntohs) +i(\(sa_cli.sin_port\)\);)436 847 y(gnutls_transport_set_ptr)42 b(\(session,)j(\(gnutls_transport_ptr_t\))c(sd\);)436 956 y(ret)47 b(=)h(gnutls_handshake)43 b(\(session\);)436 1066 y(if)48 b(\(ret)e(<)i(0\))532 1176 y({)627 1285 @@ -19855,810 +16402,608 @@ 1504 y(fprintf)i(\(stderr,)g("***)g(Handshake)g(has)g(failed)h (\(\045s\)\\n\\n",)1057 1614 y(gnutls_strerror)c(\(ret\)\);)627 1724 y(continue;)532 1833 y(})436 1943 y(printf)j(\("-)h(Handshake)f -(was)h(completed\\n"\);)436 2162 y(/*)h(print_info\(session\);)42 -b(*/)436 2381 y(for)47 b(\(;;\))532 2491 y({)627 2600 -y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 2710 -y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g(MAX_BUF\);) -627 2929 y(if)h(\(ret)g(==)g(0\))723 3039 y({)818 3148 -y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(TLS)g -(connection\\n"\);)818 3258 y(break;)723 3367 y(})627 -3477 y(else)g(if)g(\(ret)g(<)g(0\))723 3587 y({)818 3696 +(was)h(completed\\n"\);)436 2162 y(/*)h(see)e(the)h(Getting)f(peer's)g +(information)f(example)h(*/)436 2271 y(/*)i(print_info\(session\);)42 +b(*/)436 2491 y(i)48 b(=)f(0;)436 2600 y(for)g(\(;;\))532 +2710 y({)627 2819 y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 +2929 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g +(MAX_BUF\);)627 3148 y(if)h(\(ret)g(==)g(0\))723 3258 +y({)818 3367 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f +(connection\\n"\);)818 3477 y(break;)723 3587 y(})627 +3696 y(else)h(if)g(\(ret)g(<)g(0\))723 3806 y({)818 3915 y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 -3806 y("data\(\045d\).)92 b(Closing)46 b(the)h(connection.\\n\\n",)c -(ret\);)818 3915 y(break;)723 4025 y(})627 4134 y(else)k(if)g(\(ret)g -(>)g(0\))723 4244 y({)818 4354 y(/*)g(echo)g(data)g(back)f(to)h(the)g -(client)866 4463 y(*/)818 4573 y(gnutls_record_send)c(\(session,)i -(buffer,)h(strlen)g(\(buffer\)\);)723 4682 y(})532 4792 -y(})436 4902 y(printf)g(\("\\n"\);)436 5011 y(/*)i(do)f(not)g(wait)f -(for)h(the)g(peer)g(to)g(close)f(the)h(connection.)484 -5121 y(*/)436 5230 y(gnutls_bye)e(\(session,)h(GNUTLS_SHUT_WR\);)p -eop end -%%Page: 78 84 -TeXDict begin 78 83 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(78)436 299 y Fs(close)47 b(\(sd\);)436 408 y(gnutls_deinit)e -(\(session\);)341 628 y(})245 737 y(close)i(\(listen_sd\);)245 -956 y(if)h(\(TLS_SESSION_CACHE)42 b(!=)48 b(0\))341 1066 -y({)436 1176 y(wrap_db_deinit)c(\(\);)341 1285 y(})245 -1504 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)e(\(cert_cred\);) -245 1724 y(gnutls_global_deinit)h(\(\);)245 1943 y(return)k(0;)150 -2162 y(})150 2491 y(/*)g(Functions)e(and)i(other)g(stuff)f(needed)g -(for)h(session)f(resuming.)198 2600 y(*)h(This)g(is)g(done)g(using)f(a) -h(very)g(simple)f(list)h(which)f(holds)h(session)e(ids)198 -2710 y(*)i(and)g(session)f(data.)198 2819 y(*/)150 3039 -y(#define)g(MAX_SESSION_ID_SIZE)c(32)150 3148 y(#define)k -(MAX_SESSION_DATA_SIZE)c(512)150 3367 y(typedef)k(struct)150 -3477 y({)245 3587 y(char)h(session_id[MAX_SESSION_ID)o(_SI)o(ZE];)245 -3696 y(size_t)g(session_id_size;)245 3915 y(char)g -(session_data[MAX_SESSION_)o(DAT)o(A_SI)o(ZE];)245 4025 -y(size_t)g(session_data_size;)150 4134 y(})g(CACHE;)150 -4354 y(static)f(CACHE)g(*cache_db;)150 4463 y(static)g(int)h -(cache_db_ptr)d(=)k(0;)150 4682 y(static)e(void)150 4792 -y(wrap_db_init)e(\(void\))150 4902 y({)245 5121 y(/*)k(allocate)d -(cache_db)h(*/)245 5230 y(cache_db)g(=)h(calloc)g(\(1,)f -(TLS_SESSION_CACHE)e(*)j(sizeof)f(\(CACHE\)\);)150 5340 -y(})p eop end -%%Page: 79 85 -TeXDict begin 79 84 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(79)150 408 y Fs(static)46 b(void)150 518 y(wrap_db_deinit)e(\(void\)) -150 628 y({)245 737 y(free)j(\(cache_db\);)245 847 y(cache_db)f(=)h -(NULL;)245 956 y(return;)150 1066 y(})150 1285 y(static)f(int)150 -1395 y(wrap_db_store)e(\(void)j(*dbf,)f(gnutls_datum_t)e(key,)i -(gnutls_datum_t)e(data\))150 1504 y({)245 1724 y(if)k(\(cache_db)d(==)i -(NULL\))341 1833 y(return)f(-1;)245 2052 y(if)i(\(key.size)d(>)i -(MAX_SESSION_ID_SIZE\))341 2162 y(return)f(-1;)245 2271 -y(if)i(\(data.size)d(>)i(MAX_SESSION_DATA_SIZE\))341 -2381 y(return)f(-1;)245 2600 y(memcpy)h(\(cache_db[cache_db_ptr])o(.se) -o(ssio)o(n_id)o(,)42 b(key.data,)j(key.size\);)245 2710 -y(cache_db[cache_db_ptr].ses)o(sion)o(_id)o(_siz)o(e)d(=)47 -b(key.size;)245 2929 y(memcpy)g(\(cache_db[cache_db_ptr])o(.se)o(ssio)o -(n_da)o(ta,)41 b(data.data,)k(data.size\);)245 3039 y -(cache_db[cache_db_ptr].ses)o(sion)o(_da)o(ta_s)o(ize)c(=)48 -b(data.size;)245 3258 y(cache_db_ptr++;)245 3367 y(cache_db_ptr)d -(\045=)i(TLS_SESSION_CACHE;)245 3587 y(return)g(0;)150 -3696 y(})150 3915 y(static)f(gnutls_datum_t)150 4025 -y(wrap_db_fetch)e(\(void)j(*dbf,)f(gnutls_datum_t)e(key\))150 -4134 y({)245 4244 y(gnutls_datum_t)g(res)j(=)h({)f(NULL,)g(0)g(};)245 -4354 y(int)g(i;)245 4573 y(if)h(\(cache_db)d(==)i(NULL\))341 -4682 y(return)f(res;)245 4902 y(for)h(\(i)h(=)f(0;)g(i)h(<)f -(TLS_SESSION_CACHE;)c(i++\))341 5011 y({)436 5121 y(if)48 -b(\(key.size)d(==)i(cache_db[i].session_id_s)o(ize)41 -b(&&)627 5230 y(memcmp)46 b(\(key.data,)f(cache_db[i].session_id,)d -(key.size\))j(==)i(0\))532 5340 y({)p eop end -%%Page: 80 86 -TeXDict begin 80 85 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(80)627 518 y Fs(res.size)46 b(=)h(cache_db[i].session_data_)o(size)o -(;)627 737 y(res.data)f(=)h(gnutls_malloc)d(\(res.size\);)627 -847 y(if)j(\(res.data)f(==)h(NULL\))723 956 y(return)f(res;)627 -1176 y(memcpy)g(\(res.data,)f(cache_db[i].session_data,)c(res.size\);) -627 1395 y(return)46 b(res;)532 1504 y(})341 1614 y(})245 -1724 y(return)h(res;)150 1833 y(})150 2052 y(static)f(int)150 -2162 y(wrap_db_delete)e(\(void)i(*dbf,)h(gnutls_datum_t)d(key\))150 -2271 y({)245 2381 y(int)j(i;)245 2600 y(if)h(\(cache_db)d(==)i(NULL\)) -341 2710 y(return)f(-1;)245 2929 y(for)h(\(i)h(=)f(0;)g(i)h(<)f -(TLS_SESSION_CACHE;)c(i++\))341 3039 y({)436 3148 y(if)48 -b(\(key.size)d(==)i(cache_db[i].session_id_s)o(ize)41 -b(&&)627 3258 y(memcmp)46 b(\(key.data,)f(cache_db[i].session_id,)d -(key.size\))j(==)i(0\))532 3367 y({)627 3587 y -(cache_db[i].session_id_si)o(ze)42 b(=)47 b(0;)627 3696 -y(cache_db[i].session_data_)o(size)41 b(=)48 b(0;)627 -3915 y(return)e(0;)532 4025 y(})341 4134 y(})245 4354 -y(return)h(-1;)150 4573 y(})150 4806 y Fu(7.4.3)63 b(Ec)m(ho)40 -b(Serv)m(er)g(with)h Fn(Op)s(enPGP)g Fu(Authen)m(tication)150 -4953 y FB(The)31 b(follo)m(wing)i(example)g(is)f(an)f(ec)m(ho)i(serv)m -(er)f(whic)m(h)f(supp)s(orts)f Fp(Op)r(enPGP)i FB(k)m(ey)h(authen)m -(tication.)46 b(Y)-8 b(ou)150 5062 y(can)32 b(easily)h(com)m(bine)f -(this)g(functionalit)m(y)h(|that)f(is)f(ha)m(v)m(e)i(a)f(serv)m(er)g -(that)g(supp)s(orts)e(b)s(oth)h Ft(X.509)g FB(and)150 -5172 y Ft(Op)r(enPGP)23 b FB(certi\014cates|)j(but)e(w)m(e)h(separated) -f(them)h(to)g(k)m(eep)f(these)h(examples)g(as)f(simple)h(as)f(p)s -(ossible.)150 5340 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g -(in)g(the)g(public)f(domain.)93 b(*/)p eop end -%%Page: 81 87 -TeXDict begin 81 86 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(81)150 408 y Fs(#ifdef)46 b(HAVE_CONFIG_H)150 518 y(#)h(include)f -()150 628 y(#endif)150 847 y(#include)g()150 -956 y(#include)g()150 1066 y(#include)g()150 -1176 y(#include)g()150 1285 y(#include)g() -150 1395 y(#include)g()150 1504 y(#include)g -()150 1614 y(#include)g()150 -1724 y(#include)g()150 1833 y(#include)g() -150 1943 y(#include)g()150 2162 y(#define)g(KEYFILE)g -("secret.asc")150 2271 y(#define)g(CERTFILE)f("public.asc")150 -2381 y(#define)h(RINGFILE)f("ring.gpg")150 2600 y(/*)i(This)g(is)g(a)g -(sample)g(TLS)f(1.0-OpenPGP)f(echo)i(server.)198 2710 -y(*/)150 3039 y(#define)f(SA)h(struct)f(sockaddr)150 -3148 y(#define)g(SOCKET_ERR\(err,s\))d(if\(err==-1\))i -({perror\(s\);return\(1\);})150 3258 y(#define)h(MAX_BUF)g(1024)150 -3367 y(#define)g(PORT)g(5556)715 b(/*)47 b(listen)g(to)g(5556)f(port)h -(*/)150 3477 y(#define)f(DH_BITS)g(1024)150 3696 y(/*)h(These)g(are)f -(global)h(*/)150 3806 y(gnutls_certificate_crede)o(ntia)o(ls_t)41 -b(cred;)150 3915 y(gnutls_dh_params_t)i(dh_params;)150 -4134 y(static)j(int)150 4244 y(generate_dh_params)d(\(void\))150 -4354 y({)245 4573 y(/*)48 b(Generate)d(Diffie-Hellman)f(parameters)h(-) -j(for)e(use)h(with)g(DHE)293 4682 y(*)h(kx)f(algorithms.)92 -b(These)47 b(should)f(be)h(discarded)e(and)i(regenerated)293 -4792 y(*)h(once)e(a)i(day,)e(once)h(a)g(week)g(or)g(once)g(a)g(month.) -94 b(Depending)45 b(on)j(the)293 4902 y(*)g(security)d(requirements.) -293 5011 y(*/)245 5121 y(gnutls_dh_params_init)d(\(&dh_params\);)245 -5230 y(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)p +4025 y("data\(\045d\).)g(Closing)h(the)g(connection.\\n\\n",)e(ret\);) +818 4134 y(break;)723 4244 y(})627 4354 y(else)j(if)g(\(ret)g(>)g(0\)) +723 4463 y({)818 4573 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 +4682 y(*/)818 4792 y(gnutls_record_send)c(\(session,)i(buffer,)h +(strlen)g(\(buffer\)\);)723 4902 y(})532 5011 y(})436 +5121 y(printf)g(\("\\n"\);)436 5230 y(/*)i(do)f(not)g(wait)f(for)h(the) +g(peer)g(to)g(close)f(the)h(connection.)484 5340 y(*/)p eop end -%%Page: 82 88 -TeXDict begin 82 87 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(82)245 299 y Fs(return)47 b(0;)150 408 y(})150 628 -y(static)f(gnutls_session_t)150 737 y(initialize_tls_session)c -(\(void\))150 847 y({)245 956 y(gnutls_session_t)i(session;)245 -1176 y(gnutls_init)h(\(&session,)g(GNUTLS_SERVER\);)245 -1395 y(gnutls_priority_set_direct)c(\(session,)k("NORMAL",)h(NULL\);) -245 1614 y(/*)i(request)d(client)i(certificate)d(if)j(any.)293 -1724 y(*/)245 1833 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 -b(\(session,)k(GNUTLS_CERT_REQUEST\);)245 2052 y -(gnutls_dh_set_prime_bits)d(\(session,)j(DH_BITS\);)245 -2271 y(return)i(session;)150 2381 y(})150 2600 y(int)150 -2710 y(main)g(\(void\))150 2819 y({)245 2929 y(int)g(err,)g(listen_sd;) -245 3039 y(int)g(sd,)g(ret;)245 3148 y(struct)g(sockaddr_in)d(sa_serv;) -245 3258 y(struct)j(sockaddr_in)d(sa_cli;)245 3367 y(int)j(client_len;) -245 3477 y(char)g(topbuf[512];)245 3587 y(gnutls_session_t)d(session;) -245 3696 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3806 y(int)g(optval)f(=) -i(1;)245 3915 y(char)f(name[256];)245 4134 y(strcpy)g(\(name,)f("Echo)g -(Server"\);)245 4354 y(/*)i(this)e(must)h(be)g(called)f(once)h(in)g -(the)g(program)293 4463 y(*/)245 4573 y(gnutls_global_init)c(\(\);)245 -4792 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)f -(\(&cred\);)245 4902 y(gnutls_certificate_set_ope)o(npgp)o(_ke)o(yrin)o -(g_fi)o(le)f(\(cred,)47 b(RINGFILE,)2393 5011 y -(GNUTLS_OPENPGP_FMT_BASE64)o(\);)245 5230 y(gnutls_certificate_set_ope) -o(npgp)o(_ke)o(y_fi)o(le)42 b(\(cred,)k(CERTFILE,)f(KEYFILE,)2202 -5340 y(GNUTLS_OPENPGP_FMT_BASE64)o(\);)p eop end -%%Page: 83 89 -TeXDict begin 83 88 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(83)245 408 y Fs(generate_dh_params)43 b(\(\);)245 628 -y(gnutls_certificate_set_dh_)o(para)o(ms)e(\(cred,)47 -b(dh_params\);)245 847 y(/*)h(Socket)e(operations)293 -956 y(*/)245 1066 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g(SOCK_STREAM,) -e(0\);)245 1176 y(SOCKET_ERR)h(\(listen_sd,)g("socket"\);)245 -1395 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g(\(sa_serv\)\);)245 -1504 y(sa_serv.sin_family)d(=)48 b(AF_INET;)245 1614 -y(sa_serv.sin_addr.s_addr)42 b(=)47 b(INADDR_ANY;)245 -1724 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 b(/*)47 -b(Server)f(Port)h(number)f(*/)245 1943 y(setsockopt)f(\(listen_sd,)g -(SOL_SOCKET,)g(SO_REUSEADDR,)f(\(void)i(*\))i(&optval,)d(sizeof)h -(\(int\)\);)245 2162 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h -(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 2271 y(SOCKET_ERR)f(\(err,)i -("bind"\);)245 2381 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 -2491 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 2710 y(printf)g(\("\045s)f -(ready.)94 b(Listening)45 b(to)i(port)g('\045d'.\\n\\n",)e(name,)h -(PORT\);)245 2929 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 -3039 y(for)h(\(;;\))341 3148 y({)436 3258 y(session)f(=)i -(initialize_tls_session)41 b(\(\);)436 3477 y(sd)48 b(=)f(accept)f -(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 -3696 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) -818 3806 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 -3915 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 -4134 y(gnutls_transport_set_ptr)42 b(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)436 4244 y(ret)47 -b(=)h(gnutls_handshake)43 b(\(session\);)436 4354 y(if)48 -b(\(ret)e(<)i(0\))532 4463 y({)627 4573 y(close)f(\(sd\);)627 -4682 y(gnutls_deinit)d(\(session\);)627 4792 y(fprintf)i(\(stderr,)g -("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 -4902 y(gnutls_strerror)c(\(ret\)\);)627 5011 y(continue;)532 -5121 y(})436 5230 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) -p eop end -%%Page: 84 90 -TeXDict begin 84 89 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(Gn)n(uTLS)f FB(in)g(Applications) -1582 b(84)436 299 y Fs(/*)48 b(see)e(the)h(Getting)f(peer's)g -(information)f(example)h(*/)436 408 y(/*)i(print_info\(session\);)42 -b(*/)436 628 y(for)47 b(\(;;\))532 737 y({)627 847 y(memset)f -(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 956 y(ret)g(=)h -(gnutls_record_recv)42 b(\(session,)k(buffer,)g(MAX_BUF\);)627 -1176 y(if)h(\(ret)g(==)g(0\))723 1285 y({)818 1395 y(printf)f(\("\\n-)h -(Peer)f(has)h(closed)f(the)h(GNUTLS)f(connection\\n"\);)818 -1504 y(break;)723 1614 y(})627 1724 y(else)h(if)g(\(ret)g(<)g(0\))723 -1833 y({)818 1943 y(fprintf)f(\(stderr,)g("\\n***)g(Received)f -(corrupted)g(")1248 2052 y("data\(\045d\).)92 b(Closing)46 -b(the)h(connection.\\n\\n",)c(ret\);)818 2162 y(break;)723 -2271 y(})627 2381 y(else)k(if)g(\(ret)g(>)g(0\))723 2491 -y({)818 2600 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 -2710 y(*/)818 2819 y(gnutls_record_send)c(\(session,)i(buffer,)h -(strlen)g(\(buffer\)\);)723 2929 y(})532 3039 y(})436 -3148 y(printf)g(\("\\n"\);)436 3258 y(/*)i(do)f(not)g(wait)f(for)h(the) -g(peer)g(to)g(close)f(the)h(connection.)484 3367 y(*/)436 -3477 y(gnutls_bye)e(\(session,)h(GNUTLS_SHUT_WR\);)436 -3696 y(close)h(\(sd\);)436 3806 y(gnutls_deinit)e(\(session\);)341 -4025 y(})245 4134 y(close)i(\(listen_sd\);)245 4354 y +%%Page: 87 93 +TeXDict begin 87 92 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(87)436 299 y Ft(gnutls_bye)45 b(\(session,)h(GNUTLS_SHUT_WR\);) +436 518 y(close)h(\(sd\);)436 628 y(gnutls_deinit)e(\(session\);)341 +847 y(})245 956 y(close)i(\(listen_sd\);)245 1176 y (gnutls_certificate_free_cr)o(eden)o(tia)o(ls)42 b(\(cred\);)245 -4573 y(gnutls_global_deinit)h(\(\);)245 4792 y(return)k(0;)150 -5011 y(})p eop end -%%Page: 85 91 -TeXDict begin 85 90 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(85)150 299 y Fu(7.4.4)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h -Fn(SRP)g Fu(Authen)m(tication)150 446 y FB(This)f(is)h(a)g(serv)m(er)g -(whic)m(h)g(supp)s(orts)e Ft(SRP)h FB(authen)m(tication.)75 +1395 y(gnutls_global_deinit)h(\(\);)245 1614 y(return)k(0;)150 +1833 y(})150 2066 y Fv(7.4.4)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h +FB(SRP)f Fv(Authen)m(tication)150 2213 y FB(This)g(is)h(a)g(serv)m(er)g +(whic)m(h)g(supp)s(orts)e Fu(SRP)h FB(authen)m(tication.)75 b(It)41 b(is)g(also)g(p)s(ossible)g(to)g(com)m(bine)h(this)150 -555 y(functionalit)m(y)32 b(with)e(a)h(certi\014cate)h(serv)m(er.)41 +2323 y(functionalit)m(y)32 b(with)e(a)h(certi\014cate)h(serv)m(er.)41 b(Here)31 b(it)g(is)f(separate)i(for)e(simplicit)m(y)-8 -b(.)150 737 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g -(the)g(public)f(domain.)93 b(*/)150 956 y(#ifdef)46 b(HAVE_CONFIG_H)150 -1066 y(#)h(include)f()150 1176 y(#endif)150 -1395 y(#include)g()150 1504 y(#include)g()150 -1614 y(#include)g()150 1724 y(#include)g()150 -1833 y(#include)g()150 1943 y(#include)g() -150 2052 y(#include)g()150 2162 y(#include)g() -150 2271 y(#include)g()150 2381 y(#include)g -()150 2491 y(#include)g()150 -2710 y(#define)g(SRP_PASSWD)f("tpasswd")150 2819 y(#define)h -(SRP_PASSWD_CONF)d("tpasswd.conf")150 3039 y(#define)j(KEYFILE)g -("key.pem")150 3148 y(#define)g(CERTFILE)f("cert.pem")150 -3258 y(#define)h(CAFILE)g("ca.pem")150 3477 y(/*)h(This)g(is)g(a)g -(sample)g(TLS-SRP)e(echo)i(server.)198 3587 y(*/)150 -3806 y(#define)f(SA)h(struct)f(sockaddr)150 3915 y(#define)g +b(.)150 2491 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e +(Foundation)198 2600 y(*)198 2710 y(*)i(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +2819 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2929 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 3039 y(*/)150 3258 y(#if)g +(HAVE_CONFIG_H)150 3367 y(#)g(include)f()150 +3477 y(#endif)150 3696 y(#include)g()150 3806 +y(#include)g()150 3915 y(#include)g()150 +4025 y(#include)g()150 4134 y(#include)g() +150 4244 y(#include)g()150 4354 y(#include)g +()150 4463 y(#include)g()150 +4573 y(#include)g()150 4682 y(#include)g() +150 4792 y(#include)g()150 5011 y(#define)g(SRP_PASSWD) +f("tpasswd")150 5121 y(#define)h(SRP_PASSWD_CONF)d("tpasswd.conf")150 +5340 y(#define)j(KEYFILE)g("key.pem")p eop end +%%Page: 88 94 +TeXDict begin 88 93 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(88)150 299 y Ft(#define)46 b(CERTFILE)f("cert.pem")150 +408 y(#define)h(CAFILE)g("ca.pem")150 628 y(/*)h(This)g(is)g(a)g +(sample)g(TLS-SRP)e(echo)i(server.)198 737 y(*/)150 956 +y(#define)f(SA)h(struct)f(sockaddr)150 1066 y(#define)g (SOCKET_ERR\(err,s\))d(if\(err==-1\))i({perror\(s\);return\(1\);})150 -4025 y(#define)h(MAX_BUF)g(1024)150 4134 y(#define)g(PORT)g(5556)715 -b(/*)47 b(listen)g(to)g(5556)f(port)h(*/)150 4354 y(/*)g(These)g(are)f -(global)h(*/)150 4463 y(gnutls_srp_server_creden)o(tial)o(s_t)41 -b(srp_cred;)150 4573 y(gnutls_certificate_crede)o(ntia)o(ls_t)g -(cert_cred;)150 4792 y(static)46 b(gnutls_session_t)150 -4902 y(initialize_tls_session)c(\(void\))150 5011 y({)245 -5121 y(gnutls_session_t)i(session;)245 5340 y(gnutls_init)h -(\(&session,)g(GNUTLS_SERVER\);)p eop end -%%Page: 86 92 -TeXDict begin 86 91 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(86)245 408 y Fs(gnutls_priority_set_direct)41 b(\(session,)k +1176 y(#define)h(MAX_BUF)g(1024)150 1285 y(#define)g(PORT)g(5556)715 +b(/*)47 b(listen)g(to)g(5556)f(port)h(*/)150 1504 y(/*)g(These)g(are)f +(global)h(*/)150 1614 y(gnutls_srp_server_creden)o(tial)o(s_t)41 +b(srp_cred;)150 1724 y(gnutls_certificate_crede)o(ntia)o(ls_t)g +(cert_cred;)150 1943 y(gnutls_session_t)150 2052 y +(initialize_tls_session)h(\(void\))150 2162 y({)245 2271 +y(gnutls_session_t)i(session;)245 2491 y(gnutls_init)h(\(&session,)g +(GNUTLS_SERVER\);)245 2710 y(gnutls_priority_set_direct)c(\(session,)k ("NORMAL:+SRP:+SRP-DSS:+SRP)o(-RS)o(A",)c(NULL\);)245 -628 y(gnutls_credentials_set)h(\(session,)j(GNUTLS_CRD_SRP,)f -(srp_cred\);)245 737 y(/*)k(for)f(the)f(certificate)f(authenticated)f -(ciphersuites.)293 847 y(*/)245 956 y(gnutls_credentials_set)e +2929 y(gnutls_credentials_set)h(\(session,)j(GNUTLS_CRD_SRP,)f +(srp_cred\);)245 3039 y(/*)k(for)f(the)f(certificate)f(authenticated)f +(ciphersuites.)293 3148 y(*/)245 3258 y(gnutls_credentials_set)e (\(session,)j(GNUTLS_CRD_CERTIFICATE,)d(cert_cred\);)245 -1176 y(/*)48 b(request)d(client)i(certificate)d(if)j(any.)293 -1285 y(*/)245 1395 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 -b(\(session,)k(GNUTLS_CERT_IGNORE\);)245 1614 y(return)i(session;)150 -1724 y(})150 1943 y(int)150 2052 y(main)g(\(void\))150 -2162 y({)245 2271 y(int)g(err,)g(listen_sd;)245 2381 -y(int)g(sd,)g(ret;)245 2491 y(struct)g(sockaddr_in)d(sa_serv;)245 -2600 y(struct)j(sockaddr_in)d(sa_cli;)245 2710 y(int)j(client_len;)245 -2819 y(char)g(topbuf[512];)245 2929 y(gnutls_session_t)d(session;)245 -3039 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 3148 y(int)g(optval)f(=)i -(1;)245 3258 y(char)f(name[256];)245 3477 y(strcpy)g(\(name,)f("Echo)g -(Server"\);)245 3696 y(/*)i(these)e(must)h(be)g(called)f(once)h(in)g -(the)g(program)293 3806 y(*/)245 3915 y(gnutls_global_init)c(\(\);)245 -4025 y(gnutls_global_init_extra)f(\(\);)94 b(/*)47 b(for)g(SRP)g(*/)245 -4244 y(/*)h(SRP_PASSWD)d(a)i(password)f(file)g(\(created)g(with)g(the)h -(included)f(srptool)g(utility\))293 4354 y(*/)245 4463 -y(gnutls_srp_allocate_server)o(_cre)o(den)o(tial)o(s)c(\(&srp_cred\);) -245 4573 y(gnutls_srp_set_server_cred)o(enti)o(als)o(_fil)o(e)g -(\(srp_cred,)j(SRP_PASSWD,)2155 4682 y(SRP_PASSWD_CONF\);)245 -4902 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)d -(\(&cert_cred\);)245 5011 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o -(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 5121 y(GNUTLS_X509_FMT_PEM\);) -245 5230 y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c -(\(cert_cred,)k(CERTFILE,)g(KEYFILE,)2059 5340 y -(GNUTLS_X509_FMT_PEM\);)p eop end -%%Page: 87 93 -TeXDict begin 87 92 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(87)245 408 y Fs(/*)48 b(TCP)f(socket)f(operations)293 -518 y(*/)245 628 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g(SOCK_STREAM,)e -(0\);)245 737 y(SOCKET_ERR)h(\(listen_sd,)g("socket"\);)245 -956 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g(\(sa_serv\)\);)245 -1066 y(sa_serv.sin_family)d(=)48 b(AF_INET;)245 1176 -y(sa_serv.sin_addr.s_addr)42 b(=)47 b(INADDR_ANY;)245 -1285 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 b(/*)47 -b(Server)f(Port)h(number)f(*/)245 1504 y(setsockopt)f(\(listen_sd,)g -(SOL_SOCKET,)g(SO_REUSEADDR,)f(\(void)i(*\))i(&optval,)d(sizeof)h -(\(int\)\);)245 1724 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h -(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 1833 y(SOCKET_ERR)f(\(err,)i -("bind"\);)245 1943 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 -2052 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 2271 y(printf)g(\("\045s)f -(ready.)94 b(Listening)45 b(to)i(port)g('\045d'.\\n\\n",)e(name,)h -(PORT\);)245 2491 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 -2600 y(for)h(\(;;\))341 2710 y({)436 2819 y(session)f(=)i -(initialize_tls_session)41 b(\(\);)436 3039 y(sd)48 b(=)f(accept)f -(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 -3258 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) -818 3367 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 -3477 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 -3696 y(gnutls_transport_set_ptr)42 b(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)436 3806 y(ret)47 -b(=)h(gnutls_handshake)43 b(\(session\);)436 3915 y(if)48 -b(\(ret)e(<)i(0\))532 4025 y({)627 4134 y(close)f(\(sd\);)627 -4244 y(gnutls_deinit)d(\(session\);)627 4354 y(fprintf)i(\(stderr,)g -("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 -4463 y(gnutls_strerror)c(\(ret\)\);)627 4573 y(continue;)532 -4682 y(})436 4792 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) -436 5011 y(/*)h(print_info\(session\);)42 b(*/)436 5230 -y(for)47 b(\(;;\))532 5340 y({)p eop end -%%Page: 88 94 -TeXDict begin 88 93 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(88)627 299 y Fs(memset)46 b(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 -408 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g -(MAX_BUF\);)627 628 y(if)h(\(ret)g(==)g(0\))723 737 y({)818 -847 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f -(connection\\n"\);)818 956 y(break;)723 1066 y(})627 -1176 y(else)h(if)g(\(ret)g(<)g(0\))723 1285 y({)818 1395 -y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 -1504 y("data\(\045d\).)92 b(Closing)46 b(the)h(connection.\\n\\n",)c -(ret\);)818 1614 y(break;)723 1724 y(})627 1833 y(else)k(if)g(\(ret)g -(>)g(0\))723 1943 y({)818 2052 y(/*)g(echo)g(data)g(back)f(to)h(the)g -(client)866 2162 y(*/)818 2271 y(gnutls_record_send)c(\(session,)i -(buffer,)h(strlen)g(\(buffer\)\);)723 2381 y(})532 2491 -y(})436 2600 y(printf)g(\("\\n"\);)436 2710 y(/*)i(do)f(not)g(wait)f -(for)h(the)g(peer)g(to)g(close)f(the)h(connection.)93 -b(*/)436 2819 y(gnutls_bye)45 b(\(session,)h(GNUTLS_SHUT_WR\);)436 -3039 y(close)h(\(sd\);)436 3148 y(gnutls_deinit)e(\(session\);)341 -3367 y(})245 3477 y(close)i(\(listen_sd\);)245 3696 y -(gnutls_srp_free_server_cre)o(dent)o(ial)o(s)42 b(\(srp_cred\);)245 -3806 y(gnutls_certificate_free_cr)o(eden)o(tia)o(ls)g(\(cert_cred\);) -245 4025 y(gnutls_global_deinit)h(\(\);)245 4244 y(return)k(0;)150 -4463 y(})150 4696 y Fu(7.4.5)63 b(Ec)m(ho)40 b(Serv)m(er)g(with)h(Anon) -m(ymous)h(Authen)m(tication)150 4843 y FB(This)d(example)i(serv)m(er)f -(supp)s(ort)e(anon)m(ymous)i(authen)m(tication,)k(and)39 -b(could)h(b)s(e)g(used)f(to)h(serv)m(e)h(the)150 4953 -y(example)31 b(clien)m(t)h(for)e(anon)m(ymous)g(authen)m(tication.)150 -5121 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g -(public)f(domain.)93 b(*/)150 5340 y(#ifdef)46 b(HAVE_CONFIG_H)p -eop end +3477 y(/*)48 b(request)d(client)i(certificate)d(if)j(any.)293 +3587 y(*/)245 3696 y(gnutls_certificate_server_)o(set_)o(req)o(uest)41 +b(\(session,)k(GNUTLS_CERT_IGNORE\);)245 3915 y(return)i(session;)150 +4025 y(})150 4244 y(int)150 4354 y(main)g(\(void\))150 +4463 y({)245 4573 y(int)g(err,)g(listen_sd,)e(i;)245 +4682 y(int)i(sd,)g(ret;)245 4792 y(struct)g(sockaddr_in)d(sa_serv;)245 +4902 y(struct)j(sockaddr_in)d(sa_cli;)245 5011 y(int)j(client_len;)245 +5121 y(char)g(topbuf[512];)245 5230 y(gnutls_session_t)d(session;)245 +5340 y(char)j(buffer[MAX_BUF)d(+)j(1];)p eop end %%Page: 89 95 TeXDict begin 89 94 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(89)150 299 y Fs(#)47 b(include)f()150 408 -y(#endif)150 628 y(#include)g()150 737 y(#include)g -()150 847 y(#include)g()150 956 y(#include)g -()150 1066 y(#include)g()150 -1176 y(#include)g()150 1285 y(#include)g() -150 1395 y(#include)g()150 1504 y(#include)g()150 -1614 y(#include)g()150 1833 y(/*)h(This)g(is)g(a)g -(sample)g(TLS)f(1.0)h(echo)g(server,)f(for)h(anonymous)e -(authentication)f(only.)198 1943 y(*/)150 2271 y(#define)i(SA)h(struct) -f(sockaddr)150 2381 y(#define)g(SOCKET_ERR\(err,s\))d(if\(err==-1\))i -({perror\(s\);return\(1\);})150 2491 y(#define)h(MAX_BUF)g(1024)150 -2600 y(#define)g(PORT)g(5556)715 b(/*)47 b(listen)g(to)g(5556)f(port)h -(*/)150 2710 y(#define)f(DH_BITS)g(1024)150 2929 y(/*)h(These)g(are)f -(global)h(*/)150 3039 y(gnutls_anon_server_crede)o(ntia)o(ls_t)41 -b(anoncred;)150 3258 y(static)46 b(gnutls_session_t)150 -3367 y(initialize_tls_session)c(\(void\))150 3477 y({)245 -3587 y(gnutls_session_t)i(session;)245 3806 y(gnutls_init)h -(\(&session,)g(GNUTLS_SERVER\);)245 4025 y(gnutls_priority_set_direct)c -(\(session,)k("NORMAL:+ANON-DH",)e(NULL\);)245 4244 y -(gnutls_credentials_set)f(\(session,)j(GNUTLS_CRD_ANON,)f(anoncred\);) -245 4463 y(gnutls_dh_set_prime_bits)e(\(session,)j(DH_BITS\);)245 -4682 y(return)i(session;)150 4792 y(})150 5011 y(static)f -(gnutls_dh_params_t)d(dh_params;)150 5230 y(static)j(int)150 -5340 y(generate_dh_params)d(\(void\))p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(89)245 299 y Ft(int)47 b(optval)f(=)i(1;)245 408 +y(char)f(name[256];)245 628 y(strcpy)g(\(name,)f("Echo)g(Server"\);)245 +847 y(/*)i(these)e(must)h(be)g(called)f(once)h(in)g(the)g(program)293 +956 y(*/)245 1066 y(gnutls_global_init)c(\(\);)245 1176 +y(gnutls_global_init_extra)f(\(\);)94 b(/*)47 b(for)g(SRP)g(*/)245 +1395 y(/*)h(SRP_PASSWD)d(a)i(password)f(file)g(\(created)g(with)g(the)h +(included)f(srptool)g(utility\))293 1504 y(*/)245 1614 +y(gnutls_srp_allocate_server)o(_cre)o(den)o(tial)o(s)c(\(&srp_cred\);) +245 1724 y(gnutls_srp_set_server_cred)o(enti)o(als)o(_fil)o(e)g +(\(srp_cred,)j(SRP_PASSWD,)2155 1833 y(SRP_PASSWD_CONF\);)245 +2052 y(gnutls_certificate_allocat)o(e_cr)o(ede)o(ntia)o(ls)d +(\(&cert_cred\);)245 2162 y(gnutls_certificate_set_x50)o(9_tr)o(ust)o +(_fil)o(e)g(\(cert_cred,)j(CAFILE,)2155 2271 y(GNUTLS_X509_FMT_PEM\);) +245 2381 y(gnutls_certificate_set_x50)o(9_ke)o(y_f)o(ile)c +(\(cert_cred,)k(CERTFILE,)g(KEYFILE,)2059 2491 y +(GNUTLS_X509_FMT_PEM\);)245 2710 y(/*)j(TCP)f(socket)f(operations)293 +2819 y(*/)245 2929 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g +(SOCK_STREAM,)e(0\);)245 3039 y(SOCKET_ERR)h(\(listen_sd,)g +("socket"\);)245 3258 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g +(\(sa_serv\)\);)245 3367 y(sa_serv.sin_family)d(=)48 +b(AF_INET;)245 3477 y(sa_serv.sin_addr.s_addr)42 b(=)47 +b(INADDR_ANY;)245 3587 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 +b(/*)47 b(Server)f(Port)h(number)f(*/)245 3806 y(setsockopt)f +(\(listen_sd,)g(SOL_SOCKET,)g(SO_REUSEADDR,)f(&optval,)i(sizeof)g +(\(int\)\);)245 4025 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h +(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 4134 y(SOCKET_ERR)f(\(err,)i +("bind"\);)245 4244 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 +4354 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 4573 y(printf)g(\("\045s)f +(ready.)g(Listening)g(to)h(port)f('\045d'.\\n\\n",)f(name,)h(PORT\);) +245 4792 y(client_len)f(=)j(sizeof)e(\(sa_cli\);)245 +4902 y(for)h(\(;;\))341 5011 y({)436 5121 y(session)f(=)i +(initialize_tls_session)41 b(\(\);)436 5340 y(sd)48 b(=)f(accept)f +(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)p +eop end %%Page: 90 96 TeXDict begin 90 95 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(90)150 299 y Fs({)245 518 y(/*)48 b(Generate)d(Diffie-Hellman)f -(parameters)h(-)j(for)e(use)h(with)g(DHE)293 628 y(*)h(kx)f -(algorithms.)92 b(These)47 b(should)f(be)h(discarded)e(and)i -(regenerated)293 737 y(*)h(once)e(a)i(day,)e(once)h(a)g(week)g(or)g -(once)g(a)g(month.)94 b(Depending)45 b(on)j(the)293 847 -y(*)g(security)d(requirements.)293 956 y(*/)245 1066 -y(gnutls_dh_params_init)d(\(&dh_params\);)245 1176 y -(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)245 -1395 y(return)i(0;)150 1504 y(})150 1724 y(int)150 1833 -y(main)g(\(void\))150 1943 y({)245 2052 y(int)g(err,)g(listen_sd;)245 -2162 y(int)g(sd,)g(ret;)245 2271 y(struct)g(sockaddr_in)d(sa_serv;)245 -2381 y(struct)j(sockaddr_in)d(sa_cli;)245 2491 y(int)j(client_len;)245 -2600 y(char)g(topbuf[512];)245 2710 y(gnutls_session_t)d(session;)245 -2819 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 2929 y(int)g(optval)f(=)i -(1;)245 3148 y(/*)g(this)e(must)h(be)g(called)f(once)h(in)g(the)g -(program)293 3258 y(*/)245 3367 y(gnutls_global_init)c(\(\);)245 -3587 y(gnutls_anon_allocate_serve)o(r_cr)o(ede)o(ntia)o(ls)f -(\(&anoncred\);)245 3806 y(generate_dh_params)h(\(\);)245 -4025 y(gnutls_anon_set_server_dh_)o(para)o(ms)e(\(anoncred,)k -(dh_params\);)245 4244 y(/*)j(Socket)e(operations)293 -4354 y(*/)245 4463 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g -(SOCK_STREAM,)e(0\);)245 4573 y(SOCKET_ERR)h(\(listen_sd,)g -("socket"\);)245 4792 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g -(\(sa_serv\)\);)245 4902 y(sa_serv.sin_family)d(=)48 -b(AF_INET;)245 5011 y(sa_serv.sin_addr.s_addr)42 b(=)47 -b(INADDR_ANY;)245 5121 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 -b(/*)47 b(Server)f(Port)h(number)f(*/)245 5340 y(setsockopt)f -(\(listen_sd,)g(SOL_SOCKET,)g(SO_REUSEADDR,)f(\(void)i(*\))i(&optval,)d -(sizeof)h(\(int\)\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(90)436 408 y Ft(printf)46 b(\("-)h(connection)e(from)i(\045s,)g +(port)g(\045d\\n",)818 518 y(inet_ntop)e(\(AF_INET,)h +(&sa_cli.sin_addr,)d(topbuf,)1343 628 y(sizeof)j(\(topbuf\)\),)f(ntohs) +i(\(sa_cli.sin_port\)\);)436 847 y(gnutls_transport_set_ptr)42 +b(\(session,)j(\(gnutls_transport_ptr_t\))c(sd\);)436 +956 y(ret)47 b(=)h(gnutls_handshake)43 b(\(session\);)436 +1066 y(if)48 b(\(ret)e(<)i(0\))532 1176 y({)627 1285 +y(close)f(\(sd\);)627 1395 y(gnutls_deinit)d(\(session\);)627 +1504 y(fprintf)i(\(stderr,)g("***)g(Handshake)g(has)g(failed)h +(\(\045s\)\\n\\n",)1057 1614 y(gnutls_strerror)c(\(ret\)\);)627 +1724 y(continue;)532 1833 y(})436 1943 y(printf)j(\("-)h(Handshake)f +(was)h(completed\\n"\);)436 2162 y(/*)h(print_info\(session\);)42 +b(*/)436 2381 y(i)48 b(=)f(0;)436 2491 y(for)g(\(;;\))532 +2600 y({)627 2710 y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 +2819 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g +(MAX_BUF\);)627 3039 y(if)h(\(ret)g(==)g(0\))723 3148 +y({)818 3258 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f +(connection\\n"\);)818 3367 y(break;)723 3477 y(})627 +3587 y(else)h(if)g(\(ret)g(<)g(0\))723 3696 y({)818 3806 +y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 +3915 y("data\(\045d\).)g(Closing)h(the)g(connection.\\n\\n",)e(ret\);) +818 4025 y(break;)723 4134 y(})627 4244 y(else)j(if)g(\(ret)g(>)g(0\)) +723 4354 y({)818 4463 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 +4573 y(*/)818 4682 y(gnutls_record_send)c(\(session,)i(buffer,)h +(strlen)g(\(buffer\)\);)723 4792 y(})532 4902 y(})436 +5011 y(printf)g(\("\\n"\);)436 5121 y(/*)i(do)f(not)g(wait)f(for)h(the) +g(peer)g(to)g(close)f(the)h(connection.)e(*/)436 5230 +y(gnutls_bye)g(\(session,)h(GNUTLS_SHUT_WR\);)p eop end %%Page: 91 97 TeXDict begin 91 96 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(91)245 408 y Fs(err)47 b(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h -(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 518 y(SOCKET_ERR)f(\(err,)i -("bind"\);)245 628 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 -737 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 956 y(printf)g(\("Server)e -(ready.)94 b(Listening)45 b(to)i(port)g('\045d'.\\n\\n",)e(PORT\);)245 -1176 y(client_len)g(=)j(sizeof)e(\(sa_cli\);)245 1285 -y(for)h(\(;;\))341 1395 y({)436 1504 y(session)f(=)i -(initialize_tls_session)41 b(\(\);)436 1724 y(sd)48 b(=)f(accept)f -(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 -1943 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) -818 2052 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 -2162 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 -2381 y(gnutls_transport_set_ptr)42 b(\(session,)j -(\(gnutls_transport_ptr_t\))c(sd\);)436 2491 y(ret)47 -b(=)h(gnutls_handshake)43 b(\(session\);)436 2600 y(if)48 -b(\(ret)e(<)i(0\))532 2710 y({)627 2819 y(close)f(\(sd\);)627 -2929 y(gnutls_deinit)d(\(session\);)627 3039 y(fprintf)i(\(stderr,)g -("***)g(Handshake)g(has)g(failed)h(\(\045s\)\\n\\n",)1057 -3148 y(gnutls_strerror)c(\(ret\)\);)627 3258 y(continue;)532 -3367 y(})436 3477 y(printf)j(\("-)h(Handshake)f(was)h(completed\\n"\);) -436 3696 y(/*)h(see)e(the)h(Getting)f(peer's)g(information)f(example)h -(*/)436 3806 y(/*)i(print_info\(session\);)42 b(*/)436 -4025 y(for)47 b(\(;;\))532 4134 y({)627 4244 y(memset)f(\(buffer,)g(0,) -h(MAX_BUF)f(+)h(1\);)627 4354 y(ret)g(=)h(gnutls_record_recv)42 -b(\(session,)k(buffer,)g(MAX_BUF\);)627 4573 y(if)h(\(ret)g(==)g(0\)) -723 4682 y({)818 4792 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h -(GNUTLS)f(connection\\n"\);)818 4902 y(break;)723 5011 -y(})627 5121 y(else)h(if)g(\(ret)g(<)g(0\))723 5230 y({)818 -5340 y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")p +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(91)436 299 y Ft(close)47 b(\(sd\);)436 408 y(gnutls_deinit)e +(\(session\);)341 628 y(})245 737 y(close)i(\(listen_sd\);)245 +956 y(gnutls_srp_free_server_cre)o(dent)o(ial)o(s)42 +b(\(srp_cred\);)245 1066 y(gnutls_certificate_free_cr)o(eden)o(tia)o +(ls)g(\(cert_cred\);)245 1285 y(gnutls_global_deinit)h(\(\);)245 +1504 y(return)k(0;)150 1724 y(})150 1956 y Fv(7.4.5)63 +b(Ec)m(ho)40 b(Serv)m(er)g(with)h(Anon)m(ymous)h(Authen)m(tication)150 +2103 y FB(This)d(example)i(serv)m(er)f(supp)s(ort)e(anon)m(ymous)i +(authen)m(tication,)k(and)39 b(could)h(b)s(e)g(used)f(to)h(serv)m(e)h +(the)150 2213 y(example)31 b(clien)m(t)h(for)e(anon)m(ymous)g(authen)m +(tication.)150 2381 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e +(Foundation)198 2491 y(*)198 2600 y(*)i(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +2710 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2819 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 2929 y(*/)150 3148 y(#if)g +(HAVE_CONFIG_H)150 3258 y(#)g(include)f()150 +3367 y(#endif)150 3587 y(#include)g()150 3696 +y(#include)g()150 3806 y(#include)g()150 +3915 y(#include)g()150 4025 y(#include)g() +150 4134 y(#include)g()150 4244 y(#include)g +()150 4354 y(#include)g()150 +4463 y(#include)g()150 4573 y(#include)g() +150 4792 y(/*)h(This)g(is)g(a)g(sample)g(TLS)f(1.0)h(echo)g(server,)f +(for)h(anonymous)e(authentication)f(only.)198 4902 y(*/)150 +5230 y(#define)i(SA)h(struct)f(sockaddr)150 5340 y(#define)g +(SOCKET_ERR\(err,s\))d(if\(err==-1\))i({perror\(s\);return\(1\);})p eop end %%Page: 92 98 TeXDict begin 92 97 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(92)1248 299 y Fs("data\(\045d\).)92 b(Closing)46 b(the)h -(connection.\\n\\n",)c(ret\);)818 408 y(break;)723 518 -y(})627 628 y(else)k(if)g(\(ret)g(>)g(0\))723 737 y({)818 -847 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 -956 y(*/)818 1066 y(gnutls_record_send)c(\(session,)i(buffer,)h(strlen) -g(\(buffer\)\);)723 1176 y(})532 1285 y(})436 1395 y(printf)g -(\("\\n"\);)436 1504 y(/*)i(do)f(not)g(wait)f(for)h(the)g(peer)g(to)g -(close)f(the)h(connection.)484 1614 y(*/)436 1724 y(gnutls_bye)e -(\(session,)h(GNUTLS_SHUT_WR\);)436 1943 y(close)h(\(sd\);)436 -2052 y(gnutls_deinit)e(\(session\);)341 2271 y(})245 -2381 y(close)i(\(listen_sd\);)245 2600 y(gnutls_anon_free_server_cr)o -(eden)o(tia)o(ls)42 b(\(anoncred\);)245 2819 y(gnutls_global_deinit)h -(\(\);)245 3039 y(return)k(0;)150 3258 y(})150 3508 y -FA(7.5)68 b(Miscellaneous)46 b(Examples)150 3732 y Fu(7.5.1)63 -b(Chec)m(king)40 b(for)i(an)f(Alert)150 3879 y FB(This)30 -b(is)g(a)h(function)f(that)h(c)m(hec)m(ks)h(if)e(an)g(alert)i(has)e(b)s -(een)f(receiv)m(ed)j(in)e(the)h(curren)m(t)f(session.)150 -4025 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g -(public)f(domain.)93 b(*/)150 4244 y(#ifdef)46 b(HAVE_CONFIG_H)150 -4354 y(#)h(include)f()150 4463 y(#endif)150 -4682 y(#include)g()150 4792 y(#include)g()150 -4902 y(#include)g()150 5121 y(#include)g("examples.h") -150 5340 y(/*)h(This)g(function)e(will)i(check)f(whether)g(the)h(given) -f(return)h(code)f(from)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(92)150 299 y Ft(#define)46 b(MAX_BUF)g(1024)150 +408 y(#define)g(PORT)g(5556)715 b(/*)47 b(listen)g(to)g(5556)f(port)h +(*/)150 518 y(#define)f(DH_BITS)g(1024)150 737 y(/*)h(These)g(are)f +(global)h(*/)150 847 y(gnutls_anon_server_crede)o(ntia)o(ls_t)41 +b(anoncred;)150 1066 y(gnutls_session_t)150 1176 y +(initialize_tls_session)h(\(void\))150 1285 y({)245 1395 +y(gnutls_session_t)i(session;)245 1614 y(gnutls_init)h(\(&session,)g +(GNUTLS_SERVER\);)245 1833 y(gnutls_priority_set_direct)c(\(session,)k +("NORMAL:+ANON-DH",)e(NULL\);)245 2052 y(gnutls_credentials_set)f +(\(session,)j(GNUTLS_CRD_ANON,)f(anoncred\);)245 2271 +y(gnutls_dh_set_prime_bits)e(\(session,)j(DH_BITS\);)245 +2491 y(return)i(session;)150 2600 y(})150 2819 y(static)f +(gnutls_dh_params_t)d(dh_params;)150 3039 y(static)j(int)150 +3148 y(generate_dh_params)d(\(void\))150 3258 y({)245 +3477 y(/*)48 b(Generate)d(Diffie)h(Hellman)g(parameters)f(-)j(for)e +(use)h(with)g(DHE)293 3587 y(*)h(kx)f(algorithms.)e(These)h(should)g +(be)h(discarded)e(and)i(regenerated)293 3696 y(*)h(once)e(a)i(day,)e +(once)h(a)g(week)g(or)g(once)g(a)g(month.)f(Depending)g(on)h(the)293 +3806 y(*)h(security)d(requirements.)293 3915 y(*/)245 +4025 y(gnutls_dh_params_init)d(\(&dh_params\);)245 4134 +y(gnutls_dh_params_generate2)f(\(dh_params,)k(DH_BITS\);)245 +4354 y(return)i(0;)150 4463 y(})150 4682 y(int)150 4792 +y(main)g(\(void\))150 4902 y({)245 5011 y(int)g(err,)g(listen_sd,)e(i;) +245 5121 y(int)i(sd,)g(ret;)245 5230 y(struct)g(sockaddr_in)d(sa_serv;) +245 5340 y(struct)j(sockaddr_in)d(sa_cli;)p eop end %%Page: 93 99 TeXDict begin 93 98 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(93)198 299 y Fs(*)47 b(a)h(gnutls)e(function)f(\(recv/send\),)g(is)i -(an)g(alert,)f(and)h(will)g(print)198 408 y(*)g(that)g(alert.)198 -518 y(*/)150 628 y(void)150 737 y(check_alert)e(\(gnutls_session_t)e -(session,)i(int)i(ret\))150 847 y({)245 956 y(int)g(last_alert;)245 -1176 y(if)h(\(ret)e(==)h(GNUTLS_E_WARNING_ALERT_REC)o(EIVE)o(D)436 -1285 y(||)h(ret)e(==)i(GNUTLS_E_FATAL_ALERT_RE)o(CEIV)o(ED\))341 -1395 y({)436 1504 y(last_alert)d(=)j(gnutls_alert_get)43 -b(\(session\);)436 1724 y(/*)48 b(The)e(check)h(for)g(renegotiation)d -(is)j(only)g(useful)f(if)h(we)g(are)484 1833 y(*)h(a)f(server,)f(and)h -(we)g(had)g(requested)e(a)j(rehandshake.)484 1943 y(*/)436 -2052 y(if)g(\(last_alert)c(==)j(GNUTLS_A_NO_RENEGOTIATION)41 -b(&&)627 2162 y(ret)47 b(==)g(GNUTLS_E_WARNING_ALERT_REC)o(EIV)o(ED\)) -532 2271 y(printf)f(\("*)h(Received)e(NO_RENEGOTIATION)f(alert.)94 -b(")914 2381 y("Client)45 b(Does)i(not)g(support)f -(renegotiation.\\n"\);)436 2491 y(else)532 2600 y(printf)g(\("*)h -(Received)e(alert)i('\045d':)94 b(\045s.\\n",)46 b(last_alert,)914 -2710 y(gnutls_alert_get_name)c(\(last_alert\)\);)341 -2819 y(})150 2929 y(})150 3162 y Fu(7.5.2)63 b Fn(X.509)42 -b Fu(Certi\014cate)d(P)m(arsing)j(Example)150 3309 y -FB(T)-8 b(o)37 b(demonstrate)g(the)f Ft(X.509)f FB(parsing)h -(capabilities)j(an)d(example)h(program)f(is)g(listed)h(b)s(elo)m(w.)59 -b(That)150 3418 y(program)30 b(reads)g(the)h(p)s(eer's)f -(certi\014cate,)i(and)e(prin)m(ts)g(information)h(ab)s(out)f(it.)150 -3587 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g -(public)f(domain.)93 b(*/)150 3806 y(#ifdef)46 b(HAVE_CONFIG_H)150 -3915 y(#)h(include)f()150 4025 y(#endif)150 -4244 y(#include)g()150 4354 y(#include)g()150 -4463 y(#include)g()150 4573 y(#include)g -()150 4792 y(#include)g("examples.h")150 -5011 y(static)g(const)g(char)h(*)150 5121 y(bin2hex)f(\(const)g(void)h -(*bin,)f(size_t)g(bin_size\))150 5230 y({)245 5340 y(static)h(char)f -(printable[110];)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(93)245 299 y Ft(int)47 b(client_len;)245 408 y(char)g +(topbuf[512];)245 518 y(gnutls_session_t)d(session;)245 +628 y(char)j(buffer[MAX_BUF)d(+)j(1];)245 737 y(int)g(optval)f(=)i(1;) +245 956 y(/*)g(this)e(must)h(be)g(called)f(once)h(in)g(the)g(program) +293 1066 y(*/)245 1176 y(gnutls_global_init)c(\(\);)245 +1395 y(gnutls_anon_allocate_serve)o(r_cr)o(ede)o(ntia)o(ls)f +(\(&anoncred\);)245 1614 y(generate_dh_params)h(\(\);)245 +1833 y(gnutls_anon_set_server_dh_)o(para)o(ms)e(\(anoncred,)k +(dh_params\);)245 2052 y(/*)j(Socket)e(operations)293 +2162 y(*/)245 2271 y(listen_sd)g(=)h(socket)f(\(AF_INET,)g +(SOCK_STREAM,)e(0\);)245 2381 y(SOCKET_ERR)h(\(listen_sd,)g +("socket"\);)245 2600 y(memset)i(\(&sa_serv,)e('\\0',)h(sizeof)g +(\(sa_serv\)\);)245 2710 y(sa_serv.sin_family)d(=)48 +b(AF_INET;)245 2819 y(sa_serv.sin_addr.s_addr)42 b(=)47 +b(INADDR_ANY;)245 2929 y(sa_serv.sin_port)d(=)j(htons)g(\(PORT\);)284 +b(/*)47 b(Server)f(Port)h(number)f(*/)245 3148 y(setsockopt)f +(\(listen_sd,)g(SOL_SOCKET,)g(SO_REUSEADDR,)f(&optval,)i(sizeof)g +(\(int\)\);)245 3367 y(err)h(=)h(bind)e(\(listen_sd,)f(\(SA)i(*\))g(&)h +(sa_serv,)d(sizeof)h(\(sa_serv\)\);)245 3477 y(SOCKET_ERR)f(\(err,)i +("bind"\);)245 3587 y(err)g(=)h(listen)e(\(listen_sd,)f(1024\);)245 +3696 y(SOCKET_ERR)g(\(err,)i("listen"\);)245 3915 y(printf)g(\("Server) +e(ready.)h(Listening)f(to)j(port)e('\045d'.\\n\\n",)f(PORT\);)245 +4134 y(client_len)g(=)j(sizeof)e(\(sa_cli\);)245 4244 +y(for)h(\(;;\))341 4354 y({)436 4463 y(session)f(=)i +(initialize_tls_session)41 b(\(\);)436 4682 y(sd)48 b(=)f(accept)f +(\(listen_sd,)f(\(SA)i(*\))g(&)g(sa_cli,)f(&client_len\);)436 +4902 y(printf)g(\("-)h(connection)e(from)i(\045s,)g(port)g(\045d\\n",) +818 5011 y(inet_ntop)e(\(AF_INET,)h(&sa_cli.sin_addr,)d(topbuf,)1343 +5121 y(sizeof)j(\(topbuf\)\),)f(ntohs)i(\(sa_cli.sin_port\)\);)436 +5340 y(gnutls_transport_set_ptr)42 b(\(session,)j +(\(gnutls_transport_ptr_t\))c(sd\);)p eop end %%Page: 94 100 TeXDict begin 94 99 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(94)245 299 y Fs(const)47 b(unsigned)e(char)i(*_bin)f(=)i(bin;)245 -408 y(char)f(*print;)245 518 y(size_t)g(i;)245 737 y(if)h(\(bin_size)d -(>)i(50\))341 847 y(bin_size)e(=)j(50;)245 1066 y(print)f(=)g -(printable;)245 1176 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(bin_size;)e(i++\)) -341 1285 y({)436 1395 y(sprintf)h(\(print,)g("\045.2x)g(",)i -(_bin[i]\);)436 1504 y(print)f(+=)g(2;)341 1614 y(})245 -1833 y(return)g(printable;)150 1943 y(})150 2162 y(/*)g(This)g -(function)e(will)i(print)f(information)f(about)h(this)h(session's)e -(peer)198 2271 y(*)i(certificate.)198 2381 y(*/)150 2491 -y(void)150 2600 y(print_x509_certificate_i)o(nfo)41 b -(\(gnutls_session_t)i(session\))150 2710 y({)245 2819 -y(char)k(serial[40];)245 2929 y(char)g(dn[256];)245 3039 -y(size_t)g(size;)245 3148 y(unsigned)f(int)h(algo,)f(bits;)245 -3258 y(time_t)h(expiration_time,)c(activation_time;)245 -3367 y(const)k(gnutls_datum_t)d(*cert_list;)245 3477 -y(unsigned)i(int)h(cert_list_size)d(=)j(0;)245 3587 y -(gnutls_x509_crt_t)d(cert;)245 3696 y(gnutls_datum_t)g(cinfo;)245 -3915 y(/*)k(This)e(function)g(only)g(works)h(for)g(X.509)f -(certificates.)293 4025 y(*/)245 4134 y(if)i(\(gnutls_certificate_typ)o -(e_ge)o(t)42 b(\(session\))j(!=)i(GNUTLS_CRT_X509\))341 -4244 y(return;)245 4463 y(cert_list)f(=)h(gnutls_certificate_get_pe)o -(ers)41 b(\(session,)46 b(&cert_list_size\);)245 4682 -y(printf)h(\("Peer)f(provided)f(\045d)i(certificates.\\n",)c -(cert_list_size\);)245 4902 y(if)48 b(\(cert_list_size)43 -b(>)48 b(0\))341 5011 y({)436 5121 y(int)f(ret;)436 5340 -y(/*)h(we)f(only)f(print)h(information)d(about)j(the)g(first)f -(certificate.)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(94)436 299 y Ft(ret)47 b(=)h(gnutls_handshake)43 +b(\(session\);)436 408 y(if)48 b(\(ret)e(<)i(0\))532 +518 y({)627 628 y(close)f(\(sd\);)627 737 y(gnutls_deinit)d +(\(session\);)627 847 y(fprintf)i(\(stderr,)g("***)g(Handshake)g(has)g +(failed)h(\(\045s\)\\n\\n",)1057 956 y(gnutls_strerror)c(\(ret\)\);)627 +1066 y(continue;)532 1176 y(})436 1285 y(printf)j(\("-)h(Handshake)f +(was)h(completed\\n"\);)436 1504 y(/*)h(see)e(the)h(Getting)f(peer's)g +(information)f(example)h(*/)436 1614 y(/*)i(print_info\(session\);)42 +b(*/)436 1833 y(i)48 b(=)f(0;)436 1943 y(for)g(\(;;\))532 +2052 y({)627 2162 y(memset)f(\(buffer,)g(0,)h(MAX_BUF)f(+)h(1\);)627 +2271 y(ret)g(=)h(gnutls_record_recv)42 b(\(session,)k(buffer,)g +(MAX_BUF\);)627 2491 y(if)h(\(ret)g(==)g(0\))723 2600 +y({)818 2710 y(printf)f(\("\\n-)h(Peer)f(has)h(closed)f(the)h(GNUTLS)f +(connection\\n"\);)818 2819 y(break;)723 2929 y(})627 +3039 y(else)h(if)g(\(ret)g(<)g(0\))723 3148 y({)818 3258 +y(fprintf)f(\(stderr,)g("\\n***)g(Received)f(corrupted)g(")1248 +3367 y("data\(\045d\).)g(Closing)h(the)g(connection.\\n\\n",)e(ret\);) +818 3477 y(break;)723 3587 y(})627 3696 y(else)j(if)g(\(ret)g(>)g(0\)) +723 3806 y({)818 3915 y(/*)g(echo)g(data)g(back)f(to)h(the)g(client)866 +4025 y(*/)818 4134 y(gnutls_record_send)c(\(session,)i(buffer,)h +(strlen)g(\(buffer\)\);)723 4244 y(})532 4354 y(})436 +4463 y(printf)g(\("\\n"\);)436 4573 y(/*)i(do)f(not)g(wait)f(for)h(the) +g(peer)g(to)g(close)f(the)h(connection.)484 4682 y(*/)436 +4792 y(gnutls_bye)e(\(session,)h(GNUTLS_SHUT_WR\);)436 +5011 y(close)h(\(sd\);)436 5121 y(gnutls_deinit)e(\(session\);)341 +5340 y(})p eop end %%Page: 95 101 TeXDict begin 95 100 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(95)484 299 y Fs(*/)436 408 y(gnutls_x509_crt_init)43 -b(\(&cert\);)436 628 y(gnutls_x509_crt_import)f(\(cert,)k -(&cert_list[0],)e(GNUTLS_X509_FMT_DER\);)436 847 y(printf)i -(\("Certificate)f(info:\\n"\);)436 1066 y(/*)j(This)e(is)h(the)g -(preferred)f(way)g(of)i(printing)d(short)i(information)d(about)580 -1176 y(a)j(certificate.)92 b(*/)436 1395 y(ret)47 b(=)h -(gnutls_x509_crt_print)42 b(\(cert,)k(GNUTLS_CRT_PRINT_ONELINE)o(,)c -(&cinfo\);)436 1504 y(if)48 b(\(ret)e(==)h(0\))532 1614 -y({)627 1724 y(printf)f(\("\\t\045s\\n",)f(cinfo.data\);)627 -1833 y(gnutls_free)g(\(cinfo.data\);)532 1943 y(})436 -2162 y(/*)j(If)f(you)g(want)f(to)h(extract)f(fields)g(manually)g(for)h -(some)f(other)h(reason,)580 2271 y(below)f(are)h(popular)f(example)f -(calls.)94 b(*/)436 2491 y(expiration_time)44 b(=)j -(gnutls_x509_crt_get_expira)o(tion)o(_ti)o(me)42 b(\(cert\);)436 -2600 y(activation_time)i(=)j(gnutls_x509_crt_get_activa)o(tion)o(_ti)o -(me)42 b(\(cert\);)436 2819 y(printf)k(\("\\tCertificate)e(is)j(valid)g -(since:)93 b(\045s",)47 b(ctime)f(\(&activation_time\)\);)436 -2929 y(printf)g(\("\\tCertificate)e(expires:)93 b(\045s",)47 -b(ctime)f(\(&expiration_time\)\);)436 3148 y(/*)i(Print)e(the)h(serial) -f(number)g(of)h(the)g(certificate.)484 3258 y(*/)436 -3367 y(size)g(=)g(sizeof)g(\(serial\);)436 3477 y -(gnutls_x509_crt_get_serial)41 b(\(cert,)46 b(serial,)g(&size\);)436 -3696 y(printf)g(\("\\tCertificate)e(serial)i(number:)94 -b(\045s\\n",)46 b(bin2hex)g(\(serial,)f(size\)\);)436 -3915 y(/*)j(Extract)d(some)i(of)g(the)g(public)f(key)h(algorithm's)e -(parameters)484 4025 y(*/)436 4134 y(algo)i(=)g -(gnutls_x509_crt_get_pk_alg)o(orit)o(hm)41 b(\(cert,)47 -b(&bits\);)436 4354 y(printf)f(\("Certificate)f(public)h(key:)94 -b(\045s",)818 4463 y(gnutls_pk_algorithm_get_n)o(ame)41 -b(\(algo\)\);)436 4682 y(/*)48 b(Print)e(the)h(version)f(of)h(the)g -(X.509)484 4792 y(*)h(certificate.)484 4902 y(*/)436 -5011 y(printf)e(\("\\tCertificate)e(version:)93 b(#\045d\\n",)818 -5121 y(gnutls_x509_crt_get_versi)o(on)42 b(\(cert\)\);)436 -5340 y(size)47 b(=)g(sizeof)g(\(dn\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(95)245 299 y Ft(close)47 b(\(listen_sd\);)245 +518 y(gnutls_anon_free_server_cr)o(eden)o(tia)o(ls)42 +b(\(anoncred\);)245 737 y(gnutls_global_deinit)h(\(\);)245 +956 y(return)k(0;)150 1176 y(})150 1425 y FA(7.5)68 b(Miscellaneous)46 +b(Examples)150 1650 y Fv(7.5.1)63 b(Chec)m(king)40 b(for)i(an)f(Alert) +150 1797 y FB(This)30 b(is)g(a)h(function)f(that)h(c)m(hec)m(ks)h(if)e +(an)g(alert)i(has)e(b)s(een)f(receiv)m(ed)j(in)e(the)h(curren)m(t)f +(session.)150 1943 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e +(Foundation)198 2052 y(*)198 2162 y(*)i(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +2271 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2381 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 2491 y(*/)150 2710 y(#if)g +(HAVE_CONFIG_H)150 2819 y(#)g(include)f()150 +2929 y(#endif)150 3148 y(#include)g()150 3258 +y(#include)g()150 3367 y(#include)g()150 +3587 y(/*)h(This)g(function)e(will)i(check)f(whether)g(the)h(given)f +(return)h(code)f(from)198 3696 y(*)h(a)h(gnutls)e(function)f +(\(recv/send\),)g(is)i(an)g(alert,)f(and)h(will)g(print)198 +3806 y(*)g(that)g(alert.)198 3915 y(*/)150 4025 y(void)150 +4134 y(check_alert)e(\(gnutls_session_t)e(session,)i(int)i(ret\))150 +4244 y({)245 4354 y(int)g(last_alert;)245 4573 y(if)h(\(ret)e(==)h +(GNUTLS_E_WARNING_ALERT_REC)o(EIVE)o(D)436 4682 y(||)h(ret)e(==)i +(GNUTLS_E_FATAL_ALERT_RE)o(CEIV)o(ED\))341 4792 y({)436 +4902 y(last_alert)d(=)j(gnutls_alert_get)43 b(\(session\);)436 +5121 y(/*)48 b(The)e(check)h(for)g(renegotiation)d(is)j(only)g(useful)f +(if)h(we)g(are)484 5230 y(*)h(a)f(server,)f(and)h(we)g(had)g(requested) +e(a)j(rehandshake.)484 5340 y(*/)p eop end %%Page: 96 102 TeXDict begin 96 101 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(96)436 299 y Fs(gnutls_x509_crt_get_dn)42 b(\(cert,)k(dn,)h(&size\);) -436 408 y(printf)f(\("\\tDN:)g(\045s\\n",)g(dn\);)436 -628 y(size)h(=)g(sizeof)g(\(dn\);)436 737 y(gnutls_x509_crt_get_issuer) -o(_dn)41 b(\(cert,)46 b(dn,)h(&size\);)436 847 y(printf)f -(\("\\tIssuer's)f(DN:)i(\045s\\n",)f(dn\);)436 1066 y -(gnutls_x509_crt_deinit)c(\(cert\);)341 1285 y(})150 -1395 y(})150 1628 y Fu(7.5.3)63 b(Certi\014cate)39 b(Request)i -(Generation)150 1775 y FB(The)33 b(follo)m(wing)h(example)g(is)f(ab)s -(out)g(generating)h(a)g(certi\014cate)h(request,)f(and)f(a)g(priv)-5 -b(ate)34 b(k)m(ey)-8 b(.)50 b(A)33 b(cer-)150 1884 y(ti\014cate)c -(request)f(can)g(b)s(e)f(later)i(b)s(e)e(pro)s(cessed)g(b)m(y)h(a)g -(CA,)f(whic)m(h)h(should)e(return)h(a)h(signed)g(certi\014cate.)150 -2052 y Fs(/*)47 b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g -(public)f(domain.)93 b(*/)150 2271 y(#ifdef)46 b(HAVE_CONFIG_H)150 -2381 y(#)h(include)f()150 2491 y(#endif)150 -2710 y(#include)g()150 2819 y(#include)g()150 -2929 y(#include)g()150 3039 y(#include)g() -150 3148 y(#include)g()150 3258 y(#include)g() -150 3477 y(/*)h(This)g(example)f(will)g(generate)g(a)h(private)f(key)h -(and)g(a)g(certificate)198 3587 y(*)g(request.)198 3696 -y(*/)150 3915 y(int)150 4025 y(main)g(\(void\))150 4134 -y({)245 4244 y(gnutls_x509_crq_t)d(crq;)245 4354 y -(gnutls_x509_privkey_t)e(key;)245 4463 y(unsigned)k(char)h(buffer[10)e -(*)i(1024];)245 4573 y(size_t)g(buffer_size)d(=)k(sizeof)e(\(buffer\);) -245 4792 y(gnutls_global_init)d(\(\);)245 5011 y(/*)48 -b(Initialize)d(an)i(empty)f(certificate)f(request,)g(and)293 -5121 y(*)j(an)f(empty)f(private)g(key.)293 5230 y(*/)245 -5340 y(gnutls_x509_crq_init)d(\(&crq\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(96)436 299 y Ft(if)48 b(\(last_alert)c(==)j +(GNUTLS_A_NO_RENEGOTIATION)41 b(&&)627 408 y(ret)47 b(==)g +(GNUTLS_E_WARNING_ALERT_REC)o(EIV)o(ED\))532 518 y(printf)f(\("*)h +(Received)e(NO_RENEGOTIATION)f(alert.)i(")914 628 y("Client)f(Does)i +(not)g(support)f(renegotiation.\\n"\);)436 737 y(else)532 +847 y(printf)g(\("*)h(Received)e(alert)i('\045d':)f(\045s.\\n",)g +(last_alert,)914 956 y(gnutls_alert_get_name)c(\(last_alert\)\);)341 +1066 y(})150 1176 y(})150 1408 y Fv(7.5.2)63 b FB(X.509)42 +b Fv(Certi\014cate)e(P)m(arsing)h(Example)150 1555 y +FB(T)-8 b(o)37 b(demonstrate)g(the)f Fu(X.509)f FB(parsing)h +(capabilities)j(an)d(example)h(program)f(is)g(listed)h(b)s(elo)m(w.)59 +b(That)150 1665 y(program)30 b(reads)g(the)h(p)s(eer's)f +(certi\014cate,)i(and)e(prin)m(ts)g(information)h(ab)s(out)f(it.)150 +1833 y Ft(/*)47 b(Copyright)e(2007,)i(2008)f(Free)h(Software)f +(Foundation)198 1943 y(*)198 2052 y(*)h(Copying)f(and)h(distribution)d +(of)k(this)e(file,)h(with)f(or)h(without)f(modification,)198 +2162 y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 2271 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 2381 y(*/)150 2600 y(#if)g +(HAVE_CONFIG_H)150 2710 y(#)g(include)f()150 +2819 y(#endif)150 3039 y(#include)g()150 3148 +y(#include)g()150 3258 y(#include)g()150 +3367 y(#include)g()150 3587 y(static)g(const)g(char)h(*) +150 3696 y(bin2hex)f(\(const)g(void)h(*bin,)f(size_t)g(bin_size\))150 +3806 y({)245 3915 y(static)h(char)f(printable[110];)245 +4025 y(const)h(unsigned)e(char)i(*_bin)f(=)i(bin;)245 +4134 y(char)f(*print;)245 4244 y(size_t)g(i;)245 4463 +y(if)h(\(bin_size)d(>)i(50\))341 4573 y(bin_size)e(=)j(50;)245 +4792 y(print)f(=)g(printable;)245 4902 y(for)g(\(i)h(=)f(0;)g(i)h(<)f +(bin_size;)e(i++\))341 5011 y({)436 5121 y(sprintf)h(\(print,)g +("\045.2x)g(",)i(_bin[i]\);)436 5230 y(print)f(+=)g(2;)341 +5340 y(})p eop end %%Page: 97 103 TeXDict begin 97 102 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(97)245 408 y Fs(gnutls_x509_privkey_init)42 b(\(&key\);)245 -628 y(/*)48 b(Generate)d(a)j(1024)e(bit)h(RSA)g(private)f(key.)293 -737 y(*/)245 847 y(gnutls_x509_privkey_genera)o(te)c(\(key,)k -(GNUTLS_PK_RSA,)e(1024,)i(0\);)245 1066 y(/*)i(Add)f(stuff)f(to)h(the)g -(distinguished)d(name)293 1176 y(*/)245 1285 y -(gnutls_x509_crq_set_dn_by_)o(oid)d(\(crq,)47 b -(GNUTLS_OID_X520_COUNTRY)o(_NAM)o(E,)1725 1395 y(0,)g("GR",)g(2\);)245 -1614 y(gnutls_x509_crq_set_dn_by_)o(oid)41 b(\(crq,)47 -b(GNUTLS_OID_X520_COMMON_)o(NAME)o(,)1725 1724 y(0,)g("Nikos",)f -(strlen)g(\("Nikos"\)\);)245 1943 y(/*)i(Set)f(the)f(request)g -(version.)293 2052 y(*/)245 2162 y(gnutls_x509_crq_set_versio)o(n)c -(\(crq,)k(1\);)245 2381 y(/*)i(Set)f(a)g(challenge)e(password.)293 -2491 y(*/)245 2600 y(gnutls_x509_crq_set_challe)o(nge_)o(pas)o(swor)o -(d)d(\(crq,)k("something)f(to)i(remember)f(here"\);)245 -2819 y(/*)i(Associate)d(the)i(request)f(with)g(the)h(private)f(key)293 -2929 y(*/)245 3039 y(gnutls_x509_crq_set_key)c(\(crq,)k(key\);)245 -3258 y(/*)i(Self)e(sign)h(the)g(certificate)e(request.)293 -3367 y(*/)245 3477 y(gnutls_x509_crq_sign)e(\(crq,)j(key\);)245 -3696 y(/*)i(Export)e(the)h(PEM)g(encoded)e(certificate)g(request,)h -(and)293 3806 y(*)i(display)d(it.)293 3915 y(*/)245 4025 -y(gnutls_x509_crq_export)d(\(crq,)47 b(GNUTLS_X509_FMT_PEM,)42 -b(buffer,)k(&buffer_size\);)245 4244 y(printf)h(\("Certificate)d -(Request:)93 b(\\n\045s",)46 b(buffer\);)245 4573 y(/*)i(Export)e(the)h -(PEM)g(encoded)e(private)h(key,)h(and)293 4682 y(*)h(display)d(it.)293 -4792 y(*/)245 4902 y(buffer_size)g(=)j(sizeof)e(\(buffer\);)245 -5011 y(gnutls_x509_privkey_export)41 b(\(key,)46 b -(GNUTLS_X509_FMT_PEM,)d(buffer,)j(&buffer_size\);)245 -5230 y(printf)h(\("\\n\\nPrivate)d(key:)94 b(\\n\045s",)46 -b(buffer\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(97)245 408 y Ft(return)47 b(printable;)150 518 +y(})150 737 y(/*)g(This)g(function)e(will)i(print)f(information)f +(about)h(this)h(session's)e(peer)198 847 y(*)i(certificate.)198 +956 y(*/)150 1066 y(void)150 1176 y(print_x509_certificate_i)o(nfo)41 +b(\(gnutls_session_t)i(session\))150 1285 y({)245 1395 +y(char)k(serial[40];)245 1504 y(char)g(dn[128];)245 1614 +y(size_t)g(size;)245 1724 y(unsigned)f(int)h(algo,)f(bits;)245 +1833 y(time_t)h(expiration_time,)c(activation_time;)245 +1943 y(const)k(gnutls_datum_t)d(*cert_list;)245 2052 +y(unsigned)i(int)h(cert_list_size)d(=)j(0;)245 2162 y +(gnutls_x509_crt_t)d(cert;)245 2381 y(/*)k(This)e(function)g(only)g +(works)h(for)g(X.509)f(certificates.)293 2491 y(*/)245 +2600 y(if)i(\(gnutls_certificate_typ)o(e_ge)o(t)42 b(\(session\))j(!=)i +(GNUTLS_CRT_X509\))341 2710 y(return;)245 2929 y(cert_list)f(=)h +(gnutls_certificate_get_pe)o(ers)41 b(\(session,)46 b +(&cert_list_size\);)245 3148 y(printf)h(\("Peer)f(provided)f(\045d)i +(certificates.\\n",)c(cert_list_size\);)245 3367 y(if)48 +b(\(cert_list_size)43 b(>)48 b(0\))341 3477 y({)436 3696 +y(/*)g(we)f(only)f(print)h(information)d(about)j(the)g(first)f +(certificate.)484 3806 y(*/)436 3915 y(gnutls_x509_crt_init)d +(\(&cert\);)436 4134 y(gnutls_x509_crt_import)f(\(cert,)k +(&cert_list[0],)e(GNUTLS_X509_FMT_DER\);)436 4354 y(printf)i +(\("Certificate)f(info:\\n"\);)436 4573 y(expiration_time)f(=)j +(gnutls_x509_crt_get_expira)o(tion)o(_ti)o(me)42 b(\(cert\);)436 +4682 y(activation_time)i(=)j(gnutls_x509_crt_get_activa)o(tion)o(_ti)o +(me)42 b(\(cert\);)436 4902 y(printf)k(\("\\tCertificate)e(is)j(valid)g +(since:)f(\045s",)g(ctime)h(\(&activation_time\)\);)436 +5011 y(printf)f(\("\\tCertificate)e(expires:)i(\045s",)g(ctime)h +(\(&expiration_time\)\);)436 5230 y(/*)h(Print)e(the)h(serial)f(number) +g(of)h(the)g(certificate.)484 5340 y(*/)p eop end %%Page: 98 104 TeXDict begin 98 103 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(98)245 299 y Fs(gnutls_x509_crq_deinit)42 b(\(crq\);)245 -408 y(gnutls_x509_privkey_deinit)f(\(key\);)245 628 y(return)47 -b(0;)150 847 y(})150 1080 y Fu(7.5.4)63 b Fn(PK)m(CS)41 -b Fu(#12)g(Structure)g(Generation)150 1227 y FB(The)30 -b(follo)m(wing)i(example)f(is)f(ab)s(out)g(generating)i(a)f -Ft(PK)n(CS)e FB(#12)i(structure.)150 1395 y Fs(/*)47 -b(This)g(example)f(code)g(is)h(placed)g(in)g(the)g(public)f(domain.)93 -b(*/)150 1614 y(#ifdef)46 b(HAVE_CONFIG_H)150 1724 y(#)h(include)f -()150 1833 y(#endif)150 2052 y(#include)g()150 -2162 y(#include)g()150 2271 y(#include)g() -150 2381 y(#include)g()150 2600 y(#include)g -("examples.h")150 2819 y(#define)g(OUTFILE)g("out.p12")150 -3039 y(/*)h(This)g(function)e(will)i(write)f(a)i(pkcs12)e(structure)f -(into)i(a)g(file.)198 3148 y(*)g(cert:)94 b(is)47 b(a)h(DER)f(encoded)f -(certificate)198 3258 y(*)h(pkcs8_key:)93 b(is)47 b(a)h(PKCS)e(#8)h -(encrypted)f(key)h(\(note)f(that)h(this)f(must)h(be)198 -3367 y(*)95 b(encrypted)45 b(using)i(a)g(PKCS)g(#12)g(cipher,)e(or)j -(some)e(browsers)g(will)g(crash\))198 3477 y(*)h(password:)93 -b(is)47 b(the)g(password)f(used)g(to)i(encrypt)d(the)i(PKCS)g(#12)g -(packet.)198 3587 y(*/)150 3696 y(int)150 3806 y(write_pkcs12)d -(\(const)j(gnutls_datum_t)c(*)48 b(cert,)818 3915 y(const)f -(gnutls_datum_t)c(*)48 b(pkcs8_key,)d(const)h(char)h(*password\))150 -4025 y({)245 4134 y(gnutls_pkcs12_t)d(pkcs12;)245 4244 -y(int)j(ret,)g(bag_index;)245 4354 y(gnutls_pkcs12_bag_t)c(bag,)k -(key_bag;)245 4463 y(char)g(pkcs12_struct[10)c(*)48 b(1024];)245 -4573 y(size_t)f(pkcs12_struct_size;)245 4682 y(FILE)g(*fd;)245 -4902 y(/*)h(A)f(good)g(idea)f(might)h(be)g(to)g(use)g -(gnutls_x509_privkey_get_)o(key_)o(id\(\))293 5011 y(*)h(to)f(obtain)f -(a)h(unique)f(ID.)293 5121 y(*/)245 5230 y(gnutls_datum_t)e(key_id)i(=) -i({)f(\(char*\))f("\\x00\\x00\\x07",)e(3)j(};)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(98)436 299 y Ft(size)47 b(=)g(sizeof)g(\(serial\);)436 +408 y(gnutls_x509_crt_get_serial)41 b(\(cert,)46 b(serial,)g(&size\);) +436 628 y(printf)g(\("\\tCertificate)e(serial)i(number:)g(\045s\\n",)g +(bin2hex)g(\(serial,)f(size\)\);)436 847 y(/*)j(Extract)d(some)i(of)g +(the)g(public)f(key)h(algorithm's)e(parameters)484 956 +y(*/)436 1066 y(algo)i(=)g(gnutls_x509_crt_get_pk_alg)o(orit)o(hm)41 +b(\(cert,)47 b(&bits\);)436 1285 y(printf)f(\("Certificate)f(public)h +(key:)g(\045s",)818 1395 y(gnutls_pk_algorithm_get_n)o(ame)41 +b(\(algo\)\);)436 1614 y(/*)48 b(Print)e(the)h(version)f(of)h(the)g +(X.509)484 1724 y(*)h(certificate.)484 1833 y(*/)436 +1943 y(printf)e(\("\\tCertificate)e(version:)i(#\045d\\n",)818 +2052 y(gnutls_x509_crt_get_versi)o(on)c(\(cert\)\);)436 +2271 y(size)47 b(=)g(sizeof)g(\(dn\);)436 2381 y +(gnutls_x509_crt_get_dn)42 b(\(cert,)k(dn,)h(&size\);)436 +2491 y(printf)f(\("\\tDN:)g(\045s\\n",)g(dn\);)436 2710 +y(size)h(=)g(sizeof)g(\(dn\);)436 2819 y(gnutls_x509_crt_get_issuer)o +(_dn)41 b(\(cert,)46 b(dn,)h(&size\);)436 2929 y(printf)f +(\("\\tIssuer's)f(DN:)i(\045s\\n",)f(dn\);)436 3148 y +(gnutls_x509_crt_deinit)c(\(cert\);)341 3367 y(})150 +3477 y(})150 3710 y Fv(7.5.3)63 b(Certi\014cate)39 b(Request)i +(Generation)150 3857 y FB(The)33 b(follo)m(wing)h(example)g(is)f(ab)s +(out)g(generating)h(a)g(certi\014cate)h(request,)f(and)f(a)g(priv)-5 +b(ate)34 b(k)m(ey)-8 b(.)50 b(A)33 b(cer-)150 3966 y(ti\014cate)c +(request)f(can)g(b)s(e)f(later)i(b)s(e)e(pro)s(cessed)g(b)m(y)h(a)g +(CA,)f(whic)m(h)h(should)e(return)h(a)h(signed)g(certi\014cate.)150 +4134 y Ft(/*)47 b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +4244 y(*)198 4354 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 4463 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 4573 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 4682 y(*/)150 4902 y(#if)g +(HAVE_CONFIG_H)150 5011 y(#)g(include)f()150 +5121 y(#endif)150 5340 y(#include)g()p eop end %%Page: 99 105 TeXDict begin 99 104 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1552 -b(99)245 299 y Fs(gnutls_global_init)43 b(\(\);)245 518 -y(/*)48 b(Firstly)d(we)j(create)e(two)h(helper)f(bags,)g(which)g(hold)h -(the)g(certificate,)293 628 y(*)h(and)f(the)f(\(encrypted\))f(key.)293 -737 y(*/)245 956 y(gnutls_pkcs12_bag_init)d(\(&bag\);)245 -1066 y(gnutls_pkcs12_bag_init)g(\(&key_bag\);)245 1285 -y(ret)47 b(=)h(gnutls_pkcs12_bag_set_da)o(ta)41 b(\(bag,)47 -b(GNUTLS_BAG_CERTIFICATE,)41 b(cert\);)245 1395 y(if)48 -b(\(ret)e(<)i(0\))341 1504 y({)436 1614 y(fprintf)e(\(stderr,)g("ret:) -94 b(\045s\\n",)46 b(gnutls_strerror)e(\(ret\)\);)436 -1724 y(return)i(1;)341 1833 y(})245 2052 y(/*)i(ret)f(now)f(holds)h -(the)g(bag's)f(index.)293 2162 y(*/)245 2271 y(bag_index)g(=)h(ret;)245 -2491 y(/*)h(Associate)d(a)i(friendly)f(name)h(with)f(the)h(given)f -(certificate.)93 b(Used)293 2600 y(*)48 b(by)f(browsers.)293 -2710 y(*/)245 2819 y(gnutls_pkcs12_bag_set_frie)o(ndly)o(_na)o(me)42 -b(\(bag,)k(bag_index,)f("My)i(name"\);)245 3039 y(/*)h(Associate)d(the) -i(certificate)e(with)h(the)h(key)g(using)f(a)i(unique)e(key)293 -3148 y(*)i(ID.)293 3258 y(*/)245 3367 y(gnutls_pkcs12_bag_set_key_)o -(id)42 b(\(bag,)k(bag_index,)f(&key_id\);)245 3587 y(/*)j(use)f(weak)f -(encryption)f(for)i(the)g(certificate.)293 3696 y(*/)245 -3806 y(gnutls_pkcs12_bag_encrypt)41 b(\(bag,)47 b(password,)e -(GNUTLS_PKCS_USE_PKCS12_R)o(C2_4)o(0\);)245 4025 y(/*)j(Now)f(the)f -(key.)293 4134 y(*/)245 4354 y(ret)h(=)h(gnutls_pkcs12_bag_set_da)o(ta) -41 b(\(key_bag,)1868 4463 y(GNUTLS_BAG_PKCS8_ENCRYPTE)o(D_KE)o(Y,)1868 -4573 y(pkcs8_key\);)245 4682 y(if)48 b(\(ret)e(<)i(0\))341 -4792 y({)436 4902 y(fprintf)e(\(stderr,)g("ret:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)436 5011 y(return)i(1;)341 -5121 y(})245 5340 y(/*)i(Note)e(that)h(since)f(the)h(PKCS)g(#8)g(key)g -(is)g(already)f(encrypted)f(we)i(don't)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1582 b(99)150 299 y Ft(#include)46 b()150 408 +y(#include)g()150 518 y(#include)g()150 +628 y(#include)g()150 737 y(#include)g()150 +956 y(/*)h(This)g(example)f(will)g(generate)g(a)h(private)f(key)h(and)g +(a)g(certificate)198 1066 y(*)g(request.)198 1176 y(*/)150 +1395 y(int)150 1504 y(main)g(\(void\))150 1614 y({)245 +1724 y(gnutls_x509_crq_t)d(crq;)245 1833 y(gnutls_x509_privkey_t)e +(key;)245 1943 y(unsigned)k(char)h(buffer[10)e(*)i(1024];)245 +2052 y(size_t)g(buffer_size)d(=)k(sizeof)e(\(buffer\);)245 +2271 y(gnutls_global_init)d(\(\);)245 2491 y(/*)48 b(Initialize)d(an)i +(empty)f(certificate)f(request,)g(and)293 2600 y(*)j(an)f(empty)f +(private)g(key.)293 2710 y(*/)245 2819 y(gnutls_x509_crq_init)d +(\(&crq\);)245 3039 y(gnutls_x509_privkey_init)f(\(&key\);)245 +3258 y(/*)48 b(Generate)d(a)j(1024)e(bit)h(RSA)g(private)f(key.)293 +3367 y(*/)245 3477 y(gnutls_x509_privkey_genera)o(te)c(\(key,)k +(GNUTLS_PK_RSA,)e(1024,)i(0\);)245 3696 y(/*)i(Add)f(stuff)f(to)h(the)g +(distinguished)d(name)293 3806 y(*/)245 3915 y +(gnutls_x509_crq_set_dn_by_)o(oid)d(\(crq,)47 b +(GNUTLS_OID_X520_COUNTRY)o(_NAM)o(E,)1725 4025 y(0,)g("GR",)g(2\);)245 +4244 y(gnutls_x509_crq_set_dn_by_)o(oid)41 b(\(crq,)47 +b(GNUTLS_OID_X520_COMMON_)o(NAME)o(,)1725 4354 y(0,)g("Nikos",)f +(strlen)g(\("Nikos"\)\);)245 4573 y(/*)i(Set)f(the)f(request)g +(version.)293 4682 y(*/)245 4792 y(gnutls_x509_crq_set_versio)o(n)c +(\(crq,)k(1\);)245 5011 y(/*)i(Set)f(a)g(challenge)e(password.)293 +5121 y(*/)245 5230 y(gnutls_x509_crq_set_challe)o(nge_)o(pas)o(swor)o +(d)d(\(crq,)k("something)f(to)i(remember)f(here"\);)p +eop end %%Page: 100 106 TeXDict begin 100 105 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g(Gn)m(uTLS)e(in)h(Applications)1507 -b(100)293 299 y Fs(*)48 b(bother)e(encrypting)f(that)h(bag.)293 -408 y(*/)245 518 y(bag_index)g(=)h(ret;)245 737 y -(gnutls_pkcs12_bag_set_frie)o(ndly)o(_na)o(me)42 b(\(key_bag,)j -(bag_index,)g("My)i(name"\);)245 956 y(gnutls_pkcs12_bag_set_key_)o(id) -42 b(\(key_bag,)j(bag_index,)g(&key_id\);)245 1285 y(/*)j(The)f(bags)f -(were)h(filled.)93 b(Now)47 b(create)f(the)h(PKCS)g(#12)g(structure.) -293 1395 y(*/)245 1504 y(gnutls_pkcs12_init)c(\(&pkcs12\);)245 -1724 y(/*)48 b(Insert)e(the)h(two)g(bags)f(in)h(the)g(PKCS)g(#12)g -(structure.)293 1833 y(*/)245 2052 y(gnutls_pkcs12_set_bag)42 -b(\(pkcs12,)k(bag\);)245 2162 y(gnutls_pkcs12_set_bag)c(\(pkcs12,)k -(key_bag\);)245 2491 y(/*)i(Generate)d(a)j(message)d(authentication)f -(code)j(for)g(the)g(PKCS)f(#12)293 2600 y(*)i(structure.)293 -2710 y(*/)245 2819 y(gnutls_pkcs12_generate_mac)41 b(\(pkcs12,)46 -b(password\);)245 3039 y(pkcs12_struct_size)d(=)48 b(sizeof)e -(\(pkcs12_struct\);)245 3148 y(ret)h(=)341 3258 y(gnutls_pkcs12_export) -42 b(\(pkcs12,)k(GNUTLS_X509_FMT_DER,)c(pkcs12_struct,)1391 -3367 y(&pkcs12_struct_size\);)245 3477 y(if)48 b(\(ret)e(<)i(0\))341 -3587 y({)436 3696 y(fprintf)e(\(stderr,)g("ret:)94 b(\045s\\n",)46 -b(gnutls_strerror)e(\(ret\)\);)436 3806 y(return)i(1;)341 -3915 y(})245 4134 y(fd)i(=)f(fopen)f(\(OUTFILE,)g("w"\);)245 -4244 y(if)i(\(fd)f(==)g(NULL\))341 4354 y({)436 4463 -y(fprintf)f(\(stderr,)g("cannot)g(open)g(file\\n"\);)436 -4573 y(return)g(1;)341 4682 y(})245 4792 y(fwrite)h(\(pkcs12_struct,)c -(1,)k(pkcs12_struct_size,)c(fd\);)245 4902 y(fclose)k(\(fd\);)245 -5121 y(gnutls_pkcs12_bag_deinit)42 b(\(bag\);)245 5230 -y(gnutls_pkcs12_bag_deinit)g(\(key_bag\);)245 5340 y -(gnutls_pkcs12_deinit)h(\(pkcs12\);)p eop end +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1537 b(100)245 299 y Ft(/*)48 b(Associate)d(the)i(request)f(with)g(the) +h(private)f(key)293 408 y(*/)245 518 y(gnutls_x509_crq_set_key)c +(\(crq,)k(key\);)245 737 y(/*)i(Self)e(sign)h(the)g(certificate)e +(request.)293 847 y(*/)245 956 y(gnutls_x509_crq_sign)e(\(crq,)j +(key\);)245 1176 y(/*)i(Export)e(the)h(PEM)g(encoded)e(certificate)g +(request,)h(and)293 1285 y(*)i(display)d(it.)293 1395 +y(*/)245 1504 y(gnutls_x509_crq_export)d(\(crq,)47 b +(GNUTLS_X509_FMT_PEM,)42 b(buffer,)k(&buffer_size\);)245 +1724 y(printf)h(\("Certificate)d(Request:)h(\\n\045s",)h(buffer\);)245 +2052 y(/*)i(Export)e(the)h(PEM)g(encoded)e(private)h(key,)h(and)293 +2162 y(*)h(display)d(it.)293 2271 y(*/)245 2381 y(buffer_size)g(=)j +(sizeof)e(\(buffer\);)245 2491 y(gnutls_x509_privkey_export)41 +b(\(key,)46 b(GNUTLS_X509_FMT_PEM,)d(buffer,)j(&buffer_size\);)245 +2710 y(printf)h(\("\\n\\nPrivate)d(key:)i(\\n\045s",)g(buffer\);)245 +2929 y(gnutls_x509_crq_deinit)c(\(crq\);)245 3039 y +(gnutls_x509_privkey_deinit)f(\(key\);)245 3258 y(return)47 +b(0;)150 3477 y(})150 3710 y Fv(7.5.4)63 b FB(PK)m(CS)40 +b Fv(#12)i(Structure)e(Generation)150 3857 y FB(The)30 +b(follo)m(wing)i(example)f(is)f(ab)s(out)g(generating)i(a)f +Fu(PK)n(CS)e FB(#12)i(structure.)150 4025 y Ft(/*)47 +b(Copyright)e(2007)i(Free)g(Software)e(Foundation)198 +4134 y(*)198 4244 y(*)i(Copying)f(and)h(distribution)d(of)k(this)e +(file,)h(with)f(or)h(without)f(modification,)198 4354 +y(*)h(are)g(permitted)e(in)j(any)e(medium)h(without)e(royalty)h +(provided)g(the)h(copyright)198 4463 y(*)g(notice)f(and)h(this)g +(notice)f(are)h(preserved.)198 4573 y(*/)150 4792 y(#if)g +(HAVE_CONFIG_H)150 4902 y(#)g(include)f()150 +5011 y(#endif)150 5230 y(#include)g()150 5340 +y(#include)g()p eop end %%Page: 101 107 TeXDict begin 101 106 bop 150 -116 a FB(Chapter)30 b(7:)41 -b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Ft(Gn)n(uTLS)f FB(in)g(Applications) -1537 b(101)245 408 y Fs(return)47 b(0;)150 518 y(})150 -751 y FA(7.6)68 b(Compatibilit)l(y)48 b(with)d(the)g(Op)t(enSSL)f -(Library)150 910 y FB(T)-8 b(o)22 b(ease)h Ft(Gn)n(uTLS)p +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1537 b(101)150 299 y Ft(#include)46 b()150 +408 y(#include)g()150 628 y(#define)g(OUTFILE)g +("out.p12")150 847 y(/*)h(This)g(function)e(will)i(write)f(a)i(pkcs12)e +(structure)f(into)i(a)g(file.)198 956 y(*)g(cert:)g(is)g(a)g(DER)g +(encoded)f(certificate)198 1066 y(*)h(pkcs8_key:)e(is)i(a)h(PKCS)e(#8)i +(encrypted)d(key)i(\(note)f(that)h(this)f(must)h(be)198 +1176 y(*)95 b(encrypted)45 b(using)i(a)g(PKCS)g(#12)g(cipher,)e(or)j +(some)e(browsers)g(will)g(crash\))198 1285 y(*)h(password:)e(is)j(the)f +(password)e(used)i(to)g(encrypt)f(the)h(PKCS)f(#12)h(packet.)198 +1395 y(*/)150 1504 y(int)150 1614 y(write_pkcs12)d(\(const)j +(gnutls_datum_t)c(*)48 b(cert,)818 1724 y(const)f(gnutls_datum_t)c(*)48 +b(pkcs8_key,)d(const)h(char)h(*password\))150 1833 y({)245 +1943 y(gnutls_pkcs12_t)d(pkcs12;)245 2052 y(int)j(ret,)g(bag_index;)245 +2162 y(gnutls_pkcs12_bag_t)c(bag,)k(key_bag;)245 2271 +y(char)g(pkcs12_struct[10)c(*)48 b(1024];)245 2381 y(size_t)f +(pkcs12_struct_size;)245 2491 y(FILE)g(*fd;)245 2710 +y(/*)h(A)f(good)g(idea)f(might)h(be)g(to)g(use)g +(gnutls_x509_privkey_get_)o(key_)o(id\(\))293 2819 y(*)h(to)f(obtain)f +(a)h(unique)f(ID.)293 2929 y(*/)245 3039 y(gnutls_datum_t)e(key_id)i(=) +i({)f("\\x00\\x00\\x07",)d(3)j(};)245 3258 y(gnutls_global_init)c +(\(\);)245 3477 y(/*)48 b(Firstly)d(we)j(create)e(two)h(helper)f(bags,) +g(which)g(hold)h(the)g(certificate,)293 3587 y(*)h(and)f(the)f +(\(encrypted\))f(key.)293 3696 y(*/)245 3915 y(gnutls_pkcs12_bag_init)d +(\(&bag\);)245 4025 y(gnutls_pkcs12_bag_init)g(\(&key_bag\);)245 +4244 y(ret)47 b(=)h(gnutls_pkcs12_bag_set_da)o(ta)41 +b(\(bag,)47 b(GNUTLS_BAG_CERTIFICATE,)41 b(cert\);)245 +4354 y(if)48 b(\(ret)e(<)i(0\))341 4463 y({)436 4573 +y(fprintf)e(\(stderr,)g("ret:)g(\045s\\n",)g(gnutls_strerror)e +(\(ret\)\);)436 4682 y(return)i(1;)341 4792 y(})245 5011 +y(/*)i(ret)f(now)f(holds)h(the)g(bag's)f(index.)293 5121 +y(*/)245 5230 y(bag_index)g(=)h(ret;)p eop end +%%Page: 102 108 +TeXDict begin 102 107 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1537 b(102)245 299 y Ft(/*)48 b(Associate)d(a)i(friendly)f(name)h(with) +f(the)h(given)f(certificate.)f(Used)293 408 y(*)j(by)f(browsers.)293 +518 y(*/)245 628 y(gnutls_pkcs12_bag_set_frie)o(ndly)o(_na)o(me)42 +b(\(bag,)k(bag_index,)f("My)i(name"\);)245 847 y(/*)h(Associate)d(the)i +(certificate)e(with)h(the)h(key)g(using)f(a)i(unique)e(key)293 +956 y(*)i(ID.)293 1066 y(*/)245 1176 y(gnutls_pkcs12_bag_set_key_)o(id) +42 b(\(bag,)k(bag_index,)f(&key_id\);)245 1395 y(/*)j(use)f(weak)f +(encryption)f(for)i(the)g(certificate.)293 1504 y(*/)245 +1614 y(gnutls_pkcs12_bag_encrypt)41 b(\(bag,)47 b(password,)e +(GNUTLS_PKCS_USE_PKCS12_R)o(C2_4)o(0\);)245 1833 y(/*)j(Now)f(the)f +(key.)293 1943 y(*/)245 2162 y(ret)h(=)h(gnutls_pkcs12_bag_set_da)o(ta) +41 b(\(key_bag,)1868 2271 y(GNUTLS_BAG_PKCS8_ENCRYPTE)o(D_KE)o(Y,)1868 +2381 y(pkcs8_key\);)245 2491 y(if)48 b(\(ret)e(<)i(0\))341 +2600 y({)436 2710 y(fprintf)e(\(stderr,)g("ret:)g(\045s\\n",)g +(gnutls_strerror)e(\(ret\)\);)436 2819 y(return)i(1;)341 +2929 y(})245 3148 y(/*)i(Note)e(that)h(since)f(the)h(PKCS)g(#8)g(key)g +(is)g(already)f(encrypted)f(we)i(don't)293 3258 y(*)h(bother)e +(encrypting)f(that)h(bag.)293 3367 y(*/)245 3477 y(bag_index)g(=)h +(ret;)245 3696 y(gnutls_pkcs12_bag_set_frie)o(ndly)o(_na)o(me)42 +b(\(key_bag,)j(bag_index,)g("My)i(name"\);)245 3915 y +(gnutls_pkcs12_bag_set_key_)o(id)42 b(\(key_bag,)j(bag_index,)g +(&key_id\);)245 4244 y(/*)j(The)f(bags)f(were)h(filled.)f(Now)h(create) +f(the)h(PKCS)f(#12)h(structure.)293 4354 y(*/)245 4463 +y(gnutls_pkcs12_init)c(\(&pkcs12\);)245 4682 y(/*)48 +b(Insert)e(the)h(two)g(bags)f(in)h(the)g(PKCS)g(#12)g(structure.)293 +4792 y(*/)245 5011 y(gnutls_pkcs12_set_bag)42 b(\(pkcs12,)k(bag\);)245 +5121 y(gnutls_pkcs12_set_bag)c(\(pkcs12,)k(key_bag\);)p +eop end +%%Page: 103 109 +TeXDict begin 103 108 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1537 b(103)245 299 y Ft(/*)48 b(Generate)d(a)j(message)d +(authentication)f(code)j(for)g(the)g(PKCS)f(#12)293 408 +y(*)i(structure.)293 518 y(*/)245 628 y(gnutls_pkcs12_generate_mac)41 +b(\(pkcs12,)46 b(password\);)245 847 y(pkcs12_struct_size)d(=)48 +b(sizeof)e(\(pkcs12_struct\);)245 956 y(ret)h(=)341 1066 +y(gnutls_pkcs12_export)42 b(\(pkcs12,)k(GNUTLS_X509_FMT_DER,)c +(pkcs12_struct,)1391 1176 y(&pkcs12_struct_size\);)245 +1285 y(if)48 b(\(ret)e(<)i(0\))341 1395 y({)436 1504 +y(fprintf)e(\(stderr,)g("ret:)g(\045s\\n",)g(gnutls_strerror)e +(\(ret\)\);)436 1614 y(return)i(1;)341 1724 y(})245 1943 +y(fd)i(=)f(fopen)f(\(OUTFILE,)g("w"\);)245 2052 y(if)i(\(fd)f(==)g +(NULL\))341 2162 y({)436 2271 y(fprintf)f(\(stderr,)g("cannot)g(open)g +(file\\n"\);)436 2381 y(return)g(1;)341 2491 y(})245 +2600 y(fwrite)h(\(pkcs12_struct,)c(1,)k(pkcs12_struct_size,)c(fd\);)245 +2710 y(fclose)k(\(fd\);)245 2929 y(gnutls_pkcs12_bag_deinit)42 +b(\(bag\);)245 3039 y(gnutls_pkcs12_bag_deinit)g(\(key_bag\);)245 +3148 y(gnutls_pkcs12_deinit)h(\(pkcs12\);)245 3367 y(return)k(0;)150 +3477 y(})150 3714 y FA(7.6)68 b(Compatibilit)l(y)48 b(with)d(the)g(Op)t +(enSSL)f(Library)150 3873 y FB(T)-8 b(o)22 b(ease)h Fu(Gn)n(uTLS)p FB(')f(in)m(tegration)i(with)d(existing)i(applications,)i(a)d (compatibilit)m(y)i(la)m(y)m(er)g(with)d(the)h(widely)150 -1020 y(used)30 b(Op)s(enSSL)e(library)i(is)g(included)g(in)g(the)h -Fs(gnutls-openssl)26 b FB(library)-8 b(.)41 b(This)30 -b(compatibilit)m(y)i(la)m(y)m(er)150 1129 y(is)i(not)g(complete)i(and)d +3983 y(used)30 b(Op)s(enSSL)e(library)i(is)g(included)g(in)g(the)h +Ft(gnutls-openssl)26 b FB(library)-8 b(.)41 b(This)30 +b(compatibilit)m(y)i(la)m(y)m(er)150 4093 y(is)i(not)g(complete)i(and)d (it)i(is)f(not)g(in)m(tended)g(to)h(completely)g(reimplemen)m(t)g(the)f -(Op)s(enSSL)d(API)j(with)150 1239 y Ft(Gn)n(uTLS)p FB(.)28 +(Op)s(enSSL)d(API)j(with)150 4202 y Fu(Gn)n(uTLS)p FB(.)28 b(It)g(only)f(pro)m(vides)h(source-lev)m(el)i(compatibilit)m(y)-8 b(.)42 b(There)27 b(is)h(curren)m(tly)f(no)h(attempt)h(to)f(mak)m(e)150 -1348 y(it)j(binary-compatible)g(with)f(Op)s(enSSL.)150 -1483 y(The)g(protot)m(yp)s(es)h(for)f(the)g(compatibilit)m(y)j -(functions)d(are)h(in)f(the)g(`)p Fs(gnutls/openssl.h)p -FB(')d(header)j(\014le.)150 1617 y(Curren)m(t)f(limitations)j(imp)s +4312 y(it)j(binary-compatible)g(with)f(Op)s(enSSL.)150 +4449 y(The)g(protot)m(yp)s(es)h(for)f(the)g(compatibilit)m(y)j +(functions)d(are)h(in)f(the)g(`)p Ft(gnutls/openssl.h)p +FB(')d(header)j(\014le.)150 4587 y(Curren)m(t)f(limitations)j(imp)s (osed)e(b)m(y)g(the)h(compatibilit)m(y)h(la)m(y)m(er)g(include:)225 -1752 y Fy(\017)60 b FB(Error)29 b(handling)h(is)h(not)f(thread)g(safe.) -150 1984 y FA(7.7)68 b(Opaque)45 b(PRF)g(Input)f(TLS)g(Extension)150 -2144 y FB(Gn)m(uTLS)96 b(supp)s(orts)g(the)i(Opaque)f(PRF)g(Input)f -(TLS)h(extension)h(\()p Fs(draft-rescorla-)150 2253 y +4724 y Fs(\017)60 b FB(Error)29 b(handling)h(is)h(not)f(thread)g(safe.) +150 4961 y FA(7.7)68 b(Opaque)45 b(PRF)g(Input)f(TLS)g(Extension)150 +5121 y FB(Gn)m(uTLS)96 b(supp)s(orts)g(the)i(Opaque)f(PRF)g(Input)f +(TLS)h(extension)h(\()p Ft(draft-rescorla-)150 5230 y (tls-opaque-prf-input-00.)o(txt)p FB(\).)161 b(The)71 b(API)h(consists)h(of)g(one)f(API)h(for)f(use)g(in)g(the)150 -2363 y(clien)m(t,)81 b([gn)m(utls)p 740 2363 28 4 v 40 -w(opr\014)p 963 2363 V 39 w(enable)p 1254 2363 V 41 w(clien)m(t],)g -(page)70 b(152,)80 b(and)69 b(one)g(API)g(for)g(use)g(in)g(the)g(serv)m -(er,)150 2472 y([gn)m(utls)p 421 2472 V 41 w(opr\014)p -645 2472 V 39 w(enable)p 936 2472 V 40 w(serv)m(er],)56 -b(page)51 b(152.)101 b(Y)-8 b(ou)51 b(m)m(ust)f(in)m(v)m(ok)m(e)i(b)s -(oth)d(functions)h(b)s(efore)f(calling)150 2582 y([gn)m(utls)p -421 2582 V 41 w(handshak)m(e],)34 b(page)g(148.)51 b(The)33 +5340 y(clien)m(t,)81 b([gn)m(utls)p 740 5340 28 4 v 40 +w(opr\014)p 963 5340 V 39 w(enable)p 1254 5340 V 41 w(clien)m(t],)g +(page)70 b(150,)80 b(and)69 b(one)g(API)g(for)g(use)g(in)g(the)g(serv)m +(er,)p eop end +%%Page: 104 110 +TeXDict begin 104 109 bop 150 -116 a FB(Chapter)30 b(7:)41 +b(Ho)m(w)31 b(T)-8 b(o)31 b(Use)g Fu(Gn)n(uTLS)f FB(in)g(Applications) +1537 b(104)150 299 y([gn)m(utls)p 421 299 28 4 v 41 w(opr\014)p +645 299 V 39 w(enable)p 936 299 V 40 w(serv)m(er],)56 +b(page)51 b(150.)101 b(Y)-8 b(ou)51 b(m)m(ust)f(in)m(v)m(ok)m(e)i(b)s +(oth)d(functions)h(b)s(efore)f(calling)150 408 y([gn)m(utls)p +421 408 V 41 w(handshak)m(e],)34 b(page)g(146.)51 b(The)33 b(serv)m(er)h(utilizes)g(a)g(callbac)m(k)h(function)e(in)m(to)i(the)e -(application.)150 2692 y(The)e(callbac)m(k)j(can)e(lo)s(ok)h(at)f(the)g +(application.)150 518 y(The)e(callbac)m(k)j(can)e(lo)s(ok)h(at)f(the)g (random)f(string)h(pro)m(vided)g(b)m(y)f(the)h(clien)m(t,)i(and)e(also) -g(set)h(the)f(serv)m(er)150 2801 y(string.)41 b(The)30 +g(set)h(the)f(serv)m(er)150 628 y(string.)41 b(The)30 b(string)g(lengths)h(m)m(ust)f(b)s(e)g(equal)g(according)i(to)f(the)f -(proto)s(col.)150 3034 y FA(7.8)68 b(Keying)46 b(Material)g(Exp)t -(orters)150 3193 y FB(The)24 b(TLS)f(PRF)h(can)h(b)s(e)e(used)h(b)m(y)g -(other)g(proto)s(cols)h(to)g(deriv)m(e)g(data.)39 b(The)24 -b(API)g(to)h(use)f(is)g([gn)m(utls)p 3544 3193 V 41 w(prf)7 -b(],)150 3303 y(page)35 b(156.)53 b(The)34 b(function)g(needs)f(to)i(b) -s(e)f(pro)m(vided)f(with)h(the)g(lab)s(el)h(in)f(the)g(parameter)h -Fs(label)p FB(,)f(and)150 3412 y(the)e(extra)g(data)g(to)g(mix)f(in)g -(the)h Fs(extra)e FB(parameter.)44 b(Dep)s(ending)31 -b(on)g(whether)g(y)m(ou)h(w)m(an)m(t)g(to)g(mix)f(in)150 -3522 y(the)g(clien)m(t)h(or)e(serv)m(er)h(random)e(data)i(\014rst,)f(y) -m(ou)h(can)f(set)h(the)g Fs(server_random_first)25 b -FB(parameter.)150 3656 y(F)-8 b(or)32 b(example,)h(after)f -(establishing)g(a)g(TLS)f(session)g(using)g([gn)m(utls)p -2502 3656 V 41 w(handshak)m(e],)h(page)g(148,)i(y)m(ou)e(can)150 -3766 y(in)m(v)m(ok)m(e)g(the)f(TLS)e(PRF)i(with)f(this)g(call:)390 -3878 y Fq(#define)41 b(MYLABEL)g("EXPORTER-FOO")390 3965 -y(#define)g(MYCONTEXT)g("some)f(context)h(data")390 4052 -y(char)f(out[32];)390 4139 y(rc)g(=)f(gnutls_prf)j(\(session,)f(strlen) -g(\(MYLABEL\),)g(MYLABEL,)g(0,)1057 4227 y(strlen)f(\(MYCONTEXT\),)i -(MYCONTEXT,)g(32,)e(out\);)150 4361 y FB(If)33 b(y)m(ou)h(don't)g(w)m -(an)m(t)g(to)g(mix)g(in)f(the)h(clien)m(t/serv)m(er)i(random,)e(there)g -(is)f(a)h(more)g(lo)m(w-lev)m(el)i(TLS)d(PRF)150 4471 -y(in)m(terface)f(called)g([gn)m(utls)p 1048 4471 V 40 -w(prf)p 1203 4471 V 39 w(ra)m(w],)f(page)g(155.)p eop -end -%%Page: 102 108 -TeXDict begin 102 107 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(102)150 299 y Fx(8)80 +(proto)s(col.)p eop end +%%Page: 105 111 +TeXDict begin 105 110 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(105)150 299 y Fy(8)80 b(Included)52 b(Programs)150 537 y FB(Included)44 b(with)g -Ft(Gn)n(uTLS)h FB(are)h(also)g(a)f(few)g(command)g(line)g(to)s(ols)h +Fu(Gn)n(uTLS)h FB(are)h(also)g(a)f(few)g(command)g(line)g(to)s(ols)h (that)f(let)h(y)m(ou)g(use)e(the)h(library)150 646 y(for)37 b(common)g(tasks)g(without)g(writing)g(an)f(application.)62 b(The)36 b(applications)i(are)g(discussed)d(in)i(this)150 756 y(c)m(hapter.)150 990 y FA(8.1)68 b(In)l(v)l(oking)46 b(certto)t(ol)150 1149 y FB(This)24 b(is)i(a)f(program)g(to)h(generate) -h Ft(X.509)d FB(certi\014cates,)29 b(certi\014cate)e(requests,)f(CRLs)f -(and)f(priv)-5 b(ate)26 b(k)m(eys.)150 1285 y Fs(Certtool)46 +h Fu(X.509)d FB(certi\014cates,)29 b(certi\014cate)e(requests,)f(CRLs)f +(and)f(priv)-5 b(ate)26 b(k)m(eys.)150 1285 y Ft(Certtool)46 b(help)150 1395 y(Usage:)g(certtool)g([options])389 1504 y(-s,)h(--generate-self-signed)1582 1614 y(Generate)e(a)j(self-signed)d (certificate.)389 1724 y(-c,)i(--generate-certificate)1582 @@ -20674,7 +17019,7 @@ y(The)i(last)f(certificate)f(in)i(the)g(chain)g(must)1582 2929 y(be)g(a)g(self)g(signed)f(one.)389 3039 y(--verify-crl)617 b(Verify)46 b(a)h(CRL.)389 3148 y(--generate-dh-params)233 -b(Generate)45 b(PKCS)i(#3)g(encoded)f(Diffie-Hellman)1582 +b(Generate)45 b(PKCS)i(#3)g(encoded)f(Diffie)g(Hellman)1582 3258 y(parameters.)389 3367 y(--get-dh-params)473 b(Get)47 b(the)g(included)e(PKCS)i(#3)g(encoded)f(Diffie)1582 3477 y(Hellman)g(parameters.)389 3587 y(--load-privkey)e(FILE)285 @@ -20694,9 +17039,9 @@ (a)h(PKCS)e(#7)1582 5230 y(structure.)389 5340 y(--smime-to-p7)569 b(Convert)46 b(S/MIME)g(to)h(PKCS)g(#7)g(structure.)p eop end -%%Page: 103 109 -TeXDict begin 103 108 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(103)389 299 y Fs(-k,)47 +%%Page: 106 112 +TeXDict begin 106 111 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(106)389 299 y Ft(-k,)47 b(--key-info)522 b(Print)46 b(information)f(on)i(a)h(private)d(key.)389 408 y(--fix-key)761 b(Regenerate)45 b(the)i(parameters)e(in)i(a)g (private)1582 518 y(key.)389 628 y(--to-p12)809 b(Generate)45 @@ -20717,598 +17062,580 @@ (non)1582 2271 y(interactive)e(operation.)389 2381 y(-d,)i(--debug)e (LEVEL)381 b(specify)46 b(the)h(debug)f(level.)g(Default)g(is)h(1.)389 2491 y(-h,)g(--help)714 b(shows)46 b(this)h(help)f(text)389 -2600 y(-v,)h(--version)570 b(shows)46 b(the)h(program's)e(version)150 -2742 y FB(The)33 b(program)h(can)g(b)s(e)f(used)g(in)m(teractiv)m(ely)j +2600 y(-v,)h(--version)570 b(shows)46 b(the)h(program's)e(version)389 +2710 y(--copyright)665 b(shows)46 b(the)h(program's)e(license)150 +2843 y FB(The)33 b(program)h(can)g(b)s(e)f(used)g(in)m(teractiv)m(ely)j (or)e(non)f(in)m(teractiv)m(ely)k(b)m(y)c(sp)s(ecifying)h(the)g -Fs(--template)150 2852 y FB(command)c(line)h(option.)41 +Ft(--template)150 2952 y FB(command)c(line)h(option.)41 b(See)31 b(b)s(elo)m(w)f(for)g(an)h(example)g(of)f(a)h(template)h -(\014le.)150 2993 y(Ho)m(w)f(to)g(use)f(certto)s(ol)i(in)m(teractiv)m -(ely:)225 3135 y Fy(\017)60 b FB(T)-8 b(o)31 b(generate)h(parameters)e -(for)h(Di\016e-Hellman)h(k)m(ey)f(exc)m(hange,)h(use)e(the)h(command:) -570 3273 y Fs($)47 b(certtool)f(--generate-dh-params)c(--outfile)k -(dh.pem)225 3411 y Fy(\017)60 b FB(T)-8 b(o)31 b(generate)h(parameters) -e(for)h(the)f(RSA-EXPOR)-8 b(T)30 b(k)m(ey)h(exc)m(hange,)h(use)e(the)h -(command:)570 3549 y Fs($)47 b(certtool)f(--generate-privkey)d(--bits)j -(512)h(--outfile)e(rsa.pem)225 3687 y Fy(\017)60 b FB(T)-8 -b(o)31 b(create)h(a)f(self)f(signed)g(certi\014cate,)j(use)d(the)h -(command:)570 3825 y Fs($)47 b(certtool)f(--generate-privkey)d -(--outfile)i(ca-key.pem)570 3935 y($)i(certtool)f -(--generate-self-signed)c(--load-privkey)i(ca-key.pem)h(\\)713 -4045 y(--outfile)g(ca-cert.pem)330 4183 y FB(Note)33 -b(that)g(a)f(self-signed)h(certi\014cate)h(usually)e(b)s(elongs)f(to)i -(a)f(certi\014cate)j(authorit)m(y)-8 b(,)33 b(that)g(signs)330 -4292 y(other)e(certi\014cates.)225 4430 y Fy(\017)60 -b FB(T)-8 b(o)31 b(create)h(a)f(priv)-5 b(ate)30 b(k)m(ey)h(\(RSA)g(b)m -(y)f(default\),)h(run:)570 4568 y Fs($)47 b(certtool)f -(--generate-privkey)d(--outfile)i(key.pem)330 4707 y -FB(T)-8 b(o)31 b(create)h(a)f(DSA)f(priv)-5 b(ate)31 -b(k)m(ey)-8 b(,)32 b(run:)570 4845 y Fs($)47 b(certtool)f(--dsa)g -(--generate-privkey)d(--outfile)i(key-dsa.pem)225 4983 -y Fy(\017)60 b FB(T)-8 b(o)31 b(generate)h(a)e(certi\014cate)j(using)d -(the)g(priv)-5 b(ate)31 b(k)m(ey)-8 b(,)32 b(use)e(the)h(command:)570 -5121 y Fs($)47 b(certtool)f(--generate-certificate)c(--load-privkey)i -(key.pem)h(\\)713 5230 y(--outfile)g(cert.pem)h(--load-ca-certificate)c -(ca-cert.pem)j(\\)713 5340 y(--load-ca-privkey)e(ca-key.pem)p +(\014le.)150 3086 y(Ho)m(w)f(to)g(use)f(certto)s(ol)i(in)m(teractiv)m +(ely:)225 3219 y Fs(\017)60 b FB(T)-8 b(o)31 b(generate)h(parameters)e +(for)h(Di\016e)g(Hellman)g(k)m(ey)g(exc)m(hange,)h(use)e(the)h +(command:)570 3352 y Ft($)47 b(certtool)f(--generate-dh-params)c +(--outfile)k(dh.pem)225 3485 y Fs(\017)60 b FB(T)-8 b(o)31 +b(generate)h(parameters)e(for)h(the)f(RSA-EXPOR)-8 b(T)30 +b(k)m(ey)h(exc)m(hange,)h(use)e(the)h(command:)570 3618 +y Ft($)47 b(certtool)f(--generate-privkey)d(--bits)j(512)h(--outfile)e +(rsa.pem)225 3751 y Fs(\017)60 b FB(T)-8 b(o)31 b(create)h(a)f(self)f +(signed)g(certi\014cate,)j(use)d(the)h(command:)570 3884 +y Ft($)47 b(certtool)f(--generate-privkey)d(--outfile)i(ca-key.pem)570 +3994 y($)i(certtool)f(--generate-self-signed)c(--load-privkey)i +(ca-key.pem)h(\\)713 4103 y(--outfile)g(ca-cert.pem)330 +4236 y FB(Note)33 b(that)g(a)f(self-signed)h(certi\014cate)h(usually)e +(b)s(elongs)f(to)i(a)f(certi\014cate)j(authorit)m(y)-8 +b(,)33 b(that)g(signs)330 4346 y(other)e(certi\014cates.)225 +4479 y Fs(\017)60 b FB(T)-8 b(o)31 b(create)h(a)f(priv)-5 +b(ate)30 b(k)m(ey)-8 b(,)32 b(run:)570 4612 y Ft($)47 +b(certtool)f(--generate-privkey)d(--outfile)i(key.pem)225 +4745 y Fs(\017)60 b FB(T)-8 b(o)31 b(generate)h(a)e(certi\014cate)j +(using)d(the)g(priv)-5 b(ate)31 b(k)m(ey)-8 b(,)32 b(use)e(the)h +(command:)570 4878 y Ft($)47 b(certtool)f(--generate-certificate)c +(--load-privkey)i(key.pem)h(\\)713 4988 y(--outfile)g(cert.pem)h +(--load-ca-certificate)c(ca-cert.pem)j(\\)713 5097 y(--load-ca-privkey) +e(ca-key.pem)225 5230 y Fs(\017)60 b FB(T)-8 b(o)28 b(create)h(a)f +(certi\014cate)h(request)f(\(needed)f(when)g(the)g(certi\014cate)j(is)d +(issued)g(b)m(y)g(another)h(part)m(y\),)330 5340 y(run:)p eop end -%%Page: 104 110 -TeXDict begin 104 109 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(104)225 299 y Fy(\017)60 -b FB(T)-8 b(o)28 b(create)h(a)f(certi\014cate)h(request)f(\(needed)f -(when)g(the)g(certi\014cate)j(is)d(issued)g(b)m(y)g(another)h(part)m -(y\),)330 408 y(run:)570 542 y Fs($)47 b(certtool)f(--generate-request) -d(--load-privkey)h(key.pem)i(\\)665 651 y(--outfile)g(request.pem)225 -785 y Fy(\017)60 b FB(T)-8 b(o)31 b(generate)h(a)e(certi\014cate)j -(using)d(the)g(previous)g(request,)h(use)f(the)h(command:)570 -918 y Fs($)47 b(certtool)f(--generate-certificate)c(--load-request)i -(request.pem)g(\\)713 1028 y(--outfile)h(cert.pem)h(\\)713 -1137 y(--load-ca-certificate)c(ca-cert.pem)j(--load-ca-privkey)e -(ca-key.pem)225 1271 y Fy(\017)60 b FB(T)-8 b(o)31 b(view)f(the)h -(certi\014cate)h(information,)f(use:)570 1404 y Fs($)47 -b(certtool)f(--certificate-info)d(--infile)i(cert.pem)225 -1538 y Fy(\017)60 b FB(T)-8 b(o)44 b(generate)i(a)e Ft(PK)n(CS)f +%%Page: 107 113 +TeXDict begin 107 112 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(107)570 299 y Ft($)47 +b(certtool)f(--generate-request)d(--load-privkey)h(key.pem)i(\\)665 +408 y(--outfile)g(request.pem)225 543 y Fs(\017)60 b +FB(T)-8 b(o)31 b(generate)h(a)e(certi\014cate)j(using)d(the)g(previous) +g(request,)h(use)f(the)h(command:)570 677 y Ft($)47 b(certtool)f +(--generate-certificate)c(--load-request)i(request.pem)g(\\)713 +787 y(--outfile)h(cert.pem)h(\\)713 897 y(--load-ca-certificate)c +(ca-cert.pem)j(--load-ca-privkey)e(ca-key.pem)225 1031 +y Fs(\017)60 b FB(T)-8 b(o)31 b(view)f(the)h(certi\014cate)h +(information,)f(use:)570 1166 y Ft($)47 b(certtool)f +(--certificate-info)d(--infile)i(cert.pem)225 1300 y +Fs(\017)60 b FB(T)-8 b(o)44 b(generate)i(a)e Fu(PK)n(CS)f FB(#12)h(structure)g(using)f(the)h(previous)g(k)m(ey)g(and)g -(certi\014cate,)49 b(use)44 b(the)330 1647 y(command:)570 -1781 y Fs($)j(certtool)f(--load-certificate)d(cert.pem)i -(--load-privkey)f(key.pem)i(\\)665 1890 y(--to-p12)g(--outder)g -(--outfile)f(key.p12)225 2024 y Fy(\017)60 b FB(Pro)m(xy)22 +(certi\014cate,)49 b(use)44 b(the)330 1410 y(command:)570 +1544 y Ft($)j(certtool)f(--load-certificate)d(cert.pem)i +(--load-privkey)f(key.pem)i(\\)665 1654 y(--to-p12)g(--outder)g +(--outfile)f(key.p12)225 1788 y Fs(\017)60 b FB(Pro)m(xy)22 b(certi\014cate)i(can)f(b)s(e)e(used)g(to)i(delegate)h(y)m(our)e (creden)m(tial)i(to)f(a)f(temp)s(orary)-8 b(,)24 b(t)m(ypically)g -(short-)330 2133 y(liv)m(ed,)39 b(certi\014cate.)60 b(T)-8 +(short-)330 1898 y(liv)m(ed,)39 b(certi\014cate.)60 b(T)-8 b(o)36 b(create)i(one)e(from)g(the)g(previously)g(created)i -(certi\014cate,)h(\014rst)d(create)i(a)330 2243 y(temp)s(orary)30 +(certi\014cate,)h(\014rst)d(create)i(a)330 2007 y(temp)s(orary)30 b(k)m(ey)h(and)f(then)g(generate)i(a)f(pro)m(xy)f(certi\014cate)i(for)e -(it,)i(using)e(the)g(commands:)570 2376 y Fs($)47 b(certtool)f -(--generate-privkey)d(>)k(proxy-key.pem)570 2486 y($)g(certtool)f +(it,)i(using)e(the)g(commands:)570 2142 y Ft($)47 b(certtool)f +(--generate-privkey)d(>)k(proxy-key.pem)570 2252 y($)g(certtool)f (--generate-proxy)d(--load-ca-privkey)g(key.pem)j(\\)665 -2595 y(--load-privkey)e(proxy-key.pem)h(--load-certificate)d(cert.pem)k -(\\)665 2705 y(--outfile)g(proxy-cert.pem)225 2838 y -Fy(\017)60 b FB(T)-8 b(o)31 b(create)h(an)e(empt)m(y)h(Certi\014cate)h -(Rev)m(o)s(cation)g(List)f(\(CRL\))f(do:)570 2972 y Fs($)47 +2361 y(--load-privkey)e(proxy-key.pem)h(--load-certificate)d(cert.pem)k +(\\)665 2471 y(--outfile)g(proxy-cert.pem)225 2605 y +Fs(\017)60 b FB(T)-8 b(o)31 b(create)h(an)e(empt)m(y)h(Certi\014cate)h +(Rev)m(o)s(cation)g(List)f(\(CRL\))f(do:)570 2740 y Ft($)47 b(certtool)f(--generate-crl)e(--load-ca-privkey)f(x509-ca-key.pem)h -(--load-ca-certificate)e(x509-ca.pem)330 3105 y FB(T)-8 +(--load-ca-certificate)e(x509-ca.pem)330 2874 y FB(T)-8 b(o)30 b(create)h(a)e(CRL)g(that)h(con)m(tains)g(some)g(rev)m(ok)m(ed)h (certi\014cates,)g(place)f(the)g(certi\014cates)h(in)e(a)h(\014le)330 -3215 y(and)g(use)g Fs(--load-certificate)25 b FB(as)31 -b(follo)m(ws:)570 3348 y Fs($)47 b(certtool)f(--generate-crl)e +2984 y(and)g(use)g Ft(--load-certificate)25 b FB(as)31 +b(follo)m(ws:)570 3118 y Ft($)47 b(certtool)f(--generate-crl)e (--load-ca-privkey)f(x509-ca-key.pem)h(--load-ca-certificate)e (x509-ca.pem)i(--load-certificate)f(revoked-certs.pem)225 -3482 y Fy(\017)60 b FB(T)-8 b(o)31 b(v)m(erify)g(a)f(Certi\014cate)i -(Rev)m(o)s(cation)h(List)d(\(CRL\))h(do:)570 3615 y Fs($)47 +3253 y Fs(\017)60 b FB(T)-8 b(o)31 b(v)m(erify)g(a)f(Certi\014cate)i +(Rev)m(o)s(cation)h(List)d(\(CRL\))h(do:)570 3387 y Ft($)47 b(certtool)f(--verify-crl)e(--load-ca-certificate)e(x509-ca.pem)j(<)j -(crl.pem)150 3772 y FB(Certto)s(ol's)31 b(template)h(\014le)f(format:) -225 3906 y Fy(\017)60 b FB(Firstly)26 b(create)g(a)g(\014le)f(named)g +(crl.pem)150 3547 y FB(Certto)s(ol's)31 b(template)h(\014le)f(format:) +225 3681 y Fs(\017)60 b FB(Firstly)26 b(create)g(a)g(\014le)f(named)g ('cert.cfg')i(that)f(con)m(tains)g(the)f(information)g(ab)s(out)g(the)h -(certi\014cate.)330 4015 y(An)k(example)h(\014le)g(is)f(listed)h(b)s -(elo)m(w.)225 4149 y Fy(\017)60 b FB(Then)29 b(execute:)570 -4282 y Fs($)47 b(certtool)f(--generate-certificate)c(cert.pem)j -(--load-privkey)f(key.pem)94 b(\\)713 4392 y(--template)45 -b(cert.cfg)h(\\)713 4501 y(--load-ca-certificate)c(ca-cert.pem)j -(--load-ca-privkey)e(ca-key.pem)150 4659 y FB(An)30 b(example)h(certto) -s(ol)h(template)g(\014le:)390 4792 y Fs(#)47 b(X.509)g(Certificate)e -(options)390 4902 y(#)390 5011 y(#)i(DN)h(options)390 -5230 y(#)f(The)g(organization)e(of)i(the)g(subject.)390 -5340 y(organization)d(=)k("Koko)e(inc.")p eop end -%%Page: 105 111 -TeXDict begin 105 110 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(105)390 408 y Fs(#)47 -b(The)g(organizational)d(unit)j(of)g(the)g(subject.)390 -518 y(unit)g(=)g("sleeping)e(dept.")390 737 y(#)i(The)g(locality)f(of)h -(the)g(subject.)390 847 y(#)g(locality)f(=)390 1066 y(#)h(The)g(state)g -(of)g(the)g(certificate)e(owner.)390 1176 y(state)h(=)i("Attiki")390 -1395 y(#)f(The)g(country)f(of)h(the)g(subject.)f(Two)h(letter)f(code.) -390 1504 y(country)g(=)h(GR)390 1724 y(#)g(The)g(common)f(name)h(of)g -(the)g(certificate)e(owner.)390 1833 y(cn)i(=)h("Cindy)e(Lauper")390 -2052 y(#)h(A)h(user)f(id)g(of)g(the)g(certificate)e(owner.)390 -2162 y(#uid)i(=)g("clauper")390 2381 y(#)g(If)h(the)f(supported)e(DN)i -(OIDs)g(are)g(not)f(adequate)g(you)h(can)g(set)390 2491 -y(#)g(any)g(OID)g(here.)390 2600 y(#)g(For)g(example)f(set)h(the)g -(X.520)f(Title)h(and)g(the)g(X.520)f(Pseudonym)390 2710 -y(#)h(by)h(using)e(OID)h(and)g(string)f(pairs.)390 2819 +(certi\014cate.)330 3791 y(An)k(example)h(\014le)g(is)f(listed)h(b)s +(elo)m(w.)225 3925 y Fs(\017)60 b FB(Then)29 b(execute:)570 +4060 y Ft($)47 b(certtool)f(--generate-certificate)c(cert.pem)j +(--load-privkey)f(key.pem)94 b(\\)713 4169 y(--template)45 +b(cert.cfg)h(\\)713 4279 y(--load-ca-certificate)c(ca-cert.pem)j +(--load-ca-privkey)e(ca-key.pem)150 4438 y FB(An)30 b(example)h(certto) +s(ol)h(template)g(\014le:)390 4573 y Ft(#)47 b(X.509)g(Certificate)e +(options)390 4682 y(#)390 4792 y(#)i(DN)h(options)390 +5011 y(#)f(The)g(organization)e(of)i(the)g(subject.)390 +5121 y(organization)d(=)k("Koko)e(inc.")390 5340 y(#)h(The)g +(organizational)d(unit)j(of)g(the)g(subject.)p eop end +%%Page: 108 114 +TeXDict begin 108 113 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(108)390 299 y Ft(unit)47 +b(=)g("sleeping)e(dept.")390 518 y(#)i(The)g(locality)f(of)h(the)g +(subject.)390 628 y(#)g(locality)f(=)390 847 y(#)h(The)g(state)g(of)g +(the)g(certificate)e(owner.)390 956 y(state)h(=)i("Attiki")390 +1176 y(#)f(The)g(country)f(of)h(the)g(subject.)f(Two)h(letter)f(code.) +390 1285 y(country)g(=)h(GR)390 1504 y(#)g(The)g(common)f(name)h(of)g +(the)g(certificate)e(owner.)390 1614 y(cn)i(=)h("Cindy)e(Lauper")390 +1833 y(#)h(A)h(user)f(id)g(of)g(the)g(certificate)e(owner.)390 +1943 y(#uid)i(=)g("clauper")390 2162 y(#)g(If)h(the)f(supported)e(DN)i +(OIDs)g(are)g(not)f(adequate)g(you)h(can)g(set)390 2271 +y(#)g(any)g(OID)g(here.)390 2381 y(#)g(For)g(example)f(set)h(the)g +(X.520)f(Title)h(and)g(the)g(X.520)f(Pseudonym)390 2491 +y(#)h(by)h(using)e(OID)h(and)g(string)f(pairs.)390 2600 y(#dn_oid)g(=)h("2.5.4.12")e("Dr.")i("2.5.4.65")e("jackal")390 -3039 y(#)i(This)g(is)g(deprecated)e(and)i(should)f(not)h(be)g(used)g -(in)g(new)390 3148 y(#)g(certificates.)390 3258 y(#)g(pkcs9_email)e(=)j -("none@none.org")390 3477 y(#)f(The)g(serial)f(number)h(of)g(the)g -(certificate)390 3587 y(serial)f(=)i(007)390 3806 y(#)f(In)h(how)f +2819 y(#)i(This)g(is)g(deprecated)e(and)i(should)f(not)h(be)g(used)g +(in)g(new)390 2929 y(#)g(certificates.)390 3039 y(#)g(pkcs9_email)e(=)j +("none@none.org")390 3258 y(#)f(The)g(serial)f(number)h(of)g(the)g +(certificate)390 3367 y(serial)f(=)i(007)390 3587 y(#)f(In)h(how)f (many)f(days,)h(counting)e(from)i(today,)f(this)g(certificate)f(will)i -(expire.)390 3915 y(expiration_days)d(=)j(700)390 4134 -y(#)g(X.509)g(v3)g(extensions)390 4354 y(#)g(A)h(dnsname)e(in)h(case)g -(of)g(a)g(WWW)g(server.)390 4463 y(#dns_name)e(=)j("www.none.org")390 -4573 y(#dns_name)d(=)j("www.morethanone.org")390 4792 -y(#)f(An)h(IP)f(address)f(in)h(case)f(of)i(a)f(server.)390 -4902 y(#ip_address)e(=)i("192.168.1.1")390 5121 y(#)g(An)h(email)e(in)h -(case)g(of)g(a)g(person)390 5230 y(email)f(=)i("none@none.org")p -eop end -%%Page: 106 112 -TeXDict begin 106 111 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(106)390 299 y Fs(#)47 -b(An)h(URL)f(that)f(has)h(CRLs)g(\(certificate)d(revocation)h(lists\)) -390 408 y(#)i(available.)e(Needed)i(in)g(CA)g(certificates.)390 -518 y(#crl_dist_points)c(=)48 b("http://www.getcrl.crl/g)o(etc)o(rl/") -390 737 y(#)f(Whether)f(this)h(is)g(a)h(CA)f(certificate)d(or)k(not)390 -847 y(#ca)390 1066 y(#)f(Whether)f(this)h(certificate)e(will)h(be)h -(used)g(for)g(a)g(TLS)g(client)390 1176 y(#tls_www_client)390 -1395 y(#)g(Whether)f(this)h(certificate)e(will)h(be)h(used)g(for)g(a)g -(TLS)g(server)390 1504 y(#tls_www_server)390 1724 y(#)g(Whether)f(this) +(expire.)390 3696 y(expiration_days)d(=)j(700)390 3915 +y(#)g(X.509)g(v3)g(extensions)390 4134 y(#)g(A)h(dnsname)e(in)h(case)g +(of)g(a)g(WWW)g(server.)390 4244 y(#dns_name)e(=)j("www.none.org")390 +4463 y(#)f(An)h(IP)f(address)f(in)h(case)f(of)i(a)f(server.)390 +4573 y(#ip_address)e(=)i("192.168.1.1")390 4792 y(#)g(An)h(email)e(in)h +(case)g(of)g(a)g(person)390 4902 y(email)f(=)i("none@none.org")390 +5121 y(#)f(An)h(URL)f(that)f(has)h(CRLs)g(\(certificate)d(revocation)h +(lists\))390 5230 y(#)i(available.)e(Needed)i(in)g(CA)g(certificates.) +390 5340 y(#crl_dist_points)c(=)48 b("http://www.getcrl.crl/g)o(etc)o +(rl/")p eop end +%%Page: 109 115 +TeXDict begin 109 114 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(109)390 408 y Ft(#)47 +b(Whether)f(this)h(is)g(a)h(CA)f(certificate)d(or)k(not)390 +518 y(#ca)390 737 y(#)f(Whether)f(this)h(certificate)e(will)h(be)h +(used)g(for)g(a)g(TLS)g(client)390 847 y(#tls_www_client)390 +1066 y(#)g(Whether)f(this)h(certificate)e(will)h(be)h(used)g(for)g(a)g +(TLS)g(server)390 1176 y(#tls_www_server)390 1395 y(#)g(Whether)f(this) h(certificate)e(will)h(be)h(used)g(to)g(sign)g(data)g(\(needed)390 -1833 y(#)g(in)h(TLS)f(DHE)f(ciphersuites\).)390 1943 -y(signing_key)390 2162 y(#)h(Whether)f(this)h(certificate)e(will)h(be)h -(used)g(to)g(encrypt)f(data)h(\(needed)390 2271 y(#)g(in)h(TLS)f(RSA)f +1504 y(#)g(in)h(TLS)f(DHE)f(ciphersuites\).)390 1614 +y(signing_key)390 1833 y(#)h(Whether)f(this)h(certificate)e(will)h(be)h +(used)g(to)g(encrypt)f(data)h(\(needed)390 1943 y(#)g(in)h(TLS)f(RSA)f (ciphersuites\).)e(Note)j(that)g(it)g(is)g(prefered)f(to)h(use)g -(different)390 2381 y(#)g(keys)g(for)g(encryption)e(and)i(signing.)390 -2491 y(#encryption_key)390 2710 y(#)g(Whether)f(this)h(key)g(will)f(be) -i(used)e(to)h(sign)g(other)f(certificates.)390 2819 y -(#cert_signing_key)390 3039 y(#)h(Whether)f(this)h(key)g(will)f(be)i -(used)e(to)h(sign)g(CRLs.)390 3148 y(#crl_signing_key)390 -3367 y(#)g(Whether)f(this)h(key)g(will)f(be)i(used)e(to)h(sign)g(code.) -390 3477 y(#code_signing_key)390 3696 y(#)g(Whether)f(this)h(key)g -(will)f(be)i(used)e(to)h(sign)g(OCSP)g(data.)390 3806 -y(#ocsp_signing_key)390 4025 y(#)g(Whether)f(this)h(key)g(will)f(be)i -(used)e(for)h(time)g(stamping.)390 4134 y(#time_stamping_key)150 -4380 y FA(8.2)68 b(In)l(v)l(oking)46 b(gn)l(utls-cli)150 -4539 y FB(Simple)36 b(clien)m(t)i(program)e(to)h(set)f(up)g(a)g(TLS)f +(different)390 2052 y(#)g(keys)g(for)g(encryption)e(and)i(signing.)390 +2162 y(#encryption_key)390 2381 y(#)g(Whether)f(this)h(key)g(will)f(be) +i(used)e(to)h(sign)g(other)f(certificates.)390 2491 y +(#cert_signing_key)390 2710 y(#)h(Whether)f(this)h(key)g(will)f(be)i +(used)e(to)h(sign)g(CRLs.)390 2819 y(#crl_signing_key)390 +3039 y(#)g(Whether)f(this)h(key)g(will)f(be)i(used)e(to)h(sign)g(code.) +390 3148 y(#code_signing_key)390 3367 y(#)g(Whether)f(this)h(key)g +(will)f(be)i(used)e(to)h(sign)g(OCSP)g(data.)390 3477 +y(#ocsp_signing_key)390 3696 y(#)g(Whether)f(this)h(key)g(will)f(be)i +(used)e(for)h(time)g(stamping.)390 3806 y(#time_stamping_key)150 +4051 y FA(8.2)68 b(In)l(v)l(oking)46 b(gn)l(utls-cli)150 +4211 y FB(Simple)36 b(clien)m(t)i(program)e(to)h(set)f(up)g(a)g(TLS)f (connection)j(to)f(some)g(other)f(computer.)58 b(It)37 -b(sets)f(up)g(a)150 4649 y(TLS)29 b(connection)j(and)d(forw)m(ards)h +b(sets)f(up)g(a)150 4320 y(TLS)29 b(connection)j(and)d(forw)m(ards)h (data)h(from)f(the)h(standard)e(input)g(to)j(the)e(secured)g(so)s(c)m -(k)m(et)i(and)e(vice)150 4758 y(v)m(ersa.)150 4902 y -Fs(GNU)47 b(TLS)g(test)f(client)150 5011 y(Usage:)94 -b(gnutls-cli)45 b([options])g(hostname)389 5230 y(-d,)i(--debug)e -(integer)285 b(Enable)46 b(debugging)389 5340 y(-r,)h(--resume)618 -b(Connect,)45 b(establish)h(a)h(session.)f(Connect)p +(k)m(et)i(and)e(vice)150 4430 y(v)m(ersa.)150 4573 y +Ft(GNU)47 b(TLS)g(test)f(client)150 4682 y(Usage:)94 +b(gnutls-cli)45 b([options])g(hostname)389 4902 y(-d,)i(--debug)e +(integer)285 b(Enable)46 b(debugging)389 5011 y(-r,)h(--resume)618 +b(Connect,)45 b(establish)h(a)h(session.)f(Connect)1582 +5121 y(again)g(and)h(resume)f(this)h(session.)389 5230 +y(-s,)g(--starttls)522 b(Connect,)45 b(establish)h(a)h(plain)f(session) +g(and)1582 5340 y(start)g(TLS)h(when)g(EOF)g(or)g(a)g(SIGALRM)f(is)p eop end -%%Page: 107 113 -TeXDict begin 107 112 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(107)1582 299 y Fs(again)46 -b(and)h(resume)f(this)h(session.)389 408 y(-s,)g(--starttls)522 -b(Connect,)45 b(establish)h(a)h(plain)f(session)g(and)1582 -518 y(start)g(TLS)h(when)g(EOF)g(or)g(a)g(SIGALRM)f(is)1582 -628 y(received.)389 737 y(--crlf)905 b(Send)46 b(CR)i(LF)f(instead)f -(of)h(LF.)389 847 y(--x509fmtder)617 b(Use)47 b(DER)g(format)f(for)h -(certificates)d(to)j(read)1582 956 y(from.)389 1066 y(-f,)g -(--fingerprint)378 b(Send)46 b(the)h(openpgp)f(fingerprint,)f(instead) -1582 1176 y(of)i(the)g(key.)389 1285 y(--disable-extensions)233 -b(Disable)46 b(all)h(the)f(TLS)h(extensions.)389 1395 +%%Page: 110 116 +TeXDict begin 110 115 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(110)1582 299 y Ft(received.)389 +408 y(--crlf)905 b(Send)46 b(CR)i(LF)f(instead)f(of)h(LF.)389 +518 y(--x509fmtder)617 b(Use)47 b(DER)g(format)f(for)h(certificates)d +(to)j(read)1582 628 y(from.)389 737 y(-f,)g(--fingerprint)378 +b(Send)46 b(the)h(openpgp)f(fingerprint,)f(instead)1582 +847 y(of)i(the)g(key.)389 956 y(--disable-extensions)233 +b(Disable)46 b(all)h(the)f(TLS)h(extensions.)389 1066 y(--print-cert)617 b(Print)46 b(the)h(certificate)e(in)i(PEM)g(format.) -389 1504 y(--recordsize)d(integer)237 b(The)47 b(maximum)f(record)g -(size)g(to)h(advertize.)389 1614 y(-V,)g(--verbose)570 -b(More)46 b(verbose)g(output.)389 1724 y(--ciphers)f(cipher1)h -(cipher2...)1582 1833 y(Ciphers)g(to)h(enable.)389 1943 -y(--protocols)d(protocol1)i(protocol2...)1582 2052 y(Protocols)f(to)i -(enable.)389 2162 y(--comp)f(comp1)g(comp2...)189 b(Compression)45 -b(methods)g(to)j(enable.)389 2271 y(--macs)e(mac1)g(mac2...)285 -b(MACs)46 b(to)i(enable.)389 2381 y(--kx)e(kx1)h(kx2...)476 -b(Key)47 b(exchange)e(methods)h(to)h(enable.)389 2491 -y(--ctypes)e(certType1)g(certType2...)1582 2600 y(Certificate)g(types)h -(to)h(enable.)389 2710 y(--priority)e(PRIORITY)g(STRING)1582 -2819 y(Priorities)g(string.)389 2929 y(--x509cafile)f(FILE)381 -b(Certificate)45 b(file)h(to)h(use.)389 3039 y(--x509crlfile)d(FILE)333 -b(CRL)47 b(file)f(to)i(use.)389 3148 y(--pgpkeyfile)c(FILE)381 -b(PGP)47 b(Key)g(file)f(to)h(use.)389 3258 y(--pgpkeyring)d(FILE)381 -b(PGP)47 b(Key)g(ring)f(file)h(to)g(use.)389 3367 y(--pgpcertfile)d -(FILE)333 b(PGP)47 b(Public)f(Key)h(\(certificate\))d(file)j(to)1582 -3477 y(use.)389 3587 y(--pgpsubkey)d(HEX|auto)237 b(PGP)47 -b(subkey)f(to)h(use.)389 3696 y(--x509keyfile)d(FILE)333 -b(X.509)46 b(key)h(file)g(to)g(use.)389 3806 y(--x509certfile)d(FILE) -285 b(X.509)46 b(Certificate)f(file)i(to)g(use.)389 3915 +389 1176 y(-p,)g(--port)f(integer)332 b(The)47 b(port)f(to)i(connect)d +(to.)389 1285 y(--recordsize)f(integer)237 b(The)47 b(maximum)f(record) +g(size)g(to)h(advertize.)389 1395 y(-V,)g(--verbose)570 +b(More)46 b(verbose)g(output.)389 1504 y(--ciphers)f(cipher1)h +(cipher2...)1582 1614 y(Ciphers)g(to)h(enable.)389 1724 +y(--protocols)d(protocol1)i(protocol2...)1582 1833 y(Protocols)f(to)i +(enable.)389 1943 y(--comp)f(comp1)g(comp2...)189 b(Compression)45 +b(methods)g(to)j(enable.)389 2052 y(--macs)e(mac1)g(mac2...)285 +b(MACs)46 b(to)i(enable.)389 2162 y(--kx)e(kx1)h(kx2...)476 +b(Key)47 b(exchange)e(methods)h(to)h(enable.)389 2271 +y(--ctypes)e(certType1)g(certType2...)1582 2381 y(Certificate)g(types)h +(to)h(enable.)389 2491 y(--x509cafile)d(FILE)381 b(Certificate)45 +b(file)h(to)h(use.)389 2600 y(--x509crlfile)d(FILE)333 +b(CRL)47 b(file)f(to)i(use.)389 2710 y(--pgpkeyfile)c(FILE)381 +b(PGP)47 b(Key)g(file)f(to)h(use.)389 2819 y(--pgpkeyring)d(FILE)381 +b(PGP)47 b(Key)g(ring)f(file)h(to)g(use.)389 2929 y(--pgptrustdb)d +(FILE)381 b(PGP)47 b(trustdb)f(file)g(to)h(use.)389 3039 +y(--pgpcertfile)d(FILE)333 b(PGP)47 b(Public)f(Key)h(\(certificate\))d +(file)j(to)1582 3148 y(use.)389 3258 y(--x509keyfile)d(FILE)333 +b(X.509)46 b(key)h(file)g(to)g(use.)389 3367 y(--x509certfile)d(FILE) +285 b(X.509)46 b(Certificate)f(file)i(to)g(use.)389 3477 y(--srpusername)d(NAME)333 b(SRP)47 b(username)e(to)i(use.)389 -4025 y(--srppasswd)d(PASSWD)333 b(SRP)47 b(password)e(to)i(use.)389 -4134 y(--pskusername)d(NAME)333 b(PSK)47 b(username)e(to)i(use.)389 -4244 y(--pskkey)e(KEY)620 b(PSK)47 b(key)g(\(in)g(hex\))f(to)h(use.)389 -4354 y(--opaque-prf-input)42 b(DATA)1582 4463 y(Use)47 -b(Opaque)f(PRF)h(Input)f(DATA.)389 4573 y(-p,)h(--port)f(PORT)476 -b(The)47 b(port)f(to)i(connect)d(to.)389 4682 y(--insecure)713 -b(Don't)46 b(abort)h(program)e(if)j(server)1582 4792 -y(certificate)d(can't)h(be)h(validated.)389 4902 y(-l,)g(--list)714 -b(Print)46 b(a)i(list)e(of)h(the)g(supported)1582 5011 -y(algorithms)e(and)i(modes.)389 5121 y(-h,)g(--help)714 -b(prints)46 b(this)h(help)389 5230 y(-v,)g(--version)570 -b(prints)46 b(the)h(program's)e(version)h(number)p eop -end -%%Page: 108 114 -TeXDict begin 108 113 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(108)150 299 y(T)-8 b(o)31 -b(connect)g(to)g(a)g(serv)m(er)g(using)f(PSK)f(authen)m(tication,)k(y)m -(ou)d(ma)m(y)h(use)f(something)h(lik)m(e:)390 409 y Fq($)39 -b(gnutls-cli)j(-p)e(5556)g(test.gnutls.org)i(--pskusername)h(jas)d -(--pskkey)h(9e32cf7786321a828ef7668f09fb35d)q(b)k(--priority)d -(NORMAL:+PSK:-RSA:-DHE-RSA)i(-d)c(4711)150 605 y Fu(8.2.1)63 -b(Example)40 b(clien)m(t)g(PSK)h(connection)150 752 y -FB(If)34 b(y)m(our)h(serv)m(er)g(only)g(supp)s(orts)d(the)j(PSK)f -(ciphersuite,)i(connecting)g(to)f(it)g(should)f(b)s(e)g(as)h(simple)g -(as)150 862 y(connecting)d(to)f(the)f(serv)m(er:)390 -972 y Fq($)39 b(./gnutls-cli)j(-p)e(5556)g(localhost)390 -1059 y(Resolving)h('localhost'...)390 1147 y(Connecting)g(to)f -('127.0.0.1:5556'...)390 1234 y(-)f(PSK)h(client)h(callback.)g(PSK)f -(hint)g('psk_identity_hint')390 1321 y(Enter)g(PSK)g(identity:)i -(psk_identity)390 1408 y(Enter)e(password:)390 1495 y(-)f(PSK)h -(authentication.)j(PSK)d(hint)g('psk_identity_hint')390 -1582 y(-)f(Version:)i(TLS1.1)390 1670 y(-)e(Key)h(Exchange:)i(PSK)390 -1757 y(-)d(Cipher:)i(AES-128-CBC)390 1844 y(-)e(MAC:)i(SHA1)390 -1931 y(-)e(Compression:)j(NULL)390 2018 y(-)d(Handshake)j(was)e -(completed)390 2193 y(-)f(Simple)i(Client)g(Mode:)150 -2325 y FB(If)28 b(the)g(serv)m(er)h(supp)s(orts)d(sev)m(eral)k(cipher)e -(suites,)h(y)m(ou)f(ma)m(y)h(need)f(to)h(force)g(it)g(to)g(c)m(hose)g -(PSK)e(b)m(y)h(using)150 2435 y(a)j(cipher)f(priorit)m(y)h(parameter)f -(suc)m(h)g(as)h Fs(--priority)d(NORMAL:+PSK:-RSA:-DHE-R)o(SA:-)o(DHE)o -(-PSK)o FB(.)150 2568 y(Instead)g(of)g(using)f(the)h(Netconf-w)m(a)m(y) -i(to)e(deriv)m(e)h(the)f(PSK)f(k)m(ey)h(from)f(a)i(passw)m(ord,)e(y)m -(ou)i(can)f(also)g(giv)m(e)150 2677 y(the)j(PSK)e(username)h(and)g(k)m -(ey)h(directly)g(on)f(the)h(command)f(line:)390 2788 -y Fq($)39 b(./gnutls-cli)j(-p)e(5556)g(localhost)i(--pskusername)g -(psk_identity)g(--pskkey)f(88f3824b3e5659f52d00e959bacab9)q(54b65)q -(4034)q(4)390 2875 y(Resolving)g('localhost'...)390 2962 -y(Connecting)g(to)f('127.0.0.1:5556'...)390 3049 y(-)f(PSK)h -(authentication.)j(PSK)d(hint)g('psk_identity_hint')390 -3137 y(-)f(Version:)i(TLS1.1)390 3224 y(-)e(Key)h(Exchange:)i(PSK)390 -3311 y(-)d(Cipher:)i(AES-128-CBC)390 3398 y(-)e(MAC:)i(SHA1)390 -3485 y(-)e(Compression:)j(NULL)390 3572 y(-)d(Handshake)j(was)e -(completed)390 3747 y(-)f(Simple)i(Client)g(Mode:)150 -3880 y FB(By)36 b(k)m(eeping)g(the)f Fs(--pskusername)d -FB(parameter)j(and)g(remo)m(ving)h(the)g Fs(--pskkey)d -FB(parameter,)k(it)f(will)150 3989 y(query)30 b(only)g(for)g(the)h -(passw)m(ord)f(during)f(the)h(handshak)m(e.)150 4218 +3587 y(--srppasswd)d(PASSWD)333 b(SRP)47 b(password)e(to)i(use.)389 +3696 y(--insecure)713 b(Don't)46 b(abort)h(program)e(if)j(server)1582 +3806 y(certificate)d(can't)h(be)h(validated.)389 3915 +y(-l,)g(--list)714 b(Print)46 b(a)i(list)e(of)h(the)g(supported)1582 +4025 y(algorithms)93 b(and)46 b(modes.)389 4134 y(-h,)h(--help)714 +b(prints)46 b(this)h(help)389 4244 y(-v,)g(--version)570 +b(prints)46 b(the)h(program's)e(version)h(number)389 +4354 y(--copyright)665 b(prints)46 b(the)h(program's)e(license)150 +4488 y FB(T)-8 b(o)31 b(connect)g(to)g(a)g(serv)m(er)g(using)f(PSK)f +(authen)m(tication,)k(y)m(ou)d(ma)m(y)h(use)f(something)h(lik)m(e:)390 +4599 y Fp($)39 b(gnutls-cli)j(-p)e(5556)g(test.gnutls.org)i +(--pskusername)h(jas)d(--pskkey)h(9e32cf7786321a828ef7668f09fb35d)q(b)k +(--priority)d(NORMAL:+PSK:-RSA:-DHE-RSA)i(-d)c(4711)150 +4798 y Fv(8.2.1)63 b(Example)40 b(clien)m(t)g(PSK)h(connection)150 +4944 y FB(If)34 b(y)m(our)h(serv)m(er)g(only)g(supp)s(orts)d(the)j(PSK) +f(ciphersuite,)i(connecting)g(to)f(it)g(should)f(b)s(e)g(as)h(simple)g +(as)150 5054 y(connecting)d(to)f(the)f(serv)m(er:)390 +5166 y Fp($)39 b(./gnutls-cli)j(-p)e(5556)g(localhost)390 +5253 y(Resolving)h('localhost'...)390 5340 y(Connecting)g(to)f +('127.0.0.1:5556'...)p eop end +%%Page: 111 117 +TeXDict begin 111 116 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(111)390 299 y Fp(-)39 +b(PSK)h(client)h(callback.)g(PSK)f(hint)g('psk_identity_hint')390 +386 y(Enter)g(PSK)g(identity:)i(psk_identity)390 473 +y(Enter)e(password:)390 560 y(-)f(PSK)h(authentication.)j(PSK)d(hint)g +('psk_identity_hint')390 648 y(-)f(Version:)i(TLS1.1)390 +735 y(-)e(Key)h(Exchange:)i(PSK)390 822 y(-)d(Cipher:)i(AES-128-CBC)390 +909 y(-)e(MAC:)i(SHA1)390 996 y(-)e(Compression:)j(NULL)390 +1083 y(-)d(Handshake)j(was)e(completed)390 1258 y(-)f(Simple)i(Client)g +(Mode:)150 1400 y FB(If)28 b(the)g(serv)m(er)h(supp)s(orts)d(sev)m +(eral)k(cipher)e(suites,)h(y)m(ou)f(ma)m(y)h(need)f(to)h(force)g(it)g +(to)g(c)m(hose)g(PSK)e(b)m(y)h(using)150 1510 y(a)j(cipher)f(priorit)m +(y)h(parameter)f(suc)m(h)g(as)h Ft(--priority)d +(NORMAL:+PSK:-RSA:-DHE-R)o(SA:-)o(DHE)o(-PSK)o FB(.)150 +1652 y(Instead)g(of)g(using)f(the)h(Netconf-w)m(a)m(y)i(to)e(deriv)m(e) +h(the)f(PSK)f(k)m(ey)h(from)f(a)i(passw)m(ord,)e(y)m(ou)i(can)f(also)g +(giv)m(e)150 1762 y(the)j(PSK)e(username)h(and)g(k)m(ey)h(directly)g +(on)f(the)h(command)f(line:)390 1882 y Fp($)39 b(./gnutls-cli)j(-p)e +(5556)g(localhost)i(--pskusername)g(psk_identity)g(--pskkey)f +(88f3824b3e5659f52d00e959bacab9)q(54b65)q(4034)q(4)390 +1969 y(Resolving)g('localhost'...)390 2056 y(Connecting)g(to)f +('127.0.0.1:5556'...)390 2143 y(-)f(PSK)h(authentication.)j(PSK)d(hint) +g('psk_identity_hint')390 2230 y(-)f(Version:)i(TLS1.1)390 +2318 y(-)e(Key)h(Exchange:)i(PSK)390 2405 y(-)d(Cipher:)i(AES-128-CBC) +390 2492 y(-)e(MAC:)i(SHA1)390 2579 y(-)e(Compression:)j(NULL)390 +2666 y(-)d(Handshake)j(was)e(completed)390 2841 y(-)f(Simple)i(Client)g +(Mode:)150 2983 y FB(By)36 b(k)m(eeping)g(the)f Ft(--pskusername)d +FB(parameter)j(and)g(remo)m(ving)h(the)g Ft(--pskkey)d +FB(parameter,)k(it)f(will)150 3093 y(query)30 b(only)g(for)g(the)h +(passw)m(ord)f(during)f(the)h(handshak)m(e.)150 3337 y FA(8.3)68 b(In)l(v)l(oking)46 b(gn)l(utls-cli-debug)150 -4378 y FB(This)28 b(program)h(w)m(as)g(created)h(to)f(assist)h(in)e -(debugging)h Ft(Gn)n(uTLS)p FB(,)g(but)g(it)g(migh)m(t)h(b)s(e)e -(useful)g(to)h(extract)150 4487 y(a)e Ft(TLS)g FB(serv)m(er's)g +3496 y FB(This)28 b(program)h(w)m(as)g(created)h(to)f(assist)h(in)e +(debugging)h Fu(Gn)n(uTLS)p FB(,)g(but)g(it)g(migh)m(t)h(b)s(e)e +(useful)g(to)h(extract)150 3606 y(a)e Fu(TLS)g FB(serv)m(er's)g (capabilities.)42 b(It's)27 b(purp)s(ose)e(is)i(to)h(connect)g(on)m(to) -g(a)f Ft(TLS)g FB(serv)m(er,)h(p)s(erform)e(some)h(tests)150 -4597 y(and)33 b(prin)m(t)g(the)g(serv)m(er's)h(capabilities.)52 +g(a)f Fu(TLS)g FB(serv)m(er,)h(p)s(erform)e(some)h(tests)150 +3716 y(and)33 b(prin)m(t)g(the)g(serv)m(er's)h(capabilities.)52 b(If)33 b(called)h(with)f(the)h(`-v')g(parameter)g(a)g(more)f(c)m(hec)m -(ks)i(will)f(b)s(e)150 4707 y(p)s(erformed.)39 b(An)30 -b(example)h(output)f(is:)390 4817 y Fq(crystal:/cvs/gnutls/src$)45 -b(./gnutls-cli-debug)e(localhost)e(-p)f(5556)390 4904 -y(Resolving)h('localhost'...)390 4991 y(Connecting)g(to)f -('127.0.0.1:5556'...)390 5078 y(Checking)h(for)f(TLS)g(1.1)g -(support...)h(yes)390 5166 y(Checking)g(fallback)g(from)f(TLS)g(1.1)g -(to...)g(N/A)390 5253 y(Checking)h(for)f(TLS)g(1.0)g(support...)h(yes) -390 5340 y(Checking)g(for)f(SSL)g(3.0)g(support...)h(yes)p -eop end -%%Page: 109 115 -TeXDict begin 109 114 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(109)390 299 y Fq(Checking)41 -b(for)f(version)h(rollback)g(bug)f(in)f(RSA)h(PMS...)h(no)390 -386 y(Checking)g(for)f(version)h(rollback)g(bug)f(in)f(Client)i -(Hello...)g(no)390 473 y(Checking)g(whether)g(we)f(need)g(to)f(disable) -i(TLS)f(1.0...)h(N/A)390 560 y(Checking)g(whether)g(the)f(server)g -(ignores)h(the)f(RSA)g(PMS)g(version...)h(no)390 648 -y(Checking)g(whether)g(the)f(server)g(can)g(accept)h(Hello)f -(Extensions...)i(yes)390 735 y(Checking)f(whether)g(the)f(server)g(can) -g(accept)h(cipher)f(suites)h(not)f(in)g(SSL)g(3.0)f(spec...)i(yes)390 -822 y(Checking)g(whether)g(the)f(server)g(can)g(accept)h(a)e(bogus)i -(TLS)f(record)g(version)h(in)f(the)g(client)g(hello...)h(yes)390 -909 y(Checking)g(for)f(certificate)i(information...)g(N/A)390 -996 y(Checking)f(for)f(trusted)h(CAs...)f(N/A)390 1083 +(ks)i(will)f(b)s(e)150 3825 y(p)s(erformed.)39 b(An)30 +b(example)h(output)f(is:)390 3945 y Fp(crystal:/cvs/gnutls/src$)45 +b(./gnutls-cli-debug)e(localhost)e(-p)f(5556)390 4032 +y(Resolving)h('localhost'...)390 4120 y(Connecting)g(to)f +('127.0.0.1:5556'...)390 4207 y(Checking)h(for)f(TLS)g(1.1)g +(support...)h(yes)390 4294 y(Checking)g(fallback)g(from)f(TLS)g(1.1)g +(to...)g(N/A)390 4381 y(Checking)h(for)f(TLS)g(1.0)g(support...)h(yes) +390 4468 y(Checking)g(for)f(SSL)g(3.0)g(support...)h(yes)390 +4555 y(Checking)g(for)f(version)h(rollback)g(bug)f(in)f(RSA)h(PMS...)h +(no)390 4643 y(Checking)g(for)f(version)h(rollback)g(bug)f(in)f(Client) +i(Hello...)g(no)390 4730 y(Checking)g(whether)g(we)f(need)g(to)f +(disable)i(TLS)f(1.0...)h(N/A)390 4817 y(Checking)g(whether)g(the)f +(server)g(ignores)h(the)f(RSA)g(PMS)g(version...)h(no)390 +4904 y(Checking)g(whether)g(the)f(server)g(can)g(accept)h(Hello)f +(Extensions...)i(yes)390 4991 y(Checking)f(whether)g(the)f(server)g +(can)g(accept)h(cipher)f(suites)h(not)f(in)g(SSL)g(3.0)f(spec...)i(yes) +390 5078 y(Checking)g(whether)g(the)f(server)g(can)g(accept)h(a)e +(bogus)i(TLS)f(record)g(version)h(in)f(the)g(client)g(hello...)h(yes) +390 5166 y(Checking)g(for)f(certificate)i(information...)g(N/A)390 +5253 y(Checking)f(for)f(trusted)h(CAs...)f(N/A)390 5340 y(Checking)h(whether)g(the)f(server)g(understands)i(TLS)e(closure)h -(alerts...)g(yes)390 1171 y(Checking)g(whether)g(the)f(server)g -(supports)h(session)g(resumption...)h(yes)390 1258 y(Checking)f(for)f -(export-grade)i(ciphersuite)g(support...)f(no)390 1345 -y(Checking)g(RSA-export)h(ciphersuite)f(info...)g(N/A)390 -1432 y(Checking)g(for)f(anonymous)h(authentication)i(support...)e(no) -390 1519 y(Checking)g(anonymous)g(Diffie-Hellman)i(group)d(info...)h -(N/A)390 1606 y(Checking)g(for)f(ephemeral)h(Diffie-Hellman)i -(support...)e(no)390 1694 y(Checking)g(ephemeral)g(Diffie-Hellman)i -(group)d(info...)h(N/A)390 1781 y(Checking)g(for)f(AES)g(cipher)g -(support)h(\(TLS)f(extension\)...)j(yes)390 1868 y(Checking)e(for)f -(3DES)g(cipher)h(support...)g(yes)390 1955 y(Checking)g(for)f(ARCFOUR)h -(128)f(cipher)g(support...)i(yes)390 2042 y(Checking)f(for)f(ARCFOUR)h -(40)e(cipher)i(support...)h(no)390 2130 y(Checking)f(for)f(MD5)g(MAC)g -(support...)h(yes)390 2217 y(Checking)g(for)f(SHA1)g(MAC)g(support...)i -(yes)390 2304 y(Checking)f(for)f(ZLIB)g(compression)i(support)f(\(TLS)f -(extension\)...)i(yes)390 2391 y(Checking)f(for)f(LZO)g(compression)i -(support)e(\(GnuTLS)h(extension\)...)h(yes)390 2478 y(Checking)f(for)f +(alerts...)g(yes)p eop end +%%Page: 112 118 +TeXDict begin 112 117 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(112)390 299 y Fp(Checking)41 +b(whether)g(the)f(server)g(supports)h(session)g(resumption...)h(yes)390 +386 y(Checking)f(for)f(export-grade)i(ciphersuite)g(support...)f(no)390 +473 y(Checking)g(RSA-export)h(ciphersuite)f(info...)g(N/A)390 +560 y(Checking)g(for)f(anonymous)h(authentication)i(support...)e(no)390 +648 y(Checking)g(anonymous)g(Diffie)g(Hellman)g(group)f(info...)h(N/A) +390 735 y(Checking)g(for)f(ephemeral)h(Diffie)g(Hellman)g(support...)g +(no)390 822 y(Checking)g(ephemeral)g(Diffie)g(Hellman)g(group)f +(info...)h(N/A)390 909 y(Checking)g(for)f(AES)g(cipher)g(support)h +(\(TLS)f(extension\)...)j(yes)390 996 y(Checking)e(for)f(3DES)g(cipher) +h(support...)g(yes)390 1083 y(Checking)g(for)f(ARCFOUR)h(128)f(cipher)g +(support...)i(yes)390 1171 y(Checking)f(for)f(ARCFOUR)h(40)e(cipher)i +(support...)h(no)390 1258 y(Checking)f(for)f(MD5)g(MAC)g(support...)h +(yes)390 1345 y(Checking)g(for)f(SHA1)g(MAC)g(support...)i(yes)390 +1432 y(Checking)f(for)f(ZLIB)g(compression)i(support)f(\(TLS)f +(extension\)...)i(yes)390 1519 y(Checking)f(for)f(LZO)g(compression)i +(support)e(\(GnuTLS)h(extension\)...)h(yes)390 1606 y(Checking)f(for)f (max)g(record)g(size)h(\(TLS)f(extension\)...)i(yes)390 -2565 y(Checking)f(for)f(SRP)g(authentication)i(support)f(\(TLS)f -(extension\)...)i(yes)390 2653 y(Checking)f(for)f(OpenPGP)h +1694 y(Checking)f(for)f(SRP)g(authentication)i(support)f(\(TLS)f +(extension\)...)i(yes)390 1781 y(Checking)f(for)f(OpenPGP)h (authentication)h(support)f(\(TLS)f(extension\)...)i(no)150 -2932 y FA(8.4)68 b(In)l(v)l(oking)46 b(gn)l(utls-serv)150 -3092 y FB(Simple)30 b(serv)m(er)h(program)f(that)h(listens)g(to)g -(incoming)g(TLS)e(connections.)150 3258 y Fs(GNU)47 b(TLS)g(test)f -(server)150 3367 y(Usage:)g(gnutls-serv)f([options])389 -3587 y(-d,)i(--debug)e(integer)285 b(Enable)46 b(debugging)389 -3696 y(-g,)h(--generate)522 b(Generate)45 b(Diffie-Hellman)f -(Parameters.)389 3806 y(-p,)j(--port)f(integer)332 b(The)47 -b(port)f(to)i(connect)d(to.)389 3915 y(-q,)i(--quiet)666 -b(Suppress)45 b(some)i(messages.)389 4025 y(--nodb)905 +2058 y FA(8.4)68 b(In)l(v)l(oking)46 b(gn)l(utls-serv)150 +2217 y FB(Simple)30 b(serv)m(er)h(program)f(that)h(listens)g(to)g +(incoming)g(TLS)e(connections.)150 2381 y Ft(GNU)47 b(TLS)g(test)f +(server)150 2491 y(Usage:)g(gnutls-serv)f([options])389 +2710 y(-d,)i(--debug)e(integer)285 b(Enable)46 b(debugging)389 +2819 y(-g,)h(--generate)522 b(Generate)45 b(Diffie)h(Hellman)g +(Parameters.)389 2929 y(-p,)h(--port)f(integer)332 b(The)47 +b(port)f(to)i(connect)d(to.)389 3039 y(-q,)i(--quiet)666 +b(Suppress)45 b(some)i(messages.)389 3148 y(--nodb)905 b(Does)46 b(not)h(use)g(the)g(resume)f(database.)389 -4134 y(--http)905 b(Act)47 b(as)g(an)g(HTTP)g(Server.)389 -4244 y(--echo)905 b(Act)47 b(as)g(an)g(Echo)g(Server.)389 -4354 y(--dhparams)e(FILE)476 b(DH)47 b(params)f(file)h(to)g(use.)389 -4463 y(--x509fmtder)617 b(Use)47 b(DER)g(format)f(for)h(certificates) -389 4573 y(--x509cafile)d(FILE)381 b(Certificate)45 b(file)h(to)h(use.) -389 4682 y(--x509crlfile)d(FILE)333 b(CRL)47 b(file)f(to)i(use.)389 -4792 y(--pgpkeyring)c(FILE)381 b(PGP)47 b(Key)g(ring)f(file)h(to)g -(use.)389 4902 y(--pgpkeyfile)d(FILE)381 b(PGP)47 b(Key)g(file)f(to)h -(use.)389 5011 y(--pgpcertfile)d(FILE)333 b(PGP)47 b(Public)f(Key)h -(\(certificate\))d(file)j(to)1582 5121 y(use.)389 5230 -y(--pgpsubkey)d(HEX|auto)237 b(PGP)47 b(subkey)f(to)h(use.)389 -5340 y(--x509keyfile)d(FILE)333 b(X.509)46 b(key)h(file)g(to)g(use.)p -eop end -%%Page: 110 116 -TeXDict begin 110 115 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(110)389 299 y Fs(--x509certfile)44 -b(FILE)285 b(X.509)46 b(Certificate)f(file)i(to)g(use.)389 -408 y(--x509dsakeyfile)c(FILE)190 b(Alternative)45 b(X.509)h(key)h -(file)f(to)i(use.)389 518 y(--x509dsacertfile)43 b(FILE)142 +3258 y(--http)905 b(Act)47 b(as)g(an)g(HTTP)g(Server.)389 +3367 y(--echo)905 b(Act)47 b(as)g(an)g(Echo)g(Server.)389 +3477 y(--dhparams)e(FILE)476 b(DH)47 b(params)f(file)h(to)g(use.)389 +3587 y(--x509fmtder)617 b(Use)47 b(DER)g(format)f(for)h(certificates) +389 3696 y(--x509cafile)d(FILE)381 b(Certificate)45 b(file)h(to)h(use.) +389 3806 y(--x509crlfile)d(FILE)333 b(CRL)47 b(file)f(to)i(use.)389 +3915 y(--pgpkeyring)c(FILE)381 b(PGP)47 b(Key)g(ring)f(file)h(to)g +(use.)389 4025 y(--pgptrustdb)d(FILE)381 b(PGP)47 b(trustdb)f(file)g +(to)h(use.)389 4134 y(--pgpkeyfile)d(FILE)381 b(PGP)47 +b(Key)g(file)f(to)h(use.)389 4244 y(--pgpcertfile)d(FILE)333 +b(PGP)47 b(Public)f(Key)h(\(certificate\))d(file)j(to)1582 +4354 y(use.)389 4463 y(--x509keyfile)d(FILE)333 b(X.509)46 +b(key)h(file)g(to)g(use.)389 4573 y(--x509certfile)d(FILE)285 +b(X.509)46 b(Certificate)f(file)i(to)g(use.)389 4682 +y(--x509dsakeyfile)c(FILE)190 b(Alternative)45 b(X.509)h(key)h(file)f +(to)i(use.)389 4792 y(--x509dsacertfile)43 b(FILE)142 b(Alternative)45 b(X.509)h(certificate)f(file)h(to)1582 -628 y(use.)389 737 y(-r,)h(--require-cert)330 b(Require)46 -b(a)h(valid)f(certificate.)389 847 y(-a,)h(--disable-client-cert)1582 -956 y(Disable)f(request)f(for)i(a)h(client)1582 1066 -y(certificate.)389 1176 y(--pskpasswd)c(FILE)429 b(PSK)47 -b(password)e(file)i(to)g(use.)389 1285 y(--pskhint)e(HINT)524 -b(PSK)47 b(identity)e(hint)i(to)g(use.)389 1395 y(--srppasswd)d(FILE) -429 b(SRP)47 b(password)e(file)i(to)g(use.)389 1504 y(--srppasswdconf)c -(FILE)238 b(SRP)47 b(password)e(conf)i(file)g(to)g(use.)389 -1614 y(--opaque-prf-input)42 b(DATA)1582 1724 y(Use)47 -b(Opaque)f(PRF)h(Input)f(DATA.)389 1833 y(--ciphers)f(cipher1)h -(cipher2...)1582 1943 y(Ciphers)g(to)h(enable.)389 2052 -y(--protocols)d(protocol1)i(protocol2...)1582 2162 y(Protocols)f(to)i -(enable.)389 2271 y(--comp)f(comp1)g(comp2...)189 b(Compression)45 -b(methods)g(to)j(enable.)389 2381 y(--macs)e(mac1)g(mac2...)285 -b(MACs)46 b(to)i(enable.)389 2491 y(--kx)e(kx1)h(kx2...)476 -b(Key)47 b(exchange)e(methods)h(to)h(enable.)389 2600 -y(--ctypes)e(certType1)g(certType2...)1582 2710 y(Certificate)g(types)h -(to)h(enable.)389 2819 y(--priority)e(PRIORITY)g(STRING)1582 -2929 y(Priorities)g(string.)389 3039 y(-l,)i(--list)714 -b(Print)46 b(a)i(list)e(of)h(the)g(supported)1582 3148 -y(algorithms)93 b(and)46 b(modes.)389 3258 y(-h,)h(--help)714 -b(prints)46 b(this)h(help)389 3367 y(-v,)g(--version)570 -b(prints)46 b(the)h(program's)e(version)h(number)150 -3579 y Fu(8.4.1)63 b(Setting)41 b(Up)g(a)g(T)-10 b(est)41 -b(HTTPS)h(Serv)m(er)150 3726 y FB(Running)e(y)m(our)h(o)m(wn)g(TLS)f -(serv)m(er)i(based)f(on)g(Gn)m(uTLS)f(can)h(b)s(e)g(useful)f(when)g -(debugging)h(clien)m(ts)150 3836 y(and/or)28 b(Gn)m(uTLS)f(itself.)41 -b(This)27 b(section)j(describ)s(es)d(ho)m(w)i(to)g(use)f -Fs(gnutls-serv)d FB(as)j(a)h(simple)f(HTTPS)150 3946 -y(serv)m(er.)150 4093 y(The)i(most)h(basic)f(serv)m(er)h(can)g(b)s(e)e -(started)i(as:)390 4240 y Fs(gnutls-serv)45 b(--http)150 -4388 y FB(It)30 b(will)h(only)g(supp)s(ort)d(anon)m(ymous)j -(ciphersuites,)f(whic)m(h)g(man)m(y)h(TLS)e(clien)m(ts)j(refuse)e(to)h -(use.)150 4535 y(The)f(next)g(step)h(is)f(to)h(add)f(supp)s(ort)f(for)h -(X.509.)42 b(First)31 b(w)m(e)g(generate)h(a)f(CA:)390 -4682 y Fs(certtool)46 b(--generate-privkey)c(>)48 b(x509-ca-key.pem)390 -4792 y(echo)f('cn)g(=)g(GnuTLS)f(test)h(CA')g(>)g(ca.tmpl)390 -4902 y(echo)g('ca')f(>>)h(ca.tmpl)390 5011 y(echo)g('cert_signing_key') -42 b(>>)48 b(ca.tmpl)390 5121 y(certtool)e(--generate-self-signed)41 -b(--load-privkey)j(x509-ca-key.pem)g(\\)485 5230 y(--template)h -(ca.tmpl)h(--outfile)g(x509-ca.pem)390 5340 y(...)p eop -end -%%Page: 111 117 -TeXDict begin 111 116 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(111)150 299 y(Then)32 -b(generate)j(a)f(serv)m(er)g(certi\014cate.)52 b(Remem)m(b)s(er)33 -b(to)h(c)m(hange)h(the)f(dns)p 2748 299 28 4 v 39 w(name)f(v)-5 -b(alue)34 b(to)g(the)g(name)150 408 y(of)d(y)m(our)f(serv)m(er)g(host,) -h(or)g(skip)e(that)i(command)g(to)g(a)m(v)m(oid)h(the)e(\014eld.)390 -548 y Fs(certtool)46 b(--generate-privkey)c(>)48 b(x509-server-key.pem) -390 658 y(echo)f('organization)d(=)j(GnuTLS)f(test)h(server')f(>)h -(server.tmpl)390 767 y(echo)g('cn)g(=)g(test.gnutls.org')c(>>)48 -b(server.tmpl)390 877 y(echo)f('tls_www_server')c(>>)k(server.tmpl)390 -986 y(echo)g('encryption_key')c(>>)k(server.tmpl)390 -1096 y(echo)g('signing_key')d(>>)j(server.tmpl)390 1205 +4902 y(use.)389 5011 y(--srppasswd)e(FILE)429 b(SRP)47 +b(password)e(file)i(to)g(use.)389 5121 y(--srppasswdconf)c(FILE)238 +b(SRP)47 b(password)e(conf)i(file)g(to)g(use.)389 5230 +y(--ciphers)e(cipher1)h(cipher2...)1582 5340 y(Ciphers)g(to)h(enable.)p +eop end +%%Page: 113 119 +TeXDict begin 113 118 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(113)389 299 y Ft(--protocols)44 +b(protocol1)i(protocol2...)1582 408 y(Protocols)f(to)i(enable.)389 +518 y(--comp)f(comp1)g(comp2...)189 b(Compression)45 +b(methods)g(to)j(enable.)389 628 y(--macs)e(mac1)g(mac2...)285 +b(MACs)46 b(to)i(enable.)389 737 y(--kx)e(kx1)h(kx2...)476 +b(Key)47 b(exchange)e(methods)h(to)h(enable.)389 847 +y(--ctypes)e(certType1)g(certType2...)1582 956 y(Certificate)g(types)h +(to)h(enable.)389 1066 y(-l,)g(--list)714 b(Print)46 +b(a)i(list)e(of)h(the)g(supported)1582 1176 y(algorithms)93 +b(and)46 b(modes.)389 1285 y(-h,)h(--help)714 b(prints)46 +b(this)h(help)389 1395 y(-v,)g(--version)570 b(prints)46 +b(the)h(program's)e(version)h(number)389 1504 y(--copyright)665 +b(prints)46 b(the)h(program's)e(license)150 1700 y Fv(8.4.1)63 +b(Setting)41 b(Up)g(a)g(T)-10 b(est)41 b(HTTPS)h(Serv)m(er)150 +1846 y FB(Running)e(y)m(our)h(o)m(wn)g(TLS)f(serv)m(er)i(based)f(on)g +(Gn)m(uTLS)f(can)h(b)s(e)g(useful)f(when)g(debugging)h(clien)m(ts)150 +1956 y(and/or)28 b(Gn)m(uTLS)f(itself.)41 b(This)27 b(section)j +(describ)s(es)d(ho)m(w)i(to)g(use)f Ft(gnutls-serv)d +FB(as)j(a)h(simple)f(HTTPS)150 2066 y(serv)m(er.)150 +2198 y(The)i(most)h(basic)f(serv)m(er)h(can)g(b)s(e)e(started)i(as:)390 +2331 y Ft(gnutls-serv)45 b(--http)150 2463 y FB(It)30 +b(will)h(only)g(supp)s(ort)d(anon)m(ymous)j(ciphersuites,)f(whic)m(h)g +(man)m(y)h(TLS)e(clien)m(ts)j(refuse)e(to)h(use.)150 +2595 y(The)f(next)g(step)h(is)f(to)h(add)f(supp)s(ort)f(for)h(X.509.)42 +b(First)31 b(w)m(e)g(generate)h(a)f(CA:)390 2728 y Ft(certtool)46 +b(--generate-privkey)c(>)48 b(x509-ca-key.pem)390 2838 +y(echo)f('cn)g(=)g(GnuTLS)f(test)h(CA')g(>)g(ca.tmpl)390 +2947 y(echo)g('ca')f(>>)h(ca.tmpl)390 3057 y(echo)g('cert_signing_key') +42 b(>>)48 b(ca.tmpl)390 3166 y(certtool)e(--generate-self-signed)41 +b(--load-privkey)j(x509-ca-key.pem)g(\\)485 3276 y(--template)h +(ca.tmpl)h(--outfile)g(x509-ca.pem)390 3385 y(...)150 +3518 y FB(Then)32 b(generate)j(a)f(serv)m(er)g(certi\014cate.)52 +b(Remem)m(b)s(er)33 b(to)h(c)m(hange)h(the)f(dns)p 2748 +3518 28 4 v 39 w(name)f(v)-5 b(alue)34 b(to)g(the)g(name)150 +3628 y(of)d(y)m(our)f(serv)m(er)g(host,)h(or)g(skip)e(that)i(command)g +(to)g(a)m(v)m(oid)h(the)e(\014eld.)390 3760 y Ft(certtool)46 +b(--generate-privkey)c(>)48 b(x509-server-key.pem)390 +3870 y(echo)f('organization)d(=)j(GnuTLS)f(test)h(server')f(>)h +(server.tmpl)390 3979 y(echo)g('cn)g(=)g(test.gnutls.org')c(>>)48 +b(server.tmpl)390 4089 y(echo)f('tls_www_server')c(>>)k(server.tmpl)390 +4198 y(echo)g('encryption_key')c(>>)k(server.tmpl)390 +4308 y(echo)g('signing_key')d(>>)j(server.tmpl)390 4418 y(echo)g('dns_name)e(=)i(test.gnutls.org')d(>>)j(server.tmpl)390 -1315 y(certtool)f(--generate-certificate)41 b(--load-privkey)j -(x509-server-key.pem)f(\\)485 1425 y(--load-ca-certificate)f +4527 y(certtool)f(--generate-certificate)41 b(--load-privkey)j +(x509-server-key.pem)f(\\)485 4637 y(--load-ca-certificate)f (x509-ca.pem)j(--load-ca-privkey)e(x509-ca-key.pem)h(\\)485 -1534 y(--template)h(server.tmpl)g(--outfile)g(x509-server.pem)390 -1644 y(...)150 1783 y FB(F)-8 b(or)31 b(use)f(in)g(the)h(clien)m(t,)h +4746 y(--template)h(server.tmpl)g(--outfile)g(x509-server.pem)390 +4856 y(...)150 4988 y FB(F)-8 b(or)31 b(use)f(in)g(the)h(clien)m(t,)h (y)m(ou)f(ma)m(y)g(w)m(an)m(t)g(to)g(generate)h(a)f(clien)m(t)h -(certi\014cate)g(as)f(w)m(ell.)390 1923 y Fs(certtool)46 +(certi\014cate)g(as)f(w)m(ell.)390 5121 y Ft(certtool)46 b(--generate-privkey)c(>)48 b(x509-client-key.pem)390 -2032 y(echo)f('cn)g(=)g(GnuTLS)f(test)h(client')f(>)h(client.tmpl)390 -2142 y(echo)g('tls_www_client')c(>>)k(client.tmpl)390 -2252 y(echo)g('encryption_key')c(>>)k(client.tmpl)390 -2361 y(echo)g('signing_key')d(>>)j(client.tmpl)390 2471 -y(certtool)f(--generate-certificate)41 b(--load-privkey)j -(x509-client-key.pem)f(\\)485 2580 y(--load-ca-certificate)f -(x509-ca.pem)j(--load-ca-privkey)e(x509-ca-key.pem)h(\\)485 -2690 y(--template)h(client.tmpl)g(--outfile)g(x509-client.pem)390 -2800 y(...)150 2939 y FB(T)-8 b(o)42 b(b)s(e)f(able)h(to)g(imp)s(ort)f -(the)h(clien)m(t)h(k)m(ey/certi\014cate)i(in)m(to)d(some)g -(applications,)k(y)m(ou)c(will)g(need)f(to)150 3049 y(con)m(v)m(ert)29 -b(them)e(in)m(to)h(a)f(PK)m(CS#12)g(structure.)40 b(This)26 -b(also)i(encrypts)f(the)g(securit)m(y)h(sensitiv)m(e)g(k)m(ey)g(with) -150 3158 y(a)j(passw)m(ord.)390 3298 y Fs(certtool)46 -b(--to-p12)f(--load-privkey)f(x509-client-key.pem)f(--load-certificate) -f(x509-client.pem)i(--outder)h(--outfile)h(x509-client.p12)150 -3437 y FB(F)-8 b(or)31 b(icing,)h(w)m(e'll)f(create)h(a)f(pro)m(xy)f -(certi\014cate)j(for)d(the)g(clien)m(t)i(to)s(o.)390 -3577 y Fs(certtool)46 b(--generate-privkey)c(>)48 b(x509-proxy-key.pem) -390 3686 y(echo)f('cn)g(=)g(GnuTLS)f(test)h(client)f(proxy')g(>)h -(proxy.tmpl)390 3796 y(certtool)f(--generate-proxy)d(--load-privkey)h -(x509-proxy-key.pem)f(\\)485 3905 y(--load-ca-certificate)f +5230 y(echo)f('cn)g(=)g(GnuTLS)f(test)h(client')f(>)h(client.tmpl)390 +5340 y(echo)g('tls_www_client')c(>>)k(client.tmpl)p eop +end +%%Page: 114 120 +TeXDict begin 114 119 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(114)390 299 y Ft(echo)47 +b('encryption_key')c(>>)k(client.tmpl)390 408 y(echo)g('signing_key')d +(>>)j(client.tmpl)390 518 y(certtool)f(--generate-certificate)41 +b(--load-privkey)j(x509-client-key.pem)f(\\)485 628 y +(--load-ca-certificate)f(x509-ca.pem)j(--load-ca-privkey)e +(x509-ca-key.pem)h(\\)485 737 y(--template)h(client.tmpl)g(--outfile)g +(x509-client.pem)390 847 y(...)150 986 y FB(T)-8 b(o)42 +b(b)s(e)f(able)h(to)g(imp)s(ort)f(the)h(clien)m(t)h(k)m +(ey/certi\014cate)i(in)m(to)d(some)g(applications,)k(y)m(ou)c(will)g +(need)f(to)150 1095 y(con)m(v)m(ert)29 b(them)e(in)m(to)h(a)f(PK)m +(CS#12)g(structure.)40 b(This)26 b(also)i(encrypts)f(the)g(securit)m(y) +h(sensitiv)m(e)g(k)m(ey)g(with)150 1205 y(a)j(passw)m(ord.)390 +1344 y Ft(certtool)46 b(--to-p12)f(--load-privkey)f +(x509-client-key.pem)f(--load-certificate)f(x509-client.pem)i(--outder) +h(--outfile)h(x509-client.p12)150 1482 y FB(F)-8 b(or)31 +b(icing,)h(w)m(e'll)f(create)h(a)f(pro)m(xy)f(certi\014cate)j(for)d +(the)g(clien)m(t)i(to)s(o.)390 1621 y Ft(certtool)46 +b(--generate-privkey)c(>)48 b(x509-proxy-key.pem)390 +1731 y(echo)f('cn)g(=)g(GnuTLS)f(test)h(client)f(proxy')g(>)h +(proxy.tmpl)390 1840 y(certtool)f(--generate-proxy)d(--load-privkey)h +(x509-proxy-key.pem)f(\\)485 1950 y(--load-ca-certificate)f (x509-client.pem)i(--load-ca-privkey)f(x509-client-key.pem)g(\\)485 -4015 y(--load-certificate)g(x509-client.pem)h(--template)h(proxy.tmpl)g -(\\)485 4125 y(--outfile)h(x509-proxy.pem)390 4234 y(...)150 -4374 y FB(Then)29 b(start)i(the)g(serv)m(er)g(again:)390 -4513 y Fs(gnutls-serv)45 b(--http)h(\\)963 4623 y(--x509cafile)e -(x509-ca.pem)h(\\)963 4732 y(--x509keyfile)f(x509-server-key.pem)e(\\) -963 4842 y(--x509certfile)i(x509-server.pem)150 4981 +2060 y(--load-certificate)g(x509-client.pem)h(--template)h(proxy.tmpl)g +(\\)485 2169 y(--outfile)h(x509-proxy.pem)390 2279 y(...)150 +2418 y FB(Then)29 b(start)i(the)g(serv)m(er)g(again:)390 +2556 y Ft(gnutls-serv)45 b(--http)h(\\)963 2666 y(--x509cafile)e +(x509-ca.pem)h(\\)963 2776 y(--x509keyfile)f(x509-server-key.pem)e(\\) +963 2885 y(--x509certfile)i(x509-server.pem)150 3024 y FB(T)-8 b(ry)33 b(connecting)h(to)f(the)h(serv)m(er)f(using)f(y)m (our)h(w)m(eb)g(bro)m(wser.)48 b(Note)34 b(that)g(the)f(serv)m(er)g -(listens)h(to)g(p)s(ort)150 5091 y(5556)e(b)m(y)e(default.)150 -5230 y(While)35 b(y)m(ou)g(are)g(at)h(it,)g(to)f(allo)m(w)h +(listens)h(to)g(p)s(ort)150 3134 y(5556)e(b)m(y)e(default.)150 +3272 y(While)35 b(y)m(ou)g(are)g(at)h(it,)g(to)f(allo)m(w)h (connections)g(using)e(DSA,)h(y)m(ou)g(can)g(also)g(create)i(a)e(DSA)f -(k)m(ey)i(and)150 5340 y(certi\014cate)c(for)f(the)f(serv)m(er.)41 +(k)m(ey)i(and)150 3382 y(certi\014cate)c(for)f(the)f(serv)m(er.)41 b(These)30 b(creden)m(tials)i(will)f(b)s(e)f(used)f(in)h(the)h(\014nal) -f(example)h(b)s(elo)m(w.)p eop end -%%Page: 112 118 -TeXDict begin 112 117 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(112)390 299 y Fs(certtool)46 -b(--generate-privkey)c(--dsa)47 b(>)g(x509-server-key-dsa.pem)390 -408 y(certtool)f(--generate-certificate)41 b(--load-privkey)j -(x509-server-key-dsa.pem)e(\\)485 518 y(--load-ca-certificate)g +f(example)h(b)s(elo)m(w.)390 3521 y Ft(certtool)46 b +(--generate-privkey)c(--dsa)47 b(>)g(x509-server-key-dsa.pem)390 +3630 y(certtool)f(--generate-certificate)41 b(--load-privkey)j +(x509-server-key-dsa.pem)e(\\)485 3740 y(--load-ca-certificate)g (x509-ca.pem)j(--load-ca-privkey)e(x509-ca-key.pem)h(\\)485 -628 y(--template)h(server.tmpl)g(--outfile)g(x509-server-dsa.pem)390 -737 y(...)150 874 y FB(The)30 b(next)g(step)h(is)f(to)h(create)h(Op)s +3850 y(--template)h(server.tmpl)g(--outfile)g(x509-server-dsa.pem)390 +3959 y(...)150 4098 y FB(The)30 b(next)g(step)h(is)f(to)h(create)h(Op)s (enPGP)d(creden)m(tials)j(for)e(the)h(serv)m(er.)390 -1011 y Fs(gpg)47 b(--gen-key)390 1121 y(...enter)f(whatever)f(details)h +4237 y Ft(gpg)47 b(--gen-key)390 4346 y(...enter)f(whatever)f(details)h (you)h(want,)f(use)h('test.gnutls.org')c(as)k(name...)150 -1258 y FB(Mak)m(e)22 b(a)f(note)g(of)g(the)g(Op)s(enPGP)e(k)m(ey)i +4485 y FB(Mak)m(e)22 b(a)f(note)g(of)g(the)g(Op)s(enPGP)e(k)m(ey)i (iden)m(ti\014er)g(of)g(the)g(newly)f(generated)h(k)m(ey)-8 -b(,)24 b(here)d(it)g(w)m(as)g Fs(5D1D14D8)p FB(.)150 -1367 y(Y)-8 b(ou)31 b(will)g(need)f(to)h(exp)s(ort)f(the)h(k)m(ey)g +b(,)24 b(here)d(it)g(w)m(as)g Ft(5D1D14D8)p FB(.)150 +4595 y(Y)-8 b(ou)31 b(will)g(need)f(to)h(exp)s(ort)f(the)h(k)m(ey)g (for)f(Gn)m(uTLS)f(to)i(b)s(e)f(able)h(to)g(use)f(it.)390 -1504 y Fs(gpg)47 b(-a)g(--export)f(5D1D14D8)f(>)j(openpgp-server.txt) -390 1614 y(gpg)f(--export)e(5D1D14D8)h(>)h(openpgp-server.bin)390 -1724 y(gpg)g(--export-secret-keys)42 b(5D1D14D8)k(>)h -(openpgp-server-key.bin)390 1833 y(gpg)g(-a)g(--export-secret-keys)42 -b(5D1D14D8)k(>)h(openpgp-server-key.txt)150 1970 y FB(Let's)31 +4734 y Ft(gpg)47 b(-a)g(--export)f(5D1D14D8)f(>)j(openpgp-server.txt) +390 4843 y(gpg)f(--export)e(5D1D14D8)h(>)h(openpgp-server.bin)390 +4953 y(gpg)g(--export-secret-keys)42 b(5D1D14D8)k(>)h +(openpgp-server-key.bin)390 5062 y(gpg)g(-a)g(--export-secret-keys)42 +b(5D1D14D8)k(>)h(openpgp-server-key.txt)150 5201 y FB(Let's)31 b(start)g(the)f(serv)m(er)h(with)f(supp)s(ort)f(for)h(Op)s(enPGP)f -(creden)m(tials:)390 2107 y Fs(gnutls-serv)45 b(--http)h(\\)963 -2217 y(--pgpkeyfile)e(openpgp-server-key.txt)e(\\)963 -2326 y(--pgpcertfile)i(openpgp-server.txt)150 2463 y -FB(The)30 b(next)g(step)h(is)f(to)h(add)f(supp)s(ort)f(for)h(SRP)f -(authen)m(tication.)390 2600 y Fs(srptool)46 b(--create-conf)e -(srp-tpasswd.conf)390 2710 y(srptool)i(--passwd-conf)e -(srp-tpasswd.conf)f(--username)i(jas)i(--passwd)f(srp-passwd.txt)390 -2819 y(Enter)g(password:)g([TYPE)g("foo"])150 2956 y -FB(Start)31 b(the)f(serv)m(er)h(with)f(SRP)f(supp)s(ort:)390 -3093 y Fs(gnutls-serv)45 b(--http)h(\\)963 3203 y(--srppasswdconf)d -(srp-tpasswd.conf)h(\\)963 3313 y(--srppasswd)g(srp-passwd.txt)150 -3450 y FB(Let's)31 b(also)g(add)f(supp)s(ort)f(for)h(PSK.)390 -3587 y Fs($)47 b(psktool)f(--passwd)g(psk-passwd.txt)150 -3724 y FB(Start)31 b(the)f(serv)m(er)h(with)f(PSK)f(supp)s(ort:)390 -3861 y Fs(gnutls-serv)45 b(--http)h(\\)963 3970 y(--pskpasswd)e -(psk-passwd.txt)150 4107 y FB(Finally)-8 b(,)32 b(w)m(e)f(start)g(the)f -(serv)m(er)h(with)f(all)h(the)g(earlier)g(parameters)g(and)f(y)m(ou)g -(get)i(this)e(command:)390 4244 y Fs(gnutls-serv)45 b(--http)h(\\)963 -4354 y(--x509cafile)e(x509-ca.pem)h(\\)963 4463 y(--x509keyfile)f -(x509-server-key.pem)e(\\)963 4573 y(--x509certfile)i(x509-server.pem)f -(\\)963 4682 y(--x509dsakeyfile)g(x509-server-key-dsa.pem)f(\\)963 -4792 y(--x509dsacertfile)h(x509-server-dsa.pem)f(\\)963 -4902 y(--pgpkeyfile)i(openpgp-server-key.txt)e(\\)963 -5011 y(--pgpcertfile)i(openpgp-server.txt)f(\\)963 5121 -y(--srppasswdconf)g(srp-tpasswd.conf)h(\\)963 5230 y(--srppasswd)g -(srp-passwd.txt)g(\\)963 5340 y(--pskpasswd)g(psk-passwd.txt)p +(creden)m(tials:)390 5340 y Ft(gnutls-serv)45 b(--http)h(\\)p eop end -%%Page: 113 119 -TeXDict begin 113 118 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(113)150 299 y Fu(8.4.2)63 -b(Example)40 b(serv)m(er)h(PSK)g(connection)150 446 y -FB(T)-8 b(o)45 b(set)g(up)e(a)i(PSK)e(serv)m(er)i(with)f -Fs(gnutls-serv)d FB(y)m(ou)k(need)f(to)h(create)h(PSK)e(passw)m(ord)f -(\014le)i(\(see)150 555 y(Section)37 b(8.5)g([In)m(v)m(oking)g(pskto)s -(ol],)i(page)d(113\).)60 b(In)35 b(the)h(example)h(b)s(elo)m(w,)h(I)e -(t)m(yp)s(e)g Fs(password)e FB(at)j(the)150 665 y(prompt.)390 -780 y Fq($)i(./psktool)j(-u)d(psk_identity)j(-p)e(psks.txt)h(-n)f -(psk_identity_hint)390 867 y(Enter)g(password:)390 954 -y(Key)g(stored)g(to)g(psks.txt)390 1041 y($)f(cat)h(psks.txt)390 -1129 y(psk_identity:88f3824b3e5659f5)q(2d00)q(e959b)q(acab)q(954b6)q -(5403)q(44)390 1216 y($)150 1353 y FB(After)31 b(this,)f(start)h(the)g +%%Page: 115 121 +TeXDict begin 115 120 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(115)963 299 y Ft(--pgpkeyfile)44 +b(openpgp-server-key.txt)e(\\)963 408 y(--pgpcertfile)i +(openpgp-server.txt)150 554 y FB(The)30 b(next)g(step)h(is)f(to)h(add)f +(supp)s(ort)f(for)h(SRP)f(authen)m(tication.)390 699 +y Ft(srptool)46 b(--create-conf)e(srp-tpasswd.conf)390 +809 y(srptool)i(--passwd-conf)e(srp-tpasswd.conf)f(--username)i(jas)i +(--passwd)f(srp-passwd.txt)390 919 y(Enter)g(password:)g([TYPE)g +("foo"])150 1064 y FB(Start)31 b(the)f(serv)m(er)h(with)f(SRP)f(supp)s +(ort:)390 1209 y Ft(gnutls-serv)45 b(--http)h(\\)963 +1319 y(--srppasswdconf)d(srp-tpasswd.conf)h(\\)963 1429 +y(--srppasswd)g(srp-passwd.txt)150 1574 y FB(Let's)31 +b(also)g(add)f(supp)s(ort)f(for)h(PSK.)390 1720 y Ft($)47 +b(psktool)f(--passwd)g(psk-passwd.txt)150 1865 y FB(Start)31 +b(the)f(serv)m(er)h(with)f(PSK)f(supp)s(ort:)390 2010 +y Ft(gnutls-serv)45 b(--http)h(\\)963 2120 y(--pskpasswd)e +(psk-passwd.txt)150 2266 y FB(Finally)-8 b(,)32 b(w)m(e)f(start)g(the)f +(serv)m(er)h(with)f(all)h(the)g(earlier)g(parameters)g(and)f(y)m(ou)g +(get)i(this)e(command:)390 2411 y Ft(gnutls-serv)45 b(--http)h(\\)963 +2521 y(--x509cafile)e(x509-ca.pem)h(\\)963 2630 y(--x509keyfile)f +(x509-server-key.pem)e(\\)963 2740 y(--x509certfile)i(x509-server.pem)f +(\\)963 2849 y(--x509dsakeyfile)g(x509-server-key-dsa.pem)f(\\)963 +2959 y(--x509dsacertfile)h(x509-server-dsa.pem)f(\\)963 +3068 y(--pgpkeyfile)i(openpgp-server-key.txt)e(\\)963 +3178 y(--pgpcertfile)i(openpgp-server.txt)f(\\)963 3288 +y(--srppasswdconf)g(srp-tpasswd.conf)h(\\)963 3397 y(--srppasswd)g +(srp-passwd.txt)g(\\)963 3507 y(--pskpasswd)g(psk-passwd.txt)150 +3717 y Fv(8.4.2)63 b(Example)40 b(serv)m(er)h(PSK)g(connection)150 +3864 y FB(T)-8 b(o)45 b(set)g(up)e(a)i(PSK)e(serv)m(er)i(with)f +Ft(gnutls-serv)d FB(y)m(ou)k(need)f(to)h(create)h(PSK)e(passw)m(ord)f +(\014le)i(\(see)150 3974 y(Section)37 b(8.5)g([In)m(v)m(oking)g(pskto)s +(ol],)i(page)d(116\).)60 b(In)35 b(the)h(example)h(b)s(elo)m(w,)h(I)e +(t)m(yp)s(e)g Ft(password)e FB(at)j(the)150 4083 y(prompt.)390 +4206 y Fp($)i(./psktool)j(-u)d(psk_identity)j(-p)e(psks.txt)h(-n)f +(psk_identity_hint)390 4293 y(Enter)g(password:)390 4381 +y(Key)g(stored)g(to)g(psks.txt)390 4468 y($)f(cat)h(psks.txt)390 +4555 y(psk_identity:88f3824b3e5659f5)q(2d00)q(e959b)q(acab)q(954b6)q +(5403)q(44)390 4642 y($)150 4788 y FB(After)31 b(this,)f(start)h(the)g (serv)m(er)f(p)s(oin)m(ting)h(to)g(the)g(passw)m(ord)e(\014le.)41 -b(W)-8 b(e)32 b(disable)e(DHE-PSK.)390 1468 y Fq($)39 +b(W)-8 b(e)32 b(disable)e(DHE-PSK.)390 4911 y Fp($)39 b(./gnutls-serv)k(--pskpasswd)e(psks.txt)81 b(--pskhint)41 b(psk_identity_hint)i(--priority)f(NORMAL:-DHE-PSK)390 -1555 y(Set)e(static)g(Diffie-Hellman)j(parameters,)f(consider)f -(--dhparams.)390 1642 y(Echo)f(Server)h(ready.)f(Listening)i(to)d(port) -h('5556'.)150 1779 y FB(Y)-8 b(ou)37 b(can)f(no)m(w)g(connect)h(to)g +4998 y(Set)e(static)g(Diffie)h(Hellman)g(parameters,)h(consider)f +(--dhparams.)390 5085 y(Echo)f(Server)h(ready.)f(Listening)i(to)d(port) +h('5556'.)150 5230 y FB(Y)-8 b(ou)37 b(can)f(no)m(w)g(connect)h(to)g (the)f(serv)m(er)g(using)g(a)g(PSK)f(clien)m(t)j(\(see)f(Section)g -(8.2.1)h([Example)e(clien)m(t)150 1889 y(PSK)29 b(connection],)j(page)g -(108\).)150 2126 y FA(8.5)68 b(In)l(v)l(oking)46 b(pskto)t(ol)150 -2285 y FB(This)30 b(is)g(a)h(program)f(to)h(manage)g -Ft(PSK)f FB(username)g(and)f(k)m(eys.)150 2422 y Fs(PSKtool)46 -b(help)150 2532 y(Usage)g(:)i(psktool)e([options])389 -2641 y(-u,)h(--username)e(username)1582 2751 y(specify)h(username.)389 -2861 y(-p,)h(--passwd)e(FILE)381 b(specify)46 b(a)h(password)f(file.) -389 2970 y(-n,)h(--netconf-hint)c(HINT)1582 3080 y(derive)j(key)h(from) -f(Netconf)g(password,)g(using)1582 3189 y(HINT)g(as)i(the)f -(psk_identity_hint.)389 3299 y(-s,)g(--keysize)e(SIZE)333 -b(specify)46 b(the)h(key)f(size)h(in)g(bytes.)389 3409 -y(-v,)g(--version)570 b(prints)46 b(the)h(program's)e(version)h(number) -389 3518 y(-h,)h(--help)714 b(shows)46 b(this)h(help)f(text)150 -3655 y FB(Normally)77 b(the)f(\014le)g(will)g(generate)i(random)d(k)m -(eys)i(for)e(the)h(indicate)i(username.)176 b(Y)-8 b(ou)150 -3765 y(ma)m(y)86 b(also)g(deriv)m(e)g(PSK)f(k)m(eys)h(from)f(passw)m -(ords,)98 b(using)85 b(the)h(algorithm)h(sp)s(eci\014ed)d(in)150 -3875 y(`)p Fs(draft-ietf-netconf-tls-02)o(.txt)o FB('.)38 -b(The)30 b(algorithm)j(needs)d(a)i(PSK)e(iden)m(tit)m(y)j(hin)m(t,)f -(whic)m(h)f(y)m(ou)150 3984 y(sp)s(ecify)f(using)f Fs(--netconf-hint)p -FB(.)37 b(T)-8 b(o)30 b(deriv)m(e)h(a)f(PSK)f(k)m(ey)i(from)e(a)i -(passw)m(ord)e(with)h(an)g(empt)m(y)g(PSK)150 4094 y(iden)m(tit)m(y)i -(hin)m(t,)f(using)e Fs(--netconf-hint)e("")p FB(.)150 -4330 y FA(8.6)68 b(In)l(v)l(oking)46 b(srpto)t(ol)150 -4490 y FB(The)33 b(`)p Fs(srptool)p FB(')f(is)i(a)g(v)m(ery)g(simple)g +(8.2.1)h([Example)e(clien)m(t)150 5340 y(PSK)29 b(connection],)j(page)g +(110\).)p eop end +%%Page: 116 122 +TeXDict begin 116 121 bop 150 -116 a FB(Chapter)30 b(8:)41 +b(Included)29 b(Programs)2247 b(116)150 299 y FA(8.5)68 +b(In)l(v)l(oking)46 b(pskto)t(ol)150 458 y FB(This)30 +b(is)g(a)h(program)f(to)h(manage)g Fu(PSK)f FB(username)g(and)f(k)m +(eys.)150 593 y Ft(PSKtool)46 b(help)150 702 y(Usage)g(:)i(psktool)e +([options])389 812 y(-u,)h(--username)e(username)1582 +922 y(specify)h(username.)389 1031 y(-p,)h(--passwd)e(FILE)381 +b(specify)46 b(a)h(password)f(file.)389 1141 y(-n,)h(--netconf-hint)c +(HINT)1582 1250 y(derive)j(key)h(from)f(Netconf)g(password,)g(using) +1582 1360 y(HINT)g(as)i(the)f(psk_identity_hint.)389 +1469 y(-s,)g(--keysize)e(SIZE)333 b(specify)46 b(the)h(key)f(size)h(in) +g(bytes.)389 1579 y(-v,)g(--version)570 b(prints)46 b(the)h(program's)e +(version)h(number)389 1689 y(-h,)h(--help)714 b(shows)46 +b(this)h(help)f(text)150 1823 y FB(Normally)77 b(the)f(\014le)g(will)g +(generate)i(random)d(k)m(eys)i(for)e(the)h(indicate)i(username.)176 +b(Y)-8 b(ou)150 1933 y(ma)m(y)86 b(also)g(deriv)m(e)g(PSK)f(k)m(eys)h +(from)f(passw)m(ords,)98 b(using)85 b(the)h(algorithm)h(sp)s(eci\014ed) +d(in)150 2042 y(`)p Ft(draft-ietf-netconf-tls-02)o(.txt)o +FB('.)38 b(The)30 b(algorithm)j(needs)d(a)i(PSK)e(iden)m(tit)m(y)j(hin) +m(t,)f(whic)m(h)f(y)m(ou)150 2152 y(sp)s(ecify)f(using)f +Ft(--netconf-hint)p FB(.)37 b(T)-8 b(o)30 b(deriv)m(e)h(a)f(PSK)f(k)m +(ey)i(from)e(a)i(passw)m(ord)e(with)h(an)g(empt)m(y)g(PSK)150 +2262 y(iden)m(tit)m(y)i(hin)m(t,)f(using)e Ft(--netconf-hint)e("")p +FB(.)150 2494 y FA(8.6)68 b(In)l(v)l(oking)46 b(srpto)t(ol)150 +2653 y FB(The)33 b(`)p Ft(srptool)p FB(')f(is)i(a)g(v)m(ery)g(simple)g (program)f(that)i(em)m(ulates)g(the)e(programs)h(in)f(the)h -Fm(Stanfor)-5 b(d)38 b(SRP)150 4599 y(libr)-5 b(aries)p -FB(,)31 b(see)g Fs(http://srp.stanford.edu/)o FB(.)k(It)30 -b(is)g(in)m(tended)g(for)f(use)h(in)g(places)g(where)g(y)m(ou)g(don't) -150 4709 y(exp)s(ect)h Ft(SRP)f FB(authen)m(tication)i(to)g(b)s(e)d -(the)i(used)e(for)i(system)f(users.)150 4846 y(T)-8 b(raditionally)27 -b Fm(libsrp)32 b FB(used)24 b(t)m(w)m(o)j(\014les.)39 -b(One)25 b(called)h Fs(tpasswd)d FB(whic)m(h)j(holds)e(usernames)h(and) -g(v)m(eri\014ers,)150 4956 y(and)30 b Fs(tpasswd.conf)d -FB(whic)m(h)j(holds)g(generators)h(and)f(primes.)150 -5093 y(Ho)m(w)h(to)g(use)f(srpto)s(ol:)225 5230 y Fy(\017)60 +Fm(Stanfor)-5 b(d)38 b(SRP)150 2763 y(libr)-5 b(aries)p +FB(.)46 b(It)32 b(is)f(in)m(tended)h(for)f(use)h(in)f(places)i(where)e +(y)m(ou)h(don't)g(exp)s(ect)g Fu(SRP)f FB(authen)m(tication)j(to)f(b)s +(e)150 2873 y(the)h(used)f(for)h(system)g(users.)50 b(T)-8 +b(raditionally)35 b Fm(libsrp)40 b FB(used)33 b(t)m(w)m(o)i(\014les.)51 +b(One)34 b(called)h('tpasswd')e(whic)m(h)150 2982 y(holds)d(usernames)g +(and)f(v)m(eri\014ers,)i(and)f('tpasswd.conf)7 b(')30 +b(whic)m(h)g(holds)g(generators)i(and)d(primes.)150 3117 +y(Ho)m(w)i(to)g(use)f(srpto)s(ol:)225 3251 y Fs(\017)60 b FB(T)-8 b(o)27 b(create)h(tpasswd.conf)e(whic)m(h)g(holds)g(the)h(g)f -(and)g(n)g(v)-5 b(alues)27 b(for)f Ft(SRP)g FB(proto)s(col)i -(\(generator)g(and)330 5340 y(a)j(large)g(prime\),)g(run:)p -eop end -%%Page: 114 120 -TeXDict begin 114 119 bop 150 -116 a FB(Chapter)30 b(8:)41 -b(Included)29 b(Programs)2247 b(114)570 299 y Fs($)47 -b(srptool)f(--create-conf)e(/etc/tpasswd.conf)225 433 -y Fy(\017)60 b FB(This)45 b(command)h(will)g(create)h(/etc/tpasswd)h -(and)d(will)h(add)f(user)h('test')h(\(y)m(ou)f(will)h(also)g(b)s(e)330 -543 y(prompted)29 b(for)i(a)f(passw)m(ord\).)41 b(V)-8 -b(eri\014ers)30 b(are)h(stored)f(b)m(y)h(default)f(in)g(the)h(w)m(a)m -(y)g(libsrp)f(exp)s(ects.)570 677 y Fs($)47 b(srptool)f(--passwd)g -(/etc/tpasswd)e(\\)761 787 y(--passwd-conf)g(/etc/tpasswd.conf)f(-u)k -(test)225 922 y Fy(\017)60 b FB(This)41 b(command)h(will)g(c)m(hec)m(k) -i(against)f(a)f(passw)m(ord.)75 b(If)41 b(the)i(passw)m(ord)e(matc)m -(hes)i(the)f(one)g(in)330 1031 y(/etc/tpasswd)32 b(y)m(ou)e(will)h(get) -h(an)e(ok.)570 1166 y Fs($)47 b(srptool)f(--passwd)g(/etc/tpasswd)e(\\) -761 1275 y(--passwd-conf)g(/etc/tpasswd.conf)f(--verify)j(-u)h(test)p +(and)g(n)g(v)-5 b(alues)27 b(for)f Fu(SRP)g FB(proto)s(col)i +(\(generator)g(and)330 3361 y(a)j(large)g(prime\),)g(run:)570 +3495 y Ft($)47 b(srptool)f(--create-conf)e(/etc/tpasswd.conf)225 +3630 y Fs(\017)60 b FB(This)45 b(command)h(will)g(create)h +(/etc/tpasswd)h(and)d(will)h(add)f(user)h('test')h(\(y)m(ou)f(will)h +(also)g(b)s(e)330 3739 y(prompted)29 b(for)i(a)f(passw)m(ord\).)41 +b(V)-8 b(eri\014ers)30 b(are)h(stored)f(b)m(y)h(default)f(in)g(the)h(w) +m(a)m(y)g(libsrp)f(exp)s(ects.)570 3874 y Ft($)47 b(srptool)f(--passwd) +g(/etc/tpasswd)e(\\)761 3983 y(--passwd-conf)g(/etc/tpasswd.conf)f(-u)k +(test)225 4118 y Fs(\017)60 b FB(This)41 b(command)h(will)g(c)m(hec)m +(k)i(against)f(a)f(passw)m(ord.)75 b(If)41 b(the)i(passw)m(ord)e(matc)m +(hes)i(the)f(one)g(in)330 4227 y(/etc/tpasswd)32 b(y)m(ou)e(will)h(get) +h(an)e(ok.)570 4362 y Ft($)47 b(srptool)f(--passwd)g(/etc/tpasswd)e(\\) +761 4472 y(--passwd-conf)g(/etc/tpasswd.conf)f(--verify)j(-u)h(test)p eop end -%%Page: 115 121 -TeXDict begin 115 120 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(115)150 299 y -Fx(9)80 b(F)-13 b(unction)52 b(Reference)150 718 y FA(9.1)68 +%%Page: 117 123 +TeXDict begin 117 122 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(117)150 299 y +Fy(9)80 b(F)-13 b(unction)52 b(Reference)150 718 y FA(9.1)68 b(Core)46 b(F)-11 b(unctions)150 877 y FB(The)30 b(protot)m(yp)s(es)h (for)f(the)g(follo)m(wing)i(functions)e(lie)h(in)f(`)p -Fs(gnutls/gnutls.h)p FB('.)150 1101 y Fu(gn)m(utls)p +Ft(gnutls/gnutls.h)p FB('.)150 1101 y Fv(gn)m(utls)p 483 1101 37 5 v 55 w(alert)p 786 1101 V 53 w(get)p 1004 1101 V 54 w(name)3350 1322 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_alert_get_name)f Fg(\()p Ff(gn)m(utls)p 2255 1322 28 4 v 41 w(alert)p 2477 1322 V 41 w(description)p 2953 1322 V 40 w(t)565 1432 y Fe(alert)12 b Fg(\))390 1542 y Ff(alert)r FB(:)42 b(is)30 b(an)g(alert)i(n)m(um)m -(b)s(er)d Fs(gnutls_session_t)d FB(structure.)390 1701 +(b)s(er)d Ft(gnutls_session_t)d FB(structure.)390 1701 y(This)h(function)g(will)i(return)d(a)i(string)g(that)g(describ)s(es)f -(the)h(giv)m(en)h(alert)g(n)m(um)m(b)s(er,)e(or)h Fs(NULL)p -FB(.)39 b(See)390 1810 y Fs(gnutls_alert_get\(\))p FB(.)390 +(the)h(giv)m(en)h(alert)g(n)m(um)m(b)s(er,)e(or)h Ft(NULL)p +FB(.)39 b(See)390 1810 y Ft(gnutls_alert_get\(\))p FB(.)390 1970 y Fn(Returns:)h FB(string)31 b(corresp)s(onding)e(to)i -Fs(gnutls_alert_description_)o(t)24 b FB(v)-5 b(alue.)150 -2194 y Fu(gn)m(utls)p 483 2194 37 5 v 55 w(alert)p 786 +Ft(gnutls_alert_description_)o(t)24 b FB(v)-5 b(alue.)150 +2194 y Fv(gn)m(utls)p 483 2194 37 5 v 55 w(alert)p 786 2194 V 53 w(get)3350 2415 y FB([F)d(unction])-3599 b Fh(gnutls_alert_descripti)q(on_)q(t)58 b(gnutls_alert_get)50 b Fg(\()p Ff(gn)m(utls)p 2725 2415 28 4 v 41 w(session)p 3035 2415 V 40 w(t)565 2525 y Fe(session)12 b Fg(\))390 -2634 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 +2634 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 2794 y(This)40 b(function)g(will)h(return)f(the)h (last)g(alert)h(n)m(um)m(b)s(er)d(receiv)m(ed.)74 b(This)39 b(function)i(should)f(b)s(e)390 2903 y(called)35 b(if)f -Fs(GNUTLS_E_WARNING_ALERT_R)o(ECE)o(IVED)27 b FB(or)34 -b Fs(GNUTLS_E_FATAL_ALERT_REC)o(EIVE)o(D)390 3013 y FB(has)e(b)s(een)g +Ft(GNUTLS_E_WARNING_ALERT_R)o(ECE)o(IVED)27 b FB(or)34 +b Ft(GNUTLS_E_FATAL_ALERT_REC)o(EIVE)o(D)390 3013 y FB(has)e(b)s(een)g (returned)f(b)m(y)h(a)h(gn)m(utls)f(function.)46 b(The)32 b(p)s(eer)g(ma)m(y)h(send)e(alerts)i(if)g(he)f(thinks)g(some)390 3122 y(things)e(w)m(ere)h(not)g(righ)m(t.)41 b(Chec)m(k)31 @@ -21316,45 +17643,45 @@ (descriptions.)390 3282 y(If)f(no)g(alert)i(has)e(b)s(een)f(receiv)m (ed)j(the)f(returned)e(v)-5 b(alue)31 b(is)f(unde\014ned.)390 3441 y Fn(Returns:)40 b FB(returns)30 b(the)g(last)h(alert)h(receiv)m -(ed,)g(a)e Fs(gnutls_alert_description_t)24 b FB(v)-5 -b(alue.)150 3665 y Fu(gn)m(utls)p 483 3665 37 5 v 55 +(ed,)g(a)e Ft(gnutls_alert_description_t)24 b FB(v)-5 +b(alue.)150 3665 y Fv(gn)m(utls)p 483 3665 37 5 v 55 w(alert)p 786 3665 V 53 w(send)p 1079 3665 V 55 w(appropriate)3350 3886 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_alert_send_app)q (ropr)q(iat)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 3886 28 -4 v 41 w(session)p 2512 3886 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(in)m(t)565 3996 y Fe(err)12 b Fg(\))390 4105 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 +4 v 41 w(session)p 2512 3886 V 40 w(t)31 b Fe(session)p +Ff(,)i(in)m(t)565 3996 y Fe(err)12 b Fg(\))390 4105 y +Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 4265 y Ff(err)7 b FB(:)40 b(is)30 b(an)g(in)m(teger)390 4424 y(Sends)c(an)h(alert)h(to)g(the)f(p)s(eer)f (dep)s(ending)g(on)h(the)g(error)g(co)s(de)g(returned)f(b)m(y)h(a)h(gn) m(utls)f(function.)390 4534 y(This)f(function)g(will)h(call)h -Fs(gnutls_error_to_alert\(\))20 b FB(to)27 b(determine)g(the)f +Ft(gnutls_error_to_alert\(\))20 b FB(to)27 b(determine)g(the)f (appropriate)h(alert)390 4643 y(to)k(send.)390 4802 y(This)f(function)g -(ma)m(y)h(also)g(return)e Fs(GNUTLS_E_AGAIN)p FB(,)e(or)j -Fs(GNUTLS_E_INTERRUPTED)p FB(.)390 4962 y(If)d(the)g(return)f(v)-5 -b(alue)27 b(is)g Fs(GNUTLS_E_INVALID_REQUEST)p FB(,)22 +(ma)m(y)h(also)g(return)e Ft(GNUTLS_E_AGAIN)p FB(,)e(or)j +Ft(GNUTLS_E_INTERRUPTED)p FB(.)390 4962 y(If)d(the)g(return)f(v)-5 +b(alue)27 b(is)g Ft(GNUTLS_E_INVALID_REQUEST)p FB(,)22 b(then)k(no)h(alert)h(has)f(b)s(een)f(sen)m(t)i(to)g(the)390 5071 y(p)s(eer.)390 5230 y Fn(Returns:)46 b FB(On)32 -b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g +b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g (otherwise)h(an)f(error)g(co)s(de)g(is)390 5340 y(returned.)p eop end -%%Page: 116 122 -TeXDict begin 116 121 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(116)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(alert)p 786 299 V +%%Page: 118 124 +TeXDict begin 118 123 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(118)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(alert)p 786 299 V 53 w(send)3350 492 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_alert_send)e Fg(\()p Ff(gn)m(utls)p 1575 492 -28 4 v 41 w(session)p 1885 492 V 40 w(t)30 b Fe(session)12 -b Ff(,)33 b(gn)m(utls)p 2664 492 V 40 w(alert)p 2885 -492 V 41 w(lev)m(el)p 3101 492 V 42 w(t)565 601 y Fe(level)12 -b Ff(,)32 b(gn)m(utls)p 1140 601 V 40 w(alert)p 1361 -601 V 41 w(description)p 1837 601 V 40 w(t)f Fe(desc)12 -b Fg(\))390 711 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 843 y Ff(lev)m(el)t -FB(:)42 b(is)30 b(the)h(lev)m(el)h(of)f(the)f(alert)390 -976 y Ff(desc)6 b FB(:)40 b(is)31 b(the)f(alert)i(description)390 -1108 y(This)41 b(function)h(will)g(send)g(an)g(alert)h(to)g(the)f(p)s -(eer)f(in)h(order)g(to)g(inform)g(him)f(of)h(something)390 +28 4 v 41 w(session)p 1885 492 V 40 w(t)30 b Fe(session)p +Ff(,)j(gn)m(utls)p 2652 492 V 41 w(alert)p 2874 492 V +41 w(lev)m(el)p 3090 492 V 41 w(t)565 601 y Fe(level)p +Ff(,)f(gn)m(utls)p 1128 601 V 41 w(alert)p 1350 601 V +41 w(description)p 1826 601 V 40 w(t)e Fe(desc)12 b Fg(\))390 +711 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 843 y Ff(lev)m(el)t FB(:)42 b(is)30 +b(the)h(lev)m(el)h(of)f(the)f(alert)390 976 y Ff(desc)6 +b FB(:)40 b(is)31 b(the)f(alert)i(description)390 1108 +y(This)41 b(function)h(will)g(send)g(an)g(alert)h(to)g(the)f(p)s(eer)f +(in)h(order)g(to)g(inform)g(him)f(of)h(something)390 1218 y(imp)s(ortan)m(t)35 b(\(eg.)53 b(his)34 b(Certi\014cate)i(could)e (not)h(b)s(e)e(v)m(eri\014ed\).)54 b(If)33 b(the)i(alert)g(lev)m(el)h (is)f(F)-8 b(atal)36 b(then)390 1327 y(the)f(p)s(eer)e(is)i(exp)s @@ -21362,11 +17689,11 @@ (ignore)g(the)f(alert)i(and)390 1437 y(con)m(tin)m(ue.)390 1569 y(The)d(error)g(co)s(de)h(of)g(the)g(underlying)e(record)i(send)f (function)g(will)h(b)s(e)f(returned,)g(so)h(y)m(ou)g(ma)m(y)390 -1679 y(also)d(receiv)m(e)i Fs(GNUTLS_E_INTERRUPTED)24 -b FB(or)31 b Fs(GNUTLS_E_AGAIN)26 b FB(as)31 b(w)m(ell.)390 -1811 y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 +1679 y(also)d(receiv)m(e)i Ft(GNUTLS_E_INTERRUPTED)24 +b FB(or)31 b Ft(GNUTLS_E_AGAIN)26 b FB(as)31 b(w)m(ell.)390 +1811 y Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 1921 y(returned.)150 2116 y Fu(gn)m(utls)p 483 2116 +390 1921 y(returned.)150 2116 y Fv(gn)m(utls)p 483 2116 37 5 v 55 w(anon)p 795 2116 V 54 w(allo)s(cate)p 1260 2116 V 53 w(clien)m(t)p 1605 2116 V 54 w(creden)m(tials)3350 2309 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_anon_allocate_)q @@ -21374,13 +17701,13 @@ Ff(gn)m(utls)p 846 2418 28 4 v 41 w(anon)p 1079 2418 V 40 w(clien)m(t)p 1332 2418 V 41 w(creden)m(tials)p 1794 2418 V 42 w(t)31 b(*)f Fe(sc)12 b Fg(\))390 2528 -y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(a)g -Fs(gnutls_anon_client_crede)o(nti)o(als_)o(t)24 b FB(structure.)390 +y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(an)f +Ft(gnutls_anon_client_credent)o(ial)o(s_t)24 b FB(structure.)390 2660 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f (directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 2770 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 -2902 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 3098 y Fu(gn)m(utls)p +2902 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 3098 y Fv(gn)m(utls)p 483 3098 37 5 v 55 w(anon)p 795 3098 V 54 w(allo)s(cate)p 1260 3098 V 53 w(serv)m(er)p 1635 3098 V 55 w(creden)m(tials)3350 3290 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_anon_allocate_)q @@ -21388,13 +17715,13 @@ Ff(gn)m(utls)p 846 3400 28 4 v 41 w(anon)p 1079 3400 V 40 w(serv)m(er)p 1352 3400 V 40 w(creden)m(tials)p 1813 3400 V 42 w(t)30 b(*)h Fe(sc)12 b Fg(\))390 3509 -y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(a)g -Fs(gnutls_anon_server_crede)o(nti)o(als_)o(t)24 b FB(structure.)390 +y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(an)f +Ft(gnutls_anon_server_credent)o(ial)o(s_t)24 b FB(structure.)390 3642 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f (directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 3751 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 -3884 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 4079 y Fu(gn)m(utls)p +3884 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 4079 y Fv(gn)m(utls)p 483 4079 37 5 v 55 w(anon)p 795 4079 V 54 w(free)p 1048 4079 V 55 w(clien)m(t)p 1395 4079 V 53 w(creden)m(tials)3350 4272 y FB([F)-8 b(unction])-3599 b Fh(void)54 b @@ -21402,11 +17729,11 @@ 4381 y Fg(\()p Ff(gn)m(utls)p 846 4381 28 4 v 41 w(anon)p 1079 4381 V 40 w(clien)m(t)p 1332 4381 V 41 w(creden)m(tials)p 1794 4381 V 42 w(t)31 b Fe(sc)12 b Fg(\))390 4491 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_anon_client_cred)o(ent)o(ials)o(_t)24 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_anon_client_creden)o(tia)o(ls_t)24 b FB(structure.)390 4623 y(This)31 b(structure)g(is)h(complex)g(enough) f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g (is)390 4733 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s -(cate\))i(it.)150 4928 y Fu(gn)m(utls)p 483 4928 37 5 +(cate\))i(it.)150 4928 y Fv(gn)m(utls)p 483 4928 37 5 v 55 w(anon)p 795 4928 V 54 w(free)p 1048 4928 V 55 w(serv)m(er)p 1425 4928 V 54 w(creden)m(tials)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_anon_free_server_)q(cre)q(den)q @@ -21414,12285 +17741,10683 @@ 28 4 v 41 w(anon)p 1079 5230 V 40 w(serv)m(er)p 1352 5230 V 40 w(creden)m(tials)p 1813 5230 V 42 w(t)30 b Fe(sc)12 b Fg(\))390 5340 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g Fs(gnutls_anon_server_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)p eop end -%%Page: 117 123 -TeXDict begin 117 122 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(117)390 299 y(This)31 +b(an)f Ft(gnutls_anon_server_creden)o(tia)o(ls_t)24 b +FB(structure.)p eop end +%%Page: 119 125 +TeXDict begin 119 124 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(119)390 299 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f(directly)g(th)m (us)f(this)h(help)s(er)f(function)g(is)390 408 y(pro)m(vided)f(in)g (order)g(to)h(free)g(\(deallo)s(cate\))i(it.)150 608 -y Fu(gn)m(utls)p 483 608 37 5 v 55 w(anon)p 795 608 V +y Fv(gn)m(utls)p 483 608 37 5 v 55 w(anon)p 795 608 V 54 w(set)p 1001 608 V 54 w(params)p 1443 608 V 54 w(function)3350 806 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_anon_set_params_f)q(unc)q(tio)q(n)565 915 y Fg(\()p Ff(gn)m(utls)p 846 915 28 4 v 41 w(anon)p 1079 915 V 40 w(serv)m(er)p 1352 915 V 40 w(creden)m(tials)p 1813 -915 V 42 w(t)30 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2384 -915 V 41 w(params)p 2714 915 V 39 w(function)f(*)h Fe(func)12 +915 V 42 w(t)30 b Fe(res)p Ff(,)i(gn)m(utls)p 2373 915 +V 40 w(params)p 2702 915 V 40 w(function)e(*)h Fe(func)12 b Fg(\))390 1025 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 1025 V 41 w(anon)p 1217 1025 V 40 w(serv)m(er)p 1490 1025 V 40 w(creden)m(tials)p 1951 1025 V 42 w(t)g(structure)390 1160 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(function)g(to)i(b)s(e)d -(called)390 1295 y(This)k(function)h(will)g(set)g(a)h(callbac)m(k)h(in) -d(order)h(for)f(the)h(serv)m(er)g(to)h(get)g(the)f(Di\016e-Hellman)i -(or)390 1405 y(RSA)c(parameters)i(for)e(anon)m(ymous)h(authen)m -(tication.)50 b(The)33 b(callbac)m(k)i(should)d(return)f(zero)j(on)390 -1515 y(success.)150 1715 y Fu(gn)m(utls)p 483 1715 37 -5 v 55 w(anon)p 795 1715 V 54 w(set)p 1001 1715 V 54 -w(serv)m(er)p 1377 1715 V 54 w(dh)p 1567 1715 V 54 w(params)3350 -1912 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_anon_set_server_d)q(h_p)q(ara)q(ms)565 2022 y -Fg(\()p Ff(gn)m(utls)p 846 2022 28 4 v 41 w(anon)p 1079 -2022 V 40 w(serv)m(er)p 1352 2022 V 40 w(creden)m(tials)p -1813 2022 V 42 w(t)30 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2384 2022 V 41 w(dh)p 2527 2022 V 39 w(params)p 2855 -2022 V 39 w(t)g Fe(dh_params)12 b Fg(\))390 2131 y Ff(res)t +(called)390 1295 y(This)35 b(function)h(will)g(set)h(a)f(callbac)m(k)i +(in)e(order)f(for)h(the)g(serv)m(er)g(to)h(get)g(the)f(di\016e)g +(hellman)g(or)390 1405 y(RSA)c(parameters)i(for)e(anon)m(ymous)h +(authen)m(tication.)50 b(The)33 b(callbac)m(k)i(should)d(return)f(zero) +j(on)390 1515 y(success.)150 1715 y Fv(gn)m(utls)p 483 +1715 37 5 v 55 w(anon)p 795 1715 V 54 w(set)p 1001 1715 +V 54 w(serv)m(er)p 1377 1715 V 54 w(dh)p 1567 1715 V +54 w(params)3350 1912 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(gnutls_anon_set_server_d)q(h_p)q(ara)q(ms)565 2022 +y Fg(\()p Ff(gn)m(utls)p 846 2022 28 4 v 41 w(anon)p +1079 2022 V 40 w(serv)m(er)p 1352 2022 V 40 w(creden)m(tials)p +1813 2022 V 42 w(t)30 b Fe(res)p Ff(,)i(gn)m(utls)p 2373 +2022 V 40 w(dh)p 2515 2022 V 39 w(params)p 2843 2022 +V 40 w(t)e Fe(dh_params)12 b Fg(\))390 2131 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 2131 V 41 w(anon)p 1217 2131 V 40 w(serv)m(er)p 1490 2131 V 40 w(creden)m(tials)p 1951 2131 V 42 w(t)g(structure)390 2266 y Ff(dh)p 498 2266 V 39 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f -(Di\016e-Hellman)i(parameters.)390 2402 y(This)c(function)h(will)h(set) -g(the)f(Di\016e-Hellman)i(parameters)f(for)e(an)i(anon)m(ymous)f(serv)m -(er)g(to)h(use.)390 2511 y(These)g(parameters)h(will)g(b)s(e)e(used)h -(in)g(Anon)m(ymous)g(Di\016e-Hellman)i(cipher)e(suites.)150 -2711 y Fu(gn)m(utls)p 483 2711 37 5 v 55 w(anon)p 795 +(di\016e)g(hellman)h(parameters.)390 2402 y(This)g(function)h(will)h +(set)f(the)g(di\016e)g(hellman)h(parameters)f(for)g(an)g(anon)m(ymous)g +(serv)m(er)g(to)h(use.)390 2511 y(These)d(parameters)h(will)g(b)s(e)e +(used)h(in)g(Anon)m(ymous)g(Di\016e)h(Hellman)g(cipher)f(suites.)150 +2711 y Fv(gn)m(utls)p 483 2711 37 5 v 55 w(anon)p 795 2711 V 54 w(set)p 1001 2711 V 54 w(serv)m(er)p 1377 2711 V 54 w(params)p 1819 2711 V 54 w(function)3350 2909 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_anon_set_server_p)q (ara)q(ms_)q(fun)q(ctio)q(n)565 3018 y Fg(\()p Ff(gn)m(utls)p 846 3018 28 4 v 41 w(anon)p 1079 3018 V 40 w(serv)m(er)p 1352 3018 V 40 w(creden)m(tials)p 1813 3018 V 42 w(t)30 -b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2384 3018 V 41 w(params)p -2714 3018 V 39 w(function)f(*)h Fe(func)12 b Fg(\))390 +b Fe(res)p Ff(,)i(gn)m(utls)p 2373 3018 V 40 w(params)p +2702 3018 V 40 w(function)e(*)h Fe(func)12 b Fg(\))390 3128 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 3128 V 41 w(certi\014cate)p 1412 3128 V 42 w(creden)m(tials)p 1875 3128 V 41 w(t)h(structure)390 3263 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 -3398 y(This)41 b(function)h(will)h(set)f(a)h(callbac)m(k)h(in)e(order)f -(for)h(the)g(serv)m(er)h(to)g(get)g(the)f(Di\016e-Hellman)390 +3398 y(This)43 b(function)g(will)h(set)h(a)f(callbac)m(k)i(in)d(order)g +(for)h(the)g(serv)m(er)g(to)g(get)h(the)f(di\016e)g(hellman)390 3508 y(parameters)21 b(for)g(anon)m(ymous)f(authen)m(tication.)40 b(The)21 b(callbac)m(k)h(should)e(return)g(zero)i(on)e(success.)150 -3708 y Fu(gn)m(utls)p 483 3708 37 5 v 55 w(auth)p 782 +3708 y Fv(gn)m(utls)p 483 3708 37 5 v 55 w(auth)p 782 3708 V 53 w(clien)m(t)p 1127 3708 V 54 w(get)p 1346 3708 V 54 w(t)m(yp)s(e)3350 3905 y FB([F)-8 b(unction])-3599 b Fh(gnutls_credentials_typ)q(e_t)59 b(gnutls_auth_client_get)q(_typ)q (e)565 4015 y Fg(\()p Ff(gn)m(utls)p 846 4015 28 4 v 41 w(session)p 1156 4015 V 40 w(t)31 b Fe(session)12 b Fg(\))390 4124 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 4259 y(Returns)e(the)g(t)m +Ft(gnutls_session_t)26 b FB(structure.)390 4259 y(Returns)e(the)g(t)m (yp)s(e)h(of)g(creden)m(tials)h(that)f(w)m(ere)g(used)f(for)g(clien)m (t)i(authen)m(tication.)41 b(The)24 b(returned)390 4369 y(information)38 b(is)g(to)g(b)s(e)f(used)g(to)i(distinguish)e(the)h (function)f(used)g(to)i(access)g(authen)m(tication)390 -4479 y(data.)390 4614 y Fn(Returns:)61 b FB(The)41 b(t)m(yp)s(e)g(of)g +4479 y(data.)390 4614 y Fn(Returns:)53 b FB(The)36 b(t)m(yp)s(e)h(of)g (creden)m(tials)h(for)f(the)g(clien)m(t)h(authen)m(tication)h(sc)m -(hema,)i(a)c Fs(gnutls_)390 4723 y(credentials_type_t)25 -b FB(t)m(yp)s(e.)150 4923 y Fu(gn)m(utls)p 483 4923 37 +(hema,)g(an)e Ft(gnutls_)390 4723 y(credentials_type_t)25 +b FB(t)m(yp)s(e.)150 4923 y Fv(gn)m(utls)p 483 4923 37 5 v 55 w(auth)p 782 4923 V 53 w(get)p 1000 4923 V 54 w(t)m(yp)s(e)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(gnutls_credentials_typ)q(e_t)59 b(gnutls_auth_get_type)565 5230 y Fg(\()p Ff(gn)m(utls)p 846 5230 28 4 v 41 w(session)p 1156 5230 V 40 w(t)31 b Fe(session)12 b Fg(\))390 5340 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)p eop end -%%Page: 118 124 -TeXDict begin 118 123 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(118)390 299 y(Returns)43 +%%Page: 120 126 +TeXDict begin 120 125 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(120)390 299 y(Returns)43 b(t)m(yp)s(e)h(of)g(creden)m(tials)h(for)f(the)g(curren)m(t)f(authen)m (tication)j(sc)m(hema.)82 b(The)43 b(returned)390 408 y(information)38 b(is)g(to)g(b)s(e)f(used)g(to)i(distinguish)e(the)h (function)f(used)g(to)i(access)g(authen)m(tication)390 -518 y(data.)390 662 y(Eg.)92 b(for)47 b(CER)-8 b(TIFICA)g(TE)47 -b(ciphersuites)g(\(k)m(ey)i(exc)m(hange)g(algorithms:)75 -b Fs(GNUTLS_KX_RSA)p FB(,)390 771 y Fs(GNUTLS_KX_DHE_RSA)p -FB(\),)28 b(the)k(same)g(function)f(are)h(to)g(b)s(e)f(used)g(to)h -(access)h(the)f(authen)m(tication)390 881 y(data.)390 -1025 y Fn(Returns:)50 b FB(The)34 b(t)m(yp)s(e)h(of)h(creden)m(tials)g -(for)f(the)g(curren)m(t)g(authen)m(tication)i(sc)m(hema,)g(a)f -Fs(gnutls_)390 1134 y(credentials_type_t)25 b FB(t)m(yp)s(e.)150 -1343 y Fu(gn)m(utls)p 483 1343 37 5 v 55 w(auth)p 782 -1343 V 53 w(serv)m(er)p 1157 1343 V 54 w(get)p 1376 1343 -V 54 w(t)m(yp)s(e)3350 1549 y FB([F)-8 b(unction])-3599 +518 y(data.)390 669 y(Eg.)169 b(for)73 b(CER)-8 b(TIFICA)g(TE)72 +b(ciphersuites)h(\(k)m(ey)h(exc)m(hange)g(algorithms:)127 +b(KX)p 3505 669 28 4 v 40 w(RSA,)390 779 y(KX)p 535 779 +V 40 w(DHE)p 774 779 V 40 w(RSA\),)30 b(the)g(same)f(function)g(are)h +(to)g(b)s(e)f(used)g(to)h(access)h(the)e(authen)m(tication)j(data.)390 +930 y Fn(Returns:)41 b FB(The)31 b(t)m(yp)s(e)g(of)g(creden)m(tials)h +(for)f(the)g(curren)m(t)g(authen)m(tication)i(sc)m(hema,)f(an)f +Ft(gnutls_)390 1039 y(credentials_type_t)25 b FB(t)m(yp)s(e.)150 +1255 y Fv(gn)m(utls)p 483 1255 37 5 v 55 w(auth)p 782 +1255 V 53 w(serv)m(er)p 1157 1255 V 54 w(get)p 1376 1255 +V 54 w(t)m(yp)s(e)3350 1469 y FB([F)-8 b(unction])-3599 b Fh(gnutls_credentials_typ)q(e_t)59 b(gnutls_auth_server_get)q(_typ)q -(e)565 1659 y Fg(\()p Ff(gn)m(utls)p 846 1659 28 4 v -41 w(session)p 1156 1659 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 1768 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 1912 y(Returns)c(the)h(t)m +(e)565 1578 y Fg(\()p Ff(gn)m(utls)p 846 1578 28 4 v +41 w(session)p 1156 1578 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 1688 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 1839 y(Returns)c(the)h(t)m (yp)s(e)g(of)g(creden)m(tials)i(that)e(w)m(ere)g(used)f(for)h(serv)m -(er)g(authen)m(tication.)41 b(The)22 b(returned)390 2022 +(er)g(authen)m(tication.)41 b(The)22 b(returned)390 1949 y(information)38 b(is)g(to)g(b)s(e)f(used)g(to)i(distinguish)e(the)h (function)f(used)g(to)i(access)g(authen)m(tication)390 -2131 y(data.)390 2275 y Fn(Returns:)58 b FB(The)39 b(t)m(yp)s(e)h(of)f -(creden)m(tials)i(for)e(the)g(serv)m(er)h(authen)m(tication)i(sc)m -(hema,)g(a)e Fs(gnutls_)390 2385 y(credentials_type_t)25 -b FB(t)m(yp)s(e.)150 2593 y Fu(gn)m(utls)p 483 2593 37 -5 v 55 w(b)m(y)m(e)3350 2799 y FB([F)-8 b(unction])-3599 +2058 y(data.)390 2209 y Fn(Returns:)50 b FB(The)35 b(t)m(yp)s(e)g(of)h +(creden)m(tials)g(for)f(the)h(serv)m(er)f(authen)m(tication)i(sc)m +(hema,)h(an)d Ft(gnutls_)390 2319 y(credentials_type_t)25 +b FB(t)m(yp)s(e.)150 2535 y Fv(gn)m(utls)p 483 2535 37 +5 v 55 w(b)m(y)m(e)3350 2748 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_bye)c Fg(\()p Ff(gn)m(utls)p 1209 -2799 28 4 v 40 w(session)p 1518 2799 V 41 w(t)30 b Fe(session)12 -b Ff(,)33 b(gn)m(utls)p 2298 2799 V 40 w(close)p 2524 -2799 V 41 w(request)p 2851 2799 V 40 w(t)e Fe(how)12 -b Fg(\))390 2909 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 3053 y Ff(ho)m(w)8 -b FB(:)41 b(is)30 b(an)g(in)m(teger)390 3196 y(T)-8 b(erminates)28 -b(the)g(curren)m(t)f(TLS/SSL)e(connection.)41 b(The)27 -b(connection)h(should)f(ha)m(v)m(e)h(b)s(een)f(initi-)390 -3306 y(ated)i(using)g Fs(gnutls_handshake\(\))p FB(.)35 -b Fs(how)27 b FB(should)h(b)s(e)g(one)h(of)g Fs(GNUTLS_SHUT_RDWR)p -FB(,)c Fs(GNUTLS_)390 3416 y(SHUT_WR)p FB(.)390 3559 -y(In)32 b(case)j(of)e Fs(GNUTLS_SHUT_RDWR)c FB(then)j(the)i(TLS)e -(connection)i(gets)g(terminated)g(and)e(further)390 3669 -y(receiv)m(es)38 b(and)e(sends)f(will)h(b)s(e)g(disallo)m(w)m(ed.)60 -b(If)36 b(the)g(return)f(v)-5 b(alue)37 b(is)f(zero)h(y)m(ou)g(ma)m(y)g -(con)m(tin)m(ue)390 3778 y(using)d(the)h(connection.)54 -b Fs(GNUTLS_SHUT_RDWR)30 b FB(actually)36 b(sends)d(an)h(alert)i(con)m -(taining)g(a)f(close)390 3888 y(request)30 b(and)g(w)m(aits)i(for)e +2748 28 4 v 40 w(session)p 1518 2748 V 41 w(t)30 b Fe(session)p +Ff(,)j(gn)m(utls)p 2286 2748 V 40 w(close)p 2512 2748 +V 42 w(request)p 2840 2748 V 40 w(t)e Fe(how)12 b Fg(\))390 +2858 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 3009 y Ff(ho)m(w)8 b FB(:)41 b(is)30 +b(an)g(in)m(teger)390 3160 y(T)-8 b(erminates)28 b(the)g(curren)m(t)f +(TLS/SSL)e(connection.)41 b(The)27 b(connection)h(should)f(ha)m(v)m(e)h +(b)s(een)f(initi-)390 3269 y(ated)i(using)g Ft(gnutls_handshake\(\))p +FB(.)35 b Ft(how)27 b FB(should)h(b)s(e)g(one)h(of)g +Ft(GNUTLS_SHUT_RDWR)p FB(,)c Ft(GNUTLS_)390 3379 y(SHUT_WR)p +FB(.)390 3530 y(In)32 b(case)j(of)e Ft(GNUTLS_SHUT_RDWR)c +FB(then)j(the)i(TLS)e(connection)i(gets)g(terminated)g(and)e(further) +390 3640 y(receiv)m(es)38 b(and)e(sends)f(will)h(b)s(e)g(disallo)m(w)m +(ed.)60 b(If)36 b(the)g(return)f(v)-5 b(alue)37 b(is)f(zero)h(y)m(ou)g +(ma)m(y)g(con)m(tin)m(ue)390 3749 y(using)d(the)h(connection.)54 +b Ft(GNUTLS_SHUT_RDWR)30 b FB(actually)36 b(sends)d(an)h(alert)i(con)m +(taining)g(a)f(close)390 3859 y(request)30 b(and)g(w)m(aits)i(for)e (the)g(p)s(eer)g(to)h(reply)f(with)g(the)h(same)g(message.)390 -4032 y(In)41 b(case)i(of)f Fs(GNUTLS_SHUT_WR)c FB(then)j(the)h(TLS)f -(connection)i(gets)g(terminated)f(and)f(further)390 4141 +4010 y(In)41 b(case)i(of)f Ft(GNUTLS_SHUT_WR)c FB(then)j(the)h(TLS)f +(connection)i(gets)g(terminated)f(and)f(further)390 4120 y(sends)e(will)h(b)s(e)f(disallo)m(w)m(ed.)70 b(In)39 b(order)g(to)i(reuse)e(the)h(connection)h(y)m(ou)f(should)f(w)m(ait)i -(for)e(an)390 4251 y(EOF)30 b(from)g(the)h(p)s(eer.)40 -b Fs(GNUTLS_SHUT_WR)26 b FB(sends)k(an)g(alert)h(con)m(taining)h(a)f -(close)h(request.)390 4395 y(Note)26 b(that)f(not)g(all)h(implemen)m +(for)e(an)390 4229 y(EOF)30 b(from)g(the)h(p)s(eer.)40 +b Ft(GNUTLS_SHUT_WR)26 b FB(sends)k(an)g(alert)h(con)m(taining)h(a)f +(close)h(request.)390 4380 y(Note)26 b(that)f(not)g(all)h(implemen)m (tations)g(will)f(prop)s(erly)f(terminate)h(a)g(TLS)f(connection.)40 -b(Some)25 b(of)390 4504 y(them,)33 b(usually)f(for)g(p)s(erformance)g +b(Some)25 b(of)390 4490 y(them,)33 b(usually)f(for)g(p)s(erformance)g (reasons,)h(will)f(terminate)i(only)e(the)h(underlying)e(transp)s(ort) -390 4614 y(la)m(y)m(er,)25 b(th)m(us)c(causing)g(a)h(transmission)f +390 4599 y(la)m(y)m(er,)25 b(th)m(us)c(causing)g(a)h(transmission)f (error)g(to)h(the)f(p)s(eer.)37 b(This)21 b(error)f(cannot)i(b)s(e)f -(distinguished)390 4724 y(from)27 b(a)h(malicious)h(part)m(y)e +(distinguished)390 4709 y(from)27 b(a)h(malicious)h(part)m(y)e (prematurely)h(terminating)g(the)g(session,)g(th)m(us)f(this)h(b)s(eha) -m(vior)f(is)h(not)390 4833 y(recommended.)390 4977 y(This)56 -b(function)h(ma)m(y)g(also)h(return)e Fs(GNUTLS_E_AGAIN)d -FB(or)k Fs(GNUTLS_E_INTERRUPTED)p FB(;)65 b(cf.)390 5087 -y Fs(gnutls_record_get_direct)o(ion\()o(\))p FB(.)390 -5230 y Fn(Returns:)36 b Fs(GNUTLS_E_SUCCESS)18 b FB(on)23 +m(vior)f(is)h(not)390 4819 y(recommended.)390 4970 y(This)56 +b(function)h(ma)m(y)g(also)h(return)e Ft(GNUTLS_E_AGAIN)d +FB(or)k Ft(GNUTLS_E_INTERRUPTED)p FB(;)65 b(cf.)390 5079 +y Ft(gnutls_record_get_direct)o(ion\()o(\))p FB(.)390 +5230 y Fn(Returns:)36 b Ft(GNUTLS_E_SUCCESS)18 b FB(on)23 b(success,)h(or)e(an)h(error)f(co)s(de,)i(see)f(function)f(do)s(cumen)m (tation)390 5340 y(for)30 b(en)m(tire)h(seman)m(tics.)p eop end -%%Page: 119 125 -TeXDict begin 119 124 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(119)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 +%%Page: 121 127 +TeXDict begin 121 126 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(121)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 299 V 52 w(activ)-7 b(ation)p 1646 299 V 53 w(time)p -1939 299 V 54 w(p)s(eers)3350 493 y FB([F)f(unction])-3599 +1939 299 V 54 w(p)s(eers)3350 501 y FB([F)f(unction])-3599 b Fh(time_t)54 b(gnutls_certificate_act)q(iva)q(tio)q(n_t)q(ime_)q(pee) -q(rs)565 602 y Fg(\()p Ff(gn)m(utls)p 846 602 28 4 v -41 w(session)p 1156 602 V 40 w(t)31 b Fe(session)12 b -Fg(\))390 712 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session) -390 845 y(This)k(function)g(will)h(return)e(the)i(p)s(eer's)f +q(rs)565 610 y Fg(\()p Ff(gn)m(utls)p 846 610 28 4 v +41 w(session)p 1156 610 V 40 w(t)31 b Fe(session)12 b +Fg(\))390 720 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session) +390 860 y(This)k(function)g(will)h(return)e(the)i(p)s(eer's)f (certi\014cate)i(activ)-5 b(ation)38 b(time.)57 b(This)34 -b(is)i(the)g(creation)390 954 y(time)31 b(for)f(op)s(enpgp)f(k)m(eys.) -390 1087 y Fn(Returns:)40 b FB(\(time)p 995 1087 V 42 -w(t\)-1)31 b(on)g(error.)390 1220 y Fn(Deprecated:)42 -b Fs(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))24 -b FB(no)m(w)30 b(v)m(eri\014es)h(activ)-5 b(ation)33 -b(times.)150 1416 y Fu(gn)m(utls)p 483 1416 37 5 v 55 -w(certi\014cate)p 1068 1416 V 52 w(allo)s(cate)p 1531 -1416 V 54 w(creden)m(tials)3350 1610 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_certificate_al)q(loca)q(te_)q(cre)q(den)q(tial)q -(s)565 1720 y Fg(\()p Ff(gn)m(utls)p 846 1720 28 4 v -41 w(certi\014cate)p 1274 1720 V 42 w(creden)m(tials)p -1737 1720 V 41 w(t)31 b(*)g Fe(res)12 b Fg(\))390 1829 -y Ff(res)t FB(:)40 b(is)31 b(a)f(p)s(oin)m(ter)h(to)g(a)g -Fs(gnutls_certificate_cred)o(enti)o(als)o(_t)24 b FB(structure.)390 -1962 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f +b(is)i(the)g(creation)390 969 y(time)31 b(for)f(op)s(enpgp)f(k)m(eys.) +390 1109 y Fn(Returns:)40 b FB(\(time)p 995 1109 V 42 +w(t\)-1)31 b(on)g(error.)150 1314 y Fv(gn)m(utls)p 483 +1314 37 5 v 55 w(certi\014cate)p 1068 1314 V 52 w(allo)s(cate)p +1531 1314 V 54 w(creden)m(tials)3350 1516 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_certificate_al)q(loca)q(te_)q +(cre)q(den)q(tial)q(s)565 1625 y Fg(\()p Ff(gn)m(utls)p +846 1625 28 4 v 41 w(certi\014cate)p 1274 1625 V 42 w(creden)m(tials)p +1737 1625 V 41 w(t)31 b(*)g Fe(res)12 b Fg(\))390 1735 +y Ff(res)t FB(:)40 b(is)31 b(a)f(p)s(oin)m(ter)h(to)g(an)f +Ft(gnutls_certificate_creden)o(tial)o(s_t)24 b FB(structure.)390 +1875 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f (directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 -2072 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 -2205 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 2401 y Fu(gn)m(utls)p -483 2401 37 5 v 55 w(certi\014cate)p 1068 2401 V 52 w(clien)m(t)p -1412 2401 V 53 w(get)p 1630 2401 V 54 w(request)p 2075 -2401 V 55 w(status)3350 2595 y FB([F)-8 b(unction])-3599 +1984 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 +2124 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 2328 y Fv(gn)m(utls)p +483 2328 37 5 v 55 w(certi\014cate)p 1068 2328 V 52 w(clien)m(t)p +1412 2328 V 53 w(get)p 1630 2328 V 54 w(request)p 2075 +2328 V 55 w(status)3350 2531 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_cl)q(ient)q(_ge)q(t_r)q(equ)q(est_)q -(sta)q(tus)565 2704 y Fg(\()p Ff(gn)m(utls)p 846 2704 -28 4 v 41 w(session)p 1156 2704 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 2814 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 2947 y(Get)g(whether)f(clien)m(t)i(certi\014cate)h(is)d -(requested)g(or)h(not.)390 3080 y Fn(Returns:)48 b FB(0)34 +(sta)q(tus)565 2640 y Fg(\()p Ff(gn)m(utls)p 846 2640 +28 4 v 41 w(session)p 1156 2640 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 2750 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 2889 y(Get)g(whether)f(clien)m(t)i(certi\014cate)h(is)d +(requested)g(or)h(not.)390 3029 y Fn(Returns:)48 b FB(0)34 b(if)g(the)h(p)s(eer)e(\(serv)m(er\))i(did)e(not)i(request)f(clien)m(t) -h(authen)m(tication)i(or)d(1)g(otherwise,)390 3189 y(or)c(a)h(negativ)m -(e)i(v)-5 b(alue)31 b(in)f(case)h(of)g(error.)150 3386 -y Fu(gn)m(utls)p 483 3386 37 5 v 55 w(certi\014cate)p -1068 3386 V 52 w(clien)m(t)p 1412 3386 V 53 w(set)p 1617 -3386 V 55 w(retriev)m(e)p 2084 3386 V 53 w(function)3350 -3579 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +h(authen)m(tication)i(or)d(1)g(otherwise,)390 3139 y(or)c(a)h(negativ)m +(e)i(v)-5 b(alue)31 b(in)f(case)h(of)g(error.)150 3343 +y Fv(gn)m(utls)p 483 3343 37 5 v 55 w(certi\014cate)p +1068 3343 V 52 w(clien)m(t)p 1412 3343 V 53 w(set)p 1617 +3343 V 55 w(retriev)m(e)p 2084 3343 V 53 w(function)3350 +3545 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_certificate_clien)q(t_s)q(et_)q(ret)q(riev)q(e_f)q(unc)q(tion) -565 3689 y Fg(\()p Ff(gn)m(utls)p 846 3689 28 4 v 41 -w(certi\014cate)p 1274 3689 V 42 w(creden)m(tials)p 1737 -3689 V 41 w(t)31 b Fe(cred)12 b Ff(,)31 b(gn)m(utls)p -2360 3689 V 41 w(certi\014cate)p 2788 3689 V 42 w(clien)m(t)p -3043 3689 V 42 w(retriev)m(e)p 3382 3689 V 41 w(function)565 -3798 y(*)g Fe(func)12 b Fg(\))390 3908 y Ff(cred)t FB(:)40 -b(is)31 b(a)f Fs(gnutls_certificate_creden)o(tial)o(s_t)24 -b FB(structure.)390 4041 y Ff(func)6 b FB(:)39 b(is)31 -b(the)f(callbac)m(k)j(function)390 4174 y(This)58 b(function)h(sets)g +565 3655 y Fg(\()p Ff(gn)m(utls)p 846 3655 28 4 v 41 +w(certi\014cate)p 1274 3655 V 42 w(creden)m(tials)p 1737 +3655 V 41 w(t)31 b Fe(cred)p Ff(,)h(gn)m(utls)p 2349 +3655 V 40 w(certi\014cate)p 2776 3655 V 42 w(clien)m(t)p +3031 3655 V 42 w(retriev)m(e)p 3370 3655 V 42 w(function)565 +3764 y(*)f Fe(func)12 b Fg(\))390 3874 y Ff(cred)t FB(:)40 +b(is)31 b(a)f Ft(gnutls_certificate_creden)o(tial)o(s_t)24 +b FB(structure.)390 4014 y Ff(func)6 b FB(:)39 b(is)31 +b(the)f(callbac)m(k)j(function)390 4154 y(This)58 b(function)h(sets)g (a)h(callbac)m(k)h(to)f(b)s(e)e(called)i(in)f(order)f(to)i(retriev)m(e) -h(the)e(certi\014cate)390 4284 y(to)72 b(b)s(e)e(used)h(in)f(the)i +h(the)e(certi\014cate)390 4263 y(to)72 b(b)s(e)e(used)h(in)f(the)i (handshak)m(e.)162 b(The)71 b(callbac)m(k's)i(function)e(protot)m(yp)s -(e)g(is:)122 b(in)m(t)390 4393 y(\(*callbac)m(k\)\(gn)m(utls)p -1102 4393 V 44 w(session)p 1415 4393 V 40 w(t,)73 b(const)64 -b(gn)m(utls)p 2099 4393 V 40 w(datum)p 2397 4393 V 40 -w(t*)g(req)p 2705 4393 V 40 w(ca)p 2830 4393 V 41 w(dn,)71 -b(in)m(t)64 b(nreqs,)71 b(const)390 4503 y(gn)m(utls)p -636 4503 V 40 w(pk)p 775 4503 V 40 w(algorithm)p 1198 -4503 V 41 w(t*)31 b(pk)p 1449 4503 V 40 w(algos,)h(in)m(t)e(pk)p -1979 4503 V 40 w(algos)p 2215 4503 V 41 w(length,)h(gn)m(utls)p -2799 4503 V 41 w(retr)p 2987 4503 V 40 w(st*)g(st\);)390 -4636 y Fs(req_ca_cert)h FB(is)i(only)h(used)f(in)g(X.509)j +(e)g(is:)122 b(in)m(t)390 4373 y(\(*callbac)m(k\)\(gn)m(utls)p +1102 4373 V 44 w(session)p 1415 4373 V 40 w(t,)73 b(const)64 +b(gn)m(utls)p 2099 4373 V 40 w(datum)p 2397 4373 V 40 +w(t*)g(req)p 2705 4373 V 40 w(ca)p 2830 4373 V 41 w(dn,)71 +b(in)m(t)64 b(nreqs,)71 b(const)390 4482 y(gn)m(utls)p +636 4482 V 40 w(pk)p 775 4482 V 40 w(algorithm)p 1198 +4482 V 41 w(t*)31 b(pk)p 1449 4482 V 40 w(algos,)h(in)m(t)e(pk)p +1979 4482 V 40 w(algos)p 2215 4482 V 41 w(length,)h(gn)m(utls)p +2799 4482 V 41 w(retr)p 2987 4482 V 40 w(st*)g(st\);)390 +4622 y Ft(req_ca_cert)h FB(is)i(only)h(used)f(in)g(X.509)j (certi\014cates.)55 b(Con)m(tains)35 b(a)g(list)g(with)g(the)g(CA)f -(names)390 4745 y(that)26 b(the)g(serv)m(er)g(considers)g(trusted.)38 +(names)390 4732 y(that)26 b(the)g(serv)m(er)g(considers)g(trusted.)38 b(Normally)27 b(w)m(e)f(should)f(send)g(a)h(certi\014cate)i(that)e(is)g -(signed)390 4855 y(b)m(y)f(one)g(of)g(these)h(CAs.)38 +(signed)390 4841 y(b)m(y)f(one)g(of)g(these)h(CAs.)38 b(These)25 b(names)g(are)h(DER)f(enco)s(ded.)38 b(T)-8 b(o)26 b(get)g(a)f(more)h(meaningful)e(v)-5 b(alue)390 -4964 y(use)30 b(the)h(function)f Fs(gnutls_x509_rdn_get\(\))p -FB(.)390 5097 y Fs(pk_algos)21 b FB(con)m(tains)j(a)f(list)h(with)f +4951 y(use)30 b(the)h(function)f Ft(gnutls_x509_rdn_get\(\))p +FB(.)390 5091 y Ft(pk_algos)21 b FB(con)m(tains)j(a)f(list)h(with)f (serv)m(er's)g(acceptable)i(signature)e(algorithms.)39 -b(The)23 b(certi\014cate)390 5207 y(returned)29 b(should)h(supp)s(ort)e +b(The)23 b(certi\014cate)390 5200 y(returned)29 b(should)h(supp)s(ort)e (the)j(serv)m(er's)g(giv)m(en)g(algorithms.)390 5340 -y Fs(st)f FB(should)f(con)m(tain)j(the)e(certi\014cates)j(and)c(priv)-5 +y Ft(st)f FB(should)f(con)m(tain)j(the)e(certi\014cates)j(and)c(priv)-5 b(ate)31 b(k)m(eys.)p eop end -%%Page: 120 126 -TeXDict begin 120 125 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(120)390 299 y(If)36 +%%Page: 122 128 +TeXDict begin 122 127 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(122)390 299 y(If)36 b(the)h(callbac)m(k)i(function)e(is)f(pro)m(vided)h(then)f(gn)m(utls)h (will)h(call)g(it,)h(in)d(the)h(handshak)m(e,)h(after)390 408 y(the)31 b(certi\014cate)h(request)e(message)i(has)e(b)s(een)g -(receiv)m(ed.)390 571 y(The)23 b(callbac)m(k)j(function)d(should)f(set) +(receiv)m(ed.)390 538 y(The)23 b(callbac)m(k)j(function)d(should)f(set) i(the)g(certi\014cate)i(list)e(to)g(b)s(e)f(sen)m(t,)j(and)d(return)f -(0)i(on)f(success.)390 680 y(If)37 b(no)h(certi\014cate)i(w)m(as)e +(0)i(on)f(success.)390 648 y(If)37 b(no)h(certi\014cate)i(w)m(as)e (selected)h(then)f(the)g(n)m(um)m(b)s(er)e(of)i(certi\014cates)i -(should)d(b)s(e)g(set)h(to)h(zero.)390 790 y(The)30 b(v)-5 +(should)d(b)s(e)g(set)h(to)h(zero.)390 757 y(The)30 b(v)-5 b(alue)31 b(\(-1\))g(indicates)h(error)e(and)g(the)g(handshak)m(e)g -(will)h(b)s(e)e(terminated.)150 1017 y Fu(gn)m(utls)p -483 1017 37 5 v 55 w(certi\014cate)p 1068 1017 V 52 w(expiration)p -1664 1017 V 54 w(time)p 1958 1017 V 54 w(p)s(eers)3350 -1241 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b +(will)h(b)s(e)e(terminated.)150 947 y Fv(gn)m(utls)p +483 947 37 5 v 55 w(certi\014cate)p 1068 947 V 52 w(expiration)p +1664 947 V 54 w(time)p 1958 947 V 54 w(p)s(eers)3350 +1134 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b (gnutls_certificate_exp)q(ira)q(tio)q(n_t)q(ime_)q(pee)q(rs)565 -1351 y Fg(\()p Ff(gn)m(utls)p 846 1351 28 4 v 41 w(session)p -1156 1351 V 40 w(t)31 b Fe(session)12 b Fg(\))390 1460 +1244 y Fg(\()p Ff(gn)m(utls)p 846 1244 28 4 v 41 w(session)p +1156 1244 V 40 w(t)31 b Fe(session)12 b Fg(\))390 1353 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -1623 y(This)f(function)g(will)g(return)g(the)g(p)s(eer's)g -(certi\014cate)j(expiration)e(time.)390 1785 y Fn(Returns:)40 -b FB(\(time)p 995 1785 V 42 w(t\)-1)31 b(on)g(error.)390 -1947 y Fn(Deprecated:)42 b Fs(gnutls_certificate_veri)o(fy_)o(peer)o -(s2\(\))24 b FB(no)m(w)30 b(v)m(eri\014es)h(expiration)g(times.)150 -2174 y Fu(gn)m(utls)p 483 2174 37 5 v 55 w(certi\014cate)p -1068 2174 V 52 w(free)p 1319 2174 V 55 w(ca)p 1489 2174 -V 53 w(names)3350 2398 y FB([F)-8 b(unction])-3599 b +1483 y(This)f(function)g(will)g(return)g(the)g(p)s(eer's)g +(certi\014cate)j(expiration)e(time.)390 1613 y Fn(Returns:)40 +b FB(\(time)p 995 1613 V 42 w(t\)-1)31 b(on)g(error.)150 +1802 y Fv(gn)m(utls)p 483 1802 37 5 v 55 w(certi\014cate)p +1068 1802 V 52 w(free)p 1319 1802 V 55 w(ca)p 1489 1802 +V 53 w(names)3350 1989 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q(ca_)q(nam)q(es)565 -2508 y Fg(\()p Ff(gn)m(utls)p 846 2508 28 4 v 41 w(certi\014cate)p -1274 2508 V 42 w(creden)m(tials)p 1737 2508 V 41 w(t)31 -b Fe(sc)12 b Fg(\))390 2617 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g Fs(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)390 2780 y(This)32 b(function)h(will)h(delete)g(all)g +2099 y Fg(\()p Ff(gn)m(utls)p 846 2099 28 4 v 41 w(certi\014cate)p +1274 2099 V 42 w(creden)m(tials)p 1737 2099 V 41 w(t)31 +b Fe(sc)12 b Fg(\))390 2209 y Ff(sc)6 b FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 b +FB(structure.)390 2338 y(This)32 b(function)h(will)h(delete)g(all)g (the)g(CA)f(name)g(in)g(the)g(giv)m(en)h(creden)m(tials.)51 -b(Clien)m(ts)34 b(ma)m(y)g(call)390 2889 y(this)c(to)h(sa)m(v)m(e)h +b(Clien)m(ts)34 b(ma)m(y)g(call)390 2448 y(this)c(to)h(sa)m(v)m(e)h (some)f(memory)f(since)h(in)f(clien)m(t)i(side)e(the)h(CA)f(names)g -(are)h(not)g(used.)390 3051 y(CA)f(names)g(are)h(used)f(b)m(y)g(serv)m +(are)h(not)g(used.)390 2577 y(CA)f(names)g(are)h(used)f(b)m(y)g(serv)m (ers)h(to)g(adv)m(ertize)h(the)e(CAs)g(they)h(supp)s(ort)e(to)i(clien)m -(ts.)150 3278 y Fu(gn)m(utls)p 483 3278 37 5 v 55 w(certi\014cate)p -1068 3278 V 52 w(free)p 1319 3278 V 55 w(cas)3350 3503 +(ts.)150 2767 y Fv(gn)m(utls)p 483 2767 37 5 v 55 w(certi\014cate)p +1068 2767 V 52 w(free)p 1319 2767 V 55 w(cas)3350 2954 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q -(cas)e Fg(\()p Ff(gn)m(utls)p 2150 3503 28 4 v 41 w(certi\014cate)p -2578 3503 V 42 w(creden)m(tials)p 3041 3503 V 42 w(t)565 -3612 y Fe(sc)12 b Fg(\))390 3722 y Ff(sc)6 b FB(:)40 -b(is)31 b(a)g Fs(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)390 3884 y(This)35 b(function)g(will)h(delete)h(all)f +(cas)e Fg(\()p Ff(gn)m(utls)p 2150 2954 28 4 v 41 w(certi\014cate)p +2578 2954 V 42 w(creden)m(tials)p 3041 2954 V 42 w(t)565 +3064 y Fe(sc)12 b Fg(\))390 3173 y Ff(sc)6 b FB(:)40 +b(is)31 b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 +b FB(structure.)390 3303 y(This)35 b(function)g(will)h(delete)h(all)f (the)g(CAs)f(asso)s(ciated)j(with)d(the)h(giv)m(en)g(creden)m(tials.)58 -b(Serv)m(ers)390 3994 y(that)33 b(do)f(not)h(use)f Fs +b(Serv)m(ers)390 3413 y(that)33 b(do)f(not)h(use)f Ft (gnutls_certificate_verify)o(_pee)o(rs2)o(\(\))26 b FB(ma)m(y)33 -b(call)h(this)e(to)i(sa)m(v)m(e)g(some)390 4103 y(memory)-8 -b(.)150 4330 y Fu(gn)m(utls)p 483 4330 37 5 v 55 w(certi\014cate)p -1068 4330 V 52 w(free)p 1319 4330 V 55 w(creden)m(tials)3350 -4555 y FB([F)g(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q -(cre)q(den)q(tia)q(ls)565 4664 y Fg(\()p Ff(gn)m(utls)p -846 4664 28 4 v 41 w(certi\014cate)p 1274 4664 V 42 w(creden)m(tials)p -1737 4664 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 4774 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)390 4936 y(This)31 b(structure)g(is)h(complex)g(enough) +b(call)h(this)e(to)i(sa)m(v)m(e)g(some)390 3522 y(memory)-8 +b(.)150 3712 y Fv(gn)m(utls)p 483 3712 37 5 v 55 w(certi\014cate)p +1068 3712 V 52 w(free)p 1319 3712 V 55 w(creden)m(tials)3350 +3899 y FB([F)g(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q +(cre)q(den)q(tia)q(ls)565 4009 y Fg(\()p Ff(gn)m(utls)p +846 4009 28 4 v 41 w(certi\014cate)p 1274 4009 V 42 w(creden)m(tials)p +1737 4009 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 4118 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 +b FB(structure.)390 4248 y(This)31 b(structure)g(is)h(complex)g(enough) f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 5045 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s -(cate\))i(it.)390 5208 y(This)c(function)g(do)s(es)g(not)h(free)g(an)m +(is)390 4357 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s +(cate\))i(it.)390 4487 y(This)c(function)g(do)s(es)g(not)h(free)g(an)m (y)g(temp)s(orary)f(parameters)h(asso)s(ciated)h(with)e(this)g -(structure)390 5317 y(\(ie)i(RSA)f(and)g(DH)h(parameters)g(are)f(not)h -(freed)f(b)m(y)g(this)h(function\).)p eop end -%%Page: 121 127 -TeXDict begin 121 126 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(121)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(free)p 1319 299 V 55 w(crls)3350 482 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q(crl)q(s)d -Fg(\()p Ff(gn)m(utls)p 2202 482 28 4 v 41 w(certi\014cate)p -2630 482 V 42 w(creden)m(tials)p 3093 482 V 42 w(t)565 -592 y Fe(sc)12 b Fg(\))390 702 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g Fs(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)390 829 y(This)30 b(function)g(will)g(delete)i(all)f -(the)g(CRLs)e(asso)s(ciated)j(with)e(the)h(giv)m(en)g(creden)m(tials.) -150 1016 y Fu(gn)m(utls)p 483 1016 37 5 v 55 w(certi\014cate)p -1068 1016 V 52 w(free)p 1319 1016 V 55 w(k)m(eys)3350 -1199 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_certificate_free_)q(key)q(s)d Fg(\()p Ff(gn)m(utls)p -2202 1199 28 4 v 41 w(certi\014cate)p 2630 1199 V 42 -w(creden)m(tials)p 3093 1199 V 42 w(t)565 1309 y Fe(sc)12 -b Fg(\))390 1418 y Ff(sc)6 b FB(:)40 b(is)31 b(a)g Fs -(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 b FB(structure.)390 -1546 y(This)36 b(function)h(will)g(delete)i(all)f(the)f(k)m(eys)h(and)e -(the)h(certi\014cates)i(asso)s(ciated)g(with)e(the)g(giv)m(en)390 -1656 y(creden)m(tials.)49 b(This)31 b(function)i(m)m(ust)f(not)h(b)s(e) -f(called)i(when)d(a)i(TLS)f(negotiation)i(that)g(uses)e(the)390 -1765 y(creden)m(tials)g(is)e(in)g(progress.)150 1951 -y Fu(gn)m(utls)p 483 1951 37 5 v 55 w(certi\014cate)p -1068 1951 V 52 w(get)p 1285 1951 V 54 w(op)s(enpgp)p -1792 1951 V 56 w(k)m(eyring)3350 2135 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_certificate_get_o)q(pen)q(pgp)q(_ke)q(yrin)q(g) -565 2244 y Fg(\()p Ff(gn)m(utls)p 846 2244 28 4 v 41 -w(certi\014cate)p 1274 2244 V 42 w(creden)m(tials)p 1737 -2244 V 41 w(t)31 b Fe(sc)12 b Ff(,)31 b(gn)m(utls)p 2256 -2244 V 40 w(op)s(enpgp)p 2633 2244 V 39 w(k)m(eyring)p -2962 2244 V 41 w(t)f(*)h Fe(keyring)12 b Fg(\))390 2354 -y Ff(sc)6 b FB(:)40 b(is)31 b(a)g Fs(gnutls_certificate_cred)o(ent)o -(ials)o(_t)24 b FB(structure.)390 2482 y Ff(k)m(eyring)8 -b FB(:)41 b(the)31 b(exp)s(orted)f(k)m(eyring.)41 b(Should)29 -b(b)s(e)h(treated)h(as)g(constan)m(t)390 2610 y(This)24 -b(function)g(will)h(exp)s(ort)g(the)g(Op)s(enPGP)e(k)m(eyring)i(asso)s -(ciated)h(with)f(the)g(giv)m(en)g(creden)m(tials.)390 -2738 y Fn(Since:)41 b FB(2.4.0)150 2924 y Fu(gn)m(utls)p -483 2924 37 5 v 55 w(certi\014cate)p 1068 2924 V 52 w(get)p -1285 2924 V 54 w(ours)3350 3107 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(gnutls_datum_t)i(*)d(gnutls_certificate_get)q(_ou)q(rs) -565 3217 y Fg(\()p Ff(gn)m(utls)p 846 3217 28 4 v 41 -w(session)p 1156 3217 V 40 w(t)31 b Fe(session)12 b Fg(\))390 -3326 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -3454 y(Get)d(the)f(certi\014cate)i(as)e(sen)m(t)h(to)f(the)g(p)s(eer,)h -(in)e(the)h(last)h(handshak)m(e.)39 b(These)27 b(certi\014cates)i(are)e -(in)390 3564 y(ra)m(w)h(format.)40 b(In)27 b(X.509)i(this)f(is)g(a)g +(structure)390 4597 y(\(ie)i(RSA)f(and)g(DH)h(parameters)g(are)f(not)h +(freed)f(b)m(y)g(this)h(function\).)150 4786 y Fv(gn)m(utls)p +483 4786 37 5 v 55 w(certi\014cate)p 1068 4786 V 52 w(free)p +1319 4786 V 55 w(crls)3350 4973 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_certificate_free_)q(crl)q(s)d Fg(\()p +Ff(gn)m(utls)p 2202 4973 28 4 v 41 w(certi\014cate)p +2630 4973 V 42 w(creden)m(tials)p 3093 4973 V 42 w(t)565 +5083 y Fe(sc)12 b Fg(\))390 5193 y Ff(sc)6 b FB(:)40 +b(is)31 b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 +b FB(structure.)390 5322 y(This)30 b(function)g(will)g(delete)i(all)f +(the)g(CRLs)e(asso)s(ciated)j(with)e(the)h(giv)m(en)g(creden)m(tials.)p +eop end +%%Page: 123 129 +TeXDict begin 123 128 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(123)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 +299 V 52 w(free)p 1319 299 V 55 w(k)m(eys)3350 493 y +FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_free_)q +(key)q(s)d Fg(\()p Ff(gn)m(utls)p 2202 493 28 4 v 41 +w(certi\014cate)p 2630 493 V 42 w(creden)m(tials)p 3093 +493 V 42 w(t)565 603 y Fe(sc)12 b Fg(\))390 712 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 +b FB(structure.)390 846 y(This)36 b(function)h(will)g(delete)i(all)f +(the)f(k)m(eys)h(and)e(the)h(certi\014cates)i(asso)s(ciated)g(with)e +(the)g(giv)m(en)390 955 y(creden)m(tials.)49 b(This)31 +b(function)i(m)m(ust)f(not)h(b)s(e)f(called)i(when)d(a)i(TLS)f +(negotiation)i(that)g(uses)e(the)390 1065 y(creden)m(tials)g(is)e(in)g +(progress.)150 1262 y Fv(gn)m(utls)p 483 1262 37 5 v +55 w(certi\014cate)p 1068 1262 V 52 w(get)p 1285 1262 +V 54 w(op)s(enpgp)p 1792 1262 V 56 w(k)m(eyring)3350 +1456 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_certificate_get_o)q(pen)q(pgp)q(_ke)q(yrin)q(g)565 +1566 y Fg(\()p Ff(gn)m(utls)p 846 1566 28 4 v 41 w(certi\014cate)p +1274 1566 V 42 w(creden)m(tials)p 1737 1566 V 41 w(t)31 +b Fe(sc)p Ff(,)g(gn)m(utls)p 2244 1566 V 41 w(op)s(enpgp)p +2622 1566 V 39 w(k)m(eyring)p 2951 1566 V 40 w(t)g(*)g +Fe(keyring)12 b Fg(\))390 1675 y Ff(sc)6 b FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 b +FB(structure.)390 1809 y(This)g(function)g(will)h(exp)s(ort)g(the)g(Op) +s(enPGP)e(k)m(eyring)i(asso)s(ciated)h(with)f(the)g(giv)m(en)g(creden)m +(tials.)390 1942 y Fn(Since:)41 b FB(2.4.0)150 2139 y +Fv(gn)m(utls)p 483 2139 37 5 v 55 w(certi\014cate)p 1068 +2139 V 52 w(get)p 1285 2139 V 54 w(ours)3350 2333 y FB([F)-8 +b(unction])-3599 b Fh(const)54 b(gnutls_datum_t)i(*)d +(gnutls_certificate_get)q(_ou)q(rs)565 2443 y Fg(\()p +Ff(gn)m(utls)p 846 2443 28 4 v 41 w(session)p 1156 2443 +V 40 w(t)31 b Fe(session)12 b Fg(\))390 2552 y Ff(session)p +FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 2686 y(Get)d(the)f +(certi\014cate)i(as)e(sen)m(t)h(to)f(the)g(p)s(eer,)h(in)e(the)h(last)h +(handshak)m(e.)39 b(These)27 b(certi\014cates)i(are)e(in)390 +2795 y(ra)m(w)h(format.)40 b(In)27 b(X.509)i(this)f(is)g(a)g (certi\014cate)i(list.)40 b(In)27 b(Op)s(enPGP)g(this)g(is)h(a)g -(single)h(certi\014cate.)390 3692 y Fn(Returns:)46 b -FB(return)32 b(a)h(p)s(oin)m(ter)g(to)h(a)f Fs(gnutls_datum_t)c -FB(con)m(taining)35 b(our)d(certi\014cates,)k(or)d Fs(NULL)390 -3801 y FB(in)d(case)h(of)g(an)f(error)g(or)h(if)f(no)g(certi\014cate)j -(w)m(as)d(used.)150 3987 y Fu(gn)m(utls)p 483 3987 37 -5 v 55 w(certi\014cate)p 1068 3987 V 52 w(get)p 1285 -3987 V 54 w(p)s(eers)3350 4171 y FB([F)-8 b(unction])-3599 +(single)h(certi\014cate.)390 2928 y Fn(Returns:)46 b +FB(return)32 b(a)h(p)s(oin)m(ter)g(to)h(a)f Ft(gnutls_datum_t)c +FB(con)m(taining)35 b(our)d(certi\014cates,)k(or)d Ft(NULL)390 +3038 y FB(in)d(case)h(of)g(an)f(error)g(or)h(if)f(no)g(certi\014cate)j +(w)m(as)d(used.)150 3235 y Fv(gn)m(utls)p 483 3235 37 +5 v 55 w(certi\014cate)p 1068 3235 V 52 w(get)p 1285 +3235 V 54 w(p)s(eers)3350 3429 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(gnutls_datum_t)i(*)d(gnutls_certificate_get)q(_pe)q -(ers)565 4280 y Fg(\()p Ff(gn)m(utls)p 846 4280 28 4 -v 41 w(session)p 1156 4280 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(unsigned)d(in)m(t)i(*)g Fe(list_size)12 b -Fg(\))390 4390 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 4518 y Ff(list)p 517 4518 V 41 w(size)5 -b FB(:)41 b(is)31 b(the)f(length)h(of)g(the)f(certi\014cate)j(list)390 -4646 y(Get)26 b(the)f(p)s(eer's)f(ra)m(w)h(certi\014cate)i(\(c)m +(ers)565 3539 y Fg(\()p Ff(gn)m(utls)p 846 3539 28 4 +v 41 w(session)p 1156 3539 V 40 w(t)31 b Fe(session)p +Ff(,)h(unsigned)e(in)m(t)h(*)f Fe(list_size)12 b Fg(\))390 +3648 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 +3782 y Ff(list)p 517 3782 V 41 w(size)5 b FB(:)41 b(is)31 +b(the)f(length)h(of)g(the)f(certi\014cate)j(list)390 +3915 y(Get)26 b(the)f(p)s(eer's)f(ra)m(w)h(certi\014cate)i(\(c)m (hain\))f(as)f(sen)m(t)h(b)m(y)e(the)h(p)s(eer.)39 b(These)24 -b(certi\014cates)j(are)e(in)g(ra)m(w)390 4755 y(format)36 +b(certi\014cates)j(are)e(in)g(ra)m(w)390 4025 y(format)36 b(\(DER)g(enco)s(ded)f(for)h(X.509\).)58 b(In)35 b(case)i(of)f(a)g (X.509)h(then)e(a)h(certi\014cate)i(list)e(ma)m(y)h(b)s(e)390 -4865 y(presen)m(t.)45 b(The)31 b(\014rst)g(certi\014cate)j(in)d(the)h +4134 y(presen)m(t.)45 b(The)31 b(\014rst)g(certi\014cate)j(in)d(the)h (list)h(is)f(the)g(p)s(eer's)f(certi\014cate,)j(follo)m(wing)f(the)f -(issuer's)390 4975 y(certi\014cate,)h(then)d(the)g(issuer's)g(issuer)g -(etc.)390 5103 y(In)g(case)h(of)g(Op)s(enPGP)e(k)m(eys)i(a)f(single)h +(issuer's)390 4244 y(certi\014cate,)h(then)d(the)g(issuer's)g(issuer)g +(etc.)390 4377 y(In)g(case)h(of)g(Op)s(enPGP)e(k)m(eys)i(a)f(single)h (k)m(ey)h(will)e(b)s(e)g(returned)f(in)h(ra)m(w)h(format.)390 -5230 y Fn(Returns:)46 b FB(return)32 b(a)h(p)s(oin)m(ter)g(to)h(a)f -Fs(gnutls_datum_t)c FB(con)m(taining)35 b(our)d(certi\014cates,)k(or)d -Fs(NULL)390 5340 y FB(in)d(case)h(of)g(an)f(error)g(or)h(if)f(no)g -(certi\014cate)j(w)m(as)d(used.)p eop end -%%Page: 122 128 -TeXDict begin 122 127 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(122)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(get)p 1285 299 V 54 w(x509)p 1587 299 V 55 -w(cas)3350 498 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_certificate_get_x)q(509)q(_ca)q(s)565 607 y -Fg(\()p Ff(gn)m(utls)p 846 607 28 4 v 41 w(certi\014cate)p -1274 607 V 42 w(creden)m(tials)p 1737 607 V 41 w(t)31 -b Fe(sc)12 b Ff(,)31 b(gn)m(utls)p 2256 607 V 40 w(x509)p -2479 607 V 42 w(crt)p 2632 607 V 40 w(t)g(**)g Fe(x509_ca_list)12 -b Ff(,)565 717 y(unsigned)29 b(in)m(t)i(*)g Fe(ncas)12 -b Fg(\))390 827 y Ff(sc)6 b FB(:)40 b(is)31 b(a)g Fs -(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 b FB(structure.)390 -963 y Ff(x509)p 579 963 V 41 w(ca)p 705 963 V 41 w(list)r -FB(:)42 b(will)30 b(p)s(oin)m(t)h(to)g(the)f(CA)g(list.)42 -b(Should)29 b(b)s(e)h(treated)h(as)g(constan)m(t)390 -1100 y Ff(ncas)t FB(:)41 b(the)30 b(n)m(um)m(b)s(er)f(of)i(CAs)390 -1237 y(This)f(function)g(will)g(exp)s(ort)g(all)i(the)e(CAs)g(asso)s -(ciated)i(with)e(the)h(giv)m(en)g(creden)m(tials.)390 -1374 y Fn(Since:)41 b FB(2.4.0)150 1575 y Fu(gn)m(utls)p -483 1575 37 5 v 55 w(certi\014cate)p 1068 1575 V 52 w(get)p -1285 1575 V 54 w(x509)p 1587 1575 V 55 w(crls)3350 1774 +4510 y Fn(Returns:)46 b FB(return)32 b(a)h(p)s(oin)m(ter)g(to)h(a)f +Ft(gnutls_datum_t)c FB(con)m(taining)35 b(our)d(certi\014cates,)k(or)d +Ft(NULL)390 4620 y FB(in)d(case)h(of)g(an)f(error)g(or)h(if)f(no)g +(certi\014cate)j(w)m(as)d(used.)150 4817 y Fv(gn)m(utls)p +483 4817 37 5 v 55 w(certi\014cate)p 1068 4817 V 52 w(get)p +1285 4817 V 54 w(x509)p 1587 4817 V 55 w(cas)3350 5011 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_get_x)q -(509)q(_cr)q(ls)565 1884 y Fg(\()p Ff(gn)m(utls)p 846 -1884 28 4 v 41 w(certi\014cate)p 1274 1884 V 42 w(creden)m(tials)p -1737 1884 V 41 w(t)31 b Fe(sc)12 b Ff(,)31 b(gn)m(utls)p -2256 1884 V 40 w(x509)p 2479 1884 V 42 w(crl)p 2622 1884 -V 40 w(t)g(**)g Fe(x509_crl_list)12 b Ff(,)565 1993 y(unsigned)29 -b(in)m(t)i(*)g Fe(ncrls)12 b Fg(\))390 2103 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_certificate_cred)o(ent)o(ials)o(_t)24 -b FB(structure.)390 2240 y Ff(x509)p 579 2240 V 41 w(crl)p -721 2240 V 41 w(list)r FB(:)41 b(the)31 b(exp)s(orted)f(CRL)f(list.)42 -b(Should)29 b(b)s(e)g(treated)j(as)e(constan)m(t)390 -2376 y Ff(ncrls)t FB(:)40 b(the)31 b(n)m(um)m(b)s(er)e(of)h(exp)s -(orted)g(CRLs)390 2513 y(This)g(function)g(will)g(exp)s(ort)g(all)i -(the)e(CRLs)g(asso)s(ciated)i(with)e(the)g(giv)m(en)i(creden)m(tials.) -390 2650 y Fn(Since:)41 b FB(2.4.0)150 2851 y Fu(gn)m(utls)p -483 2851 37 5 v 55 w(certi\014cate)p 1068 2851 V 52 w(send)p -1360 2851 V 55 w(x509)p 1663 2851 V 55 w(rdn)p 1904 2851 -V 54 w(sequence)3350 3050 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_certificate_send_)q(x50)q(9_r)q(dn_)q(sequ)q(enc) -q(e)565 3160 y Fg(\()p Ff(gn)m(utls)p 846 3160 28 4 v -41 w(session)p 1156 3160 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(in)m(t)f Fe(status)12 b Fg(\))390 3269 y -Ff(session)p FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f(to)i(a)e -Fs(gnutls_session_t)c FB(structure.)390 3406 y Ff(status)t -FB(:)41 b(is)30 b(0)h(or)f(1)390 3543 y(If)k(status)h(is)f(non)g(zero,) +(509)q(_ca)q(s)565 5121 y Fg(\()p Ff(gn)m(utls)p 846 +5121 28 4 v 41 w(certi\014cate)p 1274 5121 V 42 w(creden)m(tials)p +1737 5121 V 41 w(t)31 b Fe(sc)p Ff(,)g(gn)m(utls)p 2244 +5121 V 41 w(x509)p 2468 5121 V 41 w(crt)p 2620 5121 V +40 w(t)g(**)g Fe(x509_ca_list)p Ff(,)565 5230 y(unsigned)e(in)m(t*)j +Fe(ncas)12 b Fg(\))390 5340 y Ff(sc)6 b FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_creden)o(tia)o(ls_t)24 b +FB(structure.)p eop end +%%Page: 124 130 +TeXDict begin 124 129 bop 150 -116 a FB(Chapter)30 b(9:)h(F)-8 +b(unction)31 b(Reference)2247 b(124)390 299 y Ff(x509)p +579 299 28 4 v 41 w(ca)p 705 299 V 41 w(list)r FB(:)42 +b(will)30 b(p)s(oin)m(t)h(to)g(the)f(CA)g(list.)42 b(Should)29 +b(b)s(e)h(treated)h(as)g(constan)m(t)390 433 y Ff(ncas)t +FB(:)41 b(the)30 b(n)m(um)m(b)s(er)f(of)i(CAs)390 566 +y(This)f(function)g(will)g(exp)s(ort)g(all)i(the)e(CAs)g(asso)s(ciated) +i(with)e(the)h(giv)m(en)g(creden)m(tials.)390 700 y Fn(Since:)41 +b FB(2.4.0)150 898 y Fv(gn)m(utls)p 483 898 37 5 v 55 +w(certi\014cate)p 1068 898 V 52 w(get)p 1285 898 V 54 +w(x509)p 1587 898 V 55 w(crls)3350 1093 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_certificate_get_x)q(509)q(_cr)q(ls)565 +1203 y Fg(\()p Ff(gn)m(utls)p 846 1203 28 4 v 41 w(certi\014cate)p +1274 1203 V 42 w(creden)m(tials)p 1737 1203 V 41 w(t)31 +b Fe(sc)p Ff(,)g(gn)m(utls)p 2244 1203 V 41 w(x509)p +2468 1203 V 41 w(crl)p 2610 1203 V 40 w(t)g(**)g Fe(x509_crl_list)p +Ff(,)565 1313 y(unsigned)e(in)m(t*)j Fe(ncrls)12 b Fg(\))390 +1422 y Ff(sc)6 b FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_creden)o +(tia)o(ls_t)24 b FB(structure.)390 1556 y Ff(x509)p 579 +1556 V 41 w(crl)p 721 1556 V 41 w(list)r FB(:)41 b(the)31 +b(exp)s(orted)f(CRL)f(list.)42 b(Should)29 b(b)s(e)g(treated)j(as)e +(constan)m(t)390 1690 y Ff(ncrls)t FB(:)40 b(the)31 b(n)m(um)m(b)s(er)e +(of)h(exp)s(orted)g(CRLs)390 1824 y(This)g(function)g(will)g(exp)s(ort) +g(all)i(the)e(CRLs)g(asso)s(ciated)i(with)e(the)g(giv)m(en)i(creden)m +(tials.)390 1957 y Fn(Since:)41 b FB(2.4.0)150 2155 y +Fv(gn)m(utls)p 483 2155 37 5 v 55 w(certi\014cate)p 1068 +2155 V 52 w(send)p 1360 2155 V 55 w(x509)p 1663 2155 +V 55 w(rdn)p 1904 2155 V 54 w(sequence)3350 2350 y FB([F)-8 +b(unction])-3599 b Fh(void)54 b(gnutls_certificate_send_)q(x50)q(9_r)q +(dn_)q(sequ)q(enc)q(e)565 2460 y Fg(\()p Ff(gn)m(utls)p +846 2460 28 4 v 41 w(session)p 1156 2460 V 40 w(t)31 +b Fe(session)p Ff(,)h(in)m(t)f Fe(status)12 b Fg(\))390 +2570 y Ff(session)p FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f(to)i(a)e +Ft(gnutls_session_t)c FB(structure.)390 2703 y Ff(status)t +FB(:)41 b(is)30 b(0)h(or)f(1)390 2837 y(If)k(status)h(is)f(non)g(zero,) i(this)e(function)g(will)h(order)f(gn)m(utls)h(not)f(to)h(send)f(the)g -(rdnSequence)f(in)390 3653 y(the)c(certi\014cate)j(request)d(message.) +(rdnSequence)f(in)390 2947 y(the)c(certi\014cate)j(request)d(message.) 41 b(That)30 b(is)f(the)g(serv)m(er)h(will)f(not)h(adv)m(ertize)h(it's) -f(trusted)e(CAs)390 3762 y(to)34 b(the)g(p)s(eer.)49 +f(trusted)e(CAs)390 3056 y(to)34 b(the)g(p)s(eer.)49 b(If)33 b(status)h(is)g(zero)g(then)f(the)h(default)f(b)s(eha)m(viour)h (will)f(tak)m(e)i(e\013ect,)h(whic)m(h)e(is)f(to)390 -3872 y(adv)m(ertize)f(the)f(serv)m(er's)f(trusted)g(CAs.)390 -4008 y(This)45 b(function)g(has)g(no)g(e\013ect)i(in)e(clien)m(ts,)51 +3166 y(adv)m(ertize)f(the)f(serv)m(er's)f(trusted)g(CAs.)390 +3300 y(This)45 b(function)g(has)g(no)g(e\013ect)i(in)e(clien)m(ts,)51 b(and)44 b(in)h(authen)m(tication)j(metho)s(ds)d(other)g(than)390 -4118 y(certi\014cate)32 b(with)f(X.509)h(certi\014cates.)150 -4320 y Fu(gn)m(utls)p 483 4320 37 5 v 55 w(certi\014cate)p -1068 4320 V 52 w(serv)m(er)p 1442 4320 V 54 w(set)p 1648 -4320 V 54 w(request)3350 4519 y FB([F)-8 b(unction])-3599 +3409 y(certi\014cate)32 b(with)f(X.509)h(certi\014cates.)150 +3607 y Fv(gn)m(utls)p 483 3607 37 5 v 55 w(certi\014cate)p +1068 3607 V 52 w(serv)m(er)p 1442 3607 V 54 w(set)p 1648 +3607 V 54 w(request)3350 3803 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_serve)q(r_s)q(et_)q(req)q(uest)e -Fg(\()p Ff(gn)m(utls)p 2673 4519 28 4 v 41 w(session)p -2983 4519 V 40 w(t)565 4628 y Fe(session)12 b Ff(,)32 -b(gn)m(utls)p 1244 4628 V 41 w(certi\014cate)p 1672 4628 -V 42 w(request)p 2000 4628 V 40 w(t)f Fe(req)12 b Fg(\))390 -4738 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4874 y Ff(req)r FB(:)41 b(is)30 b(one)h(of)f -(GNUTLS)p 1330 4874 V 40 w(CER)-8 b(T)p 1623 4874 V 40 -w(REQUEST,)29 b(GNUTLS)p 2545 4874 V 40 w(CER)-8 b(T)p -2838 4874 V 39 w(REQUIRE)390 5011 y(This)25 b(function)g(sp)s -(eci\014es)g(if)g(w)m(e)h(\(in)g(case)g(of)g(a)f(serv)m(er\))h(are)g -(going)h(to)f(send)f(a)g(certi\014cate)j(request)390 -5121 y(message)44 b(to)g(the)f(clien)m(t.)81 b(If)42 -b Fs(req)h FB(is)g(GNUTLS)p 2145 5121 V 39 w(CER)-8 b(T)p -2437 5121 V 40 w(REQUIRE)42 b(then)h(the)g(serv)m(er)h(will)390 -5230 y(return)d(an)h(error)f(if)h(the)g(p)s(eer)f(do)s(es)h(not)g(pro)m -(vide)g(a)h(certi\014cate.)77 b(If)42 b(y)m(ou)g(do)g(not)g(call)h -(this)390 5340 y(function)30 b(then)g(the)h(clien)m(t)h(will)e(not)h(b) -s(e)f(ask)m(ed)h(to)g(send)e(a)i(certi\014cate.)p eop -end -%%Page: 123 129 -TeXDict begin 123 128 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(123)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(serv)m(er)p 1442 299 V 54 w(set)p 1648 299 -V 54 w(retriev)m(e)p 2114 299 V 54 w(function)3350 493 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_serve)q -(r_s)q(et_)q(ret)q(riev)q(e_f)q(unc)q(tion)565 603 y -Fg(\()p Ff(gn)m(utls)p 846 603 28 4 v 41 w(certi\014cate)p -1274 603 V 42 w(creden)m(tials)p 1737 603 V 41 w(t)31 -b Fe(cred)12 b Ff(,)565 712 y(gn)m(utls)p 811 712 V 41 -w(certi\014cate)p 1239 712 V 42 w(serv)m(er)p 1514 712 -V 40 w(retriev)m(e)p 1851 712 V 41 w(function)31 b(*)f -Fe(func)12 b Fg(\))390 822 y Ff(cred)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_certificate_creden)o(tial)o(s_t)24 b -FB(structure.)390 955 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(callbac)m -(k)j(function)390 1088 y(This)58 b(function)h(sets)g(a)h(callbac)m(k)h -(to)f(b)s(e)e(called)i(in)f(order)f(to)i(retriev)m(e)h(the)e -(certi\014cate)390 1198 y(to)72 b(b)s(e)e(used)h(in)f(the)i(handshak)m -(e.)162 b(The)71 b(callbac)m(k's)i(function)e(protot)m(yp)s(e)g(is:)122 -b(in)m(t)390 1307 y(\(*callbac)m(k\)\(gn)m(utls)p 1102 -1307 V 44 w(session)p 1415 1307 V 40 w(t,)31 b(gn)m(utls)p -1786 1307 V 41 w(retr)p 1974 1307 V 40 w(st*)g(st\);)390 -1441 y Fs(st)f FB(should)f(con)m(tain)j(the)e(certi\014cates)j(and)c -(priv)-5 b(ate)31 b(k)m(eys.)390 1574 y(If)36 b(the)h(callbac)m(k)i +Fg(\()p Ff(gn)m(utls)p 2673 3803 28 4 v 41 w(session)p +2983 3803 V 40 w(t)565 3912 y Fe(session)p Ff(,)33 b(gn)m(utls)p +1233 3912 V 40 w(certi\014cate)p 1660 3912 V 42 w(request)p +1988 3912 V 40 w(t)e Fe(req)12 b Fg(\))390 4022 y Ff(session)p +FB(:)41 b(is)30 b(an)h Ft(gnutls_session_t)25 b FB(structure.)390 +4155 y Ff(req)r FB(:)41 b(is)30 b(one)h(of)f(GNUTLS)p +1330 4155 V 40 w(CER)-8 b(T)p 1623 4155 V 40 w(REQUEST,)29 +b(GNUTLS)p 2545 4155 V 40 w(CER)-8 b(T)p 2838 4155 V +39 w(REQUIRE)390 4289 y(This)25 b(function)g(sp)s(eci\014es)g(if)g(w)m +(e)h(\(in)g(case)g(of)g(a)f(serv)m(er\))h(are)g(going)h(to)f(send)f(a)g +(certi\014cate)j(request)390 4399 y(message)44 b(to)g(the)f(clien)m(t.) +81 b(If)42 b Ft(req)h FB(is)g(GNUTLS)p 2145 4399 V 39 +w(CER)-8 b(T)p 2437 4399 V 40 w(REQUIRE)42 b(then)h(the)g(serv)m(er)h +(will)390 4508 y(return)d(an)h(error)f(if)h(the)g(p)s(eer)f(do)s(es)h +(not)g(pro)m(vide)g(a)h(certi\014cate.)77 b(If)42 b(y)m(ou)g(do)g(not)g +(call)h(this)390 4618 y(function)30 b(then)g(the)h(clien)m(t)h(will)e +(not)h(b)s(e)f(ask)m(ed)h(to)g(send)e(a)i(certi\014cate.)150 +4816 y Fv(gn)m(utls)p 483 4816 37 5 v 55 w(certi\014cate)p +1068 4816 V 52 w(serv)m(er)p 1442 4816 V 54 w(set)p 1648 +4816 V 54 w(retriev)m(e)p 2114 4816 V 54 w(function)3350 +5011 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_certificate_serve)q(r_s)q(et_)q(ret)q(riev)q(e_f)q(unc)q(tion) +565 5121 y Fg(\()p Ff(gn)m(utls)p 846 5121 28 4 v 41 +w(certi\014cate)p 1274 5121 V 42 w(creden)m(tials)p 1737 +5121 V 41 w(t)31 b Fe(cred)p Ff(,)h(gn)m(utls)p 2349 +5121 V 40 w(certi\014cate)p 2776 5121 V 42 w(serv)m(er)p +3051 5121 V 41 w(retriev)m(e)p 3389 5121 V 41 w(function)565 +5230 y(*)f Fe(func)12 b Fg(\))390 5340 y Ff(cred)t FB(:)40 +b(is)31 b(a)f Ft(gnutls_certificate_creden)o(tial)o(s_t)24 +b FB(structure.)p eop end +%%Page: 125 131 +TeXDict begin 125 130 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(125)390 299 y +Ff(func)6 b FB(:)39 b(is)31 b(the)f(callbac)m(k)j(function)390 +435 y(This)58 b(function)h(sets)g(a)h(callbac)m(k)h(to)f(b)s(e)e +(called)i(in)f(order)f(to)i(retriev)m(e)h(the)e(certi\014cate)390 +545 y(to)72 b(b)s(e)e(used)h(in)f(the)i(handshak)m(e.)162 +b(The)71 b(callbac)m(k's)i(function)e(protot)m(yp)s(e)g(is:)122 +b(in)m(t)390 654 y(\(*callbac)m(k\)\(gn)m(utls)p 1102 +654 28 4 v 44 w(session)p 1415 654 V 40 w(t,)31 b(gn)m(utls)p +1786 654 V 41 w(retr)p 1974 654 V 40 w(st*)g(st\);)390 +790 y Ft(st)f FB(should)f(con)m(tain)j(the)e(certi\014cates)j(and)c +(priv)-5 b(ate)31 b(k)m(eys.)390 927 y(If)36 b(the)h(callbac)m(k)i (function)e(is)f(pro)m(vided)h(then)f(gn)m(utls)h(will)h(call)g(it,)h -(in)d(the)h(handshak)m(e,)h(after)390 1683 y(the)31 b(certi\014cate)h +(in)d(the)h(handshak)m(e,)h(after)390 1036 y(the)31 b(certi\014cate)h (request)e(message)i(has)e(b)s(een)g(receiv)m(ed.)390 -1817 y(The)23 b(callbac)m(k)j(function)d(should)f(set)i(the)g +1172 y(The)23 b(callbac)m(k)j(function)d(should)f(set)i(the)g (certi\014cate)i(list)e(to)g(b)s(e)f(sen)m(t,)j(and)d(return)f(0)i(on)f -(success.)390 1926 y(The)30 b(v)-5 b(alue)31 b(\(-1\))g(indicates)h +(success.)390 1282 y(The)30 b(v)-5 b(alue)31 b(\(-1\))g(indicates)h (error)e(and)g(the)g(handshak)m(e)g(will)h(b)s(e)e(terminated.)150 -2123 y Fu(gn)m(utls)p 483 2123 37 5 v 55 w(certi\014cate)p -1068 2123 V 52 w(set)p 1272 2123 V 54 w(dh)p 1462 2123 -V 55 w(params)3350 2317 y FB([F)-8 b(unction])-3599 b +1483 y Fv(gn)m(utls)p 483 1483 37 5 v 55 w(certi\014cate)p +1068 1483 V 52 w(set)p 1272 1483 V 54 w(dh)p 1462 1483 +V 55 w(params)3350 1681 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_set_d)q(h_p)q(ara)q(ms)565 -2426 y Fg(\()p Ff(gn)m(utls)p 846 2426 28 4 v 41 w(certi\014cate)p -1274 2426 V 42 w(creden)m(tials)p 1737 2426 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2308 2426 V 41 w(dh)p -2451 2426 V 39 w(params)p 2779 2426 V 39 w(t)g Fe(dh_params)12 -b Fg(\))390 2536 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p -984 2536 V 41 w(certi\014cate)p 1412 2536 V 42 w(creden)m(tials)p -1875 2536 V 41 w(t)h(structure)390 2669 y Ff(dh)p 498 -2669 V 39 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f -(Di\016e-Hellman)i(parameters.)390 2802 y(This)37 b(function)h(will)g -(set)h(the)f(Di\016e-Hellman)i(parameters)f(for)e(a)i(certi\014cate)h -(serv)m(er)e(to)h(use.)390 2912 y(These)31 b(parameters)g(will)h(b)s(e) -f(used)f(in)h(Ephemeral)g(Di\016e-Hellman)i(cipher)e(suites.)43 -b(Note)32 b(that)390 3022 y(only)i(a)g(p)s(oin)m(ter)f(to)i(the)e +1791 y Fg(\()p Ff(gn)m(utls)p 846 1791 28 4 v 41 w(certi\014cate)p +1274 1791 V 42 w(creden)m(tials)p 1737 1791 V 41 w(t)31 +b Fe(res)p Ff(,)h(gn)m(utls)p 2297 1791 V 40 w(dh)p 2439 +1791 V 39 w(params)p 2767 1791 V 40 w(t)e Fe(dh_params)12 +b Fg(\))390 1900 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p +984 1900 V 41 w(certi\014cate)p 1412 1900 V 42 w(creden)m(tials)p +1875 1900 V 41 w(t)h(structure)390 2037 y Ff(dh)p 498 +2037 V 39 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f +(di\016e)g(hellman)h(parameters.)390 2173 y(This)39 b(function)h(will)h +(set)g(the)f(di\016e)g(hellman)h(parameters)f(for)g(a)h(certi\014cate)h +(serv)m(er)f(to)g(use.)390 2282 y(These)31 b(parameters)g(will)h(b)s(e) +e(used)h(in)f(Ephemeral)h(Di\016e)h(Hellman)g(cipher)f(suites.)43 +b(Note)32 b(that)390 2392 y(only)i(a)g(p)s(oin)m(ter)f(to)i(the)e (parameters)h(are)g(stored)g(in)f(the)h(certi\014cate)i(handle,)e(so)g -(if)f(y)m(ou)h(deal-)390 3131 y(lo)s(cate)i(the)e(parameters)g(b)s +(if)f(y)m(ou)h(deal-)390 2501 y(lo)s(cate)i(the)e(parameters)g(b)s (efore)g(the)g(certi\014cate)i(is)e(deallo)s(cated,)j(y)m(ou)e(m)m(ust) -e(c)m(hange)j(the)e(pa-)390 3241 y(rameters)d(stored)f(in)g(the)h -(certi\014cate)h(\014rst.)150 3437 y Fu(gn)m(utls)p 483 -3437 37 5 v 55 w(certi\014cate)p 1068 3437 V 52 w(set)p -1272 3437 V 54 w(params)p 1714 3437 V 55 w(function)3350 -3632 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +e(c)m(hange)j(the)e(pa-)390 2611 y(rameters)d(stored)f(in)g(the)h +(certi\014cate)h(\014rst.)150 2812 y Fv(gn)m(utls)p 483 +2812 37 5 v 55 w(certi\014cate)p 1068 2812 V 52 w(set)p +1272 2812 V 54 w(params)p 1714 2812 V 55 w(function)3350 +3010 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_certificate_set_p)q(ara)q(ms_)q(fun)q(ctio)q(n)565 -3741 y Fg(\()p Ff(gn)m(utls)p 846 3741 28 4 v 41 w(certi\014cate)p -1274 3741 V 42 w(creden)m(tials)p 1737 3741 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2308 3741 V 41 w(params)p -2638 3741 V 39 w(function)f(*)h Fe(func)12 b Fg(\))390 -3851 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 -3851 V 41 w(certi\014cate)p 1412 3851 V 42 w(creden)m(tials)p -1875 3851 V 41 w(t)h(structure)390 3984 y Ff(func)6 b +3120 y Fg(\()p Ff(gn)m(utls)p 846 3120 28 4 v 41 w(certi\014cate)p +1274 3120 V 42 w(creden)m(tials)p 1737 3120 V 41 w(t)31 +b Fe(res)p Ff(,)h(gn)m(utls)p 2297 3120 V 40 w(params)p +2626 3120 V 40 w(function)e(*)g Fe(func)12 b Fg(\))390 +3230 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 +3230 V 41 w(certi\014cate)p 1412 3230 V 42 w(creden)m(tials)p +1875 3230 V 41 w(t)h(structure)390 3366 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 -4117 y(This)k(function)h(will)g(set)g(a)h(callbac)m(k)h(in)d(order)h -(for)f(the)h(serv)m(er)g(to)h(get)g(the)f(Di\016e-Hellman)i(or)390 -4227 y(RSA)h(parameters)h(for)f(certi\014cate)j(authen)m(tication.)64 +3502 y(This)35 b(function)h(will)g(set)h(a)f(callbac)m(k)i(in)e(order)f +(for)h(the)g(serv)m(er)g(to)h(get)g(the)f(di\016e)g(hellman)g(or)390 +3611 y(RSA)h(parameters)h(for)f(certi\014cate)j(authen)m(tication.)64 b(The)37 b(callbac)m(k)j(should)c(return)h(zero)h(on)390 -4336 y(success.)150 4533 y Fu(gn)m(utls)p 483 4533 37 -5 v 55 w(certi\014cate)p 1068 4533 V 52 w(set)p 1272 -4533 V 54 w(rsa)p 1484 4533 V 54 w(exp)s(ort)p 1889 4533 -V 55 w(params)3350 4727 y FB([F)-8 b(unction])-3599 b +3721 y(success.)150 3922 y Fv(gn)m(utls)p 483 3922 37 +5 v 55 w(certi\014cate)p 1068 3922 V 52 w(set)p 1272 +3922 V 54 w(rsa)p 1484 3922 V 54 w(exp)s(ort)p 1889 3922 +V 55 w(params)3350 4120 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_certificate_set_r)q(sa_)q(exp)q(ort)q(_par)q(ams) -565 4837 y Fg(\()p Ff(gn)m(utls)p 846 4837 28 4 v 41 -w(certi\014cate)p 1274 4837 V 42 w(creden)m(tials)p 1737 -4837 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2308 4837 V 41 w(rsa)p 2466 4837 V 39 w(params)p 2794 -4837 V 40 w(t)g Fe(rsa_params)12 b Fg(\))390 4946 y Ff(res)t -FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 4946 V 41 w(certi\014cate)p -1412 4946 V 42 w(creden)m(tials)p 1875 4946 V 41 w(t)h(structure)390 -5080 y Ff(rsa)p 513 5080 V 40 w(params)t FB(:)40 b(is)30 +565 4230 y Fg(\()p Ff(gn)m(utls)p 846 4230 28 4 v 41 +w(certi\014cate)p 1274 4230 V 42 w(creden)m(tials)p 1737 +4230 V 41 w(t)31 b Fe(res)p Ff(,)h(gn)m(utls)p 2297 4230 +V 40 w(rsa)p 2454 4230 V 40 w(params)p 2783 4230 V 40 +w(t)e Fe(rsa_params)12 b Fg(\))390 4340 y Ff(res)t FB(:)40 +b(is)31 b(a)f(gn)m(utls)p 984 4340 V 41 w(certi\014cate)p +1412 4340 V 42 w(creden)m(tials)p 1875 4340 V 41 w(t)h(structure)390 +4476 y Ff(rsa)p 513 4476 V 40 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f(temp)s(orary)g(RSA)g(parameters.)390 -5213 y(This)i(function)h(will)g(set)h(the)f(temp)s(orary)f(RSA)h +4612 y(This)i(function)h(will)g(set)h(the)f(temp)s(orary)f(RSA)h (parameters)g(for)g(a)g(certi\014cate)i(serv)m(er)e(to)h(use.)390 -5322 y(These)c(parameters)h(will)g(b)s(e)e(used)h(in)g(RSA-EXPOR)-8 -b(T)30 b(cipher)g(suites.)p eop end -%%Page: 124 130 -TeXDict begin 124 129 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(124)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(set)p 1272 299 V 54 w(v)m(erify)p 1630 299 -V 54 w(\015ags)3350 499 y FB([F)-8 b(unction])-3599 b -Fh(void)54 b(gnutls_certificate_set_v)q(eri)q(fy_)q(fla)q(gs)565 -609 y Fg(\()p Ff(gn)m(utls)p 846 609 28 4 v 41 w(certi\014cate)p -1274 609 V 42 w(creden)m(tials)p 1737 609 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(unsigned)e(in)m(t)i Fe(flags)12 -b Fg(\))390 718 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p -984 718 V 41 w(certi\014cate)p 1412 718 V 42 w(creden)m(tials)p -1875 718 V 41 w(t)h(structure)390 857 y Ff(\015ags)t -FB(:)41 b(are)30 b(the)h(\015ags)390 995 y(This)38 b(function)g(will)h -(set)h(the)e(\015ags)h(to)h(b)s(e)e(used)g(at)h(v)m(eri\014cation)h(of) -f(the)g(certi\014cates.)68 b(Flags)390 1104 y(m)m(ust)30 -b(b)s(e)g(OR)g(of)g(the)h Fs(gnutls_certificate_verif)o(y_fl)o(ags)24 -b FB(en)m(umerations.)150 1307 y Fu(gn)m(utls)p 483 1307 -37 5 v 55 w(certi\014cate)p 1068 1307 V 52 w(set)p 1272 -1307 V 54 w(v)m(erify)p 1630 1307 V 54 w(limits)3350 -1508 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_certificate_set_v)q(eri)q(fy_)q(lim)q(its)565 -1617 y Fg(\()p Ff(gn)m(utls)p 846 1617 28 4 v 41 w(certi\014cate)p -1274 1617 V 42 w(creden)m(tials)p 1737 1617 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(unsigned)e(in)m(t)i Fe(max_bits)12 -b Ff(,)33 b(unsigned)c(in)m(t)565 1727 y Fe(max_depth)12 -b Fg(\))390 1837 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p -984 1837 V 41 w(certi\014cate)p 1412 1837 V 42 w(creden)m(tials)i -(structure)390 1975 y Ff(max)p 565 1975 V 40 w(bits)t -FB(:)41 b(is)30 b(the)h(n)m(um)m(b)s(er)e(of)h(bits)g(of)h(an)f -(acceptable)j(certi\014cate)f(\(default)f(8200\))390 -2113 y Ff(max)p 565 2113 V 40 w(depth)p FB(:)40 b(is)31 -b(maxim)m(um)f(depth)f(of)i(the)f(v)m(eri\014cation)i(of)f(a)g -(certi\014cate)h(c)m(hain)f(\(default)g(5\))390 2251 -y(This)26 b(function)g(will)h(set)g(some)g(upp)s(er)d(limits)k(for)e -(the)h(default)g(v)m(eri\014cation)h(function,)f Fs(gnutls_)390 -2361 y(certificate_verify_peers)o(2\(\))p FB(,)20 b(to)26 -b(a)m(v)m(oid)g(denial)f(of)h(service)f(attac)m(ks.)42 -b(Y)-8 b(ou)25 b(can)g(set)h(them)390 2470 y(to)31 b(zero)g(to)g -(disable)g(limits.)150 2673 y Fu(gn)m(utls)p 483 2673 -37 5 v 55 w(certi\014cate)p 1068 2673 V 52 w(set)p 1272 -2673 V 54 w(x509)p 1574 2673 V 55 w(crl)p 1768 2673 V -54 w(\014le)3350 2874 y FB([F)-8 b(unction])-3599 b Fh(int)53 +4721 y(These)c(parameters)h(will)g(b)s(e)e(used)h(in)g(RSA-EXPOR)-8 +b(T)30 b(cipher)g(suites.)150 4922 y Fv(gn)m(utls)p 483 +4922 37 5 v 55 w(certi\014cate)p 1068 4922 V 52 w(set)p +1272 4922 V 54 w(v)m(erify)p 1630 4922 V 54 w(\015ags)3350 +5121 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_certificate_set_v)q(eri)q(fy_)q(fla)q(gs)565 +5230 y Fg(\()p Ff(gn)m(utls)p 846 5230 28 4 v 41 w(certi\014cate)p +1274 5230 V 42 w(creden)m(tials)p 1737 5230 V 41 w(t)31 +b Fe(res)p Ff(,)h(unsigned)d(in)m(t)i Fe(flags)12 b Fg(\))390 +5340 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 +5340 V 41 w(certi\014cate)p 1412 5340 V 42 w(creden)m(tials)p +1875 5340 V 41 w(t)h(structure)p eop end +%%Page: 126 132 +TeXDict begin 126 131 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(126)390 299 y +Ff(\015ags)t FB(:)41 b(are)30 b(the)h(\015ags)390 447 +y(This)38 b(function)g(will)h(set)h(the)e(\015ags)h(to)h(b)s(e)e(used)g +(at)h(v)m(eri\014cation)h(of)f(the)g(certi\014cates.)68 +b(Flags)390 557 y(m)m(ust)30 b(b)s(e)g(OR)g(of)g(the)h +Ft(gnutls_certificate_verif)o(y_fl)o(ags)24 b FB(en)m(umerations.)150 +770 y Fv(gn)m(utls)p 483 770 37 5 v 55 w(certi\014cate)p +1068 770 V 52 w(set)p 1272 770 V 54 w(v)m(erify)p 1630 +770 V 54 w(limits)3350 980 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_certificate_set_v)q(eri)q(fy_)q(lim)q(its)565 +1090 y Fg(\()p Ff(gn)m(utls)p 846 1090 28 4 v 41 w(certi\014cate)p +1274 1090 V 42 w(creden)m(tials)p 1737 1090 V 41 w(t)31 +b Fe(res)p Ff(,)h(unsigned)d(in)m(t)i Fe(max_bits)p Ff(,)i(unsigned)c +(in)m(t)565 1200 y Fe(max_depth)12 b Fg(\))390 1309 y +Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 1309 V +41 w(certi\014cate)p 1412 1309 V 42 w(creden)m(tials)i(structure)390 +1458 y Ff(max)p 565 1458 V 40 w(bits)t FB(:)41 b(is)30 +b(the)h(n)m(um)m(b)s(er)e(of)h(bits)g(of)h(an)f(acceptable)j +(certi\014cate)f(\(default)f(8200\))390 1606 y Ff(max)p +565 1606 V 40 w(depth)p FB(:)40 b(is)31 b(maxim)m(um)f(depth)f(of)i +(the)f(v)m(eri\014cation)i(of)f(a)g(certi\014cate)h(c)m(hain)f +(\(default)g(5\))390 1754 y(This)26 b(function)g(will)h(set)g(some)g +(upp)s(er)d(limits)k(for)e(the)h(default)g(v)m(eri\014cation)h +(function,)f Ft(gnutls_)390 1864 y(certificate_verify_peers)o(2\(\))p +FB(,)20 b(to)26 b(a)m(v)m(oid)g(denial)f(of)h(service)f(attac)m(ks.)42 +b(Y)-8 b(ou)25 b(can)g(set)h(them)390 1973 y(to)31 b(zero)g(to)g +(disable)g(limits.)150 2186 y Fv(gn)m(utls)p 483 2186 +37 5 v 55 w(certi\014cate)p 1068 2186 V 52 w(set)p 1272 +2186 V 54 w(x509)p 1574 2186 V 55 w(crl)p 1768 2186 V +54 w(\014le)3350 2397 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q(crl)q(_fi)q(le)565 -2983 y Fg(\()p Ff(gn)m(utls)p 846 2983 28 4 v 41 w(certi\014cate)p -1274 2983 V 42 w(creden)m(tials)p 1737 2983 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(crlfile)12 -b Ff(,)565 3093 y(gn)m(utls)p 811 3093 V 41 w(x509)p -1035 3093 V 41 w(crt)p 1187 3093 V 40 w(fm)m(t)p 1363 -3093 V 41 w(t)30 b Fe(type)12 b Fg(\))390 3202 y Ff(res)t -FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 3340 y Ff(crl\014le)5 b FB(:)41 b(is)31 +2507 y Fg(\()p Ff(gn)m(utls)p 846 2507 28 4 v 41 w(certi\014cate)p +1274 2507 V 42 w(creden)m(tials)p 1737 2507 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g Fe(crlfile)p +Ff(,)565 2616 y(gn)m(utls)p 811 2616 V 41 w(x509)p 1035 +2616 V 41 w(crt)p 1187 2616 V 40 w(fm)m(t)p 1363 2616 +V 41 w(t)f Fe(type)12 b Fg(\))390 2726 y Ff(res)t FB(:)40 +b(is)31 b(an)f Ft(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 +b FB(structure.)390 2874 y Ff(crl\014le)5 b FB(:)41 b(is)31 b(a)f(\014le)h(con)m(taining)h(the)e(list)h(of)g(v)m(eri\014ed)f(CRLs)g -(\(DER)h(or)f(PEM)g(list\))390 3479 y Ff(t)m(yp)s(e)5 -b FB(:)41 b(is)30 b(PEM)h(or)f(DER)390 3617 y(This)36 +(\(DER)h(or)f(PEM)g(list\))390 3022 y Ff(t)m(yp)s(e)5 +b FB(:)41 b(is)30 b(PEM)h(or)f(DER)390 3171 y(This)36 b(function)g(adds)g(the)g(trusted)g(CRLs)g(in)g(order)g(to)h(v)m(erify) -g(clien)m(t)h(or)f(serv)m(er)g(certi\014cates.)390 3726 +g(clien)m(t)h(or)f(serv)m(er)g(certi\014cates.)390 3280 y(In)c(case)h(of)g(a)g(clien)m(t)h(this)f(is)f(not)h(required)f(to)h(b) s(e)f(called)h(if)g(the)g(certi\014cates)h(are)f(not)g(v)m(eri\014ed) -390 3836 y(using)25 b Fs(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\)) +390 3390 y(using)25 b Ft(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\)) o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple) -390 3946 y(times.)390 4084 y Fn(Returns:)40 b FB(n)m(um)m(b)s(er)29 +390 3500 y(times.)390 3648 y Fn(Returns:)40 b FB(n)m(um)m(b)s(er)29 b(of)i(CRLs)f(pro)s(cessed)f(or)i(a)f(negativ)m(e)j(v)-5 -b(alue)31 b(on)f(error.)150 4287 y Fu(gn)m(utls)p 483 -4287 37 5 v 55 w(certi\014cate)p 1068 4287 V 52 w(set)p -1272 4287 V 54 w(x509)p 1574 4287 V 55 w(crl)p 1768 4287 -V 54 w(mem)3350 4487 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(alue)31 b(on)f(error.)150 3861 y Fv(gn)m(utls)p 483 +3861 37 5 v 55 w(certi\014cate)p 1068 3861 V 52 w(set)p +1272 3861 V 54 w(x509)p 1574 3861 V 55 w(crl)p 1768 3861 +V 54 w(mem)3350 4071 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q(crl)q(_me)q(m)565 -4597 y Fg(\()p Ff(gn)m(utls)p 846 4597 28 4 v 41 w(certi\014cate)p -1274 4597 V 42 w(creden)m(tials)p 1737 4597 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p 2546 4597 -V 40 w(datum)p 2844 4597 V 40 w(t)g(*)f Fe(CRL)12 b Ff(,)565 -4706 y(gn)m(utls)p 811 4706 V 41 w(x509)p 1035 4706 V -41 w(crt)p 1187 4706 V 40 w(fm)m(t)p 1363 4706 V 41 w(t)30 -b Fe(type)12 b Fg(\))390 4816 y Ff(res)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 b -FB(structure.)390 4954 y Ff(CRL)p FB(:)30 b(is)g(a)h(list)g(of)g +4181 y Fg(\()p Ff(gn)m(utls)p 846 4181 28 4 v 41 w(certi\014cate)p +1274 4181 V 42 w(creden)m(tials)p 1737 4181 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(gn)m(utls)p 2534 4181 V 41 +w(datum)p 2833 4181 V 39 w(t)h(*)g Fe(CRL)p Ff(,)565 +4291 y(gn)m(utls)p 811 4291 V 41 w(x509)p 1035 4291 V +41 w(crt)p 1187 4291 V 40 w(fm)m(t)p 1363 4291 V 41 w(t)f +Fe(type)12 b Fg(\))390 4400 y Ff(res)t FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 +b FB(structure.)390 4549 y Ff(CRL)p FB(:)30 b(is)g(a)h(list)g(of)g (trusted)f(CRLs.)39 b(They)30 b(should)g(ha)m(v)m(e)h(b)s(een)f(v)m -(eri\014ed)g(b)s(efore.)390 5092 y Ff(t)m(yp)s(e)5 b -FB(:)41 b(is)30 b(DER)h(or)f(PEM)390 5230 y(This)36 b(function)g(adds)g +(eri\014ed)g(b)s(efore.)390 4697 y Ff(t)m(yp)s(e)5 b +FB(:)41 b(is)30 b(DER)h(or)f(PEM)390 4845 y(This)36 b(function)g(adds)g (the)g(trusted)g(CRLs)g(in)g(order)g(to)h(v)m(erify)g(clien)m(t)h(or)f -(serv)m(er)g(certi\014cates.)390 5340 y(In)c(case)h(of)g(a)g(clien)m(t) +(serv)m(er)g(certi\014cates.)390 4955 y(In)c(case)h(of)g(a)g(clien)m(t) h(this)f(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g -(certi\014cates)h(are)f(not)g(v)m(eri\014ed)p eop end -%%Page: 125 131 -TeXDict begin 125 130 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(125)390 299 y(using)25 -b Fs(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o +(certi\014cates)h(are)f(not)g(v)m(eri\014ed)390 5064 +y(using)25 b Ft(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple) -390 408 y(times.)390 542 y Fn(Returns:)40 b FB(n)m(um)m(b)s(er)29 +390 5174 y(times.)390 5322 y Fn(Returns:)40 b FB(n)m(um)m(b)s(er)29 b(of)i(CRLs)f(pro)s(cessed,)g(or)g(a)h(negativ)m(e)h(v)-5 -b(alue)31 b(on)f(error.)150 739 y Fu(gn)m(utls)p 483 -739 37 5 v 55 w(certi\014cate)p 1068 739 V 52 w(set)p -1272 739 V 54 w(x509)p 1574 739 V 55 w(crl)3350 934 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q -(09_)q(crl)565 1043 y Fg(\()p Ff(gn)m(utls)p 846 1043 -28 4 v 41 w(certi\014cate)p 1274 1043 V 42 w(creden)m(tials)p -1737 1043 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2308 1043 V 41 w(x509)p 2532 1043 V 41 w(crl)p 2674 1043 -V 40 w(t)g(*)g Fe(crl_list)12 b Ff(,)32 b(in)m(t)565 -1153 y Fe(crl_list_size)12 b Fg(\))390 1263 y Ff(res)t -FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 1396 y Ff(crl)p 497 1396 V 40 w(list)r -FB(:)42 b(is)30 b(a)h(list)g(of)f(trusted)g(CRLs.)40 -b(They)30 b(should)f(ha)m(v)m(e)j(b)s(een)e(v)m(eri\014ed)g(b)s(efore.) -390 1530 y Ff(crl)p 497 1530 V 40 w(list)p 658 1530 V -41 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(crl)p -1839 1530 V 41 w(list)390 1663 y(This)36 b(function)g(adds)g(the)g -(trusted)g(CRLs)g(in)g(order)g(to)h(v)m(erify)g(clien)m(t)h(or)f(serv)m -(er)g(certi\014cates.)390 1773 y(In)c(case)h(of)g(a)g(clien)m(t)h(this) -f(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g -(certi\014cates)h(are)f(not)g(v)m(eri\014ed)390 1882 -y(using)25 b Fs(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o +b(alue)31 b(on)f(error.)p eop end +%%Page: 127 133 +TeXDict begin 127 132 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(127)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 +299 V 52 w(set)p 1272 299 V 54 w(x509)p 1574 299 V 55 +w(crl)3350 499 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_certificate_se)q(t_x5)q(09_)q(crl)565 608 y +Fg(\()p Ff(gn)m(utls)p 846 608 28 4 v 41 w(certi\014cate)p +1274 608 V 42 w(creden)m(tials)p 1737 608 V 41 w(t)31 +b Fe(res)p Ff(,)h(gn)m(utls)p 2297 608 V 40 w(x509)p +2520 608 V 41 w(crl)p 2662 608 V 41 w(t)e(*)h Fe(crl_list)p +Ff(,)i(in)m(t)565 718 y Fe(crl_list_size)12 b Fg(\))390 +828 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_crede)o +(ntia)o(ls_)o(t)25 b FB(structure.)390 965 y Ff(crl)p +497 965 V 40 w(list)r FB(:)42 b(is)30 b(a)h(list)g(of)f(trusted)g +(CRLs.)40 b(They)30 b(should)f(ha)m(v)m(e)j(b)s(een)e(v)m(eri\014ed)g +(b)s(efore.)390 1103 y Ff(crl)p 497 1103 V 40 w(list)p +658 1103 V 41 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f +(crl)p 1839 1103 V 41 w(list)390 1240 y(This)36 b(function)g(adds)g +(the)g(trusted)g(CRLs)g(in)g(order)g(to)h(v)m(erify)g(clien)m(t)h(or)f +(serv)m(er)g(certi\014cates.)390 1350 y(In)c(case)h(of)g(a)g(clien)m(t) +h(this)f(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g +(certi\014cates)h(are)f(not)g(v)m(eri\014ed)390 1460 +y(using)25 b Ft(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple) -390 1992 y(times.)390 2125 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +390 1569 y(times.)390 1707 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)390 -2259 y Fn(Since:)41 b FB(2.4.0)150 2456 y Fu(gn)m(utls)p -483 2456 37 5 v 55 w(certi\014cate)p 1068 2456 V 52 w(set)p -1272 2456 V 54 w(x509)p 1574 2456 V 55 w(k)m(ey)p 1812 -2456 V 53 w(\014le)3350 2651 y FB([F)-8 b(unction])-3599 +1844 y Fn(Since:)41 b FB(2.4.0)150 2047 y Fv(gn)m(utls)p +483 2047 37 5 v 55 w(certi\014cate)p 1068 2047 V 52 w(set)p +1272 2047 V 54 w(x509)p 1574 2047 V 55 w(k)m(ey)p 1812 +2047 V 53 w(\014le)3350 2247 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q(key)q(_fi)q(le)565 -2760 y Fg(\()p Ff(gn)m(utls)p 846 2760 28 4 v 41 w(certi\014cate)p -1274 2760 V 42 w(creden)m(tials)p 1737 2760 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(certfile)12 -b Ff(,)32 b(const)f(c)m(har)g(*)565 2870 y Fe(keyfile)12 -b Ff(,)32 b(gn)m(utls)p 1244 2870 V 41 w(x509)p 1468 -2870 V 41 w(crt)p 1620 2870 V 40 w(fm)m(t)p 1796 2870 -V 41 w(t)e Fe(type)12 b Fg(\))390 2980 y Ff(res)t FB(:)40 -b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 3113 y Ff(cert\014le)5 b FB(:)39 -b(is)26 b(a)g(\014le)g(that)h(con)m(taining)g(the)f(certi\014cate)i -(list)e(\(path\))h(for)e(the)h(sp)s(eci\014ed)f(priv)-5 -b(ate)26 b(k)m(ey)-8 b(,)390 3223 y(in)30 b(PK)m(CS7)g(format,)h(or)f -(a)h(list)g(of)g(certi\014cates)390 3356 y Ff(k)m(ey\014le)5 -b FB(:)42 b(is)30 b(a)h(\014le)f(that)h(con)m(tains)h(the)e(priv)-5 -b(ate)31 b(k)m(ey)390 3490 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(is)30 b(PEM)h(or)f(DER)390 3623 y(This)d(function)h(sets)h(a)g +2356 y Fg(\()p Ff(gn)m(utls)p 846 2356 28 4 v 41 w(certi\014cate)p +1274 2356 V 42 w(creden)m(tials)p 1737 2356 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g Fe(CERTFILE)p +Ff(,)i(const)e(c)m(har)g(*)565 2466 y Fe(KEYFILE)p Ff(,)i(gn)m(utls)p +1233 2466 V 40 w(x509)p 1456 2466 V 42 w(crt)p 1609 2466 +V 40 w(fm)m(t)p 1785 2466 V 40 w(t)e Fe(type)12 b Fg(\))390 +2575 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_crede)o +(ntia)o(ls_)o(t)25 b FB(structure.)390 2713 y Ff(CER)-8 +b(TFILE)5 b FB(:)25 b(is)h(a)f(\014le)h(that)g(con)m(taining)h(the)e +(certi\014cate)i(list)f(\(path\))g(for)f(the)h(sp)s(eci\014ed)e(priv)-5 +b(ate)390 2823 y(k)m(ey)d(,)32 b(in)e(PK)m(CS7)g(format,)h(or)f(a)h +(list)g(of)f(certi\014cates)390 2960 y Ff(KEYFILE)5 b +FB(:)30 b(is)h(a)g(\014le)f(that)h(con)m(tains)h(the)e(priv)-5 +b(ate)31 b(k)m(ey)390 3098 y Ff(t)m(yp)s(e)5 b FB(:)41 +b(is)30 b(PEM)h(or)f(DER)390 3235 y(This)d(function)h(sets)h(a)g (certi\014cate/priv)-5 b(ate)31 b(k)m(ey)e(pair)f(in)g(the)h(gn)m(utls) -p 2789 3623 V 40 w(certi\014cate)p 3216 3623 V 42 w(creden)m(tials)p -3679 3623 V 42 w(t)390 3733 y(structure.)153 b(This)67 +p 2789 3235 V 40 w(certi\014cate)p 3216 3235 V 42 w(creden)m(tials)p +3679 3235 V 42 w(t)390 3345 y(structure.)153 b(This)67 b(function)g(ma)m(y)h(b)s(e)g(called)h(more)f(than)f(once)i(\(in)e -(case)i(m)m(ultiple)390 3842 y(k)m(eys/certi\014cates)33 -b(exist)f(for)e(the)g(serv)m(er\).)390 3976 y(Curren)m(tly)40 +(case)i(m)m(ultiple)390 3455 y(k)m(eys/certi\014cates)33 +b(exist)f(for)e(the)g(serv)m(er\).)390 3592 y(Curren)m(tly)40 b(only)h(PK)m(CS-1)g(enco)s(ded)g(RSA)f(and)h(DSA)g(priv)-5 b(ate)41 b(k)m(eys)h(are)f(accepted)h(b)m(y)f(this)390 -4085 y(function.)390 4219 y Fn(Returns:)f Fs(GNUTLS_E_SUCCESS)26 +3702 y(function.)390 3839 y Fn(Returns:)f Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -4416 y Fu(gn)m(utls)p 483 4416 37 5 v 55 w(certi\014cate)p -1068 4416 V 52 w(set)p 1272 4416 V 54 w(x509)p 1574 4416 -V 55 w(k)m(ey)p 1812 4416 V 53 w(mem)3350 4611 y FB([F)-8 +4042 y Fv(gn)m(utls)p 483 4042 37 5 v 55 w(certi\014cate)p +1068 4042 V 52 w(set)p 1272 4042 V 54 w(x509)p 1574 4042 +V 55 w(k)m(ey)p 1812 4042 V 53 w(mem)3350 4242 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q -(key)q(_me)q(m)565 4720 y Fg(\()p Ff(gn)m(utls)p 846 -4720 28 4 v 41 w(certi\014cate)p 1274 4720 V 42 w(creden)m(tials)p -1737 4720 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p -2546 4720 V 40 w(datum)p 2844 4720 V 40 w(t)g(*)f Fe(cert)12 -b Ff(,)32 b(const)565 4830 y(gn)m(utls)p 811 4830 V 41 -w(datum)p 1110 4830 V 39 w(t)f(*)g Fe(key)12 b Ff(,)31 -b(gn)m(utls)p 1755 4830 V 40 w(x509)p 1978 4830 V 41 -w(crt)p 2130 4830 V 41 w(fm)m(t)p 2307 4830 V 40 w(t)g -Fe(type)12 b Fg(\))390 4940 y Ff(res)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 b -FB(structure.)390 5073 y Ff(cert)r FB(:)41 b(con)m(tains)32 -b(a)f(certi\014cate)h(list)f(\(path\))g(for)f(the)h(sp)s(eci\014ed)e -(priv)-5 b(ate)31 b(k)m(ey)390 5206 y Ff(k)m(ey)8 b FB(:)41 -b(is)31 b(the)f(priv)-5 b(ate)31 b(k)m(ey)-8 b(,)32 b(or)e -Fs(NULL)390 5340 y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 -b(PEM)h(or)f(DER)p eop end -%%Page: 126 132 -TeXDict begin 126 131 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(126)390 299 y(This)27 -b(function)h(sets)h(a)g(certi\014cate/priv)-5 b(ate)31 -b(k)m(ey)e(pair)f(in)g(the)h(gn)m(utls)p 2789 299 28 -4 v 40 w(certi\014cate)p 3216 299 V 42 w(creden)m(tials)p -3679 299 V 42 w(t)390 408 y(structure.)153 b(This)67 +(key)q(_me)q(m)565 4351 y Fg(\()p Ff(gn)m(utls)p 846 +4351 28 4 v 41 w(certi\014cate)p 1274 4351 V 42 w(creden)m(tials)p +1737 4351 V 41 w(t)31 b Fe(res)p Ff(,)h(const)e(gn)m(utls)p +2534 4351 V 41 w(datum)p 2833 4351 V 39 w(t)h(*)g Fe(cert)p +Ff(,)h(const)565 4461 y(gn)m(utls)p 811 4461 V 41 w(datum)p +1110 4461 V 39 w(t)f(*)g Fe(key)p Ff(,)g(gn)m(utls)p +1743 4461 V 40 w(x509)p 1966 4461 V 42 w(crt)p 2119 4461 +V 40 w(fm)m(t)p 2295 4461 V 40 w(t)g Fe(type)12 b Fg(\))390 +4570 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft(gnutls_certificate_crede)o +(ntia)o(ls_)o(t)25 b FB(structure.)390 4708 y Ff(cert)r +FB(:)41 b(con)m(tains)32 b(a)f(certi\014cate)h(list)f(\(path\))g(for)f +(the)h(sp)s(eci\014ed)e(priv)-5 b(ate)31 b(k)m(ey)390 +4846 y Ff(k)m(ey)8 b FB(:)41 b(is)31 b(the)f(priv)-5 +b(ate)31 b(k)m(ey)-8 b(,)32 b(or)e Ft(NULL)390 4983 y +Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(PEM)h(or)f(DER)390 +5121 y(This)d(function)h(sets)h(a)g(certi\014cate/priv)-5 +b(ate)31 b(k)m(ey)e(pair)f(in)g(the)h(gn)m(utls)p 2789 +5121 V 40 w(certi\014cate)p 3216 5121 V 42 w(creden)m(tials)p +3679 5121 V 42 w(t)390 5230 y(structure.)153 b(This)67 b(function)g(ma)m(y)h(b)s(e)g(called)h(more)f(than)f(once)i(\(in)e -(case)i(m)m(ultiple)390 518 y(k)m(eys/certi\014cates)33 -b(exist)f(for)e(the)g(serv)m(er\).)390 648 y Fn(Curren)m(tly)g(are)h -(supp)s(orted:)39 b FB(RSA)30 b(PK)m(CS-1)h(enco)s(ded)f(priv)-5 -b(ate)30 b(k)m(eys,)i(DSA)e(priv)-5 b(ate)31 b(k)m(eys.)390 -777 y(DSA)i(priv)-5 b(ate)33 b(k)m(eys)g(are)g(enco)s(ded)g(the)g(Op)s -(enSSL)d(w)m(a)m(y)-8 b(,)35 b(whic)m(h)d(is)h(an)f(ASN.1)i(DER)f -(sequence)390 887 y(of)e(6)f(INTEGERs)g(-)h(v)m(ersion,)g(p,)f(q,)g(g,) -h(pub,)e(priv.)390 1017 y(Note)d(that)f(the)g(k)m(eyUsage)i -(\(2.5.29.15\))h(PKIX)c(extension)i(in)e(X.509)i(certi\014cates)h(is)e -(supp)s(orted.)390 1126 y(This)i(means)h(that)h(certi\014cates)h(in)m -(tended)e(for)f(signing)i(cannot)f(b)s(e)f(used)h(for)f(ciphersuites)h -(that)390 1236 y(require)i(encryption.)390 1366 y(If)d(the)g -(certi\014cate)i(and)e(the)g(priv)-5 b(ate)28 b(k)m(ey)g(are)f(giv)m -(en)h(in)f(PEM)g(enco)s(ding)g(then)g(the)g(strings)g(that)390 -1475 y(hold)j(their)g(v)-5 b(alues)31 b(m)m(ust)f(b)s(e)g(n)m(ull)g -(terminated.)390 1605 y(The)i Fs(key)f FB(ma)m(y)i(b)s(e)f -Fs(NULL)f FB(if)i(y)m(ou)g(are)f(using)g(a)h(sign)f(callbac)m(k,)k(see) -d Fs(gnutls_sign_callback_)390 1715 y(set\(\))p FB(.)390 -1844 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 2034 y Fu(gn)m(utls)p -483 2034 37 5 v 55 w(certi\014cate)p 1068 2034 V 52 w(set)p -1272 2034 V 54 w(x509)p 1574 2034 V 55 w(k)m(ey)3350 -2221 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q -(t_x5)q(09_)q(key)565 2331 y Fg(\()p Ff(gn)m(utls)p 846 -2331 28 4 v 41 w(certi\014cate)p 1274 2331 V 42 w(creden)m(tials)p -1737 2331 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2308 2331 V 41 w(x509)p 2532 2331 V 41 w(crt)p 2684 2331 -V 40 w(t)g(*)g Fe(cert_list)12 b Ff(,)32 b(in)m(t)565 -2440 y Fe(cert_list_size)12 b Ff(,)34 b(gn)m(utls)p 1610 -2440 V 41 w(x509)p 1834 2440 V 41 w(privk)m(ey)p 2168 -2440 V 40 w(t)d Fe(key)12 b Fg(\))390 2550 y Ff(res)t -FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 2680 y Ff(cert)p 547 2680 V 41 w(list)r +(case)i(m)m(ultiple)390 5340 y(k)m(eys/certi\014cates)33 +b(exist)f(for)e(the)g(serv)m(er\).)p eop end +%%Page: 128 134 +TeXDict begin 128 133 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(128)390 299 y +Fn(Curren)m(tly)30 b(are)h(supp)s(orted:)39 b FB(RSA)30 +b(PK)m(CS-1)h(enco)s(ded)f(priv)-5 b(ate)30 b(k)m(eys,)i(DSA)e(priv)-5 +b(ate)31 b(k)m(eys.)390 433 y(DSA)i(priv)-5 b(ate)33 +b(k)m(eys)g(are)g(enco)s(ded)g(the)g(Op)s(enSSL)d(w)m(a)m(y)-8 +b(,)35 b(whic)m(h)d(is)h(an)f(ASN.1)i(DER)f(sequence)390 +543 y(of)e(6)f(INTEGERs)g(-)h(v)m(ersion,)g(p,)f(q,)g(g,)h(pub,)e +(priv.)390 677 y(Note)d(that)f(the)g(k)m(eyUsage)i(\(2.5.29.15\))h +(PKIX)c(extension)i(in)e(X.509)i(certi\014cates)h(is)e(supp)s(orted.) +390 786 y(This)i(means)h(that)h(certi\014cates)h(in)m(tended)e(for)f +(signing)i(cannot)f(b)s(e)f(used)h(for)f(ciphersuites)h(that)390 +896 y(require)i(encryption.)390 1030 y(If)d(the)g(certi\014cate)i(and)e +(the)g(priv)-5 b(ate)28 b(k)m(ey)g(are)f(giv)m(en)h(in)f(PEM)g(enco)s +(ding)g(then)g(the)g(strings)g(that)390 1140 y(hold)j(their)g(v)-5 +b(alues)31 b(m)m(ust)f(b)s(e)g(n)m(ull)g(terminated.)390 +1274 y(The)i Ft(key)f FB(ma)m(y)i(b)s(e)f Ft(NULL)f FB(if)i(y)m(ou)g +(are)f(using)g(a)h(sign)f(callbac)m(k,)k(see)d Ft +(gnutls_sign_callback_)390 1383 y(set\(\))p FB(.)390 +1517 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1716 y Fv(gn)m(utls)p +483 1716 37 5 v 55 w(certi\014cate)p 1068 1716 V 52 w(set)p +1272 1716 V 54 w(x509)p 1574 1716 V 55 w(k)m(ey)3350 +1912 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q +(t_x5)q(09_)q(key)565 2021 y Fg(\()p Ff(gn)m(utls)p 846 +2021 28 4 v 41 w(certi\014cate)p 1274 2021 V 42 w(creden)m(tials)p +1737 2021 V 41 w(t)31 b Fe(res)p Ff(,)h(gn)m(utls)p 2297 +2021 V 40 w(x509)p 2520 2021 V 41 w(crt)p 2672 2021 V +41 w(t)e(*)h Fe(cert_list)p Ff(,)i(in)m(t)565 2131 y +Fe(cert_list_size)p Ff(,)i(gn)m(utls)p 1599 2131 V 40 +w(x509)p 1822 2131 V 42 w(privk)m(ey)p 2157 2131 V 40 +w(t)c Fe(key)12 b Fg(\))390 2240 y Ff(res)t FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 +b FB(structure.)390 2375 y Ff(cert)p 547 2375 V 41 w(list)r FB(:)41 b(con)m(tains)32 b(a)e(certi\014cate)j(list)e(\(path\))g(for)f (the)g(sp)s(eci\014ed)g(priv)-5 b(ate)31 b(k)m(ey)390 -2809 y Ff(cert)p 547 2809 V 41 w(list)p 709 2809 V 40 +2509 y Ff(cert)p 547 2509 V 41 w(list)p 709 2509 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)h(size)g(of)f(the)h(certi\014cate)h -(list)390 2939 y Ff(k)m(ey)8 b FB(:)41 b(is)31 b(a)f(gn)m(utls)p -1010 2939 V 41 w(x509)p 1234 2939 V 41 w(privk)m(ey)p -1568 2939 V 40 w(t)h(k)m(ey)390 3069 y(This)c(function)h(sets)h(a)g +(list)390 2643 y Ff(k)m(ey)8 b FB(:)41 b(is)31 b(a)f(gn)m(utls)p +1010 2643 V 41 w(x509)p 1234 2643 V 41 w(privk)m(ey)p +1568 2643 V 40 w(t)h(k)m(ey)390 2777 y(This)c(function)h(sets)h(a)g (certi\014cate/priv)-5 b(ate)31 b(k)m(ey)e(pair)f(in)g(the)h(gn)m(utls) -p 2789 3069 V 40 w(certi\014cate)p 3216 3069 V 42 w(creden)m(tials)p -3679 3069 V 42 w(t)390 3178 y(structure.)153 b(This)67 +p 2789 2777 V 40 w(certi\014cate)p 3216 2777 V 42 w(creden)m(tials)p +3679 2777 V 42 w(t)390 2886 y(structure.)153 b(This)67 b(function)g(ma)m(y)h(b)s(e)g(called)h(more)f(than)f(once)i(\(in)e -(case)i(m)m(ultiple)390 3288 y(k)m(eys/certi\014cates)33 -b(exist)f(for)e(the)g(serv)m(er\).)390 3418 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)390 3547 y Fn(Since:)41 b FB(2.4.0)150 3737 y Fu(gn)m(utls)p -483 3737 37 5 v 55 w(certi\014cate)p 1068 3737 V 52 w(set)p -1272 3737 V 54 w(x509)p 1574 3737 V 55 w(simple)p 1971 -3737 V 55 w(pk)m(cs12)p 2381 3737 V 54 w(\014le)3350 -3924 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q -(t_x5)q(09_)q(sim)q(ple)q(_pkc)q(s12)q(_fi)q(le)565 4034 -y Fg(\()p Ff(gn)m(utls)p 846 4034 28 4 v 41 w(certi\014cate)p -1274 4034 V 42 w(creden)m(tials)p 1737 4034 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(pkcs12file)12 -b Ff(,)565 4143 y(gn)m(utls)p 811 4143 V 41 w(x509)p -1035 4143 V 41 w(crt)p 1187 4143 V 40 w(fm)m(t)p 1363 -4143 V 41 w(t)30 b Fe(type)12 b Ff(,)32 b(const)e(c)m(har)h(*)g -Fe(password)12 b Fg(\))390 4253 y Ff(res)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 b -FB(structure.)390 4383 y Ff(pk)m(cs12\014le)5 b FB(:)42 -b(\014lename)31 b(of)f(\014le)h(con)m(taining)h(PK)m(CS)p -Fs(12)d FB(blob.)390 4512 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(is)30 b(PEM)h(or)f(DER)h(of)f(the)h Fs(pkcs12file)p -FB(.)390 4642 y Ff(passw)m(ord)t FB(:)40 b(optional)31 -b(passw)m(ord)f(used)f(to)j(decrypt)e(PK)m(CS)p Fs(12)f -FB(\014le,)h(bags)h(and)f(k)m(eys.)390 4772 y(This)86 -b(function)g(sets)i(a)f(certi\014cate/priv)-5 b(ate)89 -b(k)m(ey)f(pair)e(and/or)h(a)g(CRL)f(in)h(the)390 4881 -y(gn)m(utls)p 636 4881 V 40 w(certi\014cate)p 1063 4881 -V 43 w(creden)m(tials)p 1527 4881 V 41 w(t)45 b(structure.)84 -b(This)44 b(function)h(ma)m(y)h(b)s(e)e(called)i(more)f(than)390 -4991 y(once)31 b(\(in)f(case)i(m)m(ultiple)f(k)m(eys/certi\014cates)i -(exist)f(for)e(the)g(serv)m(er\).)390 5121 y Fn(MA)m(C:)i -FB(ed)f(PK)m(CS)p Fs(12)f FB(\014les)h(are)h(supp)s(orted.)42 -b(Encrypted)31 b(PK)m(CS)p Fs(12)f FB(bags)h(are)h(supp)s(orted.)42 -b(En-)390 5230 y(crypted)32 b(PK)m(CS)p Fs(8)f FB(priv)-5 -b(ate)32 b(k)m(eys)h(are)f(supp)s(orted.)44 b(Ho)m(w)m(ev)m(er,)35 -b(only)d(passw)m(ord)g(based)f(securit)m(y)-8 b(,)390 -5340 y(and)30 b(the)g(same)h(passw)m(ord)f(for)g(all)h(op)s(erations,)g -(are)g(supp)s(orted.)p eop end -%%Page: 127 133 -TeXDict begin 127 132 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(127)390 299 y(The)29 -b(priv)-5 b(ate)29 b(k)m(eys)h(ma)m(y)g(b)s(e)f(RSA)g(PK)m(CS)p -Fs(1)f FB(or)h(DSA)h(priv)-5 b(ate)29 b(k)m(eys)h(enco)s(ded)f(in)g -(the)h(Op)s(enSSL)390 408 y(w)m(a)m(y)-8 b(.)390 545 -y(PK)m(CS)p Fs(12)44 b FB(\014le)i(ma)m(y)g(con)m(tain)h(man)m(y)e(k)m -(eys)h(and/or)g(certi\014cates,)51 b(and)45 b(there)h(is)f(no)h(w)m(a)m -(y)g(to)390 655 y(iden)m(tify)31 b(whic)m(h)f(k)m(ey/certi\014cate)k -(pair)d(y)m(ou)g(w)m(an)m(t.)42 b(Y)-8 b(ou)31 b(should)f(mak)m(e)i -(sure)e(the)h(PK)m(CS)p Fs(12)e FB(\014le)390 764 y(only)h(con)m(tain)i -(one)f(k)m(ey/certi\014cate)j(pair)c(and/or)g(one)h(CRL.)390 -901 y(It)j(is)h(b)s(eliev)m(ed)g(that)g(the)f(limitations)i(of)f(this)f -(function)g(is)g(acceptable)j(for)d(most)g(usage,)j(and)390 -1010 y(that)g(an)m(y)g(more)f(\015exibilit)m(y)h(w)m(ould)g(in)m(tro)s -(duce)f(complexit)m(y)i(that)f(w)m(ould)f(mak)m(e)h(it)g(harder)e(to) -390 1120 y(use)30 b(this)g(functionalit)m(y)i(at)f(all.)390 -1257 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 1458 y Fu(gn)m(utls)p -483 1458 37 5 v 55 w(certi\014cate)p 1068 1458 V 52 w(set)p -1272 1458 V 54 w(x509)p 1574 1458 V 55 w(simple)p 1971 -1458 V 55 w(pk)m(cs12)p 2381 1458 V 54 w(mem)3350 1657 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5) -q(09_)q(sim)q(ple)q(_pkc)q(s12)q(_me)q(m)565 1766 y Fg(\()p -Ff(gn)m(utls)p 846 1766 28 4 v 41 w(certi\014cate)p 1274 -1766 V 42 w(creden)m(tials)p 1737 1766 V 41 w(t)31 b -Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p 2546 1766 V -40 w(datum)f(*)h Fe(p12blob)12 b Ff(,)565 1876 y(gn)m(utls)p -811 1876 V 41 w(x509)p 1035 1876 V 41 w(crt)p 1187 1876 -V 40 w(fm)m(t)p 1363 1876 V 41 w(t)30 b Fe(type)12 b -Ff(,)32 b(const)e(c)m(har)h(*)g Fe(password)12 b Fg(\))390 -1986 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o -(ials)o(_t)24 b FB(structure.)390 2122 y Ff(p12blob)r -FB(:)41 b(the)30 b(PK)m(CS)p Fs(12)f FB(blob.)390 2259 -y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(PEM)h(or)f(DER)h(of)f(the)h -Fs(pkcs12file)p FB(.)390 2395 y Ff(passw)m(ord)t FB(:)40 +(case)i(m)m(ultiple)390 2996 y(k)m(eys/certi\014cates)33 +b(exist)f(for)e(the)g(serv)m(er\).)390 3130 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s +(de.)390 3264 y Fn(Since:)41 b FB(2.4.0)150 3463 y Fv(gn)m(utls)p +483 3463 37 5 v 55 w(certi\014cate)p 1068 3463 V 52 w(set)p +1272 3463 V 54 w(x509)p 1574 3463 V 55 w(simple)p 1971 +3463 V 55 w(pk)m(cs12)p 2381 3463 V 54 w(\014le)3350 +3659 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q +(t_x5)q(09_)q(sim)q(ple)q(_pkc)q(s12)q(_fi)q(le)565 3768 +y Fg(\()p Ff(gn)m(utls)p 846 3768 28 4 v 41 w(certi\014cate)p +1274 3768 V 42 w(creden)m(tials)p 1737 3768 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g Fe(pkcs12file)p +Ff(,)565 3878 y(gn)m(utls)p 811 3878 V 41 w(x509)p 1035 +3878 V 41 w(crt)p 1187 3878 V 40 w(fm)m(t)p 1363 3878 +V 41 w(t)f Fe(type)p Ff(,)i(const)f(c)m(har)g(*)f Fe(password)12 +b Fg(\))390 3987 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 b FB(structure.)390 +4122 y Ff(pk)m(cs12\014le)5 b FB(:)42 b(\014lename)31 +b(of)f(\014le)h(con)m(taining)h(PK)m(CS)p Ft(12)d FB(blob.)390 +4256 y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(PEM)h(or)f(DER)h(of)f(the)h +Ft(pkcs12file)p FB(.)390 4390 y Ff(passw)m(ord)t FB(:)40 b(optional)31 b(passw)m(ord)f(used)f(to)j(decrypt)e(PK)m(CS)p -Fs(12)f FB(\014le,)h(bags)h(and)f(k)m(eys.)390 2532 y(This)86 +Ft(12)f FB(\014le,)h(bags)h(and)f(k)m(eys.)390 4524 y(This)86 b(function)g(sets)i(a)f(certi\014cate/priv)-5 b(ate)89 -b(k)m(ey)f(pair)e(and/or)h(a)g(CRL)f(in)h(the)390 2642 -y(gn)m(utls)p 636 2642 V 40 w(certi\014cate)p 1063 2642 -V 43 w(creden)m(tials)p 1527 2642 V 41 w(t)45 b(structure.)84 +b(k)m(ey)f(pair)e(and/or)h(a)g(CRL)f(in)h(the)390 4633 +y(gn)m(utls)p 636 4633 V 40 w(certi\014cate)p 1063 4633 +V 43 w(creden)m(tials)p 1527 4633 V 41 w(t)45 b(structure.)84 b(This)44 b(function)h(ma)m(y)h(b)s(e)e(called)i(more)f(than)390 -2751 y(once)31 b(\(in)f(case)i(m)m(ultiple)f(k)m(eys/certi\014cates)i -(exist)f(for)e(the)g(serv)m(er\).)390 2888 y Fn(MA)m(C:)i -FB(ed)f(PK)m(CS)p Fs(12)f FB(\014les)h(are)h(supp)s(orted.)42 -b(Encrypted)31 b(PK)m(CS)p Fs(12)f FB(bags)h(are)h(supp)s(orted.)42 -b(En-)390 2997 y(crypted)32 b(PK)m(CS)p Fs(8)f FB(priv)-5 +4743 y(once)31 b(\(in)f(case)i(m)m(ultiple)f(k)m(eys/certi\014cates)i +(exist)f(for)e(the)g(serv)m(er\).)390 4877 y Fn(MA)m(C:)i +FB(ed)f(PK)m(CS)p Ft(12)f FB(\014les)h(are)h(supp)s(orted.)42 +b(Encrypted)31 b(PK)m(CS)p Ft(12)f FB(bags)h(are)h(supp)s(orted.)42 +b(En-)390 4987 y(crypted)32 b(PK)m(CS)p Ft(8)f FB(priv)-5 b(ate)32 b(k)m(eys)h(are)f(supp)s(orted.)44 b(Ho)m(w)m(ev)m(er,)35 b(only)d(passw)m(ord)g(based)f(securit)m(y)-8 b(,)390 -3107 y(and)30 b(the)g(same)h(passw)m(ord)f(for)g(all)h(op)s(erations,)g -(are)g(supp)s(orted.)390 3243 y(The)e(priv)-5 b(ate)29 -b(k)m(eys)h(ma)m(y)g(b)s(e)f(RSA)g(PK)m(CS)p Fs(1)f FB(or)h(DSA)h(priv) +5096 y(and)30 b(the)g(same)h(passw)m(ord)f(for)g(all)h(op)s(erations,)g +(are)g(supp)s(orted.)390 5230 y(The)e(priv)-5 b(ate)29 +b(k)m(eys)h(ma)m(y)g(b)s(e)f(RSA)g(PK)m(CS)p Ft(1)f FB(or)h(DSA)h(priv) -5 b(ate)29 b(k)m(eys)h(enco)s(ded)f(in)g(the)h(Op)s(enSSL)390 -3353 y(w)m(a)m(y)-8 b(.)390 3490 y(PK)m(CS)p Fs(12)44 -b FB(\014le)i(ma)m(y)g(con)m(tain)h(man)m(y)e(k)m(eys)h(and/or)g -(certi\014cates,)51 b(and)45 b(there)h(is)f(no)h(w)m(a)m(y)g(to)390 -3599 y(iden)m(tify)31 b(whic)m(h)f(k)m(ey/certi\014cate)k(pair)d(y)m -(ou)g(w)m(an)m(t.)42 b(Y)-8 b(ou)31 b(should)f(mak)m(e)i(sure)e(the)h -(PK)m(CS)p Fs(12)e FB(\014le)390 3709 y(only)h(con)m(tain)i(one)f(k)m -(ey/certi\014cate)j(pair)c(and/or)g(one)h(CRL.)390 3845 -y(It)j(is)h(b)s(eliev)m(ed)g(that)g(the)f(limitations)i(of)f(this)f +5340 y(w)m(a)m(y)-8 b(.)p eop end +%%Page: 129 135 +TeXDict begin 129 134 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(129)390 299 y(PK)m(CS)p +Ft(12)44 b FB(\014le)i(ma)m(y)g(con)m(tain)h(man)m(y)e(k)m(eys)h +(and/or)g(certi\014cates,)51 b(and)45 b(there)h(is)f(no)h(w)m(a)m(y)g +(to)390 408 y(iden)m(tify)31 b(whic)m(h)f(k)m(ey/certi\014cate)k(pair)d +(y)m(ou)g(w)m(an)m(t.)42 b(Y)-8 b(ou)31 b(should)f(mak)m(e)i(sure)e +(the)h(PK)m(CS)p Ft(12)e FB(\014le)390 518 y(only)h(con)m(tain)i(one)f +(k)m(ey/certi\014cate)j(pair)c(and/or)g(one)h(CRL.)390 +645 y(It)j(is)h(b)s(eliev)m(ed)g(that)g(the)f(limitations)i(of)f(this)f (function)g(is)g(acceptable)j(for)d(most)g(usage,)j(and)390 -3955 y(that)g(an)m(y)g(more)f(\015exibilit)m(y)h(w)m(ould)g(in)m(tro)s +755 y(that)g(an)m(y)g(more)f(\015exibilit)m(y)h(w)m(ould)g(in)m(tro)s (duce)f(complexit)m(y)i(that)f(w)m(ould)f(mak)m(e)h(it)g(harder)e(to) -390 4065 y(use)30 b(this)g(functionalit)m(y)i(at)f(all.)390 -4201 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)390 4338 y Fn(Since:)41 -b FB(2.8.0)150 4539 y Fu(gn)m(utls)p 483 4539 37 5 v -55 w(certi\014cate)p 1068 4539 V 52 w(set)p 1272 4539 -V 54 w(x509)p 1574 4539 V 55 w(trust)p 1891 4539 V 54 -w(\014le)3350 4738 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_certificate_se)q(t_x5)q(09_)q(tru)q(st_)q(file)565 -4848 y Fg(\()p Ff(gn)m(utls)p 846 4848 28 4 v 41 w(certi\014cate)p -1274 4848 V 42 w(creden)m(tials)p 1737 4848 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(cafile)12 -b Ff(,)565 4957 y(gn)m(utls)p 811 4957 V 41 w(x509)p -1035 4957 V 41 w(crt)p 1187 4957 V 40 w(fm)m(t)p 1363 -4957 V 41 w(t)30 b Fe(type)12 b Fg(\))390 5067 y Ff(res)t -FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 5203 y Ff(ca\014le)5 b FB(:)42 b(is)30 +390 865 y(use)30 b(this)g(functionalit)m(y)i(at)f(all.)390 +992 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1177 y Fv(gn)m(utls)p +483 1177 37 5 v 55 w(certi\014cate)p 1068 1177 V 52 w(set)p +1272 1177 V 54 w(x509)p 1574 1177 V 55 w(trust)p 1891 +1177 V 54 w(\014le)3350 1359 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q(tru)q(st_)q(file)565 +1469 y Fg(\()p Ff(gn)m(utls)p 846 1469 28 4 v 41 w(certi\014cate)p +1274 1469 V 42 w(creden)m(tials)p 1737 1469 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g Fe(cafile)p Ff(,)565 +1578 y(gn)m(utls)p 811 1578 V 41 w(x509)p 1035 1578 V +41 w(crt)p 1187 1578 V 40 w(fm)m(t)p 1363 1578 V 41 w(t)f +Fe(type)12 b Fg(\))390 1688 y Ff(res)t FB(:)40 b(is)31 +b(an)f Ft(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 +b FB(structure.)390 1815 y Ff(ca\014le)5 b FB(:)42 b(is)30 b(a)h(\014le)f(con)m(taining)i(the)f(list)g(of)f(trusted)g(CAs)g(\(DER) -h(or)g(PEM)f(list\))390 5340 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(is)30 b(PEM)h(or)f(DER)p eop end -%%Page: 128 134 -TeXDict begin 128 133 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(128)390 299 y(This)40 -b(function)g(adds)g(the)h(trusted)g(CAs)f(in)h(order)f(to)h(v)m(erify)h -(clien)m(t)g(or)f(serv)m(er)g(certi\014cates.)390 408 -y(In)33 b(case)h(of)g(a)g(clien)m(t)h(this)f(is)f(not)h(required)f(to)h -(b)s(e)f(called)h(if)g(the)g(certi\014cates)h(are)f(not)g(v)m -(eri\014ed)390 518 y(using)25 b Fs(gnutls_certificate_veri)o(fy_)o -(peer)o(s2\(\))o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e -(called)i(m)m(ultiple)390 628 y(times.)390 787 y(In)21 -b(case)i(of)f(a)g(serv)m(er)h(the)f(names)g(of)g(the)g(CAs)f(set)i -(here)f(will)g(b)s(e)f(sen)m(t)h(to)h(the)f(clien)m(t)i(if)e(a)g -(certi\014cate)390 896 y(request)37 b(is)f(sen)m(t.)60 -b(This)36 b(can)h(b)s(e)f(disabled)g(using)g Fs -(gnutls_certificate_send_)o(x509)o(_rdn)o(_)390 1006 -y(sequence\(\))p FB(.)390 1165 y Fn(Returns:)k FB(n)m(um)m(b)s(er)29 +h(or)g(PEM)f(list\))390 1943 y Ff(t)m(yp)s(e)5 b FB(:)41 +b(is)30 b(PEM)h(or)f(DER)390 2070 y(This)40 b(function)g(adds)g(the)h +(trusted)g(CAs)f(in)h(order)f(to)h(v)m(erify)h(clien)m(t)g(or)f(serv)m +(er)g(certi\014cates.)390 2180 y(In)33 b(case)h(of)g(a)g(clien)m(t)h +(this)f(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g +(certi\014cates)h(are)f(not)g(v)m(eri\014ed)390 2289 +y(using)25 b Ft(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o +FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple) +390 2399 y(times.)390 2526 y(In)21 b(case)i(of)f(a)g(serv)m(er)h(the)f +(names)g(of)g(the)g(CAs)f(set)i(here)f(will)g(b)s(e)f(sen)m(t)h(to)h +(the)f(clien)m(t)i(if)e(a)g(certi\014cate)390 2636 y(request)37 +b(is)f(sen)m(t.)60 b(This)36 b(can)h(b)s(e)f(disabled)g(using)g +Ft(gnutls_certificate_send_)o(x509)o(_rdn)o(_)390 2745 +y(sequence\(\))p FB(.)390 2873 y Fn(Returns:)k FB(n)m(um)m(b)s(er)29 b(of)i(certi\014cates)h(pro)s(cessed,)e(or)h(a)f(negativ)m(e)j(v)-5 -b(alue)31 b(on)f(error.)150 1389 y Fu(gn)m(utls)p 483 -1389 37 5 v 55 w(certi\014cate)p 1068 1389 V 52 w(set)p -1272 1389 V 54 w(x509)p 1574 1389 V 55 w(trust)p 1891 -1389 V 54 w(mem)3350 1610 y FB([F)-8 b(unction])-3599 +b(alue)31 b(on)f(error.)150 3058 y Fv(gn)m(utls)p 483 +3058 37 5 v 55 w(certi\014cate)p 1068 3058 V 52 w(set)p +1272 3058 V 54 w(x509)p 1574 3058 V 55 w(trust)p 1891 +3058 V 54 w(mem)3350 3240 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5)q(09_)q(tru)q(st_)q(mem)565 -1720 y Fg(\()p Ff(gn)m(utls)p 846 1720 28 4 v 41 w(certi\014cate)p -1274 1720 V 42 w(creden)m(tials)p 1737 1720 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p 2546 1720 -V 40 w(datum)p 2844 1720 V 40 w(t)g(*)f Fe(ca)12 b Ff(,)565 -1829 y(gn)m(utls)p 811 1829 V 41 w(x509)p 1035 1829 V -41 w(crt)p 1187 1829 V 40 w(fm)m(t)p 1363 1829 V 41 w(t)30 -b Fe(type)12 b Fg(\))390 1939 y Ff(res)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 b -FB(structure.)390 2098 y Ff(ca)p FB(:)42 b(is)30 b(a)h(list)g(of)f -(trusted)g(CAs)g(or)g(a)h(DER)g(certi\014cate)390 2257 -y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(DER)h(or)f(PEM)390 -2416 y(This)40 b(function)g(adds)g(the)h(trusted)g(CAs)f(in)h(order)f -(to)h(v)m(erify)h(clien)m(t)g(or)f(serv)m(er)g(certi\014cates.)390 -2526 y(In)33 b(case)h(of)g(a)g(clien)m(t)h(this)f(is)f(not)h(required)f -(to)h(b)s(e)f(called)h(if)g(the)g(certi\014cates)h(are)f(not)g(v)m -(eri\014ed)390 2636 y(using)25 b Fs(gnutls_certificate_veri)o(fy_)o -(peer)o(s2\(\))o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e -(called)i(m)m(ultiple)390 2745 y(times.)390 2904 y(In)i(case)h(of)f(a)h -(serv)m(er)g(the)f(CAs)g(set)h(here)f(will)h(b)s(e)f(sen)m(t)h(to)g -(the)f(clien)m(t)i(if)e(a)h(certi\014cate)i(request)d(is)390 -3014 y(sen)m(t.)39 b(This)24 b(can)g(b)s(e)g(disabled)g(using)f -Fs(gnutls_certificate_send_x5)o(09_r)o(dn_)o(sequ)o(ence)o(\(\))p -FB(.)390 3173 y Fn(Returns:)40 b FB(the)31 b(n)m(um)m(b)s(er)e(of)i +3350 y Fg(\()p Ff(gn)m(utls)p 846 3350 28 4 v 41 w(certi\014cate)p +1274 3350 V 42 w(creden)m(tials)p 1737 3350 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(gn)m(utls)p 2534 3350 V 41 +w(datum)p 2833 3350 V 39 w(t)h(*)g Fe(ca)p Ff(,)565 3459 +y(gn)m(utls)p 811 3459 V 41 w(x509)p 1035 3459 V 41 w(crt)p +1187 3459 V 40 w(fm)m(t)p 1363 3459 V 41 w(t)f Fe(type)12 +b Fg(\))390 3569 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 b FB(structure.)390 +3696 y Ff(ca)p FB(:)42 b(is)30 b(a)h(list)g(of)f(trusted)g(CAs)g(or)g +(a)h(DER)g(certi\014cate)390 3823 y Ff(t)m(yp)s(e)5 b +FB(:)41 b(is)30 b(DER)h(or)f(PEM)390 3951 y(This)40 b(function)g(adds)g +(the)h(trusted)g(CAs)f(in)h(order)f(to)h(v)m(erify)h(clien)m(t)g(or)f +(serv)m(er)g(certi\014cates.)390 4060 y(In)33 b(case)h(of)g(a)g(clien)m +(t)h(this)f(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g +(certi\014cates)h(are)f(not)g(v)m(eri\014ed)390 4170 +y(using)25 b Ft(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o +FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple) +390 4280 y(times.)390 4407 y(In)i(case)h(of)f(a)h(serv)m(er)g(the)f +(CAs)g(set)h(here)f(will)h(b)s(e)f(sen)m(t)h(to)g(the)f(clien)m(t)i(if) +e(a)h(certi\014cate)i(request)d(is)390 4517 y(sen)m(t.)39 +b(This)24 b(can)g(b)s(e)g(disabled)g(using)f Ft +(gnutls_certificate_send_x5)o(09_r)o(dn_)o(sequ)o(ence)o(\(\))p +FB(.)390 4644 y Fn(Returns:)40 b FB(the)31 b(n)m(um)m(b)s(er)e(of)i (certi\014cates)h(pro)s(cessed)e(or)g(a)h(negativ)m(e)h(v)-5 -b(alue)31 b(on)f(error.)150 3397 y Fu(gn)m(utls)p 483 -3397 37 5 v 55 w(certi\014cate)p 1068 3397 V 52 w(set)p -1272 3397 V 54 w(x509)p 1574 3397 V 55 w(trust)3350 3618 +b(alue)31 b(on)f(error.)150 4829 y Fv(gn)m(utls)p 483 +4829 37 5 v 55 w(certi\014cate)p 1068 4829 V 52 w(set)p +1272 4829 V 54 w(x509)p 1574 4829 V 55 w(trust)3350 5011 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_x5) -q(09_)q(tru)q(st)565 3728 y Fg(\()p Ff(gn)m(utls)p 846 -3728 28 4 v 41 w(certi\014cate)p 1274 3728 V 42 w(creden)m(tials)p -1737 3728 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2308 3728 V 41 w(x509)p 2532 3728 V 41 w(crt)p 2684 3728 -V 40 w(t)g(*)g Fe(ca_list)12 b Ff(,)32 b(in)m(t)565 3837 -y Fe(ca_list_size)12 b Fg(\))390 3947 y Ff(res)t FB(:)40 -b(is)31 b(a)f Fs(gnutls_certificate_credent)o(ials)o(_t)24 -b FB(structure.)390 4106 y Ff(ca)p 481 4106 V 41 w(list)r -FB(:)41 b(is)31 b(a)f(list)h(of)g(trusted)f(CAs)390 4265 -y Ff(ca)p 481 4265 V 41 w(list)p 643 4265 V 41 w(size)5 -b FB(:)41 b(holds)30 b(the)h(size)g(of)f(the)h(CA)f(list)390 -4424 y(This)40 b(function)g(adds)g(the)h(trusted)g(CAs)f(in)h(order)f -(to)h(v)m(erify)h(clien)m(t)g(or)f(serv)m(er)g(certi\014cates.)390 -4534 y(In)33 b(case)h(of)g(a)g(clien)m(t)h(this)f(is)f(not)h(required)f -(to)h(b)s(e)f(called)h(if)g(the)g(certi\014cates)h(are)f(not)g(v)m -(eri\014ed)390 4643 y(using)25 b Fs(gnutls_certificate_veri)o(fy_)o -(peer)o(s2\(\))o FB(.)33 b(This)24 b(function)h(ma)m(y)h(b)s(e)e -(called)i(m)m(ultiple)390 4753 y(times.)390 4912 y(In)i(case)h(of)f(a)h -(serv)m(er)g(the)f(CAs)g(set)h(here)f(will)h(b)s(e)f(sen)m(t)h(to)g -(the)f(clien)m(t)i(if)e(a)h(certi\014cate)i(request)d(is)390 -5022 y(sen)m(t.)39 b(This)24 b(can)g(b)s(e)g(disabled)g(using)f -Fs(gnutls_certificate_send_x5)o(09_r)o(dn_)o(sequ)o(ence)o(\(\))p -FB(.)390 5181 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +q(09_)q(tru)q(st)565 5121 y Fg(\()p Ff(gn)m(utls)p 846 +5121 28 4 v 41 w(certi\014cate)p 1274 5121 V 42 w(creden)m(tials)p +1737 5121 V 41 w(t)31 b Fe(res)p Ff(,)h(gn)m(utls)p 2297 +5121 V 40 w(x509)p 2520 5121 V 41 w(crt)p 2672 5121 V +41 w(t)e(*)h Fe(ca_list)p Ff(,)i(in)m(t)565 5230 y Fe(ca_list_size)12 +b Fg(\))390 5340 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 b FB(structure.)p +eop end +%%Page: 130 136 +TeXDict begin 130 135 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(130)390 299 y +Ff(ca)p 481 299 28 4 v 41 w(list)r FB(:)41 b(is)31 b(a)f(list)h(of)g +(trusted)f(CAs)390 437 y Ff(ca)p 481 437 V 41 w(list)p +643 437 V 41 w(size)5 b FB(:)41 b(holds)30 b(the)h(size)g(of)f(the)h +(CA)f(list)390 575 y(This)40 b(function)g(adds)g(the)h(trusted)g(CAs)f +(in)h(order)f(to)h(v)m(erify)h(clien)m(t)g(or)f(serv)m(er)g +(certi\014cates.)390 685 y(In)33 b(case)h(of)g(a)g(clien)m(t)h(this)f +(is)f(not)h(required)f(to)h(b)s(e)f(called)h(if)g(the)g(certi\014cates) +h(are)f(not)g(v)m(eri\014ed)390 794 y(using)25 b Ft +(gnutls_certificate_veri)o(fy_)o(peer)o(s2\(\))o FB(.)33 +b(This)24 b(function)h(ma)m(y)h(b)s(e)e(called)i(m)m(ultiple)390 +904 y(times.)390 1042 y(In)i(case)h(of)f(a)h(serv)m(er)g(the)f(CAs)g +(set)h(here)f(will)h(b)s(e)f(sen)m(t)h(to)g(the)f(clien)m(t)i(if)e(a)h +(certi\014cate)i(request)d(is)390 1152 y(sen)m(t.)39 +b(This)24 b(can)g(b)s(e)g(disabled)g(using)f Ft +(gnutls_certificate_send_x5)o(09_r)o(dn_)o(sequ)o(ence)o(\(\))p +FB(.)390 1290 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)390 -5340 y Fn(Since:)41 b FB(2.4.0)p eop end -%%Page: 129 135 -TeXDict begin 129 134 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(129)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(t)m(yp)s(e)p 1357 299 V 54 w(get)p 1576 299 -V 54 w(id)3350 497 y FB([F)-8 b(unction])-3599 b Fh -(gnutls_certificate_typ)q(e_t)59 b(gnutls_certificate_typ)q(e_ge)q(t_i) -q(d)565 607 y Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(name)12 -b Fg(\))390 717 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(certi\014cate)h(t)m -(yp)s(e)f(name)390 853 y(The)f(names)g(are)h(compared)f(in)g(a)h(case)h -(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 989 y Fn(Returns:)38 -b FB(a)25 b Fs(gnutls_certificate_type_t)19 b FB(for)25 -b(the)g(sp)s(eci\014ed)g(in)f(a)i(string)f(certi\014cate)j(t)m(yp)s(e,) -390 1099 y(or)i Fs(GNUTLS_CRT_UNKNOWN)c FB(on)k(error.)150 -1300 y Fu(gn)m(utls)p 483 1300 V 55 w(certi\014cate)p -1068 1300 V 52 w(t)m(yp)s(e)p 1357 1300 V 54 w(get)p -1576 1300 V 54 w(name)3350 1499 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_certificate_typ)q(e_g)q(et_n)q(ame) -565 1608 y Fg(\()p Ff(gn)m(utls)p 846 1608 28 4 v 41 -w(certi\014cate)p 1274 1608 V 42 w(t)m(yp)s(e)p 1490 -1608 V 40 w(t)31 b Fe(type)12 b Fg(\))390 1718 y Ff(t)m(yp)s(e)5 -b FB(:)41 b(is)30 b(a)h(certi\014cate)i(t)m(yp)s(e)390 -1854 y(Con)m(v)m(ert)e(a)g Fs(gnutls_certificate_type_)o(t)24 -b FB(t)m(yp)s(e)31 b(to)g(a)g(string.)390 1990 y Fn(Returns:)40 -b FB(a)31 b(string)g(that)g(con)m(tains)g(the)g(name)f(of)h(the)g(sp)s -(eci\014ed)e(certi\014cate)k(t)m(yp)s(e,)e(or)f Fs(NULL)f -FB(in)390 2100 y(case)i(of)g(unkno)m(wn)e(t)m(yp)s(es.)150 -2301 y Fu(gn)m(utls)p 483 2301 37 5 v 55 w(certi\014cate)p -1068 2301 V 52 w(t)m(yp)s(e)p 1357 2301 V 54 w(get)3350 -2500 y FB([F)-8 b(unction])-3599 b Fh(gnutls_certificate_typ)q(e_t)59 -b(gnutls_certificate_typ)q(e_ge)q(t)565 2609 y Fg(\()p -Ff(gn)m(utls)p 846 2609 28 4 v 41 w(session)p 1156 2609 -V 40 w(t)31 b Fe(session)12 b Fg(\))390 2719 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2855 y(The)k(certi\014cate)i(t)m(yp)s(e)f(is)f(b)m(y)h(default)f +1428 y Fn(Since:)41 b FB(2.4.0)150 1631 y Fv(gn)m(utls)p +483 1631 37 5 v 55 w(certi\014cate)p 1068 1631 V 52 w(t)m(yp)s(e)p +1357 1631 V 54 w(get)p 1576 1631 V 54 w(id)3350 1831 +y FB([F)-8 b(unction])-3599 b Fh(gnutls_certificate_typ)q(e_t)59 +b(gnutls_certificate_typ)q(e_ge)q(t_i)q(d)565 1941 y +Fg(\()p Ff(const)31 b(c)m(har*)h Fe(name)12 b Fg(\))390 +2050 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(certi\014cate)h(t)m(yp)s(e)f +(name)390 2188 y(The)f(names)g(are)h(compared)f(in)g(a)h(case)h +(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 2326 y Fn(Returns:)48 +b FB(an)35 b(id)f(of)g(the)h(sp)s(eci\014ed)e(in)h(a)h(string)f +(certi\014cate)j(t)m(yp)s(e,)f(or)e Ft(GNUTLS_CRT_UNKNOWN)390 +2436 y FB(on)c(error.)150 2639 y Fv(gn)m(utls)p 483 2639 +V 55 w(certi\014cate)p 1068 2639 V 52 w(t)m(yp)s(e)p +1357 2639 V 54 w(get)p 1576 2639 V 54 w(name)3350 2839 +y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_certificate_typ)q(e_g)q(et_n)q(ame)565 2949 y +Fg(\()p Ff(gn)m(utls)p 846 2949 28 4 v 41 w(certi\014cate)p +1274 2949 V 42 w(t)m(yp)s(e)p 1490 2949 V 40 w(t)31 b +Fe(type)12 b Fg(\))390 3058 y Ff(t)m(yp)s(e)5 b FB(:)41 +b(is)30 b(a)h(certi\014cate)i(t)m(yp)s(e)390 3196 y(Con)m(v)m(ert)e(a)g +Ft(gnutls_certificate_type_)o(t)24 b FB(t)m(yp)s(e)31 +b(to)g(a)g(string.)390 3334 y Fn(Returns:)40 b FB(a)31 +b(string)g(that)g(con)m(tains)g(the)g(name)f(of)h(the)g(sp)s(eci\014ed) +e(certi\014cate)k(t)m(yp)s(e,)e(or)f Ft(NULL)f FB(in)390 +3444 y(case)i(of)g(unkno)m(wn)e(t)m(yp)s(es.)150 3647 +y Fv(gn)m(utls)p 483 3647 37 5 v 55 w(certi\014cate)p +1068 3647 V 52 w(t)m(yp)s(e)p 1357 3647 V 54 w(get)3350 +3847 y FB([F)-8 b(unction])-3599 b Fh(gnutls_certificate_typ)q(e_t)59 +b(gnutls_certificate_typ)q(e_ge)q(t)565 3957 y Fg(\()p +Ff(gn)m(utls)p 846 3957 28 4 v 41 w(session)p 1156 3957 +V 40 w(t)31 b Fe(session)12 b Fg(\))390 4066 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +4205 y(The)k(certi\014cate)i(t)m(yp)s(e)f(is)f(b)m(y)h(default)f (X.509,)i(unless)e(it)h(is)f(negotiated)j(as)e(a)f(TLS)g(extension.)390 -2991 y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f(used)g -Fs(gnutls_certificate_type_)o(t)24 b FB(certi\014cate)33 -b(t)m(yp)s(e.)150 3192 y Fu(gn)m(utls)p 483 3192 37 5 -v 55 w(certi\014cate)p 1068 3192 V 52 w(t)m(yp)s(e)p -1357 3192 V 54 w(list)3350 3391 y FB([F)-8 b(unction])-3599 +4343 y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f(used)g +Ft(gnutls_certificate_type_)o(t)24 b FB(certi\014cate)33 +b(t)m(yp)s(e.)150 4545 y Fv(gn)m(utls)p 483 4545 37 5 +v 55 w(certi\014cate)p 1068 4545 V 52 w(t)m(yp)s(e)p +1357 4545 V 54 w(list)3350 4746 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(gnutls_certificate_type)q(_t)59 b(*)565 -3501 y(gnutls_certificate_typ)q(e_l)q(ist)52 b Fg(\()31 -b Fe(void)12 b Fg(\))390 3610 y FB(Get)30 b(a)g(list)f(of)h +4855 y(gnutls_certificate_typ)q(e_l)q(ist)52 b Fg(\()31 +b Fe(void)12 b Fg(\))390 4965 y FB(Get)30 b(a)g(list)f(of)h (certi\014cate)h(t)m(yp)s(es.)40 b(Note)31 b(that)e(to)h(b)s(e)f(able)h (to)f(use)g(Op)s(enPGP)f(certi\014cates,)k(y)m(ou)390 -3720 y(m)m(ust)e(link)h(to)g(libgn)m(utls-extra)g(and)f(call)i -Fs(gnutls_global_init_extra)o(\(\))p FB(.)390 3856 y +5075 y(m)m(ust)e(link)h(to)g(libgn)m(utls-extra)g(and)f(call)i +Ft(gnutls_global_init_extra)o(\(\))p FB(.)390 5213 y Fn(Returns:)48 b FB(a)34 b(zero-terminated)i(list)e(of)h -Fs(gnutls_certificate_type)o(_t)28 b FB(in)m(tegers)35 -b(indicating)390 3966 y(the)c(a)m(v)-5 b(ailable)32 b(certi\014cate)h -(t)m(yp)s(es.)150 4167 y Fu(gn)m(utls)p 483 4167 V 55 -w(certi\014cate)p 1068 4167 V 52 w(t)m(yp)s(e)p 1357 -4167 V 54 w(set)p 1563 4167 V 54 w(priorit)m(y)3350 4365 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_ty)q(pe_s) -q(et_)q(pri)q(ori)q(ty)f Fg(\()p Ff(gn)m(utls)p 2569 -4365 28 4 v 40 w(session)p 2878 4365 V 41 w(t)565 4475 -y Fe(session)12 b Ff(,)32 b(const)f(in)m(t)g(*)g Fe(list)12 -b Fg(\))390 4585 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 4721 y Ff(list)r -FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn)m(utls)p -1789 4721 V 40 w(certi\014cate)p 2216 4721 V 42 w(t)m(yp)s(e)p -2432 4721 V 41 w(t)f(elemen)m(ts.)390 4857 y(Sets)45 -b(the)g(priorit)m(y)g(on)f(the)h(certi\014cate)i(t)m(yp)s(es)e(supp)s -(orted)d(b)m(y)j(gn)m(utls.)84 b(Priorit)m(y)46 b(is)e(higher)390 -4967 y(for)34 b(elemen)m(ts)i(sp)s(eci\014ed)e(b)s(efore)g(others.)53 -b(After)35 b(sp)s(ecifying)f(the)g(t)m(yp)s(es)h(y)m(ou)g(w)m(an)m(t,)h -(y)m(ou)f(m)m(ust)390 5076 y(app)s(end)f(a)j(0.)58 b(Note)38 -b(that)f(the)f(certi\014cate)i(t)m(yp)s(e)f(priorit)m(y)f(is)g(set)h -(on)f(the)g(clien)m(t.)60 b(The)36 b(serv)m(er)390 5186 -y(do)s(es)29 b(not)h(use)f(the)g(cert)h(t)m(yp)s(e)f(priorit)m(y)h +Ft(gnutls_certificate_type)o(_t)28 b FB(in)m(tegers)35 +b(indicating)390 5322 y(the)c(a)m(v)-5 b(ailable)32 b(certi\014cate)h +(t)m(yp)s(es.)p eop end +%%Page: 131 137 +TeXDict begin 131 136 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(131)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 +299 V 52 w(t)m(yp)s(e)p 1357 299 V 54 w(set)p 1563 299 +V 54 w(priorit)m(y)3350 507 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_certificate_ty)q(pe_s)q(et_)q(pri)q(ori)q(ty)f +Fg(\()p Ff(gn)m(utls)p 2569 507 28 4 v 40 w(session)p +2878 507 V 41 w(t)565 616 y Fe(session)p Ff(,)33 b(const)e(in)m(t)g(*)f +Fe(list)12 b Fg(\))390 726 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 872 +y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn)m +(utls)p 1789 872 V 40 w(certi\014cate)p 2216 872 V 42 +w(t)m(yp)s(e)p 2432 872 V 41 w(t)f(elemen)m(ts.)390 1017 +y(Sets)45 b(the)g(priorit)m(y)g(on)f(the)h(certi\014cate)i(t)m(yp)s(es) +e(supp)s(orted)d(b)m(y)j(gn)m(utls.)84 b(Priorit)m(y)46 +b(is)e(higher)390 1127 y(for)34 b(elemen)m(ts)i(sp)s(eci\014ed)e(b)s +(efore)g(others.)53 b(After)35 b(sp)s(ecifying)f(the)g(t)m(yp)s(es)h(y) +m(ou)g(w)m(an)m(t,)h(y)m(ou)f(m)m(ust)390 1237 y(app)s(end)f(a)j(0.)58 +b(Note)38 b(that)f(the)f(certi\014cate)i(t)m(yp)s(e)f(priorit)m(y)f(is) +g(set)h(on)f(the)g(clien)m(t.)60 b(The)36 b(serv)m(er)390 +1346 y(do)s(es)29 b(not)h(use)f(the)g(cert)h(t)m(yp)s(e)f(priorit)m(y)h (except)g(for)g(disabling)f(t)m(yp)s(es)g(that)h(w)m(ere)g(not)f(sp)s -(eci\014ed.)390 5322 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p -eop end -%%Page: 130 136 -TeXDict begin 130 135 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(130)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(v)m(erify)p 1424 299 V 54 w(p)s(eers2)3350 -513 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_ve)q -(rify)q(_pe)q(ers)q(2)e Fg(\()p Ff(gn)m(utls)p 2359 513 -28 4 v 41 w(session)p 2669 513 V 40 w(t)31 b Fe(session)12 -b Ff(,)565 623 y(unsigned)29 b(in)m(t)i(*)g Fe(status)12 -b Fg(\))390 732 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 884 y Ff(status)t FB(:)41 b(is)30 b(the)h(output)f(of)g -(the)h(v)m(eri\014cation)390 1036 y(This)67 b(function)h(will)h(try)f +(eci\014ed.)390 1492 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +1702 y Fv(gn)m(utls)p 483 1702 37 5 v 55 w(certi\014cate)p +1068 1702 V 52 w(v)m(erify)p 1424 1702 V 54 w(p)s(eers2)3350 +1910 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_ve)q +(rify)q(_pe)q(ers)q(2)e Fg(\()p Ff(gn)m(utls)p 2359 1910 +28 4 v 41 w(session)p 2669 1910 V 40 w(t)31 b Fe(session)p +Ff(,)565 2020 y(unsigned)e(in)m(t)i(*)g Fe(status)12 +b Fg(\))390 2129 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 2275 y Ff(status)t FB(:)41 b(is)30 b(the)h(output)f(of)g +(the)h(v)m(eri\014cation)390 2421 y(This)67 b(function)h(will)h(try)f (to)h(v)m(erify)g(the)f(p)s(eer's)g(certi\014cate)i(and)e(return)f(its) -i(status)390 1146 y(\(trusted,)f(in)m(v)-5 b(alid)61 -b(etc.\).)133 b(The)61 b(v)-5 b(alue)61 b(of)f Fs(status)f -FB(should)h(b)s(e)g(one)h(or)f(more)h(of)g(the)390 1255 -y(gn)m(utls)p 636 1255 V 40 w(certi\014cate)p 1063 1255 -V 43 w(status)p 1344 1255 V 40 w(t)50 b(en)m(umerated)h(elemen)m(ts)h +i(status)390 2530 y(\(trusted,)f(in)m(v)-5 b(alid)61 +b(etc.\).)133 b(The)61 b(v)-5 b(alue)61 b(of)f Ft(status)f +FB(should)h(b)s(e)g(one)h(or)f(more)h(of)g(the)390 2640 +y(gn)m(utls)p 636 2640 V 40 w(certi\014cate)p 1063 2640 +V 43 w(status)p 1344 2640 V 40 w(t)50 b(en)m(umerated)h(elemen)m(ts)h (bit)m(wise)f(or'd.)100 b(T)-8 b(o)50 b(a)m(v)m(oid)i(denial)f(of)390 -1365 y(service)31 b(attac)m(ks)i(some)e(default)f(upp)s(er)f(limits)i +2750 y(service)31 b(attac)m(ks)i(some)e(default)f(upp)s(er)f(limits)i (regarding)f(the)h(certi\014cate)h(k)m(ey)f(size)h(and)d(c)m(hain)390 -1474 y(size)i(are)g(set.)41 b(T)-8 b(o)31 b(o)m(v)m(erride)h(them)e -(use)g Fs(gnutls_certificate_set_v)o(erif)o(y_l)o(imit)o(s\(\))p -FB(.)390 1626 y(Note)35 b(that)f(y)m(ou)h(m)m(ust)e(also)i(c)m(hec)m(k) +2859 y(size)i(are)g(set.)41 b(T)-8 b(o)31 b(o)m(v)m(erride)h(them)e +(use)g Ft(gnutls_certificate_set_v)o(erif)o(y_l)o(imit)o(s\(\))p +FB(.)390 3005 y(Note)35 b(that)f(y)m(ou)h(m)m(ust)e(also)i(c)m(hec)m(k) g(the)f(p)s(eer's)f(name)h(in)g(order)f(to)h(c)m(hec)m(k)i(if)e(the)f -(v)m(eri\014ed)h(cer-)390 1736 y(ti\014cate)e(b)s(elongs)e(to)h(the)g -(actual)h(p)s(eer.)390 1888 y(This)23 b(function)g(uses)h -Fs(gnutls_x509_crt_list_ve)o(rify)o(\(\))17 b FB(with)24 -b(the)g(CAs)f(in)h(the)g(creden)m(tials)390 1997 y(as)31 -b(trusted)f(CAs.)390 2149 y(Note)e(that)f(some)f(commonly)h(used)f +(v)m(eri\014ed)h(cer-)390 3114 y(ti\014cate)e(b)s(elongs)e(to)h(the)g +(actual)h(p)s(eer.)390 3260 y(This)j(is)h(the)g(same)g(as)h +Ft(gnutls_x509_crt_list_ve)o(rif)o(y\(\))29 b FB(and)36 +b(uses)f(the)h(loaded)h(CAs)e(in)390 3370 y(the)c(creden)m(tials)g(as)g +(trusted)f(CAs.)390 3515 y(Note)e(that)f(some)f(commonly)h(used)f (X.509)i(Certi\014cate)g(Authorities)f(are)f(still)i(using)e(V)-8 -b(ersion)27 b(1)390 2259 y(certi\014cates.)42 b(If)27 +b(ersion)27 b(1)390 3625 y(certi\014cates.)42 b(If)27 b(y)m(ou)h(w)m(an)m(t)h(to)f(accept)i(them,)e(y)m(ou)g(need)g(to)g -(call)h Fs(gnutls_certificate_set_)390 2369 y(verify_flags\(\))d -FB(with,)31 b(e.g.,)h Fs(GNUTLS_VERIFY_ALLOW_X50)o(9_V1)o(_CA_)o(CRT)24 -b FB(parameter.)390 2520 y Fn(Returns:)40 b FB(a)31 b(negativ)m(e)i +(call)h Ft(gnutls_certificate_set_)390 3735 y(verify_flags\(\))d +FB(with,)31 b(e.g.,)h Ft(GNUTLS_VERIFY_ALLOW_X50)o(9_V1)o(_CA_)o(CRT)24 +b FB(parameter.)390 3880 y Fn(Returns:)40 b FB(a)31 b(negativ)m(e)i (error)d(co)s(de)g(on)h(error)f(and)f(zero)i(on)g(success.)150 -2737 y Fu(gn)m(utls)p 483 2737 37 5 v 55 w(certi\014cate)p -1068 2737 V 52 w(v)m(erify)p 1424 2737 V 54 w(p)s(eers)3350 -2951 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_ve)q -(rify)q(_pe)q(ers)f Fg(\()p Ff(gn)m(utls)p 2307 2951 -28 4 v 41 w(session)p 2617 2951 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 3061 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 3213 y(This)36 b(function)g(will)h(try)f(to)h(v)m(erify)g +4091 y Fv(gn)m(utls)p 483 4091 37 5 v 55 w(certi\014cate)p +1068 4091 V 52 w(v)m(erify)p 1424 4091 V 54 w(p)s(eers)3350 +4299 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_ve)q +(rify)q(_pe)q(ers)f Fg(\()p Ff(gn)m(utls)p 2307 4299 +28 4 v 41 w(session)p 2617 4299 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 4408 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 4554 y(This)36 b(function)g(will)h(try)f(to)h(v)m(erify)g (the)g(p)s(eer's)f(certi\014cate)j(and)d(return)f(its)i(status)g -(\(trusted,)390 3322 y(in)m(v)-5 b(alid)35 b(etc.\).)54 +(\(trusted,)390 4664 y(in)m(v)-5 b(alid)35 b(etc.\).)54 b(Ho)m(w)m(ev)m(er)36 b(y)m(ou)e(m)m(ust)g(also)h(c)m(hec)m(k)h(the)f (p)s(eer's)e(name)h(in)g(order)g(to)h(c)m(hec)m(k)h(if)e(the)390 -3432 y(v)m(eri\014ed)c(certi\014cate)j(b)s(elongs)d(to)h(the)g(actual)h -(p)s(eer.)390 3584 y(This)e(function)g(uses)g Fs -(gnutls_x509_crt_list_ve)o(rif)o(y\(\))p FB(.)390 3736 -y Fn(Returns:)52 b FB(one)37 b(or)f(more)g(of)h(the)f -Fs(gnutls_certificate_status)o(_t)30 b FB(en)m(umerated)37 -b(elemen)m(ts)390 3845 y(bit)m(wise)31 b(or'd,)f(or)h(a)g(negativ)m(e)h -(v)-5 b(alue)31 b(on)f(error.)390 3997 y Fn(Deprecated:)42 -b FB(Use)30 b Fs(gnutls_certificate_verify_)o(pee)o(rs2\()o(\))24 -b FB(instead.)150 4214 y Fu(gn)m(utls)p 483 4214 37 5 -v 55 w(c)m(hec)m(k)p 831 4214 V 52 w(v)m(ersion)3350 -4428 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g -(gnutls_check_version)e Fg(\()p Ff(const)32 b(c)m(har)e(*)h -Fe(req_version)12 b Fg(\))390 4538 y Ff(req)p 520 4538 -28 4 v 40 w(v)m(ersion)p FB(:)41 b(v)m(ersion)31 b(string)f(to)h -(compare)g(with,)g(or)f Fs(NULL)p FB(.)390 4690 y(Chec)m(k)h(Gn)m(uTLS) -e(Library)g(v)m(ersion.)390 4842 y(See)i Fs(GNUTLS_VERSION)26 -b FB(for)k(a)h(suitable)g Fs(req_version)c FB(string.)390 -4994 y Fn(Return)32 b(v)-5 b(alue:)45 b FB(Chec)m(k)32 -b(that)h(the)g(v)m(ersion)f(of)h(the)f(library)g(is)g(at)h(minim)m(um)f -(the)g(one)g(giv)m(en)i(as)390 5103 y(a)j(string)f(in)h -Fs(req_version)c FB(and)j(return)g(the)g(actual)i(v)m(ersion)f(string)g -(of)g(the)g(library;)i(return)390 5213 y Fs(NULL)31 b -FB(if)i(the)g(condition)g(is)g(not)g(met.)48 b(If)32 -b Fs(NULL)g FB(is)g(passed)g(to)i(this)e(function)h(no)f(c)m(hec)m(k)i -(is)f(done)390 5322 y(and)d(only)g(the)h(v)m(ersion)g(string)f(is)g -(returned.)p eop end -%%Page: 131 137 -TeXDict begin 131 136 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(131)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(cipher)p 869 299 V -54 w(get)p 1088 299 V 54 w(id)3350 517 y FB([F)-8 b(unction])-3599 -b Fh(gnutls_cipher_algorith)q(m_t)59 b(gnutls_cipher_get_id)51 -b Fg(\()p Ff(const)32 b(c)m(har)e(*)565 627 y Fe(name)12 -b Fg(\))390 736 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(MA)m(C)g(algorithm) -g(name)390 892 y(The)f(names)g(are)h(compared)f(in)g(a)h(case)h -(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 1049 y Fn(Returns:)38 -b FB(return)26 b(a)h Fs(gnutls_cipher_algorithm)o(_t)20 -b FB(v)-5 b(alue)27 b(corresp)s(onding)f(to)h(the)g(sp)s(eci\014ed)390 -1158 y(cipher,)j(or)h Fs(GNUTLS_CIPHER_UNKNOWN)24 b FB(on)30 -b(error.)150 1379 y Fu(gn)m(utls)p 483 1379 V 55 w(cipher)p -869 1379 V 54 w(get)p 1088 1379 V 54 w(k)m(ey)p 1325 -1379 V 53 w(size)3350 1597 y FB([F)-8 b(unction])-3599 +4773 y(v)m(eri\014ed)c(certi\014cate)j(b)s(elongs)d(to)h(the)g(actual)h +(p)s(eer.)390 4919 y(The)27 b(return)f(v)-5 b(alue)28 +b(should)e(b)s(e)h(one)g(or)h(more)f(of)h(the)f(gn)m(utls)p +2483 4919 V 41 w(certi\014cate)p 2911 4919 V 42 w(status)p +3191 4919 V 40 w(t)h(en)m(umerated)390 5028 y(elemen)m(ts)k(bit)m(wise) +f(or'd,)f(or)h(a)f(negativ)m(e)j(v)-5 b(alue)31 b(on)f(error.)390 +5174 y(This)g(is)g(the)h(same)f(as)h Ft(gnutls_x509_crt_list_ver)o +(ify\()o(\))p FB(.)390 5320 y Fn(Deprecated:)42 b FB(Use)30 +b Ft(gnutls_certificate_verify_)o(pee)o(rs2\()o(\))24 +b FB(instead.)p eop end +%%Page: 132 138 +TeXDict begin 132 137 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(132)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(c)m(hec)m(k)p 831 +299 V 52 w(v)m(ersion)3350 509 y FB([F)-8 b(unction])-3599 +b Fh(const)54 b(char)f(*)g(gnutls_check_version)e Fg(\()p +Ff(const)32 b(c)m(har)e(*)h Fe(req_version)12 b Fg(\))390 +618 y Ff(req)p 520 618 28 4 v 40 w(v)m(ersion)p FB(:)41 +b(the)31 b(v)m(ersion)g(to)g(c)m(hec)m(k)390 766 y(Chec)m(k)c(that)h +(the)f(v)m(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g +(requested)f(one)i(and)e(return)g(the)390 876 y(v)m(ersion)32 +b(string;)h(return)e(NULL)g(if)h(the)g(condition)g(is)g(not)g +(satis\014ed.)45 b(If)31 b(a)h(NULL)g(is)g(passed)f(to)390 +985 y(this)f(function,)h(no)f(c)m(hec)m(k)i(is)e(done,)h(but)e(the)i(v) +m(ersion)g(string)f(is)g(simply)g(returned.)390 1133 +y(See)h Ft(LIBGNUTLS_VERSION)25 b FB(for)30 b(a)h(suitable)g +Ft(req_version)c FB(string.)390 1281 y Fn(Return)d(v)-5 +b(alue:)38 b FB(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8 +b(,)26 b(or)e(NULL)g(if)g(the)g(run-time)g(library)f(do)s(es)390 +1390 y(not)32 b(meet)g(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.) +43 b(If)31 b Ft(NULL)f FB(is)i(passed)f(to)h(this)f(function)g(no)h(c)m +(hec)m(k)h(is)390 1500 y(done)d(and)g(only)g(the)h(v)m(ersion)g(string) +f(is)h(returned.)150 1712 y Fv(gn)m(utls)p 483 1712 37 +5 v 55 w(cipher)p 869 1712 V 54 w(get)p 1088 1712 V 54 +w(id)3350 1922 y FB([F)-8 b(unction])-3599 b Fh(gnutls_cipher_algorith) +q(m_t)59 b(gnutls_cipher_get_id)51 b Fg(\()p Ff(const)32 +b(c)m(har*)565 2032 y Fe(name)12 b Fg(\))390 2142 y FB(The)30 +b(names)g(are)h(compared)f(in)g(a)h(case)h(insensitiv)m(e)f(w)m(a)m(y) +-8 b(.)390 2289 y Fn(Returns:)38 b FB(return)26 b(a)h +Ft(gnutls_cipher_algorithm)o(_t)20 b FB(v)-5 b(alue)27 +b(corresp)s(onding)f(to)h(the)g(sp)s(eci\014ed)390 2399 +y(cipher,)j(or)h Ft(GNUTLS_CIPHER_UNKNOWN)24 b FB(on)30 +b(error.)150 2611 y Fv(gn)m(utls)p 483 2611 V 55 w(cipher)p +869 2611 V 54 w(get)p 1088 2611 V 54 w(k)m(ey)p 1325 +2611 V 53 w(size)3350 2821 y FB([F)-8 b(unction])-3599 b Fh(size_t)54 b(gnutls_cipher_get_key_)q(siz)q(e)d Fg(\()p -Ff(gn)m(utls)p 2202 1597 28 4 v 41 w(cipher)p 2486 1597 -V 40 w(algorithm)p 2909 1597 V 41 w(t)565 1707 y Fe(algorithm)12 -b Fg(\))390 1816 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h -(algorithm)390 1973 y(Get)g(k)m(ey)h(size)f(for)f(cipher.)390 -2129 y Fn(Returns:)51 b FB(length)35 b(\(in)h(b)m(ytes\))g(of)g(the)f +Ff(gn)m(utls)p 2202 2821 28 4 v 41 w(cipher)p 2486 2821 +V 40 w(algorithm)p 2909 2821 V 41 w(t)565 2931 y Fe(algorithm)12 +b Fg(\))390 3041 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h +(algorithm)390 3188 y(Get)g(k)m(ey)h(size)f(for)f(cipher.)390 +3336 y Fn(Returns:)51 b FB(length)35 b(\(in)h(b)m(ytes\))g(of)g(the)f (giv)m(en)i(cipher's)e(k)m(ey)h(size,)i(or)e(0)f(if)h(the)f(giv)m(en)i -(cipher)e(is)390 2238 y(in)m(v)-5 b(alid.)150 2459 y -Fu(gn)m(utls)p 483 2459 37 5 v 55 w(cipher)p 869 2459 -V 54 w(get)p 1088 2459 V 54 w(name)3350 2677 y FB([F)d(unction])-3599 +(cipher)e(is)390 3446 y(in)m(v)-5 b(alid.)150 3658 y +Fv(gn)m(utls)p 483 3658 37 5 v 55 w(cipher)p 869 3658 +V 54 w(get)p 1088 3658 V 54 w(name)3350 3868 y FB([F)d(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_cipher_get_name)f Fg(\()p -Ff(gn)m(utls)p 2307 2677 28 4 v 41 w(cipher)p 2591 2677 -V 40 w(algorithm)p 3014 2677 V 41 w(t)565 2787 y Fe(algorithm)12 -b Fg(\))390 2897 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h -(algorithm)390 3053 y(Con)m(v)m(ert)g(a)g Fs(gnutls_cipher_algorithm_)o -(t)24 b FB(t)m(yp)s(e)31 b(to)g(a)g(string.)390 3209 +Ff(gn)m(utls)p 2307 3868 28 4 v 41 w(cipher)p 2591 3868 +V 40 w(algorithm)p 3014 3868 V 41 w(t)565 3978 y Fe(algorithm)12 +b Fg(\))390 4087 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h +(algorithm)390 4235 y(Con)m(v)m(ert)g(a)g Ft(gnutls_cipher_algorithm_)o +(t)24 b FB(t)m(yp)s(e)31 b(to)g(a)g(string.)390 4383 y Fn(Returns:)38 b FB(a)26 b(p)s(oin)m(ter)g(to)g(a)g(string)g(that)g (con)m(tains)h(the)f(name)f(of)h(the)g(sp)s(eci\014ed)f(cipher,)h(or)g -Fs(NULL)p FB(.)150 3429 y Fu(gn)m(utls)p 483 3429 37 -5 v 55 w(cipher)p 869 3429 V 54 w(get)3350 3648 y FB([F)-8 +Ft(NULL)p FB(.)150 4595 y Fv(gn)m(utls)p 483 4595 37 +5 v 55 w(cipher)p 869 4595 V 54 w(get)3350 4805 y FB([F)-8 b(unction])-3599 b Fh(gnutls_cipher_algorith)q(m_t)59 b(gnutls_cipher_get)50 b Fg(\()p Ff(gn)m(utls)p 2725 -3648 28 4 v 41 w(session)p 3035 3648 V 40 w(t)565 3757 -y Fe(session)12 b Fg(\))390 3867 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4023 y(Get)31 b(curren)m(tly)g(used)e(cipher.)390 4179 -y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f(used)g(cipher,)g(a)h -Fs(gnutls_cipher_algorithm_)o(t)24 b FB(t)m(yp)s(e.)150 -4400 y Fu(gn)m(utls)p 483 4400 37 5 v 55 w(cipher)p 869 -4400 V 54 w(list)3350 4618 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(gnutls_cipher_algorithm)q(_t)59 b(*)52 -b(gnutls_cipher_list)f Fg(\()565 4728 y Fe(void)12 b -Fg(\))390 4837 y FB(Get)37 b(a)e(list)i(of)e(supp)s(orted)f(cipher)h -(algorithms.)57 b(Note)37 b(that)f(not)g(necessarily)g(all)h(ciphers)e -(are)390 4947 y(supp)s(orted)24 b(as)j(TLS)e(cipher)h(suites.)39 +4805 28 4 v 41 w(session)p 3035 4805 V 40 w(t)565 4915 +y Fe(session)12 b Fg(\))390 5024 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +5172 y(Get)31 b(curren)m(tly)g(used)e(cipher.)390 5320 +y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f(used)g(cipher,)g(an)g +Ft(gnutls_cipher_algorithm_t)24 b FB(t)m(yp)s(e.)p eop +end +%%Page: 133 139 +TeXDict begin 133 138 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(133)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(cipher)p 869 299 V +54 w(list)3350 499 y FB([F)-8 b(unction])-3599 b Fh(const)54 +b(gnutls_cipher_algorithm)q(_t)59 b(*)52 b(gnutls_cipher_list)f +Fg(\()565 609 y Fe(void)12 b Fg(\))390 718 y FB(Get)37 +b(a)e(list)i(of)e(supp)s(orted)f(cipher)h(algorithms.)57 +b(Note)37 b(that)f(not)g(necessarily)g(all)h(ciphers)e(are)390 +828 y(supp)s(orted)24 b(as)j(TLS)e(cipher)h(suites.)39 b(F)-8 b(or)27 b(example,)h(DES)e(is)h(not)f(supp)s(orted)e(as)j(a)g -(cipher)e(suite,)390 5057 y(but)30 b(is)g(supp)s(orted)f(for)h(other)g -(purp)s(oses)f(\(e.g.,)j(PK)m(CS)p Fs(8)d FB(or)i(similar\).)390 -5213 y Fn(Returns:)48 b FB(a)34 b(zero-terminated)i(list)e(of)h -Fs(gnutls_cipher_algorithm)o(_t)28 b FB(in)m(tegers)35 -b(indicating)390 5322 y(the)c(a)m(v)-5 b(ailable)32 b(ciphers.)p -eop end -%%Page: 132 138 -TeXDict begin 132 137 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(132)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(cipher)p 869 299 V -54 w(set)p 1075 299 V 54 w(priorit)m(y)3350 517 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_cipher_set_pri)q(orit)q(y)f -Fg(\()p Ff(gn)m(utls)p 2046 517 28 4 v 40 w(session)p -2355 517 V 41 w(t)30 b Fe(session)12 b Ff(,)32 b(const)565 -626 y(in)m(t)f(*)g Fe(list)12 b Fg(\))390 736 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -891 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn)m -(utls)p 1789 891 V 40 w(cipher)p 2072 891 V 40 w(algorithm)p -2495 891 V 41 w(t)g(elemen)m(ts.)390 1047 y(Sets)i(the)g(priorit)m(y)h +(cipher)e(suite,)390 938 y(but)30 b(is)g(supp)s(orted)f(for)h(other)g +(purp)s(oses)f(\(e.g.,)j(PK)m(CS)p Ft(8)d FB(or)i(similar\).)390 +1076 y Fn(Returns:)48 b FB(a)34 b(zero-terminated)i(list)e(of)h +Ft(gnutls_cipher_algorithm)o(_t)28 b FB(in)m(tegers)35 +b(indicating)390 1185 y(the)c(a)m(v)-5 b(ailable)32 b(ciphers.)150 +1388 y Fv(gn)m(utls)p 483 1388 V 55 w(cipher)p 869 1388 +V 54 w(set)p 1075 1388 V 54 w(priorit)m(y)3350 1589 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_cipher_set_pri)q(orit)q +(y)f Fg(\()p Ff(gn)m(utls)p 2046 1589 28 4 v 40 w(session)p +2355 1589 V 41 w(t)30 b Fe(session)p Ff(,)j(const)565 +1698 y(in)m(t)e(*)g Fe(list)12 b Fg(\))390 1808 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1946 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) +m(utls)p 1789 1946 V 40 w(cipher)p 2072 1946 V 40 w(algorithm)p +2495 1946 V 41 w(t)g(elemen)m(ts.)390 2084 y(Sets)i(the)g(priorit)m(y)h (on)f(the)g(ciphers)g(supp)s(orted)e(b)m(y)i(gn)m(utls.)49 b(Priorit)m(y)34 b(is)f(higher)g(for)g(elemen)m(ts)390 -1156 y(sp)s(eci\014ed)d(b)s(efore)g(others.)41 b(After)31 +2194 y(sp)s(eci\014ed)d(b)s(efore)g(others.)41 b(After)31 b(sp)s(ecifying)g(the)f(ciphers)g(y)m(ou)h(w)m(an)m(t,)h(y)m(ou)f(m)m -(ust)f(app)s(end)f(a)i(0.)390 1266 y(Note)37 b(that)f(the)f(priorit)m +(ust)f(app)s(end)f(a)i(0.)390 2303 y(Note)37 b(that)f(the)f(priorit)m (y)h(is)g(set)g(on)f(the)g(clien)m(t.)58 b(The)35 b(serv)m(er)g(do)s -(es)g(not)h(use)f(the)h(algorithm's)390 1375 y(priorit)m(y)31 +(es)g(not)h(use)f(the)h(algorithm's)390 2413 y(priorit)m(y)31 b(except)g(for)f(disabling)h(algorithms)g(that)g(w)m(ere)g(not)f(sp)s -(eci\014ed.)390 1531 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +(eci\014ed.)390 2551 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -1751 y Fu(gn)m(utls)p 483 1751 37 5 v 55 w(cipher)p 869 -1751 V 54 w(suite)p 1177 1751 V 54 w(get)p 1396 1751 -V 54 w(name)3350 1969 y FB([F)-8 b(unction])-3599 b Fh(const)54 -b(char)f(*)g(gnutls_cipher_suite_ge)q(t_n)q(ame)565 2078 -y Fg(\()p Ff(gn)m(utls)p 846 2078 28 4 v 41 w(kx)p 983 -2078 V 40 w(algorithm)p 1406 2078 V 41 w(t)31 b Fe(kx_algorithm)12 -b Ff(,)33 b(gn)m(utls)p 2447 2078 V 41 w(cipher)p 2731 -2078 V 39 w(algorithm)p 3153 2078 V 41 w(t)565 2188 y -Fe(cipher_algorithm)12 b Ff(,)35 b(gn)m(utls)p 1715 2188 -V 40 w(mac)p 1916 2188 V 41 w(algorithm)p 2340 2188 V -41 w(t)c Fe(mac_algorithm)12 b Fg(\))390 2298 y Ff(kx)p -492 2298 V 40 w(algorithm)p FB(:)42 b(is)30 b(a)h(Key)f(exc)m(hange)i -(algorithm)390 2453 y Ff(cipher)p 639 2453 V 40 w(algorithm)p -FB(:)41 b(is)31 b(a)g(cipher)f(algorithm)390 2609 y Ff(mac)p -557 2609 V 41 w(algorithm)p FB(:)41 b(is)31 b(a)g(MA)m(C)f(algorithm) -390 2764 y(Note)f(that)g(the)f(full)g(cipher)f(suite)i(name)f(m)m(ust)g +2754 y Fv(gn)m(utls)p 483 2754 37 5 v 55 w(cipher)p 869 +2754 V 54 w(suite)p 1177 2754 V 54 w(get)p 1396 2754 +V 54 w(name)3350 2955 y FB([F)-8 b(unction])-3599 b Fh(const)54 +b(char)f(*)g(gnutls_cipher_suite_ge)q(t_n)q(ame)565 3064 +y Fg(\()p Ff(gn)m(utls)p 846 3064 28 4 v 41 w(kx)p 983 +3064 V 40 w(algorithm)p 1406 3064 V 41 w(t)31 b Fe(kx_algorithm)p +Ff(,)j(gn)m(utls)p 2436 3064 V 40 w(cipher)p 2719 3064 +V 40 w(algorithm)p 3142 3064 V 41 w(t)565 3174 y Fe(cipher_algorithm)p +Ff(,)i(gn)m(utls)p 1704 3174 V 40 w(mac)p 1905 3174 V +41 w(algorithm)p 2329 3174 V 41 w(t)30 b Fe(mac_algorithm)12 +b Fg(\))390 3283 y Ff(kx)p 492 3283 V 40 w(algorithm)p +FB(:)42 b(is)30 b(a)h(Key)f(exc)m(hange)i(algorithm)390 +3422 y Ff(cipher)p 639 3422 V 40 w(algorithm)p FB(:)41 +b(is)31 b(a)g(cipher)f(algorithm)390 3560 y Ff(mac)p +557 3560 V 41 w(algorithm)p FB(:)41 b(is)31 b(a)g(MA)m(C)f(algorithm) +390 3698 y(Note)f(that)g(the)f(full)g(cipher)f(suite)i(name)f(m)m(ust)g (b)s(e)f(prep)s(ended)f(b)m(y)i(TLS)f(or)h(SSL)e(dep)s(ending)h(of)390 -2874 y(the)k(proto)s(col)g(in)f(use.)390 3029 y Fn(Returns:)38 +3807 y(the)k(proto)s(col)g(in)f(use.)390 3946 y Fn(Returns:)38 b FB(a)26 b(string)f(that)h(con)m(tains)h(the)f(name)f(of)h(a)g(TLS)e (cipher)h(suite,)i(sp)s(eci\014ed)e(b)m(y)g(the)h(giv)m(en)390 -3139 y(algorithms,)32 b(or)e Fs(NULL)p FB(.)150 3359 -y Fu(gn)m(utls)p 483 3359 37 5 v 55 w(cipher)p 869 3359 -V 54 w(suite)p 1177 3359 V 54 w(info)3350 3577 y FB([F)-8 +4055 y(algorithms,)32 b(or)e Ft(NULL)p FB(.)150 4258 +y Fv(gn)m(utls)p 483 4258 37 5 v 55 w(cipher)p 869 4258 +V 54 w(suite)p 1177 4258 V 54 w(info)3350 4459 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_cipher_suite_in)q -(fo)f Fg(\()p Ff(size)p 2313 3577 28 4 v 41 w(t)31 b -Fe(idx)12 b Ff(,)31 b(c)m(har)f(*)565 3686 y Fe(cs_id)12 -b Ff(,)32 b(gn)m(utls)p 1140 3686 V 40 w(kx)p 1276 3686 -V 40 w(algorithm)p 1699 3686 V 41 w(t)f(*)g Fe(kx)12 -b Ff(,)30 b(gn)m(utls)p 2293 3686 V 41 w(cipher)p 2577 -3686 V 39 w(algorithm)p 2999 3686 V 41 w(t)h(*)g Fe(cipher)12 -b Ff(,)565 3796 y(gn)m(utls)p 811 3796 V 41 w(mac)p 1013 -3796 V 40 w(algorithm)p 1436 3796 V 41 w(t)31 b(*)g Fe(mac)12 -b Ff(,)31 b(gn)m(utls)p 2083 3796 V 40 w(proto)s(col)p -2448 3796 V 41 w(t)g(*)f Fe(version)12 b Fg(\))390 3905 -y Ff(idx)6 b FB(:)41 b(index)30 b(of)g(cipher)g(suite)h(to)g(get)g -(information)g(ab)s(out,)f(starts)h(on)g(0.)390 4061 -y Ff(cs)p 472 4061 V 40 w(id)t FB(:)40 b(output)30 b(bu\013er)g(with)g -(ro)s(om)g(for)g(2)h(b)m(ytes,)g(indicating)g(cipher)f(suite)h(v)-5 -b(alue)390 4216 y Ff(kx)6 b FB(:)41 b(output)30 b(v)-5 -b(ariable)31 b(indicating)g(k)m(ey)g(exc)m(hange)h(algorithm,)g(or)e -Fs(NULL)p FB(.)390 4372 y Ff(cipher)7 b FB(:)40 b(output)30 -b(v)-5 b(ariable)31 b(indicating)g(cipher,)f(or)h Fs(NULL)p -FB(.)390 4527 y Ff(mac)6 b FB(:)41 b(output)30 b(v)-5 -b(ariable)31 b(indicating)g(MA)m(C)g(algorithm,)h(or)e -Fs(NULL)p FB(.)390 4683 y Ff(v)m(ersion)p FB(:)41 b(output)30 -b(v)-5 b(ariable)31 b(indicating)h(TLS)d(proto)s(col)i(v)m(ersion,)g -(or)g Fs(NULL)p FB(.)390 4838 y(Get)38 b(information)g(ab)s(out)f(supp) -s(orted)e(cipher)i(suites.)61 b(Use)38 b(the)f(function)g(iterativ)m -(ely)j(to)e(get)390 4948 y(information)g(ab)s(out)g(all)h(supp)s(orted) -d(cipher)h(suites.)63 b(Call)39 b(with)e(idx=0)h(to)h(get)g -(information)390 5057 y(ab)s(out)30 b(\014rst)g(cipher)g(suite,)h(then) -f(idx=1)g(and)g(so)g(on)h(un)m(til)f(the)h(function)f(returns)f(NULL.) -390 5213 y Fn(Returns:)38 b FB(the)26 b(name)f(of)h Fs(idx)e +(fo)f Fg(\()p Ff(size)p 2313 4459 28 4 v 41 w(t)31 b +Fe(idx)p Ff(,)g(c)m(har)g(*)g Fe(cs_id)p Ff(,)565 4568 +y(gn)m(utls)p 811 4568 V 41 w(kx)p 948 4568 V 39 w(algorithm)p +1370 4568 V 42 w(t)f(*)h Fe(kx)p Ff(,)g(gn)m(utls)p 1953 +4568 V 41 w(cipher)p 2237 4568 V 39 w(algorithm)p 2659 +4568 V 41 w(t)g(*)g Fe(cipher)p Ff(,)565 4678 y(gn)m(utls)p +811 4678 V 41 w(mac)p 1013 4678 V 40 w(algorithm)p 1436 +4678 V 41 w(t)g(*)g Fe(mac)p Ff(,)g(gn)m(utls)p 2071 +4678 V 41 w(proto)s(col)p 2437 4678 V 41 w(t)f(*)h Fe(version)12 +b Fg(\))390 4787 y Ff(idx)6 b FB(:)41 b(index)30 b(of)g(cipher)g(suite) +h(to)g(get)g(information)g(ab)s(out,)f(starts)h(on)g(0.)390 +4925 y Ff(cs)p 472 4925 V 40 w(id)t FB(:)40 b(output)30 +b(bu\013er)g(with)g(ro)s(om)g(for)g(2)h(b)m(ytes,)g(indicating)g +(cipher)f(suite)h(v)-5 b(alue)390 5064 y Ff(kx)6 b FB(:)41 +b(output)30 b(v)-5 b(ariable)31 b(indicating)g(k)m(ey)g(exc)m(hange)h +(algorithm,)g(or)e Ft(NULL)p FB(.)390 5202 y Ff(cipher)7 +b FB(:)40 b(output)30 b(v)-5 b(ariable)31 b(indicating)g(cipher,)f(or)h +Ft(NULL)p FB(.)390 5340 y Ff(mac)6 b FB(:)41 b(output)30 +b(v)-5 b(ariable)31 b(indicating)g(MA)m(C)g(algorithm,)h(or)e +Ft(NULL)p FB(.)p eop end +%%Page: 134 140 +TeXDict begin 134 139 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(134)390 299 y +Ff(v)m(ersion)p FB(:)41 b(output)30 b(v)-5 b(ariable)31 +b(indicating)h(TLS)d(proto)s(col)i(v)m(ersion,)g(or)g +Ft(NULL)p FB(.)390 434 y(Get)38 b(information)g(ab)s(out)f(supp)s +(orted)e(cipher)i(suites.)61 b(Use)38 b(the)f(function)g(iterativ)m +(ely)j(to)e(get)390 544 y(information)g(ab)s(out)g(all)h(supp)s(orted)d +(cipher)h(suites.)63 b(Call)39 b(with)e(idx=0)h(to)h(get)g(information) +390 653 y(ab)s(out)30 b(\014rst)g(cipher)g(suite,)h(then)f(idx=1)g(and) +g(so)g(on)h(un)m(til)f(the)h(function)f(returns)f(NULL.)390 +788 y Fn(Returns:)38 b FB(the)26 b(name)f(of)h Ft(idx)e FB(cipher)h(suite,)i(and)e(set)h(the)g(information)g(ab)s(out)f(the)h -(cipher)f(suite)390 5322 y(in)30 b(the)h(output)f(v)-5 -b(ariables.)41 b(If)30 b Fs(idx)f FB(is)i(out)f(of)h(b)s(ounds,)d -Fs(NULL)i FB(is)g(returned.)p eop end -%%Page: 133 139 -TeXDict begin 133 138 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(133)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(compression)p 1189 -299 V 55 w(get)p 1409 299 V 55 w(id)3350 500 y FB([F)-8 -b(unction])-3599 b Fh(gnutls_compression_met)q(hod)q(_t)58 -b(gnutls_compression_g)q(et_i)q(d)565 610 y Fg(\()p Ff(const)31 -b(c)m(har)g(*)g Fe(name)12 b Fg(\))390 719 y Ff(name)5 -b FB(:)41 b(is)30 b(a)h(compression)f(metho)s(d)g(name)390 -858 y(The)g(names)g(are)h(compared)f(in)g(a)h(case)h(insensitiv)m(e)f -(w)m(a)m(y)-8 b(.)390 997 y Fn(Returns:)59 b FB(an)39 -b(id)g(of)h(the)g(sp)s(eci\014ed)e(in)i(a)f(string)h(compression)f -(metho)s(d,)j(or)d Fs(GNUTLS_COMP_)390 1106 y(UNKNOWN)28 -b FB(on)j(error.)150 1310 y Fu(gn)m(utls)p 483 1310 V -55 w(compression)p 1189 1310 V 55 w(get)p 1409 1310 V -55 w(name)3350 1511 y FB([F)-8 b(unction])-3599 b Fh(const)54 -b(char)f(*)g(gnutls_compression_get)q(_na)q(me)565 1620 -y Fg(\()p Ff(gn)m(utls)p 846 1620 28 4 v 41 w(compression)p -1368 1620 V 40 w(metho)s(d)p 1709 1620 V 39 w(t)31 b -Fe(algorithm)12 b Fg(\))390 1730 y Ff(algorithm)p FB(:)42 -b(is)30 b(a)h(Compression)f(algorithm)390 1869 y(Con)m(v)m(ert)h(a)g -Fs(gnutls_compression_metho)o(d_t)24 b FB(v)-5 b(alue)31 -b(to)g(a)g(string.)390 2008 y Fn(Returns:)51 b FB(a)37 +(cipher)f(suite)390 898 y(in)30 b(the)h(output)f(v)-5 +b(ariables.)41 b(If)30 b Ft(idx)f FB(is)i(out)f(of)h(b)s(ounds,)d +Ft(NULL)i FB(is)g(returned.)150 1098 y Fv(gn)m(utls)p +483 1098 37 5 v 55 w(compression)p 1189 1098 V 55 w(get)p +1409 1098 V 55 w(id)3350 1295 y FB([F)-8 b(unction])-3599 +b Fh(gnutls_compression_met)q(hod)q(_t)58 b(gnutls_compression_g)q +(et_i)q(d)565 1405 y Fg(\()p Ff(const)31 b(c)m(har*)h +Fe(name)12 b Fg(\))390 1515 y FB(The)30 b(names)g(are)h(compared)f(in)g +(a)h(case)h(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 1650 +y Fn(Returns:)59 b FB(an)39 b(id)g(of)h(the)g(sp)s(eci\014ed)e(in)i(a)f +(string)h(compression)f(metho)s(d,)j(or)d Ft(GNUTLS_COMP_)390 +1759 y(UNKNOWN)28 b FB(on)j(error.)150 1959 y Fv(gn)m(utls)p +483 1959 V 55 w(compression)p 1189 1959 V 55 w(get)p +1409 1959 V 55 w(name)3350 2157 y FB([F)-8 b(unction])-3599 +b Fh(const)54 b(char)f(*)g(gnutls_compression_get)q(_na)q(me)565 +2266 y Fg(\()p Ff(gn)m(utls)p 846 2266 28 4 v 41 w(compression)p +1368 2266 V 40 w(metho)s(d)p 1709 2266 V 39 w(t)31 b +Fe(algorithm)12 b Fg(\))390 2376 y Ff(algorithm)p FB(:)42 +b(is)30 b(a)h(Compression)f(algorithm)390 2511 y(Con)m(v)m(ert)h(a)g +Ft(gnutls_compression_metho)o(d_t)24 b FB(v)-5 b(alue)31 +b(to)g(a)g(string.)390 2646 y Fn(Returns:)51 b FB(a)37 b(p)s(oin)m(ter)e(to)i(a)f(string)g(that)h(con)m(tains)g(the)f(name)g -(of)g(the)g(sp)s(eci\014ed)f(compression)390 2117 y(algorithm,)d(or)e -Fs(NULL)p FB(.)150 2321 y Fu(gn)m(utls)p 483 2321 37 -5 v 55 w(compression)p 1189 2321 V 55 w(get)3350 2522 +(of)g(the)g(sp)s(eci\014ed)f(compression)390 2756 y(algorithm,)d(or)e +Ft(NULL)p FB(.)150 2956 y Fv(gn)m(utls)p 483 2956 37 +5 v 55 w(compression)p 1189 2956 V 55 w(get)3350 3153 y FB([F)-8 b(unction])-3599 b Fh(gnutls_compression_met)q(hod)q(_t)58 -b(gnutls_compression_g)q(et)565 2631 y Fg(\()p Ff(gn)m(utls)p -846 2631 28 4 v 41 w(session)p 1156 2631 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 2741 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2880 y(Get)31 b(curren)m(tly)g(used)e(compression)i(algorithm.)390 -3019 y Fn(Returns:)39 b FB(the)29 b(curren)m(tly)f(used)f(compression)h -(metho)s(d,)h(a)f Fs(gnutls_compression_method_)o(t)390 -3128 y FB(v)-5 b(alue.)150 3332 y Fu(gn)m(utls)p 483 -3332 37 5 v 55 w(compression)p 1189 3332 V 55 w(list)3350 -3533 y FB([F)d(unction])-3599 b Fh(const)54 b(gnutls_compression_meth)q -(od_)q(t)k(*)565 3642 y(gnutls_compression_lis)q(t)52 -b Fg(\()30 b Fe(void)12 b Fg(\))390 3752 y FB(Get)38 +b(gnutls_compression_g)q(et)565 3263 y Fg(\()p Ff(gn)m(utls)p +846 3263 28 4 v 41 w(session)p 1156 3263 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 3372 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3508 y(Get)31 b(curren)m(tly)g(used)e(compression)i(algorithm.)390 +3643 y Fn(Returns:)39 b FB(the)29 b(curren)m(tly)f(used)f(compression)h +(metho)s(d,)h(a)f Ft(gnutls_compression_method_)o(t)390 +3752 y FB(v)-5 b(alue.)150 3952 y Fv(gn)m(utls)p 483 +3952 37 5 v 55 w(compression)p 1189 3952 V 55 w(list)3350 +4150 y FB([F)d(unction])-3599 b Fh(const)54 b(gnutls_compression_meth)q +(od_)q(t)k(*)565 4259 y(gnutls_compression_lis)q(t)52 +b Fg(\()30 b Fe(void)12 b Fg(\))390 4369 y FB(Get)38 b(a)f(list)h(of)f(compression)g(metho)s(ds.)60 b(Note)39 b(that)e(to)h(b)s(e)f(able)g(to)h(use)f(LZO)f(compression,)390 -3861 y(y)m(ou)31 b(m)m(ust)f(link)g(to)h(libgn)m(utls-extra)h(and)e -(call)i Fs(gnutls_global_init_extr)o(a\(\))p FB(.)390 -4000 y Fn(Returns:)47 b FB(a)33 b(zero-terminated)j(list)e(of)f -Fs(gnutls_compression_method)o(_t)27 b FB(in)m(tegers)35 -b(indicat-)390 4110 y(ing)c(the)f(a)m(v)-5 b(ailable)33 -b(compression)d(metho)s(ds.)150 4313 y Fu(gn)m(utls)p -483 4313 V 55 w(compression)p 1189 4313 V 55 w(set)p -1396 4313 V 55 w(priorit)m(y)3350 4514 y FB([F)-8 b(unction])-3599 +4479 y(y)m(ou)31 b(m)m(ust)f(link)g(to)h(libgn)m(utls-extra)h(and)e +(call)i Ft(gnutls_global_init_extr)o(a\(\))p FB(.)390 +4614 y Fn(Returns:)47 b FB(a)33 b(zero-terminated)j(list)e(of)f +Ft(gnutls_compression_method)o(_t)27 b FB(in)m(tegers)35 +b(indicat-)390 4723 y(ing)c(the)f(a)m(v)-5 b(ailable)33 +b(compression)d(metho)s(ds.)150 4923 y Fv(gn)m(utls)p +483 4923 V 55 w(compression)p 1189 4923 V 55 w(set)p +1396 4923 V 55 w(priorit)m(y)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_compression_se)q(t_pr)q(ior)q(ity)f -Fg(\()p Ff(gn)m(utls)p 2307 4514 28 4 v 41 w(session)p -2617 4514 V 40 w(t)31 b Fe(session)12 b Ff(,)565 4624 -y(const)31 b(in)m(t)g(*)g Fe(list)12 b Fg(\))390 4734 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4872 y Ff(list)r FB(:)41 b(is)31 -b(a)g(0)f(terminated)h(list)g(of)g(gn)m(utls)p 1789 4872 -V 40 w(compression)p 2310 4872 V 40 w(metho)s(d)p 2651 -4872 V 40 w(t)f(elemen)m(ts.)390 5011 y(Sets)21 b(the)h(priorit)m(y)g -(on)f(the)h(compression)f(algorithms)i(supp)s(orted)c(b)m(y)j(gn)m -(utls.)38 b(Priorit)m(y)22 b(is)f(higher)390 5121 y(for)36 +Fg(\()p Ff(gn)m(utls)p 2307 5121 28 4 v 41 w(session)p +2617 5121 V 40 w(t)31 b Fe(session)p Ff(,)565 5230 y(const)g(in)m(t)g +(*)g Fe(list)12 b Fg(\))390 5340 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)p +eop end +%%Page: 135 141 +TeXDict begin 135 140 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(135)390 299 y +Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn)m(utls) +p 1789 299 28 4 v 40 w(compression)p 2310 299 V 40 w(metho)s(d)p +2651 299 V 40 w(t)f(elemen)m(ts.)390 435 y(Sets)21 b(the)h(priorit)m(y) +g(on)f(the)h(compression)f(algorithms)i(supp)s(orted)c(b)m(y)j(gn)m +(utls.)38 b(Priorit)m(y)22 b(is)f(higher)390 544 y(for)36 b(elemen)m(ts)h(sp)s(eci\014ed)e(b)s(efore)h(others.)57 b(After)36 b(sp)s(ecifying)g(the)g(algorithms)h(y)m(ou)f(w)m(an)m(t,)j -(y)m(ou)390 5230 y(m)m(ust)29 b(app)s(end)f(a)i(0.)41 +(y)m(ou)390 654 y(m)m(ust)29 b(app)s(end)f(a)i(0.)41 b(Note)30 b(that)g(the)g(priorit)m(y)g(is)f(set)h(on)f(the)h(clien)m (t.)42 b(The)29 b(serv)m(er)h(do)s(es)f(not)g(use)390 -5340 y(the)i(algorithm's)g(priorit)m(y)g(except)g(for)f(disabling)h -(algorithms)g(that)g(w)m(ere)g(not)f(sp)s(eci\014ed.)p -eop end -%%Page: 134 140 -TeXDict begin 134 139 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(134)390 299 y(TLS)21 -b(1.0)j(do)s(es)e(not)h(de\014ne)e(an)m(y)i(compression)g(algorithms)g -(except)g(NULL.)g(Other)f(compression)390 408 y(algorithms)31 -b(are)g(to)g(b)s(e)f(considered)g(as)h(gn)m(utls)f(extensions.)390 -542 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 739 y Fu(gn)m(utls)p -483 739 37 5 v 55 w(creden)m(tials)p 1112 739 V 53 w(clear)3350 -934 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_credentials_clear)e Fg(\()p Ff(gn)m(utls)p 1993 -934 28 4 v 41 w(session)p 2303 934 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 1043 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 1177 y(Clears)31 -b(all)g(the)f(creden)m(tials)i(previously)e(set)h(in)f(this)g(session.) -150 1374 y Fu(gn)m(utls)p 483 1374 37 5 v 55 w(creden)m(tials)p -1112 1374 V 53 w(set)3350 1569 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_credentials_se)q(t)e Fg(\()p Ff(gn)m(utls)p -1836 1569 28 4 v 41 w(session)p 2146 1569 V 40 w(t)31 -b Fe(session)12 b Ff(,)565 1679 y(gn)m(utls)p 811 1679 -V 41 w(creden)m(tials)p 1273 1679 V 41 w(t)m(yp)s(e)p -1488 1679 V 40 w(t)31 b Fe(type)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(cred)12 b Fg(\))390 1788 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 1922 -y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(the)h(t)m(yp)s(e)g(of)f(the)h -(creden)m(tials)390 2055 y Ff(cred)t FB(:)40 b(is)31 -b(a)f(p)s(oin)m(ter)h(to)g(a)g(structure.)390 2189 y(Sets)e(the)f -(needed)h(creden)m(tials)h(for)e(the)h(sp)s(eci\014ed)f(t)m(yp)s(e.)40 -b(Eg)29 b(username,)f(passw)m(ord)g(-)h(or)g(public)390 -2298 y(and)24 b(priv)-5 b(ate)26 b(k)m(eys)f(etc.)40 -b(The)25 b Fs(cred)f FB(parameter)h(is)g(a)g(structure)g(that)h(dep)s -(ends)d(on)h(the)i(sp)s(eci\014ed)390 2408 y(t)m(yp)s(e)31 -b(and)e(on)i(the)f(curren)m(t)g(session)h(\(clien)m(t)h(or)e(serv)m -(er\).)390 2541 y(In)36 b(order)g(to)i(minimize)f(memory)g(usage,)i -(and)e(share)f(creden)m(tials)j(b)s(et)m(w)m(een)e(sev)m(eral)h -(threads)390 2651 y(gn)m(utls)30 b(k)m(eeps)h(a)f(p)s(oin)m(ter)h(to)f -(cred,)h(and)e(not)h(the)h(whole)f(cred)g(structure.)40 -b(Th)m(us)29 b(y)m(ou)h(will)h(ha)m(v)m(e)390 2760 y(to)g(k)m(eep)g -(the)g(structure)f(allo)s(cated)i(un)m(til)f(y)m(ou)f(call)i -Fs(gnutls_deinit\(\))p FB(.)390 2894 y(F)-8 b(or)26 b -Fs(GNUTLS_CRD_ANON)p FB(,)d Fs(cred)h FB(should)g(b)s(e)h -Fs(gnutls_anon_client_creden)o(tial)o(s_t)19 b FB(in)25 -b(case)390 3003 y(of)31 b(a)f(clien)m(t.)43 b(In)29 b(case)j(of)e(a)h -(serv)m(er)g(it)f(should)g(b)s(e)g Fs(gnutls_anon_server_cred)o(enti)o -(als)o(_t)p FB(.)390 3137 y(F)-8 b(or)26 b Fs(GNUTLS_CRD_SRP)p -FB(,)c Fs(cred)i FB(should)g(b)s(e)h Fs(gnutls_srp_client_cred)o(enti)o -(als_)o(t)19 b FB(in)25 b(case)h(of)390 3247 y(a)31 b(clien)m(t,)h(and) -e Fs(gnutls_srp_server_crede)o(ntia)o(ls_t)o FB(,)25 -b(in)30 b(case)h(of)g(a)g(serv)m(er.)390 3380 y(F)-8 -b(or)27 b Fs(GNUTLS_CRD_CERTIFICATE)p FB(,)21 b Fs(cred)j -FB(should)h(b)s(e)g Fs(gnutls_certificate_credent)o(ials)o(_)390 -3490 y(t)p FB(.)390 3623 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -3733 y(is)f(returned.)150 3930 y Fu(gn)m(utls)p 483 3930 -37 5 v 55 w(crypto)p 885 3930 V 53 w(bigin)m(t)p 1248 -3930 V 54 w(register2)3350 4125 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_crypto_bigint_)q(regi)q(ste)q(r2)f -Fg(\()p Ff(in)m(t)31 b Fe(priority)12 b Ff(,)33 b(in)m(t)d -Fe(version)12 b Ff(,)565 4234 y(gn)m(utls)p 811 4234 -28 4 v 41 w(crypto)p 1107 4234 V 40 w(bigin)m(t)p 1376 -4234 V 41 w(st)30 b(*)h Fe(s)12 b Fg(\))390 4344 y Ff(priorit)m(y)c -FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(in)m(terface)390 -4477 y Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 4611 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(in)m(terface's)j(data)390 -4744 y(This)39 b(function)h(will)g(register)h(an)f(in)m(terface)i(for)d -(gn)m(utls)i(to)f(op)s(erate)h(on)f(big)g(in)m(tegers.)71 -b(An)m(y)390 4854 y(in)m(terface)29 b(registered)f(will)g(o)m(v)m -(erride)h(the)f(included)f(in)m(terface.)41 b(The)27 -b(in)m(terface)i(with)e(the)h(lo)m(w)m(est)390 4963 y(priorit)m(y)j -(will)g(b)s(e)e(used)h(b)m(y)g(gn)m(utls.)390 5097 y(Note)j(that)f(the) -g(bigin)m(t)g(in)m(terface)h(m)m(ust)f(in)m(terop)s(erate)h(with)e(the) -h(public)f(k)m(ey)h(in)m(terface.)46 b(Th)m(us)390 5206 -y(if)30 b(this)h(in)m(terface)h(is)e(up)s(dated)f(the)i -Fs(gnutls_crypto_pk_regist)o(er\()o(\))25 b FB(should)k(also)i(b)s(e)f -(used.)390 5340 y(This)g(function)g(should)f(b)s(e)h(called)h(b)s -(efore)f Fs(gnutls_global_init\(\))p FB(.)p eop end -%%Page: 135 141 -TeXDict begin 135 140 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(135)390 299 y(F)-8 -b(or)53 b(simplicit)m(y)h(y)m(ou)e(can)h(use)f(the)g(con)m(v)m(enience) -i Fs(gnutls_crypto_bigint_regis)o(ter\()o(\))390 408 -y FB(macro.)390 546 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 683 -y Fn(Since:)41 b FB(2.6.0)150 885 y Fu(gn)m(utls)p 483 -885 37 5 v 55 w(crypto)p 885 885 V 53 w(cipher)p 1269 -885 V 54 w(register2)3350 1084 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_crypto_cipher_)q(regi)q(ste)q(r2)f -Fg(\()p Ff(in)m(t)31 b Fe(priority)12 b Ff(,)33 b(in)m(t)d -Fe(version)12 b Ff(,)565 1193 y(gn)m(utls)p 811 1193 -28 4 v 41 w(crypto)p 1107 1193 V 40 w(cipher)p 1390 1193 -V 39 w(st)31 b(*)g Fe(s)12 b Fg(\))390 1303 y Ff(priorit)m(y)c -FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(cipher)f(in)m(terface) -390 1440 y Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 1577 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(in)m(terface's)j(data)390 -1714 y(This)41 b(function)h(will)g(register)h(a)g(cipher)e(in)m -(terface)j(to)f(b)s(e)e(used)g(b)m(y)h(gn)m(utls.)76 -b(An)m(y)42 b(in)m(terface)390 1824 y(registered)e(will)g(o)m(v)m -(erride)g(the)g(included)f(engine)h(and)f(b)m(y)g(con)m(v)m(en)m(tion)i -(k)m(ernel)f(implemen)m(ted)390 1934 y(in)m(terfaces)d(should)e(ha)m(v) -m(e)i(priorit)m(y)f(of)g(90.)58 b(The)36 b(in)m(terface)h(with)e(the)h -(lo)m(w)m(est)i(priorit)m(y)e(will)h(b)s(e)390 2043 y(used)30 -b(b)m(y)g(gn)m(utls.)390 2180 y(This)g(function)g(should)f(b)s(e)h -(called)h(b)s(efore)f Fs(gnutls_global_init\(\))p FB(.)390 -2317 y(F)-8 b(or)53 b(simplicit)m(y)h(y)m(ou)e(can)h(use)f(the)g(con)m -(v)m(enience)i Fs(gnutls_crypto_cipher_regis)o(ter\()o(\))390 -2427 y FB(macro.)390 2564 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 2701 -y Fn(Since:)41 b FB(2.6.0)150 2903 y Fu(gn)m(utls)p 483 -2903 37 5 v 55 w(crypto)p 885 2903 V 53 w(digest)p 1253 -2903 V 55 w(register2)3350 3102 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_crypto_digest_)q(regi)q(ste)q(r2)f -Fg(\()p Ff(in)m(t)31 b Fe(priority)12 b Ff(,)33 b(in)m(t)d -Fe(version)12 b Ff(,)565 3212 y(gn)m(utls)p 811 3212 -28 4 v 41 w(crypto)p 1107 3212 V 40 w(digest)p 1379 3212 -V 41 w(st)30 b(*)h Fe(s)12 b Fg(\))390 3322 y Ff(priorit)m(y)c -FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(digest)g(in)m(terface) -390 3459 y Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 3596 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(in)m(terface's)j(data)390 -3733 y(This)42 b(function)g(will)h(register)h(a)f(digest)g(in)m -(terface)i(to)e(b)s(e)f(used)g(b)m(y)h(gn)m(utls.)78 -b(An)m(y)42 b(in)m(terface)390 3842 y(registered)e(will)g(o)m(v)m -(erride)g(the)g(included)f(engine)h(and)f(b)m(y)g(con)m(v)m(en)m(tion)i -(k)m(ernel)f(implemen)m(ted)390 3952 y(in)m(terfaces)d(should)e(ha)m(v) -m(e)i(priorit)m(y)f(of)g(90.)58 b(The)36 b(in)m(terface)h(with)e(the)h -(lo)m(w)m(est)i(priorit)m(y)e(will)h(b)s(e)390 4062 y(used)30 -b(b)m(y)g(gn)m(utls.)390 4199 y(This)g(function)g(should)f(b)s(e)h -(called)h(b)s(efore)f Fs(gnutls_global_init\(\))p FB(.)390 -4336 y(F)-8 b(or)53 b(simplicit)m(y)h(y)m(ou)e(can)h(use)f(the)g(con)m -(v)m(enience)i Fs(gnutls_crypto_digest_regis)o(ter\()o(\))390 -4445 y FB(macro.)390 4582 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 4720 -y Fn(Since:)41 b FB(2.6.0)150 4921 y Fu(gn)m(utls)p 483 -4921 37 5 v 55 w(crypto)p 885 4921 V 53 w(mac)p 1155 -4921 V 54 w(register2)3350 5121 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_crypto_mac_reg)q(iste)q(r2)f Fg(\()p -Ff(in)m(t)31 b Fe(priority)12 b Ff(,)33 b(in)m(t)e Fe(version)12 -b Ff(,)565 5230 y(gn)m(utls)p 811 5230 28 4 v 41 w(crypto)p -1107 5230 V 40 w(mac)p 1308 5230 V 40 w(st)31 b(*)g Fe(s)12 -b Fg(\))390 5340 y Ff(priorit)m(y)c FB(:)41 b(is)30 b(the)h(priorit)m -(y)g(of)f(the)h(mac)g(in)m(terface)p eop end +763 y(the)i(algorithm's)g(priorit)m(y)g(except)g(for)f(disabling)h +(algorithms)g(that)g(w)m(ere)g(not)f(sp)s(eci\014ed.)390 +899 y(TLS)21 b(1.0)j(do)s(es)e(not)h(de\014ne)e(an)m(y)i(compression)g +(algorithms)g(except)g(NULL.)g(Other)f(compression)390 +1009 y(algorithms)31 b(are)g(to)g(b)s(e)f(considered)g(as)h(gn)m(utls)f +(extensions.)390 1144 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +1345 y Fv(gn)m(utls)p 483 1345 37 5 v 55 w(creden)m(tials)p +1112 1345 V 53 w(clear)3350 1543 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_credentials_clear)e Fg(\()p Ff(gn)m(utls)p +1993 1543 28 4 v 41 w(session)p 2303 1543 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 1652 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1788 y(Clears)31 b(all)g(the)f(creden)m(tials)i(previously)e(set)h(in)f +(this)g(session.)150 1988 y Fv(gn)m(utls)p 483 1988 37 +5 v 55 w(creden)m(tials)p 1112 1988 V 53 w(set)3350 2186 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_credentials_se)q(t)e +Fg(\()p Ff(gn)m(utls)p 1836 2186 28 4 v 41 w(session)p +2146 2186 V 40 w(t)31 b Fe(session)p Ff(,)565 2296 y(gn)m(utls)p +811 2296 V 41 w(creden)m(tials)p 1273 2296 V 41 w(t)m(yp)s(e)p +1488 2296 V 40 w(t)g Fe(type)p Ff(,)h(v)m(oid)f(*)f Fe(cred)12 +b Fg(\))390 2405 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 2541 y Ff(t)m(yp)s(e)5 +b FB(:)41 b(is)30 b(the)h(t)m(yp)s(e)g(of)f(the)h(creden)m(tials)390 +2677 y Ff(cred)t FB(:)40 b(is)31 b(a)f(p)s(oin)m(ter)h(to)g(a)g +(structure.)390 2812 y(Sets)e(the)f(needed)h(creden)m(tials)h(for)e +(the)h(sp)s(eci\014ed)f(t)m(yp)s(e.)40 b(Eg)29 b(username,)f(passw)m +(ord)g(-)h(or)g(public)390 2922 y(and)h(priv)-5 b(ate)31 +b(k)m(eys)h(etc.)42 b(The)31 b(\(v)m(oid*)h(cred\))f(parameter)g(is)g +(a)g(structure)f(that)h(dep)s(ends)e(on)i(the)390 3032 +y(sp)s(eci\014ed)37 b(t)m(yp)s(e)g(and)g(on)g(the)g(curren)m(t)h +(session)f(\(clien)m(t)i(or)e(serv)m(er\).)63 b([)37 +b(In)g(order)f(to)i(minimize)390 3141 y(memory)32 b(usage,)i(and)e +(share)g(creden)m(tials)h(b)s(et)m(w)m(een)g(sev)m(eral)h(threads)e(gn) +m(utls)g(k)m(eeps)h(a)g(p)s(oin)m(ter)390 3251 y(to)g(cred,)g(and)f +(not)g(the)h(whole)f(cred)h(structure.)46 b(Th)m(us)31 +b(y)m(ou)i(will)f(ha)m(v)m(e)i(to)f(k)m(eep)g(the)f(structure)390 +3360 y(allo)s(cated)g(un)m(til)f(y)m(ou)g(call)g Ft(gnutls_deinit\(\))p +FB(.)37 b(])390 3496 y(F)-8 b(or)39 b(GNUTLS)p 948 3496 +V 40 w(CRD)p 1190 3496 V 40 w(ANON)f(cred)h(should)e(b)s(e)h(gn)m(utls) +p 2417 3496 V 40 w(anon)p 2649 3496 V 40 w(clien)m(t)p +2902 3496 V 42 w(creden)m(tials)p 3365 3496 V 41 w(t)h(in)f(case)390 +3606 y(of)31 b(a)f(clien)m(t.)43 b(In)29 b(case)j(of)e(a)h(serv)m(er)g +(it)f(should)g(b)s(e)g(gn)m(utls)p 2348 3606 V 40 w(anon)p +2580 3606 V 40 w(serv)m(er)p 2853 3606 V 40 w(creden)m(tials)p +3314 3606 V 42 w(t.)390 3741 y(F)-8 b(or)36 b(GNUTLS)p +945 3741 V 40 w(CRD)p 1187 3741 V 40 w(SRP)e(cred)h(should)f(b)s(e)g +(gn)m(utls)p 2304 3741 V 41 w(srp)p 2468 3741 V 39 w(clien)m(t)p +2720 3741 V 41 w(creden)m(tials)p 3182 3741 V 42 w(t)h(in)g(case)h(of)g +(a)390 3851 y(clien)m(t,)c(and)e(gn)m(utls)p 1083 3851 +V 40 w(srp)p 1246 3851 V 39 w(serv)m(er)p 1518 3851 V +41 w(creden)m(tials)p 1980 3851 V 41 w(t,)h(in)f(case)i(of)e(a)h(serv)m +(er.)390 3987 y(F)-8 b(or)31 b(GNUTLS)p 940 3987 V 40 +w(CRD)p 1182 3987 V 40 w(CER)-8 b(TIFICA)g(TE)29 b(cred)i(should)e(b)s +(e)h(gn)m(utls)p 2733 3987 V 40 w(certi\014cate)p 3160 +3987 V 42 w(creden)m(tials)p 3623 3987 V 42 w(t.)150 +4187 y Fv(gn)m(utls)p 483 4187 37 5 v 55 w(crypto)p 885 +4187 V 53 w(cipher)p 1269 4187 V 54 w(register)3350 4385 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_cipher_)q(regi) +q(ste)q(r)e Fg(\()p Ff(gn)m(utls)p 2202 4385 28 4 v 41 +w(cipher)p 2486 4385 V 40 w(algorithm)p 2909 4385 V 41 +w(t)565 4495 y Fe(algorithm)p Ff(,)33 b(in)m(t)e Fe(priority)p +Ff(,)i(gn)m(utls)p 1950 4495 V 41 w(crypto)p 2246 4495 +V 40 w(cipher)p 2529 4495 V 40 w(st*)e Fe(s)12 b Fg(\))390 +4604 y Ff(algorithm)p FB(:)42 b(is)30 b(the)h(gn)m(utls)f(algorithm)i +(iden)m(ti\014er)390 4740 y Ff(priorit)m(y)8 b FB(:)41 +b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(algorithm)390 +4876 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g(holding)h(new)e +(cipher's)i(data)390 5011 y(This)k(function)h(will)g(register)h(a)f +(cipher)g(algorithm)h(to)g(b)s(e)e(used)g(b)m(y)h(gn)m(utls.)58 +b(An)m(y)36 b(algorithm)390 5121 y(registered)23 b(will)g(o)m(v)m +(erride)h(the)f(included)f(algorithms)i(and)e(b)m(y)g(con)m(v)m(en)m +(tion)j(k)m(ernel)e(implemen)m(ted)390 5230 y(algorithms)36 +b(ha)m(v)m(e)g(priorit)m(y)g(of)f(90.)56 b(The)35 b(algorithm)h(with)f +(the)g(lo)m(w)m(est)i(priorit)m(y)f(will)f(b)s(e)g(used)390 +5340 y(b)m(y)30 b(gn)m(utls.)p eop end %%Page: 136 142 TeXDict begin 136 141 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(136)390 299 y -Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 433 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(in)m(terface's)j(data)390 -568 y(This)e(function)h(will)h(register)g(a)f(mac)h(in)m(terface)h(to)f -(b)s(e)e(used)h(b)m(y)g(gn)m(utls.)43 b(An)m(y)31 b(in)m(terface)i -(regis-)390 677 y(tered)g(will)g(o)m(v)m(erride)h(the)f(included)g -(engine)g(and)f(b)m(y)h(con)m(v)m(en)m(tion)i(k)m(ernel)f(implemen)m -(ted)f(in)m(ter-)390 787 y(faces)i(should)e(ha)m(v)m(e)i(priorit)m(y)g -(of)f(90.)52 b(The)34 b(in)m(terface)i(with)d(the)i(lo)m(w)m(est)g -(priorit)m(y)g(will)f(b)s(e)g(used)390 897 y(b)m(y)c(gn)m(utls.)390 -1031 y(This)g(function)g(should)f(b)s(e)h(called)h(b)s(efore)f -Fs(gnutls_global_init\(\))p FB(.)390 1166 y(F)-8 b(or)31 -b(simplicit)m(y)g(y)m(ou)g(can)f(use)g(the)g(con)m(v)m(enience)j -Fs(gnutls_crypto_mac_regis)o(ter\()o(\))24 b FB(macro.)390 -1300 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 1435 y Fn(Since:)41 -b FB(2.6.0)150 1634 y Fu(gn)m(utls)p 483 1634 37 5 v -55 w(crypto)p 885 1634 V 53 w(pk)p 1071 1634 V 54 w(register2)3350 -1831 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_pk_regi)q -(ster)q(2)f Fg(\()p Ff(in)m(t)31 b Fe(priority)12 b Ff(,)32 -b(in)m(t)f Fe(version)12 b Ff(,)565 1940 y(gn)m(utls)p -811 1940 28 4 v 41 w(crypto)p 1107 1940 V 40 w(pk)p 1246 -1940 V 39 w(st)31 b(*)g Fe(s)12 b Fg(\))390 2050 y Ff(priorit)m(y)c -FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(in)m(terface)390 -2184 y Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 2319 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(in)m(terface's)j(data)390 -2453 y(This)26 b(function)h(will)h(register)g(an)f(in)m(terface)h(for)f -(gn)m(utls)g(to)h(op)s(erate)g(on)f(public)g(k)m(ey)g(op)s(erations.) -390 2563 y(An)m(y)34 b(in)m(terface)i(registered)f(will)g(o)m(v)m -(erride)g(the)f(included)g(in)m(terface.)53 b(The)34 -b(in)m(terface)i(with)e(the)390 2672 y(lo)m(w)m(est)e(priorit)m(y)f -(will)g(b)s(e)e(used)h(b)m(y)g(gn)m(utls.)390 2807 y(Note)c(that)g(the) -f(bigin)m(t)h(in)m(terface)g(m)m(ust)f(in)m(terop)s(erate)h(with)f(the) -g(bigin)m(t)h(in)m(terface.)40 b(Th)m(us)24 b(if)h(this)390 -2917 y(in)m(terface)32 b(is)e(up)s(dated)f(the)i Fs -(gnutls_crypto_bigint_reg)o(iste)o(r\(\))24 b FB(should)29 -b(also)j(b)s(e)d(used.)390 3051 y(This)h(function)g(should)f(b)s(e)h -(called)h(b)s(efore)f Fs(gnutls_global_init\(\))p FB(.)390 -3186 y(F)-8 b(or)31 b(simplicit)m(y)h(y)m(ou)e(can)h(use)f(the)h(con)m -(v)m(enience)h Fs(gnutls_crypto_pk_register)o(\(\))24 -b FB(macro.)390 3320 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 3455 -y Fn(Since:)41 b FB(2.6.0)150 3654 y Fu(gn)m(utls)p 483 -3654 37 5 v 55 w(crypto)p 885 3654 V 53 w(rnd)p 1124 -3654 V 55 w(register2)3350 3851 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_crypto_rnd_reg)q(iste)q(r2)f Fg(\()p -Ff(in)m(t)31 b Fe(priority)12 b Ff(,)33 b(in)m(t)e Fe(version)12 -b Ff(,)565 3960 y(gn)m(utls)p 811 3960 28 4 v 41 w(crypto)p -1107 3960 V 40 w(rnd)p 1285 3960 V 38 w(st)31 b(*)g Fe(s)12 -b Fg(\))390 4070 y Ff(priorit)m(y)c FB(:)41 b(is)30 b(the)h(priorit)m -(y)g(of)f(the)h(generator)390 4204 y Ff(v)m(ersion)p -FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g Fs(GNUTLS_CRYPTO_API_VERSION) -390 4339 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g(holding)h(new)e -(generator's)j(data)390 4473 y(This)g(function)h(will)h(register)g(a)g -(random)e(generator)j(to)f(b)s(e)e(used)h(b)m(y)g(gn)m(utls.)49 -b(An)m(y)34 b(generator)390 4583 y(registered)28 b(will)g(o)m(v)m -(erride)g(the)f(included)g(generator)h(and)f(b)m(y)g(con)m(v)m(en)m -(tion)j(k)m(ernel)d(implemen)m(ted)390 4692 y(generators)i(ha)m(v)m(e)g -(priorit)m(y)f(of)g(90.)41 b(The)27 b(generator)i(with)e(the)h(lo)m(w)m -(est)i(priorit)m(y)e(will)g(b)s(e)f(used)g(b)m(y)390 -4802 y(gn)m(utls.)390 4936 y(This)j(function)g(should)f(b)s(e)h(called) -h(b)s(efore)f Fs(gnutls_global_init\(\))p FB(.)390 5071 -y(F)-8 b(or)31 b(simplicit)m(y)g(y)m(ou)g(can)f(use)g(the)g(con)m(v)m -(enience)j Fs(gnutls_crypto_rnd_regis)o(ter\()o(\))24 -b FB(macro.)390 5205 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 5340 -y Fn(Since:)41 b FB(2.6.0)p eop end -%%Page: 137 143 -TeXDict begin 137 142 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(137)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(crypto)p 885 299 V -53 w(single)p 1239 299 V 55 w(cipher)p 1625 299 V 55 -w(register2)3350 496 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_crypto_single_)q(ciph)q(er_)q(reg)q(ist)q(er2)565 -606 y Fg(\()p Ff(gn)m(utls)p 846 606 28 4 v 41 w(cipher)p -1130 606 V 40 w(algorithm)p 1553 606 V 41 w(t)30 b Fe(algorithm)12 -b Ff(,)33 b(in)m(t)e Fe(priority)12 b Ff(,)33 b(in)m(t)d -Fe(version)12 b Ff(,)565 715 y(gn)m(utls)p 811 715 V -41 w(crypto)p 1107 715 V 40 w(single)p 1369 715 V 41 -w(cipher)p 1653 715 V 39 w(st)31 b(*)g Fe(s)12 b Fg(\))390 -825 y Ff(algorithm)p FB(:)42 b(is)30 b(the)h(gn)m(utls)f(algorithm)i -(iden)m(ti\014er)390 960 y Ff(priorit)m(y)8 b FB(:)41 -b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(algorithm)390 -1095 y Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 1230 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(cipher's)i(data)390 -1365 y(This)k(function)h(will)g(register)h(a)f(cipher)g(algorithm)h(to) -g(b)s(e)e(used)g(b)m(y)h(gn)m(utls.)58 b(An)m(y)36 b(algorithm)390 -1475 y(registered)23 b(will)g(o)m(v)m(erride)h(the)f(included)f -(algorithms)i(and)e(b)m(y)g(con)m(v)m(en)m(tion)j(k)m(ernel)e(implemen) -m(ted)390 1584 y(algorithms)36 b(ha)m(v)m(e)g(priorit)m(y)g(of)f(90.)56 -b(The)35 b(algorithm)h(with)f(the)g(lo)m(w)m(est)i(priorit)m(y)f(will)f -(b)s(e)g(used)390 1694 y(b)m(y)30 b(gn)m(utls.)390 1829 -y(This)g(function)g(should)f(b)s(e)h(called)h(b)s(efore)f -Fs(gnutls_global_init\(\))p FB(.)390 1964 y(F)-8 b(or)73 -b(simplicit)m(y)h(y)m(ou)g(can)f(use)f(the)h(con)m(v)m(enience)i -Fs(gnutls_crypto_single_ci)o(pher)o(_)390 2074 y(register\(\))28 -b FB(macro.)390 2209 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 2344 -y Fn(Since:)41 b FB(2.6.0)150 2544 y Fu(gn)m(utls)p 483 -2544 37 5 v 55 w(crypto)p 885 2544 V 53 w(single)p 1239 -2544 V 55 w(digest)p 1609 2544 V 55 w(register2)3350 -2741 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_single_)q -(dige)q(st_)q(reg)q(ist)q(er2)565 2851 y Fg(\()p Ff(gn)m(utls)p -846 2851 28 4 v 41 w(digest)p 1119 2851 V 41 w(algorithm)p -1543 2851 V 41 w(t)30 b Fe(algorithm)12 b Ff(,)33 b(in)m(t)e -Fe(priority)12 b Ff(,)33 b(in)m(t)e Fe(version)12 b Ff(,)565 -2960 y(gn)m(utls)p 811 2960 V 41 w(crypto)p 1107 2960 -V 40 w(single)p 1369 2960 V 41 w(digest)p 1642 2960 V -40 w(st)31 b(*)g Fe(s)12 b Fg(\))390 3070 y Ff(algorithm)p -FB(:)42 b(is)30 b(the)h(gn)m(utls)f(algorithm)i(iden)m(ti\014er)390 -3205 y Ff(priorit)m(y)8 b FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f -(the)h(algorithm)390 3340 y Ff(v)m(ersion)p FB(:)41 b(should)30 -b(b)s(e)f(set)i(to)g Fs(GNUTLS_CRYPTO_API_VERSION)390 -3475 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g(holding)h(new)e -(algorithms's)j(data)390 3610 y(This)45 b(function)g(will)g(register)i +b(F)-8 b(unction)31 b(Reference)2237 b(136)390 299 y(This)30 +b(function)g(should)f(b)s(e)h(called)h(b)s(efore)f Ft +(gnutls_global_init\(\))p FB(.)390 442 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(otherwise)h(an)f +(error.)150 649 y Fv(gn)m(utls)p 483 649 37 5 v 55 w(crypto)p +885 649 V 53 w(digest)p 1253 649 V 55 w(register)3350 +854 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_digest_)q +(regi)q(ste)q(r)e Fg(\()p Ff(gn)m(utls)p 2202 854 28 +4 v 41 w(digest)p 2475 854 V 41 w(algorithm)p 2899 854 +V 41 w(t)565 964 y Fe(algorithm)p Ff(,)33 b(in)m(t)e +Fe(priority)p Ff(,)i(gn)m(utls)p 1950 964 V 41 w(crypto)p +2246 964 V 40 w(digest)p 2518 964 V 41 w(st*)e Fe(s)12 +b Fg(\))390 1073 y Ff(algorithm)p FB(:)42 b(is)30 b(the)h(gn)m(utls)f +(algorithm)i(iden)m(ti\014er)390 1216 y Ff(priorit)m(y)8 +b FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h(algorithm)390 +1359 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g(holding)h(new)e +(algorithms's)j(data)390 1502 y(This)45 b(function)g(will)g(register)i (a)e(digest)h(\(hash\))g(algorithm)g(to)g(b)s(e)f(used)g(b)m(y)g(gn)m -(utls.)86 b(An)m(y)390 3720 y(algorithm)36 b(registered)g(will)f(o)m(v) +(utls.)86 b(An)m(y)390 1611 y(algorithm)36 b(registered)g(will)f(o)m(v) m(erride)h(the)g(included)e(algorithms)i(and)e(b)m(y)h(con)m(v)m(en)m -(tion)i(k)m(ernel)390 3829 y(implemen)m(ted)d(algorithms)g(ha)m(v)m(e)g +(tion)i(k)m(ernel)390 1721 y(implemen)m(ted)d(algorithms)g(ha)m(v)m(e)g (priorit)m(y)g(of)f(90.)50 b(The)33 b(algorithm)h(with)f(the)g(lo)m(w)m -(est)j(priorit)m(y)390 3939 y(will)31 b(b)s(e)e(used)h(b)m(y)g(gn)m -(utls.)390 4074 y(This)g(function)g(should)f(b)s(e)h(called)h(b)s -(efore)f Fs(gnutls_global_init\(\))p FB(.)390 4209 y(F)-8 -b(or)73 b(simplicit)m(y)h(y)m(ou)g(can)f(use)f(the)h(con)m(v)m(enience) -i Fs(gnutls_crypto_single_di)o(gest)o(_)390 4318 y(register\(\))28 -b FB(macro.)390 4454 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 4589 -y Fn(Since:)41 b FB(2.6.0)150 4788 y Fu(gn)m(utls)p 483 -4788 37 5 v 55 w(crypto)p 885 4788 V 53 w(single)p 1239 -4788 V 55 w(mac)p 1511 4788 V 54 w(register2)3350 4986 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_single_)q(mac_) -q(reg)q(ist)q(er2)f Fg(\()p Ff(gn)m(utls)p 2464 4986 -28 4 v 41 w(mac)p 2666 4986 V 40 w(algorithm)p 3089 4986 -V 41 w(t)565 5095 y Fe(algorithm)12 b Ff(,)33 b(in)m(t)e -Fe(priority)12 b Ff(,)32 b(in)m(t)f Fe(version)12 b Ff(,)32 -b(gn)m(utls)p 2545 5095 V 41 w(crypto)p 2841 5095 V 40 -w(single)p 3103 5095 V 41 w(mac)p 3305 5095 V 40 w(st)f(*)g -Fe(s)12 b Fg(\))390 5205 y Ff(algorithm)p FB(:)42 b(is)30 -b(the)h(gn)m(utls)f(algorithm)i(iden)m(ti\014er)390 5340 -y Ff(priorit)m(y)8 b FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the)h -(algorithm)p eop end -%%Page: 138 144 -TeXDict begin 138 143 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(138)390 299 y -Ff(v)m(ersion)p FB(:)41 b(should)30 b(b)s(e)f(set)i(to)g -Fs(GNUTLS_CRYPTO_API_VERSION)390 436 y Ff(s)t FB(:)40 -b(is)31 b(a)f(structure)g(holding)h(new)e(algorithms's)j(data)390 -574 y(This)37 b(function)h(will)g(register)g(a)h(MA)m(C)f(algorithm)h -(to)g(b)s(e)e(used)g(b)m(y)h(gn)m(utls.)63 b(An)m(y)38 -b(algorithm)390 684 y(registered)23 b(will)g(o)m(v)m(erride)h(the)f -(included)f(algorithms)i(and)e(b)m(y)g(con)m(v)m(en)m(tion)j(k)m(ernel) -e(implemen)m(ted)390 793 y(algorithms)36 b(ha)m(v)m(e)g(priorit)m(y)g -(of)f(90.)56 b(The)35 b(algorithm)h(with)f(the)g(lo)m(w)m(est)i -(priorit)m(y)f(will)f(b)s(e)g(used)390 903 y(b)m(y)30 -b(gn)m(utls.)390 1040 y(This)g(function)g(should)f(b)s(e)h(called)h(b)s -(efore)f Fs(gnutls_global_init\(\))p FB(.)390 1178 y(F)-8 -b(or)26 b(simplicit)m(y)g(y)m(ou)f(can)h(use)e(the)h(con)m(v)m(enience) -j Fs(gnutls_crypto_single_ma)o(c_r)o(egis)o(ter\()o(\))390 -1288 y FB(macro.)390 1425 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 1563 -y Fn(Since:)41 b FB(2.6.0)150 1765 y Fu(gn)m(utls)p 483 -1765 37 5 v 55 w(db)p 674 1765 V 54 w(c)m(hec)m(k)p 1021 -1765 V 52 w(en)m(try)3350 1965 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_db_check_entry)f Fg(\()p Ff(gn)m(utls)p -1784 1965 28 4 v 41 w(session)p 2094 1965 V 40 w(t)31 -b Fe(session)12 b Ff(,)565 2074 y(gn)m(utls)p 811 2074 -V 41 w(datum)p 1110 2074 V 39 w(t)31 b Fe(session_entry)12 -b Fg(\))390 2184 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 2322 y Ff(session)p -665 2322 V 40 w(en)m(try)8 b FB(:)41 b(is)30 b(the)h(session)f(data)i -(\(not)e(k)m(ey\))390 2459 y(Chec)m(k)k(if)g(database)h(en)m(try)f(has) +(est)j(priorit)m(y)390 1831 y(will)31 b(b)s(e)e(used)h(b)m(y)g(gn)m +(utls.)390 1973 y(This)g(function)g(should)f(b)s(e)h(called)h(b)s +(efore)f Ft(gnutls_global_init\(\))p FB(.)390 2116 y +Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f +(otherwise)h(an)f(error.)150 2324 y Fv(gn)m(utls)p 483 +2324 37 5 v 55 w(crypto)p 885 2324 V 53 w(mac)p 1155 +2324 V 54 w(register)3350 2529 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_crypto_mac_reg)q(iste)q(r)f Fg(\()p +Ff(gn)m(utls)p 2046 2529 28 4 v 40 w(mac)p 2247 2529 +V 41 w(algorithm)p 2671 2529 V 41 w(t)565 2638 y Fe(algorithm)p +Ff(,)33 b(in)m(t)e Fe(priority)p Ff(,)i(gn)m(utls)p 1950 +2638 V 41 w(crypto)p 2246 2638 V 40 w(mac)p 2447 2638 +V 41 w(st*)e Fe(s)12 b Fg(\))390 2748 y Ff(algorithm)p +FB(:)42 b(is)30 b(the)h(gn)m(utls)f(algorithm)i(iden)m(ti\014er)390 +2891 y Ff(priorit)m(y)8 b FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f +(the)h(algorithm)390 3033 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g +(holding)h(new)e(algorithms's)j(data)390 3176 y(This)37 +b(function)h(will)g(register)g(a)h(MA)m(C)f(algorithm)h(to)g(b)s(e)e +(used)g(b)m(y)h(gn)m(utls.)63 b(An)m(y)38 b(algorithm)390 +3286 y(registered)23 b(will)g(o)m(v)m(erride)h(the)f(included)f +(algorithms)i(and)e(b)m(y)g(con)m(v)m(en)m(tion)j(k)m(ernel)e(implemen) +m(ted)390 3395 y(algorithms)36 b(ha)m(v)m(e)g(priorit)m(y)g(of)f(90.)56 +b(The)35 b(algorithm)h(with)f(the)g(lo)m(w)m(est)i(priorit)m(y)f(will)f +(b)s(e)g(used)390 3505 y(b)m(y)30 b(gn)m(utls.)390 3648 +y(This)g(function)g(should)f(b)s(e)h(called)h(b)s(efore)f +Ft(gnutls_global_init\(\))p FB(.)390 3791 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(otherwise)h(an)f +(error.)150 3998 y Fv(gn)m(utls)p 483 3998 37 5 v 55 +w(crypto)p 885 3998 V 53 w(rnd)p 1124 3998 V 55 w(register)3350 +4203 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_crypto_rnd_reg)q +(iste)q(r)f Fg(\()p Ff(in)m(t)31 b Fe(priority)p Ff(,)565 +4313 y(gn)m(utls)p 811 4313 28 4 v 41 w(crypto)p 1107 +4313 V 40 w(rnd)p 1285 4313 V 38 w(st*)g Fe(s)12 b Fg(\))390 +4422 y Ff(priorit)m(y)c FB(:)41 b(is)30 b(the)h(priorit)m(y)g(of)f(the) +h(generator)390 4565 y Ff(s)t FB(:)40 b(is)31 b(a)f(structure)g +(holding)h(new)e(generator's)j(data)390 4708 y(This)g(function)h(will)h +(register)g(a)g(random)e(generator)j(to)f(b)s(e)e(used)h(b)m(y)g(gn)m +(utls.)49 b(An)m(y)34 b(generator)390 4818 y(registered)28 +b(will)g(o)m(v)m(erride)g(the)f(included)g(generator)h(and)f(b)m(y)g +(con)m(v)m(en)m(tion)j(k)m(ernel)d(implemen)m(ted)390 +4927 y(generators)i(ha)m(v)m(e)g(priorit)m(y)f(of)g(90.)41 +b(The)27 b(generator)i(with)e(the)h(lo)m(w)m(est)i(priorit)m(y)e(will)g +(b)s(e)f(used)g(b)m(y)390 5037 y(gn)m(utls.)390 5180 +y(This)j(function)g(should)f(b)s(e)h(called)h(b)s(efore)f +Ft(gnutls_global_init\(\))p FB(.)390 5322 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(otherwise)h(an)f +(error.)p eop end +%%Page: 137 143 +TeXDict begin 137 142 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(137)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(db)p 674 299 V 54 +w(c)m(hec)m(k)p 1021 299 V 52 w(en)m(try)3350 507 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_db_check_entry)f +Fg(\()p Ff(gn)m(utls)p 1784 507 28 4 v 41 w(session)p +2094 507 V 40 w(t)31 b Fe(session)p Ff(,)565 617 y(gn)m(utls)p +811 617 V 41 w(datum)p 1110 617 V 39 w(t)g Fe(session_entry)12 +b Fg(\))390 726 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 872 y Ff(session)p +665 872 V 40 w(en)m(try)8 b FB(:)41 b(is)30 b(the)h(session)f(data)i +(\(not)e(k)m(ey\))390 1018 y(Chec)m(k)k(if)g(database)h(en)m(try)f(has) f(expired.)51 b(This)33 b(function)h(is)g(to)g(b)s(e)f(used)g(when)g(y) -m(ou)h(w)m(an)m(t)h(to)390 2569 y(clear)c(unnesessary)f(session)g(whic) +m(ou)h(w)m(an)m(t)h(to)390 1128 y(clear)c(unnesessary)f(session)g(whic) m(h)g(o)s(ccup)m(y)h(space)g(in)f(y)m(our)g(bac)m(k)m(end.)390 -2706 y Fn(Returns:)47 b FB(Returns)33 b Fs(GNUTLS_E_EXPIRED)p +1274 y Fn(Returns:)47 b FB(Returns)33 b Ft(GNUTLS_E_EXPIRED)p FB(,)e(if)i(the)i(database)f(en)m(try)g(has)g(expired)f(or)h(0)g -(other-)390 2816 y(wise.)150 3018 y Fu(gn)m(utls)p 483 -3018 37 5 v 55 w(db)p 674 3018 V 54 w(get)p 893 3018 -V 54 w(ptr)3350 3218 y FB([F)-8 b(unction])-3599 b Fh(void)54 +(other-)390 1383 y(wise.)150 1594 y Fv(gn)m(utls)p 483 +1594 37 5 v 55 w(db)p 674 1594 V 54 w(get)p 893 1594 +V 54 w(ptr)3350 1802 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(*)e(gnutls_db_get_ptr)f Fg(\()p Ff(gn)m(utls)p 1732 -3218 28 4 v 40 w(session)p 2041 3218 V 41 w(t)30 b Fe(session)12 -b Fg(\))390 3328 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 3465 y(Get)31 -b(db)f(function)g(p)s(oin)m(ter.)390 3603 y Fn(Returns:)48 +1802 28 4 v 40 w(session)p 2041 1802 V 41 w(t)30 b Fe(session)12 +b Fg(\))390 1912 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 2058 y(Get)31 +b(db)f(function)g(p)s(oin)m(ter.)390 2204 y Fn(Returns:)48 b FB(the)35 b(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(sen)m(t)h(to)g(db)e (store,)j(retriev)m(e)g(and)e(delete)i(functions,)f(as)390 -3713 y(the)c(\014rst)e(argumen)m(t.)150 3915 y Fu(gn)m(utls)p -483 3915 37 5 v 55 w(db)p 674 3915 V 54 w(remo)m(v)m(e)p -1112 3915 V 54 w(session)3350 4115 y FB([F)-8 b(unction])-3599 +2313 y(the)c(\014rst)e(argumen)m(t.)150 2524 y Fv(gn)m(utls)p +483 2524 37 5 v 55 w(db)p 674 2524 V 54 w(remo)m(v)m(e)p +1112 2524 V 54 w(session)3350 2732 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_db_remove_session)e Fg(\()p Ff(gn)m(utls)p -1993 4115 28 4 v 41 w(session)p 2303 4115 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 4224 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4362 y(This)35 b(function)g(will)h(remo)m(v)m(e)h(the)e(curren)m(t)h +1993 2732 28 4 v 41 w(session)p 2303 2732 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 2842 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2988 y(This)35 b(function)g(will)h(remo)m(v)m(e)h(the)e(curren)m(t)h (session)f(data)h(from)f(the)h(session)g(database.)57 -b(This)390 4471 y(will)37 b(prev)m(en)m(t)g(future)e(handshak)m(es)h +b(This)390 3097 y(will)37 b(prev)m(en)m(t)g(future)e(handshak)m(es)h (reusing)f(these)i(session)g(data.)59 b(This)35 b(function)h(should)g -(b)s(e)390 4581 y(called)29 b(if)e(a)h(session)g(w)m(as)g(terminated)g -(abnormally)-8 b(,)29 b(and)d(b)s(efore)i Fs(gnutls_deinit\(\))23 -b FB(is)k(called.)390 4719 y(Normally)k Fs(gnutls_deinit\(\))26 +(b)s(e)390 3207 y(called)29 b(if)e(a)h(session)g(w)m(as)g(terminated)g +(abnormally)-8 b(,)29 b(and)d(b)s(efore)i Ft(gnutls_deinit\(\))23 +b FB(is)k(called.)390 3353 y(Normally)k Ft(gnutls_deinit\(\))26 b FB(will)31 b(remo)m(v)m(e)h(abnormally)f(terminated)f(sessions.)150 -4921 y Fu(gn)m(utls)p 483 4921 37 5 v 55 w(db)p 674 4921 -V 54 w(set)p 880 4921 V 54 w(cac)m(he)p 1225 4921 V 53 -w(expiration)3350 5121 y FB([F)-8 b(unction])-3599 b +3563 y Fv(gn)m(utls)p 483 3563 37 5 v 55 w(db)p 674 3563 +V 54 w(set)p 880 3563 V 54 w(cac)m(he)p 1225 3563 V 53 +w(expiration)3350 3772 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_db_set_cache_expi)q(rat)q(ion)e Fg(\()p -Ff(gn)m(utls)p 2307 5121 28 4 v 41 w(session)p 2617 5121 -V 40 w(t)31 b Fe(session)12 b Ff(,)565 5230 y(in)m(t)31 -b Fe(seconds)12 b Fg(\))390 5340 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)p -eop end +Ff(gn)m(utls)p 2307 3772 28 4 v 41 w(session)p 2617 3772 +V 40 w(t)31 b Fe(session)p Ff(,)565 3881 y(in)m(t)g Fe(seconds)12 +b Fg(\))390 3991 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 4137 y Ff(seconds)t +FB(:)40 b(is)31 b(the)f(n)m(um)m(b)s(er)f(of)i(seconds.)390 +4283 y(Set)j(the)g(expiration)h(time)f(for)g(resumed)f(sessions.)51 +b(The)33 b(default)h(is)g(3600)h(\(one)g(hour\))e(at)i(the)390 +4392 y(time)c(writing)f(this.)150 4603 y Fv(gn)m(utls)p +483 4603 37 5 v 55 w(db)p 674 4603 V 54 w(set)p 880 4603 +V 54 w(ptr)3350 4811 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(gnutls_db_set_ptr)c Fg(\()p Ff(gn)m(utls)p 1627 4811 +28 4 v 41 w(session)p 1937 4811 V 40 w(t)31 b Fe(session)p +Ff(,)h(v)m(oid)f(*)g Fe(ptr)12 b Fg(\))390 4921 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +5067 y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(p)s(oin)m(ter)390 +5213 y(Sets)36 b(the)f(p)s(oin)m(ter)h(that)g(will)g(b)s(e)e(pro)m +(vided)h(to)i(db)d(store,)k(retriev)m(e)f(and)d(delete)j(functions,)g +(as)390 5322 y(the)31 b(\014rst)e(argumen)m(t.)p eop +end +%%Page: 138 144 +TeXDict begin 138 143 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(138)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(db)p 674 299 V 54 +w(set)p 880 299 V 54 w(remo)m(v)m(e)p 1318 299 V 54 w(function)3350 +518 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_db_set_remove_fun)q(cti)q(on)e Fg(\()p Ff(gn)m(utls)p +2255 518 28 4 v 41 w(session)p 2565 518 V 40 w(t)30 b +Fe(session)p Ff(,)565 628 y(gn)m(utls)p 811 628 V 41 +w(db)p 954 628 V 39 w(remo)m(v)m(e)p 1272 628 V 41 w(func)g +Fe(rem_func)12 b Fg(\))390 737 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +894 y Ff(rem)p 548 894 V 40 w(func)6 b FB(:)39 b(is)31 +b(the)f(function.)390 1051 y(Sets)22 b(the)h(function)f(that)g(will)h +(b)s(e)e(used)h(to)h(remo)m(v)m(e)g(data)g(from)f(the)g(resumed)g +(sessions)g(database.)390 1161 y(This)30 b(function)g(m)m(ust)g(return) +f(0)i(on)f(success.)390 1318 y(The)24 b(\014rst)f(argumen)m(t)i(to)g +Ft(rem_func\(\))d FB(will)i(b)s(e)g(n)m(ull)g(unless)g +Ft(gnutls_db_set_ptr\(\))19 b FB(has)24 b(b)s(een)390 +1428 y(called.)150 1649 y Fv(gn)m(utls)p 483 1649 37 +5 v 55 w(db)p 674 1649 V 54 w(set)p 880 1649 V 54 w(retriev)m(e)p +1346 1649 V 53 w(function)3350 1869 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_db_set_retrieve_f)q(unc)q(tio)q(n)d +Fg(\()p Ff(gn)m(utls)p 2359 1869 28 4 v 41 w(session)p +2669 1869 V 40 w(t)31 b Fe(session)p Ff(,)565 1978 y(gn)m(utls)p +811 1978 V 41 w(db)p 954 1978 V 39 w(retr)p 1140 1978 +V 39 w(func)f Fe(retr_func)12 b Fg(\))390 2088 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2245 y Ff(retr)p 543 2245 V 40 w(func)6 b FB(:)39 b(is)31 +b(the)f(function.)390 2402 y(Sets)21 b(the)g(function)g(that)g(will)g +(b)s(e)g(used)f(to)h(retriev)m(e)i(data)e(from)g(the)g(resumed)f +(sessions)h(database.)390 2512 y(This)42 b(function)g(m)m(ust)h(return) +e(a)i(gn)m(utls)p 1840 2512 V 41 w(datum)p 2139 2512 +V 39 w(t)g(con)m(taining)h(the)f(data)g(on)g(success,)j(or)d(a)390 +2621 y(gn)m(utls)p 636 2621 V 40 w(datum)p 934 2621 V +40 w(t)31 b(con)m(taining)h(n)m(ull)e(and)g(0)g(on)h(failure.)390 +2778 y(The)f(datum's)g(data)h(m)m(ust)f(b)s(e)g(allo)s(cated)i(using)e +(the)h(function)f Ft(gnutls_malloc\(\))p FB(.)390 2935 +y(The)40 b(\014rst)f(argumen)m(t)i(to)g Ft(retr_func\(\))d +FB(will)i(b)s(e)g(n)m(ull)g(unless)g Ft(gnutls_db_set_ptr\(\))35 +b FB(has)390 3045 y(b)s(een)30 b(called.)150 3267 y Fv(gn)m(utls)p +483 3267 37 5 v 55 w(db)p 674 3267 V 54 w(set)p 880 3267 +V 54 w(store)p 1197 3267 V 55 w(function)3350 3486 y +FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_db_set_store_func)q +(tio)q(n)d Fg(\()p Ff(gn)m(utls)p 2202 3486 28 4 v 41 +w(session)p 2512 3486 V 40 w(t)31 b Fe(session)p Ff(,)565 +3596 y(gn)m(utls)p 811 3596 V 41 w(db)p 954 3596 V 39 +w(store)p 1185 3596 V 40 w(func)f Fe(store_func)12 b +Fg(\))390 3705 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft +(gnutls_session_t)26 b FB(structure.)390 3862 y Ff(store)p +588 3862 V 41 w(func)6 b FB(:)39 b(is)30 b(the)h(function)390 +4019 y(Sets)e(the)f(function)g(that)h(will)g(b)s(e)f(used)g(to)h(store) +g(data)g(from)f(the)h(resumed)e(sessions)i(database.)390 +4129 y(This)h(function)g(m)m(ust)g(remo)m(v)m(e)i(0)f(on)f(success.)390 +4286 y(The)35 b(\014rst)g(argumen)m(t)h(to)g Ft(store_func\(\))d +FB(will)i(b)s(e)g(n)m(ull)h(unless)f Ft(gnutls_db_set_ptr\(\))30 +b FB(has)390 4395 y(b)s(een)g(called.)150 4617 y Fv(gn)m(utls)p +483 4617 37 5 v 55 w(deinit)3350 4836 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_deinit)49 b Fg(\()p Ff(gn)m(utls)p +1418 4836 28 4 v 41 w(session)p 1728 4836 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 4946 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +5103 y(This)32 b(function)h(clears)h(all)g(bu\013ers)e(asso)s(ciated)i +(with)f(the)g Ft(session)p FB(.)47 b(This)32 b(function)h(will)g(also) +390 5213 y(remo)m(v)m(e)j(session)g(data)f(from)g(the)g(session)g +(database)h(if)f(the)g(session)g(w)m(as)h(terminated)f(abnor-)390 +5322 y(mally)-8 b(.)p eop end %%Page: 139 145 TeXDict begin 139 144 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(139)390 299 y -Ff(seconds)t FB(:)40 b(is)31 b(the)f(n)m(um)m(b)s(er)f(of)i(seconds.) -390 432 y(Set)j(the)g(expiration)h(time)f(for)g(resumed)f(sessions.)51 -b(The)33 b(default)h(is)g(3600)h(\(one)g(hour\))e(at)i(the)390 -541 y(time)c(writing)f(this.)150 738 y Fu(gn)m(utls)p -483 738 37 5 v 55 w(db)p 674 738 V 54 w(set)p 880 738 -V 54 w(ptr)3350 931 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_db_set_ptr)c Fg(\()p Ff(gn)m(utls)p 1627 931 -28 4 v 41 w(session)p 1937 931 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(v)m(oid)f(*)g Fe(ptr)12 b Fg(\))390 1041 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 1174 y Ff(ptr)7 b FB(:)40 b(is)30 -b(the)h(p)s(oin)m(ter)390 1307 y(Sets)36 b(the)f(p)s(oin)m(ter)h(that)g -(will)g(b)s(e)e(pro)m(vided)h(to)i(db)d(store,)k(retriev)m(e)f(and)d -(delete)j(functions,)g(as)390 1416 y(the)31 b(\014rst)e(argumen)m(t.) -150 1612 y Fu(gn)m(utls)p 483 1612 37 5 v 55 w(db)p 674 -1612 V 54 w(set)p 880 1612 V 54 w(remo)m(v)m(e)p 1318 -1612 V 54 w(function)3350 1806 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_db_set_remove_fun)q(cti)q(on)e -Fg(\()p Ff(gn)m(utls)p 2255 1806 28 4 v 41 w(session)p -2565 1806 V 40 w(t)30 b Fe(session)12 b Ff(,)565 1916 -y(gn)m(utls)p 811 1916 V 41 w(db)p 954 1916 V 39 w(remo)m(v)m(e)p -1272 1916 V 41 w(func)30 b Fe(rem_func)12 b Fg(\))390 -2025 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 2158 y Ff(rem)p 548 2158 V 40 w(func)6 -b FB(:)39 b(is)31 b(the)f(function.)390 2291 y(Sets)22 -b(the)h(function)f(that)g(will)h(b)s(e)e(used)h(to)h(remo)m(v)m(e)g -(data)g(from)f(the)g(resumed)g(sessions)g(database.)390 -2401 y(This)30 b(function)g(m)m(ust)g(return)f(0)i(on)f(success.)390 -2534 y(The)24 b(\014rst)f(argumen)m(t)i(to)g Fs(rem_func\(\))d -FB(will)i(b)s(e)g(n)m(ull)g(unless)g Fs(gnutls_db_set_ptr\(\))19 -b FB(has)24 b(b)s(een)390 2643 y(called.)150 2840 y Fu(gn)m(utls)p -483 2840 37 5 v 55 w(db)p 674 2840 V 54 w(set)p 880 2840 -V 54 w(retriev)m(e)p 1346 2840 V 53 w(function)3350 3033 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_db_set_retrieve_f)q -(unc)q(tio)q(n)d Fg(\()p Ff(gn)m(utls)p 2359 3033 28 -4 v 41 w(session)p 2669 3033 V 40 w(t)31 b Fe(session)12 -b Ff(,)565 3143 y(gn)m(utls)p 811 3143 V 41 w(db)p 954 -3143 V 39 w(retr)p 1140 3143 V 39 w(func)30 b Fe(retr_func)12 -b Fg(\))390 3252 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 3385 y Ff(retr)p -543 3385 V 40 w(func)6 b FB(:)39 b(is)31 b(the)f(function.)390 -3518 y(Sets)21 b(the)g(function)g(that)g(will)g(b)s(e)g(used)f(to)h -(retriev)m(e)i(data)e(from)g(the)g(resumed)f(sessions)h(database.)390 -3628 y(This)42 b(function)g(m)m(ust)h(return)e(a)i(gn)m(utls)p -1840 3628 V 41 w(datum)p 2139 3628 V 39 w(t)g(con)m(taining)h(the)f -(data)g(on)g(success,)j(or)d(a)390 3737 y(gn)m(utls)p -636 3737 V 40 w(datum)p 934 3737 V 40 w(t)31 b(con)m(taining)h(n)m(ull) -e(and)g(0)g(on)h(failure.)390 3870 y(The)f(datum's)g(data)h(m)m(ust)f -(b)s(e)g(allo)s(cated)i(using)e(the)h(function)f Fs(gnutls_malloc\(\))p -FB(.)390 4003 y(The)40 b(\014rst)f(argumen)m(t)i(to)g -Fs(retr_func\(\))d FB(will)i(b)s(e)g(n)m(ull)g(unless)g -Fs(gnutls_db_set_ptr\(\))35 b FB(has)390 4113 y(b)s(een)30 -b(called.)150 4309 y Fu(gn)m(utls)p 483 4309 37 5 v 55 -w(db)p 674 4309 V 54 w(set)p 880 4309 V 54 w(store)p -1197 4309 V 55 w(function)3350 4503 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_db_set_store_func)q(tio)q(n)d Fg(\()p -Ff(gn)m(utls)p 2202 4503 28 4 v 41 w(session)p 2512 4503 -V 40 w(t)31 b Fe(session)12 b Ff(,)565 4612 y(gn)m(utls)p -811 4612 V 41 w(db)p 954 4612 V 39 w(store)p 1185 4612 -V 40 w(func)30 b Fe(store_func)12 b Fg(\))390 4722 y -Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4855 y Ff(store)p 588 4855 V 41 w(func)6 -b FB(:)39 b(is)30 b(the)h(function)390 4988 y(Sets)e(the)f(function)g -(that)h(will)g(b)s(e)f(used)g(to)h(store)g(data)g(from)f(the)h(resumed) -e(sessions)i(database.)390 5097 y(This)h(function)g(m)m(ust)g(remo)m(v) -m(e)i(0)f(on)f(success.)390 5230 y(The)35 b(\014rst)g(argumen)m(t)h(to) -g Fs(store_func\(\))d FB(will)i(b)s(e)g(n)m(ull)h(unless)f -Fs(gnutls_db_set_ptr\(\))30 b FB(has)390 5340 y(b)s(een)g(called.)p -eop end -%%Page: 140 146 -TeXDict begin 140 145 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(140)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(deinit)3350 493 y -FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_deinit)49 -b Fg(\()p Ff(gn)m(utls)p 1418 493 28 4 v 41 w(session)p -1728 493 V 40 w(t)31 b Fe(session)12 b Fg(\))390 603 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 736 y(This)32 b(function)h(clears)h(all)g -(bu\013ers)e(asso)s(ciated)i(with)f(the)g Fs(session)p -FB(.)47 b(This)32 b(function)h(will)g(also)390 846 y(remo)m(v)m(e)j -(session)g(data)f(from)g(the)g(session)g(database)h(if)f(the)g(session) -g(w)m(as)h(terminated)f(abnor-)390 955 y(mally)-8 b(.)150 -1152 y Fu(gn)m(utls)p 483 1152 37 5 v 55 w(dh)p 674 1152 -V 54 w(get)p 893 1152 V 54 w(group)3350 1347 y FB([F)g(unction])-3599 +b(F)-8 b(unction)31 b(Reference)2237 b(139)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(dh)p 674 299 V 54 +w(get)p 893 299 V 54 w(group)3350 507 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_group)e Fg(\()p Ff(gn)m(utls)p -1679 1347 28 4 v 41 w(session)p 1989 1347 V 40 w(t)31 -b Fe(session)12 b Ff(,)32 b(gn)m(utls)p 2768 1347 V 41 -w(datum)p 3067 1347 V 39 w(t)565 1456 y(*)f Fe(raw_gen)12 -b Ff(,)32 b(gn)m(utls)p 1320 1456 V 40 w(datum)p 1618 -1456 V 40 w(t)f(*)f Fe(raw_prime)12 b Fg(\))390 1566 -y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -1699 y Ff(ra)m(w)p 540 1699 V 40 w(gen)p FB(:)41 b(will)31 -b(hold)f(the)h(generator.)390 1832 y Ff(ra)m(w)p 540 -1832 V 40 w(prime)5 b FB(:)40 b(will)31 b(hold)f(the)h(prime.)390 -1966 y(This)22 b(function)h(will)h(return)e(the)h(group)g(parameters)g -(used)g(in)g(the)g(last)h(Di\016e-Hellman)h(authen-)390 -2075 y(tication)37 b(with)e(the)h(p)s(eer.)55 b(These)35 +1679 507 28 4 v 41 w(session)p 1989 507 V 40 w(t)31 b +Fe(session)p Ff(,)i(gn)m(utls)p 2757 507 V 40 w(datum)p +3055 507 V 40 w(t)d(*)565 617 y Fe(raw_gen)p Ff(,)j(gn)m(utls)p +1233 617 V 40 w(datum)p 1531 617 V 40 w(t)d(*)h Fe(raw_prime)12 +b Fg(\))390 726 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 872 y Ff(ra)m(w)p 540 872 V 40 w(gen)p FB(:)41 +b(will)31 b(hold)f(the)h(generator.)390 1018 y Ff(ra)m(w)p +540 1018 V 40 w(prime)5 b FB(:)40 b(will)31 b(hold)f(the)h(prime.)390 +1164 y(This)23 b(function)g(will)h(return)f(the)h(group)f(parameters)h +(used)f(in)h(the)f(last)i(Di\016e)g(Hellman)f(authen-)390 +1273 y(tication)37 b(with)e(the)h(p)s(eer.)55 b(These)35 b(are)h(the)f(prime)g(and)g(the)g(generator)i(used.)55 -b(This)34 b(function)390 2185 y(should)f(b)s(e)h(used)g(for)g(b)s(oth)f -(anon)m(ymous)h(and)g(ephemeral)h(Di\016e-Hellman.)54 -b(The)34 b(output)g(pa-)390 2294 y(rameters)d(m)m(ust)f(b)s(e)g(freed)g -(with)g Fs(gnutls_free\(\))p FB(.)390 2428 y Fn(Returns:)46 -b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 +b(This)34 b(function)390 1383 y(should)g(b)s(e)h(used)g(for)g(b)s(oth)g +(anon)m(ymous)g(and)g(ephemeral)g(di\016e)g(Hellman.)57 +b(The)35 b(output)g(pa-)390 1492 y(rameters)c(m)m(ust)f(b)s(e)g(freed)g +(with)g Ft(gnutls_free\(\))p FB(.)390 1638 y Fn(Returns:)46 +b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 -2537 y(returned.)150 2734 y Fu(gn)m(utls)p 483 2734 37 -5 v 55 w(dh)p 674 2734 V 54 w(get)p 893 2734 V 54 w(p)s(eers)p -1228 2734 V 55 w(public)p 1610 2734 V 54 w(bits)3350 -2928 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_peers_p)q -(ubli)q(c_b)q(its)f Fg(\()p Ff(gn)m(utls)p 2307 2928 -28 4 v 41 w(session)p 2617 2928 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 3038 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 3171 y(Get)41 b(the)f(Di\016e-Hellman)h(public)e(k)m(ey)h +1748 y(returned.)150 1958 y Fv(gn)m(utls)p 483 1958 37 +5 v 55 w(dh)p 674 1958 V 54 w(get)p 893 1958 V 54 w(p)s(eers)p +1228 1958 V 55 w(public)p 1610 1958 V 54 w(bits)3350 +2167 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_peers_p)q +(ubli)q(c_b)q(its)f Fg(\()p Ff(gn)m(utls)p 2307 2167 +28 4 v 41 w(session)p 2617 2167 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 2276 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 2422 y(Get)41 b(the)f(Di\016e-Hellman)h(public)e(k)m(ey)h (bit)g(size.)70 b(Can)39 b(b)s(e)g(used)g(for)g(b)s(oth)g(anon)m(ymous) -h(and)390 3281 y(ephemeral)31 b(Di\016e-Hellman.)390 -3414 y Fn(Returns:)46 b FB(the)34 b(public)f(k)m(ey)h(bit)f(size)i -(used)d(in)h(the)h(last)g(Di\016e-Hellman)i(authen)m(tication)f(with) -390 3524 y(the)c(p)s(eer,)f(or)g(a)h(negativ)m(e)h(v)-5 -b(alue)31 b(in)f(case)i(of)e(error.)150 3721 y Fu(gn)m(utls)p -483 3721 37 5 v 55 w(dh)p 674 3721 V 54 w(get)p 893 3721 -V 54 w(prime)p 1257 3721 V 55 w(bits)3350 3915 y FB([F)-8 +h(and)390 2532 y(ephemeral)31 b(di\016e)f(Hellman.)390 +2677 y Fn(Returns:)46 b FB(the)33 b(public)g(k)m(ey)h(bit)f(size)h +(used)f(in)g(the)g(last)h(Di\016e)g(Hellman)g(authen)m(tication)h(with) +390 2787 y(the)c(p)s(eer,)f(or)g(a)h(negativ)m(e)h(v)-5 +b(alue)31 b(in)f(case)i(of)e(error.)150 2998 y Fv(gn)m(utls)p +483 2998 37 5 v 55 w(dh)p 674 2998 V 54 w(get)p 893 2998 +V 54 w(prime)p 1257 2998 V 55 w(bits)3350 3206 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_prime_b)q(its)f -Fg(\()p Ff(gn)m(utls)p 1941 3915 28 4 v 41 w(session)p -2251 3915 V 40 w(t)31 b Fe(session)12 b Fg(\))390 4025 +Fg(\()p Ff(gn)m(utls)p 1941 3206 28 4 v 41 w(session)p +2251 3206 V 40 w(t)31 b Fe(session)12 b Fg(\))390 3315 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -4158 y(This)26 b(function)g(will)h(return)e(the)i(bits)g(of)f(the)h -(prime)f(used)g(in)g(the)h(last)g(Di\016e-Hellman)i(authen-)390 -4268 y(tication)40 b(with)e(the)h(p)s(eer.)64 b(Should)37 -b(b)s(e)h(used)f(for)i(b)s(oth)e(anon)m(ymous)h(and)g(ephemeral)h -(Di\016e-)390 4377 y(Hellman.)50 b(Note)34 b(that)g(some)f(ciphers,)h -(lik)m(e)g(RSA)f(and)f(DSA)i(without)f(DHE,)h(do)s(es)e(not)i(use)f(a) -390 4487 y(Di\016e-Hellman)f(exc)m(hange,)g(and)e(then)g(this)h -(function)f(will)g(return)g(0.)390 4620 y Fn(Returns:)52 -b FB(The)36 b(Di\016e-Hellman)i(bit)e(strength)h(is)f(returned,)h(or)f -(0)h(if)f(no)g(Di\016e-Hellman)i(ex-)390 4730 y(c)m(hange)32 -b(w)m(as)e(done,)h(or)f(a)h(negativ)m(e)h(error)e(co)s(de)h(on)f -(failure.)150 4926 y Fu(gn)m(utls)p 483 4926 37 5 v 55 -w(dh)p 674 4926 V 54 w(get)p 893 4926 V 54 w(pubk)m(ey)3350 -5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_pubkey)f -Fg(\()p Ff(gn)m(utls)p 1732 5121 28 4 v 40 w(session)p -2041 5121 V 41 w(t)30 b Fe(session)12 b Ff(,)33 b(gn)m(utls)p -2821 5121 V 40 w(datum)p 3119 5121 V 40 w(t)565 5230 -y(*)e Fe(raw_key)12 b Fg(\))390 5340 y Ff(session)p FB(:)41 -b(is)30 b(a)h(gn)m(utls)g(session)p eop end -%%Page: 141 147 -TeXDict begin 141 146 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(141)390 299 y -Ff(ra)m(w)p 540 299 28 4 v 40 w(k)m(ey)8 b FB(:)41 b(will)31 -b(hold)f(the)h(public)f(k)m(ey)-8 b(.)390 433 y(This)39 -b(function)g(will)h(return)f(the)h(p)s(eer's)f(public)g(k)m(ey)h(used)f -(in)h(the)g(last)g(Di\016e-Hellman)i(au-)390 542 y(then)m(tication.)f -(This)25 b(function)h(should)f(b)s(e)g(used)g(for)g(b)s(oth)g(anon)m -(ymous)h(and)f(ephemeral)h(Di\016e-)390 652 y(Hellman.)41 -b(The)30 b(output)g(parameters)h(m)m(ust)f(b)s(e)g(freed)g(with)g -Fs(gnutls_free\(\))p FB(.)390 786 y Fn(Returns:)46 b -FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 -b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 -895 y(returned.)150 1093 y Fu(gn)m(utls)p 483 1093 37 -5 v 55 w(dh)p 674 1093 V 54 w(get)p 893 1093 V 54 w(secret)p -1260 1093 V 54 w(bits)3350 1288 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_dh_get_secret_)q(bits)f Fg(\()p -Ff(gn)m(utls)p 1993 1288 28 4 v 41 w(session)p 2303 1288 -V 40 w(t)31 b Fe(session)12 b Fg(\))390 1398 y Ff(session)p -FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 1532 y(This)e(function)g -(will)g(return)f(the)i(bits)f(used)g(in)g(the)g(last)i(Di\016e-Hellman) -g(authen)m(tication)g(with)390 1641 y(the)g(p)s(eer.)40 -b(Should)29 b(b)s(e)g(used)h(for)g(b)s(oth)g(anon)m(ymous)g(and)g -(ephemeral)g(Di\016e-Hellman.)390 1775 y Fn(Returns:)46 -b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 +3461 y(This)38 b(function)g(will)h(return)f(the)g(bits)h(of)g(the)g +(prime)f(used)f(in)i(the)g(last)g(Di\016e)g(Hellman)h(au-)390 +3571 y(then)m(tication)31 b(with)e(the)h(p)s(eer.)39 +b(Should)28 b(b)s(e)h(used)f(for)h(b)s(oth)g(anon)m(ymous)g(and)g +(ephemeral)g(di\016e)390 3680 y(Hellman.)390 3826 y Fn(Returns:)46 +b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 -1885 y(returned.)150 2083 y Fu(gn)m(utls)p 483 2083 37 -5 v 55 w(dh)p 674 2083 V 54 w(params)p 1116 2083 V 54 -w(cp)m(y)3350 2278 y FB([F)-8 b(unction])-3599 b Fh(int)53 +3936 y(returned.)150 4146 y Fv(gn)m(utls)p 483 4146 37 +5 v 55 w(dh)p 674 4146 V 54 w(get)p 893 4146 V 54 w(pubk)m(ey)3350 +4355 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_pubkey)f +Fg(\()p Ff(gn)m(utls)p 1732 4355 28 4 v 40 w(session)p +2041 4355 V 41 w(t)30 b Fe(session)p Ff(,)j(gn)m(utls)p +2809 4355 V 40 w(datum)p 3107 4355 V 40 w(t)565 4464 +y(*)e Fe(raw_key)12 b Fg(\))390 4574 y Ff(session)p FB(:)41 +b(is)30 b(a)h(gn)m(utls)g(session)390 4720 y Ff(ra)m(w)p +540 4720 V 40 w(k)m(ey)8 b FB(:)41 b(will)31 b(hold)f(the)h(public)f(k) +m(ey)-8 b(.)390 4865 y(This)38 b(function)h(will)g(return)f(the)h(p)s +(eer's)g(public)f(k)m(ey)i(used)e(in)h(the)g(last)h(Di\016e)g(Hellman)g +(au-)390 4975 y(then)m(tication.)j(This)30 b(function)g(should)g(b)s(e) +f(used)h(for)g(b)s(oth)g(anon)m(ymous)g(and)g(ephemeral)h(di\016e)390 +5085 y(Hellman.)41 b(The)30 b(output)g(parameters)h(m)m(ust)f(b)s(e)g +(freed)g(with)g Ft(gnutls_free\(\))p FB(.)390 5230 y +Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 +b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) +390 5340 y(returned.)p eop end +%%Page: 140 146 +TeXDict begin 140 145 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(140)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(dh)p 674 299 V 54 +w(get)p 893 299 V 54 w(secret)p 1260 299 V 54 w(bits)3350 +497 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_get_secret_)q +(bits)f Fg(\()p Ff(gn)m(utls)p 1993 497 28 4 v 41 w(session)p +2303 497 V 40 w(t)31 b Fe(session)12 b Fg(\))390 607 +y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 +742 y(This)e(function)g(will)g(return)g(the)g(bits)h(used)e(in)h(the)h +(last)g(Di\016e)h(Hellman)f(authen)m(tication)h(with)390 +852 y(the)g(p)s(eer.)40 b(Should)29 b(b)s(e)g(used)h(for)g(b)s(oth)g +(anon)m(ymous)g(and)g(ephemeral)g(di\016e)h(Hellman.)390 +988 y Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 +b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) +390 1098 y(returned.)150 1298 y Fv(gn)m(utls)p 483 1298 +37 5 v 55 w(dh)p 674 1298 V 54 w(params)p 1116 1298 V +54 w(cp)m(y)3350 1496 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_cpy)f Fg(\()p Ff(gn)m(utls)p 1732 -2278 28 4 v 40 w(dh)p 1874 2278 V 40 w(params)p 2203 -2278 V 39 w(t)31 b Fe(dst)12 b Ff(,)565 2387 y(gn)m(utls)p -811 2387 V 41 w(dh)p 954 2387 V 39 w(params)p 1282 2387 -V 39 w(t)31 b Fe(src)12 b Fg(\))390 2497 y Ff(dst)r FB(:)40 +1496 28 4 v 40 w(dh)p 1874 1496 V 40 w(params)p 2203 +1496 V 39 w(t)31 b Fe(dst)p Ff(,)565 1606 y(gn)m(utls)p +811 1606 V 41 w(dh)p 954 1606 V 39 w(params)p 1282 1606 +V 39 w(t)g Fe(src)12 b Fg(\))390 1715 y Ff(dst)r FB(:)40 b(Is)30 b(the)h(destination)g(structure,)f(whic)m(h)g(should)g(b)s(e)f -(initialized.)390 2631 y Ff(src)6 b FB(:)40 b(Is)30 b(the)h(source)f -(structure)390 2765 y(This)g(function)g(will)g(cop)m(y)h(the)g(DH)g -(parameters)g(structure)f(from)f(source)i(to)g(destination.)390 -2898 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 3008 y(is)f(returned.)150 3206 y Fu(gn)m(utls)p 483 -3206 37 5 v 55 w(dh)p 674 3206 V 54 w(params)p 1116 3206 -V 54 w(deinit)3350 3401 y FB([F)-8 b(unction])-3599 b -Fh(void)54 b(gnutls_dh_params_deinit)e Fg(\()p Ff(gn)m(utls)p -1941 3401 28 4 v 41 w(dh)p 2084 3401 V 39 w(params)p -2412 3401 V 39 w(t)31 b Fe(dh_params)12 b Fg(\))390 3511 -y Ff(dh)p 498 3511 V 39 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f -(that)h(holds)f(the)g(prime)g(n)m(um)m(b)s(ers)390 3645 -y(This)g(function)g(will)g(deinitialize)j(the)e(DH)f(parameters)h -(structure.)150 3842 y Fu(gn)m(utls)p 483 3842 37 5 v -55 w(dh)p 674 3842 V 54 w(params)p 1116 3842 V 54 w(exp)s(ort)p -1521 3842 V 55 w(pk)m(cs3)3350 4038 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_dh_params_expo)q(rt_p)q(kcs)q(3)e -Fg(\()p Ff(gn)m(utls)p 2202 4038 28 4 v 41 w(dh)p 2345 -4038 V 39 w(params)p 2673 4038 V 40 w(t)31 b Fe(params)12 -b Ff(,)565 4147 y(gn)m(utls)p 811 4147 V 41 w(x509)p -1035 4147 V 41 w(crt)p 1187 4147 V 40 w(fm)m(t)p 1363 -4147 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(unsigned)d(c)m(har)i(*)g -Fe(params_data)12 b Ff(,)33 b(size)p 3288 4147 V 41 w(t)e(*)565 -4257 y Fe(params_data_size)12 b Fg(\))390 4366 y Ff(params)t -FB(:)40 b(Holds)31 b(the)f(DH)h(parameters)390 4500 y +(initialized.)390 1851 y Ff(src)6 b FB(:)40 b(Is)30 b(the)h(source)f +(structure)390 1987 y(This)g(function)g(will)g(cop)m(y)h(the)g(DH)g +(parameters)g(structure)f(from)f(source)i(to)g(destination.)150 +2188 y Fv(gn)m(utls)p 483 2188 37 5 v 55 w(dh)p 674 2188 +V 54 w(params)p 1116 2188 V 54 w(deinit)3350 2386 y FB([F)-8 +b(unction])-3599 b Fh(void)54 b(gnutls_dh_params_deinit)e +Fg(\()p Ff(gn)m(utls)p 1941 2386 28 4 v 41 w(dh)p 2084 +2386 V 39 w(params)p 2412 2386 V 39 w(t)31 b Fe(dh_params)12 +b Fg(\))390 2496 y Ff(dh)p 498 2496 V 39 w(params)t FB(:)40 +b(Is)30 b(a)h(structure)f(that)h(holds)f(the)g(prime)g(n)m(um)m(b)s +(ers)390 2631 y(This)g(function)g(will)g(deinitialize)j(the)e(DH)f +(parameters)h(structure.)150 2832 y Fv(gn)m(utls)p 483 +2832 37 5 v 55 w(dh)p 674 2832 V 54 w(params)p 1116 2832 +V 54 w(exp)s(ort)p 1521 2832 V 55 w(pk)m(cs3)3350 3030 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_expo)q(rt_p) +q(kcs)q(3)e Fg(\()p Ff(gn)m(utls)p 2202 3030 28 4 v 41 +w(dh)p 2345 3030 V 39 w(params)p 2673 3030 V 40 w(t)31 +b Fe(params)p Ff(,)565 3140 y(gn)m(utls)p 811 3140 V +41 w(x509)p 1035 3140 V 41 w(crt)p 1187 3140 V 40 w(fm)m(t)p +1363 3140 V 41 w(t)f Fe(format)p Ff(,)j(unsigned)c(c)m(har)i(*)f +Fe(params_data)p Ff(,)k(size)p 3265 3140 V 41 w(t)d(*)565 +3249 y Fe(params_data_size)12 b Fg(\))390 3359 y Ff(params)t +FB(:)40 b(Holds)31 b(the)f(DH)h(parameters)390 3495 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 4634 y Ff(params)p -685 4634 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)g(a)g(PK)m(CS3)f +b(One)30 b(of)h(PEM)f(or)g(DER.)390 3631 y Ff(params)p +685 3631 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)g(a)g(PK)m(CS3)f (DHP)m(arams)i(structure)e(PEM)g(or)g(DER)h(enco)s(ded)390 -4768 y Ff(params)p 685 4768 V 40 w(data)p 901 4768 V +3767 y Ff(params)p 685 3767 V 40 w(data)p 901 3767 V 40 w(size)5 b FB(:)43 b(holds)30 b(the)h(size)g(of)g(params)p -2115 4768 V 40 w(data)g(\(and)g(will)g(b)s(e)f(replaced)h(b)m(y)g(the)g -(actual)390 4877 y(size)g(of)g(parameters\))390 5011 +2115 3767 V 40 w(data)g(\(and)g(will)g(b)s(e)f(replaced)h(b)m(y)g(the)g +(actual)390 3876 y(size)g(of)g(parameters\))390 4012 y(This)d(function)h(will)g(exp)s(ort)f(the)h(giv)m(en)h(dh)e (parameters)h(to)h(a)f(PK)m(CS3)f(DHP)m(arams)i(structure.)390 -5121 y(This)37 b(is)h(the)f(format)h(generated)h(b)m(y)f -Fs(")p FB(op)s(enssl)e(dhparam)p Fs(")g FB(to)s(ol.)64 -b(If)37 b(the)h(bu\013er)f(pro)m(vided)g(is)390 5230 +4122 y(This)37 b(is)h(the)f(format)h(generated)h(b)m(y)f +Ft(")p FB(op)s(enssl)e(dhparam)p Ft(")g FB(to)s(ol.)64 +b(If)37 b(the)h(bu\013er)f(pro)m(vided)g(is)390 4231 y(not)26 b(long)g(enough)g(to)h(hold)e(the)h(output,)h(then)e(GNUTLS)p -2413 5230 V 40 w(E)p 2515 5230 V 40 w(SHOR)-8 b(T)p 2870 -5230 V 39 w(MEMOR)g(Y)p 3335 5230 V 41 w(BUFFER)390 5340 -y(will)31 b(b)s(e)e(returned.)p eop end -%%Page: 142 148 -TeXDict begin 142 147 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(142)390 299 y(If)37 -b(the)g(structure)f(is)i(PEM)f(enco)s(ded,)h(it)g(will)f(ha)m(v)m(e)h -(a)g(header)f(of)g Fs(")p FB(BEGIN)g(DH)h(P)-8 b(ARAME-)390 -408 y(TERS)p Fs(")p FB(.)390 543 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -652 y(is)f(returned.)150 852 y Fu(gn)m(utls)p 483 852 -37 5 v 55 w(dh)p 674 852 V 54 w(params)p 1116 852 V 54 -w(exp)s(ort)p 1521 852 V 55 w(ra)m(w)3350 1048 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_expo)q(rt_r)q(aw)f -Fg(\()p Ff(gn)m(utls)p 2098 1048 28 4 v 41 w(dh)p 2241 -1048 V 39 w(params)p 2569 1048 V 39 w(t)31 b Fe(params)12 -b Ff(,)565 1158 y(gn)m(utls)p 811 1158 V 41 w(datum)p -1110 1158 V 39 w(t)31 b(*)g Fe(prime)12 b Ff(,)31 b(gn)m(utls)p -1859 1158 V 41 w(datum)p 2158 1158 V 39 w(t)g(*)g Fe(generator)12 -b Ff(,)32 b(unsigned)e(in)m(t)h(*)f Fe(bits)12 b Fg(\))390 -1267 y Ff(params)t FB(:)40 b(Holds)31 b(the)f(DH)h(parameters)390 -1402 y Ff(prime)5 b FB(:)40 b(will)31 b(hold)f(the)h(new)e(prime)390 -1536 y Ff(generator)7 b FB(:)41 b(will)31 b(hold)f(the)h(new)f -(generator)390 1670 y Ff(bits)t FB(:)40 b(if)31 b(non)e(n)m(ull)i(will) -f(hold)h(is)f(the)g(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 -1805 y(This)24 b(function)g(will)h(exp)s(ort)f(the)h(pair)g(of)f(prime) -g(and)g(generator)i(for)f(use)f(in)g(the)h(Di\016e-Hellman)390 -1914 y(k)m(ey)h(exc)m(hange.)40 b(The)24 b(new)h(parameters)g(will)g(b) -s(e)f(allo)s(cated)j(using)e Fs(gnutls_malloc\(\))20 -b FB(and)25 b(will)390 2024 y(b)s(e)30 b(stored)g(in)g(the)h -(appropriate)f(datum.)390 2158 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -2268 y(is)f(returned.)150 2467 y Fu(gn)m(utls)p 483 2467 -37 5 v 55 w(dh)p 674 2467 V 54 w(params)p 1116 2467 V -54 w(generate2)3350 2664 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_dh_params_gene)q(rate)q(2)f Fg(\()p -Ff(gn)m(utls)p 2046 2664 28 4 v 40 w(dh)p 2188 2664 V -39 w(params)p 2516 2664 V 40 w(t)31 b Fe(params)12 b -Ff(,)565 2773 y(unsigned)29 b(in)m(t)i Fe(bits)12 b Fg(\))390 -2883 y Ff(params)t FB(:)40 b(Is)30 b(the)h(structure)e(that)i(the)g(DH) -g(parameters)g(will)f(b)s(e)g(stored)390 3017 y Ff(bits)t -FB(:)40 b(is)31 b(the)f(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 -3152 y(This)j(function)h(will)g(generate)h(a)g(new)e(pair)h(of)g(prime) -f(and)h(generator)h(for)e(use)h(in)g(the)g(Di\016e-)390 -3261 y(Hellman)24 b(k)m(ey)f(exc)m(hange.)40 b(The)23 +2413 4231 V 40 w(E)p 2515 4231 V 40 w(SHOR)-8 b(T)p 2870 +4231 V 39 w(MEMOR)g(Y)p 3335 4231 V 41 w(BUFFER)390 4341 +y(will)31 b(b)s(e)e(returned.)390 4477 y(If)37 b(the)g(structure)f(is)i +(PEM)f(enco)s(ded,)h(it)g(will)f(ha)m(v)m(e)h(a)g(header)f(of)g +Ft(")p FB(BEGIN)g(DH)h(P)-8 b(ARAME-)390 4586 y(TERS)p +Ft(")p FB(.)390 4722 y(In)30 b(case)h(of)g(failure)f(a)h(negativ)m(e)h +(v)-5 b(alue)31 b(will)g(b)s(e)f(returned,)f(and)h(0)h(on)f(success.) +150 4923 y Fv(gn)m(utls)p 483 4923 37 5 v 55 w(dh)p 674 +4923 V 54 w(params)p 1116 4923 V 54 w(exp)s(ort)p 1521 +4923 V 55 w(ra)m(w)3350 5121 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_dh_params_expo)q(rt_r)q(aw)f Fg(\()p +Ff(gn)m(utls)p 2098 5121 28 4 v 41 w(dh)p 2241 5121 V +39 w(params)p 2569 5121 V 39 w(t)31 b Fe(params)p Ff(,)565 +5230 y(gn)m(utls)p 811 5230 V 41 w(datum)p 1110 5230 +V 39 w(t)g(*)g Fe(prime)p Ff(,)h(gn)m(utls)p 1848 5230 +V 40 w(datum)p 2146 5230 V 40 w(t)e(*)h Fe(generator)p +Ff(,)i(unsigned)d(in)m(t)g(*)h Fe(bits)12 b Fg(\))390 +5340 y Ff(params)t FB(:)40 b(Holds)31 b(the)f(DH)h(parameters)p +eop end +%%Page: 141 147 +TeXDict begin 141 146 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(141)390 299 y +Ff(prime)5 b FB(:)40 b(will)31 b(hold)f(the)h(new)e(prime)390 +449 y Ff(generator)7 b FB(:)41 b(will)31 b(hold)f(the)h(new)f +(generator)390 599 y Ff(bits)t FB(:)40 b(if)31 b(non)e(n)m(ull)i(will)f +(hold)h(is)f(the)g(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 +749 y(This)24 b(function)g(will)h(exp)s(ort)f(the)h(pair)g(of)f(prime)g +(and)g(generator)i(for)f(use)f(in)g(the)h(Di\016e-Hellman)390 +858 y(k)m(ey)h(exc)m(hange.)40 b(The)24 b(new)h(parameters)g(will)g(b)s +(e)f(allo)s(cated)j(using)e Ft(gnutls_malloc\(\))20 b +FB(and)25 b(will)390 968 y(b)s(e)30 b(stored)g(in)g(the)h(appropriate)f +(datum.)150 1183 y Fv(gn)m(utls)p 483 1183 37 5 v 55 +w(dh)p 674 1183 V 54 w(params)p 1116 1183 V 54 w(generate2)3350 +1395 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_gene)q +(rate)q(2)f Fg(\()p Ff(gn)m(utls)p 2046 1395 28 4 v 40 +w(dh)p 2188 1395 V 39 w(params)p 2516 1395 V 40 w(t)31 +b Fe(params)p Ff(,)565 1504 y(unsigned)e(in)m(t)i Fe(bits)12 +b Fg(\))390 1614 y Ff(params)t FB(:)40 b(Is)30 b(the)h(structure)e +(that)i(the)g(DH)g(parameters)g(will)f(b)s(e)g(stored)390 +1764 y Ff(bits)t FB(:)40 b(is)31 b(the)f(prime's)g(n)m(um)m(b)s(er)f +(of)i(bits)390 1914 y(This)j(function)h(will)g(generate)h(a)g(new)e +(pair)h(of)g(prime)f(and)h(generator)h(for)e(use)h(in)g(the)g(Di\016e-) +390 2023 y(Hellman)24 b(k)m(ey)f(exc)m(hange.)40 b(The)23 b(new)f(parameters)h(will)g(b)s(e)g(allo)s(cated)i(using)d -Fs(gnutls_malloc\(\))390 3371 y FB(and)30 b(will)g(b)s(e)g(stored)h(in) +Ft(gnutls_malloc\(\))390 2133 y FB(and)30 b(will)g(b)s(e)g(stored)h(in) f(the)g(appropriate)h(datum.)40 b(This)30 b(function)g(is)g(normally)h -(slo)m(w.)390 3505 y(Note)36 b(that)f(the)g(bits)f(v)-5 +(slo)m(w.)390 2283 y(Note)36 b(that)f(the)g(bits)f(v)-5 b(alue)35 b(should)f(b)s(e)g(one)g(of)h(768,)i(1024,)h(2048,)f(3072)g -(or)d(4096.)55 b(Also)35 b(note)390 3615 y(that)e(the)h(DH)f +(or)d(4096.)55 b(Also)35 b(note)390 2392 y(that)e(the)h(DH)f (parameters)g(are)h(only)f(useful)f(to)h(serv)m(ers.)49 b(Since)33 b(clien)m(ts)h(use)f(the)g(parameters)390 -3724 y(sen)m(t)e(b)m(y)f(the)h(serv)m(er,)g(it's)g(of)f(no)g(use)h(to)g -(call)g(this)g(in)f(clien)m(t)i(side.)390 3859 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -3968 y(is)f(returned.)150 4167 y Fu(gn)m(utls)p 483 4167 -37 5 v 55 w(dh)p 674 4167 V 54 w(params)p 1116 4167 V -54 w(imp)s(ort)p 1536 4167 V 55 w(pk)m(cs3)3350 4364 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_impo)q(rt_p) -q(kcs)q(3)e Fg(\()p Ff(gn)m(utls)p 2202 4364 28 4 v 41 -w(dh)p 2345 4364 V 39 w(params)p 2673 4364 V 40 w(t)31 -b Fe(params)12 b Ff(,)565 4474 y(const)31 b(gn)m(utls)p -1049 4474 V 40 w(datum)p 1347 4474 V 40 w(t)g(*)f Fe(pkcs3_params)12 -b Ff(,)34 b(gn)m(utls)p 2463 4474 V 41 w(x509)p 2687 -4474 V 41 w(crt)p 2839 4474 V 40 w(fm)m(t)p 3015 4474 -V 41 w(t)c Fe(format)12 b Fg(\))390 4583 y Ff(params)t -FB(:)40 b(A)31 b(structure)e(where)h(the)h(parameters)g(will)f(b)s(e)g -(copied)h(to)390 4718 y Ff(pk)m(cs3)p 613 4718 V 41 w(params)t +2502 y(sen)m(t)e(b)m(y)f(the)h(serv)m(er,)g(it's)g(of)f(no)g(use)h(to)g +(call)g(this)g(in)f(clien)m(t)i(side.)150 2717 y Fv(gn)m(utls)p +483 2717 37 5 v 55 w(dh)p 674 2717 V 54 w(params)p 1116 +2717 V 54 w(imp)s(ort)p 1536 2717 V 55 w(pk)m(cs3)3350 +2929 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_impo)q +(rt_p)q(kcs)q(3)e Fg(\()p Ff(gn)m(utls)p 2202 2929 28 +4 v 41 w(dh)p 2345 2929 V 39 w(params)p 2673 2929 V 40 +w(t)31 b Fe(params)p Ff(,)565 3038 y(const)g(gn)m(utls)p +1049 3038 V 40 w(datum)p 1347 3038 V 40 w(t)g(*)f Fe(pkcs3_params)p +Ff(,)35 b(gn)m(utls)p 2452 3038 V 40 w(x509)p 2675 3038 +V 41 w(crt)p 2827 3038 V 41 w(fm)m(t)p 3004 3038 V 40 +w(t)c Fe(format)12 b Fg(\))390 3148 y Ff(params)t FB(:)40 +b(A)31 b(structure)e(where)h(the)h(parameters)g(will)f(b)s(e)g(copied)h +(to)390 3298 y Ff(pk)m(cs3)p 613 3298 V 41 w(params)t FB(:)39 b(should)28 b(con)m(tain)i(a)f(PK)m(CS3)f(DHP)m(arams)i -(structure)e(PEM)h(or)f(DER)h(enco)s(ded)390 4852 y Ff(format)r +(structure)e(PEM)h(or)f(DER)h(enco)s(ded)390 3448 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(params.)40 b(PEM)31 -b(or)f(DER.)390 4986 y(This)41 b(function)h(will)g(extract)h(the)f(DHP) +b(or)f(DER.)390 3598 y(This)41 b(function)h(will)g(extract)h(the)f(DHP) m(arams)h(found)e(in)g(a)h(PK)m(CS3)g(formatted)g(structure.)390 -5096 y(This)30 b(is)g(the)h(format)f(generated)i(b)m(y)e -Fs(")p FB(op)s(enssl)f(dhparam)p Fs(")g FB(to)s(ol.)390 -5230 y(If)f(the)h(structure)g(is)g(PEM)f(enco)s(ded,)h(it)h(should)e -(ha)m(v)m(e)i(a)f(header)f(of)h Fs(")p FB(BEGIN)h(DH)f(P)-8 -b(ARAME-)390 5340 y(TERS)p Fs(")p FB(.)p eop end -%%Page: 143 149 -TeXDict begin 143 148 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(143)390 299 y -Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 408 y(is)f(returned.)150 612 y Fu(gn)m(utls)p 483 -612 37 5 v 55 w(dh)p 674 612 V 54 w(params)p 1116 612 -V 54 w(imp)s(ort)p 1536 612 V 55 w(ra)m(w)3350 813 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_dh_params_impo)q(rt_r)q -(aw)f Fg(\()p Ff(gn)m(utls)p 2098 813 28 4 v 41 w(dh)p -2241 813 V 39 w(params)p 2569 813 V 39 w(t)31 b Fe(dh_params)12 -b Ff(,)565 923 y(const)31 b(gn)m(utls)p 1049 923 V 40 -w(datum)p 1347 923 V 40 w(t)g(*)f Fe(prime)12 b Ff(,)32 -b(const)f(gn)m(utls)p 2335 923 V 40 w(datum)p 2633 923 -V 40 w(t)g(*)f Fe(generator)12 b Fg(\))390 1033 y Ff(dh)p -498 1033 V 39 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f(that)h(will) -f(hold)g(the)h(prime)f(n)m(um)m(b)s(ers)390 1172 y Ff(prime)5 -b FB(:)40 b(holds)30 b(the)h(new)f(prime)390 1311 y Ff(generator)7 -b FB(:)41 b(holds)30 b(the)h(new)f(generator)390 1450 -y(This)22 b(function)h(will)h(replace)g(the)f(pair)g(of)g(prime)g(and)g -(generator)h(for)f(use)g(in)g(the)g(Di\016e-Hellman)390 -1559 y(k)m(ey)h(exc)m(hange.)40 b(The)22 b(new)h(parameters)h(should)e -(b)s(e)g(stored)h(in)g(the)h(appropriate)f(gn)m(utls)p -3433 1559 V 40 w(datum.)390 1698 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -1808 y(is)f(returned.)150 2011 y Fu(gn)m(utls)p 483 2011 -37 5 v 55 w(dh)p 674 2011 V 54 w(params)p 1116 2011 V -54 w(init)3350 2213 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_dh_params_init)f Fg(\()p Ff(gn)m(utls)p 1784 -2213 28 4 v 41 w(dh)p 1927 2213 V 39 w(params)p 2255 -2213 V 39 w(t)31 b(*)g Fe(dh_params)12 b Fg(\))390 2322 -y Ff(dh)p 498 2322 V 39 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f +3707 y(This)30 b(is)g(the)h(format)f(generated)i(b)m(y)e +Ft(")p FB(op)s(enssl)f(dhparam)p Ft(")g FB(to)s(ol.)390 +3857 y(If)f(the)h(structure)g(is)g(PEM)f(enco)s(ded,)h(it)h(should)e +(ha)m(v)m(e)i(a)f(header)f(of)h Ft(")p FB(BEGIN)h(DH)f(P)-8 +b(ARAME-)390 3967 y(TERS)p Ft(")p FB(.)390 4117 y(In)30 +b(case)h(of)g(failure)f(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(will)g(b)s(e)f(returned,)f(and)h(0)h(on)f(success.)150 +4332 y Fv(gn)m(utls)p 483 4332 37 5 v 55 w(dh)p 674 4332 +V 54 w(params)p 1116 4332 V 54 w(imp)s(ort)p 1536 4332 +V 55 w(ra)m(w)3350 4544 y FB([F)-8 b(unction])-3599 b +Fh(int)53 b(gnutls_dh_params_impo)q(rt_r)q(aw)f Fg(\()p +Ff(gn)m(utls)p 2098 4544 28 4 v 41 w(dh)p 2241 4544 V +39 w(params)p 2569 4544 V 39 w(t)31 b Fe(dh_params)p +Ff(,)565 4653 y(const)g(gn)m(utls)p 1049 4653 V 40 w(datum)p +1347 4653 V 40 w(t)g(*)f Fe(prime)p Ff(,)i(const)f(gn)m(utls)p +2323 4653 V 41 w(datum)p 2622 4653 V 39 w(t)g(*)g Fe(generator)12 +b Fg(\))390 4763 y Ff(dh)p 498 4763 V 39 w(params)t FB(:)40 +b(Is)30 b(a)h(structure)f(that)h(will)f(hold)g(the)h(prime)f(n)m(um)m +(b)s(ers)390 4913 y Ff(prime)5 b FB(:)40 b(holds)30 b(the)h(new)f +(prime)390 5063 y Ff(generator)7 b FB(:)41 b(holds)30 +b(the)h(new)f(generator)390 5213 y(This)22 b(function)h(will)h(replace) +g(the)f(pair)g(of)g(prime)g(and)g(generator)h(for)f(use)g(in)g(the)g +(Di\016e-Hellman)390 5322 y(k)m(ey)h(exc)m(hange.)40 +b(The)22 b(new)h(parameters)h(should)e(b)s(e)g(stored)h(in)g(the)h +(appropriate)f(gn)m(utls)p 3433 5322 V 40 w(datum.)p +eop end +%%Page: 142 148 +TeXDict begin 142 147 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(142)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(dh)p 674 299 V 54 +w(params)p 1116 299 V 54 w(init)3350 518 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_dh_params_init)f Fg(\()p Ff(gn)m(utls)p +1784 518 28 4 v 41 w(dh)p 1927 518 V 39 w(params)p 2255 +518 V 39 w(t)31 b(*)g Fe(dh_params)12 b Fg(\))390 628 +y Ff(dh)p 498 628 V 39 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f (that)h(will)f(hold)g(the)h(prime)f(n)m(um)m(b)s(ers)390 -2461 y(This)g(function)g(will)g(initialize)j(the)e(DH)g(parameters)f -(structure.)390 2600 y Fn(Returns:)42 b FB(On)30 b(success,)i -Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i -(an)f(error)g(co)s(de)390 2710 y(is)f(returned.)150 2914 -y Fu(gn)m(utls)p 483 2914 37 5 v 55 w(dh)p 674 2914 V -54 w(set)p 880 2914 V 54 w(prime)p 1244 2914 V 55 w(bits)3350 -3115 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_dh_set_prime_bits)e Fg(\()p Ff(gn)m(utls)p 1993 -3115 28 4 v 41 w(session)p 2303 3115 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(unsigned)565 3224 y(in)m(t)f Fe(bits)12 b -Fg(\))390 3334 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs -(gnutls_session_t)26 b FB(structure.)390 3473 y Ff(bits)t +785 y(This)g(function)g(will)g(initialize)j(the)e(DH)g(parameters)f +(structure.)150 1007 y Fv(gn)m(utls)p 483 1007 37 5 v +55 w(dh)p 674 1007 V 54 w(set)p 880 1007 V 54 w(prime)p +1244 1007 V 55 w(bits)3350 1226 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_dh_set_prime_bits)e Fg(\()p Ff(gn)m(utls)p +1993 1226 28 4 v 41 w(session)p 2303 1226 V 40 w(t)31 +b Fe(session)p Ff(,)i(unsigned)565 1335 y(in)m(t)e Fe(bits)12 +b Fg(\))390 1445 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 1602 y Ff(bits)t FB(:)40 b(is)31 b(the)f(n)m(um)m(b)s(er)f(of)i(bits)390 -3612 y(This)24 b(function)h(sets)g(the)g(n)m(um)m(b)s(er)f(of)h(bits,)h -(for)f(use)f(in)h(an)g(Di\016e-Hellman)i(k)m(ey)e(exc)m(hange.)41 -b(This)390 3722 y(is)c(used)g(b)s(oth)f(in)h(DH)h(ephemeral)f(and)f(DH) +1759 y(This)25 b(function)g(sets)g(the)h(n)m(um)m(b)s(er)e(of)h(bits,)i +(for)e(use)g(in)g(an)g(Di\016e)h(Hellman)g(k)m(ey)g(exc)m(hange.)41 +b(This)390 1869 y(is)c(used)g(b)s(oth)f(in)h(DH)h(ephemeral)f(and)f(DH) i(anon)m(ymous)f(cipher)g(suites.)61 b(This)37 b(will)g(set)h(the)390 -3831 y(minim)m(um)30 b(size)h(of)f(the)h(prime)f(that)h(will)f(b)s(e)g -(used)g(for)g(the)g(handshak)m(e.)390 3970 y(In)35 b(the)g(clien)m(t)i +1978 y(minim)m(um)30 b(size)h(of)f(the)h(prime)f(that)h(will)f(b)s(e)g +(used)g(for)g(the)g(handshak)m(e.)390 2135 y(In)35 b(the)g(clien)m(t)i (side)f(it)g(sets)f(the)h(minim)m(um)f(accepted)h(n)m(um)m(b)s(er)e(of) -i(bits.)56 b(If)35 b(a)g(serv)m(er)h(sends)f(a)390 4080 -y(prime)g(with)g(less)g(bits)h(than)f(that)h Fs +i(bits.)56 b(If)35 b(a)g(serv)m(er)h(sends)f(a)390 2245 +y(prime)g(with)g(less)g(bits)h(than)f(that)h Ft (GNUTLS_E_DH_PRIME_UNACC)o(EPTA)o(BLE)29 b FB(will)35 -b(b)s(e)g(returned)390 4189 y(b)m(y)30 b(the)h(handshak)m(e.)390 -4328 y(This)f(function)g(has)g(no)g(e\013ect)i(in)e(serv)m(er)h(side.) -150 4532 y Fu(gn)m(utls)p 483 4532 37 5 v 55 w(error)p -805 4532 V 54 w(is)p 941 4532 V 55 w(fatal)3350 4733 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_error_is_fatal)f -Fg(\()p Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 4843 y -Ff(error)7 b FB(:)40 b(is)30 b(a)h(Gn)m(uTLS)e(error)h(co)s(de,)h(a)g -(negativ)m(e)h(v)-5 b(alue)390 4982 y(If)22 b(a)g(Gn)m(uTLS)f(function) -h(returns)f(a)h(negativ)m(e)j(v)-5 b(alue)22 b(y)m(ou)h(ma)m(y)g(feed)f -(that)h(v)-5 b(alue)22 b(to)h(this)f(function)390 5091 -y(to)31 b(see)g(if)f(the)h(error)f(condition)h(is)f(fatal.)390 -5230 y(Note)d(that)f(y)m(ou)f(ma)m(y)h(w)m(an)m(t)g(to)g(c)m(hec)m(k)h -(the)f(error)f(co)s(de)g(man)m(ually)-8 b(,)28 b(since)d(some)h -(non-fatal)g(errors)390 5340 y(to)31 b(the)g(proto)s(col)g(ma)m(y)g(b)s -(e)f(fatal)h(for)f(y)m(ou)h(program.)p eop end -%%Page: 144 150 -TeXDict begin 144 149 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(144)390 299 y(This)27 -b(function)g(is)g(only)g(useful)g(if)g(y)m(ou)h(are)g(dealing)g(with)f -(errors)g(from)g(the)g(record)g(la)m(y)m(er)i(or)f(the)390 -408 y(handshak)m(e)i(la)m(y)m(er.)390 551 y Fn(Returns:)57 -b FB(1)39 b(if)f(the)h(error)f(co)s(de)h(is)g(fatal,)j(for)c(p)s -(ositiv)m(e)i Fs(error)d FB(v)-5 b(alues,)41 b(0)e(is)g(returned.)64 -b(F)-8 b(or)390 660 y(unkno)m(wn)29 b Fs(error)g FB(v)-5 -b(alues,)31 b(-1)g(is)f(returned.)150 867 y Fu(gn)m(utls)p -483 867 37 5 v 55 w(error)p 805 867 V 54 w(to)p 968 867 -V 54 w(alert)3350 1071 y FB([F)-8 b(unction])-3599 b +b(b)s(e)g(returned)390 2355 y(b)m(y)30 b(the)h(handshak)m(e.)150 +2576 y Fv(gn)m(utls)p 483 2576 37 5 v 55 w(error)p 805 +2576 V 54 w(is)p 941 2576 V 55 w(fatal)3350 2796 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_error_is_fatal)f +Fg(\()p Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 2905 y +Ff(error)7 b FB(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h(gn)m +(utls)f(function.)41 b(Error)29 b(should)h(b)s(e)f(a)i(negativ)m(e)i(v) +-5 b(alue.)390 3062 y(If)29 b(a)i(function)e(returns)g(a)h(negativ)m(e) +i(v)-5 b(alue)30 b(y)m(ou)h(ma)m(y)f(feed)g(that)g(v)-5 +b(alue)31 b(to)f(this)g(function)g(to)g(see)390 3172 +y(if)f(it)h(is)f(fatal.)42 b(Returns)28 b(1)i(for)f(a)g(fatal)i(error)d +(0)i(otherwise.)41 b(Ho)m(w)m(ev)m(er)31 b(y)m(ou)f(ma)m(y)f(w)m(an)m +(t)h(to)g(c)m(hec)m(k)390 3281 y(the)h(error)f(co)s(de)g(man)m(ually)-8 +b(,)32 b(since)f(some)f(non-fatal)i(errors)e(to)h(the)f(proto)s(col)i +(ma)m(y)f(b)s(e)f(fatal)h(for)390 3391 y(y)m(ou)g(\(y)m(our)f +(program\).)390 3548 y(This)21 b(is)h(only)g(useful)f(if)h(y)m(ou)g +(are)g(dealing)g(with)g(errors)f(from)h(the)f(record)h(la)m(y)m(er)i +(or)d(the)h(handshak)m(e)390 3658 y(la)m(y)m(er.)390 +3815 y(F)-8 b(or)31 b(p)s(ositiv)m(e)g Ft(error)e FB(v)-5 +b(alues,)31 b(0)g(is)g(returned.)150 4036 y Fv(gn)m(utls)p +483 4036 V 55 w(error)p 805 4036 V 54 w(to)p 968 4036 +V 54 w(alert)3350 4256 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_error_to_alert)f Fg(\()p Ff(in)m(t)31 -b Fe(err)12 b Ff(,)31 b(in)m(t)g(*)g Fe(level)12 b Fg(\))390 -1181 y Ff(err)7 b FB(:)40 b(is)30 b(a)h(negativ)m(e)i(in)m(teger)390 -1323 y Ff(lev)m(el)t FB(:)42 b(the)31 b(alert)g(lev)m(el)h(will)f(b)s -(e)e(stored)i(there)390 1465 y(Get)37 b(an)f(alert)h(dep)s(ending)e(on) +b Fe(err)p Ff(,)h(in)m(t)f(*)f Fe(level)12 b Fg(\))390 +4365 y Ff(err)7 b FB(:)40 b(is)30 b(a)h(negativ)m(e)i(in)m(teger)390 +4522 y Ff(lev)m(el)t FB(:)42 b(the)31 b(alert)g(lev)m(el)h(will)f(b)s +(e)e(stored)i(there)390 4679 y(Get)37 b(an)f(alert)h(dep)s(ending)e(on) h(the)g(error)g(co)s(de)g(returned)f(b)m(y)h(a)g(gn)m(utls)h(function.) -57 b(All)37 b(alerts)390 1575 y(sen)m(t)d(b)m(y)g(this)f(function)g +57 b(All)37 b(alerts)390 4789 y(sen)m(t)d(b)m(y)g(this)f(function)g (should)g(b)s(e)g(considered)h(fatal.)51 b(The)33 b(only)h(exception)h -(is)f(when)e Fs(err)h FB(is)390 1684 y Fs(GNUTLS_E_REHANDSHAKE)p +(is)f(when)e Ft(err)h FB(is)390 4899 y Ft(GNUTLS_E_REHANDSHAKE)p FB(,)24 b(where)29 b(a)h(w)m(arning)f(alert)i(should)d(b)s(e)h(sen)m(t) -h(to)g(the)f(p)s(eer)g(indicating)390 1794 y(that)i(no)f(renegotiation) -j(will)e(b)s(e)e(p)s(erformed.)390 1936 y(If)g(there)h(is)g(no)f +h(to)g(the)f(p)s(eer)g(indicating)390 5008 y(that)i(no)f(renegotiation) +j(will)e(b)s(e)e(p)s(erformed.)390 5165 y(If)g(there)h(is)g(no)f (mapping)g(to)i(a)f(v)-5 b(alid)29 b(alert)i(the)f(alert)h(to)f (indicate)h(in)m(ternal)f(error)f(is)h(returned.)390 -2078 y Fn(Returns:)40 b FB(the)31 b(alert)g(co)s(de)g(to)g(use)f(for)g -(a)h(particular)g(error)f(co)s(de.)150 2285 y Fu(gn)m(utls)p -483 2285 V 55 w(ext)p 707 2285 V 53 w(register)3350 2489 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ext_register)e -Fg(\()p Ff(in)m(t)32 b Fe(type)12 b Ff(,)31 b(const)g(c)m(har)g(*)f -Fe(name)12 b Ff(,)565 2599 y(gn)m(utls)p 811 2599 28 -4 v 41 w(ext)p 975 2599 V 40 w(parse)p 1223 2599 V 40 -w(t)m(yp)s(e)p 1437 2599 V 40 w(t)31 b Fe(parse_type)12 -b Ff(,)33 b(gn)m(utls)p 2373 2599 V 41 w(ext)p 2537 2599 -V 40 w(recv)p 2741 2599 V 41 w(func)c Fe(recv_func)12 -b Ff(,)565 2708 y(gn)m(utls)p 811 2708 V 41 w(ext)p 975 -2708 V 40 w(send)p 1193 2708 V 40 w(func)29 b Fe(send_func)12 -b Fg(\))390 2818 y Ff(t)m(yp)s(e)5 b FB(:)41 b(the)31 -b(16-bit)g(in)m(teger)h(referring)e(to)h(the)g(extension)g(t)m(yp)s(e) -390 2960 y Ff(name)5 b FB(:)41 b(h)m(uman)29 b(prin)m(table)i(name)f -(of)h(the)g(extension)g(used)e(for)h(debugging)390 3102 -y Ff(parse)p 604 3102 V 40 w(t)m(yp)s(e)5 b FB(:)41 b(either)31 -b Fs(GNUTLS_EXT_TLS)26 b FB(or)k Fs(GNUTLS_EXT_APPLICATION)p -FB(.)390 3244 y Ff(recv)p 560 3244 V 40 w(func)6 b FB(:)40 -b(a)31 b(function)f(to)h(receiv)m(e)h(extension)f(data)390 -3386 y Ff(send)p 574 3386 V 39 w(func)6 b FB(:)40 b(a)30 -b(function)g(to)i(send)d(extension)i(data)390 3528 y(This)f(function)g -(is)g(used)g(to)h(register)g(a)g(new)f(TLS)f(extension)i(handler.)390 -3670 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)390 3813 y Fn(Since:)41 -b FB(2.6.0)150 4019 y Fu(gn)m(utls)p 483 4019 37 5 v -55 w(\014ngerprin)m(t)3350 4224 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_fingerprint)e Fg(\()p Ff(gn)m(utls)p -1627 4224 28 4 v 41 w(digest)p 1900 4224 V 41 w(algorithm)p -2324 4224 V 41 w(t)30 b Fe(algo)12 b Ff(,)32 b(const)565 -4333 y(gn)m(utls)p 811 4333 V 41 w(datum)p 1110 4333 -V 39 w(t)f(*)g Fe(data)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(result)12 -b Ff(,)31 b(size)p 2361 4333 V 41 w(t)g(*)g Fe(result_size)12 -b Fg(\))390 4443 y Ff(algo)5 b FB(:)42 b(is)30 b(a)h(digest)g -(algorithm)390 4585 y Ff(data)p FB(:)41 b(is)31 b(the)f(data)390 -4727 y Ff(result)r FB(:)41 b(is)30 b(the)h(place)g(where)f(the)g +5322 y Fn(Returns:)40 b FB(the)31 b(alert)g(co)s(de)g(to)g(use)f(for)g +(a)h(particular)g(error)f(co)s(de.)p eop end +%%Page: 143 149 +TeXDict begin 143 148 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(143)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(\014ngerprin)m(t)3350 +503 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_fingerprint)e +Fg(\()p Ff(gn)m(utls)p 1627 503 28 4 v 41 w(digest)p +1900 503 V 41 w(algorithm)p 2324 503 V 41 w(t)30 b Fe(algo)p +Ff(,)i(const)565 612 y(gn)m(utls)p 811 612 V 41 w(datum)p +1110 612 V 39 w(t)f(*)g Fe(data)p Ff(,)g(v)m(oid)g(*)g +Fe(result)p Ff(,)h(size)p 2338 612 V 41 w(t)f(*)g Fe(result_size)12 +b Fg(\))390 722 y Ff(algo)5 b FB(:)42 b(is)30 b(a)h(digest)g(algorithm) +390 863 y Ff(data)p FB(:)41 b(is)31 b(the)f(data)390 +1005 y Ff(result)r FB(:)41 b(is)30 b(the)h(place)g(where)f(the)g (result)h(will)f(b)s(e)g(copied)h(\(ma)m(y)g(b)s(e)f(n)m(ull\).)390 -4869 y Ff(result)p 619 4869 V 40 w(size)5 b FB(:)45 b(should)32 +1146 y Ff(result)p 619 1146 V 40 w(size)5 b FB(:)45 b(should)32 b(hold)g(the)g(size)h(of)g(the)f(result.)46 b(The)32 -b(actual)i(size)f(of)f(the)h(returned)e(result)390 4979 -y(will)g(also)g(b)s(e)f(copied)h(there.)390 5121 y(This)36 +b(actual)i(size)f(of)f(the)h(returned)e(result)390 1256 +y(will)g(also)g(b)s(e)f(copied)h(there.)390 1398 y(This)36 b(function)g(will)h(calculate)i(a)e(\014ngerprin)m(t)f(\(actually)j(a)e -(hash\),)h(of)f(the)f(giv)m(en)i(data.)60 b(The)390 5230 +(hash\),)h(of)f(the)f(giv)m(en)i(data.)60 b(The)390 1507 y(result)45 b(is)f(not)h(prin)m(table)g(data.)85 b(Y)-8 b(ou)45 b(should)e(con)m(v)m(ert)k(it)e(to)g(hex,)k(or)44 -b(to)i(something)f(else)390 5340 y(prin)m(table.)p eop -end -%%Page: 145 151 -TeXDict begin 145 150 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(145)390 299 y(This)29 -b(is)g(the)g(usual)g(w)m(a)m(y)i(to)f(calculate)h(a)f(\014ngerprin)m(t) -e(of)i(an)f(X.509)i(DER)f(enco)s(ded)f(certi\014cate.)390 -408 y(Note)34 b(ho)m(w)m(ev)m(er)g(that)f(the)f(\014ngerprin)m(t)g(of)h -(an)f(Op)s(enPGP)f(is)h(not)h(just)f(a)h(hash)f(and)f(cannot)j(b)s(e) -390 518 y(calculated)e(with)e(this)h(function.)390 652 -y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 -b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 762 y(returned.)150 961 y Fu(gn)m(utls)p 483 961 -37 5 v 55 w(free)3350 1157 y FB([F)-8 b(unction])-3599 +b(to)i(something)f(else)390 1617 y(prin)m(table.)390 +1758 y(This)29 b(is)g(the)g(usual)g(w)m(a)m(y)i(to)f(calculate)h(a)f +(\014ngerprin)m(t)e(of)i(an)f(X.509)i(DER)f(enco)s(ded)f +(certi\014cate.)390 1868 y(Note)34 b(ho)m(w)m(ev)m(er)g(that)f(the)f +(\014ngerprin)m(t)g(of)h(an)f(Op)s(enPGP)f(is)h(not)h(just)f(a)h(hash)f +(and)f(cannot)j(b)s(e)390 1977 y(calculated)e(with)e(this)h(function.) +390 2119 y Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS) +29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g +(is)390 2229 y(returned.)150 2435 y Fv(gn)m(utls)p 483 +2435 37 5 v 55 w(free)3350 2639 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_free)48 b Fg(\()p Ff(v)m(oid)32 -b(*)e Fe(ptr)12 b Fg(\))390 1267 y FB(This)30 b(function)g(will)g(free) -h(data)g(p)s(oin)m(ted)f(b)m(y)g(ptr.)390 1401 y(The)71 +b(*)e Fe(ptr)12 b Fg(\))390 2748 y FB(This)30 b(function)g(will)g(free) +h(data)g(p)s(oin)m(ted)f(b)m(y)g(ptr.)390 2890 y(The)71 b(deallo)s(cation)i(function)f(used)e(is)i(the)f(one)h(set)g(b)m(y)f -Fs(gnutls_global_set_mem_)390 1511 y(functions\(\))p -FB(.)150 1709 y Fu(gn)m(utls)p 483 1709 V 55 w(global)p -856 1709 V 54 w(deinit)3350 1906 y FB([F)-8 b(unction])-3599 +Ft(gnutls_global_set_mem_)390 2999 y(functions\(\))p +FB(.)150 3206 y Fv(gn)m(utls)p 483 3206 V 55 w(global)p +856 3206 V 54 w(deinit)3350 3409 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_global_deinit)d Fg(\()31 b Fe(void)12 -b Fg(\))390 2015 y FB(This)21 b(function)g(deinitializes)i(the)f +b Fg(\))390 3519 y FB(This)21 b(function)g(deinitializes)i(the)f (global)h(data,)h(that)e(w)m(ere)g(initialized)h(using)e -Fs(gnutls_global_)390 2125 y(init\(\))p FB(.)390 2259 +Ft(gnutls_global_)390 3629 y(init\(\))p FB(.)390 3770 y(Note!)40 b(This)24 b(function)h(is)g(not)g(thread)g(safe.)39 -b(See)25 b(the)g(discussion)g(for)f Fs(gnutls_global_init\(\))390 -2369 y FB(for)30 b(more)h(information.)150 2568 y Fu(gn)m(utls)p -483 2568 V 55 w(global)p 856 2568 V 54 w(init)3350 2764 +b(See)25 b(the)g(discussion)g(for)f Ft(gnutls_global_init\(\))390 +3880 y FB(for)30 b(more)h(information.)150 4086 y Fv(gn)m(utls)p +483 4086 V 55 w(global)p 856 4086 V 54 w(init)3350 4290 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_global_init)e -Fg(\()31 b Fe(void)12 b Fg(\))390 2873 y FB(This)34 b(function)h +Fg(\()31 b Fe(void)12 b Fg(\))390 4399 y FB(This)34 b(function)h (initializes)i(the)e(global)h(data)g(to)f(defaults.)54 b(Ev)m(ery)36 b(gn)m(utls)f(application)h(has)f(a)390 -2983 y(global)27 b(data)f(whic)m(h)f(holds)g(common)h(parameters)g +4509 y(global)27 b(data)f(whic)m(h)f(holds)g(common)h(parameters)g (shared)f(b)m(y)g(gn)m(utls)h(session)g(structures.)38 -b(Y)-8 b(ou)390 3093 y(should)29 b(call)j Fs(gnutls_global_deinit\(\)) +b(Y)-8 b(ou)390 4619 y(should)29 b(call)j Ft(gnutls_global_deinit\(\)) 24 b FB(when)30 b(gn)m(utls)g(usage)h(is)g(no)f(longer)h(needed)390 -3227 y(Note)45 b(that)f(this)f(function)g(will)h(also)h(initialize)h +4760 y(Note)45 b(that)f(this)f(function)g(will)h(also)h(initialize)h (libgcrypt,)h(if)c(it)h(has)g(not)f(b)s(een)g(initialized)390 -3337 y(b)s(efore.)c(Th)m(us)25 b(if)g(y)m(ou)h(w)m(an)m(t)h(to)g(man)m +4870 y(b)s(efore.)c(Th)m(us)25 b(if)g(y)m(ou)h(w)m(an)m(t)h(to)g(man)m (ually)f(initialize)i(libgcrypt)e(y)m(ou)g(m)m(ust)g(do)g(it)g(b)s -(efore)f(calling)390 3446 y(this)k(function.)40 b(This)29 +(efore)f(calling)390 4979 y(this)k(function.)40 b(This)29 b(is)h(useful)e(in)h(cases)i(y)m(ou)f(w)m(an)m(t)g(to)g(disable)g -(libgcrypt's)g(in)m(ternal)g(lo)s(c)m(kings)390 3556 -y(etc.)390 3690 y(This)43 b(function)g(incremen)m(t)h(a)g(global)h -(coun)m(ter,)i(so)d(that)g Fs(gnutls_global_deinit\(\))38 -b FB(only)390 3800 y(releases)30 b(resources)f(when)f(it)h(has)g(b)s -(een)f(called)i(as)g(man)m(y)f(times)g(as)g Fs(gnutls_global_init\(\))p -FB(.)390 3909 y(This)d(is)h(useful)f(when)f(Gn)m(uTLS)h(is)h(used)f(b)m -(y)g(more)h(than)g(one)g(library)f(in)g(an)h(application.)41 -b(This)390 4019 y(function)30 b(can)h(b)s(e)e(called)j(man)m(y)f -(times,)g(but)e(will)i(only)g(do)f(something)h(the)f(\014rst)g(time.) -390 4153 y(Note!)39 b(This)20 b(function)h(is)h(not)f(thread)g(safe.)38 +(libgcrypt's)g(in)m(ternal)g(lo)s(c)m(kings)390 5089 +y(etc.)390 5230 y(This)43 b(function)g(incremen)m(t)h(a)g(global)h +(coun)m(ter,)i(so)d(that)g Ft(gnutls_global_deinit\(\))38 +b FB(only)390 5340 y(releases)30 b(resources)f(when)f(it)h(has)g(b)s +(een)f(called)i(as)g(man)m(y)f(times)g(as)g Ft(gnutls_global_init\(\))p +FB(.)p eop end +%%Page: 144 150 +TeXDict begin 144 149 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(144)390 299 y(This)26 +b(is)h(useful)f(when)f(Gn)m(uTLS)h(is)h(used)f(b)m(y)g(more)h(than)g +(one)g(library)f(in)g(an)h(application.)41 b(This)390 +408 y(function)30 b(can)h(b)s(e)e(called)j(man)m(y)f(times,)g(but)e +(will)i(only)g(do)f(something)h(the)f(\014rst)g(time.)390 +535 y(Note!)39 b(This)20 b(function)h(is)h(not)f(thread)g(safe.)38 b(If)21 b(t)m(w)m(o)i(threads)e(call)h(this)f(function)g(sim)m -(ultaneously)-8 b(,)390 4263 y(they)21 b(can)h(cause)f(a)h(race)g(b)s +(ultaneously)-8 b(,)390 645 y(they)21 b(can)h(cause)f(a)h(race)g(b)s (et)m(w)m(een)f(c)m(hec)m(king)i(the)e(global)i(coun)m(ter)e(and)g -(incremen)m(ting)h(it,)i(causing)390 4372 y(b)s(oth)j(threads)g(to)h +(incremen)m(ting)h(it,)i(causing)390 754 y(b)s(oth)j(threads)g(to)h (execute)h(the)f(library)f(initialization)j(co)s(de.)40 -b(That)28 b(w)m(ould)f(lead)h(to)g(a)g(memory)390 4482 +b(That)28 b(w)m(ould)f(lead)h(to)g(a)g(memory)390 864 y(leak.)75 b(T)-8 b(o)41 b(handle)g(this,)k(y)m(our)c(application)h (could)g(in)m(v)m(ok)m(e)h(this)e(function)g(after)h(aquiring)g(a)390 -4591 y(thread)30 b(m)m(utex.)41 b(T)-8 b(o)31 b(ignore)g(the)g(p)s -(oten)m(tial)g(memory)g(leak)g(is)g(also)g(an)f(option.)390 -4726 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 +973 y(thread)30 b(m)m(utex.)41 b(T)-8 b(o)31 b(ignore)g(the)g(p)s(oten) +m(tial)g(memory)g(leak)g(is)g(also)g(an)f(option.)390 +1100 y Fn(Returns:)42 b FB(On)30 b(success,)i Ft(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 4835 y(is)f(returned.)150 5034 y Fu(gn)m(utls)p 483 -5034 V 55 w(global)p 856 5034 V 54 w(set)p 1062 5034 -V 54 w(log)p 1272 5034 V 55 w(function)3350 5230 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(gnutls_global_set_log_fu)q(nct)q(ion)e -Fg(\()p Ff(gn)m(utls)p 2307 5230 28 4 v 41 w(log)p 2463 -5230 V 41 w(func)29 b Fe(log_func)12 b Fg(\))390 5340 -y Ff(log)p 511 5340 V 41 w(func)6 b FB(:)40 b(it's)31 -b(a)f(log)i(function)p eop end -%%Page: 146 152 -TeXDict begin 146 151 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(146)390 299 y(This)33 -b(is)h(the)g(function)g(where)f(y)m(ou)i(set)f(the)g(logging)i -(function)e(gn)m(utls)g(is)g(going)h(to)g(use.)51 b(This)390 -408 y(function)25 b(only)g(accepts)h(a)g(c)m(haracter)h(arra)m(y)-8 -b(.)40 b(Normally)25 b(y)m(ou)h(ma)m(y)g(not)f(use)g(this)g(function)g -(since)390 518 y(it)31 b(is)f(only)h(used)e(for)i(debugging)f(purp)s -(oses.)390 645 y(gn)m(utls)p 636 645 28 4 v 40 w(log)p -791 645 V 42 w(func)f(is)h(of)h(the)g(form,)f(v)m(oid)h(\(*gn)m(utls)p -2141 645 V 41 w(log)p 2297 645 V 41 w(func\)\()f(in)m(t)h(lev)m(el,)h -(const)f(c)m(har*\);)150 828 y Fu(gn)m(utls)p 483 828 -37 5 v 55 w(global)p 856 828 V 54 w(set)p 1062 828 V -54 w(log)p 1272 828 V 55 w(lev)m(el)3350 1009 y FB([F)-8 +390 1209 y(is)f(returned.)150 1393 y Fv(gn)m(utls)p 483 +1393 37 5 v 55 w(global)p 856 1393 V 54 w(set)p 1062 +1393 V 54 w(log)p 1272 1393 V 55 w(function)3350 1573 +y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_global_set_log_fu)q +(nct)q(ion)e Fg(\()p Ff(gn)m(utls)p 2307 1573 28 4 v +41 w(log)p 2463 1573 V 41 w(func)29 b Fe(log_func)12 +b Fg(\))390 1683 y Ff(log)p 511 1683 V 41 w(func)6 b +FB(:)40 b(it's)31 b(a)f(log)i(function)390 1809 y(This)h(is)h(the)g +(function)g(where)f(y)m(ou)i(set)f(the)g(logging)i(function)e(gn)m +(utls)g(is)g(going)h(to)g(use.)51 b(This)390 1919 y(function)25 +b(only)g(accepts)h(a)g(c)m(haracter)h(arra)m(y)-8 b(.)40 +b(Normally)25 b(y)m(ou)h(ma)m(y)g(not)f(use)g(this)g(function)g(since) +390 2029 y(it)31 b(is)f(only)h(used)e(for)i(debugging)f(purp)s(oses.) +390 2155 y(gn)m(utls)p 636 2155 V 40 w(log)p 791 2155 +V 42 w(func)f(is)h(of)h(the)g(form,)f(v)m(oid)h(\(*gn)m(utls)p +2141 2155 V 41 w(log)p 2297 2155 V 41 w(func\)\()f(in)m(t)h(lev)m(el,)h +(const)f(c)m(har*\);)150 2338 y Fv(gn)m(utls)p 483 2338 +37 5 v 55 w(global)p 856 2338 V 54 w(set)p 1062 2338 +V 54 w(log)p 1272 2338 V 55 w(lev)m(el)3350 2519 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_global_set_log_le)q(vel)e -Fg(\()p Ff(in)m(t)31 b Fe(level)12 b Fg(\))390 1118 y +Fg(\()p Ff(in)m(t)31 b Fe(level)12 b Fg(\))390 2629 y Ff(lev)m(el)t FB(:)42 b(it's)31 b(an)f(in)m(teger)i(from)e(0)h(to)g(9.) -390 1245 y(This)22 b(is)h(the)g(function)g(that)g(allo)m(ws)h(y)m(ou)f +390 2755 y(This)22 b(is)h(the)g(function)g(that)g(allo)m(ws)h(y)m(ou)f (to)h(set)f(the)h(log)g(lev)m(el.)39 b(The)23 b(lev)m(el)h(is)f(an)g -(in)m(teger)h(b)s(et)m(w)m(een)390 1354 y(0)35 b(and)f(9.)53 +(in)m(teger)h(b)s(et)m(w)m(een)390 2865 y(0)35 b(and)f(9.)53 b(Higher)34 b(v)-5 b(alues)35 b(mean)g(more)f(v)m(erb)s(osit)m(y)-8 b(.)54 b(The)34 b(default)h(v)-5 b(alue)34 b(is)h(0.)53 -b(Larger)35 b(v)-5 b(alues)390 1464 y(should)29 b(only)i(b)s(e)f(used)f +b(Larger)35 b(v)-5 b(alues)390 2974 y(should)29 b(only)i(b)s(e)f(used)f (with)h(care,)i(since)e(they)h(ma)m(y)g(rev)m(eal)h(sensitiv)m(e)f -(information.)390 1590 y(Use)g(a)g(log)g(lev)m(el)h(o)m(v)m(er)g(10)f -(to)g(enable)g(all)g(debugging)f(options.)150 1774 y -Fu(gn)m(utls)p 483 1774 V 55 w(global)p 856 1774 V 54 -w(set)p 1062 1774 V 54 w(mem)p 1376 1774 V 55 w(functions)3350 -1954 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(information.)390 3101 y(Use)g(a)g(log)g(lev)m(el)h(o)m(v)m(er)g(10)f +(to)g(enable)g(all)g(debugging)f(options.)150 3284 y +Fv(gn)m(utls)p 483 3284 V 55 w(global)p 856 3284 V 54 +w(set)p 1062 3284 V 54 w(mem)p 1376 3284 V 55 w(functions)3350 +3465 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_global_set_mem_fu)q(nct)q(ion)q(s)d Fg(\()p Ff(gn)m(utls)p -2359 1954 28 4 v 41 w(allo)s(c)p 2583 1954 V 41 w(function)565 -2064 y Fe(alloc_func)12 b Ff(,)33 b(gn)m(utls)p 1401 -2064 V 41 w(allo)s(c)p 1625 2064 V 41 w(function)d Fe -(secure_alloc_func)12 b Ff(,)565 2173 y(gn)m(utls)p 811 -2173 V 41 w(is)p 913 2173 V 40 w(secure)p 1196 2173 V -40 w(function)30 b Fe(is_secure_func)12 b Ff(,)34 b(gn)m(utls)p -2631 2173 V 41 w(reallo)s(c)p 2931 2173 V 41 w(function)565 -2283 y Fe(realloc_func)12 b Ff(,)34 b(gn)m(utls)p 1506 -2283 V 40 w(free)p 1690 2283 V 40 w(function)c Fe(free_func)12 -b Fg(\))390 2393 y Ff(allo)s(c)p 579 2393 V 41 w(func)6 +2359 3465 28 4 v 41 w(allo)s(c)p 2583 3465 V 41 w(function)565 +3575 y Fe(alloc_func)p Ff(,)34 b(gn)m(utls)p 1390 3575 +V 40 w(allo)s(c)p 1613 3575 V 41 w(function)d Fe(secure_alloc_func)p +Ff(,)565 3684 y(gn)m(utls)p 811 3684 V 41 w(is)p 913 +3684 V 40 w(secure)p 1196 3684 V 40 w(function)f Fe(is_secure_func)p +Ff(,)35 b(gn)m(utls)p 2620 3684 V 40 w(reallo)s(c)p 2919 +3684 V 41 w(function)565 3794 y Fe(realloc_func)p Ff(,)f(gn)m(utls)p +1494 3794 V 41 w(free)p 1679 3794 V 40 w(function)c Fe(free_func)12 +b Fg(\))390 3903 y Ff(allo)s(c)p 579 3903 V 41 w(func)6 b FB(:)40 b(it's)31 b(the)f(default)h(memory)f(allo)s(cation)j -(function.)40 b(Lik)m(e)31 b Fs(malloc\(\))p FB(.)390 -2519 y Ff(secure)p 639 2519 V 40 w(allo)s(c)p 862 2519 +(function.)40 b(Lik)m(e)31 b Ft(malloc\(\))p FB(.)390 +4030 y Ff(secure)p 639 4030 V 40 w(allo)s(c)p 862 4030 V 42 w(func)6 b FB(:)38 b(This)27 b(is)h(the)h(memory)f(allo)s(cation)j (function)c(that)i(will)g(b)s(e)e(used)h(for)g(sensi-)390 -2629 y(tiv)m(e)k(data.)390 2755 y Ff(is)p 457 2755 V -40 w(secure)p 740 2755 V 40 w(func)6 b FB(:)43 b(a)32 +4139 y(tiv)m(e)k(data.)390 4266 y Ff(is)p 457 4266 V +40 w(secure)p 740 4266 V 40 w(func)6 b FB(:)43 b(a)32 b(function)g(that)h(returns)e(0)h(if)g(the)g(memory)g(giv)m(en)h(is)f -(not)h(secure.)45 b(Ma)m(y)34 b(b)s(e)390 2865 y(NULL.)390 -2991 y Ff(reallo)s(c)p 655 2991 V 41 w(func)6 b FB(:)40 -b(A)30 b(reallo)s(c)i(function)390 3118 y Ff(free)p 540 -3118 V 40 w(func)6 b FB(:)40 b(The)29 b(function)h(that)h(frees)g(allo) +(not)h(secure.)45 b(Ma)m(y)34 b(b)s(e)390 4375 y(NULL.)390 +4502 y Ff(reallo)s(c)p 655 4502 V 41 w(func)6 b FB(:)40 +b(A)30 b(reallo)s(c)i(function)390 4628 y Ff(free)p 540 +4628 V 40 w(func)6 b FB(:)40 b(The)29 b(function)h(that)h(frees)g(allo) s(cated)h(data.)42 b(Must)30 b(accept)i(a)f(NULL)f(p)s(oin)m(ter.)390 -3244 y(This)40 b(is)h(the)g(function)f(w)m(ere)h(y)m(ou)g(set)g(the)g +4755 y(This)40 b(is)h(the)g(function)f(w)m(ere)h(y)m(ou)g(set)g(the)g (memory)g(allo)s(cation)i(functions)d(gn)m(utls)h(is)g(going)390 -3354 y(to)d(use.)62 b(By)38 b(default)f(the)h(lib)s(c's)f(allo)s -(cation)j(functions)d(\()p Fs(malloc\(\))p FB(,)g Fs(free\(\))p -FB(\),)i(are)e(used)g(b)m(y)390 3463 y(gn)m(utls,)i(to)f(allo)s(cate)h +4865 y(to)d(use.)62 b(By)38 b(default)f(the)h(lib)s(c's)f(allo)s +(cation)j(functions)d(\()p Ft(malloc\(\))p FB(,)g Ft(free\(\))p +FB(\),)i(are)e(used)g(b)m(y)390 4974 y(gn)m(utls,)i(to)f(allo)s(cate)h (b)s(oth)d(sensitiv)m(e)j(and)d(not)h(sensitiv)m(e)h(data.)62 -b(This)36 b(function)g(is)h(pro)m(vided)390 3573 y(to)d(set)g(the)g +b(This)36 b(function)g(is)h(pro)m(vided)390 5084 y(to)d(set)g(the)g (memory)f(allo)s(cation)j(functions)d(to)h(something)g(other)f(than)g -(the)h(defaults)f(\(ie)i(the)390 3683 y(gcrypt)c(allo)s(cation)h -(functions\).)390 3809 y(This)f(function)g(m)m(ust)g(b)s(e)g(called)i -(b)s(efore)e Fs(gnutls_global_init\(\))26 b FB(is)32 -b(called.)45 b(This)31 b(function)390 3919 y(is)f(not)h(thread)f(safe.) -150 4102 y Fu(gn)m(utls)p 483 4102 37 5 v 55 w(handshak)m(e)p -1096 4102 V 53 w(get)p 1314 4102 V 54 w(last)p 1558 4102 -V 54 w(in)3350 4283 y FB([F)-8 b(unction])-3599 b Fh -(gnutls_handshake_descr)q(ipt)q(ion_)q(t)565 4392 y -(gnutls_handshake_get_l)q(ast)q(_in)52 b Fg(\()p Ff(gn)m(utls)p -2356 4392 28 4 v 41 w(session)p 2666 4392 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 4502 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4628 y(This)35 b(function)g(is)g(only)h(useful)f(to)h(c)m(hec)m(k)h -(where)e(the)h(last)g(p)s(erformed)e(handshak)m(e)h(failed.)56 -b(If)390 4738 y(the)26 b(previous)g(handshak)m(e)f(succeed)i(or)f(w)m -(as)g(not)g(p)s(erformed)f(at)h(all)h(then)f(no)g(meaningful)f(v)-5 -b(alue)390 4848 y(will)31 b(b)s(e)e(returned.)390 4974 -y(Chec)m(k)43 b Fs(gnutls_handshake_descripti)o(on_)o(t)37 -b FB(in)43 b(gn)m(utls.h)g(for)g(the)g(a)m(v)-5 b(ailable)45 -b(handshak)m(e)390 5084 y(descriptions.)390 5210 y Fn(Returns:)123 -b FB(the)72 b(last)h(handshak)m(e)e(message)i(t)m(yp)s(e)f(receiv)m -(ed,)84 b(a)72 b Fs(gnutls_handshake_)390 5320 y(description_t)p -FB(.)p eop end -%%Page: 147 153 -TeXDict begin 147 152 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(147)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(handshak)m(e)p 1096 +(the)h(defaults)f(\(ie)i(the)390 5193 y(gcrypt)c(allo)s(cation)h +(functions\).)390 5320 y(This)e(function)g(m)m(ust)g(b)s(e)g(called)h +(b)s(efore)f Ft(gnutls_global_init\(\))25 b FB(is)30 +b(called.)p eop end +%%Page: 145 151 +TeXDict begin 145 150 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(145)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(handshak)m(e)p 1096 299 V 53 w(get)p 1314 299 V 54 w(last)p 1558 299 V 54 -w(out)3350 518 y FB([F)-8 b(unction])-3599 b Fh(gnutls_handshake_descr) -q(ipt)q(ion_)q(t)565 628 y(gnutls_handshake_get_l)q(ast)q(_ou)q(t)51 -b Fg(\()p Ff(gn)m(utls)p 2408 628 28 4 v 41 w(session)p -2718 628 V 40 w(t)31 b Fe(session)12 b Fg(\))390 738 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 895 y(This)35 b(function)g(is)g(only)h(useful)f(to) +w(in)3350 487 y FB([F)-8 b(unction])-3599 b Fh(gnutls_handshake_descr)q +(ipt)q(ion_)q(t)565 597 y(gnutls_handshake_get_l)q(ast)q(_in)52 +b Fg(\()p Ff(gn)m(utls)p 2356 597 28 4 v 41 w(session)p +2666 597 V 40 w(t)31 b Fe(session)12 b Fg(\))390 707 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 837 y(This)35 b(function)g(is)g(only)h(useful)f(to) h(c)m(hec)m(k)h(where)e(the)h(last)g(p)s(erformed)e(handshak)m(e)h -(failed.)56 b(If)390 1004 y(the)26 b(previous)g(handshak)m(e)f(succeed) -i(or)f(w)m(as)g(not)g(p)s(erformed)f(at)h(all)h(then)f(no)g(meaningful) -f(v)-5 b(alue)390 1114 y(will)31 b(b)s(e)e(returned.)390 -1271 y(Chec)m(k)43 b Fs(gnutls_handshake_descripti)o(on_)o(t)37 +(failed.)56 b(If)390 946 y(the)26 b(previous)g(handshak)m(e)f(succeed)i +(or)f(w)m(as)g(not)g(p)s(erformed)f(at)h(all)h(then)f(no)g(meaningful)f +(v)-5 b(alue)390 1056 y(will)31 b(b)s(e)e(returned.)390 +1186 y(Chec)m(k)43 b Ft(gnutls_handshake_descripti)o(on_)o(t)37 b FB(in)43 b(gn)m(utls.h)g(for)g(the)g(a)m(v)-5 b(ailable)45 -b(handshak)m(e)390 1381 y(descriptions.)390 1538 y Fn(Returns:)38 +b(handshak)m(e)390 1296 y(descriptions.)390 1426 y Fn(Returns:)123 +b FB(the)72 b(last)h(handshak)m(e)e(message)i(t)m(yp)s(e)f(receiv)m +(ed,)84 b(a)72 b Ft(gnutls_handshake_)390 1536 y(description_t)p +FB(.)150 1727 y Fv(gn)m(utls)p 483 1727 37 5 v 55 w(handshak)m(e)p +1096 1727 V 53 w(get)p 1314 1727 V 54 w(last)p 1558 1727 +V 54 w(out)3350 1915 y FB([F)-8 b(unction])-3599 b Fh +(gnutls_handshake_descr)q(ipt)q(ion_)q(t)565 2025 y +(gnutls_handshake_get_l)q(ast)q(_ou)q(t)51 b Fg(\()p +Ff(gn)m(utls)p 2408 2025 28 4 v 41 w(session)p 2718 2025 +V 40 w(t)31 b Fe(session)12 b Fg(\))390 2134 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2265 y(This)35 b(function)g(is)g(only)h(useful)f(to)h(c)m(hec)m(k)h +(where)e(the)h(last)g(p)s(erformed)e(handshak)m(e)h(failed.)56 +b(If)390 2374 y(the)26 b(previous)g(handshak)m(e)f(succeed)i(or)f(w)m +(as)g(not)g(p)s(erformed)f(at)h(all)h(then)f(no)g(meaningful)f(v)-5 +b(alue)390 2484 y(will)31 b(b)s(e)e(returned.)390 2614 +y(Chec)m(k)43 b Ft(gnutls_handshake_descripti)o(on_)o(t)37 +b FB(in)43 b(gn)m(utls.h)g(for)g(the)g(a)m(v)-5 b(ailable)45 +b(handshak)m(e)390 2724 y(descriptions.)390 2854 y Fn(Returns:)38 b FB(the)27 b(last)g(handshak)m(e)e(message)i(t)m(yp)s(e)g(sen)m(t,)g -(a)g Fs(gnutls_handshake_descrip)o(tion)o(_)390 1648 -y(t)p FB(.)150 1869 y Fu(gn)m(utls)p 483 1869 37 5 v -55 w(handshak)m(e)p 1096 1869 V 53 w(set)p 1301 1869 -V 55 w(max)p 1583 1869 V 53 w(pac)m(k)m(et)p 1982 1869 -V 52 w(length)3350 2089 y FB([F)-8 b(unction])-3599 b +(a)g Ft(gnutls_handshake_descrip)o(tion)o(_)390 2964 +y(t)p FB(.)150 3155 y Fv(gn)m(utls)p 483 3155 37 5 v +55 w(handshak)m(e)p 1096 3155 V 53 w(set)p 1301 3155 +V 55 w(max)p 1583 3155 V 53 w(pac)m(k)m(et)p 1982 3155 +V 52 w(length)3350 3343 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_handshake_set_max)q(_pa)q(cke)q(t_l)q(engt)q(h)d -Fg(\()p Ff(gn)m(utls)p 2725 2089 28 4 v 41 w(session)p -3035 2089 V 40 w(t)565 2199 y Fe(session)12 b Ff(,)32 -b(size)p 1145 2199 V 41 w(t)f Fe(max)12 b Fg(\))390 2308 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 2465 y Ff(max)6 b FB(:)41 b(is)31 -b(the)f(maxim)m(um)g(n)m(um)m(b)s(er.)390 2623 y(This)d(function)h -(will)g(set)g(the)g(maxim)m(um)g(size)h(of)f(all)g(handshak)m(e)g -(messages.)41 b(Handshak)m(es)28 b(o)m(v)m(er)390 2732 -y(this)k(size)g(are)g(rejected)g(with)g Fs(GNUTLS_E_HANDSHAKE_TOO_)o -(LARG)o(E)26 b FB(error)31 b(co)s(de.)45 b(The)31 b(default)390 -2842 y(v)-5 b(alue)31 b(is)g(48kb)h(whic)m(h)e(is)h(t)m(ypically)i -(large)f(enough.)43 b(Set)31 b(this)g(to)g(0)h(if)f(y)m(ou)g(do)g(not)g -(w)m(an)m(t)h(to)f(set)390 2951 y(an)f(upp)s(er)f(limit.)390 -3109 y(The)h(reason)h(for)g(restricting)h(the)f(handshak)m(e)f(message) -i(sizes)f(are)g(to)h(limit)f(Denial)i(of)d(Service)390 -3218 y(attac)m(ks.)150 3440 y Fu(gn)m(utls)p 483 3440 -37 5 v 55 w(handshak)m(e)p 1096 3440 V 53 w(set)p 1301 -3440 V 55 w(p)s(ost)p 1584 3440 V 55 w(clien)m(t)p 1931 -3440 V 53 w(hello)p 2237 3440 V 55 w(function)3350 3660 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_handshake_set_pos)q -(t_c)q(lie)q(nt_)q(hell)q(o_f)q(unc)q(tion)565 3769 y -Fg(\()p Ff(gn)m(utls)p 846 3769 28 4 v 41 w(session)p -1156 3769 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(gn)m(utls)p -1935 3769 V 40 w(handshak)m(e)p 2390 3769 V 40 w(p)s(ost)p -2600 3769 V 40 w(clien)m(t)p 2853 3769 V 41 w(hello)p -3080 3769 V 41 w(func)e Fe(func)12 b Fg(\))390 3879 y -Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4036 y Ff(func)6 b FB(:)39 b(is)31 -b(the)f(function)g(to)i(b)s(e)d(called)390 4193 y(This)j(function)h -(will)g(set)g(a)g(callbac)m(k)i(to)f(b)s(e)e(called)i(after)g(the)f -(clien)m(t)h(hello)g(has)e(b)s(een)h(receiv)m(ed)390 -4303 y(\(callbac)m(k)d(v)-5 b(alid)28 b(in)g(serv)m(er)g(side)g -(only\).)40 b(This)27 b(allo)m(ws)i(the)f(serv)m(er)g(to)h(adjust)e -(settings)i(based)e(on)390 4412 y(receiv)m(ed)32 b(extensions.)390 -4570 y(Those)37 b(settings)h(could)f(b)s(e)f(ciphersuites,)j -(requesting)f(certi\014cate,)j(or)c(an)m(ything)g(else)h(except)390 -4679 y(for)30 b(v)m(ersion)h(negotiation)i(\(this)d(is)h(done)f(b)s -(efore)g(the)g(hello)i(message)f(is)g(parsed\).)390 4836 +Fg(\()p Ff(gn)m(utls)p 2725 3343 28 4 v 41 w(session)p +3035 3343 V 40 w(t)565 3453 y Fe(session)p Ff(,)33 b(size)p +1134 3453 V 41 w(t)d Fe(max)12 b Fg(\))390 3562 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3693 y Ff(max)6 b FB(:)41 b(is)31 b(the)f(maxim)m(um)g(n)m(um)m(b)s +(er.)390 3823 y(This)d(function)h(will)g(set)g(the)g(maxim)m(um)g(size) +h(of)f(all)g(handshak)m(e)g(messages.)41 b(Handshak)m(es)28 +b(o)m(v)m(er)390 3933 y(this)k(size)g(are)g(rejected)g(with)g +Ft(GNUTLS_E_HANDSHAKE_TOO_)o(LARG)o(E)26 b FB(error)31 +b(co)s(de.)45 b(The)31 b(default)390 4042 y(v)-5 b(alue)31 +b(is)g(48kb)h(whic)m(h)e(is)h(t)m(ypically)i(large)f(enough.)43 +b(Set)31 b(this)g(to)g(0)h(if)f(y)m(ou)g(do)g(not)g(w)m(an)m(t)h(to)f +(set)390 4152 y(an)f(upp)s(er)f(limit.)390 4282 y(The)h(reason)h(for)g +(restricting)h(the)f(handshak)m(e)f(message)i(sizes)f(are)g(to)h(limit) +f(Denial)i(of)d(Service)390 4392 y(attac)m(ks.)150 4583 +y Fv(gn)m(utls)p 483 4583 37 5 v 55 w(handshak)m(e)p +1096 4583 V 53 w(set)p 1301 4583 V 55 w(p)s(ost)p 1584 +4583 V 55 w(clien)m(t)p 1931 4583 V 53 w(hello)p 2237 +4583 V 55 w(function)3350 4771 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_handshake_set_pos)q(t_c)q(lie)q(nt_)q(hell)q(o_f) +q(unc)q(tion)565 4881 y Fg(\()p Ff(gn)m(utls)p 846 4881 +28 4 v 41 w(session)p 1156 4881 V 40 w(t)31 b Fe(session)p +Ff(,)h(gn)m(utls)p 1923 4881 V 41 w(handshak)m(e)p 2379 +4881 V 39 w(p)s(ost)p 2588 4881 V 40 w(clien)m(t)p 2841 +4881 V 42 w(hello)p 3069 4881 V 41 w(func)d Fe(func)12 +b Fg(\))390 4990 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(function)g(to)i +(b)s(e)d(called)390 5121 y(This)j(function)h(will)g(set)g(a)g(callbac)m +(k)i(to)f(b)s(e)e(called)i(after)g(the)f(clien)m(t)h(hello)g(has)e(b)s +(een)h(receiv)m(ed)390 5230 y(\(callbac)m(k)d(v)-5 b(alid)28 +b(in)g(serv)m(er)g(side)g(only\).)40 b(This)27 b(allo)m(ws)i(the)f +(serv)m(er)g(to)h(adjust)e(settings)i(based)e(on)390 +5340 y(receiv)m(ed)32 b(extensions.)p eop end +%%Page: 146 152 +TeXDict begin 146 151 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(146)390 299 y(Those)37 +b(settings)h(could)f(b)s(e)f(ciphersuites,)j(requesting)f +(certi\014cate,)j(or)c(an)m(ything)g(else)h(except)390 +408 y(for)30 b(v)m(ersion)h(negotiation)i(\(this)d(is)h(done)f(b)s +(efore)g(the)g(hello)i(message)f(is)g(parsed\).)390 537 y(This)e(callbac)m(k)j(m)m(ust)d(return)g(0)h(on)f(success)h(or)g(a)g (gn)m(utls)g(error)f(co)s(de)h(to)g(terminate)h(the)f(hand-)390 -4946 y(shak)m(e.)390 5103 y Fn(W)-8 b(arning:)37 b FB(Y)-8 +646 y(shak)m(e.)390 774 y Fn(W)-8 b(arning:)37 b FB(Y)-8 b(ou)23 b(should)f(not)h(use)g(this)f(function)h(to)g(terminate)h(the)f -(handshak)m(e)f(based)h(on)f(clien)m(t)390 5213 y(input)30 +(handshak)m(e)f(based)h(on)f(clien)m(t)390 884 y(input)30 b(unless)f(y)m(ou)i(kno)m(w)g(what)f(y)m(ou)h(are)g(doing.)41 b(Before)31 b(the)g(handshak)m(e)f(is)g(\014nished)f(there)i(is)390 -5322 y(no)f(w)m(a)m(y)i(to)f(kno)m(w)f(if)g(there)h(is)f(a)h -(man-in-the-middle)g(attac)m(k)i(b)s(eing)d(p)s(erformed.)p -eop end -%%Page: 148 154 -TeXDict begin 148 153 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(148)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(handshak)m(e)p 1096 -299 V 53 w(set)p 1301 299 V 55 w(priv)-7 b(ate)p 1730 -299 V 53 w(extensions)3350 483 y FB([F)f(unction])-3599 +993 y(no)f(w)m(a)m(y)i(to)f(kno)m(w)f(if)g(there)h(is)f(a)h +(man-in-the-middle)g(attac)m(k)i(b)s(eing)d(p)s(erformed.)150 +1180 y Fv(gn)m(utls)p 483 1180 37 5 v 55 w(handshak)m(e)p +1096 1180 V 53 w(set)p 1301 1180 V 55 w(priv)-7 b(ate)p +1730 1180 V 53 w(extensions)3350 1364 y FB([F)f(unction])-3599 b Fh(void)54 b(gnutls_handshake_set_pri)q(vat)q(e_e)q(xte)q(nsio)q(ns)e -Fg(\()p Ff(gn)m(utls)p 2778 483 28 4 v 41 w(session)p -3088 483 V 40 w(t)565 593 y Fe(session)12 b Ff(,)32 b(in)m(t)f -Fe(allow)12 b Fg(\))390 702 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 830 +Fg(\()p Ff(gn)m(utls)p 2778 1364 28 4 v 41 w(session)p +3088 1364 V 40 w(t)565 1473 y Fe(session)p Ff(,)33 b(in)m(t)e +Fe(allow)12 b Fg(\))390 1583 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 1711 y Ff(allo)m(w)8 b FB(:)42 b(is)30 b(an)h(in)m(teger)g(\(0)h(or)e(1\)) -390 959 y(This)23 b(function)g(will)h(enable)g(or)g(disable)f(the)h +390 1839 y(This)23 b(function)g(will)h(enable)g(or)g(disable)f(the)h (use)g(of)f(priv)-5 b(ate)24 b(cipher)g(suites)f(\(the)h(ones)g(that)g -(start)390 1068 y(with)i(0xFF\).)i(By)f(default)g(or)f(if)h -Fs(allow)e FB(is)h(0)h(then)f(these)h(cipher)g(suites)f(will)h(not)g(b) -s(e)f(adv)m(ertized)390 1178 y(nor)k(used.)390 1306 y(Unless)g(this)f +(start)390 1949 y(with)i(0xFF\).)i(By)f(default)g(or)f(if)h +Ft(allow)e FB(is)h(0)h(then)f(these)h(cipher)g(suites)f(will)h(not)g(b) +s(e)f(adv)m(ertized)390 2058 y(nor)k(used.)390 2187 y(Unless)g(this)f (function)h(is)f(called)i(with)f(the)g(option)g(to)g(allo)m(w)h(\(1\),) -g(then)f(no)f(compression)h(algo-)390 1416 y(rithms,)35 +g(then)f(no)f(compression)h(algo-)390 2296 y(rithms,)35 b(lik)m(e)h(LZO.)d(That)i(is)f(b)s(ecause)g(these)h(algorithms)h(are)e (not)h(y)m(et)h(de\014ned)d(in)h(an)m(y)h(RF)m(C)390 -1525 y(or)30 b(ev)m(en)h(in)m(ternet)h(draft.)390 1653 +2406 y(or)30 b(ev)m(en)h(in)m(ternet)h(draft.)390 2534 y(Enabling)23 b(the)h(priv)-5 b(ate)23 b(ciphersuites)g(when)g(talking) h(to)g(other)g(than)f(gn)m(utls)g(serv)m(ers)h(and)e(clien)m(ts)390 -1763 y(ma)m(y)31 b(cause)g(in)m(terop)s(erabilit)m(y)h(problems.)150 -1950 y Fu(gn)m(utls)p 483 1950 37 5 v 55 w(handshak)m(e)3350 -2134 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_handshake)e -Fg(\()p Ff(gn)m(utls)p 1523 2134 28 4 v 40 w(session)p -1832 2134 V 40 w(t)31 b Fe(session)12 b Fg(\))390 2244 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 2372 y(This)32 b(function)h(do)s(es)f(the)h +2643 y(ma)m(y)31 b(cause)g(in)m(terop)s(erabilit)m(y)h(problems.)150 +2830 y Fv(gn)m(utls)p 483 2830 37 5 v 55 w(handshak)m(e)3350 +3014 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_handshake)e +Fg(\()p Ff(gn)m(utls)p 1523 3014 28 4 v 40 w(session)p +1832 3014 V 40 w(t)31 b Fe(session)12 b Fg(\))390 3124 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 3252 y(This)32 b(function)h(do)s(es)f(the)h (handshak)m(e)g(of)g(the)g(TLS/SSL)e(proto)s(col,)k(and)d(initializes)j -(the)e(TLS)390 2481 y(connection.)390 2610 y(This)28 +(the)e(TLS)390 3361 y(connection.)390 3489 y(This)28 b(function)h(will)h(fail)g(if)f(an)m(y)g(problem)g(is)g(encoun)m (tered,)h(and)f(will)g(return)f(a)i(negativ)m(e)h(error)390 -2719 y(co)s(de.)54 b(In)35 b(case)g(of)g(a)h(clien)m(t,)i(if)c(the)h +3599 y(co)s(de.)54 b(In)35 b(case)g(of)g(a)h(clien)m(t,)i(if)c(the)h (clien)m(t)i(has)d(ask)m(ed)i(to)g(resume)e(a)h(session,)h(but)f(the)g -(serv)m(er)390 2829 y(couldn't,)c(then)f(a)h(full)f(handshak)m(e)g -(will)g(b)s(e)g(p)s(erformed.)390 2957 y(The)f(non-fatal)i(errors)e -(suc)m(h)g(as)h Fs(GNUTLS_E_AGAIN)c FB(and)j Fs(GNUTLS_E_INTERRUPTED)24 -b FB(in)m(terrupt)390 3067 y(the)i(handshak)m(e)f(pro)s(cedure,)g(whic) +(serv)m(er)390 3708 y(couldn't,)c(then)f(a)h(full)f(handshak)m(e)g +(will)g(b)s(e)g(p)s(erformed.)390 3837 y(The)f(non-fatal)i(errors)e +(suc)m(h)g(as)h Ft(GNUTLS_E_AGAIN)c FB(and)j Ft(GNUTLS_E_INTERRUPTED)24 +b FB(in)m(terrupt)390 3946 y(the)i(handshak)m(e)f(pro)s(cedure,)g(whic) m(h)g(should)g(b)s(e)g(later)h(b)s(e)f(resumed.)38 b(Call)26 -b(this)f(function)h(again,)390 3176 y(un)m(til)47 b(it)f(returns)f(0;) -55 b(cf.)89 b Fs(gnutls_record_get_dire)o(ctio)o(n\(\))40 -b FB(and)45 b Fs(gnutls_error_is_)390 3286 y(fatal\(\))p -FB(.)390 3414 y(If)27 b(this)h(function)f(is)h(called)h(b)m(y)f(a)g +b(this)f(function)h(again,)390 4056 y(un)m(til)47 b(it)f(returns)f(0;) +55 b(cf.)89 b Ft(gnutls_record_get_dire)o(ctio)o(n\(\))40 +b FB(and)45 b Ft(gnutls_error_is_)390 4165 y(fatal\(\))p +FB(.)390 4293 y(If)27 b(this)h(function)f(is)h(called)h(b)m(y)f(a)g (serv)m(er)g(after)g(a)g(rehandshak)m(e)f(request)h(then)g -Fs(GNUTLS_E_GOT_)390 3524 y(APPLICATION_DATA)i FB(or)k -Fs(GNUTLS_E_WARNING_ALERT_R)o(ECE)o(IVED)27 b FB(ma)m(y)35 -b(b)s(e)f(returned.)51 b(Note)390 3633 y(that)42 b(these)g(are)h(non)e +Ft(GNUTLS_E_GOT_)390 4403 y(APPLICATION_DATA)i FB(or)k +Ft(GNUTLS_E_WARNING_ALERT_R)o(ECE)o(IVED)27 b FB(ma)m(y)35 +b(b)s(e)f(returned.)51 b(Note)390 4513 y(that)42 b(these)g(are)h(non)e (fatal)i(errors,)h(only)e(in)f(the)h(sp)s(eci\014c)g(case)g(of)g(a)g -(rehandshak)m(e.)75 b(Their)390 3743 y(meaning)31 b(is)f(that)h(the)g +(rehandshak)m(e.)75 b(Their)390 4622 y(meaning)31 b(is)f(that)h(the)g (clien)m(t)h(rejected)f(the)f(rehandshak)m(e)g(request.)390 -3871 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)150 4058 y Fu(gn)m(utls)p -483 4058 37 5 v 55 w(hex2bin)3350 4242 y FB([F)-8 b(unction])-3599 +4750 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)150 4937 y Fv(gn)m(utls)p +483 4937 37 5 v 55 w(hex2bin)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_hex2bin)d Fg(\()p Ff(const)31 b(c)m(har)g(*)g -Fe(hex_data)12 b Ff(,)32 b(size)p 2318 4242 28 4 v 41 -w(t)f Fe(hex_size)12 b Ff(,)32 b(c)m(har)f(*)565 4351 -y Fe(bin_data)12 b Ff(,)33 b(size)p 1198 4351 V 41 w(t)d(*)h -Fe(bin_size)12 b Fg(\))390 4461 y Ff(hex)p 535 4461 V -40 w(data)p FB(:)41 b(string)31 b(with)f(data)h(in)f(hex)g(format)390 -4589 y Ff(hex)p 535 4589 V 40 w(size)5 b FB(:)42 b(size)31 -b(of)f(hex)h(data)390 4718 y Ff(bin)p 523 4718 V 39 w(data)p +Fe(hex_data)p Ff(,)i(size)p 2307 5121 28 4 v 41 w(t)d +Fe(hex_size)p Ff(,)j(c)m(har)e(*)565 5230 y Fe(bin_data)p +Ff(,)i(size)p 1186 5230 V 41 w(t)e(*)f Fe(bin_size)12 +b Fg(\))390 5340 y Ff(hex)p 535 5340 V 40 w(data)p FB(:)41 +b(string)31 b(with)f(data)h(in)f(hex)g(format)p eop end +%%Page: 147 153 +TeXDict begin 147 152 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(147)390 299 y +Ff(hex)p 535 299 28 4 v 40 w(size)5 b FB(:)42 b(size)31 +b(of)f(hex)h(data)390 433 y Ff(bin)p 523 433 V 39 w(data)p FB(:)42 b(output)30 b(arra)m(y)h(with)f(binary)f(data)390 -4846 y Ff(bin)p 523 4846 V 39 w(size)5 b FB(:)49 b(when)33 -b(calling)i(*)p Fs(bin_size)d FB(should)h(hold)h(size)h(of)f -Fs(bin_data)p FB(,)e(on)i(return)f(will)h(hold)390 4955 -y(actual)e(size)f(of)f Fs(bin_data)p FB(.)390 5084 y(Con)m(v)m(ert)h(a) -g(bu\013er)e(with)h(hex)h(data)g(to)g(binary)e(data.)390 -5212 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 5340 y Fn(Since:)41 -b FB(2.4.0)p eop end -%%Page: 149 155 -TeXDict begin 149 154 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(149)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(hex)p 727 299 V 54 -w(deco)s(de)3350 500 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_hex_decode)e Fg(\()p Ff(const)31 b(gn)m(utls)p -1813 500 28 4 v 40 w(datum)p 2111 500 V 40 w(t)g(*)f -Fe(hex_data)12 b Ff(,)33 b(c)m(har)e(*)565 609 y Fe(result)12 -b Ff(,)32 b(size)p 1093 609 V 41 w(t)f(*)f Fe(result_size)12 -b Fg(\))390 719 y Ff(hex)p 535 719 V 40 w(data)p FB(:)41 -b(con)m(tain)32 b(the)f(enco)s(ded)f(data)390 857 y Ff(result)r -FB(:)41 b(the)30 b(place)i(where)d(deco)s(ded)h(data)h(will)g(b)s(e)f -(copied)390 996 y Ff(result)p 619 996 V 40 w(size)5 b -FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(result)390 -1134 y(This)37 b(function)g(will)i(deco)s(de)f(the)g(giv)m(en)g(enco)s -(ded)g(data,)i(using)e(the)g(hex)f(enco)s(ding)h(used)f(b)m(y)390 -1244 y(PSK)29 b(passw)m(ord)h(\014les.)390 1382 y(Note)i(that)f(hex)p -952 1382 V 40 w(data)g(should)e(b)s(e)h(n)m(ull)g(terminated.)390 -1521 y Fn(Returns:)40 b Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 -b FB(if)30 b(the)g(bu\013er)f(giv)m(en)i(is)g(not)f(long)h(enough,)f -(or)390 1630 y(0)h(on)f(success.)150 1833 y Fu(gn)m(utls)p -483 1833 37 5 v 55 w(hex)p 727 1833 V 54 w(enco)s(de)3350 -2034 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_hex_encode)e -Fg(\()p Ff(const)31 b(gn)m(utls)p 1813 2034 28 4 v 40 -w(datum)p 2111 2034 V 40 w(t)g(*)f Fe(data)12 b Ff(,)32 -b(c)m(har)f(*)f Fe(result)12 b Ff(,)565 2144 y(size)p -712 2144 V 41 w(t)31 b(*)f Fe(result_size)12 b Fg(\))390 -2253 y Ff(data)p FB(:)41 b(con)m(tain)32 b(the)f(ra)m(w)f(data)390 -2392 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(hex)i(data)g -(will)f(b)s(e)g(copied)390 2530 y Ff(result)p 619 2530 -V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(result)390 -2669 y(This)i(function)h(will)g(con)m(v)m(ert)h(the)f(giv)m(en)h(data)g -(to)f(prin)m(table)g(data,)i(using)d(the)h(hex)g(enco)s(ding,)390 -2778 y(as)e(used)e(in)h(the)h(PSK)e(passw)m(ord)h(\014les.)390 -2917 y Fn(Returns:)40 b Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 -b FB(if)30 b(the)g(bu\013er)f(giv)m(en)i(is)g(not)f(long)h(enough,)f -(or)390 3026 y(0)h(on)f(success.)150 3229 y Fu(gn)m(utls)p -483 3229 37 5 v 55 w(init)3350 3430 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_init)c Fg(\()p Ff(gn)m(utls)p 1261 -3430 28 4 v 41 w(session)p 1571 3430 V 40 w(t)31 b(*)f -Fe(session)12 b Ff(,)33 b(gn)m(utls)p 2426 3430 V 40 -w(connection)p 2889 3430 V 41 w(end)p 3072 3430 V 40 -w(t)565 3540 y Fe(con_end)12 b Fg(\))390 3649 y Ff(session)p -FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f(to)i(a)e Fs(gnutls_session_t)c -FB(structure.)390 3788 y Ff(con)p 532 3788 V 40 w(end)t -FB(:)40 b(indicate)31 b(if)g(this)f(session)h(is)f(to)h(b)s(e)f(used)f -(for)i(serv)m(er)f(or)h(clien)m(t.)390 3926 y(This)e(function)h -(initializes)i(the)e(curren)m(t)g(session)g(to)g(n)m(ull.)41 -b(Ev)m(ery)30 b(session)g(m)m(ust)g(b)s(e)f(initialized)390 -4036 y(b)s(efore)g(use,)g(so)h(in)m(ternal)g(structures)e(can)i(b)s(e)e -(allo)s(cated.)43 b(This)28 b(function)h(allo)s(cates)j(structures)390 -4145 y(whic)m(h)e(can)h(only)f(b)s(e)g(free'd)g(b)m(y)h(calling)g -Fs(gnutls_deinit\(\))p FB(.)37 b(Returns)29 b(zero)j(on)e(success.)390 -4284 y Fs(con_end)e FB(can)j(b)s(e)f(one)g(of)h Fs(GNUTLS_CLIENT)c -FB(and)j Fs(GNUTLS_SERVER)p FB(.)390 4422 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)150 4626 y Fu(gn)m(utls)p 483 4626 37 5 v 55 w(kx)p -668 4626 V 53 w(get)p 886 4626 V 54 w(id)3350 4826 y -FB([F)-8 b(unction])-3599 b Fh(gnutls_kx_algorithm_t)59 -b(gnutls_kx_get_id)50 b Fg(\()p Ff(const)31 b(c)m(har)g(*)g -Fe(name)12 b Fg(\))390 4936 y Ff(name)5 b FB(:)41 b(is)30 -b(a)h(KX)f(name)390 5074 y(Con)m(v)m(ert)i(a)f(string)g(to)g(a)h -Fs(gnutls_kx_algorithm_t)25 b FB(v)-5 b(alue.)43 b(The)30 -b(names)h(are)g(compared)g(in)g(a)390 5184 y(case)g(insensitiv)m(e)h(w) -m(a)m(y)-8 b(.)390 5322 y Fn(Returns:)40 b FB(an)31 b(id)f(of)g(the)h -(sp)s(eci\014ed)e(KX)i(algorithm,)g(or)g Fs(GNUTLS_KX_UNKNOWN)25 -b FB(on)31 b(error.)p eop end -%%Page: 150 156 -TeXDict begin 150 155 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(150)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(kx)p 668 299 V 53 -w(get)p 886 299 V 54 w(name)3350 509 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_kx_get_name)e Fg(\()p -Ff(gn)m(utls)p 2098 509 28 4 v 41 w(kx)p 2235 509 V 40 -w(algorithm)p 2658 509 V 41 w(t)565 619 y Fe(algorithm)12 -b Fg(\))390 729 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(k)m(ey)g(exc)m -(hange)h(algorithm)390 877 y(Con)m(v)m(ert)f(a)g Fs -(gnutls_kx_algorithm_t)25 b FB(v)-5 b(alue)30 b(to)h(a)g(string.)390 -1025 y Fn(Returns:)45 b FB(a)33 b(p)s(oin)m(ter)g(to)g(a)g(string)g -(that)g(con)m(tains)h(the)f(name)g(of)g(the)g(sp)s(eci\014ed)f(k)m(ey)h -(exc)m(hange)390 1135 y(algorithm,)f(or)e Fs(NULL)p FB(.)150 -1348 y Fu(gn)m(utls)p 483 1348 37 5 v 55 w(kx)p 668 1348 -V 53 w(get)3350 1559 y FB([F)-8 b(unction])-3599 b Fh -(gnutls_kx_algorithm_t)59 b(gnutls_kx_get)49 b Fg(\()p -Ff(gn)m(utls)p 2307 1559 28 4 v 41 w(session)p 2617 1559 -V 40 w(t)31 b Fe(session)12 b Fg(\))390 1668 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -1816 y(Get)31 b(curren)m(tly)g(used)e(k)m(ey)j(exc)m(hange)f -(algorithm.)390 1965 y Fn(Returns:)70 b FB(the)46 b(k)m(ey)g(exc)m -(hange)g(algorithm)h(used)d(in)h(the)g(last)h(handshak)m(e,)j(a)d -Fs(gnutls_kx_)390 2074 y(algorithm_t)27 b FB(v)-5 b(alue.)150 -2288 y Fu(gn)m(utls)p 483 2288 37 5 v 55 w(kx)p 668 2288 -V 53 w(list)3350 2498 y FB([F)d(unction])-3599 b Fh(const)54 -b(gnutls_kx_algorithm_t)k(*)53 b(gnutls_kx_list)d Fg(\()30 -b Fe(void)12 b Fg(\))390 2608 y FB(Get)31 b(a)g(list)g(of)g(supp)s -(orted)d(k)m(ey)j(exc)m(hange)h(algorithms.)390 2756 -y Fn(Returns:)55 b FB(a)37 b(zero-terminated)i(list)g(of)e -Fs(gnutls_kx_algorithm_t)32 b FB(in)m(tegers)38 b(indicating)h(the)390 -2866 y(a)m(v)-5 b(ailable)33 b(k)m(ey)e(exc)m(hange)h(algorithms.)150 -3079 y Fu(gn)m(utls)p 483 3079 V 55 w(kx)p 668 3079 V -53 w(set)p 873 3079 V 54 w(priorit)m(y)3350 3289 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_kx_set_priorit)q(y)e -Fg(\()p Ff(gn)m(utls)p 1836 3289 28 4 v 41 w(session)p -2146 3289 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(const)f(in)m(t)g(*) -565 3399 y Fe(list)12 b Fg(\))390 3508 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -3657 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) -m(utls)p 1789 3657 V 40 w(kx)p 1925 3657 V 40 w(algorithm)p -2348 3657 V 41 w(t)g(elemen)m(ts.)390 3805 y(Sets)40 +567 y Ff(bin)p 523 567 V 39 w(size)5 b FB(:)49 b(when)33 +b(calling)i(*)p Ft(bin_size)d FB(should)h(hold)h(size)h(of)f +Ft(bin_data)p FB(,)e(on)i(return)f(will)h(hold)390 677 +y(actual)e(size)f(of)f Ft(bin_data)p FB(.)390 811 y(Con)m(v)m(ert)h(a)g +(bu\013er)e(with)h(hex)h(data)g(to)g(binary)e(data.)390 +945 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 1079 y Fn(Since:)41 +b FB(2.4.0)150 1278 y Fv(gn)m(utls)p 483 1278 37 5 v +55 w(hex)p 727 1278 V 54 w(deco)s(de)3350 1474 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_hex_decode)e Fg(\()p +Ff(const)31 b(gn)m(utls)p 1813 1474 28 4 v 40 w(datum)p +2111 1474 V 40 w(t)g(*)f Fe(hex_data)p Ff(,)j(c)m(har)e(*)565 +1583 y Fe(result)p Ff(,)h(size)p 1081 1583 V 41 w(t)f(*)g +Fe(result_size)12 b Fg(\))390 1693 y Ff(hex)p 535 1693 +V 40 w(data)p FB(:)41 b(con)m(tain)32 b(the)f(enco)s(ded)f(data)390 +1827 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s(ded)h +(data)h(will)g(b)s(e)f(copied)390 1961 y Ff(result)p +619 1961 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f +(result)390 2096 y(This)37 b(function)g(will)i(deco)s(de)f(the)g(giv)m +(en)g(enco)s(ded)g(data,)i(using)e(the)g(hex)f(enco)s(ding)h(used)f(b)m +(y)390 2205 y(PSK)29 b(passw)m(ord)h(\014les.)390 2339 +y(Note)i(that)f(hex)p 952 2339 V 40 w(data)g(should)e(b)s(e)h(n)m(ull)g +(terminated.)390 2473 y Fn(Returns:)40 b Ft(GNUTLS_E_SHORT_MEMORY_BUF)o +(FER)24 b FB(if)30 b(the)g(bu\013er)f(giv)m(en)i(is)g(not)f(long)h +(enough,)f(or)390 2583 y(0)h(on)f(success.)150 2782 y +Fv(gn)m(utls)p 483 2782 37 5 v 55 w(hex)p 727 2782 V +54 w(enco)s(de)3350 2978 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_hex_encode)e Fg(\()p Ff(const)31 +b(gn)m(utls)p 1813 2978 28 4 v 40 w(datum)p 2111 2978 +V 40 w(t)g(*)f Fe(data)p Ff(,)i(c)m(har)f(*)g Fe(result)p +Ff(,)565 3087 y(size)p 712 3087 V 41 w(t)g(*)f Fe(result_size)12 +b Fg(\))390 3197 y Ff(data)p FB(:)41 b(con)m(tain)32 +b(the)f(ra)m(w)f(data)390 3331 y Ff(result)r FB(:)41 +b(the)30 b(place)i(where)d(hex)i(data)g(will)f(b)s(e)g(copied)390 +3465 y Ff(result)p 619 3465 V 40 w(size)5 b FB(:)42 b(holds)30 +b(the)g(size)h(of)g(the)f(result)390 3599 y(This)i(function)h(will)g +(con)m(v)m(ert)h(the)f(giv)m(en)h(data)g(to)f(prin)m(table)g(data,)i +(using)d(the)h(hex)g(enco)s(ding,)390 3709 y(as)e(used)e(in)h(the)h +(PSK)e(passw)m(ord)h(\014les.)390 3843 y Fn(Returns:)40 +b Ft(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(if)30 b(the)g(bu\013er)f +(giv)m(en)i(is)g(not)f(long)h(enough,)f(or)390 3953 y(0)h(on)f +(success.)150 4151 y Fv(gn)m(utls)p 483 4151 37 5 v 55 +w(init)3350 4347 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_init)c Fg(\()p Ff(gn)m(utls)p 1261 4347 28 4 +v 41 w(session)p 1571 4347 V 40 w(t)31 b(*)f Fe(session)p +Ff(,)j(gn)m(utls)p 2414 4347 V 40 w(connection)p 2877 +4347 V 42 w(end)p 3061 4347 V 39 w(t)565 4457 y Fe(con_end)12 +b Fg(\))390 4566 y Ff(session)p FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f +(to)i(a)e Ft(gnutls_session_t)c FB(structure.)390 4701 +y Ff(con)p 532 4701 V 40 w(end)t FB(:)40 b(indicate)31 +b(if)g(this)f(session)h(is)f(to)h(b)s(e)f(used)f(for)i(serv)m(er)f(or)h +(clien)m(t.)390 4835 y(This)e(function)h(initializes)i(the)e(curren)m +(t)g(session)g(to)g(n)m(ull.)41 b(Ev)m(ery)30 b(session)g(m)m(ust)g(b)s +(e)f(initialized)390 4944 y(b)s(efore)g(use,)g(so)h(in)m(ternal)g +(structures)e(can)i(b)s(e)e(allo)s(cated.)43 b(This)28 +b(function)h(allo)s(cates)j(structures)390 5054 y(whic)m(h)e(can)h +(only)f(b)s(e)g(free'd)g(b)m(y)h(calling)g Ft(gnutls_deinit\(\))p +FB(.)37 b(Returns)29 b(zero)j(on)e(success.)390 5188 +y Ft(con_end)e FB(can)j(b)s(e)f(one)g(of)h Ft(GNUTLS_CLIENT)c +FB(and)j Ft(GNUTLS_SERVER)p FB(.)390 5322 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s +(de.)p eop end +%%Page: 148 154 +TeXDict begin 148 153 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(148)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(kx)p 668 299 V 53 +w(get)p 886 299 V 54 w(id)3350 523 y FB([F)-8 b(unction])-3599 +b Fh(gnutls_kx_algorithm_t)59 b(gnutls_kx_get_id)50 b +Fg(\()p Ff(const)31 b(c)m(har*)g Fe(name)12 b Fg(\))390 +633 y FB(Con)m(v)m(ert)32 b(a)f(string)g(to)g(a)h Ft +(gnutls_kx_algorithm_t)25 b FB(v)-5 b(alue.)43 b(The)30 +b(names)h(are)g(compared)g(in)g(a)390 742 y(case)g(insensitiv)m(e)h(w)m +(a)m(y)-8 b(.)390 905 y Fn(Returns:)40 b FB(an)31 b(id)f(of)g(the)h(sp) +s(eci\014ed)e(KX)i(algorithm,)g(or)g Ft(GNUTLS_KX_UNKNOWN)25 +b FB(on)31 b(error.)150 1132 y Fv(gn)m(utls)p 483 1132 +V 55 w(kx)p 668 1132 V 53 w(get)p 886 1132 V 54 w(name)3350 +1356 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_kx_get_name)e Fg(\()p Ff(gn)m(utls)p 2098 1356 +28 4 v 41 w(kx)p 2235 1356 V 40 w(algorithm)p 2658 1356 +V 41 w(t)565 1466 y Fe(algorithm)12 b Fg(\))390 1575 +y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(k)m(ey)g(exc)m(hange)h +(algorithm)390 1737 y(Con)m(v)m(ert)f(a)g Ft(gnutls_kx_algorithm_t)25 +b FB(v)-5 b(alue)30 b(to)h(a)g(string.)390 1899 y Fn(Returns:)45 +b FB(a)33 b(p)s(oin)m(ter)g(to)g(a)g(string)g(that)g(con)m(tains)h(the) +f(name)g(of)g(the)g(sp)s(eci\014ed)f(k)m(ey)h(exc)m(hange)390 +2009 y(algorithm,)f(or)e Ft(NULL)p FB(.)150 2236 y Fv(gn)m(utls)p +483 2236 37 5 v 55 w(kx)p 668 2236 V 53 w(get)3350 2460 +y FB([F)-8 b(unction])-3599 b Fh(gnutls_kx_algorithm_t)59 +b(gnutls_kx_get)49 b Fg(\()p Ff(gn)m(utls)p 2307 2460 +28 4 v 41 w(session)p 2617 2460 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 2570 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 2732 y(Get)31 +b(curren)m(tly)g(used)e(k)m(ey)j(exc)m(hange)f(algorithm.)390 +2894 y Fn(Returns:)70 b FB(the)46 b(k)m(ey)g(exc)m(hange)g(algorithm)h +(used)d(in)h(the)g(last)h(handshak)m(e,)j(a)d Ft(gnutls_kx_)390 +3004 y(algorithm_t)27 b FB(v)-5 b(alue.)150 3231 y Fv(gn)m(utls)p +483 3231 37 5 v 55 w(kx)p 668 3231 V 53 w(list)3350 3455 +y FB([F)d(unction])-3599 b Fh(const)54 b(gnutls_kx_algorithm_t)k(*)53 +b(gnutls_kx_list)d Fg(\()30 b Fe(void)12 b Fg(\))390 +3565 y FB(Get)31 b(a)g(list)g(of)g(supp)s(orted)d(k)m(ey)j(exc)m(hange) +h(algorithms.)390 3727 y Fn(Returns:)55 b FB(a)37 b(zero-terminated)i +(list)g(of)e Ft(gnutls_kx_algorithm_t)32 b FB(in)m(tegers)38 +b(indicating)h(the)390 3837 y(a)m(v)-5 b(ailable)33 b(k)m(ey)e(exc)m +(hange)h(algorithms.)150 4063 y Fv(gn)m(utls)p 483 4063 +V 55 w(kx)p 668 4063 V 53 w(set)p 873 4063 V 54 w(priorit)m(y)3350 +4288 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_kx_set_priorit)q +(y)e Fg(\()p Ff(gn)m(utls)p 1836 4288 28 4 v 41 w(session)p +2146 4288 V 40 w(t)31 b Fe(session)p Ff(,)i(const)e(in)m(t)f(*)565 +4397 y Fe(list)12 b Fg(\))390 4507 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +4669 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) +m(utls)p 1789 4669 V 40 w(kx)p 1925 4669 V 40 w(algorithm)p +2348 4669 V 41 w(t)g(elemen)m(ts.)390 4831 y(Sets)40 b(the)g(priorit)m(y)h(on)f(the)g(k)m(ey)h(exc)m(hange)g(algorithms)g (supp)s(orted)d(b)m(y)i(gn)m(utls.)70 b(Priorit)m(y)41 -b(is)390 3915 y(higher)27 b(for)g(elemen)m(ts)h(sp)s(eci\014ed)f(b)s +b(is)390 4941 y(higher)27 b(for)g(elemen)m(ts)h(sp)s(eci\014ed)f(b)s (efore)g(others.)39 b(After)28 b(sp)s(ecifying)f(the)g(algorithms)h(y)m -(ou)g(w)m(an)m(t,)390 4024 y(y)m(ou)h(m)m(ust)f(app)s(end)f(a)i(0.)40 +(ou)g(w)m(an)m(t,)390 5051 y(y)m(ou)h(m)m(ust)f(app)s(end)f(a)i(0.)40 b(Note)30 b(that)f(the)g(priorit)m(y)g(is)f(set)h(on)g(the)f(clien)m -(t.)42 b(The)28 b(serv)m(er)h(do)s(es)f(not)390 4134 +(t.)42 b(The)28 b(serv)m(er)h(do)s(es)f(not)390 5160 y(use)i(the)h(algorithm's)g(priorit)m(y)g(except)g(for)f(disabling)h (algorithms)g(that)g(w)m(ere)g(not)f(sp)s(eci\014ed.)390 -4282 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 4495 y Fu(gn)m(utls)p -483 4495 37 5 v 55 w(mac)p 755 4495 V 53 w(get)p 973 -4495 V 54 w(id)3350 4706 y FB([F)-8 b(unction])-3599 +5322 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)p eop end +%%Page: 149 155 +TeXDict begin 149 154 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(149)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(mac)p 755 299 V 53 +w(get)p 973 299 V 54 w(id)3350 497 y FB([F)-8 b(unction])-3599 b Fh(gnutls_mac_algorithm_t)59 b(gnutls_mac_get_id)51 -b Fg(\()p Ff(const)31 b(c)m(har)g(*)f Fe(name)12 b Fg(\))390 -4815 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(MA)m(C)g(algorithm)g(name)390 -4964 y(Con)m(v)m(ert)j(a)f(string)g(to)h(a)g Fs(gnutls_mac_algorithm_t) -27 b FB(v)-5 b(alue.)49 b(The)33 b(names)g(are)g(compared)g(in)390 -5073 y(a)e(case)g(insensitiv)m(e)h(w)m(a)m(y)-8 b(.)390 -5222 y Fn(Returns:)51 b FB(a)36 b Fs(gnutls_mac_algorithm_t)29 -b FB(id)36 b(of)f(the)h(sp)s(eci\014ed)f(MA)m(C)h(algorithm)h(string,)g -(or)390 5331 y Fs(GNUTLS_MAC_UNKNOWN)25 b FB(on)31 b(failures.)p -eop end -%%Page: 151 157 -TeXDict begin 151 156 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(151)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(mac)p 755 299 V 53 -w(get)p 973 299 V 54 w(k)m(ey)p 1210 299 V 53 w(size)3350 -503 y FB([F)-8 b(unction])-3599 b Fh(size_t)54 b -(gnutls_mac_get_key_siz)q(e)e Fg(\()p Ff(gn)m(utls)p -2046 503 28 4 v 40 w(mac)p 2247 503 V 41 w(algorithm)p -2671 503 V 41 w(t)565 613 y Fe(algorithm)12 b Fg(\))390 -722 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h(algorithm)390 -864 y(Get)g(size)h(of)e(MA)m(C)h(k)m(ey)-8 b(.)390 1007 -y Fn(Returns:)37 b FB(length)23 b(\(in)f(b)m(ytes\))i(of)f(the)f(giv)m -(en)i(MA)m(C)f(k)m(ey)h(size,)h(or)e(0)g(if)f(the)h(giv)m(en)h(MA)m(C)f -(algorithm)390 1116 y(is)30 b(in)m(v)-5 b(alid.)150 1323 -y Fu(gn)m(utls)p 483 1323 37 5 v 55 w(mac)p 755 1323 -V 53 w(get)p 973 1323 V 54 w(name)3350 1527 y FB([F)d(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_mac_get_name)e Fg(\()p -Ff(gn)m(utls)p 2150 1527 28 4 v 41 w(mac)p 2352 1527 -V 41 w(algorithm)p 2776 1527 V 41 w(t)565 1637 y Fe(algorithm)12 -b Fg(\))390 1747 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(MA)m(C)g -(algorithm)390 1889 y(Con)m(v)m(ert)g(a)g Fs(gnutls_mac_algorithm_t)24 -b FB(v)-5 b(alue)31 b(to)g(a)g(string.)390 2031 y Fn(Returns:)40 +b Fg(\()p Ff(const)31 b(c)m(har*)g Fe(name)12 b Fg(\))390 +607 y FB(Con)m(v)m(ert)34 b(a)f(string)g(to)h(a)g Ft +(gnutls_mac_algorithm_t)27 b FB(v)-5 b(alue.)49 b(The)33 +b(names)g(are)g(compared)g(in)390 717 y(a)e(case)g(insensitiv)m(e)h(w)m +(a)m(y)-8 b(.)390 853 y Fn(Returns:)38 b FB(an)24 b Ft +(gnutls_mac_algorithm_tid)19 b FB(of)25 b(the)g(sp)s(eci\014ed)f(in)h +(a)g(string)g(MA)m(C)h(algorithm,)390 963 y(or)k Ft(GNUTLS_MAC_UNKNOWN) +c FB(on)k(failures.)150 1164 y Fv(gn)m(utls)p 483 1164 +V 55 w(mac)p 755 1164 V 53 w(get)p 973 1164 V 54 w(k)m(ey)p +1210 1164 V 53 w(size)3350 1362 y FB([F)-8 b(unction])-3599 +b Fh(size_t)54 b(gnutls_mac_get_key_siz)q(e)e Fg(\()p +Ff(gn)m(utls)p 2046 1362 28 4 v 40 w(mac)p 2247 1362 +V 41 w(algorithm)p 2671 1362 V 41 w(t)565 1472 y Fe(algorithm)12 +b Fg(\))390 1581 y Ff(algorithm)p FB(:)42 b(is)30 b(an)g(encryption)h +(algorithm)390 1718 y(Get)g(size)h(of)e(MA)m(C)h(k)m(ey)-8 +b(.)390 1854 y Fn(Returns:)37 b FB(length)23 b(\(in)f(b)m(ytes\))i(of)f +(the)f(giv)m(en)i(MA)m(C)f(k)m(ey)h(size,)h(or)e(0)g(if)f(the)h(giv)m +(en)h(MA)m(C)f(algorithm)390 1964 y(is)30 b(in)m(v)-5 +b(alid.)150 2165 y Fv(gn)m(utls)p 483 2165 37 5 v 55 +w(mac)p 755 2165 V 53 w(get)p 973 2165 V 54 w(name)3350 +2363 y FB([F)d(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_mac_get_name)e Fg(\()p Ff(gn)m(utls)p 2150 2363 +28 4 v 41 w(mac)p 2352 2363 V 41 w(algorithm)p 2776 2363 +V 41 w(t)565 2473 y Fe(algorithm)12 b Fg(\))390 2583 +y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(MA)m(C)g(algorithm)390 +2719 y(Con)m(v)m(ert)g(a)g Ft(gnutls_mac_algorithm_t)24 +b FB(v)-5 b(alue)31 b(to)g(a)g(string.)390 2855 y Fn(Returns:)40 b FB(a)31 b(string)f(that)h(con)m(tains)h(the)f(name)f(of)h(the)f(sp)s -(eci\014ed)g(MA)m(C)h(algorithm,)g(or)g Fs(NULL)p FB(.)150 -2238 y Fu(gn)m(utls)p 483 2238 37 5 v 55 w(mac)p 755 -2238 V 53 w(get)3350 2442 y FB([F)-8 b(unction])-3599 +(eci\014ed)g(MA)m(C)h(algorithm,)g(or)g Ft(NULL)p FB(.)150 +3056 y Fv(gn)m(utls)p 483 3056 37 5 v 55 w(mac)p 755 +3056 V 53 w(get)3350 3255 y FB([F)-8 b(unction])-3599 b Fh(gnutls_mac_algorithm_t)59 b(gnutls_mac_get)50 b -Fg(\()p Ff(gn)m(utls)p 2412 2442 28 4 v 40 w(session)p -2721 2442 V 41 w(t)565 2552 y Fe(session)12 b Fg(\))390 -2661 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 2803 y(Get)31 b(curren)m(tly)g(used)e(MA)m(C)i -(algorithm.)390 2945 y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f -(used)g(mac)h(algorithm,)g(a)g Fs(gnutls_mac_algorithm_t)25 -b FB(v)-5 b(alue.)150 3152 y Fu(gn)m(utls)p 483 3152 -37 5 v 55 w(mac)p 755 3152 V 53 w(list)3350 3356 y FB([F)d(unction]) +Fg(\()p Ff(gn)m(utls)p 2412 3255 28 4 v 40 w(session)p +2721 3255 V 41 w(t)565 3364 y Fe(session)12 b Fg(\))390 +3474 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 3610 y(Get)31 b(curren)m(tly)g(used)e(MA)m(C)i +(algorithm.)390 3747 y Fn(Returns:)40 b FB(the)31 b(curren)m(tly)f +(used)g(mac)h(algorithm,)g(a)g Ft(gnutls_mac_algorithm_t)25 +b FB(v)-5 b(alue.)150 3948 y Fv(gn)m(utls)p 483 3948 +37 5 v 55 w(mac)p 755 3948 V 53 w(list)3350 4146 y FB([F)d(unction]) -3599 b Fh(const)54 b(gnutls_mac_algorithm_t)59 b(*)52 b(gnutls_mac_list)e Fg(\()31 b Fe(void)12 b Fg(\))390 -3466 y FB(Get)25 b(a)g(list)f(of)h(hash)e(algorithms)i(for)f(use)g(as)g +4256 y FB(Get)25 b(a)g(list)f(of)h(hash)e(algorithms)i(for)f(use)g(as)g (MA)m(Cs.)39 b(Note)26 b(that)f(not)f(necessarily)h(all)g(MA)m(Cs)g -(are)390 3576 y(supp)s(orted)f(in)h(TLS)f(cipher)h(suites.)39 +(are)390 4366 y(supp)s(orted)f(in)h(TLS)f(cipher)h(suites.)39 b(F)-8 b(or)26 b(example,)i(MD2)e(is)g(not)f(supp)s(orted)f(as)i(a)f -(cipher)g(suite,)390 3685 y(but)30 b(is)g(supp)s(orted)f(for)h(other)g +(cipher)g(suite,)390 4475 y(but)30 b(is)g(supp)s(orted)f(for)h(other)g (purp)s(oses)f(\(e.g.,)j(X.509)g(signature)f(v)m(eri\014cation)h(or)e -(similar\).)390 3827 y Fn(Returns:)57 b FB(Return)38 -b(a)h(zero-terminated)h(list)g(of)f Fs(gnutls_mac_algorithm_t)32 -b FB(in)m(tegers)40 b(indi-)390 3937 y(cating)32 b(the)e(a)m(v)-5 -b(ailable)33 b(MA)m(Cs.)150 4144 y Fu(gn)m(utls)p 483 -4144 V 55 w(mac)p 755 4144 V 53 w(set)p 960 4144 V 54 -w(priorit)m(y)3350 4348 y FB([F)-8 b(unction])-3599 b +(similar\).)390 4612 y Fn(Returns:)57 b FB(Return)38 +b(a)h(zero-terminated)h(list)g(of)f Ft(gnutls_mac_algorithm_t)32 +b FB(in)m(tegers)40 b(indi-)390 4721 y(cating)32 b(the)e(a)m(v)-5 +b(ailable)33 b(MA)m(Cs.)150 4922 y Fv(gn)m(utls)p 483 +4922 V 55 w(mac)p 755 4922 V 53 w(set)p 960 4922 V 54 +w(priorit)m(y)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_mac_set_priori)q(ty)f Fg(\()p Ff(gn)m(utls)p -1889 4348 28 4 v 40 w(session)p 2198 4348 V 41 w(t)30 -b Fe(session)12 b Ff(,)32 b(const)f(in)m(t)g(*)565 4458 -y Fe(list)12 b Fg(\))390 4567 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4709 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) -m(utls)p 1789 4709 V 40 w(mac)p 1990 4709 V 41 w(algorithm)p -2414 4709 V 41 w(t)g(elemen)m(ts.)390 4851 y(Sets)36 -b(the)g(priorit)m(y)g(on)f(the)h(mac)g(algorithms)h(supp)s(orted)c(b)m -(y)j(gn)m(utls.)57 b(Priorit)m(y)36 b(is)g(higher)f(for)390 -4961 y(elemen)m(ts)30 b(sp)s(eci\014ed)f(b)s(efore)g(others.)40 -b(After)29 b(sp)s(ecifying)g(the)h(algorithms)g(y)m(ou)f(w)m(an)m(t,)i -(y)m(ou)e(m)m(ust)390 5071 y(app)s(end)i(a)j(0.)48 b(Note)35 -b(that)e(the)g(priorit)m(y)g(is)g(set)h(on)f(the)g(clien)m(t.)50 -b(The)32 b(serv)m(er)h(do)s(es)g(not)g(use)g(the)390 -5180 y(algorithm's)f(priorit)m(y)e(except)i(for)e(disabling)g -(algorithms)h(that)g(w)m(ere)g(not)g(sp)s(eci\014ed.)390 -5322 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)p eop end -%%Page: 152 158 -TeXDict begin 152 157 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(152)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(mallo)s(c)3350 504 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(*)e(gnutls_malloc)e -Fg(\()p Ff(size)p 1424 504 28 4 v 41 w(t)30 b Fe(s)12 -b Fg(\))390 614 y FB(This)42 b(function)h(will)g(allo)s(cate)i('s')e(b) -m(ytes)h(data,)j(and)42 b(return)g(a)h(p)s(oin)m(ter)g(to)g(memory)-8 -b(.)79 b(This)390 723 y(function)30 b(is)g(supp)s(osed)f(to)i(b)s(e)f -(used)f(b)m(y)i(callbac)m(ks.)390 866 y(The)20 b(allo)s(cation)i -(function)f(used)e(is)h(the)h(one)g(set)g(b)m(y)f Fs +1889 5121 28 4 v 40 w(session)p 2198 5121 V 41 w(t)30 +b Fe(session)p Ff(,)j(const)e(in)m(t)g(*)565 5230 y Fe(list)12 +b Fg(\))390 5340 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)p eop end +%%Page: 150 156 +TeXDict begin 150 155 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(150)390 299 y +Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn)m(utls) +p 1789 299 28 4 v 40 w(mac)p 1990 299 V 41 w(algorithm)p +2414 299 V 41 w(t)g(elemen)m(ts.)390 433 y(Sets)36 b(the)g(priorit)m(y) +g(on)f(the)h(mac)g(algorithms)h(supp)s(orted)c(b)m(y)j(gn)m(utls.)57 +b(Priorit)m(y)36 b(is)g(higher)f(for)390 542 y(elemen)m(ts)30 +b(sp)s(eci\014ed)f(b)s(efore)g(others.)40 b(After)29 +b(sp)s(ecifying)g(the)h(algorithms)g(y)m(ou)f(w)m(an)m(t,)i(y)m(ou)e(m) +m(ust)390 652 y(app)s(end)i(a)j(0.)48 b(Note)35 b(that)e(the)g(priorit) +m(y)g(is)g(set)h(on)f(the)g(clien)m(t.)50 b(The)32 b(serv)m(er)h(do)s +(es)g(not)g(use)g(the)390 761 y(algorithm's)f(priorit)m(y)e(except)i +(for)e(disabling)g(algorithms)h(that)g(w)m(ere)g(not)g(sp)s(eci\014ed.) +390 895 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1093 y Fv(gn)m(utls)p +483 1093 37 5 v 55 w(mallo)s(c)3350 1288 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(*)e(gnutls_malloc)e Fg(\()p Ff(size)p +1424 1288 28 4 v 41 w(t)30 b Fe(s)12 b Fg(\))390 1398 +y FB(This)42 b(function)h(will)g(allo)s(cate)i('s')e(b)m(ytes)h(data,)j +(and)42 b(return)g(a)h(p)s(oin)m(ter)g(to)g(memory)-8 +b(.)79 b(This)390 1508 y(function)30 b(is)g(supp)s(osed)f(to)i(b)s(e)f +(used)f(b)m(y)i(callbac)m(ks.)390 1641 y(The)20 b(allo)s(cation)i +(function)f(used)e(is)h(the)h(one)g(set)g(b)m(y)f Ft (gnutls_global_set_mem_f)o(unct)o(ions)o(\(\))p FB(.)150 -1074 y Fu(gn)m(utls)p 483 1074 37 5 v 55 w(op)s(enpgp)p -991 1074 V 55 w(send)p 1286 1074 V 55 w(cert)3350 1279 +1839 y Fv(gn)m(utls)p 483 1839 37 5 v 55 w(op)s(enpgp)p +991 1839 V 55 w(send)p 1286 1839 V 55 w(cert)3350 2035 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_openpgp_send_cert)e -Fg(\()p Ff(gn)m(utls)p 1993 1279 28 4 v 41 w(session)p -2303 1279 V 40 w(t)31 b Fe(session)12 b Ff(,)565 1389 -y(gn)m(utls)p 811 1389 V 41 w(op)s(enpgp)p 1189 1389 -V 38 w(crt)p 1338 1389 V 41 w(status)p 1617 1389 V 40 -w(t)31 b Fe(status)12 b Fg(\))390 1499 y Ff(session)p -FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f(to)i(a)e Fs(gnutls_session_t)c -FB(structure.)390 1642 y Ff(status)t FB(:)36 b(is)20 -b(one)h(of)f(GNUTLS)p 1411 1642 V 40 w(OPENPGP)p 1909 -1642 V 39 w(CER)-8 b(T,)20 b(or)h(GNUTLS)p 2729 1642 -V 39 w(OPENPGP)p 3226 1642 V 40 w(CER)-8 b(T)p 3519 1642 -V 40 w(FINGERPRINT)390 1785 y(This)34 b(function)f(will)i(order)f(gn)m -(utls)h(to)g(send)e(the)i(k)m(ey)g(\014ngerprin)m(t)e(instead)i(of)f -(the)h(k)m(ey)g(in)f(the)390 1894 y(initial)i(handshak)m(e)e(pro)s -(cedure.)51 b(This)34 b(should)g(b)s(e)f(used)h(with)g(care)h(and)f -(only)h(when)e(there)i(is)390 2004 y(indication)c(or)g(kno)m(wledge)g -(that)g(the)g(serv)m(er)f(can)h(obtain)g(the)f(clien)m(t's)i(k)m(ey)-8 -b(.)150 2211 y Fu(gn)m(utls)p 483 2211 37 5 v 55 w(opr\014)p -785 2211 V 54 w(enable)p 1181 2211 V 55 w(clien)m(t)3350 -2417 y FB([F)g(unction])-3599 b Fh(void)54 b(gnutls_oprfi_enable_clie)q -(nt)e Fg(\()p Ff(gn)m(utls)p 2098 2417 28 4 v 41 w(session)p -2408 2417 V 40 w(t)30 b Fe(session)12 b Ff(,)33 b(size)p -3088 2417 V 41 w(t)565 2526 y Fe(len)12 b Ff(,)31 b(unsigned)e(c)m(har) -i(*)g Fe(data)12 b Fg(\))390 2636 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2779 y Ff(len)p FB(:)41 b(length)31 b(of)f(Opaque)g(PRF)g(data)h(to)h -(use)e(in)g(clien)m(t.)390 2922 y Ff(data)p FB(:)41 b(Opaque)30 -b(PRF)h(data)g(to)g(use)f(in)g(clien)m(t.)390 3065 y(Request)42 +Fg(\()p Ff(gn)m(utls)p 1993 2035 28 4 v 41 w(session)p +2303 2035 V 40 w(t)31 b Fe(session)p Ff(,)565 2144 y(gn)m(utls)p +811 2144 V 41 w(op)s(enpgp)p 1189 2144 V 38 w(crt)p 1338 +2144 V 41 w(status)p 1617 2144 V 40 w(t)g Fe(status)12 +b Fg(\))390 2254 y Ff(session)p FB(:)41 b(is)30 b(a)h(p)s(oin)m(ter)f +(to)i(a)e Ft(gnutls_session_t)c FB(structure.)390 2387 +y Ff(status)t FB(:)36 b(is)20 b(one)h(of)f(GNUTLS)p 1411 +2387 V 40 w(OPENPGP)p 1909 2387 V 39 w(CER)-8 b(T,)20 +b(or)h(GNUTLS)p 2729 2387 V 39 w(OPENPGP)p 3226 2387 +V 40 w(CER)-8 b(T)p 3519 2387 V 40 w(FINGERPRINT)390 +2521 y(This)34 b(function)f(will)i(order)f(gn)m(utls)h(to)g(send)e(the) +i(k)m(ey)g(\014ngerprin)m(t)e(instead)i(of)f(the)h(k)m(ey)g(in)f(the) +390 2631 y(initial)i(handshak)m(e)e(pro)s(cedure.)51 +b(This)34 b(should)g(b)s(e)f(used)h(with)g(care)h(and)f(only)h(when)e +(there)i(is)390 2740 y(indication)c(or)g(kno)m(wledge)g(that)g(the)g +(serv)m(er)f(can)h(obtain)g(the)f(clien)m(t's)i(k)m(ey)-8 +b(.)150 2938 y Fv(gn)m(utls)p 483 2938 37 5 v 55 w(opr\014)p +785 2938 V 54 w(enable)p 1181 2938 V 55 w(clien)m(t)3350 +3134 y FB([F)g(unction])-3599 b Fh(void)54 b(gnutls_oprfi_enable_clie)q +(nt)e Fg(\()p Ff(gn)m(utls)p 2098 3134 28 4 v 41 w(session)p +2408 3134 V 40 w(t)30 b Fe(session)p Ff(,)j(size)p 3076 +3134 V 41 w(t)565 3243 y Fe(len)p Ff(,)f(unsigned)d(c)m(har)i(*)f +Fe(data)12 b Fg(\))390 3353 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 3487 +y Ff(len)p FB(:)41 b(length)31 b(of)f(Opaque)g(PRF)g(data)h(to)h(use)e +(in)g(clien)m(t.)390 3620 y Ff(data)p FB(:)41 b(Opaque)30 +b(PRF)h(data)g(to)g(use)f(in)g(clien)m(t.)390 3754 y(Request)42 b(that)h(the)f(clien)m(t)h(should)e(attempt)i(to)g(negotiate)h(the)e -(Opaque)g(PRF)g(Input)e(TLS)390 3175 y(extension,)31 +(Opaque)g(PRF)g(Input)e(TLS)390 3864 y(extension,)31 b(using)f(the)h(giv)m(en)g(data)g(as)g(the)f(clien)m(t's)i(Opaque)e -(PRF)h(input.)390 3318 y(The)i(data)h(is)f(copied)h(in)m(to)h(the)e +(PRF)h(input.)390 3998 y(The)i(data)h(is)f(copied)h(in)m(to)h(the)e (session)h(con)m(text)h(after)f(this)f(call,)j(so)e(y)m(ou)f(ma)m(y)h -(de-allo)s(cate)i(it)390 3427 y(immediately)c(after)f(calling)g(this)g -(function.)150 3635 y Fu(gn)m(utls)p 483 3635 37 5 v -55 w(opr\014)p 785 3635 V 54 w(enable)p 1181 3635 V 55 -w(serv)m(er)3350 3840 y FB([F)-8 b(unction])-3599 b Fh(void)54 +(de-allo)s(cate)i(it)390 4107 y(immediately)c(after)f(calling)g(this)g +(function.)150 4305 y Fv(gn)m(utls)p 483 4305 37 5 v +55 w(opr\014)p 785 4305 V 54 w(enable)p 1181 4305 V 55 +w(serv)m(er)3350 4500 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_oprfi_enable_serv)q(er)e Fg(\()p Ff(gn)m(utls)p -2098 3840 28 4 v 41 w(session)p 2408 3840 V 40 w(t)30 -b Fe(session)12 b Ff(,)565 3950 y(gn)m(utls)p 811 3950 -V 41 w(opr\014)p 1035 3950 V 39 w(callbac)m(k)p 1390 -3950 V 42 w(func)29 b Fe(cb)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(userdata)12 b Fg(\))390 4059 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4202 y Ff(cb)r FB(:)41 b(function)30 b(p)s(oin)m(ter)g(to)h(Opaque)f -(PRF)g(extension)h(serv)m(er)g(callbac)m(k.)390 4345 -y Ff(userdata)p FB(:)41 b(ho)s(ok)30 b(passed)g(to)h(callbac)m(k)i -(function)d(for)g(passing)g(application)i(state.)390 -4488 y(Request)27 b(that)h(the)f(serv)m(er)g(should)f(attempt)i(to)g -(accept)g(the)f(Opaque)g(PRF)g(Input)e(TLS)h(exten-)390 -4598 y(sion.)57 b(If)35 b(the)h(clien)m(t)i(requests)d(the)h -(extension,)i(the)e(pro)m(vided)g(callbac)m(k)i Fs(cb)d -FB(will)h(b)s(e)f(in)m(v)m(ok)m(ed.)390 4708 y(The)30 +2098 4500 28 4 v 41 w(session)p 2408 4500 V 40 w(t)30 +b Fe(session)p Ff(,)565 4610 y(gn)m(utls)p 811 4610 V +41 w(opr\014)p 1035 4610 V 39 w(callbac)m(k)p 1390 4610 +V 42 w(func)f Fe(cb)p Ff(,)i(v)m(oid)g(*)g Fe(userdata)12 +b Fg(\))390 4719 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 4853 y Ff(cb)r +FB(:)41 b(function)30 b(p)s(oin)m(ter)g(to)h(Opaque)f(PRF)g(extension)h +(serv)m(er)g(callbac)m(k.)390 4987 y Ff(userdata)p FB(:)41 +b(ho)s(ok)30 b(passed)g(to)h(callbac)m(k)i(function)d(for)g(passing)g +(application)i(state.)390 5121 y(Request)27 b(that)h(the)f(serv)m(er)g +(should)f(attempt)i(to)g(accept)g(the)f(Opaque)g(PRF)g(Input)e(TLS)h +(exten-)390 5230 y(sion.)57 b(If)35 b(the)h(clien)m(t)i(requests)d(the) +h(extension,)i(the)e(pro)m(vided)g(callbac)m(k)i Ft(cb)d +FB(will)h(b)s(e)f(in)m(v)m(ok)m(ed.)390 5340 y(The)30 b(callbac)m(k)i(m)m(ust)f(ha)m(v)m(e)g(the)g(follo)m(wing)h(protot)m -(yp)s(e:)390 4851 y(in)m(t)e(callbac)m(k)h(\(gn)m(utls)p -1156 4851 V 41 w(session)p 1466 4851 V 40 w(t)f(session,)g(v)m(oid)g -(*userdata,)g(size)p 2671 4851 V 41 w(t)g(opr\014)p 2960 -4851 V 39 w(len,)g(const)g(unsigned)390 4960 y(c)m(har)h(*in)p -717 4960 V 40 w(opr\014,)f(unsigned)f(c)m(har)i(*out)p -1750 4960 V 40 w(opr\014\);)390 5103 y(The)23 b(callbac)m(k)i(can)f -(insp)s(ect)f(the)g(clien)m(t-pro)m(vided)i(data)f(in)f(the)g(input)f -(parameters,)k(and)c(sp)s(ecify)390 5213 y(its)30 b(o)m(wn)f(opaque)g -(prf)g(input)f(data)i(in)f(the)g(output)g(v)-5 b(ariable.)41 -b(The)29 b(function)g(m)m(ust)g(return)f(0)i(on)390 5322 -y(success,)h(otherwise)g(the)f(handshak)m(e)g(will)h(b)s(e)f(ab)s -(orted.)p eop end -%%Page: 153 159 -TeXDict begin 153 158 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(153)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(p)s(em)p 767 299 V -54 w(base64)p 1175 299 V 55 w(deco)s(de)p 1597 299 V -55 w(allo)s(c)3350 510 y FB([F)-8 b(unction])-3599 b -Fh(int)53 b(gnutls_pem_base64_dec)q(ode_)q(all)q(oc)f -Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(header)12 b Ff(,)31 -b(const)565 619 y(gn)m(utls)p 811 619 28 4 v 41 w(datum)p -1110 619 V 39 w(t)g(*)g Fe(b64_data)12 b Ff(,)32 b(gn)m(utls)p -2016 619 V 40 w(datum)p 2314 619 V 40 w(t)f(*)f Fe(result)12 -b Fg(\))390 729 y Ff(header)7 b FB(:)40 b(The)30 b(PEM)g(header)g -(\(eg.)42 b(CER)-8 b(TIFICA)g(TE\))390 877 y Ff(b64)p -537 877 V 40 w(data)p FB(:)42 b(con)m(tains)31 b(the)g(enco)s(ded)f -(data)390 1026 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s -(ded)h(data)h(lie)390 1175 y(This)23 b(function)g(will)h(deco)s(de)f +(yp)s(e:)p eop end +%%Page: 151 157 +TeXDict begin 151 156 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(151)390 299 y(in)m(t)30 +b(callbac)m(k)h(\(gn)m(utls)p 1156 299 28 4 v 41 w(session)p +1466 299 V 40 w(t)f(session,)g(v)m(oid)g(*userdata,)g(size)p +2671 299 V 41 w(t)g(opr\014)p 2960 299 V 39 w(len,)g(const)g(unsigned) +390 408 y(c)m(har)h(*in)p 717 408 V 40 w(opr\014,)f(unsigned)f(c)m(har) +i(*out)p 1750 408 V 40 w(opr\014\);)390 543 y(The)23 +b(callbac)m(k)i(can)f(insp)s(ect)f(the)g(clien)m(t-pro)m(vided)i(data)f +(in)f(the)g(input)f(parameters,)k(and)c(sp)s(ecify)390 +652 y(its)30 b(o)m(wn)f(opaque)g(prf)g(input)f(data)i(in)f(the)g +(output)g(v)-5 b(ariable.)41 b(The)29 b(function)g(m)m(ust)g(return)f +(0)i(on)390 762 y(success,)h(otherwise)g(the)f(handshak)m(e)g(will)h(b) +s(e)f(ab)s(orted.)150 961 y Fv(gn)m(utls)p 483 961 37 +5 v 55 w(p)s(em)p 767 961 V 54 w(base64)p 1175 961 V +55 w(deco)s(de)p 1597 961 V 55 w(allo)s(c)3350 1158 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_dec)q(ode_)q +(all)q(oc)f Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(header)p +Ff(,)h(const)565 1267 y(gn)m(utls)p 811 1267 28 4 v 41 +w(datum)p 1110 1267 V 39 w(t)f(*)g Fe(b64_data)p Ff(,)h(gn)m(utls)p +2004 1267 V 41 w(datum)p 2303 1267 V 39 w(t)f(*)g Fe(result)12 +b Fg(\))390 1377 y Ff(header)7 b FB(:)40 b(The)30 b(PEM)g(header)g +(\(eg.)42 b(CER)-8 b(TIFICA)g(TE\))390 1511 y Ff(b64)p +537 1511 V 40 w(data)p FB(:)42 b(con)m(tains)31 b(the)g(enco)s(ded)f +(data)390 1646 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s +(ded)h(data)h(lie)390 1780 y(This)23 b(function)g(will)h(deco)s(de)f (the)h(giv)m(en)g(enco)s(ded)g(data.)39 b(The)23 b(deco)s(ded)g(data)h -(will)g(b)s(e)f(allo)s(cated,)390 1284 y(and)37 b(stored)h(in)m(to)g +(will)g(b)s(e)f(allo)s(cated,)390 1890 y(and)37 b(stored)h(in)m(to)g (result.)62 b(If)37 b(the)h(header)f(giv)m(en)i(is)e(non)g(n)m(ull)h -(this)f(function)g(will)h(searc)m(h)g(for)390 1394 y -Fs(")p FB(|{BEGIN)h(header)p Fs(")f FB(and)g(deco)s(de)g(only)h(this)f +(this)f(function)g(will)h(searc)m(h)g(for)390 1999 y +Ft(")p FB(|{BEGIN)h(header)p Ft(")f FB(and)g(deco)s(de)g(only)h(this)f (part.)65 b(Otherwise)38 b(it)h(will)g(deco)s(de)f(the)h(\014rst)390 -1503 y(PEM)30 b(pac)m(k)m(et)j(found.)390 1652 y(Y)-8 -b(ou)31 b(should)e(use)h Fs(gnutls_free\(\))d FB(to)k(free)g(the)f -(returned)f(data.)390 1800 y Fn(Returns:)46 b FB(On)32 -b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g -(otherwise)h(an)f(error)g(co)s(de)g(is)390 1910 y(returned.)150 -2123 y Fu(gn)m(utls)p 483 2123 37 5 v 55 w(p)s(em)p 767 -2123 V 54 w(base64)p 1175 2123 V 55 w(deco)s(de)3350 -2334 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_dec)q -(ode)f Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(header)12 -b Ff(,)32 b(const)565 2444 y(gn)m(utls)p 811 2444 28 -4 v 41 w(datum)p 1110 2444 V 39 w(t)f(*)f Fe(b64_data)12 -b Ff(,)33 b(unsigned)c(c)m(har)h(*)h Fe(result)12 b Ff(,)32 -b(size)p 2952 2444 V 41 w(t)e(*)h Fe(result_size)12 b -Fg(\))390 2553 y Ff(header)7 b FB(:)40 b(A)31 b(n)m(ull)f(terminated)h -(string)f(with)g(the)h(PEM)f(header)g(\(eg.)42 b(CER)-8 -b(TIFICA)g(TE\))390 2702 y Ff(b64)p 537 2702 V 40 w(data)p -FB(:)42 b(con)m(tain)32 b(the)e(enco)s(ded)g(data)390 -2851 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s(ded)h -(data)h(will)g(b)s(e)f(copied)390 2999 y Ff(result)p -619 2999 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f -(result)390 3148 y(This)d(function)h(will)g(deco)s(de)g(the)g(giv)m(en) +2109 y(PEM)30 b(pac)m(k)m(et)j(found.)390 2243 y(Y)-8 +b(ou)31 b(should)e(use)h Ft(gnutls_free\(\))d FB(to)k(free)g(the)f +(returned)f(data.)390 2378 y Fn(Returns:)46 b FB(On)32 +b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g +(otherwise)h(an)f(error)g(co)s(de)g(is)390 2487 y(returned.)150 +2686 y Fv(gn)m(utls)p 483 2686 37 5 v 55 w(p)s(em)p 767 +2686 V 54 w(base64)p 1175 2686 V 55 w(deco)s(de)3350 +2883 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_dec)q +(ode)f Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(header)p +Ff(,)h(const)565 2992 y(gn)m(utls)p 811 2992 28 4 v 41 +w(datum)p 1110 2992 V 39 w(t)f(*)g Fe(b64_data)p Ff(,)h(unsigned)e(c)m +(har)h(*)f Fe(result)p Ff(,)j(size)p 2930 2992 V 41 w(t)d(*)h +Fe(result_size)12 b Fg(\))390 3102 y Ff(header)7 b FB(:)40 +b(A)31 b(n)m(ull)f(terminated)h(string)f(with)g(the)h(PEM)f(header)g +(\(eg.)42 b(CER)-8 b(TIFICA)g(TE\))390 3236 y Ff(b64)p +537 3236 V 40 w(data)p FB(:)42 b(con)m(tain)32 b(the)e(enco)s(ded)g +(data)390 3371 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s +(ded)h(data)h(will)g(b)s(e)f(copied)390 3505 y Ff(result)p +619 3505 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f +(result)390 3640 y(This)d(function)h(will)g(deco)s(de)g(the)g(giv)m(en) h(enco)s(ded)e(data.)41 b(If)27 b(the)h(header)g(giv)m(en)h(is)f(non)f -(n)m(ull)h(this)390 3257 y(function)h(will)g(searc)m(h)h(for)f -Fs(")p FB(|{BEGIN)h(header)p Fs(")e FB(and)h(deco)s(de)g(only)g(this)g -(part.)41 b(Otherwise)28 b(it)390 3367 y(will)j(deco)s(de)f(the)h -(\014rst)e(PEM)i(pac)m(k)m(et)h(found.)390 3515 y Fn(Returns:)49 -b FB(On)33 b(success)i Fs(GNUTLS_E_SUCCESS)30 b FB(\(0\))36 -b(is)e(returned,)h Fs(GNUTLS_E_SHORT_MEMORY_)390 3625 +(n)m(ull)h(this)390 3749 y(function)h(will)g(searc)m(h)h(for)f +Ft(")p FB(|{BEGIN)h(header)p Ft(")e FB(and)h(deco)s(de)g(only)g(this)g +(part.)41 b(Otherwise)28 b(it)390 3859 y(will)j(deco)s(de)f(the)h +(\014rst)e(PEM)i(pac)m(k)m(et)h(found.)390 3993 y Fn(Returns:)49 +b FB(On)33 b(success)i Ft(GNUTLS_E_SUCCESS)30 b FB(\(0\))36 +b(is)e(returned,)h Ft(GNUTLS_E_SHORT_MEMORY_)390 4103 y(BUFFER)29 b FB(is)h(returned)f(if)i(the)f(bu\013er)g(giv)m(en)h(is)f -(not)h(long)g(enough,)f(or)h(0)f(on)h(success.)150 3838 -y Fu(gn)m(utls)p 483 3838 37 5 v 55 w(p)s(em)p 767 3838 -V 54 w(base64)p 1175 3838 V 55 w(enco)s(de)p 1597 3838 -V 55 w(allo)s(c)3350 4049 y FB([F)-8 b(unction])-3599 +(not)h(long)g(enough,)f(or)h(0)f(on)h(success.)150 4302 +y Fv(gn)m(utls)p 483 4302 37 5 v 55 w(p)s(em)p 767 4302 +V 54 w(base64)p 1175 4302 V 55 w(enco)s(de)p 1597 4302 +V 55 w(allo)s(c)3350 4498 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_enc)q(ode_)q(all)q(oc)f -Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(msg)12 b Ff(,)31 -b(const)565 4159 y(gn)m(utls)p 811 4159 28 4 v 41 w(datum)p -1110 4159 V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 b(gn)m(utls)p -1807 4159 V 40 w(datum)p 2105 4159 V 40 w(t)f(*)h Fe(result)12 -b Fg(\))390 4268 y Ff(msg)c FB(:)41 b(is)30 b(a)h(message)g(to)g(b)s(e) -f(put)g(in)g(the)g(enco)s(ded)g(header)390 4417 y Ff(data)p -FB(:)41 b(con)m(tains)32 b(the)f(ra)m(w)f(data)390 4566 +Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(msg)p Ff(,)g(const)565 +4608 y(gn)m(utls)p 811 4608 28 4 v 41 w(datum)p 1110 +4608 V 39 w(t)g(*)g Fe(data)p Ff(,)g(gn)m(utls)p 1795 +4608 V 41 w(datum)p 2094 4608 V 39 w(t)g(*)g Fe(result)12 +b Fg(\))390 4718 y Ff(msg)c FB(:)41 b(is)30 b(a)h(message)g(to)g(b)s(e) +f(put)g(in)g(the)g(enco)s(ded)g(header)390 4852 y Ff(data)p +FB(:)41 b(con)m(tains)32 b(the)f(ra)m(w)f(data)390 4986 y Ff(result)r FB(:)41 b(will)30 b(hold)g(the)h(newly)f(allo)s(cated)i -(enco)s(ded)e(data)390 4714 y(This)22 b(function)h(will)h(con)m(v)m +(enco)s(ded)e(data)390 5121 y(This)22 b(function)h(will)h(con)m(v)m (ert)h(the)e(giv)m(en)h(data)g(to)g(prin)m(table)g(data,)h(using)e(the) -g(base64)i(enco)s(ding.)390 4824 y(This)k(is)i(the)f(enco)s(ding)g +g(base64)i(enco)s(ding.)390 5230 y(This)k(is)i(the)f(enco)s(ding)g (used)f(in)h(PEM)g(messages.)42 b(This)29 b(function)h(will)h(allo)s -(cate)h(the)f(required)390 4933 y(memory)f(to)h(hold)f(the)h(enco)s -(ded)f(data.)390 5082 y(Y)-8 b(ou)31 b(should)e(use)h -Fs(gnutls_free\(\))d FB(to)k(free)g(the)f(returned)f(data.)390 -5230 y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 -b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 5340 y(returned.)p eop end -%%Page: 154 160 -TeXDict begin 154 159 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(154)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(p)s(em)p 767 299 V -54 w(base64)p 1175 299 V 55 w(enco)s(de)3350 522 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_enc)q(ode)f -Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(msg)12 b Ff(,)31 -b(const)565 632 y(gn)m(utls)p 811 632 28 4 v 41 w(datum)p -1110 632 V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 b(c)m(har)g(*)f -Fe(result)12 b Ff(,)32 b(size)p 2364 632 V 41 w(t)f(*)g -Fe(result_size)12 b Fg(\))390 742 y Ff(msg)c FB(:)41 -b(is)30 b(a)h(message)g(to)g(b)s(e)f(put)g(in)g(the)g(header)390 -903 y Ff(data)p FB(:)41 b(con)m(tain)32 b(the)f(ra)m(w)f(data)390 -1064 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(base64)j(data)f -(will)g(b)s(e)e(copied)390 1225 y Ff(result)p 619 1225 -V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(result)390 -1387 y(This)22 b(function)h(will)h(con)m(v)m(ert)h(the)e(giv)m(en)h +(cate)h(the)f(required)390 5340 y(memory)f(to)h(hold)f(the)h(enco)s +(ded)f(data.)p eop end +%%Page: 152 158 +TeXDict begin 152 157 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(152)390 299 y(Y)-8 +b(ou)31 b(should)e(use)h Ft(gnutls_free\(\))d FB(to)k(free)g(the)f +(returned)f(data.)390 435 y Fn(Returns:)46 b FB(On)32 +b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g +(otherwise)h(an)f(error)g(co)s(de)g(is)390 545 y(returned.)150 +746 y Fv(gn)m(utls)p 483 746 37 5 v 55 w(p)s(em)p 767 +746 V 54 w(base64)p 1175 746 V 55 w(enco)s(de)3350 944 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pem_base64_enc)q(ode)f +Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(msg)p Ff(,)g(const)565 +1054 y(gn)m(utls)p 811 1054 28 4 v 41 w(datum)p 1110 +1054 V 39 w(t)g(*)g Fe(data)p Ff(,)g(c)m(har)g(*)g Fe(result)p +Ff(,)h(size)p 2341 1054 V 41 w(t)f(*)f Fe(result_size)12 +b Fg(\))390 1164 y Ff(msg)c FB(:)41 b(is)30 b(a)h(message)g(to)g(b)s(e) +f(put)g(in)g(the)g(header)390 1300 y Ff(data)p FB(:)41 +b(con)m(tain)32 b(the)f(ra)m(w)f(data)390 1436 y Ff(result)r +FB(:)41 b(the)30 b(place)i(where)d(base64)j(data)f(will)g(b)s(e)e +(copied)390 1573 y Ff(result)p 619 1573 V 40 w(size)5 +b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(result)390 +1709 y(This)22 b(function)h(will)h(con)m(v)m(ert)h(the)e(giv)m(en)h (data)g(to)g(prin)m(table)g(data,)h(using)e(the)g(base64)i(enco)s -(ding.)390 1496 y(This)30 b(is)g(the)h(enco)s(ding)f(used)f(in)i(PEM)f -(messages.)390 1657 y(The)43 b(output)g(string)g(will)h(b)s(e)e(n)m +(ding.)390 1818 y(This)30 b(is)g(the)h(enco)s(ding)f(used)f(in)i(PEM)f +(messages.)390 1955 y(The)43 b(output)g(string)g(will)h(b)s(e)e(n)m (ull)i(terminated,)j(although)d(the)f(size)h(will)g(not)g(include)f -(the)390 1767 y(terminating)31 b(n)m(ull.)390 1928 y -Fn(Returns:)49 b FB(On)33 b(success)i Fs(GNUTLS_E_SUCCESS)30 -b FB(\(0\))36 b(is)e(returned,)h Fs(GNUTLS_E_SHORT_MEMORY_)390 -2038 y(BUFFER)29 b FB(is)h(returned)f(if)i(the)f(bu\013er)g(giv)m(en)h +(the)390 2064 y(terminating)31 b(n)m(ull.)390 2201 y +Fn(Returns:)49 b FB(On)33 b(success)i Ft(GNUTLS_E_SUCCESS)30 +b FB(\(0\))36 b(is)e(returned,)h Ft(GNUTLS_E_SHORT_MEMORY_)390 +2310 y(BUFFER)29 b FB(is)h(returned)f(if)i(the)f(bu\013er)g(giv)m(en)h (is)f(not)h(long)g(enough,)f(or)h(0)f(on)h(success.)150 -2264 y Fu(gn)m(utls)p 483 2264 37 5 v 55 w(p)s(error)3350 -2487 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_perror)49 -b Fg(\()p Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 2597 -y Ff(error)7 b FB(:)40 b(is)30 b(a)h(Gn)m(uTLS)e(error)h(co)s(de,)h(a)g -(negativ)m(e)h(v)-5 b(alue)390 2758 y(This)26 b(function)g(is)h(lik)m -(e)h Fs(perror\(\))p FB(.)37 b(The)26 b(only)h(di\013erence)g(is)f -(that)i(it)f(accepts)h(an)e(error)g(n)m(um)m(b)s(er)390 -2868 y(returned)j(b)m(y)h(a)h(gn)m(utls)g(function.)150 -3094 y Fu(gn)m(utls)p 483 3094 V 55 w(pk)p 671 3094 V -54 w(algorithm)p 1243 3094 V 54 w(get)p 1462 3094 V 54 -w(name)3350 3317 y FB([F)-8 b(unction])-3599 b Fh(const)54 -b(char)f(*)g(gnutls_pk_algorithm_ge)q(t_n)q(ame)565 3427 -y Fg(\()p Ff(gn)m(utls)p 846 3427 28 4 v 41 w(pk)p 986 -3427 V 39 w(algorithm)p 1408 3427 V 41 w(t)31 b Fe(algorithm)12 -b Fg(\))390 3536 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(pk)f(algorithm) -390 3698 y(Con)m(v)m(ert)h(a)g Fs(gnutls_pk_algorithm_t)25 -b FB(v)-5 b(alue)30 b(to)h(a)g(string.)390 3859 y Fn(Returns:)55 +2511 y Fv(gn)m(utls)p 483 2511 37 5 v 55 w(p)s(error)3350 +2710 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_perror)49 +b Fg(\()p Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 2819 +y Ff(error)7 b FB(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h +(gn)m(utls)f(function.)41 b(Error)29 b(is)i(alw)m(a)m(ys)h(a)e(negativ) +m(e)j(v)-5 b(alue.)390 2956 y(This)26 b(function)g(is)h(lik)m(e)h +Ft(perror\(\))p FB(.)37 b(The)26 b(only)h(di\013erence)g(is)f(that)i +(it)f(accepts)h(an)e(error)g(n)m(um)m(b)s(er)390 3065 +y(returned)j(b)m(y)h(a)h(gn)m(utls)g(function.)150 3266 +y Fv(gn)m(utls)p 483 3266 V 55 w(pk)p 671 3266 V 54 w(algorithm)p +1243 3266 V 54 w(get)p 1462 3266 V 54 w(name)3350 3465 +y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_pk_algorithm_ge)q(t_n)q(ame)565 3575 y Fg(\()p +Ff(gn)m(utls)p 846 3575 28 4 v 41 w(pk)p 986 3575 V 39 +w(algorithm)p 1408 3575 V 41 w(t)31 b Fe(algorithm)12 +b Fg(\))390 3684 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(pk)f(algorithm) +390 3820 y(Con)m(v)m(ert)h(a)g Ft(gnutls_pk_algorithm_t)25 +b FB(v)-5 b(alue)30 b(to)h(a)g(string.)390 3957 y Fn(Returns:)55 b FB(a)37 b(string)h(that)g(con)m(tains)g(the)g(name)g(of)f(the)h(sp)s -(eci\014ed)e(public)h(k)m(ey)h(algorithm,)j(or)390 3968 -y Fs(NULL)p FB(.)150 4194 y Fu(gn)m(utls)p 483 4194 37 -5 v 55 w(pk)p 671 4194 V 54 w(get)p 890 4194 V 54 w(id)3350 -4418 y FB([F)-8 b(unction])-3599 b Fh(gnutls_pk_algorithm_t)59 -b(gnutls_pk_get_id)50 b Fg(\()p Ff(const)31 b(c)m(har)g(*)g -Fe(name)12 b Fg(\))390 4527 y Ff(name)5 b FB(:)41 b(is)30 -b(a)h(string)f(con)m(taining)i(a)f(public)f(k)m(ey)h(algorithm)g(name.) -390 4689 y(Con)m(v)m(ert)h(a)f(string)g(to)g(a)h Fs -(gnutls_pk_algorithm_t)25 b FB(v)-5 b(alue.)43 b(The)30 -b(names)h(are)g(compared)g(in)g(a)390 4798 y(case)h(insensitiv)m(e)g(w) -m(a)m(y)-8 b(.)44 b(F)-8 b(or)31 b(example,)h(gn)m(utls)p -2029 4798 28 4 v 41 w(pk)p 2169 4798 V 39 w(get)p 2328 -4798 V 41 w(id\()p Fs(")p FB(RSA)p Fs(")p FB(\))f(will)g(return)f -Fs(GNUTLS_PK_)390 4908 y(RSA)p FB(.)390 5069 y Fn(Returns:)45 -b FB(a)33 b Fs(gnutls_pk_algorithm_t)27 b FB(id)33 b(of)f(the)h(sp)s -(eci\014ed)f(public)g(k)m(ey)i(algorithm)g(string,)390 -5179 y(or)c Fs(GNUTLS_PK_UNKNOWN)c FB(on)k(failures.)390 -5340 y Fn(Since:)41 b FB(2.6.0)p eop end -%%Page: 155 161 -TeXDict begin 155 160 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(155)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)p 671 299 V 54 -w(get)p 890 299 V 54 w(name)3350 503 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_pk_get_name)e Fg(\()p -Ff(gn)m(utls)p 2098 503 28 4 v 41 w(pk)p 2238 503 V 39 -w(algorithm)p 2660 503 V 41 w(t)565 613 y Fe(algorithm)12 -b Fg(\))390 723 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(public)f(k)m(ey) -h(algorithm)390 865 y(Con)m(v)m(ert)g(a)g Fs(gnutls_pk_algorithm_t)25 -b FB(v)-5 b(alue)30 b(to)h(a)g(string.)390 1007 y Fn(Returns:)61 -b FB(a)40 b(p)s(oin)m(ter)h(to)g(a)g(string)f(that)h(con)m(tains)h(the) -f(name)f(of)h(the)g(sp)s(eci\014ed)e(public)h(k)m(ey)390 -1117 y(algorithm,)32 b(or)e Fs(NULL)p FB(.)390 1259 y -Fn(Since:)41 b FB(2.6.0)150 1466 y Fu(gn)m(utls)p 483 -1466 37 5 v 55 w(pk)p 671 1466 V 54 w(list)3350 1670 -y FB([F)-8 b(unction])-3599 b Fh(const)54 b(gnutls_pk_algorithm_t)k(*) -53 b(gnutls_pk_list)d Fg(\()30 b Fe(void)12 b Fg(\))390 -1780 y FB(Get)31 b(a)g(list)g(of)g(supp)s(orted)d(public)i(k)m(ey)h -(algorithms.)390 1922 y Fn(Returns:)55 b FB(a)37 b(zero-terminated)i -(list)g(of)e Fs(gnutls_pk_algorithm_t)32 b FB(in)m(tegers)38 -b(indicating)h(the)390 2032 y(a)m(v)-5 b(ailable)33 b(ciphers.)390 -2174 y Fn(Since:)41 b FB(2.6.0)150 2381 y Fu(gn)m(utls)p -483 2381 V 55 w(prf)p 693 2381 V 54 w(ra)m(w)3350 2585 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_prf_raw)d -Fg(\()p Ff(gn)m(utls)p 1418 2585 28 4 v 41 w(session)p -1728 2585 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(size)p -2408 2585 V 41 w(t)e Fe(label_size)12 b Ff(,)565 2695 -y(const)31 b(c)m(har)g(*)f Fe(label)12 b Ff(,)32 b(size)p -1554 2695 V 41 w(t)f Fe(seed_size)12 b Ff(,)32 b(const)f(c)m(har)g(*)g -Fe(seed)12 b Ff(,)31 b(size)p 3129 2695 V 41 w(t)g Fe(outsize)12 -b Ff(,)565 2804 y(c)m(har)31 b(*)g Fe(out)12 b Fg(\))390 -2914 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 3056 y Ff(lab)s(el)p 585 3056 V 40 -w(size)5 b FB(:)42 b(length)31 b(of)f(the)h Fs(label)e -FB(v)-5 b(ariable.)390 3198 y Ff(lab)s(el)t FB(:)41 b(lab)s(el)30 -b(used)g(in)g(PRF)g(computation,)i(t)m(ypically)g(a)f(short)f(string.) -390 3341 y Ff(seed)p 563 3341 V 40 w(size)5 b FB(:)42 -b(length)31 b(of)f(the)h Fs(seed)e FB(v)-5 b(ariable.)390 -3483 y Ff(seed)t FB(:)40 b(optional)32 b(extra)f(data)g(to)g(seed)g -(the)f(PRF)h(with.)390 3625 y Ff(outsize)5 b FB(:)42 -b(size)31 b(of)g(pre-allo)s(cated)h(output)e(bu\013er)f(to)i(hold)f -(the)h(output.)390 3767 y Ff(out)r FB(:)41 b(pre-allo)s(cate)33 -b(bu\013er)c(to)i(hold)f(the)h(generated)g(data.)390 -3909 y(Apply)40 b(the)h(TLS)f(Pseudo-Random-F)-8 b(unction)41 -b(\(PRF\))g(using)f(the)h(master)g(secret)h(on)f(some)390 -4019 y(data.)390 4161 y(The)34 b Fs(label)e FB(v)-5 b(ariable)35 +(eci\014ed)e(public)h(k)m(ey)h(algorithm,)j(or)390 4066 +y Ft(NULL)p FB(.)150 4267 y Fv(gn)m(utls)p 483 4267 37 +5 v 55 w(prf)p 693 4267 V 54 w(ra)m(w)3350 4466 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_prf_raw)d Fg(\()p +Ff(gn)m(utls)p 1418 4466 28 4 v 41 w(session)p 1728 4466 +V 40 w(t)31 b Fe(session)p Ff(,)h(size)p 2396 4466 V +41 w(t)f Fe(label_size)p Ff(,)565 4576 y(const)g(c)m(har)g(*)f +Fe(label)p Ff(,)j(size)p 1543 4576 V 40 w(t)e Fe(seed_size)p +Ff(,)i(const)e(c)m(har)g(*)g Fe(seed)p Ff(,)h(size)p +3095 4576 V 41 w(t)e Fe(outsize)p Ff(,)565 4685 y(c)m(har)h(*)g +Fe(out)12 b Fg(\))390 4795 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 4931 +y Ff(lab)s(el)p 585 4931 V 40 w(size)5 b FB(:)42 b(length)31 +b(of)f(the)h Ft(label)e FB(v)-5 b(ariable.)390 5067 y +Ff(lab)s(el)t FB(:)41 b(lab)s(el)30 b(used)g(in)g(PRF)g(computation,)i +(t)m(ypically)g(a)f(short)f(string.)390 5204 y Ff(seed)p +563 5204 V 40 w(size)5 b FB(:)42 b(length)31 b(of)f(the)h +Ft(seed)e FB(v)-5 b(ariable.)390 5340 y Ff(seed)t FB(:)40 +b(optional)32 b(extra)f(data)g(to)g(seed)g(the)f(PRF)h(with.)p +eop end +%%Page: 153 159 +TeXDict begin 153 158 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(153)390 299 y +Ff(outsize)5 b FB(:)42 b(size)31 b(of)g(pre-allo)s(cated)h(output)e +(bu\013er)f(to)i(hold)f(the)h(output.)390 453 y Ff(out)r +FB(:)41 b(pre-allo)s(cate)33 b(bu\013er)c(to)i(hold)f(the)h(generated)g +(data.)390 607 y(Apply)40 b(the)h(TLS)f(Pseudo-Random-F)-8 +b(unction)41 b(\(PRF\))g(using)f(the)h(master)g(secret)h(on)f(some)390 +716 y(data.)390 870 y(The)34 b Ft(label)e FB(v)-5 b(ariable)35 b(usually)f(con)m(tain)i(a)e(string)g(denoting)h(the)f(purp)s(ose)f -(for)h(the)g(generated)390 4271 y(data.)50 b(The)32 b -Fs(seed)g FB(usually)h(con)m(tain)i(data)e(suc)m(h)g(as)g(the)h(clien)m -(t)g(and)f(serv)m(er)g(random,)h(p)s(erhaps)390 4380 +(for)h(the)g(generated)390 980 y(data.)50 b(The)32 b +Ft(seed)g FB(usually)h(con)m(tain)i(data)e(suc)m(h)g(as)g(the)h(clien)m +(t)g(and)f(serv)m(er)g(random,)h(p)s(erhaps)390 1089 y(together)45 b(with)e(some)h(additional)h(data)f(that)g(is)g(added)e -(to)j(guaran)m(tee)g(uniqueness)d(of)i(the)390 4490 y(output)30 -b(for)g(a)h(particular)g(purp)s(ose.)390 4632 y(Because)26 +(to)j(guaran)m(tee)g(uniqueness)d(of)i(the)390 1199 y(output)30 +b(for)g(a)h(particular)g(purp)s(ose.)390 1353 y(Because)26 b(the)e(output)g(is)g(not)g(guaran)m(teed)i(to)e(b)s(e)g(unique)f(for)h -(a)h(particular)f(session)h(unless)e Fs(seed)390 4742 +(a)h(particular)f(session)h(unless)e Ft(seed)390 1462 y FB(include)28 b(the)h(clien)m(t)h(random)e(and)g(serv)m(er)h(random)f (\014elds)g(\(the)h(PRF)g(w)m(ould)f(output)h(the)g(same)390 -4851 y(data)38 b(on)f(another)h(connection)g(resumed)f(from)f(the)i +1572 y(data)38 b(on)f(another)h(connection)g(resumed)f(from)f(the)i (\014rst)e(one\),)k(it)e(is)g(not)f(recommended)g(to)390 -4961 y(use)31 b(this)g(function)g(directly)-8 b(.)45 -b(The)31 b Fs(gnutls_prf\(\))d FB(function)j(seed)h(the)f(PRF)h(with)f -(the)g(clien)m(t)390 5071 y(and)25 b(serv)m(er)g(random)g(\014elds)f +1682 y(use)31 b(this)g(function)g(directly)-8 b(.)45 +b(The)31 b Ft(gnutls_prf\(\))d FB(function)j(seed)h(the)f(PRF)h(with)f +(the)g(clien)m(t)390 1791 y(and)25 b(serv)m(er)g(random)g(\014elds)f (directly)-8 b(,)28 b(and)d(is)g(recommended)g(if)g(y)m(ou)h(w)m(an)m -(t)g(to)g(generate)h(pseudo)390 5180 y(random)j(data)h(unique)e(for)h -(eac)m(h)i(session.)390 5322 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p -eop end -%%Page: 156 162 -TeXDict begin 156 161 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(156)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(prf)3350 487 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_prf)c Fg(\()p Ff(gn)m(utls)p -1209 487 28 4 v 40 w(session)p 1518 487 V 41 w(t)30 b -Fe(session)12 b Ff(,)33 b(size)p 2199 487 V 40 w(t)e -Fe(label_size)12 b Ff(,)33 b(const)565 597 y(c)m(har)e(*)g -Fe(label)12 b Ff(,)31 b(in)m(t)g Fe(server_random_first)12 -b Ff(,)36 b(size)p 2516 597 V 41 w(t)31 b Fe(extra_size)12 -b Ff(,)33 b(const)e(c)m(har)f(*)565 706 y Fe(extra)12 -b Ff(,)32 b(size)p 1041 706 V 41 w(t)e Fe(outsize)12 -b Ff(,)33 b(c)m(har)d(*)h Fe(out)12 b Fg(\))390 816 y -Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 946 y Ff(lab)s(el)p 585 946 V 40 -w(size)5 b FB(:)42 b(length)31 b(of)f(the)h Fs(label)e -FB(v)-5 b(ariable.)390 1076 y Ff(lab)s(el)t FB(:)41 b(lab)s(el)30 -b(used)g(in)g(PRF)g(computation,)i(t)m(ypically)g(a)f(short)f(string.) -390 1206 y Ff(serv)m(er)p 629 1206 V 40 w(random)p 973 -1206 V 40 w(\014rst)r FB(:)40 b(non-0)30 b(if)g(serv)m(er)h(random)f -(\014eld)g(should)f(b)s(e)h(\014rst)f(in)h(seed)390 1336 -y Ff(extra)p 600 1336 V 41 w(size)5 b FB(:)41 b(length)31 -b(of)g(the)f Fs(extra)f FB(v)-5 b(ariable.)390 1466 y -Ff(extra)p FB(:)41 b(optional)32 b(extra)f(data)g(to)g(seed)g(the)f -(PRF)h(with.)390 1597 y Ff(outsize)5 b FB(:)42 b(size)31 -b(of)g(pre-allo)s(cated)h(output)e(bu\013er)f(to)i(hold)f(the)h -(output.)390 1727 y Ff(out)r FB(:)41 b(pre-allo)s(cate)33 -b(bu\013er)c(to)i(hold)f(the)h(generated)g(data.)390 -1857 y(Apply)40 b(the)h(TLS)f(Pseudo-Random-F)-8 b(unction)41 -b(\(PRF\))g(using)f(the)h(master)g(secret)h(on)f(some)390 -1966 y(data,)31 b(seeded)g(with)f(the)g(clien)m(t)i(and)e(serv)m(er)h -(random)e(\014elds.)390 2097 y(The)34 b Fs(label)e FB(v)-5 +(t)g(to)g(generate)h(pseudo)390 1901 y(random)j(data)h(unique)e(for)h +(eac)m(h)i(session.)390 2055 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +2273 y Fv(gn)m(utls)p 483 2273 37 5 v 55 w(prf)3350 2489 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_prf)c +Fg(\()p Ff(gn)m(utls)p 1209 2489 28 4 v 40 w(session)p +1518 2489 V 41 w(t)30 b Fe(session)p Ff(,)j(size)p 2187 +2489 V 41 w(t)e Fe(label_size)p Ff(,)i(const)565 2599 +y(c)m(har)e(*)g Fe(label)p Ff(,)h(in)m(t)f Fe(server_random_first)p +Ff(,)36 b(size)p 2493 2599 V 41 w(t)30 b Fe(extra_size)p +Ff(,)k(const)d(c)m(har)g(*)565 2709 y Fe(extra)p Ff(,)h(size)p +1029 2709 V 41 w(t)f Fe(outsize)p Ff(,)h(c)m(har)f(*)g +Fe(out)12 b Fg(\))390 2818 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 2972 +y Ff(lab)s(el)p 585 2972 V 40 w(size)5 b FB(:)42 b(length)31 +b(of)f(the)h Ft(label)e FB(v)-5 b(ariable.)390 3126 y +Ff(lab)s(el)t FB(:)41 b(lab)s(el)30 b(used)g(in)g(PRF)g(computation,)i +(t)m(ypically)g(a)f(short)f(string.)390 3280 y Ff(serv)m(er)p +629 3280 V 40 w(random)p 973 3280 V 40 w(\014rst)r FB(:)40 +b(non-0)30 b(if)g(serv)m(er)h(random)f(\014eld)g(should)f(b)s(e)h +(\014rst)f(in)h(seed)390 3434 y Ff(extra)p 600 3434 V +41 w(size)5 b FB(:)41 b(length)31 b(of)g(the)f Ft(extra)f +FB(v)-5 b(ariable.)390 3588 y Ff(extra)p FB(:)41 b(optional)32 +b(extra)f(data)g(to)g(seed)g(the)f(PRF)h(with.)390 3741 +y Ff(outsize)5 b FB(:)42 b(size)31 b(of)g(pre-allo)s(cated)h(output)e +(bu\013er)f(to)i(hold)f(the)h(output.)390 3895 y Ff(out)r +FB(:)41 b(pre-allo)s(cate)33 b(bu\013er)c(to)i(hold)f(the)h(generated)g +(data.)390 4049 y(Apply)40 b(the)h(TLS)f(Pseudo-Random-F)-8 +b(unction)41 b(\(PRF\))g(using)f(the)h(master)g(secret)h(on)f(some)390 +4159 y(data,)31 b(seeded)g(with)f(the)g(clien)m(t)i(and)e(serv)m(er)h +(random)e(\014elds.)390 4313 y(The)34 b Ft(label)e FB(v)-5 b(ariable)35 b(usually)f(con)m(tain)i(a)e(string)g(denoting)h(the)f -(purp)s(ose)f(for)h(the)g(generated)390 2206 y(data.)74 -b(The)41 b Fs(server_random_first)36 b FB(indicate)43 +(purp)s(ose)f(for)h(the)g(generated)390 4422 y(data.)74 +b(The)41 b Ft(server_random_first)36 b FB(indicate)43 b(whether)d(the)i(clien)m(t)h(random)d(\014eld)h(or)h(the)390 -2316 y(serv)m(er)26 b(random)f(\014eld)g(should)g(b)s(e)g(\014rst)f(in) +4532 y(serv)m(er)26 b(random)f(\014eld)g(should)g(b)s(e)g(\014rst)f(in) i(the)f(seed.)40 b(Non-0)26 b(indicate)h(that)f(the)g(serv)m(er)g -(random)390 2425 y(\014eld)k(is)g(\014rst,)g(0)h(that)g(the)g(clien)m -(t)h(random)d(\014eld)h(is)g(\014rst.)390 2555 y(The)41 -b Fs(extra)g FB(v)-5 b(ariable)43 b(can)f(b)s(e)g(used)f(to)h(add)g +(random)390 4641 y(\014eld)k(is)g(\014rst,)g(0)h(that)g(the)g(clien)m +(t)h(random)d(\014eld)h(is)g(\014rst.)390 4795 y(The)41 +b Ft(extra)g FB(v)-5 b(ariable)43 b(can)f(b)s(e)g(used)f(to)h(add)g (more)g(data)h(to)g(the)f(seed,)j(after)e(the)f(random)390 -2665 y(v)-5 b(ariables.)41 b(It)28 b(can)h(b)s(e)e(used)h(to)h(tie)g +4905 y(v)-5 b(ariables.)41 b(It)28 b(can)h(b)s(e)e(used)h(to)h(tie)g (mak)m(e)h(sure)d(the)i(generated)g(output)f(is)g(strongly)h(connected) -390 2775 y(to)i(some)g(additional)g(data)g(\(e.g.,)i(a)d(string)h(used) -e(in)h(user)g(authen)m(tication\).)390 2905 y(The)g(output)g(is)g -(placed)h(in)f(*)p Fs(OUT)p FB(,)g(whic)m(h)g(m)m(ust)h(b)s(e)e -(pre-allo)s(cated.)390 3035 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -3225 y Fu(gn)m(utls)p 483 3225 37 5 v 55 w(priorit)m(y)p -945 3225 V 54 w(deinit)3350 3413 y FB([F)-8 b(unction])-3599 +390 5015 y(to)i(some)g(additional)g(data)g(\(e.g.,)i(a)d(string)h(used) +e(in)h(user)g(authen)m(tication\).)390 5168 y(The)g(output)g(is)g +(placed)h(in)f(*)p Ft(OUT)p FB(,)g(whic)m(h)g(m)m(ust)h(b)s(e)e +(pre-allo)s(cated.)390 5322 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p +eop end +%%Page: 154 160 +TeXDict begin 154 159 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(154)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(priorit)m(y)p 945 +299 V 54 w(deinit)3350 503 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_priority_deinit)e Fg(\()p Ff(gn)m(utls)p -1889 3413 28 4 v 40 w(priorit)m(y)p 2227 3413 V 41 w(t)31 -b Fe(priority_cache)12 b Fg(\))390 3523 y Ff(priorit)m(y)p -694 3523 V 40 w(cac)m(he)5 b FB(:)43 b(is)30 b(a)h Fs -(gnutls_prioritity_t)25 b FB(structure.)390 3653 y(Deinitializes)33 -b(the)e(priorit)m(y)g(cac)m(he.)150 3844 y Fu(gn)m(utls)p -483 3844 37 5 v 55 w(priorit)m(y)p 945 3844 V 54 w(init)3350 -4032 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_priority_init)f -Fg(\()p Ff(gn)m(utls)p 1732 4032 28 4 v 40 w(priorit)m(y)p -2070 4032 V 41 w(t)31 b(*)f Fe(priority_cache)12 b Ff(,)565 -4141 y(const)31 b(c)m(har)g(*)f Fe(priorities)12 b Ff(,)34 -b(const)c(c)m(har)h(**)g Fe(err_pos)12 b Fg(\))390 4251 -y Ff(priorit)m(y)p 694 4251 V 40 w(cac)m(he)5 b FB(:)43 -b(is)30 b(a)h Fs(gnutls_prioritity_t)25 b FB(structure.)390 -4381 y Ff(priorities)t FB(:)41 b(is)30 b(a)h(string)f(describing)h -(priorities)390 4511 y Ff(err)p 508 4511 V 40 w(p)s(os)t -FB(:)39 b(In)28 b(case)i(of)f(an)g(error)f(this)h(will)g(ha)m(v)m(e)i -(the)e(p)s(osition)g(in)f(the)i(string)f(the)g(error)f(o)s(ccured)390 -4641 y(Sets)c(priorities)g(for)g(the)g(ciphers,)h(k)m(ey)f(exc)m(hange) +1889 503 28 4 v 40 w(priorit)m(y)p 2227 503 V 41 w(t)31 +b Fe(priority_cache)12 b Fg(\))390 613 y Ff(priorit)m(y)p +694 613 V 40 w(cac)m(he)5 b FB(:)43 b(is)30 b(a)h Ft +(gnutls_prioritity_t)25 b FB(structure.)390 755 y(Deinitializes)33 +b(the)e(priorit)m(y)g(cac)m(he.)150 962 y Fv(gn)m(utls)p +483 962 37 5 v 55 w(priorit)m(y)p 945 962 V 54 w(init)3350 +1167 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_priority_init)f +Fg(\()p Ff(gn)m(utls)p 1732 1167 28 4 v 40 w(priorit)m(y)p +2070 1167 V 41 w(t)31 b(*)f Fe(priority_cache)p Ff(,)565 +1277 y(const)h(c)m(har)g(*)f Fe(priorities)p Ff(,)k(const)d(c)m(har)g +(**)g Fe(err_pos)12 b Fg(\))390 1386 y Ff(priorit)m(y)p +694 1386 V 40 w(cac)m(he)5 b FB(:)43 b(is)30 b(a)h Ft +(gnutls_prioritity_t)25 b FB(structure.)390 1529 y Ff(priorities)t +FB(:)41 b(is)30 b(a)h(string)f(describing)h(priorities)390 +1671 y Ff(err)p 508 1671 V 40 w(p)s(os)t FB(:)39 b(In)28 +b(case)i(of)f(an)g(error)f(this)h(will)g(ha)m(v)m(e)i(the)e(p)s +(osition)g(in)f(the)i(string)f(the)g(error)f(o)s(ccured)390 +1813 y(Sets)c(priorities)g(for)g(the)g(ciphers,)h(k)m(ey)f(exc)m(hange) h(metho)s(ds,)g(macs)f(and)g(compression)f(metho)s(ds.)390 -4751 y(This)30 b(is)g(to)h(a)m(v)m(oid)h(using)e(the)g(gn)m(utls)p -1680 4751 V 41 w(*)p Fs(_priority\(\))e FB(functions.)390 -4881 y(The)d Fs(priorities)f FB(option)i(allo)m(ws)h(y)m(ou)g(to)f(sp)s +1923 y(This)30 b(is)g(to)h(a)m(v)m(oid)h(using)e(the)g(gn)m(utls)p +1680 1923 V 41 w(*)p Ft(_priority\(\))e FB(functions.)390 +2065 y(The)d Ft(priorities)f FB(option)i(allo)m(ws)h(y)m(ou)g(to)f(sp)s (ecify)g(a)g(semi-colon)i(separated)e(list)h(of)f(the)g(cipher)390 -4991 y(priorities)31 b(to)g(enable.)390 5121 y(Unless)36 -b(the)h(\014rst)e(k)m(eyw)m(ord)i(is)f Fs(")p FB(NONE)p -Fs(")f FB(the)i(defaults)f(\(in)g(preference)g(order\))g(are)h(for)f -(TLS)390 5230 y(proto)s(cols)25 b(TLS1.1,)g(TLS1.0,)g(SSL3.0;)i(for)c -(compression)h(NULL;)g(for)f(certi\014cate)j(t)m(yp)s(es)e(X.509,)390 -5340 y(Op)s(enPGP)-8 b(.)p eop end -%%Page: 157 163 -TeXDict begin 157 162 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(157)390 299 y(F)-8 -b(or)35 b(k)m(ey)g(exc)m(hange)h(algorithms)f(when)e(in)h(NORMAL)h(or)f -(SECURE)f(lev)m(els)j(the)f(p)s(erfect)f(for-)390 408 -y(w)m(ard)d(secrecy)i(algorithms)g(tak)m(e)g(precendence)f(of)g(the)f -(other)h(proto)s(cols.)46 b(In)31 b(all)i(cases)f(all)h(the)390 -518 y(supp)s(orted)25 b(k)m(ey)i(exc)m(hange)i(algorithms)e(are)h +2175 y(priorities)31 b(to)g(enable.)390 2317 y(Unless)f(the)h(\014rst)f +(k)m(eyw)m(ord)g(is)h Ft(")p FB(NONE)p Ft(")f FB(the)g(defaults)g(are:) +390 2459 y Fn(Proto)s(cols:)43 b FB(TLS1.1,)30 b(TLS1.0,)h(and)f +(SSL3.0.)390 2602 y Fn(Compression:)40 b FB(NULL.)390 +2744 y Fn(Certi\014cate)32 b(t)m(yp)s(es:)41 b FB(X.509,)32 +b(Op)s(enPGP)-8 b(.)390 2886 y Fn(Y)g(ou)22 b(can)h(also)g(use)f +(prede\014ned)f(sets)i(of)f(ciphersuites:)37 b Ft(")p +FB(PERF)m(ORMANCE)p Ft(")23 b FB(all)g(the)f Ft(")p FB(secure)p +Ft(")390 2996 y FB(ciphersuites)43 b(are)g(enabled,)j(limited)d(to)h +(128)g(bit)e(ciphers)h(and)f(sorted)h(b)m(y)f(terms)h(of)g(sp)s(eed)390 +3105 y(p)s(erformance.)390 3248 y Ft(")p FB(NORMAL)p +Ft(")e FB(option)g(enables)h(all)g Ft(")p FB(secure)p +Ft(")f FB(ciphersuites.)73 b(The)41 b(256-bit)i(ciphers)d(are)i(in-)390 +3357 y(cluded)30 b(as)g(a)h(fallbac)m(k)h(only)-8 b(.)41 +b(The)30 b(ciphers)g(are)h(sorted)f(b)m(y)h(securit)m(y)g(margin.)390 +3500 y Ft(")p FB(SECURE128)p Ft(")43 b FB(\015ag)h(enables)g(all)g +Ft(")p FB(secure)p Ft(")f FB(ciphersuites)g(with)h(ciphers)e(up)h(to)h +(128)h(bits,)390 3609 y(sorted)30 b(b)m(y)h(securit)m(y)g(margin.)390 +3752 y Ft(")p FB(SECURE256)p Ft(")38 b FB(\015ag)h(enables)f(all)h +Ft(")p FB(secure)p Ft(")f FB(ciphersuites)g(including)g(the)g(256)i +(bit)e(ciphers,)390 3861 y(sorted)30 b(b)m(y)h(securit)m(y)g(margin.) +390 4004 y Ft(")p FB(EXPOR)-8 b(T)p Ft(")24 b FB(all)h(the)g +(ciphersuites)f(are)h(enabled,)h(including)e(the)h(lo)m(w-securit)m(y)h +(40)g(bit)e(ciphers.)390 4146 y Ft(")p FB(NONE)p Ft(")j +FB(nothing)h(is)g(enabled.)40 b(This)27 b(disables)g(ev)m(en)i(proto)s +(cols)f(and)g(compression)f(metho)s(ds.)390 4288 y Fn(Sp)s(ecial)33 +b(k)m(eyw)m(ords:)46 b FB(')10 b(!')48 b(or)33 b('-')h(app)s(ended)d +(with)h(an)h(algorithm)h(will)f(remo)m(v)m(e)h(this)f(algorithm.)390 +4398 y(')p Ft(+)p FB(')j(app)s(ended)f(with)h(an)g(algorithm)i(will)e +(add)g(this)g(algorithm.)60 b(')p Ft(COMPAT)p FB(')35 +b(will)h(enable)h(com-)390 4507 y(patibilit)m(y)32 b(features)f(for)f +(a)h(serv)m(er.)390 4650 y(T)-8 b(o)27 b(a)m(v)m(oid)i(collisions)f(in) +f(order)f(to)i(sp)s(ecify)e(a)h(compression)g(algorithm)h(in)f(this)g +(string)f(y)m(ou)i(ha)m(v)m(e)390 4759 y(to)41 b(pre\014x)f(it)h(with)f +Ft(")p FB(COMP-)p Ft(")p FB(,)j(proto)s(col)e(v)m(ersions)g(with)g +Ft(")p FB(VERS-)p Ft(")e FB(and)h(certi\014cate)j(t)m(yp)s(es)390 +4869 y(with)30 b Ft(")p FB(CTYPE-)p Ft(")p FB(.)40 b(All)31 +b(other)f(algorithms)i(don't)e(need)g(a)h(pre\014x.)390 +5011 y(F)-8 b(or)35 b(k)m(ey)g(exc)m(hange)h(algorithms)f(when)e(in)h +(NORMAL)h(or)f(SECURE)f(lev)m(els)j(the)f(p)s(erfect)f(for-)390 +5121 y(w)m(ard)d(secrecy)i(algorithms)g(tak)m(e)g(precendence)f(of)g +(the)f(other)h(proto)s(cols.)46 b(In)31 b(all)i(cases)f(all)h(the)390 +5230 y(supp)s(orted)25 b(k)m(ey)i(exc)m(hange)i(algorithms)e(are)h (enabled)e(\(except)i(for)f(the)g(RSA-EXPOR)-8 b(T)26 -b(whic)m(h)390 628 y(is)k(only)h(enabled)f(in)g(EXPOR)-8 -b(T)30 b(lev)m(el\).)390 775 y(Note)d(that)g(although)f(one)g(can)g -(select)h(v)m(ery)g(long)f(k)m(ey)h(sizes)f(\(suc)m(h)g(as)g(256)h -(bits\))f(for)g(symmetric)390 884 y(algorithms,)k(to)g(actually)g -(increase)f(securit)m(y)h(the)f(public)f(k)m(ey)h(algorithms)h(ha)m(v)m -(e)g(to)f(use)f(longer)390 994 y(k)m(ey)j(sizes)g(as)g(w)m(ell.)390 -1141 y(F)-8 b(or)44 b(all)g(the)f(curren)m(t)g(a)m(v)-5 -b(ailable)46 b(algorithms)e(and)f(proto)s(cols)h(use)e -Fs(")p FB(gn)m(utls-cli)j(-l)p Fs(")e FB(to)h(get)h(a)390 -1251 y(listing.)390 1398 y Fn(Common)34 b(k)m(eyw)m(ords:)49 -b FB(Some)34 b(k)m(eyw)m(ords)h(are)f(de\014ned)f(to)i(pro)m(vide)f -(quic)m(k)h(access)h(to)f(common)390 1507 y(preferences.)390 -1654 y Fs(")p FB(PERF)m(ORMANCE)p Fs(")c FB(means)g(all)h(the)g -Fs(")p FB(secure)p Fs(")f FB(ciphersuites)g(are)h(enabled,)g(limited)g -(to)g(128)390 1764 y(bit)e(ciphers)g(and)g(sorted)h(b)m(y)f(terms)g(of) -h(sp)s(eed)e(p)s(erformance.)390 1911 y Fs(")p FB(NORMAL)p -Fs(")k FB(means)g(all)h Fs(")p FB(secure)p Fs(")f FB(ciphersuites.)50 -b(The)33 b(256-bit)i(ciphers)e(are)g(included)g(as)h(a)390 -2020 y(fallbac)m(k)e(only)-8 b(.)41 b(The)30 b(ciphers)g(are)h(sorted)f -(b)m(y)g(securit)m(y)h(margin.)390 2168 y Fs(")p FB(SECURE128)p -Fs(")26 b FB(means)h(all)h Fs(")p FB(secure)p Fs(")e -FB(ciphersuites)g(with)h(ciphers)f(up)f(to)j(128)g(bits,)f(sorted)g(b)m -(y)390 2277 y(securit)m(y)k(margin.)390 2424 y Fs(")p -FB(SECURE256)p Fs(")h FB(means)g(all)h Fs(")p FB(secure)p -Fs(")e FB(ciphersuites)h(including)g(the)g(256)i(bit)e(ciphers,)g -(sorted)390 2534 y(b)m(y)e(securit)m(y)h(margin.)390 -2681 y Fs(")p FB(EXPOR)-8 b(T)p Fs(")44 b FB(means)h(all)h -(ciphersuites)e(are)i(enabled,)j(including)44 b(the)h(lo)m(w-securit)m -(y)i(40)f(bit)390 2790 y(ciphers.)390 2937 y Fs(")p FB(NONE)p -Fs(")37 b FB(means)h(nothing)g(is)g(enabled.)63 b(This)37 -b(disables)h(ev)m(en)g(proto)s(cols)h(and)e(compression)390 -3047 y(metho)s(ds.)390 3194 y Fn(Sp)s(ecial)27 b(k)m(eyw)m(ords:)40 -b Fs(")p FB(!)p Fs(")27 b FB(or)h Fs(")p FB(-)p Fs(")f -FB(app)s(ended)f(with)h(an)g(algorithm)i(will)e(remo)m(v)m(e)i(this)f -(algorithm.)390 3341 y Fs("+")h FB(app)s(ended)g(with)h(an)g(algorithm) -i(will)f(add)e(this)i(algorithm.)390 3488 y Fs(")p FB(\045COMP)-8 -b(A)g(T)p Fs(")30 b FB(will)g(enable)h(compatibilit)m(y)i(features)e -(for)f(a)g(serv)m(er.)390 3635 y Fs(")p FB(\045SSL3)p -724 3635 28 4 v 39 w(RECORD)p 1165 3635 V 39 w(VERSION)p -Fs(")g FB(will)g(use)g(SSL3.0)h(record)f(v)m(ersion)h(in)f(clien)m(t)i -(hello.)390 3782 y Fs(")p FB(\045VERIFY)p 877 3782 V -40 w(ALLO)m(W)p 1260 3782 V 40 w(SIGN)p 1523 3782 V 40 -w(RSA)p 1749 3782 V 40 w(MD5)p Fs(")39 b FB(will)f(allo)m(w)h(RSA-MD5)g -(signatures)g(in)e(certi\014-)390 3892 y(cate)32 b(c)m(hains.)390 -4039 y Fs(")p FB(\045VERIFY)p 877 4039 V 40 w(ALLO)m(W)p -1260 4039 V 40 w(X509)p 1503 4039 V 42 w(V1)p 1658 4039 -V 40 w(CA)p 1832 4039 V 40 w(CR)-8 b(T)p Fs(")30 b FB(will)h(allo)m(w)h -(V1)e(CAs)g(in)h(c)m(hains.)390 4186 y Fn(Namespace)i(concern:)45 -b FB(T)-8 b(o)33 b(a)m(v)m(oid)h(collisions)f(in)f(order)g(to)h(sp)s -(ecify)f(a)h(compression)f(algorithm)390 4296 y(in)g(this)h(string)f(y) -m(ou)h(ha)m(v)m(e)h(to)f(pre\014x)e(it)i(with)g Fs(")p -FB(COMP-)p Fs(")p FB(,)f(proto)s(col)i(v)m(ersions)f(with)f -Fs(")p FB(VERS-)p Fs(")390 4405 y FB(and)e(certi\014cate)i(t)m(yp)s(es) -f(with)f Fs(")p FB(CTYPE-)p Fs(")p FB(.)39 b(All)31 b(other)g -(algorithms)g(don't)g(need)f(a)g(pre\014x.)390 4552 y -Fn(Examples:)40 b Fs(")p FB(NORMAL:!AES-128-CBC)p Fs(")32 -b FB(means)e(normal)g(ciphers)g(except)i(for)e(AES-128.)390 -4699 y Fs(")p FB(EXPOR)-8 b(T:!VERS-TLS1.0:)p Fs(+)p -FB(COMP-DEFLA)g(TE)p Fs(")41 b FB(means)g(that)g(exp)s(ort)g(ciphers)f -(are)i(en-)390 4809 y(abled,)31 b(TLS)e(1.0)i(is)g(disabled,)f(and)g -(libz)h(compression)f(enabled.)390 4956 y Fs(")p FB(NONE:)p -Fs(+)p FB(VERS-TLS1.0:)p Fs(+)p FB(AES-128-CBC:)p Fs(+)p -FB(RSA:)p Fs(+)p FB(SHA1:)p Fs(+)p FB(COMP-NULL)p Fs(")p -FB(,)390 5066 y Fs(")p FB(NORMAL)p Fs(")p FB(,)g Fs(")p -FB(\045COMP)-8 b(A)g(T)p Fs(")p FB(.)390 5213 y Fn(Returns:)93 -b FB(On)55 b(syn)m(tax)i(error)f Fs(GNUTLS_E_INVALID_REQUEST)50 -b FB(is)56 b(returned,)62 b Fs(GNUTLS_E_)390 5322 y(SUCCESS)28 -b FB(on)j(success,)f(or)h(an)f(error)g(co)s(de.)p eop -end -%%Page: 158 164 -TeXDict begin 158 163 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(158)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(priorit)m(y)p 945 -299 V 54 w(set)p 1151 299 V 54 w(direct)3350 486 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_priority_set_d)q(irec)q(t)f -Fg(\()p Ff(gn)m(utls)p 2046 486 28 4 v 40 w(session)p -2355 486 V 41 w(t)30 b Fe(session)12 b Ff(,)32 b(const)565 -596 y(c)m(har)f(*)g Fe(priorities)12 b Ff(,)33 b(const)e(c)m(har)f(**)i -Fe(err_pos)12 b Fg(\))390 705 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -835 y Ff(priorities)t FB(:)41 b(is)30 b(a)h(string)f(describing)h -(priorities)390 964 y Ff(err)p 508 964 V 40 w(p)s(os)t -FB(:)39 b(In)28 b(case)i(of)f(an)g(error)f(this)h(will)g(ha)m(v)m(e)i -(the)e(p)s(osition)g(in)f(the)i(string)f(the)g(error)f(o)s(ccured)390 -1094 y(Sets)23 b(the)h(priorities)g(to)g(use)f(on)g(the)g(ciphers,)i(k) +b(whic)m(h)390 5340 y(is)k(only)h(enabled)f(in)g(EXPOR)-8 +b(T)30 b(lev)m(el\).)p eop end +%%Page: 155 161 +TeXDict begin 155 160 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(155)390 299 y(Note)27 +b(that)g(although)f(one)g(can)g(select)h(v)m(ery)g(long)f(k)m(ey)h +(sizes)f(\(suc)m(h)g(as)g(256)h(bits\))f(for)g(symmetric)390 +408 y(algorithms,)k(to)g(actually)g(increase)f(securit)m(y)h(the)f +(public)f(k)m(ey)h(algorithms)h(ha)m(v)m(e)g(to)f(use)f(longer)390 +518 y(k)m(ey)j(sizes)g(as)g(w)m(ell.)390 647 y Fn(Examples:)216 +b Ft(")p FB(NORMAL:!AES-128-CBC)p Ft(")p FB(,)142 b Ft(")p +FB(EXPOR)-8 b(T:!VERS-TLS1.0:)p Ft(+)p FB(COMP-)390 757 +y(DEFLA)g(TE:)p Ft(+)p FB(CTYPE-OPENPGP)p Ft(")p FB(,)560 +b Ft(")p FB(NONE:)p Ft(+)p FB(VERS-TLS1.0:)p Ft(+)p FB(AES-128-)390 +866 y(CBC:)p Ft(+)p FB(RSA:)p Ft(+)p FB(SHA1:)p Ft(+)p +FB(COMP-NULL)p Ft(")p FB(,)30 b Ft(")p FB(NORMAL)p Ft(")p +FB(,)g Ft(")p FB(NORMAL:)p Ft(COMPAT")p FB(.)390 995 +y Fn(Returns:)93 b FB(On)55 b(syn)m(tax)i(error)f Ft +(GNUTLS_E_INVALID_REQUEST)50 b FB(is)56 b(returned,)62 +b Ft(GNUTLS_E_)390 1105 y(SUCCESS)28 b FB(on)j(success,)f(or)h(an)f +(error)g(co)s(de.)150 1293 y Fv(gn)m(utls)p 483 1293 +37 5 v 55 w(priorit)m(y)p 945 1293 V 54 w(set)p 1151 +1293 V 54 w(direct)3350 1479 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_priority_set_d)q(irec)q(t)f Fg(\()p +Ff(gn)m(utls)p 2046 1479 28 4 v 40 w(session)p 2355 1479 +V 41 w(t)30 b Fe(session)p Ff(,)j(const)565 1589 y(c)m(har)e(*)g +Fe(priorities)p Ff(,)i(const)e(c)m(har)g(**)g Fe(err_pos)12 +b Fg(\))390 1698 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 1827 y Ff(priorities)t +FB(:)41 b(is)30 b(a)h(string)f(describing)h(priorities)390 +1957 y Ff(err)p 508 1957 V 40 w(p)s(os)t FB(:)39 b(In)28 +b(case)i(of)f(an)g(error)f(this)h(will)g(ha)m(v)m(e)i(the)e(p)s +(osition)g(in)f(the)i(string)f(the)g(error)f(o)s(ccured)390 +2086 y(Sets)23 b(the)h(priorities)g(to)g(use)f(on)g(the)g(ciphers,)i(k) m(ey)f(exc)m(hange)g(metho)s(ds,)h(macs)e(and)g(compression)390 -1204 y(metho)s(ds.)62 b(This)37 b(function)h(a)m(v)m(oids)h(k)m(eeping) +2195 y(metho)s(ds.)62 b(This)37 b(function)h(a)m(v)m(oids)h(k)m(eeping) g(a)f(priorit)m(y)g(cac)m(he)h(and)f(is)f(used)g(to)i(directly)f(set) -390 1313 y(string)c(priorities)g(to)h(a)f(TLS)f(session.)51 +390 2305 y(string)c(priorities)g(to)h(a)f(TLS)f(session.)51 b(F)-8 b(or)35 b(do)s(cumen)m(tation)g(c)m(hec)m(k)g(the)f -Fs(gnutls_priority_)390 1423 y(init\(\))p FB(.)390 1553 -y Fn(Returns:)93 b FB(On)55 b(syn)m(tax)i(error)f Fs +Ft(gnutls_priority_)390 2414 y(init\(\))p FB(.)390 2543 +y Fn(Returns:)93 b FB(On)55 b(syn)m(tax)i(error)f Ft (GNUTLS_E_INVALID_REQUEST)50 b FB(is)56 b(returned,)62 -b Fs(GNUTLS_E_)390 1662 y(SUCCESS)28 b FB(on)j(success,)f(or)h(an)f -(error)g(co)s(de.)150 1852 y Fu(gn)m(utls)p 483 1852 -37 5 v 55 w(priorit)m(y)p 945 1852 V 54 w(set)3350 2039 +b Ft(GNUTLS_E_)390 2653 y(SUCCESS)28 b FB(on)j(success,)f(or)h(an)f +(error)g(co)s(de.)150 2841 y Fv(gn)m(utls)p 483 2841 +37 5 v 55 w(priorit)m(y)p 945 2841 V 54 w(set)3350 3027 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_priority_set)e -Fg(\()p Ff(gn)m(utls)p 1679 2039 28 4 v 41 w(session)p -1989 2039 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(gn)m(utls)p -2768 2039 V 41 w(priorit)m(y)p 3107 2039 V 40 w(t)565 -2148 y Fe(priority)12 b Fg(\))390 2258 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2388 y Ff(priorit)m(y)8 b FB(:)41 b(is)30 b(a)h Fs(gnutls_priority_t)26 -b FB(structure.)390 2517 y(Sets)d(the)h(priorities)g(to)g(use)f(on)g +Fg(\()p Ff(gn)m(utls)p 1679 3027 28 4 v 41 w(session)p +1989 3027 V 40 w(t)31 b Fe(session)p Ff(,)i(gn)m(utls)p +2757 3027 V 40 w(priorit)m(y)p 3095 3027 V 41 w(t)565 +3137 y Fe(priority)12 b Fg(\))390 3246 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3375 y Ff(priorit)m(y)8 b FB(:)41 b(is)30 b(a)h Ft(gnutls_priority_t)26 +b FB(structure.)390 3505 y(Sets)d(the)h(priorities)g(to)g(use)f(on)g (the)g(ciphers,)i(k)m(ey)f(exc)m(hange)g(metho)s(ds,)h(macs)e(and)g -(compression)390 2627 y(metho)s(ds.)390 2757 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)150 2946 y Fu(gn)m(utls)p 483 2946 37 5 v 55 w(proto)s(col)p -979 2946 V 55 w(get)p 1199 2946 V 54 w(id)3350 3133 y +(compression)390 3614 y(metho)s(ds.)390 3743 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s +(de.)150 3932 y Fv(gn)m(utls)p 483 3932 37 5 v 55 w(proto)s(col)p +979 3932 V 55 w(get)p 1199 3932 V 54 w(id)3350 4117 y FB([F)-8 b(unction])-3599 b Fh(gnutls_protocol_t)57 b -(gnutls_protocol_get_)q(id)52 b Fg(\()p Ff(const)31 b(c)m(har)g(*)f -Fe(name)12 b Fg(\))390 3243 y Ff(name)5 b FB(:)41 b(is)30 -b(a)h(proto)s(col)g(name)390 3373 y(The)f(names)g(are)h(compared)f(in)g -(a)h(case)h(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 3502 +(gnutls_protocol_get_)q(id)52 b Fg(\()p Ff(const)31 b(c)m(har*)g +Fe(name)12 b Fg(\))390 4227 y FB(The)30 b(names)g(are)h(compared)f(in)g +(a)h(case)h(insensitiv)m(e)f(w)m(a)m(y)-8 b(.)390 4356 y Fn(Returns:)40 b FB(an)31 b(id)f(of)g(the)h(sp)s(eci\014ed)e(proto)s -(col,)j(or)e Fs(GNUTLS_VERSION_UNKNOWN)25 b FB(on)30 -b(error.)150 3692 y Fu(gn)m(utls)p 483 3692 V 55 w(proto)s(col)p -979 3692 V 55 w(get)p 1199 3692 V 54 w(name)3350 3879 +(col,)j(or)e Ft(GNUTLS_VERSION_UNKNOWN)25 b FB(on)30 +b(error.)150 4544 y Fv(gn)m(utls)p 483 4544 V 55 w(proto)s(col)p +979 4544 V 55 w(get)p 1199 4544 V 54 w(name)3350 4730 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g (gnutls_protocol_get_na)q(me)f Fg(\()p Ff(gn)m(utls)p -2412 3879 28 4 v 40 w(proto)s(col)p 2777 3879 V 41 w(t)565 -3989 y Fe(version)12 b Fg(\))390 4098 y Ff(v)m(ersion)p +2412 4730 28 4 v 40 w(proto)s(col)p 2777 4730 V 41 w(t)565 +4840 y Fe(version)12 b Fg(\))390 4950 y Ff(v)m(ersion)p FB(:)41 b(is)31 b(a)f(\(gn)m(utls\))i(v)m(ersion)f(n)m(um)m(b)s(er)390 -4228 y(Con)m(v)m(ert)g(a)g Fs(gnutls_protocol_t)26 b -FB(v)-5 b(alue)30 b(to)i(a)e(string.)390 4357 y Fn(Returns:)94 +5079 y(Con)m(v)m(ert)g(a)g Ft(gnutls_protocol_t)26 b +FB(v)-5 b(alue)30 b(to)i(a)e(string.)390 5208 y Fn(Returns:)94 b FB(a)58 b(string)f(that)h(con)m(tains)g(the)g(name)f(of)g(the)h(sp)s -(eci\014ed)e(TLS)g(v)m(ersion)i(\(e.g.,)390 4467 y Fs(")p -FB(TLS1.0)p Fs(")p FB(\),)31 b(or)f Fs(NULL)p FB(.)150 -4657 y Fu(gn)m(utls)p 483 4657 37 5 v 55 w(proto)s(col)p -979 4657 V 55 w(get)p 1199 4657 V 54 w(v)m(ersion)3350 -4844 y FB([F)-8 b(unction])-3599 b Fh(gnutls_protocol_t)57 -b(gnutls_protocol_get_)q(vers)q(ion)565 4953 y Fg(\()p -Ff(gn)m(utls)p 846 4953 28 4 v 41 w(session)p 1156 4953 -V 40 w(t)31 b Fe(session)12 b Fg(\))390 5063 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -5193 y(Get)31 b(TLS)f(v)m(ersion,)h(a)g Fs(gnutls_protocol_t)25 -b FB(v)-5 b(alue.)390 5322 y Fn(Returns:)40 b FB(the)31 -b(v)m(ersion)g(of)f(the)h(curren)m(tly)f(used)g(proto)s(col.)p +(eci\014ed)e(TLS)g(v)m(ersion)i(\(e.g.,)390 5317 y Ft(")p +FB(TLS1.0)p Ft(")p FB(\),)31 b(or)f Ft(NULL)p FB(.)p eop end -%%Page: 159 165 -TeXDict begin 159 164 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(159)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(proto)s(col)p 979 -299 V 55 w(list)3350 508 y FB([F)-8 b(unction])-3599 +%%Page: 156 162 +TeXDict begin 156 161 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(156)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(proto)s(col)p 979 +299 V 55 w(get)p 1199 299 V 54 w(v)m(ersion)3350 521 +y FB([F)-8 b(unction])-3599 b Fh(gnutls_protocol_t)57 +b(gnutls_protocol_get_)q(vers)q(ion)565 630 y Fg(\()p +Ff(gn)m(utls)p 846 630 28 4 v 41 w(session)p 1156 630 +V 40 w(t)31 b Fe(session)12 b Fg(\))390 740 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +899 y(Get)31 b(TLS)f(v)m(ersion,)h(a)g Ft(gnutls_protocol_t)25 +b FB(v)-5 b(alue.)390 1058 y Fn(Returns:)40 b FB(the)31 +b(v)m(ersion)g(of)f(the)h(curren)m(tly)f(used)g(proto)s(col.)150 +1283 y Fv(gn)m(utls)p 483 1283 37 5 v 55 w(proto)s(col)p +979 1283 V 55 w(list)3350 1504 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(gnutls_protocol_t)j(*)c(gnutls_protocol_list)e -Fg(\()31 b Fe(void)12 b Fg(\))390 618 y FB(Get)31 b(a)g(list)g(of)g +Fg(\()31 b Fe(void)12 b Fg(\))390 1614 y FB(Get)31 b(a)g(list)g(of)g (supp)s(orted)d(proto)s(cols,)k(e.g.)41 b(SSL)30 b(3.0,)h(TLS)f(1.0)h -(etc.)390 764 y Fn(Returns:)43 b FB(a)32 b(zero-terminated)h(list)f(of) -g Fs(gnutls_protocol_t)27 b FB(in)m(tegers)33 b(indicating)f(the)g(a)m -(v)-5 b(ail-)390 874 y(able)31 b(proto)s(cols.)150 1086 -y Fu(gn)m(utls)p 483 1086 V 55 w(proto)s(col)p 979 1086 -V 55 w(set)p 1186 1086 V 54 w(priorit)m(y)3350 1295 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_protocol_set_p)q(rior)q -(ity)f Fg(\()p Ff(gn)m(utls)p 2150 1295 28 4 v 41 w(session)p -2460 1295 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(const)565 -1404 y(in)m(t)f(*)g Fe(list)12 b Fg(\))390 1514 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -1661 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) -m(utls)p 1789 1661 V 40 w(proto)s(col)p 2154 1661 V 41 -w(t)g(elemen)m(ts.)390 1807 y(Sets)c(the)g(priorit)m(y)g(on)g(the)g +(etc.)390 1773 y Fn(Returns:)43 b FB(a)32 b(zero-terminated)h(list)f +(of)g Ft(gnutls_protocol_t)27 b FB(in)m(tegers)33 b(indicating)f(the)g +(a)m(v)-5 b(ail-)390 1883 y(able)31 b(proto)s(cols.)150 +2107 y Fv(gn)m(utls)p 483 2107 V 55 w(proto)s(col)p 979 +2107 V 55 w(set)p 1186 2107 V 54 w(priorit)m(y)3350 2329 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_protocol_set_p)q(rior) +q(ity)f Fg(\()p Ff(gn)m(utls)p 2150 2329 28 4 v 41 w(session)p +2460 2329 V 40 w(t)31 b Fe(session)p Ff(,)h(const)565 +2438 y(in)m(t)f(*)g Fe(list)12 b Fg(\))390 2548 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2707 y Ff(list)r FB(:)41 b(is)31 b(a)g(0)f(terminated)h(list)g(of)g(gn) +m(utls)p 1789 2707 V 40 w(proto)s(col)p 2154 2707 V 41 +w(t)g(elemen)m(ts.)390 2867 y(Sets)c(the)g(priorit)m(y)g(on)g(the)g (proto)s(col)g(v)m(ersions)g(supp)s(orted)e(b)m(y)i(gn)m(utls.)40 -b(This)26 b(function)g(actually)390 1917 y(enables)31 +b(This)26 b(function)g(actually)390 2976 y(enables)31 b(or)f(disables)g(proto)s(cols.)42 b(New)m(er)31 b(proto)s(col)g(v)m (ersions)g(alw)m(a)m(ys)h(ha)m(v)m(e)g(highest)e(priorit)m(y)-8 -b(.)390 2064 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +b(.)390 3136 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -2275 y Fu(gn)m(utls)p 483 2275 37 5 v 55 w(psk)p 719 -2275 V 54 w(allo)s(cate)p 1184 2275 V 53 w(clien)m(t)p -1529 2275 V 54 w(creden)m(tials)3350 2485 y FB([F)-8 +3360 y Fv(gn)m(utls)p 483 3360 37 5 v 55 w(psk)p 719 +3360 V 54 w(allo)s(cate)p 1184 3360 V 53 w(clien)m(t)p +1529 3360 V 54 w(creden)m(tials)3350 3581 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_allocate_c)q(lien)q(t_c)q -(red)q(ent)q(ials)565 2594 y Fg(\()p Ff(gn)m(utls)p 846 -2594 28 4 v 41 w(psk)p 1022 2594 V 39 w(clien)m(t)p 1274 -2594 V 42 w(creden)m(tials)p 1737 2594 V 41 w(t)31 b(*)g -Fe(sc)12 b Fg(\))390 2704 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g(p)s(oin)m(ter)f(to)h(a)g Fs(gnutls_psk_server_creden)o(tia)o -(ls_t)24 b FB(structure.)390 2851 y(This)31 b(structure)g(is)h(complex) -g(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f -(function)g(is)390 2960 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i -(it.)390 3107 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +(red)q(ent)q(ials)565 3691 y Fg(\()p Ff(gn)m(utls)p 846 +3691 28 4 v 41 w(psk)p 1022 3691 V 39 w(clien)m(t)p 1274 +3691 V 42 w(creden)m(tials)p 1737 3691 V 41 w(t)31 b(*)g +Fe(sc)12 b Fg(\))390 3801 y Ff(sc)6 b FB(:)40 b(is)31 +b(a)g(p)s(oin)m(ter)f(to)h(an)f Ft(gnutls_psk_server_credenti)o(als)o +(_t)24 b FB(structure.)390 3960 y(This)31 b(structure)g(is)h(complex)g +(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f +(function)g(is)390 4070 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i +(it.)390 4229 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -3319 y Fu(gn)m(utls)p 483 3319 37 5 v 55 w(psk)p 719 -3319 V 54 w(allo)s(cate)p 1184 3319 V 53 w(serv)m(er)p -1559 3319 V 54 w(creden)m(tials)3350 3528 y FB([F)-8 +4453 y Fv(gn)m(utls)p 483 4453 37 5 v 55 w(psk)p 719 +4453 V 54 w(allo)s(cate)p 1184 4453 V 53 w(serv)m(er)p +1559 4453 V 54 w(creden)m(tials)3350 4675 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_allocate_s)q(erve)q(r_c)q -(red)q(ent)q(ials)565 3637 y Fg(\()p Ff(gn)m(utls)p 846 -3637 28 4 v 41 w(psk)p 1022 3637 V 39 w(serv)m(er)p 1294 -3637 V 41 w(creden)m(tials)p 1756 3637 V 41 w(t)31 b(*)f -Fe(sc)12 b Fg(\))390 3747 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g(p)s(oin)m(ter)f(to)h(a)g Fs(gnutls_psk_server_creden)o(tia)o -(ls_t)24 b FB(structure.)390 3894 y(This)31 b(structure)g(is)h(complex) -g(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f -(function)g(is)390 4003 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i -(it.)390 4150 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -4362 y Fu(gn)m(utls)p 483 4362 37 5 v 55 w(psk)p 719 -4362 V 54 w(clien)m(t)p 1065 4362 V 53 w(get)p 1283 4362 -V 54 w(hin)m(t)3350 4571 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_psk_client_get_)q(hin)q(t)e -Fg(\()p Ff(gn)m(utls)p 2516 4571 28 4 v 41 w(session)p -2826 4571 V 40 w(t)565 4680 y Fe(session)12 b Fg(\))390 -4790 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -4937 y(The)j(PSK)g(iden)m(tit)m(y)i(hin)m(t)e(ma)m(y)i(giv)m(e)g(the)f -(clien)m(t)h(help)e(in)g(deciding)h(whic)m(h)g(username)f(to)h(use.)390 -5046 y(This)30 b(should)f(only)h(b)s(e)g(called)i(in)e(case)h(of)g(PSK) -e(authen)m(tication)k(and)c(in)i(case)g(of)f(a)h(clien)m(t.)390 -5193 y Fn(Returns:)40 b FB(the)31 b(iden)m(tit)m(y)h(hin)m(t)e(of)h -(the)f(p)s(eer,)g(or)h Fs(NULL)e FB(in)h(case)h(of)g(an)f(error.)390 -5340 y Fn(Since:)41 b FB(2.4.0)p eop end -%%Page: 160 166 -TeXDict begin 160 165 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(160)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(psk)p 719 299 V 54 -w(free)p 972 299 V 55 w(clien)m(t)p 1319 299 V 53 w(creden)m(tials)3350 -502 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_psk_free_client_c)q(red)q(ent)q(ial)q(s)565 612 -y Fg(\()p Ff(gn)m(utls)p 846 612 28 4 v 41 w(psk)p 1022 -612 V 39 w(clien)m(t)p 1274 612 V 42 w(creden)m(tials)p -1737 612 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 722 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_psk_client_crede)o(nti)o(als_)o(t)24 -b FB(structure.)390 863 y(This)31 b(structure)g(is)h(complex)g(enough)f -(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 973 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\)) -i(it.)150 1179 y Fu(gn)m(utls)p 483 1179 37 5 v 55 w(psk)p -719 1179 V 54 w(free)p 972 1179 V 55 w(serv)m(er)p 1349 -1179 V 54 w(creden)m(tials)3350 1382 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_psk_free_server_c)q(red)q(ent)q(ial)q(s)565 -1492 y Fg(\()p Ff(gn)m(utls)p 846 1492 28 4 v 41 w(psk)p -1022 1492 V 39 w(serv)m(er)p 1294 1492 V 41 w(creden)m(tials)p -1756 1492 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 1601 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_psk_server_crede)o(nti)o(als_)o(t)24 -b FB(structure.)390 1743 y(This)31 b(structure)g(is)h(complex)g(enough) +(red)q(ent)q(ials)565 4784 y Fg(\()p Ff(gn)m(utls)p 846 +4784 28 4 v 41 w(psk)p 1022 4784 V 39 w(serv)m(er)p 1294 +4784 V 41 w(creden)m(tials)p 1756 4784 V 41 w(t)31 b(*)f +Fe(sc)12 b Fg(\))390 4894 y Ff(sc)6 b FB(:)40 b(is)31 +b(a)g(p)s(oin)m(ter)f(to)h(an)f Ft(gnutls_psk_server_credenti)o(als)o +(_t)24 b FB(structure.)390 5053 y(This)31 b(structure)g(is)h(complex)g +(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f +(function)g(is)390 5163 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i +(it.)390 5322 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p +eop end +%%Page: 157 163 +TeXDict begin 157 162 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(157)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(psk)p 719 299 V 54 +w(clien)m(t)p 1065 299 V 53 w(get)p 1283 299 V 54 w(hin)m(t)3350 +486 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_psk_client_get_)q(hin)q(t)e Fg(\()p Ff(gn)m(utls)p +2516 486 28 4 v 41 w(session)p 2826 486 V 40 w(t)565 +596 y Fe(session)12 b Fg(\))390 705 y Ff(session)p FB(:)41 +b(is)30 b(a)h(gn)m(utls)g(session)390 835 y(The)j(PSK)g(iden)m(tit)m(y) +i(hin)m(t)e(ma)m(y)i(giv)m(e)g(the)f(clien)m(t)h(help)e(in)g(deciding)h +(whic)m(h)g(username)f(to)h(use.)390 944 y(This)30 b(should)f(only)h(b) +s(e)g(called)i(in)e(case)h(of)g(PSK)e(authen)m(tication)k(and)c(in)i +(case)g(of)f(a)h(clien)m(t.)390 1074 y Fn(Returns:)40 +b FB(the)31 b(iden)m(tit)m(y)h(hin)m(t)e(of)h(the)f(p)s(eer,)g(or)h +Ft(NULL)e FB(in)h(case)h(of)g(an)f(error.)390 1204 y +Fn(Since:)41 b FB(2.4.0)150 1393 y Fv(gn)m(utls)p 483 +1393 37 5 v 55 w(psk)p 719 1393 V 54 w(free)p 972 1393 +V 55 w(clien)m(t)p 1319 1393 V 53 w(creden)m(tials)3350 +1580 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_psk_free_client_c)q(red)q(ent)q(ial)q(s)565 1690 +y Fg(\()p Ff(gn)m(utls)p 846 1690 28 4 v 41 w(psk)p 1022 +1690 V 39 w(clien)m(t)p 1274 1690 V 42 w(creden)m(tials)p +1737 1690 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 1800 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_psk_client_credent)o(ial)o(s_t)24 +b FB(structure.)390 1929 y(This)31 b(structure)g(is)h(complex)g(enough) f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 1852 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s -(cate\))i(it.)150 2059 y Fu(gn)m(utls)p 483 2059 37 5 -v 55 w(psk)p 719 2059 V 54 w(netconf)p 1166 2059 V 54 -w(deriv)m(e)p 1546 2059 V 54 w(k)m(ey)3350 2262 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_psk_netconf_de)q(rive)q(_ke)q(y)e -Fg(\()p Ff(const)32 b(c)m(har)e(*)h Fe(password)12 b -Ff(,)33 b(const)565 2372 y(c)m(har)e(*)g Fe(psk_identity)12 -b Ff(,)33 b(const)e(c)m(har)g(*)g Fe(psk_identity_hint)12 -b Ff(,)35 b(gn)m(utls)p 3251 2372 28 4 v 40 w(datum)p -3549 2372 V 40 w(t)c(*)565 2481 y Fe(output_key)12 b -Fg(\))390 2591 y Ff(passw)m(ord)t FB(:)40 b(zero)31 b(terminated)g -(string)f(con)m(taining)i(passw)m(ord.)390 2732 y Ff(psk)p -531 2732 V 39 w(iden)m(tit)m(y)8 b FB(:)42 b(zero)32 -b(terminated)e(string)h(with)f(PSK)f(iden)m(tit)m(y)-8 -b(.)390 2874 y Ff(psk)p 531 2874 V 39 w(iden)m(tit)m(y)p -874 2874 V 42 w(hin)m(t)r FB(:)41 b(zero)31 b(terminated)g(string)f -(with)g(PSK)f(iden)m(tit)m(y)j(hin)m(t.)390 3015 y Ff(output)p -664 3015 V 40 w(k)m(ey)8 b FB(:)41 b(output)30 b(v)-5 +(is)390 2039 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s +(cate\))i(it.)150 2228 y Fv(gn)m(utls)p 483 2228 37 5 +v 55 w(psk)p 719 2228 V 54 w(free)p 972 2228 V 55 w(serv)m(er)p +1349 2228 V 54 w(creden)m(tials)3350 2416 y FB([F)-8 +b(unction])-3599 b Fh(void)54 b(gnutls_psk_free_server_c)q(red)q(ent)q +(ial)q(s)565 2525 y Fg(\()p Ff(gn)m(utls)p 846 2525 28 +4 v 41 w(psk)p 1022 2525 V 39 w(serv)m(er)p 1294 2525 +V 41 w(creden)m(tials)p 1756 2525 V 41 w(t)31 b Fe(sc)12 +b Fg(\))390 2635 y Ff(sc)6 b FB(:)40 b(is)31 b(an)f Ft +(gnutls_psk_server_credent)o(ial)o(s_t)24 b FB(structure.)390 +2764 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f +(directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 +2874 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\))i(it.) +150 3064 y Fv(gn)m(utls)p 483 3064 37 5 v 55 w(psk)p +719 3064 V 54 w(netconf)p 1166 3064 V 54 w(deriv)m(e)p +1546 3064 V 54 w(k)m(ey)3350 3251 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_psk_netconf_de)q(rive)q(_ke)q(y)e +Fg(\()p Ff(const)32 b(c)m(har)e(*)h Fe(password)p Ff(,)i(const)565 +3360 y(c)m(har)e(*)g Fe(psk_identity)p Ff(,)j(const)d(c)m(har)f(*)h +Fe(psk_identity_hint)p Ff(,)36 b(gn)m(utls)p 3228 3360 +28 4 v 40 w(datum)p 3526 3360 V 40 w(t)31 b(*)565 3470 +y Fe(output_key)12 b Fg(\))390 3579 y Ff(passw)m(ord)t +FB(:)40 b(zero)31 b(terminated)g(string)f(con)m(taining)i(passw)m(ord.) +390 3709 y Ff(psk)p 531 3709 V 39 w(iden)m(tit)m(y)8 +b FB(:)42 b(zero)32 b(terminated)e(string)h(with)f(PSK)f(iden)m(tit)m +(y)-8 b(.)390 3839 y Ff(psk)p 531 3839 V 39 w(iden)m(tit)m(y)p +874 3839 V 42 w(hin)m(t)r FB(:)41 b(zero)31 b(terminated)g(string)f +(with)g(PSK)f(iden)m(tit)m(y)j(hin)m(t.)390 3968 y Ff(output)p +664 3968 V 40 w(k)m(ey)8 b FB(:)41 b(output)30 b(v)-5 b(ariable,)31 b(con)m(tains)h(newly)e(allo)s(cated)i(*data)g(p)s(oin)m -(ter.)390 3156 y(This)g(function)g(will)h(deriv)m(e)g(a)g(PSK)f(k)m(ey) +(ter.)390 4098 y(This)g(function)g(will)h(deriv)m(e)g(a)g(PSK)f(k)m(ey) i(from)e(a)h(passw)m(ord,)g(for)f(use)g(with)h(the)f(Netconf)i(pro-)390 -3266 y(to)s(col.)390 3407 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +4208 y(to)s(col.)390 4337 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)390 -3549 y Fn(Since:)41 b FB(2.4.0)150 3755 y Fu(gn)m(utls)p -483 3755 37 5 v 55 w(psk)p 719 3755 V 54 w(serv)m(er)p -1095 3755 V 54 w(get)p 1314 3755 V 54 w(username)3350 -3958 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +4467 y Fn(Since:)41 b FB(2.4.0)150 4657 y Fv(gn)m(utls)p +483 4657 37 5 v 55 w(psk)p 719 4657 V 54 w(serv)m(er)p +1095 4657 V 54 w(get)p 1314 4657 V 54 w(username)3350 +4844 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g (gnutls_psk_server_get_)q(use)q(rnam)q(e)e Fg(\()p Ff(gn)m(utls)p -2725 3958 28 4 v 41 w(session)p 3035 3958 V 40 w(t)565 -4068 y Fe(session)12 b Fg(\))390 4177 y Ff(session)p -FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 4319 y(This)f(should)f +2725 4844 28 4 v 41 w(session)p 3035 4844 V 40 w(t)565 +4953 y Fe(session)12 b Fg(\))390 5063 y Ff(session)p +FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 5193 y(This)f(should)f (only)h(b)s(e)g(called)i(in)e(case)h(of)g(PSK)e(authen)m(tication)k -(and)c(in)i(case)g(of)f(a)h(serv)m(er.)390 4460 y Fn(Returns:)40 -b FB(the)31 b(username)f(of)g(the)h(p)s(eer,)f(or)g Fs(NULL)f -FB(in)h(case)i(of)e(an)h(error.)150 4666 y Fu(gn)m(utls)p -483 4666 37 5 v 55 w(psk)p 719 4666 V 54 w(set)p 925 -4666 V 54 w(clien)m(t)p 1271 4666 V 53 w(creden)m(tials)p -1898 4666 V 54 w(function)3350 4870 y FB([F)-8 b(unction])-3599 +(and)c(in)i(case)g(of)f(a)h(serv)m(er.)390 5322 y Fn(Returns:)40 +b FB(the)31 b(username)f(of)g(the)h(p)s(eer,)f(or)g Ft(NULL)f +FB(in)h(case)i(of)e(an)h(error.)p eop end +%%Page: 158 164 +TeXDict begin 158 163 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(158)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(psk)p 719 299 V 54 +w(set)p 925 299 V 54 w(clien)m(t)p 1271 299 V 53 w(creden)m(tials)p +1898 299 V 54 w(function)3350 499 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_psk_set_client_cr)q(ede)q(nti)q(als)q(_fun)q(cti) -q(on)565 4979 y Fg(\()p Ff(gn)m(utls)p 846 4979 28 4 -v 41 w(psk)p 1022 4979 V 39 w(clien)m(t)p 1274 4979 V -42 w(creden)m(tials)p 1737 4979 V 41 w(t)31 b Fe(cred)12 -b Ff(,)31 b(gn)m(utls)p 2360 4979 V 41 w(psk)p 2536 4979 -V 39 w(clien)m(t)p 2788 4979 V 42 w(creden)m(tials)p -3251 4979 V 41 w(function)f(*)565 5089 y Fe(func)12 b -Fg(\))390 5199 y Ff(cred)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_psk_server_credent)o(ials)o(_t)24 b FB(structure.)390 -5340 y Ff(func)6 b FB(:)39 b(is)31 b(the)f(callbac)m(k)j(function)p -eop end -%%Page: 161 167 -TeXDict begin 161 166 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(161)390 299 y(This)47 -b(function)h(can)g(b)s(e)f(used)g(to)i(set)f(a)g(callbac)m(k)i(to)f -(retriev)m(e)g(the)f(username)g(and)f(pass-)390 408 y(w)m(ord)f(for)f -(clien)m(t)j(PSK)d(authen)m(tication.)89 b(The)46 b(callbac)m(k's)i -(function)e(form)f(is:)72 b(in)m(t)47 b(\(*call-)390 -518 y(bac)m(k\)\(gn)m(utls)p 887 518 28 4 v 42 w(session)p -1198 518 V 40 w(t,)31 b(c)m(har**)h(username,)e(gn)m(utls)p -2290 518 V 40 w(datum)p 2588 518 V 40 w(t*)h(k)m(ey\);)390 -672 y(The)h Fs(username)e FB(and)h Fs(key)p FB(-)p Fs(>)p -FB(data)h(m)m(ust)g(b)s(e)g(allo)s(cated)i(using)d Fs -(gnutls_malloc\(\))p FB(.)42 b Fs(username)390 782 y -FB(should)30 b(b)s(e)h(ASCI)s(I)f(strings)h(or)h(UTF-8)g(strings)f -(prepared)f(using)h(the)h Fs(")p FB(SASLprep)p Fs(")d -FB(pro\014le)i(of)390 892 y Fs(")p FB(stringprep)p Fs(")p -FB(.)390 1046 y(The)f(callbac)m(k)i(function)e(will)h(b)s(e)f(called)h -(once)h(p)s(er)d(handshak)m(e.)390 1200 y(The)h(callbac)m(k)i(function) -e(should)g(return)f(0)i(on)f(success.)41 b(-1)31 b(indicates)g(an)g -(error.)150 1420 y Fu(gn)m(utls)p 483 1420 37 5 v 55 -w(psk)p 719 1420 V 54 w(set)p 925 1420 V 54 w(clien)m(t)p -1271 1420 V 53 w(creden)m(tials)3350 1636 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_client)q(_cre)q(den)q -(tia)q(ls)565 1746 y Fg(\()p Ff(gn)m(utls)p 846 1746 -28 4 v 41 w(psk)p 1022 1746 V 39 w(clien)m(t)p 1274 1746 -V 42 w(creden)m(tials)p 1737 1746 V 41 w(t)31 b Fe(res)12 -b Ff(,)31 b(const)g(c)m(har)g(*)f Fe(username)12 b Ff(,)33 -b(const)565 1855 y(gn)m(utls)p 811 1855 V 41 w(datum)p -1110 1855 V 39 w(t)e(*)g Fe(key)12 b Ff(,)31 b(gn)m(utls)p -1755 1855 V 40 w(psk)p 1930 1855 V 39 w(k)m(ey)p 2102 -1855 V 41 w(\015ags)g Fe(flags)12 b Fg(\))390 1965 y -Ff(res)t FB(:)40 b(is)31 b(a)f Fs(gnutls_psk_client_credenti)o(als_)o -(t)24 b FB(structure.)390 2119 y Ff(username)5 b FB(:)40 +q(on)565 609 y Fg(\()p Ff(gn)m(utls)p 846 609 28 4 v +41 w(psk)p 1022 609 V 39 w(clien)m(t)p 1274 609 V 42 +w(creden)m(tials)p 1737 609 V 41 w(t)31 b Fe(cred)p Ff(,)h(gn)m(utls)p +2349 609 V 40 w(psk)p 2524 609 V 40 w(clien)m(t)p 2777 +609 V 41 w(creden)m(tials)p 3239 609 V 42 w(function)e(*)565 +718 y Fe(func)12 b Fg(\))390 828 y Ff(cred)t FB(:)40 +b(is)31 b(a)f Ft(gnutls_psk_server_credent)o(ials)o(_t)24 +b FB(structure.)390 966 y Ff(func)6 b FB(:)39 b(is)31 +b(the)f(callbac)m(k)j(function)390 1104 y(This)47 b(function)h(can)g(b) +s(e)f(used)g(to)i(set)f(a)g(callbac)m(k)i(to)f(retriev)m(e)g(the)f +(username)g(and)f(pass-)390 1214 y(w)m(ord)f(for)f(clien)m(t)j(PSK)d +(authen)m(tication.)89 b(The)46 b(callbac)m(k's)i(function)e(form)f +(is:)72 b(in)m(t)47 b(\(*call-)390 1324 y(bac)m(k\)\(gn)m(utls)p +887 1324 V 42 w(session)p 1198 1324 V 40 w(t,)31 b(c)m(har**)h +(username,)e(gn)m(utls)p 2290 1324 V 40 w(datum)p 2588 +1324 V 40 w(t*)h(k)m(ey\);)390 1462 y(The)h Ft(username)e +FB(and)h Ft(key)p FB(-)p Ft(>)p FB(data)h(m)m(ust)g(b)s(e)g(allo)s +(cated)i(using)d Ft(gnutls_malloc\(\))p FB(.)42 b Ft(username)390 +1571 y FB(should)30 b(b)s(e)h(ASCI)s(I)f(strings)h(or)h(UTF-8)g +(strings)f(prepared)f(using)h(the)h Ft(")p FB(SASLprep)p +Ft(")d FB(pro\014le)i(of)390 1681 y Ft(")p FB(stringprep)p +Ft(")p FB(.)390 1819 y(The)f(callbac)m(k)i(function)e(will)h(b)s(e)f +(called)h(once)h(p)s(er)d(handshak)m(e.)390 1957 y(The)h(callbac)m(k)i +(function)e(should)g(return)f(0)i(on)f(success.)41 b(-1)31 +b(indicates)g(an)g(error.)150 2160 y Fv(gn)m(utls)p 483 +2160 37 5 v 55 w(psk)p 719 2160 V 54 w(set)p 925 2160 +V 54 w(clien)m(t)p 1271 2160 V 53 w(creden)m(tials)3350 +2361 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_client)q +(_cre)q(den)q(tia)q(ls)565 2470 y Fg(\()p Ff(gn)m(utls)p +846 2470 28 4 v 41 w(psk)p 1022 2470 V 39 w(clien)m(t)p +1274 2470 V 42 w(creden)m(tials)p 1737 2470 V 41 w(t)31 +b Fe(res)p Ff(,)g(const)g(c)m(har)g(*)g Fe(username)p +Ff(,)i(const)565 2580 y(gn)m(utls)p 811 2580 V 41 w(datum)p +1110 2580 V 39 w(t)e(*)g Fe(key)p Ff(,)g(gn)m(utls)p +1743 2580 V 40 w(psk)p 1918 2580 V 40 w(k)m(ey)p 2091 +2580 V 41 w(\015ags)f Fe(flags)12 b Fg(\))390 2689 y +Ff(res)t FB(:)40 b(is)31 b(an)f Ft(gnutls_psk_client_creden)o(tial)o +(s_t)24 b FB(structure.)390 2828 y Ff(username)5 b FB(:)40 b(is)31 b(the)f(user's)g(zero-terminated)i(userid)390 -2274 y Ff(k)m(ey)8 b FB(:)41 b(is)31 b(the)f(user's)g(k)m(ey)390 -2428 y(This)38 b(function)g(sets)g(the)h(username)e(and)h(passw)m(ord,) -i(in)e(a)h(gn)m(utls)p 2789 2428 V 40 w(psk)p 2964 2428 -V 40 w(clien)m(t)p 3217 2428 V 41 w(creden)m(tials)p -3679 2428 V 42 w(t)390 2538 y(structure.)i(Those)30 b(will)h(b)s(e)f -(used)f(in)i(PSK)e(authen)m(tication.)43 b Fs(username)29 -b FB(should)g(b)s(e)h(an)g(ASCI)s(I)390 2647 y(string)f(or)h(UTF-8)g -(strings)f(prepared)g(using)g(the)g Fs(")p FB(SASLprep)p -Fs(")e FB(pro\014le)i(of)h Fs(")p FB(stringprep)p Fs(")p -FB(.)38 b(The)390 2757 y(k)m(ey)31 b(can)g(b)s(e)f(either)g(in)g(ra)m +2966 y Ff(k)m(ey)8 b FB(:)41 b(is)31 b(the)f(user's)g(k)m(ey)390 +3104 y(This)38 b(function)g(sets)g(the)h(username)e(and)h(passw)m(ord,) +i(in)e(a)h(gn)m(utls)p 2789 3104 V 40 w(psk)p 2964 3104 +V 40 w(clien)m(t)p 3217 3104 V 41 w(creden)m(tials)p +3679 3104 V 42 w(t)390 3213 y(structure.)i(Those)30 b(will)h(b)s(e)f +(used)f(in)i(PSK)e(authen)m(tication.)43 b Ft(username)29 +b FB(should)g(b)s(e)h(an)g(ASCI)s(I)390 3323 y(string)f(or)h(UTF-8)g +(strings)f(prepared)g(using)g(the)g Ft(")p FB(SASLprep)p +Ft(")e FB(pro\014le)i(of)h Ft(")p FB(stringprep)p Ft(")p +FB(.)38 b(The)390 3433 y(k)m(ey)31 b(can)g(b)s(e)f(either)g(in)g(ra)m (w)h(b)m(yte)g(format)g(or)f(in)g(Hex)h(\(not)g(with)f(the)h('0x')g -(pre\014x\).)390 2911 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +(pre\014x\).)390 3571 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -3131 y Fu(gn)m(utls)p 483 3131 37 5 v 55 w(psk)p 719 -3131 V 54 w(set)p 925 3131 V 54 w(params)p 1367 3131 -V 54 w(function)3350 3347 y FB([F)-8 b(unction])-3599 +3774 y Fv(gn)m(utls)p 483 3774 37 5 v 55 w(psk)p 719 +3774 V 54 w(set)p 925 3774 V 54 w(params)p 1367 3774 +V 54 w(function)3350 3974 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_psk_set_params_fu)q(nct)q(ion)565 -3457 y Fg(\()p Ff(gn)m(utls)p 846 3457 28 4 v 41 w(psk)p -1022 3457 V 39 w(serv)m(er)p 1294 3457 V 41 w(creden)m(tials)p -1756 3457 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2327 3457 V 40 w(params)p 2656 3457 V 40 w(function)f(*)h -Fe(func)12 b Fg(\))390 3566 y Ff(res)t FB(:)40 b(is)31 -b(a)f(gn)m(utls)p 984 3566 V 41 w(psk)p 1160 3566 V 39 -w(serv)m(er)p 1432 3566 V 41 w(creden)m(tials)p 1894 -3566 V 41 w(t)h(structure)390 3721 y Ff(func)6 b FB(:)39 -b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 3875 -y(This)k(function)h(will)g(set)g(a)h(callbac)m(k)h(in)d(order)h(for)f -(the)h(serv)m(er)g(to)h(get)g(the)f(Di\016e-Hellman)i(or)390 -3985 y(RSA)30 b(parameters)h(for)f(psk)f(authen)m(tication.)43 +4084 y Fg(\()p Ff(gn)m(utls)p 846 4084 28 4 v 41 w(psk)p +1022 4084 V 39 w(serv)m(er)p 1294 4084 V 41 w(creden)m(tials)p +1756 4084 V 41 w(t)31 b Fe(res)p Ff(,)g(gn)m(utls)p 2315 +4084 V 41 w(params)p 2645 4084 V 39 w(function)f(*)h +Fe(func)12 b Fg(\))390 4193 y Ff(res)t FB(:)40 b(is)31 +b(a)f(gn)m(utls)p 984 4193 V 41 w(psk)p 1160 4193 V 39 +w(serv)m(er)p 1432 4193 V 41 w(creden)m(tials)p 1894 +4193 V 41 w(t)h(structure)390 4332 y Ff(func)6 b FB(:)39 +b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 4470 +y(This)35 b(function)h(will)g(set)h(a)f(callbac)m(k)i(in)e(order)f(for) +h(the)g(serv)m(er)g(to)h(get)g(the)f(di\016e)g(hellman)g(or)390 +4579 y(RSA)30 b(parameters)h(for)f(psk)f(authen)m(tication.)43 b(The)30 b(callbac)m(k)j(should)c(return)g(zero)i(on)g(success.)150 -4204 y Fu(gn)m(utls)p 483 4204 37 5 v 55 w(psk)p 719 -4204 V 54 w(set)p 925 4204 V 54 w(serv)m(er)p 1301 4204 -V 54 w(creden)m(tials)p 1929 4204 V 54 w(\014le)3350 -4421 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_server)q -(_cre)q(den)q(tia)q(ls_)q(file)565 4530 y Fg(\()p Ff(gn)m(utls)p -846 4530 28 4 v 41 w(psk)p 1022 4530 V 39 w(serv)m(er)p -1294 4530 V 41 w(creden)m(tials)p 1756 4530 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)f(*)h Fe(password_file)12 -b Fg(\))390 4640 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_psk_server_credenti)o(als_)o(t)24 b FB(structure.)390 -4794 y Ff(passw)m(ord)p 759 4794 V 39 w(\014le)5 b FB(:)41 -b(is)31 b(the)f(PSK)g(passw)m(ord)f(\014le)i(\(passwd.psk\))390 -4949 y(This)c(function)h(sets)g(the)g(passw)m(ord)f(\014le,)i(in)e(a)i -Fs(gnutls_psk_server_crede)o(ntia)o(ls_)o(t)22 b FB(struc-)390 -5058 y(ture.)40 b(This)30 b(passw)m(ord)f(\014le)h(holds)g(usernames)f -(and)g(k)m(eys)i(and)e(will)i(b)s(e)e(used)g(for)h(PSK)f(authen-)390 -5168 y(tication.)390 5322 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p +4782 y Fv(gn)m(utls)p 483 4782 37 5 v 55 w(psk)p 719 +4782 V 54 w(set)p 925 4782 V 54 w(serv)m(er)p 1301 4782 +V 54 w(creden)m(tials)p 1929 4782 V 54 w(\014le)3350 +4983 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_server)q +(_cre)q(den)q(tia)q(ls_)q(file)565 5092 y Fg(\()p Ff(gn)m(utls)p +846 5092 28 4 v 41 w(psk)p 1022 5092 V 39 w(serv)m(er)p +1294 5092 V 41 w(creden)m(tials)p 1756 5092 V 41 w(t)31 +b Fe(res)p Ff(,)g(const)g(c)m(har)g(*)g Fe(password_file)12 +b Fg(\))390 5202 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_psk_server_creden)o(tial)o(s_t)24 b FB(structure.)390 +5340 y Ff(passw)m(ord)p 759 5340 V 39 w(\014le)5 b FB(:)41 +b(is)31 b(the)f(PSK)g(passw)m(ord)f(\014le)i(\(passwd.psk\))p eop end -%%Page: 162 168 -TeXDict begin 162 167 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(162)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(psk)p 719 299 V 54 -w(set)p 925 299 V 54 w(serv)m(er)p 1301 299 V 54 w(creden)m(tials)p -1929 299 V 54 w(function)3350 490 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_psk_set_server_cr)q(ede)q(nti)q(als)q(_fun)q(cti) -q(on)565 599 y Fg(\()p Ff(gn)m(utls)p 846 599 28 4 v -41 w(psk)p 1022 599 V 39 w(serv)m(er)p 1294 599 V 41 -w(creden)m(tials)p 1756 599 V 41 w(t)31 b Fe(cred)12 -b Ff(,)31 b(gn)m(utls)p 2379 599 V 40 w(psk)p 2554 599 -V 40 w(serv)m(er)p 2827 599 V 40 w(creden)m(tials)p 3288 -599 V 42 w(function)f(*)565 709 y Fe(func)12 b Fg(\))390 -818 y Ff(cred)t FB(:)40 b(is)31 b(a)f Fs(gnutls_psk_server_credent)o -(ials)o(_t)24 b FB(structure.)390 950 y Ff(func)6 b FB(:)39 -b(is)31 b(the)f(callbac)m(k)j(function)390 1081 y(This)23 -b(function)h(can)h(b)s(e)f(used)f(to)i(set)g(a)g(callbac)m(k)h(to)f -(retriev)m(e)h(the)e(user's)g(PSK)f(creden)m(tials.)40 -b(The)390 1191 y(callbac)m(k's)h(function)e(form)g(is:)58 -b(in)m(t)40 b(\(*callbac)m(k\)\(gn)m(utls)p 2401 1191 -V 44 w(session)p 2714 1191 V 40 w(t,)i(const)d(c)m(har*)h(username,)390 -1300 y(gn)m(utls)p 636 1300 V 40 w(datum)p 934 1300 V -40 w(t*)31 b(k)m(ey\);)390 1432 y Fs(username)25 b FB(con)m(tains)i -(the)g(actual)i(username.)39 b(The)26 b Fs(key)g FB(m)m(ust)g(b)s(e)h -(\014lled)f(in)h(using)f(the)h Fs(gnutls_)390 1541 y(malloc\(\))p -FB(.)390 1673 y(In)39 b(case)j(the)e(callbac)m(k)i(returned)d(a)i -(negativ)m(e)h(n)m(um)m(b)s(er)d(then)h(gn)m(utls)h(will)f(assume)g -(that)h(the)390 1782 y(username)30 b(do)s(es)g(not)g(exist.)390 -1914 y(The)g(callbac)m(k)k(function)c(will)h(only)h(b)s(e)e(called)i -(once)g(p)s(er)e(handshak)m(e.)42 b(The)30 b(callbac)m(k)j(function)390 -2023 y(should)c(return)h(0)g(on)h(success,)g(while)f(-1)h(indicates)g -(an)g(error.)150 2217 y Fu(gn)m(utls)p 483 2217 37 5 -v 55 w(psk)p 719 2217 V 54 w(set)p 925 2217 V 54 w(serv)m(er)p -1301 2217 V 54 w(creden)m(tials)p 1929 2217 V 54 w(hin)m(t)3350 -2407 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_server)q -(_cre)q(den)q(tia)q(ls_)q(hint)565 2517 y Fg(\()p Ff(gn)m(utls)p -846 2517 28 4 v 41 w(psk)p 1022 2517 V 39 w(serv)m(er)p -1294 2517 V 41 w(creden)m(tials)p 1756 2517 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)f(*)h Fe(hint)12 -b Fg(\))390 2626 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_psk_server_credenti)o(als_)o(t)24 b FB(structure.)390 -2758 y Ff(hin)m(t)r FB(:)41 b(is)30 b(the)h(PSK)e(iden)m(tit)m(y)j(hin) -m(t)e(string)390 2889 y(This)f(function)g(sets)h(the)f(iden)m(tit)m(y)i -(hin)m(t,)f(in)f(a)h Fs(gnutls_psk_server_credent)o(ial)o(s_t)23 -b FB(struc-)390 2999 y(ture.)73 b(This)41 b(hin)m(t)g(is)h(sen)m(t)f +%%Page: 159 165 +TeXDict begin 159 164 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(159)390 299 y(This)27 +b(function)h(sets)g(the)g(passw)m(ord)f(\014le,)i(in)e(a)i +Ft(gnutls_psk_server_crede)o(ntia)o(ls_)o(t)22 b FB(struc-)390 +408 y(ture.)40 b(This)30 b(passw)m(ord)f(\014le)h(holds)g(usernames)f +(and)g(k)m(eys)i(and)e(will)i(b)s(e)e(used)g(for)h(PSK)f(authen-)390 +518 y(tication.)390 672 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +892 y Fv(gn)m(utls)p 483 892 37 5 v 55 w(psk)p 719 892 +V 54 w(set)p 925 892 V 54 w(serv)m(er)p 1301 892 V 54 +w(creden)m(tials)p 1929 892 V 54 w(function)3350 1108 +y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_psk_set_server_cr)q +(ede)q(nti)q(als)q(_fun)q(cti)q(on)565 1218 y Fg(\()p +Ff(gn)m(utls)p 846 1218 28 4 v 41 w(psk)p 1022 1218 V +39 w(serv)m(er)p 1294 1218 V 41 w(creden)m(tials)p 1756 +1218 V 41 w(t)31 b Fe(cred)p Ff(,)g(gn)m(utls)p 2367 +1218 V 41 w(psk)p 2543 1218 V 39 w(serv)m(er)p 2815 1218 +V 41 w(creden)m(tials)p 3277 1218 V 41 w(function)f(*)565 +1327 y Fe(func)12 b Fg(\))390 1437 y Ff(cred)t FB(:)40 +b(is)31 b(a)f Ft(gnutls_psk_server_credent)o(ials)o(_t)24 +b FB(structure.)390 1591 y Ff(func)6 b FB(:)39 b(is)31 +b(the)f(callbac)m(k)j(function)390 1746 y(This)23 b(function)h(can)h(b) +s(e)f(used)f(to)i(set)g(a)g(callbac)m(k)h(to)f(retriev)m(e)h(the)e +(user's)g(PSK)f(creden)m(tials.)40 b(The)390 1855 y(callbac)m(k's)h +(function)e(form)g(is:)58 b(in)m(t)40 b(\(*callbac)m(k\)\(gn)m(utls)p +2401 1855 V 44 w(session)p 2714 1855 V 40 w(t,)i(const)d(c)m(har*)h +(username,)390 1965 y(gn)m(utls)p 636 1965 V 40 w(datum)p +934 1965 V 40 w(t*)31 b(k)m(ey\);)390 2119 y Ft(username)25 +b FB(con)m(tains)i(the)g(actual)i(username.)39 b(The)26 +b Ft(key)g FB(m)m(ust)g(b)s(e)h(\014lled)f(in)h(using)f(the)h +Ft(gnutls_)390 2229 y(malloc\(\))p FB(.)390 2383 y(In)39 +b(case)j(the)e(callbac)m(k)i(returned)d(a)i(negativ)m(e)h(n)m(um)m(b)s +(er)d(then)h(gn)m(utls)h(will)f(assume)g(that)h(the)390 +2493 y(username)30 b(do)s(es)g(not)g(exist.)390 2647 +y(The)g(callbac)m(k)k(function)c(will)h(only)h(b)s(e)e(called)i(once)g +(p)s(er)e(handshak)m(e.)42 b(The)30 b(callbac)m(k)j(function)390 +2757 y(should)c(return)h(0)g(on)h(success,)g(while)f(-1)h(indicates)g +(an)g(error.)150 2976 y Fv(gn)m(utls)p 483 2976 37 5 +v 55 w(psk)p 719 2976 V 54 w(set)p 925 2976 V 54 w(serv)m(er)p +1301 2976 V 54 w(creden)m(tials)p 1929 2976 V 54 w(hin)m(t)3350 +3193 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_psk_set_server)q +(_cre)q(den)q(tia)q(ls_)q(hint)565 3302 y Fg(\()p Ff(gn)m(utls)p +846 3302 28 4 v 41 w(psk)p 1022 3302 V 39 w(serv)m(er)p +1294 3302 V 41 w(creden)m(tials)p 1756 3302 V 41 w(t)31 +b Fe(res)p Ff(,)g(const)g(c)m(har)g(*)g Fe(hint)12 b +Fg(\))390 3412 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_psk_server_creden)o(tial)o(s_t)24 b FB(structure.)390 +3566 y Ff(hin)m(t)r FB(:)41 b(is)30 b(the)h(PSK)e(iden)m(tit)m(y)j(hin) +m(t)e(string)390 3721 y(This)f(function)g(sets)h(the)f(iden)m(tit)m(y)i +(hin)m(t,)f(in)f(a)h Ft(gnutls_psk_server_credent)o(ial)o(s_t)23 +b FB(struc-)390 3830 y(ture.)73 b(This)41 b(hin)m(t)g(is)h(sen)m(t)f (to)i(the)e(clien)m(t)i(to)f(help)f(it)h(c)m(hose)g(a)g(go)s(o)s(d)f -(PSK)f(creden)m(tial)j(\(i.e.,)390 3109 y(username)30 -b(and)g(passw)m(ord\).)390 3240 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS) +(PSK)f(creden)m(tial)j(\(i.e.,)390 3940 y(username)30 +b(and)g(passw)m(ord\).)390 4094 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS) 26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)390 -3371 y Fn(Since:)41 b FB(2.4.0)150 3565 y Fu(gn)m(utls)p -483 3565 37 5 v 55 w(psk)p 719 3565 V 54 w(set)p 925 -3565 V 54 w(serv)m(er)p 1301 3565 V 54 w(dh)p 1491 3565 -V 54 w(params)3350 3755 y FB([F)-8 b(unction])-3599 b +4249 y Fn(Since:)41 b FB(2.4.0)150 4468 y Fv(gn)m(utls)p +483 4468 37 5 v 55 w(psk)p 719 4468 V 54 w(set)p 925 +4468 V 54 w(serv)m(er)p 1301 4468 V 54 w(dh)p 1491 4468 +V 54 w(params)3350 4685 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_psk_set_server_dh)q(_pa)q(ram)q(s)565 -3865 y Fg(\()p Ff(gn)m(utls)p 846 3865 28 4 v 41 w(psk)p -1022 3865 V 39 w(serv)m(er)p 1294 3865 V 41 w(creden)m(tials)p -1756 3865 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(gn)m(utls)p -2327 3865 V 40 w(dh)p 2469 3865 V 39 w(params)p 2797 -3865 V 40 w(t)f Fe(dh_params)12 b Fg(\))390 3974 y Ff(res)t -FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 3974 V 41 w(psk)p -1160 3974 V 39 w(serv)m(er)p 1432 3974 V 41 w(creden)m(tials)p -1894 3974 V 41 w(t)h(structure)390 4106 y Ff(dh)p 498 -4106 V 39 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f -(Di\016e-Hellman)i(parameters.)390 4237 y(This)c(function)h(will)h(set) -g(the)f(Di\016e-Hellman)i(parameters)f(for)e(an)i(anon)m(ymous)f(serv)m -(er)g(to)h(use.)390 4347 y(These)g(parameters)h(will)g(b)s(e)e(used)h -(in)g(Di\016e-Hellman)i(exc)m(hange)g(with)e(PSK)g(cipher)g(suites.)150 -4540 y Fu(gn)m(utls)p 483 4540 37 5 v 55 w(psk)p 719 -4540 V 54 w(set)p 925 4540 V 54 w(serv)m(er)p 1301 4540 -V 54 w(params)p 1743 4540 V 54 w(function)3350 4731 y -FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_psk_set_server_pa)q -(ram)q(s_f)q(unc)q(tion)565 4840 y Fg(\()p Ff(gn)m(utls)p -846 4840 28 4 v 41 w(psk)p 1022 4840 V 39 w(serv)m(er)p -1294 4840 V 41 w(creden)m(tials)p 1756 4840 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2327 4840 V 40 w(params)p -2656 4840 V 40 w(function)f(*)h Fe(func)12 b Fg(\))390 -4950 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs(gnutls_certificate_credent)o -(ials)o(_t)24 b FB(structure)390 5081 y Ff(func)6 b FB(:)39 -b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 5213 -y(This)41 b(function)h(will)h(set)f(a)h(callbac)m(k)h(in)e(order)f(for) -h(the)g(serv)m(er)h(to)g(get)g(the)f(Di\016e-Hellman)390 -5322 y(parameters)31 b(for)f(PSK)f(authen)m(tication.)43 -b(The)30 b(callbac)m(k)i(should)e(return)f(zero)i(on)g(success.)p +4794 y Fg(\()p Ff(gn)m(utls)p 846 4794 28 4 v 41 w(psk)p +1022 4794 V 39 w(serv)m(er)p 1294 4794 V 41 w(creden)m(tials)p +1756 4794 V 41 w(t)31 b Fe(res)p Ff(,)g(gn)m(utls)p 2315 +4794 V 41 w(dh)p 2458 4794 V 39 w(params)p 2786 4794 +V 39 w(t)g Fe(dh_params)12 b Fg(\))390 4904 y Ff(res)t +FB(:)40 b(is)31 b(a)f(gn)m(utls)p 984 4904 V 41 w(psk)p +1160 4904 V 39 w(serv)m(er)p 1432 4904 V 41 w(creden)m(tials)p +1894 4904 V 41 w(t)h(structure)390 5058 y Ff(dh)p 498 +5058 V 39 w(params)t FB(:)40 b(is)30 b(a)h(structure)f(that)h(holds)f +(di\016e)g(hellman)h(parameters.)390 5213 y(This)g(function)h(will)h +(set)f(the)g(di\016e)g(hellman)h(parameters)f(for)g(an)g(anon)m(ymous)g +(serv)m(er)g(to)h(use.)390 5322 y(These)d(parameters)h(will)g(b)s(e)e +(used)h(in)g(Di\016e)h(Hellman)g(with)f(PSK)g(cipher)g(suites.)p eop end -%%Page: 163 169 -TeXDict begin 163 168 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(163)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(record)p 878 299 V -54 w(c)m(hec)m(k)p 1225 299 V 52 w(p)s(ending)3350 492 -y FB([F)-8 b(unction])-3599 b Fh(size_t)54 b(gnutls_record_check_pe)q -(ndi)q(ng)e Fg(\()p Ff(gn)m(utls)p 2255 492 28 4 v 41 -w(session)p 2565 492 V 40 w(t)30 b Fe(session)12 b Fg(\))390 -601 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 734 y(This)k(function)g(c)m(hec)m(ks)h(if)g(there)f -(are)h(an)m(y)g(data)g(to)g(receiv)m(e)h(in)e(the)h(gn)m(utls)g -(bu\013ers.)390 866 y(Notice)25 b(that)e(y)m(ou)g(ma)m(y)g(also)h(use)f -Fs(select\(\))d FB(to)j(c)m(hec)m(k)i(for)d(data)i(in)e(a)h(TCP)f -(connection,)k(instead)390 976 y(of)38 b(this)g(function.)63 -b(Gn)m(uTLS)36 b(lea)m(v)m(es)41 b(some)d(data)g(in)g(the)g(tcp)g -(bu\013er)f(in)h(order)f(for)h(select)h(to)390 1085 y(w)m(ork.)390 -1218 y Fn(Returns:)h FB(the)31 b(size)g(of)g(that)g(data)g(or)f(0.)150 -1413 y Fu(gn)m(utls)p 483 1413 37 5 v 55 w(record)p 878 -1413 V 54 w(disable)p 1300 1413 V 55 w(padding)3350 1605 +%%Page: 160 166 +TeXDict begin 160 165 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(160)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(psk)p 719 299 V 54 +w(set)p 925 299 V 54 w(serv)m(er)p 1301 299 V 54 w(params)p +1743 299 V 54 w(function)3350 494 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_psk_set_server_pa)q(ram)q(s_f)q(unc)q(tion)565 +603 y Fg(\()p Ff(gn)m(utls)p 846 603 28 4 v 41 w(psk)p +1022 603 V 39 w(serv)m(er)p 1294 603 V 41 w(creden)m(tials)p +1756 603 V 41 w(t)31 b Fe(res)p Ff(,)g(gn)m(utls)p 2315 +603 V 41 w(params)p 2645 603 V 39 w(function)f(*)h Fe(func)12 +b Fg(\))390 713 y Ff(res)t FB(:)40 b(is)31 b(a)f(gn)m(utls)p +984 713 V 41 w(certi\014cate)p 1412 713 V 42 w(creden)m(tials)p +1875 713 V 41 w(t)h(structure)390 846 y Ff(func)6 b FB(:)39 +b(is)31 b(the)f(function)g(to)i(b)s(e)d(called)390 980 +y(This)43 b(function)g(will)h(set)h(a)f(callbac)m(k)i(in)d(order)g(for) +h(the)g(serv)m(er)g(to)g(get)h(the)f(di\016e)g(hellman)390 +1090 y(parameters)31 b(for)f(PSK)f(authen)m(tication.)43 +b(The)30 b(callbac)m(k)i(should)e(return)f(zero)i(on)g(success.)150 +1287 y Fv(gn)m(utls)p 483 1287 37 5 v 55 w(record)p 878 +1287 V 54 w(c)m(hec)m(k)p 1225 1287 V 52 w(p)s(ending)3350 +1482 y FB([F)-8 b(unction])-3599 b Fh(size_t)54 b +(gnutls_record_check_pe)q(ndi)q(ng)e Fg(\()p Ff(gn)m(utls)p +2255 1482 28 4 v 41 w(session)p 2565 1482 V 40 w(t)30 +b Fe(session)12 b Fg(\))390 1591 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1725 y(This)35 b(function)g(c)m(hec)m(ks)h(if)g(there)f(are)h(an)m(y)g +(data)g(to)g(receiv)m(e)h(in)e(the)h(gn)m(utls)f(bu\013ers.)55 +b(Returns)390 1834 y(the)32 b(size)h(of)f(that)g(data)g(or)g(0.)45 +b(Notice)34 b(that)f(y)m(ou)f(ma)m(y)g(also)h(use)e Ft(select\(\))f +FB(to)i(c)m(hec)m(k)i(for)d(data)390 1944 y(in)36 b(a)h(TCP)f +(connection,)j(instead)e(of)f(this)h(function.)58 b(\(gn)m(utls)37 +b(lea)m(v)m(es)i(some)e(data)g(in)f(the)h(tcp)390 2054 +y(bu\013er)29 b(in)h(order)g(for)g(select)i(to)g(w)m(ork\).)150 +2251 y Fv(gn)m(utls)p 483 2251 37 5 v 55 w(record)p 878 +2251 V 54 w(disable)p 1300 2251 V 55 w(padding)3350 2446 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_record_disable_pa)q -(ddi)q(ng)e Fg(\()p Ff(gn)m(utls)p 2255 1605 28 4 v 41 -w(session)p 2565 1605 V 40 w(t)30 b Fe(session)12 b Fg(\))390 -1715 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 1848 y(Used)35 b(to)i(disabled)e(padding)f(in)h +(ddi)q(ng)e Fg(\()p Ff(gn)m(utls)p 2255 2446 28 4 v 41 +w(session)p 2565 2446 V 40 w(t)30 b Fe(session)12 b Fg(\))390 +2555 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 2689 y(Used)35 b(to)i(disabled)e(padding)f(in)h (TLS)g(1.0)h(and)f(ab)s(o)m(v)m(e.)58 b(Normally)36 b(y)m(ou)g(do)f -(not)h(need)f(to)h(use)390 1957 y(this)25 b(function,)h(but)f(there)h +(not)h(need)f(to)h(use)390 2798 y(this)25 b(function,)h(but)f(there)h (are)f(buggy)g(clien)m(ts)i(that)f(complain)g(if)f(a)h(serv)m(er)f -(pads)g(the)g(encrypted)390 2067 y(data.)41 b(This)30 +(pads)g(the)g(encrypted)390 2908 y(data.)41 b(This)30 b(of)h(course)f(will)h(disable)f(protection)i(against)g(statistical)h -(attac)m(ks)f(on)f(the)f(data.)390 2199 y(Normally)25 +(attac)m(ks)f(on)f(the)f(data.)390 3042 y(Normally)25 b(only)f(serv)m(ers)g(that)g(require)g(maxim)m(um)g(compatibilit)m(y)i -(with)e(ev)m(erything)g(out)g(there,)390 2309 y(need)30 -b(to)h(call)h(this)e(function.)150 2504 y Fu(gn)m(utls)p -483 2504 37 5 v 55 w(record)p 878 2504 V 54 w(get)p 1097 -2504 V 54 w(direction)3350 2697 y FB([F)-8 b(unction])-3599 +(with)e(ev)m(erything)g(out)g(there,)390 3151 y(need)30 +b(to)h(call)h(this)e(function.)150 3348 y Fv(gn)m(utls)p +483 3348 37 5 v 55 w(record)p 878 3348 V 54 w(get)p 1097 +3348 V 54 w(direction)3350 3543 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_record_get_dir)q(ecti)q(on)f Fg(\()p -Ff(gn)m(utls)p 2098 2697 28 4 v 41 w(session)p 2408 2697 -V 40 w(t)30 b Fe(session)12 b Fg(\))390 2806 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2939 y(This)31 b(function)h(pro)m(vides)h(information)f(ab)s(out)g(the) +Ff(gn)m(utls)p 2098 3543 28 4 v 41 w(session)p 2408 3543 +V 40 w(t)30 b Fe(session)12 b Fg(\))390 3653 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3786 y(This)31 b(function)h(pro)m(vides)h(information)f(ab)s(out)g(the) h(in)m(ternals)g(of)f(the)h(record)f(proto)s(col)h(and)f(is)390 -3048 y(only)27 b(useful)f(if)h(a)h(prior)e(gn)m(utls)i(function)e(call) -j(\(e.g.)41 b Fs(gnutls_handshake\(\))p FB(\))22 b(w)m(as)28 -b(in)m(terrupted)390 3158 y(for)35 b(some)h(reason,)h(that)e(is,)i(if)e -(a)h(function)f(returned)f Fs(GNUTLS_E_INTERRUPTED)c -FB(or)35 b Fs(GNUTLS_)390 3267 y(E_AGAIN)p FB(.)47 b(In)33 +3896 y(only)27 b(useful)f(if)h(a)h(prior)e(gn)m(utls)i(function)e(call) +j(\(e.g.)41 b Ft(gnutls_handshake\(\))p FB(\))22 b(w)m(as)28 +b(in)m(terrupted)390 4006 y(for)35 b(some)h(reason,)h(that)e(is,)i(if)e +(a)h(function)f(returned)f Ft(GNUTLS_E_INTERRUPTED)c +FB(or)35 b Ft(GNUTLS_)390 4115 y(E_AGAIN)p FB(.)47 b(In)33 b(suc)m(h)f(a)i(case,)h(y)m(ou)f(migh)m(t)g(w)m(an)m(t)g(to)g(call)g -Fs(select\(\))d FB(or)i Fs(poll\(\))f FB(b)s(efore)g(calling)390 -3377 y(the)d(in)m(terrupted)f(gn)m(utls)h(function)g(again.)41 +Ft(select\(\))d FB(or)i Ft(poll\(\))f FB(b)s(efore)g(calling)390 +4225 y(the)d(in)m(terrupted)f(gn)m(utls)h(function)g(again.)41 b(T)-8 b(o)29 b(tell)i(y)m(ou)e(whether)f(a)h(\014le)g(descriptor)g -(should)f(b)s(e)390 3487 y(selected)j(for)f(either)g(reading)f(or)h -(writing,)g Fs(gnutls_record_get_direct)o(ion\()o(\))24 -b FB(returns)k(0)i(if)390 3596 y(the)e(in)m(terrupted)f(function)h(w)m +(should)f(b)s(e)390 4334 y(selected)j(for)f(either)g(reading)f(or)h +(writing,)g Ft(gnutls_record_get_direct)o(ion\()o(\))24 +b FB(returns)k(0)i(if)390 4444 y(the)e(in)m(terrupted)f(function)h(w)m (as)g(trying)g(to)h(read)f(data,)h(and)e(1)i(if)f(it)g(w)m(as)g(trying) -g(to)h(write)f(data.)390 3729 y Fn(Returns:)40 b FB(0)31 +g(to)h(write)f(data.)390 4577 y Fn(Returns:)40 b FB(0)31 b(if)f(trying)h(to)g(read)f(data,)i(1)e(if)h(trying)f(to)h(write)g -(data.)150 3924 y Fu(gn)m(utls)p 483 3924 37 5 v 55 w(record)p -878 3924 V 54 w(get)p 1097 3924 V 54 w(max)p 1378 3924 -V 54 w(size)3350 4116 y FB([F)-8 b(unction])-3599 b Fh(size_t)54 +(data.)150 4775 y Fv(gn)m(utls)p 483 4775 37 5 v 55 w(record)p +878 4775 V 54 w(get)p 1097 4775 V 54 w(max)p 1378 4775 +V 54 w(size)3350 4970 y FB([F)-8 b(unction])-3599 b Fh(size_t)54 b(gnutls_record_get_max_)q(siz)q(e)d Fg(\()p Ff(gn)m(utls)p -2202 4116 28 4 v 41 w(session)p 2512 4116 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 4226 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4358 y(Get)36 b(the)f(record)g(size.)55 b(The)35 b(maxim)m(um)g(record) -g(size)h(is)f(negotiated)i(b)m(y)d(the)i(clien)m(t)g(after)g(the)390 -4468 y(\014rst)30 b(handshak)m(e)g(message.)390 4601 -y Fn(Returns:)40 b FB(The)30 b(maxim)m(um)g(record)h(pac)m(k)m(et)h -(size)f(in)f(this)h(connection.)150 4796 y Fu(gn)m(utls)p -483 4796 37 5 v 55 w(record)p 878 4796 V 54 w(recv)3350 -4988 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 b(gnutls_record_recv)d -Fg(\()p Ff(gn)m(utls)p 1836 4988 28 4 v 41 w(session)p -2146 4988 V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(v)m(oid)f(*)g -Fe(data)12 b Ff(,)565 5098 y(size)p 712 5098 V 41 w(t)31 -b Fe(sizeofdata)12 b Fg(\))390 5208 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -5340 y Ff(data)p FB(:)41 b(the)31 b(bu\013er)e(that)i(the)g(data)g -(will)g(b)s(e)e(read)i(in)m(to)p eop end -%%Page: 164 170 -TeXDict begin 164 169 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(164)390 299 y -Ff(sizeofdata)p FB(:)43 b(the)30 b(n)m(um)m(b)s(er)f(of)i(requested)f -(b)m(ytes)390 435 y(This)k(function)g(has)h(the)g(similar)g(seman)m -(tics)h(with)e Fs(recv\(\))p FB(.)52 b(The)34 b(only)h(di\013erence)g -(is)g(that)g(it)390 545 y(accepts)d(a)e(Gn)m(uTLS)g(session,)g(and)g -(uses)g(di\013eren)m(t)h(error)f(co)s(des.)390 681 y(In)k(the)i(sp)s -(ecial)g(case)g(that)g(a)f(serv)m(er)h(requests)f(a)g(renegotiation,)k -(the)d(clien)m(t)g(ma)m(y)g(receiv)m(e)h(an)390 791 y(error)31 -b(co)s(de)i(of)f Fs(GNUTLS_E_REHANDSHAKE)p FB(.)39 b(This)31 -b(message)i(ma)m(y)g(b)s(e)e(simply)g(ignored,)i(replied)390 -901 y(with)39 b(an)g(alert)i Fs(GNUTLS_A_NO_RENEGOTIATIO)o(N)p -FB(,)36 b(or)j(replied)g(with)h(a)f(new)g(handshak)m(e,)j(de-)390 -1010 y(p)s(ending)29 b(on)h(the)h(clien)m(t's)h(will.)390 -1147 y(If)20 b Fs(EINTR)g FB(is)g(returned)g(b)m(y)g(the)h(in)m(ternal) -h(push)d(function)h(\(the)h(default)g(is)g Fs(recv\(\))p -FB(\))e(then)i Fs(GNUTLS_)390 1256 y(E_INTERRUPTED)33 -b FB(will)k(b)s(e)f(returned.)58 b(If)36 b Fs(GNUTLS_E_INTERRUPTED)c -FB(or)k Fs(GNUTLS_E_AGAIN)d FB(is)390 1366 y(returned,)26 +2202 4970 28 4 v 41 w(session)p 2512 4970 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 5079 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +5213 y(This)i(function)g(returns)g(the)h(maxim)m(um)f(record)h(pac)m(k) +m(et)h(size)g(in)e(this)h(connection.)41 b(The)28 b(maxi-)390 +5322 y(m)m(um)i(record)g(size)h(is)g(negotiated)h(b)m(y)e(the)h(clien)m +(t)h(after)f(the)f(\014rst)g(handshak)m(e)g(message.)p +eop end +%%Page: 161 167 +TeXDict begin 161 166 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(161)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(record)p 878 299 V +54 w(recv)3350 490 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 +b(gnutls_record_recv)d Fg(\()p Ff(gn)m(utls)p 1836 490 +28 4 v 41 w(session)p 2146 490 V 40 w(t)31 b Fe(session)p +Ff(,)i(v)m(oid)e(*)f Fe(data)p Ff(,)565 599 y(size)p +712 599 V 41 w(t)h Fe(sizeofdata)12 b Fg(\))390 709 y +Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 840 y Ff(data)p FB(:)41 b(the)31 +b(bu\013er)e(that)i(the)g(data)g(will)g(b)s(e)e(read)i(in)m(to)390 +972 y Ff(sizeofdata)p FB(:)43 b(the)30 b(n)m(um)m(b)s(er)f(of)i +(requested)f(b)m(ytes)390 1103 y(This)k(function)g(has)h(the)g(similar) +g(seman)m(tics)h(with)e Ft(recv\(\))p FB(.)52 b(The)34 +b(only)h(di\013erence)g(is)g(that)g(is)390 1213 y(accepts)d(a)e(GNUTLS) +g(session,)h(and)f(uses)g(di\013eren)m(t)h(error)f(co)s(des.)390 +1344 y(In)k(the)i(sp)s(ecial)g(case)g(that)g(a)f(serv)m(er)h(requests)f +(a)g(renegotiation,)k(the)d(clien)m(t)g(ma)m(y)g(receiv)m(e)h(an)390 +1454 y(error)31 b(co)s(de)i(of)f Ft(GNUTLS_E_REHANDSHAKE)p +FB(.)39 b(This)31 b(message)i(ma)m(y)g(b)s(e)e(simply)g(ignored,)i +(replied)390 1563 y(with)f(an)h(alert)g(con)m(taining)h(NO)p +1531 1563 V 40 w(RENEGOTIA)-8 b(TION,)32 b(or)h(replied)f(with)g(a)h +(new)f(handshak)m(e,)390 1673 y(dep)s(ending)d(on)h(the)h(clien)m(t's)h +(will.)390 1804 y(If)20 b Ft(EINTR)g FB(is)g(returned)g(b)m(y)g(the)h +(in)m(ternal)h(push)d(function)h(\(the)h(default)g(is)g +Ft(recv\(\))p FB(\))e(then)i Ft(GNUTLS_)390 1914 y(E_INTERRUPTED)33 +b FB(will)k(b)s(e)f(returned.)58 b(If)36 b Ft(GNUTLS_E_INTERRUPTED)c +FB(or)k Ft(GNUTLS_E_AGAIN)d FB(is)390 2024 y(returned,)26 b(y)m(ou)h(m)m(ust)f(call)i(this)f(function)f(again)h(to)g(get)h(the)f -(data.)40 b(See)26 b(also)i Fs(gnutls_record_)390 1475 -y(get_direction\(\))p FB(.)390 1612 y(A)e(serv)m(er)h(ma)m(y)f(also)h -(receiv)m(e)h Fs(GNUTLS_E_REHANDSHAKE)21 b FB(when)k(a)h(clien)m(t)i -(has)e(initiated)h(a)g(hand-)390 1722 y(shak)m(e.)41 +(data.)40 b(See)26 b(also)i Ft(gnutls_record_)390 2133 +y(get_direction\(\))p FB(.)390 2265 y(A)e(serv)m(er)h(ma)m(y)f(also)h +(receiv)m(e)h Ft(GNUTLS_E_REHANDSHAKE)21 b FB(when)k(a)h(clien)m(t)i +(has)e(initiated)h(a)g(hand-)390 2374 y(shak)m(e.)41 b(In)27 b(that)i(case)h(the)e(serv)m(er)h(can)f(only)h(initiate)h(a)f -(handshak)m(e)f(or)g(terminate)h(the)g(connec-)390 1831 -y(tion.)390 1968 y Fn(Returns:)68 b FB(the)44 b(n)m(um)m(b)s(er)f(of)h +(handshak)m(e)f(or)g(terminate)h(the)g(connec-)390 2484 +y(tion.)390 2615 y Fn(Returns:)68 b FB(the)44 b(n)m(um)m(b)s(er)f(of)h (b)m(ytes)h(receiv)m(ed)g(and)f(zero)g(on)g(EOF.)h(A)f(negativ)m(e)i -(error)e(co)s(de)390 2077 y(is)c(returned)g(in)g(case)h(of)g(an)f +(error)e(co)s(de)390 2725 y(is)c(returned)g(in)g(case)h(of)g(an)f (error.)71 b(The)40 b(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(receiv)m(ed)g -(migh)m(t)h(b)s(e)d(less)i(than)390 2187 y Fs(sizeofdata)p -FB(.)150 2388 y Fu(gn)m(utls)p 483 2388 37 5 v 55 w(record)p -878 2388 V 54 w(send)3350 2587 y FB([F)-8 b(unction])-3599 +(migh)m(t)h(b)s(e)d(less)i(than)390 2835 y Ft(sizeofdata)p +FB(.)150 3028 y Fv(gn)m(utls)p 483 3028 37 5 v 55 w(record)p +878 3028 V 54 w(send)3350 3218 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 b(gnutls_record_send)d Fg(\()p Ff(gn)m(utls)p -1836 2587 28 4 v 41 w(session)p 2146 2587 V 40 w(t)31 -b Fe(session)12 b Ff(,)32 b(const)f(v)m(oid)g(*)565 2696 -y Fe(data)12 b Ff(,)31 b(size)p 988 2696 V 41 w(t)g Fe(sizeofdata)12 -b Fg(\))390 2806 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 2942 y Ff(data)p +1836 3218 28 4 v 41 w(session)p 2146 3218 V 40 w(t)31 +b Fe(session)p Ff(,)i(const)e(v)m(oid)f(*)565 3328 y +Fe(data)p Ff(,)i(size)p 977 3328 V 41 w(t)e Fe(sizeofdata)12 +b Fg(\))390 3438 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 3569 y Ff(data)p FB(:)41 b(con)m(tains)32 b(the)f(data)g(to)g(send)390 -3079 y Ff(sizeofdata)p FB(:)43 b(is)30 b(the)h(length)f(of)h(the)f -(data)390 3215 y(This)k(function)g(has)h(the)g(similar)g(seman)m(tics)h -(with)e Fs(send\(\))p FB(.)52 b(The)34 b(only)h(di\013erence)g(is)g -(that)g(it)390 3325 y(accepts)d(a)e(Gn)m(uTLS)g(session,)g(and)g(uses)g -(di\013eren)m(t)h(error)f(co)s(des.)390 3462 y(Note)35 -b(that)f(if)g(the)g(send)f(bu\013er)g(is)h(full,)g Fs(send\(\))e +3701 y Ff(sizeofdata)p FB(:)43 b(is)30 b(the)h(length)f(of)h(the)f +(data)390 3832 y(This)k(function)g(has)h(the)g(similar)g(seman)m(tics)h +(with)e Ft(send\(\))p FB(.)52 b(The)34 b(only)h(di\013erence)g(is)g +(that)g(is)390 3942 y(accepts)d(a)e(GNUTLS)g(session,)h(and)f(uses)g +(di\013eren)m(t)h(error)f(co)s(des.)390 4073 y(Note)35 +b(that)f(if)g(the)g(send)f(bu\013er)g(is)h(full,)g Ft(send\(\))e FB(will)i(blo)s(c)m(k)h(this)e(function.)51 b(See)34 -b(the)g Fs(send\(\))390 3571 y FB(do)s(cumen)m(tation)29 +b(the)g Ft(send\(\))390 4183 y FB(do)s(cumen)m(tation)29 b(for)e(full)h(information.)40 b(Y)-8 b(ou)29 b(can)f(replace)h(the)f -(default)g(push)e(function)i(b)m(y)f(us-)390 3681 y(ing)f -Fs(gnutls_transport_set_ptr2)o(\(\))20 b FB(with)25 b(a)i(call)g(to)g -Fs(send\(\))d FB(with)h(a)i(MSG)p 3192 3681 V 40 w(DONTW)-10 -b(AIT)390 3790 y(\015ag)31 b(if)f(blo)s(c)m(king)h(is)g(a)f(problem.) -390 3927 y(If)g(the)h(EINTR)f(is)h(returned)e(b)m(y)i(the)f(in)m -(ternal)i(push)d(function)h(\(the)h(default)g(is)g Fs(send\(\)})d -FB(then)390 4036 y Fs(GNUTLS_E_INTERRUPTED)j FB(will)38 -b(b)s(e)e(returned.)59 b(If)36 b Fs(GNUTLS_E_INTERRUPTED)c -FB(or)k Fs(GNUTLS_E_)390 4146 y(AGAIN)44 b FB(is)h(returned,)i(y)m(ou)f +(default)g(push)e(function)i(b)m(y)f(us-)390 4292 y(ing)f +Ft(gnutls_transport_set_ptr2)o(\(\))20 b FB(with)25 b(a)i(call)g(to)g +Ft(send\(\))d FB(with)h(a)i(MSG)p 3192 4292 V 40 w(DONTW)-10 +b(AIT)390 4402 y(\015ag)31 b(if)f(blo)s(c)m(king)h(is)g(a)f(problem.) +390 4533 y(If)g(the)h(EINTR)f(is)h(returned)e(b)m(y)i(the)f(in)m +(ternal)i(push)d(function)h(\(the)h(default)g(is)g Ft(send\(\)})d +FB(then)390 4643 y Ft(GNUTLS_E_INTERRUPTED)j FB(will)38 +b(b)s(e)e(returned.)59 b(If)36 b Ft(GNUTLS_E_INTERRUPTED)c +FB(or)k Ft(GNUTLS_E_)390 4752 y(AGAIN)44 b FB(is)h(returned,)i(y)m(ou)f (m)m(ust)f(call)h(this)f(function)g(again,)50 b(with)45 -b(the)g(same)g(parameters;)390 4256 y(alternativ)m(ely)36 -b(y)m(ou)d(could)g(pro)m(vide)g(a)g Fs(NULL)f FB(p)s(oin)m(ter)g(for)h -(data,)h(and)f(0)g(for)g(size.)49 b(cf.)f Fs(gnutls_)390 -4365 y(record_get_direction\(\))p FB(.)390 4502 y Fn(Returns:)i +b(the)g(same)g(parameters;)390 4862 y(alternativ)m(ely)36 +b(y)m(ou)d(could)g(pro)m(vide)g(a)g Ft(NULL)f FB(p)s(oin)m(ter)g(for)h +(data,)h(and)f(0)g(for)g(size.)49 b(cf.)f Ft(gnutls_)390 +4972 y(record_get_direction\(\))p FB(.)390 5103 y Fn(Returns:)i FB(the)36 b(n)m(um)m(b)s(er)e(of)h(b)m(ytes)h(sen)m(t,)h(or)e(a)h (negativ)m(e)i(error)d(co)s(de.)55 b(The)35 b(n)m(um)m(b)s(er)f(of)h(b) -m(ytes)390 4611 y(sen)m(t)h(migh)m(t)h(b)s(e)e(less)h(than)g -Fs(sizeofdata)p FB(.)54 b(The)36 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)i -(b)m(ytes)g(this)g(function)390 4721 y(can)31 b(send)e(in)h(a)h(single) +m(ytes)390 5213 y(sen)m(t)h(migh)m(t)h(b)s(e)e(less)h(than)g +Ft(sizeofdata)p FB(.)54 b(The)36 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)i +(b)m(ytes)g(this)g(function)390 5322 y(can)31 b(send)e(in)h(a)h(single) g(call)h(dep)s(ends)c(on)j(the)f(negotiated)j(maxim)m(um)d(record)g -(size.)150 4922 y Fu(gn)m(utls)p 483 4922 37 5 v 55 w(record)p -878 4922 V 54 w(set)p 1084 4922 V 54 w(max)p 1365 4922 -V 54 w(size)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 -b(gnutls_record_set_max)q(_si)q(ze)e Fg(\()p Ff(gn)m(utls)p -2255 5121 28 4 v 41 w(session)p 2565 5121 V 40 w(t)30 -b Fe(session)12 b Ff(,)565 5230 y(size)p 712 5230 V 41 -w(t)31 b Fe(size)12 b Fg(\))390 5340 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)p -eop end -%%Page: 165 171 -TeXDict begin 165 170 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(165)390 299 y -Ff(size)5 b FB(:)42 b(is)30 b(the)h(new)f(size)390 429 -y(This)e(function)g(sets)h(the)g(maxim)m(um)f(record)h(pac)m(k)m(et)h -(size)g(in)e(this)g(connection.)42 b(This)28 b(prop)s(ert)m(y)390 -539 y(can)j(only)f(b)s(e)g(set)h(to)g(clien)m(ts.)42 +(size.)p eop end +%%Page: 162 168 +TeXDict begin 162 167 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(162)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(record)p 878 299 V +54 w(set)p 1084 299 V 54 w(max)p 1365 299 V 54 w(size)3350 +499 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 b +(gnutls_record_set_max)q(_si)q(ze)e Fg(\()p Ff(gn)m(utls)p +2255 499 28 4 v 41 w(session)p 2565 499 V 40 w(t)30 b +Fe(session)p Ff(,)565 609 y(size)p 712 609 V 41 w(t)h +Fe(size)12 b Fg(\))390 718 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 857 +y Ff(size)5 b FB(:)42 b(is)30 b(the)h(new)f(size)390 +995 y(This)e(function)g(sets)h(the)g(maxim)m(um)f(record)h(pac)m(k)m +(et)h(size)g(in)e(this)g(connection.)42 b(This)28 b(prop)s(ert)m(y)390 +1104 y(can)j(only)f(b)s(e)g(set)h(to)g(clien)m(ts.)42 b(The)30 b(serv)m(er)h(ma)m(y)g(c)m(ho)s(ose)g(not)g(to)g(accept)h(the) -e(requested)g(size.)390 669 y(Acceptable)h(v)-5 b(alues)29 -b(are)h(512\(=2)p Fs(^)p FB(9\),)i(1024\(=2)p Fs(^)p -FB(10\),)h(2048\(=2)p Fs(^)p FB(11\))f(and)d(4096\(=2)p -Fs(^)p FB(12\).)43 b(The)390 778 y(requested)c(record)f(size)i(do)s(es) -e(get)i(in)f(e\013ect)h(immediately)g(only)f(while)g(sending)f(data.)66 -b(The)390 888 y(receiv)m(e)32 b(part)e(will)h(tak)m(e)h(e\013ect)g -(after)f(a)g(successful)f(handshak)m(e.)390 1018 y(This)g(function)g -(uses)h(a)g(TLS)f(extension)h(called)h('max)f(record)g(size'.)43 -b(Not)32 b(all)f(TLS)f(implemen-)390 1128 y(tations)i(use)e(or)g(ev)m -(en)h(understand)e(this)h(extension.)390 1258 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -1368 y(is)f(returned.)150 1558 y Fu(gn)m(utls)p 483 1558 -37 5 v 55 w(rehandshak)m(e)3350 1746 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_rehandshake)e Fg(\()p Ff(gn)m(utls)p -1627 1746 28 4 v 41 w(session)p 1937 1746 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 1856 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -1986 y(This)32 b(function)h(will)h(renegotiate)h(securit)m(y)f +e(requested)g(size.)390 1243 y(Acceptable)j(v)-5 b(alues)32 +b(are)g(512\(=2)p Ft(^)p FB(9\),)i(1024\(=2)p Ft(^)p +FB(10\),)h(2048\(=2)p Ft(^)p FB(11\))g(and)30 b(4096\(=2)p +Ft(^)p FB(12\).)47 b(Re-)390 1352 y(turns)39 b(0)h(on)f(success.)69 +b(The)40 b(requested)f(record)h(size)h(do)s(es)e(get)i(in)e(e\013ect)j +(immediately)f(only)390 1462 y(while)30 b(sending)g(data.)42 +b(The)29 b(receiv)m(e)k(part)d(will)h(tak)m(e)h(e\013ect)f(after)g(a)g +(successful)f(handshak)m(e.)390 1600 y(This)g(function)g(uses)h(a)g +(TLS)f(extension)h(called)h('max)f(record)g(size'.)43 +b(Not)32 b(all)f(TLS)f(implemen-)390 1710 y(tations)i(use)e(or)g(ev)m +(en)h(understand)e(this)h(extension.)150 1912 y Fv(gn)m(utls)p +483 1912 37 5 v 55 w(rehandshak)m(e)3350 2113 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_rehandshake)e Fg(\()p +Ff(gn)m(utls)p 1627 2113 28 4 v 41 w(session)p 1937 2113 +V 40 w(t)31 b Fe(session)12 b Fg(\))390 2222 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2361 y(This)32 b(function)h(will)h(renegotiate)h(securit)m(y)f (parameters)g(with)e(the)i(clien)m(t.)50 b(This)33 b(should)f(only)390 -2096 y(b)s(e)e(called)h(in)f(case)i(of)e(a)h(serv)m(er.)390 -2226 y(This)37 b(message)i(informs)e(the)h(p)s(eer)g(that)g(w)m(e)h(w)m +2470 y(b)s(e)e(called)h(in)f(case)i(of)e(a)h(serv)m(er.)390 +2608 y(This)37 b(message)i(informs)e(the)h(p)s(eer)g(that)g(w)m(e)h(w)m (an)m(t)f(to)h(renegotiate)h(parameters)f(\(p)s(erform)e(a)390 -2335 y(handshak)m(e\).)390 2466 y(If)25 b(this)h(function)f(succeeds)h -(\(returns)f(0\),)j(y)m(ou)e(m)m(ust)g(call)h(the)e Fs -(gnutls_handshake\(\))c FB(function)390 2575 y(in)30 +2718 y(handshak)m(e\).)390 2856 y(If)25 b(this)h(function)f(succeeds)h +(\(returns)f(0\),)j(y)m(ou)e(m)m(ust)g(call)h(the)e Ft +(gnutls_handshake\(\))c FB(function)390 2966 y(in)30 b(order)g(to)h(negotiate)i(the)e(new)e(parameters.)390 -2705 y(If)40 b(the)h(clien)m(t)h(do)s(es)f(not)g(wish)f(to)h +3104 y(If)40 b(the)h(clien)m(t)h(do)s(es)f(not)g(wish)f(to)h (renegotiate)i(parameters)f(he)e(will)h(should)f(with)g(an)h(alert)390 -2815 y(message,)36 b(th)m(us)e(the)g(return)f(co)s(de)h(will)g(b)s(e)f -Fs(GNUTLS_E_WARNING_ALERT_RE)o(CEI)o(VED)27 b FB(and)34 -b(the)390 2925 y(alert)h(will)g(b)s(e)f Fs(GNUTLS_A_NO_RENEGOTIATI)o +3213 y(message,)36 b(th)m(us)e(the)g(return)f(co)s(de)h(will)g(b)s(e)f +Ft(GNUTLS_E_WARNING_ALERT_RE)o(CEI)o(VED)27 b FB(and)34 +b(the)390 3323 y(alert)h(will)g(b)s(e)f Ft(GNUTLS_A_NO_RENEGOTIATI)o (ON)p FB(.)46 b(A)35 b(clien)m(t)h(ma)m(y)e(also)i(c)m(ho)s(ose)f(to)g -(ignore)g(this)390 3034 y(message.)390 3164 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(otherwise)h(an)f -(error.)150 3355 y Fu(gn)m(utls)p 483 3355 37 5 v 55 -w(rsa)p 696 3355 V 54 w(exp)s(ort)p 1101 3355 V 54 w(get)p -1320 3355 V 54 w(mo)s(dulus)p 1826 3355 V 57 w(bits)3350 -3543 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_export_get)q +(ignore)g(this)390 3433 y(message.)390 3571 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(otherwise)h(an)f +(error.)150 3774 y Fv(gn)m(utls)p 483 3774 37 5 v 55 +w(rsa)p 696 3774 V 54 w(exp)s(ort)p 1101 3774 V 54 w(get)p +1320 3774 V 54 w(mo)s(dulus)p 1826 3774 V 57 w(bits)3350 +3974 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_export_get)q (_mod)q(ulu)q(s_b)q(its)f Fg(\()p Ff(gn)m(utls)p 2464 -3543 28 4 v 41 w(session)p 2774 3543 V 40 w(t)565 3653 -y Fe(session)12 b Fg(\))390 3762 y Ff(session)p FB(:)41 -b(is)30 b(a)h(gn)m(utls)g(session)390 3893 y(Get)g(the)g(exp)s(ort)f -(RSA)g(parameter's)h(mo)s(dulus)e(size.)390 4023 y Fn(Returns:)49 +3974 28 4 v 41 w(session)p 2774 3974 V 40 w(t)565 4084 +y Fe(session)12 b Fg(\))390 4193 y Ff(session)p FB(:)41 +b(is)30 b(a)h(gn)m(utls)g(session)390 4332 y(Get)g(the)g(exp)s(ort)f +(RSA)g(parameter's)h(mo)s(dulus)e(size.)390 4470 y Fn(Returns:)49 b FB(the)34 b(bits)h(used)e(in)i(the)f(last)i(RSA-EXPOR)-8 b(T)34 b(k)m(ey)h(exc)m(hange)h(with)e(the)h(p)s(eer,)g(or)g(a)390 -4132 y(negativ)m(e)e(v)-5 b(alue)30 b(in)g(case)i(of)e(error.)150 -4323 y Fu(gn)m(utls)p 483 4323 37 5 v 55 w(rsa)p 696 -4323 V 54 w(exp)s(ort)p 1101 4323 V 54 w(get)p 1320 4323 -V 54 w(pubk)m(ey)3350 4511 y FB([F)-8 b(unction])-3599 +4579 y(negativ)m(e)e(v)-5 b(alue)30 b(in)g(case)i(of)e(error.)150 +4782 y Fv(gn)m(utls)p 483 4782 37 5 v 55 w(rsa)p 696 +4782 V 54 w(exp)s(ort)p 1101 4782 V 54 w(get)p 1320 4782 +V 54 w(pubk)m(ey)3350 4983 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_export_get)q(_pub)q(key)f Fg(\()p -Ff(gn)m(utls)p 2150 4511 28 4 v 41 w(session)p 2460 4511 -V 40 w(t)31 b Fe(session)12 b Ff(,)565 4621 y(gn)m(utls)p -811 4621 V 41 w(datum)p 1110 4621 V 39 w(t)31 b(*)g Fe(exponent)12 -b Ff(,)32 b(gn)m(utls)p 2016 4621 V 40 w(datum)p 2314 -4621 V 40 w(t)f(*)f Fe(modulus)12 b Fg(\))390 4730 y -Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 -4860 y Ff(exp)s(onen)m(t)r FB(:)41 b(will)30 b(hold)g(the)h(exp)s(onen) -m(t.)390 4991 y Ff(mo)s(dulus)t FB(:)39 b(will)30 b(hold)h(the)f(mo)s -(dulus.)390 5121 y(This)c(function)g(will)h(return)e(the)i(p)s(eer's)f -(public)f(k)m(ey)j(exp)s(onen)m(t)e(and)g(mo)s(dulus)f(used)g(in)h(the) -h(last)390 5230 y(RSA-EXPOR)-8 b(T)31 b(authen)m(tication.)48 -b(The)31 b(output)h(parameters)g(m)m(ust)g(b)s(e)f(freed)g(with)h -Fs(gnutls_)390 5340 y(free\(\))p FB(.)p eop end -%%Page: 166 172 -TeXDict begin 166 171 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(166)390 299 y -Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 -b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 408 y(returned.)150 610 y Fu(gn)m(utls)p 483 610 -37 5 v 55 w(rsa)p 696 610 V 54 w(params)p 1138 610 V -54 w(cp)m(y)3350 808 y FB([F)-8 b(unction])-3599 b Fh(int)53 +Ff(gn)m(utls)p 2150 4983 28 4 v 41 w(session)p 2460 4983 +V 40 w(t)31 b Fe(session)p Ff(,)565 5092 y(gn)m(utls)p +811 5092 V 41 w(datum)p 1110 5092 V 39 w(t)g(*)g Fe(exponent)p +Ff(,)h(gn)m(utls)p 2004 5092 V 41 w(datum)p 2303 5092 +V 39 w(t)f(*)g Fe(modulus)12 b Fg(\))390 5202 y Ff(session)p +FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 5340 y +Ff(exp)s(onen)m(t)r FB(:)41 b(will)30 b(hold)g(the)h(exp)s(onen)m(t.)p +eop end +%%Page: 163 169 +TeXDict begin 163 168 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(163)390 299 y +Ff(mo)s(dulus)t FB(:)39 b(will)30 b(hold)h(the)f(mo)s(dulus.)390 +432 y(This)c(function)g(will)h(return)e(the)i(p)s(eer's)f(public)f(k)m +(ey)j(exp)s(onen)m(t)e(and)g(mo)s(dulus)f(used)g(in)h(the)h(last)390 +541 y(RSA-EXPOR)-8 b(T)31 b(authen)m(tication.)48 b(The)31 +b(output)h(parameters)g(m)m(ust)g(b)s(e)f(freed)g(with)h +Ft(gnutls_)390 651 y(free\(\))p FB(.)390 784 y Fn(Returns:)46 +b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 +b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 +894 y(returned.)150 1090 y Fv(gn)m(utls)p 483 1090 37 +5 v 55 w(rsa)p 696 1090 V 54 w(params)p 1138 1090 V 54 +w(cp)m(y)3350 1283 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_cpy)f Fg(\()p Ff(gn)m(utls)p 1784 -808 28 4 v 41 w(rsa)p 1942 808 V 40 w(params)p 2271 808 -V 39 w(t)31 b Fe(dst)12 b Ff(,)565 918 y(gn)m(utls)p -811 918 V 41 w(rsa)p 969 918 V 39 w(params)p 1297 918 -V 40 w(t)31 b Fe(src)12 b Fg(\))390 1027 y Ff(dst)r FB(:)40 +1283 28 4 v 41 w(rsa)p 1942 1283 V 40 w(params)p 2271 +1283 V 39 w(t)31 b Fe(dst)p Ff(,)565 1393 y(gn)m(utls)p +811 1393 V 41 w(rsa)p 969 1393 V 39 w(params)p 1297 1393 +V 40 w(t)g Fe(src)12 b Fg(\))390 1503 y Ff(dst)r FB(:)40 b(Is)30 b(the)h(destination)g(structure,)f(whic)m(h)g(should)g(b)s(e)f -(initialized.)390 1164 y Ff(src)6 b FB(:)40 b(Is)30 b(the)h(source)f -(structure)390 1300 y(This)g(function)g(will)g(cop)m(y)h(the)g(RSA)f -(parameters)h(structure)f(from)f(source)i(to)g(destination.)390 -1436 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(negativ)m(e)j(error)d(co)s(de.)150 -1637 y Fu(gn)m(utls)p 483 1637 37 5 v 55 w(rsa)p 696 -1637 V 54 w(params)p 1138 1637 V 54 w(deinit)3350 1836 +(initialized.)390 1636 y Ff(src)6 b FB(:)40 b(Is)30 b(the)h(source)f +(structure)390 1768 y(This)g(function)g(will)g(cop)m(y)h(the)g(RSA)f +(parameters)h(structure)f(from)f(source)i(to)g(destination.)150 +1965 y Fv(gn)m(utls)p 483 1965 37 5 v 55 w(rsa)p 696 +1965 V 54 w(params)p 1138 1965 V 54 w(deinit)3350 2158 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_rsa_params_deinit)e -Fg(\()p Ff(gn)m(utls)p 1993 1836 28 4 v 41 w(rsa)p 2151 -1836 V 40 w(params)p 2480 1836 V 40 w(t)30 b Fe(rsa_params)12 -b Fg(\))390 1945 y Ff(rsa)p 513 1945 V 40 w(params)t +Fg(\()p Ff(gn)m(utls)p 1993 2158 28 4 v 41 w(rsa)p 2151 +2158 V 40 w(params)p 2480 2158 V 40 w(t)30 b Fe(rsa_params)12 +b Fg(\))390 2268 y Ff(rsa)p 513 2268 V 40 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f(that)h(holds)e(the)i(parameters)390 -2082 y(This)f(function)g(will)g(deinitialize)j(the)e(RSA)e(parameters)i -(structure.)150 2283 y Fu(gn)m(utls)p 483 2283 37 5 v -55 w(rsa)p 696 2283 V 54 w(params)p 1138 2283 V 54 w(exp)s(ort)p -1543 2283 V 55 w(pk)m(cs1)3350 2481 y FB([F)-8 b(unction])-3599 +2401 y(This)f(function)g(will)g(deinitialize)j(the)e(RSA)e(parameters)i +(structure.)150 2597 y Fv(gn)m(utls)p 483 2597 37 5 v +55 w(rsa)p 696 2597 V 54 w(params)p 1138 2597 V 54 w(exp)s(ort)p +1543 2597 V 55 w(pk)m(cs1)3350 2791 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_exp)q(ort_)q(pkc)q(s1)f -Fg(\()p Ff(gn)m(utls)p 2255 2481 28 4 v 41 w(rsa)p 2413 -2481 V 39 w(params)p 2741 2481 V 40 w(t)31 b Fe(params)12 -b Ff(,)565 2591 y(gn)m(utls)p 811 2591 V 41 w(x509)p -1035 2591 V 41 w(crt)p 1187 2591 V 40 w(fm)m(t)p 1363 -2591 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(unsigned)d(c)m(har)i(*)g -Fe(params_data)12 b Ff(,)33 b(size)p 3288 2591 V 41 w(t)e(*)565 -2701 y Fe(params_data_size)12 b Fg(\))390 2810 y Ff(params)t -FB(:)40 b(Holds)31 b(the)f(RSA)g(parameters)390 2946 +Fg(\()p Ff(gn)m(utls)p 2255 2791 28 4 v 41 w(rsa)p 2413 +2791 V 39 w(params)p 2741 2791 V 40 w(t)31 b Fe(params)p +Ff(,)565 2900 y(gn)m(utls)p 811 2900 V 41 w(x509)p 1035 +2900 V 41 w(crt)p 1187 2900 V 40 w(fm)m(t)p 1363 2900 +V 41 w(t)f Fe(format)p Ff(,)j(unsigned)c(c)m(har)i(*)f +Fe(params_data)p Ff(,)k(size)p 3265 2900 V 41 w(t)d(*)565 +3010 y Fe(params_data_size)12 b Fg(\))390 3119 y Ff(params)t +FB(:)40 b(Holds)31 b(the)f(RSA)g(parameters)390 3252 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 3083 y Ff(params)p -685 3083 V 40 w(data)p FB(:)40 b(will)29 b(con)m(tain)h(a)f(PK)m(CS1)f +b(One)30 b(of)h(PEM)f(or)g(DER.)390 3385 y Ff(params)p +685 3385 V 40 w(data)p FB(:)40 b(will)29 b(con)m(tain)h(a)f(PK)m(CS1)f (RSAPublicKey)g(structure)g(PEM)g(or)h(DER)f(enco)s(ded)390 -3219 y Ff(params)p 685 3219 V 40 w(data)p 901 3219 V +3518 y Ff(params)p 685 3518 V 40 w(data)p 901 3518 V 40 w(size)5 b FB(:)43 b(holds)30 b(the)h(size)g(of)g(params)p -2115 3219 V 40 w(data)g(\(and)g(will)g(b)s(e)f(replaced)h(b)m(y)g(the)g -(actual)390 3329 y(size)g(of)g(parameters\))390 3465 +2115 3518 V 40 w(data)g(\(and)g(will)g(b)s(e)f(replaced)h(b)m(y)g(the)g +(actual)390 3628 y(size)g(of)g(parameters\))390 3761 y(This)43 b(function)h(will)g(exp)s(ort)g(the)g(giv)m(en)h(RSA)e -(parameters)h(to)h(a)f(PK)m(CS1)g(RSAPublicKey)390 3575 +(parameters)h(to)h(a)f(PK)m(CS1)g(RSAPublicKey)390 3870 y(structure.)103 b(If)51 b(the)h(bu\013er)e(pro)m(vided)h(is)g(not)h (long)g(enough)f(to)h(hold)f(the)h(output,)k(then)390 -3684 y(GNUTLS)p 777 3684 V 40 w(E)p 879 3684 V 40 w(SHOR)-8 -b(T)p 1234 3684 V 39 w(MEMOR)g(Y)p 1699 3684 V 41 w(BUFFER)31 -b(will)g(b)s(e)f(returned.)390 3820 y(If)35 b(the)h(structure)f(is)g +3980 y(GNUTLS)p 777 3980 V 40 w(E)p 879 3980 V 40 w(SHOR)-8 +b(T)p 1234 3980 V 39 w(MEMOR)g(Y)p 1699 3980 V 41 w(BUFFER)31 +b(will)g(b)s(e)f(returned.)390 4113 y(If)35 b(the)h(structure)f(is)g (PEM)h(enco)s(ded,)g(it)g(will)g(ha)m(v)m(e)h(a)f(header)f(of)g -Fs(")p FB(BEGIN)h(RSA)f(PRIV)-10 b(A)i(TE)390 3930 y(KEY)p -Fs(")p FB(.)390 4066 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e)j(error)d(co)s(de.)150 -4267 y Fu(gn)m(utls)p 483 4267 37 5 v 55 w(rsa)p 696 -4267 V 54 w(params)p 1138 4267 V 54 w(exp)s(ort)p 1543 -4267 V 55 w(ra)m(w)3350 4466 y FB([F)-8 b(unction])-3599 +Ft(")p FB(BEGIN)h(RSA)f(PRIV)-10 b(A)i(TE)390 4223 y(KEY)p +Ft(")p FB(.)390 4355 y(In)30 b(case)h(of)g(failure)f(a)h(negativ)m(e)h +(v)-5 b(alue)31 b(will)g(b)s(e)f(returned,)f(and)h(0)h(on)f(success.) +150 4552 y Fv(gn)m(utls)p 483 4552 37 5 v 55 w(rsa)p +696 4552 V 54 w(params)p 1138 4552 V 54 w(exp)s(ort)p +1543 4552 V 55 w(ra)m(w)3350 4745 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_exp)q(ort_)q(raw)f Fg(\()p -Ff(gn)m(utls)p 2150 4466 28 4 v 41 w(rsa)p 2308 4466 -V 40 w(params)p 2637 4466 V 39 w(t)31 b Fe(params)12 -b Ff(,)565 4576 y(gn)m(utls)p 811 4576 V 41 w(datum)p -1110 4576 V 39 w(t)31 b(*)g Fe(m)12 b Ff(,)30 b(gn)m(utls)p -1650 4576 V 40 w(datum)p 1948 4576 V 40 w(t)h(*)f Fe(e)12 -b Ff(,)31 b(gn)m(utls)p 2489 4576 V 40 w(datum)p 2787 -4576 V 40 w(t)f(*)h Fe(d)12 b Ff(,)30 b(gn)m(utls)p 3327 -4576 V 41 w(datum)p 3626 4576 V 39 w(t)565 4685 y(*)h -Fe(p)12 b Ff(,)30 b(gn)m(utls)p 1006 4685 V 41 w(datum)p -1305 4685 V 39 w(t)h(*)g Fe(q)12 b Ff(,)30 b(gn)m(utls)p -1845 4685 V 40 w(datum)p 2143 4685 V 40 w(t)h(*)f Fe(u)12 -b Ff(,)31 b(unsigned)e(in)m(t)i(*)g Fe(bits)12 b Fg(\))390 -4795 y Ff(params)t FB(:)40 b(a)31 b(structure)f(that)h(holds)f(the)g -(rsa)g(parameters)390 4931 y Ff(m)p FB(:)40 b(will)31 -b(hold)f(the)h(mo)s(dulus)390 5067 y Ff(e)5 b FB(:)41 -b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)390 -5204 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 -b(ate)31 b(exp)s(onen)m(t)390 5340 y Ff(p)s FB(:)40 b(will)31 -b(hold)f(the)g(\014rst)g(prime)g(\(p\))p eop end -%%Page: 167 173 -TeXDict begin 167 172 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(167)390 299 y -Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(second)f(prime)g(\(q\))390 -432 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 -564 y Ff(bits)t FB(:)40 b(if)31 b(non)e(n)m(ull)i(will)f(hold)h(the)f -(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 697 y(This)41 +Ff(gn)m(utls)p 2150 4745 28 4 v 41 w(rsa)p 2308 4745 +V 40 w(params)p 2637 4745 V 39 w(t)31 b Fe(params)p Ff(,)565 +4855 y(gn)m(utls)p 811 4855 V 41 w(datum)p 1110 4855 +V 39 w(t)g(*)g Fe(m)p Ff(,)f(gn)m(utls)p 1638 4855 V +41 w(datum)p 1937 4855 V 39 w(t)h(*)g Fe(e)p Ff(,)g(gn)m(utls)p +2466 4855 V 40 w(datum)p 2764 4855 V 40 w(t)f(*)h Fe(d)p +Ff(,)g(gn)m(utls)p 3293 4855 V 40 w(datum)p 3591 4855 +V 40 w(t)g(*)565 4964 y Fe(p)p Ff(,)g(gn)m(utls)p 919 +4964 V 40 w(datum)p 1217 4964 V 40 w(t)g(*)f Fe(q)p Ff(,)h(gn)m(utls)p +1746 4964 V 41 w(datum)p 2045 4964 V 39 w(t)g(*)g Fe(u)p +Ff(,)f(unsigned)g(in)m(t)h(*)f Fe(bits)12 b Fg(\))390 +5074 y Ff(params)t FB(:)40 b(a)31 b(structure)f(that)h(holds)f(the)g +(rsa)g(parameters)390 5207 y Ff(m)p FB(:)40 b(will)31 +b(hold)f(the)h(mo)s(dulus)390 5340 y Ff(e)5 b FB(:)41 +b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)p eop +end +%%Page: 164 170 +TeXDict begin 164 169 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(164)390 299 y +Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 b(ate)31 +b(exp)s(onen)m(t)390 432 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g +(\014rst)g(prime)g(\(p\))390 564 y Ff(q)r FB(:)41 b(will)30 +b(hold)g(the)h(second)f(prime)g(\(q\))390 697 y Ff(u)p +FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 +829 y Ff(bits)t FB(:)40 b(if)31 b(non)e(n)m(ull)i(will)f(hold)h(the)f +(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 962 y(This)41 b(function)g(will)h(exp)s(ort)f(the)h(RSA)f(parameters)h(found)e(in)h -(the)h(giv)m(en)h(structure.)73 b(The)390 806 y(new)35 +(the)h(giv)m(en)h(structure.)73 b(The)390 1072 y(new)35 b(parameters)g(will)h(b)s(e)f(allo)s(cated)i(using)e -Fs(gnutls_malloc\(\))c FB(and)j(will)i(b)s(e)e(stored)i(in)f(the)390 -916 y(appropriate)30 b(datum.)390 1049 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e) -j(error)d(co)s(de.)150 1244 y Fu(gn)m(utls)p 483 1244 -37 5 v 55 w(rsa)p 696 1244 V 54 w(params)p 1138 1244 -V 54 w(generate2)3350 1437 y FB([F)-8 b(unction])-3599 +Ft(gnutls_malloc\(\))c FB(and)j(will)i(b)s(e)e(stored)i(in)f(the)390 +1181 y(appropriate)30 b(datum.)150 1377 y Fv(gn)m(utls)p +483 1377 37 5 v 55 w(rsa)p 696 1377 V 54 w(params)p 1138 +1377 V 54 w(generate2)3350 1570 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_gen)q(erat)q(e2)f Fg(\()p -Ff(gn)m(utls)p 2098 1437 28 4 v 41 w(rsa)p 2256 1437 -V 40 w(params)p 2585 1437 V 39 w(t)31 b Fe(params)12 -b Ff(,)565 1547 y(unsigned)29 b(in)m(t)i Fe(bits)12 b -Fg(\))390 1656 y Ff(params)t FB(:)40 b(The)30 b(structure)g(where)g -(the)g(parameters)h(will)g(b)s(e)e(stored)390 1789 y -Ff(bits)t FB(:)40 b(is)31 b(the)f(prime's)g(n)m(um)m(b)s(er)f(of)i -(bits)390 1922 y(This)24 b(function)g(will)h(generate)h(new)e(temp)s -(orary)g(RSA)h(parameters)g(for)f(use)g(in)g(RSA-EXPOR)-8 -b(T)390 2031 y(ciphersuites.)41 b(This)29 b(function)h(is)h(normally)f -(slo)m(w.)390 2164 y(Note)25 b(that)f(if)g(the)f(parameters)h(are)g(to) -g(b)s(e)f(used)g(in)g(exp)s(ort)h(cipher)f(suites)h(the)f(bits)h(v)-5 -b(alue)24 b(should)390 2273 y(b)s(e)33 b(512)h(or)g(less.)50 +Ff(gn)m(utls)p 2098 1570 28 4 v 41 w(rsa)p 2256 1570 +V 40 w(params)p 2585 1570 V 39 w(t)31 b Fe(params)p Ff(,)565 +1679 y(unsigned)e(in)m(t)i Fe(bits)12 b Fg(\))390 1789 +y Ff(params)t FB(:)40 b(The)30 b(structure)g(where)g(the)g(parameters)h +(will)g(b)s(e)e(stored)390 1922 y Ff(bits)t FB(:)40 b(is)31 +b(the)f(prime's)g(n)m(um)m(b)s(er)f(of)i(bits)390 2054 +y(This)24 b(function)g(will)h(generate)h(new)e(temp)s(orary)g(RSA)h +(parameters)g(for)f(use)g(in)g(RSA-EXPOR)-8 b(T)390 2164 +y(ciphersuites.)41 b(This)29 b(function)h(is)h(normally)f(slo)m(w.)390 +2296 y(Note)25 b(that)f(if)g(the)f(parameters)h(are)g(to)g(b)s(e)f +(used)g(in)g(exp)s(ort)h(cipher)f(suites)h(the)f(bits)h(v)-5 +b(alue)24 b(should)390 2406 y(b)s(e)33 b(512)h(or)g(less.)50 b(Also)34 b(note)g(that)g(the)g(generation)h(of)e(new)g(RSA)g -(parameters)h(is)f(only)h(useful)390 2383 y(to)d(serv)m(ers.)40 +(parameters)h(is)f(only)h(useful)390 2516 y(to)d(serv)m(ers.)40 b(Clien)m(ts)31 b(use)e(the)h(parameters)g(sen)m(t)h(b)m(y)e(the)h (serv)m(er,)h(th)m(us)e(it's)i(no)e(use)h(calling)h(this)390 -2493 y(in)f(clien)m(t)i(side.)390 2625 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e) -j(error)d(co)s(de.)150 2821 y Fu(gn)m(utls)p 483 2821 -37 5 v 55 w(rsa)p 696 2821 V 54 w(params)p 1138 2821 -V 54 w(imp)s(ort)p 1558 2821 V 55 w(pk)m(cs1)3350 3014 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_imp)q(ort_) -q(pkc)q(s1)f Fg(\()p Ff(gn)m(utls)p 2255 3014 28 4 v -41 w(rsa)p 2413 3014 V 39 w(params)p 2741 3014 V 40 w(t)31 -b Fe(params)12 b Ff(,)565 3123 y(const)31 b(gn)m(utls)p -1049 3123 V 40 w(datum)p 1347 3123 V 40 w(t)g(*)f Fe(pkcs1_params)12 -b Ff(,)34 b(gn)m(utls)p 2463 3123 V 41 w(x509)p 2687 -3123 V 41 w(crt)p 2839 3123 V 40 w(fm)m(t)p 3015 3123 -V 41 w(t)c Fe(format)12 b Fg(\))390 3233 y Ff(params)t -FB(:)40 b(A)31 b(structure)e(where)h(the)h(parameters)g(will)f(b)s(e)g -(copied)h(to)390 3366 y Ff(pk)m(cs1)p 613 3366 V 41 w(params)t +2625 y(in)f(clien)m(t)i(side.)150 2821 y Fv(gn)m(utls)p +483 2821 37 5 v 55 w(rsa)p 696 2821 V 54 w(params)p 1138 +2821 V 54 w(imp)s(ort)p 1558 2821 V 55 w(pk)m(cs1)3350 +3014 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_imp)q +(ort_)q(pkc)q(s1)f Fg(\()p Ff(gn)m(utls)p 2255 3014 28 +4 v 41 w(rsa)p 2413 3014 V 39 w(params)p 2741 3014 V +40 w(t)31 b Fe(params)p Ff(,)565 3123 y(const)g(gn)m(utls)p +1049 3123 V 40 w(datum)p 1347 3123 V 40 w(t)g(*)f Fe(pkcs1_params)p +Ff(,)35 b(gn)m(utls)p 2452 3123 V 40 w(x509)p 2675 3123 +V 41 w(crt)p 2827 3123 V 41 w(fm)m(t)p 3004 3123 V 40 +w(t)c Fe(format)12 b Fg(\))390 3233 y Ff(params)t FB(:)40 +b(A)31 b(structure)e(where)h(the)h(parameters)g(will)f(b)s(e)g(copied)h +(to)390 3366 y Ff(pk)m(cs1)p 613 3366 V 41 w(params)t FB(:)43 b(should)32 b(con)m(tain)h(a)g(PK)m(CS1)f(RSAPublicKey)f (structure)h(PEM)g(or)g(DER)h(en-)390 3475 y(co)s(ded)390 3608 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(params.)40 b(PEM)31 b(or)f(DER.)390 3740 y(This)c(function)h(will)g(extract)i(the) e(RSAPublicKey)f(found)g(in)h(a)g(PK)m(CS1)g(formatted)g(structure.)390 3873 y(If)g(the)g(structure)g(is)g(PEM)g(enco)s(ded,)h(it)g(should)e -(ha)m(v)m(e)i(a)g(header)f(of)g Fs(")p FB(BEGIN)g(RSA)g(PRIV)-10 -b(A)i(TE)390 3983 y(KEY)p Fs(")p FB(.)390 4115 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e) -j(error)d(co)s(de.)150 4311 y Fu(gn)m(utls)p 483 4311 -37 5 v 55 w(rsa)p 696 4311 V 54 w(params)p 1138 4311 -V 54 w(imp)s(ort)p 1558 4311 V 55 w(ra)m(w)3350 4504 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_rsa_params_imp)q(ort_) -q(raw)f Fg(\()p Ff(gn)m(utls)p 2150 4504 28 4 v 41 w(rsa)p -2308 4504 V 40 w(params)p 2637 4504 V 39 w(t)565 4613 -y Fe(rsa_params)12 b Ff(,)33 b(const)e(gn)m(utls)p 1639 -4613 V 41 w(datum)p 1938 4613 V 39 w(t)g(*)g Fe(m)12 -b Ff(,)30 b(const)h(gn)m(utls)p 2716 4613 V 40 w(datum)p -3014 4613 V 40 w(t)f(*)h Fe(e)12 b Ff(,)31 b(const)565 -4723 y(gn)m(utls)p 811 4723 V 41 w(datum)p 1110 4723 -V 39 w(t)e(*)h Fe(d)12 b Ff(,)29 b(const)g(gn)m(utls)p -1882 4723 V 41 w(datum)p 2181 4723 V 39 w(t)h(*)f Fe(p)12 -b Ff(,)29 b(const)h(gn)m(utls)p 2954 4723 V 40 w(datum)p -3252 4723 V 40 w(t)f(*)g Fe(q)12 b Ff(,)29 b(const)565 -4833 y(gn)m(utls)p 811 4833 V 41 w(datum)p 1110 4833 -V 39 w(t)i(*)g Fe(u)12 b Fg(\))390 4942 y Ff(rsa)p 513 -4942 V 40 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f(will)g(hold)g -(the)h(parameters)390 5075 y Ff(m)p FB(:)40 b(holds)30 -b(the)h(mo)s(dulus)390 5207 y Ff(e)5 b FB(:)41 b(holds)30 -b(the)h(public)e(exp)s(onen)m(t)390 5340 y Ff(d)t FB(:)40 -b(holds)30 b(the)g(priv)-5 b(ate)31 b(exp)s(onen)m(t)p -eop end -%%Page: 168 174 -TeXDict begin 168 173 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(168)390 299 y +(ha)m(v)m(e)i(a)g(header)f(of)g Ft(")p FB(BEGIN)g(RSA)g(PRIV)-10 +b(A)i(TE)390 3983 y(KEY)p Ft(")p FB(.)390 4115 y(In)30 +b(case)h(of)g(failure)f(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(will)g(b)s(e)f(returned,)f(and)h(0)h(on)f(success.)150 +4311 y Fv(gn)m(utls)p 483 4311 37 5 v 55 w(rsa)p 696 +4311 V 54 w(params)p 1138 4311 V 54 w(imp)s(ort)p 1558 +4311 V 55 w(ra)m(w)3350 4504 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_rsa_params_imp)q(ort_)q(raw)f Fg(\()p +Ff(gn)m(utls)p 2150 4504 28 4 v 41 w(rsa)p 2308 4504 +V 40 w(params)p 2637 4504 V 39 w(t)565 4613 y Fe(rsa_params)p +Ff(,)34 b(const)d(gn)m(utls)p 1628 4613 V 40 w(datum)p +1926 4613 V 40 w(t)f(*)h Fe(m)p Ff(,)g(const)g(gn)m(utls)p +2693 4613 V 40 w(datum)p 2991 4613 V 40 w(t)f(*)h Fe(e)p +Ff(,)g(const)565 4723 y(gn)m(utls)p 811 4723 V 41 w(datum)p +1110 4723 V 39 w(t)g(*)g Fe(d)p Ff(,)f(const)h(gn)m(utls)p +1876 4723 V 41 w(datum)p 2175 4723 V 39 w(t)g(*)g Fe(p)p +Ff(,)g(const)f(gn)m(utls)p 2941 4723 V 41 w(datum)p 3240 +4723 V 39 w(t)h(*)g Fe(q)p Ff(,)g(const)565 4833 y(gn)m(utls)p +811 4833 V 41 w(datum)p 1110 4833 V 39 w(t)g(*)g Fe(u)12 +b Fg(\))390 4942 y Ff(rsa)p 513 4942 V 40 w(params)t +FB(:)40 b(Is)30 b(a)h(structure)f(will)g(hold)g(the)h(parameters)390 +5075 y Ff(m)p FB(:)40 b(holds)30 b(the)h(mo)s(dulus)390 +5207 y Ff(e)5 b FB(:)41 b(holds)30 b(the)h(public)e(exp)s(onen)m(t)390 +5340 y Ff(d)t FB(:)40 b(holds)30 b(the)g(priv)-5 b(ate)31 +b(exp)s(onen)m(t)p eop end +%%Page: 165 171 +TeXDict begin 165 170 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(165)390 299 y Ff(p)s FB(:)40 b(holds)30 b(the)g(\014rst)g(prime)g(\(p\))390 -438 y Ff(q)r FB(:)41 b(holds)30 b(the)g(second)h(prime)e(\(q\))390 -578 y Ff(u)p FB(:)40 b(holds)30 b(the)h(co)s(e\016cien)m(t)390 -717 y(This)25 b(function)h(will)g(replace)h(the)f(parameters)g(in)g +430 y Ff(q)r FB(:)41 b(holds)30 b(the)g(second)h(prime)e(\(q\))390 +561 y Ff(u)p FB(:)40 b(holds)30 b(the)h(co)s(e\016cien)m(t)390 +693 y(This)25 b(function)h(will)g(replace)h(the)f(parameters)g(in)g (the)g(giv)m(en)h(structure.)39 b(The)25 b(new)h(parameters)390 -827 y(should)j(b)s(e)h(stored)h(in)f(the)g(appropriate)h(gn)m(utls)p -2075 827 28 4 v 40 w(datum.)390 966 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e) -j(error)d(co)s(de.)150 1170 y Fu(gn)m(utls)p 483 1170 -37 5 v 55 w(rsa)p 696 1170 V 54 w(params)p 1138 1170 -V 54 w(init)3350 1372 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_rsa_params_ini)q(t)e Fg(\()p Ff(gn)m(utls)p -1836 1372 28 4 v 41 w(rsa)p 1994 1372 V 40 w(params)p -2323 1372 V 40 w(t)30 b(*)h Fe(rsa_params)12 b Fg(\))390 -1481 y Ff(rsa)p 513 1481 V 40 w(params)t FB(:)40 b(Is)30 +802 y(should)j(b)s(e)h(stored)h(in)f(the)g(appropriate)h(gn)m(utls)p +2075 802 28 4 v 40 w(datum.)150 995 y Fv(gn)m(utls)p +483 995 37 5 v 55 w(rsa)p 696 995 V 54 w(params)p 1138 +995 V 54 w(init)3350 1185 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_rsa_params_ini)q(t)e Fg(\()p Ff(gn)m(utls)p +1836 1185 28 4 v 41 w(rsa)p 1994 1185 V 40 w(params)p +2323 1185 V 40 w(t)30 b(*)h Fe(rsa_params)12 b Fg(\))390 +1295 y Ff(rsa)p 513 1295 V 40 w(params)t FB(:)40 b(Is)30 b(a)h(structure)f(that)h(will)f(hold)g(the)h(parameters)390 -1621 y(This)f(function)g(will)g(initialize)j(the)e(temp)s(orary)f(RSA)f -(parameters)i(structure.)390 1760 y Fn(Returns:)40 b -Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(negativ)m(e)j -(error)d(co)s(de.)150 1964 y Fu(gn)m(utls)p 483 1964 -37 5 v 55 w(serv)m(er)p 860 1964 V 54 w(name)p 1200 1964 -V 54 w(get)3350 2166 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_server_name_ge)q(t)e Fg(\()p Ff(gn)m(utls)p -1836 2166 28 4 v 41 w(session)p 2146 2166 V 40 w(t)31 -b Fe(session)12 b Ff(,)32 b(v)m(oid)f(*)g Fe(data)12 -b Ff(,)565 2275 y(size)p 712 2275 V 41 w(t)31 b(*)f Fe(data_length)12 -b Ff(,)34 b(unsigned)29 b(in)m(t)i(*)g Fe(type)12 b Ff(,)31 -b(unsigned)e(in)m(t)i Fe(indx)12 b Fg(\))390 2385 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -2524 y Ff(data)p FB(:)41 b(will)31 b(hold)f(the)h(data)390 -2664 y Ff(data)p 572 2664 V 41 w(length)p FB(:)41 b(will)31 +1426 y(This)f(function)g(will)g(initialize)j(the)e(temp)s(orary)f(RSA)f +(parameters)i(structure.)150 1619 y Fv(gn)m(utls)p 483 +1619 37 5 v 55 w(serv)m(er)p 860 1619 V 54 w(name)p 1200 +1619 V 54 w(get)3350 1809 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_server_name_ge)q(t)e Fg(\()p Ff(gn)m(utls)p +1836 1809 28 4 v 41 w(session)p 2146 1809 V 40 w(t)31 +b Fe(session)p Ff(,)i(v)m(oid)e(*)f Fe(data)p Ff(,)565 +1918 y(size)p 712 1918 V 41 w(t)h(*)f Fe(data_length)p +Ff(,)k(unsigned)c(in)m(t)h(*)f Fe(type)p Ff(,)i(unsigned)d(in)m(t)i +Fe(indx)12 b Fg(\))390 2028 y Ff(session)p FB(:)41 b(is)30 +b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 2159 +y Ff(data)p FB(:)41 b(will)31 b(hold)f(the)h(data)390 +2290 y Ff(data)p 572 2290 V 41 w(length)p FB(:)41 b(will)31 b(hold)f(the)g(data)h(length.)41 b(Must)31 b(hold)f(the)g(maxim)m(um)h -(size)g(of)f(data.)390 2803 y Ff(t)m(yp)s(e)5 b FB(:)41 +(size)g(of)f(data.)390 2422 y Ff(t)m(yp)s(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(serv)m(er)h(name)f(indicator)h(t)m(yp)s(e)390 -2943 y Ff(indx)6 b FB(:)40 b(is)31 b(the)f(index)g(of)h(the)f(serv)m -(er)p 1628 2943 V 41 w(name)390 3082 y(This)37 b(function)h(will)g +2553 y Ff(indx)6 b FB(:)40 b(is)31 b(the)f(index)g(of)h(the)f(serv)m +(er)p 1628 2553 V 41 w(name)390 2684 y(This)37 b(function)h(will)g (allo)m(w)h(y)m(ou)f(to)h(get)g(the)f(name)g(indication)g(\(if)g(an)m -(y\),)j(a)d(clien)m(t)i(has)d(sen)m(t.)390 3191 y(The)30 +(y\),)j(a)d(clien)m(t)i(has)d(sen)m(t.)390 2794 y(The)30 b(name)g(indication)i(ma)m(y)f(b)s(e)e(an)m(y)i(of)f(the)h(en)m -(umeration)g(gn)m(utls)p 2765 3191 V 40 w(serv)m(er)p -3038 3191 V 41 w(name)p 3291 3191 V 40 w(t)m(yp)s(e)p -3505 3191 V 40 w(t.)390 3331 y(If)38 b Fs(type)f FB(is)h(GNUTLS)p -1204 3331 V 40 w(NAME)p 1525 3331 V 41 w(DNS,)g(then)g(this)h(function) +(umeration)g(gn)m(utls)p 2765 2794 V 40 w(serv)m(er)p +3038 2794 V 41 w(name)p 3291 2794 V 40 w(t)m(yp)s(e)p +3505 2794 V 40 w(t.)390 2925 y(If)38 b Ft(type)f FB(is)h(GNUTLS)p +1204 2925 V 40 w(NAME)p 1525 2925 V 41 w(DNS,)g(then)g(this)h(function) f(is)g(to)h(b)s(e)f(used)g(b)m(y)g(serv)m(ers)g(that)390 -3440 y(supp)s(ort)29 b(virtual)h(hosting,)h(and)f(the)h(data)g(will)f +3035 y(supp)s(ort)29 b(virtual)h(hosting,)h(and)f(the)h(data)g(will)f (b)s(e)g(a)h(n)m(ull)f(terminated)h(UTF-8)g(string.)390 -3580 y(If)20 b Fs(data)f FB(has)h(not)g(enough)g(size)i(to)f(hold)f -(the)g(serv)m(er)h(name)f(GNUTLS)p 2763 3580 V 40 w(E)p -2865 3580 V 39 w(SHOR)-8 b(T)p 3219 3580 V 40 w(MEMOR)g(Y)p -3685 3580 V 41 w(BUFFER)390 3689 y(is)30 b(returned,)g(and)g -Fs(data_length)d FB(will)k(hold)f(the)g(required)g(size.)390 -3829 y Fs(index)c FB(is)h(used)g(to)h(retriev)m(e)g(more)g(than)f(one)g +3166 y(If)20 b Ft(data)f FB(has)h(not)g(enough)g(size)i(to)f(hold)f +(the)g(serv)m(er)h(name)f(GNUTLS)p 2763 3166 V 40 w(E)p +2865 3166 V 39 w(SHOR)-8 b(T)p 3219 3166 V 40 w(MEMOR)g(Y)p +3685 3166 V 41 w(BUFFER)390 3275 y(is)30 b(returned,)g(and)g +Ft(data_length)d FB(will)k(hold)f(the)g(required)g(size.)390 +3407 y Ft(index)c FB(is)h(used)g(to)h(retriev)m(e)g(more)g(than)f(one)g (serv)m(er)h(names)f(\(if)h(sen)m(t)g(b)m(y)f(the)g(clien)m(t\).)42 -b(The)27 b(\014rst)390 3938 y(serv)m(er)36 b(name)g(has)f(an)h(index)g +b(The)27 b(\014rst)390 3516 y(serv)m(er)36 b(name)g(has)f(an)h(index)g (of)g(0,)h(the)f(second)g(1)g(and)g(so)g(on.)57 b(If)35 -b(no)h(name)f(with)h(the)g(giv)m(en)390 4048 y(index)30 -b(exists)h(GNUTLS)p 1273 4048 V 40 w(E)p 1375 4048 V -40 w(REQUESTED)p 1993 4048 V 39 w(D)m(A)-8 b(T)g(A)p -2284 4048 V 41 w(NOT)p 2530 4048 V 40 w(A)e(V)g(AILABLE)30 -b(is)h(returned.)390 4187 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -4297 y(is)f(returned.)150 4501 y Fu(gn)m(utls)p 483 4501 -37 5 v 55 w(serv)m(er)p 860 4501 V 54 w(name)p 1200 4501 -V 54 w(set)3350 4703 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(no)h(name)f(with)h(the)g(giv)m(en)390 3626 y(index)30 +b(exists)h(GNUTLS)p 1273 3626 V 40 w(E)p 1375 3626 V +40 w(REQUESTED)p 1993 3626 V 39 w(D)m(A)-8 b(T)g(A)p +2284 3626 V 41 w(NOT)p 2530 3626 V 40 w(A)e(V)g(AILABLE)30 +b(is)h(returned.)150 3818 y Fv(gn)m(utls)p 483 3818 37 +5 v 55 w(serv)m(er)p 860 3818 V 54 w(name)p 1200 3818 +V 54 w(set)3350 4009 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_server_name_se)q(t)e Fg(\()p Ff(gn)m(utls)p -1836 4703 28 4 v 41 w(session)p 2146 4703 V 40 w(t)31 -b Fe(session)12 b Ff(,)565 4812 y(gn)m(utls)p 811 4812 -V 41 w(serv)m(er)p 1085 4812 V 40 w(name)p 1337 4812 -V 40 w(t)m(yp)s(e)p 1551 4812 V 40 w(t)31 b Fe(type)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)g Fe(name)12 b Ff(,)31 -b(size)p 2861 4812 V 41 w(t)g Fe(name_length)12 b Fg(\))390 -4922 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 5061 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(sp)s(eci\014es)30 b(the)h(indicator)g(t)m(yp)s(e)390 -5201 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(string)f(that)h(con)m(tains)h -(the)e(serv)m(er)h(name.)390 5340 y Ff(name)p 608 5340 -V 40 w(length)p FB(:)41 b(holds)30 b(the)h(length)f(of)h(name)p -eop end -%%Page: 169 175 -TeXDict begin 169 174 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(169)390 299 y(This)43 -b(function)g(is)h(to)g(b)s(e)f(used)g(b)m(y)h(clien)m(ts)h(that)f(w)m -(an)m(t)h(to)f(inform)f(\(via)i(a)f(TLS)e(extension)390 -408 y(mec)m(hanism\))28 b(the)f(serv)m(er)g(of)g(the)g(name)g(they)h +1836 4009 28 4 v 41 w(session)p 2146 4009 V 40 w(t)31 +b Fe(session)p Ff(,)565 4118 y(gn)m(utls)p 811 4118 V +41 w(serv)m(er)p 1085 4118 V 40 w(name)p 1337 4118 V +40 w(t)m(yp)s(e)p 1551 4118 V 40 w(t)g Fe(type)p Ff(,)h(const)f(v)m +(oid)f(*)h Fe(name)p Ff(,)h(size)p 2838 4118 V 41 w(t)f +Fe(name_length)12 b Fg(\))390 4228 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +4359 y Ff(t)m(yp)s(e)5 b FB(:)41 b(sp)s(eci\014es)30 +b(the)h(indicator)g(t)m(yp)s(e)390 4490 y Ff(name)5 b +FB(:)41 b(is)30 b(a)h(string)f(that)h(con)m(tains)h(the)e(serv)m(er)h +(name.)390 4621 y Ff(name)p 608 4621 V 40 w(length)p +FB(:)41 b(holds)30 b(the)h(length)f(of)h(name)390 4753 +y(This)43 b(function)g(is)h(to)g(b)s(e)f(used)g(b)m(y)h(clien)m(ts)h +(that)f(w)m(an)m(t)h(to)f(inform)f(\(via)i(a)f(TLS)e(extension)390 +4862 y(mec)m(hanism\))28 b(the)f(serv)m(er)g(of)g(the)g(name)g(they)h (connected)g(to.)40 b(This)26 b(should)g(b)s(e)g(used)h(b)m(y)f(clien)m -(ts)390 518 y(that)31 b(connect)g(to)g(serv)m(ers)g(that)g(do)f -(virtual)h(hosting.)390 663 y(The)k(v)-5 b(alue)36 b(of)f -Fs(name)f FB(dep)s(ends)g(on)h(the)g Fs(ind)g FB(t)m(yp)s(e.)56 -b(In)34 b(case)j(of)e(GNUTLS)p 3050 663 28 4 v 40 w(NAME)p -3371 663 V 40 w(DNS,)h(an)390 773 y(ASCI)s(I)c(or)h(UTF-8)i(n)m(ull)e +(ts)390 4972 y(that)31 b(connect)g(to)g(serv)m(ers)g(that)g(do)f +(virtual)h(hosting.)390 5103 y(The)k(v)-5 b(alue)36 b(of)f +Ft(name)f FB(dep)s(ends)g(on)h(the)g Ft(ind)g FB(t)m(yp)s(e.)56 +b(In)34 b(case)j(of)e(GNUTLS)p 3050 5103 V 40 w(NAME)p +3371 5103 V 40 w(DNS,)h(an)390 5213 y(ASCI)s(I)c(or)h(UTF-8)i(n)m(ull)e (terminated)h(string,)h(without)e(the)h(trailing)g(dot,)h(is)e(exp)s -(ected.)51 b(IPv4)390 882 y(or)30 b(IPv6)h(addresses)f(are)g(not)h(p)s -(ermitted.)390 1028 y Fn(Returns:)42 b FB(On)30 b(success,)i -Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i -(an)f(error)g(co)s(de)390 1137 y(is)f(returned.)150 1347 -y Fu(gn)m(utls)p 483 1347 37 5 v 55 w(session)p 901 1347 -V 55 w(enable)p 1298 1347 V 55 w(compatibilit)m(y)p 2061 -1347 V 53 w(mo)s(de)3350 1555 y FB([F)-8 b(unction])-3599 +(ected.)51 b(IPv4)390 5322 y(or)30 b(IPv6)h(addresses)f(are)g(not)h(p)s +(ermitted.)p eop end +%%Page: 166 172 +TeXDict begin 166 171 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(166)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(session)p 901 299 +V 55 w(enable)p 1298 299 V 55 w(compatibilit)m(y)p 2061 +299 V 53 w(mo)s(de)3350 494 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_session_enable_co)q(mpa)q(tib)q(ili)q(ty_m)q(ode) -565 1664 y Fg(\()p Ff(gn)m(utls)p 846 1664 28 4 v 41 -w(session)p 1156 1664 V 40 w(t)31 b Fe(session)12 b Fg(\))390 -1774 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 1919 y(This)45 b(function)h(can)h(b)s(e)e(used)h -(to)h(disable)f(certain)h(\(securit)m(y\))h(features)f(in)e(TLS)h(in)f -(order)390 2029 y(to)37 b(main)m(tain)h(maxim)m(um)e(compatibilit)m(y)i +565 604 y Fg(\()p Ff(gn)m(utls)p 846 604 28 4 v 41 w(session)p +1156 604 V 40 w(t)31 b Fe(session)12 b Fg(\))390 714 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 848 y(This)45 b(function)h(can)h(b)s(e)e(used)h(to) +h(disable)f(certain)h(\(securit)m(y\))h(features)f(in)e(TLS)h(in)f +(order)390 957 y(to)37 b(main)m(tain)h(maxim)m(um)e(compatibilit)m(y)i (with)f(buggy)f(clien)m(ts.)60 b(It)37 b(is)f(equiv)-5 -b(alen)m(t)38 b(to)f(calling:)390 2138 y Fs(gnutls_record_disable_pa)o -(ddin)o(g\(\))390 2283 y FB(Normally)25 b(only)f(serv)m(ers)g(that)g +b(alen)m(t)38 b(to)f(calling:)390 1067 y Ft(gnutls_record_disable_pa)o +(ddin)o(g\(\))390 1201 y FB(Normally)25 b(only)f(serv)m(ers)g(that)g (require)g(maxim)m(um)g(compatibilit)m(y)i(with)e(ev)m(erything)g(out)g -(there,)390 2393 y(need)30 b(to)h(call)h(this)e(function.)150 -2603 y Fu(gn)m(utls)p 483 2603 37 5 v 55 w(session)p -901 2603 V 55 w(get)p 1121 2603 V 55 w(clien)m(t)p 1468 -2603 V 53 w(random)3350 2810 y FB([F)-8 b(unction])-3599 +(there,)390 1310 y(need)30 b(to)h(call)h(this)e(function.)150 +1508 y Fv(gn)m(utls)p 483 1508 37 5 v 55 w(session)p +901 1508 V 55 w(get)p 1121 1508 V 55 w(clien)m(t)p 1468 +1508 V 53 w(random)3350 1704 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(void)f(*)g(gnutls_session_get_cli)q(ent)q(_ran)q(dom) -565 2920 y Fg(\()p Ff(gn)m(utls)p 846 2920 28 4 v 41 -w(session)p 1156 2920 V 40 w(t)31 b Fe(session)12 b Fg(\))390 -3030 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 3175 y(Return)31 b(a)h(p)s(oin)m(ter)f(to)i(the)f +565 1813 y Fg(\()p Ff(gn)m(utls)p 846 1813 28 4 v 41 +w(session)p 1156 1813 V 40 w(t)31 b Fe(session)12 b Fg(\))390 +1923 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 2057 y(Return)31 b(a)h(p)s(oin)m(ter)f(to)i(the)f (32-b)m(yte)h(clien)m(t)g(random)e(\014eld)g(used)g(in)g(the)h -(session.)45 b(The)31 b(p)s(oin)m(ter)390 3284 y(m)m(ust)f(not)h(b)s(e) -f(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 3429 y(If)h(a)g(clien)m(t)h +(session.)45 b(The)31 b(p)s(oin)m(ter)390 2166 y(m)m(ust)f(not)h(b)s(e) +f(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 2300 y(If)h(a)g(clien)m(t)h (random)f(v)-5 b(alue)31 b(has)g(not)g(y)m(et)h(b)s(een)e(established,) -i(the)f(output)g(will)g(b)s(e)f(garbage;)j(in)390 3539 -y(particular,)e(a)g Fs(NULL)e FB(return)g(v)-5 b(alue)31 -b(should)e(not)i(b)s(e)f(exp)s(ected.)390 3684 y Fn(Returns:)40 +i(the)f(output)g(will)g(b)s(e)f(garbage;)j(in)390 2410 +y(particular,)e(a)g Ft(NULL)e FB(return)g(v)-5 b(alue)31 +b(should)e(not)i(b)s(e)f(exp)s(ected.)390 2544 y Fn(Returns:)40 b FB(p)s(oin)m(ter)31 b(to)g(clien)m(t)h(random)d(data.)150 -3894 y Fu(gn)m(utls)p 483 3894 37 5 v 55 w(session)p -901 3894 V 55 w(get)p 1121 3894 V 55 w(data2)3350 4102 +2742 y Fv(gn)m(utls)p 483 2742 37 5 v 55 w(session)p +901 2742 V 55 w(get)p 1121 2742 V 55 w(data2)3350 2937 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_session_get_da)q(ta2)f -Fg(\()p Ff(gn)m(utls)p 1941 4102 28 4 v 41 w(session)p -2251 4102 V 40 w(t)31 b Fe(session)12 b Ff(,)565 4211 -y(gn)m(utls)p 811 4211 V 41 w(datum)p 1110 4211 V 39 -w(t)31 b(*)g Fe(data)12 b Fg(\))390 4321 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -4466 y Ff(data)p FB(:)41 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(a)g(datum)f -(that)h(will)f(hold)g(the)h(session.)390 4611 y(Returns)g(all)h -(session)g(parameters,)h(in)e(order)h(to)g(supp)s(ort)e(resuming.)44 -b(The)32 b(clien)m(t)h(should)e(call)390 4721 y(this,)26 -b(and)d(k)m(eep)i(the)g(returned)e(session,)i(if)g(he)f(w)m(an)m(ts)h -(to)g(resume)e(that)i(curren)m(t)f(v)m(ersion)h(later)g(b)m(y)390 -4830 y(calling)j Fs(gnutls_session_set_data\(\))o FB(.)34 -b(This)26 b(function)g(m)m(ust)h(b)s(e)f(called)i(after)f(a)g -(successful)390 4940 y(handshak)m(e.)40 b(The)30 b(returned)f(datum)h -(m)m(ust)g(b)s(e)g(freed)g(with)g Fs(gnutls_free\(\))p -FB(.)390 5085 y(Resuming)g(sessions)g(is)h(really)g(useful)f(and)f(sp)s +Fg(\()p Ff(gn)m(utls)p 1941 2937 28 4 v 41 w(session)p +2251 2937 V 40 w(t)31 b Fe(session)p Ff(,)565 3047 y(gn)m(utls)p +811 3047 V 41 w(datum)p 1110 3047 V 39 w(t)g(*)g Fe(data)12 +b Fg(\))390 3157 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 3291 y(Returns)31 +b(all)h(session)g(parameters,)h(in)e(order)h(to)g(supp)s(ort)e +(resuming.)44 b(The)32 b(clien)m(t)h(should)e(call)390 +3400 y(this,)26 b(and)d(k)m(eep)i(the)g(returned)e(session,)i(if)g(he)f +(w)m(an)m(ts)h(to)g(resume)e(that)i(curren)m(t)f(v)m(ersion)h(later)g +(b)m(y)390 3510 y(calling)32 b Ft(gnutls_session_set_data\(\))24 +b FB(This)31 b(function)f(m)m(ust)h(b)s(e)f(called)i(after)g(a)f +(successful)390 3619 y(handshak)m(e.)40 b(The)30 b(returned)f(datum)h +(m)m(ust)g(b)s(e)g(freed)g(with)g Ft(gnutls_free\(\))p +FB(.)390 3753 y(Resuming)g(sessions)g(is)h(really)g(useful)f(and)f(sp)s (eedups)g(connections)i(after)g(a)g(succesful)f(one.)390 -5230 y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 +3887 y Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 5340 y(returned.)p eop end -%%Page: 170 176 -TeXDict begin 170 175 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(170)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(session)p 901 299 -V 55 w(get)p 1121 299 V 55 w(data)3350 511 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_session_get_da)q(ta)f -Fg(\()p Ff(gn)m(utls)p 1889 511 28 4 v 40 w(session)p -2198 511 V 41 w(t)30 b Fe(session)12 b Ff(,)32 b(v)m(oid)f(*)565 -620 y Fe(session_data)12 b Ff(,)34 b(size)p 1407 620 -V 41 w(t)c(*)h Fe(session_data_size)12 b Fg(\))390 730 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 880 y Ff(session)p 665 880 V 40 w(data)p -FB(:)42 b(is)30 b(a)h(p)s(oin)m(ter)f(to)h(space)g(to)g(hold)f(the)h -(session.)390 1029 y Ff(session)p 665 1029 V 40 w(data)p -881 1029 V 41 w(size)5 b FB(:)42 b(is)30 b(the)h(session)p -1652 1029 V 40 w(data's)g(size,)g(or)g(it)g(will)f(b)s(e)g(set)h(b)m(y) -f(the)h(function.)390 1179 y(Returns)g(all)h(session)g(parameters,)h -(in)e(order)h(to)g(supp)s(ort)e(resuming.)44 b(The)32 -b(clien)m(t)h(should)e(call)390 1289 y(this,)26 b(and)d(k)m(eep)i(the)g -(returned)e(session,)i(if)g(he)f(w)m(an)m(ts)h(to)g(resume)e(that)i -(curren)m(t)f(v)m(ersion)h(later)g(b)m(y)390 1398 y(calling)32 -b Fs(gnutls_session_set_data\(\))24 b FB(This)31 b(function)f(m)m(ust)h -(b)s(e)f(called)i(after)g(a)f(successful)390 1508 y(handshak)m(e.)390 -1658 y(Resuming)f(sessions)g(is)h(really)g(useful)f(and)f(sp)s(eedups)g -(connections)i(after)g(a)g(succesful)f(one.)390 1807 -y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 -b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 1917 y(returned.)150 2131 y Fu(gn)m(utls)p 483 2131 -37 5 v 55 w(session)p 901 2131 V 55 w(get)p 1121 2131 -V 55 w(id)3350 2343 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_session_get_id)f Fg(\()p Ff(gn)m(utls)p 1784 -2343 28 4 v 41 w(session)p 2094 2343 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(v)m(oid)f(*)565 2453 y Fe(session_id)12 b -Ff(,)33 b(size)p 1302 2453 V 41 w(t)e(*)g Fe(session_id_size)12 -b Fg(\))390 2562 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 2712 y Ff(session)p -665 2712 V 40 w(id)t FB(:)40 b(is)31 b(a)f(p)s(oin)m(ter)h(to)g(space)g -(to)g(hold)f(the)g(session)h(id.)390 2862 y Ff(session)p -665 2862 V 40 w(id)p 781 2862 V 40 w(size)5 b FB(:)42 -b(is)30 b(the)h(session)f(id's)g(size,)i(or)e(it)h(will)g(b)s(e)e(set)i -(b)m(y)g(the)f(function.)390 3011 y(Returns)38 b(the)g(curren)m(t)h -(session)g(id.)65 b(This)37 b(can)i(b)s(e)f(used)g(if)h(y)m(ou)f(w)m -(an)m(t)i(to)f(c)m(hec)m(k)h(if)f(the)g(next)390 3121 -y(session)33 b(y)m(ou)g(tried)g(to)h(resume)f(w)m(as)g(actually)h -(resumed.)48 b(This)32 b(is)h(b)s(ecause)g(resumed)f(sessions)390 -3231 y(ha)m(v)m(e)g(the)e(same)h(sessionID)g(with)f(the)g(original)i -(session.)390 3380 y(Session)j(id)f(is)h(some)g(data)h(set)f(b)m(y)g -(the)g(serv)m(er,)i(that)e(iden)m(tify)h(the)f(curren)m(t)f(session.)55 -b(In)34 b(TLS)390 3490 y(1.0)d(and)f(SSL)f(3.0)j(session)e(id)g(is)h -(alw)m(a)m(ys)h(less)e(than)h(32)g(b)m(ytes.)390 3640 -y Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 +390 3997 y(returned.)150 4195 y Fv(gn)m(utls)p 483 4195 +37 5 v 55 w(session)p 901 4195 V 55 w(get)p 1121 4195 +V 55 w(data)3350 4390 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_session_get_da)q(ta)f Fg(\()p Ff(gn)m(utls)p +1889 4390 28 4 v 40 w(session)p 2198 4390 V 41 w(t)30 +b Fe(session)p Ff(,)j(v)m(oid)e(*)565 4500 y Fe(session_data)p +Ff(,)j(size)p 1395 4500 V 41 w(t)d(*)g Fe(session_data_size)12 +b Fg(\))390 4610 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 4743 y Ff(session)p +665 4743 V 40 w(data)p FB(:)42 b(is)30 b(a)h(p)s(oin)m(ter)f(to)h +(space)g(to)g(hold)f(the)h(session.)390 4877 y Ff(session)p +665 4877 V 40 w(data)p 881 4877 V 41 w(size)5 b FB(:)42 +b(is)30 b(the)h(session)p 1652 4877 V 40 w(data's)g(size,)g(or)g(it)g +(will)f(b)s(e)g(set)h(b)m(y)f(the)h(function.)390 5011 +y(Returns)g(all)h(session)g(parameters,)h(in)e(order)h(to)g(supp)s(ort) +e(resuming.)44 b(The)32 b(clien)m(t)h(should)e(call)390 +5121 y(this,)26 b(and)d(k)m(eep)i(the)g(returned)e(session,)i(if)g(he)f +(w)m(an)m(ts)h(to)g(resume)e(that)i(curren)m(t)f(v)m(ersion)h(later)g +(b)m(y)390 5230 y(calling)32 b Ft(gnutls_session_set_data\(\))24 +b FB(This)31 b(function)f(m)m(ust)h(b)s(e)f(called)i(after)g(a)f +(successful)390 5340 y(handshak)m(e.)p eop end +%%Page: 167 173 +TeXDict begin 167 172 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(167)390 299 y(Resuming)30 +b(sessions)g(is)h(really)g(useful)f(and)f(sp)s(eedups)g(connections)i +(after)g(a)g(succesful)f(one.)390 433 y Fn(Returns:)46 +b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 +b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 +542 y(returned.)150 740 y Fv(gn)m(utls)p 483 740 37 5 +v 55 w(session)p 901 740 V 55 w(get)p 1121 740 V 55 w(id)3350 +935 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_session_get_id)f +Fg(\()p Ff(gn)m(utls)p 1784 935 28 4 v 41 w(session)p +2094 935 V 40 w(t)31 b Fe(session)p Ff(,)h(v)m(oid)f(*)565 +1045 y Fe(session_id)p Ff(,)j(size)p 1291 1045 V 41 w(t)c(*)h +Fe(session_id_size)12 b Fg(\))390 1155 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1288 y Ff(session)p 665 1288 V 40 w(id)t FB(:)40 b(is)31 +b(a)f(p)s(oin)m(ter)h(to)g(space)g(to)g(hold)f(the)g(session)h(id.)390 +1422 y Ff(session)p 665 1422 V 40 w(id)p 781 1422 V 40 +w(size)5 b FB(:)42 b(is)30 b(the)h(session)f(id's)g(size,)i(or)e(it)h +(will)g(b)s(e)e(set)i(b)m(y)g(the)f(function.)390 1556 +y(Returns)38 b(the)g(curren)m(t)h(session)g(id.)65 b(This)37 +b(can)i(b)s(e)f(used)g(if)h(y)m(ou)f(w)m(an)m(t)i(to)f(c)m(hec)m(k)h +(if)f(the)g(next)390 1666 y(session)33 b(y)m(ou)g(tried)g(to)h(resume)f +(w)m(as)g(actually)h(resumed.)48 b(This)32 b(is)h(b)s(ecause)g(resumed) +f(sessions)390 1775 y(ha)m(v)m(e)g(the)e(same)h(sessionID)g(with)f(the) +g(original)i(session.)390 1909 y(Session)j(id)f(is)h(some)g(data)h(set) +f(b)m(y)g(the)g(serv)m(er,)i(that)e(iden)m(tify)h(the)f(curren)m(t)f +(session.)55 b(In)34 b(TLS)390 2019 y(1.0)d(and)f(SSL)f(3.0)j(session)e +(id)g(is)h(alw)m(a)m(ys)h(less)e(than)h(32)g(b)m(ytes.)390 +2152 y Fn(Returns:)46 b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 3749 y(returned.)150 3964 y Fu(gn)m(utls)p 483 3964 -37 5 v 55 w(session)p 901 3964 V 55 w(get)p 1121 3964 -V 55 w(master)p 1540 3964 V 54 w(secret)3350 4176 y FB([F)-8 +390 2262 y(returned.)150 2460 y Fv(gn)m(utls)p 483 2460 +37 5 v 55 w(session)p 901 2460 V 55 w(get)p 1121 2460 +V 55 w(master)p 1540 2460 V 54 w(secret)3350 2655 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(void)f(*)g(gnutls_session_get_mas)q -(ter)q(_sec)q(ret)565 4285 y Fg(\()p Ff(gn)m(utls)p 846 -4285 28 4 v 41 w(session)p 1156 4285 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 4395 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 4544 y(Return)33 +(ter)q(_sec)q(ret)565 2765 y Fg(\()p Ff(gn)m(utls)p 846 +2765 28 4 v 41 w(session)p 1156 2765 V 40 w(t)31 b Fe(session)12 +b Fg(\))390 2874 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 3008 y(Return)33 b(a)i(p)s(oin)m(ter)f(to)h(the)f(48-b)m(yte)i(master)e(secret)h(in)f (the)g(session.)52 b(The)34 b(p)s(oin)m(ter)g(m)m(ust)g(not)390 -4654 y(b)s(e)c(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 -4804 y(If)i(a)h(master)f(secret)i(v)-5 b(alue)32 b(has)g(not)h(y)m(et)h +3118 y(b)s(e)c(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 +3251 y(If)i(a)h(master)f(secret)i(v)-5 b(alue)32 b(has)g(not)h(y)m(et)h (b)s(een)d(established,)j(the)e(output)g(will)h(b)s(e)e(garbage;)k(in) -390 4913 y(particular,)c(a)g Fs(NULL)e FB(return)g(v)-5 -b(alue)31 b(should)e(not)i(b)s(e)f(exp)s(ected.)390 5063 -y(Consider)g(using)g Fs(gnutls_prf\(\))d FB(rather)k(than)f(extracting) -i(the)f(master)g(secret)h(and)e(use)g(it)h(to)390 5173 -y(deriv)m(e)g(further)e(data.)390 5322 y Fn(Returns:)40 -b FB(p)s(oin)m(ter)31 b(to)g(master)g(secret)g(data.)p -eop end -%%Page: 171 177 -TeXDict begin 171 176 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(171)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(session)p 901 299 -V 55 w(get)p 1121 299 V 55 w(ptr)3350 522 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(*)e(gnutls_session_get_ptr)g -Fg(\()p Ff(gn)m(utls)p 1993 522 28 4 v 41 w(session)p -2303 522 V 40 w(t)31 b Fe(session)12 b Fg(\))390 632 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 793 y(Get)h(user)f(p)s(oin)m(ter)g(for)g(session.) +390 3361 y(particular,)c(a)g Ft(NULL)e FB(return)g(v)-5 +b(alue)31 b(should)e(not)i(b)s(e)f(exp)s(ected.)390 3495 +y(Consider)g(using)g Ft(gnutls_prf\(\))d FB(rather)k(than)f(extracting) +i(the)f(master)g(secret)h(and)e(use)g(it)h(to)390 3604 +y(deriv)m(e)g(further)e(data.)390 3738 y Fn(Returns:)40 +b FB(p)s(oin)m(ter)31 b(to)g(master)g(secret)g(data.)150 +3936 y Fv(gn)m(utls)p 483 3936 37 5 v 55 w(session)p +901 3936 V 55 w(get)p 1121 3936 V 55 w(ptr)3350 4131 +y FB([F)-8 b(unction])-3599 b Fh(void)54 b(*)e(gnutls_session_get_ptr)g +Fg(\()p Ff(gn)m(utls)p 1993 4131 28 4 v 41 w(session)p +2303 4131 V 40 w(t)31 b Fe(session)12 b Fg(\))390 4241 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 4375 y(Get)h(user)f(p)s(oin)m(ter)g(for)g(session.) 39 b(Useful)26 b(in)g(callbac)m(ks.)41 b(This)26 b(is)g(the)g(p)s(oin)m -(ter)g(set)h(with)f Fs(gnutls_)390 903 y(session_set_ptr\(\))p -FB(.)390 1064 y Fn(Returns:)52 b FB(the)37 b(user)f(giv)m(en)h(p)s(oin) -m(ter)f(from)g(the)h(session)f(structure,)i(or)e Fs(NULL)g -FB(if)g(it)h(w)m(as)g(nev)m(er)390 1174 y(set.)150 1400 -y Fu(gn)m(utls)p 483 1400 37 5 v 55 w(session)p 901 1400 -V 55 w(get)p 1121 1400 V 55 w(serv)m(er)p 1498 1400 V -54 w(random)3350 1623 y FB([F)-8 b(unction])-3599 b Fh(const)54 +(ter)g(set)h(with)f Ft(gnutls_)390 4484 y(session_set_ptr\(\))p +FB(.)390 4618 y Fn(Returns:)52 b FB(the)37 b(user)f(giv)m(en)h(p)s(oin) +m(ter)f(from)g(the)h(session)f(structure,)i(or)e Ft(NULL)g +FB(if)g(it)h(w)m(as)g(nev)m(er)390 4728 y(set.)150 4925 +y Fv(gn)m(utls)p 483 4925 37 5 v 55 w(session)p 901 4925 +V 55 w(get)p 1121 4925 V 55 w(serv)m(er)p 1498 4925 V +54 w(random)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(void)f(*)g(gnutls_session_get_ser)q(ver)q(_ran)q(dom)565 -1733 y Fg(\()p Ff(gn)m(utls)p 846 1733 28 4 v 41 w(session)p -1156 1733 V 40 w(t)31 b Fe(session)12 b Fg(\))390 1842 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 2004 y(Return)k(a)g(p)s(oin)m(ter)h(to)g(the)g -(32-b)m(yte)h(serv)m(er)f(random)e(\014eld)h(used)g(in)g(the)h -(session.)41 b(The)30 b(p)s(oin)m(ter)390 2113 y(m)m(ust)g(not)h(b)s(e) -f(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 2274 y(If)f(a)h(serv)m(er)g -(random)f(v)-5 b(alue)31 b(has)e(not)h(y)m(et)h(b)s(een)e(established,) -h(the)g(output)g(will)g(b)s(e)f(garbage;)i(in)390 2384 -y(particular,)g(a)g Fs(NULL)e FB(return)g(v)-5 b(alue)31 -b(should)e(not)i(b)s(e)f(exp)s(ected.)390 2545 y Fn(Returns:)40 -b FB(p)s(oin)m(ter)31 b(to)g(serv)m(er)g(random)e(data.)150 -2771 y Fu(gn)m(utls)p 483 2771 37 5 v 55 w(session)p -901 2771 V 55 w(is)p 1038 2771 V 55 w(resumed)3350 2995 +5230 y Fg(\()p Ff(gn)m(utls)p 846 5230 28 4 v 41 w(session)p +1156 5230 V 40 w(t)31 b Fe(session)12 b Fg(\))390 5340 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)p eop end +%%Page: 168 174 +TeXDict begin 168 173 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(168)390 299 y(Return)30 +b(a)g(p)s(oin)m(ter)h(to)g(the)g(32-b)m(yte)h(serv)m(er)f(random)e +(\014eld)h(used)g(in)g(the)h(session.)41 b(The)30 b(p)s(oin)m(ter)390 +408 y(m)m(ust)g(not)h(b)s(e)f(mo)s(di\014ed)f(or)h(deallo)s(cated.)390 +541 y(If)f(a)h(serv)m(er)g(random)f(v)-5 b(alue)31 b(has)e(not)h(y)m +(et)h(b)s(een)e(established,)h(the)g(output)g(will)g(b)s(e)f(garbage;)i +(in)390 650 y(particular,)g(a)g Ft(NULL)e FB(return)g(v)-5 +b(alue)31 b(should)e(not)i(b)s(e)f(exp)s(ected.)390 782 +y Fn(Returns:)40 b FB(p)s(oin)m(ter)31 b(to)g(serv)m(er)g(random)e +(data.)150 977 y Fv(gn)m(utls)p 483 977 37 5 v 55 w(session)p +901 977 V 55 w(is)p 1038 977 V 55 w(resumed)3350 1169 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_session_is_res)q(umed) -f Fg(\()p Ff(gn)m(utls)p 1993 2995 28 4 v 41 w(session)p -2303 2995 V 40 w(t)31 b Fe(session)12 b Fg(\))390 3104 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 3266 y(Chec)m(k)31 b(whether)e(session)i(is)f -(resumed)g(or)g(not.)390 3427 y Fn(Returns:)40 b FB(non)30 +f Fg(\()p Ff(gn)m(utls)p 1993 1169 28 4 v 41 w(session)p +2303 1169 V 40 w(t)31 b Fe(session)12 b Fg(\))390 1279 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 1411 y(Chec)m(k)31 b(whether)e(session)i(is)f +(resumed)g(or)g(not.)390 1543 y Fn(Returns:)40 b FB(non)30 b(zero)h(if)g(this)f(session)g(is)h(resumed,)e(or)i(a)g(zero)g(if)f -(this)g(is)h(a)g(new)e(session.)150 3653 y Fu(gn)m(utls)p -483 3653 37 5 v 55 w(session)p 901 3653 V 55 w(set)p -1108 3653 V 55 w(data)3350 3876 y FB([F)-8 b(unction])-3599 +(this)g(is)h(a)g(new)e(session.)150 1738 y Fv(gn)m(utls)p +483 1738 37 5 v 55 w(session)p 901 1738 V 55 w(set)p +1108 1738 V 55 w(data)3350 1930 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_session_set_da)q(ta)f Fg(\()p Ff(gn)m(utls)p -1889 3876 28 4 v 40 w(session)p 2198 3876 V 41 w(t)30 -b Fe(session)12 b Ff(,)32 b(const)f(v)m(oid)565 3986 -y(*)g Fe(session_data)12 b Ff(,)34 b(size)p 1483 3986 -V 41 w(t)c Fe(session_data_size)12 b Fg(\))390 4095 y -Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4257 y Ff(session)p 665 4257 V 40 -w(data)p FB(:)42 b(is)30 b(a)h(p)s(oin)m(ter)f(to)h(space)g(to)g(hold)f -(the)h(session.)390 4418 y Ff(session)p 665 4418 V 40 -w(data)p 881 4418 V 41 w(size)5 b FB(:)42 b(is)30 b(the)h(session's)f -(size)390 4579 y(Sets)h(all)i(session)e(parameters,)h(in)f(order)g(to)h -(resume)f(a)h(previously)f(established)h(session.)43 -b(The)390 4689 y(session)32 b(data)g(giv)m(en)g(m)m(ust)f(b)s(e)g(the)h -(one)f(returned)g(b)m(y)g Fs(gnutls_session_get_data\()o(\))p -FB(.)38 b(This)390 4798 y(function)30 b(should)f(b)s(e)h(called)i(b)s -(efore)e Fs(gnutls_handshake\(\))p FB(.)390 4960 y(Keep)25 +1889 1930 28 4 v 40 w(session)p 2198 1930 V 41 w(t)30 +b Fe(session)p Ff(,)j(const)e(v)m(oid)g(*)565 2039 y +Fe(session_data)p Ff(,)j(size)p 1395 2039 V 41 w(t)d +Fe(session_data_size)12 b Fg(\))390 2149 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2281 y Ff(session)p 665 2281 V 40 w(data)p FB(:)42 b(is)30 +b(a)h(p)s(oin)m(ter)f(to)h(space)g(to)g(hold)f(the)h(session.)390 +2413 y Ff(session)p 665 2413 V 40 w(data)p 881 2413 V +41 w(size)5 b FB(:)42 b(is)30 b(the)h(session's)f(size)390 +2545 y(Sets)h(all)i(session)e(parameters,)h(in)f(order)g(to)h(resume)f +(a)h(previously)f(established)h(session.)43 b(The)390 +2655 y(session)32 b(data)g(giv)m(en)g(m)m(ust)f(b)s(e)g(the)h(one)f +(returned)g(b)m(y)g Ft(gnutls_session_get_data\()o(\))p +FB(.)38 b(This)390 2765 y(function)30 b(should)f(b)s(e)h(called)i(b)s +(efore)e Ft(gnutls_handshake\(\))p FB(.)390 2897 y(Keep)25 b(in)g(mind)g(that)g(session)h(resuming)e(is)i(advisory)-8 b(.)39 b(The)25 b(serv)m(er)h(ma)m(y)g(c)m(ho)s(ose)g(not)f(to)h -(resume)390 5069 y(the)31 b(session,)f(th)m(us)g(a)h(full)f(handshak)m -(e)g(will)h(b)s(e)f(p)s(erformed.)390 5230 y Fn(Returns:)46 -b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 +(resume)390 3006 y(the)31 b(session,)f(th)m(us)g(a)h(full)f(handshak)m +(e)g(will)h(b)s(e)f(p)s(erformed.)390 3139 y Fn(Returns:)46 +b FB(On)32 b(success,)i Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is)390 -5340 y(returned.)p eop end -%%Page: 172 178 -TeXDict begin 172 177 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(172)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(session)p 901 299 -V 55 w(set)p 1108 299 V 55 w(\014nished)p 1573 299 V -55 w(function)3350 491 y FB([F)-8 b(unction])-3599 b -Fh(void)54 b(gnutls_session_set_finis)q(hed)q(_fu)q(nct)q(ion)e -Fg(\()p Ff(gn)m(utls)p 2621 491 28 4 v 41 w(session)p -2931 491 V 40 w(t)565 600 y Fe(session)12 b Ff(,)32 b(gn)m(utls)p -1244 600 V 41 w(\014nished)p 1590 600 V 38 w(callbac)m(k)p -1944 600 V 42 w(func)e Fe(func)12 b Fg(\))390 710 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -842 y Ff(func)6 b FB(:)39 b(a)31 b Fs(gnutls_finished_callback_)o(fun)o -(c)24 b FB(callbac)m(k.)390 974 y(Register)33 b(a)g(callbac)m(k)h -(function)e(for)g(the)g(session)h(that)f(will)h(b)s(e)e(called)j(when)d -(a)h(TLS)f(Finished)390 1084 y(message)38 b(has)e(b)s(een)f(generated.) -60 b(The)36 b(function)g(is)h(t)m(ypically)h(used)e(to)h(cop)m(y)g(a)m -(w)m(a)m(y)h(the)f(TLS)390 1193 y(\014nished)29 b(message)i(for)f -(later)i(use)e(as)h(a)f(c)m(hannel)h(binding)e(or)i(similar)f(purp)s -(ose.)390 1325 y Fn(The)35 b(callbac)m(k)i(should)d(follo)m(w)i(this)f -(protot)m(yp)s(e:)51 b FB(v)m(oid)35 b(callbac)m(k)i(\(gn)m(utls)p -2976 1325 V 41 w(session)p 3286 1325 V 40 w(t)f Fs(session)p -FB(,)390 1435 y(const)31 b(v)m(oid)g(*)p Fs(finished)p -FB(,)e(size)p 1455 1435 V 41 w(t)h Fs(len)p FB(\);)390 -1567 y(The)f Fs(finished)e FB(parameter)j(will)f(con)m(tain)i(the)f -(binary)e(TLS)h(\014nished)e(message,)k(and)e Fs(len)g -FB(will)390 1677 y(con)m(tains)d(its)g(length.)40 b(F)-8 -b(or)26 b(SSLv3)e(connections,)k(the)d Fs(len)f FB(parameter)i(will)g -(b)s(e)e(36)i(and)f(for)g(TLS)390 1786 y(connections)31 -b(it)g(will)g(b)s(e)f(12.)390 1918 y(It)i(is)g(recommended)f(that)h -(the)g(function)g(returns)e(quic)m(kly)j(in)e(order)h(to)g(not)g(dela)m -(y)h(the)f(hand-)390 2028 y(shak)m(e.)41 b(Use)31 b(the)g(function)f -(to)h(store)g(a)g(cop)m(y)g(of)f(the)h(TLS)e(\014nished)g(message)i -(for)g(later)g(use.)390 2160 y Fn(Since:)41 b FB(2.6.0)150 -2355 y Fu(gn)m(utls)p 483 2355 37 5 v 55 w(session)p -901 2355 V 55 w(set)p 1108 2355 V 55 w(ptr)3350 2547 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_session_set_ptr)e -Fg(\()p Ff(gn)m(utls)p 1889 2547 28 4 v 40 w(session)p -2198 2547 V 41 w(t)28 b Fe(session)12 b Ff(,)31 b(v)m(oid)e(*)g -Fe(ptr)12 b Fg(\))390 2656 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 2788 -y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(user)e(p)s(oin)m(ter)390 -2920 y(This)h(function)g(will)h(set)h(\(asso)s(ciate\))h(the)e(user)f -(giv)m(en)h(p)s(oin)m(ter)g Fs(ptr)f FB(to)h(the)g(session)g -(structure.)390 3030 y(This)f(is)g(p)s(oin)m(ter)g(can)h(b)s(e)f -(accessed)h(with)f Fs(gnutls_session_get_ptr\(\))p FB(.)150 -3224 y Fu(gn)m(utls)p 483 3224 37 5 v 55 w(set)p 690 -3224 V 54 w(default)p 1115 3224 V 54 w(exp)s(ort)p 1520 -3224 V 55 w(priorit)m(y)3350 3416 y FB([F)-8 b(unction])-3599 +3248 y(returned.)150 3443 y Fv(gn)m(utls)p 483 3443 37 +5 v 55 w(session)p 901 3443 V 55 w(set)p 1108 3443 V +55 w(ptr)3350 3635 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(gnutls_session_set_ptr)e Fg(\()p Ff(gn)m(utls)p 1889 +3635 28 4 v 40 w(session)p 2198 3635 V 41 w(t)30 b Fe(session)p +Ff(,)j(v)m(oid)e(*)g Fe(ptr)12 b Fg(\))390 3744 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3877 y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(user)e(p)s(oin)m(ter)390 +4009 y(This)h(function)g(will)h(set)h(\(asso)s(ciate\))h(the)e(user)f +(giv)m(en)h(p)s(oin)m(ter)g Ft(ptr)f FB(to)h(the)g(session)g +(structure.)390 4118 y(This)f(is)g(p)s(oin)m(ter)g(can)h(b)s(e)f +(accessed)h(with)f Ft(gnutls_session_get_ptr\(\))p FB(.)150 +4313 y Fv(gn)m(utls)p 483 4313 37 5 v 55 w(set)p 690 +4313 V 54 w(default)p 1115 4313 V 54 w(exp)s(ort)p 1520 +4313 V 55 w(priorit)m(y)3350 4505 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_set_default_ex)q(port)q(_pr)q(ior)q(ity)f -Fg(\()p Ff(gn)m(utls)p 2464 3416 28 4 v 41 w(session)p -2774 3416 V 40 w(t)565 3526 y Fe(session)12 b Fg(\))390 -3636 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 3768 y(Sets)j(some)h(default)f(priorit)m(y)g(on)g +Fg(\()p Ff(gn)m(utls)p 2464 4505 28 4 v 41 w(session)p +2774 4505 V 40 w(t)565 4615 y Fe(session)12 b Fg(\))390 +4724 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 4856 y(Sets)j(some)h(default)f(priorit)m(y)g(on)g (the)g(ciphers,)h(k)m(ey)f(exc)m(hange)i(metho)s(ds,)e(macs)g(and)g -(compres-)390 3877 y(sion)h(metho)s(ds.)40 b(This)30 +(compres-)390 4966 y(sion)h(metho)s(ds.)40 b(This)30 b(function)g(also)h(includes)f(w)m(eak)i(algorithms.)390 -4009 y Fn(This)e(is)g(the)h(same)g(as)f(calling:)42 b -FB(gn)m(utls)p 1752 4009 V 40 w(priorit)m(y)p 2090 4009 -V 41 w(set)p 2242 4009 V 41 w(direct)30 b(\(session,)h -Fs(")p FB(EXPOR)-8 b(T)p Fs(")p FB(,)30 b(NULL\);)390 -4141 y(This)d(function)h(is)f(k)m(ept)i(around)e(for)g(bac)m(kw)m(ards) +5098 y Fn(This)e(is)g(the)h(same)g(as)f(calling:)42 b +FB(gn)m(utls)p 1752 5098 V 40 w(priorit)m(y)p 2090 5098 +V 41 w(set)p 2242 5098 V 41 w(direct)30 b(\(session,)h +Ft(")p FB(EXPOR)-8 b(T)p Ft(")p FB(,)30 b(NULL\);)390 +5230 y(This)d(function)h(is)f(k)m(ept)i(around)e(for)g(bac)m(kw)m(ards) h(compatibilit)m(y)-8 b(,)32 b(but)27 b(b)s(ecause)g(of)h(its)h(wide)e -(use)390 4251 y(it)34 b(is)f(still)h(fully)f(supp)s(orted.)47 +(use)390 5340 y(it)34 b(is)f(still)h(fully)f(supp)s(orted.)47 b(If)32 b(y)m(ou)i(wish)e(to)i(allo)m(w)h(users)d(to)i(pro)m(vide)f(a)h -(string)f(that)g(sp)s(ecify)390 4361 y(whic)m(h)23 b(ciphers)f(to)i -(use)f(\(whic)m(h)g(is)g(recommended\),)h(y)m(ou)g(should)e(use)g -Fs(gnutls_priority_set_)390 4470 y(direct\(\))28 b FB(or)i -Fs(gnutls_priority_set\(\))25 b FB(instead.)390 4602 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 4797 y Fu(gn)m(utls)p -483 4797 37 5 v 55 w(set)p 690 4797 V 54 w(default)p -1115 4797 V 54 w(priorit)m(y)3350 4989 y FB([F)-8 b(unction])-3599 +(string)f(that)g(sp)s(ecify)p eop end +%%Page: 169 175 +TeXDict begin 169 174 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(169)390 299 y(whic)m(h)23 +b(ciphers)f(to)i(use)f(\(whic)m(h)g(is)g(recommended\),)h(y)m(ou)g +(should)e(use)g Ft(gnutls_priority_set_)390 408 y(direct\(\))28 +b FB(or)i Ft(gnutls_priority_set\(\))25 b FB(instead.)390 +546 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 748 y Fv(gn)m(utls)p +483 748 37 5 v 55 w(set)p 690 748 V 54 w(default)p 1115 +748 V 54 w(priorit)m(y)3350 948 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_set_default_pr)q(iori)q(ty)f Fg(\()p -Ff(gn)m(utls)p 2098 4989 28 4 v 41 w(session)p 2408 4989 -V 40 w(t)30 b Fe(session)12 b Fg(\))390 5098 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -5230 y(Sets)j(some)h(default)f(priorit)m(y)g(on)g(the)g(ciphers,)h(k)m +Ff(gn)m(utls)p 2098 948 28 4 v 41 w(session)p 2408 948 +V 40 w(t)30 b Fe(session)12 b Fg(\))390 1058 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1195 y(Sets)j(some)h(default)f(priorit)m(y)g(on)g(the)g(ciphers,)h(k)m (ey)f(exc)m(hange)i(metho)s(ds,)e(macs)g(and)g(compres-)390 -5340 y(sion)h(metho)s(ds.)p eop end -%%Page: 173 179 -TeXDict begin 173 178 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(173)390 299 y -Fn(This)28 b(is)f(the)i(same)f(as)g(calling:)40 b FB(gn)m(utls)p -1738 299 28 4 v 41 w(priorit)m(y)p 2077 299 V 40 w(set)p -2228 299 V 41 w(direct)28 b(\(session,)h Fs(")p FB(NORMAL)p -Fs(")p FB(,)f(NULL\);)390 427 y(This)f(function)h(is)f(k)m(ept)i -(around)e(for)g(bac)m(kw)m(ards)h(compatibilit)m(y)-8 +1305 y(sion)h(metho)s(ds.)390 1443 y Fn(This)e(is)f(the)i(same)f(as)g +(calling:)40 b FB(gn)m(utls)p 1738 1443 V 41 w(priorit)m(y)p +2077 1443 V 40 w(set)p 2228 1443 V 41 w(direct)28 b(\(session,)h +Ft(")p FB(NORMAL)p Ft(")p FB(,)f(NULL\);)390 1580 y(This)f(function)h +(is)f(k)m(ept)i(around)e(for)g(bac)m(kw)m(ards)h(compatibilit)m(y)-8 b(,)32 b(but)27 b(b)s(ecause)g(of)h(its)h(wide)e(use)390 -536 y(it)34 b(is)f(still)h(fully)f(supp)s(orted.)47 b(If)32 -b(y)m(ou)i(wish)e(to)i(allo)m(w)h(users)d(to)i(pro)m(vide)f(a)h(string) -f(that)g(sp)s(ecify)390 646 y(whic)m(h)23 b(ciphers)f(to)i(use)f -(\(whic)m(h)g(is)g(recommended\),)h(y)m(ou)g(should)e(use)g -Fs(gnutls_priority_set_)390 756 y(direct\(\))28 b FB(or)i -Fs(gnutls_priority_set\(\))25 b FB(instead.)390 884 y -Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h -(an)f(error)g(co)s(de.)150 1070 y Fu(gn)m(utls)p 483 -1070 37 5 v 55 w(sign)p 749 1070 V 55 w(algorithm)p 1322 -1070 V 54 w(get)p 1541 1070 V 55 w(name)3350 1253 y FB([F)-8 -b(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_sign_algorithm_)q -(get)q(_nam)q(e)565 1363 y Fg(\()p Ff(gn)m(utls)p 846 -1363 28 4 v 41 w(sign)p 1044 1363 V 40 w(algorithm)p -1467 1363 V 41 w(t)31 b Fe(sign)12 b Fg(\))390 1472 y -Ff(sign)p FB(:)41 b(is)30 b(a)h(sign)f(algorithm)390 -1600 y(Con)m(v)m(ert)h(a)g Fs(gnutls_sign_algorithm_t)24 -b FB(v)-5 b(alue)31 b(to)g(a)g(string.)390 1728 y Fn(Returns:)40 -b FB(a)31 b(string)f(that)h(con)m(tains)h(the)f(name)f(of)h(the)f(sp)s -(eci\014ed)g(sign)g(algorithm,)i(or)e Fs(NULL)p FB(.)150 -1914 y Fu(gn)m(utls)p 483 1914 37 5 v 55 w(sign)p 749 -1914 V 55 w(callbac)m(k)p 1232 1914 V 52 w(get)3350 2098 -y FB([F)-8 b(unction])-3599 b Fh(gnutls_sign_func)57 -b(gnutls_sign_callback_)q(get)52 b Fg(\()p Ff(gn)m(utls)p -2621 2098 28 4 v 41 w(session)p 2931 2098 V 40 w(t)565 -2208 y Fe(session)12 b Ff(,)32 b(v)m(oid)f(**)h Fe(userdata)12 -b Fg(\))390 2317 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 2445 y Ff(userdata)p FB(:)41 b(if)30 b(non-)p -Fs(NULL)p FB(,)f(will)i(b)s(e)f(set)h(to)g(abstract)g(callbac)m(k)i(p)s -(oin)m(ter.)390 2573 y(Retriev)m(e)f(the)f(callbac)m(k)h(function,)e -(and)g(its)h(userdata)f(p)s(oin)m(ter.)390 2701 y Fn(Returns:)51 +1690 y(it)34 b(is)f(still)h(fully)f(supp)s(orted.)47 +b(If)32 b(y)m(ou)i(wish)e(to)i(allo)m(w)h(users)d(to)i(pro)m(vide)f(a)h +(string)f(that)g(sp)s(ecify)390 1799 y(whic)m(h)23 b(ciphers)f(to)i +(use)f(\(whic)m(h)g(is)g(recommended\),)h(y)m(ou)g(should)e(use)g +Ft(gnutls_priority_set_)390 1909 y(direct\(\))28 b FB(or)i +Ft(gnutls_priority_set\(\))25 b FB(instead.)390 2046 +y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 2249 y Fv(gn)m(utls)p +483 2249 37 5 v 55 w(sign)p 749 2249 V 55 w(algorithm)p +1322 2249 V 54 w(get)p 1541 2249 V 55 w(name)3350 2449 +y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_sign_algorithm_)q(get)q(_nam)q(e)565 2558 y Fg(\()p +Ff(gn)m(utls)p 846 2558 28 4 v 41 w(sign)p 1044 2558 +V 40 w(algorithm)p 1467 2558 V 41 w(t)31 b Fe(sign)12 +b Fg(\))390 2668 y FB(Con)m(v)m(ert)31 b(a)g Ft +(gnutls_sign_algorithm_t)24 b FB(v)-5 b(alue)31 b(to)g(a)g(string.)390 +2805 y Fn(Returns:)40 b FB(a)31 b(string)f(that)h(con)m(tains)h(the)f +(name)f(of)h(the)f(sp)s(eci\014ed)g(sign)g(algorithm,)i(or)e +Ft(NULL)p FB(.)150 3008 y Fv(gn)m(utls)p 483 3008 37 +5 v 55 w(sign)p 749 3008 V 55 w(callbac)m(k)p 1232 3008 +V 52 w(get)3350 3208 y FB([F)-8 b(unction])-3599 b Fh(gnutls_sign_func) +57 b(gnutls_sign_callback_)q(get)52 b Fg(\()p Ff(gn)m(utls)p +2621 3208 28 4 v 41 w(session)p 2931 3208 V 40 w(t)565 +3317 y Fe(session)p Ff(,)33 b(v)m(oid)e(**)g Fe(userdata)12 +b Fg(\))390 3427 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g +(session)390 3564 y Ff(userdata)p FB(:)41 b(if)30 b(non-)p +Ft(NULL)p FB(,)f(will)i(b)s(e)f(set)h(to)g(abstract)g(callbac)m(k)i(p)s +(oin)m(ter.)390 3702 y(Retriev)m(e)f(the)f(callbac)m(k)h(function,)e +(and)g(its)h(userdata)f(p)s(oin)m(ter.)390 3840 y Fn(Returns:)51 b FB(The)35 b(function)g(p)s(oin)m(ter)g(set)h(b)m(y)g -Fs(gnutls_sign_callback_se)o(t\(\))p FB(,)30 b(or)36 -b(if)f(not)h(set,)390 2811 y Fs(NULL)p FB(.)150 2997 -y Fu(gn)m(utls)p 483 2997 37 5 v 55 w(sign)p 749 2997 -V 55 w(callbac)m(k)p 1232 2997 V 52 w(set)3350 3180 y +Ft(gnutls_sign_callback_se)o(t\(\))p FB(,)30 b(or)36 +b(if)f(not)h(set,)390 3949 y Ft(NULL)p FB(.)150 4151 +y Fv(gn)m(utls)p 483 4151 37 5 v 55 w(sign)p 749 4151 +V 55 w(callbac)m(k)p 1232 4151 V 52 w(set)3350 4351 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_sign_callback_set)e -Fg(\()p Ff(gn)m(utls)p 1993 3180 28 4 v 41 w(session)p -2303 3180 V 40 w(t)31 b Fe(session)12 b Ff(,)565 3290 -y(gn)m(utls)p 811 3290 V 41 w(sign)p 1009 3290 V 40 w(func)29 -b Fe(sign_func)12 b Ff(,)33 b(v)m(oid)e(*)g Fe(userdata)12 -b Fg(\))390 3400 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 3527 y Ff(sign)p 553 3527 V 40 w(func)6 -b FB(:)39 b(function)30 b(p)s(oin)m(ter)h(to)g(application's)h(sign)e -(callbac)m(k.)390 3655 y Ff(userdata)p FB(:)41 b(v)m(oid)31 -b(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(passed)f(to)j(sign)e(callbac)m -(k.)390 3783 y(Set)h(the)f(callbac)m(k)j(function.)40 -b(The)30 b(function)g(m)m(ust)g(ha)m(v)m(e)i(this)e(protot)m(yp)s(e:) -390 3911 y(t)m(yp)s(edef)107 b(in)m(t)i(\(*gn)m(utls)p -1333 3911 V 41 w(sign)p 1531 3911 V 40 w(func\))e(\(gn)m(utls)p -2158 3911 V 41 w(session)p 2468 3911 V 40 w(t)h(session,)127 -b(v)m(oid)108 b(*userdata,)390 4021 y(gn)m(utls)p 636 -4021 V 40 w(certi\014cate)p 1063 4021 V 43 w(t)m(yp)s(e)p -1280 4021 V 40 w(t)119 b(cert)p 1625 4021 V 41 w(t)m(yp)s(e,)142 -b(const)119 b(gn)m(utls)p 2573 4021 V 41 w(datum)p 2872 -4021 V 39 w(t)h(*)f(cert,)142 b(const)390 4130 y(gn)m(utls)p -636 4130 V 40 w(datum)p 934 4130 V 40 w(t)31 b(*)f(hash,)g(gn)m(utls)p -1593 4130 V 41 w(datum)p 1892 4130 V 39 w(t)h(*)g(signature\);)390 -4258 y(The)j Fs(userdata)e FB(parameter)j(is)f(passed)g(to)h(the)g -Fs(sign_func)d FB(v)m(erbatim,)k(and)e(can)h(b)s(e)f(used)f(to)390 -4368 y(store)23 b(application-sp)s(eci\014c)g(data)g(needed)e(in)h(the) -g(callbac)m(k)i(function.)38 b(See)22 b(also)h Fs(gnutls_sign_)390 -4478 y(callback_get\(\))p FB(.)150 4664 y Fu(gn)m(utls)p -483 4664 37 5 v 55 w(sign)p 749 4664 V 55 w(get)p 969 -4664 V 54 w(id)3350 4847 y FB([F)-8 b(unction])-3599 -b Fh(gnutls_sign_algorithm_)q(t)58 b(gnutls_sign_get_id)51 -b Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(name)12 b Fg(\))390 -4957 y Ff(name)5 b FB(:)41 b(is)30 b(a)h(MA)m(C)g(algorithm)g(name)390 -5085 y(The)f(names)g(are)h(compared)f(in)g(a)h(case)h(insensitiv)m(e)f -(w)m(a)m(y)-8 b(.)390 5213 y Fn(Returns:)55 b FB(return)37 -b(a)h Fs(gnutls_sign_algorithm_t)31 b FB(v)-5 b(alue)39 -b(corresp)s(onding)d(to)j(the)f(sp)s(eci\014ed)390 5322 -y(cipher,)30 b(or)h Fs(GNUTLS_SIGN_UNKNOWN)25 b FB(on)30 -b(error.)p eop end -%%Page: 174 180 -TeXDict begin 174 179 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(174)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(sign)p 749 299 V 55 -w(get)p 969 299 V 54 w(name)3350 486 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_sign_get_name)e Fg(\()p -Ff(gn)m(utls)p 2202 486 28 4 v 41 w(sign)p 2400 486 V -40 w(algorithm)p 2823 486 V 41 w(t)565 596 y Fe(algorithm)12 -b Fg(\))390 705 y Ff(algorithm)p FB(:)42 b(is)30 b(a)h(public)f(k)m(ey) -h(signature)f(algorithm)390 835 y(Con)m(v)m(ert)h(a)g -Fs(gnutls_sign_algorithm_t)24 b FB(v)-5 b(alue)31 b(to)g(a)g(string.) -390 964 y Fn(Returns:)61 b FB(a)40 b(p)s(oin)m(ter)h(to)g(a)g(string)f -(that)h(con)m(tains)h(the)f(name)f(of)h(the)g(sp)s(eci\014ed)e(public)h -(k)m(ey)390 1074 y(signature)31 b(algorithm,)g(or)g Fs(NULL)p -FB(.)390 1204 y Fn(Since:)41 b FB(2.6.0)150 1393 y Fu(gn)m(utls)p -483 1393 37 5 v 55 w(sign)p 749 1393 V 55 w(list)3350 -1580 y FB([F)-8 b(unction])-3599 b Fh(const)54 b -(gnutls_sign_algorithm_t)59 b(*)53 b(gnutls_sign_list)d -Fg(\()31 b Fe(void)12 b Fg(\))390 1690 y FB(Get)31 b(a)g(list)g(of)g -(supp)s(orted)d(public)i(k)m(ey)h(signature)g(algorithms.)390 -1820 y Fn(Returns:)38 b FB(a)27 b(zero-terminated)h(list)e(of)h -Fs(gnutls_sign_algorithm_t)19 b FB(in)m(tegers)28 b(indicating)f(the) -390 1929 y(a)m(v)-5 b(ailable)33 b(ciphers.)150 2119 -y Fu(gn)m(utls)p 483 2119 V 55 w(srp)p 704 2119 V 54 -w(allo)s(cate)p 1169 2119 V 54 w(clien)m(t)p 1515 2119 -V 53 w(creden)m(tials)3350 2306 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_srp_allocate_c)q(lien)q(t_c)q(red)q(ent)q(ials)565 -2416 y Fg(\()p Ff(gn)m(utls)p 846 2416 28 4 v 41 w(srp)p -1010 2416 V 39 w(clien)m(t)p 1262 2416 V 41 w(creden)m(tials)p -1724 2416 V 42 w(t)31 b(*)f Fe(sc)12 b Fg(\))390 2525 -y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(a)g -Fs(gnutls_srp_server_creden)o(tia)o(ls_t)24 b FB(structure.)390 -2655 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f -(directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 -2764 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 -2894 y Fn(Returns:)40 b FB(On)30 b(success,)h Fs(GNUTLS_E_SUCCESS)26 -b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h(error)f(co)s(de.)150 -3084 y Fu(gn)m(utls)p 483 3084 37 5 v 55 w(srp)p 704 -3084 V 54 w(allo)s(cate)p 1169 3084 V 54 w(serv)m(er)p -1545 3084 V 54 w(creden)m(tials)3350 3271 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_srp_allocate_s)q(erve)q(r_c)q -(red)q(ent)q(ials)565 3380 y Fg(\()p Ff(gn)m(utls)p 846 -3380 28 4 v 41 w(srp)p 1010 3380 V 39 w(serv)m(er)p 1282 -3380 V 40 w(creden)m(tials)p 1743 3380 V 42 w(t)30 b(*)h -Fe(sc)12 b Fg(\))390 3490 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g(p)s(oin)m(ter)f(to)h(a)g Fs(gnutls_srp_server_creden)o(tia)o -(ls_t)24 b FB(structure.)390 3620 y(This)31 b(structure)g(is)h(complex) -g(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f -(function)g(is)390 3729 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i -(it.)390 3859 y Fn(Returns:)40 b FB(On)30 b(success,)h -Fs(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h -(error)f(co)s(de.)150 4049 y Fu(gn)m(utls)p 483 4049 -37 5 v 55 w(srp)p 704 4049 V 54 w(base64)p 1112 4049 -V 55 w(deco)s(de)p 1534 4049 V 55 w(allo)s(c)3350 4236 +Fg(\()p Ff(gn)m(utls)p 1993 4351 28 4 v 41 w(session)p +2303 4351 V 40 w(t)31 b Fe(session)p Ff(,)565 4461 y(gn)m(utls)p +811 4461 V 41 w(sign)p 1009 4461 V 40 w(func)e Fe(sign_func)p +Ff(,)k(v)m(oid)e(*)g Fe(userdata)12 b Fg(\))390 4570 +y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 +4708 y Ff(sign)p 553 4708 V 40 w(func)6 b FB(:)39 b(function)30 +b(p)s(oin)m(ter)h(to)g(application's)h(sign)e(callbac)m(k.)390 +4846 y Ff(userdata)p FB(:)41 b(v)m(oid)31 b(p)s(oin)m(ter)f(that)h +(will)g(b)s(e)f(passed)f(to)j(sign)e(callbac)m(k.)390 +4983 y(Set)h(the)f(callbac)m(k)j(function.)40 b(The)30 +b(function)g(m)m(ust)g(ha)m(v)m(e)i(this)e(protot)m(yp)s(e:)390 +5121 y(t)m(yp)s(edef)107 b(in)m(t)i(\(*gn)m(utls)p 1333 +5121 V 41 w(sign)p 1531 5121 V 40 w(func\))e(\(gn)m(utls)p +2158 5121 V 41 w(session)p 2468 5121 V 40 w(t)h(session,)127 +b(v)m(oid)108 b(*userdata,)390 5230 y(gn)m(utls)p 636 +5230 V 40 w(certi\014cate)p 1063 5230 V 43 w(t)m(yp)s(e)p +1280 5230 V 40 w(t)119 b(cert)p 1625 5230 V 41 w(t)m(yp)s(e,)142 +b(const)119 b(gn)m(utls)p 2573 5230 V 41 w(datum)p 2872 +5230 V 39 w(t)h(*)f(cert,)142 b(const)390 5340 y(gn)m(utls)p +636 5340 V 40 w(datum)p 934 5340 V 40 w(t)31 b(*)f(hash,)g(gn)m(utls)p +1593 5340 V 41 w(datum)p 1892 5340 V 39 w(t)h(*)g(signature\);)p +eop end +%%Page: 170 176 +TeXDict begin 170 175 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(170)390 299 y(The)34 +b Ft(userdata)e FB(parameter)j(is)f(passed)g(to)h(the)g +Ft(sign_func)d FB(v)m(erbatim,)k(and)e(can)h(b)s(e)f(used)f(to)390 +408 y(store)23 b(application-sp)s(eci\014c)g(data)g(needed)e(in)h(the)g +(callbac)m(k)i(function.)38 b(See)22 b(also)h Ft(gnutls_sign_)390 +518 y(callback_get\(\))p FB(.)150 720 y Fv(gn)m(utls)p +483 720 37 5 v 55 w(srp)p 704 720 V 54 w(allo)s(cate)p +1169 720 V 54 w(clien)m(t)p 1515 720 V 53 w(creden)m(tials)3350 +920 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_allocate_c)q +(lien)q(t_c)q(red)q(ent)q(ials)565 1030 y Fg(\()p Ff(gn)m(utls)p +846 1030 28 4 v 41 w(srp)p 1010 1030 V 39 w(clien)m(t)p +1262 1030 V 41 w(creden)m(tials)p 1724 1030 V 42 w(t)31 +b(*)f Fe(sc)12 b Fg(\))390 1139 y Ff(sc)6 b FB(:)40 b(is)31 +b(a)g(p)s(oin)m(ter)f(to)h(an)f Ft(gnutls_srp_server_credenti)o(als)o +(_t)24 b FB(structure.)390 1277 y(This)31 b(structure)g(is)h(complex)g +(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f +(function)g(is)390 1387 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i +(it.)390 1524 y Fn(Returns:)40 b FB(On)30 b(success,)h +Ft(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h +(error)f(co)s(de.)150 1727 y Fv(gn)m(utls)p 483 1727 +37 5 v 55 w(srp)p 704 1727 V 54 w(allo)s(cate)p 1169 +1727 V 54 w(serv)m(er)p 1545 1727 V 54 w(creden)m(tials)3350 +1926 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_allocate_s)q +(erve)q(r_c)q(red)q(ent)q(ials)565 2036 y Fg(\()p Ff(gn)m(utls)p +846 2036 28 4 v 41 w(srp)p 1010 2036 V 39 w(serv)m(er)p +1282 2036 V 40 w(creden)m(tials)p 1743 2036 V 42 w(t)30 +b(*)h Fe(sc)12 b Fg(\))390 2146 y Ff(sc)6 b FB(:)40 b(is)31 +b(a)g(p)s(oin)m(ter)f(to)h(an)f Ft(gnutls_srp_server_credenti)o(als)o +(_t)24 b FB(structure.)390 2283 y(This)31 b(structure)g(is)h(complex)g +(enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f +(function)g(is)390 2393 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i +(it.)390 2530 y Fn(Returns:)40 b FB(On)30 b(success,)h +Ft(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h +(error)f(co)s(de.)150 2733 y Fv(gn)m(utls)p 483 2733 +37 5 v 55 w(srp)p 704 2733 V 54 w(base64)p 1112 2733 +V 55 w(deco)s(de)p 1534 2733 V 55 w(allo)s(c)3350 2932 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_dec)q(ode_) -q(all)q(oc)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2493 4236 -28 4 v 40 w(datum)p 2791 4236 V 40 w(t)g(*)565 4345 y -Fe(b64_data)12 b Ff(,)33 b(gn)m(utls)p 1297 4345 V 40 -w(datum)p 1595 4345 V 40 w(t)d(*)h Fe(result)12 b Fg(\))390 -4455 y Ff(b64)p 537 4455 V 40 w(data)p FB(:)42 b(con)m(tains)31 -b(the)g(enco)s(ded)f(data)390 4584 y Ff(result)r FB(:)41 +q(all)q(oc)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2493 2932 +28 4 v 40 w(datum)p 2791 2932 V 40 w(t)g(*)565 3042 y +Fe(b64_data)p Ff(,)i(gn)m(utls)p 1285 3042 V 40 w(datum)p +1583 3042 V 40 w(t)e(*)f Fe(result)12 b Fg(\))390 3152 +y Ff(b64)p 537 3152 V 40 w(data)p FB(:)42 b(con)m(tains)31 +b(the)g(enco)s(ded)f(data)390 3289 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s(ded)h(data)h(lie)390 -4714 y(This)23 b(function)g(will)h(deco)s(de)f(the)h(giv)m(en)g(enco)s +3427 y(This)23 b(function)g(will)h(deco)s(de)f(the)h(giv)m(en)g(enco)s (ded)g(data.)39 b(The)23 b(deco)s(ded)g(data)h(will)g(b)s(e)f(allo)s -(cated,)390 4824 y(and)30 b(stored)g(in)m(to)i(result.)40 +(cated,)390 3536 y(and)30 b(stored)g(in)m(to)i(result.)40 b(It)31 b(will)f(deco)s(de)h(using)f(the)g(base64)i(algorithm)f(as)g -(used)e(in)h(libsrp.)390 4953 y(Y)-8 b(ou)31 b(should)e(use)h -Fs(gnutls_free\(\))d FB(to)k(free)g(the)f(returned)f(data.)390 -5083 y(W)-8 b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g -(the)h Fs(")p FB(standard)p Fs(")d FB(enco)s(ding,)j(so)f(do)g(not)g -(use)g(it)g(for)390 5193 y(non-SRP)d(purp)s(oses.)390 -5322 y Fn(Returns:)40 b FB(0)31 b(on)f(success,)h(or)g(an)f(error)g(co) -s(de.)p eop end -%%Page: 175 181 -TeXDict begin 175 180 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(175)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(srp)p 704 299 V 54 -w(base64)p 1112 299 V 55 w(deco)s(de)3350 503 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_dec)q(ode)f -Fg(\()p Ff(const)31 b(gn)m(utls)p 2179 503 28 4 v 41 -w(datum)p 2478 503 V 39 w(t)g(*)g Fe(b64_data)12 b Ff(,)565 -612 y(c)m(har)31 b(*)g Fe(result)12 b Ff(,)32 b(size)p -1369 612 V 40 w(t)f(*)g Fe(result_size)12 b Fg(\))390 -722 y Ff(b64)p 537 722 V 40 w(data)p FB(:)42 b(con)m(tain)32 -b(the)e(enco)s(ded)g(data)390 863 y Ff(result)r FB(:)41 +(used)e(in)h(libsrp.)390 3674 y(Y)-8 b(ou)31 b(should)e(use)h +Ft(gnutls_free\(\))d FB(to)k(free)g(the)f(returned)f(data.)390 +3812 y(W)-8 b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g +(the)h Ft(")p FB(standard)p Ft(")d FB(enco)s(ding,)j(so)f(do)g(not)g +(use)g(it)g(for)390 3921 y(non-SRP)d(purp)s(oses.)390 +4059 y Fn(Returns:)40 b FB(0)31 b(on)f(success,)h(or)g(an)f(error)g(co) +s(de.)150 4261 y Fv(gn)m(utls)p 483 4261 37 5 v 55 w(srp)p +704 4261 V 54 w(base64)p 1112 4261 V 55 w(deco)s(de)3350 +4461 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_dec)q +(ode)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2179 4461 28 +4 v 41 w(datum)p 2478 4461 V 39 w(t)g(*)g Fe(b64_data)p +Ff(,)565 4570 y(c)m(har)g(*)g Fe(result)p Ff(,)h(size)p +1357 4570 V 41 w(t)f(*)f Fe(result_size)12 b Fg(\))390 +4680 y Ff(b64)p 537 4680 V 40 w(data)p FB(:)42 b(con)m(tain)32 +b(the)e(enco)s(ded)g(data)390 4818 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(deco)s(ded)h(data)h(will)g(b)s(e)f(copied) -390 1005 y Ff(result)p 619 1005 V 40 w(size)5 b FB(:)42 -b(holds)30 b(the)g(size)h(of)g(the)f(result)390 1146 +390 4955 y Ff(result)p 619 4955 V 40 w(size)5 b FB(:)42 +b(holds)30 b(the)g(size)h(of)g(the)f(result)390 5093 y(This)k(function)g(will)h(deco)s(de)g(the)g(giv)m(en)h(enco)s(ded)e (data,)j(using)d(the)h(base64)h(enco)s(ding)e(found)390 -1256 y(in)c(libsrp.)390 1397 y(Note)i(that)f(b64)p 954 -1397 V 40 w(data)g(should)f(b)s(e)f(n)m(ull)i(terminated.)390 -1539 y(W)-8 b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g -(the)h Fs(")p FB(standard)p Fs(")d FB(enco)s(ding,)j(so)f(do)g(not)g -(use)g(it)g(for)390 1648 y(non-SRP)d(purp)s(oses.)390 -1790 y Fn(Returns:)40 b Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 -b FB(if)30 b(the)g(bu\013er)f(giv)m(en)i(is)g(not)f(long)h(enough,)f -(or)390 1900 y(0)h(on)f(success.)150 2106 y Fu(gn)m(utls)p -483 2106 37 5 v 55 w(srp)p 704 2106 V 54 w(base64)p 1112 -2106 V 55 w(enco)s(de)p 1534 2106 V 55 w(allo)s(c)3350 -2310 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_enc)q -(ode_)q(all)q(oc)f Fg(\()p Ff(const)31 b(gn)m(utls)p -2493 2310 28 4 v 40 w(datum)p 2791 2310 V 40 w(t)g(*)565 -2419 y Fe(data)12 b Ff(,)31 b(gn)m(utls)p 1087 2419 V -41 w(datum)p 1386 2419 V 39 w(t)g(*)g Fe(result)12 b -Fg(\))390 2529 y Ff(data)p FB(:)41 b(con)m(tains)32 b(the)f(ra)m(w)f -(data)390 2670 y Ff(result)r FB(:)41 b(will)30 b(hold)g(the)h(newly)f -(allo)s(cated)i(enco)s(ded)e(data)390 2812 y(This)22 -b(function)h(will)h(con)m(v)m(ert)h(the)e(giv)m(en)h(data)g(to)g(prin)m -(table)g(data,)h(using)e(the)g(base64)i(enco)s(ding.)390 -2921 y(This)42 b(is)i(the)f(enco)s(ding)g(used)f(in)h(SRP)g(passw)m -(ord)f(\014les.)79 b(This)43 b(function)g(will)g(allo)s(cate)j(the)390 -3031 y(required)30 b(memory)g(to)h(hold)f(the)h(enco)s(ded)f(data.)390 -3172 y(Y)-8 b(ou)31 b(should)e(use)h Fs(gnutls_free\(\))d -FB(to)k(free)g(the)f(returned)f(data.)390 3314 y(W)-8 +5202 y(in)c(libsrp.)390 5340 y(Note)i(that)f(b64)p 954 +5340 V 40 w(data)g(should)f(b)s(e)f(n)m(ull)i(terminated.)p +eop end +%%Page: 171 177 +TeXDict begin 171 176 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(171)390 299 y(W)-8 +b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g(the)h +Ft(")p FB(standard)p Ft(")d FB(enco)s(ding,)j(so)f(do)g(not)g(use)g(it) +g(for)390 408 y(non-SRP)d(purp)s(oses.)390 569 y Fn(Returns:)40 +b Ft(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(if)30 b(the)g(bu\013er)f +(giv)m(en)i(is)g(not)f(long)h(enough,)f(or)390 678 y(0)h(on)f(success.) +150 903 y Fv(gn)m(utls)p 483 903 37 5 v 55 w(srp)p 704 +903 V 54 w(base64)p 1112 903 V 55 w(enco)s(de)p 1534 +903 V 55 w(allo)s(c)3350 1126 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_srp_base64_enc)q(ode_)q(all)q(oc)f +Fg(\()p Ff(const)31 b(gn)m(utls)p 2493 1126 28 4 v 40 +w(datum)p 2791 1126 V 40 w(t)f(*)h Fe(data)p Ff(,)565 +1235 y(gn)m(utls)p 811 1235 V 41 w(datum)p 1110 1235 +V 39 w(t)g(*)g Fe(result)12 b Fg(\))390 1345 y Ff(data)p +FB(:)41 b(con)m(tains)32 b(the)f(ra)m(w)f(data)390 1505 +y Ff(result)r FB(:)41 b(will)30 b(hold)g(the)h(newly)f(allo)s(cated)i +(enco)s(ded)e(data)390 1665 y(This)22 b(function)h(will)h(con)m(v)m +(ert)h(the)e(giv)m(en)h(data)g(to)g(prin)m(table)g(data,)h(using)e(the) +g(base64)i(enco)s(ding.)390 1775 y(This)42 b(is)i(the)f(enco)s(ding)g +(used)f(in)h(SRP)g(passw)m(ord)f(\014les.)79 b(This)43 +b(function)g(will)g(allo)s(cate)j(the)390 1885 y(required)30 +b(memory)g(to)h(hold)f(the)h(enco)s(ded)f(data.)390 2045 +y(Y)-8 b(ou)31 b(should)e(use)h Ft(gnutls_free\(\))d +FB(to)k(free)g(the)f(returned)f(data.)390 2205 y(W)-8 b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g(the)h -Fs(")p FB(standard)p Fs(")d FB(enco)s(ding,)j(so)f(do)g(not)g(use)g(it) -g(for)390 3423 y(non-SRP)d(purp)s(oses.)390 3565 y Fn(Returns:)40 +Ft(")p FB(standard)p Ft(")d FB(enco)s(ding,)j(so)f(do)g(not)g(use)g(it) +g(for)390 2315 y(non-SRP)d(purp)s(oses.)390 2475 y Fn(Returns:)40 b FB(0)31 b(on)f(success,)h(or)g(an)f(error)g(co)s(de.)150 -3771 y Fu(gn)m(utls)p 483 3771 37 5 v 55 w(srp)p 704 -3771 V 54 w(base64)p 1112 3771 V 55 w(enco)s(de)3350 -3975 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_enc)q -(ode)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2179 3975 28 -4 v 41 w(datum)p 2478 3975 V 39 w(t)g(*)g Fe(data)12 -b Ff(,)31 b(c)m(har)g(*)565 4085 y Fe(result)12 b Ff(,)32 -b(size)p 1093 4085 V 41 w(t)f(*)f Fe(result_size)12 b -Fg(\))390 4194 y Ff(data)p FB(:)41 b(con)m(tain)32 b(the)f(ra)m(w)f -(data)390 4336 y Ff(result)r FB(:)41 b(the)30 b(place)i(where)d(base64) -j(data)f(will)g(b)s(e)e(copied)390 4477 y Ff(result)p -619 4477 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f -(result)390 4619 y(This)22 b(function)h(will)h(con)m(v)m(ert)h(the)e -(giv)m(en)h(data)g(to)g(prin)m(table)g(data,)h(using)e(the)g(base64)i -(enco)s(ding,)390 4728 y(as)h(used)e(in)i(the)f(libsrp.)38 -b(This)25 b(is)g(the)h(enco)s(ding)f(used)g(in)g(SRP)g(passw)m(ord)g -(\014les.)39 b(If)25 b(the)g(pro)m(vided)390 4838 y(bu\013er)k(is)i -(not)f(long)h(enough)f(GNUTLS)p 1800 4838 V 40 w(E)p -1902 4838 V 40 w(SHOR)-8 b(T)p 2257 4838 V 39 w(MEMOR)g(Y)p -2722 4838 V 41 w(BUFFER)32 b(is)e(returned.)390 4979 -y(W)-8 b(arning!)46 b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g(the)h -Fs(")p FB(standard)p Fs(")d FB(enco)s(ding,)j(so)f(do)g(not)g(use)g(it) -g(for)390 5089 y(non-SRP)d(purp)s(oses.)390 5230 y Fn(Returns:)40 -b Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(if)30 b(the)g(bu\013er)f -(giv)m(en)i(is)g(not)f(long)h(enough,)f(or)390 5340 y(0)h(on)f -(success.)p eop end -%%Page: 176 182 -TeXDict begin 176 181 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(176)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(srp)p 704 299 V 54 -w(free)p 957 299 V 55 w(clien)m(t)p 1304 299 V 53 w(creden)m(tials)3350 -505 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_srp_free_client_c)q(red)q(ent)q(ial)q(s)565 615 -y Fg(\()p Ff(gn)m(utls)p 846 615 28 4 v 41 w(srp)p 1010 -615 V 39 w(clien)m(t)p 1262 615 V 41 w(creden)m(tials)p -1724 615 V 42 w(t)31 b Fe(sc)12 b Fg(\))390 724 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_srp_client_crede)o(nti)o(als_)o(t)24 -b FB(structure.)390 868 y(This)31 b(structure)g(is)h(complex)g(enough)f +2700 y Fv(gn)m(utls)p 483 2700 37 5 v 55 w(srp)p 704 +2700 V 54 w(base64)p 1112 2700 V 55 w(enco)s(de)3350 +2922 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_base64_enc)q +(ode)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2179 2922 28 +4 v 41 w(datum)p 2478 2922 V 39 w(t)g(*)g Fe(data)p Ff(,)g(c)m(har)g(*) +565 3032 y Fe(result)p Ff(,)h(size)p 1081 3032 V 41 w(t)f(*)g +Fe(result_size)12 b Fg(\))390 3141 y Ff(data)p FB(:)41 +b(con)m(tain)32 b(the)f(ra)m(w)f(data)390 3302 y Ff(result)r +FB(:)41 b(the)30 b(place)i(where)d(base64)j(data)f(will)g(b)s(e)e +(copied)390 3462 y Ff(result)p 619 3462 V 40 w(size)5 +b FB(:)42 b(holds)30 b(the)g(size)h(of)g(the)f(result)390 +3622 y(This)22 b(function)h(will)h(con)m(v)m(ert)h(the)e(giv)m(en)h +(data)g(to)g(prin)m(table)g(data,)h(using)e(the)g(base64)i(enco)s +(ding,)390 3732 y(as)h(used)e(in)i(the)f(libsrp.)38 b(This)25 +b(is)g(the)h(enco)s(ding)f(used)g(in)g(SRP)g(passw)m(ord)g(\014les.)39 +b(If)25 b(the)g(pro)m(vided)390 3841 y(bu\013er)k(is)i(not)f(long)h +(enough)f(GNUTLS)p 1800 3841 V 40 w(E)p 1902 3841 V 40 +w(SHOR)-8 b(T)p 2257 3841 V 39 w(MEMOR)g(Y)p 2722 3841 +V 41 w(BUFFER)32 b(is)e(returned.)390 4001 y(W)-8 b(arning!)46 +b(This)31 b(base64)i(enco)s(ding)f(is)g(not)g(the)h Ft(")p +FB(standard)p Ft(")d FB(enco)s(ding,)j(so)f(do)g(not)g(use)g(it)g(for) +390 4111 y(non-SRP)d(purp)s(oses.)390 4271 y Fn(Returns:)40 +b Ft(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(if)30 b(the)g(bu\013er)f +(giv)m(en)i(is)g(not)f(long)h(enough,)f(or)390 4381 y(0)h(on)f +(success.)150 4606 y Fv(gn)m(utls)p 483 4606 37 5 v 55 +w(srp)p 704 4606 V 54 w(free)p 957 4606 V 55 w(clien)m(t)p +1304 4606 V 53 w(creden)m(tials)3350 4828 y FB([F)-8 +b(unction])-3599 b Fh(void)54 b(gnutls_srp_free_client_c)q(red)q(ent)q +(ial)q(s)565 4938 y Fg(\()p Ff(gn)m(utls)p 846 4938 28 +4 v 41 w(srp)p 1010 4938 V 39 w(clien)m(t)p 1262 4938 +V 41 w(creden)m(tials)p 1724 4938 V 42 w(t)31 b Fe(sc)12 +b Fg(\))390 5047 y Ff(sc)6 b FB(:)40 b(is)31 b(an)f Ft +(gnutls_srp_client_credent)o(ial)o(s_t)24 b FB(structure.)390 +5208 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f +(directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 +5317 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\))i(it.)p +eop end +%%Page: 172 178 +TeXDict begin 172 177 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(172)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(srp)p 704 299 V 54 +w(free)p 957 299 V 55 w(serv)m(er)p 1334 299 V 54 w(creden)m(tials)3350 +498 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_srp_free_server_c)q(red)q(ent)q(ial)q(s)565 607 +y Fg(\()p Ff(gn)m(utls)p 846 607 28 4 v 41 w(srp)p 1010 +607 V 39 w(serv)m(er)p 1282 607 V 40 w(creden)m(tials)p +1743 607 V 42 w(t)30 b Fe(sc)12 b Fg(\))390 717 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_srp_server_credent)o(ial)o(s_t)24 +b FB(structure.)390 854 y(This)31 b(structure)g(is)h(complex)g(enough)f (to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 978 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\)) -i(it.)150 1186 y Fu(gn)m(utls)p 483 1186 37 5 v 55 w(srp)p -704 1186 V 54 w(free)p 957 1186 V 55 w(serv)m(er)p 1334 -1186 V 54 w(creden)m(tials)3350 1393 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_srp_free_server_c)q(red)q(ent)q(ial)q(s)565 -1502 y Fg(\()p Ff(gn)m(utls)p 846 1502 28 4 v 41 w(srp)p -1010 1502 V 39 w(serv)m(er)p 1282 1502 V 40 w(creden)m(tials)p -1743 1502 V 42 w(t)30 b Fe(sc)12 b Fg(\))390 1612 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_srp_server_crede)o(nti)o(als_)o(t)24 -b FB(structure.)390 1756 y(This)31 b(structure)g(is)h(complex)g(enough) -f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 1865 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s -(cate\))i(it.)150 2074 y Fu(gn)m(utls)p 483 2074 37 5 -v 55 w(srp)p 704 2074 V 54 w(serv)m(er)p 1080 2074 V -54 w(get)p 1299 2074 V 54 w(username)3350 2280 y FB([F)-8 -b(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_srp_server_get_)q -(use)q(rnam)q(e)e Fg(\()p Ff(gn)m(utls)p 2725 2280 28 -4 v 41 w(session)p 3035 2280 V 40 w(t)565 2390 y Fe(session)12 -b Fg(\))390 2499 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g -(session)390 2643 y(This)26 b(function)g(will)h(return)e(the)i -(username)f(of)h(the)f(p)s(eer.)39 b(This)26 b(should)f(only)i(b)s(e)f -(called)i(in)e(case)390 2753 y(of)31 b(SRP)e(authen)m(tication)k(and)c -(in)h(case)i(of)e(a)h(serv)m(er.)41 b(Returns)30 b(NULL)g(in)g(case)h -(of)g(an)f(error.)390 2897 y Fn(Returns:)40 b FB(SRP)30 -b(username)g(of)g(the)h(p)s(eer,)f(or)g(NULL)h(in)f(case)h(of)g(error.) -150 3106 y Fu(gn)m(utls)p 483 3106 37 5 v 55 w(srp)p -704 3106 V 54 w(set)p 910 3106 V 54 w(clien)m(t)p 1256 -3106 V 54 w(creden)m(tials)p 1884 3106 V 53 w(function)3350 -3312 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_srp_set_client_cr)q(ede)q(nti)q(als)q(_fun)q(cti)q(on)565 -3421 y Fg(\()p Ff(gn)m(utls)p 846 3421 28 4 v 41 w(srp)p -1010 3421 V 39 w(clien)m(t)p 1262 3421 V 41 w(creden)m(tials)p -1724 3421 V 42 w(t)31 b Fe(cred)12 b Ff(,)31 b(gn)m(utls)p -2348 3421 V 40 w(srp)p 2511 3421 V 39 w(clien)m(t)p 2763 -3421 V 42 w(creden)m(tials)p 3226 3421 V 41 w(function)f(*)565 -3531 y Fe(func)12 b Fg(\))390 3641 y Ff(cred)t FB(:)40 -b(is)31 b(a)f Fs(gnutls_srp_server_credent)o(ials)o(_t)24 -b FB(structure.)390 3784 y Ff(func)6 b FB(:)39 b(is)31 -b(the)f(callbac)m(k)j(function)390 3928 y(This)26 b(function)g(can)h(b) -s(e)e(used)h(to)h(set)g(a)g(callbac)m(k)i(to)e(retriev)m(e)h(the)f -(username)f(and)f(passw)m(ord)h(for)390 4038 y(clien)m(t)32 -b(SRP)e(authen)m(tication.)390 4182 y(The)g(callbac)m(k's)i(function)f -(form)e(is:)390 4326 y(in)m(t)i(\(*callbac)m(k\)\(gn)m(utls)p -1241 4326 V 44 w(session)p 1554 4326 V 40 w(t,)g(c)m(har**)h(username,) -e(c)m(har**passw)m(ord\);)390 4470 y(The)j Fs(username)e -FB(and)i Fs(password)f FB(m)m(ust)h(b)s(e)g(allo)s(cated)j(using)d -Fs(gnutls_malloc\(\))p FB(.)46 b Fs(username)390 4579 -y FB(and)30 b Fs(password)e FB(should)h(b)s(e)h(ASCI)s(I)f(strings)h -(or)g(UTF-8)h(strings)f(prepared)g(using)f(the)i Fs(")p -FB(SASL-)390 4689 y(prep)p Fs(")e FB(pro\014le)h(of)h -Fs(")p FB(stringprep)p Fs(")p FB(.)390 4833 y(The)20 +(is)390 963 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\)) +i(it.)150 1165 y Fv(gn)m(utls)p 483 1165 37 5 v 55 w(srp)p +704 1165 V 54 w(serv)m(er)p 1080 1165 V 54 w(get)p 1299 +1165 V 54 w(username)3350 1364 y FB([F)-8 b(unction])-3599 +b Fh(const)54 b(char)f(*)g(gnutls_srp_server_get_)q(use)q(rnam)q(e)e +Fg(\()p Ff(gn)m(utls)p 2725 1364 28 4 v 41 w(session)p +3035 1364 V 40 w(t)565 1473 y Fe(session)12 b Fg(\))390 +1583 y Ff(session)p FB(:)41 b(is)30 b(a)h(gn)m(utls)g(session)390 +1720 y(This)26 b(function)g(will)h(return)e(the)i(username)f(of)h(the)f +(p)s(eer.)39 b(This)26 b(should)f(only)i(b)s(e)f(called)i(in)e(case)390 +1829 y(of)31 b(SRP)e(authen)m(tication)k(and)c(in)h(case)i(of)e(a)h +(serv)m(er.)41 b(Returns)30 b(NULL)g(in)g(case)h(of)g(an)f(error.)390 +1966 y Fn(Returns:)40 b FB(SRP)30 b(username)g(of)g(the)h(p)s(eer,)f +(or)g(NULL)h(in)f(case)h(of)g(error.)150 2168 y Fv(gn)m(utls)p +483 2168 37 5 v 55 w(srp)p 704 2168 V 54 w(set)p 910 +2168 V 54 w(clien)m(t)p 1256 2168 V 54 w(creden)m(tials)p +1884 2168 V 53 w(function)3350 2367 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_srp_set_client_cr)q(ede)q(nti)q(als)q(_fun)q(cti) +q(on)565 2476 y Fg(\()p Ff(gn)m(utls)p 846 2476 28 4 +v 41 w(srp)p 1010 2476 V 39 w(clien)m(t)p 1262 2476 V +41 w(creden)m(tials)p 1724 2476 V 42 w(t)31 b Fe(cred)p +Ff(,)g(gn)m(utls)p 2336 2476 V 41 w(srp)p 2500 2476 V +39 w(clien)m(t)p 2752 2476 V 41 w(creden)m(tials)p 3214 +2476 V 42 w(function)f(*)565 2586 y Fe(func)12 b Fg(\))390 +2695 y Ff(cred)t FB(:)40 b(is)31 b(a)f Ft(gnutls_srp_server_credent)o +(ials)o(_t)24 b FB(structure.)390 2832 y Ff(func)6 b +FB(:)39 b(is)31 b(the)f(callbac)m(k)j(function)390 2969 +y(This)26 b(function)g(can)h(b)s(e)e(used)h(to)h(set)g(a)g(callbac)m(k) +i(to)e(retriev)m(e)h(the)f(username)f(and)f(passw)m(ord)h(for)390 +3078 y(clien)m(t)32 b(SRP)e(authen)m(tication.)390 3215 +y(The)g(callbac)m(k's)i(function)f(form)e(is:)390 3352 +y(in)m(t)i(\(*callbac)m(k\)\(gn)m(utls)p 1241 3352 V +44 w(session)p 1554 3352 V 40 w(t,)g(c)m(har**)h(username,)e(c)m +(har**passw)m(ord\);)390 3489 y(The)j Ft(username)e FB(and)i +Ft(password)f FB(m)m(ust)h(b)s(e)g(allo)s(cated)j(using)d +Ft(gnutls_malloc\(\))p FB(.)46 b Ft(username)390 3598 +y FB(and)30 b Ft(password)e FB(should)h(b)s(e)h(ASCI)s(I)f(strings)h +(or)g(UTF-8)h(strings)f(prepared)g(using)f(the)i Ft(")p +FB(SASL-)390 3708 y(prep)p Ft(")e FB(pro\014le)h(of)h +Ft(")p FB(stringprep)p Ft(")p FB(.)390 3845 y(The)20 b(callbac)m(k)j(function)e(will)g(b)s(e)f(called)i(once)g(p)s(er)d (handshak)m(e)i(b)s(efore)f(the)h(initial)h(hello)g(message)390 -4943 y(is)30 b(sen)m(t.)390 5086 y(The)c(callbac)m(k)i(should)d(not)h +3954 y(is)30 b(sen)m(t.)390 4091 y(The)c(callbac)m(k)i(should)d(not)h (return)f(a)i(negativ)m(e)h(error)d(co)s(de)i(the)f(second)g(time)h -(called,)h(since)f(the)390 5196 y(handshak)m(e)j(pro)s(cedure)f(will)i -(b)s(e)f(ab)s(orted.)390 5340 y(The)g(callbac)m(k)i(function)e(should)g -(return)f(0)i(on)f(success.)41 b(-1)31 b(indicates)g(an)g(error.)p +(called,)h(since)f(the)390 4200 y(handshak)m(e)j(pro)s(cedure)f(will)i +(b)s(e)f(ab)s(orted.)390 4337 y(The)g(callbac)m(k)i(function)e(should)g +(return)f(0)i(on)f(success.)41 b(-1)31 b(indicates)g(an)g(error.)150 +4539 y Fv(gn)m(utls)p 483 4539 37 5 v 55 w(srp)p 704 +4539 V 54 w(set)p 910 4539 V 54 w(clien)m(t)p 1256 4539 +V 54 w(creden)m(tials)3350 4738 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_srp_set_client)q(_cre)q(den)q(tia)q(ls)565 +4847 y Fg(\()p Ff(gn)m(utls)p 846 4847 28 4 v 41 w(srp)p +1010 4847 V 39 w(clien)m(t)p 1262 4847 V 41 w(creden)m(tials)p +1724 4847 V 42 w(t)31 b Fe(res)p Ff(,)g(const)g(c)m(har)g(*)f +Fe(username)p Ff(,)j(const)e(c)m(har)g(*)565 4957 y Fe(password)12 +b Fg(\))390 5067 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_srp_client_creden)o(tial)o(s_t)24 b FB(structure.)390 +5203 y Ff(username)5 b FB(:)40 b(is)31 b(the)f(user's)g(userid)390 +5340 y Ff(passw)m(ord)t FB(:)40 b(is)30 b(the)h(user's)e(passw)m(ord)p eop end -%%Page: 177 183 -TeXDict begin 177 182 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(177)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(srp)p 704 299 V 54 -w(set)p 910 299 V 54 w(clien)m(t)p 1256 299 V 54 w(creden)m(tials)3350 -483 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_set_client)q -(_cre)q(den)q(tia)q(ls)565 592 y Fg(\()p Ff(gn)m(utls)p -846 592 28 4 v 41 w(srp)p 1010 592 V 39 w(clien)m(t)p -1262 592 V 41 w(creden)m(tials)p 1724 592 V 42 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)f(c)m(har)h(*)g Fe(username)12 -b Ff(,)33 b(const)d(c)m(har)h(*)565 702 y Fe(password)12 -b Fg(\))390 811 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_srp_client_credenti)o(als_)o(t)24 b FB(structure.)390 -940 y Ff(username)5 b FB(:)40 b(is)31 b(the)f(user's)g(userid)390 -1068 y Ff(passw)m(ord)t FB(:)40 b(is)30 b(the)h(user's)e(passw)m(ord) -390 1196 y(This)75 b(function)h(sets)g(the)g(username)g(and)f(passw)m -(ord,)87 b(in)76 b(a)g Fs(gnutls_srp_client_)390 1305 -y(credentials_t)27 b FB(structure.)40 b(Those)30 b(will)h(b)s(e)e(used) -h(in)g(SRP)g(authen)m(tication.)42 b Fs(username)29 b -FB(and)390 1415 y Fs(password)d FB(should)i(b)s(e)g(ASCI)s(I)f(strings) -i(or)g(UTF-8)g(strings)g(prepared)e(using)i(the)g Fs(")p -FB(SASLprep)p Fs(")390 1524 y FB(pro\014le)h(of)h Fs(")p -FB(stringprep)p Fs(")p FB(.)390 1652 y Fn(Returns:)40 -b FB(On)30 b(success,)h Fs(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 -b(is)g(returned,)e(or)h(an)h(error)f(co)s(de.)150 1839 -y Fu(gn)m(utls)p 483 1839 37 5 v 55 w(srp)p 704 1839 -V 54 w(set)p 910 1839 V 54 w(prime)p 1274 1839 V 55 w(bits)3350 -2023 y FB([F)-8 b(unction])-3599 b Fh(void)54 b -(gnutls_srp_set_prime_bit)q(s)e Fg(\()p Ff(gn)m(utls)p -2046 2023 28 4 v 40 w(session)p 2355 2023 V 41 w(t)30 -b Fe(session)12 b Ff(,)565 2132 y(unsigned)29 b(in)m(t)i -Fe(bits)12 b Fg(\))390 2242 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 2370 -y Ff(bits)t FB(:)40 b(is)31 b(the)f(n)m(um)m(b)s(er)f(of)i(bits)390 -2498 y(This)42 b(function)g(sets)h(the)f(minim)m(um)g(accepted)i(n)m -(um)m(b)s(er)d(of)i(bits,)i(for)e(use)f(in)g(an)g(SRP)g(k)m(ey)390 -2607 y(exc)m(hange.)g(If)30 b(zero,)i(the)e(default)h(2048)h(bits)e -(will)h(b)s(e)f(used.)390 2735 y(In)39 b(the)i(clien)m(t)g(side)g(it)f -(sets)h(the)f(minim)m(um)g(accepted)h(n)m(um)m(b)s(er)e(of)h(bits.)70 -b(If)40 b(a)g(serv)m(er)h(sends)390 2845 y(a)h(prime)f(with)g(less)h -(bits)f(than)g(that)h Fs(GNUTLS_E_RECEIVED_ILLEGA)o(L_PA)o(RAME)o(TER) -35 b FB(will)42 b(b)s(e)390 2955 y(returned)29 b(b)m(y)h(the)h -(handshak)m(e.)390 3083 y(This)f(function)g(has)g(no)g(e\013ect)i(in)e -(serv)m(er)h(side.)390 3211 y Fn(Since:)41 b FB(2.6.0)150 -3397 y Fu(gn)m(utls)p 483 3397 37 5 v 55 w(srp)p 704 -3397 V 54 w(set)p 910 3397 V 54 w(serv)m(er)p 1286 3397 -V 54 w(creden)m(tials)p 1914 3397 V 54 w(\014le)3350 -3581 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_set_server)q -(_cre)q(den)q(tia)q(ls_)q(file)565 3691 y Fg(\()p Ff(gn)m(utls)p -846 3691 28 4 v 41 w(srp)p 1010 3691 V 39 w(serv)m(er)p -1282 3691 V 40 w(creden)m(tials)p 1743 3691 V 42 w(t)30 -b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(password_file)12 -b Ff(,)34 b(const)d(c)m(har)565 3800 y(*)g Fe(password_conf_file)12 -b Fg(\))390 3910 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_srp_server_credenti)o(als_)o(t)24 b FB(structure.)390 -4038 y Ff(passw)m(ord)p 759 4038 V 39 w(\014le)5 b FB(:)41 +%%Page: 173 179 +TeXDict begin 173 178 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(173)390 299 y(This)75 +b(function)h(sets)g(the)g(username)g(and)f(passw)m(ord,)87 +b(in)76 b(a)g Ft(gnutls_srp_client_)390 408 y(credentials_t)27 +b FB(structure.)40 b(Those)30 b(will)h(b)s(e)e(used)h(in)g(SRP)g +(authen)m(tication.)42 b Ft(username)29 b FB(and)390 +518 y Ft(password)d FB(should)i(b)s(e)g(ASCI)s(I)f(strings)i(or)g +(UTF-8)g(strings)g(prepared)e(using)i(the)g Ft(")p FB(SASLprep)p +Ft(")390 628 y FB(pro\014le)h(of)h Ft(")p FB(stringprep)p +Ft(")p FB(.)390 756 y Fn(Returns:)40 b FB(On)30 b(success,)h +Ft(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h +(error)f(co)s(de.)150 942 y Fv(gn)m(utls)p 483 942 37 +5 v 55 w(srp)p 704 942 V 54 w(set)p 910 942 V 54 w(serv)m(er)p +1286 942 V 54 w(creden)m(tials)p 1914 942 V 54 w(\014le)3350 +1126 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_set_server)q +(_cre)q(den)q(tia)q(ls_)q(file)565 1236 y Fg(\()p Ff(gn)m(utls)p +846 1236 28 4 v 41 w(srp)p 1010 1236 V 39 w(serv)m(er)p +1282 1236 V 40 w(creden)m(tials)p 1743 1236 V 42 w(t)30 +b Fe(res)p Ff(,)i(const)f(c)m(har)f(*)h Fe(password_file)p +Ff(,)k(const)c(c)m(har)565 1345 y(*)g Fe(password_conf_file)12 +b Fg(\))390 1455 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_srp_server_creden)o(tial)o(s_t)24 b FB(structure.)390 +1583 y Ff(passw)m(ord)p 759 1583 V 39 w(\014le)5 b FB(:)41 b(is)31 b(the)f(SRP)g(passw)m(ord)g(\014le)g(\(tpasswd\))390 -4166 y Ff(passw)m(ord)p 759 4166 V 39 w(conf)p 962 4166 +1711 y Ff(passw)m(ord)p 759 1711 V 39 w(conf)p 962 1711 V 41 w(\014le)5 b FB(:)40 b(is)31 b(the)f(SRP)g(passw)m(ord)g(conf)g -(\014le)h(\(tpasswd.conf)7 b(\))390 4294 y(This)23 b(function)g(sets)i -(the)f(passw)m(ord)f(\014les,)i(in)f(a)g Fs(gnutls_srp_server_crede)o -(ntia)o(ls_t)17 b FB(struc-)390 4403 y(ture.)67 b(Those)39 +(\014le)h(\(tpasswd.conf)7 b(\))390 1839 y(This)23 b(function)g(sets)i +(the)f(passw)m(ord)f(\014les,)i(in)f(a)g Ft(gnutls_srp_server_crede)o +(ntia)o(ls_t)17 b FB(struc-)390 1949 y(ture.)67 b(Those)39 b(passw)m(ord)f(\014les)i(hold)e(usernames)h(and)f(v)m(eri\014ers)i -(and)e(will)i(b)s(e)e(used)h(for)g(SRP)390 4513 y(authen)m(tication.) -390 4641 y Fn(Returns:)h FB(On)30 b(success,)h Fs(GNUTLS_E_SUCCESS)26 +(and)e(will)i(b)s(e)e(used)h(for)g(SRP)390 2058 y(authen)m(tication.) +390 2187 y Fn(Returns:)h FB(On)30 b(success,)h Ft(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h(error)f(co)s(de.)150 -4827 y Fu(gn)m(utls)p 483 4827 37 5 v 55 w(srp)p 704 -4827 V 54 w(set)p 910 4827 V 54 w(serv)m(er)p 1286 4827 -V 54 w(creden)m(tials)p 1914 4827 V 54 w(function)3350 -5011 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +2373 y Fv(gn)m(utls)p 483 2373 37 5 v 55 w(srp)p 704 +2373 V 54 w(set)p 910 2373 V 54 w(serv)m(er)p 1286 2373 +V 54 w(creden)m(tials)p 1914 2373 V 54 w(function)3350 +2557 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_srp_set_server_cr)q(ede)q(nti)q(als)q(_fun)q(cti)q(on)565 -5121 y Fg(\()p Ff(gn)m(utls)p 846 5121 28 4 v 41 w(srp)p -1010 5121 V 39 w(serv)m(er)p 1282 5121 V 40 w(creden)m(tials)p -1743 5121 V 42 w(t)30 b Fe(cred)12 b Ff(,)32 b(gn)m(utls)p -2367 5121 V 40 w(srp)p 2530 5121 V 39 w(serv)m(er)p 2802 -5121 V 40 w(creden)m(tials)p 3263 5121 V 42 w(function)e(*)565 -5230 y Fe(func)12 b Fg(\))390 5340 y Ff(cred)t FB(:)40 -b(is)31 b(a)f Fs(gnutls_srp_server_credent)o(ials)o(_t)24 -b FB(structure.)p eop end -%%Page: 178 184 -TeXDict begin 178 183 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(178)390 299 y -Ff(func)6 b FB(:)39 b(is)31 b(the)f(callbac)m(k)j(function)390 -434 y(This)24 b(function)g(can)h(b)s(e)f(used)g(to)h(set)g(a)g(callbac) -m(k)i(to)e(retriev)m(e)h(the)f(user's)e(SRP)h(creden)m(tials.)40 -b(The)390 544 y(callbac)m(k's)h(function)e(form)g(is:)58 -b(in)m(t)40 b(\(*callbac)m(k\)\(gn)m(utls)p 2401 544 -28 4 v 44 w(session)p 2714 544 V 40 w(t,)i(const)d(c)m(har*)h -(username,)390 653 y(gn)m(utls)p 636 653 V 40 w(datum)p -934 653 V 40 w(t*)32 b(salt,)h(gn)m(utls)p 1525 653 V -40 w(datum)p 1823 653 V 40 w(t)e(*v)m(eri\014er,)i(gn)m(utls)p -2545 653 V 40 w(datum)p 2843 653 V 40 w(t*)f(g,)g(gn)m(utls)p -3337 653 V 41 w(datum)p 3636 653 V 39 w(t*)390 763 y(n\);)390 -898 y Fs(username)25 b FB(con)m(tains)k(the)f(actual)h(username.)39 -b(The)28 b Fs(salt)p FB(,)f Fs(verifier)p FB(,)f Fs(generator)f -FB(and)i Fs(prime)390 1008 y FB(m)m(ust)g(b)s(e)g(\014lled)h(in)f -(using)g(the)h Fs(gnutls_malloc\(\))p FB(.)35 b(F)-8 -b(or)29 b(con)m(v)m(enience)g Fs(prime)e FB(and)f Fs(generator)390 -1117 y FB(ma)m(y)31 b(also)g(b)s(e)f(one)h(of)f(the)h(static)h -(parameters)e(de\014ned)g(in)g(extra.h.)390 1253 y(In)39 -b(case)j(the)e(callbac)m(k)i(returned)d(a)i(negativ)m(e)h(n)m(um)m(b)s -(er)d(then)h(gn)m(utls)h(will)f(assume)g(that)h(the)390 -1362 y(username)30 b(do)s(es)g(not)g(exist.)390 1497 +2667 y Fg(\()p Ff(gn)m(utls)p 846 2667 28 4 v 41 w(srp)p +1010 2667 V 39 w(serv)m(er)p 1282 2667 V 40 w(creden)m(tials)p +1743 2667 V 42 w(t)30 b Fe(cred)p Ff(,)i(gn)m(utls)p +2355 2667 V 40 w(srp)p 2518 2667 V 39 w(serv)m(er)p 2790 +2667 V 41 w(creden)m(tials)p 3252 2667 V 41 w(function)e(*)565 +2776 y Fe(func)12 b Fg(\))390 2886 y Ff(cred)t FB(:)40 +b(is)31 b(a)f Ft(gnutls_srp_server_credent)o(ials)o(_t)24 +b FB(structure.)390 3014 y Ff(func)6 b FB(:)39 b(is)31 +b(the)f(callbac)m(k)j(function)390 3142 y(This)24 b(function)g(can)h(b) +s(e)f(used)g(to)h(set)g(a)g(callbac)m(k)i(to)e(retriev)m(e)h(the)f +(user's)e(SRP)h(creden)m(tials.)40 b(The)390 3252 y(callbac)m(k's)h +(function)e(form)g(is:)58 b(in)m(t)40 b(\(*callbac)m(k\)\(gn)m(utls)p +2401 3252 V 44 w(session)p 2714 3252 V 40 w(t,)i(const)d(c)m(har*)h +(username,)390 3361 y(gn)m(utls)p 636 3361 V 40 w(datum)p +934 3361 V 40 w(t*)32 b(salt,)h(gn)m(utls)p 1525 3361 +V 40 w(datum)p 1823 3361 V 40 w(t)e(*v)m(eri\014er,)i(gn)m(utls)p +2545 3361 V 40 w(datum)p 2843 3361 V 40 w(t*)f(g,)g(gn)m(utls)p +3337 3361 V 41 w(datum)p 3636 3361 V 39 w(t*)390 3471 +y(n\);)390 3599 y Ft(username)25 b FB(con)m(tains)k(the)f(actual)h +(username.)39 b(The)28 b Ft(salt)p FB(,)f Ft(verifier)p +FB(,)f Ft(generator)f FB(and)i Ft(prime)390 3708 y FB(m)m(ust)g(b)s(e)g +(\014lled)h(in)f(using)g(the)h Ft(gnutls_malloc\(\))p +FB(.)35 b(F)-8 b(or)29 b(con)m(v)m(enience)g Ft(prime)e +FB(and)f Ft(generator)390 3818 y FB(ma)m(y)31 b(also)g(b)s(e)f(one)h +(of)f(the)h(static)h(parameters)e(de\014ned)g(in)g(extra.h.)390 +3946 y(In)39 b(case)j(the)e(callbac)m(k)i(returned)d(a)i(negativ)m(e)h +(n)m(um)m(b)s(er)d(then)h(gn)m(utls)h(will)f(assume)g(that)h(the)390 +4056 y(username)30 b(do)s(es)g(not)g(exist.)390 4184 y(In)f(order)h(to)h(prev)m(en)m(t)f(attac)m(k)m(ers)j(from)d(guessing)g (v)-5 b(alid)30 b(usernames,)g(if)g(a)h(user)e(do)s(es)h(not)g(exist,) -390 1607 y(g)f(and)g(n)f(v)-5 b(alues)30 b(should)e(b)s(e)g(\014lled)h +390 4293 y(g)f(and)g(n)f(v)-5 b(alues)30 b(should)e(b)s(e)g(\014lled)h (in)g(using)f(a)i(random)e(user's)g(parameters.)41 b(In)28 -b(that)i(case)g(the)390 1717 y(callbac)m(k)i(m)m(ust)f(return)e(the)i -(sp)s(ecial)g(v)-5 b(alue)30 b(\(1\).)390 1852 y(The)g(callbac)m(k)k +b(that)i(case)g(the)390 4403 y(callbac)m(k)i(m)m(ust)f(return)e(the)i +(sp)s(ecial)g(v)-5 b(alue)30 b(\(1\).)390 4531 y(The)g(callbac)m(k)k (function)c(will)h(only)h(b)s(e)e(called)i(once)g(p)s(er)e(handshak)m -(e.)42 b(The)30 b(callbac)m(k)j(function)390 1961 y(should)c(return)h +(e.)42 b(The)30 b(callbac)m(k)j(function)390 4641 y(should)c(return)h (0)g(on)h(success,)g(while)f(-1)h(indicates)g(an)g(error.)150 -2161 y Fu(gn)m(utls)p 483 2161 37 5 v 55 w(srp)p 704 -2161 V 54 w(v)m(eri\014er)3350 2359 y FB([F)-8 b(unction])-3599 +4827 y Fv(gn)m(utls)p 483 4827 37 5 v 55 w(srp)p 704 +4827 V 54 w(v)m(eri\014er)3350 5011 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_srp_verifier)e Fg(\()p Ff(const)32 -b(c)m(har)e(*)h Fe(username)12 b Ff(,)33 b(const)e(c)m(har)f(*)565 -2468 y Fe(password)12 b Ff(,)33 b(const)e(gn)m(utls)p -1535 2468 28 4 v 40 w(datum)p 1833 2468 V 39 w(t)g(*)g -Fe(salt)12 b Ff(,)31 b(const)g(gn)m(utls)p 2768 2468 -V 40 w(datum)p 3066 2468 V 40 w(t)g(*)f Fe(generator)12 -b Ff(,)565 2578 y(const)31 b(gn)m(utls)p 1049 2578 V -40 w(datum)p 1347 2578 V 40 w(t)g(*)f Fe(prime)12 b Ff(,)32 -b(gn)m(utls)p 2097 2578 V 40 w(datum)p 2395 2578 V 40 -w(t)f(*)f Fe(res)12 b Fg(\))390 2688 y Ff(username)5 -b FB(:)40 b(is)31 b(the)f(user's)g(name)390 2823 y Ff(passw)m(ord)t -FB(:)40 b(is)30 b(the)h(user's)e(passw)m(ord)390 2958 -y Ff(salt)r FB(:)42 b(should)29 b(b)s(e)h(some)g(randomly)g(generated)i -(b)m(ytes)390 3093 y Ff(generator)7 b FB(:)41 b(is)31 -b(the)f(generator)i(of)e(the)h(group)390 3229 y Ff(prime)5 -b FB(:)40 b(is)31 b(the)f(group's)g(prime)390 3364 y -Ff(res)t FB(:)40 b(where)30 b(the)h(v)m(eri\014er)f(will)h(b)s(e)f -(stored.)390 3499 y(This)k(function)h(will)g(create)h(an)f(SRP)f(v)m +b(c)m(har)e(*)h Fe(username)p Ff(,)i(const)e(c)m(har)g(*)565 +5121 y Fe(password)p Ff(,)i(const)e(gn)m(utls)p 1523 +5121 28 4 v 40 w(datum)p 1821 5121 V 40 w(t)g(*)f Fe(salt)p +Ff(,)i(const)f(gn)m(utls)p 2745 5121 V 40 w(datum)p 3043 +5121 V 40 w(t)g(*)f Fe(generator)p Ff(,)565 5230 y(const)h(gn)m(utls)p +1049 5230 V 40 w(datum)p 1347 5230 V 40 w(t)g(*)f Fe(prime)p +Ff(,)i(gn)m(utls)p 2085 5230 V 41 w(datum)p 2384 5230 +V 39 w(t)f(*)g Fe(res)12 b Fg(\))390 5340 y Ff(username)5 +b FB(:)40 b(is)31 b(the)f(user's)g(name)p eop end +%%Page: 174 180 +TeXDict begin 174 179 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(174)390 299 y +Ff(passw)m(ord)t FB(:)40 b(is)30 b(the)h(user's)e(passw)m(ord)390 +436 y Ff(salt)r FB(:)42 b(should)29 b(b)s(e)h(some)g(randomly)g +(generated)i(b)m(ytes)390 574 y Ff(generator)7 b FB(:)41 +b(is)31 b(the)f(generator)i(of)e(the)h(group)390 712 +y Ff(prime)5 b FB(:)40 b(is)31 b(the)f(group's)g(prime)390 +849 y Ff(res)t FB(:)40 b(where)30 b(the)h(v)m(eri\014er)f(will)h(b)s(e) +f(stored.)390 987 y(This)k(function)h(will)g(create)h(an)f(SRP)f(v)m (eri\014er,)j(as)e(sp)s(eci\014ed)f(in)g(RF)m(C2945.)57 -b(The)34 b Fs(prime)g FB(and)390 3609 y Fs(generator)22 +b(The)34 b Ft(prime)g FB(and)390 1096 y Ft(generator)22 b FB(should)i(b)s(e)g(one)h(of)f(the)h(static)h(parameters)f(de\014ned) -f(in)g(gn)m(utls/extra.h)i(or)e(ma)m(y)i(b)s(e)390 3718 +f(in)g(gn)m(utls/extra.h)i(or)e(ma)m(y)i(b)s(e)390 1206 y(generated)37 b(using)e(the)h(libgcrypt)g(functions)g -Fs(gcry_prime_generate\(\))30 b FB(and)35 b Fs(gcry_prime_)390 -3828 y(group_generator\(\))p FB(.)390 3963 y(The)40 b(v)m(eri\014er)h -(will)g(b)s(e)f(allo)s(cated)j(with)e Fs(malloc)e FB(and)h(will)h(b)s -(e)f(stored)h(in)g Fs(res)e FB(using)i(binary)390 4073 -y(format.)390 4208 y Fn(Returns:)f FB(On)30 b(success,)h -Fs(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h -(error)f(co)s(de.)150 4408 y Fu(gn)m(utls)p 483 4408 -37 5 v 55 w(strerror)p 951 4408 V 55 w(name)3350 4605 -y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g -(gnutls_strerror_name)e Fg(\()p Ff(in)m(t)32 b Fe(error)12 -b Fg(\))390 4715 y Ff(error)7 b FB(:)40 b(is)30 b(an)h(error)f -(returned)f(b)m(y)h(a)h(gn)m(utls)f(function.)390 4850 -y(Return)c(the)i(Gn)m(uTLS)e(error)h(co)s(de)g(de\014ne)g(as)g(a)h -(string.)39 b(F)-8 b(or)28 b(example,)h(gn)m(utls)p 3164 -4850 28 4 v 40 w(strerror)p 3504 4850 V 40 w(name)390 -4960 y(\(GNUTLS)p 812 4960 V 40 w(E)p 914 4960 V 40 w(DH)p -1091 4960 V 41 w(PRIME)p 1439 4960 V 39 w(UNA)m(CCEPT)-8 -b(ABLE\))184 b(will)g(return)e(the)h(string)390 5069 -y Fs(")p FB(GNUTLS)p 825 5069 V 39 w(E)p 926 5069 V 40 -w(DH)p 1103 5069 V 41 w(PRIME)p 1451 5069 V 40 w(UNA)m(CCEPT)-8 -b(ABLE)p Fs(")p FB(.)390 5205 y Fn(Returns:)40 b FB(A)31 -b(string)f(corresp)s(onding)g(to)h(the)f(sym)m(b)s(ol)g(name)h(of)f -(the)h(error)f(co)s(de.)390 5340 y Fn(Since:)41 b FB(2.6.0)p -eop end -%%Page: 179 185 -TeXDict begin 179 184 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(179)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(strerror)3350 491 -y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g(gnutls_strerror) -d Fg(\()p Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 601 -y Ff(error)7 b FB(:)40 b(is)30 b(a)h(Gn)m(uTLS)e(error)h(co)s(de,)h(a)g -(negativ)m(e)h(v)-5 b(alue)390 733 y(This)44 b(function)g(is)g(similar) -h(to)g Fs(strerror\(\))p FB(.)80 b(Di\013erences:)70 -b(it)44 b(accepts)i(an)e(error)g(n)m(um)m(b)s(er)390 -842 y(returned)26 b(b)m(y)g(a)i(gn)m(utls)f(function;)h(In)e(case)i(of) -f(an)g(unkno)m(wn)e(error)i(a)g(descriptiv)m(e)h(string)e(is)h(sen)m(t) -390 952 y(instead)k(of)f(NULL.)390 1084 y(Error)f(co)s(des)i(are)g(alw) -m(a)m(ys)h(a)e(negativ)m(e)j(v)-5 b(alue.)390 1216 y -Fn(Returns:)40 b FB(A)31 b(string)f(explaining)h(the)g(Gn)m(uTLS)e -(error)h(message.)150 1411 y Fu(gn)m(utls)p 483 1411 -V 55 w(transp)s(ort)p 1042 1411 V 54 w(get)p 1261 1411 -V 55 w(ptr2)3350 1603 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_transport_get_ptr)q(2)e Fg(\()p Ff(gn)m(utls)p -2046 1603 28 4 v 40 w(session)p 2355 1603 V 41 w(t)30 -b Fe(session)12 b Ff(,)565 1713 y(gn)m(utls)p 811 1713 -V 41 w(transp)s(ort)p 1225 1713 V 39 w(ptr)p 1386 1713 -V 39 w(t)31 b(*)g Fe(recv_ptr)12 b Ff(,)32 b(gn)m(utls)p -2292 1713 V 41 w(transp)s(ort)p 2706 1713 V 39 w(ptr)p -2867 1713 V 39 w(t)f(*)g Fe(send_ptr)12 b Fg(\))390 1822 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 1954 y Ff(recv)p 560 1954 V 40 w(ptr)7 +Ft(gcry_prime_generate\(\))30 b FB(and)35 b Ft(gcry_prime_)390 +1316 y(group_generator\(\))p FB(.)390 1453 y(The)40 b(v)m(eri\014er)h +(will)g(b)s(e)f(allo)s(cated)j(with)e Ft(malloc)e FB(and)h(will)h(b)s +(e)f(stored)h(in)g Ft(res)e FB(using)i(binary)390 1563 +y(format.)390 1700 y Fn(Returns:)f FB(On)30 b(success,)h +Ft(GNUTLS_E_SUCCESS)26 b FB(\(0\))31 b(is)g(returned,)e(or)h(an)h +(error)f(co)s(de.)150 1903 y Fv(gn)m(utls)p 483 1903 +37 5 v 55 w(strerror)3350 2102 y FB([F)-8 b(unction])-3599 +b Fh(const)54 b(char)f(*)g(gnutls_strerror)d Fg(\()p +Ff(in)m(t)31 b Fe(error)12 b Fg(\))390 2212 y Ff(error)7 +b FB(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h(gn)m(utls)f +(function.)41 b(Error)29 b(is)i(alw)m(a)m(ys)h(a)e(negativ)m(e)j(v)-5 +b(alue.)390 2350 y(This)44 b(function)g(is)g(similar)h(to)g +Ft(strerror\(\))p FB(.)80 b(Di\013erences:)70 b(it)44 +b(accepts)i(an)e(error)g(n)m(um)m(b)s(er)390 2459 y(returned)26 +b(b)m(y)g(a)i(gn)m(utls)f(function;)h(In)e(case)i(of)f(an)g(unkno)m(wn) +e(error)i(a)g(descriptiv)m(e)h(string)e(is)h(sen)m(t)390 +2569 y(instead)k(of)f(NULL.)150 2771 y Fv(gn)m(utls)p +483 2771 V 55 w(transp)s(ort)p 1042 2771 V 54 w(get)p +1261 2771 V 55 w(ptr2)3350 2971 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_transport_get_ptr)q(2)e Fg(\()p +Ff(gn)m(utls)p 2046 2971 28 4 v 40 w(session)p 2355 2971 +V 41 w(t)30 b Fe(session)p Ff(,)565 3081 y(gn)m(utls)p +811 3081 V 41 w(transp)s(ort)p 1225 3081 V 39 w(ptr)p +1386 3081 V 39 w(t)h(*)g Fe(recv_ptr)p Ff(,)i(gn)m(utls)p +2281 3081 V 40 w(transp)s(ort)p 2694 3081 V 39 w(ptr)p +2855 3081 V 40 w(t)d(*)h Fe(send_ptr)12 b Fg(\))390 3190 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 3328 y Ff(recv)p 560 3328 V 40 w(ptr)7 b FB(:)40 b(will)31 b(hold)f(the)g(v)-5 b(alue)31 b(for)f(the)h(pull)f -(function)390 2087 y Ff(send)p 574 2087 V 39 w(ptr)7 +(function)390 3465 y Ff(send)p 574 3465 V 39 w(ptr)7 b FB(:)40 b(will)31 b(hold)f(the)g(v)-5 b(alue)31 b(for)f(the)h(push)d -(function)390 2219 y(Used)i(to)g(get)h(the)f(argumen)m(ts)g(of)g(the)g +(function)390 3603 y(Used)i(to)g(get)h(the)f(argumen)m(ts)g(of)g(the)g (transp)s(ort)f(functions)h(\(lik)m(e)h(PUSH)f(and)f(PULL\).)h(These) -390 2328 y(should)f(ha)m(v)m(e)j(b)s(een)e(set)h(using)e -Fs(gnutls_transport_set_ptr2\()o(\))p FB(.)150 2523 y -Fu(gn)m(utls)p 483 2523 37 5 v 55 w(transp)s(ort)p 1042 -2523 V 54 w(get)p 1261 2523 V 55 w(ptr)3350 2715 y FB([F)-8 +390 3713 y(should)f(ha)m(v)m(e)j(b)s(een)e(set)h(using)e +Ft(gnutls_transport_set_ptr2\()o(\))p FB(.)150 3915 y +Fv(gn)m(utls)p 483 3915 37 5 v 55 w(transp)s(ort)p 1042 +3915 V 54 w(get)p 1261 3915 V 55 w(ptr)3350 4115 y FB([F)-8 b(unction])-3599 b Fh(gnutls_transport_ptr_t)59 b -(gnutls_transport_get_p)q(tr)565 2825 y Fg(\()p Ff(gn)m(utls)p -846 2825 28 4 v 41 w(session)p 1156 2825 V 40 w(t)31 -b Fe(session)12 b Fg(\))390 2934 y Ff(session)p FB(:)41 -b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -3067 y(Used)f(to)i(get)f(the)g(\014rst)f(argumen)m(t)h(of)g(the)g +(gnutls_transport_get_p)q(tr)565 4224 y Fg(\()p Ff(gn)m(utls)p +846 4224 28 4 v 41 w(session)p 1156 4224 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 4334 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +4471 y(Used)f(to)i(get)f(the)g(\014rst)f(argumen)m(t)h(of)g(the)g (transp)s(ort)e(function)i(\(lik)m(e)h(PUSH)e(and)g(PULL\).)h(This)390 -3176 y(m)m(ust)k(ha)m(v)m(e)i(b)s(een)d(set)i(using)f -Fs(gnutls_transport_set_ptr\()o(\))p FB(.)390 3308 y +4581 y(m)m(ust)k(ha)m(v)m(e)i(b)s(een)d(set)i(using)f +Ft(gnutls_transport_set_ptr\()o(\))p FB(.)390 4719 y Fn(Returns:)40 b FB(\014rst)30 b(argumen)m(t)h(of)f(the)h(transp)s(ort) -e(function.)150 3503 y Fu(gn)m(utls)p 483 3503 37 5 v -55 w(transp)s(ort)p 1042 3503 V 54 w(set)p 1248 3503 -V 55 w(errno)3350 3695 y FB([F)-8 b(unction])-3599 b +e(function.)150 4921 y Fv(gn)m(utls)p 483 4921 37 5 v +55 w(transp)s(ort)p 1042 4921 V 54 w(set)p 1248 4921 +V 55 w(errno)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_transport_set_err)q(no)e Fg(\()p -Ff(gn)m(utls)p 2098 3695 28 4 v 41 w(session)p 2408 3695 -V 40 w(t)30 b Fe(session)12 b Ff(,)33 b(in)m(t)565 3805 -y Fe(err)12 b Fg(\))390 3914 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 4047 -y Ff(err)7 b FB(:)40 b(error)30 b(v)-5 b(alue)31 b(to)g(store)g(in)f +Ff(gn)m(utls)p 2098 5121 28 4 v 41 w(session)p 2408 5121 +V 40 w(t)30 b Fe(session)p Ff(,)j(in)m(t)565 5230 y Fe(err)12 +b Fg(\))390 5340 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)p eop end +%%Page: 175 181 +TeXDict begin 175 180 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(175)390 299 y +Ff(err)7 b FB(:)40 b(error)30 b(v)-5 b(alue)31 b(to)g(store)g(in)f (session-sp)s(eci\014c)g(errno)g(v)-5 b(ariable.)390 -4179 y(Store)40 b Fs(err)f FB(in)h(the)g(session-sp)s(eci\014c)h(errno) -e(v)-5 b(ariable.)71 b(Useful)40 b(v)-5 b(alues)40 b(for)g -Fs(err)f FB(is)h(EA)m(GAIN)390 4288 y(and)34 b(EINTR,)g(other)g(v)-5 +434 y(Store)40 b Ft(err)f FB(in)h(the)g(session-sp)s(eci\014c)h(errno)e +(v)-5 b(ariable.)71 b(Useful)40 b(v)-5 b(alues)40 b(for)g +Ft(err)f FB(is)h(EA)m(GAIN)390 544 y(and)34 b(EINTR,)g(other)g(v)-5 b(alues)35 b(are)g(treated)g(will)g(b)s(e)e(treated)j(as)e(real)h -(errors)f(in)g(the)h(push/pull)390 4398 y(function.)390 -4530 y(This)117 b(function)g(is)h(useful)f(in)g(replacemen)m(t)j -(push/pull)c(functions)h(set)h(b)m(y)390 4640 y(gn)m(utls)p -636 4640 V 40 w(transp)s(ort)p 1049 4640 V 40 w(set)p -1200 4640 V 40 w(push)p 1429 4640 V 39 w(function)133 -b(and)g(gn)m(utls)p 2447 4640 V 41 w(transp)s(ort)p 2861 -4640 V 39 w(set)p 3011 4640 V 40 w(pullpush)p 3392 4640 -V 38 w(function)390 4749 y(under)32 b(Windo)m(ws,)j(where)e(the)g -(replacemen)m(t)i(push/pull)d(ma)m(y)i(not)g(ha)m(v)m(e)h(access)g(to)f -(the)g(same)390 4859 y Fs(errno)27 b FB(v)-5 b(ariable)30 -b(that)g(is)e(used)g(b)m(y)h(Gn)m(uTLS)f(\(e.g.,)j(the)e(application)h -(is)f(link)m(ed)g(to)h(msv)m(cr71.dll)390 4968 y(and)g(gn)m(utls)g(is)h -(link)m(ed)g(to)g(msv)m(crt.dll\).)390 5101 y(If)e(y)m(ou)h(don't)g(ha) -m(v)m(e)g(the)g Fs(session)e FB(v)-5 b(ariable)30 b(easily)h -(accessible)g(from)e(the)h(push/pull)e(function,)390 -5210 y(and)38 b(don't)g(w)m(orry)g(ab)s(out)g(thread)g(con\015icts,)j -(y)m(ou)d(can)h(also)g(use)f Fs(gnutls_transport_set_)390 -5320 y(global_errno\(\))p FB(.)p eop end -%%Page: 180 186 -TeXDict begin 180 185 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(180)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(transp)s(ort)p 1042 -299 V 54 w(set)p 1248 299 V 55 w(global)p 1621 299 V -54 w(errno)3350 495 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_transport_set_glo)q(bal)q(_er)q(rno)e Fg(\()p -Ff(in)m(t)31 b Fe(err)12 b Fg(\))390 605 y Ff(err)7 b -FB(:)40 b(error)30 b(v)-5 b(alue)31 b(to)g(store)g(in)f(global)h(errno) -f(v)-5 b(ariable.)390 739 y(Store)27 b Fs(err)f FB(in)h(the)g(global)i -(errno)d(v)-5 b(ariable.)41 b(Useful)27 b(v)-5 b(alues)27 -b(for)g Fs(err)f FB(is)h(EA)m(GAIN)h(and)e(EINTR,)390 -848 y(other)31 b(v)-5 b(alues)30 b(are)h(treated)g(will)g(b)s(e)f +(errors)f(in)g(the)h(push/pull)390 653 y(function.)390 +789 y(This)117 b(function)g(is)h(useful)f(in)g(replacemen)m(t)j +(push/pull)c(functions)h(set)h(b)m(y)390 898 y(gn)m(utls)p +636 898 28 4 v 40 w(transp)s(ort)p 1049 898 V 40 w(set)p +1200 898 V 40 w(push)p 1429 898 V 39 w(function)133 b(and)g(gn)m(utls)p +2447 898 V 41 w(transp)s(ort)p 2861 898 V 39 w(set)p +3011 898 V 40 w(pullpush)p 3392 898 V 38 w(function)390 +1008 y(under)32 b(Windo)m(ws,)j(where)e(the)g(replacemen)m(t)i +(push/pull)d(ma)m(y)i(not)g(ha)m(v)m(e)h(access)g(to)f(the)g(same)390 +1117 y Ft(errno)27 b FB(v)-5 b(ariable)30 b(that)g(is)e(used)g(b)m(y)h +(Gn)m(uTLS)f(\(e.g.,)j(the)e(application)h(is)f(link)m(ed)g(to)h(msv)m +(cr71.dll)390 1227 y(and)g(gn)m(utls)g(is)h(link)m(ed)g(to)g(msv)m +(crt.dll\).)390 1362 y(If)e(y)m(ou)h(don't)g(ha)m(v)m(e)g(the)g +Ft(session)e FB(v)-5 b(ariable)30 b(easily)h(accessible)g(from)e(the)h +(push/pull)e(function,)390 1472 y(and)38 b(don't)g(w)m(orry)g(ab)s(out) +g(thread)g(con\015icts,)j(y)m(ou)d(can)h(also)g(use)f +Ft(gnutls_transport_set_)390 1582 y(global_errno\(\))p +FB(.)150 1782 y Fv(gn)m(utls)p 483 1782 37 5 v 55 w(transp)s(ort)p +1042 1782 V 54 w(set)p 1248 1782 V 55 w(global)p 1621 +1782 V 54 w(errno)3350 1979 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_transport_set_glo)q(bal)q(_er)q(rno)e +Fg(\()p Ff(in)m(t)31 b Fe(err)12 b Fg(\))390 2089 y Ff(err)7 +b FB(:)40 b(error)30 b(v)-5 b(alue)31 b(to)g(store)g(in)f(global)h +(errno)f(v)-5 b(ariable.)390 2224 y(Store)27 b Ft(err)f +FB(in)h(the)g(global)i(errno)d(v)-5 b(ariable.)41 b(Useful)27 +b(v)-5 b(alues)27 b(for)g Ft(err)f FB(is)h(EA)m(GAIN)h(and)e(EINTR,)390 +2334 y(other)31 b(v)-5 b(alues)30 b(are)h(treated)g(will)g(b)s(e)f (treated)h(as)g(real)g(errors)f(in)g(the)g(push/pull)f(function.)390 -983 y(This)117 b(function)g(is)h(useful)f(in)g(replacemen)m(t)j -(push/pull)c(functions)h(set)h(b)m(y)390 1092 y(gn)m(utls)p -636 1092 28 4 v 40 w(transp)s(ort)p 1049 1092 V 40 w(set)p -1200 1092 V 40 w(push)p 1429 1092 V 39 w(function)133 -b(and)g(gn)m(utls)p 2447 1092 V 41 w(transp)s(ort)p 2861 -1092 V 39 w(set)p 3011 1092 V 40 w(pullpush)p 3392 1092 -V 38 w(function)390 1202 y(under)32 b(Windo)m(ws,)j(where)e(the)g +2469 y(This)117 b(function)g(is)h(useful)f(in)g(replacemen)m(t)j +(push/pull)c(functions)h(set)h(b)m(y)390 2579 y(gn)m(utls)p +636 2579 28 4 v 40 w(transp)s(ort)p 1049 2579 V 40 w(set)p +1200 2579 V 40 w(push)p 1429 2579 V 39 w(function)133 +b(and)g(gn)m(utls)p 2447 2579 V 41 w(transp)s(ort)p 2861 +2579 V 39 w(set)p 3011 2579 V 40 w(pullpush)p 3392 2579 +V 38 w(function)390 2688 y(under)32 b(Windo)m(ws,)j(where)e(the)g (replacemen)m(t)i(push/pull)d(ma)m(y)i(not)g(ha)m(v)m(e)h(access)g(to)f -(the)g(same)390 1311 y Fs(errno)27 b FB(v)-5 b(ariable)30 +(the)g(same)390 2798 y Ft(errno)27 b FB(v)-5 b(ariable)30 b(that)g(is)e(used)g(b)m(y)h(Gn)m(uTLS)f(\(e.g.,)j(the)e(application)h -(is)f(link)m(ed)g(to)h(msv)m(cr71.dll)390 1421 y(and)g(gn)m(utls)g(is)h -(link)m(ed)g(to)g(msv)m(crt.dll\).)390 1555 y(Whether)k(this)f +(is)f(link)m(ed)g(to)h(msv)m(cr71.dll)390 2907 y(and)g(gn)m(utls)g(is)h +(link)m(ed)g(to)g(msv)m(crt.dll\).)390 3043 y(Whether)k(this)f (function)h(is)g(thread)f(safe)h(or)g(not)g(dep)s(ends)e(on)h(whether)g -(the)h(global)h(v)-5 b(ariable)390 1665 y(errno)40 b(is)g(thread)g +(the)h(global)h(v)-5 b(ariable)390 3152 y(errno)40 b(is)g(thread)g (safe,)j(some)e(system)f(libraries)h(mak)m(e)g(it)g(a)f(thread-lo)s -(cal)i(v)-5 b(ariable.)71 b(When)390 1774 y(feasible,)36 -b(using)e(the)g(guaran)m(teed)h(thread-safe)g Fs +(cal)i(v)-5 b(ariable.)71 b(When)390 3262 y(feasible,)36 +b(using)e(the)g(guaran)m(teed)h(thread-safe)g Ft (gnutls_transport_set_er)o(rno)o(\(\))28 b FB(ma)m(y)35 -b(b)s(e)390 1884 y(b)s(etter.)150 2082 y Fu(gn)m(utls)p -483 2082 37 5 v 55 w(transp)s(ort)p 1042 2082 V 54 w(set)p -1248 2082 V 55 w(lo)m(w)m(at)3350 2279 y FB([F)-8 b(unction])-3599 +b(b)s(e)390 3372 y(b)s(etter.)150 3572 y Fv(gn)m(utls)p +483 3572 37 5 v 55 w(transp)s(ort)p 1042 3572 V 54 w(set)p +1248 3572 V 55 w(lo)m(w)m(at)3350 3769 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_transport_set_low)q(at)e Fg(\()p -Ff(gn)m(utls)p 2098 2279 28 4 v 41 w(session)p 2408 2279 -V 40 w(t)30 b Fe(session)12 b Ff(,)33 b(in)m(t)565 2388 -y Fe(num)12 b Fg(\))390 2498 y Ff(session)p FB(:)41 b(is)30 -b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 2632 -y Ff(n)m(um)p FB(:)40 b(is)30 b(the)h(lo)m(w)g(w)m(ater)g(v)-5 -b(alue.)390 2766 y(Used)34 b(to)g(set)h(the)f(lo)m(w)m(at)i(v)-5 +Ff(gn)m(utls)p 2098 3769 28 4 v 41 w(session)p 2408 3769 +V 40 w(t)30 b Fe(session)p Ff(,)j(in)m(t)565 3879 y Fe(num)12 +b Fg(\))390 3988 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 4124 y Ff(n)m(um)p +FB(:)40 b(is)30 b(the)h(lo)m(w)g(w)m(ater)g(v)-5 b(alue.)390 +4259 y(Used)34 b(to)g(set)h(the)f(lo)m(w)m(at)i(v)-5 b(alue)34 b(in)g(order)f(for)h(select)h(to)g(c)m(hec)m(k)g(if)f(there)g -(are)g(p)s(ending)f(data)h(to)390 2876 y(so)s(c)m(k)m(et)h(bu\013er.)46 +(are)g(p)s(ending)f(data)h(to)390 4369 y(so)s(c)m(k)m(et)h(bu\013er.)46 b(Used)33 b(only)g(if)f(y)m(ou)h(ha)m(v)m(e)h(c)m(hanged)g(the)f (default)f(lo)m(w)i(w)m(ater)f(v)-5 b(alue)34 b(\(default)f(is)390 -2985 y(1\).)59 b(Normally)37 b(y)m(ou)f(will)g(not)h(need)f(that)g +4478 y(1\).)59 b(Normally)37 b(y)m(ou)f(will)g(not)h(need)f(that)g (function.)58 b(This)35 b(function)h(is)g(only)g(useful)f(if)h(using) -390 3095 y(b)s(erk)m(eley)31 b(st)m(yle)g(so)s(c)m(k)m(ets.)43 +390 4588 y(b)s(erk)m(eley)31 b(st)m(yle)g(so)s(c)m(k)m(ets.)43 b(Otherwise)30 b(it)h(m)m(ust)f(b)s(e)g(called)h(and)f(set)h(lo)m(w)m -(at)i(to)e(zero.)150 3293 y Fu(gn)m(utls)p 483 3293 37 -5 v 55 w(transp)s(ort)p 1042 3293 V 54 w(set)p 1248 3293 -V 55 w(ptr2)3350 3490 y FB([F)-8 b(unction])-3599 b Fh(void)54 +(at)i(to)e(zero.)150 4788 y Fv(gn)m(utls)p 483 4788 37 +5 v 55 w(transp)s(ort)p 1042 4788 V 54 w(set)p 1248 4788 +V 55 w(ptr2)3350 4985 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_transport_set_ptr)q(2)e Fg(\()p Ff(gn)m(utls)p -2046 3490 28 4 v 40 w(session)p 2355 3490 V 41 w(t)30 -b Fe(session)12 b Ff(,)565 3599 y(gn)m(utls)p 811 3599 -V 41 w(transp)s(ort)p 1225 3599 V 39 w(ptr)p 1386 3599 -V 39 w(t)31 b Fe(recv_ptr)12 b Ff(,)32 b(gn)m(utls)p -2216 3599 V 41 w(transp)s(ort)p 2630 3599 V 39 w(ptr)p -2791 3599 V 39 w(t)f Fe(send_ptr)12 b Fg(\))390 3709 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 3843 y Ff(recv)p 560 3843 V 40 w(ptr)7 -b FB(:)40 b(is)30 b(the)h(v)-5 b(alue)31 b(for)f(the)h(pull)e(function) -390 3977 y Ff(send)p 574 3977 V 39 w(ptr)7 b FB(:)40 -b(is)30 b(the)h(v)-5 b(alue)31 b(for)f(the)g(push)f(function)390 -4111 y(Used)k(to)h(set)f(the)g(\014rst)f(argumen)m(t)i(of)f(the)g +2046 4985 28 4 v 40 w(session)p 2355 4985 V 41 w(t)30 +b Fe(session)p Ff(,)565 5095 y(gn)m(utls)p 811 5095 V +41 w(transp)s(ort)p 1225 5095 V 39 w(ptr)p 1386 5095 +V 39 w(t)h Fe(recv_ptr)p Ff(,)i(gn)m(utls)p 2205 5095 +V 40 w(transp)s(ort)p 2618 5095 V 39 w(ptr)p 2779 5095 +V 40 w(t)e Fe(send_ptr)12 b Fg(\))390 5205 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +5340 y Ff(recv)p 560 5340 V 40 w(ptr)7 b FB(:)40 b(is)30 +b(the)h(v)-5 b(alue)31 b(for)f(the)h(pull)e(function)p +eop end +%%Page: 176 182 +TeXDict begin 176 181 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(176)390 299 y +Ff(send)p 574 299 28 4 v 39 w(ptr)7 b FB(:)40 b(is)30 +b(the)h(v)-5 b(alue)31 b(for)f(the)g(push)f(function)390 +457 y(Used)k(to)h(set)f(the)g(\014rst)f(argumen)m(t)i(of)f(the)g (transp)s(ort)f(function)h(\(lik)m(e)h(PUSH)f(and)f(PULL\).)i(In)390 -4221 y(b)s(erk)m(eley)27 b(st)m(yle)h(so)s(c)m(k)m(ets)g(this)e +566 y(b)s(erk)m(eley)27 b(st)m(yle)h(so)s(c)m(k)m(ets)g(this)e (function)g(will)h(set)g(the)f(connection)i(handle.)39 -b(With)27 b(this)f(function)390 4330 y(y)m(ou)31 b(can)f(use)g(t)m(w)m +b(With)27 b(this)f(function)390 676 y(y)m(ou)31 b(can)f(use)g(t)m(w)m (o)i(di\013eren)m(t)f(p)s(oin)m(ters)f(for)g(receiving)i(and)e -(sending.)150 4529 y Fu(gn)m(utls)p 483 4529 37 5 v 55 -w(transp)s(ort)p 1042 4529 V 54 w(set)p 1248 4529 V 55 -w(ptr)3350 4725 y FB([F)-8 b(unction])-3599 b Fh(void)54 +(sending.)150 899 y Fv(gn)m(utls)p 483 899 37 5 v 55 +w(transp)s(ort)p 1042 899 V 54 w(set)p 1248 899 V 55 +w(ptr)3350 1119 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_transport_set_ptr)e Fg(\()p Ff(gn)m(utls)p 1993 -4725 28 4 v 41 w(session)p 2303 4725 V 40 w(t)31 b Fe(session)12 -b Ff(,)565 4835 y(gn)m(utls)p 811 4835 V 41 w(transp)s(ort)p -1225 4835 V 39 w(ptr)p 1386 4835 V 39 w(t)31 b Fe(ptr)12 -b Fg(\))390 4944 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 5079 y Ff(ptr)7 -b FB(:)40 b(is)30 b(the)h(v)-5 b(alue.)390 5213 y(Used)33 +1119 28 4 v 41 w(session)p 2303 1119 V 40 w(t)31 b Fe(session)p +Ff(,)565 1229 y(gn)m(utls)p 811 1229 V 41 w(transp)s(ort)p +1225 1229 V 39 w(ptr)p 1386 1229 V 39 w(t)g Fe(ptr)12 +b Fg(\))390 1338 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 1496 y Ff(ptr)7 +b FB(:)40 b(is)30 b(the)h(v)-5 b(alue.)390 1654 y(Used)33 b(to)h(set)f(the)g(\014rst)f(argumen)m(t)i(of)f(the)g(transp)s(ort)f (function)h(\(lik)m(e)h(PUSH)f(and)f(PULL\).)i(In)390 -5322 y(b)s(erk)m(eley)d(st)m(yle)g(so)s(c)m(k)m(ets)i(this)d(function)g -(will)h(set)g(the)f(connection)i(handle.)p eop end -%%Page: 181 187 -TeXDict begin 181 186 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(181)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(transp)s(ort)p 1042 -299 V 54 w(set)p 1248 299 V 55 w(pull)p 1507 299 V 54 -w(function)3350 504 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_transport_set_pul)q(l_f)q(unc)q(tio)q(n)d Fg(\()p -Ff(gn)m(utls)p 2516 504 28 4 v 41 w(session)p 2826 504 -V 40 w(t)565 613 y Fe(session)12 b Ff(,)32 b(gn)m(utls)p -1244 613 V 41 w(pull)p 1437 613 V 39 w(func)e Fe(pull_func)12 -b Fg(\))390 723 y Ff(session)p FB(:)41 b(gn)m(utls)31 -b(session)390 865 y Ff(pull)p 548 865 V 40 w(func)6 b -FB(:)39 b(a)31 b(callbac)m(k)h(function)e(similar)h(to)g -Fs(read\(\))390 1008 y FB(This)k(is)h(the)h(function)f(where)f(y)m(ou)i +1764 y(b)s(erk)m(eley)d(st)m(yle)g(so)s(c)m(k)m(ets)i(this)d(function)g +(will)h(set)g(the)f(connection)i(handle.)150 1987 y Fv(gn)m(utls)p +483 1987 37 5 v 55 w(transp)s(ort)p 1042 1987 V 54 w(set)p +1248 1987 V 55 w(pull)p 1507 1987 V 54 w(function)3350 +2207 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_transport_set_pul)q(l_f)q(unc)q(tio)q(n)d Fg(\()p +Ff(gn)m(utls)p 2516 2207 28 4 v 41 w(session)p 2826 2207 +V 40 w(t)565 2316 y Fe(session)p Ff(,)33 b(gn)m(utls)p +1233 2316 V 40 w(pull)p 1425 2316 V 40 w(func)c Fe(pull_func)12 +b Fg(\))390 2426 y Ff(session)p FB(:)41 b(gn)m(utls)31 +b(session)390 2584 y Ff(pull)p 548 2584 V 40 w(func)6 +b FB(:)39 b(a)31 b(callbac)m(k)h(function)e(similar)h(to)g +Ft(read\(\))390 2742 y FB(This)k(is)h(the)h(function)f(where)f(y)m(ou)i (set)f(a)h(function)f(for)f(gn)m(utls)i(to)g(receiv)m(e)h(data.)58 -b(Normally)-8 b(,)390 1117 y(if)36 b(y)m(ou)g(use)g(b)s(erk)m(eley)h +b(Normally)-8 b(,)390 2852 y(if)36 b(y)m(ou)g(use)g(b)s(erk)m(eley)h (st)m(yle)g(so)s(c)m(k)m(ets,)i(do)d(not)g(need)g(to)h(use)f(this)f -(function)h(since)h(the)f(default)390 1227 y(\(recv\(2\)\))d(will)d -(probably)g(b)s(e)g(ok.)390 1370 y(PULL)p 640 1370 V -40 w(FUNC)20 b(is)h(of)g(the)f(form,)i(ssize)p 1692 1370 -V 41 w(t)f(\(*gn)m(utls)p 2109 1370 V 41 w(pull)p 2302 -1370 V 40 w(func\)\(gn)m(utls)p 2822 1370 V 40 w(transp)s(ort)p -3235 1370 V 39 w(ptr)p 3396 1370 V 40 w(t,)i(v)m(oid*,)390 -1479 y(size)p 537 1479 V 41 w(t\);)150 1686 y Fu(gn)m(utls)p -483 1686 37 5 v 55 w(transp)s(ort)p 1042 1686 V 54 w(set)p -1248 1686 V 55 w(push)p 1555 1686 V 55 w(function)3350 -1891 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(function)h(since)h(the)f(default)390 2961 y(\(recv\(2\)\))d(will)d +(probably)g(b)s(e)g(ok.)390 3119 y(PULL)p 640 3119 V +40 w(FUNC)20 b(is)h(of)g(the)f(form,)i(ssize)p 1692 3119 +V 41 w(t)f(\(*gn)m(utls)p 2109 3119 V 41 w(pull)p 2302 +3119 V 40 w(func\)\(gn)m(utls)p 2822 3119 V 40 w(transp)s(ort)p +3235 3119 V 39 w(ptr)p 3396 3119 V 40 w(t,)i(v)m(oid*,)390 +3229 y(size)p 537 3229 V 41 w(t\);)150 3452 y Fv(gn)m(utls)p +483 3452 37 5 v 55 w(transp)s(ort)p 1042 3452 V 54 w(set)p +1248 3452 V 55 w(push)p 1555 3452 V 55 w(function)3350 +3672 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_transport_set_pus)q(h_f)q(unc)q(tio)q(n)d Fg(\()p -Ff(gn)m(utls)p 2516 1891 28 4 v 41 w(session)p 2826 1891 -V 40 w(t)565 2001 y Fe(session)12 b Ff(,)32 b(gn)m(utls)p -1244 2001 V 41 w(push)p 1474 2001 V 38 w(func)e Fe(push_func)12 -b Fg(\))390 2110 y Ff(session)p FB(:)41 b(gn)m(utls)31 -b(session)390 2253 y Ff(push)p 585 2253 V 38 w(func)6 +Ff(gn)m(utls)p 2516 3672 28 4 v 41 w(session)p 2826 3672 +V 40 w(t)565 3781 y Fe(session)p Ff(,)33 b(gn)m(utls)p +1233 3781 V 40 w(push)p 1462 3781 V 39 w(func)c Fe(push_func)12 +b Fg(\))390 3891 y Ff(session)p FB(:)41 b(gn)m(utls)31 +b(session)390 4049 y Ff(push)p 585 4049 V 38 w(func)6 b FB(:)40 b(a)30 b(callbac)m(k)j(function)d(similar)h(to)g -Fs(write\(\))390 2395 y FB(This)43 b(is)h(the)h(function)f(where)f(y)m +Ft(write\(\))390 4207 y FB(This)43 b(is)h(the)h(function)f(where)f(y)m (ou)i(set)f(a)h(push)d(function)i(for)g(gn)m(utls)g(to)h(use)f(in)g -(order)f(to)390 2505 y(send)c(data.)69 b(If)39 b(y)m(ou)h(are)g(going)h +(order)f(to)390 4317 y(send)c(data.)69 b(If)39 b(y)m(ou)h(are)g(going)h (to)g(use)e(b)s(erk)m(eley)h(st)m(yle)h(so)s(c)m(k)m(ets,)j(y)m(ou)c -(do)g(not)f(need)h(to)g(use)390 2615 y(this)34 b(function)g(since)g +(do)g(not)f(need)h(to)g(use)390 4426 y(this)34 b(function)g(since)g (the)g(default)h(\(send\(2\)\))g(will)f(probably)f(b)s(e)h(ok.)52 -b(Otherwise)34 b(y)m(ou)g(should)390 2724 y(sp)s(ecify)c(this)g +b(Otherwise)34 b(y)m(ou)g(should)390 4536 y(sp)s(ecify)c(this)g (function)g(for)g(gn)m(utls)h(to)g(b)s(e)f(able)h(to)g(send)f(data.)390 -2867 y(PUSH)p 645 2867 V 40 w(FUNC)56 b(is)g(of)h(the)f(form,)63 -b(ssize)p 1881 2867 V 40 w(t)57 b(\(*gn)m(utls)p 2333 -2867 V 41 w(push)p 2563 2867 V 38 w(func\)\(gn)m(utls)p -3081 2867 V 41 w(transp)s(ort)p 3495 2867 V 39 w(ptr)p -3656 2867 V 39 w(t,)390 2976 y(const)31 b(v)m(oid*,)h(size)p -1043 2976 V 40 w(t\);)150 3221 y FA(9.2)68 b Fu(X.509)46 -b FA(Certi\014cate)g(F)-11 b(unctions)150 3380 y FB(The)33 +4694 y(PUSH)p 645 4694 V 40 w(FUNC)56 b(is)g(of)h(the)f(form,)63 +b(ssize)p 1881 4694 V 40 w(t)57 b(\(*gn)m(utls)p 2333 +4694 V 41 w(push)p 2563 4694 V 38 w(func\)\(gn)m(utls)p +3081 4694 V 41 w(transp)s(ort)p 3495 4694 V 39 w(ptr)p +3656 4694 V 39 w(t,)390 4803 y(const)31 b(v)m(oid*,)h(size)p +1043 4803 V 40 w(t\);)150 5071 y FA(9.2)68 b Fv(X.509)46 +b FA(Certi\014cate)g(F)-11 b(unctions)150 5230 y FB(The)33 b(follo)m(wing)i(functions)d(are)i(to)g(b)s(e)f(used)f(for)h -Ft(X.509)f FB(certi\014cate)k(handling.)49 b(Their)32 -b(protot)m(yp)s(es)i(lie)150 3490 y(in)c(`)p Fs(gnutls/x509.h)p -FB('.)150 3697 y Fu(gn)m(utls)p 483 3697 37 5 v 55 w(pk)m(cs12)p -893 3697 V 54 w(bag)p 1136 3697 V 54 w(decrypt)3350 3902 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_dec)q(rypt) -f Fg(\()p Ff(gn)m(utls)p 1993 3902 28 4 v 41 w(pk)m(cs12)p -2296 3902 V 41 w(bag)p 2478 3902 V 41 w(t)30 b Fe(bag)12 -b Ff(,)31 b(const)565 4011 y(c)m(har)g(*)g Fe(pass)12 -b Fg(\))390 4121 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -4264 y Ff(pass)t FB(:)40 b(The)30 b(passw)m(ord)g(used)f(for)h -(encryption,)h(m)m(ust)f(b)s(e)g(ASCI)s(I.)390 4406 y(This)g(function)g +Fu(X.509)f FB(certi\014cate)k(handling.)49 b(Their)32 +b(protot)m(yp)s(es)i(lie)150 5340 y(in)c(`)p Ft(gnutls/x509.h)p +FB('.)p eop end +%%Page: 177 183 +TeXDict begin 177 182 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(177)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 +V 54 w(bag)p 1136 299 V 54 w(decrypt)3350 492 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_dec)q(rypt)f +Fg(\()p Ff(gn)m(utls)p 1993 492 28 4 v 41 w(pk)m(cs12)p +2296 492 V 41 w(bag)p 2478 492 V 41 w(t)30 b Fe(bag)p +Ff(,)i(const)f(c)m(har)565 601 y(*)g Fe(pass)12 b Fg(\))390 +711 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 844 y Ff(pass)t +FB(:)40 b(The)30 b(passw)m(ord)g(used)f(for)h(encryption.)41 +b(This)30 b(can)g(only)h(b)s(e)e(ASCI)s(I.)390 976 y(This)h(function)g (will)g(decrypt)g(the)h(giv)m(en)g(encrypted)f(bag)h(and)f(return)f(0)i -(on)f(success.)390 4549 y Fn(Returns:)42 b FB(On)30 b(success,)i -Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i -(an)f(error)g(co)s(de)390 4658 y(is)f(returned.)150 4865 -y Fu(gn)m(utls)p 483 4865 37 5 v 55 w(pk)m(cs12)p 893 -4865 V 54 w(bag)p 1136 4865 V 54 w(deinit)3350 5070 y -FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_pkcs12_bag_deinit)e -Fg(\()p Ff(gn)m(utls)p 1993 5070 28 4 v 41 w(pk)m(cs12)p -2296 5070 V 41 w(bag)p 2478 5070 V 41 w(t)30 b Fe(bag)12 -b Fg(\))390 5180 y Ff(bag)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e -(initialized)390 5322 y(This)h(function)g(will)g(deinitialize)j(a)e(PK) -m(CS12)f(Bag)i(structure.)p eop end -%%Page: 182 188 -TeXDict begin 182 187 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(182)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 -V 54 w(bag)p 1136 299 V 54 w(encrypt)3350 517 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_enc)q(rypt)f -Fg(\()p Ff(gn)m(utls)p 1993 517 28 4 v 41 w(pk)m(cs12)p -2296 517 V 41 w(bag)p 2478 517 V 41 w(t)30 b Fe(bag)12 -b Ff(,)31 b(const)565 626 y(c)m(har)g(*)g Fe(pass)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(flags)12 b Fg(\))390 -736 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 891 y Ff(pass)t -FB(:)40 b(The)30 b(passw)m(ord)g(used)f(for)h(encryption,)h(m)m(ust)f -(b)s(e)g(ASCI)s(I)390 1047 y Ff(\015ags)t FB(:)41 b(should)29 -b(b)s(e)h(one)g(of)h Fs(gnutls_pkcs_encrypt_flag)o(s_t)24 -b FB(elemen)m(ts)32 b(bit)m(wise)f(or'd)390 1202 y(This)f(function)g -(will)g(encrypt)g(the)h(giv)m(en)g(bag.)390 1358 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -1467 y(is)f(returned.)150 1688 y Fu(gn)m(utls)p 483 1688 -37 5 v 55 w(pk)m(cs12)p 893 1688 V 54 w(bag)p 1136 1688 -V 54 w(get)p 1355 1688 V 54 w(coun)m(t)3350 1905 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_get)q(_cou)q(nt)f -Fg(\()p Ff(gn)m(utls)p 2098 1905 28 4 v 41 w(pk)m(cs12)p -2401 1905 V 41 w(bag)p 2583 1905 V 40 w(t)31 b Fe(bag)12 -b Fg(\))390 2015 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -2170 y(This)g(function)g(will)g(return)g(the)g(n)m(um)m(b)s(er)f(of)i -(the)f(elemen)m(ts)i(withing)e(the)h(bag.)390 2326 y -Fn(Returns:)40 b FB(Num)m(b)s(er)30 b(of)g(elemen)m(ts)i(in)e(bag,)h -(or)f(an)h(negativ)m(e)h(error)e(co)s(de)h(on)f(error.)150 -2546 y Fu(gn)m(utls)p 483 2546 37 5 v 55 w(pk)m(cs12)p -893 2546 V 54 w(bag)p 1136 2546 V 54 w(get)p 1355 2546 -V 54 w(data)3350 2764 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_pkcs12_bag_get)q(_dat)q(a)f Fg(\()p Ff(gn)m(utls)p -2046 2764 28 4 v 40 w(pk)m(cs12)p 2348 2764 V 41 w(bag)p -2530 2764 V 41 w(t)31 b Fe(bag)12 b Ff(,)31 b(in)m(t)565 -2873 y Fe(indx)12 b Ff(,)31 b(gn)m(utls)p 1087 2873 V -41 w(datum)p 1386 2873 V 39 w(t)g(*)g Fe(data)12 b Fg(\))390 -2983 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 3138 y Ff(indx)6 -b FB(:)40 b(The)30 b(elemen)m(t)i(of)e(the)h(bag)g(to)g(get)g(the)g -(data)g(from)390 3294 y Ff(data)p FB(:)41 b(where)30 -b(the)h(bag's)g(data)g(will)f(b)s(e.)41 b(Should)29 b(b)s(e)g(treated)j -(as)e(constan)m(t.)390 3449 y(This)k(function)g(will)h(return)e(the)i -(bag's)g(data.)54 b(The)34 b(data)h(is)g(a)g(constan)m(t)h(that)f(is)f -(stored)h(in)m(to)390 3559 y(the)c(bag.)41 b(Should)29 -b(not)h(b)s(e)g(accessed)i(after)f(the)f(bag)h(is)f(deleted.)390 -3714 y Fn(Returns:)73 b FB(On)47 b(success,)k Fs(GNUTLS_E_SUCCESS)42 -b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 -3824 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(error)d(co)s(de)g(on)h -(error.)150 4044 y Fu(gn)m(utls)p 483 4044 37 5 v 55 -w(pk)m(cs12)p 893 4044 V 54 w(bag)p 1136 4044 V 54 w(get)p -1355 4044 V 54 w(friendly)p 1821 4044 V 55 w(name)3350 -4262 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_get)q -(_fri)q(end)q(ly_)q(nam)q(e)e Fg(\()p Ff(gn)m(utls)p -2516 4262 28 4 v 41 w(pk)m(cs12)p 2819 4262 V 41 w(bag)p -3001 4262 V 41 w(t)565 4372 y Fe(bag)12 b Ff(,)31 b(in)m(t)g -Fe(indx)12 b Ff(,)31 b(c)m(har)g(**)g Fe(name)12 b Fg(\))390 -4481 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 4637 y Ff(indx)6 -b FB(:)40 b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f(the)g(id)390 -4792 y Ff(name)5 b FB(:)41 b(will)31 b(hold)f(a)g(p)s(oin)m(ter)h(to)g -(the)f(name)h(\(to)g(b)s(e)f(treated)h(as)g(const\))390 -4948 y(This)c(function)g(will)h(return)f(the)h(friendly)f(name,)i(of)f -(the)f(sp)s(eci\014ed)h(bag)g(elemen)m(t.)41 b(The)27 -b(k)m(ey)i(ID)390 5057 y(is)h(usually)h(used)e(to)i(distinguish)f(the)g -(lo)s(cal)i(priv)-5 b(ate)31 b(k)m(ey)g(and)f(the)g(certi\014cate)j -(pair.)390 5213 y Fn(Returns:)j FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 5322 y(or)30 -b(a)h(negativ)m(e)i(v)-5 b(alue)31 b(on)f(error.)p eop -end -%%Page: 183 189 -TeXDict begin 183 188 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(183)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 -V 54 w(bag)p 1136 299 V 54 w(get)p 1355 299 V 54 w(k)m(ey)p -1592 299 V 53 w(id)3350 500 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_pkcs12_bag_get)q(_key)q(_id)f Fg(\()p -Ff(gn)m(utls)p 2150 500 28 4 v 41 w(pk)m(cs12)p 2453 -500 V 41 w(bag)p 2635 500 V 40 w(t)31 b Fe(bag)12 b Ff(,)31 -b(in)m(t)565 609 y Fe(indx)12 b Ff(,)31 b(gn)m(utls)p -1087 609 V 41 w(datum)p 1386 609 V 39 w(t)g(*)g Fe(id)12 -b Fg(\))390 719 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -857 y Ff(indx)6 b FB(:)40 b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f -(the)g(id)390 996 y Ff(id)t FB(:)40 b(where)30 b(the)g(ID)h(will)g(b)s -(e)e(copied)i(\(to)h(b)s(e)d(treated)j(as)e(const\))390 -1134 y(This)39 b(function)g(will)g(return)g(the)g(k)m(ey)h(ID,)g(of)g -(the)g(sp)s(eci\014ed)e(bag)i(elemen)m(t.)69 b(The)39 -b(k)m(ey)h(ID)g(is)390 1244 y(usually)30 b(used)g(to)h(distinguish)e -(the)i(lo)s(cal)h(priv)-5 b(ate)30 b(k)m(ey)i(and)d(the)i -(certi\014cate)h(pair.)390 1382 y Fn(Returns:)k FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)390 1492 y(or)30 -b(a)h(negativ)m(e)i(v)-5 b(alue)31 b(on)f(error.)150 -1695 y Fu(gn)m(utls)p 483 1695 37 5 v 55 w(pk)m(cs12)p -893 1695 V 54 w(bag)p 1136 1695 V 54 w(get)p 1355 1695 -V 54 w(t)m(yp)s(e)3350 1896 y FB([F)-8 b(unction])-3599 -b Fh(gnutls_pkcs12_bag_type)q(_t)59 b(gnutls_pkcs12_bag_get_t)q(ype)565 -2005 y Fg(\()p Ff(gn)m(utls)p 846 2005 28 4 v 41 w(pk)m(cs12)p -1149 2005 V 41 w(bag)p 1331 2005 V 40 w(t)31 b Fe(bag)12 -b Ff(,)31 b(in)m(t)g Fe(indx)12 b Fg(\))390 2115 y Ff(bag)c -FB(:)41 b(The)30 b(bag)390 2253 y Ff(indx)6 b FB(:)40 -b(The)30 b(elemen)m(t)i(of)e(the)h(bag)g(to)g(get)g(the)g(t)m(yp)s(e) -390 2392 y(This)f(function)g(will)g(return)g(the)g(bag's)h(t)m(yp)s(e.) -390 2530 y Fn(Returns:)40 b FB(One)30 b(of)h(the)f Fs -(gnutls_pkcs12_bag_type_t)24 b FB(en)m(umerations.)150 -2733 y Fu(gn)m(utls)p 483 2733 37 5 v 55 w(pk)m(cs12)p -893 2733 V 54 w(bag)p 1136 2733 V 54 w(init)3350 2934 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_ini)q(t)e -Fg(\()p Ff(gn)m(utls)p 1836 2934 28 4 v 41 w(pk)m(cs12)p -2139 2934 V 41 w(bag)p 2321 2934 V 41 w(t)30 b(*)h Fe(bag)12 -b Fg(\))390 3044 y Ff(bag)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e -(initialized)390 3182 y(This)j(function)g(will)g(initialize)j(a)e(PK)m -(CS12)f(bag)h(structure.)46 b(PK)m(CS12)32 b(Bags)i(usually)e(con)m -(tain)390 3292 y(priv)-5 b(ate)31 b(k)m(eys,)g(lists)g(of)f(X.509)j +(on)f(success.)150 1172 y Fv(gn)m(utls)p 483 1172 37 +5 v 55 w(pk)m(cs12)p 893 1172 V 54 w(bag)p 1136 1172 +V 54 w(deinit)3350 1365 y FB([F)-8 b(unction])-3599 b +Fh(void)54 b(gnutls_pkcs12_bag_deinit)e Fg(\()p Ff(gn)m(utls)p +1993 1365 28 4 v 41 w(pk)m(cs12)p 2296 1365 V 41 w(bag)p +2478 1365 V 41 w(t)30 b Fe(bag)12 b Fg(\))390 1474 y +Ff(bag)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e(initialized)390 +1607 y(This)h(function)g(will)g(deinitialize)j(a)e(PK)m(CS12)f(Bag)i +(structure.)150 1802 y Fv(gn)m(utls)p 483 1802 37 5 v +55 w(pk)m(cs12)p 893 1802 V 54 w(bag)p 1136 1802 V 54 +w(encrypt)3350 1995 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_pkcs12_bag_enc)q(rypt)f Fg(\()p Ff(gn)m(utls)p +1993 1995 28 4 v 41 w(pk)m(cs12)p 2296 1995 V 41 w(bag)p +2478 1995 V 41 w(t)30 b Fe(bag)p Ff(,)i(const)f(c)m(har)565 +2105 y(*)g Fe(pass)p Ff(,)h(unsigned)d(in)m(t)i Fe(flags)12 +b Fg(\))390 2214 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 +2347 y Ff(pass)t FB(:)40 b(The)30 b(passw)m(ord)g(used)f(for)h +(encryption.)41 b(This)30 b(can)g(only)h(b)s(e)e(ASCI)s(I.)390 +2480 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(one)g(of)h(gn)m(utls) +p 1565 2480 V 40 w(pk)m(cs)p 1777 2480 V 41 w(encrypt)p +2119 2480 V 39 w(\015ags)p 2335 2480 V 41 w(t)f(elemen)m(ts)i(bit)m +(wise)f(or'd)390 2612 y(This)f(function)g(will)g(encrypt)g(the)h(giv)m +(en)g(bag)g(and)f(return)f(0)i(on)f(success.)150 2808 +y Fv(gn)m(utls)p 483 2808 37 5 v 55 w(pk)m(cs12)p 893 +2808 V 54 w(bag)p 1136 2808 V 54 w(get)p 1355 2808 V +54 w(coun)m(t)3350 3001 y FB([F)-8 b(unction])-3599 b +Fh(int)53 b(gnutls_pkcs12_bag_get)q(_cou)q(nt)f Fg(\()p +Ff(gn)m(utls)p 2098 3001 28 4 v 41 w(pk)m(cs12)p 2401 +3001 V 41 w(bag)p 2583 3001 V 40 w(t)31 b Fe(bag)12 b +Fg(\))390 3110 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 +3243 y(This)g(function)g(will)g(return)g(the)g(n)m(um)m(b)s(er)f(of)i +(the)f(elemen)m(ts)i(withing)e(the)h(bag.)150 3438 y +Fv(gn)m(utls)p 483 3438 37 5 v 55 w(pk)m(cs12)p 893 3438 +V 54 w(bag)p 1136 3438 V 54 w(get)p 1355 3438 V 54 w(data)3350 +3631 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_get)q +(_dat)q(a)f Fg(\()p Ff(gn)m(utls)p 2046 3631 28 4 v 40 +w(pk)m(cs12)p 2348 3631 V 41 w(bag)p 2530 3631 V 41 w(t)31 +b Fe(bag)p Ff(,)g(in)m(t)565 3741 y Fe(indx)p Ff(,)h(gn)m(utls)p +1076 3741 V 40 w(datum)p 1374 3741 V 40 w(t)f(*)f Fe(data)12 +b Fg(\))390 3850 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 +3983 y Ff(indx)6 b FB(:)40 b(The)30 b(elemen)m(t)i(of)e(the)h(bag)g(to) +g(get)g(the)g(data)g(from)390 4115 y Ff(data)p FB(:)41 +b(where)30 b(the)h(bag's)g(data)g(will)f(b)s(e.)41 b(Should)29 +b(b)s(e)g(treated)j(as)e(constan)m(t.)390 4248 y(This)k(function)g +(will)h(return)e(the)i(bag's)g(data.)54 b(The)34 b(data)h(is)g(a)g +(constan)m(t)h(that)f(is)f(stored)h(in)m(to)390 4358 +y(the)c(bag.)41 b(Should)29 b(not)h(b)s(e)g(accessed)i(after)f(the)f +(bag)h(is)f(deleted.)390 4490 y Fn(Returns:)73 b FB(On)47 +b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise) +c(a)g(negativ)m(e)i(error)390 4600 y(v)-5 b(alue.and)31 +b(a)f(negativ)m(e)j(error)d(co)s(de)g(on)h(error.)150 +4795 y Fv(gn)m(utls)p 483 4795 37 5 v 55 w(pk)m(cs12)p +893 4795 V 54 w(bag)p 1136 4795 V 54 w(get)p 1355 4795 +V 54 w(friendly)p 1821 4795 V 55 w(name)3350 4988 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_get)q(_fri)q(end)q +(ly_)q(nam)q(e)e Fg(\()p Ff(gn)m(utls)p 2516 4988 28 +4 v 41 w(pk)m(cs12)p 2819 4988 V 41 w(bag)p 3001 4988 +V 41 w(t)565 5098 y Fe(bag)p Ff(,)32 b(in)m(t)e Fe(indx)p +Ff(,)i(c)m(har)f(**)g Fe(name)12 b Fg(\))390 5207 y Ff(bag)c +FB(:)41 b(The)30 b(bag)390 5340 y Ff(indx)6 b FB(:)40 +b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f(the)g(id)p +eop end +%%Page: 178 184 +TeXDict begin 178 183 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(178)390 299 y +Ff(name)5 b FB(:)41 b(will)31 b(hold)f(a)g(p)s(oin)m(ter)h(to)g(the)f +(name)h(\(to)g(b)s(e)f(treated)h(as)g(const\))390 441 +y(This)c(function)g(will)h(return)f(the)h(friendly)f(name,)i(of)f(the)f +(sp)s(eci\014ed)h(bag)g(elemen)m(t.)41 b(The)27 b(k)m(ey)i(ID)390 +550 y(is)h(usually)h(used)e(to)i(distinguish)f(the)g(lo)s(cal)i(priv)-5 +b(ate)31 b(k)m(ey)g(and)f(the)g(certi\014cate)j(pair.)390 +692 y Fn(Returns:)j FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)390 802 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 +b(on)f(error.)150 1009 y Fv(gn)m(utls)p 483 1009 37 5 +v 55 w(pk)m(cs12)p 893 1009 V 54 w(bag)p 1136 1009 V +54 w(get)p 1355 1009 V 54 w(k)m(ey)p 1592 1009 V 53 w(id)3350 +1213 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_get)q +(_key)q(_id)f Fg(\()p Ff(gn)m(utls)p 2150 1213 28 4 v +41 w(pk)m(cs12)p 2453 1213 V 41 w(bag)p 2635 1213 V 40 +w(t)31 b Fe(bag)p Ff(,)h(in)m(t)565 1322 y Fe(indx)p +Ff(,)g(gn)m(utls)p 1076 1322 V 40 w(datum)p 1374 1322 +V 40 w(t)f(*)f Fe(id)12 b Fg(\))390 1432 y Ff(bag)c FB(:)41 +b(The)30 b(bag)390 1574 y Ff(indx)6 b FB(:)40 b(The)30 +b(bag's)h(elemen)m(t)h(to)f(add)f(the)g(id)390 1716 y +Ff(id)t FB(:)40 b(where)30 b(the)g(ID)h(will)g(b)s(e)e(copied)i(\(to)h +(b)s(e)d(treated)j(as)e(const\))390 1858 y(This)39 b(function)g(will)g +(return)g(the)g(k)m(ey)h(ID,)g(of)g(the)g(sp)s(eci\014ed)e(bag)i +(elemen)m(t.)69 b(The)39 b(k)m(ey)h(ID)g(is)390 1968 +y(usually)30 b(used)g(to)h(distinguish)e(the)i(lo)s(cal)h(priv)-5 +b(ate)30 b(k)m(ey)i(and)d(the)i(certi\014cate)h(pair.)390 +2109 y Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)390 2219 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 +b(on)f(error.)150 2426 y Fv(gn)m(utls)p 483 2426 37 5 +v 55 w(pk)m(cs12)p 893 2426 V 54 w(bag)p 1136 2426 V +54 w(get)p 1355 2426 V 54 w(t)m(yp)s(e)3350 2630 y FB([F)-8 +b(unction])-3599 b Fh(gnutls_pkcs12_bag_type)q(_t)59 +b(gnutls_pkcs12_bag_get_t)q(ype)565 2740 y Fg(\()p Ff(gn)m(utls)p +846 2740 28 4 v 41 w(pk)m(cs12)p 1149 2740 V 41 w(bag)p +1331 2740 V 40 w(t)31 b Fe(bag)p Ff(,)h(in)m(t)e Fe(indx)12 +b Fg(\))390 2849 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 +2991 y Ff(indx)6 b FB(:)40 b(The)30 b(elemen)m(t)i(of)e(the)h(bag)g(to) +g(get)g(the)g(t)m(yp)s(e)390 3133 y(This)i(function)h(will)h(return)e +(the)i(bag's)g(t)m(yp)s(e.)52 b(One)34 b(of)h(the)f(gn)m(utls)p +2778 3133 V 40 w(pk)m(cs12)p 3080 3133 V 42 w(bag)p 3263 +3133 V 40 w(t)m(yp)s(e)p 3477 3133 V 40 w(t)h(en)m(u-)390 +3243 y(merations.)150 3449 y Fv(gn)m(utls)p 483 3449 +37 5 v 55 w(pk)m(cs12)p 893 3449 V 54 w(bag)p 1136 3449 +V 54 w(init)3350 3654 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_pkcs12_bag_ini)q(t)e Fg(\()p Ff(gn)m(utls)p +1836 3654 28 4 v 41 w(pk)m(cs12)p 2139 3654 V 41 w(bag)p +2321 3654 V 41 w(t)30 b(*)h Fe(bag)12 b Fg(\))390 3763 +y Ff(bag)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e(initialized)390 +3905 y(This)j(function)g(will)g(initialize)j(a)e(PK)m(CS12)f(bag)h +(structure.)46 b(PK)m(CS12)32 b(Bags)i(usually)e(con)m(tain)390 +4015 y(priv)-5 b(ate)31 b(k)m(eys,)g(lists)g(of)f(X.509)j (Certi\014cates)e(and)f(X.509)i(Certi\014cate)g(rev)m(o)s(cation)g -(lists.)390 3430 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 3634 y Fu(gn)m(utls)p -483 3634 37 5 v 55 w(pk)m(cs12)p 893 3634 V 54 w(bag)p -1136 3634 V 54 w(set)p 1342 3634 V 54 w(crl)3350 3834 +(lists.)390 4157 y Fn(Returns:)k FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 4363 y Fv(gn)m(utls)p +483 4363 37 5 v 55 w(pk)m(cs12)p 893 4363 V 54 w(bag)p +1136 4363 V 54 w(set)p 1342 4363 V 54 w(crl)3350 4568 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q(_crl)f -Fg(\()p Ff(gn)m(utls)p 1993 3834 28 4 v 41 w(pk)m(cs12)p -2296 3834 V 41 w(bag)p 2478 3834 V 41 w(t)30 b Fe(bag)12 -b Ff(,)565 3944 y(gn)m(utls)p 811 3944 V 41 w(x509)p -1035 3944 V 41 w(crl)p 1177 3944 V 40 w(t)31 b Fe(crl)12 -b Fg(\))390 4053 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -4192 y Ff(crl)t FB(:)40 b(the)31 b(CRL)f(to)h(b)s(e)f(copied.)390 -4330 y(This)37 b(function)h(will)h(insert)f(the)h(giv)m(en)g(CRL)f(in)m -(to)h(the)f(bag.)65 b(This)37 b(is)i(just)e(a)i(wrapp)s(er)e(o)m(v)m -(er)390 4440 y Fs(gnutls_pkcs12_bag_set_da)o(ta\(\))o -FB(.)390 4578 y Fn(Returns:)j FB(the)31 b(index)f(of)g(the)h(added)f -(bag)g(on)h(success,)g(or)f(a)h(negativ)m(e)h(v)-5 b(alue)31 -b(on)f(failure.)150 4782 y Fu(gn)m(utls)p 483 4782 37 -5 v 55 w(pk)m(cs12)p 893 4782 V 54 w(bag)p 1136 4782 -V 54 w(set)p 1342 4782 V 54 w(crt)3350 4982 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q(_crt)f -Fg(\()p Ff(gn)m(utls)p 1993 4982 28 4 v 41 w(pk)m(cs12)p -2296 4982 V 41 w(bag)p 2478 4982 V 41 w(t)30 b Fe(bag)12 -b Ff(,)565 5092 y(gn)m(utls)p 811 5092 V 41 w(x509)p -1035 5092 V 41 w(crt)p 1187 5092 V 40 w(t)31 b Fe(crt)12 -b Fg(\))390 5202 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -5340 y Ff(crt)r FB(:)41 b(the)31 b(certi\014cate)h(to)f(b)s(e)f -(copied.)p eop end -%%Page: 184 190 -TeXDict begin 184 189 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(184)390 299 y(This)25 -b(function)g(will)i(insert)e(the)h(giv)m(en)h(certi\014cate)h(in)m(to)f -(the)f(bag.)39 b(This)25 b(is)h(just)f(a)i(wrapp)s(er)d(o)m(v)m(er)390 -408 y Fs(gnutls_pkcs12_bag_set_da)o(ta\(\))o FB(.)390 -545 y Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(added)f(bag)g(on) -h(success,)g(or)f(a)h(negativ)m(e)h(v)-5 b(alue)31 b(on)f(failure.)150 -746 y Fu(gn)m(utls)p 483 746 37 5 v 55 w(pk)m(cs12)p -893 746 V 54 w(bag)p 1136 746 V 54 w(set)p 1342 746 V -54 w(data)3350 944 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_pkcs12_bag_set)q(_dat)q(a)f Fg(\()p Ff(gn)m(utls)p -2046 944 28 4 v 40 w(pk)m(cs12)p 2348 944 V 41 w(bag)p -2530 944 V 41 w(t)31 b Fe(bag)12 b Ff(,)565 1054 y(gn)m(utls)p -811 1054 V 41 w(pk)m(cs12)p 1114 1054 V 41 w(bag)p 1296 -1054 V 40 w(t)m(yp)s(e)p 1510 1054 V 40 w(t)31 b Fe(type)12 -b Ff(,)31 b(const)g(gn)m(utls)p 2370 1054 V 41 w(datum)p -2669 1054 V 39 w(t)g(*)g Fe(data)12 b Fg(\))390 1164 -y Ff(bag)c FB(:)41 b(The)30 b(bag)390 1300 y Ff(t)m(yp)s(e)5 -b FB(:)41 b(The)30 b(data's)h(t)m(yp)s(e)390 1436 y Ff(data)p -FB(:)41 b(the)31 b(data)g(to)g(b)s(e)f(copied.)390 1573 -y(This)g(function)g(will)g(insert)h(the)f(giv)m(en)i(data)f(of)f(the)h -(giv)m(en)g(t)m(yp)s(e)g(in)m(to)g(the)g(bag.)390 1709 -y Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(added)f(bag)g(on)h -(success,)g(or)f(a)h(negativ)m(e)h(v)-5 b(alue)31 b(on)f(error.)150 -1910 y Fu(gn)m(utls)p 483 1910 37 5 v 55 w(pk)m(cs12)p -893 1910 V 54 w(bag)p 1136 1910 V 54 w(set)p 1342 1910 -V 54 w(friendly)p 1808 1910 V 55 w(name)3350 2108 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q(_fri)q(end)q -(ly_)q(nam)q(e)e Fg(\()p Ff(gn)m(utls)p 2516 2108 28 -4 v 41 w(pk)m(cs12)p 2819 2108 V 41 w(bag)p 3001 2108 -V 41 w(t)565 2218 y Fe(bag)12 b Ff(,)31 b(in)m(t)g Fe(indx)12 -b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(name)12 b Fg(\))390 -2328 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 2464 y Ff(indx)6 -b FB(:)40 b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f(the)g(id)390 -2600 y Ff(name)5 b FB(:)41 b(the)30 b(name)390 2737 y(This)37 -b(function)g(will)h(add)f(the)h(giv)m(en)h(k)m(ey)f(friendly)f(name,)j -(to)f(the)f(sp)s(eci\014ed,)h(b)m(y)e(the)h(index,)390 -2846 y(bag)31 b(elemen)m(t.)42 b(The)30 b(name)h(will)f(b)s(e)g(enco)s -(ded)g(as)h(a)g('F)-8 b(riendly)31 b(name')f(bag)h(attribute,)h(whic)m -(h)e(is)390 2956 y(usually)g(used)g(to)h(set)g(a)f(user)g(name)h(to)g -(the)f(lo)s(cal)i(priv)-5 b(ate)31 b(k)m(ey)g(and)f(the)g -(certi\014cate)j(pair.)390 3092 y Fn(Returns:)j FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)390 3202 y(or)30 -b(a)h(negativ)m(e)i(v)-5 b(alue)31 b(on)f(error.)150 -3403 y Fu(gn)m(utls)p 483 3403 37 5 v 55 w(pk)m(cs12)p -893 3403 V 54 w(bag)p 1136 3403 V 54 w(set)p 1342 3403 -V 54 w(k)m(ey)p 1579 3403 V 53 w(id)3350 3601 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q(_key)q(_id)f -Fg(\()p Ff(gn)m(utls)p 2150 3601 28 4 v 41 w(pk)m(cs12)p -2453 3601 V 41 w(bag)p 2635 3601 V 40 w(t)31 b Fe(bag)12 -b Ff(,)31 b(in)m(t)565 3711 y Fe(indx)12 b Ff(,)31 b(const)g(gn)m(utls) -p 1325 3711 V 41 w(datum)p 1624 3711 V 39 w(t)g(*)g Fe(id)12 -b Fg(\))390 3820 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 -3957 y Ff(indx)6 b FB(:)40 b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f -(the)g(id)390 4093 y Ff(id)t FB(:)40 b(the)31 b(ID)390 -4229 y(This)g(function)g(will)h(add)e(the)i(giv)m(en)h(k)m(ey)f(ID,)g -(to)g(the)g(sp)s(eci\014ed,)f(b)m(y)g(the)h(index,)f(bag)h(elemen)m(t.) -390 4339 y(The)d(k)m(ey)h(ID)g(will)g(b)s(e)f(enco)s(ded)g(as)g(a)h -('Lo)s(cal)h(k)m(ey)f(iden)m(ti\014er')g(bag)g(attribute,)g(whic)m(h)g -(is)f(usually)390 4449 y(used)h(to)h(distinguish)e(the)i(lo)s(cal)h -(priv)-5 b(ate)30 b(k)m(ey)h(and)f(the)h(certi\014cate)h(pair.)390 -4585 y Fn(Returns:)k FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +Fg(\()p Ff(gn)m(utls)p 1993 4568 28 4 v 41 w(pk)m(cs12)p +2296 4568 V 41 w(bag)p 2478 4568 V 41 w(t)30 b Fe(bag)p +Ff(,)565 4677 y(gn)m(utls)p 811 4677 V 41 w(x509)p 1035 +4677 V 41 w(crl)p 1177 4677 V 40 w(t)h Fe(crl)12 b Fg(\))390 +4787 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 4929 y Ff(crl)t +FB(:)40 b(the)31 b(CRL)f(to)h(b)s(e)f(copied.)390 5071 +y(This)37 b(function)h(will)h(insert)f(the)h(giv)m(en)g(CRL)f(in)m(to)h +(the)f(bag.)65 b(This)37 b(is)i(just)e(a)i(wrapp)s(er)e(o)m(v)m(er)390 +5180 y Ft(gnutls_pkcs12_bag_set_da)o(ta\(\))o FB(.)390 +5322 y Fn(Returns:)j FB(the)31 b(index)f(of)g(the)h(added)f(bag)g(on)h +(success,)g(or)f(a)h(negativ)m(e)h(v)-5 b(alue)31 b(on)f(failure.)p +eop end +%%Page: 179 185 +TeXDict begin 179 184 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(179)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 +V 54 w(bag)p 1136 299 V 54 w(set)p 1342 299 V 54 w(crt)3350 +494 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q +(_crt)f Fg(\()p Ff(gn)m(utls)p 1993 494 28 4 v 41 w(pk)m(cs12)p +2296 494 V 41 w(bag)p 2478 494 V 41 w(t)30 b Fe(bag)p +Ff(,)565 604 y(gn)m(utls)p 811 604 V 41 w(x509)p 1035 +604 V 41 w(crt)p 1187 604 V 40 w(t)h Fe(crt)12 b Fg(\))390 +713 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 847 y Ff(crt)r +FB(:)41 b(the)31 b(certi\014cate)h(to)f(b)s(e)f(copied.)390 +981 y(This)25 b(function)g(will)i(insert)e(the)h(giv)m(en)h +(certi\014cate)h(in)m(to)f(the)f(bag.)39 b(This)25 b(is)h(just)f(a)i +(wrapp)s(er)d(o)m(v)m(er)390 1090 y Ft(gnutls_pkcs12_bag_set_da)o +(ta\(\))o FB(.)390 1224 y Fn(Returns:)40 b FB(the)31 +b(index)f(of)g(the)h(added)f(bag)g(on)h(success,)g(or)f(a)h(negativ)m +(e)h(v)-5 b(alue)31 b(on)f(failure.)150 1422 y Fv(gn)m(utls)p +483 1422 37 5 v 55 w(pk)m(cs12)p 893 1422 V 54 w(bag)p +1136 1422 V 54 w(set)p 1342 1422 V 54 w(data)3350 1617 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q(_dat) +q(a)f Fg(\()p Ff(gn)m(utls)p 2046 1617 28 4 v 40 w(pk)m(cs12)p +2348 1617 V 41 w(bag)p 2530 1617 V 41 w(t)31 b Fe(bag)p +Ff(,)565 1726 y(gn)m(utls)p 811 1726 V 41 w(pk)m(cs12)p +1114 1726 V 41 w(bag)p 1296 1726 V 40 w(t)m(yp)s(e)p +1510 1726 V 40 w(t)g Fe(type)p Ff(,)h(const)f(gn)m(utls)p +2359 1726 V 40 w(datum)p 2657 1726 V 40 w(t)f(*)h Fe(data)12 +b Fg(\))390 1836 y Ff(bag)c FB(:)41 b(The)30 b(bag)390 +1970 y Ff(t)m(yp)s(e)5 b FB(:)41 b(The)30 b(data's)h(t)m(yp)s(e)390 +2103 y Ff(data)p FB(:)41 b(the)31 b(data)g(to)g(b)s(e)f(copied.)390 +2237 y(This)g(function)g(will)g(insert)h(the)f(giv)m(en)i(data)f(of)f +(the)h(giv)m(en)g(t)m(yp)s(e)g(in)m(to)g(the)g(bag.)390 +2371 y Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(added)f(bag)g +(on)h(success,)g(or)f(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(on)f(error.)150 2569 y Fv(gn)m(utls)p 483 2569 37 5 +v 55 w(pk)m(cs12)p 893 2569 V 54 w(bag)p 1136 2569 V +54 w(set)p 1342 2569 V 54 w(friendly)p 1808 2569 V 55 +w(name)3350 2764 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_pkcs12_bag_set)q(_fri)q(end)q(ly_)q(nam)q(e)e +Fg(\()p Ff(gn)m(utls)p 2516 2764 28 4 v 41 w(pk)m(cs12)p +2819 2764 V 41 w(bag)p 3001 2764 V 41 w(t)565 2873 y +Fe(bag)p Ff(,)32 b(in)m(t)e Fe(indx)p Ff(,)i(const)f(c)m(har)g(*)g +Fe(name)12 b Fg(\))390 2983 y Ff(bag)c FB(:)41 b(The)30 +b(bag)390 3117 y Ff(indx)6 b FB(:)40 b(The)30 b(bag's)h(elemen)m(t)h +(to)f(add)f(the)g(id)390 3250 y Ff(name)5 b FB(:)41 b(the)30 +b(name)390 3384 y(This)37 b(function)g(will)h(add)f(the)h(giv)m(en)h(k) +m(ey)f(friendly)f(name,)j(to)f(the)f(sp)s(eci\014ed,)h(b)m(y)e(the)h +(index,)390 3494 y(bag)31 b(elemen)m(t.)42 b(The)30 b(name)h(will)f(b)s +(e)g(enco)s(ded)g(as)h(a)g('F)-8 b(riendly)31 b(name')f(bag)h +(attribute,)h(whic)m(h)e(is)390 3603 y(usually)g(used)g(to)h(set)g(a)f +(user)g(name)h(to)g(the)f(lo)s(cal)i(priv)-5 b(ate)31 +b(k)m(ey)g(and)f(the)g(certi\014cate)j(pair.)390 3737 +y Fn(Returns:)j FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4694 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 -b(on)f(error.)150 4896 y Fu(gn)m(utls)p 483 4896 37 5 -v 55 w(pk)m(cs12)p 893 4896 V 54 w(deinit)3350 5094 y -FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_pkcs12_deinit)d -Fg(\()p Ff(gn)m(utls)p 1784 5094 28 4 v 41 w(pk)m(cs12)p -2087 5094 V 41 w(t)31 b Fe(pkcs12)12 b Fg(\))390 5204 -y Ff(pk)m(cs12)7 b FB(:)42 b(The)30 b(structure)g(to)h(b)s(e)f -(initialized)390 5340 y(This)g(function)g(will)g(deinitialize)j(a)e(PK) -m(CS12)f(structure.)p eop end -%%Page: 185 191 -TeXDict begin 185 190 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(185)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 -V 54 w(exp)s(ort)3350 498 y FB([F)-8 b(unction])-3599 +b(alue.)390 3847 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 +b(on)f(error.)150 4044 y Fv(gn)m(utls)p 483 4044 37 5 +v 55 w(pk)m(cs12)p 893 4044 V 54 w(bag)p 1136 4044 V +54 w(set)p 1342 4044 V 54 w(k)m(ey)p 1579 4044 V 53 w(id)3350 +4239 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_bag_set)q +(_key)q(_id)f Fg(\()p Ff(gn)m(utls)p 2150 4239 28 4 v +41 w(pk)m(cs12)p 2453 4239 V 41 w(bag)p 2635 4239 V 40 +w(t)31 b Fe(bag)p Ff(,)h(in)m(t)565 4349 y Fe(indx)p +Ff(,)g(const)f(gn)m(utls)p 1314 4349 V 40 w(datum)p 1612 +4349 V 40 w(t)f(*)h Fe(id)12 b Fg(\))390 4459 y Ff(bag)c +FB(:)41 b(The)30 b(bag)390 4592 y Ff(indx)6 b FB(:)40 +b(The)30 b(bag's)h(elemen)m(t)h(to)f(add)f(the)g(id)390 +4726 y Ff(id)t FB(:)40 b(the)31 b(ID)390 4860 y(This)g(function)g(will) +h(add)e(the)i(giv)m(en)h(k)m(ey)f(ID,)g(to)g(the)g(sp)s(eci\014ed,)f(b) +m(y)g(the)h(index,)f(bag)h(elemen)m(t.)390 4969 y(The)d(k)m(ey)h(ID)g +(will)g(b)s(e)f(enco)s(ded)g(as)g(a)h('Lo)s(cal)h(k)m(ey)f(iden)m +(ti\014er')g(bag)g(attribute,)g(whic)m(h)g(is)f(usually)390 +5079 y(used)h(to)h(distinguish)e(the)i(lo)s(cal)h(priv)-5 +b(ate)30 b(k)m(ey)h(and)f(the)h(certi\014cate)h(pair.)390 +5213 y Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)390 5322 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 +b(on)f(error.)p eop end +%%Page: 180 186 +TeXDict begin 180 185 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(180)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 +V 54 w(deinit)3350 509 y FB([F)-8 b(unction])-3599 b +Fh(void)54 b(gnutls_pkcs12_deinit)d Fg(\()p Ff(gn)m(utls)p +1784 509 28 4 v 41 w(pk)m(cs12)p 2087 509 V 41 w(t)31 +b Fe(pkcs12)12 b Fg(\))390 618 y Ff(pk)m(cs12)7 b FB(:)42 +b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 766 +y(This)g(function)g(will)g(deinitialize)j(a)e(PK)m(CS12)f(structure.) +150 978 y Fv(gn)m(utls)p 483 978 37 5 v 55 w(pk)m(cs12)p +893 978 V 54 w(exp)s(ort)3350 1188 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_export)f Fg(\()p Ff(gn)m(utls)p -1732 498 28 4 v 40 w(pk)m(cs12)p 2034 498 V 42 w(t)30 -b Fe(pkcs12)12 b Ff(,)565 608 y(gn)m(utls)p 811 608 V -41 w(x509)p 1035 608 V 41 w(crt)p 1187 608 V 40 w(fm)m(t)p -1363 608 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)g -Fe(output_data)12 b Ff(,)33 b(size)p 2906 608 V 41 w(t)e(*)565 -717 y Fe(output_data_size)12 b Fg(\))390 827 y Ff(pk)m(cs12)7 +1732 1188 28 4 v 40 w(pk)m(cs12)p 2034 1188 V 42 w(t)30 +b Fe(pkcs12)p Ff(,)565 1297 y(gn)m(utls)p 811 1297 V +41 w(x509)p 1035 1297 V 41 w(crt)p 1187 1297 V 40 w(fm)m(t)p +1363 1297 V 41 w(t)g Fe(format)p Ff(,)j(v)m(oid)e(*)f +Fe(output_data)p Ff(,)k(size)p 2883 1297 V 41 w(t)d(*)565 +1407 y Fe(output_data_size)12 b Fg(\))390 1516 y Ff(pk)m(cs12)7 b FB(:)42 b(Holds)31 b(the)f(pk)m(cs12)i(structure)390 -963 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 1100 y Ff(output)p -664 1100 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(structure)g -(PEM)h(or)f(DER)g(enco)s(ded)390 1237 y Ff(output)p 664 -1237 V 40 w(data)p 880 1237 V 40 w(size)5 b FB(:)49 b(holds)34 -b(the)g(size)h(of)f(output)p 2093 1237 V 39 w(data)h(\(and)f(will)g(b)s -(e)f(replaced)i(b)m(y)e(the)i(actual)390 1347 y(size)c(of)g -(parameters\))390 1483 y(This)f(function)g(will)g(exp)s(ort)g(the)h(pk) +1664 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 1811 y Ff(output)p +664 1811 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(structure)g +(PEM)h(or)f(DER)g(enco)s(ded)390 1959 y Ff(output)p 664 +1959 V 40 w(data)p 880 1959 V 40 w(size)5 b FB(:)49 b(holds)34 +b(the)g(size)h(of)f(output)p 2093 1959 V 39 w(data)h(\(and)f(will)g(b)s +(e)f(replaced)i(b)m(y)e(the)i(actual)390 2069 y(size)c(of)g +(parameters\))390 2216 y(This)f(function)g(will)g(exp)s(ort)g(the)h(pk) m(cs12)g(structure)f(to)h(DER)g(or)f(PEM)h(format.)390 -1620 y(If)f(the)h(bu\013er)f(pro)m(vided)g(is)g(not)h(long)h(enough)e -(to)h(hold)g(the)f(output,)h(then)f(*output)p 3357 1620 -V 40 w(data)p 3573 1620 V 41 w(size)390 1730 y(will)h(b)s(e)e(up)s -(dated)h(and)f(GNUTLS)p 1605 1730 V 40 w(E)p 1707 1730 -V 40 w(SHOR)-8 b(T)p 2062 1730 V 39 w(MEMOR)g(Y)p 2527 -1730 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 -1867 y(If)g(the)g(structure)g(is)h(PEM)f(enco)s(ded,)g(it)h(will)g(ha)m -(v)m(e)h(a)e(header)h(of)f Fs(")p FB(BEGIN)h(PK)m(CS12)p -Fs(")p FB(.)390 2003 y Fn(Return)f(v)-5 b(alue:)41 b +2364 y(If)f(the)h(bu\013er)f(pro)m(vided)g(is)g(not)h(long)h(enough)e +(to)h(hold)g(the)f(output,)h(then)f(*output)p 3357 2364 +V 40 w(data)p 3573 2364 V 41 w(size)390 2473 y(will)h(b)s(e)e(up)s +(dated)h(and)f(GNUTLS)p 1605 2473 V 40 w(E)p 1707 2473 +V 40 w(SHOR)-8 b(T)p 2062 2473 V 39 w(MEMOR)g(Y)p 2527 +2473 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 +2621 y(If)g(the)g(structure)g(is)h(PEM)f(enco)s(ded,)g(it)h(will)g(ha)m +(v)m(e)h(a)e(header)h(of)f Ft(")p FB(BEGIN)h(PK)m(CS12)p +Ft(")p FB(.)390 2768 y Fn(Return)f(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f(a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0)h(on)f(success.)150 -2205 y Fu(gn)m(utls)p 483 2205 37 5 v 55 w(pk)m(cs12)p -893 2205 V 54 w(generate)p 1402 2205 V 54 w(mac)3350 -2404 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_generat)q -(e_ma)q(c)f Fg(\()p Ff(gn)m(utls)p 2046 2404 28 4 v 40 -w(pk)m(cs12)p 2348 2404 V 41 w(t)31 b Fe(pkcs12)12 b -Ff(,)32 b(const)565 2513 y(c)m(har)f(*)g Fe(pass)12 b -Fg(\))390 2623 y Ff(pk)m(cs12)7 b FB(:)42 b(should)29 -b(con)m(tain)j(a)f(gn)m(utls)p 1657 2623 V 40 w(pk)m(cs12)p -1959 2623 V 41 w(t)g(structure)390 2760 y Ff(pass)t FB(:)40 -b(The)30 b(passw)m(ord)g(for)g(the)g(MA)m(C)390 2897 -y(This)g(function)g(will)g(generate)i(a)f(MA)m(C)g(for)f(the)h(PK)m -(CS12)f(structure.)390 3033 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 3235 y Fu(gn)m(utls)p -483 3235 37 5 v 55 w(pk)m(cs12)p 893 3235 V 54 w(get)p -1112 3235 V 54 w(bag)3350 3434 y FB([F)d(unction])-3599 +2980 y Fv(gn)m(utls)p 483 2980 37 5 v 55 w(pk)m(cs12)p +893 2980 V 54 w(generate)p 1402 2980 V 54 w(mac)3350 +3190 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_generat)q +(e_ma)q(c)f Fg(\()p Ff(gn)m(utls)p 2046 3190 28 4 v 40 +w(pk)m(cs12)p 2348 3190 V 41 w(t)31 b Fe(pkcs12)p Ff(,)h(const)565 +3300 y(c)m(har)f(*)g Fe(pass)12 b Fg(\))390 3409 y Ff(pk)m(cs12)7 +b FB(:)42 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1657 3409 V 40 w(pk)m(cs12)p 1959 3409 V 41 w(t)g(structure)390 +3557 y Ff(pass)t FB(:)40 b(The)30 b(passw)m(ord)g(for)g(the)g(MA)m(C) +390 3704 y(This)g(function)g(will)g(generate)i(a)f(MA)m(C)g(for)f(the)h +(PK)m(CS12)f(structure.)390 3852 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 4064 y Fv(gn)m(utls)p +483 4064 37 5 v 55 w(pk)m(cs12)p 893 4064 V 54 w(get)p +1112 4064 V 54 w(bag)3350 4274 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_get_bag)f Fg(\()p Ff(gn)m(utls)p -1784 3434 28 4 v 41 w(pk)m(cs12)p 2087 3434 V 41 w(t)31 -b Fe(pkcs12)12 b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)565 -3544 y(gn)m(utls)p 811 3544 V 41 w(pk)m(cs12)p 1114 3544 -V 41 w(bag)p 1296 3544 V 40 w(t)31 b Fe(bag)12 b Fg(\))390 -3653 y Ff(pk)m(cs12)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)f(gn)m -(utls)p 1657 3653 V 40 w(pk)m(cs12)p 1959 3653 V 41 w(t)g(structure)390 -3790 y Ff(indx)6 b FB(:)40 b(con)m(tains)32 b(the)e(index)g(of)h(the)f -(bag)h(to)g(extract)390 3927 y Ff(bag)8 b FB(:)41 b(An)30 +1784 4274 28 4 v 41 w(pk)m(cs12)p 2087 4274 V 41 w(t)31 +b Fe(pkcs12)p Ff(,)h(in)m(t)f Fe(indx)p Ff(,)565 4383 +y(gn)m(utls)p 811 4383 V 41 w(pk)m(cs12)p 1114 4383 V +41 w(bag)p 1296 4383 V 40 w(t)g Fe(bag)12 b Fg(\))390 +4493 y Ff(pk)m(cs12)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1657 4493 V 40 w(pk)m(cs12)p 1959 4493 V 41 w(t)g(structure)390 +4640 y Ff(indx)6 b FB(:)40 b(con)m(tains)32 b(the)e(index)g(of)h(the)f +(bag)h(to)g(extract)390 4788 y Ff(bag)8 b FB(:)41 b(An)30 b(initialized)i(bag,)f(where)f(the)g(con)m(ten)m(ts)j(of)d(the)h(bag)f -(will)h(b)s(e)f(copied)390 4064 y(This)g(function)g(will)g(return)g(a)g -(Bag)i(from)e(the)g(PK)m(CS12)h(structure.)390 4200 y -Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(will)h(b)s(e)f(copied)390 4935 y(This)g(function)g(will)g(return)g(a)g +(Bag)i(from)e(the)g(PK)m(CS12)h(structure.)390 5083 y +Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4337 y(After)21 b(the)f(last)h(Bag)h(has)e(b)s(een)f(read)h -(GNUTLS)p 2037 4337 V 40 w(E)p 2139 4337 V 40 w(REQUESTED)p -2757 4337 V 39 w(D)m(A)-8 b(T)g(A)p 3048 4337 V 42 w(NOT)p -3295 4337 V 39 w(A)e(V)g(AILABLE)390 4447 y(will)31 b(b)s(e)e -(returned.)150 4648 y Fu(gn)m(utls)p 483 4648 37 5 v -55 w(pk)m(cs12)p 893 4648 V 54 w(imp)s(ort)3350 4847 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_import)f -Fg(\()p Ff(gn)m(utls)p 1732 4847 28 4 v 40 w(pk)m(cs12)p -2034 4847 V 42 w(t)30 b Fe(pkcs12)12 b Ff(,)32 b(const)565 -4957 y(gn)m(utls)p 811 4957 V 41 w(datum)p 1110 4957 -V 39 w(t)f(*)g Fe(data)12 b Ff(,)31 b(gn)m(utls)p 1807 -4957 V 40 w(x509)p 2030 4957 V 42 w(crt)p 2183 4957 V -40 w(fm)m(t)p 2359 4957 V 40 w(t)g Fe(format)12 b Ff(,)32 -b(unsigned)d(in)m(t)i Fe(flags)12 b Fg(\))390 5066 y -Ff(pk)m(cs12)7 b FB(:)42 b(The)30 b(structure)g(to)h(store)g(the)f -(parsed)g(PK)m(CS12.)390 5203 y Ff(data)p FB(:)41 b(The)30 -b(DER)h(or)f(PEM)h(enco)s(ded)f(PK)m(CS12.)390 5340 y -Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)p -eop end -%%Page: 186 192 -TeXDict begin 186 191 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(186)390 299 y -Ff(\015ags)t FB(:)41 b(an)30 b(ORed)g(sequence)h(of)f(gn)m(utls)p -1748 299 28 4 v 40 w(privk)m(ey)p 2081 299 V 41 w(pk)m(cs8)p -2339 299 V 40 w(\015ags)390 431 y(This)38 b(function)g(will)g(con)m(v)m -(ert)i(the)f(giv)m(en)g(DER)g(or)f(PEM)g(enco)s(ded)g(PK)m(CS12)h(to)g -(the)g(nativ)m(e)390 541 y(gn)m(utls)p 636 541 V 40 w(pk)m(cs12)p -938 541 V 42 w(t)30 b(format.)41 b(The)30 b(output)g(will)h(b)s(e)f -(stored)g(in)g('pk)m(cs12'.)390 673 y(If)g(the)g(PK)m(CS12)h(is)f(PEM)h -(enco)s(ded)f(it)h(should)e(ha)m(v)m(e)j(a)e(header)h(of)f -Fs(")p FB(PK)m(CS12)p Fs(")p FB(.)390 806 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1001 y Fu(gn)m(utls)p 483 1001 37 5 v 55 -w(pk)m(cs12)p 893 1001 V 54 w(init)3350 1194 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_pkcs12_init)e Fg(\()p Ff(gn)m(utls)p -1627 1194 28 4 v 41 w(pk)m(cs12)p 1930 1194 V 41 w(t)31 -b(*)f Fe(pkcs12)12 b Fg(\))390 1304 y Ff(pk)m(cs12)7 -b FB(:)42 b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 -1436 y(This)f(function)g(will)h(initialize)i(a)e(PK)m(CS12)g -(structure.)40 b(PK)m(CS12)29 b(structures)g(usually)h(con)m(tain)390 -1546 y(lists)h(of)f(X.509)j(Certi\014cates)e(and)f(X.509)i -(Certi\014cate)g(rev)m(o)s(cation)g(lists.)390 1678 y -Fn(Returns:)k FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +b(alue.)390 5230 y(After)21 b(the)f(last)h(Bag)h(has)e(b)s(een)f(read)h +(GNUTLS)p 2037 5230 V 40 w(E)p 2139 5230 V 40 w(REQUESTED)p +2757 5230 V 39 w(D)m(A)-8 b(T)g(A)p 3048 5230 V 42 w(NOT)p +3295 5230 V 39 w(A)e(V)g(AILABLE)390 5340 y(will)31 b(b)s(e)e +(returned.)p eop end +%%Page: 181 187 +TeXDict begin 181 186 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(181)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs12)p 893 299 +V 54 w(imp)s(ort)3350 502 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_pkcs12_import)f Fg(\()p Ff(gn)m(utls)p +1732 502 28 4 v 40 w(pk)m(cs12)p 2034 502 V 42 w(t)30 +b Fe(pkcs12)p Ff(,)j(const)565 611 y(gn)m(utls)p 811 +611 V 41 w(datum)p 1110 611 V 39 w(t)e(*)g Fe(data)p +Ff(,)g(gn)m(utls)p 1795 611 V 41 w(x509)p 2019 611 V +41 w(crt)p 2171 611 V 40 w(fm)m(t)p 2347 611 V 41 w(t)f +Fe(format)p Ff(,)j(unsigned)c(in)m(t)i Fe(flags)12 b +Fg(\))390 721 y Ff(pk)m(cs12)7 b FB(:)42 b(The)30 b(structure)g(to)h +(store)g(the)f(parsed)g(PK)m(CS12.)390 862 y Ff(data)p +FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(PK)m(CS12.)390 +1002 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 +1143 y Ff(\015ags)t FB(:)41 b(an)30 b(ORed)g(sequence)h(of)f(gn)m(utls) +p 1748 1143 V 40 w(privk)m(ey)p 2081 1143 V 41 w(pk)m(cs8)p +2339 1143 V 40 w(\015ags)390 1283 y(This)38 b(function)g(will)g(con)m +(v)m(ert)i(the)f(giv)m(en)g(DER)g(or)f(PEM)g(enco)s(ded)g(PK)m(CS12)h +(to)g(the)g(nativ)m(e)390 1393 y(gn)m(utls)p 636 1393 +V 40 w(pk)m(cs12)p 938 1393 V 42 w(t)30 b(format.)41 +b(The)30 b(output)g(will)h(b)s(e)f(stored)g(in)g('pk)m(cs12'.)390 +1534 y(If)g(the)g(PK)m(CS12)h(is)f(PEM)h(enco)s(ded)f(it)h(should)e(ha) +m(v)m(e)j(a)e(header)h(of)f Ft(")p FB(PK)m(CS12)p Ft(")p +FB(.)390 1674 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1880 y Fv(gn)m(utls)p +483 1880 37 5 v 55 w(pk)m(cs12)p 893 1880 V 54 w(init)3350 +2083 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_init)e +Fg(\()p Ff(gn)m(utls)p 1627 2083 28 4 v 41 w(pk)m(cs12)p +1930 2083 V 41 w(t)31 b(*)f Fe(pkcs12)12 b Fg(\))390 +2192 y Ff(pk)m(cs12)7 b FB(:)42 b(The)30 b(structure)g(to)h(b)s(e)f +(initialized)390 2333 y(This)f(function)g(will)h(initialize)i(a)e(PK)m +(CS12)g(structure.)40 b(PK)m(CS12)29 b(structures)g(usually)h(con)m +(tain)390 2442 y(lists)h(of)f(X.509)j(Certi\014cates)e(and)f(X.509)i +(Certi\014cate)g(rev)m(o)s(cation)g(lists.)390 2583 y +Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1873 y Fu(gn)m(utls)p 483 1873 37 5 v 55 -w(pk)m(cs12)p 893 1873 V 54 w(set)p 1099 1873 V 54 w(bag)3350 -2066 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_set_bag)f -Fg(\()p Ff(gn)m(utls)p 1784 2066 28 4 v 41 w(pk)m(cs12)p -2087 2066 V 41 w(t)31 b Fe(pkcs12)12 b Ff(,)565 2176 -y(gn)m(utls)p 811 2176 V 41 w(pk)m(cs12)p 1114 2176 V -41 w(bag)p 1296 2176 V 40 w(t)31 b Fe(bag)12 b Fg(\))390 -2285 y Ff(pk)m(cs12)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)f(gn)m -(utls)p 1657 2285 V 40 w(pk)m(cs12)p 1959 2285 V 41 w(t)g(structure)390 -2418 y Ff(bag)8 b FB(:)41 b(An)30 b(initialized)i(bag)390 -2550 y(This)e(function)g(will)g(insert)h(a)f(Bag)i(in)m(to)f(the)g(PK)m -(CS12)f(structure.)390 2683 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2878 y Fu(gn)m(utls)p -483 2878 37 5 v 55 w(pk)m(cs12)p 893 2878 V 54 w(v)m(erify)p -1251 2878 V 54 w(mac)3350 3071 y FB([F)d(unction])-3599 +b(alue.)150 2788 y Fv(gn)m(utls)p 483 2788 37 5 v 55 +w(pk)m(cs12)p 893 2788 V 54 w(set)p 1099 2788 V 54 w(bag)3350 +2991 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_set_bag)f +Fg(\()p Ff(gn)m(utls)p 1784 2991 28 4 v 41 w(pk)m(cs12)p +2087 2991 V 41 w(t)31 b Fe(pkcs12)p Ff(,)565 3101 y(gn)m(utls)p +811 3101 V 41 w(pk)m(cs12)p 1114 3101 V 41 w(bag)p 1296 +3101 V 40 w(t)g Fe(bag)12 b Fg(\))390 3210 y Ff(pk)m(cs12)7 +b FB(:)42 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1657 3210 V 40 w(pk)m(cs12)p 1959 3210 V 41 w(t)g(structure)390 +3351 y Ff(bag)8 b FB(:)41 b(An)30 b(initialized)i(bag)390 +3492 y(This)e(function)g(will)g(insert)h(a)f(Bag)i(in)m(to)f(the)g(PK)m +(CS12)f(structure.)390 3632 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 3838 y Fv(gn)m(utls)p +483 3838 37 5 v 55 w(pk)m(cs12)p 893 3838 V 54 w(v)m(erify)p +1251 3838 V 54 w(mac)3350 4040 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs12_verify_)q(mac)f Fg(\()p Ff(gn)m(utls)p -1941 3071 28 4 v 41 w(pk)m(cs12)p 2244 3071 V 41 w(t)30 -b Fe(pkcs12)12 b Ff(,)32 b(const)f(c)m(har)565 3180 y(*)g -Fe(pass)12 b Fg(\))390 3290 y Ff(pk)m(cs12)7 b FB(:)42 -b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1657 3290 -V 40 w(pk)m(cs12)p 1959 3290 V 41 w(t)g(structure)390 -3423 y Ff(pass)t FB(:)40 b(The)30 b(passw)m(ord)g(for)g(the)g(MA)m(C) -390 3555 y(This)g(function)g(will)g(v)m(erify)h(the)g(MA)m(C)g(for)f -(the)g(PK)m(CS12)h(structure.)390 3688 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3883 y Fu(gn)m(utls)p 483 3883 37 5 v 55 -w(pk)m(cs7)p 832 3883 V 53 w(deinit)3350 4076 y FB([F)d(unction])-3599 -b Fh(void)54 b(gnutls_pkcs7_deinit)d Fg(\()p Ff(gn)m(utls)p -1732 4076 28 4 v 40 w(pk)m(cs7)p 1989 4076 V 41 w(t)31 -b Fe(pkcs7)12 b Fg(\))390 4185 y Ff(pk)m(cs7)7 b FB(:)42 -b(The)29 b(structure)h(to)h(b)s(e)f(initialized)390 4318 -y(This)g(function)g(will)g(deinitialize)j(a)e(PK)m(CS7)f(structure.)150 -4513 y Fu(gn)m(utls)p 483 4513 37 5 v 55 w(pk)m(cs7)p -832 4513 V 53 w(delete)p 1203 4513 V 54 w(crl)3350 4706 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_delete_c)q(rl)f -Fg(\()p Ff(gn)m(utls)p 1889 4706 28 4 v 40 w(pk)m(cs7)p -2146 4706 V 41 w(t)31 b Fe(pkcs7)12 b Ff(,)31 b(in)m(t)g -Fe(indx)12 b Fg(\))390 4815 y Ff(pk)m(cs7)7 b FB(:)42 -b(should)29 b(con)m(tain)j(a)e Fs(gnutls_pkcs7_t)d FB(structure)390 -4948 y Ff(indx)6 b FB(:)40 b(the)31 b(index)f(of)g(the)h(crl)f(to)h -(delete)390 5080 y(This)g(function)h(will)h(delete)g(a)f(crl)h(from)e -(a)i(PK)m(CS7)f(or)g(RF)m(C2630)i(crl)e(set.)47 b(Index)31 -b(starts)h(from)390 5190 y(0.)41 b(Returns)30 b(0)g(on)h(success.)390 -5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 187 193 -TeXDict begin 187 192 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(187)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs7)p 832 299 -V 53 w(delete)p 1203 299 V 54 w(crt)3350 491 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_delete_c)q(rt)f -Fg(\()p Ff(gn)m(utls)p 1889 491 28 4 v 40 w(pk)m(cs7)p -2146 491 V 41 w(t)31 b Fe(pkcs7)12 b Ff(,)31 b(in)m(t)g -Fe(indx)12 b Fg(\))390 601 y Ff(pk)m(cs7)7 b FB(:)42 -b(should)29 b(con)m(tain)j(a)e(gn)m(utls)p 1611 601 V -41 w(pk)m(cs7)p 1869 601 V 41 w(t)g(structure)390 733 +1941 4040 28 4 v 41 w(pk)m(cs12)p 2244 4040 V 41 w(t)30 +b Fe(pkcs12)p Ff(,)j(const)e(c)m(har)g(*)565 4150 y Fe(pass)12 +b Fg(\))390 4260 y Ff(pk)m(cs12)7 b FB(:)42 b(should)29 +b(con)m(tain)j(a)f(gn)m(utls)p 1657 4260 V 40 w(pk)m(cs12)p +1959 4260 V 41 w(t)g(structure)390 4400 y Ff(pass)t FB(:)40 +b(The)30 b(passw)m(ord)g(for)g(the)g(MA)m(C)390 4541 +y(This)g(function)g(will)g(v)m(erify)h(the)g(MA)m(C)g(for)f(the)g(PK)m +(CS12)h(structure.)390 4682 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 4887 y Fv(gn)m(utls)p +483 4887 37 5 v 55 w(pk)m(cs7)p 832 4887 V 53 w(deinit)3350 +5090 y FB([F)d(unction])-3599 b Fh(void)54 b(gnutls_pkcs7_deinit)d +Fg(\()p Ff(gn)m(utls)p 1732 5090 28 4 v 40 w(pk)m(cs7)p +1989 5090 V 41 w(t)31 b Fe(pkcs7)12 b Fg(\))390 5199 +y Ff(pk)m(cs7)7 b FB(:)42 b(The)29 b(structure)h(to)h(b)s(e)f +(initialized)390 5340 y(This)g(function)g(will)g(deinitialize)j(a)e(PK) +m(CS7)f(structure.)p eop end +%%Page: 182 188 +TeXDict begin 182 187 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(182)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs7)p 832 299 +V 53 w(delete)p 1203 299 V 54 w(crl)3350 498 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_delete_c)q(rl)f +Fg(\()p Ff(gn)m(utls)p 1889 498 28 4 v 40 w(pk)m(cs7)p +2146 498 V 41 w(t)31 b Fe(pkcs7)p Ff(,)h(in)m(t)f Fe(indx)12 +b Fg(\))390 608 y Ff(indx)6 b FB(:)40 b(the)31 b(index)f(of)g(the)h +(crl)f(to)h(delete)390 745 y(This)g(function)h(will)h(delete)g(a)f(crl) +h(from)e(a)i(PK)m(CS7)f(or)g(RF)m(C2630)i(crl)e(set.)47 +b(Index)31 b(starts)h(from)390 855 y(0.)41 b(Returns)30 +b(0)g(on)h(success.)390 992 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 1194 y Fv(gn)m(utls)p +483 1194 37 5 v 55 w(pk)m(cs7)p 832 1194 V 53 w(delete)p +1203 1194 V 54 w(crt)3350 1393 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_pkcs7_delete_c)q(rt)f Fg(\()p Ff(gn)m(utls)p +1889 1393 28 4 v 40 w(pk)m(cs7)p 2146 1393 V 41 w(t)31 +b Fe(pkcs7)p Ff(,)h(in)m(t)f Fe(indx)12 b Fg(\))390 1503 y Ff(indx)6 b FB(:)40 b(the)31 b(index)f(of)g(the)h(certi\014cate)h(to) -f(delete)390 866 y(This)23 b(function)h(will)g(delete)i(a)e +f(delete)390 1640 y(This)23 b(function)h(will)g(delete)i(a)e (certi\014cate)i(from)e(a)g(PK)m(CS7)g(or)g(RF)m(C2630)i(certi\014cate) -h(set.)39 b(Index)390 975 y(starts)31 b(from)f(0.)41 -b(Returns)29 b(0)i(on)f(success.)390 1107 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +h(set.)39 b(Index)390 1750 y(starts)31 b(from)f(0.)41 +b(Returns)29 b(0)i(on)f(success.)390 1887 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1302 y Fu(gn)m(utls)p 483 1302 37 5 v 55 -w(pk)m(cs7)p 832 1302 V 53 w(exp)s(ort)3350 1495 y FB([F)d(unction]) +b(alue.)150 2089 y Fv(gn)m(utls)p 483 2089 37 5 v 55 +w(pk)m(cs7)p 832 2089 V 53 w(exp)s(ort)3350 2288 y FB([F)d(unction]) -3599 b Fh(int)53 b(gnutls_pkcs7_export)e Fg(\()p Ff(gn)m(utls)p -1679 1495 28 4 v 41 w(pk)m(cs7)p 1937 1495 V 41 w(t)31 -b Fe(pkcs7)12 b Ff(,)565 1604 y(gn)m(utls)p 811 1604 -V 41 w(x509)p 1035 1604 V 41 w(crt)p 1187 1604 V 40 w(fm)m(t)p -1363 1604 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)g -Fe(output_data)12 b Ff(,)33 b(size)p 2906 1604 V 41 w(t)e(*)565 -1714 y Fe(output_data_size)12 b Fg(\))390 1824 y Ff(pk)m(cs7)7 +1679 2288 28 4 v 41 w(pk)m(cs7)p 1937 2288 V 41 w(t)31 +b Fe(pkcs7)p Ff(,)565 2398 y(gn)m(utls)p 811 2398 V 41 +w(x509)p 1035 2398 V 41 w(crt)p 1187 2398 V 40 w(fm)m(t)p +1363 2398 V 41 w(t)f Fe(format)p Ff(,)j(v)m(oid)e(*)f +Fe(output_data)p Ff(,)k(size)p 2883 2398 V 41 w(t)d(*)565 +2508 y Fe(output_data_size)12 b Fg(\))390 2617 y Ff(pk)m(cs7)7 b FB(:)42 b(Holds)30 b(the)h(pk)m(cs7)g(structure)390 -1956 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 2088 y Ff(output)p -664 2088 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(structure)g -(PEM)h(or)f(DER)g(enco)s(ded)390 2220 y Ff(output)p 664 -2220 V 40 w(data)p 880 2220 V 40 w(size)5 b FB(:)49 b(holds)34 -b(the)g(size)h(of)f(output)p 2093 2220 V 39 w(data)h(\(and)f(will)g(b)s -(e)f(replaced)i(b)m(y)e(the)i(actual)390 2330 y(size)c(of)g -(parameters\))390 2462 y(This)f(function)g(will)g(exp)s(ort)g(the)h(pk) +2754 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 2892 y Ff(output)p +664 2892 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(structure)g +(PEM)h(or)f(DER)g(enco)s(ded)390 3029 y Ff(output)p 664 +3029 V 40 w(data)p 880 3029 V 40 w(size)5 b FB(:)49 b(holds)34 +b(the)g(size)h(of)f(output)p 2093 3029 V 39 w(data)h(\(and)f(will)g(b)s +(e)f(replaced)i(b)m(y)e(the)i(actual)390 3138 y(size)c(of)g +(parameters\))390 3276 y(This)f(function)g(will)g(exp)s(ort)g(the)h(pk) m(cs7)g(structure)f(to)h(DER)g(or)f(PEM)g(format.)390 -2595 y(If)23 b(the)g(bu\013er)f(pro)m(vided)g(is)h(not)h(long)f(enough) -g(to)h(hold)f(the)g(output,)h(then)f(*)p Fs(output_data_size)390 -2704 y FB(is)30 b(up)s(dated)f(and)h Fs(GNUTLS_E_SHORT_MEMORY_BUF)o -(FER)24 b FB(will)31 b(b)s(e)e(returned.)390 2837 y(If)h(the)g +3413 y(If)23 b(the)g(bu\013er)f(pro)m(vided)g(is)h(not)h(long)f(enough) +g(to)h(hold)f(the)g(output,)h(then)f(*)p Ft(output_data_size)390 +3522 y FB(is)30 b(up)s(dated)f(and)h Ft(GNUTLS_E_SHORT_MEMORY_BUF)o +(FER)24 b FB(will)31 b(b)s(e)e(returned.)390 3660 y(If)h(the)g (structure)g(is)h(PEM)f(enco)s(ded,)g(it)h(will)g(ha)m(v)m(e)h(a)e -(header)h(of)f Fs(")p FB(BEGIN)h(PK)m(CS7)p Fs(")p FB(.)390 -2969 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3164 y Fu(gn)m(utls)p 483 3164 37 5 v 55 -w(pk)m(cs7)p 832 3164 V 53 w(get)p 1050 3164 V 55 w(crl)p -1244 3164 V 53 w(coun)m(t)3350 3356 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_pkcs7_get_crl_)q(coun)q(t)f Fg(\()p -Ff(gn)m(utls)p 2046 3356 28 4 v 40 w(pk)m(cs7)p 2303 -3356 V 41 w(t)31 b Fe(pkcs7)12 b Fg(\))390 3466 y Ff(pk)m(cs7)7 -b FB(:)42 b(should)29 b(con)m(tain)j(a)e(gn)m(utls)p -1611 3466 V 41 w(pk)m(cs7)p 1869 3466 V 41 w(t)g(structure)390 -3598 y(This)c(function)h(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of)h +(header)h(of)f Ft(")p FB(BEGIN)h(PK)m(CS7)p Ft(")p FB(.)390 +3797 y Fn(Return)f(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f +(a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0) +h(on)f(success.)150 3999 y Fv(gn)m(utls)p 483 3999 37 +5 v 55 w(pk)m(cs7)p 832 3999 V 53 w(get)p 1050 3999 V +55 w(crl)p 1244 3999 V 53 w(coun)m(t)3350 4198 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_get_crl_)q(coun)q(t)f +Fg(\()p Ff(gn)m(utls)p 2046 4198 28 4 v 40 w(pk)m(cs7)p +2303 4198 V 41 w(t)31 b Fe(pkcs7)12 b Fg(\))390 4308 +y FB(This)26 b(function)h(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of)h (certifcates)j(in)d(the)g(PK)m(CS7)g(or)g(RF)m(C2630)j(crl)d(set.)390 -3730 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +4445 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3925 y Fu(gn)m(utls)p 483 3925 37 5 v 55 -w(pk)m(cs7)p 832 3925 V 53 w(get)p 1050 3925 V 55 w(crl)p -1244 3925 V 53 w(ra)m(w)3350 4118 y FB([F)d(unction])-3599 +b(alue.)150 4647 y Fv(gn)m(utls)p 483 4647 37 5 v 55 +w(pk)m(cs7)p 832 4647 V 53 w(get)p 1050 4647 V 55 w(crl)p +1244 4647 V 53 w(ra)m(w)3350 4846 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_get_crl_)q(raw)f Fg(\()p Ff(gn)m(utls)p -1941 4118 28 4 v 41 w(pk)m(cs7)p 2199 4118 V 40 w(t)31 -b Fe(pkcs7)12 b Ff(,)32 b(in)m(t)f Fe(indx)12 b Ff(,)565 -4227 y(v)m(oid)31 b(*)g Fe(crl)12 b Ff(,)31 b(size)p -1209 4227 V 41 w(t)f(*)h Fe(crl_size)12 b Fg(\))390 4337 -y Ff(pk)m(cs7)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)e -Fs(gnutls_pkcs7_t)d FB(structure)390 4469 y Ff(indx)6 -b FB(:)40 b(con)m(tains)32 b(the)e(index)g(of)h(the)f(crl)h(to)g -(extract)390 4602 y Ff(crl)t FB(:)40 b(the)31 b(con)m(ten)m(ts)h(of)f -(the)f(crl)h(will)g(b)s(e)e(copied)i(there)g(\(ma)m(y)g(b)s(e)f(n)m -(ull\))390 4734 y Ff(crl)p 497 4734 V 40 w(size)5 b FB(:)42 -b(should)29 b(hold)h(the)h(size)g(of)g(the)f(crl)390 -4866 y(This)g(function)g(will)g(return)g(a)g(crl)h(of)f(the)h(PK)m(CS7) -f(or)g(RF)m(C2630)j(crl)d(set.)390 4999 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 5108 y(If)38 b(the)h(pro)m(vided)g(bu\013er)f(is)h(not)g -(long)g(enough,)i(then)e Fs(crl_size)d FB(is)j(up)s(dated)f(and)g -Fs(GNUTLS_)390 5218 y(E_SHORT_MEMORY_BUFFER)d FB(is)41 -b(returned.)71 b(After)41 b(the)g(last)g(crl)g(has)g(b)s(een)f(read)g -Fs(GNUTLS_E_)390 5327 y(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 -b FB(will)30 b(b)s(e)g(returned.)p eop end -%%Page: 188 194 -TeXDict begin 188 193 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(188)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs7)p 832 299 -V 53 w(get)p 1050 299 V 55 w(crt)p 1258 299 V 53 w(coun)m(t)3350 -510 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_get_crt_)q -(coun)q(t)f Fg(\()p Ff(gn)m(utls)p 2046 510 28 4 v 40 -w(pk)m(cs7)p 2303 510 V 41 w(t)31 b Fe(pkcs7)12 b Fg(\))390 -619 y Ff(pk)m(cs7)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)e -Fs(gnutls_pkcs7_t)d FB(structure)390 768 y(This)g(function)h(will)g -(return)f(the)h(n)m(um)m(b)s(er)e(of)i(certifcates)i(in)e(the)g(PK)m -(CS7)f(or)h(RF)m(C2630)i(certi\014-)390 877 y(cate)i(set.)390 -1026 y Fn(Returns:)k FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1239 y Fu(gn)m(utls)p 483 1239 37 5 v 55 -w(pk)m(cs7)p 832 1239 V 53 w(get)p 1050 1239 V 55 w(crt)p -1258 1239 V 53 w(ra)m(w)3350 1449 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_pkcs7_get_crt_)q(raw)f Fg(\()p Ff(gn)m(utls)p -1941 1449 28 4 v 41 w(pk)m(cs7)p 2199 1449 V 40 w(t)31 -b Fe(pkcs7)12 b Ff(,)32 b(in)m(t)f Fe(indx)12 b Ff(,)565 -1559 y(v)m(oid)31 b(*)g Fe(certificate)12 b Ff(,)33 b(size)p -1627 1559 V 41 w(t)e(*)g Fe(certificate_size)12 b Fg(\))390 -1669 y Ff(pk)m(cs7)7 b FB(:)42 b(should)29 b(con)m(tain)j(a)e(gn)m -(utls)p 1611 1669 V 41 w(pk)m(cs7)p 1869 1669 V 41 w(t)g(structure)390 -1817 y Ff(indx)6 b FB(:)40 b(con)m(tains)32 b(the)e(index)g(of)h(the)f -(certi\014cate)j(to)e(extract)390 1965 y Ff(certi\014cate)5 +1941 4846 28 4 v 41 w(pk)m(cs7)p 2199 4846 V 40 w(t)31 +b Fe(pkcs7)p Ff(,)h(in)m(t)f Fe(indx)p Ff(,)h(v)m(oid)565 +4956 y(*)f Fe(crl)p Ff(,)g(size)p 1000 4956 V 41 w(t)g(*)g +Fe(crl_size)12 b Fg(\))390 5066 y Ff(indx)6 b FB(:)40 +b(con)m(tains)32 b(the)e(index)g(of)h(the)f(crl)h(to)g(extract)390 +5203 y Ff(crl)t FB(:)40 b(the)31 b(con)m(ten)m(ts)h(of)f(the)f(crl)h +(will)g(b)s(e)e(copied)i(there)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 +5340 y Ff(crl)p 497 5340 V 40 w(size)5 b FB(:)42 b(should)29 +b(hold)h(the)h(size)g(of)g(the)f(crl)p eop end +%%Page: 183 189 +TeXDict begin 183 188 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(183)390 299 y(This)30 +b(function)g(will)g(return)g(a)g(crl)h(of)f(the)h(PK)m(CS7)f(or)g(RF)m +(C2630)j(crl)d(set.)390 430 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)390 540 y(If)38 +b(the)h(pro)m(vided)g(bu\013er)f(is)h(not)g(long)g(enough,)i(then)e +Ft(crl_size)d FB(is)j(up)s(dated)f(and)g Ft(GNUTLS_)390 +650 y(E_SHORT_MEMORY_BUFFER)d FB(is)41 b(returned.)71 +b(After)41 b(the)g(last)g(crl)g(has)g(b)s(een)f(read)g +Ft(GNUTLS_E_)390 759 y(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 +b FB(will)30 b(b)s(e)g(returned.)150 953 y Fv(gn)m(utls)p +483 953 37 5 v 55 w(pk)m(cs7)p 832 953 V 53 w(get)p 1050 +953 V 55 w(crt)p 1258 953 V 53 w(coun)m(t)3350 1144 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_get_crt_)q(coun)q +(t)f Fg(\()p Ff(gn)m(utls)p 2046 1144 28 4 v 40 w(pk)m(cs7)p +2303 1144 V 41 w(t)31 b Fe(pkcs7)12 b Fg(\))390 1253 +y FB(This)27 b(function)h(will)g(return)f(the)h(n)m(um)m(b)s(er)e(of)i +(certifcates)i(in)e(the)g(PK)m(CS7)f(or)h(RF)m(C2630)i(certi\014-)390 +1363 y(cate)i(set.)390 1494 y Fn(Returns:)k FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 1688 y Fv(gn)m(utls)p +483 1688 37 5 v 55 w(pk)m(cs7)p 832 1688 V 53 w(get)p +1050 1688 V 55 w(crt)p 1258 1688 V 53 w(ra)m(w)3350 1879 +y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_get_crt_)q(raw)f +Fg(\()p Ff(gn)m(utls)p 1941 1879 28 4 v 41 w(pk)m(cs7)p +2199 1879 V 40 w(t)31 b Fe(pkcs7)p Ff(,)h(in)m(t)f Fe(indx)p +Ff(,)h(v)m(oid)565 1988 y(*)f Fe(certificate)p Ff(,)j(size)p +1419 1988 V 41 w(t)c(*)h Fe(certificate_size)12 b Fg(\))390 +2098 y Ff(indx)6 b FB(:)40 b(con)m(tains)32 b(the)e(index)g(of)h(the)f +(certi\014cate)j(to)e(extract)390 2229 y Ff(certi\014cate)5 b FB(:)43 b(the)30 b(con)m(ten)m(ts)j(of)d(the)h(certi\014cate)h(will)f (b)s(e)f(copied)g(there)h(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 -2114 y Ff(certi\014cate)p 783 2114 V 42 w(size)5 b FB(:)42 +2361 y Ff(certi\014cate)p 783 2361 V 42 w(size)5 b FB(:)42 b(should)29 b(hold)h(the)h(size)g(of)g(the)f(certi\014cate)390 -2262 y(This)g(function)g(will)g(return)g(a)g(certi\014cate)j(of)d(the)h +2493 y(This)g(function)g(will)g(return)g(a)g(certi\014cate)j(of)d(the)h (PK)m(CS7)f(or)g(RF)m(C2630)j(certi\014cate)f(set.)390 -2411 y(After)j(the)g(last)g(certi\014cate)i(has)d(b)s(een)g(read)g -Fs(GNUTLS_E_REQUESTED_DATA_N)o(OT_)o(AVAI)o(LABL)o(E)390 -2520 y FB(will)d(b)s(e)e(returned.)390 2669 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +2624 y(After)j(the)g(last)g(certi\014cate)i(has)d(b)s(een)g(read)g +Ft(GNUTLS_E_REQUESTED_DATA_N)o(OT_)o(AVAI)o(LABL)o(E)390 +2734 y FB(will)d(b)s(e)e(returned.)390 2865 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 2778 y(If)38 b(the)g(pro)m(vided)g(bu\013er)f(is)h(not)g -(long)h(enough,)h(then)e Fs(certificate_size)c FB(is)k(up)s(dated)f -(and)390 2888 y Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)24 -b FB(is)30 b(returned.)150 3101 y Fu(gn)m(utls)p 483 -3101 37 5 v 55 w(pk)m(cs7)p 832 3101 V 53 w(imp)s(ort)3350 -3312 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_import)e -Fg(\()p Ff(gn)m(utls)p 1679 3312 28 4 v 41 w(pk)m(cs7)p -1937 3312 V 41 w(t)31 b Fe(pkcs7)12 b Ff(,)31 b(const)565 -3421 y(gn)m(utls)p 811 3421 V 41 w(datum)p 1110 3421 -V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 b(gn)m(utls)p 1807 -3421 V 40 w(x509)p 2030 3421 V 42 w(crt)p 2183 3421 V -40 w(fm)m(t)p 2359 3421 V 40 w(t)g Fe(format)12 b Fg(\))390 -3531 y Ff(pk)m(cs7)7 b FB(:)42 b(The)29 b(structure)h(to)h(store)g(the) -g(parsed)f(PK)m(CS7.)390 3679 y Ff(data)p FB(:)41 b(The)30 -b(DER)h(or)f(PEM)h(enco)s(ded)f(PK)m(CS7.)390 3828 y +b(alue.)390 2975 y(If)38 b(the)g(pro)m(vided)g(bu\013er)f(is)h(not)g +(long)h(enough,)h(then)e Ft(certificate_size)c FB(is)k(up)s(dated)f +(and)390 3085 y Ft(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)24 +b FB(is)30 b(returned.)150 3278 y Fv(gn)m(utls)p 483 +3278 37 5 v 55 w(pk)m(cs7)p 832 3278 V 53 w(imp)s(ort)3350 +3469 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_import)e +Fg(\()p Ff(gn)m(utls)p 1679 3469 28 4 v 41 w(pk)m(cs7)p +1937 3469 V 41 w(t)31 b Fe(pkcs7)p Ff(,)h(const)565 3579 +y(gn)m(utls)p 811 3579 V 41 w(datum)p 1110 3579 V 39 +w(t)f(*)g Fe(data)p Ff(,)g(gn)m(utls)p 1795 3579 V 41 +w(x509)p 2019 3579 V 41 w(crt)p 2171 3579 V 40 w(fm)m(t)p +2347 3579 V 41 w(t)f Fe(format)12 b Fg(\))390 3688 y +Ff(pk)m(cs7)7 b FB(:)42 b(The)29 b(structure)h(to)h(store)g(the)g +(parsed)f(PK)m(CS7.)390 3820 y Ff(data)p FB(:)41 b(The)30 +b(DER)h(or)f(PEM)h(enco)s(ded)f(PK)m(CS7.)390 3951 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 -3976 y(This)41 b(function)h(will)g(con)m(v)m(ert)h(the)f(giv)m(en)h +4083 y(This)41 b(function)h(will)g(con)m(v)m(ert)h(the)f(giv)m(en)h (DER)f(or)g(PEM)g(enco)s(ded)f(PK)m(CS7)h(to)h(the)f(nativ)m(e)390 -4086 y Fs(gnutls_pkcs7_t)26 b FB(format.)42 b(The)29 +4192 y Ft(gnutls_pkcs7_t)26 b FB(format.)42 b(The)29 b(output)h(will)h(b)s(e)f(stored)g(in)g('pk)m(cs7'.)390 -4234 y(If)g(the)g(PK)m(CS7)g(is)h(PEM)f(enco)s(ded)g(it)h(should)f(ha)m -(v)m(e)h(a)g(header)f(of)h Fs(")p FB(PK)m(CS7)p Fs(")p -FB(.)390 4382 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4596 y Fu(gn)m(utls)p -483 4596 37 5 v 55 w(pk)m(cs7)p 832 4596 V 53 w(init)3350 -4806 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_init)e -Fg(\()p Ff(gn)m(utls)p 1575 4806 28 4 v 41 w(pk)m(cs7)p -1833 4806 V 40 w(t)31 b(*)g Fe(pkcs7)12 b Fg(\))390 4916 +4324 y(If)g(the)g(PK)m(CS7)g(is)h(PEM)f(enco)s(ded)g(it)h(should)f(ha)m +(v)m(e)h(a)g(header)f(of)h Ft(")p FB(PK)m(CS7)p Ft(")p +FB(.)390 4456 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 4649 y Fv(gn)m(utls)p +483 4649 37 5 v 55 w(pk)m(cs7)p 832 4649 V 53 w(init)3350 +4840 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_init)e +Fg(\()p Ff(gn)m(utls)p 1575 4840 28 4 v 41 w(pk)m(cs7)p +1833 4840 V 40 w(t)31 b(*)g Fe(pkcs7)12 b Fg(\))390 4950 y Ff(pk)m(cs7)7 b FB(:)42 b(The)29 b(structure)h(to)h(b)s(e)f -(initialized)390 5064 y(This)37 b(function)g(will)g(initialize)j(a)e +(initialized)390 5081 y(This)37 b(function)g(will)g(initialize)j(a)e (PK)m(CS7)f(structure.)61 b(PK)m(CS7)37 b(structures)g(usually)g(con)m -(tain)390 5174 y(lists)31 b(of)f(X.509)j(Certi\014cates)e(and)f(X.509)i +(tain)390 5191 y(lists)31 b(of)f(X.509)j(Certi\014cates)e(and)f(X.509)i (Certi\014cate)g(rev)m(o)s(cation)g(lists.)390 5322 y -Fn(Returns:)k FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 189 195 -TeXDict begin 189 194 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(189)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs7)p 832 299 +%%Page: 184 190 +TeXDict begin 184 189 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(184)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(pk)m(cs7)p 832 299 V 53 w(set)p 1037 299 V 55 w(crl)p 1231 299 V 53 w(ra)m(w)3350 -492 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_set_crl_)q -(raw)f Fg(\()p Ff(gn)m(utls)p 1941 492 28 4 v 41 w(pk)m(cs7)p -2199 492 V 40 w(t)31 b Fe(pkcs7)12 b Ff(,)32 b(const)565 -601 y(gn)m(utls)p 811 601 V 41 w(datum)p 1110 601 V 39 -w(t)f(*)g Fe(crl)12 b Fg(\))390 711 y Ff(pk)m(cs7)7 b -FB(:)42 b(should)29 b(con)m(tain)j(a)e Fs(gnutls_pkcs7_t)d -FB(structure)390 843 y Ff(crl)t FB(:)40 b(the)31 b(DER)g(enco)s(ded)f -(crl)g(to)h(b)s(e)f(added)390 976 y(This)g(function)g(will)g(add)g(a)h -(crl)f(to)i(the)e(PK)m(CS7)g(or)g(RF)m(C2630)j(crl)e(set.)390 -1108 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1303 y Fu(gn)m(utls)p 483 1303 37 5 v 55 -w(pk)m(cs7)p 832 1303 V 53 w(set)p 1037 1303 V 55 w(crl)3350 -1496 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_set_crl)f -Fg(\()p Ff(gn)m(utls)p 1732 1496 28 4 v 40 w(pk)m(cs7)p -1989 1496 V 41 w(t)31 b Fe(pkcs7)12 b Ff(,)31 b(gn)m(utls)p -2664 1496 V 41 w(x509)p 2888 1496 V 41 w(crl)p 3030 1496 -V 40 w(t)565 1606 y Fe(crl)12 b Fg(\))390 1715 y Ff(pk)m(cs7)7 -b FB(:)42 b(should)29 b(con)m(tain)j(a)e Fs(gnutls_pkcs7_t)d -FB(structure)390 1848 y Ff(crl)t FB(:)40 b(the)31 b(DER)g(enco)s(ded)f -(crl)g(to)h(b)s(e)f(added)390 1980 y(This)g(function)g(will)g(add)g(a)h -(parsed)f(CRL)f(to)i(the)g(PK)m(CS7)f(or)g(RF)m(C2630)j(crl)d(set.)390 -2113 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2308 y Fu(gn)m(utls)p 483 2308 37 5 v 55 -w(pk)m(cs7)p 832 2308 V 53 w(set)p 1037 2308 V 55 w(crt)p -1245 2308 V 53 w(ra)m(w)3350 2501 y FB([F)d(unction])-3599 +487 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_set_crl_)q +(raw)f Fg(\()p Ff(gn)m(utls)p 1941 487 28 4 v 41 w(pk)m(cs7)p +2199 487 V 40 w(t)31 b Fe(pkcs7)p Ff(,)h(const)565 596 +y(gn)m(utls)p 811 596 V 41 w(datum)p 1110 596 V 39 w(t)f(*)g +Fe(crl)12 b Fg(\))390 706 y Ff(crl)t FB(:)40 b(the)31 +b(DER)g(enco)s(ded)f(crl)g(to)h(b)s(e)f(added)390 836 +y(This)g(function)g(will)g(add)g(a)h(crl)f(to)i(the)e(PK)m(CS7)g(or)g +(RF)m(C2630)j(crl)e(set.)390 966 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 1156 y Fv(gn)m(utls)p +483 1156 37 5 v 55 w(pk)m(cs7)p 832 1156 V 53 w(set)p +1037 1156 V 55 w(crl)3350 1344 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_pkcs7_set_crl)f Fg(\()p Ff(gn)m(utls)p +1732 1344 28 4 v 40 w(pk)m(cs7)p 1989 1344 V 41 w(t)31 +b Fe(pkcs7)p Ff(,)h(gn)m(utls)p 2653 1344 V 40 w(x509)p +2876 1344 V 42 w(crl)p 3019 1344 V 40 w(t)565 1453 y +Fe(crl)12 b Fg(\))390 1563 y Ff(crl)t FB(:)40 b(the)31 +b(DER)g(enco)s(ded)f(crl)g(to)h(b)s(e)f(added)390 1693 +y(This)g(function)g(will)g(add)g(a)h(parsed)f(CRL)f(to)i(the)g(PK)m +(CS7)f(or)g(RF)m(C2630)j(crl)d(set.)390 1823 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 2013 y Fv(gn)m(utls)p 483 2013 37 5 v 55 +w(pk)m(cs7)p 832 2013 V 53 w(set)p 1037 2013 V 55 w(crt)p +1245 2013 V 53 w(ra)m(w)3350 2201 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_set_crt_)q(raw)f Fg(\()p Ff(gn)m(utls)p -1941 2501 28 4 v 41 w(pk)m(cs7)p 2199 2501 V 40 w(t)31 -b Fe(pkcs7)12 b Ff(,)32 b(const)565 2610 y(gn)m(utls)p -811 2610 V 41 w(datum)p 1110 2610 V 39 w(t)f(*)g Fe(crt)12 -b Fg(\))390 2720 y Ff(pk)m(cs7)7 b FB(:)42 b(should)29 -b(con)m(tain)j(a)e Fs(gnutls_pkcs7_t)d FB(structure)390 -2852 y Ff(crt)r FB(:)41 b(the)31 b(DER)f(enco)s(ded)g(certi\014cate)j -(to)e(b)s(e)e(added)390 2985 y(This)h(function)g(will)g(add)g(a)h -(certi\014cate)h(to)f(the)g(PK)m(CS7)f(or)g(RF)m(C2630)j(certi\014cate) -f(set.)390 3117 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 3312 y Fu(gn)m(utls)p -483 3312 37 5 v 55 w(pk)m(cs7)p 832 3312 V 53 w(set)p -1037 3312 V 55 w(crt)3350 3505 y FB([F)d(unction])-3599 +1941 2201 28 4 v 41 w(pk)m(cs7)p 2199 2201 V 40 w(t)31 +b Fe(pkcs7)p Ff(,)h(const)565 2310 y(gn)m(utls)p 811 +2310 V 41 w(datum)p 1110 2310 V 39 w(t)f(*)g Fe(crt)12 +b Fg(\))390 2420 y Ff(crt)r FB(:)41 b(the)31 b(DER)f(enco)s(ded)g +(certi\014cate)j(to)e(b)s(e)e(added)390 2550 y(This)h(function)g(will)g +(add)g(a)h(certi\014cate)h(to)f(the)g(PK)m(CS7)f(or)g(RF)m(C2630)j +(certi\014cate)f(set.)390 2680 y Fn(Returns:)k FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2870 y Fv(gn)m(utls)p +483 2870 37 5 v 55 w(pk)m(cs7)p 832 2870 V 53 w(set)p +1037 2870 V 55 w(crt)3350 3058 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_pkcs7_set_crt)f Fg(\()p Ff(gn)m(utls)p -1732 3505 28 4 v 40 w(pk)m(cs7)p 1989 3505 V 41 w(t)31 -b Fe(pkcs7)12 b Ff(,)31 b(gn)m(utls)p 2664 3505 V 41 -w(x509)p 2888 3505 V 41 w(crt)p 3040 3505 V 41 w(t)565 -3615 y Fe(crt)12 b Fg(\))390 3724 y Ff(pk)m(cs7)7 b FB(:)42 -b(should)29 b(con)m(tain)j(a)e Fs(gnutls_pkcs7_t)d FB(structure)390 -3857 y Ff(crt)r FB(:)41 b(the)31 b(certi\014cate)h(to)f(b)s(e)f -(copied.)390 3989 y(This)g(function)g(will)i(add)e(a)h(parsed)f -(certi\014cate)j(to)e(the)g(PK)m(CS7)g(or)f(RF)m(C2630)j(certi\014cate) -g(set.)390 4099 y(This)d(is)g(a)h(wrapp)s(er)d(function)i(o)m(v)m(er)i -Fs(gnutls_pkcs7_set_crt_raw\()o(\))24 b FB(.)390 4231 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4426 y Fu(gn)m(utls)p 483 4426 37 5 v 55 -w(x509)p 786 4426 V 54 w(crl)p 979 4426 V 54 w(c)m(hec)m(k)p -1326 4426 V 52 w(issuer)3350 4619 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_check)q(_iss)q(uer)f Fg(\()p -Ff(gn)m(utls)p 2150 4619 28 4 v 41 w(x509)p 2374 4619 -V 41 w(crl)p 2516 4619 V 41 w(t)30 b Fe(cert)12 b Ff(,)565 -4729 y(gn)m(utls)p 811 4729 V 41 w(x509)p 1035 4729 V -41 w(crt)p 1187 4729 V 40 w(t)31 b Fe(issuer)12 b Fg(\))390 -4838 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(a)f -(p)s(ossible)g(issuer)390 4971 y(This)j(function)h(will)g(c)m(hec)m(k)i -(if)e(the)g(giv)m(en)h(CRL)e(w)m(as)i(issued)e(b)m(y)h(the)g(giv)m(en)h -(issuer)f(certi\014cate.)390 5080 y(It)f(will)f(return)g(true)g(\(1\))h -(if)g(the)f(giv)m(en)i(CRL)d(w)m(as)i(issued)f(b)m(y)g(the)h(giv)m(en)g -(issuer,)g(and)f(false)h(\(0\))390 5190 y(if)d(not.)390 -5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 190 196 -TeXDict begin 190 195 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(190)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crl)p 979 299 V 54 w(deinit)3350 498 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_x509_crl_deinit)e Fg(\()p Ff(gn)m(utls)p -1889 498 28 4 v 40 w(x509)p 2112 498 V 42 w(crl)p 2255 -498 V 40 w(t)31 b Fe(crl)12 b Fg(\))390 608 y Ff(crl)t -FB(:)40 b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 -745 y(This)g(function)g(will)g(deinitialize)j(a)e(CRL)e(structure.)150 -947 y Fu(gn)m(utls)p 483 947 37 5 v 55 w(x509)p 786 947 -V 54 w(crl)p 979 947 V 54 w(exp)s(ort)3350 1147 y FB([F)-8 +1732 3058 28 4 v 40 w(pk)m(cs7)p 1989 3058 V 41 w(t)31 +b Fe(pkcs7)p Ff(,)h(gn)m(utls)p 2653 3058 V 40 w(x509)p +2876 3058 V 42 w(crt)p 3029 3058 V 40 w(t)565 3167 y +Fe(crt)12 b Fg(\))390 3277 y Ff(crt)r FB(:)41 b(the)31 +b(certi\014cate)h(to)f(b)s(e)f(copied.)390 3407 y(This)g(function)g +(will)i(add)e(a)h(parsed)f(certi\014cate)j(to)e(the)g(PK)m(CS7)g(or)f +(RF)m(C2630)j(certi\014cate)g(set.)390 3516 y(This)d(is)g(a)h(wrapp)s +(er)d(function)i(o)m(v)m(er)i Ft(gnutls_pkcs7_set_crt_raw\()o(\))24 +b FB(.)390 3646 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 3837 y Fv(gn)m(utls)p +483 3837 37 5 v 55 w(x509)p 786 3837 V 54 w(crl)p 979 +3837 V 54 w(c)m(hec)m(k)p 1326 3837 V 52 w(issuer)3350 +4024 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_check)q +(_iss)q(uer)f Fg(\()p Ff(gn)m(utls)p 2150 4024 28 4 v +41 w(x509)p 2374 4024 V 41 w(crl)p 2516 4024 V 41 w(t)30 +b Fe(cert)p Ff(,)565 4134 y(gn)m(utls)p 811 4134 V 41 +w(x509)p 1035 4134 V 41 w(crt)p 1187 4134 V 40 w(t)h +Fe(issuer)12 b Fg(\))390 4243 y Ff(issuer)7 b FB(:)40 +b(is)30 b(the)h(certi\014cate)h(of)f(a)f(p)s(ossible)g(issuer)390 +4373 y(This)j(function)h(will)g(c)m(hec)m(k)i(if)e(the)g(giv)m(en)h +(CRL)e(w)m(as)i(issued)e(b)m(y)h(the)g(giv)m(en)h(issuer)f +(certi\014cate.)390 4483 y(It)f(will)f(return)g(true)g(\(1\))h(if)g +(the)f(giv)m(en)i(CRL)d(w)m(as)i(issued)f(b)m(y)g(the)h(giv)m(en)g +(issuer,)g(and)f(false)h(\(0\))390 4593 y(if)d(not.)390 +4723 y(A)g(negativ)m(e)j(v)-5 b(alue)31 b(is)f(returned)g(in)g(case)h +(of)g(an)f(error.)150 4913 y Fv(gn)m(utls)p 483 4913 +37 5 v 55 w(x509)p 786 4913 V 54 w(crl)p 979 4913 V 54 +w(deinit)3350 5100 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(gnutls_x509_crl_deinit)e Fg(\()p Ff(gn)m(utls)p 1889 +5100 28 4 v 40 w(x509)p 2112 5100 V 42 w(crl)p 2255 5100 +V 40 w(t)31 b Fe(crl)12 b Fg(\))390 5210 y Ff(crl)t FB(:)40 +b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 5340 +y(This)g(function)g(will)g(deinitialize)j(a)e(CRL)e(structure.)p +eop end +%%Page: 185 191 +TeXDict begin 185 190 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(185)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crl)p 979 299 V 54 w(exp)s(ort)3350 492 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_expor)q(t)e -Fg(\()p Ff(gn)m(utls)p 1836 1147 28 4 v 41 w(x509)p 2060 -1147 V 41 w(crl)p 2202 1147 V 41 w(t)30 b Fe(crl)12 b -Ff(,)565 1256 y(gn)m(utls)p 811 1256 V 41 w(x509)p 1035 -1256 V 41 w(crt)p 1187 1256 V 40 w(fm)m(t)p 1363 1256 -V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)g -Fe(output_data)12 b Ff(,)33 b(size)p 2906 1256 V 41 w(t)e(*)565 -1366 y Fe(output_data_size)12 b Fg(\))390 1475 y Ff(crl)t -FB(:)40 b(Holds)31 b(the)g(rev)m(o)s(cation)h(list)390 -1612 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 1750 y Ff(output)p -664 1750 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(priv)-5 -b(ate)31 b(k)m(ey)g(PEM)g(or)f(DER)h(enco)s(ded)390 1887 -y Ff(output)p 664 1887 V 40 w(data)p 880 1887 V 40 w(size)5 -b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p 2093 -1887 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 1996 y(size)c(of)g(parameters\))390 2134 +Fg(\()p Ff(gn)m(utls)p 1836 492 28 4 v 41 w(x509)p 2060 +492 V 41 w(crl)p 2202 492 V 41 w(t)30 b Fe(crl)p Ff(,)565 +602 y(gn)m(utls)p 811 602 V 41 w(x509)p 1035 602 V 41 +w(crt)p 1187 602 V 40 w(fm)m(t)p 1363 602 V 41 w(t)g +Fe(format)p Ff(,)j(v)m(oid)e(*)f Fe(output_data)p Ff(,)k(size)p +2883 602 V 41 w(t)d(*)565 711 y Fe(output_data_size)12 +b Fg(\))390 821 y Ff(crl)t FB(:)40 b(Holds)31 b(the)g(rev)m(o)s(cation) +h(list)390 954 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f +(params.)40 b(One)30 b(of)h(PEM)f(or)g(DER.)390 1086 +y Ff(output)p 664 1086 V 40 w(data)p FB(:)41 b(will)31 +b(con)m(tain)h(a)e(priv)-5 b(ate)31 b(k)m(ey)g(PEM)g(or)f(DER)h(enco)s +(ded)390 1219 y Ff(output)p 664 1219 V 40 w(data)p 880 +1219 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p +2093 1219 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 1329 y(size)c(of)g(parameters\))390 1461 y(This)f(function)g(will)g(exp)s(ort)g(the)h(rev)m(o)s(cation)h(list)f -(to)g(DER)g(or)f(PEM)h(format.)390 2271 y(If)91 b(the)g(bu\013er)f(pro) +(to)g(DER)g(or)f(PEM)h(format.)390 1594 y(If)91 b(the)g(bu\013er)f(pro) m(vided)h(is)g(not)h(long)g(enough)f(to)h(hold)f(the)g(output,)106 -b(then)390 2380 y(GNUTLS)p 777 2380 V 40 w(E)p 879 2380 -V 40 w(SHOR)-8 b(T)p 1234 2380 V 39 w(MEMOR)g(Y)p 1699 -2380 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 -2518 y(If)g(the)g(structure)g(is)h(PEM)f(enco)s(ded,)g(it)h(will)g(ha)m -(v)m(e)h(a)e(header)h(of)f Fs(")p FB(BEGIN)h(X509)h(CRL)p -Fs(")p FB(.)390 2655 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 2764 y(and)30 +b(then)390 1704 y(GNUTLS)p 777 1704 V 40 w(E)p 879 1704 +V 40 w(SHOR)-8 b(T)p 1234 1704 V 39 w(MEMOR)g(Y)p 1699 +1704 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 +1836 y(If)g(the)g(structure)g(is)h(PEM)f(enco)s(ded,)g(it)h(will)g(ha)m +(v)m(e)h(a)e(header)h(of)f Ft(")p FB(BEGIN)h(X509)h(CRL)p +Ft(")p FB(.)390 1969 y Fn(Returns:)k FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)390 2079 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 b(on)f(failure.)150 -2966 y Fu(gn)m(utls)p 483 2966 37 5 v 55 w(x509)p 786 -2966 V 54 w(crl)p 979 2966 V 54 w(get)p 1198 2966 V 54 -w(authorit)m(y)p 1751 2966 V 54 w(k)m(ey)p 1988 2966 -V 53 w(id)3350 3166 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crl_get_a)q(utho)q(rit)q(y_k)q(ey_)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 3166 28 4 v 40 w(x509)p 2792 -3166 V 42 w(crl)p 2935 3166 V 40 w(t)565 3275 y Fe(crl)12 -b Ff(,)31 b(v)m(oid)g(*)g Fe(ret)12 b Ff(,)31 b(size)p -1433 3275 V 41 w(t)f(*)h Fe(ret_size)12 b Ff(,)33 b(unsigned)c(in)m(t)i -(*)g Fe(critical)12 b Fg(\))390 3385 y Ff(crl)t FB(:)40 -b(should)30 b(con)m(tain)i(a)e Fs(gnutls_x509_crl_t)c -FB(structure)390 3522 y Ff(ret)r FB(:)41 b(The)30 b(place)h(where)f -(the)h(iden)m(ti\014er)f(will)h(b)s(e)f(copied)390 3659 -y Ff(ret)p 507 3659 V 40 w(size)5 b FB(:)42 b(Holds)31 -b(the)f(size)h(of)g(the)f(result)h(\014eld.)390 3797 -y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h -(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))390 3934 y(This)h(function)g(will)h(return)f(the)g(CRL)g -(authorit)m(y's)i(k)m(ey)f(iden)m(ti\014er.)42 b(This)30 -b(is)g(obtained)h(b)m(y)g(the)390 4043 y(X.509)41 b(Authorit)m(y)e(Key) -g(iden)m(ti\014er)h(extension)f(\014eld)g(\(2.5.29.35\).)70 -b(Note)41 b(that)e(this)g(function)390 4153 y(only)30 -b(returns)g(the)g(k)m(eyIden)m(ti\014er)h(\014eld)f(of)h(the)f -(extension.)390 4290 y Fn(Returns:)50 b FB(On)34 b(success,)j -Fs(GNUTLS_E_SUCCESS)31 b FB(is)k(returned,)h(otherwise)g(a)f(negativ)m -(e)j(v)-5 b(alue)35 b(in)390 4400 y(case)c(of)g(an)f(error.)390 -4537 y Fn(Since:)41 b FB(2.8.0)150 4739 y Fu(gn)m(utls)p -483 4739 37 5 v 55 w(x509)p 786 4739 V 54 w(crl)p 979 -4739 V 54 w(get)p 1198 4739 V 54 w(crt)p 1405 4739 V -54 w(coun)m(t)3350 4938 y FB([F)-8 b(unction])-3599 b -Fh(int)53 b(gnutls_x509_crl_get_c)q(rt_c)q(oun)q(t)e -Fg(\()p Ff(gn)m(utls)p 2202 4938 28 4 v 41 w(x509)p 2426 -4938 V 42 w(crl)p 2569 4938 V 40 w(t)30 b Fe(crl)12 b -Fg(\))390 5048 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 5185 y(This)k(function)g(will)g +2274 y Fv(gn)m(utls)p 483 2274 37 5 v 55 w(x509)p 786 +2274 V 54 w(crl)p 979 2274 V 54 w(get)p 1198 2274 V 54 +w(crt)p 1405 2274 V 54 w(coun)m(t)3350 2468 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_c)q(rt_c)q(oun)q(t)e +Fg(\()p Ff(gn)m(utls)p 2202 2468 28 4 v 41 w(x509)p 2426 +2468 V 42 w(crl)p 2569 2468 V 40 w(t)30 b Fe(crl)12 b +Fg(\))390 2577 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e +Ft(gnutls_x509_crl_t)c FB(structure)390 2710 y(This)k(function)g(will)g (return)g(the)g(n)m(um)m(b)s(er)f(of)i(rev)m(ok)m(ed)g(certi\014cates)i -(in)d(the)g(giv)m(en)i(CRL.)390 5322 y Fn(Returns:)40 +(in)d(the)g(giv)m(en)i(CRL.)390 2843 y Fn(Returns:)40 b FB(n)m(um)m(b)s(er)29 b(of)i(certi\014cates,)i(a)d(negativ)m(e)j(v)-5 -b(alue)31 b(on)f(failure.)p eop end -%%Page: 191 197 -TeXDict begin 191 196 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(191)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crl)p 979 299 V 54 w(get)p 1198 299 V 54 w(crt)p 1405 -299 V 54 w(serial)3350 487 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_get_c)q(rt_s)q(eri)q(al)f -Fg(\()p Ff(gn)m(utls)p 2255 487 28 4 v 41 w(x509)p 2479 -487 V 41 w(crl)p 2621 487 V 40 w(t)31 b Fe(crl)12 b Ff(,)31 -b(in)m(t)565 597 y Fe(indx)12 b Ff(,)31 b(unsigned)f(c)m(har)g(*)h -Fe(serial)12 b Ff(,)32 b(size)p 2024 597 V 41 w(t)f(*)f -Fe(serial_size)12 b Ff(,)34 b(time)p 3025 597 V 41 w(t)c(*)h -Fe(t)12 b Fg(\))390 706 y Ff(crl)t FB(:)40 b(should)30 -b(con)m(tain)i(a)e Fs(gnutls_x509_crl_t)c FB(structure)390 -836 y Ff(indx)6 b FB(:)40 b(the)31 b(index)f(of)g(the)h(certi\014cate)h -(to)f(extract)h(\(starting)g(from)e(0\))390 966 y Ff(serial)t -FB(:)41 b(where)30 b(the)h(serial)g(n)m(um)m(b)s(er)e(will)h(b)s(e)g -(copied)390 1097 y Ff(serial)p 603 1097 V 41 w(size)5 -b FB(:)41 b(initially)32 b(holds)e(the)h(size)g(of)g(serial)390 -1227 y Ff(t)r FB(:)41 b(if)30 b(non)g(n)m(ull,)h(will)f(hold)g(the)h -(time)g(this)f(certi\014cate)j(w)m(as)d(rev)m(ok)m(ed)390 -1357 y(This)k(function)h(will)g(retriev)m(e)h(the)g(serial)f(n)m(um)m +b(alue)31 b(on)f(failure.)150 3038 y Fv(gn)m(utls)p 483 +3038 37 5 v 55 w(x509)p 786 3038 V 54 w(crl)p 979 3038 +V 54 w(get)p 1198 3038 V 54 w(crt)p 1405 3038 V 54 w(serial)3350 +3232 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_c)q +(rt_s)q(eri)q(al)f Fg(\()p Ff(gn)m(utls)p 2255 3232 28 +4 v 41 w(x509)p 2479 3232 V 41 w(crl)p 2621 3232 V 40 +w(t)31 b Fe(crl)p Ff(,)g(in)m(t)565 3341 y Fe(indx)p +Ff(,)h(unsigned)d(c)m(har)i(*)g Fe(serial)p Ff(,)h(size)p +2001 3341 V 41 w(t)f(*)f Fe(serial_size)p Ff(,)k(time)p +2990 3341 V 41 w(t)d(*)f Fe(t)12 b Fg(\))390 3451 y Ff(crl)t +FB(:)40 b(should)30 b(con)m(tain)i(a)e Ft(gnutls_x509_crl_t)c +FB(structure)390 3584 y Ff(indx)6 b FB(:)40 b(the)31 +b(index)f(of)g(the)h(certi\014cate)h(to)f(extract)h(\(starting)g(from)e +(0\))390 3716 y Ff(serial)t FB(:)41 b(where)30 b(the)h(serial)g(n)m(um) +m(b)s(er)e(will)h(b)s(e)g(copied)390 3849 y Ff(serial)p +603 3849 V 41 w(size)5 b FB(:)41 b(initially)32 b(holds)e(the)h(size)g +(of)g(serial)390 3982 y Ff(t)r FB(:)41 b(if)30 b(non)g(n)m(ull,)h(will) +f(hold)g(the)h(time)g(this)f(certi\014cate)j(w)m(as)d(rev)m(ok)m(ed)390 +4114 y(This)k(function)h(will)g(retriev)m(e)h(the)g(serial)f(n)m(um)m (b)s(er)f(of)h(the)g(sp)s(eci\014ed,)h(b)m(y)f(the)g(index,)h(rev)m(ok) -m(ed)390 1466 y(certi\014cate.)390 1597 y Fn(Returns:)g -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +m(ed)390 4224 y(certi\014cate.)390 4357 y Fn(Returns:)g +FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 1706 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 -b(on)f(error.)150 1897 y Fu(gn)m(utls)p 483 1897 37 5 -v 55 w(x509)p 786 1897 V 54 w(crl)p 979 1897 V 54 w(get)p -1198 1897 V 54 w(dn)p 1388 1897 V 55 w(oid)3350 2085 +b(alue.)390 4466 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(on)f(error.)150 4662 y Fv(gn)m(utls)p 483 4662 37 5 +v 55 w(x509)p 786 4662 V 54 w(crl)p 979 4662 V 54 w(get)p +1198 4662 V 54 w(dn)p 1388 4662 V 55 w(oid)3350 4855 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_d)q(n_oi) -q(d)f Fg(\()p Ff(gn)m(utls)p 2046 2085 28 4 v 40 w(x509)p -2269 2085 V 42 w(crl)p 2412 2085 V 40 w(t)31 b Fe(crl)12 -b Ff(,)31 b(in)m(t)f Fe(indx)12 b Ff(,)565 2194 y(v)m(oid)31 -b(*)g Fe(oid)12 b Ff(,)31 b(size)p 1209 2194 V 41 w(t)f(*)h -Fe(sizeof_oid)12 b Fg(\))390 2304 y Ff(crl)t FB(:)40 -b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 2304 -V 41 w(x509)p 1715 2304 V 41 w(crl)p 1857 2304 V 40 w(t)h(structure)390 -2434 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(DN)h(OID)f -(to)h(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -2564 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(name)f(\(ma)m(y)i(b)s(e)e(n)m(ull\))390 -2694 y Ff(sizeof)p 610 2694 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g('oid')390 2824 y(This)26 -b(function)g(will)h(extract)h(the)f(requested)g(OID)f(of)h(the)g(name)g -(of)g(the)g(CRL)f(issuer,)h(sp)s(eci\014ed)390 2934 y(b)m(y)j(the)h -(giv)m(en)g(index.)390 3064 y(If)f(oid)g(is)h(n)m(ull)f(then)g(only)h -(the)f(size)h(will)g(b)s(e)f(\014lled.)390 3194 y Fn(Returns:)39 -b Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 -b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g(long)h(enough,)390 -3304 y(and)k(in)g(that)i(case)f(the)g(sizeof)p 1450 3304 -V 41 w(oid)g(will)g(b)s(e)f(up)s(dated)f(with)i(the)g(required)e(size.) -49 b(On)32 b(success)h(0)390 3413 y(is)d(returned.)150 -3604 y Fu(gn)m(utls)p 483 3604 37 5 v 55 w(x509)p 786 -3604 V 54 w(crl)p 979 3604 V 54 w(get)p 1198 3604 V 54 -w(extension)p 1756 3604 V 55 w(data)3350 3792 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_e)q(xten)q(sio)q -(n_d)q(ata)f Fg(\()p Ff(gn)m(utls)p 2464 3792 28 4 v -41 w(x509)p 2688 3792 V 41 w(crl)p 2830 3792 V 40 w(t)31 -b Fe(crl)12 b Ff(,)565 3902 y(in)m(t)31 b Fe(indx)12 -b Ff(,)31 b(v)m(oid)g(*)g Fe(data)12 b Ff(,)31 b(size)p -1676 3902 V 41 w(t)g(*)g Fe(sizeof_data)12 b Fg(\))390 -4011 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 4141 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -4271 y Ff(data)p FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 -4402 y Ff(sizeof)p 610 4402 V 41 w(data)p FB(:)42 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 4532 y FB(This)39 -b(function)g(will)g(return)f(the)i(requested)f(extension)h(data)g(in)f -(the)h(CRL.)e(The)h(extension)390 4641 y(data)31 b(will)g(b)s(e)f -(stored)g(as)h(a)f(string)h(in)f(the)g(pro)m(vided)g(bu\013er.)390 -4771 y(Use)i Fs(gnutls_x509_crl_get_ext)o(ensi)o(on_i)o(nfo)o(\(\))25 -b FB(to)32 b(extract)h(the)f(OID)f(and)g(critical)i(\015ag.)390 -4881 y(Use)41 b Fs(gnutls_x509_crl_get_exten)o(sio)o(n_by)o(_oid)o -(\(\))34 b FB(instead,)44 b(if)d(y)m(ou)g(w)m(an)m(t)h(to)f(get)h(data) -390 4991 y(indexed)30 b(b)m(y)g(the)h(extension)g(OID)f(rather)g(than)g -(sequence.)390 5121 y Fn(Returns:)71 b FB(On)45 b(success,)50 -b Fs(GNUTLS_E_SUCCESS)42 b FB(is)j(returned,)k(otherwise)d(a)g(negativ) -m(e)i(v)-5 b(alue)390 5230 y(in)43 b(case)i(of)f(an)g(error.)80 -b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h(extension)f -(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 5340 y -(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 b(b)s(e)g(returned.)p +q(d)f Fg(\()p Ff(gn)m(utls)p 2046 4855 28 4 v 40 w(x509)p +2269 4855 V 42 w(crl)p 2412 4855 V 40 w(t)31 b Fe(crl)p +Ff(,)g(in)m(t)g Fe(indx)p Ff(,)565 4965 y(v)m(oid)g(*)g +Fe(oid)p Ff(,)g(size)p 1197 4965 V 41 w(t)g(*)g Fe(sizeof_oid)12 +b Fg(\))390 5075 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m +(utls)p 1491 5075 V 41 w(x509)p 1715 5075 V 41 w(crl)p +1857 5075 V 40 w(t)h(structure)390 5207 y Ff(indx)6 b +FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(DN)h(OID)f(to)h(send.)40 +b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 +5340 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g +(to)h(hold)f(the)h(name)f(\(ma)m(y)i(b)s(e)e(n)m(ull\))p eop end -%%Page: 192 198 -TeXDict begin 192 197 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(192)390 299 y -Fn(Since:)41 b FB(2.8.0)150 494 y Fu(gn)m(utls)p 483 -494 37 5 v 55 w(x509)p 786 494 V 54 w(crl)p 979 494 V -54 w(get)p 1198 494 V 54 w(extension)p 1756 494 V 55 -w(info)3350 687 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crl_get_e)q(xten)q(sio)q(n_i)q(nfo)f Fg(\()p -Ff(gn)m(utls)p 2464 687 28 4 v 41 w(x509)p 2688 687 V -41 w(crl)p 2830 687 V 40 w(t)31 b Fe(crl)12 b Ff(,)565 -797 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1624 797 V 41 w(t)g(*)f -Fe(sizeof_oid)12 b Ff(,)33 b(in)m(t)e(*)g Fe(critical)12 -b Fg(\))390 907 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 1039 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send,)f(use)g(zero)h(to)h(get)f(the)g(\014rst)e(one.)390 -1172 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(OID)390 1304 y Ff(sizeof)p 610 1304 -V 41 w(oid)t FB(:)38 b(initially)26 b(holds)e(the)h(maxim)m(um)g(size)h -(of)f Fs(oid)p FB(,)g(on)g(return)e(holds)i(actual)h(size)g(of)f -Fs(oid)p FB(.)390 1437 y Ff(critical)t FB(:)42 b(output)30 -b(v)-5 b(ariable)31 b(with)f(critical)j(\015ag,)e(ma)m(y)g(b)s(e)e -(NULL.)390 1570 y(This)34 b(function)h(will)h(return)e(the)i(requested) -f(extension)h(OID)f(in)g(the)g(CRL,)g(and)g(the)g(critical)390 -1679 y(\015ag)e(for)f(it.)47 b(The)32 b(extension)h(OID)f(will)h(b)s(e) -e(stored)i(as)f(a)h(string)f(in)g(the)h(pro)m(vided)f(bu\013er.)46 -b(Use)390 1789 y Fs(gnutls_x509_crl_get_exte)o(nsio)o(n_da)o(ta\()o(\)) -24 b FB(to)32 b(extract)f(the)g(data.)390 1922 y(If)37 -b(the)h(bu\013er)e(pro)m(vided)h(is)h(not)f(long)h(enough)g(to)g(hold)f -(the)h(output,)h(then)e(*)p Fs(sizeof_oid)e FB(is)390 -2031 y(up)s(dated)29 b(and)h Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFE)o(R)24 -b FB(will)31 b(b)s(e)f(returned.)390 2164 y Fn(Returns:)71 -b FB(On)45 b(success,)50 b Fs(GNUTLS_E_SUCCESS)42 b FB(is)j(returned,)k -(otherwise)d(a)g(negativ)m(e)i(v)-5 b(alue)390 2273 y(in)43 -b(case)i(of)f(an)g(error.)80 b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m -(hed)f(the)g(last)h(extension)f(a)m(v)-5 b(ailable)46 -b Fs(GNUTLS_E_)390 2383 y(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 -b FB(will)30 b(b)s(e)g(returned.)390 2516 y Fn(Since:)41 -b FB(2.8.0)150 2711 y Fu(gn)m(utls)p 483 2711 37 5 v -55 w(x509)p 786 2711 V 54 w(crl)p 979 2711 V 54 w(get)p -1198 2711 V 54 w(extension)p 1756 2711 V 55 w(oid)3350 -2904 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_e)q -(xten)q(sio)q(n_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2412 -2904 28 4 v 40 w(x509)p 2635 2904 V 42 w(crl)p 2778 2904 -V 40 w(t)31 b Fe(crl)12 b Ff(,)565 3014 y(in)m(t)31 b -Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(oid)12 b Ff(,)31 -b(size)p 1624 3014 V 41 w(t)g(*)f Fe(sizeof_oid)12 b -Fg(\))390 3123 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 3256 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send,)f(use)g(zero)h(to)h(get)f(the)g(\014rst)e(one.)390 -3389 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(OID)f(\(ma)m(y)i(b)s(e)d(n)m(ull\))390 -3521 y Ff(sizeof)p 610 3521 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 3654 y FB(This)39 -b(function)g(will)h(return)f(the)g(requested)h(extension)g(OID)g(in)f -(the)h(CRL.)f(The)g(extension)390 3763 y(OID)30 b(will)h(b)s(e)f -(stored)g(as)h(a)g(string)f(in)g(the)h(pro)m(vided)f(bu\013er.)390 -3896 y Fn(Returns:)71 b FB(On)45 b(success,)50 b Fs(GNUTLS_E_SUCCESS)42 -b FB(is)j(returned,)k(otherwise)d(a)g(negativ)m(e)i(v)-5 -b(alue)390 4006 y(in)43 b(case)i(of)f(an)g(error.)80 -b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h(extension)f -(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 4115 y -(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 b(b)s(e)g(returned.) -390 4248 y Fn(Since:)41 b FB(2.8.0)150 4443 y Fu(gn)m(utls)p -483 4443 37 5 v 55 w(x509)p 786 4443 V 54 w(crl)p 979 -4443 V 54 w(get)p 1198 4443 V 54 w(issuer)p 1556 4443 -V 55 w(dn)p 1747 4443 V 55 w(b)m(y)p 1932 4443 V 53 w(oid)3350 -4636 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_i)q -(ssue)q(r_d)q(n_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p -2569 4636 28 4 v 40 w(x509)p 2792 4636 V 42 w(crl)p 2935 -4636 V 40 w(t)565 4746 y Fe(crl)12 b Ff(,)31 b(const)g(c)m(har)g(*)f -Fe(oid)12 b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)32 b(unsigned)d(in)m -(t)i Fe(raw_flag)12 b Ff(,)32 b(v)m(oid)f(*)g Fe(buf)12 -b Ff(,)31 b(size)p 3589 4746 V 41 w(t)g(*)565 4856 y -Fe(sizeof_buf)12 b Fg(\))390 4965 y Ff(crl)t FB(:)40 -b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 4965 -V 41 w(x509)p 1715 4965 V 41 w(crl)p 1857 4965 V 40 w(t)h(structure)390 -5098 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 +%%Page: 186 192 +TeXDict begin 186 191 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(186)390 299 y +Ff(sizeof)p 610 299 28 4 v 41 w(oid)t FB(:)41 b(initially)31 +b(holds)f(the)h(size)g(of)g('oid')390 432 y(This)26 b(function)g(will)h +(extract)h(the)f(requested)g(OID)f(of)h(the)g(name)g(of)g(the)g(CRL)f +(issuer,)h(sp)s(eci\014ed)390 542 y(b)m(y)j(the)h(giv)m(en)g(index.)390 +675 y(If)f(oid)g(is)h(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s +(e)f(\014lled.)390 809 y Fn(Returns:)39 b Ft(GNUTLS_E_SHORT_MEMORY_B)o +(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g +(long)h(enough,)390 918 y(and)k(in)g(that)i(case)f(the)g(sizeof)p +1450 918 V 41 w(oid)g(will)g(b)s(e)f(up)s(dated)f(with)i(the)g +(required)e(size.)49 b(On)32 b(success)h(0)390 1028 y(is)d(returned.) +150 1225 y Fv(gn)m(utls)p 483 1225 37 5 v 55 w(x509)p +786 1225 V 54 w(crl)p 979 1225 V 54 w(get)p 1198 1225 +V 54 w(issuer)p 1556 1225 V 55 w(dn)p 1747 1225 V 55 +w(b)m(y)p 1932 1225 V 53 w(oid)3350 1419 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crl_get_i)q(ssue)q(r_d)q(n_b)q(y_o)q(id)f +Fg(\()p Ff(gn)m(utls)p 2569 1419 28 4 v 40 w(x509)p 2792 +1419 V 42 w(crl)p 2935 1419 V 40 w(t)565 1529 y Fe(crl)p +Ff(,)32 b(const)e(c)m(har)h(*)g Fe(oid)p Ff(,)g(in)m(t)g +Fe(indx)p Ff(,)h(unsigned)d(in)m(t)i Fe(raw_flag)p Ff(,)i(v)m(oid)e(*)g +Fe(buf)p Ff(,)g(size)p 3531 1529 V 41 w(t)g(*)565 1639 +y Fe(sizeof_buf)12 b Fg(\))390 1748 y Ff(crl)t FB(:)40 +b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 1748 +V 41 w(x509)p 1715 1748 V 41 w(crl)p 1857 1748 V 40 w(t)h(structure)390 +1882 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h(string)390 -5230 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f(same)g(OIDs)f +2015 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f(same)g(OIDs)f (exist)h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m(h)g(to)i -(send.)39 b(Use)390 5340 y(zero)31 b(to)g(get)h(the)e(\014rst)g(one.)p -eop end -%%Page: 193 199 -TeXDict begin 193 198 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(193)390 299 y -Ff(ra)m(w)p 540 299 28 4 v 40 w(\015ag)8 b FB(:)41 b(If)30 -b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g(of)f(the)h(DN)g -(part.)390 436 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g -(structure)f(to)h(hold)f(the)h(p)s(eer's)e(name)i(\(ma)m(y)g(b)s(e)f(n) -m(ull\))390 573 y Ff(sizeof)p 610 573 V 41 w(buf)17 b -FB(:)40 b(initially)32 b(holds)e(the)g(size)i(of)e Fs(buf)390 -710 y FB(This)37 b(function)g(will)g(extract)i(the)f(part)f(of)g(the)h -(name)f(of)h(the)f(CRL)g(issuer)g(sp)s(eci\014ed)f(b)m(y)i(the)390 -820 y(giv)m(en)31 b(OID.)f(The)f(output)h(will)g(b)s(e)f(enco)s(ded)g -(as)h(describ)s(ed)f(in)h(RF)m(C2253.)42 b(The)30 b(output)f(string)390 -929 y(will)i(b)s(e)e(ASCI)s(I)g(or)i(UTF-8)g(enco)s(ded,)f(dep)s -(ending)f(on)h(the)h(certi\014cate)h(data.)390 1066 y(Some)g(help)s(er) -f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f(in)g(gn)m -(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 1176 y(zero,)39 -b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g(OIDs)g(as)h -(text.)61 b(Other)36 b(OIDs)g(will)h(b)s(e)f(DER)390 -1286 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f -(hex)g(format)h(with)e(a)i(')p Fs(\\)p FB(#')f(pre\014x.)39 -b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 1395 y(ab)s(out)i(kno)m(wn)g -(OIDs)g(using)g Fs(gnutls_x509_dn_oid_known)o(\(\))p -FB(.)390 1532 y(If)g(buf)f(is)h(n)m(ull)h(then)f(only)g(the)h(size)g -(will)g(b)s(e)f(\014lled.)390 1669 y Fn(Returns:)39 b -Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m -(vided)e(bu\013er)h(is)g(not)g(long)h(enough,)390 1779 -y(and)21 b(in)h(that)g(case)h(the)f(sizeof)p 1396 1779 +(send.)39 b(Use)390 2125 y(zero)31 b(to)g(get)h(the)e(\014rst)g(one.) +390 2258 y Ff(ra)m(w)p 540 2258 V 40 w(\015ag)8 b FB(:)41 +b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g(of)f(the)h +(DN)g(part.)390 2391 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to) +h(a)g(structure)f(to)h(hold)f(the)h(p)s(eer's)e(name)i(\(ma)m(y)g(b)s +(e)f(n)m(ull\))390 2525 y Ff(sizeof)p 610 2525 V 41 w(buf)17 +b FB(:)40 b(initially)32 b(holds)e(the)g(size)i(of)e +Ft(buf)390 2658 y FB(This)37 b(function)g(will)g(extract)i(the)f(part)f +(of)g(the)h(name)f(of)h(the)f(CRL)g(issuer)g(sp)s(eci\014ed)f(b)m(y)i +(the)390 2768 y(giv)m(en)31 b(OID.)f(The)f(output)h(will)g(b)s(e)f +(enco)s(ded)g(as)h(describ)s(ed)f(in)h(RF)m(C2253.)42 +b(The)30 b(output)f(string)390 2877 y(will)i(b)s(e)e(ASCI)s(I)g(or)i +(UTF-8)g(enco)s(ded,)f(dep)s(ending)f(on)h(the)h(certi\014cate)h(data.) +390 3011 y(Some)g(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g +(b)s(e)g(found)f(in)g(gn)m(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 +3120 y(zero,)39 b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g +(OIDs)g(as)h(text.)61 b(Other)36 b(OIDs)g(will)h(b)s(e)f(DER)390 +3230 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f +(hex)g(format)h(with)e(a)i(')p Ft(\\)p FB(#')f(pre\014x.)39 +b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 3339 y(ab)s(out)i(kno)m(wn)g +(OIDs)g(using)g Ft(gnutls_x509_dn_oid_known)o(\(\))p +FB(.)390 3473 y(If)g(buf)f(is)h(n)m(ull)h(then)f(only)g(the)h(size)g +(will)g(b)s(e)f(\014lled.)390 3606 y Fn(Returns:)39 b +Ft(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m +(vided)e(bu\013er)h(is)g(not)g(long)h(enough,)390 3716 +y(and)21 b(in)h(that)g(case)h(the)f(sizeof)p 1396 3716 V 41 w(buf)f(will)h(b)s(e)f(up)s(dated)f(with)i(the)g(required)f(size,) -j(and)e(0)g(on)f(success.)150 1981 y Fu(gn)m(utls)p 483 -1981 37 5 v 55 w(x509)p 786 1981 V 54 w(crl)p 979 1981 -V 54 w(get)p 1198 1981 V 54 w(issuer)p 1556 1981 V 55 -w(dn)3350 2180 y FB([F)-8 b(unction])-3599 b Fh(int)53 +j(and)e(0)g(on)f(success.)150 3913 y Fv(gn)m(utls)p 483 +3913 37 5 v 55 w(x509)p 786 3913 V 54 w(crl)p 979 3913 +V 54 w(get)p 1198 3913 V 54 w(issuer)p 1556 3913 V 55 +w(dn)3350 4107 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_i)q(ssue)q(r_d)q(n)e Fg(\()p Ff(const)32 -b(gn)m(utls)p 2441 2180 28 4 v 40 w(x509)p 2664 2180 -V 41 w(crl)p 2806 2180 V 41 w(t)e Fe(crl)12 b Ff(,)565 -2290 y(c)m(har)31 b(*)g Fe(buf)12 b Ff(,)31 b(size)p -1212 2290 V 41 w(t)f(*)h Fe(sizeof_buf)12 b Fg(\))390 -2399 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p -1491 2399 V 41 w(x509)p 1715 2399 V 41 w(crl)p 1857 2399 -V 40 w(t)h(structure)390 2537 y Ff(buf)16 b FB(:)41 b(a)31 +b(gn)m(utls)p 2441 4107 28 4 v 40 w(x509)p 2664 4107 +V 41 w(crl)p 2806 4107 V 41 w(t)e Fe(crl)p Ff(,)565 4217 +y(c)m(har)h(*)g Fe(buf)p Ff(,)g(size)p 1200 4217 V 41 +w(t)g(*)f Fe(sizeof_buf)12 b Fg(\))390 4327 y Ff(crl)t +FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 +4327 V 41 w(x509)p 1715 4327 V 41 w(crl)p 1857 4327 V +40 w(t)h(structure)390 4460 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h(p)s(eer's)e -(name)i(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 2674 y Ff(sizeof)p -610 2674 V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i -(of)e Fs(buf)390 2811 y FB(This)c(function)g(will)i(cop)m(y)f(the)g +(name)i(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 4593 y Ff(sizeof)p +610 4593 V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i +(of)e Ft(buf)390 4727 y FB(This)c(function)g(will)i(cop)m(y)f(the)g (name)g(of)g(the)g(CRL)f(issuer)g(in)h(the)g(pro)m(vided)f(bu\013er.)39 -b(The)26 b(name)390 2920 y(will)45 b(b)s(e)g(in)g(the)g(form)g -Fs(")p FB(C=xxxx,O=yyyy)-8 b(,CN=zzzz)p Fs(")45 b FB(as)g(describ)s(ed) -f(in)h(RF)m(C2253.)87 b(The)390 3030 y(output)30 b(string)g(will)h(b)s +b(The)26 b(name)390 4836 y(will)45 b(b)s(e)g(in)g(the)g(form)g +Ft(")p FB(C=xxxx,O=yyyy)-8 b(,CN=zzzz)p Ft(")45 b FB(as)g(describ)s(ed) +f(in)h(RF)m(C2253.)87 b(The)390 4946 y(output)30 b(string)g(will)h(b)s (e)f(ASCI)s(I)f(or)h(UTF-8)h(enco)s(ded,)f(dep)s(ending)f(on)i(the)f -(certi\014cate)j(data.)390 3167 y(If)d(buf)f(is)h Fs(NULL)g +(certi\014cate)j(data.)390 5079 y(If)d(buf)f(is)h Ft(NULL)g FB(then)g(only)g(the)h(size)g(will)g(b)s(e)e(\014lled.)390 -3304 y Fn(Returns:)39 b Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 +5213 y Fn(Returns:)39 b Ft(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g(long)h(enough,) -390 3414 y(and)21 b(in)h(that)g(case)h(the)f(sizeof)p -1396 3414 V 41 w(buf)f(will)h(b)s(e)f(up)s(dated)f(with)i(the)g -(required)f(size,)j(and)e(0)g(on)f(success.)150 3616 -y Fu(gn)m(utls)p 483 3616 37 5 v 55 w(x509)p 786 3616 -V 54 w(crl)p 979 3616 V 54 w(get)p 1198 3616 V 54 w(next)p -1489 3616 V 54 w(up)s(date)3350 3815 y FB([F)-8 b(unction])-3599 +390 5322 y(and)21 b(in)h(that)g(case)h(the)f(sizeof)p +1396 5322 V 41 w(buf)f(will)h(b)s(e)f(up)s(dated)f(with)i(the)g +(required)f(size,)j(and)e(0)g(on)f(success.)p eop end +%%Page: 187 193 +TeXDict begin 187 192 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(187)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crl)p 979 299 V 54 w(get)p 1198 299 V 54 w(next)p 1489 +299 V 54 w(up)s(date)3350 521 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_x509_crl_get_ne)q(xt_)q(upd)q(ate)e -Fg(\()p Ff(gn)m(utls)p 2464 3815 28 4 v 41 w(x509)p 2688 -3815 V 41 w(crl)p 2830 3815 V 40 w(t)31 b Fe(crl)12 b -Fg(\))390 3924 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 4062 y(This)i(function)h(will)h +Fg(\()p Ff(gn)m(utls)p 2464 521 28 4 v 41 w(x509)p 2688 +521 V 41 w(crl)p 2830 521 V 40 w(t)31 b Fe(crl)12 b Fg(\))390 +631 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e +Ft(gnutls_x509_crl_t)c FB(structure)390 790 y(This)i(function)h(will)h (return)e(the)h(time)h(the)g(next)f(CRL)g(will)g(b)s(e)g(issued.)39 -b(This)29 b(\014eld)g(is)g(optional)390 4171 y(in)h(a)h(CRL)f(so)g(it)h +b(This)29 b(\014eld)g(is)g(optional)390 900 y(in)h(a)h(CRL)f(so)g(it)h (migh)m(t)g(b)s(e)f(normal)g(to)h(get)h(an)e(error)g(instead.)390 -4308 y Fn(Returns:)40 b FB(when)30 b(the)g(next)h(CRL)f(will)g(b)s(e)g -(issued,)g(or)g(\(time)p 2514 4308 V 41 w(t\)-1)i(on)e(error.)150 -4510 y Fu(gn)m(utls)p 483 4510 37 5 v 55 w(x509)p 786 -4510 V 54 w(crl)p 979 4510 V 54 w(get)p 1198 4510 V 54 -w(n)m(um)m(b)s(er)3350 4709 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_get_n)q(umbe)q(r)f Fg(\()p -Ff(gn)m(utls)p 2046 4709 28 4 v 40 w(x509)p 2269 4709 -V 42 w(crl)p 2412 4709 V 40 w(t)30 b Fe(crl)12 b Ff(,)31 -b(v)m(oid)f(*)h Fe(ret)12 b Ff(,)565 4819 y(size)p 712 -4819 V 41 w(t)31 b(*)f Fe(ret_size)12 b Ff(,)33 b(unsigned)c(in)m(t)i -(*)g Fe(critical)12 b Fg(\))390 4929 y Ff(crl)t FB(:)40 -b(should)30 b(con)m(tain)i(a)e Fs(gnutls_x509_crl_t)c -FB(structure)390 5066 y Ff(ret)r FB(:)41 b(The)30 b(place)h(where)f -(the)h(n)m(um)m(b)s(er)e(will)h(b)s(e)g(copied)390 5203 -y Ff(ret)p 507 5203 V 40 w(size)5 b FB(:)42 b(Holds)31 -b(the)f(size)h(of)g(the)f(result)h(\014eld.)390 5340 -y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h -(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))p eop end -%%Page: 194 200 -TeXDict begin 194 199 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(194)390 299 y(This)33 -b(function)h(will)h(return)e(the)h(CRL)g(n)m(um)m(b)s(er)e(extension.) -53 b(This)33 b(is)i(obtained)f(b)m(y)g(the)h(CRL)390 -408 y(Num)m(b)s(er)29 b(extension)i(\014eld)f(\(2.5.29.20\).)390 -543 y Fn(Returns:)50 b FB(On)34 b(success,)j Fs(GNUTLS_E_SUCCESS)31 -b FB(is)k(returned,)h(otherwise)g(a)f(negativ)m(e)j(v)-5 -b(alue)35 b(in)390 652 y(case)c(of)g(an)f(error.)390 -787 y Fn(Since:)41 b FB(2.8.0)150 986 y Fu(gn)m(utls)p -483 986 37 5 v 55 w(x509)p 786 986 V 54 w(crl)p 979 986 -V 54 w(get)p 1198 986 V 54 w(signature)p 1745 986 V 55 -w(algorithm)3350 1183 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crl_get_s)q(igna)q(tur)q(e_a)q(lgo)q(rith)q(m)e -Fg(\()p Ff(gn)m(utls)p 2725 1183 28 4 v 41 w(x509)p 2949 -1183 V 42 w(crl)p 3092 1183 V 40 w(t)565 1292 y Fe(crl)12 -b Fg(\))390 1402 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 1536 y(This)f(function)h(will)h -(return)e(a)h(v)-5 b(alue)27 b(of)f(the)h Fs(gnutls_sign_algorithm_t)20 -b FB(en)m(umeration)26 b(that)390 1646 y(is)k(the)h(signature)g -(algorithm.)390 1780 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 1979 y Fu(gn)m(utls)p -483 1979 37 5 v 55 w(x509)p 786 1979 V 54 w(crl)p 979 -1979 V 54 w(get)p 1198 1979 V 54 w(signature)3350 2176 +1060 y Fn(Returns:)40 b FB(when)30 b(the)g(next)h(CRL)f(will)g(b)s(e)g +(issued,)g(or)g(\(time)p 2514 1060 V 41 w(t\)-1)i(on)e(error.)150 +1285 y Fv(gn)m(utls)p 483 1285 37 5 v 55 w(x509)p 786 +1285 V 54 w(crl)p 979 1285 V 54 w(get)p 1198 1285 V 54 +w(signature)p 1745 1285 V 55 w(algorithm)3350 1507 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_s)q(igna)q +(tur)q(e_a)q(lgo)q(rith)q(m)e Fg(\()p Ff(gn)m(utls)p +2725 1507 28 4 v 41 w(x509)p 2949 1507 V 42 w(crl)p 3092 +1507 V 40 w(t)565 1616 y Fe(crl)12 b Fg(\))390 1726 y +Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e Ft(gnutls_x509_crl_t)c +FB(structure)390 1886 y(This)f(function)h(will)h(return)e(a)h(v)-5 +b(alue)27 b(of)f(the)h Ft(gnutls_sign_algorithm_t)20 +b FB(en)m(umeration)26 b(that)390 1995 y(is)k(the)h(signature)g +(algorithm.)390 2155 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 2380 y Fv(gn)m(utls)p +483 2380 37 5 v 55 w(x509)p 786 2380 V 54 w(crl)p 979 +2380 V 54 w(get)p 1198 2380 V 54 w(signature)3350 2602 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_s)q(igna)q -(tur)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 2176 28 4 v 41 -w(x509)p 2426 2176 V 42 w(crl)p 2569 2176 V 40 w(t)30 -b Fe(crl)12 b Ff(,)31 b(c)m(har)g(*)565 2286 y Fe(sig)12 -b Ff(,)31 b(size)p 936 2286 V 41 w(t)g(*)f Fe(sizeof_sig)12 -b Fg(\))390 2395 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 2395 V 41 w(x509)p 1715 2395 V 41 w(crl)p -1857 2395 V 40 w(t)h(structure)390 2530 y Ff(sig)8 b -FB(:)41 b(a)31 b(p)s(oin)m(ter)f(where)g(the)h(signature)f(part)h(will) -f(b)s(e)g(copied)h(\(ma)m(y)g(b)s(e)f(n)m(ull\).)390 -2664 y Ff(sizeof)p 610 2664 V 41 w(sig)8 b FB(:)41 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(sig)390 2798 y FB(This)g(function)g -(will)g(extract)i(the)f(signature)f(\014eld)g(of)h(a)g(CRL.)390 -2933 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 3042 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 -b(on)f(error.)150 3241 y Fu(gn)m(utls)p 483 3241 37 5 -v 55 w(x509)p 786 3241 V 54 w(crl)p 979 3241 V 54 w(get)p -1198 3241 V 54 w(this)p 1450 3241 V 55 w(up)s(date)3350 -3438 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b +(tur)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 2602 28 4 v 41 +w(x509)p 2426 2602 V 42 w(crl)p 2569 2602 V 40 w(t)30 +b Fe(crl)p Ff(,)i(c)m(har)f(*)565 2712 y Fe(sig)p Ff(,)h(size)p +925 2712 V 40 w(t)f(*)g Fe(sizeof_sig)12 b Fg(\))390 +2821 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 2821 V 41 w(x509)p 1715 2821 V 41 w(crl)p 1857 2821 +V 40 w(t)h(structure)390 2981 y Ff(sig)8 b FB(:)41 b(a)31 +b(p)s(oin)m(ter)f(where)g(the)h(signature)f(part)h(will)f(b)s(e)g +(copied)h(\(ma)m(y)g(b)s(e)f(n)m(ull\).)390 3141 y Ff(sizeof)p +610 3141 V 41 w(sig)8 b FB(:)41 b(initially)32 b(holds)e(the)g(size)i +(of)e Ft(sig)390 3301 y FB(This)g(function)g(will)g(extract)i(the)f +(signature)f(\014eld)g(of)h(a)g(CRL.)390 3461 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)390 3570 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(on)f(error.)150 3795 y Fv(gn)m(utls)p 483 3795 37 5 +v 55 w(x509)p 786 3795 V 54 w(crl)p 979 3795 V 54 w(get)p +1198 3795 V 54 w(this)p 1450 3795 V 55 w(up)s(date)3350 +4017 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b (gnutls_x509_crl_get_th)q(is_)q(upd)q(ate)e Fg(\()p Ff(gn)m(utls)p -2464 3438 28 4 v 41 w(x509)p 2688 3438 V 41 w(crl)p 2830 -3438 V 40 w(t)31 b Fe(crl)12 b Fg(\))390 3548 y Ff(crl)t -FB(:)40 b(should)30 b(con)m(tain)i(a)e Fs(gnutls_x509_crl_t)c -FB(structure)390 3682 y(This)k(function)g(will)g(return)g(the)g(time)h -(this)g(CRL)e(w)m(as)i(issued.)390 3817 y Fn(Returns:)40 +2464 4017 28 4 v 41 w(x509)p 2688 4017 V 41 w(crl)p 2830 +4017 V 40 w(t)31 b Fe(crl)12 b Fg(\))390 4126 y Ff(crl)t +FB(:)40 b(should)30 b(con)m(tain)i(a)e Ft(gnutls_x509_crl_t)c +FB(structure)390 4286 y(This)k(function)g(will)g(return)g(the)g(time)h +(this)g(CRL)e(w)m(as)i(issued.)390 4446 y Fn(Returns:)40 b FB(when)30 b(the)g(CRL)g(w)m(as)h(issued,)f(or)g(\(time)p -2189 3817 V 41 w(t\)-1)i(on)e(error.)150 4016 y Fu(gn)m(utls)p -483 4016 37 5 v 55 w(x509)p 786 4016 V 54 w(crl)p 979 -4016 V 54 w(get)p 1198 4016 V 54 w(v)m(ersion)3350 4212 +2189 4446 V 41 w(t\)-1)i(on)e(error.)150 4671 y Fv(gn)m(utls)p +483 4671 37 5 v 55 w(x509)p 786 4671 V 54 w(crl)p 979 +4671 V 54 w(get)p 1198 4671 V 54 w(v)m(ersion)3350 4893 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_get_v)q(ersi) -q(on)f Fg(\()p Ff(gn)m(utls)p 2098 4212 28 4 v 41 w(x509)p -2322 4212 V 41 w(crl)p 2464 4212 V 40 w(t)31 b Fe(crl)12 -b Fg(\))390 4322 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e -Fs(gnutls_x509_crl_t)c FB(structure)390 4456 y(This)k(function)g(will)g +q(on)f Fg(\()p Ff(gn)m(utls)p 2098 4893 28 4 v 41 w(x509)p +2322 4893 V 41 w(crl)p 2464 4893 V 40 w(t)31 b Fe(crl)12 +b Fg(\))390 5003 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e +Ft(gnutls_x509_crl_t)c FB(structure)390 5162 y(This)k(function)g(will)g (return)g(the)g(v)m(ersion)h(of)g(the)f(sp)s(eci\014ed)g(CRL.)390 -4591 y Fn(Returns:)40 b FB(The)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or) -i(a)g(negativ)m(e)h(v)-5 b(alue)31 b(on)f(error.)150 -4790 y Fu(gn)m(utls)p 483 4790 37 5 v 55 w(x509)p 786 -4790 V 54 w(crl)p 979 4790 V 54 w(imp)s(ort)3350 4986 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_impor)q(t)e -Fg(\()p Ff(gn)m(utls)p 1836 4986 28 4 v 41 w(x509)p 2060 -4986 V 41 w(crl)p 2202 4986 V 41 w(t)30 b Fe(crl)12 b -Ff(,)31 b(const)565 5096 y(gn)m(utls)p 811 5096 V 41 -w(datum)p 1110 5096 V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 -b(gn)m(utls)p 1807 5096 V 40 w(x509)p 2030 5096 V 42 -w(crt)p 2183 5096 V 40 w(fm)m(t)p 2359 5096 V 40 w(t)g -Fe(format)12 b Fg(\))390 5206 y Ff(crl)t FB(:)40 b(The)30 -b(structure)g(to)h(store)g(the)g(parsed)f(CRL.)390 5340 -y Ff(data)p FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(CRL.)p -eop end -%%Page: 195 201 -TeXDict begin 195 200 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(195)390 299 y -Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 -434 y(This)22 b(function)g(will)g(con)m(v)m(ert)i(the)f(giv)m(en)g(DER) -f(or)h(PEM)f(enco)s(ded)g(CRL)g(to)h(the)f(nativ)m(e)i -Fs(gnutls_)390 544 y(x509_crl_t)k FB(format.)41 b(The)29 -b(output)h(will)h(b)s(e)f(stored)g(in)g('crl'.)390 679 +5322 y Fn(Returns:)40 b FB(The)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or) +i(a)g(negativ)m(e)h(v)-5 b(alue)31 b(on)f(error.)p eop +end +%%Page: 188 194 +TeXDict begin 188 193 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(188)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crl)p 979 299 V 54 w(imp)s(ort)3350 497 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_impor)q(t)e +Fg(\()p Ff(gn)m(utls)p 1836 497 28 4 v 41 w(x509)p 2060 +497 V 41 w(crl)p 2202 497 V 41 w(t)30 b Fe(crl)p Ff(,)i(const)565 +607 y(gn)m(utls)p 811 607 V 41 w(datum)p 1110 607 V 39 +w(t)f(*)g Fe(data)p Ff(,)g(gn)m(utls)p 1795 607 V 41 +w(x509)p 2019 607 V 41 w(crt)p 2171 607 V 40 w(fm)m(t)p +2347 607 V 41 w(t)f Fe(format)12 b Fg(\))390 716 y Ff(crl)t +FB(:)40 b(The)30 b(structure)g(to)h(store)g(the)g(parsed)f(CRL.)390 +852 y Ff(data)p FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(CRL.) +390 988 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 +1124 y(This)22 b(function)g(will)g(con)m(v)m(ert)i(the)f(giv)m(en)g +(DER)f(or)h(PEM)f(enco)s(ded)g(CRL)g(to)h(the)f(nativ)m(e)i +Ft(gnutls_)390 1234 y(x509_crl_t)k FB(format.)41 b(The)29 +b(output)h(will)h(b)s(e)f(stored)g(in)g('crl'.)390 1370 y(If)g(the)g(CRL)g(is)h(PEM)f(enco)s(ded)g(it)h(should)e(ha)m(v)m(e)j -(a)f(header)f(of)g Fs(")p FB(X509)i(CRL)p Fs(")p FB(.)390 -814 y Fn(Returns:)k FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(a)f(header)f(of)g Ft(")p FB(X509)i(CRL)p Ft(")p FB(.)390 +1506 y Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1014 y Fu(gn)m(utls)p 483 1014 37 5 v 55 -w(x509)p 786 1014 V 54 w(crl)p 979 1014 V 54 w(init)3350 -1211 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_init)f -Fg(\()p Ff(gn)m(utls)p 1732 1211 28 4 v 40 w(x509)p 1955 -1211 V 42 w(crl)p 2098 1211 V 40 w(t)31 b(*)g Fe(crl)12 -b Fg(\))390 1321 y Ff(crl)t FB(:)40 b(The)30 b(structure)g(to)h(b)s(e)f -(initialized)390 1456 y(This)40 b(function)g(will)h(initialize)h(a)f +b(alue.)150 1707 y Fv(gn)m(utls)p 483 1707 37 5 v 55 +w(x509)p 786 1707 V 54 w(crl)p 979 1707 V 54 w(init)3350 +1905 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_init)f +Fg(\()p Ff(gn)m(utls)p 1732 1905 28 4 v 40 w(x509)p 1955 +1905 V 42 w(crl)p 2098 1905 V 40 w(t)31 b(*)g Fe(crl)12 +b Fg(\))390 2015 y Ff(crl)t FB(:)40 b(The)30 b(structure)g(to)h(b)s(e)f +(initialized)390 2151 y(This)40 b(function)g(will)h(initialize)h(a)f (CRL)f(structure.)70 b(CRL)40 b(stands)g(for)g(Certi\014cate)i(Rev)m(o) -s(ca-)390 1566 y(tion)d(List.)65 b(A)38 b(rev)m(o)s(cation)i(list)f +s(ca-)390 2260 y(tion)d(List.)65 b(A)38 b(rev)m(o)s(cation)i(list)f (usually)f(con)m(tains)i(lists)f(of)f(certi\014cate)i(serial)f(n)m(um)m -(b)s(ers)e(that)390 1675 y(ha)m(v)m(e)d(b)s(een)d(rev)m(ok)m(ed)j(b)m +(b)s(ers)e(that)390 2370 y(ha)m(v)m(e)d(b)s(een)d(rev)m(ok)m(ed)j(b)m (y)e(an)g(Authorit)m(y)-8 b(.)47 b(The)32 b(rev)m(o)s(cation)i(lists)f -(are)g(alw)m(a)m(ys)h(signed)e(with)g(the)390 1785 y(authorit)m(y's)f -(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 1920 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +(are)g(alw)m(a)m(ys)h(signed)e(with)g(the)390 2480 y(authorit)m(y's)f +(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 2616 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2120 y Fu(gn)m(utls)p 483 2120 37 5 v 55 -w(x509)p 786 2120 V 54 w(crl)p 979 2120 V 54 w(prin)m(t)3350 -2317 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_print)f -Fg(\()p Ff(gn)m(utls)p 1784 2317 28 4 v 41 w(x509)p 2008 -2317 V 41 w(crl)p 2150 2317 V 40 w(t)31 b Fe(crl)12 b -Ff(,)565 2427 y(gn)m(utls)p 811 2427 V 41 w(certi\014cate)p -1239 2427 V 42 w(prin)m(t)p 1476 2427 V 39 w(formats)p -1816 2427 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(gn)m(utls)p -2543 2427 V 41 w(datum)p 2842 2427 V 39 w(t)f(*)g Fe(out)12 -b Fg(\))390 2536 y Ff(crl)t FB(:)40 b(The)30 b(structure)g(to)h(b)s(e)f -(prin)m(ted)390 2672 y Ff(format)r FB(:)41 b(Indicate)31 -b(the)g(format)f(to)h(use)390 2807 y Ff(out)r FB(:)41 -b(Newly)31 b(allo)s(cated)h(datum)e(with)g(zero)h(terminated)g(string.) -390 2942 y(This)e(function)h(will)g(prett)m(y)h(prin)m(t)e(a)i(X.509)h -(certi\014cate)g(rev)m(o)s(cation)f(list,)g(suitable)g(for)f(displa)m -(y)390 3051 y(to)h(a)g(h)m(uman.)390 3187 y(The)f(output)g -Fs(out)f FB(needs)h(to)h(b)s(e)f(deallo)s(cate)j(using)d -Fs(gnutls_free\(\))p FB(.)390 3322 y Fn(Returns:)36 b -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(alue.)150 2817 y Fv(gn)m(utls)p 483 2817 37 5 v 55 +w(x509)p 786 2817 V 54 w(crl)p 979 2817 V 54 w(prin)m(t)3350 +3015 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_print)f +Fg(\()p Ff(gn)m(utls)p 1784 3015 28 4 v 41 w(x509)p 2008 +3015 V 41 w(crl)p 2150 3015 V 40 w(t)31 b Fe(crl)p Ff(,)565 +3124 y(gn)m(utls)p 811 3124 V 41 w(certi\014cate)p 1239 +3124 V 42 w(prin)m(t)p 1476 3124 V 39 w(formats)p 1816 +3124 V 41 w(t)f Fe(format)p Ff(,)j(gn)m(utls)p 2532 3124 +V 40 w(datum)p 2830 3124 V 40 w(t)d(*)h Fe(out)12 b Fg(\))390 +3234 y Ff(crl)t FB(:)40 b(The)30 b(structure)g(to)h(b)s(e)f(prin)m(ted) +390 3370 y Ff(format)r FB(:)41 b(Indicate)31 b(the)g(format)f(to)h(use) +390 3506 y Ff(out)r FB(:)41 b(Newly)31 b(allo)s(cated)h(datum)e(with)g +(zero)h(terminated)g(string.)390 3642 y(This)e(function)h(will)g(prett) +m(y)h(prin)m(t)e(a)i(X.509)h(certi\014cate)g(rev)m(o)s(cation)f(list,)g +(suitable)g(for)f(displa)m(y)390 3752 y(to)h(a)g(h)m(uman.)390 +3888 y(The)f(output)g Ft(out)f FB(needs)h(to)h(b)s(e)f(deallo)s(cate)j +(using)d Ft(gnutls_free\(\))p FB(.)390 4024 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3522 y Fu(gn)m(utls)p 483 3522 37 5 v 55 -w(x509)p 786 3522 V 54 w(crl)p 979 3522 V 54 w(set)p -1185 3522 V 54 w(authorit)m(y)p 1738 3522 V 54 w(k)m(ey)p -1975 3522 V 53 w(id)3350 3719 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_set_a)q(utho)q(rit)q(y_k)q(ey_)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 3719 28 4 v 40 w(x509)p 2792 -3719 V 42 w(crl)p 2935 3719 V 40 w(t)565 3829 y Fe(crl)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)g Fe(id)12 b Ff(,)30 -b(size)p 1618 3829 V 41 w(t)h Fe(id_size)12 b Fg(\))390 -3938 y Ff(crl)t FB(:)40 b(a)31 b(CRL)f(of)g(t)m(yp)s(e)h -Fs(gnutls_x509_crl_t)390 4073 y Ff(id)t FB(:)40 b(The)30 -b(k)m(ey)h(ID)390 4208 y Ff(id)p 472 4208 V 40 w(size)5 -b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h(serial)g(\014eld.)390 -4344 y(This)h(function)h(will)h(set)f(the)g(CRL's)g(authorit)m(y)h(k)m -(ey)g(ID)f(extension.)50 b(Only)32 b(the)h(k)m(eyIden)m(ti\014er)390 -4453 y(\014eld)d(can)h(b)s(e)e(set)i(with)f(this)h(function.)390 -4588 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4723 y Fn(Since:)41 b FB(2.8.0)150 4923 y -Fu(gn)m(utls)p 483 4923 37 5 v 55 w(x509)p 786 4923 V -54 w(crl)p 979 4923 V 54 w(set)p 1185 4923 V 54 w(crt)p -1392 4923 V 54 w(serial)3350 5121 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_set_c)q(rt_s)q(eri)q(al)f -Fg(\()p Ff(gn)m(utls)p 2255 5121 28 4 v 41 w(x509)p 2479 -5121 V 41 w(crl)p 2621 5121 V 40 w(t)31 b Fe(crl)12 b -Ff(,)31 b(const)565 5230 y(v)m(oid)g(*)g Fe(serial)12 -b Ff(,)32 b(size)p 1366 5230 V 41 w(t)e Fe(serial_size)12 -b Ff(,)34 b(time)p 2291 5230 V 41 w(t)c Fe(revocation_time)12 -b Fg(\))390 5340 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 5340 V 41 w(x509)p 1715 5340 V 41 w(crl)p -1857 5340 V 40 w(t)h(structure)p eop end -%%Page: 196 202 -TeXDict begin 196 201 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(196)390 299 y -Ff(serial)t FB(:)41 b(The)30 b(rev)m(ok)m(ed)i(certi\014cate's)g -(serial)f(n)m(um)m(b)s(er)390 434 y Ff(serial)p 603 434 -28 4 v 41 w(size)5 b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h -(serial)g(\014eld.)390 568 y Ff(rev)m(o)s(cation)p 806 -568 V 42 w(time)5 b FB(:)41 b(The)30 b(time)h(this)g(certi\014cate)h(w) -m(as)f(rev)m(ok)m(ed)390 703 y(This)f(function)g(will)g(set)h(a)g(rev)m -(ok)m(ed)h(certi\014cate's)g(serial)f(n)m(um)m(b)s(er)e(to)i(the)g -(CRL.)390 838 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 1037 y Fu(gn)m(utls)p -483 1037 37 5 v 55 w(x509)p 786 1037 V 54 w(crl)p 979 -1037 V 54 w(set)p 1185 1037 V 54 w(crt)3350 1234 y FB([F)d(unction]) --3599 b Fh(int)53 b(gnutls_x509_crl_set_c)q(rt)f Fg(\()p -Ff(gn)m(utls)p 1889 1234 28 4 v 40 w(x509)p 2112 1234 -V 42 w(crl)p 2255 1234 V 40 w(t)31 b Fe(crl)12 b Ff(,)565 -1344 y(gn)m(utls)p 811 1344 V 41 w(x509)p 1035 1344 V -41 w(crt)p 1187 1344 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 -b(time)p 1693 1344 V 41 w(t)f Fe(revocation_time)12 b -Fg(\))390 1454 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 1454 V 41 w(x509)p 1715 1454 V 41 w(crl)p -1857 1454 V 40 w(t)h(structure)390 1588 y Ff(crt)r FB(:)41 -b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f Fs(gnutls_x509_crt_t)c -FB(with)k(the)h(rev)m(ok)m(ed)g(certi\014cate)390 1723 -y Ff(rev)m(o)s(cation)p 806 1723 V 42 w(time)5 b FB(:)41 +b(alue.)150 4225 y Fv(gn)m(utls)p 483 4225 37 5 v 55 +w(x509)p 786 4225 V 54 w(crl)p 979 4225 V 54 w(set)p +1185 4225 V 54 w(crt)p 1392 4225 V 54 w(serial)3350 4423 +y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_c)q(rt_s)q +(eri)q(al)f Fg(\()p Ff(gn)m(utls)p 2255 4423 28 4 v 41 +w(x509)p 2479 4423 V 41 w(crl)p 2621 4423 V 40 w(t)31 +b Fe(crl)p Ff(,)g(const)565 4532 y(v)m(oid)g(*)g Fe(serial)p +Ff(,)h(size)p 1354 4532 V 41 w(t)f Fe(serial_size)p Ff(,)j(time)p +2268 4532 V 40 w(t)d Fe(revocation_time)12 b Fg(\))390 +4642 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 4642 V 41 w(x509)p 1715 4642 V 41 w(crl)p 1857 4642 +V 40 w(t)h(structure)390 4778 y Ff(serial)t FB(:)41 b(The)30 +b(rev)m(ok)m(ed)i(certi\014cate's)g(serial)f(n)m(um)m(b)s(er)390 +4914 y Ff(serial)p 603 4914 V 41 w(size)5 b FB(:)41 b(Holds)31 +b(the)g(size)g(of)f(the)h(serial)g(\014eld.)390 5050 +y Ff(rev)m(o)s(cation)p 806 5050 V 42 w(time)5 b FB(:)41 b(The)30 b(time)h(this)g(certi\014cate)h(w)m(as)f(rev)m(ok)m(ed)390 -1858 y(This)f(function)g(will)g(set)h(a)g(rev)m(ok)m(ed)h +5186 y(This)f(function)g(will)g(set)h(a)g(rev)m(ok)m(ed)h (certi\014cate's)g(serial)f(n)m(um)m(b)s(er)e(to)i(the)g(CRL.)390 -1993 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2192 y Fu(gn)m(utls)p 483 2192 37 5 v 55 -w(x509)p 786 2192 V 54 w(crl)p 979 2192 V 54 w(set)p -1185 2192 V 54 w(next)p 1476 2192 V 54 w(up)s(date)3350 -2389 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_n)q -(ext_)q(upd)q(ate)f Fg(\()p Ff(gn)m(utls)p 2307 2389 -28 4 v 41 w(x509)p 2531 2389 V 41 w(crl)p 2673 2389 V -40 w(t)31 b Fe(crl)12 b Ff(,)565 2499 y(time)p 747 2499 -V 41 w(t)31 b Fe(exp_time)12 b Fg(\))390 2608 y Ff(crl)t -FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 -2608 V 41 w(x509)p 1715 2608 V 41 w(crl)p 1857 2608 V -40 w(t)h(structure)390 2743 y Ff(exp)p 535 2743 V 40 -w(time)5 b FB(:)41 b(The)30 b(actual)i(time)390 2878 +b(alue.)p eop end +%%Page: 189 195 +TeXDict begin 189 194 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(189)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crl)p 979 299 V 54 w(set)p 1185 299 V 54 w(crt)3350 +498 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_c)q +(rt)f Fg(\()p Ff(gn)m(utls)p 1889 498 28 4 v 40 w(x509)p +2112 498 V 42 w(crl)p 2255 498 V 40 w(t)31 b Fe(crl)p +Ff(,)565 608 y(gn)m(utls)p 811 608 V 41 w(x509)p 1035 +608 V 41 w(crt)p 1187 608 V 40 w(t)g Fe(crt)p Ff(,)g(time)p +1681 608 V 41 w(t)g Fe(revocation_time)12 b Fg(\))390 +718 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 718 V 41 w(x509)p 1715 718 V 41 w(crl)p 1857 718 +V 40 w(t)h(structure)390 855 y Ff(crt)r FB(:)41 b(should)29 +b(con)m(tain)j(a)f(gn)m(utls)p 1500 855 V 40 w(x509)p +1723 855 V 42 w(crt)p 1876 855 V 40 w(t)g(structure)f(with)g(the)g(rev) +m(ok)m(ed)i(certi\014cate)390 992 y Ff(rev)m(o)s(cation)p +806 992 V 42 w(time)5 b FB(:)41 b(The)30 b(time)h(this)g(certi\014cate) +h(w)m(as)f(rev)m(ok)m(ed)390 1129 y(This)f(function)g(will)g(set)h(a)g +(rev)m(ok)m(ed)h(certi\014cate's)g(serial)f(n)m(um)m(b)s(er)e(to)i(the) +g(CRL.)390 1266 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1468 y Fv(gn)m(utls)p +483 1468 37 5 v 55 w(x509)p 786 1468 V 54 w(crl)p 979 +1468 V 54 w(set)p 1185 1468 V 54 w(next)p 1476 1468 V +54 w(up)s(date)3350 1668 y FB([F)d(unction])-3599 b Fh(int)53 +b(gnutls_x509_crl_set_n)q(ext_)q(upd)q(ate)f Fg(\()p +Ff(gn)m(utls)p 2307 1668 28 4 v 41 w(x509)p 2531 1668 +V 41 w(crl)p 2673 1668 V 40 w(t)31 b Fe(crl)p Ff(,)565 +1777 y(time)p 747 1777 V 41 w(t)g Fe(exp_time)12 b Fg(\))390 +1887 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 1887 V 41 w(x509)p 1715 1887 V 41 w(crl)p 1857 1887 +V 40 w(t)h(structure)390 2024 y Ff(exp)p 535 2024 V 40 +w(time)5 b FB(:)41 b(The)30 b(actual)i(time)390 2161 y(This)e(function)g(will)g(set)h(the)g(time)g(this)f(CRL)g(will)h(b)s -(e)e(up)s(dated.)390 3013 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 3212 y Fu(gn)m(utls)p -483 3212 37 5 v 55 w(x509)p 786 3212 V 54 w(crl)p 979 -3212 V 54 w(set)p 1185 3212 V 54 w(n)m(um)m(b)s(er)3350 -3409 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_n)q -(umbe)q(r)f Fg(\()p Ff(gn)m(utls)p 2046 3409 28 4 v 40 -w(x509)p 2269 3409 V 42 w(crl)p 2412 3409 V 40 w(t)31 -b Fe(crl)12 b Ff(,)31 b(const)f(v)m(oid)565 3519 y(*)h -Fe(nr)12 b Ff(,)31 b(size)p 960 3519 V 40 w(t)g Fe(nr_size)12 -b Fg(\))390 3628 y Ff(crl)t FB(:)40 b(a)31 b(CRL)f(of)g(t)m(yp)s(e)h -Fs(gnutls_x509_crl_t)390 3763 y Ff(nr)7 b FB(:)39 b(The)30 -b(CRL)g(n)m(um)m(b)s(er)390 3898 y Ff(nr)p 483 3898 V -39 w(size)5 b FB(:)42 b(Holds)30 b(the)h(size)g(of)g(the)f(nr)g -(\014eld.)390 4033 y(This)g(function)g(will)g(set)h(the)g(CRL's)f(n)m -(um)m(b)s(er)f(extension.)390 4168 y Fn(Returns:)36 b -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4302 y Fn(Since:)41 b FB(2.8.0)150 4502 y -Fu(gn)m(utls)p 483 4502 37 5 v 55 w(x509)p 786 4502 V -54 w(crl)p 979 4502 V 54 w(set)p 1185 4502 V 54 w(this)p -1437 4502 V 55 w(up)s(date)3350 4699 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crl_set_t)q(his_)q(upd)q(ate)f -Fg(\()p Ff(gn)m(utls)p 2307 4699 28 4 v 41 w(x509)p 2531 -4699 V 41 w(crl)p 2673 4699 V 40 w(t)31 b Fe(crl)12 b -Ff(,)565 4808 y(time)p 747 4808 V 41 w(t)31 b Fe(act_time)12 -b Fg(\))390 4918 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 4918 V 41 w(x509)p 1715 4918 V 41 w(crl)p -1857 4918 V 40 w(t)h(structure)390 5053 y Ff(act)p 516 -5053 V 41 w(time)5 b FB(:)42 b(The)30 b(actual)h(time)390 -5188 y(This)f(function)g(will)g(set)h(the)g(time)g(this)f(CRL)g(w)m(as) -h(issued.)390 5322 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 197 203 -TeXDict begin 197 202 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(197)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crl)p 979 299 V 54 w(set)p 1185 299 V 54 w(v)m(ersion)3350 -495 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_v)q -(ersi)q(on)f Fg(\()p Ff(gn)m(utls)p 2098 495 28 4 v 41 -w(x509)p 2322 495 V 41 w(crl)p 2464 495 V 40 w(t)31 b -Fe(crl)12 b Ff(,)31 b(unsigned)565 605 y(in)m(t)g Fe(version)12 -b Fg(\))390 714 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 714 V 41 w(x509)p 1715 714 V 41 w(crl)p -1857 714 V 40 w(t)h(structure)390 849 y Ff(v)m(ersion)p -FB(:)41 b(holds)30 b(the)h(v)m(ersion)f(n)m(um)m(b)s(er.)40 -b(F)-8 b(or)31 b(CRLv1)f(crls)h(m)m(ust)f(b)s(e)g(1.)390 -983 y(This)j(function)g(will)h(set)g(the)g(v)m(ersion)g(of)f(the)h -(CRL.)f(This)g(m)m(ust)g(b)s(e)g(one)h(for)f(CRL)g(v)m(ersion)h(1,)390 -1093 y(and)c(so)g(on.)41 b(The)30 b(CRLs)f(generated)j(b)m(y)e(gn)m +(e)e(up)s(dated.)390 2299 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2501 y Fv(gn)m(utls)p +483 2501 37 5 v 55 w(x509)p 786 2501 V 54 w(crl)p 979 +2501 V 54 w(set)p 1185 2501 V 54 w(this)p 1437 2501 V +55 w(up)s(date)3350 2700 y FB([F)d(unction])-3599 b Fh(int)53 +b(gnutls_x509_crl_set_t)q(his_)q(upd)q(ate)f Fg(\()p +Ff(gn)m(utls)p 2307 2700 28 4 v 41 w(x509)p 2531 2700 +V 41 w(crl)p 2673 2700 V 40 w(t)31 b Fe(crl)p Ff(,)565 +2810 y(time)p 747 2810 V 41 w(t)g Fe(act_time)12 b Fg(\))390 +2919 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 2919 V 41 w(x509)p 1715 2919 V 41 w(crl)p 1857 2919 +V 40 w(t)h(structure)390 3056 y Ff(act)p 516 3056 V 41 +w(time)5 b FB(:)42 b(The)30 b(actual)h(time)390 3194 +y(This)f(function)g(will)g(set)h(the)g(time)g(this)f(CRL)g(w)m(as)h +(issued.)390 3331 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 3533 y Fv(gn)m(utls)p +483 3533 37 5 v 55 w(x509)p 786 3533 V 54 w(crl)p 979 +3533 V 54 w(set)p 1185 3533 V 54 w(v)m(ersion)3350 3732 +y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_set_v)q(ersi)q +(on)f Fg(\()p Ff(gn)m(utls)p 2098 3732 28 4 v 41 w(x509)p +2322 3732 V 41 w(crl)p 2464 3732 V 40 w(t)31 b Fe(crl)p +Ff(,)g(unsigned)565 3842 y(in)m(t)g Fe(version)12 b Fg(\))390 +3951 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p +1491 3951 V 41 w(x509)p 1715 3951 V 41 w(crl)p 1857 3951 +V 40 w(t)h(structure)390 4089 y Ff(v)m(ersion)p FB(:)41 +b(holds)30 b(the)h(v)m(ersion)f(n)m(um)m(b)s(er.)40 b(F)-8 +b(or)31 b(CRLv1)f(crls)h(m)m(ust)f(b)s(e)g(1.)390 4226 +y(This)j(function)g(will)h(set)g(the)g(v)m(ersion)g(of)f(the)h(CRL.)f +(This)g(m)m(ust)g(b)s(e)g(one)h(for)f(CRL)g(v)m(ersion)h(1,)390 +4335 y(and)c(so)g(on.)41 b(The)30 b(CRLs)f(generated)j(b)m(y)e(gn)m (utls)h(should)e(ha)m(v)m(e)j(a)f(v)m(ersion)f(n)m(um)m(b)s(er)f(of)i -(2.)390 1227 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 1426 y Fu(gn)m(utls)p -483 1426 37 5 v 55 w(x509)p 786 1426 V 54 w(crl)p 979 -1426 V 54 w(sign2)3350 1622 y FB([F)d(unction])-3599 +(2.)390 4473 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 4675 y Fv(gn)m(utls)p +483 4675 37 5 v 55 w(x509)p 786 4675 V 54 w(crl)p 979 +4675 V 54 w(sign2)3350 4874 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_sign2)f Fg(\()p Ff(gn)m(utls)p -1784 1622 28 4 v 41 w(x509)p 2008 1622 V 41 w(crl)p 2150 -1622 V 40 w(t)31 b Fe(crl)12 b Ff(,)31 b(gn)m(utls)p -2720 1622 V 40 w(x509)p 2943 1622 V 42 w(crt)p 3096 1622 -V 40 w(t)565 1732 y Fe(issuer)12 b Ff(,)32 b(gn)m(utls)p -1192 1732 V 40 w(x509)p 1415 1732 V 42 w(privk)m(ey)p -1750 1732 V 40 w(t)f Fe(issuer_key)12 b Ff(,)33 b(gn)m(utls)p -2686 1732 V 40 w(digest)p 2958 1732 V 41 w(algorithm)p -3382 1732 V 41 w(t)e Fe(dig)12 b Ff(,)565 1842 y(unsigned)29 -b(in)m(t)i Fe(flags)12 b Fg(\))390 1951 y Ff(crl)t FB(:)40 -b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 1951 -V 41 w(x509)p 1715 1951 V 41 w(crl)p 1857 1951 V 40 w(t)h(structure)390 -2085 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f -(certi\014cate)j(issuer)390 2220 y Ff(issuer)p 620 2220 -V 39 w(k)m(ey)8 b FB(:)42 b(holds)30 b(the)g(issuer's)g(priv)-5 -b(ate)31 b(k)m(ey)390 2354 y Ff(dig)8 b FB(:)48 b(The)34 -b(message)h(digest)g(to)g(use.)52 b(GNUTLS)p 2109 2354 -V 40 w(DIG)p 2322 2354 V 40 w(SHA1)35 b(is)f(the)g(safe)h(c)m(hoice)h -(unless)e(y)m(ou)390 2464 y(kno)m(w)c(what)h(y)m(ou're)g(doing.)390 -2598 y Ff(\015ags)t FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 -2732 y(This)22 b(function)h(will)h(sign)f(the)g(CRL)g(with)f(the)i -(issuer's)f(priv)-5 b(ate)23 b(k)m(ey)-8 b(,)26 b(and)d(will)g(cop)m(y) -h(the)f(issuer's)390 2842 y(information)31 b(in)m(to)g(the)g(CRL.)390 -2976 y(This)25 b(m)m(ust)i(b)s(e)e(the)i(last)g(step)f(in)g(a)h +1784 4874 28 4 v 41 w(x509)p 2008 4874 V 41 w(crl)p 2150 +4874 V 40 w(t)31 b Fe(crl)p Ff(,)h(gn)m(utls)p 2709 4874 +V 40 w(x509)p 2932 4874 V 41 w(crt)p 3084 4874 V 41 w(t)565 +4984 y Fe(issuer)p Ff(,)g(gn)m(utls)p 1180 4984 V 41 +w(x509)p 1404 4984 V 41 w(privk)m(ey)p 1738 4984 V 40 +w(t)f Fe(issuer_key)p Ff(,)j(gn)m(utls)p 2663 4984 V +40 w(digest)p 2935 4984 V 41 w(algorithm)p 3359 4984 +V 41 w(t)d Fe(dig)p Ff(,)565 5093 y(unsigned)e(in)m(t)i +Fe(flags)12 b Fg(\))390 5203 y Ff(crl)t FB(:)40 b(should)30 +b(con)m(tain)i(a)e(gn)m(utls)p 1491 5203 V 41 w(x509)p +1715 5203 V 41 w(crl)p 1857 5203 V 40 w(t)h(structure)390 +5340 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f +(certi\014cate)j(issuer)p eop end +%%Page: 190 196 +TeXDict begin 190 195 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(190)390 299 y +Ff(issuer)p 620 299 28 4 v 39 w(k)m(ey)8 b FB(:)42 b(holds)30 +b(the)g(issuer's)g(priv)-5 b(ate)31 b(k)m(ey)390 446 +y Ff(dig)8 b FB(:)48 b(The)34 b(message)h(digest)g(to)g(use.)52 +b(GNUTLS)p 2109 446 V 40 w(DIG)p 2322 446 V 40 w(SHA1)35 +b(is)f(the)g(safe)h(c)m(hoice)h(unless)e(y)m(ou)390 556 +y(kno)m(w)c(what)h(y)m(ou're)g(doing.)390 703 y Ff(\015ags)t +FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 850 y(This)22 b(function)h(will)h +(sign)f(the)g(CRL)g(with)f(the)i(issuer's)f(priv)-5 b(ate)23 +b(k)m(ey)-8 b(,)26 b(and)d(will)g(cop)m(y)h(the)f(issuer's)390 +959 y(information)31 b(in)m(to)g(the)g(CRL.)390 1106 +y(This)25 b(m)m(ust)i(b)s(e)e(the)i(last)g(step)f(in)g(a)h (certi\014cate)h(CRL)e(since)g(all)h(the)g(previously)f(set)h -(parameters)390 3086 y(are)k(no)m(w)f(signed.)390 3220 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(parameters)390 1216 y(are)k(no)m(w)f(signed.)390 1363 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3419 y Fu(gn)m(utls)p 483 3419 37 5 v 55 -w(x509)p 786 3419 V 54 w(crl)p 979 3419 V 54 w(sign)3350 -3615 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_sign)f -Fg(\()p Ff(gn)m(utls)p 1732 3615 28 4 v 40 w(x509)p 1955 -3615 V 42 w(crl)p 2098 3615 V 40 w(t)31 b Fe(crl)12 b -Ff(,)31 b(gn)m(utls)p 2668 3615 V 40 w(x509)p 2891 3615 -V 42 w(crt)p 3044 3615 V 40 w(t)565 3725 y Fe(issuer)12 -b Ff(,)32 b(gn)m(utls)p 1192 3725 V 40 w(x509)p 1415 -3725 V 42 w(privk)m(ey)p 1750 3725 V 40 w(t)f Fe(issuer_key)12 -b Fg(\))390 3835 y Ff(crl)t FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m -(utls)p 1491 3835 V 41 w(x509)p 1715 3835 V 41 w(crl)p -1857 3835 V 40 w(t)h(structure)390 3969 y Ff(issuer)7 -b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f(certi\014cate)j -(issuer)390 4103 y Ff(issuer)p 620 4103 V 39 w(k)m(ey)8 -b FB(:)42 b(holds)30 b(the)g(issuer's)g(priv)-5 b(ate)31 -b(k)m(ey)390 4238 y(This)h(function)h(is)f(the)h(same)h(a)f -Fs(gnutls_x509_crl_sign2\(\))26 b FB(with)33 b(no)g(\015ags,)g(and)g -(SHA1)g(as)390 4347 y(the)e(hash)e(algorithm.)390 4482 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +b(alue.)150 1575 y Fv(gn)m(utls)p 483 1575 37 5 v 55 +w(x509)p 786 1575 V 54 w(crl)p 979 1575 V 54 w(sign)3350 +1784 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_sign)f +Fg(\()p Ff(gn)m(utls)p 1732 1784 28 4 v 40 w(x509)p 1955 +1784 V 42 w(crl)p 2098 1784 V 40 w(t)31 b Fe(crl)p Ff(,)g(gn)m(utls)p +2656 1784 V 41 w(x509)p 2880 1784 V 41 w(crt)p 3032 1784 +V 40 w(t)565 1894 y Fe(issuer)p Ff(,)h(gn)m(utls)p 1180 +1894 V 41 w(x509)p 1404 1894 V 41 w(privk)m(ey)p 1738 +1894 V 40 w(t)f Fe(issuer_key)12 b Fg(\))390 2003 y Ff(crl)t +FB(:)40 b(should)30 b(con)m(tain)i(a)e(gn)m(utls)p 1491 +2003 V 41 w(x509)p 1715 2003 V 41 w(crl)p 1857 2003 V +40 w(t)h(structure)390 2150 y Ff(issuer)7 b FB(:)40 b(is)30 +b(the)h(certi\014cate)h(of)f(the)f(certi\014cate)j(issuer)390 +2297 y Ff(issuer)p 620 2297 V 39 w(k)m(ey)8 b FB(:)42 +b(holds)30 b(the)g(issuer's)g(priv)-5 b(ate)31 b(k)m(ey)390 +2444 y(This)h(function)h(is)f(the)h(same)h(a)f Ft +(gnutls_x509_crl_sign2\(\))26 b FB(with)33 b(no)g(\015ags,)g(and)g +(SHA1)g(as)390 2554 y(the)e(hash)e(algorithm.)390 2701 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4680 y Fu(gn)m(utls)p 483 4680 37 5 v 55 -w(x509)p 786 4680 V 54 w(crl)p 979 4680 V 54 w(v)m(erify)3350 -4877 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_verif)q(y)e -Fg(\()p Ff(gn)m(utls)p 1836 4877 28 4 v 41 w(x509)p 2060 -4877 V 41 w(crl)p 2202 4877 V 41 w(t)30 b Fe(crl)12 b -Ff(,)31 b(const)565 4986 y(gn)m(utls)p 811 4986 V 41 -w(x509)p 1035 4986 V 41 w(crt)p 1187 4986 V 40 w(t)g(*)g -Fe(CA_list)12 b Ff(,)32 b(in)m(t)f Fe(CA_list_length)12 -b Ff(,)34 b(unsigned)29 b(in)m(t)i Fe(flags)12 b Ff(,)565 -5096 y(unsigned)29 b(in)m(t)i(*)g Fe(verify)12 b Fg(\))390 -5206 y Ff(crl)t FB(:)40 b(is)31 b(the)f(crl)h(to)g(b)s(e)f(v)m -(eri\014ed)390 5340 y Ff(CA)p 530 5340 V 40 w(list)r +b(alue.)150 2913 y Fv(gn)m(utls)p 483 2913 37 5 v 55 +w(x509)p 786 2913 V 54 w(crl)p 979 2913 V 54 w(v)m(erify)3350 +3122 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crl_verif)q(y)e +Fg(\()p Ff(gn)m(utls)p 1836 3122 28 4 v 41 w(x509)p 2060 +3122 V 41 w(crl)p 2202 3122 V 41 w(t)30 b Fe(crl)p Ff(,)i(const)565 +3232 y(gn)m(utls)p 811 3232 V 41 w(x509)p 1035 3232 V +41 w(crt)p 1187 3232 V 40 w(t)f(*)g Fe(CA_list)p Ff(,)h(in)m(t)f +Fe(CA_list_length)p Ff(,)k(unsigned)29 b(in)m(t)i Fe(flags)p +Ff(,)565 3341 y(unsigned)e(in)m(t)i(*)g Fe(verify)12 +b Fg(\))390 3451 y Ff(crl)t FB(:)40 b(is)31 b(the)f(crl)h(to)g(b)s(e)f +(v)m(eri\014ed)390 3598 y Ff(CA)p 530 3598 V 40 w(list)r FB(:)41 b(is)31 b(a)f(certi\014cate)j(list)e(that)g(is)f(considered)g -(to)i(b)s(e)d(trusted)h(one)p eop end -%%Page: 198 204 -TeXDict begin 198 203 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(198)390 299 y -Ff(CA)p 530 299 28 4 v 40 w(list)p 691 299 V 41 w(length)p -FB(:)41 b(holds)30 b(the)g(n)m(um)m(b)s(er)f(of)i(CA)f(certi\014cates)i -(in)e(CA)p 2733 299 V 40 w(list)390 429 y Ff(\015ags)t -FB(:)51 b(Flags)37 b(that)f(ma)m(y)g(b)s(e)e(used)h(to)h(c)m(hange)h -(the)e(v)m(eri\014cation)i(algorithm.)57 b(Use)36 b(OR)f(of)h(the)390 -539 y(gn)m(utls)p 636 539 V 40 w(certi\014cate)p 1063 -539 V 43 w(v)m(erify)p 1328 539 V 40 w(\015ags)31 b(en)m(umerations.) -390 669 y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(crl)h(v)m -(eri\014cation)h(output.)390 800 y(This)27 b(function)h(will)g(try)f +(to)i(b)s(e)d(trusted)h(one)390 3745 y Ff(CA)p 530 3745 +V 40 w(list)p 691 3745 V 41 w(length)p FB(:)41 b(holds)30 +b(the)g(n)m(um)m(b)s(er)f(of)i(CA)f(certi\014cates)i(in)e(CA)p +2733 3745 V 40 w(list)390 3892 y Ff(\015ags)t FB(:)51 +b(Flags)37 b(that)f(ma)m(y)g(b)s(e)e(used)h(to)h(c)m(hange)h(the)e(v)m +(eri\014cation)i(algorithm.)57 b(Use)36 b(OR)f(of)h(the)390 +4002 y(gn)m(utls)p 636 4002 V 40 w(certi\014cate)p 1063 +4002 V 43 w(v)m(erify)p 1328 4002 V 40 w(\015ags)31 b(en)m(umerations.) +390 4149 y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(crl)h(v)m +(eri\014cation)h(output.)390 4296 y(This)27 b(function)h(will)g(try)f (to)i(v)m(erify)f(the)g(giv)m(en)h(crl)f(and)f(return)g(its)h(status.) -40 b(See)28 b Fs(gnutls_x509_)390 910 y(crt_list_verify\(\))e +40 b(See)28 b Ft(gnutls_x509_)390 4406 y(crt_list_verify\(\))e FB(for)k(a)h(detailed)g(description)f(of)h(return)e(v)-5 -b(alues.)390 1040 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 1231 y Fu(gn)m(utls)p -483 1231 37 5 v 55 w(x509)p 786 1231 V 54 w(crq)p 1010 -1231 V 54 w(deinit)3350 1420 y FB([F)d(unction])-3599 -b Fh(void)54 b(gnutls_x509_crq_deinit)e Fg(\()p Ff(gn)m(utls)p -1889 1420 28 4 v 40 w(x509)p 2112 1420 V 42 w(crq)p 2278 -1420 V 40 w(t)30 b Fe(crq)12 b Fg(\))390 1530 y Ff(crq)r -FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e(initialized)390 -1660 y(This)h(function)g(will)g(deinitialize)j(a)e(CRL)e(structure.)150 -1851 y Fu(gn)m(utls)p 483 1851 37 5 v 55 w(x509)p 786 -1851 V 54 w(crq)p 1010 1851 V 54 w(exp)s(ort)3350 2040 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_expor)q(t)e -Fg(\()p Ff(gn)m(utls)p 1836 2040 28 4 v 41 w(x509)p 2060 -2040 V 41 w(crq)p 2225 2040 V 40 w(t)31 b Fe(crq)12 b -Ff(,)565 2150 y(gn)m(utls)p 811 2150 V 41 w(x509)p 1035 -2150 V 41 w(crt)p 1187 2150 V 40 w(fm)m(t)p 1363 2150 -V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)g -Fe(output_data)12 b Ff(,)33 b(size)p 2906 2150 V 41 w(t)e(*)565 -2259 y Fe(output_data_size)12 b Fg(\))390 2369 y Ff(crq)r -FB(:)41 b(Holds)30 b(the)h(request)390 2500 y Ff(format)r -FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 2630 y Ff(output)p -664 2630 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e +b(alues.)390 4553 y Fn(Returns:)73 b FB(On)47 b(success,)k +Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g +(negativ)m(e)i(error)390 4662 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j +(v)-5 b(alue)31 b(in)f(case)h(of)g(an)f(error.)150 4874 +y Fv(gn)m(utls)p 483 4874 37 5 v 55 w(x509)p 786 4874 +V 54 w(crq)p 1010 4874 V 54 w(deinit)3350 5083 y FB([F)-8 +b(unction])-3599 b Fh(void)54 b(gnutls_x509_crq_deinit)e +Fg(\()p Ff(gn)m(utls)p 1889 5083 28 4 v 40 w(x509)p 2112 +5083 V 42 w(crq)p 2278 5083 V 40 w(t)30 b Fe(crq)12 b +Fg(\))390 5193 y Ff(crq)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e +(initialized)390 5340 y(This)h(function)g(will)g(deinitialize)j(a)e +(CRL)e(structure.)p eop end +%%Page: 191 197 +TeXDict begin 191 196 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(191)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crq)p 1010 299 V 54 w(exp)s(ort)3350 510 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_expor)q(t)e +Fg(\()p Ff(gn)m(utls)p 1836 510 28 4 v 41 w(x509)p 2060 +510 V 41 w(crq)p 2225 510 V 40 w(t)31 b Fe(crq)p Ff(,)565 +620 y(gn)m(utls)p 811 620 V 41 w(x509)p 1035 620 V 41 +w(crt)p 1187 620 V 40 w(fm)m(t)p 1363 620 V 41 w(t)f +Fe(format)p Ff(,)j(v)m(oid)e(*)f Fe(output_data)p Ff(,)k(size)p +2883 620 V 41 w(t)d(*)565 730 y Fe(output_data_size)12 +b Fg(\))390 839 y Ff(crq)r FB(:)41 b(Holds)30 b(the)h(request)390 +988 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 1138 y Ff(output)p +664 1138 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e (certi\014cate)j(request)d(PEM)h(or)f(DER)g(enco)s(ded)390 -2761 y Ff(output)p 664 2761 V 40 w(data)p 880 2761 V +1287 y Ff(output)p 664 1287 V 40 w(data)p 880 1287 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p -2093 2761 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 2870 y(size)c(of)g(parameters\))390 3001 +2093 1287 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 1396 y(size)c(of)g(parameters\))390 1546 y(This)f(function)g(will)g(exp)s(ort)g(the)h(certi\014cate)h(request)f -(to)g(a)g(PK)m(CS10)390 3131 y(If)91 b(the)g(bu\013er)f(pro)m(vided)h +(to)g(a)g(PK)m(CS10)390 1695 y(If)91 b(the)g(bu\013er)f(pro)m(vided)h (is)g(not)h(long)g(enough)f(to)h(hold)f(the)g(output,)106 -b(then)390 3241 y(GNUTLS)p 777 3241 V 40 w(E)p 879 3241 -V 40 w(SHOR)-8 b(T)p 1234 3241 V 39 w(MEMOR)g(Y)p 1699 -3241 V 41 w(BUFFER)42 b(will)f(b)s(e)f(returned)g(and)g(*output)p -3357 3241 V 40 w(data)p 3573 3241 V 41 w(size)390 3350 -y(will)31 b(b)s(e)e(up)s(dated.)390 3481 y(If)j(the)h(structure)g(is)g +b(then)390 1804 y(GNUTLS)p 777 1804 V 40 w(E)p 879 1804 +V 40 w(SHOR)-8 b(T)p 1234 1804 V 39 w(MEMOR)g(Y)p 1699 +1804 V 41 w(BUFFER)42 b(will)f(b)s(e)f(returned)g(and)g(*output)p +3357 1804 V 40 w(data)p 3573 1804 V 41 w(size)390 1914 +y(will)31 b(b)s(e)e(up)s(dated.)390 2063 y(If)j(the)h(structure)g(is)g (PEM)f(enco)s(ded,)i(it)f(will)g(ha)m(v)m(e)h(a)f(header)g(of)g -Fs(")p FB(BEGIN)g(NEW)g(CER)-8 b(TIFI-)390 3590 y(CA)g(TE)30 -b(REQUEST)p Fs(")p FB(.)390 3721 y Fn(Return)g(v)-5 b(alue:)41 +Ft(")p FB(BEGIN)g(NEW)g(CER)-8 b(TIFI-)390 2173 y(CA)g(TE)30 +b(REQUEST)p Ft(")p FB(.)390 2322 y Fn(Return)g(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f(a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0)h(on)f(success.)150 -3912 y Fu(gn)m(utls)p 483 3912 37 5 v 55 w(x509)p 786 -3912 V 54 w(crq)p 1010 3912 V 54 w(get)p 1229 3912 V -54 w(attribute)p 1763 3912 V 53 w(b)m(y)p 1946 3912 V -54 w(oid)3350 4101 y FB([F)-8 b(unction])-3599 b Fh(int)53 +2536 y Fv(gn)m(utls)p 483 2536 37 5 v 55 w(x509)p 786 +2536 V 54 w(crq)p 1010 2536 V 54 w(get)p 1229 2536 V +54 w(attribute)p 1763 2536 V 53 w(b)m(y)p 1946 2536 V +54 w(oid)3350 2747 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_a)q(ttri)q(but)q(e_b)q(y_o)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 4101 28 4 v 40 w(x509)p 2792 -4101 V 42 w(crq)p 2958 4101 V 40 w(t)565 4211 y Fe(crq)12 -b Ff(,)31 b(const)g(c)m(har)g(*)f Fe(oid)12 b Ff(,)31 -b(in)m(t)g Fe(indx)12 b Ff(,)32 b(v)m(oid)f(*)f Fe(buf)12 -b Ff(,)31 b(size)p 2585 4211 V 41 w(t)g(*)g Fe(sizeof_buf)12 -b Fg(\))390 4320 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m -(utls)p 1513 4320 V 40 w(x509)p 1736 4320 V 41 w(crq)p -1901 4320 V 40 w(t)g(structure)390 4451 y Ff(oid)t FB(:)40 -b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g -(terminated)h(string)390 4581 y Ff(indx)6 b FB(:)50 b(In)35 -b(case)h(m)m(ultiple)g(same)g(OIDs)f(exist)h(in)f(the)g(attribute)h -(list,)i(this)d(sp)s(eci\014es)g(whic)m(h)g(to)390 4691 -y(send.)40 b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 -4821 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure) -f(to)h(hold)f(the)h(attribute)g(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 -4952 y Ff(sizeof)p 610 4952 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 5082 y FB(This)c(function)g +Fg(\()p Ff(gn)m(utls)p 2569 2747 28 4 v 40 w(x509)p 2792 +2747 V 42 w(crq)p 2958 2747 V 40 w(t)565 2857 y Fe(crq)p +Ff(,)32 b(const)e(c)m(har)h(*)g Fe(oid)p Ff(,)g(in)m(t)g +Fe(indx)p Ff(,)h(v)m(oid)f(*)g Fe(buf)p Ff(,)g(size)p +2539 2857 V 41 w(t)g(*)g Fe(sizeof_buf)12 b Fg(\))390 +2966 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1513 2966 V 40 w(x509)p 1736 2966 V 41 w(crq)p 1901 2966 +V 40 w(t)g(structure)390 3116 y Ff(oid)t FB(:)40 b(holds)30 +b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h +(string)390 3265 y Ff(indx)6 b FB(:)50 b(In)35 b(case)h(m)m(ultiple)g +(same)g(OIDs)f(exist)h(in)f(the)g(attribute)h(list,)i(this)d(sp)s +(eci\014es)g(whic)m(h)g(to)390 3374 y(send.)40 b(Use)31 +b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 3524 y Ff(buf)16 +b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f +(the)h(attribute)g(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 +3673 y Ff(sizeof)p 610 3673 V 41 w(buf)17 b FB(:)40 b(initially)32 +b(holds)e(the)g(size)i(of)e Ft(buf)390 3822 y FB(This)c(function)g (will)h(return)e(the)i(attribute)h(in)e(the)h(certi\014cate)h(request)f -(sp)s(eci\014ed)f(b)m(y)g(the)h(giv)m(en)390 5192 y(Ob)5 +(sp)s(eci\014ed)f(b)m(y)g(the)h(giv)m(en)390 3932 y(Ob)5 b(ject)31 b(ID.)f(The)g(attribute)h(will)g(b)s(e)f(DER)g(enco)s(ded.) -390 5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS) +390 4081 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS) 16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 199 205 -TeXDict begin 199 204 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(199)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(get)p 1229 299 V 54 w(attribute)p -1763 299 V 53 w(data)3350 497 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_get_a)q(ttri)q(but)q(e_d)q(ata)f -Fg(\()p Ff(gn)m(utls)p 2464 497 28 4 v 41 w(x509)p 2688 -497 V 41 w(crq)p 2853 497 V 40 w(t)31 b Fe(cert)12 b -Ff(,)565 607 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(data)12 b Ff(,)31 b(size)p 1676 607 V 41 w(t)g(*)g -Fe(sizeof_data)12 b Fg(\))390 717 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 -b FB(structure)390 853 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 -b(whic)m(h)g(attribute)h(OID)f(to)h(send.)40 b(Use)31 -b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 989 y Ff(data)p -FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g(to)h(hold)f(the)h -(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 1125 y Ff(sizeof)p -610 1125 V 41 w(data)p FB(:)42 b(initially)31 b(holds)f(the)h(size)g -(of)g Fs(oid)390 1262 y FB(This)f(function)g(will)h(return)e(the)i -(requested)f(attribute)h(data)g(in)f(the)h(certi\014cate)h(request.)41 -b(The)390 1371 y(attribute)31 b(data)g(will)g(b)s(e)f(stored)g(as)h(a)f -(string)h(in)f(the)g(pro)m(vided)g(bu\013er.)390 1508 -y(Use)48 b Fs(gnutls_x509_crq_get_attr)o(ibut)o(e_in)o(fo\()o(\))42 -b FB(to)48 b(extract)h(the)f(OID.)g(Use)g Fs(gnutls_)390 -1617 y(x509_crq_get_attribute_b)o(y_oi)o(d\(\))38 b FB(instead,)49 -b(if)c(y)m(ou)g(w)m(an)m(t)g(to)h(get)f(data)h(indexed)e(b)m(y)390 -1727 y(the)31 b(attribute)g(OID)f(rather)g(than)g(sequence.)390 -1863 y Fn(Returns:)71 b FB(On)45 b(success,)50 b Fs(GNUTLS_E_SUCCESS)42 -b FB(is)j(returned,)k(otherwise)d(a)g(negativ)m(e)i(v)-5 -b(alue)390 1973 y(in)43 b(case)i(of)f(an)g(error.)80 -b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h(extension)f -(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 2082 y -(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 b(b)s(e)g(returned.) -390 2218 y Fn(Since:)41 b FB(2.8.0)150 2419 y Fu(gn)m(utls)p -483 2419 37 5 v 55 w(x509)p 786 2419 V 54 w(crq)p 1010 -2419 V 54 w(get)p 1229 2419 V 54 w(attribute)p 1763 2419 -V 53 w(info)3350 2618 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_a)q(ttri)q(but)q(e_i)q(nfo)f Fg(\()p -Ff(gn)m(utls)p 2464 2618 28 4 v 41 w(x509)p 2688 2618 -V 41 w(crq)p 2853 2618 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -2728 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1624 2728 V 41 w(t)g(*)f -Fe(sizeof_oid)12 b Fg(\))390 2837 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 -b FB(structure)390 2973 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 -b(whic)m(h)g(attribute)h(OID)f(to)h(send.)40 b(Use)31 -b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 3110 y Ff(oid)t -FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g(to)h(hold)f(the)h -(OID)390 3246 y Ff(sizeof)p 610 3246 V 41 w(oid)t FB(:)38 -b(initially)26 b(holds)e(the)h(maxim)m(um)g(size)h(of)f -Fs(oid)p FB(,)g(on)g(return)e(holds)i(actual)h(size)g(of)f -Fs(oid)p FB(.)390 3382 y(This)20 b(function)h(will)h(return)e(the)h -(requested)g(attribute)h(OID)f(in)g(the)g(certi\014cate,)k(and)c(the)g -(critical)390 3492 y(\015ag)34 b(for)f(it.)49 b(The)33 -b(attribute)h(OID)f(will)h(b)s(e)e(stored)i(as)f(a)h(string)f(in)g(the) -g(pro)m(vided)g(bu\013er.)49 b(Use)390 3601 y Fs -(gnutls_x509_crq_get_attr)o(ibut)o(e_da)o(ta\()o(\))24 -b FB(to)32 b(extract)f(the)g(data.)390 3738 y(If)37 b(the)h(bu\013er)e -(pro)m(vided)h(is)h(not)f(long)h(enough)g(to)g(hold)f(the)h(output,)h -(then)e(*)p Fs(sizeof_oid)e FB(is)390 3847 y(up)s(dated)29 -b(and)h Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFE)o(R)24 b FB(will)31 -b(b)s(e)f(returned.)390 3984 y Fn(Returns:)71 b FB(On)45 -b(success,)50 b Fs(GNUTLS_E_SUCCESS)42 b FB(is)j(returned,)k(otherwise) -d(a)g(negativ)m(e)i(v)-5 b(alue)390 4093 y(in)43 b(case)i(of)f(an)g -(error.)80 b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h -(extension)f(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 -4203 y(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 -b(b)s(e)g(returned.)390 4339 y Fn(Since:)41 b FB(2.8.0)150 -4540 y Fu(gn)m(utls)p 483 4540 37 5 v 55 w(x509)p 786 -4540 V 54 w(crq)p 1010 4540 V 54 w(get)p 1229 4540 V -54 w(basic)p 1548 4540 V 54 w(constrain)m(ts)3350 4739 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_b)q(asic) -q(_co)q(nst)q(rai)q(nts)f Fg(\()p Ff(gn)m(utls)p 2621 -4739 28 4 v 41 w(x509)p 2845 4739 V 41 w(crq)p 3010 4739 -V 40 w(t)565 4848 y Fe(cert)12 b Ff(,)31 b(unsigned)f(in)m(t)h(*)f -Fe(critical)12 b Ff(,)33 b(in)m(t)e(*)g Fe(ca)12 b Ff(,)30 -b(in)m(t)h(*)g Fe(pathlen)12 b Fg(\))390 4958 y Ff(cert)r -FB(:)41 b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 -b FB(structure)390 5094 y Ff(critical)t FB(:)42 b(will)31 -b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f(mark)m(ed)g(as)h -(critical)390 5230 y Ff(ca)p FB(:)50 b(p)s(oin)m(ter)34 -b(to)h(output)f(in)m(teger)i(indicating)f(CA)f(status,)i(ma)m(y)f(b)s -(e)f(NULL,)g(v)-5 b(alue)35 b(is)g(1)f(if)h(the)390 5340 -y(certi\014cate)d(CA)f(\015ag)f(is)h(set,)g(0)g(otherwise.)p -eop end -%%Page: 200 206 -TeXDict begin 200 205 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(200)390 299 y -Ff(pathlen)p FB(:)72 b(p)s(oin)m(ter)45 b(to)i(output)e(in)m(teger)i -(indicating)g(path)f(length)g(\(ma)m(y)h(b)s(e)e(NULL\),)h(non-)390 -408 y(negativ)m(e)39 b(v)-5 b(alues)37 b(indicate)h(a)g(presen)m(t)f -(pathLenConstrain)m(t)g(\014eld)f(and)h(the)g(actual)h(v)-5 -b(alue,)39 b(-1)390 518 y(indicate)31 b(that)g(the)g(\014eld)f(is)g -(absen)m(t.)390 653 y(This)i(function)h(will)h(read)f(the)h -(certi\014cate's)h(basic)f(constrain)m(ts,)h(and)d(return)h(the)g -(certi\014cates)390 763 y(CA)d(status.)41 b(It)31 b(reads)f(the)g -(basicConstrain)m(ts)h(X.509)i(extension)e(\(2.5.29.19\).)390 -898 y Fn(Return)k(v)-5 b(alue:)50 b FB(If)35 b(the)g(certi\014cate)i -(is)e(a)g(CA)g(a)h(p)s(ositiv)m(e)g(v)-5 b(alue)35 b(will)g(b)s(e)g -(returned,)g(or)g(zero)h(if)390 1008 y(the)d(certi\014cate)i(do)s(es)e -(not)g(ha)m(v)m(e)h(CA)f(\015ag)g(set.)50 b(A)33 b(negativ)m(e)i(v)-5 -b(alue)33 b(ma)m(y)h(b)s(e)e(returned)g(in)h(case)390 -1117 y(of)g(errors.)47 b(If)32 b(the)h(certi\014cate)h(do)s(es)f(not)g -(con)m(tain)g(the)g(basicConstrain)m(ts)h(extension)f -Fs(GNUTLS_)390 1227 y(E_REQUESTED_DATA_NOT_AVA)o(ILAB)o(LE)24 -b FB(will)31 b(b)s(e)f(returned.)390 1362 y Fn(Since:)41 -b FB(2.8.0)150 1562 y Fu(gn)m(utls)p 483 1562 37 5 v -55 w(x509)p 786 1562 V 54 w(crq)p 1010 1562 V 54 w(get)p -1229 1562 V 54 w(c)m(hallenge)p 1772 1562 V 54 w(passw)m(ord)3350 -1760 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_c)q +b(alue.)150 4295 y Fv(gn)m(utls)p 483 4295 37 5 v 55 +w(x509)p 786 4295 V 54 w(crq)p 1010 4295 V 54 w(get)p +1229 4295 V 54 w(c)m(hallenge)p 1772 4295 V 54 w(passw)m(ord)3350 +4506 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_c)q (hall)q(eng)q(e_p)q(ass)q(word)f Fg(\()p Ff(gn)m(utls)p -2673 1760 28 4 v 41 w(x509)p 2897 1760 V 41 w(crq)p 3062 -1760 V 40 w(t)565 1869 y Fe(crq)12 b Ff(,)31 b(c)m(har)g(*)g -Fe(pass)12 b Ff(,)31 b(size)p 1488 1869 V 41 w(t)f(*)h -Fe(sizeof_pass)12 b Fg(\))390 1979 y Ff(crq)r FB(:)41 -b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1513 1979 -V 40 w(x509)p 1736 1979 V 41 w(crq)p 1901 1979 V 40 w(t)g(structure)390 -2114 y Ff(pass)t FB(:)40 b(will)31 b(hold)f(a)h(n)m(ull)f(terminated)h -(passw)m(ord)390 2249 y Ff(sizeof)p 610 2249 V 41 w(pass)t -FB(:)40 b(Initially)32 b(holds)e(the)g(size)h(of)g Fs(pass)p -FB(.)390 2385 y(This)f(function)g(will)g(return)g(the)g(c)m(hallenge)j -(passw)m(ord)c(in)h(the)h(request.)390 2520 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2720 y Fu(gn)m(utls)p 483 2720 37 5 v 55 -w(x509)p 786 2720 V 54 w(crq)p 1010 2720 V 54 w(get)p -1229 2720 V 54 w(dn)p 1419 2720 V 54 w(b)m(y)p 1603 2720 -V 54 w(oid)3350 2917 y FB([F)d(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_d)q(n_by)q(_oi)q(d)e Fg(\()p Ff(gn)m(utls)p -2202 2917 28 4 v 41 w(x509)p 2426 2917 V 42 w(crq)p 2592 -2917 V 40 w(t)30 b Fe(crq)12 b Ff(,)31 b(const)565 3027 -y(c)m(har)g(*)g Fe(oid)12 b Ff(,)31 b(in)m(t)g Fe(indx)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(raw_flag)12 b Ff(,)32 -b(v)m(oid)f(*)g Fe(buf)12 b Ff(,)31 b(size)p 3127 3027 -V 41 w(t)g(*)565 3136 y Fe(sizeof_buf)12 b Fg(\))390 -3246 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p -1513 3246 V 40 w(x509)p 1736 3246 V 41 w(crq)p 1901 3246 -V 40 w(t)g(structure)390 3381 y Ff(oid)t FB(:)40 b(holds)30 -b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h -(string)390 3517 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f -(same)g(OIDs)f(exist)h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m -(h)g(to)i(send.)39 b(Use)390 3626 y(zero)31 b(to)g(get)h(the)e(\014rst) -g(one.)390 3761 y Ff(ra)m(w)p 540 3761 V 40 w(\015ag)8 -b FB(:)41 b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g -(of)f(the)h(DN)g(part.)390 3897 y Ff(buf)16 b FB(:)41 -b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h(name)f -(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 4032 y Ff(sizeof)p -610 4032 V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i -(of)e Fs(buf)390 4167 y FB(This)39 b(function)h(will)g(extract)i(the)e -(part)g(of)g(the)g(name)g(of)g(the)h(Certi\014cate)g(request)f(sub)5 -b(ject,)390 4277 y(sp)s(eci\014ed)37 b(b)m(y)h(the)g(giv)m(en)h(OID.)f +2673 4506 28 4 v 41 w(x509)p 2897 4506 V 41 w(crq)p 3062 +4506 V 40 w(t)565 4616 y Fe(crq)p Ff(,)32 b(c)m(har)e(*)h +Fe(pass)p Ff(,)h(size)p 1465 4616 V 41 w(t)e(*)h Fe(sizeof_pass)12 +b Fg(\))390 4725 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1513 4725 V 40 w(x509)p 1736 4725 V 41 w(crq)p +1901 4725 V 40 w(t)g(structure)390 4875 y Ff(pass)t FB(:)40 +b(will)31 b(hold)f(a)h(n)m(ull)f(terminated)h(passw)m(ord)390 +5024 y Ff(sizeof)p 610 5024 V 41 w(pass)t FB(:)40 b(Initially)32 +b(holds)e(the)g(size)h(of)g Ft(pass)p FB(.)390 5173 y(This)f(function)g +(will)g(return)g(the)g(c)m(hallenge)j(passw)m(ord)c(in)h(the)h +(request.)390 5322 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end +%%Page: 192 198 +TeXDict begin 192 197 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(192)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crq)p 1010 299 V 54 w(get)p 1229 299 V 54 w(dn)p 1419 +299 V 54 w(b)m(y)p 1603 299 V 54 w(oid)3350 499 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_d)q(n_by)q(_oi)q(d)e +Fg(\()p Ff(gn)m(utls)p 2202 499 28 4 v 41 w(x509)p 2426 +499 V 42 w(crq)p 2592 499 V 40 w(t)30 b Fe(crq)p Ff(,)i(const)565 +608 y(c)m(har)f(*)g Fe(oid)p Ff(,)g(in)m(t)g Fe(indx)p +Ff(,)h(unsigned)d(in)m(t)i Fe(raw_flag)p Ff(,)i(v)m(oid)e(*)g +Fe(buf)p Ff(,)g(size)p 3081 608 V 41 w(t)g(*)565 718 +y Fe(sizeof_buf)12 b Fg(\))390 828 y Ff(crq)r FB(:)41 +b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1513 828 V +40 w(x509)p 1736 828 V 41 w(crq)p 1901 828 V 40 w(t)g(structure)390 +965 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 +b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h(string)390 +1103 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f(same)g(OIDs)f +(exist)h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m(h)g(to)i +(send.)39 b(Use)390 1212 y(zero)31 b(to)g(get)h(the)e(\014rst)g(one.) +390 1350 y Ff(ra)m(w)p 540 1350 V 40 w(\015ag)8 b FB(:)41 +b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g(of)f(the)h +(DN)g(part.)390 1488 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to) +h(a)g(structure)f(to)h(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m +(ull\))390 1625 y Ff(sizeof)p 610 1625 V 41 w(buf)17 +b FB(:)40 b(initially)32 b(holds)e(the)g(size)i(of)e +Ft(buf)390 1763 y FB(This)39 b(function)h(will)g(extract)i(the)e(part)g +(of)g(the)g(name)g(of)g(the)h(Certi\014cate)g(request)f(sub)5 +b(ject,)390 1872 y(sp)s(eci\014ed)37 b(b)m(y)h(the)g(giv)m(en)h(OID.)f (The)f(output)g(will)i(b)s(e)e(enco)s(ded)g(as)h(describ)s(ed)f(in)h -(RF)m(C2253.)390 4386 y(The)23 b(output)g(string)g(will)h(b)s(e)f(ASCI) +(RF)m(C2253.)390 1982 y(The)23 b(output)g(string)g(will)h(b)s(e)f(ASCI) s(I)f(or)h(UTF-8)h(enco)s(ded,)h(dep)s(ending)d(on)h(the)h -(certi\014cate)h(data.)390 4522 y(Some)32 b(help)s(er)f(macros)i(with)f +(certi\014cate)h(data.)390 2120 y(Some)32 b(help)s(er)f(macros)i(with)f (p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f(in)g(gn)m(utls/x509.h)j(If)e -(ra)m(w)g(\015ag)h(is)390 4631 y(zero,)39 b(this)e(function)f(will)h +(ra)m(w)g(\015ag)h(is)390 2229 y(zero,)39 b(this)e(function)f(will)h (only)f(return)g(kno)m(wn)g(OIDs)g(as)h(text.)61 b(Other)36 -b(OIDs)g(will)h(b)s(e)f(DER)390 4741 y(enco)s(ded,)29 +b(OIDs)g(will)h(b)s(e)f(DER)390 2339 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f(hex)g(format)h(with)e -(a)i(')p Fs(\\)p FB(#')f(pre\014x.)39 b(Y)-8 b(ou)29 -b(can)f(c)m(hec)m(k)390 4850 y(ab)s(out)i(kno)m(wn)g(OIDs)g(using)g -Fs(gnutls_x509_dn_oid_known)o(\(\))p FB(.)390 4986 y(If)g -Fs(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f -(\014lled.)390 5121 y Fn(Returns:)71 b FB(GNUTLS)p 1196 -5121 V 39 w(E)p 1297 5121 V 40 w(SHOR)-8 b(T)p 1652 5121 -V 39 w(MEMOR)g(Y)p 2117 5121 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided) -f(bu\013er)f(is)i(not)390 5230 y(long)31 b(enough,)f(and)g(in)f(that)i -(case)g(the)g(*sizeof)p 2018 5230 V 41 w(buf)e(will)i(b)s(e)e(up)s -(dated)g(with)h(the)g(required)g(size.)390 5340 y(On)g(success)g(0)h -(is)f(returned.)p eop end -%%Page: 201 207 -TeXDict begin 201 206 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(201)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(get)p 1229 299 V 54 w(dn)p 1419 -299 V 54 w(oid)3350 503 y FB([F)-8 b(unction])-3599 b -Fh(int)53 b(gnutls_x509_crq_get_d)q(n_oi)q(d)f Fg(\()p -Ff(gn)m(utls)p 2046 503 28 4 v 40 w(x509)p 2269 503 V -42 w(crq)p 2435 503 V 40 w(t)30 b Fe(crq)12 b Ff(,)31 -b(in)m(t)g Fe(indx)12 b Ff(,)565 612 y(v)m(oid)31 b(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1209 612 V 41 w(t)f(*)h -Fe(sizeof_oid)12 b Fg(\))390 722 y Ff(crq)r FB(:)41 b(should)29 -b(con)m(tain)j(a)f(gn)m(utls)p 1513 722 V 40 w(x509)p -1736 722 V 41 w(crq)p 1901 722 V 40 w(t)g(structure)390 -863 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(DN)h(OID)f -(to)h(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -1005 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g +(a)i(')p Ft(\\)p FB(#')f(pre\014x.)39 b(Y)-8 b(ou)29 +b(can)f(c)m(hec)m(k)390 2448 y(ab)s(out)i(kno)m(wn)g(OIDs)g(using)g +Ft(gnutls_x509_dn_oid_known)o(\(\))p FB(.)390 2586 y(If)g +Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f +(\014lled.)390 2724 y Fn(Returns:)71 b FB(GNUTLS)p 1196 +2724 V 39 w(E)p 1297 2724 V 40 w(SHOR)-8 b(T)p 1652 2724 +V 39 w(MEMOR)g(Y)p 2117 2724 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided) +f(bu\013er)f(is)i(not)390 2833 y(long)31 b(enough,)f(and)g(in)f(that)i +(case)g(the)g(*sizeof)p 2018 2833 V 41 w(buf)e(will)i(b)s(e)e(up)s +(dated)g(with)h(the)g(required)g(size.)390 2943 y(On)g(success)g(0)h +(is)f(returned.)150 3145 y Fv(gn)m(utls)p 483 3145 37 +5 v 55 w(x509)p 786 3145 V 54 w(crq)p 1010 3145 V 54 +w(get)p 1229 3145 V 54 w(dn)p 1419 3145 V 54 w(oid)3350 +3345 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_d)q +(n_oi)q(d)f Fg(\()p Ff(gn)m(utls)p 2046 3345 28 4 v 40 +w(x509)p 2269 3345 V 42 w(crq)p 2435 3345 V 40 w(t)30 +b Fe(crq)p Ff(,)i(in)m(t)f Fe(indx)p Ff(,)565 3455 y(v)m(oid)g(*)g +Fe(oid)p Ff(,)g(size)p 1197 3455 V 41 w(t)g(*)g Fe(sizeof_oid)12 +b Fg(\))390 3564 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1513 3564 V 40 w(x509)p 1736 3564 V 41 w(crq)p +1901 3564 V 40 w(t)g(structure)390 3702 y Ff(indx)6 b +FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(DN)h(OID)f(to)h(send.)40 +b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 +3839 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g (to)h(hold)f(the)h(name)f(\(ma)m(y)i(b)s(e)e(n)m(ull\))390 -1146 y Ff(sizeof)p 610 1146 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 1288 y FB(This)j(function)g +3977 y Ff(sizeof)p 610 3977 V 41 w(oid)t FB(:)41 b(initially)31 +b(holds)f(the)h(size)g(of)g Ft(oid)390 4115 y FB(This)j(function)g (will)h(extract)h(the)e(requested)h(OID)f(of)h(the)f(name)h(of)f(the)h -(Certi\014cate)h(request)390 1397 y(sub)5 b(ject,)30 +(Certi\014cate)h(request)390 4224 y(sub)5 b(ject,)30 b(sp)s(eci\014ed)g(b)m(y)g(the)h(giv)m(en)g(index.)390 -1539 y(If)f(oid)g(is)h(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s -(e)f(\014lled.)390 1680 y Fn(Returns:)71 b FB(GNUTLS)p -1196 1680 V 39 w(E)p 1297 1680 V 40 w(SHOR)-8 b(T)p 1652 -1680 V 39 w(MEMOR)g(Y)p 2117 1680 V 41 w(BUFFER)47 b(if)e(the)h(pro)m -(vided)f(bu\013er)f(is)i(not)390 1790 y(long)31 b(enough,)g(and)f(in)h -(that)g(case)h(the)f(*sizeof)p 2022 1790 V 41 w(oid)g(will)g(b)s(e)f -(up)s(dated)g(with)g(the)h(required)f(size.)390 1900 -y(On)g(success)g(0)h(is)f(returned.)150 2106 y Fu(gn)m(utls)p -483 2106 37 5 v 55 w(x509)p 786 2106 V 54 w(crq)p 1010 -2106 V 54 w(get)p 1229 2106 V 54 w(dn)3350 2310 y FB([F)-8 +4362 y(If)f(oid)g(is)h(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s +(e)f(\014lled.)390 4499 y Fn(Returns:)71 b FB(GNUTLS)p +1196 4499 V 39 w(E)p 1297 4499 V 40 w(SHOR)-8 b(T)p 1652 +4499 V 39 w(MEMOR)g(Y)p 2117 4499 V 41 w(BUFFER)47 b(if)e(the)h(pro)m +(vided)f(bu\013er)f(is)i(not)390 4609 y(long)31 b(enough,)g(and)f(in)h +(that)g(case)h(the)f(*sizeof)p 2022 4609 V 41 w(oid)g(will)g(b)s(e)f +(up)s(dated)g(with)g(the)h(required)f(size.)390 4719 +y(On)g(success)g(0)h(is)f(returned.)150 4921 y Fv(gn)m(utls)p +483 4921 37 5 v 55 w(x509)p 786 4921 V 54 w(crq)p 1010 +4921 V 54 w(get)p 1229 4921 V 54 w(dn)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_d)q(n)e -Fg(\()p Ff(gn)m(utls)p 1836 2310 28 4 v 41 w(x509)p 2060 -2310 V 41 w(crq)p 2225 2310 V 40 w(t)31 b Fe(crq)12 b -Ff(,)31 b(c)m(har)g(*)g Fe(buf)12 b Ff(,)565 2419 y(size)p -712 2419 V 41 w(t)31 b(*)f Fe(sizeof_buf)12 b Fg(\))390 -2529 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p -1513 2529 V 40 w(x509)p 1736 2529 V 41 w(crq)p 1901 2529 -V 40 w(t)g(structure)390 2670 y Ff(buf)16 b FB(:)41 b(a)31 -b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h(name)f(\(ma)m -(y)h(b)s(e)f(n)m(ull\))390 2812 y Ff(sizeof)p 610 2812 -V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i(of)e -Fs(buf)390 2953 y FB(This)35 b(function)g(will)h(cop)m(y)h(the)f(name)g -(of)g(the)g(Certi\014cate)h(request)e(sub)5 b(ject)36 -b(in)f(the)h(pro)m(vided)390 3063 y(bu\013er.)57 b(The)36 -b(name)g(will)h(b)s(e)e(in)h(the)h(form)e Fs(")p FB(C=xxxx,O=yyyy)-8 -b(,CN=zzzz)p Fs(")37 b FB(as)f(describ)s(ed)f(in)390 -3172 y(RF)m(C2253.)69 b(The)39 b(output)g(string)g(will)g(b)s(e)g(ASCI) -s(I)f(or)h(UTF-8)h(enco)s(ded,)h(dep)s(ending)d(on)h(the)390 -3282 y(certi\014cate)32 b(data.)390 3423 y(If)e Fs(buf)f -FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f(\014lled.) -390 3565 y Fn(Returns:)71 b FB(GNUTLS)p 1196 3565 V 39 -w(E)p 1297 3565 V 40 w(SHOR)-8 b(T)p 1652 3565 V 39 w(MEMOR)g(Y)p -2117 3565 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i -(not)390 3675 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g -(*sizeof)p 2018 3675 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h -(the)g(required)g(size.)390 3784 y(On)g(success)g(0)h(is)f(returned.) -150 3990 y Fu(gn)m(utls)p 483 3990 37 5 v 55 w(x509)p -786 3990 V 54 w(crq)p 1010 3990 V 54 w(get)p 1229 3990 -V 54 w(extension)p 1787 3990 V 55 w(b)m(y)p 1972 3990 -V 53 w(oid)3350 4194 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_e)q(xten)q(sio)q(n_b)q(y_o)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 4194 28 4 v 40 w(x509)p 2792 -4194 V 42 w(crq)p 2958 4194 V 40 w(t)565 4304 y Fe(cert)12 -b Ff(,)31 b(const)g(c)m(har)f(*)h Fe(oid)12 b Ff(,)31 -b(in)m(t)f Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(buf)12 -b Ff(,)30 b(size)p 2635 4304 V 41 w(t)h(*)f Fe(sizeof_buf)12 -b Ff(,)33 b(unsigned)565 4413 y(in)m(t)e(*)g Fe(critical)12 -b Fg(\))390 4523 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crq_t)26 b FB(structure)390 4664 y Ff(oid)t -FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m -(ull)g(terminated)h(string)390 4806 y Ff(indx)6 b FB(:)38 -b(In)25 b(case)i(m)m(ultiple)g(same)f(OIDs)g(exist)g(in)g(the)g -(extensions,)i(this)e(sp)s(eci\014es)f(whic)m(h)h(to)g(send.)390 -4915 y(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -5057 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure) -f(to)h(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 -5198 y Ff(sizeof)p 610 5198 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 5340 y Ff(critical)t -FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f -(mark)m(ed)g(as)h(critical)p eop end -%%Page: 202 208 -TeXDict begin 202 207 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(202)390 299 y(This)34 -b(function)g(will)h(return)e(the)i(extension)g(sp)s(eci\014ed)e(b)m(y)i -(the)f(OID)h(in)f(the)g(certi\014cate.)55 b(The)390 408 -y(extensions)31 b(will)g(b)s(e)e(returned)h(as)g(binary)g(data)h(DER)f -(enco)s(ded,)h(in)f(the)g(pro)m(vided)g(bu\013er.)390 -548 y Fn(Returns:)50 b FB(On)34 b(success,)j Fs(GNUTLS_E_SUCCESS)31 -b FB(is)k(returned,)h(otherwise)g(a)f(negativ)m(e)j(v)-5 -b(alue)35 b(in)390 657 y(case)29 b(of)f(an)g(error.)40 -b(If)27 b(the)h(certi\014cate)i(do)s(es)e(not)g(con)m(tain)h(the)g(sp)s -(eci\014ed)e(extension)h Fs(GNUTLS_E_)390 767 y -(REQUESTED_DATA_NOT_AVAIL)o(ABLE)c FB(will)30 b(b)s(e)g(returned.)390 -906 y Fn(Since:)41 b FB(2.8.0)150 1110 y Fu(gn)m(utls)p -483 1110 37 5 v 55 w(x509)p 786 1110 V 54 w(crq)p 1010 -1110 V 54 w(get)p 1229 1110 V 54 w(extension)p 1787 1110 -V 55 w(data)3350 1312 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_e)q(xten)q(sio)q(n_d)q(ata)f Fg(\()p -Ff(gn)m(utls)p 2464 1312 28 4 v 41 w(x509)p 2688 1312 -V 41 w(crq)p 2853 1312 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -1421 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(data)12 b Ff(,)31 b(size)p 1676 1421 V 41 w(t)g(*)g -Fe(sizeof_data)12 b Fg(\))390 1531 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 -b FB(structure)390 1670 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 -b(whic)m(h)g(extension)h(OID)f(to)h(send.)40 b(Use)31 -b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 1809 y Ff(data)p -FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g(to)h(hold)f(the)h -(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 1949 y Ff(sizeof)p -610 1949 V 41 w(data)p FB(:)42 b(initially)31 b(holds)f(the)h(size)g -(of)g Fs(oid)390 2088 y FB(This)21 b(function)g(will)g(return)f(the)i -(requested)f(extension)h(data)g(in)f(the)h(certi\014cate.)39 -b(The)21 b(extension)390 2197 y(data)31 b(will)g(b)s(e)f(stored)g(as)h -(a)f(string)h(in)f(the)g(pro)m(vided)g(bu\013er.)390 -2337 y(Use)i Fs(gnutls_x509_crq_get_ext)o(ensi)o(on_i)o(nfo)o(\(\))25 -b FB(to)32 b(extract)h(the)f(OID)f(and)g(critical)i(\015ag.)390 -2446 y(Use)41 b Fs(gnutls_x509_crq_get_exten)o(sio)o(n_by)o(_oid)o -(\(\))34 b FB(instead,)44 b(if)d(y)m(ou)g(w)m(an)m(t)h(to)f(get)h(data) -390 2556 y(indexed)30 b(b)m(y)g(the)h(extension)g(OID)f(rather)g(than)g -(sequence.)390 2695 y Fn(Returns:)71 b FB(On)45 b(success,)50 -b Fs(GNUTLS_E_SUCCESS)42 b FB(is)j(returned,)k(otherwise)d(a)g(negativ) -m(e)i(v)-5 b(alue)390 2805 y(in)43 b(case)i(of)f(an)g(error.)80 -b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h(extension)f -(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 2914 y -(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 b(b)s(e)g(returned.) -390 3053 y Fn(Since:)41 b FB(2.8.0)150 3257 y Fu(gn)m(utls)p -483 3257 37 5 v 55 w(x509)p 786 3257 V 54 w(crq)p 1010 -3257 V 54 w(get)p 1229 3257 V 54 w(extension)p 1787 3257 -V 55 w(info)3350 3459 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_e)q(xten)q(sio)q(n_i)q(nfo)f Fg(\()p -Ff(gn)m(utls)p 2464 3459 28 4 v 41 w(x509)p 2688 3459 -V 41 w(crq)p 2853 3459 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -3569 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1624 3569 V 41 w(t)g(*)f -Fe(sizeof_oid)12 b Ff(,)33 b(in)m(t)e(*)g Fe(critical)12 -b Fg(\))390 3678 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crq_t)26 b FB(structure)390 3817 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -3957 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(OID)390 4096 y Ff(sizeof)p 610 4096 -V 41 w(oid)t FB(:)38 b(initially)26 b(holds)e(the)h(maxim)m(um)g(size)h -(of)f Fs(oid)p FB(,)g(on)g(return)e(holds)i(actual)h(size)g(of)f -Fs(oid)p FB(.)390 4235 y Ff(critical)t FB(:)42 b(output)30 -b(v)-5 b(ariable)31 b(with)f(critical)j(\015ag,)e(ma)m(y)g(b)s(e)e -(NULL.)390 4374 y(This)43 b(function)h(will)g(return)f(the)h(requested) -g(extension)h(OID)f(in)f(the)i(certi\014cate,)k(and)44 -b(the)390 4484 y(critical)g(\015ag)f(for)g(it.)77 b(The)42 -b(extension)h(OID)g(will)g(b)s(e)f(stored)g(as)h(a)g(string)f(in)h(the) -f(pro)m(vided)390 4593 y(bu\013er.)e(Use)30 b Fs -(gnutls_x509_crq_get_extens)o(ion_)o(dat)o(a\(\))24 b -FB(to)31 b(extract)h(the)e(data.)390 4733 y(If)37 b(the)h(bu\013er)e -(pro)m(vided)h(is)h(not)f(long)h(enough)g(to)g(hold)f(the)h(output,)h -(then)e(*)p Fs(sizeof_oid)e FB(is)390 4842 y(up)s(dated)29 -b(and)h Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFE)o(R)24 b FB(will)31 -b(b)s(e)f(returned.)390 4982 y Fn(Returns:)71 b FB(On)45 -b(success,)50 b Fs(GNUTLS_E_SUCCESS)42 b FB(is)j(returned,)k(otherwise) -d(a)g(negativ)m(e)i(v)-5 b(alue)390 5091 y(in)43 b(case)i(of)f(an)g -(error.)80 b(If)43 b(y)m(our)h(ha)m(v)m(e)h(reac)m(hed)f(the)g(last)h -(extension)f(a)m(v)-5 b(ailable)46 b Fs(GNUTLS_E_)390 -5201 y(REQUESTED_DATA_NOT_AVAIL)o(ABLE)24 b FB(will)30 -b(b)s(e)g(returned.)390 5340 y Fn(Since:)41 b FB(2.8.0)p +Fg(\()p Ff(gn)m(utls)p 1836 5121 28 4 v 41 w(x509)p 2060 +5121 V 41 w(crq)p 2225 5121 V 40 w(t)31 b Fe(crq)p Ff(,)h(c)m(har)e(*)h +Fe(buf)p Ff(,)565 5230 y(size)p 712 5230 V 41 w(t)g(*)f +Fe(sizeof_buf)12 b Fg(\))390 5340 y Ff(crq)r FB(:)41 +b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1513 5340 +V 40 w(x509)p 1736 5340 V 41 w(crq)p 1901 5340 V 40 w(t)g(structure)p eop end -%%Page: 203 209 -TeXDict begin 203 208 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(203)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(get)p 1229 299 V 54 w(k)m(ey)p -1466 299 V 53 w(id)3350 487 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_get_k)q(ey_i)q(d)f Fg(\()p -Ff(gn)m(utls)p 2046 487 28 4 v 40 w(x509)p 2269 487 V -42 w(crq)p 2435 487 V 40 w(t)30 b Fe(crq)12 b Ff(,)31 -b(unsigned)565 597 y(in)m(t)g Fe(flags)12 b Ff(,)32 b(unsigned)d(c)m -(har)i(*)f Fe(output_data)12 b Ff(,)34 b(size)p 2477 -597 V 41 w(t)c(*)h Fe(output_data_size)12 b Fg(\))390 -706 y Ff(crq)r FB(:)41 b(Holds)30 b(the)h(certi\014cate)h(signing)f -(request)390 836 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f -(no)m(w)390 966 y Ff(output)p 664 966 V 40 w(data)p FB(:)41 -b(will)31 b(con)m(tain)h(the)e(k)m(ey)h(ID)390 1097 y -Ff(output)p 664 1097 V 40 w(data)p 880 1097 V 40 w(size)5 -b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p 2093 -1097 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 1206 y(size)c(of)g(parameters\))390 1336 -y(This)24 b(function)h(will)h(return)e(a)i(unique)e(ID)h(the)h(dep)s -(ends)d(on)i(the)h(public)e(k)m(ey)i(parameters.)40 b(This)390 -1446 y(ID)27 b(can)g(b)s(e)g(used)f(in)g(c)m(hec)m(king)j(whether)d(a)i -(certi\014cate)h(corresp)s(onds)c(to)j(the)f(giv)m(en)h(priv)-5 -b(ate)27 b(k)m(ey)-8 b(.)390 1576 y(If)30 b(the)h(bu\013er)f(pro)m -(vided)g(is)g(not)h(long)h(enough)e(to)h(hold)g(the)f(output,)h(then)f -(*output)p 3357 1576 V 40 w(data)p 3573 1576 V 41 w(size)390 -1686 y(is)44 b(up)s(dated)f(and)h(GNUTLS)p 1443 1686 -V 40 w(E)p 1545 1686 V 40 w(SHOR)-8 b(T)p 1900 1686 V -39 w(MEMOR)g(Y)p 2365 1686 V 41 w(BUFFER)45 b(will)g(b)s(e)e(returned.) -81 b(The)390 1795 y(output)30 b(will)h(normally)f(b)s(e)g(a)h(SHA-1)g -(hash)e(output,)i(whic)m(h)f(is)g(20)h(b)m(ytes.)390 -1925 y Fn(Return)f(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f -(a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0) -h(on)f(success.)390 2055 y Fn(Since:)41 b FB(2.8.0)150 -2246 y Fu(gn)m(utls)p 483 2246 37 5 v 55 w(x509)p 786 -2246 V 54 w(crq)p 1010 2246 V 54 w(get)p 1229 2246 V -54 w(k)m(ey)p 1466 2246 V 53 w(purp)s(ose)p 1941 2246 -V 56 w(oid)3350 2434 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_k)q(ey_p)q(urp)q(ose)q(_oi)q(d)e -Fg(\()p Ff(gn)m(utls)p 2516 2434 28 4 v 41 w(x509)p 2740 -2434 V 41 w(crq)p 2905 2434 V 40 w(t)565 2544 y Fe(cert)12 -b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)32 b(v)m(oid)f(*)f -Fe(oid)12 b Ff(,)31 b(size)p 1900 2544 V 41 w(t)g(*)g -Fe(sizeof_oid)12 b Ff(,)33 b(unsigned)c(in)m(t)i(*)g -Fe(critical)12 b Fg(\))390 2653 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 b FB(structure)390 -2783 y Ff(indx)6 b FB(:)40 b(This)30 b(sp)s(eci\014es)g(whic)m(h)g(OID) -g(to)h(return.)40 b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 -2913 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g -(to)h(hold)f(the)h(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 -3044 y Ff(sizeof)p 610 3044 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 3174 y Ff(critical)t -FB(:)42 b(output)30 b(v)-5 b(ariable)31 b(with)f(critical)j(\015ag,)e -(ma)m(y)g(b)s(e)e(NULL.)390 3304 y(This)36 b(function)h(will)h(extract) -g(the)g(k)m(ey)g(purp)s(ose)d(OIDs)i(of)g(the)h(Certi\014cate)g(sp)s -(eci\014ed)f(b)m(y)g(the)390 3413 y(giv)m(en)32 b(index.)42 -b(These)31 b(are)g(stored)h(in)e(the)h(Extended)g(Key)g(Usage)h -(extension)g(\(2.5.29.37\).)47 b(See)390 3523 y(the)31 -b(GNUTLS)p 934 3523 V 39 w(KP)p 1106 3523 V 40 w(*)g(de\014nitions)e -(for)i(h)m(uman)e(readable)i(names.)390 3653 y(If)f Fs(oid)f +%%Page: 193 199 +TeXDict begin 193 198 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(193)390 299 y +Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h +(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 +442 y Ff(sizeof)p 610 442 28 4 v 41 w(buf)17 b FB(:)40 +b(initially)32 b(holds)e(the)g(size)i(of)e Ft(buf)390 +584 y FB(This)35 b(function)g(will)h(cop)m(y)h(the)f(name)g(of)g(the)g +(Certi\014cate)h(request)e(sub)5 b(ject)36 b(in)f(the)h(pro)m(vided)390 +694 y(bu\013er.)57 b(The)36 b(name)g(will)h(b)s(e)e(in)h(the)h(form)e +Ft(")p FB(C=xxxx,O=yyyy)-8 b(,CN=zzzz)p Ft(")37 b FB(as)f(describ)s(ed) +f(in)390 804 y(RF)m(C2253.)69 b(The)39 b(output)g(string)g(will)g(b)s +(e)g(ASCI)s(I)f(or)h(UTF-8)h(enco)s(ded,)h(dep)s(ending)d(on)h(the)390 +913 y(certi\014cate)32 b(data.)390 1056 y(If)e Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f(\014lled.) -390 3783 y Fn(Returns:)39 b Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 -b FB(if)27 b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g(long)h(enough,) -390 3893 y(and)h(in)h(that)g(case)h(the)f(*sizeof)p 1481 -3893 V 42 w(oid)g(will)g(b)s(e)g(up)s(dated)e(with)i(the)g(required)f -(size.)41 b(On)29 b(success)i(0)390 4002 y(is)f(returned.)390 -4133 y Fn(Since:)41 b FB(2.8.0)150 4323 y Fu(gn)m(utls)p -483 4323 37 5 v 55 w(x509)p 786 4323 V 54 w(crq)p 1010 -4323 V 54 w(get)p 1229 4323 V 54 w(k)m(ey)p 1466 4323 -V 53 w(rsa)p 1677 4323 V 54 w(ra)m(w)3350 4511 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_k)q(ey_r)q(sa_)q -(raw)f Fg(\()p Ff(gn)m(utls)p 2307 4511 28 4 v 41 w(x509)p -2531 4511 V 41 w(crq)p 2696 4511 V 40 w(t)31 b Fe(crq)12 -b Ff(,)565 4621 y(gn)m(utls)p 811 4621 V 41 w(datum)p -1110 4621 V 39 w(t)31 b(*)g Fe(m)12 b Ff(,)30 b(gn)m(utls)p -1650 4621 V 40 w(datum)p 1948 4621 V 40 w(t)h(*)f Fe(e)12 -b Fg(\))390 4730 y Ff(crq)r FB(:)41 b(Holds)30 b(the)h(certi\014cate) -390 4861 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 -4991 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m -(t)390 5121 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f -(k)m(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 -5230 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s -(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) -390 5340 y(in)30 b(the)h(appropriate)f(datum.)p eop end -%%Page: 204 210 -TeXDict begin 204 209 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(204)390 299 y -Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 432 y Fn(Since:)41 b FB(2.8.0)150 630 y Fu(gn)m(utls)p -483 630 37 5 v 55 w(x509)p 786 630 V 54 w(crq)p 1010 -630 V 54 w(get)p 1229 630 V 54 w(k)m(ey)p 1466 630 V -53 w(usage)3350 824 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crq_get_k)q(ey_u)q(sag)q(e)e Fg(\()p Ff(gn)m(utls)p -2202 824 28 4 v 41 w(x509)p 2426 824 V 42 w(crq)p 2592 -824 V 40 w(t)30 b Fe(cert)12 b Ff(,)565 934 y(unsigned)29 -b(in)m(t)i(*)g Fe(key_usage)12 b Ff(,)33 b(unsigned)c(in)m(t)i(*)g -Fe(critical)12 b Fg(\))390 1043 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 b FB(structure)390 -1177 y Ff(k)m(ey)p 529 1177 V 41 w(usage)5 b FB(:)41 -b(where)30 b(the)h(k)m(ey)g(usage)g(bits)f(will)h(b)s(e)f(stored)390 -1310 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) -h(extension)g(is)f(mark)m(ed)g(as)h(critical)390 1444 -y(This)i(function)h(will)g(return)f(certi\014cate's)j(k)m(ey)f(usage,)h -(b)m(y)d(reading)h(the)h(k)m(eyUsage)h(X.509)f(ex-)390 -1554 y(tension)c(\(2.5.29.15\).)44 b(The)30 b(k)m(ey)h(usage)g(v)-5 -b(alue)31 b(will)390 1687 y Fn(ORed)98 b(v)-5 b(alues)98 -b(of)g(the:)177 b Fs(GNUTLS_KEY_DIGITAL_SIGN)o(ATUR)o(E)p -FB(,)109 b Fs(GNUTLS_KEY_NON_)390 1797 y(REPUDIATION)p -FB(,)64 b Fs(GNUTLS_KEY_KEY_ENCIPHERMEN)o(T)p FB(,)d -Fs(GNUTLS_KEY_DATA_ENCIPHERME)o(NT)p FB(,)390 1906 y -Fs(GNUTLS_KEY_KEY_AGREEMENT)o FB(,)38 b Fs(GNUTLS_KEY_KEY_CERT_SIGN)o -FB(,)g Fs(GNUTLS_KEY_CRL_SIGN)p FB(,)390 2016 y Fs -(GNUTLS_KEY_ENCIPHER_ONLY)o FB(,)25 b Fs(GNUTLS_KEY_DECIPHER_ONLY)o -FB(.)390 2149 y Fn(Returns:)56 b FB(the)39 b(certi\014cate)h(k)m(ey)f -(usage,)j(or)c(a)h(negativ)m(e)h(v)-5 b(alue)39 b(in)f(case)i(of)e -(parsing)g(error.)64 b(If)390 2259 y(the)30 b(certi\014cate)h(do)s(es)e -(not)h(con)m(tain)h(the)f(k)m(eyUsage)h(extension)g Fs -(GNUTLS_E_REQUESTED_DATA)o(_)390 2368 y(NOT_AVAILABLE)c -FB(will)j(b)s(e)g(returned.)390 2502 y Fn(Since:)41 b -FB(2.8.0)150 2699 y Fu(gn)m(utls)p 483 2699 37 5 v 55 -w(x509)p 786 2699 V 54 w(crq)p 1010 2699 V 54 w(get)p -1229 2699 V 54 w(pk)p 1416 2699 V 54 w(algorithm)3350 -2894 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_p)q -(k_al)q(gor)q(ith)q(m)e Fg(\()p Ff(gn)m(utls)p 2359 2894 -28 4 v 41 w(x509)p 2583 2894 V 41 w(crq)p 2748 2894 V -40 w(t)31 b Fe(crq)12 b Ff(,)565 3003 y(unsigned)29 b(in)m(t)i(*)g -Fe(bits)12 b Fg(\))390 3113 y Ff(crq)r FB(:)41 b(should)29 -b(con)m(tain)j(a)f(gn)m(utls)p 1513 3113 V 40 w(x509)p -1736 3113 V 41 w(crq)p 1901 3113 V 40 w(t)g(structure)390 -3247 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h -(will)g(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -3380 y(This)e(function)g(will)h(return)f(the)h(public)f(k)m(ey)h -(algorithm)h(of)f(a)g(PK)m(CS)f Fs(\\10)g FB(certi\014cate)j(request.) -390 3513 y(If)e(bits)g(is)g(non)g(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i -(enough)f(size)h(to)g(hold)f(the)h(parameters)f(size)h(in)f(bits.)40 -b(F)-8 b(or)390 3623 y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s -(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g -(the)g(public)390 3733 y(exp)s(onen)m(t.)390 3866 y Fn(Returns:)61 -b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 3976 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 4173 -y Fu(gn)m(utls)p 483 4173 37 5 v 55 w(x509)p 786 4173 -V 54 w(crq)p 1010 4173 V 54 w(get)p 1229 4173 V 54 w(sub)7 -b(ject)p 1670 4173 V 54 w(alt)p 1866 4173 V 54 w(name)3350 -4368 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_s)q -(ubje)q(ct_)q(alt)q(_na)q(me)f Fg(\()p Ff(gn)m(utls)p -2569 4368 28 4 v 40 w(x509)p 2792 4368 V 42 w(crq)p 2958 -4368 V 40 w(t)565 4477 y Fe(cert)12 b Ff(,)31 b(unsigned)f(in)m(t)h -Fe(seq)12 b Ff(,)31 b(v)m(oid)g(*)f Fe(ret)12 b Ff(,)31 -b(size)p 2227 4477 V 41 w(t)g(*)g Fe(ret_size)12 b Ff(,)32 -b(unsigned)d(in)m(t)i(*)565 4587 y Fe(ret_type)12 b Ff(,)33 -b(unsigned)c(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 -4696 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crq_t)26 b FB(structure)390 4830 y Ff(seq)r -FB(:)38 b(sp)s(eci\014es)24 b(the)g(sequence)h(n)m(um)m(b)s(er)e(of)h -(the)h(alt)g(name,)h(0)f(for)f(the)g(\014rst)g(one,)i(1)e(for)g(the)h -(second)390 4940 y(etc.)390 5073 y Ff(ret)r FB(:)41 b(is)30 -b(the)h(place)g(where)f(the)h(alternativ)m(e)i(name)d(will)h(b)s(e)e -(copied)i(to)390 5206 y Ff(ret)p 507 5206 V 40 w(size)5 -b FB(:)42 b(holds)30 b(the)g(size)i(of)e(ret.)390 5340 -y Ff(ret)p 507 5340 V 40 w(t)m(yp)s(e)5 b FB(:)41 b(holds)30 -b(the)h Fs(gnutls_x509_subject_alt_)o(nam)o(e_t)24 b -FB(name)30 b(t)m(yp)s(e)p eop end -%%Page: 205 211 -TeXDict begin 205 210 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(205)390 299 y -Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h -(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))390 453 y(This)g(function)h(will)h(return)e(the)h(alternativ)m -(e)i(names,)f(con)m(tained)g(in)f(the)g(giv)m(en)h(certi\014cate.)43 -b(It)390 563 y(is)31 b(the)f(same)h(as)g Fs(gnutls_x509_crq_get_subje)o -(ct_)o(alt_)o(name)o(\(\))24 b FB(except)32 b(for)e(the)h(fact)g(that) -390 672 y(it)h(will)g(return)f(the)h(t)m(yp)s(e)g(of)f(the)h -(alternativ)m(e)j(name)c(in)h Fs(ret_type)d FB(ev)m(en)j(if)g(the)g -(function)f(fails)390 782 y(for)f(some)h(reason)g(\(i.e.)41 -b(the)31 b(bu\013er)e(pro)m(vided)h(is)h(not)f(enough\).)390 -936 y Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 -b(ject)51 b(name)f(t)m(yp)s(e)h(on)f(success,)56 b(one)51 -b(of)g(the)g(en)m(umerated)390 1046 y Fs(gnutls_x509_subject_alt_)o -(name)o(_t)p FB(.)166 b(It)75 b(will)g(return)e Fs -(GNUTLS_E_SHORT_MEMORY_)390 1155 y(BUFFER)65 b FB(if)i -Fs(ret_size)d FB(is)j(not)g(large)h(enough)f(to)g(hold)g(the)g(v)-5 -b(alue.)150 b(In)66 b(that)i(case)390 1265 y Fs(ret_size)60 -b FB(will)j(b)s(e)e(up)s(dated)g(with)i(the)f(required)g(size.)137 -b(If)62 b(the)g(certi\014cate)j(request)390 1375 y(do)s(es)59 -b(not)h(ha)m(v)m(e)h(an)f(Alternativ)m(e)i(name)d(with)h(the)g(sp)s -(eci\014ed)f(sequence)h(n)m(um)m(b)s(er)e(then)390 1484 -y Fs(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVAI)o(LAB)o(LE)24 -b FB(is)31 b(returned.)390 1638 y Fn(Since:)41 b FB(2.8.0)150 -1857 y Fu(gn)m(utls)p 483 1857 37 5 v 55 w(x509)p 786 -1857 V 54 w(crq)p 1010 1857 V 54 w(get)p 1229 1857 V -54 w(sub)7 b(ject)p 1670 1857 V 54 w(alt)p 1866 1857 -V 54 w(othername)p 2489 1857 V 54 w(oid)3350 2074 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_s)q(ubje)q(ct_)q -(alt)q(_ot)q(hern)q(ame)q(_oi)q(d)565 2183 y Fg(\()p -Ff(gn)m(utls)p 846 2183 28 4 v 41 w(x509)p 1070 2183 -V 41 w(crq)p 1235 2183 V 40 w(t)31 b Fe(cert)12 b Ff(,)31 -b(unsigned)e(in)m(t)i Fe(seq)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(ret)12 b Ff(,)31 b(size)p 2997 2183 V 41 w(t)g(*)f -Fe(ret_size)12 b Fg(\))390 2293 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crq_t)26 b FB(structure)390 -2447 y Ff(seq)r FB(:)38 b(sp)s(eci\014es)23 b(the)h(sequence)g(n)m(um)m -(b)s(er)f(of)g(the)h(alt)h(name)f(\(0)g(for)g(the)g(\014rst)f(one,)i(1) -f(for)g(the)g(second)390 2557 y(etc.\))390 2711 y Ff(ret)r -FB(:)41 b(is)30 b(the)h(place)g(where)f(the)h(otherName)g(OID)f(will)h -(b)s(e)f(copied)h(to)390 2865 y Ff(ret)p 507 2865 V 40 -w(size)5 b FB(:)42 b(holds)30 b(the)g(size)i(of)e(ret.)390 -3020 y(This)f(function)g(will)h(extract)g(the)g(t)m(yp)s(e)g(OID)f(of)h -(an)f(otherName)h(Sub)5 b(ject)29 b(Alternativ)m(e)j(Name,)390 -3129 y(con)m(tained)g(in)e(the)g(giv)m(en)i(certi\014cate,)g(and)e -(return)f(the)i(t)m(yp)s(e)f(as)h(an)f(en)m(umerated)h(elemen)m(t.)390 -3283 y(This)c(function)g(is)g(only)g(useful)g(if)g Fs -(gnutls_x509_crq_get_subje)o(ct_a)o(lt_)o(name)o(\(\))21 -b FB(returned)390 3393 y Fs(GNUTLS_SAN_OTHERNAME)p FB(.)390 -3547 y Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 -b(ject)51 b(name)f(t)m(yp)s(e)h(on)f(success,)56 b(one)51 -b(of)g(the)g(en)m(umerated)390 3657 y(gn)m(utls)p 636 -3657 V 40 w(x509)p 859 3657 V 42 w(sub)5 b(ject)p 1187 -3657 V 40 w(alt)p 1332 3657 V 41 w(name)p 1585 3657 V -40 w(t.)39 b(F)-8 b(or)24 b(supp)s(orted)f(OIDs,)i(it)g(will)f(return)f -(one)h(of)g(the)h(virtual)390 3766 y(\(GNUTLS)p 812 3766 -V 40 w(SAN)p 1039 3766 V 40 w(OTHERNAME)p 1694 3766 V -40 w(*\))79 b(t)m(yp)s(es,)90 b(e.g.)185 b Fs(GNUTLS_SAN_OTHERNAME_XM)o -(PP)p FB(,)390 3876 y(and)43 b Fs(GNUTLS_SAN_OTHERNAME)38 -b FB(for)43 b(unkno)m(wn)f(OIDs.)80 b(It)44 b(will)g(return)e -Fs(GNUTLS_E_SHORT_)390 3986 y(MEMORY_BUFFER)f FB(if)j -Fs(ret_size)f FB(is)h(not)h(large)h(enough)e(to)h(hold)f(the)h(v)-5 -b(alue.)84 b(In)44 b(that)h(case)390 4095 y Fs(ret_size)30 -b FB(will)j(b)s(e)e(up)s(dated)g(with)h(the)g(required)g(size.)47 -b(If)32 b(the)g(certi\014cate)i(do)s(es)e(not)h(ha)m(v)m(e)g(an)390 -4205 y(Alternativ)m(e)h(name)f(with)e(the)i(sp)s(eci\014ed)e(sequence)i -(n)m(um)m(b)s(er)e(and)g(with)h(the)h(otherName)g(t)m(yp)s(e)390 -4314 y(then)d Fs(GNUTLS_E_REQUESTED_DATA_N)o(OT_)o(AVAI)o(LABL)o(E)24 -b FB(is)31 b(returned.)390 4469 y Fn(Since:)41 b FB(2.8.0)150 -4688 y Fu(gn)m(utls)p 483 4688 37 5 v 55 w(x509)p 786 -4688 V 54 w(crq)p 1010 4688 V 54 w(get)p 1229 4688 V -54 w(v)m(ersion)3350 4904 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_get_v)q(ersi)q(on)f Fg(\()p -Ff(gn)m(utls)p 2098 4904 28 4 v 41 w(x509)p 2322 4904 -V 41 w(crq)p 2487 4904 V 40 w(t)31 b Fe(crq)12 b Fg(\))390 -5014 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p -1513 5014 V 40 w(x509)p 1736 5014 V 41 w(crq)p 1901 5014 -V 40 w(t)g(structure)390 5168 y(This)f(function)g(will)g(return)g(the)g -(v)m(ersion)h(of)g(the)f(sp)s(eci\014ed)g(Certi\014cate)i(request.)390 -5322 y Fn(Returns:)40 b FB(v)m(ersion)31 b(of)g(certi\014cate)h -(request,)f(or)f(a)h(negativ)m(e)i(v)-5 b(alue)30 b(on)h(error.)p -eop end -%%Page: 206 212 -TeXDict begin 206 211 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(206)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(imp)s(ort)3350 501 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_impor)q(t)e -Fg(\()p Ff(gn)m(utls)p 1836 501 28 4 v 41 w(x509)p 2060 -501 V 41 w(crq)p 2225 501 V 40 w(t)31 b Fe(crq)12 b Ff(,)31 -b(const)565 610 y(gn)m(utls)p 811 610 V 41 w(datum)p -1110 610 V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 b(gn)m(utls)p -1807 610 V 40 w(x509)p 2030 610 V 42 w(crt)p 2183 610 -V 40 w(fm)m(t)p 2359 610 V 40 w(t)g Fe(format)12 b Fg(\))390 -720 y Ff(crq)r FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)f -(parsed)g(certi\014cate)i(request.)390 859 y Ff(data)p -FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(certi\014cate.)390 -998 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 -1138 y(This)i(function)g(will)h(con)m(v)m(ert)h(the)e(giv)m(en)i(DER)e +390 1199 y Fn(Returns:)71 b FB(GNUTLS)p 1196 1199 V 39 +w(E)p 1297 1199 V 40 w(SHOR)-8 b(T)p 1652 1199 V 39 w(MEMOR)g(Y)p +2117 1199 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i +(not)390 1308 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g +(*sizeof)p 2018 1308 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h +(the)g(required)g(size.)390 1418 y(On)g(success)g(0)h(is)f(returned.) +150 1626 y Fv(gn)m(utls)p 483 1626 37 5 v 55 w(x509)p +786 1626 V 54 w(crq)p 1010 1626 V 54 w(get)p 1229 1626 +V 54 w(pk)p 1416 1626 V 54 w(algorithm)3350 1831 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_p)q(k_al)q(gor)q +(ith)q(m)e Fg(\()p Ff(gn)m(utls)p 2359 1831 28 4 v 41 +w(x509)p 2583 1831 V 41 w(crq)p 2748 1831 V 40 w(t)31 +b Fe(crq)p Ff(,)565 1940 y(unsigned)e(in)m(t)i(*)g Fe(bits)12 +b Fg(\))390 2050 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1513 2050 V 40 w(x509)p 1736 2050 V 41 w(crq)p +1901 2050 V 40 w(t)g(structure)390 2193 y Ff(bits)t FB(:)40 +b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g(hold)f(the)h(size)g +(of)f(the)h(parameters')g(in)f(bits)390 2335 y(This)e(function)g(will)h +(return)f(the)h(public)f(k)m(ey)h(algorithm)h(of)f(a)g(PK)m(CS)f +Ft(\\10)g FB(certi\014cate)j(request.)390 2478 y(If)e(bits)g(is)g(non)g +(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the) +h(parameters)f(size)h(in)f(bits.)40 b(F)-8 b(or)390 2588 +y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s(dulus.)49 +b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public) +390 2697 y(exp)s(onen)m(t.)390 2840 y Fn(Returns:)61 +b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 2950 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 3157 +y Fv(gn)m(utls)p 483 3157 37 5 v 55 w(x509)p 786 3157 +V 54 w(crq)p 1010 3157 V 54 w(get)p 1229 3157 V 54 w(v)m(ersion)3350 +3362 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_get_v)q +(ersi)q(on)f Fg(\()p Ff(gn)m(utls)p 2098 3362 28 4 v +41 w(x509)p 2322 3362 V 41 w(crq)p 2487 3362 V 40 w(t)31 +b Fe(crq)12 b Fg(\))390 3472 y Ff(crq)r FB(:)41 b(should)29 +b(con)m(tain)j(a)f(gn)m(utls)p 1513 3472 V 40 w(x509)p +1736 3472 V 41 w(crq)p 1901 3472 V 40 w(t)g(structure)390 +3615 y(This)f(function)g(will)g(return)g(the)g(v)m(ersion)h(of)g(the)f +(sp)s(eci\014ed)g(Certi\014cate)i(request.)390 3757 y +Fn(Returns:)40 b FB(v)m(ersion)31 b(of)g(certi\014cate)h(request,)f(or) +f(a)h(negativ)m(e)i(v)-5 b(alue)30 b(on)h(error.)150 +3965 y Fv(gn)m(utls)p 483 3965 37 5 v 55 w(x509)p 786 +3965 V 54 w(crq)p 1010 3965 V 54 w(imp)s(ort)3350 4170 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_impor)q(t)e +Fg(\()p Ff(gn)m(utls)p 1836 4170 28 4 v 41 w(x509)p 2060 +4170 V 41 w(crq)p 2225 4170 V 40 w(t)31 b Fe(crq)p Ff(,)h(const)565 +4280 y(gn)m(utls)p 811 4280 V 41 w(datum)p 1110 4280 +V 39 w(t)f(*)g Fe(data)p Ff(,)g(gn)m(utls)p 1795 4280 +V 41 w(x509)p 2019 4280 V 41 w(crt)p 2171 4280 V 40 w(fm)m(t)p +2347 4280 V 41 w(t)f Fe(format)12 b Fg(\))390 4389 y +Ff(crq)r FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)f(parsed)g +(certi\014cate)i(request.)390 4532 y Ff(data)p FB(:)41 +b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(certi\014cate.)390 +4675 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 +4818 y(This)i(function)g(will)h(con)m(v)m(ert)h(the)e(giv)m(en)i(DER)e (or)h(PEM)f(enco)s(ded)g(Certi\014cate)i(to)f(the)g(nativ)m(e)390 -1247 y(gn)m(utls)p 636 1247 V 40 w(x509)p 859 1247 V -42 w(crq)p 1025 1247 V 40 w(t)d(format.)41 b(The)30 b(output)g(will)h -(b)s(e)f(stored)g(in)g Fs(cert)p FB(.)390 1387 y(If)f(the)i +4927 y(gn)m(utls)p 636 4927 V 40 w(x509)p 859 4927 V +42 w(crq)p 1025 4927 V 40 w(t)d(format.)41 b(The)30 b(output)g(will)h +(b)s(e)f(stored)g(in)g Ft(cert)p FB(.)390 5070 y(If)f(the)i (Certi\014cate)g(is)f(PEM)g(enco)s(ded)f(it)i(should)d(ha)m(v)m(e)k(a)e -(header)g(of)g Fs(")p FB(NEW)g(CER)-8 b(TIFICA)g(TE)390 -1496 y(REQUEST)p Fs(")p FB(.)390 1636 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +(header)g(of)g Ft(")p FB(NEW)g(CER)-8 b(TIFICA)g(TE)390 +5180 y(REQUEST)p Ft(")p FB(.)390 5322 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1840 y Fu(gn)m(utls)p 483 1840 37 5 v 55 -w(x509)p 786 1840 V 54 w(crq)p 1010 1840 V 54 w(init)3350 -2041 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_init)f -Fg(\()p Ff(gn)m(utls)p 1732 2041 28 4 v 40 w(x509)p 1955 -2041 V 42 w(crq)p 2121 2041 V 40 w(t)30 b(*)h Fe(crq)12 -b Fg(\))390 2151 y Ff(crq)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e -(initialized)390 2290 y(This)h(function)g(will)g(initialize)j(a)e(PK)m -(CS10)f(certi\014cate)j(request)d(structure.)390 2430 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2634 y Fu(gn)m(utls)p 483 2634 37 5 v 55 -w(x509)p 786 2634 V 54 w(crq)p 1010 2634 V 54 w(prin)m(t)3350 -2836 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_print)f -Fg(\()p Ff(gn)m(utls)p 1784 2836 28 4 v 41 w(x509)p 2008 -2836 V 41 w(crq)p 2173 2836 V 40 w(t)31 b Fe(crq)12 b -Ff(,)565 2945 y(gn)m(utls)p 811 2945 V 41 w(certi\014cate)p -1239 2945 V 42 w(prin)m(t)p 1476 2945 V 39 w(formats)p -1816 2945 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(gn)m(utls)p -2543 2945 V 41 w(datum)p 2842 2945 V 39 w(t)f(*)g Fe(out)12 -b Fg(\))390 3055 y Ff(crq)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e -(prin)m(ted)390 3194 y Ff(format)r FB(:)41 b(Indicate)31 -b(the)g(format)f(to)h(use)390 3333 y Ff(out)r FB(:)41 -b(Newly)31 b(allo)s(cated)h(datum)e(with)g(zero)h(terminated)g(string.) -390 3473 y(This)f(function)g(will)g(prett)m(y)h(prin)m(t)f(a)h -(certi\014cate)i(request,)d(suitable)h(for)f(displa)m(y)h(to)g(a)g(h)m -(uman.)390 3612 y(The)f(output)g Fs(out)f FB(needs)h(to)h(b)s(e)f -(deallo)s(cate)j(using)d Fs(gnutls_free\(\))p FB(.)390 -3752 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 3891 y Fn(Since:)41 b FB(2.8.0)150 4095 y -Fu(gn)m(utls)p 483 4095 37 5 v 55 w(x509)p 786 4095 V -54 w(crq)p 1010 4095 V 54 w(set)p 1216 4095 V 54 w(attribute)p -1750 4095 V 53 w(b)m(y)p 1933 4095 V 54 w(oid)3350 4297 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_a)q(ttri) -q(but)q(e_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 -4297 28 4 v 40 w(x509)p 2792 4297 V 42 w(crq)p 2958 4297 -V 40 w(t)565 4406 y Fe(crq)12 b Ff(,)31 b(const)g(c)m(har)g(*)f -Fe(oid)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(buf)12 b Ff(,)31 -b(size)p 2170 4406 V 41 w(t)g Fe(sizeof_buf)12 b Fg(\))390 -4516 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p -1513 4516 V 40 w(x509)p 1736 4516 V 41 w(crq)p 1901 4516 -V 40 w(t)g(structure)390 4655 y Ff(oid)t FB(:)40 b(holds)30 -b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h -(string)390 4795 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a) -g(structure)f(that)h(holds)f(the)g(attribute)h(data)390 -4934 y Ff(sizeof)p 610 4934 V 41 w(buf)17 b FB(:)40 b(holds)30 -b(the)h(size)g(of)f Fs(buf)390 5073 y FB(This)36 b(function)h(will)g -(set)h(the)f(attribute)h(in)f(the)g(certi\014cate)i(request)e(sp)s -(eci\014ed)g(b)m(y)g(the)g(giv)m(en)390 5183 y(Ob)5 b(ject)31 -b(ID.)f(The)g(attribute)h(m)m(ust)g(b)s(e)e(b)s(e)h(DER)h(enco)s(ded.) -390 5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS) -16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 207 213 -TeXDict begin 207 212 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(207)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(set)p 1216 299 V 54 w(basic)p -1535 299 V 54 w(constrain)m(ts)3350 494 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_set_b)q(asic)q(_co)q(nst)q(rai)q(nts)f -Fg(\()p Ff(gn)m(utls)p 2621 494 28 4 v 41 w(x509)p 2845 -494 V 41 w(crq)p 3010 494 V 40 w(t)565 603 y Fe(crq)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(ca)12 b Ff(,)31 b(in)m(t)g -Fe(pathLenConstraint)12 b Fg(\))390 713 y Ff(crq)r FB(:)41 -b(a)31 b(certi\014cate)h(of)e(t)m(yp)s(e)h Fs(gnutls_x509_crq_t)390 -846 y Ff(ca)p FB(:)42 b(true\(1\))31 b(or)f(false\(0\).)43 -b(Dep)s(ending)30 b(on)g(the)g(Certi\014cate)i(authorit)m(y)f(status.) -390 980 y Ff(pathLenConstrain)m(t)r FB(:)42 b(non-negativ)m(e)32 -b(v)-5 b(alues)31 b(indicate)h(maxim)m(um)f(length)g(of)g(path,)g(and)f -(neg-)390 1089 y(ativ)m(e)i(v)-5 b(alues)31 b(indicate)g(that)g(the)g -(pathLenConstrain)m(ts)f(\014eld)g(should)f(not)i(b)s(e)f(presen)m(t.) -390 1223 y(This)g(function)g(will)g(set)h(the)g(basicConstrain)m(ts)g -(certi\014cate)h(extension.)390 1356 y Fn(Returns:)k -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +%%Page: 194 200 +TeXDict begin 194 199 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(194)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crq)p 1010 299 V 54 w(init)3350 491 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crq_init)f Fg(\()p Ff(gn)m(utls)p +1732 491 28 4 v 40 w(x509)p 1955 491 V 42 w(crq)p 2121 +491 V 40 w(t)30 b(*)h Fe(crq)12 b Fg(\))390 601 y Ff(crq)r +FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)e(initialized)390 +733 y(This)h(function)g(will)g(initialize)j(a)e(PK)m(CS10)f +(certi\014cate)j(request)d(structure.)390 865 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 1490 y Fn(Since:)41 b FB(2.8.0)150 1687 y -Fu(gn)m(utls)p 483 1687 37 5 v 55 w(x509)p 786 1687 V -54 w(crq)p 1010 1687 V 54 w(set)p 1216 1687 V 54 w(c)m(hallenge)p -1759 1687 V 54 w(passw)m(ord)3350 1882 y FB([F)-8 b(unction])-3599 +b(alue.)150 1059 y Fv(gn)m(utls)p 483 1059 37 5 v 55 +w(x509)p 786 1059 V 54 w(crq)p 1010 1059 V 54 w(set)p +1216 1059 V 54 w(attribute)p 1750 1059 V 53 w(b)m(y)p +1933 1059 V 54 w(oid)3350 1252 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_x509_crq_set_a)q(ttri)q(but)q(e_b)q(y_o)q(id)f +Fg(\()p Ff(gn)m(utls)p 2569 1252 28 4 v 40 w(x509)p 2792 +1252 V 42 w(crq)p 2958 1252 V 40 w(t)565 1361 y Fe(crq)p +Ff(,)32 b(const)e(c)m(har)h(*)g Fe(oid)p Ff(,)g(v)m(oid)g(*)g +Fe(buf)p Ff(,)h(size)p 2136 1361 V 41 w(t)e Fe(sizeof_buf)12 +b Fg(\))390 1471 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1513 1471 V 40 w(x509)p 1736 1471 V 41 w(crq)p +1901 1471 V 40 w(t)g(structure)390 1603 y Ff(oid)t FB(:)40 +b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g +(terminated)h(string)390 1735 y Ff(buf)16 b FB(:)41 b(a)31 +b(p)s(oin)m(ter)f(to)h(a)g(structure)f(that)h(holds)f(the)g(attribute)h +(data)390 1867 y Ff(sizeof)p 610 1867 V 41 w(buf)17 b +FB(:)40 b(holds)30 b(the)h(size)g(of)f Ft(buf)390 1999 +y FB(This)36 b(function)h(will)g(set)h(the)f(attribute)h(in)f(the)g +(certi\014cate)i(request)e(sp)s(eci\014ed)g(b)m(y)g(the)g(giv)m(en)390 +2109 y(Ob)5 b(ject)31 b(ID.)f(The)g(attribute)h(m)m(ust)g(b)s(e)e(b)s +(e)h(DER)h(enco)s(ded.)390 2241 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2436 y Fv(gn)m(utls)p +483 2436 37 5 v 55 w(x509)p 786 2436 V 54 w(crq)p 1010 +2436 V 54 w(set)p 1216 2436 V 54 w(c)m(hallenge)p 1759 +2436 V 54 w(passw)m(ord)3350 2628 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_c)q(hall)q(eng)q(e_p)q(ass)q(word)f -Fg(\()p Ff(gn)m(utls)p 2673 1882 28 4 v 41 w(x509)p 2897 -1882 V 41 w(crq)p 3062 1882 V 40 w(t)565 1992 y Fe(crq)12 -b Ff(,)31 b(const)g(c)m(har)g(*)f Fe(pass)12 b Fg(\))390 -2101 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p -1513 2101 V 40 w(x509)p 1736 2101 V 41 w(crq)p 1901 2101 -V 40 w(t)g(structure)390 2235 y Ff(pass)t FB(:)40 b(holds)30 -b(a)h(n)m(ull)f(terminated)h(passw)m(ord)390 2368 y(This)f(function)g +Fg(\()p Ff(gn)m(utls)p 2673 2628 28 4 v 41 w(x509)p 2897 +2628 V 41 w(crq)p 3062 2628 V 40 w(t)565 2737 y Fe(crq)p +Ff(,)32 b(const)e(c)m(har)h(*)g Fe(pass)12 b Fg(\))390 +2847 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1513 2847 V 40 w(x509)p 1736 2847 V 41 w(crq)p 1901 2847 +V 40 w(t)g(structure)390 2979 y Ff(pass)t FB(:)40 b(holds)30 +b(a)h(n)m(ull)f(terminated)h(passw)m(ord)390 3111 y(This)f(function)g (will)g(set)h(a)g(c)m(hallenge)h(passw)m(ord)e(to)h(b)s(e)f(used)g -(when)f(rev)m(oking)i(the)g(request.)390 2502 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +(when)f(rev)m(oking)i(the)g(request.)390 3243 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2699 y Fu(gn)m(utls)p 483 2699 37 5 v 55 -w(x509)p 786 2699 V 54 w(crq)p 1010 2699 V 54 w(set)p -1216 2699 V 54 w(dn)p 1406 2699 V 54 w(b)m(y)p 1590 2699 -V 54 w(oid)3350 2894 y FB([F)d(unction])-3599 b Fh(int)53 +b(alue.)150 3438 y Fv(gn)m(utls)p 483 3438 37 5 v 55 +w(x509)p 786 3438 V 54 w(crq)p 1010 3438 V 54 w(set)p +1216 3438 V 54 w(dn)p 1406 3438 V 54 w(b)m(y)p 1590 3438 +V 54 w(oid)3350 3630 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_d)q(n_by)q(_oi)q(d)e Fg(\()p Ff(gn)m(utls)p -2202 2894 28 4 v 41 w(x509)p 2426 2894 V 42 w(crq)p 2592 -2894 V 40 w(t)30 b Fe(crq)12 b Ff(,)31 b(const)565 3003 -y(c)m(har)g(*)g Fe(oid)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(raw_flag)12 b Ff(,)32 b(const)f(v)m(oid)g(*)g Fe(data)12 -b Ff(,)31 b(unsigned)f(in)m(t)565 3113 y Fe(sizeof_data)12 -b Fg(\))390 3222 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m -(utls)p 1513 3222 V 40 w(x509)p 1736 3222 V 41 w(crq)p -1901 3222 V 40 w(t)g(structure)390 3356 y Ff(oid)t FB(:)40 -b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f -(terminated)h(string)390 3489 y Ff(ra)m(w)p 540 3489 -V 40 w(\015ag)8 b FB(:)41 b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g -(the)f(data)h(are)g(DER)f(enco)s(ded)390 3623 y Ff(data)p -FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(the)f(input)g(data)390 -3756 y Ff(sizeof)p 610 3756 V 41 w(data)p FB(:)42 b(holds)29 -b(the)i(size)g(of)g Fs(data)390 3890 y FB(This)24 b(function)h(will)h -(set)f(the)h(part)f(of)g(the)g(name)g(of)h(the)f(Certi\014cate)h -(request)f(sub)5 b(ject,)27 b(sp)s(eci\014ed)390 4000 -y(b)m(y)j(the)h(giv)m(en)g(OID.)g(The)f(input)f(string)h(should)g(b)s -(e)f(ASCI)s(I)g(or)i(UTF-8)g(enco)s(ded.)390 4133 y(Some)42 -b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f -(in)g(gn)m(utls/x509.h)j(With)f(this)390 4243 y(function)g(y)m(ou)g -(can)g(only)g(set)h(the)f(kno)m(wn)f(OIDs.)78 b(Y)-8 -b(ou)44 b(can)f(test)h(for)e(kno)m(wn)h(OIDs)f(using)390 -4352 y Fs(gnutls_x509_dn_oid_known)o(\(\))p FB(.)33 b(F)-8 +2202 3630 28 4 v 41 w(x509)p 2426 3630 V 42 w(crq)p 2592 +3630 V 40 w(t)30 b Fe(crq)p Ff(,)i(const)565 3740 y(c)m(har)f(*)g +Fe(oid)p Ff(,)g(unsigned)e(in)m(t)i Fe(raw_flag)p Ff(,)i(const)e(v)m +(oid)g(*)g Fe(data)p Ff(,)h(unsigned)d(in)m(t)565 3849 +y Fe(sizeof_data)12 b Fg(\))390 3959 y Ff(crq)r FB(:)41 +b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1513 3959 +V 40 w(x509)p 1736 3959 V 41 w(crq)p 1901 3959 V 40 w(t)g(structure)390 +4091 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 +b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f(terminated)h(string)390 +4223 y Ff(ra)m(w)p 540 4223 V 40 w(\015ag)8 b FB(:)41 +b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g(the)f(data)h(are)g(DER)f +(enco)s(ded)390 4355 y Ff(data)p FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g +(the)f(input)g(data)390 4487 y Ff(sizeof)p 610 4487 V +41 w(data)p FB(:)42 b(holds)29 b(the)i(size)g(of)g Ft(data)390 +4620 y FB(This)24 b(function)h(will)h(set)f(the)h(part)f(of)g(the)g +(name)g(of)h(the)f(Certi\014cate)h(request)f(sub)5 b(ject,)27 +b(sp)s(eci\014ed)390 4729 y(b)m(y)j(the)h(giv)m(en)g(OID.)g(The)f +(input)f(string)h(should)g(b)s(e)f(ASCI)s(I)g(or)i(UTF-8)g(enco)s(ded.) +390 4861 y(Some)42 b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h +(can)g(b)s(e)g(found)f(in)g(gn)m(utls/x509.h)j(With)f(this)390 +4971 y(function)g(y)m(ou)g(can)g(only)g(set)h(the)f(kno)m(wn)f(OIDs.)78 +b(Y)-8 b(ou)44 b(can)f(test)h(for)e(kno)m(wn)h(OIDs)f(using)390 +5081 y Ft(gnutls_x509_dn_oid_known)o(\(\))p FB(.)33 b(F)-8 b(or)26 b(OIDs)g(that)g(are)g(not)g(kno)m(wn)f(\(b)m(y)h(gn)m(utls\))g -(y)m(ou)g(should)390 4462 y(prop)s(erly)j(DER)i(enco)s(de)f(y)m(our)h +(y)m(ou)g(should)390 5190 y(prop)s(erly)j(DER)i(enco)s(de)f(y)m(our)h (data,)g(and)f(call)h(this)g(function)f(with)g(ra)m(w)p -2957 4462 V 40 w(\015ag)h(set.)390 4595 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4793 y Fu(gn)m(utls)p 483 4793 37 5 v 55 -w(x509)p 786 4793 V 54 w(crq)p 1010 4793 V 54 w(set)p -1216 4793 V 54 w(k)m(ey)p 1453 4793 V 53 w(purp)s(ose)p -1928 4793 V 56 w(oid)3350 4987 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_set_k)q(ey_p)q(urp)q(ose)q(_oi)q(d)e -Fg(\()p Ff(gn)m(utls)p 2516 4987 28 4 v 41 w(x509)p 2740 -4987 V 41 w(crq)p 2905 4987 V 40 w(t)565 5097 y Fe(cert)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)g Fe(oid)12 b Ff(,)31 -b(unsigned)e(in)m(t)i Fe(critical)12 b Fg(\))390 5206 -y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m(yp)s(e)h -Fs(gnutls_x509_crq_t)390 5340 y Ff(oid)t FB(:)40 b(a)31 -b(p)s(oin)m(ter)g(to)g(a)f(n)m(ull)h(terminated)g(string)f(that)h -(holds)f(the)g(OID)p eop end -%%Page: 208 214 -TeXDict begin 208 213 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(208)390 299 y -Ff(critical)t FB(:)42 b(Whether)31 b(this)f(extension)h(will)g(b)s(e)e -(critical)k(or)d(not)390 460 y(This)k(function)h(will)h(set)f(the)h(k)m -(ey)g(purp)s(ose)d(OIDs)i(of)h(the)f(Certi\014cate.)56 -b(These)35 b(are)h(stored)f(in)390 570 y(the)26 b(Extended)f(Key)h -(Usage)h(extension)f(\(2.5.29.37\))k(See)c(the)g(GNUTLS)p -2929 570 28 4 v 39 w(KP)p 3101 570 V 40 w(*)g(de\014nitions)f(for)390 -679 y(h)m(uman)30 b(readable)g(names.)390 840 y(Subsequen)m(t)f(calls)j -(to)f(this)f(function)g(will)h(app)s(end)e(OIDs)h(to)h(the)g(OID)f -(list.)390 1002 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 1163 y Fn(Since:)41 -b FB(2.8.0)150 1389 y Fu(gn)m(utls)p 483 1389 37 5 v -55 w(x509)p 786 1389 V 54 w(crq)p 1010 1389 V 54 w(set)p -1216 1389 V 54 w(k)m(ey)p 1453 1389 V 53 w(rsa)p 1664 -1389 V 54 w(ra)m(w)3350 1612 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crq_set_k)q(ey_r)q(sa_)q(raw)f -Fg(\()p Ff(gn)m(utls)p 2307 1612 28 4 v 41 w(x509)p 2531 -1612 V 41 w(crq)p 2696 1612 V 40 w(t)31 b Fe(crq)12 b -Ff(,)565 1722 y(const)31 b(gn)m(utls)p 1049 1722 V 40 -w(datum)p 1347 1722 V 40 w(t)g(*)f Fe(m)12 b Ff(,)31 -b(const)g(gn)m(utls)p 2126 1722 V 40 w(datum)p 2424 1722 -V 40 w(t)f(*)h Fe(e)12 b Fg(\))390 1831 y Ff(crq)r FB(:)41 -b(should)29 b(con)m(tain)j(a)f Fs(gnutls_x509_crq_t)25 -b FB(structure)390 1993 y Ff(m)p FB(:)40 b(holds)30 b(the)h(mo)s(dulus) -390 2154 y Ff(e)5 b FB(:)41 b(holds)30 b(the)h(public)e(exp)s(onen)m(t) -390 2315 y(This)24 b(function)h(will)g(set)h(the)f(public)f(parameters) -i(from)e(the)h(giv)m(en)h(priv)-5 b(ate)26 b(k)m(ey)g(to)f(the)h -(request.)390 2425 y(Only)k(RSA)g(k)m(eys)h(are)f(curren)m(tly)h(supp)s -(orted.)390 2586 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 2747 y Fn(Since:)41 -b FB(2.6.0)150 2973 y Fu(gn)m(utls)p 483 2973 37 5 v -55 w(x509)p 786 2973 V 54 w(crq)p 1010 2973 V 54 w(set)p -1216 2973 V 54 w(k)m(ey)p 1453 2973 V 53 w(usage)3350 -3197 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_k)q -(ey_u)q(sag)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 3197 28 -4 v 41 w(x509)p 2426 3197 V 42 w(crq)p 2592 3197 V 40 -w(t)30 b Fe(crq)12 b Ff(,)565 3306 y(unsigned)29 b(in)m(t)i -Fe(usage)12 b Fg(\))390 3416 y Ff(crq)r FB(:)41 b(a)31 -b(certi\014cate)h(of)e(t)m(yp)s(e)h Fs(gnutls_x509_crq_t)390 -3577 y Ff(usage)5 b FB(:)41 b(an)31 b(ORed)f(sequence)g(of)h(the)f -(GNUTLS)p 2087 3577 V 40 w(KEY)p 2328 3577 V 40 w(*)h(elemen)m(ts.)390 -3738 y(This)f(function)g(will)g(set)h(the)g(k)m(eyUsage)h -(certi\014cate)h(extension.)390 3899 y Fn(Returns:)j -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +2957 5190 V 40 w(\015ag)h(set.)390 5322 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4060 y Fn(Since:)41 b FB(2.8.0)150 4286 y -Fu(gn)m(utls)p 483 4286 37 5 v 55 w(x509)p 786 4286 V -54 w(crq)p 1010 4286 V 54 w(set)p 1216 4286 V 54 w(k)m(ey)3350 -4510 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_k)q -(ey)f Fg(\()p Ff(gn)m(utls)p 1889 4510 28 4 v 40 w(x509)p -2112 4510 V 42 w(crq)p 2278 4510 V 40 w(t)30 b Fe(crq)12 -b Ff(,)565 4620 y(gn)m(utls)p 811 4620 V 41 w(x509)p -1035 4620 V 41 w(privk)m(ey)p 1369 4620 V 40 w(t)31 b -Fe(key)12 b Fg(\))390 4729 y Ff(crq)r FB(:)41 b(should)29 -b(con)m(tain)j(a)f(gn)m(utls)p 1513 4729 V 40 w(x509)p -1736 4729 V 41 w(crq)p 1901 4729 V 40 w(t)g(structure)390 -4890 y Ff(k)m(ey)8 b FB(:)41 b(holds)30 b(a)h(priv)-5 -b(ate)31 b(k)m(ey)390 5052 y(This)24 b(function)h(will)g(set)h(the)f -(public)f(parameters)i(from)e(the)h(giv)m(en)h(priv)-5 -b(ate)26 b(k)m(ey)g(to)f(the)h(request.)390 5161 y(Only)k(RSA)g(k)m -(eys)h(are)f(curren)m(tly)h(supp)s(orted.)390 5322 y -Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 209 215 -TeXDict begin 209 214 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(209)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crq)p 1010 299 V 54 w(set)p 1216 299 V 54 w(sub)7 b(ject)p -1657 299 V 54 w(alt)p 1853 299 V 54 w(name)3350 499 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_s)q(ubje)q -(ct_)q(alt)q(_na)q(me)f Fg(\()p Ff(gn)m(utls)p 2569 499 -28 4 v 40 w(x509)p 2792 499 V 42 w(crq)p 2958 499 V 40 -w(t)565 608 y Fe(crq)12 b Ff(,)31 b(gn)m(utls)p 1035 -608 V 41 w(x509)p 1259 608 V 41 w(sub)5 b(ject)p 1586 -608 V 40 w(alt)p 1731 608 V 41 w(name)p 1984 608 V 40 -w(t)31 b Fe(nt)12 b Ff(,)30 b(const)h(v)m(oid)g(*)g Fe(data)12 -b Ff(,)31 b(unsigned)e(in)m(t)565 718 y Fe(data_size)12 -b Ff(,)33 b(unsigned)c(in)m(t)i Fe(flags)12 b Fg(\))390 -827 y Ff(crq)r FB(:)41 b(a)31 b(certi\014cate)h(of)e(t)m(yp)s(e)h -Fs(gnutls_x509_crq_t)390 965 y Ff(n)m(t)r FB(:)41 b(is)30 -b(one)h(of)g(the)f Fs(gnutls_x509_subject_alt_n)o(ame)o(_t)24 -b FB(en)m(umerations)390 1102 y Ff(data)p FB(:)41 b(The)30 -b(data)h(to)g(b)s(e)f(set)390 1240 y Ff(data)p 572 1240 -V 41 w(size)5 b FB(:)41 b(The)30 b(size)i(of)e(data)h(to)g(b)s(e)f(set) -390 1377 y Ff(\015ags)t FB(:)41 b Fs(GNUTLS_FSAN_SET)26 -b FB(to)31 b(clear)g(previous)f(data)h(or)g Fs(GNUTLS_FSAN_APPEND)25 -b FB(to)31 b(app)s(end.)390 1515 y(This)k(function)h(will)g(set)h(the)f -(sub)5 b(ject)36 b(alternativ)m(e)i(name)e(certi\014cate)j(extension.) -58 b(It)36 b(can)g(set)390 1625 y(the)31 b(follo)m(wing)g(t)m(yp)s(es:) -390 1762 y(&GNUTLS)p 848 1762 V 39 w(SAN)p 1074 1762 -V 40 w(DNSNAME:)h(as)e(a)h(text)g(string)390 1900 y(&GNUTLS)p -848 1900 V 39 w(SAN)p 1074 1900 V 40 w(RF)m(C822NAME:)i(as)e(a)g(text)g -(string)390 2037 y(&GNUTLS)p 848 2037 V 39 w(SAN)p 1074 -2037 V 40 w(URI:)g(as)f(a)h(text)h(string)390 2175 y(&GNUTLS)p -848 2175 V 39 w(SAN)p 1074 2175 V 40 w(IP)-8 b(ADDRESS:)31 -b(as)f(a)h(binary)f(IP)g(address)f(\(4)i(or)g(16)g(b)m(ytes\))390 -2312 y(Other)f(v)-5 b(alues)31 b(can)f(b)s(e)g(set)h(as)g(binary)e(v)-5 -b(alues)31 b(with)f(the)g(prop)s(er)f(DER)i(enco)s(ding.)390 -2450 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 2587 y Fn(Since:)41 b FB(2.8.0)150 2789 y -Fu(gn)m(utls)p 483 2789 37 5 v 55 w(x509)p 786 2789 V -54 w(crq)p 1010 2789 V 54 w(set)p 1216 2789 V 54 w(v)m(ersion)3350 -2989 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_v)q -(ersi)q(on)f Fg(\()p Ff(gn)m(utls)p 2098 2989 28 4 v -41 w(x509)p 2322 2989 V 41 w(crq)p 2487 2989 V 40 w(t)31 -b Fe(crq)12 b Ff(,)31 b(unsigned)565 3099 y(in)m(t)g -Fe(version)12 b Fg(\))390 3208 y Ff(crq)r FB(:)41 b(should)29 -b(con)m(tain)j(a)f(gn)m(utls)p 1513 3208 V 40 w(x509)p -1736 3208 V 41 w(crq)p 1901 3208 V 40 w(t)g(structure)390 -3346 y Ff(v)m(ersion)p FB(:)41 b(holds)30 b(the)h(v)m(ersion)f(n)m(um)m -(b)s(er.)40 b(F)-8 b(or)31 b(v1)g(Requests)f(m)m(ust)h(b)s(e)e(1.)390 -3483 y(This)c(function)g(will)i(set)f(the)g(v)m(ersion)g(of)g(the)g +%%Page: 195 201 +TeXDict begin 195 200 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(195)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crq)p 1010 299 V 54 w(set)p 1216 299 V 54 w(k)m(ey)3350 +480 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_k)q +(ey)f Fg(\()p Ff(gn)m(utls)p 1889 480 28 4 v 40 w(x509)p +2112 480 V 42 w(crq)p 2278 480 V 40 w(t)30 b Fe(crq)p +Ff(,)565 590 y(gn)m(utls)p 811 590 V 41 w(x509)p 1035 +590 V 41 w(privk)m(ey)p 1369 590 V 40 w(t)h Fe(key)12 +b Fg(\))390 699 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1513 699 V 40 w(x509)p 1736 699 V 41 w(crq)p +1901 699 V 40 w(t)g(structure)390 826 y Ff(k)m(ey)8 b +FB(:)41 b(holds)30 b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 +953 y(This)24 b(function)h(will)g(set)h(the)f(public)f(parameters)i +(from)e(the)h(giv)m(en)h(priv)-5 b(ate)26 b(k)m(ey)g(to)f(the)h +(request.)390 1062 y(Only)k(RSA)g(k)m(eys)h(are)f(curren)m(tly)h(supp)s +(orted.)390 1189 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1373 y Fv(gn)m(utls)p +483 1373 37 5 v 55 w(x509)p 786 1373 V 54 w(crq)p 1010 +1373 V 54 w(set)p 1216 1373 V 54 w(v)m(ersion)3350 1554 +y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_set_v)q(ersi)q +(on)f Fg(\()p Ff(gn)m(utls)p 2098 1554 28 4 v 41 w(x509)p +2322 1554 V 41 w(crq)p 2487 1554 V 40 w(t)31 b Fe(crq)p +Ff(,)g(unsigned)565 1664 y(in)m(t)g Fe(version)12 b Fg(\))390 +1774 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1513 1774 V 40 w(x509)p 1736 1774 V 41 w(crq)p 1901 1774 +V 40 w(t)g(structure)390 1900 y Ff(v)m(ersion)p FB(:)41 +b(holds)30 b(the)h(v)m(ersion)f(n)m(um)m(b)s(er.)40 b(F)-8 +b(or)31 b(v1)g(Requests)f(m)m(ust)h(b)s(e)e(1.)390 2027 +y(This)c(function)g(will)i(set)f(the)g(v)m(ersion)g(of)g(the)g (certi\014cate)i(request.)39 b(F)-8 b(or)27 b(v)m(ersion)f(1)g -(requests)g(this)390 3593 y(m)m(ust)k(b)s(e)g(one.)390 -3730 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(requests)g(this)390 2137 y(m)m(ust)k(b)s(e)g(one.)390 +2263 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3933 y Fu(gn)m(utls)p 483 3933 37 5 v 55 -w(x509)p 786 3933 V 54 w(crq)p 1010 3933 V 54 w(sign2)3350 -4132 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_sign2)f -Fg(\()p Ff(gn)m(utls)p 1784 4132 28 4 v 41 w(x509)p 2008 -4132 V 41 w(crq)p 2173 4132 V 40 w(t)31 b Fe(crq)12 b -Ff(,)565 4242 y(gn)m(utls)p 811 4242 V 41 w(x509)p 1035 -4242 V 41 w(privk)m(ey)p 1369 4242 V 40 w(t)31 b Fe(key)12 -b Ff(,)31 b(gn)m(utls)p 1939 4242 V 40 w(digest)p 2211 -4242 V 41 w(algorithm)p 2635 4242 V 41 w(t)g Fe(dig)12 -b Ff(,)31 b(unsigned)e(in)m(t)565 4352 y Fe(flags)12 -b Fg(\))390 4461 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f -Fs(gnutls_x509_crq_t)25 b FB(structure)390 4599 y Ff(k)m(ey)8 -b FB(:)41 b(holds)30 b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 -4736 y Ff(dig)8 b FB(:)40 b(The)28 b(message)i(digest)g(to)f(use,)g -Fs(GNUTLS_DIG_SHA1)c FB(is)k(the)g(safe)g(c)m(hoice)i(unless)d(y)m(ou)h -(kno)m(w)390 4846 y(what)h(y)m(ou're)h(doing.)390 4983 -y Ff(\015ags)t FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 5121 -y(This)35 b(function)g(will)h(sign)f(the)h(certi\014cate)h(request)f -(with)f(a)h(priv)-5 b(ate)36 b(k)m(ey)-8 b(.)57 b(This)35 -b(m)m(ust)g(b)s(e)g(the)390 5230 y(same)30 b(k)m(ey)g(as)g(the)g(one)g -(used)f(in)g Fs(gnutls_x509_crt_set_key\(\))23 b FB(since)30 -b(a)g(certi\014cate)i(request)390 5340 y(is)e(self)h(signed.)p -eop end -%%Page: 210 216 -TeXDict begin 210 215 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(210)390 299 y(This)30 -b(m)m(ust)h(b)s(e)g(the)g(last)h(step)f(in)g(a)g(certi\014cate)i -(request)e(generation)i(since)e(all)h(the)f(previously)390 -408 y(set)g(parameters)g(are)f(no)m(w)h(signed.)390 547 -y Fn(Returns:)38 b Fs(GNUTLS_E_SUCCESS)21 b FB(on)k(success,)i -(otherwise)f(an)g(error.)38 b Fs(GNUTLS_E_ASN1_VALUE_)390 -657 y(NOT_FOUND)25 b FB(is)i(returned)f(if)i(y)m(ou)f(didn't)g(set)h -(all)g(information)g(in)f(the)g(certi\014cate)j(request)d(\(e.g.,)390 -767 y(the)k(v)m(ersion)f(using)g Fs(gnutls_x509_crq_set_versi)o(on\(\)) -o FB(\).)150 970 y Fu(gn)m(utls)p 483 970 37 5 v 55 w(x509)p -786 970 V 54 w(crq)p 1010 970 V 54 w(sign)3350 1172 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_sign)f -Fg(\()p Ff(gn)m(utls)p 1732 1172 28 4 v 40 w(x509)p 1955 -1172 V 42 w(crq)p 2121 1172 V 40 w(t)30 b Fe(crq)12 b -Ff(,)565 1281 y(gn)m(utls)p 811 1281 V 41 w(x509)p 1035 -1281 V 41 w(privk)m(ey)p 1369 1281 V 40 w(t)31 b Fe(key)12 -b Fg(\))390 1391 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m -(utls)p 1513 1391 V 40 w(x509)p 1736 1391 V 41 w(crq)p -1901 1391 V 40 w(t)g(structure)390 1530 y Ff(k)m(ey)8 -b FB(:)41 b(holds)30 b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 -1669 y(This)h(function)h(is)f(the)h(same)h(a)f Fs -(gnutls_x509_crq_sign2\(\))26 b FB(with)33 b(no)g(\015ags,)g(and)g -(SHA1)g(as)390 1778 y(the)e(hash)e(algorithm.)390 1917 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2121 y Fu(gn)m(utls)p 483 2121 37 5 v 55 -w(x509)p 786 2121 V 54 w(crt)p 993 2121 V 54 w(c)m(hec)m(k)p -1340 2121 V 52 w(hostname)3350 2322 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_check)q(_hos)q(tna)q(me)f -Fg(\()p Ff(gn)m(utls)p 2255 2322 28 4 v 41 w(x509)p 2479 -2322 V 41 w(crt)p 2631 2322 V 40 w(t)31 b Fe(cert)12 -b Ff(,)565 2432 y(const)31 b(c)m(har)g(*)f Fe(hostname)12 -b Fg(\))390 2541 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(an)g -(gn)m(utls)p 1591 2541 V 40 w(x509)p 1814 2541 V 42 w(crt)p -1967 2541 V 40 w(t)g(structure)390 2680 y Ff(hostname)5 +b(alue.)150 2447 y Fv(gn)m(utls)p 483 2447 37 5 v 55 +w(x509)p 786 2447 V 54 w(crq)p 1010 2447 V 54 w(sign2)3350 +2629 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_sign2)f +Fg(\()p Ff(gn)m(utls)p 1784 2629 28 4 v 41 w(x509)p 2008 +2629 V 41 w(crq)p 2173 2629 V 40 w(t)31 b Fe(crq)p Ff(,)565 +2738 y(gn)m(utls)p 811 2738 V 41 w(x509)p 1035 2738 V +41 w(privk)m(ey)p 1369 2738 V 40 w(t)d Fe(key)p Ff(,)i(gn)m(utls)p +1923 2738 V 40 w(digest)p 2195 2738 V 41 w(algorithm)p +2619 2738 V 41 w(t)f Fe(dig)p Ff(,)g(unsigned)e(in)m(t)i +Fe(flags)12 b Fg(\))390 2848 y Ff(crq)r FB(:)41 b(should)29 +b(con)m(tain)j(a)f Ft(gnutls_x509_crq_t)25 b FB(structure)390 +2974 y Ff(k)m(ey)8 b FB(:)41 b(holds)30 b(a)h(priv)-5 +b(ate)31 b(k)m(ey)390 3101 y Ff(dig)8 b FB(:)40 b(The)28 +b(message)i(digest)g(to)f(use,)g Ft(GNUTLS_DIG_SHA1)c +FB(is)k(the)g(safe)g(c)m(hoice)i(unless)d(y)m(ou)h(kno)m(w)390 +3211 y(what)h(y)m(ou're)h(doing.)390 3338 y Ff(\015ags)t +FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 3464 y(This)35 b(function)g(will)h +(sign)f(the)h(certi\014cate)h(request)f(with)f(a)h(priv)-5 +b(ate)36 b(k)m(ey)-8 b(.)57 b(This)35 b(m)m(ust)g(b)s(e)g(the)390 +3574 y(same)30 b(k)m(ey)g(as)g(the)g(one)g(used)f(in)g +Ft(gnutls_x509_crt_set_key\(\))23 b FB(since)30 b(a)g(certi\014cate)i +(request)390 3684 y(is)e(self)h(signed.)390 3810 y(This)f(m)m(ust)h(b)s +(e)g(the)g(last)h(step)f(in)g(a)g(certi\014cate)i(request)e(generation) +i(since)e(all)h(the)f(previously)390 3920 y(set)g(parameters)g(are)f +(no)m(w)h(signed.)390 4047 y Fn(Returns:)38 b Ft(GNUTLS_E_SUCCESS)21 +b FB(on)k(success,)i(otherwise)f(an)g(error.)38 b Ft +(GNUTLS_E_ASN1_VALUE_)390 4156 y(NOT_FOUND)25 b FB(is)i(returned)f(if)i +(y)m(ou)f(didn't)g(set)h(all)g(information)g(in)f(the)g(certi\014cate)j +(request)d(\(e.g.,)390 4266 y(the)k(v)m(ersion)f(using)g +Ft(gnutls_x509_crq_set_versi)o(on\(\))o FB(\).)150 4450 +y Fv(gn)m(utls)p 483 4450 37 5 v 55 w(x509)p 786 4450 +V 54 w(crq)p 1010 4450 V 54 w(sign)3350 4631 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crq_sign)f +Fg(\()p Ff(gn)m(utls)p 1732 4631 28 4 v 40 w(x509)p 1955 +4631 V 42 w(crq)p 2121 4631 V 40 w(t)30 b Fe(crq)p Ff(,)565 +4740 y(gn)m(utls)p 811 4740 V 41 w(x509)p 1035 4740 V +41 w(privk)m(ey)p 1369 4740 V 40 w(t)h Fe(key)12 b Fg(\))390 +4850 y Ff(crq)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1513 4850 V 40 w(x509)p 1736 4850 V 41 w(crq)p 1901 4850 +V 40 w(t)g(structure)390 4977 y Ff(k)m(ey)8 b FB(:)41 +b(holds)30 b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 5104 y(This)h(function)h +(is)f(the)h(same)h(a)f Ft(gnutls_x509_crq_sign2\(\))26 +b FB(with)33 b(no)g(\015ags,)g(and)g(SHA1)g(as)390 5213 +y(the)e(hash)e(algorithm.)390 5340 y Fn(Returns:)36 b +FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)p eop end +%%Page: 196 202 +TeXDict begin 196 201 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(196)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crt)p 993 299 V 54 w(c)m(hec)m(k)p 1340 299 V 52 w(hostname)3350 +497 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_check)q +(_hos)q(tna)q(me)f Fg(\()p Ff(gn)m(utls)p 2255 497 28 +4 v 41 w(x509)p 2479 497 V 41 w(crt)p 2631 497 V 40 w(t)29 +b Fe(cert)p Ff(,)i(const)565 607 y(c)m(har)g(*)g Fe(hostname)12 +b Fg(\))390 716 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(an)g(gn) +m(utls)p 1591 716 V 40 w(x509)p 1814 716 V 42 w(crt)p +1967 716 V 40 w(t)g(structure)390 852 y Ff(hostname)5 b FB(:)41 b(A)31 b(n)m(ull)f(terminated)h(string)f(that)h(con)m(tains)h -(a)e(DNS)h(name)390 2819 y(This)26 b(function)g(will)h(c)m(hec)m(k)i -(if)d(the)h(giv)m(en)h(certi\014cate's)h(sub)5 b(ject)26 -b(matc)m(hes)i(the)f(giv)m(en)g(hostname.)390 2929 y(This)42 +(a)e(DNS)h(name)390 988 y(This)26 b(function)g(will)h(c)m(hec)m(k)i(if) +d(the)h(giv)m(en)h(certi\014cate's)h(sub)5 b(ject)26 +b(matc)m(hes)i(the)f(giv)m(en)g(hostname.)390 1097 y(This)42 b(is)g(a)h(basic)g(implemen)m(tation)i(of)d(the)h(matc)m(hing)h -(describ)s(ed)d(in)h(RF)m(C2818)j(\(HTTPS\),)390 3039 +(describ)s(ed)d(in)h(RF)m(C2818)j(\(HTTPS\),)390 1207 y(whic)m(h)24 b(tak)m(es)h(in)m(to)h(accoun)m(t)f(wildcards,)g(and)f (the)g(DNSName/IP)-8 b(Address)25 b(sub)5 b(ject)24 b(alternativ)m(e) -390 3148 y(name)30 b(PKIX)g(extension.)390 3287 y Fn(Returns:)40 +390 1317 y(name)30 b(PKIX)g(extension.)390 1453 y Fn(Returns:)40 b FB(non)30 b(zero)h(for)f(a)h(successful)f(matc)m(h,)i(and)e(zero)h -(on)f(failure.)150 3491 y Fu(gn)m(utls)p 483 3491 37 -5 v 55 w(x509)p 786 3491 V 54 w(crt)p 993 3491 V 54 w(c)m(hec)m(k)p -1340 3491 V 52 w(issuer)3350 3692 y FB([F)-8 b(unction])-3599 +(on)f(failure.)150 1653 y Fv(gn)m(utls)p 483 1653 37 +5 v 55 w(x509)p 786 1653 V 54 w(crt)p 993 1653 V 54 w(c)m(hec)m(k)p +1340 1653 V 52 w(issuer)3350 1851 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_check)q(_iss)q(uer)f Fg(\()p -Ff(gn)m(utls)p 2150 3692 28 4 v 41 w(x509)p 2374 3692 -V 41 w(crt)p 2526 3692 V 41 w(t)30 b Fe(cert)12 b Ff(,)565 -3802 y(gn)m(utls)p 811 3802 V 41 w(x509)p 1035 3802 V -41 w(crt)p 1187 3802 V 40 w(t)31 b Fe(issuer)12 b Fg(\))390 -3911 y Ff(cert)r FB(:)41 b(is)31 b(the)f(certi\014cate)j(to)e(b)s(e)f -(c)m(hec)m(k)m(ed)390 4050 y Ff(issuer)7 b FB(:)40 b(is)30 +Ff(gn)m(utls)p 2150 1851 28 4 v 41 w(x509)p 2374 1851 +V 41 w(crt)p 2526 1851 V 41 w(t)30 b Fe(cert)p Ff(,)565 +1961 y(gn)m(utls)p 811 1961 V 41 w(x509)p 1035 1961 V +41 w(crt)p 1187 1961 V 40 w(t)h Fe(issuer)12 b Fg(\))390 +2070 y Ff(cert)r FB(:)41 b(is)31 b(the)f(certi\014cate)j(to)e(b)s(e)f +(c)m(hec)m(k)m(ed)390 2206 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(a)f(p)s(ossible)g(issuer)390 -4189 y(This)g(function)g(will)g(c)m(hec)m(k)i(if)f(the)f(giv)m(en)i -(certi\014cate)g(w)m(as)f(issued)e(b)m(y)i(the)f(giv)m(en)i(issuer.)390 -4328 y Fn(Returns:)48 b FB(It)34 b(will)g(return)f(true)h(\(1\))h(if)f -(the)g(giv)m(en)h(certi\014cate)i(is)d(issued)f(b)m(y)h(the)g(giv)m(en) -h(issuer,)390 4438 y(and)30 b(false)h(\(0\))g(if)g(not.)41 -b(A)30 b(negativ)m(e)j(v)-5 b(alue)31 b(is)f(returned)f(in)h(case)i(of) -e(an)g(error.)150 4642 y Fu(gn)m(utls)p 483 4642 37 5 -v 55 w(x509)p 786 4642 V 54 w(crt)p 993 4642 V 54 w(c)m(hec)m(k)p -1340 4642 V 52 w(rev)m(o)s(cation)3350 4843 y FB([F)-8 +2342 y(This)f(function)g(will)h(c)m(hec)m(k)i(if)d(the)h(giv)m(en)h +(certi\014cate)h(w)m(as)e(issued)f(b)m(y)g(the)h(giv)m(en)h(issuer.)40 +b(It)30 b(will)390 2452 y(return)36 b(true)g(\(1\))i(if)f(the)g(giv)m +(en)h(certi\014cate)h(is)e(issued)f(b)m(y)h(the)g(giv)m(en)h(issuer,)g +(and)e(false)i(\(0\))g(if)390 2561 y(not.)390 2697 y(A)30 +b(negativ)m(e)j(v)-5 b(alue)31 b(is)f(returned)g(in)g(case)h(of)g(an)f +(error.)150 2898 y Fv(gn)m(utls)p 483 2898 37 5 v 55 +w(x509)p 786 2898 V 54 w(crt)p 993 2898 V 54 w(c)m(hec)m(k)p +1340 2898 V 52 w(rev)m(o)s(cation)3350 3096 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_check)q(_rev)q(oca)q -(tio)q(n)e Fg(\()p Ff(gn)m(utls)p 2359 4843 28 4 v 41 -w(x509)p 2583 4843 V 41 w(crt)p 2735 4843 V 41 w(t)31 -b Fe(cert)12 b Ff(,)565 4952 y(const)31 b(gn)m(utls)p -1049 4952 V 40 w(x509)p 1272 4952 V 42 w(crl)p 1415 4952 -V 40 w(t)g(*)f Fe(crl_list)12 b Ff(,)33 b(in)m(t)e Fe(crl_list_length) -12 b Fg(\))390 5062 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 5201 y Ff(crl)p -497 5201 V 40 w(list)r FB(:)42 b(should)29 b(con)m(tain)j(a)e(list)h -(of)g(gn)m(utls)p 1907 5201 V 40 w(x509)p 2130 5201 V -42 w(crl)p 2273 5201 V 40 w(t)g(structures)390 5340 y -Ff(crl)p 497 5340 V 40 w(list)p 658 5340 V 41 w(length)p -FB(:)41 b(the)31 b(length)f(of)h(the)g(crl)p 1808 5340 -V 40 w(list)p eop end -%%Page: 211 217 -TeXDict begin 211 216 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(211)390 299 y(This)31 -b(function)h(will)g(return)e(c)m(hec)m(k)k(if)e(the)g(giv)m(en)g -(certi\014cate)i(is)e(rev)m(ok)m(ed.)46 b(It)32 b(is)g(assumed)f(that) -390 408 y(the)g(CRLs)e(ha)m(v)m(e)j(b)s(een)d(v)m(eri\014ed)i(b)s -(efore.)390 544 y Fn(Returns:)36 b FB(0)23 b(if)g(the)f(certi\014cate)j -(is)d(NOT)g(rev)m(ok)m(ed,)k(and)21 b(1)i(if)g(it)f(is.)39 -b(A)22 b(negativ)m(e)j(v)-5 b(alue)23 b(is)f(returned)390 -653 y(on)30 b(error.)150 853 y Fu(gn)m(utls)p 483 853 -37 5 v 55 w(x509)p 786 853 V 54 w(crt)p 993 853 V 54 -w(cp)m(y)p 1232 853 V 53 w(crl)p 1424 853 V 54 w(dist)p -1676 853 V 54 w(p)s(oin)m(ts)3350 1051 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_cpy_c)q(rl_d)q(ist)q(_po)q(int)q(s)e -Fg(\()p Ff(gn)m(utls)p 2516 1051 28 4 v 41 w(x509)p 2740 -1051 V 41 w(crt)p 2892 1051 V 41 w(t)30 b Fe(dst)12 b -Ff(,)565 1160 y(gn)m(utls)p 811 1160 V 41 w(x509)p 1035 -1160 V 41 w(crt)p 1187 1160 V 40 w(t)31 b Fe(src)12 b -Fg(\))390 1270 y Ff(dst)r FB(:)40 b(a)31 b(certi\014cate)i(of)d(t)m(yp) -s(e)h Fs(gnutls_x509_crt_t)390 1405 y Ff(src)6 b FB(:)40 -b(the)31 b(certi\014cate)h(where)e(the)g(dist)h(p)s(oin)m(ts)f(will)h -(b)s(e)e(copied)i(from)390 1541 y(This)37 b(function)g(will)h(cop)m(y)g -(the)f(CRL)g(distribution)g(p)s(oin)m(ts)g(certi\014cate)j(extension,)g -(from)d(the)390 1650 y(source)25 b(to)i(the)e(destination)h -(certi\014cate.)41 b(This)25 b(ma)m(y)h(b)s(e)e(useful)h(to)h(cop)m(y)g -(from)f(a)h(CA)f(certi\014cate)390 1760 y(to)31 b(issued)f(ones.)390 -1895 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(tio)q(n)e Fg(\()p Ff(gn)m(utls)p 2359 3096 28 4 v 41 +w(x509)p 2583 3096 V 41 w(crt)p 2735 3096 V 41 w(t)31 +b Fe(cert)p Ff(,)565 3205 y(const)g(gn)m(utls)p 1049 +3205 V 40 w(x509)p 1272 3205 V 42 w(crl)p 1415 3205 V +40 w(t)g(*)f Fe(crl_list)p Ff(,)j(in)m(t)e Fe(crl_list_length)12 +b Fg(\))390 3315 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 3451 y Ff(crl)p +497 3451 V 40 w(list)r FB(:)42 b(should)29 b(con)m(tain)j(a)e(list)h +(of)g(gn)m(utls)p 1907 3451 V 40 w(x509)p 2130 3451 V +42 w(crl)p 2273 3451 V 40 w(t)g(structures)390 3587 y +Ff(crl)p 497 3587 V 40 w(list)p 658 3587 V 41 w(length)p +FB(:)41 b(the)31 b(length)f(of)h(the)g(crl)p 1808 3587 +V 40 w(list)390 3723 y(This)g(function)h(will)g(return)e(c)m(hec)m(k)k +(if)e(the)g(giv)m(en)g(certi\014cate)i(is)e(rev)m(ok)m(ed.)46 +b(It)32 b(is)g(assumed)f(that)390 3832 y(the)g(CRLs)e(ha)m(v)m(e)j(b)s +(een)d(v)m(eri\014ed)i(b)s(efore.)390 3968 y Fn(Returns:)36 +b FB(0)23 b(if)g(the)f(certi\014cate)j(is)d(NOT)g(rev)m(ok)m(ed,)k(and) +21 b(1)i(if)g(it)f(is.)39 b(A)22 b(negativ)m(e)j(v)-5 +b(alue)23 b(is)f(returned)390 4078 y(on)30 b(error.)150 +4278 y Fv(gn)m(utls)p 483 4278 37 5 v 55 w(x509)p 786 +4278 V 54 w(crt)p 993 4278 V 54 w(cp)m(y)p 1232 4278 +V 53 w(crl)p 1424 4278 V 54 w(dist)p 1676 4278 V 54 w(p)s(oin)m(ts)3350 +4476 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_cpy_c)q +(rl_d)q(ist)q(_po)q(int)q(s)e Fg(\()p Ff(gn)m(utls)p +2516 4476 28 4 v 41 w(x509)p 2740 4476 V 41 w(crt)p 2892 +4476 V 41 w(t)30 b Fe(dst)p Ff(,)565 4586 y(gn)m(utls)p +811 4586 V 41 w(x509)p 1035 4586 V 41 w(crt)p 1187 4586 +V 40 w(t)h Fe(src)12 b Fg(\))390 4696 y Ff(dst)r FB(:)40 +b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1510 4696 +V 41 w(x509)p 1734 4696 V 41 w(crt)p 1886 4696 V 40 w(t)g(structure)390 +4831 y Ff(src)6 b FB(:)40 b(the)31 b(certi\014cate)h(where)e(the)g +(dist)h(p)s(oin)m(ts)f(will)h(b)s(e)e(copied)i(from)390 +4967 y(This)37 b(function)g(will)h(cop)m(y)g(the)f(CRL)g(distribution)g +(p)s(oin)m(ts)g(certi\014cate)j(extension,)g(from)d(the)390 +5077 y(source)25 b(to)i(the)e(destination)h(certi\014cate.)41 +b(This)25 b(ma)m(y)h(b)s(e)e(useful)h(to)h(cop)m(y)g(from)f(a)h(CA)f +(certi\014cate)390 5186 y(to)31 b(issued)f(ones.)390 +5322 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2095 y Fu(gn)m(utls)p 483 2095 37 5 v 55 -w(x509)p 786 2095 V 54 w(crt)p 993 2095 V 54 w(deinit)3350 -2293 y FB([F)d(unction])-3599 b Fh(void)54 b(gnutls_x509_crt_deinit)e -Fg(\()p Ff(gn)m(utls)p 1889 2293 28 4 v 40 w(x509)p 2112 -2293 V 42 w(crt)p 2265 2293 V 40 w(t)31 b Fe(cert)12 -b Fg(\))390 2402 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) -f(initialized)390 2538 y(This)g(function)g(will)g(deinitialize)j(a)e -(CRL)e(structure.)150 2738 y Fu(gn)m(utls)p 483 2738 -37 5 v 55 w(x509)p 786 2738 V 54 w(crt)p 993 2738 V 54 -w(exp)s(ort)3350 2935 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_expor)q(t)e Fg(\()p Ff(gn)m(utls)p -1836 2935 28 4 v 41 w(x509)p 2060 2935 V 41 w(crt)p 2212 -2935 V 41 w(t)30 b Fe(cert)12 b Ff(,)565 3045 y(gn)m(utls)p -811 3045 V 41 w(x509)p 1035 3045 V 41 w(crt)p 1187 3045 -V 40 w(fm)m(t)p 1363 3045 V 41 w(t)30 b Fe(format)12 -b Ff(,)32 b(v)m(oid)f(*)g Fe(output_data)12 b Ff(,)33 -b(size)p 2906 3045 V 41 w(t)e(*)565 3154 y Fe(output_data_size)12 -b Fg(\))390 3264 y Ff(cert)r FB(:)41 b(Holds)31 b(the)g(certi\014cate) -390 3399 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f -(params.)40 b(One)30 b(of)h(PEM)f(or)g(DER.)390 3534 -y Ff(output)p 664 3534 V 40 w(data)p FB(:)41 b(will)31 +b(alue.)p eop end +%%Page: 197 203 +TeXDict begin 197 202 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(197)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crt)p 993 299 V 54 w(deinit)3350 519 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_x509_crt_deinit)e Fg(\()p Ff(gn)m(utls)p +1889 519 28 4 v 40 w(x509)p 2112 519 V 42 w(crt)p 2265 +519 V 40 w(t)31 b Fe(cert)12 b Fg(\))390 629 y Ff(cert)r +FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 +786 y(This)g(function)g(will)g(deinitialize)j(a)e(CRL)e(structure.)150 +1009 y Fv(gn)m(utls)p 483 1009 37 5 v 55 w(x509)p 786 +1009 V 54 w(crt)p 993 1009 V 54 w(exp)s(ort)3350 1229 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_expor)q(t)e +Fg(\()p Ff(gn)m(utls)p 1836 1229 28 4 v 41 w(x509)p 2060 +1229 V 41 w(crt)p 2212 1229 V 41 w(t)30 b Fe(cert)p Ff(,)565 +1338 y(gn)m(utls)p 811 1338 V 41 w(x509)p 1035 1338 V +41 w(crt)p 1187 1338 V 40 w(fm)m(t)p 1363 1338 V 41 w(t)g +Fe(format)p Ff(,)j(v)m(oid)e(*)f Fe(output_data)p Ff(,)k(size)p +2883 1338 V 41 w(t)d(*)565 1448 y Fe(output_data_size)12 +b Fg(\))390 1558 y Ff(cert)r FB(:)41 b(Holds)31 b(the)g(certi\014cate) +390 1715 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f +(params.)40 b(One)30 b(of)h(PEM)f(or)g(DER.)390 1873 +y Ff(output)p 664 1873 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(certi\014cate)j(PEM)d(or)g(DER)h(enco)s(ded)390 -3670 y Ff(output)p 664 3670 V 40 w(data)p 880 3670 V +2031 y Ff(output)p 664 2031 V 40 w(data)p 880 2031 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p -2093 3670 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 3779 y(size)c(of)g(parameters\))390 3915 +2093 2031 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 2141 y(size)c(of)g(parameters\))390 2298 y(This)f(function)g(will)g(exp)s(ort)g(the)h(certi\014cate)h(to)g(DER)e -(or)h(PEM)f(format.)390 4050 y(If)g(the)h(bu\013er)f(pro)m(vided)g(is)g +(or)h(PEM)f(format.)390 2456 y(If)g(the)h(bu\013er)f(pro)m(vided)g(is)g (not)h(long)h(enough)e(to)h(hold)g(the)f(output,)h(then)f(*output)p -3357 4050 V 40 w(data)p 3573 4050 V 41 w(size)390 4159 -y(is)g(up)s(dated)f(and)h(GNUTLS)p 1401 4159 V 40 w(E)p -1503 4159 V 40 w(SHOR)-8 b(T)p 1858 4159 V 39 w(MEMOR)g(Y)p -2323 4159 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 -4295 y(If)f(the)h(structure)f(is)h(PEM)g(enco)s(ded,)g(it)g(will)g(ha)m -(v)m(e)h(a)f(header)g(of)g Fs(")p FB(BEGIN)g(CER)-8 b(TIFICA)g(TE)p -Fs(")p FB(.)390 4430 y Fn(Return)30 b(v)-5 b(alue:)41 +3357 2456 V 40 w(data)p 3573 2456 V 41 w(size)390 2566 +y(is)g(up)s(dated)f(and)h(GNUTLS)p 1401 2566 V 40 w(E)p +1503 2566 V 40 w(SHOR)-8 b(T)p 1858 2566 V 39 w(MEMOR)g(Y)p +2323 2566 V 41 w(BUFFER)31 b(will)g(b)s(e)f(returned.)390 +2723 y(If)f(the)h(structure)f(is)h(PEM)g(enco)s(ded,)g(it)g(will)g(ha)m +(v)m(e)h(a)f(header)g(of)g Ft(")p FB(BEGIN)g(CER)-8 b(TIFICA)g(TE)p +Ft(")p FB(.)390 2881 y Fn(Return)30 b(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f(a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0)h(on)f(success.)150 -4630 y Fu(gn)m(utls)p 483 4630 37 5 v 55 w(x509)p 786 -4630 V 54 w(crt)p 993 4630 V 54 w(get)p 1212 4630 V 54 -w(activ)-7 b(ation)p 1792 4630 V 53 w(time)3350 4828 +3104 y Fv(gn)m(utls)p 483 3104 37 5 v 55 w(x509)p 786 +3104 V 54 w(crt)p 993 3104 V 54 w(get)p 1212 3104 V 54 +w(activ)-7 b(ation)p 1792 3104 V 53 w(time)3350 3324 y FB([F)f(unction])-3599 b Fh(time_t)54 b(gnutls_x509_crt_get_ac)q(tiv) -q(ati)q(on_)q(time)e Fg(\()p Ff(gn)m(utls)p 2673 4828 -28 4 v 41 w(x509)p 2897 4828 V 41 w(crt)p 3049 4828 V -41 w(t)565 4937 y Fe(cert)12 b Fg(\))390 5047 y Ff(cert)r -FB(:)41 b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 5182 y(This)k(function)g(will)g(return)g(the)g(time) +q(ati)q(on_)q(time)e Fg(\()p Ff(gn)m(utls)p 2673 3324 +28 4 v 41 w(x509)p 2897 3324 V 41 w(crt)p 3049 3324 V +41 w(t)565 3433 y Fe(cert)12 b Fg(\))390 3543 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 3701 y(This)k(function)g(will)g(return)g(the)g(time) h(this)g(Certi\014cate)g(w)m(as)g(or)f(will)h(b)s(e)f(activ)-5 -b(ated.)390 5317 y Fn(Returns:)40 b FB(activ)-5 b(ation)33 -b(time,)e(or)g(\(time)p 1761 5317 V 41 w(t\)-1)h(on)e(error.)p -eop end -%%Page: 212 218 -TeXDict begin 212 217 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(212)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(authorit)m(y)p -1765 299 V 53 w(k)m(ey)p 2001 299 V 53 w(id)3350 484 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_a)q(utho) -q(rit)q(y_k)q(ey_)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 -484 28 4 v 40 w(x509)p 2792 484 V 42 w(crt)p 2945 484 -V 40 w(t)565 594 y Fe(cert)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(ret)12 b Ff(,)31 b(size)p 1485 594 V 41 w(t)g(*)f -Fe(ret_size)12 b Ff(,)33 b(unsigned)c(in)m(t)i(*)g Fe(critical)12 -b Fg(\))390 703 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 832 y Ff(ret)r -FB(:)41 b(The)30 b(place)h(where)f(the)h(iden)m(ti\014er)f(will)h(b)s -(e)f(copied)390 960 y Ff(ret)p 507 960 V 40 w(size)5 -b FB(:)42 b(Holds)31 b(the)f(size)h(of)g(the)f(result)h(\014eld.)390 -1089 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) +b(ated.)390 3858 y Fn(Returns:)40 b FB(activ)-5 b(ation)33 +b(time,)e(or)g(\(time)p 1761 3858 V 41 w(t\)-1)h(on)e(error.)150 +4081 y Fv(gn)m(utls)p 483 4081 37 5 v 55 w(x509)p 786 +4081 V 54 w(crt)p 993 4081 V 54 w(get)p 1212 4081 V 54 +w(authorit)m(y)p 1765 4081 V 53 w(k)m(ey)p 2001 4081 +V 53 w(id)3350 4301 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_x509_crt_get_a)q(utho)q(rit)q(y_k)q(ey_)q(id)f +Fg(\()p Ff(gn)m(utls)p 2569 4301 28 4 v 40 w(x509)p 2792 +4301 V 42 w(crt)p 2945 4301 V 40 w(t)565 4411 y Fe(cert)p +Ff(,)32 b(v)m(oid)f(*)g Fe(ret)p Ff(,)g(size)p 1462 4411 +V 41 w(t)g(*)f Fe(ret_size)p Ff(,)j(unsigned)d(in)m(t)h(*)f +Fe(critical)12 b Fg(\))390 4520 y Ff(cert)r FB(:)41 b(should)30 +b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 b FB(structure)390 +4678 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) h(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))390 1218 y(This)38 b(function)g(will)h(return)e(the)i(X.509v3)i +(ull\))390 4836 y(This)38 b(function)g(will)h(return)e(the)i(X.509v3)i (certi\014cate)g(authorit)m(y's)e(k)m(ey)h(iden)m(ti\014er.)65 -b(This)38 b(is)390 1327 y(obtained)29 b(b)m(y)f(the)h(X.509)h(Authorit) +b(This)38 b(is)390 4945 y(obtained)29 b(b)m(y)f(the)h(X.509)h(Authorit) m(y)f(Key)g(iden)m(ti\014er)f(extension)h(\014eld)f(\(2.5.29.35\).)45 -b(Note)29 b(that)390 1437 y(this)h(function)g(only)h(returns)e(the)i(k) +b(Note)29 b(that)390 5055 y(this)h(function)g(only)h(returns)e(the)i(k) m(eyIden)m(ti\014er)g(\014eld)e(of)i(the)g(extension.)390 -1565 y Fn(Returns:)73 b FB(On)47 b(success,)k Fs(GNUTLS_E_SUCCESS)42 +5213 y Fn(Returns:)73 b FB(On)47 b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 -1675 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 -b(in)f(case)h(of)g(an)f(error.)150 1863 y Fu(gn)m(utls)p -483 1863 37 5 v 55 w(x509)p 786 1863 V 54 w(crt)p 993 -1863 V 54 w(get)p 1212 1863 V 54 w(basic)p 1531 1863 -V 54 w(constrain)m(ts)3350 2048 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_get_b)q(asic)q(_co)q(nst)q(rai)q(nts)f -Fg(\()p Ff(gn)m(utls)p 2621 2048 28 4 v 41 w(x509)p 2845 -2048 V 41 w(crt)p 2997 2048 V 40 w(t)565 2157 y Fe(cert)12 -b Ff(,)31 b(unsigned)f(in)m(t)h(*)f Fe(critical)12 b -Ff(,)33 b(in)m(t)e(*)g Fe(ca)12 b Ff(,)30 b(in)m(t)h(*)g -Fe(pathlen)12 b Fg(\))390 2267 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -2395 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) -h(extension)g(is)f(mark)m(ed)g(as)h(critical)390 2524 -y Ff(ca)p FB(:)50 b(p)s(oin)m(ter)34 b(to)h(output)f(in)m(teger)i -(indicating)f(CA)f(status,)i(ma)m(y)f(b)s(e)f(NULL,)g(v)-5 -b(alue)35 b(is)g(1)f(if)h(the)390 2634 y(certi\014cate)d(CA)f(\015ag)f -(is)h(set,)g(0)g(otherwise.)390 2762 y Ff(pathlen)p FB(:)72 -b(p)s(oin)m(ter)45 b(to)i(output)e(in)m(teger)i(indicating)g(path)f -(length)g(\(ma)m(y)h(b)s(e)e(NULL\),)h(non-)390 2872 -y(negativ)m(e)39 b(v)-5 b(alues)37 b(indicate)h(a)g(presen)m(t)f -(pathLenConstrain)m(t)g(\014eld)f(and)h(the)g(actual)h(v)-5 -b(alue,)39 b(-1)390 2981 y(indicate)31 b(that)g(the)g(\014eld)f(is)g -(absen)m(t.)390 3110 y(This)i(function)h(will)h(read)f(the)h +5322 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 +b(in)f(case)h(of)g(an)f(error.)p eop end +%%Page: 198 204 +TeXDict begin 198 203 bop 150 -116 a FB(Chapter)30 b(9:)h(F)-8 +b(unction)31 b(Reference)2247 b(198)150 299 y Fv(gn)m(utls)p +483 299 37 5 v 55 w(x509)p 786 299 V 54 w(crt)p 993 299 +V 54 w(get)p 1212 299 V 54 w(basic)p 1531 299 V 54 w(constrain)m(ts) +3350 494 y FB([F)-8 b(unction])-3599 b Fh(int)53 b +(gnutls_x509_crt_get_b)q(asic)q(_co)q(nst)q(rai)q(nts)f +Fg(\()p Ff(gn)m(utls)p 2621 494 28 4 v 41 w(x509)p 2845 +494 V 41 w(crt)p 2997 494 V 40 w(t)565 603 y Fe(cert)p +Ff(,)32 b(unsigned)d(in)m(t)i(*)g Fe(critical)p Ff(,)i(in)m(t)e(*)f +Fe(ca)p Ff(,)i(in)m(t)e(*)h Fe(pathlen)12 b Fg(\))390 +713 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 847 y Ff(critical)t +FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f +(mark)m(ed)g(as)h(critical)390 980 y Ff(ca)p FB(:)50 +b(p)s(oin)m(ter)34 b(to)h(output)f(in)m(teger)i(indicating)f(CA)f +(status,)i(ma)m(y)f(b)s(e)f(NULL,)g(v)-5 b(alue)35 b(is)g(1)f(if)h(the) +390 1090 y(certi\014cate)d(CA)f(\015ag)f(is)h(set,)g(0)g(otherwise.)390 +1223 y Ff(pathlen)p FB(:)72 b(p)s(oin)m(ter)45 b(to)i(output)e(in)m +(teger)i(indicating)g(path)f(length)g(\(ma)m(y)h(b)s(e)e(NULL\),)h +(non-)390 1333 y(negativ)m(e)39 b(v)-5 b(alues)37 b(indicate)h(a)g +(presen)m(t)f(pathLenConstrain)m(t)g(\014eld)f(and)h(the)g(actual)h(v) +-5 b(alue,)39 b(-1)390 1442 y(indicate)31 b(that)g(the)g(\014eld)f(is)g +(absen)m(t.)390 1576 y(This)i(function)h(will)h(read)f(the)h (certi\014cate's)h(basic)f(constrain)m(ts,)h(and)d(return)h(the)g -(certi\014cates)390 3220 y(CA)d(status.)41 b(It)31 b(reads)f(the)g +(certi\014cates)390 1686 y(CA)d(status.)41 b(It)31 b(reads)f(the)g (basicConstrain)m(ts)h(X.509)i(extension)e(\(2.5.29.19\).)390 -3348 y Fn(Return)40 b(v)-5 b(alue:)61 b FB(If)40 b(the)h(certi\014cate) +1819 y Fn(Return)40 b(v)-5 b(alue:)61 b FB(If)40 b(the)h(certi\014cate) h(is)f(a)g(CA)f(a)h(p)s(ositiv)m(e)g(v)-5 b(alue)41 b(will)g(b)s(e)f -(returned,)i(or)e(zero)390 3458 y(if)f(the)h(certi\014cate)h(do)s(es)f +(returned,)i(or)e(zero)390 1929 y(if)f(the)h(certi\014cate)h(do)s(es)f (not)f(ha)m(v)m(e)i(CA)e(\015ag)h(set.)68 b(A)40 b(negativ)m(e)h(v)-5 -b(alue)40 b(ma)m(y)g(b)s(e)f(returned)f(in)390 3568 y(case)47 +b(alue)40 b(ma)m(y)g(b)s(e)f(returned)f(in)390 2038 y(case)47 b(of)f(errors.)87 b(If)45 b(the)h(certi\014cate)i(do)s(es)d(not)h(con)m -(tain)i(the)e(basicConstrain)m(ts)g(extension)390 3677 -y(GNUTLS)p 777 3677 V 40 w(E)p 879 3677 V 40 w(REQUESTED)p -1497 3677 V 39 w(D)m(A)-8 b(T)g(A)p 1788 3677 V 41 w(NOT)p -2034 3677 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)150 -3865 y Fu(gn)m(utls)p 483 3865 37 5 v 55 w(x509)p 786 -3865 V 54 w(crt)p 993 3865 V 54 w(get)p 1212 3865 V 54 -w(ca)p 1381 3865 V 53 w(status)3350 4050 y FB([F)-8 b(unction])-3599 +(tain)i(the)e(basicConstrain)m(ts)g(extension)390 2148 +y(GNUTLS)p 777 2148 V 40 w(E)p 879 2148 V 40 w(REQUESTED)p +1497 2148 V 39 w(D)m(A)-8 b(T)g(A)p 1788 2148 V 41 w(NOT)p +2034 2148 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)150 +2345 y Fv(gn)m(utls)p 483 2345 37 5 v 55 w(x509)p 786 +2345 V 54 w(crt)p 993 2345 V 54 w(get)p 1212 2345 V 54 +w(ca)p 1381 2345 V 53 w(status)3350 2540 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_c)q(a_st)q(atu)q(s)e -Fg(\()p Ff(gn)m(utls)p 2202 4050 28 4 v 41 w(x509)p 2426 -4050 V 42 w(crt)p 2579 4050 V 40 w(t)31 b Fe(cert)12 -b Ff(,)565 4159 y(unsigned)29 b(in)m(t)i(*)g Fe(critical)12 -b Fg(\))390 4269 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4397 y Ff(critical)t +Fg(\()p Ff(gn)m(utls)p 2202 2540 28 4 v 41 w(x509)p 2426 +2540 V 42 w(crt)p 2579 2540 V 40 w(t)31 b Fe(cert)p Ff(,)565 +2650 y(unsigned)e(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 +2759 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 2893 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f -(mark)m(ed)g(as)h(critical)390 4526 y(This)21 b(function)h(will)h +(mark)m(ed)g(as)h(critical)390 3026 y(This)21 b(function)h(will)h (return)e(certi\014cates)j(CA)d(status,)k(b)m(y)d(reading)g(the)g -(basicConstrain)m(ts)h(X.509)390 4636 y(extension)35 +(basicConstrain)m(ts)h(X.509)390 3136 y(extension)35 b(\(2.5.29.19\).)55 b(If)33 b(the)h(certi\014cate)i(is)e(a)h(CA)e(a)h (p)s(ositiv)m(e)h(v)-5 b(alue)35 b(will)f(b)s(e)f(returned,)h(or)390 -4745 y(zero)d(if)g(the)f(certi\014cate)j(do)s(es)d(not)g(ha)m(v)m(e)i -(CA)e(\015ag)h(set.)390 4874 y(Use)e Fs(gnutls_x509_crt_get_basic)o +3246 y(zero)d(if)g(the)f(certi\014cate)j(do)s(es)d(not)g(ha)m(v)m(e)i +(CA)e(\015ag)h(set.)390 3379 y(Use)e Ft(gnutls_x509_crt_get_basic)o (_co)o(nstr)o(ain)o(ts\(\))22 b FB(if)29 b(y)m(ou)g(w)m(an)m(t)g(to)h -(read)e(the)h(pathLen-)390 4984 y(Constrain)m(t)i(\014eld)f(to)s(o.)390 -5112 y Fn(Returns:)66 b FB(A)43 b(negativ)m(e)i(v)-5 -b(alue)44 b(ma)m(y)g(b)s(e)e(returned)g(in)h(case)h(of)f(parsing)g -(error.)78 b(If)43 b(the)g(cer-)390 5222 y(ti\014cate)29 -b(do)s(es)e(not)h(con)m(tain)h(the)e(basicConstrain)m(ts)h(extension)h -Fs(GNUTLS_E_REQUESTED_DATA)o(_)390 5331 y(NOT_AVAILABLE)e -FB(will)j(b)s(e)g(returned.)p eop end -%%Page: 213 219 -TeXDict begin 213 218 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(213)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(crl)p 1405 -299 V 54 w(dist)p 1657 299 V 54 w(p)s(oin)m(ts)3350 497 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_c)q(rl_d) -q(ist)q(_po)q(int)q(s)e Fg(\()p Ff(gn)m(utls)p 2516 497 -28 4 v 41 w(x509)p 2740 497 V 41 w(crt)p 2892 497 V 41 -w(t)565 606 y Fe(cert)12 b Ff(,)31 b(unsigned)f(in)m(t)h -Fe(seq)12 b Ff(,)31 b(v)m(oid)g(*)f Fe(ret)12 b Ff(,)31 -b(size)p 2227 606 V 41 w(t)g(*)g Fe(ret_size)12 b Ff(,)32 -b(unsigned)d(in)m(t)i(*)565 716 y Fe(reason_flags)12 -b Ff(,)34 b(unsigned)29 b(in)m(t)i(*)g Fe(critical)12 -b Fg(\))390 826 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 961 y Ff(seq)r -FB(:)41 b(sp)s(eci\014es)29 b(the)g(sequence)h(n)m(um)m(b)s(er)e(of)i -(the)g(distribution)f(p)s(oin)m(t)g(\(0)h(for)g(the)f(\014rst)g(one,)h -(1)g(for)390 1071 y(the)h(second)f(etc.\))390 1206 y -Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f(the)h(distribution)e -(p)s(oin)m(t)i(will)g(b)s(e)e(copied)i(to)390 1342 y -Ff(ret)p 507 1342 V 40 w(size)5 b FB(:)42 b(holds)30 -b(the)g(size)i(of)e(ret.)390 1478 y Ff(reason)p 649 1478 +(read)e(the)h(pathLen-)390 3489 y(Constrain)m(t)i(\014eld)f(to)s(o.)390 +3622 y(A)g(negativ)m(e)i(v)-5 b(alue)31 b(ma)m(y)g(b)s(e)e(returned)g +(in)h(case)h(of)f(parsing)g(error.)40 b(If)30 b(the)g(certi\014cate)i +(do)s(es)e(not)390 3732 y(con)m(tain)22 b(the)e(basicConstrain)m(ts)h +(extension)g(GNUTLS)p 2302 3732 V 40 w(E)p 2404 3732 +V 40 w(REQUESTED)p 3022 3732 V 39 w(D)m(A)-8 b(T)g(A)p +3313 3732 V 41 w(NOT)p 3559 3732 V 40 w(A)e(V)g(AILABLE)390 +3842 y(will)31 b(b)s(e)e(returned.)150 4039 y Fv(gn)m(utls)p +483 4039 37 5 v 55 w(x509)p 786 4039 V 54 w(crt)p 993 +4039 V 54 w(get)p 1212 4039 V 54 w(crl)p 1405 4039 V +54 w(dist)p 1657 4039 V 54 w(p)s(oin)m(ts)3350 4234 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_c)q(rl_d)q +(ist)q(_po)q(int)q(s)e Fg(\()p Ff(gn)m(utls)p 2516 4234 +28 4 v 41 w(x509)p 2740 4234 V 41 w(crt)p 2892 4234 V +41 w(t)565 4343 y Fe(cert)p Ff(,)32 b(unsigned)d(in)m(t)i +Fe(seq)p Ff(,)h(v)m(oid)e(*)h Fe(ret)p Ff(,)h(size)p +2193 4343 V 41 w(t)e(*)h Fe(ret_size)p Ff(,)i(unsigned)c(in)m(t)i(*)565 +4453 y Fe(reason_flags)p Ff(,)j(unsigned)c(in)m(t)g(*)h +Fe(critical)12 b Fg(\))390 4563 y Ff(cert)r FB(:)41 b(should)30 +b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 b FB(structure)390 +4696 y Ff(seq)r FB(:)41 b(sp)s(eci\014es)29 b(the)g(sequence)h(n)m(um)m +(b)s(er)e(of)i(the)g(distribution)f(p)s(oin)m(t)g(\(0)h(for)g(the)f +(\014rst)g(one,)h(1)g(for)390 4806 y(the)h(second)f(etc.\))390 +4939 y Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f(the)h +(distribution)e(p)s(oin)m(t)i(will)g(b)s(e)e(copied)i(to)390 +5073 y Ff(ret)p 507 5073 V 40 w(size)5 b FB(:)42 b(holds)30 +b(the)g(size)i(of)e(ret.)390 5206 y Ff(reason)p 649 5206 V 40 w(\015ags)t FB(:)41 b(Rev)m(o)s(cation)32 b(reasons)f(\015ags.)390 -1613 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) +5340 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) h(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))390 1749 y(This)37 b(function)g(will)h(return)f(the)h(CRL)f -(distribution)g(p)s(oin)m(ts)g(\(2.5.29.31\),)44 b(con)m(tained)39 -b(in)f(the)390 1858 y(giv)m(en)31 b(certi\014cate.)390 -1994 y Fs(reason_flags)26 b FB(should)i(b)s(e)g(an)h(ORed)g(sequence)h -(of)f(GNUTLS)p 2649 1994 V 40 w(CRL)p 2879 1994 V 39 -w(REASON)p 3305 1994 V 39 w(UNUSED,)390 2104 y(GNUTLS)p -777 2104 V 40 w(CRL)p 1007 2104 V 39 w(REASON)p 1433 -2104 V 39 w(KEY)p 1673 2104 V 40 w(COMPR)m(OMISE,)20 -b(GNUTLS)p 2785 2104 V 40 w(CRL)p 3015 2104 V 39 w(REASON)p -3441 2104 V 39 w(CA)p 3614 2104 V 40 w(COMPR)m(OMISE,)390 -2213 y(GNUTLS)p 777 2213 V 40 w(CRL)p 1007 2213 V 39 -w(REASON)p 1433 2213 V 39 w(AFFILIA)-8 b(TION)p 2079 -2213 V 41 w(CHANGED,)21 b(GNUTLS)p 3019 2213 V 40 w(CRL)p -3249 2213 V 39 w(REASON)p 3675 2213 V 40 w(SUPERSEEDED,)390 -2323 y(GNUTLS)p 777 2323 V 40 w(CRL)p 1007 2323 V 39 -w(REASON)p 1433 2323 V 39 w(CESSA)-8 b(TION)p 2000 2323 -V 39 w(OF)p 2169 2323 V 40 w(OPERA)g(TION,)20 b(GNUTLS)p -3195 2323 V 39 w(CRL)p 3424 2323 V 40 w(REASON)p 3851 -2323 V 39 w(CER)-8 b(TIFICA)g(TE)p 4522 2323 V 40 w(HOLD,)390 -2432 y(GNUTLS)p 777 2432 V 40 w(CRL)p 1007 2432 V 39 -w(REASON)p 1433 2432 V 39 w(PRIVILEGE)p 1987 2432 V 40 -w(WITHDRA)e(WN,)22 b(GNUTLS)p 3070 2432 V 39 w(CRL)p -3299 2432 V 40 w(REASON)p 3726 2432 V 39 w(AA)p 3901 -2432 V 40 w(COMPR)m(OMISE,)390 2542 y(or)30 b(zero)i(for)e(all)h(p)s -(ossible)f(reasons.)390 2677 y(This)35 b(is)g(sp)s(eci\014ed)g(in)g +(ull\))p eop end +%%Page: 199 205 +TeXDict begin 199 204 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(199)390 299 y(This)37 +b(function)g(will)h(return)f(the)h(CRL)f(distribution)g(p)s(oin)m(ts)g +(\(2.5.29.31\),)44 b(con)m(tained)39 b(in)f(the)390 408 +y(giv)m(en)31 b(certi\014cate.)390 538 y Ft(reason_flags)26 +b FB(should)i(b)s(e)g(an)h(ORed)g(sequence)h(of)f(GNUTLS)p +2649 538 28 4 v 40 w(CRL)p 2879 538 V 39 w(REASON)p 3305 +538 V 39 w(UNUSED,)390 647 y(GNUTLS)p 777 647 V 40 w(CRL)p +1007 647 V 39 w(REASON)p 1433 647 V 39 w(KEY)p 1673 647 +V 40 w(COMPR)m(OMISE,)20 b(GNUTLS)p 2785 647 V 40 w(CRL)p +3015 647 V 39 w(REASON)p 3441 647 V 39 w(CA)p 3614 647 +V 40 w(COMPR)m(OMISE,)390 757 y(GNUTLS)p 777 757 V 40 +w(CRL)p 1007 757 V 39 w(REASON)p 1433 757 V 39 w(AFFILIA)-8 +b(TION)p 2079 757 V 41 w(CHANGED,)21 b(GNUTLS)p 3019 +757 V 40 w(CRL)p 3249 757 V 39 w(REASON)p 3675 757 V +40 w(SUPERSEEDED,)390 867 y(GNUTLS)p 777 867 V 40 w(CRL)p +1007 867 V 39 w(REASON)p 1433 867 V 39 w(CESSA)-8 b(TION)p +2000 867 V 39 w(OF)p 2169 867 V 40 w(OPERA)g(TION,)20 +b(GNUTLS)p 3195 867 V 39 w(CRL)p 3424 867 V 40 w(REASON)p +3851 867 V 39 w(CER)-8 b(TIFICA)g(TE)p 4522 867 V 40 +w(HOLD,)390 976 y(GNUTLS)p 777 976 V 40 w(CRL)p 1007 +976 V 39 w(REASON)p 1433 976 V 39 w(PRIVILEGE)p 1987 +976 V 40 w(WITHDRA)e(WN,)22 b(GNUTLS)p 3070 976 V 39 +w(CRL)p 3299 976 V 40 w(REASON)p 3726 976 V 39 w(AA)p +3901 976 V 40 w(COMPR)m(OMISE,)390 1086 y(or)30 b(zero)i(for)e(all)h(p) +s(ossible)f(reasons.)390 1215 y(This)35 b(is)g(sp)s(eci\014ed)g(in)g (X509v3)i(Certi\014cate)g(Extensions.)55 b(GNUTLS)35 -b(will)h(return)e(the)i(distri-)390 2787 y(bution)30 +b(will)h(return)e(the)i(distri-)390 1325 y(bution)30 b(p)s(oin)m(t)g(t)m(yp)s(e,)h(or)f(a)h(negativ)m(e)i(error)d(co)s(de)g -(on)h(error.)390 2923 y Fn(Returns:)60 b Fs(GNUTLS_E_SHORT_MEMORY_BU)o -(FFE)o(R)34 b FB(and)40 b(up)s(dates)f(&)p Fs(ret_size)e -FB(if)j(&)p Fs(ret_size)390 3032 y FB(is)g(not)f(enough)h(to)g(hold)f +(on)h(error.)390 1454 y Fn(Returns:)60 b Ft(GNUTLS_E_SHORT_MEMORY_BU)o +(FFE)o(R)34 b FB(and)40 b(up)s(dates)f(&)p Ft(ret_size)e +FB(if)j(&)p Ft(ret_size)390 1563 y FB(is)g(not)f(enough)h(to)g(hold)f (the)h(distribution)f(p)s(oin)m(t,)j(or)d(the)h(t)m(yp)s(e)g(of)f(the)h -(distribution)f(p)s(oin)m(t)390 3142 y(if)i(ev)m(erything)h(w)m(as)f +(distribution)f(p)s(oin)m(t)390 1673 y(if)i(ev)m(erything)h(w)m(as)f (ok.)73 b(The)41 b(t)m(yp)s(e)g(is)g(one)h(of)f(the)g(en)m(umerated)g -Fs(gnutls_x509_subject_)390 3251 y(alt_name_t)p FB(.)j(If)32 +Ft(gnutls_x509_subject_)390 1783 y(alt_name_t)p FB(.)j(If)32 b(the)g(certi\014cate)j(do)s(es)d(not)g(ha)m(v)m(e)i(an)e(Alternativ)m -(e)j(name)d(with)g(the)h(sp)s(eci\014ed)390 3361 y(sequence)e(n)m(um)m -(b)s(er)e(then)h Fs(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVA)o(ILAB)o(LE) -24 b FB(is)31 b(returned.)150 3561 y Fu(gn)m(utls)p 483 -3561 37 5 v 55 w(x509)p 786 3561 V 54 w(crt)p 993 3561 -V 54 w(get)p 1212 3561 V 54 w(dn)p 1402 3561 V 54 w(b)m(y)p -1586 3561 V 54 w(oid)3350 3759 y FB([F)-8 b(unction])-3599 +(e)j(name)d(with)g(the)h(sp)s(eci\014ed)390 1892 y(sequence)e(n)m(um)m +(b)s(er)e(then)h Ft(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVA)o(ILAB)o(LE) +24 b FB(is)31 b(returned.)150 2081 y Fv(gn)m(utls)p 483 +2081 37 5 v 55 w(x509)p 786 2081 V 54 w(crt)p 993 2081 +V 54 w(get)p 1212 2081 V 54 w(dn)p 1402 2081 V 54 w(b)m(y)p +1586 2081 V 54 w(oid)3350 2267 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_d)q(n_by)q(_oi)q(d)e -Fg(\()p Ff(gn)m(utls)p 2202 3759 28 4 v 41 w(x509)p 2426 -3759 V 42 w(crt)p 2579 3759 V 40 w(t)31 b Fe(cert)12 -b Ff(,)31 b(const)565 3869 y(c)m(har)g(*)g Fe(oid)12 -b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(raw_flag)12 b Ff(,)32 b(v)m(oid)f(*)g Fe(buf)12 b -Ff(,)31 b(size)p 3127 3869 V 41 w(t)g(*)565 3978 y Fe(sizeof_buf)12 -b Fg(\))390 4088 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4224 y Ff(oid)t -FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m -(ull)g(terminated)h(string)390 4359 y Ff(indx)6 b FB(:)39 -b(In)26 b(case)j(m)m(ultiple)f(same)g(OIDs)f(exist)h(in)f(the)h(RDN,)g -(this)f(sp)s(eci\014es)g(whic)m(h)g(to)i(send.)39 b(Use)390 -4469 y(zero)31 b(to)g(get)h(the)e(\014rst)g(one.)390 -4604 y Ff(ra)m(w)p 540 4604 V 40 w(\015ag)8 b FB(:)41 -b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g(of)f(the)h -(DN)g(part.)390 4740 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f -(where)g(the)h(DN)g(part)f(will)g(b)s(e)g(copied)h(\(ma)m(y)g(b)s(e)f -(n)m(ull\).)390 4876 y Ff(sizeof)p 610 4876 V 41 w(buf)17 -b FB(:)40 b(initially)32 b(holds)e(the)g(size)i(of)e -Fs(buf)390 5011 y FB(This)e(function)g(will)h(extract)h(the)e(part)h -(of)f(the)h(name)g(of)f(the)h(Certi\014cate)h(sub)5 b(ject)28 -b(sp)s(eci\014ed)g(b)m(y)390 5121 y(the)k(giv)m(en)h(OID.)f(The)f -(output,)i(if)f(the)g(ra)m(w)g(\015ag)g(is)g(not)g(used,)g(will)g(b)s -(e)f(enco)s(ded)h(as)g(describ)s(ed)390 5230 y(in)44 +Fg(\()p Ff(gn)m(utls)p 2202 2267 28 4 v 41 w(x509)p 2426 +2267 V 42 w(crt)p 2579 2267 V 40 w(t)31 b Fe(cert)p Ff(,)g(const)565 +2377 y(c)m(har)g(*)g Fe(oid)p Ff(,)g(in)m(t)g Fe(indx)p +Ff(,)h(unsigned)d(in)m(t)i Fe(raw_flag)p Ff(,)i(v)m(oid)e(*)g +Fe(buf)p Ff(,)g(size)p 3081 2377 V 41 w(t)g(*)565 2486 +y Fe(sizeof_buf)12 b Fg(\))390 2596 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 2725 y Ff(oid)t FB(:)40 b(holds)30 +b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h +(string)390 2855 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f +(same)g(OIDs)f(exist)h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m +(h)g(to)i(send.)39 b(Use)390 2964 y(zero)31 b(to)g(get)h(the)e(\014rst) +g(one.)390 3093 y Ff(ra)m(w)p 540 3093 V 40 w(\015ag)8 +b FB(:)41 b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g +(of)f(the)h(DN)g(part.)390 3223 y Ff(buf)16 b FB(:)41 +b(a)31 b(p)s(oin)m(ter)f(where)g(the)h(DN)g(part)f(will)g(b)s(e)g +(copied)h(\(ma)m(y)g(b)s(e)f(n)m(ull\).)390 3352 y Ff(sizeof)p +610 3352 V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i +(of)e Ft(buf)390 3481 y FB(This)e(function)g(will)h(extract)h(the)e +(part)h(of)f(the)h(name)g(of)f(the)h(Certi\014cate)h(sub)5 +b(ject)28 b(sp)s(eci\014ed)g(b)m(y)390 3591 y(the)k(giv)m(en)h(OID.)f +(The)f(output,)i(if)f(the)g(ra)m(w)g(\015ag)g(is)g(not)g(used,)g(will)g +(b)s(e)f(enco)s(ded)h(as)g(describ)s(ed)390 3700 y(in)44 b(RF)m(C2253.)83 b(Th)m(us)43 b(a)h(string)g(that)g(is)g(ASCI)s(I)e(or) i(UTF-8)h(enco)s(ded,)i(dep)s(ending)42 b(on)i(the)390 -5340 y(certi\014cate)32 b(data.)p eop end -%%Page: 214 220 -TeXDict begin 214 219 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(214)390 299 y(Some)32 -b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f -(in)g(gn)m(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 -408 y(zero,)39 b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g -(OIDs)g(as)h(text.)61 b(Other)36 b(OIDs)g(will)h(b)s(e)f(DER)390 -518 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f -(hex)g(format)h(with)e(a)i(')p Fs(\\)p FB(#')f(pre\014x.)39 -b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 628 y(ab)s(out)i(kno)m(wn)g -(OIDs)g(using)g Fs(gnutls_x509_dn_oid_known)o(\(\))p -FB(.)390 756 y(If)g Fs(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f -(size)h(will)g(b)s(e)f(\014lled.)390 885 y Fn(Returns:)71 -b FB(GNUTLS)p 1196 885 28 4 v 39 w(E)p 1297 885 V 40 -w(SHOR)-8 b(T)p 1652 885 V 39 w(MEMOR)g(Y)p 2117 885 -V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 -994 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p -2018 994 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g -(required)g(size.)390 1104 y(On)g(success)g(0)h(is)f(returned.)150 -1291 y Fu(gn)m(utls)p 483 1291 37 5 v 55 w(x509)p 786 -1291 V 54 w(crt)p 993 1291 V 54 w(get)p 1212 1291 V 54 -w(dn)p 1402 1291 V 54 w(oid)3350 1476 y FB([F)-8 b(unction])-3599 +3810 y(certi\014cate)32 b(data.)390 3939 y(Some)g(help)s(er)f(macros)i +(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f(in)g(gn)m +(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 4049 y(zero,)39 +b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g(OIDs)g(as)h +(text.)61 b(Other)36 b(OIDs)g(will)h(b)s(e)f(DER)390 +4158 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f +(hex)g(format)h(with)e(a)i(')p Ft(\\)p FB(#')f(pre\014x.)39 +b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 4268 y(ab)s(out)i(kno)m(wn)g +(OIDs)g(using)g Ft(gnutls_x509_dn_oid_known)o(\(\))p +FB(.)390 4397 y(If)g Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f +(size)h(will)g(b)s(e)f(\014lled.)390 4527 y Fn(Returns:)71 +b FB(GNUTLS)p 1196 4527 V 39 w(E)p 1297 4527 V 40 w(SHOR)-8 +b(T)p 1652 4527 V 39 w(MEMOR)g(Y)p 2117 4527 V 41 w(BUFFER)47 +b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 4636 +y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p +2018 4636 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g +(required)g(size.)390 4746 y(On)g(success)g(0)h(is)f(returned.)150 +4934 y Fv(gn)m(utls)p 483 4934 37 5 v 55 w(x509)p 786 +4934 V 54 w(crt)p 993 4934 V 54 w(get)p 1212 4934 V 54 +w(dn)p 1402 4934 V 54 w(oid)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_d)q(n_oi)q(d)f Fg(\()p -Ff(gn)m(utls)p 2046 1476 28 4 v 40 w(x509)p 2269 1476 -V 42 w(crt)p 2422 1476 V 40 w(t)31 b Fe(cert)12 b Ff(,)31 -b(in)m(t)g Fe(indx)12 b Ff(,)565 1586 y(v)m(oid)31 b(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1209 1586 V 41 w(t)f(*)h -Fe(sizeof_oid)12 b Fg(\))390 1696 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 1824 y Ff(indx)6 b FB(:)40 b(This)30 -b(sp)s(eci\014es)g(whic)m(h)g(OID)g(to)h(return.)40 b(Use)31 -b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 1953 y Ff(oid)t -FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g(to)h(hold)f(the)h -(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 2081 y Ff(sizeof)p -610 2081 V 41 w(oid)t FB(:)41 b(initially)31 b(holds)f(the)h(size)g(of) -g Fs(oid)390 2210 y FB(This)j(function)h(will)g(extract)h(the)f(OIDs)g -(of)g(the)g(name)g(of)g(the)g(Certi\014cate)h(sub)5 b(ject)35 -b(sp)s(eci\014ed)390 2319 y(b)m(y)30 b(the)h(giv)m(en)g(index.)390 -2448 y(If)f(oid)g(is)h(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s -(e)f(\014lled.)390 2577 y Fn(Returns:)71 b FB(GNUTLS)p -1196 2577 V 39 w(E)p 1297 2577 V 40 w(SHOR)-8 b(T)p 1652 -2577 V 39 w(MEMOR)g(Y)p 2117 2577 V 41 w(BUFFER)47 b(if)e(the)h(pro)m -(vided)f(bu\013er)f(is)i(not)390 2686 y(long)31 b(enough,)g(and)f(in)h -(that)g(case)h(the)f(*sizeof)p 2022 2686 V 41 w(oid)g(will)g(b)s(e)f -(up)s(dated)g(with)g(the)h(required)f(size.)390 2796 -y(On)g(success)g(0)h(is)f(returned.)150 2983 y Fu(gn)m(utls)p -483 2983 37 5 v 55 w(x509)p 786 2983 V 54 w(crt)p 993 -2983 V 54 w(get)p 1212 2983 V 54 w(dn)3350 3168 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_d)q(n)e -Fg(\()p Ff(gn)m(utls)p 1836 3168 28 4 v 41 w(x509)p 2060 -3168 V 41 w(crt)p 2212 3168 V 41 w(t)30 b Fe(cert)12 -b Ff(,)32 b(c)m(har)f(*)f Fe(buf)12 b Ff(,)565 3278 y(size)p -712 3278 V 41 w(t)31 b(*)f Fe(sizeof_buf)12 b Fg(\))390 -3387 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 3516 y Ff(buf)16 +Ff(gn)m(utls)p 2046 5121 28 4 v 40 w(x509)p 2269 5121 +V 42 w(crt)p 2422 5121 V 40 w(t)31 b Fe(cert)p Ff(,)g(in)m(t)g +Fe(indx)p Ff(,)565 5230 y(v)m(oid)g(*)g Fe(oid)p Ff(,)g(size)p +1197 5230 V 41 w(t)g(*)g Fe(sizeof_oid)12 b Fg(\))390 +5340 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)p eop end +%%Page: 200 206 +TeXDict begin 200 205 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(200)390 299 y +Ff(indx)6 b FB(:)40 b(This)30 b(sp)s(eci\014es)g(whic)m(h)g(OID)g(to)h +(return.)40 b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 +436 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g(to) +h(hold)f(the)h(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 +573 y Ff(sizeof)p 610 573 28 4 v 41 w(oid)t FB(:)41 b(initially)31 +b(holds)f(the)h(size)g(of)g Ft(oid)390 710 y FB(This)j(function)h(will) +g(extract)h(the)f(OIDs)g(of)g(the)g(name)g(of)g(the)g(Certi\014cate)h +(sub)5 b(ject)35 b(sp)s(eci\014ed)390 820 y(b)m(y)30 +b(the)h(giv)m(en)g(index.)390 957 y(If)f(oid)g(is)h(n)m(ull)f(then)g +(only)h(the)f(size)h(will)g(b)s(e)f(\014lled.)390 1094 +y Fn(Returns:)71 b FB(GNUTLS)p 1196 1094 V 39 w(E)p 1297 +1094 V 40 w(SHOR)-8 b(T)p 1652 1094 V 39 w(MEMOR)g(Y)p +2117 1094 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i +(not)390 1204 y(long)31 b(enough,)g(and)f(in)h(that)g(case)h(the)f +(*sizeof)p 2022 1204 V 41 w(oid)g(will)g(b)s(e)f(up)s(dated)g(with)g +(the)h(required)f(size.)390 1313 y(On)g(success)g(0)h(is)f(returned.) +150 1515 y Fv(gn)m(utls)p 483 1515 37 5 v 55 w(x509)p +786 1515 V 54 w(crt)p 993 1515 V 54 w(get)p 1212 1515 +V 54 w(dn)3350 1714 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_x509_crt_get_d)q(n)e Fg(\()p Ff(gn)m(utls)p +1836 1714 28 4 v 41 w(x509)p 2060 1714 V 41 w(crt)p 2212 +1714 V 41 w(t)30 b Fe(cert)p Ff(,)i(c)m(har)f(*)g Fe(buf)p +Ff(,)565 1824 y(size)p 712 1824 V 41 w(t)g(*)f Fe(sizeof_buf)12 +b Fg(\))390 1934 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 2071 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f -(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 3644 y -Ff(sizeof)p 610 3644 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 3773 y FB(This)e(function)g +(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 2208 y +Ff(sizeof)p 610 2208 V 41 w(buf)17 b FB(:)40 b(initially)32 +b(holds)e(the)g(size)i(of)e Ft(buf)390 2345 y FB(This)e(function)g (will)h(cop)m(y)h(the)f(name)f(of)h(the)g(Certi\014cate)h(in)e(the)h -(pro)m(vided)g(bu\013er.)39 b(The)28 b(name)390 3883 -y(will)45 b(b)s(e)g(in)g(the)g(form)g Fs(")p FB(C=xxxx,O=yyyy)-8 -b(,CN=zzzz)p Fs(")45 b FB(as)g(describ)s(ed)f(in)h(RF)m(C2253.)87 -b(The)390 3992 y(output)30 b(string)g(will)h(b)s(e)f(ASCI)s(I)f(or)h +(pro)m(vided)g(bu\013er.)39 b(The)28 b(name)390 2454 +y(will)45 b(b)s(e)g(in)g(the)g(form)g Ft(")p FB(C=xxxx,O=yyyy)-8 +b(,CN=zzzz)p Ft(")45 b FB(as)g(describ)s(ed)f(in)h(RF)m(C2253.)87 +b(The)390 2564 y(output)30 b(string)g(will)h(b)s(e)f(ASCI)s(I)f(or)h (UTF-8)h(enco)s(ded,)f(dep)s(ending)f(on)i(the)f(certi\014cate)j(data.) -390 4121 y(If)d Fs(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h -(will)g(b)s(e)f(\014lled.)390 4249 y Fn(Returns:)71 b -FB(GNUTLS)p 1196 4249 V 39 w(E)p 1297 4249 V 40 w(SHOR)-8 -b(T)p 1652 4249 V 39 w(MEMOR)g(Y)p 2117 4249 V 41 w(BUFFER)47 -b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 4359 +390 2701 y(If)d Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h +(will)g(b)s(e)f(\014lled.)390 2838 y Fn(Returns:)71 b +FB(GNUTLS)p 1196 2838 V 39 w(E)p 1297 2838 V 40 w(SHOR)-8 +b(T)p 1652 2838 V 39 w(MEMOR)g(Y)p 2117 2838 V 41 w(BUFFER)47 +b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 2948 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p -2018 4359 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g -(required)g(size.)390 4469 y(On)g(success)g(0)h(is)f(returned.)150 -4656 y Fu(gn)m(utls)p 483 4656 37 5 v 55 w(x509)p 786 -4656 V 54 w(crt)p 993 4656 V 54 w(get)p 1212 4656 V 54 -w(expiration)p 1810 4656 V 54 w(time)3350 4841 y FB([F)-8 +2018 2948 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g +(required)g(size.)390 3057 y(On)g(success)g(0)h(is)f(returned.)150 +3259 y Fv(gn)m(utls)p 483 3259 37 5 v 55 w(x509)p 786 +3259 V 54 w(crt)p 993 3259 V 54 w(get)p 1212 3259 V 54 +w(expiration)p 1810 3259 V 54 w(time)3350 3459 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_x509_crt_get_ex)q(pir)q(ati)q -(on_)q(time)e Fg(\()p Ff(gn)m(utls)p 2673 4841 28 4 v -41 w(x509)p 2897 4841 V 41 w(crt)p 3049 4841 V 41 w(t)565 -4950 y Fe(cert)12 b Fg(\))390 5060 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 5189 y(This)k(function)g(will)g(return)g(the)g(time) +(on_)q(time)e Fg(\()p Ff(gn)m(utls)p 2673 3459 28 4 v +41 w(x509)p 2897 3459 V 41 w(crt)p 3049 3459 V 41 w(t)565 +3568 y Fe(cert)12 b Fg(\))390 3678 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 3815 y(This)k(function)g(will)g(return)g(the)g(time) h(this)g(Certi\014cate)g(w)m(as)g(or)f(will)h(b)s(e)f(expired.)390 -5317 y Fn(Returns:)40 b FB(expiration)31 b(time,)h(or)e(\(time)p -1771 5317 V 41 w(t\)-1)i(on)e(error.)p eop end -%%Page: 215 221 -TeXDict begin 215 220 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(215)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(extension)p -1770 299 V 55 w(b)m(y)p 1955 299 V 53 w(oid)3350 496 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_e)q(xten) -q(sio)q(n_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 -496 28 4 v 40 w(x509)p 2792 496 V 42 w(crt)p 2945 496 -V 40 w(t)565 606 y Fe(cert)12 b Ff(,)31 b(const)g(c)m(har)f(*)h -Fe(oid)12 b Ff(,)31 b(in)m(t)f Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(buf)12 b Ff(,)30 b(size)p 2635 606 V 41 w(t)h(*)f -Fe(sizeof_buf)12 b Ff(,)33 b(unsigned)565 715 y(in)m(t)e(*)g -Fe(critical)12 b Fg(\))390 825 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -960 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 -b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h(string)390 -1095 y Ff(indx)6 b FB(:)38 b(In)25 b(case)i(m)m(ultiple)g(same)f(OIDs)g -(exist)g(in)g(the)g(extensions,)i(this)e(sp)s(eci\014es)f(whic)m(h)h -(to)g(send.)390 1205 y(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.) -390 1340 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g -(structure)f(to)h(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 -1475 y Ff(sizeof)p 610 1475 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 1610 y Ff(critical)t -FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f -(mark)m(ed)g(as)h(critical)390 1745 y(This)j(function)g(will)h(return)e -(the)i(extension)g(sp)s(eci\014ed)e(b)m(y)i(the)f(OID)h(in)f(the)g -(certi\014cate.)55 b(The)390 1855 y(extensions)31 b(will)g(b)s(e)e -(returned)h(as)g(binary)g(data)h(DER)f(enco)s(ded,)h(in)f(the)g(pro)m -(vided)g(bu\013er.)390 1990 y Fn(Returns:)82 b FB(On)50 -b(success,)57 b Fs(GNUTLS_E_SUCCESS)47 b FB(\(zero\))53 -b(is)e(returned,)56 b(otherwise)51 b(an)g(error)390 2099 -y(co)s(de)62 b(is)f(returned.)133 b(If)61 b(the)h(certi\014cate)i(do)s -(es)d(not)h(con)m(tain)h(the)e(sp)s(eci\014ed)g(extension)390 -2209 y(GNUTLS)p 777 2209 V 40 w(E)p 879 2209 V 40 w(REQUESTED)p -1497 2209 V 39 w(D)m(A)-8 b(T)g(A)p 1788 2209 V 41 w(NOT)p -2034 2209 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)150 -2409 y Fu(gn)m(utls)p 483 2409 37 5 v 55 w(x509)p 786 -2409 V 54 w(crt)p 993 2409 V 54 w(get)p 1212 2409 V 54 -w(extension)p 1770 2409 V 55 w(data)3350 2606 y FB([F)-8 +3952 y Fn(Returns:)40 b FB(expiration)31 b(time,)h(or)e(\(time)p +1771 3952 V 41 w(t\)-1)i(on)e(error.)150 4154 y Fv(gn)m(utls)p +483 4154 37 5 v 55 w(x509)p 786 4154 V 54 w(crt)p 993 +4154 V 54 w(get)p 1212 4154 V 54 w(extension)p 1770 4154 +V 55 w(b)m(y)p 1955 4154 V 53 w(oid)3350 4353 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_e)q(xten)q(sio)q -(n_d)q(ata)f Fg(\()p Ff(gn)m(utls)p 2464 2606 28 4 v -41 w(x509)p 2688 2606 V 41 w(crt)p 2840 2606 V 40 w(t)31 -b Fe(cert)12 b Ff(,)565 2715 y(in)m(t)31 b Fe(indx)12 -b Ff(,)31 b(v)m(oid)g(*)g Fe(data)12 b Ff(,)31 b(size)p -1676 2715 V 41 w(t)g(*)g Fe(sizeof_data)12 b Fg(\))390 -2825 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 2960 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -3095 y Ff(data)p FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 -3230 y Ff(sizeof)p 610 3230 V 41 w(data)p FB(:)42 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 3365 y FB(This)21 -b(function)g(will)g(return)f(the)i(requested)f(extension)h(data)g(in)f -(the)h(certi\014cate.)39 b(The)21 b(extension)390 3475 -y(data)31 b(will)g(b)s(e)f(stored)g(as)h(a)f(string)h(in)f(the)g(pro)m -(vided)g(bu\013er.)390 3610 y(Use)i Fs(gnutls_x509_crt_get_ext)o(ensi)o -(on_i)o(nfo)o(\(\))25 b FB(to)32 b(extract)h(the)f(OID)f(and)g -(critical)i(\015ag.)390 3720 y(Use)41 b Fs(gnutls_x509_crt_get_exten)o -(sio)o(n_by)o(_oid)o(\(\))34 b FB(instead,)44 b(if)d(y)m(ou)g(w)m(an)m -(t)h(to)f(get)h(data)390 3829 y(indexed)30 b(b)m(y)g(the)h(extension)g -(OID)f(rather)g(than)g(sequence.)390 3964 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -4074 y(is)k(returned.)51 b(If)34 b(y)m(ou)h(ha)m(v)m(e)h(reac)m(hed)f -(the)g(last)g(extension)g(a)m(v)-5 b(ailable)37 b Fs -(GNUTLS_E_REQUESTED_)390 4183 y(DATA_NOT_AVAILABLE)25 -b FB(will)31 b(b)s(e)f(returned.)150 4383 y Fu(gn)m(utls)p -483 4383 37 5 v 55 w(x509)p 786 4383 V 54 w(crt)p 993 -4383 V 54 w(get)p 1212 4383 V 54 w(extension)p 1770 4383 -V 55 w(info)3350 4581 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_get_e)q(xten)q(sio)q(n_i)q(nfo)f Fg(\()p -Ff(gn)m(utls)p 2464 4581 28 4 v 41 w(x509)p 2688 4581 -V 41 w(crt)p 2840 4581 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -4690 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1624 4690 V 41 w(t)g(*)f -Fe(sizeof_oid)12 b Ff(,)33 b(in)m(t)e(*)g Fe(critical)12 -b Fg(\))390 4800 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4935 y Ff(indx)6 -b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h -(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 -5070 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g -(to)h(hold)f(the)h(OID)390 5205 y Ff(sizeof)p 610 5205 -V 41 w(oid)t FB(:)38 b(initially)26 b(holds)e(the)h(maxim)m(um)g(size)h -(of)f Fs(oid)p FB(,)g(on)g(return)e(holds)i(actual)h(size)g(of)f -Fs(oid)p FB(.)390 5340 y Ff(critical)t FB(:)42 b(output)30 -b(v)-5 b(ariable)31 b(with)f(critical)j(\015ag,)e(ma)m(y)g(b)s(e)e -(NULL.)p eop end -%%Page: 216 222 -TeXDict begin 216 221 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(216)390 299 y(This)43 -b(function)h(will)g(return)f(the)h(requested)g(extension)h(OID)f(in)f -(the)i(certi\014cate,)k(and)44 b(the)390 408 y(critical)g(\015ag)f(for) -g(it.)77 b(The)42 b(extension)h(OID)g(will)g(b)s(e)f(stored)g(as)h(a)g -(string)f(in)h(the)f(pro)m(vided)390 518 y(bu\013er.)e(Use)30 -b Fs(gnutls_x509_crt_get_extens)o(ion_)o(dat)o(a\(\))24 -b FB(to)31 b(extract)h(the)e(data.)390 658 y(If)37 b(the)h(bu\013er)e -(pro)m(vided)h(is)h(not)f(long)h(enough)g(to)g(hold)f(the)h(output,)h -(then)e(*)p Fs(sizeof_oid)e FB(is)390 767 y(up)s(dated)29 -b(and)h Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFE)o(R)24 b FB(will)31 -b(b)s(e)f(returned.)390 907 y Fn(Returns:)42 b FB(On)30 -b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -1017 y(is)k(returned.)51 b(If)34 b(y)m(ou)h(ha)m(v)m(e)h(reac)m(hed)f -(the)g(last)g(extension)g(a)m(v)-5 b(ailable)37 b Fs -(GNUTLS_E_REQUESTED_)390 1127 y(DATA_NOT_AVAILABLE)25 -b FB(will)31 b(b)s(e)f(returned.)150 1331 y Fu(gn)m(utls)p -483 1331 37 5 v 55 w(x509)p 786 1331 V 54 w(crt)p 993 -1331 V 54 w(get)p 1212 1331 V 54 w(extension)p 1770 1331 -V 55 w(oid)3350 1533 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_get_e)q(xten)q(sio)q(n_o)q(id)f Fg(\()p -Ff(gn)m(utls)p 2412 1533 28 4 v 40 w(x509)p 2635 1533 -V 42 w(crt)p 2788 1533 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -1643 y(in)m(t)31 b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(size)p 1624 1643 V 41 w(t)g(*)f -Fe(sizeof_oid)12 b Fg(\))390 1752 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 1892 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 +(n_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 4353 28 +4 v 40 w(x509)p 2792 4353 V 42 w(crt)p 2945 4353 V 40 +w(t)565 4463 y Fe(cert)p Ff(,)32 b(const)f(c)m(har)g(*)f +Fe(oid)p Ff(,)i(in)m(t)f Fe(indx)p Ff(,)g(v)m(oid)g(*)g +Fe(buf)p Ff(,)h(size)p 2592 4463 V 41 w(t)e(*)h Fe(sizeof_buf)p +Ff(,)j(unsigned)565 4572 y(in)m(t)d(*)g Fe(critical)12 +b Fg(\))390 4682 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 4819 y Ff(oid)t +FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m +(ull)g(terminated)h(string)390 4956 y Ff(indx)6 b FB(:)38 +b(In)25 b(case)i(m)m(ultiple)g(same)f(OIDs)g(exist)g(in)g(the)g +(extensions,)i(this)e(sp)s(eci\014es)f(whic)m(h)h(to)g(send.)390 +5066 y(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 +5203 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure) +f(to)h(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 +5340 y Ff(sizeof)p 610 5340 V 41 w(buf)17 b FB(:)40 b(initially)32 +b(holds)e(the)g(size)i(of)e Ft(buf)p eop end +%%Page: 201 207 +TeXDict begin 201 206 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(201)390 299 y +Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h +(extension)g(is)f(mark)m(ed)g(as)h(critical)390 452 y(This)j(function)g +(will)h(return)e(the)i(extension)g(sp)s(eci\014ed)e(b)m(y)i(the)f(OID)h +(in)f(the)g(certi\014cate.)55 b(The)390 561 y(extensions)31 +b(will)g(b)s(e)e(returned)h(as)g(binary)g(data)h(DER)f(enco)s(ded,)h +(in)f(the)g(pro)m(vided)g(bu\013er.)390 714 y(A)g(negativ)m(e)i(v)-5 +b(alue)31 b(ma)m(y)g(b)s(e)e(returned)g(in)h(case)h(of)f(parsing)g +(error.)40 b(If)30 b(the)g(certi\014cate)i(do)s(es)e(not)390 +824 y(con)m(tain)22 b(the)e(sp)s(eci\014ed)g(extension)h(GNUTLS)p +1983 824 28 4 v 39 w(E)p 2084 824 V 40 w(REQUESTED)p +2702 824 V 39 w(D)m(A)-8 b(T)g(A)p 2993 824 V 42 w(NOT)p +3240 824 V 39 w(A)e(V)g(AILABLE)390 934 y(will)31 b(b)s(e)e(returned.) +150 1151 y Fv(gn)m(utls)p 483 1151 37 5 v 55 w(x509)p +786 1151 V 54 w(crt)p 993 1151 V 54 w(get)p 1212 1151 +V 54 w(extension)p 1770 1151 V 55 w(data)3350 1367 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_e)q(xten)q +(sio)q(n_d)q(ata)f Fg(\()p Ff(gn)m(utls)p 2464 1367 28 +4 v 41 w(x509)p 2688 1367 V 41 w(crt)p 2840 1367 V 40 +w(t)31 b Fe(cert)p Ff(,)565 1476 y(in)m(t)g Fe(indx)p +Ff(,)h(v)m(oid)f(*)f Fe(data)p Ff(,)i(size)p 1653 1476 +V 41 w(t)f(*)g Fe(sizeof_data)12 b Fg(\))390 1586 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 1739 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 +b(whic)m(h)g(extension)h(OID)f(to)h(send.)40 b(Use)31 +b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 1892 y Ff(data)p +FB(:)41 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g(to)h(hold)f(the)h +(data)g(\(ma)m(y)g(b)s(e)f(n)m(ull\))390 2045 y Ff(sizeof)p +610 2045 V 41 w(data)p FB(:)42 b(initially)31 b(holds)f(the)h(size)g +(of)g Ft(oid)390 2198 y FB(This)21 b(function)g(will)g(return)f(the)i +(requested)f(extension)h(data)g(in)f(the)h(certi\014cate.)39 +b(The)21 b(extension)390 2307 y(data)31 b(will)g(b)s(e)f(stored)g(as)h +(a)f(string)h(in)f(the)g(pro)m(vided)g(bu\013er.)390 +2460 y(Use)i Ft(gnutls_x509_crt_get_ext)o(ensi)o(on_i)o(nfo)o(\(\))25 +b FB(to)32 b(extract)h(the)f(OID)f(and)g(critical)i(\015ag.)390 +2570 y(Use)41 b Ft(gnutls_x509_crt_get_exten)o(sio)o(n_by)o(_oid)o +(\(\))34 b FB(instead,)44 b(if)d(y)m(ou)g(w)m(an)m(t)h(to)f(get)h(data) +390 2679 y(indexed)30 b(b)m(y)g(the)h(extension)g(OID)f(rather)g(than)g +(sequence.)390 2832 y(Return)95 b(0)i(on)f(success.)237 +b(A)97 b(negativ)m(e)h(v)-5 b(alue)96 b(ma)m(y)h(b)s(e)e(returned)g(in) +h(case)390 2942 y(of)h(parsing)g(error.)241 b(If)97 b(y)m(ou)g(ha)m(v)m +(e)h(reac)m(hed)g(the)g(last)g(extension)g(a)m(v)-5 b(ailable)390 +3051 y(GNUTLS)p 777 3051 V 40 w(E)p 879 3051 V 40 w(REQUESTED)p +1497 3051 V 39 w(D)m(A)d(T)g(A)p 1788 3051 V 41 w(NOT)p +2034 3051 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)150 +3269 y Fv(gn)m(utls)p 483 3269 37 5 v 55 w(x509)p 786 +3269 V 54 w(crt)p 993 3269 V 54 w(get)p 1212 3269 V 54 +w(extension)p 1770 3269 V 55 w(info)3350 3484 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_e)q(xten)q(sio)q +(n_i)q(nfo)f Fg(\()p Ff(gn)m(utls)p 2464 3484 28 4 v +41 w(x509)p 2688 3484 V 41 w(crt)p 2840 3484 V 40 w(t)31 +b Fe(cert)p Ff(,)565 3594 y(in)m(t)g Fe(indx)p Ff(,)h(v)m(oid)f(*)f +Fe(oid)p Ff(,)i(size)p 1601 3594 V 41 w(t)f(*)f Fe(sizeof_oid)p +Ff(,)k(in)m(t)d(*)g Fe(critical)12 b Fg(\))390 3704 y +Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t) +26 b FB(structure)390 3857 y Ff(indx)6 b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h(send.)40 b(Use)31 -b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 2032 y Ff(oid)t +b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 4010 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g(to)h(hold)f(the)h -(OID)f(\(ma)m(y)i(b)s(e)d(n)m(ull\))390 2172 y Ff(sizeof)p -610 2172 V 41 w(oid)t FB(:)41 b(initially)31 b(holds)f(the)h(size)g(of) -g Fs(oid)390 2312 y FB(This)21 b(function)g(will)h(return)f(the)h -(requested)f(extension)i(OID)e(in)g(the)h(certi\014cate.)40 -b(The)21 b(extension)390 2421 y(OID)30 b(will)h(b)s(e)f(stored)g(as)h -(a)g(string)f(in)g(the)h(pro)m(vided)f(bu\013er.)390 -2561 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 2671 y(is)k(returned.)51 b(If)34 b(y)m(ou)h(ha)m(v)m(e)h(reac)m -(hed)f(the)g(last)g(extension)g(a)m(v)-5 b(ailable)37 -b Fs(GNUTLS_E_REQUESTED_)390 2780 y(DATA_NOT_AVAILABLE)25 -b FB(will)31 b(b)s(e)f(returned.)150 2985 y Fu(gn)m(utls)p -483 2985 37 5 v 55 w(x509)p 786 2985 V 54 w(crt)p 993 -2985 V 54 w(get)p 1212 2985 V 54 w(\014ngerprin)m(t)3350 -3187 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_f)q -(inge)q(rpr)q(int)f Fg(\()p Ff(gn)m(utls)p 2307 3187 -28 4 v 41 w(x509)p 2531 3187 V 41 w(crt)p 2683 3187 V -41 w(t)30 b Fe(cert)12 b Ff(,)565 3297 y(gn)m(utls)p -811 3297 V 41 w(digest)p 1084 3297 V 40 w(algorithm)p -1507 3297 V 41 w(t)31 b Fe(algo)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(buf)12 b Ff(,)31 b(size)p 2528 3297 V 41 w(t)g(*)f -Fe(sizeof_buf)12 b Fg(\))390 3406 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 3546 y Ff(algo)5 b FB(:)42 b(is)30 -b(a)h(digest)g(algorithm)390 3686 y Ff(buf)16 b FB(:)41 +(OID)390 4162 y Ff(sizeof)p 610 4162 V 41 w(oid)t FB(:)38 +b(initially)26 b(holds)e(the)h(maxim)m(um)g(size)h(of)f +Ft(oid)p FB(,)g(on)g(return)e(holds)i(actual)h(size)g(of)f +Ft(oid)p FB(.)390 4315 y Ff(critical)t FB(:)42 b(output)30 +b(v)-5 b(ariable)31 b(with)f(critical)j(\015ag,)e(ma)m(y)g(b)s(e)e +(NULL.)390 4468 y(This)43 b(function)h(will)g(return)f(the)h(requested) +g(extension)h(OID)f(in)f(the)i(certi\014cate,)k(and)44 +b(the)390 4578 y(critical)g(\015ag)f(for)g(it.)77 b(The)42 +b(extension)h(OID)g(will)g(b)s(e)f(stored)g(as)h(a)g(string)f(in)h(the) +f(pro)m(vided)390 4688 y(bu\013er.)e(Use)30 b Ft +(gnutls_x509_crt_get_extens)o(ion_)o(dat)o(a\(\))24 b +FB(to)31 b(extract)h(the)e(data.)390 4841 y(If)37 b(the)h(bu\013er)e +(pro)m(vided)h(is)h(not)f(long)h(enough)g(to)g(hold)f(the)h(output,)h +(then)e(*)p Ft(sizeof_oid)e FB(is)390 4950 y(up)s(dated)29 +b(and)h Ft(GNUTLS_E_SHORT_MEMORY_BU)o(FFE)o(R)24 b FB(will)31 +b(b)s(e)f(returned.)390 5103 y(Return)95 b(0)i(on)f(success.)237 +b(A)97 b(negativ)m(e)h(v)-5 b(alue)96 b(ma)m(y)h(b)s(e)e(returned)g(in) +h(case)390 5213 y(of)h(parsing)g(error.)241 b(If)97 b(y)m(ou)g(ha)m(v)m +(e)h(reac)m(hed)g(the)g(last)g(extension)g(a)m(v)-5 b(ailable)390 +5322 y(GNUTLS)p 777 5322 V 40 w(E)p 879 5322 V 40 w(REQUESTED)p +1497 5322 V 39 w(D)m(A)d(T)g(A)p 1788 5322 V 41 w(NOT)p +2034 5322 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)p +eop end +%%Page: 202 208 +TeXDict begin 202 207 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(202)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(extension)p +1770 299 V 55 w(oid)3350 496 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_get_e)q(xten)q(sio)q(n_o)q(id)f +Fg(\()p Ff(gn)m(utls)p 2412 496 28 4 v 40 w(x509)p 2635 +496 V 42 w(crt)p 2788 496 V 40 w(t)31 b Fe(cert)p Ff(,)565 +606 y(in)m(t)g Fe(indx)p Ff(,)h(v)m(oid)f(*)f Fe(oid)p +Ff(,)i(size)p 1601 606 V 41 w(t)f(*)f Fe(sizeof_oid)12 +b Fg(\))390 715 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 850 y Ff(indx)6 +b FB(:)40 b(Sp)s(eci\014es)30 b(whic)m(h)g(extension)h(OID)f(to)h +(send.)40 b(Use)31 b(zero)g(to)g(get)h(the)e(\014rst)g(one.)390 +986 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(structure)g +(to)h(hold)f(the)h(OID)f(\(ma)m(y)i(b)s(e)d(n)m(ull\))390 +1121 y Ff(sizeof)p 610 1121 V 41 w(oid)t FB(:)41 b(initially)31 +b(holds)f(the)h(size)g(of)g Ft(oid)390 1256 y FB(This)21 +b(function)g(will)h(return)f(the)h(requested)f(extension)i(OID)e(in)g +(the)h(certi\014cate.)40 b(The)21 b(extension)390 1365 +y(OID)30 b(will)h(b)s(e)f(stored)g(as)h(a)g(string)f(in)g(the)h(pro)m +(vided)f(bu\013er.)390 1500 y(A)i(negativ)m(e)j(v)-5 +b(alue)33 b(ma)m(y)g(b)s(e)f(returned)f(in)h(case)h(of)g(parsing)f +(error.)46 b(If)32 b(y)m(our)g(ha)m(v)m(e)i(reac)m(hed)f(the)390 +1610 y(last)41 b(extension)f(a)m(v)-5 b(ailable)42 b(GNUTLS)p +1753 1610 V 40 w(E)p 1855 1610 V 39 w(REQUESTED)p 2472 +1610 V 39 w(D)m(A)-8 b(T)g(A)p 2763 1610 V 42 w(NOT)p +3010 1610 V 40 w(A)e(V)g(AILABLE)40 b(will)390 1719 y(b)s(e)30 +b(returned.)150 1919 y Fv(gn)m(utls)p 483 1919 37 5 v +55 w(x509)p 786 1919 V 54 w(crt)p 993 1919 V 54 w(get)p +1212 1919 V 54 w(\014ngerprin)m(t)3350 2117 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_f)q(inge)q(rpr)q +(int)f Fg(\()p Ff(gn)m(utls)p 2307 2117 28 4 v 41 w(x509)p +2531 2117 V 41 w(crt)p 2683 2117 V 41 w(t)30 b Fe(cert)p +Ff(,)565 2226 y(gn)m(utls)p 811 2226 V 41 w(digest)p +1084 2226 V 40 w(algorithm)p 1507 2226 V 41 w(t)h Fe(algo)p +Ff(,)h(v)m(oid)f(*)g Fe(buf)p Ff(,)g(size)p 2505 2226 +V 41 w(t)g(*)f Fe(sizeof_buf)12 b Fg(\))390 2336 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 2471 y Ff(algo)5 b FB(:)42 b(is)30 +b(a)h(digest)g(algorithm)390 2606 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h (\014ngerprin)m(t)e(\(ma)m(y)i(b)s(e)f(n)m(ull\))390 -3826 y Ff(sizeof)p 610 3826 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 3966 y FB(This)20 +2741 y Ff(sizeof)p 610 2741 V 41 w(buf)17 b FB(:)40 b(initially)32 +b(holds)e(the)g(size)i(of)e Ft(buf)390 2876 y FB(This)20 b(function)g(will)g(calculate)j(and)d(cop)m(y)h(the)g(certi\014cate's)h (\014ngerprin)m(t)e(in)g(the)h(pro)m(vided)f(bu\013er.)390 -4106 y(If)30 b(the)g(bu\013er)g(is)g(n)m(ull)h(then)f(only)g(the)h -(size)g(will)g(b)s(e)e(\014lled.)390 4245 y Fn(Returns:)39 -b Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 +3011 y(If)30 b(the)g(bu\013er)g(is)g(n)m(ull)h(then)f(only)g(the)h +(size)g(will)g(b)s(e)e(\014lled.)390 3146 y Fn(Returns:)39 +b Ft(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g(long)h(enough,)390 -4355 y(and)h(in)g(that)h(case)g(the)g(*sizeof)p 1479 -4355 V 41 w(buf)e(will)i(b)s(e)f(up)s(dated)f(with)h(the)h(required)e -(size.)41 b(On)29 b(success)h(0)390 4465 y(is)g(returned.)150 -4669 y Fu(gn)m(utls)p 483 4669 37 5 v 55 w(x509)p 786 -4669 V 54 w(crt)p 993 4669 V 54 w(get)p 1212 4669 V 54 -w(issuer)p 1570 4669 V 55 w(dn)p 1761 4669 V 54 w(b)m(y)p -1945 4669 V 54 w(oid)3350 4871 y FB([F)-8 b(unction])-3599 +3256 y(and)h(in)g(that)h(case)g(the)g(*sizeof)p 1479 +3256 V 41 w(buf)e(will)i(b)s(e)f(up)s(dated)f(with)h(the)h(required)e +(size.)41 b(On)29 b(success)h(0)390 3365 y(is)g(returned.)150 +3565 y Fv(gn)m(utls)p 483 3565 37 5 v 55 w(x509)p 786 +3565 V 54 w(crt)p 993 3565 V 54 w(get)p 1212 3565 V 54 +w(issuer)p 1570 3565 V 55 w(dn)p 1761 3565 V 54 w(b)m(y)p +1945 3565 V 54 w(oid)3350 3762 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q(ssue)q(r_d)q(n_b)q(y_o)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 4871 28 4 v 40 w(x509)p 2792 -4871 V 42 w(crt)p 2945 4871 V 40 w(t)565 4981 y Fe(cert)12 -b Ff(,)31 b(const)g(c)m(har)g(*)g Fe(oid)12 b Ff(,)31 -b(in)m(t)g Fe(indx)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(raw_flag)12 b Ff(,)33 b(v)m(oid)e(*)f Fe(buf)12 b -Ff(,)31 b(size)p 3641 4981 V 41 w(t)565 5091 y(*)g Fe(sizeof_buf)12 -b Fg(\))390 5200 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 5340 y Ff(oid)t -FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m -(ull)g(terminated)h(string)p eop end -%%Page: 217 223 -TeXDict begin 217 222 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(217)390 299 y -Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f(same)g(OIDs)f(exist) -h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m(h)g(to)i(send.)39 -b(Use)390 408 y(zero)31 b(to)g(get)h(the)e(\014rst)g(one.)390 -543 y Ff(ra)m(w)p 540 543 28 4 v 40 w(\015ag)8 b FB(:)41 -b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g(of)f(the)h -(DN)g(part.)390 677 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h -(a)g(structure)f(to)h(hold)f(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\)) -390 811 y Ff(sizeof)p 610 811 V 41 w(buf)17 b FB(:)40 -b(initially)32 b(holds)e(the)g(size)i(of)e Fs(buf)390 -945 y FB(This)i(function)h(will)g(extract)i(the)e(part)g(of)g(the)g -(name)g(of)g(the)g(Certi\014cate)h(issuer)f(sp)s(eci\014ed)f(b)m(y)390 -1054 y(the)g(giv)m(en)h(OID.)f(The)f(output,)i(if)f(the)g(ra)m(w)g -(\015ag)g(is)g(not)g(used,)g(will)g(b)s(e)f(enco)s(ded)h(as)g(describ)s -(ed)390 1164 y(in)44 b(RF)m(C2253.)83 b(Th)m(us)43 b(a)h(string)g(that) -g(is)g(ASCI)s(I)e(or)i(UTF-8)h(enco)s(ded,)i(dep)s(ending)42 -b(on)i(the)390 1274 y(certi\014cate)32 b(data.)390 1408 -y(Some)g(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g -(found)f(in)g(gn)m(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 -1517 y(zero,)39 b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g +Fg(\()p Ff(gn)m(utls)p 2569 3762 28 4 v 40 w(x509)p 2792 +3762 V 42 w(crt)p 2945 3762 V 40 w(t)565 3872 y Fe(cert)p +Ff(,)32 b(const)f(c)m(har)g(*)f Fe(oid)p Ff(,)i(in)m(t)f +Fe(indx)p Ff(,)g(unsigned)f(in)m(t)h Fe(raw_flag)p Ff(,)i(v)m(oid)e(*)f +Fe(buf)p Ff(,)i(size)p 3584 3872 V 41 w(t)e(*)565 3982 +y Fe(sizeof_buf)12 b Fg(\))390 4091 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 4226 y Ff(oid)t FB(:)40 b(holds)30 +b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h +(string)390 4361 y Ff(indx)6 b FB(:)39 b(In)26 b(case)j(m)m(ultiple)f +(same)g(OIDs)f(exist)h(in)f(the)h(RDN,)g(this)f(sp)s(eci\014es)g(whic)m +(h)g(to)i(send.)39 b(Use)390 4471 y(zero)31 b(to)g(get)h(the)e(\014rst) +g(one.)390 4606 y Ff(ra)m(w)p 540 4606 V 40 w(\015ag)8 +b FB(:)41 b(If)30 b(non)g(zero)h(returns)e(the)i(ra)m(w)f(DER)h(data)g +(of)f(the)h(DN)g(part.)390 4741 y Ff(buf)16 b FB(:)41 +b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h(name)f +(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 4876 y Ff(sizeof)p +610 4876 V 41 w(buf)17 b FB(:)40 b(initially)32 b(holds)e(the)g(size)i +(of)e Ft(buf)390 5011 y FB(This)i(function)h(will)g(extract)i(the)e +(part)g(of)g(the)g(name)g(of)g(the)g(Certi\014cate)h(issuer)f(sp)s +(eci\014ed)f(b)m(y)390 5121 y(the)g(giv)m(en)h(OID.)f(The)f(output,)i +(if)f(the)g(ra)m(w)g(\015ag)g(is)g(not)g(used,)g(will)g(b)s(e)f(enco)s +(ded)h(as)g(describ)s(ed)390 5230 y(in)44 b(RF)m(C2253.)83 +b(Th)m(us)43 b(a)h(string)g(that)g(is)g(ASCI)s(I)e(or)i(UTF-8)h(enco)s +(ded,)i(dep)s(ending)42 b(on)i(the)390 5340 y(certi\014cate)32 +b(data.)p eop end +%%Page: 203 209 +TeXDict begin 203 208 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(203)390 299 y(Some)32 +b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f +(in)g(gn)m(utls/x509.h)j(If)e(ra)m(w)g(\015ag)h(is)390 +408 y(zero,)39 b(this)e(function)f(will)h(only)f(return)g(kno)m(wn)g (OIDs)g(as)h(text.)61 b(Other)36 b(OIDs)g(will)h(b)s(e)f(DER)390 -1627 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f -(hex)g(format)h(with)e(a)i(')p Fs(\\)p FB(#')f(pre\014x.)39 -b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 1736 y(ab)s(out)i(kno)m(wn)g -(OIDs)g(using)g Fs(gnutls_x509_dn_oid_known)o(\(\))p -FB(.)390 1871 y(If)g Fs(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f -(size)h(will)g(b)s(e)f(\014lled.)390 2005 y Fn(Returns:)71 -b FB(GNUTLS)p 1196 2005 V 39 w(E)p 1297 2005 V 40 w(SHOR)-8 -b(T)p 1652 2005 V 39 w(MEMOR)g(Y)p 2117 2005 V 41 w(BUFFER)47 -b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 2114 -y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p -2018 2114 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g -(required)g(size.)390 2224 y(On)g(success)g(0)h(is)f(returned.)150 -2422 y Fu(gn)m(utls)p 483 2422 37 5 v 55 w(x509)p 786 -2422 V 54 w(crt)p 993 2422 V 54 w(get)p 1212 2422 V 54 -w(issuer)p 1570 2422 V 55 w(dn)p 1761 2422 V 54 w(oid)3350 -2618 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q +518 y(enco)s(ded,)29 b(as)f(describ)s(ed)f(in)h(RF)m(C2253)i({)f(in)f +(hex)g(format)h(with)e(a)i(')p Ft(\\)p FB(#')f(pre\014x.)39 +b(Y)-8 b(ou)29 b(can)f(c)m(hec)m(k)390 628 y(ab)s(out)i(kno)m(wn)g +(OIDs)g(using)g Ft(gnutls_x509_dn_oid_known)o(\(\))p +FB(.)390 762 y(If)g Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f +(size)h(will)g(b)s(e)f(\014lled.)390 896 y Fn(Returns:)71 +b FB(GNUTLS)p 1196 896 28 4 v 39 w(E)p 1297 896 V 40 +w(SHOR)-8 b(T)p 1652 896 V 39 w(MEMOR)g(Y)p 2117 896 +V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 +1006 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p +2018 1006 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g +(required)g(size.)390 1116 y(On)g(success)g(0)h(is)f(returned.)150 +1315 y Fv(gn)m(utls)p 483 1315 37 5 v 55 w(x509)p 786 +1315 V 54 w(crt)p 993 1315 V 54 w(get)p 1212 1315 V 54 +w(issuer)p 1570 1315 V 55 w(dn)p 1761 1315 V 54 w(oid)3350 +1511 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q (ssue)q(r_d)q(n_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2412 -2618 28 4 v 40 w(x509)p 2635 2618 V 42 w(crt)p 2788 2618 -V 40 w(t)31 b Fe(cert)12 b Ff(,)565 2728 y(in)m(t)31 -b Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(oid)12 b Ff(,)31 -b(size)p 1624 2728 V 41 w(t)g(*)f Fe(sizeof_oid)12 b -Fg(\))390 2837 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 2972 y Ff(indx)6 -b FB(:)40 b(This)30 b(sp)s(eci\014es)g(whic)m(h)g(OID)g(to)h(return.)40 -b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 -3106 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g -(to)h(hold)f(the)h(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 -3240 y Ff(sizeof)p 610 3240 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 3374 y FB(This)e(function)h -(will)g(extract)i(the)e(OIDs)f(of)i(the)f(name)g(of)g(the)g -(Certi\014cate)h(issuer)f(sp)s(eci\014ed)f(b)m(y)390 -3483 y(the)i(giv)m(en)g(index.)390 3618 y(If)f Fs(oid)f -FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f(\014lled.) -390 3752 y Fn(Returns:)71 b FB(GNUTLS)p 1196 3752 V 39 -w(E)p 1297 3752 V 40 w(SHOR)-8 b(T)p 1652 3752 V 39 w(MEMOR)g(Y)p -2117 3752 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i -(not)390 3861 y(long)31 b(enough,)g(and)f(in)h(that)g(case)h(the)f -(*sizeof)p 2022 3861 V 41 w(oid)g(will)g(b)s(e)f(up)s(dated)g(with)g -(the)h(required)f(size.)390 3971 y(On)g(success)g(0)h(is)f(returned.) -150 4169 y Fu(gn)m(utls)p 483 4169 37 5 v 55 w(x509)p -786 4169 V 54 w(crt)p 993 4169 V 54 w(get)p 1212 4169 -V 54 w(issuer)p 1570 4169 V 55 w(dn)3350 4365 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q(ssue)q(r_d)q(n)e -Fg(\()p Ff(gn)m(utls)p 2202 4365 28 4 v 41 w(x509)p 2426 -4365 V 42 w(crt)p 2579 4365 V 40 w(t)31 b Fe(cert)12 -b Ff(,)31 b(c)m(har)g(*)565 4475 y Fe(buf)12 b Ff(,)31 -b(size)p 936 4475 V 41 w(t)g(*)f Fe(sizeof_buf)12 b Fg(\))390 -4584 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4719 y Ff(buf)16 +1511 28 4 v 40 w(x509)p 2635 1511 V 42 w(crt)p 2788 1511 +V 40 w(t)31 b Fe(cert)p Ff(,)565 1621 y(in)m(t)g Fe(indx)p +Ff(,)h(v)m(oid)f(*)f Fe(oid)p Ff(,)i(size)p 1601 1621 +V 41 w(t)f(*)f Fe(sizeof_oid)12 b Fg(\))390 1730 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 1865 y Ff(indx)6 b FB(:)40 b(This)30 +b(sp)s(eci\014es)g(whic)m(h)g(OID)g(to)h(return.)40 b(Use)31 +b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 1999 y Ff(oid)t +FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g(to)h(hold)f(the)h +(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 2134 y Ff(sizeof)p +610 2134 V 41 w(oid)t FB(:)41 b(initially)31 b(holds)f(the)h(size)g(of) +g Ft(oid)390 2268 y FB(This)e(function)h(will)g(extract)i(the)e(OIDs)f +(of)i(the)f(name)g(of)g(the)g(Certi\014cate)h(issuer)f(sp)s(eci\014ed)f +(b)m(y)390 2378 y(the)i(giv)m(en)g(index.)390 2512 y(If)f +Ft(oid)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will)g(b)s(e)f +(\014lled.)390 2646 y Fn(Returns:)71 b FB(GNUTLS)p 1196 +2646 V 39 w(E)p 1297 2646 V 40 w(SHOR)-8 b(T)p 1652 2646 +V 39 w(MEMOR)g(Y)p 2117 2646 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided) +f(bu\013er)f(is)i(not)390 2756 y(long)31 b(enough,)g(and)f(in)h(that)g +(case)h(the)f(*sizeof)p 2022 2756 V 41 w(oid)g(will)g(b)s(e)f(up)s +(dated)g(with)g(the)h(required)f(size.)390 2866 y(On)g(success)g(0)h +(is)f(returned.)150 3065 y Fv(gn)m(utls)p 483 3065 37 +5 v 55 w(x509)p 786 3065 V 54 w(crt)p 993 3065 V 54 w(get)p +1212 3065 V 54 w(issuer)p 1570 3065 V 55 w(dn)3350 3261 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q(ssue) +q(r_d)q(n)e Fg(\()p Ff(gn)m(utls)p 2202 3261 28 4 v 41 +w(x509)p 2426 3261 V 42 w(crt)p 2579 3261 V 40 w(t)31 +b Fe(cert)p Ff(,)g(c)m(har)g(*)565 3371 y Fe(buf)p Ff(,)h(size)p +925 3371 V 40 w(t)f(*)g Fe(sizeof_buf)12 b Fg(\))390 +3480 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 3615 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f -(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 4853 y -Ff(sizeof)p 610 4853 V 41 w(buf)17 b FB(:)40 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(buf)390 4987 y FB(This)d(function)h +(the)h(name)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 3749 y +Ff(sizeof)p 610 3749 V 41 w(buf)17 b FB(:)40 b(initially)32 +b(holds)e(the)g(size)i(of)e Ft(buf)390 3884 y FB(This)d(function)h (will)g(cop)m(y)g(the)g(name)g(of)g(the)g(Certi\014cate)h(issuer)f(in)f -(the)h(pro)m(vided)g(bu\013er.)38 b(The)390 5096 y(name)24 -b(will)h(b)s(e)e(in)h(the)g(form)g Fs(")p FB(C=xxxx,O=yyyy)-8 -b(,CN=zzzz)p Fs(")24 b FB(as)g(describ)s(ed)f(in)h(RF)m(C2253.)40 -b(The)390 5206 y(output)30 b(string)g(will)h(b)s(e)f(ASCI)s(I)f(or)h +(the)h(pro)m(vided)g(bu\013er.)38 b(The)390 3993 y(name)24 +b(will)h(b)s(e)e(in)h(the)g(form)g Ft(")p FB(C=xxxx,O=yyyy)-8 +b(,CN=zzzz)p Ft(")24 b FB(as)g(describ)s(ed)f(in)h(RF)m(C2253.)40 +b(The)390 4103 y(output)30 b(string)g(will)h(b)s(e)f(ASCI)s(I)f(or)h (UTF-8)h(enco)s(ded,)f(dep)s(ending)f(on)i(the)f(certi\014cate)j(data.) -390 5340 y(If)d Fs(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h -(will)g(b)s(e)f(\014lled.)p eop end -%%Page: 218 224 -TeXDict begin 218 223 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(218)390 299 y -Fn(Returns:)71 b FB(GNUTLS)p 1196 299 28 4 v 39 w(E)p -1297 299 V 40 w(SHOR)-8 b(T)p 1652 299 V 39 w(MEMOR)g(Y)p -2117 299 V 41 w(BUFFER)47 b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i -(not)390 408 y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g -(*sizeof)p 2018 408 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h -(the)g(required)g(size.)390 518 y(On)g(success)g(0)h(is)f(returned.)150 -714 y Fu(gn)m(utls)p 483 714 37 5 v 55 w(x509)p 786 714 -V 54 w(crt)p 993 714 V 54 w(get)p 1212 714 V 54 w(issuer)3350 -907 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_i)q -(ssue)q(r)f Fg(\()p Ff(gn)m(utls)p 2046 907 28 4 v 40 -w(x509)p 2269 907 V 42 w(crt)p 2422 907 V 40 w(t)31 b -Fe(cert)12 b Ff(,)565 1016 y(gn)m(utls)p 811 1016 V 41 -w(x509)p 1035 1016 V 41 w(dn)p 1178 1016 V 39 w(t)31 -b(*)f Fe(dn)12 b Fg(\))390 1126 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -1258 y Ff(dn)p FB(:)40 b(output)30 b(v)-5 b(ariable)31 -b(with)f(p)s(oin)m(ter)g(to)h(opaque)g(DN)390 1391 y(Return)k(the)i -(Certi\014cate's)h(Issuer)d(DN)i(as)f(an)g(opaque)h(data)g(t)m(yp)s(e.) -58 b(Y)-8 b(ou)37 b(ma)m(y)g(use)f Fs(gnutls_)390 1501 -y(x509_dn_get_rdn_ava\(\))25 b FB(to)31 b(deco)s(de)f(the)h(DN.)390 -1633 y(Note)d(that)g Fs(dn)e FB(should)g(b)s(e)g(treated)i(as)f -(constan)m(t.)41 b(Because)28 b(p)s(oin)m(ts)e(in)m(to)i(the)f -Fs(cert)f FB(ob)5 b(ject,)29 b(y)m(ou)390 1743 y(ma)m(y)i(not)g(deallo) -s(cate)h Fs(cert)e FB(and)f(con)m(tin)m(ue)j(to)f(access)h -Fs(dn)p FB(.)390 1875 y Fn(Returns:)40 b FB(Returns)30 +390 4237 y(If)d Ft(buf)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h +(will)g(b)s(e)f(\014lled.)390 4372 y Fn(Returns:)71 b +FB(GNUTLS)p 1196 4372 V 39 w(E)p 1297 4372 V 40 w(SHOR)-8 +b(T)p 1652 4372 V 39 w(MEMOR)g(Y)p 2117 4372 V 41 w(BUFFER)47 +b(if)e(the)h(pro)m(vided)f(bu\013er)f(is)i(not)390 4481 +y(long)31 b(enough,)f(and)g(in)f(that)i(case)g(the)g(*sizeof)p +2018 4481 V 41 w(buf)e(will)i(b)s(e)e(up)s(dated)g(with)h(the)g +(required)g(size.)390 4591 y(On)g(success)g(0)h(is)f(returned.)150 +4790 y Fv(gn)m(utls)p 483 4790 37 5 v 55 w(x509)p 786 +4790 V 54 w(crt)p 993 4790 V 54 w(get)p 1212 4790 V 54 +w(issuer)3350 4986 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_x509_crt_get_i)q(ssue)q(r)f Fg(\()p Ff(gn)m(utls)p +2046 4986 28 4 v 40 w(x509)p 2269 4986 V 42 w(crt)p 2422 +4986 V 40 w(t)31 b Fe(cert)p Ff(,)565 5096 y(gn)m(utls)p +811 5096 V 41 w(x509)p 1035 5096 V 41 w(dn)p 1178 5096 +V 39 w(t)g(*)f Fe(dn)12 b Fg(\))390 5206 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 5340 y Ff(dn)p FB(:)40 b(output)30 +b(v)-5 b(ariable)31 b(with)f(p)s(oin)m(ter)g(to)h(opaque)g(DN)p +eop end +%%Page: 204 210 +TeXDict begin 204 209 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(204)390 299 y(Return)35 +b(the)i(Certi\014cate's)h(Issuer)d(DN)i(as)f(an)g(opaque)h(data)g(t)m +(yp)s(e.)58 b(Y)-8 b(ou)37 b(ma)m(y)g(use)f Ft(gnutls_)390 +408 y(x509_dn_get_rdn_ava\(\))25 b FB(to)31 b(deco)s(de)f(the)h(DN.)390 +541 y(Note)d(that)g Ft(dn)e FB(should)g(b)s(e)g(treated)i(as)f(constan) +m(t.)41 b(Because)28 b(p)s(oin)m(ts)e(in)m(to)i(the)f +Ft(cert)f FB(ob)5 b(ject,)29 b(y)m(ou)390 651 y(ma)m(y)i(not)g(deallo)s +(cate)h Ft(cert)e FB(and)f(con)m(tin)m(ue)j(to)f(access)h +Ft(dn)p FB(.)390 783 y Fn(Returns:)40 b FB(Returns)30 b(0)h(on)f(success,)h(or)f(an)g(error)g(co)s(de.)150 -2071 y Fu(gn)m(utls)p 483 2071 37 5 v 55 w(x509)p 786 -2071 V 54 w(crt)p 993 2071 V 54 w(get)p 1212 2071 V 54 -w(k)m(ey)p 1449 2071 V 53 w(id)3350 2264 y FB([F)-8 b(unction])-3599 +979 y Fv(gn)m(utls)p 483 979 37 5 v 55 w(x509)p 786 979 +V 54 w(crt)p 993 979 V 54 w(get)p 1212 979 V 54 w(k)m(ey)p +1449 979 V 53 w(id)3350 1172 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_k)q(ey_i)q(d)f Fg(\()p -Ff(gn)m(utls)p 2046 2264 28 4 v 40 w(x509)p 2269 2264 -V 42 w(crt)p 2422 2264 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 -b(unsigned)565 2374 y(in)m(t)g Fe(flags)12 b Ff(,)32 -b(unsigned)d(c)m(har)i(*)f Fe(output_data)12 b Ff(,)34 -b(size)p 2477 2374 V 41 w(t)c(*)h Fe(output_data_size)12 -b Fg(\))390 2483 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 2616 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w) -390 2748 y Ff(output)p 664 2748 V 40 w(data)p FB(:)41 -b(will)31 b(con)m(tain)h(the)e(k)m(ey)h(ID)390 2881 y -Ff(output)p 664 2881 V 40 w(data)p 880 2881 V 40 w(size)5 -b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p 2093 -2881 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 2991 y(size)c(of)g(parameters\))390 3123 -y(This)24 b(function)h(will)h(return)e(a)i(unique)e(ID)h(the)h(dep)s -(ends)d(on)i(the)h(public)e(k)m(ey)i(parameters.)40 b(This)390 -3233 y(ID)27 b(can)g(b)s(e)g(used)f(in)g(c)m(hec)m(king)j(whether)d(a)i -(certi\014cate)h(corresp)s(onds)c(to)j(the)f(giv)m(en)h(priv)-5 -b(ate)27 b(k)m(ey)-8 b(.)390 3366 y(If)30 b(the)h(bu\013er)f(pro)m -(vided)g(is)g(not)h(long)h(enough)e(to)h(hold)g(the)f(output,)h(then)f -(*output)p 3357 3366 V 40 w(data)p 3573 3366 V 41 w(size)390 -3475 y(is)44 b(up)s(dated)f(and)h(GNUTLS)p 1443 3475 -V 40 w(E)p 1545 3475 V 40 w(SHOR)-8 b(T)p 1900 3475 V -39 w(MEMOR)g(Y)p 2365 3475 V 41 w(BUFFER)45 b(will)g(b)s(e)e(returned.) -81 b(The)390 3585 y(output)30 b(will)h(normally)f(b)s(e)g(a)h(SHA-1)g +Ff(gn)m(utls)p 2046 1172 28 4 v 40 w(x509)p 2269 1172 +V 42 w(crt)p 2422 1172 V 40 w(t)31 b Fe(crt)p Ff(,)g(unsigned)565 +1281 y(in)m(t)g Fe(flags)p Ff(,)h(unsigned)d(c)m(har)i(*)g +Fe(output_data)p Ff(,)j(size)p 2454 1281 V 41 w(t)c(*)h +Fe(output_data_size)12 b Fg(\))390 1391 y Ff(crt)r FB(:)41 +b(Holds)31 b(the)f(certi\014cate)390 1524 y Ff(\015ags)t +FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 1656 +y Ff(output)p 664 1656 V 40 w(data)p FB(:)41 b(will)31 +b(con)m(tain)h(the)e(k)m(ey)h(ID)390 1789 y Ff(output)p +664 1789 V 40 w(data)p 880 1789 V 40 w(size)5 b FB(:)49 +b(holds)34 b(the)g(size)h(of)f(output)p 2093 1789 V 39 +w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i(actual)390 +1899 y(size)c(of)g(parameters\))390 2031 y(This)24 b(function)h(will)h +(return)e(a)i(unique)e(ID)h(the)h(dep)s(ends)d(on)i(the)h(public)e(k)m +(ey)i(parameters.)40 b(This)390 2141 y(ID)27 b(can)g(b)s(e)g(used)f(in) +g(c)m(hec)m(king)j(whether)d(a)i(certi\014cate)h(corresp)s(onds)c(to)j +(the)f(giv)m(en)h(priv)-5 b(ate)27 b(k)m(ey)-8 b(.)390 +2273 y(If)30 b(the)h(bu\013er)f(pro)m(vided)g(is)g(not)h(long)h(enough) +e(to)h(hold)g(the)f(output,)h(then)f(*output)p 3357 2273 +V 40 w(data)p 3573 2273 V 41 w(size)390 2383 y(is)44 +b(up)s(dated)f(and)h(GNUTLS)p 1443 2383 V 40 w(E)p 1545 +2383 V 40 w(SHOR)-8 b(T)p 1900 2383 V 39 w(MEMOR)g(Y)p +2365 2383 V 41 w(BUFFER)45 b(will)g(b)s(e)e(returned.)81 +b(The)390 2493 y(output)30 b(will)h(normally)f(b)s(e)g(a)h(SHA-1)g (hash)e(output,)i(whic)m(h)f(is)g(20)h(b)m(ytes.)390 -3717 y Fn(Return)f(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f +2625 y Fn(Return)f(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f (a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0) -h(on)f(success.)150 3913 y Fu(gn)m(utls)p 483 3913 37 -5 v 55 w(x509)p 786 3913 V 54 w(crt)p 993 3913 V 54 w(get)p -1212 3913 V 54 w(k)m(ey)p 1449 3913 V 53 w(purp)s(ose)p -1924 3913 V 56 w(oid)3350 4106 y FB([F)-8 b(unction])-3599 +h(on)f(success.)150 2821 y Fv(gn)m(utls)p 483 2821 37 +5 v 55 w(x509)p 786 2821 V 54 w(crt)p 993 2821 V 54 w(get)p +1212 2821 V 54 w(k)m(ey)p 1449 2821 V 53 w(purp)s(ose)p +1924 2821 V 56 w(oid)3350 3014 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_k)q(ey_p)q(urp)q(ose)q(_oi)q(d)e -Fg(\()p Ff(gn)m(utls)p 2516 4106 28 4 v 41 w(x509)p 2740 -4106 V 41 w(crt)p 2892 4106 V 41 w(t)565 4215 y Fe(cert)12 -b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)32 b(v)m(oid)f(*)f -Fe(oid)12 b Ff(,)31 b(size)p 1900 4215 V 41 w(t)g(*)g -Fe(sizeof_oid)12 b Ff(,)33 b(unsigned)c(in)m(t)i(*)g -Fe(critical)12 b Fg(\))390 4325 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -4458 y Ff(indx)6 b FB(:)40 b(This)30 b(sp)s(eci\014es)g(whic)m(h)g(OID) -g(to)h(return.)40 b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 -4590 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g +Fg(\()p Ff(gn)m(utls)p 2516 3014 28 4 v 41 w(x509)p 2740 +3014 V 41 w(crt)p 2892 3014 V 41 w(t)565 3123 y Fe(cert)p +Ff(,)32 b(in)m(t)f Fe(indx)p Ff(,)h(v)m(oid)f(*)f Fe(oid)p +Ff(,)i(size)p 1866 3123 V 41 w(t)e(*)h Fe(sizeof_oid)p +Ff(,)j(unsigned)29 b(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 +3233 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 3366 y Ff(indx)6 +b FB(:)40 b(This)30 b(sp)s(eci\014es)g(whic)m(h)g(OID)g(to)h(return.)40 +b(Use)31 b(zero)g(to)g(get)g(the)g(\014rst)f(one.)390 +3498 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(bu\013er)g (to)h(hold)f(the)h(OID)f(\(ma)m(y)h(b)s(e)f(n)m(ull\))390 -4723 y Ff(sizeof)p 610 4723 V 41 w(oid)t FB(:)41 b(initially)31 -b(holds)f(the)h(size)g(of)g Fs(oid)390 4856 y Ff(critical)t -FB(:)42 b(output)30 b(\015ag)h(to)g(indicate)g(criticalit)m(y)j(of)c -(extension)390 4988 y(This)36 b(function)h(will)h(extract)g(the)g(k)m -(ey)g(purp)s(ose)d(OIDs)i(of)g(the)h(Certi\014cate)g(sp)s(eci\014ed)f -(b)m(y)g(the)390 5098 y(giv)m(en)e(index.)50 b(These)33 -b(are)h(stored)g(in)f(the)h(Extended)f(Key)h(Usage)h(extension)f -(\(2.5.29.37\))k(See)390 5207 y(the)31 b(GNUTLS)p 934 -5207 V 39 w(KP)p 1106 5207 V 40 w(*)g(de\014nitions)e(for)i(h)m(uman)e -(readable)i(names.)390 5340 y(If)f Fs(oid)f FB(is)i(n)m(ull)f(then)g -(only)h(the)f(size)h(will)g(b)s(e)f(\014lled.)p eop end -%%Page: 219 225 -TeXDict begin 219 224 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(219)390 299 y -Fn(Returns:)39 b Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 -b FB(if)27 b(the)h(pro)m(vided)e(bu\013er)h(is)g(not)g(long)h(enough,) -390 408 y(and)h(in)h(that)g(case)h(the)f(*sizeof)p 1481 -408 28 4 v 42 w(oid)g(will)g(b)s(e)g(up)s(dated)e(with)i(the)g -(required)f(size.)41 b(On)29 b(success)i(0)390 518 y(is)f(returned.)150 -724 y Fu(gn)m(utls)p 483 724 37 5 v 55 w(x509)p 786 724 -V 54 w(crt)p 993 724 V 54 w(get)p 1212 724 V 54 w(k)m(ey)p -1449 724 V 53 w(usage)3350 928 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_get_k)q(ey_u)q(sag)q(e)e -Fg(\()p Ff(gn)m(utls)p 2202 928 28 4 v 41 w(x509)p 2426 -928 V 42 w(crt)p 2579 928 V 40 w(t)31 b Fe(cert)12 b -Ff(,)565 1038 y(unsigned)29 b(in)m(t)i(*)g Fe(key_usage)12 -b Ff(,)33 b(unsigned)c(in)m(t)i(*)g Fe(critical)12 b -Fg(\))390 1147 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 1289 y Ff(k)m(ey)p -529 1289 V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g -(bits)f(will)h(b)s(e)f(stored)390 1430 y Ff(critical)t +3631 y Ff(sizeof)p 610 3631 V 41 w(oid)t FB(:)41 b(initially)31 +b(holds)f(the)h(size)g(of)g Ft(oid)390 3763 y FB(This)36 +b(function)h(will)h(extract)g(the)g(k)m(ey)g(purp)s(ose)d(OIDs)i(of)g +(the)h(Certi\014cate)g(sp)s(eci\014ed)f(b)m(y)g(the)390 +3873 y(giv)m(en)e(index.)50 b(These)33 b(are)h(stored)g(in)f(the)h +(Extended)f(Key)h(Usage)h(extension)f(\(2.5.29.37\))k(See)390 +3983 y(the)31 b(GNUTLS)p 934 3983 V 39 w(KP)p 1106 3983 +V 40 w(*)g(de\014nitions)e(for)i(h)m(uman)e(readable)i(names.)390 +4115 y(If)f Ft(oid)f FB(is)i(n)m(ull)f(then)g(only)h(the)f(size)h(will) +g(b)s(e)f(\014lled.)390 4248 y Fn(Returns:)39 b Ft +(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)21 b FB(if)27 b(the)h(pro)m(vided)e +(bu\013er)h(is)g(not)g(long)h(enough,)390 4357 y(and)h(in)h(that)g +(case)h(the)f(*sizeof)p 1481 4357 V 42 w(oid)g(will)g(b)s(e)g(up)s +(dated)e(with)i(the)g(required)f(size.)41 b(On)29 b(success)i(0)390 +4467 y(is)f(returned.)150 4663 y Fv(gn)m(utls)p 483 4663 +37 5 v 55 w(x509)p 786 4663 V 54 w(crt)p 993 4663 V 54 +w(get)p 1212 4663 V 54 w(k)m(ey)p 1449 4663 V 53 w(usage)3350 +4856 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_k)q +(ey_u)q(sag)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 4856 28 +4 v 41 w(x509)p 2426 4856 V 42 w(crt)p 2579 4856 V 40 +w(t)31 b Fe(cert)p Ff(,)565 4965 y(unsigned)e(in)m(t)i(*)g +Fe(key_usage)p Ff(,)i(unsigned)d(in)m(t)h(*)f Fe(critical)12 +b Fg(\))390 5075 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 5207 y Ff(k)m(ey)p +529 5207 V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g +(bits)f(will)h(b)s(e)f(stored)390 5340 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f -(mark)m(ed)g(as)h(critical)390 1571 y(This)i(function)h(will)g(return)f -(certi\014cate's)j(k)m(ey)f(usage,)h(b)m(y)d(reading)h(the)h(k)m -(eyUsage)h(X.509)f(ex-)390 1681 y(tension)c(\(2.5.29.15\).)44 -b(The)30 b(k)m(ey)h(usage)g(v)-5 b(alue)31 b(will)390 -1823 y Fn(ORed)98 b(v)-5 b(alues)98 b(of)g(the:)177 b -Fs(GNUTLS_KEY_DIGITAL_SIGN)o(ATUR)o(E)p FB(,)109 b Fs(GNUTLS_KEY_NON_) -390 1932 y(REPUDIATION)p FB(,)64 b Fs(GNUTLS_KEY_KEY_ENCIPHERMEN)o(T)p -FB(,)d Fs(GNUTLS_KEY_DATA_ENCIPHERME)o(NT)p FB(,)390 -2042 y Fs(GNUTLS_KEY_KEY_AGREEMENT)o FB(,)38 b Fs -(GNUTLS_KEY_KEY_CERT_SIGN)o FB(,)g Fs(GNUTLS_KEY_CRL_SIGN)p -FB(,)390 2151 y Fs(GNUTLS_KEY_ENCIPHER_ONLY)o FB(,)25 -b Fs(GNUTLS_KEY_DECIPHER_ONLY)o FB(.)390 2293 y Fn(Returns:)56 -b FB(the)39 b(certi\014cate)h(k)m(ey)f(usage,)j(or)c(a)h(negativ)m(e)h -(v)-5 b(alue)39 b(in)f(case)i(of)e(parsing)g(error.)64 -b(If)390 2402 y(the)30 b(certi\014cate)h(do)s(es)e(not)h(con)m(tain)h -(the)f(k)m(eyUsage)h(extension)g Fs(GNUTLS_E_REQUESTED_DATA)o(_)390 -2512 y(NOT_AVAILABLE)c FB(will)j(b)s(e)g(returned.)150 -2718 y Fu(gn)m(utls)p 483 2718 37 5 v 55 w(x509)p 786 -2718 V 54 w(crt)p 993 2718 V 54 w(get)p 1212 2718 V 54 -w(pk)p 1399 2718 V 54 w(algorithm)3350 2922 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_p)q(k_al)q(gor)q -(ith)q(m)e Fg(\()p Ff(gn)m(utls)p 2359 2922 28 4 v 41 -w(x509)p 2583 2922 V 41 w(crt)p 2735 2922 V 41 w(t)31 -b Fe(cert)12 b Ff(,)565 3031 y(unsigned)29 b(in)m(t)i(*)g -Fe(bits)12 b Fg(\))390 3141 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -3282 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h -(will)g(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -3424 y(This)g(function)g(will)g(return)g(the)g(public)g(k)m(ey)h -(algorithm)g(of)g(an)f(X.509)i(certi\014cate.)390 3565 -y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i(enough)f -(size)h(to)g(hold)f(the)h(parameters)f(size)h(in)f(bits.)40 -b(F)-8 b(or)390 3675 y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s -(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g -(the)g(public)390 3784 y(exp)s(onen)m(t.)390 3926 y Fn(Returns:)61 -b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 4036 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 4242 -y Fu(gn)m(utls)p 483 4242 37 5 v 55 w(x509)p 786 4242 -V 54 w(crt)p 993 4242 V 54 w(get)p 1212 4242 V 54 w(pk)p -1399 4242 V 54 w(dsa)p 1629 4242 V 54 w(ra)m(w)3350 4445 +(mark)m(ed)g(as)h(critical)p eop end +%%Page: 205 211 +TeXDict begin 205 210 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(205)390 299 y(This)33 +b(function)h(will)g(return)f(certi\014cate's)j(k)m(ey)f(usage,)h(b)m(y) +d(reading)h(the)h(k)m(eyUsage)h(X.509)f(ex-)390 408 y(tension)c +(\(2.5.29.15\).)44 b(The)30 b(k)m(ey)h(usage)g(v)-5 b(alue)31 +b(will)390 543 y Fn(ORed)98 b(v)-5 b(alues)98 b(of)g(the:)177 +b Ft(GNUTLS_KEY_DIGITAL_SIGN)o(ATUR)o(E)p FB(,)109 b +Ft(GNUTLS_KEY_NON_)390 652 y(REPUDIATION)p FB(,)64 b +Ft(GNUTLS_KEY_KEY_ENCIPHERMEN)o(T)p FB(,)d Ft +(GNUTLS_KEY_DATA_ENCIPHERME)o(NT)p FB(,)390 762 y Ft +(GNUTLS_KEY_KEY_AGREEMENT)o FB(,)38 b Ft(GNUTLS_KEY_KEY_CERT_SIGN)o +FB(,)g Ft(GNUTLS_KEY_CRL_SIGN)p FB(,)390 872 y Ft +(GNUTLS_KEY_ENCIPHER_ONLY)o FB(,)25 b Ft(GNUTLS_KEY_DECIPHER_ONLY)o +FB(.)390 1006 y Fn(Returns:)56 b FB(the)39 b(certi\014cate)h(k)m(ey)f +(usage,)j(or)c(a)h(negativ)m(e)h(v)-5 b(alue)39 b(in)f(case)i(of)e +(parsing)g(error.)64 b(If)390 1116 y(the)30 b(certi\014cate)h(do)s(es)e +(not)h(con)m(tain)h(the)f(k)m(eyUsage)h(extension)g Ft +(GNUTLS_E_REQUESTED_DATA)o(_)390 1225 y(NOT_AVAILABLE)c +FB(will)j(b)s(e)g(returned.)150 1424 y Fv(gn)m(utls)p +483 1424 37 5 v 55 w(x509)p 786 1424 V 54 w(crt)p 993 +1424 V 54 w(get)p 1212 1424 V 54 w(pk)p 1399 1424 V 54 +w(algorithm)3350 1621 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_x509_crt_get_p)q(k_al)q(gor)q(ith)q(m)e Fg(\()p +Ff(gn)m(utls)p 2359 1621 28 4 v 41 w(x509)p 2583 1621 +V 41 w(crt)p 2735 1621 V 41 w(t)31 b Fe(cert)p Ff(,)565 +1730 y(unsigned)e(in)m(t)i(*)g Fe(bits)12 b Fg(\))390 +1840 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 1974 y Ff(bits)t +FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g(hold)f(the)h +(size)g(of)f(the)h(parameters')g(in)f(bits)390 2109 y(This)g(function)g +(will)g(return)g(the)g(public)g(k)m(ey)h(algorithm)g(of)g(an)f(X.509)i +(certi\014cate.)390 2243 y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h +(should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the)h(parameters)f +(size)h(in)f(bits.)40 b(F)-8 b(or)390 2353 y(RSA)33 b(the)h(bits)f +(returned)f(is)i(the)f(mo)s(dulus.)49 b(F)-8 b(or)34 +b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public)390 +2462 y(exp)s(onen)m(t.)390 2597 y Fn(Returns:)61 b FB(a)40 +b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 2706 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 2905 +y Fv(gn)m(utls)p 483 2905 37 5 v 55 w(x509)p 786 2905 +V 54 w(crt)p 993 2905 V 54 w(get)p 1212 2905 V 54 w(pk)p +1399 2905 V 54 w(dsa)p 1629 2905 V 54 w(ra)m(w)3350 3102 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_p)q(k_ds) -q(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2255 4445 28 4 v -41 w(x509)p 2479 4445 V 41 w(crt)p 2631 4445 V 40 w(t)31 -b Fe(crt)12 b Ff(,)565 4555 y(gn)m(utls)p 811 4555 V -41 w(datum)p 1110 4555 V 39 w(t)31 b(*)g Fe(p)12 b Ff(,)30 -b(gn)m(utls)p 1650 4555 V 40 w(datum)p 1948 4555 V 40 -w(t)h(*)f Fe(q)12 b Ff(,)31 b(gn)m(utls)p 2489 4555 V -40 w(datum)p 2787 4555 V 40 w(t)f(*)h Fe(g)12 b Ff(,)30 -b(gn)m(utls)p 3327 4555 V 41 w(datum)p 3626 4555 V 39 -w(t)565 4665 y(*)h Fe(y)12 b Fg(\))390 4774 y Ff(crt)r -FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 4916 y Ff(p)s -FB(:)40 b(will)31 b(hold)f(the)g(p)390 5057 y Ff(q)r -FB(:)41 b(will)30 b(hold)g(the)h(q)390 5199 y Ff(g)8 -b FB(:)41 b(will)31 b(hold)f(the)g(g)390 5340 y Ff(y)8 -b FB(:)40 b(will)31 b(hold)f(the)h(y)p eop end -%%Page: 220 226 -TeXDict begin 220 225 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(220)390 299 y(This)37 -b(function)g(will)g(exp)s(ort)h(the)f(DSA)h(public)e(k)m(ey's)i -(parameters)g(found)e(in)h(the)h(giv)m(en)g(cer-)390 -408 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f(allo) -s(cated)j(using)d Fs(gnutls_malloc\(\))c FB(and)36 b(will)g(b)s(e)390 -518 y(stored)30 b(in)h(the)f(appropriate)h(datum.)390 -656 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)150 858 y Fu(gn)m(utls)p -483 858 37 5 v 55 w(x509)p 786 858 V 54 w(crt)p 993 858 -V 54 w(get)p 1212 858 V 54 w(pk)p 1399 858 V 54 w(rsa)p -1611 858 V 54 w(ra)m(w)3350 1058 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_get_p)q(k_rs)q(a_r)q(aw)f -Fg(\()p Ff(gn)m(utls)p 2255 1058 28 4 v 41 w(x509)p 2479 -1058 V 41 w(crt)p 2631 1058 V 40 w(t)31 b Fe(crt)12 b -Ff(,)565 1167 y(gn)m(utls)p 811 1167 V 41 w(datum)p 1110 -1167 V 39 w(t)31 b(*)g Fe(m)12 b Ff(,)30 b(gn)m(utls)p -1650 1167 V 40 w(datum)p 1948 1167 V 40 w(t)h(*)f Fe(e)12 -b Fg(\))390 1277 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 1415 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 -1552 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m -(t)390 1690 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f -(k)m(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 -1799 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s -(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) -390 1909 y(in)30 b(the)h(appropriate)f(datum.)390 2046 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)150 2249 y Fu(gn)m(utls)p -483 2249 37 5 v 55 w(x509)p 786 2249 V 54 w(crt)p 993 -2249 V 54 w(get)p 1212 2249 V 54 w(pro)m(xy)3350 2449 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_p)q(roxy) -f Fg(\()p Ff(gn)m(utls)p 1993 2449 28 4 v 41 w(x509)p -2217 2449 V 41 w(crt)p 2369 2449 V 41 w(t)30 b Fe(cert)12 -b Ff(,)32 b(unsigned)565 2558 y(in)m(t)f(*)g Fe(critical)12 -b Ff(,)32 b(in)m(t)f(*)g Fe(pathlen)12 b Ff(,)32 b(c)m(har)f(**)g -Fe(policyLanguage)12 b Ff(,)34 b(c)m(har)d(**)g Fe(policy)12 -b Ff(,)565 2668 y(size)p 712 2668 V 41 w(t)31 b(*)f Fe(sizeof_policy)12 -b Fg(\))390 2777 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 2915 y Ff(critical)t +q(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2255 3102 28 4 v +41 w(x509)p 2479 3102 V 41 w(crt)p 2631 3102 V 40 w(t)31 +b Fe(crt)p Ff(,)565 3212 y(gn)m(utls)p 811 3212 V 41 +w(datum)p 1110 3212 V 39 w(t)g(*)g Fe(p)p Ff(,)f(gn)m(utls)p +1638 3212 V 41 w(datum)p 1937 3212 V 39 w(t)h(*)g Fe(q)p +Ff(,)g(gn)m(utls)p 2466 3212 V 40 w(datum)p 2764 3212 +V 40 w(t)f(*)h Fe(g)p Ff(,)g(gn)m(utls)p 3293 3212 V +40 w(datum)p 3591 3212 V 40 w(t)g(*)565 3321 y Fe(y)12 +b Fg(\))390 3431 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) +390 3565 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 +3700 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 +3834 y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 +3968 y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 +4103 y(This)37 b(function)g(will)g(exp)s(ort)h(the)f(DSA)h(public)e(k)m +(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(cer-)390 +4212 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f +(allo)s(cated)j(using)d Ft(gnutls_malloc\(\))c FB(and)36 +b(will)g(b)s(e)390 4322 y(stored)30 b(in)h(the)f(appropriate)h(datum.) +390 4456 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b +FB(on)31 b(success,)f(otherwise)h(an)f(error.)150 4655 +y Fv(gn)m(utls)p 483 4655 37 5 v 55 w(x509)p 786 4655 +V 54 w(crt)p 993 4655 V 54 w(get)p 1212 4655 V 54 w(pk)p +1399 4655 V 54 w(rsa)p 1611 4655 V 54 w(ra)m(w)3350 4852 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_p)q(k_rs) +q(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2255 4852 28 4 v +41 w(x509)p 2479 4852 V 41 w(crt)p 2631 4852 V 40 w(t)31 +b Fe(crt)p Ff(,)565 4962 y(gn)m(utls)p 811 4962 V 41 +w(datum)p 1110 4962 V 39 w(t)g(*)g Fe(m)p Ff(,)f(gn)m(utls)p +1638 4962 V 41 w(datum)p 1937 4962 V 39 w(t)h(*)g Fe(e)12 +b Fg(\))390 5071 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) +390 5206 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 +5340 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m +(t)p eop end +%%Page: 206 212 +TeXDict begin 206 211 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(206)390 299 y(This)31 +b(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f(k)m(ey's)i +(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 +408 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s +(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) +390 518 y(in)30 b(the)h(appropriate)f(datum.)390 649 +y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)150 840 y Fv(gn)m(utls)p +483 840 37 5 v 55 w(x509)p 786 840 V 54 w(crt)p 993 840 +V 54 w(get)p 1212 840 V 54 w(pro)m(xy)3350 1029 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_p)q(roxy)f +Fg(\()p Ff(gn)m(utls)p 1993 1029 28 4 v 41 w(x509)p 2217 +1029 V 41 w(crt)p 2369 1029 V 41 w(t)30 b Fe(cert)p Ff(,)i(unsigned)565 +1139 y(in)m(t)f(*)g Fe(critical)p Ff(,)i(in)m(t)e(*)f +Fe(pathlen)p Ff(,)j(c)m(har)e(**)g Fe(policyLanguage)p +Ff(,)k(c)m(har)c(**)g Fe(policy)p Ff(,)565 1248 y(size)p +712 1248 V 41 w(t)g(*)f Fe(sizeof_policy)12 b Fg(\))390 +1358 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 1489 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f -(mark)m(ed)g(as)h(critical)390 3052 y Ff(pathlen)p FB(:)72 +(mark)m(ed)g(as)h(critical)390 1619 y Ff(pathlen)p FB(:)72 b(p)s(oin)m(ter)45 b(to)i(output)e(in)m(teger)i(indicating)g(path)f -(length)g(\(ma)m(y)h(b)s(e)e(NULL\),)h(non-)390 3162 +(length)g(\(ma)m(y)h(b)s(e)e(NULL\),)h(non-)390 1729 y(negativ)m(e)38 b(v)-5 b(alues)36 b(indicate)h(a)f(presen)m(t)g(pCP)m (athLenConstrain)m(t)g(\014eld)g(and)f(the)h(actual)h(v)-5 -b(alue,)390 3272 y(-1)31 b(indicate)g(that)g(the)g(\014eld)f(is)g -(absen)m(t.)390 3409 y Ff(p)s(olicyLanguage)5 b FB(:)42 -b(output)30 b(v)-5 b(ariable)31 b(with)f(OID)h(of)f(p)s(olicy)h -(language)390 3547 y Ff(p)s(olicy)8 b FB(:)41 b(output)30 -b(v)-5 b(ariable)31 b(with)f(p)s(olicy)h(data)390 3684 -y Ff(sizeof)p 610 3684 V 41 w(p)s(olicy)8 b FB(:)41 b(output)30 -b(v)-5 b(ariable)31 b(size)g(of)g(p)s(olicy)g(data)390 -3822 y(This)22 b(function)h(will)g(get)h(information)g(from)e(a)i(pro)m -(xy)f(certi\014cate.)40 b(It)23 b(reads)g(the)g(Pro)m(xyCertInfo)390 -3932 y(X.509)32 b(extension)f(\(1.3.6.1.5.5.7.1.1)q(4\).)390 -4069 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 4179 y(is)f(returned.)150 4381 y Fu(gn)m(utls)p 483 -4381 37 5 v 55 w(x509)p 786 4381 V 54 w(crt)p 993 4381 -V 54 w(get)p 1212 4381 V 54 w(ra)m(w)p 1462 4381 V 53 -w(dn)3350 4581 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_get_r)q(aw_d)q(n)f Fg(\()p Ff(gn)m(utls)p -2046 4581 28 4 v 40 w(x509)p 2269 4581 V 42 w(crt)p 2422 -4581 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 4690 y(gn)m(utls)p -811 4690 V 41 w(datum)p 1110 4690 V 39 w(t)31 b(*)g Fe(start)12 -b Fg(\))390 4800 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4938 y Ff(start)r -FB(:)41 b(will)31 b(hold)f(the)h(starting)g(p)s(oin)m(t)f(of)h(the)f -(DN)390 5075 y(This)c(function)g(will)h(return)e(a)i(p)s(oin)m(ter)g -(to)g(the)g(DER)f(enco)s(ded)h(DN)g(structure)f(and)g(the)g(length.)390 -5213 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +b(alue,)390 1838 y(-1)31 b(indicate)g(that)g(the)g(\014eld)f(is)g +(absen)m(t.)390 1969 y(This)i(function)h(will)h(read)f(the)h +(certi\014cate's)h(basic)f(constrain)m(ts,)h(and)d(return)h(the)g +(certi\014cates)390 2079 y(CA)d(status.)41 b(It)31 b(reads)f(the)g +(basicConstrain)m(ts)h(X.509)i(extension)e(\(2.5.29.19\).)390 +2209 y Fn(Return)40 b(v)-5 b(alue:)61 b FB(If)40 b(the)h(certi\014cate) +h(is)f(a)g(CA)f(a)h(p)s(ositiv)m(e)g(v)-5 b(alue)41 b(will)g(b)s(e)f +(returned,)i(or)e(zero)390 2319 y(if)f(the)h(certi\014cate)h(do)s(es)f +(not)f(ha)m(v)m(e)i(CA)e(\015ag)h(set.)68 b(A)40 b(negativ)m(e)h(v)-5 +b(alue)40 b(ma)m(y)g(b)s(e)f(returned)f(in)390 2428 y(case)47 +b(of)f(errors.)87 b(If)45 b(the)h(certi\014cate)i(do)s(es)d(not)h(con)m +(tain)i(the)e(basicConstrain)m(ts)g(extension)390 2538 +y(GNUTLS)p 777 2538 V 40 w(E)p 879 2538 V 40 w(REQUESTED)p +1497 2538 V 39 w(D)m(A)-8 b(T)g(A)p 1788 2538 V 41 w(NOT)p +2034 2538 V 40 w(A)e(V)g(AILABLE)30 b(will)h(b)s(e)f(returned.)150 +2729 y Fv(gn)m(utls)p 483 2729 37 5 v 55 w(x509)p 786 +2729 V 54 w(crt)p 993 2729 V 54 w(get)p 1212 2729 V 54 +w(ra)m(w)p 1462 2729 V 53 w(dn)3350 2919 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_get_r)q(aw_d)q(n)f Fg(\()p +Ff(gn)m(utls)p 2046 2919 28 4 v 40 w(x509)p 2269 2919 +V 42 w(crt)p 2422 2919 V 40 w(t)31 b Fe(cert)p Ff(,)565 +3028 y(gn)m(utls)p 811 3028 V 41 w(datum)p 1110 3028 +V 39 w(t)g(*)g Fe(start)12 b Fg(\))390 3138 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 3268 y Ff(start)r FB(:)41 b(will)31 +b(hold)f(the)h(starting)g(p)s(oin)m(t)f(of)h(the)f(DN)390 +3399 y(This)c(function)g(will)h(return)e(a)i(p)s(oin)m(ter)g(to)g(the)g +(DER)f(enco)s(ded)h(DN)g(structure)f(and)g(the)g(length.)390 +3530 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 5322 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 -b(on)f(error.)p eop end -%%Page: 221 227 -TeXDict begin 221 226 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(221)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(ra)m(w)p -1462 299 V 53 w(issuer)p 1819 299 V 55 w(dn)3350 508 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_r)q(aw_i) -q(ssu)q(er_)q(dn)f Fg(\()p Ff(gn)m(utls)p 2412 508 28 -4 v 40 w(x509)p 2635 508 V 42 w(crt)p 2788 508 V 40 w(t)31 -b Fe(cert)12 b Ff(,)565 618 y(gn)m(utls)p 811 618 V 41 -w(datum)p 1110 618 V 39 w(t)31 b(*)g Fe(start)12 b Fg(\))390 -727 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 874 y Ff(start)r -FB(:)41 b(will)31 b(hold)f(the)h(starting)g(p)s(oin)m(t)f(of)h(the)f -(DN)390 1021 y(This)c(function)g(will)h(return)e(a)i(p)s(oin)m(ter)g -(to)g(the)g(DER)f(enco)s(ded)h(DN)g(structure)f(and)g(the)g(length.)390 -1168 y Fn(Returns:)73 b FB(On)47 b(success,)k Fs(GNUTLS_E_SUCCESS)42 +b(alue.)390 3639 y(or)30 b(a)h(negativ)m(e)i(v)-5 b(alue)31 +b(on)f(error.)150 3831 y Fv(gn)m(utls)p 483 3831 37 5 +v 55 w(x509)p 786 3831 V 54 w(crt)p 993 3831 V 54 w(get)p +1212 3831 V 54 w(ra)m(w)p 1462 3831 V 53 w(issuer)p 1819 +3831 V 55 w(dn)3350 4020 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_get_r)q(aw_i)q(ssu)q(er_)q(dn)f +Fg(\()p Ff(gn)m(utls)p 2412 4020 28 4 v 40 w(x509)p 2635 +4020 V 42 w(crt)p 2788 4020 V 40 w(t)31 b Fe(cert)p Ff(,)565 +4129 y(gn)m(utls)p 811 4129 V 41 w(datum)p 1110 4129 +V 39 w(t)g(*)g Fe(start)12 b Fg(\))390 4239 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 4369 y Ff(start)r FB(:)41 b(will)31 +b(hold)f(the)h(starting)g(p)s(oin)m(t)f(of)h(the)f(DN)390 +4500 y(This)c(function)g(will)h(return)e(a)i(p)s(oin)m(ter)g(to)g(the)g +(DER)f(enco)s(ded)h(DN)g(structure)f(and)g(the)g(length.)390 +4631 y Fn(Returns:)73 b FB(On)47 b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 -1277 y(v)-5 b(alue.or)31 b(a)g(negativ)m(e)i(v)-5 b(alue)30 -b(on)h(error.)150 1489 y Fu(gn)m(utls)p 483 1489 37 5 -v 55 w(x509)p 786 1489 V 54 w(crt)p 993 1489 V 54 w(get)p -1212 1489 V 54 w(serial)3350 1698 y FB([F)-8 b(unction])-3599 +4740 y(v)-5 b(alue.or)31 b(a)g(negativ)m(e)i(v)-5 b(alue)30 +b(on)h(error.)150 4932 y Fv(gn)m(utls)p 483 4932 37 5 +v 55 w(x509)p 786 4932 V 54 w(crt)p 993 4932 V 54 w(get)p +1212 4932 V 54 w(serial)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(eria)q(l)f Fg(\()p -Ff(gn)m(utls)p 2046 1698 28 4 v 40 w(x509)p 2269 1698 -V 42 w(crt)p 2422 1698 V 40 w(t)31 b Fe(cert)12 b Ff(,)31 -b(v)m(oid)g(*)565 1807 y Fe(result)12 b Ff(,)32 b(size)p -1093 1807 V 41 w(t)f(*)f Fe(result_size)12 b Fg(\))390 -1917 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 2064 y Ff(result)r -FB(:)41 b(The)29 b(place)j(where)e(the)g(serial)h(n)m(um)m(b)s(er)e -(will)i(b)s(e)f(copied)390 2211 y Ff(result)p 619 2211 -V 40 w(size)5 b FB(:)42 b(Holds)30 b(the)h(size)g(of)g(the)f(result)g -(\014eld.)390 2357 y(This)35 b(function)g(will)i(return)d(the)i(X.509)i -(certi\014cate's)g(serial)e(n)m(um)m(b)s(er.)56 b(This)35 -b(is)h(obtained)g(b)m(y)390 2467 y(the)f(X509)i(Certi\014cate)f -(serialNum)m(b)s(er)f(\014eld.)54 b(Serial)35 b(is)g(not)g(alw)m(a)m -(ys)i(a)e(32)h(or)f(64bit)h(n)m(um)m(b)s(er.)390 2577 +Ff(gn)m(utls)p 2046 5121 28 4 v 40 w(x509)p 2269 5121 +V 42 w(crt)p 2422 5121 V 40 w(t)31 b Fe(cert)p Ff(,)g(v)m(oid)g(*)565 +5230 y Fe(result)p Ff(,)h(size)p 1081 5230 V 41 w(t)f(*)g +Fe(result_size)12 b Fg(\))390 5340 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)p eop end +%%Page: 207 213 +TeXDict begin 207 212 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(207)390 299 y +Ff(result)r FB(:)41 b(The)29 b(place)j(where)e(the)g(serial)h(n)m(um)m +(b)s(er)e(will)i(b)s(e)f(copied)390 427 y Ff(result)p +619 427 28 4 v 40 w(size)5 b FB(:)42 b(Holds)30 b(the)h(size)g(of)g +(the)f(result)g(\014eld.)390 555 y(This)35 b(function)g(will)i(return)d +(the)i(X.509)i(certi\014cate's)g(serial)e(n)m(um)m(b)s(er.)56 +b(This)35 b(is)h(obtained)g(b)m(y)390 664 y(the)f(X509)i(Certi\014cate) +f(serialNum)m(b)s(er)f(\014eld.)54 b(Serial)35 b(is)g(not)g(alw)m(a)m +(ys)i(a)e(32)h(or)f(64bit)h(n)m(um)m(b)s(er.)390 774 y(Some)g(CAs)g(use)g(large)h(serial)g(n)m(um)m(b)s(ers,)f(th)m(us)g(it) h(ma)m(y)f(b)s(e)g(wise)g(to)h(handle)e(it)i(as)f(something)390 -2686 y(opaque.)390 2833 y Fn(Returns:)73 b FB(On)47 b(success,)k -Fs(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g -(negativ)m(e)i(error)390 2943 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j -(v)-5 b(alue)31 b(in)f(case)h(of)g(an)f(error.)150 3154 -y Fu(gn)m(utls)p 483 3154 37 5 v 55 w(x509)p 786 3154 -V 54 w(crt)p 993 3154 V 54 w(get)p 1212 3154 V 54 w(signature)p -1759 3154 V 55 w(algorithm)3350 3363 y FB([F)-8 b(unction])-3599 +884 y(opaque.)390 1012 y Fn(Returns:)73 b FB(On)47 b(success,)k +Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g +(negativ)m(e)i(error)390 1121 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j +(v)-5 b(alue)31 b(in)f(case)h(of)g(an)f(error.)150 1307 +y Fv(gn)m(utls)p 483 1307 37 5 v 55 w(x509)p 786 1307 +V 54 w(crt)p 993 1307 V 54 w(get)p 1212 1307 V 54 w(signature)p +1759 1307 V 55 w(algorithm)3350 1491 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(igna)q(tur)q(e_a)q(lgo)q(rith)q -(m)e Fg(\()p Ff(gn)m(utls)p 2725 3363 28 4 v 41 w(x509)p -2949 3363 V 42 w(crt)p 3102 3363 V 40 w(t)565 3473 y -Fe(cert)12 b Fg(\))390 3582 y Ff(cert)r FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 b FB(structure)390 -3729 y(This)f(function)h(will)h(return)e(a)h(v)-5 b(alue)27 -b(of)f(the)h Fs(gnutls_sign_algorithm_t)20 b FB(en)m(umeration)26 -b(that)390 3839 y(is)k(the)h(signature)g(algorithm.)390 -3986 y Fn(Returns:)40 b FB(a)31 b Fs(gnutls_sign_algorithm_t)24 +(m)e Fg(\()p Ff(gn)m(utls)p 2725 1491 28 4 v 41 w(x509)p +2949 1491 V 42 w(crt)p 3102 1491 V 40 w(t)565 1601 y +Fe(cert)12 b Fg(\))390 1710 y Ff(cert)r FB(:)41 b(should)30 +b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 b FB(structure)390 +1838 y(This)f(function)h(will)h(return)e(a)h(v)-5 b(alue)27 +b(of)f(the)h Ft(gnutls_sign_algorithm_t)20 b FB(en)m(umeration)26 +b(that)390 1948 y(is)k(the)h(signature)g(algorithm.)390 +2076 y Fn(Returns:)40 b FB(a)31 b Ft(gnutls_sign_algorithm_t)24 b FB(v)-5 b(alue,)31 b(or)g(a)f(negativ)m(e)j(v)-5 b(alue)31 -b(on)f(error.)150 4197 y Fu(gn)m(utls)p 483 4197 37 5 -v 55 w(x509)p 786 4197 V 54 w(crt)p 993 4197 V 54 w(get)p -1212 4197 V 54 w(signature)3350 4406 y FB([F)-8 b(unction])-3599 +b(on)f(error.)150 2262 y Fv(gn)m(utls)p 483 2262 37 5 +v 55 w(x509)p 786 2262 V 54 w(crt)p 993 2262 V 54 w(get)p +1212 2262 V 54 w(signature)3350 2446 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(igna)q(tur)q(e)e -Fg(\()p Ff(gn)m(utls)p 2202 4406 28 4 v 41 w(x509)p 2426 -4406 V 42 w(crt)p 2579 4406 V 40 w(t)31 b Fe(cert)12 -b Ff(,)31 b(c)m(har)g(*)565 4516 y Fe(sig)12 b Ff(,)31 -b(size)p 936 4516 V 41 w(t)g(*)f Fe(sizeof_sig)12 b Fg(\))390 -4625 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4772 y Ff(sig)8 -b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(where)g(the)h(signature)f(part)h -(will)f(b)s(e)g(copied)h(\(ma)m(y)g(b)s(e)f(n)m(ull\).)390 -4919 y Ff(sizeof)p 610 4919 V 41 w(sig)8 b FB(:)41 b(initially)32 -b(holds)e(the)g(size)i(of)e Fs(sig)390 5066 y FB(This)g(function)g -(will)g(extract)i(the)f(signature)f(\014eld)g(of)h(a)g(certi\014cate.) -390 5213 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS) -16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 5322 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 -b(on)f(error.)p eop end -%%Page: 222 228 -TeXDict begin 222 227 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(222)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +Fg(\()p Ff(gn)m(utls)p 2202 2446 28 4 v 41 w(x509)p 2426 +2446 V 42 w(crt)p 2579 2446 V 40 w(t)31 b Fe(cert)p Ff(,)g(c)m(har)g(*) +565 2556 y Fe(sig)p Ff(,)h(size)p 925 2556 V 40 w(t)f(*)g +Fe(sizeof_sig)12 b Fg(\))390 2665 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 2793 y Ff(sig)8 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f +(where)g(the)h(signature)f(part)h(will)f(b)s(e)g(copied)h(\(ma)m(y)g(b) +s(e)f(n)m(ull\).)390 2921 y Ff(sizeof)p 610 2921 V 41 +w(sig)8 b FB(:)41 b(initially)32 b(holds)e(the)g(size)i(of)e +Ft(sig)390 3049 y FB(This)g(function)g(will)g(extract)i(the)f +(signature)f(\014eld)g(of)h(a)g(certi\014cate.)390 3177 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)390 3287 y(and)30 b(a)h(negativ)m(e)h(v)-5 b(alue)31 +b(on)f(error.)150 3473 y Fv(gn)m(utls)p 483 3473 37 5 +v 55 w(x509)p 786 3473 V 54 w(crt)p 993 3473 V 54 w(get)p +1212 3473 V 54 w(sub)7 b(ject)p 1653 3473 V 54 w(alt)p +1849 3473 V 54 w(name2)3350 3657 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje)q(ct_)q(alt)q(_na)q(me2)f +Fg(\()p Ff(gn)m(utls)p 2621 3657 28 4 v 41 w(x509)p 2845 +3657 V 41 w(crt)p 2997 3657 V 40 w(t)565 3766 y Fe(cert)p +Ff(,)32 b(unsigned)d(in)m(t)i Fe(seq)p Ff(,)h(v)m(oid)e(*)h +Fe(ret)p Ff(,)h(size)p 2193 3766 V 41 w(t)e(*)h Fe(ret_size)p +Ff(,)i(unsigned)c(in)m(t*)565 3876 y Fe(ret_type)p Ff(,)k(unsigned)c +(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 3985 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 4113 y Ff(seq)r FB(:)38 b(sp)s(eci\014es)23 +b(the)h(sequence)g(n)m(um)m(b)s(er)f(of)g(the)h(alt)h(name)f(\(0)g(for) +g(the)g(\014rst)f(one,)i(1)f(for)g(the)g(second)390 4223 +y(etc.\))390 4351 y Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f +(the)h(alternativ)m(e)i(name)d(will)h(b)s(e)e(copied)i(to)390 +4479 y Ff(ret)p 507 4479 V 40 w(size)5 b FB(:)42 b(holds)30 +b(the)g(size)i(of)e(ret.)390 4607 y Ff(ret)p 507 4607 +V 40 w(t)m(yp)s(e)5 b FB(:)36 b(holds)20 b(the)h(t)m(yp)s(e)f(of)g(the) +h(alternativ)m(e)i(name)d(\(one)h(of)f(gn)m(utls)p 2798 +4607 V 41 w(x509)p 3022 4607 V 41 w(sub)5 b(ject)p 3349 +4607 V 40 w(alt)p 3494 4607 V 41 w(name)p 3747 4607 V +40 w(t\).)390 4735 y Ff(critical)t FB(:)42 b(will)31 +b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f(mark)m(ed)g(as)h +(critical)h(\(ma)m(y)g(b)s(e)d(n)m(ull\))390 4863 y(This)g(function)h +(will)h(return)e(the)h(alternativ)m(e)i(names,)f(con)m(tained)g(in)f +(the)g(giv)m(en)h(certi\014cate.)43 b(It)390 4973 y(is)31 +b(the)f(same)h(as)g Ft(gnutls_x509_crt_get_subje)o(ct_)o(alt_)o(name)o +(\(\))24 b FB(except)32 b(for)e(the)h(fact)g(that)390 +5082 y(it)h(will)g(return)f(the)h(t)m(yp)s(e)g(of)f(the)h(alternativ)m +(e)j(name)c(in)h Ft(ret_type)d FB(ev)m(en)j(if)g(the)g(function)f +(fails)390 5192 y(for)f(some)h(reason)g(\(i.e.)41 b(the)31 +b(bu\013er)e(pro)m(vided)h(is)h(not)f(enough\).)390 5320 +y(The)21 b(return)g(v)-5 b(alues)22 b(are)g(the)g(same)g(as)g(with)f +Ft(gnutls_x509_crt_get_subje)o(ct_)o(alt_)o(name)o(\(\))p +FB(.)p eop end +%%Page: 208 214 +TeXDict begin 208 213 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(208)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 w(crt)p 993 299 V 54 w(get)p 1212 299 V 54 w(sub)7 b(ject)p -1653 299 V 54 w(alt)p 1849 299 V 54 w(name2)3350 497 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje) -q(ct_)q(alt)q(_na)q(me2)f Fg(\()p Ff(gn)m(utls)p 2621 -497 28 4 v 41 w(x509)p 2845 497 V 41 w(crt)p 2997 497 -V 40 w(t)565 606 y Fe(cert)12 b Ff(,)31 b(unsigned)f(in)m(t)h -Fe(seq)12 b Ff(,)31 b(v)m(oid)g(*)f Fe(ret)12 b Ff(,)31 -b(size)p 2227 606 V 41 w(t)g(*)g Fe(ret_size)12 b Ff(,)32 -b(unsigned)d(in)m(t)i(*)565 716 y Fe(ret_type)12 b Ff(,)33 -b(unsigned)c(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 -826 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 961 y Ff(seq)r -FB(:)38 b(sp)s(eci\014es)23 b(the)h(sequence)g(n)m(um)m(b)s(er)f(of)g -(the)h(alt)h(name)f(\(0)g(for)g(the)g(\014rst)f(one,)i(1)f(for)g(the)g -(second)390 1071 y(etc.\))390 1206 y Ff(ret)r FB(:)41 -b(is)30 b(the)h(place)g(where)f(the)h(alternativ)m(e)i(name)d(will)h(b) -s(e)e(copied)i(to)390 1342 y Ff(ret)p 507 1342 V 40 w(size)5 -b FB(:)42 b(holds)30 b(the)g(size)i(of)e(ret.)390 1478 -y Ff(ret)p 507 1478 V 40 w(t)m(yp)s(e)5 b FB(:)36 b(holds)20 -b(the)h(t)m(yp)s(e)f(of)g(the)h(alternativ)m(e)i(name)d(\(one)h(of)f -(gn)m(utls)p 2798 1478 V 41 w(x509)p 3022 1478 V 41 w(sub)5 -b(ject)p 3349 1478 V 40 w(alt)p 3494 1478 V 41 w(name)p -3747 1478 V 40 w(t\).)390 1613 y Ff(critical)t FB(:)42 -b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f(mark)m(ed) -g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m(ull\))390 1749 -y(This)g(function)h(will)h(return)e(the)h(alternativ)m(e)i(names,)f -(con)m(tained)g(in)f(the)g(giv)m(en)h(certi\014cate.)43 -b(It)390 1858 y(is)31 b(the)f(same)h(as)g Fs(gnutls_x509_crt_get_subje) -o(ct_)o(alt_)o(name)o(\(\))24 b FB(except)32 b(for)e(the)h(fact)g(that) -390 1968 y(it)h(will)g(return)f(the)h(t)m(yp)s(e)g(of)f(the)h -(alternativ)m(e)j(name)c(in)h Fs(ret_type)d FB(ev)m(en)j(if)g(the)g -(function)f(fails)390 2077 y(for)f(some)h(reason)g(\(i.e.)41 -b(the)31 b(bu\013er)e(pro)m(vided)h(is)h(not)f(enough\).)390 -2213 y Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 -b(ject)51 b(name)f(t)m(yp)s(e)h(on)f(success,)56 b(one)51 -b(of)g(the)g(en)m(umerated)390 2323 y Fs(gnutls_x509_subject_alt_)o -(name)o(_t)p FB(.)32 b(It)24 b(will)g(return)f Fs -(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)390 2432 y FB(if)30 -b Fs(ret_size)e FB(is)i(not)g(large)h(enough)f(to)h(hold)e(the)h(v)-5 -b(alue.)41 b(In)30 b(that)g(case)h Fs(ret_size)d FB(will)i(b)s(e)g(up-) -390 2542 y(dated)24 b(with)g(the)g(required)f(size.)39 -b(If)24 b(the)g(certi\014cate)i(do)s(es)d(not)h(ha)m(v)m(e)h(an)f -(Alternativ)m(e)i(name)e(with)390 2651 y(the)41 b(sp)s(eci\014ed)g -(sequence)g(n)m(um)m(b)s(er)f(then)h Fs(GNUTLS_E_REQUESTED_DATA_)o -(NOT_)o(AVA)o(ILAB)o(LE)35 b FB(is)390 2761 y(returned.)150 -2961 y Fu(gn)m(utls)p 483 2961 37 5 v 55 w(x509)p 786 -2961 V 54 w(crt)p 993 2961 V 54 w(get)p 1212 2961 V 54 -w(sub)7 b(ject)p 1653 2961 V 54 w(alt)p 1849 2961 V 54 -w(name)3350 3159 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_get_s)q(ubje)q(ct_)q(alt)q(_na)q(me)f -Fg(\()p Ff(gn)m(utls)p 2569 3159 28 4 v 40 w(x509)p 2792 -3159 V 42 w(crt)p 2945 3159 V 40 w(t)565 3269 y Fe(cert)12 -b Ff(,)31 b(unsigned)f(in)m(t)h Fe(seq)12 b Ff(,)31 b(v)m(oid)g(*)f -Fe(ret)12 b Ff(,)31 b(size)p 2227 3269 V 41 w(t)g(*)g -Fe(ret_size)12 b Ff(,)32 b(unsigned)d(in)m(t)i(*)565 -3378 y Fe(critical)12 b Fg(\))390 3488 y Ff(cert)r FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_x509_crt_t)26 -b FB(structure)390 3624 y Ff(seq)r FB(:)38 b(sp)s(eci\014es)23 +1653 299 V 54 w(alt)p 1849 299 V 54 w(name)3350 497 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje)q +(ct_)q(alt)q(_na)q(me)f Fg(\()p Ff(gn)m(utls)p 2569 497 +28 4 v 40 w(x509)p 2792 497 V 42 w(crt)p 2945 497 V 40 +w(t)565 606 y Fe(cert)p Ff(,)32 b(unsigned)d(in)m(t)i +Fe(seq)p Ff(,)h(v)m(oid)e(*)h Fe(ret)p Ff(,)h(size)p +2193 606 V 41 w(t)e(*)h Fe(ret_size)p Ff(,)i(unsigned)c(in)m(t)i(*)565 +716 y Fe(critical)12 b Fg(\))390 826 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g Ft(gnutls_x509_crt_t)26 +b FB(structure)390 961 y Ff(seq)r FB(:)38 b(sp)s(eci\014es)23 b(the)h(sequence)g(n)m(um)m(b)s(er)f(of)g(the)h(alt)h(name)f(\(0)g(for) -g(the)g(\014rst)f(one,)i(1)f(for)g(the)g(second)390 3733 -y(etc.\))390 3869 y Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f +g(the)g(\014rst)f(one,)i(1)f(for)g(the)g(second)390 1071 +y(etc.\))390 1206 y Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f (the)h(alternativ)m(e)i(name)d(will)h(b)s(e)e(copied)i(to)390 -4004 y Ff(ret)p 507 4004 V 40 w(size)5 b FB(:)42 b(holds)30 -b(the)g(size)i(of)e(ret.)390 4140 y Ff(critical)t FB(:)42 +1342 y Ff(ret)p 507 1342 V 40 w(size)5 b FB(:)42 b(holds)30 +b(the)g(size)i(of)e(ret.)390 1478 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the)h(extension)g(is)f(mark)m(ed) -g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m(ull\))390 4276 +g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m(ull\))390 1613 y(This)h(function)g(will)g(return)g(the)g(alternativ)m(e)j(names,)e (con)m(tained)g(in)f(the)h(giv)m(en)g(certi\014cate.)390 -4411 y(This)c(is)h(sp)s(eci\014ed)f(in)g(X509v3)i(Certi\014cate)g +1749 y(This)c(is)h(sp)s(eci\014ed)f(in)g(X509v3)i(Certi\014cate)g (Extensions.)40 b(GNUTLS)28 b(will)g(return)e(the)i(Alterna-)390 -4521 y(tiv)m(e)k(name)e(\(2.5.29.17\),)35 b(or)30 b(a)h(negativ)m(e)i -(error)d(co)s(de.)390 4656 y(When)g(the)h(SAN)f(t)m(yp)s(e)g(is)h +1858 y(tiv)m(e)k(name)e(\(2.5.29.17\),)35 b(or)30 b(a)h(negativ)m(e)i +(error)d(co)s(de.)390 1994 y(When)g(the)h(SAN)f(t)m(yp)s(e)g(is)h (otherName,)g(it)g(will)g(extract)h(the)e(data)h(in)f(the)h -(otherName's)g(v)-5 b(alue)390 4766 y(\014eld,)29 b(and)e -Fs(GNUTLS_SAN_OTHERNAME)c FB(is)28 b(returned.)39 b(Y)-8 -b(ou)29 b(ma)m(y)g(use)e Fs(gnutls_x509_crt_get_)390 -4876 y(subject_alt_othername_oi)o(d\(\))15 b FB(to)23 -b(get)g(the)f(corresp)s(onding)f(OID)g(and)h(the)g Fs(")p -FB(virtual)p Fs(")f FB(SAN)390 4985 y(t)m(yp)s(es)30 -b(\(e.g.,)j Fs(GNUTLS_SAN_OTHERNAME_XM)o(PP)p FB(\).)390 -5121 y(If)j(an)h(otherName)h(OID)e(is)h(kno)m(wn,)h(the)f(data)g(will)g +(otherName's)g(v)-5 b(alue)390 2104 y(\014eld,)29 b(and)e +Ft(GNUTLS_SAN_OTHERNAME)c FB(is)28 b(returned.)39 b(Y)-8 +b(ou)29 b(ma)m(y)g(use)e Ft(gnutls_x509_crt_get_)390 +2213 y(subject_alt_othername_oi)o(d\(\))15 b FB(to)23 +b(get)g(the)f(corresp)s(onding)f(OID)g(and)h(the)g Ft(")p +FB(virtual)p Ft(")f FB(SAN)390 2323 y(t)m(yp)s(es)30 +b(\(e.g.,)j Ft(GNUTLS_SAN_OTHERNAME_XM)o(PP)p FB(\).)390 +2458 y(If)j(an)h(otherName)h(OID)e(is)h(kno)m(wn,)h(the)f(data)g(will)g (b)s(e)f(deco)s(ded.)60 b(Otherwise)36 b(the)h(returned)390 -5230 y(data)d(will)f(b)s(e)g(DER)g(enco)s(ded,)h(and)f(y)m(ou)g(will)h +2568 y(data)d(will)f(b)s(e)g(DER)g(enco)s(ded,)h(and)f(y)m(ou)g(will)h (ha)m(v)m(e)g(to)g(deco)s(de)g(it)f(y)m(ourself.)50 b(Curren)m(tly)-8 -b(,)34 b(only)390 5340 y(the)d(RF)m(C)f(3920)i(id-on-xmppAddr)d(SAN)h -(is)g(recognized.)p eop end -%%Page: 223 229 -TeXDict begin 223 228 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(223)390 299 y -Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 b(ject)51 -b(name)f(t)m(yp)s(e)h(on)f(success,)56 b(one)51 b(of)g(the)g(en)m -(umerated)390 408 y Fs(gnutls_x509_subject_alt_)o(name)o(_t)p -FB(.)32 b(It)24 b(will)g(return)f Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o -(R)390 518 y FB(if)30 b Fs(ret_size)e FB(is)i(not)g(large)h(enough)f -(to)h(hold)e(the)h(v)-5 b(alue.)41 b(In)30 b(that)g(case)h -Fs(ret_size)d FB(will)i(b)s(e)g(up-)390 628 y(dated)24 +b(,)34 b(only)390 2677 y(the)d(RF)m(C)f(3920)i(id-on-xmppAddr)d(SAN)h +(is)g(recognized.)390 2813 y Fn(Returns:)81 b FB(the)50 +b(alternativ)m(e)j(sub)5 b(ject)51 b(name)f(t)m(yp)s(e)h(on)f(success,) +56 b(one)51 b(of)g(the)g(en)m(umerated)390 2923 y Ft +(gnutls_x509_subject_alt_)o(name)o(_t)p FB(.)32 b(It)24 +b(will)g(return)f Ft(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)390 +3032 y FB(if)30 b Ft(ret_size)e FB(is)i(not)g(large)h(enough)f(to)h +(hold)e(the)h(v)-5 b(alue.)41 b(In)30 b(that)g(case)h +Ft(ret_size)d FB(will)i(b)s(e)g(up-)390 3142 y(dated)24 b(with)g(the)g(required)f(size.)39 b(If)24 b(the)g(certi\014cate)i(do)s (es)d(not)h(ha)m(v)m(e)h(an)f(Alternativ)m(e)i(name)e(with)390 -737 y(the)41 b(sp)s(eci\014ed)g(sequence)g(n)m(um)m(b)s(er)f(then)h -Fs(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVA)o(ILAB)o(LE)35 -b FB(is)390 847 y(returned.)150 1033 y Fu(gn)m(utls)p -483 1033 37 5 v 55 w(x509)p 786 1033 V 54 w(crt)p 993 -1033 V 54 w(get)p 1212 1033 V 54 w(sub)7 b(ject)p 1653 -1033 V 54 w(alt)p 1849 1033 V 54 w(othername)p 2472 1033 -V 54 w(oid)3350 1217 y FB([F)-8 b(unction])-3599 b Fh(int)53 +3251 y(the)41 b(sp)s(eci\014ed)g(sequence)g(n)m(um)m(b)s(er)f(then)h +Ft(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVA)o(ILAB)o(LE)35 +b FB(is)390 3361 y(returned.)150 3561 y Fv(gn)m(utls)p +483 3561 37 5 v 55 w(x509)p 786 3561 V 54 w(crt)p 993 +3561 V 54 w(get)p 1212 3561 V 54 w(sub)7 b(ject)p 1653 +3561 V 54 w(alt)p 1849 3561 V 54 w(othername)p 2472 3561 +V 54 w(oid)3350 3759 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje)q(ct_)q(alt)q(_ot)q(hern)q(ame)q(_oi)q -(d)565 1327 y Fg(\()p Ff(gn)m(utls)p 846 1327 28 4 v -41 w(x509)p 1070 1327 V 41 w(crt)p 1222 1327 V 41 w(t)30 -b Fe(cert)12 b Ff(,)32 b(unsigned)d(in)m(t)i Fe(seq)12 -b Ff(,)31 b(v)m(oid)g(*)f Fe(ret)12 b Ff(,)31 b(size)p -2984 1327 V 41 w(t)g(*)g Fe(ret_size)12 b Fg(\))390 1436 -y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g Fs -(gnutls_x509_crt_t)26 b FB(structure)390 1565 y Ff(seq)r +(d)565 3869 y Fg(\()p Ff(gn)m(utls)p 846 3869 28 4 v +41 w(x509)p 1070 3869 V 41 w(crt)p 1222 3869 V 41 w(t)30 +b Fe(cert)p Ff(,)i(unsigned)d(in)m(t)i Fe(seq)p Ff(,)h(v)m(oid)f(*)f +Fe(ret)p Ff(,)i(size)p 2950 3869 V 41 w(t)e(*)h Fe(ret_size)12 +b Fg(\))390 3978 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 4114 y Ff(seq)r FB(:)38 b(sp)s(eci\014es)23 b(the)h(sequence)g(n)m(um)m(b)s(er)f(of)g (the)h(alt)h(name)f(\(0)g(for)g(the)g(\014rst)f(one,)i(1)f(for)g(the)g -(second)390 1674 y(etc.\))390 1802 y Ff(ret)r FB(:)41 +(second)390 4224 y(etc.\))390 4359 y Ff(ret)r FB(:)41 b(is)30 b(the)h(place)g(where)f(the)h(otherName)g(OID)f(will)h(b)s(e)f -(copied)h(to)390 1930 y Ff(ret)p 507 1930 V 40 w(size)5 -b FB(:)42 b(holds)30 b(the)g(size)i(of)e(ret.)390 2058 +(copied)h(to)390 4495 y Ff(ret)p 507 4495 V 40 w(size)5 +b FB(:)42 b(holds)30 b(the)g(size)i(of)e(ret.)390 4630 y(This)f(function)g(will)h(extract)g(the)g(t)m(yp)s(e)g(OID)f(of)h(an)f (otherName)h(Sub)5 b(ject)29 b(Alternativ)m(e)j(Name,)390 -2168 y(con)m(tained)g(in)e(the)g(giv)m(en)i(certi\014cate,)g(and)e +4740 y(con)m(tained)g(in)e(the)g(giv)m(en)i(certi\014cate,)g(and)e (return)f(the)i(t)m(yp)s(e)f(as)h(an)f(en)m(umerated)h(elemen)m(t.)390 -2296 y(This)c(function)g(is)g(only)g(useful)g(if)g Fs +4876 y(This)c(function)g(is)g(only)g(useful)g(if)g Ft (gnutls_x509_crt_get_subje)o(ct_a)o(lt_)o(name)o(\(\))21 -b FB(returned)390 2406 y Fs(GNUTLS_SAN_OTHERNAME)p FB(.)390 -2534 y Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 +b FB(returned)390 4985 y Ft(GNUTLS_SAN_OTHERNAME)p FB(.)390 +5121 y Fn(Returns:)81 b FB(the)50 b(alternativ)m(e)j(sub)5 b(ject)51 b(name)f(t)m(yp)s(e)h(on)f(success,)56 b(one)51 -b(of)g(the)g(en)m(umerated)390 2643 y(gn)m(utls)p 636 -2643 V 40 w(x509)p 859 2643 V 42 w(sub)5 b(ject)p 1187 -2643 V 40 w(alt)p 1332 2643 V 41 w(name)p 1585 2643 V +b(of)g(the)g(en)m(umerated)390 5230 y(gn)m(utls)p 636 +5230 V 40 w(x509)p 859 5230 V 42 w(sub)5 b(ject)p 1187 +5230 V 40 w(alt)p 1332 5230 V 41 w(name)p 1585 5230 V 40 w(t.)39 b(F)-8 b(or)24 b(supp)s(orted)f(OIDs,)i(it)g(will)f(return)f -(one)h(of)g(the)h(virtual)390 2753 y(\(GNUTLS)p 812 2753 -V 40 w(SAN)p 1039 2753 V 40 w(OTHERNAME)p 1694 2753 V -40 w(*\))79 b(t)m(yp)s(es,)90 b(e.g.)185 b Fs(GNUTLS_SAN_OTHERNAME_XM)o -(PP)p FB(,)390 2863 y(and)43 b Fs(GNUTLS_SAN_OTHERNAME)38 -b FB(for)43 b(unkno)m(wn)f(OIDs.)80 b(It)44 b(will)g(return)e -Fs(GNUTLS_E_SHORT_)390 2972 y(MEMORY_BUFFER)f FB(if)j -Fs(ret_size)f FB(is)h(not)h(large)h(enough)e(to)h(hold)f(the)h(v)-5 -b(alue.)84 b(In)44 b(that)h(case)390 3082 y Fs(ret_size)30 -b FB(will)j(b)s(e)e(up)s(dated)g(with)h(the)g(required)g(size.)47 -b(If)32 b(the)g(certi\014cate)i(do)s(es)e(not)h(ha)m(v)m(e)g(an)390 -3191 y(Alternativ)m(e)h(name)f(with)e(the)i(sp)s(eci\014ed)e(sequence)i -(n)m(um)m(b)s(er)e(and)g(with)h(the)h(otherName)g(t)m(yp)s(e)390 -3301 y(then)d Fs(GNUTLS_E_REQUESTED_DATA_N)o(OT_)o(AVAI)o(LABL)o(E)24 -b FB(is)31 b(returned.)150 3487 y Fu(gn)m(utls)p 483 -3487 37 5 v 55 w(x509)p 786 3487 V 54 w(crt)p 993 3487 -V 54 w(get)p 1212 3487 V 54 w(sub)7 b(ject)p 1653 3487 -V 54 w(k)m(ey)p 1890 3487 V 53 w(id)3350 3671 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje)q(ct_)q -(key)q(_id)f Fg(\()p Ff(gn)m(utls)p 2464 3671 28 4 v -41 w(x509)p 2688 3671 V 41 w(crt)p 2840 3671 V 40 w(t)31 -b Fe(cert)12 b Ff(,)565 3781 y(v)m(oid)31 b(*)g Fe(ret)12 -b Ff(,)31 b(size)p 1209 3781 V 41 w(t)f(*)h Fe(ret_size)12 -b Ff(,)33 b(unsigned)c(in)m(t)i(*)g Fe(critical)12 b -Fg(\))390 3891 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 4019 y Ff(ret)r +(one)h(of)g(the)h(virtual)390 5340 y(\(GNUTLS)p 812 5340 +V 40 w(SAN)p 1039 5340 V 40 w(OTHERNAME)p 1694 5340 V +40 w(*\))79 b(t)m(yp)s(es,)90 b(e.g.)185 b Ft(GNUTLS_SAN_OTHERNAME_XM)o +(PP)p FB(,)p eop end +%%Page: 209 215 +TeXDict begin 209 214 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(209)390 299 y(and)43 +b Ft(GNUTLS_SAN_OTHERNAME)38 b FB(for)43 b(unkno)m(wn)f(OIDs.)80 +b(It)44 b(will)g(return)e Ft(GNUTLS_E_SHORT_)390 408 +y(MEMORY_BUFFER)f FB(if)j Ft(ret_size)f FB(is)h(not)h(large)h(enough)e +(to)h(hold)f(the)h(v)-5 b(alue.)84 b(In)44 b(that)h(case)390 +518 y Ft(ret_size)30 b FB(will)j(b)s(e)e(up)s(dated)g(with)h(the)g +(required)g(size.)47 b(If)32 b(the)g(certi\014cate)i(do)s(es)e(not)h +(ha)m(v)m(e)g(an)390 628 y(Alternativ)m(e)h(name)f(with)e(the)i(sp)s +(eci\014ed)e(sequence)i(n)m(um)m(b)s(er)e(and)g(with)h(the)h(otherName) +g(t)m(yp)s(e)390 737 y(then)d Ft(GNUTLS_E_REQUESTED_DATA_N)o(OT_)o +(AVAI)o(LABL)o(E)24 b FB(is)31 b(returned.)150 940 y +Fv(gn)m(utls)p 483 940 37 5 v 55 w(x509)p 786 940 V 54 +w(crt)p 993 940 V 54 w(get)p 1212 940 V 54 w(sub)7 b(ject)p +1653 940 V 54 w(k)m(ey)p 1890 940 V 53 w(id)3350 1139 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje) +q(ct_)q(key)q(_id)f Fg(\()p Ff(gn)m(utls)p 2464 1139 +28 4 v 41 w(x509)p 2688 1139 V 41 w(crt)p 2840 1139 V +40 w(t)31 b Fe(cert)p Ff(,)565 1249 y(v)m(oid)g(*)g Fe(ret)p +Ff(,)g(size)p 1197 1249 V 41 w(t)g(*)g Fe(ret_size)p +Ff(,)i(unsigned)c(in)m(t)i(*)g Fe(critical)12 b Fg(\))390 +1359 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 1496 y Ff(ret)r FB(:)41 b(The)30 b(place)h(where)f(the)h(iden)m(ti\014er)f(will)h(b)s -(e)f(copied)390 4147 y Ff(ret)p 507 4147 V 40 w(size)5 +(e)f(copied)390 1634 y Ff(ret)p 507 1634 V 40 w(size)5 b FB(:)42 b(Holds)31 b(the)f(size)h(of)g(the)f(result)h(\014eld.)390 -4275 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) +1771 y Ff(critical)t FB(:)42 b(will)31 b(b)s(e)f(non)f(zero)j(if)e(the) h(extension)g(is)f(mark)m(ed)g(as)h(critical)h(\(ma)m(y)g(b)s(e)d(n)m -(ull\))390 4403 y(This)44 b(function)h(will)g(return)f(the)h(X.509v3)i +(ull\))390 1909 y(This)44 b(function)h(will)g(return)f(the)h(X.509v3)i (certi\014cate's)g(sub)5 b(ject)45 b(k)m(ey)h(iden)m(ti\014er.)85 -b(This)44 b(is)390 4513 y(obtained)31 b(b)m(y)f(the)h(X.509)h(Sub)5 +b(This)44 b(is)390 2019 y(obtained)31 b(b)m(y)f(the)h(X.509)h(Sub)5 b(ject)29 b(Key)i(iden)m(ti\014er)f(extension)h(\014eld)f -(\(2.5.29.14\).)390 4641 y Fn(Returns:)73 b FB(On)47 -b(success,)k Fs(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise) -c(a)g(negativ)m(e)i(error)390 4750 y(v)-5 b(alue.and)31 +(\(2.5.29.14\).)390 2156 y Fn(Returns:)73 b FB(On)47 +b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise) +c(a)g(negativ)m(e)i(error)390 2266 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 b(in)f(case)h(of)g(an)f(error.)150 -4937 y Fu(gn)m(utls)p 483 4937 37 5 v 55 w(x509)p 786 -4937 V 54 w(crt)p 993 4937 V 54 w(get)p 1212 4937 V 54 -w(sub)7 b(ject)3350 5121 y FB([F)-8 b(unction])-3599 +2468 y Fv(gn)m(utls)p 483 2468 37 5 v 55 w(x509)p 786 +2468 V 54 w(crt)p 993 2468 V 54 w(get)p 1212 2468 V 54 +w(sub)7 b(ject)3350 2668 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_s)q(ubje)q(ct)f Fg(\()p -Ff(gn)m(utls)p 2098 5121 28 4 v 41 w(x509)p 2322 5121 -V 41 w(crt)p 2474 5121 V 40 w(t)31 b Fe(cert)12 b Ff(,)565 -5230 y(gn)m(utls)p 811 5230 V 41 w(x509)p 1035 5230 V -41 w(dn)p 1178 5230 V 39 w(t)31 b(*)f Fe(dn)12 b Fg(\))390 -5340 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)p eop end -%%Page: 224 230 -TeXDict begin 224 229 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(224)390 299 y -Ff(dn)p FB(:)40 b(output)30 b(v)-5 b(ariable)31 b(with)f(p)s(oin)m(ter) -g(to)h(opaque)g(DN.)390 432 y(Return)g(the)h(Certi\014cate's)h(Sub)5 +Ff(gn)m(utls)p 2098 2668 28 4 v 41 w(x509)p 2322 2668 +V 41 w(crt)p 2474 2668 V 40 w(t)31 b Fe(cert)p Ff(,)565 +2777 y(gn)m(utls)p 811 2777 V 41 w(x509)p 1035 2777 V +41 w(dn)p 1178 2777 V 39 w(t)g(*)f Fe(dn)12 b Fg(\))390 +2887 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 3025 y Ff(dn)p +FB(:)40 b(output)30 b(v)-5 b(ariable)31 b(with)f(p)s(oin)m(ter)g(to)h +(opaque)g(DN.)390 3162 y(Return)g(the)h(Certi\014cate's)h(Sub)5 b(ject)31 b(DN)h(as)g(an)f(opaque)h(data)h(t)m(yp)s(e.)44 -b(Y)-8 b(ou)32 b(ma)m(y)h(use)e Fs(gnutls_)390 541 y +b(Y)-8 b(ou)32 b(ma)m(y)h(use)e Ft(gnutls_)390 3272 y (x509_dn_get_rdn_ava\(\))25 b FB(to)31 b(deco)s(de)f(the)h(DN.)390 -674 y(Note)d(that)g Fs(dn)e FB(should)g(b)s(e)g(treated)i(as)f(constan) -m(t.)41 b(Because)28 b(p)s(oin)m(ts)e(in)m(to)i(the)f -Fs(cert)f FB(ob)5 b(ject,)29 b(y)m(ou)390 784 y(ma)m(y)i(not)g(deallo)s -(cate)h Fs(cert)e FB(and)f(con)m(tin)m(ue)j(to)f(access)h -Fs(dn)p FB(.)390 917 y Fn(Returns:)40 b FB(Returns)30 +3409 y(Note)d(that)g Ft(dn)e FB(should)g(b)s(e)g(treated)i(as)f +(constan)m(t.)41 b(Because)28 b(p)s(oin)m(ts)e(in)m(to)i(the)f +Ft(cert)f FB(ob)5 b(ject,)29 b(y)m(ou)390 3519 y(ma)m(y)i(not)g(deallo) +s(cate)h Ft(cert)e FB(and)f(con)m(tin)m(ue)j(to)f(access)h +Ft(dn)p FB(.)390 3657 y Fn(Returns:)40 b FB(Returns)30 b(0)h(on)f(success,)h(or)f(an)g(error)g(co)s(de.)150 -1113 y Fu(gn)m(utls)p 483 1113 37 5 v 55 w(x509)p 786 -1113 V 54 w(crt)p 993 1113 V 54 w(get)p 1212 1113 V 54 -w(v)m(erify)p 1570 1113 V 54 w(algorithm)3350 1306 y -FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_get_v)q(erif)q -(y_a)q(lgo)q(rit)q(hm)f Fg(\()p Ff(gn)m(utls)p 2569 1306 -28 4 v 40 w(x509)p 2792 1306 V 42 w(crt)p 2945 1306 V -40 w(t)565 1416 y Fe(crt)12 b Ff(,)31 b(const)g(gn)m(utls)p -1273 1416 V 40 w(datum)p 1571 1416 V 40 w(t)g(*)f Fe(signature)12 -b Ff(,)33 b(gn)m(utls)p 2530 1416 V 41 w(digest)p 2803 -1416 V 40 w(algorithm)p 3226 1416 V 42 w(t)d(*)h Fe(hash)12 -b Fg(\))390 1526 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 1658 y Ff(signature)5 b FB(:)41 b(con)m(tains)32 -b(the)e(signature)390 1791 y Ff(hash)p FB(:)40 b(The)30 -b(result)g(of)h(the)f(call)i(with)e(the)h(hash)e(algorithm)j(used)d -(for)h(signature)390 1924 y(This)43 b(function)h(will)g(read)g(the)g -(certifcate)i(and)d(the)h(signed)g(data)h(to)g(determine)f(the)g(hash) -390 2034 y(algorithm)31 b(used)f(to)h(generate)h(the)f(signature.)390 -2167 y Fn(Returns:)40 b FB(the)30 b(0)h(if)e(the)i(hash)e(algorithm)i -(is)f(found.)39 b(A)30 b(negativ)m(e)i(v)-5 b(alue)31 -b(is)f(returned)e(on)i(error.)390 2300 y Fn(Since:)41 -b FB(2.8.0)150 2496 y Fu(gn)m(utls)p 483 2496 37 5 v -55 w(x509)p 786 2496 V 54 w(crt)p 993 2496 V 54 w(get)p -1212 2496 V 54 w(v)m(ersion)3350 2689 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_get_v)q(ersi)q(on)f Fg(\()p -Ff(gn)m(utls)p 2098 2689 28 4 v 41 w(x509)p 2322 2689 -V 41 w(crt)p 2474 2689 V 40 w(t)31 b Fe(cert)12 b Fg(\))390 -2799 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g -Fs(gnutls_x509_crt_t)26 b FB(structure)390 2932 y(This)k(function)g +3859 y Fv(gn)m(utls)p 483 3859 37 5 v 55 w(x509)p 786 +3859 V 54 w(crt)p 993 3859 V 54 w(get)p 1212 3859 V 54 +w(v)m(ersion)3350 4059 y FB([F)-8 b(unction])-3599 b +Fh(int)53 b(gnutls_x509_crt_get_v)q(ersi)q(on)f Fg(\()p +Ff(gn)m(utls)p 2098 4059 28 4 v 41 w(x509)p 2322 4059 +V 41 w(crt)p 2474 4059 V 40 w(t)31 b Fe(cert)12 b Fg(\))390 +4168 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g +Ft(gnutls_x509_crt_t)26 b FB(structure)390 4306 y(This)k(function)g (will)g(return)g(the)g(v)m(ersion)h(of)g(the)f(sp)s(eci\014ed)g -(Certi\014cate.)390 3065 y Fn(Returns:)40 b FB(v)m(ersion)31 +(Certi\014cate.)390 4443 y Fn(Returns:)40 b FB(v)m(ersion)31 b(of)g(certi\014cate,)h(or)f(a)g(negativ)m(e)h(v)-5 b(alue)31 -b(on)f(error.)150 3261 y Fu(gn)m(utls)p 483 3261 37 5 -v 55 w(x509)p 786 3261 V 54 w(crt)p 993 3261 V 54 w(imp)s(ort)3350 -3454 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_impor)q -(t)e Fg(\()p Ff(gn)m(utls)p 1836 3454 28 4 v 41 w(x509)p -2060 3454 V 41 w(crt)p 2212 3454 V 41 w(t)30 b Fe(cert)12 -b Ff(,)32 b(const)565 3564 y(gn)m(utls)p 811 3564 V 41 -w(datum)p 1110 3564 V 39 w(t)f(*)g Fe(data)12 b Ff(,)31 -b(gn)m(utls)p 1807 3564 V 40 w(x509)p 2030 3564 V 42 -w(crt)p 2183 3564 V 40 w(fm)m(t)p 2359 3564 V 40 w(t)g -Fe(format)12 b Fg(\))390 3674 y Ff(cert)r FB(:)41 b(The)30 -b(structure)g(to)h(store)g(the)g(parsed)e(certi\014cate.)390 -3806 y Ff(data)p FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f -(certi\014cate.)390 3939 y Ff(format)r FB(:)41 b(One)30 -b(of)g(DER)h(or)f(PEM)390 4072 y(This)i(function)g(will)h(con)m(v)m -(ert)h(the)e(giv)m(en)i(DER)e(or)h(PEM)f(enco)s(ded)g(Certi\014cate)i -(to)f(the)g(nativ)m(e)390 4182 y(gn)m(utls)p 636 4182 -V 40 w(x509)p 859 4182 V 42 w(crt)p 1012 4182 V 40 w(t)e(format.)41 -b(The)30 b(output)g(will)g(b)s(e)g(stored)h(in)f Fs(cert)p -FB(.)390 4315 y(If)25 b(the)h(Certi\014cate)h(is)f(PEM)g(enco)s(ded)f -(it)h(should)f(ha)m(v)m(e)i(a)f(header)g(of)g Fs(")p -FB(X509)h(CER)-8 b(TIFICA)g(TE)p Fs(")p FB(,)390 4424 -y(or)30 b Fs(")p FB(CER)-8 b(TIFICA)g(TE)p Fs(")p FB(.)390 -4557 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4753 y Fu(gn)m(utls)p 483 4753 37 5 v 55 -w(x509)p 786 4753 V 54 w(crt)p 993 4753 V 54 w(init)3350 -4947 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_init)f -Fg(\()p Ff(gn)m(utls)p 1732 4947 28 4 v 40 w(x509)p 1955 -4947 V 42 w(crt)p 2108 4947 V 40 w(t)31 b(*)g Fe(cert)12 -b Fg(\))390 5056 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) -f(initialized)390 5189 y(This)g(function)g(will)g(initialize)j(an)d -(X.509)i(certi\014cate)h(structure.)390 5322 y Fn(Returns:)j -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(on)f(error.)150 4646 y Fv(gn)m(utls)p 483 4646 37 5 +v 55 w(x509)p 786 4646 V 54 w(crt)p 993 4646 V 54 w(imp)s(ort)3350 +4846 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_impor)q +(t)e Fg(\()p Ff(gn)m(utls)p 1836 4846 28 4 v 41 w(x509)p +2060 4846 V 41 w(crt)p 2212 4846 V 41 w(t)30 b Fe(cert)p +Ff(,)i(const)565 4955 y(gn)m(utls)p 811 4955 V 41 w(datum)p +1110 4955 V 39 w(t)f(*)g Fe(data)p Ff(,)g(gn)m(utls)p +1795 4955 V 41 w(x509)p 2019 4955 V 41 w(crt)p 2171 4955 +V 40 w(fm)m(t)p 2347 4955 V 41 w(t)f Fe(format)12 b Fg(\))390 +5065 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g +(parsed)e(certi\014cate.)390 5202 y Ff(data)p FB(:)41 +b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(certi\014cate.)390 +5340 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)p +eop end +%%Page: 210 216 +TeXDict begin 210 215 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(210)390 299 y(This)32 +b(function)g(will)h(con)m(v)m(ert)h(the)e(giv)m(en)i(DER)e(or)h(PEM)f +(enco)s(ded)g(Certi\014cate)i(to)f(the)g(nativ)m(e)390 +408 y(gn)m(utls)p 636 408 28 4 v 40 w(x509)p 859 408 +V 42 w(crt)p 1012 408 V 40 w(t)e(format.)41 b(The)30 +b(output)g(will)g(b)s(e)g(stored)h(in)f Ft(cert)p FB(.)390 +540 y(If)25 b(the)h(Certi\014cate)h(is)f(PEM)g(enco)s(ded)f(it)h +(should)f(ha)m(v)m(e)i(a)f(header)g(of)g Ft(")p FB(X509)h(CER)-8 +b(TIFICA)g(TE)p Ft(")p FB(,)390 650 y(or)30 b Ft(")p +FB(CER)-8 b(TIFICA)g(TE)p Ft(")p FB(.)390 782 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 225 231 -TeXDict begin 225 230 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(225)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(list)p 1211 299 V 54 w(imp)s(ort)3350 -479 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_list_)q -(impo)q(rt)f Fg(\()p Ff(gn)m(utls)p 2098 479 28 4 v 41 -w(x509)p 2322 479 V 41 w(crt)p 2474 479 V 40 w(t)31 b(*)g -Fe(certs)12 b Ff(,)565 589 y(unsigned)29 b(in)m(t)i(*)g -Fe(cert_max)12 b Ff(,)33 b(const)d(gn)m(utls)p 2128 589 -V 41 w(datum)p 2427 589 V 39 w(t)h(*)g Fe(data)12 b Ff(,)31 -b(gn)m(utls)p 3124 589 V 41 w(x509)p 3348 589 V 41 w(crt)p -3500 589 V 40 w(fm)m(t)p 3676 589 V 41 w(t)565 698 y -Fe(format)12 b Ff(,)32 b(unsigned)d(in)m(t)i Fe(flags)12 -b Fg(\))390 808 y Ff(certs)t FB(:)41 b(The)30 b(structures)g(to)h -(store)g(the)f(parsed)g(certi\014cate.)43 b(Must)30 b(not)h(b)s(e)e -(initialized.)390 934 y Ff(cert)p 547 934 V 41 w(max)6 -b FB(:)39 b(Initially)28 b(m)m(ust)f(hold)g(the)g(maxim)m(um)g(n)m(um)m -(b)s(er)f(of)h(certs.)40 b(It)28 b(will)f(b)s(e)f(up)s(dated)g(with)390 -1044 y(the)31 b(n)m(um)m(b)s(er)e(of)h(certs)h(a)m(v)-5 -b(ailable.)390 1170 y Ff(data)p FB(:)41 b(The)30 b(PEM)h(enco)s(ded)f -(certi\014cate.)390 1296 y Ff(format)r FB(:)41 b(One)30 -b(of)g(DER)h(or)f(PEM.)390 1423 y Ff(\015ags)t FB(:)41 -b(m)m(ust)30 b(b)s(e)g(zero)h(or)f(an)g(OR'd)g(sequence)h(of)f(gn)m -(utls)p 2385 1423 V 41 w(certi\014cate)p 2813 1423 V -42 w(imp)s(ort)p 3126 1423 V 39 w(\015ags.)390 1549 y(This)50 -b(function)g(will)g(con)m(v)m(ert)i(the)f(giv)m(en)g(PEM)f(enco)s(ded)g -(certi\014cate)j(list)e(to)g(the)g(nativ)m(e)390 1658 -y(gn)m(utls)p 636 1658 V 40 w(x509)p 859 1658 V 42 w(crt)p -1012 1658 V 40 w(t)j(format.)109 b(The)53 b(output)g(will)g(b)s(e)g -(stored)g(in)g Fs(certs)p FB(.)108 b(They)53 b(will)h(b)s(e)390 -1768 y(automatically)33 b(initialized.)390 1894 y(If)25 -b(the)h(Certi\014cate)h(is)f(PEM)g(enco)s(ded)f(it)h(should)f(ha)m(v)m -(e)i(a)f(header)g(of)g Fs(")p FB(X509)h(CER)-8 b(TIFICA)g(TE)p -Fs(")p FB(,)390 2004 y(or)30 b Fs(")p FB(CER)-8 b(TIFICA)g(TE)p -Fs(")p FB(.)390 2130 y Fn(Returns:)40 b FB(the)31 b(n)m(um)m(b)s(er)e -(of)i(certi\014cates)h(read)e(or)g(a)h(negativ)m(e)i(error)d(v)-5 -b(alue.)150 2313 y Fu(gn)m(utls)p 483 2313 37 5 v 55 -w(x509)p 786 2313 V 54 w(crt)p 993 2313 V 54 w(list)p -1211 2313 V 54 w(v)m(erify)3350 2493 y FB([F)d(unction])-3599 +b(alue.)150 976 y Fv(gn)m(utls)p 483 976 37 5 v 55 w(x509)p +786 976 V 54 w(crt)p 993 976 V 54 w(init)3350 1167 y +FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_init)f +Fg(\()p Ff(gn)m(utls)p 1732 1167 28 4 v 40 w(x509)p 1955 +1167 V 42 w(crt)p 2108 1167 V 40 w(t)31 b(*)g Fe(cert)12 +b Fg(\))390 1277 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) +f(initialized)390 1409 y(This)g(function)g(will)g(initialize)j(an)d +(X.509)i(certi\014cate)h(structure.)390 1540 y Fn(Returns:)j +FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 1734 y Fv(gn)m(utls)p 483 1734 37 5 v 55 +w(x509)p 786 1734 V 54 w(crt)p 993 1734 V 54 w(list)p +1211 1734 V 54 w(imp)s(ort)3350 1926 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_list_)q(impo)q(rt)f Fg(\()p +Ff(gn)m(utls)p 2098 1926 28 4 v 41 w(x509)p 2322 1926 +V 41 w(crt)p 2474 1926 V 40 w(t)31 b(*)g Fe(certs)p Ff(,)565 +2035 y(unsigned)e(in)m(t)i(*)g Fe(cert_max)p Ff(,)i(const)e(gn)m(utls)p +2117 2035 V 40 w(datum)p 2415 2035 V 40 w(t)g(*)f Fe(data)p +Ff(,)i(gn)m(utls)p 3101 2035 V 40 w(x509)p 3324 2035 +V 42 w(crt)p 3477 2035 V 40 w(fm)m(t)p 3653 2035 V 41 +w(t)565 2145 y Fe(format)p Ff(,)g(unsigned)e(in)m(t)h +Fe(flags)12 b Fg(\))390 2254 y Ff(certs)t FB(:)41 b(The)30 +b(structures)g(to)h(store)g(the)f(parsed)g(certi\014cate.)43 +b(Must)30 b(not)h(b)s(e)e(initialized.)390 2386 y Ff(cert)p +547 2386 V 41 w(max)6 b FB(:)39 b(Initially)28 b(m)m(ust)f(hold)g(the)g +(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(certs.)40 b(It)28 +b(will)f(b)s(e)f(up)s(dated)g(with)390 2496 y(the)31 +b(n)m(um)m(b)s(er)e(of)h(certs)h(a)m(v)-5 b(ailable.)390 +2628 y Ff(data)p FB(:)41 b(The)30 b(PEM)h(enco)s(ded)f(certi\014cate.) +390 2760 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM.)390 +2891 y Ff(\015ags)t FB(:)41 b(m)m(ust)30 b(b)s(e)g(zero)h(or)f(an)g +(OR'd)g(sequence)h(of)f(gn)m(utls)p 2385 2891 V 41 w(certi\014cate)p +2813 2891 V 42 w(imp)s(ort)p 3126 2891 V 39 w(\015ags.)390 +3023 y(This)50 b(function)g(will)g(con)m(v)m(ert)i(the)f(giv)m(en)g +(PEM)f(enco)s(ded)g(certi\014cate)j(list)e(to)g(the)g(nativ)m(e)390 +3133 y(gn)m(utls)p 636 3133 V 40 w(x509)p 859 3133 V +42 w(crt)p 1012 3133 V 40 w(t)j(format.)109 b(The)53 +b(output)g(will)g(b)s(e)g(stored)g(in)g Ft(certs)p FB(.)108 +b(They)53 b(will)h(b)s(e)390 3242 y(automatically)33 +b(initialized.)390 3374 y(If)25 b(the)h(Certi\014cate)h(is)f(PEM)g +(enco)s(ded)f(it)h(should)f(ha)m(v)m(e)i(a)f(header)g(of)g +Ft(")p FB(X509)h(CER)-8 b(TIFICA)g(TE)p Ft(")p FB(,)390 +3484 y(or)30 b Ft(")p FB(CER)-8 b(TIFICA)g(TE)p Ft(")p +FB(.)390 3616 y Fn(Returns:)40 b FB(the)31 b(n)m(um)m(b)s(er)e(of)i +(certi\014cates)h(read)e(or)g(a)h(negativ)m(e)i(error)d(v)-5 +b(alue.)150 3810 y Fv(gn)m(utls)p 483 3810 37 5 v 55 +w(x509)p 786 3810 V 54 w(crt)p 993 3810 V 54 w(list)p +1211 3810 V 54 w(v)m(erify)3350 4001 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_list_)q(veri)q(fy)f Fg(\()p -Ff(const)31 b(gn)m(utls)p 2336 2493 28 4 v 40 w(x509)p -2559 2493 V 42 w(crt)p 2712 2493 V 40 w(t)g(*)565 2603 -y Fe(cert_list)12 b Ff(,)33 b(in)m(t)e Fe(cert_list_length)12 -b Ff(,)35 b(const)c(gn)m(utls)p 2630 2603 V 40 w(x509)p -2853 2603 V 41 w(crt)p 3005 2603 V 41 w(t)f(*)h Fe(CA_list)12 -b Ff(,)32 b(in)m(t)565 2712 y Fe(CA_list_length)12 b -Ff(,)34 b(const)d(gn)m(utls)p 1848 2712 V 41 w(x509)p -2072 2712 V 41 w(crl)p 2214 2712 V 40 w(t)g(*)g Fe(CRL_list)12 -b Ff(,)32 b(in)m(t)565 2822 y Fe(CRL_list_length)12 b -Ff(,)35 b(unsigned)29 b(in)m(t)i Fe(flags)12 b Ff(,)32 -b(unsigned)d(in)m(t)i(*)f Fe(verify)12 b Fg(\))390 2932 -y Ff(cert)p 547 2932 V 41 w(list)r FB(:)41 b(is)31 b(the)f -(certi\014cate)j(list)e(to)g(b)s(e)e(v)m(eri\014ed)390 -3058 y Ff(cert)p 547 3058 V 41 w(list)p 709 3058 V 40 +Ff(const)31 b(gn)m(utls)p 2336 4001 28 4 v 40 w(x509)p +2559 4001 V 42 w(crt)p 2712 4001 V 40 w(t)g(*)565 4111 +y Fe(cert_list)p Ff(,)i(in)m(t)e Fe(cert_list_length)p +Ff(,)36 b(const)31 b(gn)m(utls)p 2607 4111 V 40 w(x509)p +2830 4111 V 41 w(crt)p 2982 4111 V 41 w(t)f(*)h Fe(CA_list)p +Ff(,)i(in)m(t)565 4220 y Fe(CA_list_length)p Ff(,)i(const)c(gn)m(utls)p +1837 4220 V 40 w(x509)p 2060 4220 V 42 w(crl)p 2203 4220 +V 40 w(t)f(*)h Fe(CRL_list)p Ff(,)i(in)m(t)565 4330 y +Fe(CRL_list_length)p Ff(,)i(unsigned)30 b(in)m(t)g Fe(flags)p +Ff(,)i(unsigned)e(in)m(t)h(*)f Fe(verify)12 b Fg(\))390 +4439 y Ff(cert)p 547 4439 V 41 w(list)r FB(:)41 b(is)31 +b(the)f(certi\014cate)j(list)e(to)g(b)s(e)e(v)m(eri\014ed)390 +4571 y Ff(cert)p 547 4571 V 41 w(list)p 709 4571 V 40 w(length)p FB(:)42 b(holds)29 b(the)i(n)m(um)m(b)s(er)e(of)i -(certi\014cate)h(in)e(cert)p 2568 3058 V 41 w(list)390 -3184 y Ff(CA)p 530 3184 V 40 w(list)r FB(:)41 b(is)31 +(certi\014cate)h(in)e(cert)p 2568 4571 V 41 w(list)390 +4703 y Ff(CA)p 530 4703 V 40 w(list)r FB(:)41 b(is)31 b(the)f(CA)g(list)h(whic)m(h)f(will)h(b)s(e)f(used)f(in)i(v)m -(eri\014cation)390 3310 y Ff(CA)p 530 3310 V 40 w(list)p -691 3310 V 41 w(length)p FB(:)41 b(holds)30 b(the)g(n)m(um)m(b)s(er)f -(of)i(CA)f(certi\014cate)i(in)e(CA)p 2697 3310 V 40 w(list)390 -3437 y Ff(CRL)p 586 3437 V 39 w(list)r FB(:)42 b(holds)30 -b(a)g(list)h(of)g(CRLs.)390 3563 y Ff(CRL)p 586 3563 -V 39 w(list)p 746 3563 V 41 w(length)p FB(:)41 b(the)31 -b(length)g(of)f(CRL)g(list.)390 3689 y Ff(\015ags)t FB(:)51 +(eri\014cation)390 4835 y Ff(CA)p 530 4835 V 40 w(list)p +691 4835 V 41 w(length)p FB(:)41 b(holds)30 b(the)g(n)m(um)m(b)s(er)f +(of)i(CA)f(certi\014cate)i(in)e(CA)p 2697 4835 V 40 w(list)390 +4967 y Ff(CRL)p 586 4967 V 39 w(list)r FB(:)42 b(holds)30 +b(a)g(list)h(of)g(CRLs.)390 5099 y Ff(CRL)p 586 5099 +V 39 w(list)p 746 5099 V 41 w(length)p FB(:)41 b(the)31 +b(length)g(of)f(CRL)g(list.)390 5230 y Ff(\015ags)t FB(:)51 b(Flags)37 b(that)f(ma)m(y)g(b)s(e)e(used)h(to)h(c)m(hange)h(the)e(v)m (eri\014cation)i(algorithm.)57 b(Use)36 b(OR)f(of)h(the)390 -3799 y(gn)m(utls)p 636 3799 V 40 w(certi\014cate)p 1063 -3799 V 43 w(v)m(erify)p 1328 3799 V 40 w(\015ags)31 b(en)m(umerations.) -390 3925 y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g -(certi\014cate)j(v)m(eri\014cation)f(output.)390 4051 -y(This)i(function)g(will)h(try)g(to)g(v)m(erify)g(the)g(giv)m(en)h -(certi\014cate)h(list)e(and)f(return)g(its)h(status.)54 -b(If)34 b(no)390 4161 y(\015ags)j(are)h(sp)s(eci\014ed)e(\(0\),)k(this) -d(function)f(will)i(use)e(the)i(basicConstrain)m(ts)f(\(2.5.29.19\))k -(PKIX)390 4270 y(extension.)f(This)25 b(means)g(that)i(only)f(a)g -(certi\014cate)h(authorit)m(y)g(is)f(allo)m(w)m(ed)h(to)g(sign)f(a)g -(certi\014cate.)390 4397 y(Y)-8 b(ou)23 b(m)m(ust)g(also)h(c)m(hec)m(k) -g(the)f(p)s(eer's)g(name)g(in)f(order)g(to)i(c)m(hec)m(k)g(if)f(the)g -(v)m(eri\014ed)g(certi\014cate)i(b)s(elongs)390 4506 -y(to)31 b(the)g(actual)g(p)s(eer.)390 4632 y(The)i(certi\014cate)j(v)m -(eri\014cation)f(output)f(will)g(b)s(e)f(put)g(in)g Fs(verify)f -FB(and)h(will)h(b)s(e)f(one)h(or)g(more)g(of)390 4742 -y(the)28 b(gn)m(utls)p 790 4742 V 40 w(certi\014cate)p -1217 4742 V 42 w(status)p 1497 4742 V 41 w(t)g(en)m(umerated)g(elemen)m +5340 y(gn)m(utls)p 636 5340 V 40 w(certi\014cate)p 1063 +5340 V 43 w(v)m(erify)p 1328 5340 V 40 w(\015ags)31 b(en)m(umerations.) +p eop end +%%Page: 211 217 +TeXDict begin 211 216 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(211)390 299 y +Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(certi\014cate)j(v)m +(eri\014cation)f(output.)390 461 y(This)i(function)g(will)i(try)e(to)i +(v)m(erify)f(the)g(giv)m(en)h(certi\014cate)h(list)e(and)f(return)g +(its)h(status.)55 b(Note)390 570 y(that)42 b(expiration)g(and)e(activ) +-5 b(ation)44 b(dates)e(are)f(not)h(c)m(hec)m(k)m(ed)h(b)m(y)e(this)g +(function,)j(y)m(ou)e(should)390 680 y(c)m(hec)m(k)32 +b(them)e(using)g(the)h(appropriate)f(functions.)390 842 +y(If)40 b(no)g(\015ags)g(are)h(sp)s(eci\014ed)f(\(0\),)k(this)c +(function)g(will)g(use)g(the)h(basicConstrain)m(ts)g(\(2.5.29.19\))390 +951 y(PKIX)d(extension.)66 b(This)38 b(means)g(that)i(only)e(a)h +(certi\014cate)i(authorit)m(y)f(is)e(allo)m(w)m(ed)j(to)e(sign)g(a)390 +1061 y(certi\014cate.)390 1223 y(Y)-8 b(ou)23 b(m)m(ust)g(also)h(c)m +(hec)m(k)g(the)f(p)s(eer's)g(name)g(in)f(order)g(to)i(c)m(hec)m(k)g(if) +f(the)g(v)m(eri\014ed)g(certi\014cate)i(b)s(elongs)390 +1332 y(to)31 b(the)g(actual)g(p)s(eer.)390 1494 y(The)i(certi\014cate)j +(v)m(eri\014cation)f(output)f(will)g(b)s(e)f(put)g(in)g +Ft(verify)f FB(and)h(will)h(b)s(e)f(one)h(or)g(more)g(of)390 +1603 y(the)28 b(gn)m(utls)p 790 1603 28 4 v 40 w(certi\014cate)p +1217 1603 V 42 w(status)p 1497 1603 V 41 w(t)g(en)m(umerated)g(elemen)m (ts)h(bit)m(wise)f(or'd.)40 b(F)-8 b(or)28 b(a)g(more)g(detailed)390 -4852 y(v)m(eri\014cation)k(status)f(use)f Fs(gnutls_x509_crt_verify\()o -(\))24 b FB(p)s(er)30 b(list)h(elemen)m(t.)390 4978 y -Fn(GNUTLS)p 777 4978 28 5 v 40 w(CER)-8 b(T)p 1067 4978 +1713 y(v)m(eri\014cation)k(status)f(use)f Ft(gnutls_x509_crt_verify\()o +(\))24 b FB(p)s(er)30 b(list)h(elemen)m(t.)390 1875 y +Fn(GNUTLS)p 777 1875 28 5 v 40 w(CER)-8 b(T)p 1067 1875 V 40 w(INV)e(ALID:)29 b FB(the)i(certi\014cate)h(c)m(hain)f(is)g(not)f -(v)-5 b(alid.)390 5104 y Fn(GNUTLS)p 777 5104 V 40 w(CER)d(T)p -1067 5104 V 40 w(REV)m(OKED:)30 b FB(a)h(certi\014cate)h(in)e(the)h(c)m -(hain)f(has)h(b)s(een)e(rev)m(ok)m(ed.)390 5230 y Fn(Returns:)73 -b FB(On)47 b(success,)k Fs(GNUTLS_E_SUCCESS)42 b FB(is)47 +(v)-5 b(alid.)390 2037 y Fn(GNUTLS)p 777 2037 V 40 w(CER)d(T)p +1067 2037 V 40 w(REV)m(OKED:)30 b FB(a)h(certi\014cate)h(in)e(the)h(c)m +(hain)f(has)h(b)s(een)e(rev)m(ok)m(ed.)390 2198 y Fn(Returns:)73 +b FB(On)47 b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 -5340 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 -b(in)f(case)h(of)g(an)f(error.)p eop end -%%Page: 226 232 -TeXDict begin 226 231 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(226)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(prin)m(t)3350 497 y FB([F)-8 b(unction])-3599 +2308 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 +b(in)f(case)h(of)g(an)f(error.)150 2534 y Fv(gn)m(utls)p +483 2534 37 5 v 55 w(x509)p 786 2534 V 54 w(crt)p 993 +2534 V 54 w(prin)m(t)3350 2758 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_print)f Fg(\()p Ff(gn)m(utls)p -1784 497 28 4 v 41 w(x509)p 2008 497 V 41 w(crt)p 2160 -497 V 41 w(t)30 b Fe(cert)12 b Ff(,)565 607 y(gn)m(utls)p -811 607 V 41 w(certi\014cate)p 1239 607 V 42 w(prin)m(t)p -1476 607 V 39 w(formats)p 1816 607 V 41 w(t)30 b Fe(format)12 -b Ff(,)32 b(gn)m(utls)p 2543 607 V 41 w(datum)p 2842 -607 V 39 w(t)f(*)g Fe(out)12 b Fg(\))390 716 y Ff(cert)r +1784 2758 28 4 v 41 w(x509)p 2008 2758 V 41 w(crt)p 2160 +2758 V 41 w(t)30 b Fe(cert)p Ff(,)565 2868 y(gn)m(utls)p +811 2868 V 41 w(certi\014cate)p 1239 2868 V 42 w(prin)m(t)p +1476 2868 V 39 w(formats)p 1816 2868 V 41 w(t)g Fe(format)p +Ff(,)j(gn)m(utls)p 2532 2868 V 40 w(datum)p 2830 2868 +V 40 w(t)d(*)h Fe(out)12 b Fg(\))390 2978 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(prin)m(ted)390 -852 y Ff(format)r FB(:)41 b(Indicate)31 b(the)g(format)f(to)h(use)390 -988 y Ff(out)r FB(:)41 b(Newly)31 b(allo)s(cated)h(datum)e(with)g(zero) -h(terminated)g(string.)390 1124 y(This)f(function)g(will)g(prett)m(y)h -(prin)m(t)f(a)h(X.509)h(certi\014cate,)h(suitable)e(for)f(displa)m(y)h -(to)g(a)f(h)m(uman.)390 1261 y(If)45 b(the)h(format)g(is)f -Fs(GNUTLS_CRT_PRINT_FULL)40 b FB(then)45 b(all)i(\014elds)e(of)g(the)h -(certi\014cate)i(will)e(b)s(e)390 1370 y(output,)i(on)d(m)m(ultiple)g -(lines.)85 b(The)44 b Fs(GNUTLS_CRT_PRINT_ONELINE)38 -b FB(format)45 b(will)g(generate)390 1480 y(one)31 b(line)f(with)g +3139 y Ff(format)r FB(:)41 b(Indicate)31 b(the)g(format)f(to)h(use)390 +3301 y Ff(out)r FB(:)41 b(Newly)31 b(allo)s(cated)h(datum)e(with)g +(zero)h(terminated)g(string.)390 3463 y(This)f(function)g(will)g(prett) +m(y)h(prin)m(t)f(a)h(X.509)h(certi\014cate,)h(suitable)e(for)f(displa)m +(y)h(to)g(a)f(h)m(uman.)390 3625 y(If)45 b(the)h(format)g(is)f +Ft(GNUTLS_CRT_PRINT_FULL)40 b FB(then)45 b(all)i(\014elds)e(of)g(the)h +(certi\014cate)i(will)e(b)s(e)390 3734 y(output,)i(on)d(m)m(ultiple)g +(lines.)85 b(The)44 b Ft(GNUTLS_CRT_PRINT_ONELINE)38 +b FB(format)45 b(will)g(generate)390 3844 y(one)31 b(line)f(with)g (some)h(selected)h(\014elds,)e(whic)m(h)g(is)h(useful)e(for)h(logging)j -(purp)s(oses.)390 1616 y(The)d(output)g Fs(out)f FB(needs)h(to)h(b)s(e) -f(deallo)s(cate)j(using)d Fs(gnutls_free\(\))p FB(.)390 -1752 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(purp)s(oses.)390 4006 y(The)d(output)g Ft(out)f FB(needs)h(to)h(b)s(e) +f(deallo)s(cate)j(using)d Ft(gnutls_free\(\))p FB(.)390 +4167 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1953 y Fu(gn)m(utls)p 483 1953 37 5 v 55 -w(x509)p 786 1953 V 54 w(crt)p 993 1953 V 54 w(set)p -1199 1953 V 54 w(activ)e(ation)p 1779 1953 V 53 w(time)3350 -2151 y FB([F)f(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_a)q +b(alue.)150 4394 y Fv(gn)m(utls)p 483 4394 37 5 v 55 +w(x509)p 786 4394 V 54 w(crt)p 993 4394 V 54 w(set)p +1199 4394 V 54 w(activ)e(ation)p 1779 4394 V 53 w(time)3350 +4618 y FB([F)f(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_a)q (ctiv)q(ati)q(on_)q(tim)q(e)e Fg(\()p Ff(gn)m(utls)p -2516 2151 28 4 v 41 w(x509)p 2740 2151 V 41 w(crt)p 2892 -2151 V 41 w(t)565 2260 y Fe(cert)12 b Ff(,)31 b(time)p -1023 2260 V 41 w(t)g Fe(act_time)12 b Fg(\))390 2370 -y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m(yp)s(e)h -Fs(gnutls_x509_crt_t)390 2506 y Ff(act)p 516 2506 V 41 -w(time)5 b FB(:)42 b(The)30 b(actual)h(time)390 2642 +2516 4618 28 4 v 41 w(x509)p 2740 4618 V 41 w(crt)p 2892 +4618 V 41 w(t)565 4727 y Fe(cert)p Ff(,)32 b(time)p 1012 +4727 V 41 w(t)e Fe(act_time)12 b Fg(\))390 4837 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1540 +4837 V 41 w(x509)p 1764 4837 V 41 w(crt)p 1916 4837 V +40 w(t)g(structure)390 4999 y Ff(act)p 516 4999 V 41 +w(time)5 b FB(:)42 b(The)30 b(actual)h(time)390 5161 y(This)f(function)g(will)g(set)h(the)g(time)g(this)f(Certi\014cate)i(w) -m(as)f(or)f(will)h(b)s(e)e(activ)-5 b(ated.)390 2778 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +m(as)f(or)f(will)h(b)s(e)e(activ)-5 b(ated.)390 5322 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2979 y Fu(gn)m(utls)p 483 2979 37 5 v 55 -w(x509)p 786 2979 V 54 w(crt)p 993 2979 V 54 w(set)p -1199 2979 V 54 w(authorit)m(y)p 1752 2979 V 53 w(k)m(ey)p -1988 2979 V 54 w(id)3350 3177 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_set_a)q(utho)q(rit)q(y_k)q(ey_)q(id)f -Fg(\()p Ff(gn)m(utls)p 2569 3177 28 4 v 40 w(x509)p 2792 -3177 V 42 w(crt)p 2945 3177 V 40 w(t)565 3287 y Fe(cert)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)g Fe(id)12 b Ff(,)31 -b(size)p 1671 3287 V 41 w(t)f Fe(id_size)12 b Fg(\))390 -3396 y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m(yp)s(e)h -Fs(gnutls_x509_crt_t)390 3533 y Ff(id)t FB(:)40 b(The)30 -b(k)m(ey)h(ID)390 3669 y Ff(id)p 472 3669 V 40 w(size)5 -b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h(serial)g(\014eld.)390 -3805 y(This)37 b(function)g(will)h(set)g(the)g(X.509)h(certi\014cate's) -h(authorit)m(y)f(k)m(ey)f(ID)g(extension.)63 b(Only)37 -b(the)390 3914 y(k)m(eyIden)m(ti\014er)31 b(\014eld)f(can)h(b)s(e)e -(set)i(with)f(this)h(function.)390 4050 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(alue.)p eop end +%%Page: 212 218 +TeXDict begin 212 217 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(212)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crt)p 993 299 V 54 w(set)p 1199 299 V 54 w(authorit)m(y)p +1752 299 V 53 w(k)m(ey)p 1988 299 V 54 w(id)3350 498 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_a)q(utho) +q(rit)q(y_k)q(ey_)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 +498 28 4 v 40 w(x509)p 2792 498 V 42 w(crt)p 2945 498 +V 40 w(t)565 608 y Fe(cert)p Ff(,)32 b(const)f(v)m(oid)g(*)f +Fe(id)p Ff(,)i(size)p 1648 608 V 41 w(t)e Fe(id_size)12 +b Fg(\))390 718 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn)m +(utls)p 1540 718 V 41 w(x509)p 1764 718 V 41 w(crt)p +1916 718 V 40 w(t)g(structure)390 855 y Ff(id)t FB(:)40 +b(The)30 b(k)m(ey)h(ID)390 992 y Ff(id)p 472 992 V 40 +w(size)5 b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h(serial)g +(\014eld.)390 1129 y(This)37 b(function)g(will)h(set)g(the)g(X.509)h +(certi\014cate's)h(authorit)m(y)f(k)m(ey)f(ID)g(extension.)63 +b(Only)37 b(the)390 1239 y(k)m(eyIden)m(ti\014er)31 b(\014eld)f(can)h +(b)s(e)e(set)i(with)f(this)h(function.)390 1376 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4251 y Fu(gn)m(utls)p 483 4251 37 5 v 55 -w(x509)p 786 4251 V 54 w(crt)p 993 4251 V 54 w(set)p -1199 4251 V 54 w(basic)p 1518 4251 V 54 w(constrain)m(ts)3350 -4449 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_b)q +b(alue.)150 1578 y Fv(gn)m(utls)p 483 1578 37 5 v 55 +w(x509)p 786 1578 V 54 w(crt)p 993 1578 V 54 w(set)p +1199 1578 V 54 w(basic)p 1518 1578 V 54 w(constrain)m(ts)3350 +1777 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_b)q (asic)q(_co)q(nst)q(rai)q(nts)f Fg(\()p Ff(gn)m(utls)p -2621 4449 28 4 v 41 w(x509)p 2845 4449 V 41 w(crt)p 2997 -4449 V 40 w(t)565 4559 y Fe(crt)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(ca)12 b Ff(,)31 b(in)m(t)g Fe(pathLenConstraint)12 -b Fg(\))390 4669 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m -(yp)s(e)f Fs(gnutls_x509_crt_t)390 4805 y Ff(ca)p FB(:)42 +2621 1777 28 4 v 41 w(x509)p 2845 1777 V 41 w(crt)p 2997 +1777 V 40 w(t)565 1887 y Fe(crt)p Ff(,)32 b(unsigned)d(in)m(t)i +Fe(ca)p Ff(,)g(in)m(t)g Fe(pathLenConstraint)12 b Fg(\))390 +1996 y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1500 1996 V 40 w(x509)p 1723 1996 V 42 w(crt)p 1876 1996 +V 40 w(t)g(structure)390 2134 y Ff(ca)p FB(:)42 b(true\(1\))31 +b(or)f(false\(0\).)43 b(Dep)s(ending)30 b(on)g(the)g(Certi\014cate)i +(authorit)m(y)f(status.)390 2271 y Ff(pathLenConstrain)m(t)r +FB(:)42 b(non-negativ)m(e)32 b(v)-5 b(alues)31 b(indicate)h(maxim)m(um) +f(length)g(of)g(path,)g(and)f(neg-)390 2380 y(ativ)m(e)i(v)-5 +b(alues)31 b(indicate)g(that)g(the)g(pathLenConstrain)m(ts)f(\014eld)g +(should)f(not)i(b)s(e)f(presen)m(t.)390 2518 y(This)g(function)g(will)g +(set)h(the)g(basicConstrain)m(ts)g(certi\014cate)h(extension.)390 +2655 y Fn(Returns:)k FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 2857 y Fv(gn)m(utls)p 483 2857 37 5 v 55 +w(x509)p 786 2857 V 54 w(crt)p 993 2857 V 54 w(set)p +1199 2857 V 54 w(ca)p 1368 2857 V 53 w(status)3350 3056 +y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_c)q(a_st)q +(atu)q(s)e Fg(\()p Ff(gn)m(utls)p 2202 3056 28 4 v 41 +w(x509)p 2426 3056 V 42 w(crt)p 2579 3056 V 40 w(t)31 +b Fe(crt)p Ff(,)565 3166 y(unsigned)e(in)m(t)i Fe(ca)12 +b Fg(\))390 3275 y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1500 3275 V 40 w(x509)p 1723 3275 V 42 w(crt)p +1876 3275 V 40 w(t)g(structure)390 3413 y Ff(ca)p FB(:)42 b(true\(1\))31 b(or)f(false\(0\).)43 b(Dep)s(ending)30 b(on)g(the)g(Certi\014cate)i(authorit)m(y)f(status.)390 -4941 y Ff(pathLenConstrain)m(t)r FB(:)42 b(non-negativ)m(e)32 -b(v)-5 b(alues)31 b(indicate)h(maxim)m(um)f(length)g(of)g(path,)g(and)f -(neg-)390 5050 y(ativ)m(e)i(v)-5 b(alues)31 b(indicate)g(that)g(the)g -(pathLenConstrain)m(ts)f(\014eld)g(should)f(not)i(b)s(e)f(presen)m(t.) -390 5186 y(This)g(function)g(will)g(set)h(the)g(basicConstrain)m(ts)g -(certi\014cate)h(extension.)390 5322 y Fn(Returns:)k -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +3550 y(This)i(function)g(will)h(set)g(the)g(basicConstrain)m(ts)g +(certi\014cate)i(extension.)51 b(Use)34 b Ft(gnutls_x509_)390 +3659 y(crt_set_basic_constraint)o(s\(\))29 b FB(if)36 +b(y)m(ou)f(w)m(an)m(t)i(to)f(con)m(trol)h(the)f(pathLenConstrain)m(t)f +(\014eld)390 3769 y(to)s(o.)390 3906 y Fn(Returns:)h +FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 227 233 -TeXDict begin 227 232 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(227)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(set)p 1199 299 V 54 w(ca)p 1368 -299 V 53 w(status)3350 483 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_set_c)q(a_st)q(atu)q(s)e -Fg(\()p Ff(gn)m(utls)p 2202 483 28 4 v 41 w(x509)p 2426 -483 V 42 w(crt)p 2579 483 V 40 w(t)31 b Fe(crt)12 b Ff(,)565 -592 y(unsigned)29 b(in)m(t)i Fe(ca)12 b Fg(\))390 702 -y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 830 y Ff(ca)p FB(:)42 b(true\(1\))31 -b(or)f(false\(0\).)43 b(Dep)s(ending)30 b(on)g(the)g(Certi\014cate)i -(authorit)m(y)f(status.)390 958 y(This)i(function)g(will)h(set)g(the)g -(basicConstrain)m(ts)g(certi\014cate)i(extension.)51 -b(Use)34 b Fs(gnutls_x509_)390 1067 y(crt_set_basic_constraint)o(s\(\)) -29 b FB(if)36 b(y)m(ou)f(w)m(an)m(t)i(to)f(con)m(trol)h(the)f -(pathLenConstrain)m(t)f(\014eld)390 1177 y(to)s(o.)390 -1305 y Fn(Returns:)h FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1491 y Fu(gn)m(utls)p 483 1491 37 5 v 55 -w(x509)p 786 1491 V 54 w(crt)p 993 1491 V 54 w(set)p -1199 1491 V 54 w(crl)p 1392 1491 V 54 w(dist)p 1644 1491 -V 54 w(p)s(oin)m(ts2)3350 1675 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_set_c)q(rl_d)q(ist)q(_po)q(int)q(s2)f -Fg(\()p Ff(gn)m(utls)p 2569 1675 28 4 v 40 w(x509)p 2792 -1675 V 42 w(crt)p 2945 1675 V 40 w(t)565 1785 y Fe(crt)12 -b Ff(,)31 b(gn)m(utls)p 1035 1785 V 41 w(x509)p 1259 -1785 V 41 w(sub)5 b(ject)p 1586 1785 V 40 w(alt)p 1731 -1785 V 41 w(name)p 1984 1785 V 40 w(t)31 b Fe(type)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)f Fe(data)12 b Ff(,)32 -b(unsigned)d(in)m(t)565 1894 y Fe(data_size)12 b Ff(,)33 -b(unsigned)c(in)m(t)i Fe(reason_flags)12 b Fg(\))390 -2004 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 2132 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(is)30 b(one)h(of)g(the)f(gn)m(utls)p 1399 2132 V 41 -w(x509)p 1623 2132 V 41 w(sub)5 b(ject)p 1950 2132 V -40 w(alt)p 2095 2132 V 41 w(name)p 2348 2132 V 40 w(t)31 -b(en)m(umerations)390 2260 y Ff(data)p FB(:)41 b(The)30 -b(data)h(to)g(b)s(e)f(set)390 2388 y Ff(data)p 572 2388 -V 41 w(size)5 b FB(:)41 b(The)30 b(data)h(size)390 2516 -y Ff(reason)p 649 2516 V 40 w(\015ags)t FB(:)41 b(rev)m(o)s(cation)32 -b(reasons)390 2644 y(This)e(function)g(will)g(set)h(the)g(CRL)f -(distribution)f(p)s(oin)m(ts)h(certi\014cate)j(extension.)390 -2772 y Fn(Returns:)j FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 2900 y Fn(Since:)41 b FB(2.6.0)150 3086 y -Fu(gn)m(utls)p 483 3086 37 5 v 55 w(x509)p 786 3086 V -54 w(crt)p 993 3086 V 54 w(set)p 1199 3086 V 54 w(crl)p -1392 3086 V 54 w(dist)p 1644 3086 V 54 w(p)s(oin)m(ts)3350 -3270 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_c)q -(rl_d)q(ist)q(_po)q(int)q(s)e Fg(\()p Ff(gn)m(utls)p -2516 3270 28 4 v 41 w(x509)p 2740 3270 V 41 w(crt)p 2892 -3270 V 41 w(t)30 b Fe(crt)12 b Ff(,)565 3380 y(gn)m(utls)p -811 3380 V 41 w(x509)p 1035 3380 V 41 w(sub)5 b(ject)p -1362 3380 V 40 w(alt)p 1507 3380 V 41 w(name)p 1760 3380 -V 40 w(t)31 b Fe(type)12 b Ff(,)31 b(const)g(v)m(oid)g(*)f -Fe(data_string)12 b Ff(,)34 b(unsigned)565 3489 y(in)m(t)d -Fe(reason_flags)12 b Fg(\))390 3599 y Ff(crt)r FB(:)41 -b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f Fs(gnutls_x509_crt_t)390 -3727 y Ff(t)m(yp)s(e)5 b FB(:)41 b(is)30 b(one)h(of)g(the)f(gn)m(utls)p -1399 3727 V 41 w(x509)p 1623 3727 V 41 w(sub)5 b(ject)p -1950 3727 V 40 w(alt)p 2095 3727 V 41 w(name)p 2348 3727 -V 40 w(t)31 b(en)m(umerations)390 3855 y Ff(data)p 572 -3855 V 41 w(string)8 b FB(:)40 b(The)30 b(data)h(to)g(b)s(e)f(set)390 -3983 y Ff(reason)p 649 3983 V 40 w(\015ags)t FB(:)41 -b(rev)m(o)s(cation)32 b(reasons)390 4111 y(This)e(function)g(will)g +b(alue.)150 4108 y Fv(gn)m(utls)p 483 4108 37 5 v 55 +w(x509)p 786 4108 V 54 w(crt)p 993 4108 V 54 w(set)p +1199 4108 V 54 w(crl)p 1392 4108 V 54 w(dist)p 1644 4108 +V 54 w(p)s(oin)m(ts)3350 4308 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_set_c)q(rl_d)q(ist)q(_po)q(int)q(s)e +Fg(\()p Ff(gn)m(utls)p 2516 4308 28 4 v 41 w(x509)p 2740 +4308 V 41 w(crt)p 2892 4308 V 41 w(t)30 b Fe(crt)p Ff(,)565 +4417 y(gn)m(utls)p 811 4417 V 41 w(x509)p 1035 4417 V +41 w(sub)5 b(ject)p 1362 4417 V 40 w(alt)p 1507 4417 +V 41 w(name)p 1760 4417 V 40 w(t)30 b Fe(type)p Ff(,)h(const)g(v)m(oid) +f(*)g Fe(data_string)p Ff(,)k(unsigned)28 b(in)m(t)565 +4527 y Fe(reason_flags)12 b Fg(\))390 4636 y Ff(crt)r +FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 +4636 V 40 w(x509)p 1723 4636 V 42 w(crt)p 1876 4636 V +40 w(t)g(structure)390 4774 y Ff(t)m(yp)s(e)5 b FB(:)41 +b(is)30 b(one)h(of)g(the)f(gn)m(utls)p 1399 4774 V 41 +w(x509)p 1623 4774 V 41 w(sub)5 b(ject)p 1950 4774 V +40 w(alt)p 2095 4774 V 41 w(name)p 2348 4774 V 40 w(t)31 +b(en)m(umerations)390 4911 y Ff(data)p 572 4911 V 41 +w(string)8 b FB(:)40 b(The)30 b(data)h(to)g(b)s(e)f(set)390 +5048 y Ff(reason)p 649 5048 V 40 w(\015ags)t FB(:)41 +b(rev)m(o)s(cation)32 b(reasons)390 5185 y(This)e(function)g(will)g (set)h(the)g(CRL)f(distribution)f(p)s(oin)m(ts)h(certi\014cate)j -(extension.)390 4239 y Fn(Returns:)j FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4425 y Fu(gn)m(utls)p -483 4425 37 5 v 55 w(x509)p 786 4425 V 54 w(crt)p 993 -4425 V 54 w(set)p 1199 4425 V 54 w(crq)p 1423 4425 V -53 w(extensions)3350 4609 y FB([F)d(unction])-3599 b -Fh(int)53 b(gnutls_x509_crt_set_c)q(rq_e)q(xte)q(nsi)q(ons)f -Fg(\()p Ff(gn)m(utls)p 2464 4609 28 4 v 41 w(x509)p 2688 -4609 V 41 w(crt)p 2840 4609 V 40 w(t)31 b Fe(crt)12 b -Ff(,)565 4718 y(gn)m(utls)p 811 4718 V 41 w(x509)p 1035 -4718 V 41 w(crq)p 1200 4718 V 40 w(t)31 b Fe(crq)12 b -Fg(\))390 4828 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp) -s(e)f Fs(gnutls_x509_crt_t)390 4956 y Ff(crq)r FB(:)41 -b(holds)30 b(a)g(certi\014cate)j(request)390 5084 y(This)d(function)g -(will)g(set)h(extensions)g(from)f(the)h(giv)m(en)g(request)f(to)i(the)e -(certi\014cate.)390 5212 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)390 5340 y Fn(Since:)41 -b FB(2.8.0)p eop end -%%Page: 228 234 -TeXDict begin 228 233 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(228)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +(extension.)390 5322 y Fn(Returns:)j FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end +%%Page: 213 219 +TeXDict begin 213 218 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(213)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 w(crt)p 993 299 V 54 w(set)p 1199 299 V 54 w(crq)3350 495 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_c)q (rq)f Fg(\()p Ff(gn)m(utls)p 1889 495 28 4 v 40 w(x509)p -2112 495 V 42 w(crt)p 2265 495 V 40 w(t)31 b Fe(crt)12 -b Ff(,)565 605 y(gn)m(utls)p 811 605 V 41 w(x509)p 1035 -605 V 41 w(crq)p 1200 605 V 40 w(t)31 b Fe(crq)12 b Fg(\))390 -714 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 849 y Ff(crq)r FB(:)41 b(holds)30 -b(a)g(certi\014cate)j(request)390 983 y(This)28 b(function)g(will)h -(set)h(the)f(name)f(and)g(public)h(parameters)g(as)g(w)m(ell)g(as)g -(the)g(extensions)g(from)390 1093 y(the)22 b(giv)m(en)h(certi\014cate)h -(request)e(to)g(the)g(certi\014cate.)40 b(Only)22 b(RSA)f(k)m(eys)h -(are)h(curren)m(tly)f(supp)s(orted.)390 1227 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1426 y Fu(gn)m(utls)p 483 1426 37 5 v 55 +2112 495 V 42 w(crt)p 2265 495 V 40 w(t)31 b Fe(crt)p +Ff(,)565 605 y(gn)m(utls)p 811 605 V 41 w(x509)p 1035 +605 V 41 w(crq)p 1200 605 V 40 w(t)g Fe(crq)12 b Fg(\))390 +714 y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1500 714 V 40 w(x509)p 1723 714 V 42 w(crt)p 1876 714 +V 40 w(t)g(structure)390 849 y Ff(crq)r FB(:)41 b(holds)30 +b(a)g(certi\014cate)j(request)390 983 y(This)43 b(function)h(will)h +(set)f(the)h(name)f(and)g(public)f(parameters)i(from)e(the)i(giv)m(en)g +(certi\014cate)390 1093 y(request)30 b(to)i(the)e(certi\014cate.)43 +b(Only)30 b(RSA)g(k)m(eys)h(are)f(curren)m(tly)h(supp)s(orted.)390 +1227 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 1426 y Fv(gn)m(utls)p 483 1426 37 5 v 55 w(x509)p 786 1426 V 54 w(crt)p 993 1426 V 54 w(set)p 1199 1426 V 54 w(dn)p 1389 1426 V 54 w(b)m(y)p 1573 1426 V 54 w(oid)3350 1622 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_d)q(n_by)q(_oi)q(d)e Fg(\()p Ff(gn)m(utls)p 2202 1622 28 4 v 41 w(x509)p 2426 1622 V 42 w(crt)p 2579 -1622 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 b(const)565 1732 -y(c)m(har)g(*)g Fe(oid)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(raw_flag)12 b Ff(,)32 b(const)f(v)m(oid)g(*)g Fe(name)12 -b Ff(,)31 b(unsigned)f(in)m(t)565 1842 y Fe(sizeof_name)12 -b Fg(\))390 1951 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m -(yp)s(e)f Fs(gnutls_x509_crt_t)390 2085 y Ff(oid)t FB(:)40 -b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f -(terminated)h(string)390 2220 y Ff(ra)m(w)p 540 2220 -V 40 w(\015ag)8 b FB(:)41 b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g -(the)f(data)h(are)g(DER)f(enco)s(ded)390 2354 y Ff(name)5 -b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(name)390 -2488 y Ff(sizeof)p 610 2488 V 41 w(name)5 b FB(:)41 b(holds)30 -b(the)g(size)i(of)e Fs(name)390 2623 y FB(This)d(function)g(will)h(set) -h(the)f(part)f(of)h(the)g(name)g(of)g(the)g(Certi\014cate)h(sub)5 -b(ject,)28 b(sp)s(eci\014ed)f(b)m(y)h(the)390 2732 y(giv)m(en)j(OID.)g -(The)f(input)f(string)i(should)e(b)s(e)h(ASCI)s(I)e(or)j(UTF-8)g(enco)s -(ded.)390 2867 y(Some)42 b(help)s(er)f(macros)i(with)f(p)s(opular)f -(OIDs)h(can)g(b)s(e)g(found)f(in)g(gn)m(utls/x509.h)j(With)f(this)390 -2976 y(function)g(y)m(ou)g(can)g(only)g(set)h(the)f(kno)m(wn)f(OIDs.)78 -b(Y)-8 b(ou)44 b(can)f(test)h(for)e(kno)m(wn)h(OIDs)f(using)390 -3086 y Fs(gnutls_x509_dn_oid_known)o(\(\))p FB(.)33 b(F)-8 +1622 V 40 w(t)31 b Fe(crt)p Ff(,)g(const)565 1732 y(c)m(har)g(*)g +Fe(oid)p Ff(,)g(unsigned)e(in)m(t)i Fe(raw_flag)p Ff(,)i(const)e(v)m +(oid)g(*)g Fe(name)p Ff(,)h(unsigned)d(in)m(t)565 1842 +y Fe(sizeof_name)12 b Fg(\))390 1951 y Ff(crt)r FB(:)41 +b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 1951 +V 40 w(x509)p 1723 1951 V 42 w(crt)p 1876 1951 V 40 w(t)g(structure)390 +2085 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 +b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f(terminated)h(string)390 +2220 y Ff(ra)m(w)p 540 2220 V 40 w(\015ag)8 b FB(:)41 +b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g(the)f(data)h(are)g(DER)f +(enco)s(ded)390 2354 y Ff(name)5 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to) +h(the)g(name)390 2488 y Ff(sizeof)p 610 2488 V 41 w(name)5 +b FB(:)41 b(holds)30 b(the)g(size)i(of)e Ft(name)390 +2623 y FB(This)d(function)g(will)h(set)h(the)f(part)f(of)h(the)g(name)g +(of)g(the)g(Certi\014cate)h(sub)5 b(ject,)28 b(sp)s(eci\014ed)f(b)m(y)h +(the)390 2732 y(giv)m(en)j(OID.)g(The)f(input)f(string)i(should)e(b)s +(e)h(ASCI)s(I)e(or)j(UTF-8)g(enco)s(ded.)390 2867 y(Some)42 +b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f +(in)g(gn)m(utls/x509.h)j(With)f(this)390 2976 y(function)g(y)m(ou)g +(can)g(only)g(set)h(the)f(kno)m(wn)f(OIDs.)78 b(Y)-8 +b(ou)44 b(can)f(test)h(for)e(kno)m(wn)h(OIDs)f(using)390 +3086 y Ft(gnutls_x509_dn_oid_known)o(\(\))p FB(.)33 b(F)-8 b(or)26 b(OIDs)g(that)g(are)g(not)g(kno)m(wn)f(\(b)m(y)h(gn)m(utls\))g (y)m(ou)g(should)390 3195 y(prop)s(erly)j(DER)i(enco)s(de)f(y)m(our)h -(data,)g(and)f(call)h(this)g(function)f(with)g Fs(raw_flag)e +(data,)g(and)f(call)h(this)g(function)f(with)g Ft(raw_flag)e FB(set.)390 3330 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 3529 y Fu(gn)m(utls)p +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 3529 y Fv(gn)m(utls)p 483 3529 37 5 v 55 w(x509)p 786 3529 V 54 w(crt)p 993 3529 V 54 w(set)p 1199 3529 V 54 w(expiration)p 1797 3529 V 54 w(time)3350 3725 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_e)q(xpir)q(ati)q(on_)q(tim)q(e)e Fg(\()p Ff(gn)m(utls)p 2516 3725 28 4 v 41 w(x509)p 2740 -3725 V 41 w(crt)p 2892 3725 V 41 w(t)565 3835 y Fe(cert)12 -b Ff(,)31 b(time)p 1023 3835 V 41 w(t)g Fe(exp_time)12 -b Fg(\))390 3944 y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m -(yp)s(e)h Fs(gnutls_x509_crt_t)390 4079 y Ff(exp)p 535 +3725 V 41 w(crt)p 2892 3725 V 41 w(t)565 3835 y Fe(cert)p +Ff(,)32 b(time)p 1012 3835 V 41 w(t)e Fe(exp_time)12 +b Fg(\))390 3944 y Ff(cert)r FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn) +m(utls)p 1540 3944 V 41 w(x509)p 1764 3944 V 41 w(crt)p +1916 3944 V 40 w(t)g(structure)390 4079 y Ff(exp)p 535 4079 V 40 w(time)5 b FB(:)41 b(The)30 b(actual)i(time)390 4213 y(This)e(function)g(will)g(set)h(the)g(time)g(this)f (Certi\014cate)i(will)f(expire.)390 4347 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4546 y Fu(gn)m(utls)p 483 4546 37 5 v 55 +b(alue.)150 4546 y Fv(gn)m(utls)p 483 4546 37 5 v 55 w(x509)p 786 4546 V 54 w(crt)p 993 4546 V 54 w(set)p 1199 4546 V 54 w(extension)p 1757 4546 V 55 w(b)m(y)p 1942 4546 V 53 w(oid)3350 4743 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_e)q(xten)q(sio)q(n_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p 2569 4743 28 4 v 40 w(x509)p 2792 -4743 V 42 w(crt)p 2945 4743 V 40 w(t)565 4852 y Fe(crt)12 -b Ff(,)31 b(const)g(c)m(har)g(*)f Fe(oid)12 b Ff(,)31 -b(const)g(v)m(oid)g(*)g Fe(buf)12 b Ff(,)31 b(size)p -2408 4852 V 41 w(t)g Fe(sizeof_buf)12 b Ff(,)33 b(unsigned)c(in)m(t)565 -4962 y Fe(critical)12 b Fg(\))390 5071 y Ff(crt)r FB(:)41 -b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f Fs(gnutls_x509_crt_t)390 -5206 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 -b(Iden)m(ti\014ed)g(in)g(n)m(ull)g(terminated)h(string)390 -5340 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(DER)g -(enco)s(ded)f(data)p eop end -%%Page: 229 235 -TeXDict begin 229 234 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(229)390 299 y +4743 V 42 w(crt)p 2945 4743 V 40 w(t)565 4852 y Fe(crt)p +Ff(,)32 b(const)e(c)m(har)h(*)g Fe(oid)p Ff(,)g(const)g(v)m(oid)g(*)g +Fe(buf)p Ff(,)g(size)p 2373 4852 V 41 w(t)g Fe(sizeof_buf)p +Ff(,)j(unsigned)29 b(in)m(t)565 4962 y Fe(critical)12 +b Fg(\))390 5071 y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1500 5071 V 40 w(x509)p 1723 5071 V 42 w(crt)p +1876 5071 V 40 w(t)g(structure)390 5206 y Ff(oid)t FB(:)40 +b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014ed)g(in)g(n)m(ull)g +(terminated)h(string)390 5340 y Ff(buf)16 b FB(:)41 b(a)31 +b(p)s(oin)m(ter)f(to)h(a)g(DER)g(enco)s(ded)f(data)p +eop end +%%Page: 214 220 +TeXDict begin 214 219 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(214)390 299 y Ff(sizeof)p 610 299 28 4 v 41 w(buf)17 b FB(:)40 b(holds)30 -b(the)h(size)g(of)f Fs(buf)390 456 y Ff(critical)t FB(:)42 +b(the)h(size)g(of)f Ft(buf)390 462 y Ff(critical)t FB(:)42 b(should)30 b(b)s(e)f(non)h(zero)h(if)g(the)f(extension)h(is)g(to)g(b)s -(e)e(mark)m(ed)i(as)g(critical)390 613 y(This)g(function)g(will)h(set)g +(e)e(mark)m(ed)i(as)g(critical)390 624 y(This)g(function)g(will)h(set)g (an)g(the)g(extension,)h(b)m(y)e(the)h(sp)s(eci\014ed)f(OID,)h(in)f -(the)h(certi\014cate.)46 b(The)390 723 y(extension)31 +(the)h(certi\014cate.)46 b(The)390 734 y(extension)31 b(data)g(should)e(b)s(e)h(binary)g(data)h(DER)f(enco)s(ded.)390 -880 y Fn(Returns:)73 b FB(On)47 b(success,)k Fs(GNUTLS_E_SUCCESS)42 +896 y Fn(Returns:)73 b FB(On)47 b(success,)k Ft(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 -990 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 -b(in)f(case)h(of)g(an)f(error.)150 1211 y Fu(gn)m(utls)p -483 1211 37 5 v 55 w(x509)p 786 1211 V 54 w(crt)p 993 -1211 V 54 w(set)p 1199 1211 V 54 w(issuer)p 1557 1211 -V 55 w(dn)p 1748 1211 V 55 w(b)m(y)p 1933 1211 V 53 w(oid)3350 -1431 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_i)q +1006 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 +b(in)f(case)h(of)g(an)f(error.)150 1233 y Fv(gn)m(utls)p +483 1233 37 5 v 55 w(x509)p 786 1233 V 54 w(crt)p 993 +1233 V 54 w(set)p 1199 1233 V 54 w(issuer)p 1557 1233 +V 55 w(dn)p 1748 1233 V 55 w(b)m(y)p 1933 1233 V 53 w(oid)3350 +1458 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_i)q (ssue)q(r_d)q(n_b)q(y_o)q(id)f Fg(\()p Ff(gn)m(utls)p -2569 1431 28 4 v 40 w(x509)p 2792 1431 V 42 w(crt)p 2945 -1431 V 40 w(t)565 1540 y Fe(crt)12 b Ff(,)31 b(const)g(c)m(har)g(*)f -Fe(oid)12 b Ff(,)31 b(unsigned)f(in)m(t)h Fe(raw_flag)12 -b Ff(,)32 b(const)f(v)m(oid)g(*)g Fe(name)12 b Ff(,)31 -b(unsigned)565 1650 y(in)m(t)g Fe(sizeof_name)12 b Fg(\))390 -1760 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 1917 y Ff(oid)t FB(:)40 b(holds)30 -b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f -(terminated)h(string)390 2074 y Ff(ra)m(w)p 540 2074 -V 40 w(\015ag)8 b FB(:)41 b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g -(the)f(data)h(are)g(DER)f(enco)s(ded)390 2231 y Ff(name)5 -b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(name)390 -2388 y Ff(sizeof)p 610 2388 V 41 w(name)5 b FB(:)41 b(holds)30 -b(the)g(size)i(of)e Fs(name)390 2545 y FB(This)h(function)h(will)g(set) -g(the)h(part)e(of)h(the)g(name)g(of)g(the)h(Certi\014cate)g(issuer,)f -(sp)s(eci\014ed)f(b)m(y)h(the)390 2655 y(giv)m(en)f(OID.)g(The)f(input) -f(string)i(should)e(b)s(e)h(ASCI)s(I)e(or)j(UTF-8)g(enco)s(ded.)390 -2812 y(Some)42 b(help)s(er)f(macros)i(with)f(p)s(opular)f(OIDs)h(can)g -(b)s(e)g(found)f(in)g(gn)m(utls/x509.h)j(With)f(this)390 -2922 y(function)g(y)m(ou)g(can)g(only)g(set)h(the)f(kno)m(wn)f(OIDs.)78 -b(Y)-8 b(ou)44 b(can)f(test)h(for)e(kno)m(wn)h(OIDs)f(using)390 -3031 y Fs(gnutls_x509_dn_oid_known)o(\(\))p FB(.)33 b(F)-8 -b(or)26 b(OIDs)g(that)g(are)g(not)g(kno)m(wn)f(\(b)m(y)h(gn)m(utls\))g -(y)m(ou)g(should)390 3141 y(prop)s(erly)j(DER)i(enco)s(de)f(y)m(our)h -(data,)g(and)f(call)h(this)g(function)f(with)g Fs(raw_flag)e -FB(set.)390 3298 y(Normally)k(y)m(ou)f(do)f(not)h(need)g(to)g(call)h -(this)f(function,)f(since)h(the)g(signing)g(op)s(eration)g(will)g(cop)m -(y)390 3408 y(the)g(signer's)f(name)g(as)h(the)g(issuer)e(of)i(the)g -(certi\014cate.)390 3565 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 3787 y Fu(gn)m(utls)p -483 3787 37 5 v 55 w(x509)p 786 3787 V 54 w(crt)p 993 -3787 V 54 w(set)p 1199 3787 V 54 w(k)m(ey)p 1436 3787 -V 53 w(purp)s(ose)p 1911 3787 V 56 w(oid)3350 4006 y -FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_k)q(ey_p)q -(urp)q(ose)q(_oi)q(d)e Fg(\()p Ff(gn)m(utls)p 2516 4006 -28 4 v 41 w(x509)p 2740 4006 V 41 w(crt)p 2892 4006 V -41 w(t)565 4116 y Fe(cert)12 b Ff(,)31 b(const)g(v)m(oid)g(*)g -Fe(oid)12 b Ff(,)31 b(unsigned)e(in)m(t)i Fe(critical)12 -b Fg(\))390 4225 y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m -(yp)s(e)h Fs(gnutls_x509_crt_t)390 4383 y Ff(oid)t FB(:)40 -b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(n)m(ull)h(terminated)g(string)f(that) -h(holds)f(the)g(OID)390 4540 y Ff(critical)t FB(:)42 -b(Whether)31 b(this)f(extension)h(will)g(b)s(e)e(critical)k(or)d(not) -390 4697 y(This)k(function)h(will)h(set)f(the)h(k)m(ey)g(purp)s(ose)d -(OIDs)i(of)h(the)f(Certi\014cate.)56 b(These)35 b(are)h(stored)f(in)390 -4806 y(the)26 b(Extended)f(Key)h(Usage)h(extension)f(\(2.5.29.37\))k -(See)c(the)g(GNUTLS)p 2929 4806 V 39 w(KP)p 3101 4806 -V 40 w(*)g(de\014nitions)f(for)390 4916 y(h)m(uman)30 -b(readable)g(names.)390 5073 y(Subsequen)m(t)f(calls)j(to)f(this)f -(function)g(will)h(app)s(end)e(OIDs)h(to)h(the)g(OID)f(list.)390 -5230 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 5340 y(is)f(returned.)p eop end -%%Page: 230 236 -TeXDict begin 230 235 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(230)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +2569 1458 28 4 v 40 w(x509)p 2792 1458 V 42 w(crt)p 2945 +1458 V 40 w(t)565 1568 y Fe(crt)p Ff(,)31 b(const)f(c)m(har)g(*)g +Fe(oid)p Ff(,)h(unsigned)e(in)m(t)h Fe(raw_flag)p Ff(,)i(const)e(v)m +(oid)h(*)f Fe(name)p Ff(,)h(unsigned)d(in)m(t)565 1677 +y Fe(sizeof_name)12 b Fg(\))390 1787 y Ff(crt)r FB(:)41 +b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 1787 +V 40 w(x509)p 1723 1787 V 42 w(crt)p 1876 1787 V 40 w(t)g(structure)390 +1950 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 +b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f(terminated)h(string)390 +2112 y Ff(ra)m(w)p 540 2112 V 40 w(\015ag)8 b FB(:)41 +b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g(the)f(data)h(are)g(DER)f +(enco)s(ded)390 2275 y Ff(name)5 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to) +h(the)g(name)390 2438 y Ff(sizeof)p 610 2438 V 41 w(name)5 +b FB(:)41 b(holds)30 b(the)g(size)i(of)e Ft(name)390 +2600 y FB(This)h(function)h(will)g(set)g(the)h(part)e(of)h(the)g(name)g +(of)g(the)h(Certi\014cate)g(issuer,)f(sp)s(eci\014ed)f(b)m(y)h(the)390 +2710 y(giv)m(en)f(OID.)g(The)f(input)f(string)i(should)e(b)s(e)h(ASCI)s +(I)e(or)j(UTF-8)g(enco)s(ded.)390 2872 y(Some)42 b(help)s(er)f(macros)i +(with)f(p)s(opular)f(OIDs)h(can)g(b)s(e)g(found)f(in)g(gn)m +(utls/x509.h)j(With)f(this)390 2982 y(function)g(y)m(ou)g(can)g(only)g +(set)h(the)f(kno)m(wn)f(OIDs.)78 b(Y)-8 b(ou)44 b(can)f(test)h(for)e +(kno)m(wn)h(OIDs)f(using)390 3092 y Ft(gnutls_x509_dn_oid_known)o(\(\)) +p FB(.)33 b(F)-8 b(or)26 b(OIDs)g(that)g(are)g(not)g(kno)m(wn)f(\(b)m +(y)h(gn)m(utls\))g(y)m(ou)g(should)390 3201 y(prop)s(erly)j(DER)i(enco) +s(de)f(y)m(our)h(data,)g(and)f(call)h(this)g(function)f(with)g +Ft(raw_flag)e FB(set.)390 3364 y(Normally)k(y)m(ou)f(do)f(not)h(need)g +(to)g(call)h(this)f(function,)f(since)h(the)g(signing)g(op)s(eration)g +(will)g(cop)m(y)390 3473 y(the)g(signer's)f(name)g(as)h(the)g(issuer)e +(of)i(the)g(certi\014cate.)390 3636 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 +b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 3864 y Fv(gn)m(utls)p 483 3864 37 5 v 55 +w(x509)p 786 3864 V 54 w(crt)p 993 3864 V 54 w(set)p +1199 3864 V 54 w(k)m(ey)p 1436 3864 V 53 w(purp)s(ose)p +1911 3864 V 56 w(oid)3350 4088 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_x509_crt_set_k)q(ey_p)q(urp)q(ose)q(_oi)q(d)e +Fg(\()p Ff(gn)m(utls)p 2516 4088 28 4 v 41 w(x509)p 2740 +4088 V 41 w(crt)p 2892 4088 V 41 w(t)565 4198 y Fe(cert)p +Ff(,)32 b(const)f(v)m(oid)g(*)f Fe(oid)p Ff(,)i(unsigned)d(in)m(t)i +Fe(critical)12 b Fg(\))390 4308 y Ff(cert)r FB(:)41 b(should)30 +b(con)m(tain)h(a)g(gn)m(utls)p 1540 4308 V 41 w(x509)p +1764 4308 V 41 w(crt)p 1916 4308 V 40 w(t)g(structure)390 +4470 y Ff(oid)t FB(:)40 b(a)31 b(p)s(oin)m(ter)g(to)g(a)f(n)m(ull)h +(terminated)g(string)f(that)h(holds)f(the)g(OID)390 4633 +y Ff(critical)t FB(:)42 b(Whether)31 b(this)f(extension)h(will)g(b)s(e) +e(critical)k(or)d(not)390 4796 y(This)k(function)h(will)h(set)f(the)h +(k)m(ey)g(purp)s(ose)d(OIDs)i(of)h(the)f(Certi\014cate.)56 +b(These)35 b(are)h(stored)f(in)390 4905 y(the)26 b(Extended)f(Key)h +(Usage)h(extension)f(\(2.5.29.37\))k(See)c(the)g(GNUTLS)p +2929 4905 V 39 w(KP)p 3101 4905 V 40 w(*)g(de\014nitions)f(for)390 +5015 y(h)m(uman)30 b(readable)g(names.)390 5177 y(Subsequen)m(t)f +(calls)j(to)f(this)f(function)g(will)h(app)s(end)e(OIDs)h(to)h(the)g +(OID)f(list.)390 5340 y(On)g(success)g(0)h(is)f(returned.)p +eop end +%%Page: 215 221 +TeXDict begin 215 220 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(215)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 w(crt)p 993 299 V 54 w(set)p 1199 299 V 54 w(k)m(ey)p 1436 299 V 53 w(usage)3350 495 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_k)q(ey_u)q(sag)q(e)e Fg(\()p Ff(gn)m(utls)p 2202 495 28 4 v 41 w(x509)p 2426 -495 V 42 w(crt)p 2579 495 V 40 w(t)31 b Fe(crt)12 b Ff(,)565 -605 y(unsigned)29 b(in)m(t)i Fe(usage)12 b Fg(\))390 -714 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 849 y Ff(usage)5 b FB(:)41 b(an)31 +495 V 42 w(crt)p 2579 495 V 40 w(t)31 b Fe(crt)p Ff(,)565 +605 y(unsigned)e(in)m(t)i Fe(usage)12 b Fg(\))390 714 +y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p +1500 714 V 40 w(x509)p 1723 714 V 42 w(crt)p 1876 714 +V 40 w(t)g(structure)390 849 y Ff(usage)5 b FB(:)41 b(an)31 b(ORed)f(sequence)g(of)h(the)f(GNUTLS)p 2087 849 V 40 w(KEY)p 2328 849 V 40 w(*)h(elemen)m(ts.)390 983 y(This)f(function)g (will)g(set)h(the)g(k)m(eyUsage)h(certi\014cate)h(extension.)390 -1117 y Fn(Returns:)j FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +1117 y Fn(Returns:)j FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1316 y Fu(gn)m(utls)p 483 1316 37 5 v 55 +b(alue.)150 1316 y Fv(gn)m(utls)p 483 1316 37 5 v 55 w(x509)p 786 1316 V 54 w(crt)p 993 1316 V 54 w(set)p 1199 1316 V 54 w(k)m(ey)3350 1513 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_k)q(ey)f Fg(\()p Ff(gn)m(utls)p 1889 1513 28 4 v 40 w(x509)p 2112 1513 V 42 w(crt)p 2265 -1513 V 40 w(t)31 b Fe(crt)12 b Ff(,)565 1622 y(gn)m(utls)p +1513 V 40 w(t)31 b Fe(crt)p Ff(,)565 1622 y(gn)m(utls)p 811 1622 V 41 w(x509)p 1035 1622 V 41 w(privk)m(ey)p -1369 1622 V 40 w(t)31 b Fe(key)12 b Fg(\))390 1732 y -Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 1866 y Ff(k)m(ey)8 b FB(:)41 -b(holds)30 b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 2001 y(This)d(function)h -(will)g(set)g(the)g(public)f(parameters)h(from)g(the)g(giv)m(en)h(priv) --5 b(ate)29 b(k)m(ey)h(to)f(the)g(certi\014-)390 2110 -y(cate.)42 b(Only)30 b(RSA)g(k)m(eys)h(are)g(curren)m(tly)f(supp)s -(orted.)390 2245 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 2443 y Fu(gn)m(utls)p -483 2443 37 5 v 55 w(x509)p 786 2443 V 54 w(crt)p 993 -2443 V 54 w(set)p 1199 2443 V 54 w(pro)m(xy)p 1559 2443 -V 54 w(dn)3350 2640 y FB([F)d(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_set_p)q(roxy)q(_dn)f Fg(\()p Ff(gn)m(utls)p -2150 2640 28 4 v 41 w(x509)p 2374 2640 V 41 w(crt)p 2526 -2640 V 41 w(t)30 b Fe(crt)12 b Ff(,)565 2749 y(gn)m(utls)p -811 2749 V 41 w(x509)p 1035 2749 V 41 w(crt)p 1187 2749 -V 40 w(t)30 b Fe(eecrt)12 b Ff(,)31 b(unsigned)e(in)m(t)h -Fe(raw_flag)12 b Ff(,)32 b(const)f(v)m(oid)f(*)g Fe(name)12 -b Ff(,)31 b(unsigned)565 2859 y(in)m(t)g Fe(sizeof_name)12 -b Fg(\))390 2969 y Ff(crt)r FB(:)41 b(a)31 b(gn)m(utls)p -891 2969 V 40 w(x509)p 1114 2969 V 42 w(crt)p 1267 2969 -V 40 w(t)g(structure)e(with)h(the)h(new)f(pro)m(xy)g(cert)390 -3103 y Ff(eecrt)r FB(:)42 b(the)30 b(end)g(en)m(tit)m(y)i -(certi\014cate)h(that)e(will)f(b)s(e)g(issuing)g(the)h(pro)m(xy)390 +1369 1622 V 40 w(t)g Fe(key)12 b Fg(\))390 1732 y Ff(crt)r +FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 +1732 V 40 w(x509)p 1723 1732 V 42 w(crt)p 1876 1732 V +40 w(t)g(structure)390 1866 y Ff(k)m(ey)8 b FB(:)41 b(holds)30 +b(a)h(priv)-5 b(ate)31 b(k)m(ey)390 2001 y(This)d(function)h(will)g +(set)g(the)g(public)f(parameters)h(from)g(the)g(giv)m(en)h(priv)-5 +b(ate)29 b(k)m(ey)h(to)f(the)g(certi\014-)390 2110 y(cate.)42 +b(Only)30 b(RSA)g(k)m(eys)h(are)g(curren)m(tly)f(supp)s(orted.)390 +2245 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 2443 y Fv(gn)m(utls)p 483 2443 37 5 v 55 +w(x509)p 786 2443 V 54 w(crt)p 993 2443 V 54 w(set)p +1199 2443 V 54 w(pro)m(xy)p 1559 2443 V 54 w(dn)3350 +2640 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_p)q +(roxy)q(_dn)f Fg(\()p Ff(gn)m(utls)p 2150 2640 28 4 v +41 w(x509)p 2374 2640 V 41 w(crt)p 2526 2640 V 41 w(t)30 +b Fe(crt)p Ff(,)565 2749 y(gn)m(utls)p 811 2749 V 41 +w(x509)p 1035 2749 V 41 w(crt)p 1187 2749 V 40 w(t)h +Fe(eecrt)p Ff(,)h(unsigned)d(in)m(t)i Fe(raw_flag)p Ff(,)i(const)e(v)m +(oid)g(*)g Fe(name)p Ff(,)g(unsigned)565 2859 y(in)m(t)g +Fe(sizeof_name)12 b Fg(\))390 2969 y Ff(crt)r FB(:)41 +b(a)31 b(gn)m(utls)p 891 2969 V 40 w(x509)p 1114 2969 +V 42 w(crt)p 1267 2969 V 40 w(t)g(structure)e(with)h(the)h(new)f(pro)m +(xy)g(cert)390 3103 y Ff(eecrt)r FB(:)42 b(the)30 b(end)g(en)m(tit)m(y) +i(certi\014cate)h(that)e(will)f(b)s(e)g(issuing)g(the)h(pro)m(xy)390 3237 y Ff(ra)m(w)p 540 3237 V 40 w(\015ag)8 b FB(:)41 b(m)m(ust)30 b(b)s(e)g(0,)h(or)f(1)h(if)g(the)f(CN)g(is)h(DER)f(enco)s (ded)390 3372 y Ff(name)5 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g (CN)f(name,)h(ma)m(y)f(b)s(e)g(NULL)h(\(but)f(MUST)g(then)g(b)s(e)f (added)h(later\))390 3506 y Ff(sizeof)p 610 3506 V 41 -w(name)5 b FB(:)41 b(holds)30 b(the)g(size)i(of)e Fs(name)390 +w(name)5 b FB(:)41 b(holds)30 b(the)g(size)i(of)e Ft(name)390 3640 y FB(This)e(function)g(will)g(set)h(the)g(sub)5 -b(ject)28 b(in)g Fs(crt)g FB(to)h(the)f(end)g(en)m(tit)m(y's)i -Fs(eecrt)d FB(sub)5 b(ject)28 b(name,)i(and)390 3750 +b(ject)28 b(in)g Ft(crt)g FB(to)h(the)f(end)g(en)m(tit)m(y's)i +Ft(eecrt)d FB(sub)5 b(ject)28 b(name,)i(and)390 3750 y(add)e(a)g(single)h(Common)f(Name)g(comp)s(onen)m(t)h -Fs(name)e FB(of)h(size)h Fs(sizeof_name)p FB(.)37 b(This)27 +Ft(name)e FB(of)h(size)h Ft(sizeof_name)p FB(.)37 b(This)27 b(corresp)s(onds)390 3859 y(to)j(the)g(required)f(pro)m(xy)h (certi\014cate)i(naming)d(st)m(yle.)42 b(Note)31 b(that)f(if)g -Fs(name)f FB(is)g Fs(NULL)p FB(,)g(y)m(ou)h(MUST)390 -3969 y(set)h(it)g(later)g(b)m(y)f(using)g Fs +Ft(name)f FB(is)g Ft(NULL)p FB(,)g(y)m(ou)h(MUST)390 +3969 y(set)h(it)g(later)g(b)m(y)f(using)g Ft (gnutls_x509_crt_set_dn_by_)o(oid)o(\(\))24 b FB(or)31 b(similar.)390 4103 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4302 y Fu(gn)m(utls)p +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 4302 y Fv(gn)m(utls)p 483 4302 37 5 v 55 w(x509)p 786 4302 V 54 w(crt)p 993 4302 V 54 w(set)p 1199 4302 V 54 w(pro)m(xy)3350 4499 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_p)q(roxy)f Fg(\()p Ff(gn)m(utls)p 1993 4499 28 4 v 41 w(x509)p 2217 -4499 V 41 w(crt)p 2369 4499 V 41 w(t)30 b Fe(crt)12 b -Ff(,)31 b(in)m(t)565 4608 y Fe(pathLenConstraint)12 b -Ff(,)35 b(const)c(c)m(har)g(*)g Fe(policyLanguage)12 -b Ff(,)34 b(const)d(c)m(har)g(*)f Fe(policy)12 b Ff(,)565 -4718 y(size)p 712 4718 V 41 w(t)31 b Fe(sizeof_policy)12 -b Fg(\))390 4827 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m -(yp)s(e)f Fs(gnutls_x509_crt_t)390 4962 y Ff(pathLenConstrain)m(t)r +4499 V 41 w(crt)p 2369 4499 V 41 w(t)30 b Fe(crt)p Ff(,)i(in)m(t)565 +4608 y Fe(pathLenConstraint)p Ff(,)k(const)31 b(c)m(har)f(*)h +Fe(policyLanguage)p Ff(,)k(const)c(c)m(har)g(*)f Fe(policy)p +Ff(,)565 4718 y(size)p 712 4718 V 41 w(t)h Fe(sizeof_policy)12 +b Fg(\))390 4827 y Ff(crt)r FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m +(utls)p 1500 4827 V 40 w(x509)p 1723 4827 V 42 w(crt)p +1876 4827 V 40 w(t)g(structure)390 4962 y Ff(pathLenConstrain)m(t)r FB(:)42 b(non-negativ)m(e)32 b(v)-5 b(alues)31 b(indicate)h(maxim)m(um) f(length)g(of)g(path,)g(and)f(neg-)390 5071 y(ativ)m(e)i(v)-5 b(alues)31 b(indicate)g(that)g(the)g(pathLenConstrain)m(ts)f(\014eld)g (should)f(not)i(b)s(e)f(presen)m(t.)390 5206 y Ff(p)s(olicyLanguage)5 b FB(:)42 b(OID)30 b(describing)h(the)f(language)i(of)e -Fs(policy)p FB(.)390 5340 y Ff(p)s(olicy)8 b FB(:)41 +Ft(policy)p FB(.)390 5340 y Ff(p)s(olicy)8 b FB(:)41 b(opaque)30 b(b)m(yte)h(arra)m(y)g(with)f(p)s(olicy)h(language,)h(can)f -(b)s(e)f Fs(NULL)p eop end -%%Page: 231 237 -TeXDict begin 231 236 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(231)390 299 y +(b)s(e)f Ft(NULL)p eop end +%%Page: 216 222 +TeXDict begin 216 221 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(216)390 299 y Ff(sizeof)p 610 299 28 4 v 41 w(p)s(olicy)8 b FB(:)41 -b(size)31 b(of)g Fs(policy)p FB(.)390 433 y(This)f(function)g(will)g +b(size)31 b(of)g Ft(policy)p FB(.)390 433 y(This)f(function)g(will)g (set)h(the)g(pro)m(xyCertInfo)f(extension.)390 567 y -Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 765 y Fu(gn)m(utls)p 483 765 37 5 v 55 w(x509)p -786 765 V 54 w(crt)p 993 765 V 54 w(set)p 1199 765 V -54 w(serial)3350 961 y FB([F)d(unction])-3599 b Fh(int)53 +b(alue.)150 766 y Fv(gn)m(utls)p 483 766 37 5 v 55 w(x509)p +786 766 V 54 w(crt)p 993 766 V 54 w(set)p 1199 766 V +54 w(serial)3350 962 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_s)q(eria)q(l)f Fg(\()p Ff(gn)m(utls)p -2046 961 28 4 v 40 w(x509)p 2269 961 V 42 w(crt)p 2422 -961 V 40 w(t)30 b Fe(cert)12 b Ff(,)31 b(const)f(v)m(oid)565 -1070 y(*)h Fe(serial)12 b Ff(,)32 b(size)p 1169 1070 -V 41 w(t)e Fe(serial_size)12 b Fg(\))390 1180 y Ff(cert)r -FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m(yp)s(e)h Fs -(gnutls_x509_crt_t)390 1314 y Ff(serial)t FB(:)41 b(The)30 -b(serial)h(n)m(um)m(b)s(er)390 1448 y Ff(serial)p 603 -1448 V 41 w(size)5 b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h -(serial)g(\014eld.)390 1581 y(This)g(function)g(will)h(set)g(the)f -(X.509)j(certi\014cate's)f(serial)f(n)m(um)m(b)s(er.)43 -b(Serial)32 b(is)g(not)f(alw)m(a)m(ys)i(a)f(32)390 1691 -y(or)f(64bit)h(n)m(um)m(b)s(er.)42 b(Some)32 b(CAs)f(use)f(large)j -(serial)f(n)m(um)m(b)s(ers,)e(th)m(us)h(it)h(ma)m(y)f(b)s(e)g(wise)g -(to)h(handle)390 1801 y(it)f(as)g(something)f(opaque.)390 -1935 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2133 y Fu(gn)m(utls)p 483 2133 37 5 v 55 -w(x509)p 786 2133 V 54 w(crt)p 993 2133 V 54 w(set)p -1199 2133 V 54 w(sub)7 b(ject)p 1640 2133 V 54 w(alt)p -1836 2133 V 54 w(name)3350 2328 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_set_s)q(ubje)q(ct_)q(alt)q(_na)q(me)f -Fg(\()p Ff(gn)m(utls)p 2569 2328 28 4 v 40 w(x509)p 2792 -2328 V 42 w(crt)p 2945 2328 V 40 w(t)565 2438 y Fe(crt)12 -b Ff(,)31 b(gn)m(utls)p 1035 2438 V 41 w(x509)p 1259 -2438 V 41 w(sub)5 b(ject)p 1586 2438 V 40 w(alt)p 1731 -2438 V 41 w(name)p 1984 2438 V 40 w(t)31 b Fe(type)12 -b Ff(,)31 b(const)g(v)m(oid)g(*)f Fe(data)12 b Ff(,)32 -b(unsigned)d(in)m(t)565 2548 y Fe(data_size)12 b Ff(,)33 -b(unsigned)c(in)m(t)i Fe(flags)12 b Fg(\))390 2657 y -Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 2791 y Ff(t)m(yp)s(e)5 b FB(:)41 -b(is)30 b(one)h(of)g(the)f(gn)m(utls)p 1399 2791 V 41 -w(x509)p 1623 2791 V 41 w(sub)5 b(ject)p 1950 2791 V -40 w(alt)p 2095 2791 V 41 w(name)p 2348 2791 V 40 w(t)31 -b(en)m(umerations)390 2925 y Ff(data)p FB(:)41 b(The)30 -b(data)h(to)g(b)s(e)f(set)390 3059 y Ff(data)p 572 3059 -V 41 w(size)5 b FB(:)41 b(The)30 b(size)i(of)e(data)h(to)g(b)s(e)f(set) -390 3193 y Ff(\015ags)t FB(:)39 b(GNUTLS)p 1022 3193 -V 40 w(FSAN)p 1308 3193 V 40 w(SET)27 b(to)h(clear)h(previous)e(data)i -(or)e(GNUTLS)p 2930 3193 V 40 w(FSAN)p 3216 3193 V 40 -w(APPEND)h(to)390 3302 y(app)s(end.)390 3436 y(This)35 -b(function)h(will)g(set)h(the)f(sub)5 b(ject)36 b(alternativ)m(e)i -(name)e(certi\014cate)j(extension.)58 b(It)36 b(can)g(set)390 -3546 y(the)31 b(follo)m(wing)g(t)m(yp)s(es:)390 3680 -y(&GNUTLS)p 848 3680 V 39 w(SAN)p 1074 3680 V 40 w(DNSNAME:)h(as)e(a)h -(text)g(string)390 3814 y(&GNUTLS)p 848 3814 V 39 w(SAN)p -1074 3814 V 40 w(RF)m(C822NAME:)i(as)e(a)g(text)g(string)390 -3948 y(&GNUTLS)p 848 3948 V 39 w(SAN)p 1074 3948 V 40 -w(URI:)g(as)f(a)h(text)h(string)390 4082 y(&GNUTLS)p -848 4082 V 39 w(SAN)p 1074 4082 V 40 w(IP)-8 b(ADDRESS:)31 -b(as)f(a)h(binary)f(IP)g(address)f(\(4)i(or)g(16)g(b)m(ytes\))390 -4216 y(Other)f(v)-5 b(alues)31 b(can)f(b)s(e)g(set)h(as)g(binary)e(v)-5 -b(alues)31 b(with)f(the)g(prop)s(er)f(DER)i(enco)s(ding.)390 -4350 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 4484 y Fn(Since:)41 b FB(2.6.0)150 4682 y -Fu(gn)m(utls)p 483 4682 37 5 v 55 w(x509)p 786 4682 V -54 w(crt)p 993 4682 V 54 w(set)p 1199 4682 V 54 w(sub)7 -b(ject)p 1640 4682 V 54 w(alternativ)m(e)p 2270 4682 -V 53 w(name)3350 4877 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_crt_set_s)q(ubje)q(ct_)q(alt)q(ern)q(ativ)q(e_n)q(ame)565 -4987 y Fg(\()p Ff(gn)m(utls)p 846 4987 28 4 v 41 w(x509)p -1070 4987 V 41 w(crt)p 1222 4987 V 41 w(t)30 b Fe(crt)12 -b Ff(,)31 b(gn)m(utls)p 1792 4987 V 41 w(x509)p 2016 -4987 V 41 w(sub)5 b(ject)p 2343 4987 V 40 w(alt)p 2488 -4987 V 41 w(name)p 2741 4987 V 40 w(t)31 b Fe(type)12 -b Ff(,)31 b(const)g(c)m(har)g(*)565 5096 y Fe(data_string)12 -b Fg(\))390 5206 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m -(yp)s(e)f Fs(gnutls_x509_crt_t)390 5340 y Ff(t)m(yp)s(e)5 -b FB(:)41 b(is)30 b(one)h(of)g(the)f(gn)m(utls)p 1399 -5340 V 41 w(x509)p 1623 5340 V 41 w(sub)5 b(ject)p 1950 -5340 V 40 w(alt)p 2095 5340 V 41 w(name)p 2348 5340 V -40 w(t)31 b(en)m(umerations)p eop end -%%Page: 232 238 -TeXDict begin 232 237 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(232)390 299 y -Ff(data)p 572 299 28 4 v 41 w(string)8 b FB(:)40 b(The)30 -b(data)h(to)g(b)s(e)f(set,)h(a)g(zero)g(terminated)g(string)390 -429 y(This)22 b(function)h(will)g(set)g(the)g(sub)5 b(ject)23 -b(alternativ)m(e)i(name)e(certi\014cate)i(extension.)39 -b(This)22 b(function)390 539 y(assumes)30 b(that)h(data)g(can)g(b)s(e)e -(expressed)h(as)h(a)g(n)m(ull)f(terminated)h(string.)390 -669 y(The)38 b(name)g(of)g(the)g(function)g(is)g(unfortunate)g(since)g -(it)h(is)f(incosisten)m(t)h(with)f Fs(gnutls_x509_)390 -779 y(crt_get_subject_alt_name)o(\(\))p FB(.)390 910 -y Fn(Returns:)e FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +2046 962 28 4 v 40 w(x509)p 2269 962 V 42 w(crt)p 2422 +962 V 40 w(t)31 b Fe(cert)p Ff(,)g(const)g(v)m(oid)565 +1072 y(*)g Fe(serial)p Ff(,)h(size)p 1157 1072 V 41 w(t)f +Fe(serial_size)12 b Fg(\))390 1181 y Ff(cert)r FB(:)41 +b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1540 1181 +V 41 w(x509)p 1764 1181 V 41 w(crt)p 1916 1181 V 40 w(t)g(structure)390 +1315 y Ff(serial)t FB(:)41 b(The)30 b(serial)h(n)m(um)m(b)s(er)390 +1450 y Ff(serial)p 603 1450 V 41 w(size)5 b FB(:)41 b(Holds)31 +b(the)g(size)g(of)f(the)h(serial)g(\014eld.)390 1584 +y(This)g(function)g(will)h(set)g(the)f(X.509)j(certi\014cate's)f +(serial)f(n)m(um)m(b)s(er.)43 b(Serial)32 b(is)g(not)f(alw)m(a)m(ys)i +(a)f(32)390 1693 y(or)f(64bit)h(n)m(um)m(b)s(er.)42 b(Some)32 +b(CAs)f(use)f(large)j(serial)f(n)m(um)m(b)s(ers,)e(th)m(us)h(it)h(ma)m +(y)f(b)s(e)g(wise)g(to)h(handle)390 1803 y(it)f(as)g(something)f +(opaque.)390 1937 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 2136 y Fv(gn)m(utls)p +483 2136 37 5 v 55 w(x509)p 786 2136 V 54 w(crt)p 993 +2136 V 54 w(set)p 1199 2136 V 54 w(sub)7 b(ject)p 1640 +2136 V 54 w(alternativ)m(e)p 2270 2136 V 53 w(name)3350 +2332 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_s)q +(ubje)q(ct_)q(alt)q(ern)q(ativ)q(e_n)q(ame)565 2441 y +Fg(\()p Ff(gn)m(utls)p 846 2441 28 4 v 41 w(x509)p 1070 +2441 V 41 w(crt)p 1222 2441 V 41 w(t)30 b Fe(crt)p Ff(,)i(gn)m(utls)p +1781 2441 V 40 w(x509)p 2004 2441 V 41 w(sub)5 b(ject)p +2331 2441 V 40 w(alt)p 2476 2441 V 41 w(name)p 2729 2441 +V 40 w(t)31 b Fe(type)p Ff(,)h(const)f(c)m(har)g(*)565 +2551 y Fe(data_string)12 b Fg(\))390 2661 y Ff(crt)r +FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 +2661 V 40 w(x509)p 1723 2661 V 42 w(crt)p 1876 2661 V +40 w(t)g(structure)390 2795 y Ff(t)m(yp)s(e)5 b FB(:)41 +b(is)30 b(one)h(of)g(the)f(gn)m(utls)p 1399 2795 V 41 +w(x509)p 1623 2795 V 41 w(sub)5 b(ject)p 1950 2795 V +40 w(alt)p 2095 2795 V 41 w(name)p 2348 2795 V 40 w(t)31 +b(en)m(umerations)390 2929 y Ff(data)p 572 2929 V 41 +w(string)8 b FB(:)40 b(The)30 b(data)h(to)g(b)s(e)f(set,)h(a)g(zero)g +(terminated)g(string)390 3063 y(This)f(function)g(will)g(set)h(the)g +(sub)5 b(ject)30 b(alternativ)m(e)j(name)d(certi\014cate)j(extension.) +390 3197 y Fn(Returns:)j FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1101 y Fu(gn)m(utls)p 483 1101 37 5 v 55 -w(x509)p 786 1101 V 54 w(crt)p 993 1101 V 54 w(set)p -1199 1101 V 54 w(sub)7 b(ject)p 1640 1101 V 54 w(k)m(ey)p -1877 1101 V 53 w(id)3350 1290 y FB([F)-8 b(unction])-3599 +b(alue.)150 3396 y Fv(gn)m(utls)p 483 3396 37 5 v 55 +w(x509)p 786 3396 V 54 w(crt)p 993 3396 V 54 w(set)p +1199 3396 V 54 w(sub)7 b(ject)p 1640 3396 V 54 w(k)m(ey)p +1877 3396 V 53 w(id)3350 3592 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_s)q(ubje)q(ct_)q(key)q(_id)f -Fg(\()p Ff(gn)m(utls)p 2464 1290 28 4 v 41 w(x509)p 2688 -1290 V 41 w(crt)p 2840 1290 V 40 w(t)31 b Fe(cert)12 -b Ff(,)565 1399 y(const)31 b(v)m(oid)g(*)g Fe(id)12 b -Ff(,)30 b(size)p 1394 1399 V 41 w(t)h Fe(id_size)12 b -Fg(\))390 1509 y Ff(cert)r FB(:)41 b(a)31 b(certi\014cate)i(of)d(t)m -(yp)s(e)h Fs(gnutls_x509_crt_t)390 1639 y Ff(id)t FB(:)40 -b(The)30 b(k)m(ey)h(ID)390 1770 y Ff(id)p 472 1770 V -40 w(size)5 b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h(serial)g -(\014eld.)390 1900 y(This)f(function)g(will)g(set)h(the)g(X.509)h -(certi\014cate's)g(sub)5 b(ject)31 b(k)m(ey)g(ID)f(extension.)390 -2031 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +Fg(\()p Ff(gn)m(utls)p 2464 3592 28 4 v 41 w(x509)p 2688 +3592 V 41 w(crt)p 2840 3592 V 40 w(t)31 b Fe(cert)p Ff(,)565 +3702 y(const)g(v)m(oid)g(*)g Fe(id)p Ff(,)g(size)p 1383 +3702 V 41 w(t)f Fe(id_size)12 b Fg(\))390 3811 y Ff(cert)r +FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1540 +3811 V 41 w(x509)p 1764 3811 V 41 w(crt)p 1916 3811 V +40 w(t)g(structure)390 3946 y Ff(id)t FB(:)40 b(The)30 +b(k)m(ey)h(ID)390 4080 y Ff(id)p 472 4080 V 40 w(size)5 +b FB(:)41 b(Holds)31 b(the)g(size)g(of)f(the)h(serial)g(\014eld.)390 +4214 y(This)f(function)g(will)g(set)h(the)g(X.509)h(certi\014cate's)g +(sub)5 b(ject)31 b(k)m(ey)g(ID)f(extension.)390 4348 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2222 y Fu(gn)m(utls)p 483 2222 37 5 v 55 -w(x509)p 786 2222 V 54 w(crt)p 993 2222 V 54 w(set)p -1199 2222 V 54 w(v)m(ersion)3350 2411 y FB([F)d(unction])-3599 +b(alue.)150 4547 y Fv(gn)m(utls)p 483 4547 37 5 v 55 +w(x509)p 786 4547 V 54 w(crt)p 993 4547 V 54 w(set)p +1199 4547 V 54 w(v)m(ersion)3350 4743 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_set_v)q(ersi)q(on)f Fg(\()p -Ff(gn)m(utls)p 2098 2411 28 4 v 41 w(x509)p 2322 2411 -V 41 w(crt)p 2474 2411 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 -b(unsigned)565 2520 y(in)m(t)g Fe(version)12 b Fg(\))390 -2630 y Ff(crt)r FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f -Fs(gnutls_x509_crt_t)390 2761 y Ff(v)m(ersion)p FB(:)41 +Ff(gn)m(utls)p 2098 4743 28 4 v 41 w(x509)p 2322 4743 +V 41 w(crt)p 2474 4743 V 40 w(t)31 b Fe(crt)p Ff(,)g(unsigned)565 +4852 y(in)m(t)g Fe(version)12 b Fg(\))390 4962 y Ff(crt)r +FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 +4962 V 40 w(x509)p 1723 4962 V 42 w(crt)p 1876 4962 V +40 w(t)g(structure)390 5096 y Ff(v)m(ersion)p FB(:)41 b(holds)30 b(the)h(v)m(ersion)f(n)m(um)m(b)s(er.)40 b(F)-8 b(or)31 b(X.509v1)i(certi\014cates)f(m)m(ust)e(b)s(e)g(1.)390 -2891 y(This)23 b(function)g(will)h(set)g(the)f(v)m(ersion)h(of)g(the)g +5230 y(This)23 b(function)g(will)h(set)g(the)f(v)m(ersion)h(of)g(the)g (certi\014cate.)40 b(This)23 b(m)m(ust)g(b)s(e)g(one)h(for)f(X.509)i(v) -m(ersion)390 3001 y(1,)31 b(and)f(so)g(on.)41 b(Plain)31 +m(ersion)390 5340 y(1,)31 b(and)f(so)g(on.)41 b(Plain)31 b(certi\014cates)h(without)e(extensions)h(m)m(ust)f(ha)m(v)m(e)i(v)m -(ersion)f(set)g(to)g(one.)390 3131 y(T)-8 b(o)36 b(create)g(w)m -(ell-formed)g(certi\014cates,)j(y)m(ou)c(m)m(ust)g(sp)s(ecify)g(v)m -(ersion)h(3)f(if)g(y)m(ou)h(use)f(an)m(y)g(certi\014-)390 -3241 y(cate)29 b(extensions.)40 b(Extensions)28 b(are)g(created)g(b)m -(y)g(functions)f(suc)m(h)g(as)g Fs(gnutls_x509_crt_set_)390 -3350 y(subject_alt_name\(\))e FB(or)31 b Fs(gnutls_x509_crt_set_key)o -(_usa)o(ge\(\))o FB(.)390 3481 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 3672 y Fu(gn)m(utls)p -483 3672 37 5 v 55 w(x509)p 786 3672 V 54 w(crt)p 993 -3672 V 54 w(sign2)3350 3861 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_sign2)f Fg(\()p Ff(gn)m(utls)p -1784 3861 28 4 v 41 w(x509)p 2008 3861 V 41 w(crt)p 2160 -3861 V 41 w(t)30 b Fe(crt)12 b Ff(,)31 b(gn)m(utls)p -2730 3861 V 41 w(x509)p 2954 3861 V 41 w(crt)p 3106 3861 -V 40 w(t)565 3970 y Fe(issuer)12 b Ff(,)32 b(gn)m(utls)p -1192 3970 V 40 w(x509)p 1415 3970 V 42 w(privk)m(ey)p -1750 3970 V 40 w(t)f Fe(issuer_key)12 b Ff(,)33 b(gn)m(utls)p -2686 3970 V 40 w(digest)p 2958 3970 V 41 w(algorithm)p -3382 3970 V 41 w(t)e Fe(dig)12 b Ff(,)565 4080 y(unsigned)29 -b(in)m(t)i Fe(flags)12 b Fg(\))390 4190 y Ff(crt)r FB(:)41 -b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f Fs(gnutls_x509_crt_t)390 -4320 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f -(certi\014cate)j(issuer)390 4451 y Ff(issuer)p 620 4451 -V 39 w(k)m(ey)8 b FB(:)42 b(holds)30 b(the)g(issuer's)g(priv)-5 -b(ate)31 b(k)m(ey)390 4581 y Ff(dig)8 b FB(:)41 b(The)30 -b(message)h(digest)g(to)g(use,)g Fs(GNUTLS_DIG_SHA1)26 -b FB(is)k(a)h(safe)g(c)m(hoice)390 4712 y Ff(\015ags)t -FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 4842 y(This)g(function)h(will)g -(sign)g(the)g(certi\014cate)i(with)e(the)g(issuer's)f(priv)-5 -b(ate)32 b(k)m(ey)-8 b(,)32 b(and)f(will)g(cop)m(y)h(the)390 -4952 y(issuer's)e(information)h(in)m(to)g(the)f(certi\014cate.)390 -5082 y(This)43 b(m)m(ust)g(b)s(e)g(the)h(last)g(step)g(in)f(a)h -(certi\014cate)h(generation)g(since)f(all)g(the)g(previously)f(set)390 -5192 y(parameters)31 b(are)f(no)m(w)h(signed.)390 5322 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(ersion)f(set)g(to)g(one.)p eop end +%%Page: 217 223 +TeXDict begin 217 222 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(217)390 299 y(T)-8 +b(o)36 b(create)g(w)m(ell-formed)g(certi\014cates,)j(y)m(ou)c(m)m(ust)g +(sp)s(ecify)g(v)m(ersion)h(3)f(if)g(y)m(ou)h(use)f(an)m(y)g(certi\014-) +390 408 y(cate)29 b(extensions.)40 b(Extensions)28 b(are)g(created)g(b) +m(y)g(functions)f(suc)m(h)g(as)g Ft(gnutls_x509_crt_set_)390 +518 y(subject_alternative_name)o(\(\))d FB(or)31 b Ft +(gnutls_x509_crt_set_key)o(_us)o(age\()o(\))p FB(.)390 +653 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 233 239 -TeXDict begin 233 238 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(233)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(crt)p 993 299 V 54 w(sign)3350 492 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_crt_sign)f Fg(\()p Ff(gn)m(utls)p -1732 492 28 4 v 40 w(x509)p 1955 492 V 42 w(crt)p 2108 -492 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 b(gn)m(utls)p 2678 -492 V 40 w(x509)p 2901 492 V 42 w(crt)p 3054 492 V 40 -w(t)565 602 y Fe(issuer)12 b Ff(,)32 b(gn)m(utls)p 1192 -602 V 40 w(x509)p 1415 602 V 42 w(privk)m(ey)p 1750 602 -V 40 w(t)f Fe(issuer_key)12 b Fg(\))390 711 y Ff(crt)r -FB(:)41 b(a)31 b(certi\014cate)h(of)f(t)m(yp)s(e)f Fs -(gnutls_x509_crt_t)390 844 y Ff(issuer)7 b FB(:)40 b(is)30 +b(alue.)150 853 y Fv(gn)m(utls)p 483 853 37 5 v 55 w(x509)p +786 853 V 54 w(crt)p 993 853 V 54 w(sign2)3350 1050 y +FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_sign2)f +Fg(\()p Ff(gn)m(utls)p 1784 1050 28 4 v 41 w(x509)p 2008 +1050 V 41 w(crt)p 2160 1050 V 41 w(t)30 b Fe(crt)p Ff(,)i(gn)m(utls)p +2719 1050 V 40 w(x509)p 2942 1050 V 41 w(crt)p 3094 1050 +V 41 w(t)565 1160 y Fe(issuer)p Ff(,)g(gn)m(utls)p 1180 +1160 V 41 w(x509)p 1404 1160 V 41 w(privk)m(ey)p 1738 +1160 V 40 w(t)f Fe(issuer_key)p Ff(,)j(gn)m(utls)p 2663 +1160 V 40 w(digest)p 2935 1160 V 41 w(algorithm)p 3359 +1160 V 41 w(t)d Fe(dig)p Ff(,)565 1270 y(unsigned)e(in)m(t)i +Fe(flags)12 b Fg(\))390 1379 y Ff(crt)r FB(:)41 b(should)29 +b(con)m(tain)j(a)f(gn)m(utls)p 1500 1379 V 40 w(x509)p +1723 1379 V 42 w(crt)p 1876 1379 V 40 w(t)g(structure)390 +1514 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f +(certi\014cate)j(issuer)390 1650 y Ff(issuer)p 620 1650 +V 39 w(k)m(ey)8 b FB(:)42 b(holds)30 b(the)g(issuer's)g(priv)-5 +b(ate)31 b(k)m(ey)390 1785 y Ff(dig)8 b FB(:)48 b(The)34 +b(message)h(digest)g(to)g(use.)52 b(GNUTLS)p 2109 1785 +V 40 w(DIG)p 2322 1785 V 40 w(SHA1)35 b(is)f(the)g(safe)h(c)m(hoice)h +(unless)e(y)m(ou)390 1894 y(kno)m(w)c(what)h(y)m(ou're)g(doing.)390 +2029 y Ff(\015ags)t FB(:)41 b(m)m(ust)30 b(b)s(e)g(0)390 +2165 y(This)g(function)h(will)g(sign)g(the)g(certi\014cate)i(with)e +(the)g(issuer's)f(priv)-5 b(ate)32 b(k)m(ey)-8 b(,)32 +b(and)f(will)g(cop)m(y)h(the)390 2274 y(issuer's)e(information)h(in)m +(to)g(the)f(certi\014cate.)390 2409 y(This)43 b(m)m(ust)g(b)s(e)g(the)h +(last)g(step)g(in)f(a)h(certi\014cate)h(generation)g(since)f(all)g(the) +g(previously)f(set)390 2519 y(parameters)31 b(are)f(no)m(w)h(signed.) +390 2654 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS) +16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 2854 y Fv(gn)m(utls)p 483 2854 37 5 v 55 +w(x509)p 786 2854 V 54 w(crt)p 993 2854 V 54 w(sign)3350 +3051 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_sign)f +Fg(\()p Ff(gn)m(utls)p 1732 3051 28 4 v 40 w(x509)p 1955 +3051 V 42 w(crt)p 2108 3051 V 40 w(t)31 b Fe(crt)p Ff(,)g(gn)m(utls)p +2666 3051 V 41 w(x509)p 2890 3051 V 41 w(crt)p 3042 3051 +V 40 w(t)565 3161 y Fe(issuer)p Ff(,)h(gn)m(utls)p 1180 +3161 V 41 w(x509)p 1404 3161 V 41 w(privk)m(ey)p 1738 +3161 V 40 w(t)f Fe(issuer_key)12 b Fg(\))390 3270 y Ff(crt)r +FB(:)41 b(should)29 b(con)m(tain)j(a)f(gn)m(utls)p 1500 +3270 V 40 w(x509)p 1723 3270 V 42 w(crt)p 1876 3270 V +40 w(t)g(structure)390 3406 y Ff(issuer)7 b FB(:)40 b(is)30 b(the)h(certi\014cate)h(of)f(the)f(certi\014cate)j(issuer)390 -977 y Ff(issuer)p 620 977 V 39 w(k)m(ey)8 b FB(:)42 b(holds)30 -b(the)g(issuer's)g(priv)-5 b(ate)31 b(k)m(ey)390 1109 -y(This)h(function)h(is)f(the)h(same)h(a)f Fs(gnutls_x509_crt_sign2\(\)) -26 b FB(with)33 b(no)g(\015ags,)g(and)g(SHA1)g(as)390 -1219 y(the)e(hash)e(algorithm.)390 1352 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1548 y Fu(gn)m(utls)p 483 1548 37 5 v 55 -w(x509)p 786 1548 V 54 w(crt)p 993 1548 V 54 w(v)m(erify)p -1351 1548 V 54 w(data)3350 1741 y FB([F)d(unction])-3599 +3541 y Ff(issuer)p 620 3541 V 39 w(k)m(ey)8 b FB(:)42 +b(holds)30 b(the)g(issuer's)g(priv)-5 b(ate)31 b(k)m(ey)390 +3676 y(This)h(function)h(is)f(the)h(same)h(a)f Ft +(gnutls_x509_crt_sign2\(\))26 b FB(with)33 b(no)g(\015ags,)g(and)g +(SHA1)g(as)390 3785 y(the)e(hash)e(algorithm.)390 3921 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 4120 y Fv(gn)m(utls)p 483 4120 37 5 v 55 +w(x509)p 786 4120 V 54 w(crt)p 993 4120 V 54 w(v)m(erify)p +1351 4120 V 54 w(data)3350 4318 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_verif)q(y_da)q(ta)f Fg(\()p -Ff(gn)m(utls)p 2098 1741 28 4 v 41 w(x509)p 2322 1741 -V 41 w(crt)p 2474 1741 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 -b(unsigned)565 1850 y(in)m(t)g Fe(flags)12 b Ff(,)32 -b(const)e(gn)m(utls)p 1516 1850 V 41 w(datum)p 1815 1850 -V 39 w(t)h(*)g Fe(data)12 b Ff(,)31 b(const)g(gn)m(utls)p -2750 1850 V 40 w(datum)p 3048 1850 V 40 w(t)g(*)f Fe(signature)12 -b Fg(\))390 1960 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 2093 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w) -390 2225 y Ff(data)p FB(:)41 b(holds)30 b(the)h(data)g(to)g(b)s(e)f -(signed)390 2358 y Ff(signature)5 b FB(:)41 b(con)m(tains)32 -b(the)e(signature)390 2491 y(This)d(function)h(will)h(v)m(erify)g(the)f +Ff(gn)m(utls)p 2098 4318 28 4 v 41 w(x509)p 2322 4318 +V 41 w(crt)p 2474 4318 V 40 w(t)31 b Fe(crt)p Ff(,)g(unsigned)565 +4427 y(in)m(t)g Fe(flags)p Ff(,)h(const)f(gn)m(utls)p +1505 4427 V 40 w(datum)p 1803 4427 V 40 w(t)g(*)f Fe(data)p +Ff(,)i(const)f(gn)m(utls)p 2727 4427 V 40 w(datum)p 3025 +4427 V 40 w(t)g(*)f Fe(signature)12 b Fg(\))390 4537 +y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 +4672 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 +4807 y Ff(data)p FB(:)41 b(holds)30 b(the)h(data)g(to)g(b)s(e)f(signed) +390 4942 y Ff(signature)5 b FB(:)41 b(con)m(tains)32 +b(the)e(signature)390 5078 y(This)d(function)h(will)h(v)m(erify)g(the)f (giv)m(en)h(signed)g(data,)g(using)f(the)g(parameters)h(from)f(the)g -(certi\014-)390 2600 y(cate.)390 2733 y Fn(Returns:)40 +(certi\014-)390 5187 y(cate.)390 5322 y Fn(Returns:)40 b FB(In)30 b(case)h(of)g(a)g(v)m(eri\014cation)h(failure)e(0)h(is)f -(returned,)g(and)g(1)g(on)h(success.)150 2929 y Fu(gn)m(utls)p -483 2929 37 5 v 55 w(x509)p 786 2929 V 54 w(crt)p 993 -2929 V 54 w(v)m(erify)p 1351 2929 V 54 w(hash)3350 3122 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_verif)q(y_ha) -q(sh)f Fg(\()p Ff(gn)m(utls)p 2098 3122 28 4 v 41 w(x509)p -2322 3122 V 41 w(crt)p 2474 3122 V 40 w(t)31 b Fe(crt)12 -b Ff(,)31 b(unsigned)565 3232 y(in)m(t)g Fe(flags)12 -b Ff(,)32 b(const)e(gn)m(utls)p 1516 3232 V 41 w(datum)p -1815 3232 V 39 w(t)h(*)g Fe(hash)12 b Ff(,)31 b(const)g(gn)m(utls)p -2750 3232 V 40 w(datum)p 3048 3232 V 40 w(t)g(*)f Fe(signature)12 -b Fg(\))390 3341 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 3474 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w) -390 3607 y Ff(hash)p FB(:)40 b(holds)30 b(the)g(hash)g(digest)h(to)g(b) -s(e)f(v)m(eri\014ed)390 3739 y Ff(signature)5 b FB(:)41 -b(con)m(tains)32 b(the)e(signature)390 3872 y(This)i(function)g(will)h -(v)m(erify)g(the)f(giv)m(en)i(signed)e(digest,)i(using)e(the)h -(parameters)g(from)f(the)g(cer-)390 3982 y(ti\014cate.)390 -4114 y Fn(Returns:)40 b FB(In)30 b(case)h(of)g(a)g(v)m(eri\014cation)h -(failure)e(0)h(is)f(returned,)g(and)g(1)g(on)h(success.)150 -4310 y Fu(gn)m(utls)p 483 4310 37 5 v 55 w(x509)p 786 -4310 V 54 w(crt)p 993 4310 V 54 w(v)m(erify)3350 4503 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_verif)q(y)e -Fg(\()p Ff(gn)m(utls)p 1836 4503 28 4 v 41 w(x509)p 2060 -4503 V 41 w(crt)p 2212 4503 V 41 w(t)30 b Fe(cert)12 -b Ff(,)32 b(const)565 4613 y(gn)m(utls)p 811 4613 V 41 -w(x509)p 1035 4613 V 41 w(crt)p 1187 4613 V 40 w(t)f(*)g -Fe(CA_list)12 b Ff(,)32 b(in)m(t)f Fe(CA_list_length)12 -b Ff(,)34 b(unsigned)29 b(in)m(t)i Fe(flags)12 b Ff(,)565 -4723 y(unsigned)29 b(in)m(t)i(*)g Fe(verify)12 b Fg(\))390 -4832 y Ff(cert)r FB(:)41 b(is)31 b(the)f(certi\014cate)j(to)e(b)s(e)f -(v)m(eri\014ed)390 4965 y Ff(CA)p 530 4965 V 40 w(list)r -FB(:)41 b(is)31 b(one)f(certi\014cate)j(that)e(is)f(considered)g(to)h -(b)s(e)f(trusted)g(one)390 5098 y Ff(CA)p 530 5098 V -40 w(list)p 691 5098 V 41 w(length)p FB(:)41 b(holds)30 -b(the)g(n)m(um)m(b)s(er)f(of)i(CA)f(certi\014cate)i(in)e(CA)p -2697 5098 V 40 w(list)390 5230 y Ff(\015ags)t FB(:)51 +(returned,)g(and)g(1)g(on)h(success.)p eop end +%%Page: 218 224 +TeXDict begin 218 223 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(218)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(crt)p 993 299 V 54 w(v)m(erify)3350 494 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_crt_verif)q(y)e +Fg(\()p Ff(gn)m(utls)p 1836 494 28 4 v 41 w(x509)p 2060 +494 V 41 w(crt)p 2212 494 V 41 w(t)30 b Fe(cert)p Ff(,)i(const)565 +603 y(gn)m(utls)p 811 603 V 41 w(x509)p 1035 603 V 41 +w(crt)p 1187 603 V 40 w(t)f(*)g Fe(CA_list)p Ff(,)h(in)m(t)f +Fe(CA_list_length)p Ff(,)k(unsigned)29 b(in)m(t)i Fe(flags)p +Ff(,)565 713 y(unsigned)e(in)m(t)i(*)g Fe(verify)12 b +Fg(\))390 822 y Ff(cert)r FB(:)41 b(is)31 b(the)f(certi\014cate)j(to)e +(b)s(e)f(v)m(eri\014ed)390 956 y Ff(CA)p 530 956 V 40 +w(list)r FB(:)41 b(is)31 b(one)f(certi\014cate)j(that)e(is)f +(considered)g(to)h(b)s(e)f(trusted)g(one)390 1089 y Ff(CA)p +530 1089 V 40 w(list)p 691 1089 V 41 w(length)p FB(:)41 +b(holds)30 b(the)g(n)m(um)m(b)s(er)f(of)i(CA)f(certi\014cate)i(in)e(CA) +p 2697 1089 V 40 w(list)390 1223 y Ff(\015ags)t FB(:)51 b(Flags)37 b(that)f(ma)m(y)g(b)s(e)e(used)h(to)h(c)m(hange)h(the)e(v)m (eri\014cation)i(algorithm.)57 b(Use)36 b(OR)f(of)h(the)390 -5340 y(gn)m(utls)p 636 5340 V 40 w(certi\014cate)p 1063 -5340 V 43 w(v)m(erify)p 1328 5340 V 40 w(\015ags)31 b(en)m(umerations.) -p eop end -%%Page: 234 240 -TeXDict begin 234 239 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(234)390 299 y -Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(certi\014cate)j(v)m -(eri\014cation)f(output.)390 439 y(This)d(function)h(will)h(try)f(to)h -(v)m(erify)g(the)f(giv)m(en)h(certi\014cate)h(and)e(return)f(its)i -(status.)41 b(The)29 b(v)m(eri\014-)390 548 y(cation)j(output)e(in)g -(this)g(functions)g(cannot)h(b)s(e)f(GNUTLS)p 2445 548 -28 4 v 39 w(CER)-8 b(T)p 2737 548 V 40 w(NOT)p 2982 548 -V 39 w(V)e(ALID.)390 688 y Fn(Returns:)73 b FB(On)47 -b(success,)k Fs(GNUTLS_E_SUCCESS)42 b FB(is)47 b(returned,)k(otherwise) -c(a)g(negativ)m(e)i(error)390 798 y(v)-5 b(alue.and)31 -b(a)f(negativ)m(e)j(v)-5 b(alue)31 b(in)f(case)h(of)g(an)f(error.)150 -1003 y Fu(gn)m(utls)p 483 1003 37 5 v 55 w(x509)p 786 -1003 V 54 w(dn)p 976 1003 V 55 w(deinit)3350 1205 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(gnutls_x509_dn_deinit)d -Fg(\()p Ff(gn)m(utls)p 1836 1205 28 4 v 41 w(x509)p 2060 -1205 V 41 w(dn)p 2203 1205 V 39 w(t)31 b Fe(dn)12 b Fg(\))390 -1314 y Ff(dn)p FB(:)40 b(a)30 b(DN)h(opaque)g(ob)5 b(ject)31 -b(p)s(oin)m(ter.)390 1454 y(This)f(function)g(deallo)s(cates)i(the)f -(DN)g(ob)5 b(ject)31 b(as)g(returned)e(b)m(y)h Fs -(gnutls_x509_dn_import\(\))p FB(.)390 1594 y Fn(Since:)41 -b FB(2.4.0)150 1799 y Fu(gn)m(utls)p 483 1799 37 5 v -55 w(x509)p 786 1799 V 54 w(dn)p 976 1799 V 55 w(exp)s(ort)3350 -2001 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_export)f -Fg(\()p Ff(gn)m(utls)p 1784 2001 28 4 v 41 w(x509)p 2008 -2001 V 41 w(dn)p 2151 2001 V 39 w(t)31 b Fe(dn)12 b Ff(,)565 -2110 y(gn)m(utls)p 811 2110 V 41 w(x509)p 1035 2110 V -41 w(crt)p 1187 2110 V 40 w(fm)m(t)p 1363 2110 V 41 w(t)30 -b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)g Fe(output_data)12 -b Ff(,)33 b(size)p 2906 2110 V 41 w(t)e(*)565 2220 y -Fe(output_data_size)12 b Fg(\))390 2330 y Ff(dn)p FB(:)40 -b(Holds)30 b(the)h(opaque)f(DN)h(ob)5 b(ject)390 2470 -y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 2609 y Ff(output)p -664 2609 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(DN)h(PEM)g -(or)f(DER)g(enco)s(ded)390 2749 y Ff(output)p 664 2749 -V 40 w(data)p 880 2749 V 40 w(size)5 b FB(:)49 b(holds)34 -b(the)g(size)h(of)f(output)p 2093 2749 V 39 w(data)h(\(and)f(will)g(b)s -(e)f(replaced)i(b)m(y)e(the)i(actual)390 2859 y(size)c(of)g -(parameters\))390 2999 y(This)f(function)g(will)g(exp)s(ort)g(the)h(DN) -g(to)g(DER)g(or)f(PEM)g(format.)390 3139 y(If)23 b(the)g(bu\013er)f +1333 y(gn)m(utls)p 636 1333 V 40 w(certi\014cate)p 1063 +1333 V 43 w(v)m(erify)p 1328 1333 V 40 w(\015ags)31 b(en)m(umerations.) +390 1466 y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g +(certi\014cate)j(v)m(eri\014cation)f(output.)390 1600 +y(This)d(function)h(will)h(try)f(to)h(v)m(erify)g(the)f(giv)m(en)h +(certi\014cate)h(and)e(return)f(its)i(status.)41 b(The)29 +b(v)m(eri\014-)390 1709 y(cation)j(output)e(in)g(this)g(functions)g +(cannot)h(b)s(e)f(GNUTLS)p 2445 1709 V 39 w(CER)-8 b(T)p +2737 1709 V 40 w(NOT)p 2982 1709 V 39 w(V)e(ALID.)390 +1843 y Fn(Returns:)73 b FB(On)47 b(success,)k Ft(GNUTLS_E_SUCCESS)42 +b FB(is)47 b(returned,)k(otherwise)c(a)g(negativ)m(e)i(error)390 +1952 y(v)-5 b(alue.and)31 b(a)f(negativ)m(e)j(v)-5 b(alue)31 +b(in)f(case)h(of)g(an)f(error.)150 2149 y Fv(gn)m(utls)p +483 2149 37 5 v 55 w(x509)p 786 2149 V 54 w(dn)p 976 +2149 V 55 w(deinit)3350 2344 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_x509_dn_deinit)d Fg(\()p Ff(gn)m(utls)p +1836 2344 28 4 v 41 w(x509)p 2060 2344 V 41 w(dn)p 2203 +2344 V 39 w(t)31 b Fe(idn)12 b Fg(\))390 2454 y Ff(idn)p +FB(:)40 b(a)31 b(DN)g(opaque)f(ob)5 b(ject)31 b(p)s(oin)m(ter.)390 +2587 y(This)f(function)g(deallo)s(cates)i(the)f(DN)g(ob)5 +b(ject)31 b(as)g(returned)e(b)m(y)h Ft(gnutls_x509_dn_import\(\))p +FB(.)390 2721 y Fn(Since:)41 b FB(2.4.0)150 2918 y Fv(gn)m(utls)p +483 2918 37 5 v 55 w(x509)p 786 2918 V 54 w(dn)p 976 +2918 V 55 w(exp)s(ort)3350 3113 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_dn_export)f Fg(\()p Ff(gn)m(utls)p +1784 3113 28 4 v 41 w(x509)p 2008 3113 V 41 w(dn)p 2151 +3113 V 39 w(t)31 b Fe(dn)p Ff(,)565 3222 y(gn)m(utls)p +811 3222 V 41 w(x509)p 1035 3222 V 41 w(crt)p 1187 3222 +V 40 w(fm)m(t)p 1363 3222 V 41 w(t)f Fe(format)p Ff(,)j(v)m(oid)e(*)f +Fe(output_data)p Ff(,)k(size)p 2883 3222 V 41 w(t)d(*)565 +3332 y Fe(output_data_size)12 b Fg(\))390 3442 y Ff(dn)p +FB(:)40 b(Holds)30 b(the)h(opaque)f(DN)h(ob)5 b(ject)390 +3575 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 3709 y Ff(output)p +664 3709 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(DN)h(PEM)g +(or)f(DER)g(enco)s(ded)390 3842 y Ff(output)p 664 3842 +V 40 w(data)p 880 3842 V 40 w(size)5 b FB(:)49 b(holds)34 +b(the)g(size)h(of)f(output)p 2093 3842 V 39 w(data)h(\(and)f(will)g(b)s +(e)f(replaced)i(b)m(y)e(the)i(actual)390 3952 y(size)c(of)g +(parameters\))390 4085 y(This)f(function)g(will)g(exp)s(ort)g(the)h(DN) +g(to)g(DER)g(or)f(PEM)g(format.)390 4219 y(If)23 b(the)g(bu\013er)f (pro)m(vided)g(is)h(not)h(long)f(enough)g(to)h(hold)f(the)g(output,)h -(then)f(*)p Fs(output_data_size)390 3248 y FB(is)30 b(up)s(dated)f(and) -h Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(will)31 -b(b)s(e)e(returned.)390 3388 y(If)h(the)g(structure)g(is)h(PEM)f(enco)s -(ded,)g(it)h(will)g(ha)m(v)m(e)h(a)e(header)h(of)f Fs(")p -FB(BEGIN)h(NAME)p Fs(")p FB(.)390 3528 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +(then)f(*)p Ft(output_data_size)390 4328 y FB(is)30 b(up)s(dated)f(and) +h Ft(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(will)31 +b(b)s(e)e(returned.)390 4462 y(If)h(the)g(structure)g(is)h(PEM)f(enco)s +(ded,)g(it)h(will)g(ha)m(v)m(e)h(a)e(header)h(of)f Ft(")p +FB(BEGIN)h(NAME)p Ft(")p FB(.)390 4595 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3733 y Fu(gn)m(utls)p 483 3733 37 5 v 55 -w(x509)p 786 3733 V 54 w(dn)p 976 3733 V 55 w(get)p 1196 -3733 V 54 w(rdn)p 1436 3733 V 54 w(a)m(v)e(a)3350 3935 +b(alue.)150 4793 y Fv(gn)m(utls)p 483 4793 37 5 v 55 +w(x509)p 786 4793 V 54 w(dn)p 976 4793 V 55 w(get)p 1196 +4793 V 54 w(rdn)p 1436 4793 V 54 w(a)m(v)e(a)3350 4987 y FB([F)f(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_get_rd)q(n_av)q -(a)f Fg(\()p Ff(gn)m(utls)p 2046 3935 28 4 v 40 w(x509)p -2269 3935 V 42 w(dn)p 2413 3935 V 39 w(t)30 b Fe(dn)12 -b Ff(,)31 b(in)m(t)g Fe(irdn)12 b Ff(,)565 4045 y(in)m(t)31 -b Fe(iava)12 b Ff(,)31 b(gn)m(utls)p 1226 4045 V 41 w(x509)p -1450 4045 V 41 w(a)m(v)-5 b(a)p 1621 4045 V 41 w(st)31 -b(*)g Fe(ava)12 b Fg(\))390 4154 y Ff(dn)p FB(:)40 b(input)29 -b(v)-5 b(ariable)31 b(with)f(opaque)h(DN)g(p)s(oin)m(ter)390 -4294 y Ff(irdn)p FB(:)40 b(index)29 b(of)i(RDN)390 4434 -y Ff(ia)m(v)-5 b(a)p FB(:)42 b(index)30 b(of)h(A)-10 -b(V)g(A.)390 4574 y Ff(a)m(v)-5 b(a)p FB(:)42 b(P)m(oin)m(ter)32 -b(to)f(structure)f(whic)m(h)g(will)g(hold)h(output)e(information.)390 -4714 y(Get)i(p)s(oin)m(ters)g(to)g(data)g(within)f(the)g(DN.)390 -4854 y(Note)k(that)g Fs(ava)e FB(will)h(con)m(tain)i(p)s(oin)m(ters)e -(in)m(to)h(the)f Fs(dn)f FB(structure,)i(so)f(y)m(ou)g(should)f(not)i -(mo)s(dify)390 4963 y(an)m(y)41 b(data)g(or)g(deallo)s(cate)i(it.)71 +(a)f Fg(\()p Ff(gn)m(utls)p 2046 4987 28 4 v 40 w(x509)p +2269 4987 V 42 w(dn)p 2413 4987 V 39 w(t)30 b Fe(dn)p +Ff(,)h(in)m(t)g Fe(irdn)p Ff(,)h(in)m(t)565 5097 y Fe(iava)p +Ff(,)g(gn)m(utls)p 1076 5097 V 40 w(x509)p 1299 5097 +V 42 w(a)m(v)-5 b(a)p 1471 5097 V 41 w(st)30 b(*)h Fe(ava)12 +b Fg(\))390 5206 y Ff(dn)p FB(:)40 b(input)29 b(v)-5 +b(ariable)31 b(with)f(opaque)h(DN)g(p)s(oin)m(ter)390 +5340 y Ff(irdn)p FB(:)40 b(index)29 b(of)i(RDN)p eop +end +%%Page: 219 225 +TeXDict begin 219 224 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(219)390 299 y +Ff(ia)m(v)-5 b(a)p FB(:)42 b(index)30 b(of)h(A)-10 b(V)g(A.)390 +444 y Ff(a)m(v)-5 b(a)p FB(:)42 b(P)m(oin)m(ter)32 b(to)f(structure)f +(whic)m(h)g(will)g(hold)h(output)e(information.)390 590 +y(Get)i(p)s(oin)m(ters)g(to)g(data)g(within)f(the)g(DN.)390 +735 y(Note)k(that)g Ft(ava)e FB(will)h(con)m(tain)i(p)s(oin)m(ters)e +(in)m(to)h(the)f Ft(dn)f FB(structure,)i(so)f(y)m(ou)g(should)f(not)i +(mo)s(dify)390 844 y(an)m(y)41 b(data)g(or)g(deallo)s(cate)i(it.)71 b(Note)42 b(also)g(that)f(the)f(DN)i(in)e(turn)f(p)s(oin)m(ts)i(in)m -(to)g(the)g(original)390 5073 y(certi\014cate)32 b(structure,)e(and)f +(to)g(the)g(original)390 954 y(certi\014cate)32 b(structure,)e(and)f (th)m(us)h(y)m(ou)g(ma)m(y)g(not)g(deallo)s(cate)j(the)d(certi\014cate) -i(and)d(con)m(tin)m(ue)i(to)390 5182 y(access)h Fs(dn)p -FB(.)390 5322 y Fn(Returns:)40 b FB(Returns)30 b(0)h(on)f(success,)h -(or)f(an)g(error)g(co)s(de.)p eop end -%%Page: 235 241 -TeXDict begin 235 240 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(235)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(dn)p 976 299 V 55 w(imp)s(ort)3350 492 y FB([F)-8 b(unction])-3599 +i(and)d(con)m(tin)m(ue)i(to)390 1064 y(access)h Ft(dn)p +FB(.)390 1209 y Fn(Returns:)40 b FB(Returns)30 b(0)h(on)f(success,)h +(or)f(an)g(error)g(co)s(de.)150 1419 y Fv(gn)m(utls)p +483 1419 37 5 v 55 w(x509)p 786 1419 V 54 w(dn)p 976 +1419 V 55 w(imp)s(ort)3350 1627 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_import)f Fg(\()p Ff(gn)m(utls)p -1784 492 28 4 v 41 w(x509)p 2008 492 V 41 w(dn)p 2151 -492 V 39 w(t)31 b Fe(dn)12 b Ff(,)31 b(const)565 601 -y(gn)m(utls)p 811 601 V 41 w(datum)p 1110 601 V 39 w(t)g(*)g -Fe(data)12 b Fg(\))390 711 y Ff(dn)p FB(:)40 b(the)30 -b(structure)g(that)h(will)g(hold)f(the)g(imp)s(orted)g(DN)390 -843 y Ff(data)p FB(:)41 b(should)30 b(con)m(tain)i(a)e(DER)h(enco)s -(ded)f(RDN)h(sequence)390 976 y(This)e(function)g(parses)g(an)g(RDN)h -(sequence)g(and)f(stores)g(the)h(result)f(to)i(a)e Fs(gnutls_x509_dn_t) -390 1085 y FB(structure.)57 b(The)35 b(structure)g(m)m(ust)h(ha)m(v)m -(e)h(b)s(een)e(initialized)j(with)d Fs(gnutls_x509_dn_init\(\))p -FB(.)390 1195 y(Y)-8 b(ou)31 b(ma)m(y)g(use)f Fs -(gnutls_x509_dn_get_rdn_a)o(va\(\))24 b FB(to)31 b(deco)s(de)f(the)h -(DN.)390 1327 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 1460 y Fn(Since:)41 -b FB(2.4.0)150 1655 y Fu(gn)m(utls)p 483 1655 37 5 v -55 w(x509)p 786 1655 V 54 w(dn)p 976 1655 V 55 w(init)3350 -1848 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_init)e -Fg(\()p Ff(gn)m(utls)p 1679 1848 28 4 v 41 w(x509)p 1903 -1848 V 42 w(dn)p 2047 1848 V 39 w(t)30 b(*)h Fe(dn)12 -b Fg(\))390 1957 y Ff(dn)p FB(:)40 b(the)30 b(ob)5 b(ject)31 -b(to)h(b)s(e)d(initialized)390 2090 y(This)h(function)g(initializes)i -(a)f Fs(gnutls_x509_dn_t)26 b FB(structure.)390 2222 -y(The)k(ob)5 b(ject)31 b(returned)e(m)m(ust)i(b)s(e)e(deallo)s(cated)k -(using)c Fs(gnutls_x509_dn_deinit\(\))p FB(.)390 2355 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +1784 1627 28 4 v 41 w(x509)p 2008 1627 V 41 w(dn)p 2151 +1627 V 39 w(t)31 b Fe(odn)p Ff(,)g(const)565 1736 y(gn)m(utls)p +811 1736 V 41 w(datum)p 1110 1736 V 39 w(t)g(*)g Fe(data)12 +b Fg(\))390 1846 y Ff(o)s(dn)p FB(:)40 b(the)30 b(structure)g(that)h +(will)g(hold)f(the)g(imp)s(orted)g(DN)390 1991 y Ff(data)p +FB(:)41 b(should)30 b(con)m(tain)i(a)e(DER)h(enco)s(ded)f(RDN)h +(sequence)390 2136 y(This)e(function)g(parses)g(an)g(RDN)h(sequence)g +(and)f(stores)g(the)h(result)f(to)i(a)e Ft(gnutls_x509_dn_t)390 +2246 y FB(structure.)57 b(The)35 b(structure)g(m)m(ust)h(ha)m(v)m(e)h +(b)s(een)e(initialized)j(with)d Ft(gnutls_x509_dn_init\(\))p +FB(.)390 2356 y(Y)-8 b(ou)48 b(ma)m(y)h(use)e Ft +(gnutls_x509_dn_get_rdn_ava)o(\(\))42 b FB(to)48 b(deco)s(de)g(the)g +(DN.)h(This)e(function)390 2465 y(parses)42 b(an)h(RDN)g(sequence)h +(and)e(stores)h(the)g(result)g(to)h(a)f Ft(gnutls_x509_dn_t)38 +b FB(structure.)390 2575 y(The)g(structure)f(m)m(ust)h(ha)m(v)m(e)i(b)s +(een)d(initialized)j(with)e Ft(gnutls_x509_dn_init\(\))p +FB(.)59 b(Y)-8 b(ou)38 b(ma)m(y)390 2684 y(use)30 b Ft +(gnutls_x509_dn_get_rdn_av)o(a\(\))24 b FB(to)31 b(deco)s(de)f(the)h +(DN.)390 2830 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)390 2975 y Fn(Since:)41 +b FB(2.4.0)150 3185 y Fv(gn)m(utls)p 483 3185 37 5 v +55 w(x509)p 786 3185 V 54 w(dn)p 976 3185 V 55 w(init)3350 +3393 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_init)e +Fg(\()p Ff(gn)m(utls)p 1679 3393 28 4 v 41 w(x509)p 1903 +3393 V 42 w(dn)p 2047 3393 V 39 w(t)30 b(*)h Fe(odn)12 +b Fg(\))390 3502 y Ff(o)s(dn)p FB(:)40 b(the)30 b(ob)5 +b(ject)31 b(to)h(b)s(e)d(initialized)390 3648 y(This)h(function)g +(initializes)i(a)f Ft(gnutls_x509_dn_t)26 b FB(structure.)390 +3793 y(The)k(ob)5 b(ject)31 b(returned)e(m)m(ust)i(b)s(e)e(deallo)s +(cated)k(using)c Ft(gnutls_x509_dn_deinit\(\))p FB(.)390 +3938 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 2487 y Fn(Since:)41 b FB(2.4.0)150 2682 y -Fu(gn)m(utls)p 483 2682 37 5 v 55 w(x509)p 786 2682 V -54 w(dn)p 976 2682 V 55 w(oid)p 1194 2682 V 54 w(kno)m(wn)3350 -2875 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_oid_kn)q +b(alue.)390 4084 y Fn(Since:)41 b FB(2.4.0)150 4294 y +Fv(gn)m(utls)p 483 4294 37 5 v 55 w(x509)p 786 4294 V +54 w(dn)p 976 4294 V 55 w(oid)p 1194 4294 V 54 w(kno)m(wn)3350 +4501 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_dn_oid_kn)q (own)f Fg(\()p Ff(const)31 b(c)m(har)g(*)g Fe(oid)12 -b Fg(\))390 2985 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 +b Fg(\))390 4611 y Ff(oid)t FB(:)40 b(holds)30 b(an)h(Ob)5 b(ject)30 b(Iden)m(ti\014er)g(in)g(a)h(n)m(ull)f(terminated)h(string) -390 3117 y(This)h(function)g(will)h(inform)f(ab)s(out)g(kno)m(wn)g(DN)h +390 4756 y(This)h(function)g(will)h(inform)f(ab)s(out)g(kno)m(wn)g(DN)h (OIDs.)47 b(This)32 b(is)h(useful)f(since)h(functions)f(lik)m(e)390 -3227 y Fs(gnutls_x509_crt_set_dn_b)o(y_oi)o(d\(\))17 +4866 y Ft(gnutls_x509_crt_set_dn_b)o(y_oi)o(d\(\))17 b FB(use)23 b(the)h(information)g(on)f(kno)m(wn)h(OIDs)f(to)h(prop)s -(erly)390 3336 y(enco)s(de)34 b(their)f(input.)49 b(Ob)5 +(erly)390 4975 y(enco)s(de)34 b(their)f(input.)49 b(Ob)5 b(ject)34 b(Iden)m(ti\014ers)f(that)h(are)g(not)g(kno)m(wn)f(are)h(not) -g(enco)s(ded)f(b)m(y)g(these)390 3446 y(functions,)c(and)f(their)h +g(enco)s(ded)f(b)m(y)g(these)390 5085 y(functions,)c(and)f(their)h (input)f(is)h(stored)g(directly)g(in)m(to)h(the)f(ASN.1)h(structure.)39 -b(In)28 b(that)i(case)g(of)390 3555 y(unkno)m(wn)f(OIDs,)h(y)m(ou)h(ha) +b(In)28 b(that)i(case)g(of)390 5195 y(unkno)m(wn)f(OIDs,)h(y)m(ou)h(ha) m(v)m(e)h(the)e(resp)s(onsibilit)m(y)h(of)f(DER)h(enco)s(ding)f(y)m -(our)g(data.)390 3688 y Fn(Returns:)40 b FB(1)31 b(on)f(kno)m(wn)g -(OIDs)g(and)g(0)h(otherwise.)150 3883 y Fu(gn)m(utls)p -483 3883 V 55 w(x509)p 786 3883 V 54 w(privk)m(ey)p 1240 -3883 V 54 w(cp)m(y)3350 4076 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_privkey_c)q(py)f Fg(\()p Ff(gn)m(utls)p -1889 4076 28 4 v 40 w(x509)p 2112 4076 V 42 w(privk)m(ey)p -2447 4076 V 40 w(t)31 b Fe(dst)12 b Ff(,)565 4185 y(gn)m(utls)p -811 4185 V 41 w(x509)p 1035 4185 V 41 w(privk)m(ey)p -1369 4185 V 40 w(t)31 b Fe(src)12 b Fg(\))390 4295 y -Ff(dst)r FB(:)40 b(The)30 b(destination)h(k)m(ey)-8 b(,)32 -b(whic)m(h)e(should)g(b)s(e)f(initialized.)390 4427 y -Ff(src)6 b FB(:)40 b(The)30 b(source)g(k)m(ey)390 4560 -y(This)g(function)g(will)g(cop)m(y)h(a)g(priv)-5 b(ate)31 -b(k)m(ey)g(from)f(source)h(to)g(destination)g(k)m(ey)-8 -b(.)390 4692 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4888 y Fu(gn)m(utls)p -483 4888 37 5 v 55 w(x509)p 786 4888 V 54 w(privk)m(ey)p -1240 4888 V 54 w(deinit)3350 5080 y FB([F)d(unction])-3599 +(our)g(data.)390 5340 y Fn(Returns:)40 b FB(1)31 b(on)f(kno)m(wn)g +(OIDs)g(and)g(0)h(otherwise.)p eop end +%%Page: 220 226 +TeXDict begin 220 225 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(220)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(privk)m(ey)p 1240 299 V 54 w(cp)m(y)3350 494 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_c)q(py)f +Fg(\()p Ff(gn)m(utls)p 1889 494 28 4 v 40 w(x509)p 2112 +494 V 42 w(privk)m(ey)p 2447 494 V 40 w(t)31 b Fe(dst)p +Ff(,)565 603 y(gn)m(utls)p 811 603 V 41 w(x509)p 1035 +603 V 41 w(privk)m(ey)p 1369 603 V 40 w(t)g Fe(src)12 +b Fg(\))390 713 y Ff(dst)r FB(:)40 b(The)30 b(destination)h(k)m(ey)-8 +b(,)32 b(whic)m(h)e(should)g(b)s(e)f(initialized.)390 +846 y Ff(src)6 b FB(:)40 b(The)30 b(source)g(k)m(ey)390 +980 y(This)g(function)g(will)g(cop)m(y)h(a)g(priv)-5 +b(ate)31 b(k)m(ey)g(from)f(source)h(to)g(destination)g(k)m(ey)-8 +b(.)390 1113 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1311 y Fv(gn)m(utls)p +483 1311 37 5 v 55 w(x509)p 786 1311 V 54 w(privk)m(ey)p +1240 1311 V 54 w(deinit)3350 1505 y FB([F)d(unction])-3599 b Fh(void)54 b(gnutls_x509_privkey_dein)q(it)e Fg(\()p -Ff(gn)m(utls)p 2098 5080 28 4 v 41 w(x509)p 2322 5080 -V 41 w(privk)m(ey)p 2656 5080 V 40 w(t)31 b Fe(key)12 -b Fg(\))390 5190 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s -(e)f(initialized)390 5322 y(This)g(function)g(will)g(deinitialize)j(a)e -(priv)-5 b(ate)31 b(k)m(ey)g(structure.)p eop end -%%Page: 236 242 -TeXDict begin 236 241 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(236)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(privk)m(ey)p 1240 299 V 54 w(exp)s(ort)p 1645 299 V -54 w(dsa)p 1875 299 V 55 w(ra)m(w)3350 488 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_e)q(xpor)q(t_d)q -(sa_)q(raw)f Fg(\()p Ff(gn)m(utls)p 2464 488 28 4 v 41 -w(x509)p 2688 488 V 41 w(privk)m(ey)p 3022 488 V 40 w(t)565 -598 y Fe(key)12 b Ff(,)31 b(gn)m(utls)p 1035 598 V 41 -w(datum)p 1334 598 V 39 w(t)g(*)g Fe(p)12 b Ff(,)30 b(gn)m(utls)p -1874 598 V 40 w(datum)p 2172 598 V 40 w(t)h(*)f Fe(q)12 -b Ff(,)31 b(gn)m(utls)p 2713 598 V 40 w(datum)p 3011 -598 V 40 w(t)f(*)h Fe(g)12 b Ff(,)565 708 y(gn)m(utls)p -811 708 V 41 w(datum)p 1110 708 V 39 w(t)31 b(*)g Fe(y)12 -b Ff(,)30 b(gn)m(utls)p 1650 708 V 40 w(datum)p 1948 -708 V 40 w(t)h(*)f Fe(x)12 b Fg(\))390 817 y Ff(k)m(ey)c -FB(:)41 b(a)31 b(structure)f(that)h(holds)f(the)g(DSA)h(parameters)390 -948 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 1079 -y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 1210 -y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 1341 -y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 1472 -y Ff(x)6 b FB(:)41 b(will)31 b(hold)f(the)g(x)390 1603 -y(This)e(function)g(will)h(exp)s(ort)f(the)h(DSA)g(priv)-5 +Ff(gn)m(utls)p 2098 1505 28 4 v 41 w(x509)p 2322 1505 +V 41 w(privk)m(ey)p 2656 1505 V 40 w(t)31 b Fe(key)12 +b Fg(\))390 1615 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s +(e)f(initialized)390 1748 y(This)g(function)g(will)g(deinitialize)j(a)e +(priv)-5 b(ate)31 b(k)m(ey)g(structure.)150 1946 y Fv(gn)m(utls)p +483 1946 37 5 v 55 w(x509)p 786 1946 V 54 w(privk)m(ey)p +1240 1946 V 54 w(exp)s(ort)p 1645 1946 V 54 w(dsa)p 1875 +1946 V 55 w(ra)m(w)3350 2140 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_x509_privkey_e)q(xpor)q(t_d)q(sa_)q(raw)f +Fg(\()p Ff(gn)m(utls)p 2464 2140 28 4 v 41 w(x509)p 2688 +2140 V 41 w(privk)m(ey)p 3022 2140 V 40 w(t)565 2250 +y Fe(key)p Ff(,)32 b(gn)m(utls)p 1024 2250 V 40 w(datum)p +1322 2250 V 40 w(t)e(*)h Fe(p)p Ff(,)g(gn)m(utls)p 1851 +2250 V 40 w(datum)p 2149 2250 V 40 w(t)f(*)h Fe(q)p Ff(,)g(gn)m(utls)p +2678 2250 V 40 w(datum)p 2976 2250 V 40 w(t)g(*)f Fe(g)p +Ff(,)565 2360 y(gn)m(utls)p 811 2360 V 41 w(datum)p 1110 +2360 V 39 w(t)h(*)g Fe(y)p Ff(,)f(gn)m(utls)p 1638 2360 +V 41 w(datum)p 1937 2360 V 39 w(t)h(*)g Fe(x)12 b Fg(\))390 +2469 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 +2603 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 +2736 y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 +2870 y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 +3003 y Ff(x)6 b FB(:)41 b(will)31 b(hold)f(the)g(x)390 +3137 y(This)e(function)g(will)h(exp)s(ort)f(the)h(DSA)g(priv)-5 b(ate)29 b(k)m(ey's)g(parameters)g(found)e(in)i(the)f(giv)m(en)i -(struc-)390 1712 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) -g(allo)s(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g -(stored)390 1822 y(in)30 b(the)h(appropriate)f(datum.)390 -1953 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(struc-)390 3246 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) +g(allo)s(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g +(stored)390 3356 y(in)30 b(the)h(appropriate)f(datum.)390 +3489 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 2145 y Fu(gn)m(utls)p 483 2145 37 5 v 55 -w(x509)p 786 2145 V 54 w(privk)m(ey)p 1240 2145 V 54 -w(exp)s(ort)p 1645 2145 V 54 w(pk)m(cs8)3350 2334 y FB([F)d(unction]) +b(alue.)150 3687 y Fv(gn)m(utls)p 483 3687 37 5 v 55 +w(x509)p 786 3687 V 54 w(privk)m(ey)p 1240 3687 V 54 +w(exp)s(ort)p 1645 3687 V 54 w(pk)m(cs8)3350 3881 y FB([F)d(unction]) -3599 b Fh(int)53 b(gnutls_x509_privkey_e)q(xpor)q(t_p)q(kcs)q(8)e -Fg(\()p Ff(gn)m(utls)p 2359 2334 28 4 v 41 w(x509)p 2583 -2334 V 41 w(privk)m(ey)p 2917 2334 V 41 w(t)565 2444 -y Fe(key)12 b Ff(,)31 b(gn)m(utls)p 1035 2444 V 41 w(x509)p -1259 2444 V 41 w(crt)p 1411 2444 V 40 w(fm)m(t)p 1587 -2444 V 41 w(t)f Fe(format)12 b Ff(,)32 b(const)f(c)m(har)g(*)g -Fe(password)12 b Ff(,)32 b(unsigned)d(in)m(t)565 2553 -y Fe(flags)12 b Ff(,)32 b(v)m(oid)f(*)f Fe(output_data)12 -b Ff(,)34 b(size)p 1956 2553 V 41 w(t)c(*)h Fe(output_data_size)12 -b Fg(\))390 2663 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 -2794 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 2925 y Ff(passw)m(ord)t +Fg(\()p Ff(gn)m(utls)p 2359 3881 28 4 v 41 w(x509)p 2583 +3881 V 41 w(privk)m(ey)p 2917 3881 V 41 w(t)30 b Fe(key)p +Ff(,)565 3991 y(gn)m(utls)p 811 3991 V 41 w(x509)p 1035 +3991 V 41 w(crt)p 1187 3991 V 40 w(fm)m(t)p 1363 3991 +V 41 w(t)g Fe(format)p Ff(,)j(const)e(c)m(har)f(*)h Fe(password)p +Ff(,)i(unsigned)c(in)m(t)i Fe(flags)p Ff(,)565 4101 y(v)m(oid)g(*)g +Fe(output_data)p Ff(,)j(size)p 1616 4101 V 41 w(t)c(*)h +Fe(output_data_size)12 b Fg(\))390 4210 y Ff(k)m(ey)c +FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 4344 y Ff(format)r +FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 4477 y Ff(passw)m(ord)t FB(:)40 b(the)30 b(passw)m(ord)g(that)h(will)g(b)s(e)e(used)h(to)h -(encrypt)f(the)h(k)m(ey)-8 b(.)390 3056 y Ff(\015ags)t +(encrypt)f(the)h(k)m(ey)-8 b(.)390 4611 y Ff(\015ags)t FB(:)41 b(an)30 b(ORed)g(sequence)h(of)f(gn)m(utls)p -1748 3056 V 40 w(pk)m(cs)p 1960 3056 V 41 w(encrypt)p -2302 3056 V 39 w(\015ags)p 2518 3056 V 41 w(t)390 3187 -y Ff(output)p 664 3187 V 40 w(data)p FB(:)41 b(will)31 +1748 4611 V 40 w(pk)m(cs)p 1960 4611 V 41 w(encrypt)p +2302 4611 V 39 w(\015ags)p 2518 4611 V 41 w(t)390 4744 +y Ff(output)p 664 4744 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(priv)-5 b(ate)31 b(k)m(ey)g(PEM)g(or)f(DER)h(enco)s -(ded)390 3318 y Ff(output)p 664 3318 V 40 w(data)p 880 -3318 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p -2093 3318 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 3427 y(size)c(of)g(parameters\))390 3558 +(ded)390 4878 y Ff(output)p 664 4878 V 40 w(data)p 880 +4878 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p +2093 4878 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 4987 y(size)c(of)g(parameters\))390 5121 y(This)c(function)h(will)g(exp)s(ort)g(the)g(priv)-5 b(ate)29 b(k)m(ey)g(to)g(a)f(PK)m(CS8)g(structure.)39 -b(Both)29 b(RSA)e(and)h(DSA)390 3668 y(k)m(eys)i(can)h(b)s(e)e(exp)s +b(Both)29 b(RSA)e(and)h(DSA)390 5230 y(k)m(eys)i(can)h(b)s(e)e(exp)s (orted.)40 b(F)-8 b(or)31 b(DSA)f(k)m(eys)g(w)m(e)g(use)g(PK)m(CS)f -Fs(11)g FB(de\014nitions.)40 b(If)30 b(the)g(\015ags)g(do)g(not)390 -3777 y(sp)s(ecify)g(the)h(encryption)f(cipher,)g(then)g(the)h(default)f -(3DES)h(\(PBES2\))g(will)g(b)s(e)e(used.)390 3908 y(The)48 -b Fs(password)e FB(can)i(b)s(e)g(either)h(ASCI)s(I)d(or)j(UTF-8)g(in)f -(the)g(default)h(PBES2)f(encryption)390 4018 y(sc)m(hemas,)31 +Ft(11)g FB(de\014nitions.)40 b(If)30 b(the)g(\015ags)g(do)g(not)390 +5340 y(sp)s(ecify)g(the)h(encryption)f(cipher,)g(then)g(the)h(default)f +(3DES)h(\(PBES2\))g(will)g(b)s(e)e(used.)p eop end +%%Page: 221 227 +TeXDict begin 221 226 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(221)390 299 y(The)48 +b Ft(password)e FB(can)i(b)s(e)g(either)h(ASCI)s(I)d(or)j(UTF-8)g(in)f +(the)g(default)h(PBES2)f(encryption)390 408 y(sc)m(hemas,)31 b(or)g(ASCI)s(I)d(for)j(the)f(PK)m(CS12)h(sc)m(hemas.)390 -4149 y(If)f(the)h(bu\013er)f(pro)m(vided)g(is)g(not)h(long)h(enough)e -(to)h(hold)g(the)f(output,)h(then)f(*output)p 3357 4149 -V 40 w(data)p 3573 4149 V 41 w(size)390 4258 y(is)g(up)s(dated)f(and)h -(GNUTLS)p 1401 4258 V 40 w(E)p 1503 4258 V 40 w(SHOR)-8 -b(T)p 1858 4258 V 39 w(MEMOR)g(Y)p 2323 4258 V 41 w(BUFFER)31 -b(will)g(b)s(e)f(returned.)390 4389 y(If)39 b(the)g(structure)f(is)h +546 y(If)f(the)h(bu\013er)f(pro)m(vided)g(is)g(not)h(long)h(enough)e +(to)h(hold)g(the)f(output,)h(then)f(*output)p 3357 546 +28 4 v 40 w(data)p 3573 546 V 41 w(size)390 655 y(is)g(up)s(dated)f +(and)h(GNUTLS)p 1401 655 V 40 w(E)p 1503 655 V 40 w(SHOR)-8 +b(T)p 1858 655 V 39 w(MEMOR)g(Y)p 2323 655 V 41 w(BUFFER)31 +b(will)g(b)s(e)f(returned.)390 792 y(If)39 b(the)g(structure)f(is)h (PEM)g(enco)s(ded,)i(it)f(will)f(ha)m(v)m(e)h(a)g(header)f(of)g -Fs(")p FB(BEGIN)g(ENCR)-8 b(YPTED)390 4499 y(PRIV)e(A)i(TE)30 -b(KEY)p Fs(")g FB(or)g Fs(")p FB(BEGIN)h(PRIV)-10 b(A)i(TE)30 -b(KEY)p Fs(")g FB(if)g(encryption)g(is)h(not)f(used.)390 -4630 y Fn(Return)g(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f +Ft(")p FB(BEGIN)g(ENCR)-8 b(YPTED)390 902 y(PRIV)e(A)i(TE)30 +b(KEY)p Ft(")g FB(or)g Ft(")p FB(BEGIN)h(PRIV)-10 b(A)i(TE)30 +b(KEY)p Ft(")g FB(if)g(encryption)g(is)h(not)f(used.)390 +1039 y Fn(Return)g(v)-5 b(alue:)41 b FB(In)30 b(case)h(of)g(failure)f (a)h(negativ)m(e)i(v)-5 b(alue)30 b(will)h(b)s(e)f(returned,)f(and)h(0) -h(on)f(success.)150 4822 y Fu(gn)m(utls)p 483 4822 37 -5 v 55 w(x509)p 786 4822 V 54 w(privk)m(ey)p 1240 4822 -V 54 w(exp)s(ort)p 1645 4822 V 54 w(rsa)p 1857 4822 V -54 w(ra)m(w)3350 5011 y FB([F)-8 b(unction])-3599 b Fh(int)53 +h(on)f(success.)150 1241 y Fv(gn)m(utls)p 483 1241 37 +5 v 55 w(x509)p 786 1241 V 54 w(privk)m(ey)p 1240 1241 +V 54 w(exp)s(ort)p 1645 1241 V 54 w(rsa)p 1857 1241 V +54 w(ra)m(w)3350 1440 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_e)q(xpor)q(t_r)q(sa_)q(raw)f Fg(\()p -Ff(gn)m(utls)p 2464 5011 28 4 v 41 w(x509)p 2688 5011 -V 41 w(privk)m(ey)p 3022 5011 V 40 w(t)565 5121 y Fe(key)12 -b Ff(,)31 b(gn)m(utls)p 1035 5121 V 41 w(datum)p 1334 -5121 V 39 w(t)g(*)g Fe(m)12 b Ff(,)30 b(gn)m(utls)p 1874 -5121 V 40 w(datum)p 2172 5121 V 40 w(t)h(*)f Fe(e)12 -b Ff(,)31 b(gn)m(utls)p 2713 5121 V 40 w(datum)p 3011 -5121 V 40 w(t)f(*)h Fe(d)12 b Ff(,)565 5230 y(gn)m(utls)p -811 5230 V 41 w(datum)p 1110 5230 V 39 w(t)31 b(*)g Fe(p)12 -b Ff(,)30 b(gn)m(utls)p 1650 5230 V 40 w(datum)p 1948 -5230 V 40 w(t)h(*)f Fe(q)12 b Ff(,)31 b(gn)m(utls)p 2489 -5230 V 40 w(datum)p 2787 5230 V 40 w(t)f(*)h Fe(u)12 -b Fg(\))390 5340 y Ff(k)m(ey)c FB(:)41 b(a)31 b(structure)f(that)h -(holds)f(the)g(rsa)h(parameters)p eop end -%%Page: 237 243 -TeXDict begin 237 242 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(237)390 299 y -Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 -435 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m -(t)390 571 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 -b(ate)31 b(exp)s(onen)m(t)390 707 y Ff(p)s FB(:)40 b(will)31 -b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 842 y Ff(q)r +Ff(gn)m(utls)p 2464 1440 28 4 v 41 w(x509)p 2688 1440 +V 41 w(privk)m(ey)p 3022 1440 V 40 w(t)565 1550 y Fe(key)p +Ff(,)32 b(gn)m(utls)p 1024 1550 V 40 w(datum)p 1322 1550 +V 40 w(t)e(*)h Fe(m)p Ff(,)g(gn)m(utls)p 1851 1550 V +40 w(datum)p 2149 1550 V 40 w(t)f(*)h Fe(e)p Ff(,)g(gn)m(utls)p +2678 1550 V 40 w(datum)p 2976 1550 V 40 w(t)g(*)f Fe(d)p +Ff(,)565 1659 y(gn)m(utls)p 811 1659 V 41 w(datum)p 1110 +1659 V 39 w(t)h(*)g Fe(p)p Ff(,)f(gn)m(utls)p 1638 1659 +V 41 w(datum)p 1937 1659 V 39 w(t)h(*)g Fe(q)p Ff(,)g(gn)m(utls)p +2466 1659 V 40 w(datum)p 2764 1659 V 40 w(t)f(*)h Fe(u)12 +b Fg(\))390 1769 y Ff(k)m(ey)c FB(:)41 b(a)31 b(structure)f(that)h +(holds)f(the)g(rsa)h(parameters)390 1906 y Ff(m)p FB(:)40 +b(will)31 b(hold)f(the)h(mo)s(dulus)390 2043 y Ff(e)5 +b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)390 +2180 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 +b(ate)31 b(exp)s(onen)m(t)390 2317 y Ff(p)s FB(:)40 b(will)31 +b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 2454 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(second)f(prime)g(\(q\))390 -978 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 -1114 y(This)e(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 +2591 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 +2728 y(This)e(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 b(ate)30 b(k)m(ey's)f(parameters)g(found)f(in)g(the)h(giv)m(en)h -(struc-)390 1224 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) -g(allo)s(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g -(stored)390 1333 y(in)30 b(the)h(appropriate)f(datum.)390 -1469 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +(struc-)390 2838 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) +g(allo)s(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g +(stored)390 2948 y(in)30 b(the)h(appropriate)f(datum.)390 +3085 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1670 y Fu(gn)m(utls)p 483 1670 37 5 v 55 -w(x509)p 786 1670 V 54 w(privk)m(ey)p 1240 1670 V 54 -w(exp)s(ort)3350 1868 y FB([F)d(unction])-3599 b Fh(int)53 +b(alue.)150 3287 y Fv(gn)m(utls)p 483 3287 37 5 v 55 +w(x509)p 786 3287 V 54 w(privk)m(ey)p 1240 3287 V 54 +w(exp)s(ort)3350 3486 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_e)q(xpor)q(t)f Fg(\()p Ff(gn)m(utls)p -2046 1868 28 4 v 40 w(x509)p 2269 1868 V 42 w(privk)m(ey)p -2604 1868 V 40 w(t)31 b Fe(key)12 b Ff(,)565 1978 y(gn)m(utls)p -811 1978 V 41 w(x509)p 1035 1978 V 41 w(crt)p 1187 1978 -V 40 w(fm)m(t)p 1363 1978 V 41 w(t)30 b Fe(format)12 -b Ff(,)32 b(v)m(oid)f(*)g Fe(output_data)12 b Ff(,)33 -b(size)p 2906 1978 V 41 w(t)e(*)565 2087 y Fe(output_data_size)12 -b Fg(\))390 2197 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 -2333 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 -b(One)30 b(of)h(PEM)f(or)g(DER.)390 2469 y Ff(output)p -664 2469 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(priv)-5 -b(ate)31 b(k)m(ey)g(PEM)g(or)f(DER)h(enco)s(ded)390 2605 -y Ff(output)p 664 2605 V 40 w(data)p 880 2605 V 40 w(size)5 +2046 3486 28 4 v 40 w(x509)p 2269 3486 V 42 w(privk)m(ey)p +2604 3486 V 40 w(t)31 b Fe(key)p Ff(,)565 3596 y(gn)m(utls)p +811 3596 V 41 w(x509)p 1035 3596 V 41 w(crt)p 1187 3596 +V 40 w(fm)m(t)p 1363 3596 V 41 w(t)f Fe(format)p Ff(,)j(v)m(oid)e(*)f +Fe(output_data)p Ff(,)k(size)p 2883 3596 V 41 w(t)d(*)565 +3705 y Fe(output_data_size)12 b Fg(\))390 3815 y Ff(k)m(ey)c +FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 3952 y Ff(format)r +FB(:)41 b(the)31 b(format)f(of)h(output)f(params.)40 +b(One)30 b(of)h(PEM)f(or)g(DER.)390 4089 y Ff(output)p +664 4089 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(a)e(priv)-5 +b(ate)31 b(k)m(ey)g(PEM)g(or)f(DER)h(enco)s(ded)390 4226 +y Ff(output)p 664 4226 V 40 w(data)p 880 4226 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p 2093 -2605 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 2714 y(size)c(of)g(parameters\))390 2850 +4226 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 4336 y(size)c(of)g(parameters\))390 4473 y(This)40 b(function)h(will)g(exp)s(ort)g(the)g(priv)-5 b(ate)41 b(k)m(ey)h(to)f(a)h(PK)m(CS1)e(structure)g(for)h(RSA)g(k)m -(eys,)j(or)390 2960 y(an)35 b(in)m(teger)i(sequence)f(for)f(DSA)h(k)m +(eys,)j(or)390 4582 y(an)35 b(in)m(teger)i(sequence)f(for)f(DSA)h(k)m (eys.)57 b(The)35 b(DSA)g(k)m(eys)h(are)g(in)f(the)h(same)g(format)g -(with)f(the)390 3069 y(parameters)c(used)e(b)m(y)i(op)s(enssl.)390 -3205 y(If)23 b(the)g(bu\013er)f(pro)m(vided)g(is)h(not)h(long)f(enough) -g(to)h(hold)f(the)g(output,)h(then)f(*)p Fs(output_data_size)390 -3315 y FB(is)30 b(up)s(dated)f(and)h Fs(GNUTLS_E_SHORT_MEMORY_BUF)o -(FER)24 b FB(will)31 b(b)s(e)e(returned.)390 3451 y(If)35 +(with)f(the)390 4692 y(parameters)c(used)e(b)m(y)i(op)s(enssl.)390 +4829 y(If)23 b(the)g(bu\013er)f(pro)m(vided)g(is)h(not)h(long)f(enough) +g(to)h(hold)f(the)g(output,)h(then)f(*)p Ft(output_data_size)390 +4939 y FB(is)30 b(up)s(dated)f(and)h Ft(GNUTLS_E_SHORT_MEMORY_BUF)o +(FER)24 b FB(will)31 b(b)s(e)e(returned.)390 5076 y(If)35 b(the)h(structure)f(is)g(PEM)h(enco)s(ded,)g(it)g(will)g(ha)m(v)m(e)h -(a)f(header)f(of)g Fs(")p FB(BEGIN)h(RSA)f(PRIV)-10 b(A)i(TE)390 -3560 y(KEY)p Fs(")p FB(.)390 3696 y Fn(Returns:)36 b -FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +(a)f(header)f(of)g Ft(")p FB(BEGIN)h(RSA)f(PRIV)-10 b(A)i(TE)390 +5185 y(KEY)p Ft(")p FB(.)390 5322 y Fn(Returns:)36 b +FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3897 y Fu(gn)m(utls)p 483 3897 37 5 v 55 -w(x509)p 786 3897 V 54 w(privk)m(ey)p 1240 3897 V 54 -w(\014x)3350 4095 y FB([F)d(unction])-3599 b Fh(int)53 -b(gnutls_x509_privkey_f)q(ix)f Fg(\()p Ff(gn)m(utls)p -1889 4095 28 4 v 40 w(x509)p 2112 4095 V 42 w(privk)m(ey)p -2447 4095 V 40 w(t)31 b Fe(key)12 b Fg(\))390 4205 y -Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 4341 -y(This)i(function)h(will)h(recalculate)i(the)d(secondary)h(parameters)f -(in)g(a)h(k)m(ey)-8 b(.)51 b(In)32 b(RSA)h(k)m(eys,)i(this)390 -4450 y(can)c(b)s(e)e(the)i(co)s(e\016cien)m(t)h(and)e(exp)s(onen)m -(t1,2.)390 4586 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4787 y Fu(gn)m(utls)p -483 4787 37 5 v 55 w(x509)p 786 4787 V 54 w(privk)m(ey)p -1240 4787 V 54 w(generate)3350 4985 y FB([F)d(unction])-3599 +b(alue.)p eop end +%%Page: 222 228 +TeXDict begin 222 227 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(222)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(privk)m(ey)p 1240 299 V 54 w(\014x)3350 494 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_f)q(ix)f +Fg(\()p Ff(gn)m(utls)p 1889 494 28 4 v 40 w(x509)p 2112 +494 V 42 w(privk)m(ey)p 2447 494 V 40 w(t)31 b Fe(key)12 +b Fg(\))390 604 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 +737 y(This)i(function)h(will)h(recalculate)i(the)d(secondary)h +(parameters)f(in)g(a)h(k)m(ey)-8 b(.)51 b(In)32 b(RSA)h(k)m(eys,)i +(this)390 847 y(can)c(b)s(e)e(the)i(co)s(e\016cien)m(t)h(and)e(exp)s +(onen)m(t1,2.)390 981 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1178 y Fv(gn)m(utls)p +483 1178 37 5 v 55 w(x509)p 786 1178 V 54 w(privk)m(ey)p +1240 1178 V 54 w(generate)3350 1374 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_g)q(ener)q(ate)f Fg(\()p -Ff(gn)m(utls)p 2150 4985 28 4 v 41 w(x509)p 2374 4985 -V 41 w(privk)m(ey)p 2708 4985 V 40 w(t)31 b Fe(key)12 -b Ff(,)565 5094 y(gn)m(utls)p 811 5094 V 41 w(pk)p 951 -5094 V 39 w(algorithm)p 1373 5094 V 41 w(t)31 b Fe(algo)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(bits)12 b Ff(,)32 -b(unsigned)d(in)m(t)i Fe(flags)12 b Fg(\))390 5204 y -Ff(k)m(ey)c FB(:)41 b(should)30 b(con)m(tain)h(a)g Fs -(gnutls_x509_privkey_t)25 b FB(structure)390 5340 y Ff(algo)5 -b FB(:)42 b(is)30 b(one)h(of)f(RSA)g(or)h(DSA.)p eop -end -%%Page: 238 244 -TeXDict begin 238 243 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(238)390 299 y -Ff(bits)t FB(:)40 b(the)31 b(size)g(of)g(the)f(mo)s(dulus)390 -426 y Ff(\015ags)t FB(:)41 b(un)m(used)29 b(for)h(no)m(w.)41 -b(Must)30 b(b)s(e)g(0.)390 553 y(This)35 b(function)h(will)g(generate)i -(a)e(random)g(priv)-5 b(ate)36 b(k)m(ey)-8 b(.)59 b(Note)37 -b(that)g(this)f(function)g(m)m(ust)g(b)s(e)390 662 y(called)c(on)e(an)g -(empt)m(y)h(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 789 -y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 +Ff(gn)m(utls)p 2150 1374 28 4 v 41 w(x509)p 2374 1374 +V 41 w(privk)m(ey)p 2708 1374 V 40 w(t)31 b Fe(key)p +Ff(,)565 1483 y(gn)m(utls)p 811 1483 V 41 w(pk)p 951 +1483 V 39 w(algorithm)p 1373 1483 V 41 w(t)g Fe(algo)p +Ff(,)h(unsigned)d(in)m(t)i Fe(bits)p Ff(,)g(unsigned)f(in)m(t)h +Fe(flags)12 b Fg(\))390 1593 y Ff(k)m(ey)c FB(:)41 b(should)30 +b(con)m(tain)h(a)g Ft(gnutls_x509_privkey_t)25 b FB(structure)390 +1726 y Ff(algo)5 b FB(:)42 b(is)30 b(one)h(of)f(RSA)g(or)h(DSA.)390 +1860 y Ff(bits)t FB(:)40 b(the)31 b(size)g(of)g(the)f(mo)s(dulus)390 +1994 y Ff(\015ags)t FB(:)41 b(un)m(used)29 b(for)h(no)m(w.)41 +b(Must)30 b(b)s(e)g(0.)390 2128 y(This)35 b(function)h(will)g(generate) +i(a)e(random)g(priv)-5 b(ate)36 b(k)m(ey)-8 b(.)59 b(Note)37 +b(that)g(this)f(function)g(m)m(ust)g(b)s(e)390 2237 y(called)c(on)e(an) +g(empt)m(y)h(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 2371 +y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 973 y Fu(gn)m(utls)p 483 973 37 5 v 55 w(x509)p -786 973 V 54 w(privk)m(ey)p 1240 973 V 54 w(get)p 1459 -973 V 54 w(k)m(ey)p 1696 973 V 53 w(id)3350 1154 y FB([F)d(unction]) --3599 b Fh(int)53 b(gnutls_x509_privkey_g)q(et_k)q(ey_)q(id)f -Fg(\()p Ff(gn)m(utls)p 2255 1154 28 4 v 41 w(x509)p 2479 -1154 V 41 w(privk)m(ey)p 2813 1154 V 40 w(t)31 b Fe(key)12 -b Ff(,)565 1264 y(unsigned)29 b(in)m(t)i Fe(flags)12 -b Ff(,)32 b(unsigned)d(c)m(har)i(*)g Fe(output_data)12 -b Ff(,)33 b(size)p 2856 1264 V 41 w(t)e(*)565 1374 y -Fe(output_data_size)12 b Fg(\))390 1483 y Ff(k)m(ey)c -FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 1610 y Ff(\015ags)t -FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 1737 -y Ff(output)p 664 1737 V 40 w(data)p FB(:)41 b(will)31 -b(con)m(tain)h(the)e(k)m(ey)h(ID)390 1864 y Ff(output)p -664 1864 V 40 w(data)p 880 1864 V 40 w(size)5 b FB(:)49 -b(holds)34 b(the)g(size)h(of)f(output)p 2093 1864 V 39 +b(alue.)150 2569 y Fv(gn)m(utls)p 483 2569 37 5 v 55 +w(x509)p 786 2569 V 54 w(privk)m(ey)p 1240 2569 V 54 +w(get)p 1459 2569 V 54 w(k)m(ey)p 1696 2569 V 53 w(id)3350 +2764 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_g)q +(et_k)q(ey_)q(id)f Fg(\()p Ff(gn)m(utls)p 2255 2764 28 +4 v 41 w(x509)p 2479 2764 V 41 w(privk)m(ey)p 2813 2764 +V 40 w(t)31 b Fe(key)p Ff(,)565 2873 y(unsigned)e(in)m(t)i +Fe(flags)p Ff(,)h(unsigned)e(c)m(har)g(*)h Fe(output_data)p +Ff(,)j(size)p 2833 2873 V 41 w(t)d(*)565 2983 y Fe(output_data_size)12 +b Fg(\))390 3093 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 +3226 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 +3360 y Ff(output)p 664 3360 V 40 w(data)p FB(:)41 b(will)31 +b(con)m(tain)h(the)e(k)m(ey)h(ID)390 3494 y Ff(output)p +664 3494 V 40 w(data)p 880 3494 V 40 w(size)5 b FB(:)49 +b(holds)34 b(the)g(size)h(of)f(output)p 2093 3494 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i(actual)390 -1973 y(size)c(of)g(parameters\))390 2100 y(This)24 b(function)h(will)h +3603 y(size)c(of)g(parameters\))390 3737 y(This)24 b(function)h(will)h (return)e(a)i(unique)e(ID)h(the)h(dep)s(ends)d(on)i(the)h(public)e(k)m -(ey)i(parameters.)40 b(This)390 2210 y(ID)31 b(can)f(b)s(e)g(used)g(in) +(ey)i(parameters.)40 b(This)390 3847 y(ID)31 b(can)f(b)s(e)g(used)g(in) g(c)m(hec)m(king)i(whether)e(a)g(certi\014cate)j(corresp)s(onds)c(to)i -(the)f(giv)m(en)i(k)m(ey)-8 b(.)390 2337 y(If)23 b(the)g(bu\013er)f +(the)f(giv)m(en)i(k)m(ey)-8 b(.)390 3980 y(If)23 b(the)g(bu\013er)f (pro)m(vided)g(is)h(not)h(long)f(enough)g(to)h(hold)f(the)g(output,)h -(then)f(*)p Fs(output_data_size)390 2446 y FB(is)34 b(up)s(dated)f(and) -h Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)27 b FB(will)35 -b(b)s(e)f(returned.)51 b(The)34 b(output)g(will)390 2556 +(then)f(*)p Ft(output_data_size)390 4090 y FB(is)34 b(up)s(dated)f(and) +h Ft(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)27 b FB(will)35 +b(b)s(e)f(returned.)51 b(The)34 b(output)g(will)390 4199 y(normally)d(b)s(e)e(a)i(SHA-1)g(hash)f(output,)g(whic)m(h)g(is)g(20)i -(b)m(ytes.)390 2683 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 2867 y Fu(gn)m(utls)p -483 2867 37 5 v 55 w(x509)p 786 2867 V 54 w(privk)m(ey)p -1240 2867 V 54 w(get)p 1459 2867 V 54 w(pk)p 1646 2867 -V 54 w(algorithm)3350 3048 y FB([F)d(unction])-3599 b +(b)m(ytes.)390 4333 y Fn(Returns:)k FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 4531 y Fv(gn)m(utls)p +483 4531 37 5 v 55 w(x509)p 786 4531 V 54 w(privk)m(ey)p +1240 4531 V 54 w(get)p 1459 4531 V 54 w(pk)p 1646 4531 +V 54 w(algorithm)3350 4726 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_g)q(et_p)q(k_a)q(lgo)q(rit)q(hm)f -Fg(\()p Ff(gn)m(utls)p 2569 3048 28 4 v 40 w(x509)p 2792 -3048 V 42 w(privk)m(ey)p 3127 3048 V 40 w(t)565 3158 -y Fe(key)12 b Fg(\))390 3267 y Ff(k)m(ey)c FB(:)41 b(should)30 -b(con)m(tain)h(a)g Fs(gnutls_x509_privkey_t)25 b FB(structure)390 -3394 y(This)30 b(function)g(will)g(return)g(the)g(public)g(k)m(ey)h +Fg(\()p Ff(gn)m(utls)p 2569 4726 28 4 v 40 w(x509)p 2792 +4726 V 42 w(privk)m(ey)p 3127 4726 V 40 w(t)565 4836 +y Fe(key)12 b Fg(\))390 4945 y Ff(k)m(ey)c FB(:)41 b(should)30 +b(con)m(tain)h(a)g Ft(gnutls_x509_privkey_t)25 b FB(structure)390 +5079 y(This)30 b(function)g(will)g(return)g(the)g(public)g(k)m(ey)h (algorithm)g(of)g(a)g(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 -3521 y Fn(Returns:)61 b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g -Fs(gnutls_pk_algorithm_t)34 b FB(en)m(umeration)41 b(on)g(success,)i -(or)e(a)390 3631 y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 -3815 y Fu(gn)m(utls)p 483 3815 37 5 v 55 w(x509)p 786 -3815 V 54 w(privk)m(ey)p 1240 3815 V 54 w(imp)s(ort)p -1660 3815 V 55 w(dsa)p 1891 3815 V 54 w(ra)m(w)3350 3996 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_i)q(mpor) -q(t_d)q(sa_)q(raw)f Fg(\()p Ff(gn)m(utls)p 2464 3996 -28 4 v 41 w(x509)p 2688 3996 V 41 w(privk)m(ey)p 3022 -3996 V 40 w(t)565 4106 y Fe(key)12 b Ff(,)31 b(const)g(gn)m(utls)p -1273 4106 V 40 w(datum)p 1571 4106 V 40 w(t)g(*)f Fe(p)12 -b Ff(,)31 b(const)g(gn)m(utls)p 2350 4106 V 40 w(datum)p -2648 4106 V 40 w(t)f(*)h Fe(q)12 b Ff(,)30 b(const)565 -4215 y(gn)m(utls)p 811 4215 V 41 w(datum)p 1110 4215 -V 39 w(t)h(*)g Fe(g)12 b Ff(,)30 b(const)h(gn)m(utls)p -1888 4215 V 40 w(datum)p 2186 4215 V 40 w(t)f(*)h Fe(y)12 -b Ff(,)31 b(const)f(gn)m(utls)p 2964 4215 V 41 w(datum)p -3263 4215 V 39 w(t)h(*)g Fe(x)12 b Fg(\))390 4325 y Ff(k)m(ey)c -FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)390 -4452 y Ff(p)s FB(:)40 b(holds)30 b(the)g(p)390 4578 y -Ff(q)r FB(:)41 b(holds)30 b(the)g(q)390 4705 y Ff(g)8 -b FB(:)41 b(holds)30 b(the)g(g)390 4832 y Ff(y)8 b FB(:)40 -b(holds)30 b(the)h(y)390 4959 y Ff(x)6 b FB(:)41 b(holds)30 -b(the)g(x)390 5086 y(This)24 b(function)g(will)i(con)m(v)m(ert)g(the)f -(giv)m(en)h(DSA)f(ra)m(w)g(parameters)g(to)g(the)g(nativ)m(e)h -Fs(gnutls_x509_)390 5195 y(privkey_t)i FB(format.)41 -b(The)30 b(output)g(will)g(b)s(e)g(stored)h(in)f Fs(key)p -FB(.)390 5322 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 239 245 -TeXDict begin 239 244 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(239)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +5213 y Fn(Returns:)61 b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g +Ft(gnutls_pk_algorithm_t)34 b FB(en)m(umeration)41 b(on)g(success,)i +(or)e(a)390 5322 y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)p +eop end +%%Page: 223 229 +TeXDict begin 223 228 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(223)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 w(privk)m(ey)p 1240 299 V 54 w(imp)s(ort)p 1660 299 V -55 w(pk)m(cs8)3350 496 y FB([F)-8 b(unction])-3599 b -Fh(int)53 b(gnutls_x509_privkey_i)q(mpor)q(t_p)q(kcs)q(8)e -Fg(\()p Ff(gn)m(utls)p 2359 496 28 4 v 41 w(x509)p 2583 -496 V 41 w(privk)m(ey)p 2917 496 V 41 w(t)565 606 y Fe(key)12 -b Ff(,)31 b(const)g(gn)m(utls)p 1273 606 V 40 w(datum)p -1571 606 V 40 w(t)g(*)f Fe(data)12 b Ff(,)32 b(gn)m(utls)p -2269 606 V 40 w(x509)p 2492 606 V 41 w(crt)p 2644 606 -V 41 w(fm)m(t)p 2821 606 V 40 w(t)f Fe(format)12 b Ff(,)32 -b(const)f(c)m(har)565 715 y(*)g Fe(password)12 b Ff(,)32 -b(unsigned)e(in)m(t)h Fe(flags)12 b Fg(\))390 825 y Ff(k)m(ey)c +55 w(dsa)p 1891 299 V 54 w(ra)m(w)3350 497 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_i)q(mpor)q(t_d)q +(sa_)q(raw)f Fg(\()p Ff(gn)m(utls)p 2464 497 28 4 v 41 +w(x509)p 2688 497 V 41 w(privk)m(ey)p 3022 497 V 40 w(t)565 +607 y Fe(key)p Ff(,)31 b(const)f(gn)m(utls)p 1260 607 +V 40 w(datum)p 1558 607 V 40 w(t)f(*)h Fe(p)p Ff(,)g(const)g(gn)m(utls) +p 2321 607 V 41 w(datum)p 2620 607 V 39 w(t)g(*)g Fe(q)p +Ff(,)g(const)g(gn)m(utls)p 3383 607 V 40 w(datum)p 3681 +607 V 40 w(t)565 717 y(*)h Fe(g)p Ff(,)g(const)g(gn)m(utls)p +1233 717 V 40 w(datum)p 1531 717 V 40 w(t)f(*)h Fe(y)p +Ff(,)g(const)g(gn)m(utls)p 2298 717 V 40 w(datum)p 2596 +717 V 40 w(t)f(*)h Fe(x)12 b Fg(\))390 826 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)390 -960 y Ff(data)p FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(k)m -(ey)-8 b(.)390 1095 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f -(PEM)390 1230 y Ff(passw)m(ord)t FB(:)40 b(the)30 b(passw)m(ord)g(to)h -(decrypt)f(the)h(k)m(ey)g(\(if)f(it)h(is)g(encrypted\).)390 -1365 y Ff(\015ags)t FB(:)41 b(0)30 b(if)h(encrypted)f(or)g(GNUTLS)p -1716 1365 V 40 w(PK)m(CS)p 2003 1365 V 39 w(PLAIN)g(if)h(not)f -(encrypted.)390 1500 y(This)40 b(function)g(will)h(con)m(v)m(ert)h(the) +962 y Ff(p)s FB(:)40 b(holds)30 b(the)g(p)390 1099 y +Ff(q)r FB(:)41 b(holds)30 b(the)g(q)390 1235 y Ff(g)8 +b FB(:)41 b(holds)30 b(the)g(g)390 1371 y Ff(y)8 b FB(:)40 +b(holds)30 b(the)h(y)390 1508 y Ff(x)6 b FB(:)41 b(holds)30 +b(the)g(x)390 1644 y(This)24 b(function)g(will)i(con)m(v)m(ert)g(the)f +(giv)m(en)h(DSA)f(ra)m(w)g(parameters)g(to)g(the)g(nativ)m(e)h +Ft(gnutls_x509_)390 1753 y(privkey_t)i FB(format.)41 +b(The)30 b(output)g(will)g(b)s(e)g(stored)h(in)f Ft(key)p +FB(.)390 1890 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 2091 y Fv(gn)m(utls)p +483 2091 37 5 v 55 w(x509)p 786 2091 V 54 w(privk)m(ey)p +1240 2091 V 54 w(imp)s(ort)p 1660 2091 V 55 w(pk)m(cs8)3350 +2289 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_i)q +(mpor)q(t_p)q(kcs)q(8)e Fg(\()p Ff(gn)m(utls)p 2359 2289 +28 4 v 41 w(x509)p 2583 2289 V 41 w(privk)m(ey)p 2917 +2289 V 41 w(t)30 b Fe(key)p Ff(,)565 2399 y(const)h(gn)m(utls)p +1049 2399 V 40 w(datum)p 1347 2399 V 40 w(t)g(*)f Fe(data)p +Ff(,)i(gn)m(utls)p 2033 2399 V 41 w(x509)p 2257 2399 +V 41 w(crt)p 2409 2399 V 40 w(fm)m(t)p 2585 2399 V 41 +w(t)e Fe(format)p Ff(,)j(const)e(c)m(har)f(*)565 2508 +y Fe(password)p Ff(,)j(unsigned)c(in)m(t)i Fe(flags)12 +b Fg(\))390 2618 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h +(store)g(the)g(parsed)e(k)m(ey)390 2754 y Ff(data)p FB(:)41 +b(The)30 b(DER)h(or)f(PEM)h(enco)s(ded)f(k)m(ey)-8 b(.)390 +2891 y Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 +3027 y Ff(passw)m(ord)t FB(:)40 b(the)30 b(passw)m(ord)g(to)h(decrypt)f +(the)h(k)m(ey)g(\(if)f(it)h(is)g(encrypted\).)390 3163 +y Ff(\015ags)t FB(:)41 b(0)30 b(if)h(encrypted)f(or)g(GNUTLS)p +1716 3163 V 40 w(PK)m(CS)p 2003 3163 V 39 w(PLAIN)g(if)h(not)f +(encrypted.)390 3299 y(This)40 b(function)g(will)h(con)m(v)m(ert)h(the) e(giv)m(en)i(DER)f(or)f(PEM)h(enco)s(ded)f(PK)m(CS8)g(2.0)h(encrypted) -390 1610 y(k)m(ey)d(to)f(the)h(nativ)m(e)g(gn)m(utls)p -1367 1610 V 40 w(x509)p 1590 1610 V 42 w(privk)m(ey)p -1925 1610 V 40 w(t)f(format.)61 b(The)37 b(output)f(will)h(b)s(e)g -(stored)g(in)g Fs(key)p FB(.)390 1719 y(Both)30 b(RSA)f(and)f(DSA)i(k)m +390 3409 y(k)m(ey)d(to)f(the)h(nativ)m(e)g(gn)m(utls)p +1367 3409 V 40 w(x509)p 1590 3409 V 42 w(privk)m(ey)p +1925 3409 V 40 w(t)f(format.)61 b(The)37 b(output)f(will)h(b)s(e)g +(stored)g(in)g Ft(key)p FB(.)390 3519 y(Both)30 b(RSA)f(and)f(DSA)i(k)m (eys)g(can)f(b)s(e)g(imp)s(orted,)g(and)g(\015ags)g(can)h(only)f(b)s(e) -g(used)g(to)h(indicate)g(an)390 1829 y(unencrypted)f(k)m(ey)-8 -b(.)390 1964 y(The)48 b Fs(password)e FB(can)i(b)s(e)g(either)h(ASCI)s +g(used)g(to)h(indicate)g(an)390 3628 y(unencrypted)f(k)m(ey)-8 +b(.)390 3764 y(The)48 b Ft(password)e FB(can)i(b)s(e)g(either)h(ASCI)s (I)d(or)j(UTF-8)g(in)f(the)g(default)h(PBES2)f(encryption)390 -2074 y(sc)m(hemas,)31 b(or)g(ASCI)s(I)d(for)j(the)f(PK)m(CS12)h(sc)m -(hemas.)390 2209 y(If)36 b(the)g(Certi\014cate)h(is)g(PEM)f(enco)s(ded) -f(it)i(should)e(ha)m(v)m(e)j(a)e(header)g(of)g Fs(")p -FB(ENCR)-8 b(YPTED)36 b(PRI-)390 2318 y(V)-10 b(A)i(TE)32 -b(KEY)p Fs(")p FB(,)g(or)g Fs(")p FB(PRIV)-10 b(A)i(TE)32 -b(KEY)p Fs(")p FB(.)45 b(Y)-8 b(ou)32 b(only)g(need)g(to)h(sp)s(ecify)f -(the)g(\015ags)g(if)g(the)g(k)m(ey)h(is)390 2428 y(DER)e(enco)s(ded,)f +3874 y(sc)m(hemas,)31 b(or)g(ASCI)s(I)d(for)j(the)f(PK)m(CS12)h(sc)m +(hemas.)390 4010 y(If)36 b(the)g(Certi\014cate)h(is)g(PEM)f(enco)s(ded) +f(it)i(should)e(ha)m(v)m(e)j(a)e(header)g(of)g Ft(")p +FB(ENCR)-8 b(YPTED)36 b(PRI-)390 4120 y(V)-10 b(A)i(TE)32 +b(KEY)p Ft(")p FB(,)g(or)g Ft(")p FB(PRIV)-10 b(A)i(TE)32 +b(KEY)p Ft(")p FB(.)45 b(Y)-8 b(ou)32 b(only)g(need)g(to)h(sp)s(ecify)f +(the)g(\015ags)g(if)g(the)g(k)m(ey)h(is)390 4229 y(DER)e(enco)s(ded,)f (since)h(in)f(that)h(case)g(the)g(encryption)f(status)h(cannot)f(b)s(e) -g(auto-detected.)390 2563 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2763 y Fu(gn)m(utls)p -483 2763 37 5 v 55 w(x509)p 786 2763 V 54 w(privk)m(ey)p -1240 2763 V 54 w(imp)s(ort)p 1660 2763 V 55 w(rsa)p 1873 -2763 V 54 w(ra)m(w)3350 2960 y FB([F)d(unction])-3599 +g(auto-detected.)390 4366 y Fn(Returns:)36 b FB(On)20 +b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) +f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 4567 y Fv(gn)m(utls)p +483 4567 37 5 v 55 w(x509)p 786 4567 V 54 w(privk)m(ey)p +1240 4567 V 54 w(imp)s(ort)p 1660 4567 V 55 w(rsa)p 1873 +4567 V 54 w(ra)m(w)3350 4765 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_i)q(mpor)q(t_r)q(sa_)q(raw)f -Fg(\()p Ff(gn)m(utls)p 2464 2960 28 4 v 41 w(x509)p 2688 -2960 V 41 w(privk)m(ey)p 3022 2960 V 40 w(t)565 3070 -y Fe(key)12 b Ff(,)31 b(const)g(gn)m(utls)p 1273 3070 -V 40 w(datum)p 1571 3070 V 40 w(t)g(*)f Fe(m)12 b Ff(,)31 -b(const)g(gn)m(utls)p 2350 3070 V 40 w(datum)p 2648 3070 -V 40 w(t)f(*)h Fe(e)12 b Ff(,)30 b(const)565 3179 y(gn)m(utls)p -811 3179 V 41 w(datum)p 1110 3179 V 39 w(t)f(*)h Fe(d)12 -b Ff(,)29 b(const)g(gn)m(utls)p 1882 3179 V 41 w(datum)p -2181 3179 V 39 w(t)h(*)f Fe(p)12 b Ff(,)29 b(const)h(gn)m(utls)p -2954 3179 V 40 w(datum)p 3252 3179 V 40 w(t)f(*)g Fe(q)12 -b Ff(,)29 b(const)565 3289 y(gn)m(utls)p 811 3289 V 41 -w(datum)p 1110 3289 V 39 w(t)i(*)g Fe(u)12 b Fg(\))390 -3399 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g -(parsed)e(k)m(ey)390 3534 y Ff(m)p FB(:)40 b(holds)30 -b(the)h(mo)s(dulus)390 3669 y Ff(e)5 b FB(:)41 b(holds)30 -b(the)h(public)e(exp)s(onen)m(t)390 3804 y Ff(d)t FB(:)40 -b(holds)30 b(the)g(priv)-5 b(ate)31 b(exp)s(onen)m(t)390 -3939 y Ff(p)s FB(:)40 b(holds)30 b(the)g(\014rst)g(prime)g(\(p\))390 -4074 y Ff(q)r FB(:)41 b(holds)30 b(the)g(second)h(prime)e(\(q\))390 -4209 y Ff(u)p FB(:)40 b(holds)30 b(the)h(co)s(e\016cien)m(t)390 -4344 y(This)24 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h -(RSA)f(ra)m(w)g(parameters)g(to)h(the)f(nativ)m(e)h Fs(gnutls_x509_)390 -4454 y(privkey_t)i FB(format.)41 b(The)30 b(output)g(will)g(b)s(e)g -(stored)h(in)f Fs(key)p FB(.)390 4589 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +Fg(\()p Ff(gn)m(utls)p 2464 4765 28 4 v 41 w(x509)p 2688 +4765 V 41 w(privk)m(ey)p 3022 4765 V 40 w(t)565 4875 +y Fe(key)p Ff(,)31 b(const)f(gn)m(utls)p 1260 4875 V +40 w(datum)p 1558 4875 V 40 w(t)f(*)h Fe(m)p Ff(,)g(const)g(gn)m(utls)p +2321 4875 V 41 w(datum)p 2620 4875 V 39 w(t)g(*)g Fe(e)p +Ff(,)g(const)g(gn)m(utls)p 3383 4875 V 40 w(datum)p 3681 +4875 V 40 w(t)565 4985 y(*)h Fe(d)p Ff(,)g(const)g(gn)m(utls)p +1233 4985 V 40 w(datum)p 1531 4985 V 40 w(t)f(*)h Fe(p)p +Ff(,)g(const)g(gn)m(utls)p 2298 4985 V 40 w(datum)p 2596 +4985 V 40 w(t)f(*)h Fe(q)p Ff(,)g(const)g(gn)m(utls)p +3363 4985 V 40 w(datum)p 3661 4985 V 40 w(t)565 5094 +y(*)g Fe(u)12 b Fg(\))390 5204 y Ff(k)m(ey)c FB(:)41 +b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)390 +5340 y Ff(m)p FB(:)40 b(holds)30 b(the)h(mo)s(dulus)p +eop end +%%Page: 224 230 +TeXDict begin 224 229 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(224)390 299 y +Ff(e)5 b FB(:)41 b(holds)30 b(the)h(public)e(exp)s(onen)m(t)390 +433 y Ff(d)t FB(:)40 b(holds)30 b(the)g(priv)-5 b(ate)31 +b(exp)s(onen)m(t)390 567 y Ff(p)s FB(:)40 b(holds)30 +b(the)g(\014rst)g(prime)g(\(p\))390 701 y Ff(q)r FB(:)41 +b(holds)30 b(the)g(second)h(prime)e(\(q\))390 835 y Ff(u)p +FB(:)40 b(holds)30 b(the)h(co)s(e\016cien)m(t)390 969 +y(This)24 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(RSA)f +(ra)m(w)g(parameters)g(to)h(the)f(nativ)m(e)h Ft(gnutls_x509_)390 +1078 y(privkey_t)i FB(format.)41 b(The)30 b(output)g(will)g(b)s(e)g +(stored)h(in)f Ft(key)p FB(.)390 1212 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4788 y Fu(gn)m(utls)p 483 4788 37 5 v 55 -w(x509)p 786 4788 V 54 w(privk)m(ey)p 1240 4788 V 54 -w(imp)s(ort)3350 4986 y FB([F)d(unction])-3599 b Fh(int)53 +b(alue.)150 1410 y Fv(gn)m(utls)p 483 1410 37 5 v 55 +w(x509)p 786 1410 V 54 w(privk)m(ey)p 1240 1410 V 54 +w(imp)s(ort)3350 1606 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_i)q(mpor)q(t)f Fg(\()p Ff(gn)m(utls)p -2046 4986 28 4 v 40 w(x509)p 2269 4986 V 42 w(privk)m(ey)p -2604 4986 V 40 w(t)31 b Fe(key)12 b Ff(,)30 b(const)565 -5095 y(gn)m(utls)p 811 5095 V 41 w(datum)p 1110 5095 -V 39 w(t)h(*)g Fe(data)12 b Ff(,)31 b(gn)m(utls)p 1807 -5095 V 40 w(x509)p 2030 5095 V 42 w(crt)p 2183 5095 V -40 w(fm)m(t)p 2359 5095 V 40 w(t)g Fe(format)12 b Fg(\))390 -5205 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g -(parsed)e(k)m(ey)390 5340 y Ff(data)p FB(:)41 b(The)30 -b(DER)h(or)f(PEM)h(enco)s(ded)f(certi\014cate.)p eop -end -%%Page: 240 246 -TeXDict begin 240 245 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(240)390 299 y -Ff(format)r FB(:)41 b(One)30 b(of)g(DER)h(or)f(PEM)390 -434 y(This)25 b(function)h(will)h(con)m(v)m(ert)h(the)e(giv)m(en)i(DER) -e(or)g(PEM)h(enco)s(ded)f(k)m(ey)h(to)g(the)f(nativ)m(e)i -Fs(gnutls_)390 544 y(x509_privkey_t)e FB(format.)42 b(The)29 -b(output)h(will)h(b)s(e)f(stored)g(in)g Fs(key)g FB(.)390 -679 y(If)38 b(the)g(k)m(ey)h(is)g(PEM)f(enco)s(ded)g(it)h(should)e(ha)m -(v)m(e)i(a)g(header)f(of)g Fs(")p FB(RSA)g(PRIV)-10 b(A)i(TE)38 -b(KEY)p Fs(")p FB(,)i(or)390 788 y Fs(")p FB(DSA)30 b(PRIV)-10 -b(A)i(TE)30 b(KEY)p Fs(")p FB(.)390 923 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 -b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1123 y Fu(gn)m(utls)p 483 1123 37 5 v 55 -w(x509)p 786 1123 V 54 w(privk)m(ey)p 1240 1123 V 54 -w(init)3350 1321 y FB([F)d(unction])-3599 b Fh(int)53 -b(gnutls_x509_privkey_i)q(nit)f Fg(\()p Ff(gn)m(utls)p -1941 1321 28 4 v 41 w(x509)p 2165 1321 V 41 w(privk)m(ey)p -2499 1321 V 40 w(t)31 b(*)g Fe(key)12 b Fg(\))390 1430 +2046 1606 28 4 v 40 w(x509)p 2269 1606 V 42 w(privk)m(ey)p +2604 1606 V 40 w(t)31 b Fe(key)p Ff(,)g(const)565 1715 +y(gn)m(utls)p 811 1715 V 41 w(datum)p 1110 1715 V 39 +w(t)g(*)g Fe(data)p Ff(,)g(gn)m(utls)p 1795 1715 V 41 +w(x509)p 2019 1715 V 41 w(crt)p 2171 1715 V 40 w(fm)m(t)p +2347 1715 V 41 w(t)f Fe(format)12 b Fg(\))390 1825 y +Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e +(k)m(ey)390 1959 y Ff(data)p FB(:)41 b(The)30 b(DER)h(or)f(PEM)h(enco)s +(ded)f(certi\014cate.)390 2093 y Ff(format)r FB(:)41 +b(One)30 b(of)g(DER)h(or)f(PEM)390 2227 y(This)25 b(function)h(will)h +(con)m(v)m(ert)h(the)e(giv)m(en)i(DER)e(or)g(PEM)h(enco)s(ded)f(k)m(ey) +h(to)g(the)f(nativ)m(e)i Ft(gnutls_)390 2336 y(x509_privkey_t)e +FB(format.)42 b(The)29 b(output)h(will)h(b)s(e)f(stored)g(in)g +Ft(key)g FB(.)390 2470 y(If)38 b(the)g(k)m(ey)h(is)g(PEM)f(enco)s(ded)g +(it)h(should)e(ha)m(v)m(e)i(a)g(header)f(of)g Ft(")p +FB(RSA)g(PRIV)-10 b(A)i(TE)38 b(KEY)p Ft(")p FB(,)i(or)390 +2580 y Ft(")p FB(DSA)30 b(PRIV)-10 b(A)i(TE)30 b(KEY)p +Ft(")p FB(.)390 2714 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 2912 y Fv(gn)m(utls)p +483 2912 37 5 v 55 w(x509)p 786 2912 V 54 w(privk)m(ey)p +1240 2912 V 54 w(init)3350 3108 y FB([F)d(unction])-3599 +b Fh(int)53 b(gnutls_x509_privkey_i)q(nit)f Fg(\()p Ff(gn)m(utls)p +1941 3108 28 4 v 41 w(x509)p 2165 3108 V 41 w(privk)m(ey)p +2499 3108 V 40 w(t)31 b(*)g Fe(key)12 b Fg(\))390 3217 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized) -390 1565 y(This)g(function)g(will)g(initialize)j(an)d(priv)-5 -b(ate)31 b(k)m(ey)g(structure.)390 1701 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +390 3351 y(This)g(function)g(will)g(initialize)j(an)d(priv)-5 +b(ate)31 b(k)m(ey)g(structure.)390 3485 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 1901 y Fu(gn)m(utls)p 483 1901 37 5 v 55 -w(x509)p 786 1901 V 54 w(privk)m(ey)p 1240 1901 V 54 -w(sign)p 1505 1901 V 55 w(data)3350 2098 y FB([F)d(unction])-3599 +b(alue.)150 3683 y Fv(gn)m(utls)p 483 3683 37 5 v 55 +w(x509)p 786 3683 V 54 w(privk)m(ey)p 1240 3683 V 54 +w(sign)p 1505 3683 V 55 w(data)3350 3879 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_s)q(ign_)q(dat)q(a)e -Fg(\()p Ff(gn)m(utls)p 2202 2098 28 4 v 41 w(x509)p 2426 -2098 V 42 w(privk)m(ey)p 2761 2098 V 40 w(t)30 b Fe(key)12 -b Ff(,)565 2207 y(gn)m(utls)p 811 2207 V 41 w(digest)p -1084 2207 V 40 w(algorithm)p 1507 2207 V 41 w(t)31 b -Fe(digest)12 b Ff(,)32 b(unsigned)d(in)m(t)i Fe(flags)12 -b Ff(,)32 b(const)f(gn)m(utls)p 3320 2207 V 40 w(datum)p -3618 2207 V 40 w(t)565 2317 y(*)g Fe(data)12 b Ff(,)31 -b(v)m(oid)g(*)g Fe(signature)12 b Ff(,)33 b(size)p 1875 -2317 V 41 w(t)d(*)h Fe(signature_size)12 b Fg(\))390 -2427 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 -2562 y Ff(digest)r FB(:)41 b(should)30 b(b)s(e)g(MD5)h(or)f(SHA1)390 -2697 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 -2832 y Ff(data)p FB(:)41 b(holds)30 b(the)h(data)g(to)g(b)s(e)f(signed) -390 2967 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(the)e -(signature)390 3102 y Ff(signature)p 760 3102 V 40 w(size)5 +Fg(\()p Ff(gn)m(utls)p 2202 3879 28 4 v 41 w(x509)p 2426 +3879 V 42 w(privk)m(ey)p 2761 3879 V 40 w(t)30 b Fe(key)p +Ff(,)565 3988 y(gn)m(utls)p 811 3988 V 41 w(digest)p +1084 3988 V 40 w(algorithm)p 1507 3988 V 41 w(t)h Fe(digest)p +Ff(,)h(unsigned)e(in)m(t)h Fe(flags)p Ff(,)h(const)f(gn)m(utls)p +3297 3988 V 40 w(datum)p 3595 3988 V 40 w(t)f(*)565 4098 +y Fe(data)p Ff(,)i(v)m(oid)f(*)g Fe(signature)p Ff(,)i(size)p +1776 4098 V 41 w(t)d(*)h Fe(signature_size)12 b Fg(\))390 +4208 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 +4342 y Ff(digest)r FB(:)41 b(should)30 b(b)s(e)g(MD5)h(or)f(SHA1)390 +4475 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 +4609 y Ff(data)p FB(:)41 b(holds)30 b(the)h(data)g(to)g(b)s(e)f(signed) +390 4743 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(the)e +(signature)390 4877 y Ff(signature)p 760 4877 V 40 w(size)5 b FB(:)42 b(holds)30 b(the)h(size)g(of)f(signature)h(\(and)f(will)h(b)s -(e)f(replaced)g(b)m(y)h(the)f(new)g(size\))390 3237 y(This)i(function)h +(e)f(replaced)g(b)m(y)h(the)f(new)g(size\))390 5011 y(This)i(function)h (will)g(sign)g(the)g(giv)m(en)h(data)g(using)e(a)i(signature)f -(algorithm)h(supp)s(orted)d(b)m(y)i(the)390 3347 y(priv)-5 +(algorithm)h(supp)s(orted)d(b)m(y)i(the)390 5121 y(priv)-5 b(ate)39 b(k)m(ey)-8 b(.)68 b(Signature)39 b(algorithms)h(are)f(alw)m (a)m(ys)h(used)f(together)h(with)f(a)g(hash)f(functions.)390 -3457 y(Di\013eren)m(t)30 b(hash)e(functions)g(ma)m(y)h(b)s(e)e(used)h +5230 y(Di\013eren)m(t)30 b(hash)e(functions)g(ma)m(y)h(b)s(e)e(used)h (for)g(the)h(RSA)f(algorithm,)i(but)e(only)g(SHA-1)i(for)e(the)390 -3566 y(DSA)i(k)m(eys.)390 3701 y(If)g(the)h(bu\013er)e(pro)m(vided)h -(is)h(not)f(long)i(enough)e(to)h(hold)f(the)h(output,)f(then)g(*)p -Fs(signature_size)390 3811 y FB(is)g(up)s(dated)f(and)h -Fs(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 b FB(will)31 b(b)s(e)e(returned.) -390 3946 y Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS) -16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 4146 y Fu(gn)m(utls)p 483 4146 37 5 v 55 -w(x509)p 786 4146 V 54 w(privk)m(ey)p 1240 4146 V 54 -w(sign)p 1505 4146 V 55 w(hash)3350 4343 y FB([F)d(unction])-3599 -b Fh(int)53 b(gnutls_x509_privkey_s)q(ign_)q(has)q(h)e -Fg(\()p Ff(gn)m(utls)p 2202 4343 28 4 v 41 w(x509)p 2426 -4343 V 42 w(privk)m(ey)p 2761 4343 V 40 w(t)30 b Fe(key)12 -b Ff(,)565 4453 y(const)31 b(gn)m(utls)p 1049 4453 V -40 w(datum)p 1347 4453 V 40 w(t)g(*)f Fe(hash)12 b Ff(,)32 -b(gn)m(utls)p 2045 4453 V 40 w(datum)p 2343 4453 V 40 -w(t)e(*)h Fe(signature)12 b Fg(\))390 4563 y Ff(k)m(ey)c -FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 4698 y Ff(hash)p -FB(:)40 b(holds)30 b(the)g(data)h(to)h(b)s(e)d(signed)390 -4833 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(newly)e(allo)s -(cated)i(signature)390 4968 y(This)c(function)g(will)g(sign)h(the)f -(giv)m(en)i(hash)d(using)h(the)h(priv)-5 b(ate)29 b(k)m(ey)-8 -b(.)41 b(Do)29 b(not)g(use)f(this)g(function)390 5078 -y(directly)35 b(unless)e(y)m(ou)h(kno)m(w)g(what)g(it)g(is.)51 -b(T)m(ypical)35 b(signing)f(requires)f(the)h(data)h(to)g(b)s(e)e -(hashed)390 5187 y(and)d(stored)g(in)g(sp)s(ecial)h(formats)g(\(e.g.)42 -b(BER)30 b(Digest-Info)i(for)f(RSA\).)390 5322 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +5340 y(DSA)i(k)m(eys.)p eop end +%%Page: 225 231 +TeXDict begin 225 230 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(225)390 299 y(If)30 +b(the)h(bu\013er)e(pro)m(vided)h(is)h(not)f(long)i(enough)e(to)h(hold)f +(the)h(output,)f(then)g(*)p Ft(signature_size)390 408 +y FB(is)g(up)s(dated)f(and)h Ft(GNUTLS_E_SHORT_MEMORY_BUF)o(FER)24 +b FB(will)31 b(b)s(e)e(returned.)390 544 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)p eop end -%%Page: 241 247 -TeXDict begin 241 246 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(241)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(privk)m(ey)p 1240 299 V 54 w(v)m(erify)p 1598 299 V -54 w(data)3350 495 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_x509_privkey_v)q(erif)q(y_d)q(ata)f Fg(\()p -Ff(gn)m(utls)p 2307 495 28 4 v 41 w(x509)p 2531 495 V -41 w(privk)m(ey)p 2865 495 V 40 w(t)31 b Fe(key)12 b -Ff(,)565 604 y(unsigned)29 b(in)m(t)i Fe(flags)12 b Ff(,)32 -b(const)f(gn)m(utls)p 1896 604 V 40 w(datum)p 2194 604 -V 40 w(t)f(*)h Fe(data)12 b Ff(,)31 b(const)g(gn)m(utls)p -3129 604 V 41 w(datum)p 3428 604 V 39 w(t)g(*)565 714 -y Fe(signature)12 b Fg(\))390 824 y Ff(k)m(ey)c FB(:)41 -b(Holds)31 b(the)f(k)m(ey)390 958 y Ff(\015ags)t FB(:)41 -b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 1092 y Ff(data)p +b(alue.)150 743 y Fv(gn)m(utls)p 483 743 37 5 v 55 w(x509)p +786 743 V 54 w(privk)m(ey)p 1240 743 V 54 w(sign)p 1505 +743 V 55 w(hash)3350 941 y FB([F)d(unction])-3599 b Fh(int)53 +b(gnutls_x509_privkey_s)q(ign_)q(has)q(h)e Fg(\()p Ff(gn)m(utls)p +2202 941 28 4 v 41 w(x509)p 2426 941 V 42 w(privk)m(ey)p +2761 941 V 40 w(t)30 b Fe(key)p Ff(,)565 1050 y(const)h(gn)m(utls)p +1049 1050 V 40 w(datum)p 1347 1050 V 40 w(t)g(*)f Fe(hash)p +Ff(,)i(gn)m(utls)p 2033 1050 V 41 w(datum)p 2332 1050 +V 39 w(t)f(*)g Fe(signature)12 b Fg(\))390 1160 y Ff(k)m(ey)c +FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 1295 y Ff(hash)p +FB(:)40 b(holds)30 b(the)g(data)h(to)h(b)s(e)d(signed)390 +1430 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(newly)e(allo)s +(cated)i(signature)390 1565 y(This)e(function)g(will)g(sign)h(the)f +(giv)m(en)i(hash)d(using)h(the)h(priv)-5 b(ate)31 b(k)m(ey)-8 +b(.)390 1701 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1901 y Fv(gn)m(utls)p +483 1901 37 5 v 55 w(x509)p 786 1901 V 54 w(privk)m(ey)p +1240 1901 V 54 w(v)m(erify)p 1598 1901 V 54 w(data)3350 +2098 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_x509_privkey_v)q +(erif)q(y_d)q(ata)f Fg(\()p Ff(gn)m(utls)p 2307 2098 +28 4 v 41 w(x509)p 2531 2098 V 41 w(privk)m(ey)p 2865 +2098 V 40 w(t)31 b Fe(key)p Ff(,)565 2207 y(unsigned)e(in)m(t)i +Fe(flags)p Ff(,)h(const)f(gn)m(utls)p 1884 2207 V 41 +w(datum)p 2183 2207 V 39 w(t)g(*)g Fe(data)p Ff(,)g(const)g(gn)m(utls)p +3106 2207 V 41 w(datum)p 3405 2207 V 39 w(t)g(*)565 2317 +y Fe(signature)12 b Fg(\))390 2427 y Ff(k)m(ey)c FB(:)41 +b(Holds)31 b(the)f(k)m(ey)390 2562 y Ff(\015ags)t FB(:)41 +b(should)29 b(b)s(e)h(0)h(for)f(no)m(w)390 2697 y Ff(data)p FB(:)41 b(holds)30 b(the)h(data)g(to)g(b)s(e)f(signed)390 -1226 y Ff(signature)5 b FB(:)41 b(con)m(tains)32 b(the)e(signature)390 -1360 y(This)k(function)h(will)h(v)m(erify)f(the)h(giv)m(en)g(signed)f +2832 y Ff(signature)5 b FB(:)41 b(con)m(tains)32 b(the)e(signature)390 +2967 y(This)k(function)h(will)h(v)m(erify)f(the)h(giv)m(en)g(signed)f (data,)j(using)c(the)i(parameters)f(in)g(the)g(priv)-5 -b(ate)390 1469 y(k)m(ey)d(.)390 1603 y Fn(Returns:)40 +b(ate)390 3077 y(k)m(ey)d(.)390 3212 y Fn(Returns:)40 b FB(In)30 b(case)h(of)g(a)g(v)m(eri\014cation)h(failure)e(0)h(is)f -(returned,)g(and)g(1)g(on)h(success.)150 1802 y Fu(gn)m(utls)p -483 1802 37 5 v 55 w(x509)p 786 1802 V 54 w(rdn)p 1026 -1802 V 55 w(get)p 1246 1802 V 54 w(b)m(y)p 1430 1802 -V 54 w(oid)3350 1998 y FB([F)-8 b(unction])-3599 b Fh(int)53 +(returned,)g(and)g(1)g(on)h(success.)150 3412 y Fv(gn)m(utls)p +483 3412 37 5 v 55 w(x509)p 786 3412 V 54 w(rdn)p 1026 +3412 V 55 w(get)p 1246 3412 V 54 w(b)m(y)p 1430 3412 +V 54 w(oid)3350 3609 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_rdn_get_b)q(y_oi)q(d)f Fg(\()p Ff(const)31 -b(gn)m(utls)p 2284 1998 28 4 v 40 w(datum)p 2582 1998 -V 40 w(t)f(*)h Fe(idn)12 b Ff(,)31 b(const)565 2107 y(c)m(har)g(*)g -Fe(oid)12 b Ff(,)31 b(in)m(t)g Fe(indx)12 b Ff(,)31 b(unsigned)e(in)m -(t)i Fe(raw_flag)12 b Ff(,)32 b(v)m(oid)f(*)g Fe(buf)12 -b Ff(,)31 b(size)p 3127 2107 V 41 w(t)g(*)565 2217 y -Fe(sizeof_buf)12 b Fg(\))390 2326 y Ff(idn)p FB(:)40 -b(should)29 b(con)m(tain)j(a)f(DER)f(enco)s(ded)g(RDN)h(sequence)390 -2460 y Ff(oid)t FB(:)40 b(an)31 b(Ob)5 b(ject)30 b(Iden)m(ti\014er)390 -2594 y Ff(indx)6 b FB(:)47 b(In)33 b(case)h(m)m(ultiple)h(same)f(OIDs)f -(exist)h(in)g(the)g(RDN)g(indicates)g(whic)m(h)f(to)i(send.)50 -b(Use)34 b(0)390 2704 y(for)c(the)h(\014rst)e(one.)390 -2838 y Ff(ra)m(w)p 540 2838 V 40 w(\015ag)8 b FB(:)41 +b(gn)m(utls)p 2284 3609 28 4 v 40 w(datum)p 2582 3609 +V 40 w(t)f(*)h Fe(idn)p Ff(,)h(const)565 3719 y(c)m(har)f(*)g +Fe(oid)p Ff(,)g(in)m(t)g Fe(indx)p Ff(,)h(unsigned)d(in)m(t)i +Fe(raw_flag)p Ff(,)i(v)m(oid)e(*)g Fe(buf)p Ff(,)g(size)p +3081 3719 V 41 w(t)g(*)565 3828 y Fe(sizeof_buf)12 b +Fg(\))390 3938 y Ff(idn)p FB(:)40 b(should)29 b(con)m(tain)j(a)f(DER)f +(enco)s(ded)g(RDN)h(sequence)390 4073 y Ff(oid)t FB(:)40 +b(an)31 b(Ob)5 b(ject)30 b(Iden)m(ti\014er)390 4208 y +Ff(indx)6 b FB(:)47 b(In)33 b(case)h(m)m(ultiple)h(same)f(OIDs)f(exist) +h(in)g(the)g(RDN)g(indicates)g(whic)m(h)f(to)i(send.)50 +b(Use)34 b(0)390 4318 y(for)c(the)h(\014rst)e(one.)390 +4453 y Ff(ra)m(w)p 540 4453 V 40 w(\015ag)8 b FB(:)41 b(If)30 b(non)g(zero)h(then)f(the)h(ra)m(w)f(DER)h(data)g(are)f -(returned.)390 2972 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h +(returned.)390 4588 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h (a)g(structure)f(to)h(hold)f(the)h(p)s(eer's)e(name)390 -3106 y Ff(sizeof)p 610 3106 V 41 w(buf)17 b FB(:)40 b(holds)30 -b(the)h(size)g(of)f Fs(buf)390 3240 y FB(This)21 b(function)g(will)g +4723 y Ff(sizeof)p 610 4723 V 41 w(buf)17 b FB(:)40 b(holds)30 +b(the)h(size)g(of)f Ft(buf)390 4858 y FB(This)21 b(function)g(will)g (return)g(the)g(name)h(of)f(the)h(giv)m(en)g(Ob)5 b(ject)22 -b(iden)m(ti\014er,)h(of)f(the)f(RDN)h(sequence.)390 3350 +b(iden)m(ti\014er,)h(of)f(the)f(RDN)h(sequence.)390 4968 y(The)30 b(name)g(will)h(b)s(e)f(enco)s(ded)g(using)g(the)g(rules)g -(from)g(RF)m(C2253.)390 3484 y Fn(Returns:)51 b FB(On)34 -b(success,)k Fs(GNUTLS_E_SUCCESS)31 b FB(is)36 b(returned,)f(or)h -Fs(GNUTLS_E_SHORT_MEMORY_)390 3593 y(BUFFER)h FB(is)i(returned)f(and)g -(*)p Fs(sizeof_buf)f FB(is)i(up)s(dated)f(if)g(the)i(pro)m(vided)e -(bu\013er)g(is)h(not)g(long)390 3703 y(enough,)30 b(otherwise)h(a)g -(negativ)m(e)i(error)d(v)-5 b(alue.)150 3901 y Fu(gn)m(utls)p -483 3901 37 5 v 55 w(x509)p 786 3901 V 54 w(rdn)p 1026 -3901 V 55 w(get)p 1246 3901 V 54 w(oid)3350 4097 y FB([F)d(unction]) --3599 b Fh(int)53 b(gnutls_x509_rdn_get_o)q(id)f Fg(\()p -Ff(const)31 b(gn)m(utls)p 2127 4097 28 4 v 40 w(datum)p -2425 4097 V 40 w(t)g(*)f Fe(idn)12 b Ff(,)31 b(in)m(t)565 -4207 y Fe(indx)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(buf)12 -b Ff(,)31 b(size)p 1485 4207 V 41 w(t)g(*)f Fe(sizeof_buf)12 -b Fg(\))390 4316 y Ff(idn)p FB(:)40 b(should)29 b(con)m(tain)j(a)f(DER) -f(enco)s(ded)g(RDN)h(sequence)390 4451 y Ff(indx)6 b -FB(:)40 b(Indicates)31 b(whic)m(h)f(OID)g(to)i(return.)39 -b(Use)31 b(0)g(for)f(the)g(\014rst)g(one.)390 4585 y -Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h -(hold)f(the)h(p)s(eer's)e(name)i(OID)390 4719 y Ff(sizeof)p -610 4719 V 41 w(buf)17 b FB(:)40 b(holds)30 b(the)h(size)g(of)f -Fs(buf)390 4853 y FB(This)g(function)g(will)g(return)g(the)g(sp)s -(eci\014ed)g(Ob)5 b(ject)30 b(iden)m(ti\014er,)h(of)g(the)f(RDN)h -(sequence.)390 4987 y Fn(Returns:)51 b FB(On)34 b(success,)k -Fs(GNUTLS_E_SUCCESS)31 b FB(is)36 b(returned,)f(or)h -Fs(GNUTLS_E_SHORT_MEMORY_)390 5096 y(BUFFER)h FB(is)i(returned)f(and)g -(*)p Fs(sizeof_buf)f FB(is)i(up)s(dated)f(if)g(the)i(pro)m(vided)e -(bu\013er)g(is)h(not)g(long)390 5206 y(enough,)30 b(otherwise)h(a)g -(negativ)m(e)i(error)d(v)-5 b(alue.)390 5340 y Fn(Since:)41 -b FB(2.4.0)p eop end -%%Page: 242 248 -TeXDict begin 242 247 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(242)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 -w(rdn)p 1026 299 V 55 w(get)3350 505 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_x509_rdn_get)e Fg(\()p Ff(const)32 -b(gn)m(utls)p 1918 505 28 4 v 40 w(datum)p 2216 505 V -40 w(t)e(*)h Fe(idn)12 b Ff(,)31 b(c)m(har)g(*)g Fe(buf)12 -b Ff(,)565 615 y(size)p 712 615 V 41 w(t)31 b(*)f Fe(sizeof_buf)12 -b Fg(\))390 724 y Ff(idn)p FB(:)40 b(should)29 b(con)m(tain)j(a)f(DER)f -(enco)s(ded)g(RDN)h(sequence)390 868 y Ff(buf)16 b FB(:)41 -b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure)f(to)h(hold)f(the)h(p)s -(eer's)e(name)390 1012 y Ff(sizeof)p 610 1012 V 41 w(buf)17 -b FB(:)40 b(holds)30 b(the)h(size)g(of)f Fs(buf)390 1156 -y FB(This)g(function)g(will)h(return)e(the)i(name)f(of)h(the)g(giv)m -(en)g(RDN)g(sequence.)42 b(The)30 b(name)h(will)f(b)s(e)g(in)390 -1266 y(the)h(form)e Fs(")p FB(C=xxxx,O=yyyy)-8 b(,CN=zzzz)p -Fs(")31 b FB(as)g(describ)s(ed)e(in)h(RF)m(C2253.)390 -1410 y Fn(Returns:)51 b FB(On)34 b(success,)k Fs(GNUTLS_E_SUCCESS)31 -b FB(is)36 b(returned,)f(or)h Fs(GNUTLS_E_SHORT_MEMORY_)390 -1519 y(BUFFER)h FB(is)i(returned)f(and)g(*)p Fs(sizeof_buf)f +(from)g(RF)m(C2253.)390 5103 y Fn(Returns:)51 b FB(On)34 +b(success,)k Ft(GNUTLS_E_SUCCESS)31 b FB(is)36 b(returned,)f(or)h +Ft(GNUTLS_E_SHORT_MEMORY_)390 5213 y(BUFFER)h FB(is)i(returned)f(and)g +(*)p Ft(sizeof_buf)f FB(is)i(up)s(dated)f(if)g(the)i(pro)m(vided)e +(bu\013er)g(is)h(not)g(long)390 5322 y(enough,)30 b(otherwise)h(a)g +(negativ)m(e)i(error)d(v)-5 b(alue.)p eop end +%%Page: 226 232 +TeXDict begin 226 231 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(226)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(x509)p 786 299 V 54 +w(rdn)p 1026 299 V 55 w(get)p 1246 299 V 54 w(oid)3350 +498 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_x509_rdn_get_o)q +(id)f Fg(\()p Ff(const)31 b(gn)m(utls)p 2127 498 28 4 +v 40 w(datum)p 2425 498 V 40 w(t)g(*)f Fe(idn)p Ff(,)i(in)m(t)f +Fe(indx)p Ff(,)565 607 y(v)m(oid)g(*)g Fe(buf)p Ff(,)g(size)p +1197 607 V 41 w(t)g(*)g Fe(sizeof_buf)12 b Fg(\))390 +717 y Ff(idn)p FB(:)40 b(should)29 b(con)m(tain)j(a)f(DER)f(enco)s(ded) +g(RDN)h(sequence)390 854 y Ff(indx)6 b FB(:)40 b(Indicates)31 +b(whic)m(h)f(OID)g(to)i(return.)39 b(Use)31 b(0)g(for)f(the)g(\014rst)g +(one.)390 990 y(This)g(function)g(will)g(return)g(the)g(sp)s(eci\014ed) +g(Ob)5 b(ject)30 b(iden)m(ti\014er,)h(of)g(the)f(RDN)h(sequence.)390 +1127 y Fn(Returns:)51 b FB(On)34 b(success,)k Ft(GNUTLS_E_SUCCESS)31 +b FB(is)36 b(returned,)f(or)h Ft(GNUTLS_E_SHORT_MEMORY_)390 +1236 y(BUFFER)h FB(is)i(returned)f(and)g(*)p Ft(sizeof_buf)f FB(is)i(up)s(dated)f(if)g(the)i(pro)m(vided)e(bu\013er)g(is)h(not)g -(long)390 1629 y(enough,)30 b(otherwise)h(a)g(negativ)m(e)i(error)d(v) --5 b(alue.)150 1875 y FA(9.3)68 b Fu(Gn)m(uTLS-extra)45 -b FA(F)-11 b(unctions)150 2035 y FB(These)21 b(functions)f(are)h(only)g -(a)m(v)-5 b(ailable)23 b(in)e(the)g(GPLv3)p Fs(+)f FB(v)m(ersion)i(of)f -(the)g(library)f(called)i Fs(gnutls-extra)p FB(.)150 -2144 y(The)30 b(protot)m(yp)s(es)h(for)f(this)g(library)g(lie)h(in)f(`) -p Fs(gnutls/extra.h)p FB('.)150 2353 y Fu(gn)m(utls)p -483 2353 37 5 v 55 w(extra)p 817 2353 V 53 w(c)m(hec)m(k)p -1163 2353 V 52 w(v)m(ersion)3350 2559 y FB([F)-8 b(unction])-3599 -b Fh(const)54 b(char)f(*)g(gnutls_extra_check_ver)q(sio)q(n)e -Fg(\()p Ff(const)32 b(c)m(har)e(*)565 2669 y Fe(req_version)12 -b Fg(\))390 2779 y Ff(req)p 520 2779 28 4 v 40 w(v)m(ersion)p -FB(:)41 b(v)m(ersion)31 b(string)f(to)h(compare)g(with,)g(or)f -Fs(NULL)p FB(.)390 2923 y(Chec)m(k)h(Gn)m(uTLS)e(Extra)h(Library)g(v)m -(ersion.)390 3066 y(See)h Fs(GNUTLS_EXTRA_VERSION)24 -b FB(for)31 b(a)f(suitable)h Fs(req_version)d FB(string.)390 -3210 y Fn(Return)k(v)-5 b(alue:)45 b FB(Chec)m(k)32 b(that)h(the)g(v)m -(ersion)f(of)h(the)f(library)g(is)g(at)h(minim)m(um)f(the)g(one)g(giv)m -(en)i(as)390 3320 y(a)j(string)f(in)h Fs(req_version)c -FB(and)j(return)g(the)g(actual)i(v)m(ersion)f(string)g(of)g(the)g -(library;)i(return)390 3430 y Fs(NULL)31 b FB(if)i(the)g(condition)g -(is)g(not)g(met.)48 b(If)32 b Fs(NULL)g FB(is)g(passed)g(to)i(this)e -(function)h(no)f(c)m(hec)m(k)i(is)f(done)390 3539 y(and)d(only)g(the)h -(v)m(ersion)g(string)f(is)g(returned.)150 3748 y Fu(gn)m(utls)p -483 3748 37 5 v 55 w(global)p 856 3748 V 54 w(init)p -1094 3748 V 54 w(extra)3350 3954 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_global_init_ex)q(tra)f Fg(\()31 -b Fe(void)12 b Fg(\))390 4064 y FB(This)30 b(function)g(initializes)i -(the)f(global)g(state)h(of)f(gn)m(utls-extra)g(library)f(to)i -(defaults.)390 4208 y(Note)f(that)g Fs(gnutls_global_init\(\))24 -b FB(has)30 b(to)g(b)s(e)g(called)h(b)s(efore)e(this)h(function.)40 -b(If)30 b(this)g(func-)390 4317 y(tion)h(is)f(not)h(called)g(then)g -(the)f(gn)m(utls-extra)i(library)e(will)h(not)f(b)s(e)g(usable.)390 -4461 y(This)39 b(function)g(is)g(not)h(thread)f(safe,)j(see)e(the)f -(discussion)g(for)g Fs(gnutls_global_init\(\))34 b FB(on)390 -4571 y(ho)m(w)c(to)i(deal)e(with)g(that.)390 4715 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -4824 y(is)f(returned.)150 5071 y FA(9.4)68 b Fu(Op)s(enPGP)46 -b FA(F)-11 b(unctions)150 5230 y FB(The)30 b(follo)m(wing)i(functions)e -(are)h(to)g(b)s(e)f(used)f(for)h Ft(Op)r(enPGP)g FB(certi\014cate)i -(handling.)41 b(Their)30 b(protot)m(yp)s(es)150 5340 -y(lie)h(in)f(`)p Fs(gnutls/openpgp.h)p FB('.)p eop end -%%Page: 243 249 -TeXDict begin 243 248 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(243)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 -299 V 52 w(set)p 1272 299 V 54 w(op)s(enpgp)p 1779 299 -V 56 w(k)m(ey)p 2018 299 V 53 w(\014le2)3350 500 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q -(gp_)q(key)q(_fil)q(e2)565 609 y Fg(\()p Ff(gn)m(utls)p -846 609 28 4 v 41 w(certi\014cate)p 1274 609 V 42 w(creden)m(tials)p -1737 609 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g -Fe(certfile)12 b Ff(,)32 b(const)f(c)m(har)g(*)565 719 -y Fe(keyfile)12 b Ff(,)32 b(const)f(c)m(har)g(*)g Fe(subkey_id)12 -b Ff(,)33 b(gn)m(utls)p 2296 719 V 40 w(op)s(enpgp)p -2673 719 V 39 w(crt)p 2823 719 V 40 w(fm)m(t)p 2999 719 -V 41 w(t)d Fe(format)12 b Fg(\))390 829 y Ff(res)t FB(:)40 +(long)390 1346 y(enough,)30 b(otherwise)h(a)g(negativ)m(e)i(error)d(v) +-5 b(alue.)390 1482 y Fn(Since:)41 b FB(2.4.0)150 1684 +y Fv(gn)m(utls)p 483 1684 37 5 v 55 w(x509)p 786 1684 +V 54 w(rdn)p 1026 1684 V 55 w(get)3350 1883 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_x509_rdn_get)e +Fg(\()p Ff(const)32 b(gn)m(utls)p 1918 1883 28 4 v 40 +w(datum)p 2216 1883 V 40 w(t)e(*)h Fe(idn)p Ff(,)h(c)m(har)e(*)h +Fe(buf)p Ff(,)565 1992 y(size)p 712 1992 V 41 w(t)g(*)f +Fe(sizeof_buf)12 b Fg(\))390 2102 y Ff(idn)p FB(:)40 +b(should)29 b(con)m(tain)j(a)f(DER)f(enco)s(ded)g(RDN)h(sequence)390 +2238 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure) +f(to)h(hold)f(the)h(p)s(eer's)e(name)390 2375 y Ff(sizeof)p +610 2375 V 41 w(buf)17 b FB(:)40 b(holds)30 b(the)h(size)g(of)f +Ft(buf)390 2512 y FB(This)g(function)g(will)h(return)e(the)i(name)f(of) +h(the)g(giv)m(en)g(RDN)g(sequence.)42 b(The)30 b(name)h(will)f(b)s(e)g +(in)390 2621 y(the)h(form)e Ft(")p FB(C=xxxx,O=yyyy)-8 +b(,CN=zzzz)p Ft(")31 b FB(as)g(describ)s(ed)e(in)h(RF)m(C2253.)390 +2758 y Fn(Returns:)51 b FB(On)34 b(success,)k Ft(GNUTLS_E_SUCCESS)31 +b FB(is)36 b(returned,)f(or)h Ft(GNUTLS_E_SHORT_MEMORY_)390 +2867 y(BUFFER)h FB(is)i(returned)f(and)g(*)p Ft(sizeof_buf)f +FB(is)i(up)s(dated)f(if)g(the)i(pro)m(vided)e(bu\013er)g(is)h(not)g +(long)390 2977 y(enough,)30 b(otherwise)h(a)g(negativ)m(e)i(error)d(v) +-5 b(alue.)150 3213 y FA(9.3)68 b Fv(Gn)m(uTLS-extra)45 +b FA(F)-11 b(unctions)150 3372 y FB(These)31 b(functions)h(are)g(only)f +(a)m(v)-5 b(ailable)34 b(in)e(the)g(GPL)f(v)m(ersion)h(of)g(the)g +(library)f(called)i Ft(gnutls-extra)p FB(.)150 3482 y(The)d(protot)m +(yp)s(es)h(for)f(this)g(library)g(lie)h(in)f(`)p Ft(gnutls/extra.h)p +FB('.)150 3683 y Fv(gn)m(utls)p 483 3683 37 5 v 55 w(extra)p +817 3683 V 53 w(c)m(hec)m(k)p 1163 3683 V 52 w(v)m(ersion)3350 +3882 y FB([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(*)g +(gnutls_extra_check_ver)q(sio)q(n)e Fg(\()p Ff(const)32 +b(c)m(har)e(*)565 3991 y Fe(req_version)12 b Fg(\))390 +4101 y Ff(req)p 520 4101 28 4 v 40 w(v)m(ersion)p FB(:)41 +b(the)31 b(v)m(ersion)g(to)g(c)m(hec)m(k)390 4238 y(Chec)m(k)k(that)g +(the)g(v)m(ersion)g(of)f(the)h(gn)m(utls-extra)h(library)e(is)h(at)g +(minim)m(um)e(the)i(requested)g(one)390 4347 y(and)23 +b(return)f(the)i(v)m(ersion)g(string;)i(return)c(NULL)i(if)f(the)h +(condition)g(is)g(not)f(satis\014ed.)39 b(If)23 b(a)h(NULL)390 +4457 y(is)k(passed)g(to)h(this)f(function,)h(no)f(c)m(hec)m(k)h(is)g +(done,)f(but)g(the)g(v)m(ersion)h(string)f(is)g(simply)g(returned.)150 +4658 y Fv(gn)m(utls)p 483 4658 37 5 v 55 w(global)p 856 +4658 V 54 w(init)p 1094 4658 V 54 w(extra)3350 4857 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_global_init_ex)q(tra)f +Fg(\()31 b Fe(void)12 b Fg(\))390 4967 y FB(This)32 b(function)h +(initializes)j(the)d(global)h(state)h(of)e(gn)m(utls-extra)i(library)e +(to)h(defaults.)49 b(Returns)390 5076 y(zero)31 b(on)f(success.)390 +5213 y(Note)h(that)g Ft(gnutls_global_init\(\))24 b FB(has)30 +b(to)g(b)s(e)g(called)h(b)s(efore)e(this)h(function.)40 +b(If)30 b(this)g(func-)390 5322 y(tion)h(is)f(not)h(called)g(then)g +(the)f(gn)m(utls-extra)i(library)e(will)h(not)f(b)s(e)g(usable.)p +eop end +%%Page: 227 233 +TeXDict begin 227 232 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(227)150 299 y +FA(9.4)68 b Fv(Op)s(enPGP)46 b FA(F)-11 b(unctions)150 +458 y FB(The)30 b(follo)m(wing)i(functions)e(are)h(to)g(b)s(e)f(used)f +(for)h Fu(Op)r(enPGP)g FB(certi\014cate)i(handling.)41 +b(Their)30 b(protot)m(yp)s(es)150 568 y(lie)40 b(in)f(`)p +Ft(gnutls/openpgp.h)p FB('.)64 b(Y)-8 b(ou)40 b(need)f(to)h(link)g +(with)f(`)p Ft(libgnutls-extra)p FB(')c(to)40 b(b)s(e)f(able)h(to)g +(use)150 677 y(these)31 b(functions)f(\(see)h(Section)g(9.3)h([Gn)m +(uTLS-extra)e(functions],)h(page)g(226\).)150 878 y Fv(gn)m(utls)p +483 878 37 5 v 55 w(certi\014cate)p 1068 878 V 52 w(set)p +1272 878 V 54 w(op)s(enpgp)p 1779 878 V 56 w(k)m(ey)p +2018 878 V 53 w(\014le2)3350 1077 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_fil)q +(e2)565 1186 y Fg(\()p Ff(gn)m(utls)p 846 1186 28 4 v +41 w(certi\014cate)p 1274 1186 V 42 w(creden)m(tials)p +1737 1186 V 41 w(t)31 b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g +Fe(certfile)p Ff(,)i(const)e(c)m(har)g(*)565 1296 y Fe(keyfile)p +Ff(,)i(const)e(c)m(har*)g Fe(subkey_id)p Ff(,)i(gn)m(utls)p +2242 1296 V 41 w(op)s(enpgp)p 2620 1296 V 38 w(crt)p +2769 1296 V 41 w(fm)m(t)p 2946 1296 V 40 w(t)e Fe(format)12 +b Fg(\))390 1405 y Ff(res)t FB(:)40 b(the)31 b(destination)g(con)m +(text)h(to)f(sa)m(v)m(e)h(the)f(data.)390 1541 y Ff(cert\014le)5 +b FB(:)42 b(the)30 b(\014le)h(that)g(con)m(tains)g(the)g(public)f(k)m +(ey)-8 b(.)390 1677 y Ff(k)m(ey\014le)5 b FB(:)42 b(the)30 +b(\014le)h(that)g(con)m(tains)g(the)g(secret)g(k)m(ey)-8 +b(.)390 1813 y Ff(subk)m(ey)p 667 1813 V 40 w(id)t FB(:)40 +b(a)30 b(hex)h(enco)s(ded)f(subk)m(ey)g(id)390 1949 y +Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eys)390 +2086 y(This)36 b(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s(enPGP)e(k)m +(eys)j(in)m(to)f(the)g(Gn)m(uTLS)f(creden)m(tial)i(structure.)390 +2195 y(The)30 b(\014les)g(should)g(con)m(tain)h(non)f(encrypted)g(k)m +(eys.)390 2331 y(The)25 b(sp)s(ecial)h(k)m(eyw)m(ord)g +Ft(")p FB(auto)p Ft(")g FB(is)f(also)i(accepted)g(as)e(&subk)m(ey)p +2602 2331 V 40 w(id.)39 b(In)24 b(that)j(case)f(the)g +Ft(gnutls_)390 2441 y(openpgp_crt_get_auth_sub)o(key\()o(\))e +FB(will)31 b(b)s(e)f(used)f(to)j(retriev)m(e)f(the)g(subk)m(ey)-8 +b(.)390 2577 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)390 2713 y Fn(Since:)41 +b FB(2.4.0)150 2914 y Fv(gn)m(utls)p 483 2914 37 5 v +55 w(certi\014cate)p 1068 2914 V 52 w(set)p 1272 2914 +V 54 w(op)s(enpgp)p 1779 2914 V 56 w(k)m(ey)p 2018 2914 +V 53 w(\014le)3350 3112 y FB([F)-8 b(unction])-3599 b +Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_fil)q(e) +565 3221 y Fg(\()p Ff(gn)m(utls)p 846 3221 28 4 v 41 +w(certi\014cate)p 1274 3221 V 42 w(creden)m(tials)p 1737 +3221 V 41 w(t)31 b Fe(res)p Ff(,)h(const)e(c)m(har)h(*)g +Fe(certfile)p Ff(,)i(const)e(c)m(har)g(*)565 3331 y Fe(keyfile)p +Ff(,)i(gn)m(utls)p 1233 3331 V 40 w(op)s(enpgp)p 1610 +3331 V 39 w(crt)p 1760 3331 V 40 w(fm)m(t)p 1936 3331 +V 41 w(t)d Fe(format)12 b Fg(\))390 3441 y Ff(res)t FB(:)40 b(the)31 b(destination)g(con)m(text)h(to)f(sa)m(v)m(e)h(the)f(data.)390 -967 y Ff(cert\014le)5 b FB(:)42 b(the)30 b(\014le)h(that)g(con)m(tains) -g(the)g(public)f(k)m(ey)-8 b(.)390 1106 y Ff(k)m(ey\014le)5 +3577 y Ff(cert\014le)5 b FB(:)42 b(the)30 b(\014le)h(that)g(con)m +(tains)g(the)g(public)f(k)m(ey)-8 b(.)390 3713 y Ff(k)m(ey\014le)5 b FB(:)42 b(the)30 b(\014le)h(that)g(con)m(tains)g(the)g(secret)g(k)m -(ey)-8 b(.)390 1245 y Ff(subk)m(ey)p 667 1245 V 40 w(id)t +(ey)-8 b(.)390 3849 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the) +f(k)m(eys)390 3985 y(This)j(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s +(enPGP)e(k)m(eys)j(in)m(to)g(the)f(Gn)m(uTLS)e(creden)m(tials)j +(structure.)390 4094 y(The)30 b(\014les)g(should)g(only)g(con)m(tain)i +(one)e(k)m(ey)i(whic)m(h)e(is)g(not)h(encrypted.)390 +4230 y Fn(Returns:)36 b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 +b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 +b(alue.)150 4431 y Fv(gn)m(utls)p 483 4431 37 5 v 55 +w(certi\014cate)p 1068 4431 V 52 w(set)p 1272 4431 V +54 w(op)s(enpgp)p 1779 4431 V 56 w(k)m(ey)p 2018 4431 +V 53 w(mem2)3350 4630 y FB([F)d(unction])-3599 b Fh(int)53 +b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_mem)q(2)565 +4739 y Fg(\()p Ff(gn)m(utls)p 846 4739 28 4 v 41 w(certi\014cate)p +1274 4739 V 42 w(creden)m(tials)p 1737 4739 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(gn)m(utls)p 2534 4739 V 41 +w(datum)p 2833 4739 V 39 w(t)h(*)g Fe(icert)p Ff(,)h(const)565 +4849 y(gn)m(utls)p 811 4849 V 41 w(datum)p 1110 4849 +V 39 w(t)f(*)g Fe(ikey)p Ff(,)g(const)g(c)m(har*)g Fe(subkey_id)p +Ff(,)j(gn)m(utls)p 2805 4849 V 40 w(op)s(enpgp)p 3182 +4849 V 39 w(crt)p 3332 4849 V 40 w(fm)m(t)p 3508 4849 +V 41 w(t)565 4958 y Fe(format)12 b Fg(\))390 5068 y Ff(res)t +FB(:)40 b(the)31 b(destination)g(con)m(text)h(to)f(sa)m(v)m(e)h(the)f +(data.)390 5204 y Ff(subk)m(ey)p 667 5204 V 40 w(id)t FB(:)40 b(a)30 b(hex)h(enco)s(ded)f(subk)m(ey)g(id)390 -1384 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eys)390 -1522 y(This)36 b(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s(enPGP)e(k)m -(eys)j(in)m(to)f(the)g(Gn)m(uTLS)f(creden)m(tial)i(structure.)390 -1632 y(The)30 b(\014les)g(should)g(con)m(tain)h(non)f(encrypted)g(k)m -(eys.)390 1771 y(The)d(sp)s(ecial)i(k)m(eyw)m(ord)f Fs(")p -FB(auto)p Fs(")g FB(is)g(also)g(accepted)h(as)f Fs(subkey_id)p -FB(.)38 b(In)27 b(that)h(case)h(the)f Fs(gnutls_)390 -1880 y(openpgp_crt_get_auth_sub)o(key\()o(\))c FB(will)31 -b(b)s(e)f(used)f(to)j(retriev)m(e)f(the)g(subk)m(ey)-8 -b(.)390 2019 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)390 2158 y Fn(Since:)41 -b FB(2.4.0)150 2361 y Fu(gn)m(utls)p 483 2361 37 5 v -55 w(certi\014cate)p 1068 2361 V 52 w(set)p 1272 2361 -V 54 w(op)s(enpgp)p 1779 2361 V 56 w(k)m(ey)p 2018 2361 -V 53 w(\014le)3350 2562 y FB([F)-8 b(unction])-3599 b -Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_fil)q(e) -565 2672 y Fg(\()p Ff(gn)m(utls)p 846 2672 28 4 v 41 -w(certi\014cate)p 1274 2672 V 42 w(creden)m(tials)p 1737 -2672 V 41 w(t)31 b Fe(res)12 b Ff(,)31 b(const)g(c)m(har)g(*)g -Fe(certfile)12 b Ff(,)32 b(const)f(c)m(har)g(*)565 2781 -y Fe(keyfile)12 b Ff(,)32 b(gn)m(utls)p 1244 2781 V 41 -w(op)s(enpgp)p 1622 2781 V 39 w(crt)p 1772 2781 V 40 -w(fm)m(t)p 1948 2781 V 40 w(t)f Fe(format)12 b Fg(\))390 -2891 y Ff(res)t FB(:)40 b(the)31 b(destination)g(con)m(text)h(to)f(sa)m -(v)m(e)h(the)f(data.)390 3030 y Ff(cert\014le)5 b FB(:)42 -b(the)30 b(\014le)h(that)g(con)m(tains)g(the)g(public)f(k)m(ey)-8 -b(.)390 3168 y Ff(k)m(ey\014le)5 b FB(:)42 b(the)30 b(\014le)h(that)g -(con)m(tains)g(the)g(secret)g(k)m(ey)-8 b(.)390 3307 -y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eys)390 -3446 y(This)j(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s(enPGP)e(k)m -(eys)j(in)m(to)g(the)f(Gn)m(uTLS)e(creden)m(tials)j(structure.)390 -3555 y(The)30 b(\014les)g(should)g(only)g(con)m(tain)i(one)e(k)m(ey)i -(whic)m(h)e(is)g(not)h(encrypted.)390 3694 y Fn(Returns:)36 -b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 +5340 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eys)p +eop end +%%Page: 228 234 +TeXDict begin 228 233 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(228)390 299 y(This)33 +b(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s(enPGP)e(k)m(eys)j(in)m(to)g +(the)f(Gn)m(uTLS)e(creden)m(tials)j(structure.)390 408 +y(The)30 b(\014les)g(should)g(only)g(con)m(tain)i(one)e(k)m(ey)i(whic)m +(h)e(is)g(not)h(encrypted.)390 561 y(The)25 b(sp)s(ecial)h(k)m(eyw)m +(ord)g Ft(")p FB(auto)p Ft(")g FB(is)f(also)i(accepted)g(as)e(&subk)m +(ey)p 2602 561 28 4 v 40 w(id.)39 b(In)24 b(that)j(case)f(the)g +Ft(gnutls_)390 670 y(openpgp_crt_get_auth_sub)o(key\()o(\))e +FB(will)31 b(b)s(e)f(used)f(to)j(retriev)m(e)f(the)g(subk)m(ey)-8 +b(.)390 822 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)390 974 y Fn(Since:)41 +b FB(2.4.0)150 1191 y Fv(gn)m(utls)p 483 1191 37 5 v +55 w(certi\014cate)p 1068 1191 V 52 w(set)p 1272 1191 +V 54 w(op)s(enpgp)p 1779 1191 V 56 w(k)m(ey)p 2018 1191 +V 53 w(mem)3350 1405 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_mem)565 +1515 y Fg(\()p Ff(gn)m(utls)p 846 1515 28 4 v 41 w(certi\014cate)p +1274 1515 V 42 w(creden)m(tials)p 1737 1515 V 41 w(t)31 +b Fe(res)p Ff(,)h(const)e(gn)m(utls)p 2534 1515 V 41 +w(datum)p 2833 1515 V 39 w(t)h(*)g Fe(icert)p Ff(,)h(const)565 +1625 y(gn)m(utls)p 811 1625 V 41 w(datum)p 1110 1625 +V 39 w(t)f(*)g Fe(ikey)p Ff(,)g(gn)m(utls)p 1795 1625 +V 41 w(op)s(enpgp)p 2173 1625 V 39 w(crt)p 2323 1625 +V 40 w(fm)m(t)p 2499 1625 V 40 w(t)g Fe(format)12 b Fg(\))390 +1734 y Ff(res)t FB(:)40 b(the)31 b(destination)g(con)m(text)h(to)f(sa)m +(v)m(e)h(the)f(data.)390 1886 y Ff(format)r FB(:)41 b(the)31 +b(format)f(of)h(the)f(k)m(eys)390 2038 y(This)36 b(fun)m(tion)g(is)h +(used)f(to)i(load)f(Op)s(enPGP)e(k)m(eys)j(in)m(to)f(the)g(Gn)m(uTLS)f +(creden)m(tial)i(structure.)390 2148 y(The)30 b(\014les)g(should)g(con) +m(tain)h(non)f(encrypted)g(k)m(eys.)390 2300 y Fn(Returns:)36 +b FB(On)20 b(success,)j Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)150 3897 y Fu(gn)m(utls)p 483 3897 37 5 v 55 -w(certi\014cate)p 1068 3897 V 52 w(set)p 1272 3897 V -54 w(op)s(enpgp)p 1779 3897 V 56 w(k)m(ey)p 2018 3897 -V 53 w(mem2)3350 4098 y FB([F)d(unction])-3599 b Fh(int)53 -b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_mem)q(2)565 -4208 y Fg(\()p Ff(gn)m(utls)p 846 4208 28 4 v 41 w(certi\014cate)p -1274 4208 V 42 w(creden)m(tials)p 1737 4208 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p 2546 4208 -V 40 w(datum)p 2844 4208 V 40 w(t)g(*)f Fe(cert)12 b -Ff(,)32 b(const)565 4318 y(gn)m(utls)p 811 4318 V 41 -w(datum)p 1110 4318 V 39 w(t)f(*)g Fe(key)12 b Ff(,)31 -b(const)f(c)m(har)h(*)g Fe(subkey_id)12 b Ff(,)33 b(gn)m(utls)p -2806 4318 V 40 w(op)s(enpgp)p 3183 4318 V 39 w(crt)p -3333 4318 V 40 w(fm)m(t)p 3509 4318 V 41 w(t)565 4427 -y Fe(format)12 b Fg(\))390 4537 y Ff(res)t FB(:)40 b(the)31 -b(destination)g(con)m(text)h(to)f(sa)m(v)m(e)h(the)f(data.)390 -4676 y Ff(cert)r FB(:)41 b(the)31 b(datum)f(that)h(con)m(tains)g(the)g -(public)f(k)m(ey)-8 b(.)390 4814 y Ff(k)m(ey)8 b FB(:)41 -b(the)31 b(datum)f(that)h(con)m(tains)g(the)g(secret)g(k)m(ey)-8 -b(.)390 4953 y Ff(subk)m(ey)p 667 4953 V 40 w(id)t FB(:)40 -b(a)30 b(hex)h(enco)s(ded)f(subk)m(ey)g(id)390 5092 y -Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eys)390 -5230 y(This)j(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s(enPGP)e(k)m -(eys)j(in)m(to)g(the)f(Gn)m(uTLS)e(creden)m(tials)j(structure.)390 -5340 y(The)30 b(\014les)g(should)g(only)g(con)m(tain)i(one)e(k)m(ey)i -(whic)m(h)e(is)g(not)h(encrypted.)p eop end -%%Page: 244 250 -TeXDict begin 244 249 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(244)390 299 y(The)27 -b(sp)s(ecial)i(k)m(eyw)m(ord)f Fs(")p FB(auto)p Fs(")g -FB(is)g(also)g(accepted)h(as)f Fs(subkey_id)p FB(.)38 -b(In)27 b(that)h(case)h(the)f Fs(gnutls_)390 408 y -(openpgp_crt_get_auth_sub)o(key\()o(\))c FB(will)31 b(b)s(e)f(used)f -(to)j(retriev)m(e)f(the)g(subk)m(ey)-8 b(.)390 545 y -Fn(Returns:)36 b FB(On)20 b(success,)j Fs(GNUTLS_E_SUCCESS)16 -b FB(is)21 b(returned,)h(otherwise)f(a)h(negativ)m(e)h(error)d(v)-5 -b(alue.)390 681 y Fn(Since:)41 b FB(2.4.0)150 882 y Fu(gn)m(utls)p -483 882 37 5 v 55 w(certi\014cate)p 1068 882 V 52 w(set)p -1272 882 V 54 w(op)s(enpgp)p 1779 882 V 56 w(k)m(ey)p -2018 882 V 53 w(mem)3350 1081 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(_mem)565 -1190 y Fg(\()p Ff(gn)m(utls)p 846 1190 28 4 v 41 w(certi\014cate)p -1274 1190 V 42 w(creden)m(tials)p 1737 1190 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(const)g(gn)m(utls)p 2546 1190 -V 40 w(datum)p 2844 1190 V 40 w(t)g(*)f Fe(cert)12 b -Ff(,)32 b(const)565 1300 y(gn)m(utls)p 811 1300 V 41 -w(datum)p 1110 1300 V 39 w(t)f(*)g Fe(key)12 b Ff(,)31 -b(gn)m(utls)p 1755 1300 V 40 w(op)s(enpgp)p 2132 1300 -V 39 w(crt)p 2282 1300 V 40 w(fm)m(t)p 2458 1300 V 41 -w(t)f Fe(format)12 b Fg(\))390 1409 y Ff(res)t FB(:)40 -b(the)31 b(destination)g(con)m(text)h(to)f(sa)m(v)m(e)h(the)f(data.)390 -1546 y Ff(cert)r FB(:)41 b(the)31 b(datum)f(that)h(con)m(tains)g(the)g -(public)f(k)m(ey)-8 b(.)390 1682 y Ff(k)m(ey)8 b FB(:)41 -b(the)31 b(datum)f(that)h(con)m(tains)g(the)g(secret)g(k)m(ey)-8 -b(.)390 1818 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m -(eys)390 1955 y(This)36 b(fun)m(tion)g(is)h(used)f(to)i(load)f(Op)s -(enPGP)e(k)m(eys)j(in)m(to)f(the)g(Gn)m(uTLS)f(creden)m(tial)i -(structure.)390 2064 y(The)30 b(\014les)g(should)g(con)m(tain)h(non)f -(encrypted)g(k)m(eys.)390 2201 y Fn(Returns:)36 b FB(On)20 -b(success,)j Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise) -f(a)h(negativ)m(e)h(error)d(v)-5 b(alue.)150 2402 y Fu(gn)m(utls)p -483 2402 37 5 v 55 w(certi\014cate)p 1068 2402 V 52 w(set)p -1272 2402 V 54 w(op)s(enpgp)p 1779 2402 V 56 w(k)m(eyring)p -2231 2402 V 54 w(\014le)3350 2600 y FB([F)d(unction])-3599 +b(alue.)150 2517 y Fv(gn)m(utls)p 483 2517 37 5 v 55 +w(certi\014cate)p 1068 2517 V 52 w(set)p 1272 2517 V +54 w(op)s(enpgp)p 1779 2517 V 56 w(k)m(eyring)p 2231 +2517 V 54 w(\014le)3350 2731 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(ring)q -(_fi)q(le)565 2710 y Fg(\()p Ff(gn)m(utls)p 846 2710 -28 4 v 41 w(certi\014cate)p 1274 2710 V 42 w(creden)m(tials)p -1737 2710 V 41 w(t)31 b Fe(c)12 b Ff(,)31 b(const)f(c)m(har)h(*)g -Fe(file)12 b Ff(,)565 2819 y(gn)m(utls)p 811 2819 V 41 -w(op)s(enpgp)p 1189 2819 V 38 w(crt)p 1338 2819 V 41 -w(fm)m(t)p 1515 2819 V 40 w(t)31 b Fe(format)12 b Fg(\))390 -2929 y Ff(c)6 b FB(:)41 b(A)30 b(certi\014cate)j(creden)m(tials)e -(structure)390 3065 y Ff(\014le)5 b FB(:)41 b(\014lename)30 -b(of)h(the)g(k)m(eyring.)390 3201 y Ff(format)r FB(:)41 -b(format)31 b(of)f(k)m(eyring.)390 3338 y(The)c(function)h(is)g(used)f -(to)i(set)f(k)m(eyrings)h(that)f(will)g(b)s(e)g(used)f(in)m(ternally)i -(b)m(y)e(v)-5 b(arious)27 b(Op)s(enPGP)390 3447 y(functions.)39 -b(F)-8 b(or)26 b(example)h(to)f(\014nd)e(a)j(k)m(ey)f(when)f(it)h(is)g -(needed)f(for)h(an)g(op)s(erations.)39 b(The)25 b(k)m(eyring)390 -3557 y(will)31 b(also)g(b)s(e)f(used)f(at)i(the)g(v)m(eri\014cation)h -(functions.)390 3693 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 3894 y Fu(gn)m(utls)p -483 3894 37 5 v 55 w(certi\014cate)p 1068 3894 V 52 w(set)p -1272 3894 V 54 w(op)s(enpgp)p 1779 3894 V 56 w(k)m(eyring)p -2231 3894 V 54 w(mem)3350 4093 y FB([F)d(unction])-3599 +(_fi)q(le)565 2841 y Fg(\()p Ff(gn)m(utls)p 846 2841 +28 4 v 41 w(certi\014cate)p 1274 2841 V 42 w(creden)m(tials)p +1737 2841 V 41 w(t)31 b Fe(c)p Ff(,)g(const)g(c)m(har)g(*)f +Fe(file)p Ff(,)i(gn)m(utls)p 2970 2841 V 41 w(op)s(enpgp)p +3348 2841 V 38 w(crt)p 3497 2841 V 41 w(fm)m(t)p 3674 +2841 V 40 w(t)565 2950 y Fe(format)12 b Fg(\))390 3060 +y Ff(c)6 b FB(:)41 b(A)30 b(certi\014cate)j(creden)m(tials)e(structure) +390 3212 y Ff(\014le)5 b FB(:)41 b(\014lename)30 b(of)h(the)g(k)m +(eyring.)390 3364 y(The)26 b(function)h(is)g(used)f(to)i(set)f(k)m +(eyrings)h(that)f(will)g(b)s(e)g(used)f(in)m(ternally)i(b)m(y)e(v)-5 +b(arious)27 b(Op)s(enPGP)390 3473 y(functions.)39 b(F)-8 +b(or)26 b(example)h(to)f(\014nd)e(a)j(k)m(ey)f(when)f(it)h(is)g(needed) +f(for)h(an)g(op)s(erations.)39 b(The)25 b(k)m(eyring)390 +3583 y(will)31 b(also)g(b)s(e)f(used)f(at)i(the)g(v)m(eri\014cation)h +(functions.)390 3735 y Fn(Returns:)k FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 3952 y Fv(gn)m(utls)p +483 3952 37 5 v 55 w(certi\014cate)p 1068 3952 V 52 w(set)p +1272 3952 V 54 w(op)s(enpgp)p 1779 3952 V 56 w(k)m(eyring)p +2231 3952 V 54 w(mem)3350 4166 y FB([F)d(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)q(ring)q -(_me)q(m)565 4202 y Fg(\()p Ff(gn)m(utls)p 846 4202 28 -4 v 41 w(certi\014cate)p 1274 4202 V 42 w(creden)m(tials)p -1737 4202 V 41 w(t)31 b Fe(c)12 b Ff(,)31 b(const)f(opaque)h(*)g -Fe(data)12 b Ff(,)31 b(size)p 3005 4202 V 41 w(t)g Fe(dlen)12 -b Ff(,)565 4312 y(gn)m(utls)p 811 4312 V 41 w(op)s(enpgp)p -1189 4312 V 38 w(crt)p 1338 4312 V 41 w(fm)m(t)p 1515 -4312 V 40 w(t)31 b Fe(format)12 b Fg(\))390 4422 y Ff(c)6 +(_me)q(m)565 4276 y Fg(\()p Ff(gn)m(utls)p 846 4276 28 +4 v 41 w(certi\014cate)p 1274 4276 V 42 w(creden)m(tials)p +1737 4276 V 41 w(t)31 b Fe(c)p Ff(,)g(const)g(opaque)f(*)h +Fe(data)p Ff(,)h(size)p 2982 4276 V 41 w(t)f Fe(dlen)p +Ff(,)565 4385 y(gn)m(utls)p 811 4385 V 41 w(op)s(enpgp)p +1189 4385 V 38 w(crt)p 1338 4385 V 41 w(fm)m(t)p 1515 +4385 V 40 w(t)g Fe(format)12 b Fg(\))390 4495 y Ff(c)6 b FB(:)41 b(A)30 b(certi\014cate)j(creden)m(tials)e(structure)390 -4558 y Ff(data)p FB(:)41 b(bu\013er)30 b(with)g(k)m(eyring)h(data.)390 -4694 y Ff(dlen)p FB(:)40 b(length)31 b(of)g(data)g(bu\013er.)390 -4831 y Ff(format)r FB(:)41 b(the)31 b(format)f(of)h(the)f(k)m(eyring) -390 4967 y(The)c(function)h(is)g(used)f(to)i(set)f(k)m(eyrings)h(that)f +4647 y Ff(data)p FB(:)41 b(bu\013er)30 b(with)g(k)m(eyring)h(data.)390 +4799 y Ff(dlen)p FB(:)40 b(length)31 b(of)g(data)g(bu\013er.)390 +4951 y(The)26 b(function)h(is)g(used)f(to)i(set)f(k)m(eyrings)h(that)f (will)g(b)s(e)g(used)f(in)m(ternally)i(b)m(y)e(v)-5 b(arious)27 -b(Op)s(enPGP)390 5076 y(functions.)39 b(F)-8 b(or)26 +b(Op)s(enPGP)390 5061 y(functions.)39 b(F)-8 b(or)26 b(example)h(to)f(\014nd)e(a)j(k)m(ey)f(when)f(it)h(is)g(needed)f(for)h -(an)g(op)s(erations.)39 b(The)25 b(k)m(eyring)390 5186 +(an)g(op)s(erations.)39 b(The)25 b(k)m(eyring)390 5170 y(will)31 b(also)g(b)s(e)f(used)f(at)i(the)g(v)m(eri\014cation)h (functions.)390 5322 y Fn(Returns:)k FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h (negativ)m(e)h(error)d(v)-5 b(alue.)p eop end -%%Page: 245 251 -TeXDict begin 245 250 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(245)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 +%%Page: 229 235 +TeXDict begin 229 234 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(229)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(certi\014cate)p 1068 299 V 52 w(set)p 1272 299 V 54 w(op)s(enpgp)p 1779 299 -V 56 w(k)m(ey)3350 497 y FB([F)-8 b(unction])-3599 b +V 56 w(k)m(ey)3350 510 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_certificate_se)q(t_op)q(enp)q(gp_)q(key)565 -607 y Fg(\()p Ff(gn)m(utls)p 846 607 28 4 v 41 w(certi\014cate)p -1274 607 V 42 w(creden)m(tials)p 1737 607 V 41 w(t)31 -b Fe(res)12 b Ff(,)31 b(gn)m(utls)p 2308 607 V 41 w(op)s(enpgp)p -2686 607 V 38 w(crt)p 2835 607 V 41 w(t)f Fe(crt)12 b -Ff(,)565 716 y(gn)m(utls)p 811 716 V 41 w(op)s(enpgp)p -1189 716 V 38 w(privk)m(ey)p 1520 716 V 41 w(t)30 b Fe(pkey)12 -b Fg(\))390 826 y Ff(res)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_certificate_credent)o(ials)o(_t)24 b FB(structure.)390 -962 y Ff(pk)m(ey)8 b FB(:)41 b(is)30 b(an)g(op)s(enpgp)g(priv)-5 -b(ate)30 b(k)m(ey)390 1097 y(This)d(function)h(sets)h(a)g +620 y Fg(\()p Ff(gn)m(utls)p 846 620 28 4 v 41 w(certi\014cate)p +1274 620 V 42 w(creden)m(tials)p 1737 620 V 41 w(t)31 +b Fe(res)p Ff(,)h(gn)m(utls)p 2297 620 V 40 w(op)s(enpgp)p +2674 620 V 39 w(crt)p 2824 620 V 40 w(t)f Fe(crt)p Ff(,)565 +729 y(gn)m(utls)p 811 729 V 41 w(op)s(enpgp)p 1189 729 +V 38 w(privk)m(ey)p 1520 729 V 41 w(t)f Fe(pkey)12 b +Fg(\))390 839 y Ff(res)t FB(:)40 b(is)31 b(an)f Ft +(gnutls_certificate_crede)o(ntia)o(ls_)o(t)25 b FB(structure.)390 +987 y Ff(pk)m(ey)8 b FB(:)41 b(is)30 b(an)g(op)s(enpgp)g(priv)-5 +b(ate)30 b(k)m(ey)390 1136 y(This)d(function)h(sets)h(a)g (certi\014cate/priv)-5 b(ate)31 b(k)m(ey)e(pair)f(in)g(the)h(gn)m(utls) -p 2789 1097 V 40 w(certi\014cate)p 3216 1097 V 42 w(creden)m(tials)p -3679 1097 V 42 w(t)390 1207 y(structure.)153 b(This)67 +p 2789 1136 V 40 w(certi\014cate)p 3216 1136 V 42 w(creden)m(tials)p +3679 1136 V 42 w(t)390 1246 y(structure.)153 b(This)67 b(function)g(ma)m(y)h(b)s(e)g(called)h(more)f(than)f(once)i(\(in)e -(case)i(m)m(ultiple)390 1317 y(k)m(eys/certi\014cates)33 -b(exist)f(for)e(the)g(serv)m(er\).)390 1453 y(With)h(this)f(function)g -(the)h(subk)m(eys)f(of)g(the)h(certi\014cate)h(are)f(not)g(used.)390 -1588 y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 1698 y(is)f(returned.)150 1899 y Fu(gn)m(utls)p 483 -1899 37 5 v 55 w(op)s(enpgp)p 991 1899 V 55 w(crt)p 1199 -1899 V 54 w(c)m(hec)m(k)p 1546 1899 V 52 w(hostname)3350 -2097 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ch)q -(eck_)q(hos)q(tna)q(me)f Fg(\()p Ff(gn)m(utls)p 2412 -2097 28 4 v 40 w(op)s(enpgp)p 2789 2097 V 39 w(crt)p -2939 2097 V 41 w(t)565 2206 y Fe(key)12 b Ff(,)31 b(const)g(c)m(har)g -(*)f Fe(hostname)12 b Fg(\))390 2316 y Ff(k)m(ey)c FB(:)41 -b(should)30 b(con)m(tain)h(a)g Fs(gnutls_openpgp_crt_t)25 -b FB(structure)390 2452 y Ff(hostname)5 b FB(:)41 b(A)31 -b(n)m(ull)f(terminated)h(string)f(that)h(con)m(tains)h(a)e(DNS)h(name) -390 2588 y(This)i(function)g(will)g(c)m(hec)m(k)i(if)e(the)h(giv)m(en)g -(k)m(ey's)g(o)m(wner)g(matc)m(hes)g(the)g(giv)m(en)g(hostname.)50 -b(This)390 2697 y(is)38 b(a)g(basic)g(implemen)m(tation)i(of)e(the)g -(matc)m(hing)h(describ)s(ed)d(in)i(RF)m(C2818)i(\(HTTPS\),)d(whic)m(h) -390 2807 y(tak)m(es)32 b(in)m(to)f(accoun)m(t)h(wildcards.)390 -2943 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 3143 y Fu(gn)m(utls)p -483 3143 37 5 v 55 w(op)s(enpgp)p 991 3143 V 55 w(crt)p -1199 3143 V 54 w(deinit)3350 3341 y FB([F)-8 b(unction])-3599 +(case)i(m)m(ultiple)390 1355 y(k)m(eys/certi\014cates)33 +b(exist)f(for)e(the)g(serv)m(er\).)390 1504 y(With)h(this)f(function)g +(the)h(subk)m(eys)f(of)g(the)h(certi\014cate)h(are)f(not)g(used.)150 +1718 y Fv(gn)m(utls)p 483 1718 37 5 v 55 w(op)s(enpgp)p +991 1718 V 55 w(crt)p 1199 1718 V 54 w(c)m(hec)m(k)p +1546 1718 V 52 w(hostname)3350 1929 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_crt_ch)q(eck_)q(hos)q(tna)q(me)f +Fg(\()p Ff(gn)m(utls)p 2412 1929 28 4 v 40 w(op)s(enpgp)p +2789 1929 V 39 w(crt)p 2939 1929 V 41 w(t)565 2038 y +Fe(key)p Ff(,)32 b(const)e(c)m(har)h(*)g Fe(hostname)12 +b Fg(\))390 2148 y Ff(k)m(ey)c FB(:)41 b(should)30 b(con)m(tain)h(an)g +Ft(gnutls_openpgp_crt_t)24 b FB(structure)390 2297 y +Ff(hostname)5 b FB(:)41 b(A)31 b(n)m(ull)f(terminated)h(string)f(that)h +(con)m(tains)h(a)e(DNS)h(name)390 2445 y(This)i(function)g(will)g(c)m +(hec)m(k)i(if)e(the)h(giv)m(en)g(k)m(ey's)g(o)m(wner)g(matc)m(hes)g +(the)g(giv)m(en)g(hostname.)50 b(This)390 2555 y(is)38 +b(a)g(basic)g(implemen)m(tation)i(of)e(the)g(matc)m(hing)h(describ)s +(ed)d(in)i(RF)m(C2818)i(\(HTTPS\),)d(whic)m(h)390 2665 +y(tak)m(es)32 b(in)m(to)f(accoun)m(t)h(wildcards.)390 +2813 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 3027 y Fv(gn)m(utls)p +483 3027 37 5 v 55 w(op)s(enpgp)p 991 3027 V 55 w(crt)p +1199 3027 V 54 w(deinit)3350 3238 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_openpgp_crt_deini)q(t)e Fg(\()p -Ff(gn)m(utls)p 2046 3341 28 4 v 40 w(op)s(enpgp)p 2423 -3341 V 39 w(crt)p 2573 3341 V 41 w(t)30 b Fe(key)12 b -Fg(\))390 3451 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) -f(initialized)390 3587 y(This)g(function)g(will)g(deinitialize)j(a)e(k) -m(ey)g(structure.)150 3787 y Fu(gn)m(utls)p 483 3787 -37 5 v 55 w(op)s(enpgp)p 991 3787 V 55 w(crt)p 1199 3787 -V 54 w(exp)s(ort)3350 3985 y FB([F)-8 b(unction])-3599 +Ff(gn)m(utls)p 2046 3238 28 4 v 40 w(op)s(enpgp)p 2423 +3238 V 39 w(crt)p 2573 3238 V 41 w(t)30 b Fe(key)12 b +Fg(\))390 3348 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) +f(initialized)390 3496 y(This)g(function)g(will)g(deinitialize)j(a)e(k) +m(ey)g(structure.)150 3710 y Fv(gn)m(utls)p 483 3710 +37 5 v 55 w(op)s(enpgp)p 991 3710 V 55 w(crt)p 1199 3710 +V 54 w(exp)s(ort)3350 3921 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ex)q(port)f Fg(\()p -Ff(gn)m(utls)p 1993 3985 28 4 v 41 w(op)s(enpgp)p 2371 -3985 V 39 w(crt)p 2521 3985 V 40 w(t)31 b Fe(key)12 b -Ff(,)565 4095 y(gn)m(utls)p 811 4095 V 41 w(op)s(enpgp)p -1189 4095 V 38 w(crt)p 1338 4095 V 41 w(fm)m(t)p 1515 -4095 V 40 w(t)31 b Fe(format)12 b Ff(,)32 b(v)m(oid)f(*)f -Fe(output_data)12 b Ff(,)34 b(size)p 3058 4095 V 41 w(t)c(*)565 -4205 y Fe(output_data_size)12 b Fg(\))390 4314 y Ff(k)m(ey)c -FB(:)41 b(Holds)31 b(the)f(k)m(ey)-8 b(.)390 4450 y Ff(format)r -FB(:)41 b(One)30 b(of)g(gn)m(utls)p 1264 4450 V 41 w(op)s(enpgp)p -1642 4450 V 39 w(crt)p 1792 4450 V 40 w(fm)m(t)p 1968 -4450 V 40 w(t)h(elemen)m(ts.)390 4586 y Ff(output)p 664 -4586 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(the)e(k)m(ey)h -(base64)h(enco)s(ded)e(or)g(ra)m(w)390 4722 y Ff(output)p -664 4722 V 40 w(data)p 880 4722 V 40 w(size)5 b FB(:)49 -b(holds)34 b(the)g(size)h(of)f(output)p 2093 4722 V 39 -w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i(actual)390 -4831 y(size)c(of)g(parameters\))390 4967 y(This)c(function)h(will)g -(con)m(v)m(ert)i(the)e(giv)m(en)h(k)m(ey)g(to)g(RA)-10 -b(W)28 b(or)g(Base64)i(format.)40 b(If)28 b(the)g(bu\013er)f(pro-)390 -5077 y(vided)k(is)h(not)h(long)f(enough)g(to)g(hold)g(the)g(output,)g -(then)g Fs(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o(R)390 5186 -y FB(will)f(b)s(e)e(returned.)390 5322 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)p eop end -%%Page: 246 252 -TeXDict begin 246 251 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(246)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +Ff(gn)m(utls)p 1993 3921 28 4 v 41 w(op)s(enpgp)p 2371 +3921 V 39 w(crt)p 2521 3921 V 40 w(t)31 b Fe(key)p Ff(,)565 +4030 y(gn)m(utls)p 811 4030 V 41 w(op)s(enpgp)p 1189 +4030 V 38 w(crt)p 1338 4030 V 41 w(fm)m(t)p 1515 4030 +V 40 w(t)g Fe(format)p Ff(,)h(v)m(oid)f(*)g Fe(output_data)p +Ff(,)j(size)p 3035 4030 V 41 w(t)c(*)565 4140 y Fe(output_data_size)12 +b Fg(\))390 4250 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)-8 +b(.)390 4398 y Ff(format)r FB(:)41 b(One)30 b(of)g(gn)m(utls)p +1264 4398 V 41 w(op)s(enpgp)p 1642 4398 V 39 w(crt)p +1792 4398 V 40 w(fm)m(t)p 1968 4398 V 40 w(t)h(elemen)m(ts.)390 +4547 y Ff(output)p 664 4547 V 40 w(data)p FB(:)41 b(will)31 +b(con)m(tain)h(the)e(k)m(ey)h(base64)h(enco)s(ded)e(or)g(ra)m(w)390 +4696 y Ff(output)p 664 4696 V 40 w(data)p 880 4696 V +40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p +2093 4696 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 4806 y(size)c(of)g(parameters\))390 4954 +y(This)c(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(k)m(ey)g +(to)g(RA)-10 b(W)28 b(or)g(Base64)i(format.)40 b(If)28 +b(the)g(bu\013er)f(pro-)390 5064 y(vided)k(is)h(not)h(long)f(enough)g +(to)g(hold)g(the)g(output,)g(then)g Ft(GNUTLS_E_SHORT_MEMORY_B)o(UFFE)o +(R)390 5174 y FB(will)f(b)s(e)e(returned.)390 5322 y +Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h +(an)f(error)g(co)s(de.)p eop end +%%Page: 230 236 +TeXDict begin 230 235 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(230)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(auth)p -1716 299 V 54 w(subk)m(ey)3350 521 y FB([F)-8 b(unction])-3599 +1716 299 V 54 w(subk)m(ey)3350 485 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_au)q(th_)q(sub)q(key)f -Fg(\()p Ff(gn)m(utls)p 2464 521 28 4 v 41 w(op)s(enpgp)p -2842 521 V 39 w(crt)p 2992 521 V 40 w(t)565 631 y Fe(crt)12 -b Ff(,)31 b(gn)m(utls)p 1035 631 V 41 w(op)s(enpgp)p -1413 631 V 38 w(k)m(eyid)p 1660 631 V 41 w(t)g Fe(keyid)12 -b Ff(,)31 b(unsigned)f(in)m(t)g Fe(flag)12 b Fg(\))390 -741 y Ff(crt)r FB(:)41 b(the)31 b(structure)e(that)i(con)m(tains)h(the) -f(Op)s(enPGP)e(public)g(k)m(ey)-8 b(.)390 901 y Ff(k)m(eyid)t -FB(:)41 b(the)30 b(struct)h(to)g(sa)m(v)m(e)h(the)e(k)m(eyid.)390 -1061 y Ff(\015ag)8 b FB(:)41 b(Non)30 b(zero)h(indicates)h(that)f(a)f -(v)-5 b(alid)31 b(subk)m(ey)f(is)h(alw)m(a)m(ys)h(returned.)390 -1222 y(Returns)e(the)i(64-bit)g(k)m(eyID)h(of)e(the)h(\014rst)e(v)-5 +Fg(\()p Ff(gn)m(utls)p 2464 485 28 4 v 41 w(op)s(enpgp)p +2842 485 V 39 w(crt)p 2992 485 V 40 w(t)565 594 y Fe(crt)p +Ff(,)32 b(gn)m(utls)p 1024 594 V 40 w(op)s(enpgp)p 1401 +594 V 39 w(k)m(eyid)p 1649 594 V 40 w(t)f Fe(keyid)p +Ff(,)h(unsigned)d(in)m(t)i Fe(flag)12 b Fg(\))390 704 +y Ff(k)m(eyid)t FB(:)41 b(the)30 b(struct)h(to)g(sa)m(v)m(e)h(the)e(k)m +(eyid.)390 833 y Ff(\015ag)8 b FB(:)41 b(Non)30 b(zero)h(indicates)h +(that)f(a)f(v)-5 b(alid)31 b(subk)m(ey)f(is)h(alw)m(a)m(ys)h(returned.) +390 962 y(Returns)e(the)i(64-bit)g(k)m(eyID)h(of)e(the)h(\014rst)e(v)-5 b(alid)32 b(Op)s(enPGP)e(subk)m(ey)h(mark)m(ed)g(for)g(authen)m(tica-) -390 1331 y(tion.)41 b(If)29 b(\015ag)h(is)f(non)g(zero)h(and)f(no)g +390 1071 y(tion.)41 b(If)29 b(\015ag)h(is)f(non)g(zero)h(and)f(no)g (authen)m(tication)j(subk)m(ey)d(exists,)h(then)f(a)h(v)-5 -b(alid)30 b(subk)m(ey)f(will)390 1441 y(b)s(e)i(returned)g(ev)m(en)i -(if)f(it)h(is)f(not)g(mark)m(ed)g(for)g(authen)m(tication.)48 -b(Returns)31 b(the)h(64-bit)i(k)m(eyID)f(of)390 1550 -y(the)j(\014rst)f(v)-5 b(alid)37 b(Op)s(enPGP)d(subk)m(ey)i(mark)m(ed)g -(for)g(authen)m(tication.)60 b(If)35 b(\015ag)h(is)g(non)g(zero)h(and) -390 1660 y(no)29 b(authen)m(tication)i(subk)m(ey)e(exists,)h(then)f(a)g -(v)-5 b(alid)30 b(subk)m(ey)e(will)i(b)s(e)e(returned)g(ev)m(en)i(if)f -(it)h(is)f(not)390 1769 y(mark)m(ed)h(for)h(authen)m(tication.)390 -1930 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 2155 y Fu(gn)m(utls)p -483 2155 37 5 v 55 w(op)s(enpgp)p 991 2155 V 55 w(crt)p -1199 2155 V 54 w(get)p 1418 2155 V 54 w(creation)p 1904 -2155 V 54 w(time)3350 2377 y FB([F)-8 b(unction])-3599 +b(alid)30 b(subk)m(ey)f(will)390 1181 y(b)s(e)h(returned)f(ev)m(en)i +(if)f(it)h(is)g(not)f(mark)m(ed)h(for)f(authen)m(tication.)390 +1310 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1498 y Fv(gn)m(utls)p +483 1498 37 5 v 55 w(op)s(enpgp)p 991 1498 V 55 w(crt)p +1199 1498 V 54 w(get)p 1418 1498 V 54 w(creation)p 1904 +1498 V 54 w(time)3350 1684 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_openpgp_crt_get)q(_cr)q(eat)q(ion)q(_tim)q(e) -565 2487 y Fg(\()p Ff(gn)m(utls)p 846 2487 28 4 v 41 -w(op)s(enpgp)p 1224 2487 V 39 w(crt)p 1374 2487 V 40 -w(t)31 b Fe(key)12 b Fg(\))390 2597 y Ff(k)m(ey)c FB(:)41 +565 1794 y Fg(\()p Ff(gn)m(utls)p 846 1794 28 4 v 41 +w(op)s(enpgp)p 1224 1794 V 39 w(crt)p 1374 1794 V 40 +w(t)31 b Fe(key)12 b Fg(\))390 1903 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(public)h -(k)m(ey)-8 b(.)390 2757 y(Get)31 b(k)m(ey)h(creation)f(time.)390 -2917 y Fn(Returns:)40 b FB(the)31 b(timestamp)g(when)e(the)i(Op)s -(enPGP)e(k)m(ey)i(w)m(as)g(created.)150 3142 y Fu(gn)m(utls)p -483 3142 37 5 v 55 w(op)s(enpgp)p 991 3142 V 55 w(crt)p -1199 3142 V 54 w(get)p 1418 3142 V 54 w(expiration)p -2016 3142 V 54 w(time)3350 3365 y FB([F)-8 b(unction])-3599 +(k)m(ey)-8 b(.)390 2032 y(Get)31 b(k)m(ey)h(creation)f(time.)390 +2161 y Fn(Returns:)40 b FB(the)31 b(timestamp)g(when)e(the)i(Op)s +(enPGP)e(k)m(ey)i(w)m(as)g(created.)150 2349 y Fv(gn)m(utls)p +483 2349 37 5 v 55 w(op)s(enpgp)p 991 2349 V 55 w(crt)p +1199 2349 V 54 w(get)p 1418 2349 V 54 w(expiration)p +2016 2349 V 54 w(time)3350 2535 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_openpgp_crt_get)q(_ex)q(pir)q(ati)q(on_t)q(ime) -565 3474 y Fg(\()p Ff(gn)m(utls)p 846 3474 28 4 v 41 -w(op)s(enpgp)p 1224 3474 V 39 w(crt)p 1374 3474 V 40 -w(t)31 b Fe(key)12 b Fg(\))390 3584 y Ff(k)m(ey)c FB(:)41 +565 2645 y Fg(\()p Ff(gn)m(utls)p 846 2645 28 4 v 41 +w(op)s(enpgp)p 1224 2645 V 39 w(crt)p 1374 2645 V 40 +w(t)31 b Fe(key)12 b Fg(\))390 2754 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(public)h -(k)m(ey)-8 b(.)390 3744 y(Get)31 b(k)m(ey)h(expiration)f(time.)41 +(k)m(ey)-8 b(.)390 2883 y(Get)31 b(k)m(ey)h(expiration)f(time.)41 b(A)31 b(v)-5 b(alue)30 b(of)h('0')g(means)f(that)h(the)g(k)m(ey)g(do)s -(esn't)f(expire)h(at)g(all.)390 3905 y Fn(Returns:)40 +(esn't)f(expire)h(at)g(all.)390 3012 y Fn(Returns:)40 b FB(the)31 b(time)g(when)e(the)i(Op)s(enPGP)e(k)m(ey)i(expires.)150 -4130 y Fu(gn)m(utls)p 483 4130 37 5 v 55 w(op)s(enpgp)p -991 4130 V 55 w(crt)p 1199 4130 V 54 w(get)p 1418 4130 -V 54 w(\014ngerprin)m(t)3350 4352 y FB([F)-8 b(unction])-3599 +3200 y Fv(gn)m(utls)p 483 3200 37 5 v 55 w(op)s(enpgp)p +991 3200 V 55 w(crt)p 1199 3200 V 54 w(get)p 1418 3200 +V 54 w(\014ngerprin)m(t)3350 3386 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_fi)q(nge)q(rpr)q(int)f -Fg(\()p Ff(gn)m(utls)p 2464 4352 28 4 v 41 w(op)s(enpgp)p -2842 4352 V 39 w(crt)p 2992 4352 V 40 w(t)565 4462 y -Fe(key)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(fpr)12 b Ff(,)31 -b(size)p 1433 4462 V 41 w(t)f(*)h Fe(fprlen)12 b Fg(\))390 -4571 y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that)g(con)m -(tains)h(the)f(Op)s(enPGP)e(public)g(k)m(ey)-8 b(.)390 -4732 y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f +Fg(\()p Ff(gn)m(utls)p 2464 3386 28 4 v 41 w(op)s(enpgp)p +2842 3386 V 39 w(crt)p 2992 3386 V 40 w(t)565 3496 y +Fe(key)p Ff(,)32 b(v)m(oid)f(*)f Fe(fpr)p Ff(,)i(size)p +1410 3496 V 41 w(t)e(*)h Fe(fprlen)12 b Fg(\))390 3605 +y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that)g(con)m(tains)h +(the)f(Op)s(enPGP)e(public)g(k)m(ey)-8 b(.)390 3734 y +Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f (\014ngerprin)m(t,)e(m)m(ust)i(hold)f(at)h(least)g(20)h(b)m(ytes.)390 -4892 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h -(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 5052 +3863 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h +(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 3992 y(Get)41 b(k)m(ey)f(\014ngerprin)m(t.)67 b(Dep)s(ending)39 b(on)g(the)h(algorithm,)j(the)d(\014ngerprin)m(t)f(can)g(b)s(e)g(16)i -(or)e(20)390 5162 y(b)m(ytes.)390 5322 y Fn(Returns:)h +(or)e(20)390 4102 y(b)m(ytes.)390 4231 y Fn(Returns:)h FB(On)30 b(success,)h(0)g(is)f(returned.)39 b(Otherwise,)31 -b(an)f(error)g(co)s(de.)p eop end -%%Page: 247 253 -TeXDict begin 247 252 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(247)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +b(an)f(error)g(co)s(de.)150 4419 y Fv(gn)m(utls)p 483 +4419 37 5 v 55 w(op)s(enpgp)p 991 4419 V 55 w(crt)p 1199 +4419 V 54 w(get)p 1418 4419 V 54 w(k)m(ey)p 1655 4419 +V 53 w(id)3350 4605 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_openpgp_crt_ge)q(t_ke)q(y_i)q(d)e Fg(\()p Ff(gn)m(utls)p +2202 4605 28 4 v 41 w(op)s(enpgp)p 2580 4605 V 39 w(crt)p +2730 4605 V 40 w(t)31 b Fe(key)p Ff(,)565 4714 y(gn)m(utls)p +811 4714 V 41 w(op)s(enpgp)p 1189 4714 V 38 w(k)m(eyid)p +1436 4714 V 41 w(t)g Fe(keyid)12 b Fg(\))390 4824 y Ff(k)m(ey)c +FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e +(public)h(k)m(ey)-8 b(.)390 4953 y Ff(k)m(eyid)t FB(:)41 +b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h(the)e(k)m(eyid.)390 +5082 y(Get)h(k)m(ey)h(id)e(string.)390 5211 y Fn(Returns:)40 +b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g(the)f(Op)s(enPGP)f(k)m(ey)-8 +b(.)390 5340 y Fn(Since:)41 b FB(2.4.0)p eop end +%%Page: 231 237 +TeXDict begin 231 236 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(231)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(k)m(ey)p -1655 299 V 53 w(id)3350 485 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_ke)q(y_i)q(d)e -Fg(\()p Ff(gn)m(utls)p 2202 485 28 4 v 41 w(op)s(enpgp)p -2580 485 V 39 w(crt)p 2730 485 V 40 w(t)31 b Fe(key)12 -b Ff(,)565 595 y(gn)m(utls)p 811 595 V 41 w(op)s(enpgp)p -1189 595 V 38 w(k)m(eyid)p 1436 595 V 41 w(t)31 b Fe(keyid)12 -b Fg(\))390 704 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h -(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 834 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m -(e)h(the)e(k)m(eyid.)390 963 y(Get)h(k)m(ey)h(id)e(string.)390 -1092 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g(the)f(Op)s -(enPGP)f(k)m(ey)-8 b(.)390 1221 y Fn(Since:)41 b FB(2.4.0)150 -1410 y Fu(gn)m(utls)p 483 1410 37 5 v 55 w(op)s(enpgp)p -991 1410 V 55 w(crt)p 1199 1410 V 54 w(get)p 1418 1410 -V 54 w(k)m(ey)p 1655 1410 V 53 w(usage)3350 1596 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_ke)q(y_u)q -(sag)q(e)e Fg(\()p Ff(gn)m(utls)p 2359 1596 28 4 v 41 -w(op)s(enpgp)p 2737 1596 V 39 w(crt)p 2887 1596 V 40 -w(t)31 b Fe(key)12 b Ff(,)565 1706 y(unsigned)29 b(in)m(t)i(*)g -Fe(key_usage)12 b Fg(\))390 1816 y Ff(k)m(ey)c FB(:)41 -b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1528 1816 -V 41 w(op)s(enpgp)p 1906 1816 V 38 w(crt)p 2055 1816 -V 41 w(t)f(structure)390 1945 y Ff(k)m(ey)p 529 1945 -V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g(bits)f -(will)h(b)s(e)f(stored)390 2074 y(This)g(function)h(will)g(return)f -(certi\014cate's)j(k)m(ey)f(usage,)g(b)m(y)f(c)m(hec)m(king)i(the)e(k)m -(ey)h(algorithm.)43 b(The)390 2184 y(k)m(ey)30 b(usage)g(v)-5 -b(alue)29 b(will)h(ORed)f(v)-5 b(alues)29 b(of)h(the:)40 -b Fs(GNUTLS_KEY_DIGITAL_SIGNA)o(TURE)o FB(,)24 b Fs(GNUTLS_)390 -2293 y(KEY_KEY_ENCIPHERMENT)p FB(.)390 2423 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)150 2611 y Fu(gn)m(utls)p 483 2611 37 5 v 55 w(op)s(enpgp)p -991 2611 V 55 w(crt)p 1199 2611 V 54 w(get)p 1418 2611 -V 54 w(name)3350 2798 y FB([F)-8 b(unction])-3599 b Fh(int)53 +1655 299 V 53 w(usage)3350 497 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_ke)q(y_u)q(sag)q(e)e +Fg(\()p Ff(gn)m(utls)p 2359 497 28 4 v 41 w(op)s(enpgp)p +2737 497 V 39 w(crt)p 2887 497 V 40 w(t)31 b Fe(key)p +Ff(,)565 606 y(unsigned)e(in)m(t)i(*)g Fe(key_usage)12 +b Fg(\))390 716 y Ff(k)m(ey)c FB(:)41 b(should)30 b(con)m(tain)h(a)g +(gn)m(utls)p 1528 716 V 41 w(op)s(enpgp)p 1906 716 V +38 w(crt)p 2055 716 V 41 w(t)f(structure)390 851 y Ff(k)m(ey)p +529 851 V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g +(bits)f(will)h(b)s(e)f(stored)390 987 y(This)g(function)h(will)g +(return)f(certi\014cate's)j(k)m(ey)f(usage,)g(b)m(y)f(c)m(hec)m(king)i +(the)e(k)m(ey)h(algorithm.)43 b(The)390 1096 y(k)m(ey)30 +b(usage)g(v)-5 b(alue)29 b(will)h(ORed)f(v)-5 b(alues)29 +b(of)h(the:)40 b Ft(GNUTLS_KEY_DIGITAL_SIGNA)o(TURE)o +FB(,)24 b Ft(GNUTLS_)390 1206 y(KEY_KEY_ENCIPHERMENT)p +FB(.)390 1341 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +1541 y Fv(gn)m(utls)p 483 1541 37 5 v 55 w(op)s(enpgp)p +991 1541 V 55 w(crt)p 1199 1541 V 54 w(get)p 1418 1541 +V 54 w(name)3350 1739 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_na)q(me)f Fg(\()p Ff(gn)m(utls)p -2098 2798 28 4 v 41 w(op)s(enpgp)p 2476 2798 V 38 w(crt)p -2625 2798 V 41 w(t)31 b Fe(key)12 b Ff(,)30 b(in)m(t)565 -2907 y Fe(idx)12 b Ff(,)31 b(c)m(har)g(*)g Fe(buf)12 -b Ff(,)31 b(size)p 1436 2907 V 41 w(t)f(*)h Fe(sizeof_buf)12 -b Fg(\))390 3017 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h -(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 3146 y Ff(idx)6 b FB(:)41 b(the)30 b(index)g(of)h(the)f(ID)h -(to)g(extract)390 3275 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f -(to)h(a)g(structure)f(to)h(hold)f(the)h(name)390 3405 -y Ff(sizeof)p 610 3405 V 41 w(buf)17 b FB(:)48 b(holds)33 -b(the)i(maxim)m(um)f(size)h(of)f Fs(buf)p FB(,)h(on)f(return)f(hold)h -(the)g(actual/required)h(size)390 3514 y(of)c Fs(buf)p -FB(.)390 3643 y(Extracts)g(the)g(userID)f(from)g(the)g(parsed)g(Op)s -(enPGP)f(k)m(ey)-8 b(.)390 3773 y Fn(Returns:)56 b Fs(GNUTLS_E_SUCCESS) -34 b FB(on)k(success,)i(and)e(if)g(the)g(index)g(of)g(the)h(ID)f(do)s -(es)g(not)g(exist)390 3882 y Fs(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVAI) -o(LAB)o(LE)p FB(,)24 b(or)31 b(an)f(error)g(co)s(de.)150 -4071 y Fu(gn)m(utls)p 483 4071 37 5 v 55 w(op)s(enpgp)p -991 4071 V 55 w(crt)p 1199 4071 V 54 w(get)p 1418 4071 -V 54 w(pk)p 1605 4071 V 54 w(algorithm)3350 4257 y FB([F)-8 -b(unction])-3599 b Fh(gnutls_pk_algorithm_t)59 b -(gnutls_openpgp_crt_get_)q(pk_)q(algo)q(rit)q(hm)565 -4367 y Fg(\()p Ff(gn)m(utls)p 846 4367 28 4 v 41 w(op)s(enpgp)p -1224 4367 V 39 w(crt)p 1374 4367 V 40 w(t)31 b Fe(key)12 -b Ff(,)31 b(unsigned)e(in)m(t)i(*)g Fe(bits)12 b Fg(\))390 -4477 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m(ey)390 -4606 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h -(will)g(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -4735 y(This)g(function)g(will)g(return)g(the)g(public)g(k)m(ey)h -(algorithm)g(of)g(an)f(Op)s(enPGP)f(certi\014cate.)390 -4864 y(If)g(bits)g(is)g(non)g(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i -(enough)f(size)h(to)g(hold)f(the)h(parameters)f(size)h(in)f(bits.)40 -b(F)-8 b(or)390 4974 y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s -(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g -(the)g(public)390 5083 y(exp)s(onen)m(t.)390 5213 y Fn(Returns:)61 -b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 5322 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)p eop -end -%%Page: 248 254 -TeXDict begin 248 253 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(248)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(pk)p -1605 299 V 54 w(dsa)p 1835 299 V 54 w(ra)m(w)3350 484 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_pk) -q(_ds)q(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2412 484 28 -4 v 40 w(op)s(enpgp)p 2789 484 V 39 w(crt)p 2939 484 -V 41 w(t)565 593 y Fe(crt)12 b Ff(,)31 b(gn)m(utls)p -1035 593 V 41 w(datum)p 1334 593 V 39 w(t)g(*)g Fe(p)12 -b Ff(,)30 b(gn)m(utls)p 1874 593 V 40 w(datum)p 2172 -593 V 40 w(t)h(*)f Fe(q)12 b Ff(,)31 b(gn)m(utls)p 2713 -593 V 40 w(datum)p 3011 593 V 40 w(t)f(*)h Fe(g)12 b -Ff(,)565 703 y(gn)m(utls)p 811 703 V 41 w(datum)p 1110 -703 V 39 w(t)31 b(*)g Fe(y)12 b Fg(\))390 813 y Ff(crt)r -FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 941 y Ff(p)s -FB(:)40 b(will)31 b(hold)f(the)g(p)390 1070 y Ff(q)r -FB(:)41 b(will)30 b(hold)g(the)h(q)390 1198 y Ff(g)8 -b FB(:)41 b(will)31 b(hold)f(the)g(g)390 1327 y Ff(y)8 -b FB(:)40 b(will)31 b(hold)f(the)h(y)390 1455 y(This)37 +2098 1739 28 4 v 41 w(op)s(enpgp)p 2476 1739 V 38 w(crt)p +2625 1739 V 41 w(t)31 b Fe(key)p Ff(,)g(in)m(t)565 1849 +y Fe(idx)p Ff(,)h(c)m(har)e(*)h Fe(buf)p Ff(,)h(size)p +1413 1849 V 40 w(t)f(*)g Fe(sizeof_buf)12 b Fg(\))390 +1958 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g +(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 b(.)390 2094 y +Ff(idx)6 b FB(:)41 b(the)30 b(index)g(of)h(the)f(ID)h(to)g(extract)390 +2229 y Ff(buf)16 b FB(:)41 b(a)31 b(p)s(oin)m(ter)f(to)h(a)g(structure) +f(to)h(hold)f(the)h(name)390 2365 y Ff(sizeof)p 610 2365 +V 41 w(buf)17 b FB(:)48 b(holds)33 b(the)i(maxim)m(um)f(size)h(of)f +Ft(buf)p FB(,)h(on)f(return)f(hold)h(the)g(actual/required)h(size)390 +2474 y(of)c Ft(buf)p FB(.)390 2610 y(Extracts)g(the)g(userID)f(from)g +(the)g(parsed)g(Op)s(enPGP)f(k)m(ey)-8 b(.)390 2745 y +Fn(Returns:)56 b Ft(GNUTLS_E_SUCCESS)34 b FB(on)k(success,)i(and)e(if)g +(the)g(index)g(of)g(the)h(ID)f(do)s(es)g(not)g(exist)390 +2855 y Ft(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVAI)o(LAB)o(LE)p +FB(,)24 b(or)31 b(an)f(error)g(co)s(de.)150 3055 y Fv(gn)m(utls)p +483 3055 37 5 v 55 w(op)s(enpgp)p 991 3055 V 55 w(crt)p +1199 3055 V 54 w(get)p 1418 3055 V 54 w(pk)p 1605 3055 +V 54 w(algorithm)3350 3253 y FB([F)-8 b(unction])-3599 +b Fh(gnutls_pk_algorithm_t)59 b(gnutls_openpgp_crt_get_)q(pk_)q(algo)q +(rit)q(hm)565 3362 y Fg(\()p Ff(gn)m(utls)p 846 3362 +28 4 v 41 w(op)s(enpgp)p 1224 3362 V 39 w(crt)p 1374 +3362 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)f(in)m(t)g(*)h +Fe(bits)12 b Fg(\))390 3472 y Ff(k)m(ey)c FB(:)41 b(is)31 +b(an)f(Op)s(enPGP)f(k)m(ey)390 3607 y Ff(bits)t FB(:)40 +b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g(hold)f(the)h(size)g +(of)f(the)h(parameters')g(in)f(bits)390 3743 y(This)g(function)g(will)g +(return)g(the)g(public)g(k)m(ey)h(algorithm)g(of)g(an)f(Op)s(enPGP)f +(certi\014cate.)390 3878 y(If)g(bits)g(is)g(non)g(n)m(ull,)g(it)h +(should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the)h(parameters)f +(size)h(in)f(bits.)40 b(F)-8 b(or)390 3988 y(RSA)33 b(the)h(bits)f +(returned)f(is)i(the)f(mo)s(dulus.)49 b(F)-8 b(or)34 +b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public)390 +4097 y(exp)s(onen)m(t.)390 4233 y Fn(Returns:)61 b FB(a)40 +b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 4342 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)150 4543 +y Fv(gn)m(utls)p 483 4543 37 5 v 55 w(op)s(enpgp)p 991 +4543 V 55 w(crt)p 1199 4543 V 54 w(get)p 1418 4543 V +54 w(pk)p 1605 4543 V 54 w(dsa)p 1835 4543 V 54 w(ra)m(w)3350 +4740 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q +(t_pk)q(_ds)q(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2412 +4740 28 4 v 40 w(op)s(enpgp)p 2789 4740 V 39 w(crt)p +2939 4740 V 41 w(t)565 4850 y Fe(crt)p Ff(,)32 b(gn)m(utls)p +1024 4850 V 40 w(datum)p 1322 4850 V 40 w(t)e(*)h Fe(p)p +Ff(,)g(gn)m(utls)p 1851 4850 V 40 w(datum)p 2149 4850 +V 40 w(t)f(*)h Fe(q)p Ff(,)g(gn)m(utls)p 2678 4850 V +40 w(datum)p 2976 4850 V 40 w(t)g(*)f Fe(g)p Ff(,)565 +4959 y(gn)m(utls)p 811 4959 V 41 w(datum)p 1110 4959 +V 39 w(t)h(*)g Fe(y)12 b Fg(\))390 5069 y Ff(crt)r FB(:)41 +b(Holds)31 b(the)f(certi\014cate)390 5205 y Ff(p)s FB(:)40 +b(will)31 b(hold)f(the)g(p)390 5340 y Ff(q)r FB(:)41 +b(will)30 b(hold)g(the)h(q)p eop end +%%Page: 232 238 +TeXDict begin 232 237 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(232)390 299 y +Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 439 y +Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 579 y(This)37 b(function)g(will)g(exp)s(ort)h(the)f(DSA)h(public)e(k)m(ey's)i (parameters)g(found)e(in)h(the)h(giv)m(en)g(cer-)390 -1565 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f -(allo)s(cated)j(using)d Fs(gnutls_malloc\(\))c FB(and)36 -b(will)g(b)s(e)390 1675 y(stored)30 b(in)h(the)f(appropriate)h(datum.) -390 1803 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b -FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 1932 -y Fn(Since:)41 b FB(2.4.0)150 2119 y Fu(gn)m(utls)p 483 -2119 37 5 v 55 w(op)s(enpgp)p 991 2119 V 55 w(crt)p 1199 -2119 V 54 w(get)p 1418 2119 V 54 w(pk)p 1605 2119 V 54 -w(rsa)p 1817 2119 V 54 w(ra)m(w)3350 2304 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_pk)q(_rs)q -(a_r)q(aw)f Fg(\()p Ff(gn)m(utls)p 2412 2304 28 4 v 40 -w(op)s(enpgp)p 2789 2304 V 39 w(crt)p 2939 2304 V 41 -w(t)565 2414 y Fe(crt)12 b Ff(,)31 b(gn)m(utls)p 1035 -2414 V 41 w(datum)p 1334 2414 V 39 w(t)g(*)g Fe(m)12 -b Ff(,)30 b(gn)m(utls)p 1874 2414 V 40 w(datum)p 2172 -2414 V 40 w(t)h(*)f Fe(e)12 b Fg(\))390 2523 y Ff(crt)r -FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 2652 y Ff(m)p -FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 2781 -y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)390 -2909 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f(k)m -(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 -3019 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s -(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) -390 3128 y(in)30 b(the)h(appropriate)f(datum.)390 3257 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 3385 y Fn(Since:)41 -b FB(2.4.0)150 3573 y Fu(gn)m(utls)p 483 3573 37 5 v -55 w(op)s(enpgp)p 991 3573 V 55 w(crt)p 1199 3573 V 54 -w(get)p 1418 3573 V 54 w(preferred)p 1963 3573 V 55 w(k)m(ey)p -2201 3573 V 53 w(id)3350 3758 y FB([F)-8 b(unction])-3599 +688 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f(allo) +s(cated)j(using)d Ft(gnutls_malloc\(\))c FB(and)36 b(will)g(b)s(e)390 +798 y(stored)30 b(in)h(the)f(appropriate)h(datum.)390 +938 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 1078 y Fn(Since:)41 +b FB(2.4.0)150 1282 y Fv(gn)m(utls)p 483 1282 37 5 v +55 w(op)s(enpgp)p 991 1282 V 55 w(crt)p 1199 1282 V 54 +w(get)p 1418 1282 V 54 w(pk)p 1605 1282 V 54 w(rsa)p +1817 1282 V 54 w(ra)m(w)3350 1485 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_pk)q(_rs)q(a_r)q(aw)f +Fg(\()p Ff(gn)m(utls)p 2412 1485 28 4 v 40 w(op)s(enpgp)p +2789 1485 V 39 w(crt)p 2939 1485 V 41 w(t)565 1594 y +Fe(crt)p Ff(,)32 b(gn)m(utls)p 1024 1594 V 40 w(datum)p +1322 1594 V 40 w(t)e(*)h Fe(m)p Ff(,)g(gn)m(utls)p 1851 +1594 V 40 w(datum)p 2149 1594 V 40 w(t)f(*)h Fe(e)12 +b Fg(\))390 1704 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) +390 1844 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 +1984 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m +(t)390 2123 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f +(k)m(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 +2233 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s +(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) +390 2343 y(in)30 b(the)h(appropriate)f(datum.)390 2483 +y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 2622 y Fn(Since:)41 +b FB(2.4.0)150 2827 y Fv(gn)m(utls)p 483 2827 37 5 v +55 w(op)s(enpgp)p 991 2827 V 55 w(crt)p 1199 2827 V 54 +w(get)p 1418 2827 V 54 w(preferred)p 1963 2827 V 55 w(k)m(ey)p +2201 2827 V 53 w(id)3350 3029 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_pr)q(efe)q(rre)q(d_k)q(ey_i)q -(d)565 3867 y Fg(\()p Ff(gn)m(utls)p 846 3867 28 4 v -41 w(op)s(enpgp)p 1224 3867 V 39 w(crt)p 1374 3867 V -40 w(t)31 b Fe(key)12 b Ff(,)31 b(gn)m(utls)p 1944 3867 -V 40 w(op)s(enpgp)p 2321 3867 V 39 w(k)m(eyid)p 2569 -3867 V 41 w(t)f Fe(keyid)12 b Fg(\))390 3977 y Ff(k)m(ey)c +(d)565 3139 y Fg(\()p Ff(gn)m(utls)p 846 3139 28 4 v +41 w(op)s(enpgp)p 1224 3139 V 39 w(crt)p 1374 3139 V +40 w(t)31 b Fe(key)p Ff(,)g(gn)m(utls)p 1932 3139 V 41 +w(op)s(enpgp)p 2310 3139 V 38 w(k)m(eyid)p 2557 3139 +V 41 w(t)g Fe(keyid)12 b Fg(\))390 3248 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e -(public)h(k)m(ey)-8 b(.)390 4106 y Ff(k)m(eyid)t FB(:)41 +(public)h(k)m(ey)-8 b(.)390 3388 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(struct)h(to)g(sa)m(v)m(e)h(the)e(k)m(eyid.)390 -4234 y(Get)h(preferred)f(k)m(ey)h(id.)40 b(If)30 b(it)h(hasn't)f(b)s -(een)g(set)h(it)g(returns)e Fs(GNUTLS_E_INVALID_REQUES)o(T)p -FB(.)390 4363 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(preferred)d(k)m -(eyID)i(of)g(the)f(Op)s(enPGP)f(k)m(ey)-8 b(.)150 4550 -y Fu(gn)m(utls)p 483 4550 37 5 v 55 w(op)s(enpgp)p 991 -4550 V 55 w(crt)p 1199 4550 V 54 w(get)p 1418 4550 V -54 w(rev)m(ok)m(ed)p 1887 4550 V 53 w(status)3350 4735 +3528 y(Get)h(preferred)f(k)m(ey)h(id.)40 b(If)30 b(it)h(hasn't)f(b)s +(een)g(set)h(it)g(returns)e Ft(GNUTLS_E_INVALID_REQUES)o(T)p +FB(.)390 3668 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(preferred)d(k)m +(eyID)i(of)g(the)f(Op)s(enPGP)f(k)m(ey)-8 b(.)150 3873 +y Fv(gn)m(utls)p 483 3873 37 5 v 55 w(op)s(enpgp)p 991 +3873 V 55 w(crt)p 1199 3873 V 54 w(get)p 1418 3873 V +54 w(rev)m(ok)m(ed)p 1887 3873 V 53 w(status)3350 4075 y FB([F)g(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_re)q -(vok)q(ed_)q(sta)q(tus)565 4845 y Fg(\()p Ff(gn)m(utls)p -846 4845 28 4 v 41 w(op)s(enpgp)p 1224 4845 V 39 w(crt)p -1374 4845 V 40 w(t)31 b Fe(key)12 b Fg(\))390 4954 y +(vok)q(ed_)q(sta)q(tus)565 4185 y Fg(\()p Ff(gn)m(utls)p +846 4185 28 4 v 41 w(op)s(enpgp)p 1224 4185 V 39 w(crt)p +1374 4185 V 40 w(t)31 b Fe(key)12 b Fg(\))390 4294 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g -(Op)s(enPGP)e(public)h(k)m(ey)-8 b(.)390 5083 y(Get)31 +(Op)s(enPGP)e(public)h(k)m(ey)-8 b(.)390 4434 y(Get)31 b(rev)m(o)s(cation)i(status)d(of)h(k)m(ey)-8 b(.)390 -5211 y Fn(Returns:)40 b FB(true)31 b(\(1\))g(if)f(the)h(k)m(ey)g(has)f +4574 y Fn(Returns:)40 b FB(true)31 b(\(1\))g(if)f(the)h(k)m(ey)g(has)f (b)s(een)g(rev)m(ok)m(ed,)i(or)e(false)h(\(0\))h(if)e(it)h(has)f(not.) -390 5340 y Fn(Since:)41 b FB(2.4.0)p eop end -%%Page: 249 255 -TeXDict begin 249 254 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(249)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(subk)m(ey)p -1839 299 V 54 w(coun)m(t)3350 507 y FB([F)-8 b(unction])-3599 +390 4714 y Fn(Since:)41 b FB(2.4.0)150 4919 y Fv(gn)m(utls)p +483 4919 37 5 v 55 w(op)s(enpgp)p 991 4919 V 55 w(crt)p +1199 4919 V 54 w(get)p 1418 4919 V 54 w(subk)m(ey)p 1839 +4919 V 54 w(coun)m(t)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_c)q(oun)q(t)e -Fg(\()p Ff(gn)m(utls)p 2516 507 28 4 v 41 w(op)s(enpgp)p -2894 507 V 39 w(crt)p 3044 507 V 40 w(t)565 617 y Fe(key)12 -b Fg(\))390 726 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m -(ey)390 872 y(This)i(function)g(will)h(return)e(the)i(n)m(um)m(b)s(er)e -(of)i(subk)m(eys)f(presen)m(t)h(in)f(the)h(giv)m(en)g(Op)s(enPGP)e -(cer-)390 982 y(ti\014cate.)390 1128 y Fn(Returns:)40 -b FB(the)31 b(n)m(um)m(b)s(er)e(of)i(subk)m(eys,)f(or)g(a)h(negativ)m -(e)h(v)-5 b(alue)31 b(on)f(error.)390 1274 y Fn(Since:)41 -b FB(2.4.0)150 1484 y Fu(gn)m(utls)p 483 1484 37 5 v -55 w(op)s(enpgp)p 991 1484 V 55 w(crt)p 1199 1484 V 54 -w(get)p 1418 1484 V 54 w(subk)m(ey)p 1839 1484 V 54 w(creation)p -2325 1484 V 54 w(time)3350 1692 y FB([F)-8 b(unction])-3599 -b Fh(time_t)54 b(gnutls_openpgp_crt_get)q(_su)q(bke)q(y_c)q(reat)q(ion) -q(_ti)q(me)565 1802 y Fg(\()p Ff(gn)m(utls)p 846 1802 -28 4 v 41 w(op)s(enpgp)p 1224 1802 V 39 w(crt)p 1374 -1802 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Fg(\))390 1912 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey) --8 b(.)390 2057 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -2203 y(Get)h(subk)m(ey)f(creation)i(time.)390 2349 y -Fn(Returns:)40 b FB(the)31 b(timestamp)g(when)e(the)i(Op)s(enPGP)e -(sub-k)m(ey)h(w)m(as)h(created.)390 2495 y Fn(Since:)41 -b FB(2.4.0)150 2706 y Fu(gn)m(utls)p 483 2706 37 5 v -55 w(op)s(enpgp)p 991 2706 V 55 w(crt)p 1199 2706 V 54 -w(get)p 1418 2706 V 54 w(subk)m(ey)p 1839 2706 V 54 w(expiration)p -2437 2706 V 54 w(time)3350 2914 y FB([F)-8 b(unction])-3599 -b Fh(time_t)54 b(gnutls_openpgp_crt_get)q(_su)q(bke)q(y_e)q(xpir)q(ati) -q(on_)q(time)565 3024 y Fg(\()p Ff(gn)m(utls)p 846 3024 -28 4 v 41 w(op)s(enpgp)p 1224 3024 V 39 w(crt)p 1374 -3024 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Fg(\))390 3133 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey) --8 b(.)390 3279 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -3425 y(Get)h(subk)m(ey)f(expiration)h(time.)42 b(A)30 -b(v)-5 b(alue)31 b(of)g('0')g(means)f(that)h(the)g(k)m(ey)g(do)s(esn't) -f(expire)h(at)g(all.)390 3571 y Fn(Returns:)40 b FB(the)31 -b(time)g(when)e(the)i(Op)s(enPGP)e(k)m(ey)i(expires.)390 -3717 y Fn(Since:)41 b FB(2.4.0)150 3928 y Fu(gn)m(utls)p -483 3928 37 5 v 55 w(op)s(enpgp)p 991 3928 V 55 w(crt)p -1199 3928 V 54 w(get)p 1418 3928 V 54 w(subk)m(ey)p 1839 -3928 V 54 w(\014ngerprin)m(t)3350 4136 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_f)q(ing)q(erpr)q -(int)565 4245 y Fg(\()p Ff(gn)m(utls)p 846 4245 28 4 -v 41 w(op)s(enpgp)p 1224 4245 V 39 w(crt)p 1374 4245 -V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(fpr)12 b Ff(,)31 -b(size)p 3084 4245 V 41 w(t)f(*)h Fe(fprlen)12 b Fg(\))390 -4355 y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that)g(con)m -(tains)h(the)f(Op)s(enPGP)e(public)g(k)m(ey)-8 b(.)390 -4501 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -4647 y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f +Fg(\()p Ff(gn)m(utls)p 2516 5121 28 4 v 41 w(op)s(enpgp)p +2894 5121 V 39 w(crt)p 3044 5121 V 40 w(t)565 5230 y +Fe(key)12 b Fg(\))390 5340 y Ff(k)m(ey)c FB(:)41 b(is)31 +b(an)f(Op)s(enPGP)f(k)m(ey)p eop end +%%Page: 233 239 +TeXDict begin 233 238 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(233)390 299 y(This)31 +b(function)g(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of)i(subk)m(eys)f +(presen)m(t)h(in)f(the)h(giv)m(en)g(Op)s(enPGP)e(cer-)390 +408 y(ti\014cate.)390 541 y Fn(Returns:)40 b FB(the)31 +b(n)m(um)m(b)s(er)e(of)i(subk)m(eys,)f(or)g(a)h(negativ)m(e)h(v)-5 +b(alue)31 b(on)f(error.)390 674 y Fn(Since:)41 b FB(2.4.0)150 +870 y Fv(gn)m(utls)p 483 870 37 5 v 55 w(op)s(enpgp)p +991 870 V 55 w(crt)p 1199 870 V 54 w(get)p 1418 870 V +54 w(subk)m(ey)p 1839 870 V 54 w(creation)p 2325 870 +V 54 w(time)3350 1063 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 +b(gnutls_openpgp_crt_get)q(_su)q(bke)q(y_c)q(reat)q(ion)q(_ti)q(me)565 +1173 y Fg(\()p Ff(gn)m(utls)p 846 1173 28 4 v 41 w(op)s(enpgp)p +1224 1173 V 39 w(crt)p 1374 1173 V 40 w(t)31 b Fe(key)p +Ff(,)g(unsigned)f(in)m(t)g Fe(idx)12 b Fg(\))390 1282 +y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g +(Op)s(enPGP)e(public)h(k)m(ey)-8 b(.)390 1415 y Ff(idx)6 +b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 1548 y(Get)h(subk)m(ey)f +(creation)i(time.)390 1680 y Fn(Returns:)40 b FB(the)31 +b(timestamp)g(when)e(the)i(Op)s(enPGP)e(sub-k)m(ey)h(w)m(as)h(created.) +390 1813 y Fn(Since:)41 b FB(2.4.0)150 2009 y Fv(gn)m(utls)p +483 2009 37 5 v 55 w(op)s(enpgp)p 991 2009 V 55 w(crt)p +1199 2009 V 54 w(get)p 1418 2009 V 54 w(subk)m(ey)p 1839 +2009 V 54 w(expiration)p 2437 2009 V 54 w(time)3350 2202 +y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_openpgp_crt_get)q +(_su)q(bke)q(y_e)q(xpir)q(ati)q(on_)q(time)565 2312 y +Fg(\()p Ff(gn)m(utls)p 846 2312 28 4 v 41 w(op)s(enpgp)p +1224 2312 V 39 w(crt)p 1374 2312 V 40 w(t)31 b Fe(key)p +Ff(,)g(unsigned)f(in)m(t)g Fe(idx)12 b Fg(\))390 2421 +y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g +(Op)s(enPGP)e(public)h(k)m(ey)-8 b(.)390 2554 y Ff(idx)6 +b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 2687 y(Get)h(subk)m(ey)f +(expiration)h(time.)42 b(A)30 b(v)-5 b(alue)31 b(of)g('0')g(means)f +(that)h(the)g(k)m(ey)g(do)s(esn't)f(expire)h(at)g(all.)390 +2819 y Fn(Returns:)40 b FB(the)31 b(time)g(when)e(the)i(Op)s(enPGP)e(k) +m(ey)i(expires.)390 2952 y Fn(Since:)41 b FB(2.4.0)150 +3148 y Fv(gn)m(utls)p 483 3148 37 5 v 55 w(op)s(enpgp)p +991 3148 V 55 w(crt)p 1199 3148 V 54 w(get)p 1418 3148 +V 54 w(subk)m(ey)p 1839 3148 V 54 w(\014ngerprin)m(t)3350 +3341 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q +(t_su)q(bke)q(y_f)q(ing)q(erpr)q(int)565 3451 y Fg(\()p +Ff(gn)m(utls)p 846 3451 28 4 v 41 w(op)s(enpgp)p 1224 +3451 V 39 w(crt)p 1374 3451 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)f +(in)m(t)g Fe(idx)p Ff(,)i(v)m(oid)f(*)g Fe(fpr)p Ff(,)g(size)p +3049 3451 V 41 w(t)g(*)f Fe(fprlen)12 b Fg(\))390 3560 +y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that)g(con)m(tains)h +(the)f(Op)s(enPGP)e(public)g(k)m(ey)-8 b(.)390 3693 y +Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 3826 +y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f (\014ngerprin)m(t,)e(m)m(ust)i(hold)f(at)h(least)g(20)h(b)m(ytes.)390 -4793 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h -(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 4939 +3959 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h +(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 4091 y(Get)i(k)m(ey)f(\014ngerprin)m(t)f(of)h(a)g(subk)m(ey)-8 b(.)45 b(Dep)s(ending)31 b(on)h(the)g(algorithm,)h(the)f(\014ngerprin)m -(t)f(can)h(b)s(e)390 5048 y(16)f(or)g(20)g(b)m(ytes.)390 -5194 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned.)39 -b(Otherwise,)31 b(an)f(error)g(co)s(de.)390 5340 y Fn(Since:)41 -b FB(2.4.0)p eop end -%%Page: 250 256 -TeXDict begin 250 255 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(250)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(subk)m(ey)p -1839 299 V 54 w(idx)3350 494 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_i)q(dx)f -Fg(\()p Ff(gn)m(utls)p 2412 494 28 4 v 40 w(op)s(enpgp)p -2789 494 V 39 w(crt)p 2939 494 V 41 w(t)565 603 y Fe(key)12 -b Ff(,)31 b(const)g(gn)m(utls)p 1273 603 V 40 w(op)s(enpgp)p -1650 603 V 39 w(k)m(eyid)p 1898 603 V 41 w(t)g Fe(keyid)12 -b Fg(\))390 713 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h -(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 846 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(k)m(eyid.)390 -980 y(Get)h(subk)m(ey's)g(index.)390 1113 y Fn(Returns:)40 -b FB(the)31 b(index)f(of)g(the)h(subk)m(ey)f(or)g(a)h(negativ)m(e)i -(error)d(v)-5 b(alue.)390 1247 y Fn(Since:)41 b FB(2.4.0)150 -1444 y Fu(gn)m(utls)p 483 1444 37 5 v 55 w(op)s(enpgp)p -991 1444 V 55 w(crt)p 1199 1444 V 54 w(get)p 1418 1444 -V 54 w(subk)m(ey)p 1839 1444 V 54 w(id)3350 1639 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q -(y_i)q(d)e Fg(\()p Ff(gn)m(utls)p 2359 1639 28 4 v 41 -w(op)s(enpgp)p 2737 1639 V 39 w(crt)p 2887 1639 V 40 -w(t)31 b Fe(key)12 b Ff(,)565 1748 y(unsigned)29 b(in)m(t)i -Fe(idx)12 b Ff(,)31 b(gn)m(utls)p 1553 1748 V 41 w(op)s(enpgp)p -1931 1748 V 39 w(k)m(eyid)p 2179 1748 V 40 w(t)g Fe(keyid)12 -b Fg(\))390 1858 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +(t)f(can)h(b)s(e)390 4201 y(16)f(or)g(20)g(b)m(ytes.)390 +4334 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned.)39 +b(Otherwise,)31 b(an)f(error)g(co)s(de.)390 4466 y Fn(Since:)41 +b FB(2.4.0)150 4662 y Fv(gn)m(utls)p 483 4662 37 5 v +55 w(op)s(enpgp)p 991 4662 V 55 w(crt)p 1199 4662 V 54 +w(get)p 1418 4662 V 54 w(subk)m(ey)p 1839 4662 V 54 w(idx)3350 +4855 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q +(t_su)q(bke)q(y_i)q(dx)f Fg(\()p Ff(gn)m(utls)p 2412 +4855 28 4 v 40 w(op)s(enpgp)p 2789 4855 V 39 w(crt)p +2939 4855 V 41 w(t)565 4965 y Fe(key)p Ff(,)32 b(const)e(gn)m(utls)p +1261 4965 V 41 w(op)s(enpgp)p 1639 4965 V 39 w(k)m(eyid)p +1887 4965 V 40 w(t)h Fe(keyid)12 b Fg(\))390 5075 y Ff(k)m(ey)c +FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e +(public)h(k)m(ey)-8 b(.)390 5207 y Ff(k)m(eyid)t FB(:)41 +b(the)30 b(k)m(eyid.)390 5340 y(Get)h(subk)m(ey's)g(index.)p +eop end +%%Page: 234 240 +TeXDict begin 234 239 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(234)390 299 y +Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(subk)m(ey)f(or)g(a)h +(negativ)m(e)i(error)d(v)-5 b(alue.)390 426 y Fn(Since:)41 +b FB(2.4.0)150 610 y Fv(gn)m(utls)p 483 610 37 5 v 55 +w(op)s(enpgp)p 991 610 V 55 w(crt)p 1199 610 V 54 w(get)p +1418 610 V 54 w(subk)m(ey)p 1839 610 V 54 w(id)3350 791 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su) +q(bke)q(y_i)q(d)e Fg(\()p Ff(gn)m(utls)p 2359 791 28 +4 v 41 w(op)s(enpgp)p 2737 791 V 39 w(crt)p 2887 791 +V 40 w(t)31 b Fe(key)p Ff(,)565 901 y(unsigned)e(in)m(t)i +Fe(idx)p Ff(,)h(gn)m(utls)p 1542 901 V 40 w(op)s(enpgp)p +1919 901 V 39 w(k)m(eyid)p 2167 901 V 41 w(t)e Fe(keyid)12 +b Fg(\))390 1010 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h (con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 1992 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -2125 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h -(the)e(k)m(eyid.)390 2259 y(Get)h(the)g(subk)m(ey's)f(k)m(ey-id.)390 -2392 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g(the)f(Op)s -(enPGP)f(k)m(ey)-8 b(.)150 2589 y Fu(gn)m(utls)p 483 -2589 37 5 v 55 w(op)s(enpgp)p 991 2589 V 55 w(crt)p 1199 -2589 V 54 w(get)p 1418 2589 V 54 w(subk)m(ey)p 1839 2589 -V 54 w(pk)p 2026 2589 V 54 w(algorithm)3350 2784 y FB([F)g(unction]) --3599 b Fh(gnutls_pk_algorithm_t)565 2894 y(gnutls_openpgp_crt_get)q +b(.)390 1137 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 +1264 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h +(the)e(k)m(eyid.)390 1391 y(Get)h(the)g(subk)m(ey's)f(k)m(ey-id.)390 +1518 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g(the)f(Op)s +(enPGP)f(k)m(ey)-8 b(.)150 1702 y Fv(gn)m(utls)p 483 +1702 37 5 v 55 w(op)s(enpgp)p 991 1702 V 55 w(crt)p 1199 +1702 V 54 w(get)p 1418 1702 V 54 w(subk)m(ey)p 1839 1702 +V 54 w(pk)p 2026 1702 V 54 w(algorithm)3350 1883 y FB([F)g(unction]) +-3599 b Fh(gnutls_pk_algorithm_t)565 1993 y(gnutls_openpgp_crt_get)q (_su)q(bke)q(y_p)q(k_al)q(gor)q(ith)q(m)51 b Fg(\()p -Ff(gn)m(utls)p 3088 2894 28 4 v 41 w(op)s(enpgp)p 3466 -2894 V 39 w(crt)p 3616 2894 V 40 w(t)565 3003 y Fe(key)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b Ff(,)31 b(unsigned)f(in)m -(t)g(*)h Fe(bits)12 b Fg(\))390 3113 y Ff(k)m(ey)c FB(:)41 -b(is)31 b(an)f(Op)s(enPGP)f(k)m(ey)390 3246 y Ff(idx)6 -b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index)390 3380 -y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g -(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -3513 y(This)j(function)g(will)g(return)g(the)g(public)g(k)m(ey)h -(algorithm)g(of)g(a)g(subk)m(ey)f(of)g(an)g(Op)s(enPGP)f(cer-)390 -3623 y(ti\014cate.)390 3756 y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h -(should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the)h(parameters)f -(size)h(in)f(bits.)40 b(F)-8 b(or)390 3866 y(RSA)33 b(the)h(bits)f -(returned)f(is)i(the)f(mo)s(dulus.)49 b(F)-8 b(or)34 -b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public)390 -3976 y(exp)s(onen)m(t.)390 4109 y Fn(Returns:)61 b FB(a)40 -b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 4219 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 4352 -y Fn(Since:)41 b FB(2.4.0)150 4549 y Fu(gn)m(utls)p 483 -4549 37 5 v 55 w(op)s(enpgp)p 991 4549 V 55 w(crt)p 1199 -4549 V 54 w(get)p 1418 4549 V 54 w(subk)m(ey)p 1839 4549 -V 54 w(pk)p 2026 4549 V 54 w(dsa)p 2256 4549 V 54 w(ra)m(w)3350 -4744 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q -(t_su)q(bke)q(y_p)q(k_d)q(sa_r)q(aw)565 4854 y Fg(\()p -Ff(gn)m(utls)p 846 4854 28 4 v 41 w(op)s(enpgp)p 1224 -4854 V 39 w(crt)p 1374 4854 V 40 w(t)31 b Fe(crt)12 b -Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b Ff(,)31 b(gn)m(utls)p -2686 4854 V 40 w(datum)p 2984 4854 V 40 w(t)g(*)f Fe(p)12 -b Ff(,)565 4963 y(gn)m(utls)p 811 4963 V 41 w(datum)p -1110 4963 V 39 w(t)31 b(*)g Fe(q)12 b Ff(,)30 b(gn)m(utls)p -1650 4963 V 40 w(datum)p 1948 4963 V 40 w(t)h(*)f Fe(g)12 -b Ff(,)31 b(gn)m(utls)p 2489 4963 V 40 w(datum)p 2787 -4963 V 40 w(t)f(*)h Fe(y)12 b Fg(\))390 5073 y Ff(crt)r -FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 5206 y Ff(idx)6 -b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 5340 -y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)p eop end -%%Page: 251 257 -TeXDict begin 251 256 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(251)390 299 y -Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 434 y Ff(g)8 -b FB(:)41 b(will)31 b(hold)f(the)g(g)390 568 y Ff(y)8 -b FB(:)40 b(will)31 b(hold)f(the)h(y)390 703 y(This)37 -b(function)g(will)g(exp)s(ort)h(the)f(DSA)h(public)e(k)m(ey's)i -(parameters)g(found)e(in)h(the)h(giv)m(en)g(cer-)390 -813 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f(allo) -s(cated)j(using)d Fs(gnutls_malloc\(\))c FB(and)36 b(will)g(b)s(e)390 -922 y(stored)30 b(in)h(the)f(appropriate)h(datum.)390 -1057 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 1192 y Fn(Since:)41 -b FB(2.4.0)150 1392 y Fu(gn)m(utls)p 483 1392 37 5 v -55 w(op)s(enpgp)p 991 1392 V 55 w(crt)p 1199 1392 V 54 -w(get)p 1418 1392 V 54 w(subk)m(ey)p 1839 1392 V 54 w(pk)p -2026 1392 V 54 w(rsa)p 2238 1392 V 54 w(ra)m(w)3350 1589 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su) -q(bke)q(y_p)q(k_r)q(sa_r)q(aw)565 1698 y Fg(\()p Ff(gn)m(utls)p -846 1698 28 4 v 41 w(op)s(enpgp)p 1224 1698 V 39 w(crt)p -1374 1698 V 40 w(t)31 b Fe(crt)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(gn)m(utls)p 2686 1698 V 40 w(datum)p -2984 1698 V 40 w(t)g(*)f Fe(m)12 b Ff(,)565 1808 y(gn)m(utls)p -811 1808 V 41 w(datum)p 1110 1808 V 39 w(t)31 b(*)g Fe(e)12 -b Fg(\))390 1917 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) -390 2052 y Ff(idx)6 b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 -2187 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 -2322 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m -(t)390 2457 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f +Ff(gn)m(utls)p 3088 1993 28 4 v 41 w(op)s(enpgp)p 3466 +1993 V 39 w(crt)p 3616 1993 V 40 w(t)565 2103 y Fe(key)p +Ff(,)32 b(unsigned)d(in)m(t)i Fe(idx)p Ff(,)g(unsigned)f(in)m(t)g(*)h +Fe(bits)12 b Fg(\))390 2212 y Ff(k)m(ey)c FB(:)41 b(is)31 +b(an)f(Op)s(enPGP)f(k)m(ey)390 2339 y Ff(idx)6 b FB(:)41 +b(is)30 b(the)h(subk)m(ey)f(index)390 2466 y Ff(bits)t +FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g(hold)f(the)h +(size)g(of)f(the)h(parameters')g(in)f(bits)390 2593 y(This)j(function)g +(will)g(return)g(the)g(public)g(k)m(ey)h(algorithm)g(of)g(a)g(subk)m +(ey)f(of)g(an)g(Op)s(enPGP)f(cer-)390 2702 y(ti\014cate.)390 +2829 y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i +(enough)f(size)h(to)g(hold)f(the)h(parameters)f(size)h(in)f(bits.)40 +b(F)-8 b(or)390 2939 y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s +(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g +(the)g(public)390 3048 y(exp)s(onen)m(t.)390 3175 y Fn(Returns:)61 +b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 3285 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 3412 +y Fn(Since:)41 b FB(2.4.0)150 3596 y Fv(gn)m(utls)p 483 +3596 37 5 v 55 w(op)s(enpgp)p 991 3596 V 55 w(crt)p 1199 +3596 V 54 w(get)p 1418 3596 V 54 w(subk)m(ey)p 1839 3596 +V 54 w(pk)p 2026 3596 V 54 w(dsa)p 2256 3596 V 54 w(ra)m(w)3350 +3777 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q +(t_su)q(bke)q(y_p)q(k_d)q(sa_r)q(aw)565 3887 y Fg(\()p +Ff(gn)m(utls)p 846 3887 28 4 v 41 w(op)s(enpgp)p 1224 +3887 V 39 w(crt)p 1374 3887 V 40 w(t)31 b Fe(crt)p Ff(,)g(unsigned)f +(in)m(t)g Fe(idx)p Ff(,)i(gn)m(utls)p 2663 3887 V 40 +w(datum)p 2961 3887 V 40 w(t)f(*)f Fe(p)p Ff(,)565 3996 +y(gn)m(utls)p 811 3996 V 41 w(datum)p 1110 3996 V 39 +w(t)h(*)g Fe(q)p Ff(,)f(gn)m(utls)p 1638 3996 V 41 w(datum)p +1937 3996 V 39 w(t)h(*)g Fe(g)p Ff(,)g(gn)m(utls)p 2466 +3996 V 40 w(datum)p 2764 3996 V 40 w(t)f(*)h Fe(y)12 +b Fg(\))390 4106 y Ff(crt)r FB(:)41 b(Holds)31 b(the)f(certi\014cate) +390 4233 y Ff(idx)6 b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 +4360 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 +4486 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 +4613 y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 +4740 y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 +4867 y(This)37 b(function)g(will)g(exp)s(ort)h(the)f(DSA)h(public)e(k)m +(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(cer-)390 +4977 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f +(allo)s(cated)j(using)d Ft(gnutls_malloc\(\))c FB(and)36 +b(will)g(b)s(e)390 5086 y(stored)30 b(in)h(the)f(appropriate)h(datum.) +390 5213 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b +FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 5340 +y Fn(Since:)41 b FB(2.4.0)p eop end +%%Page: 235 241 +TeXDict begin 235 240 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(235)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(crt)p 1199 299 V 54 w(get)p 1418 299 V 54 w(subk)m(ey)p +1839 299 V 54 w(pk)p 2026 299 V 54 w(rsa)p 2238 299 V +54 w(ra)m(w)3350 490 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_p)q(k_r)q(sa_r)q(aw)565 +599 y Fg(\()p Ff(gn)m(utls)p 846 599 28 4 v 41 w(op)s(enpgp)p +1224 599 V 39 w(crt)p 1374 599 V 40 w(t)31 b Fe(crt)p +Ff(,)g(unsigned)f(in)m(t)g Fe(idx)p Ff(,)i(gn)m(utls)p +2663 599 V 40 w(datum)p 2961 599 V 40 w(t)f(*)f Fe(m)p +Ff(,)565 709 y(gn)m(utls)p 811 709 V 41 w(datum)p 1110 +709 V 39 w(t)h(*)g Fe(e)12 b Fg(\))390 818 y Ff(crt)r +FB(:)41 b(Holds)31 b(the)f(certi\014cate)390 950 y Ff(idx)6 +b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 1081 +y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 +1213 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m +(t)390 1344 y(This)h(function)g(will)g(exp)s(ort)g(the)h(RSA)f(public)f (k)m(ey's)i(parameters)g(found)e(in)h(the)h(giv)m(en)g(struc-)390 -2566 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s -(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) -390 2676 y(in)30 b(the)h(appropriate)f(datum.)390 2811 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 2946 y Fn(Since:)41 -b FB(2.4.0)150 3145 y Fu(gn)m(utls)p 483 3145 37 5 v -55 w(op)s(enpgp)p 991 3145 V 55 w(crt)p 1199 3145 V 54 -w(get)p 1418 3145 V 54 w(subk)m(ey)p 1839 3145 V 54 w(rev)m(ok)m(ed)p -2308 3145 V 53 w(status)3350 3342 y FB([F)-8 b(unction])-3599 +1454 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s +(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) +390 1563 y(in)30 b(the)h(appropriate)f(datum.)390 1695 +y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 1826 y Fn(Since:)41 +b FB(2.4.0)150 2019 y Fv(gn)m(utls)p 483 2019 37 5 v +55 w(op)s(enpgp)p 991 2019 V 55 w(crt)p 1199 2019 V 54 +w(get)p 1418 2019 V 54 w(subk)m(ey)p 1839 2019 V 54 w(rev)m(ok)m(ed)p +2308 2019 V 53 w(status)3350 2210 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_r)q(evo)q(ked_)q -(sta)q(tus)565 3452 y Fg(\()p Ff(gn)m(utls)p 846 3452 -28 4 v 41 w(op)s(enpgp)p 1224 3452 V 39 w(crt)p 1374 -3452 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Fg(\))390 3561 y Ff(k)m(ey)c FB(:)41 b(the)31 +(sta)q(tus)565 2320 y Fg(\()p Ff(gn)m(utls)p 846 2320 +28 4 v 41 w(op)s(enpgp)p 1224 2320 V 39 w(crt)p 1374 +2320 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)f(in)m(t)g +Fe(idx)12 b Fg(\))390 2429 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey) --8 b(.)390 3696 y Ff(idx)6 b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index) -390 3831 y(Get)h(subk)m(ey)f(rev)m(o)s(cation)j(status.)41 +-8 b(.)390 2561 y Ff(idx)6 b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index) +390 2692 y(Get)h(subk)m(ey)f(rev)m(o)s(cation)j(status.)41 b(A)30 b(negativ)m(e)j(v)-5 b(alue)31 b(indicates)g(an)f(error.)390 -3966 y Fn(Returns:)40 b FB(true)31 b(\(1\))g(if)f(the)h(k)m(ey)g(has)f +2824 y Fn(Returns:)40 b FB(true)31 b(\(1\))g(if)f(the)h(k)m(ey)g(has)f (b)s(een)g(rev)m(ok)m(ed,)i(or)e(false)h(\(0\))h(if)e(it)h(has)f(not.) -390 4101 y Fn(Since:)41 b FB(2.4.0)150 4300 y Fu(gn)m(utls)p -483 4300 37 5 v 55 w(op)s(enpgp)p 991 4300 V 55 w(crt)p -1199 4300 V 54 w(get)p 1418 4300 V 54 w(subk)m(ey)p 1839 -4300 V 54 w(usage)3350 4497 y FB([F)-8 b(unction])-3599 +390 2955 y Fn(Since:)41 b FB(2.4.0)150 3148 y Fv(gn)m(utls)p +483 3148 37 5 v 55 w(op)s(enpgp)p 991 3148 V 55 w(crt)p +1199 3148 V 54 w(get)p 1418 3148 V 54 w(subk)m(ey)p 1839 +3148 V 54 w(usage)3350 3339 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_su)q(bke)q(y_u)q(sag)q(e)e -Fg(\()p Ff(gn)m(utls)p 2516 4497 28 4 v 41 w(op)s(enpgp)p -2894 4497 V 39 w(crt)p 3044 4497 V 40 w(t)565 4607 y -Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b -Ff(,)31 b(unsigned)f(in)m(t)g(*)h Fe(key_usage)12 b Fg(\))390 -4716 y Ff(k)m(ey)c FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p -1528 4716 V 41 w(op)s(enpgp)p 1906 4716 V 38 w(crt)p -2055 4716 V 41 w(t)f(structure)390 4851 y Ff(idx)6 b -FB(:)41 b(the)30 b(subk)m(ey)g(index)390 4986 y Ff(k)m(ey)p -529 4986 V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g -(bits)f(will)h(b)s(e)f(stored)390 5121 y(This)g(function)h(will)g -(return)f(certi\014cate's)j(k)m(ey)f(usage,)g(b)m(y)f(c)m(hec)m(king)i -(the)e(k)m(ey)h(algorithm.)43 b(The)390 5230 y(k)m(ey)f(usage)f(v)-5 -b(alue)42 b(will)f(ORed)g(v)-5 b(alues)41 b(of)h Fs -(GNUTLS_KEY_DIGITAL_SIGN)o(ATU)o(RE)35 b FB(or)41 b Fs(GNUTLS_)390 -5340 y(KEY_KEY_ENCIPHERMENT)p FB(.)p eop end -%%Page: 252 258 -TeXDict begin 252 257 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(252)390 299 y(A)30 -b(negativ)m(e)j(v)-5 b(alue)31 b(ma)m(y)g(b)s(e)f(returned)f(in)h(case) -h(of)g(parsing)f(error.)390 450 y Fn(Returns:)40 b FB(k)m(ey)32 -b(usage)f(v)-5 b(alue.)390 602 y Fn(Since:)41 b FB(2.4.0)150 -818 y Fu(gn)m(utls)p 483 818 37 5 v 55 w(op)s(enpgp)p -991 818 V 55 w(crt)p 1199 818 V 54 w(get)p 1418 818 V -54 w(v)m(ersion)3350 1032 y FB([F)-8 b(unction])-3599 +Fg(\()p Ff(gn)m(utls)p 2516 3339 28 4 v 41 w(op)s(enpgp)p +2894 3339 V 39 w(crt)p 3044 3339 V 40 w(t)565 3448 y +Fe(key)p Ff(,)32 b(unsigned)d(in)m(t)i Fe(idx)p Ff(,)g(unsigned)f(in)m +(t)g(*)h Fe(key_usage)12 b Fg(\))390 3558 y Ff(k)m(ey)c +FB(:)41 b(should)30 b(con)m(tain)h(a)g(gn)m(utls)p 1528 +3558 V 41 w(op)s(enpgp)p 1906 3558 V 38 w(crt)p 2055 +3558 V 41 w(t)f(structure)390 3690 y Ff(idx)6 b FB(:)41 +b(the)30 b(subk)m(ey)g(index)390 3821 y Ff(k)m(ey)p 529 +3821 V 41 w(usage)5 b FB(:)41 b(where)30 b(the)h(k)m(ey)g(usage)g(bits) +f(will)h(b)s(e)f(stored)390 3952 y(This)g(function)h(will)g(return)f +(certi\014cate's)j(k)m(ey)f(usage,)g(b)m(y)f(c)m(hec)m(king)i(the)e(k)m +(ey)h(algorithm.)43 b(The)390 4062 y(k)m(ey)f(usage)f(v)-5 +b(alue)42 b(will)f(ORed)g(v)-5 b(alues)41 b(of)h Ft +(GNUTLS_KEY_DIGITAL_SIGN)o(ATU)o(RE)35 b FB(or)41 b Ft(GNUTLS_)390 +4172 y(KEY_KEY_ENCIPHERMENT)p FB(.)390 4303 y(A)30 b(negativ)m(e)j(v)-5 +b(alue)31 b(ma)m(y)g(b)s(e)f(returned)f(in)h(case)h(of)g(parsing)f +(error.)390 4435 y Fn(Returns:)40 b FB(k)m(ey)32 b(usage)f(v)-5 +b(alue.)390 4566 y Fn(Since:)41 b FB(2.4.0)150 4759 y +Fv(gn)m(utls)p 483 4759 37 5 v 55 w(op)s(enpgp)p 991 +4759 V 55 w(crt)p 1199 4759 V 54 w(get)p 1418 4759 V +54 w(v)m(ersion)3350 4950 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ge)q(t_ve)q(rsi)q(on)f -Fg(\()p Ff(gn)m(utls)p 2255 1032 28 4 v 41 w(op)s(enpgp)p -2633 1032 V 38 w(crt)p 2782 1032 V 41 w(t)30 b Fe(key)12 -b Fg(\))390 1142 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +Fg(\()p Ff(gn)m(utls)p 2255 4950 28 4 v 41 w(op)s(enpgp)p +2633 4950 V 38 w(crt)p 2782 4950 V 41 w(t)30 b Fe(key)12 +b Fg(\))390 5059 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h (con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 1294 y(Extract)31 b(the)g(v)m(ersion)g(of)f(the)h(Op)s(enPGP)e -(k)m(ey)-8 b(.)390 1445 y Fn(Returns:)40 b FB(the)31 +b(.)390 5191 y(Extract)31 b(the)g(v)m(ersion)g(of)f(the)h(Op)s(enPGP)e +(k)m(ey)-8 b(.)390 5322 y Fn(Returns:)40 b FB(the)31 b(v)m(ersion)g(n)m(um)m(b)s(er)e(is)h(returned,)g(or)g(a)h(negativ)m(e) -h(v)-5 b(alue)31 b(on)g(errors.)150 1662 y Fu(gn)m(utls)p -483 1662 37 5 v 55 w(op)s(enpgp)p 991 1662 V 55 w(crt)p -1199 1662 V 54 w(imp)s(ort)3350 1875 y FB([F)-8 b(unction])-3599 -b Fh(int)53 b(gnutls_openpgp_crt_im)q(port)f Fg(\()p -Ff(gn)m(utls)p 1993 1875 28 4 v 41 w(op)s(enpgp)p 2371 -1875 V 39 w(crt)p 2521 1875 V 40 w(t)31 b Fe(key)12 b -Ff(,)31 b(const)565 1985 y(gn)m(utls)p 811 1985 V 41 -w(datum)p 1110 1985 V 39 w(t)g(*)g Fe(data)12 b Ff(,)31 -b(gn)m(utls)p 1807 1985 V 40 w(op)s(enpgp)p 2184 1985 -V 39 w(crt)p 2334 1985 V 40 w(fm)m(t)p 2510 1985 V 41 -w(t)f Fe(format)12 b Fg(\))390 2095 y Ff(k)m(ey)c FB(:)41 -b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)-8 -b(.)390 2246 y Ff(data)p FB(:)41 b(The)30 b(RA)-10 b(W)31 -b(or)f(BASE64)i(enco)s(ded)e(k)m(ey)-8 b(.)390 2398 y -Ff(format)r FB(:)41 b(One)30 b(of)g(gn)m(utls)p 1264 -2398 V 41 w(op)s(enpgp)p 1642 2398 V 39 w(crt)p 1792 -2398 V 40 w(fm)m(t)p 1968 2398 V 40 w(t)h(elemen)m(ts.)390 -2549 y(This)46 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(RA) +h(v)-5 b(alue)31 b(on)g(errors.)p eop end +%%Page: 236 242 +TeXDict begin 236 241 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(236)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(crt)p 1199 299 V 54 w(imp)s(ort)3350 493 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_im)q(port)f +Fg(\()p Ff(gn)m(utls)p 1993 493 28 4 v 41 w(op)s(enpgp)p +2371 493 V 39 w(crt)p 2521 493 V 40 w(t)31 b Fe(key)p +Ff(,)g(const)565 602 y(gn)m(utls)p 811 602 V 41 w(datum)p +1110 602 V 39 w(t)g(*)g Fe(data)p Ff(,)g(gn)m(utls)p +1795 602 V 41 w(op)s(enpgp)p 2173 602 V 39 w(crt)p 2323 +602 V 40 w(fm)m(t)p 2499 602 V 40 w(t)g Fe(format)12 +b Fg(\))390 712 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h +(store)g(the)g(parsed)e(k)m(ey)-8 b(.)390 845 y Ff(data)p +FB(:)41 b(The)30 b(RA)-10 b(W)31 b(or)f(BASE64)i(enco)s(ded)e(k)m(ey)-8 +b(.)390 978 y Ff(format)r FB(:)41 b(One)30 b(of)g(gn)m(utls)p +1264 978 V 41 w(op)s(enpgp)p 1642 978 V 39 w(crt)p 1792 +978 V 40 w(fm)m(t)p 1968 978 V 40 w(t)h(elemen)m(ts.)390 +1111 y(This)46 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(RA) -10 b(W)48 b(or)f(Base64)i(enco)s(ded)e(k)m(ey)h(to)f(the)h(nativ)m(e) -390 2659 y Fs(gnutls_openpgp_crt_t)25 b FB(format.)41 +390 1221 y Ft(gnutls_openpgp_crt_t)25 b FB(format.)41 b(The)30 b(output)g(will)g(b)s(e)g(stored)h(in)f('k)m(ey'.)390 -2811 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 3027 y Fu(gn)m(utls)p -483 3027 37 5 v 55 w(op)s(enpgp)p 991 3027 V 55 w(crt)p -1199 3027 V 54 w(init)3350 3241 y FB([F)-8 b(unction])-3599 +1354 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1550 y Fv(gn)m(utls)p +483 1550 37 5 v 55 w(op)s(enpgp)p 991 1550 V 55 w(crt)p +1199 1550 V 54 w(init)3350 1744 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_in)q(it)f Fg(\()p Ff(gn)m(utls)p -1889 3241 28 4 v 40 w(op)s(enpgp)p 2266 3241 V 39 w(crt)p -2416 3241 V 41 w(t)30 b(*)h Fe(key)12 b Fg(\))390 3350 +1889 1744 28 4 v 40 w(op)s(enpgp)p 2266 1744 V 39 w(crt)p +2416 1744 V 41 w(t)30 b(*)h Fe(key)12 b Fg(\))390 1853 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized) -390 3502 y(This)g(function)g(will)g(initialize)j(an)d(Op)s(enPGP)f(k)m -(ey)i(structure.)390 3654 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +390 1986 y(This)g(function)g(will)g(initialize)j(an)d(Op)s(enPGP)f(k)m +(ey)i(structure.)390 2119 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -3870 y Fu(gn)m(utls)p 483 3870 37 5 v 55 w(op)s(enpgp)p -991 3870 V 55 w(crt)p 1199 3870 V 54 w(prin)m(t)3350 -4084 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_pr)q -(int)f Fg(\()p Ff(gn)m(utls)p 1941 4084 28 4 v 41 w(op)s(enpgp)p -2319 4084 V 39 w(crt)p 2469 4084 V 40 w(t)31 b Fe(cert)12 -b Ff(,)565 4193 y(gn)m(utls)p 811 4193 V 41 w(certi\014cate)p -1239 4193 V 42 w(prin)m(t)p 1476 4193 V 39 w(formats)p -1816 4193 V 41 w(t)30 b Fe(format)12 b Ff(,)32 b(gn)m(utls)p -2543 4193 V 41 w(datum)p 2842 4193 V 39 w(t)f(*)g Fe(out)12 -b Fg(\))390 4303 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) -f(prin)m(ted)390 4455 y Ff(format)r FB(:)41 b(Indicate)31 -b(the)g(format)f(to)h(use)390 4606 y Ff(out)r FB(:)41 +2316 y Fv(gn)m(utls)p 483 2316 37 5 v 55 w(op)s(enpgp)p +991 2316 V 55 w(crt)p 1199 2316 V 54 w(prin)m(t)3350 +2509 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_pr)q +(int)f Fg(\()p Ff(gn)m(utls)p 1941 2509 28 4 v 41 w(op)s(enpgp)p +2319 2509 V 39 w(crt)p 2469 2509 V 40 w(t)31 b Fe(cert)p +Ff(,)565 2619 y(gn)m(utls)p 811 2619 V 41 w(certi\014cate)p +1239 2619 V 42 w(prin)m(t)p 1476 2619 V 39 w(formats)p +1816 2619 V 41 w(t)f Fe(format)p Ff(,)j(gn)m(utls)p 2532 +2619 V 40 w(datum)p 2830 2619 V 40 w(t)d(*)h Fe(out)12 +b Fg(\))390 2729 y Ff(cert)r FB(:)41 b(The)30 b(structure)g(to)h(b)s(e) +f(prin)m(ted)390 2862 y Ff(format)r FB(:)41 b(Indicate)31 +b(the)g(format)f(to)h(use)390 2995 y Ff(out)r FB(:)41 b(Newly)31 b(allo)s(cated)h(datum)e(with)g(zero)h(terminated)g(string.) -390 4758 y(This)44 b(function)g(will)h(prett)m(y)g(prin)m(t)f(an)g(Op)s +390 3128 y(This)44 b(function)g(will)h(prett)m(y)g(prin)m(t)f(an)g(Op)s (enPGP)f(certi\014cate,)50 b(suitable)45 b(for)g(displa)m(y)f(to)i(a) -390 4867 y(h)m(uman.)390 5019 y(The)30 b(format)h(should)e(b)s(e)h -(zero)h(for)f(future)f(compatibilit)m(y)-8 b(.)390 5171 -y(The)30 b(output)g Fs(out)f FB(needs)h(to)h(b)s(e)f(deallo)s(cate)j -(using)d Fs(gnutls_free\(\))p FB(.)390 5322 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)p eop end -%%Page: 253 259 -TeXDict begin 253 258 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(253)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(crt)p 1199 299 V 54 w(set)p 1405 299 V 54 w(preferred)p -1950 299 V 55 w(k)m(ey)p 2188 299 V 53 w(id)3350 494 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_se)q(t_pr) -q(efe)q(rre)q(d_k)q(ey_i)q(d)565 603 y Fg(\()p Ff(gn)m(utls)p -846 603 28 4 v 41 w(op)s(enpgp)p 1224 603 V 39 w(crt)p -1374 603 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(const)g(gn)m(utls)p -2182 603 V 40 w(op)s(enpgp)p 2559 603 V 39 w(k)m(eyid)p -2807 603 V 40 w(t)g Fe(keyid)12 b Fg(\))390 713 y Ff(k)m(ey)c -FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e -(public)h(k)m(ey)-8 b(.)390 846 y Ff(k)m(eyid)t FB(:)41 -b(the)30 b(selected)i(k)m(eyid)390 980 y(This)f(allo)m(ws)h(setting)h -(a)f(preferred)e(k)m(ey)i(id)f(for)g(the)h(giv)m(en)g(certi\014cate.)46 -b(This)31 b(k)m(ey)h(will)g(b)s(e)f(used)390 1089 y(b)m(y)f(functions)g -(that)h(in)m(v)m(olv)m(e)i(k)m(ey)e(handling.)390 1223 -y Fn(Returns:)42 b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 -b FB(\(zero\))33 b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de) -390 1333 y(is)f(returned.)150 1530 y Fu(gn)m(utls)p 483 -1530 37 5 v 55 w(op)s(enpgp)p 991 1530 V 55 w(crt)p 1199 -1530 V 54 w(v)m(erify)p 1557 1530 V 54 w(ring)3350 1725 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ve)q(rify) -q(_ri)q(ng)f Fg(\()p Ff(gn)m(utls)p 2255 1725 28 4 v -41 w(op)s(enpgp)p 2633 1725 V 38 w(crt)p 2782 1725 V -41 w(t)30 b Fe(key)12 b Ff(,)565 1834 y(gn)m(utls)p 811 -1834 V 41 w(op)s(enpgp)p 1189 1834 V 38 w(k)m(eyring)p -1517 1834 V 41 w(t)31 b Fe(keyring)12 b Ff(,)32 b(unsigned)d(in)m(t)i -Fe(flags)12 b Ff(,)32 b(unsigned)d(in)m(t)i(*)565 1944 -y Fe(verify)12 b Fg(\))390 2053 y Ff(k)m(ey)c FB(:)41 +390 3237 y(h)m(uman.)390 3370 y(The)30 b(format)h(should)e(b)s(e)h +(zero)h(for)f(future)f(compatibilit)m(y)-8 b(.)390 3503 +y(The)30 b(output)g Ft(out)f FB(needs)h(to)h(b)s(e)f(deallo)s(cate)j +(using)d Ft(gnutls_free\(\))p FB(.)390 3636 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s +(de.)150 3833 y Fv(gn)m(utls)p 483 3833 37 5 v 55 w(op)s(enpgp)p +991 3833 V 55 w(crt)p 1199 3833 V 54 w(set)p 1405 3833 +V 54 w(preferred)p 1950 3833 V 55 w(k)m(ey)p 2188 3833 +V 53 w(id)3350 4026 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_openpgp_crt_se)q(t_pr)q(efe)q(rre)q(d_k)q(ey_i)q(d)565 +4136 y Fg(\()p Ff(gn)m(utls)p 846 4136 28 4 v 41 w(op)s(enpgp)p +1224 4136 V 39 w(crt)p 1374 4136 V 40 w(t)31 b Fe(key)p +Ff(,)g(const)g(gn)m(utls)p 2170 4136 V 41 w(op)s(enpgp)p +2548 4136 V 38 w(k)m(eyid)p 2795 4136 V 41 w(t)g Fe(keyid)12 +b Fg(\))390 4245 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +(con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 +b(.)390 4379 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(selected)i(k)m(eyid)390 +4512 y(This)f(allo)m(ws)h(setting)h(a)f(preferred)e(k)m(ey)i(id)f(for)g +(the)h(giv)m(en)g(certi\014cate.)46 b(This)31 b(k)m(ey)h(will)g(b)s(e)f +(used)390 4621 y(b)m(y)f(functions)g(that)h(in)m(v)m(olv)m(e)i(k)m(ey)e +(handling.)150 4817 y Fv(gn)m(utls)p 483 4817 37 5 v +55 w(op)s(enpgp)p 991 4817 V 55 w(crt)p 1199 4817 V 54 +w(v)m(erify)p 1557 4817 V 54 w(ring)3350 5011 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ve)q(rify)q(_ri)q(ng) +f Fg(\()p Ff(gn)m(utls)p 2255 5011 28 4 v 41 w(op)s(enpgp)p +2633 5011 V 38 w(crt)p 2782 5011 V 41 w(t)30 b Fe(key)p +Ff(,)565 5121 y(gn)m(utls)p 811 5121 V 41 w(op)s(enpgp)p +1189 5121 V 38 w(k)m(eyring)p 1517 5121 V 41 w(t)h Fe(keyring)p +Ff(,)h(unsigned)e(in)m(t)h Fe(flags)p Ff(,)h(unsigned)d(in)m(t)i(*)565 +5230 y Fe(verify)12 b Fg(\))390 5340 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(holds)f(the)g(k)m(ey)-8 -b(.)390 2187 y Ff(k)m(eyring)8 b FB(:)41 b(holds)30 b(the)h(k)m(eyring) -g(to)g(c)m(hec)m(k)h(against)390 2320 y Ff(\015ags)t -FB(:)41 b(un)m(used)29 b(\(should)g(b)s(e)h(0\))390 2454 -y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(certi\014cate)j(v)m -(eri\014cation)f(output.)390 2587 y(V)-8 b(erify)31 b(all)g(signatures) -g(in)f(the)g(k)m(ey)-8 b(,)32 b(using)e(the)h(giv)m(en)g(set)g(of)f(k)m -(eys)h(\(k)m(eyring\).)390 2721 y(The)39 b(k)m(ey)i(v)m(eri\014cation)g -(output)e(will)h(b)s(e)f(put)g(in)g Fs(verify)f FB(and)h(will)h(b)s(e)f -(one)h(or)g(more)g(of)g(the)390 2830 y Fs(gnutls_certificate_statu)o -(s_t)24 b FB(en)m(umerated)31 b(elemen)m(ts)g(bit)m(wise)g(or'd.)390 -2964 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 3161 y Fu(gn)m(utls)p -483 3161 37 5 v 55 w(op)s(enpgp)p 991 3161 V 55 w(crt)p -1199 3161 V 54 w(v)m(erify)p 1557 3161 V 54 w(self)3350 -3356 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ve)q -(rify)q(_se)q(lf)f Fg(\()p Ff(gn)m(utls)p 2255 3356 28 -4 v 41 w(op)s(enpgp)p 2633 3356 V 38 w(crt)p 2782 3356 -V 41 w(t)30 b Fe(key)12 b Ff(,)565 3466 y(unsigned)29 -b(in)m(t)i Fe(flags)12 b Ff(,)32 b(unsigned)d(in)m(t)i(*)g -Fe(verify)12 b Fg(\))390 3575 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(structure)f(that)h(holds)f(the)g(k)m(ey)-8 b(.)390 -3709 y Ff(\015ags)t FB(:)41 b(un)m(used)29 b(\(should)g(b)s(e)h(0\))390 -3842 y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(k)m(ey)h(v)m -(eri\014cation)h(output.)390 3976 y(V)-8 b(eri\014es)24 +b(.)p eop end +%%Page: 237 243 +TeXDict begin 237 242 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(237)390 299 y +Ff(k)m(eyring)8 b FB(:)41 b(holds)30 b(the)h(k)m(eyring)g(to)g(c)m(hec) +m(k)h(against)390 429 y Ff(\015ags)t FB(:)41 b(un)m(used)29 +b(\(should)g(b)s(e)h(0\))390 559 y Ff(v)m(erify)8 b FB(:)41 +b(will)31 b(hold)f(the)g(certi\014cate)j(v)m(eri\014cation)f(output.) +390 690 y(V)-8 b(erify)31 b(all)g(signatures)g(in)f(the)g(k)m(ey)-8 +b(,)32 b(using)e(the)h(giv)m(en)g(set)g(of)f(k)m(eys)h(\(k)m(eyring\).) +390 820 y(The)39 b(k)m(ey)i(v)m(eri\014cation)g(output)e(will)h(b)s(e)f +(put)g(in)g Ft(verify)f FB(and)h(will)h(b)s(e)f(one)h(or)g(more)g(of)g +(the)390 929 y Ft(gnutls_certificate_statu)o(s_t)24 b +FB(en)m(umerated)31 b(elemen)m(ts)g(bit)m(wise)g(or'd.)390 +1060 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1250 y Fv(gn)m(utls)p +483 1250 37 5 v 55 w(op)s(enpgp)p 991 1250 V 55 w(crt)p +1199 1250 V 54 w(v)m(erify)p 1557 1250 V 54 w(self)3350 +1438 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_crt_ve)q +(rify)q(_se)q(lf)f Fg(\()p Ff(gn)m(utls)p 2255 1438 28 +4 v 41 w(op)s(enpgp)p 2633 1438 V 38 w(crt)p 2782 1438 +V 41 w(t)30 b Fe(key)p Ff(,)565 1548 y(unsigned)f(in)m(t)i +Fe(flags)p Ff(,)h(unsigned)e(in)m(t)h(*)f Fe(verify)12 +b Fg(\))390 1658 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +(holds)f(the)g(k)m(ey)-8 b(.)390 1788 y Ff(\015ags)t +FB(:)41 b(un)m(used)29 b(\(should)g(b)s(e)h(0\))390 1918 +y Ff(v)m(erify)8 b FB(:)41 b(will)31 b(hold)f(the)g(k)m(ey)h(v)m +(eri\014cation)h(output.)390 2048 y(V)-8 b(eri\014es)24 b(the)g(self)g(signature)f(in)h(the)f(k)m(ey)-8 b(.)40 b(The)23 b(k)m(ey)h(v)m(eri\014cation)i(output)d(will)h(b)s(e)f(put)f -(in)i Fs(verify)390 4085 y FB(and)f(will)h(b)s(e)g(one)g(or)g(more)g -(of)g(the)g(gn)m(utls)p 1822 4085 V 40 w(certi\014cate)p -2249 4085 V 42 w(status)p 2529 4085 V 41 w(t)g(en)m(umerated)g(elemen)m -(ts)h(bit)m(wise)390 4195 y(or'd.)390 4328 y Fn(Returns:)40 -b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s -(de.)150 4526 y Fu(gn)m(utls)p 483 4526 37 5 v 55 w(op)s(enpgp)p -991 4526 V 55 w(k)m(eyring)p 1442 4526 V 54 w(c)m(hec)m(k)p -1789 4526 V 53 w(id)3350 4720 y FB([F)-8 b(unction])-3599 +(in)i Ft(verify)390 2158 y FB(and)f(will)h(b)s(e)g(one)g(or)g(more)g +(of)g(the)g(gn)m(utls)p 1822 2158 V 40 w(certi\014cate)p +2249 2158 V 42 w(status)p 2529 2158 V 41 w(t)g(en)m(umerated)g(elemen)m +(ts)h(bit)m(wise)390 2267 y(or'd.)390 2398 y Fn(Returns:)40 +b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s +(de.)150 2588 y Fv(gn)m(utls)p 483 2588 37 5 v 55 w(op)s(enpgp)p +991 2588 V 55 w(k)m(eyring)p 1442 2588 V 54 w(c)m(hec)m(k)p +1789 2588 V 53 w(id)3350 2776 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q(g_ch)q(eck)q(_id)f -Fg(\()p Ff(gn)m(utls)p 2307 4720 28 4 v 41 w(op)s(enpgp)p -2685 4720 V 39 w(k)m(eyring)p 3014 4720 V 40 w(t)565 -4830 y Fe(ring)12 b Ff(,)31 b(const)g(gn)m(utls)p 1325 -4830 V 41 w(op)s(enpgp)p 1703 4830 V 39 w(k)m(eyid)p -1951 4830 V 40 w(t)g Fe(keyid)12 b Ff(,)31 b(unsigned)f(in)m(t)h -Fe(flags)12 b Fg(\))390 4939 y Ff(ring)c FB(:)40 b(holds)30 -b(the)h(k)m(eyring)g(to)g(c)m(hec)m(k)h(against)390 5073 +Fg(\()p Ff(gn)m(utls)p 2307 2776 28 4 v 41 w(op)s(enpgp)p +2685 2776 V 39 w(k)m(eyring)p 3014 2776 V 40 w(t)565 +2886 y Fe(ring)p Ff(,)32 b(const)f(gn)m(utls)p 1314 2886 +V 40 w(op)s(enpgp)p 1691 2886 V 39 w(k)m(eyid)p 1939 +2886 V 41 w(t)f Fe(keyid)p Ff(,)i(unsigned)e(in)m(t)h +Fe(flags)12 b Fg(\))390 2996 y Ff(ring)c FB(:)40 b(holds)30 +b(the)h(k)m(eyring)g(to)g(c)m(hec)m(k)h(against)390 3126 y Ff(k)m(eyid)t FB(:)41 b(will)31 b(hold)f(the)g(k)m(eyid)h(to)g(c)m -(hec)m(k)h(for.)390 5206 y Ff(\015ags)t FB(:)41 b(un)m(used)29 -b(\(should)g(b)s(e)h(0\))390 5340 y(Chec)m(k)h(if)f(a)h(giv)m(en)g(k)m -(ey)g(ID)g(exists)g(in)f(the)h(k)m(eyring.)p eop end -%%Page: 254 260 -TeXDict begin 254 259 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(254)390 299 y -Fn(Returns:)39 b Fs(GNUTLS_E_SUCCESS)22 b FB(on)k(success)h(\(if)g(k)m +(hec)m(k)h(for.)390 3256 y Ff(\015ags)t FB(:)41 b(un)m(used)29 +b(\(should)g(b)s(e)h(0\))390 3386 y(Chec)m(k)h(if)f(a)h(giv)m(en)g(k)m +(ey)g(ID)g(exists)g(in)f(the)h(k)m(eyring.)390 3516 y +Fn(Returns:)39 b Ft(GNUTLS_E_SUCCESS)22 b FB(on)k(success)h(\(if)g(k)m (eyid)g(exists\))h(and)e(a)h(negativ)m(e)i(error)d(co)s(de)h(on)390 -408 y(failure.)150 636 y Fu(gn)m(utls)p 483 636 37 5 -v 55 w(op)s(enpgp)p 991 636 V 55 w(k)m(eyring)p 1442 -636 V 54 w(deinit)3350 861 y FB([F)-8 b(unction])-3599 +3626 y(failure.)150 3817 y Fv(gn)m(utls)p 483 3817 37 +5 v 55 w(op)s(enpgp)p 991 3817 V 55 w(k)m(eyring)p 1442 +3817 V 54 w(deinit)3350 4005 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_openpgp_keyring_d)q(ein)q(it)e -Fg(\()p Ff(gn)m(utls)p 2255 861 28 4 v 41 w(op)s(enpgp)p -2633 861 V 38 w(k)m(eyring)p 2961 861 V 41 w(t)565 970 -y Fe(keyring)12 b Fg(\))390 1080 y Ff(k)m(eyring)c FB(:)41 -b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 1243 -y(This)g(function)g(will)g(deinitialize)j(a)e(k)m(eyring)g(structure.) -150 1470 y Fu(gn)m(utls)p 483 1470 37 5 v 55 w(op)s(enpgp)p -991 1470 V 55 w(k)m(eyring)p 1442 1470 V 54 w(get)p 1661 -1470 V 54 w(crt)p 1868 1470 V 54 w(coun)m(t)3350 1695 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q(g_ge) -q(t_c)q(rt_)q(cou)q(nt)565 1805 y Fg(\()p Ff(gn)m(utls)p -846 1805 28 4 v 41 w(op)s(enpgp)p 1224 1805 V 39 w(k)m(eyring)p -1553 1805 V 40 w(t)31 b Fe(ring)12 b Fg(\))390 1914 y +Fg(\()p Ff(gn)m(utls)p 2255 4005 28 4 v 41 w(op)s(enpgp)p +2633 4005 V 38 w(k)m(eyring)p 2961 4005 V 41 w(t)565 +4114 y Fe(keyring)12 b Fg(\))390 4224 y Ff(k)m(eyring)c +FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 +4354 y(This)g(function)g(will)g(deinitialize)j(a)e(k)m(eyring)g +(structure.)150 4545 y Fv(gn)m(utls)p 483 4545 37 5 v +55 w(op)s(enpgp)p 991 4545 V 55 w(k)m(eyring)p 1442 4545 +V 54 w(get)p 1661 4545 V 54 w(crt)p 1868 4545 V 54 w(coun)m(t)3350 +4733 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q +(g_ge)q(t_c)q(rt_)q(cou)q(nt)565 4843 y Fg(\()p Ff(gn)m(utls)p +846 4843 28 4 v 41 w(op)s(enpgp)p 1224 4843 V 39 w(k)m(eyring)p +1553 4843 V 40 w(t)31 b Fe(ring)12 b Fg(\))390 4952 y Ff(ring)c FB(:)40 b(is)31 b(an)f(Op)s(enPGP)f(k)m(ey)i(ring)390 -2077 y(This)36 b(function)g(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of) +5083 y(This)36 b(function)g(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of) i(Op)s(enPGP)e(certi\014cates)j(presen)m(t)f(in)f(the)h(giv)m(en)390 -2186 y(k)m(eyring.)390 2349 y Fn(Returns:)j FB(the)31 +5192 y(k)m(eyring.)390 5322 y Fn(Returns:)j FB(the)31 b(n)m(um)m(b)s(er)e(of)i(subk)m(eys,)f(or)g(a)h(negativ)m(e)h(v)-5 -b(alue)31 b(on)f(error.)150 2577 y Fu(gn)m(utls)p 483 -2577 37 5 v 55 w(op)s(enpgp)p 991 2577 V 55 w(k)m(eyring)p -1442 2577 V 54 w(get)p 1661 2577 V 54 w(crt)3350 2801 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q(g_ge) -q(t_c)q(rt)f Fg(\()p Ff(gn)m(utls)p 2255 2801 28 4 v -41 w(op)s(enpgp)p 2633 2801 V 38 w(k)m(eyring)p 2961 -2801 V 41 w(t)565 2911 y Fe(ring)12 b Ff(,)31 b(unsigned)f(in)m(t)h -Fe(idx)12 b Ff(,)31 b(gn)m(utls)p 1830 2911 V 40 w(op)s(enpgp)p -2207 2911 V 39 w(crt)p 2357 2911 V 40 w(t)g(*)g Fe(cert)12 -b Fg(\))390 3021 y Ff(ring)c FB(:)40 b(Holds)31 b(the)f(k)m(eyring.)390 -3183 y Ff(idx)6 b FB(:)41 b(the)30 b(index)g(of)h(the)f(certi\014cate)j -(to)e(exp)s(ort)390 3346 y Ff(cert)r FB(:)41 b(An)30 -b(uninitialized)i Fs(gnutls_openpgp_crt_t)24 b FB(structure)390 -3509 y(This)e(function)g(will)g(extract)i(an)e(Op)s(enPGP)f -(certi\014cate)k(from)c(the)i(giv)m(en)g(k)m(eyring.)39 -b(If)22 b(the)g(index)390 3618 y(giv)m(en)39 b(is)f(out)h(of)f(range)h -Fs(GNUTLS_E_REQUESTED_DATA)o(_NOT)o(_AVA)o(ILA)o(BLE)32 -b FB(will)38 b(b)s(e)g(returned.)390 3728 y(The)30 b(returned)f -(structure)h(needs)g(to)h(b)s(e)f(deinited.)390 3891 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 4118 y Fu(gn)m(utls)p -483 4118 37 5 v 55 w(op)s(enpgp)p 991 4118 V 55 w(k)m(eyring)p -1442 4118 V 54 w(imp)s(ort)3350 4343 y FB([F)-8 b(unction])-3599 +b(alue)31 b(on)f(error.)p eop end +%%Page: 238 244 +TeXDict begin 238 243 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(238)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(k)m(eyring)p 1442 299 V 54 w(get)p 1661 299 V +54 w(crt)3350 494 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_openpgp_keyrin)q(g_ge)q(t_c)q(rt)f Fg(\()p Ff(gn)m(utls)p +2255 494 28 4 v 41 w(op)s(enpgp)p 2633 494 V 38 w(k)m(eyring)p +2961 494 V 41 w(t)565 604 y Fe(ring)p Ff(,)32 b(unsigned)d(in)m(t)i +Fe(idx)p Ff(,)h(gn)m(utls)p 1807 604 V 40 w(op)s(enpgp)p +2184 604 V 39 w(crt)p 2334 604 V 40 w(t)f(*)g Fe(cert)12 +b Fg(\))390 713 y Ff(idx)6 b FB(:)41 b(the)30 b(index)g(of)h(the)f +(certi\014cate)j(to)e(exp)s(ort)390 847 y(This)22 b(function)g(will)g +(extract)i(an)e(Op)s(enPGP)f(certi\014cate)k(from)c(the)i(giv)m(en)g(k) +m(eyring.)39 b(If)22 b(the)g(index)390 957 y(giv)m(en)39 +b(is)f(out)h(of)f(range)h Ft(GNUTLS_E_REQUESTED_DATA)o(_NOT)o(_AVA)o +(ILA)o(BLE)32 b FB(will)38 b(b)s(e)g(returned.)390 1066 +y(The)30 b(returned)f(structure)h(needs)g(to)h(b)s(e)f(deinited.)390 +1200 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 1398 y Fv(gn)m(utls)p +483 1398 37 5 v 55 w(op)s(enpgp)p 991 1398 V 55 w(k)m(eyring)p +1442 1398 V 54 w(imp)s(ort)3350 1593 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q(g_im)q(por)q(t)e -Fg(\()p Ff(gn)m(utls)p 2202 4343 28 4 v 41 w(op)s(enpgp)p -2580 4343 V 39 w(k)m(eyring)p 2909 4343 V 41 w(t)565 -4452 y Fe(keyring)12 b Ff(,)32 b(const)f(gn)m(utls)p -1482 4452 V 41 w(datum)p 1781 4452 V 39 w(t)g(*)g Fe(data)12 -b Ff(,)31 b(gn)m(utls)p 2478 4452 V 40 w(op)s(enpgp)p -2855 4452 V 39 w(crt)p 3005 4452 V 41 w(fm)m(t)p 3182 -4452 V 40 w(t)g Fe(format)12 b Fg(\))390 4562 y Ff(k)m(eyring)c +Fg(\()p Ff(gn)m(utls)p 2202 1593 28 4 v 41 w(op)s(enpgp)p +2580 1593 V 39 w(k)m(eyring)p 2909 1593 V 41 w(t)565 +1703 y Fe(keyring)p Ff(,)33 b(const)e(gn)m(utls)p 1471 +1703 V 40 w(datum)p 1769 1703 V 40 w(t)f(*)h Fe(data)p +Ff(,)h(gn)m(utls)p 2455 1703 V 40 w(op)s(enpgp)p 2832 +1703 V 39 w(crt)p 2982 1703 V 40 w(fm)m(t)p 3158 1703 +V 41 w(t)e Fe(format)12 b Fg(\))390 1812 y Ff(k)m(eyring)c FB(:)41 b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)-8 -b(.)390 4725 y Ff(data)p FB(:)41 b(The)30 b(RA)-10 b(W)31 -b(or)f(BASE64)i(enco)s(ded)e(k)m(eyring.)390 4887 y Ff(format)r -FB(:)41 b(One)30 b(of)g Fs(gnutls_openpgp_keyring_fmt)24 -b FB(elemen)m(ts.)390 5050 y(This)34 b(function)h(will)g(con)m(v)m(ert) +b(.)390 1946 y Ff(data)p FB(:)41 b(The)30 b(RA)-10 b(W)31 +b(or)f(BASE64)i(enco)s(ded)e(k)m(eyring.)390 2080 y Ff(format)r +FB(:)41 b(One)30 b(of)g Ft(gnutls_openpgp_keyring_fmt)24 +b FB(elemen)m(ts.)390 2214 y(This)34 b(function)h(will)g(con)m(v)m(ert) i(the)e(giv)m(en)h(RA)-10 b(W)35 b(or)g(Base64)i(enco)s(ded)e(k)m -(eyring)h(to)f(the)h(nativ)m(e)390 5160 y Fs(gnutls_openpgp_keyring_t) +(eyring)h(to)f(the)h(nativ)m(e)390 2323 y Ft(gnutls_openpgp_keyring_t) 24 b FB(format.)41 b(The)30 b(output)g(will)g(b)s(e)g(stored)h(in)f('k) -m(eyring'.)390 5322 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 -b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)p -eop end -%%Page: 255 261 -TeXDict begin 255 260 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(255)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(k)m(eyring)p 1442 299 V 54 w(init)3350 492 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q(g_in)q(it)f -Fg(\()p Ff(gn)m(utls)p 2098 492 28 4 v 41 w(op)s(enpgp)p -2476 492 V 38 w(k)m(eyring)p 2804 492 V 41 w(t)31 b(*)565 -602 y Fe(keyring)12 b Fg(\))390 711 y Ff(k)m(eyring)c -FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized)390 -844 y(This)g(function)g(will)g(initialize)j(an)d(k)m(eyring)h -(structure.)390 977 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +m(eyring'.)390 2457 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 +b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 +2655 y Fv(gn)m(utls)p 483 2655 37 5 v 55 w(op)s(enpgp)p +991 2655 V 55 w(k)m(eyring)p 1442 2655 V 54 w(init)3350 +2850 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_keyrin)q +(g_in)q(it)f Fg(\()p Ff(gn)m(utls)p 2098 2850 28 4 v +41 w(op)s(enpgp)p 2476 2850 V 38 w(k)m(eyring)p 2804 +2850 V 41 w(t)31 b(*)565 2960 y Fe(keyring)12 b Fg(\))390 +3069 y Ff(k)m(eyring)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f +(initialized)390 3203 y(This)g(function)g(will)g(initialize)j(an)d(k)m +(eyring)h(structure.)390 3337 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)150 -1172 y Fu(gn)m(utls)p 483 1172 37 5 v 55 w(op)s(enpgp)p -991 1172 V 55 w(privk)m(ey)p 1446 1172 V 54 w(deinit)3350 -1366 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +3535 y Fv(gn)m(utls)p 483 3535 37 5 v 55 w(op)s(enpgp)p +991 3535 V 55 w(privk)m(ey)p 1446 3535 V 54 w(deinit)3350 +3730 y FB([F)-8 b(unction])-3599 b Fh(void)54 b (gnutls_openpgp_privkey_d)q(ein)q(it)e Fg(\()p Ff(gn)m(utls)p -2255 1366 28 4 v 41 w(op)s(enpgp)p 2633 1366 V 38 w(privk)m(ey)p -2964 1366 V 41 w(t)565 1475 y Fe(key)12 b Fg(\))390 1585 +2255 3730 28 4 v 41 w(op)s(enpgp)p 2633 3730 V 38 w(privk)m(ey)p +2964 3730 V 41 w(t)565 3840 y Fe(key)12 b Fg(\))390 3949 y Ff(k)m(ey)c FB(:)41 b(The)30 b(structure)g(to)h(b)s(e)f(initialized) -390 1718 y(This)g(function)g(will)g(deinitialize)j(a)e(k)m(ey)g -(structure.)150 1913 y Fu(gn)m(utls)p 483 1913 37 5 v -55 w(op)s(enpgp)p 991 1913 V 55 w(privk)m(ey)p 1446 1913 -V 54 w(exp)s(ort)p 1851 1913 V 54 w(dsa)p 2081 1913 V -55 w(ra)m(w)3350 2107 y FB([F)-8 b(unction])-3599 b Fh(int)53 +390 4083 y(This)g(function)g(will)g(deinitialize)j(a)e(k)m(ey)g +(structure.)150 4281 y Fv(gn)m(utls)p 483 4281 37 5 v +55 w(op)s(enpgp)p 991 4281 V 55 w(privk)m(ey)p 1446 4281 +V 54 w(exp)s(ort)p 1851 4281 V 54 w(dsa)p 2081 4281 V +55 w(ra)m(w)3350 4476 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q(por)q(t_d)q(sa_)q(raw)565 -2216 y Fg(\()p Ff(gn)m(utls)p 846 2216 28 4 v 41 w(op)s(enpgp)p -1224 2216 V 39 w(privk)m(ey)p 1556 2216 V 40 w(t)31 b -Fe(pkey)12 b Ff(,)31 b(gn)m(utls)p 2178 2216 V 40 w(datum)p -2476 2216 V 40 w(t)g(*)f Fe(p)12 b Ff(,)31 b(gn)m(utls)p -3017 2216 V 40 w(datum)p 3315 2216 V 40 w(t)f(*)h Fe(q)12 -b Ff(,)565 2326 y(gn)m(utls)p 811 2326 V 41 w(datum)p -1110 2326 V 39 w(t)31 b(*)g Fe(g)12 b Ff(,)30 b(gn)m(utls)p -1650 2326 V 40 w(datum)p 1948 2326 V 40 w(t)h(*)f Fe(y)12 -b Ff(,)31 b(gn)m(utls)p 2489 2326 V 40 w(datum)p 2787 -2326 V 40 w(t)f(*)h Fe(x)12 b Fg(\))390 2435 y Ff(pk)m(ey)c -FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 2568 y Ff(p)s -FB(:)40 b(will)31 b(hold)f(the)g(p)390 2701 y Ff(q)r -FB(:)41 b(will)30 b(hold)g(the)h(q)390 2833 y Ff(g)8 -b FB(:)41 b(will)31 b(hold)f(the)g(g)390 2966 y Ff(y)8 -b FB(:)40 b(will)31 b(hold)f(the)h(y)390 3099 y Ff(x)6 -b FB(:)41 b(will)31 b(hold)f(the)g(x)390 3232 y(This)k(function)h(will) -g(exp)s(ort)f(the)h(DSA)g(priv)-5 b(ate)36 b(k)m(ey's)f(parameters)g -(found)f(in)g(the)h(giv)m(en)h(cer-)390 3341 y(ti\014cate.)58 -b(The)36 b(new)f(parameters)h(will)g(b)s(e)f(allo)s(cated)j(using)d -Fs(gnutls_malloc\(\))c FB(and)36 b(will)g(b)s(e)390 3451 -y(stored)30 b(in)h(the)f(appropriate)h(datum.)390 3584 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 3716 y Fn(Since:)41 -b FB(2.4.0)150 3912 y Fu(gn)m(utls)p 483 3912 37 5 v -55 w(op)s(enpgp)p 991 3912 V 55 w(privk)m(ey)p 1446 3912 -V 54 w(exp)s(ort)p 1851 3912 V 54 w(rsa)p 2063 3912 V -54 w(ra)m(w)3350 4105 y FB([F)-8 b(unction])-3599 b Fh(int)53 +4586 y Fg(\()p Ff(gn)m(utls)p 846 4586 28 4 v 41 w(op)s(enpgp)p +1224 4586 V 39 w(privk)m(ey)p 1556 4586 V 40 w(t)31 b +Fe(pkey)p Ff(,)g(gn)m(utls)p 2166 4586 V 41 w(datum)p +2465 4586 V 39 w(t)g(*)g Fe(p)p Ff(,)g(gn)m(utls)p 2994 +4586 V 40 w(datum)p 3292 4586 V 40 w(t)f(*)h Fe(q)p Ff(,)565 +4695 y(gn)m(utls)p 811 4695 V 41 w(datum)p 1110 4695 +V 39 w(t)g(*)g Fe(g)p Ff(,)f(gn)m(utls)p 1638 4695 V +41 w(datum)p 1937 4695 V 39 w(t)h(*)g Fe(y)p Ff(,)g(gn)m(utls)p +2466 4695 V 40 w(datum)p 2764 4695 V 40 w(t)f(*)h Fe(x)12 +b Fg(\))390 4805 y Ff(pk)m(ey)c FB(:)41 b(Holds)30 b(the)h +(certi\014cate)390 4939 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 +5072 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 +5206 y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 +5340 y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)p +eop end +%%Page: 239 245 +TeXDict begin 239 244 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(239)390 299 y +Ff(x)6 b FB(:)41 b(will)31 b(hold)f(the)g(x)390 430 y(This)k(function)h +(will)g(exp)s(ort)f(the)h(DSA)g(priv)-5 b(ate)36 b(k)m(ey's)f +(parameters)g(found)f(in)g(the)h(giv)m(en)h(cer-)390 +539 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f(allo) +s(cated)j(using)d Ft(gnutls_malloc\(\))c FB(and)36 b(will)g(b)s(e)390 +649 y(stored)30 b(in)h(the)f(appropriate)h(datum.)390 +779 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 910 y Fn(Since:)41 +b FB(2.4.0)150 1102 y Fv(gn)m(utls)p 483 1102 37 5 v +55 w(op)s(enpgp)p 991 1102 V 55 w(privk)m(ey)p 1446 1102 +V 54 w(exp)s(ort)p 1851 1102 V 54 w(rsa)p 2063 1102 V +54 w(ra)m(w)3350 1291 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q(por)q(t_r)q(sa_)q(raw)565 -4215 y Fg(\()p Ff(gn)m(utls)p 846 4215 28 4 v 41 w(op)s(enpgp)p -1224 4215 V 39 w(privk)m(ey)p 1556 4215 V 40 w(t)31 b -Fe(pkey)12 b Ff(,)31 b(gn)m(utls)p 2178 4215 V 40 w(datum)p -2476 4215 V 40 w(t)g(*)f Fe(m)12 b Ff(,)31 b(gn)m(utls)p -3017 4215 V 40 w(datum)p 3315 4215 V 40 w(t)f(*)h Fe(e)12 -b Ff(,)565 4324 y(gn)m(utls)p 811 4324 V 41 w(datum)p -1110 4324 V 39 w(t)31 b(*)g Fe(d)12 b Ff(,)30 b(gn)m(utls)p -1650 4324 V 40 w(datum)p 1948 4324 V 40 w(t)h(*)f Fe(p)12 -b Ff(,)31 b(gn)m(utls)p 2489 4324 V 40 w(datum)p 2787 -4324 V 40 w(t)f(*)h Fe(q)12 b Ff(,)30 b(gn)m(utls)p 3327 -4324 V 41 w(datum)p 3626 4324 V 39 w(t)565 4434 y(*)h -Fe(u)12 b Fg(\))390 4544 y Ff(pk)m(ey)c FB(:)41 b(Holds)30 -b(the)h(certi\014cate)390 4676 y Ff(m)p FB(:)40 b(will)31 -b(hold)f(the)h(mo)s(dulus)390 4809 y Ff(e)5 b FB(:)41 -b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)390 -4942 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 -b(ate)31 b(exp)s(onen)m(t)390 5075 y Ff(p)s FB(:)40 b(will)31 -b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 5207 y Ff(q)r +1401 y Fg(\()p Ff(gn)m(utls)p 846 1401 28 4 v 41 w(op)s(enpgp)p +1224 1401 V 39 w(privk)m(ey)p 1556 1401 V 40 w(t)31 b +Fe(pkey)p Ff(,)g(gn)m(utls)p 2166 1401 V 41 w(datum)p +2465 1401 V 39 w(t)g(*)g Fe(m)p Ff(,)g(gn)m(utls)p 2994 +1401 V 40 w(datum)p 3292 1401 V 40 w(t)f(*)h Fe(e)p Ff(,)565 +1510 y(gn)m(utls)p 811 1510 V 41 w(datum)p 1110 1510 +V 39 w(t)g(*)g Fe(d)p Ff(,)f(gn)m(utls)p 1638 1510 V +41 w(datum)p 1937 1510 V 39 w(t)h(*)g Fe(p)p Ff(,)g(gn)m(utls)p +2466 1510 V 40 w(datum)p 2764 1510 V 40 w(t)f(*)h Fe(q)p +Ff(,)g(gn)m(utls)p 3293 1510 V 40 w(datum)p 3591 1510 +V 40 w(t)g(*)565 1620 y Fe(u)12 b Fg(\))390 1729 y Ff(pk)m(ey)c +FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 1860 y Ff(m)p +FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 1991 +y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m(t)390 +2122 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 +b(ate)31 b(exp)s(onen)m(t)390 2252 y Ff(p)s FB(:)40 b(will)31 +b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 2383 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(second)f(prime)g(\(q\))390 -5340 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)p -eop end -%%Page: 256 262 -TeXDict begin 256 261 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(256)390 299 y(This)28 -b(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 b(ate)30 -b(k)m(ey's)f(parameters)g(found)f(in)g(the)h(giv)m(en)h(struc-)390 -408 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e)g(allo)s -(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g(stored) -390 518 y(in)30 b(the)h(appropriate)f(datum.)390 649 -y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 779 y Fn(Since:)41 -b FB(2.4.0)150 971 y Fu(gn)m(utls)p 483 971 37 5 v 55 -w(op)s(enpgp)p 991 971 V 55 w(privk)m(ey)p 1446 971 V -54 w(exp)s(ort)p 1851 971 V 54 w(subk)m(ey)p 2272 971 -V 54 w(dsa)p 2502 971 V 54 w(ra)m(w)3350 1160 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q(por)q -(t_s)q(ubk)q(ey_d)q(sa_)q(raw)565 1270 y Fg(\()p Ff(gn)m(utls)p -846 1270 28 4 v 41 w(op)s(enpgp)p 1224 1270 V 39 w(privk)m(ey)p -1556 1270 V 40 w(t)31 b Fe(pkey)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(gn)m(utls)p 2920 1270 V 40 w(datum)p -3218 1270 V 40 w(t)g(*)f Fe(p)12 b Ff(,)565 1380 y(gn)m(utls)p -811 1380 V 41 w(datum)p 1110 1380 V 39 w(t)31 b(*)g Fe(q)12 -b Ff(,)30 b(gn)m(utls)p 1650 1380 V 40 w(datum)p 1948 -1380 V 40 w(t)h(*)f Fe(g)12 b Ff(,)31 b(gn)m(utls)p 2489 -1380 V 40 w(datum)p 2787 1380 V 40 w(t)f(*)h Fe(y)12 -b Ff(,)30 b(gn)m(utls)p 3327 1380 V 41 w(datum)p 3626 -1380 V 39 w(t)565 1489 y(*)h Fe(x)12 b Fg(\))390 1599 -y Ff(pk)m(ey)c FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 -1729 y Ff(idx)6 b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 -1860 y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 -1991 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 -2122 y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 -2252 y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 -2383 y Ff(x)6 b FB(:)41 b(will)31 b(hold)f(the)g(x)390 -2514 y(This)k(function)h(will)g(exp)s(ort)f(the)h(DSA)g(priv)-5 +2514 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 +2644 y(This)e(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 +b(ate)30 b(k)m(ey's)f(parameters)g(found)f(in)g(the)h(giv)m(en)h +(struc-)390 2754 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) +g(allo)s(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g +(stored)390 2864 y(in)30 b(the)h(appropriate)f(datum.)390 +2994 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 3125 y Fn(Since:)41 +b FB(2.4.0)150 3317 y Fv(gn)m(utls)p 483 3317 37 5 v +55 w(op)s(enpgp)p 991 3317 V 55 w(privk)m(ey)p 1446 3317 +V 54 w(exp)s(ort)p 1851 3317 V 54 w(subk)m(ey)p 2272 +3317 V 54 w(dsa)p 2502 3317 V 54 w(ra)m(w)3350 3506 y +FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q +(por)q(t_s)q(ubk)q(ey_d)q(sa_)q(raw)565 3616 y Fg(\()p +Ff(gn)m(utls)p 846 3616 28 4 v 41 w(op)s(enpgp)p 1224 +3616 V 39 w(privk)m(ey)p 1556 3616 V 40 w(t)31 b Fe(pkey)p +Ff(,)g(unsigned)f(in)m(t)h Fe(idx)p Ff(,)g(gn)m(utls)p +2897 3616 V 40 w(datum)p 3195 3616 V 40 w(t)g(*)f Fe(p)p +Ff(,)565 3725 y(gn)m(utls)p 811 3725 V 41 w(datum)p 1110 +3725 V 39 w(t)h(*)g Fe(q)p Ff(,)f(gn)m(utls)p 1638 3725 +V 41 w(datum)p 1937 3725 V 39 w(t)h(*)g Fe(g)p Ff(,)g(gn)m(utls)p +2466 3725 V 40 w(datum)p 2764 3725 V 40 w(t)f(*)h Fe(y)p +Ff(,)g(gn)m(utls)p 3293 3725 V 40 w(datum)p 3591 3725 +V 40 w(t)g(*)565 3835 y Fe(x)12 b Fg(\))390 3944 y Ff(pk)m(ey)c +FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 4075 y Ff(idx)6 +b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 4206 +y Ff(p)s FB(:)40 b(will)31 b(hold)f(the)g(p)390 4336 +y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(q)390 4467 +y Ff(g)8 b FB(:)41 b(will)31 b(hold)f(the)g(g)390 4598 +y Ff(y)8 b FB(:)40 b(will)31 b(hold)f(the)h(y)390 4729 +y Ff(x)6 b FB(:)41 b(will)31 b(hold)f(the)g(x)390 4859 +y(This)k(function)h(will)g(exp)s(ort)f(the)h(DSA)g(priv)-5 b(ate)36 b(k)m(ey's)f(parameters)g(found)f(in)g(the)h(giv)m(en)h(cer-) -390 2623 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f -(allo)s(cated)j(using)d Fs(gnutls_malloc\(\))c FB(and)36 -b(will)g(b)s(e)390 2733 y(stored)30 b(in)h(the)f(appropriate)h(datum.) -390 2864 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b -FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 2994 -y Fn(Since:)41 b FB(2.4.0)150 3186 y Fu(gn)m(utls)p 483 -3186 37 5 v 55 w(op)s(enpgp)p 991 3186 V 55 w(privk)m(ey)p -1446 3186 V 54 w(exp)s(ort)p 1851 3186 V 54 w(subk)m(ey)p -2272 3186 V 54 w(rsa)p 2484 3186 V 54 w(ra)m(w)3350 3375 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex) -q(por)q(t_s)q(ubk)q(ey_r)q(sa_)q(raw)565 3485 y Fg(\()p -Ff(gn)m(utls)p 846 3485 28 4 v 41 w(op)s(enpgp)p 1224 -3485 V 39 w(privk)m(ey)p 1556 3485 V 40 w(t)31 b Fe(pkey)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b Ff(,)31 b(gn)m(utls)p -2920 3485 V 40 w(datum)p 3218 3485 V 40 w(t)g(*)f Fe(m)12 -b Ff(,)565 3594 y(gn)m(utls)p 811 3594 V 41 w(datum)p -1110 3594 V 39 w(t)31 b(*)g Fe(e)12 b Ff(,)30 b(gn)m(utls)p -1650 3594 V 40 w(datum)p 1948 3594 V 40 w(t)h(*)f Fe(d)12 -b Ff(,)31 b(gn)m(utls)p 2489 3594 V 40 w(datum)p 2787 -3594 V 40 w(t)f(*)h Fe(p)12 b Ff(,)30 b(gn)m(utls)p 3327 -3594 V 41 w(datum)p 3626 3594 V 39 w(t)565 3704 y(*)h -Fe(q)12 b Ff(,)30 b(gn)m(utls)p 1006 3704 V 41 w(datum)p -1305 3704 V 39 w(t)h(*)g Fe(u)12 b Fg(\))390 3814 y Ff(pk)m(ey)c -FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 3944 y Ff(idx)6 -b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 4075 +390 4969 y(ti\014cate.)58 b(The)36 b(new)f(parameters)h(will)g(b)s(e)f +(allo)s(cated)j(using)d Ft(gnutls_malloc\(\))c FB(and)36 +b(will)g(b)s(e)390 5079 y(stored)30 b(in)h(the)f(appropriate)h(datum.) +390 5209 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b +FB(on)31 b(success,)f(otherwise)h(an)f(error.)390 5340 +y Fn(Since:)41 b FB(2.4.0)p eop end +%%Page: 240 246 +TeXDict begin 240 245 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(240)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(privk)m(ey)p 1446 299 V 54 w(exp)s(ort)p 1851 +299 V 54 w(subk)m(ey)p 2272 299 V 54 w(rsa)p 2484 299 +V 54 w(ra)m(w)3350 493 y FB([F)-8 b(unction])-3599 b +Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q(por)q(t_s)q(ubk)q(ey_r)q +(sa_)q(raw)565 603 y Fg(\()p Ff(gn)m(utls)p 846 603 28 +4 v 41 w(op)s(enpgp)p 1224 603 V 39 w(privk)m(ey)p 1556 +603 V 40 w(t)31 b Fe(pkey)p Ff(,)g(unsigned)f(in)m(t)h +Fe(idx)p Ff(,)g(gn)m(utls)p 2897 603 V 40 w(datum)p 3195 +603 V 40 w(t)g(*)f Fe(m)p Ff(,)565 712 y(gn)m(utls)p +811 712 V 41 w(datum)p 1110 712 V 39 w(t)h(*)g Fe(e)p +Ff(,)f(gn)m(utls)p 1638 712 V 41 w(datum)p 1937 712 V +39 w(t)h(*)g Fe(d)p Ff(,)g(gn)m(utls)p 2466 712 V 40 +w(datum)p 2764 712 V 40 w(t)f(*)h Fe(p)p Ff(,)g(gn)m(utls)p +3293 712 V 40 w(datum)p 3591 712 V 40 w(t)g(*)565 822 +y Fe(q)p Ff(,)g(gn)m(utls)p 919 822 V 40 w(datum)p 1217 +822 V 40 w(t)g(*)f Fe(u)12 b Fg(\))390 931 y Ff(pk)m(ey)c +FB(:)41 b(Holds)30 b(the)h(certi\014cate)390 1065 y Ff(idx)6 +b FB(:)41 b(Is)30 b(the)g(subk)m(ey)g(index)390 1198 y Ff(m)p FB(:)40 b(will)31 b(hold)f(the)h(mo)s(dulus)390 -4206 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m -(t)390 4336 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 -b(ate)31 b(exp)s(onen)m(t)390 4467 y Ff(p)s FB(:)40 b(will)31 -b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 4598 y Ff(q)r +1331 y Ff(e)5 b FB(:)41 b(will)31 b(hold)f(the)g(public)g(exp)s(onen)m +(t)390 1464 y Ff(d)t FB(:)40 b(will)30 b(hold)g(the)h(priv)-5 +b(ate)31 b(exp)s(onen)m(t)390 1597 y Ff(p)s FB(:)40 b(will)31 +b(hold)f(the)g(\014rst)g(prime)g(\(p\))390 1731 y Ff(q)r FB(:)41 b(will)30 b(hold)g(the)h(second)f(prime)g(\(q\))390 -4729 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 -4859 y(This)e(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 +1864 y Ff(u)p FB(:)40 b(will)31 b(hold)f(the)g(co)s(e\016cien)m(t)390 +1997 y(This)e(function)g(will)i(exp)s(ort)e(the)h(RSA)f(priv)-5 b(ate)30 b(k)m(ey's)f(parameters)g(found)f(in)g(the)h(giv)m(en)h -(struc-)390 4969 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) -g(allo)s(cated)i(using)d Fs(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g -(stored)390 5079 y(in)30 b(the)h(appropriate)f(datum.)390 -5209 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(otherwise)h(an)f(error.)390 5340 y Fn(Since:)41 -b FB(2.4.0)p eop end -%%Page: 257 263 -TeXDict begin 257 262 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(257)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(privk)m(ey)p 1446 299 V 54 w(exp)s(ort)3350 521 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex) -q(por)q(t)e Fg(\()p Ff(gn)m(utls)p 2202 521 28 4 v 41 -w(op)s(enpgp)p 2580 521 V 39 w(privk)m(ey)p 2912 521 -V 40 w(t)565 631 y Fe(key)12 b Ff(,)31 b(gn)m(utls)p -1035 631 V 41 w(op)s(enpgp)p 1413 631 V 38 w(crt)p 1562 -631 V 41 w(fm)m(t)p 1739 631 V 40 w(t)g Fe(format)12 -b Ff(,)32 b(const)f(c)m(har)f(*)h Fe(password)12 b Ff(,)33 -b(unsigned)c(in)m(t)565 740 y Fe(flags)12 b Ff(,)32 b(v)m(oid)f(*)f -Fe(output_data)12 b Ff(,)34 b(size)p 1956 740 V 41 w(t)c(*)h -Fe(output_data_size)12 b Fg(\))390 850 y Ff(k)m(ey)c -FB(:)41 b(Holds)31 b(the)f(k)m(ey)-8 b(.)390 1010 y Ff(format)r -FB(:)41 b(One)30 b(of)g(gn)m(utls)p 1264 1010 V 41 w(op)s(enpgp)p -1642 1010 V 39 w(crt)p 1792 1010 V 40 w(fm)m(t)p 1968 -1010 V 40 w(t)h(elemen)m(ts.)390 1170 y Ff(passw)m(ord)t -FB(:)40 b(the)30 b(passw)m(ord)g(that)h(will)g(b)s(e)e(used)h(to)h -(encrypt)f(the)h(k)m(ey)-8 b(.)42 b(\(un)m(used)29 b(for)h(no)m(w\))390 -1330 y Ff(\015ags)t FB(:)41 b(zero)31 b(for)f(future)f(compatibilit)m -(y)390 1490 y Ff(output)p 664 1490 V 40 w(data)p FB(:)41 +(struc-)390 2107 y(ture.)38 b(The)21 b(new)h(parameters)h(will)f(b)s(e) +g(allo)s(cated)i(using)d Ft(gnutls_malloc\(\))d FB(and)k(will)g(b)s(e)g +(stored)390 2216 y(in)30 b(the)h(appropriate)f(datum.)390 +2349 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(otherwise)h(an)f(error.)390 2483 y Fn(Since:)41 +b FB(2.4.0)150 2679 y Fv(gn)m(utls)p 483 2679 37 5 v +55 w(op)s(enpgp)p 991 2679 V 55 w(privk)m(ey)p 1446 2679 +V 54 w(exp)s(ort)3350 2874 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_privke)q(y_ex)q(por)q(t)e +Fg(\()p Ff(gn)m(utls)p 2202 2874 28 4 v 41 w(op)s(enpgp)p +2580 2874 V 39 w(privk)m(ey)p 2912 2874 V 40 w(t)31 b +Fe(key)p Ff(,)565 2983 y(gn)m(utls)p 811 2983 V 41 w(op)s(enpgp)p +1189 2983 V 38 w(crt)p 1338 2983 V 41 w(fm)m(t)p 1515 +2983 V 40 w(t)g Fe(format)p Ff(,)h(const)f(c)m(har*)g +Fe(password)p Ff(,)i(unsigned)c(in)m(t)i Fe(flags)p Ff(,)565 +3093 y(v)m(oid)g(*)g Fe(output_data)p Ff(,)j(size)p 1616 +3093 V 41 w(t)c(*)h Fe(output_data_size)12 b Fg(\))390 +3202 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)-8 +b(.)390 3336 y Ff(format)r FB(:)41 b(One)30 b(of)g(gn)m(utls)p +1264 3336 V 41 w(op)s(enpgp)p 1642 3336 V 39 w(crt)p +1792 3336 V 40 w(fm)m(t)p 1968 3336 V 40 w(t)h(elemen)m(ts.)390 +3469 y Ff(passw)m(ord)t FB(:)40 b(the)30 b(passw)m(ord)g(that)h(will)g +(b)s(e)e(used)h(to)h(encrypt)f(the)h(k)m(ey)-8 b(.)390 +3602 y Ff(\015ags)t FB(:)41 b(zero)31 b(for)f(future)f(compatibilit)m +(y)390 3735 y Ff(output)p 664 3735 V 40 w(data)p FB(:)41 b(will)31 b(con)m(tain)h(the)e(k)m(ey)h(base64)h(enco)s(ded)e(or)g(ra)m -(w)390 1650 y Ff(output)p 664 1650 V 40 w(data)p 880 -1650 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p -2093 1650 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i -(actual)390 1759 y(size)c(of)g(parameters\))390 1919 +(w)390 3868 y Ff(output)p 664 3868 V 40 w(data)p 880 +3868 V 40 w(size)5 b FB(:)49 b(holds)34 b(the)g(size)h(of)f(output)p +2093 3868 V 39 w(data)h(\(and)f(will)g(b)s(e)f(replaced)i(b)m(y)e(the)i +(actual)390 3978 y(size)c(of)g(parameters\))390 4111 y(This)91 b(function)h(will)g(con)m(v)m(ert)h(the)f(giv)m(en)h(k)m(ey)g -(to)f(RA)-10 b(W)93 b(or)f(Base64)h(format.)390 2029 +(to)f(RA)-10 b(W)93 b(or)f(Base64)h(format.)390 4221 y(If)e(the)g(bu\013er)f(pro)m(vided)h(is)g(not)h(long)g(enough)f(to)h -(hold)f(the)g(output,)106 b(then)390 2138 y(GNUTLS)p -777 2138 V 40 w(E)p 879 2138 V 40 w(SHOR)-8 b(T)p 1234 -2138 V 39 w(MEMOR)g(Y)p 1699 2138 V 41 w(BUFFER)31 b(will)g(b)s(e)f -(returned.)390 2298 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 +(hold)f(the)g(output,)106 b(then)390 4330 y(GNUTLS)p +777 4330 V 40 w(E)p 879 4330 V 40 w(SHOR)-8 b(T)p 1234 +4330 V 39 w(MEMOR)g(Y)p 1699 4330 V 41 w(BUFFER)31 b(will)g(b)s(e)f +(returned.)390 4464 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 b(success,)f(or)h(an)f(error)g(co)s(de.)390 -2458 y Fn(Since:)41 b FB(2.4.0)150 2683 y Fu(gn)m(utls)p -483 2683 37 5 v 55 w(op)s(enpgp)p 991 2683 V 55 w(privk)m(ey)p -1446 2683 V 54 w(get)p 1665 2683 V 54 w(\014ngerprin)m(t)3350 -2905 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q -(y_ge)q(t_f)q(ing)q(erp)q(rint)565 3015 y Fg(\()p Ff(gn)m(utls)p -846 3015 28 4 v 41 w(op)s(enpgp)p 1224 3015 V 39 w(privk)m(ey)p -1556 3015 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(v)m(oid)g(*)f -Fe(fpr)12 b Ff(,)31 b(size)p 2523 3015 V 41 w(t)g(*)g -Fe(fprlen)12 b Fg(\))390 3125 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(ra)m(w)f(data)h(that)g(con)m(tains)h(the)f(Op)s(enPGP)e(secret)i(k)m -(ey)-8 b(.)390 3285 y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa) -m(v)m(e)h(the)f(\014ngerprin)m(t,)e(m)m(ust)i(hold)f(at)h(least)g(20)h -(b)m(ytes.)390 3444 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f -(sa)m(v)m(e)h(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 -3604 y(Get)i(the)f(\014ngerprin)m(t)f(of)h(the)g(Op)s(enPGP)e(k)m(ey)-8 +4597 y Fn(Since:)41 b FB(2.4.0)150 4793 y Fv(gn)m(utls)p +483 4793 37 5 v 55 w(op)s(enpgp)p 991 4793 V 55 w(privk)m(ey)p +1446 4793 V 54 w(get)p 1665 4793 V 54 w(\014ngerprin)m(t)3350 +4988 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q +(y_ge)q(t_f)q(ing)q(erp)q(rint)565 5097 y Fg(\()p Ff(gn)m(utls)p +846 5097 28 4 v 41 w(op)s(enpgp)p 1224 5097 V 39 w(privk)m(ey)p +1556 5097 V 40 w(t)31 b Fe(key)p Ff(,)g(v)m(oid)g(*)g +Fe(fpr)p Ff(,)g(size)p 2500 5097 V 41 w(t)g(*)g Fe(fprlen)12 +b Fg(\))390 5207 y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that) +g(con)m(tains)h(the)f(Op)s(enPGP)e(secret)i(k)m(ey)-8 +b(.)390 5340 y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m +(e)h(the)f(\014ngerprin)m(t,)e(m)m(ust)i(hold)f(at)h(least)g(20)h(b)m +(ytes.)p eop end +%%Page: 241 247 +TeXDict begin 241 246 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(241)390 299 y +Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h(the)f +(length)f(of)h(the)g(\014ngerprin)m(t.)390 458 y(Get)i(the)f +(\014ngerprin)m(t)f(of)h(the)g(Op)s(enPGP)e(k)m(ey)-8 b(.)46 b(Dep)s(ends)31 b(on)h(the)f(algorithm,)j(the)e(\014ngerprin)m -(t)390 3714 y(can)f(b)s(e)e(16)j(or)e(20)h(b)m(ytes.)390 -3874 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned,)f(or)i -(an)f(error)g(co)s(de.)390 4034 y Fn(Since:)41 b FB(2.4.0)150 -4259 y Fu(gn)m(utls)p 483 4259 37 5 v 55 w(op)s(enpgp)p -991 4259 V 55 w(privk)m(ey)p 1446 4259 V 54 w(get)p 1665 -4259 V 54 w(k)m(ey)p 1902 4259 V 53 w(id)3350 4481 y +(t)390 567 y(can)f(b)s(e)e(16)j(or)e(20)h(b)m(ytes.)390 +726 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned,)f(or)i +(an)f(error)g(co)s(de.)390 885 y Fn(Since:)41 b FB(2.4.0)150 +1108 y Fv(gn)m(utls)p 483 1108 37 5 v 55 w(op)s(enpgp)p +991 1108 V 55 w(privk)m(ey)p 1446 1108 V 54 w(get)p 1665 +1108 V 54 w(k)m(ey)p 1902 1108 V 53 w(id)3350 1329 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q -(t_k)q(ey_)q(id)f Fg(\()p Ff(gn)m(utls)p 2412 4481 28 -4 v 40 w(op)s(enpgp)p 2789 4481 V 39 w(privk)m(ey)p 3121 -4481 V 40 w(t)565 4591 y Fe(key)12 b Ff(,)31 b(gn)m(utls)p -1035 4591 V 41 w(op)s(enpgp)p 1413 4591 V 38 w(k)m(eyid)p -1660 4591 V 41 w(t)g Fe(keyid)12 b Fg(\))390 4700 y Ff(k)m(ey)c +(t_k)q(ey_)q(id)f Fg(\()p Ff(gn)m(utls)p 2412 1329 28 +4 v 40 w(op)s(enpgp)p 2789 1329 V 39 w(privk)m(ey)p 3121 +1329 V 40 w(t)565 1438 y Fe(key)p Ff(,)32 b(gn)m(utls)p +1024 1438 V 40 w(op)s(enpgp)p 1401 1438 V 39 w(k)m(eyid)p +1649 1438 V 40 w(t)f Fe(keyid)12 b Fg(\))390 1548 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e -(secret)i(k)m(ey)-8 b(.)390 4860 y Ff(k)m(eyid)t FB(:)41 +(secret)i(k)m(ey)-8 b(.)390 1707 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h(the)e(k)m(eyid.)390 -5020 y(Get)h(k)m(ey-id.)390 5180 y Fn(Returns:)40 b FB(the)31 +1865 y(Get)h(k)m(ey-id.)390 2024 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g(the)f(Op)s(enPGP)f(k)m(ey)-8 -b(.)390 5340 y Fn(Since:)41 b FB(2.4.0)p eop end -%%Page: 258 264 -TeXDict begin 258 263 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(258)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(privk)m(ey)p 1446 299 V 54 w(get)p 1665 299 V -54 w(pk)p 1852 299 V 54 w(algorithm)3350 502 y FB([F)-8 -b(unction])-3599 b Fh(gnutls_pk_algorithm_t)565 611 y -(gnutls_openpgp_privkey)q(_ge)q(t_p)q(k_a)q(lgor)q(ith)q(m)51 -b Fg(\()p Ff(gn)m(utls)p 2931 611 28 4 v 41 w(op)s(enpgp)p -3309 611 V 39 w(privk)m(ey)p 3641 611 V 40 w(t)565 721 -y Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i(*)g Fe(bits)12 -b Fg(\))390 831 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m -(ey)390 971 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g -(it)h(will)g(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -1112 y(This)g(function)g(will)g(return)g(the)g(public)g(k)m(ey)h -(algorithm)g(of)g(an)f(Op)s(enPGP)f(certi\014cate.)390 -1253 y(If)g(bits)g(is)g(non)g(n)m(ull,)g(it)h(should)e(ha)m(v)m(e)i -(enough)f(size)h(to)g(hold)f(the)h(parameters)f(size)h(in)f(bits.)40 -b(F)-8 b(or)390 1362 y(RSA)33 b(the)h(bits)f(returned)f(is)i(the)f(mo)s -(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g -(the)g(public)390 1472 y(exp)s(onen)m(t.)390 1612 y Fn(Returns:)61 -b FB(a)40 b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 1722 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 1863 -y Fn(Since:)41 b FB(2.4.0)150 2068 y Fu(gn)m(utls)p 483 -2068 37 5 v 55 w(op)s(enpgp)p 991 2068 V 55 w(privk)m(ey)p -1446 2068 V 54 w(get)p 1665 2068 V 54 w(preferred)p 2210 -2068 V 55 w(k)m(ey)p 2448 2068 V 53 w(id)3350 2271 y +b(.)390 2183 y Fn(Since:)41 b FB(2.4.0)150 2406 y Fv(gn)m(utls)p +483 2406 37 5 v 55 w(op)s(enpgp)p 991 2406 V 55 w(privk)m(ey)p +1446 2406 V 54 w(get)p 1665 2406 V 54 w(pk)p 1852 2406 +V 54 w(algorithm)3350 2627 y FB([F)-8 b(unction])-3599 +b Fh(gnutls_pk_algorithm_t)565 2737 y(gnutls_openpgp_privkey)q(_ge)q +(t_p)q(k_a)q(lgor)q(ith)q(m)51 b Fg(\()p Ff(gn)m(utls)p +2931 2737 28 4 v 41 w(op)s(enpgp)p 3309 2737 V 39 w(privk)m(ey)p +3641 2737 V 40 w(t)565 2846 y Fe(key)p Ff(,)32 b(unsigned)d(in)m(t)i(*) +g Fe(bits)12 b Fg(\))390 2956 y Ff(k)m(ey)c FB(:)41 b(is)31 +b(an)f(Op)s(enPGP)f(k)m(ey)390 3115 y Ff(bits)t FB(:)40 +b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h(will)g(hold)f(the)h(size)g +(of)f(the)h(parameters')g(in)f(bits)390 3273 y(This)g(function)g(will)g +(return)g(the)g(public)g(k)m(ey)h(algorithm)g(of)g(an)f(Op)s(enPGP)f +(certi\014cate.)390 3432 y(If)g(bits)g(is)g(non)g(n)m(ull,)g(it)h +(should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the)h(parameters)f +(size)h(in)f(bits.)40 b(F)-8 b(or)390 3542 y(RSA)33 b(the)h(bits)f +(returned)f(is)i(the)f(mo)s(dulus.)49 b(F)-8 b(or)34 +b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public)390 +3651 y(exp)s(onen)m(t.)390 3810 y Fn(Returns:)61 b FB(a)40 +b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 3919 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 4078 +y Fn(Since:)41 b FB(2.4.0)150 4302 y Fv(gn)m(utls)p 483 +4302 37 5 v 55 w(op)s(enpgp)p 991 4302 V 55 w(privk)m(ey)p +1446 4302 V 54 w(get)p 1665 4302 V 54 w(preferred)p 2210 +4302 V 55 w(k)m(ey)p 2448 4302 V 53 w(id)3350 4523 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q -(t_p)q(ref)q(err)q(ed_k)q(ey_)q(id)565 2381 y Fg(\()p -Ff(gn)m(utls)p 846 2381 28 4 v 41 w(op)s(enpgp)p 1224 -2381 V 39 w(privk)m(ey)p 1556 2381 V 40 w(t)31 b Fe(key)12 -b Ff(,)31 b(gn)m(utls)p 2126 2381 V 40 w(op)s(enpgp)p -2503 2381 V 39 w(k)m(eyid)p 2751 2381 V 40 w(t)g Fe(keyid)12 -b Fg(\))390 2490 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +(t_p)q(ref)q(err)q(ed_k)q(ey_)q(id)565 4632 y Fg(\()p +Ff(gn)m(utls)p 846 4632 28 4 v 41 w(op)s(enpgp)p 1224 +4632 V 39 w(privk)m(ey)p 1556 4632 V 40 w(t)31 b Fe(key)p +Ff(,)g(gn)m(utls)p 2114 4632 V 40 w(op)s(enpgp)p 2491 +4632 V 39 w(k)m(eyid)p 2739 4632 V 41 w(t)g Fe(keyid)12 +b Fg(\))390 4742 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h (con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 2631 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(struct)h(to)g(sa)m(v)m -(e)h(the)e(k)m(eyid.)390 2772 y(Get)h(the)g(preferred)e(k)m(ey-id)i -(for)f(the)h(k)m(ey)-8 b(.)390 2912 y Fn(Returns:)45 +b(.)390 4900 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(struct)h(to)g(sa)m(v)m +(e)h(the)e(k)m(eyid.)390 5059 y(Get)h(the)g(preferred)e(k)m(ey-id)i +(for)f(the)h(k)m(ey)-8 b(.)390 5218 y Fn(Returns:)45 b FB(the)34 b(64-bit)g(preferred)d(k)m(eyID)j(of)f(the)g(Op)s(enPGP)f (k)m(ey)-8 b(,)35 b(or)e(if)g(it)g(hasn't)g(b)s(een)f(set)h(it)390 -3022 y(returns)c Fs(GNUTLS_E_INVALID_REQUEST)p FB(.)150 -3227 y Fu(gn)m(utls)p 483 3227 37 5 v 55 w(op)s(enpgp)p -991 3227 V 55 w(privk)m(ey)p 1446 3227 V 54 w(get)p 1665 -3227 V 54 w(rev)m(ok)m(ed)p 2134 3227 V 53 w(status)3350 -3430 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q -(y_ge)q(t_r)q(evo)q(ked)q(_sta)q(tus)565 3540 y Fg(\()p -Ff(gn)m(utls)p 846 3540 28 4 v 41 w(op)s(enpgp)p 1224 -3540 V 39 w(privk)m(ey)p 1556 3540 V 40 w(t)31 b Fe(key)12 -b Fg(\))390 3649 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h -(con)m(tains)g(the)g(Op)s(enPGP)e(priv)-5 b(ate)31 b(k)m(ey)-8 -b(.)390 3790 y(Get)31 b(rev)m(o)s(cation)i(status)d(of)h(k)m(ey)-8 -b(.)390 3931 y Fn(Returns:)40 b FB(true)30 b(\(1\))h(if)f(the)g(k)m(ey) -g(has)g(b)s(een)f(rev)m(ok)m(ed,)j(or)e(false)g(\(0\))h(if)f(it)g(has)g -(not,)h(or)e(a)i(negativ)m(e)390 4040 y(v)-5 b(alue)31 -b(indicates)g(an)f(error.)390 4181 y Fn(Since:)41 b FB(2.4.0)150 -4386 y Fu(gn)m(utls)p 483 4386 37 5 v 55 w(op)s(enpgp)p -991 4386 V 55 w(privk)m(ey)p 1446 4386 V 54 w(get)p 1665 -4386 V 54 w(subk)m(ey)p 2086 4386 V 54 w(coun)m(t)3350 -4589 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q -(y_ge)q(t_s)q(ubk)q(ey_)q(coun)q(t)565 4699 y Fg(\()p -Ff(gn)m(utls)p 846 4699 28 4 v 41 w(op)s(enpgp)p 1224 -4699 V 39 w(privk)m(ey)p 1556 4699 V 40 w(t)31 b Fe(key)12 -b Fg(\))390 4808 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m -(ey)390 4949 y(This)i(function)g(will)h(return)e(the)i(n)m(um)m(b)s(er) -e(of)i(subk)m(eys)f(presen)m(t)h(in)f(the)h(giv)m(en)g(Op)s(enPGP)e -(cer-)390 5059 y(ti\014cate.)390 5199 y Fn(Returns:)40 -b FB(the)31 b(n)m(um)m(b)s(er)e(of)i(subk)m(eys,)f(or)g(a)h(negativ)m -(e)h(v)-5 b(alue)31 b(on)f(error.)390 5340 y Fn(Since:)41 -b FB(2.4.0)p eop end -%%Page: 259 265 -TeXDict begin 259 264 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(259)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +5327 y(returns)c Ft(GNUTLS_E_INVALID_REQUEST)p FB(.)p +eop end +%%Page: 242 248 +TeXDict begin 242 247 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(242)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 V 55 w(privk)m(ey)p 1446 299 V 54 w(get)p 1665 299 V -54 w(subk)m(ey)p 2086 299 V 54 w(creation)p 2572 299 -V 53 w(time)3350 501 y FB([F)-8 b(unction])-3599 b Fh(time_t)54 -b(gnutls_openpgp_privkey)q(_ge)q(t_s)q(ubk)q(ey_c)q(rea)q(tio)q(n_ti)q -(me)565 611 y Fg(\()p Ff(gn)m(utls)p 846 611 28 4 v 41 -w(op)s(enpgp)p 1224 611 V 39 w(privk)m(ey)p 1556 611 -V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Fg(\))390 720 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(priv)-5 -b(ate)31 b(k)m(ey)-8 b(.)390 860 y Ff(idx)6 b FB(:)41 -b(the)30 b(subk)m(ey)g(index)390 1001 y(Get)h(subk)m(ey)f(creation)i -(time.)390 1141 y Fn(Returns:)40 b FB(the)31 b(timestamp)g(when)e(the)i -(Op)s(enPGP)e(k)m(ey)i(w)m(as)g(created.)390 1281 y Fn(Since:)41 -b FB(2.4.0)150 1486 y Fu(gn)m(utls)p 483 1486 37 5 v -55 w(op)s(enpgp)p 991 1486 V 55 w(privk)m(ey)p 1446 1486 -V 54 w(get)p 1665 1486 V 54 w(subk)m(ey)p 2086 1486 V -54 w(expiration)p 2684 1486 V 54 w(time)3350 1688 y FB([F)-8 -b(unction])-3599 b Fh(time_t)54 b(gnutls_openpgp_privkey)q(_ge)q(t_s)q -(ubk)q(ey_e)q(xpi)q(rat)q(ion_)q(tim)q(e)565 1797 y Fg(\()p -Ff(gn)m(utls)p 846 1797 28 4 v 41 w(op)s(enpgp)p 1224 -1797 V 39 w(privk)m(ey)p 1556 1797 V 40 w(t)31 b Fe(key)12 -b Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b Fg(\))390 -1907 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g +54 w(rev)m(ok)m(ed)p 2134 299 V 53 w(status)3350 498 +y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge) +q(t_r)q(evo)q(ked)q(_sta)q(tus)565 608 y Fg(\()p Ff(gn)m(utls)p +846 608 28 4 v 41 w(op)s(enpgp)p 1224 608 V 39 w(privk)m(ey)p +1556 608 V 40 w(t)31 b Fe(key)12 b Fg(\))390 718 y Ff(k)m(ey)c +FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e +(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 855 y(Get)31 b(rev)m(o)s(cation)i +(status)d(of)h(k)m(ey)-8 b(.)390 992 y Fn(Returns:)40 +b FB(true)30 b(\(1\))h(if)f(the)g(k)m(ey)g(has)g(b)s(een)f(rev)m(ok)m +(ed,)j(or)e(false)g(\(0\))h(if)f(it)g(has)g(not,)h(or)e(a)i(negativ)m +(e)390 1102 y(v)-5 b(alue)31 b(indicates)g(an)f(error.)390 +1239 y Fn(Since:)41 b FB(2.4.0)150 1441 y Fv(gn)m(utls)p +483 1441 37 5 v 55 w(op)s(enpgp)p 991 1441 V 55 w(privk)m(ey)p +1446 1441 V 54 w(get)p 1665 1441 V 54 w(subk)m(ey)p 2086 +1441 V 54 w(coun)m(t)3350 1640 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q(t_s)q(ubk)q(ey_)q(coun)q +(t)565 1750 y Fg(\()p Ff(gn)m(utls)p 846 1750 28 4 v +41 w(op)s(enpgp)p 1224 1750 V 39 w(privk)m(ey)p 1556 +1750 V 40 w(t)31 b Fe(key)12 b Fg(\))390 1859 y Ff(k)m(ey)c +FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m(ey)390 1997 y(This)i(function)g +(will)h(return)e(the)i(n)m(um)m(b)s(er)e(of)i(subk)m(eys)f(presen)m(t)h +(in)f(the)h(giv)m(en)g(Op)s(enPGP)e(cer-)390 2106 y(ti\014cate.)390 +2243 y Fn(Returns:)40 b FB(the)31 b(n)m(um)m(b)s(er)e(of)i(subk)m(eys,) +f(or)g(a)h(negativ)m(e)h(v)-5 b(alue)31 b(on)f(error.)390 +2381 y Fn(Since:)41 b FB(2.4.0)150 2582 y Fv(gn)m(utls)p +483 2582 37 5 v 55 w(op)s(enpgp)p 991 2582 V 55 w(privk)m(ey)p +1446 2582 V 54 w(get)p 1665 2582 V 54 w(subk)m(ey)p 2086 +2582 V 54 w(creation)p 2572 2582 V 53 w(time)3350 2782 +y FB([F)-8 b(unction])-3599 b Fh(time_t)54 b(gnutls_openpgp_privkey)q +(_ge)q(t_s)q(ubk)q(ey_c)q(rea)q(tio)q(n_ti)q(me)565 2892 +y Fg(\()p Ff(gn)m(utls)p 846 2892 28 4 v 41 w(op)s(enpgp)p +1224 2892 V 39 w(privk)m(ey)p 1556 2892 V 40 w(t)31 b +Fe(key)p Ff(,)g(unsigned)e(in)m(t)i Fe(idx)12 b Fg(\))390 +3001 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g (the)g(Op)s(enPGP)e(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 -2047 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -2187 y(Get)h(subk)m(ey)f(expiration)h(time.)42 b(A)30 -b(v)-5 b(alue)31 b(of)g('0')g(means)f(that)h(the)g(k)m(ey)g(do)s(esn't) -f(expire)h(at)g(all.)390 2327 y Fn(Returns:)40 b FB(the)31 -b(time)g(when)e(the)i(Op)s(enPGP)e(k)m(ey)i(expires.)390 -2467 y Fn(Since:)41 b FB(2.4.0)150 2672 y Fu(gn)m(utls)p -483 2672 37 5 v 55 w(op)s(enpgp)p 991 2672 V 55 w(privk)m(ey)p -1446 2672 V 54 w(get)p 1665 2672 V 54 w(subk)m(ey)p 2086 -2672 V 54 w(\014ngerprin)m(t)3350 2875 y FB([F)-8 b(unction])-3599 +3138 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 +3276 y(Get)h(subk)m(ey)f(creation)i(time.)390 3413 y +Fn(Returns:)40 b FB(the)31 b(timestamp)g(when)e(the)i(Op)s(enPGP)e(k)m +(ey)i(w)m(as)g(created.)390 3550 y Fn(Since:)41 b FB(2.4.0)150 +3752 y Fv(gn)m(utls)p 483 3752 37 5 v 55 w(op)s(enpgp)p +991 3752 V 55 w(privk)m(ey)p 1446 3752 V 54 w(get)p 1665 +3752 V 54 w(subk)m(ey)p 2086 3752 V 54 w(expiration)p +2684 3752 V 54 w(time)3350 3951 y FB([F)-8 b(unction])-3599 +b Fh(time_t)54 b(gnutls_openpgp_privkey)q(_ge)q(t_s)q(ubk)q(ey_e)q(xpi) +q(rat)q(ion_)q(tim)q(e)565 4061 y Fg(\()p Ff(gn)m(utls)p +846 4061 28 4 v 41 w(op)s(enpgp)p 1224 4061 V 39 w(privk)m(ey)p +1556 4061 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)e(in)m(t)i +Fe(idx)12 b Fg(\))390 4171 y Ff(k)m(ey)c FB(:)41 b(the)31 +b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(priv)-5 +b(ate)31 b(k)m(ey)-8 b(.)390 4308 y Ff(idx)6 b FB(:)41 +b(the)30 b(subk)m(ey)g(index)390 4445 y(Get)h(subk)m(ey)f(expiration)h +(time.)42 b(A)30 b(v)-5 b(alue)31 b(of)g('0')g(means)f(that)h(the)g(k)m +(ey)g(do)s(esn't)f(expire)h(at)g(all.)390 4582 y Fn(Returns:)40 +b FB(the)31 b(time)g(when)e(the)i(Op)s(enPGP)e(k)m(ey)i(expires.)390 +4719 y Fn(Since:)41 b FB(2.4.0)150 4921 y Fv(gn)m(utls)p +483 4921 37 5 v 55 w(op)s(enpgp)p 991 4921 V 55 w(privk)m(ey)p +1446 4921 V 54 w(get)p 1665 4921 V 54 w(subk)m(ey)p 2086 +4921 V 54 w(\014ngerprin)m(t)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q(t_s)q(ubk)q(ey_)q(fing)q -(erp)q(rin)q(t)565 2984 y Fg(\()p Ff(gn)m(utls)p 846 -2984 28 4 v 41 w(op)s(enpgp)p 1224 2984 V 39 w(privk)m(ey)p -1556 2984 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(v)m(oid)g(*)f Fe(fpr)12 b Ff(,)31 -b(size)p 3265 2984 V 41 w(t)g(*)565 3094 y Fe(fprlen)12 -b Fg(\))390 3203 y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that) -g(con)m(tains)h(the)f(Op)s(enPGP)e(secret)i(k)m(ey)-8 -b(.)390 3343 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -3483 y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f +(erp)q(rin)q(t)565 5230 y Fg(\()p Ff(gn)m(utls)p 846 +5230 28 4 v 41 w(op)s(enpgp)p 1224 5230 V 39 w(privk)m(ey)p +1556 5230 V 40 w(t)29 b Fe(key)p Ff(,)h(unsigned)d(in)m(t)i +Fe(idx)p Ff(,)h(v)m(oid)f(*)g Fe(fpr)p Ff(,)h(size)p +3217 5230 V 41 w(t)e(*)h Fe(fprlen)12 b Fg(\))390 5340 +y Ff(k)m(ey)c FB(:)41 b(the)31 b(ra)m(w)f(data)h(that)g(con)m(tains)h +(the)f(Op)s(enPGP)e(secret)i(k)m(ey)-8 b(.)p eop end +%%Page: 243 249 +TeXDict begin 243 248 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(243)390 299 y +Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 425 +y Ff(fpr)7 b FB(:)39 b(the)31 b(bu\013er)e(to)i(sa)m(v)m(e)h(the)f (\014ngerprin)m(t,)e(m)m(ust)i(hold)f(at)h(least)g(20)h(b)m(ytes.)390 -3624 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h -(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 3764 +552 y Ff(fprlen)p FB(:)40 b(the)30 b(in)m(teger)i(to)f(sa)m(v)m(e)h +(the)f(length)f(of)h(the)g(\014ngerprin)m(t.)390 678 y(Get)24 b(the)e(\014ngerprin)m(t)g(of)h(an)f(Op)s(enPGP)g(subk)m(ey)-8 b(.)38 b(Dep)s(ends)21 b(on)i(the)g(algorithm,)i(the)e(\014ngerprin)m -(t)390 3873 y(can)31 b(b)s(e)e(16)j(or)e(20)h(b)m(ytes.)390 -4013 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned,)f(or)i -(an)f(error)g(co)s(de.)390 4153 y Fn(Since:)41 b FB(2.4.0)150 -4358 y Fu(gn)m(utls)p 483 4358 37 5 v 55 w(op)s(enpgp)p -991 4358 V 55 w(privk)m(ey)p 1446 4358 V 54 w(get)p 1665 -4358 V 54 w(subk)m(ey)p 2086 4358 V 54 w(idx)3350 4560 +(t)390 787 y(can)31 b(b)s(e)e(16)j(or)e(20)h(b)m(ytes.)390 +914 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f(returned,)f(or)i +(an)f(error)g(co)s(de.)390 1040 y Fn(Since:)41 b FB(2.4.0)150 +1223 y Fv(gn)m(utls)p 483 1223 37 5 v 55 w(op)s(enpgp)p +991 1223 V 55 w(privk)m(ey)p 1446 1223 V 54 w(get)p 1665 +1223 V 54 w(subk)m(ey)p 2086 1223 V 54 w(idx)3350 1403 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge) -q(t_s)q(ubk)q(ey_)q(idx)565 4670 y Fg(\()p Ff(gn)m(utls)p -846 4670 28 4 v 41 w(op)s(enpgp)p 1224 4670 V 39 w(privk)m(ey)p -1556 4670 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(const)f(gn)m(utls)p -2363 4670 V 41 w(op)s(enpgp)p 2741 4670 V 39 w(k)m(eyid)p -2989 4670 V 40 w(t)h Fe(keyid)12 b Fg(\))390 4780 y Ff(k)m(ey)c +q(t_s)q(ubk)q(ey_)q(idx)565 1513 y Fg(\()p Ff(gn)m(utls)p +846 1513 28 4 v 41 w(op)s(enpgp)p 1224 1513 V 39 w(privk)m(ey)p +1556 1513 V 40 w(t)31 b Fe(key)p Ff(,)g(const)g(gn)m(utls)p +2352 1513 V 40 w(op)s(enpgp)p 2729 1513 V 39 w(k)m(eyid)p +2977 1513 V 41 w(t)f Fe(keyid)12 b Fg(\))390 1623 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e -(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 4920 y Ff(k)m(eyid)t -FB(:)41 b(the)30 b(k)m(eyid.)390 5060 y(Get)h(index)f(of)h(subk)m(ey)-8 -b(.)390 5200 y Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(subk)m +(priv)-5 b(ate)31 b(k)m(ey)-8 b(.)390 1749 y Ff(k)m(eyid)t +FB(:)41 b(the)30 b(k)m(eyid.)390 1875 y(Get)h(index)f(of)h(subk)m(ey)-8 +b(.)390 2002 y Fn(Returns:)40 b FB(the)31 b(index)f(of)g(the)h(subk)m (ey)f(or)g(a)h(negativ)m(e)i(error)d(v)-5 b(alue.)390 -5340 y Fn(Since:)41 b FB(2.4.0)p eop end -%%Page: 260 266 -TeXDict begin 260 265 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(260)150 299 y -Fu(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 -V 55 w(privk)m(ey)p 1446 299 V 54 w(get)p 1665 299 V -54 w(subk)m(ey)p 2086 299 V 54 w(id)3350 488 y FB([F)-8 -b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q(t_s)q -(ubk)q(ey_)q(id)565 597 y Fg(\()p Ff(gn)m(utls)p 846 -597 28 4 v 41 w(op)s(enpgp)p 1224 597 V 39 w(privk)m(ey)p -1556 597 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(gn)m(utls)p 2868 597 V 40 w(op)s(enpgp)p -3245 597 V 39 w(k)m(eyid)p 3493 597 V 41 w(t)565 707 -y Fe(keyid)12 b Fg(\))390 817 y Ff(k)m(ey)c FB(:)41 b(the)31 -b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(secret)i(k)m(ey) --8 b(.)390 947 y Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 -1078 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h -(the)e(k)m(eyid.)390 1208 y(Get)h(the)g(k)m(ey-id)g(for)f(the)h(subk)m -(ey)-8 b(.)390 1339 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f -(of)g(the)f(Op)s(enPGP)f(k)m(ey)-8 b(.)390 1469 y Fn(Since:)41 -b FB(2.4.0)150 1661 y Fu(gn)m(utls)p 483 1661 37 5 v -55 w(op)s(enpgp)p 991 1661 V 55 w(privk)m(ey)p 1446 1661 -V 54 w(get)p 1665 1661 V 54 w(subk)m(ey)p 2086 1661 V -54 w(pk)p 2273 1661 V 54 w(algorithm)3350 1849 y FB([F)-8 -b(unction])-3599 b Fh(gnutls_pk_algorithm_t)565 1959 +2128 y Fn(Since:)41 b FB(2.4.0)150 2311 y Fv(gn)m(utls)p +483 2311 37 5 v 55 w(op)s(enpgp)p 991 2311 V 55 w(privk)m(ey)p +1446 2311 V 54 w(get)p 1665 2311 V 54 w(subk)m(ey)p 2086 +2311 V 54 w(id)3350 2491 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q(t_s)q(ubk)q(ey_)q(id)565 +2601 y Fg(\()p Ff(gn)m(utls)p 846 2601 28 4 v 41 w(op)s(enpgp)p +1224 2601 V 39 w(privk)m(ey)p 1556 2601 V 40 w(t)31 b +Fe(key)p Ff(,)g(unsigned)e(in)m(t)i Fe(idx)p Ff(,)h(gn)m(utls)p +2845 2601 V 40 w(op)s(enpgp)p 3222 2601 V 39 w(k)m(eyid)p +3470 2601 V 41 w(t)565 2710 y Fe(keyid)12 b Fg(\))390 +2820 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con)m(tains)g +(the)g(Op)s(enPGP)e(secret)i(k)m(ey)-8 b(.)390 2946 y +Ff(idx)6 b FB(:)41 b(the)30 b(subk)m(ey)g(index)390 3073 +y Ff(k)m(eyid)t FB(:)41 b(the)30 b(bu\013er)g(to)h(sa)m(v)m(e)h(the)e +(k)m(eyid.)390 3199 y(Get)h(the)g(k)m(ey-id)g(for)f(the)h(subk)m(ey)-8 +b(.)390 3325 y Fn(Returns:)40 b FB(the)31 b(64-bit)h(k)m(eyID)f(of)g +(the)f(Op)s(enPGP)f(k)m(ey)-8 b(.)390 3452 y Fn(Since:)41 +b FB(2.4.0)150 3634 y Fv(gn)m(utls)p 483 3634 37 5 v +55 w(op)s(enpgp)p 991 3634 V 55 w(privk)m(ey)p 1446 3634 +V 54 w(get)p 1665 3634 V 54 w(subk)m(ey)p 2086 3634 V +54 w(pk)p 2273 3634 V 54 w(algorithm)3350 3815 y FB([F)-8 +b(unction])-3599 b Fh(gnutls_pk_algorithm_t)565 3925 y(gnutls_openpgp_privkey)q(_ge)q(t_s)q(ubk)q(ey_p)q(k_a)q(lgo)q(rith)q -(m)565 2069 y Fg(\()p Ff(gn)m(utls)p 846 2069 28 4 v -41 w(op)s(enpgp)p 1224 2069 V 39 w(privk)m(ey)p 1556 -2069 V 40 w(t)31 b Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i -Fe(idx)12 b Ff(,)31 b(unsigned)e(in)m(t)i(*)g Fe(bits)12 -b Fg(\))390 2178 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m -(ey)390 2309 y Ff(idx)6 b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index)390 -2439 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h +(m)565 4034 y Fg(\()p Ff(gn)m(utls)p 846 4034 28 4 v +41 w(op)s(enpgp)p 1224 4034 V 39 w(privk)m(ey)p 1556 +4034 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)e(in)m(t)i +Fe(idx)p Ff(,)h(unsigned)d(in)m(t)i(*)g Fe(bits)12 b +Fg(\))390 4144 y Ff(k)m(ey)c FB(:)41 b(is)31 b(an)f(Op)s(enPGP)f(k)m +(ey)390 4270 y Ff(idx)6 b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index)390 +4396 y Ff(bits)t FB(:)40 b(if)31 b(bits)f(is)g(non)g(n)m(ull)g(it)h (will)g(hold)f(the)h(size)g(of)f(the)h(parameters')g(in)f(bits)390 -2570 y(This)j(function)g(will)g(return)g(the)g(public)g(k)m(ey)h +4523 y(This)j(function)g(will)g(return)g(the)g(public)g(k)m(ey)h (algorithm)g(of)g(a)g(subk)m(ey)f(of)g(an)g(Op)s(enPGP)f(cer-)390 -2679 y(ti\014cate.)390 2810 y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h +4632 y(ti\014cate.)390 4759 y(If)d(bits)g(is)g(non)g(n)m(ull,)g(it)h (should)e(ha)m(v)m(e)i(enough)f(size)h(to)g(hold)f(the)h(parameters)f -(size)h(in)f(bits.)40 b(F)-8 b(or)390 2920 y(RSA)33 b(the)h(bits)f +(size)h(in)f(bits.)40 b(F)-8 b(or)390 4868 y(RSA)33 b(the)h(bits)f (returned)f(is)i(the)f(mo)s(dulus.)49 b(F)-8 b(or)34 b(DSA)f(the)h(bits)f(returned)f(are)i(of)g(the)g(public)390 -3029 y(exp)s(onen)m(t.)390 3160 y Fn(Returns:)61 b FB(a)40 -b(mem)m(b)s(er)g(of)h(the)g Fs(gnutls_pk_algorithm_t)34 -b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 3269 -y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 3400 -y Fn(Since:)41 b FB(2.4.0)150 3591 y Fu(gn)m(utls)p 483 -3591 37 5 v 55 w(op)s(enpgp)p 991 3591 V 55 w(privk)m(ey)p -1446 3591 V 54 w(get)p 1665 3591 V 54 w(subk)m(ey)p 2086 -3591 V 54 w(rev)m(ok)m(ed)p 2555 3591 V 53 w(status)3350 -3780 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q -(y_ge)q(t_s)q(ubk)q(ey_)q(revo)q(ked)q(_st)q(atus)565 -3890 y Fg(\()p Ff(gn)m(utls)p 846 3890 28 4 v 41 w(op)s(enpgp)p -1224 3890 V 39 w(privk)m(ey)p 1556 3890 V 40 w(t)31 b -Fe(key)12 b Ff(,)31 b(unsigned)e(in)m(t)i Fe(idx)12 b -Fg(\))390 3999 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h(con) -m(tains)g(the)g(Op)s(enPGP)e(priv)-5 b(ate)31 b(k)m(ey)-8 -b(.)390 4130 y Ff(idx)6 b FB(:)41 b(is)30 b(the)h(subk)m(ey)f(index)390 -4260 y(Get)h(rev)m(o)s(cation)i(status)d(of)h(k)m(ey)-8 -b(.)390 4391 y Fn(Returns:)40 b FB(true)30 b(\(1\))h(if)f(the)g(k)m(ey) -g(has)g(b)s(een)f(rev)m(ok)m(ed,)j(or)e(false)g(\(0\))h(if)f(it)g(has)g -(not,)h(or)e(a)i(negativ)m(e)390 4500 y(v)-5 b(alue)31 -b(indicates)g(an)f(error.)390 4631 y Fn(Since:)41 b FB(2.4.0)150 -4822 y Fu(gn)m(utls)p 483 4822 37 5 v 55 w(op)s(enpgp)p -991 4822 V 55 w(privk)m(ey)p 1446 4822 V 54 w(imp)s(ort)3350 -5011 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q -(y_im)q(por)q(t)e Fg(\()p Ff(gn)m(utls)p 2202 5011 28 -4 v 41 w(op)s(enpgp)p 2580 5011 V 39 w(privk)m(ey)p 2912 -5011 V 40 w(t)565 5121 y Fe(key)12 b Ff(,)31 b(const)g(gn)m(utls)p -1273 5121 V 40 w(datum)p 1571 5121 V 40 w(t)g(*)f Fe(data)12 -b Ff(,)32 b(gn)m(utls)p 2269 5121 V 40 w(op)s(enpgp)p -2646 5121 V 39 w(crt)p 2796 5121 V 40 w(fm)m(t)p 2972 -5121 V 41 w(t)e Fe(format)12 b Ff(,)32 b(const)565 5230 -y(c)m(har)f(*)g Fe(password)12 b Ff(,)32 b(unsigned)d(in)m(t)i -Fe(flags)12 b Fg(\))390 5340 y Ff(k)m(ey)c FB(:)41 b(The)30 -b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)-8 b(.)p -eop end -%%Page: 261 267 -TeXDict begin 261 266 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(261)390 299 y -Ff(data)p FB(:)41 b(The)30 b(RA)-10 b(W)31 b(or)f(BASE64)i(enco)s(ded)e -(k)m(ey)-8 b(.)390 429 y Ff(format)r FB(:)41 b(One)30 -b(of)g Fs(gnutls_openpgp_crt_fmt_t)24 b FB(elemen)m(ts.)390 -559 y Ff(passw)m(ord)t FB(:)40 b(not)30 b(used)g(for)g(no)m(w)390 -690 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(zero)390 -820 y(This)46 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(RA) +4978 y(exp)s(onen)m(t.)390 5104 y Fn(Returns:)61 b FB(a)40 +b(mem)m(b)s(er)g(of)h(the)g Ft(gnutls_pk_algorithm_t)34 +b FB(en)m(umeration)41 b(on)g(success,)i(or)e(a)390 5214 +y(negativ)m(e)33 b(v)-5 b(alue)30 b(on)h(error.)390 5340 +y Fn(Since:)41 b FB(2.4.0)p eop end +%%Page: 244 250 +TeXDict begin 244 249 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(244)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(privk)m(ey)p 1446 299 V 54 w(get)p 1665 299 V +54 w(subk)m(ey)p 2086 299 V 54 w(rev)m(ok)m(ed)p 2555 +299 V 53 w(status)3350 515 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_privke)q(y_ge)q(t_s)q(ubk)q(ey_)q(revo)q +(ked)q(_st)q(atus)565 624 y Fg(\()p Ff(gn)m(utls)p 846 +624 28 4 v 41 w(op)s(enpgp)p 1224 624 V 39 w(privk)m(ey)p +1556 624 V 40 w(t)31 b Fe(key)p Ff(,)g(unsigned)e(in)m(t)i +Fe(idx)12 b Fg(\))390 734 y Ff(k)m(ey)c FB(:)41 b(the)31 +b(structure)f(that)h(con)m(tains)g(the)g(Op)s(enPGP)e(priv)-5 +b(ate)31 b(k)m(ey)-8 b(.)390 887 y Ff(idx)6 b FB(:)41 +b(is)30 b(the)h(subk)m(ey)f(index)390 1040 y(Get)h(rev)m(o)s(cation)i +(status)d(of)h(k)m(ey)-8 b(.)390 1194 y Fn(Returns:)40 +b FB(true)30 b(\(1\))h(if)f(the)g(k)m(ey)g(has)g(b)s(een)f(rev)m(ok)m +(ed,)j(or)e(false)g(\(0\))h(if)f(it)g(has)g(not,)h(or)e(a)i(negativ)m +(e)390 1303 y(v)-5 b(alue)31 b(indicates)g(an)f(error.)390 +1457 y Fn(Since:)41 b FB(2.4.0)150 1675 y Fv(gn)m(utls)p +483 1675 37 5 v 55 w(op)s(enpgp)p 991 1675 V 55 w(privk)m(ey)p +1446 1675 V 54 w(imp)s(ort)3350 1891 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_openpgp_privke)q(y_im)q(por)q(t)e +Fg(\()p Ff(gn)m(utls)p 2202 1891 28 4 v 41 w(op)s(enpgp)p +2580 1891 V 39 w(privk)m(ey)p 2912 1891 V 40 w(t)31 b +Fe(key)p Ff(,)565 2000 y(const)g(gn)m(utls)p 1049 2000 +V 40 w(datum)p 1347 2000 V 40 w(t)g(*)f Fe(data)p Ff(,)i(gn)m(utls)p +2033 2000 V 41 w(op)s(enpgp)p 2411 2000 V 38 w(crt)p +2560 2000 V 41 w(fm)m(t)p 2737 2000 V 40 w(t)f Fe(format)p +Ff(,)h(const)f(c)m(har)g(*)565 2110 y Fe(pass)p Ff(,)h(unsigned)d(in)m +(t)i Fe(flags)12 b Fg(\))390 2219 y Ff(k)m(ey)c FB(:)41 +b(The)30 b(structure)g(to)h(store)g(the)g(parsed)e(k)m(ey)-8 +b(.)390 2373 y Ff(data)p FB(:)41 b(The)30 b(RA)-10 b(W)31 +b(or)f(BASE64)i(enco)s(ded)e(k)m(ey)-8 b(.)390 2526 y +Ff(format)r FB(:)41 b(One)30 b(of)g(gn)m(utls)p 1264 +2526 V 41 w(op)s(enpgp)p 1642 2526 V 39 w(crt)p 1792 +2526 V 40 w(fm)m(t)p 1968 2526 V 40 w(t)h(elemen)m(ts.)390 +2680 y Ff(pass)t FB(:)40 b(Un)m(used)30 b(for)g(no)m(w)390 +2833 y Ff(\015ags)t FB(:)41 b(should)29 b(b)s(e)h(zero)390 +2986 y(This)46 b(function)h(will)g(con)m(v)m(ert)i(the)e(giv)m(en)h(RA) -10 b(W)48 b(or)f(Base64)i(enco)s(ded)e(k)m(ey)h(to)f(the)h(nativ)m(e) -390 929 y(gn)m(utls)p 636 929 28 4 v 40 w(op)s(enpgp)p -1013 929 V 39 w(privk)m(ey)p 1345 929 V 40 w(t)31 b(format.)41 +390 3096 y(gn)m(utls)p 636 3096 V 40 w(op)s(enpgp)p 1013 +3096 V 39 w(privk)m(ey)p 1345 3096 V 40 w(t)31 b(format.)41 b(The)30 b(output)g(will)h(b)s(e)e(stored)i(in)f('k)m(ey'.)390 -1060 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 1250 y Fu(gn)m(utls)p -483 1250 37 5 v 55 w(op)s(enpgp)p 991 1250 V 55 w(privk)m(ey)p -1446 1250 V 54 w(init)3350 1438 y FB([F)-8 b(unction])-3599 +3249 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 3468 y Fv(gn)m(utls)p +483 3468 37 5 v 55 w(op)s(enpgp)p 991 3468 V 55 w(privk)m(ey)p +1446 3468 V 54 w(init)3350 3683 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_in)q(it)f Fg(\()p -Ff(gn)m(utls)p 2098 1438 28 4 v 41 w(op)s(enpgp)p 2476 -1438 V 38 w(privk)m(ey)p 2807 1438 V 41 w(t)30 b(*)h -Fe(key)12 b Fg(\))390 1548 y Ff(k)m(ey)c FB(:)41 b(The)30 -b(structure)g(to)h(b)s(e)f(initialized)390 1678 y(This)g(function)g +Ff(gn)m(utls)p 2098 3683 28 4 v 41 w(op)s(enpgp)p 2476 +3683 V 38 w(privk)m(ey)p 2807 3683 V 41 w(t)30 b(*)h +Fe(key)12 b Fg(\))390 3793 y Ff(k)m(ey)c FB(:)41 b(The)30 +b(structure)g(to)h(b)s(e)f(initialized)390 3946 y(This)g(function)g (will)g(initialize)j(an)d(Op)s(enPGP)f(k)m(ey)i(structure.)390 -1808 y Fn(Returns:)40 b Fs(GNUTLS_E_SUCCESS)26 b FB(on)31 -b(success,)f(or)h(an)f(error)g(co)s(de.)150 1999 y Fu(gn)m(utls)p -483 1999 37 5 v 55 w(op)s(enpgp)p 991 1999 V 55 w(privk)m(ey)p -1446 1999 V 54 w(set)p 1652 1999 V 54 w(preferred)p 2197 -1999 V 55 w(k)m(ey)p 2435 1999 V 53 w(id)3350 2187 y +4100 y Fn(Returns:)40 b Ft(GNUTLS_E_SUCCESS)26 b FB(on)31 +b(success,)f(or)h(an)f(error)g(co)s(de.)150 4318 y Fv(gn)m(utls)p +483 4318 37 5 v 55 w(op)s(enpgp)p 991 4318 V 55 w(privk)m(ey)p +1446 4318 V 54 w(set)p 1652 4318 V 54 w(preferred)p 2197 +4318 V 55 w(k)m(ey)p 2435 4318 V 53 w(id)3350 4533 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_se)q -(t_p)q(ref)q(err)q(ed_k)q(ey_)q(id)565 2297 y Fg(\()p -Ff(gn)m(utls)p 846 2297 28 4 v 41 w(op)s(enpgp)p 1224 -2297 V 39 w(privk)m(ey)p 1556 2297 V 40 w(t)31 b Fe(key)12 -b Ff(,)31 b(const)f(gn)m(utls)p 2363 2297 V 41 w(op)s(enpgp)p -2741 2297 V 39 w(k)m(eyid)p 2989 2297 V 40 w(t)h Fe(keyid)12 -b Fg(\))390 2406 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h +(t_p)q(ref)q(err)q(ed_k)q(ey_)q(id)565 4643 y Fg(\()p +Ff(gn)m(utls)p 846 4643 28 4 v 41 w(op)s(enpgp)p 1224 +4643 V 39 w(privk)m(ey)p 1556 4643 V 40 w(t)31 b Fe(key)p +Ff(,)g(const)g(gn)m(utls)p 2352 4643 V 40 w(op)s(enpgp)p +2729 4643 V 39 w(k)m(eyid)p 2977 4643 V 41 w(t)f Fe(keyid)12 +b Fg(\))390 4753 y Ff(k)m(ey)c FB(:)41 b(the)31 b(structure)f(that)h (con)m(tains)g(the)g(Op)s(enPGP)e(public)h(k)m(ey)-8 -b(.)390 2537 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(selected)i(k)m(eyid)390 -2667 y(This)f(allo)m(ws)h(setting)h(a)f(preferred)e(k)m(ey)i(id)f(for)g +b(.)390 4906 y Ff(k)m(eyid)t FB(:)41 b(the)30 b(selected)i(k)m(eyid)390 +5059 y(This)f(allo)m(ws)h(setting)h(a)f(preferred)e(k)m(ey)i(id)f(for)g (the)h(giv)m(en)g(certi\014cate.)46 b(This)31 b(k)m(ey)h(will)g(b)s(e)f -(used)390 2776 y(b)m(y)f(functions)g(that)h(in)m(v)m(olv)m(e)i(k)m(ey)e -(handling.)390 2907 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f -(returned,)f(or)i(an)f(error)g(co)s(de.)150 3097 y Fu(gn)m(utls)p -483 3097 37 5 v 55 w(op)s(enpgp)p 991 3097 V 55 w(privk)m(ey)p -1446 3097 V 54 w(sign)p 1711 3097 V 55 w(hash)3350 3285 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_openpgp_privke)q(y_si) -q(gn_)q(has)q(h)e Fg(\()p Ff(gn)m(utls)p 2359 3285 28 -4 v 41 w(op)s(enpgp)p 2737 3285 V 39 w(privk)m(ey)p 3069 -3285 V 40 w(t)565 3395 y Fe(key)12 b Ff(,)31 b(const)g(gn)m(utls)p -1273 3395 V 40 w(datum)p 1571 3395 V 40 w(t)g(*)f Fe(hash)12 -b Ff(,)32 b(gn)m(utls)p 2269 3395 V 40 w(datum)p 2567 -3395 V 40 w(t)e(*)h Fe(signature)12 b Fg(\))390 3505 -y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 3635 -y Ff(hash)p FB(:)40 b(holds)30 b(the)g(data)h(to)h(b)s(e)d(signed)390 -3765 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(newly)e(allo)s -(cated)i(signature)390 3895 y(This)27 b(function)h(will)h(sign)f(the)h -(giv)m(en)g(hash)f(using)f(the)i(priv)-5 b(ate)29 b(k)m(ey)-8 -b(.)41 b(Y)-8 b(ou)29 b(should)e(use)h Fs(gnutls_)390 -4005 y(openpgp_privkey_set_subk)o(ey\(\))36 b FB(b)s(efore)42 +(used)390 5169 y(b)m(y)f(functions)g(that)h(in)m(v)m(olv)m(e)i(k)m(ey)e +(handling.)390 5322 y Fn(Returns:)40 b FB(On)30 b(success,)h(0)g(is)f +(returned,)f(or)i(an)f(error)g(co)s(de.)p eop end +%%Page: 245 251 +TeXDict begin 245 250 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(245)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(op)s(enpgp)p 991 299 +V 55 w(privk)m(ey)p 1446 299 V 54 w(sign)p 1711 299 V +55 w(hash)3350 497 y FB([F)-8 b(unction])-3599 b Fh(int)53 +b(gnutls_openpgp_privke)q(y_si)q(gn_)q(has)q(h)e Fg(\()p +Ff(gn)m(utls)p 2359 497 28 4 v 41 w(op)s(enpgp)p 2737 +497 V 39 w(privk)m(ey)p 3069 497 V 40 w(t)565 607 y Fe(key)p +Ff(,)32 b(const)e(gn)m(utls)p 1261 607 V 41 w(datum)p +1560 607 V 39 w(t)h(*)g Fe(hash)p Ff(,)h(gn)m(utls)p +2246 607 V 40 w(datum)p 2544 607 V 40 w(t)e(*)h Fe(signature)12 +b Fg(\))390 717 y Ff(k)m(ey)c FB(:)41 b(Holds)31 b(the)f(k)m(ey)390 +853 y Ff(hash)p FB(:)40 b(holds)30 b(the)g(data)h(to)h(b)s(e)d(signed) +390 989 y Ff(signature)5 b FB(:)41 b(will)31 b(con)m(tain)h(newly)e +(allo)s(cated)i(signature)390 1125 y(This)27 b(function)h(will)h(sign)f +(the)h(giv)m(en)g(hash)f(using)f(the)i(priv)-5 b(ate)29 +b(k)m(ey)-8 b(.)41 b(Y)-8 b(ou)29 b(should)e(use)h Ft(gnutls_)390 +1235 y(openpgp_privkey_set_subk)o(ey\(\))36 b FB(b)s(efore)42 b(calling)h(this)g(function)f(to)h(set)g(the)f(subk)m(ey)g(to)390 -4114 y(use.)390 4245 y Fn(Returns:)36 b FB(On)20 b(success,)j -Fs(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h -(negativ)m(e)h(error)d(v)-5 b(alue.)150 4435 y Fu(gn)m(utls)p -483 4435 37 5 v 55 w(op)s(enpgp)p 991 4435 V 55 w(set)p -1198 4435 V 55 w(recv)p 1479 4435 V 53 w(k)m(ey)p 1715 -4435 V 53 w(function)3350 4624 y FB([F)d(unction])-3599 +1344 y(use.)390 1481 y Fn(Returns:)36 b FB(On)20 b(success,)j +Ft(GNUTLS_E_SUCCESS)16 b FB(is)21 b(returned,)h(otherwise)f(a)h +(negativ)m(e)h(error)d(v)-5 b(alue.)150 1682 y Fv(gn)m(utls)p +483 1682 37 5 v 55 w(op)s(enpgp)p 991 1682 V 55 w(set)p +1198 1682 V 55 w(recv)p 1479 1682 V 53 w(k)m(ey)p 1715 +1682 V 53 w(function)3350 1880 y FB([F)d(unction])-3599 b Fh(void)54 b(gnutls_openpgp_set_recv_)q(key)q(_fu)q(nct)q(ion)e -Fg(\()p Ff(gn)m(utls)p 2621 4624 28 4 v 41 w(session)p -2931 4624 V 40 w(t)565 4733 y Fe(session)12 b Ff(,)32 -b(gn)m(utls)p 1244 4733 V 41 w(op)s(enpgp)p 1622 4733 -V 39 w(recv)p 1825 4733 V 40 w(k)m(ey)p 1998 4733 V 41 -w(func)d Fe(func)12 b Fg(\))390 4843 y Ff(session)p FB(:)41 -b(a)31 b(TLS)e(session)390 4973 y Ff(func)6 b FB(:)39 -b(the)31 b(callbac)m(k)390 5103 y(This)25 b(fun)m(tion)h(will)g(set)h -(a)f(k)m(ey)h(retriev)-5 b(al)27 b(function)f(for)g(Op)s(enPGP)e(k)m -(eys.)40 b(This)26 b(callbac)m(k)i(is)e(only)390 5213 -y(useful)33 b(in)h(serv)m(er)g(side,)h(and)f(will)g(b)s(e)f(used)h(if)g -(the)g(p)s(eer)f(sen)m(t)i(a)f(k)m(ey)h(\014ngerprin)m(t)e(instead)h -(of)h(a)390 5322 y(full)30 b(k)m(ey)-8 b(.)p eop end -%%Page: 262 268 -TeXDict begin 262 267 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(262)150 299 y -FA(9.5)68 b Fu(TLS)45 b FA(Inner)g(Application)g(\()p -Fu(TLS/IA)p FA(\))h(F)-11 b(unctions)150 458 y FB(The)31 -b(follo)m(wing)h(functions)f(are)g(used)g(for)f Ft(TLS)h -FB(Inner)f(Application)i(\()p Ft(TLS/IA)p FB(\).)g(Their)f(protot)m(yp) -s(es)g(lie)150 568 y(in)38 b(`)p Fs(gnutls/extra.h)p -FB('.)61 b(Y)-8 b(ou)39 b(need)f(to)h(link)f(with)g(`)p -Fs(libgnutls-extra)p FB(')d(to)k(b)s(e)f(able)g(to)h(use)f(these)150 -677 y(functions)30 b(\(see)h(Section)g(9.3)h([Gn)m(uTLS-extra)e -(functions],)h(page)g(242\).)150 824 y(The)d(t)m(ypical)i(con)m(trol)g +Fg(\()p Ff(gn)m(utls)p 2621 1880 28 4 v 41 w(session)p +2931 1880 V 40 w(t)565 1990 y Fe(session)p Ff(,)33 b(gn)m(utls)p +1233 1990 V 40 w(op)s(enpgp)p 1610 1990 V 39 w(recv)p +1813 1990 V 40 w(k)m(ey)p 1986 1990 V 41 w(func)d Fe(func)12 +b Fg(\))390 2099 y Ff(session)p FB(:)41 b(a)31 b(TLS)e(session)390 +2235 y Ff(func)6 b FB(:)39 b(the)31 b(callbac)m(k)390 +2372 y(This)25 b(fun)m(tion)h(will)g(set)h(a)f(k)m(ey)h(retriev)-5 +b(al)27 b(function)f(for)g(Op)s(enPGP)e(k)m(eys.)40 b(This)26 +b(callbac)m(k)i(is)e(only)390 2481 y(useful)33 b(in)h(serv)m(er)g +(side,)h(and)f(will)g(b)s(e)f(used)h(if)g(the)g(p)s(eer)f(sen)m(t)i(a)f +(k)m(ey)h(\014ngerprin)m(t)e(instead)h(of)h(a)390 2591 +y(full)30 b(k)m(ey)-8 b(.)150 2826 y FA(9.5)68 b Fv(TLS)45 +b FA(Inner)g(Application)g(\()p Fv(TLS/IA)p FA(\))h(F)-11 +b(unctions)150 2985 y FB(The)31 b(follo)m(wing)h(functions)f(are)g +(used)g(for)f Fu(TLS)h FB(Inner)f(Application)i(\()p +Fu(TLS/IA)p FB(\).)g(Their)f(protot)m(yp)s(es)g(lie)150 +3095 y(in)38 b(`)p Ft(gnutls/extra.h)p FB('.)61 b(Y)-8 +b(ou)39 b(need)f(to)h(link)f(with)g(`)p Ft(libgnutls-extra)p +FB(')d(to)k(b)s(e)f(able)g(to)h(use)f(these)150 3205 +y(functions)30 b(\(see)h(Section)g(9.3)h([Gn)m(uTLS-extra)e +(functions],)h(page)g(226\).)150 3341 y(The)d(t)m(ypical)i(con)m(trol)g (\015o)m(w)f(in)f(an)h(TLS/IA)f(clien)m(t)i(\(that)f(w)m(ould)g(not)g -(require)f(an)g(Application)i(Phase)150 934 y(for)g(resumed)f +(require)f(an)g(Application)i(Phase)150 3450 y(for)g(resumed)f (sessions\))i(w)m(ould)f(b)s(e)g(similar)h(to)g(the)f(follo)m(wing:)390 -1081 y Fs(int)47 b(client_avp)e(\(gnuls_session_t)e(*session,)j(void)g -(*ptr,)1154 1191 y(const)g(char)h(*last,)f(size_t)g(lastlen,)390 -1300 y(char)h(**new,)f(size_t)g(*newlen\))390 1410 y({)390 -1519 y(...)390 1629 y(})390 1738 y(...)390 1848 y(int)h(main)g(\(\))390 -1958 y({)485 2067 y(gnutls_ia_client_credentia)o(ls_t)41 -b(iacred;)390 2177 y(...)485 2286 y(gnutls_init)k(\(&session,)g -(GNUTLS_CLIENT\);)390 2396 y(...)485 2506 y(/*)j(Enable)e(TLS/IA.)g(*/) -485 2615 y(gnutls_ia_allocate_client_)o(cred)o(ent)o(ials)o(\(&ia)o -(cre)o(d\);)485 2725 y(gnutls_ia_set_client_avp_f)o(unct)o(ion)o(\(iac) -o(red,)41 b(client_avp\);)485 2834 y(gnutls_credentials_set)h -(\(session,)j(GNUTLS_CRD_IA,)f(iacred\);)390 2944 y(...)485 -3054 y(ret)j(=)h(gnutls_handshake)43 b(\(session\);)485 -3163 y(//)48 b(Error)e(handling...)390 3273 y(...)485 -3382 y(if)i(\(gnutls_ia_handshake_p)41 b(\(session\)\))581 -3492 y({)676 3601 y(ret)47 b(=)h(gnutls_ia_handshake)42 -b(\(session\);)676 3711 y(//)48 b(Error)e(handling...)390 -3821 y(...)150 3968 y FB(See)31 b(b)s(elo)m(w)f(for)g(detailed)i +3587 y Ft(int)47 b(client_avp)e(\(gnuls_session_t)e(*session,)j(void)g +(*ptr,)1154 3696 y(const)g(char)h(*last,)f(size_t)g(lastlen,)390 +3806 y(char)h(**new,)f(size_t)g(*newlen\))390 3915 y({)390 +4025 y(...)390 4134 y(})390 4244 y(...)390 4354 y(int)h(main)g(\(\))390 +4463 y({)485 4573 y(gnutls_ia_client_credentia)o(ls_t)41 +b(iacred;)390 4682 y(...)485 4792 y(gnutls_init)k(\(&session,)g +(GNUTLS_CLIENT\);)390 4902 y(...)485 5011 y(/*)j(Enable)e(TLS/IA.)g(*/) +485 5121 y(gnutls_ia_allocate_client_)o(cred)o(ent)o(ials)o(\(&ia)o +(cre)o(d\);)485 5230 y(gnutls_ia_set_client_avp_f)o(unct)o(ion)o(\(iac) +o(red,)41 b(client_avp\);)485 5340 y(gnutls_credentials_set)h +(\(session,)j(GNUTLS_CRD_IA,)f(iacred\);)p eop end +%%Page: 246 252 +TeXDict begin 246 251 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(246)390 299 y +Ft(...)485 408 y(ret)47 b(=)h(gnutls_handshake)43 b(\(session\);)485 +518 y(//)48 b(Error)e(handling...)390 628 y(...)485 737 +y(if)i(\(gnutls_ia_handshake_p)41 b(\(session\)\))581 +847 y({)676 956 y(ret)47 b(=)h(gnutls_ia_handshake)42 +b(\(session\);)676 1066 y(//)48 b(Error)e(handling...)390 +1176 y(...)150 1342 y FB(See)31 b(b)s(elo)m(w)f(for)g(detailed)i (descriptions)e(of)h(all)g(the)f(functions)g(used)g(ab)s(o)m(v)m(e.)150 -4115 y(The)35 b(function)h Fs(client_avp)d FB(w)m(ould)j(ha)m(v)m(e)h +1507 y(The)35 b(function)h Ft(client_avp)d FB(w)m(ould)j(ha)m(v)m(e)h (to)f(b)s(e)g(implemen)m(ted)g(b)m(y)g(y)m(our)g(application.)58 -b(The)36 b(func-)150 4224 y(tion)29 b(is)g(resp)s(onsible)f(for)g +b(The)36 b(func-)150 1617 y(tion)29 b(is)g(resp)s(onsible)f(for)g (handling)g(the)h(A)-10 b(VP)29 b(data.)41 b(See)29 b -Fs(gnutls_ia_set_client_avp)o(_fun)o(ctio)o(n)150 4334 +Ft(gnutls_ia_set_client_avp)o(_fun)o(ctio)o(n)150 1727 y FB(b)s(elo)m(w)i(for)f(more)g(information)h(on)f(ho)m(w)h(that)g -(function)f(should)f(b)s(e)h(implemen)m(ted.)150 4481 +(function)f(should)f(b)s(e)h(implemen)m(ted.)150 1893 y(The)50 b(con)m(trol)i(\015o)m(w)e(in)g(a)h(t)m(ypical)h(serv)m(er)f (is)f(similar)h(to)g(the)g(ab)s(o)m(v)m(e,)57 b(use)50 -b Fs(gnutls_ia_server_)150 4590 y(credentials_t)27 b -FB(instead)j(of)h Fs(gnutls_ia_client_creden)o(tia)o(ls_t)o +b Ft(gnutls_ia_server_)150 2002 y(credentials_t)27 b +FB(instead)j(of)h Ft(gnutls_ia_client_creden)o(tia)o(ls_t)o FB(,)25 b(and)30 b(replace)h(the)f(call)i(to)f(the)150 -4700 y(clien)m(t)h(functions)e(with)g(the)h(corresp)s(onding)e(serv)m -(er)h(functions.)150 4912 y Fu(gn)m(utls)p 483 4912 37 -5 v 55 w(ia)p 632 4912 V 53 w(allo)s(cate)p 1096 4912 -V 54 w(clien)m(t)p 1442 4912 V 53 w(creden)m(tials)3350 -5121 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_allocate_cl)q -(ient)q(_cr)q(ede)q(nti)q(als)565 5230 y Fg(\()p Ff(gn)m(utls)p -846 5230 28 4 v 41 w(ia)p 957 5230 V 41 w(clien)m(t)p -1211 5230 V 41 w(creden)m(tials)p 1673 5230 V 42 w(t)30 -b(*)h Fe(sc)12 b Fg(\))390 5340 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g(p)s(oin)m(ter)f(to)h(a)g Fs(gnutls_ia_server_credent)o(ial)o(s_t) -24 b FB(structure.)p eop end -%%Page: 263 269 -TeXDict begin 263 268 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(263)390 299 y(This)31 -b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f(directly)g(th)m -(us)f(this)h(help)s(er)f(function)g(is)390 408 y(pro)m(vided)f(in)g -(order)g(to)h(allo)s(cate)i(it.)390 542 y(Adding)21 b(this)g(creden)m -(tial)j(to)e(a)g(session)g(will)g(enable)g(TLS/IA,)f(and)g(will)h -(require)f(an)h(Application)390 652 y(Phase)43 b(after)g(the)h(TLS)d -(handshak)m(e)i(\(if)g(the)g(serv)m(er)g(supp)s(ort)f(TLS/IA\).)g(Use)i -Fs(gnutls_ia_)390 762 y(require_inner_phase\(\))25 b -FB(to)31 b(toggle)h(the)f(TLS/IA)f(mo)s(de.)390 896 y -Fn(Returns:)46 b FB(On)32 b(success,)i Fs(GNUTLS_E_SUCCESS)29 -b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an)f(error)g(co)s(de)g(is) -390 1005 y(returned.)150 1203 y Fu(gn)m(utls)p 483 1203 -37 5 v 55 w(ia)p 632 1203 V 53 w(allo)s(cate)p 1096 1203 -V 54 w(serv)m(er)p 1472 1203 V 54 w(creden)m(tials)3350 -1399 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_allocate_se)q -(rver)q(_cr)q(ede)q(nti)q(als)565 1508 y Fg(\()p Ff(gn)m(utls)p -846 1508 28 4 v 41 w(ia)p 957 1508 V 41 w(serv)m(er)p -1231 1508 V 40 w(creden)m(tials)p 1692 1508 V 41 w(t)31 -b(*)g Fe(sc)12 b Fg(\))390 1618 y Ff(sc)6 b FB(:)40 b(is)31 -b(a)g(p)s(oin)m(ter)f(to)h(a)g Fs(gnutls_ia_server_credent)o(ial)o(s_t) -24 b FB(structure.)390 1752 y(This)31 b(structure)g(is)h(complex)g +2112 y(clien)m(t)h(functions)e(with)g(the)h(corresp)s(onding)e(serv)m +(er)h(functions.)150 2342 y Fv(gn)m(utls)p 483 2342 37 +5 v 55 w(ia)p 632 2342 V 53 w(allo)s(cate)p 1096 2342 +V 54 w(clien)m(t)p 1442 2342 V 53 w(creden)m(tials)3350 +2571 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_allocate_cl)q +(ient)q(_cr)q(ede)q(nti)q(als)565 2680 y Fg(\()p Ff(gn)m(utls)p +846 2680 28 4 v 41 w(ia)p 957 2680 V 41 w(clien)m(t)p +1211 2680 V 41 w(creden)m(tials)p 1673 2680 V 42 w(t)30 +b(*)h Fe(sc)12 b Fg(\))390 2790 y Ff(sc)6 b FB(:)40 b(is)31 +b(a)g(p)s(oin)m(ter)f(to)h(an)f Ft(gnutls_ia_server_credentia)o(ls_)o +(t)24 b FB(structure.)390 2956 y(This)31 b(structure)g(is)h(complex)g (enough)f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f -(function)g(is)390 1862 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i -(it.)390 1995 y(Adding)21 b(this)g(creden)m(tial)j(to)e(a)g(session)g +(function)g(is)390 3065 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i +(it.)390 3231 y(Adding)21 b(this)g(creden)m(tial)j(to)e(a)g(session)g (will)g(enable)g(TLS/IA,)f(and)g(will)h(require)f(an)h(Application)390 -2105 y(Phase)45 b(after)g(the)g(TLS)e(handshak)m(e)h(\(if)h(the)g -(clien)m(t)h(supp)s(ort)d(TLS/IA\).)i(Use)g Fs(gnutls_ia_)390 -2215 y(require_inner_phase\(\))25 b FB(to)31 b(toggle)h(the)f(TLS/IA)f -(mo)s(de.)390 2349 y Fn(Returns:)46 b FB(On)32 b(success,)i -Fs(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an) -f(error)g(co)s(de)g(is)390 2458 y(returned.)150 2656 -y Fu(gn)m(utls)p 483 2656 37 5 v 55 w(ia)p 632 2656 V -53 w(enable)3350 2852 y FB([F)-8 b(unction])-3599 b Fh(void)54 -b(gnutls_ia_enable)c Fg(\()p Ff(gn)m(utls)p 1575 2852 -28 4 v 41 w(session)p 1885 2852 V 40 w(t)30 b Fe(session)12 -b Ff(,)33 b(in)m(t)565 2962 y Fe(allow_skip_on_resume)12 -b Fg(\))390 3071 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 3205 y Ff(allo)m(w)p -599 3205 V 42 w(skip)p 801 3205 V 39 w(on)p 936 3205 -V 40 w(resume)5 b FB(:)41 b(non-zero)31 b(if)g(lo)s(cal)h(part)m(y)f -(allo)m(ws)h(to)f(skip)g(the)g(TLS/IA)f(application)390 -3315 y(phases)g(for)g(a)h(resumed)e(session.)390 3449 -y(Sp)s(ecify)44 b(whether)f(w)m(e)i(m)m(ust)f(adv)m(ertise)i(supp)s -(ort)c(for)i(the)h(TLS/IA)f(extension)h(during)e(the)390 -3558 y(handshak)m(e.)390 3692 y(A)m(t)34 b(the)e(clien)m(t)j(side,)e(w) -m(e)g(alw)m(a)m(ys)i(adv)m(ertise)e(TLS/IA)g(if)f(gn)m(utls)p -2640 3692 V 41 w(ia)p 2751 3692 V 40 w(enable)h(w)m(as)g(called)h(b)s -(efore)390 3802 y(the)25 b(handshak)m(e;)h(at)g(the)f(serv)m(er)g -(side,)h(w)m(e)f(also)h(require)e(that)i(the)f(clien)m(t)h(has)f(adv)m -(ertised)g(that)g(it)390 3911 y(w)m(an)m(ts)h(to)g(run)e(TLS/IA)g(b)s -(efore)h(including)g(the)g(adv)m(ertisemen)m(t,)j(as)e(required)e(b)m -(y)h(the)h(proto)s(col.)390 4045 y(Similarly)-8 b(,)31 -b(at)g(the)f(clien)m(t)i(side)e(w)m(e)h(alw)m(a)m(ys)h(adv)m(ertise)f -(that)g(w)m(e)g(allo)m(w)g(TLS/IA)f(to)h(b)s(e)e(skipp)s(ed)390 -4155 y(for)d(resumed)e(sessions)i(if)g Fs(allow_skip_on_resume)20 -b FB(is)26 b(non-zero;)i(at)f(the)f(serv)m(er)g(side,)h(w)m(e)f(also) -390 4264 y(require)35 b(that)h(the)g(session)g(is)f(indeed)g(resumable) -h(and)e(that)j(the)e(clien)m(t)i(has)f(also)g(adv)m(ertised)390 -4374 y(that)31 b(it)g(allo)m(ws)h(TLS/IA)d(to)i(b)s(e)f(skipp)s(ed)f -(for)h(resumed)g(sessions.)390 4508 y(After)i(the)f(TLS)f(handshak)m -(e,)i(call)g Fs(gnutls_ia_handshake_p\(\))25 b FB(to)33 -b(\014nd)c(out)j(whether)f(b)s(oth)390 4617 y(parties)c(agreed)h(to)f -(do)g(a)g(TLS/IA)g(handshak)m(e,)g(b)s(efore)g(calling)h -Fs(gnutls_ia_handshake\(\))21 b FB(or)390 4727 y(one)31 -b(of)f(the)h(lo)m(w)m(er)g(lev)m(el)h(gn)m(utls)p 1507 -4727 V 41 w(ia)p 1618 4727 V 41 w(*)e(functions.)150 -4925 y Fu(gn)m(utls)p 483 4925 37 5 v 55 w(ia)p 632 4925 -V 53 w(endphase)p 1177 4925 V 55 w(send)3350 5121 y FB([F)-8 +3341 y(Phase)43 b(after)g(the)h(TLS)d(handshak)m(e)i(\(if)g(the)g(serv) +m(er)g(supp)s(ort)f(TLS/IA\).)g(Use)i Ft(gnutls_ia_)390 +3450 y(require_inner_phase\(\))25 b FB(to)31 b(toggle)h(the)f(TLS/IA)f +(mo)s(de.)390 3616 y Fn(Returns:)46 b FB(On)32 b(success,)i +Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an) +f(error)g(co)s(de)g(is)390 3726 y(returned.)150 3957 +y Fv(gn)m(utls)p 483 3957 37 5 v 55 w(ia)p 632 3957 V +53 w(allo)s(cate)p 1096 3957 V 54 w(serv)m(er)p 1472 +3957 V 54 w(creden)m(tials)3350 4185 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_ia_allocate_se)q(rver)q(_cr)q(ede)q(nti)q(als)565 +4294 y Fg(\()p Ff(gn)m(utls)p 846 4294 28 4 v 41 w(ia)p +957 4294 V 41 w(serv)m(er)p 1231 4294 V 40 w(creden)m(tials)p +1692 4294 V 41 w(t)31 b(*)g Fe(sc)12 b Fg(\))390 4404 +y Ff(sc)6 b FB(:)40 b(is)31 b(a)g(p)s(oin)m(ter)f(to)h(an)f +Ft(gnutls_ia_server_credentia)o(ls_)o(t)24 b FB(structure.)390 +4570 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f +(directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 +4679 y(pro)m(vided)f(in)g(order)g(to)h(allo)s(cate)i(it.)390 +4845 y(Adding)21 b(this)g(creden)m(tial)j(to)e(a)g(session)g(will)g +(enable)g(TLS/IA,)f(and)g(will)h(require)f(an)h(Application)390 +4955 y(Phase)45 b(after)g(the)g(TLS)e(handshak)m(e)h(\(if)h(the)g +(clien)m(t)h(supp)s(ort)d(TLS/IA\).)i(Use)g Ft(gnutls_ia_)390 +5064 y(require_inner_phase\(\))25 b FB(to)31 b(toggle)h(the)f(TLS/IA)f +(mo)s(de.)390 5230 y Fn(Returns:)46 b FB(On)32 b(success,)i +Ft(GNUTLS_E_SUCCESS)29 b FB(\(0\))34 b(is)f(returned,)g(otherwise)h(an) +f(error)g(co)s(de)g(is)390 5340 y(returned.)p eop end +%%Page: 247 253 +TeXDict begin 247 252 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(247)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(ia)p 632 299 V 53 +w(enable)3350 485 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(gnutls_ia_enable)c Fg(\()p Ff(gn)m(utls)p 1575 485 +28 4 v 41 w(session)p 1885 485 V 40 w(t)30 b Fe(session)p +Ff(,)j(in)m(t)565 594 y Fe(allow_skip_on_resume)12 b +Fg(\))390 704 y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t) +26 b FB(structure.)390 833 y Ff(allo)m(w)p 599 833 V +42 w(skip)p 801 833 V 39 w(on)p 936 833 V 40 w(resume)5 +b FB(:)41 b(non-zero)31 b(if)g(lo)s(cal)h(part)m(y)f(allo)m(ws)h(to)f +(skip)g(the)g(TLS/IA)f(application)390 943 y(phases)g(for)g(a)h +(resumed)e(session.)390 1072 y(Sp)s(ecify)44 b(whether)f(w)m(e)i(m)m +(ust)f(adv)m(ertise)i(supp)s(ort)c(for)i(the)h(TLS/IA)f(extension)h +(during)e(the)390 1181 y(handshak)m(e.)390 1310 y(A)m(t)34 +b(the)e(clien)m(t)j(side,)e(w)m(e)g(alw)m(a)m(ys)i(adv)m(ertise)e +(TLS/IA)g(if)f(gn)m(utls)p 2640 1310 V 41 w(ia)p 2751 +1310 V 40 w(enable)h(w)m(as)g(called)h(b)s(efore)390 +1420 y(the)25 b(handshak)m(e;)h(at)g(the)f(serv)m(er)g(side,)h(w)m(e)f +(also)h(require)e(that)i(the)f(clien)m(t)h(has)f(adv)m(ertised)g(that)g +(it)390 1530 y(w)m(an)m(ts)h(to)g(run)e(TLS/IA)g(b)s(efore)h(including) +g(the)g(adv)m(ertisemen)m(t,)j(as)e(required)e(b)m(y)h(the)h(proto)s +(col.)390 1659 y(Similarly)-8 b(,)31 b(at)g(the)f(clien)m(t)i(side)e(w) +m(e)h(alw)m(a)m(ys)h(adv)m(ertise)f(that)g(w)m(e)g(allo)m(w)g(TLS/IA)f +(to)h(b)s(e)e(skipp)s(ed)390 1768 y(for)d(resumed)e(sessions)i(if)g +Ft(allow_skip_on_resume)20 b FB(is)26 b(non-zero;)i(at)f(the)f(serv)m +(er)g(side,)h(w)m(e)f(also)390 1878 y(require)35 b(that)h(the)g +(session)g(is)f(indeed)g(resumable)h(and)e(that)j(the)e(clien)m(t)i +(has)f(also)g(adv)m(ertised)390 1987 y(that)31 b(it)g(allo)m(ws)h +(TLS/IA)d(to)i(b)s(e)f(skipp)s(ed)f(for)h(resumed)g(sessions.)390 +2116 y(After)i(the)f(TLS)f(handshak)m(e,)i(call)g Ft +(gnutls_ia_handshake_p\(\))25 b FB(to)33 b(\014nd)c(out)j(whether)f(b)s +(oth)390 2226 y(parties)c(agreed)h(to)f(do)g(a)g(TLS/IA)g(handshak)m +(e,)g(b)s(efore)g(calling)h Ft(gnutls_ia_handshake\(\))21 +b FB(or)390 2336 y(one)31 b(of)f(the)h(lo)m(w)m(er)g(lev)m(el)h(gn)m +(utls)p 1507 2336 V 41 w(ia)p 1618 2336 V 41 w(*)e(functions.)150 +2524 y Fv(gn)m(utls)p 483 2524 37 5 v 55 w(ia)p 632 2524 +V 53 w(endphase)p 1177 2524 V 55 w(send)3350 2710 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_endphase_se)q(nd)f -Fg(\()p Ff(gn)m(utls)p 1889 5121 28 4 v 40 w(session)p -2198 5121 V 41 w(t)30 b Fe(session)12 b Ff(,)32 b(in)m(t)565 -5230 y Fe(final_p)12 b Fg(\))390 5340 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)p -eop end -%%Page: 264 270 -TeXDict begin 264 269 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(264)390 299 y -Ff(\014nal)p 568 299 28 4 v 40 w(p)s FB(:)40 b(Set)30 +Fg(\()p Ff(gn)m(utls)p 1889 2710 28 4 v 40 w(session)p +2198 2710 V 41 w(t)30 b Fe(session)p Ff(,)j(in)m(t)565 +2820 y Fe(final_p)12 b Fg(\))390 2929 y Ff(session)p +FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +3058 y Ff(\014nal)p 568 3058 V 40 w(p)s FB(:)40 b(Set)30 b(i\013)h(this)f(should)f(signal)j(the)e(\014nal)g(phase.)390 -439 y(Send)f(a)i(TLS/IA)f(end)f(phase)h(message.)390 -580 y(In)g(the)h(clien)m(t,)h(this)e(should)g(only)h(b)s(e)f(used)f(to) -j(ac)m(kno)m(wledge)h(an)d(end)g(phase)g(message)i(sen)m(t)f(b)m(y)390 -690 y(the)g(serv)m(er.)390 830 y(In)e(the)i(serv)m(er,)f(this)g(can)h -(b)s(e)e(called)j(instead)e(of)g Fs(gnutls_ia_send\(\))c -FB(if)k(the)g(serv)m(er)h(wishes)e(to)390 940 y(end)h(an)g(application) -i(phase.)390 1080 y Fn(Return)e(v)-5 b(alue:)41 b FB(Return)30 -b(0)g(on)h(success,)g(or)f(an)g(error)g(co)s(de.)150 -1285 y Fu(gn)m(utls)p 483 1285 37 5 v 55 w(ia)p 632 1285 -V 53 w(extract)p 1067 1285 V 53 w(inner)p 1396 1285 V -54 w(secret)3350 1488 y FB([F)-8 b(unction])-3599 b Fh(void)54 +3187 y(Send)f(a)i(TLS/IA)f(end)f(phase)h(message.)390 +3316 y(In)g(the)h(clien)m(t,)h(this)e(should)g(only)h(b)s(e)f(used)f +(to)j(ac)m(kno)m(wledge)h(an)d(end)g(phase)g(message)i(sen)m(t)f(b)m(y) +390 3426 y(the)g(serv)m(er.)390 3555 y(In)e(the)i(serv)m(er,)f(this)g +(can)h(b)s(e)e(called)j(instead)e(of)g Ft(gnutls_ia_send\(\))c +FB(if)k(the)g(serv)m(er)h(wishes)e(to)390 3665 y(end)h(an)g +(application)i(phase.)390 3794 y Fn(Return)e(v)-5 b(alue:)41 +b FB(Return)30 b(0)g(on)h(success,)g(or)f(an)g(error)g(co)s(de.)150 +3982 y Fv(gn)m(utls)p 483 3982 37 5 v 55 w(ia)p 632 3982 +V 53 w(extract)p 1067 3982 V 53 w(inner)p 1396 3982 V +54 w(secret)3350 4168 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_ia_extract_inner_)q(sec)q(ret)e Fg(\()p Ff(gn)m(utls)p -2307 1488 28 4 v 41 w(session)p 2617 1488 V 40 w(t)31 -b Fe(session)12 b Ff(,)565 1598 y(c)m(har)31 b(*)g Fe(buffer)12 -b Fg(\))390 1707 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 1848 y Ff(bu\013er)7 +2307 4168 28 4 v 41 w(session)p 2617 4168 V 40 w(t)31 +b Fe(session)p Ff(,)565 4278 y(c)m(har)g(*)g Fe(buffer)12 +b Fg(\))390 4387 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 4516 y Ff(bu\013er)7 b FB(:)39 b(pre-allo)s(cated)32 b(bu\013er)e(to)h(hold)f(48)h(b)m(ytes) -g(of)g(inner)e(secret.)390 1988 y(Cop)m(y)h(the)h(48)g(b)m(ytes)g +g(of)g(inner)e(secret.)390 4645 y(Cop)m(y)h(the)h(48)g(b)m(ytes)g (large)h(inner)d(secret)i(in)m(to)h(the)e(sp)s(eci\014ed)g(bu\013er)390 -2129 y(This)44 b(function)g(is)g(t)m(ypically)i(used)e(after)h(the)f +4774 y(This)44 b(function)g(is)g(t)m(ypically)i(used)e(after)h(the)f (TLS/IA)g(handshak)m(e)g(has)g(concluded.)82 b(The)390 -2239 y(TLS/IA)34 b(inner)f(secret)j(can)e(b)s(e)g(used)g(as)g(input)g +4884 y(TLS/IA)34 b(inner)f(secret)j(can)e(b)s(e)g(used)g(as)g(input)g (to)h(a)f(PRF)h(to)g(deriv)m(e)g(session)f(k)m(eys.)54 -b(Do)35 b(not)390 2348 y(use)28 b(the)h(inner)f(secret)h(directly)h(as) +b(Do)35 b(not)390 4994 y(use)28 b(the)h(inner)f(secret)h(directly)h(as) f(a)g(session)f(k)m(ey)-8 b(,)31 b(b)s(ecause)d(for)h(a)g(resumed)e -(session)i(that)g(do)s(es)390 2458 y(not)g(include)f(an)g(application)i +(session)i(that)g(do)s(es)390 5103 y(not)g(include)f(an)g(application)i (phase,)f(the)f(inner)g(secret)i(will)e(b)s(e)g(iden)m(tical)i(to)g -(the)e(inner)g(secret)390 2567 y(in)k(the)h(original)g(session.)47 +(the)e(inner)g(secret)390 5213 y(in)k(the)h(original)g(session.)47 b(It)32 b(is)h(imp)s(ortan)m(t)f(to)i(include,)e(for)h(example,)g(the)g -(clien)m(t)h(and)e(serv)m(er)390 2677 y(randomness)d(when)h(deriving)g -(a)h(sesssion)f(k)m(ey)h(from)f(the)h(inner)e(secret.)150 -2882 y Fu(gn)m(utls)p 483 2882 37 5 v 55 w(ia)p 632 2882 -V 53 w(free)p 884 2882 V 55 w(clien)m(t)p 1231 2882 V -53 w(creden)m(tials)3350 3085 y FB([F)-8 b(unction])-3599 -b Fh(void)54 b(gnutls_ia_free_client_cr)q(ede)q(nti)q(als)565 -3195 y Fg(\()p Ff(gn)m(utls)p 846 3195 28 4 v 41 w(ia)p -957 3195 V 41 w(clien)m(t)p 1211 3195 V 41 w(creden)m(tials)p -1673 3195 V 42 w(t)30 b Fe(sc)12 b Fg(\))390 3304 y Ff(sc)6 -b FB(:)40 b(is)31 b(a)g Fs(gnutls_ia_client_creden)o(tia)o(ls_t)24 -b FB(structure.)390 3445 y(This)31 b(structure)g(is)h(complex)g(enough) +(clien)m(t)h(and)e(serv)m(er)390 5322 y(randomness)d(when)h(deriving)g +(a)h(sesssion)f(k)m(ey)h(from)f(the)h(inner)e(secret.)p +eop end +%%Page: 248 254 +TeXDict begin 248 253 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(248)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(ia)p 632 299 V 53 +w(free)p 884 299 V 55 w(clien)m(t)p 1231 299 V 53 w(creden)m(tials)3350 +509 y FB([F)-8 b(unction])-3599 b Fh(void)54 b +(gnutls_ia_free_client_cr)q(ede)q(nti)q(als)565 619 y +Fg(\()p Ff(gn)m(utls)p 846 619 28 4 v 41 w(ia)p 957 619 +V 41 w(clien)m(t)p 1211 619 V 41 w(creden)m(tials)p 1673 +619 V 42 w(t)30 b Fe(sc)12 b Fg(\))390 728 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_ia_client_credenti)o(als)o(_t)24 +b FB(structure.)390 876 y(This)31 b(structure)g(is)h(complex)g(enough)f +(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g +(is)390 986 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\)) +i(it.)150 1198 y Fv(gn)m(utls)p 483 1198 37 5 v 55 w(ia)p +632 1198 V 53 w(free)p 884 1198 V 55 w(serv)m(er)p 1261 +1198 V 54 w(creden)m(tials)3350 1408 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_ia_free_server_cr)q(ede)q(nti)q(als)565 +1518 y Fg(\()p Ff(gn)m(utls)p 846 1518 28 4 v 41 w(ia)p +957 1518 V 41 w(serv)m(er)p 1231 1518 V 40 w(creden)m(tials)p +1692 1518 V 41 w(t)31 b Fe(sc)12 b Fg(\))390 1628 y Ff(sc)6 +b FB(:)40 b(is)31 b(an)f Ft(gnutls_ia_server_credenti)o(als)o(_t)24 +b FB(structure.)390 1775 y(This)31 b(structure)g(is)h(complex)g(enough) f(to)i(manipulate)f(directly)g(th)m(us)f(this)h(help)s(er)f(function)g -(is)390 3554 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s -(cate\))i(it.)150 3760 y Fu(gn)m(utls)p 483 3760 37 5 -v 55 w(ia)p 632 3760 V 53 w(free)p 884 3760 V 55 w(serv)m(er)p -1261 3760 V 54 w(creden)m(tials)3350 3962 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(gnutls_ia_free_server_cr)q(ede)q(nti)q -(als)565 4072 y Fg(\()p Ff(gn)m(utls)p 846 4072 28 4 -v 41 w(ia)p 957 4072 V 41 w(serv)m(er)p 1231 4072 V 40 -w(creden)m(tials)p 1692 4072 V 41 w(t)31 b Fe(sc)12 b -Fg(\))390 4182 y Ff(sc)6 b FB(:)40 b(is)31 b(a)g Fs -(gnutls_ia_server_creden)o(tia)o(ls_t)24 b FB(structure.)390 -4322 y(This)31 b(structure)g(is)h(complex)g(enough)f(to)i(manipulate)f -(directly)g(th)m(us)f(this)h(help)s(er)f(function)g(is)390 -4432 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s(cate\))i(it.) -150 4637 y Fu(gn)m(utls)p 483 4637 37 5 v 55 w(ia)p 632 -4637 V 53 w(generate)p 1140 4637 V 54 w(c)m(hallenge)3350 -4840 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_generate_ch)q -(alle)q(nge)f Fg(\()p Ff(gn)m(utls)p 2150 4840 28 4 v -41 w(session)p 2460 4840 V 40 w(t)31 b Fe(session)12 -b Ff(,)565 4949 y(size)p 712 4949 V 41 w(t)31 b Fe(buffer_size)12 -b Ff(,)33 b(c)m(har)e(*)g Fe(buffer)12 b Fg(\))390 5059 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 5199 y Ff(bu\013er)p 627 5199 V 39 -w(size)5 b FB(:)42 b(size)31 b(of)f(output)g(bu\013er.)390 -5340 y Ff(bu\013er)7 b FB(:)39 b(pre-allo)s(cated)32 -b(bu\013er)e(to)h(con)m(tain)h Fs(buffer_size)27 b FB(b)m(ytes)k(of)f -(output.)p eop end -%%Page: 265 271 -TeXDict begin 265 270 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(265)390 299 y(Generate)31 -b(an)e(application)h(c)m(hallenge)i(that)d(the)h(clien)m(t)h(cannot)f -(con)m(trol)g(or)f(predict,)h(based)f(on)390 408 y(the)i(TLS/IA)e -(inner)h(secret.)390 545 y Fn(Return)g(v)-5 b(alue:)41 -b FB(Returns)30 b(0)g(on)h(success,)f(or)h(an)f(negativ)m(e)j(error)d -(co)s(de.)150 747 y Fu(gn)m(utls)p 483 747 37 5 v 55 -w(ia)p 632 747 V 53 w(get)p 850 747 V 54 w(clien)m(t)p -1196 747 V 54 w(a)m(vp)p 1440 747 V 53 w(ptr)3350 946 -y FB([F)-8 b(unction])-3599 b Fh(void)54 b(*)e(gnutls_ia_get_client_a)q -(vp_)q(ptr)565 1055 y Fg(\()p Ff(gn)m(utls)p 846 1055 -28 4 v 41 w(ia)p 957 1055 V 41 w(clien)m(t)p 1211 1055 -V 41 w(creden)m(tials)p 1673 1055 V 42 w(t)30 b Fe(cred)12 -b Fg(\))390 1165 y Ff(cred)t FB(:)40 b(is)31 b(a)f Fs +(is)390 1885 y(pro)m(vided)f(in)g(order)g(to)h(free)g(\(deallo)s +(cate\))i(it.)150 2098 y Fv(gn)m(utls)p 483 2098 37 5 +v 55 w(ia)p 632 2098 V 53 w(generate)p 1140 2098 V 54 +w(c)m(hallenge)3350 2308 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_ia_generate_ch)q(alle)q(nge)f Fg(\()p +Ff(gn)m(utls)p 2150 2308 28 4 v 41 w(session)p 2460 2308 +V 40 w(t)31 b Fe(session)p Ff(,)h(size)p 3128 2308 V +41 w(t)565 2417 y Fe(buffer_size)p Ff(,)i(c)m(har)d(*)g +Fe(buffer)12 b Fg(\))390 2527 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2675 y Ff(bu\013er)p 627 2675 V 39 w(size)5 b FB(:)42 +b(size)31 b(of)f(output)g(bu\013er.)390 2823 y Ff(bu\013er)7 +b FB(:)39 b(pre-allo)s(cated)32 b(bu\013er)e(to)h(con)m(tain)h +Ft(buffer_size)27 b FB(b)m(ytes)k(of)f(output.)390 2970 +y(Generate)h(an)e(application)h(c)m(hallenge)i(that)d(the)h(clien)m(t)h +(cannot)f(con)m(trol)g(or)f(predict,)h(based)f(on)390 +3080 y(the)i(TLS/IA)e(inner)h(secret.)390 3228 y Fn(Return)g(v)-5 +b(alue:)41 b FB(Returns)30 b(0)g(on)h(success,)f(or)h(an)f(negativ)m(e) +j(error)d(co)s(de.)150 3440 y Fv(gn)m(utls)p 483 3440 +37 5 v 55 w(ia)p 632 3440 V 53 w(get)p 850 3440 V 54 +w(clien)m(t)p 1196 3440 V 54 w(a)m(vp)p 1440 3440 V 53 +w(ptr)3350 3651 y FB([F)-8 b(unction])-3599 b Fh(void)54 +b(*)e(gnutls_ia_get_client_a)q(vp_)q(ptr)565 3760 y Fg(\()p +Ff(gn)m(utls)p 846 3760 28 4 v 41 w(ia)p 957 3760 V 41 +w(clien)m(t)p 1211 3760 V 41 w(creden)m(tials)p 1673 +3760 V 42 w(t)30 b Fe(cred)12 b Fg(\))390 3870 y Ff(cred)t +FB(:)40 b(is)31 b(a)f Ft(gnutls_ia_client_credenti)o(als_)o(t)24 +b FB(structure.)390 4018 y(Returns)h(the)g(p)s(oin)m(ter)h(that)g(will) +f(b)s(e)g(pro)m(vided)g(to)h(the)g(TLS/IA)f(callbac)m(k)i(function)e +(as)h(the)g(\014rst)390 4127 y(argumen)m(t.)390 4275 +y Fn(Returns:)40 b FB(The)30 b(clien)m(t)i(callbac)m(k)h(data)e(p)s +(oin)m(ter.)150 4488 y Fv(gn)m(utls)p 483 4488 37 5 v +55 w(ia)p 632 4488 V 53 w(get)p 850 4488 V 54 w(serv)m(er)p +1226 4488 V 54 w(a)m(vp)p 1470 4488 V 54 w(ptr)3350 4698 +y FB([F)-8 b(unction])-3599 b Fh(void)54 b(*)e(gnutls_ia_get_server_a)q +(vp_)q(ptr)565 4807 y Fg(\()p Ff(gn)m(utls)p 846 4807 +28 4 v 41 w(ia)p 957 4807 V 41 w(serv)m(er)p 1231 4807 +V 40 w(creden)m(tials)p 1692 4807 V 41 w(t)31 b Fe(cred)12 +b Fg(\))390 4917 y Ff(cred)t FB(:)40 b(is)31 b(a)f Ft (gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)390 -1302 y(Returns)h(the)g(p)s(oin)m(ter)h(that)g(will)f(b)s(e)g(pro)m +5065 y(Returns)h(the)g(p)s(oin)m(ter)h(that)g(will)f(b)s(e)g(pro)m (vided)g(to)h(the)g(TLS/IA)f(callbac)m(k)i(function)e(as)h(the)g -(\014rst)390 1411 y(argumen)m(t.)390 1548 y Fn(Returns:)40 -b FB(The)30 b(clien)m(t)i(callbac)m(k)h(data)e(p)s(oin)m(ter.)150 -1750 y Fu(gn)m(utls)p 483 1750 37 5 v 55 w(ia)p 632 1750 -V 53 w(get)p 850 1750 V 54 w(serv)m(er)p 1226 1750 V -54 w(a)m(vp)p 1470 1750 V 54 w(ptr)3350 1949 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(*)e(gnutls_ia_get_server_a)q(vp_)q(ptr) -565 2058 y Fg(\()p Ff(gn)m(utls)p 846 2058 28 4 v 41 -w(ia)p 957 2058 V 41 w(serv)m(er)p 1231 2058 V 40 w(creden)m(tials)p -1692 2058 V 41 w(t)31 b Fe(cred)12 b Fg(\))390 2168 y -Ff(cred)t FB(:)40 b(is)31 b(a)f Fs(gnutls_ia_client_credenti)o(als_)o -(t)24 b FB(structure.)390 2304 y(Returns)h(the)g(p)s(oin)m(ter)h(that)g -(will)f(b)s(e)g(pro)m(vided)g(to)h(the)g(TLS/IA)f(callbac)m(k)i -(function)e(as)h(the)g(\014rst)390 2414 y(argumen)m(t.)390 -2551 y Fn(Returns:)40 b FB(The)30 b(serv)m(er)h(callbac)m(k)h(data)f(p) -s(oin)m(ter.)150 2752 y Fu(gn)m(utls)p 483 2752 37 5 -v 55 w(ia)p 632 2752 V 53 w(handshak)m(e)p 1243 2752 -V 54 w(p)3350 2951 y FB([F)-8 b(unction])-3599 b Fh(int)53 -b(gnutls_ia_handshake_p)f Fg(\()p Ff(gn)m(utls)p 1784 -2951 28 4 v 41 w(session)p 2094 2951 V 40 w(t)31 b Fe(session)12 -b Fg(\))390 3061 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 3198 y(Predicate)h(to)f(b)s -(e)e(used)h(after)h Fs(gnutls_handshake\(\))20 b FB(to)26 -b(decide)g(whether)f(to)h(in)m(v)m(ok)m(e)h Fs(gnutls_)390 -3307 y(ia_handshake\(\))p FB(.)37 b(Usable)31 b(b)m(y)f(b)s(oth)g -(clien)m(ts)i(and)d(serv)m(ers.)390 3444 y Fn(Return)h(v)-5 -b(alue:)41 b FB(non-zero)31 b(if)f(TLS/IA)g(handshak)m(e)g(is)h(exp)s -(ected,)g(zero)g(otherwise.)150 3645 y Fu(gn)m(utls)p -483 3645 37 5 v 55 w(ia)p 632 3645 V 53 w(handshak)m(e)3350 -3845 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_handshake)e -Fg(\()p Ff(gn)m(utls)p 1679 3845 28 4 v 41 w(session)p -1989 3845 V 40 w(t)31 b Fe(session)12 b Fg(\))390 3954 -y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 4091 y(P)m(erform)34 b(a)g(TLS/IA)g(handshak)m(e.) -51 b(This)33 b(should)g(b)s(e)h(called)h(after)g Fs -(gnutls_handshake\(\))29 b FB(i\013)390 4200 y Fs -(gnutls_ia_handshake_p\(\))p FB(.)390 4337 y Fn(Returns:)42 -b FB(On)30 b(success,)i Fs(GNUTLS_E_SUCCESS)27 b FB(\(zero\))33 -b(is)e(returned,)f(otherwise)i(an)f(error)g(co)s(de)390 -4447 y(is)f(returned.)150 4648 y Fu(gn)m(utls)p 483 4648 -37 5 v 55 w(ia)p 632 4648 V 53 w(p)s(erm)m(ute)p 1133 -4648 V 55 w(inner)p 1464 4648 V 54 w(secret)3350 4847 -y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_permute_inn)q(er_s) -q(ecr)q(et)f Fg(\()p Ff(gn)m(utls)p 2255 4847 28 4 v -41 w(session)p 2565 4847 V 40 w(t)30 b Fe(session)12 -b Ff(,)565 4957 y(size)p 712 4957 V 41 w(t)31 b Fe(session_keys_size)12 -b Ff(,)35 b(const)c(c)m(har)g(*)f Fe(session_keys)12 -b Fg(\))390 5066 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 5203 y Ff(session)p -665 5203 V 40 w(k)m(eys)p 874 5203 V 41 w(size)5 b FB(:)42 -b(Size)30 b(of)h(generated)g(session)g(k)m(eys)g(\(0)g(if)f(none\).)390 -5340 y Ff(session)p 665 5340 V 40 w(k)m(eys)t FB(:)41 -b(Generated)32 b(session)e(k)m(eys,)h(used)f(to)h(p)s(erm)m(ute)f -(inner)f(secret)j(\(NULL)e(if)h(none\).)p eop end -%%Page: 266 272 -TeXDict begin 266 271 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(266)390 299 y(P)m(erm)m(ute)31 -b(the)g(inner)e(secret)j(using)e(the)g(generated)h(session)g(k)m(eys.) -390 445 y(This)k(can)i(b)s(e)e(called)i(in)f(the)g(TLS/IA)g(A)-10 -b(VP)36 b(callbac)m(k)i(to)f(mix)f(an)m(y)g(generated)h(session)f(k)m -(eys)390 555 y(with)30 b(the)h(TLS/IA)e(inner)h(secret.)390 -701 y Fn(Return)g(v)-5 b(alue:)41 b FB(Return)30 b(zero)h(on)f -(success,)h(or)f(a)h(negativ)m(e)i(error)d(co)s(de.)150 -912 y Fu(gn)m(utls)p 483 912 37 5 v 55 w(ia)p 632 912 -V 53 w(recv)3350 1120 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 -b(gnutls_ia_recv)c Fg(\()p Ff(gn)m(utls)p 1627 1120 28 -4 v 41 w(session)p 1937 1120 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(c)m(har)f(*)f Fe(data)12 b Ff(,)565 1230 -y(size)p 712 1230 V 41 w(t)31 b Fe(sizeofdata)12 b Fg(\))390 -1340 y Ff(session)p FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 -b FB(structure.)390 1486 y Ff(data)p FB(:)41 b(the)31 +(\014rst)390 5174 y(argumen)m(t.)390 5322 y Fn(Returns:)40 +b FB(The)30 b(serv)m(er)h(callbac)m(k)h(data)f(p)s(oin)m(ter.)p +eop end +%%Page: 249 255 +TeXDict begin 249 254 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(249)150 299 y +Fv(gn)m(utls)p 483 299 37 5 v 55 w(ia)p 632 299 V 53 +w(handshak)m(e)p 1243 299 V 54 w(p)3350 497 y FB([F)-8 +b(unction])-3599 b Fh(int)53 b(gnutls_ia_handshake_p)f +Fg(\()p Ff(gn)m(utls)p 1784 497 28 4 v 41 w(session)p +2094 497 V 40 w(t)31 b Fe(session)12 b Fg(\))390 606 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 742 y(Predicate)h(to)f(b)s(e)e(used)h(after)h +Ft(gnutls_handshake\(\))20 b FB(to)26 b(decide)g(whether)f(to)h(in)m(v) +m(ok)m(e)h Ft(gnutls_)390 851 y(ia_handshake\(\))p FB(.)37 +b(Usable)31 b(b)m(y)f(b)s(oth)g(clien)m(ts)i(and)d(serv)m(ers.)390 +987 y Fn(Return)h(v)-5 b(alue:)41 b FB(non-zero)31 b(if)f(TLS/IA)g +(handshak)m(e)g(is)h(exp)s(ected,)g(zero)g(otherwise.)150 +1187 y Fv(gn)m(utls)p 483 1187 37 5 v 55 w(ia)p 632 1187 +V 53 w(handshak)m(e)3350 1385 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_ia_handshake)e Fg(\()p Ff(gn)m(utls)p +1679 1385 28 4 v 41 w(session)p 1989 1385 V 40 w(t)31 +b Fe(session)12 b Fg(\))390 1494 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1630 y(P)m(erform)34 b(a)g(TLS/IA)g(handshak)m(e.)51 +b(This)33 b(should)g(b)s(e)h(called)h(after)g Ft(gnutls_handshake\(\)) +29 b FB(i\013)390 1739 y Ft(gnutls_ia_handshake_p\(\))p +FB(.)390 1875 y(Return)h(0)g(on)h(success,)f(or)h(an)f(error)g(co)s +(de.)150 2075 y Fv(gn)m(utls)p 483 2075 37 5 v 55 w(ia)p +632 2075 V 53 w(p)s(erm)m(ute)p 1133 2075 V 55 w(inner)p +1464 2075 V 54 w(secret)3350 2273 y FB([F)-8 b(unction])-3599 +b Fh(int)53 b(gnutls_ia_permute_inn)q(er_s)q(ecr)q(et)f +Fg(\()p Ff(gn)m(utls)p 2255 2273 28 4 v 41 w(session)p +2565 2273 V 40 w(t)30 b Fe(session)p Ff(,)565 2382 y(size)p +712 2382 V 41 w(t)h Fe(session_keys_size)p Ff(,)k(const)c(c)m(har)g(*)g +Fe(session_keys)12 b Fg(\))390 2492 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +2627 y Ff(session)p 665 2627 V 40 w(k)m(eys)p 874 2627 +V 41 w(size)5 b FB(:)42 b(Size)30 b(of)h(generated)g(session)g(k)m(eys) +g(\(0)g(if)f(none\).)390 2763 y Ff(session)p 665 2763 +V 40 w(k)m(eys)t FB(:)41 b(Generated)32 b(session)e(k)m(eys,)h(used)f +(to)h(p)s(erm)m(ute)f(inner)f(secret)j(\(NULL)e(if)h(none\).)390 +2898 y(P)m(erm)m(ute)g(the)g(inner)e(secret)j(using)e(the)g(generated)h +(session)g(k)m(eys.)390 3034 y(This)k(can)i(b)s(e)e(called)i(in)f(the)g +(TLS/IA)g(A)-10 b(VP)36 b(callbac)m(k)i(to)f(mix)f(an)m(y)g(generated)h +(session)f(k)m(eys)390 3143 y(with)30 b(the)h(TLS/IA)e(inner)h(secret.) +390 3279 y Fn(Return)g(v)-5 b(alue:)41 b FB(Return)30 +b(zero)h(on)f(success,)h(or)f(a)h(negativ)m(e)i(error)d(co)s(de.)150 +3479 y Fv(gn)m(utls)p 483 3479 37 5 v 55 w(ia)p 632 3479 +V 53 w(recv)3350 3676 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 +b(gnutls_ia_recv)c Fg(\()p Ff(gn)m(utls)p 1627 3676 28 +4 v 41 w(session)p 1937 3676 V 40 w(t)31 b Fe(session)p +Ff(,)h(c)m(har)f(*)g Fe(data)p Ff(,)565 3786 y(size)p +712 3786 V 41 w(t)g Fe(sizeofdata)12 b Fg(\))390 3896 +y Ff(session)p FB(:)41 b(is)30 b(a)h Ft(gnutls_session_t)26 +b FB(structure.)390 4031 y Ff(data)p FB(:)41 b(the)31 b(bu\013er)e(that)i(the)g(data)g(will)g(b)s(e)e(read)i(in)m(to,)g(m)m -(ust)g(hold)f Fs(>)p FB(=)f(12)i(b)m(ytes.)390 1632 y +(ust)g(hold)f Ft(>)p FB(=)f(12)i(b)m(ytes.)390 4167 y Ff(sizeofdata)p FB(:)43 b(the)30 b(n)m(um)m(b)s(er)f(of)i(requested)f -(b)m(ytes,)h(m)m(ust)f(b)s(e)g Fs(>)p FB(=)g(12.)390 -1778 y(Receiv)m(e)41 b(TLS/IA)d(data.)68 b(This)38 b(function)h(has)f -(the)h(similar)h(seman)m(tics)g(with)f Fs(recv\(\))p -FB(.)64 b(The)390 1888 y(only)30 b(di\013erence)h(is)g(that)g(it)g -(accepts)g(a)g(Gn)m(uTLS)e(session,)i(and)f(uses)g(di\013eren)m(t)g -(error)g(co)s(des.)390 2034 y(If)56 b(the)h(serv)m(er)f(attempt)i(to)f +(b)m(ytes,)h(m)m(ust)f(b)s(e)g Ft(>)p FB(=)g(12.)390 +4302 y(Receiv)m(e)41 b(TLS/IA)d(data.)68 b(This)38 b(function)h(has)f +(the)h(similar)h(seman)m(tics)g(with)f Ft(recv\(\))p +FB(.)64 b(The)390 4412 y(only)30 b(di\013erence)h(is)g(that)g(is)f +(accepts)i(a)f(GNUTLS)f(session,)g(and)g(uses)g(di\013eren)m(t)h(error) +f(co)s(des.)390 4547 y(If)56 b(the)h(serv)m(er)f(attempt)i(to)f (\014nish)e(an)h(application)i(phase,)63 b(this)56 b(function)g(will)h -(return)390 2144 y Fs(GNUTLS_E_WARNING_IA_IPHF)o(_REC)o(EIVE)o(D)46 -b FB(or)52 b Fs(GNUTLS_E_WARNING_IA_FPH)o(F_RE)o(CEIV)o(ED)p -FB(.)390 2253 y(The)43 b(caller)h(should)e(then)h(in)m(v)m(ok)m(e)i -Fs(gnutls_ia_verify_endphas)o(e\(\))p FB(,)40 b(and)j(if)g(it)g(runs)f -(the)390 2363 y(clien)m(t)31 b(side,)f(also)h(send)e(an)g(endphase)g +(return)390 4657 y Ft(GNUTLS_E_WARNING_IA_IPHF)o(_REC)o(EIVE)o(D)46 +b FB(or)52 b Ft(GNUTLS_E_WARNING_IA_FPH)o(F_RE)o(CEIV)o(ED)p +FB(.)390 4766 y(The)43 b(caller)h(should)e(then)h(in)m(v)m(ok)m(e)i +Ft(gnutls_ia_verify_endphas)o(e\(\))p FB(,)40 b(and)j(if)g(it)g(runs)f +(the)390 4876 y(clien)m(t)31 b(side,)f(also)h(send)e(an)g(endphase)g (message)i(of)e(its)h(o)m(wn)g(using)f(gn)m(utls)p 2998 -2363 V 41 w(ia)p 3109 2363 V 40 w(endphase)p 3514 2363 -V 39 w(send.)390 2509 y(If)21 b(EINTR)g(is)h(returned)e(b)m(y)i(the)f +4876 V 41 w(ia)p 3109 4876 V 40 w(endphase)p 3514 4876 +V 39 w(send.)390 5011 y(If)21 b(EINTR)g(is)h(returned)e(b)m(y)i(the)f (in)m(ternal)i(push)d(function)h(\(the)h(default)g(is)g -Fs(code{recv\(\)})p FB(\))c(then)390 2619 y(GNUTLS)p -777 2619 V 40 w(E)p 879 2619 V 40 w(INTERR)m(UPTED)31 +Ft(code{recv\(\)})p FB(\))c(then)390 5121 y(GNUTLS)p +777 5121 V 40 w(E)p 879 5121 V 40 w(INTERR)m(UPTED)31 b(will)h(b)s(e)e(returned.)43 b(If)31 b(GNUTLS)p 2815 -2619 V 40 w(E)p 2917 2619 V 40 w(INTERR)m(UPTED)g(or)390 -2728 y(GNUTLS)p 777 2728 V 40 w(E)p 879 2728 V 40 w(A)m(GAIN)39 +5121 V 40 w(E)p 2917 5121 V 40 w(INTERR)m(UPTED)g(or)390 +5230 y(GNUTLS)p 777 5230 V 40 w(E)p 879 5230 V 40 w(A)m(GAIN)39 b(is)f(returned,)h(y)m(ou)g(m)m(ust)f(call)h(this)f(function)g(again,)j -(with)d(the)h(same)390 2838 y(parameters;)31 b(alternativ)m(ely)i(y)m +(with)d(the)h(same)390 5340 y(parameters;)31 b(alternativ)m(ely)i(y)m (ou)d(could)h(pro)m(vide)f(a)h(NULL)f(p)s(oin)m(ter)g(for)g(data,)h -(and)f(0)h(for)f(size.)390 2984 y Fn(Returns:)41 b FB(The)30 -b(n)m(um)m(b)s(er)g(of)h(b)m(ytes)g(receiv)m(ed.)43 b(A)31 -b(negativ)m(e)i(error)d(co)s(de)h(is)g(returned)f(in)g(case)i(of)390 -3094 y(an)38 b(error.)62 b(The)38 b Fs(GNUTLS_E_WARNING_IA_IPH)o(F_R)o -(ECEI)o(VED)31 b FB(and)37 b Fs(GNUTLS_E_WARNING_IA_)390 -3203 y(FPHF_RECEIVED)30 b FB(errors)i(are)i(returned)e(when)g(an)h -(application)h(phase)f(\014nished)f(message)i(has)390 -3313 y(b)s(een)c(sen)m(t)h(b)m(y)f(the)g(serv)m(er.)150 -3524 y Fu(gn)m(utls)p 483 3524 37 5 v 55 w(ia)p 632 3524 -V 53 w(send)3350 3732 y FB([F)-8 b(unction])-3599 b Fh(ssize_t)54 -b(gnutls_ia_send)c Fg(\()p Ff(gn)m(utls)p 1627 3732 28 -4 v 41 w(session)p 1937 3732 V 40 w(t)31 b Fe(session)12 -b Ff(,)32 b(const)f(c)m(har)g(*)565 3842 y Fe(data)12 -b Ff(,)31 b(size)p 988 3842 V 41 w(t)g Fe(sizeofdata)12 -b Fg(\))390 3951 y Ff(session)p FB(:)41 b(is)30 b(a)h -Fs(gnutls_session_t)26 b FB(structure.)390 4098 y Ff(data)p +(and)f(0)h(for)f(size.)p eop end +%%Page: 250 256 +TeXDict begin 250 255 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(250)390 299 y +Fn(Returns:)41 b FB(The)30 b(n)m(um)m(b)s(er)g(of)h(b)m(ytes)g(receiv)m +(ed.)43 b(A)31 b(negativ)m(e)i(error)d(co)s(de)h(is)g(returned)f(in)g +(case)i(of)390 408 y(an)38 b(error.)62 b(The)38 b Ft +(GNUTLS_E_WARNING_IA_IPH)o(F_R)o(ECEI)o(VED)31 b FB(and)37 +b Ft(GNUTLS_E_WARNING_IA_)390 518 y(FPHF_RECEIVED)30 +b FB(errors)i(are)i(returned)e(when)g(an)h(application)h(phase)f +(\014nished)f(message)i(has)390 628 y(b)s(een)c(sen)m(t)h(b)m(y)f(the)g +(serv)m(er.)150 825 y Fv(gn)m(utls)p 483 825 37 5 v 55 +w(ia)p 632 825 V 53 w(send)3350 1020 y FB([F)-8 b(unction])-3599 +b Fh(ssize_t)54 b(gnutls_ia_send)c Fg(\()p Ff(gn)m(utls)p +1627 1020 28 4 v 41 w(session)p 1937 1020 V 40 w(t)29 +b Fe(session)p Ff(,)j(const)e(c)m(har)f(*)h Fe(data)p +Ff(,)565 1129 y(size)p 712 1129 V 41 w(t)h Fe(sizeofdata)12 +b Fg(\))390 1239 y Ff(session)p FB(:)41 b(is)30 b(a)h +Ft(gnutls_session_t)26 b FB(structure.)390 1373 y Ff(data)p FB(:)41 b(con)m(tains)32 b(the)f(data)g(to)g(send)390 -4244 y Ff(sizeofdata)p FB(:)43 b(is)30 b(the)h(length)f(of)h(the)f -(data)390 4390 y(Send)c(TLS/IA)h(application)h(pa)m(yload)g(data.)41 +1506 y Ff(sizeofdata)p FB(:)43 b(is)30 b(the)h(length)f(of)h(the)f +(data)390 1640 y(Send)c(TLS/IA)h(application)h(pa)m(yload)g(data.)41 b(This)26 b(function)h(has)g(the)g(similar)h(seman)m(tics)g(with)390 -4500 y Fs(send\(\))p FB(.)48 b(The)33 b(only)g(di\013erence)h(is)f -(that)h(it)g(accepts)h(a)e(Gn)m(uTLS)f(session,)j(and)e(uses)f -(di\013eren)m(t)390 4609 y(error)e(co)s(des.)390 4755 -y(The)g(TLS/IA)f(proto)s(col)i(is)f(sync)m(hronous,)g(so)g(y)m(ou)h -(cannot)g(send)e(more)h(than)g(one)h(pac)m(k)m(et)h(at)f(a)390 -4865 y(time.)41 b(The)30 b(clien)m(t)i(alw)m(a)m(ys)g(send)e(the)g -(\014rst)g(pac)m(k)m(et.)390 5011 y(T)-8 b(o)32 b(\014nish)d(an)j -(application)g(phase)f(in)g(the)g(serv)m(er,)h(use)f -Fs(gnutls_ia_endphase_send\(\))o FB(.)37 b(The)390 5121 -y(clien)m(t)43 b(cannot)f(end)f(an)g(application)i(phase)e -(unilaterally;)48 b(rather,)c(a)e(clien)m(t)h(is)f(required)e(to)390 -5230 y(resp)s(ond)34 b(with)i(an)g(endphase)f(of)h(its)h(o)m(wn)f(if)g -(gn)m(utls)p 2254 5230 V 40 w(ia)p 2364 5230 V 41 w(recv)g(indicates)h -(that)g(the)f(serv)m(er)g(has)390 5340 y(sen)m(t)31 b(one.)p -eop end -%%Page: 267 273 -TeXDict begin 267 272 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(267)390 299 y(If)30 -b(the)h(EINTR)f(is)h(returned)e(b)m(y)i(the)f(in)m(ternal)i(push)d -(function)h(\(the)h(default)g(is)g Fs(send\(\)})d FB(then)390 -408 y Fs(GNUTLS_E_INTERRUPTED)j FB(will)38 b(b)s(e)e(returned.)59 -b(If)36 b Fs(GNUTLS_E_INTERRUPTED)c FB(or)k Fs(GNUTLS_E_)390 -518 y(AGAIN)44 b FB(is)h(returned,)i(y)m(ou)f(m)m(ust)f(call)h(this)f -(function)g(again,)50 b(with)45 b(the)g(same)g(parameters;)390 -628 y(alternativ)m(ely)33 b(y)m(ou)e(could)f(pro)m(vide)h(a)f -Fs(NULL)g FB(p)s(oin)m(ter)g(for)g(data,)h(and)f(0)h(for)f(size.)390 -759 y Fn(Returns:)40 b FB(The)30 b(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g -(sen)m(t,)g(or)f(a)h(negativ)m(e)i(error)d(co)s(de.)150 -951 y Fu(gn)m(utls)p 483 951 37 5 v 55 w(ia)p 632 951 -V 53 w(set)p 837 951 V 54 w(clien)m(t)p 1183 951 V 54 -w(a)m(vp)p 1427 951 V 53 w(function)3350 1141 y FB([F)-8 -b(unction])-3599 b Fh(void)54 b(gnutls_ia_set_client_avp)q(_fu)q(nct)q -(ion)565 1250 y Fg(\()p Ff(gn)m(utls)p 846 1250 28 4 -v 41 w(ia)p 957 1250 V 41 w(clien)m(t)p 1211 1250 V 41 -w(creden)m(tials)p 1673 1250 V 42 w(t)30 b Fe(cred)12 -b Ff(,)32 b(gn)m(utls)p 2297 1250 V 40 w(ia)p 2407 1250 -V 41 w(a)m(vp)p 2589 1250 V 40 w(func)e Fe(avp_func)12 -b Fg(\))390 1360 y Ff(cred)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)390 -1491 y Ff(a)m(vp)p 537 1491 V 40 w(func)6 b FB(:)40 b(is)30 -b(the)h(callbac)m(k)h(function)390 1622 y(Set)f(the)f(TLS/IA)g(A)-10 -b(VP)30 b(callbac)m(k)j(handler)c(used)h(for)g(the)h(session.)390 -1753 y(The)k(A)-10 b(VP)36 b(callbac)m(k)i(is)d(called)i(to)g(pro)s -(cess)e(A)-10 b(VPs)36 b(receiv)m(ed)h(from)e(the)h(serv)m(er,)h(and)e -(to)i(get)g(a)390 1863 y(new)30 b(A)-10 b(VP)30 b(to)h(send)f(to)h(the) -g(serv)m(er.)390 1994 y(The)h(callbac)m(k's)j(function)d(form)g(is:)46 -b(in)m(t)33 b(\(*a)m(vp)p 2066 1994 V 41 w(func\))f(\(gn)m(utls)p -2619 1994 V 41 w(session)p 2929 1994 V 40 w(t)h(session,)h(v)m(oid)f -(*ptr,)390 2103 y(const)e(c)m(har)g(*last,)h(size)p 1218 -2103 V 40 w(t)f(lastlen,)h(c)m(har)f(**next,)g(size)p -2299 2103 V 41 w(t)g(*nextlen\);)390 2234 y(The)43 b -Fs(session)f FB(parameter)i(is)g(the)g Fs(gnutls_session_t)39 -b FB(structure)44 b(corresp)s(onding)e(to)j(the)390 2344 -y(curren)m(t)f(session.)81 b(The)44 b Fs(ptr)f FB(parameter)h(is)g(the) +1749 y Ft(send\(\))p FB(.)40 b(The)31 b(only)g(di\013erence)g(is)g +(that)g(is)g(accepts)h(a)f(GNUTLS)g(session,)g(and)f(uses)g(di\013eren) +m(t)390 1859 y(error)g(co)s(des.)390 1992 y(The)g(TLS/IA)f(proto)s(col) +i(is)f(sync)m(hronous,)g(so)g(y)m(ou)h(cannot)g(send)e(more)h(than)g +(one)h(pac)m(k)m(et)h(at)f(a)390 2102 y(time.)41 b(The)30 +b(clien)m(t)i(alw)m(a)m(ys)g(send)e(the)g(\014rst)g(pac)m(k)m(et.)390 +2236 y(T)-8 b(o)32 b(\014nish)d(an)j(application)g(phase)f(in)g(the)g +(serv)m(er,)h(use)f Ft(gnutls_ia_endphase_send\(\))o +FB(.)37 b(The)390 2345 y(clien)m(t)43 b(cannot)f(end)f(an)g +(application)i(phase)e(unilaterally;)48 b(rather,)c(a)e(clien)m(t)h(is) +f(required)e(to)390 2455 y(resp)s(ond)34 b(with)i(an)g(endphase)f(of)h +(its)h(o)m(wn)f(if)g(gn)m(utls)p 2254 2455 V 40 w(ia)p +2364 2455 V 41 w(recv)g(indicates)h(that)g(the)f(serv)m(er)g(has)390 +2564 y(sen)m(t)31 b(one.)390 2698 y(If)f(the)h(EINTR)f(is)h(returned)e +(b)m(y)i(the)f(in)m(ternal)i(push)d(function)h(\(the)h(default)g(is)g +Ft(send\(\)})d FB(then)390 2807 y Ft(GNUTLS_E_INTERRUPTED)j +FB(will)38 b(b)s(e)e(returned.)59 b(If)36 b Ft(GNUTLS_E_INTERRUPTED)c +FB(or)k Ft(GNUTLS_E_)390 2917 y(AGAIN)44 b FB(is)h(returned,)i(y)m(ou)f +(m)m(ust)f(call)h(this)f(function)g(again,)50 b(with)45 +b(the)g(same)g(parameters;)390 3027 y(alternativ)m(ely)33 +b(y)m(ou)e(could)f(pro)m(vide)h(a)f Ft(NULL)g FB(p)s(oin)m(ter)g(for)g +(data,)h(and)f(0)h(for)f(size.)390 3160 y Fn(Returns:)40 +b FB(The)30 b(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(sen)m(t,)g(or)f(a)h +(negativ)m(e)i(error)d(co)s(de.)150 3358 y Fv(gn)m(utls)p +483 3358 37 5 v 55 w(ia)p 632 3358 V 53 w(set)p 837 3358 +V 54 w(clien)m(t)p 1183 3358 V 54 w(a)m(vp)p 1427 3358 +V 53 w(function)3350 3552 y FB([F)-8 b(unction])-3599 +b Fh(void)54 b(gnutls_ia_set_client_avp)q(_fu)q(nct)q(ion)565 +3662 y Fg(\()p Ff(gn)m(utls)p 846 3662 28 4 v 41 w(ia)p +957 3662 V 41 w(clien)m(t)p 1211 3662 V 41 w(creden)m(tials)p +1673 3662 V 42 w(t)30 b Fe(cred)p Ff(,)i(gn)m(utls)p +2285 3662 V 41 w(ia)p 2396 3662 V 40 w(a)m(vp)p 2577 +3662 V 41 w(func)d Fe(avp_func)12 b Fg(\))390 3772 y +Ff(cred)t FB(:)40 b(is)31 b(a)f Ft(gnutls_ia_client_credenti)o(als_)o +(t)24 b FB(structure.)390 3905 y Ff(a)m(vp)p 537 3905 +V 40 w(func)6 b FB(:)40 b(is)30 b(the)h(callbac)m(k)h(function)390 +4039 y(Set)f(the)f(TLS/IA)g(A)-10 b(VP)30 b(callbac)m(k)j(handler)c +(used)h(for)g(the)h(session.)390 4172 y(The)k(A)-10 b(VP)36 +b(callbac)m(k)i(is)d(called)i(to)g(pro)s(cess)e(A)-10 +b(VPs)36 b(receiv)m(ed)h(from)e(the)h(serv)m(er,)h(and)e(to)i(get)g(a) +390 4282 y(new)30 b(A)-10 b(VP)30 b(to)h(send)f(to)h(the)g(serv)m(er.) +390 4415 y(The)h(callbac)m(k's)j(function)d(form)g(is:)46 +b(in)m(t)33 b(\(*a)m(vp)p 2066 4415 V 41 w(func\))f(\(gn)m(utls)p +2619 4415 V 41 w(session)p 2929 4415 V 40 w(t)h(session,)h(v)m(oid)f +(*ptr,)390 4525 y(const)e(c)m(har)g(*last,)h(size)p 1218 +4525 V 40 w(t)f(lastlen,)h(c)m(har)f(**next,)g(size)p +2299 4525 V 41 w(t)g(*nextlen\);)390 4658 y(The)43 b +Ft(session)f FB(parameter)i(is)g(the)g Ft(gnutls_session_t)39 +b FB(structure)44 b(corresp)s(onding)e(to)j(the)390 4768 +y(curren)m(t)f(session.)81 b(The)44 b Ft(ptr)f FB(parameter)h(is)g(the) g(application)i(ho)s(ok)e(p)s(oin)m(ter,)j(set)e(through)390 -2453 y Fs(gnutls_ia_set_client_avp)o(_ptr)o(\(\))p FB(.)34 +4878 y Ft(gnutls_ia_set_client_avp)o(_ptr)o(\(\))p FB(.)34 b(The)29 b(A)-10 b(VP)29 b(receiv)m(ed)h(from)f(the)g(serv)m(er)h(is)f -(presen)m(t)g(in)390 2563 y Fs(last)c FB(of)i Fs(lastlen)d -FB(size,)29 b(whic)m(h)d(will)h(b)s(e)e Fs(NULL)h FB(on)g(the)h +(presen)m(t)g(in)390 4987 y Ft(last)c FB(of)i Ft(lastlen)d +FB(size,)29 b(whic)m(h)d(will)h(b)s(e)e Ft(NULL)h FB(on)g(the)h (\014rst)e(in)m(v)m(o)s(cation.)42 b(The)26 b(newly)g(allo)s(cated)390 -2672 y(output)k(A)-10 b(VP)30 b(to)i(send)d(to)i(the)g(serv)m(er)f -(should)g(b)s(e)g(placed)g(in)g(*)p Fs(next)g FB(of)h(*)p -Fs(nextlen)d FB(size.)390 2803 y(The)23 b(callbac)m(k)i(ma)m(y)f(in)m -(v)m(ok)m(e)h Fs(gnutls_ia_permute_inner_se)o(cret)o(\(\))17 -b FB(to)24 b(mix)f(an)m(y)h(generated)390 2913 y(session)30 -b(k)m(eys)h(with)g(the)f(TLS/IA)g(inner)f(secret.)390 -3044 y(Return)d(0)i(\()p Fs(GNUTLS_IA_APPLICATION_PAYL)o(OAD)p -FB(\))21 b(on)27 b(success,)i(or)e(a)g(negativ)m(e)j(error)d(co)s(de)g -(to)390 3154 y(ab)s(ort)j(the)h(TLS/IA)f(handshak)m(e.)390 -3285 y(Note)25 b(that)g(the)f(callbac)m(k)i(m)m(ust)d(use)h(allo)s -(cate)i(the)e Fs(next)f FB(parameter)h(using)g Fs(gnutls_malloc\(\))p -FB(,)390 3394 y(b)s(ecause)30 b(it)h(is)g(released)g(via)g -Fs(gnutls_free\(\))c FB(b)m(y)j(the)g(TLS/IA)g(handshak)m(e)g -(function.)150 3587 y Fu(gn)m(utls)p 483 3587 37 5 v -55 w(ia)p 632 3587 V 53 w(set)p 837 3587 V 54 w(clien)m(t)p -1183 3587 V 54 w(a)m(vp)p 1427 3587 V 53 w(ptr)3350 3776 +5097 y(output)k(A)-10 b(VP)30 b(to)i(send)d(to)i(the)g(serv)m(er)f +(should)g(b)s(e)g(placed)g(in)g(*)p Ft(next)g FB(of)h(*)p +Ft(nextlen)d FB(size.)390 5230 y(The)23 b(callbac)m(k)i(ma)m(y)f(in)m +(v)m(ok)m(e)h Ft(gnutls_ia_permute_inner_se)o(cret)o(\(\))17 +b FB(to)24 b(mix)f(an)m(y)h(generated)390 5340 y(session)30 +b(k)m(eys)h(with)g(the)f(TLS/IA)g(inner)f(secret.)p eop +end +%%Page: 251 257 +TeXDict begin 251 256 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(251)390 299 y(Return)26 +b(0)i(\()p Ft(GNUTLS_IA_APPLICATION_PAYL)o(OAD)p FB(\))21 +b(on)27 b(success,)i(or)e(a)g(negativ)m(e)j(error)d(co)s(de)g(to)390 +408 y(ab)s(ort)j(the)h(TLS/IA)f(handshak)m(e.)390 542 +y(Note)25 b(that)g(the)f(callbac)m(k)i(m)m(ust)d(use)h(allo)s(cate)i +(the)e Ft(next)f FB(parameter)h(using)g Ft(gnutls_malloc\(\))p +FB(,)390 652 y(b)s(ecause)30 b(it)h(is)g(released)g(via)g +Ft(gnutls_free\(\))c FB(b)m(y)j(the)g(TLS/IA)g(handshak)m(e)g +(function.)150 850 y Fv(gn)m(utls)p 483 850 37 5 v 55 +w(ia)p 632 850 V 53 w(set)p 837 850 V 54 w(clien)m(t)p +1183 850 V 54 w(a)m(vp)p 1427 850 V 53 w(ptr)3350 1046 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_ia_set_client_avp)q -(_pt)q(r)d Fg(\()p Ff(gn)m(utls)p 2202 3776 28 4 v 41 -w(ia)p 2313 3776 V 41 w(clien)m(t)p 2567 3776 V 42 w(creden)m(tials)p -3030 3776 V 41 w(t)565 3886 y Fe(cred)12 b Ff(,)31 b(v)m(oid)g(*)g -Fe(ptr)12 b Fg(\))390 3996 y Ff(cred)t FB(:)40 b(is)31 -b(a)f Fs(gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)390 -4127 y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(p)s(oin)m(ter)390 -4258 y(Sets)36 b(the)h(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(pro)m +(_pt)q(r)d Fg(\()p Ff(gn)m(utls)p 2202 1046 28 4 v 41 +w(ia)p 2313 1046 V 41 w(clien)m(t)p 2567 1046 V 42 w(creden)m(tials)p +3030 1046 V 41 w(t)565 1155 y Fe(cred)p Ff(,)32 b(v)m(oid)f(*)g +Fe(ptr)12 b Fg(\))390 1265 y Ff(cred)t FB(:)40 b(is)31 +b(a)f Ft(gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)390 +1399 y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(p)s(oin)m(ter)390 +1533 y(Sets)36 b(the)h(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(pro)m (vided)g(to)h(the)f(TLS/IA)g(callbac)m(k)i(function)f(as)f(the)h -(\014rst)390 4367 y(argumen)m(t.)150 4559 y Fu(gn)m(utls)p -483 4559 37 5 v 55 w(ia)p 632 4559 V 53 w(set)p 837 4559 -V 54 w(serv)m(er)p 1213 4559 V 54 w(a)m(vp)p 1457 4559 -V 54 w(function)3350 4749 y FB([F)-8 b(unction])-3599 +(\014rst)390 1642 y(argumen)m(t.)150 1840 y Fv(gn)m(utls)p +483 1840 37 5 v 55 w(ia)p 632 1840 V 53 w(set)p 837 1840 +V 54 w(serv)m(er)p 1213 1840 V 54 w(a)m(vp)p 1457 1840 +V 54 w(function)3350 2036 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_ia_set_server_avp)q(_fu)q(nct)q(ion)565 -4859 y Fg(\()p Ff(gn)m(utls)p 846 4859 28 4 v 41 w(ia)p -957 4859 V 41 w(serv)m(er)p 1231 4859 V 40 w(creden)m(tials)p -1692 4859 V 41 w(t)31 b Fe(cred)12 b Ff(,)31 b(gn)m(utls)p -2315 4859 V 41 w(ia)p 2426 4859 V 40 w(a)m(vp)p 2607 -4859 V 41 w(func)e Fe(avp_func)12 b Fg(\))390 4968 y -Ff(cred)t FB(:)40 b(is)31 b(a)f Fs(gnutls_ia_server_credenti)o(als_)o -(t)24 b FB(structure.)390 5099 y(Set)31 b(the)f(TLS/IA)g(A)-10 +2146 y Fg(\()p Ff(gn)m(utls)p 846 2146 28 4 v 41 w(ia)p +957 2146 V 41 w(serv)m(er)p 1231 2146 V 40 w(creden)m(tials)p +1692 2146 V 41 w(t)31 b Fe(cred)p Ff(,)h(gn)m(utls)p +2304 2146 V 40 w(ia)p 2414 2146 V 41 w(a)m(vp)p 2596 +2146 V 40 w(func)e Fe(avp_func)12 b Fg(\))390 2255 y +Ff(cred)t FB(:)40 b(is)31 b(a)f Ft(gnutls_ia_server_credenti)o(als_)o +(t)24 b FB(structure.)390 2389 y(Set)31 b(the)f(TLS/IA)g(A)-10 b(VP)30 b(callbac)m(k)j(handler)c(used)h(for)g(the)h(session.)390 -5230 y(The)h(callbac)m(k's)j(function)d(form)g(is:)46 -b(in)m(t)33 b(\(*a)m(vp)p 2066 5230 V 41 w(func\))f(\(gn)m(utls)p -2619 5230 V 41 w(session)p 2929 5230 V 40 w(t)h(session,)h(v)m(oid)f -(*ptr,)390 5340 y(const)e(c)m(har)g(*last,)h(size)p 1218 -5340 V 40 w(t)f(lastlen,)h(c)m(har)f(**next,)g(size)p -2299 5340 V 41 w(t)g(*nextlen\);)p eop end -%%Page: 268 274 -TeXDict begin 268 273 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(268)390 299 y(The)43 -b Fs(session)f FB(parameter)i(is)g(the)g Fs(gnutls_session_t)39 -b FB(structure)44 b(corresp)s(onding)e(to)j(the)390 408 -y(curren)m(t)f(session.)81 b(The)44 b Fs(ptr)f FB(parameter)h(is)g(the) +2523 y(The)h(callbac)m(k's)j(function)d(form)g(is:)46 +b(in)m(t)33 b(\(*a)m(vp)p 2066 2523 V 41 w(func\))f(\(gn)m(utls)p +2619 2523 V 41 w(session)p 2929 2523 V 40 w(t)h(session,)h(v)m(oid)f +(*ptr,)390 2633 y(const)e(c)m(har)g(*last,)h(size)p 1218 +2633 V 40 w(t)f(lastlen,)h(c)m(har)f(**next,)g(size)p +2299 2633 V 41 w(t)g(*nextlen\);)390 2767 y(The)43 b +Ft(session)f FB(parameter)i(is)g(the)g Ft(gnutls_session_t)39 +b FB(structure)44 b(corresp)s(onding)e(to)j(the)390 2876 +y(curren)m(t)f(session.)81 b(The)44 b Ft(ptr)f FB(parameter)h(is)g(the) g(application)i(ho)s(ok)e(p)s(oin)m(ter,)j(set)e(through)390 -518 y Fs(gnutls_ia_set_server_avp)o(_ptr)o(\(\))p FB(.)37 +2986 y Ft(gnutls_ia_set_server_avp)o(_ptr)o(\(\))p FB(.)37 b(The)30 b(A)-10 b(VP)32 b(receiv)m(ed)g(from)f(the)g(clien)m(t)i(is)e -(presen)m(t)g(in)390 628 y Fs(last)g FB(of)h Fs(lastlen)e +(presen)m(t)g(in)390 3095 y Ft(last)g FB(of)h Ft(lastlen)e FB(size.)46 b(The)31 b(newly)h(allo)s(cated)i(output)d(A)-10 b(VP)32 b(to)h(send)e(to)h(the)g(clien)m(t)i(should)390 -737 y(b)s(e)c(placed)h(in)f(*)p Fs(next)f FB(of)i(*)p -Fs(nextlen)e FB(size.)390 871 y(The)34 b(A)-10 b(VP)34 +3205 y(b)s(e)c(placed)h(in)f(*)p Ft(next)f FB(of)i(*)p +Ft(nextlen)e FB(size.)390 3339 y(The)34 b(A)-10 b(VP)34 b(callbac)m(k)i(is)f(called)g(to)g(pro)s(cess)f(incoming)h(A)-10 b(VPs)34 b(from)g(the)g(clien)m(t,)j(and)d(to)h(get)h(a)390 -981 y(new)26 b(A)-10 b(VP)26 b(to)h(send)f(to)h(the)f(clien)m(t.)41 +3449 y(new)26 b(A)-10 b(VP)26 b(to)h(send)f(to)h(the)f(clien)m(t.)41 b(It)27 b(can)f(also)i(b)s(e)d(used)h(to)h(instruct)f(the)h(TLS/IA)e -(handshak)m(e)390 1090 y(to)33 b(do)e(go)i(in)m(to)g(the)f(In)m -(termediate)h(or)f(Final)h(phases.)44 b(It)32 b(return)f(a)h(negativ)m -(e)i(error)e(co)s(de,)h(or)f(a)390 1200 y Fs(gnutls_ia_apptype_t)25 -b FB(message)32 b(t)m(yp)s(e.)390 1334 y(The)23 b(callbac)m(k)i(ma)m(y) -f(in)m(v)m(ok)m(e)h Fs(gnutls_ia_permute_inner_se)o(cret)o(\(\))17 -b FB(to)24 b(mix)f(an)m(y)h(generated)390 1444 y(session)30 +(handshak)m(e)390 3558 y(to)30 b(do)e(go)i(in)m(to)g(the)f(In)m +(termediate)h(or)f(Final)g(phases.)40 b(It)29 b(return)f(a)h(negativ)m +(e)i(error)e(co)s(de,)g(or)g(an)390 3668 y Ft(gnutls_ia_apptype_t)c +FB(message)32 b(t)m(yp)s(e.)390 3802 y(The)23 b(callbac)m(k)i(ma)m(y)f +(in)m(v)m(ok)m(e)h Ft(gnutls_ia_permute_inner_se)o(cret)o(\(\))17 +b FB(to)24 b(mix)f(an)m(y)h(generated)390 3911 y(session)30 b(k)m(eys)h(with)g(the)f(TLS/IA)g(inner)f(secret.)390 -1578 y(Sp)s(eci\014cally)-8 b(,)43 b(return)c Fs +4045 y(Sp)s(eci\014cally)-8 b(,)43 b(return)c Ft (GNUTLS_IA_APPLICATION_P)o(AYLO)o(AD)33 b FB(\(0\))41 -b(to)g(send)e(another)g(A)-10 b(VP)40 b(to)390 1687 y(the)26 -b(clien)m(t,)j(return)24 b Fs(GNUTLS_IA_INTERMEDIATE_PHA)o(SE_)o(FINI)o +b(to)g(send)e(another)g(A)-10 b(VP)40 b(to)390 4155 y(the)26 +b(clien)m(t,)j(return)24 b Ft(GNUTLS_IA_INTERMEDIATE_PHA)o(SE_)o(FINI)o (SHED)19 b FB(\(1\))27 b(to)g(indicate)g(that)f(an)390 -1797 y(In)m(termediatePhaseFinished)39 b(message)h(should)d(b)s(e)h -(sen)m(t,)j(and)c(return)g Fs(GNUTLS_IA_FINAL_)390 1907 +4264 y(In)m(termediatePhaseFinished)39 b(message)h(should)d(b)s(e)h +(sen)m(t,)j(and)c(return)g Ft(GNUTLS_IA_FINAL_)390 4374 y(PHASE_FINISHED)25 b FB(\(2\))30 b(to)f(indicate)h(that)f(an)g (FinalPhaseFinished)g(message)g(should)f(b)s(e)g(sen)m(t.)390 -2016 y(In)i(the)g(last)h(t)m(w)m(o)h(cases,)g(the)e(con)m(ten)m(ts)i -(of)f(the)f Fs(next)g FB(and)f Fs(nextlen)g FB(parameter)i(is)f(not)h -(used.)390 2150 y(Note)25 b(that)g(the)f(callbac)m(k)i(m)m(ust)d(use)h -(allo)s(cate)i(the)e Fs(next)f FB(parameter)h(using)g -Fs(gnutls_malloc\(\))p FB(,)390 2260 y(b)s(ecause)30 -b(it)h(is)g(released)g(via)g Fs(gnutls_free\(\))c FB(b)m(y)j(the)g -(TLS/IA)g(handshak)m(e)g(function.)150 2458 y Fu(gn)m(utls)p -483 2458 37 5 v 55 w(ia)p 632 2458 V 53 w(set)p 837 2458 -V 54 w(serv)m(er)p 1213 2458 V 54 w(a)m(vp)p 1457 2458 -V 54 w(ptr)3350 2654 y FB([F)-8 b(unction])-3599 b Fh(void)54 +4484 y(In)i(the)g(last)h(t)m(w)m(o)h(cases,)g(the)e(con)m(ten)m(ts)i +(of)f(the)f Ft(next)g FB(and)f Ft(nextlen)g FB(parameter)i(is)f(not)h +(used.)390 4617 y(Note)25 b(that)g(the)f(callbac)m(k)i(m)m(ust)d(use)h +(allo)s(cate)i(the)e Ft(next)f FB(parameter)h(using)g +Ft(gnutls_malloc\(\))p FB(,)390 4727 y(b)s(ecause)30 +b(it)h(is)g(released)g(via)g Ft(gnutls_free\(\))c FB(b)m(y)j(the)g +(TLS/IA)g(handshak)m(e)g(function.)150 4925 y Fv(gn)m(utls)p +483 4925 37 5 v 55 w(ia)p 632 4925 V 53 w(set)p 837 4925 +V 54 w(serv)m(er)p 1213 4925 V 54 w(a)m(vp)p 1457 4925 +V 54 w(ptr)3350 5121 y FB([F)-8 b(unction])-3599 b Fh(void)54 b(gnutls_ia_set_server_avp)q(_pt)q(r)d Fg(\()p Ff(gn)m(utls)p -2202 2654 28 4 v 41 w(ia)p 2313 2654 V 41 w(serv)m(er)p -2587 2654 V 40 w(creden)m(tials)p 3048 2654 V 42 w(t)565 -2764 y Fe(cred)12 b Ff(,)31 b(v)m(oid)g(*)g Fe(ptr)12 -b Fg(\))390 2873 y Ff(cred)t FB(:)40 b(is)31 b(a)f Fs -(gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)390 -3007 y Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(p)s(oin)m(ter)390 -3142 y(Sets)36 b(the)h(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(pro)m +2202 5121 28 4 v 41 w(ia)p 2313 5121 V 41 w(serv)m(er)p +2587 5121 V 40 w(creden)m(tials)p 3048 5121 V 42 w(t)565 +5230 y Fe(cred)p Ff(,)32 b(v)m(oid)f(*)g Fe(ptr)12 b +Fg(\))390 5340 y Ff(cred)t FB(:)40 b(is)31 b(a)f Ft +(gnutls_ia_client_credenti)o(als_)o(t)24 b FB(structure.)p +eop end +%%Page: 252 258 +TeXDict begin 252 257 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(252)390 299 y +Ff(ptr)7 b FB(:)40 b(is)30 b(the)h(p)s(oin)m(ter)390 +434 y(Sets)36 b(the)h(p)s(oin)m(ter)f(that)h(will)g(b)s(e)f(pro)m (vided)g(to)h(the)f(TLS/IA)g(callbac)m(k)i(function)f(as)f(the)h -(\014rst)390 3251 y(argumen)m(t.)150 3450 y Fu(gn)m(utls)p -483 3450 37 5 v 55 w(ia)p 632 3450 V 53 w(v)m(erify)p -989 3450 V 54 w(endphase)3350 3645 y FB([F)-8 b(unction])-3599 +(\014rst)390 544 y(argumen)m(t.)150 744 y Fv(gn)m(utls)p +483 744 37 5 v 55 w(ia)p 632 744 V 53 w(v)m(erify)p 989 +744 V 54 w(endphase)3350 941 y FB([F)-8 b(unction])-3599 b Fh(int)53 b(gnutls_ia_verify_endp)q(hase)f Fg(\()p -Ff(gn)m(utls)p 1993 3645 28 4 v 41 w(session)p 2303 3645 -V 40 w(t)31 b Fe(session)12 b Ff(,)32 b(const)565 3755 -y(c)m(har)f(*)g Fe(checksum)12 b Fg(\))390 3865 y Ff(session)p -FB(:)41 b(is)30 b(a)h Fs(gnutls_session_t)26 b FB(structure.)390 -3999 y Ff(c)m(hec)m(ksum)p FB(:)41 b(12-b)m(yte)33 b(c)m(hec)m(ksum)e -(data,)g(receiv)m(ed)h(from)e Fs(gnutls_ia_recv\(\))p -FB(.)390 4133 y(V)-8 b(erify)33 b(TLS/IA)e(end)g(phase)h(c)m(hec)m +Ff(gn)m(utls)p 1993 941 28 4 v 41 w(session)p 2303 941 +V 40 w(t)31 b Fe(session)p Ff(,)i(const)565 1051 y(c)m(har)e(*)g +Fe(checksum)12 b Fg(\))390 1160 y Ff(session)p FB(:)41 +b(is)30 b(a)h Ft(gnutls_session_t)26 b FB(structure.)390 +1296 y Ff(c)m(hec)m(ksum)p FB(:)41 b(12-b)m(yte)33 b(c)m(hec)m(ksum)e +(data,)g(receiv)m(ed)h(from)e Ft(gnutls_ia_recv\(\))p +FB(.)390 1431 y(V)-8 b(erify)33 b(TLS/IA)e(end)g(phase)h(c)m(hec)m (ksum)g(data.)47 b(If)31 b(v)m(eri\014cation)j(fails,)f(the)f -Fs(GNUTLS_A_INNER_)390 4242 y(APPLICATION_VERIFICATION)24 +Ft(GNUTLS_A_INNER_)390 1540 y(APPLICATION_VERIFICATION)24 b FB(alert)31 b(is)g(sen)m(t)f(to)i(the)e(other)h(sie.)390 -4377 y(This)22 b(function)g(is)g(called)i(when)d Fs(gnutls_ia_recv\(\)) -d FB(return)k Fs(GNUTLS_E_WARNING_IA_IPHF)o(_)390 4486 -y(RECEIVED)28 b FB(or)i Fs(GNUTLS_E_WARNING_IA_FPHF_R)o(ECEI)o(VED)o -FB(.)390 4620 y Fn(Return)i(v)-5 b(alue:)43 b FB(Return)31 +1676 y(This)22 b(function)g(is)g(called)i(when)d Ft(gnutls_ia_recv\(\)) +d FB(return)k Ft(GNUTLS_E_WARNING_IA_IPHF)o(_)390 1785 +y(RECEIVED)28 b FB(or)i Ft(GNUTLS_E_WARNING_IA_FPHF_R)o(ECEI)o(VED)o +FB(.)390 1921 y Fn(Return)i(v)-5 b(alue:)43 b FB(Return)31 b(0)h(on)g(successful)f(v)m(eri\014cation,)j(or)e(an)g(error)f(co)s -(de.)45 b(If)31 b(the)h(c)m(hec)m(ksum)390 4730 y(v)m(eri\014cation)c -(of)e(the)g(end)f(phase)h(message)h(fails,)h Fs +(de.)45 b(If)31 b(the)h(c)m(hec)m(ksum)390 2030 y(v)m(eri\014cation)c +(of)e(the)g(end)f(phase)h(message)h(fails,)h Ft (GNUTLS_E_IA_VERIFY_FAIL)o(ED)20 b FB(is)26 b(returned.)150 -4961 y FA(9.6)68 b(Error)45 b(Co)t(des)g(and)g(Descriptions)150 -5121 y FB(The)26 b(error)g(co)s(des)h(used)f(throughout)g(the)h +2264 y FA(9.6)68 b(Error)45 b(Co)t(des)g(and)g(Descriptions)150 +2423 y FB(The)26 b(error)g(co)s(des)h(used)f(throughout)g(the)h (library)f(are)h(describ)s(ed)f(b)s(elo)m(w.)39 b(The)27 -b(return)e(co)s(de)i Fs(GNUTLS_)150 5230 y(E_SUCCESS)g +b(return)e(co)s(de)i Ft(GNUTLS_)150 2533 y(E_SUCCESS)g FB(indicate)j(successful)f(op)s(eration,)h(and)e(is)h(guaran)m(teed)i (to)e(ha)m(v)m(e)i(the)e(v)-5 b(alue)30 b(0,)g(so)f(y)m(ou)h(can)150 -5340 y(use)g(it)h(in)f(logical)j(expressions.)p eop end -%%Page: 269 275 -TeXDict begin 269 274 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(269)150 299 y -Fs(GNUTLS_E_AGAIN:)630 408 y FB(Resource)31 b(temp)s(orarily)f(una)m(v) --5 b(ailable,)32 b(try)f(again.)150 573 y Fs(GNUTLS_E_ASN1_DER_ERROR:) -630 682 y FB(ASN1)g(parser:)40 b(Error)29 b(in)h(DER)h(parsing.)150 -847 y Fs(GNUTLS_E_ASN1_DER_OVERFL)o(OW:)630 956 y FB(ASN1)g(parser:)40 -b(Ov)m(er\015o)m(w)30 b(in)g(DER)h(parsing.)150 1121 -y Fs(GNUTLS_E_ASN1_ELEMENT_NO)o(T_FO)o(UND:)630 1230 +2642 y(use)g(it)h(in)f(logical)j(expressions.)150 2803 +y Ft(GNUTLS_E_AGAIN:)630 2912 y FB(F)-8 b(unction)31 +b(w)m(as)g(in)m(terrupted.)150 3073 y Ft(GNUTLS_E_ASN1_DER_ERROR:)630 +3182 y FB(ASN1)g(parser:)40 b(Error)29 b(in)h(DER)h(parsing.)150 +3342 y Ft(GNUTLS_E_ASN1_DER_OVERFL)o(OW:)630 3452 y FB(ASN1)g(parser:) +40 b(Ov)m(er\015o)m(w)30 b(in)g(DER)h(parsing.)150 3612 +y Ft(GNUTLS_E_ASN1_ELEMENT_NO)o(T_FO)o(UND:)630 3722 y FB(ASN1)g(parser:)40 b(Elemen)m(t)31 b(w)m(as)g(not)f(found.)150 -1395 y Fs(GNUTLS_E_ASN1_GENERIC_ER)o(ROR:)630 1504 y +3882 y Ft(GNUTLS_E_ASN1_GENERIC_ER)o(ROR:)630 3991 y FB(ASN1)h(parser:)40 b(Generic)31 b(parsing)f(error.)150 -1669 y Fs(GNUTLS_E_ASN1_IDENTIFIER)o(_NOT)o(_FOU)o(ND:)630 -1778 y FB(ASN1)h(parser:)40 b(Iden)m(ti\014er)30 b(w)m(as)h(not)f -(found)150 1943 y Fs(GNUTLS_E_ASN1_SYNTAX_ERR)o(OR:)630 -2052 y FB(ASN1)h(parser:)40 b(Syn)m(tax)30 b(error.)150 -2217 y Fs(GNUTLS_E_ASN1_TAG_ERROR:)630 2326 y FB(ASN1)h(parser:)40 -b(Error)29 b(in)h(T)-8 b(A)m(G.)150 2491 y Fs(GNUTLS_E_ASN1_TAG_IMPLIC) -o(IT:)630 2600 y FB(ASN1)31 b(parser:)40 b(error)30 b(in)g(implicit)h -(tag)150 2765 y Fs(GNUTLS_E_ASN1_TYPE_ANY_E)o(RROR)o(:)630 -2874 y FB(ASN1)g(parser:)40 b(Error)29 b(in)h(t)m(yp)s(e)h('ANY'.)150 -3039 y Fs(GNUTLS_E_ASN1_VALUE_NOT_)o(FOUN)o(D:)630 3148 -y FB(ASN1)g(parser:)40 b(V)-8 b(alue)31 b(w)m(as)g(not)g(found.)150 -3313 y Fs(GNUTLS_E_ASN1_VALUE_NOT_)o(VALI)o(D:)630 3422 +4151 y Ft(GNUTLS_E_ASN1_IDENTIFIER)o(_NOT)o(_FOU)o(ND:)630 +4261 y FB(ASN1)h(parser:)40 b(Iden)m(ti\014er)30 b(w)m(as)h(not)f +(found)150 4421 y Ft(GNUTLS_E_ASN1_SYNTAX_ERR)o(OR:)630 +4531 y FB(ASN1)h(parser:)40 b(Syn)m(tax)30 b(error.)150 +4691 y Ft(GNUTLS_E_ASN1_TAG_ERROR:)630 4801 y FB(ASN1)h(parser:)40 +b(Error)29 b(in)h(T)-8 b(A)m(G.)150 4961 y Ft(GNUTLS_E_ASN1_TAG_IMPLIC) +o(IT:)630 5070 y FB(ASN1)31 b(parser:)40 b(error)30 b(in)g(implicit)h +(tag)150 5230 y Ft(GNUTLS_E_ASN1_TYPE_ANY_E)o(RROR)o(:)630 +5340 y FB(ASN1)g(parser:)40 b(Error)29 b(in)h(t)m(yp)s(e)h('ANY'.)p +eop end +%%Page: 253 259 +TeXDict begin 253 258 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(253)150 299 y +Ft(GNUTLS_E_ASN1_VALUE_NOT_)o(FOUN)o(D:)630 408 y FB(ASN1)31 +b(parser:)40 b(V)-8 b(alue)31 b(w)m(as)g(not)g(found.)150 +573 y Ft(GNUTLS_E_ASN1_VALUE_NOT_)o(VALI)o(D:)630 682 y FB(ASN1)g(parser:)40 b(V)-8 b(alue)31 b(is)g(not)f(v)-5 -b(alid.)150 3587 y Fs(GNUTLS_E_BASE64_DECODING)o(_ERR)o(OR:)630 -3696 y FB(Base64)32 b(deco)s(ding)f(error.)150 3861 y -Fs(GNUTLS_E_BASE64_ENCODING)o(_ERR)o(OR:)630 3970 y FB(Base64)h(enco)s -(ding)f(error.)150 4134 y Fs(GNUTLS_E_BASE64_UNEXPECT)o(ED_H)o(EADE)o -(R_E)o(RROR)o(:)630 4244 y FB(Base64)h(unexp)s(ected)e(header)g(error.) -150 4408 y Fs(GNUTLS_E_CERTIFICATE_ERR)o(OR:)630 4518 -y FB(Error)f(in)i(the)f(certi\014cate.)150 4682 y Fs -(GNUTLS_E_CERTIFICATE_KEY)o(_MIS)o(MATC)o(H:)630 4792 +b(alid.)150 847 y Ft(GNUTLS_E_BASE64_DECODING)o(_ERR)o(OR:)630 +956 y FB(Base64)32 b(deco)s(ding)f(error.)150 1121 y +Ft(GNUTLS_E_BASE64_ENCODING)o(_ERR)o(OR:)630 1230 y FB(Base64)h(enco)s +(ding)f(error.)150 1395 y Ft(GNUTLS_E_BASE64_UNEXPECT)o(ED_H)o(EADE)o +(R_E)o(RROR)o(:)630 1504 y FB(Base64)h(unexp)s(ected)e(header)g(error.) +150 1669 y Ft(GNUTLS_E_CERTIFICATE_ERR)o(OR:)630 1778 +y FB(Error)f(in)i(the)f(certi\014cate.)150 1943 y Ft +(GNUTLS_E_CERTIFICATE_KEY)o(_MIS)o(MATC)o(H:)630 2052 y FB(The)g(certi\014cate)i(and)e(the)h(giv)m(en)g(k)m(ey)g(do)f(not)h -(matc)m(h.)150 4956 y Fs(GNUTLS_E_COMPRESSION_FAI)o(LED:)630 -5066 y FB(Compression)f(of)g(the)h(TLS)e(record)h(pac)m(k)m(et)j(has)d -(failed.)150 5230 y Fs(GNUTLS_E_CONSTRAINT_ERRO)o(R:)630 -5340 y FB(Some)g(constrain)m(t)i(limits)f(w)m(ere)g(reac)m(hed.)p -eop end -%%Page: 270 276 -TeXDict begin 270 275 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(270)150 299 y -Fs(GNUTLS_E_CRYPTO_ALREADY_)o(REGI)o(STER)o(ED:)630 408 -y FB(There)30 b(is)g(already)h(a)g(crypto)g(algorithm)g(with)f(lo)m(w)m -(er)i(priorit)m(y)-8 b(.)150 573 y Fs(GNUTLS_E_DB_ERROR:)630 -682 y FB(Error)29 b(in)i(Database)h(bac)m(k)m(end.)150 -847 y Fs(GNUTLS_E_DECOMPRESSION_F)o(AILE)o(D:)630 956 +(matc)m(h.)150 2217 y Ft(GNUTLS_E_COMPRESSION_FAI)o(LED:)630 +2326 y FB(Compression)f(of)g(the)h(TLS)e(record)h(pac)m(k)m(et)j(has)d +(failed.)150 2491 y Ft(GNUTLS_E_CONSTRAINT_ERRO)o(R:)630 +2600 y FB(Some)g(constrain)m(t)i(limits)f(w)m(ere)g(reac)m(hed.)150 +2765 y Ft(GNUTLS_E_CRYPTO_ALREADY_)o(REGI)o(STER)o(ED:)630 +2874 y FB(There)f(is)g(already)h(a)g(crypto)g(algorithm)g(with)f(lo)m +(w)m(er)i(priorit)m(y)-8 b(.)150 3039 y Ft(GNUTLS_E_DB_ERROR:)630 +3148 y FB(Error)29 b(in)i(Database)h(bac)m(k)m(end.)150 +3313 y Ft(GNUTLS_E_DECOMPRESSION_F)o(AILE)o(D:)630 3422 y FB(Decompression)f(of)g(the)f(TLS)g(record)g(pac)m(k)m(et)i(has)e -(failed.)150 1121 y Fs(GNUTLS_E_DECRYPTION_FAIL)o(ED:)630 -1230 y FB(Decryption)h(has)f(failed.)150 1395 y Fs -(GNUTLS_E_DH_PRIME_UNACCE)o(PTAB)o(LE:)630 1504 y FB(The)22 -b(Di\016e-Hellman)i(prime)d(sen)m(t)i(b)m(y)f(the)h(serv)m(er)f(is)g -(not)h(acceptable)h(\(not)f(long)g(enough\).)150 1669 -y Fs(GNUTLS_E_ENCRYPTION_FAIL)o(ED:)630 1778 y FB(Encryption)30 -b(has)g(failed.)150 1943 y Fs(GNUTLS_E_ERROR_IN_FINISH)o(ED_P)o(ACKE)o -(T:)630 2052 y FB(An)g(error)g(w)m(as)h(encoun)m(tered)g(at)g(the)f -(TLS)g(Finished)f(pac)m(k)m(et)k(calculation.)150 2217 -y Fs(GNUTLS_E_EXPIRED:)630 2326 y FB(The)d(requested)g(session)h(has)f -(expired.)150 2491 y Fs(GNUTLS_E_FATAL_ALERT_REC)o(EIVE)o(D:)630 -2600 y FB(A)g(TLS)g(fatal)h(alert)h(has)e(b)s(een)g(receiv)m(ed.)150 -2765 y Fs(GNUTLS_E_FILE_ERROR:)630 2874 y FB(Error)f(while)i(reading)f -(\014le.)150 3039 y Fs(GNUTLS_E_GOT_APPLICATION)o(_DAT)o(A:)630 -3148 y FB(TLS)f(Application)j(data)f(w)m(ere)g(receiv)m(ed,)h(while)e -(exp)s(ecting)h(handshak)m(e)f(data.)150 3313 y Fs -(GNUTLS_E_HANDSHAKE_TOO_L)o(ARGE)o(:)630 3422 y FB(The)20 -b(handshak)m(e)g(data)h(size)g(is)f(to)s(o)h(large)g(\(DoS?\),)j(c)m -(hec)m(k)e(gn)m(utls)p 2851 3422 28 4 v 40 w(handshak)m(e)p -3306 3422 V 40 w(set)p 3457 3422 V 40 w(max)p 3666 3422 -V 41 w(pac)m(k)m(et)p 3960 3422 V 42 w(length\(\).)150 -3587 y Fs(GNUTLS_E_HASH_FAILED:)630 3696 y FB(Hashing)31 -b(has)f(failed.)150 3861 y Fs(GNUTLS_E_IA_VERIFY_FAILE)o(D:)630 -3970 y FB(V)-8 b(erifying)31 b(TLS/IA)f(phase)g(c)m(hec)m(ksum)h -(failed)150 4134 y Fs(GNUTLS_E_ILLEGAL_SRP_USE)o(RNAM)o(E:)630 -4244 y FB(The)f(SRP)f(username)h(supplied)f(is)i(illegal.)150 -4408 y Fs(GNUTLS_E_INCOMPATIBLE_GC)o(RYPT)o(_LIB)o(RAR)o(Y:)630 -4518 y FB(The)f(gcrypt)g(library)g(v)m(ersion)h(is)g(to)s(o)g(old.)150 -4682 y Fs(GNUTLS_E_INCOMPATIBLE_LI)o(BTAS)o(N1_L)o(IBR)o(ARY:)630 -4792 y FB(The)f(tasn1)h(library)f(v)m(ersion)h(is)f(to)s(o)h(old.)150 -4956 y Fs(GNUTLS_E_INIT_LIBEXTRA:)630 5066 y FB(The)f(initialization)j -(of)e(Gn)m(uTLS-extra)f(has)g(failed.)150 5230 y Fs -(GNUTLS_E_INSUFFICIENT_CR)o(EDEN)o(TIAL)o(S:)630 5340 -y FB(Insu\016cien)m(t)g(creden)m(tials)i(for)e(that)h(request.)p -eop end -%%Page: 271 277 -TeXDict begin 271 276 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(271)150 299 y -Fs(GNUTLS_E_INTERNAL_ERROR:)630 408 y FB(Gn)m(uTLS)29 -b(in)m(ternal)i(error.)150 573 y Fs(GNUTLS_E_INTERRUPTED:)630 -682 y FB(F)-8 b(unction)31 b(w)m(as)g(in)m(terrupted.)150 -847 y Fs(GNUTLS_E_INVALID_PASSWOR)o(D:)630 956 y FB(The)f(giv)m(en)h +(failed.)150 3587 y Ft(GNUTLS_E_DECRYPTION_FAIL)o(ED:)630 +3696 y FB(Decryption)h(has)f(failed.)150 3861 y Ft +(GNUTLS_E_DH_PRIME_UNACCE)o(PTAB)o(LE:)630 3970 y FB(The)22 +b(Di\016e)i(Hellman)f(prime)g(sen)m(t)g(b)m(y)g(the)g(serv)m(er)g(is)g +(not)g(acceptable)i(\(not)e(long)h(enough\).)150 4134 +y Ft(GNUTLS_E_ENCRYPTION_FAIL)o(ED:)630 4244 y FB(Encryption)30 +b(has)g(failed.)150 4408 y Ft(GNUTLS_E_ERROR_IN_FINISH)o(ED_P)o(ACKE)o +(T:)630 4518 y FB(An)g(error)g(w)m(as)h(encoun)m(tered)g(at)g(the)f +(TLS)g(Finished)f(pac)m(k)m(et)k(calculation.)150 4682 +y Ft(GNUTLS_E_EXPIRED:)630 4792 y FB(The)d(requested)g(session)h(has)f +(expired.)150 4956 y Ft(GNUTLS_E_FATAL_ALERT_REC)o(EIVE)o(D:)630 +5066 y FB(A)g(TLS)g(fatal)h(alert)h(has)e(b)s(een)g(receiv)m(ed.)150 +5230 y Ft(GNUTLS_E_FILE_ERROR:)630 5340 y FB(Error)f(while)i(reading)f +(\014le.)p eop end +%%Page: 254 260 +TeXDict begin 254 259 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(254)150 299 y +Ft(GNUTLS_E_GOT_APPLICATION)o(_DAT)o(A:)630 408 y FB(TLS)29 +b(Application)j(data)f(w)m(ere)g(receiv)m(ed,)h(while)e(exp)s(ecting)h +(handshak)m(e)f(data.)150 573 y Ft(GNUTLS_E_HANDSHAKE_TOO_L)o(ARGE)o(:) +630 682 y FB(The)20 b(handshak)m(e)g(data)h(size)g(is)f(to)s(o)h(large) +g(\(DoS?\),)j(c)m(hec)m(k)e(gn)m(utls)p 2851 682 28 4 +v 40 w(handshak)m(e)p 3306 682 V 40 w(set)p 3457 682 +V 40 w(max)p 3666 682 V 41 w(pac)m(k)m(et)p 3960 682 +V 42 w(length\(\).)150 847 y Ft(GNUTLS_E_HASH_FAILED:)630 +956 y FB(Hashing)31 b(has)f(failed.)150 1121 y Ft +(GNUTLS_E_IA_VERIFY_FAILE)o(D:)630 1230 y FB(V)-8 b(erifying)31 +b(TLS/IA)f(phase)g(c)m(hec)m(ksum)h(failed)150 1395 y +Ft(GNUTLS_E_ILLEGAL_SRP_USE)o(RNAM)o(E:)630 1504 y FB(The)f(SRP)f +(username)h(supplied)f(is)i(illegal.)150 1669 y Ft +(GNUTLS_E_INCOMPATIBLE_GC)o(RYPT)o(_LIB)o(RAR)o(Y:)630 +1778 y FB(The)f(gcrypt)g(library)g(v)m(ersion)h(is)g(to)s(o)g(old.)150 +1943 y Ft(GNUTLS_E_INCOMPATIBLE_LI)o(BTAS)o(N1_L)o(IBR)o(ARY:)630 +2052 y FB(The)f(tasn1)h(library)f(v)m(ersion)h(is)f(to)s(o)h(old.)150 +2217 y Ft(GNUTLS_E_INIT_LIBEXTRA:)630 2326 y FB(The)f(initialization)j +(of)e(Gn)m(uTLS-extra)f(has)g(failed.)150 2491 y Ft +(GNUTLS_E_INSUFFICIENT_CR)o(EDEN)o(TIAL)o(S:)630 2600 +y FB(Insu\016cien)m(t)g(creden)m(tials)i(for)e(that)h(request.)150 +2765 y Ft(GNUTLS_E_INTERNAL_ERROR:)630 2874 y FB(Gn)m(uTLS)e(in)m +(ternal)i(error.)150 3039 y Ft(GNUTLS_E_INTERRUPTED:)630 +3148 y FB(F)-8 b(unction)31 b(w)m(as)g(in)m(terrupted.)150 +3313 y Ft(GNUTLS_E_INVALID_PASSWOR)o(D:)630 3422 y FB(The)f(giv)m(en)h (passw)m(ord)f(con)m(tains)h(in)m(v)-5 b(alid)31 b(c)m(haracters.)150 -1121 y Fs(GNUTLS_E_INVALID_REQUEST)o(:)630 1230 y FB(The)f(request)g -(is)h(in)m(v)-5 b(alid.)150 1395 y Fs(GNUTLS_E_INVALID_SESSION)o(:)630 -1504 y FB(The)30 b(sp)s(eci\014ed)g(session)g(has)g(b)s(een)g(in)m(v)-5 -b(alidated)31 b(for)g(some)f(reason.)150 1669 y Fs -(GNUTLS_E_KEY_USAGE_VIOLA)o(TION)o(:)630 1778 y FB(Key)g(usage)h +3587 y Ft(GNUTLS_E_INVALID_REQUEST)o(:)630 3696 y FB(The)f(request)g +(is)h(in)m(v)-5 b(alid.)150 3861 y Ft(GNUTLS_E_INVALID_SESSION)o(:)630 +3970 y FB(The)30 b(sp)s(eci\014ed)g(session)g(has)g(b)s(een)g(in)m(v)-5 +b(alidated)31 b(for)g(some)f(reason.)150 4134 y Ft +(GNUTLS_E_KEY_USAGE_VIOLA)o(TION)o(:)630 4244 y FB(Key)g(usage)h (violation)i(in)d(certi\014cate)i(has)e(b)s(een)g(detected.)150 -1943 y Fs(GNUTLS_E_LARGE_PACKET:)630 2052 y FB(A)g(large)i(TLS)d -(record)i(pac)m(k)m(et)h(w)m(as)f(receiv)m(ed.)150 2217 -y Fs(GNUTLS_E_LIBRARY_VERSION)o(_MIS)o(MATC)o(H:)630 -2326 y FB(The)25 b(Gn)m(uTLS)f(library)h(v)m(ersion)g(do)s(es)g(not)h +4408 y Ft(GNUTLS_E_LARGE_PACKET:)630 4518 y FB(A)g(large)i(TLS)d +(record)i(pac)m(k)m(et)h(w)m(as)f(receiv)m(ed.)150 4682 +y Ft(GNUTLS_E_LIBRARY_VERSION)o(_MIS)o(MATC)o(H:)630 +4792 y FB(The)25 b(Gn)m(uTLS)f(library)h(v)m(ersion)g(do)s(es)g(not)h (matc)m(h)g(the)f(Gn)m(uTLS-extra)g(library)g(v)m(ersion.)150 -2491 y Fs(GNUTLS_E_LZO_INIT_FAILED)o(:)630 2600 y FB(The)30 -b(initialization)j(of)e(LZO)e(has)h(failed.)150 2765 -y Fs(GNUTLS_E_MAC_VERIFY_FAIL)o(ED:)630 2874 y FB(The)g(Message)i -(Authen)m(tication)g(Co)s(de)e(v)m(eri\014cation)i(failed.)150 -3039 y Fs(GNUTLS_E_MEMORY_ERROR:)630 3148 y FB(In)m(ternal)f(error)f -(in)g(memory)g(allo)s(cation.)150 3313 y Fs(GNUTLS_E_MPI_PRINT_FAILE)o -(D:)630 3422 y FB(Could)g(not)g(exp)s(ort)g(a)h(large)h(in)m(teger.)150 -3587 y Fs(GNUTLS_E_MPI_SCAN_FAILED)o(:)630 3696 y FB(The)e(scanning)g -(of)h(a)f(large)i(in)m(teger)g(has)e(failed.)150 3861 -y Fs(GNUTLS_E_NO_CERTIFICATE_)o(FOUN)o(D:)630 3970 y -FB(The)g(p)s(eer)g(did)f(not)i(send)e(an)m(y)i(certi\014cate.)150 -4134 y Fs(GNUTLS_E_NO_CIPHER_SUITE)o(S:)630 4244 y FB(No)g(supp)s -(orted)d(cipher)i(suites)h(ha)m(v)m(e)h(b)s(een)d(found.)150 -4408 y Fs(GNUTLS_E_NO_COMPRESSION_)o(ALGO)o(RITH)o(MS:)630 -4518 y FB(No)i(supp)s(orted)d(compression)j(algorithms)g(ha)m(v)m(e)h -(b)s(een)d(found.)150 4682 y Fs(GNUTLS_E_NO_TEMPORARY_DH)o(_PAR)o(AMS:) -630 4792 y FB(No)i(temp)s(orary)f(DH)h(parameters)g(w)m(ere)f(found.) -150 4956 y Fs(GNUTLS_E_NO_TEMPORARY_RS)o(A_PA)o(RAMS)o(:)630 -5066 y FB(No)h(temp)s(orary)f(RSA)g(parameters)h(w)m(ere)f(found.)150 -5230 y Fs(GNUTLS_E_OPENPGP_FINGERP)o(RINT)o(_UNS)o(UPP)o(ORTE)o(D:)630 -5340 y FB(The)g(Op)s(enPGP)f(\014ngerprin)m(t)g(is)i(not)f(supp)s -(orted.)p eop end -%%Page: 272 278 -TeXDict begin 272 277 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(272)150 299 y -Fs(GNUTLS_E_OPENPGP_GETKEY_)o(FAIL)o(ED:)630 408 y FB(Could)30 -b(not)g(get)i(Op)s(enPGP)d(k)m(ey)-8 b(.)150 573 y Fs -(GNUTLS_E_OPENPGP_KEYRING)o(_ERR)o(OR:)630 682 y FB(Error)29 -b(loading)j(the)e(k)m(eyring.)150 847 y Fs(GNUTLS_E_OPENPGP_SUBKEY_)o -(ERRO)o(R:)630 956 y FB(Could)g(not)g(\014nd)f(Op)s(enPGP)g(subk)m(ey) --8 b(.)150 1121 y Fs(GNUTLS_E_OPENPGP_UID_REV)o(OKED)o(:)630 -1230 y FB(The)30 b(Op)s(enPGP)f(User)h(ID)h(is)f(rev)m(ok)m(ed.)150 -1395 y Fs(GNUTLS_E_PKCS1_WRONG_PAD)o(:)630 1504 y FB(W)-8 +4956 y Ft(GNUTLS_E_LZO_INIT_FAILED)o(:)630 5066 y FB(The)30 +b(initialization)j(of)e(LZO)e(has)h(failed.)150 5230 +y Ft(GNUTLS_E_MAC_VERIFY_FAIL)o(ED:)630 5340 y FB(The)g(Message)i +(Authen)m(tication)g(Co)s(de)e(v)m(eri\014cation)i(failed.)p +eop end +%%Page: 255 261 +TeXDict begin 255 260 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(255)150 299 y +Ft(GNUTLS_E_MEMORY_ERROR:)630 408 y FB(In)m(ternal)31 +b(error)f(in)g(memory)g(allo)s(cation.)150 573 y Ft +(GNUTLS_E_MPI_PRINT_FAILE)o(D:)630 682 y FB(Could)g(not)g(exp)s(ort)g +(a)h(large)h(in)m(teger.)150 847 y Ft(GNUTLS_E_MPI_SCAN_FAILED)o(:)630 +956 y FB(The)e(scanning)g(of)h(a)f(large)i(in)m(teger)g(has)e(failed.) +150 1121 y Ft(GNUTLS_E_NO_CERTIFICATE_)o(FOUN)o(D:)630 +1230 y FB(The)g(p)s(eer)g(did)f(not)i(send)e(an)m(y)i(certi\014cate.) +150 1395 y Ft(GNUTLS_E_NO_CIPHER_SUITE)o(S:)630 1504 +y FB(No)g(supp)s(orted)d(cipher)i(suites)h(ha)m(v)m(e)h(b)s(een)d +(found.)150 1669 y Ft(GNUTLS_E_NO_COMPRESSION_)o(ALGO)o(RITH)o(MS:)630 +1778 y FB(No)i(supp)s(orted)d(compression)j(algorithms)g(ha)m(v)m(e)h +(b)s(een)d(found.)150 1943 y Ft(GNUTLS_E_NO_TEMPORARY_DH)o(_PAR)o(AMS:) +630 2052 y FB(No)i(temp)s(orary)f(DH)h(parameters)g(w)m(ere)f(found.) +150 2217 y Ft(GNUTLS_E_NO_TEMPORARY_RS)o(A_PA)o(RAMS)o(:)630 +2326 y FB(No)h(temp)s(orary)f(RSA)g(parameters)h(w)m(ere)f(found.)150 +2491 y Ft(GNUTLS_E_OPENPGP_FINGERP)o(RINT)o(_UNS)o(UPP)o(ORTE)o(D:)630 +2600 y FB(The)g(Op)s(enPGP)f(\014ngerprin)m(t)g(is)i(not)f(supp)s +(orted.)150 2765 y Ft(GNUTLS_E_OPENPGP_GETKEY_)o(FAIL)o(ED:)630 +2874 y FB(Could)g(not)g(get)i(Op)s(enPGP)d(k)m(ey)-8 +b(.)150 3039 y Ft(GNUTLS_E_OPENPGP_KEYRING)o(_ERR)o(OR:)630 +3148 y FB(Error)29 b(loading)j(the)e(k)m(eyring.)150 +3313 y Ft(GNUTLS_E_OPENPGP_SUBKEY_)o(ERRO)o(R:)630 3422 +y FB(Could)g(not)g(\014nd)f(Op)s(enPGP)g(subk)m(ey)-8 +b(.)150 3587 y Ft(GNUTLS_E_OPENPGP_UID_REV)o(OKED)o(:)630 +3696 y FB(The)30 b(Op)s(enPGP)f(User)h(ID)h(is)f(rev)m(ok)m(ed.)150 +3861 y Ft(GNUTLS_E_PKCS1_WRONG_PAD)o(:)630 3970 y FB(W)-8 b(rong)31 b(padding)f(in)g(PK)m(CS1)g(pac)m(k)m(et.)150 -1669 y Fs(GNUTLS_E_PK_DECRYPTION_F)o(AILE)o(D:)630 1778 +4134 y Ft(GNUTLS_E_PK_DECRYPTION_F)o(AILE)o(D:)630 4244 y FB(Public)g(k)m(ey)h(decryption)g(has)f(failed.)150 -1943 y Fs(GNUTLS_E_PK_ENCRYPTION_F)o(AILE)o(D:)630 2052 +4408 y Ft(GNUTLS_E_PK_ENCRYPTION_F)o(AILE)o(D:)630 4518 y FB(Public)g(k)m(ey)h(encryption)g(has)f(failed.)150 -2217 y Fs(GNUTLS_E_PK_SIGN_FAILED:)630 2326 y FB(Public)g(k)m(ey)h -(signing)g(has)f(failed.)150 2491 y Fs(GNUTLS_E_PK_SIG_VERIFY_F)o(AILE) -o(D:)630 2600 y FB(Public)g(k)m(ey)h(signature)g(v)m(eri\014cation)h -(has)e(failed.)150 2765 y Fs(GNUTLS_E_PULL_ERROR:)630 -2874 y FB(Error)f(in)i(the)f(pull)g(function.)150 3039 -y Fs(GNUTLS_E_PUSH_ERROR:)630 3148 y FB(Error)f(in)i(the)f(push)f -(function.)150 3313 y Fs(GNUTLS_E_RANDOM_FAILED:)630 -3422 y FB(F)-8 b(ailed)32 b(to)f(acquire)g(random)f(data.)150 -3587 y Fs(GNUTLS_E_RECEIVED_ILLEGA)o(L_EX)o(TENS)o(ION)o(:)630 -3696 y FB(An)g(illegal)j(TLS)c(extension)i(w)m(as)g(receiv)m(ed.)150 -3861 y Fs(GNUTLS_E_RECEIVED_ILLEGA)o(L_PA)o(RAME)o(TER)o(:)630 -3970 y FB(An)f(illegal)j(parameter)d(has)h(b)s(een)e(receiv)m(ed.)150 -4134 y Fs(GNUTLS_E_RECORD_LIMIT_RE)o(ACHE)o(D:)630 4244 +4682 y Ft(GNUTLS_E_PK_SIGN_FAILED:)630 4792 y FB(Public)g(k)m(ey)h +(signing)g(has)f(failed.)150 4956 y Ft(GNUTLS_E_PK_SIG_VERIFY_F)o(AILE) +o(D:)630 5066 y FB(Public)g(k)m(ey)h(signature)g(v)m(eri\014cation)h +(has)e(failed.)150 5230 y Ft(GNUTLS_E_PULL_ERROR:)630 +5340 y FB(Error)f(in)i(the)f(pull)g(function.)p eop end +%%Page: 256 262 +TeXDict begin 256 261 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(256)150 299 y +Ft(GNUTLS_E_PUSH_ERROR:)630 408 y FB(Error)29 b(in)i(the)f(push)f +(function.)150 573 y Ft(GNUTLS_E_RANDOM_FAILED:)630 682 +y FB(F)-8 b(ailed)32 b(to)f(acquire)g(random)f(data.)150 +847 y Ft(GNUTLS_E_RECEIVED_ILLEGA)o(L_EX)o(TENS)o(ION)o(:)630 +956 y FB(An)g(illegal)j(TLS)c(extension)i(w)m(as)g(receiv)m(ed.)150 +1121 y Ft(GNUTLS_E_RECEIVED_ILLEGA)o(L_PA)o(RAME)o(TER)o(:)630 +1230 y FB(An)f(illegal)j(parameter)d(has)h(b)s(een)e(receiv)m(ed.)150 +1395 y Ft(GNUTLS_E_RECORD_LIMIT_RE)o(ACHE)o(D:)630 1504 y FB(The)h(upp)s(er)e(limit)j(of)g(record)f(pac)m(k)m(et)j(sequence)d (n)m(um)m(b)s(ers)f(has)h(b)s(een)g(reac)m(hed.)41 b(W)-8 -b(o)m(w!)150 4408 y Fs(GNUTLS_E_REHANDSHAKE:)630 4518 +b(o)m(w!)150 1669 y Ft(GNUTLS_E_REHANDSHAKE:)630 1778 y FB(Rehandshak)m(e)30 b(w)m(as)h(requested)f(b)m(y)h(the)f(p)s(eer.) -150 4682 y Fs(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVAI)o(LAB)o(LE:)630 -4792 y FB(The)g(requested)g(data)h(w)m(ere)g(not)g(a)m(v)-5 -b(ailable.)150 4956 y Fs(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)o(:)630 -5066 y FB(The)30 b(giv)m(en)h(memory)g(bu\013er)e(is)h(to)s(o)h(short)f -(to)i(hold)e(parameters.)150 5230 y Fs(GNUTLS_E_SRP_PWD_ERROR:)630 -5340 y FB(Error)f(in)i(passw)m(ord)e(\014le.)p eop end -%%Page: 273 279 -TeXDict begin 273 278 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(273)150 299 y -Fs(GNUTLS_E_SRP_PWD_PARSING)o(_ERR)o(OR:)630 408 y FB(P)m(arsing)31 -b(error)f(in)g(passw)m(ord)f(\014le.)150 573 y Fs(GNUTLS_E_SUCCESS:)630 -682 y FB(Success.)150 847 y Fs(GNUTLS_E_TOO_MANY_EMPTY_)o(PACK)o(ETS:) -630 956 y FB(T)-8 b(o)s(o)31 b(man)m(y)f(empt)m(y)h(record)f(pac)m(k)m -(ets)j(ha)m(v)m(e)e(b)s(een)f(receiv)m(ed.)150 1121 y -Fs(GNUTLS_E_UNEXPECTED_HAND)o(SHAK)o(E_PA)o(CKE)o(T:)630 -1230 y FB(An)g(unexp)s(ected)g(TLS)f(handshak)m(e)h(pac)m(k)m(et)i(w)m -(as)f(receiv)m(ed.)150 1395 y Fs(GNUTLS_E_UNEXPECTED_PACK)o(ET:)630 -1504 y FB(An)f(unexp)s(ected)g(TLS)f(pac)m(k)m(et)j(w)m(as)f(receiv)m -(ed.)150 1669 y Fs(GNUTLS_E_UNEXPECTED_PACK)o(ET_L)o(ENGT)o(H:)630 -1778 y FB(A)f(TLS)g(pac)m(k)m(et)i(with)e(unexp)s(ected)g(length)h(w)m -(as)g(receiv)m(ed.)150 1943 y Fs(GNUTLS_E_UNKNOWN_ALGORIT)o(HM:)630 -2052 y FB(The)f(sp)s(eci\014ed)g(algorithm)h(or)f(proto)s(col)i(is)e -(unkno)m(wn.)150 2217 y Fs(GNUTLS_E_UNKNOWN_CIPHER_)o(SUIT)o(E:)630 -2326 y FB(Could)g(not)g(negotiate)j(a)e(supp)s(orted)e(cipher)g(suite.) -150 2491 y Fs(GNUTLS_E_UNKNOWN_CIPHER_)o(TYPE)o(:)630 -2600 y FB(The)h(cipher)g(t)m(yp)s(e)g(is)h(unsupp)s(orted.)150 -2765 y Fs(GNUTLS_E_UNKNOWN_COMPRES)o(SION)o(_ALG)o(ORI)o(THM:)630 -2874 y FB(Could)f(not)g(negotiate)j(a)e(supp)s(orted)e(compression)h -(metho)s(d.)150 3039 y Fs(GNUTLS_E_UNKNOWN_HASH_AL)o(GORI)o(THM:)630 -3148 y FB(The)g(hash)f(algorithm)j(is)e(unkno)m(wn.)150 -3313 y Fs(GNUTLS_E_UNKNOWN_PKCS_BA)o(G_TY)o(PE:)630 3422 -y FB(The)g(PK)m(CS)f(structure's)h(bag)h(t)m(yp)s(e)g(is)f(unkno)m(wn.) -150 3587 y Fs(GNUTLS_E_UNKNOWN_PKCS_CO)o(NTEN)o(T_TY)o(PE:)630 -3696 y FB(The)g(PK)m(CS)f(structure's)h(con)m(ten)m(t)j(t)m(yp)s(e)d -(is)h(unkno)m(wn.)150 3861 y Fs(GNUTLS_E_UNKNOWN_PK_ALGO)o(RITH)o(M:) -630 3970 y FB(An)f(unkno)m(wn)f(public)h(k)m(ey)h(algorithm)g(w)m(as)g -(encoun)m(tered.)150 4134 y Fs(GNUTLS_E_UNSUPPORTED_CER)o(TIFI)o(CATE)o -(_TY)o(PE:)630 4244 y FB(The)f(certi\014cate)i(t)m(yp)s(e)f(is)f(not)h -(supp)s(orted.)150 4408 y Fs(GNUTLS_E_UNSUPPORTED_VER)o(SION)o(_PAC)o -(KET)o(:)630 4518 y FB(A)f(record)h(pac)m(k)m(et)h(with)e(illegal)j(v)m -(ersion)e(w)m(as)f(receiv)m(ed.)150 4682 y Fs(GNUTLS_E_UNWANTED_ALGORI) -o(THM:)630 4792 y FB(An)g(algorithm)h(that)g(is)g(not)f(enabled)h(w)m -(as)f(negotiated.)150 4956 y Fs(GNUTLS_E_WARNING_ALERT_R)o(ECEI)o(VED:) -630 5066 y FB(A)g(TLS)g(w)m(arning)g(alert)h(has)f(b)s(een)g(receiv)m -(ed.)150 5230 y Fs(GNUTLS_E_WARNING_IA_FPHF)o(_REC)o(EIVE)o(D:)630 -5340 y FB(Receiv)m(ed)i(a)f(TLS/IA)f(Final)h(Phase)f(Finished)g -(message)p eop end -%%Page: 274 280 -TeXDict begin 274 279 bop 150 -116 a FB(Chapter)30 b(9:)41 -b(F)-8 b(unction)31 b(Reference)2237 b(274)150 299 y -Fs(GNUTLS_E_WARNING_IA_IPHF)o(_REC)o(EIVE)o(D:)630 408 -y FB(Receiv)m(ed)32 b(a)f(TLS/IA)f(In)m(termediate)h(Phase)g(Finished)e -(message)150 568 y Fs(GNUTLS_E_X509_UNKNOWN_SA)o(N:)630 -677 y FB(Unkno)m(wn)h(Sub)5 b(ject)29 b(Alternativ)m(e)k(name)d(in)g -(X.509)i(certi\014cate.)150 837 y Fs(GNUTLS_E_X509_UNSUPPORTE)o(D_AT)o -(TRIB)o(UTE)o(:)630 946 y FB(The)e(certi\014cate)i(has)e(unsupp)s -(orted)e(attributes.)150 1106 y Fs(GNUTLS_E_X509_UNSUPPORTE)o(D_CR)o -(ITIC)o(AL_)o(EXTE)o(NSIO)o(N:)630 1215 y FB(Unsupp)s(orted)g(critical) -k(extension)g(in)e(X.509)i(certi\014cate.)150 1375 y -Fs(GNUTLS_E_X509_UNSUPPORTE)o(D_OI)o(D:)630 1484 y FB(The)e(OID)g(is)h +150 1943 y Ft(GNUTLS_E_REQUESTED_DATA_)o(NOT_)o(AVAI)o(LAB)o(LE:)630 +2052 y FB(The)g(requested)g(data)h(w)m(ere)g(not)g(a)m(v)-5 +b(ailable.)150 2217 y Ft(GNUTLS_E_SHORT_MEMORY_BU)o(FFER)o(:)630 +2326 y FB(The)30 b(giv)m(en)h(memory)g(bu\013er)e(is)h(to)s(o)h(short)f +(to)i(hold)e(parameters.)150 2491 y Ft(GNUTLS_E_SRP_PWD_ERROR:)630 +2600 y FB(Error)f(in)i(passw)m(ord)e(\014le.)150 2765 +y Ft(GNUTLS_E_SRP_PWD_PARSING)o(_ERR)o(OR:)630 2874 y +FB(P)m(arsing)i(error)f(in)g(passw)m(ord)f(\014le.)150 +3039 y Ft(GNUTLS_E_SUCCESS:)630 3148 y FB(Success.)150 +3313 y Ft(GNUTLS_E_TOO_MANY_EMPTY_)o(PACK)o(ETS:)630 +3422 y FB(T)-8 b(o)s(o)31 b(man)m(y)f(empt)m(y)h(record)f(pac)m(k)m +(ets)j(ha)m(v)m(e)e(b)s(een)f(receiv)m(ed.)150 3587 y +Ft(GNUTLS_E_UNEXPECTED_HAND)o(SHAK)o(E_PA)o(CKE)o(T:)630 +3696 y FB(An)g(unexp)s(ected)g(TLS)f(handshak)m(e)h(pac)m(k)m(et)i(w)m +(as)f(receiv)m(ed.)150 3861 y Ft(GNUTLS_E_UNEXPECTED_PACK)o(ET:)630 +3970 y FB(An)f(unexp)s(ected)g(TLS)f(pac)m(k)m(et)j(w)m(as)f(receiv)m +(ed.)150 4134 y Ft(GNUTLS_E_UNEXPECTED_PACK)o(ET_L)o(ENGT)o(H:)630 +4244 y FB(A)f(TLS)g(pac)m(k)m(et)i(with)e(unexp)s(ected)g(length)h(w)m +(as)g(receiv)m(ed.)150 4408 y Ft(GNUTLS_E_UNKNOWN_ALGORIT)o(HM:)630 +4518 y FB(The)f(sp)s(eci\014ed)g(algorithm)h(or)f(proto)s(col)i(is)e +(unkno)m(wn.)150 4682 y Ft(GNUTLS_E_UNKNOWN_CIPHER_)o(SUIT)o(E:)630 +4792 y FB(Could)g(not)g(negotiate)j(a)e(supp)s(orted)e(cipher)g(suite.) +150 4956 y Ft(GNUTLS_E_UNKNOWN_CIPHER_)o(TYPE)o(:)630 +5066 y FB(The)h(cipher)g(t)m(yp)s(e)g(is)h(unsupp)s(orted.)150 +5230 y Ft(GNUTLS_E_UNKNOWN_COMPRES)o(SION)o(_ALG)o(ORI)o(THM:)630 +5340 y FB(Could)f(not)g(negotiate)j(a)e(supp)s(orted)e(compression)h +(metho)s(d.)p eop end +%%Page: 257 263 +TeXDict begin 257 262 bop 150 -116 a FB(Chapter)30 b(9:)41 +b(F)-8 b(unction)31 b(Reference)2237 b(257)150 299 y +Ft(GNUTLS_E_UNKNOWN_HASH_AL)o(GORI)o(THM:)630 408 y FB(The)30 +b(hash)f(algorithm)j(is)e(unkno)m(wn.)150 568 y Ft +(GNUTLS_E_UNKNOWN_PKCS_BA)o(G_TY)o(PE:)630 677 y FB(The)g(PK)m(CS)f +(structure's)h(bag)h(t)m(yp)s(e)g(is)f(unkno)m(wn.)150 +837 y Ft(GNUTLS_E_UNKNOWN_PKCS_CO)o(NTEN)o(T_TY)o(PE:)630 +946 y FB(The)g(PK)m(CS)f(structure's)h(con)m(ten)m(t)j(t)m(yp)s(e)d(is) +h(unkno)m(wn.)150 1106 y Ft(GNUTLS_E_UNKNOWN_PK_ALGO)o(RITH)o(M:)630 +1215 y FB(An)f(unkno)m(wn)f(public)h(k)m(ey)h(algorithm)g(w)m(as)g +(encoun)m(tered.)150 1375 y Ft(GNUTLS_E_UNSUPPORTED_CER)o(TIFI)o(CATE)o +(_TY)o(PE:)630 1484 y FB(The)f(certi\014cate)i(t)m(yp)s(e)f(is)f(not)h +(supp)s(orted.)150 1644 y Ft(GNUTLS_E_UNSUPPORTED_VER)o(SION)o(_PAC)o +(KET)o(:)630 1753 y FB(A)f(record)h(pac)m(k)m(et)h(with)e(illegal)j(v)m +(ersion)e(w)m(as)f(receiv)m(ed.)150 1913 y Ft(GNUTLS_E_UNWANTED_ALGORI) +o(THM:)630 2022 y FB(An)g(algorithm)h(that)g(is)g(not)f(enabled)h(w)m +(as)f(negotiated.)150 2182 y Ft(GNUTLS_E_WARNING_ALERT_R)o(ECEI)o(VED:) +630 2291 y FB(A)g(TLS)g(w)m(arning)g(alert)h(has)f(b)s(een)g(receiv)m +(ed.)150 2451 y Ft(GNUTLS_E_WARNING_IA_FPHF)o(_REC)o(EIVE)o(D:)630 +2560 y FB(Receiv)m(ed)i(a)f(TLS/IA)f(Final)h(Phase)f(Finished)g +(message)150 2720 y Ft(GNUTLS_E_WARNING_IA_IPHF)o(_REC)o(EIVE)o(D:)630 +2829 y FB(Receiv)m(ed)i(a)f(TLS/IA)f(In)m(termediate)h(Phase)g +(Finished)e(message)150 2989 y Ft(GNUTLS_E_X509_UNKNOWN_SA)o(N:)630 +3098 y FB(Unkno)m(wn)h(Sub)5 b(ject)29 b(Alternativ)m(e)k(name)d(in)g +(X.509)i(certi\014cate.)150 3258 y Ft(GNUTLS_E_X509_UNSUPPORTE)o(D_AT)o +(TRIB)o(UTE)o(:)630 3367 y FB(The)e(certi\014cate)i(has)e(unsupp)s +(orted)e(attributes.)150 3527 y Ft(GNUTLS_E_X509_UNSUPPORTE)o(D_CR)o +(ITIC)o(AL_)o(EXTE)o(NSIO)o(N:)630 3636 y FB(Unsupp)s(orted)g(critical) +k(extension)g(in)e(X.509)i(certi\014cate.)150 3796 y +Ft(GNUTLS_E_X509_UNSUPPORTE)o(D_OI)o(D:)630 3905 y FB(The)e(OID)g(is)h (not)f(supp)s(orted.)p eop end -%%Page: 275 281 -TeXDict begin 275 280 bop 150 -116 a FB(Chapter)30 b(10:)41 -b(All)31 b(the)g(Supp)s(orted)d(Ciphersuites)i(in)g Ft(Gn)n(uTLS)1265 -b FB(275)150 299 y Fx(10)80 b(All)53 b(the)g(Supp)t(orted)f -(Ciphersuites)e(in)j FA(Gn)l(uTLS)150 585 y FB(Av)-5 -b(ailable)32 b(cipher)e(suites:)150 737 y(TLS)p 330 737 -28 4 v 39 w(ANON)p 644 737 V 40 w(DH)p 821 737 V 41 w(AR)m(CF)m(OUR)p -1322 737 V 41 w(MD5)856 b(0x00)31 b(0x18)323 b(SSL3.0)150 -847 y(TLS)p 330 847 V 39 w(ANON)p 644 847 V 40 w(DH)p -821 847 V 41 w(3DES)p 1089 847 V 40 w(EDE)p 1322 847 -V 40 w(CBC)p 1558 847 V 40 w(SHA1)586 b(0x00)31 b(0x1b)317 -b(SSL3.0)150 956 y(TLS)p 330 956 V 39 w(ANON)p 644 956 -V 40 w(DH)p 821 956 V 41 w(AES)p 1043 956 V 39 w(128)p -1217 956 V 42 w(CBC)p 1455 956 V 39 w(SHA1)690 b(0x00)31 -b(0x34)323 b(SSL3.0)150 1066 y(TLS)p 330 1066 V 39 w(ANON)p -644 1066 V 40 w(DH)p 821 1066 V 41 w(AES)p 1043 1066 -V 39 w(256)p 1217 1066 V 42 w(CBC)p 1455 1066 V 39 w(SHA1)690 -b(0x00)31 b(0x3a)323 b(SSL3.0)150 1176 y(TLS)p 330 1176 -V 39 w(ANON)p 644 1176 V 40 w(DH)p 821 1176 V 41 w(CAMELLIA)p -1356 1176 V 40 w(128)p 1531 1176 V 41 w(CBC)p 1768 1176 -V 40 w(SHA1)376 b(0x00)31 b(0x46)323 b(TLS1.0)150 1285 -y(TLS)p 330 1285 V 39 w(ANON)p 644 1285 V 40 w(DH)p 821 -1285 V 41 w(CAMELLIA)p 1356 1285 V 40 w(256)p 1531 1285 -V 41 w(CBC)p 1768 1285 V 40 w(SHA1)376 b(0x00)31 b(0x89)323 -b(TLS1.0)150 1395 y(TLS)p 330 1395 V 39 w(PSK)p 553 1395 -V 39 w(SHA)p 779 1395 V 40 w(AR)m(CF)m(OUR)p 1279 1395 -V 41 w(SHA1)864 b(0x00)31 b(0x8a)323 b(TLS1.0)150 1504 -y(TLS)p 330 1504 V 39 w(PSK)p 553 1504 V 39 w(SHA)p 779 -1504 V 40 w(3DES)p 1046 1504 V 40 w(EDE)p 1279 1504 V -40 w(CBC)p 1515 1504 V 40 w(SHA1)629 b(0x00)31 b(0x8b)317 -b(TLS1.0)150 1614 y(TLS)p 330 1614 V 39 w(PSK)p 553 1614 -V 39 w(SHA)p 779 1614 V 40 w(AES)p 1000 1614 V 39 w(128)p -1174 1614 V 42 w(CBC)p 1412 1614 V 40 w(SHA1)732 b(0x00)31 -b(0x8c)328 b(TLS1.0)150 1724 y(TLS)p 330 1724 V 39 w(PSK)p -553 1724 V 39 w(SHA)p 779 1724 V 40 w(AES)p 1000 1724 -V 39 w(256)p 1174 1724 V 42 w(CBC)p 1412 1724 V 40 w(SHA1)732 -b(0x00)31 b(0x8d)317 b(TLS1.0)150 1833 y(TLS)p 330 1833 -V 39 w(DHE)p 568 1833 V 40 w(PSK)p 792 1833 V 40 w(SHA)p -1019 1833 V 39 w(AR)m(CF)m(OUR)p 1518 1833 V 41 w(SHA1)625 -b(0x00)31 b(0x8e)328 b(TLS1.0)150 1943 y(TLS)p 330 1943 -V 39 w(DHE)p 568 1943 V 40 w(PSK)p 792 1943 V 40 w(SHA)p -1019 1943 V 39 w(3DES)p 1285 1943 V 41 w(EDE)p 1519 1943 -V 40 w(CBC)p 1755 1943 V 40 w(SHA1)389 b(0x00)31 b(0x8f)340 -b(TLS1.0)150 2052 y(TLS)p 330 2052 V 39 w(DHE)p 568 2052 -V 40 w(PSK)p 792 2052 V 40 w(SHA)p 1019 2052 V 39 w(AES)p -1239 2052 V 40 w(128)p 1414 2052 V 41 w(CBC)p 1651 2052 -V 40 w(SHA1)493 b(0x00)31 b(0x90)323 b(TLS1.0)150 2162 -y(TLS)p 330 2162 V 39 w(DHE)p 568 2162 V 40 w(PSK)p 792 -2162 V 40 w(SHA)p 1019 2162 V 39 w(AES)p 1239 2162 V -40 w(256)p 1414 2162 V 41 w(CBC)p 1651 2162 V 40 w(SHA1)493 -b(0x00)31 b(0x91)323 b(TLS1.0)150 2271 y(TLS)p 330 2271 -V 39 w(SRP)p 549 2271 V 39 w(SHA)p 775 2271 V 40 w(3DES)p -1042 2271 V 40 w(EDE)p 1275 2271 V 41 w(CBC)p 1512 2271 -V 39 w(SHA1)633 b(0xc0)31 b(0x1a)328 b(TLS1.0)150 2381 -y(TLS)p 330 2381 V 39 w(SRP)p 549 2381 V 39 w(SHA)p 775 -2381 V 40 w(AES)p 996 2381 V 40 w(128)p 1171 2381 V 41 -w(CBC)p 1408 2381 V 40 w(SHA1)736 b(0xc0)31 b(0x1d)322 -b(TLS1.0)150 2491 y(TLS)p 330 2491 V 39 w(SRP)p 549 2491 -V 39 w(SHA)p 775 2491 V 40 w(AES)p 996 2491 V 40 w(256)p -1171 2491 V 41 w(CBC)p 1408 2491 V 40 w(SHA1)736 b(0xc0)31 -b(0x20)328 b(TLS1.0)150 2600 y(TLS)p 330 2600 V 39 w(SRP)p -549 2600 V 39 w(SHA)p 775 2600 V 40 w(DSS)p 986 2600 -V 40 w(3DES)p 1253 2600 V 40 w(EDE)p 1486 2600 V 40 w(CBC)p -1722 2600 V 40 w(SHA1)422 b(0xc0)31 b(0x1c)333 b(TLS1.0)150 -2710 y(TLS)p 330 2710 V 39 w(SRP)p 549 2710 V 39 w(SHA)p -775 2710 V 40 w(RSA)p 1001 2710 V 40 w(3DES)p 1268 2710 -V 40 w(EDE)p 1501 2710 V 40 w(CBC)p 1737 2710 V 40 w(SHA1)407 -b(0xc0)31 b(0x1b)322 b(TLS1.0)150 2819 y(TLS)p 330 2819 -V 39 w(SRP)p 549 2819 V 39 w(SHA)p 775 2819 V 40 w(DSS)p -986 2819 V 40 w(AES)p 1207 2819 V 39 w(128)p 1381 2819 -V 42 w(CBC)p 1619 2819 V 39 w(SHA1)526 b(0xc0)31 b(0x1f)345 -b(TLS1.0)150 2929 y(TLS)p 330 2929 V 39 w(SRP)p 549 2929 -V 39 w(SHA)p 775 2929 V 40 w(RSA)p 1001 2929 V 40 w(AES)p -1222 2929 V 39 w(128)p 1396 2929 V 42 w(CBC)p 1634 2929 -V 39 w(SHA1)511 b(0xc0)31 b(0x1e)333 b(TLS1.0)150 3039 -y(TLS)p 330 3039 V 39 w(SRP)p 549 3039 V 39 w(SHA)p 775 -3039 V 40 w(DSS)p 986 3039 V 40 w(AES)p 1207 3039 V 39 -w(256)p 1381 3039 V 42 w(CBC)p 1619 3039 V 39 w(SHA1)526 -b(0xc0)31 b(0x22)328 b(TLS1.0)150 3148 y(TLS)p 330 3148 -V 39 w(SRP)p 549 3148 V 39 w(SHA)p 775 3148 V 40 w(RSA)p -1001 3148 V 40 w(AES)p 1222 3148 V 39 w(256)p 1396 3148 -V 42 w(CBC)p 1634 3148 V 39 w(SHA1)511 b(0xc0)31 b(0x21)328 -b(TLS1.0)150 3258 y(TLS)p 330 3258 V 39 w(DHE)p 568 3258 -V 40 w(DSS)p 779 3258 V 40 w(AR)m(CF)m(OUR)p 1279 3258 -V 41 w(SHA1)864 b(0x00)31 b(0x66)323 b(TLS1.0)150 3367 -y(TLS)p 330 3367 V 39 w(DHE)p 568 3367 V 40 w(DSS)p 779 -3367 V 40 w(3DES)p 1046 3367 V 40 w(EDE)p 1279 3367 V -40 w(CBC)p 1515 3367 V 40 w(SHA1)629 b(0x00)31 b(0x13)323 -b(SSL3.0)150 3477 y(TLS)p 330 3477 V 39 w(DHE)p 568 3477 -V 40 w(DSS)p 779 3477 V 40 w(AES)p 1000 3477 V 39 w(128)p -1174 3477 V 42 w(CBC)p 1412 3477 V 40 w(SHA1)732 b(0x00)31 -b(0x32)323 b(SSL3.0)150 3587 y(TLS)p 330 3587 V 39 w(DHE)p -568 3587 V 40 w(DSS)p 779 3587 V 40 w(AES)p 1000 3587 -V 39 w(256)p 1174 3587 V 42 w(CBC)p 1412 3587 V 40 w(SHA1)732 -b(0x00)31 b(0x38)323 b(SSL3.0)150 3696 y(TLS)p 330 3696 -V 39 w(DHE)p 568 3696 V 40 w(DSS)p 779 3696 V 40 w(CAMELLIA)p -1313 3696 V 40 w(128)p 1488 3696 V 41 w(CBC)p 1725 3696 -V 40 w(SHA1)419 b(0x00)31 b(0x44)323 b(TLS1.0)150 3806 -y(TLS)p 330 3806 V 39 w(DHE)p 568 3806 V 40 w(DSS)p 779 -3806 V 40 w(CAMELLIA)p 1313 3806 V 40 w(256)p 1488 3806 -V 41 w(CBC)p 1725 3806 V 40 w(SHA1)419 b(0x00)31 b(0x87)323 -b(TLS1.0)150 3915 y(TLS)p 330 3915 V 39 w(DHE)p 568 3915 -V 40 w(RSA)p 794 3915 V 40 w(3DES)p 1061 3915 V 40 w(EDE)p -1294 3915 V 41 w(CBC)p 1531 3915 V 39 w(SHA1)614 b(0x00)31 -b(0x16)323 b(SSL3.0)150 4025 y(TLS)p 330 4025 V 39 w(DHE)p -568 4025 V 40 w(RSA)p 794 4025 V 40 w(AES)p 1015 4025 -V 40 w(128)p 1190 4025 V 41 w(CBC)p 1427 4025 V 40 w(SHA1)717 -b(0x00)31 b(0x33)323 b(SSL3.0)150 4134 y(TLS)p 330 4134 -V 39 w(DHE)p 568 4134 V 40 w(RSA)p 794 4134 V 40 w(AES)p -1015 4134 V 40 w(256)p 1190 4134 V 41 w(CBC)p 1427 4134 -V 40 w(SHA1)717 b(0x00)31 b(0x39)323 b(SSL3.0)150 4244 -y(TLS)p 330 4244 V 39 w(DHE)p 568 4244 V 40 w(RSA)p 794 -4244 V 40 w(CAMELLIA)p 1328 4244 V 40 w(128)p 1503 4244 -V 41 w(CBC)p 1740 4244 V 40 w(SHA1)404 b(0x00)31 b(0x45)323 -b(TLS1.0)150 4354 y(TLS)p 330 4354 V 39 w(DHE)p 568 4354 -V 40 w(RSA)p 794 4354 V 40 w(CAMELLIA)p 1328 4354 V 40 -w(256)p 1503 4354 V 41 w(CBC)p 1740 4354 V 40 w(SHA1)404 -b(0x00)31 b(0x88)323 b(TLS1.0)150 4463 y(TLS)p 330 4463 -V 39 w(RSA)p 555 4463 V 40 w(NULL)p 845 4463 V 40 w(MD5)1334 -b(0x00)31 b(0x01)323 b(SSL3.0)150 4573 y(TLS)p 330 4573 -V 39 w(RSA)p 555 4573 V 40 w(EXPOR)-8 b(T)p 983 4573 -V 39 w(AR)m(CF)m(OUR)p 1482 4573 V 41 w(40)p 1613 4573 -V 41 w(MD5)565 b(0x00)31 b(0x03)323 b(SSL3.0)150 4682 -y(TLS)p 330 4682 V 39 w(RSA)p 555 4682 V 40 w(AR)m(CF)m(OUR)p -1055 4682 V 40 w(SHA1)1089 b(0x00)31 b(0x05)323 b(SSL3.0)150 -4792 y(TLS)p 330 4792 V 39 w(RSA)p 555 4792 V 40 w(AR)m(CF)m(OUR)p -1055 4792 V 40 w(MD5)1124 b(0x00)31 b(0x04)323 b(SSL3.0)150 -4902 y(TLS)p 330 4902 V 39 w(RSA)p 555 4902 V 40 w(3DES)p -822 4902 V 40 w(EDE)p 1055 4902 V 40 w(CBC)p 1291 4902 -V 40 w(SHA1)853 b(0x00)31 b(0x0a)323 b(SSL3.0)150 5011 -y(TLS)p 330 5011 V 39 w(RSA)p 555 5011 V 40 w(AES)p 776 -5011 V 39 w(128)p 950 5011 V 42 w(CBC)p 1188 5011 V 39 -w(SHA1)957 b(0x00)31 b(0x2f)340 b(SSL3.0)150 5121 y(TLS)p -330 5121 V 39 w(RSA)p 555 5121 V 40 w(AES)p 776 5121 -V 39 w(256)p 950 5121 V 42 w(CBC)p 1188 5121 V 39 w(SHA1)957 -b(0x00)31 b(0x35)323 b(SSL3.0)150 5230 y(TLS)p 330 5230 -V 39 w(RSA)p 555 5230 V 40 w(CAMELLIA)p 1089 5230 V 39 -w(128)p 1263 5230 V 42 w(CBC)p 1501 5230 V 39 w(SHA1)644 -b(0x00)31 b(0x41)323 b(TLS1.0)150 5340 y(TLS)p 330 5340 -V 39 w(RSA)p 555 5340 V 40 w(CAMELLIA)p 1089 5340 V 39 -w(256)p 1263 5340 V 42 w(CBC)p 1501 5340 V 39 w(SHA1)644 -b(0x00)31 b(0x84)323 b(TLS1.0)p eop end -%%Page: 276 282 -TeXDict begin 276 281 bop 150 -116 a FB(Chapter)30 b(10:)41 -b(All)31 b(the)g(Supp)s(orted)d(Ciphersuites)i(in)g Ft(Gn)n(uTLS)1265 -b FB(276)150 299 y(Av)-5 b(ailable)32 b(certi\014cate)g(t)m(yp)s(es:) -225 433 y Fy(\017)60 b FB(X.509)225 566 y Fy(\017)g FB(OPENPGP)150 -724 y(Av)-5 b(ailable)32 b(proto)s(cols:)225 858 y Fy(\017)60 -b FB(SSL3.0)225 991 y Fy(\017)g FB(TLS1.0)225 1125 y -Fy(\017)g FB(TLS1.1)225 1258 y Fy(\017)g FB(TLS1.2)150 -1416 y(Av)-5 b(ailable)32 b(ciphers:)225 1550 y Fy(\017)60 -b FB(AES-256-CBC)225 1683 y Fy(\017)g FB(AES-128-CBC)225 -1817 y Fy(\017)g FB(3DES-CBC)225 1951 y Fy(\017)g FB(DES-CBC)225 -2084 y Fy(\017)g FB(AR)m(CF)m(OUR-128)225 2218 y Fy(\017)g -FB(AR)m(CF)m(OUR-40)225 2352 y Fy(\017)g FB(R)m(C2-40)225 -2485 y Fy(\017)g FB(CAMELLIA-256-CBC)225 2619 y Fy(\017)g -FB(CAMELLIA-128-CBC)225 2753 y Fy(\017)g FB(NULL)150 -2910 y(Av)-5 b(ailable)32 b(MA)m(C)f(algorithms:)225 -3044 y Fy(\017)60 b FB(SHA1)225 3178 y Fy(\017)g FB(MD5)225 -3311 y Fy(\017)g FB(SHA256)225 3445 y Fy(\017)g FB(SHA384)225 -3579 y Fy(\017)g FB(SHA512)225 3712 y Fy(\017)g FB(MD2)225 -3846 y Fy(\017)g FB(RIPEMD160)225 3979 y Fy(\017)g FB(NULL)150 -4137 y(Av)-5 b(ailable)32 b(k)m(ey)f(exc)m(hange)h(metho)s(ds:)225 -4271 y Fy(\017)60 b FB(ANON-DH)225 4404 y Fy(\017)g FB(RSA)225 -4538 y Fy(\017)g FB(RSA-EXPOR)-8 b(T)225 4672 y Fy(\017)60 -b FB(DHE-RSA)225 4805 y Fy(\017)g FB(DHE-DSS)225 4939 -y Fy(\017)g FB(SRP-DSS)225 5073 y Fy(\017)g FB(SRP-RSA)225 -5206 y Fy(\017)g FB(SRP)225 5340 y Fy(\017)g FB(PSK)p -eop end -%%Page: 277 283 -TeXDict begin 277 282 bop 150 -116 a FB(Chapter)30 b(10:)41 -b(All)31 b(the)g(Supp)s(orted)d(Ciphersuites)i(in)g Ft(Gn)n(uTLS)1265 -b FB(277)225 299 y Fy(\017)60 b FB(DHE-PSK)150 458 y(Av)-5 -b(ailable)32 b(public)e(k)m(ey)h(algorithms:)225 593 -y Fy(\017)60 b FB(RSA)225 727 y Fy(\017)g FB(DSA)150 -887 y(Av)-5 b(ailable)32 b(public)e(k)m(ey)h(signature)g(algorithms:) -225 1021 y Fy(\017)60 b FB(RSA-SHA)225 1156 y Fy(\017)g -FB(RSA-SHA256)225 1290 y Fy(\017)g FB(RSA-SHA384)225 -1425 y Fy(\017)g FB(RSA-SHA512)225 1559 y Fy(\017)g FB(RSA-RMD160)225 -1694 y Fy(\017)g FB(DSA-SHA)225 1828 y Fy(\017)g FB(RSA-MD5)225 -1963 y Fy(\017)g FB(RSA-MD2)150 2122 y(Av)-5 b(ailable)32 -b(compression)e(metho)s(ds:)225 2257 y Fy(\017)60 b FB(DEFLA)-8 -b(TE)225 2391 y Fy(\017)60 b FB(NULL)150 2550 y(Some)30 -b(additional)i(information)e(regarding)h(some)g(of)f(the)h(algorithms:) -150 2710 y Fs(RSA)336 b FB(RSA)36 b(is)h(public)f(k)m(ey)h -(cryptosystem)g(designed)g(b)m(y)f(Ronald)h(Riv)m(est,)i(Adi)e(Shamir)f -(and)630 2819 y(Leonard)30 b(Adleman.)41 b(It)30 b(can)h(b)s(e)f(used)f -(with)h(an)m(y)h(hash)f(functions.)150 2979 y Fs(DSA)336 -b FB(DSA)38 b(is)h(the)f(USA's)h(Digital)h(Signature)f(Standard.)63 -b(It)39 b(uses)f(only)g(the)h(SHA-1)g(hash)630 3088 y(algorithm.)150 -3248 y Fs(MD2)336 b FB(MD2)26 b(is)f(a)g(cryptographic)g(hash)f -(algorithm)i(designed)e(b)m(y)h(Ron)f(Riv)m(est.)40 b(It)25 -b(is)g(optimized)630 3357 y(for)j(8-bit)i(pro)s(cessors.)39 -b(Outputs)28 b(128)h(bits)g(of)g(data.)41 b(There)28 -b(are)h(no)f(kno)m(wn)g(w)m(eaknesses)630 3467 y(of)j(this)g(algorithm) -h(but)e(since)h(this)g(algorithm)h(is)f(rarely)g(used)f(and)h(not)g -(really)h(studied)630 3577 y(it)f(should)e(not)i(b)s(e)f(used)f(to)s -(da)m(y)-8 b(.)150 3736 y Fs(MD5)336 b FB(MD5)33 b(is)f(a)g -(cryptographic)g(hash)g(algorithm)h(designed)e(b)m(y)h(Ron)g(Riv)m -(est.)46 b(Outputs)31 b(128)630 3846 y(bits)f(of)h(data.)41 -b(It)31 b(is)f(considered)g(to)h(b)s(e)f(brok)m(en.)150 -4005 y Fs(SHA-1)240 b FB(SHA)31 b(is)h(a)g(cryptographic)g(hash)f -(algorithm)i(designed)f(b)m(y)f(NSA.)h(Outputs)e(160)j(bits)f(of)630 -4115 y(data.)41 b(It)29 b(is)h(also)g(considered)f(to)h(b)s(e)e(brok)m -(en,)i(though)f(no)g(practical)i(attac)m(ks)g(ha)m(v)m(e)g(b)s(een)630 -4224 y(found.)150 4384 y Fs(RMD160)192 b FB(RIPEMD)29 -b(is)f(a)h(cryptographic)g(hash)f(algorithm)h(dev)m(elop)s(ed)g(in)f -(the)h(framew)m(ork)f(of)h(the)630 4493 y(EU)h(pro)5 -b(ject)31 b(RIPE.)f(Outputs)f(160)j(bits)e(of)h(data.)p -eop end -%%Page: 278 284 -TeXDict begin 278 283 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(278)150 299 y Fx(11)80 b(Guile)53 +%%Page: 258 264 +TeXDict begin 258 263 bop 150 -116 a FB(Chapter)30 b(10:)41 +b(All)31 b(the)g(Supp)s(orted)d(Ciphersuites)i(in)g Fu(Gn)n(uTLS)1265 +b FB(258)150 299 y Fy(10)80 b(All)53 b(the)g(Supp)t(orted)f +(Ciphersuites)e(in)j FA(Gn)l(uTLS)150 671 y Ft(TLS_RSA_NULL_MD5)952 +b FB(0x00)31 b(0x01)323 b(RF)m(C)30 b(2246)150 889 y +Ft(TLS_ANON_DH_3DES_EDE_CBC)o(_SHA)377 b FB(0x00)31 b(0x1B)304 +b(RF)m(C)30 b(2246)150 1107 y Ft(TLS_ANON_DH_ARCFOUR_MD5)616 +b FB(0x00)31 b(0x18)323 b(RF)m(C)30 b(2246)150 1324 y +Ft(TLS_ANON_DH_AES_128_CBC_)o(SHA)425 b FB(0x00)31 b(0x34)323 +b(RF)m(C)30 b(2246)150 1542 y Ft(TLS_ANON_DH_AES_256_CBC_)o(SHA)425 +b FB(0x00)31 b(0x3A)300 b(RF)m(C)30 b(2246)150 1760 y +Ft(TLS_RSA_ARCFOUR_SHA)808 b FB(0x00)31 b(0x05)323 b(RF)m(C)30 +b(2246)150 1977 y Ft(TLS_RSA_ARCFOUR_MD5)808 b FB(0x00)31 +b(0x04)323 b(RF)m(C)30 b(2246)150 2195 y Ft(TLS_RSA_3DES_EDE_CBC_SHA) +568 b FB(0x00)31 b(0x0A)300 b(RF)m(C)30 b(2246)150 2413 +y Ft(TLS_RSA_EXPORT_ARCFOUR_4)o(0_MD)o(5)330 b FB(0x00)31 +b(0x03)323 b(RF)m(C)30 b(2246)150 2630 y Ft(TLS_DHE_DSS_3DES_EDE_CBC)o +(_SHA)377 b FB(0x00)31 b(0x13)323 b(RF)m(C)30 b(2246)150 +2848 y Ft(TLS_DHE_RSA_3DES_EDE_CBC)o(_SHA)377 b FB(0x00)31 +b(0x16)323 b(RF)m(C)30 b(2246)150 3066 y Ft(TLS_RSA_AES_128_CBC_SHA)616 +b FB(0x00)31 b(0x2F)309 b(RF)m(C)30 b(3268)150 3283 y +Ft(TLS_RSA_AES_256_CBC_SHA)616 b FB(0x00)31 b(0x35)323 +b(RF)m(C)30 b(3268)150 3501 y Ft(TLS_DHE_DSS_AES_256_CBC_)o(SHA)425 +b FB(0x00)31 b(0x38)323 b(RF)m(C)30 b(3268)150 3719 y +Ft(TLS_DHE_DSS_AES_128_CBC_)o(SHA)425 b FB(0x00)31 b(0x32)323 +b(RF)m(C)30 b(3268)150 3936 y Ft(TLS_DHE_RSA_AES_256_CBC_)o(SHA)425 +b FB(0x00)31 b(0x39)323 b(RF)m(C)30 b(3268)150 4154 y +Ft(TLS_DHE_RSA_AES_128_CBC_)o(SHA)425 b FB(0x00)31 b(0x33)323 +b(RF)m(C)30 b(3268)150 4372 y Ft(TLS_SRP_SHA_3DES_EDE_CBC)o(_SHA)377 +b FB(0x00)31 b(0x50)323 b(RF)m(C)30 b(5054)150 4589 y +Ft(TLS_SRP_SHA_AES_128_CBC_)o(SHA)425 b FB(0x00)31 b(0x53)323 +b(RF)m(C)30 b(5054)150 4807 y Ft(TLS_SRP_SHA_AES_256_CBC_)o(SHA)425 +b FB(0x00)31 b(0x56)323 b(RF)m(C)30 b(5054)150 5025 y +Ft(TLS_SRP_SHA_RSA_3DES_EDE)o(_CBC)o(_SHA)186 b FB(0x00)31 +b(0x51)323 b(RF)m(C)30 b(5054)150 5242 y Ft(TLS_SRP_SHA_DSS_3DES_EDE)o +(_CBC)o(_SHA)186 b FB(0x00)31 b(0x52)323 b(RF)m(C)30 +b(5054)p eop end +%%Page: 259 265 +TeXDict begin 259 264 bop 150 -116 a FB(Chapter)30 b(10:)41 +b(All)31 b(the)g(Supp)s(orted)d(Ciphersuites)i(in)g Fu(Gn)n(uTLS)1265 +b FB(259)150 299 y Ft(TLS_SRP_SHA_RSA_AES_128_)o(CBC_)o(SHA)234 +b FB(0x00)31 b(0x54)323 b(RF)m(C)30 b(5054)150 517 y +Ft(TLS_SRP_SHA_DSS_AES_128_)o(CBC_)o(SHA)234 b FB(0x00)31 +b(0x55)323 b(RF)m(C)30 b(5054)150 734 y Ft(TLS_SRP_SHA_RSA_AES_256_)o +(CBC_)o(SHA)234 b FB(0x00)31 b(0x57)323 b(RF)m(C)30 b(5054)150 +952 y Ft(TLS_SRP_SHA_DSS_AES_256_)o(CBC_)o(SHA)234 b +FB(0x00)31 b(0x58)323 b(RF)m(C)30 b(5054)150 1170 y Ft +(TLS_DHE_DSS_ARCFOUR_SHA)616 b FB(0x00)31 b(0x66)323 +b(draft-ietf-tls-56-bit-)2590 1279 y(ciphersuites)150 +1497 y Ft(TLS_PSK_ARCFOUR_SHA)808 b FB(0x00)31 b(0x8A)300 +b(draft-ietf-tls-psk)150 1714 y Ft(TLS_PSK_3DES_EDE_CBC_SHA)568 +b FB(0x00)31 b(0x8B)304 b(draft-ietf-tls-psk)150 1932 +y Ft(TLS_PSK_AES_128_CBC_SHA)616 b FB(0x00)31 b(0x8C)302 +b(draft-ietf-tls-psk)150 2150 y Ft(TLS_PSK_AES_256_CBC_SHA)616 +b FB(0x00)31 b(0x8D)299 b(draft-ietf-tls-psk)p eop end +%%Page: 260 266 +TeXDict begin 260 265 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(260)150 299 y Fy(11)80 b(Guile)53 b(Bindings)150 525 y FB(This)33 b(c)m(hapter)h(describ)s(es)f(the)g -(GNU)h(Guile)h(\()p Fs(http://www.gnu.org/softw)o(are/)o(guil)o(e/)p +(GNU)h(Guile)h(\()p Ft(http://www.gnu.org/softw)o(are/)o(guil)o(e/)p FB(\))28 b(Sc)m(heme)150 634 y(programming)k(in)m(terface)h(to)g(Gn)m (uTLS.)e(The)h(reader)g(is)g(assumed)f(to)i(ha)m(v)m(e)g(basic)f(kno)m (wledge)i(of)e(the)150 744 y(proto)s(col)24 b(and)f(library)-8 b(.)39 b(Details)25 b(missing)e(from)g(this)g(c)m(hapter)h(ma)m(y)g(b)s (e)f(found)f(in)h(Chapter)g(9)h([F)-8 b(unction)150 853 -y(reference],)31 b(page)g(115.)150 986 y(A)m(t)g(this)e(stage,)j(not)e +y(reference],)31 b(page)g(117.)150 986 y(A)m(t)g(this)e(stage,)j(not)e (all)h(the)f(C)f(functions)g(are)h(a)m(v)-5 b(ailable)32 b(from)e(Sc)m(heme,)g(but)f(a)h(large)h(subset)e(thereof)150 1096 y(is)h(a)m(v)-5 b(ailable.)150 1325 y FA(11.1)68 b(Guile)46 b(Preparations)150 1484 y FB(The)30 b(Gn)m(uTLS)f(Guile)i (bindings)e(are)i(b)m(y)f(default)h(installed)g(under)e(the)h(Gn)m (uTLS)f(installation)k(direc-)150 1594 y(tory)h(\(e.g.,)i(t)m(ypically) -f(`)p Fs(/usr/local/share/guile/site)o(/)p FB('\).)45 +f(`)p Ft(/usr/local/share/guile/site)o(/)p FB('\).)45 b(Normally)34 b(Guile)g(will)g(not)g(\014nd)e(the)150 1704 y(mo)s(dule)e(there)g(without)h(help.)40 b(Y)-8 b(ou)31 b(ma)m(y)g(exp)s(erience)g(something)f(lik)m(e)i(this:)390 -1836 y Fs($)47 b(guile)390 1946 y(guile>)f(\(use-modules)f +1836 y Ft($)47 b(guile)390 1946 y(guile>)f(\(use-modules)f (\(gnutls\)\))390 2056 y(:)g(no)h(code)f(for)h(module)f (\(gnutls\))390 2165 y(guile>)150 2298 y FB(There)35 b(are)g(t)m(w)m(o)h(w)m(a)m(ys)g(to)g(solv)m(e)g(this.)55 @@ -33700,18 +28425,18 @@ g(Gn)m(uTLS,)150 2408 y(the)e(Guile)g(bindings)f(will)h(b)s(e)f (installed)h(in)f(the)h(same)g(place)h(where)e(Guile)h(lo)s(oks.)45 b(Y)-8 b(ou)32 b(ma)m(y)h(do)e(this)150 2517 y(b)m(y)f(using)g(the)h -Fs(--with-guile-site-dir)24 b FB(parameter)31 b(as)g(follo)m(ws:)390 -2650 y Fs($)47 b(./configure)e(--with-guile-site-dir=no)150 +Ft(--with-guile-site-dir)24 b FB(parameter)31 b(as)g(follo)m(ws:)390 +2650 y Ft($)47 b(./configure)e(--with-guile-site-dir=no)150 2783 y FB(This)34 b(will)g(instruct)h(Gn)m(uTLS)e(to)i(attempt)g(to)g (install)h(the)e(Guile)h(bindings)f(where)f(Guile)j(will)e(lo)s(ok)150 -2892 y(for)c(them.)41 b(It)30 b(will)h(use)f Fs(guile-config)d(info)i +2892 y(for)c(them.)41 b(It)30 b(will)h(use)f Ft(guile-config)d(info)i (pkgdatadir)f FB(to)j(learn)g(the)f(path)g(to)h(use.)150 -3025 y(If)f(Guile)h(w)m(as)g(installed)g(in)m(to)g Fs(/usr)p +3025 y(If)f(Guile)h(w)m(as)g(installed)g(in)m(to)g Ft(/usr)p FB(,)f(y)m(ou)g(ma)m(y)h(also)h(install)f(Gn)m(uTLS)e(using)h(the)g -(same)h(pre\014x:)390 3158 y Fs($)47 b(./configure)e(--prefix=/usr)150 +(same)h(pre\014x:)390 3158 y Ft($)47 b(./configure)e(--prefix=/usr)150 3291 y FB(If)31 b(y)m(ou)i(w)m(an)m(t)f(to)h(sp)s(ecify)f(the)g(path)f (to)i(install)g(the)f(Guile)h(bindings)d(y)m(ou)i(can)h(also)g(sp)s -(ecify)e(the)h(path)150 3401 y(directly:)390 3533 y Fs($)47 +(ecify)e(the)h(path)150 3401 y(directly:)390 3533 y Ft($)47 b(./configure)e(--with-guile-site-dir=/op)o(t/gu)o(ile)o(/sha)o(re/g)o (uil)o(e/si)o(te)150 3666 y FB(The)31 b(second)h(solution)h(requires)e (some)h(more)g(w)m(ork)g(but)f(ma)m(y)i(b)s(e)e(easier)i(to)f(use)g(if) @@ -33719,17 +28444,17 @@ b(administrator)h(righ)m(ts)f(to)h(y)m(our)f(mac)m(hine.)40 b(Y)-8 b(ou)26 b(need)f(to)h(instruct)f(Guile)g(so)h(that)g(it)f (\014nds)f(the)150 3885 y(Gn)m(uTLS)j(Guile)h(bindings.)39 -b(Either)27 b(use)h(the)g Fs(GUILE_LOAD_PATH)c FB(en)m(vironmen)m(t)k -(v)-5 b(ariable)29 b(as)f(follo)m(ws:)390 4018 y Fs($)47 +b(Either)27 b(use)h(the)g Ft(GUILE_LOAD_PATH)c FB(en)m(vironmen)m(t)k +(v)-5 b(ariable)29 b(as)f(follo)m(ws:)390 4018 y Ft($)47 b(GUILE_LOAD_PATH="/usr/loca)o(l/sh)o(are)o(/gui)o(le/s)o(ite)o(:$GU)o (ILE_)o(LOA)o(D_PA)o(TH")41 b(guile)390 4128 y(guile>)46 b(\(use-modules)f(\(gnutls\)\))390 4237 y(guile>)150 4370 y FB(Alternativ)m(ely)-8 b(,)37 b(y)m(ou)d(can)f(mo)s(dify)g -(Guile's)h Fs(\045load-path)d FB(v)-5 b(ariable)34 b(\(see)g(Section)g +(Guile's)h Ft(\045load-path)d FB(v)-5 b(ariable)34 b(\(see)g(Section)g (\\Build)g(Con\014g")f(in)150 4480 y Ff(The)d(GNU)h(Guile)g(Reference)g (Man)m(ual)t FB(\).)150 4613 y(A)m(t)g(this)g(p)s(oin)m(t,)f(y)m(ou)h -(migh)m(t)g(get)h(an)e(error)g(regarding)g(`)p Fs(libguile-gnutls-v-0)p -FB(')c(similar)31 b(to:)390 4746 y Fs(gnutls.scm:361:1:)43 +(migh)m(t)g(get)h(an)e(error)g(regarding)g(`)p Ft(libguile-gnutls-v-0)p +FB(')c(similar)31 b(to:)390 4746 y Ft(gnutls.scm:361:1:)43 b(In)k(procedure)f(dynamic-link)e(in)j(expression)e(\(load-extension)f ("libguile-gnutls-v-0")e("scm_init_gnutls"\):)390 4855 y(gnutls.scm:361:1:)h(file:)j("libguile-gnutls-v-0",)c(message:)k @@ -33737,18 +28462,18 @@ g(No)h(such)g(file)g(or)g(directory")150 4988 y FB(In)30 b(this)g(case,)i(y)m(ou)e(will)h(need)f(to)h(mo)s(dify)f(the)g (run-time)g(link)m(er)h(path,)g(for)f(example)h(as)f(follo)m(ws:)390 -5121 y Fs($)47 b(LD_LIBRARY_PATH=/usr/local)o(/lib)41 +5121 y Ft($)47 b(LD_LIBRARY_PATH=/usr/local)o(/lib)41 b(GUILE_LOAD_PATH=/usr/loc)o(al/s)o(hare)o(/gu)o(ile/)o(site)g(guile) 390 5230 y(guile>)46 b(\(use-modules)f(\(gnutls\)\))390 5340 y(guile>)p eop end -%%Page: 279 285 -TeXDict begin 279 284 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(279)150 299 y FA(11.2)68 +%%Page: 261 267 +TeXDict begin 261 266 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(261)150 299 y FA(11.2)68 b(Guile)46 b(API)e(Con)l(v)l(en)l(tions)150 458 y FB(This)29 b(c)m(hapter)h(details)h(the)e(con)m(v)m(en)m(tions)j(used)d(b)m(y)g (Guile)h(API,)g(as)g(w)m(ell)g(as)g(sp)s(eci\014cities)h(of)e(the)h (map-)150 568 y(ping)g(of)h(the)f(C)g(API)g(to)h(Sc)m(heme.)150 -762 y Fu(11.2.1)63 b(En)m(umerates)41 b(and)g(Constan)m(ts)150 +762 y Fv(11.2.1)63 b(En)m(umerates)41 b(and)g(Constan)m(ts)150 909 y FB(Lots)34 b(of)g(en)m(umerates)g(and)g(constan)m(ts)g(are)h (used)e(in)g(the)h(Gn)m(uTLS)e(C)i(API.)f(F)-8 b(or)35 b(eac)m(h)g(C)e(en)m(umerate)150 1018 y(t)m(yp)s(e,)f(a)g(disjoin)m(t)g @@ -33761,67 +28486,67 @@ b(errors)g(are)h(automatically)i(detected)f(b)m(y)150 1347 y(t)m(yp)s(e-c)m(hec)m(king.)150 1479 y(The)k(en)m(umerate)i(v)-5 b(alues)47 b(are)g(b)s(ound)d(to)k(v)-5 b(ariables)47 -b(exp)s(orted)f(b)m(y)h(the)f Fs(\(gnutls\))f FB(and)h -Fs(\(gnutls)150 1589 y(extra\))29 b FB(mo)s(dules.)40 +b(exp)s(orted)f(b)m(y)h(the)f Ft(\(gnutls\))f FB(and)h +Ft(\(gnutls)150 1589 y(extra\))29 b FB(mo)s(dules.)40 b(These)30 b(v)-5 b(ariables)31 b(are)g(named)e(according)j(to)f(the)f -(follo)m(wing)i(con)m(v)m(en)m(tion:)225 1720 y Fy(\017)60 +(follo)m(wing)i(con)m(v)m(en)m(tion:)225 1720 y Fs(\017)60 b FB(All)40 b(v)-5 b(ariable)41 b(names)f(are)g(lo)m(w)m(er-case;)47 -b(the)40 b(underscore)f Fs(_)h FB(c)m(haracter)h(used)e(in)h(the)g(C)f +b(the)40 b(underscore)f Ft(_)h FB(c)m(haracter)h(used)e(in)h(the)g(C)f (API)h(is)330 1830 y(replaced)31 b(b)m(y)f(h)m(yphen)f -Fs(-)p FB(.)225 1962 y Fy(\017)60 b FB(All)32 b(v)-5 +Ft(-)p FB(.)225 1962 y Fs(\017)60 b FB(All)32 b(v)-5 b(ariable)33 b(names)f(are)g(prep)s(ended)d(b)m(y)j(the)g(name)g(of)g (the)g(en)m(umerate)g(t)m(yp)s(e)g(and)g(the)g(slash)f -Fs(/)330 2071 y FB(c)m(haracter.)225 2203 y Fy(\017)60 +Ft(/)330 2071 y FB(c)m(haracter.)225 2203 y Fs(\017)60 b FB(In)26 b(some)g(cases,)j(the)d(v)-5 b(ariable)27 b(name)f(is)h(made)f(more)h(explicit)g(than)f(the)h(one)f(of)h(the)f(C) g(API,)g(e.g.,)330 2313 y(b)m(y)k(a)m(v)m(oid)i(abbreviations.)150 2467 y(Consider)e(for)g(instance)h(this)f(C-side)g(en)m(umerate:)390 -2599 y Fs(typedef)46 b(enum)390 2708 y({)485 2818 y +2599 y Ft(typedef)46 b(enum)390 2708 y({)485 2818 y (GNUTLS_CRD_CERTIFICATE)c(=)48 b(1,)485 2927 y(GNUTLS_CRD_ANON,)485 3037 y(GNUTLS_CRD_SRP,)485 3147 y(GNUTLS_CRD_PSK,)485 3256 y(GNUTLS_CRD_IA)390 3366 y(})f(gnutls_credentials_type_t;)150 3498 y FB(The)42 b(corresp)s(onding)f(Sc)m(heme)h(v)-5 b(alues)42 b(are)h(b)s(ound)d(to)j(the)f(follo)m(wing)h(v)-5 b(ariables)43 b(exp)s(orted)f(b)m(y)g(the)150 3607 y -Fs(\(gnutls\))28 b FB(mo)s(dule:)390 3739 y Fs(credentials/certificate) +Ft(\(gnutls\))28 b FB(mo)s(dule:)390 3739 y Ft(credentials/certificate) 390 3849 y(credentials/anonymous)390 3958 y(credentials/srp)390 4068 y(credentials/psk)390 4177 y(credentials/ia)150 4309 y FB(Hop)s(efully)-8 b(,)31 b(most)g(v)-5 b(ariable)31 b(names)f(can)h(b)s(e)e(deduced)h(from)g(this)g(con)m(v)m(en)m(tion.) 150 4441 y(Sc)m(heme-side)d(\\en)m(umerate")h(v)-5 b(alues)26 -b(can)h(b)s(e)f(compared)g(using)g Fs(eq?)f FB(\(see)i(Section)g +b(can)h(b)s(e)f(compared)g(using)g Ft(eq?)f FB(\(see)i(Section)g (\\Equalit)m(y")h(in)e Ff(The)150 4551 y(GNU)31 b(Guile)g(Reference)g (Man)m(ual)t FB(\).)42 b(Consider)29 b(the)i(follo)m(wing)h(example:) -390 4682 y Fs(\(let)47 b(\(\(session)e(\(make-session)f +390 4682 y Ft(\(let)47 b(\(\(session)e(\(make-session)f (connection-end/client\)\)\))485 4902 y(;;)485 5011 y(;;)k(...)485 5121 y(;;)485 5340 y(;;)g(Check)e(the)h(ciphering)e(algorithm)g (currently)h(used)g(by)i(SESSION.)p eop end -%%Page: 280 286 -TeXDict begin 280 285 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(280)485 299 y Fs(\(if)47 +%%Page: 262 268 +TeXDict begin 262 267 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(262)485 299 y Ft(\(if)47 b(\(eq?)g(cipher/arcfour)d(\(session-cipher)g(session\)\))676 408 y(\(format)i(#t)h("We're)f(using)h(the)g(ARCFOUR)f (algorithm"\)\)\))150 542 y FB(In)70 b(addition,)82 b(all)72 b(en)m(umerate)f(v)-5 b(alues)72 b(can)f(b)s(e)f(con)m(v)m(erted)j(to)e (a)h(h)m(uman-readable)f(string,)150 652 y(in)76 b(a)h(t)m(yp)s(e-sp)s (eci\014c)f(w)m(a)m(y)-8 b(.)180 b(F)-8 b(or)78 b(instance,)88 -b Fs(\(cipher->string)27 b(cipher/arcfour\))72 b FB(yields)150 -762 y Fs("ARCFOUR)28 b(128")p FB(,)115 b(while)99 b Fs +b Ft(\(cipher->string)27 b(cipher/arcfour\))72 b FB(yields)150 +762 y Ft("ARCFOUR)28 b(128")p FB(,)115 b(while)99 b Ft (\(key-usage->string)26 b(key-usage/digital-signa)o(tur)o(e\))93 -b FB(yields)150 871 y Fs("digital-signature")p FB(.)71 +b FB(yields)150 871 y Ft("digital-signature")p FB(.)71 b(Note)44 b(that)f(these)g(strings)f(ma)m(y)h(not)f(b)s(e)g(su\016cien) m(t)h(for)f(use)g(in)g(a)h(user)150 981 y(in)m(terface)32 b(since)f(they)f(are)h(fairly)g(concise)g(and)f(not)h(in)m -(ternationalized.)150 1179 y Fu(11.2.2)63 b(Pro)s(cedure)42 +(ternationalized.)150 1179 y Fv(11.2.2)63 b(Pro)s(cedure)42 b(Names)150 1326 y FB(Unlik)m(e)48 b(C)f(functions)g(in)f(Gn)m(uTLS,)h (the)g(corresp)s(onding)f(Sc)m(heme)i(pro)s(cedures)d(are)j(named)f(in) g(a)150 1435 y(w)m(a)m(y)41 b(that)f(is)g(close)h(to)g(natural)f (English.)69 b(Abbreviations)40 b(are)g(also)h(a)m(v)m(oided.)71 b(F)-8 b(or)41 b(instance,)i(the)150 1545 y(Sc)m(heme)34 -b(pro)s(cedure)f(corresp)s(onding)g(to)h Fs(gnutls_certificate_set_d)o -(h_pa)o(rams)27 b FB(is)34 b(named)f Fs(set-)150 1655 +b(pro)s(cedure)f(corresp)s(onding)g(to)h Ft(gnutls_certificate_set_d)o +(h_pa)o(rams)27 b FB(is)34 b(named)f Ft(set-)150 1655 y(certificate-credentials-)o(dh-p)o(aram)o(ete)o(rs!)p -FB(.)k(The)31 b Fs(gnutls_)e FB(pre\014x)i(is)g(alw)m(a)m(ys)i(omitted) +FB(.)k(The)31 b Ft(gnutls_)e FB(pre\014x)i(is)g(alw)m(a)m(ys)i(omitted) f(from)150 1764 y(v)-5 b(ariable)41 b(names)f(since)g(a)g(similar)g (e\013ect)i(can)e(b)s(e)f(ac)m(hiev)m(ed)j(using)d(Guile's)i(nift)m(y)f (binding)f(renam-)150 1874 y(ing)c(facilities,)j(should)c(it)h(b)s(e)f @@ -33831,56 +28556,56 @@ (from)g(C)f(function)h(names)f(in)h(a)g(w)m(a)m(y)h(that)g(mak)m(es)f (it)h(clearer)150 2227 y(what)34 b(ob)5 b(jects)36 b(they)e(op)s(erate) h(on.)54 b(F)-8 b(or)35 b(example,)h(the)f(Sc)m(heme)g(pro)s(cedure)e -(named)h Fs(set-session-)150 2336 y(transport-port!)h -FB(corresp)s(onds)i(to)j Fs(gnutls_transport_set_pt)o(r)p +(named)h Ft(set-session-)150 2336 y(transport-port!)h +FB(corresp)s(onds)i(to)j Ft(gnutls_transport_set_pt)o(r)p FB(,)35 b(making)k(it)h(clear)g(that)f(this)150 2446 y(pro)s(cedure)29 b(applies)i(to)g(session.)150 2644 -y Fu(11.2.3)63 b(Represen)m(tation)41 b(of)g(Binary)g(Data)150 +y Fv(11.2.3)63 b(Represen)m(tation)41 b(of)g(Binary)g(Data)150 2791 y FB(Man)m(y)i(pro)s(cedures)e(op)s(erate)i(on)g(binary)e(data.)78 -b(F)-8 b(or)43 b(instance,)j Fs(pkcs3-import-dh-parameter)o(s)150 +b(F)-8 b(or)43 b(instance,)j Ft(pkcs3-import-dh-parameter)o(s)150 2901 y FB(exp)s(ects)22 b(binary)f(data)h(as)g(input)f(and,)i -(similarly)-8 b(,)24 b(pro)s(cedures)c(lik)m(e)j Fs +(similarly)-8 b(,)24 b(pro)s(cedures)c(lik)m(e)j Ft (pkcs1-export-rsa-parameter)o(s)150 3010 y FB(return)29 b(binary)h(data.)150 3144 y(Binary)e(data)g(is)g(represen)m(ted)g(on)f (the)h(Sc)m(heme)g(side)g(using)f(SRFI-4)h(homogeneous)h(v)m(ectors)g (\(see)f(Sec-)150 3254 y(tion)k(\\SRFI-4")g(in)f Ff(The)f(GNU)i(Guile)g (Reference)f(Man)m(ual)t FB(\).)44 b(Although)31 b(an)m(y)h(t)m(yp)s(e) f(of)g(homogeneous)150 3363 y(v)m(ector)h(ma)m(y)f(b)s(e)f(used,)g -Fs(u8vector)p FB(s)d(\(i.e.,)33 b(v)m(ectors)e(of)g(b)m(ytes\))g(are)g +Ft(u8vector)p FB(s)d(\(i.e.,)33 b(v)m(ectors)e(of)g(b)m(ytes\))g(are)g (highly)f(recommended.)150 3497 y(As)f(an)f(example,)i(generating)g (and)f(then)f(exp)s(orting)h(RSA)f(parameters)h(in)g(the)g(PEM)f (format)i(can)f(b)s(e)150 3607 y(done)h(as)h(follo)m(ws:)390 -3741 y Fs(\(let*)46 b(\(\(rsa-params)f(\(make-rsa-parameters)d +3741 y Ft(\(let*)46 b(\(\(rsa-params)f(\(make-rsa-parameters)d (1024\)\))724 3850 y(\(raw-data)772 3960 y(\(pkcs1-export-rsa-parame)o (ter)o(s)g(rsa-params)2156 4070 y(x509-certificate-format/)o(pem\))o (\)\))485 4179 y(\(uniform-vector-write)g(raw-data)k (\(open-output-file)d("some-file.pem"\)\)\))150 4313 y FB(F)-8 b(or)23 b(an)g(example)g(of)g(Op)s(enPGP)e(k)m(ey)i(imp)s (ort)f(from)g(a)h(\014le,)h(see)f(Section)h(11.3.3)g([Imp)s(orting)e -(Op)s(enPGP)150 4423 y(Keys)30 b(Guile)h(Example],)g(page)g(285.)150 -4621 y Fu(11.2.4)63 b(Input)41 b(and)g(Output)150 4768 +(Op)s(enPGP)150 4423 y(Keys)30 b(Guile)h(Example],)g(page)g(267.)150 +4621 y Fv(11.2.4)63 b(Input)41 b(and)g(Output)150 4768 y FB(The)j(underlying)f(transp)s(ort)g(of)i(a)g(TLS)e(session)h(can)h (b)s(e)e(an)m(y)i(Sc)m(heme)g(input/output)e(p)s(ort)h(\(see)150 4877 y(Section)36 b(\\P)m(orts)g(and)f(File)h(Descriptors")g(in)f Ff(The)g(GNU)g(Guile)h(Reference)g(Man)m(ual)t FB(\).)56 b(This)34 b(has)h(to)150 4987 y(b)s(e)30 b(sp)s(eci\014ed)f(using)h -Fs(set-session-transport-por)o(t!)p FB(.)150 5121 y(Ho)m(w)m(ev)m(er,)e +Ft(set-session-transport-por)o(t!)p FB(.)150 5121 y(Ho)m(w)m(ev)m(er,)e (for)d(b)s(etter)g(p)s(erformance,)h(a)f(ra)m(w)g(\014le)g(descriptor)g -(can)g(b)s(e)f(sp)s(eci\014ed,)i(using)e Fs(set-session-)150 +(can)g(b)s(e)f(sp)s(eci\014ed,)i(using)e Ft(set-session-)150 5230 y(transport-fd!)p FB(.)47 b(F)-8 b(or)35 b(instance,)h(if)d(the)i (transp)s(ort)e(la)m(y)m(er)i(is)f(a)g(so)s(c)m(k)m(et)i(p)s(ort)d(o)m (v)m(er)i(an)f(OS-pro)m(vided)150 5340 y(so)s(c)m(k)m(et,)49 -b(y)m(ou)44 b(can)f(use)g(the)h Fs(port->fdes)d FB(or)i -Fs(fileno)f FB(pro)s(cedure)g(to)i(obtain)g(the)g(underlying)e(\014le)p +b(y)m(ou)44 b(can)f(use)g(the)h Ft(port->fdes)d FB(or)i +Ft(fileno)f FB(pro)s(cedure)g(to)i(obtain)g(the)g(underlying)e(\014le)p eop end -%%Page: 281 287 -TeXDict begin 281 286 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(281)150 299 y(descriptor)38 -b(and)g(pass)g(it)h(to)h Fs(set-session-transport-f)o(d!)32 +%%Page: 263 269 +TeXDict begin 263 268 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(263)150 299 y(descriptor)38 +b(and)g(pass)g(it)h(to)h Ft(set-session-transport-f)o(d!)32 b FB(\(see)40 b(Section)f(\\P)m(orts)g(and)f(File)i(De-)150 408 y(scriptors")31 b(in)f Ff(The)g(GNU)h(Guile)g(Reference)g(Man)m (ual)t FB(\).)41 b(This)30 b(w)m(ould)g(w)m(ork)h(as)f(follo)m(ws:)390 -550 y Fs(\(let)47 b(\(\(socket)e(\(socket)h(PF_INET)g(SOCK_STREAM)f +550 y Ft(\(let)47 b(\(\(socket)e(\(socket)h(PF_INET)g(SOCK_STREAM)f (0\)\))676 660 y(\(session)h(\(make-session)e (connection-end/client\)\)\))485 879 y(;;)485 989 y(;;)k(Establish)d(a) i(TCP)g(connection...)485 1098 y(;;)485 1318 y(;;)h(Use)f(the)f(file)h @@ -33889,8 +28614,8 @@ 1569 y FB(Once)29 b(a)g(TLS)f(session)i(is)f(established,)h(data)f(can) h(b)s(e)e(comm)m(unicated)j(through)d(it)i(\(i.e.,)h Fm(via)36 b FB(the)29 b(TLS)150 1679 y(record)h(la)m(y)m(er\))j(using)c -(the)i(p)s(ort)f(returned)f(b)m(y)h Fs(session-record-port)p -FB(:)390 1821 y Fs(\(let)47 b(\(\(session)e(\(make-session)f +(the)i(p)s(ort)f(returned)f(b)m(y)h Ft(session-record-port)p +FB(:)390 1821 y Ft(\(let)47 b(\(\(session)e(\(make-session)f (connection-end/client\)\)\))485 2040 y(;;)485 2149 y(;;)k(Initialize)d (the)i(various)e(parameters)g(of)j(SESSION,)d(set)i(up)485 2259 y(;;)h(a)f(network)f(connection,)f(etc...)485 2369 @@ -33899,43 +28624,43 @@ 2807 y(\(let)h(\(\(greetings)d(\(read)j(i/o\)\)\))676 3026 y(;;)h(...)676 3245 y(\(bye)f(session)f (close-request/rdwr\)\)\)\))150 3387 y FB(A)36 b(lo)m(w)m(er-lev)m(el)i -(I/O)e(API)f(is)h(pro)m(vided)f(b)m(y)g Fs(record-send)e -FB(and)h Fs(record-receive!)e FB(whic)m(h)j(tak)m(e)i(an)150 +(I/O)e(API)f(is)h(pro)m(vided)f(b)m(y)g Ft(record-send)e +FB(and)h Ft(record-receive!)e FB(whic)m(h)j(tak)m(e)i(an)150 3497 y(SRFI-4)29 b(v)m(ector)i(to)e(represen)m(t)g(the)g(data)g(sen)m (t)h(or)f(receiv)m(ed.)41 b(While)30 b(it)f(migh)m(t)h(impro)m(v)m(e)f (p)s(erformance,)150 3606 y(it)i(is)f(m)m(uc)m(h)h(less)f(con)m(v)m (enien)m(t)j(than)d(the)h(ab)s(o)m(v)m(e)g(and)f(should)f(rarely)i(b)s -(e)f(needed.)150 3813 y Fu(11.2.5)63 b(Exception)40 b(Handling)150 +(e)f(needed.)150 3813 y Fv(11.2.5)63 b(Exception)40 b(Handling)150 3960 y FB(Gn)m(uTLS)c(errors)i(are)g(implemen)m(ted)g(as)g(Sc)m(heme)g (exceptions)h(\(see)f(Section)h(\\Exceptions")g(in)e Ff(The)150 4070 y(GNU)31 b(Guile)g(Reference)g(Man)m(ual)t FB(\).)42 b(Eac)m(h)31 b(time)g(a)g(Gn)m(uTLS)e(function)h(returns)f (an)h(error,)h(an)f(excep-)150 4179 y(tion)24 b(with)g(k)m(ey)h -Fs(gnutls-error)c FB(is)j(raised.)38 b(The)24 b(additional)h(argumen)m +Ft(gnutls-error)c FB(is)j(raised.)38 b(The)24 b(additional)h(argumen)m (ts)f(that)g(are)h(thro)m(wn)e(include)h(an)150 4289 y(error)e(co)s(de)h(and)f(the)h(name)f(of)h(the)g(Gn)m(uTLS)e(pro)s (cedure)h(that)h(raised)f(the)h(exception.)39 b(The)23 b(error)f(co)s(de)150 4399 y(is)34 b(prett)m(y)g(m)m(uc)m(h)f(lik)m(e)i (an)e(en)m(umerate)i(v)-5 b(alue:)47 b(it)34 b(is)g(one)g(of)f(the)h -Fs(error/)e FB(v)-5 b(ariables)34 b(exp)s(orted)f(b)m(y)h(the)150 -4508 y Fs(\(gnutls\))d FB(mo)s(dule)j(\(see)g(Section)h(11.2.1)h([En)m -(umerates)e(and)f(Constan)m(ts],)i(page)g(279\).)52 b(Exceptions)150 +Ft(error/)e FB(v)-5 b(ariables)34 b(exp)s(orted)f(b)m(y)h(the)150 +4508 y Ft(\(gnutls\))d FB(mo)s(dule)j(\(see)g(Section)h(11.2.1)h([En)m +(umerates)e(and)f(Constan)m(ts],)i(page)g(261\).)52 b(Exceptions)150 4618 y(can)31 b(b)s(e)e(turned)h(in)m(to)h(error)f(messages)h(using)f -(the)h Fs(error->string)26 b FB(pro)s(cedure.)150 4760 +(the)h Ft(error->string)26 b FB(pro)s(cedure.)150 4760 y(The)k(follo)m(wing)i(examples)f(illustrates)g(ho)m(w)f(Gn)m(uTLS)g -(exceptions)h(can)g(b)s(e)e(handled:)390 4902 y Fs(\(let)47 +(exceptions)h(can)g(b)s(e)e(handled:)390 4902 y Ft(\(let)47 b(\(\(session)e(\(make-session)f(connection-end/server\)\)\))485 5121 y(;;)485 5230 y(;;)k(...)485 5340 y(;;)p eop end -%%Page: 282 288 -TeXDict begin 282 287 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(282)485 408 y Fs(\(catch)47 +%%Page: 264 270 +TeXDict begin 264 269 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(264)485 408 y Ft(\(catch)47 b('gnutls-error)581 518 y(\(lambda)f(\(\))676 628 y(\(handshake)f (session\)\))581 737 y(\(lambda)h(\(key)g(err)h(function)f(.)h (currently-unused\))676 847 y(\(format)f(\(current-error-port\))1058 956 y("a)h(GnuTLS)f(error)h(was)g(raised)f(by)h(`~a':)f(~a~\045")1058 1066 y(function)g(\(error->string)e(err\)\)\)\)\))150 1202 y FB(Again,)31 b(error)f(v)-5 b(alues)31 b(can)g(b)s(e)e(compared) -i(using)f Fs(eq?)p FB(:)581 1339 y Fs(;;)47 b(`gnutls-error')d +i(using)f Ft(eq?)p FB(:)581 1339 y Ft(;;)47 b(`gnutls-error')d (handler.)581 1448 y(\(lambda)i(\(key)g(err)h(function)f(.)h (currently-unused\))676 1558 y(\(if)g(\(eq?)g(err)g (error/fatal-alert-receiv)o(ed\))867 1668 y(\(format)f @@ -33943,14 +28668,14 @@ (caught!~\045"\))867 1887 y(\(format)f(\(current-error-port\))1249 1996 y("something)f(bad)i(happened:)e(~a~\045")1249 2106 y(\(error->string)f(err\)\)\)\))150 2242 y FB(Note)27 -b(that)f(the)f Fs(catch)f FB(handler)h(is)g(curren)m(tly)h(passed)e +b(that)f(the)f Ft(catch)f FB(handler)h(is)g(curren)m(tly)h(passed)e (only)i(3)g(argumen)m(ts)f(but)g(future)g(v)m(ersions)g(migh)m(t)150 2352 y(pro)m(vide)37 b(it)h(with)e(additional)i(argumen)m(ts.)61 b(Th)m(us,)38 b(it)f(m)m(ust)g(b)s(e)g(prepared)e(to)j(handle)f(more)g (than)g(3)150 2461 y(argumen)m(ts,)31 b(as)g(in)f(this)g(example.)150 2697 y FA(11.3)68 b(Guile)46 b(Examples)150 2856 y FB(This)30 b(c)m(hapter)h(pro)m(vides)f(examples)h(that)g(illustrate)g(common)g -(use)f(cases.)150 3057 y Fu(11.3.1)63 b(Anon)m(ymous)42 +(use)f(cases.)150 3057 y Fv(11.3.1)63 b(Anon)m(ymous)42 b(Authen)m(tication)e(Guile)h(Example)150 3204 y Ff(Anon)m(ymous)33 b(authen)m(tication)j FB(is)e(v)m(ery)g(easy)h(to)f(use.)51 b(No)34 b(certi\014cates)i(are)e(needed)g(b)m(y)f(the)h(comm)m(u-)150 @@ -33960,7 +28685,7 @@ b(clien)m(t-side)j(co)s(de)e(w)m(ould)g(lo)s(ok)g(lik)m(e)i(this)d (\(assuming)h Ff(some-so)s(c)m(k)m(et)33 b FB(is)28 b(b)s(ound)d(to)k (an)f(op)s(en)f(so)s(c)m(k)m(et)150 3669 y(p)s(ort\):)390 -3806 y Fs(;;)47 b(Client-side.)390 4025 y(\(let)g(\(\(client)e +3806 y Ft(;;)47 b(Client-side.)390 4025 y(\(let)g(\(\(client)e (\(make-session)f(connection-end/client\)\)\))485 4134 y(;;)k(Use)f(the)f(default)g(settings.)485 4244 y (\(set-session-default-prior)o(ity!)41 b(client\))485 @@ -33971,9 +28696,9 @@ (client)46 b(\(list)h(kx/anon-dh\)\))485 5121 y(;;)h(Specify)d(the)i (underlying)e(socket.)485 5230 y(\(set-session-transport-fd!)c(client) 46 b(\(fileno)g(some-socket\)\))p eop end -%%Page: 283 289 -TeXDict begin 283 288 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(283)485 299 y Fs(;;)48 b(Create)e +%%Page: 265 271 +TeXDict begin 265 270 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(265)485 299 y Ft(;;)48 b(Create)e (anonymous)f(credentials.)485 408 y(\(set-session-credentials!)c (client)1726 518 y(\(make-anonymous-client-cre)o(den)o(tial)o(s\)\))485 737 y(;;)48 b(Perform)d(the)i(TLS)g(handshake)f(with)g(the)h(server.) @@ -33984,7 +28709,7 @@ (close-request/rdwr\)\))150 1643 y FB(The)32 b(corresp)s(onding)g(serv) m(er)h(w)m(ould)f(lo)s(ok)h(lik)m(e)h(this)f(\(again,)i(assuming)d Ff(some-so)s(c)m(k)m(et)37 b FB(is)c(b)s(ound)d(to)k(a)150 -1753 y(so)s(c)m(k)m(et)e(p)s(ort\):)390 1892 y Fs(;;)47 +1753 y(so)s(c)m(k)m(et)e(p)s(ort\):)390 1892 y Ft(;;)47 b(Server-side.)390 2111 y(\(let)g(\(\(server)e(\(make-session)f (connection-end/server\)\)\))485 2220 y(\(set-session-default-prior)o (ity!)d(server\))485 2330 y(\(set-session-certificate-t)o(ype-)o(pri)o @@ -34005,30 +28730,30 @@ b(server\)\)\)\))581 4303 y(\(format)k(#t)h("received)e(the)i (following)e(message:)h(~a~\045")963 4412 y(message\))581 4631 y(\(bye)h(server)f(close-request/rdwr\)\)\))150 -4770 y FB(This)30 b(is)g(it!)150 4974 y Fu(11.3.2)63 +4770 y FB(This)30 b(is)g(it!)150 4974 y Fv(11.3.2)63 b(Op)s(enPGP)42 b(Authen)m(tication)e(Guile)i(Example)150 5121 y FB(Gn)m(uTLS)26 b(allo)m(ws)i(users)e(to)h(authen)m(ticate)i (using)e(Op)s(enPGP)e(certi\014cates.)42 b(The)26 b(relev)-5 b(an)m(t)28 b(pro)s(cedures)150 5230 y(are)h(pro)m(vided)e(b)m(y)h(the) -h Fs(\(gnutls)f(extra\))f FB(mo)s(dule.)39 b(Using)28 +h Ft(\(gnutls)f(extra\))f FB(mo)s(dule.)39 b(Using)28 b(Op)s(enPGP-based)f(authen)m(tication)j(is)f(not)150 5340 y(more)37 b(complicated)h(than)f(using)f(anon)m(ymous)h(authen)m (tication.)62 b(It)37 b(requires)f(a)h(bit)g(of)g(extra)h(w)m(ork,)p eop end -%%Page: 284 290 -TeXDict begin 284 289 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(284)150 299 y(though,)28 +%%Page: 266 272 +TeXDict begin 266 271 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(266)150 299 y(though,)28 b(to)h(imp)s(ort)e(the)i(Op)s(enPGP)d(public)i(and)f(priv)-5 b(ate)28 b(k)m(ey)h(of)f(the)g(clien)m(t/serv)m(er.)43 b(Key)28 b(imp)s(ort)f(is)150 408 y(omitted)d(here)f(and)f(is)h(left)h (as)f(an)g(exercise)h(to)g(the)f(reader)g(\(see)h(Section)g(11.3.3)h ([Imp)s(orting)d(Op)s(enPGP)150 518 y(Keys)30 b(Guile)h(Example],)g -(page)g(285\).)150 655 y(Assuming)g Ff(some-so)s(c)m(k)m(et)36 +(page)g(267\).)150 655 y(Assuming)g Ff(some-so)s(c)m(k)m(et)36 b FB(is)c(b)s(ound)d(to)j(an)g(op)s(en)e(so)s(c)m(k)m(et)k(p)s(ort)d (and)g Ff(pub)h FB(and)f Ff(sec)37 b FB(are)32 b(b)s(ound)d(to)k(the) 150 765 y(clien)m(t's)f(Op)s(enPGP)d(public)h(and)g(secret)h(k)m(ey)-8 b(,)32 b(resp)s(ectiv)m(ely)-8 b(,)32 b(clien)m(t-side)g(co)s(de)f(w)m -(ould)f(lo)s(ok)h(lik)m(e)h(this:)390 902 y Fs(;;)47 +(ould)f(lo)s(ok)h(lik)m(e)h(this:)390 902 y Ft(;;)47 b(Client-side.)390 1121 y(\(define)f(\045certs)g(\(list)g (certificate-type/openpgp\))o(\))390 1340 y(\(let)h(\(\(client)e (\(make-session)f(connection-end/client\)\))676 1450 @@ -34046,7 +28771,7 @@ 2984 y(\(write)i("hello,)e(world!")h(\(session-record-port)c (client\)\))485 3093 y(\(bye)47 b(client)f(close-request/rdwr\)\))150 3230 y FB(Similarly)-8 b(,)31 b(serv)m(er-side)g(co)s(de)g(w)m(ould)f -(b)s(e)g(along)h(these)g(lines:)390 3367 y Fs(;;)47 b(Server-side.)390 +(b)s(e)g(along)h(these)g(lines:)390 3367 y Ft(;;)47 b(Server-side.)390 3587 y(\(define)f(\045certs)g(\(list)g(certificate-type/openpgp\))o(\)) 390 3806 y(\(let)h(\(\(server)e(\(make-session)f (connection-end/server\)\))676 3915 y(\(rsa)190 b @@ -34064,9 +28789,9 @@ y(\(set-certificate-credent)o(ials)o(-op)o(enpg)o(p-ke)o(ys!)41 b(cred)47 b(pub)g(sec\))581 5230 y(\(set-session-credentials)o(!)42 b(server)k(cred\)\))p eop end -%%Page: 285 291 -TeXDict begin 285 290 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(285)485 299 y Fs +%%Page: 267 273 +TeXDict begin 267 272 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(267)485 299 y Ft (\(set-session-transport-fd!)41 b(server)46 b(\(fileno)g (some-socket\)\))485 518 y(\(handshake)f(server\))485 628 y(\(let)i(\(\(msg)f(\(read)h(\(session-record-port)42 @@ -34077,14 +28802,14 @@ 1232 y(time.)41 b(Th)m(us,)30 b(y)m(ou)g(ma)m(y)g(w)m(an)m(t)h(to)g (generate)g(them)f(once)h(and)e(store)i(them)f(in)g(a)g(\014le)g(for)g (future)f(re-use)150 1342 y(\(see)i(Section)h(11.4.1)g([Core)f(In)m -(terface],)h(page)f(286\).)150 1572 y Fu(11.3.3)63 b(Imp)s(orting)42 +(terface],)h(page)f(268\).)150 1572 y Fv(11.3.3)63 b(Imp)s(orting)42 b(Op)s(enPGP)g(Keys)f(Guile)h(Example)150 1719 y FB(The)e(follo)m(wing) i(example)f(pro)m(vides)g(a)g(simple)g(w)m(a)m(y)g(of)g(imp)s(orting)f (\\ASCI)s(I-armored")g(Op)s(enPGP)150 1829 y(k)m(eys)c(from)f(\014les,) -i(using)e(the)h Fs(import-openpgp-certifica)o(te)29 b -FB(and)35 b Fs(import-openpgp-private-)150 1939 y(key)29 -b FB(pro)s(cedures)h(pro)m(vided)g(b)m(y)g(the)g Fs(\(gnutls)f(extra\)) -f FB(mo)s(dule.)390 2105 y Fs(\(use-modules)44 b(\(srfi)j(srfi-4\))1010 +i(using)e(the)h Ft(import-openpgp-certifica)o(te)29 b +FB(and)35 b Ft(import-openpgp-private-)150 1939 y(key)29 +b FB(pro)s(cedures)h(pro)m(vided)g(b)m(y)g(the)g Ft(\(gnutls)f(extra\)) +f FB(mo)s(dule.)390 2105 y Ft(\(use-modules)44 b(\(srfi)j(srfi-4\))1010 2214 y(\(gnutls)f(extra\)\))390 2433 y(\(define)g (\(import-key-from-file)c(import-proc)j(file\))485 2543 y(;;)j(Import)e(OpenPGP)g(key)g(from)h(FILE)g(using)f(IMPORT-PROC.)485 @@ -34101,22 +28826,22 @@ f(file\)\))390 4406 y(\(define)46 b(\(import-private-key-from)o(-fi)o (le)c(file\))485 4516 y(\(import-key-from-file)g (import-openpgp-private-key)f(file\)\))150 4682 y FB(The)21 -b(pro)s(cedures)f Fs(import-public-key-from-fil)o(e)c -FB(and)21 b Fs(import-private-key-from)o(-fil)o(e)16 +b(pro)s(cedures)f Ft(import-public-key-from-fil)o(e)c +FB(and)21 b Ft(import-private-key-from)o(-fil)o(e)16 b FB(can)150 4791 y(b)s(e)26 b(passed)g(a)h(\014le)g(name.)40 b(They)26 b(return)f(an)i(Op)s(enPGP)e(public)h(k)m(ey)i(and)e(priv)-5 b(ate)27 b(k)m(ey)g(ob)5 b(ject,)29 b(resp)s(ec-)150 4901 y(tiv)m(ely)j(\(see)f(Section)h(11.4.2)g([Extra)f(In)m(terface],)h -(page)f(293\).)150 5181 y FA(11.4)68 b(Guile)46 b(Reference)150 +(page)f(275\).)150 5181 y FA(11.4)68 b(Guile)46 b(Reference)150 5340 y FB(This)30 b(c)m(hapter)h(do)s(cumen)m(ts)f(Gn)m(uTLS)f(Sc)m (heme)i(pro)s(cedures)e(a)m(v)-5 b(ailable)32 b(to)f(Guile)g (programmers.)p eop end -%%Page: 286 292 -TeXDict begin 286 291 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(286)150 299 y Fu(11.4.1)63 +%%Page: 268 274 +TeXDict begin 268 273 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(268)150 299 y Fv(11.4.1)63 b(Core)41 b(In)m(terface)150 446 y FB(This)d(section)h(lists)g(the)f (Sc)m(heme)h(pro)s(cedures)e(exp)s(orted)h(b)m(y)h(the)f -Fs(\(gnutls\))e FB(mo)s(dule)i(\(see)h(Section)150 555 +Ft(\(gnutls\))e FB(mo)s(dule)i(\(see)h(Section)150 555 y(\\The)25 b(Guile)h(mo)s(dule)e(system")i(in)f Ff(The)f(GNU)i(Guile)g (Reference)f(Man)m(ual)t FB(\).)40 b(This)24 b(mo)s(dule)h(is)g (licenced)150 665 y(under)k(the)h(GNU)h(Lesser)g(General)g(Public)f @@ -34131,187 +28856,187 @@ b Fh(x509-certificate-subje)q(ct-)q(alte)q(rna)q(tiv)q(e-n)q(ame)52 b Ff(cert)31 b(index)390 1542 y FB(Return)24 b(t)m(w)m(o)j(v)-5 b(alues:)39 b(the)25 b(alternativ)m(e)j(name)d(t)m(yp)s(e)g(for)g -Ff(cert)j FB(\(i.e.,)g(one)e(of)f(the)h Fs(x509-subject-)390 +Ff(cert)j FB(\(i.e.,)g(one)e(of)f(the)h Ft(x509-subject-)390 1651 y(alternative-name/)36 b FB(v)-5 b(alues\))42 b(and)f(the)g (actual)h(sub)5 b(ject)41 b(alternativ)m(e)j(name)d(\(a)h(string\))f -(at)390 1761 y Ff(index)6 b FB(.)41 b(Both)31 b(v)-5 -b(alues)30 b(are)h Fs(#f)f FB(if)g(no)g(alternativ)m(e)j(name)e(is)f(a) -m(v)-5 b(ailable)33 b(at)e Ff(index)6 b FB(.)2970 1943 -y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-subje)q -(ct-)q(key-)q(id)52 b Ff(cert)390 2053 y FB(Return)30 -b(the)g(sub)5 b(ject)30 b(k)m(ey)h(ID)g(\(a)g(u8v)m(ector\))h(for)f -Ff(cert)r FB(.)2970 2235 y([Sc)m(heme)g(Pro)s(cedure])-3600 -b Fh(x509-certificate-autho)q(rit)q(y-ke)q(y-i)q(d)51 -b Ff(cert)390 2345 y FB(Return)30 b(the)g(k)m(ey)h(ID)g(\(a)g(u8v)m -(ector\))h(of)f(the)f(X.509)i(certi\014cate)h(authorit)m(y)e(of)g -Ff(cert)r FB(.)2970 2528 y([Sc)m(heme)g(Pro)s(cedure])-3600 -b Fh(x509-certificate-key-i)q(d)51 b Ff(cert)390 2637 -y FB(Return)30 b(a)i(statistically)i(unique)c(ID)i(\(a)g(u8v)m(ector\)) -h(for)e Ff(cert)j FB(that)e(dep)s(ends)d(on)i(its)h(public)e(k)m(ey)390 +(at)390 1761 y Ff(index)p FB(.)f(Both)31 b(v)-5 b(alues)31 +b(are)g Ft(#f)f FB(if)g(no)g(alternativ)m(e)j(name)d(is)h(a)m(v)-5 +b(ailable)33 b(at)e Ff(index)p FB(.)2970 1943 y([Sc)m(heme)g(Pro)s +(cedure])-3600 b Fh(x509-certificate-subje)q(ct-)q(key-)q(id)52 +b Ff(cert)390 2053 y FB(Return)30 b(the)g(sub)5 b(ject)30 +b(k)m(ey)h(ID)g(\(a)g(u8v)m(ector\))h(for)f Ff(cert)p +FB(.)2970 2235 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh +(x509-certificate-autho)q(rit)q(y-ke)q(y-i)q(d)51 b Ff(cert)390 +2345 y FB(Return)30 b(the)g(k)m(ey)h(ID)g(\(a)g(u8v)m(ector\))h(of)f +(the)f(X.509)i(certi\014cate)h(authorit)m(y)e(of)g Ff(cert)p +FB(.)2970 2528 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh +(x509-certificate-key-i)q(d)51 b Ff(cert)390 2637 y FB(Return)30 +b(a)i(statistically)i(unique)c(ID)i(\(a)g(u8v)m(ector\))h(for)e +Ff(cert)j FB(that)e(dep)s(ends)d(on)i(its)h(public)e(k)m(ey)390 2747 y(parameters.)41 b(This)30 b(is)g(normally)h(a)f(20-b)m(yte)j (SHA-1)e(hash.)2970 2929 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(x509-certificate-versi)q(on)52 b Ff(cert)390 3039 -y FB(Return)30 b(the)g(v)m(ersion)h(of)g Ff(cert)r FB(.)2970 +y FB(Return)30 b(the)g(v)m(ersion)h(of)g Ff(cert)p FB(.)2970 3222 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(x509-certificate-key-u)q (sag)q(e)51 b Ff(cert)390 3331 y FB(Return)34 b(the)g(k)m(ey)h(usage)g -(of)g Ff(cert)i FB(\(i.e.,)g(a)e(list)g(of)f Fs(key-usage/)e +(of)g Ff(cert)i FB(\(i.e.,)g(a)e(list)g(of)f Ft(key-usage/)e FB(v)-5 b(alues\),)36 b(or)f(the)f(empt)m(y)h(list)g(if)390 3441 y Ff(cert)e FB(do)s(es)d(not)h(con)m(tain)g(suc)m(h)f (information.)2970 3623 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(x509-certificate-publi)q(c-k)q(ey-a)q(lgo)q(rit)q(hm)52 b Ff(cert)390 3733 y FB(Return)30 b(t)m(w)m(o)i(v)-5 b(alues:)42 b(the)31 b(public)f(k)m(ey)h(algorithm)h(\(i.e.,)g(one)f -(of)g(the)g Fs(pk-algorithm/)c FB(v)-5 b(alues\))390 +(of)g(the)g Ft(pk-algorithm/)c FB(v)-5 b(alues\))390 3843 y(of)31 b Ff(cert)i FB(and)c(the)i(n)m(um)m(b)s(er)e(of)i(bits)f (used.)2970 4025 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(x509-certificate-signa)q(tur)q(e-al)q(gor)q(ith)q(m)51 b Ff(cert)390 4135 y FB(Return)20 b(the)h(signature)g(algorithm)h(used) -d(b)m(y)i Ff(cert)i FB(\(i.e.,)i(one)c(of)g(the)f Fs(sign-algorithm/)d +d(b)m(y)i Ff(cert)i FB(\(i.e.,)i(one)c(of)g(the)f Ft(sign-algorithm/)d FB(v)-5 b(alues\).)2970 4317 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-match)q(es-)q(host)q(nam)q(e?)52 -b Ff(cert)31 b(hostname)390 4427 y FB(Return)39 b(true)h(if)g -Ff(cert)i FB(matc)m(hes)f Ff(hostname)5 b FB(,)43 b(a)d(string)g -(denoting)g(a)h(DNS)e(host)h(name.)70 b(This)390 4536 -y(is)31 b(the)h(basic)g(implemen)m(tation)g(of)g(RF)m(C)g(2818)h(\()p -Fs(http://tools.ietf.org/ht)o(ml/r)o(fc2)o(818)p FB(\))390 +b Ff(cert)31 b(hostname)390 4427 y FB(Return)39 b(true)h(if)h +Ff(cert)h FB(matc)m(hes)g Ff(hostname)p FB(,)h(a)e(string)f(denoting)g +(a)h(DNS)f(host)g(name.)71 b(This)390 4536 y(is)31 b(the)h(basic)g +(implemen)m(tation)g(of)g(RF)m(C)g(2818)h(\()p Ft +(http://tools.ietf.org/ht)o(ml/r)o(fc2)o(818)p FB(\))390 4646 y(\(ak)-5 b(a.)42 b(HTTPS\).)2970 4829 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-issue)q(r-d)q(n-oi)q(d)52 b Ff(cert)31 b(index)390 4938 y FB(Return)36 b(the)i(OID)f(\(a)g (string\))h(at)f Ff(index)43 b FB(from)37 b Ff(cert)r -FB('s)h(issuer)e(DN.)i(Return)e Fs(#f)h FB(if)g(no)g(OID)g(is)390 -5048 y(a)m(v)-5 b(ailable)33 b(at)e Ff(index)6 b FB(.)2970 -5230 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-dn-oi) -q(d)51 b Ff(cert)32 b(index)390 5340 y FB(Return)c(OID)h(\(a)g -(string\))g(at)h Ff(index)k FB(from)29 b Ff(cert)r FB(.)40 -b(Return)28 b Fs(#f)g FB(if)h(no)g(OID)f(is)h(a)m(v)-5 -b(ailable)31 b(at)f Ff(index)6 b FB(.)p eop end -%%Page: 287 293 -TeXDict begin 287 292 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(287)2970 299 y([Sc)m(heme)31 +FB('s)h(issuer)e(DN.)i(Return)e Ft(#f)h FB(if)g(no)g(OID)g(is)390 +5048 y(a)m(v)-5 b(ailable)33 b(at)e Ff(index)p FB(.)2970 +5230 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(x509-certificate-dn-oi)q +(d)51 b Ff(cert)32 b(index)390 5340 y FB(Return)d(OID)g(\(a)h(string\)) +f(at)h Ff(index)35 b FB(from)29 b Ff(cert)p FB(.)41 b(Return)29 +b Ft(#f)g FB(if)g(no)g(OID)g(is)g(a)m(v)-5 b(ailable)32 +b(at)e Ff(index)p FB(.)p eop end +%%Page: 269 275 +TeXDict begin 269 274 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(269)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-issue)q(r-d)q(n)51 b Ff(cert)390 408 y FB(Return)30 b(the)g(distinguished)g(name)g(\(DN\)) -i(of)e(X.509)i(certi\014cate)h Ff(cert)r FB(.)2970 609 +i(of)e(X.509)i(certi\014cate)h Ff(cert)p FB(.)2970 609 y([Sc)m(heme)e(Pro)s(cedure])-3600 b Fh(x509-certificate-dn)51 -b Ff(cert)390 719 y FB(Return)27 b(the)h(distinguished)f(name)h(\(DN\)) -i(of)e(X.509)i(certi\014cate)g Ff(cert)r FB(.)40 b(The)28 -b(form)f(of)h(the)g(DN)h(is)390 829 y(as)i(describ)s(ed)e(in)h(RF)m(C)h -(2253)h(\()p Fs(http://tools.ietf.org/htm)o(l/r)o(fc22)o(53)p +b Ff(cert)390 719 y FB(Return)27 b(the)i(distinguished)e(name)h(\(DN\)) +h(of)g(X.509)h(certi\014cate)g Ff(cert)p FB(.)40 b(The)28 +b(form)g(of)g(the)g(DN)h(is)390 829 y(as)i(describ)s(ed)e(in)h(RF)m(C)h +(2253)h(\()p Ft(http://tools.ietf.org/htm)o(l/r)o(fc22)o(53)p FB(\).)2970 1029 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(pkcs8-import-x509-priv)q(ate)q(-key)52 b Ff(data)31 b(format)g Fd([)p Ff(pass)565 1139 y Fd([)p Ff(encrypted)p Fd(]])390 1249 y FB(Return)f(a)h(new)f(X.509)i(priv)-5 b(ate)31 b(k)m(ey)h(ob)5 b(ject)31 b(resulting)g(from)f(the)h(imp)s (ort)f(of)h Ff(data)g FB(\(a)g(uniform)390 1358 y(arra)m(y\))24 -b(according)f(to)h Ff(format)r FB(.)38 b(Optionally)-8 -b(,)26 b(if)d Ff(pass)j FB(is)d(not)g Fs(#f)p FB(,)h(it)f(should)f(b)s -(e)g(a)h(string)g(denoting)390 1468 y(a)31 b(passphrase.)39 +b(according)g(to)f Ff(format)p FB(.)39 b(Optionally)-8 +b(,)26 b(if)c Ff(pass)27 b FB(is)c(not)g Ft(#f)p FB(,)h(it)f(should)f +(b)s(e)g(a)i(string)f(denoting)390 1468 y(a)31 b(passphrase.)39 b Ff(encrypted)34 b FB(tells)d(whether)f(the)h(priv)-5 -b(ate)31 b(k)m(ey)g(is)f(encrypted)g(\()p Fs(#t)g FB(b)m(y)g +b(ate)31 b(k)m(ey)g(is)f(encrypted)g(\()p Ft(#t)g FB(b)m(y)g (default\).)2970 1669 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(import-x509-private-ke)q(y)51 b Ff(data)32 b(format)390 1778 y FB(Return)e(a)h(new)f(X.509)i(priv)-5 b(ate)31 b(k)m(ey)h(ob)5 b(ject)31 b(resulting)g(from)f(the)h(imp)s(ort)f(of)h Ff(data)g FB(\(a)g(uniform)390 1888 y(arra)m(y\))g(according)h(to)f -Ff(format)r FB(.)2970 2089 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ff(format)p FB(.)2970 2089 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(import-x509-certificat)q(e)51 b Ff(data)32 b(format)390 2198 y FB(Return)i(a)h(new)f(X.509)i(certi\014cate)g(ob)5 b(ject)36 b(resulting)e(from)g(the)h(imp)s(ort)f(of)h Ff(data)g FB(\(a)g(uniform)390 2308 y(arra)m(y\))c(according)h(to)f -Ff(format)r FB(.)2970 2509 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ff(format)p FB(.)2970 2509 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(server-session-psk-use)q(rna)q(me)52 b Ff(session)390 2619 y FB(Return)30 b(the)g(username)g(asso)s(ciated)i(with)e(PSK)f (serv)m(er)i(session)f Ff(session)p FB(.)2970 2819 y([Sc)m(heme)h(Pro)s (cedure])-3600 b Fh(set-psk-client-credent)q(ial)q(s!)52 b Ff(cred)30 b(username)g(k)m(ey)h(k)m(ey-format)390 2929 y FB(Set)g(the)f(clien)m(t)i(creden)m(tials)g(for)e -Ff(cred)t FB(,)g(a)h(PSK)e(clien)m(t)j(creden)m(tials)g(ob)5 +Ff(cred)p FB(,)g(a)h(PSK)f(clien)m(t)i(creden)m(tials)f(ob)5 b(ject.)2970 3130 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(make-psk-client-creden)q(tia)q(ls)390 3240 y FB(Return)30 b(a)g(new)g(PSK)g(clien)m(t)i(creden)m(tials)f(ob)5 b(ject.)2970 3440 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(set-psk-server-credent) q(ial)q(s-fi)q(le!)52 b Ff(cred)30 b(\014le)390 3550 y FB(Use)h Ff(\014le)k FB(as)c(the)f(passw)m(ord)g(\014le)h(for)f(PSK)f -(serv)m(er)i(creden)m(tials)h Ff(cred)t FB(.)2970 3751 +(serv)m(er)i(creden)m(tials)h Ff(cred)p FB(.)2970 3751 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(make-psk-server-creden)q(tia)q (ls)390 3861 y FB(Return)30 b(new)f(PSK)h(serv)m(er)g(creden)m(tials.) 2970 4061 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh (peer-certificate-statu)q(s)51 b Ff(session)390 4171 y FB(V)-8 b(erify)28 b(the)f(p)s(eer)g(certi\014cate)i(for)e -Ff(session)g FB(and)g(return)f(a)h(list)h(of)f Fs(certificate-status)c -FB(v)-5 b(alues)390 4281 y(\(suc)m(h)30 b(as)h Fs +Ff(session)g FB(and)g(return)f(a)h(list)h(of)f Ft(certificate-status)c +FB(v)-5 b(alues)390 4281 y(\(suc)m(h)30 b(as)h Ft (certificate-status/revok)o(ed)p FB(\),)25 b(or)30 b(the)h(empt)m(y)g (list)g(if)f(the)g(certi\014cate)j(is)d(v)-5 b(alid.)2970 4482 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(set-certificate-creden) q(tia)q(ls-v)q(eri)q(fy-)q(fla)q(gs!)52 b Ff(cred)565 4591 y Fd([)p Ff(\015ags...)p Fd(])390 4701 y FB(Set)31 b(the)f(certi\014cate)j(v)m(eri\014cation)f(\015ags)e(to)h -Ff(\015ags)t FB(,)g(a)g(series)f(of)h Fs(certificate-verify)25 +Ff(\015ags)p FB(,)g(a)g(series)f(of)h Ft(certificate-verify)25 b FB(v)-5 b(alues.)2970 4902 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-v)q(eri)q(fy-)q(lim)q(its!)52 b Ff(cred)565 5011 y(max-bits)31 b(max-depth)390 5121 y FB(Set)44 b(the)h(v)m(eri\014cation)h(limits)f(of)f -Fs(peer-certificate-status)38 b FB(for)44 b(certi\014cate)j(creden)m +Ft(peer-certificate-status)38 b FB(for)44 b(certi\014cate)j(creden)m (tials)390 5230 y Ff(cred)38 b FB(to)d Ff(max)p 885 5230 28 4 v 40 w(bits)j FB(bits)c(for)g(an)g(acceptable)i(certi\014cate)g (and)e Ff(max)p 2785 5230 V 40 w(depth)f FB(as)i(the)f(maxim)m(um)390 5340 y(depth)c(of)g(a)h(certi\014cate)h(c)m(hain.)p eop end -%%Page: 288 294 -TeXDict begin 288 293 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(288)2970 299 y([Sc)m(heme)31 +%%Page: 270 276 +TeXDict begin 270 275 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(270)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q (-ke)q(ys!)52 b Ff(cred)30 b(certs)565 408 y(privk)m(ey)390 518 y FB(Ha)m(v)m(e)37 b(certi\014cate)g(creden)m(tials)f Ff(cred)i FB(use)d(the)g(X.509)h(certi\014cates)h(listed)e(in)g Ff(certs)k FB(and)34 b(X.509)390 628 y(priv)-5 b(ate)31 -b(k)m(ey)g Ff(privk)m(ey)8 b FB(.)2970 825 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q -(-ke)q(y-d)q(ata!)52 b Ff(cred)30 b(cert)565 934 y(k)m(ey)h(format)390 -1044 y FB(Use)37 b(X.509)i(certi\014cate)g Ff(cert)g -FB(and)e(priv)-5 b(ate)37 b(k)m(ey)h Ff(k)m(ey)8 b FB(,)39 -b(b)s(oth)d(uniform)g(arra)m(ys)h(con)m(taining)i(the)390 -1154 y(X.509)32 b(certi\014cate)h(and)c(k)m(ey)i(in)g(format)f -Ff(format)r FB(,)h(for)f(certi\014cate)j(creden)m(tials)f -Ff(cred)t FB(.)2970 1351 y([Sc)m(heme)f(Pro)s(cedure])-3600 +b(k)m(ey)g Ff(privk)m(ey)p FB(.)2970 825 y([Sc)m(heme)g(Pro)s(cedure]) +-3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q(-ke)q(y-d)q +(ata!)52 b Ff(cred)30 b(cert)565 934 y(k)m(ey)h(format)390 +1044 y FB(Use)38 b(X.509)h(certi\014cate)h Ff(cert)g +FB(and)d(priv)-5 b(ate)38 b(k)m(ey)g Ff(k)m(ey)p FB(,)j(b)s(oth)36 +b(uniform)h(arra)m(ys)h(con)m(taining)h(the)390 1154 +y(X.509)32 b(certi\014cate)h(and)c(k)m(ey)i(in)g(format)f +Ff(format)p FB(,)h(for)f(certi\014cate)j(creden)m(tials)f +Ff(cred)p FB(.)2970 1351 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q(-cr)q(l-d)q(ata!)52 b Ff(cred)30 b(data)565 1461 y(format)390 1570 y FB(Use)37 b Ff(data)g FB(\(a)g(uniform)e(arra)m(y\))i(as)g(the)f(X.509)i(CRL)e (\(certi\014cate)j(rev)m(o)s(cation)f(list\))f(database)390 -1680 y(for)30 b Ff(cred)t FB(.)40 b(On)30 b(success,)h(return)e(the)i -(n)m(um)m(b)s(er)e(of)h(CRLs)g(pro)s(cessed.)2970 1877 -y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q +1680 y(for)30 b Ff(cred)p FB(.)41 b(On)29 b(success,)i(return)e(the)i +(n)m(um)m(b)s(er)e(of)i(CRLs)e(pro)s(cessed.)2970 1877 +y([Sc)m(heme)i(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q (ls-x)q(509)q(-tr)q(ust)q(-dat)q(a!)52 b Ff(cred)565 -1987 y(data)31 b(format)390 2096 y FB(Use)h Ff(data)f -FB(\(a)h(uniform)e(arra)m(y\))i(as)g(the)f(X.509)i(trust)d(database)j -(for)d Ff(cred)t FB(.)43 b(On)30 b(success,)i(return)390 +1987 y(data)31 b(format)390 2096 y FB(Use)h Ff(data)g +FB(\(a)g(uniform)e(arra)m(y\))i(as)g(the)f(X.509)j(trust)c(database)j +(for)e Ff(cred)p FB(.)43 b(On)31 b(success,)h(return)390 2206 y(the)f(n)m(um)m(b)s(er)e(of)h(certi\014cates)i(pro)s(cessed.)2970 2403 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q (tia)q(ls-x)q(509)q(-cr)q(l-f)q(ile!)52 b Ff(cred)30 b(\014le)565 2513 y(format)390 2622 y FB(Use)37 b Ff(\014le)42 b FB(as)36 b(the)h(X.509)h(CRL)e(\(certi\014cate)j(rev)m(o)s(cation)f (list\))g(\014le)f(for)f(certi\014cate)j(creden)m(tials)390 -2732 y Ff(cred)t FB(.)h(On)30 b(success,)h(return)e(the)h(n)m(um)m(b)s -(er)f(of)i(CRLs)f(pro)s(cessed.)2970 2929 y([Sc)m(heme)h(Pro)s(cedure]) +2732 y Ff(cred)p FB(.)i(On)29 b(success,)i(return)e(the)i(n)m(um)m(b)s +(er)e(of)h(CRLs)g(pro)s(cessed.)2970 2929 y([Sc)m(heme)h(Pro)s(cedure]) -3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q(-tr)q(ust)q (-fil)q(e!)52 b Ff(cred)30 b(\014le)565 3039 y(format)390 -3148 y FB(Use)h Ff(\014le)k FB(as)30 b(the)h(X.509)h(trust)d(\014le)i -(for)f(certi\014cate)i(creden)m(tials)g Ff(cred)t FB(.)40 -b(On)29 b(success,)i(return)e(the)390 3258 y(n)m(um)m(b)s(er)g(of)i +3148 y FB(Use)h Ff(\014le)k FB(as)c(the)g(X.509)h(trust)e(\014le)h(for) +f(certi\014cate)i(creden)m(tials)g Ff(cred)p FB(.)41 +b(On)29 b(success,)i(return)f(the)390 3258 y(n)m(um)m(b)s(er)f(of)i (certi\014cates)h(pro)s(cessed.)2970 3455 y([Sc)m(heme)f(Pro)s(cedure]) -3600 b Fh(set-certificate-creden)q(tia)q(ls-x)q(509)q(-ke)q(y-f)q (iles)q(!)51 b Ff(cred)565 3565 y(cert-\014le)32 b(k)m(ey-\014le)f (format)390 3674 y FB(Use)g Ff(\014le)k FB(as)c(the)f(passw)m(ord)g -(\014le)h(for)f(PSK)f(serv)m(er)i(creden)m(tials)h Ff(cred)t +(\014le)h(for)f(PSK)f(serv)m(er)i(creden)m(tials)h Ff(cred)p FB(.)2970 3871 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh (set-certificate-creden)q(tia)q(ls-r)q(sa-)q(exp)q(ort)q(-par)q(ame)q (ter)q(s!)565 3981 y Ff(cred)30 b(rsa-params)390 4091 y FB(Use)h(RSA)f(parameters)g Ff(rsa)p 1374 4091 28 4 v 40 w(params)k FB(for)c(certi\014cate)j(creden)m(tials)e -Ff(cred)t FB(.)2970 4288 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ff(cred)p FB(.)2970 4288 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-d)q(h-p)q(ara)q(met)q(ers!)52 b Ff(cred)565 4398 y(dh-params)390 4507 y FB(Use)31 b(Di\016e-Hellman)h (parameters)f Ff(dh)p 1746 4507 V 39 w(params)i FB(for)e(certi\014cate) -h(creden)m(tials)g Ff(cred)t FB(.)2970 4704 y([Sc)m(heme)f(Pro)s +h(creden)m(tials)g Ff(cred)p FB(.)2970 4704 y([Sc)m(heme)f(Pro)s (cedure])-3600 b Fh(make-certificate-crede)q(nti)q(als)390 4814 y FB(Return)35 b(new)g(certi\014cate)j(creden)m(tials)f(\(i.e.,)i (for)c(use)g(with)h(either)g(X.509)h(or)f(Op)s(enPGP)e(cer-)390 @@ -34320,25 +29045,25 @@ b(format)390 5230 y FB(Exp)s(ort)25 b(Di\016e-Hellman)j(parameters)e Ff(rsa)p 1882 5230 V 40 w(params)j FB(in)d(PK)m(CS1)g(format)g (according)h(for)f Ff(format)390 5340 y FB(\(an)31 b -Fs(x509-certificate-format)24 b FB(v)-5 b(alue\).)41 -b(Return)30 b(a)h Fs(u8vector)d FB(con)m(taining)k(the)e(result.)p +Ft(x509-certificate-format)24 b FB(v)-5 b(alue\).)41 +b(Return)30 b(a)h Ft(u8vector)d FB(con)m(taining)k(the)e(result.)p eop end -%%Page: 289 295 -TeXDict begin 289 294 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(289)2970 299 y([Sc)m(heme)31 +%%Page: 271 277 +TeXDict begin 271 276 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(271)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(pkcs1-import-rsa-param)q(ete)q(rs)52 -b Ff(arra)m(y)31 b(format)390 408 y FB(Imp)s(ort)e(Di\016e-Hellman)k -(parameters)e(in)f(PK)m(CS1)g(format)h(\(further)f(sp)s(eci\014ed)f(b)m -(y)i Ff(format)r FB(,)g(an)390 518 y Fs(x509-certificate-format)g +b Ff(arra)m(y)31 b(format)390 408 y FB(Imp)s(ort)f(Di\016e-Hellman)i +(parameters)f(in)g(PK)m(CS1)f(format)h(\(further)f(sp)s(eci\014ed)g(b)m +(y)h Ff(format)p FB(,)g(an)390 518 y Ft(x509-certificate-format)g FB(v)-5 b(alue\))38 b(from)e Ff(arra)m(y)46 b FB(\(a)37 b(homogeneous)h(arra)m(y\))g(and)f(return)f(a)390 628 -y(new)30 b Fs(rsa-params)d FB(ob)5 b(ject.)2970 808 y([Sc)m(heme)31 +y(new)30 b Ft(rsa-params)d FB(ob)5 b(ject.)2970 808 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(make-rsa-parameters)51 b Ff(bits)390 917 y FB(Return)30 b(new)f(RSA)h(parameters.)2970 1097 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(set-anonymous-server-d)q(h-p)q (aram)q(ete)q(rs!)52 b Ff(cred)30 b(dh-params)390 1207 y FB(Set)h(the)f(Di\016e-Hellman)i(parameters)f(of)g(anon)m(ymous)f -(serv)m(er)h(creden)m(tials)g Ff(cred)t FB(.)2970 1387 +(serv)m(er)h(creden)m(tials)g Ff(cred)p FB(.)2970 1387 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(make-anonymous-client-)q(cre)q (dent)q(ial)q(s)390 1497 y FB(Return)30 b(anon)m(ymous)g(clien)m(t)i (creden)m(tials.)2970 1677 y([Sc)m(heme)f(Pro)s(cedure])-3600 @@ -34351,16 +29076,16 @@ (ter)q(s)51 b Ff(dh-params)30 b(format)390 2365 y FB(Exp)s(ort)d (Di\016e-Hellman)j(parameters)e Ff(dh)p 1873 2365 28 4 v 39 w(params)j FB(in)c(PK)m(CS3)g(format)h(according)h(for)f -Ff(format)390 2475 y FB(\(an)j Fs(x509-certificate-format)24 -b FB(v)-5 b(alue\).)41 b(Return)30 b(a)h Fs(u8vector)d +Ff(format)390 2475 y FB(\(an)j Ft(x509-certificate-format)24 +b FB(v)-5 b(alue\).)41 b(Return)30 b(a)h Ft(u8vector)d FB(con)m(taining)k(the)e(result.)2970 2655 y([Sc)m(heme)h(Pro)s (cedure])-3600 b Fh(pkcs3-import-dh-parame)q(ter)q(s)51 -b Ff(arra)m(y)31 b(format)390 2765 y FB(Imp)s(ort)e(Di\016e-Hellman)k -(parameters)e(in)f(PK)m(CS3)g(format)h(\(further)f(sp)s(eci\014ed)f(b)m -(y)i Ff(format)r FB(,)g(an)390 2874 y Fs(x509-certificate-format)g +b Ff(arra)m(y)31 b(format)390 2765 y FB(Imp)s(ort)f(Di\016e-Hellman)i +(parameters)f(in)g(PK)m(CS3)f(format)h(\(further)f(sp)s(eci\014ed)g(b)m +(y)h Ff(format)p FB(,)g(an)390 2874 y Ft(x509-certificate-format)g FB(v)-5 b(alue\))38 b(from)e Ff(arra)m(y)46 b FB(\(a)37 b(homogeneous)h(arra)m(y\))g(and)f(return)f(a)390 2984 -y(new)30 b Fs(dh-params)e FB(ob)5 b(ject.)2970 3164 y([Sc)m(heme)31 +y(new)30 b Ft(dh-params)e FB(ob)5 b(ject.)2970 3164 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(make-dh-parameters)51 b Ff(bits)390 3273 y FB(Return)30 b(new)f(Di\016e-Hellman)k(parameters.)2970 3453 y([Sc)m(heme)e(Pro)s(cedure])-3600 b Fh(set-session-transport-)q @@ -34374,14 +29099,14 @@ (session-record-port)51 b Ff(session)390 4142 y FB(Return)35 b(a)h(read-write)g(p)s(ort)f(that)h(ma)m(y)g(b)s(e)f(used)g(to)h(comm)m (unicate)h(o)m(v)m(er)g Ff(session)p FB(.)56 b(All)37 -b(in)m(v)m(o-)390 4252 y(cations)f(of)f Fs(session-port)d +b(in)m(v)m(o-)390 4252 y(cations)f(of)f Ft(session-port)d FB(on)j(a)g(giv)m(en)h(session)f(return)f(the)h(same)g(ob)5 -b(ject)36 b(\(in)f(the)g(sense)g(of)390 4362 y Fs(eq?)p +b(ject)36 b(\(in)f(the)g(sense)g(of)390 4362 y Ft(eq?)p FB(\).)2970 4542 y([Sc)m(heme)c(Pro)s(cedure])-3600 b Fh(record-receive!)50 b Ff(session)31 b(arra)m(y)390 -4651 y FB(Receiv)m(e)46 b(data)f(from)e Ff(session)h -FB(in)m(to)h Ff(arra)m(y)8 b FB(,)48 b(a)c(uniform)f(homogeneous)h -(arra)m(y)-8 b(.)83 b(Return)43 b(the)390 4761 y(n)m(um)m(b)s(er)29 +4651 y FB(Receiv)m(e)47 b(data)e(from)f Ff(session)g +FB(in)m(to)i Ff(arra)m(y)p FB(,)j(a)c(uniform)e(homogeneous)i(arra)m(y) +-8 b(.)84 b(Return)44 b(the)390 4761 y(n)m(um)m(b)s(er)29 b(of)i(b)m(ytes)f(actually)i(receiv)m(ed.)2970 4941 y([Sc)m(heme)f(Pro) s(cedure])-3600 b Fh(record-send)49 b Ff(session)30 b(arra)m(y)390 5050 y FB(Send)f(the)i(record)f(constituted)h(b)m(y)g @@ -34389,9 +29114,9 @@ 5230 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(set-session-credential)q (s!)52 b Ff(session)30 b(cred)390 5340 y FB(Use)h Ff(cred)j FB(as)c Ff(session)p FB('s)h(creden)m(tials.)p eop end -%%Page: 290 296 -TeXDict begin 290 295 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(290)2970 299 y([Sc)m(heme)31 +%%Page: 272 278 +TeXDict begin 272 277 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(272)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(cipher-suite->string)52 b Ff(kx)30 b(cipher)g(mac)390 408 y FB(Return)g(the)g(name)h(of)f(the)h (giv)m(en)g(cipher)f(suite.)2970 596 y([Sc)m(heme)h(Pro)s(cedure])-3600 @@ -34429,8 +29154,8 @@ b Ff(session)31 b(request)390 3086 y FB(T)-8 b(ell)66 b(ho)m(w)f Ff(session)p FB(,)75 b(a)65 b(serv)m(er-side)h(session,)75 b(should)64 b(deal)i(with)e(certi\014cate)k(requests.)390 -3195 y Ff(request)94 b FB(should)d(b)s(e)g(either)h Fs -(certificate-request/reque)o(st)85 b FB(or)92 b Fs(certificate-)390 +3195 y Ff(request)94 b FB(should)d(b)s(e)g(either)h Ft +(certificate-request/reque)o(st)85 b FB(or)92 b Ft(certificate-)390 3305 y(request/require)p FB(.)2970 3493 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(session-our-certificat)q(e-c)q(hain)52 b Ff(session)390 3602 y FB(Return)21 b(our)f(certi\014cate)k(c)m(hain)e @@ -34451,20 +29176,20 @@ i(w)m(as)f(sen)m(t.)2970 4635 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(session-client-authent)q(ica)q(tion)q(-ty)q(pe)52 b Ff(session)390 4745 y FB(Return)30 b(the)g(clien)m(t)i(authen)m -(tication)h(t)m(yp)s(e)d(\(a)h Fs(credential-type)c FB(v)-5 +(tication)h(t)m(yp)s(e)d(\(a)h Ft(credential-type)c FB(v)-5 b(alue\))31 b(used)e(in)h Ff(session)p FB(.)2970 4933 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(session-server-authent)q(ica)q (tion)q(-ty)q(pe)52 b Ff(session)390 5043 y FB(Return)30 b(the)g(serv)m(er)h(authen)m(tication)h(t)m(yp)s(e)f(\(a)g -Fs(credential-type)26 b FB(v)-5 b(alue\))31 b(used)f(in)g +Ft(credential-type)26 b FB(v)-5 b(alue\))31 b(used)f(in)g Ff(session)p FB(.)2970 5230 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(session-authentication)q(-ty)q(pe)52 b Ff(session)390 5340 y FB(Return)30 b(the)g(authen)m(tication)j(t)m(yp)s(e)d(\(a)h -Fs(credential-type)c FB(v)-5 b(alue\))31 b(used)e(b)m(y)i +Ft(credential-type)c FB(v)-5 b(alue\))31 b(used)e(b)m(y)i Ff(session)p FB(.)p eop end -%%Page: 291 297 -TeXDict begin 291 296 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(291)2970 299 y([Sc)m(heme)31 +%%Page: 273 279 +TeXDict begin 273 278 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(273)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(session-protocol)50 b Ff(session)390 408 y FB(Return)30 b(the)g(proto)s(col)h(used)f(b)m(y)g Ff(session)p FB(.)2970 593 y([Sc)m(heme)h(Pro)s(cedure])-3600 @@ -34491,250 +29216,249 @@ b(a)h(handshak)m(e)f(for)g Ff(session)p FB(.)2970 3244 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(bye)46 b Ff(session)31 b(ho)m(w)390 3354 y FB(Close)g Ff(session)f FB(according)i(to)f -Ff(ho)m(w)8 b FB(.)2970 3539 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(make-session)49 b Ff(end)390 3648 y FB(Return)44 -b(a)i(new)e(session)i(for)e(connection)j(end)d Ff(end)t -FB(,)k(either)e Fs(connection-end/server)39 b FB(or)390 -3758 y Fs(connection-end/client)p FB(.)2970 3943 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(gnutls-version)390 4052 y -FB(Return)28 b(a)i(string)f(denoting)g(the)h(v)m(ersion)f(n)m(um)m(b)s -(er)f(of)i(the)f(underlying)f(Gn)m(uTLS)g(library)-8 -b(,)29 b(e.g.,)390 4162 y Fs("1.7.2")p FB(.)2970 4347 -y([Sc)m(heme)i(Pro)s(cedure])-3600 b Fh(x509-private-key?)51 -b Ff(ob)5 b(j)390 4456 y FB(Return)30 b(true)g(if)g Ff(ob)5 -b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Fs(x509-private-key)p -FB(.)2970 4641 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh -(x509-certificate?)51 b Ff(ob)5 b(j)390 4751 y FB(Return)30 +Ff(ho)m(w)p FB(.)2970 3539 y([Sc)m(heme)g(Pro)s(cedure])-3600 +b Fh(make-session)49 b Ff(end)390 3648 y FB(Return)c(a)g(new)g(session) +h(for)f(connection)i(end)e Ff(end)p FB(,)j(either)e Ft +(connection-end/server)40 b FB(or)390 3758 y Ft(connection-end/client)p +FB(.)2970 3943 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 +b Fh(gnutls-version)390 4052 y FB(Return)28 b(a)i(string)f(denoting)g +(the)h(v)m(ersion)f(n)m(um)m(b)s(er)f(of)i(the)f(underlying)f(Gn)m +(uTLS)g(library)-8 b(,)29 b(e.g.,)390 4162 y Ft("1.7.2")p +FB(.)2970 4347 y([Sc)m(heme)i(Pro)s(cedure])-3600 b Fh +(x509-private-key?)51 b Ff(ob)5 b(j)390 4456 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h -Fs(x509-certificate)p FB(.)2970 4936 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ft(x509-private-key)p FB(.)2970 4641 y([Sc)m(heme)g(Pro)s(cedure])-3600 +b Fh(x509-certificate?)51 b Ff(ob)5 b(j)390 4751 y FB(Return)30 +b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h +Ft(x509-certificate)p FB(.)2970 4936 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(psk-client-credentials)q(?)51 b Ff(ob)5 b(j)390 5045 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp) -s(e)h Fs(psk-client-credentials)p FB(.)2970 5230 y([Sc)m(heme)g(Pro)s +s(e)h Ft(psk-client-credentials)p FB(.)2970 5230 y([Sc)m(heme)g(Pro)s (cedure])-3600 b Fh(psk-server-credentials)q(?)51 b Ff(ob)5 b(j)390 5340 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 -b FB(is)e(of)f(t)m(yp)s(e)h Fs(psk-server-credentials)p +b FB(is)e(of)f(t)m(yp)s(e)h Ft(psk-server-credentials)p FB(.)p eop end -%%Page: 292 298 -TeXDict begin 292 297 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(292)2970 299 y([Sc)m(heme)31 +%%Page: 274 280 +TeXDict begin 274 279 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(274)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(srp-client-credentials)q(?)51 b Ff(ob)5 b(j)390 408 y FB(Return)30 b(true)g(if)g Ff(ob)5 -b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Fs(srp-client-credentials)p +b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Ft(srp-client-credentials)p FB(.)2970 589 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh (srp-server-credentials)q(?)51 b Ff(ob)5 b(j)390 699 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h -Fs(srp-server-credentials)p FB(.)2970 879 y([Sc)m(heme)g(Pro)s(cedure]) +Ft(srp-server-credentials)p FB(.)2970 879 y([Sc)m(heme)g(Pro)s(cedure]) -3600 b Fh(certificate-credential)q(s?)52 b Ff(ob)5 b(j)390 989 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s -(e)h Fs(certificate-credentials)p FB(.)2970 1169 y([Sc)m(heme)g(Pro)s +(e)h Ft(certificate-credentials)p FB(.)2970 1169 y([Sc)m(heme)g(Pro)s (cedure])-3600 b Fh(rsa-parameters?)50 b Ff(ob)5 b(j)390 1279 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp) -s(e)h Fs(rsa-parameters)p FB(.)2970 1459 y([Sc)m(heme)g(Pro)s(cedure]) +s(e)h Ft(rsa-parameters)p FB(.)2970 1459 y([Sc)m(heme)g(Pro)s(cedure]) -3600 b Fh(dh-parameters?)50 b Ff(ob)5 b(j)390 1569 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h -Fs(dh-parameters)p FB(.)2970 1749 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ft(dh-parameters)p FB(.)2970 1749 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(anonymous-server-crede)q(nti)q(als?)52 b Ff(ob)5 b(j)390 1859 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 -b FB(is)e(of)f(t)m(yp)s(e)h Fs(anonymous-server-credent)o(ial)o(s)p +b FB(is)e(of)f(t)m(yp)s(e)h Ft(anonymous-server-credent)o(ial)o(s)p FB(.)2970 2039 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh (anonymous-client-crede)q(nti)q(als?)52 b Ff(ob)5 b(j)390 2149 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp) -s(e)h Fs(anonymous-client-credent)o(ial)o(s)p FB(.)2970 +s(e)h Ft(anonymous-client-credent)o(ial)o(s)p FB(.)2970 2329 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(session?)48 b Ff(ob)5 b(j)390 2439 y FB(Return)30 b(true)g(if)g Ff(ob)5 -b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Fs(session)p FB(.)2970 +b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Ft(session)p FB(.)2970 2620 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(error->string)49 b Ff(en)m(um)m(v)-5 b(al)390 2729 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(error)f FB(v)-5 b(alue.)2970 2910 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(error)e FB(v)-5 b(alue.)2970 2910 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(certificate-verify->st)q(rin)q(g)51 b Ff(en)m(um)m(v)-5 b(al)390 3019 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(certificate-verify)c FB(v)-5 b(alue.)2970 3200 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(key-usage->string)51 b Ff(en)m(um)m(v)-5 -b(al)390 3309 y FB(Return)30 b(a)g(string)h(describing)f -Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f Fs(key-usage)e -FB(v)-5 b(alue.)2970 3490 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(psk-key-format->string)52 b Ff(en)m(um)m(v)-5 b(al)390 -3599 y FB(Return)30 b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 -b(al)t FB(,)31 b(a)f Fs(psk-key-format)d FB(v)-5 b(alue.)2970 -3780 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(sign-algorithm->string) -52 b Ff(en)m(um)m(v)-5 b(al)390 3890 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(sign-algorithm)d FB(v)-5 b(alue.)2970 4070 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(certificate-verify)25 b FB(v)-5 b(alue.)2970 3200 +y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(key-usage->string)51 +b Ff(en)m(um)m(v)-5 b(al)390 3309 y FB(Return)30 b(a)g(string)h +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(key-usage)d FB(v)-5 b(alue.)2970 3490 y([Sc)m(heme)31 +b(Pro)s(cedure])-3600 b Fh(psk-key-format->string)52 +b Ff(en)m(um)m(v)-5 b(al)390 3599 y FB(Return)30 b(a)g(string)h +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(psk-key-format)26 b FB(v)-5 b(alue.)2970 3780 y([Sc)m(heme)31 +b(Pro)s(cedure])-3600 b Fh(sign-algorithm->string)52 +b Ff(en)m(um)m(v)-5 b(al)390 3890 y FB(Return)30 b(a)g(string)h +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(sign-algorithm)26 b FB(v)-5 b(alue.)2970 4070 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(pk-algorithm->string)52 b Ff(en)m(um)m(v)-5 b(al)390 4180 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(pk-algorithm)d FB(v)-5 b(alue.)2970 4360 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(pk-algorithm)c FB(v)-5 b(alue.)2970 4360 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-subject-alternati)q(ve-)q(name)q(->s)q (tri)q(ng)52 b Ff(en)m(um)m(v)-5 b(al)390 4470 y FB(Return)30 -b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)t -FB(,)31 b(a)f Fs(x509-subject-alternative-n)o(ame)24 +b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)p +FB(,)31 b(a)g Ft(x509-subject-alternative)o(-na)o(me)24 b FB(v)-5 b(alue.)2970 4650 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(x509-certificate-forma)q(t->)q(stri)q(ng)52 b Ff(en)m(um)m(v)-5 b(al)390 4760 y FB(Return)30 b(a)g(string)h(describing)f -Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f Fs(x509-certificate-format)24 +Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g Ft(x509-certificate-format)24 b FB(v)-5 b(alue.)2970 4940 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(certificate-type->stri)q(ng)52 b Ff(en)m(um)m(v)-5 b(al)390 5050 y FB(Return)30 b(a)g(string)h(describing)f -Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f Fs(certificate-type)c -FB(v)-5 b(alue.)2970 5230 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 +Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g Ft(certificate-type)26 +b FB(v)-5 b(alue.)2970 5230 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(protocol->string)50 b Ff(en)m(um)m(v)-5 b(al)390 5340 y FB(Return)30 b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 -b(al)t FB(,)31 b(a)f Fs(protocol)f FB(v)-5 b(alue.)p +b(al)p FB(,)31 b(a)g Ft(protocol)d FB(v)-5 b(alue.)p eop end -%%Page: 293 299 -TeXDict begin 293 298 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(293)2970 299 y([Sc)m(heme)31 +%%Page: 275 281 +TeXDict begin 275 280 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(275)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(close-request->string)52 b Ff(en)m(um)m(v)-5 b(al)390 408 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(close-request)d FB(v)-5 b(alue.)2970 590 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(close-request)c FB(v)-5 b(alue.)2970 590 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(certificate-request->s)q(tri)q(ng)52 b Ff(en)m(um)m(v)-5 b(al)390 700 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(certificate-request)25 b FB(v)-5 b(alue.)2970 881 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(certificate-request)25 b FB(v)-5 b(alue.)2970 881 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(certificate-status->st)q (rin)q(g)51 b Ff(en)m(um)m(v)-5 b(al)390 991 y FB(Return)30 -b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)t -FB(,)31 b(a)f Fs(certificate-status)c FB(v)-5 b(alue.)2970 +b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)p +FB(,)31 b(a)g Ft(certificate-status)25 b FB(v)-5 b(alue.)2970 1172 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(handshake-description-) q(>st)q(ring)52 b Ff(en)m(um)m(v)-5 b(al)390 1282 y FB(Return)30 -b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)t -FB(,)31 b(a)f Fs(handshake-description)25 b FB(v)-5 b(alue.)2970 +b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)p +FB(,)31 b(a)g Ft(handshake-description)24 b FB(v)-5 b(alue.)2970 1464 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(alert-description->str) q(ing)52 b Ff(en)m(um)m(v)-5 b(al)390 1573 y FB(Return)30 -b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)t -FB(,)31 b(a)f Fs(alert-description)c FB(v)-5 b(alue.)2970 +b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 b(al)p +FB(,)31 b(a)g Ft(alert-description)25 b FB(v)-5 b(alue.)2970 1755 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(alert-level->string)51 b Ff(en)m(um)m(v)-5 b(al)390 1864 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(alert-level)e FB(v)-5 b(alue.)2970 2046 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(alert-level)c FB(v)-5 b(alue.)2970 2046 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(connection-end->string)52 b Ff(en)m(um)m(v)-5 b(al)390 2156 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(connection-end)d FB(v)-5 b(alue.)2970 2337 y([Sc)m(heme)31 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(connection-end)26 b FB(v)-5 b(alue.)2970 2337 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(compression-method->st)q(rin)q(g)51 b Ff(en)m(um)m(v)-5 b(al)390 2447 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(compression-method)c FB(v)-5 b(alue.)2970 2628 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(digest->string)50 b Ff(en)m(um)m(v)-5 -b(al)390 2738 y FB(Return)30 b(a)g(string)h(describing)f -Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f Fs(digest)f FB(v)-5 -b(alue.)2970 2920 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(mac->string)49 b Ff(en)m(um)m(v)-5 b(al)390 3029 -y FB(Return)30 b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 -b(al)t FB(,)31 b(a)f Fs(mac)g FB(v)-5 b(alue.)2970 3211 -y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(credentials->string)51 -b Ff(en)m(um)m(v)-5 b(al)390 3320 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(credentials)e FB(v)-5 b(alue.)2970 3502 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(params->string)50 b Ff(en)m(um)m(v)-5 -b(al)390 3612 y FB(Return)30 b(a)g(string)h(describing)f -Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f Fs(params)f FB(v)-5 -b(alue.)2970 3793 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(kx->string)48 b Ff(en)m(um)m(v)-5 b(al)390 3903 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(compression-method)25 b FB(v)-5 b(alue.)2970 2628 +y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(digest->string)50 +b Ff(en)m(um)m(v)-5 b(al)390 2738 y FB(Return)30 b(a)g(string)h +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(digest)d FB(v)-5 b(alue.)2970 2920 y([Sc)m(heme)31 +b(Pro)s(cedure])-3600 b Fh(mac->string)49 b Ff(en)m(um)m(v)-5 +b(al)390 3029 y FB(Return)30 b(a)g(string)h(describing)f +Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g Ft(mac)e FB(v)-5 +b(alue.)2970 3211 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 +b Fh(credentials->string)51 b Ff(en)m(um)m(v)-5 b(al)390 +3320 y FB(Return)30 b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 +b(al)p FB(,)31 b(a)g Ft(credentials)c FB(v)-5 b(alue.)2970 +3502 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(params->string)50 +b Ff(en)m(um)m(v)-5 b(al)390 3612 y FB(Return)30 b(a)g(string)h +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(params)d FB(v)-5 b(alue.)2970 3793 y([Sc)m(heme)31 +b(Pro)s(cedure])-3600 b Fh(kx->string)48 b Ff(en)m(um)m(v)-5 +b(al)390 3903 y FB(Return)30 b(a)g(string)h(describing)f +Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g Ft(kx)f FB(v)-5 +b(alue.)2970 4084 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 +b Fh(cipher->string)50 b Ff(en)m(um)m(v)-5 b(al)390 4194 y FB(Return)30 b(a)g(string)h(describing)f Ff(en)m(um)m(v)-5 -b(al)t FB(,)31 b(a)f Fs(kx)g FB(v)-5 b(alue.)2970 4084 -y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(cipher->string)50 -b Ff(en)m(um)m(v)-5 b(al)390 4194 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(cipher)f FB(v)-5 b(alue.)150 4391 y Fu(11.4.2)63 b(Extra)40 -b(In)m(terface)150 4538 y FB(This)c(section)i(lists)f(the)h(Sc)m(heme)f -(pro)s(cedures)e(exp)s(orted)i(b)m(y)g(the)g Fs(\(gnutls)28 -b(extra\))35 b FB(mo)s(dule.)60 b(This)150 4648 y(mo)s(dule)30 -b(is)g(licenced)i(under)c(the)j(GNU)g(General)g(Public)f(Licence,)i(v)m -(ersion)f(3)g(or)f(later.)2970 4830 y([Sc)m(heme)h(Pro)s(cedure])-3600 +b(al)p FB(,)31 b(a)g Ft(cipher)d FB(v)-5 b(alue.)150 +4391 y Fv(11.4.2)63 b(Extra)40 b(In)m(terface)150 4538 +y FB(This)c(section)i(lists)f(the)h(Sc)m(heme)f(pro)s(cedures)e(exp)s +(orted)i(b)m(y)g(the)g Ft(\(gnutls)28 b(extra\))35 b +FB(mo)s(dule.)60 b(This)150 4648 y(mo)s(dule)30 b(is)g(licenced)i +(under)c(the)j(GNU)g(General)g(Public)f(Licence,)i(v)m(ersion)f(3)g(or) +f(later.)2970 4830 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(set-certificate-creden)q(tia)q(ls-o)q(pen)q(pgp)q(-ke)q(ys!)52 b Ff(cred)30 b(pub)565 4939 y(sec)390 5049 y FB(Use)h(certi\014cate)h Ff(pub)f FB(and)f(secret)h(k)m(ey)g Ff(sec)37 b FB(in)30 -b(certi\014cate)i(creden)m(tials)g Ff(cred)t FB(.)2970 +b(certi\014cate)i(creden)m(tials)g Ff(cred)p FB(.)2970 5230 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(openpgp-keyring-contai)q (ns-)q(key-)q(id?)52 b Ff(k)m(eyring)31 b(id)390 5340 -y FB(Return)f Fs(#f)f FB(if)i(k)m(ey)g(ID)f Ff(id)k FB(is)c(in)h -Ff(k)m(eyring)8 b FB(,)31 b Fs(#f)e FB(otherwise.)p eop -end -%%Page: 294 300 -TeXDict begin 294 299 bop 150 -116 a FB(Chapter)30 b(11:)41 -b(Guile)31 b(Bindings)2363 b(294)2970 299 y([Sc)m(heme)31 +y FB(Return)f Ft(#f)f FB(if)i(k)m(ey)g(ID)f Ff(id)k FB(is)c(in)h +Ff(k)m(eyring)p FB(,)g Ft(#f)e FB(otherwise.)p eop end +%%Page: 276 282 +TeXDict begin 276 281 bop 150 -116 a FB(Chapter)30 b(11:)41 +b(Guile)31 b(Bindings)2363 b(276)2970 299 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(import-openpgp-keyring)52 b Ff(data)31 b(format)390 408 y FB(Imp)s(ort)e Ff(data)i FB(\(a)h(u8v)m(ector\))g(according)f(to)g Ff(format)i FB(and)d(return)f(the)i(imp)s(orted)e(k)m(eyring.)2970 593 y([Sc)m(heme)i(Pro)s(cedure])-3600 b Fh(openpgp-certificate-us)q (age)52 b Ff(k)m(ey)390 702 y FB(Return)30 b(a)g(list)h(of)g(v)-5 -b(alues)31 b(denoting)f(the)h(k)m(ey)g(usage)g(of)g Ff(k)m(ey)8 -b FB(.)2970 887 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(openpgp-certificate-ve)q(rsi)q(on)52 b Ff(k)m(ey)390 +b(alues)31 b(denoting)f(the)h(k)m(ey)g(usage)g(of)g Ff(k)m(ey)p +FB(.)2970 887 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh +(openpgp-certificate-ve)q(rsi)q(on)52 b Ff(k)m(ey)390 996 y FB(Return)30 b(the)g(v)m(ersion)h(of)g(the)f(Op)s(enPGP)f (message)j(format)e(\(RF)m(C2440\))k(honored)29 b(b)m(y)i -Ff(k)m(ey)8 b FB(.)2970 1181 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 +Ff(k)m(ey)p FB(.)2970 1181 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(openpgp-certificate-al)q(gor)q(ithm)52 b Ff(k)m(ey)390 1290 y FB(Return)24 b(t)m(w)m(o)j(v)-5 b(alues:)38 b(the)25 b(certi\014cate)j(algorithm)e(used)e(b)m(y)h Ff(k)m(ey)34 b FB(and)24 b(the)h(n)m(um)m(b)s(er)f(of)h(bits)g(used.)2970 1474 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(openpgp-certificate-na) q(mes)52 b Ff(k)m(ey)390 1584 y FB(Return)30 b(the)g(list)h(of)g(names) -f(for)g Ff(k)m(ey)8 b FB(.)2970 1768 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(openpgp-certificate-na)q(me)52 -b Ff(k)m(ey)31 b(index)390 1878 y FB(Return)f(the)g Ff(index)6 -b FB(th)30 b(name)h(of)f Ff(k)m(ey)8 b FB(.)2970 2062 -y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(openpgp-certificate-fi)q -(nge)q(rpri)q(nt)52 b Ff(k)m(ey)390 2172 y FB(Return)30 -b(a)g(new)g(u8v)m(ector)i(denoting)f(the)f(\014ngerprin)m(t)g(of)g -Ff(k)m(ey)8 b FB(.)2970 2356 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 -b Fh(openpgp-certificate-fi)q(nge)q(rpri)q(nt!)52 b Ff(k)m(ey)31 -b(fpr)390 2466 y FB(Store)j(in)f Ff(fpr)39 b FB(\(a)c(u8v)m(ector\))h -(the)d(\014ngerprin)m(t)g(of)h Ff(k)m(ey)8 b FB(.)51 -b(Return)33 b(the)h(n)m(um)m(b)s(er)f(of)h(b)m(ytes)g(stored)390 -2575 y(in)c Ff(fpr)7 b FB(.)2970 2760 y([Sc)m(heme)31 -b(Pro)s(cedure])-3600 b Fh(openpgp-certificate-id)q(!)51 -b Ff(k)m(ey)32 b(id)390 2869 y FB(Store)f(the)f(ID)h(\(an)f(8)h(b)m -(yte)g(sequence\))g(of)g(certi\014cate)h Ff(k)m(ey)39 +f(for)g Ff(k)m(ey)p FB(.)2970 1768 y([Sc)m(heme)h(Pro)s(cedure])-3600 +b Fh(openpgp-certificate-na)q(me)52 b Ff(k)m(ey)31 b(index)390 +1878 y FB(Return)f(the)g Ff(index)6 b FB(th)30 b(name)h(of)f +Ff(k)m(ey)p FB(.)2970 2062 y([Sc)m(heme)h(Pro)s(cedure])-3600 +b Fh(openpgp-certificate-fi)q(nge)q(rpri)q(nt)52 b Ff(k)m(ey)390 +2172 y FB(Return)30 b(a)g(new)g(u8v)m(ector)i(denoting)f(the)f +(\014ngerprin)m(t)g(of)g Ff(k)m(ey)p FB(.)2970 2356 y([Sc)m(heme)h(Pro) +s(cedure])-3600 b Fh(openpgp-certificate-fi)q(nge)q(rpri)q(nt!)52 +b Ff(k)m(ey)31 b(fpr)390 2466 y FB(Store)j(in)g Ff(fpr)40 +b FB(\(a)35 b(u8v)m(ector\))h(the)e(\014ngerprin)m(t)g(of)g +Ff(k)m(ey)p FB(.)53 b(Return)33 b(the)i(n)m(um)m(b)s(er)e(of)h(b)m +(ytes)h(stored)390 2575 y(in)30 b Ff(fpr)p FB(.)2970 +2760 y([Sc)m(heme)h(Pro)s(cedure])-3600 b Fh(openpgp-certificate-id)q +(!)51 b Ff(k)m(ey)32 b(id)390 2869 y FB(Store)f(the)f(ID)h(\(an)f(8)h +(b)m(yte)g(sequence\))g(of)g(certi\014cate)h Ff(k)m(ey)39 b FB(in)30 b Ff(id)k FB(\(a)d(u8v)m(ector\).)2970 3054 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(openpgp-certificate-id)52 b Ff(k)m(ey)390 3163 y FB(Return)30 b(the)g(ID)h(\(an)f(8-elemen)m(t)j -(u8v)m(ector\))f(of)f(certi\014cate)h Ff(k)m(ey)8 b FB(.)2970 -3347 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(import-openpgp-private) -q(-ke)q(y)51 b Ff(data)31 b(format)g Fd([)p Ff(pass)p +(u8v)m(ector\))f(of)f(certi\014cate)h Ff(k)m(ey)p FB(.)2970 +3347 y([Sc)m(heme)f(Pro)s(cedure])-3600 b Fh(import-openpgp-private)q +(-ke)q(y)51 b Ff(data)31 b(format)g Fd([)p Ff(pass)p Fd(])390 3457 y FB(Return)42 b(a)i(new)e(Op)s(enPGP)g(priv)-5 b(ate)43 b(k)m(ey)h(ob)5 b(ject)44 b(resulting)f(from)g(the)g(imp)s (ort)f(of)h Ff(data)h FB(\(a)390 3567 y(uniform)29 b(arra)m(y\))i -(according)h(to)f Ff(format)r FB(.)41 b(Optionally)-8 +(according)h(to)f Ff(format)p FB(.)41 b(Optionally)-8 b(,)32 b(a)e(passphrase)g(ma)m(y)h(b)s(e)e(pro)m(vided.)2970 3751 y([Sc)m(heme)i(Pro)s(cedure])-3600 b Fh(import-openpgp-certifi)q (cat)q(e)51 b Ff(data)31 b(format)390 3861 y FB(Return)20 b(a)h(new)f(Op)s(enPGP)f(certi\014cate)k(ob)5 b(ject)22 b(resulting)e(from)h(the)g(imp)s(ort)f(of)g Ff(data)i FB(\(a)f(uniform)390 3970 y(arra)m(y\))31 b(according)h(to)f -Ff(format)r FB(.)2970 4154 y([Sc)m(heme)g(Pro)s(cedure])-3600 +Ff(format)p FB(.)2970 4154 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh(openpgp-certificate-fo)q(rma)q(t->s)q(tri)q(ng)52 b Ff(en)m(um)m(v)-5 b(al)390 4264 y FB(Return)30 b(a)g(string)h -(describing)f Ff(en)m(um)m(v)-5 b(al)t FB(,)31 b(a)f -Fs(openpgp-certificate-format)24 b FB(v)-5 b(alue.)2970 +(describing)f Ff(en)m(um)m(v)-5 b(al)p FB(,)31 b(a)g +Ft(openpgp-certificate-form)o(at)24 b FB(v)-5 b(alue.)2970 4448 y([Sc)m(heme)31 b(Pro)s(cedure])-3600 b Fh(openpgp-keyring?)50 b Ff(ob)5 b(j)390 4558 y FB(Return)30 b(true)g(if)g Ff(ob)5 -b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Fs(openpgp-keyring)p +b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h Ft(openpgp-keyring)p FB(.)2970 4742 y([Sc)m(heme)g(Pro)s(cedure])-3600 b Fh (openpgp-private-key?)52 b Ff(ob)5 b(j)390 4852 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp)s(e)h -Fs(openpgp-private-key)p FB(.)2970 5036 y([Sc)m(heme)g(Pro)s(cedure]) +Ft(openpgp-private-key)p FB(.)2970 5036 y([Sc)m(heme)g(Pro)s(cedure]) -3600 b Fh(openpgp-certificate?)52 b Ff(ob)5 b(j)390 5146 y FB(Return)30 b(true)g(if)g Ff(ob)5 b(j)33 b FB(is)e(of)f(t)m(yp) -s(e)h Fs(openpgp-certificate)p FB(.)p eop end -%%Page: 295 301 -TeXDict begin 295 300 bop 150 -116 a FB(Chapter)30 b(12:)41 +s(e)h Ft(openpgp-certificate)p FB(.)p eop end +%%Page: 277 283 +TeXDict begin 277 282 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(295)150 299 y Fx(12)80 b(In)l(ternal)52 b(Arc)l(hitecture)f(of)j(Gn)l -(uTLS)150 1207 y FB(This)33 b(c)m(hapter)i(is)e(to)i(giv)m(e)g(a)f -(brief)g(description)g(of)g(the)g(w)m(a)m(y)g Ft(Gn)n(uTLS)g +b(277)150 299 y Fy(12)80 b(In)l(ternal)52 b(Arc)l(hitecture)f(of)j(Gn)l +(uTLS)150 1122 y FB(This)33 b(c)m(hapter)i(is)e(to)i(giv)m(e)g(a)f +(brief)g(description)g(of)g(the)g(w)m(a)m(y)g Fu(Gn)n(uTLS)g FB(w)m(orks.)51 b(The)34 b(fo)s(cus)f(is)h(to)g(giv)m(e)150 -1317 y(an)28 b(idea)g(to)h(p)s(oten)m(tial)g(dev)m(elop)s(ers)f(and)f +1231 y(an)28 b(idea)g(to)h(p)s(oten)m(tial)g(dev)m(elop)s(ers)f(and)f (those)h(who)g(w)m(an)m(t)g(to)h(kno)m(w)f(what)f(happ)s(ens)f(inside)i -(the)g(blac)m(k)150 1426 y(b)s(o)m(x.)150 1996 y FA(12.1)68 -b(The)45 b(TLS)f(Proto)t(col)150 2155 y FB(The)30 b(main)g(needs)g(for) +(the)g(blac)m(k)150 1341 y(b)s(o)m(x.)150 1868 y FA(12.1)68 +b(The)45 b(TLS)f(Proto)t(col)150 2027 y FB(The)30 b(main)g(needs)g(for) g(the)h(TLS)e(proto)s(col)i(to)h(b)s(e)d(used)h(are)h(sho)m(wn)e(in)h -(the)h(image)h(b)s(elo)m(w.)150 4597 y @beginspecial +(the)h(image)h(b)s(elo)m(w.)150 4408 y @beginspecial 0 @llx 0 @lly 447 @urx 345 @ury 2551 @rwi @setspecial %%BeginDocument: gnutls-client-server-use-case.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -36461,15 +31185,15 @@ showpage %%EndDocument - @endspecial 633 x(This)73 b(is)g(b)s(eing)g(accomplished)h(b)m(y)g + @endspecial 822 x(This)73 b(is)g(b)s(eing)g(accomplished)h(b)m(y)g (the)f(follo)m(wing)i(ob)5 b(ject)74 b(diagram.)171 b(Note)75 -b(that)f(since)150 5340 y Ft(Gn)n(uTLS)62 b FB(is)g(b)s(eing)g(dev)m +b(that)f(since)150 5340 y Fu(Gn)n(uTLS)62 b FB(is)g(b)s(eing)g(dev)m (elop)s(ed)h(in)e(C)h(ob)5 b(ject)63 b(are)g(just)e(structures)h(with)g (attributes.)136 b(The)p eop end -%%Page: 296 302 -TeXDict begin 296 301 bop 150 -116 a FB(Chapter)30 b(12:)41 +%%Page: 278 284 +TeXDict begin 278 283 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(296)150 299 y(op)s(erations)63 b(listed)g(are)g(functions)f(that)h +b(278)150 299 y(op)s(erations)63 b(listed)g(are)g(functions)f(that)h (require)g(the)f(\014rst)g(parameter)h(to)h(b)s(e)e(that)h(ob)5 b(ject.)150 2506 y @beginspecial 0 @llx 0 @lly 2610 @urx 1606 @ury 4252 @rwi @setspecial @@ -111049,13 +105773,13 @@ showpage %%EndDocument - @endspecial 447 x FA(12.2)68 b(TLS)44 b(Handshak)l(e)i(Proto)t(col)150 -3112 y FB(The)28 b Ft(Gn)n(uTLS)h FB(handshak)m(e)f(proto)s(col)i(is)f + @endspecial 403 x FA(12.2)68 b(TLS)44 b(Handshak)l(e)i(Proto)t(col)150 +3069 y FB(The)28 b Fu(Gn)n(uTLS)h FB(handshak)m(e)f(proto)s(col)i(is)f (implemen)m(ted)g(as)g(a)h(state)g(mac)m(hine)f(that)h(w)m(aits)g(for)e -(input)g(or)150 3222 y(returns)k(immediately)k(when)c(the)i(non-blo)s +(input)g(or)150 3178 y(returns)k(immediately)k(when)c(the)i(non-blo)s (c)m(king)g(transp)s(ort)f(la)m(y)m(er)i(functions)f(are)g(used.)50 -b(The)33 b(main)150 3332 y(idea)e(is)f(sho)m(wn)g(in)g(the)h(follo)m -(wing)h(\014gure.)150 4760 y @beginspecial 0 @llx 0 @lly +b(The)33 b(main)150 3288 y(idea)e(is)f(sho)m(wn)g(in)g(the)h(follo)m +(wing)h(\014gure.)150 4654 y @beginspecial 0 @llx 0 @lly 711 @urx 292 @ury 2551 @rwi @setspecial %%BeginDocument: gnutls-handshake-state.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -112921,20 +107645,20 @@ showpage %%EndDocument - @endspecial 470 x(Also)g(the)g(w)m(a)m(y)g(the)g(input)f(is)g(pro)s + @endspecial 576 x(Also)g(the)g(w)m(a)m(y)g(the)g(input)f(is)g(pro)s (cessed)g(v)-5 b(aries)32 b(p)s(er)e(ciphersuite.)45 b(Sev)m(eral)32 b(implemen)m(tations)h(of)f(the)150 5340 y(in)m(ternal)c(handlers)f(are)h(a)m(v)-5 b(ailable)29 -b(and)e([gn)m(utls)p 1809 5340 28 4 v 41 w(handshak)m(e],)h(page)g(148) +b(and)e([gn)m(utls)p 1809 5340 28 4 v 41 w(handshak)m(e],)h(page)g(146) h(only)f(m)m(ultiplexes)g(the)g(input)p eop end -%%Page: 297 303 -TeXDict begin 297 302 bop 150 -116 a FB(Chapter)30 b(12:)41 +%%Page: 279 285 +TeXDict begin 279 284 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(297)150 299 y(to)32 b(the)f(appropriate)g(handler.)42 -b(F)-8 b(or)32 b(example)g(a)f Ft(PSK)f FB(ciphersuite)h(has)g(a)h +b(279)150 299 y(to)32 b(the)f(appropriate)g(handler.)42 +b(F)-8 b(or)32 b(example)g(a)f Fu(PSK)f FB(ciphersuite)h(has)g(a)h (di\013eren)m(t)f(implemen)m(tation)150 408 y(of)g(the)f -Fs(process_client_key_exchan)o(ge)24 b FB(than)30 b(a)h(certi\014cate)h -(ciphersuite.)150 2482 y @beginspecial 0 @llx 0 @lly +Ft(process_client_key_exchan)o(ge)24 b FB(than)30 b(a)h(certi\014cate)h +(ciphersuite.)150 2480 y @beginspecial 0 @llx 0 @lly 666 @urx 456 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-handshake-sequence.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -114270,16 +108994,16 @@ showpage %%EndDocument - @endspecial 234 x FA(12.3)68 b(TLS)44 b(Authen)l(tication)i(Metho)t -(ds)150 2875 y FB(In)39 b Ft(Gn)n(uTLS)g FB(authen)m(tication)i(metho)s + @endspecial 214 x FA(12.3)68 b(TLS)44 b(Authen)l(tication)i(Metho)t +(ds)150 2853 y FB(In)39 b Fu(Gn)n(uTLS)g FB(authen)m(tication)i(metho)s (ds)e(can)h(b)s(e)e(implemen)m(ted)i(quite)g(easily)-8 -b(.)69 b(Since)39 b(the)h(required)150 2985 y(c)m(hanges)33 +b(.)69 b(Since)39 b(the)h(required)150 2963 y(c)m(hanges)33 b(to)g(add)e(a)i(new)e(authen)m(tication)k(metho)s(d)c(a\013ect)j(only) e(the)g(handshak)m(e)g(proto)s(col,)i(a)e(simple)150 -3094 y(in)m(terface)e(is)f(used.)40 b(An)28 b(authen)m(tication)j +3072 y(in)m(terface)e(is)f(used.)40 b(An)28 b(authen)m(tication)j (metho)s(d)d(needs)h(only)g(to)g(implemen)m(t)g(the)g(functions)g(as)g -(seen)150 3204 y(in)h(the)h(\014gure)e(b)s(elo)m(w.)150 -5044 y @beginspecial 0 @llx 0 @lly 814 @urx 491 @ury +(seen)150 3182 y(in)h(the)h(\014gure)e(b)s(elo)m(w.)150 +5020 y @beginspecial 0 @llx 0 @lly 814 @urx 491 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-mod_auth_st.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -137231,29 +131955,29 @@ showpage %%EndDocument - @endspecial 186 x(The)37 b(functions)h(that)g(need)g(to)g(b)s(e)f + @endspecial 210 x(The)37 b(functions)h(that)g(need)g(to)g(b)s(e)f (implemen)m(ted)i(are)f(the)g(ones)g(resp)s(onsible)f(for)g(in)m (terpreting)i(the)150 5340 y(handshak)m(e)e(proto)s(col)g(messages.)62 b(It)37 b(is)g(common)g(for)g(suc)m(h)g(functions)f(to)i(read)f(data)g (from)g(one)g(or)p eop end -%%Page: 298 304 -TeXDict begin 298 303 bop 150 -116 a FB(Chapter)30 b(12:)41 +%%Page: 280 286 +TeXDict begin 280 285 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(298)150 299 y(more)39 b Fs(credentials_t)d FB(structures)1442 +b(280)150 299 y(more)39 b Ft(credentials_t)d FB(structures)1442 266 y Fr(1)1517 299 y FB(and)j(write)g(data,)j(suc)m(h)d(as)g (certi\014cates,)k(usernames)38 b(etc.)68 b(to)150 408 -y Fs(auth_info_t)27 b FB(structures.)150 542 y(Simple)36 +y Ft(auth_info_t)27 b FB(structures.)150 543 y(Simple)36 b(examples)i(of)f(existing)g(authen)m(tication)i(metho)s(ds)d(can)h(b)s -(e)f(seen)h(in)f Fs(auth_psk.c)e FB(for)j(PSK)150 651 -y(ciphersuites)28 b(and)g Fs(auth_srp.c)e FB(for)i(SRP)g(ciphersuites.) +(e)f(seen)h(in)f Ft(auth_psk.c)e FB(for)j(PSK)150 652 +y(ciphersuites)28 b(and)g Ft(auth_srp.c)e FB(for)i(SRP)g(ciphersuites.) 40 b(After)28 b(implemen)m(ting)i(these)f(functions)f(the)150 -761 y(structure)22 b(holding)h(its)h(p)s(oin)m(ters)f(has)f(to)i(b)s(e) -e(registered)i(in)f Fs(gnutls_algorithms.c)17 b FB(in)23 -b(the)g Fs(_gnutls_)150 871 y(kx_algorithms)k FB(structure.)150 -1101 y FA(12.4)68 b(TLS)44 b(Extension)i(Handling)150 -1260 y FB(As)36 b(with)g(authen)m(tication)i(metho)s(ds,)f(the)g(TLS)e +762 y(structure)22 b(holding)h(its)h(p)s(oin)m(ters)f(has)f(to)i(b)s(e) +e(registered)i(in)f Ft(gnutls_algorithms.c)17 b FB(in)23 +b(the)g Ft(_gnutls_)150 871 y(kx_algorithms)k FB(structure.)150 +1103 y FA(12.4)68 b(TLS)44 b(Extension)i(Handling)150 +1263 y FB(As)36 b(with)g(authen)m(tication)i(metho)s(ds,)f(the)g(TLS)e (extensions)i(handlers)e(can)h(b)s(e)g(implemen)m(ted)g(using)150 -1370 y(the)31 b(follo)m(wing)g(in)m(terface.)150 2136 +1372 y(the)31 b(follo)m(wing)g(in)m(terface.)150 2166 y @beginspecial 0 @llx 0 @lly 665 @urx 151 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-extensions_st.eps @@ -141389,108 +136113,108 @@ showpage %%EndDocument - @endspecial 181 x(Here)42 b(there)f(are)g(t)m(w)m(o)i(functions,)g + @endspecial 232 x(Here)42 b(there)f(are)g(t)m(w)m(o)i(functions,)g (one)f(for)f(receiving)h(the)f(extension)h(data)g(and)e(one)h(for)g -(sending.)150 2426 y(These)30 b(functions)g(ha)m(v)m(e)i(to)f(c)m(hec)m +(sending.)150 2508 y(These)30 b(functions)g(ha)m(v)m(e)i(to)f(c)m(hec)m (k)h(in)m(ternally)f(whether)f(they)g(op)s(erate)h(in)f(clien)m(t)i(or) -f(serv)m(er)f(side.)150 2560 y(A)36 b(simple)g(example)h(of)f(an)g -(extension)g(handler)f(can)h(b)s(e)g(seen)g(in)f Fs(ext_srp.c)f -FB(After)i(implemen)m(ting)150 2669 y(these)26 b(functions,)g(together) +f(serv)m(er)f(side.)150 2642 y(A)36 b(simple)g(example)h(of)f(an)g +(extension)g(handler)f(can)h(b)s(e)g(seen)g(in)f Ft(ext_srp.c)f +FB(After)i(implemen)m(ting)150 2752 y(these)26 b(functions,)g(together) h(with)e(the)h(extension)g(n)m(um)m(b)s(er)e(they)i(handle,)g(they)f -(ha)m(v)m(e)i(to)f(b)s(e)f(registered)150 2779 y(in)30 -b Fs(gnutls_extensions.c)25 b FB(in)30 b(the)h Fs(_gnutls_extensions)25 -b FB(structure.)150 2976 y Fu(12.4.1)63 b(Adding)42 b(a)e(New)h(TLS)g -(Extension)150 3123 y FB(Adding)30 b(supp)s(ort)f(for)h(a)h(new)f(TLS)g +(ha)m(v)m(e)i(to)f(b)s(e)f(registered)150 2861 y(in)30 +b Ft(gnutls_extensions.c)25 b FB(in)30 b(the)h Ft(_gnutls_extensions)25 +b FB(structure.)150 3060 y Fv(12.4.1)63 b(Adding)42 b(a)e(New)h(TLS)g +(Extension)150 3207 y FB(Adding)30 b(supp)s(ort)f(for)h(a)h(new)f(TLS)g (extension)h(is)g(done)f(from)g(time)i(to)f(time,)h(and)e(the)h(pro)s -(cess)f(to)h(do)150 3233 y(so)e(is)g(not)g(di\016cult.)41 +(cess)f(to)h(do)150 3317 y(so)e(is)g(not)g(di\016cult.)41 b(Here)29 b(are)h(the)f(steps)g(y)m(ou)g(need)g(to)g(follo)m(w)i(if)e (y)m(ou)g(wish)f(to)i(do)f(this)g(y)m(ourself.)40 b(F)-8 -b(or)150 3342 y(sak)m(e)26 b(of)e(discussion,)i(let's)f(consider)g +b(or)150 3426 y(sak)m(e)26 b(of)e(discussion,)i(let's)f(consider)g (adding)f(supp)s(ort)f(for)h(the)h(h)m(yp)s(othetical)h(TLS)d -(extension)i Fs(foobar)p FB(.)199 3476 y(1.)61 b(Mo)s(dify)30 -b Fs(configure.in)d FB(to)k(add)f Fs(--enable-foobar)c -FB(or)31 b Fs(--disable-foobar)p FB(.)330 3609 y(Whic)m(h)j(to)g(c)m +(extension)i Ft(foobar)p FB(.)199 3560 y(1.)61 b(Mo)s(dify)30 +b Ft(configure.in)d FB(to)k(add)f Ft(--enable-foobar)c +FB(or)31 b Ft(--disable-foobar)p FB(.)330 3694 y(Whic)m(h)j(to)g(c)m (hose)g(dep)s(ends)e(on)h(whether)g(y)m(ou)h(in)m(tend)f(to)h(mak)m(e)g -(the)g(extension)g(b)s(e)f(enabled)g(b)m(y)330 3719 y(default.)67 +(the)g(extension)g(b)s(e)f(enabled)g(b)m(y)330 3804 y(default.)67 b(Lo)s(ok)39 b(at)g(existing)h(c)m(hec)m(ks)h(\(i.e.,)h(SRP)-8 b(,)39 b(authz\))g(for)g(ho)m(w)g(to)h(mo)s(del)e(the)i(co)s(de.)66 -b(F)-8 b(or)330 3828 y(example:)570 3962 y Fs +b(F)-8 b(or)330 3914 y(example:)570 4048 y Ft (AC_MSG_CHECKING\([whether)41 b(to)47 b(disable)f(foobar)g(support]\)) -570 4071 y(AC_ARG_ENABLE\(foobar,)570 4181 y(AS_HELP_STRING\([--disabl) -o(e-fo)o(obar)o(],)570 4290 y([disable)g(foobar)g(support]\),)570 -4400 y(ac_enable_foobar=no\))570 4510 y(if)h(test)g(x$ac_enable_foobar) -c(!=)k(xno;)f(then)618 4619 y(AC_MSG_RESULT\(no\))618 -4729 y(AC_DEFINE\(ENABLE_FOOBAR)o(,)c(1,)47 b([enable)f(foobar]\))570 -4838 y(else)618 4948 y(ac_full=0)618 5057 y(AC_MSG_RESULT\(yes\))570 -5167 y(fi)p 150 5241 1200 4 v 74 5308 a Fr(1)150 5340 -y Fp(suc)n(h)25 b(as)i(the)e Fq(gnutls_certificate_credentials)q(_t)32 -b Fp(structures)p eop end -%%Page: 299 305 -TeXDict begin 299 304 bop 150 -116 a FB(Chapter)30 b(12:)41 +570 4157 y(AC_ARG_ENABLE\(foobar,)570 4267 y(AS_HELP_STRING\([--disabl) +o(e-fo)o(obar)o(],)570 4377 y([disable)g(foobar)g(support]\),)570 +4486 y(ac_enable_foobar=no\))570 4596 y(if)h(test)g(x$ac_enable_foobar) +c(!=)k(xno;)f(then)618 4705 y(AC_MSG_RESULT\(no\))618 +4815 y(AC_DEFINE\(ENABLE_FOOBAR)o(,)c(1,)47 b([enable)f(foobar]\))570 +4925 y(else)618 5034 y(ac_full=0)618 5144 y(AC_MSG_RESULT\(yes\))p +150 5241 1200 4 v 74 5308 a Fr(1)150 5340 y Fq(suc)n(h)25 +b(as)i(the)e Fp(gnutls_certificate_credentials)q(_t)32 +b Fq(structures)p eop end +%%Page: 281 287 +TeXDict begin 281 286 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(299)570 299 y Fs(AM_CONDITIONAL\(ENABLE_FO)o(OBAR)o(,)42 -b(test)k("$ac_enable_foobar")d(!=)k("no"\))199 445 y +b(281)570 299 y Ft(fi)570 408 y(AM_CONDITIONAL\(ENABLE_FO)o(OBAR)o(,)42 +b(test)k("$ac_enable_foobar")d(!=)k("no"\))199 545 y FB(2.)61 b(Add)29 b(IANA)i(extension)g(v)-5 b(alue)31 -b(to)g Fs(extensions_t)c FB(in)j Fs(gnutls_int.h)p FB(.)330 -591 y(A)j(go)s(o)s(d)g(name)g(for)g(the)g(v)-5 b(alue)33 -b(w)m(ould)g(b)s(e)f(GNUTLS)p 2220 591 28 4 v 40 w(EXTENSION)p -2809 591 V 39 w(F)m(OOBAR.)i(Chec)m(k)f(with)330 701 -y Fs(http://www.iana.org/assi)o(gnme)o(nts/)o(tls)o(-ext)o(ensi)o(ont)o +b(to)g Ft(extensions_t)c FB(in)j Ft(gnutls_int.h)p FB(.)330 +682 y(A)j(go)s(o)s(d)g(name)g(for)g(the)g(v)-5 b(alue)33 +b(w)m(ould)g(b)s(e)f(GNUTLS)p 2220 682 28 4 v 40 w(EXTENSION)p +2809 682 V 39 w(F)m(OOBAR.)i(Chec)m(k)f(with)330 792 +y Ft(http://www.iana.org/assi)o(gnme)o(nts/)o(tls)o(-ext)o(ensi)o(ont)o (ype-)o(valu)o(es)40 b FB(for)46 b(allo)s(cated)i(v)-5 -b(al-)330 810 y(ues.)78 b(F)-8 b(or)43 b(exp)s(erimen)m(ts,)k(y)m(ou)c +b(al-)330 902 y(ues.)78 b(F)-8 b(or)43 b(exp)s(erimen)m(ts,)k(y)m(ou)c (could)g(pic)m(k)g(a)g(n)m(um)m(b)s(er)f(but)g(remem)m(b)s(er)g(that)i -(some)f(consider)330 920 y(it)28 b(a)g(bad)f(idea)h(to)g(deplo)m(y)g +(some)f(consider)330 1011 y(it)28 b(a)g(bad)f(idea)h(to)g(deplo)m(y)g (suc)m(h)g(mo)s(di\014ed)e(v)m(ersion)i(since)g(it)g(will)g(lead)g(to)h -(in)m(terop)s(erabilit)m(y)g(prob-)330 1029 y(lems)g(in)f(the)g(future) +(in)m(terop)s(erabilit)m(y)g(prob-)330 1121 y(lems)g(in)f(the)g(future) g(when)f(the)i(IANA)f(allo)s(cates)j(that)e(n)m(um)m(b)s(er)e(to)i -(someone)g(else,)h(or)e(when)g(the)330 1139 y(fo)s(obar)i(proto)s(col)h -(is)g(allo)s(cated)h(another)f(n)m(um)m(b)s(er.)199 1285 -y(3.)61 b(Add)29 b(an)i(en)m(try)f(to)h Fs(_gnutls_extensions)26 -b FB(in)k Fs(gnutls_extensions.c)p FB(.)330 1431 y(A)g(t)m(ypical)i(en) -m(try)f(w)m(ould)f(b)s(e:)570 1577 y Fs(#if)47 b(ENABLE_FOOBAR)665 -1687 y(GNUTLS_EXTENSION_ENTRY)42 b(\(GNUTLS_EXTENSION_FOOBAR,)665 -1797 y(_gnutls_foobar_recv_params)o(,)665 1906 y -(_gnutls_foobar_send_params)o(\),)570 2016 y(#endif)330 -2162 y FB(The)i(GNUTLS)p 918 2162 V 40 w(EXTENSION)p -1507 2162 V 39 w(F)m(OOBAR)h(is)g(the)g(in)m(teger)h(v)-5 -b(alue)45 b(y)m(ou)g(added)f(to)h Fs(gnutls_)330 2271 +(someone)g(else,)h(or)e(when)g(the)330 1230 y(fo)s(obar)i(proto)s(col)h +(is)g(allo)s(cated)h(another)f(n)m(um)m(b)s(er.)199 1367 +y(3.)61 b(Add)29 b(an)i(en)m(try)f(to)h Ft(_gnutls_extensions)26 +b FB(in)k Ft(gnutls_extensions.c)p FB(.)330 1504 y(A)g(t)m(ypical)i(en) +m(try)f(w)m(ould)f(b)s(e:)570 1641 y Ft(#if)47 b(ENABLE_FOOBAR)665 +1751 y(GNUTLS_EXTENSION_ENTRY)42 b(\(GNUTLS_EXTENSION_FOOBAR,)665 +1861 y(_gnutls_foobar_recv_params)o(,)665 1970 y +(_gnutls_foobar_send_params)o(\),)570 2080 y(#endif)330 +2217 y FB(The)i(GNUTLS)p 918 2217 V 40 w(EXTENSION)p +1507 2217 V 39 w(F)m(OOBAR)h(is)g(the)g(in)m(teger)h(v)-5 +b(alue)45 b(y)m(ou)g(added)f(to)h Ft(gnutls_)330 2326 y(int.h)32 b FB(earlier.)52 b(The)33 b(t)m(w)m(o)i(functions)f(are)g (new)f(functions)h(that)g(y)m(ou)g(will)g(need)g(to)g(implemen)m(t,)330 -2381 y(most)d(lik)m(ely)h(y)m(ou'll)f(need)f(to)h(add)f(an)g -Fs(#include)e("ext_foobar.h")f FB(as)k(w)m(ell.)199 2527 -y(4.)61 b(Add)29 b(new)h(\014les)h Fs(ext_foobar.c)c -FB(and)i Fs(ext_foobar.h)f FB(that)i(implemen)m(ts)h(the)g(extension.) -330 2673 y(The)d(functions)g(y)m(ou)h(are)f(resp)s(onsible)g(to)h(add)f +2436 y(most)d(lik)m(ely)h(y)m(ou'll)f(need)f(to)h(add)f(an)g +Ft(#include)e("ext_foobar.h")f FB(as)k(w)m(ell.)199 2573 +y(4.)61 b(Add)29 b(new)h(\014les)h Ft(ext_foobar.c)c +FB(and)i Ft(ext_foobar.h)f FB(that)i(implemen)m(ts)h(the)g(extension.) +330 2710 y(The)d(functions)g(y)m(ou)h(are)f(resp)s(onsible)g(to)h(add)f (are)g(those)h(men)m(tioned)g(in)f(the)h(previous)f(step.)40 -b(As)330 2783 y(a)31 b(starter,)g(y)m(ou)g(could)f(add)g(this:)570 -2929 y Fs(int)570 3039 y(_gnutls_foobar_recv_para)o(ms)42 -b(\(gnutls_session_t)h(session,)1906 3148 y(const)k(opaque)f(*)h(data,) -1906 3258 y(size_t)f(data_size\))570 3367 y({)665 3477 -y(return)h(0;)570 3587 y(})570 3806 y(int)570 3915 y +b(As)330 2819 y(a)31 b(starter,)g(y)m(ou)g(could)f(add)g(this:)570 +2956 y Ft(int)570 3066 y(_gnutls_foobar_recv_para)o(ms)42 +b(\(gnutls_session_t)h(session,)1906 3176 y(const)k(opaque)f(*)h(data,) +1906 3285 y(size_t)f(data_size\))570 3395 y({)665 3504 +y(return)h(0;)570 3614 y(})570 3833 y(int)570 3943 y (_gnutls_foobar_send_para)o(ms)42 b(\(gnutls_session_t)h(session,)1906 -4025 y(opaque)j(*)i(data,)1906 4134 y(size_t)e(_data_size\))570 -4244 y({)665 4354 y(return)h(0;)570 4463 y(})330 4609 -y FB(The)24 b Fs(_gnutls_foobar_recv_param)o(s)19 b FB(function)24 +4052 y(opaque)j(*)i(data,)1906 4162 y(size_t)e(_data_size\))570 +4271 y({)665 4381 y(return)h(0;)570 4491 y(})330 4628 +y FB(The)24 b Ft(_gnutls_foobar_recv_param)o(s)19 b FB(function)24 b(is)h(resp)s(onsible)e(for)i(parsing)f(incoming)h(exten-)330 -4719 y(sion)30 b(data)h(\(b)s(oth)f(in)h(the)f(clien)m(t)i(and)e(serv)m -(er\).)330 4865 y(The)g Fs(_gnutls_foobar_send_par)o(ams)24 +4737 y(sion)30 b(data)h(\(b)s(oth)f(in)h(the)f(clien)m(t)i(and)e(serv)m +(er\).)330 4874 y(The)g Ft(_gnutls_foobar_send_par)o(ams)24 b FB(function)30 b(is)g(resp)s(onsible)g(for)g(sending)f(extension)i -(data)330 4975 y(\(b)s(oth)f(in)g(the)h(clien)m(t)h(and)d(serv)m(er\).) +(data)330 4984 y(\(b)s(oth)f(in)g(the)h(clien)m(t)h(and)d(serv)m(er\).) 330 5121 y(If)d(y)m(ou)h(receiv)m(e)i(length)e(\014elds)f(that)i(do)s -(esn't)e(matc)m(h,)j(return)c Fs(GNUTLS_E_UNEXPECTED_PACKET)o(_)330 +(esn't)e(matc)m(h,)j(return)c Ft(GNUTLS_E_UNEXPECTED_PACKET)o(_)330 5230 y(LENGTH)p FB(.)42 b(If)30 b(y)m(ou)i(receiv)m(e)h(in)m(v)-5 -b(alid)32 b(data,)g(return)e Fs(GNUTLS_E_RECEIVED_ILLEGAL)o(_PAR)o +b(alid)32 b(data,)g(return)e Ft(GNUTLS_E_RECEIVED_ILLEGAL)o(_PAR)o (AMET)o(ER)p FB(.)330 5340 y(Y)-8 b(ou)31 b(can)g(use)f(other)g(error)g (co)s(des)h(to)s(o.)41 b(Return)30 b(0)g(on)h(success.)p eop end -%%Page: 300 306 -TeXDict begin 300 305 bop 150 -116 a FB(Chapter)30 b(12:)41 +%%Page: 282 288 +TeXDict begin 282 287 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(300)330 299 y(The)30 b(function)g(t)m(ypically)i(store)f(some)g -(information)f(in)h(the)f Fs(session)e FB(v)-5 b(ariable)32 +b(282)330 299 y(The)30 b(function)g(t)m(ypically)i(store)f(some)g +(information)f(in)h(the)f Ft(session)e FB(v)-5 b(ariable)32 b(for)e(later)h(usage.)330 408 y(If)g(y)m(ou)g(need)g(to)g(add)g(new)f -(\014elds)g(there,)i(c)m(hec)m(k)h Fs(tls_ext_st)28 b -FB(in)i Fs(gnutls_int.h)e FB(and)i(compare)330 518 y(with)g(existing)h +(\014elds)g(there,)i(c)m(hec)m(k)h Ft(tls_ext_st)28 b +FB(in)i Ft(gnutls_int.h)e FB(and)i(compare)330 518 y(with)g(existing)h (TLS)f(extension)h(sp)s(eci\014c)f(v)-5 b(ariables.)330 669 y(Recall)40 b(that)g(b)s(oth)d(the)i(clien)m(t)h(and)f(serv)m(er)f (b)s(oth)g(send)g(and)g(receiv)m(es)j(parameters,)g(and)d(y)m(our)330 @@ -141500,7 +136224,7 @@ g(this)f(distinction)h(explicit)h(in)e(the)g(co)s(de.)40 b(Th)m(us,)26 b(for)g(example,)i(a)f(b)s(etter)330 998 y(template)32 b(than)e(ab)s(o)m(v)m(e)h(w)m(ould)g(b)s(e:)570 -1148 y Fs(int)570 1258 y(_gnutls_foobar_recv_para)o(ms)42 +1148 y Ft(int)570 1258 y(_gnutls_foobar_recv_para)o(ms)42 b(\(gnutls_session_t)h(session,)1906 1367 y(const)k(opaque)f(*)h(data,) 1906 1477 y(size_t)f(data_size\))570 1587 y({)665 1696 y(if)i(\(session->security_para)o(mete)o(rs.)o(enti)o(ty)42 @@ -141515,11 +136239,11 @@ (\(session,)i(data,)h(data_size\);)665 3121 y(else)761 3230 y(return)g(foobar_send_server)d(\(session,)i(data,)h(data_size\);) 570 3340 y(})330 3491 y FB(The)34 b(functions)g(used)f(w)m(ould)h(b)s -(e)g(declared)g(as)h Fs(static)d FB(functions,)j(of)g(the)f +(e)g(declared)g(as)h Ft(static)d FB(functions,)j(of)g(the)f (appropriate)g(proto-)330 3600 y(t)m(yp)s(e,)d(in)f(the)g(same)h (\014le.)330 3751 y(When)f(adding)g(the)h(\014les,)f(y)m(ou'll)i(need)e -(to)h(add)f(them)g(to)h Fs(Makefile.am)c FB(as)k(w)m(ell,)h(for)e -(example:)570 3902 y Fs(if)47 b(ENABLE_FOOBAR)570 4011 +(to)h(add)f(them)g(to)h Ft(Makefile.am)c FB(as)k(w)m(ell,)h(for)e +(example:)570 3902 y Ft(if)47 b(ENABLE_FOOBAR)570 4011 y(COBJECTS)f(+=)h(ext_foobar.c)570 4121 y(HFILES)f(+=)h(ext_foobar.h) 570 4230 y(endif)199 4381 y FB(5.)61 b(Add)29 b(API)i(functions)f(to)h (enable/disable)g(the)g(extension.)330 4532 y(Normally)c(the)f(clien)m @@ -141530,25 +136254,25 @@ 4751 y(is)d(willing)h(to)g(accept)h(the)e(extension,)i(often)e(this)g (is)h(implemen)m(ted)f(through)g(a)h(callbac)m(k)h(but)d(it)330 4861 y(do)s(esn't)f(ha)m(v)m(e)i(to.)330 5011 y(The)20 -b(APIs)g(need)g(to)h(b)s(e)e(added)h(to)h Fs(includes/gnutls/gnutls.h) -14 b FB(or)20 b Fs(includes/gnutls/extra.h)330 5121 y +b(APIs)g(need)g(to)h(b)s(e)e(added)h(to)h Ft(includes/gnutls/gnutls.h) +14 b FB(or)20 b Ft(includes/gnutls/extra.h)330 5121 y FB(as)39 b(appropriate.)68 b(It)39 b(is)h(recommended)e(that)i(if)f(y)m (ou)h(don't)f(ha)m(v)m(e)i(a)e(requiremen)m(t)h(to)g(use)f(the)330 -5230 y(LGPLv2.1)p Fs(+)g FB(license)f(for)g(y)m(our)g(extension,)j -(that)d(y)m(ou)h(place)f(y)m(our)g(w)m(ork)g(under)f(the)h(GPLv3)p -Fs(+)330 5340 y FB(license)31 b(and)f(th)m(us)g(in)g(the)h(libgn)m -(utls-extra)h(library)-8 b(.)p eop end -%%Page: 301 307 -TeXDict begin 301 306 bop 150 -116 a FB(Chapter)30 b(12:)41 +5230 y(LGPL)29 b(license)h(for)e(y)m(our)h(extension,)h(that)g(y)m(ou)f +(place)h(y)m(our)f(w)m(ork)g(under)f(the)h(GPL)g(license)h(and)330 +5340 y(th)m(us)g(in)g(the)h(libgn)m(utls-extra)g(library)-8 +b(.)p eop end +%%Page: 283 289 +TeXDict begin 283 288 bop 150 -116 a FB(Chapter)30 b(12:)41 b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(301)330 299 y(Y)-8 b(ou)33 b(can)f(implemen)m(t)h(the)g(API)f -(function)g(in)g(the)g Fs(ext_foobar.c)d FB(\014le,)34 +b(283)330 299 y(Y)-8 b(ou)33 b(can)f(implemen)m(t)h(the)g(API)f +(function)g(in)g(the)g Ft(ext_foobar.c)d FB(\014le,)34 b(or)e(if)g(that)h(\014le)f(ends)g(up)330 408 y(b)s(ecoming)f(rather)f -(larger,)h(add)f(a)h Fs(gnutls_foobar.c)26 b FB(\014le.)150 -655 y FA(12.5)68 b(Certi\014cate)47 b(Handling)150 814 +(larger,)h(add)f(a)h Ft(gnutls_foobar.c)26 b FB(\014le.)150 +641 y FA(12.5)68 b(Certi\014cate)47 b(Handling)150 800 y FB(What)32 b(is)g(pro)m(vided)f(b)m(y)h(the)g(certi\014cate)h (handling)e(functions)g(is)h(summarized)f(in)h(the)f(follo)m(wing)i -(dia-)150 924 y(gram.)150 4606 y @beginspecial 0 @llx +(dia-)150 910 y(gram.)150 4590 y @beginspecial 0 @llx 0 @lly 1058 @urx 1317 @ury 3401 @rwi @setspecial %%BeginDocument: gnutls-certificate-user-use-case.eps %!PS-Adobe-2.0 EPSF-2.0 @@ -159963,93 +154687,23 @@ showpage %%EndDocument - @endspecial 246 x FA(12.6)68 b(Cryptographic)46 b(Bac)l(k)l(end)150 -5011 y FB(Sev)m(eral)39 b(new)e(systems)h(pro)m(vide)g(hardw)m(are)f -(assisted)h(cryptographic)h(algorithm)f(implemen)m(tations)150 -5121 y(that)j(o\013er)f(implemen)m(tations)i(some)f(orders)e(of)h -(magnitude)h(faster)f(than)g(the)h(soft)m(w)m(are.)71 -b(F)-8 b(or)41 b(this)150 5230 y(reason)31 b(in)g(curren)m(t)f -(releases)i(of)f(Gn)m(uTLS)f(it)h(is)g(p)s(ossible)f(to)i(o)m(v)m -(erride)g(parts)e(of)h(the)g(crypto)g(bac)m(k)m(end)150 -5340 y(or)36 b(the)f(whole.)57 b(It)36 b(is)f(p)s(ossible)g(to)i(o)m(v) -m(erride)f(them)g(b)s(oth)f(at)h(run)m(time)f(and)g(compile)i(time,)h -(ho)m(w)m(ev)m(er)p eop end -%%Page: 302 308 -TeXDict begin 302 307 bop 150 -116 a FB(Chapter)30 b(12:)41 -b(In)m(ternal)31 b(Arc)m(hitecture)h(of)e(Gn)m(uTLS)1637 -b(302)150 299 y(here)34 b(w)m(e)h(will)g(discuss)e(the)i(run)m(time)f -(p)s(ossibilit)m(y)-8 b(.)54 b(The)34 b(API)g(a)m(v)-5 -b(ailable)37 b(for)d(this)g(functionalit)m(y)i(is)e(in)150 -408 y Fs(gnutls/crypto.h)26 b FB(header)k(\014le.)150 -608 y Fu(12.6.1)63 b(Ov)m(erride)41 b(sp)s(eci\014c)g(algorithms)150 -755 y FB(When)35 b(an)g(optimized)h(implemen)m(tation)g(of)f(a)h -(single)g(algorithm)g(is)f(a)m(v)-5 b(ailable,)39 b(sa)m(y)c(a)h(hardw) -m(are)e(as-)150 864 y(sisted)f(v)m(ersion)g(of)f Ft(AES-CBC)g -FB(then)g(the)h(follo)m(wing)h(functions)e(can)h(b)s(e)f(used)f(to)j -(register)f(those)g(algo-)150 974 y(rithms.)225 1108 -y Fy(\017)60 b FB([gn)m(utls)p 601 1108 28 4 v 41 w(crypto)p -897 1108 V 40 w(single)p 1159 1108 V 41 w(cipher)p 1443 -1108 V 39 w(register2],)33 b(page)e(137)g(T)-8 b(o)31 -b(register)g(a)g(cipher)f(algorithm.)225 1243 y Fy(\017)60 -b FB([gn)m(utls)p 601 1243 V 41 w(crypto)p 897 1243 V -40 w(single)p 1159 1243 V 41 w(mac)p 1361 1243 V 40 w(register2],)33 -b(page)e(137)g(T)-8 b(o)31 b(register)g(a)g(MA)m(C)g(algorithm.)330 -1377 y([gn)m(utls)p 601 1377 V 41 w(crypto)p 897 1377 -V 40 w(single)p 1159 1377 V 41 w(digest)p 1432 1377 V -41 w(register2],)g(page)g(137)g(T)-8 b(o)30 b(register)g(a)h(digest)f -(\(hash\))g(algorithm.)150 1537 y(Those)i(registration)i(functions)e -(will)h(only)g(replace)g(the)g(sp)s(eci\014ed)f(algorithm)i(and)d(lea)m -(v)m(e)k(the)e(rest)g(of)150 1646 y(subsystem)c(in)m(tact.)150 -1846 y Fu(12.6.2)63 b(Ov)m(erride)41 b(parts)g(of)h(the)f(bac)m(k)m -(end)150 1993 y FB(In)e(some)i(systems,)i(suc)m(h)d(as)g(em)m(b)s -(edded)g(ones,)j(it)d(migh)m(t)h(b)s(e)f(desirable)g(to)h(o)m(v)m -(erride)g(big)g(parts)f(of)150 2102 y(the)30 b(cryptographic)h(bac)m(k) -m(end,)f(or)g(ev)m(en)h(all)g(of)f(them.)41 b(F)-8 b(or)30 -b(this)g(reason)g(the)h(follo)m(wing)g(functions)f(are)150 -2212 y(pro)m(vided.)225 2346 y Fy(\017)60 b FB([gn)m(utls)p -601 2346 V 41 w(crypto)p 897 2346 V 40 w(cipher)p 1180 -2346 V 40 w(register2],)49 b(page)d(135)f(T)-8 b(o)45 -b(o)m(v)m(erride)h(the)e(cryptographic)h(algorithms)330 -2456 y(bac)m(k)m(end.)225 2590 y Fy(\017)60 b FB([gn)m(utls)p -601 2590 V 41 w(crypto)p 897 2590 V 40 w(mac)p 1098 2590 -V 41 w(register2],)32 b(page)f(135)h(T)-8 b(o)30 b(o)m(v)m(erride)i -(the)e(MA)m(C)h(algorithms)h(bac)m(k)m(end.)225 2725 -y Fy(\017)60 b FB([gn)m(utls)p 601 2725 V 41 w(crypto)p -897 2725 V 40 w(digest)p 1169 2725 V 41 w(register2],)32 -b(page)f(135)h(T)-8 b(o)31 b(o)m(v)m(erride)g(the)g(digest)g -(algorithms)g(bac)m(k)m(end.)225 2859 y Fy(\017)60 b -FB([gn)m(utls)p 601 2859 V 41 w(crypto)p 897 2859 V 40 -w(rnd)p 1075 2859 V 39 w(register2],)25 b(page)e(136)g(T)-8 -b(o)22 b(o)m(v)m(erride)h(the)f(random)f(n)m(um)m(b)s(er)g(generator)i -(bac)m(k-)330 2969 y(end.)225 3103 y Fy(\017)60 b FB([gn)m(utls)p -601 3103 V 41 w(crypto)p 897 3103 V 40 w(bigin)m(t)p -1166 3103 V 41 w(register2],)39 b(page)d(134)h(T)-8 b(o)36 -b(o)m(v)m(erride)h(the)f(big)g(n)m(um)m(b)s(er)e(n)m(um)m(b)s(er)h(op)s -(era-)330 3213 y(tions)c(bac)m(k)m(end.)225 3347 y Fy(\017)60 -b FB([gn)m(utls)p 601 3347 V 41 w(crypto)p 897 3347 V -40 w(pk)p 1036 3347 V 39 w(register2],)34 b(page)e(136)h(T)-8 -b(o)32 b(o)m(v)m(erride)g(the)g(public)f(k)m(ey)h(encryption)f(bac)m(k) -m(end.)330 3457 y(This)i(is)h(tigh)m(t)h(to)f(the)g(big)g(n)m(um)m(b)s -(er)f(op)s(erations)h(so)g(either)g(b)s(oth)f(of)h(them)f(should)g(b)s -(e)g(up)s(dated)330 3567 y(or)d(care)i(m)m(ust)e(b)s(e)g(tak)m(en)h(to) -g(use)f(the)h(same)g(format.)150 3726 y(If)f(all)h(of)g(them)f(are)h -(used)e(then)h(Gn)m(uTLS)g(will)g(no)h(longer)g(use)f(libgcrypt.)p -eop end -%%Page: 303 309 -TeXDict begin 303 308 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(303)150 299 y -Fx(App)t(endix)52 b(A)81 b(Cop)l(ying)52 b(Information)150 + @endspecial eop end +%%Page: 284 290 +TeXDict begin 284 289 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(284)150 299 y +Fy(App)t(endix)52 b(A)81 b(Cop)l(ying)52 b(Information)150 617 y FA(A.1)67 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h -(License)1359 754 y FB(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s -(er)h(2008)390 886 y(Cop)m(yrigh)m(t)842 883 y(c)817 -886 y Fy(\015)e FB(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 -b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 -995 y Fs(http://fsf.org/)390 1214 y FB(Ev)m(ery)m(one)g(is)g(p)s -(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390 -1324 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f -(is)f(not)h(allo)m(w)m(ed.)199 1456 y(0.)61 b(PREAMBLE)330 -1588 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g -(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330 +(License)1396 754 y FB(V)-8 b(ersion)31 b(1.2,)h(No)m(v)m(em)m(b)s(er)g +(2002)390 886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y +Fs(\015)e FB(2000,2001,2002)36 b(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 +b(oundation,)32 b(Inc.)390 995 y(51)f(F)-8 b(ranklin)31 +b(St,)f(Fifth)h(Flo)s(or,)g(Boston,)h(MA)61 b(02110-1301,)35 +b(USA)390 1214 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g +(and)f(distribute)g(v)m(erbatim)h(copies)390 1324 y(of)g(this)f +(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m +(w)m(ed.)199 1456 y(0.)61 b(PREAMBLE)330 1588 y(The)37 +b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g(a)g(man)m +(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330 1698 y(useful)29 b(do)s(cumen)m(t)h Ff(free)36 b FB(in)29 b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j (the)e(e\013ectiv)m(e)j(freedom)330 1808 y(to)f(cop)m(y)g(and)f @@ -160114,9 +154768,9 @@ b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i (commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s (osition)f(regarding)330 5340 y(them.)p eop end -%%Page: 304 310 -TeXDict begin 304 309 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(304)330 299 y(The)25 +%%Page: 285 291 +TeXDict begin 285 290 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(285)330 299 y(The)25 b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g (Sections)g(whose)f(titles)i(are)f(designated,)i(as)330 408 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27 @@ -160129,344 +154783,342 @@ e(In)m(v)-5 b(arian)m(t)330 737 y(Sections.)39 b(If)25 b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v) -5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330 -878 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short) +894 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short) g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8 -b(ron)m(t-Co)m(v)m(er)330 988 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er) -j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f -(Do)s(cumen)m(t)h(is)f(released)g(under)330 1097 y(this)h(License.)40 -b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26 -b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m -(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 1207 y(b)s(e)k(at)h(most)g(25)g(w) -m(ords.)330 1348 y(A)36 b(\\T)-8 b(ransparen)m(t")36 -b(cop)m(y)g(of)g(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m -(hine-readable)h(cop)m(y)-8 b(,)38 b(represen)m(ted)330 -1457 y(in)d(a)h(format)g(whose)g(sp)s(eci\014cation)g(is)g(a)m(v)-5 -b(ailable)38 b(to)f(the)f(general)g(public,)h(that)f(is)g(suitable)g -(for)330 1567 y(revising)c(the)g(do)s(cumen)m(t)f(straigh)m(tforw)m -(ardly)i(with)e(generic)i(text)g(editors)f(or)f(\(for)h(images)h(com-) -330 1677 y(p)s(osed)23 b(of)h(pixels\))g(generic)h(pain)m(t)f(programs) -g(or)f(\(for)h(dra)m(wings\))g(some)g(widely)g(a)m(v)-5 -b(ailable)26 b(dra)m(wing)330 1786 y(editor,)k(and)f(that)g(is)g -(suitable)h(for)f(input)f(to)i(text)g(formatters)f(or)g(for)g -(automatic)i(translation)f(to)330 1896 y(a)d(v)-5 b(ariet)m(y)28 -b(of)f(formats)g(suitable)h(for)e(input)g(to)i(text)g(formatters.)40 -b(A)27 b(cop)m(y)g(made)g(in)g(an)g(otherwise)330 2005 -y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g(whose)f(markup,)i(or)e -(absence)h(of)g(markup,)g(has)g(b)s(een)f(arranged)g(to)330 -2115 y(th)m(w)m(art)27 b(or)g(discourage)g(subsequen)m(t)f(mo)s -(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8 b(ransparen)m(t.)39 -b(An)27 b(image)330 2225 y(format)35 b(is)f(not)h(T)-8 -b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g(substan)m(tial)h(amoun) -m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g(is)330 -2334 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i(\\Opaque".)330 -2475 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)-8 -b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fc(asci)r(i)g -FB(without)330 2585 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j -(LaT)1759 2604 y(E)1810 2585 y(X)e(input)f(format,)j -Ft(SGML)f FB(or)f Ft(XML)g FB(using)g(a)g(publicly)330 -2694 y(a)m(v)-5 b(ailable)42 b Ft(DTD)p FB(,)g(and)d -(standard-conforming)h(simple)g Ft(HTML)p FB(,)g(P)m(ostScript)h(or)f -Ft(PDF)g FB(designed)330 2804 y(for)e(h)m(uman)g(mo)s(di\014cation.)65 +b(ron)m(t-Co)m(v)m(er)330 1003 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m +(er)j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g +(the)f(Do)s(cumen)m(t)h(is)f(released)g(under)330 1113 +y(this)h(License.)40 b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 +b(T)-8 b(ext)26 b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a) +g(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 1223 +y(b)s(e)k(at)h(most)g(25)g(w)m(ords.)330 1379 y(A)36 +b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g(the)f(Do)s(cumen)m(t)h +(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8 b(,)38 +b(represen)m(ted)330 1489 y(in)d(a)h(format)g(whose)g(sp)s +(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g +(public,)h(that)f(is)g(suitable)g(for)330 1598 y(revising)c(the)g(do)s +(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors) +f(or)f(\(for)h(images)h(com-)330 1708 y(p)s(osed)23 b(of)h(pixels\))g +(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g +(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1817 +y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g +(formatters)f(or)g(for)g(automatic)i(translation)f(to)330 +1927 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input) +g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g +(otherwise)330 2037 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g +(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f +(arranged)g(to)330 2146 y(th)m(w)m(art)27 b(or)g(discourage)g +(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8 +b(ransparen)m(t.)39 b(An)27 b(image)330 2256 y(format)35 +b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g +(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g +(is)330 2365 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i +(\\Opaque".)330 2522 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T) +-8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fc(asci)r(i)g +FB(without)330 2632 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j +(LaT)1759 2651 y(E)1810 2632 y(X)e(input)f(format,)j +Fu(SGML)f FB(or)f Fu(XML)g FB(using)g(a)g(publicly)330 +2741 y(a)m(v)-5 b(ailable)42 b Fu(DTD)p FB(,)g(and)d +(standard-conforming)h(simple)g Fu(HTML)p FB(,)g(P)m(ostScript)h(or)f +Fu(PDF)g FB(designed)330 2851 y(for)e(h)m(uman)g(mo)s(di\014cation.)65 b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g -Ft(PNG)p FB(,)h Ft(X)n(CF)330 2913 y FB(and)h Ft(JPG)p +Fu(PNG)p FB(,)h Fu(X)n(CF)330 2960 y FB(and)h Fu(JPG)p FB(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can) -f(b)s(e)f(read)g(and)h(edited)330 3023 y(only)54 b(b)m(y)f(proprietary) -h(w)m(ord)f(pro)s(cessors,)59 b Ft(SGML)54 b FB(or)f -Ft(XML)h FB(for)g(whic)m(h)f(the)h Ft(DTD)g FB(and/or)330 -3133 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5 +f(b)s(e)f(read)g(and)h(edited)330 3070 y(only)54 b(b)m(y)f(proprietary) +h(w)m(ord)f(pro)s(cessors,)59 b Fu(SGML)54 b FB(or)f +Fu(XML)h FB(for)g(whic)m(h)f(the)h Fu(DTD)g FB(and/or)330 +3180 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5 b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j -Ft(HTML)p FB(,)330 3242 y(P)m(ostScript)31 b(or)f Ft(PDF)h +Fu(HTML)p FB(,)330 3289 y(P)m(ostScript)31 b(or)f Fu(PDF)h FB(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output) -g(purp)s(oses)f(only)-8 b(.)330 3383 y(The)34 b(\\Title)h(P)m(age")i +g(purp)s(oses)f(only)-8 b(.)330 3446 y(The)34 b(\\Title)h(P)m(age")i (means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f -(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3493 y(pages)28 +(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3555 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h -(the)330 3602 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g +(the)330 3665 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g (formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e -(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3712 y(means)j(the)f(text)i +(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3774 y(means)j(the)f(text)i (near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m -(ork's)g(title,)h(preceding)f(the)330 3821 y(b)s(eginning)f(of)g(the)h -(b)s(o)s(dy)e(of)h(the)h(text.)330 3962 y(The)j(\\publisher")g(means)h -(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i -(of)e(the)h(Do)s(cumen)m(t)330 4072 y(to)c(the)g(public.)330 -4213 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g -(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330 -4322 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m -(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330 -4432 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g -(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m -(h)330 4542 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e -(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29 -b(\\Preserv)m(e)330 4651 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g -(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e -(that)h(it)g(remains)g(a)330 4761 y(section)e(\\En)m(titled)f(XYZ")g -(according)g(to)g(this)g(de\014nition.)330 4902 y(The)c(Do)s(cumen)m(t) -i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to) -g(the)g(notice)h(whic)m(h)e(states)i(that)330 5011 y(this)34 -b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33 -b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330 -5121 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j -(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330 -5230 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8 -b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g -(and)f(has)h(no)330 5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h -(this)f(License.)p eop end -%%Page: 305 311 -TeXDict begin 305 310 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(305)199 299 y(2.)61 -b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39 -b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an) -m(y)g(medium,)h(either)g(commercially)h(or)330 555 y(noncommercially)-8 -b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42 -b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330 -664 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f(Do) -s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)330 -774 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h(whatso)s(ev)m -(er)h(to)f(those)g(of)g(this)f(License.)40 b(Y)-8 b(ou)27 -b(ma)m(y)g(not)g(use)330 883 y(tec)m(hnical)35 b(measures)d(to)i -(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g(further)e(cop)m -(ying)j(of)f(the)g(copies)330 993 y(y)m(ou)25 b(mak)m(e)g(or)g -(distribute.)38 b(Ho)m(w)m(ev)m(er,)28 b(y)m(ou)d(ma)m(y)g(accept)h -(comp)s(ensation)f(in)f(exc)m(hange)j(for)d(copies.)330 -1103 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f(n)m(um)m(b)s -(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g(the)f -(conditions)330 1212 y(in)e(section)i(3.)330 1358 y(Y)-8 -b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g +(ork's)g(title,)h(preceding)f(the)330 3884 y(b)s(eginning)f(of)g(the)h +(b)s(o)s(dy)e(of)h(the)h(text.)330 4041 y(A)f(section)h(\\En)m(titled)g +(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h +(whose)e(title)i(either)330 4150 y(is)d(precisely)g(XYZ)g(or)f(con)m +(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f +(translates)h(XYZ)e(in)330 4260 y(another)e(language.)40 +b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f +(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4369 y(as)i(\\Ac)m(kno)m +(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f +(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4479 +y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s +(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330 +4589 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g +(de\014nition.)330 4745 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W) +-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m +(h)e(states)i(that)330 4855 y(this)34 b(License)g(applies)g(to)h(the)f +(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36 +b(Disclaimers)f(are)g(considered)e(to)330 4964 y(b)s(e)k(included)g(b)m +(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f +(disclaiming)i(w)m(arran)m(ties:)330 5074 y(an)m(y)e(other)g +(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39 +b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330 +5183 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199 +5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end +%%Page: 286 292 +TeXDict begin 286 291 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(286)330 299 y(Y)-8 +b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h +(in)f(an)m(y)g(medium,)h(either)g(commercially)h(or)330 +408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42 b(that)h(this)f +(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j(and)42 +b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e(License)i +(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g +(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h(other)f +(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f(License.)40 +b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330 737 y(tec)m(hnical)35 +b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g +(further)e(cop)m(ying)j(of)f(the)g(copies)330 847 y(y)m(ou)25 +b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28 +b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d +(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f +(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g +(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200 +y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g (conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g -(publicly)330 1468 y(displa)m(y)31 b(copies.)199 1614 -y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1760 y(If)25 +(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443 +y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25 b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g (that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330 -1870 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f +1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f (100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330 -1979 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i +1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i (the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36 -b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 2089 y(these)j(Co)m(v)m +b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m (er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41 b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44 b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330 -2198 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m) +2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m) m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f -(the)h(publisher)330 2308 y(of)k(these)h(copies.)53 b(The)34 +(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34 b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i -(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2418 y(equally)e +(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e (prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g (other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330 -2527 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v) +2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v) m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the) -330 2637 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d +330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d (b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330 -2746 y(resp)s(ects.)330 2892 y(If)32 b(the)h(required)f(texts)i(for)e +2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e (either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g -(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 3002 y(the)h(\014rst)f +(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f (ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the) g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330 -3112 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3258 +2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051 y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f (the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330 -3367 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g +3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g (T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque) -330 3477 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h +330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h (Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d -(whic)m(h)330 3587 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e +(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e (has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m -(ork)330 3696 y(proto)s(cols)40 b(a)f(complete)h(T)-8 +(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8 b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g -(added)f(material.)67 b(If)330 3806 y(y)m(ou)39 b(use)g(the)g(latter)h +(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h (option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e -(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3915 y(distribution)f(of)g +(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g (Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38 b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330 -4025 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s +3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s (cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h -(time)330 4134 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i +(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i (\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h -(of)f(that)330 4244 y(edition)31 b(to)g(the)g(public.)330 -4390 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g +(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330 +4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g (con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330 -4500 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s +4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s (er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m -(vide)g(y)m(ou)330 4609 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g -(the)f(Do)s(cumen)m(t.)199 4756 y(4.)61 b(MODIFICA)-8 -b(TIONS)330 4902 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a) +(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g +(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8 +b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a) h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under) -e(the)h(conditions)330 5011 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v) +e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v) m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f -(V)-8 b(ersion)22 b(under)d(precisely)330 5121 y(this)29 +(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29 b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30 b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f -(licensing)330 5230 y(distribution)k(and)h(mo)s(di\014cation)g(of)h +(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h (the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s -(ossesses)f(a)i(cop)m(y)g(of)330 5340 y(it.)41 b(In)30 +(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30 b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s -(di\014ed)e(V)-8 b(ersion:)p eop end -%%Page: 306 312 -TeXDict begin 306 311 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(306)357 299 y(A.)60 -b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m -(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the) -510 408 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m +(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33 +b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e +(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510 +5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8 -b(,)510 518 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g -(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same) -h(title)h(as)510 628 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original) -i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360 -758 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h -(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c -(for)510 867 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g -(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h -(\014v)m(e)510 977 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s -(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g -(few)m(er)510 1087 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g -(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1217 y(C.)60 +b(,)p eop end +%%Page: 287 293 +TeXDict begin 287 292 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(287)510 299 y(b)s(e)31 +b(listed)h(in)f(the)g(History)h(section)g(of)g(the)f(Do)s(cumen)m(t\).) +45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)h(title)h(as)510 +408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)i(publisher)d(of) +h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360 545 +y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h(one)g +(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c(for)510 +655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g(Mo)s +(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h(\014v)m +(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s(cumen)m +(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g(few)m +(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g(y)m +(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60 b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g (publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32 -b(as)f(the)510 1326 y(publisher.)355 1456 y(D.)61 b(Preserv)m(e)31 +b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31 b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.) -363 1587 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i +363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i (notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g -(other)510 1696 y(cop)m(yrigh)m(t)g(notices.)365 1826 +(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641 y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g (notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510 -1936 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8 +1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8 b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g -(form)510 2045 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353 -2176 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f +(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353 +1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f (full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e -(required)g(Co)m(v)m(er)510 2285 y(T)-8 b(exts)31 b(giv)m(en)g(in)f -(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2415 +(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f +(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244 y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.) -392 2545 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g +392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g (\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g -(item)510 2655 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d +(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d (authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8 -b(ersion)510 2765 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45 +b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45 b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e -(the)g(Do)s(cu-)510 2874 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f +(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f (title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s -(cumen)m(t)510 2984 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i +(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i (then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8 -b(ersion)37 b(as)510 3093 y(stated)31 b(in)f(the)h(previous)f(sen)m -(tence.)378 3224 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s +b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m +(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s (cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m -(t)h(for)g(public)e(access)j(to)510 3333 y(a)e(T)-8 b(ransparen)m(t)30 +(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30 b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net) -m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3443 y(the)g(Do)s(cumen)m +m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m (t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45 -b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3552 +b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395 y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net) m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h -(published)510 3662 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e +(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e (the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher) -d(of)i(the)510 3771 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s -(ermission.)354 3902 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m +d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s +(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m (titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k -(Preserv)m(e)c(the)g(Title)510 4011 y(of)j(the)f(section,)j(and)d +(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d (preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone) -h(of)f(eac)m(h)i(of)f(the)510 4121 y(con)m(tributor)k(ac)m(kno)m +h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m (wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368 -4251 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5 +4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f -(in)f(their)g(text)i(and)510 4361 y(in)f(their)g(titles.)58 +(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58 b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5 b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510 -4470 y(section)c(titles.)341 4600 y(M.)61 b(Delete)33 +4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33 b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42 b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510 -4710 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357 -4840 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f +4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357 +4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f (to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g -(in)510 4950 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31 -b(Section.)354 5080 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8 -b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g +(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31 +b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8 +b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g (V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f -(app)s(endices)g(that)h(qualify)330 5340 y(as)28 b(Secondary)g +(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g (Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h -(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end -%%Page: 307 313 -TeXDict begin 307 312 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(307)330 299 y(y)m(our)32 -b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e -(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330 -408 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36 -b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36 -b(license)g(notice.)57 b(These)330 518 y(titles)32 b(m)m(ust)e(b)s(e)g -(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)330 -650 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)f -(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but) -330 759 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8 -b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g -(statemen)m(ts)i(of)330 869 y(p)s(eer)27 b(review)g(or)g(that)h(the)f -(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h -(as)e(the)h(authoritativ)m(e)330 978 y(de\014nition)i(of)h(a)f -(standard.)330 1110 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g -(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er) -30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 -1219 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 -b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 -b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 1329 y(V)-8 -b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m -(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8 -b(ext)36 b(ma)m(y)h(b)s(e)330 1439 y(added)27 b(b)m(y)g(\(or)h(through) -f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8 -b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1548 -y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m -(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m -(t)330 1658 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f -(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g -(another;)j(but)330 1767 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g -(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e -(publisher)f(that)330 1877 y(added)e(the)g(old)h(one.)330 -2008 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s +(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h +(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5 +b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p +eop end +%%Page: 288 294 +TeXDict begin 288 293 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(288)330 299 y(titles)37 +b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(in)f +(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36 b(license)g(notice.)57 +b(These)330 408 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m +(y)i(other)g(section)g(titles.)330 551 y(Y)-8 b(ou)43 +b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)f(\\Endorsemen)m(ts",)j(pro) +m(vided)c(it)h(con)m(tains)g(nothing)g(but)330 661 y(endorsemen)m(ts)30 +b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8 b(ersion)31 b(b)m(y)e(v)-5 +b(arious)30 b(parties|for)g(example,)g(statemen)m(ts)i(of)330 +770 y(p)s(eer)27 b(review)g(or)g(that)h(the)f(text)i(has)d(b)s(een)h +(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h(as)e(the)h(authoritativ)m +(e)330 880 y(de\014nition)i(of)h(a)f(standard.)330 1022 +y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g(up)e(to)i(\014v)m(e) +g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)30 b(T)-8 +b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 1132 y(to)g(25)g(w)m(ords)e +(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext,)29 b(to)f(the)f(end)f(of)i +(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 b(exts)27 b(in)g(the)h(Mo)s +(di\014ed)330 1241 y(V)-8 b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f +(F)-8 b(ron)m(t-Co)m(v)m(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m +(k-Co)m(v)m(er)j(T)-8 b(ext)36 b(ma)m(y)h(b)s(e)330 1351 +y(added)27 b(b)m(y)g(\(or)h(through)f(arrangemen)m(ts)h(made)g(b)m(y\)) +g(an)m(y)g(one)f(en)m(tit)m(y)-8 b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t) +g(already)330 1461 y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g +(same)h(co)m(v)m(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m +(y)g(arrangemen)m(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m +(y)i(y)m(ou)f(are)f(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g +(not)f(add)g(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the) +f(old)g(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e +(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330 +1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s (cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s -(ermission)330 2118 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g +(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g (for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g -(Mo)s(di\014ed)330 2228 y(V)-8 b(ersion.)199 2359 y(5.)61 -b(COMBINING)31 b(DOCUMENTS)330 2491 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m +(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61 +b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m (bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h -(released)g(under)f(this)g(License,)330 2600 y(under)f(the)h(terms)g +(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g (de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f -(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2710 +(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655 y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5 b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s -(cumen)m(ts,)330 2819 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g +(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g (as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined) -g(w)m(ork)f(in)h(its)g(license)330 2929 y(notice,)32 +g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32 b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8 -b(arran)m(t)m(y)32 b(Disclaimers.)330 3061 y(The)e(com)m(bined)g(w)m +b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m (ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,) -i(and)d(m)m(ultiple)i(iden)m(tical)330 3170 y(In)m(v)-5 +i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5 b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h (single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m -(v)-5 b(arian)m(t)330 3280 y(Sections)27 b(with)g(the)g(same)g(name)g +(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g (but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f -(eac)m(h)h(suc)m(h)f(section)330 3389 y(unique)33 b(b)m(y)h(adding)f +(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f (at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g -(the)g(original)h(author)f(or)330 3499 y(publisher)23 +(the)g(original)h(author)f(or)330 3455 y(publisher)23 b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m (um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330 -3608 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5 +3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5 b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h -(com)m(bined)330 3718 y(w)m(ork.)330 3850 y(In)41 b(the)g(com)m +(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m (bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g (En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330 -3959 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h +3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h (En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330 -4069 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31 +4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31 b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47 -b(Y)-8 b(ou)330 4178 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m -(titled)f(\\Endorsemen)m(ts.")199 4310 y(6.)61 b(COLLECTIONS)28 -b(OF)i(DOCUMENTS)330 4441 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f +b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m +(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28 +b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f (collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g -(do)s(cumen)m(ts)f(released)330 4551 y(under)41 b(this)h(License,)k +(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k (and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f -(the)h(v)-5 b(arious)330 4661 y(do)s(cumen)m(ts)42 b(with)g(a)h(single) +(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single) g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48 -b(pro)m(vided)42 b(that)i(y)m(ou)330 4770 y(follo)m(w)38 +b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38 b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g (of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330 -4880 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32 +4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32 b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h (collection,)i(and)d(distribute)g(it)h(individu-)330 5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g @@ -160474,189 +155126,124 @@ 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330 5340 y(that)d(do)s(cumen)m(t.)p eop end -%%Page: 308 314 -TeXDict begin 308 313 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(308)199 299 y(7.)61 +%%Page: 289 295 +TeXDict begin 289 294 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(289)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 -441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 +428 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330 -551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m +538 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m (olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called) -330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i(resulting)e +330 648 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i(resulting)e (from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g(the)330 -770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m +757 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m (ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39 -b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g +b(When)330 867 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g (aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g -(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h +(other)330 976 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h (not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h -(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8 +(Do)s(cumen)m(t.)330 1106 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8 b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f -(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241 +(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1215 y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f (of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m -(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m +(er)330 1325 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m (ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h -(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5 +(aggregate,)j(or)d(the)330 1435 y(electronic)37 b(equiv)-5 b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f (in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330 -1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f -(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61 -b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a) +1544 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f +(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1674 y(8.)61 +b(TRANSLA)-8 b(TION)330 1803 y(T)g(ranslation)41 b(is)f(considered)f(a) i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e -(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h +(translations)330 1913 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h (terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5 -b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f +b(arian)m(t)45 b(Sections)g(with)330 2022 y(translations)h(requires)f (sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i -(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24 +(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2132 y(include)24 b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25 b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330 -2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44 +2242 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44 b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f -(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the) +(License,)i(and)d(all)j(the)330 2351 y(license)42 b(notices)g(in)f(the) h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42 -b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513 +b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2461 y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g (License)h(and)e(the)h(original)h(v)m(ersions)g(of)330 -2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33 +2570 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33 b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f -(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f +(translation)i(and)330 2680 y(the)f(original)i(v)m(ersion)e(of)h(this)f (License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m -(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28 +(ersion)g(will)330 2790 y(prev)-5 b(ail.)330 2919 y(If)28 b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m (kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330 -3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m +3029 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m (e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330 -3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61 -b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8 +3138 y(c)m(hanging)j(the)g(actual)h(title.)199 3268 y(9.)61 +b(TERMINA)-8 b(TION)330 3397 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8 b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h -(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38 -b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g -(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330 -3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically) -i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330 -3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i -(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h -(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h -(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g -(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h -(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8 -b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34 -b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h -(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288 -y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d -(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h -(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h -(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g -(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m -(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f -(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330 -4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g -(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h -(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28 -b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h -(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38 -b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g -(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e) -330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g -(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f -(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f -(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end -%%Page: 309 315 -TeXDict begin 309 314 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(309)154 299 y(10.)61 -b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433 -y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 -b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F) --8 b(ree)330 543 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to) -g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h -(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m -(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i -(concerns.)330 762 y(See)c Fs(http://www.gnu.org/copy)o(left)o(/)p -FB(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m +(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3507 y(pro)m(vided)41 +b(for)h(under)e(this)i(License.)75 b(An)m(y)42 b(other)g(attempt)h(to)g +(cop)m(y)-8 b(,)46 b(mo)s(dify)-8 b(,)44 b(sublicense)e(or)330 +3616 y(distribute)36 b(the)h(Do)s(cumen)m(t)g(is)g(v)m(oid,)i(and)d +(will)h(automatically)i(terminate)f(y)m(our)e(righ)m(ts)h(under)330 +3726 y(this)28 b(License.)40 b(Ho)m(w)m(ev)m(er,)31 b(parties)d(who)f +(ha)m(v)m(e)i(receiv)m(ed)g(copies,)h(or)d(righ)m(ts,)i(from)f(y)m(ou)g +(under)e(this)330 3836 y(License)37 b(will)g(not)g(ha)m(v)m(e)h(their)f +(licenses)g(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g +(in)f(full)330 3945 y(compliance.)154 4075 y(10.)61 b(FUTURE)30 +b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 4204 y(The)41 b(F)-8 +b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e +(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)-8 +b(ree)330 4314 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)g +(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h +(in)g(spirit)330 4423 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma) +m(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i +(concerns.)330 4533 y(See)c Ft(http://www.gnu.org/copy)o(left)o(/)p +FB(.)330 4663 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m (en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 -b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 +b(If)29 b(the)g(Do)s(cumen)m(t)330 4772 y(sp)s(eci\014es)45 b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g -(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116 +(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 4882 y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f (follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330 -1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m +4991 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m (ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g -(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8 +(b)m(y)330 5101 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8 b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s -(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445 +(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 5210 y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m (ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the) -h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46 -b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f -(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f -(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen) -m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m -(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g -(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330 -2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or) -e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330 -2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m -(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h -(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g -(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i -(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33 -b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s -(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330 -2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m -(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330 -2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m -(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330 -2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a) -g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330 -2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29 -b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions) -f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g -(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e -(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h -(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330 -3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h -(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330 -3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h -(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330 -3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f -(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts) -330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j -(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s -(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h -(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site) -g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g -(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is) -330 4005 y(eligible)h(for)e(relicensing.)p eop end -%%Page: 310 316 -TeXDict begin 310 315 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(310)150 299 y +h(F)-8 b(ree)330 5320 y(Soft)m(w)m(are)31 b(F)-8 b(oundation.)p +eop end +%%Page: 290 296 +TeXDict begin 290 295 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(290)150 299 y FA(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g (do)t(cumen)l(ts)150 458 y FB(T)-8 b(o)35 b(use)f(this)h(License)g(in)f (a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f (cop)m(y)i(of)f(the)f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h (notices)g(just)f(after)h(the)g(title)h(page:)468 673 -y Fq(Copyright)42 b(\(C\))79 b Fb(year)88 b(your)40 b(name)9 -b Fq(.)468 760 y(Permission)42 b(is)e(granted)g(to)g(copy,)h -(distribute)g(and/or)g(modify)f(this)g(document)468 847 -y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i -(License,)f(Version)g(1.3)468 934 y(or)f(any)g(later)g(version)h -(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468 -1021 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g -(and)f(no)f(Back-Cover)468 1108 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f -(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468 -1196 y(Free)g(Documentation)h(License''.)150 1323 y FB(If)50 -b(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)52 b(Sections,)k(F)-8 -b(ron)m(t-Co)m(v)m(er)53 b(T)-8 b(exts)52 b(and)e(Bac)m(k-Co)m(v)m(er)j -(T)-8 b(exts,)57 b(replace)52 b(the)150 1432 y(\\with)6 -b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 -1537 y Fq(with)40 b(the)g(Invariant)h(Sections)g(being)g -Fb(list)f(their)g(titles)9 b Fq(,)41 b(with)547 1624 -y(the)f(Front-Cover)i(Texts)e(being)g Fb(list)9 b Fq(,)40 -b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1712 y(being)e -Fb(list)9 b Fq(.)150 1839 y FB(If)25 b(y)m(ou)h(ha)m(v)m(e)g(In)m(v)-5 -b(arian)m(t)26 b(Sections)g(without)g(Co)m(v)m(er)g(T)-8 +y Fp(Copyright)42 b(\(C\))79 b Fb(year)88 b(your)40 b(name)p +Fp(.)468 760 y(Permission)i(is)e(granted)g(to)g(copy,)h(distribute)g +(and/or)g(modify)f(this)g(document)468 847 y(under)h(the)f(terms)g(of)g +(the)g(GNU)g(Free)g(Documentation)i(License,)f(Version)g(1.2)468 +934 y(or)f(any)g(later)g(version)h(published)h(by)d(the)h(Free)g +(Software)h(Foundation;)468 1021 y(with)g(no)e(Invariant)j(Sections,)f +(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468 +1108 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h +(in)f(the)g(section)g(entitled)h(``GNU)468 1196 y(Free)g(Documentation) +h(License''.)150 1323 y FB(If)50 b(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5 +b(arian)m(t)52 b(Sections,)k(F)-8 b(ron)m(t-Co)m(v)m(er)53 +b(T)-8 b(exts)52 b(and)e(Bac)m(k-Co)m(v)m(er)j(T)-8 b(exts,)57 +b(replace)52 b(the)150 1432 y(\\with)6 b(.)22 b(.)g(.)12 +b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 1537 +y Fp(with)40 b(the)g(Invariant)h(Sections)g(being)g Fb(list)f(their)g +(titles)p Fp(,)h(with)547 1624 y(the)f(Front-Cover)i(Texts)e(being)g +Fb(list)p Fp(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547 +1712 y(being)f Fb(list)p Fp(.)150 1839 y FB(If)25 b(y)m(ou)h(ha)m(v)m +(e)g(In)m(v)-5 b(arian)m(t)26 b(Sections)g(without)g(Co)m(v)m(er)g(T)-8 b(exts,)27 b(or)e(some)h(other)g(com)m(bination)g(of)g(the)f(three,)150 1948 y(merge)31 b(those)g(t)m(w)m(o)h(alternativ)m(es)g(to)f(suit)g (the)f(situation.)150 2075 y(If)35 b(y)m(our)g(do)s(cumen)m(t)g(con)m @@ -160668,7 +155255,7 @@ 2512 y FA(A.2)67 b(GNU)45 b(Lesser)h(General)g(Public)e(License)1417 2654 y FB(V)-8 b(ersion)31 b(2.1,)h(F)-8 b(ebruary)30 b(1999)390 2781 y(Cop)m(yrigh)m(t)842 2778 y(c)817 2781 -y Fy(\015)g FB(1991,)j(1999)f(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 +y Fs(\015)g FB(1991,)j(1999)f(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 2891 y(51)g(F)-8 b(ranklin)31 b(Street,)g(Fifth)g(Flo)s(or,)g(Boston,)g(MA)g(02110-1301,)k(USA)390 3110 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g(and)f @@ -160678,7 +155265,7 @@ (Lesser)f(GPL.)61 b(It)30 b(also)i(coun)m(ts)390 3549 y(as)f(the)f(successor)h(of)f(the)h(GNU)g(Library)e(Public)i(License,)g (v)m(ersion)g(2,)g(hence)f(the)390 3658 y(v)m(ersion)h(n)m(um)m(b)s(er) -e(2.1.])150 3843 y Fu(Pream)m(ble)150 3990 y FB(The)e(licenses)i(for)f +e(2.1.])150 3843 y Fv(Pream)m(ble)150 3990 y FB(The)e(licenses)i(for)f (most)g(soft)m(w)m(are)i(are)e(designed)g(to)h(tak)m(e)g(a)m(w)m(a)m(y) h(y)m(our)e(freedom)g(to)h(share)e(and)h(c)m(hange)150 4099 y(it.)42 b(By)32 b(con)m(trast,)g(the)f(GNU)g(General)h(Public)f @@ -160707,9 +155294,9 @@ (it)h(in)f(new)g(free)150 5340 y(programs;)f(and)g(that)h(y)m(ou)g(are) f(informed)g(that)h(y)m(ou)g(can)f(do)h(these)f(things.)p eop end -%%Page: 311 317 -TeXDict begin 311 316 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(311)150 299 y(T)-8 +%%Page: 291 297 +TeXDict begin 291 296 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(291)150 299 y(T)-8 b(o)36 b(protect)h(y)m(our)e(righ)m(ts,)j(w)m(e)e(need)g(to)g(mak)m(e)h (restrictions)f(that)g(forbid)f(distributors)g(to)h(den)m(y)g(y)m(ou) 150 408 y(these)c(righ)m(ts)g(or)g(to)g(ask)g(y)m(ou)g(to)g(surrender)d @@ -160807,9 +155394,9 @@ 5340 y(op)s(erating)31 b(system,)g(as)f(w)m(ell)i(as)e(its)h(v)-5 b(arian)m(t,)32 b(the)e(GNU/Lin)m(ux)h(op)s(erating)g(system.)p eop end -%%Page: 312 318 -TeXDict begin 312 317 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(312)150 299 y(Although)27 +%%Page: 292 298 +TeXDict begin 292 297 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(292)150 299 y(Although)27 b(the)h(Lesser)f(General)h(Public)f(License)h(is)f(Less)g(protectiv)m (e)j(of)d(the)h(users')e(freedom,)i(it)g(do)s(es)150 408 y(ensure)i(that)i(the)f(user)g(of)g(a)g(program)g(that)h(is)f(link) @@ -160824,7 +155411,7 @@ (library".)62 b(The)37 b(former)g(con)m(tains)h(co)s(de)g(deriv)m(ed)g (from)e(the)i(library)-8 b(,)40 b(whereas)d(the)h(latter)150 997 y(m)m(ust)30 b(b)s(e)g(com)m(bined)h(with)f(the)g(library)g(in)g -(order)g(to)h(run.)150 1190 y Fu(TERMS)41 b(AND)g(CONDITIONS)f(F)m(OR)h +(order)g(to)h(run.)150 1190 y Fv(TERMS)41 b(AND)g(CONDITIONS)f(F)m(OR)h (COPYING,)f(DISTRIBUTION)150 1315 y(AND)h(MODIFICA)-10 b(TION)199 1462 y FB(0.)61 b(This)21 b(License)h(Agreemen)m(t)h (applies)f(to)g(an)m(y)g(soft)m(w)m(are)h(library)e(or)g(other)h @@ -160894,9 +155481,9 @@ (meet)g(all)h(of)e(these)h(conditions:)379 5340 y(a.)61 b(The)30 b(mo)s(di\014ed)f(w)m(ork)i(m)m(ust)f(itself)h(b)s(e)f(a)h (soft)m(w)m(are)g(library)-8 b(.)p eop end -%%Page: 313 319 -TeXDict begin 313 318 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(313)374 299 y(b.)60 +%%Page: 293 299 +TeXDict begin 293 298 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(293)374 299 y(b.)60 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(\014les)h(mo)s(di\014ed)e(to)i (carry)g(prominen)m(t)f(notices)i(stating)f(that)h(y)m(ou)510 408 y(c)m(hanged)31 b(the)g(\014les)f(and)g(the)g(date)h(of)g(an)m(y)g @@ -160983,9 +155570,9 @@ (terms)e(of)i(Sections)f(1)h(and)e(2)h(ab)s(o)m(v)m(e)i(on)d(a)i (medium)330 5340 y(customarily)31 b(used)f(for)g(soft)m(w)m(are)i(in)m (terc)m(hange.)p eop end -%%Page: 314 320 -TeXDict begin 314 319 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(314)330 299 y(If)23 +%%Page: 294 300 +TeXDict begin 294 299 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(294)330 299 y(If)23 b(distribution)g(of)h(ob)5 b(ject)24 b(co)s(de)g(is)g(made)g(b)m(y)f (o\013ering)i(access)f(to)h(cop)m(y)f(from)f(a)h(designated)h(place,) 330 408 y(then)g(o\013ering)g(equiv)-5 b(alen)m(t)27 @@ -161078,9 +155665,9 @@ h(necessarily)f(b)s(e)g(able)g(to)h(recompile)g(the)f(application)i(to) e(use)510 5340 y(the)i(mo)s(di\014ed)e(de\014nitions.\))p eop end -%%Page: 315 321 -TeXDict begin 315 320 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(315)374 299 y(b.)60 +%%Page: 295 301 +TeXDict begin 295 300 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(295)374 299 y(b.)60 b(Use)33 b(a)g(suitable)g(shared)f(library)h(mec)m(hanism)g(for)f (linking)h(with)f(the)h(Library)-8 b(.)48 b(A)32 b(suitable)510 408 y(mec)m(hanism)h(is)h(one)f(that)h(\(1\))g(uses)f(at)h(run)d(time)j @@ -161165,9 +155752,9 @@ h(accept)g(this)f(License.)39 b(Therefore,)330 5340 y(b)m(y)k(mo)s (difying)g(or)g(distributing)f(the)i(Library)e(\(or)h(an)m(y)h(w)m(ork) f(based)g(on)g(the)g(Library\),)k(y)m(ou)p eop end -%%Page: 316 322 -TeXDict begin 316 321 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(316)330 299 y(indicate)33 +%%Page: 296 302 +TeXDict begin 296 301 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(296)330 299 y(indicate)33 b(y)m(our)g(acceptance)h(of)f(this)f(License)h(to)h(do)e(so,)h(and)f (all)h(its)g(terms)f(and)g(conditions)h(for)330 408 y(cop)m(ying,)f (distributing)d(or)i(mo)s(difying)e(the)i(Library)f(or)g(w)m(orks)g @@ -161256,9 +155843,9 @@ (ersion)330 5340 y(n)m(um)m(b)s(er,)29 b(y)m(ou)h(ma)m(y)h(c)m(ho)s (ose)g(an)m(y)f(v)m(ersion)h(ev)m(er)g(published)d(b)m(y)i(the)g(F)-8 b(ree)31 b(Soft)m(w)m(are)g(F)-8 b(oundation.)p eop end -%%Page: 317 323 -TeXDict begin 317 322 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(317)154 299 y(14.)61 +%%Page: 297 303 +TeXDict begin 297 302 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(297)154 299 y(14.)61 b(If)25 b(y)m(ou)h(wish)e(to)j(incorp)s(orate)f(parts)f(of)g(the)h (Library)f(in)m(to)h(other)g(free)f(programs)h(whose)f(distribu-)330 408 y(tion)30 b(conditions)g(are)g(incompatible)h(with)e(these,)h @@ -161311,10 +155898,10 @@ b(AR)g(TY)34 b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF) 330 3455 y(SUCH)e(D)m(AMA)m(GES.)150 3688 y FA(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)p eop end -%%Page: 318 324 -TeXDict begin 318 323 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(318)150 299 y -Fu(Ho)m(w)40 b(to)h(Apply)g(These)h(T)-10 b(erms)42 b(to)f(Y)-10 +%%Page: 298 304 +TeXDict begin 298 303 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(298)150 299 y +Fv(Ho)m(w)40 b(to)h(Apply)g(These)h(T)-10 b(erms)42 b(to)f(Y)-10 b(our)41 b(New)f(Libraries)150 446 y FB(If)24 b(y)m(ou)i(dev)m(elop)g (a)f(new)f(library)-8 b(,)27 b(and)d(y)m(ou)h(w)m(an)m(t)h(it)f(to)h(b) s(e)e(of)i(the)f(greatest)h(p)s(ossible)f(use)g(to)g(the)g(public,)150 @@ -161333,8 +155920,8 @@ (p)s(oin)m(ter)g(to)h(where)e(the)h(full)f(notice)i(is)150 1242 y(found.)390 1359 y Fb(one)40 b(line)g(to)g(give)g(the)g (library's)h(name)f(and)g(an)g(idea)g(of)g(what)g(it)f(does.)390 -1446 y Fq(Copyright)i(\(C\))f Fb(year)88 b(name)40 b(of)g(author)390 -1621 y Fq(This)g(library)h(is)f(free)g(software;)h(you)f(can)g +1446 y Fp(Copyright)i(\(C\))f Fb(year)88 b(name)40 b(of)g(author)390 +1621 y Fp(This)g(library)h(is)f(free)g(software;)h(you)f(can)g (redistribute)i(it)e(and/or)g(modify)h(it)390 1708 y(under)f(the)g (terms)h(of)e(the)h(GNU)g(Lesser)h(General)g(Public)f(License)h(as)f (published)h(by)390 1795 y(the)f(Free)g(Software)h(Foundation;)h @@ -161358,17 +155945,17 @@ 3142 y(sign)c(a)g(\\cop)m(yrigh)m(t)i(disclaimer")f(for)e(the)i (library)-8 b(,)27 b(if)e(necessary)-8 b(.)40 b(Here)27 b(is)f(a)g(sample;)i(alter)f(the)f(names:)390 3258 y -Fq(Yoyodyne,)41 b(Inc.,)g(hereby)f(disclaims)i(all)d(copyright)j +Fp(Yoyodyne,)41 b(Inc.,)g(hereby)f(disclaims)i(all)d(copyright)j (interest)f(in)e(the)h(library)390 3345 y(`Frob')h(\(a)e(library)i(for) f(tweaking)h(knobs\))g(written)f(by)g(James)h(Random)f(Hacker.)390 -3520 y Fb(signature)h(of)f(Ty)g(Coon)9 b Fq(,)40 b(1)f(April)h(1990)390 -3607 y(Ty)g(Coon,)g(President)h(of)f(Vice)150 3746 y +3520 y Fb(signature)h(of)f(Ty)g(Coon)p Fp(,)g(1)f(April)i(1990)390 +3607 y(Ty)f(Coon,)g(President)h(of)f(Vice)150 3746 y FB(That's)30 b(all)i(there)e(is)h(to)g(it!)150 3985 y FA(A.3)67 b(GNU)45 b(General)h(Public)f(License)1477 4115 y FB(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390 -4254 y(Cop)m(yrigh)m(t)842 4251 y(c)817 4254 y Fy(\015)h +4254 y(Cop)m(yrigh)m(t)842 4251 y(c)817 4254 y Fs(\015)h FB(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 -b(Inc.)e Fs(http://fsf.org/)390 4473 y FB(Ev)m(ery)m(one)h(is)g(p)s +b(Inc.)e Ft(http://fsf.org/)390 4473 y FB(Ev)m(ery)m(one)h(is)g(p)s (ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)g (of)g(this)390 4583 y(license)g(do)s(cumen)m(t,)g(but)e(c)m(hanging)j (it)f(is)f(not)h(allo)m(w)m(ed.)150 4822 y FA(Pream)l(ble)150 @@ -161380,9 +155967,9 @@ b(to)h(share)e(and)h(c)m(hange)h(the)f(w)m(orks.)51 b(By)35 b(con)m(trast,)h(the)e(GNU)h(General)g(Public)e(License)i(is)p eop end -%%Page: 319 325 -TeXDict begin 319 324 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(319)150 299 y(in)m(tended)25 +%%Page: 299 305 +TeXDict begin 299 304 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(299)150 299 y(in)m(tended)25 b(to)h(guaran)m(tee)h(y)m(our)e(freedom)g(to)h(share)f(and)f(c)m(hange) j(all)f(v)m(ersions)f(of)h(a)f(program|to)h(mak)m(e)150 408 y(sure)35 b(it)h(remains)f(free)h(soft)m(w)m(are)h(for)f(all)g(its) @@ -161467,9 +156054,9 @@ 5230 y(\\Cop)m(yrigh)m(t")e(also)g(means)e(cop)m(yrigh)m(t-lik)m(e)k (la)m(ws)d(that)g(apply)f(to)h(other)g(kinds)f(of)g(w)m(orks,)h(suc)m (h)g(as)330 5340 y(semiconductor)j(masks.)p eop end -%%Page: 320 326 -TeXDict begin 320 325 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(320)330 299 y(\\The)40 +%%Page: 300 306 +TeXDict begin 300 305 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(300)330 299 y(\\The)40 b(Program")h(refers)f(to)g(an)m(y)h(cop)m(yrigh)m(table)h(w)m(ork)e (licensed)h(under)e(this)h(License.)70 b(Eac)m(h)330 408 y(licensee)43 b(is)f(addressed)f(as)h(\\y)m(ou".)76 @@ -161556,9 +156143,9 @@ 5340 y(not)g(part)f(of)h(the)g(w)m(ork.)42 b(F)-8 b(or)32 b(example,)f(Corresp)s(onding)e(Source)i(includes)f(in)m(terface)i (de\014nition)p eop end -%%Page: 321 327 -TeXDict begin 321 326 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(321)330 299 y(\014les)32 +%%Page: 301 307 +TeXDict begin 301 306 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(301)330 299 y(\014les)32 b(asso)s(ciated)i(with)d(source)i(\014les)f(for)g(the)g(w)m(ork,)h(and) f(the)g(source)g(co)s(de)h(for)e(shared)h(libraries)330 408 y(and)g(dynamically)g(link)m(ed)h(subprograms)e(that)h(the)h(w)m @@ -161644,9 +156231,9 @@ b(,)29 b(and)d(y)m(ou)h(ma)m(y)h(o\013er)330 5340 y(supp)s(ort)h(or)h (w)m(arran)m(t)m(y)h(protection)h(for)e(a)h(fee.)p eop end -%%Page: 322 328 -TeXDict begin 322 327 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(322)199 299 y(5.)61 +%%Page: 302 308 +TeXDict begin 302 307 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(302)199 299 y(5.)61 b(Con)m(v)m(eying)31 b(Mo)s(di\014ed)f(Source)g(V)-8 b(ersions.)330 427 y(Y)g(ou)27 b(ma)m(y)g(con)m(v)m(ey)h(a)f(w)m(ork)g (based)f(on)h(the)g(Program,)g(or)g(the)g(mo)s(di\014cations)g(to)g @@ -161732,9 +156319,9 @@ b(and)e(only)g(if)h(y)m(ou)f(receiv)m(ed)i(the)e(ob)5 b(ject)31 b(co)s(de)e(with)g(suc)m(h)g(an)g(o\013er,)510 5340 y(in)h(accord)h(with)f(subsection)h(6b.)p eop end -%%Page: 323 329 -TeXDict begin 323 328 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(323)374 299 y(d.)60 +%%Page: 303 309 +TeXDict begin 303 308 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(303)374 299 y(d.)60 b(Con)m(v)m(ey)37 b(the)f(ob)5 b(ject)37 b(co)s(de)f(b)m(y)g (o\013ering)g(access)i(from)d(a)i(designated)f(place)h(\(gratis)g(or)f (for)510 408 y(a)j(c)m(harge\),)k(and)c(o\013er)g(equiv)-5 @@ -161825,9 +156412,9 @@ 5340 y(mo)s(di\014ed)29 b(or)h(installed.)42 b(Access)31 b(to)g(a)g(net)m(w)m(ork)g(ma)m(y)g(b)s(e)e(denied)h(when)f(the)i(mo)s (di\014cation)f(itself)p eop end -%%Page: 324 330 -TeXDict begin 324 329 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(324)330 299 y(materially)32 +%%Page: 304 310 +TeXDict begin 304 309 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(304)330 299 y(materially)32 b(and)e(adv)m(ersely)h(a\013ects)h(the)e(op)s(eration)h(of)g(the)f(net) m(w)m(ork)h(or)g(violates)h(the)f(rules)f(and)330 408 y(proto)s(cols)h(for)f(comm)m(unication)i(across)f(the)g(net)m(w)m @@ -161908,9 +156495,9 @@ (terms)g(of)g(that)h(license)g(do)s(cumen)m(t,)g(pro)m(vided)e(that)330 5340 y(the)g(further)e(restriction)i(do)s(es)f(not)h(surviv)m(e)f(suc)m (h)g(relicensing)h(or)g(con)m(v)m(eying.)p eop end -%%Page: 325 331 -TeXDict begin 325 330 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(325)330 299 y(If)30 +%%Page: 305 311 +TeXDict begin 305 310 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(305)330 299 y(If)30 b(y)m(ou)g(add)g(terms)g(to)h(a)g(co)m(v)m(ered)h(w)m(ork)e(in)g (accord)h(with)f(this)g(section,)i(y)m(ou)e(m)m(ust)g(place,)i(in)e (the)330 408 y(relev)-5 b(an)m(t)31 b(source)f(\014les,)g(a)g(statemen) @@ -161993,9 +156580,9 @@ (the)g(predecessor)f(in)330 5340 y(in)m(terest,)i(if)e(the)h (predecessor)f(has)g(it)h(or)f(can)h(get)h(it)e(with)h(reasonable)g (e\013orts.)p eop end -%%Page: 326 332 -TeXDict begin 326 331 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(326)330 299 y(Y)-8 +%%Page: 306 312 +TeXDict begin 306 311 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(306)330 299 y(Y)-8 b(ou)36 b(ma)m(y)g(not)g(imp)s(ose)f(an)m(y)h(further)e(restrictions)j (on)e(the)h(exercise)g(of)g(the)g(righ)m(ts)g(gran)m(ted)g(or)330 408 y(a\016rmed)27 b(under)f(this)h(License.)40 b(F)-8 @@ -162088,9 +156675,9 @@ 5340 y(w)m(ork)d(if)g(y)m(ou)g(are)h(a)f(part)m(y)g(to)h(an)f (arrangemen)m(t)h(with)e(a)i(third)e(part)m(y)h(that)g(is)g(in)g(the)g (business)f(of)p eop end -%%Page: 327 333 -TeXDict begin 327 332 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(327)330 299 y(distributing)30 +%%Page: 307 313 +TeXDict begin 307 312 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(307)330 299 y(distributing)30 b(soft)m(w)m(are,)i(under)d(whic)m(h)h(y)m(ou)h(mak)m(e)g(pa)m(ymen)m (t)g(to)g(the)g(third)f(part)m(y)g(based)g(on)h(the)330 408 y(exten)m(t)f(of)g(y)m(our)f(activit)m(y)i(of)e(con)m(v)m(eying)i @@ -162181,9 +156768,9 @@ (OGRAM,)h(TO)f(THE)g(EXTENT)f(PER-)330 5340 y(MITTED)g(BY)i(APPLICABLE) e(LA)-10 b(W.)47 b(EX)m(CEPT)f(WHEN)i(OTHER)-10 b(WISE)45 b(ST)-8 b(A)g(TED)47 b(IN)p eop end -%%Page: 328 334 -TeXDict begin 328 333 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(328)330 299 y(WRITING)34 +%%Page: 308 314 +TeXDict begin 308 313 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(308)330 299 y(WRITING)34 b(THE)f(COPYRIGHT)g(HOLDERS)g(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)33 b(PR)m(O)m(VIDE)330 408 y(THE)d(PR)m(OGRAM)i(\\AS)e(IS")h(WITHOUT)f(W) -10 b(ARRANTY)31 b(OF)g(ANY)g(KIND,)g(EITHER)f(EX-)330 @@ -162241,8 +156828,8 @@ (least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i(p)s(oin)m(ter)g (to)g(where)f(the)g(full)g(notice)i(is)e(found.)390 4468 y Fb(one)40 b(line)g(to)g(give)g(the)g(program's)h(name)f(and)g(a)g -(brief)g(idea)g(of)g(what)g(it)g(does.)390 4555 y Fq(Copyright)h(\(C\)) -f Fb(year)49 b(name)40 b(of)g(author)390 4730 y Fq(This)g(program)h(is) +(brief)g(idea)g(of)g(what)g(it)g(does.)390 4555 y Fp(Copyright)h(\(C\)) +f Fb(year)49 b(name)40 b(of)g(author)390 4730 y Fp(This)g(program)h(is) f(free)g(software:)h(you)f(can)g(redistribute)i(it)e(and/or)g(modify) 390 4817 y(it)g(under)g(the)g(terms)g(of)g(the)g(GNU)g(General)h (Public)f(License)h(as)f(published)h(by)390 4904 y(the)f(Free)g @@ -162253,10 +156840,10 @@ (without)g(even)f(the)g(implied)h(warranty)g(of)390 5340 y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80 b(See)40 b(the)g(GNU)p eop end -%%Page: 329 335 -TeXDict begin 329 334 bop 150 -116 a FB(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2095 b(329)390 299 y -Fq(General)41 b(Public)f(License)h(for)f(more)g(details.)390 +%%Page: 309 315 +TeXDict begin 309 314 bop 150 -116 a FB(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2095 b(309)390 299 y +Fp(General)41 b(Public)f(License)h(for)f(more)g(details.)390 473 y(You)g(should)g(have)h(received)g(a)e(copy)h(of)g(the)g(GNU)g (General)h(Public)f(License)390 560 y(along)g(with)g(this)h(program.)80 b(If)40 b(not,)g(see)g(http://www.gnu.org/licenses/.)150 @@ -162265,13 +156852,13 @@ 829 y(If)36 b(the)h(program)f(do)s(es)g(terminal)h(in)m(teraction,)j (mak)m(e)d(it)g(output)f(a)h(short)f(notice)i(lik)m(e)g(this)e(when)f (it)150 939 y(starts)c(in)f(an)g(in)m(teractiv)m(e)j(mo)s(de:)390 -1051 y Fb(program)49 b Fq(Copyright)42 b(\(C\))e Fb(year)48 -b(name)41 b(of)e(author)390 1138 y Fq(This)h(program)h(comes)f(with)g +1051 y Fb(program)49 b Fp(Copyright)42 b(\(C\))e Fb(year)48 +b(name)41 b(of)e(author)390 1138 y Fp(This)h(program)h(comes)f(with)g (ABSOLUTELY)i(NO)e(WARRANTY;)h(for)f(details)h(type)f(`show)g(w'.)390 1225 y(This)g(is)g(free)g(software,)h(and)f(you)g(are)g(welcome)h(to)e (redistribute)j(it)390 1313 y(under)e(certain)h(conditions;)h(type)e (`show)g(c')g(for)g(details.)150 1447 y FB(The)25 b(h)m(yp)s(othetical) -i(commands)e(`)p Fs(show)k(w)p FB(')d(and)e(`)p Fs(show)30 +i(commands)e(`)p Ft(show)k(w)p FB(')d(and)e(`)p Ft(show)30 b(c)p FB(')25 b(should)g(sho)m(w)g(the)h(appropriate)f(parts)g(of)h (the)150 1557 y(General)h(Public)f(License.)40 b(Of)26 b(course,)h(y)m(our)f(program's)g(commands)g(migh)m(t)h(b)s(e)f @@ -162283,7 +156870,7 @@ (disclaimer")f(for)f(the)g(program,)h(if)f(necessary)-8 b(.)51 b(F)-8 b(or)33 b(more)h(information)f(on)g(this,)i(and)150 2020 y(ho)m(w)30 b(to)i(apply)e(and)f(follo)m(w)j(the)e(GNU)h(GPL,)g -(see)g Fs(http://www.gnu.org/licen)o(ses/)o FB(.)150 +(see)g Ft(http://www.gnu.org/licen)o(ses/)o FB(.)150 2154 y(The)d(GNU)h(General)g(Public)f(License)i(do)s(es)e(not)g(p)s (ermit)g(incorp)s(orating)h(y)m(our)f(program)g(in)m(to)i(propri-)150 2264 y(etary)35 b(programs.)52 b(If)34 b(y)m(our)g(program)h(is)f(a)h @@ -162293,1878 +156880,1767 @@ b(this)g(is)f(what)h(y)m(ou)g(w)m(an)m(t)h(to)g(do,)150 2483 y(use)h(the)g(GNU)h(Lesser)f(General)h(Public)f(License)h(instead) g(of)f(this)g(License.)50 b(But)34 b(\014rst,)f(please)h(read)150 -2593 y Fs(http://www.gnu.org/philo)o(soph)o(y/wh)o(y-n)o(ot-l)o(gpl.)o +2593 y Ft(http://www.gnu.org/philo)o(soph)o(y/wh)o(y-n)o(ot-l)o(gpl.)o (htm)o(l)p FB(.)p eop end -%%Page: 330 336 -TeXDict begin 330 335 bop 150 -116 a FB(Bibliograph)m(y)2956 -b(330)150 299 y Fx(Bibliograph)l(y)150 530 y FB([CBCA)-8 -b(TT])630 640 y(Bo)s(do)22 b(Mo)s(eller,)j Fs(")p FB(Securit)m(y)d(of)g +%%Page: 310 316 +TeXDict begin 310 315 bop 150 -116 a FB(Bibliograph)m(y)2956 +b(310)150 299 y Fy(Bibliograph)l(y)150 551 y FB([CBCA)-8 +b(TT])630 660 y(Bo)s(do)22 b(Mo)s(eller,)j Ft(")p FB(Securit)m(y)d(of)g (CBC)g(Ciphersuites)f(in)g(SSL/TLS:)g(Problems)g(and)h(Coun-)630 -749 y(termeasures)p Fs(")p FB(,)g(2002,)j(a)m(v)-5 b(ailable)22 -b(from)e Fs(http://www.openssl.org/~b)o(odo)o(/tls)o(-cbc)o(.tx)o(t)p -FB(.)150 908 y([GPGH])158 b(Mik)m(e)85 b(Ashley)-8 b(,)98 -b Fs(")p FB(The)84 b(GNU)g(Priv)-5 b(acy)84 b(Handb)s(o)s(ok)p -Fs(")p FB(,)97 b(2002,)i(a)m(v)-5 b(ailable)86 b(from)630 -1017 y Fs(http://www.gnupg.org/gph)o(/en/)o(manu)o(al.)o(pdf)p -FB(.)150 1176 y([GUTPKI])630 1285 y(P)m(eter)36 b(Gutmann,)f -Fs(")p FB(Ev)m(erything)g(y)m(ou)g(nev)m(er)g(w)m(an)m(ted)h(to)f(kno)m -(w)g(ab)s(out)f(PKI)g(but)g(w)m(ere)630 1395 y(forced)20 -b(to)h(\014nd)e(out)p Fs(")p FB(,)k(Av)-5 b(ailable)21 -b(from)f Fs(http://www.cs.auckland.ac)o(.nz/)o(~pgu)o(t00)o(1/)p -FB(.)150 1553 y([NISTSP80057])630 1663 y(NIST)93 b(Sp)s(ecial)g -(Publication)i(800-57,)112 b Fs(")p FB(Recommendation)94 -b(for)g(Key)f(Man-)630 1772 y(agemen)m(t)78 b(-)e(P)m(art)h(1:)133 -b(General)77 b(\(Revised\))p Fs(")p FB(,)89 b(Marc)m(h)77 -b(2007,)90 b(a)m(v)-5 b(ailable)78 b(from)630 1882 y -Fs(http://csrc.nist.gov/pub)o(lica)o(tion)o(s/n)o(istp)o(ubs/)o(800)o -(-57/)o(sp80)o(0-5)o(7-Pa)o(rt1-)o(rev)o(ised)o(2_)630 -1991 y(Mar08-2007.pdf)p FB(.)150 2150 y([RF)m(C2246])630 -2259 y(Tim)33 b(Dierks)g(and)f(Christopher)g(Allen,)i -Fs(")p FB(The)e(TLS)g(Proto)s(col)i(V)-8 b(ersion)34 -b(1.0)p Fs(")p FB(,)g(Jan)m(uary)630 2369 y(1999,)e(Av)-5 -b(ailable)32 b(from)e Fs(http://www.ietf.org/rfc/r)o(fc22)o(46.t)o(xt)p -FB(.)150 2527 y([RF)m(C4346])630 2637 y(Tim)j(Dierks)h(and)g(Eric)f -(Rescorla,)j Fs(")p FB(The)d(TLS)g(Proto)s(col)i(V)-8 -b(ersion)34 b(1.1)p Fs(")p FB(,)i(Matc)m(h)f(2006,)630 -2746 y(Av)-5 b(ailable)32 b(from)e Fs(http://www.ietf.org/rfc/)o(rfc4)o -(346)o(.txt)o FB(.)150 2905 y([RF)m(C2440])630 3014 y(Jon)98 -b(Callas,)116 b(Lutz)99 b(Donnerhac)m(k)m(e,)117 b(Hal)99 -b(Finney)f(and)g(Ro)s(dney)f(Tha)m(y)m(er,)630 3124 y -Fs(")p FB(Op)s(enPGP)126 b(Message)j(F)-8 b(ormat)p Fs(")p -FB(,)153 b(No)m(v)m(em)m(b)s(er)129 b(1998,)154 b(Av)-5 -b(ailable)129 b(from)630 3233 y Fs(http://www.ietf.org/rfc/)o(rfc2)o -(440.)o(txt)o FB(.)150 3392 y([RF)m(C4880])630 3501 y(Jon)70 -b(Callas,)81 b(Lutz)71 b(Donnerhac)m(k)m(e,)82 b(Hal)71 -b(Finney)-8 b(,)81 b(Da)m(vid)71 b(Sha)m(w)f(and)g(Ro)s(dney)630 -3611 y(Tha)m(y)m(er,)79 b Fs(")p FB(Op)s(enPGP)67 b(Message)j(F)-8 -b(ormat)p Fs(")p FB(,)79 b(No)m(v)m(em)m(b)s(er)70 b(2007,)80 -b(Av)-5 b(ailable)70 b(from)630 3720 y Fs(http://www.ietf.org/rfc/)o -(rfc4)o(880.)o(txt)o FB(.)150 3879 y([RF)m(C4211])630 -3988 y(J.)77 b(Sc)m(haad,)90 b Fs(")p FB(In)m(ternet)77 -b(X.509)i(Public)e(Key)h(Infrastructure)e(Certi\014cate)i(Re-)630 -4098 y(quest)95 b(Message)h(F)-8 b(ormat)96 b(\(CRMF\))p -Fs(")p FB(,)112 b(Septem)m(b)s(er)94 b(2005,)113 b(Av)-5 -b(ailable)96 b(from)630 4208 y Fs(http://www.ietf.org/rfc/)o(rfc4)o -(211.)o(txt)o FB(.)150 4366 y([RF)m(C2817])630 4475 y(Rohit)24 -b(Khare)e(and)h(Scott)h(La)m(wrence,)h Fs(")p FB(Upgrading)e(to)h(TLS)e -(Within)h(HTTP/1.1)p Fs(")p FB(,)j(Ma)m(y)630 4585 y(2000,)32 -b(Av)-5 b(ailable)32 b(from)e Fs(http://www.ietf.org/rfc/r)o(fc28)o -(17.t)o(xt)150 4743 y FB([RF)m(C2818])630 4853 y(Eric)107 -b(Rescorla,)128 b Fs(")p FB(HTTP)106 b(Ov)m(er)i(TLS)p -Fs(")p FB(,)125 b(Ma)m(y)108 b(2000,)129 b(Av)-5 b(ailable)108 -b(from)630 4963 y Fs(http://www.ietf/rfc/rfc2)o(818.)o(txt)p -FB(.)150 5121 y([RF)m(C2945])630 5230 y(T)-8 b(om)37 -b(W)-8 b(u,)39 b Fs(")p FB(The)e(SRP)f(Authen)m(tication)j(and)d(Key)h -(Exc)m(hange)h(System)p Fs(")p FB(,)h(Septem)m(b)s(er)630 -5340 y(2000,)32 b(Av)-5 b(ailable)32 b(from)e Fs -(http://www.ietf.org/rfc/r)o(fc29)o(45.t)o(xt)p FB(.)p -eop end -%%Page: 331 337 -TeXDict begin 331 336 bop 150 -116 a FB(Bibliograph)m(y)2956 -b(331)150 299 y([RF)m(C2986])630 408 y(Magn)m(us)86 b(Nystrom)g(and)f -(Burt)h(Kaliski,)100 b Fs(")p FB(PK)m(CS)85 b(10)h(v1.7:)153 -b(Certi\014cation)630 518 y(Request)125 b(Syn)m(tax)f(Sp)s -(eci\014cation)p Fs(")p FB(,)148 b(No)m(v)m(em)m(b)s(er)126 -b(2000,)150 b(Av)-5 b(ailable)125 b(from)630 628 y Fs -(http://www.ietf.org/rfc/)o(rfc2)o(986.)o(txt)o FB(.)150 -788 y([RF)m(C3280])630 897 y(Russell)43 b(Housley)-8 +770 y(termeasures)p Ft(")p FB(,)g(2002,)j(a)m(v)-5 b(ailable)22 +b(from)e Ft(http://www.openssl.org/~b)o(odo)o(/tls)o(-cbc)o(.tx)o(t)p +FB(.)150 936 y([GPGH])158 b(Mik)m(e)85 b(Ashley)-8 b(,)98 +b Ft(")p FB(The)84 b(GNU)g(Priv)-5 b(acy)84 b(Handb)s(o)s(ok)p +Ft(")p FB(,)97 b(2002,)i(a)m(v)-5 b(ailable)86 b(from)630 +1046 y Ft(http://www.gnupg.org/gph)o(/en/)o(manu)o(al.)o(pdf)p +FB(.)150 1212 y([GUTPKI])630 1322 y(P)m(eter)36 b(Gutmann,)f +Ft(")p FB(Ev)m(erything)g(y)m(ou)g(nev)m(er)g(w)m(an)m(ted)h(to)f(kno)m +(w)g(ab)s(out)f(PKI)g(but)g(w)m(ere)630 1431 y(forced)20 +b(to)h(\014nd)e(out)p Ft(")p FB(,)k(Av)-5 b(ailable)21 +b(from)f Ft(http://www.cs.auckland.ac)o(.nz/)o(~pgu)o(t00)o(1/)p +FB(.)150 1598 y([RF)m(C2246])630 1707 y(Tim)33 b(Dierks)g(and)f +(Christopher)g(Allen,)i Ft(")p FB(The)e(TLS)g(Proto)s(col)i(V)-8 +b(ersion)34 b(1.0)p Ft(")p FB(,)g(Jan)m(uary)630 1817 +y(1999,)e(Av)-5 b(ailable)32 b(from)e Ft(http://www.ietf.org/rfc/r)o +(fc22)o(46.t)o(xt)p FB(.)150 1983 y([RF)m(C4346])630 +2093 y(Tim)j(Dierks)h(and)g(Eric)f(Rescorla,)j Ft(")p +FB(The)d(TLS)g(Proto)s(col)i(V)-8 b(ersion)34 b(1.1)p +Ft(")p FB(,)i(Matc)m(h)f(2006,)630 2202 y(Av)-5 b(ailable)32 +b(from)e Ft(http://www.ietf.org/rfc/)o(rfc4)o(346)o(.txt)o +FB(.)150 2369 y([RF)m(C2440])630 2478 y(Jon)98 b(Callas,)116 +b(Lutz)99 b(Donnerhac)m(k)m(e,)117 b(Hal)99 b(Finney)f(and)g(Ro)s(dney) +f(Tha)m(y)m(er,)630 2588 y Ft(")p FB(Op)s(enPGP)126 b(Message)j(F)-8 +b(ormat)p Ft(")p FB(,)153 b(No)m(v)m(em)m(b)s(er)129 +b(1998,)154 b(Av)-5 b(ailable)129 b(from)630 2698 y Ft +(http://www.ietf.org/rfc/)o(rfc2)o(440.)o(txt)o FB(.)150 +2864 y([RF)m(C4880])630 2974 y(Jon)70 b(Callas,)81 b(Lutz)71 +b(Donnerhac)m(k)m(e,)82 b(Hal)71 b(Finney)-8 b(,)81 b(Da)m(vid)71 +b(Sha)m(w)f(and)g(Ro)s(dney)630 3083 y(Tha)m(y)m(er,)79 +b Ft(")p FB(Op)s(enPGP)67 b(Message)j(F)-8 b(ormat)p +Ft(")p FB(,)79 b(No)m(v)m(em)m(b)s(er)70 b(2007,)80 b(Av)-5 +b(ailable)70 b(from)630 3193 y Ft(http://www.ietf.org/rfc/)o(rfc4)o +(880.)o(txt)o FB(.)150 3359 y([RF)m(C4211])630 3469 y(J.)77 +b(Sc)m(haad,)90 b Ft(")p FB(In)m(ternet)77 b(X.509)i(Public)e(Key)h +(Infrastructure)e(Certi\014cate)i(Re-)630 3578 y(quest)95 +b(Message)h(F)-8 b(ormat)96 b(\(CRMF\))p Ft(")p FB(,)112 +b(Septem)m(b)s(er)94 b(2005,)113 b(Av)-5 b(ailable)96 +b(from)630 3688 y Ft(http://www.ietf.org/rfc/)o(rfc4)o(211.)o(txt)o +FB(.)150 3854 y([RF)m(C2817])630 3964 y(Rohit)24 b(Khare)e(and)h(Scott) +h(La)m(wrence,)h Ft(")p FB(Upgrading)e(to)h(TLS)e(Within)h(HTTP/1.1)p +Ft(")p FB(,)j(Ma)m(y)630 4074 y(2000,)32 b(Av)-5 b(ailable)32 +b(from)e Ft(http://www.ietf.org/rfc/r)o(fc28)o(17.t)o(xt)150 +4240 y FB([RF)m(C2818])630 4350 y(Eric)107 b(Rescorla,)128 +b Ft(")p FB(HTTP)106 b(Ov)m(er)i(TLS)p Ft(")p FB(,)125 +b(Ma)m(y)108 b(2000,)129 b(Av)-5 b(ailable)108 b(from)630 +4459 y Ft(http://www.ietf/rfc/rfc2)o(818.)o(txt)p FB(.)150 +4626 y([RF)m(C2945])630 4735 y(T)-8 b(om)37 b(W)-8 b(u,)39 +b Ft(")p FB(The)e(SRP)f(Authen)m(tication)j(and)d(Key)h(Exc)m(hange)h +(System)p Ft(")p FB(,)h(Septem)m(b)s(er)630 4845 y(2000,)32 +b(Av)-5 b(ailable)32 b(from)e Ft(http://www.ietf.org/rfc/r)o(fc29)o +(45.t)o(xt)p FB(.)150 5011 y([RF)m(C2986])630 5121 y(Magn)m(us)86 +b(Nystrom)g(and)f(Burt)h(Kaliski,)100 b Ft(")p FB(PK)m(CS)85 +b(10)h(v1.7:)153 b(Certi\014cation)630 5230 y(Request)125 +b(Syn)m(tax)f(Sp)s(eci\014cation)p Ft(")p FB(,)148 b(No)m(v)m(em)m(b)s +(er)126 b(2000,)150 b(Av)-5 b(ailable)125 b(from)630 +5340 y Ft(http://www.ietf.org/rfc/)o(rfc2)o(986.)o(txt)o +FB(.)p eop end +%%Page: 311 317 +TeXDict begin 311 316 bop 150 -116 a FB(Bibliograph)m(y)2956 +b(311)150 299 y([RF)m(C3280])630 408 y(Russell)43 b(Housley)-8 b(,)48 b(Tim)43 b(P)m(olk,)k(W)-8 b(arwic)m(k)45 b(F)-8 -b(ord)44 b(and)e(Da)m(vid)j(Solo,)i Fs(")p FB(In)m(ternet)c(X.509)630 -1007 y(Public)d(Key)h(Infrastructure)e(Certi\014cate)j(and)e +b(ord)44 b(and)e(Da)m(vid)j(Solo,)i Ft(")p FB(In)m(ternet)c(X.509)630 +518 y(Public)d(Key)h(Infrastructure)e(Certi\014cate)j(and)e (Certi\014cate)i(Rev)m(o)s(cation)g(List)f(\(CRL\))630 -1117 y(Pro\014le)p Fs(")p FB(,)26 b(April)f(2002,)j(Av)-5 -b(ailable)27 b(from)d Fs(http://www.ietf.org/rfc/r)o(fc32)o(80.t)o(xt)p -FB(.)150 1277 y([RF)m(C3749])630 1386 y(Scott)31 b(Hollen)m(b)s(ec)m -(k,)h Fs(")p FB(T)-8 b(ransp)s(ort)28 b(La)m(y)m(er)j(Securit)m(y)f -(Proto)s(col)h(Compression)e(Metho)s(ds)p Fs(")p FB(,)630 -1496 y(Ma)m(y)j(2004,)g(Av)-5 b(ailable)32 b(from)e Fs +628 y(Pro\014le)p Ft(")p FB(,)26 b(April)f(2002,)j(Av)-5 +b(ailable)27 b(from)d Ft(http://www.ietf.org/rfc/r)o(fc32)o(80.t)o(xt)p +FB(.)150 787 y([RF)m(C3749])630 897 y(Scott)31 b(Hollen)m(b)s(ec)m(k,)h +Ft(")p FB(T)-8 b(ransp)s(ort)28 b(La)m(y)m(er)j(Securit)m(y)f(Proto)s +(col)h(Compression)e(Metho)s(ds)p Ft(")p FB(,)630 1006 +y(Ma)m(y)j(2004,)g(Av)-5 b(ailable)32 b(from)e Ft (http://www.ietf.org/rfc/)o(rfc)o(3749)o(.txt)o FB(.)150 -1656 y([RF)m(C3820])630 1766 y(Stev)m(en)i(T)-8 b(uec)m(k)m(e,)34 +1166 y([RF)m(C3820])630 1275 y(Stev)m(en)i(T)-8 b(uec)m(k)m(e,)34 b(V)-8 b(on)33 b(W)-8 b(elc)m(h,)34 b(Doug)e(Engert,)h(Laura)e(P)m -(earlman,)j(and)d(Mary)h(Thomp-)630 1875 y(son,)40 b -Fs(")p FB(In)m(ternet)e(X.509)h(Public)f(Key)g(Infrastructure)e -(\(PKI\))i(Pro)m(xy)h(Certi\014cate)g(Pro-)630 1985 y(\014le)p -Fs(")p FB(,)30 b(June)g(2004,)i(a)m(v)-5 b(ailable)33 -b(from)d Fs(http://www.ietf.org/rfc3)o(820)p FB(.)150 -2145 y([PK)m(CS12])93 b(RSA)35 b(Lab)s(oratories,)j Fs(")p +(earlman,)j(and)d(Mary)h(Thomp-)630 1385 y(son,)40 b +Ft(")p FB(In)m(ternet)e(X.509)h(Public)f(Key)g(Infrastructure)e +(\(PKI\))i(Pro)m(xy)h(Certi\014cate)g(Pro-)630 1494 y(\014le)p +Ft(")p FB(,)30 b(June)g(2004,)i(a)m(v)-5 b(ailable)33 +b(from)d Ft(http://www.ietf.org/rfc3)o(820)p FB(.)150 +1654 y([PK)m(CS12])93 b(RSA)35 b(Lab)s(oratories,)j Ft(")p FB(PK)m(CS)c(12)i(v1.0:)52 b(P)m(ersonal)36 b(Information)f(Exc)m -(hange)i(Syn)m(tax)p Fs(")p FB(,)630 2255 y(June)29 b(1999,)k(Av)-5 -b(ailable)32 b(from)e Fs(http://www.rsa.com)p FB(.)150 -2415 y([RESCORLA])630 2524 y(Eric)g(Rescorla,)i Fs(")p +(hange)i(Syn)m(tax)p Ft(")p FB(,)630 1763 y(June)29 b(1999,)k(Av)-5 +b(ailable)32 b(from)e Ft(http://www.rsa.com)p FB(.)150 +1923 y([RESCORLA])630 2032 y(Eric)g(Rescorla,)i Ft(")p FB(SSL)d(and)h(TLS:)g(Designing)h(and)f(Building)g(Secure)g(Systems)p -Fs(")p FB(,)g(2001)150 2685 y([SELKEY])630 2794 y(Arjen)38 -b(Lenstra)h(and)f(Eric)h(V)-8 b(erheul,)41 b Fs(")p FB(Selecting)f -(Cryptographic)f(Key)g(Sizes)p Fs(")p FB(,)i(2003,)630 -2904 y(a)m(v)-5 b(ailable)33 b(from)d Fs(http://www.win.tue.nl/~)o -(klen)o(str)o(a/ke)o(y.pd)o(f)p FB(.)150 3064 y([SSL3])226 +Ft(")p FB(,)g(2001)150 2192 y([SELKEY])630 2301 y(Arjen)38 +b(Lenstra)h(and)f(Eric)h(V)-8 b(erheul,)41 b Ft(")p FB(Selecting)f +(Cryptographic)f(Key)g(Sizes)p Ft(")p FB(,)i(2003,)630 +2411 y(a)m(v)-5 b(ailable)33 b(from)d Ft(http://www.win.tue.nl/~)o +(klen)o(str)o(a/ke)o(y.pd)o(f)p FB(.)150 2570 y([SSL3])226 b(Alan)29 b(F)-8 b(reier,)30 b(Philip)e(Karlton)g(and)g(P)m(aul)h(Ko)s -(c)m(her,)g Fs(")p FB(The)e(SSL)g(Proto)s(col)j(V)-8 -b(ersion)29 b(3.0)p Fs(")p FB(,)630 3173 y(No)m(v)m(em)m(b)s(er)21 -b(1996,)k(Av)-5 b(ailable)22 b(from)d Fs(http://wp.netscape.com/eng)o -(/ssl)o(3/d)o(raft)o(302)o(.txt)o FB(.)150 3334 y([STEVENS])630 -3443 y(Ric)m(hard)47 b(Stev)m(ens,)52 b Fs(")p FB(UNIX)c(Net)m(w)m(ork) -h(Programming,)i(V)-8 b(olume)49 b(1)p Fs(")p FB(,)i(Pren)m(tice)e -(Hall)630 3553 y(PTR,)30 b(Jan)m(uary)g(1998)150 3713 +(c)m(her,)g Ft(")p FB(The)e(SSL)g(Proto)s(col)j(V)-8 +b(ersion)29 b(3.0)p Ft(")p FB(,)630 2680 y(No)m(v)m(em)m(b)s(er)21 +b(1996,)k(Av)-5 b(ailable)22 b(from)d Ft(http://wp.netscape.com/eng)o +(/ssl)o(3/d)o(raft)o(302)o(.txt)o FB(.)150 2839 y([STEVENS])630 +2949 y(Ric)m(hard)47 b(Stev)m(ens,)52 b Ft(")p FB(UNIX)c(Net)m(w)m(ork) +h(Programming,)i(V)-8 b(olume)49 b(1)p Ft(")p FB(,)i(Pren)m(tice)e +(Hall)630 3059 y(PTR,)30 b(Jan)m(uary)g(1998)150 3218 y([TLSEXT])60 b(Simon)39 b(Blak)m(e-Wilson,)46 b(Magn)m(us)40 b(Nystrom,)j(Da)m(vid)e(Hop)m(w)m(o)s(o)s(d,)i(Jan)c(Mikk)m(elsen)j -(and)630 3823 y(Tim)31 b(W)-8 b(righ)m(t,)34 b Fs(")p +(and)630 3328 y(Tim)31 b(W)-8 b(righ)m(t,)34 b Ft(")p FB(T)-8 b(ransp)s(ort)31 b(La)m(y)m(er)i(Securit)m(y)f(\(TLS\))f -(Extensions)p Fs(")p FB(,)i(June)d(2003,)35 b(Av)-5 b(ail-)630 -3932 y(able)31 b(from)f Fs(http://www.ietf.org/rfc/)o(rfc)o(3546)o -(.txt)o FB(.)150 4092 y([TLSPGP])61 b(Nik)m(os)118 b(Ma)m(vrogiannop)s -(oulos,)141 b Fs(")p FB(Using)117 b(Op)s(enPGP)e(k)m(eys)j(for)f(TLS)f -(au-)630 4202 y(then)m(tication)p Fs(")p FB(,)151 b(April)125 +(Extensions)p Ft(")p FB(,)i(June)d(2003,)35 b(Av)-5 b(ail-)630 +3437 y(able)31 b(from)f Ft(http://www.ietf.org/rfc/)o(rfc)o(3546)o +(.txt)o FB(.)150 3597 y([TLSPGP])61 b(Nik)m(os)118 b(Ma)m(vrogiannop)s +(oulos,)141 b Ft(")p FB(Using)117 b(Op)s(enPGP)e(k)m(eys)j(for)f(TLS)f +(au-)630 3706 y(then)m(tication)p Ft(")p FB(,)151 b(April)125 b(2004,)151 b(No)m(v)m(em)m(b)s(er)126 b(2007.)328 b(Av)-5 -b(ailable)126 b(from)630 4312 y Fs(http://www.ietf.org/rfc/)o(rfc5)o -(081.)o(txt)o FB(.)150 4472 y([TLSSRP])76 b(Da)m(vid)c(T)-8 +b(ailable)126 b(from)630 3816 y Ft(http://www.ietf.org/rfc/)o(rfc5)o +(081.)o(txt)o FB(.)150 3975 y([TLSSRP])76 b(Da)m(vid)c(T)-8 b(a)m(ylor,)83 b(T)-8 b(rev)m(or)72 b(P)m(errin,)81 b(T)-8 b(om)72 b(W)-8 b(u)71 b(and)g(Nik)m(os)h(Ma)m(vrogiannop)s(oulos,)630 -4581 y Fs(")p FB(Using)60 b(SRP)f(for)h(TLS)f(Authen)m(tication)p -Fs(")p FB(,)70 b(No)m(v)m(em)m(b)s(er)61 b(2007.)132 -b(Av)-5 b(ailable)61 b(from)630 4691 y Fs(http://www.ietf.org/rfc/)o -(rfc5)o(054.)o(txt)o FB(.)150 4851 y([TLSPSK])72 b(P)m(asi)37 -b(Eronen)f(and)g(Hannes)g(Tsc)m(hofenig,)j Fs(")p FB(Pre-shared)c(k)m -(ey)i(Ciphersuites)f(for)g(TLS)p Fs(")p FB(,)630 4961 +4085 y Ft(")p FB(Using)60 b(SRP)f(for)h(TLS)f(Authen)m(tication)p +Ft(")p FB(,)70 b(No)m(v)m(em)m(b)s(er)61 b(2007.)132 +b(Av)-5 b(ailable)61 b(from)630 4194 y Ft(http://www.ietf.org/rfc/)o +(rfc5)o(054.)o(txt)o FB(.)150 4354 y([TLSPSK])72 b(P)m(asi)37 +b(Eronen)f(and)g(Hannes)g(Tsc)m(hofenig,)j Ft(")p FB(Pre-shared)c(k)m +(ey)i(Ciphersuites)f(for)g(TLS)p Ft(")p FB(,)630 4463 y(Decem)m(b)s(er)31 b(2005,)i(Av)-5 b(ailable)32 b(from)d -Fs(http://www.ietf.org/rfc/rf)o(c427)o(9.t)o(xt)p FB(.)150 -5121 y([TOMSRP])630 5230 y(T)-8 b(om)78 b(W)-8 b(u,)90 -b Fs(")p FB(The)77 b(Stanford)f(SRP)h(Authen)m(tication)j(Pro)5 -b(ject)p Fs(")p FB(,)90 b(Av)-5 b(ailable)79 b(at)630 -5340 y Fs(http://srp.stanford.edu/)o FB(.)p eop end -%%Page: 332 338 -TeXDict begin 332 337 bop 150 -116 a FB(Bibliograph)m(y)2956 -b(332)150 299 y([WEGER])75 b(Arjen)49 b(Lenstra)h(and)f(Xiao)m(yun)h(W) --8 b(ang)51 b(and)e(Benne)h(de)f(W)-8 b(eger,)56 b Fs(")p -FB(Colliding)50 b(X.509)630 408 y(Certi\014cates)p Fs(")p -FB(,)72 b(Cryptology)63 b(ePrin)m(t)g(Arc)m(hiv)m(e,)72 -b(Rep)s(ort)62 b(2005/067,)75 b(Av)-5 b(ailable)64 b(at)630 -518 y Fs(http://eprint.iacr.org/)p FB(.)p eop end -%%Page: 333 339 -TeXDict begin 333 338 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(333)150 299 y Fx(F)-13 b(unction)52 -b(and)h(Data)i(Index)150 610 y FA(A)150 728 y Fq +Ft(http://www.ietf.org/rfc/rf)o(c427)o(9.t)o(xt)p FB(.)150 +4623 y([TOMSRP])630 4732 y(T)-8 b(om)78 b(W)-8 b(u,)90 +b Ft(")p FB(The)77 b(Stanford)f(SRP)h(Authen)m(tication)j(Pro)5 +b(ject)p Ft(")p FB(,)90 b(Av)-5 b(ailable)79 b(at)630 +4842 y Ft(http://srp.stanford.edu/)o FB(.)150 5001 y([WEGER])c(Arjen)49 +b(Lenstra)h(and)f(Xiao)m(yun)h(W)-8 b(ang)51 b(and)e(Benne)h(de)f(W)-8 +b(eger,)56 b Ft(")p FB(Colliding)50 b(X.509)630 5111 +y(Certi\014cates)p Ft(")p FB(,)72 b(Cryptology)63 b(ePrin)m(t)g(Arc)m +(hiv)m(e,)72 b(Rep)s(ort)62 b(2005/067,)75 b(Av)-5 b(ailable)64 +b(at)630 5220 y Ft(http://eprint.iacr.org/)p FB(.)p eop +end +%%Page: 312 318 +TeXDict begin 312 317 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(312)150 299 y Fy(F)-13 b(unction)52 +b(and)h(Data)i(Index)150 610 y FA(A)150 728 y Fp (alert-description->string)18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fp(293)150 817 -y Fq(alert-get)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fq(275)150 817 +y Fp(alert-get)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fp(291)150 905 y Fq +(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fq(273)150 905 y Fp (alert-level->string)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fp(293)150 993 y Fq(alert-send)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g +b Fq(275)150 993 y Fp(alert-send)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(291)150 1082 -y Fq(anonymous-client-credentials?)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(292)150 -1170 y Fq(anonymous-server-credentials?)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(292)150 -1427 y FA(B)150 1545 y Fq(bye)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(273)150 1082 +y Fp(anonymous-client-credentials?)9 b Fa(:)18 b(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(274)150 +1170 y Fp(anonymous-server-credentials?)9 b Fa(:)18 b(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(274)150 +1427 y FA(B)150 1545 y Fp(bye)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 -b Fp(291)150 1802 y FA(C)150 1921 y Fq(certificate-credentials?)26 +b Fq(273)150 1802 y FA(C)150 1921 y Fp(certificate-credentials?)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(292)150 2009 y Fq(certificate-request->string)13 +(:)g(:)47 b Fq(274)150 2009 y Fp(certificate-request->string)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(293)150 2097 y Fq(certificate-status->string)16 +b Fq(275)150 2097 y Fp(certificate-status->string)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(293)150 2186 y Fq(certificate-type->string)26 +42 b Fq(275)150 2186 y Fp(certificate-type->string)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(292)150 2274 y Fq(certificate-verify->string)16 +(:)g(:)47 b Fq(274)150 2274 y Fp(certificate-verify->string)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(292)150 2362 y Fq(cipher->string)12 b Fa(:)k(:)d(:)g(:)g(:)h(:) +42 b Fq(274)150 2362 y Fp(cipher->string)12 b Fa(:)k(:)d(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fp(293)150 2450 y Fq +(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fq(275)150 2450 y Fp (cipher-suite->string)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 -b Fp(290)150 2539 y Fq(close-request->string)11 b Fa(:)18 +b Fq(272)150 2539 y Fp(close-request->string)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(293)150 2627 y Fq(compression-method->string)16 +g(:)g(:)g(:)g(:)38 b Fq(275)150 2627 y Fp(compression-method->string)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(293)150 2715 y Fq(connection-end->string)8 b +42 b Fq(275)150 2715 y Fp(connection-end->string)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(293)150 2803 y Fq(credentials->string)16 +(:)h(:)f(:)g(:)g(:)35 b Fq(275)150 2803 y Fp(credentials->string)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fp(293)150 3061 y FA(D)150 -3179 y Fq(dh-parameters?)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fq(275)150 3061 y FA(D)150 +3179 y Fp(dh-parameters?)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)38 b Fp(292)150 3267 y Fq(digest->string)12 +(:)h(:)f(:)38 b Fq(274)150 3267 y Fp(digest->string)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fp(293)150 3524 y FA(E)150 3643 y Fq(error->string)21 +b Fq(275)150 3524 y FA(E)150 3643 y Fp(error->string)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fp(281,)27 -b(292)150 3900 y FA(G)150 4018 y Fq(gnutls-version)12 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fq(263,)27 +b(274)150 3900 y FA(G)150 4018 y Fp(gnutls-version)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fp(291)150 4106 y Fq(gnutls_alert_get)7 b Fa(:)16 b(:)d(:)h(:)f(:)g +b Fq(273)150 4106 y Fp(gnutls_alert_get)7 b Fa(:)16 b(:)d(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)33 b Fp(115)150 4195 y Fq(gnutls_alert_get_name)11 +g(:)g(:)g(:)h(:)f(:)33 b Fq(117)150 4195 y Fp(gnutls_alert_get_name)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fp(115)150 4283 y Fq(gnutls_alert_send) +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(117)150 4283 y Fp(gnutls_alert_send) 25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fp(116)150 -4371 y Fq(gnutls_alert_send_appropriate)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(115)150 -4459 y Fq(gnutls_anon_allocate_client_c)q(rede)q(ntial)q(s)325 +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(118)150 +4371 y Fp(gnutls_alert_send_appropriate)9 b Fa(:)18 b(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(117)150 +4459 y Fp(gnutls_anon_allocate_client_c)q(rede)q(ntial)q(s)325 4547 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(116)150 4635 -y Fq(gnutls_anon_allocate_server_c)q(rede)q(ntial)q(s)325 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(118)150 4635 +y Fp(gnutls_anon_allocate_server_c)q(rede)q(ntial)q(s)325 4722 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(116)150 4810 -y Fq(gnutls_anon_free_client_crede)q(ntia)q(ls)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(116)150 4899 y Fq +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(118)150 4810 +y Fp(gnutls_anon_free_client_crede)q(ntia)q(ls)10 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)36 b Fq(118)150 4899 y Fp (gnutls_anon_free_server_crede)q(ntia)q(ls)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(116)150 4987 y Fq +b(:)c(:)f(:)g(:)g(:)36 b Fq(118)150 4987 y Fp (gnutls_anon_set_params_functi)q(on)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)46 b Fp(117)150 5075 y Fq(gnutls_anon_set_server_dh_par) +(:)h(:)f(:)g(:)46 b Fq(119)150 5075 y Fp(gnutls_anon_set_server_dh_par) q(ams)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b -Fp(117)150 5163 y Fq(gnutls_anon_set_server_params)q(_fun)q(ction)25 -b Fa(:)14 b(:)45 b Fp(117)150 5252 y Fq(gnutls_auth_client_get_type)13 +Fq(119)150 5163 y Fp(gnutls_anon_set_server_params)q(_fun)q(ction)25 +b Fa(:)14 b(:)45 b Fq(119)150 5252 y Fp(gnutls_auth_client_get_type)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(117)150 5340 y Fq(gnutls_auth_get_type)13 b Fa(:)18 +b Fq(119)150 5340 y Fp(gnutls_auth_get_type)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)40 b Fp(117)2025 610 y Fq +g(:)g(:)h(:)f(:)g(:)40 b Fq(119)2025 610 y Fp (gnutls_auth_server_get_type)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(118)2025 698 y -Fq(gnutls_bye)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(120)2025 698 y +Fp(gnutls_bye)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(118)2025 786 y Fq +(:)g(:)g(:)g(:)g(:)49 b Fq(120)2025 786 y Fp (gnutls_certificate_activation_)q(time_)q(peer)q(s)2200 873 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(119)2025 961 -y Fq(gnutls_certificate_allocate_cr)q(edent)q(ials)2200 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(121)2025 961 +y Fp(gnutls_certificate_allocate_cr)q(edent)q(ials)2200 1048 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(119)2025 1136 -y Fq(gnutls_certificate_client_get_)q(reque)q(st_)2178 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(121)2025 1135 +y Fp(gnutls_certificate_client_get_)q(reque)q(st_)2178 1223 y(status)6 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)33 b Fp(119)2025 1310 y Fq +g(:)g(:)g(:)g(:)h(:)33 b Fq(121)2025 1310 y Fp (gnutls_certificate_client_set_)q(retri)q(eve_)2178 1398 y(function)18 b Fa(:)e(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)45 b Fp(119)2025 1485 y Fq(gnutls_certificate_expiration_)q(time_)q -(peer)q(s)2200 1573 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +f(:)45 b Fq(121)2025 1485 y Fp(gnutls_certificate_expiration_)q(time_)q +(peer)q(s)2200 1572 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b -Fp(120)2025 1660 y Fq(gnutls_certificate_free_ca_nam)q(es)17 -b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(120)2025 -1748 y Fq(gnutls_certificate_free_cas)13 b Fa(:)19 b(:)13 +Fq(122)2025 1660 y Fp(gnutls_certificate_free_ca_nam)q(es)17 +b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(122)2025 +1748 y Fp(gnutls_certificate_free_cas)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(120)2025 1836 y Fq(gnutls_certificate_free_creden)q(tials)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(120)2025 1924 -y Fq(gnutls_certificate_free_crls)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(121)2025 2011 y Fq +b Fq(122)2025 1836 y Fp(gnutls_certificate_free_creden)q(tials)10 +b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(122)2025 1923 +y Fp(gnutls_certificate_free_crls)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(122)2025 2011 y Fp (gnutls_certificate_free_keys)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(121)2025 2099 y Fq +g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(123)2025 2099 y Fp (gnutls_certificate_get_openpgp)q(_keyr)q(ing)25 b Fa(:)13 -b(:)46 b Fp(121)2025 2187 y Fq(gnutls_certificate_get_ours)13 +b(:)46 b Fq(123)2025 2187 y Fp(gnutls_certificate_get_ours)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(121)2025 2275 y Fq(gnutls_certificate_get_peers)11 +b Fq(123)2025 2274 y Fp(gnutls_certificate_get_peers)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(121)2025 2362 y Fq(gnutls_certificate_get_x509_ca)q(s)25 -b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fp(122)2025 -2450 y Fq(gnutls_certificate_get_x509_cr)q(ls)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(122)2025 2538 y Fq +b Fq(123)2025 2362 y Fp(gnutls_certificate_get_x509_ca)q(s)25 +b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fq(123)2025 +2450 y Fp(gnutls_certificate_get_x509_cr)q(ls)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(124)2025 2538 y Fp (gnutls_certificate_send_x509_r)q(dn_se)q(quen)q(ce)2200 2625 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(122)2025 2713 -y Fq(gnutls_certificate_server_set_)q(reque)q(st)27 b -Fa(:)14 b(:)f(:)48 b Fp(122)2025 2800 y Fq -(gnutls_certificate_server_set_)q(retri)q(eve_)2178 2888 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(124)2025 2712 +y Fp(gnutls_certificate_server_set_)q(reque)q(st)27 b +Fa(:)14 b(:)f(:)48 b Fq(124)2025 2800 y Fp +(gnutls_certificate_server_set_)q(retri)q(eve_)2178 2887 y(function)18 b Fa(:)e(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)45 b Fp(123)2025 2975 y Fq(gnutls_certificate_set_dh_para)q(ms)17 -b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(123)2025 -3063 y Fq(gnutls_certificate_set_openpgp)q(_key)13 b -Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(245)2025 3151 -y Fq(gnutls_certificate_set_openpgp)q(_key_)q(file)2200 +f(:)45 b Fq(124)2025 2975 y Fp(gnutls_certificate_set_dh_para)q(ms)17 +b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(125)2025 +3063 y Fp(gnutls_certificate_set_openpgp)q(_key)13 b +Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(229)2025 3151 +y Fp(gnutls_certificate_set_openpgp)q(_key_)q(file)2200 3238 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(243)2025 3326 -y Fq(gnutls_certificate_set_openpgp)q(_key_)q(file)q(2)2200 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(227)2025 3325 +y Fp(gnutls_certificate_set_openpgp)q(_key_)q(file)q(2)2200 3413 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(243)2025 3501 -y Fq(gnutls_certificate_set_openpgp)q(_key_)q(mem)25 -b Fa(:)13 b(:)46 b Fp(244)2025 3588 y Fq -(gnutls_certificate_set_openpgp)q(_key_)q(mem2)2200 3676 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(227)2025 3500 +y Fp(gnutls_certificate_set_openpgp)q(_key_)q(mem)25 +b Fa(:)13 b(:)46 b Fq(228)2025 3588 y Fp +(gnutls_certificate_set_openpgp)q(_key_)q(mem2)2200 3675 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(243)2025 3763 y Fq +h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(227)2025 3763 y Fp (gnutls_certificate_set_openpgp)q(_keyr)q(ing_)q(file)2200 -3851 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +3850 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(244)2025 3938 -y Fq(gnutls_certificate_set_openpgp)q(_keyr)q(ing_)q(mem)2200 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(228)2025 3938 +y Fp(gnutls_certificate_set_openpgp)q(_keyr)q(ing_)q(mem)2200 4025 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(244)2025 4113 -y Fq(gnutls_certificate_set_params_)q(funct)q(ion)25 -b Fa(:)13 b(:)46 b Fp(123)2025 4201 y Fq +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(228)2025 4113 +y Fp(gnutls_certificate_set_params_)q(funct)q(ion)25 +b Fa(:)13 b(:)46 b Fq(125)2025 4201 y Fp (gnutls_certificate_set_rsa_exp)q(ort_p)q(aram)q(s)2200 4288 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(123)2025 4376 -y Fq(gnutls_certificate_set_verify_)q(flags)10 b Fa(:)19 -b(:)13 b(:)g(:)h(:)f(:)36 b Fp(124)2025 4464 y Fq +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(125)2025 4375 +y Fp(gnutls_certificate_set_verify_)q(flags)10 b Fa(:)19 +b(:)13 b(:)g(:)h(:)f(:)36 b Fq(125)2025 4463 y Fp (gnutls_certificate_set_verify_)q(limit)q(s)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(124)2025 4551 y Fq +b(:)13 b(:)g(:)g(:)34 b Fq(126)2025 4551 y Fp (gnutls_certificate_set_x509_cr)q(l)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)46 b Fp(125)2025 4639 y Fq +(:)g(:)g(:)h(:)46 b Fq(127)2025 4639 y Fp (gnutls_certificate_set_x509_cr)q(l_fil)q(e)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(124)2025 4727 y Fq +b(:)13 b(:)g(:)g(:)34 b Fq(126)2025 4726 y Fp (gnutls_certificate_set_x509_cr)q(l_mem)10 b Fa(:)19 -b(:)13 b(:)g(:)h(:)f(:)36 b Fp(124)2025 4815 y Fq +b(:)13 b(:)g(:)h(:)f(:)36 b Fq(126)2025 4814 y Fp (gnutls_certificate_set_x509_ke)q(y)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)46 b Fp(126)2025 4902 y Fq +(:)g(:)g(:)h(:)46 b Fq(128)2025 4902 y Fp (gnutls_certificate_set_x509_ke)q(y_fil)q(e)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(125)2025 4990 y Fq +b(:)13 b(:)g(:)g(:)34 b Fq(127)2025 4990 y Fp (gnutls_certificate_set_x509_ke)q(y_mem)10 b Fa(:)19 -b(:)13 b(:)g(:)h(:)f(:)36 b Fp(125)2025 5078 y Fq +b(:)13 b(:)g(:)h(:)f(:)36 b Fq(127)2025 5077 y Fp (gnutls_certificate_set_x509_si)q(mple_)q(pkcs)q(12_)2178 5165 y(file)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)38 b Fp(126)2025 5253 y Fq -(gnutls_certificate_set_x509_si)q(mple_)q(pkcs)q(12_)2178 -5340 y(mem)14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fp(127)p eop end -%%Page: 334 340 -TeXDict begin 334 339 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(334)150 299 y Fq -(gnutls_certificate_set_x509_t)q(rust)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(128)150 387 y Fq -(gnutls_certificate_set_x509_t)q(rust)q(_file)25 b Fa(:)14 -b(:)45 b Fp(127)150 476 y Fq(gnutls_certificate_set_x509_t)q(rust)q -(_mem)28 b Fa(:)13 b(:)g(:)48 b Fp(128)150 564 y Fq -(gnutls_certificate_type_get)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(129)150 653 y -Fq(gnutls_certificate_type_get_i)q(d)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(129)150 741 y Fq -(gnutls_certificate_type_get_n)q(ame)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)44 b Fp(129)150 830 y Fq(gnutls_certificate_type_list)11 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 -b Fp(129)150 918 y Fq(gnutls_certificate_type_set_p)q(rior)q(ity)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(129)150 1006 y Fq +g(:)g(:)g(:)g(:)g(:)h(:)38 b Fq(128)2025 5252 y Fp +(gnutls_certificate_set_x509_tr)q(ust)15 b Fa(:)k(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(129)2025 5340 y Fp +(gnutls_certificate_set_x509_tr)q(ust_f)q(ile)25 b Fa(:)13 +b(:)46 b Fq(129)p eop end +%%Page: 313 319 +TeXDict begin 313 318 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(313)150 299 y Fp +(gnutls_certificate_set_x509_t)q(rust)q(_mem)28 b Fa(:)13 +b(:)g(:)48 b Fq(129)150 387 y Fp(gnutls_certificate_type_get)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(130)150 476 y Fp(gnutls_certificate_type_get_i)q(d)28 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 +b Fq(130)150 564 y Fp(gnutls_certificate_type_get_n)q(ame)18 +b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fq(130)150 +653 y Fp(gnutls_certificate_type_list)11 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b +Fq(130)150 741 y Fp(gnutls_certificate_type_set_p)q(rior)q(ity)7 +b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(131)150 830 y Fp (gnutls_certificate_verify_fla)q(gs)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)48 b Fp(25)150 1095 y Fq +(:)f(:)g(:)g(:)g(:)48 b Fq(25)150 918 y Fp (gnutls_certificate_verify_pee)q(rs)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)46 b Fp(130)150 1183 y Fq(gnutls_certificate_verify_pee) +(:)h(:)f(:)g(:)46 b Fq(131)150 1006 y Fp(gnutls_certificate_verify_pee) q(rs2)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b -Fp(130)150 1272 y Fq(gnutls_check_version)13 b Fa(:)18 +Fq(131)150 1095 y Fp(gnutls_check_version)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)40 b Fp(130)150 1360 y Fq(gnutls_cipher_get)25 +g(:)g(:)h(:)f(:)g(:)40 b Fq(132)150 1183 y Fp(gnutls_cipher_get)25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fp(131)150 -1449 y Fq(gnutls_cipher_get_id)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:) +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(132)150 +1272 y Fp(gnutls_cipher_get_id)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 -b Fp(131)150 1537 y Fq(gnutls_cipher_get_key_size)16 +b Fq(132)150 1360 y Fp(gnutls_cipher_get_key_size)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(131)150 1625 y Fq(gnutls_cipher_get_name)8 b +42 b Fq(132)150 1449 y Fp(gnutls_cipher_get_name)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(131)150 1714 y Fq(gnutls_cipher_list)23 +(:)h(:)f(:)g(:)g(:)35 b Fq(132)150 1537 y Fp(gnutls_cipher_list)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fp(131)150 1802 -y Fq(gnutls_cipher_set_priority)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(132)150 1891 -y Fq(gnutls_cipher_suite_get_name)11 b Fa(:)19 b(:)13 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fq(133)150 1625 +y Fp(gnutls_cipher_set_priority)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(133)150 1714 +y Fp(gnutls_cipher_suite_get_name)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b -Fp(132)150 1979 y Fq(gnutls_cipher_suite_info)26 b Fa(:)13 +Fq(133)150 1802 y Fp(gnutls_cipher_suite_info)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 -b Fp(132)150 2068 y Fq(gnutls_compression_get)8 b Fa(:)18 +b Fq(133)150 1891 y Fp(gnutls_compression_get)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)35 b Fp(133)150 2156 y Fq(gnutls_compression_get_id)18 +(:)g(:)g(:)35 b Fq(134)150 1979 y Fp(gnutls_compression_get_id)18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)44 b Fp(133)150 2245 y Fq(gnutls_compression_get_name)13 +(:)44 b Fq(134)150 2068 y Fp(gnutls_compression_get_name)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(133)150 2333 y Fq(gnutls_compression_list)28 b Fa(:)13 +b Fq(134)150 2156 y Fp(gnutls_compression_list)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)50 b Fp(133)150 2421 y Fq(gnutls_compression_set_priori)q(ty)26 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(133)150 -2510 y Fq(gnutls_credentials_clear)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(134)150 -2598 y Fq(gnutls_credentials_set)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g +(:)50 b Fq(134)150 2245 y Fp(gnutls_compression_set_priori)q(ty)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fq(134)150 +2333 y Fp(gnutls_credentials_clear)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fq(135)150 +2421 y Fp(gnutls_credentials_set)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fp(134)150 2687 y Fq(gnutls_crypto_bigint_register)q(2)28 -b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(134)150 2775 y Fq(gnutls_crypto_cipher_register)q(2)28 -b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(135)150 2864 y Fq(gnutls_crypto_digest_register)q(2)28 -b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(135)150 2952 y Fq(gnutls_crypto_mac_register2)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(135)150 3041 y Fq(gnutls_crypto_pk_register2)16 +b Fq(135)150 2510 y Fp(gnutls_crypto_cipher_register)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(135)150 2598 y Fp(gnutls_crypto_digest_register)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(136)150 2687 y Fp(gnutls_crypto_mac_register)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(136)150 3129 y Fq(gnutls_crypto_rnd_register2)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(136)150 3217 y Fq(gnutls_crypto_single_cipher_r)q(egis)q(ter2)28 -b Fa(:)13 b(:)g(:)48 b Fp(137)150 3306 y Fq -(gnutls_crypto_single_digest_r)q(egis)q(ter2)28 b Fa(:)13 -b(:)g(:)48 b Fp(137)150 3394 y Fq(gnutls_crypto_single_mac_regi)q(ster) -q(2)12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(137)150 -3483 y Fq(gnutls_db_check_entry)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fp(138)150 3571 y Fq(gnutls_db_get_ptr)25 b Fa(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fp(138)150 3660 y -Fq(gnutls_db_remove_session)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(138)150 -3748 y Fq(gnutls_db_set_cache_expiratio)q(n)28 b Fa(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fp(138)150 -3836 y Fq(gnutls_db_set_ptr)25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g +42 b Fq(136)150 2775 y Fp(gnutls_crypto_rnd_register)16 +b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +42 b Fq(136)150 2864 y Fp(gnutls_db_check_entry)11 b +Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(137)150 2952 y Fp(gnutls_db_get_ptr)25 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(137)150 +3041 y Fp(gnutls_db_remove_session)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fq(137)150 +3129 y Fp(gnutls_db_set_cache_expiratio)q(n)28 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fq(137)150 +3217 y Fp(gnutls_db_set_ptr)25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -48 b Fp(139)150 3925 y Fq(gnutls_db_set_remove_function)9 +48 b Fq(137)150 3306 y Fp(gnutls_db_set_remove_function)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(139)150 4013 y Fq(gnutls_db_set_retrieve_functi)q(on)26 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(139)150 -4102 y Fq(gnutls_db_set_store_function)11 b Fa(:)19 b(:)13 +b Fq(138)150 3394 y Fp(gnutls_db_set_retrieve_functi)q(on)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fq(138)150 +3483 y Fp(gnutls_db_set_store_function)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b -Fp(139)150 4190 y Fq(gnutls_deinit)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)g +Fq(138)150 3571 y Fp(gnutls_deinit)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)41 b Fp(140)150 4279 y Fq(gnutls_dh_get_group) +g(:)h(:)f(:)g(:)g(:)g(:)41 b Fq(138)150 3660 y Fp(gnutls_dh_get_group) 16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fp(140)150 4367 y -Fq(gnutls_dh_get_peers_public_bi)q(ts)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)46 b Fp(140)150 4456 y Fq(gnutls_dh_get_prime_bits)26 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fq(139)150 3748 y +Fp(gnutls_dh_get_peers_public_bi)q(ts)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)46 b Fq(139)150 3836 y Fp(gnutls_dh_get_prime_bits)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(140)150 4544 y Fq(gnutls_dh_get_pubkey)13 +(:)g(:)47 b Fq(139)150 3925 y Fp(gnutls_dh_get_pubkey)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(140)150 4632 y -Fq(gnutls_dh_get_secret_bits)18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fp(141)150 4721 -y Fq(gnutls_dh_params_cpy)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fq(139)150 4013 y +Fp(gnutls_dh_get_secret_bits)18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fq(140)150 4102 +y Fp(gnutls_dh_params_cpy)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 -b Fp(141)150 4809 y Fq(gnutls_dh_params_deinit)28 b Fa(:)13 +b Fq(140)150 4190 y Fp(gnutls_dh_params_deinit)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)50 b Fp(141)150 4898 y Fq(gnutls_dh_params_export_pkcs3)9 +(:)50 b Fq(140)150 4279 y Fp(gnutls_dh_params_export_pkcs3)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(141)150 4986 y Fq(gnutls_dh_params_export_raw)13 +b Fq(140)150 4367 y Fp(gnutls_dh_params_export_raw)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(142)150 5075 y Fq(gnutls_dh_params_generate2)16 +b Fq(140)150 4456 y Fp(gnutls_dh_params_generate2)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(142)150 5163 y Fq(gnutls_dh_params_import_pkcs3)9 +42 b Fq(141)150 4544 y Fp(gnutls_dh_params_import_pkcs3)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(142)150 5252 y Fq(gnutls_dh_params_import_raw)13 +b Fq(141)150 4632 y Fp(gnutls_dh_params_import_raw)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(143)150 5340 y Fq(gnutls_dh_params_init)11 b Fa(:)18 +b Fq(141)150 4721 y Fp(gnutls_dh_params_init)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(143)2025 299 y Fq(gnutls_dh_set_prime_bits)26 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(143)2025 387 y Fq(gnutls_error_is_fatal)11 -b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fp(143)2025 476 y Fq -(gnutls_error_to_alert)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fp(144)2025 564 y Fq(gnutls_ext_register)16 b Fa(:)h(:)c(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)43 b Fp(144)2025 653 y Fq(gnutls_extra_check_version)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(242)2025 741 y Fq(gnutls_fingerprint)22 b Fa(:)14 -b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(144)2025 830 y Fq(gnutls_free)22 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fp(145)2025 918 y Fq(gnutls_global_deinit)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(145)2025 1007 y Fq(gnutls_global_init)22 +g(:)g(:)g(:)g(:)38 b Fq(142)150 4809 y Fp(gnutls_dh_set_prime_bits)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)47 b Fq(142)150 4898 y Fp(gnutls_error_is_fatal)11 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(142)150 4986 y Fp +(gnutls_error_to_alert)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 +b Fq(142)150 5075 y Fp(gnutls_extra_check_version)16 +b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +42 b Fq(226)150 5163 y Fp(gnutls_fingerprint)23 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fq(143)150 5252 y Fp(gnutls_free)22 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 +b Fq(143)150 5340 y Fp(gnutls_global_deinit)13 b Fa(:)18 +b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)40 b Fq(143)2025 299 y Fp(gnutls_global_init)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(145)2025 1095 -y Fq(gnutls_global_init_extra)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(242)2025 -1184 y Fq(gnutls_global_set_log_function)29 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fp(145)2025 -1272 y Fq(gnutls_global_set_log_level)13 b Fa(:)19 b(:)13 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fq(143)2025 387 +y Fp(gnutls_global_init_extra)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(226)2025 +476 y Fp(gnutls_global_set_log_function)29 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fq(144)2025 +564 y Fp(gnutls_global_set_log_level)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(146)2025 1361 y Fq(gnutls_global_set_mem_function)q(s)25 -b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fp(146)2025 -1449 y Fq(gnutls_handshake)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)33 b Fp(148)2025 1538 y Fq(gnutls_handshake_get_last_in)11 +b Fq(144)2025 653 y Fp(gnutls_global_set_mem_function)q(s)25 +b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fq(144)2025 +741 y Fp(gnutls_handshake)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)33 b Fq(146)2025 830 y Fp(gnutls_handshake_get_last_in)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(146)2025 1626 y Fq(gnutls_handshake_get_last_out)8 +b Fq(145)2025 918 y Fp(gnutls_handshake_get_last_out)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(147)2025 1715 y Fq(gnutls_handshake_set_max_packe)q(t_len)q(gth)25 -b Fa(:)13 b(:)46 b Fp(147)2025 1803 y Fq -(gnutls_handshake_set_post_clie)q(nt_he)q(llo_)2178 1890 +b Fq(145)2025 1007 y Fp(gnutls_handshake_set_max_packe)q(t_len)q(gth)25 +b Fa(:)13 b(:)46 b Fq(145)2025 1095 y Fp +(gnutls_handshake_set_post_clie)q(nt_he)q(llo_)2178 1182 y(function)18 b Fa(:)e(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)45 b Fp(147)2025 1979 y Fq(gnutls_handshake_set_private_e)q(xtens)q -(ions)2200 2066 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +f(:)45 b Fq(145)2025 1271 y Fp(gnutls_handshake_set_private_e)q(xtens)q +(ions)2200 1358 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(148)2025 -2154 y Fq(gnutls_hex_decode)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(146)2025 +1447 y Fp(gnutls_hex_decode)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -48 b Fp(149)2025 2243 y Fq(gnutls_hex_encode)25 b Fa(:)13 +48 b Fq(147)2025 1535 y Fp(gnutls_hex_encode)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fp(149)2025 2331 -y Fq(gnutls_hex2bin)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fq(147)2025 1624 +y Fp(gnutls_hex2bin)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)39 b Fp(148)2025 2420 y Fq(gnutls_ia_allocate_client_cred)q(entia)q -(ls)27 b Fa(:)14 b(:)f(:)48 b Fp(262)2025 2508 y Fq +g(:)39 b Fq(146)2025 1712 y Fp(gnutls_ia_allocate_client_cred)q(entia)q +(ls)27 b Fa(:)14 b(:)f(:)48 b Fq(246)2025 1801 y Fp (gnutls_ia_allocate_server_cred)q(entia)q(ls)27 b Fa(:)14 -b(:)f(:)48 b Fp(263)2025 2597 y Fq(gnutls_ia_enable)7 +b(:)f(:)48 b Fq(246)2025 1889 y Fp(gnutls_ia_enable)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fp(263)2025 -2685 y Fq(gnutls_ia_endphase_send)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fq(247)2025 +1977 y Fp(gnutls_ia_endphase_send)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b -Fp(263)2025 2774 y Fq(gnutls_ia_extract_inner_secret)29 +Fq(247)2025 2066 y Fp(gnutls_ia_extract_inner_secret)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(264)2025 2862 y Fq(gnutls_ia_free_client_credenti)q(als)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(264)2025 -2951 y Fq(gnutls_ia_free_server_credenti)q(als)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(264)2025 3039 y Fq +b Fq(247)2025 2154 y Fp(gnutls_ia_free_client_credenti)q(als)15 +b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(248)2025 +2243 y Fp(gnutls_ia_free_server_credenti)q(als)15 b Fa(:)k(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(248)2025 2331 y Fp (gnutls_ia_generate_challenge)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(264)2025 3128 y Fq +g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(248)2025 2420 y Fp (gnutls_ia_get_client_avp_ptr)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(265)2025 3216 y Fq +g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(248)2025 2508 y Fp (gnutls_ia_get_server_avp_ptr)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(265)2025 3305 y Fq(gnutls_ia_handshake) +g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(248)2025 2597 y Fp(gnutls_ia_handshake) 16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fp(265)2025 3393 -y Fq(gnutls_ia_handshake_p)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fq(249)2025 2685 +y Fp(gnutls_ia_handshake_p)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fp(265)2025 3482 y Fq(gnutls_ia_permute_inner_secret)29 +b Fq(249)2025 2774 y Fp(gnutls_ia_permute_inner_secret)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(265)2025 3570 y Fq(gnutls_ia_recv)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g +b Fq(249)2025 2862 y Fp(gnutls_ia_recv)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)39 b Fp(266)2025 3659 y Fq(gnutls_ia_send)12 +f(:)g(:)g(:)g(:)g(:)g(:)39 b Fq(249)2025 2951 y Fp(gnutls_ia_send)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39 -b Fp(266)2025 3747 y Fq(gnutls_ia_set_client_avp_funct)q(ion)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(267)2025 -3836 y Fq(gnutls_ia_set_client_avp_ptr)11 b Fa(:)18 b(:)c(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(267)2025 3924 -y Fq(gnutls_ia_set_server_avp_funct)q(ion)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(267)2025 4013 y Fq +b Fq(250)2025 3039 y Fp(gnutls_ia_set_client_avp_funct)q(ion)15 +b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(250)2025 +3128 y Fp(gnutls_ia_set_client_avp_ptr)11 b Fa(:)18 b(:)c(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(251)2025 3216 +y Fp(gnutls_ia_set_server_avp_funct)q(ion)15 b Fa(:)k(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(251)2025 3305 y Fp (gnutls_ia_set_server_avp_ptr)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(268)2025 4101 y Fq +g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(251)2025 3393 y Fp (gnutls_ia_verify_endphase)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fp(268)2025 4190 -y Fq(gnutls_init)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(252)2025 3482 +y Fp(gnutls_init)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)46 b Fp(149)2025 4278 y Fq(gnutls_kx_get)14 +g(:)h(:)f(:)g(:)46 b Fq(147)2025 3570 y Fp(gnutls_kx_get)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 -b Fp(150)2025 4367 y Fq(gnutls_kx_get_id)7 b Fa(:)16 +b Fq(148)2025 3659 y Fp(gnutls_kx_get_id)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fp(149)2025 -4455 y Fq(gnutls_kx_get_name)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fq(148)2025 +3747 y Fp(gnutls_kx_get_name)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fp(150)2025 4544 y Fq(gnutls_kx_list)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g +b Fq(148)2025 3836 y Fp(gnutls_kx_list)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)39 b Fp(150)2025 4632 y Fq +f(:)g(:)g(:)g(:)g(:)g(:)39 b Fq(148)2025 3924 y Fp (gnutls_kx_set_priority)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b -Fp(150)2025 4721 y Fq(gnutls_mac_get)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:) +Fq(148)2025 4013 y Fp(gnutls_mac_get)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)39 b Fp(151)2025 4809 y Fq(gnutls_mac_get_id)25 +(:)g(:)g(:)g(:)g(:)g(:)39 b Fq(149)2025 4101 y Fp(gnutls_mac_get_id)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fp(150)2025 -4898 y Fq(gnutls_mac_get_key_size)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fq(149)2025 +4190 y Fp(gnutls_mac_get_key_size)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b -Fp(151)2025 4986 y Fq(gnutls_mac_get_name)16 b Fa(:)h(:)c(:)g(:)h(:)f +Fq(149)2025 4278 y Fp(gnutls_mac_get_name)16 b Fa(:)h(:)c(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)43 b Fp(151)2025 5075 y Fq(gnutls_mac_list)9 b Fa(:)16 +g(:)43 b Fq(149)2025 4367 y Fp(gnutls_mac_list)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fp(151)2025 -5163 y Fq(gnutls_mac_set_priority)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fq(149)2025 +4455 y Fp(gnutls_mac_set_priority)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b -Fp(151)2025 5251 y Fq(gnutls_malloc)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g +Fq(149)2025 4544 y Fp(gnutls_malloc)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(152)2025 5340 y Fq +g(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(150)2025 4632 y Fp (gnutls_openpgp_crt_check_hostn)q(ame)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(245)p eop end -%%Page: 335 341 -TeXDict begin 335 340 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(335)150 299 y Fq(gnutls_openpgp_crt_deinit) -18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)44 b Fp(245)150 390 y Fq(gnutls_openpgp_crt_export)18 -b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)44 b Fp(245)150 480 y Fq(gnutls_openpgp_crt_get_auth_s)q(ubke)q(y)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(246)150 -571 y Fq(gnutls_openpgp_crt_get_creati)q(on_t)q(ime)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(246)150 662 y Fq -(gnutls_openpgp_crt_get_expira)q(tion)q(_time)25 b Fa(:)14 -b(:)45 b Fp(246)150 752 y Fq(gnutls_openpgp_crt_get_finger)q(prin)q(t) -12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(246)150 -843 y Fq(gnutls_openpgp_crt_get_key_id)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(247)150 -934 y Fq(gnutls_openpgp_crt_get_key_us)q(age)18 b Fa(:)g(:)c(:)f(:)g(:) -g(:)g(:)g(:)g(:)44 b Fp(247)150 1025 y Fq(gnutls_openpgp_crt_get_name) -13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)39 b Fp(247)150 1115 y Fq(gnutls_openpgp_crt_get_pk_alg)q(orit)q(hm) -10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fp(247)150 1206 -y Fq(gnutls_openpgp_crt_get_pk_dsa)q(_raw)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(248)150 1297 y Fq +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(229)2025 4721 y Fp +(gnutls_openpgp_crt_deinit)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(229)2025 4809 +y Fp(gnutls_openpgp_crt_export)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(229)2025 +4898 y Fp(gnutls_openpgp_crt_get_auth_su)q(bkey)13 b +Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(230)2025 4986 +y Fp(gnutls_openpgp_crt_get_creatio)q(n_tim)q(e)7 b Fa(:)19 +b(:)13 b(:)g(:)g(:)34 b Fq(230)2025 5075 y Fp +(gnutls_openpgp_crt_get_expirat)q(ion_t)q(ime)25 b Fa(:)13 +b(:)46 b Fq(230)2025 5163 y Fp(gnutls_openpgp_crt_get_fingerp)q(rint)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(230)2025 +5251 y Fp(gnutls_openpgp_crt_get_key_id)8 b Fa(:)19 b(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(230)2025 +5340 y Fp(gnutls_openpgp_crt_get_key_usa)q(ge)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(231)p eop end +%%Page: 314 320 +TeXDict begin 314 319 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(314)150 299 y Fp +(gnutls_openpgp_crt_get_name)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fq(231)150 390 y +Fp(gnutls_openpgp_crt_get_pk_alg)q(orit)q(hm)10 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)36 b Fq(231)150 481 y Fp +(gnutls_openpgp_crt_get_pk_dsa)q(_raw)15 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(231)150 572 y Fp (gnutls_openpgp_crt_get_pk_rsa)q(_raw)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(248)150 1387 y Fq +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(232)150 663 y Fp (gnutls_openpgp_crt_get_prefer)q(red_)q(key_i)q(d)325 -1475 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(248)150 1565 -y Fq(gnutls_openpgp_crt_get_revoke)q(d_st)q(atus)28 b -Fa(:)13 b(:)g(:)48 b Fp(248)150 1656 y Fq -(gnutls_openpgp_crt_get_subkey)q(_cou)q(nt)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(249)150 1747 y Fq -(gnutls_openpgp_crt_get_subkey)q(_cre)q(ation)q(_tim)q(e)325 -1834 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +750 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(232)150 841 y +Fp(gnutls_openpgp_crt_get_revoke)q(d_st)q(atus)28 b Fa(:)13 +b(:)g(:)48 b Fq(232)150 932 y Fp(gnutls_openpgp_crt_get_subkey)q(_cou)q +(nt)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fq(232)150 +1023 y Fp(gnutls_openpgp_crt_get_subkey)q(_cre)q(ation)q(_tim)q(e)325 +1111 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(249)150 1925 -y Fq(gnutls_openpgp_crt_get_subkey)q(_exp)q(irati)q(on_)304 -2012 y(time)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(233)150 1202 +y Fp(gnutls_openpgp_crt_get_subkey)q(_exp)q(irati)q(on_)304 +1289 y(time)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)38 b Fp(249)150 2103 y Fq +g(:)g(:)g(:)h(:)f(:)g(:)38 b Fq(233)150 1380 y Fp (gnutls_openpgp_crt_get_subkey)q(_fin)q(gerpr)q(int)325 -2190 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +1467 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(249)150 2280 -y Fq(gnutls_openpgp_crt_get_subkey)q(_id)18 b Fa(:)g(:)c(:)f(:)g(:)g(:) -g(:)g(:)g(:)44 b Fp(250)150 2371 y Fq(gnutls_openpgp_crt_get_subkey)q -(_idx)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(250)150 -2462 y Fq(gnutls_openpgp_crt_get_subkey)q(_pk_)q(algor)q(ithm)325 -2549 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(233)150 1558 +y Fp(gnutls_openpgp_crt_get_subkey)q(_id)18 b Fa(:)g(:)c(:)f(:)g(:)g(:) +g(:)g(:)g(:)44 b Fq(234)150 1649 y Fp(gnutls_openpgp_crt_get_subkey)q +(_idx)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(233)150 +1740 y Fp(gnutls_openpgp_crt_get_subkey)q(_pk_)q(algor)q(ithm)325 +1827 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(250)150 2640 -y Fq(gnutls_openpgp_crt_get_subkey)q(_pk_)q(dsa_r)q(aw)325 -2727 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(234)150 1919 +y Fp(gnutls_openpgp_crt_get_subkey)q(_pk_)q(dsa_r)q(aw)325 +2006 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(250)150 2818 -y Fq(gnutls_openpgp_crt_get_subkey)q(_pk_)q(rsa_r)q(aw)325 -2905 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(234)150 2097 +y Fp(gnutls_openpgp_crt_get_subkey)q(_pk_)q(rsa_r)q(aw)325 +2184 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(251)150 2996 -y Fq(gnutls_openpgp_crt_get_subkey)q(_rev)q(oked_)304 -3083 y(status)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(235)150 2275 +y Fp(gnutls_openpgp_crt_get_subkey)q(_rev)q(oked_)304 +2362 y(status)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)33 b Fp(251)150 3173 y Fq +g(:)g(:)h(:)f(:)g(:)33 b Fq(235)150 2453 y Fp (gnutls_openpgp_crt_get_subkey)q(_usa)q(ge)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(251)150 3264 y Fq +b(:)c(:)f(:)g(:)g(:)36 b Fq(235)150 2544 y Fp (gnutls_openpgp_crt_get_versio)q(n)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(252)150 3355 y Fq(gnutls_openpgp_crt_import) +(:)g(:)g(:)g(:)g(:)49 b Fq(235)150 2635 y Fp(gnutls_openpgp_crt_import) 18 b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)44 b Fp(252)150 3446 y Fq(gnutls_openpgp_crt_init)28 +(:)h(:)44 b Fq(236)150 2726 y Fp(gnutls_openpgp_crt_init)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(252)150 3536 y Fq(gnutls_openpgp_crt_print)26 +(:)g(:)g(:)50 b Fq(236)150 2817 y Fp(gnutls_openpgp_crt_print)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(252)150 3627 y Fq(gnutls_openpgp_crt_set_prefer)q(red_)q -(key_i)q(d)325 3714 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)47 b Fq(236)150 2909 y Fp(gnutls_openpgp_crt_set_prefer)q(red_)q +(key_i)q(d)325 2996 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b -Fp(253)150 3805 y Fq(gnutls_openpgp_crt_verify_rin)q(g)28 +Fq(236)150 3087 y Fp(gnutls_openpgp_crt_verify_rin)q(g)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(253)150 3896 y Fq(gnutls_openpgp_crt_verify_sel)q(f)28 +b Fq(236)150 3178 y Fp(gnutls_openpgp_crt_verify_sel)q(f)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(253)150 3986 y Fq(gnutls_openpgp_keyring_check_)q(id)26 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(253)150 -4077 y Fq(gnutls_openpgp_keyring_deinit)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(254)150 -4168 y Fq(gnutls_openpgp_keyring_get_cr)q(t)28 b Fa(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fp(254)150 -4258 y Fq(gnutls_openpgp_keyring_get_cr)q(t_co)q(unt)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(254)150 4349 y Fq +b Fq(237)150 3269 y Fp(gnutls_openpgp_keyring_check_)q(id)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fq(237)150 +3360 y Fp(gnutls_openpgp_keyring_deinit)9 b Fa(:)18 b(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(237)150 +3451 y Fp(gnutls_openpgp_keyring_get_cr)q(t)28 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fq(238)150 +3542 y Fp(gnutls_openpgp_keyring_get_cr)q(t_co)q(unt)7 +b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(237)150 3633 y Fp (gnutls_openpgp_keyring_import)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(254)150 4440 y Fq +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(238)150 3724 y Fp (gnutls_openpgp_keyring_init)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(255)150 4531 y -Fq(gnutls_openpgp_privkey_deinit)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(255)150 4621 y Fq +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fq(238)150 3815 y +Fp(gnutls_openpgp_privkey_deinit)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(238)150 3906 y Fp (gnutls_openpgp_privkey_export)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(257)150 4712 y Fq +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(240)150 3997 y Fp (gnutls_openpgp_privkey_export)q(_dsa)q(_raw)28 b Fa(:)13 -b(:)g(:)48 b Fp(255)150 4803 y Fq(gnutls_openpgp_privkey_export)q(_rsa) -q(_raw)28 b Fa(:)13 b(:)g(:)48 b Fp(255)150 4893 y Fq +b(:)g(:)48 b Fq(238)150 4088 y Fp(gnutls_openpgp_privkey_export)q(_rsa) +q(_raw)28 b Fa(:)13 b(:)g(:)48 b Fq(239)150 4180 y Fp (gnutls_openpgp_privkey_export)q(_sub)q(key_d)q(sa_)304 -4981 y(raw)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +4267 y(raw)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fp(256)150 5071 y Fq +g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fq(239)150 4358 y Fp (gnutls_openpgp_privkey_export)q(_sub)q(key_r)q(sa_)304 -5159 y(raw)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +4445 y(raw)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fp(256)150 5249 y Fq +g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fq(240)150 4536 y Fp (gnutls_openpgp_privkey_get_fi)q(nger)q(print)25 b Fa(:)14 -b(:)45 b Fp(257)150 5340 y Fq(gnutls_openpgp_privkey_get_ke)q(y_id)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(257)2025 -299 y Fq(gnutls_openpgp_privkey_get_pk_)q(algor)q(ithm)2200 -386 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(258)2025 475 -y Fq(gnutls_openpgp_privkey_get_pre)q(ferre)q(d_ke)q(y_id)2200 -562 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(258)2025 651 -y Fq(gnutls_openpgp_privkey_get_rev)q(oked_)q(stat)q(us)2200 -738 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(258)2025 827 -y Fq(gnutls_openpgp_privkey_get_sub)q(key_c)q(ount)2200 -914 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(258)2025 1002 -y Fq(gnutls_openpgp_privkey_get_sub)q(key_c)q(reat)q(ion_)2178 -1090 y(time)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +b(:)45 b Fq(240)150 4627 y Fp(gnutls_openpgp_privkey_get_ke)q(y_id)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(241)150 +4718 y Fp(gnutls_openpgp_privkey_get_pk)q(_alg)q(orith)q(m)325 +4805 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(241)150 4896 +y Fp(gnutls_openpgp_privkey_get_pr)q(efer)q(red_k)q(ey_i)q(d)325 +4984 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(241)150 5075 +y Fp(gnutls_openpgp_privkey_get_re)q(voke)q(d_sta)q(tus)325 +5162 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(242)150 5253 +y Fp(gnutls_openpgp_privkey_get_su)q(bkey)q(_coun)q(t)325 +5340 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(242)2025 299 +y Fp(gnutls_openpgp_privkey_get_sub)q(key_c)q(reat)q(ion_)2178 +386 y(time)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)38 b Fp(259)2025 1178 y Fq -(gnutls_openpgp_privkey_get_sub)q(key_)2178 1265 y(expiration_time)18 +g(:)g(:)g(:)g(:)g(:)h(:)38 b Fq(242)2025 475 y Fp +(gnutls_openpgp_privkey_get_sub)q(key_)2178 562 y(expiration_time)18 b Fa(:)f(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)45 b Fp(259)2025 1354 y Fq -(gnutls_openpgp_privkey_get_sub)q(key_)2178 1441 y(fingerprint)11 +f(:)g(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(242)2025 650 y Fp +(gnutls_openpgp_privkey_get_sub)q(key_)2178 738 y(fingerprint)11 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 -b Fp(259)2025 1530 y Fq(gnutls_openpgp_privkey_get_sub)q(key_i)q(d)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(260)2025 1619 y -Fq(gnutls_openpgp_privkey_get_sub)q(key_i)q(dx)27 b Fa(:)14 -b(:)f(:)48 b Fp(259)2025 1707 y Fq(gnutls_openpgp_privkey_get_sub)q -(key_p)q(k_)2178 1795 y(algorithm)16 b Fa(:)f(:)f(:)f(:)g(:)g(:)g(:)g +b Fq(242)2025 826 y Fp(gnutls_openpgp_privkey_get_sub)q(key_i)q(d)7 +b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fq(243)2025 915 y Fp +(gnutls_openpgp_privkey_get_sub)q(key_i)q(dx)27 b Fa(:)14 +b(:)f(:)48 b Fq(243)2025 1003 y Fp(gnutls_openpgp_privkey_get_sub)q +(key_p)q(k_)2178 1091 y(algorithm)16 b Fa(:)f(:)f(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)43 b Fp(260)2025 1883 y Fq +h(:)f(:)g(:)g(:)g(:)g(:)43 b Fq(243)2025 1179 y Fp (gnutls_openpgp_privkey_get_sub)q(key_r)q(evok)q(ed_)2178 -1971 y(status)6 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +1266 y(status)6 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)33 b Fp(260)2025 2059 y Fq +g(:)g(:)g(:)g(:)h(:)33 b Fq(244)2025 1355 y Fp (gnutls_openpgp_privkey_import)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)34 b Fp(260)2025 2148 y Fq +(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(244)2025 1443 y Fp (gnutls_openpgp_privkey_init)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(261)2025 2237 -y Fq(gnutls_openpgp_privkey_set_pre)q(ferre)q(d_ke)q(y_id)2200 -2324 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(244)2025 1532 +y Fp(gnutls_openpgp_privkey_set_pre)q(ferre)q(d_ke)q(y_id)2200 +1619 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(261)2025 2413 -y Fq(gnutls_openpgp_privkey_sign_ha)q(sh)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(261)2025 2501 y Fq +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(244)2025 1708 +y Fp(gnutls_openpgp_privkey_sign_ha)q(sh)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(245)2025 1796 y Fp (gnutls_openpgp_send_cert)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(152)2025 -2590 y Fq(gnutls_openpgp_set_recv_key_fu)q(nctio)q(n)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(261)2025 2679 y -Fq(gnutls_oprfi_enable_client)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(152)2025 2767 -y Fq(gnutls_oprfi_enable_server)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(152)2025 2856 -y Fq(gnutls_pem_base64_decode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(153)2025 -2945 y Fq(gnutls_pem_base64_decode_alloc)29 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fp(153)2025 -3034 y Fq(gnutls_pem_base64_encode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(154)2025 -3122 y Fq(gnutls_pem_base64_encode_alloc)29 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fp(153)2025 -3211 y Fq(gnutls_perror)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(150)2025 +1885 y Fp(gnutls_openpgp_set_recv_key_fu)q(nctio)q(n)7 +b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fq(245)2025 1974 y +Fp(gnutls_oprfi_enable_client)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(150)2025 2062 +y Fp(gnutls_oprfi_enable_server)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(150)2025 2151 +y Fp(gnutls_pem_base64_decode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(151)2025 +2239 y Fp(gnutls_pem_base64_decode_alloc)29 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fq(151)2025 +2328 y Fp(gnutls_pem_base64_encode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(152)2025 +2417 y Fp(gnutls_pem_base64_encode_alloc)29 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fq(151)2025 +2505 y Fp(gnutls_perror)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)41 b Fp(154)2025 3300 y Fq(gnutls_pk_algorithm_get_name)11 +h(:)f(:)g(:)41 b Fq(152)2025 2594 y Fp(gnutls_pk_algorithm_get_name)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(154)2025 3388 y Fq(gnutls_pk_get_id)7 b Fa(:)16 -b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fp(154)2025 -3477 y Fq(gnutls_pk_get_name)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fp(155)2025 3566 y Fq(gnutls_pk_list)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)39 b Fp(155)2025 3654 y Fq -(gnutls_pkcs12_bag_decrypt)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fp(181)2025 3743 -y Fq(gnutls_pkcs12_bag_deinit)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(181)2025 -3832 y Fq(gnutls_pkcs12_bag_encrypt)18 b Fa(:)g(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fp(182)2025 3921 y Fq(gnutls_pkcs12_bag_get_count)13 +b Fq(152)2025 2682 y Fp(gnutls_pkcs12_bag_decrypt)18 +b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)45 b Fq(177)2025 2771 y Fp(gnutls_pkcs12_bag_deinit)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(177)2025 2859 y Fp(gnutls_pkcs12_bag_encrypt)18 +b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)45 b Fq(177)2025 2948 y Fp(gnutls_pkcs12_bag_get_count)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(182)2025 4009 y Fq(gnutls_pkcs12_bag_get_data)15 +b Fq(177)2025 3037 y Fp(gnutls_pkcs12_bag_get_data)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(182)2025 4098 y Fq(gnutls_pkcs12_bag_get_friendly)q(_name)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(182)2025 4187 -y Fq(gnutls_pkcs12_bag_get_key_id)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(183)2025 4275 y Fq +42 b Fq(177)2025 3125 y Fp(gnutls_pkcs12_bag_get_friendly)q(_name)10 +b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(177)2025 3214 +y Fp(gnutls_pkcs12_bag_get_key_id)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(178)2025 3302 y Fp (gnutls_pkcs12_bag_get_type)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(183)2025 4364 -y Fq(gnutls_pkcs12_bag_init)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(178)2025 3391 +y Fp(gnutls_pkcs12_bag_init)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(183)2025 4453 y Fq(gnutls_pkcs12_bag_set_crl)18 +b Fq(178)2025 3480 y Fp(gnutls_pkcs12_bag_set_crl)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(183)2025 4542 y Fq(gnutls_pkcs12_bag_set_crt)18 +(:)45 b Fq(178)2025 3568 y Fp(gnutls_pkcs12_bag_set_crt)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(183)2025 4630 y Fq(gnutls_pkcs12_bag_set_data)15 +(:)45 b Fq(179)2025 3657 y Fp(gnutls_pkcs12_bag_set_data)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(184)2025 4719 y Fq(gnutls_pkcs12_bag_set_friendly)q(_name)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(184)2025 4808 -y Fq(gnutls_pkcs12_bag_set_key_id)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(184)2025 4896 y Fq +42 b Fq(179)2025 3745 y Fp(gnutls_pkcs12_bag_set_friendly)q(_name)10 +b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(179)2025 3834 +y Fp(gnutls_pkcs12_bag_set_key_id)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(179)2025 3923 y Fp (gnutls_pkcs12_deinit)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fp(184)2025 4985 y Fq(gnutls_pkcs12_export)13 b Fa(:)18 +b Fq(180)2025 4011 y Fp(gnutls_pkcs12_export)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(185)2025 5074 y Fq +g(:)g(:)g(:)h(:)f(:)40 b Fq(180)2025 4100 y Fp (gnutls_pkcs12_generate_mac)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(185)2025 5163 -y Fq(gnutls_pkcs12_get_bag)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(180)2025 4188 +y Fp(gnutls_pkcs12_get_bag)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fp(185)2025 5251 y Fq(gnutls_pkcs12_import)13 b Fa(:)18 +b Fq(180)2025 4277 y Fp(gnutls_pkcs12_import)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(185)2025 5340 y Fq(gnutls_pkcs12_init)22 +g(:)g(:)g(:)h(:)f(:)40 b Fq(181)2025 4365 y Fp(gnutls_pkcs12_init)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(186)p eop -end -%%Page: 336 342 -TeXDict begin 336 341 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(336)150 299 y Fq(gnutls_pkcs12_set_bag)11 -b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fp(186)150 387 y Fq -(gnutls_pkcs12_verify_mac)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(186)150 476 -y Fq(gnutls_pkcs7_deinit)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fp(186)150 564 y Fq(gnutls_pkcs7_delete_crl)28 b Fa(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)50 b Fp(186)150 653 y Fq(gnutls_pkcs7_delete_crt)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(187)150 741 y Fq(gnutls_pkcs7_export)16 -b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fp(187)150 830 y Fq -(gnutls_pkcs7_get_crl_count)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(187)150 918 y -Fq(gnutls_pkcs7_get_crl_raw)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(187)150 -1007 y Fq(gnutls_pkcs7_get_crt_count)16 b Fa(:)i(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 -b Fp(188)150 1095 y Fq(gnutls_pkcs7_get_crt_raw)26 b -Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(188)150 1184 y Fq(gnutls_pkcs7_import)16 -b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fp(188)150 1272 y Fq -(gnutls_pkcs7_init)25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 -b Fp(188)150 1361 y Fq(gnutls_pkcs7_set_crl)13 b Fa(:)18 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fq(181)2025 4454 +y Fp(gnutls_pkcs12_set_bag)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 +b Fq(181)2025 4543 y Fp(gnutls_pkcs12_verify_mac)26 b +Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(181)2025 4631 y Fp(gnutls_pkcs7_deinit)16 +b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fq(181)2025 4720 y Fp +(gnutls_pkcs7_delete_crl)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fq(182)2025 +4808 y Fp(gnutls_pkcs7_delete_crt)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b +Fq(182)2025 4897 y Fp(gnutls_pkcs7_export)16 b Fa(:)h(:)c(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)43 b Fq(182)2025 4986 y Fp(gnutls_pkcs7_get_crl_count)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +42 b Fq(182)2025 5074 y Fp(gnutls_pkcs7_get_crl_raw)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(182)2025 5163 y Fp(gnutls_pkcs7_get_crt_count)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +42 b Fq(183)2025 5251 y Fp(gnutls_pkcs7_get_crt_raw)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(183)2025 5340 y Fp(gnutls_pkcs7_import)16 +b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fq(183)p eop end +%%Page: 315 321 +TeXDict begin 315 320 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(315)150 299 y Fp(gnutls_pkcs7_init)25 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(183)150 +387 y Fp(gnutls_pkcs7_set_crl)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 +b Fq(184)150 476 y Fp(gnutls_pkcs7_set_crl_raw)26 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 +b Fq(184)150 564 y Fp(gnutls_pkcs7_set_crt)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)40 b Fp(189)150 1449 y Fq(gnutls_pkcs7_set_crl_raw) +g(:)g(:)h(:)f(:)g(:)40 b Fq(184)150 653 y Fp(gnutls_pkcs7_set_crt_raw) 26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)47 b Fp(189)150 1538 y Fq(gnutls_pkcs7_set_crt)13 -b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(189)150 1626 y -Fq(gnutls_pkcs7_set_crt_raw)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(189)150 -1715 y Fq(gnutls_prf)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(156)150 1803 y Fq(gnutls_prf_raw)12 -b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fp(155)150 1892 y Fq(gnutls_priority_deinit)8 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)35 b Fp(156)150 1980 y Fq(gnutls_priority_init)13 -b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(156)150 2069 y -Fq(gnutls_priority_set)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fp(158)150 2157 y Fq(gnutls_priority_set_direct)16 +(:)g(:)g(:)47 b Fq(184)150 741 y Fp(gnutls_prf)24 b Fa(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 +b Fq(153)150 830 y Fp(gnutls_prf_raw)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)38 b Fq(152)150 918 y Fp(gnutls_priority_deinit) +8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)35 b Fq(154)150 1007 y Fp(gnutls_priority_init) +13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fq(154)150 1095 +y Fp(gnutls_priority_set)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 +b Fq(155)150 1184 y Fp(gnutls_priority_set_direct)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(158)150 2246 y Fq(gnutls_protocol_get_id)8 b +42 b Fq(155)150 1272 y Fp(gnutls_protocol_get_id)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(158)150 2334 y Fq(gnutls_protocol_get_name) +(:)h(:)f(:)g(:)g(:)35 b Fq(155)150 1361 y Fp(gnutls_protocol_get_name) 26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)47 b Fp(158)150 2423 y Fq(gnutls_protocol_get_version)13 +(:)g(:)g(:)47 b Fq(155)150 1450 y Fp(gnutls_protocol_get_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(158)150 2511 y Fq(gnutls_protocol_list)13 b Fa(:)18 +b Fq(156)150 1538 y Fp(gnutls_protocol_list)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)40 b Fp(159)150 2600 y Fq +g(:)g(:)h(:)f(:)g(:)40 b Fq(156)150 1627 y Fp (gnutls_protocol_set_priority)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fp(159)150 2688 y Fq +(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fq(156)150 1715 y Fp (gnutls_psk_allocate_client_cr)q(eden)q(tials)25 b Fa(:)14 -b(:)45 b Fp(159)150 2776 y Fq(gnutls_psk_allocate_server_cr)q(eden)q -(tials)25 b Fa(:)14 b(:)45 b Fp(159)150 2865 y Fq +b(:)45 b Fq(156)150 1804 y Fp(gnutls_psk_allocate_server_cr)q(eden)q +(tials)25 b Fa(:)14 b(:)45 b Fq(156)150 1892 y Fp (gnutls_psk_client_get_hint)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(159)150 2953 y -Fq(gnutls_psk_free_client_creden)q(tial)q(s)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(160)150 3042 y Fq +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(157)150 1981 y +Fp(gnutls_psk_free_client_creden)q(tial)q(s)12 b Fa(:)19 +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(157)150 2069 y Fp (gnutls_psk_free_server_creden)q(tial)q(s)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(160)150 3130 y Fq +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(157)150 2158 y Fp (gnutls_psk_netconf_derive_key)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(160)150 3219 y Fq +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(157)150 2246 y Fp (gnutls_psk_server_get_usernam)q(e)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(160)150 3307 y Fq +(:)g(:)g(:)g(:)g(:)49 b Fq(157)150 2335 y Fp (gnutls_psk_set_client_credent)q(ials)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(161)150 3396 y Fq +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(158)150 2423 y Fp (gnutls_psk_set_client_credent)q(ials)q(_func)q(tion)325 -3483 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +2510 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(160)150 3572 -y Fq(gnutls_psk_set_params_functio)q(n)28 b Fa(:)13 b(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)49 b Fp(161)150 3660 y Fq +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(158)150 2599 +y Fp(gnutls_psk_set_params_functio)q(n)28 b Fa(:)13 b(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)49 b Fq(158)150 2687 y Fp (gnutls_psk_set_server_credent)q(ials)q(_file)25 b Fa(:)14 -b(:)45 b Fp(161)150 3749 y Fq(gnutls_psk_set_server_credent)q(ials)q -(_func)q(tion)325 3836 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +b(:)45 b Fq(158)150 2776 y Fp(gnutls_psk_set_server_credent)q(ials)q +(_func)q(tion)325 2863 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 -b Fp(162)150 3924 y Fq(gnutls_psk_set_server_credent)q(ials)q(_hint)25 -b Fa(:)14 b(:)45 b Fp(162)150 4013 y Fq(gnutls_psk_set_server_dh_para)q +b Fq(159)150 2952 y Fp(gnutls_psk_set_server_credent)q(ials)q(_hint)25 +b Fa(:)14 b(:)45 b Fq(159)150 3040 y Fp(gnutls_psk_set_server_dh_para)q (ms)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fp(162)150 4101 y Fq(gnutls_psk_set_server_params_)q(func)q(tion)28 -b Fa(:)13 b(:)g(:)48 b Fp(162)150 4190 y Fq +b Fq(159)150 3129 y Fp(gnutls_psk_set_server_params_)q(func)q(tion)28 +b Fa(:)13 b(:)g(:)48 b Fq(160)150 3217 y Fp (gnutls_record_check_pending)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(163)150 4278 y -Fq(gnutls_record_disable_padding)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(163)150 4367 y Fq +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fq(160)150 3306 y +Fp(gnutls_record_disable_padding)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(160)150 3394 y Fp (gnutls_record_get_direction)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(163)150 4455 y -Fq(gnutls_record_get_max_size)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(163)150 4544 -y Fq(gnutls_record_recv)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fq(160)150 3483 y +Fp(gnutls_record_get_max_size)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(160)150 3571 +y Fp(gnutls_record_recv)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fp(163)150 4632 y Fq(gnutls_record_send)23 b Fa(:)13 +b Fq(161)150 3660 y Fp(gnutls_record_send)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fp(164)150 4721 y Fq +(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fq(161)150 3748 y Fp (gnutls_record_set_max_size)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(164)150 4809 y -Fq(gnutls_rehandshake)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(162)150 3837 y +Fp(gnutls_rehandshake)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fp(165)150 4898 y Fq(gnutls_rsa_export_get_modulus)q(_bit)q(s)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(165)150 -4986 y Fq(gnutls_rsa_export_get_pubkey)11 b Fa(:)19 b(:)13 +b Fq(162)150 3925 y Fp(gnutls_rsa_export_get_modulus)q(_bit)q(s)12 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(162)150 +4014 y Fp(gnutls_rsa_export_get_pubkey)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b -Fp(165)150 5075 y Fq(gnutls_rsa_params_cpy)11 b Fa(:)18 +Fq(162)150 4102 y Fp(gnutls_rsa_params_cpy)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(166)150 5163 y Fq(gnutls_rsa_params_deinit)26 +g(:)g(:)g(:)g(:)38 b Fq(163)150 4191 y Fp(gnutls_rsa_params_deinit)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(166)150 5251 y Fq(gnutls_rsa_params_export_pkcs)q(1)28 +(:)g(:)47 b Fq(163)150 4279 y Fp(gnutls_rsa_params_export_pkcs)q(1)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(166)150 5340 y Fq(gnutls_rsa_params_export_raw)11 +b Fq(163)150 4368 y Fp(gnutls_rsa_params_export_raw)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 -b Fp(166)2025 299 y Fq(gnutls_rsa_params_generate2)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(167)2025 387 y Fq(gnutls_rsa_params_import_pkcs1)29 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(167)2025 476 y Fq(gnutls_rsa_params_import_raw)11 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(167)2025 564 y Fq(gnutls_rsa_params_init)8 b Fa(:)18 -b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)35 b Fp(168)2025 653 y Fq(gnutls_server_name_get)8 -b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)35 b Fp(168)2025 741 y Fq -(gnutls_server_name_set)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) +b Fq(163)150 4456 y Fp(gnutls_rsa_params_generate2)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(164)150 4545 y Fp(gnutls_rsa_params_import_pkcs)q(1)28 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 +b Fq(164)150 4633 y Fp(gnutls_rsa_params_import_raw)11 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 +b Fq(164)150 4722 y Fp(gnutls_rsa_params_init)8 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)35 b Fq(165)150 4810 y Fp(gnutls_server_name_get)8 +b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)35 b Fq(165)150 4899 y Fp(gnutls_server_name_set)8 +b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)35 b Fq(165)150 4987 y Fp +(gnutls_session_enable_compati)q(bili)q(ty_mo)q(de)325 +5074 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(166)150 5163 +y Fp(gnutls_session_get_client_ran)q(dom)18 b Fa(:)g(:)c(:)f(:)g(:)g(:) +g(:)g(:)g(:)44 b Fq(166)150 5251 y Fp(gnutls_session_get_data)28 +b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)50 b Fq(166)150 5340 y Fp(gnutls_session_get_data2)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)47 b Fq(166)2025 299 y Fp(gnutls_session_get_id)11 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fq(167)2025 387 y Fp +(gnutls_session_get_master_secr)q(et)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(167)2025 476 y Fp +(gnutls_session_get_ptr)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b -Fp(168)2025 830 y Fq(gnutls_session_enable_compatib)q(ility)q(_mod)q(e) -2200 917 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(169)2025 -1006 y Fq(gnutls_session_get_client_rand)q(om)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(169)2025 1094 y Fq -(gnutls_session_get_data)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fp(170)2025 -1183 y Fq(gnutls_session_get_data2)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(169)2025 -1271 y Fq(gnutls_session_get_id)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fp(170)2025 1360 y Fq(gnutls_session_get_master_secr)q(et)17 -b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(170)2025 -1448 y Fq(gnutls_session_get_ptr)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(171)2025 1537 y Fq(gnutls_session_get_server_rand)q(om)17 -b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(171)2025 -1625 y Fq(gnutls_session_is_resumed)18 b Fa(:)g(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fp(171)2025 1714 y Fq(gnutls_session_set_data)28 b -Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)50 b Fp(171)2025 1802 y Fq(gnutls_session_set_finished_fu)q -(nctio)q(n)7 b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(172)2025 -1891 y Fq(gnutls_session_set_ptr)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(172)2025 1979 y Fq(gnutls_set_default_export_prio)q(rity)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(172)2025 -2068 y Fq(gnutls_set_default_priority)13 b Fa(:)19 b(:)13 +Fq(167)2025 564 y Fp(gnutls_session_get_server_rand)q(om)17 +b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(167)2025 +653 y Fp(gnutls_session_is_resumed)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(168)2025 +741 y Fp(gnutls_session_set_data)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fq(168)2025 +830 y Fp(gnutls_session_set_ptr)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 +b Fq(168)2025 918 y Fp(gnutls_set_default_export_prio)q(rity)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(168)2025 +1007 y Fp(gnutls_set_default_priority)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(172)2025 2156 y Fq(gnutls_sign_algorithm_get_name)29 +b Fq(169)2025 1095 y Fp(gnutls_sign_algorithm_get_name)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(173)2025 2245 y Fq(gnutls_sign_callback_get)26 b +b Fq(169)2025 1184 y Fp(gnutls_sign_callback_get)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(173)2025 2333 y Fq(gnutls_sign_callback_set)26 +(:)g(:)47 b Fq(169)2025 1272 y Fp(gnutls_sign_callback_set)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(173)2025 2422 y Fq(gnutls_sign_get_id)22 -b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(173)2025 2510 -y Fq(gnutls_sign_get_name)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fp(174)2025 2599 y Fq(gnutls_sign_list)7 b Fa(:)16 -b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fp(174)2025 -2687 y Fq(gnutls_srp_allocate_client_cre)q(denti)q(als)25 -b Fa(:)13 b(:)46 b Fp(174)2025 2776 y Fq -(gnutls_srp_allocate_server_cre)q(denti)q(als)25 b Fa(:)13 -b(:)46 b Fp(174)2025 2864 y Fq(gnutls_srp_base64_decode)26 +(:)g(:)47 b Fq(169)2025 1361 y Fp(gnutls_srp_allocate_client_cre)q +(denti)q(als)25 b Fa(:)13 b(:)46 b Fq(170)2025 1450 y +Fp(gnutls_srp_allocate_server_cre)q(denti)q(als)25 b +Fa(:)13 b(:)46 b Fq(170)2025 1538 y Fp(gnutls_srp_base64_decode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(175)2025 2953 y Fq(gnutls_srp_base64_decode_alloc)29 +(:)g(:)47 b Fq(170)2025 1627 y Fp(gnutls_srp_base64_decode_alloc)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(174)2025 3041 y Fq(gnutls_srp_base64_encode)26 b +b Fq(170)2025 1715 y Fp(gnutls_srp_base64_encode)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(175)2025 3130 y Fq(gnutls_srp_base64_encode_alloc)29 +(:)g(:)47 b Fq(171)2025 1804 y Fp(gnutls_srp_base64_encode_alloc)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(175)2025 3218 y Fq(gnutls_srp_free_client_credent)q(ials)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(176)2025 -3307 y Fq(gnutls_srp_free_server_credent)q(ials)13 b -Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(176)2025 3395 -y Fq(gnutls_srp_server_get_username)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)49 b Fp(176)2025 3484 y Fq +b Fq(171)2025 1892 y Fp(gnutls_srp_free_client_credent)q(ials)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(171)2025 +1981 y Fp(gnutls_srp_free_server_credent)q(ials)13 b +Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(172)2025 2069 +y Fp(gnutls_srp_server_get_username)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)49 b Fq(172)2025 2158 y Fp (gnutls_srp_set_client_credenti)q(als)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(177)2025 3572 y Fq +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(172)2025 2246 y Fp (gnutls_srp_set_client_credenti)q(als_f)q(unct)q(ion)2200 -3660 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +2333 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(176)2025 3748 -y Fq(gnutls_srp_set_prime_bits)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fp(177)2025 -3837 y Fq(gnutls_srp_set_server_credenti)q(als_f)q(ile)25 -b Fa(:)13 b(:)46 b Fp(177)2025 3925 y Fq +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(172)2025 2422 +y Fp(gnutls_srp_set_server_credenti)q(als_f)q(ile)25 +b Fa(:)13 b(:)46 b Fq(173)2025 2510 y Fp (gnutls_srp_set_server_credenti)q(als_f)q(unct)q(ion)2200 -4012 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +2597 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(177)2025 4101 -y Fq(gnutls_srp_verifier)16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(173)2025 2686 +y Fp(gnutls_srp_verifier)16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 -b Fp(178)2025 4189 y Fq(gnutls_strerror)9 b Fa(:)16 b(:)e(:)f(:)g(:)g +b Fq(173)2025 2775 y Fp(gnutls_strerror)9 b Fa(:)16 b(:)e(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)36 b Fp(179)2025 4278 y Fq -(gnutls_strerror_name)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fp(178)2025 4366 y Fq(gnutls_transport_get_ptr)26 b -Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(179)2025 4455 y Fq(gnutls_transport_get_ptr2)18 -b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(179)2025 4543 y Fq(gnutls_transport_set_errno)15 +g(:)g(:)h(:)f(:)g(:)g(:)36 b Fq(174)2025 2863 y Fp +(gnutls_transport_get_ptr)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(174)2025 +2952 y Fp(gnutls_transport_get_ptr2)18 b Fa(:)g(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 +b Fq(174)2025 3040 y Fp(gnutls_transport_set_errno)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(179)2025 4632 y Fq(gnutls_transport_set_global_er)q(rno)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(180)2025 -4720 y Fq(gnutls_transport_set_lowat)15 b Fa(:)k(:)13 +42 b Fq(174)2025 3129 y Fp(gnutls_transport_set_global_er)q(rno)15 +b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(175)2025 +3217 y Fp(gnutls_transport_set_lowat)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 -b Fp(180)2025 4809 y Fq(gnutls_transport_set_ptr)26 b +b Fq(175)2025 3306 y Fp(gnutls_transport_set_ptr)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)47 b Fp(180)2025 4897 y Fq(gnutls_transport_set_ptr2)18 +(:)g(:)47 b Fq(176)2025 3394 y Fp(gnutls_transport_set_ptr2)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(180)2025 4986 y Fq(gnutls_transport_set_pull_func)q(tion)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(181)2025 -5074 y Fq(gnutls_transport_set_push_func)q(tion)13 b -Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(181)2025 5163 -y Fq(gnutls_x509_crl_check_issuer)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(189)2025 5251 y Fq +(:)45 b Fq(175)2025 3483 y Fp(gnutls_transport_set_pull_func)q(tion)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(176)2025 +3571 y Fp(gnutls_transport_set_push_func)q(tion)13 b +Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(176)2025 3660 +y Fp(gnutls_x509_crl_check_issuer)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(184)2025 3748 y Fp (gnutls_x509_crl_deinit)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b -Fp(190)2025 5340 y Fq(gnutls_x509_crl_export)8 b Fa(:)18 +Fq(184)2025 3837 y Fp(gnutls_x509_crl_export)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)35 b Fp(190)p eop end -%%Page: 337 343 -TeXDict begin 337 342 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(337)150 299 y Fq -(gnutls_x509_crl_get_authority)q(_key)q(_id)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(190)150 387 y Fq -(gnutls_x509_crl_get_crt_count)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(190)150 476 y Fq -(gnutls_x509_crl_get_crt_seria)q(l)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(191)150 564 y Fq(gnutls_x509_crl_get_dn_oid) -16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)42 b Fp(191)150 653 y Fq(gnutls_x509_crl_get_extension)q(_dat)q(a)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(191)150 -741 y Fq(gnutls_x509_crl_get_extension)q(_inf)q(o)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(192)150 -830 y Fq(gnutls_x509_crl_get_extension)q(_oid)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)41 b Fp(192)150 918 y Fq -(gnutls_x509_crl_get_issuer_dn)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(193)150 1007 y Fq -(gnutls_x509_crl_get_issuer_dn)q(_by_)q(oid)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(192)150 1095 y Fq -(gnutls_x509_crl_get_next_upda)q(te)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)46 b Fp(193)150 1184 y Fq(gnutls_x509_crl_get_number)16 -b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(193)150 1272 y Fq(gnutls_x509_crl_get_signature)9 -b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(194)150 1361 y Fq(gnutls_x509_crl_get_signature)q(_alg)q(orith)q -(m)325 1448 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(194)150 -1536 y Fq(gnutls_x509_crl_get_this_upda)q(te)26 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(194)150 1625 -y Fq(gnutls_x509_crl_get_version)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(194)150 1713 y Fq(gnutls_x509_crl_import)8 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)35 b Fp(194)150 1802 y Fq(gnutls_x509_crl_init)13 -b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(195)150 1890 y -Fq(gnutls_x509_crl_print)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fp(195)150 1979 y Fq(gnutls_x509_crl_set_authority)q(_key)q(_id)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(195)150 2067 y Fq -(gnutls_x509_crl_set_crt)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fp(196)150 -2156 y Fq(gnutls_x509_crl_set_crt_seria)q(l)28 b Fa(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fp(195)150 -2244 y Fq(gnutls_x509_crl_set_next_upda)q(te)26 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(196)150 2333 -y Fq(gnutls_x509_crl_set_number)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(196)150 2421 -y Fq(gnutls_x509_crl_set_this_upda)q(te)26 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(196)150 2510 -y Fq(gnutls_x509_crl_set_version)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(197)150 2598 y Fq(gnutls_x509_crl_sign)13 b Fa(:)18 +g(:)h(:)f(:)35 b Fq(185)2025 3925 y Fp(gnutls_x509_crl_get_crt_count)8 +b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 +b Fq(185)2025 4014 y Fp(gnutls_x509_crl_get_crt_serial)29 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 +b Fq(185)2025 4102 y Fp(gnutls_x509_crl_get_dn_oid)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +42 b Fq(185)2025 4191 y Fp(gnutls_x509_crl_get_issuer_dn)8 +b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 +b Fq(186)2025 4279 y Fp(gnutls_x509_crl_get_issuer_dn_)q(by_oi)q(d)7 +b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fq(186)2025 4368 y +Fp(gnutls_x509_crl_get_next_updat)q(e)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)46 b Fq(187)2025 4456 y Fp +(gnutls_x509_crl_get_signature)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(187)2025 4545 y Fp +(gnutls_x509_crl_get_signature_)q(algor)q(ithm)2200 4632 +y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(187)2025 4720 y Fp +(gnutls_x509_crl_get_this_updat)q(e)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)46 b Fq(187)2025 4809 y Fp(gnutls_x509_crl_get_version) +13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)40 b Fq(187)2025 4897 y Fp(gnutls_x509_crl_import)8 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)35 b Fq(188)2025 4986 y Fp(gnutls_x509_crl_init) +13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fq(188)2025 5074 +y Fp(gnutls_x509_crl_print)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 +b Fq(188)2025 5163 y Fp(gnutls_x509_crl_set_crt)28 b +Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)50 b Fq(189)2025 5251 y Fp(gnutls_x509_crl_set_crt_serial)29 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 +b Fq(188)2025 5340 y Fp(gnutls_x509_crl_set_next_updat)q(e)25 +b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fq(189)p +eop end +%%Page: 316 322 +TeXDict begin 316 321 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(316)150 299 y Fp +(gnutls_x509_crl_set_this_upda)q(te)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)46 b Fq(189)150 387 y Fp(gnutls_x509_crl_set_version)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(189)150 476 y Fp(gnutls_x509_crl_sign)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)40 b Fp(197)150 2687 y Fq(gnutls_x509_crl_sign2)11 +g(:)g(:)h(:)f(:)g(:)40 b Fq(190)150 564 y Fp(gnutls_x509_crl_sign2)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fp(197)150 2775 y Fq +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(189)150 653 y Fp (gnutls_x509_crl_verify)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fp(197)150 -2864 y Fq(gnutls_x509_crq_deinit)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fq(190)150 +741 y Fp(gnutls_x509_crq_deinit)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fp(198)150 2952 y Fq(gnutls_x509_crq_export)8 b Fa(:)18 +b Fq(190)150 830 y Fp(gnutls_x509_crq_export)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)35 b Fp(198)150 3041 y Fq(gnutls_x509_crq_get_attribute)q -(_by_)q(oid)7 b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(198)150 -3129 y Fq(gnutls_x509_crq_get_attribute)q(_dat)q(a)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(199)150 -3218 y Fq(gnutls_x509_crq_get_attribute)q(_inf)q(o)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(199)150 -3306 y Fq(gnutls_x509_crq_get_basic_con)q(stra)q(ints)28 -b Fa(:)13 b(:)g(:)48 b Fp(199)150 3395 y Fq -(gnutls_x509_crq_get_challenge)q(_pas)q(sword)25 b Fa(:)14 -b(:)45 b Fp(200)150 3483 y Fq(gnutls_x509_crq_get_dn)8 +(:)g(:)g(:)35 b Fq(191)150 918 y Fp(gnutls_x509_crq_get_attribute)q +(_by_)q(oid)7 b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(191)150 +1006 y Fp(gnutls_x509_crq_get_challenge)q(_pas)q(sword)25 +b Fa(:)14 b(:)45 b Fq(191)150 1095 y Fp(gnutls_x509_crq_get_dn)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(201)150 3572 y Fq +(:)h(:)f(:)g(:)g(:)35 b Fq(192)150 1183 y Fp (gnutls_x509_crq_get_dn_by_oid)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(200)150 3660 y Fq +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(192)150 1272 y Fp (gnutls_x509_crq_get_dn_oid)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(201)150 3749 y -Fq(gnutls_x509_crq_get_extension)q(_by_)q(oid)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(201)150 3837 y Fq -(gnutls_x509_crq_get_extension)q(_dat)q(a)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(202)150 3926 y Fq -(gnutls_x509_crq_get_extension)q(_inf)q(o)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(202)150 4014 y Fq -(gnutls_x509_crq_get_key_id)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(203)150 4102 y -Fq(gnutls_x509_crq_get_key_purpo)q(se_o)q(id)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(203)150 4191 y Fq -(gnutls_x509_crq_get_key_rsa_r)q(aw)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)46 b Fp(203)150 4279 y Fq(gnutls_x509_crq_get_key_usage) -9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(204)150 4368 y Fq(gnutls_x509_crq_get_pk_algori)q(thm)18 -b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fp(204)150 -4456 y Fq(gnutls_x509_crq_get_subject_a)q(lt_n)q(ame)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(204)150 4545 y Fq -(gnutls_x509_crq_get_subject_a)q(lt_o)q(thern)q(ame_)304 -4632 y(oid)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fp(205)150 4721 y Fq -(gnutls_x509_crq_get_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(205)150 4809 y -Fq(gnutls_x509_crq_import)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fp(206)150 -4898 y Fq(gnutls_x509_crq_init)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 -b Fp(206)150 4986 y Fq(gnutls_x509_crq_print)11 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(206)150 5075 y Fq -(gnutls_x509_crq_set_attribute)q(_by_)q(oid)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(206)150 5163 y Fq -(gnutls_x509_crq_set_basic_con)q(stra)q(ints)28 b Fa(:)13 -b(:)g(:)48 b Fp(207)150 5251 y Fq(gnutls_x509_crq_set_challenge)q(_pas) -q(sword)25 b Fa(:)14 b(:)45 b Fp(207)150 5340 y Fq -(gnutls_x509_crq_set_dn_by_oid)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(207)2025 299 y Fq -(gnutls_x509_crq_set_key)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fp(208)2025 -387 y Fq(gnutls_x509_crq_set_key_purpos)q(e_oid)10 b -Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(207)2025 476 y -Fq(gnutls_x509_crq_set_key_rsa_ra)q(w)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)46 b Fp(208)2025 564 y Fq -(gnutls_x509_crq_set_key_usage)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)34 b Fp(208)2025 653 y Fq -(gnutls_x509_crq_set_subject_al)q(t_nam)q(e)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(209)2025 741 y Fq -(gnutls_x509_crq_set_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(209)2025 830 y -Fq(gnutls_x509_crq_sign)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fp(210)2025 918 y Fq(gnutls_x509_crq_sign2)11 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)38 b Fp(209)2025 1007 y Fq -(gnutls_x509_crt_check_hostname)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)49 b Fp(210)2025 1095 y Fq(gnutls_x509_crt_check_issuer) -11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(210)2025 1184 y Fq(gnutls_x509_crt_check_revocati)q(on)17 -b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(210)2025 -1272 y Fq(gnutls_x509_crt_cpy_crl_dist_p)q(oints)10 b -Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(211)2025 1361 -y Fq(gnutls_x509_crt_deinit)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(211)2025 1449 y Fq(gnutls_x509_crt_export)8 b Fa(:)18 -b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)35 b Fp(211)2025 1538 y Fq(gnutls_x509_crt_get_activation)q -(_time)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(211)2025 -1626 y Fq(gnutls_x509_crt_get_authority_)q(key_i)q(d)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(212)2025 1715 y -Fq(gnutls_x509_crt_get_basic_cons)q(train)q(ts)27 b Fa(:)14 -b(:)f(:)48 b Fp(212)2025 1803 y Fq(gnutls_x509_crt_get_ca_status)8 -b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(212)2025 1892 y Fq(gnutls_x509_crt_get_crl_dist_p)q(oints)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(213)2025 1980 -y Fq(gnutls_x509_crt_get_dn)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(214)2025 2069 y Fq(gnutls_x509_crt_get_dn_by_oid)8 -b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(213)2025 2157 y Fq(gnutls_x509_crt_get_dn_oid)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(214)2025 2246 y Fq(gnutls_x509_crt_get_expiration)q(_time)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fp(214)2025 2334 -y Fq(gnutls_x509_crt_get_extension_)q(by_oi)q(d)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(215)2025 2423 y Fq -(gnutls_x509_crt_get_extension_)q(data)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)39 b Fp(215)2025 2511 y Fq -(gnutls_x509_crt_get_extension_)q(info)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)39 b Fp(215)2025 2600 y Fq -(gnutls_x509_crt_get_extension_)q(oid)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(216)2025 2688 y Fq -(gnutls_x509_crt_get_fingerprin)q(t)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)46 b Fp(216)2025 2776 y Fq(gnutls_x509_crt_get_issuer)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(218)2025 2865 y Fq(gnutls_x509_crt_get_issuer_dn)8 -b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(217)2025 2953 y Fq(gnutls_x509_crt_get_issuer_dn_)q(by_oi)q(d)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(216)2025 3042 y -Fq(gnutls_x509_crt_get_issuer_dn_)q(oid)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(217)2025 3130 y Fq -(gnutls_x509_crt_get_key_id)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(218)2025 3219 -y Fq(gnutls_x509_crt_get_key_purpos)q(e_oid)10 b Fa(:)19 -b(:)13 b(:)g(:)h(:)f(:)36 b Fp(218)2025 3307 y Fq -(gnutls_x509_crt_get_key_usage)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)34 b Fp(219)2025 3396 y Fq -(gnutls_x509_crt_get_pk_algorit)q(hm)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(219)2025 3484 y Fq -(gnutls_x509_crt_get_pk_dsa_raw)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)49 b Fp(219)2025 3573 y Fq -(gnutls_x509_crt_get_pk_rsa_raw)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)49 b Fp(220)2025 3661 y Fq(gnutls_x509_crt_get_proxy)18 -b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(220)2025 3750 y Fq(gnutls_x509_crt_get_raw_dn)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(220)2025 3838 y Fq(gnutls_x509_crt_get_raw_issuer)q(_dn)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(221)2025 -3927 y Fq(gnutls_x509_crt_get_serial)15 b Fa(:)k(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 -b Fp(221)2025 4015 y Fq(gnutls_x509_crt_get_signature)8 -b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(221)2025 4104 y Fq(gnutls_x509_crt_get_signature_)q(algor)q(ithm) -2200 4191 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(221)2025 -4279 y Fq(gnutls_x509_crt_get_subject)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(223)2025 4368 y Fq(gnutls_x509_crt_get_subject_al)q(t_nam)q(e)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(222)2025 4456 y -Fq(gnutls_x509_crt_get_subject_al)q(t_nam)q(e2)27 b Fa(:)14 -b(:)f(:)48 b Fp(222)2025 4545 y Fq(gnutls_x509_crt_get_subject_al)q -(t_oth)q(erna)q(me_)2178 4632 y(oid)14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fp(223)2025 4721 y Fq(gnutls_x509_crt_get_subject_ke)q(y_id)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(223)2025 -4809 y Fq(gnutls_x509_crt_get_verify_alg)q(orith)q(m)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(224)2025 4898 y -Fq(gnutls_x509_crt_get_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(224)2025 4986 -y Fq(gnutls_x509_crt_import)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 -b Fp(224)2025 5075 y Fq(gnutls_x509_crt_init)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(224)2025 5163 y Fq -(gnutls_x509_crt_list_import)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(225)2025 5251 -y Fq(gnutls_x509_crt_list_verify)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(225)2025 5340 y Fq(gnutls_x509_crt_print)11 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)38 b Fp(226)p eop end -%%Page: 338 344 -TeXDict begin 338 343 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(338)150 299 y Fq -(gnutls_x509_crt_set_activatio)q(n_ti)q(me)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(226)150 390 y Fq -(gnutls_x509_crt_set_authority)q(_key)q(_id)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(226)150 481 y Fq -(gnutls_x509_crt_set_basic_con)q(stra)q(ints)28 b Fa(:)13 -b(:)g(:)48 b Fp(226)150 572 y Fq(gnutls_x509_crt_set_ca_status)9 +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(192)150 1360 y +Fp(gnutls_x509_crq_get_pk_algori)q(thm)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g +(:)g(:)g(:)44 b Fq(193)150 1449 y Fp(gnutls_x509_crq_get_version)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(193)150 1537 y Fp(gnutls_x509_crq_import)8 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)35 b Fq(193)150 1625 y Fp(gnutls_x509_crq_init)13 +b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fq(194)150 1714 y +Fp(gnutls_x509_crq_set_attribute)q(_by_)q(oid)7 b Fa(:)19 +b(:)13 b(:)g(:)h(:)33 b Fq(194)150 1802 y Fp +(gnutls_x509_crq_set_challenge)q(_pas)q(sword)25 b Fa(:)14 +b(:)45 b Fq(194)150 1891 y Fp(gnutls_x509_crq_set_dn_by_oid)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(227)150 663 y Fq(gnutls_x509_crt_set_crl_dist_)q(poin)q(ts)10 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fp(227)150 754 y Fq -(gnutls_x509_crt_set_crl_dist_)q(poin)q(ts2)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(227)150 844 y Fq(gnutls_x509_crt_set_crq)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(228)150 935 y Fq(gnutls_x509_crt_set_crq_exten)q -(sion)q(s)12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 -b Fp(227)150 1026 y Fq(gnutls_x509_crt_set_dn_by_oid)9 +b Fq(194)150 1979 y Fp(gnutls_x509_crq_set_key)28 b Fa(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)50 b Fq(195)150 2068 y Fp(gnutls_x509_crq_set_version)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(195)150 2156 y Fp(gnutls_x509_crq_sign)13 b Fa(:)18 +b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)40 b Fq(195)150 2245 y Fp(gnutls_x509_crq_sign2)11 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(195)150 2333 y Fp +(gnutls_x509_crt_check_hostnam)q(e)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)49 b Fq(196)150 2421 y Fp +(gnutls_x509_crt_check_issuer)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fq(196)150 2510 y Fp +(gnutls_x509_crt_check_revocat)q(ion)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)44 b Fq(196)150 2598 y Fp(gnutls_x509_crt_cpy_crl_dist_)q(poin) +q(ts)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fq(196)150 +2687 y Fp(gnutls_x509_crt_deinit)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 +b Fq(197)150 2775 y Fp(gnutls_x509_crt_export)8 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)35 b Fq(197)150 2864 y Fp(gnutls_x509_crt_get_activatio)q +(n_ti)q(me)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fq(197)150 +2952 y Fp(gnutls_x509_crt_get_authority)q(_key)q(_id)7 +b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(197)150 3041 y Fp +(gnutls_x509_crt_get_basic_con)q(stra)q(ints)28 b Fa(:)13 +b(:)g(:)48 b Fq(198)150 3129 y Fp(gnutls_x509_crt_get_ca_status)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 -b Fp(228)150 1117 y Fq(gnutls_x509_crt_set_expiratio)q(n_ti)q(me)10 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fp(228)150 1208 y -Fq(gnutls_x509_crt_set_extension)q(_by_)q(oid)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(228)150 1299 y Fq -(gnutls_x509_crt_set_issuer_dn)q(_by_)q(oid)7 b Fa(:)19 -b(:)13 b(:)g(:)h(:)33 b Fp(229)150 1390 y Fq(gnutls_x509_crt_set_key)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(230)150 1481 y Fq(gnutls_x509_crt_set_key_purpo)q -(se_o)q(id)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fp(229)150 -1572 y Fq(gnutls_x509_crt_set_key_usage)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(230)150 -1663 y Fq(gnutls_x509_crt_set_proxy)18 b Fa(:)h(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fp(230)150 1754 y Fq(gnutls_x509_crt_set_proxy_dn)11 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 -b Fp(230)150 1845 y Fq(gnutls_x509_crt_set_serial)16 -b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(231)150 1936 y Fq(gnutls_x509_crt_set_subject_a)q(lt_n)q(ame)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(231)150 2026 y Fq -(gnutls_x509_crt_set_subject_a)q(lter)q(nativ)q(e_)304 -2114 y(name)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)38 b Fp(231)150 2205 y Fq -(gnutls_x509_crt_set_subject_k)q(ey_i)q(d)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(232)150 2296 y Fq -(gnutls_x509_crt_set_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(232)150 2386 y -Fq(gnutls_x509_crt_sign)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 -b Fp(233)150 2477 y Fq(gnutls_x509_crt_sign2)11 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(232)150 2568 y Fq(gnutls_x509_crt_verify)8 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(233)150 2659 y Fq -(gnutls_x509_crt_verify_data)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(233)150 2750 y -Fq(gnutls_x509_crt_verify_hash)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fp(233)150 2841 -y Fq(gnutls_x509_dn_deinit)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fp(234)150 2932 y Fq(gnutls_x509_dn_export)11 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)38 b Fp(234)150 3023 y Fq(gnutls_x509_dn_get_rdn_ava)16 -b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(234)150 3114 y Fq(gnutls_x509_dn_import)11 b -Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)38 b Fp(235)150 3205 y Fq(gnutls_x509_dn_init) -16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fp(235)150 3296 y -Fq(gnutls_x509_dn_oid_known)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(235)150 -3387 y Fq(gnutls_x509_privkey_cpy)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b -Fp(235)150 3478 y Fq(gnutls_x509_privkey_deinit)16 b -Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 -b Fp(235)150 3568 y Fq(gnutls_x509_privkey_export)16 +b Fq(198)150 3217 y Fp(gnutls_x509_crt_get_crl_dist_)q(poin)q(ts)10 +b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fq(198)150 3306 y +Fp(gnutls_x509_crt_get_dn)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fq(200)150 +3394 y Fp(gnutls_x509_crt_get_dn_by_oid)9 b Fa(:)18 b(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(199)150 +3483 y Fp(gnutls_x509_crt_get_dn_oid)16 b Fa(:)i(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 +b Fq(199)150 3571 y Fp(gnutls_x509_crt_get_expiratio)q(n_ti)q(me)10 +b Fa(:)18 b(:)c(:)f(:)g(:)g(:)36 b Fq(200)150 3660 y +Fp(gnutls_x509_crt_get_extension)q(_by_)q(oid)7 b Fa(:)19 +b(:)13 b(:)g(:)h(:)33 b Fq(200)150 3748 y Fp +(gnutls_x509_crt_get_extension)q(_dat)q(a)12 b Fa(:)19 +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(201)150 3836 y Fp +(gnutls_x509_crt_get_extension)q(_inf)q(o)12 b Fa(:)19 +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(201)150 3925 y Fp +(gnutls_x509_crt_get_extension)q(_oid)15 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(202)150 4013 y Fp +(gnutls_x509_crt_get_fingerpri)q(nt)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)46 b Fq(202)150 4102 y Fp(gnutls_x509_crt_get_issuer)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(237)150 3659 y Fq(gnutls_x509_privkey_export_ds)q(a_ra)q(w)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(236)150 -3750 y Fq(gnutls_x509_privkey_export_pk)q(cs8)18 b Fa(:)g(:)c(:)f(:)g -(:)g(:)g(:)g(:)g(:)44 b Fp(236)150 3841 y Fq -(gnutls_x509_privkey_export_rs)q(a_ra)q(w)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(236)150 3932 y Fq -(gnutls_x509_privkey_fix)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fp(237)150 -4023 y Fq(gnutls_x509_privkey_generate)11 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b -Fp(237)150 4114 y Fq(gnutls_x509_privkey_get_key_i)q(d)28 +42 b Fq(203)150 4190 y Fp(gnutls_x509_crt_get_issuer_dn)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(203)150 4279 y Fp(gnutls_x509_crt_get_issuer_dn)q(_by_)q(oid)7 +b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(202)150 4367 y Fp +(gnutls_x509_crt_get_issuer_dn)q(_oid)15 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(203)150 4456 y Fp +(gnutls_x509_crt_get_key_id)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(204)150 4544 y +Fp(gnutls_x509_crt_get_key_purpo)q(se_o)q(id)10 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)36 b Fq(204)150 4632 y Fp +(gnutls_x509_crt_get_key_usage)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(204)150 4721 y Fp +(gnutls_x509_crt_get_pk_algori)q(thm)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)44 b Fq(205)150 4809 y Fp(gnutls_x509_crt_get_pk_dsa_ra)q(w)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fp(238)150 4205 y Fq(gnutls_x509_privkey_get_pk_al)q(gori)q(thm)7 -b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fp(238)150 4296 y Fq -(gnutls_x509_privkey_import)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fp(239)150 4387 y -Fq(gnutls_x509_privkey_import_ds)q(a_ra)q(w)12 b Fa(:)19 -b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(238)150 4478 y Fq -(gnutls_x509_privkey_import_pk)q(cs8)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:) -g(:)g(:)44 b Fp(239)150 4569 y Fq(gnutls_x509_privkey_import_rs)q(a_ra) -q(w)12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(239)150 -4660 y Fq(gnutls_x509_privkey_init)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(240)150 -4751 y Fq(gnutls_x509_privkey_sign_data)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(240)150 -4841 y Fq(gnutls_x509_privkey_sign_hash)9 b Fa(:)18 b(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(240)150 -4932 y Fq(gnutls_x509_privkey_verify_da)q(ta)26 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(241)150 5023 -y Fq(gnutls_x509_rdn_get)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fp(242)150 5114 y Fq(gnutls_x509_rdn_get_by_oid)16 +b Fq(205)150 4898 y Fp(gnutls_x509_crt_get_pk_rsa_ra)q(w)28 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 +b Fq(205)150 4986 y Fp(gnutls_x509_crt_get_proxy)18 b +Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)44 b Fq(206)150 5075 y Fp(gnutls_x509_crt_get_raw_dn)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -42 b Fp(241)150 5205 y Fq(gnutls_x509_rdn_get_oid)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(241)2025 299 y FA(H)2025 416 y Fq(handshake)7 -b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)34 b Fp(291)2025 504 y Fq(handshake-description->string)8 -b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(293)2025 760 y FA(I)2025 877 y Fq(import-openpgp-certificate)15 -b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(294)2025 965 y Fq(import-openpgp-keyring)8 b -Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)35 b Fp(294)2025 1053 y Fq -(import-openpgp-private-key)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(294)2025 1141 -y Fq(import-x509-certificate)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fp(287)2025 -1229 y Fq(import-x509-private-key)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b -Fp(287)2025 1484 y FA(K)2025 1602 y Fq(key-usage->string)25 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fp(292)2025 -1690 y Fq(kx->string)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)49 b Fp(293)2025 1945 y FA(M)2025 -2063 y Fq(mac->string)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)46 b Fp(293)2025 2151 y Fq -(make-anonymous-client-credenti)q(als)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(289)2025 2239 y Fq -(make-anonymous-server-credenti)q(als)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(289)2025 2327 y Fq -(make-certificate-credentials)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)37 b Fp(288)2025 2415 y Fq(make-dh-parameters) -22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(289)2025 -2502 y Fq(make-psk-client-credentials)13 b Fa(:)19 b(:)13 +42 b Fq(206)150 5163 y Fp(gnutls_x509_crt_get_raw_issue)q(r_dn)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(206)150 +5252 y Fp(gnutls_x509_crt_get_serial)16 b Fa(:)i(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 +b Fq(206)150 5340 y Fp(gnutls_x509_crt_get_signature)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(207)2025 299 y Fp(gnutls_x509_crt_get_signature_)q(algor)q(ithm) +2200 386 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(207)2025 +475 y Fp(gnutls_x509_crt_get_subject)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 +b Fq(209)2025 563 y Fp(gnutls_x509_crt_get_subject_al)q(t_nam)q(e)7 +b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fq(208)2025 652 y Fp +(gnutls_x509_crt_get_subject_al)q(t_nam)q(e2)27 b Fa(:)14 +b(:)f(:)48 b Fq(207)2025 740 y Fp(gnutls_x509_crt_get_subject_al)q +(t_oth)q(erna)q(me_)2178 827 y(oid)14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 +b Fq(208)2025 916 y Fp(gnutls_x509_crt_get_subject_ke)q(y_id)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(209)2025 +1004 y Fp(gnutls_x509_crt_get_version)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 +b Fq(209)2025 1093 y Fp(gnutls_x509_crt_import)8 b Fa(:)18 +b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)35 b Fq(209)2025 1181 y Fp(gnutls_x509_crt_init)13 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fq(210)2025 1270 +y Fp(gnutls_x509_crt_list_import)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(287)2025 2590 y Fq(make-psk-server-credentials)13 +b Fq(210)2025 1358 y Fp(gnutls_x509_crt_list_verify)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(287)2025 2678 y Fq(make-rsa-parameters)24 b Fa(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)47 b Fp(280,)27 b(289)2025 2766 y Fq(make-session)17 -b Fa(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fp(291)2025 3003 y FA(O)2025 3120 y Fq(openpgp-certificate-algorithm) -8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fp(294)2025 3208 y Fq(openpgp-certificate-fingerprin)q(t)25 -b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fp(294)2025 -3296 y Fq(openpgp-certificate-fingerprin)q(t!)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(294)2025 3384 y Fq -(openpgp-certificate-format->st)q(ring)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)39 b Fp(294)2025 3472 y Fq(openpgp-certificate-id)8 +b Fq(210)2025 1447 y Fp(gnutls_x509_crt_print)11 b Fa(:)18 +b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)38 b Fq(211)2025 1535 y Fp +(gnutls_x509_crt_set_activation)q(_time)10 b Fa(:)19 +b(:)13 b(:)g(:)h(:)f(:)36 b Fq(211)2025 1624 y Fp +(gnutls_x509_crt_set_authority_)q(key_i)q(d)7 b Fa(:)19 +b(:)13 b(:)g(:)g(:)34 b Fq(212)2025 1712 y Fp +(gnutls_x509_crt_set_basic_cons)q(train)q(ts)27 b Fa(:)14 +b(:)f(:)48 b Fq(212)2025 1801 y Fp(gnutls_x509_crt_set_ca_status)8 +b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 +b Fq(212)2025 1889 y Fp(gnutls_x509_crt_set_crl_dist_p)q(oints)10 +b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(212)2025 1978 +y Fp(gnutls_x509_crt_set_crq)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fq(213)2025 +2066 y Fp(gnutls_x509_crt_set_dn_by_oid)8 b Fa(:)19 b(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(213)2025 +2155 y Fp(gnutls_x509_crt_set_expiration)q(_time)10 b +Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(213)2025 2243 +y Fp(gnutls_x509_crt_set_extension_)q(by_oi)q(d)7 b Fa(:)19 +b(:)13 b(:)g(:)g(:)34 b Fq(213)2025 2332 y Fp +(gnutls_x509_crt_set_issuer_dn_)q(by_oi)q(d)7 b Fa(:)19 +b(:)13 b(:)g(:)g(:)34 b Fq(214)2025 2420 y Fp(gnutls_x509_crt_set_key) +28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)50 b Fq(215)2025 2509 y Fp +(gnutls_x509_crt_set_key_purpos)q(e_oid)10 b Fa(:)19 +b(:)13 b(:)g(:)h(:)f(:)36 b Fq(214)2025 2597 y Fp +(gnutls_x509_crt_set_key_usage)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(215)2025 2686 y Fp +(gnutls_x509_crt_set_proxy)18 b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fq(215)2025 2775 +y Fp(gnutls_x509_crt_set_proxy_dn)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fq(215)2025 2863 y Fp +(gnutls_x509_crt_set_serial)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(216)2025 2952 +y Fp(gnutls_x509_crt_set_subject_al)q(terna)q(tive)q(_)2178 +3039 y(name)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)38 b Fq(216)2025 3127 y Fp +(gnutls_x509_crt_set_subject_ke)q(y_id)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)39 b Fq(216)2025 3216 y Fp +(gnutls_x509_crt_set_version)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(216)2025 3304 +y Fp(gnutls_x509_crt_sign)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 +b Fq(217)2025 3393 y Fp(gnutls_x509_crt_sign2)11 b Fa(:)18 +b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)38 b Fq(217)2025 3481 y Fp(gnutls_x509_crt_verify)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)35 b Fp(294)2025 3560 y Fq -(openpgp-certificate-id!)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fp(294)2025 -3648 y Fq(openpgp-certificate-name)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(294)2025 -3736 y Fq(openpgp-certificate-names)18 b Fa(:)g(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fp(294)2025 3824 y Fq(openpgp-certificate-usage)18 -b Fa(:)g(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)45 b Fp(294)2025 3912 y Fq(openpgp-certificate-version)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fp(294)2025 4000 y Fq(openpgp-certificate?)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(294)2025 4088 y Fq -(openpgp-keyring-contains-key-i)q(d?)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(293)2025 4176 y Fq -(openpgp-keyring?)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 -b Fp(294)2025 4264 y Fq(openpgp-private-key?)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fp(294)2025 4519 y FA(P)2025 -4637 y Fq(params->string)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)39 b Fp(293)2025 4724 y Fq(peer-certificate-status)28 +(:)g(:)g(:)g(:)h(:)f(:)35 b Fq(218)2025 3570 y Fp +(gnutls_x509_crt_verify_data)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(217)2025 3658 +y Fp(gnutls_x509_dn_deinit)11 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 +b Fq(218)2025 3747 y Fp(gnutls_x509_dn_export)11 b Fa(:)18 +b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)38 b Fq(218)2025 3835 y Fp(gnutls_x509_dn_get_rdn_ava) +15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)42 b Fq(218)2025 3924 y Fp(gnutls_x509_dn_import)11 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fq(219)2025 4012 y Fp +(gnutls_x509_dn_init)16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 +b Fq(219)2025 4101 y Fp(gnutls_x509_dn_oid_known)26 b +Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(219)2025 4189 y Fp(gnutls_x509_privkey_cpy)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)50 b Fp(287)2025 4812 y Fq(pk-algorithm->string)13 -b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fp(292)2025 4900 -y Fq(pkcs1-export-rsa-parameters)17 b Fa(:)i(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)44 b Fp(280,)27 b(288)2025 4988 y Fq -(pkcs1-import-rsa-parameters)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(289)2025 5076 -y Fq(pkcs3-export-dh-parameters)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(289)2025 5164 -y Fq(pkcs3-import-dh-parameters)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(289)2025 5252 -y Fq(pkcs8-import-x509-private-key)8 b Fa(:)19 b(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fp(287)2025 -5340 y Fq(protocol->string)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:) +(:)g(:)g(:)50 b Fq(220)2025 4278 y Fp(gnutls_x509_privkey_deinit)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +42 b Fq(220)2025 4366 y Fp(gnutls_x509_privkey_export)15 +b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +42 b Fq(221)2025 4455 y Fp(gnutls_x509_privkey_export_dsa)q(_raw)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(220)2025 +4543 y Fp(gnutls_x509_privkey_export_pkc)q(s8)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(220)2025 4632 y Fp +(gnutls_x509_privkey_export_rsa)q(_raw)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)39 b Fq(221)2025 4720 y Fp(gnutls_x509_privkey_fix) +28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)50 b Fq(222)2025 4809 y Fp(gnutls_x509_privkey_generate) +11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 +b Fq(222)2025 4897 y Fp(gnutls_x509_privkey_get_key_id)29 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 +b Fq(222)2025 4986 y Fp(gnutls_x509_privkey_get_pk_alg)q(orith)q(m)7 +b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fq(222)2025 5074 y +Fp(gnutls_x509_privkey_import)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(224)2025 5163 +y Fp(gnutls_x509_privkey_import_dsa)q(_raw)13 b Fa(:)19 +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(223)2025 5251 y Fp +(gnutls_x509_privkey_import_pkc)q(s8)17 b Fa(:)i(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fq(223)2025 5340 y Fp +(gnutls_x509_privkey_import_rsa)q(_raw)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)39 b Fq(223)p eop end +%%Page: 317 323 +TeXDict begin 317 322 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(317)150 299 y Fp(gnutls_x509_privkey_init) +26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)47 b Fq(224)150 389 y Fp(gnutls_x509_privkey_sign_data)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(224)150 480 y Fp(gnutls_x509_privkey_sign_hash)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(225)150 570 y Fp(gnutls_x509_privkey_verify_da)q(ta)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fq(225)150 +661 y Fp(gnutls_x509_rdn_get)16 b Fa(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 +b Fq(226)150 751 y Fp(gnutls_x509_rdn_get_by_oid)16 b +Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 +b Fq(225)150 841 y Fp(gnutls_x509_rdn_get_oid)28 b Fa(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)50 b Fq(226)150 1110 y FA(H)150 1233 y Fp(handshake)7 +b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)34 b Fq(273)150 1323 y Fp(handshake-description->string)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(275)150 1592 y FA(I)150 1714 y Fp(import-openpgp-certificate)16 +b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +42 b Fq(276)150 1805 y Fp(import-openpgp-keyring)8 b +Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)35 b Fq(276)150 1895 y Fp +(import-openpgp-private-key)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(276)150 1986 y +Fp(import-x509-certificate)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fq(269)150 +2076 y Fp(import-x509-private-key)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b +Fq(269)150 2345 y FA(K)150 2467 y Fp(key-usage->string)25 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(274)150 +2558 y Fp(kx->string)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(275)150 2826 y FA(M)150 +2949 y Fp(mac->string)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)33 b Fp(292)p eop end -%%Page: 339 345 -TeXDict begin 339 344 bop 150 -116 a FB(F)-8 b(unction)31 -b(and)f(Data)i(Index)2458 b(339)150 299 y Fq(psk-client-credentials?)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(291)150 386 y Fq(psk-key-format->string)8 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)35 b Fp(292)150 474 y Fq(psk-server-credentials?)28 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)50 b Fp(291)150 726 y FA(R)150 842 y Fq(record-receive!)13 -b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(281,)27 b(289)150 -930 y Fq(record-send)7 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)33 b Fp(281,)27 b(289)150 1017 y Fq(rehandshake)22 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 -b Fp(291)150 1104 y Fq(rsa-parameters?)9 b Fa(:)17 b(:)c(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)36 b Fp(292)150 1357 y FA(S)150 -1473 y Fq(server-session-psk-username)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(287)150 1560 y Fq(session-authentication-type)13 +(:)g(:)h(:)f(:)g(:)g(:)46 b Fq(275)150 3039 y Fp +(make-anonymous-client-credent)q(ials)15 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(271)150 3130 y Fp +(make-anonymous-server-credent)q(ials)15 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)41 b Fq(271)150 3220 y Fp +(make-certificate-credentials)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fq(270)150 3311 y Fp +(make-dh-parameters)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 +b Fq(271)150 3401 y Fp(make-psk-client-credentials)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fp(290)150 1648 y Fq(session-certificate-type)26 b -Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)47 b Fp(291)150 1735 y Fq(session-cipher)16 b -Fa(:)g(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fp(279,)27 b(291)150 -1822 y Fq(session-client-authentication)q(-typ)q(e)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(290)150 -1910 y Fq(session-compression-method)16 b Fa(:)i(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 -b Fp(291)150 1997 y Fq(session-kx)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(291)150 -2084 y Fq(session-mac)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)46 b Fp(291)150 2172 y Fq -(session-our-certificate-chain)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)34 b Fp(290)150 2259 y Fq -(session-peer-certificate-chai)q(n)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)49 b Fp(290)150 2346 y Fq(session-protocol)7 +b Fq(269)150 3492 y Fp(make-psk-server-credentials)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(269)150 3582 y Fp(make-rsa-parameters)25 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)47 b Fq(262,)27 b(271)150 3672 y Fp(make-session)17 +b Fa(:)f(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 +b Fq(273)150 3922 y FA(O)150 4045 y Fp(openpgp-certificate-algorithm)9 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fq(276)150 4135 y Fp(openpgp-certificate-fingerpri)q(nt)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fq(276)150 +4226 y Fp(openpgp-certificate-fingerpri)q(nt!)18 b Fa(:)g(:)c(:)f(:)g +(:)g(:)g(:)g(:)g(:)44 b Fq(276)150 4316 y Fp +(openpgp-certificate-format->s)q(trin)q(g)12 b Fa(:)19 +b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(276)150 4407 y Fp +(openpgp-certificate-id)8 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fq(276)150 +4497 y Fp(openpgp-certificate-id!)28 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b +Fq(276)150 4588 y Fp(openpgp-certificate-name)26 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 +b Fq(276)150 4678 y Fp(openpgp-certificate-names)18 b +Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)44 b Fq(276)150 4768 y Fp(openpgp-certificate-usage)18 +b Fa(:)h(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)44 b Fq(276)150 4859 y Fp(openpgp-certificate-version)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fq(276)150 4949 y Fp(openpgp-certificate?)13 b Fa(:)18 +b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)40 b Fq(276)150 5040 y Fp +(openpgp-keyring-contains-key-)q(id?)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:) +g(:)g(:)44 b Fq(275)150 5130 y Fp(openpgp-keyring?)7 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fp(291)150 -2434 y Fq(session-record-port)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(281,)27 -b(289)150 2521 y Fq(session-server-authentication)q(-typ)q(e)12 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(290)150 -2608 y Fq(session?)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fp(292)150 2696 -y Fq(set-anonymous-server-dh-param)q(eter)q(s!)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)36 b Fp(289)150 2783 y Fq -(set-certificate-credentials-d)q(h-pa)q(ramet)q(ers!)325 -2870 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(288)150 2957 -y Fq(set-certificate-credentials-o)q(penp)q(gp-ke)q(ys!)325 -3045 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(293)150 3132 -y Fq(set-certificate-credentials-r)q(sa-e)q(xport)q(-)304 -3219 y(parameters!)11 b Fa(:)k(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -37 b Fp(288)150 3306 y Fq(set-certificate-credentials-v)q(erif)q(y-fla) -q(gs!)325 3394 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(287)150 -3481 y Fq(set-certificate-credentials-v)q(erif)q(y-lim)q(its!)325 -3568 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(287)150 3655 -y Fq(set-certificate-credentials-x)q(509-)q(crl-d)q(ata!)325 -3743 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(288)150 3830 -y Fq(set-certificate-credentials-x)q(509-)q(crl-f)q(ile!)325 -3917 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(288)150 4005 -y Fq(set-certificate-credentials-x)q(509-)q(key-d)q(ata!)325 -4092 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(288)150 4179 -y Fq(set-certificate-credentials-x)q(509-)q(key-f)q(iles)q(!)325 -4266 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fp(288)150 4354 -y Fq(set-certificate-credentials-x)q(509-)q(keys!)25 -b Fa(:)14 b(:)45 b Fp(288)2025 299 y Fq(set-certificate-credentials-x5) -q(09-tr)q(ust-)2178 386 y(data!)9 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fp(288)2025 -474 y Fq(set-certificate-credentials-x5)q(09-tr)q(ust-)2178 -561 y(file!)9 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)36 b Fp(288)2025 649 y Fq(set-log-level!)12 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fq(276)150 +5221 y Fp(openpgp-private-key?)13 b Fa(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 +b Fq(276)2025 299 y FA(P)2025 418 y Fp(params->string)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39 -b Fp(286)2025 737 y Fq(set-log-procedure!)22 b Fa(:)14 -b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(286)2025 824 y Fq -(set-psk-client-credentials!)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(287)2025 912 y -Fq(set-psk-server-credentials-fil)q(e!)17 b Fa(:)i(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fp(287)2025 1000 y Fq -(set-server-session-certificate)q(-requ)q(est!)2200 1087 -y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +b Fq(275)2025 507 y Fp(peer-certificate-status)28 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)50 b Fq(269)2025 596 y Fp(pk-algorithm->string)13 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fq(274)2025 685 y +Fp(pkcs1-export-rsa-parameters)17 b Fa(:)i(:)13 b(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)44 b Fq(262,)27 b(270)2025 774 y Fp +(pkcs1-import-rsa-parameters)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(271)2025 863 y +Fp(pkcs3-export-dh-parameters)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(271)2025 952 +y Fp(pkcs3-import-dh-parameters)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(271)2025 1040 +y Fp(pkcs8-import-x509-private-key)8 b Fa(:)19 b(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fq(269)2025 +1129 y Fp(protocol->string)7 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)33 b Fq(274)2025 1218 y Fp(psk-client-credentials?)28 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)50 b Fq(273)2025 1307 y Fp(psk-key-format->string)8 +b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)35 b Fq(274)2025 1396 y Fp +(psk-server-credentials?)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fq(273)2025 +1656 y FA(R)2025 1776 y Fp(record-receive!)13 b Fa(:)k(:)c(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(290)2025 1175 y Fq -(set-session-certificate-type-p)q(riori)q(ty!)25 b Fa(:)13 -b(:)46 b Fp(290)2025 1262 y Fq(set-session-cipher-priority!)11 -b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fp(290)2025 1350 y Fq(set-session-compression-method)q(-prio)q(rity)q -(!)2200 1437 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(290)2025 -1525 y Fq(set-session-credentials!)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(289)2025 -1613 y Fq(set-session-default-export-pri)q(ority)q(!)7 -b Fa(:)19 b(:)13 b(:)g(:)g(:)34 b Fp(290)2025 1701 y -Fq(set-session-default-priority!)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fp(290)2025 1788 y Fq -(set-session-dh-prime-bits!)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fp(289)2025 1876 -y Fq(set-session-kx-priority!)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(290)2025 -1964 y Fq(set-session-mac-priority!)18 b Fa(:)g(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fp(290)2025 2052 y Fq(set-session-protocol-priority!)29 +h(:)40 b Fq(263,)27 b(271)2025 1865 y Fp(record-send)7 +b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 +b Fq(263,)27 b(271)2025 1954 y Fp(rehandshake)22 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 +b Fq(273)2025 2042 y Fp(rsa-parameters?)9 b Fa(:)16 b(:)e(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)36 b Fq(274)2025 2303 y FA(S)2025 +2422 y Fp(server-session-psk-username)13 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 +b Fq(269)2025 2511 y Fp(session-authentication-type)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 +b Fq(272)2025 2600 y Fp(session-certificate-type)26 b +Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)47 b Fq(273)2025 2689 y Fp(session-cipher)16 b +Fa(:)g(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fq(261,)27 b(273)2025 +2778 y Fp(session-client-authentication-)q(type)13 b +Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(272)2025 2867 +y Fp(session-compression-method)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fq(273)2025 2956 +y Fp(session-kx)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)49 b Fq(273)2025 3044 y Fp(session-mac)22 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 +b Fq(273)2025 3133 y Fp(session-our-certificate-chain)8 +b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 +b Fq(272)2025 3222 y Fp(session-peer-certificate-chain)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(290)2025 2139 y Fq(set-session-transport-fd!)27 -b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(280,)27 b(289)2025 2227 y Fq(set-session-transport-port!)17 -b Fa(:)i(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fp(280,)27 -b(289)2025 2315 y Fq(sign-algorithm->string)8 b Fa(:)18 -b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)35 b Fp(292)2025 2403 y Fq(srp-client-credentials?)28 +b Fq(272)2025 3311 y Fp(session-protocol)7 b Fa(:)16 +b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fq(273)2025 +3400 y Fp(session-record-port)24 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fq(263,)27 +b(271)2025 3489 y Fp(session-server-authentication-)q(type)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(272)2025 +3578 y Fp(session?)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fq(274)2025 +3667 y Fp(set-anonymous-server-dh-parame)q(ters!)10 b +Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)36 b Fq(271)2025 3756 +y Fp(set-certificate-credentials-dh)q(-para)q(mete)q(rs!)2200 +3843 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(270)2025 3932 +y Fp(set-certificate-credentials-op)q(enpgp)q(-key)q(s!)2200 +4019 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(275)2025 4108 +y Fp(set-certificate-credentials-rs)q(a-exp)q(ort-)2178 +4195 y(parameters!)11 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)38 b Fq(270)2025 4284 y Fp(set-certificate-credentials-ve)q(rify-)q +(flag)q(s!)2200 4371 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 +b Fq(269)2025 4460 y Fp(set-certificate-credentials-ve)q(rify-)q(limi)q +(ts!)2200 4547 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(269)2025 +4636 y Fp(set-certificate-credentials-x5)q(09-cr)q(l-da)q(ta!)2200 +4723 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(270)2025 4812 +y Fp(set-certificate-credentials-x5)q(09-cr)q(l-fi)q(le!)2200 +4899 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(270)2025 4988 +y Fp(set-certificate-credentials-x5)q(09-ke)q(y-da)q(ta!)2200 +5075 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(270)2025 5164 +y Fp(set-certificate-credentials-x5)q(09-ke)q(y-fi)q(les!)2200 +5251 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(270)2025 5340 +y Fp(set-certificate-credentials-x5)q(09-ke)q(ys!)25 +b Fa(:)13 b(:)46 b Fq(270)p eop end +%%Page: 318 324 +TeXDict begin 318 323 bop 150 -116 a FB(F)-8 b(unction)31 +b(and)f(Data)i(Index)2458 b(318)150 299 y Fp +(set-certificate-credentials-x)q(509-)q(trust)q(-)304 +386 y(data!)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)36 b Fq(270)150 474 y Fp +(set-certificate-credentials-x)q(509-)q(trust)q(-)304 +561 y(file!)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)36 b Fq(270)150 648 y Fp(set-log-level!)12 +b Fa(:)k(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 +b Fq(268)150 736 y Fp(set-log-procedure!)23 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fq(268)150 823 y Fp +(set-psk-client-credentials!)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fq(269)150 911 y +Fp(set-psk-server-credentials-fi)q(le!)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g +(:)g(:)g(:)44 b Fq(269)150 999 y Fp(set-server-session-certificat)q +(e-re)q(quest)q(!)325 1086 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 +b Fq(272)150 1173 y Fp(set-session-certificate-type-)q(prio)q(rity!)25 +b Fa(:)14 b(:)45 b Fq(272)150 1261 y Fp(set-session-cipher-priority!)11 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 +b Fq(272)150 1348 y Fp(set-session-compression-metho)q(d-pr)q(iorit)q +(y!)325 1436 y Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fq(272)150 +1523 y Fp(set-session-credentials!)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fq(271)150 +1611 y Fp(set-session-default-export-pr)q(iori)q(ty!)7 +b Fa(:)19 b(:)13 b(:)g(:)h(:)33 b Fq(272)150 1698 y Fp +(set-session-default-priority!)9 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)34 b Fq(272)150 1786 y Fp +(set-session-dh-prime-bits!)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fq(271)150 1873 y +Fp(set-session-kx-priority!)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fq(272)150 +1961 y Fp(set-session-mac-priority!)18 b Fa(:)h(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 +b Fq(272)150 2048 y Fp(set-session-protocol-priority)q(!)28 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 +b Fq(272)150 2136 y Fp(set-session-transport-fd!)28 b +Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 +b Fq(262,)27 b(271)150 2224 y Fp(set-session-transport-port!)17 +b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fq(262,)27 +b(271)150 2311 y Fp(sign-algorithm->string)8 b Fa(:)18 +b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)35 b Fq(274)2025 299 y Fp(srp-client-credentials?)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)50 b Fp(292)2025 2491 y Fq(srp-server-credentials?)28 +(:)g(:)g(:)50 b Fq(274)2025 389 y Fp(srp-server-credentials?)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)50 b Fp(292)2025 2745 y FA(X)2025 2862 y Fq +(:)g(:)g(:)50 b Fq(274)2025 657 y FA(X)2025 779 y Fp (x509-certificate-authority-key)q(-id)15 b Fa(:)k(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)41 b Fp(286)2025 2950 y Fq(x509-certificate-dn) +b(:)g(:)g(:)g(:)h(:)f(:)41 b Fq(268)2025 870 y Fp(x509-certificate-dn) 16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fp(287)2025 3038 -y Fq(x509-certificate-dn-oid)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fp(286)2025 -3125 y Fq(x509-certificate-format->strin)q(g)25 b Fa(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fp(292)2025 -3213 y Fq(x509-certificate-issuer-dn)15 b Fa(:)k(:)13 +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fq(269)2025 960 y +Fp(x509-certificate-dn-oid)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fq(268)2025 +1050 y Fp(x509-certificate-format->strin)q(g)25 b Fa(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fq(274)2025 +1140 y Fp(x509-certificate-issuer-dn)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 -b Fp(287)2025 3301 y Fq(x509-certificate-issuer-dn-oid)29 +b Fq(269)2025 1231 y Fp(x509-certificate-issuer-dn-oid)29 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 -b Fp(286)2025 3389 y Fq(x509-certificate-key-id)28 b +b Fq(268)2025 1321 y Fp(x509-certificate-key-id)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)50 b Fp(286)2025 3477 y Fq(x509-certificate-key-usage)15 +(:)g(:)g(:)50 b Fq(268)2025 1411 y Fp(x509-certificate-key-usage)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -42 b Fp(286)2025 3564 y Fq(x509-certificate-matches-hostn)q(ame?)13 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fp(286)2025 -3652 y Fq(x509-certificate-public-key-al)q(gorit)q(hm)27 -b Fa(:)14 b(:)f(:)48 b Fp(286)2025 3740 y Fq +42 b Fq(268)2025 1502 y Fp(x509-certificate-matches-hostn)q(ame?)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)39 b Fq(268)2025 +1592 y Fp(x509-certificate-public-key-al)q(gorit)q(hm)27 +b Fa(:)14 b(:)f(:)48 b Fq(268)2025 1682 y Fp (x509-certificate-signature-alg)q(orith)q(m)7 b Fa(:)19 -b(:)13 b(:)g(:)g(:)34 b Fp(286)2025 3828 y Fq +b(:)13 b(:)g(:)g(:)34 b Fq(268)2025 1773 y Fp (x509-certificate-subject-alter)q(nativ)q(e-na)q(me)2200 -3915 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +1860 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fp(286)2025 4002 -y Fq(x509-certificate-subject-key-i)q(d)25 b Fa(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fp(286)2025 -4090 y Fq(x509-certificate-version)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fp(286)2025 -4178 y Fq(x509-certificate?)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fq(268)2025 1950 +y Fp(x509-certificate-subject-key-i)q(d)25 b Fa(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fq(268)2025 +2040 y Fp(x509-certificate-version)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fq(268)2025 +2131 y Fp(x509-certificate?)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -48 b Fp(291)2025 4266 y Fq(x509-private-key?)25 b Fa(:)13 +48 b Fq(273)2025 2221 y Fp(x509-private-key?)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fp(291)2025 4354 -y Fq(x509-subject-alternative-name-)q(>stri)q(ng)27 b -Fa(:)14 b(:)f(:)48 b Fp(292)p eop end -%%Page: 340 346 -TeXDict begin 340 345 bop 150 -116 a FB(Concept)31 b(Index)2882 -b(340)150 299 y Fx(Concept)52 b(Index)150 638 y FA(A)150 -756 y Fp(Alert)26 b(proto)r(col)17 b Fa(:)d(:)f(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fq(273)2025 2311 +y Fp(x509-subject-alternative-name-)q(>stri)q(ng)27 b +Fa(:)14 b(:)f(:)48 b Fq(274)p eop end +%%Page: 319 325 +TeXDict begin 319 324 bop 150 -116 a FB(Concept)31 b(Index)2882 +b(319)150 299 y Fy(Concept)52 b(Index)150 638 y FA(A)150 +756 y Fq(Alert)26 b(proto)r(col)17 b Fa(:)d(:)f(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fp(11)150 844 y(Anon)n(ymous)25 +f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fq(11)150 844 y(Anon)n(ymous)25 b(authen)n(tication)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)33 b Fp(19)150 -1099 y FA(B)150 1217 y Fp(Bad)26 b(record)g(MA)n(C)17 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)33 b Fq(19)150 +1099 y FA(B)150 1217 y Fq(Bad)26 b(record)g(MA)n(C)17 b Fa(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 -b Fp(15)150 1454 y FA(C)150 1572 y Fp(Callbac)n(k)27 +b Fq(15)150 1454 y FA(C)150 1572 y Fq(Callbac)n(k)27 b(functions)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 -b Fp(7)150 1660 y(Certi\014cate)27 b(authen)n(tication)12 +b Fq(7)150 1660 y(Certi\014cate)27 b(authen)n(tication)12 b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)38 b Fp(23)150 1749 y(Certi\014cate)27 +g(:)g(:)g(:)h(:)f(:)38 b Fq(23)150 1749 y(Certi\014cate)27 b(requests)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fp(26)150 1837 y(certto)r(ol)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g +b Fq(26)150 1837 y(certto)r(ol)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 -b Fp(102)150 1925 y(Ciphersuites)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:) +b Fq(105)150 1925 y(Ciphersuites)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fp(275)150 2013 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fq(258)150 2013 y(Clien)n(t)26 b(Certi\014cate)h(authen)n(tication)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fp(12)150 2101 y(Compression)27 b(algorithms)c Fa(:)13 +b Fq(12)150 2101 y(Compression)27 b(algorithms)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)47 b Fp(10)150 2189 y(constan)n(t)8 +(:)g(:)h(:)f(:)g(:)47 b Fq(10)150 2189 y(constan)n(t)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)34 b Fp(279)150 2277 y(Con)n(tributing)23 +g(:)g(:)h(:)f(:)34 b Fq(261)150 2277 y(Con)n(tributing)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)50 b Fp(3)150 2532 y FA(D)150 2650 y Fp(debug)25 +g(:)50 b Fq(3)150 2532 y FA(D)150 2650 y Fq(debug)25 b(serv)n(er)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)33 b Fp(110)150 2738 y(Digital)27 b(signatures)9 +h(:)f(:)g(:)g(:)33 b Fq(113)150 2738 y(Digital)27 b(signatures)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 -b Fp(28)150 2826 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +b Fq(28)150 2826 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 -b Fp(2)150 3064 y FA(E)150 3182 y Fp(en)n(umerate)10 +b Fq(2)150 3064 y FA(E)150 3182 y Fq(en)n(umerate)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)37 b Fp(279)150 3270 y(Error)26 b(co)r(des)7 b +(:)g(:)37 b Fq(261)150 3270 y(Error)26 b(co)r(des)7 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)34 b Fp(268)150 3358 y(errors)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:) +g(:)34 b Fq(252)150 3358 y(errors)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 -b Fp(281)150 3446 y(Example)26 b(programs)7 b Fa(:)14 +b Fq(263)150 3446 y(Example)26 b(programs)7 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fp(32)150 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fq(33)150 3534 y(exceptions)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fp(281)150 3622 y(Exp)r(orting)26 -b(Keying)f(Material)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)46 b Fp(101)150 3877 y -FA(F)150 3995 y Fp(FDL,)26 b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n(tation) -h(License)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)44 b Fp(303)150 -4083 y(F)-6 b(unction)25 b(reference)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)g(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fq(263)150 3789 y FA(F)150 +3907 y Fq(FDL,)26 b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n(tation)h +(License)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)44 b Fq(284)150 +3995 y(F)-6 b(unction)25 b(reference)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)38 b Fp(115)150 4321 y FA(G)150 4439 y -Fp(gn)n(utls-cli)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +(:)f(:)g(:)g(:)38 b Fq(117)150 4233 y FA(G)150 4351 y +Fq(gn)n(utls-cli)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fp(106)150 4527 y(gn)n +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fq(109)150 4439 y(gn)n (utls-cli-debug)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)47 b Fp(108)150 4615 y Fq(gnutls-error)17 b Fa(:)f(:)d(:)g(:)g(:)g +g(:)47 b Fq(111)150 4527 y Fp(gnutls-error)17 b Fa(:)f(:)d(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fp(281)150 4703 -y Fo(Gn)n(uTLS-extra)27 b Fp(functions)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)g +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fq(263)150 4615 +y Fo(Gn)n(uTLS-extra)27 b Fq(functions)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fp(242)150 4791 y(gn)n(utls-serv)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h +b Fq(226)150 4703 y(gn)n(utls-serv)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 b Fp(109)150 -4879 y(GPL,)26 b(GNU)f(General)i(Public)f(License)21 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 b Fq(112)150 +4791 y(GPL,)26 b(GNU)f(General)i(Public)f(License)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 -b Fp(318)150 5134 y FA(H)150 5252 y Fp(Hac)n(king)18 +b Fq(298)150 5046 y FA(H)150 5164 y Fq(Hac)n(king)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)45 b Fp(3)150 5340 y(Handshak)n(e)25 +(:)g(:)g(:)g(:)g(:)h(:)45 b Fq(3)150 5252 y(Handshak)n(e)25 b(proto)r(col)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 -b Fp(11)2025 638 y(homogeneous)27 b(v)n(ector)17 b Fa(:)c(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)44 b Fp(280)2025 727 y(HTTPS)26 b(serv)n(er)9 +b Fq(11)150 5340 y(homogeneous)27 b(v)n(ector)17 b Fa(:)c(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)44 b Fq(262)2025 638 y(HTTPS)26 b(serv)n(er)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 -b Fp(110)2025 967 y FA(I)2025 1086 y Fp(Inner)25 b(Application)h(\()p -Fo(TLS/IA)p Fp(\))g(functions)16 b Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)43 b Fp(262)2025 1175 y(Installation)14 b Fa(:)g(:)f(:)g(:)h(:)f(:)g +b Fq(113)2025 887 y FA(I)2025 1010 y Fq(Inner)25 b(Application)h(\()p +Fo(TLS/IA)p Fq(\))g(functions)16 b Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)43 b Fq(245)2025 1100 y(Installation)14 b Fa(:)g(:)f(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 -b Fp(2)2025 1263 y(In)n(ternal)25 b(arc)n(hitecture)10 +b Fq(2)2025 1190 y(In)n(ternal)25 b(arc)n(hitecture)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fp(295)2025 -1504 y FA(K)2025 1623 y Fp(k)n(ey)24 b(sizes)7 b Fa(:)15 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fq(277)2025 +1439 y FA(K)2025 1561 y Fq(k)n(ey)24 b(sizes)7 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)34 b Fp(14)2025 1711 y(Keying)25 b(Material)j(Exp)r(orters) -23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)50 b Fp(101)2025 1968 y FA(L)2025 2087 -y Fp(LGPL,)26 b(GNU)f(Lesser)i(General)f(Public)g(License)17 -b Fa(:)d(:)f(:)44 b Fp(310)2025 2176 y(License,)26 b(GNU)f(GPL)11 -b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fp(318)2025 -2264 y(License,)26 b(GNU)f(LGPL)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 -b Fp(310)2025 2521 y FA(M)2025 2640 y Fp(Maxim)n(um)26 +g(:)g(:)g(:)34 b Fq(14)2025 1827 y FA(L)2025 1950 y Fq(LGPL,)26 +b(GNU)f(Lesser)i(General)f(Public)g(License)17 b Fa(:)d(:)f(:)44 +b Fq(290)2025 2040 y(License,)26 b(GNU)f(GPL)11 b Fa(:)j(:)f(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)38 b Fq(298)2025 2130 y(License,)26 +b(GNU)f(LGPL)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b +Fq(290)2025 2396 y FA(M)2025 2518 y Fq(Maxim)n(um)26 b(fragmen)n(t)g(length)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fp(13)2025 -2897 y FA(N)2025 3016 y Fp(Netconf)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fq(13)2025 +2784 y FA(N)2025 2906 y Fq(Netconf)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47 -b Fp(108)2025 3257 y FA(O)2025 3376 y Fp(Opaque)25 b(PRF)g(Input)11 +b Fq(111)2025 3155 y FA(O)2025 3278 y Fq(Opaque)25 b(PRF)g(Input)11 b Fa(:)g(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b Fp(101)2025 -3464 y Fo(Op)r(enPGP)26 b Fp(functions)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)h +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b Fq(103)2025 +3368 y Fo(Op)r(enPGP)26 b Fq(functions)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)40 b Fp(242)2025 3553 y Fo(Op)r(enPGP)26 -b Fp(Keys)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +g(:)g(:)g(:)40 b Fq(227)2025 3458 y Fo(Op)r(enPGP)26 +b Fq(Keys)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 -b Fp(17,)27 b(26)2025 3641 y Fo(Op)r(enPGP)f Fp(Serv)n(er)12 +b Fq(17,)27 b(26)2025 3548 y Fo(Op)r(enPGP)f Fq(Serv)n(er)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 -b Fp(80)2025 3730 y(Op)r(enSSL)9 b Fa(:)j(:)h(:)g(:)g(:)h(:)f(:)g(:)g +b Fq(83)2025 3639 y(Op)r(enSSL)9 b Fa(:)j(:)h(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fp(101)2025 -3987 y FA(P)2025 4106 y Fp(PCT)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fq(103)2025 +3904 y FA(P)2025 4027 y Fq(PCT)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 -b Fp(15)2025 4195 y Fo(PK)n(CS)25 b Fp(#10)7 b Fa(:)15 +b Fq(15)2025 4117 y Fo(PK)n(CS)25 b Fq(#10)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)34 b Fp(26)2025 4283 y Fo(PK)n(CS)25 b Fp(#12)7 b +g(:)34 b Fq(26)2025 4207 y Fo(PK)n(CS)25 b Fq(#12)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)34 b Fp(26)2025 4372 y Fo(PSK)25 b Fp(authen)n(tication)14 +g(:)g(:)g(:)34 b Fq(26)2025 4298 y Fo(PSK)25 b Fq(authen)n(tication)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fp(20)2025 -4461 y(PSK)25 b(clien)n(t)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fq(20)2025 +4388 y(PSK)25 b(clien)n(t)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fp(108)2025 4549 +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fq(110)2025 4478 y(PSK)25 b(serv)n(er)12 b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fp(113)2025 4638 y(pskto)r(ol)11 +(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fq(115)2025 4569 y(pskto)r(ol)11 b Fa(:)i(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)38 b Fp(113)2025 4895 y FA(R)2025 -5014 y Fp(Record)25 b(padding)6 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)g(:)g(:)38 b Fq(116)2025 4834 y FA(R)2025 +4957 y Fq(Record)25 b(padding)6 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)33 b Fp(15)2025 5102 y(Record)25 +f(:)g(:)g(:)g(:)g(:)g(:)33 b Fq(15)2025 5047 y(Record)25 b(proto)r(col)f Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)49 b Fp(9)2025 5191 y(Rep)r(orting)26 b(Bugs)10 +f(:)g(:)49 b Fq(9)2025 5137 y(Rep)r(orting)26 b(Bugs)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 -b Fp(3)2025 5280 y(Resuming)25 b(sessions)16 b Fa(:)f(:)e(:)g(:)g(:)h +b Fq(3)2025 5227 y(Resuming)25 b(sessions)16 b Fa(:)f(:)e(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)42 b Fp(13)p eop end -%%Page: 341 347 -TeXDict begin 341 346 bop 150 -116 a FB(Concept)31 b(Index)2882 -b(341)150 299 y FA(S)150 426 y Fp(Serv)n(er)25 b(name)h(indication)c +g(:)g(:)g(:)g(:)g(:)h(:)42 b Fq(13)p eop end +%%Page: 320 326 +TeXDict begin 320 325 bop 150 -116 a FB(Concept)31 b(Index)2882 +b(320)150 299 y FA(S)150 426 y Fq(Serv)n(er)25 b(name)h(indication)c Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fp(14)150 519 y(SRFI-4)12 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fq(14)150 519 y(SRFI-4)12 b Fa(:)g(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)39 b Fp(280)150 611 y Fo(SRP)26 b -Fp(authen)n(tication)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +(:)g(:)g(:)g(:)g(:)39 b Fq(262)150 611 y Fo(SRP)26 b +Fq(authen)n(tication)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)41 -b Fp(19)150 704 y(srpto)r(ol)16 b Fa(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:) +b Fq(19)150 704 y(srpto)r(ol)16 b Fa(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 -b Fp(113)150 797 y(SSL)25 b(2)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:) +b Fq(116)150 797 y(SSL)25 b(2)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 -b Fp(15)150 890 y(Symmetric)25 b(encryption)g(algorithms)17 +b Fq(14)150 890 y(Symmetric)25 b(encryption)g(algorithms)17 b Fa(:)e(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 -b Fp(10)150 1168 y FA(T)150 1295 y Fp(TLS)26 b(Extensions)11 +b Fq(10)150 1168 y FA(T)150 1295 y Fq(TLS)26 b(Extensions)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fp(13,)26 -b(14)2025 299 y Fo(TLS)g Fp(Inner)e(Application)i(\()p -Fo(TLS/IA)p Fp(\))h(functions)21 b Fa(:)13 b(:)h(:)f(:)48 -b Fp(262)2025 386 y(TLS)25 b(La)n(y)n(ers)11 b Fa(:)j(:)f(:)g(:)g(:)g +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fq(13,)26 +b(14)2025 299 y Fo(TLS)g Fq(Inner)e(Application)i(\()p +Fo(TLS/IA)p Fq(\))h(functions)21 b Fa(:)13 b(:)h(:)f(:)48 +b Fq(245)2025 386 y(TLS)25 b(La)n(y)n(ers)11 b Fa(:)j(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 -b Fp(8)2025 474 y(T)-6 b(ransp)r(ort)26 b(proto)r(col)7 +b Fq(8)2025 474 y(T)-6 b(ransp)r(ort)26 b(proto)r(col)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35 -b Fp(9)2025 724 y FA(V)2025 841 y Fp(V)-6 b(erifying)25 +b Fq(9)2025 724 y FA(V)2025 841 y Fq(V)-6 b(erifying)25 b(certi\014cate)i(paths)9 b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fp(25)2025 -1091 y FA(X)2025 1208 y Fo(X.509)26 b Fp(certi\014cates)13 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fq(25)2025 +1091 y FA(X)2025 1208 y Fo(X.509)26 b Fq(certi\014cates)13 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fp(17,)27 -b(23)2025 1295 y Fo(X.509)f Fp(F)-6 b(unctions)21 b Fa(:)13 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fq(17,)27 +b(23)2025 1295 y Fo(X.509)f Fq(F)-6 b(unctions)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fp(181)p +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fq(176)p eop end %%Trailer diff -Nru gnutls26-2.8.6/doc/gnutls.texi gnutls26-2.4.1/doc/gnutls.texi --- gnutls26-2.8.6/doc/gnutls.texi 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/doc/gnutls.texi 2008-06-30 21:45:51.000000000 +0100 @@ -1,4 +1,5 @@ \input texinfo @c -*-texinfo-*- +@comment $Id$ @comment %**start of header @setfilename gnutls.info @include version.texi @@ -17,11 +18,11 @@ This manual is last updated @value{UPDATED} for version @value{VERSION} of GNU TLS. -Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or +under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free @@ -29,13 +30,14 @@ @end quotation @end copying -@dircategory Software libraries +@dircategory GNU Libraries @direntry -* GnuTLS: (gnutls). GNU Transport Layer Security Library. +* libgnutls: (gnutls). A Transport Layer Security Library. @end direntry -@dircategory System Administration +@dircategory Network Applications @direntry +* GnuTLS: (gnutls). Package for Transport Layer Security. * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server. * gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client. @@ -197,8 +199,7 @@ release since 6 is even, and GnuTLS 1.7.11 denote a development release since 7 is odd. -GnuTLS depends on Libgcrypt, -and you will need to install Libgcrypt +GnuTLS depends on Libgcrypt, and you will need to install Libgcrypt before installing GnuTLS. Libgcrypt is available from @url{ftp://ftp.gnupg.org/gcrypt/libgcrypt}. Libgcrypt needs another library, libgpg-error, and you need to install libgpg-error before @@ -360,7 +361,9 @@ implements the TLS 1.1 and SSL 3.0 protocols (@xref{Introduction to TLS}, for a more detailed description of the protocols), accompanied with the required framework for authentication and public key -infrastructure. Important features of the @acronym{GnuTLS} library +infrastructure. The library is available under the GNU Lesser GPL +license@footnote{A copy of the license is included in the +distribution}. Important features of the @acronym{GnuTLS} library include: @itemize @@ -386,7 +389,7 @@ to ease integration with existing applications. @acronym{GnuTLS} consists of three independent parts, namely the ``TLS -protocol part'', the ``Certificate part'', and the ``Cryptographic backend'' +protocol part'', the ``Certificate part'', and the ``Crypto backend'' part. The `TLS protocol part' is the actual protocol implementation, and is entirely implemented within the @acronym{GnuTLS} library. The `Certificate part' consists of the certificate parsing, and @@ -398,10 +401,9 @@ version of @acronym{OpenCDK}@footnote{@url{ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/}} is used for the @acronym{OpenPGP} key support in @acronym{GnuTLS}. -The ``Cryptographic backend'' is provided by the +The ``Crypto backend'' is provided by the @acronym{Libgcrypt}@footnote{@url{ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/}} -library@footnote{On current versions of GnuTLS it is possible -to override the default crypto backend. Check @pxref{Cryptographic Backend} for details}. +library. In order to ease integration in embedded systems, parts of the @acronym{GnuTLS} library can be disabled at compile time. That way a @@ -435,7 +437,7 @@ The credentials structure is used by some authentication methods, such as certificate authentication (@pxref{Certificate Authentication}). A credentials structure may contain certificates, private keys, -temporary parameters for Diffie-Hellman or RSA key exchange, and other +temporary parameters for diffie hellman or RSA key exchange, and other stuff that may be shared between several TLS sessions. This structure should be initialized using the appropriate @@ -1013,7 +1015,7 @@ For this reason this section will present some correspondance between key sizes of symmetric algorithms and public key algorithms based on the most conservative values of @xcite{SELKEY}. Those can be used to generate certificates with appropriate key sizes as well -as parameters for Diffie-Hellman and SRP authentication. +as parameters for Diffie Hellman and SRP authentication. @multitable @columnfractions .15 .20 .20 .20 @@ -1067,45 +1069,6 @@ guess that is valid today. There are no guarrantees that an algorithm will remain unbreakable or that these values will remain constant in time. There could be scientific breakthroughs that cannot be predicted or total failure of the current public key systems by quantum computers. On the other hand though the cryptosystems used in TLS are selected in a conservative way and such catastrophic breakthroughs or failures are believed to be unlikely. -NIST publication SP 800-57 @xcite{NISTSP80057} contains a similar -table that extends beyond the key sizes given above. - -@multitable @columnfractions .15 .20 .20 .20 - -@item Bits of security -@tab Symmetric key algorithms -@tab RSA key size, DSA, DH and SRP prime size -@tab ECC key size - -@item 80 -@tab 2TDEA -@tab 1024 -@tab 160-223 - -@item 112 -@tab 3DES -@tab 2048 -@tab 224-255 - -@item 128 -@tab AES-128 -@tab 3072 -@tab 256-383 - -@item 192 -@tab AES-192 -@tab 7680 -@tab 384-511 - -@item 256 -@tab AES-256 -@tab 15360 -@tab 512+ - -@end multitable - -The recommendations are fairly consistent. - @node On SSL 2 and older protocols @section On SSL 2 and Older Protocols @cindex SSL 2 @@ -1365,15 +1328,15 @@ 512 bits --- which are considered weak --- and sends them to the client. @item DHE_RSA: -The RSA algorithm is used to sign Ephemeral Diffie-Hellman parameters +The RSA algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The key in the certificate must allow the key to be used for signing. Note that key exchange algorithms which -use Ephemeral Diffie-Hellman parameters, offer perfect forward +use Ephemeral Diffie Hellman parameters, offer perfect forward secrecy. That means that even if the private key used for signing is compromised, it cannot be used to reveal past session data. @item DHE_DSS: -The DSS algorithm is used to sign Ephemeral Diffie-Hellman parameters +The DSS algorithm is used to sign Ephemeral Diffie Hellman parameters which are sent to the peer. The certificate must contain DSA parameters to use this key exchange algorithm. DSS stands for Digital Signature Standard. @@ -1393,7 +1356,7 @@ are shown below. Note that the key exchange methods for anonymous authentication -require Diffie-Hellman parameters to be generated by the server and associated with +require Diffie Hellman parameters to be generated by the server and associated with an anonymous credentials structure. Supported anonymous key exchange algorithms: @@ -1401,7 +1364,7 @@ @table @code @item ANON_DH: -This algorithm exchanges Diffie-Hellman parameters. +This algorithm exchanges Diffie Hellman parameters. @end table @@ -1509,7 +1472,7 @@ Authentication using the @acronym{PSK} protocol. @item DHE-PSK: -Authentication using the @acronym{PSK} protocol and Diffie-Hellman key exchange. +Authentication using the @acronym{PSK} protocol and Diffie Hellman key exchange. This method offers perfect forward secrecy. @end table @@ -1976,120 +1939,7 @@ @node Digital signatures @section Digital Signatures @cindex Digital signatures - -In this section we will provide some information about digital -signatures, how they work, and give the rationale for disabling some -of the algorithms used. - -Digital signatures work by using somebody's secret key to sign some -arbitrary data. Then anybody else could use the public key of that -person to verify the signature. Since the data may be arbitrary it is -not suitable input to a cryptographic digital signature algorithm. For -this reason and also for performance cryptographic hash algorithms are -used to preprocess the input to the signature algorithm. This works as -long as it is difficult enough to generate two different messages with -the same hash algorithm output. In that case the same signature could -be used as a proof for both messages. Nobody wants to sign an innocent -message of donating 1 @euro{} to Greenpeace and find out that he -donated 1.000.000 @euro{} to Bad Inc. - -For a hash algorithm to be called cryptographic the following three -requirements must hold: - -@enumerate -@item Preimage resistance. -That means the algorithm must be one way and given the output of the -hash function @math{H(x)}, it is impossible to calculate @math{x}. - -@item 2nd preimage resistance. -That means that given a pair @math{x,y} with @math{y=H(x)} it is -impossible to calculate an @math{x'} such that @math{y=H(x')}. - -@item Collision resistance. -That means that it is impossible to calculate random @math{x} and -@math{x'} such @math{H(x')=H(x)}. -@end enumerate - -The last two requirements in the list are the most important in -digital signatures. These protect against somebody who would like to -generate two messages with the same hash output. When an algorithm is -considered broken usually it means that the Collision resistance of -the algorithm is less than brute force. Using the birthday paradox the -brute force attack takes -@iftex -@math{2^{(\rm{hash\ size}) / 2}} -@end iftex -@ifnottex -@math{2^{((hash size) / 2)}} -@end ifnottex -operations. Today colliding certificates using the MD5 hash algorithm -have been generated as shown in @xcite{WEGER}. - -There has been cryptographic results for the SHA-1 hash algorithms as -well, although they are not yet critical. Before 2004, MD5 had a -presumed collision strength of @math{2^{64}}, but it has been showed -to have a collision strength well under @math{2^{50}}. As of November -2005, it is believed that SHA-1's collision strength is around -@math{2^{63}}. We consider this sufficiently hard so that we still -support SHA-1. We anticipate that SHA-256/386/512 will be used in -publicly-distributed certificates in the future. When @math{2^{63}} -can be considered too weak compared to the computer power available -sometime in the future, SHA-1 will be disabled as well. The collision -attacks on SHA-1 may also get better, given the new interest in tools -for creating them. - -@subsection Trading Security for Interoperability - -If you connect to a server and use GnuTLS' functions to verify the -certificate chain, and get a @ref{GNUTLS_CERT_INSECURE_ALGORITHM} -validation error (@pxref{Verifying X.509 certificate paths}), it means -that somewhere in the certificate chain there is a certificate signed -using @code{RSA-MD2} or @code{RSA-MD5}. These two digital signature -algorithms are considered broken, so GnuTLS fail when attempting to -verify the certificate. In some situations, it may be useful to be -able to verify the certificate chain anyway, assuming an attacker did -not utilize the fact that these signatures algorithms are broken. -This section will give help on how to achieve that. - -First, it is important to know that you do not have to enable any of -the flags discussed here to be able to use trusted root CA -certificates signed using @code{RSA-MD2} or @code{RSA-MD5}. The only -attack today is that it is possible to generate certificates with -colliding signatures (collision resistance); you cannot generate a -certificate that has the same signature as an already existing -signature (2nd preimage resistance). - -If you are using @ref{gnutls_certificate_verify_peers2} to verify the -certificate chain, you can call -@ref{gnutls_certificate_set_verify_flags} with the -@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2} or -@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5} flag, as in: - -@example - gnutls_certificate_set_verify_flags (x509cred, - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5); -@end example - -This will tell the verifier algorithm to enable @code{RSA-MD5} when -verifying the certificates. - -If you are using @ref{gnutls_x509_crt_verify} or -@ref{gnutls_x509_crt_list_verify}, you can pass the -@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5} parameter directly in the -@code{flags} parameter. - -If you are using these flags, it may also be a good idea to warn the -user when verification failure occur for this reason. The simplest is -to not use the flags by default, and only fall back to using them -after warning the user. If you wish to inspect the certificate chain -yourself, you can use @ref{gnutls_certificate_get_peers} to extract -the raw server's certificate chain, then use -@ref{gnutls_x509_crt_import} to parse each of the certificates, and -then use @ref{gnutls_x509_crt_get_signature_algorithm} to find out the -signing algorithm used for each certificate. If any of the -intermediary certificates are using @code{GNUTLS_SIGN_RSA_MD2} or -@code{GNUTLS_SIGN_RSA_MD5}, you could present a warning. - +@include signatures.texi @node How to use TLS in application protocols @@ -2236,7 +2086,6 @@ * Miscellaneous examples:: * Compatibility with the OpenSSL library:: * Opaque PRF Input TLS Extension:: -* Keying Material Exporters:: @end menu @node Preparation @@ -2248,7 +2097,6 @@ @menu * Headers:: -* Initialization:: * Version check:: * Debugging:: * Building the source:: @@ -2266,22 +2114,6 @@ available by including the header file @file{gnutls/extra.h} in your programs. -@node Initialization -@subsection Initialization - -GnuTLS must be initialized before it can be used. The library is -initialized by calling @ref{gnutls_global_init}. The resources -allocated by the initialization process can be released if the -application no longer has a need to call GnuTLS functions, this is -done by calling @ref{gnutls_global_deinit}. - -The extra functionality of the @acronym{GnuTLS-extra} library is -available after calling @ref{gnutls_global_init_extra}. - -In order to take advantage of the internationalisation features in -GnuTLS, such as translated error messages, the application must set -the current locale using @code{setlocale} before initializing GnuTLS. - @node Version check @subsection Version Check @@ -2304,57 +2136,61 @@ @node Building the source @subsection Building the Source -If you want to compile a source file including the -@file{gnutls/gnutls.h} header file, you must make sure that the -compiler can find it in the directory hierarchy. This is accomplished -by adding the path to the directory in which the header file is -located to the compilers include file search path (via the @option{-I} -option). +If you want to compile a source file including the `gnutls/gnutls.h' +header file, you must make sure that the compiler can find it in the +directory hierarchy. This is accomplished by adding the path to the +directory in which the header file is located to the compilers include +file search path (via the -I option). However, the path to the include file is determined at the time the -source is configured. To solve this problem, the library uses the -external package @command{pkg-config} that knows the path to the +source is configured. To solve this problem, @acronym{GnuTLS} ships +with two small helper programs @command{libgnutls-config} and +@command{libgnutls-extra-config} that knows about the path to the include file and other configuration options. The options that need to be added to the compiler invocation at compile time are output by -the @option{--cflags} option to @command{pkg-config libgnutls}. The +the @code{--cflags} option to @command{libgnutls-config}. The following example shows how it can be used at the command line: @example -gcc -c foo.c `pkg-config libgnutls --cflags` +gcc -c foo.c `libgnutls-config --cflags` @end example -Adding the output of @samp{pkg-config libgnutls --cflags} to the +Adding the output of @command{libgnutls-config --cflags} to the compilers command line will ensure that the compiler can find the -@file{gnutls/gnutls.h} header file. +@acronym{GnuTLS} header file. A similar problem occurs when linking the program with the library. Again, the compiler has to find the library files. For this to work, the path to the library files has to be added to the library search -path (via the @option{-L} option). For this, the option -@option{--libs} to @command{pkg-config libgnutls} can be used. For -convenience, this option also outputs all other options that are -required to link the program with the libarary (for instance, the -@samp{-ltasn1} option). The example shows how to link @file{foo.o} -with the library to a program @command{foo}. +path (via the -L option). For this, the option @code{--libs} to +@command{libgnutls-config} can be used. For convenience, this option +also outputs all other options that are required to link the program +with the @acronym{GnuTLS} libararies. The example shows how to link +`foo.o' with the @acronym{GnuTLS} libraries to a program @emph{foo}. @example -gcc -o foo foo.o `pkg-config libgnutls --libs` +gcc -o foo foo.o `libgnutls-config --libs` @end example Of course you can also combine both examples to a single command by -specifying both options to @command{pkg-config}: +specifying both options to `libgnutls-config': @example -gcc -o foo foo.c `pkg-config libgnutls --cflags --libs` +gcc -o foo foo.c `libgnutls-config --cflags --libs` @end example @node Multi-threaded applications @section Multi-Threaded Applications Although the @acronym{GnuTLS} library is thread safe by design, some -parts of Libgcrypt, such as the random generator, are not. -Applications have to register callback functions to ensure proper -locking in the sensitive parts of @emph{libgcrypt}. +parts of the crypto backend, such as the random generator, are +not. Since @emph{libgcrypt 1.1.92} there was an automatic detection of +the thread library used by the application, so most applications +wouldn't need to do any changes to ensure thread-safety. Due to the +unportability of the automatic thread detection, this was removed from +later releases of @emph{libgcrypt}, so applications have now to +register callback functions to ensure proper locking in sensitive +parts of @emph{libgcrypt}. There are helper macros to help you properly initialize the libraries. Examples are shown below. @@ -2424,7 +2260,7 @@ * Client with Resume capability example:: * Simple client example with SRP authentication:: * Simple client example with TLS/IA support:: -* Simple client example in C++:: +* Simple client example in @acronym{C++}:: * Helper function for TCP connections:: @end menu @@ -2520,11 +2356,11 @@ @verbatiminclude examples/ex-client-tlsia.c -@node Simple client example in C++ -@subsection Simple Client Example using the C++ API +@node Simple client example in @acronym{C++} +@subsection Simple Client Example using the @acronym{C++} API -The following client is a simple example of a client client utilizing -the GnuTLS C++ API. +The following client is a simple example of a client +client utilizing the GnuTLS @acronym{C++} API. @verbatiminclude examples/ex-cxx.cpp @@ -2680,32 +2516,6 @@ also set the server string. The string lengths must be equal according to the protocol. -@node Keying Material Exporters -@section Keying Material Exporters -@cindex Keying Material Exporters -@cindex Exporting Keying Material - -The TLS PRF can be used by other protocols to derive data. The API to -use is @ref{gnutls_prf}. The function needs to be provided with the -label in the parameter @code{label}, and the extra data to mix in the -@code{extra} parameter. Depending on whether you want to mix in the -client or server random data first, you can set the -@code{server_random_first} parameter. - -For example, after establishing a TLS session using -@ref{gnutls_handshake}, you can invoke the TLS PRF with this call: - -@smallexample -#define MYLABEL "EXPORTER-FOO" -#define MYCONTEXT "some context data" -char out[32]; -rc = gnutls_prf (session, strlen (MYLABEL), MYLABEL, 0, - strlen (MYCONTEXT), MYCONTEXT, 32, out); -@end smallexample - -If you don't want to mix in the client/server random, there is a more -low-level TLS PRF interface called @ref{gnutls_prf_raw}. - @node Included programs @chapter Included Programs @@ -2747,7 +2557,7 @@ The last certificate in the chain must be a self signed one. --verify-crl Verify a CRL. - --generate-dh-params Generate PKCS #3 encoded Diffie-Hellman + --generate-dh-params Generate PKCS #3 encoded Diffie Hellman parameters. --get-dh-params Get the included PKCS #3 encoded Diffie Hellman parameters. @@ -2790,6 +2600,7 @@ -d, --debug LEVEL specify the debug level. Default is 1. -h, --help shows this help text -v, --version shows the program's version + --copyright shows the program's license @end verbatim The program can be used interactively or non interactively by @@ -2800,7 +2611,7 @@ @itemize @item -To generate parameters for Diffie-Hellman key exchange, use the command: +To generate parameters for Diffie Hellman key exchange, use the command: @example $ certtool --generate-dh-params --outfile dh.pem @end example @@ -2827,18 +2638,12 @@ authority, that signs other certificates. @item -To create a private key (RSA by default), run: +To create a private key, run: @example $ certtool --generate-privkey --outfile key.pem @end example -To create a DSA private key, run: - -@example -$ certtool --dsa --generate-privkey --outfile key-dsa.pem -@end example - @item To generate a certificate using the private key, use the command: @@ -2985,7 +2790,6 @@ # A dnsname in case of a WWW server. #dns_name = "www.none.org" -#dns_name = "www.morethanone.org" # An IP address in case of a server. #ip_address = "192.168.1.1" @@ -3056,6 +2860,7 @@ of the key. --disable-extensions Disable all the TLS extensions. --print-cert Print the certificate in PEM format. + -p, --port integer The port to connect to. --recordsize integer The maximum record size to advertize. -V, --verbose More verbose output. --ciphers cipher1 cipher2... @@ -3067,30 +2872,24 @@ --kx kx1 kx2... Key exchange methods to enable. --ctypes certType1 certType2... Certificate types to enable. - --priority PRIORITY STRING - Priorities string. --x509cafile FILE Certificate file to use. --x509crlfile FILE CRL file to use. --pgpkeyfile FILE PGP Key file to use. --pgpkeyring FILE PGP Key ring file to use. + --pgptrustdb FILE PGP trustdb file to use. --pgpcertfile FILE PGP Public Key (certificate) file to use. - --pgpsubkey HEX|auto PGP subkey to use. --x509keyfile FILE X.509 key file to use. --x509certfile FILE X.509 Certificate file to use. --srpusername NAME SRP username to use. --srppasswd PASSWD SRP password to use. - --pskusername NAME PSK username to use. - --pskkey KEY PSK key (in hex) to use. - --opaque-prf-input DATA - Use Opaque PRF Input DATA. - -p, --port PORT The port to connect to. --insecure Don't abort program if server certificate can't be validated. -l, --list Print a list of the supported - algorithms and modes. + algorithms and modes. -h, --help prints this help -v, --version prints the program's version number + --copyright prints the program's license @end verbatim To connect to a server using PSK authentication, you may use something @@ -3189,9 +2988,9 @@ Checking for export-grade ciphersuite support... no Checking RSA-export ciphersuite info... N/A Checking for anonymous authentication support... no -Checking anonymous Diffie-Hellman group info... N/A -Checking for ephemeral Diffie-Hellman support... no -Checking ephemeral Diffie-Hellman group info... N/A +Checking anonymous Diffie Hellman group info... N/A +Checking for ephemeral Diffie Hellman support... no +Checking ephemeral Diffie Hellman group info... N/A Checking for AES cipher support (TLS extension)... yes Checking for 3DES cipher support... yes Checking for ARCFOUR 128 cipher support... yes @@ -3216,7 +3015,7 @@ Usage: gnutls-serv [options] -d, --debug integer Enable debugging - -g, --generate Generate Diffie-Hellman Parameters. + -g, --generate Generate Diffie Hellman Parameters. -p, --port integer The port to connect to. -q, --quiet Suppress some messages. --nodb Does not use the resume database. @@ -3227,25 +3026,17 @@ --x509cafile FILE Certificate file to use. --x509crlfile FILE CRL file to use. --pgpkeyring FILE PGP Key ring file to use. + --pgptrustdb FILE PGP trustdb file to use. --pgpkeyfile FILE PGP Key file to use. --pgpcertfile FILE PGP Public Key (certificate) file to use. - --pgpsubkey HEX|auto PGP subkey to use. --x509keyfile FILE X.509 key file to use. --x509certfile FILE X.509 Certificate file to use. --x509dsakeyfile FILE Alternative X.509 key file to use. --x509dsacertfile FILE Alternative X.509 certificate file to use. - -r, --require-cert Require a valid certificate. - -a, --disable-client-cert - Disable request for a client - certificate. - --pskpasswd FILE PSK password file to use. - --pskhint HINT PSK identity hint to use. --srppasswd FILE SRP password file to use. --srppasswdconf FILE SRP password conf file to use. - --opaque-prf-input DATA - Use Opaque PRF Input DATA. --ciphers cipher1 cipher2... Ciphers to enable. --protocols protocol1 protocol2... @@ -3255,12 +3046,11 @@ --kx kx1 kx2... Key exchange methods to enable. --ctypes certType1 certType2... Certificate types to enable. - --priority PRIORITY STRING - Priorities string. -l, --list Print a list of the supported algorithms and modes. -h, --help prints this help -v, --version prints the program's version number + --copyright prints the program's license @end verbatim @subsection Setting Up a Test HTTPS Server @@ -3467,7 +3257,7 @@ @smallexample $ ./gnutls-serv --pskpasswd psks.txt --pskhint psk_identity_hint --priority NORMAL:-DHE-PSK -Set static Diffie-Hellman parameters, consider --dhparams. +Set static Diffie Hellman parameters, consider --dhparams. Echo Server ready. Listening to port '5556'. @end smallexample @@ -3507,14 +3297,11 @@ @cindex srptool The @file{srptool} is a very simple program that emulates the programs -in the @emph{Stanford SRP libraries}, see -@url{http://srp.stanford.edu/}. It is intended for use in places -where you don't expect @acronym{SRP} authentication to be the used for -system users. - -Traditionally @emph{libsrp} used two files. One called @code{tpasswd} -which holds usernames and verifiers, and @code{tpasswd.conf} which -holds generators and primes. +in the @emph{Stanford SRP libraries}. It is intended for use in +places where you don't expect @acronym{SRP} authentication to be the +used for system users. Traditionally @emph{libsrp} used two +files. One called 'tpasswd' which holds usernames and verifiers, and +'tpasswd.conf' which holds generators and primes. How to use srptool: @@ -3530,8 +3317,8 @@ @item This command will create /etc/tpasswd and will add user 'test' (you -will also be prompted for a password). Verifiers are stored by -default in the way libsrp expects. +will also be prompted for a password). Verifiers are stored by default +in the way libsrp expects. @example $ srptool --passwd /etc/tpasswd \ @@ -3539,7 +3326,7 @@ @end example @item -This command will check against a password. If the password matches +This command will check against a password. If the password matches the one in /etc/tpasswd you will get an ok. @example @@ -3584,9 +3371,9 @@ @section @acronym{GnuTLS-extra} Functions @cindex @acronym{GnuTLS-extra} functions -These functions are only available in the GPLv3+ version of the -library called @code{gnutls-extra}. The prototypes for this library -lie in @file{gnutls/extra.h}. +These functions are only available in the GPL version of the library +called @code{gnutls-extra}. The prototypes for this library lie in +@file{gnutls/extra.h}. @include gnutls-extra-api.texi @@ -3597,7 +3384,8 @@ The following functions are to be used for @acronym{OpenPGP} certificate handling. Their prototypes lie in -@file{gnutls/openpgp.h}. +@file{gnutls/openpgp.h}. You need to link with @file{libgnutls-extra} +to be able to use these functions (@pxref{GnuTLS-extra functions}). @include pgp-api.texi @@ -3675,39 +3463,133 @@ @anchor{ciphersuites} @cindex Ciphersuites -@include algorithms.texi - -Some additional information regarding some of the algorithms: +@multitable @columnfractions .45 .20 .35 -@table @code -@item RSA -RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir -and Leonard Adleman. It can be used with any hash functions. - -@item DSA -DSA is the USA's Digital Signature Standard. It uses only the SHA-1 -hash algorithm. - -@item MD2 -MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is -optimized for 8-bit processors. Outputs 128 bits of data. There are -no known weaknesses of this algorithm but since this algorithm is -rarely used and not really studied it should not be used today. - -@item MD5 -MD5 is a cryptographic hash algorithm designed by Ron Rivest. Outputs -128 bits of data. It is considered to be broken. +@item @code{TLS_RSA_NULL_MD5} +@tab 0x00 0x01 +@tab RFC 2246 + +@item @code{TLS_ANON_DH_3DES_EDE_CBC_SHA} +@tab 0x00 0x1B +@tab RFC 2246 + +@item @code{TLS_ANON_DH_ARCFOUR_MD5} +@tab 0x00 0x18 +@tab RFC 2246 + +@item @code{TLS_ANON_DH_AES_128_CBC_SHA} +@tab 0x00 0x34 +@tab RFC 2246 + +@item @code{TLS_ANON_DH_AES_256_CBC_SHA} +@tab 0x00 0x3A +@tab RFC 2246 + +@item @code{TLS_RSA_ARCFOUR_SHA} +@tab 0x00 0x05 +@tab RFC 2246 + +@item @code{TLS_RSA_ARCFOUR_MD5} +@tab 0x00 0x04 +@tab RFC 2246 + +@item @code{TLS_RSA_3DES_EDE_CBC_SHA} +@tab 0x00 0x0A +@tab RFC 2246 + +@item @code{TLS_RSA_EXPORT_ARCFOUR_40_MD5} +@tab 0x00 0x03 +@tab RFC 2246 + +@item @code{TLS_DHE_DSS_3DES_EDE_CBC_SHA} +@tab 0x00 0x13 +@tab RFC 2246 + +@item @code{TLS_DHE_RSA_3DES_EDE_CBC_SHA} +@tab 0x00 0x16 +@tab RFC 2246 + +@item @code{TLS_RSA_AES_128_CBC_SHA} +@tab 0x00 0x2F +@tab RFC 3268 + +@item @code{TLS_RSA_AES_256_CBC_SHA} +@tab 0x00 0x35 +@tab RFC 3268 + +@item @code{TLS_DHE_DSS_AES_256_CBC_SHA} +@tab 0x00 0x38 +@tab RFC 3268 + +@item @code{TLS_DHE_DSS_AES_128_CBC_SHA} +@tab 0x00 0x32 +@tab RFC 3268 + +@item @code{TLS_DHE_RSA_AES_256_CBC_SHA} +@tab 0x00 0x39 +@tab RFC 3268 + +@item @code{TLS_DHE_RSA_AES_128_CBC_SHA} +@tab 0x00 0x33 +@tab RFC 3268 + +@item @code{TLS_SRP_SHA_3DES_EDE_CBC_SHA} +@tab 0x00 0x50 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_AES_128_CBC_SHA} +@tab 0x00 0x53 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_AES_256_CBC_SHA} +@tab 0x00 0x56 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA} +@tab 0x00 0x51 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA} +@tab 0x00 0x52 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_RSA_AES_128_CBC_SHA} +@tab 0x00 0x54 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_DSS_AES_128_CBC_SHA} +@tab 0x00 0x55 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_RSA_AES_256_CBC_SHA} +@tab 0x00 0x57 +@tab RFC 5054 + +@item @code{TLS_SRP_SHA_DSS_AES_256_CBC_SHA} +@tab 0x00 0x58 +@tab RFC 5054 + +@item @code{TLS_DHE_DSS_ARCFOUR_SHA} +@tab 0x00 0x66 +@tab draft-ietf-tls-56-bit-ciphersuites + +@item @code{TLS_PSK_ARCFOUR_SHA} +@tab 0x00 0x8A +@tab draft-ietf-tls-psk + +@item @code{TLS_PSK_3DES_EDE_CBC_SHA} +@tab 0x00 0x8B +@tab draft-ietf-tls-psk + +@item @code{TLS_PSK_AES_128_CBC_SHA} +@tab 0x00 0x8C +@tab draft-ietf-tls-psk + +@item @code{TLS_PSK_AES_256_CBC_SHA} +@tab 0x00 0x8D +@tab draft-ietf-tls-psk -@item SHA-1 -SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 -bits of data. It is also considered to be broken, though no practical -attacks have been found. - -@item RMD160 -RIPEMD is a cryptographic hash algorithm developed in the framework of -the EU project RIPE. Outputs 160 bits of data. - -@end table +@end multitable @c @c Guile Bindings @@ -3715,7 +3597,6 @@ @include guile.texi - @node Internal architecture of GnuTLS @chapter Internal Architecture of GnuTLS @cindex Internal architecture @@ -3725,15 +3606,6 @@ to potential developers and those who want to know what happens inside the black box. -@menu -* The TLS Protocol:: -* TLS Handshake Protocol:: -* TLS Authentication Methods:: -* TLS Extension Handling:: -* Cryptographic Backend:: -@end menu - -@node The TLS Protocol @section The TLS Protocol The main needs for the TLS protocol to be used are shown in the image below. @@ -3746,7 +3618,6 @@ are functions that require the first parameter to be that object. @image{gnutls-objects,15cm} -@node TLS Handshake Protocol @section TLS Handshake Protocol The @acronym{GnuTLS} handshake protocol is implemented as a state machine that waits for input or returns immediately when the non-blocking @@ -3764,7 +3635,6 @@ @image{gnutls-handshake-sequence,12cm} -@node TLS Authentication Methods @section TLS Authentication Methods In @acronym{GnuTLS} authentication methods can be implemented quite easily. Since the required changes to add a new authentication method affect only the @@ -3782,7 +3652,6 @@ the structure holding its pointers has to be registered in @code{gnutls_algorithms.c} in the @code{_gnutls_kx_algorithms} structure. -@node TLS Extension Handling @section TLS Extension Handling As with authentication methods, the TLS extensions handlers can be implemented using the following interface. @@ -3949,9 +3818,9 @@ The APIs need to be added to @code{includes/gnutls/gnutls.h} or @code{includes/gnutls/extra.h} as appropriate. It is recommended that -if you don't have a requirement to use the LGPLv2.1+ license for your -extension, that you place your work under the GPLv3+ license and thus -in the libgnutls-extra library. +if you don't have a requirement to use the LGPL license for your +extension, that you place your work under the GPL license and thus in +the libgnutls-extra library. You can implement the API function in the @code{ext_foobar.c} file, or if that file ends up becoming rather larger, add a @@ -3965,66 +3834,6 @@ @image{gnutls-certificate-user-use-case,12cm} -@node Cryptographic Backend -@section Cryptographic Backend -Several new systems provide hardware assisted cryptographic algorithm implementations -that offer implementations some orders of magnitude faster than the software. For this -reason in current releases of GnuTLS it is possible to override parts of the crypto -backend or the whole. It is possible to override them both at runtime and compile time, however -here we will discuss the runtime possibility. The API available for this functionality -is in @code{gnutls/crypto.h} header file. - -@subsection Override specific algorithms -When an optimized implementation of a single algorithm is available, say a -hardware assisted version of @acronym{AES-CBC} then the following functions -can be used to register those algorithms. - -@itemize - -@item @ref{gnutls_crypto_single_cipher_register2} -To register a cipher algorithm. - -@item @ref{gnutls_crypto_single_mac_register2} -To register a MAC algorithm. - -@ref{gnutls_crypto_single_digest_register2} -To register a digest (hash) algorithm. - -@end itemize - -Those registration functions will only replace the specified algorithm and leave the -rest of subsystem intact. - -@subsection Override parts of the backend -In some systems, such as embedded ones, it might be desirable to override big parts -of the cryptographic backend, or even all of them. For this reason the following -functions are provided. - -@itemize - -@item @ref{gnutls_crypto_cipher_register2} -To override the cryptographic algorithms backend. - -@item @ref{gnutls_crypto_mac_register2} -To override the MAC algorithms backend. - -@item @ref{gnutls_crypto_digest_register2} -To override the digest algorithms backend. - -@item @ref{gnutls_crypto_rnd_register2} -To override the random number generator backend. - -@item @ref{gnutls_crypto_bigint_register2} -To override the big number number operations backend. - -@item @ref{gnutls_crypto_pk_register2} -To override the public key encryption backend. This is tight to the big number -operations so either both of them should be updated or care must be taken to -use the same format. - -@end itemize - -If all of them are used then GnuTLS will no longer use libgcrypt. @node Copying Information @appendix Copying Information @@ -4040,7 +3849,7 @@ @cindex FDL, GNU Free Documentation License -@include fdl-1.3.texi +@include fdl.texi @node GNU LGPL @appendixsec GNU Lesser General Public License @@ -4075,11 +3884,6 @@ forced to find out", Available from @url{http://www.cs.auckland.ac.nz/~pgut001/}. -@item @anchor{NISTSP80057}[NISTSP80057] -NIST Special Publication 800-57, "Recommendation for Key Management - -Part 1: General (Revised)", March 2007, available from -@url{http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf}. - @item @anchor{RFC2246}[RFC2246] Tim Dierks and Christopher Allen, "The TLS Protocol Version 1.0", January 1999, Available from diff -Nru gnutls26-2.8.6/doc/ia-api.texi gnutls26-2.4.1/doc/ia-api.texi --- gnutls26-2.8.6/doc/ia-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/doc/ia-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -5,7 +5,7 @@ @subheading gnutls_ia_allocate_client_credentials @anchor{gnutls_ia_allocate_client_credentials} @deftypefun {int} {gnutls_ia_allocate_client_credentials} (gnutls_ia_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -22,7 +22,7 @@ @subheading gnutls_ia_allocate_server_credentials @anchor{gnutls_ia_allocate_server_credentials} @deftypefun {int} {gnutls_ia_allocate_server_credentials} (gnutls_ia_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -104,7 +104,7 @@ @subheading gnutls_ia_free_client_credentials @anchor{gnutls_ia_free_client_credentials} @deftypefun {void} {gnutls_ia_free_client_credentials} (gnutls_ia_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_ia_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_ia_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -113,7 +113,7 @@ @subheading gnutls_ia_free_server_credentials @anchor{gnutls_ia_free_server_credentials} @deftypefun {void} {gnutls_ia_free_server_credentials} (gnutls_ia_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -176,8 +176,7 @@ Perform a TLS/IA handshake. This should be called after @code{gnutls_handshake()} iff @code{gnutls_ia_handshake_p()}. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +Return 0 on success, or an error code. @end deftypefun @subheading gnutls_ia_permute_inner_secret @anchor{gnutls_ia_permute_inner_secret} @@ -207,7 +206,7 @@ @var{sizeofdata}: the number of requested bytes, must be >= 12. Receive TLS/IA data. This function has the similar semantics with -@code{recv()}. The only difference is that it accepts a GnuTLS session, +@code{recv()}. The only difference is that is accepts a GNUTLS session, and uses different error codes. If the server attempt to finish an application phase, this function @@ -239,8 +238,8 @@ @var{sizeofdata}: is the length of the data Send TLS/IA application payload data. This function has the -similar semantics with @code{send()}. The only difference is that it -accepts a GnuTLS session, and uses different error codes. +similar semantics with @code{send()}. The only difference is that is +accepts a GNUTLS session, and uses different error codes. The TLS/IA protocol is synchronous, so you cannot send more than one packet at a time. The client always send the first packet. @@ -331,7 +330,7 @@ client, and to get a new AVP to send to the client. It can also be used to instruct the TLS/IA handshake to do go into the Intermediate or Final phases. It return a negative error code, or -a @code{gnutls_ia_apptype_t} message type. +an @code{gnutls_ia_apptype_t} message type. The callback may invoke @code{gnutls_ia_permute_inner_secret()} to mix any generated session keys with the TLS/IA inner secret. diff -Nru gnutls26-2.8.6/doc/lgpl-2.1.texi gnutls26-2.4.1/doc/lgpl-2.1.texi --- gnutls26-2.8.6/doc/lgpl-2.1.texi 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/lgpl-2.1.texi 2008-06-19 11:00:09.000000000 +0100 @@ -2,7 +2,7 @@ @center Version 2.1, February 1999 @c This file is intended to be included within another document, -@c hence no sectioning command or @node. +@c hence no sectioning command or @node. @display Copyright @copyright{} 1991, 1999 Free Software Foundation, Inc. diff -Nru gnutls26-2.8.6/doc/Makefile.am gnutls26-2.4.1/doc/Makefile.am --- gnutls26-2.8.6/doc/Makefile.am 2009-10-14 16:24:51.000000000 +0100 +++ gnutls26-2.4.1/doc/Makefile.am 2008-06-19 11:00:09.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -19,20 +19,18 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -EXTRA_DIST = TODO README.gaa certtool.cfg gnutls.ps gnutls.pdf \ - gnutls.html extract-guile-c-doc.scm doxygen/Doxyfile.in \ - doxygen/Doxyfile.orig texinfo.css - -SUBDIRS = examples cyclo scripts manpages credentials +EXTRA_DIST = TODO README.GIT README.autoconf certtool.cfg \ + gnutls.ps gnutls.pdf gnutls.html \ + extract-guile-c-doc.scm +SUBDIRS = examples scripts manpages credentials if ENABLE_GTK_DOC SUBDIRS += reference endif info_TEXINFOS = gnutls.texi -gnutls_TEXINFOS = gnutls.texi \ - fdl-1.3.texi lgpl-2.1.texi gpl-3.0.texi \ - gnutls-api.texi gnutls-extra-api.texi ia-api.texi \ - x509-api.texi pgp-api.texi \ +gnutls_TEXINFOS = gnutls.texi signatures.texi fdl.texi lgpl-2.1.texi \ + gpl-3.0.texi error_codes.texi gnutls-api.texi \ + gnutls-extra-api.texi ia-api.texi x509-api.texi pgp-api.texi \ examples/ex-client1.c examples/ex-client2.c \ examples/ex-session-info.c examples/ex-verify.c \ examples/ex-cert-select.c examples/ex-client-resume.c \ @@ -43,10 +41,6 @@ examples/ex-alert.c examples/ex-x509-info.c examples/ex-crq.c \ examples/ex-pkcs12.c guile.texi $(guile_texi) -# Generated texinfos. -gnutls_TEXINFOS += error_codes.texi algorithms.texi -MAINTAINERCLEANFILES = error_codes.texi algorithms.texi - # Images. Make sure there are eps + png + pdf of each, plus the source dia. gnutls_TEXINFOS += gnutls-internals.dia gnutls-internals.eps \ gnutls-internals.png gnutls-internals.pdf @@ -91,7 +85,7 @@ AM_MAKEINFOFLAGS = -I $(top_srcdir)/doc TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS) AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \ - --no-split --css-include=$(srcdir)/texinfo.css + --no-split ../lib/gnutls-api.texi: cd ../lib && make gnutls-api.texi @@ -123,31 +117,13 @@ ia-api.texi: ../libextra/ia-api.texi -$(srcdir)/scripts/sort2.pl < ../libextra/ia-api.texi > ia-api.texi -# Generated texinfos. - -noinst_PROGRAMS = errcodes printlist - -errcodes_SOURCES = errcodes.c -errcodes_LDADD = ../lib/libgnutls.la ../gl/libgnu.la - -printlist_SOURCES = printlist.c -printlist_LDADD = ../lib/libgnutls.la ../gl/libgnu.la - -AM_CPPFLAGS = -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes - -error_codes.texi: $(top_srcdir)/lib/gnutls_errors.c $(srcdir)/errcodes.c - make $(builddir)/errcodes - $(builddir)/errcodes > error_codes.texi-tmp && \ - mv error_codes.texi-tmp error_codes.texi +error_codes.texi: ../lib/gnutls_errors.c ../src/errcodes.c + -../src/errcodes > error_codes.texi -algorithms.texi: $(srcdir)/printlist.c - make $(builddir)/printlist - $(builddir)/printlist > algorithms.texi-tmp && \ - mv algorithms.texi-tmp algorithms.texi guile_texi = core.c.texi extra.c.texi BUILT_SOURCES = $(guile_texi) -MAINTAINERCLEANFILES += $(guile_texi) +MAINTAINERCLEANFILES = $(guile_texi) EXTRA_DIST += $(guile_texi) if HAVE_GUILE @@ -156,14 +132,11 @@ # Guile documentation extraction from C code. # -GUILE_FOR_BUILD = \ - GUILE_AUTO_COMPILE=0 \ - $(GUILE) -L $(top_srcdir)/guile/modules +GUILE_FOR_BUILD = $(GUILE) -L $(top_srcdir)/guile/modules SNARF_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) \ - -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes \ - -I$(top_srcdir)/libextra/includes \ - -I$(top_srcdir)/guile/src -I$(top_builddir)/guile/src + -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + -I$(top_srcdir)/guile/src -I$(top_builddir)/guile/src core.c.texi: $(top_srcdir)/guile/src/core.c $(MAKE) -C ../guile/src built-sources && \ diff -Nru gnutls26-2.8.6/doc/Makefile.in gnutls26-2.4.1/doc/Makefile.in --- gnutls26-2.8.6/doc/Makefile.in 2010-03-15 10:29:18.000000000 +0000 +++ gnutls26-2.4.1/doc/Makefile.in 2008-06-30 22:07:49.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -35,12 +34,10 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -56,98 +53,91 @@ build_triplet = @build@ host_triplet = @host@ @ENABLE_GTK_DOC_TRUE@am__append_1 = reference -noinst_PROGRAMS = errcodes$(EXEEXT) printlist$(EXEEXT) subdir = doc DIST_COMMON = $(gnutls_TEXINFOS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/stamp-vti \ $(srcdir)/version.texi TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -PROGRAMS = $(noinst_PROGRAMS) -am_errcodes_OBJECTS = errcodes.$(OBJEXT) -errcodes_OBJECTS = $(am_errcodes_OBJECTS) -errcodes_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la -am_printlist_OBJECTS = printlist.$(OBJEXT) -printlist_OBJECTS = $(am_printlist_OBJECTS) -printlist_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(errcodes_SOURCES) $(printlist_SOURCES) -DIST_SOURCES = $(errcodes_SOURCES) $(printlist_SOURCES) +SOURCES = +DIST_SOURCES = INFO_DEPS = $(srcdir)/gnutls.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux @@ -172,62 +162,20 @@ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +imagesDATA_INSTALL = $(INSTALL_DATA) DATA = $(images_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = examples cyclo scripts manpages credentials reference +DIST_SUBDIRS = examples scripts manpages credentials reference DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -250,96 +198,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -351,31 +263,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -390,29 +287,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -420,18 +303,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -440,51 +316,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -493,123 +351,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -621,78 +464,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -724,11 +551,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -739,35 +569,31 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = TODO README.gaa certtool.cfg gnutls.ps gnutls.pdf \ - gnutls.html extract-guile-c-doc.scm doxygen/Doxyfile.in \ - doxygen/Doxyfile.orig texinfo.css $(guile_texi) -SUBDIRS = examples cyclo scripts manpages credentials $(am__append_1) +EXTRA_DIST = TODO README.GIT README.autoconf certtool.cfg gnutls.ps \ + gnutls.pdf gnutls.html extract-guile-c-doc.scm $(guile_texi) +SUBDIRS = examples scripts manpages credentials $(am__append_1) info_TEXINFOS = gnutls.texi -# Generated texinfos. - # Images. Make sure there are eps + png + pdf of each, plus the source dia. # Images. Make sure there are eps + png + pdf of each, plus the source dia. -gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi lgpl-2.1.texi gpl-3.0.texi \ - gnutls-api.texi gnutls-extra-api.texi ia-api.texi \ - x509-api.texi pgp-api.texi examples/ex-client1.c \ - examples/ex-client2.c examples/ex-session-info.c \ - examples/ex-verify.c examples/ex-cert-select.c \ - examples/ex-client-resume.c examples/ex-client-srp.c \ - examples/ex-client-tlsia.c examples/ex-rfc2818.c \ - examples/ex-serv1.c examples/ex-serv-export.c \ - examples/ex-serv-anon.c examples/ex-serv-pgp.c \ - examples/ex-serv-srp.c examples/ex-alert.c \ - examples/ex-x509-info.c examples/ex-crq.c examples/ex-pkcs12.c \ - guile.texi $(guile_texi) error_codes.texi algorithms.texi \ +gnutls_TEXINFOS = gnutls.texi signatures.texi fdl.texi lgpl-2.1.texi \ + gpl-3.0.texi error_codes.texi gnutls-api.texi \ + gnutls-extra-api.texi ia-api.texi x509-api.texi pgp-api.texi \ + examples/ex-client1.c examples/ex-client2.c \ + examples/ex-session-info.c examples/ex-verify.c \ + examples/ex-cert-select.c examples/ex-client-resume.c \ + examples/ex-client-srp.c examples/ex-client-tlsia.c \ + examples/ex-rfc2818.c examples/ex-serv1.c \ + examples/ex-serv-export.c examples/ex-serv-anon.c \ + examples/ex-serv-pgp.c examples/ex-serv-srp.c \ + examples/ex-alert.c examples/ex-x509-info.c examples/ex-crq.c \ + examples/ex-pkcs12.c guile.texi $(guile_texi) \ gnutls-internals.dia gnutls-internals.eps gnutls-internals.png \ gnutls-internals.pdf gnutls-layers.dia gnutls-layers.eps \ gnutls-layers.png gnutls-layers.pdf gnutls-pgp.dia \ @@ -791,7 +617,6 @@ gnutls-mod_auth_st.eps gnutls-mod_auth_st.pdf \ gnutls-mod_auth_st.png gnutls-objects.dia gnutls-objects.eps \ gnutls-objects.pdf gnutls-objects.png -MAINTAINERCLEANFILES = error_codes.texi algorithms.texi $(guile_texi) imagesdir = $(infodir) images_DATA = gnutls-certificate-user-use-case.png \ gnutls-extensions_st.png gnutls-handshake-state.png \ @@ -803,45 +628,37 @@ AM_MAKEINFOFLAGS = -I $(top_srcdir)/doc TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS) AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \ - --no-split --css-include=$(srcdir)/texinfo.css + --no-split -errcodes_SOURCES = errcodes.c -errcodes_LDADD = ../lib/libgnutls.la ../gl/libgnu.la -printlist_SOURCES = printlist.c -printlist_LDADD = ../lib/libgnutls.la ../gl/libgnu.la -AM_CPPFLAGS = -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes guile_texi = core.c.texi extra.c.texi BUILT_SOURCES = $(guile_texi) +MAINTAINERCLEANFILES = $(guile_texi) # # Guile documentation extraction from C code. # -@HAVE_GUILE_TRUE@GUILE_FOR_BUILD = \ -@HAVE_GUILE_TRUE@ GUILE_AUTO_COMPILE=0 \ -@HAVE_GUILE_TRUE@ $(GUILE) -L $(top_srcdir)/guile/modules - +@HAVE_GUILE_TRUE@GUILE_FOR_BUILD = $(GUILE) -L $(top_srcdir)/guile/modules @HAVE_GUILE_TRUE@SNARF_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) \ -@HAVE_GUILE_TRUE@ -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes \ -@HAVE_GUILE_TRUE@ -I$(top_srcdir)/libextra/includes \ -@HAVE_GUILE_TRUE@ -I$(top_srcdir)/guile/src -I$(top_builddir)/guile/src +@HAVE_GUILE_TRUE@ -I$(top_srcdir)/includes -I$(top_builddir)/includes \ +@HAVE_GUILE_TRUE@ -I$(top_srcdir)/guile/src -I$(top_builddir)/guile/src all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -.SUFFIXES: .c .dvi .html .info .lo .o .obj .pdf .ps .texi +.SUFFIXES: .dvi .html .info .pdf .ps .texi $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -859,52 +676,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -errcodes$(EXEEXT): $(errcodes_OBJECTS) $(errcodes_DEPENDENCIES) - @rm -f errcodes$(EXEEXT) - $(LINK) $(errcodes_OBJECTS) $(errcodes_LDADD) $(LIBS) -printlist$(EXEEXT): $(printlist_OBJECTS) $(printlist_DEPENDENCIES) - @rm -f printlist$(EXEEXT) - $(LINK) $(printlist_OBJECTS) $(printlist_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errcodes.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printlist.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -914,7 +685,7 @@ .texi.info: restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && $(am__cd) $(srcdir) && \ + am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ @@ -926,10 +697,10 @@ -o $@ $<; \ then \ rc=0; \ - $(am__cd) $(srcdir); \ + cd $(srcdir); \ else \ rc=$$?; \ - $(am__cd) $(srcdir) && \ + cd $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc @@ -986,18 +757,16 @@ uninstall-dvi-am: @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ + @list='$(DVIS)'; for p in $$list; do \ + f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ done uninstall-html-am: @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ + @list='$(HTMLS)'; for p in $$list; do \ + f=$(am__strip_dir) \ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ done @@ -1011,8 +780,7 @@ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ + install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @@ -1028,18 +796,16 @@ uninstall-pdf-am: @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ + @list='$(PDFS)'; for p in $$list; do \ + f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ done uninstall-ps-am: @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ + @list='$(PSS)'; for p in $$list; do \ + f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ rm -f "$(DESTDIR)$(psdir)/$$f"; \ done @@ -1056,8 +822,8 @@ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ if test -f $$file; then \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ + test -f $(distdir)/$$relfile || \ + cp -p $$file $(distdir)/$$relfile; \ else :; fi; \ done; \ done @@ -1065,11 +831,8 @@ mostlyclean-aminfo: -rm -rf gnutls.aux gnutls.cp gnutls.cps gnutls.fn gnutls.fns gnutls.ky \ gnutls.kys gnutls.log gnutls.pg gnutls.tmp gnutls.toc \ - gnutls.tp gnutls.vr gnutls.vrs - -clean-aminfo: - -test -z "gnutls.dvi gnutls.pdf gnutls.ps gnutls.html" \ - || rm -rf gnutls.dvi gnutls.pdf gnutls.ps gnutls.html + gnutls.tp gnutls.vr gnutls.vrs gnutls.dvi gnutls.pdf \ + gnutls.ps gnutls.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ @@ -1080,23 +843,20 @@ install-imagesDATA: $(images_DATA) @$(NORMAL_INSTALL) test -z "$(imagesdir)" || $(MKDIR_P) "$(DESTDIR)$(imagesdir)" - @list='$(images_DATA)'; test -n "$(imagesdir)" || list=; \ - for p in $$list; do \ + @list='$(images_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(imagesdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(imagesdir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(imagesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(imagesdir)/$$f'"; \ + $(imagesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(imagesdir)/$$f"; \ done uninstall-imagesDATA: @$(NORMAL_UNINSTALL) - @list='$(images_DATA)'; test -n "$(imagesdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(imagesdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(imagesdir)" && rm -f $$files + @list='$(images_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(imagesdir)/$$f'"; \ + rm -f "$(DESTDIR)$(imagesdir)/$$f"; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -1105,7 +865,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1122,7 +882,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -1130,7 +890,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1156,16 +916,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -1173,14 +933,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -1192,7 +952,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1201,34 +961,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1249,44 +1004,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -1297,7 +1037,7 @@ check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(DATA) +all-am: Makefile $(INFO_DEPS) $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(imagesdir)"; do \ @@ -1324,7 +1064,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1333,14 +1072,11 @@ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive -clean-am: clean-aminfo clean-generic clean-libtool \ - clean-noinstPROGRAMS mostlyclean-am +clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive - -rm -rf ./$(DEPDIR) -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive @@ -1361,14 +1097,11 @@ install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ + @list='$(DVIS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \ done install-exec-am: @@ -1377,31 +1110,26 @@ install-html-am: $(HTMLS) @$(NORMAL_INSTALL) test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ + @list='$(HTMLS)'; for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ + f=$(am__strip_dir) \ if test -d "$$d$$p"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \ else \ - list2="$$list2 $$d$$p"; \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } + done install-info: install-info-recursive install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + list='$(INFO_DEPS)'; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ @@ -1409,19 +1137,18 @@ if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ - echo "$$ifile"; \ + relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ + echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ + $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ else : ; fi; \ done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done + done @$(POST_INSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ @@ -1435,39 +1162,34 @@ install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ + @list='$(PDFS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done + f=$(am__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done install-ps: install-ps-recursive install-ps-am: $(PSS) @$(NORMAL_INSTALL) test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ + @list='$(PSS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done + f=$(am__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \ + done installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean: mostlyclean-recursive -mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-vti +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ + mostlyclean-libtool mostlyclean-vti pdf: pdf-recursive @@ -1480,14 +1202,12 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \ uninstall-info-am uninstall-pdf-am uninstall-ps-am -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-aminfo clean-generic \ - clean-libtool clean-noinstPROGRAMS ctags ctags-recursive \ - dist-info distclean distclean-compile distclean-generic \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive dist-info distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ @@ -1497,11 +1217,11 @@ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean \ - mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-vti pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am uninstall-dvi-am \ - uninstall-html-am uninstall-imagesDATA uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am + mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool \ + mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-dvi-am uninstall-html-am \ + uninstall-imagesDATA uninstall-info-am uninstall-pdf-am \ + uninstall-ps-am ../lib/gnutls-api.texi: @@ -1534,15 +1254,8 @@ ia-api.texi: ../libextra/ia-api.texi -$(srcdir)/scripts/sort2.pl < ../libextra/ia-api.texi > ia-api.texi -error_codes.texi: $(top_srcdir)/lib/gnutls_errors.c $(srcdir)/errcodes.c - make $(builddir)/errcodes - $(builddir)/errcodes > error_codes.texi-tmp && \ - mv error_codes.texi-tmp error_codes.texi - -algorithms.texi: $(srcdir)/printlist.c - make $(builddir)/printlist - $(builddir)/printlist > algorithms.texi-tmp && \ - mv algorithms.texi-tmp algorithms.texi +error_codes.texi: ../lib/gnutls_errors.c ../src/errcodes.c + -../src/errcodes > error_codes.texi @HAVE_GUILE_TRUE@core.c.texi: $(top_srcdir)/guile/src/core.c @HAVE_GUILE_TRUE@ $(MAKE) -C ../guile/src built-sources && \ @@ -1563,7 +1276,6 @@ @HAVE_GUILE_FALSE@extra.c.texi: @HAVE_GUILE_FALSE@ echo "(Guile not available, documentation not generated.)" > $@ - # 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: diff -Nru gnutls26-2.8.6/doc/manpages/certtool.1 gnutls26-2.4.1/doc/manpages/certtool.1 --- gnutls26-2.8.6/doc/manpages/certtool.1 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/certtool.1 2008-06-19 11:00:09.000000000 +0100 @@ -7,6 +7,8 @@ Generate X.509 certificates, certificate requests, and private keys. .SH OPTIONS .SS Program control options +.IP "\-\-copyright" +Shows the program's license .IP "\-d, \-\-debug LEVEL" Specify the debug level. Default is 1. .IP "\-h, \-\-help" @@ -38,7 +40,7 @@ .IP "\-e, \-\-verify\-chain" Verify a PEM encoded certificate chain. The last certificate in the chain must be a self signed one. .IP "\-\-generate\-dh\-params" -Generate PKCS #3 encoded Diffie-Hellman parameters. +Generate PKCS #3 encoded Diffie Hellman parameters. .IP "\-\-load\-ca\-certificate FILE" Certificate authority's certificate file to use. .IP "\-\-load\-ca\-privkey FILE" diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_alert_get.3 gnutls26-2.4.1/doc/manpages/gnutls_alert_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_alert_get.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_alert_get.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_alert_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_alert_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_alert_get \- Returns the last alert number received. .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBgnutls_alert_description_t\fP value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_alert_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_alert_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_alert_get_name.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_alert_get_name.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_alert_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_alert_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_alert_get_name \- Returns a string describing the alert number given .SH SYNOPSIS @@ -16,14 +16,12 @@ string corresponding to \fBgnutls_alert_description_t\fP value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_alert_send.3 gnutls26-2.4.1/doc/manpages/gnutls_alert_send.3 --- gnutls26-2.8.6/doc/manpages/gnutls_alert_send.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_alert_send.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_alert_send" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_alert_send" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_alert_send \- send an alert message to the peer .SH SYNOPSIS @@ -27,14 +27,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_alert_send_appropriate.3 gnutls26-2.4.1/doc/manpages/gnutls_alert_send_appropriate.3 --- gnutls26-2.8.6/doc/manpages/gnutls_alert_send_appropriate.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_alert_send_appropriate.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_alert_send_appropriate" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_alert_send_appropriate" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_alert_send_appropriate \- send alert to peer depending on error code +gnutls_alert_send_appropriate \- send an alert to the peer depending on the error code .SH SYNOPSIS .B #include .sp @@ -26,14 +26,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_allocate_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_allocate_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_allocate_client_credentials.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_allocate_client_credentials.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_allocate_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_allocate_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_allocate_client_credentials \- Used to allocate a credentials structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t * " sc ");" +.BI "int gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t * " sc ");" .SH ARGUMENTS -.IP "gnutls_anon_client_credentials_t * sc" 12 -is a pointer to a \fBgnutls_anon_client_credentials_t\fP structure. +.IP "gnutls_anon_client_credentials_t * sc" 12 +is a pointer to an \fBgnutls_anon_client_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -16,14 +16,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_allocate_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_allocate_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_allocate_server_credentials.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_allocate_server_credentials.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_allocate_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_allocate_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_allocate_server_credentials \- Used to allocate an gnutls_anon_server_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t * " sc ");" +.BI "int gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t * " sc ");" .SH ARGUMENTS -.IP "gnutls_anon_server_credentials_t * sc" 12 -is a pointer to a \fBgnutls_anon_server_credentials_t\fP structure. +.IP "gnutls_anon_server_credentials_t * sc" 12 +is a pointer to an \fBgnutls_anon_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -16,14 +16,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_free_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_free_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_free_client_credentials.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_free_client_credentials.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_free_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_free_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_free_client_credentials \- Used to free an allocated gnutls_anon_client_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_anon_free_client_credentials(gnutls_anon_client_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_anon_client_credentials_t sc" 12 -is a \fBgnutls_anon_client_credentials_t\fP structure. +is an \fBgnutls_anon_client_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_free_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_free_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_free_server_credentials.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_free_server_credentials.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_free_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_free_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_free_server_credentials \- Used to free an allocated gnutls_anon_server_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_anon_free_server_credentials(gnutls_anon_server_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_anon_server_credentials_t sc" 12 -is a \fBgnutls_anon_server_credentials_t\fP structure. +is an \fBgnutls_anon_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_set_params_function.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_set_params_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_set_params_function.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_set_params_function.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_set_params_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_set_params_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_set_params_function \- set the DH or RSA parameters callback .SH SYNOPSIS @@ -13,18 +13,16 @@ is the function to be called .SH "DESCRIPTION" This function will set a callback in order for the server to get -the Diffie\-Hellman or RSA parameters for anonymous authentication. +the diffie hellman or RSA parameters for anonymous authentication. The callback should return zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_set_server_dh_params.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_set_server_dh_params.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_set_server_dh_params.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_set_server_dh_params.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_set_server_dh_params" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_set_server_dh_params" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_set_server_dh_params \- set the DH parameters for a server to use .SH SYNOPSIS @@ -10,21 +10,19 @@ .IP "gnutls_anon_server_credentials_t res" 12 is a gnutls_anon_server_credentials_t structure .IP "gnutls_dh_params_t dh_params" 12 -is a structure that holds Diffie\-Hellman parameters. +is a structure that holds diffie hellman parameters. .SH "DESCRIPTION" -This function will set the Diffie\-Hellman parameters for an +This function will set the diffie hellman parameters for an anonymous server to use. These parameters will be used in -Anonymous Diffie\-Hellman cipher suites. +Anonymous Diffie Hellman cipher suites. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_anon_set_server_params_function.3 gnutls26-2.4.1/doc/manpages/gnutls_anon_set_server_params_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_anon_set_server_params_function.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_anon_set_server_params_function.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_anon_set_server_params_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_anon_set_server_params_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_anon_set_server_params_function \- set the DH parameters callback .SH SYNOPSIS @@ -13,18 +13,16 @@ is the function to be called .SH "DESCRIPTION" This function will set a callback in order for the server to get -the Diffie\-Hellman parameters for anonymous authentication. The +the diffie hellman parameters for anonymous authentication. The callback should return zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_auth_client_get_type.3 gnutls26-2.4.1/doc/manpages/gnutls_auth_client_get_type.3 --- gnutls26-2.8.6/doc/manpages/gnutls_auth_client_get_type.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_auth_client_get_type.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_auth_client_get_type" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_auth_client_get_type" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_auth_client_get_type \- Returns the type of credentials for the client authentication schema. .SH SYNOPSIS @@ -15,17 +15,15 @@ to access authentication data. .SH "RETURNS" The type of credentials for the client authentication -schema, a \fBgnutls_credentials_type_t\fP type. +schema, an \fBgnutls_credentials_type_t\fP type. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_auth_get_type.3 gnutls26-2.4.1/doc/manpages/gnutls_auth_get_type.3 --- gnutls26-2.8.6/doc/manpages/gnutls_auth_get_type.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_auth_get_type.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_auth_get_type" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_auth_get_type" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_auth_get_type \- Returns the type of credentials for the current authentication schema. .SH SYNOPSIS @@ -14,22 +14,20 @@ The returned information is to be used to distinguish the function used to access authentication data. -Eg. for CERTIFICATE ciphersuites (key exchange algorithms: -\fBGNUTLS_KX_RSA\fP, \fBGNUTLS_KX_DHE_RSA\fP), the same function are to be -used to access the authentication data. +Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, +KX_DHE_RSA), the same function are to be used to access the +authentication data. .SH "RETURNS" The type of credentials for the current authentication -schema, a \fBgnutls_credentials_type_t\fP type. +schema, an \fBgnutls_credentials_type_t\fP type. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_auth_server_get_type.3 gnutls26-2.4.1/doc/manpages/gnutls_auth_server_get_type.3 --- gnutls26-2.8.6/doc/manpages/gnutls_auth_server_get_type.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_auth_server_get_type.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_auth_server_get_type" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_auth_server_get_type" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_auth_server_get_type \- Returns the type of credentials for the server authentication schema. .SH SYNOPSIS @@ -15,17 +15,15 @@ to access authentication data. .SH "RETURNS" The type of credentials for the server authentication -schema, a \fBgnutls_credentials_type_t\fP type. +schema, an \fBgnutls_credentials_type_t\fP type. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_bye.3 gnutls26-2.4.1/doc/manpages/gnutls_bye.3 --- gnutls26-2.8.6/doc/manpages/gnutls_bye.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_bye.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_bye" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_bye" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_bye \- terminate the current TLS/SSL connection. .SH SYNOPSIS @@ -41,14 +41,12 @@ function documentation for entire semantics. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_activation_time_peers.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_activation_time_peers.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_activation_time_peers.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_activation_time_peers.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_activation_time_peers" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_activation_time_peers" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_activation_time_peers \- return the peer's certificate activation time .SH SYNOPSIS @@ -14,18 +14,14 @@ This is the creation time for openpgp keys. .SH "RETURNS" (time_t)\-1 on error. -.SH "DEPRECATED" -\fBgnutls_certificate_verify_peers2()\fP now verifies activation times. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_allocate_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_allocate_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_allocate_credentials.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_allocate_credentials.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_allocate_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_allocate_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_allocate_credentials \- Used to allocate a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_certificate_allocate_credentials(gnutls_certificate_credentials_t * " res ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t * res" 12 -is a pointer to a \fBgnutls_certificate_credentials_t\fP structure. +is a pointer to an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -16,14 +16,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_client_get_request_status.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_client_get_request_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_client_get_request_status.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_client_get_request_status.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_client_get_request_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_client_get_request_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_client_get_request_status \- return the certificate request status .SH SYNOPSIS @@ -17,14 +17,12 @@ error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_client_set_retrieve_function.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_client_set_retrieve_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_client_set_retrieve_function.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_client_set_retrieve_function.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_client_set_retrieve_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_client_set_retrieve_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_client_set_retrieve_function \- Used to set a callback to retrieve the certificate .SH SYNOPSIS @@ -38,14 +38,12 @@ will be terminated. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_expiration_time_peers.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_expiration_time_peers.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_expiration_time_peers.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_expiration_time_peers.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_expiration_time_peers" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_expiration_time_peers" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_expiration_time_peers \- return the peer's certificate expiration time .SH SYNOPSIS @@ -13,18 +13,14 @@ This function will return the peer's certificate expiration time. .SH "RETURNS" (time_t)\-1 on error. -.SH "DEPRECATED" -\fBgnutls_certificate_verify_peers2()\fP now verifies expiration times. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_ca_names.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_ca_names.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_ca_names.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_ca_names.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_free_ca_names" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_free_ca_names" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_free_ca_names \- Used to free all the CA names from a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "void gnutls_certificate_free_ca_names(gnutls_certificate_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This function will delete all the CA name in the given credentials. Clients may call this to save some memory @@ -18,14 +18,12 @@ support to clients. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_cas.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_cas.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_cas.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_cas.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_free_cas" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_free_cas" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_free_cas \- Used to free all the CAs from a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "void gnutls_certificate_free_cas(gnutls_certificate_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This function will delete all the CAs associated with the given credentials. Servers that do not use @@ -16,14 +16,12 @@ save some memory. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_credentials.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_credentials.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_free_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_free_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_free_credentials \- Used to free an allocated gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "void gnutls_certificate_free_credentials(gnutls_certificate_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -18,14 +18,12 @@ this function). .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_crls.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_crls.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_crls.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_crls.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_free_crls" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_free_crls" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_free_crls \- Used to free all the CRLs from a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_certificate_free_crls(gnutls_certificate_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This function will delete all the CRLs associated with the given credentials. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_keys.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_keys.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_free_keys.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_free_keys.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_free_keys" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_free_keys" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_free_keys \- Used to free all the keys from a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,21 +8,19 @@ .BI "void gnutls_certificate_free_keys(gnutls_certificate_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .SH "DESCRIPTION" This function will delete all the keys and the certificates associated with the given credentials. This function must not be called when a TLS negotiation that uses the credentials is in progress. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_openpgp_keyring.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_openpgp_keyring.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_openpgp_keyring.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_openpgp_keyring.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,16 +1,15 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_get_openpgp_keyring" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_get_openpgp_keyring" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_certificate_get_openpgp_keyring \- export keyring from a #gnutls_certificate_credentials_t +gnutls_certificate_get_openpgp_keyring \- Used to export the keyring from a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp .BI "void gnutls_certificate_get_openpgp_keyring(gnutls_certificate_credentials_t " sc ", gnutls_openpgp_keyring_t * " keyring ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_openpgp_keyring_t * keyring" 12 -the exported keyring. Should be treated as constant .SH "DESCRIPTION" This function will export the OpenPGP keyring associated with the given credentials. @@ -18,14 +17,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_ours.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_ours.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_ours.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_ours.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_get_ours" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_get_ours" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_get_ours \- return the raw certificate sent in the last handshake .SH SYNOPSIS @@ -19,14 +19,12 @@ was used. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_peers.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_peers.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_peers.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_peers.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_get_peers" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_get_peers" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_get_peers \- return the peer's raw certificate .SH SYNOPSIS @@ -26,14 +26,12 @@ was used. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_x509_cas.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_x509_cas.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_x509_cas.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_x509_cas.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,17 +1,17 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_get_x509_cas" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_get_x509_cas" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_get_x509_cas \- Used to export all the CAs from a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "void gnutls_certificate_get_x509_cas(gnutls_certificate_credentials_t " sc ", gnutls_x509_crt_t ** " x509_ca_list ", unsigned int * " ncas ");" +.BI "void gnutls_certificate_get_x509_cas(gnutls_certificate_credentials_t " sc ", gnutls_x509_crt_t ** " x509_ca_list ", unsigned int* " ncas ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_x509_crt_t ** x509_ca_list" 12 will point to the CA list. Should be treated as constant -.IP "unsigned int * ncas" 12 +.IP "unsigned int* ncas" 12 the number of CAs .SH "DESCRIPTION" This function will export all the CAs associated @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_x509_crls.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_x509_crls.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_get_x509_crls.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_get_x509_crls.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,17 +1,17 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_get_x509_crls" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_get_x509_crls" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_get_x509_crls \- Used to export all the CRLs from a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "void gnutls_certificate_get_x509_crls(gnutls_certificate_credentials_t " sc ", gnutls_x509_crl_t ** " x509_crl_list ", unsigned int * " ncrls ");" +.BI "void gnutls_certificate_get_x509_crls(gnutls_certificate_credentials_t " sc ", gnutls_x509_crl_t ** " x509_crl_list ", unsigned int* " ncrls ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t sc" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_x509_crl_t ** x509_crl_list" 12 the exported CRL list. Should be treated as constant -.IP "unsigned int * ncrls" 12 +.IP "unsigned int* ncrls" 12 the number of exported CRLs .SH "DESCRIPTION" This function will export all the CRLs associated with the given @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_send_x509_rdn_sequence" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_send_x509_rdn_sequence" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_send_x509_rdn_sequence \- order gnutls to send or not the x.509 rdn sequence .SH SYNOPSIS @@ -22,14 +22,12 @@ methods other than certificate with X.509 certificates. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_server_set_request.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_server_set_request.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_server_set_request.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_server_set_request.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_server_set_request" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_server_set_request" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_server_set_request \- Used to set whether to request a client certificate .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "void gnutls_certificate_server_set_request(gnutls_session_t " session ", gnutls_certificate_request_t " req ");" .SH ARGUMENTS .IP "gnutls_session_t session" 12 -is a \fBgnutls_session_t\fP structure. +is an \fBgnutls_session_t\fP structure. .IP "gnutls_certificate_request_t req" 12 is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE .SH "DESCRIPTION" @@ -20,14 +20,12 @@ send a certificate. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_server_set_retrieve_function.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_server_set_retrieve_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_server_set_retrieve_function.3 2010-03-15 10:32:31.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_server_set_retrieve_function.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_server_set_retrieve_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_server_set_retrieve_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_server_set_retrieve_function \- Used to set a callback to retrieve the certificate .SH SYNOPSIS @@ -27,14 +27,12 @@ will be terminated. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_dh_params.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_dh_params.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_dh_params.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_dh_params.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_dh_params" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_dh_params" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_dh_params \- set the DH parameters for a server to use .SH SYNOPSIS @@ -10,24 +10,22 @@ .IP "gnutls_certificate_credentials_t res" 12 is a gnutls_certificate_credentials_t structure .IP "gnutls_dh_params_t dh_params" 12 -is a structure that holds Diffie\-Hellman parameters. +is a structure that holds diffie hellman parameters. .SH "DESCRIPTION" -This function will set the Diffie\-Hellman parameters for a +This function will set the diffie hellman parameters for a certificate server to use. These parameters will be used in -Ephemeral Diffie\-Hellman cipher suites. Note that only a pointer +Ephemeral Diffie Hellman cipher suites. Note that only a pointer to the parameters are stored in the certificate handle, so if you deallocate the parameters before the certificate is deallocated, you must change the parameters stored in the certificate first. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,37 +1,32 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_key" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_key" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_key \- Used to set keys in a gnutls_certificate_credentials_t structure .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_key(gnutls_certificate_credentials_t " res ", gnutls_openpgp_crt_t " crt ", gnutls_openpgp_privkey_t " pkey ");" +.BI "int gnutls_certificate_set_openpgp_key(gnutls_certificate_credentials_t " res ", gnutls_openpgp_crt_t " crt ", gnutls_openpgp_privkey_t " pkey ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_openpgp_crt_t crt" 12 .IP "gnutls_openpgp_privkey_t pkey" 12 is an openpgp private key .SH "DESCRIPTION" -This function sets a certificate/private key pair in the -gnutls_certificate_credentials_t structure. This function may be -called more than once (in case multiple keys/certificates exist -for the server). +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server). With this function the subkeys of the certificate are not used. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_file2.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_file2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_file2.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_file2.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,19 +1,19 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_key_file2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_key_file2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_key_file2 \- Used to set OpenPGP keys .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_key_file2(gnutls_certificate_credentials_t " res ", const char * " certfile ", const char * " keyfile ", const char * " subkey_id ", gnutls_openpgp_crt_fmt_t " format ");" +.BI "int gnutls_certificate_set_openpgp_key_file2(gnutls_certificate_credentials_t " res ", const char * " certfile ", const char * " keyfile ", const char* " subkey_id ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 +.IP "gnutls_certificate_credentials_t res" 12 the destination context to save the data. .IP "const char * certfile" 12 the file that contains the public key. .IP "const char * keyfile" 12 the file that contains the secret key. -.IP "const char * subkey_id" 12 +.IP "const char* subkey_id" 12 a hex encoded subkey id .IP "gnutls_openpgp_crt_fmt_t format" 12 the format of the keys @@ -21,9 +21,8 @@ This funtion is used to load OpenPGP keys into the GnuTLS credential structure. The files should contain non encrypted keys. -The special keyword "auto" is also accepted as \fIsubkey_id\fP. In that -case the \fBgnutls_openpgp_crt_get_auth_subkey()\fP will be used to -retrieve the subkey. +The special keyword "auto" is also accepted as &subkey_id. In that case +the \fBgnutls_openpgp_crt_get_auth_subkey()\fP will be used to retrieve the subkey. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. @@ -31,14 +30,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_file.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_file.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_key_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_key_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_key_file \- Used to set OpenPGP keys .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_key_file(gnutls_certificate_credentials_t " res ", const char * " certfile ", const char * " keyfile ", gnutls_openpgp_crt_fmt_t " format ");" +.BI "int gnutls_certificate_set_openpgp_key_file(gnutls_certificate_credentials_t " res ", const char * " certfile ", const char * " keyfile ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 +.IP "gnutls_certificate_credentials_t res" 12 the destination context to save the data. .IP "const char * certfile" 12 the file that contains the public key. @@ -24,14 +24,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,19 +1,17 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_key_mem2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_key_mem2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_key_mem2 \- Used to set OpenPGP keys .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_key_mem2(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " cert ", const gnutls_datum_t * " key ", const char * " subkey_id ", gnutls_openpgp_crt_fmt_t " format ");" +.BI "int gnutls_certificate_set_openpgp_key_mem2(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " icert ", const gnutls_datum_t * " ikey ", const char* " subkey_id ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 +.IP "gnutls_certificate_credentials_t res" 12 the destination context to save the data. -.IP "const gnutls_datum_t * cert" 12 -the datum that contains the public key. -.IP "const gnutls_datum_t * key" 12 -the datum that contains the secret key. -.IP "const char * subkey_id" 12 +.IP "const gnutls_datum_t * icert" 12 +.IP "const gnutls_datum_t * ikey" 12 +.IP "const char* subkey_id" 12 a hex encoded subkey id .IP "gnutls_openpgp_crt_fmt_t format" 12 the format of the keys @@ -22,7 +20,7 @@ credentials structure. The files should only contain one key which is not encrypted. -The special keyword "auto" is also accepted as \fIsubkey_id\fP. In that +The special keyword "auto" is also accepted as &subkey_id. In that case the \fBgnutls_openpgp_crt_get_auth_subkey()\fP will be used to retrieve the subkey. .SH "RETURNS" @@ -32,14 +30,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_key_mem.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_key_mem.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,18 +1,16 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_key_mem" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_key_mem" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_key_mem \- Used to set OpenPGP keys .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_key_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " cert ", const gnutls_datum_t * " key ", gnutls_openpgp_crt_fmt_t " format ");" +.BI "int gnutls_certificate_set_openpgp_key_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " icert ", const gnutls_datum_t * " ikey ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 +.IP "gnutls_certificate_credentials_t res" 12 the destination context to save the data. -.IP "const gnutls_datum_t * cert" 12 -the datum that contains the public key. -.IP "const gnutls_datum_t * key" 12 -the datum that contains the secret key. +.IP "const gnutls_datum_t * icert" 12 +.IP "const gnutls_datum_t * ikey" 12 .IP "gnutls_openpgp_crt_fmt_t format" 12 the format of the keys .SH "DESCRIPTION" @@ -23,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_keyring_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_keyring_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_keyring_file.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_keyring_file.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_keyring_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_keyring_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_keyring_file \- Sets a keyring file for OpenPGP .SH SYNOPSIS -.B #include +.B #include .sp .BI "int gnutls_certificate_set_openpgp_keyring_file(gnutls_certificate_credentials_t " c ", const char * " file ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS @@ -12,7 +12,6 @@ .IP "const char * file" 12 filename of the keyring. .IP "gnutls_openpgp_crt_fmt_t format" 12 -format of keyring. .SH "DESCRIPTION" The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it @@ -23,14 +22,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_keyring_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_keyring_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_openpgp_keyring_mem.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_openpgp_keyring_mem.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,20 +1,19 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_openpgp_keyring_mem" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_openpgp_keyring_mem" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_openpgp_keyring_mem \- Add keyring data for OpenPGP .SH SYNOPSIS -.B #include +.B #include .sp -.BI "int gnutls_certificate_set_openpgp_keyring_mem(gnutls_certificate_credentials_t " c ", const opaque * " data ", size_t " dlen ", gnutls_openpgp_crt_fmt_t " format ");" +.BI "int gnutls_certificate_set_openpgp_keyring_mem(gnutls_certificate_credentials_t " c ", const opaque * " data ", size_t " dlen ", gnutls_openpgp_crt_fmt_t " format ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t c" 12 +.IP "gnutls_certificate_credentials_t c" 12 A certificate credentials structure .IP "const opaque * data" 12 buffer with keyring data. .IP "size_t dlen" 12 length of data buffer. .IP "gnutls_openpgp_crt_fmt_t format" 12 -the format of the keyring .SH "DESCRIPTION" The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it @@ -25,14 +24,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_params_function.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_params_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_params_function.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_params_function.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_params_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_params_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_params_function \- set the DH or RSA parameters callback .SH SYNOPSIS @@ -13,18 +13,16 @@ is the function to be called .SH "DESCRIPTION" This function will set a callback in order for the server to get -the Diffie\-Hellman or RSA parameters for certificate +the diffie hellman or RSA parameters for certificate authentication. The callback should return zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_rsa_export_params.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_rsa_export_params.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_rsa_export_params.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_rsa_export_params.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_rsa_export_params" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_rsa_export_params" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_rsa_export_params \- set the RSA parameters for a server to use .SH SYNOPSIS @@ -17,14 +17,12 @@ RSA\-EXPORT cipher suites. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_verify_flags.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_verify_flags.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_verify_flags.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_verify_flags.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_verify_flags" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_verify_flags" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_verify_flags \- set the flags to be used at certificate verification .SH SYNOPSIS @@ -17,14 +17,12 @@ \fBgnutls_certificate_verify_flags\fP enumerations. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_verify_limits.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_verify_limits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_verify_limits.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_verify_limits.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_verify_limits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_verify_limits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_verify_limits \- set the upper limits to be used at certificate verification .SH SYNOPSIS .B #include .sp -.BI "void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t " res ", unsigned int " max_bits ", unsigned int " max_depth ");" +.BI "void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t " res ", unsigned int " max_bits ", unsigned int " max_depth ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 +.IP "gnutls_certificate_credentials_t res" 12 is a gnutls_certificate_credentials structure .IP "unsigned int max_bits" 12 is the number of bits of an acceptable certificate (default 8200) @@ -20,14 +20,12 @@ limits. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_crl" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_crl" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_crl \- Used to add CRLs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t " res ", gnutls_x509_crl_t * " crl_list ", int " crl_list_size ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_x509_crl_t * crl_list" 12 is a list of trusted CRLs. They should have been verified before. .IP "int crl_list_size" 12 @@ -25,14 +25,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl_file.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl_file.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_crl_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_crl_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_crl_file \- Used to add CRLs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t " res ", const char * " crlfile ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t " res ", const char * " crlfile ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const char * crlfile" 12 is a file containing the list of verified CRLs (DER or PEM list) .IP "gnutls_x509_crt_fmt_t type" 12 @@ -23,14 +23,12 @@ number of CRLs processed or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_crl_mem.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_crl_mem.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_crl_mem" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_crl_mem" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_crl_mem \- Used to add CRLs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " CRL ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " CRL ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const gnutls_datum_t * CRL" 12 is a list of trusted CRLs. They should have been verified before. .IP "gnutls_x509_crt_fmt_t type" 12 @@ -23,14 +23,12 @@ number of CRLs processed, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_key" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_key" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_key \- Used to set keys in a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t " res ", gnutls_x509_crt_t * " cert_list ", int " cert_list_size ", gnutls_x509_privkey_t " key ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_x509_crt_t * cert_list" 12 contains a certificate list (path) for the specified private key .IP "int cert_list_size" 12 @@ -26,14 +26,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key_file.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key_file.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,18 +1,18 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_key_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_key_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_key_file \- Used to set keys in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t " res ", const char * " certfile ", const char * " keyfile ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t " res ", const char * " CERTFILE ", const char * " KEYFILE ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. -.IP "const char * certfile" 12 +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. +.IP "const char * CERTFILE" 12 is a file that containing the certificate list (path) for the specified private key, in PKCS7 format, or a list of certificates -.IP "const char * keyfile" 12 +.IP "const char * KEYFILE" 12 is a file that contains the private key .IP "gnutls_x509_crt_fmt_t type" 12 is PEM or DER @@ -28,14 +28,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_key_mem.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_key_mem.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_key_mem" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_key_mem" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_key_mem \- Used to set keys in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " cert ", const gnutls_datum_t * " key ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " cert ", const gnutls_datum_t * " key ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const gnutls_datum_t * cert" 12 contains a certificate list (path) for the specified private key .IP "const gnutls_datum_t * key" 12 @@ -16,18 +16,18 @@ .IP "gnutls_x509_crt_fmt_t type" 12 is PEM or DER .SH "DESCRIPTION" -This function sets a certificate/private key pair in the +This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). .SH "CURRENTLY ARE SUPPORTED" -RSA PKCS\-1 encoded private keys, +RSA PKCS\-1 encoded private keys, DSA private keys. DSA private keys are encoded the OpenSSL way, which is an ASN.1 DER sequence of 6 INTEGERs \- version, p, q, g, pub, priv. -Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates is supported. This means that certificates intended for signing cannot be used for ciphersuites that require encryption. @@ -40,14 +40,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_file.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_file.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_simple_pkcs12_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_simple_pkcs12_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_simple_pkcs12_file \- API function .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_certificate_set_x509_simple_pkcs12_file(gnutls_certificate_credentials_t " res ", const char * " pkcs12file ", gnutls_x509_crt_fmt_t " type ", const char * " password ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const char * pkcs12file" 12 filename of file containing PKCS\fB12\fP blob. .IP "gnutls_x509_crt_fmt_t type" 12 @@ -42,14 +42,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_mem.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_simple_pkcs12_mem.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,66 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_simple_pkcs12_mem" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_certificate_set_x509_simple_pkcs12_mem \- API function -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_certificate_set_x509_simple_pkcs12_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum * " p12blob ", gnutls_x509_crt_fmt_t " type ", const char * " password ");" -.SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. -.IP "const gnutls_datum * p12blob" 12 -the PKCS\fB12\fP blob. -.IP "gnutls_x509_crt_fmt_t type" 12 -is PEM or DER of the \fIpkcs12file\fP. -.IP "const char * password" 12 -optional password used to decrypt PKCS\fB12\fP file, bags and keys. -.SH "DESCRIPTION" -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). -.SH "MAC" -ed PKCS\fB12\fP files are supported. Encrypted PKCS\fB12\fP bags are -supported. Encrypted PKCS\fB8\fP private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - -The private keys may be RSA PKCS\fB1\fP or DSA private keys encoded in -the OpenSSL way. - -PKCS\fB12\fP file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS\fB12\fP file only contain one key/certificate -pair and/or one CRL. - -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an error code. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_trust" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_trust" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_trust \- Used to add trusted CAs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t " res ", gnutls_x509_crt_t * " ca_list ", int " ca_list_size ");" .SH ARGUMENTS .IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "gnutls_x509_crt_t * ca_list" 12 is a list of trusted CAs .IP "int ca_list_size" 12 @@ -29,14 +29,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust_file.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust_file.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust_file.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_trust_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_trust_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_trust_file \- Used to add trusted CAs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t " res ", const char * " cafile ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t " res ", const char * " cafile ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const char * cafile" 12 is a file containing the list of trusted CAs (DER or PEM list) .IP "gnutls_x509_crt_fmt_t type" 12 @@ -28,14 +28,12 @@ error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust_mem.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust_mem.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_set_x509_trust_mem.3 2010-03-15 10:32:49.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_set_x509_trust_mem.3 2008-06-30 22:13:28.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_set_x509_trust_mem" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_set_x509_trust_mem" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_set_x509_trust_mem \- Used to add trusted CAs in a gnutls_certificate_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " ca ", gnutls_x509_crt_fmt_t " type ");" +.BI "int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t " res ", const gnutls_datum_t * " ca ", gnutls_x509_crt_fmt_t " type ");" .SH ARGUMENTS -.IP "gnutls_certificate_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure. +.IP "gnutls_certificate_credentials_t res" 12 +is an \fBgnutls_certificate_credentials_t\fP structure. .IP "const gnutls_datum_t * ca" 12 is a list of trusted CAs or a DER certificate .IP "gnutls_x509_crt_fmt_t type" 12 @@ -28,14 +28,12 @@ on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_type_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_type_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_type_get \- Returns the currently used certificate type. .SH SYNOPSIS @@ -17,14 +17,12 @@ type. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get_id.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get_id.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,29 +1,27 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_type_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_type_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_type_get_id \- Returns the gnutls id of the specified in string type .SH SYNOPSIS .B #include .sp -.BI "gnutls_certificate_type_t gnutls_certificate_type_get_id(const char * " name ");" +.BI "gnutls_certificate_type_t gnutls_certificate_type_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 +.IP "const char* name" 12 is a certificate type name .SH "DESCRIPTION" The names are compared in a case insensitive way. .SH "RETURNS" -a \fBgnutls_certificate_type_t\fP for the specified in a -string certificate type, or \fBGNUTLS_CRT_UNKNOWN\fP on error. +an id of the specified in a string certificate type, or +\fBGNUTLS_CRT_UNKNOWN\fP on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_get_name.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_get_name.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_type_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_type_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_type_get_name \- Returns a string with the name of the specified certificate type .SH SYNOPSIS @@ -16,14 +16,12 @@ certificate type, or \fBNULL\fP in case of unknown types. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_list.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_list.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_list.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_type_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_type_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_type_list \- Get a list of supported certificate types .SH SYNOPSIS @@ -18,14 +18,12 @@ integers indicating the available certificate types. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_type_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_type_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_type_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_type_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_type_set_priority \- Sets the priority on the certificate types supported by gnutls. .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_verify_peers2.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_verify_peers2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_verify_peers2.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_verify_peers2.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_verify_peers2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_verify_peers2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_verify_peers2 \- return the peer's certificate verification status .SH SYNOPSIS @@ -23,8 +23,8 @@ Note that you must also check the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses \fBgnutls_x509_crt_list_verify()\fP with the CAs in -the credentials as trusted CAs. +This is the same as \fBgnutls_x509_crt_list_verify()\fP and uses the +loaded CAs in the credentials as trusted CAs. Note that some commonly used X.509 Certificate Authorities are still using Version 1 certificates. If you want to accept them, @@ -34,14 +34,12 @@ a negative error code on error and zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_certificate_verify_peers.3 gnutls26-2.4.1/doc/manpages/gnutls_certificate_verify_peers.3 --- gnutls26-2.8.6/doc/manpages/gnutls_certificate_verify_peers.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_certificate_verify_peers.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_certificate_verify_peers" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_certificate_verify_peers" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_certificate_verify_peers \- return the peer's certificate verification status .SH SYNOPSIS @@ -15,22 +15,21 @@ the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses \fBgnutls_x509_crt_list_verify()\fP. -.SH "RETURNS" -one or more of the \fBgnutls_certificate_status_t\fP -enumerated elements bitwise or'd, or a negative value on error. +The return value should be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd, or a +negative value on error. + +This is the same as \fBgnutls_x509_crt_list_verify()\fP. .SH "DEPRECATED" Use \fBgnutls_certificate_verify_peers2()\fP instead. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_check_version.3 gnutls26-2.4.1/doc/manpages/gnutls_check_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_check_version.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_check_version.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,34 +1,34 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_check_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_check_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_check_version \- checks the libgnutls version +gnutls_check_version \- check the library's version .SH SYNOPSIS .B #include .sp .BI "const char * gnutls_check_version(const char * " req_version ");" .SH ARGUMENTS .IP "const char * req_version" 12 -version string to compare with, or \fBNULL\fP. +the version to check .SH "DESCRIPTION" -Check GnuTLS Library version. +Check that the version of the library is at minimum the requested one +and return the version string; return NULL if the condition is not +satisfied. If a NULL is passed to this function, no check is done, +but the version string is simply returned. -See \fBGNUTLS_VERSION\fP for a suitable \fIreq_version\fP string. +See \fBLIBGNUTLS_VERSION\fP for a suitable \fIreq_version\fP string. .SH "RETURN VALUE" -Check that the version of the library is at -minimum the one given as a string in \fIreq_version\fP and return the -actual version string of the library; return \fBNULL\fP if the -condition is not met. If \fBNULL\fP is passed to this function no -check is done and only the version string is returned. +Version string of run\-time library, or NULL if the +run\-time library does not meet the required version number. If +\fBNULL\fP is passed to this function no check is done and only the +version string is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_get.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_get.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_get.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_get \- Returns the currently used cipher. .SH SYNOPSIS @@ -12,18 +12,16 @@ .SH "DESCRIPTION" Get currently used cipher. .SH "RETURNS" -the currently used cipher, a \fBgnutls_cipher_algorithm_t\fP +the currently used cipher, an \fBgnutls_cipher_algorithm_t\fP type. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_id.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_id.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,14 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_get_id \- Returns the gnutls id of the specified in string algorithm .SH SYNOPSIS .B #include .sp -.BI "gnutls_cipher_algorithm_t gnutls_cipher_get_id(const char * " name ");" +.BI "gnutls_cipher_algorithm_t gnutls_cipher_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 -is a MAC algorithm name +.IP "const char* name" 12 .SH "DESCRIPTION" The names are compared in a case insensitive way. .SH "RETURNS" @@ -16,14 +15,12 @@ the specified cipher, or \fBGNUTLS_CIPHER_UNKNOWN\fP on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_key_size.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_key_size.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_key_size.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_key_size.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_get_key_size" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_get_key_size" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_get_key_size \- Returns the length of the cipher's key size .SH SYNOPSIS @@ -16,14 +16,12 @@ the given cipher is invalid. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_get_name.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_get_name.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_get_name \- Returns a string with the name of the specified cipher algorithm .SH SYNOPSIS @@ -16,14 +16,12 @@ specified cipher, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_list.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_list.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_list.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_list \- Get a list of supported ciphers .SH SYNOPSIS @@ -19,14 +19,12 @@ integers indicating the available ciphers. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_set_priority \- Sets the priority on the ciphers supported by gnutls. .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_suite_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_suite_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_suite_get_name.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_suite_get_name.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_suite_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_suite_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_cipher_suite_get_name \- get name of the specified cipher suite +gnutls_cipher_suite_get_name \- Returns a string with the name of the specified cipher suite .SH SYNOPSIS .B #include .sp @@ -21,14 +21,12 @@ specified by the given algorithms, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_cipher_suite_info.3 gnutls26-2.4.1/doc/manpages/gnutls_cipher_suite_info.3 --- gnutls26-2.8.6/doc/manpages/gnutls_cipher_suite_info.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_cipher_suite_info.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_cipher_suite_info" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_cipher_suite_info" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_cipher_suite_info \- API function .SH SYNOPSIS @@ -30,14 +30,12 @@ bounds, \fBNULL\fP is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls-cli.1 gnutls26-2.4.1/doc/manpages/gnutls-cli.1 --- gnutls26-2.8.6/doc/manpages/gnutls-cli.1 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls-cli.1 2008-06-19 11:00:09.000000000 +0100 @@ -9,6 +9,8 @@ standard input to the secured socket and vice versa. .SH OPTIONS .SS Program control options +.IP "\-\-copyright" +Prints the program's license. .IP "\-d, \-\-debug LEVEL" Specify the debug level. Default is 1. .IP "\-h, \-\-help" @@ -22,8 +24,6 @@ is received. .IP "\-v, \-\-version" Prints the program's version number. -.IP "\-V, \-\-verbose" -More verbose output. .SS TLS/SSL control options .IP "\-\-priority \fIPRIORITY STRING\fR" @@ -66,14 +66,11 @@ .IP Special keywords: .IP -"!" or "-" appended with an algorithm will remove this algorithm. +'!' or '-' appended with an algorithm will remove this algorithm. .IP -"+" appended with an algorithm will add this algorithm. +'+' appended with an algorithm will add this algorithm. .IP -"%COMPAT" will enable compatibility features for a server. -.IP -"%SSL3_RECORD_VERSION" force SSL3.0 record version in the first client -hello. This is to avoid buggy servers from terminating connection. +'%COMPAT' will enable compatibility features for a server. .IP To avoid collisions in order to specify a compression algorithm in this string you have to prefix it with "COMP-", protocol versions @@ -96,32 +93,11 @@ Send the openpgp fingerprint, instead of the key. .IP "\-p, \-\-port \fIinteger\fR" The port to connect to. -.IP "\-\-ciphers \fIcipher1 cipher2...\fR" -Ciphers to enable (use \fBgnutls\-cli \-\-list\fR to show the -supported ciphers). .IP "\-\-protocols \fIprotocol1 protocol2...\fR" Protocols to enable (use \fBgnutls\-cli \-\-list\fR to show the supported protocols). -.IP "\-\-comp \fIcomp1 comp2...\fR" -Compression methods to enable (use \fBgnutls\-cli \-\-list\fR to -show the supported methods). -.IP "\-\-macs \fImac1 mac2...\fR" -MACs to enable (use \fBgnutls\-cli \-\-list\fR to show the -supported MACs). -.IP "\-\-kx \fIkx1 kx2...\fR" -Key exchange methods to enable (use \fBgnutls\-cli \-\-list\fR to -show the supported methods). -.IP "\-\-ctypes \fIcertType1 certType2...\fR" -Certificate types to enable (use \fBgnutls\-cli \-\-list\fR to show -the supported types). .IP "\-\-recordsize \fIinteger\fR" The maximum record size to advertize. -.IP "\-\-disable-extensions" -Disable all the TLS extensions. -.IP "\-\-print-cert" -Print the certificate in PEM format. -.IP "\-\-insecure" -Don't abort program if server certificates can't be validated. .SS Certificate options .IP "\-\-pgpcertfile \fIFILE\fR" @@ -132,8 +108,6 @@ PGP Key ring file to use. .IP "\-\-pgptrustdb \fIFILE\fR" PGP trustdb file to use. -.IP "\-\-pgpsubkey \fIHEX|auto\fR2 -PGP subkey to use. .IP "\-\-srppasswd \fIPASSWD\fR" SRP password to use. .IP "\-\-srpusername \fINAME\fR" @@ -146,14 +120,8 @@ Use DER format for certificates .IP "\-\-x509keyfile \fIFILE\fR" X.509 key file to use. -.IP "\-\-x509crlfile \fIFILE\fR" -X.509 CRL file to use. -.IP "\-\-pskusername \fINAME\fR" -PSK username to use. -.IP "\-\-pskkey \fIKEY\fR" -PSK key (in hex) to use. -.IP "\-\-opaque-prf-input \fIDATA\fR" -Use Opaque PRF Input DATA. +.IP "\-\-xml" +Print the certificate information in XML format. .SH "SEE ALSO" .BR gnutls\-cli\-debug (1), diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_compression_get.3 gnutls26-2.4.1/doc/manpages/gnutls_compression_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_compression_get.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_compression_get.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_compression_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_compression_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_compression_get \- Returns the currently used compression algorithm. .SH SYNOPSIS @@ -16,14 +16,12 @@ \fBgnutls_compression_method_t\fP value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_compression_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_compression_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_compression_get_id.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_compression_get_id.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,14 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_compression_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_compression_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_compression_get_id \- Returns the gnutls id of the specified in string algorithm .SH SYNOPSIS .B #include .sp -.BI "gnutls_compression_method_t gnutls_compression_get_id(const char * " name ");" +.BI "gnutls_compression_method_t gnutls_compression_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 -is a compression method name +.IP "const char* name" 12 .SH "DESCRIPTION" The names are compared in a case insensitive way. .SH "RETURNS" @@ -16,14 +15,12 @@ \fBGNUTLS_COMP_UNKNOWN\fP on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_compression_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_compression_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_compression_get_name.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_compression_get_name.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_compression_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_compression_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_compression_get_name \- Returns a string with the name of the specified compression algorithm .SH SYNOPSIS @@ -16,14 +16,12 @@ specified compression algorithm, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_compression_list.3 gnutls26-2.4.1/doc/manpages/gnutls_compression_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_compression_list.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_compression_list.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_compression_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_compression_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_compression_list \- Get a list of supported compression methods .SH SYNOPSIS @@ -18,14 +18,12 @@ integers indicating the available compression methods. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_compression_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_compression_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_compression_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_compression_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_compression_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_compression_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_compression_set_priority \- Sets the priority on the compression algorithms supported by gnutls. .SH SYNOPSIS @@ -26,14 +26,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_credentials_clear.3 gnutls26-2.4.1/doc/manpages/gnutls_credentials_clear.3 --- gnutls26-2.8.6/doc/manpages/gnutls_credentials_clear.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_credentials_clear.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_credentials_clear" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_credentials_clear" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_credentials_clear \- Clears all the credentials previously set .SH SYNOPSIS @@ -13,14 +13,12 @@ Clears all the credentials previously set in this session. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_credentials_set.3 gnutls26-2.4.1/doc/manpages/gnutls_credentials_set.3 --- gnutls26-2.8.6/doc/manpages/gnutls_credentials_set.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_credentials_set.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_credentials_set" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_credentials_set" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_credentials_set \- Sets the needed credentials for the specified authentication algorithm. .SH SYNOPSIS @@ -14,39 +14,31 @@ .IP "void * cred" 12 is a pointer to a structure. .SH "DESCRIPTION" -Sets the needed credentials for the specified type. Eg username, -password \- or public and private keys etc. The \fIcred\fP parameter is -a structure that depends on the specified type and on the current -session (client or server). +Sets the needed credentials for the specified type. +Eg username, password \- or public and private keys etc. +The (void* cred) parameter is a structure that depends on the +specified type and on the current session (client or server). +[ In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole cred +structure. Thus you will have to keep the structure allocated until +you call \fBgnutls_deinit()\fP. ] -In order to minimize memory usage, and share credentials between -several threads gnutls keeps a pointer to cred, and not the whole -cred structure. Thus you will have to keep the structure allocated -until you call \fBgnutls_deinit()\fP. +For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. +In case of a server it should be gnutls_anon_server_credentials_t. -For \fBGNUTLS_CRD_ANON\fP, \fIcred\fP should be -\fBgnutls_anon_client_credentials_t\fP in case of a client. In case of -a server it should be \fBgnutls_anon_server_credentials_t\fP. - -For \fBGNUTLS_CRD_SRP\fP, \fIcred\fP should be \fBgnutls_srp_client_credentials_t\fP -in case of a client, and \fBgnutls_srp_server_credentials_t\fP, in case +For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t +in case of a client, and gnutls_srp_server_credentials_t, in case of a server. -For \fBGNUTLS_CRD_CERTIFICATE\fP, \fIcred\fP should be -\fBgnutls_certificate_credentials_t\fP. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_bigint_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_bigint_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_bigint_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_bigint_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_bigint_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_bigint_register2 \- register a bigint interface -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_bigint_register2(int " priority ", int " version ", gnutls_crypto_bigint_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the interface -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_bigint_st * s" 12 -is a structure holding new interface's data -.SH "DESCRIPTION" -This function will register an interface for gnutls to operate -on big integers. Any interface registered will override -the included interface. The interface with the lowest -priority will be used by gnutls. - -Note that the bigint interface must interoperate with the public -key interface. Thus if this interface is updated the -\fBgnutls_crypto_pk_register()\fP should also be used. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience \fBgnutls_crypto_bigint_register()\fP -macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_cipher_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_cipher_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_cipher_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_cipher_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_cipher_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_cipher_register2 \- register a cipher interface -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_cipher_register2(int " priority ", int " version ", gnutls_crypto_cipher_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the cipher interface -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_cipher_st * s" 12 -is a structure holding new interface's data -.SH "DESCRIPTION" -This function will register a cipher interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_cipher_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_cipher_register.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_cipher_register.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_cipher_register.3 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_cipher_register.3 2008-06-30 22:13:07.000000000 +0100 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "gnutls_crypto_cipher_register" 3 "2.4.1" "gnutls" "gnutls" +.SH NAME +gnutls_crypto_cipher_register \- register a cipher algorithm +.SH SYNOPSIS +.B #include +.sp +.BI "int gnutls_crypto_cipher_register(gnutls_cipher_algorithm_t " algorithm ", int " priority ", gnutls_crypto_cipher_st* " s ");" +.SH ARGUMENTS +.IP "gnutls_cipher_algorithm_t algorithm" 12 +is the gnutls algorithm identifier +.IP "int priority" 12 +is the priority of the algorithm +.IP "gnutls_crypto_cipher_st* s" 12 +is a structure holding new cipher's data +.SH "DESCRIPTION" +This function will register a cipher algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. + +This function should be called before \fBgnutls_global_init()\fP. +.SH "RETURNS" +\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. +.SH "REPORTING BUGS" +Report bugs to . +.SH COPYRIGHT +Copyright \(co 2008 Free Software Foundation. +.br +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. +.SH "SEE ALSO" +The full documentation for +.B gnutls +is maintained as a Texinfo manual. If the +.B info +and +.B gnutls +programs are properly installed at your site, the command +.IP +.B info gnutls +.PP +should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_digest_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_digest_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_digest_register2.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_digest_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_digest_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_digest_register2 \- register a digest interface -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_digest_register2(int " priority ", int " version ", gnutls_crypto_digest_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the digest interface -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_digest_st * s" 12 -is a structure holding new interface's data -.SH "DESCRIPTION" -This function will register a digest interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_digest_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_digest_register.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_digest_register.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_digest_register.3 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_digest_register.3 2008-06-30 22:13:07.000000000 +0100 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "gnutls_crypto_digest_register" 3 "2.4.1" "gnutls" "gnutls" +.SH NAME +gnutls_crypto_digest_register \- register a digest algorithm +.SH SYNOPSIS +.B #include +.sp +.BI "int gnutls_crypto_digest_register(gnutls_digest_algorithm_t " algorithm ", int " priority ", gnutls_crypto_digest_st* " s ");" +.SH ARGUMENTS +.IP "gnutls_digest_algorithm_t algorithm" 12 +is the gnutls algorithm identifier +.IP "int priority" 12 +is the priority of the algorithm +.IP "gnutls_crypto_digest_st* s" 12 +is a structure holding new algorithms's data +.SH "DESCRIPTION" +This function will register a digest (hash) algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. + +This function should be called before \fBgnutls_global_init()\fP. +.SH "RETURNS" +\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. +.SH "REPORTING BUGS" +Report bugs to . +.SH COPYRIGHT +Copyright \(co 2008 Free Software Foundation. +.br +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. +.SH "SEE ALSO" +The full documentation for +.B gnutls +is maintained as a Texinfo manual. If the +.B info +and +.B gnutls +programs are properly installed at your site, the command +.IP +.B info gnutls +.PP +should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_mac_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_mac_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_mac_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_mac_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_mac_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_mac_register2 \- register a mac interface -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_mac_register2(int " priority ", int " version ", gnutls_crypto_mac_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the mac interface -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_mac_st * s" 12 -is a structure holding new interface's data -.SH "DESCRIPTION" -This function will register a mac interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_mac_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_mac_register.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_mac_register.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_mac_register.3 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_mac_register.3 2008-06-30 22:13:07.000000000 +0100 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "gnutls_crypto_mac_register" 3 "2.4.1" "gnutls" "gnutls" +.SH NAME +gnutls_crypto_mac_register \- register a MAC algorithm +.SH SYNOPSIS +.B #include +.sp +.BI "int gnutls_crypto_mac_register(gnutls_mac_algorithm_t " algorithm ", int " priority ", gnutls_crypto_mac_st* " s ");" +.SH ARGUMENTS +.IP "gnutls_mac_algorithm_t algorithm" 12 +is the gnutls algorithm identifier +.IP "int priority" 12 +is the priority of the algorithm +.IP "gnutls_crypto_mac_st* s" 12 +is a structure holding new algorithms's data +.SH "DESCRIPTION" +This function will register a MAC algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. + +This function should be called before \fBgnutls_global_init()\fP. +.SH "RETURNS" +\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. +.SH "REPORTING BUGS" +Report bugs to . +.SH COPYRIGHT +Copyright \(co 2008 Free Software Foundation. +.br +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. +.SH "SEE ALSO" +The full documentation for +.B gnutls +is maintained as a Texinfo manual. If the +.B info +and +.B gnutls +programs are properly installed at your site, the command +.IP +.B info gnutls +.PP +should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_pk_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_pk_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_pk_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_pk_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_pk_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_pk_register2 \- register a public key interface -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_pk_register2(int " priority ", int " version ", gnutls_crypto_pk_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the interface -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_pk_st * s" 12 -is a structure holding new interface's data -.SH "DESCRIPTION" -This function will register an interface for gnutls to operate -on public key operations. Any interface registered will override -the included interface. The interface with the lowest -priority will be used by gnutls. - -Note that the bigint interface must interoperate with the bigint -interface. Thus if this interface is updated the -\fBgnutls_crypto_bigint_register()\fP should also be used. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience \fBgnutls_crypto_pk_register()\fP -macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_rnd_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_rnd_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_rnd_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_rnd_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_rnd_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_rnd_register2 \- register a random generator -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_rnd_register2(int " priority ", int " version ", gnutls_crypto_rnd_st * " s ");" -.SH ARGUMENTS -.IP "int priority" 12 -is the priority of the generator -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_rnd_st * s" 12 -is a structure holding new generator's data -.SH "DESCRIPTION" -This function will register a random generator to be used by -gnutls. Any generator registered will override the included -generator and by convention kernel implemented generators have -priority of 90. The generator with the lowest priority will be -used by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_rnd_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_rnd_register.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_rnd_register.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_rnd_register.3 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_rnd_register.3 2008-06-30 22:13:07.000000000 +0100 @@ -0,0 +1,43 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "gnutls_crypto_rnd_register" 3 "2.4.1" "gnutls" "gnutls" +.SH NAME +gnutls_crypto_rnd_register \- register a random generator +.SH SYNOPSIS +.B #include +.sp +.BI "int gnutls_crypto_rnd_register(int " priority ", gnutls_crypto_rnd_st* " s ");" +.SH ARGUMENTS +.IP "int priority" 12 +is the priority of the generator +.IP "gnutls_crypto_rnd_st* s" 12 +is a structure holding new generator's data +.SH "DESCRIPTION" +This function will register a random generator to be used +by gnutls. Any generator registered will override +the included generator and by convention kernel implemented +generators have priority of 90. The generator with the lowest +priority will be used by gnutls. + +This function should be called before \fBgnutls_global_init()\fP. +.SH "RETURNS" +\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. +.SH "REPORTING BUGS" +Report bugs to . +.SH COPYRIGHT +Copyright \(co 2008 Free Software Foundation. +.br +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. +.SH "SEE ALSO" +The full documentation for +.B gnutls +is maintained as a Texinfo manual. If the +.B info +and +.B gnutls +programs are properly installed at your site, the command +.IP +.B info gnutls +.PP +should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_cipher_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_cipher_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_cipher_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_cipher_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_single_cipher_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_single_cipher_register2 \- register a cipher algorithm -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_single_cipher_register2(gnutls_cipher_algorithm_t " algorithm ", int " priority ", int " version ", gnutls_crypto_single_cipher_st * " s ");" -.SH ARGUMENTS -.IP "gnutls_cipher_algorithm_t algorithm" 12 -is the gnutls algorithm identifier -.IP "int priority" 12 -is the priority of the algorithm -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_single_cipher_st * s" 12 -is a structure holding new cipher's data -.SH "DESCRIPTION" -This function will register a cipher algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_single_cipher_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_digest_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_digest_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_digest_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_digest_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_single_digest_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_single_digest_register2 \- register a digest algorithm -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_single_digest_register2(gnutls_digest_algorithm_t " algorithm ", int " priority ", int " version ", gnutls_crypto_single_digest_st * " s ");" -.SH ARGUMENTS -.IP "gnutls_digest_algorithm_t algorithm" 12 -is the gnutls algorithm identifier -.IP "int priority" 12 -is the priority of the algorithm -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_single_digest_st * s" 12 -is a structure holding new algorithms's data -.SH "DESCRIPTION" -This function will register a digest (hash) algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_single_digest_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_mac_register2.3 gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_mac_register2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_crypto_single_mac_register2.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_crypto_single_mac_register2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_crypto_single_mac_register2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_crypto_single_mac_register2 \- register a MAC algorithm -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_crypto_single_mac_register2(gnutls_mac_algorithm_t " algorithm ", int " priority ", int " version ", gnutls_crypto_single_mac_st * " s ");" -.SH ARGUMENTS -.IP "gnutls_mac_algorithm_t algorithm" 12 -is the gnutls algorithm identifier -.IP "int priority" 12 -is the priority of the algorithm -.IP "int version" 12 -should be set to \fBGNUTLS_CRYPTO_API_VERSION\fP -.IP "gnutls_crypto_single_mac_st * s" 12 -is a structure holding new algorithms's data -.SH "DESCRIPTION" -This function will register a MAC algorithm to be used by gnutls. -Any algorithm registered will override the included algorithms and -by convention kernel implemented algorithms have priority of 90. -The algorithm with the lowest priority will be used by gnutls. - -This function should be called before \fBgnutls_global_init()\fP. - -For simplicity you can use the convenience -\fBgnutls_crypto_single_mac_register()\fP macro. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_check_entry.3 gnutls26-2.4.1/doc/manpages/gnutls_db_check_entry.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_check_entry.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_check_entry.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_check_entry" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_check_entry" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_check_entry \- check if the given db entry has expired .SH SYNOPSIS @@ -20,14 +20,12 @@ expired or 0 otherwise. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_get_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_db_get_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_get_ptr.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_get_ptr.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_get_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_get_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_get_ptr \- Returns the pointer which is sent to db functions .SH SYNOPSIS @@ -16,14 +16,12 @@ delete functions, as the first argument. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_remove_session.3 gnutls26-2.4.1/doc/manpages/gnutls_db_remove_session.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_remove_session.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_remove_session.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_remove_session" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_remove_session" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_remove_session \- remove the current session data from the database .SH SYNOPSIS @@ -19,14 +19,12 @@ sessions. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_set_cache_expiration.3 gnutls26-2.4.1/doc/manpages/gnutls_db_set_cache_expiration.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_set_cache_expiration.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_set_cache_expiration.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_set_cache_expiration" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_set_cache_expiration" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_set_cache_expiration \- Set the expiration time for resumed sessions. .SH SYNOPSIS @@ -16,14 +16,12 @@ (one hour) at the time writing this. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_set_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_db_set_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_set_ptr.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_set_ptr.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_set_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_set_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_set_ptr \- Set a pointer to be sent to db functions .SH SYNOPSIS @@ -16,14 +16,12 @@ delete functions, as the first argument. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_set_remove_function.3 gnutls26-2.4.1/doc/manpages/gnutls_db_set_remove_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_set_remove_function.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_set_remove_function.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_set_remove_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_set_remove_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_set_remove_function \- Set the function that will be used to remove data .SH SYNOPSIS @@ -19,14 +19,12 @@ \fBgnutls_db_set_ptr()\fP has been called. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_set_retrieve_function.3 gnutls26-2.4.1/doc/manpages/gnutls_db_set_retrieve_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_set_retrieve_function.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_set_retrieve_function.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_set_retrieve_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_set_retrieve_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_set_retrieve_function \- Set the function that will be used to get data .SH SYNOPSIS @@ -24,14 +24,12 @@ \fBgnutls_db_set_ptr()\fP has been called. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_db_set_store_function.3 gnutls26-2.4.1/doc/manpages/gnutls_db_set_store_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_db_set_store_function.3 2010-03-15 10:32:33.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_db_set_store_function.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_db_set_store_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_db_set_store_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_db_set_store_function \- Set the function that will be used to put data .SH SYNOPSIS @@ -19,14 +19,12 @@ \fBgnutls_db_set_ptr()\fP has been called. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_deinit.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_deinit.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_deinit \- clear all buffers associated with a session .SH SYNOPSIS @@ -15,14 +15,12 @@ database if the session was terminated abnormally. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_get_group.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_get_group.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_get_group.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_get_group.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_get_group" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_get_group" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_get_group \- return the group of the DH authentication .SH SYNOPSIS @@ -15,23 +15,21 @@ will hold the prime. .SH "DESCRIPTION" This function will return the group parameters used in the last -Diffie\-Hellman authentication with the peer. These are the prime +Diffie Hellman authentication with the peer. These are the prime and the generator used. This function should be used for both -anonymous and ephemeral Diffie\-Hellman. The output parameters must +anonymous and ephemeral diffie Hellman. The output parameters must be freed with \fBgnutls_free()\fP. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP (0) is returned, otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_get_peers_public_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_get_peers_public_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_get_peers_public_bits.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_get_peers_public_bits.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_get_peers_public_bits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_get_peers_public_bits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_get_peers_public_bits \- return the bits used in DH authentication .SH SYNOPSIS @@ -11,20 +11,19 @@ is a gnutls session .SH "DESCRIPTION" Get the Diffie\-Hellman public key bit size. Can be used for both -anonymous and ephemeral Diffie\-Hellman. +anonymous and ephemeral diffie Hellman. .SH "RETURNS" -the public key bit size used in the last Diffie\-Hellman -authentication with the peer, or a negative value in case of error. +the public key bit size used in the last Diffie Hellman +authentication with the peer, or a negative value in case of +error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_get_prime_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_get_prime_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_get_prime_bits.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_get_prime_bits.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_get_prime_bits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_get_prime_bits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_get_prime_bits \- return the bits used in DH authentication .SH SYNOPSIS @@ -11,24 +11,19 @@ is a gnutls session .SH "DESCRIPTION" This function will return the bits of the prime used in the last -Diffie\-Hellman authentication with the peer. Should be used for -both anonymous and ephemeral Diffie\-Hellman. Note that some -ciphers, like RSA and DSA without DHE, does not use a -Diffie\-Hellman exchange, and then this function will return 0. +Diffie Hellman authentication with the peer. Should be used for +both anonymous and ephemeral diffie Hellman. .SH "RETURNS" -The Diffie\-Hellman bit strength is returned, or 0 if no -Diffie\-Hellman exchange was done, or a negative error code on -failure. +On success, \fBGNUTLS_E_SUCCESS\fP (0) is returned, otherwise +an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_get_pubkey.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_get_pubkey.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_get_pubkey.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_get_pubkey.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_get_pubkey" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_get_pubkey" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_get_pubkey \- return the peer's public key used in DH authentication .SH SYNOPSIS @@ -13,22 +13,20 @@ will hold the public key. .SH "DESCRIPTION" This function will return the peer's public key used in the last -Diffie\-Hellman authentication. This function should be used for -both anonymous and ephemeral Diffie\-Hellman. The output parameters -must be freed with \fBgnutls_free()\fP. +Diffie Hellman authentication. This function should be used for +both anonymous and ephemeral diffie Hellman. The output +parameters must be freed with \fBgnutls_free()\fP. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP (0) is returned, otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_get_secret_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_get_secret_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_get_secret_bits.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_get_secret_bits.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_get_secret_bits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_get_secret_bits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_get_secret_bits \- return the bits used in DH authentication .SH SYNOPSIS @@ -10,22 +10,20 @@ .IP "gnutls_session_t session" 12 is a gnutls session .SH "DESCRIPTION" -This function will return the bits used in the last Diffie\-Hellman +This function will return the bits used in the last Diffie Hellman authentication with the peer. Should be used for both anonymous -and ephemeral Diffie\-Hellman. +and ephemeral diffie Hellman. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP (0) is returned, otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_cpy.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_cpy.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_cpy.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_cpy.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_cpy" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_cpy" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_cpy \- copy a DH parameters structure .SH SYNOPSIS @@ -14,19 +14,14 @@ .SH "DESCRIPTION" This function will copy the DH parameters structure from source to destination. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_deinit.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_deinit.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_deinit \- deinitialize the DH parameters .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize the DH parameters structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_export_pkcs3.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_export_pkcs3.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_export_pkcs3.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_export_pkcs3.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_export_pkcs3" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_export_pkcs3" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_export_pkcs3 \- export DH params to a pkcs3 structure .SH SYNOPSIS @@ -23,19 +23,17 @@ If the structure is PEM encoded, it will have a header of "BEGIN DH PARAMETERS". -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. + +In case of failure a negative value will be returned, and +0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_export_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_export_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_export_raw.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_export_raw.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_export_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_export_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_export_raw \- export the raw DH parameters .SH SYNOPSIS @@ -16,23 +16,17 @@ .IP "unsigned int * bits" 12 if non null will hold is the prime's number of bits .SH "DESCRIPTION" -This function will export the pair of prime and generator for use -in the Diffie\-Hellman key exchange. The new parameters will be -allocated using \fBgnutls_malloc()\fP and will be stored in the -appropriate datum. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +This function will export the pair of prime and generator for use in +the Diffie\-Hellman key exchange. The new parameters will be allocated using +\fBgnutls_malloc()\fP and will be stored in the appropriate datum. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_generate2.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_generate2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_generate2.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_generate2.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_generate2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_generate2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_generate2 \- generate new DH parameters .SH SYNOPSIS @@ -12,28 +12,23 @@ .IP "unsigned int bits" 12 is the prime's number of bits .SH "DESCRIPTION" -This function will generate a new pair of prime and generator for use in +This function will generate a new pair of prime and generator for use in the Diffie\-Hellman key exchange. The new parameters will be allocated using \fBgnutls_malloc()\fP and will be stored in the appropriate datum. -This function is normally slow. +This function is normally slow. Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of no use to call this in client side. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_import_pkcs3.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_import_pkcs3.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_import_pkcs3.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_import_pkcs3.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_import_pkcs3" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_import_pkcs3" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_import_pkcs3 \- import DH params from a pkcs3 structure .SH SYNOPSIS @@ -19,19 +19,17 @@ If the structure is PEM encoded, it should have a header of "BEGIN DH PARAMETERS". -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. + +In case of failure a negative value will be returned, and +0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_import_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_import_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_import_raw.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_import_raw.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_import_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_import_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_import_raw \- import DH parameters .SH SYNOPSIS @@ -14,22 +14,17 @@ .IP "const gnutls_datum_t * generator" 12 holds the new generator .SH "DESCRIPTION" -This function will replace the pair of prime and generator for use -in the Diffie\-Hellman key exchange. The new parameters should be -stored in the appropriate gnutls_datum. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +This function will replace the pair of prime and generator for use in +the Diffie\-Hellman key exchange. The new parameters should be stored in the +appropriate gnutls_datum. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_params_init.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_params_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_params_init.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_params_init.3 2008-06-30 22:13:14.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_params_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_params_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_params_init \- initialize the DH parameters .SH SYNOPSIS @@ -11,19 +11,14 @@ Is a structure that will hold the prime numbers .SH "DESCRIPTION" This function will initialize the DH parameters structure. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_dh_set_prime_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_dh_set_prime_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_dh_set_prime_bits.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_dh_set_prime_bits.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_dh_set_prime_bits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_dh_set_prime_bits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_dh_set_prime_bits \- Used to set the bits for a DH ciphersuite .SH SYNOPSIS @@ -12,7 +12,7 @@ .IP "unsigned int bits" 12 is the number of bits .SH "DESCRIPTION" -This function sets the number of bits, for use in an Diffie\-Hellman +This function sets the number of bits, for use in an Diffie Hellman key exchange. This is used both in DH ephemeral and DH anonymous cipher suites. This will set the minimum size of the prime that will be used for the handshake. @@ -20,18 +20,14 @@ In the client side it sets the minimum accepted number of bits. If a server sends a prime with less bits than that \fBGNUTLS_E_DH_PRIME_UNACCEPTABLE\fP will be returned by the handshake. - -This function has no effect in server side. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_error_is_fatal.3 gnutls26-2.4.1/doc/manpages/gnutls_error_is_fatal.3 --- gnutls26-2.8.6/doc/manpages/gnutls_error_is_fatal.3 2010-03-15 10:32:34.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_error_is_fatal.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_error_is_fatal" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_error_is_fatal" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_error_is_fatal \- Returns non-zero in case of a fatal error .SH SYNOPSIS @@ -8,29 +8,26 @@ .BI "int gnutls_error_is_fatal(int " error ");" .SH ARGUMENTS .IP "int error" 12 -is a GnuTLS error code, a negative value +is an error returned by a gnutls function. Error should be a negative value. .SH "DESCRIPTION" -If a GnuTLS function returns a negative value you may feed that -value to this function to see if the error condition is fatal. +If a function returns a negative value you may feed that value +to this function to see if it is fatal. Returns 1 for a fatal +error 0 otherwise. However you may want to check the +error code manually, since some non\-fatal errors to the protocol +may be fatal for you (your program). -Note that you may want to check the error code manually, since some -non\-fatal errors to the protocol may be fatal for you program. +This is only useful if you are dealing with errors from the +record layer or the handshake layer. -This function is only useful if you are dealing with errors from -the record layer or the handshake layer. -.SH "RETURNS" -1 if the error code is fatal, for positive \fIerror\fP values, -0 is returned. For unknown \fIerror\fP values, \-1 is returned. +For positive \fIerror\fP values, 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_error_to_alert.3 gnutls26-2.4.1/doc/manpages/gnutls_error_to_alert.3 --- gnutls26-2.8.6/doc/manpages/gnutls_error_to_alert.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_error_to_alert.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_error_to_alert" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_error_to_alert" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_error_to_alert \- return an alert code based on the given error code .SH SYNOPSIS @@ -24,14 +24,12 @@ the alert code to use for a particular error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_extra_check_version.3 gnutls26-2.4.1/doc/manpages/gnutls_extra_check_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_extra_check_version.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_extra_check_version.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,34 +1,27 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_extra_check_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_extra_check_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_extra_check_version \- checks the libgnutls-extra version +gnutls_extra_check_version \- This function checks the library's version .SH SYNOPSIS .B #include .sp .BI "const char * gnutls_extra_check_version(const char * " req_version ");" .SH ARGUMENTS .IP "const char * req_version" 12 -version string to compare with, or \fBNULL\fP. +the version to check .SH "DESCRIPTION" -Check GnuTLS Extra Library version. - -See \fBGNUTLS_EXTRA_VERSION\fP for a suitable \fIreq_version\fP string. -.SH "RETURN VALUE" -Check that the version of the library is at -minimum the one given as a string in \fIreq_version\fP and return the -actual version string of the library; return \fBNULL\fP if the -condition is not met. If \fBNULL\fP is passed to this function no -check is done and only the version string is returned. +Check that the version of the gnutls\-extra library is at minimum +the requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ext_register.3 gnutls26-2.4.1/doc/manpages/gnutls_ext_register.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ext_register.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ext_register.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ext_register" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_ext_register \- Register a handler for a TLS extension -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_ext_register(int " type ", const char * " name ", gnutls_ext_parse_type_t " parse_type ", gnutls_ext_recv_func " recv_func ", gnutls_ext_send_func " send_func ");" -.SH ARGUMENTS -.IP "int type" 12 -the 16\-bit integer referring to the extension type -.IP "const char * name" 12 -human printable name of the extension used for debugging -.IP "gnutls_ext_parse_type_t parse_type" 12 -either \fBGNUTLS_EXT_TLS\fP or \fBGNUTLS_EXT_APPLICATION\fP. -.IP "gnutls_ext_recv_func recv_func" 12 -a function to receive extension data -.IP "gnutls_ext_send_func send_func" 12 -a function to send extension data -.SH "DESCRIPTION" -This function is used to register a new TLS extension handler. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an error code. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_fingerprint.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_fingerprint.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_fingerprint \- calculate the fingerprint of the given data .SH SYNOPSIS @@ -30,14 +30,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_free.3 gnutls26-2.4.1/doc/manpages/gnutls_free.3 --- gnutls26-2.8.6/doc/manpages/gnutls_free.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_free.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_free" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_free" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_free \- Returns a free() like function .SH SYNOPSIS @@ -14,14 +14,12 @@ The deallocation function used is the one set by \fBgnutls_global_set_mem_functions()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_global_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_deinit.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_deinit.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_global_deinit \- deinitialize the global data .SH SYNOPSIS @@ -17,14 +17,12 @@ \fBgnutls_global_init()\fP for more information. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_init.3 gnutls26-2.4.1/doc/manpages/gnutls_global_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_init.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_init.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_global_init \- initialize the global data to defaults. .SH SYNOPSIS @@ -40,14 +40,12 @@ otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_init_extra.3 gnutls26-2.4.1/doc/manpages/gnutls_global_init_extra.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_init_extra.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_init_extra.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_init_extra" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_init_extra" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_global_init_extra \- initializes the global state of gnutls-extra +gnutls_global_init_extra \- This function initializes the global state of gnutls-extra .SH SYNOPSIS .B #include .sp @@ -11,27 +11,19 @@ .SH "DESCRIPTION" This function initializes the global state of gnutls\-extra library -to defaults. +to defaults. Returns zero on success. Note that \fBgnutls_global_init()\fP has to be called before this function. If this function is not called then the gnutls\-extra library will not be usable. - -This function is not thread safe, see the discussion for -\fBgnutls_global_init()\fP on how to deal with that. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_set_log_function.3 gnutls26-2.4.1/doc/manpages/gnutls_global_set_log_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_set_log_function.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_set_log_function.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_set_log_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_set_log_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_global_set_log_function \- set the logging function .SH SYNOPSIS @@ -10,23 +10,21 @@ .IP "gnutls_log_func log_func" 12 it's a log function .SH "DESCRIPTION" -This is the function where you set the logging function gnutls is -going to use. This function only accepts a character array. -Normally you may not use this function since it is only used for -debugging purposes. +This is the function where you set the logging function gnutls +is going to use. This function only accepts a character array. +Normally you may not use this function since it is only used +for debugging purposes. -gnutls_log_func is of the form, +gnutls_log_func is of the form, void (*gnutls_log_func)( int level, const char*); .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_set_log_level.3 gnutls26-2.4.1/doc/manpages/gnutls_global_set_log_level.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_set_log_level.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_set_log_level.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_set_log_level" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_set_log_level" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_global_set_log_level \- set the logging level .SH SYNOPSIS @@ -8,24 +8,22 @@ .BI "void gnutls_global_set_log_level(int " level ");" .SH ARGUMENTS .IP "int level" 12 -it's an integer from 0 to 9. +it's an integer from 0 to 9. .SH "DESCRIPTION" -This is the function that allows you to set the log level. The -level is an integer between 0 and 9. Higher values mean more -verbosity. The default value is 0. Larger values should only be -used with care, since they may reveal sensitive information. +This is the function that allows you to set the log level. +The level is an integer between 0 and 9. Higher values mean +more verbosity. The default value is 0. Larger values should +only be used with care, since they may reveal sensitive information. Use a log level over 10 to enable all debugging options. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_global_set_mem_functions.3 gnutls26-2.4.1/doc/manpages/gnutls_global_set_mem_functions.3 --- gnutls26-2.8.6/doc/manpages/gnutls_global_set_mem_functions.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_global_set_mem_functions.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,42 +1,38 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_global_set_mem_functions" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_global_set_mem_functions" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_global_set_mem_functions \- set the memory allocation functions .SH SYNOPSIS .B #include .sp -.BI "void gnutls_global_set_mem_functions(gnutls_alloc_function " alloc_func ", gnutls_alloc_function " secure_alloc_func ", gnutls_is_secure_function " is_secure_func ", gnutls_realloc_function " realloc_func ", gnutls_free_function " free_func ");" +.BI "void gnutls_global_set_mem_functions(gnutls_alloc_function " alloc_func ", gnutls_alloc_function " secure_alloc_func ", gnutls_is_secure_function " is_secure_func ", gnutls_realloc_function " realloc_func ", gnutls_free_function " free_func ");" .SH ARGUMENTS .IP "gnutls_alloc_function alloc_func" 12 it's the default memory allocation function. Like \fBmalloc()\fP. -.IP "gnutls_alloc_function secure_alloc_func" 12 +.IP "gnutls_alloc_function secure_alloc_func" 12 This is the memory allocation function that will be used for sensitive data. -.IP "gnutls_is_secure_function is_secure_func" 12 +.IP "gnutls_is_secure_function is_secure_func" 12 a function that returns 0 if the memory given is not secure. May be NULL. .IP "gnutls_realloc_function realloc_func" 12 A realloc function .IP "gnutls_free_function free_func" 12 The function that frees allocated data. Must accept a NULL pointer. .SH "DESCRIPTION" -This is the function were you set the memory allocation functions -gnutls is going to use. By default the libc's allocation functions -(\fBmalloc()\fP, \fBfree()\fP), are used by gnutls, to allocate both sensitive -and not sensitive data. This function is provided to set the -memory allocation functions to something other than the defaults -(ie the gcrypt allocation functions). +This is the function were you set the memory allocation functions gnutls +is going to use. By default the libc's allocation functions (\fBmalloc()\fP, \fBfree()\fP), +are used by gnutls, to allocate both sensitive and not sensitive data. +This function is provided to set the memory allocation functions to +something other than the defaults (ie the gcrypt allocation functions). This function must be called before \fBgnutls_global_init()\fP is called. -This function is not thread safe. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake \- This is the main function in the handshake protocol. .SH SYNOPSIS @@ -33,14 +33,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake_get_last_in.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake_get_last_in.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake_get_last_in.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake_get_last_in.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake_get_last_in" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake_get_last_in" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake_get_last_in \- Returns the last handshake message received. .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBgnutls_handshake_description_t\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake_get_last_out.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake_get_last_out.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake_get_last_out.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake_get_last_out.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake_get_last_out" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake_get_last_out" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake_get_last_out \- Returns the last handshake message sent. .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBgnutls_handshake_description_t\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_max_packet_length.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_max_packet_length.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_max_packet_length.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_max_packet_length.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake_set_max_packet_length" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake_set_max_packet_length" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake_set_max_packet_length \- set the maximum size of the handshake .SH SYNOPSIS @@ -22,14 +22,12 @@ limit Denial of Service attacks. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_post_client_hello_function.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_post_client_hello_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_post_client_hello_function.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_post_client_hello_function.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake_set_post_client_hello_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake_set_post_client_hello_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake_set_post_client_hello_function \- set callback to be called after the client hello is received .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "void gnutls_handshake_set_post_client_hello_function(gnutls_session_t " session ", gnutls_handshake_post_client_hello_func " func ");" .SH ARGUMENTS .IP "gnutls_session_t session" 12 -is a \fBgnutls_session_t\fP structure. .IP "gnutls_handshake_post_client_hello_func func" 12 is the function to be called .SH "DESCRIPTION" @@ -29,14 +28,12 @@ there is a man\-in\-the\-middle attack being performed. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_private_extensions.3 gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_private_extensions.3 --- gnutls26-2.8.6/doc/manpages/gnutls_handshake_set_private_extensions.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_handshake_set_private_extensions.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_handshake_set_private_extensions" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_handshake_set_private_extensions" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_handshake_set_private_extensions \- Used to enable the private cipher suites .SH SYNOPSIS @@ -24,14 +24,12 @@ gnutls servers and clients may cause interoperability problems. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_hex2bin.3 gnutls26-2.4.1/doc/manpages/gnutls_hex2bin.3 --- gnutls26-2.8.6/doc/manpages/gnutls_hex2bin.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_hex2bin.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_hex2bin" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_hex2bin" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_hex2bin \- convert hex string into binary buffer. .SH SYNOPSIS @@ -24,14 +24,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_hex_decode.3 gnutls26-2.4.1/doc/manpages/gnutls_hex_decode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_hex_decode.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_hex_decode.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_hex_decode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_hex_decode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_hex_decode \- decode hex encoded data .SH SYNOPSIS @@ -23,14 +23,12 @@ long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_hex_encode.3 gnutls26-2.4.1/doc/manpages/gnutls_hex_encode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_hex_encode.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_hex_encode.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_hex_encode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_hex_encode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_hex_encode \- convert raw data to hex encoded .SH SYNOPSIS @@ -21,14 +21,12 @@ long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_allocate_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_allocate_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_allocate_client_credentials.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_allocate_client_credentials.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_allocate_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_allocate_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_allocate_client_credentials \- Used to allocate an gnutls_ia_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_ia_allocate_client_credentials(gnutls_ia_client_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_ia_client_credentials_t * sc" 12 -is a pointer to a \fBgnutls_ia_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_ia_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -22,14 +22,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_allocate_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_allocate_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_allocate_server_credentials.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_allocate_server_credentials.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_allocate_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_allocate_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_allocate_server_credentials \- Used to allocate an gnutls_ia_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_ia_allocate_server_credentials(gnutls_ia_server_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_ia_server_credentials_t * sc" 12 -is a pointer to a \fBgnutls_ia_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_ia_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -22,14 +22,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_enable.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_enable.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_enable.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_enable.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_enable" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_enable" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_enable \- Indicate willingness for TLS/IA application phases .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .IP "int allow_skip_on_resume" 12 -non\-zero if local party allows to skip the +non-zero if local party allows to skip the TLS/IA application phases for a resumed session. .SH "DESCRIPTION" Specify whether we must advertise support for the TLS/IA extension @@ -33,14 +33,12 @@ functions. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_endphase_send.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_endphase_send.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_endphase_send.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_endphase_send.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_endphase_send" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_endphase_send" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_endphase_send \- API function .SH SYNOPSIS @@ -23,14 +23,12 @@ Return 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_extract_inner_secret.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_extract_inner_secret.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_extract_inner_secret.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_extract_inner_secret.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_extract_inner_secret" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_extract_inner_secret" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_extract_inner_secret \- API function .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .IP "char * buffer" 12 -pre\-allocated buffer to hold 48 bytes of inner secret. +pre-allocated buffer to hold 48 bytes of inner secret. .SH "DESCRIPTION" Copy the 48 bytes large inner secret into the specified buffer @@ -24,14 +24,12 @@ key from the inner secret. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_free_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_free_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_free_client_credentials.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_free_client_credentials.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_free_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_free_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_free_client_credentials \- Used to free an allocated #gnutls_ia_client_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_ia_free_client_credentials(gnutls_ia_client_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_ia_client_credentials_t sc" 12 -is a \fBgnutls_ia_client_credentials_t\fP structure. +is an \fBgnutls_ia_client_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_free_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_free_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_free_server_credentials.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_free_server_credentials.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_free_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_free_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_free_server_credentials \- Used to free an allocated #gnutls_ia_server_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_ia_free_server_credentials(gnutls_ia_server_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_ia_server_credentials_t sc" 12 -is a \fBgnutls_ia_server_credentials_t\fP structure. +is an \fBgnutls_ia_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_generate_challenge.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_generate_challenge.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_generate_challenge.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_generate_challenge.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_generate_challenge" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_generate_challenge" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_generate_challenge \- API function .SH SYNOPSIS @@ -12,7 +12,7 @@ .IP "size_t buffer_size" 12 size of output buffer. .IP "char * buffer" 12 -pre\-allocated buffer to contain \fIbuffer_size\fP bytes of output. +pre-allocated buffer to contain \fIbuffer_size\fP bytes of output. .SH "DESCRIPTION" Generate an application challenge that the client cannot control or predict, based on the TLS/IA inner secret. @@ -20,14 +20,12 @@ Returns 0 on success, or an negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_get_client_avp_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_get_client_avp_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_get_client_avp_ptr.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_get_client_avp_ptr.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_get_client_avp_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_get_client_avp_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_get_client_avp_ptr \- Returns the pointer which is sent to TLS/IA callback .SH SYNOPSIS @@ -16,14 +16,12 @@ The client callback data pointer. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_get_server_avp_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_get_server_avp_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_get_server_avp_ptr.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_get_server_avp_ptr.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_get_server_avp_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_get_server_avp_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_get_server_avp_ptr \- Returns the pointer which is sent to TLS/IA callback .SH SYNOPSIS @@ -16,14 +16,12 @@ The server callback data pointer. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_handshake.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_handshake.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_handshake.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_handshake.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_handshake" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_handshake" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_handshake \- API function .SH SYNOPSIS @@ -12,19 +12,16 @@ .SH "DESCRIPTION" Perform a TLS/IA handshake. This should be called after \fBgnutls_handshake()\fP iff \fBgnutls_ia_handshake_p()\fP. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. + +Return 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_handshake_p.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_handshake_p.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_handshake_p.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_handshake_p.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_handshake_p" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_handshake_p" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_handshake_p \- API function .SH SYNOPSIS @@ -17,14 +17,12 @@ otherwise. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_permute_inner_secret.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_permute_inner_secret.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_permute_inner_secret.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_permute_inner_secret.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_permute_inner_secret" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_permute_inner_secret" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_permute_inner_secret \- API function .SH SYNOPSIS @@ -23,14 +23,12 @@ Return zero on success, or a negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_recv.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_recv.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_recv.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_recv.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_recv" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_recv" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_recv \- read data from the TLS/IA protocol .SH SYNOPSIS @@ -15,7 +15,7 @@ the number of requested bytes, must be >= 12. .SH "DESCRIPTION" Receive TLS/IA data. This function has the similar semantics with -\fBrecv()\fP. The only difference is that it accepts a GnuTLS session, +\fBrecv()\fP. The only difference is that is accepts a GNUTLS session, and uses different error codes. If the server attempt to finish an application phase, this function @@ -37,14 +37,12 @@ application phase finished message has been sent by the server. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_send.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_send.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_send.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_send.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_send" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_send" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_send \- API function .SH SYNOPSIS @@ -15,8 +15,8 @@ is the length of the data .SH "DESCRIPTION" Send TLS/IA application payload data. This function has the -similar semantics with \fBsend()\fP. The only difference is that it -accepts a GnuTLS session, and uses different error codes. +similar semantics with \fBsend()\fP. The only difference is that is +accepts a GNUTLS session, and uses different error codes. The TLS/IA protocol is synchronous, so you cannot send more than one packet at a time. The client always send the first packet. @@ -36,14 +36,12 @@ The number of bytes sent, or a negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_set_client_avp_function.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_set_client_avp_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_set_client_avp_function.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_set_client_avp_function.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_set_client_avp_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_set_client_avp_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_set_client_avp_function \- Used to set a AVP callback .SH SYNOPSIS @@ -41,14 +41,12 @@ TLS/IA handshake function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_set_client_avp_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_set_client_avp_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_set_client_avp_ptr.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_set_client_avp_ptr.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_set_client_avp_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_set_client_avp_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_set_client_avp_ptr \- Sets a pointer to be sent to TLS/IA callback .SH SYNOPSIS @@ -16,14 +16,12 @@ function as the first argument. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_set_server_avp_function.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_set_server_avp_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_set_server_avp_function.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_set_server_avp_function.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_set_server_avp_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_set_server_avp_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_set_server_avp_function \- Used to set a AVP callback .SH SYNOPSIS @@ -30,7 +30,7 @@ client, and to get a new AVP to send to the client. It can also be used to instruct the TLS/IA handshake to do go into the Intermediate or Final phases. It return a negative error code, or -a \fBgnutls_ia_apptype_t\fP message type. +an \fBgnutls_ia_apptype_t\fP message type. The callback may invoke \fBgnutls_ia_permute_inner_secret()\fP to mix any generated session keys with the TLS/IA inner secret. @@ -48,14 +48,12 @@ TLS/IA handshake function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_set_server_avp_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_set_server_avp_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_set_server_avp_ptr.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_set_server_avp_ptr.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_set_server_avp_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_set_server_avp_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_set_server_avp_ptr \- Sets a pointer to be sent to TLS/IA callback .SH SYNOPSIS @@ -16,14 +16,12 @@ function as the first argument. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_ia_verify_endphase.3 gnutls26-2.4.1/doc/manpages/gnutls_ia_verify_endphase.3 --- gnutls26-2.8.6/doc/manpages/gnutls_ia_verify_endphase.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_ia_verify_endphase.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_ia_verify_endphase" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_ia_verify_endphase" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_ia_verify_endphase \- API function .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .IP "const char * checksum" 12 -12\-byte checksum data, received from \fBgnutls_ia_recv()\fP. +12-byte checksum data, received from \fBgnutls_ia_recv()\fP. .SH "DESCRIPTION" Verify TLS/IA end phase checksum data. If verification fails, the \fBGNUTLS_A_INNER_APPLICATION_VERIFICATION\fP alert is sent to the other @@ -25,14 +25,12 @@ \fBGNUTLS_E_IA_VERIFY_FAILED\fP is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_init.3 gnutls26-2.4.1/doc/manpages/gnutls_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_init.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_init.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_init \- initialize the session to null (null encryption etc...). .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_kx_get.3 gnutls26-2.4.1/doc/manpages/gnutls_kx_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_kx_get.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_kx_get.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_kx_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_kx_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_kx_get \- Returns the key exchange algorithm. .SH SYNOPSIS @@ -16,14 +16,12 @@ \fBgnutls_kx_algorithm_t\fP value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_kx_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_kx_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_kx_get_id.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_kx_get_id.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,14 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_kx_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_kx_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_kx_get_id \- Returns the gnutls id of the specified in string algorithm .SH SYNOPSIS .B #include .sp -.BI "gnutls_kx_algorithm_t gnutls_kx_get_id(const char * " name ");" +.BI "gnutls_kx_algorithm_t gnutls_kx_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 -is a KX name +.IP "const char* name" 12 .SH "DESCRIPTION" Convert a string to a \fBgnutls_kx_algorithm_t\fP value. The names are compared in a case insensitive way. @@ -17,14 +16,12 @@ on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_kx_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_kx_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_kx_get_name.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_kx_get_name.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_kx_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_kx_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_kx_get_name \- Returns a string with the name of the specified key exchange algorithm .SH SYNOPSIS @@ -16,14 +16,12 @@ specified key exchange algorithm, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_kx_list.3 gnutls26-2.4.1/doc/manpages/gnutls_kx_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_kx_list.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_kx_list.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_kx_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_kx_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_kx_list \- Get a list of supported key exchange methods .SH SYNOPSIS @@ -16,14 +16,12 @@ indicating the available key exchange algorithms. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_kx_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_kx_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_kx_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_kx_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_kx_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_kx_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_kx_set_priority \- Sets the priority on the key exchange algorithms supported by gnutls. .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_get.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_get.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_get.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_get \- Returns the currently used mac algorithm. .SH SYNOPSIS @@ -16,14 +16,12 @@ \fBgnutls_mac_algorithm_t\fP value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_get_id.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_get_id.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,30 +1,27 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_get_id \- Returns the gnutls id of the specified in string algorithm .SH SYNOPSIS .B #include .sp -.BI "gnutls_mac_algorithm_t gnutls_mac_get_id(const char * " name ");" +.BI "gnutls_mac_algorithm_t gnutls_mac_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 -is a MAC algorithm name +.IP "const char* name" 12 .SH "DESCRIPTION" Convert a string to a \fBgnutls_mac_algorithm_t\fP value. The names are compared in a case insensitive way. .SH "RETURNS" -a \fBgnutls_mac_algorithm_t\fP id of the specified MAC -algorithm string, or \fBGNUTLS_MAC_UNKNOWN\fP on failures. +an \fBgnutls_mac_algorithm_tid\fP of the specified in a string +MAC algorithm, or \fBGNUTLS_MAC_UNKNOWN\fP on failures. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_get_key_size.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_get_key_size.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_get_key_size.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_get_key_size.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_get_key_size" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_get_key_size" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_get_key_size \- Returns the length of the MAC's key size .SH SYNOPSIS @@ -16,14 +16,12 @@ given MAC algorithm is invalid. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_get_name.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_get_name.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_get_name \- Returns a string with the name of the specified mac algorithm .SH SYNOPSIS @@ -16,14 +16,12 @@ algorithm, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_list.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_list.3 2010-03-15 10:32:26.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_list.3 2008-06-30 22:13:08.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_list \- Get a list of supported MAC algorithms .SH SYNOPSIS @@ -19,14 +19,12 @@ integers indicating the available MACs. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_mac_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_mac_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_mac_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_mac_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_mac_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_mac_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_mac_set_priority \- Sets the priority on the mac algorithms supported by gnutls. .SH SYNOPSIS @@ -22,14 +22,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_malloc.3 gnutls26-2.4.1/doc/manpages/gnutls_malloc.3 --- gnutls26-2.8.6/doc/manpages/gnutls_malloc.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_malloc.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_malloc" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_malloc" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_malloc \- Allocates and returns data .SH SYNOPSIS @@ -17,14 +17,12 @@ The allocation function used is the one set by \fBgnutls_global_set_mem_functions()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_check_hostname.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_check_hostname.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_check_hostname.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_check_hostname.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_check_hostname" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_check_hostname" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_check_hostname \- compare hostname with the key's hostname .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_openpgp_crt_check_hostname(gnutls_openpgp_crt_t " key ", const char * " hostname ");" .SH ARGUMENTS .IP "gnutls_openpgp_crt_t key" 12 -should contain a \fBgnutls_openpgp_crt_t\fP structure +should contain an \fBgnutls_openpgp_crt_t\fP structure .IP "const char * hostname" 12 A null terminated string that contains a DNS name .SH "DESCRIPTION" @@ -19,14 +19,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_deinit.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_deinit.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_deinit \- deinitialize memory used by a #gnutls_openpgp_crt_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a key structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_export.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_export.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_export.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_export \- export a RAW or BASE64 encoded key .SH SYNOPSIS @@ -24,14 +24,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_auth_subkey" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_auth_subkey" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_auth_subkey \- Gets the keyID of an authentication subkey .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t " crt ", gnutls_openpgp_keyid_t " keyid ", unsigned int " flag ");" .SH ARGUMENTS .IP "gnutls_openpgp_crt_t crt" 12 -the structure that contains the OpenPGP public key. .IP "gnutls_openpgp_keyid_t keyid" 12 the struct to save the keyid. .IP "unsigned int flag" 12 @@ -18,22 +17,16 @@ for authentication. If flag is non zero and no authentication subkey exists, then a valid subkey will be returned even if it is not marked for authentication. -Returns the 64\-bit keyID of the first valid OpenPGP subkey marked -for authentication. If flag is non zero and no authentication -subkey exists, then a valid subkey will be returned even if it is -not marked for authentication. .SH "RETURNS" \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_creation_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_creation_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_creation_time.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_creation_time.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_creation_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_creation_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_creation_time \- Extract the timestamp .SH SYNOPSIS @@ -15,14 +15,12 @@ the timestamp when the OpenPGP key was created. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_expiration_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_expiration_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_expiration_time.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_expiration_time.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_expiration_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_expiration_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_expiration_time \- Extract the expire date .SH SYNOPSIS @@ -16,14 +16,12 @@ the time when the OpenPGP key expires. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_fingerprint.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_fingerprint.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_fingerprint \- Gets the fingerprint .SH SYNOPSIS @@ -20,14 +20,12 @@ On success, 0 is returned. Otherwise, an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_key_id.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_key_id.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_key_id \- Gets the keyID .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_key_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_key_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_key_usage.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_key_usage.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_key_usage" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_key_usage" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_key_usage \- This function returns the key's usage .SH SYNOPSIS @@ -19,14 +19,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_name.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_name.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_name \- Extracts the userID .SH SYNOPSIS @@ -24,14 +24,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_pk_algorithm \- return the key's PublicKey algorithm .SH SYNOPSIS @@ -23,14 +23,12 @@ success, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_pk_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_pk_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_pk_dsa_raw \- export the DSA public key .SH SYNOPSIS @@ -27,14 +27,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_pk_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_pk_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_pk_rsa_raw \- export the RSA public key .SH SYNOPSIS @@ -23,14 +23,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_preferred_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_preferred_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_preferred_key_id \- Gets the preferred keyID .SH SYNOPSIS @@ -18,14 +18,12 @@ the 64\-bit preferred keyID of the OpenPGP key. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_revoked_status.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_revoked_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_revoked_status.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_revoked_status.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_revoked_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_revoked_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_revoked_status \- Gets the revoked status of the key .SH SYNOPSIS @@ -18,14 +18,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_count.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_count.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_count.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_count \- return the number of subkeys .SH SYNOPSIS @@ -18,14 +18,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_creation_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_creation_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_creation_time \- Extract the timestamp .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_expiration_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_expiration_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_expiration_time \- Extract the expire date .SH SYNOPSIS @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_fingerprint \- Gets the fingerprint of a subkey .SH SYNOPSIS @@ -24,14 +24,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_id.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_id.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_id \- Gets the keyID .SH SYNOPSIS @@ -19,14 +19,12 @@ the 64\-bit keyID of the OpenPGP key. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_idx" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_idx" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_idx \- Returns the subkey's index .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_pk_algorithm \- return the subkey's PublicKey algorithm .SH SYNOPSIS @@ -27,14 +27,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_pk_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_pk_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_pk_dsa_raw \- export the DSA public key .SH SYNOPSIS @@ -29,14 +29,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_pk_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_pk_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_pk_rsa_raw \- export the RSA public key .SH SYNOPSIS @@ -25,14 +25,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_revoked_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_revoked_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_revoked_status \- Gets the revoked status of the key .SH SYNOPSIS @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_subkey_usage" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_subkey_usage" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_subkey_usage \- returns the key's usage .SH SYNOPSIS @@ -25,14 +25,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_version.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_get_version.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_get_version.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_get_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_get_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_get_version \- Extracts the version of the key. .SH SYNOPSIS @@ -15,14 +15,12 @@ the version number is returned, or a negative value on errors. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_import.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_import.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_import.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_import \- import a RAW or BASE64 encoded key .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_init.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_init.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_init.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_init \- initialize a #gnutls_openpgp_crt_t structure .SH SYNOPSIS @@ -15,14 +15,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_print.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_print.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_print.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_print.3 2008-06-30 22:13:44.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_print" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_print" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_print \- Pretty print OpenPGP certificates .SH SYNOPSIS @@ -24,14 +24,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_set_preferred_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_set_preferred_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_set_preferred_key_id \- Sets the prefered keyID .SH SYNOPSIS @@ -14,19 +14,14 @@ .SH "DESCRIPTION" This allows setting a preferred key id for the given certificate. This key will be used by functions that involve key handling. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_verify_ring.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_verify_ring.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_verify_ring.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_verify_ring.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_verify_ring" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_verify_ring" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_verify_ring \- Verify all signatures in the key .SH SYNOPSIS @@ -26,14 +26,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_verify_self.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_verify_self.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_crt_verify_self.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_crt_verify_self.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_crt_verify_self" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_crt_verify_self" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_crt_verify_self \- Verify the self signature on the key .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_check_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_check_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_check_id.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_check_id.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_check_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_check_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_check_id \- Check if a key id exists in the keyring .SH SYNOPSIS @@ -20,14 +20,12 @@ negative error code on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_deinit.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_deinit.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_deinit \- deinitializes memory used by a #gnutls_openpgp_keyring_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a keyring structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_get_crt.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_get_crt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_get_crt.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_get_crt.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_get_crt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_get_crt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_get_crt \- export an openpgp certificate from a keyring .SH SYNOPSIS @@ -8,11 +8,9 @@ .BI "int gnutls_openpgp_keyring_get_crt(gnutls_openpgp_keyring_t " ring ", unsigned int " idx ", gnutls_openpgp_crt_t * " cert ");" .SH ARGUMENTS .IP "gnutls_openpgp_keyring_t ring" 12 -Holds the keyring. .IP "unsigned int idx" 12 the index of the certificate to export .IP "gnutls_openpgp_crt_t * cert" 12 -An uninitialized \fBgnutls_openpgp_crt_t\fP structure .SH "DESCRIPTION" This function will extract an OpenPGP certificate from the given keyring. If the index given is out of range @@ -22,14 +20,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_get_crt_count.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_get_crt_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_get_crt_count.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_get_crt_count.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_get_crt_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_get_crt_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_get_crt_count \- return the number of certificates .SH SYNOPSIS @@ -16,14 +16,12 @@ the number of subkeys, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_import.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_import.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_import.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_import \- Import a raw- or Base64-encoded keyring .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_init.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_keyring_init.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_keyring_init.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_keyring_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_keyring_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_keyring_init \- initializes a #gnutls_openpgp_keyring_t structure .SH SYNOPSIS @@ -15,14 +15,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_deinit.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_deinit.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_deinit \- deinitializes memory used by a #gnutls_openpgp_privkey_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a key structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,18 +1,18 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_export \- export a RAW or BASE64 encoded key .SH SYNOPSIS .B #include .sp -.BI "int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t " key ", gnutls_openpgp_crt_fmt_t " format ", const char * " password ", unsigned int " flags ", void * " output_data ", size_t * " output_data_size ");" +.BI "int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t " key ", gnutls_openpgp_crt_fmt_t " format ", const char* " password ", unsigned int " flags ", void * " output_data ", size_t * " output_data_size ");" .SH ARGUMENTS .IP "gnutls_openpgp_privkey_t key" 12 Holds the key. .IP "gnutls_openpgp_crt_fmt_t format" 12 One of gnutls_openpgp_crt_fmt_t elements. -.IP "const char * password" 12 -the password that will be used to encrypt the key. (unused for now) +.IP "const char* password" 12 +the password that will be used to encrypt the key. .IP "unsigned int flags" 12 zero for future compatibility .IP "void * output_data" 12 @@ -30,14 +30,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_export_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_export_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_export_dsa_raw \- This function will export the DSA private key .SH SYNOPSIS @@ -29,14 +29,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_export_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_export_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_export_rsa_raw \- This function will export the RSA private key .SH SYNOPSIS @@ -31,14 +31,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 2008-06-30 22:13:46.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_export_subkey_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_export_subkey_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_export_subkey_dsa_raw \- export the DSA private key .SH SYNOPSIS @@ -31,14 +31,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_export_subkey_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_export_subkey_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_export_subkey_rsa_raw \- export the RSA private key .SH SYNOPSIS @@ -33,14 +33,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_fingerprint \- Gets the fingerprint .SH SYNOPSIS @@ -22,14 +22,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_key_id.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_key_id.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_key_id \- Gets the keyID .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_pk_algorithm \- return the key's PublicKey algorithm .SH SYNOPSIS @@ -25,14 +25,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3 2008-06-30 22:13:46.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_preferred_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_preferred_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_preferred_key_id \- Gets the preferred keyID .SH SYNOPSIS @@ -18,14 +18,12 @@ hasn't been set it returns \fBGNUTLS_E_INVALID_REQUEST\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_revoked_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_revoked_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_revoked_status \- Get the revoked status of the key .SH SYNOPSIS @@ -18,14 +18,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_count \- return the number of subkeys .SH SYNOPSIS @@ -18,14 +18,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_creation_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_creation_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_creation_time \- Extract the timestamp .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_expiration_time.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_expiration_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_expiration_time.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_expiration_time.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_expiration_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_expiration_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_expiration_time \- Extract the expire date .SH SYNOPSIS .B #include .sp -.BI "time_t gnutls_openpgp_privkey_get_subkey_expiration_time(gnutls_openpgp_privkey_t " key ", unsigned int " idx ");" +.BI "time_t gnutls_openpgp_privkey_get_subkey_expiration_time(gnutls_openpgp_privkey_t " key ", unsigned int " idx ");" .SH ARGUMENTS -.IP "gnutls_openpgp_privkey_t key" 12 +.IP "gnutls_openpgp_privkey_t key" 12 the structure that contains the OpenPGP private key. .IP "unsigned int idx" 12 the subkey index @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_fingerprint \- Gets the fingerprint of a subkey .SH SYNOPSIS @@ -24,14 +24,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_id \- Gets the keyID .SH SYNOPSIS @@ -21,14 +21,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_idx" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_idx" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_idx \- Returns the subkey's index .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_pk_algorithm \- return the subkey's PublicKey algorithm .SH SYNOPSIS @@ -27,14 +27,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_get_subkey_revoked_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_get_subkey_revoked_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_get_subkey_revoked_status \- Get the revoked status of the key .SH SYNOPSIS .B #include .sp -.BI "int gnutls_openpgp_privkey_get_subkey_revoked_status(gnutls_openpgp_privkey_t " key ", unsigned int " idx ");" +.BI "int gnutls_openpgp_privkey_get_subkey_revoked_status(gnutls_openpgp_privkey_t " key ", unsigned int " idx ");" .SH ARGUMENTS -.IP "gnutls_openpgp_privkey_t key" 12 +.IP "gnutls_openpgp_privkey_t key" 12 the structure that contains the OpenPGP private key. .IP "unsigned int idx" 12 is the subkey index @@ -20,14 +20,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_import.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_import.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_import.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,20 +1,20 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_import \- import a RAW or BASE64 encoded key .SH SYNOPSIS .B #include .sp -.BI "int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t " key ", const gnutls_datum_t * " data ", gnutls_openpgp_crt_fmt_t " format ", const char * " password ", unsigned int " flags ");" +.BI "int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t " key ", const gnutls_datum_t * " data ", gnutls_openpgp_crt_fmt_t " format ", const char * " pass ", unsigned int " flags ");" .SH ARGUMENTS .IP "gnutls_openpgp_privkey_t key" 12 The structure to store the parsed key. .IP "const gnutls_datum_t * data" 12 The RAW or BASE64 encoded key. .IP "gnutls_openpgp_crt_fmt_t format" 12 -One of \fBgnutls_openpgp_crt_fmt_t\fP elements. -.IP "const char * password" 12 -not used for now +One of gnutls_openpgp_crt_fmt_t elements. +.IP "const char * pass" 12 +Unused for now .IP "unsigned int flags" 12 should be zero .SH "DESCRIPTION" @@ -25,14 +25,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_init.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_init.3 2010-03-15 10:33:14.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_init.3 2008-06-30 22:13:45.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_init \- initializes a #gnutls_openpgp_privkey_t structure .SH SYNOPSIS @@ -15,14 +15,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3 2010-03-15 10:33:15.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3 2008-06-30 22:13:46.000000000 +0100 @@ -1,15 +1,15 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_set_preferred_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_set_preferred_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_set_preferred_key_id \- Set the prefered keyID .SH SYNOPSIS .B #include .sp -.BI "int gnutls_openpgp_privkey_set_preferred_key_id(gnutls_openpgp_privkey_t " key ", const gnutls_openpgp_keyid_t " keyid ");" +.BI "int gnutls_openpgp_privkey_set_preferred_key_id(gnutls_openpgp_privkey_t " key ", const gnutls_openpgp_keyid_t " keyid ");" .SH ARGUMENTS .IP "gnutls_openpgp_privkey_t key" 12 the structure that contains the OpenPGP public key. -.IP "const gnutls_openpgp_keyid_t keyid" 12 +.IP "const gnutls_openpgp_keyid_t keyid" 12 the selected keyid .SH "DESCRIPTION" This allows setting a preferred key id for the given certificate. @@ -18,14 +18,12 @@ On success, 0 is returned, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_sign_hash.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_sign_hash.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_privkey_sign_hash.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_privkey_sign_hash.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_privkey_sign_hash" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_privkey_sign_hash" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_privkey_sign_hash \- sign the given data using the private key params .SH SYNOPSIS -.B #include +.B #include .sp .BI "int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t " key ", const gnutls_datum_t * " hash ", gnutls_datum_t * " signature ");" .SH ARGUMENTS @@ -22,14 +22,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_send_cert.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_send_cert.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_send_cert.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_send_cert.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_send_cert" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_send_cert" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_send_cert \- order gnutls to send the openpgp fingerprint instead of the key .SH SYNOPSIS @@ -18,14 +18,12 @@ that the server can obtain the client's key. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_openpgp_set_recv_key_function.3 gnutls26-2.4.1/doc/manpages/gnutls_openpgp_set_recv_key_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_openpgp_set_recv_key_function.3 2010-03-15 10:33:13.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_openpgp_set_recv_key_function.3 2008-06-30 22:13:17.000000000 +0100 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_openpgp_set_recv_key_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_openpgp_set_recv_key_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_openpgp_set_recv_key_function \- Used to set a key retrieval callback for PGP keys .SH SYNOPSIS -.B #include +.B #include .sp .BI "void gnutls_openpgp_set_recv_key_function(gnutls_session_t " session ", gnutls_openpgp_recv_key_func " func ");" .SH ARGUMENTS @@ -17,14 +17,12 @@ sent a key fingerprint instead of a full key. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_oprfi_enable_client.3 gnutls26-2.4.1/doc/manpages/gnutls_oprfi_enable_client.3 --- gnutls26-2.8.6/doc/manpages/gnutls_oprfi_enable_client.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_oprfi_enable_client.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_oprfi_enable_client" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_oprfi_enable_client" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_oprfi_enable_client \- API function .SH SYNOPSIS @@ -22,14 +22,12 @@ may de\-allocate it immediately after calling this function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_oprfi_enable_server.3 gnutls26-2.4.1/doc/manpages/gnutls_oprfi_enable_server.3 --- gnutls26-2.8.6/doc/manpages/gnutls_oprfi_enable_server.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_oprfi_enable_server.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_oprfi_enable_server" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_oprfi_enable_server" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_oprfi_enable_server \- API function .SH SYNOPSIS @@ -29,14 +29,12 @@ handshake will be aborted. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_decode.3 gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_decode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_decode.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_decode.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pem_base64_decode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pem_base64_decode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pem_base64_decode \- decode base64 encoded data .SH SYNOPSIS @@ -26,14 +26,12 @@ not long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_decode_alloc.3 gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_decode_alloc.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_decode_alloc.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_decode_alloc.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pem_base64_decode_alloc" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pem_base64_decode_alloc" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pem_base64_decode_alloc \- decode base64 encoded data .SH SYNOPSIS @@ -26,14 +26,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_encode.3 gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_encode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_encode.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_encode.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pem_base64_encode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pem_base64_encode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pem_base64_encode \- convert raw data to Base64 encoded .SH SYNOPSIS @@ -27,14 +27,12 @@ not long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_encode_alloc.3 gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_encode_alloc.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pem_base64_encode_alloc.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pem_base64_encode_alloc.3 2008-06-30 22:13:29.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pem_base64_encode_alloc" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pem_base64_encode_alloc" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pem_base64_encode_alloc \- convert raw data to Base64 encoded .SH SYNOPSIS @@ -25,14 +25,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_perror.3 gnutls26-2.4.1/doc/manpages/gnutls_perror.3 --- gnutls26-2.8.6/doc/manpages/gnutls_perror.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_perror.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_perror" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_perror" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_perror \- prints a string to stderr with a description of an error .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_perror(int " error ");" .SH ARGUMENTS .IP "int error" 12 -is a GnuTLS error code, a negative value +is an error returned by a gnutls function. Error is always a negative value. .SH "DESCRIPTION" -This function is like \fBperror()\fP. The only difference is that it -accepts an error number returned by a gnutls function. +This function is like \fBperror()\fP. The only difference is that it accepts an +error number returned by a gnutls function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pk_algorithm_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_pk_algorithm_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pk_algorithm_get_name.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pk_algorithm_get_name.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pk_algorithm_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pk_algorithm_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_pk_algorithm_get_name \- Get string with name of public key algorithm +gnutls_pk_algorithm_get_name \- Returns a string with the name of the specified public key algorithm .SH SYNOPSIS .B #include .sp @@ -16,14 +16,12 @@ key algorithm, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_decrypt.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_decrypt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_decrypt.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_decrypt.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_decrypt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_decrypt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_decrypt \- This function will decrypt an encrypted bag .SH SYNOPSIS @@ -10,23 +10,17 @@ .IP "gnutls_pkcs12_bag_t bag" 12 The bag .IP "const char * pass" 12 -The password used for encryption, must be ASCII. +The password used for encryption. This can only be ASCII. .SH "DESCRIPTION" -This function will decrypt the given encrypted bag and return 0 on -success. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +This function will decrypt the given encrypted bag and return 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_deinit.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_deinit.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_deinit \- This function deinitializes memory used by a gnutls_pkcs12_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a PKCS12 Bag structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_encrypt.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_encrypt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_encrypt.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_encrypt.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_encrypt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_encrypt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_encrypt \- This function will encrypt a bag .SH SYNOPSIS @@ -10,24 +10,19 @@ .IP "gnutls_pkcs12_bag_t bag" 12 The bag .IP "const char * pass" 12 -The password used for encryption, must be ASCII +The password used for encryption. This can only be ASCII. .IP "unsigned int flags" 12 -should be one of \fBgnutls_pkcs_encrypt_flags_t\fP elements bitwise or'd +should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd .SH "DESCRIPTION" -This function will encrypt the given bag. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +This function will encrypt the given bag and return 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_count.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_count.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_count.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_get_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_get_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_get_count \- This function returns the bag's elements count .SH SYNOPSIS @@ -10,20 +10,15 @@ .IP "gnutls_pkcs12_bag_t bag" 12 The bag .SH "DESCRIPTION" -This function will return the number of the elements withing the bag. -.SH "RETURNS" -Number of elements in bag, or an negative error code on -error. +This function will return the number of the elements withing the bag. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_data.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_data.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_data.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_get_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_get_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_get_data \- This function returns the bag's data .SH SYNOPSIS @@ -22,14 +22,12 @@ negative error value.and a negative error code on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_get_friendly_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_get_friendly_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_get_friendly_name \- This function returns the friendly name of the bag element .SH SYNOPSIS @@ -21,14 +21,12 @@ negative error value. or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_key_id.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_key_id.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_get_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_get_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_get_key_id \- This function gets the key ID from the bag element .SH SYNOPSIS @@ -21,14 +21,12 @@ negative error value. or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_type.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_type.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_get_type.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_get_type.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_get_type" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_get_type" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_get_type \- This function returns the bag's type .SH SYNOPSIS @@ -12,19 +12,16 @@ .IP "int indx" 12 The element of the bag to get the type .SH "DESCRIPTION" -This function will return the bag's type. -.SH "RETURNS" -One of the \fBgnutls_pkcs12_bag_type_t\fP enumerations. +This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t +enumerations. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_init.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_init.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_init.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_init \- This function initializes a gnutls_pkcs12_bag_t structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_crl.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_crl.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_crl.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_crl.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_set_crl" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_set_crl" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_set_crl \- insert the CRL into the bag .SH SYNOPSIS @@ -19,14 +19,12 @@ on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_crt.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_crt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_crt.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_crt.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_set_crt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_set_crt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_set_crt \- This function inserts a certificate into the bag .SH SYNOPSIS @@ -19,14 +19,12 @@ value on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_data.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_data.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_data.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_set_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_set_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_set_data \- This function inserts data into the bag .SH SYNOPSIS @@ -21,14 +21,12 @@ value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3 2010-03-15 10:33:12.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_set_friendly_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_set_friendly_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_set_friendly_name \- This function sets a friendly name into the bag element .SH SYNOPSIS @@ -22,14 +22,12 @@ negative error value. or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_bag_set_key_id.3 2010-03-15 10:33:11.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_bag_set_key_id.3 2008-06-30 22:13:43.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_bag_set_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_bag_set_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_bag_set_key_id \- This function sets a key ID into the bag element .SH SYNOPSIS @@ -22,14 +22,12 @@ negative error value. or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_deinit.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_deinit.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_deinit \- This function deinitializes memory used by a gnutls_pkcs12_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a PKCS12 structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_export.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_export.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_export.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_export \- This function will export the pkcs12 structure .SH SYNOPSIS @@ -30,14 +30,12 @@ returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_generate_mac.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_generate_mac.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_generate_mac.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_generate_mac.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_generate_mac" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_generate_mac" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_generate_mac \- This function generates the MAC of the PKCS12 structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_get_bag.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_get_bag.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_get_bag.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_get_bag.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_get_bag" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_get_bag" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_get_bag \- This function returns a Bag from a PKCS12 structure .SH SYNOPSIS @@ -23,14 +23,12 @@ will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_import.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_import.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_import.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_import \- This function will import a DER or PEM encoded PKCS12 structure .SH SYNOPSIS @@ -25,14 +25,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_init.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_init.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_init.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_init \- This function initializes a gnutls_pkcs12_t structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_set_bag.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_set_bag.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_set_bag.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_set_bag.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_set_bag" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_set_bag" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_set_bag \- This function inserts a Bag into a PKCS12 structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_verify_mac.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_verify_mac.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs12_verify_mac.3 2010-03-15 10:33:10.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs12_verify_mac.3 2008-06-30 22:13:42.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs12_verify_mac" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs12_verify_mac" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs12_verify_mac \- This function verifies the MAC of the PKCS12 structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_deinit.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_deinit.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_deinit \- deinitializes a #gnutls_pkcs7_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a PKCS7 structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_delete_crl.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_delete_crl.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_delete_crl.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_delete_crl.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_delete_crl" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_delete_crl" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_delete_crl \- deletes a CRL from a PKCS7 crl set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_delete_crl(gnutls_pkcs7_t " pkcs7 ", int " indx ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "int indx" 12 the index of the crl to delete .SH "DESCRIPTION" @@ -19,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_delete_crt.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_delete_crt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_delete_crt.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_delete_crt.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_delete_crt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_delete_crt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_delete_crt \- deletes a certificate from a PKCS7 certificate set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t " pkcs7 ", int " indx ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a gnutls_pkcs7_t structure .IP "int indx" 12 the index of the certificate to delete .SH "DESCRIPTION" @@ -19,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_export.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_export.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_export.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_export \- export the pkcs7 structure .SH SYNOPSIS @@ -25,19 +25,17 @@ If the structure is PEM encoded, it will have a header of "BEGIN PKCS7". -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. +.SH "RETURN VALUE" +In case of failure a negative value will be +returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crl_count.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crl_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crl_count.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crl_count.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_get_crl_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_get_crl_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_get_crl_count \- returns the number of CRLs in a PKCS7 crl set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_get_crl_count(gnutls_pkcs7_t " pkcs7 ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a gnutls_pkcs7_t structure .SH "DESCRIPTION" This function will return the number of certifcates in the PKCS7 or RFC2630 crl set. @@ -17,14 +16,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crl_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crl_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crl_raw.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crl_raw.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,14 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_get_crl_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_get_crl_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_pkcs7_get_crl_raw \- returns a crl in a PKCS7 crl set +gnutls_pkcs7_get_crl_raw \- This function returns a crl in a PKCS7 crl set .SH SYNOPSIS .B #include .sp .BI "int gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t " pkcs7 ", int " indx ", void * " crl ", size_t * " crl_size ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "int indx" 12 contains the index of the crl to extract .IP "void * crl" 12 @@ -25,14 +24,12 @@ \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crt_count.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crt_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crt_count.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crt_count.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_get_crt_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_get_crt_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_get_crt_count \- return the number of certificates in a PKCS7 certificate set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t " pkcs7 ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .SH "DESCRIPTION" This function will return the number of certifcates in the PKCS7 or RFC2630 certificate set. @@ -17,14 +16,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crt_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crt_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_get_crt_raw.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_get_crt_raw.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_get_crt_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_get_crt_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_get_crt_raw \- get a certificate from a PKCS7 certificate set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t " pkcs7 ", int " indx ", void * " certificate ", size_t * " certificate_size ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a gnutls_pkcs7_t structure .IP "int indx" 12 contains the index of the certificate to extract .IP "void * certificate" 12 @@ -29,14 +28,12 @@ \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_import.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_import.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_import.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_import \- import a DER or PEM encoded PKCS7 .SH SYNOPSIS @@ -24,14 +24,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_init.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_init.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_init.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_init \- initialize a #gnutls_pkcs7_t structure .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crl.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crl.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crl.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crl.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_set_crl" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_set_crl" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_set_crl \- add a parsed crl in a PKCS7 crl set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_set_crl(gnutls_pkcs7_t " pkcs7 ", gnutls_x509_crl_t " crl ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "gnutls_x509_crl_t crl" 12 the DER encoded crl to be added .SH "DESCRIPTION" @@ -19,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crl_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crl_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crl_raw.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crl_raw.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_set_crl_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_set_crl_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_set_crl_raw \- add a crl in a PKCS7 crl set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t " pkcs7 ", const gnutls_datum_t * " crl ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "const gnutls_datum_t * crl" 12 the DER encoded crl to be added .SH "DESCRIPTION" @@ -18,14 +17,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crt.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crt.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crt.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_set_crt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_set_crt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_set_crt \- add a parsed certificate in a PKCS7 certificate set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_set_crt(gnutls_pkcs7_t " pkcs7 ", gnutls_x509_crt_t " crt ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "gnutls_x509_crt_t crt" 12 the certificate to be copied. .SH "DESCRIPTION" @@ -20,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crt_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crt_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pkcs7_set_crt_raw.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pkcs7_set_crt_raw.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pkcs7_set_crt_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_pkcs7_set_crt_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_pkcs7_set_crt_raw \- add a certificate in a PKCS7 certificate set .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t " pkcs7 ", const gnutls_datum_t * " crt ");" .SH ARGUMENTS .IP "gnutls_pkcs7_t pkcs7" 12 -should contain a \fBgnutls_pkcs7_t\fP structure .IP "const gnutls_datum_t * crt" 12 the DER encoded certificate to be added .SH "DESCRIPTION" @@ -19,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pk_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_pk_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pk_get_id.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pk_get_id.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pk_get_id" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_pk_get_id \- Get #gnutls_pk_algorithm_t from a string -.SH SYNOPSIS -.B #include -.sp -.BI "gnutls_pk_algorithm_t gnutls_pk_get_id(const char * " name ");" -.SH ARGUMENTS -.IP "const char * name" 12 -is a string containing a public key algorithm name. -.SH "DESCRIPTION" -Convert a string to a \fBgnutls_pk_algorithm_t\fP value. The names are -compared in a case insensitive way. For example, -gnutls_pk_get_id("RSA") will return \fBGNUTLS_PK_RSA\fP. -.SH "RETURNS" -a \fBgnutls_pk_algorithm_t\fP id of the specified public key -algorithm string, or \fBGNUTLS_PK_UNKNOWN\fP on failures. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pk_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_pk_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pk_get_name.3 2010-03-15 10:32:29.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pk_get_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pk_get_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_pk_get_name \- Get name string with #gnutls_pk_algorithm_t algorithm -.SH SYNOPSIS -.B #include -.sp -.BI "const char * gnutls_pk_get_name(gnutls_pk_algorithm_t " algorithm ");" -.SH ARGUMENTS -.IP "gnutls_pk_algorithm_t algorithm" 12 -is a public key algorithm -.SH "DESCRIPTION" -Convert a \fBgnutls_pk_algorithm_t\fP value to a string. -.SH "RETURNS" -a pointer to a string that contains the name of the -specified public key algorithm, or \fBNULL\fP. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_pk_list.3 gnutls26-2.4.1/doc/manpages/gnutls_pk_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_pk_list.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_pk_list.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_pk_list" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_pk_list \- Get a list of supported public key algorithms -.SH SYNOPSIS -.B #include -.sp -.BI "const gnutls_pk_algorithm_t * gnutls_pk_list( " void ");" -.SH ARGUMENTS -.IP " void" 12 -.SH "DESCRIPTION" - -Get a list of supported public key algorithms. -.SH "RETURNS" -a zero\-terminated list of \fBgnutls_pk_algorithm_t\fP integers -indicating the available ciphers. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_prf.3 gnutls26-2.4.1/doc/manpages/gnutls_prf.3 --- gnutls26-2.8.6/doc/manpages/gnutls_prf.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_prf.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_prf" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_prf" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_prf \- derive pseudo-random data using the TLS PRF .SH SYNOPSIS @@ -14,15 +14,15 @@ .IP "const char * label" 12 label used in PRF computation, typically a short string. .IP "int server_random_first" 12 -non\-0 if server random field should be first in seed +non-0 if server random field should be first in seed .IP "size_t extra_size" 12 length of the \fIextra\fP variable. .IP "const char * extra" 12 optional extra data to seed the PRF with. .IP "size_t outsize" 12 -size of pre\-allocated output buffer to hold the output. +size of pre-allocated output buffer to hold the output. .IP "char * out" 12 -pre\-allocate buffer to hold the generated data. +pre-allocate buffer to hold the generated data. .SH "DESCRIPTION" Apply the TLS Pseudo\-Random\-Function (PRF) using the master secret on some data, seeded with the client and server random fields. @@ -43,14 +43,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_prf_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_prf_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_prf_raw.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_prf_raw.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_prf_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_prf_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_prf_raw \- access the TLS PRF directly .SH SYNOPSIS @@ -18,9 +18,9 @@ .IP "const char * seed" 12 optional extra data to seed the PRF with. .IP "size_t outsize" 12 -size of pre\-allocated output buffer to hold the output. +size of pre-allocated output buffer to hold the output. .IP "char * out" 12 -pre\-allocate buffer to hold the generated data. +pre-allocate buffer to hold the generated data. .SH "DESCRIPTION" Apply the TLS Pseudo\-Random\-Function (PRF) using the master secret on some data. @@ -42,14 +42,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_priority_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_priority_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_priority_deinit.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_priority_deinit.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_priority_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_priority_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_priority_deinit \- deinitialize the priorities cache +gnutls_priority_deinit \- Deinitialize the priorities cache for the cipher suites supported by gnutls. .SH SYNOPSIS .B #include .sp @@ -13,14 +13,12 @@ Deinitializes the priority cache. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_priority_init.3 gnutls26-2.4.1/doc/manpages/gnutls_priority_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_priority_init.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_priority_init.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_priority_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_priority_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_priority_init \- Sets priorities for the cipher suites supported by gnutls. .SH SYNOPSIS @@ -21,84 +21,67 @@ The \fBpriorities\fP option allows you to specify a semi\-colon separated list of the cipher priorities to enable. -Unless the first keyword is "NONE" the defaults (in preference -order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for -compression NULL; for certificate types X.509, OpenPGP. +Unless the first keyword is "NONE" the defaults are: +.SH "PROTOCOLS" +TLS1.1, TLS1.0, and SSL3.0. +.SH "COMPRESSION" +NULL. +.SH "CERTIFICATE TYPES" +X.509, OpenPGP. +.SH "YOU CAN ALSO USE PREDEFINED SETS OF CIPHERSUITES" +"PERFORMANCE" +all the "secure" ciphersuites are enabled, limited to 128 bit +ciphers and sorted by terms of speed performance. -For key exchange algorithms when in NORMAL or SECURE levels the -perfect forward secrecy algorithms take precendence of the other -protocols. In all cases all the supported key exchange algorithms -are enabled (except for the RSA\-EXPORT which is only enabled in -EXPORT level). +"NORMAL" option enables all "secure" ciphersuites. The 256\-bit ciphers +are included as a fallback only. The ciphers are sorted by security margin. -Note that although one can select very long key sizes (such as 256 bits) -for symmetric algorithms, to actually increase security the public key -algorithms have to use longer key sizes as well. - -For all the current available algorithms and protocols use -"gnutls\-cli \-l" to get a listing. -.SH "COMMON KEYWORDS" -Some keywords are defined to provide quick access -to common preferences. - -"PERFORMANCE" means all the "secure" ciphersuites are enabled, -limited to 128 bit ciphers and sorted by terms of speed -performance. - -"NORMAL" means all "secure" ciphersuites. The 256\-bit ciphers are -included as a fallback only. The ciphers are sorted by security -margin. - -"SECURE128" means all "secure" ciphersuites with ciphers up to 128 -bits, sorted by security margin. +"SECURE128" flag enables all "secure" ciphersuites with ciphers up to +128 bits, sorted by security margin. -"SECURE256" means all "secure" ciphersuites including the 256 bit +"SECURE256" flag enables all "secure" ciphersuites including the 256 bit ciphers, sorted by security margin. -"EXPORT" means all ciphersuites are enabled, including the +"EXPORT" all the ciphersuites are enabled, including the low\-security 40 bit ciphers. -"NONE" means nothing is enabled. This disables even protocols and +"NONE" nothing is enabled. This disables even protocols and compression methods. .SH "SPECIAL KEYWORDS" -"!" or "\-" appended with an algorithm will remove this algorithm. - -"+" appended with an algorithm will add this algorithm. - -"%COMPAT" will enable compatibility features for a server. +'!' or '\-' appended with an algorithm will remove this algorithm. +'+' appended with an algorithm will add this algorithm. +'\fBCOMPAT\fP' will enable compatibility features for a server. -"%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello. - -"%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA\-MD5 signatures in -certificate chains. - -"%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. -.SH "NAMESPACE CONCERN" To avoid collisions in order to specify a compression algorithm in this string you have to prefix it with "COMP\-", protocol versions with "VERS\-" and certificate types with "CTYPE\-". All other algorithms don't need a prefix. -.SH "EXAMPLES" -"NORMAL:!AES\-128\-CBC" means normal ciphers except for AES\-128. -"EXPORT:!VERS\-TLS1.0:+COMP\-DEFLATE" means that export ciphers are -enabled, TLS 1.0 is disabled, and libz compression enabled. +For key exchange algorithms when in NORMAL or SECURE levels the +perfect forward secrecy algorithms take precendence of the other +protocols. In all cases all the supported key exchange algorithms +are enabled (except for the RSA\-EXPORT which is only enabled in +EXPORT level). +Note that although one can select very long key sizes (such as 256 bits) +for symmetric algorithms, to actually increase security the public key +algorithms have to use longer key sizes as well. +.SH "EXAMPLES" +"NORMAL:!AES\-128\-CBC", +"EXPORT:!VERS\-TLS1.0:+COMP\-DEFLATE:+CTYPE\-OPENPGP", "NONE:+VERS\-TLS1.0:+AES\-128\-CBC:+RSA:+SHA1:+COMP\-NULL", "NORMAL", -"%COMPAT". +"NORMAL:\fBCOMPAT\fP". .SH "RETURNS" On syntax error \fBGNUTLS_E_INVALID_REQUEST\fP is returned, \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_priority_set.3 gnutls26-2.4.1/doc/manpages/gnutls_priority_set.3 --- gnutls26-2.8.6/doc/manpages/gnutls_priority_set.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_priority_set.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_priority_set" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_priority_set" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_priority_set \- Sets priorities for the cipher suites supported by gnutls. .SH SYNOPSIS @@ -13,19 +13,17 @@ is a \fBgnutls_priority_t\fP structure. .SH "DESCRIPTION" Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. +macs and compression methods. .SH "RETURNS" \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_priority_set_direct.3 gnutls26-2.4.1/doc/manpages/gnutls_priority_set_direct.3 --- gnutls26-2.8.6/doc/manpages/gnutls_priority_set_direct.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_priority_set_direct.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_priority_set_direct" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_priority_set_direct" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_priority_set_direct \- Sets priorities for the cipher suites supported by gnutls. .SH SYNOPSIS @@ -15,7 +15,7 @@ In case of an error this will have the position in the string the error occured .SH "DESCRIPTION" Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. This function avoids keeping a +macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the \fBgnutls_priority_init()\fP. .SH "RETURNS" @@ -23,14 +23,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_id.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_id.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,14 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_protocol_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_protocol_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_protocol_get_id \- Returns the gnutls id of the specified in string protocol .SH SYNOPSIS .B #include .sp -.BI "gnutls_protocol_t gnutls_protocol_get_id(const char * " name ");" +.BI "gnutls_protocol_t gnutls_protocol_get_id(const char* " name ");" .SH ARGUMENTS -.IP "const char * name" 12 -is a protocol name +.IP "const char* name" 12 .SH "DESCRIPTION" The names are compared in a case insensitive way. .SH "RETURNS" @@ -16,14 +15,12 @@ \fBGNUTLS_VERSION_UNKNOWN\fP on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_name.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_name.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_protocol_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_protocol_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_protocol_get_name \- Returns a string with the name of the specified SSL/TLS version .SH SYNOPSIS @@ -16,14 +16,12 @@ version (e.g., "TLS1.0"), or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_version.3 gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_protocol_get_version.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_protocol_get_version.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_protocol_get_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_protocol_get_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_protocol_get_version \- Returns the version of the currently used protocol .SH SYNOPSIS @@ -15,14 +15,12 @@ the version of the currently used protocol. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_protocol_list.3 gnutls26-2.4.1/doc/manpages/gnutls_protocol_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_protocol_list.3 2010-03-15 10:32:27.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_protocol_list.3 2008-06-30 22:13:09.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_protocol_list" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_protocol_list" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_protocol_list \- Get a list of supported protocols .SH SYNOPSIS @@ -16,14 +16,12 @@ indicating the available protocols. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_protocol_set_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_protocol_set_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_protocol_set_priority.3 2010-03-15 10:32:37.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_protocol_set_priority.3 2008-06-30 22:13:18.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_protocol_set_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_protocol_set_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_protocol_set_priority \- Sets the priority on the protocol versions supported by gnutls. .SH SYNOPSIS @@ -19,14 +19,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_allocate_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_allocate_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_allocate_client_credentials.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_allocate_client_credentials.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_allocate_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_allocate_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_allocate_client_credentials \- Used to allocate an gnutls_psk_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_psk_client_credentials_t * sc" 12 -is a pointer to a \fBgnutls_psk_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_psk_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -16,14 +16,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_allocate_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_allocate_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_allocate_server_credentials.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_allocate_server_credentials.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_allocate_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_allocate_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_allocate_server_credentials \- Used to allocate an gnutls_psk_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_psk_server_credentials_t * sc" 12 -is a pointer to a \fBgnutls_psk_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_psk_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -16,14 +16,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_client_get_hint.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_client_get_hint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_client_get_hint.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_client_get_hint.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_client_get_hint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_client_get_hint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_client_get_hint \- return the PSK identity hint of the peer .SH SYNOPSIS @@ -19,14 +19,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_free_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_free_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_free_client_credentials.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_free_client_credentials.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_free_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_free_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_free_client_credentials \- Used to free an allocated gnutls_psk_client_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_psk_free_client_credentials(gnutls_psk_client_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_psk_client_credentials_t sc" 12 -is a \fBgnutls_psk_client_credentials_t\fP structure. +is an \fBgnutls_psk_client_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_free_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_free_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_free_server_credentials.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_free_server_credentials.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_free_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_free_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_free_server_credentials \- Used to free an allocated gnutls_psk_server_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_psk_free_server_credentials(gnutls_psk_server_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_psk_server_credentials_t sc" 12 -is a \fBgnutls_psk_server_credentials_t\fP structure. +is an \fBgnutls_psk_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_netconf_derive_key.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_netconf_derive_key.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_netconf_derive_key.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_netconf_derive_key.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_netconf_derive_key" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_netconf_derive_key" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_netconf_derive_key \- derive PSK Netconf key from password .SH SYNOPSIS @@ -24,14 +24,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_server_get_username.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_server_get_username.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_server_get_username.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_server_get_username.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_server_get_username" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_server_get_username" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_server_get_username \- return the username of the peer .SH SYNOPSIS @@ -16,14 +16,12 @@ the username of the peer, or \fBNULL\fP in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_client_credentials.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_client_credentials.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_client_credentials \- Used to set the username/password, in a gnutls_psk_client_credentials_t structure .SH SYNOPSIS @@ -8,9 +8,9 @@ .BI "int gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t " res ", const char * " username ", const gnutls_datum_t * " key ", gnutls_psk_key_flags " flags ");" .SH ARGUMENTS .IP "gnutls_psk_client_credentials_t res" 12 -is a \fBgnutls_psk_client_credentials_t\fP structure. +is an \fBgnutls_psk_client_credentials_t\fP structure. .IP "const char * username" 12 -is the user's zero\-terminated userid +is the user's zero-terminated userid .IP "const gnutls_datum_t * key" 12 is the user's key .IP "gnutls_psk_key_flags flags" 12 @@ -25,14 +25,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_client_credentials_function.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_client_credentials_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_client_credentials_function.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_client_credentials_function.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_client_credentials_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_client_credentials_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_client_credentials_function \- Used to set a callback to retrieve the username and key .SH SYNOPSIS @@ -28,14 +28,12 @@ \-1 indicates an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_params_function.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_params_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_params_function.3 2010-03-15 10:32:48.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_params_function.3 2008-06-30 22:13:27.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_params_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_params_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_params_function \- set the DH or RSA parameters callback .SH SYNOPSIS @@ -13,18 +13,16 @@ is the function to be called .SH "DESCRIPTION" This function will set a callback in order for the server to get -the Diffie\-Hellman or RSA parameters for psk authentication. The +the diffie hellman or RSA parameters for psk authentication. The callback should return zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_file.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_file.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_file.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_server_credentials_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_server_credentials_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_server_credentials_file \- Used to set the password files, in a gnutls_psk_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t " res ", const char * " password_file ");" .SH ARGUMENTS .IP "gnutls_psk_server_credentials_t res" 12 -is a \fBgnutls_psk_server_credentials_t\fP structure. +is an \fBgnutls_psk_server_credentials_t\fP structure. .IP "const char * password_file" 12 is the PSK password file (passwd.psk) .SH "DESCRIPTION" @@ -19,14 +19,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_function.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_function.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_function.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_server_credentials_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_server_credentials_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_server_credentials_function \- Used to set a callback to retrieve the user's PSK credentials .SH SYNOPSIS @@ -28,14 +28,12 @@ an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_hint.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_hint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_credentials_hint.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_credentials_hint.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_server_credentials_hint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_server_credentials_hint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_server_credentials_hint \- Set a identity hint, in a %gnutls_psk_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t " res ", const char * " hint ");" .SH ARGUMENTS .IP "gnutls_psk_server_credentials_t res" 12 -is a \fBgnutls_psk_server_credentials_t\fP structure. +is an \fBgnutls_psk_server_credentials_t\fP structure. .IP "const char * hint" 12 is the PSK identity hint string .SH "DESCRIPTION" @@ -22,14 +22,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_dh_params.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_dh_params.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_dh_params.3 2010-03-15 10:32:39.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_dh_params.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_server_dh_params" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_server_dh_params" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_server_dh_params \- set the DH parameters for a server to use .SH SYNOPSIS @@ -10,21 +10,19 @@ .IP "gnutls_psk_server_credentials_t res" 12 is a gnutls_psk_server_credentials_t structure .IP "gnutls_dh_params_t dh_params" 12 -is a structure that holds Diffie\-Hellman parameters. +is a structure that holds diffie hellman parameters. .SH "DESCRIPTION" -This function will set the Diffie\-Hellman parameters for an -anonymous server to use. These parameters will be used in -Diffie\-Hellman exchange with PSK cipher suites. +This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in Diffie +Hellman with PSK cipher suites. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_params_function.3 gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_params_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_psk_set_server_params_function.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_psk_set_server_params_function.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_psk_set_server_params_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_psk_set_server_params_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_psk_set_server_params_function \- set the DH parameters callback .SH SYNOPSIS @@ -8,23 +8,21 @@ .BI "void gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t " res ", gnutls_params_function * " func ");" .SH ARGUMENTS .IP "gnutls_psk_server_credentials_t res" 12 -is a \fBgnutls_certificate_credentials_t\fP structure +is a gnutls_certificate_credentials_t structure .IP "gnutls_params_function * func" 12 is the function to be called .SH "DESCRIPTION" This function will set a callback in order for the server to get -the Diffie\-Hellman parameters for PSK authentication. The callback +the diffie hellman parameters for PSK authentication. The callback should return zero on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_check_pending.3 gnutls26-2.4.1/doc/manpages/gnutls_record_check_pending.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_check_pending.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_check_pending.3 2008-06-30 22:13:12.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_check_pending" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_check_pending" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_check_pending \- checks if there are any data to receive in gnutls buffers. .SH SYNOPSIS @@ -10,24 +10,20 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .SH "DESCRIPTION" -This function checks if there are any data to receive in the gnutls -buffers. - -Notice that you may also use \fBselect()\fP to check for data in a TCP -connection, instead of this function. GnuTLS leaves some data in -the tcp buffer in order for select to work. -.SH "RETURNS" -the size of that data or 0. +This function checks if there are any data to receive +in the gnutls buffers. Returns the size of that data or 0. +Notice that you may also use \fBselect()\fP to check for data in +a TCP connection, instead of this function. +(gnutls leaves some data in the tcp buffer in order for select +to work). .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_disable_padding.3 gnutls26-2.4.1/doc/manpages/gnutls_record_disable_padding.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_disable_padding.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_disable_padding.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_disable_padding" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_disable_padding" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_disable_padding \- Used to disabled padding in TLS 1.0 and above .SH SYNOPSIS @@ -19,14 +19,12 @@ out there, need to call this function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_get_direction.3 gnutls26-2.4.1/doc/manpages/gnutls_record_get_direction.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_get_direction.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_get_direction.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_get_direction" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_get_direction" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_get_direction \- return the direction of the last interrupted function call .SH SYNOPSIS @@ -24,14 +24,12 @@ 0 if trying to read data, 1 if trying to write data. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_get_max_size.3 gnutls26-2.4.1/doc/manpages/gnutls_record_get_max_size.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_get_max_size.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_get_max_size.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_get_max_size" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_get_max_size" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_get_max_size \- returns the maximum record size .SH SYNOPSIS @@ -10,20 +10,17 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .SH "DESCRIPTION" -Get the record size. The maximum record size is negotiated by the -client after the first handshake message. -.SH "RETURNS" -The maximum record packet size in this connection. +This function returns the maximum record packet size in this +connection. The maximum record size is negotiated by the client +after the first handshake message. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_recv.3 gnutls26-2.4.1/doc/manpages/gnutls_record_recv.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_recv.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_recv.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_recv" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_recv" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_recv \- reads data from the TLS record protocol .SH SYNOPSIS @@ -14,15 +14,15 @@ .IP "size_t sizeofdata" 12 the number of requested bytes .SH "DESCRIPTION" -This function has the similar semantics with \fBrecv()\fP. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with \fBrecv()\fP. The only +difference is that is accepts a GNUTLS session, and uses different error codes. In the special case that a server requests a renegotiation, the client may receive an error code of \fBGNUTLS_E_REHANDSHAKE\fP. This -message may be simply ignored, replied with an alert -\fBGNUTLS_A_NO_RENEGOTIATION\fP, or replied with a new handshake, -depending on the client's will. +message may be simply ignored, replied with an alert containing +NO_RENEGOTIATION, or replied with a new handshake, depending on +the client's will. If \fBEINTR\fP is returned by the internal push function (the default is \fBrecv()\fP) then \fBGNUTLS_E_INTERRUPTED\fP will be returned. If @@ -39,14 +39,12 @@ received might be less than \fIsizeofdata\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_send.3 gnutls26-2.4.1/doc/manpages/gnutls_record_send.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_send.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_send.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_send" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_send" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_send \- sends to the peer the specified data .SH SYNOPSIS @@ -14,8 +14,8 @@ .IP "size_t sizeofdata" 12 is the length of the data .SH "DESCRIPTION" -This function has the similar semantics with \fBsend()\fP. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with \fBsend()\fP. The only +difference is that is accepts a GNUTLS session, and uses different error codes. Note that if the send buffer is full, \fBsend()\fP will block this @@ -37,14 +37,12 @@ the negotiated maximum record size. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_record_set_max_size.3 gnutls26-2.4.1/doc/manpages/gnutls_record_set_max_size.3 --- gnutls26-2.8.6/doc/manpages/gnutls_record_set_max_size.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_record_set_max_size.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_record_set_max_size" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_record_set_max_size" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_record_set_max_size \- sets the maximum record size .SH SYNOPSIS @@ -17,25 +17,20 @@ may choose not to accept the requested size. Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and -4096(=2^12). The requested record size does get in effect -immediately only while sending data. The receive part will take -effect after a successful handshake. +4096(=2^12). Returns 0 on success. The requested record size does +get in effect immediately only while sending data. The receive +part will take effect after a successful handshake. This function uses a TLS extension called 'max record size'. Not all TLS implementations use or even understand this extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_register_md5_handler.3 gnutls26-2.4.1/doc/manpages/gnutls_register_md5_handler.3 --- gnutls26-2.8.6/doc/manpages/gnutls_register_md5_handler.3 2010-03-15 10:32:50.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_register_md5_handler.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_register_md5_handler" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_register_md5_handler \- API function -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_register_md5_handler( " void ");" -.SH ARGUMENTS -.IP " void" 12 -.SH "DESCRIPTION" - -Register a non\-libgcrypt based MD5 and HMAC\-MD5 handler. This is -useful if you run Libgcrypt in FIPS\-mode. Normally TLS requires -use of MD5, so without this you cannot use GnuTLS with libgcrypt in -FIPS mode. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rehandshake.3 gnutls26-2.4.1/doc/manpages/gnutls_rehandshake.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rehandshake.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rehandshake.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rehandshake" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rehandshake" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rehandshake \- renegotiate security parameters .SH SYNOPSIS @@ -29,14 +29,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_export_get_modulus_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_export_get_modulus_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_export_get_modulus_bits.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_export_get_modulus_bits.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_export_get_modulus_bits" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_export_get_modulus_bits" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_export_get_modulus_bits \- return the bits used in RSA-export key exchange .SH SYNOPSIS @@ -16,14 +16,12 @@ peer, or a negative value in case of error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_export_get_pubkey.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_export_get_pubkey.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_export_get_pubkey.3 2010-03-15 10:32:47.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_export_get_pubkey.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_export_get_pubkey" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_export_get_pubkey" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_export_get_pubkey \- return the peer's public key used in RSA-EXPORT authentication .SH SYNOPSIS @@ -22,14 +22,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_cpy.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_cpy.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_cpy.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_cpy.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_cpy" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_cpy" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_cpy \- copy an RSA parameters structure .SH SYNOPSIS @@ -14,18 +14,14 @@ .SH "DESCRIPTION" This function will copy the RSA parameters structure from source to destination. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_deinit.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_deinit.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_deinit \- deinitialize the RSA parameters .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize the RSA parameters structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_export_pkcs1.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_export_pkcs1.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_export_pkcs1.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_export_pkcs1.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_export_pkcs1" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_export_pkcs1" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_export_pkcs1 \- export RSA params to a pkcs1 structure .SH SYNOPSIS @@ -17,23 +17,22 @@ holds the size of params_data (and will be replaced by the actual size of parameters) .SH "DESCRIPTION" This function will export the given RSA parameters to a PKCS1 -RSAPublicKey structure. If the buffer provided is not long enough to +RSAPublicKey structure. If the buffer provided is not long enough to hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. If the structure is PEM encoded, it will have a header of "BEGIN RSA PRIVATE KEY". -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. + +In case of failure a negative value will be returned, and +0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_export_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_export_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_export_raw.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_export_raw.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_export_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_export_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_export_raw \- export the RSA parameters .SH SYNOPSIS @@ -27,18 +27,14 @@ This function will export the RSA parameters found in the given structure. The new parameters will be allocated using \fBgnutls_malloc()\fP and will be stored in the appropriate datum. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_generate2.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_generate2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_generate2.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_generate2.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_generate2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_generate2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_generate2 \- generate temporary RSA parameters .SH SYNOPSIS @@ -12,26 +12,22 @@ .IP "unsigned int bits" 12 is the prime's number of bits .SH "DESCRIPTION" -This function will generate new temporary RSA parameters for use in -RSA\-EXPORT ciphersuites. This function is normally slow. +This function will generate new temporary RSA parameters for use in +RSA\-EXPORT ciphersuites. This function is normally slow. -Note that if the parameters are to be used in export cipher suites the +Note that if the parameters are to be used in export cipher suites the bits value should be 512 or less. Also note that the generation of new RSA parameters is only useful to servers. Clients use the parameters sent by the server, thus it's no use calling this in client side. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_import_pkcs1.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_import_pkcs1.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_import_pkcs1.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_import_pkcs1.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_import_pkcs1" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_import_pkcs1" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_import_pkcs1 \- import RSA params from a pkcs1 structure .SH SYNOPSIS @@ -15,22 +15,21 @@ the format of params. PEM or DER. .SH "DESCRIPTION" This function will extract the RSAPublicKey found in a PKCS1 formatted -structure. +structure. If the structure is PEM encoded, it should have a header of "BEGIN RSA PRIVATE KEY". -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. + +In case of failure a negative value will be returned, and +0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_import_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_import_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_import_raw.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_import_raw.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_import_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_import_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_import_raw \- set the RSA parameters .SH SYNOPSIS @@ -23,20 +23,15 @@ holds the coefficient .SH "DESCRIPTION" This function will replace the parameters in the given structure. -The new parameters should be stored in the appropriate -gnutls_datum. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. +The new parameters should be stored in the appropriate gnutls_datum. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_init.3 gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_rsa_params_init.3 2010-03-15 10:32:41.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_rsa_params_init.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_rsa_params_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_rsa_params_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_rsa_params_init \- initialize the temporary RSA parameters .SH SYNOPSIS @@ -11,18 +11,14 @@ Is a structure that will hold the parameters .SH "DESCRIPTION" This function will initialize the temporary RSA parameters structure. -.SH "RETURNS" -\fBGNUTLS_E_SUCCESS\fP on success, or an negative error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls-serv.1 gnutls26-2.4.1/doc/manpages/gnutls-serv.1 --- gnutls26-2.8.6/doc/manpages/gnutls-serv.1 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/doc/manpages/gnutls-serv.1 2008-06-19 11:00:09.000000000 +0100 @@ -7,6 +7,8 @@ Simple server program that listens to incoming TLS connections. .SH OPTIONS .SS Program control options +.IP "\-\-copyright" +prints the program's license .IP "\-d, \-\-debug LEVEL" Specify the debug level. Default is 1. .IP "\-h, \-\-help" @@ -91,7 +93,7 @@ "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL" .IP "\-g, \-\-generate" -Generate Diffie-Hellman Parameters. +Generate Diffie Hellman Parameters. .IP "\-\-kx \fIkx1 kx2...\fR" Key exchange methods to enable (use \fBgnutls\-cli \-\-list\fR to show the supported key exchange methods). diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_server_name_get.3 gnutls26-2.4.1/doc/manpages/gnutls_server_name_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_server_name_get.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_server_name_get.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_server_name_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_server_name_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_server_name_get \- Used to get the server name indicator send by a client .SH SYNOPSIS @@ -18,35 +18,27 @@ .IP "unsigned int indx" 12 is the index of the server_name .SH "DESCRIPTION" -This function will allow you to get the name indication (if any), a -client has sent. The name indication may be any of the enumeration +This function will allow you to get the name indication (if any), +a client has sent. The name indication may be any of the enumeration gnutls_server_name_type_t. -If \fItype\fP is GNUTLS_NAME_DNS, then this function is to be used by -servers that support virtual hosting, and the data will be a null -terminated UTF\-8 string. +If \fItype\fP is GNUTLS_NAME_DNS, then this function is to be used by servers +that support virtual hosting, and the data will be a null terminated UTF\-8 string. -If \fIdata\fP has not enough size to hold the server name -GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and \fIdata_length\fP will -hold the required size. +If \fIdata\fP has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER +is returned, and \fIdata_length\fP will hold the required size. -\fIindex\fP is used to retrieve more than one server names (if sent by -the client). The first server name has an index of 0, the second 1 -and so on. If no name with the given index exists -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +\fIindex\fP is used to retrieve more than one server names (if sent by the client). +The first server name has an index of 0, the second 1 and so on. If no name with the given +index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_server_name_set.3 gnutls26-2.4.1/doc/manpages/gnutls_server_name_set.3 --- gnutls26-2.8.6/doc/manpages/gnutls_server_name_set.3 2010-03-15 10:32:25.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_server_name_set.3 2008-06-30 22:13:07.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_server_name_set" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_server_name_set" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_server_name_set \- set a name indicator to be sent as an extension +gnutls_server_name_set \- Used to set a name indicator to be sent as an extension .SH SYNOPSIS .B #include .sp @@ -16,28 +16,22 @@ .IP "size_t name_length" 12 holds the length of name .SH "DESCRIPTION" -This function is to be used by clients that want to inform (via a -TLS extension mechanism) the server of the name they connected to. -This should be used by clients that connect to servers that do -virtual hosting. +This function is to be used by clients that want to inform +(via a TLS extension mechanism) the server of the name they +connected to. This should be used by clients that connect +to servers that do virtual hosting. -The value of \fIname\fP depends on the \fIind\fP type. In case of -GNUTLS_NAME_DNS, an ASCII or UTF\-8 null terminated string, without -the trailing dot, is expected. IPv4 or IPv6 addresses are not -permitted. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +The value of \fIname\fP depends on the \fIind\fP type. In case of GNUTLS_NAME_DNS, +an ASCII or UTF\-8 null terminated string, without the trailing dot, is expected. +IPv4 or IPv6 addresses are not permitted. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_enable_compatibility_mode.3 gnutls26-2.4.1/doc/manpages/gnutls_session_enable_compatibility_mode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_enable_compatibility_mode.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_enable_compatibility_mode.3 2008-06-30 22:13:26.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_enable_compatibility_mode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_enable_compatibility_mode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_enable_compatibility_mode \- disable certain features in TLS in order to honour compatibility .SH SYNOPSIS @@ -19,14 +19,12 @@ everything out there, need to call this function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_client_random.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_client_random.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_client_random.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_client_random.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_client_random" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_client_random" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_client_random \- get the session's client random value .SH SYNOPSIS @@ -20,14 +20,12 @@ pointer to client random data. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_data2.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_data2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_data2.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_data2.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_data2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_data2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_data2 \- Returns all session parameters. .SH SYNOPSIS @@ -10,14 +10,12 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .IP "gnutls_datum_t * data" 12 -is a pointer to a datum that will hold the session. .SH "DESCRIPTION" -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -\fBgnutls_session_set_data()\fP. This function must be called after a -successful handshake. The returned datum must be freed with -\fBgnutls_free()\fP. +Returns all session parameters, in order to support resuming. +The client should call this, and keep the returned session, if he wants to +resume that current version later by calling \fBgnutls_session_set_data()\fP +This function must be called after a successful handshake. The returned +datum must be freed with \fBgnutls_free()\fP. Resuming sessions is really useful and speedups connections after a succesful one. @@ -26,14 +24,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_data.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_data.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_data.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_data \- Returns all session parameters. .SH SYNOPSIS @@ -27,14 +27,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_id.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_id.3 2008-06-30 22:13:22.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_id \- Returns session id. .SH SYNOPSIS @@ -27,14 +27,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_master_secret.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_master_secret.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_master_secret.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_master_secret.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_master_secret" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_master_secret" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_master_secret \- get the session's master secret value .SH SYNOPSIS @@ -23,14 +23,12 @@ pointer to master secret data. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_ptr.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_ptr.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_ptr \- Get the user pointer from the session structure .SH SYNOPSIS @@ -17,14 +17,12 @@ \fBNULL\fP if it was never set. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_get_server_random.3 gnutls26-2.4.1/doc/manpages/gnutls_session_get_server_random.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_get_server_random.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_get_server_random.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_get_server_random" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_get_server_random" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_get_server_random \- get the session's server random value .SH SYNOPSIS @@ -20,14 +20,12 @@ pointer to server random data. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_is_resumed.3 gnutls26-2.4.1/doc/manpages/gnutls_session_is_resumed.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_is_resumed.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_is_resumed.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_is_resumed" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_is_resumed" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_is_resumed \- check whether this session is a resumed one .SH SYNOPSIS @@ -16,14 +16,12 @@ a new session. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_set_data.3 gnutls26-2.4.1/doc/manpages/gnutls_session_set_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_set_data.3 2010-03-15 10:32:42.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_set_data.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_set_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_set_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_set_data \- Sets all session parameters .SH SYNOPSIS @@ -27,14 +27,12 @@ an error code is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_set_finished_function.3 gnutls26-2.4.1/doc/manpages/gnutls_session_set_finished_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_set_finished_function.3 2010-03-15 10:32:45.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_set_finished_function.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_set_finished_function" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_session_set_finished_function \- API function -.SH SYNOPSIS -.B #include -.sp -.BI "void gnutls_session_set_finished_function(gnutls_session_t " session ", gnutls_finished_callback_func " func ");" -.SH ARGUMENTS -.IP "gnutls_session_t session" 12 -is a \fBgnutls_session_t\fP structure. -.IP "gnutls_finished_callback_func func" 12 -a \fBgnutls_finished_callback_func\fP callback. -.SH "DESCRIPTION" -Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. -.SH "THE CALLBACK SHOULD FOLLOW THIS PROTOTYPE" - -void callback (gnutls_session_t \fIsession\fP, const void *\fIfinished\fP, size_t \fIlen\fP); - -The \fIfinished\fP parameter will contain the binary TLS finished -message, and \fIlen\fP will contains its length. For SSLv3 connections, -the \fIlen\fP parameter will be 36 and for TLS connections it will be -12. - -It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_session_set_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_session_set_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_session_set_ptr.3 2010-03-15 10:32:46.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_session_set_ptr.3 2008-06-30 22:13:25.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_session_set_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_session_set_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_session_set_ptr \- Used to set the user pointer to the session structure .SH SYNOPSIS @@ -17,14 +17,12 @@ \fBgnutls_session_get_ptr()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_set_default_export_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_set_default_export_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_set_default_export_priority.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_set_default_export_priority.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_set_default_export_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_set_default_export_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_set_default_export_priority \- Sets some default priority on the cipher suites supported by gnutls. .SH SYNOPSIS @@ -25,14 +25,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_set_default_priority.3 gnutls26-2.4.1/doc/manpages/gnutls_set_default_priority.3 --- gnutls26-2.8.6/doc/manpages/gnutls_set_default_priority.3 2010-03-15 10:32:38.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_set_default_priority.3 2008-06-30 22:13:19.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_set_default_priority" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_set_default_priority" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_set_default_priority \- Sets some default priority on the cipher suites supported by gnutls. .SH SYNOPSIS @@ -25,14 +25,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_algorithm_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_algorithm_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_algorithm_get_name.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_algorithm_get_name.3 2008-06-30 22:13:10.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_algorithm_get_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_sign_algorithm_get_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_sign_algorithm_get_name \- Returns a string with the name of the specified sign algorithm .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "const char * gnutls_sign_algorithm_get_name(gnutls_sign_algorithm_t " sign ");" .SH ARGUMENTS .IP "gnutls_sign_algorithm_t sign" 12 -is a sign algorithm .SH "DESCRIPTION" Convert a \fBgnutls_sign_algorithm_t\fP value to a string. .SH "RETURNS" @@ -16,14 +15,12 @@ algorithm, or \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_callback_get.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_callback_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_callback_get.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_callback_get.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_callback_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_sign_callback_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_sign_callback_get \- API function .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_session_t session" 12 is a gnutls session .IP "void ** userdata" 12 -if non\-\fBNULL\fP, will be set to abstract callback pointer. +if non-\fBNULL\fP, will be set to abstract callback pointer. .SH "DESCRIPTION" Retrieve the callback function, and its userdata pointer. .SH "RETURNS" @@ -18,14 +18,12 @@ if not set, \fBNULL\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_callback_set.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_callback_set.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_callback_set.3 2010-03-15 10:32:32.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_callback_set.3 2008-06-30 22:13:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_callback_set" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_sign_callback_set" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_sign_callback_set \- API function .SH SYNOPSIS @@ -28,14 +28,12 @@ callback function. See also \fBgnutls_sign_callback_get()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_get_id.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_get_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_get_id.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_get_id.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_get_id" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_sign_get_id \- Returns the gnutls id of the specified in signature algorithm -.SH SYNOPSIS -.B #include -.sp -.BI "gnutls_sign_algorithm_t gnutls_sign_get_id(const char * " name ");" -.SH ARGUMENTS -.IP "const char * name" 12 -is a MAC algorithm name -.SH "DESCRIPTION" -The names are compared in a case insensitive way. -.SH "RETURNS" -return a \fBgnutls_sign_algorithm_t\fP value corresponding to -the specified cipher, or \fBGNUTLS_SIGN_UNKNOWN\fP on error. -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_get_name.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_get_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_get_name.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_get_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_get_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_sign_get_name \- Get name string for a #gnutls_sign_algorithm_t -.SH SYNOPSIS -.B #include -.sp -.BI "const char * gnutls_sign_get_name(gnutls_sign_algorithm_t " algorithm ");" -.SH ARGUMENTS -.IP "gnutls_sign_algorithm_t algorithm" 12 -is a public key signature algorithm -.SH "DESCRIPTION" -Convert a \fBgnutls_sign_algorithm_t\fP value to a string. -.SH "RETURNS" -a pointer to a string that contains the name of the -specified public key signature algorithm, or \fBNULL\fP. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_sign_list.3 gnutls26-2.4.1/doc/manpages/gnutls_sign_list.3 --- gnutls26-2.8.6/doc/manpages/gnutls_sign_list.3 2010-03-15 10:32:28.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_sign_list.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_sign_list" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_sign_list \- Get a list of supported public key signature algorithms -.SH SYNOPSIS -.B #include -.sp -.BI "const gnutls_sign_algorithm_t * gnutls_sign_list( " void ");" -.SH ARGUMENTS -.IP " void" 12 -.SH "DESCRIPTION" - -Get a list of supported public key signature algorithms. -.SH "RETURNS" -a zero\-terminated list of \fBgnutls_sign_algorithm_t\fP -integers indicating the available ciphers. -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_allocate_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_allocate_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_allocate_client_credentials.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_allocate_client_credentials.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_allocate_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_allocate_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_allocate_client_credentials \- Used to allocate an gnutls_srp_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_srp_client_credentials_t * sc" 12 -is a pointer to a \fBgnutls_srp_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_srp_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -17,14 +17,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_allocate_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_allocate_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_allocate_server_credentials.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_allocate_server_credentials.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_allocate_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_allocate_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_allocate_server_credentials \- Used to allocate an gnutls_srp_server_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t * " sc ");" .SH ARGUMENTS .IP "gnutls_srp_server_credentials_t * sc" 12 -is a pointer to a \fBgnutls_srp_server_credentials_t\fP structure. +is a pointer to an \fBgnutls_srp_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -17,14 +17,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_decode.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_decode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_decode.3 2010-03-15 10:32:23.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_decode.3 2008-06-30 22:13:06.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_base64_decode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_base64_decode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_base64_decode \- decode SRP-base64 encoded data .SH SYNOPSIS @@ -26,14 +26,12 @@ long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_decode_alloc.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_decode_alloc.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_decode_alloc.3 2010-03-15 10:32:24.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_decode_alloc.3 2008-06-30 22:13:06.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_base64_decode_alloc" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_base64_decode_alloc" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_base64_decode_alloc \- decode SRP-base64 encoded data .SH SYNOPSIS @@ -24,14 +24,12 @@ 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_encode.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_encode.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_encode.3 2010-03-15 10:32:23.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_encode.3 2008-06-30 22:13:06.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_base64_encode" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_base64_encode" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_base64_encode \- Encode raw data using SRP-Base64 .SH SYNOPSIS @@ -26,14 +26,12 @@ long enough, or 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_encode_alloc.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_encode_alloc.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_base64_encode_alloc.3 2010-03-15 10:32:23.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_base64_encode_alloc.3 2008-06-30 22:13:06.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_base64_encode_alloc" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_base64_encode_alloc" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_base64_encode_alloc \- encode raw data using SRP-Base64 .SH SYNOPSIS @@ -25,14 +25,12 @@ 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_free_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_free_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_free_client_credentials.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_free_client_credentials.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_free_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_free_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_free_client_credentials \- Used to free an allocated gnutls_srp_client_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_srp_free_client_credentials(gnutls_srp_client_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_srp_client_credentials_t sc" 12 -is a \fBgnutls_srp_client_credentials_t\fP structure. +is an \fBgnutls_srp_client_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_free_server_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_free_server_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_free_server_credentials.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_free_server_credentials.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_free_server_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_free_server_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_free_server_credentials \- Used to free an allocated gnutls_srp_server_credentials_t structure .SH SYNOPSIS @@ -8,20 +8,18 @@ .BI "void gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t " sc ");" .SH ARGUMENTS .IP "gnutls_srp_server_credentials_t sc" 12 -is a \fBgnutls_srp_server_credentials_t\fP structure. +is an \fBgnutls_srp_server_credentials_t\fP structure. .SH "DESCRIPTION" This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_server_get_username.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_server_get_username.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_server_get_username.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_server_get_username.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_server_get_username" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_server_get_username" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_server_get_username \- return the username of the peer .SH SYNOPSIS @@ -17,14 +17,12 @@ SRP username of the peer, or NULL in case of error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_set_client_credentials.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_set_client_credentials.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_set_client_credentials.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_set_client_credentials.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_set_client_credentials" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_set_client_credentials" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_set_client_credentials \- Used to set the username/password, in a gnutls_srp_client_credentials_t structure .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t " res ", const char * " username ", const char * " password ");" .SH ARGUMENTS .IP "gnutls_srp_client_credentials_t res" 12 -is a \fBgnutls_srp_client_credentials_t\fP structure. +is an \fBgnutls_srp_client_credentials_t\fP structure. .IP "const char * username" 12 is the user's userid .IP "const char * password" 12 @@ -24,14 +24,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_set_client_credentials_function.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_set_client_credentials_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_set_client_credentials_function.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_set_client_credentials_function.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,15 +1,15 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_set_client_credentials_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_set_client_credentials_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_set_client_credentials_function \- Used to set a callback to retrieve the username and password .SH SYNOPSIS .B #include .sp -.BI "void gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t " cred ", gnutls_srp_client_credentials_function * " func ");" +.BI "void gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t " cred ", gnutls_srp_client_credentials_function * " func ");" .SH ARGUMENTS -.IP "gnutls_srp_client_credentials_t cred" 12 +.IP "gnutls_srp_client_credentials_t cred" 12 is a \fBgnutls_srp_server_credentials_t\fP structure. -.IP "gnutls_srp_client_credentials_function * func" 12 +.IP "gnutls_srp_client_credentials_function * func" 12 is the callback function .SH "DESCRIPTION" This function can be used to set a callback to retrieve the username and @@ -34,14 +34,12 @@ \-1 indicates an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_set_prime_bits.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_set_prime_bits.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_set_prime_bits.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_set_prime_bits.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_set_prime_bits" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_srp_set_prime_bits \- set the minimum bits for a SRP ciphersuite -.SH SYNOPSIS -.B #include -.sp -.BI "void gnutls_srp_set_prime_bits(gnutls_session_t " session ", unsigned int " bits ");" -.SH ARGUMENTS -.IP "gnutls_session_t session" 12 -is a \fBgnutls_session_t\fP structure. -.IP "unsigned int bits" 12 -is the number of bits -.SH "DESCRIPTION" -This function sets the minimum accepted number of bits, for use in -an SRP key exchange. If zero, the default 2048 bits will be used. - -In the client side it sets the minimum accepted number of bits. If -a server sends a prime with less bits than that -\fBGNUTLS_E_RECEIVED_ILLEGAL_PARAMETER\fP will be returned by the -handshake. - -This function has no effect in server side. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_set_server_credentials_file.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_set_server_credentials_file.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_set_server_credentials_file.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_set_server_credentials_file.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_set_server_credentials_file" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_set_server_credentials_file" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_set_server_credentials_file \- Used to set the password files, in a gnutls_srp_server_credentials_t structure .SH SYNOPSIS .B #include .sp -.BI "int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t " res ", const char * " password_file ", const char * " password_conf_file ");" +.BI "int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t " res ", const char * " password_file ", const char * " password_conf_file ");" .SH ARGUMENTS -.IP "gnutls_srp_server_credentials_t res" 12 -is a \fBgnutls_srp_server_credentials_t\fP structure. +.IP "gnutls_srp_server_credentials_t res" 12 +is an \fBgnutls_srp_server_credentials_t\fP structure. .IP "const char * password_file" 12 is the SRP password file (tpasswd) .IP "const char * password_conf_file" 12 @@ -23,14 +23,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_set_server_credentials_function.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_set_server_credentials_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_set_server_credentials_function.3 2010-03-15 10:32:43.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_set_server_credentials_function.3 2008-06-30 22:13:23.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_set_server_credentials_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_set_server_credentials_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_set_server_credentials_function \- Used to set a callback to retrieve the user's SRP credentials .SH SYNOPSIS @@ -36,14 +36,12 @@ \-1 indicates an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_srp_verifier.3 gnutls26-2.4.1/doc/manpages/gnutls_srp_verifier.3 --- gnutls26-2.8.6/doc/manpages/gnutls_srp_verifier.3 2010-03-15 10:32:44.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_srp_verifier.3 2008-06-30 22:13:24.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_srp_verifier" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_srp_verifier" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_srp_verifier \- Used to calculate an SRP verifier .SH SYNOPSIS @@ -33,14 +33,12 @@ error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_strerror.3 gnutls26-2.4.1/doc/manpages/gnutls_strerror.3 --- gnutls26-2.8.6/doc/manpages/gnutls_strerror.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_strerror.3 2008-06-30 22:13:15.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_strerror" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_strerror" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_strerror \- Returns a string with a description of an error .SH SYNOPSIS @@ -8,25 +8,19 @@ .BI "const char * gnutls_strerror(int " error ");" .SH ARGUMENTS .IP "int error" 12 -is a GnuTLS error code, a negative value +is an error returned by a gnutls function. Error is always a negative value. .SH "DESCRIPTION" -This function is similar to \fBstrerror()\fP. Differences: it accepts an -error number returned by a gnutls function; In case of an unknown -error a descriptive string is sent instead of NULL. - -Error codes are always a negative value. -.SH "RETURNS" -A string explaining the GnuTLS error message. +This function is similar to \fBstrerror()\fP. Differences: it accepts an error +number returned by a gnutls function; In case of an unknown error +a descriptive string is sent instead of NULL. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_strerror_name.3 gnutls26-2.4.1/doc/manpages/gnutls_strerror_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_strerror_name.3 2010-03-15 10:32:35.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_strerror_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_strerror_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_strerror_name \- API function -.SH SYNOPSIS -.B #include -.sp -.BI "const char * gnutls_strerror_name(int " error ");" -.SH ARGUMENTS -.IP "int error" 12 -is an error returned by a gnutls function. -.SH "DESCRIPTION" -Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". -.SH "RETURNS" -A string corresponding to the symbol name of the error -code. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_get_ptr2.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_get_ptr2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_get_ptr2.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_get_ptr2.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_get_ptr2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_get_ptr2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_get_ptr2 \- Used to return the first argument of the transport functions .SH SYNOPSIS @@ -19,14 +19,12 @@ \fBgnutls_transport_set_ptr2()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_get_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_get_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_get_ptr.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_get_ptr.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_get_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_get_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_get_ptr \- Used to return the first argument of the transport functions .SH SYNOPSIS @@ -17,14 +17,12 @@ first argument of the transport function. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_errno.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_errno.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_errno.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_errno.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_errno" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_errno" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_errno \- API function .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_session_t session" 12 is a \fBgnutls_session_t\fP structure. .IP "int err" 12 -error value to store in session\-specific errno variable. +error value to store in session-specific errno variable. .SH "DESCRIPTION" Store \fIerr\fP in the session\-specific errno variable. Useful values for \fIerr\fP is EAGAIN and EINTR, other values are treated will be @@ -28,14 +28,12 @@ also use \fBgnutls_transport_set_global_errno()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_global_errno.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_global_errno.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_global_errno.3 2010-03-15 10:32:30.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_global_errno.3 2008-06-30 22:13:11.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_global_errno" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_global_errno" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_global_errno \- API function .SH SYNOPSIS @@ -27,14 +27,12 @@ thread\-safe \fBgnutls_transport_set_errno()\fP may be better. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_lowat.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_lowat.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_lowat.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_lowat.3 2008-06-30 22:13:20.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_lowat" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_lowat" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_lowat \- Used to set the lowat value in order for select to check for pending data. .SH SYNOPSIS @@ -20,14 +20,12 @@ to zero. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_ptr2.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_ptr2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_ptr2.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_ptr2.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_ptr2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_ptr2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_ptr2 \- Used to set first argument of the transport functions .SH SYNOPSIS @@ -20,14 +20,12 @@ different pointers for receiving and sending. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_ptr.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_ptr.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_ptr.3 2010-03-15 10:32:40.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_ptr.3 2008-06-30 22:13:21.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_ptr" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_ptr" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_ptr \- Used to set first argument of the transport functions .SH SYNOPSIS @@ -17,14 +17,12 @@ the connection handle. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_pull_function.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_pull_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_pull_function.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_pull_function.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_pull_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_pull_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_pull_function \- set a read like function .SH SYNOPSIS @@ -12,22 +12,21 @@ .IP "gnutls_pull_func pull_func" 12 a callback function similar to \fBread()\fP .SH "DESCRIPTION" -This is the function where you set a function for gnutls to receive -data. Normally, if you use berkeley style sockets, do not need to -use this function since the default (recv(2)) will probably be ok. +This is the function where you set a function for gnutls +to receive data. Normally, if you use berkeley style sockets, +do not need to use this function since the default (recv(2)) will +probably be ok. -PULL_FUNC is of the form, +PULL_FUNC is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_transport_set_push_function.3 gnutls26-2.4.1/doc/manpages/gnutls_transport_set_push_function.3 --- gnutls26-2.8.6/doc/manpages/gnutls_transport_set_push_function.3 2010-03-15 10:32:36.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_transport_set_push_function.3 2008-06-30 22:13:16.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_transport_set_push_function" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_transport_set_push_function" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_transport_set_push_function \- set the function to send data .SH SYNOPSIS @@ -12,24 +12,22 @@ .IP "gnutls_push_func push_func" 12 a callback function similar to \fBwrite()\fP .SH "DESCRIPTION" -This is the function where you set a push function for gnutls to -use in order to send data. If you are going to use berkeley style -sockets, you do not need to use this function since the default -(send(2)) will probably be ok. Otherwise you should specify this -function for gnutls to be able to send data. +This is the function where you set a push function for gnutls +to use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since +the default (send(2)) will probably be ok. Otherwise you should +specify this function for gnutls to be able to send data. -PUSH_FUNC is of the form, +PUSH_FUNC is of the form, ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t); .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_check_issuer.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_check_issuer.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_check_issuer.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_check_issuer.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_check_issuer" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_check_issuer" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_x509_crl_check_issuer \- checks if CRL has given issuer +gnutls_x509_crl_check_issuer \- This function checks if the CRL given has the given issuer .SH SYNOPSIS .B #include .sp @@ -11,22 +11,19 @@ .IP "gnutls_x509_crt_t issuer" 12 is the certificate of a possible issuer .SH "DESCRIPTION" -This function will check if the given CRL was issued by the given -issuer certificate. It will return true (1) if the given CRL was -issued by the given issuer, and false (0) if not. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. +This function will check if the given CRL was issued by the +given issuer certificate. It will return true (1) if the given CRL was issued +by the given issuer, and false (0) if not. + +A negative value is returned in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_deinit.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_deinit.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_deinit \- deinitializes a #gnutls_x509_crl_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a CRL structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_export.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_export.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_export.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_export \- export the CRL .SH SYNOPSIS @@ -29,14 +29,12 @@ negative error value. and a negative value on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_authority_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_authority_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_authority_key_id.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_authority_key_id.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_authority_key_id" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_get_authority_key_id \- get the CRL authority's identifier -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t " crl ", void * " ret ", size_t * " ret_size ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -should contain a \fBgnutls_x509_crl_t\fP structure -.IP "void * ret" 12 -The place where the identifier will be copied -.IP "size_t * ret_size" 12 -Holds the size of the result field. -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -(may be null) -.SH "DESCRIPTION" -This function will return the CRL authority's key identifier. This -is obtained by the X.509 Authority Key identifier extension field -(2.5.29.35). Note that this function only returns the -keyIdentifier field of the extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_crt_count.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_crt_count.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_crt_count.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_crt_count.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_crt_count" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_crt_count" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_crt_count \- get number of revoked certificates in a CRL .SH SYNOPSIS @@ -16,14 +16,12 @@ number of certificates, a negative value on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_crt_serial.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_crt_serial.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_crt_serial.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_crt_serial.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_crt_serial" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_crt_serial" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_crt_serial \- get the serial number of a revoked certificate .SH SYNOPSIS @@ -25,14 +25,12 @@ negative error value. and a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_dn_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_dn_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_dn_oid.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_dn_oid.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_dn_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_dn_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_dn_oid \- returns the Certificate request issuer's distinguished name OIDs .SH SYNOPSIS @@ -26,14 +26,12 @@ with the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_data.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_data.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_extension_data" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_get_extension_data \- Get the specified extension data -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t " crl ", int " indx ", void * " data ", size_t * " sizeof_data ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -should contain a \fBgnutls_x509_crl_t\fP structure -.IP "int indx" 12 -Specifies which extension OID to send. Use zero to get the first one. -.IP "void * data" 12 -a pointer to a structure to hold the data (may be null) -.IP "size_t * sizeof_data" 12 -initially holds the size of \fIoid\fP -.SH "DESCRIPTION" -This function will return the requested extension data in the CRL. -The extension data will be stored as a string in the provided -buffer. - -Use \fBgnutls_x509_crl_get_extension_info()\fP to extract the OID and -critical flag. Use \fBgnutls_x509_crl_get_extension_by_oid()\fP instead, -if you want to get data indexed by the extension OID rather than -sequence. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_info.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_info.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_info.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_info.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_extension_info" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_get_extension_info \- Get extension id and criticality -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t " crl ", int " indx ", void * " oid ", size_t * " sizeof_oid ", int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -should contain a \fBgnutls_x509_crl_t\fP structure -.IP "int indx" 12 -Specifies which extension OID to send, use zero to get the first one. -.IP "void * oid" 12 -a pointer to a structure to hold the OID -.IP "size_t * sizeof_oid" 12 -initially holds the maximum size of \fIoid\fP, on return -holds actual size of \fIoid\fP. -.IP "int * critical" 12 -output variable with critical flag, may be NULL. -.SH "DESCRIPTION" -This function will return the requested extension OID in the CRL, -and the critical flag for it. The extension OID will be stored as -a string in the provided buffer. Use -\fBgnutls_x509_crl_get_extension_data()\fP to extract the data. - -If the buffer provided is not long enough to hold the output, then -*\fIsizeof_oid\fP is updated and \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP will be -returned. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_extension_oid.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_extension_oid.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_extension_oid" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_get_extension_oid \- get the specified extension OID -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t " crl ", int " indx ", void * " oid ", size_t * " sizeof_oid ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -should contain a \fBgnutls_x509_crl_t\fP structure -.IP "int indx" 12 -Specifies which extension OID to send, use zero to get the first one. -.IP "void * oid" 12 -a pointer to a structure to hold the OID (may be null) -.IP "size_t * sizeof_oid" 12 -initially holds the size of \fIoid\fP -.SH "DESCRIPTION" -This function will return the requested extension OID in the CRL. -The extension OID will be stored as a string in the provided -buffer. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_issuer_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_issuer_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_issuer_dn.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_issuer_dn.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_issuer_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_issuer_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_issuer_dn \- returns the CRL's issuer distinguished name .SH SYNOPSIS @@ -26,14 +26,12 @@ with the required size, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_issuer_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_issuer_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_issuer_dn_by_oid \- return the CRL's issuer distinguished name .SH SYNOPSIS @@ -38,14 +38,12 @@ with the required size, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_next_update.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_next_update.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_next_update.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_next_update.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_next_update" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_next_update" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_next_update \- return the CRL's nextUpdate time .SH SYNOPSIS @@ -17,14 +17,12 @@ when the next CRL will be issued, or (time_t)\-1 on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_number.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_number.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_number.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_number.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_number" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_get_number \- get the CRL number (extension) -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_get_number(gnutls_x509_crl_t " crl ", void * " ret ", size_t * " ret_size ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -should contain a \fBgnutls_x509_crl_t\fP structure -.IP "void * ret" 12 -The place where the number will be copied -.IP "size_t * ret_size" 12 -Holds the size of the result field. -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -(may be null) -.SH "DESCRIPTION" -This function will return the CRL number extension. This is -obtained by the CRL Number extension field (2.5.29.20). -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_signature.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_signature.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_signature.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_signature.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_signature" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_signature" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_signature \- Returns the CRL's signature .SH SYNOPSIS @@ -20,14 +20,12 @@ negative error value. and a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_signature_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_signature_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_signature_algorithm.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_signature_algorithm.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_signature_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_signature_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_signature_algorithm \- returns the CRL's signature algorithm .SH SYNOPSIS @@ -17,14 +17,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_this_update.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_this_update.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_this_update.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_this_update.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_this_update" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_this_update" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_this_update \- return the CRL's thisUpdate time .SH SYNOPSIS @@ -15,14 +15,12 @@ when the CRL was issued, or (time_t)\-1 on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_get_version.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_get_version.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_get_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_get_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_get_version \- returns the CRL's version number .SH SYNOPSIS @@ -15,14 +15,12 @@ The version number, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_import.3 2010-03-15 10:32:52.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_import.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_import \- import a DER or PEM encoded CRL .SH SYNOPSIS @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_init.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_init.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_init.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_init \- initializes a #gnutls_x509_crl_t structure .SH SYNOPSIS @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_print.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_print.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_print.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_print.3 2008-06-30 22:13:34.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_print" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_print" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_print \- Pretty print X.509 certificate revocation list .SH SYNOPSIS @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_authority_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_authority_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_authority_key_id.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_authority_key_id.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_authority_key_id" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_set_authority_key_id \- Set the CRL's authority key id -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t " crl ", const void * " id ", size_t " id_size ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -a CRL of type \fBgnutls_x509_crl_t\fP -.IP "const void * id" 12 -The key ID -.IP "size_t id_size" 12 -Holds the size of the serial field. -.SH "DESCRIPTION" -This function will set the CRL's authority key ID extension. Only -the keyIdentifier field can be set with this function. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_crt.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_crt.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_crt.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_crt.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_crt" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_set_crt" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_set_crt \- This function will set a revoked certificate's serial number .SH SYNOPSIS @@ -10,7 +10,7 @@ .IP "gnutls_x509_crl_t crl" 12 should contain a gnutls_x509_crl_t structure .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP with the revoked certificate +should contain a gnutls_x509_crt_t structure with the revoked certificate .IP "time_t revocation_time" 12 The time this certificate was revoked .SH "DESCRIPTION" @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_crt_serial.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_crt_serial.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_crt_serial.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_crt_serial.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_crt_serial" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_set_crt_serial" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_set_crt_serial \- This function will set a revoked certificate's serial number .SH SYNOPSIS @@ -22,14 +22,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_next_update.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_next_update.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_next_update.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_next_update.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_next_update" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_set_next_update" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_set_next_update \- This function will set the CRL next update time .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_number.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_number.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_number.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_number.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_number" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crl_set_number \- Set the CRL's number extension -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crl_set_number(gnutls_x509_crl_t " crl ", const void * " nr ", size_t " nr_size ");" -.SH ARGUMENTS -.IP "gnutls_x509_crl_t crl" 12 -a CRL of type \fBgnutls_x509_crl_t\fP -.IP "const void * nr" 12 -The CRL number -.IP "size_t nr_size" 12 -Holds the size of the nr field. -.SH "DESCRIPTION" -This function will set the CRL's number extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_this_update.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_this_update.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_this_update.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_this_update.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_this_update" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_set_this_update" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_set_this_update \- This function will set the CRL's issuing time .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_set_version.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_set_version.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_set_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_set_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_set_version \- This function will set the CRL version .SH SYNOPSIS @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_sign2.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_sign2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_sign2.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_sign2.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_sign2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_sign2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_sign2 \- This function will sign a CRL with a key .SH SYNOPSIS @@ -28,14 +28,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_sign.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_sign.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_sign.3 2010-03-15 10:32:53.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_sign.3 2008-06-30 22:13:31.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_sign" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_sign" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_sign \- This function will sign a CRL with a key .SH SYNOPSIS @@ -21,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_verify.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_verify.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crl_verify.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crl_verify.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crl_verify" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crl_verify" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crl_verify \- This function verifies the given crl against a given trusted one .SH SYNOPSIS @@ -23,17 +23,15 @@ return values. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_deinit.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_deinit.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_deinit \- This function deinitializes memory used by a gnutls_x509_crq_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a CRL structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_export.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_export.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_export.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_export \- Export the generated certificate request .SH SYNOPSIS @@ -30,14 +30,12 @@ returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_attribute_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_attribute_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_attribute_by_oid \- This function will get an attribute of the request .SH SYNOPSIS @@ -26,14 +26,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_data.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_data.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_attribute_data" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_attribute_data \- Get the specified attribute data -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t " cert ", int " indx ", void * " data ", size_t * " sizeof_data ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "int indx" 12 -Specifies which attribute OID to send. Use zero to get the first one. -.IP "void * data" 12 -a pointer to a structure to hold the data (may be null) -.IP "size_t * sizeof_data" 12 -initially holds the size of \fIoid\fP -.SH "DESCRIPTION" -This function will return the requested attribute data in the -certificate request. The attribute data will be stored as a string in the -provided buffer. - -Use \fBgnutls_x509_crq_get_attribute_info()\fP to extract the OID. -Use \fBgnutls_x509_crq_get_attribute_by_oid()\fP instead, -if you want to get data indexed by the attribute OID rather than -sequence. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_info.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_info.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_attribute_info.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_attribute_info.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_attribute_info" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_attribute_info \- Get attribute id -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t " cert ", int " indx ", void * " oid ", size_t * " sizeof_oid ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "int indx" 12 -Specifies which attribute OID to send. Use zero to get the first one. -.IP "void * oid" 12 -a pointer to a structure to hold the OID -.IP "size_t * sizeof_oid" 12 -initially holds the maximum size of \fIoid\fP, on return -holds actual size of \fIoid\fP. -.SH "DESCRIPTION" -This function will return the requested attribute OID in the -certificate, and the critical flag for it. The attribute OID will -be stored as a string in the provided buffer. Use -\fBgnutls_x509_crq_get_attribute_data()\fP to extract the data. - -If the buffer provided is not long enough to hold the output, then -*\fIsizeof_oid\fP is updated and \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP will be -returned. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_basic_constraints.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_basic_constraints.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_basic_constraints.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_basic_constraints.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_basic_constraints" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_basic_constraints \- get certificate's basic constraints -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t " cert ", unsigned int * " critical ", int * " ca ", int * " pathlen ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -.IP "int * ca" 12 -pointer to output integer indicating CA status, may be NULL, -value is 1 if the certificate CA flag is set, 0 otherwise. -.IP "int * pathlen" 12 -pointer to output integer indicating path length (may be -NULL), non\-negative values indicate a present pathLenConstraint -field and the actual value, \-1 indicate that the field is absent. -.SH "DESCRIPTION" -This function will read the certificate's basic constraints, and -return the certificates CA status. It reads the basicConstraints -X.509 extension (2.5.29.19). -.SH "RETURN VALUE" -If the certificate is a CA a positive value will be -returned, or zero if the certificate does not have CA flag set. -A negative value may be returned in case of errors. If the -certificate does not contain the basicConstraints extension -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_challenge_password.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_challenge_password.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_challenge_password.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_challenge_password.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_challenge_password" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_challenge_password" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_challenge_password \- This function will get the challenge password .SH SYNOPSIS @@ -21,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_dn \- This function returns the Certificate request subject's distinguished name .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn_by_oid.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn_by_oid.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_dn_by_oid \- This function returns the Certificate request subject's distinguished name .SH SYNOPSIS @@ -39,14 +39,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_dn_oid.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_dn_oid.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_dn_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_dn_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_dn_oid \- This function returns the Certificate request subject's distinguished name OIDs .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_by_oid.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_by_oid.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_extension_by_oid" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_extension_by_oid \- get the specified extension -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t " cert ", const char * " oid ", int " indx ", void * " buf ", size_t * " sizeof_buf ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "const char * oid" 12 -holds an Object Identified in null terminated string -.IP "int indx" 12 -In case multiple same OIDs exist in the extensions, this -specifies which to send. Use zero to get the first one. -.IP "void * buf" 12 -a pointer to a structure to hold the name (may be null) -.IP "size_t * sizeof_buf" 12 -initially holds the size of \fIbuf\fP -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -.SH "DESCRIPTION" -This function will return the extension specified by the OID in -the certificate. The extensions will be returned as binary data -DER encoded, in the provided buffer. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If the certificate does not -contain the specified extension -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_data.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_data.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_extension_data" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_extension_data \- Get the specified extension data -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t " cert ", int " indx ", void * " data ", size_t * " sizeof_data ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "int indx" 12 -Specifies which extension OID to send. Use zero to get the first one. -.IP "void * data" 12 -a pointer to a structure to hold the data (may be null) -.IP "size_t * sizeof_data" 12 -initially holds the size of \fIoid\fP -.SH "DESCRIPTION" -This function will return the requested extension data in the -certificate. The extension data will be stored as a string in the -provided buffer. - -Use \fBgnutls_x509_crq_get_extension_info()\fP to extract the OID and -critical flag. Use \fBgnutls_x509_crq_get_extension_by_oid()\fP instead, -if you want to get data indexed by the extension OID rather than -sequence. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_info.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_info.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_extension_info.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_extension_info.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_extension_info" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_extension_info \- Get extension id and criticality -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t " cert ", int " indx ", void * " oid ", size_t * " sizeof_oid ", int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "int indx" 12 -Specifies which extension OID to send. Use zero to get the first one. -.IP "void * oid" 12 -a pointer to a structure to hold the OID -.IP "size_t * sizeof_oid" 12 -initially holds the maximum size of \fIoid\fP, on return -holds actual size of \fIoid\fP. -.IP "int * critical" 12 -output variable with critical flag, may be NULL. -.SH "DESCRIPTION" -This function will return the requested extension OID in the -certificate, and the critical flag for it. The extension OID will -be stored as a string in the provided buffer. Use -\fBgnutls_x509_crq_get_extension_data()\fP to extract the data. - -If the buffer provided is not long enough to hold the output, then -*\fIsizeof_oid\fP is updated and \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP will be -returned. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_id.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_id.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_key_id" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_key_id \- Return unique ID of public key's parameters -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_key_id(gnutls_x509_crq_t " crq ", unsigned int " flags ", unsigned char * " output_data ", size_t * " output_data_size ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -Holds the certificate signing request -.IP "unsigned int flags" 12 -should be 0 for now -.IP "unsigned char * output_data" 12 -will contain the key ID -.IP "size_t * output_data_size" 12 -holds the size of output_data (and will be -replaced by the actual size of parameters) -.SH "DESCRIPTION" -This function will return a unique ID the depends on the public -key parameters. This ID can be used in checking whether a -certificate corresponds to the given private key. - -If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. The output will normally be a SHA\-1 hash output, -which is 20 bytes. -.SH "RETURN VALUE" -In case of failure a negative value will be -returned, and 0 on success. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_key_purpose_oid" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_key_purpose_oid \- get Certificate's key purpose OIDs -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t " cert ", int " indx ", void * " oid ", size_t * " sizeof_oid ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "int indx" 12 -This specifies which OID to return. Use zero to get the first one. -.IP "void * oid" 12 -a pointer to a buffer to hold the OID (may be null) -.IP "size_t * sizeof_oid" 12 -initially holds the size of \fIoid\fP -.IP "unsigned int * critical" 12 -output variable with critical flag, may be NULL. -.SH "DESCRIPTION" -This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions -for human readable names. - -If \fIoid\fP is null then only the size will be filled. -.SH "RETURNS" -\fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_key_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_key_rsa_raw \- export the RSA public key -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t " crq ", gnutls_datum_t * " m ", gnutls_datum_t * " e ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -Holds the certificate -.IP "gnutls_datum_t * m" 12 -will hold the modulus -.IP "gnutls_datum_t * e" 12 -will hold the public exponent -.SH "DESCRIPTION" -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -\fBgnutls_malloc()\fP and will be stored in the appropriate datum. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_key_usage.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_key_usage.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_key_usage" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_key_usage \- return the certificate's key usage -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t " cert ", unsigned int * " key_usage ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "unsigned int * key_usage" 12 -where the key usage bits will be stored -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -.SH "DESCRIPTION" -This function will return certificate's key usage, by reading the -keyUsage X.509 extension (2.5.29.15). The key usage value will -.SH "ORED VALUES OF THE" -\fBGNUTLS_KEY_DIGITAL_SIGNATURE\fP, -\fBGNUTLS_KEY_NON_REPUDIATION\fP, \fBGNUTLS_KEY_KEY_ENCIPHERMENT\fP, -\fBGNUTLS_KEY_DATA_ENCIPHERMENT\fP, \fBGNUTLS_KEY_KEY_AGREEMENT\fP, -\fBGNUTLS_KEY_KEY_CERT_SIGN\fP, \fBGNUTLS_KEY_CRL_SIGN\fP, -\fBGNUTLS_KEY_ENCIPHER_ONLY\fP, \fBGNUTLS_KEY_DECIPHER_ONLY\fP. -.SH "RETURNS" -the certificate key usage, or a negative value in case of -parsing error. If the certificate does not contain the keyUsage -extension \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be -returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_pk_algorithm.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_pk_algorithm.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_pk_algorithm \- This function returns the certificate request's PublicKey algorithm .SH SYNOPSIS @@ -24,14 +24,12 @@ success, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_subject_alt_name.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_subject_alt_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_subject_alt_name.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_subject_alt_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_subject_alt_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_subject_alt_name \- Get certificate's alternative name -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t " cert ", unsigned int " seq ", void * " ret ", size_t * " ret_size ", unsigned int * " ret_type ", unsigned int * " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "unsigned int seq" 12 -specifies the sequence number of the alt name, 0 for the -first one, 1 for the second etc. -.IP "void * ret" 12 -is the place where the alternative name will be copied to -.IP "size_t * ret_size" 12 -holds the size of ret. -.IP "unsigned int * ret_type" 12 -holds the \fBgnutls_x509_subject_alt_name_t\fP name type -.IP "unsigned int * critical" 12 -will be non zero if the extension is marked as critical -(may be null) -.SH "DESCRIPTION" -This function will return the alternative names, contained in the -given certificate. It is the same as -\fBgnutls_x509_crq_get_subject_alt_name()\fP except for the fact that it -will return the type of the alternative name in \fIret_type\fP even if -the function fails for some reason (i.e. the buffer provided is -not enough). -.SH "RETURNS" -the alternative subject name type on success, one of the -enumerated \fBgnutls_x509_subject_alt_name_t\fP. It will return -\fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if \fIret_size\fP is not large enough to -hold the value. In that case \fIret_size\fP will be updated with the -required size. If the certificate request does not have an -Alternative name with the specified sequence number then -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP is returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_subject_alt_othername_oid" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_get_subject_alt_othername_oid \- Get SAN otherName OID -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t " cert ", unsigned int " seq ", void * " ret ", size_t * " ret_size ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "unsigned int seq" 12 -specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) -.IP "void * ret" 12 -is the place where the otherName OID will be copied to -.IP "size_t * ret_size" 12 -holds the size of ret. -.SH "DESCRIPTION" -This function will extract the type OID of an otherName Subject -Alternative Name, contained in the given certificate, and return -the type as an enumerated element. - -This function is only useful if -\fBgnutls_x509_crq_get_subject_alt_name()\fP returned -\fBGNUTLS_SAN_OTHERNAME\fP. -.SH "RETURNS" -the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, -it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, -e.g. \fBGNUTLS_SAN_OTHERNAME_XMPP\fP, and \fBGNUTLS_SAN_OTHERNAME\fP for -unknown OIDs. It will return \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if -\fIret_size\fP is not large enough to hold the value. In that case -\fIret_size\fP will be updated with the required size. If the -certificate does not have an Alternative name with the specified -sequence number and with the otherName type then -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP is returned. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_get_version.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_get_version.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_get_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_get_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_get_version \- This function returns the Certificate request's version number .SH SYNOPSIS @@ -16,14 +16,12 @@ error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_import.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_import.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_import \- This function will import a DER or PEM encoded Certificate request .SH SYNOPSIS @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_init.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_init.3 2010-03-15 10:32:54.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_init.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_init \- This function initializes a gnutls_x509_crq_t structure .SH SYNOPSIS @@ -16,14 +16,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_print.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_print.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_print.3 2010-03-15 10:32:59.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_print.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_print" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_print \- Pretty print PKCS 10 certificate request -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_print(gnutls_x509_crq_t " crq ", gnutls_certificate_print_formats_t " format ", gnutls_datum_t * " out ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -The structure to be printed -.IP "gnutls_certificate_print_formats_t format" 12 -Indicate the format to use -.IP "gnutls_datum_t * out" 12 -Newly allocated datum with zero terminated string. -.SH "DESCRIPTION" -This function will pretty print a certificate request, suitable for -display to a human. - -The output \fIout\fP needs to be deallocate using \fBgnutls_free()\fP. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_attribute_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_set_attribute_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_set_attribute_by_oid \- This function will set an attribute in the request .SH SYNOPSIS @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_basic_constraints.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_basic_constraints.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_basic_constraints.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_basic_constraints.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_basic_constraints" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_set_basic_constraints \- Set the basicConstraints extension -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t " crq ", unsigned int " ca ", int " pathLenConstraint ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -a certificate of type \fBgnutls_x509_crq_t\fP -.IP "unsigned int ca" 12 -true(1) or false(0). Depending on the Certificate authority status. -.IP "int pathLenConstraint" 12 -non\-negative values indicate maximum length of path, -and negative values indicate that the pathLenConstraints field should -not be present. -.SH "DESCRIPTION" -This function will set the basicConstraints certificate extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_challenge_password.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_challenge_password.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_challenge_password.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_challenge_password.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_challenge_password" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_set_challenge_password" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_set_challenge_password \- This function will set a challenge password .SH SYNOPSIS @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_dn_by_oid.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_dn_by_oid.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_set_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_set_dn_by_oid \- This function will set the Certificate request subject's distinguished name .SH SYNOPSIS @@ -18,28 +18,25 @@ .IP "unsigned int sizeof_data" 12 holds the size of \fIdata\fP .SH "DESCRIPTION" -This function will set the part of the name of the Certificate -request subject, specified by the given OID. The input string -should be ASCII or UTF\-8 encoded. +This function will set the part of the name of the Certificate request subject, specified +by the given OID. The input string should be ASCII or UTF\-8 encoded. Some helper macros with popular OIDs can be found in gnutls/x509.h With this function you can only set the known OIDs. You can test for known OIDs using \fBgnutls_x509_dn_oid_known()\fP. For OIDs that are -not known (by gnutls) you should properly DER encode your data, -and call this function with raw_flag set. +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_key" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_set_key" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_set_key \- This function will associate the Certificate request with a key .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_key_purpose_oid" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_set_key_purpose_oid \- Sets the Certificate's key purpose OIDs -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t " cert ", const void * " oid ", unsigned int " critical ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t cert" 12 -a certificate of type \fBgnutls_x509_crq_t\fP -.IP "const void * oid" 12 -a pointer to a null terminated string that holds the OID -.IP "unsigned int critical" 12 -Whether this extension will be critical or not -.SH "DESCRIPTION" -This function will set the key purpose OIDs of the Certificate. -These are stored in the Extended Key Usage extension (2.5.29.37) -See the GNUTLS_KP_* definitions for human readable names. - -Subsequent calls to this function will append OIDs to the OID list. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_key_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_set_key_rsa_raw \- associate Certificate request with a key -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t " crq ", const gnutls_datum_t * " m ", const gnutls_datum_t * " e ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -should contain a \fBgnutls_x509_crq_t\fP structure -.IP "const gnutls_datum_t * m" 12 -holds the modulus -.IP "const gnutls_datum_t * e" 12 -holds the public exponent -.SH "DESCRIPTION" -This function will set the public parameters from the given private -key to the request. Only RSA keys are currently supported. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_key_usage.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_key_usage.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_key_usage" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_set_key_usage \- Set the keyUsage extension -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_set_key_usage(gnutls_x509_crq_t " crq ", unsigned int " usage ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -a certificate of type \fBgnutls_x509_crq_t\fP -.IP "unsigned int usage" 12 -an ORed sequence of the GNUTLS_KEY_* elements. -.SH "DESCRIPTION" -This function will set the keyUsage certificate extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_subject_alt_name.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_subject_alt_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_subject_alt_name.3 2010-03-15 10:32:57.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_subject_alt_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_subject_alt_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crq_set_subject_alt_name \- Set the subject Alternative Name -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t " crq ", gnutls_x509_subject_alt_name_t " nt ", const void * " data ", unsigned int " data_size ", unsigned int " flags ");" -.SH ARGUMENTS -.IP "gnutls_x509_crq_t crq" 12 -a certificate of type \fBgnutls_x509_crq_t\fP -.IP "gnutls_x509_subject_alt_name_t nt" 12 -is one of the \fBgnutls_x509_subject_alt_name_t\fP enumerations -.IP "const void * data" 12 -The data to be set -.IP "unsigned int data_size" 12 -The size of data to be set -.IP "unsigned int flags" 12 -\fBGNUTLS_FSAN_SET\fP to clear previous data or -\fBGNUTLS_FSAN_APPEND\fP to append. -.SH "DESCRIPTION" -This function will set the subject alternative name certificate -extension. It can set the following types: - -&GNUTLS_SAN_DNSNAME: as a text string - -&GNUTLS_SAN_RFC822NAME: as a text string - -&GNUTLS_SAN_URI: as a text string - -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -Other values can be set as binary values with the proper DER encoding. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_set_version.3 2010-03-15 10:32:55.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_set_version.3 2008-06-30 22:13:32.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_set_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_set_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_set_version \- This function will set the Certificate request version .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_sign2.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_sign2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_sign2.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_sign2.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_sign2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_sign2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_sign2 \- Sign a Certificate request with a key .SH SYNOPSIS @@ -30,14 +30,12 @@ \fBgnutls_x509_crq_set_version()\fP). .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_sign.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_sign.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crq_sign.3 2010-03-15 10:32:56.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crq_sign.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crq_sign" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crq_sign" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crq_sign \- This function will sign a Certificate request with a key .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_hostname.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_hostname.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_hostname.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_hostname.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_check_hostname" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_check_hostname" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_check_hostname \- compares the hostname with certificate's hostname .SH SYNOPSIS @@ -20,14 +20,12 @@ non zero for a successful match, and zero on failure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_issuer.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_issuer.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_issuer.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_issuer.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_check_issuer" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_check_issuer" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_x509_crt_check_issuer \- check if certificate has given issuer +gnutls_x509_crt_check_issuer \- This function checks if the certificate given has the given issuer .SH SYNOPSIS .B #include .sp @@ -13,21 +13,18 @@ is the certificate of a possible issuer .SH "DESCRIPTION" This function will check if the given certificate was issued by the -given issuer. -.SH "RETURNS" -It will return true (1) if the given certificate is issued -by the given issuer, and false (0) if not. A negative value is -returned in case of an error. +given issuer. It will return true (1) if the given certificate is issued +by the given issuer, and false (0) if not. + +A negative value is returned in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_revocation.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_revocation.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_check_revocation.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_check_revocation.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_check_revocation" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_check_revocation" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_check_revocation \- This function checks if the given certificate is revoked .SH SYNOPSIS @@ -21,14 +21,12 @@ negative value is returned on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_cpy_crl_dist_points" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_cpy_crl_dist_points" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_cpy_crl_dist_points \- Copy the CRL dist points .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t " dst ", gnutls_x509_crt_t " src ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t dst" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "gnutls_x509_crt_t src" 12 the certificate where the dist points will be copied from .SH "DESCRIPTION" @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_deinit.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_deinit.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_deinit \- This function deinitializes memory used by a gnutls_x509_crt_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a CRL structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_export.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_export.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_export.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_export \- This function will export the certificate .SH SYNOPSIS @@ -30,14 +30,12 @@ returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_activation_time.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_activation_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_activation_time.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_activation_time.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_activation_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_activation_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_activation_time \- returns the Certificate's activation time .SH SYNOPSIS @@ -16,14 +16,12 @@ activation time, or (time_t)\-1 on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_authority_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_authority_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_authority_key_id.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_authority_key_id.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_authority_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_authority_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_authority_key_id \- This function returns the certificate authority's identifier .SH SYNOPSIS @@ -10,29 +10,25 @@ .IP "gnutls_x509_crt_t cert" 12 should contain a \fBgnutls_x509_crt_t\fP structure .IP "void * ret" 12 -The place where the identifier will be copied .IP "size_t * ret_size" 12 -Holds the size of the result field. .IP "unsigned int * critical" 12 will be non zero if the extension is marked as critical (may be null) .SH "DESCRIPTION" -This function will return the X.509v3 certificate authority's key -identifier. This is obtained by the X.509 Authority Key -identifier extension field (2.5.29.35). Note that this function -only returns the keyIdentifier field of the extension. +This function will return the X.509v3 certificate authority's key identifier. +This is obtained by the X.509 Authority Key identifier extension +field (2.5.29.35). Note that this function only returns the keyIdentifier +field of the extension. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_basic_constraints.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_basic_constraints.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_basic_constraints.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_basic_constraints.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_basic_constraints" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_basic_constraints" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_basic_constraints \- This function returns the certificate basic constraints .SH SYNOPSIS @@ -16,8 +16,8 @@ value is 1 if the certificate CA flag is set, 0 otherwise. .IP "int * pathlen" 12 pointer to output integer indicating path length (may be -NULL), non\-negative values indicate a present pathLenConstraint -field and the actual value, \-1 indicate that the field is absent. +NULL), non-negative values indicate a present pathLenConstraint +field and the actual value, -1 indicate that the field is absent. .SH "DESCRIPTION" This function will read the certificate's basic constraints, and return the certificates CA status. It reads the basicConstraints @@ -30,14 +30,12 @@ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_ca_status.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_ca_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_ca_status.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_ca_status.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_ca_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_ca_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_ca_status \- This function returns the certificate CA status .SH SYNOPSIS @@ -19,20 +19,18 @@ Use \fBgnutls_x509_crt_get_basic_constraints()\fP if you want to read the pathLenConstraint field too. -.SH "RETURNS" + A negative value may be returned in case of parsing error. If the certificate does not contain the basicConstraints extension -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be returned. +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_crl_dist_points.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_crl_dist_points.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_crl_dist_points.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_crl_dist_points.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_crl_dist_points" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_crl_dist_points" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_crl_dist_points \- This function returns the CRL distribution points .SH SYNOPSIS @@ -46,14 +46,12 @@ returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_dn \- This function returns the Certificate's distinguished name .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn_by_oid.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn_by_oid.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_dn_by_oid \- This function returns the Certificate's distinguished name .SH SYNOPSIS @@ -38,14 +38,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_dn_oid.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_dn_oid.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_dn_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_dn_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_dn_oid \- This function returns the Certificate's subject distinguished name OIDs .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_expiration_time.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_expiration_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_expiration_time.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_expiration_time.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_expiration_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_expiration_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_expiration_time \- returns the Certificate's expiration time .SH SYNOPSIS @@ -16,14 +16,12 @@ expiration time, or (time_t)\-1 on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_by_oid.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_by_oid.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_extension_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_extension_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_extension_by_oid \- This function returns the specified extension .SH SYNOPSIS @@ -20,24 +20,21 @@ .IP "unsigned int * critical" 12 will be non zero if the extension is marked as critical .SH "DESCRIPTION" -This function will return the extension specified by the OID in the -certificate. The extensions will be returned as binary data DER -encoded, in the provided buffer. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. If the certificate does not -contain the specified extension +This function will return the extension specified by the OID in the certificate. +The extensions will be returned as binary data DER encoded, in the provided +buffer. + +A negative value may be returned in case of parsing error. +If the certificate does not contain the specified extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_data.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_data.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_extension_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_extension_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_extension_data \- Get the specified extension data .SH SYNOPSIS @@ -24,21 +24,18 @@ critical flag. Use \fBgnutls_x509_crt_get_extension_by_oid()\fP instead, if you want to get data indexed by the extension OID rather than sequence. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. + +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_info.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_info.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_info.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_info.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_extension_info" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_extension_info" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_extension_info \- Get extension id and criticality .SH SYNOPSIS @@ -27,21 +27,18 @@ If the buffer provided is not long enough to hold the output, then *\fIsizeof_oid\fP is updated and \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP will be returned. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. + +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_extension_oid.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_extension_oid.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_extension_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_extension_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_x509_crt_get_extension_oid \- get the specified extension OID +gnutls_x509_crt_get_extension_oid \- This function returns the specified extension OID .SH SYNOPSIS .B #include .sp @@ -18,21 +18,18 @@ .SH "DESCRIPTION" This function will return the requested extension OID in the certificate. The extension OID will be stored as a string in the provided buffer. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP -will be returned. + +A negative value may be returned in case of parsing error. +If your have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_fingerprint.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_fingerprint.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_fingerprint.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_fingerprint.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_fingerprint" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_fingerprint" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_fingerprint \- This function returns the Certificate's fingerprint .SH SYNOPSIS @@ -26,14 +26,12 @@ with the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_issuer" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_issuer" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_issuer \- API function .SH SYNOPSIS @@ -22,14 +22,12 @@ Returns 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_issuer_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_issuer_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_issuer_dn \- This function returns the Certificate's issuer distinguished name .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_issuer_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_issuer_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_issuer_dn_by_oid \- This function returns the Certificate's issuer distinguished name .SH SYNOPSIS @@ -38,14 +38,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_issuer_dn_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_issuer_dn_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_issuer_dn_oid \- This function returns the Certificate's issuer distinguished name OIDs .SH SYNOPSIS @@ -26,14 +26,12 @@ the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_id.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_id.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_key_id \- Return unique ID of public key's parameters .SH SYNOPSIS @@ -30,14 +30,12 @@ returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_key_purpose_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_key_purpose_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_key_purpose_oid \- This function returns the Certificate's key purpose OIDs .SH SYNOPSIS @@ -16,28 +16,25 @@ .IP "size_t * sizeof_oid" 12 initially holds the size of \fIoid\fP .IP "unsigned int * critical" 12 -output flag to indicate criticality of extension .SH "DESCRIPTION" This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions -for human readable names. +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names. If \fIoid\fP is null then only the size will be filled. .SH "RETURNS" \fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. +not long enough, and in that case the *sizeof_oid will be updated +with the required size. On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_key_usage.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_key_usage.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_key_usage" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_key_usage" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_key_usage \- return the certificate's key usage .SH SYNOPSIS @@ -28,14 +28,12 @@ extension \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_algorithm.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_algorithm.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_pk_algorithm \- return the certificate's PublicKey algorithm .SH SYNOPSIS @@ -24,14 +24,12 @@ success, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_pk_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_pk_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_pk_dsa_raw \- This function will export the DSA public key .SH SYNOPSIS @@ -25,14 +25,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_pk_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_pk_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_pk_rsa_raw \- This function will export the RSA public key .SH SYNOPSIS @@ -21,14 +21,12 @@ \fBGNUTLS_E_SUCCESS\fP on success, otherwise an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_proxy.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_proxy.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_proxy.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_proxy.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_proxy" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_proxy" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_proxy \- This function returns the proxy certificate info .SH SYNOPSIS @@ -13,30 +13,29 @@ will be non zero if the extension is marked as critical .IP "int * pathlen" 12 pointer to output integer indicating path length (may be -NULL), non\-negative values indicate a present pCPathLenConstraint -field and the actual value, \-1 indicate that the field is absent. +NULL), non-negative values indicate a present pCPathLenConstraint +field and the actual value, -1 indicate that the field is absent. .IP "char ** policyLanguage" 12 -output variable with OID of policy language .IP "char ** policy" 12 -output variable with policy data .IP "size_t * sizeof_policy" 12 -output variable size of policy data .SH "DESCRIPTION" -This function will get information from a proxy certificate. It -reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19). +.SH "RETURN VALUE" +If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_raw_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_raw_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_raw_dn.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_raw_dn.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_raw_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_raw_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_raw_dn \- This function returns the subject's DN DER encoded .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value. or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3 2010-03-15 10:33:05.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_raw_issuer_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_raw_issuer_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_raw_issuer_dn \- This function returns the issuer's DN DER encoded .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value.or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_serial.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_serial.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_serial.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_serial.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_serial" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_serial" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_serial \- This function returns the certificate's serial number .SH SYNOPSIS @@ -24,14 +24,12 @@ negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_signature.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_signature.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_signature.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_signature.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_signature" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_signature" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_signature \- Returns the Certificate's signature .SH SYNOPSIS @@ -20,14 +20,12 @@ negative error value. and a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_signature_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_signature_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_signature_algorithm.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_signature_algorithm.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_signature_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_signature_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_signature_algorithm \- This function returns the Certificate's signature algorithm .SH SYNOPSIS @@ -17,14 +17,12 @@ error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_subject" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_subject" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_subject \- API function .SH SYNOPSIS @@ -22,14 +22,12 @@ Returns 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,11 +1,11 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_subject_alt_name2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_subject_alt_name2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_subject_alt_name2 \- Get certificate's alternative name, if any .SH SYNOPSIS .B #include .sp -.BI "int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t " cert ", unsigned int " seq ", void * " ret ", size_t * " ret_size ", unsigned int * " ret_type ", unsigned int * " critical ");" +.BI "int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t " cert ", unsigned int " seq ", void * " ret ", size_t * " ret_size ", unsigned int* " ret_type ", unsigned int * " critical ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 should contain a \fBgnutls_x509_crt_t\fP structure @@ -15,35 +15,26 @@ is the place where the alternative name will be copied to .IP "size_t * ret_size" 12 holds the size of ret. -.IP "unsigned int * ret_type" 12 +.IP "unsigned int* ret_type" 12 holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). .IP "unsigned int * critical" 12 will be non zero if the extension is marked as critical (may be null) .SH "DESCRIPTION" This function will return the alternative names, contained in the -given certificate. It is the same as -\fBgnutls_x509_crt_get_subject_alt_name()\fP except for the fact that it -will return the type of the alternative name in \fIret_type\fP even if -the function fails for some reason (i.e. the buffer provided is -not enough). -.SH "RETURNS" -the alternative subject name type on success, one of the -enumerated \fBgnutls_x509_subject_alt_name_t\fP. It will return -\fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if \fIret_size\fP is not large enough -to hold the value. In that case \fIret_size\fP will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then -\fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP is returned. +given certificate. It is the same as \fBgnutls_x509_crt_get_subject_alt_name()\fP +except for the fact that it will return the type of the alternative +name in \fIret_type\fP even if the function fails for some reason (i.e. +the buffer provided is not enough). + +The return values are the same as with \fBgnutls_x509_crt_get_subject_alt_name()\fP. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_name.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_name.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_name.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_subject_alt_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_subject_alt_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_subject_alt_name \- Get certificate's alternative name, if any .SH SYNOPSIS @@ -37,21 +37,19 @@ .SH "RETURNS" the alternative subject name type on success, one of the enumerated \fBgnutls_x509_subject_alt_name_t\fP. It will return -\fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if \fIret_size\fP is not large enough -to hold the value. In that case \fIret_size\fP will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then +\fBGNUTLS_E_SHORT_MEMORY_BUFFER\fP if \fIret_size\fP is not large enough to +hold the value. In that case \fIret_size\fP will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_subject_alt_othername_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_subject_alt_othername_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_subject_alt_othername_oid \- Get SAN otherName OID .SH SYNOPSIS @@ -36,14 +36,12 @@ \fBGNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE\fP is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_subject_key_id.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_subject_key_id.3 2008-06-30 22:13:38.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_subject_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_subject_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_subject_key_id \- This function returns the certificate's key identifier .SH SYNOPSIS @@ -24,14 +24,12 @@ negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_verify_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_verify_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_verify_algorithm.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_verify_algorithm.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_verify_algorithm" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crt_get_verify_algorithm \- get hash algorithm used to verify signature. -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crt_get_verify_algorithm(gnutls_x509_crt_t " crt ", const gnutls_datum_t * " signature ", gnutls_digest_algorithm_t * " hash ");" -.SH ARGUMENTS -.IP "gnutls_x509_crt_t crt" 12 -Holds the certificate -.IP "const gnutls_datum_t * signature" 12 -contains the signature -.IP "gnutls_digest_algorithm_t * hash" 12 -The result of the call with the hash algorithm used for signature -.SH "DESCRIPTION" -This function will read the certifcate and the signed data to -determine the hash algorithm used to generate the signature. -.SH "RETURNS" -the 0 if the hash algorithm is found. A negative value is -returned on error. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_get_version.3 2010-03-15 10:33:04.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_get_version.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_get_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_get_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_get_version \- return the Certificate's version number .SH SYNOPSIS @@ -15,14 +15,12 @@ version of certificate, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_import.3 2010-03-15 10:33:03.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_import.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_import \- This function will import a DER or PEM encoded Certificate .SH SYNOPSIS @@ -24,14 +24,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_init.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_init.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_init.3 2008-06-30 22:13:37.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_init \- This function initializes a gnutls_x509_crt_t structure .SH SYNOPSIS @@ -16,14 +16,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_list_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_list_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_list_import.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_list_import.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_list_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_list_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_list_import \- This function will import a PEM encoded certificate list .SH SYNOPSIS @@ -28,14 +28,12 @@ the number of certificates read or a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_list_verify.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_list_verify.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_list_verify.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_list_verify.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_list_verify" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_list_verify" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_list_verify \- This function verifies the given certificate list .SH SYNOPSIS @@ -25,6 +25,9 @@ will hold the certificate verification output. .SH "DESCRIPTION" This function will try to verify the given certificate list and return its status. +Note that expiration and activation dates are not checked +by this function, you should check them using the appropriate functions. + If no flags are specified (0), this function will use the basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate authority is allowed to sign a certificate. @@ -45,14 +48,12 @@ negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_print.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_print.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_print.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_print.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_print" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_print" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_print \- Pretty print X.509 certificates .SH SYNOPSIS @@ -28,14 +28,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_activation_time.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_activation_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_activation_time.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_activation_time.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_activation_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_activation_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_activation_time \- Set the Certificate's activation time .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_activation_time(gnutls_x509_crt_t " cert ", time_t " act_time ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "time_t act_time" 12 The actual time .SH "DESCRIPTION" @@ -19,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_authority_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_authority_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_authority_key_id.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_authority_key_id.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_authority_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_authority_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_authority_key_id \- Set the certificate authority's key id .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t " cert ", const void * " id ", size_t " id_size ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const void * id" 12 The key ID .IP "size_t id_size" 12 @@ -21,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_basic_constraints.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_basic_constraints.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_basic_constraints.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_basic_constraints.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_basic_constraints" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_basic_constraints" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_basic_constraints \- Set the basicConstraints extension .SH SYNOPSIS @@ -8,11 +8,11 @@ .BI "int gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t " crt ", unsigned int " ca ", int " pathLenConstraint ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "unsigned int ca" 12 true(1) or false(0). Depending on the Certificate authority status. .IP "int pathLenConstraint" 12 -non\-negative values indicate maximum length of path, +non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints field should not be present. .SH "DESCRIPTION" @@ -22,14 +22,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_ca_status.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_ca_status.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_ca_status.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_ca_status.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_ca_status" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_ca_status" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_ca_status \- Set the basicConstraints extension .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_ca_status(gnutls_x509_crt_t " crt ", unsigned int " ca ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "unsigned int ca" 12 true(1) or false(0). Depending on the Certificate authority status. .SH "DESCRIPTION" @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_crl_dist_points2" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crt_set_crl_dist_points2 \- Set the CRL dist points -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const void * " data ", unsigned int " data_size ", unsigned int " reason_flags ");" -.SH ARGUMENTS -.IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP -.IP "gnutls_x509_subject_alt_name_t type" 12 -is one of the gnutls_x509_subject_alt_name_t enumerations -.IP "const void * data" 12 -The data to be set -.IP "unsigned int data_size" 12 -The data size -.IP "unsigned int reason_flags" 12 -revocation reasons -.SH "DESCRIPTION" -This function will set the CRL distribution points certificate extension. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crl_dist_points.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crl_dist_points.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crl_dist_points.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crl_dist_points.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,15 +1,15 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_crl_dist_points" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_crl_dist_points" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_crl_dist_points \- Set the CRL dist points .SH SYNOPSIS .B #include .sp -.BI "int gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const void * " data_string ", unsigned int " reason_flags ");" +.BI "int gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const void * " data_string ", unsigned int " reason_flags ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP -.IP "gnutls_x509_subject_alt_name_t type" 12 +should contain a gnutls_x509_crt_t structure +.IP "gnutls_x509_subject_alt_name_t type" 12 is one of the gnutls_x509_subject_alt_name_t enumerations .IP "const void * data_string" 12 The data to be set @@ -22,14 +22,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crq.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crq.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crq.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crq.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_crq" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_crq" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_crq \- Associate the Certificate with a request .SH SYNOPSIS @@ -8,26 +8,24 @@ .BI "int gnutls_x509_crt_set_crq(gnutls_x509_crt_t " crt ", gnutls_x509_crq_t " crq ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "gnutls_x509_crq_t crq" 12 holds a certificate request .SH "DESCRIPTION" -This function will set the name and public parameters as well as -the extensions from the given certificate request to the certificate. -Only RSA keys are currently supported. +This function will set the name and public parameters from the +given certificate request to the certificate. Only RSA keys are +currently supported. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crq_extensions.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crq_extensions.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_crq_extensions.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_crq_extensions.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_crq_extensions" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crt_set_crq_extensions \- Associate the Certificate with a request -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t " crt ", gnutls_x509_crq_t " crq ");" -.SH ARGUMENTS -.IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP -.IP "gnutls_x509_crq_t crq" 12 -holds a certificate request -.SH "DESCRIPTION" -This function will set extensions from the given request to the -certificate. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.8.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_dn_by_oid.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_dn_by_oid.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_dn_by_oid \- Set the Certificate request subject's distinguished name .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t " crt ", const char * " oid ", unsigned int " raw_flag ", const void * " name ", unsigned int " sizeof_name ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const char * oid" 12 holds an Object Identifier in a null terminated string .IP "unsigned int raw_flag" 12 @@ -32,14 +32,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_expiration_time.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_expiration_time.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_expiration_time.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_expiration_time.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_expiration_time" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_expiration_time" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_expiration_time \- Set the Certificate's expiration time .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_expiration_time(gnutls_x509_crt_t " cert ", time_t " exp_time ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "time_t exp_time" 12 The actual time .SH "DESCRIPTION" @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_extension_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_extension_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_extension_by_oid.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_extension_by_oid.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_extension_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_extension_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_extension_by_oid \- Set an arbitrary extension .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t " crt ", const char * " oid ", const void * " buf ", size_t " sizeof_buf ", unsigned int " critical ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const char * oid" 12 holds an Object Identified in null terminated string .IP "const void * buf" 12 @@ -26,14 +26,12 @@ negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_issuer_dn_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_issuer_dn_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_issuer_dn_by_oid \- Set the Certificate request issuer's distinguished name .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t " crt ", const char * " oid ", unsigned int " raw_flag ", const void * " name ", unsigned int " sizeof_name ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const char * oid" 12 holds an Object Identifier in a null terminated string .IP "unsigned int raw_flag" 12 @@ -36,14 +36,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_key" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_key" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_key \- This function will associate the Certificate with a key .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_key(gnutls_x509_crt_t " crt ", gnutls_x509_privkey_t " key ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "gnutls_x509_privkey_t key" 12 holds a private key .SH "DESCRIPTION" @@ -20,14 +20,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_key_purpose_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_key_purpose_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_key_purpose_oid \- Sets the Certificate's key purpose OIDs .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t " cert ", const void * " oid ", unsigned int " critical ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const void * oid" 12 a pointer to a null terminated string that holds the OID .IP "unsigned int critical" 12 @@ -19,19 +19,16 @@ See the GNUTLS_KP_* definitions for human readable names. Subsequent calls to this function will append OIDs to the OID list. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP (zero) is returned, -otherwise an error code is returned. + +On success 0 is returned. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key_usage.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key_usage.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_key_usage.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_key_usage.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_key_usage" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_key_usage" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_key_usage \- Set the keyUsage extension .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_key_usage(gnutls_x509_crt_t " crt ", unsigned int " usage ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "unsigned int usage" 12 an ORed sequence of the GNUTLS_KEY_* elements. .SH "DESCRIPTION" @@ -18,14 +18,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_proxy.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_proxy.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_proxy.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_proxy.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_proxy" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_proxy" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_proxy \- Set the proxyCertInfo extension .SH SYNOPSIS @@ -8,15 +8,15 @@ .BI "int gnutls_x509_crt_set_proxy(gnutls_x509_crt_t " crt ", int " pathLenConstraint ", const char * " policyLanguage ", const char * " policy ", size_t " sizeof_policy ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "int pathLenConstraint" 12 -non\-negative values indicate maximum length of path, +non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints field should not be present. .IP "const char * policyLanguage" 12 OID describing the language of \fIpolicy\fP. .IP "const char * policy" 12 -opaque byte array with policy language, can be \fBNULL\fP +opaque byte array with policy language, can be \fBNULL\fP .IP "size_t sizeof_policy" 12 size of \fIpolicy\fP. .SH "DESCRIPTION" @@ -26,14 +26,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_proxy_dn.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_proxy_dn.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_proxy_dn.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_proxy_dn.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_proxy_dn" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_proxy_dn" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_proxy_dn \- Set Proxy Certificate subject's distinguished name .SH SYNOPSIS @@ -28,14 +28,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_serial.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_serial.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_serial.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_serial.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_serial" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_serial" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_serial \- Set the certificate's serial number .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_serial(gnutls_x509_crt_t " cert ", const void * " serial ", size_t " serial_size ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const void * serial" 12 The serial number .IP "size_t serial_size" 12 @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,38 +1,32 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_subject_alternative_name" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_subject_alternative_name" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_subject_alternative_name \- Set the subject Alternative Name .SH SYNOPSIS .B #include .sp -.BI "int gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const char * " data_string ");" +.BI "int gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const char * " data_string ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP -.IP "gnutls_x509_subject_alt_name_t type" 12 +should contain a gnutls_x509_crt_t structure +.IP "gnutls_x509_subject_alt_name_t type" 12 is one of the gnutls_x509_subject_alt_name_t enumerations .IP "const char * data_string" 12 The data to be set, a zero terminated string .SH "DESCRIPTION" This function will set the subject alternative name certificate -extension. This function assumes that data can be expressed as a null -terminated string. - -The name of the function is unfortunate since it is incosistent with -\fBgnutls_x509_crt_get_subject_alt_name()\fP. +extension. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_alt_name.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_alt_name.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_alt_name.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_alt_name.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_subject_alt_name" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crt_set_subject_alt_name \- Set the subject Alternative Name -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t " crt ", gnutls_x509_subject_alt_name_t " type ", const void * " data ", unsigned int " data_size ", unsigned int " flags ");" -.SH ARGUMENTS -.IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP -.IP "gnutls_x509_subject_alt_name_t type" 12 -is one of the gnutls_x509_subject_alt_name_t enumerations -.IP "const void * data" 12 -The data to be set -.IP "unsigned int data_size" 12 -The size of data to be set -.IP "unsigned int flags" 12 -GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. -.SH "DESCRIPTION" -This function will set the subject alternative name certificate -extension. It can set the following types: - -&GNUTLS_SAN_DNSNAME: as a text string - -&GNUTLS_SAN_RFC822NAME: as a text string - -&GNUTLS_SAN_URI: as a text string - -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -Other values can be set as binary values with the proper DER encoding. -.SH "RETURNS" -On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a -negative error value. -.SH "SINCE" -2.6.0 -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_subject_key_id.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_subject_key_id.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_subject_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_subject_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_subject_key_id \- Set the certificate's subject key id .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t " cert ", const void * " id ", size_t " id_size ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t cert" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "const void * id" 12 The key ID .IP "size_t id_size" 12 @@ -21,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_version.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_version.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_set_version.3 2010-03-15 10:33:07.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_set_version.3 2008-06-30 22:13:40.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_set_version" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_set_version" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_set_version \- Set the Certificate request version .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_set_version(gnutls_x509_crt_t " crt ", unsigned int " version ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "unsigned int version" 12 holds the version number. For X.509v1 certificates must be 1. .SH "DESCRIPTION" @@ -18,21 +18,19 @@ To create well\-formed certificates, you must specify version 3 if you use any certificate extensions. Extensions are created by -functions such as \fBgnutls_x509_crt_set_subject_alt_name()\fP +functions such as \fBgnutls_x509_crt_set_subject_alternative_name()\fP or \fBgnutls_x509_crt_set_key_usage()\fP. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_sign2.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_sign2.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_sign2.3 2010-03-15 10:33:08.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_sign2.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_sign2" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_sign2" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_sign2 \- Sign a certificate with a key .SH SYNOPSIS @@ -8,13 +8,13 @@ .BI "int gnutls_x509_crt_sign2(gnutls_x509_crt_t " crt ", gnutls_x509_crt_t " issuer ", gnutls_x509_privkey_t " issuer_key ", gnutls_digest_algorithm_t " dig ", unsigned int " flags ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "gnutls_x509_crt_t issuer" 12 is the certificate of the certificate issuer .IP "gnutls_x509_privkey_t issuer_key" 12 holds the issuer's private key .IP "gnutls_digest_algorithm_t dig" 12 -The message digest to use, \fBGNUTLS_DIG_SHA1\fP is a safe choice +The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. .IP "unsigned int flags" 12 must be 0 .SH "DESCRIPTION" @@ -28,14 +28,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_sign.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_sign.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_sign.3 2010-03-15 10:33:09.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_sign.3 2008-06-30 22:13:41.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_sign" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_sign" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_sign \- Sign a certificate with a key .SH SYNOPSIS @@ -8,7 +8,7 @@ .BI "int gnutls_x509_crt_sign(gnutls_x509_crt_t " crt ", gnutls_x509_crt_t " issuer ", gnutls_x509_privkey_t " issuer_key ");" .SH ARGUMENTS .IP "gnutls_x509_crt_t crt" 12 -a certificate of type \fBgnutls_x509_crt_t\fP +should contain a gnutls_x509_crt_t structure .IP "gnutls_x509_crt_t issuer" 12 is the certificate of the certificate issuer .IP "gnutls_x509_privkey_t issuer_key" 12 @@ -21,14 +21,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_verify" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_verify" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_crt_verify \- This function verifies the given certificate against a given trusted one .SH SYNOPSIS @@ -25,14 +25,12 @@ negative error value.and a negative value in case of an error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify_data.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify_data.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_verify_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_crt_verify_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME -gnutls_x509_crt_verify_data \- verify the given signed data. +gnutls_x509_crt_verify_data \- This function will verify the given signed data. .SH SYNOPSIS .B #include .sp @@ -23,14 +23,12 @@ success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify_hash.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify_hash.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_crt_verify_hash.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_crt_verify_hash.3 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_crt_verify_hash" 3 "2.8.6" "gnutls" "gnutls" -.SH NAME -gnutls_x509_crt_verify_hash \- verify the given signed digest -.SH SYNOPSIS -.B #include -.sp -.BI "int gnutls_x509_crt_verify_hash(gnutls_x509_crt_t " crt ", unsigned int " flags ", const gnutls_datum_t * " hash ", const gnutls_datum_t * " signature ");" -.SH ARGUMENTS -.IP "gnutls_x509_crt_t crt" 12 -Holds the certificate -.IP "unsigned int flags" 12 -should be 0 for now -.IP "const gnutls_datum_t * hash" 12 -holds the hash digest to be verified -.IP "const gnutls_datum_t * signature" 12 -contains the signature -.SH "DESCRIPTION" -This function will verify the given signed digest, using the -parameters from the certificate. -.SH "RETURNS" -In case of a verification failure 0 is returned, and 1 on -success. -.SH "REPORTING BUGS" -Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ -.SH COPYRIGHT -Copyright \(co 2008 Free Software Foundation. -.br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. -.SH "SEE ALSO" -The full documentation for -.B gnutls -is maintained as a Texinfo manual. If the -.B info -and -.B gnutls -programs are properly installed at your site, the command -.IP -.B info gnutls -.PP -should give you access to the complete manual. diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_deinit.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_deinit.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_deinit \- API function .SH SYNOPSIS .B #include .sp -.BI "void gnutls_x509_dn_deinit(gnutls_x509_dn_t " dn ");" +.BI "void gnutls_x509_dn_deinit(gnutls_x509_dn_t " idn ");" .SH ARGUMENTS -.IP "gnutls_x509_dn_t dn" 12 +.IP "gnutls_x509_dn_t idn" 12 a DN opaque object pointer. .SH "DESCRIPTION" This function deallocates the DN object as returned by @@ -16,14 +16,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_export.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_export.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_export.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_export \- This function will export the DN .SH SYNOPSIS @@ -30,14 +30,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_get_rdn_ava.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_get_rdn_ava.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_get_rdn_ava.3 2010-03-15 10:33:06.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_get_rdn_ava.3 2008-06-30 22:13:39.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_get_rdn_ava" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_get_rdn_ava" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_get_rdn_ava \- API function .SH SYNOPSIS @@ -26,14 +26,12 @@ Returns 0 on success, or an error code. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_import.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_import.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_import \- API function .SH SYNOPSIS .B #include .sp -.BI "int gnutls_x509_dn_import(gnutls_x509_dn_t " dn ", const gnutls_datum_t * " data ");" +.BI "int gnutls_x509_dn_import(gnutls_x509_dn_t " odn ", const gnutls_datum_t * " data ");" .SH ARGUMENTS -.IP "gnutls_x509_dn_t dn" 12 +.IP "gnutls_x509_dn_t odn" 12 the structure that will hold the imported DN .IP "const gnutls_datum_t * data" 12 should contain a DER encoded RDN sequence @@ -16,6 +16,11 @@ \fBgnutls_x509_dn_t\fP structure. The structure must have been initialized with \fBgnutls_x509_dn_init()\fP. You may use \fBgnutls_x509_dn_get_rdn_ava()\fP to decode the DN. +.SH "DESCRIPTION" +This function parses an RDN sequence and stores the result to a +\fBgnutls_x509_dn_t\fP structure. The structure must have been initialized +with \fBgnutls_x509_dn_init()\fP. You may use \fBgnutls_x509_dn_get_rdn_ava()\fP to +decode the DN. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. @@ -23,14 +28,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_init.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_init.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_init.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_init \- API function .SH SYNOPSIS .B #include .sp -.BI "int gnutls_x509_dn_init(gnutls_x509_dn_t * " dn ");" +.BI "int gnutls_x509_dn_init(gnutls_x509_dn_t * " odn ");" .SH ARGUMENTS -.IP "gnutls_x509_dn_t * dn" 12 +.IP "gnutls_x509_dn_t * odn" 12 the object to be initialized .SH "DESCRIPTION" This function initializes a \fBgnutls_x509_dn_t\fP structure. @@ -21,14 +21,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_oid_known.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_oid_known.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_dn_oid_known.3 2010-03-15 10:32:51.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_dn_oid_known.3 2008-06-30 22:13:30.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_dn_oid_known" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_dn_oid_known" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_dn_oid_known \- return true if the given OID is known .SH SYNOPSIS @@ -21,14 +21,12 @@ 1 on known OIDs and 0 otherwise. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_cpy.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_cpy.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_cpy.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_cpy.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_cpy" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_cpy" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_cpy \- copy a private key .SH SYNOPSIS @@ -19,14 +19,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_deinit.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_deinit.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_deinit.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_deinit.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_deinit" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_deinit" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_deinit \- deinitializes a #gnutls_x509_privkey_t structure .SH SYNOPSIS @@ -13,14 +13,12 @@ This function will deinitialize a private key structure. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_export" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_export" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_export \- export the private key .SH SYNOPSIS @@ -32,14 +32,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_dsa_raw.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_dsa_raw.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_export_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_export_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_export_dsa_raw \- export the DSA private key .SH SYNOPSIS @@ -8,7 +8,6 @@ .BI "int gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t " key ", gnutls_datum_t * " p ", gnutls_datum_t * " q ", gnutls_datum_t * " g ", gnutls_datum_t * " y ", gnutls_datum_t * " x ");" .SH ARGUMENTS .IP "gnutls_x509_privkey_t key" 12 -a structure that holds the DSA parameters .IP "gnutls_datum_t * p" 12 will hold the p .IP "gnutls_datum_t * q" 12 @@ -28,14 +27,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_pkcs8.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_pkcs8.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_pkcs8.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_pkcs8.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_export_pkcs8" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_export_pkcs8" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_export_pkcs8 \- This function will export the private key to PKCS8 format .SH SYNOPSIS @@ -41,14 +41,12 @@ returned, and 0 on success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_export_rsa_raw.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_export_rsa_raw.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_export_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_export_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_export_rsa_raw \- export the RSA private key .SH SYNOPSIS @@ -30,14 +30,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_fix.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_fix.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_fix.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_fix.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_fix" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_fix" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_fix \- recalculate some parameters of the key. .SH SYNOPSIS @@ -17,14 +17,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_generate.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_generate.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_generate.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_generate.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_generate" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_generate" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_generate \- generate a private key .SH SYNOPSIS @@ -23,14 +23,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_get_key_id.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_get_key_id.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_get_key_id.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_get_key_id.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_get_key_id" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_get_key_id" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_get_key_id \- Return unique ID of the key's parameters .SH SYNOPSIS @@ -30,14 +30,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_get_pk_algorithm" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_get_pk_algorithm" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_get_pk_algorithm \- returns the key's PublicKey algorithm .SH SYNOPSIS @@ -17,14 +17,12 @@ success, or a negative value on error. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_import" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_import" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_import \- import a DER or PEM encoded key .SH SYNOPSIS @@ -25,14 +25,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_dsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_dsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_dsa_raw.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_dsa_raw.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_import_dsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_import_dsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_import_dsa_raw \- import a raw DSA key .SH SYNOPSIS @@ -28,14 +28,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_pkcs8.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_pkcs8.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_pkcs8.3 2010-03-15 10:33:02.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_pkcs8.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_import_pkcs8" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_import_pkcs8" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_import_pkcs8 \- This function will import a DER or PEM PKCS8 encoded key .SH SYNOPSIS @@ -34,14 +34,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_rsa_raw.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_rsa_raw.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_import_rsa_raw.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_import_rsa_raw.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_import_rsa_raw" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_import_rsa_raw" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_import_rsa_raw \- import a raw RSA key .SH SYNOPSIS @@ -30,14 +30,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_init.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_init.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_init.3 2010-03-15 10:33:00.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_init.3 2008-06-30 22:13:35.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_init" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_init" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_init \- initialize a #gnutls_privkey_t structure .SH SYNOPSIS @@ -16,14 +16,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_sign_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_sign_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_sign_data.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_sign_data.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_sign_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_sign_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_sign_data \- sign data using the private key .SH SYNOPSIS @@ -34,14 +34,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_sign_hash.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_sign_hash.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_sign_hash.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_sign_hash.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_sign_hash" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_sign_hash" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_sign_hash \- sign hash using the private key .SH SYNOPSIS @@ -14,23 +14,18 @@ .IP "gnutls_datum_t * signature" 12 will contain newly allocated signature .SH "DESCRIPTION" -This function will sign the given hash using the private key. Do not -use this function directly unless you know what it is. Typical signing -requires the data to be hashed and stored in special formats -(e.g. BER Digest\-Info for RSA). +This function will sign the given hash using the private key. .SH "RETURNS" On success, \fBGNUTLS_E_SUCCESS\fP is returned, otherwise a negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_verify_data.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_verify_data.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_privkey_verify_data.3 2010-03-15 10:33:01.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_privkey_verify_data.3 2008-06-30 22:13:36.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_privkey_verify_data" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_privkey_verify_data" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_privkey_verify_data \- Verify the signed data using private key .SH SYNOPSIS @@ -23,14 +23,12 @@ success. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_rdn_get" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_rdn_get" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_rdn_get \- parse an RDN sequence and returns a string .SH SYNOPSIS @@ -24,14 +24,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get_by_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get_by_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get_by_oid.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get_by_oid.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_rdn_get_by_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_rdn_get_by_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_rdn_get_by_oid \- parse an RDN sequence and returns a string .SH SYNOPSIS @@ -31,14 +31,12 @@ negative error value. .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get_oid.3 gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get_oid.3 --- gnutls26-2.8.6/doc/manpages/gnutls_x509_rdn_get_oid.3 2010-03-15 10:32:58.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/gnutls_x509_rdn_get_oid.3 2008-06-30 22:13:33.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "gnutls_x509_rdn_get_oid" 3 "2.8.6" "gnutls" "gnutls" +.TH "gnutls_x509_rdn_get_oid" 3 "2.4.1" "gnutls" "gnutls" .SH NAME gnutls_x509_rdn_get_oid \- parse an RDN sequence and returns an OID. .SH SYNOPSIS @@ -12,9 +12,7 @@ .IP "int indx" 12 Indicates which OID to return. Use 0 for the first one. .IP "void * buf" 12 -a pointer to a structure to hold the peer's name OID .IP "size_t * sizeof_buf" 12 -holds the size of \fIbuf\fP .SH "DESCRIPTION" This function will return the specified Object identifier, of the RDN sequence. @@ -27,14 +25,12 @@ 2.4.0 .SH "REPORTING BUGS" Report bugs to . -GnuTLS home page: http://www.gnu.org/software/gnutls/ -General help using GNU software: http://www.gnu.org/gethelp/ .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation. .br -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. .SH "SEE ALSO" The full documentation for .B gnutls diff -Nru gnutls26-2.8.6/doc/manpages/Makefile.am gnutls26-2.4.1/doc/manpages/Makefile.am --- gnutls26-2.8.6/doc/manpages/Makefile.am 2010-03-15 10:32:21.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/Makefile.am 2008-06-30 22:13:05.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavroyanopoulos, Simon Josefsson # @@ -27,15 +27,10 @@ endif APIMANS = -APIMANS += gnutls_crypto_single_cipher_register2.3 -APIMANS += gnutls_crypto_rnd_register2.3 -APIMANS += gnutls_crypto_single_mac_register2.3 -APIMANS += gnutls_crypto_single_digest_register2.3 -APIMANS += gnutls_crypto_bigint_register2.3 -APIMANS += gnutls_crypto_pk_register2.3 -APIMANS += gnutls_crypto_cipher_register2.3 -APIMANS += gnutls_crypto_mac_register2.3 -APIMANS += gnutls_crypto_digest_register2.3 +APIMANS += gnutls_crypto_cipher_register.3 +APIMANS += gnutls_crypto_rnd_register.3 +APIMANS += gnutls_crypto_mac_register.3 +APIMANS += gnutls_crypto_digest_register.3 APIMANS += gnutls_oprfi_enable_client.3 APIMANS += gnutls_oprfi_enable_server.3 APIMANS += gnutls_server_name_get.3 @@ -49,6 +44,9 @@ APIMANS += gnutls_mac_get_id.3 APIMANS += gnutls_mac_get_key_size.3 APIMANS += gnutls_mac_list.3 +APIMANS += gnutls_compression_get_name.3 +APIMANS += gnutls_compression_get_id.3 +APIMANS += gnutls_compression_list.3 APIMANS += gnutls_cipher_get_key_size.3 APIMANS += gnutls_cipher_get_name.3 APIMANS += gnutls_cipher_get_id.3 @@ -65,13 +63,7 @@ APIMANS += gnutls_certificate_type_get_id.3 APIMANS += gnutls_certificate_type_list.3 APIMANS += gnutls_sign_algorithm_get_name.3 -APIMANS += gnutls_sign_list.3 -APIMANS += gnutls_sign_get_id.3 -APIMANS += gnutls_sign_get_name.3 APIMANS += gnutls_pk_algorithm_get_name.3 -APIMANS += gnutls_pk_list.3 -APIMANS += gnutls_pk_get_id.3 -APIMANS += gnutls_pk_get_name.3 APIMANS += gnutls_anon_free_server_credentials.3 APIMANS += gnutls_anon_allocate_server_credentials.3 APIMANS += gnutls_anon_free_client_credentials.3 @@ -103,9 +95,6 @@ APIMANS += gnutls_certificate_activation_time_peers.3 APIMANS += gnutls_sign_callback_set.3 APIMANS += gnutls_sign_callback_get.3 -APIMANS += gnutls_compression_get_name.3 -APIMANS += gnutls_compression_get_id.3 -APIMANS += gnutls_compression_list.3 APIMANS += gnutls_db_set_retrieve_function.3 APIMANS += gnutls_db_set_remove_function.3 APIMANS += gnutls_db_set_store_function.3 @@ -125,8 +114,6 @@ APIMANS += gnutls_error_is_fatal.3 APIMANS += gnutls_perror.3 APIMANS += gnutls_strerror.3 -APIMANS += gnutls_strerror_name.3 -APIMANS += gnutls_ext_register.3 APIMANS += gnutls_global_set_log_function.3 APIMANS += gnutls_global_set_log_level.3 APIMANS += gnutls_global_set_mem_functions.3 @@ -142,6 +129,15 @@ APIMANS += gnutls_handshake_get_last_out.3 APIMANS += gnutls_malloc.3 APIMANS += gnutls_free.3 +APIMANS += gnutls_certificate_set_openpgp_key.3 +APIMANS += gnutls_certificate_set_openpgp_key_mem.3 +APIMANS += gnutls_certificate_set_openpgp_key_file.3 +APIMANS += gnutls_certificate_set_openpgp_key_mem2.3 +APIMANS += gnutls_certificate_set_openpgp_key_file2.3 +APIMANS += gnutls_certificate_set_openpgp_keyring_file.3 +APIMANS += gnutls_certificate_set_openpgp_keyring_mem.3 +APIMANS += gnutls_openpgp_set_recv_key_function.3 +APIMANS += gnutls_openpgp_privkey_sign_hash.3 APIMANS += gnutls_cipher_set_priority.3 APIMANS += gnutls_kx_set_priority.3 APIMANS += gnutls_mac_set_priority.3 @@ -209,7 +205,6 @@ APIMANS += gnutls_session_get_client_random.3 APIMANS += gnutls_session_get_server_random.3 APIMANS += gnutls_session_get_master_secret.3 -APIMANS += gnutls_session_set_finished_function.3 APIMANS += gnutls_session_is_resumed.3 APIMANS += gnutls_session_get_ptr.3 APIMANS += gnutls_session_set_ptr.3 @@ -246,13 +241,11 @@ APIMANS += gnutls_certificate_set_x509_crl.3 APIMANS += gnutls_certificate_set_x509_crl_file.3 APIMANS += gnutls_certificate_set_x509_simple_pkcs12_file.3 -APIMANS += gnutls_certificate_set_x509_simple_pkcs12_mem.3 APIMANS += gnutls_certificate_free_crls.3 APIMANS += gnutls_pem_base64_encode.3 APIMANS += gnutls_pem_base64_encode_alloc.3 APIMANS += gnutls_pem_base64_decode.3 APIMANS += gnutls_pem_base64_decode_alloc.3 -APIMANS += gnutls_register_md5_handler.3 APIMANS += gnutls_global_init_extra.3 APIMANS += gnutls_extra_check_version.3 APIMANS += gnutls_ia_permute_inner_secret.3 @@ -290,11 +283,6 @@ APIMANS += gnutls_x509_crl_get_crt_count.3 APIMANS += gnutls_x509_crl_get_crt_serial.3 APIMANS += gnutls_x509_crl_export.3 -APIMANS += gnutls_x509_crl_get_authority_key_id.3 -APIMANS += gnutls_x509_crl_get_number.3 -APIMANS += gnutls_x509_crl_get_extension_oid.3 -APIMANS += gnutls_x509_crl_get_extension_info.3 -APIMANS += gnutls_x509_crl_get_extension_data.3 APIMANS += gnutls_x509_crl_set_version.3 APIMANS += gnutls_x509_crl_sign2.3 APIMANS += gnutls_x509_crl_sign.3 @@ -302,8 +290,6 @@ APIMANS += gnutls_x509_crl_set_next_update.3 APIMANS += gnutls_x509_crl_set_crt_serial.3 APIMANS += gnutls_x509_crl_set_crt.3 -APIMANS += gnutls_x509_crl_set_authority_key_id.3 -APIMANS += gnutls_x509_crl_set_number.3 APIMANS += gnutls_x509_crq_init.3 APIMANS += gnutls_x509_crq_deinit.3 APIMANS += gnutls_x509_crq_import.3 @@ -317,28 +303,11 @@ APIMANS += gnutls_x509_crq_set_version.3 APIMANS += gnutls_x509_crq_get_version.3 APIMANS += gnutls_x509_crq_set_key.3 -APIMANS += gnutls_x509_crq_get_key_rsa_raw.3 -APIMANS += gnutls_x509_crq_set_key_rsa_raw.3 APIMANS += gnutls_x509_crq_set_challenge_password.3 APIMANS += gnutls_x509_crq_sign2.3 APIMANS += gnutls_x509_crq_sign.3 APIMANS += gnutls_x509_crq_export.3 APIMANS += gnutls_x509_crq_get_pk_algorithm.3 -APIMANS += gnutls_x509_crq_get_attribute_info.3 -APIMANS += gnutls_x509_crq_get_attribute_data.3 -APIMANS += gnutls_x509_crq_get_extension_info.3 -APIMANS += gnutls_x509_crq_get_extension_data.3 -APIMANS += gnutls_x509_crq_get_key_usage.3 -APIMANS += gnutls_x509_crq_get_basic_constraints.3 -APIMANS += gnutls_x509_crq_get_subject_alt_name.3 -APIMANS += gnutls_x509_crq_get_subject_alt_othername_oid.3 -APIMANS += gnutls_x509_crq_get_extension_by_oid.3 -APIMANS += gnutls_x509_crq_set_subject_alt_name.3 -APIMANS += gnutls_x509_crq_set_basic_constraints.3 -APIMANS += gnutls_x509_crq_set_key_usage.3 -APIMANS += gnutls_x509_crq_get_key_purpose_oid.3 -APIMANS += gnutls_x509_crq_set_key_purpose_oid.3 -APIMANS += gnutls_x509_crq_get_key_id.3 APIMANS += gnutls_x509_dn_init.3 APIMANS += gnutls_x509_dn_import.3 APIMANS += gnutls_x509_dn_deinit.3 @@ -348,7 +317,6 @@ APIMANS += gnutls_x509_dn_export.3 APIMANS += gnutls_x509_crt_print.3 APIMANS += gnutls_x509_crl_print.3 -APIMANS += gnutls_x509_crq_print.3 APIMANS += gnutls_pkcs12_init.3 APIMANS += gnutls_pkcs12_deinit.3 APIMANS += gnutls_pkcs12_import.3 @@ -447,9 +415,7 @@ APIMANS += gnutls_x509_crt_export.3 APIMANS += gnutls_x509_crt_get_key_id.3 APIMANS += gnutls_x509_crt_check_revocation.3 -APIMANS += gnutls_x509_crt_get_verify_algorithm.3 APIMANS += gnutls_x509_crt_verify_data.3 -APIMANS += gnutls_x509_crt_verify_hash.3 APIMANS += gnutls_x509_crt_get_crl_dist_points.3 APIMANS += gnutls_x509_crt_get_key_purpose_oid.3 APIMANS += gnutls_x509_crt_get_pk_rsa_raw.3 @@ -461,13 +427,11 @@ APIMANS += gnutls_x509_crt_set_version.3 APIMANS += gnutls_x509_crt_set_key.3 APIMANS += gnutls_x509_crt_set_crq.3 -APIMANS += gnutls_x509_crt_set_crq_extensions.3 APIMANS += gnutls_x509_crt_set_extension_by_oid.3 APIMANS += gnutls_x509_crt_set_basic_constraints.3 APIMANS += gnutls_x509_crt_set_ca_status.3 APIMANS += gnutls_x509_crt_set_key_usage.3 APIMANS += gnutls_x509_crt_set_subject_alternative_name.3 -APIMANS += gnutls_x509_crt_set_subject_alt_name.3 APIMANS += gnutls_x509_crt_set_proxy.3 APIMANS += gnutls_x509_crt_sign2.3 APIMANS += gnutls_x509_crt_sign.3 @@ -475,7 +439,6 @@ APIMANS += gnutls_x509_crt_set_expiration_time.3 APIMANS += gnutls_x509_crt_set_serial.3 APIMANS += gnutls_x509_crt_set_crl_dist_points.3 -APIMANS += gnutls_x509_crt_set_crl_dist_points2.3 APIMANS += gnutls_x509_crt_cpy_crl_dist_points.3 APIMANS += gnutls_x509_crt_set_subject_key_id.3 APIMANS += gnutls_x509_crt_set_authority_key_id.3 @@ -486,15 +449,6 @@ APIMANS += gnutls_openpgp_keyring_import.3 APIMANS += gnutls_openpgp_keyring_get_crt_count.3 APIMANS += gnutls_openpgp_keyring_get_crt.3 -APIMANS += gnutls_certificate_set_openpgp_key.3 -APIMANS += gnutls_certificate_set_openpgp_key_mem.3 -APIMANS += gnutls_certificate_set_openpgp_key_file.3 -APIMANS += gnutls_certificate_set_openpgp_key_mem2.3 -APIMANS += gnutls_certificate_set_openpgp_key_file2.3 -APIMANS += gnutls_certificate_set_openpgp_keyring_file.3 -APIMANS += gnutls_certificate_set_openpgp_keyring_mem.3 -APIMANS += gnutls_openpgp_set_recv_key_function.3 -APIMANS += gnutls_openpgp_privkey_sign_hash.3 APIMANS += gnutls_openpgp_crt_print.3 APIMANS += gnutls_openpgp_crt_init.3 APIMANS += gnutls_openpgp_crt_deinit.3 @@ -566,7 +520,6 @@ SRPMANS += gnutls_srp_set_client_credentials_function.3 SRPMANS += gnutls_srp_server_get_username.3 SRPMANS += gnutls_srp_verifier.3 -SRPMANS += gnutls_srp_set_prime_bits.3 dist_man_MANS += $(APIMANS) if ENABLE_SRP @@ -601,12 +554,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/gnutls.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/*.c > $$i.3 && \ + $(top_srcdir)/lib/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -615,12 +567,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/extra.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/libextra/*.c > $$i.3 && \ + $(top_srcdir)/libextra/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -629,12 +580,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/x509.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/x509/*.c > $$i.3 && \ + $(top_srcdir)/lib/x509/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -643,12 +593,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/pkcs12.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/x509/*.c > $$i.3 && \ + $(top_srcdir)/lib/x509/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -657,12 +606,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/openpgp.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/openpgp/*.c > $$i.3 && \ + $(top_srcdir)/lib/openpgp/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo "" diff -Nru gnutls26-2.8.6/doc/manpages/Makefile.in gnutls26-2.4.1/doc/manpages/Makefile.in --- gnutls26-2.8.6/doc/manpages/Makefile.in 2010-03-15 10:32:23.000000000 +0000 +++ gnutls26-2.4.1/doc/manpages/Makefile.in 2008-06-30 22:13:06.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavroyanopoulos, Simon Josefsson # @@ -36,9 +35,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -59,93 +57,86 @@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" man3dir = $(mandir)/man3 @@ -156,7 +147,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -179,96 +170,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -280,31 +235,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -319,29 +259,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -349,18 +275,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -369,51 +288,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -422,123 +323,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -550,78 +436,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -653,11 +523,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -668,7 +541,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -677,31 +549,26 @@ dist_man_MANS = gnutls-cli.1 gnutls-cli-debug.1 gnutls-serv.1 \ certtool.1 psktool.1 $(am__append_1) $(APIMANS) \ $(am__append_2) -APIMANS = gnutls_crypto_single_cipher_register2.3 \ - gnutls_crypto_rnd_register2.3 \ - gnutls_crypto_single_mac_register2.3 \ - gnutls_crypto_single_digest_register2.3 \ - gnutls_crypto_bigint_register2.3 gnutls_crypto_pk_register2.3 \ - gnutls_crypto_cipher_register2.3 gnutls_crypto_mac_register2.3 \ - gnutls_crypto_digest_register2.3 gnutls_oprfi_enable_client.3 \ - gnutls_oprfi_enable_server.3 gnutls_server_name_get.3 \ - gnutls_server_name_set.3 gnutls_alert_get_name.3 \ - gnutls_alert_send.3 gnutls_error_to_alert.3 \ - gnutls_alert_send_appropriate.3 gnutls_alert_get.3 \ - gnutls_mac_get_name.3 gnutls_mac_get_id.3 \ +APIMANS = gnutls_crypto_cipher_register.3 gnutls_crypto_rnd_register.3 \ + gnutls_crypto_mac_register.3 gnutls_crypto_digest_register.3 \ + gnutls_oprfi_enable_client.3 gnutls_oprfi_enable_server.3 \ + gnutls_server_name_get.3 gnutls_server_name_set.3 \ + gnutls_alert_get_name.3 gnutls_alert_send.3 \ + gnutls_error_to_alert.3 gnutls_alert_send_appropriate.3 \ + gnutls_alert_get.3 gnutls_mac_get_name.3 gnutls_mac_get_id.3 \ gnutls_mac_get_key_size.3 gnutls_mac_list.3 \ - gnutls_cipher_get_key_size.3 gnutls_cipher_get_name.3 \ - gnutls_cipher_get_id.3 gnutls_cipher_list.3 \ - gnutls_kx_get_name.3 gnutls_kx_get_id.3 gnutls_kx_list.3 \ - gnutls_protocol_get_name.3 gnutls_protocol_get_id.3 \ - gnutls_protocol_list.3 gnutls_cipher_suite_get_name.3 \ - gnutls_cipher_suite_info.3 gnutls_certificate_type_get_name.3 \ + gnutls_compression_get_name.3 gnutls_compression_get_id.3 \ + gnutls_compression_list.3 gnutls_cipher_get_key_size.3 \ + gnutls_cipher_get_name.3 gnutls_cipher_get_id.3 \ + gnutls_cipher_list.3 gnutls_kx_get_name.3 gnutls_kx_get_id.3 \ + gnutls_kx_list.3 gnutls_protocol_get_name.3 \ + gnutls_protocol_get_id.3 gnutls_protocol_list.3 \ + gnutls_cipher_suite_get_name.3 gnutls_cipher_suite_info.3 \ + gnutls_certificate_type_get_name.3 \ gnutls_certificate_type_get_id.3 \ gnutls_certificate_type_list.3 \ - gnutls_sign_algorithm_get_name.3 gnutls_sign_list.3 \ - gnutls_sign_get_id.3 gnutls_sign_get_name.3 \ - gnutls_pk_algorithm_get_name.3 gnutls_pk_list.3 \ - gnutls_pk_get_id.3 gnutls_pk_get_name.3 \ + gnutls_sign_algorithm_get_name.3 \ + gnutls_pk_algorithm_get_name.3 \ gnutls_anon_free_server_credentials.3 \ gnutls_anon_allocate_server_credentials.3 \ gnutls_anon_free_client_credentials.3 \ @@ -728,8 +595,7 @@ gnutls_certificate_expiration_time_peers.3 \ gnutls_certificate_activation_time_peers.3 \ gnutls_sign_callback_set.3 gnutls_sign_callback_get.3 \ - gnutls_compression_get_name.3 gnutls_compression_get_id.3 \ - gnutls_compression_list.3 gnutls_db_set_retrieve_function.3 \ + gnutls_db_set_retrieve_function.3 \ gnutls_db_set_remove_function.3 gnutls_db_set_store_function.3 \ gnutls_db_set_ptr.3 gnutls_db_get_ptr.3 \ gnutls_db_set_cache_expiration.3 gnutls_db_check_entry.3 \ @@ -739,7 +605,6 @@ gnutls_dh_params_import_pkcs3.3 \ gnutls_dh_params_export_pkcs3.3 gnutls_dh_params_export_raw.3 \ gnutls_error_is_fatal.3 gnutls_perror.3 gnutls_strerror.3 \ - gnutls_strerror_name.3 gnutls_ext_register.3 \ gnutls_global_set_log_function.3 gnutls_global_set_log_level.3 \ gnutls_global_set_mem_functions.3 gnutls_global_init.3 \ gnutls_global_deinit.3 gnutls_transport_set_pull_function.3 \ @@ -747,9 +612,18 @@ gnutls_rehandshake.3 gnutls_handshake.3 \ gnutls_handshake_set_max_packet_length.3 \ gnutls_handshake_get_last_in.3 gnutls_handshake_get_last_out.3 \ - gnutls_malloc.3 gnutls_free.3 gnutls_cipher_set_priority.3 \ - gnutls_kx_set_priority.3 gnutls_mac_set_priority.3 \ - gnutls_compression_set_priority.3 \ + gnutls_malloc.3 gnutls_free.3 \ + gnutls_certificate_set_openpgp_key.3 \ + gnutls_certificate_set_openpgp_key_mem.3 \ + gnutls_certificate_set_openpgp_key_file.3 \ + gnutls_certificate_set_openpgp_key_mem2.3 \ + gnutls_certificate_set_openpgp_key_file2.3 \ + gnutls_certificate_set_openpgp_keyring_file.3 \ + gnutls_certificate_set_openpgp_keyring_mem.3 \ + gnutls_openpgp_set_recv_key_function.3 \ + gnutls_openpgp_privkey_sign_hash.3 \ + gnutls_cipher_set_priority.3 gnutls_kx_set_priority.3 \ + gnutls_mac_set_priority.3 gnutls_compression_set_priority.3 \ gnutls_protocol_set_priority.3 \ gnutls_certificate_type_set_priority.3 gnutls_priority_set.3 \ gnutls_priority_init.3 gnutls_priority_deinit.3 \ @@ -788,10 +662,9 @@ gnutls_handshake_set_private_extensions.3 gnutls_prf_raw.3 \ gnutls_prf.3 gnutls_session_get_client_random.3 \ gnutls_session_get_server_random.3 \ - gnutls_session_get_master_secret.3 \ - gnutls_session_set_finished_function.3 \ - gnutls_session_is_resumed.3 gnutls_session_get_ptr.3 \ - gnutls_session_set_ptr.3 gnutls_record_get_direction.3 \ + gnutls_session_get_master_secret.3 gnutls_session_is_resumed.3 \ + gnutls_session_get_ptr.3 gnutls_session_set_ptr.3 \ + gnutls_record_get_direction.3 \ gnutls_handshake_set_post_client_hello_function.3 \ gnutls_session_enable_compatibility_mode.3 gnutls_hex2bin.3 \ gnutls_dh_set_prime_bits.3 gnutls_dh_get_group.3 \ @@ -818,12 +691,10 @@ gnutls_certificate_set_x509_crl.3 \ gnutls_certificate_set_x509_crl_file.3 \ gnutls_certificate_set_x509_simple_pkcs12_file.3 \ - gnutls_certificate_set_x509_simple_pkcs12_mem.3 \ gnutls_certificate_free_crls.3 gnutls_pem_base64_encode.3 \ gnutls_pem_base64_encode_alloc.3 gnutls_pem_base64_decode.3 \ - gnutls_pem_base64_decode_alloc.3 gnutls_register_md5_handler.3 \ - gnutls_global_init_extra.3 gnutls_extra_check_version.3 \ - gnutls_ia_permute_inner_secret.3 \ + gnutls_pem_base64_decode_alloc.3 gnutls_global_init_extra.3 \ + gnutls_extra_check_version.3 gnutls_ia_permute_inner_secret.3 \ gnutls_ia_generate_challenge.3 \ gnutls_ia_extract_inner_secret.3 gnutls_ia_endphase_send.3 \ gnutls_ia_verify_endphase.3 gnutls_ia_send.3 gnutls_ia_recv.3 \ @@ -847,50 +718,26 @@ gnutls_x509_crl_get_next_update.3 \ gnutls_x509_crl_get_crt_count.3 \ gnutls_x509_crl_get_crt_serial.3 gnutls_x509_crl_export.3 \ - gnutls_x509_crl_get_authority_key_id.3 \ - gnutls_x509_crl_get_number.3 \ - gnutls_x509_crl_get_extension_oid.3 \ - gnutls_x509_crl_get_extension_info.3 \ - gnutls_x509_crl_get_extension_data.3 \ gnutls_x509_crl_set_version.3 gnutls_x509_crl_sign2.3 \ gnutls_x509_crl_sign.3 gnutls_x509_crl_set_this_update.3 \ gnutls_x509_crl_set_next_update.3 \ gnutls_x509_crl_set_crt_serial.3 gnutls_x509_crl_set_crt.3 \ - gnutls_x509_crl_set_authority_key_id.3 \ - gnutls_x509_crl_set_number.3 gnutls_x509_crq_init.3 \ - gnutls_x509_crq_deinit.3 gnutls_x509_crq_import.3 \ - gnutls_x509_crq_get_dn.3 gnutls_x509_crq_get_dn_by_oid.3 \ - gnutls_x509_crq_get_dn_oid.3 \ + gnutls_x509_crq_init.3 gnutls_x509_crq_deinit.3 \ + gnutls_x509_crq_import.3 gnutls_x509_crq_get_dn.3 \ + gnutls_x509_crq_get_dn_by_oid.3 gnutls_x509_crq_get_dn_oid.3 \ gnutls_x509_crq_get_challenge_password.3 \ gnutls_x509_crq_set_attribute_by_oid.3 \ gnutls_x509_crq_get_attribute_by_oid.3 \ gnutls_x509_crq_set_dn_by_oid.3 gnutls_x509_crq_set_version.3 \ gnutls_x509_crq_get_version.3 gnutls_x509_crq_set_key.3 \ - gnutls_x509_crq_get_key_rsa_raw.3 \ - gnutls_x509_crq_set_key_rsa_raw.3 \ gnutls_x509_crq_set_challenge_password.3 \ gnutls_x509_crq_sign2.3 gnutls_x509_crq_sign.3 \ gnutls_x509_crq_export.3 gnutls_x509_crq_get_pk_algorithm.3 \ - gnutls_x509_crq_get_attribute_info.3 \ - gnutls_x509_crq_get_attribute_data.3 \ - gnutls_x509_crq_get_extension_info.3 \ - gnutls_x509_crq_get_extension_data.3 \ - gnutls_x509_crq_get_key_usage.3 \ - gnutls_x509_crq_get_basic_constraints.3 \ - gnutls_x509_crq_get_subject_alt_name.3 \ - gnutls_x509_crq_get_subject_alt_othername_oid.3 \ - gnutls_x509_crq_get_extension_by_oid.3 \ - gnutls_x509_crq_set_subject_alt_name.3 \ - gnutls_x509_crq_set_basic_constraints.3 \ - gnutls_x509_crq_set_key_usage.3 \ - gnutls_x509_crq_get_key_purpose_oid.3 \ - gnutls_x509_crq_set_key_purpose_oid.3 \ - gnutls_x509_crq_get_key_id.3 gnutls_x509_dn_init.3 \ - gnutls_x509_dn_import.3 gnutls_x509_dn_deinit.3 \ - gnutls_x509_rdn_get.3 gnutls_x509_rdn_get_by_oid.3 \ - gnutls_x509_rdn_get_oid.3 gnutls_x509_dn_export.3 \ - gnutls_x509_crt_print.3 gnutls_x509_crl_print.3 \ - gnutls_x509_crq_print.3 gnutls_pkcs12_init.3 \ + gnutls_x509_dn_init.3 gnutls_x509_dn_import.3 \ + gnutls_x509_dn_deinit.3 gnutls_x509_rdn_get.3 \ + gnutls_x509_rdn_get_by_oid.3 gnutls_x509_rdn_get_oid.3 \ + gnutls_x509_dn_export.3 gnutls_x509_crt_print.3 \ + gnutls_x509_crl_print.3 gnutls_pkcs12_init.3 \ gnutls_pkcs12_deinit.3 gnutls_pkcs12_import.3 \ gnutls_pkcs12_export.3 gnutls_pkcs12_get_bag.3 \ gnutls_pkcs12_set_bag.3 gnutls_pkcs12_generate_mac.3 \ @@ -958,8 +805,7 @@ gnutls_x509_crt_get_fingerprint.3 gnutls_x509_crt_export.3 \ gnutls_x509_crt_get_key_id.3 \ gnutls_x509_crt_check_revocation.3 \ - gnutls_x509_crt_get_verify_algorithm.3 \ - gnutls_x509_crt_verify_data.3 gnutls_x509_crt_verify_hash.3 \ + gnutls_x509_crt_verify_data.3 \ gnutls_x509_crt_get_crl_dist_points.3 \ gnutls_x509_crt_get_key_purpose_oid.3 \ gnutls_x509_crt_get_pk_rsa_raw.3 \ @@ -968,19 +814,16 @@ gnutls_x509_crt_set_issuer_dn_by_oid.3 \ gnutls_x509_crt_set_proxy_dn.3 gnutls_x509_crt_set_version.3 \ gnutls_x509_crt_set_key.3 gnutls_x509_crt_set_crq.3 \ - gnutls_x509_crt_set_crq_extensions.3 \ gnutls_x509_crt_set_extension_by_oid.3 \ gnutls_x509_crt_set_basic_constraints.3 \ gnutls_x509_crt_set_ca_status.3 \ gnutls_x509_crt_set_key_usage.3 \ gnutls_x509_crt_set_subject_alternative_name.3 \ - gnutls_x509_crt_set_subject_alt_name.3 \ gnutls_x509_crt_set_proxy.3 gnutls_x509_crt_sign2.3 \ gnutls_x509_crt_sign.3 gnutls_x509_crt_set_activation_time.3 \ gnutls_x509_crt_set_expiration_time.3 \ gnutls_x509_crt_set_serial.3 \ gnutls_x509_crt_set_crl_dist_points.3 \ - gnutls_x509_crt_set_crl_dist_points2.3 \ gnutls_x509_crt_cpy_crl_dist_points.3 \ gnutls_x509_crt_set_subject_key_id.3 \ gnutls_x509_crt_set_authority_key_id.3 \ @@ -989,16 +832,7 @@ gnutls_openpgp_keyring_check_id.3 \ gnutls_openpgp_keyring_import.3 \ gnutls_openpgp_keyring_get_crt_count.3 \ - gnutls_openpgp_keyring_get_crt.3 \ - gnutls_certificate_set_openpgp_key.3 \ - gnutls_certificate_set_openpgp_key_mem.3 \ - gnutls_certificate_set_openpgp_key_file.3 \ - gnutls_certificate_set_openpgp_key_mem2.3 \ - gnutls_certificate_set_openpgp_key_file2.3 \ - gnutls_certificate_set_openpgp_keyring_file.3 \ - gnutls_certificate_set_openpgp_keyring_mem.3 \ - gnutls_openpgp_set_recv_key_function.3 \ - gnutls_openpgp_privkey_sign_hash.3 gnutls_openpgp_crt_print.3 \ + gnutls_openpgp_keyring_get_crt.3 gnutls_openpgp_crt_print.3 \ gnutls_openpgp_crt_init.3 gnutls_openpgp_crt_deinit.3 \ gnutls_openpgp_crt_import.3 gnutls_openpgp_crt_export.3 \ gnutls_openpgp_crt_get_fingerprint.3 \ @@ -1060,8 +894,7 @@ gnutls_srp_set_server_credentials_file.3 \ gnutls_srp_set_server_credentials_function.3 \ gnutls_srp_set_client_credentials_function.3 \ - gnutls_srp_server_get_username.3 gnutls_srp_verifier.3 \ - gnutls_srp_set_prime_bits.3 + gnutls_srp_server_get_username.3 gnutls_srp_verifier.3 all: all-am .SUFFIXES: @@ -1069,14 +902,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/manpages/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/manpages/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/manpages/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/manpages/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -1094,89 +927,102 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs -install-man1: $(dist_man_MANS) +install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done uninstall-man1: @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } -install-man3: $(dist_man_MANS) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +install-man3: $(man3_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)" - @list=''; test -n "$(man3dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ + @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.3*) list="$$list $$i" ;; \ + esac; \ done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 3*) ;; \ + *) ext='3' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \ + done uninstall-man3: @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man3dir)" && rm -f $$files; } + @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.3*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 3*) ;; \ + *) ext='3' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man3dir)/$$inst"; \ + done tags: TAGS TAGS: @@ -1185,19 +1031,6 @@ distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1213,17 +1046,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -1254,7 +1083,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1273,8 +1101,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -1283,28 +1109,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-man1 install-man3 install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -1371,12 +1187,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/gnutls.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/*.c > $$i.3 && \ + $(top_srcdir)/lib/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -1385,12 +1200,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/extra.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/libextra/*.c > $$i.3 && \ + $(top_srcdir)/libextra/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -1399,12 +1213,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/x509.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/x509/*.c > $$i.3 && \ + $(top_srcdir)/lib/x509/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -1413,12 +1226,11 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/pkcs12.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/x509/*.c > $$i.3 && \ + $(top_srcdir)/lib/x509/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo ""; \ @@ -1427,18 +1239,16 @@ $(top_srcdir)/doc/scripts/gdoc -man \ -module $(PACKAGE) -sourceversion $(VERSION) \ -bugsto $(PACKAGE_BUGREPORT) \ - -pkg-name "$(PACKAGE_NAME)" \ -include "gnutls/openpgp.h" \ -seeinfo $(PACKAGE) -verbatimcopying \ -copyright "2008 Free Software Foundation" \ -function $$i \ - $(top_srcdir)/lib/openpgp/*.c > $$i.3 && \ + $(top_srcdir)/lib/openpgp/*.c >> $$i.3 && \ echo -n "."; \ done; \ echo "" .PHONY: update-makefile doit - # 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: diff -Nru gnutls26-2.8.6/doc/pgp-api.texi gnutls26-2.4.1/doc/pgp-api.texi --- gnutls26-2.8.6/doc/pgp-api.texi 2010-03-15 10:35:25.000000000 +0000 +++ gnutls26-2.4.1/doc/pgp-api.texi 2008-06-30 22:14:34.000000000 +0100 @@ -4,7 +4,7 @@ @subheading gnutls_certificate_set_openpgp_key_file2 @anchor{gnutls_certificate_set_openpgp_key_file2} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char* @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{certfile}: the file that contains the public key. @@ -18,9 +18,8 @@ This funtion is used to load OpenPGP keys into the GnuTLS credential structure. The files should contain non encrypted keys. -The special keyword "auto" is also accepted as @code{subkey_id}. In that -case the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to -retrieve the subkey. +The special keyword "auto" is also accepted as &subkey_id. In that case +the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to retrieve the subkey. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @@ -30,7 +29,7 @@ @subheading gnutls_certificate_set_openpgp_key_file @anchor{gnutls_certificate_set_openpgp_key_file} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{certfile}: the file that contains the public key. @@ -49,13 +48,9 @@ @subheading gnutls_certificate_set_openpgp_key_mem2 @anchor{gnutls_certificate_set_openpgp_key_mem2} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{icert}, const gnutls_datum_t * @var{ikey}, const char* @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. -@var{cert}: the datum that contains the public key. - -@var{key}: the datum that contains the secret key. - @var{subkey_id}: a hex encoded subkey id @var{format}: the format of the keys @@ -64,7 +59,7 @@ credentials structure. The files should only contain one key which is not encrypted. -The special keyword "auto" is also accepted as @code{subkey_id}. In that +The special keyword "auto" is also accepted as &subkey_id. In that case the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to retrieve the subkey. @@ -76,13 +71,9 @@ @subheading gnutls_certificate_set_openpgp_key_mem @anchor{gnutls_certificate_set_openpgp_key_mem} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{icert}, const gnutls_datum_t * @var{ikey}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. -@var{cert}: the datum that contains the public key. - -@var{key}: the datum that contains the secret key. - @var{format}: the format of the keys This funtion is used to load OpenPGP keys into the GnuTLS credential @@ -99,8 +90,6 @@ @var{file}: filename of the keyring. -@var{format}: format of keyring. - The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -112,15 +101,13 @@ @subheading gnutls_certificate_set_openpgp_keyring_mem @anchor{gnutls_certificate_set_openpgp_keyring_mem} -@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const opaque * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const opaque * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) @var{c}: A certificate credentials structure @var{data}: buffer with keyring data. @var{dlen}: length of data buffer. -@var{format}: the format of the keyring - The function is used to set keyrings that will be used internally by various OpenPGP functions. For example to find a key when it is needed for an operations. The keyring will also be used at the @@ -129,29 +116,25 @@ @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun - @subheading gnutls_certificate_set_openpgp_key @anchor{gnutls_certificate_set_openpgp_key} -@deftypefun {int} {gnutls_certificate_set_openpgp_key} (gnutls_certificate_credentials_t @var{res}, gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_privkey_t @var{pkey}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_openpgp_key} (gnutls_certificate_credentials_t @var{res}, gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_privkey_t @var{pkey}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{pkey}: is an openpgp private key -This function sets a certificate/private key pair in the -gnutls_certificate_credentials_t structure. This function may be -called more than once (in case multiple keys/certificates exist -for the server). +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server). With this function the subkeys of the certificate are not used. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_openpgp_crt_check_hostname @anchor{gnutls_openpgp_crt_check_hostname} @deftypefun {int} {gnutls_openpgp_crt_check_hostname} (gnutls_openpgp_crt_t @var{key}, const char * @var{hostname}) -@var{key}: should contain a @code{gnutls_openpgp_crt_t} structure +@var{key}: should contain an @code{gnutls_openpgp_crt_t} structure @var{hostname}: A null terminated string that contains a DNS name @@ -192,8 +175,6 @@ @subheading gnutls_openpgp_crt_get_auth_subkey @anchor{gnutls_openpgp_crt_get_auth_subkey} @deftypefun {int} {gnutls_openpgp_crt_get_auth_subkey} (gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flag}) -@var{crt}: the structure that contains the OpenPGP public key. - @var{keyid}: the struct to save the keyid. @var{flag}: Non zero indicates that a valid subkey is always returned. @@ -202,10 +183,6 @@ for authentication. If flag is non zero and no authentication subkey exists, then a valid subkey will be returned even if it is not marked for authentication. -Returns the 64-bit keyID of the first valid OpenPGP subkey marked -for authentication. If flag is non zero and no authentication -subkey exists, then a valid subkey will be returned even if it is -not marked for authentication. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @@ -592,6 +569,7 @@ @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun + @subheading gnutls_openpgp_crt_init @anchor{gnutls_openpgp_crt_init} @deftypefun {int} {gnutls_openpgp_crt_init} (gnutls_openpgp_crt_t * @var{key}) @@ -630,9 +608,6 @@ This allows setting a preferred key id for the given certificate. This key will be used by functions that involve key handling. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_openpgp_crt_verify_ring @@ -709,12 +684,8 @@ @subheading gnutls_openpgp_keyring_get_crt @anchor{gnutls_openpgp_keyring_get_crt} @deftypefun {int} {gnutls_openpgp_keyring_get_crt} (gnutls_openpgp_keyring_t @var{ring}, unsigned int @var{idx}, gnutls_openpgp_crt_t * @var{cert}) -@var{ring}: Holds the keyring. - @var{idx}: the index of the certificate to export -@var{cert}: An uninitialized @code{gnutls_openpgp_crt_t} structure - This function will extract an OpenPGP certificate from the given keyring. If the index given is out of range @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. The @@ -863,12 +834,12 @@ @subheading gnutls_openpgp_privkey_export @anchor{gnutls_openpgp_privkey_export} -@deftypefun {int} {gnutls_openpgp_privkey_export} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) +@deftypefun {int} {gnutls_openpgp_privkey_export} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char* @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) @var{key}: Holds the key. @var{format}: One of gnutls_openpgp_crt_fmt_t elements. -@var{password}: the password that will be used to encrypt the key. (unused for now) +@var{password}: the password that will be used to encrypt the key. @var{flags}: zero for future compatibility @@ -992,7 +963,7 @@ @subheading gnutls_openpgp_privkey_get_subkey_expiration_time @anchor{gnutls_openpgp_privkey_get_subkey_expiration_time} -@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: the subkey index @@ -1078,7 +1049,7 @@ @subheading gnutls_openpgp_privkey_get_subkey_revoked_status @anchor{gnutls_openpgp_privkey_get_subkey_revoked_status} -@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: is the subkey index @@ -1093,14 +1064,14 @@ @subheading gnutls_openpgp_privkey_import @anchor{gnutls_openpgp_privkey_import} -@deftypefun {int} {gnutls_openpgp_privkey_import} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_openpgp_privkey_import} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{pass}, unsigned int @var{flags}) @var{key}: The structure to store the parsed key. @var{data}: The RAW or BASE64 encoded key. -@var{format}: One of @code{gnutls_openpgp_crt_fmt_t} elements. +@var{format}: One of gnutls_openpgp_crt_fmt_t elements. -@var{password}: not used for now +@var{pass}: Unused for now @var{flags}: should be zero @@ -1123,7 +1094,7 @@ @subheading gnutls_openpgp_privkey_set_preferred_key_id @anchor{gnutls_openpgp_privkey_set_preferred_key_id} -@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) +@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) @var{key}: the structure that contains the OpenPGP public key. @var{keyid}: the selected keyid diff -Nru gnutls26-2.8.6/doc/printlist.c gnutls26-2.4.1/doc/printlist.c --- gnutls26-2.8.6/doc/printlist.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/printlist.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Free Software Foundation - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * GNUTLS 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 3 of the License, or - * (at your option) any later version. - * - * GNUTLS 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, see . - */ - -#include -#include -#include -#include -#include -#include -#include - -int -main (void) -{ - { - size_t i; - const char *name; - char id[2]; - gnutls_kx_algorithm_t kx; - gnutls_cipher_algorithm_t cipher; - gnutls_mac_algorithm_t mac; - gnutls_protocol_t version; - - printf ("Available cipher suites:\n"); - printf ("@multitable @columnfractions .60 .20 .20\n"); - for (i = 0; (name = gnutls_cipher_suite_info - (i, id, &kx, &cipher, &mac, &version)); i++) - { - printf ("@item %s\n@tab 0x%02x 0x%02x\n@tab %s\n", - name, - (unsigned char) id[0], (unsigned char) id[1], - gnutls_protocol_get_name (version)); - } - printf ("@end multitable\n"); - } - - { - const gnutls_certificate_type_t *p = gnutls_certificate_type_list (); - - printf ("\n\nAvailable certificate types:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_certificate_type_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_protocol_t *p = gnutls_protocol_list (); - - printf ("\nAvailable protocols:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_protocol_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_cipher_algorithm_t *p = gnutls_cipher_list (); - - printf ("\nAvailable ciphers:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_cipher_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_mac_algorithm_t *p = gnutls_mac_list (); - - printf ("\nAvailable MAC algorithms:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_mac_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_kx_algorithm_t *p = gnutls_kx_list (); - - printf ("\nAvailable key exchange methods:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_kx_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_pk_algorithm_t *p = gnutls_pk_list (); - - printf ("\nAvailable public key algorithms:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_pk_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_sign_algorithm_t *p = gnutls_sign_list (); - - printf ("\nAvailable public key signature algorithms:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_sign_get_name (*p)); - } - printf ("@end itemize\n"); - } - - { - const gnutls_compression_method_t *p = gnutls_compression_list (); - - printf ("\nAvailable compression methods:\n@itemize\n"); - for (; *p; p++) - { - printf ("@item %s\n", gnutls_compression_get_name (*p)); - } - printf ("@end itemize\n"); - } -} diff -Nru gnutls26-2.8.6/doc/README.autoconf gnutls26-2.4.1/doc/README.autoconf --- gnutls26-2.8.6/doc/README.autoconf 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/README.autoconf 2008-06-19 11:00:09.000000000 +0100 @@ -0,0 +1,27 @@ +If you want to use the gnutls library in other projects +using autoconf/aclocal, put in your + +acinclude.m4 or aclocal.m4: + include(libgnutls.m4) + +configure.in: + AM_PATH_LIBGNUTLS( 1.0.0,, AC_MSG_ERROR([[ +*** +*** libgnutls was not found. You may want to get it from +*** ftp://ftp.gnutls.org/pub/gnutls/ +]])) + +these macros define LIBGNUTLS_LIBS and LIBGNUTLS_CFLAGS. If you want to +use the GPL gnutls parts then also add: + +aclocal.m4: + include(libgnutls-extra.m4) + +configure.in: + AM_PATH_LIBGNUTLS_EXTRA( 1.0.0,, AC_MSG_ERROR([[ +*** +*** libgnutls-extra was not found. You may want to get it from +*** ftp://ftp.gnutls.org/pub/gnutls/ +]])) + +which define LIBGNUTLS_EXTRA_LIBS and LIBGNUTLS_EXTRA_CFLAGS. diff -Nru gnutls26-2.8.6/doc/README.gaa gnutls26-2.4.1/doc/README.gaa --- gnutls26-2.8.6/doc/README.gaa 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/README.gaa 1970-01-01 01:00:00.000000000 +0100 @@ -1,154 +0,0 @@ -If you modify src/*.gaa files you need to rebuild them using the 'gaa' -tool. The last release, 1.6.6, contains some minor problems that -triggers warnings on the output C code. The following patch against -gaa 1.6.6 is used to generate files stored in GnuTLS. - -diff -ur gaa-1.6.6.orig/source/skel/gaa.skel gaa-1.6.6/source/skel/gaa.skel ---- gaa-1.6.6.orig/source/skel/gaa.skel 2004-04-15 13:32:29.000000000 +0200 -+++ gaa-1.6.6/source/skel/gaa.skel 2008-11-13 10:52:23.000000000 +0100 -@@ -340,31 +340,12 @@ - return tmp; - } - --static char gaa_getchar(char *arg) --{ -- if(strlen(arg) != 1) -- { -- printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); -- GAAERROR(-1); -- } -- return arg[0]; --} - - static char* gaa_getstr(char *arg) - { - return arg; - } --static float gaa_getfloat(char *arg) --{ -- float tmp; -- char a; -- if(sscanf(arg, "%f%c", &tmp, &a) < 1) -- { -- printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); -- GAAERROR(-1); -- } -- return tmp; --} -+ - /* option structures */ - @ - #line 349 "gaa.skel" -@@ -444,16 +425,19 @@ - int gaa(int argc, char **argv, gaainfo *gaaval) - { - int tmp1, tmp2; -- int i, j@; -+ int l; -+ size_t i, j@; - char *opt_list; - -+ i = 0; -+ - GAAargv = argv; - GAAargc = argc; - - opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1); - -- for(i = 0; i < GAA_NB_OPTION + 1; i++) -- opt_list[i] = 0; -+ for(l = 0; l < GAA_NB_OPTION + 1; l++) -+ opt_list[l] = 0; - /* initialization */ - if(inited == 0) - { -@@ -468,27 +452,27 @@ - gaa_arg_used = gaa_malloc(argc * sizeof(char)); - } - -- for(i = 1; i < argc; i++) -- gaa_arg_used[i] = 0; -- for(i = 1; i < argc; i++) -+ for(l = 1; l < argc; l++) -+ gaa_arg_used[l] = 0; -+ for(l = 1; l < argc; l++) - { -- if(gaa_arg_used[i] == 0) -+ if(gaa_arg_used[l] == 0) - { - j = 0; -- tmp1 = gaa_is_an_argument(GAAargv[i]); -+ tmp1 = gaa_is_an_argument(GAAargv[l]); - switch(tmp1) - { - case GAA_WORD_OPTION: - j++; - case GAA_LETTER_OPTION: - j++; -- tmp2 = gaa_get_option_num(argv[i]+j, tmp1); -+ tmp2 = gaa_get_option_num(argv[l]+j, tmp1); - if(tmp2 == GAA_ERROR_NOMATCH) - { -- printf("Invalid option '%s'\n", argv[i]+j); -+ printf("Invalid option '%s'\n", argv[l]+j); - return 0; - } -- switch(gaa_try(tmp2, i+1, gaaval, opt_list)) -+ switch(gaa_try(tmp2, l+1, gaaval, opt_list)) - { - case GAA_ERROR_NOTENOUGH_ARGS: - printf("'%s': not enough arguments\n",gaa_current_option); -@@ -501,18 +485,18 @@ - default: - printf("Unknown error\n"); - } -- gaa_arg_used[i] = 1; -+ gaa_arg_used[l] = 1; - break; - case GAA_MULTIPLE_OPTION: -- for(j = 1; j < strlen(argv[i]); j++) -+ for(j = 1; j < strlen(argv[l]); j++) - { -- tmp2 = gaa_get_option_num(argv[i]+j, tmp1); -+ tmp2 = gaa_get_option_num(argv[l]+j, tmp1); - if(tmp2 == GAA_ERROR_NOMATCH) - { -- printf("Invalid option '%c'\n", *(argv[i]+j)); -+ printf("Invalid option '%c'\n", *(argv[l]+j)); - return 0; - } -- switch(gaa_try(tmp2, i+1, gaaval, opt_list)) -+ switch(gaa_try(tmp2, l+1, gaaval, opt_list)) - { - case GAA_ERROR_NOTENOUGH_ARGS: - printf("'%s': not enough arguments\n",gaa_current_option); -@@ -526,7 +510,7 @@ - printf("Unknown error\n"); - } - } -- gaa_arg_used[i] = 1; -+ gaa_arg_used[l] = 1; - break; - default: break; - } -@@ -552,9 +536,9 @@ - } - #endif - } -- for(i = 1; i < argc; i++) -+ for(l = 1; l < argc; l++) - { -- if(gaa_arg_used[i] == 0) -+ if(gaa_arg_used[l] == 0) - { - printf("Too many arguments\n"); - return 0; -@@ -605,7 +589,7 @@ - - len++; - a = fgetc( file); -- if(a==EOF) return 0; //a = ' '; -+ if(a==EOF) return 0; /* a = ' '; */ - } - - len += 1; diff -Nru gnutls26-2.8.6/doc/README.GIT gnutls26-2.4.1/doc/README.GIT --- gnutls26-2.8.6/doc/README.GIT 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/README.GIT 2008-06-19 11:00:09.000000000 +0100 @@ -0,0 +1,31 @@ +If you just want to browse the git tree, you may visit +http://git.savannah.gnu.org/gitweb/?p=gnutls.git + +Otherwise, if you want to get and build the tree, you should have the +following software: + +* git (http://git.or.cz/) +* autoconf 2.57 or newer (http://www.gnu.org/software/autoconf/) +* libtool (http://www.gnu.org/software/libtoool/) +* automake 1.8 or newer (http://www.gnu.org/software/automake/) +* libgcrypt (ftp://ftp.gnupg.org/pub/gcrypt/alpha/libgcrypt/) +* texinfo (http://www.gnu.org/software/texinfo/) +* gtk-doc 1.4 (to generate reference HTML manual in doc/reference/) + +Those are optional: +* gaa (to handle example programs' parameters) (http://gaa.sf.net) + +1. Download the git tree +$ git clone git://git.savannah.gnu.org/gnutls.git + +$ cd gnutls + +2. Create configure script +$ autoreconf -i -f + +3. Compile the sources +$ ./configure --enable-developer-mode +$ make + +4. If you intend to change any code in gnutls, check the file + doc/README.CODING_STYLE. diff -Nru gnutls26-2.8.6/doc/reference/gnutls-docs.sgml gnutls26-2.4.1/doc/reference/gnutls-docs.sgml --- gnutls26-2.8.6/doc/reference/gnutls-docs.sgml 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/reference/gnutls-docs.sgml 2008-06-19 11:00:10.000000000 +0100 @@ -26,7 +26,6 @@ - @@ -40,10 +39,4 @@ Index of new symbols in 2.4.0 - - Index of new symbols in 2.6.0 - - - Index of new symbols in 2.8.0 - diff -Nru gnutls26-2.8.6/doc/reference/gnutls-sections.txt gnutls26-2.4.1/doc/reference/gnutls-sections.txt --- gnutls26-2.8.6/doc/reference/gnutls-sections.txt 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/gnutls-sections.txt 2008-06-30 22:15:22.000000000 +0100 @@ -1,89 +1,156 @@
    -intprops -TYPE_TWOS_COMPLEMENT -TYPE_ONES_COMPLEMENT -TYPE_SIGNED_MAGNITUDE -TYPE_SIGNED -TYPE_MINIMUM -TYPE_MAXIMUM -signed_type_or_expr__ -INT_STRLEN_BOUND -INT_BUFSIZE_BOUND - -TYPE_IS_INTEGER +random +RND_RANDOM +RND_NONCE +RND_KEY
    -random -crypto_rnd_prio +crypto +
    + +
    +ext_oprfi +
    + +
    +libtasn1 +LIBTASN1_VERSION +MAX_NAME_SIZE +MAX_ERROR_DESCRIPTION_SIZE +asn1_retCode +ASN1_SUCCESS +ASN1_FILE_NOT_FOUND +ASN1_ELEMENT_NOT_FOUND +ASN1_IDENTIFIER_NOT_FOUND +ASN1_DER_ERROR +ASN1_VALUE_NOT_FOUND +ASN1_GENERIC_ERROR +ASN1_VALUE_NOT_VALID +ASN1_TAG_ERROR +ASN1_TAG_IMPLICIT +ASN1_ERROR_TYPE_ANY +ASN1_SYNTAX_ERROR +ASN1_MEM_ERROR +ASN1_MEM_ALLOC_ERROR +ASN1_DER_OVERFLOW +ASN1_NAME_TOO_LONG +ASN1_ARRAY_ERROR +ASN1_ELEMENT_NOT_EMPTY +ASN1_PRINT_NAME +ASN1_PRINT_NAME_TYPE +ASN1_PRINT_NAME_TYPE_VALUE +ASN1_PRINT_ALL +ASN1_CLASS_UNIVERSAL +ASN1_CLASS_APPLICATION +ASN1_CLASS_CONTEXT_SPECIFIC +ASN1_CLASS_PRIVATE +ASN1_CLASS_STRUCTURED +ASN1_TAG_BOOLEAN +ASN1_TAG_INTEGER +ASN1_TAG_SEQUENCE +ASN1_TAG_SET +ASN1_TAG_OCTET_STRING +ASN1_TAG_BIT_STRING +ASN1_TAG_UTCTime +ASN1_TAG_GENERALIZEDTime +ASN1_TAG_OBJECT_ID +ASN1_TAG_ENUMERATED +ASN1_TAG_NULL +ASN1_TAG_GENERALSTRING +node_asn +ASN1_TYPE +ASN1_TYPE_EMPTY +ASN1_ARRAY_TYPE +asn1_parser2tree +asn1_parser2array +asn1_array2tree +asn1_print_structure +asn1_create_element +asn1_delete_structure +asn1_delete_element +asn1_write_value +asn1_read_value +asn1_number_of_elements +asn1_der_coding +asn1_der_decoding +asn1_der_decoding_element +asn1_der_decoding_startEnd +asn1_expand_any_defined_by +asn1_expand_octet_string +asn1_read_tag +asn1_find_structure_from_oid +asn1_check_version +libtasn1_strerror +libtasn1_perror +asn1_get_tag_der +asn1_octet_der +asn1_get_octet_der +asn1_bit_der +asn1_get_bit_der +asn1_length_der +asn1_find_node +asn1_copy_node +
    + +
    +keydb +key_idx_t +key_table_t +
    + +
    +openpgp_int +KEYID_IMPORT +
    + +
    +x509_int +HASH_OID_SHA1 +HASH_OID_MD5 +HASH_OID_MD2 +HASH_OID_RMD160 +HASH_OID_SHA256 +HASH_OID_SHA384 +HASH_OID_SHA512 +MAX_PRIV_PARAMS_SIZE +DSA_PRIVATE_PARAMS +DSA_PUBLIC_PARAMS +RSA_PRIVATE_PARAMS +RSA_PUBLIC_PARAMS +OID_X520_COUNTRY_NAME +OID_X520_ORGANIZATION_NAME +OID_X520_ORGANIZATIONAL_UNIT_NAME +OID_X520_COMMON_NAME +OID_X520_LOCALITY_NAME +OID_X520_STATE_OR_PROVINCE_NAME +OID_LDAP_DC +OID_LDAP_UID +OID_PKCS9_EMAIL +gnutls_x509_crt_is_issuer +MAX_BAG_ELEMENTS +BAG_PKCS8_KEY +BAG_PKCS8_ENCRYPTED_KEY +BAG_CERTIFICATE +BAG_CRL +DATA_OID +ENC_DATA_OID +FRIENDLY_NAME_OID +KEY_ID_OID +schema_id
    crypto -GNUTLS_CRYPTO_API_VERSION -init -setkey -setiv -encrypt -decrypt -deinit -hash -copy -output -gnutls_crypto_single_digest_st -gnutls_crypto_digest_st +gnutls_crypto_cipher_st +gnutls_crypto_mac_st gnutls_rnd_level_t -gnutls_pk_flag_t -rnd -bigint_t -gnutls_bigint_format_t -bigint_new -bigint_release -bigint_cmp -bigint_cmp_ui -bigint_mod -bigint_set -bigint_set_ui -int -bigint_powm -bigint_addm -bigint_subm -bigint_mulm -bigint_mul -bigint_add_ui -bigint_sub_ui -bigint_mul_ui -bigint_div -bigint_prime_check -bigint_generate_group -bigint_scan -bigint_print -GNUTLS_MAX_PK_PARAMS -gnutls_pk_params_release -gnutls_pk_params_init -gnutls_direction_t -sign -verify -generate -pk_fixup_private_params -gnutls_crypto_single_cipher_register -gnutls_crypto_single_mac_register -gnutls_crypto_single_digest_register -gnutls_crypto_single_cipher_register2 -gnutls_crypto_single_mac_register2 -gnutls_crypto_single_digest_register2 +gnutls_crypto_rnd_st +gnutls_crypto_digest_st gnutls_crypto_cipher_register gnutls_crypto_mac_register gnutls_crypto_digest_register -gnutls_crypto_cipher_register2 -gnutls_crypto_mac_register2 -gnutls_crypto_digest_register2 gnutls_crypto_rnd_register -gnutls_crypto_pk_register -gnutls_crypto_bigint_register -gnutls_crypto_rnd_register2 -gnutls_crypto_pk_register2 -gnutls_crypto_bigint_register2
    @@ -116,8 +183,6 @@ GNUTLS_KP_TIME_STAMPING GNUTLS_KP_OCSP_SIGNING GNUTLS_KP_ANY -GNUTLS_FSAN_SET -GNUTLS_FSAN_APPEND gnutls_certificate_import_flags gnutls_x509_crt_init gnutls_x509_crt_deinit @@ -148,7 +213,6 @@ GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN GNUTLS_CRL_REASON_AA_COMPROMISE gnutls_x509_crt_get_crl_dist_points -gnutls_x509_crt_set_crl_dist_points2 gnutls_x509_crt_set_crl_dist_points gnutls_x509_crt_cpy_crl_dist_points gnutls_x509_crt_get_activation_time @@ -178,7 +242,6 @@ gnutls_x509_crt_set_ca_status gnutls_x509_crt_set_basic_constraints gnutls_x509_crt_set_subject_alternative_name -gnutls_x509_crt_set_subject_alt_name gnutls_x509_crt_sign gnutls_x509_crt_sign2 gnutls_x509_crt_set_activation_time @@ -195,6 +258,7 @@ gnutls_x509_rdn_get_oid gnutls_x509_rdn_get_by_oid gnutls_x509_dn_t +gnutls_x509_ava_st gnutls_x509_crt_get_subject gnutls_x509_crt_get_issuer gnutls_x509_dn_get_rdn_ava @@ -226,13 +290,6 @@ gnutls_x509_crl_set_next_update gnutls_x509_crl_set_crt_serial gnutls_x509_crl_set_crt -gnutls_x509_crl_get_authority_key_id -gnutls_x509_crl_get_number -gnutls_x509_crl_get_extension_oid -gnutls_x509_crl_get_extension_info -gnutls_x509_crl_get_extension_data -gnutls_x509_crl_set_authority_key_id -gnutls_x509_crl_set_number gnutls_pkcs7_int gnutls_pkcs7_t gnutls_pkcs7_init @@ -281,21 +338,18 @@ gnutls_x509_privkey_sign_data gnutls_x509_privkey_verify_data gnutls_x509_crt_verify_data -gnutls_x509_crt_verify_hash -gnutls_x509_crt_get_verify_algorithm gnutls_x509_privkey_sign_hash gnutls_x509_crq_int gnutls_x509_crq_t -gnutls_x509_crq_print gnutls_x509_crq_init gnutls_x509_crq_deinit gnutls_x509_crq_import +gnutls_x509_crq_get_pk_algorithm gnutls_x509_crq_get_dn gnutls_x509_crq_get_dn_oid gnutls_x509_crq_get_dn_by_oid gnutls_x509_crq_set_dn_by_oid gnutls_x509_crq_set_version -gnutls_x509_crq_get_version gnutls_x509_crq_set_key gnutls_x509_crq_sign2 gnutls_x509_crq_sign @@ -305,35 +359,45 @@ gnutls_x509_crq_get_attribute_by_oid gnutls_x509_crq_export gnutls_x509_crt_set_crq -gnutls_x509_crt_set_crq_extensions -gnutls_x509_crq_set_key_rsa_raw -gnutls_x509_crq_set_subject_alt_name -gnutls_x509_crq_set_key_usage -gnutls_x509_crq_set_basic_constraints -gnutls_x509_crq_set_key_purpose_oid -gnutls_x509_crq_get_key_purpose_oid -gnutls_x509_crq_get_extension_data -gnutls_x509_crq_get_extension_info -gnutls_x509_crq_get_attribute_data -gnutls_x509_crq_get_attribute_info -gnutls_x509_crq_get_pk_algorithm -gnutls_x509_crq_get_key_id -gnutls_x509_crq_get_key_rsa_raw -gnutls_x509_crq_get_key_usage -gnutls_x509_crq_get_basic_constraints -gnutls_x509_crq_get_subject_alt_name -gnutls_x509_crq_get_subject_alt_othername_oid -gnutls_x509_crq_get_extension_by_oid +
    + +
    +extra +LIBGNUTLS_EXTRA_VERSION +gnutls_ia_apptype_t +gnutls_ia_avp_func +gnutls_ia_free_client_credentials +gnutls_ia_allocate_client_credentials +gnutls_ia_free_server_credentials +gnutls_ia_allocate_server_credentials +gnutls_ia_set_client_avp_function +gnutls_ia_set_client_avp_ptr +gnutls_ia_get_client_avp_ptr +gnutls_ia_set_server_avp_function +gnutls_ia_set_server_avp_ptr +gnutls_ia_get_server_avp_ptr +gnutls_ia_handshake_p +gnutls_ia_handshake +gnutls_ia_permute_inner_secret +gnutls_ia_endphase_send +gnutls_ia_verify_endphase +gnutls_ia_send +gnutls_ia_recv +gnutls_ia_generate_challenge +gnutls_ia_extract_inner_secret +gnutls_ia_enable +gnutls_global_init_extra +gnutls_extra_check_version
    gnutls +LIBGNUTLS_VERSION +LIBGNUTLS_VERSION_MAJOR +LIBGNUTLS_VERSION_MINOR +LIBGNUTLS_VERSION_PATCH +LIBGNUTLS_VERSION_NUMBER HAVE_SSIZE_T -GNUTLS_VERSION -GNUTLS_VERSION_MAJOR -GNUTLS_VERSION_MINOR -GNUTLS_VERSION_PATCH -GNUTLS_VERSION_NUMBER GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_RIJNDAEL_CBC @@ -398,30 +462,23 @@ gnutls_compression_get_name gnutls_kx_get_name gnutls_certificate_type_get_name -gnutls_pk_get_name -gnutls_sign_get_name gnutls_mac_get_id gnutls_compression_get_id gnutls_cipher_get_id gnutls_kx_get_id gnutls_protocol_get_id gnutls_certificate_type_get_id -gnutls_pk_get_id -gnutls_sign_get_id gnutls_cipher_list gnutls_mac_list gnutls_compression_list gnutls_protocol_list gnutls_certificate_type_list gnutls_kx_list -gnutls_pk_list -gnutls_sign_list gnutls_cipher_suite_info gnutls_error_is_fatal gnutls_error_to_alert gnutls_perror gnutls_strerror -gnutls_strerror_name gnutls_handshake_set_private_extensions gnutls_handshake_get_last_out gnutls_handshake_get_last_in @@ -437,10 +494,6 @@ gnutls_record_check_pending gnutls_prf gnutls_prf_raw -gnutls_ext_recv_func -gnutls_ext_send_func -gnutls_ext_parse_type_t -gnutls_ext_register gnutls_server_name_type_t gnutls_server_name_set gnutls_server_name_get @@ -469,13 +522,11 @@ gnutls_session_get_data2 GNUTLS_MAX_SESSION_ID gnutls_session_get_id -GNUTLS_MASTER_SIZE -GNUTLS_RANDOM_SIZE +TLS_MASTER_SIZE +TLS_RANDOM_SIZE gnutls_session_get_server_random gnutls_session_get_client_random gnutls_session_get_master_secret -gnutls_finished_callback_func -gnutls_session_set_finished_function gnutls_session_is_resumed gnutls_db_store_func gnutls_db_remove_func @@ -520,7 +571,6 @@ gnutls_certificate_set_x509_key_mem gnutls_certificate_send_x509_rdn_sequence gnutls_certificate_set_x509_simple_pkcs12_file -gnutls_certificate_set_x509_simple_pkcs12_mem gnutls_x509_privkey_t gnutls_x509_crl_int gnutls_x509_crl_t @@ -589,7 +639,6 @@ gnutls_srp_allocate_server_credentials gnutls_srp_set_server_credentials_file gnutls_srp_server_get_username -gnutls_srp_set_prime_bits gnutls_srp_verifier gnutls_srp_2048_group_prime gnutls_srp_2048_group_generator @@ -885,261 +934,6 @@
    -libtasn1 -ASN1_API -ASN1_VERSION -asn1_retCode -ASN1_SUCCESS -ASN1_FILE_NOT_FOUND -ASN1_ELEMENT_NOT_FOUND -ASN1_IDENTIFIER_NOT_FOUND -ASN1_DER_ERROR -ASN1_VALUE_NOT_FOUND -ASN1_GENERIC_ERROR -ASN1_VALUE_NOT_VALID -ASN1_TAG_ERROR -ASN1_TAG_IMPLICIT -ASN1_ERROR_TYPE_ANY -ASN1_SYNTAX_ERROR -ASN1_MEM_ERROR -ASN1_MEM_ALLOC_ERROR -ASN1_DER_OVERFLOW -ASN1_NAME_TOO_LONG -ASN1_ARRAY_ERROR -ASN1_ELEMENT_NOT_EMPTY -ASN1_PRINT_NAME -ASN1_PRINT_NAME_TYPE -ASN1_PRINT_NAME_TYPE_VALUE -ASN1_PRINT_ALL -ASN1_CLASS_UNIVERSAL -ASN1_CLASS_APPLICATION -ASN1_CLASS_CONTEXT_SPECIFIC -ASN1_CLASS_PRIVATE -ASN1_CLASS_STRUCTURED -ASN1_TAG_BOOLEAN -ASN1_TAG_INTEGER -ASN1_TAG_SEQUENCE -ASN1_TAG_SET -ASN1_TAG_OCTET_STRING -ASN1_TAG_BIT_STRING -ASN1_TAG_UTCTime -ASN1_TAG_GENERALIZEDTime -ASN1_TAG_OBJECT_ID -ASN1_TAG_ENUMERATED -ASN1_TAG_NULL -ASN1_TAG_GENERALSTRING -node_asn -ASN1_TYPE -ASN1_TYPE_EMPTY -ASN1_ARRAY_TYPE -ASN1_MAX_NAME_SIZE -ASN1_MAX_ERROR_DESCRIPTION_SIZE -asn1_parser2tree -asn1_parser2array -asn1_array2tree -asn1_print_structure -asn1_create_element -asn1_delete_structure -asn1_delete_element -asn1_write_value -asn1_read_value -asn1_number_of_elements -asn1_der_coding -asn1_der_decoding -asn1_der_decoding_element -asn1_der_decoding_startEnd -asn1_expand_any_defined_by -asn1_expand_octet_string -asn1_read_tag -asn1_find_structure_from_oid -asn1_check_version -asn1_strerror -asn1_perror -asn1_get_tag_der -asn1_octet_der -asn1_get_octet_der -asn1_bit_der -asn1_get_bit_der -asn1_get_length_der -asn1_get_length_ber -asn1_length_der -asn1_find_node -asn1_copy_node -LIBTASN1_VERSION -MAX_NAME_SIZE -MAX_ERROR_DESCRIPTION_SIZE -libtasn1_strerror -libtasn1_perror -
    - -
    -keydb -key_idx_t -key_table_t -
    - -
    -close-hook -private_fn -close_hook_fn -execute_close_hooks -execute_all_close_hooks -register_close_hook -unregister_close_hook -
    - -
    -alignof -alignof -
    - -
    -w32sock -FD_TO_SOCKET -SOCKET_TO_FD -
    - -
    -verify -verify_true -verify -
    - -
    -stat -GL_LINK_WARNING -GL_LINK_WARNING1 -GL_LINK_WARNING2 -GL_LINK_WARNING3 -S_IFMT -S_ISBLK -S_ISCHR -S_ISDIR -S_ISDOOR -S_ISFIFO -S_ISLNK -S_ISMPB -S_ISMPC -S_ISNAM -S_ISNWK -S_ISPORT -S_ISREG -S_ISSOCK -S_TYPEISMQ -S_TYPEISTMO -S_TYPEISSEM -S_TYPEISSHM -S_ISCTG -S_ISOFD -S_ISOFL -S_ISWHT -S_ISUID -S_ISGID -S_ISVTX -S_IRUSR -S_IRGRP -S_IROTH -S_IWUSR -S_IWGRP -S_IWOTH -S_IXUSR -S_IXGRP -S_IXOTH -S_IRWXU -S_IRWXG -S_IRWXO -S_IXUGO -S_IRWXUGO -lstat -rpl_lstat -mkdir -lchmod -
    - -
    -link-warning -GL_LINK_WARNING -GL_LINK_WARNING1 -GL_LINK_WARNING2 -GL_LINK_WARNING3 -
    - -
    -openpgp_int -KEYID_IMPORT -
    - -
    -x509_int -ASN1_MAX_NAME_SIZE -ASN1_MAX_ERROR_DESCRIPTION_SIZE -MAX_CRQ_EXTENSIONS_SIZE -MAX_OID_SIZE -HASH_OID_SHA1 -HASH_OID_MD5 -HASH_OID_MD2 -HASH_OID_RMD160 -HASH_OID_SHA256 -HASH_OID_SHA384 -HASH_OID_SHA512 -MAX_PRIV_PARAMS_SIZE -DSA_PRIVATE_PARAMS -DSA_PUBLIC_PARAMS -RSA_PRIVATE_PARAMS -RSA_PUBLIC_PARAMS -OID_X520_COUNTRY_NAME -OID_X520_ORGANIZATION_NAME -OID_X520_ORGANIZATIONAL_UNIT_NAME -OID_X520_COMMON_NAME -OID_X520_LOCALITY_NAME -OID_X520_STATE_OR_PROVINCE_NAME -OID_LDAP_DC -OID_LDAP_UID -OID_PKCS9_EMAIL -gnutls_x509_crt_is_issuer -MAX_BAG_ELEMENTS -BAG_PKCS8_KEY -BAG_PKCS8_ENCRYPTED_KEY -BAG_CERTIFICATE -BAG_CRL -DATA_OID -ENC_DATA_OID -FRIENDLY_NAME_OID -KEY_ID_OID -schema_id -
    - -
    -extra -GNUTLS_EXTRA_VERSION -gnutls_ia_apptype_t -gnutls_ia_avp_func -gnutls_ia_free_client_credentials -gnutls_ia_allocate_client_credentials -gnutls_ia_free_server_credentials -gnutls_ia_allocate_server_credentials -gnutls_ia_set_client_avp_function -gnutls_ia_set_client_avp_ptr -gnutls_ia_get_client_avp_ptr -gnutls_ia_set_server_avp_function -gnutls_ia_set_server_avp_ptr -gnutls_ia_get_server_avp_ptr -gnutls_ia_handshake_p -gnutls_ia_handshake -gnutls_ia_permute_inner_secret -gnutls_ia_endphase_send -gnutls_ia_verify_endphase -gnutls_ia_send -gnutls_ia_recv -gnutls_ia_generate_challenge -gnutls_ia_extract_inner_secret -gnutls_ia_enable -gnutls_global_init_extra -gnutls_register_md5_handler -gnutls_extra_check_version -
    - -
    openssl GNUTLS_X509_CN_SIZE GNUTLS_X509_C_SIZE @@ -1175,7 +969,6 @@ X509_STORE_CTX_get_current_cert verify_callback rbio -MD_CTX rsa_st RSA MD5_CTX diff -Nru gnutls26-2.8.6/doc/reference/html/ch01.html gnutls26-2.4.1/doc/reference/html/ch01.html --- gnutls26-2.8.6/doc/reference/html/ch01.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ch01.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ GNU TLS API Reference Manual - - + + - + + + + + @@ -19,9 +23,9 @@ -
    +

    -GNU TLS API Reference Manual

    +GNU TLS API Reference Manual
    gnutls @@ -39,9 +43,6 @@ openpgp
    -crypto -
    -
    openssl
    @@ -61,6 +62,6 @@
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-crypto.html gnutls26-2.4.1/doc/reference/html/gnutls-crypto.html --- gnutls26-2.8.6/doc/reference/html/gnutls-crypto.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-crypto.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,1959 +0,0 @@ - - - - -crypto - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - -
    -

    crypto

    -

    crypto

    -
    -
    -

    Synopsis

    -
    #define             GNUTLS_CRYPTO_API_VERSION
    -int                 (*init)                             (void **ctx);
    -int                 (*setkey)                           (void *ctx,
    -                                                         const void *key,
    -                                                         size_t keysize);
    -int                 (*setiv)                            (void *ctx,
    -                                                         const void *iv,
    -                                                         size_t ivsize);
    -int                 (*encrypt)                          (void *ctx,
    -                                                         const void *plain,
    -                                                         size_t plainsize,
    -                                                         void *encr,
    -                                                         size_t encrsize);
    -int                 (*decrypt)                          (void *ctx,
    -                                                         const void *encr,
    -                                                         size_t encrsize,
    -                                                         void *plain,
    -                                                         size_t plainsize);
    -void                (*deinit)                           (void *ctx);
    -int                 (*hash)                             (void *ctx,
    -                                                         const void *text,
    -                                                         size_t textsize);
    -int                 (*copy)                             (void **dst_ctx,
    -                                                         void *src_ctx);
    -int                 (*output)                           (void *src_ctx,
    -                                                         void *digest,
    -                                                         size_t digestsize);
    -typedef             gnutls_crypto_single_digest_st;
    -typedef             gnutls_crypto_digest_st;
    -enum                gnutls_rnd_level_t;
    -enum                gnutls_pk_flag_t;
    -int                 (*rnd)                              (void *ctx);
    -typedef             bigint_t;
    -enum                gnutls_bigint_format_t;
    -bigint_t            (*bigint_new)                       (int nbits);
    -void                (*bigint_release)                   (bigint_t n);
    -int                 (*bigint_cmp)                       (const bigint_t m1,
    -                                                         const bigint_t m2);
    -int                 (*bigint_cmp_ui)                    (const bigint_t m1,
    -                                                         unsigned long  m2);
    -bigint_t            (*bigint_mod)                       (const bigint_t a,
    -                                                         const bigint_t b);
    -bigint_t            (*bigint_set)                       (bigint_t a,
    -                                                         const bigint_t b);
    -bigint_t            (*bigint_set_ui)                    (bigint_t a,
    -                                                         unsigned long  b);
    -unsigned            int                                 ();
    -bigint_t            (*bigint_powm)                      (bigint_t w,
    -                                                         const bigint_t b,
    -                                                         const bigint_t e,
    -                                                         const bigint_t m);
    -bigint_t            (*bigint_addm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -bigint_t            (*bigint_subm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -bigint_t            (*bigint_mulm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -bigint_t            (*bigint_mul)                       (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b);
    -bigint_t            (*bigint_add_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -bigint_t            (*bigint_sub_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -bigint_t            (*bigint_mul_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -bigint_t            (*bigint_div)                       (bigint_t q,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b);
    -int                 (*bigint_prime_check)               (const bigint_t pp);
    -int                 (*bigint_generate_group)            (gnutls_group_st *gg,
    -                                                         unsigned int bits);
    -bigint_t            (*bigint_scan)                      (const void *buf,
    -                                                         size_t buf_size,
    -                                                         gnutls_bigint_format_t format);
    -int                 (*bigint_print)                     (const bigint_t a,
    -                                                         void *buf,
    -                                                         size_t *buf_size,
    -                                                         gnutls_bigint_format_t format);
    -#define             GNUTLS_MAX_PK_PARAMS
    -void                gnutls_pk_params_release            (gnutls_pk_params_st *p);
    -void                gnutls_pk_params_init               (gnutls_pk_params_st *p);
    -enum                gnutls_direction_t;
    -int                 (*sign)                             (gnutls_pk_algorithm_t Param1,
    -                                                         gnutls_datum_t *signature,
    -                                                         const gnutls_datum_t *data);
    -int                 (*verify)                           (gnutls_pk_algorithm_t Param1,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    -int                 (*generate)                         (gnutls_pk_algorithm_t Param1);
    -int                 (*pk_fixup_private_params)          (gnutls_pk_algorithm_t Param1,
    -                                                         gnutls_direction_t Param2,
    -                                                         gnutls_pk_params_st *Param3);
    -#define             gnutls_crypto_single_cipher_register(algo,
    -                                                         prio,
    -                                                         st)
    -#define             gnutls_crypto_single_mac_register   (algo,
    -                                                         prio,
    -                                                         st)
    -#define             gnutls_crypto_single_digest_register(algo,
    -                                                         prio,
    -                                                         st)
    -int                 gnutls_crypto_single_cipher_register2
    -                                                        (gnutls_cipher_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_cipher_st *s);
    -int                 gnutls_crypto_single_mac_register2  (gnutls_mac_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_mac_st *s);
    -int                 gnutls_crypto_single_digest_register2
    -                                                        (gnutls_digest_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_digest_st *s);
    -#define             gnutls_crypto_cipher_register       (prio,
    -                                                         st)
    -#define             gnutls_crypto_mac_register          (prio,
    -                                                         st)
    -#define             gnutls_crypto_digest_register       (prio,
    -                                                         st)
    -int                 gnutls_crypto_cipher_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_cipher_st *s);
    -int                 gnutls_crypto_mac_register2         (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_mac_st *s);
    -int                 gnutls_crypto_digest_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_digest_st *s);
    -#define             gnutls_crypto_rnd_register          (prio,
    -                                                         st)
    -#define             gnutls_crypto_pk_register           (prio,
    -                                                         st)
    -#define             gnutls_crypto_bigint_register       (prio,
    -                                                         st)
    -int                 gnutls_crypto_rnd_register2         (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_rnd_st *s);
    -int                 gnutls_crypto_pk_register2          (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_pk_st *s);
    -int                 gnutls_crypto_bigint_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_bigint_st *s);
    -
    -
    -
    -

    Description

    -

    -

    -
    -
    -

    Details

    -
    -

    GNUTLS_CRYPTO_API_VERSION

    -
    # define GNUTLS_CRYPTO_API_VERSION 0x01
    -
    -

    -

    -
    -
    -
    -

    init ()

    -
    int                 (*init)                             (void **ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    -
    -
    -
    -

    setkey ()

    -
    int                 (*setkey)                           (void *ctx,
    -                                                         const void *key,
    -                                                         size_t keysize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ctx :

    -

    key :

    -

    keysize :

    -

    Returns :

    -
    -
    -
    -
    -

    setiv ()

    -
    int                 (*setiv)                            (void *ctx,
    -                                                         const void *iv,
    -                                                         size_t ivsize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ctx :

    -

    iv :

    -

    ivsize :

    -

    Returns :

    -
    -
    -
    -
    -

    encrypt ()

    -
    int                 (*encrypt)                          (void *ctx,
    -                                                         const void *plain,
    -                                                         size_t plainsize,
    -                                                         void *encr,
    -                                                         size_t encrsize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - -

    ctx :

    -

    plain :

    -

    plainsize :

    -

    encr :

    -

    encrsize :

    -

    Returns :

    -
    -
    -
    -
    -

    decrypt ()

    -
    int                 (*decrypt)                          (void *ctx,
    -                                                         const void *encr,
    -                                                         size_t encrsize,
    -                                                         void *plain,
    -                                                         size_t plainsize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - -

    ctx :

    -

    encr :

    -

    encrsize :

    -

    plain :

    -

    plainsize :

    -

    Returns :

    -
    -
    -
    -
    -

    deinit ()

    -
    void                (*deinit)                           (void *ctx);
    -

    -

    -
    -- - - - -

    ctx :

    -
    -
    -
    -
    -

    hash ()

    -
    int                 (*hash)                             (void *ctx,
    -                                                         const void *text,
    -                                                         size_t textsize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ctx :

    -

    text :

    -

    textsize :

    -

    Returns :

    -
    -
    -
    -
    -

    copy ()

    -
    int                 (*copy)                             (void **dst_ctx,
    -                                                         void *src_ctx);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    dst_ctx :

    -

    src_ctx :

    -

    Returns :

    -
    -
    -
    -
    -

    output ()

    -
    int                 (*output)                           (void *src_ctx,
    -                                                         void *digest,
    -                                                         size_t digestsize);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    src_ctx :

    -

    digest :

    -

    digestsize :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_single_digest_st

    -
    typedef gnutls_crypto_single_mac_st gnutls_crypto_single_digest_st;
    -
    -

    -

    -
    -
    -
    -

    gnutls_crypto_digest_st

    -
    typedef gnutls_crypto_mac_st gnutls_crypto_digest_st;
    -
    -

    -

    -
    -
    -
    -

    enum gnutls_rnd_level_t

    -
    typedef enum gnutls_rnd_level
    -{
    -  /* fatal in parts of session if broken, i.e., vulnerable to
    -     statistical analysis */
    -  GNUTLS_RND_NONCE = 0,
    -  /* fatal in session if broken */
    -  GNUTLS_RND_RANDOM = 1,
    -  /* fatal in many sessions if broken */
    -  GNUTLS_RND_KEY = 2
    -} gnutls_rnd_level_t;
    -
    -

    -

    -
    -
    -
    -

    enum gnutls_pk_flag_t

    -
    typedef enum
    -{
    -  GNUTLS_PK_FLAG_NONE = 0
    -} gnutls_pk_flag_t;
    -
    -

    -

    -
    -
    -
    -

    rnd ()

    -
    int                 (*rnd)                              (void *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_t

    -
    typedef void *bigint_t;
    -
    -

    -

    -
    -
    -
    -

    enum gnutls_bigint_format_t

    -
    typedef enum
    -{
    -  /* raw unsigned integer format */
    -  GNUTLS_MPI_FORMAT_USG = 0,
    -  /* raw signed integer format - always a leading zero when positive */
    -  GNUTLS_MPI_FORMAT_STD = 1,
    -  /* the pgp integer format */
    -  GNUTLS_MPI_FORMAT_PGP = 2
    -} gnutls_bigint_format_t;
    -
    -

    -

    -
    -
    -
    -

    bigint_new ()

    -
    bigint_t            (*bigint_new)                       (int nbits);
    -

    -

    -
    -- - - - - - - - - - -

    nbits :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_release ()

    -
    void                (*bigint_release)                   (bigint_t n);
    -

    -

    -
    -- - - - -

    n :

    -
    -
    -
    -
    -

    bigint_cmp ()

    -
    int                 (*bigint_cmp)                       (const bigint_t m1,
    -                                                         const bigint_t m2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    m1 :

    -

    m2 :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_cmp_ui ()

    -
    int                 (*bigint_cmp_ui)                    (const bigint_t m1,
    -                                                         unsigned long  m2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    m1 :

    -

    m2 :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_mod ()

    -
    bigint_t            (*bigint_mod)                       (const bigint_t a,
    -                                                         const bigint_t b);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_set ()

    -
    bigint_t            (*bigint_set)                       (bigint_t a,
    -                                                         const bigint_t b);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_set_ui ()

    -
    bigint_t            (*bigint_set_ui)                    (bigint_t a,
    -                                                         unsigned long  b);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    int ()

    -
    unsigned            int                                 ();
    -

    -

    -
    -- - - - -

    Returns :

    -
    -
    -
    -
    -

    bigint_powm ()

    -
    bigint_t            (*bigint_powm)                      (bigint_t w,
    -                                                         const bigint_t b,
    -                                                         const bigint_t e,
    -                                                         const bigint_t m);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    w :

    -

    b :

    -

    e :

    -

    m :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_addm ()

    -
    bigint_t            (*bigint_addm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    m :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_subm ()

    -
    bigint_t            (*bigint_subm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    m :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_mulm ()

    -
    bigint_t            (*bigint_mulm)                      (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b,
    -                                                         const bigint_t m);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    m :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_mul ()

    -
    bigint_t            (*bigint_mul)                       (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_add_ui ()

    -
    bigint_t            (*bigint_add_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_sub_ui ()

    -
    bigint_t            (*bigint_sub_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_mul_ui ()

    -
    bigint_t            (*bigint_mul_ui)                    (bigint_t w,
    -                                                         const bigint_t a,
    -                                                         unsigned long  b);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    w :

    -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_div ()

    -
    bigint_t            (*bigint_div)                       (bigint_t q,
    -                                                         const bigint_t a,
    -                                                         const bigint_t b);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    q :

    -

    a :

    -

    b :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_prime_check ()

    -
    int                 (*bigint_prime_check)               (const bigint_t pp);
    -

    -

    -
    -- - - - - - - - - - -

    pp :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_generate_group ()

    -
    int                 (*bigint_generate_group)            (gnutls_group_st *gg,
    -                                                         unsigned int bits);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    gg :

    -

    bits :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_scan ()

    -
    bigint_t            (*bigint_scan)                      (const void *buf,
    -                                                         size_t buf_size,
    -                                                         gnutls_bigint_format_t format);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    buf :

    -

    buf_size :

    -

    format :

    -

    Returns :

    -
    -
    -
    -
    -

    bigint_print ()

    -
    int                 (*bigint_print)                     (const bigint_t a,
    -                                                         void *buf,
    -                                                         size_t *buf_size,
    -                                                         gnutls_bigint_format_t format);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    a :

    -

    buf :

    -

    buf_size :

    -

    format :

    -

    Returns :

    -
    -
    -
    -
    -

    GNUTLS_MAX_PK_PARAMS

    -
    #define GNUTLS_MAX_PK_PARAMS 6
    -
    -

    -

    -
    -
    -
    -

    gnutls_pk_params_release ()

    -
    void                gnutls_pk_params_release            (gnutls_pk_params_st *p);
    -

    -

    -
    -- - - - -

    p :

    -
    -
    -
    -
    -

    gnutls_pk_params_init ()

    -
    void                gnutls_pk_params_init               (gnutls_pk_params_st *p);
    -

    -

    -
    -- - - - -

    p :

    -
    -
    -
    -
    -

    enum gnutls_direction_t

    -
    typedef enum
    -{
    -  GNUTLS_IMPORT,
    -  GNUTLS_EXPORT
    -} gnutls_direction_t;
    -
    -

    -

    -
    -
    -
    -

    sign ()

    -
    int                 (*sign)                             (gnutls_pk_algorithm_t Param1,
    -                                                         gnutls_datum_t *signature,
    -                                                         const gnutls_datum_t *data);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    Param1 :

    -

    signature :

    -

    data :

    -

    Returns :

    -
    -
    -
    -
    -

    verify ()

    -
    int                 (*verify)                           (gnutls_pk_algorithm_t Param1,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    Param1 :

    -

    data :

    -

    signature :

    -

    Returns :

    -
    -
    -
    -
    -

    generate ()

    -
    int                 (*generate)                         (gnutls_pk_algorithm_t Param1);
    -

    -

    -
    -- - - - - - - - - - -

    Param1 :

    -

    Returns :

    -
    -
    -
    -
    -

    pk_fixup_private_params ()

    -
    int                 (*pk_fixup_private_params)          (gnutls_pk_algorithm_t Param1,
    -                                                         gnutls_direction_t Param2,
    -                                                         gnutls_pk_params_st *Param3);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    Param1 :

    -

    Param2 :

    -

    Param3 :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_single_cipher_register()

    -
    #define             gnutls_crypto_single_cipher_register(algo, prio, st)
    -

    -

    -
    -- - - - - - - - - - - - - - -

    algo :

    -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_single_mac_register()

    -
    #define             gnutls_crypto_single_mac_register(algo, prio, st)
    -

    -

    -
    -- - - - - - - - - - - - - - -

    algo :

    -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_single_digest_register()

    -
    #define             gnutls_crypto_single_digest_register(algo, prio, st)
    -

    -

    -
    -- - - - - - - - - - - - - - -

    algo :

    -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_single_cipher_register2 ()

    -
    int                 gnutls_crypto_single_cipher_register2
    -                                                        (gnutls_cipher_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_cipher_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    algorithm :

    -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_single_mac_register2 ()

    -
    int                 gnutls_crypto_single_mac_register2  (gnutls_mac_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_mac_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    algorithm :

    -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_single_digest_register2 ()

    -
    int                 gnutls_crypto_single_digest_register2
    -                                                        (gnutls_digest_algorithm_t algorithm,
    -                                                         int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_single_digest_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    algorithm :

    -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_cipher_register()

    -
    #define             gnutls_crypto_cipher_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_mac_register()

    -
    #define             gnutls_crypto_mac_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_digest_register()

    -
    #define             gnutls_crypto_digest_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_cipher_register2 ()

    -
    int                 gnutls_crypto_cipher_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_cipher_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_mac_register2 ()

    -
    int                 gnutls_crypto_mac_register2         (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_mac_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_digest_register2 ()

    -
    int                 gnutls_crypto_digest_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_digest_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_rnd_register()

    -
    #define             gnutls_crypto_rnd_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_pk_register()

    -
    #define             gnutls_crypto_pk_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_bigint_register()

    -
    #define             gnutls_crypto_bigint_register(prio, st)
    -

    -

    -
    -- - - - - - - - - - -

    prio :

    -

    st :

    -
    -
    -
    -
    -

    gnutls_crypto_rnd_register2 ()

    -
    int                 gnutls_crypto_rnd_register2         (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_rnd_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_pk_register2 ()

    -
    int                 gnutls_crypto_pk_register2          (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_pk_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_crypto_bigint_register2 ()

    -
    int                 gnutls_crypto_bigint_register2      (int priority,
    -                                                         int version,
    -                                                         gnutls_crypto_bigint_st *s);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    priority :

    -

    version :

    -

    s :

    -

    Returns :

    -
    -
    -
    -
    - - - \ No newline at end of file diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls.devhelp gnutls26-2.4.1/doc/reference/html/gnutls.devhelp --- gnutls26-2.8.6/doc/reference/html/gnutls.devhelp 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls.devhelp 2008-06-30 22:15:22.000000000 +0100 @@ -8,23 +8,20 @@ - - - + + + + + - - - - - @@ -89,30 +86,23 @@ - - - - - - - @@ -128,10 +118,6 @@ - - - - @@ -160,13 +146,11 @@ - - + + - - @@ -211,7 +195,6 @@ - @@ -280,7 +263,6 @@ - @@ -465,7 +447,7 @@ - + @@ -489,7 +471,6 @@ - @@ -519,8 +500,6 @@ - - @@ -551,7 +530,6 @@ - @@ -581,7 +559,6 @@ - @@ -598,6 +575,7 @@ + @@ -629,13 +607,6 @@ - - - - - - - @@ -684,21 +655,18 @@ - - - + - @@ -708,25 +676,6 @@ - - - - - - - - - - - - - - - - - - - @@ -827,70 +776,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -925,14 +810,13 @@ - - - - + + + @@ -1021,8 +905,9 @@ - - + + + @@ -1067,8 +952,6 @@ - - @@ -1088,22 +971,15 @@ - - + + - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls.devhelp2 gnutls26-2.4.1/doc/reference/html/gnutls.devhelp2 --- gnutls26-2.8.6/doc/reference/html/gnutls.devhelp2 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls.devhelp2 2008-06-30 22:15:22.000000000 +0100 @@ -1,6 +1,6 @@ - + @@ -8,23 +8,20 @@ - - - + + + + + - - - - - @@ -89,30 +86,23 @@ - - - - - - - @@ -128,10 +118,6 @@ - - - - @@ -160,13 +146,11 @@ - - + + - - @@ -211,7 +195,6 @@ - @@ -219,12 +202,12 @@ - - - - - - + + + + + + @@ -280,7 +263,6 @@ - @@ -301,16 +283,16 @@ - + - + - + @@ -339,7 +321,7 @@ - + @@ -356,7 +338,7 @@ - + @@ -465,7 +447,7 @@ - + @@ -489,7 +471,6 @@ - @@ -519,8 +500,6 @@ - - @@ -551,7 +530,6 @@ - @@ -581,7 +559,6 @@ - @@ -595,16 +572,17 @@ - + + - - + + - + @@ -629,13 +607,6 @@ - - - - - - - @@ -684,21 +655,18 @@ - - - + - @@ -708,25 +676,6 @@ - - - - - - - - - - - - - - - - - - - @@ -763,50 +712,50 @@ - + - + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - - + + + + + - - - - - - - - - + + + + + + + + + @@ -823,74 +772,10 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -925,14 +810,13 @@ - - - - + + + @@ -1021,8 +905,9 @@ - - + + + @@ -1067,8 +952,6 @@ - - @@ -1088,22 +971,15 @@ - - + + - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-extra.html gnutls26-2.4.1/doc/reference/html/gnutls-extra.html --- gnutls26-2.8.6/doc/reference/html/gnutls-extra.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-extra.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ extra - - + + - + + + + + @@ -20,13 +24,11 @@ - + Description -
    +
    @@ -35,75 +37,74 @@
    -
    +

    Synopsis

    -
    #define             GNUTLS_EXTRA_VERSION
    +
    +#define             LIBGNUTLS_EXTRA_VERSION
     enum                gnutls_ia_apptype_t;
    -int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
    -                                                         void *ptr,
    -                                                         const char *last,
    -                                                         size_t lastlen,
    -                                                         char **next,
    -                                                         size_t *nextlen);
    -void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);
    -int                 gnutls_ia_allocate_client_credentials
    -                                                        (gnutls_ia_client_credentials_t *sc);
    -void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);
    -int                 gnutls_ia_allocate_server_credentials
    -                                                        (gnutls_ia_server_credentials_t *sc);
    -void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
    -                                                         gnutls_ia_avp_func avp_func);
    -void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
    -                                                         void *ptr);
    -void *              gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_t cred);
    -void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
    -                                                         gnutls_ia_avp_func avp_func);
    -void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
    -                                                         void *ptr);
    -void *              gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_t cred);
    -int                 gnutls_ia_handshake_p               (gnutls_session_t session);
    -int                 gnutls_ia_handshake                 (gnutls_session_t session);
    -int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
    -                                                         size_t session_keys_size,
    -                                                         const char *session_keys);
    -int                 gnutls_ia_endphase_send             (gnutls_session_t session,
    -                                                         int final_p);
    -int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
    -                                                         const char *checksum);
    -ssize_t             gnutls_ia_send                      (gnutls_session_t session,
    -                                                         const char *data,
    -                                                         size_t sizeofdata);
    -ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
    -                                                         char *data,
    -                                                         size_t sizeofdata);
    -int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
    -                                                         size_t buffer_size,
    -                                                         char *buffer);
    -void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
    -                                                         char *buffer);
    -void                gnutls_ia_enable                    (gnutls_session_t session,
    -                                                         int allow_skip_on_resume);
    -int                 gnutls_global_init_extra            (void);
    -int                 gnutls_register_md5_handler         (void);
    -const char *        gnutls_extra_check_version          (const char *req_version);
    +int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
    +                                                         void *ptr,
    +                                                         const char *last,
    +                                                         size_t lastlen,
    +                                                         char **next,
    +                                                         size_t *nextlen);
    +void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);
    +int                 gnutls_ia_allocate_client_credentials
    +                                                        (gnutls_ia_client_credentials_t *sc);
    +void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);
    +int                 gnutls_ia_allocate_server_credentials
    +                                                        (gnutls_ia_server_credentials_t *sc);
    +void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
    +                                                         gnutls_ia_avp_func avp_func);
    +void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
    +                                                         void *ptr);
    +void*               gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_tcred );
    +void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
    +                                                         gnutls_ia_avp_func avp_func);
    +void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
    +                                                         void *ptr);
    +void*               gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_tcred );
    +int                 gnutls_ia_handshake_p               (gnutls_session_t session);
    +int                 gnutls_ia_handshake                 (gnutls_session_t session);
    +int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
    +                                                         size_t session_keys_size,
    +                                                         const char *session_keys);
    +int                 gnutls_ia_endphase_send             (gnutls_session_t session,
    +                                                         int final_p);
    +int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
    +                                                         const char *checksum);
    +ssize_t             gnutls_ia_send                      (gnutls_session_t session,
    +                                                         const char *data,
    +                                                         size_t sizeofdata);
    +ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
    +                                                         char *data,
    +                                                         size_t sizeofdata);
    +int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
    +                                                         size_t buffer_size,
    +                                                         char *buffer);
    +void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
    +                                                         char *buffer);
    +void                gnutls_ia_enable                    (gnutls_session_t session,
    +                                                         int allow_skip_on_resume);
    +int                 gnutls_global_init_extra            (void);
    +const char*         gnutls_extra_check_version          (const char *req_version);
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    -

    GNUTLS_EXTRA_VERSION

    -
    #define GNUTLS_EXTRA_VERSION GNUTLS_VERSION
    +
    +

    LIBGNUTLS_EXTRA_VERSION

    +
    #define LIBGNUTLS_EXTRA_VERSION LIBGNUTLS_VERSION
     
    -

    -


    -
    +

    enum gnutls_ia_apptype_t

      typedef enum
       {
    @@ -112,277 +113,270 @@
         GNUTLS_IA_FINAL_PHASE_FINISHED = 2
       } gnutls_ia_apptype_t;
     
    -

    -


    -
    +

    gnutls_ia_avp_func ()

    -
    int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
    -                                                         void *ptr,
    -                                                         const char *last,
    -                                                         size_t lastlen,
    -                                                         char **next,
    -                                                         size_t *nextlen);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    session :

    -

    ptr :

    -

    last :

    -

    lastlen :

    -

    next :

    -

    nextlen :

    -

    Returns :

    -
    +
    int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
    +                                                         void *ptr,
    +                                                         const char *last,
    +                                                         size_t lastlen,
    +                                                         char **next,
    +                                                         size_t *nextlen);

    -
    +

    gnutls_ia_free_client_credentials ()

    -
    void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);
    +
    void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_ia_client_credentials_t structure.

    -
    +

    gnutls_ia_allocate_client_credentials ()

    -
    int                 gnutls_ia_allocate_client_credentials
    -                                                        (gnutls_ia_client_credentials_t *sc);
    +
    int                 gnutls_ia_allocate_client_credentials
    +                                                        (gnutls_ia_client_credentials_t *sc);

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    +

    +Adding this credential to a session will enable TLS/IA, and will +require an Application Phase after the TLS handshake (if the server +support TLS/IA). Use gnutls_ia_require_inner_phase() to toggle the +TLS/IA mode.

    - -

    sc :

    + is a pointer to an gnutls_ia_server_credentials_t structure.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_ia_free_server_credentials ()

    -
    void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);
    +
    void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_ia_server_credentials_t structure.

    -
    +

    gnutls_ia_allocate_server_credentials ()

    -
    int                 gnutls_ia_allocate_server_credentials
    -                                                        (gnutls_ia_server_credentials_t *sc);
    +
    int                 gnutls_ia_allocate_server_credentials
    +                                                        (gnutls_ia_server_credentials_t *sc);

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    +

    +Adding this credential to a session will enable TLS/IA, and will +require an Application Phase after the TLS handshake (if the client +support TLS/IA). Use gnutls_ia_require_inner_phase() to toggle the +TLS/IA mode.

    - -

    sc :

    + is a pointer to an gnutls_ia_server_credentials_t structure.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_ia_set_client_avp_function ()

    -
    void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
    -                                                         gnutls_ia_avp_func avp_func);
    +
    void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
    +                                                         gnutls_ia_avp_func avp_func);
    +

    +Set the TLS/IA AVP callback handler used for the session. +

    +

    +The AVP callback is called to process AVPs received from the +server, and to get a new AVP to send to the server. +

    +

    +The callback's function form is: +int (*avp_func) (gnutls_session_t session, void *ptr, + const char *last, size_t lastlen, + char **next, size_t *nextlen); +

    +

    +The session parameter is the gnutls_session_t structure +corresponding to the current session. The ptr parameter is the +application hook pointer, set through +gnutls_ia_set_client_avp_ptr(). The AVP received from the server +is present in last of lastlen size, which will be NULL on the +first invocation. The newly allocated output AVP to send to the +server should be placed in *next of *nextlen size. +

    +

    +The callback may invoke gnutls_ia_permute_inner_secret() to mix any +generated session keys with the TLS/IA inner secret. +

    +Return 0 (GNUTLS_IA_APPLICATION_PAYLOAD) on success, or a negative +error code to abort the TLS/IA handshake.

    +

    +Note that the callback must use allocate the next parameter using +gnutls_malloc(), because it is released via gnutls_free() by the +TLS/IA handshake function.

    - -

    cred :

    + is a gnutls_ia_client_credentials_t structure.

    avp_func :

    + is the callback function

    -
    +

    gnutls_ia_set_client_avp_ptr ()

    -
    void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
    -                                                         void *ptr);
    +
    void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
    +                                                         void *ptr);

    -

    +Sets the pointer that will be provided to the TLS/IA callback +function as the first argument.

    - -

    cred :

    + is a gnutls_ia_client_credentials_t structure.

    ptr :

    + is the pointer

    -
    +

    gnutls_ia_get_client_avp_ptr ()

    -
    void *              gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_t cred);
    +
    void*               gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_tcred );

    -

    +Returns the pointer that will be provided to the TLS/IA callback +function as the first argument.

    - -

    cred :

    + is a gnutls_ia_client_credentials_t structure.

    Returns :

    + The client callback data pointer.

    -
    +

    gnutls_ia_set_server_avp_function ()

    -
    void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
    -                                                         gnutls_ia_avp_func avp_func);
    -

    -

    -
    -- - - - - - - - - - -

    cred :

    -

    avp_func :

    -
    +
    void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
    +                                                         gnutls_ia_avp_func avp_func);

    -
    +

    gnutls_ia_set_server_avp_ptr ()

    -
    void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
    -                                                         void *ptr);
    +
    void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
    +                                                         void *ptr);

    -

    +Sets the pointer that will be provided to the TLS/IA callback +function as the first argument.

    - -

    cred :

    + is a gnutls_ia_client_credentials_t structure.

    ptr :

    + is the pointer

    -
    +

    gnutls_ia_get_server_avp_ptr ()

    -
    void *              gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_t cred);
    +
    void*               gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_tcred );

    -

    +Returns the pointer that will be provided to the TLS/IA callback +function as the first argument.

    - -

    cred :

    + is a gnutls_ia_client_credentials_t structure.

    Returns :

    + The server callback data pointer.

    -
    +

    gnutls_ia_handshake_p ()

    -
    int                 gnutls_ia_handshake_p               (gnutls_session_t session);
    +
    int                 gnutls_ia_handshake_p               (gnutls_session_t session);

    Predicate to be used after gnutls_handshake() to decide whether to invoke gnutls_ia_handshake(). Usable by both clients and servers.

    @@ -391,7 +385,7 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure. @@ -404,35 +398,30 @@

    -
    +

    gnutls_ia_handshake ()

    -
    int                 gnutls_ia_handshake                 (gnutls_session_t session);
    +
    int                 gnutls_ia_handshake                 (gnutls_session_t session);

    Perform a TLS/IA handshake. This should be called after -gnutls_handshake() iff gnutls_ia_handshake_p().

    +gnutls_handshake() iff gnutls_ia_handshake_p(). +

    +

    +Return 0 on success, or an error code.

    - - + - - - - - - - +

    session :

    is a gnutls_session_t structure. + is a gnutls_session_t structure.

    Returns :

    On success, GNUTLS_E_SUCCESS (zero) is returned, - otherwise an error code is returned. -

    -
    +

    gnutls_ia_permute_inner_secret ()

    -
    int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
    -                                                         size_t session_keys_size,
    -                                                         const char *session_keys);
    +
    int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
    +                                                         size_t session_keys_size,
    +                                                         const char *session_keys);

    Permute the inner secret using the generated session keys.

    @@ -444,17 +433,17 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    session_keys_size :

    -Size of generated session keys (0 if none). + Size of generated session keys (0 if none).

    session_keys :

    -Generated session keys, used to permute inner secret + Generated session keys, used to permute inner secret (NULL if none). @@ -467,10 +456,10 @@

    -
    +

    gnutls_ia_endphase_send ()

    -
    int                 gnutls_ia_endphase_send             (gnutls_session_t session,
    -                                                         int final_p);
    +
    int                 gnutls_ia_endphase_send             (gnutls_session_t session,
    +                                                         int final_p);

    Send a TLS/IA end phase message.

    @@ -486,12 +475,12 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    final_p :

    -Set iff this should signal the final phase. + Set iff this should signal the final phase. @@ -503,10 +492,10 @@

    -
    +

    gnutls_ia_verify_endphase ()

    -
    int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
    -                                                         const char *checksum);
    +
    int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
    +                                                         const char *checksum);

    Verify TLS/IA end phase checksum data. If verification fails, the GNUTLS_A_INNER_APPLICATION_VERIFICATION alert is sent to the other @@ -521,12 +510,12 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    checksum :

    -12-byte checksum data, received from gnutls_ia_recv(). + 12-byte checksum data, received from gnutls_ia_recv(). @@ -540,79 +529,119 @@

    -
    +

    gnutls_ia_send ()

    -
    ssize_t             gnutls_ia_send                      (gnutls_session_t session,
    -                                                         const char *data,
    -                                                         size_t sizeofdata);
    +
    ssize_t             gnutls_ia_send                      (gnutls_session_t session,
    +                                                         const char *data,
    +                                                         size_t sizeofdata);
    +

    +Send TLS/IA application payload data. This function has the +similar semantics with send(). The only difference is that is +accepts a GNUTLS session, and uses different error codes. +

    +

    +The TLS/IA protocol is synchronous, so you cannot send more than +one packet at a time. The client always send the first packet. +

    +To finish an application phase in the server, use +gnutls_ia_endphase_send(). The client cannot end an application +phase unilaterally; rather, a client is required to respond with an +endphase of its own if gnutls_ia_recv indicates that the server has +sent one.

    +

    +If the EINTR is returned by the internal push function (the default +is send()} then GNUTLS_E_INTERRUPTED will be returned. If +GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must call +this function again, with the same parameters; alternatively you +could provide a NULL pointer for data, and 0 for size.

    - - - -

    session :

    + is a gnutls_session_t structure.

    data :

    + contains the data to send

    sizeofdata :

    + is the length of the data

    Returns :

    + The number of bytes sent, or a negative error code.

    -
    +

    gnutls_ia_recv ()

    -
    ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
    -                                                         char *data,
    -                                                         size_t sizeofdata);
    +
    ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
    +                                                         char *data,
    +                                                         size_t sizeofdata);
    +

    +Receive TLS/IA data. This function has the similar semantics with +recv(). The only difference is that is accepts a GNUTLS session, +and uses different error codes. +

    +If the server attempt to finish an application phase, this function +will return GNUTLS_E_WARNING_IA_IPHF_RECEIVED or +GNUTLS_E_WARNING_IA_FPHF_RECEIVED. The caller should then invoke +gnutls_ia_verify_endphase(), and if it runs the client side, also +send an endphase message of its own using gnutls_ia_endphase_send.

    +

    +If EINTR is returned by the internal push function (the default is +code{recv()}) then GNUTLS_E_INTERRUPTED will be returned. If +GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must call +this function again, with the same parameters; alternatively you +could provide a NULL pointer for data, and 0 for size.

    - - - -

    session :

    + is a gnutls_session_t structure.

    data :

    + the buffer that the data will be read into, must hold >= 12 bytes.

    sizeofdata :

    + the number of requested bytes, must be >= 12.

    Returns :

    + The number of bytes received. A negative error code is +returned in case of an error. The +GNUTLS_E_WARNING_IA_IPHF_RECEIVED and +GNUTLS_E_WARNING_IA_FPHF_RECEIVED errors are returned when an +application phase finished message has been sent by the server.

    -
    +

    gnutls_ia_generate_challenge ()

    -
    int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
    -                                                         size_t buffer_size,
    -                                                         char *buffer);
    +
    int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
    +                                                         size_t buffer_size,
    +                                                         char *buffer);

    Generate an application challenge that the client cannot control or predict, based on the TLS/IA inner secret.

    @@ -621,17 +650,17 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    buffer_size :

    -size of output buffer. + size of output buffer.

    buffer :

    -pre-allocated buffer to contain buffer_size bytes of output. + pre-allocated buffer to contain buffer_size bytes of output. @@ -643,10 +672,10 @@

    -
    +

    gnutls_ia_extract_inner_secret ()

    -
    void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
    -                                                         char *buffer);
    +
    void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
    +                                                         char *buffer);

    Copy the 48 bytes large inner secret into the specified buffer

    @@ -664,101 +693,96 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    buffer :

    -pre-allocated buffer to hold 48 bytes of inner secret. + pre-allocated buffer to hold 48 bytes of inner secret.

    -
    +

    gnutls_ia_enable ()

    -
    void                gnutls_ia_enable                    (gnutls_session_t session,
    -                                                         int allow_skip_on_resume);
    +
    void                gnutls_ia_enable                    (gnutls_session_t session,
    +                                                         int allow_skip_on_resume);

    +Specify whether we must advertise support for the TLS/IA extension +during the handshake.

    +

    +At the client side, we always advertise TLS/IA if gnutls_ia_enable +was called before the handshake; at the server side, we also +require that the client has advertised that it wants to run TLS/IA +before including the advertisement, as required by the protocol. +

    +

    +Similarly, at the client side we always advertise that we allow +TLS/IA to be skipped for resumed sessions if allow_skip_on_resume +is non-zero; at the server side, we also require that the session +is indeed resumable and that the client has also advertised that it +allows TLS/IA to be skipped for resumed sessions. +

    +

    +After the TLS handshake, call gnutls_ia_handshake_p() to find out +whether both parties agreed to do a TLS/IA handshake, before +calling gnutls_ia_handshake() or one of the lower level gnutls_ia_* +functions.

    - -

    session :

    + is a gnutls_session_t structure.

    allow_skip_on_resume :

    + non-zero if local party allows to skip the + TLS/IA application phases for a resumed session.

    -
    +

    gnutls_global_init_extra ()

    -
    int                 gnutls_global_init_extra            (void);
    +
    int                 gnutls_global_init_extra            (void);

    +This function initializes the global state of gnutls-extra library +to defaults. Returns zero on success.

    -
    -- - - - -

    Returns :

    -
    -
    -
    -
    -

    gnutls_register_md5_handler ()

    -
    int                 gnutls_register_md5_handler         (void);
    -

    -Register a non-libgcrypt based MD5 and HMAC-MD5 handler. This is -useful if you run Libgcrypt in FIPS-mode. Normally TLS requires -use of MD5, so without this you cannot use GnuTLS with libgcrypt in -FIPS mode.

    -
    -- - - - -

    Returns :

    GNUTLS_E_SUCCESS on success, otherwise an error. - -
    -

    Since 2.6.0

    +

    +Note that gnutls_global_init() has to be called before this +function. If this function is not called then the gnutls-extra +library will not be usable.


    -
    +

    gnutls_extra_check_version ()

    -
    const char *        gnutls_extra_check_version          (const char *req_version);
    +
    const char*         gnutls_extra_check_version          (const char *req_version);

    -

    +Check that the version of the gnutls-extra library is at minimum +the requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned.

    - - + - - - - - - - +

    req_version :

    + the version to check

    Returns :

    -
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-gnutls.html gnutls26-2.4.1/doc/reference/html/gnutls-gnutls.html --- gnutls26-2.8.6/doc/reference/html/gnutls-gnutls.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-gnutls.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ gnutls - - + + - + + + + + @@ -20,13 +24,11 @@ - + Description -
    +
    @@ -35,14 +37,15 @@
    -
    +

    Synopsis

    -
    #define             HAVE_SSIZE_T
    -#define             GNUTLS_VERSION
    -#define             GNUTLS_VERSION_MAJOR
    -#define             GNUTLS_VERSION_MINOR
    -#define             GNUTLS_VERSION_PATCH
    -#define             GNUTLS_VERSION_NUMBER
    +
    +#define             LIBGNUTLS_VERSION
    +#define             LIBGNUTLS_VERSION_MAJOR
    +#define             LIBGNUTLS_VERSION_MINOR
    +#define             LIBGNUTLS_VERSION_PATCH
    +#define             LIBGNUTLS_VERSION_NUMBER
    +#define             HAVE_SSIZE_T
     #define             GNUTLS_CIPHER_RIJNDAEL_128_CBC
     #define             GNUTLS_CIPHER_RIJNDAEL_256_CBC
     #define             GNUTLS_CIPHER_RIJNDAEL_CBC
    @@ -72,11 +75,11 @@
     enum                gnutls_x509_crt_fmt_t;
     enum                gnutls_certificate_print_formats_t;
     enum                gnutls_pk_algorithm_t;
    -const char *        gnutls_pk_algorithm_get_name        (gnutls_pk_algorithm_t algorithm);
    +const char*         gnutls_pk_algorithm_get_name        (gnutls_pk_algorithm_t algorithm);
     #define             GNUTLS_SIGN_RSA_SHA
     #define             GNUTLS_SIGN_DSA_SHA
     enum                gnutls_sign_algorithm_t;
    -const char *        gnutls_sign_algorithm_get_name      (gnutls_sign_algorithm_t sign);
    +const char*         gnutls_sign_algorithm_get_name      (gnutls_sign_algorithm_talgorithm );
     typedef             gnutls_transport_ptr_t;
     struct              gnutls_session_int;
     typedef             gnutls_session_t;
    @@ -86,293 +89,263 @@
     typedef             gnutls_rsa_params_t;
     struct              gnutls_priority_st;
     typedef             gnutls_priority_t;
    -int                 gnutls_init                         (gnutls_session_t *session,
    -                                                         gnutls_connection_end_t con_end);
    -void                gnutls_deinit                       (gnutls_session_t session);
    -int                 gnutls_bye                          (gnutls_session_t session,
    -                                                         gnutls_close_request_t how);
    -int                 gnutls_handshake                    (gnutls_session_t session);
    -int                 gnutls_rehandshake                  (gnutls_session_t session);
    -gnutls_alert_description_t  gnutls_alert_get            (gnutls_session_t session);
    -int                 gnutls_alert_send                   (gnutls_session_t session,
    -                                                         gnutls_alert_level_t level,
    -                                                         gnutls_alert_description_t desc);
    -int                 gnutls_alert_send_appropriate       (gnutls_session_t session,
    -                                                         int err);
    -const char *        gnutls_alert_get_name               (gnutls_alert_description_t alert);
    -gnutls_cipher_algorithm_t  gnutls_cipher_get            (gnutls_session_t session);
    -gnutls_kx_algorithm_t  gnutls_kx_get                    (gnutls_session_t session);
    -gnutls_mac_algorithm_t  gnutls_mac_get                  (gnutls_session_t session);
    -gnutls_compression_method_t  gnutls_compression_get     (gnutls_session_t session);
    -gnutls_certificate_type_t  gnutls_certificate_type_get  (gnutls_session_t session);
    -size_t              gnutls_cipher_get_key_size          (gnutls_cipher_algorithm_t algorithm);
    -size_t              gnutls_mac_get_key_size             (gnutls_mac_algorithm_t algorithm);
    -const char *        gnutls_cipher_get_name              (gnutls_cipher_algorithm_t algorithm);
    -const char *        gnutls_mac_get_name                 (gnutls_mac_algorithm_t algorithm);
    -const char *        gnutls_compression_get_name         (gnutls_compression_method_t algorithm);
    -const char *        gnutls_kx_get_name                  (gnutls_kx_algorithm_t algorithm);
    -const char *        gnutls_certificate_type_get_name    (gnutls_certificate_type_t type);
    -const char *        gnutls_pk_get_name                  (gnutls_pk_algorithm_t algorithm);
    -const char *        gnutls_sign_get_name                (gnutls_sign_algorithm_t algorithm);
    -gnutls_mac_algorithm_t  gnutls_mac_get_id               (const char *name);
    -gnutls_compression_method_t  gnutls_compression_get_id  (const char *name);
    -gnutls_cipher_algorithm_t  gnutls_cipher_get_id         (const char *name);
    -gnutls_kx_algorithm_t  gnutls_kx_get_id                 (const char *name);
    -gnutls_protocol_t   gnutls_protocol_get_id              (const char *name);
    -gnutls_certificate_type_t  gnutls_certificate_type_get_id
    -                                                        (const char *name);
    -gnutls_pk_algorithm_t  gnutls_pk_get_id                 (const char *name);
    -gnutls_sign_algorithm_t  gnutls_sign_get_id             (const char *name);
    -const gnutls_cipher_algorithm_t * gnutls_cipher_list    (void);
    -const gnutls_mac_algorithm_t * gnutls_mac_list          (void);
    -const gnutls_compression_method_t * gnutls_compression_list
    -                                                        (void);
    -const gnutls_protocol_t * gnutls_protocol_list          (void);
    -const gnutls_certificate_type_t * gnutls_certificate_type_list
    -                                                        (void);
    -const gnutls_kx_algorithm_t * gnutls_kx_list            (void);
    -const gnutls_pk_algorithm_t * gnutls_pk_list            (void);
    -const gnutls_sign_algorithm_t * gnutls_sign_list        (void);
    -const char *        gnutls_cipher_suite_info            (size_t idx,
    -                                                         char *cs_id,
    -                                                         gnutls_kx_algorithm_t *kx,
    -                                                         gnutls_cipher_algorithm_t *cipher,
    -                                                         gnutls_mac_algorithm_t *mac,
    -                                                         gnutls_protocol_t *version);
    -int                 gnutls_error_is_fatal               (int error);
    -int                 gnutls_error_to_alert               (int err,
    -                                                         int *level);
    -void                gnutls_perror                       (int error);
    -const char *        gnutls_strerror                     (int error);
    -const char *        gnutls_strerror_name                (int error);
    -void                gnutls_handshake_set_private_extensions
    -                                                        (gnutls_session_t session,
    -                                                         int allow);
    -gnutls_handshake_description_t  gnutls_handshake_get_last_out
    -                                                        (gnutls_session_t session);
    -gnutls_handshake_description_t  gnutls_handshake_get_last_in
    -                                                        (gnutls_session_t session);
    -ssize_t             gnutls_record_send                  (gnutls_session_t session,
    -                                                         const void *data,
    -                                                         size_t sizeofdata);
    -ssize_t             gnutls_record_recv                  (gnutls_session_t session,
    -                                                         void *data,
    -                                                         size_t sizeofdata);
    +int                 gnutls_init                         (gnutls_session_t *session,
    +                                                         gnutls_connection_end_t con_end);
    +void                gnutls_deinit                       (gnutls_session_t session);
    +int                 gnutls_bye                          (gnutls_session_t session,
    +                                                         gnutls_close_request_t how);
    +int                 gnutls_handshake                    (gnutls_session_t session);
    +int                 gnutls_rehandshake                  (gnutls_session_t session);
    +gnutls_alert_description_t gnutls_alert_get             (gnutls_session_t session);
    +int                 gnutls_alert_send                   (gnutls_session_t session,
    +                                                         gnutls_alert_level_t level,
    +                                                         gnutls_alert_description_t desc);
    +int                 gnutls_alert_send_appropriate       (gnutls_session_t session,
    +                                                         int err);
    +const char*         gnutls_alert_get_name               (gnutls_alert_description_t alert);
    +gnutls_cipher_algorithm_t gnutls_cipher_get             (gnutls_session_t session);
    +gnutls_kx_algorithm_t gnutls_kx_get                     (gnutls_session_t session);
    +gnutls_mac_algorithm_t gnutls_mac_get                   (gnutls_session_t session);
    +gnutls_compression_method_t gnutls_compression_get      (gnutls_session_tsession );
    +gnutls_certificate_type_t gnutls_certificate_type_get   (gnutls_session_tsession );
    +size_t              gnutls_cipher_get_key_size          (gnutls_cipher_algorithm_t algorithm);
    +size_t              gnutls_mac_get_key_size             (gnutls_mac_algorithm_t algorithm);
    +const char*         gnutls_cipher_get_name              (gnutls_cipher_algorithm_t algorithm);
    +const char*         gnutls_mac_get_name                 (gnutls_mac_algorithm_t algorithm);
    +const char*         gnutls_compression_get_name         (gnutls_compression_method_talgorithm );
    +const char*         gnutls_kx_get_name                  (gnutls_kx_algorithm_t algorithm);
    +const char*         gnutls_certificate_type_get_name    (gnutls_certificate_type_ttype );
    +gnutls_mac_algorithm_t gnutls_mac_get_id                (const char *name);
    +gnutls_compression_method_t gnutls_compression_get_id   (const char *name);
    +gnutls_cipher_algorithm_t gnutls_cipher_get_id          (const char *name);
    +gnutls_kx_algorithm_t gnutls_kx_get_id                  (const char *name);
    +gnutls_protocol_t   gnutls_protocol_get_id              (const char *name);
    +gnutls_certificate_type_t gnutls_certificate_type_get_id
    +                                                        (const char *name);
    +const gnutls_cipher_algorithm_t* gnutls_cipher_list     (void);
    +const gnutls_mac_algorithm_t* gnutls_mac_list           (void);
    +const gnutls_compression_method_t* gnutls_compression_list
    +                                                        (void);
    +const gnutls_protocol_t* gnutls_protocol_list           (void);
    +const gnutls_certificate_type_t* gnutls_certificate_type_list
    +                                                        (void);
    +const gnutls_kx_algorithm_t* gnutls_kx_list             (void);
    +const char*         gnutls_cipher_suite_info            (size_t i,
    +                                                         char *id,
    +                                                         gnutls_kx_algorithm_t *kx,
    +                                                         gnutls_cipher_algorithm_t *cipher,
    +                                                         gnutls_mac_algorithm_t *mac,
    +                                                         gnutls_protocol_t *version);
    +int                 gnutls_error_is_fatal               (int error);
    +int                 gnutls_error_to_alert               (int err,
    +                                                         int *level);
    +void                gnutls_perror                       (int error);
    +const char*         gnutls_strerror                     (int error);
    +void                gnutls_handshake_set_private_extensions
    +                                                        (gnutls_session_t session,
    +                                                         int allow);
    +gnutls_handshake_description_t gnutls_handshake_get_last_out
    +                                                        (gnutls_session_t session);
    +gnutls_handshake_description_t gnutls_handshake_get_last_in
    +                                                        (gnutls_session_t session);
    +ssize_t             gnutls_record_send                  (gnutls_session_t session,
    +                                                         const void *data,
    +                                                         size_t sizeofdata);
    +ssize_t             gnutls_record_recv                  (gnutls_session_t session,
    +                                                         void *data,
    +                                                         size_t sizeofdata);
     #define             gnutls_read
     #define             gnutls_write
    -void                gnutls_session_enable_compatibility_mode
    -                                                        (gnutls_session_t session);
    -void                gnutls_record_disable_padding       (gnutls_session_t session);
    -int                 gnutls_record_get_direction         (gnutls_session_t session);
    -size_t              gnutls_record_get_max_size          (gnutls_session_t session);
    -ssize_t             gnutls_record_set_max_size          (gnutls_session_t session,
    -                                                         size_t size);
    -size_t              gnutls_record_check_pending         (gnutls_session_t session);
    -int                 gnutls_prf                          (gnutls_session_t session,
    -                                                         size_t label_size,
    -                                                         const char *label,
    -                                                         int server_random_first,
    -                                                         size_t extra_size,
    -                                                         const char *extra,
    -                                                         size_t outsize,
    -                                                         char *out);
    -int                 gnutls_prf_raw                      (gnutls_session_t session,
    -                                                         size_t label_size,
    -                                                         const char *label,
    -                                                         size_t seed_size,
    -                                                         const char *seed,
    -                                                         size_t outsize,
    -                                                         char *out);
    -int                 (*gnutls_ext_recv_func)             (gnutls_session_t session,
    -                                                         unsigned char *data,
    -                                                         size_t len);
    -int                 (*gnutls_ext_send_func)             (gnutls_session_t session,
    -                                                         unsigned char *data,
    -                                                         size_t len);
    -enum                gnutls_ext_parse_type_t;
    -int                 gnutls_ext_register                 (int type,
    -                                                         const char *name,
    -                                                         gnutls_ext_parse_type_t parse_type,
    -                                                         gnutls_ext_recv_func recv_func,
    -                                                         gnutls_ext_send_func send_func);
    +void                gnutls_session_enable_compatibility_mode
    +                                                        (gnutls_session_t session);
    +void                gnutls_record_disable_padding       (gnutls_session_t session);
    +int                 gnutls_record_get_direction         (gnutls_session_t session);
    +size_t              gnutls_record_get_max_size          (gnutls_session_t session);
    +ssize_t             gnutls_record_set_max_size          (gnutls_session_t session,
    +                                                         size_t size);
    +size_t              gnutls_record_check_pending         (gnutls_session_t session);
    +int                 gnutls_prf                          (gnutls_session_t session,
    +                                                         size_t label_size,
    +                                                         const char *label,
    +                                                         int server_random_first,
    +                                                         size_t extra_size,
    +                                                         const char *extra,
    +                                                         size_t outsize,
    +                                                         char *out);
    +int                 gnutls_prf_raw                      (gnutls_session_t session,
    +                                                         size_t label_size,
    +                                                         const char *label,
    +                                                         size_t seed_size,
    +                                                         const char *seed,
    +                                                         size_t outsize,
    +                                                         char *out);
     enum                gnutls_server_name_type_t;
    -int                 gnutls_server_name_set              (gnutls_session_t session,
    -                                                         gnutls_server_name_type_t type,
    -                                                         const void *name,
    -                                                         size_t name_length);
    -int                 gnutls_server_name_get              (gnutls_session_t session,
    -                                                         void *data,
    -                                                         size_t *data_length,
    -                                                         unsigned int *type,
    -                                                         unsigned int indx);
    -void                gnutls_oprfi_enable_client          (gnutls_session_t session,
    -                                                         size_t len,
    -                                                         unsigned char *data);
    -int                 (*gnutls_oprfi_callback_func)       (gnutls_session_t session,
    -                                                         void *userdata,
    -                                                         size_t oprfi_len,
    -                                                         unsigned char *in_oprfi,
    -                                                         unsigned char *out_oprfi);
    -void                gnutls_oprfi_enable_server          (gnutls_session_t session,
    -                                                         gnutls_oprfi_callback_func cb,
    -                                                         void *userdata);
    +int                 gnutls_server_name_set              (gnutls_session_t session,
    +                                                         gnutls_server_name_type_t type,
    +                                                         const void *name,
    +                                                         size_t name_length);
    +int                 gnutls_server_name_get              (gnutls_session_t session,
    +                                                         void *data,
    +                                                         size_t *data_length,
    +                                                         unsigned int *type,
    +                                                         unsigned int indx);
    +void                gnutls_oprfi_enable_client          (gnutls_session_t session,
    +                                                         size_t len,
    +                                                         unsigned char *data);
    +int                 (*gnutls_oprfi_callback_func)       (gnutls_session_t session,
    +                                                         void *userdata,
    +                                                         size_t oprfi_len,
    +                                                         unsigned char *in_oprfi,
    +                                                         unsigned char *out_oprfi);
    +void                gnutls_oprfi_enable_server          (gnutls_session_t session,
    +                                                         gnutls_oprfi_callback_func cb,
    +                                                         void *userdata);
     enum                gnutls_supplemental_data_format_type_t;
    -const char *        gnutls_supplemental_get_name        (gnutls_supplemental_data_format_type_t type);
    -int                 gnutls_cipher_set_priority          (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_mac_set_priority             (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_compression_set_priority     (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_kx_set_priority              (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_protocol_set_priority        (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_certificate_type_set_priority
    -                                                        (gnutls_session_t session,
    -                                                         const int *list);
    -int                 gnutls_priority_init                (gnutls_priority_t *priority_cache,
    -                                                         const char *priorities,
    -                                                         const char **err_pos);
    -void                gnutls_priority_deinit              (gnutls_priority_t priority_cache);
    -int                 gnutls_priority_set                 (gnutls_session_t session,
    -                                                         gnutls_priority_t priority);
    -int                 gnutls_priority_set_direct          (gnutls_session_t session,
    -                                                         const char *priorities,
    -                                                         const char **err_pos);
    -int                 gnutls_set_default_priority         (gnutls_session_t session);
    -int                 gnutls_set_default_export_priority  (gnutls_session_t session);
    -const char *        gnutls_cipher_suite_get_name        (gnutls_kx_algorithm_t kx_algorithm,
    -                                                         gnutls_cipher_algorithm_t cipher_algorithm,
    -                                                         gnutls_mac_algorithm_t mac_algorithm);
    -gnutls_protocol_t   gnutls_protocol_get_version         (gnutls_session_t session);
    -const char *        gnutls_protocol_get_name            (gnutls_protocol_t version);
    -int                 gnutls_session_set_data             (gnutls_session_t session,
    -                                                         const void *session_data,
    -                                                         size_t session_data_size);
    -int                 gnutls_session_get_data             (gnutls_session_t session,
    -                                                         void *session_data,
    -                                                         size_t *session_data_size);
    -int                 gnutls_session_get_data2            (gnutls_session_t session,
    -                                                         gnutls_datum_t *data);
    +const char*         gnutls_supplemental_get_name        (gnutls_supplemental_data_format_type_t type);
    +int                 gnutls_cipher_set_priority          (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_mac_set_priority             (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_compression_set_priority     (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_kx_set_priority              (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_protocol_set_priority        (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_certificate_type_set_priority
    +                                                        (gnutls_session_t session,
    +                                                         const int *list);
    +int                 gnutls_priority_init                (gnutls_priority_t *,
    +                                                         const char *priority,
    +                                                         const char **err_pos);
    +void                gnutls_priority_deinit              (gnutls_priority_t );
    +int                 gnutls_priority_set                 (gnutls_session_t session,
    +                                                         gnutls_priority_t );
    +int                 gnutls_priority_set_direct          (gnutls_session_t session,
    +                                                         const char *priority,
    +                                                         const char **err_pos);
    +int                 gnutls_set_default_priority         (gnutls_session_t session);
    +int                 gnutls_set_default_export_priority  (gnutls_session_t session);
    +const char*         gnutls_cipher_suite_get_name        (gnutls_kx_algorithm_tkx_algorithm ,
    +                                                         gnutls_cipher_algorithm_tcipher_algorithm ,
    +                                                         gnutls_mac_algorithm_tmac_algorithm );
    +gnutls_protocol_t   gnutls_protocol_get_version         (gnutls_session_t session);
    +const char*         gnutls_protocol_get_name            (gnutls_protocol_t version);
    +int                 gnutls_session_set_data             (gnutls_session_t session,
    +                                                         const void *session_data,
    +                                                         size_t session_data_size);
    +int                 gnutls_session_get_data             (gnutls_session_t session,
    +                                                         void *session_data,
    +                                                         size_t *session_data_size);
    +int                 gnutls_session_get_data2            (gnutls_session_t session,
    +                                                         gnutls_datum_t *data);
     #define             GNUTLS_MAX_SESSION_ID
    -int                 gnutls_session_get_id               (gnutls_session_t session,
    -                                                         void *session_id,
    -                                                         size_t *session_id_size);
    -#define             GNUTLS_MASTER_SIZE
    -#define             GNUTLS_RANDOM_SIZE
    -const void *        gnutls_session_get_server_random    (gnutls_session_t session);
    -const void *        gnutls_session_get_client_random    (gnutls_session_t session);
    -const void *        gnutls_session_get_master_secret    (gnutls_session_t session);
    -void                (*gnutls_finished_callback_func)    (gnutls_session_t session,
    -                                                         const void *finished,
    -                                                         size_t len);
    -void                gnutls_session_set_finished_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_finished_callback_func func);
    -int                 gnutls_session_is_resumed           (gnutls_session_t session);
    -int                 (*gnutls_db_store_func)             (void *Param1,
    -                                                         gnutls_datum_t key,
    -                                                         gnutls_datum_t data);
    -int                 (*gnutls_db_remove_func)            (void *Param1,
    -                                                         gnutls_datum_t key);
    -gnutls_datum_t      (*gnutls_db_retr_func)              (void *Param1,
    -                                                         gnutls_datum_t key);
    -void                gnutls_db_set_cache_expiration      (gnutls_session_t session,
    -                                                         int seconds);
    -void                gnutls_db_remove_session            (gnutls_session_t session);
    -void                gnutls_db_set_retrieve_function     (gnutls_session_t session,
    -                                                         gnutls_db_retr_func retr_func);
    -void                gnutls_db_set_remove_function       (gnutls_session_t session,
    -                                                         gnutls_db_remove_func rem_func);
    -void                gnutls_db_set_store_function        (gnutls_session_t session,
    -                                                         gnutls_db_store_func store_func);
    -void                gnutls_db_set_ptr                   (gnutls_session_t session,
    -                                                         void *ptr);
    -void *              gnutls_db_get_ptr                   (gnutls_session_t session);
    -int                 gnutls_db_check_entry               (gnutls_session_t session,
    -                                                         gnutls_datum_t session_entry);
    -int                 (*gnutls_handshake_post_client_hello_func)
    -                                                        (gnutls_session_t Param1);
    -void                gnutls_handshake_set_post_client_hello_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_handshake_post_client_hello_func func);
    -void                gnutls_handshake_set_max_packet_length
    -                                                        (gnutls_session_t session,
    -                                                         size_t max);
    -const char *        gnutls_check_version                (const char *req_version);
    -void                gnutls_credentials_clear            (gnutls_session_t session);
    -int                 gnutls_credentials_set              (gnutls_session_t session,
    -                                                         gnutls_credentials_type_t type,
    -                                                         void *cred);
    +int                 gnutls_session_get_id               (gnutls_session_t session,
    +                                                         void *session_id,
    +                                                         size_t *session_id_size);
    +#define             TLS_MASTER_SIZE
    +#define             TLS_RANDOM_SIZE
    +const void*         gnutls_session_get_server_random    (gnutls_session_t session);
    +const void*         gnutls_session_get_client_random    (gnutls_session_t session);
    +const void*         gnutls_session_get_master_secret    (gnutls_session_t session);
    +int                 gnutls_session_is_resumed           (gnutls_session_t session);
    +int                 (*gnutls_db_store_func)             (void *,
    +                                                         gnutls_datum_t key,
    +                                                         gnutls_datum_t data);
    +int                 (*gnutls_db_remove_func)            (void *,
    +                                                         gnutls_datum_t key);
    +gnutls_datum_t      (*gnutls_db_retr_func)              (void *,
    +                                                         gnutls_datum_t key);
    +void                gnutls_db_set_cache_expiration      (gnutls_session_t session,
    +                                                         int seconds);
    +void                gnutls_db_remove_session            (gnutls_session_t session);
    +void                gnutls_db_set_retrieve_function     (gnutls_session_t session,
    +                                                         gnutls_db_retr_func retr_func);
    +void                gnutls_db_set_remove_function       (gnutls_session_t session,
    +                                                         gnutls_db_remove_func rem_func);
    +void                gnutls_db_set_store_function        (gnutls_session_t session,
    +                                                         gnutls_db_store_func store_func);
    +void                gnutls_db_set_ptr                   (gnutls_session_t session,
    +                                                         void *ptr);
    +void*               gnutls_db_get_ptr                   (gnutls_session_t session);
    +int                 gnutls_db_check_entry               (gnutls_session_t session,
    +                                                         gnutls_datum_t session_entry);
    +int                 (*gnutls_handshake_post_client_hello_func)
    +                                                        (gnutls_session_t );
    +void                gnutls_handshake_set_post_client_hello_function
    +                                                        (gnutls_session_t ,
    +                                                         gnutls_handshake_post_client_hello_func );
    +void                gnutls_handshake_set_max_packet_length
    +                                                        (gnutls_session_t session,
    +                                                         size_t max);
    +const char*         gnutls_check_version                (const char *req_version);
    +void                gnutls_credentials_clear            (gnutls_session_t session);
    +int                 gnutls_credentials_set              (gnutls_session_t session,
    +                                                         gnutls_credentials_type_t type,
    +                                                         void *cred);
     #define             gnutls_cred_set
     struct              gnutls_certificate_credentials_st;
    -void                gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc);
    -int                 gnutls_anon_allocate_server_credentials
    -                                                        (gnutls_anon_server_credentials_t *sc);
    -void                gnutls_anon_set_server_dh_params    (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    -void                gnutls_anon_set_server_params_function
    -                                                        (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -void                gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc);
    -int                 gnutls_anon_allocate_client_credentials
    -                                                        (gnutls_anon_client_credentials_t *sc);
    -void                gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc);
    -int                 gnutls_certificate_allocate_credentials
    -                                                        (gnutls_certificate_credentials_t *res);
    -void                gnutls_certificate_free_keys        (gnutls_certificate_credentials_t sc);
    -void                gnutls_certificate_free_cas         (gnutls_certificate_credentials_t sc);
    -void                gnutls_certificate_free_ca_names    (gnutls_certificate_credentials_t sc);
    -void                gnutls_certificate_free_crls        (gnutls_certificate_credentials_t sc);
    -void                gnutls_certificate_set_dh_params    (gnutls_certificate_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    -void                gnutls_certificate_set_rsa_export_params
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         gnutls_rsa_params_t rsa_params);
    -void                gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res,
    -                                                         unsigned int flags);
    -void                gnutls_certificate_set_verify_limits
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         unsigned int max_bits,
    -                                                         unsigned int max_depth);
    -int                 gnutls_certificate_set_x509_trust_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *cafile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -int                 gnutls_certificate_set_x509_trust_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *ca,
    -                                                         gnutls_x509_crt_fmt_t type);
    -int                 gnutls_certificate_set_x509_crl_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *crlfile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -int                 gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *CRL,
    -                                                         gnutls_x509_crt_fmt_t type);
    -int                 gnutls_certificate_set_x509_key_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -int                 gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_x509_crt_fmt_t type);
    -void                gnutls_certificate_send_x509_rdn_sequence
    -                                                        (gnutls_session_t session,
    -                                                         int status);
    -int                 gnutls_certificate_set_x509_simple_pkcs12_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *pkcs12file,
    -                                                         gnutls_x509_crt_fmt_t type,
    -                                                         const char *password);
    -int                 gnutls_certificate_set_x509_simple_pkcs12_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum *p12blob,
    -                                                         gnutls_x509_crt_fmt_t type,
    -                                                         const char *password);
    +void                gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc);
    +int                 gnutls_anon_allocate_server_credentials
    +                                                        (gnutls_anon_server_credentials_t *sc);
    +void                gnutls_anon_set_server_dh_params    (gnutls_anon_server_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);
    +void                gnutls_anon_set_server_params_function
    +                                                        (gnutls_anon_server_credentials_tres ,
    +                                                         gnutls_params_function *func);
    +void                gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_tsc );
    +int                 gnutls_anon_allocate_client_credentials
    +                                                        (gnutls_anon_client_credentials_t *sc);
    +void                gnutls_certificate_free_credentials (gnutls_certificate_credentials_tsc );
    +int                 gnutls_certificate_allocate_credentials
    +                                                        (gnutls_certificate_credentials_t *res);
    +void                gnutls_certificate_free_keys        (gnutls_certificate_credentials_t sc);
    +void                gnutls_certificate_free_cas         (gnutls_certificate_credentials_t sc);
    +void                gnutls_certificate_free_ca_names    (gnutls_certificate_credentials_t sc);
    +void                gnutls_certificate_free_crls        (gnutls_certificate_credentials_t sc);
    +void                gnutls_certificate_set_dh_params    (gnutls_certificate_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);
    +void                gnutls_certificate_set_rsa_export_params
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         gnutls_rsa_params_t rsa_params);
    +void                gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_tres ,
    +                                                         unsigned int flags);
    +void                gnutls_certificate_set_verify_limits
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         unsigned int max_bits,
    +                                                         unsigned int max_depth);
    +int                 gnutls_certificate_set_x509_trust_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CAFILE,
    +                                                         gnutls_x509_crt_fmt_t type);
    +int                 gnutls_certificate_set_x509_trust_mem
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CA,
    +                                                         gnutls_x509_crt_fmt_t type);
    +int                 gnutls_certificate_set_x509_crl_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *crlfile,
    +                                                         gnutls_x509_crt_fmt_t type);
    +int                 gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CRL,
    +                                                         gnutls_x509_crt_fmt_t type);
    +int                 gnutls_certificate_set_x509_key_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         gnutls_x509_crt_fmt_t type);
    +int                 gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         gnutls_x509_crt_fmt_t type);
    +void                gnutls_certificate_send_x509_rdn_sequence
    +                                                        (gnutls_session_t session,
    +                                                         int status);
    +int                 gnutls_certificate_set_x509_simple_pkcs12_file
    +                                                        (gnutls_certificate_credentials_t res,
    +                                                         const char *pkcs12file,
    +                                                         gnutls_x509_crt_fmt_t type,
    +                                                         const char *password);
     typedef             gnutls_x509_privkey_t;
     struct              gnutls_x509_crl_int;
     typedef             gnutls_x509_crl_t;
    @@ -380,282 +353,280 @@
     typedef             gnutls_x509_crt_t;
     struct              gnutls_openpgp_keyring_int;
     typedef             gnutls_openpgp_keyring_t;
    -int                 gnutls_certificate_set_x509_key     (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crt_t *cert_list,
    -                                                         int cert_list_size,
    -                                                         gnutls_x509_privkey_t key);
    -int                 gnutls_certificate_set_x509_trust   (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crt_t *ca_list,
    -                                                         int ca_list_size);
    -int                 gnutls_certificate_set_x509_crl     (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crl_t *crl_list,
    -                                                         int crl_list_size);
    -void                gnutls_certificate_get_x509_cas     (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_x509_crt_t **x509_ca_list,
    -                                                         unsigned int *ncas);
    -void                gnutls_certificate_get_x509_crls    (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_x509_crl_t **x509_crl_list,
    -                                                         unsigned int *ncrls);
    -void                gnutls_certificate_get_openpgp_keyring
    -                                                        (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_openpgp_keyring_t *keyring);
    -int                 gnutls_global_init                  (void);
    -void                gnutls_global_deinit                (void);
    -void *              (*gnutls_alloc_function)            (size_t Param1);
    -void *              (*gnutls_calloc_function)           (size_t Param1,
    -                                                         size_t Param2);
    -int                 (*gnutls_is_secure_function)        (const void *Param1);
    -void                (*gnutls_free_function)             (void *Param1);
    -void *              (*gnutls_realloc_function)          (void *Param1,
    -                                                         size_t Param2);
    -void                gnutls_global_set_mem_functions     (gnutls_alloc_function alloc_func,
    -                                                         gnutls_alloc_function secure_alloc_func,
    -                                                         gnutls_is_secure_function is_secure_func,
    -                                                         gnutls_realloc_function realloc_func,
    -                                                         gnutls_free_function free_func);
    +int                 gnutls_certificate_set_x509_key     (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crt_t *cert_list,
    +                                                         int cert_list_size,
    +                                                         gnutls_x509_privkey_t key);
    +int                 gnutls_certificate_set_x509_trust   (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crt_t *ca_list,
    +                                                         int ca_list_size);
    +int                 gnutls_certificate_set_x509_crl     (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crl_t *crl_list,
    +                                                         int crl_list_size);
    +void                gnutls_certificate_get_x509_cas     (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_x509_crt_t **x509_ca_list,
    +                                                         unsigned int *ncas);
    +void                gnutls_certificate_get_x509_crls    (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_x509_crl_t **x509_crl_list,
    +                                                         unsigned int *ncrls);
    +void                gnutls_certificate_get_openpgp_keyring
    +                                                        (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_openpgp_keyring_t *keyring);
    +int                 gnutls_global_init                  (void);
    +void                gnutls_global_deinit                (void);
    +void*               (*gnutls_alloc_function)            (size_t );
    +void*               (*gnutls_calloc_function)           (size_t ,
    +                                                         size_t );
    +int                 (*gnutls_is_secure_function)        (const void *);
    +void                (*gnutls_free_function)             (void *);
    +void*               (*gnutls_realloc_function)          (void *,
    +                                                         size_t );
    +void                gnutls_global_set_mem_functions     (gnutls_alloc_function gt_alloc_func,
    +                                                         gnutls_alloc_functiongt_secure_alloc_func ,
    +                                                         gnutls_is_secure_functiongt_is_secure_func ,
    +                                                         gnutls_realloc_function gt_realloc_func,
    +                                                         gnutls_free_function gt_free_func);
     extern              gnutls_alloc_function gnutls_malloc;
     extern              gnutls_alloc_function gnutls_secure_malloc;
     extern              gnutls_realloc_function gnutls_realloc;
     extern              gnutls_calloc_function gnutls_calloc;
     extern              gnutls_free_function gnutls_free;
    -char *              (*gnutls_strdup)                    (const char *Param1);
    -void                (*gnutls_log_func)                  (...,
    -                                                         const char *Param2);
    -void                gnutls_global_set_log_function      (gnutls_log_func log_func);
    -void                gnutls_global_set_log_level         (int level);
    -int                 gnutls_dh_params_init               (gnutls_dh_params_t *dh_params);
    -void                gnutls_dh_params_deinit             (gnutls_dh_params_t dh_params);
    -int                 gnutls_dh_params_import_raw         (gnutls_dh_params_t dh_params,
    -                                                         const gnutls_datum_t *prime,
    -                                                         const gnutls_datum_t *generator);
    -int                 gnutls_dh_params_import_pkcs3       (gnutls_dh_params_t params,
    -                                                         const gnutls_datum_t *pkcs3_params,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_dh_params_generate2          (gnutls_dh_params_t params,
    -                                                         unsigned int bits);
    -int                 gnutls_dh_params_export_pkcs3       (gnutls_dh_params_t params,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned char *params_data,
    -                                                         size_t *params_data_size);
    -int                 gnutls_dh_params_export_raw         (gnutls_dh_params_t params,
    -                                                         gnutls_datum_t *prime,
    -                                                         gnutls_datum_t *generator,
    -                                                         unsigned int *bits);
    -int                 gnutls_dh_params_cpy                (gnutls_dh_params_t dst,
    -                                                         gnutls_dh_params_t src);
    -int                 gnutls_rsa_params_init              (gnutls_rsa_params_t *rsa_params);
    -void                gnutls_rsa_params_deinit            (gnutls_rsa_params_t rsa_params);
    -int                 gnutls_rsa_params_cpy               (gnutls_rsa_params_t dst,
    -                                                         gnutls_rsa_params_t src);
    -int                 gnutls_rsa_params_import_raw        (gnutls_rsa_params_t rsa_params,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e,
    -                                                         const gnutls_datum_t *d,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *u);
    -int                 gnutls_rsa_params_generate2         (gnutls_rsa_params_t params,
    -                                                         unsigned int bits);
    -int                 gnutls_rsa_params_export_raw        (gnutls_rsa_params_t params,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u,
    -                                                         unsigned int *bits);
    -int                 gnutls_rsa_params_export_pkcs1      (gnutls_rsa_params_t params,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned char *params_data,
    -                                                         size_t *params_data_size);
    -int                 gnutls_rsa_params_import_pkcs1      (gnutls_rsa_params_t params,
    -                                                         const gnutls_datum_t *pkcs1_params,
    -                                                         gnutls_x509_crt_fmt_t format);
    -ssize_t             (*gnutls_pull_func)                 (gnutls_transport_ptr_t Param1,
    -                                                         void *Param2,
    -                                                         size_t Param3);
    -ssize_t             (*gnutls_push_func)                 (gnutls_transport_ptr_t Param1,
    -                                                         const void *Param2,
    -                                                         size_t Param3);
    -void                gnutls_transport_set_ptr            (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t ptr);
    -void                gnutls_transport_set_ptr2           (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t recv_ptr,
    -                                                         gnutls_transport_ptr_t send_ptr);
    -gnutls_transport_ptr_t  gnutls_transport_get_ptr        (gnutls_session_t session);
    -void                gnutls_transport_get_ptr2           (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t *recv_ptr,
    -                                                         gnutls_transport_ptr_t *send_ptr);
    -void                gnutls_transport_set_lowat          (gnutls_session_t session,
    -                                                         int num);
    -void                gnutls_transport_set_push_function  (gnutls_session_t session,
    -                                                         gnutls_push_func push_func);
    -void                gnutls_transport_set_pull_function  (gnutls_session_t session,
    -                                                         gnutls_pull_func pull_func);
    -void                gnutls_transport_set_errno          (gnutls_session_t session,
    -                                                         int err);
    -void                gnutls_transport_set_global_errno   (int err);
    -void                gnutls_session_set_ptr              (gnutls_session_t session,
    -                                                         void *ptr);
    -void *              gnutls_session_get_ptr              (gnutls_session_t session);
    -void                gnutls_openpgp_send_cert            (gnutls_session_t session,
    -                                                         gnutls_openpgp_crt_status_t status);
    -int                 gnutls_fingerprint                  (gnutls_digest_algorithm_t algo,
    -                                                         const gnutls_datum_t *data,
    -                                                         void *result,
    -                                                         size_t *result_size);
    -void                gnutls_srp_free_client_credentials  (gnutls_srp_client_credentials_t sc);
    -int                 gnutls_srp_allocate_client_credentials
    -                                                        (gnutls_srp_client_credentials_t *sc);
    -int                 gnutls_srp_set_client_credentials   (gnutls_srp_client_credentials_t res,
    -                                                         const char *username,
    -                                                         const char *password);
    -void                gnutls_srp_free_server_credentials  (gnutls_srp_server_credentials_t sc);
    -int                 gnutls_srp_allocate_server_credentials
    -                                                        (gnutls_srp_server_credentials_t *sc);
    -int                 gnutls_srp_set_server_credentials_file
    -                                                        (gnutls_srp_server_credentials_t res,
    -                                                         const char *password_file,
    -                                                         const char *password_conf_file);
    -const char *        gnutls_srp_server_get_username      (gnutls_session_t session);
    -void                gnutls_srp_set_prime_bits           (gnutls_session_t session,
    -                                                         unsigned int bits);
    -int                 gnutls_srp_verifier                 (const char *username,
    -                                                         const char *password,
    -                                                         const gnutls_datum_t *salt,
    -                                                         const gnutls_datum_t *generator,
    -                                                         const gnutls_datum_t *prime,
    -                                                         gnutls_datum_t *res);
    +char*               gnutls_strdup                       (const char *);
    +void                (*gnutls_log_func)                  (...,
    +                                                         const char *);
    +void                gnutls_global_set_log_function      (gnutls_log_func log_func);
    +void                gnutls_global_set_log_level         (int level);
    +int                 gnutls_dh_params_init               (gnutls_dh_params_t *dh_params);
    +void                gnutls_dh_params_deinit             (gnutls_dh_params_t dh_params);
    +int                 gnutls_dh_params_import_raw         (gnutls_dh_params_t dh_params,
    +                                                         const gnutls_datum_t *prime,
    +                                                         const gnutls_datum_t *generator);
    +int                 gnutls_dh_params_import_pkcs3       (gnutls_dh_params_t params,
    +                                                         const gnutls_datum_t *pkcs3_params,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_dh_params_generate2          (gnutls_dh_params_t params,
    +                                                         unsigned int bits);
    +int                 gnutls_dh_params_export_pkcs3       (gnutls_dh_params_t params,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned char *params_data,
    +                                                         size_t *params_data_size);
    +int                 gnutls_dh_params_export_raw         (gnutls_dh_params_t params,
    +                                                         gnutls_datum_t *prime,
    +                                                         gnutls_datum_t *generator,
    +                                                         unsigned int *bits);
    +int                 gnutls_dh_params_cpy                (gnutls_dh_params_t dst,
    +                                                         gnutls_dh_params_t src);
    +int                 gnutls_rsa_params_init              (gnutls_rsa_params_t *rsa_params);
    +void                gnutls_rsa_params_deinit            (gnutls_rsa_params_t rsa_params);
    +int                 gnutls_rsa_params_cpy               (gnutls_rsa_params_t dst,
    +                                                         gnutls_rsa_params_t src);
    +int                 gnutls_rsa_params_import_raw        (gnutls_rsa_params_t rsa_params,
    +                                                         const gnutls_datum_t *m,
    +                                                         const gnutls_datum_t *e,
    +                                                         const gnutls_datum_t *d,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *u);
    +int                 gnutls_rsa_params_generate2         (gnutls_rsa_params_t params,
    +                                                         unsigned int bits);
    +int                 gnutls_rsa_params_export_raw        (gnutls_rsa_params_t params,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u,
    +                                                         unsigned int *bits);
    +int                 gnutls_rsa_params_export_pkcs1      (gnutls_rsa_params_t params,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned char *params_data,
    +                                                         size_t *params_data_size);
    +int                 gnutls_rsa_params_import_pkcs1      (gnutls_rsa_params_t params,
    +                                                         const gnutls_datum_t *pkcs1_params,
    +                                                         gnutls_x509_crt_fmt_t format);
    +ssize_t             (*gnutls_pull_func)                 (gnutls_transport_ptr_t ,
    +                                                         void *,
    +                                                         size_t );
    +ssize_t             (*gnutls_push_func)                 (gnutls_transport_ptr_t ,
    +                                                         const void *,
    +                                                         size_t );
    +void                gnutls_transport_set_ptr            (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t ptr);
    +void                gnutls_transport_set_ptr2           (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t recv_ptr,
    +                                                         gnutls_transport_ptr_t send_ptr);
    +gnutls_transport_ptr_t gnutls_transport_get_ptr         (gnutls_session_t session);
    +void                gnutls_transport_get_ptr2           (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t *recv_ptr,
    +                                                         gnutls_transport_ptr_t *send_ptr);
    +void                gnutls_transport_set_lowat          (gnutls_session_t session,
    +                                                         int num);
    +void                gnutls_transport_set_push_function  (gnutls_session_t session,
    +                                                         gnutls_push_func push_func);
    +void                gnutls_transport_set_pull_function  (gnutls_session_t session,
    +                                                         gnutls_pull_func pull_func);
    +void                gnutls_transport_set_errno          (gnutls_session_t session,
    +                                                         int err);
    +void                gnutls_transport_set_global_errno   (int err);
    +void                gnutls_session_set_ptr              (gnutls_session_t session,
    +                                                         void *ptr);
    +void*               gnutls_session_get_ptr              (gnutls_session_t session);
    +void                gnutls_openpgp_send_cert            (gnutls_session_t session,
    +                                                         gnutls_openpgp_crt_status_t status);
    +int                 gnutls_fingerprint                  (gnutls_digest_algorithm_t algo,
    +                                                         const gnutls_datum_t *data,
    +                                                         void *result,
    +                                                         size_t *result_size);
    +void                gnutls_srp_free_client_credentials  (gnutls_srp_client_credentials_tsc );
    +int                 gnutls_srp_allocate_client_credentials
    +                                                        (gnutls_srp_client_credentials_t *sc);
    +int                 gnutls_srp_set_client_credentials   (gnutls_srp_client_credentials_t res,
    +                                                         const char *username,
    +                                                         const char *password);
    +void                gnutls_srp_free_server_credentials  (gnutls_srp_server_credentials_tsc );
    +int                 gnutls_srp_allocate_server_credentials
    +                                                        (gnutls_srp_server_credentials_t *sc);
    +int                 gnutls_srp_set_server_credentials_file
    +                                                        (gnutls_srp_server_credentials_tres ,
    +                                                         const char *password_file,
    +                                                         const char *password_conf_file);
    +const char*         gnutls_srp_server_get_username      (gnutls_session_t session);
    +int                 gnutls_srp_verifier                 (const char *username,
    +                                                         const char *password,
    +                                                         const gnutls_datum_t *salt,
    +                                                         const gnutls_datum_t *generator,
    +                                                         const gnutls_datum_t *prime,
    +                                                         gnutls_datum_t *res);
     extern              const gnutls_datum_t gnutls_srp_2048_group_prime;
     extern              const gnutls_datum_t gnutls_srp_2048_group_generator;
     extern              const gnutls_datum_t gnutls_srp_1536_group_prime;
     extern              const gnutls_datum_t gnutls_srp_1536_group_generator;
     extern              const gnutls_datum_t gnutls_srp_1024_group_prime;
     extern              const gnutls_datum_t gnutls_srp_1024_group_generator;
    -void                gnutls_srp_set_server_credentials_function
    -                                                        (gnutls_srp_server_credentials_t cred,
    -                                                         gnutls_srp_server_credentials_function *func);
    -void                gnutls_srp_set_client_credentials_function
    -                                                        (gnutls_srp_client_credentials_t cred,
    -                                                         gnutls_srp_client_credentials_function *func);
    -int                 gnutls_srp_base64_encode            (const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -int                 gnutls_srp_base64_encode_alloc      (const gnutls_datum_t *data,
    -                                                         gnutls_datum_t *result);
    -int                 gnutls_srp_base64_decode            (const gnutls_datum_t *b64_data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -int                 gnutls_srp_base64_decode_alloc      (const gnutls_datum_t *b64_data,
    -                                                         gnutls_datum_t *result);
    +void                gnutls_srp_set_server_credentials_function
    +                                                        (gnutls_srp_server_credentials_t cred,
    +                                                         gnutls_srp_server_credentials_function *func);
    +void                gnutls_srp_set_client_credentials_function
    +                                                        (gnutls_srp_client_credentials_t cred,
    +                                                         gnutls_srp_client_credentials_function *func);
    +int                 gnutls_srp_base64_encode            (const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +int                 gnutls_srp_base64_encode_alloc      (const gnutls_datum_t *data,
    +                                                         gnutls_datum_t *result);
    +int                 gnutls_srp_base64_decode            (const gnutls_datum_t *b64_data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +int                 gnutls_srp_base64_decode_alloc      (const gnutls_datum_t *b64_data,
    +                                                         gnutls_datum_t *result);
     enum                gnutls_psk_key_flags;
    -void                gnutls_psk_free_client_credentials  (gnutls_psk_client_credentials_t sc);
    -int                 gnutls_psk_allocate_client_credentials
    -                                                        (gnutls_psk_client_credentials_t *sc);
    -int                 gnutls_psk_set_client_credentials   (gnutls_psk_client_credentials_t res,
    -                                                         const char *username,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_psk_key_flags format);
    -void                gnutls_psk_free_server_credentials  (gnutls_psk_server_credentials_t sc);
    -int                 gnutls_psk_allocate_server_credentials
    -                                                        (gnutls_psk_server_credentials_t *sc);
    -int                 gnutls_psk_set_server_credentials_file
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         const char *password_file);
    -int                 gnutls_psk_set_server_credentials_hint
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         const char *hint);
    -const char *        gnutls_psk_server_get_username      (gnutls_session_t session);
    -const char *        gnutls_psk_client_get_hint          (gnutls_session_t session);
    -void                gnutls_psk_set_server_credentials_function
    -                                                        (gnutls_psk_server_credentials_t cred,
    -                                                         gnutls_psk_server_credentials_function *func);
    -void                gnutls_psk_set_client_credentials_function
    -                                                        (gnutls_psk_client_credentials_t cred,
    -                                                         gnutls_psk_client_credentials_function *func);
    -int                 gnutls_hex_encode                   (const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -int                 gnutls_hex_decode                   (const gnutls_datum_t *hex_data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -void                gnutls_psk_set_server_dh_params     (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    -void                gnutls_psk_set_server_params_function
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -int                 gnutls_psk_netconf_derive_key       (const char *password,
    -                                                         const char *psk_identity,
    -                                                         const char *psk_identity_hint,
    -                                                         gnutls_datum_t *output_key);
    +void                gnutls_psk_free_client_credentials  (gnutls_psk_client_credentials_tsc );
    +int                 gnutls_psk_allocate_client_credentials
    +                                                        (gnutls_psk_client_credentials_t *sc);
    +int                 gnutls_psk_set_client_credentials   (gnutls_psk_client_credentials_t res,
    +                                                         const char *username,
    +                                                         const gnutls_datum_t *key,
    +                                                         gnutls_psk_key_flags format);
    +void                gnutls_psk_free_server_credentials  (gnutls_psk_server_credentials_tsc );
    +int                 gnutls_psk_allocate_server_credentials
    +                                                        (gnutls_psk_server_credentials_t *sc);
    +int                 gnutls_psk_set_server_credentials_file
    +                                                        (gnutls_psk_server_credentials_tres ,
    +                                                         const char *password_file);
    +int                 gnutls_psk_set_server_credentials_hint
    +                                                        (gnutls_psk_server_credentials_t res,
    +                                                         const char *hint);
    +const char*         gnutls_psk_server_get_username      (gnutls_session_t session);
    +const char*         gnutls_psk_client_get_hint          (gnutls_session_t session);
    +void                gnutls_psk_set_server_credentials_function
    +                                                        (gnutls_psk_server_credentials_t cred,
    +                                                         gnutls_psk_server_credentials_function *func);
    +void                gnutls_psk_set_client_credentials_function
    +                                                        (gnutls_psk_client_credentials_t cred,
    +                                                         gnutls_psk_client_credentials_function *func);
    +int                 gnutls_hex_encode                   (const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +int                 gnutls_hex_decode                   (const gnutls_datum_t *hex_data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +void                gnutls_psk_set_server_dh_params     (gnutls_psk_server_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);
    +void                gnutls_psk_set_server_params_function
    +                                                        (gnutls_psk_server_credentials_tres ,
    +                                                         gnutls_params_function *func);
    +int                 gnutls_psk_netconf_derive_key       (const char *password,
    +                                                         const char *psk_identity,
    +                                                         const char *psk_identity_hint,
    +                                                         gnutls_datum_t *output_key);
     enum                gnutls_x509_subject_alt_name_t;
     struct              gnutls_openpgp_crt_int;
     typedef             gnutls_openpgp_crt_t;
     struct              gnutls_openpgp_privkey_int;
     typedef             gnutls_openpgp_privkey_t;
    -gnutls_credentials_type_t  gnutls_auth_get_type         (gnutls_session_t session);
    -gnutls_credentials_type_t  gnutls_auth_server_get_type  (gnutls_session_t session);
    -gnutls_credentials_type_t  gnutls_auth_client_get_type  (gnutls_session_t session);
    -void                gnutls_dh_set_prime_bits            (gnutls_session_t session,
    -                                                         unsigned int bits);
    -int                 gnutls_dh_get_secret_bits           (gnutls_session_t session);
    -int                 gnutls_dh_get_peers_public_bits     (gnutls_session_t session);
    -int                 gnutls_dh_get_prime_bits            (gnutls_session_t session);
    -int                 gnutls_dh_get_group                 (gnutls_session_t session,
    -                                                         gnutls_datum_t *raw_gen,
    -                                                         gnutls_datum_t *raw_prime);
    -int                 gnutls_dh_get_pubkey                (gnutls_session_t session,
    -                                                         gnutls_datum_t *raw_key);
    -int                 gnutls_rsa_export_get_pubkey        (gnutls_session_t session,
    -                                                         gnutls_datum_t *exponent,
    -                                                         gnutls_datum_t *modulus);
    -int                 gnutls_rsa_export_get_modulus_bits  (gnutls_session_t session);
    -int                 (*gnutls_sign_func)                 (gnutls_session_t session,
    -                                                         void *userdata,
    -                                                         gnutls_certificate_type_t cert_type,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    -void                gnutls_sign_callback_set            (gnutls_session_t session,
    -                                                         gnutls_sign_func sign_func,
    -                                                         void *userdata);
    -gnutls_sign_func    gnutls_sign_callback_get            (gnutls_session_t session,
    -                                                         void **userdata);
    -void                gnutls_certificate_client_set_retrieve_function
    -                                                        (gnutls_certificate_credentials_t cred,
    -                                                         gnutls_certificate_client_retrieve_function *func);
    -void                gnutls_certificate_server_set_retrieve_function
    -                                                        (gnutls_certificate_credentials_t cred,
    -                                                         gnutls_certificate_server_retrieve_function *func);
    -void                gnutls_certificate_server_set_request
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_certificate_request_t req);
    -const gnutls_datum_t * gnutls_certificate_get_peers     (gnutls_session_t session,
    -                                                         unsigned int *list_size);
    -const gnutls_datum_t * gnutls_certificate_get_ours      (gnutls_session_t session);
    -time_t              gnutls_certificate_activation_time_peers
    -                                                        (gnutls_session_t session);
    -time_t              gnutls_certificate_expiration_time_peers
    -                                                        (gnutls_session_t session);
    -int                 gnutls_certificate_client_get_request_status
    -                                                        (gnutls_session_t session);
    -int                 gnutls_certificate_verify_peers2    (gnutls_session_t session,
    -                                                         unsigned int *status);
    -int                 gnutls_certificate_verify_peers     (gnutls_session_t session);
    -int                 gnutls_pem_base64_encode            (const char *msg,
    -                                                         const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -int                 gnutls_pem_base64_decode            (const char *header,
    -                                                         const gnutls_datum_t *b64_data,
    -                                                         unsigned char *result,
    -                                                         size_t *result_size);
    -int                 gnutls_pem_base64_encode_alloc      (const char *msg,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_datum_t *result);
    -int                 gnutls_pem_base64_decode_alloc      (const char *header,
    -                                                         const gnutls_datum_t *b64_data,
    -                                                         gnutls_datum_t *result);
    +gnutls_credentials_type_t gnutls_auth_get_type          (gnutls_session_t session);
    +gnutls_credentials_type_t gnutls_auth_server_get_type   (gnutls_session_t session);
    +gnutls_credentials_type_t gnutls_auth_client_get_type   (gnutls_session_t session);
    +void                gnutls_dh_set_prime_bits            (gnutls_session_t session,
    +                                                         unsigned int bits);
    +int                 gnutls_dh_get_secret_bits           (gnutls_session_t session);
    +int                 gnutls_dh_get_peers_public_bits     (gnutls_session_t session);
    +int                 gnutls_dh_get_prime_bits            (gnutls_session_t session);
    +int                 gnutls_dh_get_group                 (gnutls_session_t session,
    +                                                         gnutls_datum_t *raw_gen,
    +                                                         gnutls_datum_t *raw_prime);
    +int                 gnutls_dh_get_pubkey                (gnutls_session_t session,
    +                                                         gnutls_datum_t *raw_key);
    +int                 gnutls_rsa_export_get_pubkey        (gnutls_session_t session,
    +                                                         gnutls_datum_t *exponent,
    +                                                         gnutls_datum_t *modulus);
    +int                 gnutls_rsa_export_get_modulus_bits  (gnutls_session_t session);
    +int                 (*gnutls_sign_func)                 (gnutls_session_t session,
    +                                                         void *userdata,
    +                                                         gnutls_certificate_type_t cert_type,
    +                                                         const gnutls_datum_t *cert,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);
    +void                gnutls_sign_callback_set            (gnutls_session_t session,
    +                                                         gnutls_sign_func sign_func,
    +                                                         void *userdata);
    +gnutls_sign_func    gnutls_sign_callback_get            (gnutls_session_t session,
    +                                                         void **userdata);
    +void                gnutls_certificate_client_set_retrieve_function
    +                                                        (gnutls_certificate_credentials_t cred,
    +                                                         gnutls_certificate_client_retrieve_function *func);
    +void                gnutls_certificate_server_set_retrieve_function
    +                                                        (gnutls_certificate_credentials_t cred,
    +                                                         gnutls_certificate_server_retrieve_function *func);
    +void                gnutls_certificate_server_set_request
    +                                                        (gnutls_session_t session,
    +                                                         gnutls_certificate_request_treq );
    +const gnutls_datum_t* gnutls_certificate_get_peers      (gnutls_session_tsession ,
    +                                                         unsigned int *list_size);
    +const gnutls_datum_t* gnutls_certificate_get_ours       (gnutls_session_tsession );
    +time_t              gnutls_certificate_activation_time_peers
    +                                                        (gnutls_session_t session);
    +time_t              gnutls_certificate_expiration_time_peers
    +                                                        (gnutls_session_t session);
    +int                 gnutls_certificate_client_get_request_status
    +                                                        (gnutls_session_t session);
    +int                 gnutls_certificate_verify_peers2    (gnutls_session_t session,
    +                                                         unsigned int *status);
    +int                 gnutls_certificate_verify_peers     (gnutls_session_t session);
    +int                 gnutls_pem_base64_encode            (const char *msg,
    +                                                         const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +int                 gnutls_pem_base64_decode            (const char *header,
    +                                                         const gnutls_datum_t *b64_data,
    +                                                         unsigned char *result,
    +                                                         size_t *result_size);
    +int                 gnutls_pem_base64_encode_alloc      (const char *msg,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_datum_t *result);
    +int                 gnutls_pem_base64_decode_alloc      (const char *header,
    +                                                         const gnutls_datum_t *b64_data,
    +                                                         gnutls_datum_t *result);
     #define             GNUTLS_KEY_DIGITAL_SIGNATURE
     #define             GNUTLS_KEY_NON_REPUDIATION
     #define             GNUTLS_KEY_KEY_ENCIPHERMENT
    @@ -665,17 +636,17 @@
     #define             GNUTLS_KEY_CRL_SIGN
     #define             GNUTLS_KEY_ENCIPHER_ONLY
     #define             GNUTLS_KEY_DECIPHER_ONLY
    -void                gnutls_certificate_set_params_function
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         gnutls_params_function *func);
    -void                gnutls_anon_set_params_function     (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -void                gnutls_psk_set_params_function      (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -int                 gnutls_hex2bin                      (const char *hex_data,
    -                                                         size_t hex_size,
    -                                                         char *bin_data,
    -                                                         size_t *bin_size);
    +void                gnutls_certificate_set_params_function
    +                                                        (gnutls_certificate_credentials_t res,
    +                                                         gnutls_params_function *func);
    +void                gnutls_anon_set_params_function     (gnutls_anon_server_credentials_t res,
    +                                                         gnutls_params_function *func);
    +void                gnutls_psk_set_params_function      (gnutls_psk_server_credentials_t res,
    +                                                         gnutls_params_function *func);
    +int                 gnutls_hex2bin                      (const char *hex_data,
    +                                                         size_t hex_size,
    +                                                         char *bin_data,
    +                                                         size_t *bin_size);
     #define             GNUTLS_E_SUCCESS
     #define             GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM
     #define             GNUTLS_E_UNKNOWN_CIPHER_TYPE
    @@ -786,94 +757,75 @@
     #define             GNUTLS_E_APPLICATION_ERROR_MIN
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    -

    HAVE_SSIZE_T

    -
    # define HAVE_SSIZE_T
    +
    +

    LIBGNUTLS_VERSION

    +
    #define LIBGNUTLS_VERSION "2.4.1"
     
    -

    -


    -
    -

    GNUTLS_VERSION

    -
    #define GNUTLS_VERSION "2.8.6"
    +
    +

    LIBGNUTLS_VERSION_MAJOR

    +
    #define LIBGNUTLS_VERSION_MAJOR 2
     
    -

    -


    -
    -

    GNUTLS_VERSION_MAJOR

    -
    #define GNUTLS_VERSION_MAJOR 2
    +
    +

    LIBGNUTLS_VERSION_MINOR

    +
    #define LIBGNUTLS_VERSION_MINOR 4
     
    -

    -


    -
    -

    GNUTLS_VERSION_MINOR

    -
    #define GNUTLS_VERSION_MINOR 8
    +
    +

    LIBGNUTLS_VERSION_PATCH

    +
    #define LIBGNUTLS_VERSION_PATCH 1
     
    -

    -


    -
    -

    GNUTLS_VERSION_PATCH

    -
    #define GNUTLS_VERSION_PATCH 6
    +
    +

    LIBGNUTLS_VERSION_NUMBER

    +
    #define LIBGNUTLS_VERSION_NUMBER 0x020401
     
    -

    -


    -
    -

    GNUTLS_VERSION_NUMBER

    -
    #define GNUTLS_VERSION_NUMBER 0x020806
    +
    +

    HAVE_SSIZE_T

    +
    # define HAVE_SSIZE_T
     
    -

    -


    -
    +

    GNUTLS_CIPHER_RIJNDAEL_128_CBC

    #define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC
     
    -

    -


    -
    +

    GNUTLS_CIPHER_RIJNDAEL_256_CBC

    #define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC
     
    -

    -


    -
    +

    GNUTLS_CIPHER_RIJNDAEL_CBC

    #define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC
     
    -

    -


    -
    +

    GNUTLS_CIPHER_ARCFOUR

    #define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128
     
    -

    -


    -
    +

    enum gnutls_cipher_algorithm_t

      typedef enum gnutls_cipher_algorithm
       {
    @@ -887,26 +839,12 @@
         GNUTLS_CIPHER_CAMELLIA_128_CBC,
         GNUTLS_CIPHER_CAMELLIA_256_CBC,
         GNUTLS_CIPHER_RC2_40_CBC = 90,
    -    GNUTLS_CIPHER_DES_CBC,
    -
    -    /* used only for PGP internals. Ignored in TLS/SSL 
    -     */
    -    GNUTLS_CIPHER_IDEA_PGP_CFB = 200,
    -    GNUTLS_CIPHER_3DES_PGP_CFB,
    -    GNUTLS_CIPHER_CAST5_PGP_CFB,
    -    GNUTLS_CIPHER_BLOWFISH_PGP_CFB,
    -    GNUTLS_CIPHER_SAFER_SK128_PGP_CFB,
    -    GNUTLS_CIPHER_AES128_PGP_CFB,
    -    GNUTLS_CIPHER_AES192_PGP_CFB,
    -    GNUTLS_CIPHER_AES256_PGP_CFB,
    -    GNUTLS_CIPHER_TWOFISH_PGP_CFB
    +    GNUTLS_CIPHER_DES_CBC
       } gnutls_cipher_algorithm_t;
     
    -

    -


    -
    +

    enum gnutls_kx_algorithm_t

      typedef enum
       {
    @@ -923,11 +861,9 @@
         GNUTLS_KX_DHE_PSK
       } gnutls_kx_algorithm_t;
     
    -

    -


    -
    +

    enum gnutls_params_type_t

      typedef enum
       {
    @@ -935,11 +871,9 @@
         GNUTLS_PARAMS_DH
       } gnutls_params_type_t;
     
    -

    -


    -
    +

    enum gnutls_credentials_type_t

      typedef enum
       {
    @@ -950,27 +884,21 @@
         GNUTLS_CRD_IA
       } gnutls_credentials_type_t;
     
    -

    -


    -
    +

    GNUTLS_MAC_SHA

    #define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1
     
    -

    -


    -
    +

    GNUTLS_DIG_SHA

    #define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1
     
    -

    -


    -
    +

    enum gnutls_mac_algorithm_t

      typedef enum
       {
    @@ -987,11 +915,9 @@
            gnutls_digest_algorithm_t, in particular SHA-224. */
       } gnutls_mac_algorithm_t;
     
    -

    -


    -
    +

    enum gnutls_digest_algorithm_t

      typedef enum
       {
    @@ -1006,27 +932,21 @@
         GNUTLS_DIG_SHA224
       } gnutls_digest_algorithm_t;
     
    -

    -


    -
    +

    GNUTLS_MAX_ALGORITHM_NUM

    #define GNUTLS_MAX_ALGORITHM_NUM 16
     
    -

    -


    -
    +

    GNUTLS_COMP_ZLIB

    #define GNUTLS_COMP_ZLIB GNUTLS_COMP_DEFLATE
     
    -

    -


    -
    +

    enum gnutls_compression_method_t

      typedef enum
       {
    @@ -1038,11 +958,9 @@
     				 */
       } gnutls_compression_method_t;
     
    -

    -


    -
    +

    enum gnutls_connection_end_t

      typedef enum
       {
    @@ -1050,11 +968,9 @@
         GNUTLS_CLIENT
       } gnutls_connection_end_t;
     
    -

    -


    -
    +

    enum gnutls_alert_level_t

      typedef enum
       {
    @@ -1062,11 +978,9 @@
         GNUTLS_AL_FATAL
       } gnutls_alert_level_t;
     
    -

    -


    -
    +

    enum gnutls_alert_description_t

      typedef enum
       {
    @@ -1102,11 +1016,9 @@
         GNUTLS_A_INNER_APPLICATION_VERIFICATION = 209
       } gnutls_alert_description_t;
     
    -

    -


    -
    +

    enum gnutls_handshake_description_t

      typedef enum
       { GNUTLS_HANDSHAKE_HELLO_REQUEST = 0,
    @@ -1122,18 +1034,16 @@
         GNUTLS_HANDSHAKE_SUPPLEMENTAL = 23
       } gnutls_handshake_description_t;
     
    -

    -


    -
    +

    enum gnutls_certificate_status_t

      typedef enum
       {
    -    GNUTLS_CERT_INVALID = 2, /* will be set if the certificate
    +    GNUTLS_CERT_INVALID = 2,	/* will be set if the certificate
     				 * was not verified.
     				 */
    -    GNUTLS_CERT_REVOKED = 32, /* in X.509 this will be set only if CRLs are checked
    +    GNUTLS_CERT_REVOKED = 32,	/* in X.509 this will be set only if CRLs are checked
     				 */
     
         /* Those are extra information about the verification
    @@ -1142,20 +1052,12 @@
          */
         GNUTLS_CERT_SIGNER_NOT_FOUND = 64,
         GNUTLS_CERT_SIGNER_NOT_CA = 128,
    -    GNUTLS_CERT_INSECURE_ALGORITHM = 256,
    -
    -    /* Time verification.
    -     */
    -    GNUTLS_CERT_NOT_ACTIVATED = 512,
    -    GNUTLS_CERT_EXPIRED = 1024
    -
    +    GNUTLS_CERT_INSECURE_ALGORITHM = 256
       } gnutls_certificate_status_t;
     
    -

    -


    -
    +

    enum gnutls_certificate_request_t

      typedef enum
       {
    @@ -1164,22 +1066,18 @@
         GNUTLS_CERT_REQUIRE
       } gnutls_certificate_request_t;
     
    -

    -


    -
    +

    enum gnutls_openpgp_crt_status_t

      typedef enum
       { GNUTLS_OPENPGP_CERT,
         GNUTLS_OPENPGP_CERT_FINGERPRINT
       } gnutls_openpgp_crt_status_t;
     
    -

    -


    -
    +

    enum gnutls_close_request_t

      typedef enum
       {
    @@ -1187,19 +1085,15 @@
         GNUTLS_SHUT_WR = 1
       } gnutls_close_request_t;
     
    -

    -


    -
    +

    GNUTLS_TLS1

    #define GNUTLS_TLS1 GNUTLS_TLS1_0
     
    -

    -


    -
    +

    enum gnutls_protocol_t

      typedef enum
       {
    @@ -1210,11 +1104,9 @@
         GNUTLS_VERSION_UNKNOWN = 0xff
       } gnutls_protocol_t;
     
    -

    -


    -
    +

    enum gnutls_certificate_type_t

      typedef enum
       {
    @@ -1223,11 +1115,9 @@
         GNUTLS_CRT_OPENPGP
       } gnutls_certificate_type_t;
     
    -

    -


    -
    +

    enum gnutls_x509_crt_fmt_t

      typedef enum
       {
    @@ -1235,24 +1125,20 @@
         GNUTLS_X509_FMT_PEM
       } gnutls_x509_crt_fmt_t;
     
    -

    -


    -
    +

    enum gnutls_certificate_print_formats_t

      typedef enum gnutls_certificate_print_formats
         {
           GNUTLS_CRT_PRINT_FULL,
           GNUTLS_CRT_PRINT_ONELINE,
    -      GNUTLS_CRT_PRINT_UNSIGNED_FULL
    +      GNUTLS_CRT_PRINT_UNSIGNED_FULL,
         } gnutls_certificate_print_formats_t;
     
    -

    -


    -
    +

    enum gnutls_pk_algorithm_t

      typedef enum
       {
    @@ -1261,49 +1147,44 @@
         GNUTLS_PK_DSA
       } gnutls_pk_algorithm_t;
     
    -

    -


    -
    +

    gnutls_pk_algorithm_get_name ()

    -
    const char *        gnutls_pk_algorithm_get_name        (gnutls_pk_algorithm_t algorithm);
    +
    const char*         gnutls_pk_algorithm_get_name        (gnutls_pk_algorithm_t algorithm);

    -

    +Convert a gnutls_pk_algorithm_t value to a string.

    - -

    algorithm :

    + is a pk algorithm

    Returns :

    + a string that contains the name of the specified public + key algorithm, or NULL.

    -
    +

    GNUTLS_SIGN_RSA_SHA

    #define GNUTLS_SIGN_RSA_SHA GNUTLS_SIGN_RSA_SHA1
     
    -

    -


    -
    +

    GNUTLS_SIGN_DSA_SHA

    #define GNUTLS_SIGN_DSA_SHA GNUTLS_SIGN_DSA_SHA1
     
    -

    -


    -
    +

    enum gnutls_sign_algorithm_t

      typedef enum
       {
    @@ -1319,972 +1200,979 @@
         GNUTLS_SIGN_RSA_SHA224
       } gnutls_sign_algorithm_t;
     
    -

    -


    -
    +

    gnutls_sign_algorithm_get_name ()

    -
    const char *        gnutls_sign_algorithm_get_name      (gnutls_sign_algorithm_t sign);
    +
    const char*         gnutls_sign_algorithm_get_name      (gnutls_sign_algorithm_talgorithm );

    -

    +Convert a gnutls_sign_algorithm_t value to a string.

    - - + -

    sign :

    +

    algorithm :

    is a sign algorithm

    Returns :

    + a string that contains the name of the specified sign + algorithm, or NULL.

    -
    +

    gnutls_transport_ptr_t

      typedef void *gnutls_transport_ptr_t;
     
    -

    -


    -
    +

    struct gnutls_session_int

    struct gnutls_session_int;
    -

    -


    -
    +

    gnutls_session_t

      typedef struct gnutls_session_int *gnutls_session_t;
     
    -

    -


    -
    +

    struct gnutls_dh_params_int

    struct gnutls_dh_params_int;
    -

    -


    -
    +

    gnutls_dh_params_t

      typedef struct gnutls_dh_params_int *gnutls_dh_params_t;
     
    -

    -


    -
    +

    struct gnutls_x509_privkey_int

    struct gnutls_x509_privkey_int;
    -

    -


    -
    +

    gnutls_rsa_params_t

      typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t;
     
    -

    -


    -
    +

    struct gnutls_priority_st

    struct gnutls_priority_st;
    -

    -


    -
    +

    gnutls_priority_t

      typedef struct gnutls_priority_st *gnutls_priority_t;
     
    -

    -


    -
    +

    gnutls_init ()

    -
    int                 gnutls_init                         (gnutls_session_t *session,
    -                                                         gnutls_connection_end_t con_end);
    +
    int                 gnutls_init                         (gnutls_session_t *session,
    +                                                         gnutls_connection_end_t con_end);

    +This function initializes the current session to null. Every +session must be initialized before use, so internal structures can +be allocated. This function allocates structures which can only +be free'd by calling gnutls_deinit(). Returns zero on success.

    +

    +con_end can be one of GNUTLS_CLIENT and GNUTLS_SERVER.

    - - + - - + -

    session :

    +

    con_end :

    indicate if this session is to be used for server or client.

    con_end :

    +

    session :

    is a pointer to a gnutls_session_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_deinit ()

    -
    void                gnutls_deinit                       (gnutls_session_t session);
    +
    void                gnutls_deinit                       (gnutls_session_t session);

    -

    +This function clears all buffers associated with the session. +This function will also remove session data from the session +database if the session was terminated abnormally.

    -

    session :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_bye ()

    -
    int                 gnutls_bye                          (gnutls_session_t session,
    -                                                         gnutls_close_request_t how);
    +
    int                 gnutls_bye                          (gnutls_session_t session,
    +                                                         gnutls_close_request_t how);
    +

    +Terminates the current TLS/SSL connection. The connection should +have been initiated using gnutls_handshake(). how should be one +of GNUTLS_SHUT_RDWR, GNUTLS_SHUT_WR. +

    +

    +In case of GNUTLS_SHUT_RDWR then the TLS connection gets +terminated and further receives and sends will be disallowed. If +the return value is zero you may continue using the connection. +GNUTLS_SHUT_RDWR actually sends an alert containing a close +request and waits for the peer to reply with the same message. +

    +

    +In case of GNUTLS_SHUT_WR then the TLS connection gets terminated +and further sends will be disallowed. In order to reuse the +connection you should wait for an EOF from the peer. +GNUTLS_SHUT_WR sends an alert containing a close request. +

    +Note that not all implementations will properly terminate a TLS +connection. Some of them, usually for performance reasons, will +terminate only the underlying transport layer, thus causing a +transmission error to the peer. This error cannot be +distinguished from a malicious party prematurely terminating the +session, thus this behavior is not recommended.

    +

    +This function may also return GNUTLS_E_AGAIN or +GNUTLS_E_INTERRUPTED; cf. gnutls_record_get_direction().

    - - -

    session :

    + is a gnutls_session_t structure.

    how :

    + is an integer

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code, see + function documentation for entire semantics.

    -
    +

    gnutls_handshake ()

    -
    int                 gnutls_handshake                    (gnutls_session_t session);
    +
    int                 gnutls_handshake                    (gnutls_session_t session);

    +This function does the handshake of the TLS/SSL protocol, and +initializes the TLS connection.

    +

    +This function will fail if any problem is encountered, and will +return a negative error code. In case of a client, if the client +has asked to resume a session, but the server couldn't, then a +full handshake will be performed. +

    +

    +The non-fatal errors such as GNUTLS_E_AGAIN and +GNUTLS_E_INTERRUPTED interrupt the handshake procedure, which +should be later be resumed. Call this function again, until it +returns 0; cf. gnutls_record_get_direction() and +gnutls_error_is_fatal(). +

    +

    +If this function is called by a server after a rehandshake request +then GNUTLS_E_GOT_APPLICATION_DATA or +GNUTLS_E_WARNING_ALERT_RECEIVED may be returned. Note that these +are non fatal errors, only in the specific case of a rehandshake. +Their meaning is that the client rejected the rehandshake request.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +

    -
    +

    gnutls_rehandshake ()

    -
    int                 gnutls_rehandshake                  (gnutls_session_t session);
    +
    int                 gnutls_rehandshake                  (gnutls_session_t session);
    +

    +This function will renegotiate security parameters with the +client. This should only be called in case of a server. +

    +This message informs the peer that we want to renegotiate +parameters (perform a handshake).

    +

    +If this function succeeds (returns 0), you must call the +gnutls_handshake() function in order to negotiate the new +parameters. +

    +

    +If the client does not wish to renegotiate parameters he will +should with an alert message, thus the return code will be +GNUTLS_E_WARNING_ALERT_RECEIVED and the alert will be +GNUTLS_A_NO_RENEGOTIATION. A client may also choose to ignore +this message.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +

    -
    +

    gnutls_alert_get ()

    -
    gnutls_alert_description_t  gnutls_alert_get            (gnutls_session_t session);
    +
    gnutls_alert_description_t gnutls_alert_get             (gnutls_session_t session);

    +This function will return the last alert number received. This +function should be called if GNUTLS_E_WARNING_ALERT_RECEIVED or +GNUTLS_E_FATAL_ALERT_RECEIVED has been returned by a gnutls +function. The peer may send alerts if he thinks some things were +not right. Check gnutls.h for the available alert descriptions.

    +

    +If no alert has been received the returned value is undefined.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + returns the last alert received, a + gnutls_alert_description_t value.

    -
    +

    gnutls_alert_send ()

    -
    int                 gnutls_alert_send                   (gnutls_session_t session,
    -                                                         gnutls_alert_level_t level,
    -                                                         gnutls_alert_description_t desc);
    +
    int                 gnutls_alert_send                   (gnutls_session_t session,
    +                                                         gnutls_alert_level_t level,
    +                                                         gnutls_alert_description_t desc);

    +This function will send an alert to the peer in order to inform +him of something important (eg. his Certificate could not be verified). +If the alert level is Fatal then the peer is expected to close the +connection, otherwise he may ignore the alert and continue.

    +

    +The error code of the underlying record send function will be +returned, so you may also receive GNUTLS_E_INTERRUPTED or +GNUTLS_E_AGAIN as well.

    - - - -

    session :

    + is a gnutls_session_t structure.

    level :

    + is the level of the alert

    desc :

    + is the alert description

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_alert_send_appropriate ()

    -
    int                 gnutls_alert_send_appropriate       (gnutls_session_t session,
    -                                                         int err);
    +
    int                 gnutls_alert_send_appropriate       (gnutls_session_t session,
    +                                                         int err);
    +

    +Sends an alert to the peer depending on the error code returned by +a gnutls function. This function will call gnutls_error_to_alert() +to determine the appropriate alert to send. +

    +This function may also return GNUTLS_E_AGAIN, or +GNUTLS_E_INTERRUPTED.

    +

    +If the return value is GNUTLS_E_INVALID_REQUEST, then no alert has +been sent to the peer.

    - - -

    session :

    + is a gnutls_session_t structure.

    err :

    + is an integer

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_alert_get_name ()

    -
    const char *        gnutls_alert_get_name               (gnutls_alert_description_t alert);
    +
    const char*         gnutls_alert_get_name               (gnutls_alert_description_t alert);

    -

    +This function will return a string that describes the given alert +number, or NULL. See gnutls_alert_get().

    - -

    alert :

    + is an alert number gnutls_session_t structure.

    Returns :

    + string corresponding to gnutls_alert_description_t value.

    -
    +

    gnutls_cipher_get ()

    -
    gnutls_cipher_algorithm_t  gnutls_cipher_get            (gnutls_session_t session);
    +
    gnutls_cipher_algorithm_t gnutls_cipher_get             (gnutls_session_t session);

    -

    +Get currently used cipher.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the currently used cipher, an gnutls_cipher_algorithm_t + type.

    -
    +

    gnutls_kx_get ()

    -
    gnutls_kx_algorithm_t  gnutls_kx_get                    (gnutls_session_t session);
    +
    gnutls_kx_algorithm_t gnutls_kx_get                     (gnutls_session_t session);

    -

    +Get currently used key exchange algorithm.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the key exchange algorithm used in the last handshake, a + gnutls_kx_algorithm_t value.

    -
    +

    gnutls_mac_get ()

    -
    gnutls_mac_algorithm_t  gnutls_mac_get                  (gnutls_session_t session);
    +
    gnutls_mac_algorithm_t gnutls_mac_get                   (gnutls_session_t session);

    -

    +Get currently used MAC algorithm.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the currently used mac algorithm, a + gnutls_mac_algorithm_t value.

    -
    +

    gnutls_compression_get ()

    -
    gnutls_compression_method_t  gnutls_compression_get     (gnutls_session_t session);
    +
    gnutls_compression_method_t gnutls_compression_get      (gnutls_session_tsession );

    -

    +Get currently used compression algorithm.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the currently used compression method, a + gnutls_compression_method_t value.

    -
    +

    gnutls_certificate_type_get ()

    -
    gnutls_certificate_type_t  gnutls_certificate_type_get  (gnutls_session_t session);
    +
    gnutls_certificate_type_t gnutls_certificate_type_get   (gnutls_session_tsession );

    -

    +The certificate type is by default X.509, unless it is negotiated +as a TLS extension.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the currently used gnutls_certificate_type_t certificate + type.

    -
    +

    gnutls_cipher_get_key_size ()

    -
    size_t              gnutls_cipher_get_key_size          (gnutls_cipher_algorithm_t algorithm);
    +
    size_t              gnutls_cipher_get_key_size          (gnutls_cipher_algorithm_t algorithm);

    -

    +Get key size for cipher.

    - -

    algorithm :

    + is an encryption algorithm

    Returns :

    + length (in bytes) of the given cipher's key size, or 0 if + the given cipher is invalid.

    -
    +

    gnutls_mac_get_key_size ()

    -
    size_t              gnutls_mac_get_key_size             (gnutls_mac_algorithm_t algorithm);
    +
    size_t              gnutls_mac_get_key_size             (gnutls_mac_algorithm_t algorithm);

    -

    +Get size of MAC key.

    - -

    algorithm :

    + is an encryption algorithm

    Returns :

    + length (in bytes) of the given MAC key size, or 0 if the + given MAC algorithm is invalid.

    -
    +

    gnutls_cipher_get_name ()

    -
    const char *        gnutls_cipher_get_name              (gnutls_cipher_algorithm_t algorithm);
    +
    const char*         gnutls_cipher_get_name              (gnutls_cipher_algorithm_t algorithm);

    -

    +Convert a gnutls_cipher_algorithm_t type to a string.

    - -

    algorithm :

    + is an encryption algorithm

    Returns :

    + a pointer to a string that contains the name of the + specified cipher, or NULL.

    -
    +

    gnutls_mac_get_name ()

    -
    const char *        gnutls_mac_get_name                 (gnutls_mac_algorithm_t algorithm);
    +
    const char*         gnutls_mac_get_name                 (gnutls_mac_algorithm_t algorithm);

    -

    +Convert a gnutls_mac_algorithm_t value to a string.

    - -

    algorithm :

    + is a MAC algorithm

    Returns :

    + a string that contains the name of the specified MAC + algorithm, or NULL.

    -
    +

    gnutls_compression_get_name ()

    -
    const char *        gnutls_compression_get_name         (gnutls_compression_method_t algorithm);
    +
    const char*         gnutls_compression_get_name         (gnutls_compression_method_talgorithm );

    -

    +Convert a gnutls_compression_method_t value to a string.

    - -

    algorithm :

    + is a Compression algorithm

    Returns :

    + a pointer to a string that contains the name of the + specified compression algorithm, or NULL.

    -
    +

    gnutls_kx_get_name ()

    -
    const char *        gnutls_kx_get_name                  (gnutls_kx_algorithm_t algorithm);
    +
    const char*         gnutls_kx_get_name                  (gnutls_kx_algorithm_t algorithm);

    -

    +Convert a gnutls_kx_algorithm_t value to a string.

    - -

    algorithm :

    + is a key exchange algorithm

    Returns :

    + a pointer to a string that contains the name of the + specified key exchange algorithm, or NULL.

    -
    +

    gnutls_certificate_type_get_name ()

    -
    const char *        gnutls_certificate_type_get_name    (gnutls_certificate_type_t type);
    +
    const char*         gnutls_certificate_type_get_name    (gnutls_certificate_type_ttype );

    -

    +Convert a gnutls_certificate_type_t type to a string.

    - - - - - - - -

    type :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pk_get_name ()

    -
    const char *        gnutls_pk_get_name                  (gnutls_pk_algorithm_t algorithm);
    -

    -

    -
    -- - - - - - - - - - -

    algorithm :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_sign_get_name ()

    -
    const char *        gnutls_sign_get_name                (gnutls_sign_algorithm_t algorithm);
    -

    -

    -
    -- - - - -

    algorithm :

    + is a certificate type

    Returns :

    + a string that contains the name of the specified + certificate type, or NULL in case of unknown types.

    -
    +

    gnutls_mac_get_id ()

    -
    gnutls_mac_algorithm_t  gnutls_mac_get_id               (const char *name);
    +
    gnutls_mac_algorithm_t gnutls_mac_get_id                (const char *name);

    -

    +Convert a string to a gnutls_mac_algorithm_t value. The names are +compared in a case insensitive way.

    - - + -

    name :

    +

    algorithm :

    is a MAC algorithm name

    Returns :

    + an gnutls_mac_algorithm_tid of the specified in a string + MAC algorithm, or GNUTLS_MAC_UNKNOWN on failures.

    -
    +

    gnutls_compression_get_id ()

    -
    gnutls_compression_method_t  gnutls_compression_get_id  (const char *name);
    +
    gnutls_compression_method_t gnutls_compression_get_id   (const char *name);

    -

    +The names are compared in a case insensitive way.

    - - + -

    name :

    +

    algorithm :

    is a compression method name

    Returns :

    + an id of the specified in a string compression method, or + GNUTLS_COMP_UNKNOWN on error.

    -
    +

    gnutls_cipher_get_id ()

    -
    gnutls_cipher_algorithm_t  gnutls_cipher_get_id         (const char *name);
    +
    gnutls_cipher_algorithm_t gnutls_cipher_get_id          (const char *name);

    -

    +The names are compared in a case insensitive way.

    - - + -

    name :

    +

    algorithm :

    is a MAC algorithm name

    Returns :

    + return a gnutls_cipher_algorithm_t value corresponding to + the specified cipher, or GNUTLS_CIPHER_UNKNOWN on error.

    -
    +

    gnutls_kx_get_id ()

    -
    gnutls_kx_algorithm_t  gnutls_kx_get_id                 (const char *name);
    +
    gnutls_kx_algorithm_t gnutls_kx_get_id                  (const char *name);

    -

    +Convert a string to a gnutls_kx_algorithm_t value. The names are +compared in a case insensitive way.

    - - + -

    name :

    +

    algorithm :

    is a KX name

    Returns :

    + an id of the specified KX algorithm, or GNUTLS_KX_UNKNOWN + on error.

    -
    +

    gnutls_protocol_get_id ()

    -
    gnutls_protocol_t   gnutls_protocol_get_id              (const char *name);
    +
    gnutls_protocol_t   gnutls_protocol_get_id              (const char *name);

    -

    +The names are compared in a case insensitive way.

    - - + -

    name :

    +

    algorithm :

    is a protocol name

    Returns :

    + an id of the specified protocol, or +GNUTLS_VERSION_UNKNOWN on error.

    -
    +

    gnutls_certificate_type_get_id ()

    -
    gnutls_certificate_type_t  gnutls_certificate_type_get_id
    -                                                        (const char *name);
    -

    -

    -
    -- - - - - - - - - - -

    name :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pk_get_id ()

    -
    gnutls_pk_algorithm_t  gnutls_pk_get_id                 (const char *name);
    -

    -

    -
    -- - - - - - - - - - -

    name :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_sign_get_id ()

    -
    gnutls_sign_algorithm_t  gnutls_sign_get_id             (const char *name);
    +
    gnutls_certificate_type_t gnutls_certificate_type_get_id
    +                                                        (const char *name);

    -

    +The names are compared in a case insensitive way.

    - -

    name :

    + is a certificate type name

    Returns :

    + an id of the specified in a string certificate type, or +GNUTLS_CRT_UNKNOWN on error.

    -
    +

    gnutls_cipher_list ()

    -
    const gnutls_cipher_algorithm_t * gnutls_cipher_list    (void);
    +
    const gnutls_cipher_algorithm_t* gnutls_cipher_list     (void);

    -

    +Get a list of supported cipher algorithms. Note that not +necessarily all ciphers are supported as TLS cipher suites. For +example, DES is not supported as a cipher suite, but is supported +for other purposes (e.g., PKCS8 or similar).

    -

    Returns :

    + a zero-terminated list of gnutls_cipher_algorithm_t + integers indicating the available ciphers. +

    -
    +

    gnutls_mac_list ()

    -
    const gnutls_mac_algorithm_t * gnutls_mac_list          (void);
    +
    const gnutls_mac_algorithm_t* gnutls_mac_list           (void);

    -

    +Get a list of hash algorithms for use as MACs. Note that not +necessarily all MACs are supported in TLS cipher suites. For +example, MD2 is not supported as a cipher suite, but is supported +for other purposes (e.g., X.509 signature verification or similar).

    -

    Returns :

    + Return a zero-terminated list of gnutls_mac_algorithm_t + integers indicating the available MACs.

    -
    +

    gnutls_compression_list ()

    -
    const gnutls_compression_method_t * gnutls_compression_list
    -                                                        (void);
    +
    const gnutls_compression_method_t* gnutls_compression_list
    +                                                        (void);

    -

    +Get a list of compression methods. Note that to be able to use LZO +compression, you must link to libgnutls-extra and call +gnutls_global_init_extra().

    -

    Returns :

    + a zero-terminated list of gnutls_compression_method_t + integers indicating the available compression methods.

    -
    +

    gnutls_protocol_list ()

    -
    const gnutls_protocol_t * gnutls_protocol_list          (void);
    +
    const gnutls_protocol_t* gnutls_protocol_list           (void);

    -

    +Get a list of supported protocols, e.g. SSL 3.0, TLS 1.0 etc.

    -

    Returns :

    + a zero-terminated list of gnutls_protocol_t integers +indicating the available protocols. +

    -
    +

    gnutls_certificate_type_list ()

    -
    const gnutls_certificate_type_t * gnutls_certificate_type_list
    -                                                        (void);
    +
    const gnutls_certificate_type_t* gnutls_certificate_type_list
    +                                                        (void);

    -

    +Get a list of certificate types. Note that to be able to use +OpenPGP certificates, you must link to libgnutls-extra and call +gnutls_global_init_extra().

    -

    Returns :

    + a zero-terminated list of gnutls_certificate_type_t + integers indicating the available certificate types.

    -
    +

    gnutls_kx_list ()

    -
    const gnutls_kx_algorithm_t * gnutls_kx_list            (void);
    +
    const gnutls_kx_algorithm_t* gnutls_kx_list             (void);

    -

    +Get a list of supported key exchange algorithms.

    -

    Returns :

    + a zero-terminated list of gnutls_kx_algorithm_t integers +indicating the available key exchange algorithms.

    -
    -

    gnutls_pk_list ()

    -
    const gnutls_pk_algorithm_t * gnutls_pk_list            (void);
    +
    +

    gnutls_cipher_suite_info ()

    +
    const char*         gnutls_cipher_suite_info            (size_t i,
    +                                                         char *id,
    +                                                         gnutls_kx_algorithm_t *kx,
    +                                                         gnutls_cipher_algorithm_t *cipher,
    +                                                         gnutls_mac_algorithm_t *mac,
    +                                                         gnutls_protocol_t *version);

    -

    +Get information about supported cipher suites. Use the function +iteratively to get information about all supported cipher suites. +Call with idx=0 to get information about first cipher suite, then +idx=1 and so on until the function returns NULL.

    - - - - -

    Returns :

    -
    -
    -
    -
    -

    gnutls_sign_list ()

    -
    const gnutls_sign_algorithm_t * gnutls_sign_list        (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    -
    -
    -
    -

    gnutls_cipher_suite_info ()

    -
    const char *        gnutls_cipher_suite_info            (size_t idx,
    -                                                         char *cs_id,
    -                                                         gnutls_kx_algorithm_t *kx,
    -                                                         gnutls_cipher_algorithm_t *cipher,
    -                                                         gnutls_mac_algorithm_t *mac,
    -                                                         gnutls_protocol_t *version);
    -

    -Get information about supported cipher suites. Use the function -iteratively to get information about all supported cipher suites. -Call with idx=0 to get information about first cipher suite, then -idx=1 and so on until the function returns NULL.

    -
    -- - - - + + + - - - - - @@ -2298,2619 +2186,2761 @@

    idx :

    index of cipher suite to get information about, starts on 0. +

    idx :

    index of cipher suite to get information about, starts on 0.

    cs_id :

    output buffer with room for 2 bytes, indicating cipher suite value + output buffer with room for 2 bytes, indicating cipher suite value

    kx :

    output variable indicating key exchange algorithm, or NULL. + output variable indicating key exchange algorithm, or NULL.

    cipher :

    output variable indicating cipher, or NULL. + output variable indicating cipher, or NULL.

    mac :

    output variable indicating MAC algorithm, or NULL. + output variable indicating MAC algorithm, or NULL.

    version :

    output variable indicating TLS protocol version, or NULL. + output variable indicating TLS protocol version, or NULL.

    -
    +

    gnutls_error_is_fatal ()

    -
    int                 gnutls_error_is_fatal               (int error);
    +
    int                 gnutls_error_is_fatal               (int error);

    +If a function returns a negative value you may feed that value +to this function to see if it is fatal. Returns 1 for a fatal +error 0 otherwise. However you may want to check the +error code manually, since some non-fatal errors to the protocol +may be fatal for you (your program).

    +

    +This is only useful if you are dealing with errors from the +record layer or the handshake layer. +

    +

    +For positive error values, 0 is returned.

    - - + - - - - - - - +

    error :

    -

    Returns :

    + is an error returned by a gnutls function. Error should be a negative value.

    -
    +

    gnutls_error_to_alert ()

    -
    int                 gnutls_error_to_alert               (int err,
    -                                                         int *level);
    +
    int                 gnutls_error_to_alert               (int err,
    +                                                         int *level);

    +Get an alert depending on the error code returned by a gnutls +function. All alerts sent by this function should be considered +fatal. The only exception is when err is GNUTLS_E_REHANDSHAKE, +where a warning alert should be sent to the peer indicating that no +renegotiation will be performed.

    +

    +If there is no mapping to a valid alert the alert to indicate +internal error is returned.

    - - -

    err :

    + is a negative integer

    level :

    + the alert level will be stored there

    Returns :

    + the alert code to use for a particular error code.

    -
    +

    gnutls_perror ()

    -
    void                gnutls_perror                       (int error);
    +
    void                gnutls_perror                       (int error);

    -

    +This function is like perror(). The only difference is that it accepts an +error number returned by a gnutls function.

    -

    error :

    + is an error returned by a gnutls function. Error is always a negative value.

    -
    +

    gnutls_strerror ()

    -
    const char *        gnutls_strerror                     (int error);
    -

    -

    -
    -- - - - - - - - - - -

    error :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_strerror_name ()

    -
    const char *        gnutls_strerror_name                (int error);
    +
    const char*         gnutls_strerror                     (int error);

    -Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE".

    +This function is similar to strerror(). Differences: it accepts an error +number returned by a gnutls function; In case of an unknown error +a descriptive string is sent instead of NULL.

    - - + - - - - - - - +

    error :

    is an error returned by a gnutls function. -

    Returns :

    A string corresponding to the symbol name of the error -code. - + is an error returned by a gnutls function. Error is always a negative value.
    -

    Since 2.6.0


    -
    +

    gnutls_handshake_set_private_extensions ()

    -
    void                gnutls_handshake_set_private_extensions
    -                                                        (gnutls_session_t session,
    -                                                         int allow);
    +
    void                gnutls_handshake_set_private_extensions
    +                                                        (gnutls_session_t session,
    +                                                         int allow);
    +

    +This function will enable or disable the use of private cipher +suites (the ones that start with 0xFF). By default or if allow +is 0 then these cipher suites will not be advertized nor used. +

    +Unless this function is called with the option to allow (1), then +no compression algorithms, like LZO. That is because these +algorithms are not yet defined in any RFC or even internet draft.

    +

    +Enabling the private ciphersuites when talking to other than +gnutls servers and clients may cause interoperability problems.

    - -

    session :

    + is a gnutls_session_t structure.

    allow :

    + is an integer (0 or 1)

    -
    +

    gnutls_handshake_get_last_out ()

    -
    gnutls_handshake_description_t  gnutls_handshake_get_last_out
    -                                                        (gnutls_session_t session);
    +
    gnutls_handshake_description_t gnutls_handshake_get_last_out
    +                                                        (gnutls_session_t session);

    +This function is only useful to check where the last performed +handshake failed. If the previous handshake succeed or was not +performed at all then no meaningful value will be returned.

    +

    +Check gnutls_handshake_description_t in gnutls.h for the +available handshake descriptions.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the last handshake message type sent, a +gnutls_handshake_description_t.

    -
    +

    gnutls_handshake_get_last_in ()

    -
    gnutls_handshake_description_t  gnutls_handshake_get_last_in
    -                                                        (gnutls_session_t session);
    +
    gnutls_handshake_description_t gnutls_handshake_get_last_in
    +                                                        (gnutls_session_t session);

    +This function is only useful to check where the last performed +handshake failed. If the previous handshake succeed or was not +performed at all then no meaningful value will be returned.

    +

    +Check gnutls_handshake_description_t in gnutls.h for the +available handshake descriptions.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the last handshake message type received, a +gnutls_handshake_description_t.

    -
    +

    gnutls_record_send ()

    -
    ssize_t             gnutls_record_send                  (gnutls_session_t session,
    -                                                         const void *data,
    -                                                         size_t sizeofdata);
    +
    ssize_t             gnutls_record_send                  (gnutls_session_t session,
    +                                                         const void *data,
    +                                                         size_t sizeofdata);

    +This function has the similar semantics with send(). The only +difference is that is accepts a GNUTLS session, and uses different +error codes.

    +

    +Note that if the send buffer is full, send() will block this +function. See the send() documentation for full information. You +can replace the default push function by using +gnutls_transport_set_ptr2() with a call to send() with a +MSG_DONTWAIT flag if blocking is a problem. +

    +

    +If the EINTR is returned by the internal push function (the +default is send()} then GNUTLS_E_INTERRUPTED will be returned. If +GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must +call this function again, with the same parameters; alternatively +you could provide a NULL pointer for data, and 0 for +size. cf. gnutls_record_get_direction().

    - - - -

    session :

    + is a gnutls_session_t structure.

    data :

    + contains the data to send

    sizeofdata :

    + is the length of the data

    Returns :

    + the number of bytes sent, or a negative error code. The +number of bytes sent might be less than sizeofdata. The maximum +number of bytes this function can send in a single call depends on +the negotiated maximum record size.

    -
    +

    gnutls_record_recv ()

    -
    ssize_t             gnutls_record_recv                  (gnutls_session_t session,
    -                                                         void *data,
    -                                                         size_t sizeofdata);
    +
    ssize_t             gnutls_record_recv                  (gnutls_session_t session,
    +                                                         void *data,
    +                                                         size_t sizeofdata);
    +

    +This function has the similar semantics with recv(). The only +difference is that is accepts a GNUTLS session, and uses different +error codes. +

    +

    +In the special case that a server requests a renegotiation, the +client may receive an error code of GNUTLS_E_REHANDSHAKE. This +message may be simply ignored, replied with an alert containing +NO_RENEGOTIATION, or replied with a new handshake, depending on +the client's will. +

    +If EINTR is returned by the internal push function (the default +is recv()) then GNUTLS_E_INTERRUPTED will be returned. If +GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must +call this function again to get the data. See also +gnutls_record_get_direction().

    +

    +A server may also receive GNUTLS_E_REHANDSHAKE when a client has +initiated a handshake. In that case the server can only initiate a +handshake or terminate the connection.

    - - - -

    session :

    + is a gnutls_session_t structure.

    data :

    + the buffer that the data will be read into

    sizeofdata :

    + the number of requested bytes

    Returns :

    + the number of bytes received and zero on EOF. A negative +error code is returned in case of an error. The number of bytes +received might be less than sizeofdata.

    -
    +

    gnutls_read

    #define gnutls_read gnutls_record_recv
     
    -

    -


    -
    +

    gnutls_write

    #define gnutls_write gnutls_record_send
     
    -

    -


    -
    +

    gnutls_session_enable_compatibility_mode ()

    -
    void                gnutls_session_enable_compatibility_mode
    -                                                        (gnutls_session_t session);
    +
    void                gnutls_session_enable_compatibility_mode
    +                                                        (gnutls_session_t session);

    +This function can be used to disable certain (security) features in +TLS in order to maintain maximum compatibility with buggy +clients. It is equivalent to calling: +gnutls_record_disable_padding()

    +

    +Normally only servers that require maximum compatibility with +everything out there, need to call this function.

    -

    session :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_record_disable_padding ()

    -
    void                gnutls_record_disable_padding       (gnutls_session_t session);
    +
    void                gnutls_record_disable_padding       (gnutls_session_t session);

    +Used to disabled padding in TLS 1.0 and above. Normally you do +not need to use this function, but there are buggy clients that +complain if a server pads the encrypted data. This of course will +disable protection against statistical attacks on the data.

    +

    +Normally only servers that require maximum compatibility with everything +out there, need to call this function.

    -

    session :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_record_get_direction ()

    -
    int                 gnutls_record_get_direction         (gnutls_session_t session);
    +
    int                 gnutls_record_get_direction         (gnutls_session_t session);

    -

    +This function provides information about the internals of the +record protocol and is only useful if a prior gnutls function call +(e.g. gnutls_handshake()) was interrupted for some reason, that +is, if a function returned GNUTLS_E_INTERRUPTED or +GNUTLS_E_AGAIN. In such a case, you might want to call select() +or poll() before calling the interrupted gnutls function again. To +tell you whether a file descriptor should be selected for either +reading or writing, gnutls_record_get_direction() returns 0 if the +interrupted function was trying to read data, and 1 if it was +trying to write data.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + 0 if trying to read data, 1 if trying to write data.

    -
    +

    gnutls_record_get_max_size ()

    -
    size_t              gnutls_record_get_max_size          (gnutls_session_t session);
    +
    size_t              gnutls_record_get_max_size          (gnutls_session_t session);

    -

    +This function returns the maximum record packet size in this +connection. The maximum record size is negotiated by the client +after the first handshake message.

    - - + - - - - - - - +

    session :

    -

    Returns :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_record_set_max_size ()

    -
    ssize_t             gnutls_record_set_max_size          (gnutls_session_t session,
    -                                                         size_t size);
    +
    ssize_t             gnutls_record_set_max_size          (gnutls_session_t session,
    +                                                         size_t size);
    +

    +This function sets the maximum record packet size in this +connection. This property can only be set to clients. The server +may choose not to accept the requested size. +

    +Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and +4096(=2^12). Returns 0 on success. The requested record size does +get in effect immediately only while sending data. The receive +part will take effect after a successful handshake.

    +

    +This function uses a TLS extension called 'max record size'. Not +all TLS implementations use or even understand this extension.

    - - - - - -

    session :

    + is a gnutls_session_t structure.

    size :

    -

    Returns :

    + is the new size

    -
    +

    gnutls_record_check_pending ()

    -
    size_t              gnutls_record_check_pending         (gnutls_session_t session);
    +
    size_t              gnutls_record_check_pending         (gnutls_session_t session);

    -

    +This function checks if there are any data to receive +in the gnutls buffers. Returns the size of that data or 0. +Notice that you may also use select() to check for data in +a TCP connection, instead of this function. +(gnutls leaves some data in the tcp buffer in order for select +to work).

    - - + - - - - - - - +

    session :

    -

    Returns :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_prf ()

    -
    int                 gnutls_prf                          (gnutls_session_t session,
    -                                                         size_t label_size,
    -                                                         const char *label,
    -                                                         int server_random_first,
    -                                                         size_t extra_size,
    -                                                         const char *extra,
    -                                                         size_t outsize,
    -                                                         char *out);
    +
    int                 gnutls_prf                          (gnutls_session_t session,
    +                                                         size_t label_size,
    +                                                         const char *label,
    +                                                         int server_random_first,
    +                                                         size_t extra_size,
    +                                                         const char *extra,
    +                                                         size_t outsize,
    +                                                         char *out);
    +

    +Apply the TLS Pseudo-Random-Function (PRF) using the master secret +on some data, seeded with the client and server random fields. +

    +

    +The label variable usually contain a string denoting the purpose +for the generated data. The server_random_first indicate whether +the client random field or the server random field should be first +in the seed. Non-0 indicate that the server random field is first, +0 that the client random field is first. +

    +The extra variable can be used to add more data to the seed, after +the random variables. It can be used to tie make sure the +generated output is strongly connected to some additional data +(e.g., a string used in user authentication).

    +

    +The output is placed in *OUT, which must be pre-allocated.

    - - - - - - - - -

    session :

    + is a gnutls_session_t structure.

    label_size :

    + length of the label variable.

    label :

    + label used in PRF computation, typically a short string.

    server_random_first :

    + non-0 if server random field should be first in seed

    extra_size :

    + length of the extra variable.

    extra :

    + optional extra data to seed the PRF with.

    outsize :

    + size of pre-allocated output buffer to hold the output.

    out :

    + pre-allocate buffer to hold the generated data.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_prf_raw ()

    -
    int                 gnutls_prf_raw                      (gnutls_session_t session,
    -                                                         size_t label_size,
    -                                                         const char *label,
    -                                                         size_t seed_size,
    -                                                         const char *seed,
    -                                                         size_t outsize,
    -                                                         char *out);
    +
    int                 gnutls_prf_raw                      (gnutls_session_t session,
    +                                                         size_t label_size,
    +                                                         const char *label,
    +                                                         size_t seed_size,
    +                                                         const char *seed,
    +                                                         size_t outsize,
    +                                                         char *out);
    +

    +Apply the TLS Pseudo-Random-Function (PRF) using the master secret +on some data. +

    +The label variable usually contain a string denoting the purpose +for the generated data. The seed usually contain data such as the +client and server random, perhaps together with some additional +data that is added to guarantee uniqueness of the output for a +particular purpose.

    +

    +Because the output is not guaranteed to be unique for a particular +session unless seed include the client random and server random +fields (the PRF would output the same data on another connection +resumed from the first one), it is not recommended to use this +function directly. The gnutls_prf() function seed the PRF with the +client and server random fields directly, and is recommended if you +want to generate pseudo random data unique for each session.

    - - - - - - - -

    session :

    + is a gnutls_session_t structure.

    label_size :

    + length of the label variable.

    label :

    + label used in PRF computation, typically a short string.

    seed_size :

    + length of the seed variable.

    seed :

    + optional extra data to seed the PRF with.

    outsize :

    + size of pre-allocated output buffer to hold the output.

    out :

    + pre-allocate buffer to hold the generated data.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_ext_recv_func ()

    -
    int                 (*gnutls_ext_recv_func)             (gnutls_session_t session,
    -                                                         unsigned char *data,
    -                                                         size_t len);
    +
    +

    enum gnutls_server_name_type_t

    +
      typedef enum
    +  {
    +    GNUTLS_NAME_DNS = 1
    +  } gnutls_server_name_type_t;
    +
    +
    +
    +
    +

    gnutls_server_name_set ()

    +
    int                 gnutls_server_name_set              (gnutls_session_t session,
    +                                                         gnutls_server_name_type_t type,
    +                                                         const void *name,
    +                                                         size_t name_length);

    +This function is to be used by clients that want to inform +(via a TLS extension mechanism) the server of the name they +connected to. This should be used by clients that connect +to servers that do virtual hosting.

    +

    +The value of name depends on the ind type. In case of GNUTLS_NAME_DNS, +an ASCII or UTF-8 null terminated string, without the trailing dot, is expected. +IPv4 or IPv6 addresses are not permitted.

    - - - + - - + - - +

    session :

    + is a gnutls_session_t structure.

    data :

    +

    type :

    specifies the indicator type

    len :

    +

    name :

    is a string that contains the server name.

    Returns :

    +

    name_length :

    holds the length of name

    -
    -

    gnutls_ext_send_func ()

    -
    int                 (*gnutls_ext_send_func)             (gnutls_session_t session,
    -                                                         unsigned char *data,
    -                                                         size_t len);
    +
    +

    gnutls_server_name_get ()

    +
    int                 gnutls_server_name_get              (gnutls_session_t session,
    +                                                         void *data,
    +                                                         size_t *data_length,
    +                                                         unsigned int *type,
    +                                                         unsigned int indx);
    +

    +This function will allow you to get the name indication (if any), +a client has sent. The name indication may be any of the enumeration +gnutls_server_name_type_t. +

    +

    +If type is GNUTLS_NAME_DNS, then this function is to be used by servers +that support virtual hosting, and the data will be a null terminated UTF-8 string. +

    +If data has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER +is returned, and data_length will hold the required size.

    +

    +index is used to retrieve more than one server names (if sent by the client). +The first server name has an index of 0, the second 1 and so on. If no name with the given +index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.

    - - - - + - - + + + + +

    session :

    + is a gnutls_session_t structure.

    data :

    + will hold the data

    len :

    +

    data_length :

    will hold the data length. Must hold the maximum size of data.

    Returns :

    +

    type :

    will hold the server name indicator type +

    indx :

    is the index of the server_name

    -
    -

    enum gnutls_ext_parse_type_t

    -
      typedef enum
    -    {
    -      GNUTLS_EXT_ANY,
    -      GNUTLS_EXT_APPLICATION,
    -      GNUTLS_EXT_TLS
    -    } gnutls_ext_parse_type_t;
    -
    +
    +

    gnutls_oprfi_enable_client ()

    +
    void                gnutls_oprfi_enable_client          (gnutls_session_t session,
    +                                                         size_t len,
    +                                                         unsigned char *data);

    +Request that the client should attempt to negotiate the Opaque PRF +Input TLS extension, using the given data as the client's Opaque +PRF input.

    -
    -
    -
    -

    gnutls_ext_register ()

    -
    int                 gnutls_ext_register                 (int type,
    -                                                         const char *name,
    -                                                         gnutls_ext_parse_type_t parse_type,
    -                                                         gnutls_ext_recv_func recv_func,
    -                                                         gnutls_ext_send_func send_func);

    -

    +The data is copied into the session context after this call, so you +may de-allocate it immediately after calling this function.

    - - + - - + - - + + +

    type :

    +

    session :

    is a gnutls_session_t structure.

    name :

    +

    len :

    length of Opaque PRF data to use in client.

    parse_type :

    +

    data :

    Opaque PRF data to use in client.
    +
    +
    +
    +

    gnutls_oprfi_callback_func ()

    +
    int                 (*gnutls_oprfi_callback_func)       (gnutls_session_t session,
    +                                                         void *userdata,
    +                                                         size_t oprfi_len,
    +                                                         unsigned char *in_oprfi,
    +                                                         unsigned char *out_oprfi);
    +
    +
    +
    +

    gnutls_oprfi_enable_server ()

    +
    void                gnutls_oprfi_enable_server          (gnutls_session_t session,
    +                                                         gnutls_oprfi_callback_func cb,
    +                                                         void *userdata);
    +

    +Request that the server should attempt to accept the Opaque PRF +Input TLS extension. If the client requests the extension, the +provided callback cb will be invoked. The callback must have the +following prototype: +

    +

    +int callback (gnutls_session_t session, void *userdata, + size_t oprfi_len, const unsigned char *in_oprfi, + unsigned char *out_oprfi); +

    +

    +The callback can inspect the client-provided data in the input +parameters, and specify its own opaque prf input data in the output +variable. The function must return 0 on success, otherwise the +handshake will be aborted.

    +
    ++ - - + - - + - - +

    recv_func :

    +

    session :

    is a gnutls_session_t structure.

    send_func :

    +

    cb :

    function pointer to Opaque PRF extension server callback.

    Returns :

    +

    userdata :

    hook passed to callback function for passing application state.

    -
    -

    enum gnutls_server_name_type_t

    +
    +

    enum gnutls_supplemental_data_format_type_t

      typedef enum
    -  {
    -    GNUTLS_NAME_DNS = 1
    -  } gnutls_server_name_type_t;
    +    {
    +      GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0
    +    } gnutls_supplemental_data_format_type_t;
     
    -

    -


    -
    -

    gnutls_server_name_set ()

    -
    int                 gnutls_server_name_set              (gnutls_session_t session,
    -                                                         gnutls_server_name_type_t type,
    -                                                         const void *name,
    -                                                         size_t name_length);
    +
    +

    gnutls_supplemental_get_name ()

    +
    const char*         gnutls_supplemental_get_name        (gnutls_supplemental_data_format_type_t type);
    +
    +
    +
    +

    gnutls_cipher_set_priority ()

    +
    int                 gnutls_cipher_set_priority          (gnutls_session_t session,
    +                                                         const int *list);

    -

    +Sets the priority on the ciphers supported by gnutls. +Priority is higher for elements specified before others. +After specifying the ciphers you want, you must append a 0. +Note that the priority is set on the client. The server does +not use the algorithm's priority except for disabling +algorithms that were not specified.

    - - - - - - - - - - - + -

    session :

    -

    type :

    + is a gnutls_session_t structure.

    name :

    -

    name_length :

    +

    list :

    is a 0 terminated list of gnutls_cipher_algorithm_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_server_name_get ()

    -
    int                 gnutls_server_name_get              (gnutls_session_t session,
    -                                                         void *data,
    -                                                         size_t *data_length,
    -                                                         unsigned int *type,
    -                                                         unsigned int indx);
    +
    +

    gnutls_mac_set_priority ()

    +
    int                 gnutls_mac_set_priority             (gnutls_session_t session,
    +                                                         const int *list);

    -

    +Sets the priority on the mac algorithms supported by gnutls. +Priority is higher for elements specified before others. +After specifying the algorithms you want, you must append a 0. +Note that the priority is set on the client. The server does +not use the algorithm's priority except for disabling +algorithms that were not specified.

    - - - - - - - - - - - - - - - + -

    session :

    -

    data :

    -

    data_length :

    -

    type :

    + is a gnutls_session_t structure.

    indx :

    +

    list :

    is a 0 terminated list of gnutls_mac_algorithm_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_oprfi_enable_client ()

    -
    void                gnutls_oprfi_enable_client          (gnutls_session_t session,
    -                                                         size_t len,
    -                                                         unsigned char *data);
    +
    +

    gnutls_compression_set_priority ()

    +
    int                 gnutls_compression_set_priority     (gnutls_session_t session,
    +                                                         const int *list);

    -Request that the client should attempt to negotiate the Opaque PRF -Input TLS extension, using the given data as the client's Opaque -PRF input. +Sets the priority on the compression algorithms supported by gnutls. +Priority is higher for elements specified before others. +After specifying the algorithms you want, you must append a 0. +Note that the priority is set on the client. The server does +not use the algorithm's priority except for disabling +algorithms that were not specified.

    -The data is copied into the session context after this call, so you -may de-allocate it immediately after calling this function.

    +TLS 1.0 does not define any compression algorithms except +NULL. Other compression algorithms are to be considered +as gnutls extensions.

    - - - - - - - - - -

    session :

    is a gnutls_session_t structure. + is a gnutls_session_t structure.

    len :

    length of Opaque PRF data to use in client. -

    data :

    Opaque PRF data to use in client. -
    -
    -
    -
    -

    gnutls_oprfi_callback_func ()

    -
    int                 (*gnutls_oprfi_callback_func)       (gnutls_session_t session,
    -                                                         void *userdata,
    -                                                         size_t oprfi_len,
    -                                                         unsigned char *in_oprfi,
    -                                                         unsigned char *out_oprfi);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - + -

    session :

    -

    userdata :

    -

    oprfi_len :

    -

    in_oprfi :

    -

    out_oprfi :

    +

    list :

    is a 0 terminated list of gnutls_compression_method_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_oprfi_enable_server ()

    -
    void                gnutls_oprfi_enable_server          (gnutls_session_t session,
    -                                                         gnutls_oprfi_callback_func cb,
    -                                                         void *userdata);
    -

    -Request that the server should attempt to accept the Opaque PRF -Input TLS extension. If the client requests the extension, the -provided callback cb will be invoked. The callback must have the -following prototype: -

    -

    -int callback (gnutls_session_t session, void *userdata, - size_t oprfi_len, const unsigned char *in_oprfi, - unsigned char *out_oprfi); -

    +
    +

    gnutls_kx_set_priority ()

    +
    int                 gnutls_kx_set_priority              (gnutls_session_t session,
    +                                                         const int *list);

    -The callback can inspect the client-provided data in the input -parameters, and specify its own opaque prf input data in the output -variable. The function must return 0 on success, otherwise the -handshake will be aborted.

    +Sets the priority on the key exchange algorithms supported by gnutls. +Priority is higher for elements specified before others. +After specifying the algorithms you want, you must append a 0. +Note that the priority is set on the client. The server does +not use the algorithm's priority except for disabling +algorithms that were not specified.

    - - - - - - - - - - -

    session :

    is a gnutls_session_t structure. -

    cb :

    function pointer to Opaque PRF extension server callback. -

    userdata :

    hook passed to callback function for passing application state. + is a gnutls_session_t structure.
    -
    -
    -
    -

    enum gnutls_supplemental_data_format_type_t

    -
      typedef enum
    -    {
    -      GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0
    -    } gnutls_supplemental_data_format_type_t;
    -
    -

    -

    -
    -
    -
    -

    gnutls_supplemental_get_name ()

    -
    const char *        gnutls_supplemental_get_name        (gnutls_supplemental_data_format_type_t type);
    -

    -

    -
    -- - - + -

    type :

    +

    list :

    is a 0 terminated list of gnutls_kx_algorithm_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_cipher_set_priority ()

    -
    int                 gnutls_cipher_set_priority          (gnutls_session_t session,
    -                                                         const int *list);
    +
    +

    gnutls_protocol_set_priority ()

    +
    int                 gnutls_protocol_set_priority        (gnutls_session_t session,
    +                                                         const int *list);

    -

    +Sets the priority on the protocol versions supported by gnutls. +This function actually enables or disables protocols. Newer protocol +versions always have highest priority.

    - - -

    session :

    + is a gnutls_session_t structure.

    list :

    + is a 0 terminated list of gnutls_protocol_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_mac_set_priority ()

    -
    int                 gnutls_mac_set_priority             (gnutls_session_t session,
    -                                                         const int *list);
    +
    +

    gnutls_certificate_type_set_priority ()

    +
    int                 gnutls_certificate_type_set_priority
    +                                                        (gnutls_session_t session,
    +                                                         const int *list);

    -

    +Sets the priority on the certificate types supported by gnutls. +Priority is higher for elements specified before others. +After specifying the types you want, you must append a 0. +Note that the certificate type priority is set on the client. +The server does not use the cert type priority except for disabling +types that were not specified.

    - - -

    session :

    + is a gnutls_session_t structure.

    list :

    + is a 0 terminated list of gnutls_certificate_type_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    -

    gnutls_compression_set_priority ()

    -
    int                 gnutls_compression_set_priority     (gnutls_session_t session,
    -                                                         const int *list);
    +
    +

    gnutls_priority_init ()

    +
    int                 gnutls_priority_init                (gnutls_priority_t *,
    +                                                         const char *priority,
    +                                                         const char **err_pos);

    +Sets priorities for the ciphers, key exchange methods, macs and +compression methods. This is to avoid using the +gnutls_*_priority() functions.

    -
    -- - - - - - - - - - - - - - -

    session :

    -

    list :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_kx_set_priority ()

    -
    int                 gnutls_kx_set_priority              (gnutls_session_t session,
    -                                                         const int *list);

    +The priorities option allows you to specify a semi-colon +separated list of the cipher priorities to enable.

    -
    -- - - - - - - - - - - - - - -

    session :

    -

    list :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_protocol_set_priority ()

    -
    int                 gnutls_protocol_set_priority        (gnutls_session_t session,
    -                                                         const int *list);

    +Unless the first keyword is "NONE" the defaults are: +Protocols: TLS1.1, TLS1.0, and SSL3.0. +Compression: NULL. +Certificate types: X.509, OpenPGP.

    -
    -- - - - - - - - - - - - - - -

    session :

    -

    list :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_certificate_type_set_priority ()

    -
    int                 gnutls_certificate_type_set_priority
    -                                                        (gnutls_session_t session,
    -                                                         const int *list);

    +You can also use predefined sets of ciphersuites: "PERFORMANCE" +all the "secure" ciphersuites are enabled, limited to 128 bit +ciphers and sorted by terms of speed performance. +

    +

    +"NORMAL" option enables all "secure" ciphersuites. The 256-bit ciphers +are included as a fallback only. The ciphers are sorted by security margin. +

    +

    +"SECURE128" flag enables all "secure" ciphersuites with ciphers up to +128 bits, sorted by security margin.

    -
    -- - - - - - - - - - - - - - -

    session :

    -

    list :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_priority_init ()

    -
    int                 gnutls_priority_init                (gnutls_priority_t *priority_cache,
    -                                                         const char *priorities,
    -                                                         const char **err_pos);

    +"SECURE256" flag enables all "secure" ciphersuites including the 256 bit +ciphers, sorted by security margin.

    +

    +"EXPORT" all the ciphersuites are enabled, including the +low-security 40 bit ciphers. +

    +

    +"NONE" nothing is enabled. This disables even protocols and +compression methods. +

    +

    +Special keywords: +'!' or '-' appended with an algorithm will remove this algorithm. +'+' appended with an algorithm will add this algorithm. +'COMPAT' will enable compatibility features for a server. +

    +

    +To avoid collisions in order to specify a compression algorithm in +this string you have to prefix it with "COMP-", protocol versions +with "VERS-" and certificate types with "CTYPE-". All other +algorithms don't need a prefix. +

    +

    +For key exchange algorithms when in NORMAL or SECURE levels the +perfect forward secrecy algorithms take precendence of the other +protocols. In all cases all the supported key exchange algorithms +are enabled (except for the RSA-EXPORT which is only enabled in +EXPORT level). +

    +

    +Note that although one can select very long key sizes (such as 256 bits) +for symmetric algorithms, to actually increase security the public key +algorithms have to use longer key sizes as well. +

    +

    +Examples: "NORMAL:!AES-128-CBC", +"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", +"NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", +"NORMAL:COMPAT".

    - - - -

    priority_cache :

    + is a gnutls_prioritity_t structure.

    priorities :

    + is a string describing priorities

    err_pos :

    + In case of an error this will have the position in the string the error occured

    Returns :

    + On syntax error GNUTLS_E_INVALID_REQUEST is returned, +GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_priority_deinit ()

    -
    void                gnutls_priority_deinit              (gnutls_priority_t priority_cache);
    +
    void                gnutls_priority_deinit              (gnutls_priority_t );

    -

    +Deinitializes the priority cache.

    -

    priority_cache :

    + is a gnutls_prioritity_t structure.

    -
    +

    gnutls_priority_set ()

    -
    int                 gnutls_priority_set                 (gnutls_session_t session,
    -                                                         gnutls_priority_t priority);
    +
    int                 gnutls_priority_set                 (gnutls_session_t session,
    +                                                         gnutls_priority_t );

    -

    +Sets the priorities to use on the ciphers, key exchange methods, +macs and compression methods.

    - - -

    session :

    + is a gnutls_session_t structure.

    priority :

    + is a gnutls_priority_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_priority_set_direct ()

    -
    int                 gnutls_priority_set_direct          (gnutls_session_t session,
    -                                                         const char *priorities,
    -                                                         const char **err_pos);
    +
    int                 gnutls_priority_set_direct          (gnutls_session_t session,
    +                                                         const char *priority,
    +                                                         const char **err_pos);

    -

    +Sets the priorities to use on the ciphers, key exchange methods, +macs and compression methods. This function avoids keeping a +priority cache and is used to directly set string priorities to a +TLS session. For documentation check the gnutls_priority_init().

    - - - -

    session :

    + is a gnutls_session_t structure.

    priorities :

    + is a string describing priorities

    err_pos :

    + In case of an error this will have the position in the string the error occured

    Returns :

    + On syntax error GNUTLS_E_INVALID_REQUEST is returned, +GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_set_default_priority ()

    -
    int                 gnutls_set_default_priority         (gnutls_session_t session);
    +
    int                 gnutls_set_default_priority         (gnutls_session_t session);
    +

    +Sets some default priority on the ciphers, key exchange methods, +macs and compression methods. +

    +

    +This is the same as calling: +

    +gnutls_priority_set_direct (session, "NORMAL", NULL);

    +

    +This function is kept around for backwards compatibility, but +because of its wide use it is still fully supported. If you wish +to allow users to provide a string that specify which ciphers to +use (which is recommended), you should use +gnutls_priority_set_direct() or gnutls_priority_set() instead.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_set_default_export_priority ()

    -
    int                 gnutls_set_default_export_priority  (gnutls_session_t session);
    +
    int                 gnutls_set_default_export_priority  (gnutls_session_t session);
    +

    +Sets some default priority on the ciphers, key exchange methods, macs +and compression methods. This function also includes weak algorithms. +

    +

    +This is the same as calling: +

    +gnutls_priority_set_direct (session, "EXPORT", NULL);

    +

    +This function is kept around for backwards compatibility, but +because of its wide use it is still fully supported. If you wish +to allow users to provide a string that specify which ciphers to +use (which is recommended), you should use +gnutls_priority_set_direct() or gnutls_priority_set() instead.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_cipher_suite_get_name ()

    -
    const char *        gnutls_cipher_suite_get_name        (gnutls_kx_algorithm_t kx_algorithm,
    -                                                         gnutls_cipher_algorithm_t cipher_algorithm,
    -                                                         gnutls_mac_algorithm_t mac_algorithm);
    +
    const char*         gnutls_cipher_suite_get_name        (gnutls_kx_algorithm_tkx_algorithm ,
    +                                                         gnutls_cipher_algorithm_tcipher_algorithm ,
    +                                                         gnutls_mac_algorithm_tmac_algorithm );

    -

    +Note that the full cipher suite name must be prepended by TLS or +SSL depending of the protocol in use.

    - - - -

    kx_algorithm :

    + is a Key exchange algorithm

    cipher_algorithm :

    + is a cipher algorithm

    mac_algorithm :

    + is a MAC algorithm

    Returns :

    + a string that contains the name of a TLS cipher suite, +specified by the given algorithms, or NULL.

    -
    +

    gnutls_protocol_get_version ()

    -
    gnutls_protocol_t   gnutls_protocol_get_version         (gnutls_session_t session);
    +
    gnutls_protocol_t   gnutls_protocol_get_version         (gnutls_session_t session);

    -

    +Get TLS version, a gnutls_protocol_t value.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the version of the currently used protocol.

    -
    +

    gnutls_protocol_get_name ()

    -
    const char *        gnutls_protocol_get_name            (gnutls_protocol_t version);
    +
    const char*         gnutls_protocol_get_name            (gnutls_protocol_t version);

    -

    +Convert a gnutls_protocol_t value to a string.

    - -

    version :

    + is a (gnutls) version number

    Returns :

    + a string that contains the name of the specified TLS + version (e.g., "TLS1.0"), or NULL.

    -
    +

    gnutls_session_set_data ()

    -
    int                 gnutls_session_set_data             (gnutls_session_t session,
    -                                                         const void *session_data,
    -                                                         size_t session_data_size);
    +
    int                 gnutls_session_set_data             (gnutls_session_t session,
    +                                                         const void *session_data,
    +                                                         size_t session_data_size);

    +Sets all session parameters, in order to resume a previously +established session. The session data given must be the one +returned by gnutls_session_get_data(). This function should be +called before gnutls_handshake().

    +

    +Keep in mind that session resuming is advisory. The server may +choose not to resume the session, thus a full handshake will be +performed.

    - - - -

    session :

    + is a gnutls_session_t structure.

    session_data :

    + is a pointer to space to hold the session.

    session_data_size :

    + is the session's size

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_session_get_data ()

    -
    int                 gnutls_session_get_data             (gnutls_session_t session,
    -                                                         void *session_data,
    -                                                         size_t *session_data_size);
    +
    int                 gnutls_session_get_data             (gnutls_session_t session,
    +                                                         void *session_data,
    +                                                         size_t *session_data_size);

    +Returns all session parameters, in order to support resuming. The +client should call this, and keep the returned session, if he +wants to resume that current version later by calling +gnutls_session_set_data() This function must be called after a +successful handshake.

    +

    +Resuming sessions is really useful and speedups connections after +a succesful one.

    - - - -

    session :

    + is a gnutls_session_t structure.

    session_data :

    + is a pointer to space to hold the session.

    session_data_size :

    + is the session_data's size, or it will be set by the function.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_session_get_data2 ()

    -
    int                 gnutls_session_get_data2            (gnutls_session_t session,
    -                                                         gnutls_datum_t *data);
    +
    int                 gnutls_session_get_data2            (gnutls_session_t session,
    +                                                         gnutls_datum_t *data);

    +Returns all session parameters, in order to support resuming. +The client should call this, and keep the returned session, if he wants to +resume that current version later by calling gnutls_session_set_data() +This function must be called after a successful handshake. The returned +datum must be freed with gnutls_free().

    +

    +Resuming sessions is really useful and speedups connections after +a succesful one.

    - - - + -

    session :

    + is a gnutls_session_t structure.

    data :

    +

    session_data :

    is a pointer to a datum that will hold the session.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    GNUTLS_MAX_SESSION_ID

    #define GNUTLS_MAX_SESSION_ID 32
     
    -

    -


    -
    +

    gnutls_session_get_id ()

    -
    int                 gnutls_session_get_id               (gnutls_session_t session,
    -                                                         void *session_id,
    -                                                         size_t *session_id_size);
    +
    int                 gnutls_session_get_id               (gnutls_session_t session,
    +                                                         void *session_id,
    +                                                         size_t *session_id_size);

    +Returns the current session id. This can be used if you want to +check if the next session you tried to resume was actually +resumed. This is because resumed sessions have the same sessionID +with the original session.

    +

    +Session id is some data set by the server, that identify the +current session. In TLS 1.0 and SSL 3.0 session id is always less +than 32 bytes.

    - - - -

    session :

    + is a gnutls_session_t structure.

    session_id :

    + is a pointer to space to hold the session id.

    session_id_size :

    + is the session id's size, or it will be set by the function.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    -

    GNUTLS_MASTER_SIZE

    -
    #define GNUTLS_MASTER_SIZE 48
    +
    +

    TLS_MASTER_SIZE

    +
    #define TLS_MASTER_SIZE 48
     
    -

    -


    -
    -

    GNUTLS_RANDOM_SIZE

    -
    #define GNUTLS_RANDOM_SIZE 32
    +
    +

    TLS_RANDOM_SIZE

    +
    #define TLS_RANDOM_SIZE 32
     
    -

    -


    -
    +

    gnutls_session_get_server_random ()

    -
    const void *        gnutls_session_get_server_random    (gnutls_session_t session);
    +
    const void*         gnutls_session_get_server_random    (gnutls_session_t session);

    +Return a pointer to the 32-byte server random field used in the +session. The pointer must not be modified or deallocated.

    +

    +If a server random value has not yet been established, the output +will be garbage; in particular, a NULL return value should not be +expected.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + pointer to server random data.

    -
    +

    gnutls_session_get_client_random ()

    -
    const void *        gnutls_session_get_client_random    (gnutls_session_t session);
    +
    const void*         gnutls_session_get_client_random    (gnutls_session_t session);

    +Return a pointer to the 32-byte client random field used in the +session. The pointer must not be modified or deallocated.

    +

    +If a client random value has not yet been established, the output +will be garbage; in particular, a NULL return value should not be +expected.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + pointer to client random data.

    -
    +

    gnutls_session_get_master_secret ()

    -
    const void *        gnutls_session_get_master_secret    (gnutls_session_t session);
    +
    const void*         gnutls_session_get_master_secret    (gnutls_session_t session);
    +

    +Return a pointer to the 48-byte master secret in the session. The +pointer must not be modified or deallocated. +

    +If a master secret value has not yet been established, the output +will be garbage; in particular, a NULL return value should not be +expected.

    +

    +Consider using gnutls_prf() rather than extracting the master +secret and use it to derive further data.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + pointer to master secret data.

    -
    -

    gnutls_finished_callback_func ()

    -
    void                (*gnutls_finished_callback_func)    (gnutls_session_t session,
    -                                                         const void *finished,
    -                                                         size_t len);
    +
    +

    gnutls_session_is_resumed ()

    +
    int                 gnutls_session_is_resumed           (gnutls_session_t session);

    -

    +Check whether session is resumed or not.

    - - - - - - - +

    session :

    -

    finished :

    + is a gnutls_session_t structure.

    len :

    +

    Returns :

    non zero if this session is resumed, or a zero if this is + a new session.

    -
    -

    gnutls_session_set_finished_function ()

    -
    void                gnutls_session_set_finished_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_finished_callback_func func);
    -

    -Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. -

    -

    -The callback should follow this prototype: -

    -

    -void callback (gnutls_session_t session, const void *finished, size_t len); -

    -

    -The finished parameter will contain the binary TLS finished -message, and len will contains its length. For SSLv3 connections, -the len parameter will be 36 and for TLS connections it will be -12. -

    +
    +

    gnutls_db_store_func ()

    +
    int                 (*gnutls_db_store_func)             (void *,
    +                                                         gnutls_datum_t key,
    +                                                         gnutls_datum_t data);
    +
    +
    +
    +

    gnutls_db_remove_func ()

    +
    int                 (*gnutls_db_remove_func)            (void *,
    +                                                         gnutls_datum_t key);
    +
    +
    +
    +

    gnutls_db_retr_func ()

    +
    gnutls_datum_t      (*gnutls_db_retr_func)              (void *,
    +                                                         gnutls_datum_t key);
    +
    +
    +
    +

    gnutls_db_set_cache_expiration ()

    +
    void                gnutls_db_set_cache_expiration      (gnutls_session_t session,
    +                                                         int seconds);

    -It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use.

    +Set the expiration time for resumed sessions. The default is 3600 +(one hour) at the time writing this.

    - - - +

    session :

    is a gnutls_session_t structure. + is a gnutls_session_t structure.

    func :

    a gnutls_finished_callback_func callback. +

    seconds :

    is the number of seconds.
    -

    Since 2.6.0


    -
    -

    gnutls_session_is_resumed ()

    -
    int                 gnutls_session_is_resumed           (gnutls_session_t session);
    -

    -

    -
    -- - - - - - - - - - -

    session :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_db_store_func ()

    -
    int                 (*gnutls_db_store_func)             (void *Param1,
    -                                                         gnutls_datum_t key,
    -                                                         gnutls_datum_t data);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    Param1 :

    -

    key :

    -

    data :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_db_remove_func ()

    -
    int                 (*gnutls_db_remove_func)            (void *Param1,
    -                                                         gnutls_datum_t key);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    Param1 :

    -

    key :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_db_retr_func ()

    -
    gnutls_datum_t      (*gnutls_db_retr_func)              (void *Param1,
    -                                                         gnutls_datum_t key);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    Param1 :

    -

    key :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_db_set_cache_expiration ()

    -
    void                gnutls_db_set_cache_expiration      (gnutls_session_t session,
    -                                                         int seconds);
    -

    -

    -
    -- - - - - - - - - - -

    session :

    -

    seconds :

    -
    -
    -
    -
    -

    gnutls_db_remove_session ()

    -
    void                gnutls_db_remove_session            (gnutls_session_t session);
    +
    +

    gnutls_db_remove_session ()

    +
    void                gnutls_db_remove_session            (gnutls_session_t session);

    +This function will remove the current session data from the +session database. This will prevent future handshakes reusing +these session data. This function should be called if a session +was terminated abnormally, and before gnutls_deinit() is called.

    +

    +Normally gnutls_deinit() will remove abnormally terminated +sessions.

    -

    session :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_db_set_retrieve_function ()

    -
    void                gnutls_db_set_retrieve_function     (gnutls_session_t session,
    -                                                         gnutls_db_retr_func retr_func);
    +
    void                gnutls_db_set_retrieve_function     (gnutls_session_t session,
    +                                                         gnutls_db_retr_func retr_func);
    +

    +Sets the function that will be used to retrieve data from the +resumed sessions database. This function must return a +gnutls_datum_t containing the data on success, or a gnutls_datum_t +containing null and 0 on failure. +

    +The datum's data must be allocated using the function +gnutls_malloc().

    +

    +The first argument to retr_func() will be null unless +gnutls_db_set_ptr() has been called.

    - -

    session :

    + is a gnutls_session_t structure.

    retr_func :

    + is the function.

    -
    +

    gnutls_db_set_remove_function ()

    -
    void                gnutls_db_set_remove_function       (gnutls_session_t session,
    -                                                         gnutls_db_remove_func rem_func);
    +
    void                gnutls_db_set_remove_function       (gnutls_session_t session,
    +                                                         gnutls_db_remove_func rem_func);

    +Sets the function that will be used to remove data from the +resumed sessions database. This function must return 0 on success.

    +

    +The first argument to rem_func() will be null unless +gnutls_db_set_ptr() has been called.

    - -

    session :

    + is a gnutls_session_t structure.

    rem_func :

    + is the function.

    -
    +

    gnutls_db_set_store_function ()

    -
    void                gnutls_db_set_store_function        (gnutls_session_t session,
    -                                                         gnutls_db_store_func store_func);
    +
    void                gnutls_db_set_store_function        (gnutls_session_t session,
    +                                                         gnutls_db_store_func store_func);

    +Sets the function that will be used to store data from the resumed +sessions database. This function must remove 0 on success.

    +

    +The first argument to store_func() will be null unless +gnutls_db_set_ptr() has been called.

    - -

    session :

    + is a gnutls_session_t structure.

    store_func :

    + is the function

    -
    +

    gnutls_db_set_ptr ()

    -
    void                gnutls_db_set_ptr                   (gnutls_session_t session,
    -                                                         void *ptr);
    +
    void                gnutls_db_set_ptr                   (gnutls_session_t session,
    +                                                         void *ptr);

    -

    +Sets the pointer that will be provided to db store, retrieve and +delete functions, as the first argument.

    - -

    session :

    + is a gnutls_session_t structure.

    ptr :

    + is the pointer

    -
    +

    gnutls_db_get_ptr ()

    -
    void *              gnutls_db_get_ptr                   (gnutls_session_t session);
    +
    void*               gnutls_db_get_ptr                   (gnutls_session_t session);

    -

    +Get db function pointer.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the pointer that will be sent to db store, retrieve and + delete functions, as the first argument.

    -
    +

    gnutls_db_check_entry ()

    -
    int                 gnutls_db_check_entry               (gnutls_session_t session,
    -                                                         gnutls_datum_t session_entry);
    +
    int                 gnutls_db_check_entry               (gnutls_session_t session,
    +                                                         gnutls_datum_t session_entry);

    -

    +Check if database entry has expired. This function is to be used +when you want to clear unnesessary session which occupy space in +your backend.

    - - -

    session :

    + is a gnutls_session_t structure.

    session_entry :

    + is the session data (not key)

    Returns :

    + Returns GNUTLS_E_EXPIRED, if the database entry has + expired or 0 otherwise.

    -
    +

    gnutls_handshake_post_client_hello_func ()

    -
    int                 (*gnutls_handshake_post_client_hello_func)
    -                                                        (gnutls_session_t Param1);
    -

    -

    -
    -- - - - - - - - - - -

    Param1 :

    -

    Returns :

    -
    +
    int                 (*gnutls_handshake_post_client_hello_func)
    +                                                        (gnutls_session_t );

    -
    +

    gnutls_handshake_set_post_client_hello_function ()

    -
    void                gnutls_handshake_set_post_client_hello_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_handshake_post_client_hello_func func);
    +
    void                gnutls_handshake_set_post_client_hello_function
    +                                                        (gnutls_session_t ,
    +                                                         gnutls_handshake_post_client_hello_func );
    +

    +This function will set a callback to be called after the client +hello has been received (callback valid in server side only). This +allows the server to adjust settings based on received extensions. +

    +

    +Those settings could be ciphersuites, requesting certificate, or +anything else except for version negotiation (this is done before +the hello message is parsed). +

    +This callback must return 0 on success or a gnutls error code to +terminate the handshake.

    +

    +Warning: You should not use this function to terminate the +handshake based on client input unless you know what you are +doing. Before the handshake is finished there is no way to know if +there is a man-in-the-middle attack being performed.

    - - + -

    session :

    +

    res :

    is a gnutls_anon_server_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_handshake_set_max_packet_length ()

    -
    void                gnutls_handshake_set_max_packet_length
    -                                                        (gnutls_session_t session,
    -                                                         size_t max);
    +
    void                gnutls_handshake_set_max_packet_length
    +                                                        (gnutls_session_t session,
    +                                                         size_t max);

    +This function will set the maximum size of all handshake messages. +Handshakes over this size are rejected with +GNUTLS_E_HANDSHAKE_TOO_LARGE error code. The default value is +48kb which is typically large enough. Set this to 0 if you do not +want to set an upper limit.

    +

    +The reason for restricting the handshake message sizes are to +limit Denial of Service attacks.

    - -

    session :

    + is a gnutls_session_t structure.

    max :

    + is the maximum number.

    -
    +

    gnutls_check_version ()

    -
    const char *        gnutls_check_version                (const char *req_version);
    +
    const char*         gnutls_check_version                (const char *req_version);

    +Check that the version of the library is at minimum the requested one +and return the version string; return NULL if the condition is not +satisfied. If a NULL is passed to this function, no check is done, +but the version string is simply returned.

    +

    +See LIBGNUTLS_VERSION for a suitable req_version string.

    - -

    req_version :

    + the version to check

    Returns :

    + Version string of run-time library, or NULL if the + run-time library does not meet the required version number. If + NULL is passed to this function no check is done and only the + version string is returned.

    -
    +

    gnutls_credentials_clear ()

    -
    void                gnutls_credentials_clear            (gnutls_session_t session);
    +
    void                gnutls_credentials_clear            (gnutls_session_t session);

    -

    +Clears all the credentials previously set in this session.

    -

    session :

    + is a gnutls_session_t structure.

    -
    +

    gnutls_credentials_set ()

    -
    int                 gnutls_credentials_set              (gnutls_session_t session,
    -                                                         gnutls_credentials_type_t type,
    -                                                         void *cred);
    +
    int                 gnutls_credentials_set              (gnutls_session_t session,
    +                                                         gnutls_credentials_type_t type,
    +                                                         void *cred);
    +

    +Sets the needed credentials for the specified type. +Eg username, password - or public and private keys etc. +The (void* cred) parameter is a structure that depends on the +specified type and on the current session (client or server). +[ In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole cred +structure. Thus you will have to keep the structure allocated until +you call gnutls_deinit(). ] +

    +For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. +In case of a server it should be gnutls_anon_server_credentials_t.

    +

    +For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t +in case of a client, and gnutls_srp_server_credentials_t, in case +of a server. +

    +

    +For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t.

    - - - - - - -

    session :

    + is a gnutls_session_t structure.

    type :

    + is the type of the credentials

    cred :

    -

    Returns :

    + is a pointer to a structure.

    -
    +

    gnutls_cred_set

    -
    #define gnutls_cred_set gnutls_credentials_set
    +
    #define gnutls_cred_set	gnutls_credentials_set
     
    -

    -


    -
    +

    struct gnutls_certificate_credentials_st

    struct gnutls_certificate_credentials_st;
    -

    -


    -
    +

    gnutls_anon_free_server_credentials ()

    -
    void                gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc);
    +
    void                gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_anon_server_credentials_t structure.

    -
    +

    gnutls_anon_allocate_server_credentials ()

    -
    int                 gnutls_anon_allocate_server_credentials
    -                                                        (gnutls_anon_server_credentials_t *sc);
    +
    int                 gnutls_anon_allocate_server_credentials
    +                                                        (gnutls_anon_server_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_anon_server_credentials_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_anon_set_server_dh_params ()

    -
    void                gnutls_anon_set_server_dh_params    (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    +
    void                gnutls_anon_set_server_dh_params    (gnutls_anon_server_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);

    -

    +This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in +Anonymous Diffie Hellman cipher suites.

    - -

    res :

    + is a gnutls_anon_server_credentials_t structure

    dh_params :

    + is a structure that holds diffie hellman parameters.

    -
    +

    gnutls_anon_set_server_params_function ()

    -
    void                gnutls_anon_set_server_params_function
    -                                                        (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -

    -

    +
    void                gnutls_anon_set_server_params_function
    +                                                        (gnutls_anon_server_credentials_tres ,
    +                                                         gnutls_params_function *func);
    +

    +This function will set a callback in order for the server to get +the diffie hellman parameters for anonymous authentication. The +callback should return zero on success.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_anon_free_client_credentials ()

    -
    void                gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc);
    +
    void                gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_tsc );

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_anon_client_credentials_t structure.

    -
    +

    gnutls_anon_allocate_client_credentials ()

    -
    int                 gnutls_anon_allocate_client_credentials
    -                                                        (gnutls_anon_client_credentials_t *sc);
    +
    int                 gnutls_anon_allocate_client_credentials
    +                                                        (gnutls_anon_client_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus +this helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_anon_client_credentials_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_certificate_free_credentials ()

    -
    void                gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc);
    +
    void                gnutls_certificate_free_credentials (gnutls_certificate_credentials_tsc );

    +This structure is complex enough to manipulate directly thus +this helper function is provided in order to free (deallocate) it.

    +

    +This function does not free any temporary parameters associated +with this structure (ie RSA and DH parameters are not freed by +this function).

    -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    -
    +

    gnutls_certificate_allocate_credentials ()

    -
    int                 gnutls_certificate_allocate_credentials
    -                                                        (gnutls_certificate_credentials_t *res);
    +
    int                 gnutls_certificate_allocate_credentials
    +                                                        (gnutls_certificate_credentials_t *res);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    - -

    res :

    + is a pointer to an gnutls_certificate_credentials_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_certificate_free_keys ()

    -
    void                gnutls_certificate_free_keys        (gnutls_certificate_credentials_t sc);
    +
    void                gnutls_certificate_free_keys        (gnutls_certificate_credentials_t sc);

    -

    +This function will delete all the keys and the certificates associated +with the given credentials. This function must not be called when a +TLS negotiation that uses the credentials is in progress.

    -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    -
    +

    gnutls_certificate_free_cas ()

    -
    void                gnutls_certificate_free_cas         (gnutls_certificate_credentials_t sc);
    +
    void                gnutls_certificate_free_cas         (gnutls_certificate_credentials_t sc);

    -

    +This function will delete all the CAs associated +with the given credentials. Servers that do not use +gnutls_certificate_verify_peers2() may call this to +save some memory.

    -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    -
    +

    gnutls_certificate_free_ca_names ()

    -
    void                gnutls_certificate_free_ca_names    (gnutls_certificate_credentials_t sc);
    +
    void                gnutls_certificate_free_ca_names    (gnutls_certificate_credentials_t sc);

    +This function will delete all the CA name in the +given credentials. Clients may call this to save some memory +since in client side the CA names are not used.

    +

    +CA names are used by servers to advertize the CAs they +support to clients.

    -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    -
    +

    gnutls_certificate_free_crls ()

    -
    void                gnutls_certificate_free_crls        (gnutls_certificate_credentials_t sc);
    +
    void                gnutls_certificate_free_crls        (gnutls_certificate_credentials_t sc);

    -

    +This function will delete all the CRLs associated +with the given credentials.

    -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    -
    +

    gnutls_certificate_set_dh_params ()

    -
    void                gnutls_certificate_set_dh_params    (gnutls_certificate_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    +
    void                gnutls_certificate_set_dh_params    (gnutls_certificate_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);

    -

    +This function will set the diffie hellman parameters for a +certificate server to use. These parameters will be used in +Ephemeral Diffie Hellman cipher suites. Note that only a pointer +to the parameters are stored in the certificate handle, so if you +deallocate the parameters before the certificate is deallocated, +you must change the parameters stored in the certificate first.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    dh_params :

    + is a structure that holds diffie hellman parameters.

    -
    +

    gnutls_certificate_set_rsa_export_params ()

    -
    void                gnutls_certificate_set_rsa_export_params
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         gnutls_rsa_params_t rsa_params);
    -

    -

    +
    void                gnutls_certificate_set_rsa_export_params
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         gnutls_rsa_params_t rsa_params);
    +

    +This function will set the temporary RSA parameters for a +certificate server to use. These parameters will be used in +RSA-EXPORT cipher suites.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    rsa_params :

    + is a structure that holds temporary RSA parameters.

    -
    +

    gnutls_certificate_set_verify_flags ()

    -
    void                gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res,
    -                                                         unsigned int flags);
    +
    void                gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_tres ,
    +                                                         unsigned int flags);

    -

    +This function will set the flags to be used at verification of the +certificates. Flags must be OR of the +gnutls_certificate_verify_flags enumerations.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    flags :

    + are the flags

    -
    +

    gnutls_certificate_set_verify_limits ()

    -
    void                gnutls_certificate_set_verify_limits
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         unsigned int max_bits,
    -                                                         unsigned int max_depth);
    -

    -

    +
    void                gnutls_certificate_set_verify_limits
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         unsigned int max_bits,
    +                                                         unsigned int max_depth);
    +

    +This function will set some upper limits for the default +verification function, gnutls_certificate_verify_peers2(), to avoid +denial of service attacks. You can set them to zero to disable +limits.

    - - -

    res :

    + is a gnutls_certificate_credentials structure

    max_bits :

    + is the number of bits of an acceptable certificate (default 8200)

    max_depth :

    + is maximum depth of the verification of a certificate chain (default 5)

    -
    +

    gnutls_certificate_set_x509_trust_file ()

    -
    int                 gnutls_certificate_set_x509_trust_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *cafile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -

    +

    int                 gnutls_certificate_set_x509_trust_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CAFILE,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function adds the trusted CAs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). This function may be called +multiple times.

    +

    +In case of a server the names of the CAs set here will be sent to +the client if a certificate request is sent. This can be disabled +using gnutls_certificate_send_x509_rdn_sequence().

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    cafile :

    + is a file containing the list of trusted CAs (DER or PEM list)

    type :

    + is PEM or DER

    Returns :

    + number of certificates processed, or a negative value on +error.

    -
    +

    gnutls_certificate_set_x509_trust_mem ()

    -
    int                 gnutls_certificate_set_x509_trust_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *ca,
    -                                                         gnutls_x509_crt_fmt_t type);
    -

    +

    int                 gnutls_certificate_set_x509_trust_mem
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CA,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function adds the trusted CAs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). This function may be called +multiple times.

    +

    +In case of a server the CAs set here will be sent to the client if +a certificate request is sent. This can be disabled using +gnutls_certificate_send_x509_rdn_sequence().

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    ca :

    + is a list of trusted CAs or a DER certificate

    type :

    + is DER or PEM

    Returns :

    + the number of certificates processed or a negative value +on error.

    -
    +

    gnutls_certificate_set_x509_crl_file ()

    -
    int                 gnutls_certificate_set_x509_crl_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *crlfile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -

    -

    +
    int                 gnutls_certificate_set_x509_crl_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *crlfile,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function adds the trusted CRLs in order to verify client or server +certificates. In case of a client this is not required +to be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). +This function may be called multiple times.

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    crlfile :

    + is a file containing the list of verified CRLs (DER or PEM list)

    type :

    + is PEM or DER

    Returns :

    + number of CRLs processed or a negative value on error.

    -
    +

    gnutls_certificate_set_x509_crl_mem ()

    -
    int                 gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *CRL,
    -                                                         gnutls_x509_crt_fmt_t type);
    -

    -

    +
    int                 gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CRL,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function adds the trusted CRLs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). This function may be called +multiple times.

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    CRL :

    + is a list of trusted CRLs. They should have been verified before.

    type :

    + is DER or PEM

    Returns :

    + number of CRLs processed, or a negative value on error.

    -
    +

    gnutls_certificate_set_x509_key_file ()

    -
    int                 gnutls_certificate_set_x509_key_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         gnutls_x509_crt_fmt_t type);
    -

    +

    int                 gnutls_certificate_set_x509_key_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be +called more than once (in case multiple keys/certificates exist +for the server).

    +

    +Currently only PKCS-1 encoded RSA and DSA private keys are accepted by +this function.

    - - - + - - + - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    certfile :

    +

    CERTFILE :

    is a file that containing the certificate list (path) for +the specified private key, in PKCS7 format, or a list of certificates

    keyfile :

    +

    KEYFILE :

    is a file that contains the private key

    type :

    + is PEM or DER

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_certificate_set_x509_key_mem ()

    -
    int                 gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_x509_crt_fmt_t type);
    +
    int                 gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         gnutls_x509_crt_fmt_t type);
    +

    +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server). +

    +

    +Currently are supported: RSA PKCS-1 encoded private keys, +DSA private keys. +

    +

    +DSA private keys are encoded the OpenSSL way, which is an ASN.1 +DER sequence of 6 INTEGERs - version, p, q, g, pub, priv. +

    +

    +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +is supported. This means that certificates intended for signing cannot +be used for ciphersuites that require encryption. +

    +If the certificate and the private key are given in PEM encoding +then the strings that hold their values must be null terminated.

    +

    +The key may be NULL if you are using a sign callback, see +gnutls_sign_callback_set().

    - - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    cert :

    + contains a certificate list (path) for the specified private key

    key :

    + is the private key, or NULL

    type :

    + is PEM or DER

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_certificate_send_x509_rdn_sequence ()

    -
    void                gnutls_certificate_send_x509_rdn_sequence
    -                                                        (gnutls_session_t session,
    -                                                         int status);
    +
    void                gnutls_certificate_send_x509_rdn_sequence
    +                                                        (gnutls_session_t session,
    +                                                         int status);

    +If status is non zero, this function will order gnutls not to send +the rdnSequence in the certificate request message. That is the +server will not advertize it's trusted CAs to the peer. If status +is zero then the default behaviour will take effect, which is to +advertize the server's trusted CAs.

    +

    +This function has no effect in clients, and in authentication +methods other than certificate with X.509 certificates.

    - -

    session :

    + is a pointer to a gnutls_session_t structure.

    status :

    + is 0 or 1

    -
    +

    gnutls_certificate_set_x509_simple_pkcs12_file ()

    -
    int                 gnutls_certificate_set_x509_simple_pkcs12_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *pkcs12file,
    -                                                         gnutls_x509_crt_fmt_t type,
    -                                                         const char *password);
    +
    int                 gnutls_certificate_set_x509_simple_pkcs12_file
    +                                                        (gnutls_certificate_credentials_t res,
    +                                                         const char *pkcs12file,
    +                                                         gnutls_x509_crt_fmt_t type,
    +                                                         const char *password);

    This function sets a certificate/private key pair and/or a CRL in the gnutls_certificate_credentials_t structure. This function may @@ -4919,12 +4949,12 @@

    MAC:ed PKCS12 files are supported. Encrypted PKCS12 bags are -supported. Encrypted PKCS#8 private keys are supported. However, +supported. Encrypted PKCS8 private keys are supported. However, only password based security, and the same password for all operations, are supported.

    -The private keys may be RSA PKCS#1 or DSA private keys encoded in +The private keys may be RSA PKCS1 or DSA private keys encoded in the OpenSSL way.

    @@ -4943,22 +4973,22 @@

    res :

    -is a gnutls_certificate_credentials_t structure. + is an gnutls_certificate_credentials_t structure.

    pkcs12file :

    -filename of file containing PKCS12 blob. + filename of file containing PKCS12 blob.

    type :

    -is PEM or DER of the pkcs12file. + is PEM or DER of the pkcs12file.

    password :

    -optional password used to decrypt PKCS12 file, bags and keys. + optional password used to decrypt PKCS12 file, bags and keys. @@ -4970,61 +5000,77 @@

    -
    -

    gnutls_certificate_set_x509_simple_pkcs12_mem ()

    -
    int                 gnutls_certificate_set_x509_simple_pkcs12_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum *p12blob,
    -                                                         gnutls_x509_crt_fmt_t type,
    -                                                         const char *password);
    -

    -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). -

    -

    -MAC:ed PKCS12 files are supported. Encrypted PKCS12 bags are -supported. Encrypted PKCS#8 private keys are supported. However, -only password based security, and the same password for all -operations, are supported. -

    -

    -The private keys may be RSA PKCS#1 or DSA private keys encoded in -the OpenSSL way. -

    -

    -PKCS12 file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS12 file only contain one key/certificate -pair and/or one CRL. -

    -

    -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all.

    +
    +

    gnutls_x509_privkey_t

    +
      typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t;
    +
    +
    +
    +
    +

    struct gnutls_x509_crl_int

    +
    struct gnutls_x509_crl_int;
    +
    +
    +
    +

    gnutls_x509_crl_t

    +
      typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t;
    +
    +
    +
    +
    +

    struct gnutls_x509_crt_int

    +
    struct gnutls_x509_crt_int;
    +
    +
    +
    +

    gnutls_x509_crt_t

    +
      typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t;
    +
    +
    +
    +
    +

    struct gnutls_openpgp_keyring_int

    +
    struct gnutls_openpgp_keyring_int;
    +
    +
    +
    +

    gnutls_openpgp_keyring_t

    +
      typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t;
    +
    +
    +
    +
    +

    gnutls_certificate_set_x509_key ()

    +
    int                 gnutls_certificate_set_x509_key     (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crt_t *cert_list,
    +                                                         int cert_list_size,
    +                                                         gnutls_x509_privkey_t key);
    +

    +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be +called more than once (in case multiple keys/certificates exist +for the server).

    - - - + - - + - - + @@ -5035,1319 +5081,1153 @@

    res :

    is a gnutls_certificate_credentials_t structure. + is an gnutls_certificate_credentials_t structure.

    p12blob :

    the PKCS12 blob. +

    cert_list :

    contains a certificate list (path) for the specified private key

    type :

    is PEM or DER of the pkcs12file. +

    cert_list_size :

    holds the size of the certificate list

    password :

    optional password used to decrypt PKCS12 file, bags and keys. +

    key :

    is a gnutls_x509_privkey_t key
    -

    Since 2.8.0

    +

    Since 2.4.0 +


    -
    -

    gnutls_x509_privkey_t

    -
      typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t;
    -
    -

    -

    -
    -
    -
    -

    struct gnutls_x509_crl_int

    -
    struct gnutls_x509_crl_int;
    -

    -

    -
    -
    -
    -

    gnutls_x509_crl_t

    -
      typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t;
    -
    -

    -

    -
    -
    -
    -

    struct gnutls_x509_crt_int

    -
    struct gnutls_x509_crt_int;
    -

    -

    -
    -
    -
    -

    gnutls_x509_crt_t

    -
      typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t;
    -
    -

    -

    -
    -
    -
    -

    struct gnutls_openpgp_keyring_int

    -
    struct gnutls_openpgp_keyring_int;
    -

    -

    -
    -
    -
    -

    gnutls_openpgp_keyring_t

    -
      typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t;
    -
    -

    -

    -
    -
    -
    -

    gnutls_certificate_set_x509_key ()

    -
    int                 gnutls_certificate_set_x509_key     (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crt_t *cert_list,
    -                                                         int cert_list_size,
    -                                                         gnutls_x509_privkey_t key);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    res :

    -

    cert_list :

    -

    cert_list_size :

    -

    key :

    -

    Returns :

    -
    -
    -
    -
    +

    gnutls_certificate_set_x509_trust ()

    -
    int                 gnutls_certificate_set_x509_trust   (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crt_t *ca_list,
    -                                                         int ca_list_size);
    -

    +

    int                 gnutls_certificate_set_x509_trust   (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crt_t *ca_list,
    +                                                         int ca_list_size);
    +

    +This function adds the trusted CAs in order to verify client +or server certificates. In case of a client this is not required +to be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). +This function may be called multiple times.

    +

    +In case of a server the CAs set here will be sent to the client if +a certificate request is sent. This can be disabled using +gnutls_certificate_send_x509_rdn_sequence().

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    ca_list :

    + is a list of trusted CAs

    ca_list_size :

    + holds the size of the CA list

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_set_x509_crl ()

    -
    int                 gnutls_certificate_set_x509_crl     (gnutls_certificate_credentials_t res,
    -                                                         gnutls_x509_crl_t *crl_list,
    -                                                         int crl_list_size);
    -

    -

    +
    int                 gnutls_certificate_set_x509_crl     (gnutls_certificate_credentials_t res,
    +                                                         gnutls_x509_crl_t *crl_list,
    +                                                         int crl_list_size);
    +

    +This function adds the trusted CRLs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +gnutls_certificate_verify_peers2(). This function may be called +multiple times.

    - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    crl_list :

    + is a list of trusted CRLs. They should have been verified before.

    crl_list_size :

    + holds the size of the crl_list

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_get_x509_cas ()

    -
    void                gnutls_certificate_get_x509_cas     (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_x509_crt_t **x509_ca_list,
    -                                                         unsigned int *ncas);
    +
    void                gnutls_certificate_get_x509_cas     (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_x509_crt_t **x509_ca_list,
    +                                                         unsigned int *ncas);

    -

    +This function will export all the CAs associated +with the given credentials.

    - - -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    x509_ca_list :

    + will point to the CA list. Should be treated as constant

    ncas :

    + the number of CAs
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_get_x509_crls ()

    -
    void                gnutls_certificate_get_x509_crls    (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_x509_crl_t **x509_crl_list,
    -                                                         unsigned int *ncrls);
    +
    void                gnutls_certificate_get_x509_crls    (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_x509_crl_t **x509_crl_list,
    +                                                         unsigned int *ncrls);

    -

    +This function will export all the CRLs associated with the given +credentials.

    - - -

    sc :

    + is an gnutls_certificate_credentials_t structure.

    x509_crl_list :

    + the exported CRL list. Should be treated as constant

    ncrls :

    + the number of exported CRLs
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_get_openpgp_keyring ()

    -
    void                gnutls_certificate_get_openpgp_keyring
    -                                                        (gnutls_certificate_credentials_t sc,
    -                                                         gnutls_openpgp_keyring_t *keyring);
    +
    void                gnutls_certificate_get_openpgp_keyring
    +                                                        (gnutls_certificate_credentials_t sc,
    +                                                         gnutls_openpgp_keyring_t *keyring);

    -

    +This function will export the OpenPGP keyring associated with the +given credentials.

    - - - +

    sc :

    + is an gnutls_certificate_credentials_t structure.

    keyring :

    +

    ring :

    the exported keyring. Should be treated as constant
    +

    Since 2.4.0 +


    -
    +

    gnutls_global_init ()

    -
    int                 gnutls_global_init                  (void);
    +
    int                 gnutls_global_init                  (void);

    -

    +This function initializes the global data to defaults. Every +gnutls application has a global data which holds common parameters +shared by gnutls session structures. You should call +gnutls_global_deinit() when gnutls usage is no longer needed +

    +

    +Note that this function will also initialize libgcrypt, if it has +not been initialized before. Thus if you want to manually +initialize libgcrypt you must do it before calling this function. +This is useful in cases you want to disable libgcrypt's internal +lockings etc. +

    +

    +This function increment a global counter, so that +gnutls_global_deinit() only releases resources when it has been +called as many times as gnutls_global_init(). This is useful when +GnuTLS is used by more than one library in an application. This +function can be called many times, but will only do something the +first time. +

    +

    +Note! This function is not thread safe. If two threads call this +function simultaneously, they can cause a race between checking +the global counter and incrementing it, causing both threads to +execute the library initialization code. That would lead to a +memory leak. To handle this, your application could invoke this +function after aquiring a thread mutex. To ignore the potential +memory leak is also an option.

    -

    Returns :

    + On success, GNUTLS_E_SUCCESS (zero) is returned, + otherwise an error code is returned.

    -
    +

    gnutls_global_deinit ()

    -
    void                gnutls_global_deinit                (void);
    +
    void                gnutls_global_deinit                (void);

    +This function deinitializes the global data, that were initialized +using gnutls_global_init().

    +

    +Note! This function is not thread safe. See the discussion for +gnutls_global_init() for more information.


    -
    +

    gnutls_alloc_function ()

    -
    void *              (*gnutls_alloc_function)            (size_t Param1);
    -

    -

    -
    -- - - - - - - - - - -

    Param1 :

    -

    Returns :

    -
    +
    void*               (*gnutls_alloc_function)            (size_t );

    -
    +

    gnutls_calloc_function ()

    -
    void *              (*gnutls_calloc_function)           (size_t Param1,
    -                                                         size_t Param2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    Param1 :

    -

    Param2 :

    -

    Returns :

    -
    +
    void*               (*gnutls_calloc_function)           (size_t ,
    +                                                         size_t );

    -
    +

    gnutls_is_secure_function ()

    -
    int                 (*gnutls_is_secure_function)        (const void *Param1);
    -

    -

    -
    -- - - - - - - - - - -

    Param1 :

    -

    Returns :

    -
    +
    int                 (*gnutls_is_secure_function)        (const void *);

    -
    +

    gnutls_free_function ()

    -
    void                (*gnutls_free_function)             (void *Param1);
    -

    -

    -
    -- - - - -

    Param1 :

    -
    +
    void                (*gnutls_free_function)             (void *);

    -
    +

    gnutls_realloc_function ()

    -
    void *              (*gnutls_realloc_function)          (void *Param1,
    -                                                         size_t Param2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    Param1 :

    -

    Param2 :

    -

    Returns :

    -
    +
    void*               (*gnutls_realloc_function)          (void *,
    +                                                         size_t );

    -
    +

    gnutls_global_set_mem_functions ()

    -
    void                gnutls_global_set_mem_functions     (gnutls_alloc_function alloc_func,
    -                                                         gnutls_alloc_function secure_alloc_func,
    -                                                         gnutls_is_secure_function is_secure_func,
    -                                                         gnutls_realloc_function realloc_func,
    -                                                         gnutls_free_function free_func);
    -

    +

    void                gnutls_global_set_mem_functions     (gnutls_alloc_function gt_alloc_func,
    +                                                         gnutls_alloc_functiongt_secure_alloc_func ,
    +                                                         gnutls_is_secure_functiongt_is_secure_func ,
    +                                                         gnutls_realloc_function gt_realloc_func,
    +                                                         gnutls_free_function gt_free_func);
    +

    +This is the function were you set the memory allocation functions gnutls +is going to use. By default the libc's allocation functions (malloc(), free()), +are used by gnutls, to allocate both sensitive and not sensitive data. +This function is provided to set the memory allocation functions to +something other than the defaults (ie the gcrypt allocation functions).

    +

    +This function must be called before gnutls_global_init() is called.

    - - - - -

    alloc_func :

    + it's the default memory allocation function. Like malloc().

    secure_alloc_func :

    + This is the memory allocation function that will be used for sensitive data.

    is_secure_func :

    + a function that returns 0 if the memory given is not secure. May be NULL.

    realloc_func :

    + A realloc function

    free_func :

    + The function that frees allocated data. Must accept a NULL pointer.

    -
    +

    gnutls_malloc

      extern gnutls_alloc_function gnutls_malloc;
     

    +This function will allocate 's' bytes data, and +return a pointer to memory. This function is supposed +to be used by callbacks.

    +

    +The allocation function used is the one set by gnutls_global_set_mem_functions().


    -
    +

    gnutls_secure_malloc

      extern gnutls_alloc_function gnutls_secure_malloc;
     
    -

    -


    -
    +

    gnutls_realloc

      extern gnutls_realloc_function gnutls_realloc;
     
    -

    -


    -
    +

    gnutls_calloc

      extern gnutls_calloc_function gnutls_calloc;
     
    -

    -


    -
    +

    gnutls_free

      extern gnutls_free_function gnutls_free;
     

    +This function will free data pointed by ptr.

    +

    +The deallocation function used is the one set by gnutls_global_set_mem_functions().


    -
    +

    gnutls_strdup ()

    -
    char *              (*gnutls_strdup)                    (const char *Param1);
    -

    -

    -
    -- - - - - - - - - - -

    Param1 :

    -

    Returns :

    -
    +
    char*               gnutls_strdup                       (const char *);

    -
    +

    gnutls_log_func ()

    -
    void                (*gnutls_log_func)                  (...,
    -                                                         const char *Param2);
    -

    -

    -
    -- - - - - - - - - - -

    ... :

    -

    Param2 :

    -
    +
    void                (*gnutls_log_func)                  (...,
    +                                                         const char *);

    -
    +

    gnutls_global_set_log_function ()

    -
    void                gnutls_global_set_log_function      (gnutls_log_func log_func);
    +
    void                gnutls_global_set_log_function      (gnutls_log_func log_func);

    +This is the function where you set the logging function gnutls +is going to use. This function only accepts a character array. +Normally you may not use this function since it is only used +for debugging purposes.

    +

    +gnutls_log_func is of the form, +void (*gnutls_log_func)( int level, const char*);

    -

    log_func :

    + it's a log function

    -
    +

    gnutls_global_set_log_level ()

    -
    void                gnutls_global_set_log_level         (int level);
    +
    void                gnutls_global_set_log_level         (int level);

    +This is the function that allows you to set the log level. +The level is an integer between 0 and 9. Higher values mean +more verbosity. The default value is 0. Larger values should +only be used with care, since they may reveal sensitive information.

    +

    +Use a log level over 10 to enable all debugging options.

    -

    level :

    + it's an integer from 0 to 9.

    -
    +

    gnutls_dh_params_init ()

    -
    int                 gnutls_dh_params_init               (gnutls_dh_params_t *dh_params);
    +
    int                 gnutls_dh_params_init               (gnutls_dh_params_t *dh_params);

    -

    +This function will initialize the DH parameters structure.

    - - + - - - - - - - +

    dh_params :

    -

    Returns :

    + Is a structure that will hold the prime numbers

    -
    +

    gnutls_dh_params_deinit ()

    -
    void                gnutls_dh_params_deinit             (gnutls_dh_params_t dh_params);
    +
    void                gnutls_dh_params_deinit             (gnutls_dh_params_t dh_params);

    -

    +This function will deinitialize the DH parameters structure.

    -

    dh_params :

    + Is a structure that holds the prime numbers

    -
    +

    gnutls_dh_params_import_raw ()

    -
    int                 gnutls_dh_params_import_raw         (gnutls_dh_params_t dh_params,
    -                                                         const gnutls_datum_t *prime,
    -                                                         const gnutls_datum_t *generator);
    -

    -

    +
    int                 gnutls_dh_params_import_raw         (gnutls_dh_params_t dh_params,
    +                                                         const gnutls_datum_t *prime,
    +                                                         const gnutls_datum_t *generator);
    +

    +This function will replace the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters should be stored in the +appropriate gnutls_datum.

    - - - - - - -

    dh_params :

    + Is a structure that will hold the prime numbers

    prime :

    + holds the new prime

    generator :

    -

    Returns :

    + holds the new generator

    -
    +

    gnutls_dh_params_import_pkcs3 ()

    -
    int                 gnutls_dh_params_import_pkcs3       (gnutls_dh_params_t params,
    -                                                         const gnutls_datum_t *pkcs3_params,
    -                                                         gnutls_x509_crt_fmt_t format);
    +
    int                 gnutls_dh_params_import_pkcs3       (gnutls_dh_params_t params,
    +                                                         const gnutls_datum_t *pkcs3_params,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will extract the DHParams found in a PKCS3 formatted +structure. This is the format generated by "openssl dhparam" tool.

    +

    +If the structure is PEM encoded, it should have a header +of "BEGIN DH PARAMETERS". +

    +

    +In case of failure a negative value will be returned, and +0 on success.

    - - - - - - -

    params :

    + A structure where the parameters will be copied to

    pkcs3_params :

    + should contain a PKCS3 DHParams structure PEM or DER encoded

    format :

    -

    Returns :

    + the format of params. PEM or DER.

    -
    +

    gnutls_dh_params_generate2 ()

    -
    int                 gnutls_dh_params_generate2          (gnutls_dh_params_t params,
    -                                                         unsigned int bits);
    +
    int                 gnutls_dh_params_generate2          (gnutls_dh_params_t params,
    +                                                         unsigned int bits);

    +This function will generate a new pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum. +This function is normally slow.

    +

    +Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. +Also note that the DH parameters are only useful to servers. +Since clients use the parameters sent by the server, it's of +no use to call this in client side.

    - - - - - -

    params :

    + Is the structure that the DH parameters will be stored

    bits :

    -

    Returns :

    + is the prime's number of bits

    -
    +

    gnutls_dh_params_export_pkcs3 ()

    -
    int                 gnutls_dh_params_export_pkcs3       (gnutls_dh_params_t params,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned char *params_data,
    -                                                         size_t *params_data_size);
    +
    int                 gnutls_dh_params_export_pkcs3       (gnutls_dh_params_t params,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned char *params_data,
    +                                                         size_t *params_data_size);
    +

    +This function will export the given dh parameters to a PKCS3 +DHParams structure. This is the format generated by "openssl dhparam" tool. +If the buffer provided is not long enough to hold the output, then +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. +

    +If the structure is PEM encoded, it will have a header +of "BEGIN DH PARAMETERS".

    +

    +In case of failure a negative value will be returned, and +0 on success.

    - - - - - - - -

    params :

    + Holds the DH parameters

    format :

    + the format of output params. One of PEM or DER.

    params_data :

    + will contain a PKCS3 DHParams structure PEM or DER encoded

    params_data_size :

    -

    Returns :

    + holds the size of params_data (and will be replaced by the actual size of parameters)

    -
    +

    gnutls_dh_params_export_raw ()

    -
    int                 gnutls_dh_params_export_raw         (gnutls_dh_params_t params,
    -                                                         gnutls_datum_t *prime,
    -                                                         gnutls_datum_t *generator,
    -                                                         unsigned int *bits);
    -

    -

    +
    int                 gnutls_dh_params_export_raw         (gnutls_dh_params_t params,
    +                                                         gnutls_datum_t *prime,
    +                                                         gnutls_datum_t *generator,
    +                                                         unsigned int *bits);
    +

    +This function will export the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - -

    params :

    + Holds the DH parameters

    prime :

    + will hold the new prime

    generator :

    + will hold the new generator

    bits :

    -

    Returns :

    + if non null will hold is the prime's number of bits

    -
    +

    gnutls_dh_params_cpy ()

    -
    int                 gnutls_dh_params_cpy                (gnutls_dh_params_t dst,
    -                                                         gnutls_dh_params_t src);
    +
    int                 gnutls_dh_params_cpy                (gnutls_dh_params_t dst,
    +                                                         gnutls_dh_params_t src);

    -

    +This function will copy the DH parameters structure from source +to destination.

    - - - - - -

    dst :

    + Is the destination structure, which should be initialized.

    src :

    -

    Returns :

    + Is the source structure

    -
    +

    gnutls_rsa_params_init ()

    -
    int                 gnutls_rsa_params_init              (gnutls_rsa_params_t *rsa_params);
    +
    int                 gnutls_rsa_params_init              (gnutls_rsa_params_t *rsa_params);

    -

    +This function will initialize the temporary RSA parameters structure.

    - - + - - - - - - - +

    rsa_params :

    -

    Returns :

    + Is a structure that will hold the parameters

    -
    +

    gnutls_rsa_params_deinit ()

    -
    void                gnutls_rsa_params_deinit            (gnutls_rsa_params_t rsa_params);
    +
    void                gnutls_rsa_params_deinit            (gnutls_rsa_params_t rsa_params);

    -

    +This function will deinitialize the RSA parameters structure.

    -

    rsa_params :

    + Is a structure that holds the parameters

    -
    +

    gnutls_rsa_params_cpy ()

    -
    int                 gnutls_rsa_params_cpy               (gnutls_rsa_params_t dst,
    -                                                         gnutls_rsa_params_t src);
    +
    int                 gnutls_rsa_params_cpy               (gnutls_rsa_params_t dst,
    +                                                         gnutls_rsa_params_t src);

    -

    +This function will copy the RSA parameters structure from source +to destination.

    - - - - - -

    dst :

    + Is the destination structure, which should be initialized.

    src :

    -

    Returns :

    + Is the source structure

    -
    +

    gnutls_rsa_params_import_raw ()

    -
    int                 gnutls_rsa_params_import_raw        (gnutls_rsa_params_t rsa_params,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e,
    -                                                         const gnutls_datum_t *d,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *u);
    +
    int                 gnutls_rsa_params_import_raw        (gnutls_rsa_params_t rsa_params,
    +                                                         const gnutls_datum_t *m,
    +                                                         const gnutls_datum_t *e,
    +                                                         const gnutls_datum_t *d,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *u);

    -

    +This function will replace the parameters in the given structure. +The new parameters should be stored in the appropriate gnutls_datum.

    - - - - - - - - - - -

    rsa_params :

    + Is a structure will hold the parameters

    m :

    + holds the modulus

    e :

    + holds the public exponent

    d :

    + holds the private exponent

    p :

    + holds the first prime (p)

    q :

    + holds the second prime (q)

    u :

    -

    Returns :

    + holds the coefficient

    -
    +

    gnutls_rsa_params_generate2 ()

    -
    int                 gnutls_rsa_params_generate2         (gnutls_rsa_params_t params,
    -                                                         unsigned int bits);
    +
    int                 gnutls_rsa_params_generate2         (gnutls_rsa_params_t params,
    +                                                         unsigned int bits);

    +This function will generate new temporary RSA parameters for use in +RSA-EXPORT ciphersuites. This function is normally slow.

    +

    +Note that if the parameters are to be used in export cipher suites the +bits value should be 512 or less. +Also note that the generation of new RSA parameters is only useful +to servers. Clients use the parameters sent by the server, thus it's +no use calling this in client side.

    - - - - - -

    params :

    + The structure where the parameters will be stored

    bits :

    -

    Returns :

    + is the prime's number of bits

    -
    +

    gnutls_rsa_params_export_raw ()

    -
    int                 gnutls_rsa_params_export_raw        (gnutls_rsa_params_t params,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u,
    -                                                         unsigned int *bits);
    -

    -

    +
    int                 gnutls_rsa_params_export_raw        (gnutls_rsa_params_t params,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u,
    +                                                         unsigned int *bits);
    +

    +This function will export the RSA parameters found in the given +structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    params :

    + a structure that holds the rsa parameters

    m :

    + will hold the modulus

    e :

    -

    d :

    -

    p :

    -

    q :

    -

    u :

    -

    bits :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_rsa_params_export_pkcs1 ()

    -
    int                 gnutls_rsa_params_export_pkcs1      (gnutls_rsa_params_t params,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned char *params_data,
    -                                                         size_t *params_data_size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - -

    params :

    + will hold the public exponent

    format :

    -

    params_data :

    -

    params_data_size :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_rsa_params_import_pkcs1 ()

    -
    int                 gnutls_rsa_params_import_pkcs1      (gnutls_rsa_params_t params,
    -                                                         const gnutls_datum_t *pkcs1_params,
    -                                                         gnutls_x509_crt_fmt_t format);
    -

    -

    -
    -- - - - + - - + - - + - - + + + + +

    params :

    +

    d :

    will hold the private exponent

    pkcs1_params :

    +

    p :

    will hold the first prime (p)

    format :

    +

    q :

    will hold the second prime (q)

    Returns :

    +

    u :

    will hold the coefficient +

    bits :

    if non null will hold the prime's number of bits

    -
    -

    gnutls_pull_func ()

    -
    ssize_t             (*gnutls_pull_func)                 (gnutls_transport_ptr_t Param1,
    -                                                         void *Param2,
    -                                                         size_t Param3);
    +
    +

    gnutls_rsa_params_export_pkcs1 ()

    +
    int                 gnutls_rsa_params_export_pkcs1      (gnutls_rsa_params_t params,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned char *params_data,
    +                                                         size_t *params_data_size);
    +

    +This function will export the given RSA parameters to a PKCS1 +RSAPublicKey structure. If the buffer provided is not long enough to +hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. +

    +If the structure is PEM encoded, it will have a header +of "BEGIN RSA PRIVATE KEY".

    +

    +In case of failure a negative value will be returned, and +0 on success.

    - - + - - + - - + - - +

    Param1 :

    +

    params :

    Holds the RSA parameters

    Param2 :

    +

    format :

    the format of output params. One of PEM or DER.

    Param3 :

    +

    params_data :

    will contain a PKCS1 RSAPublicKey structure PEM or DER encoded

    Returns :

    +

    params_data_size :

    holds the size of params_data (and will be replaced by the actual size of parameters)

    -
    -

    gnutls_push_func ()

    -
    ssize_t             (*gnutls_push_func)                 (gnutls_transport_ptr_t Param1,
    -                                                         const void *Param2,
    -                                                         size_t Param3);
    +
    +

    gnutls_rsa_params_import_pkcs1 ()

    +
    int                 gnutls_rsa_params_import_pkcs1      (gnutls_rsa_params_t params,
    +                                                         const gnutls_datum_t *pkcs1_params,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will extract the RSAPublicKey found in a PKCS1 formatted +structure.

    +

    +If the structure is PEM encoded, it should have a header +of "BEGIN RSA PRIVATE KEY". +

    +

    +In case of failure a negative value will be returned, and +0 on success.

    - - - - - - + - - + - - +

    Param1 :

    -

    Param2 :

    +

    params :

    A structure where the parameters will be copied to

    Param3 :

    +

    pkcs1_params :

    should contain a PKCS1 RSAPublicKey structure PEM or DER encoded

    Returns :

    +

    format :

    the format of params. PEM or DER.

    -
    +
    +

    gnutls_pull_func ()

    +
    ssize_t             (*gnutls_pull_func)                 (gnutls_transport_ptr_t ,
    +                                                         void *,
    +                                                         size_t );
    +
    +
    +
    +

    gnutls_push_func ()

    +
    ssize_t             (*gnutls_push_func)                 (gnutls_transport_ptr_t ,
    +                                                         const void *,
    +                                                         size_t );
    +
    +
    +

    gnutls_transport_set_ptr ()

    -
    void                gnutls_transport_set_ptr            (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t ptr);
    +
    void                gnutls_transport_set_ptr            (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t ptr);

    -

    +Used to set the first argument of the transport function (like +PUSH and PULL). In berkeley style sockets this function will set +the connection handle.

    - -

    session :

    + is a gnutls_session_t structure.

    ptr :

    + is the value.

    -
    +

    gnutls_transport_set_ptr2 ()

    -
    void                gnutls_transport_set_ptr2           (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t recv_ptr,
    -                                                         gnutls_transport_ptr_t send_ptr);
    +
    void                gnutls_transport_set_ptr2           (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t recv_ptr,
    +                                                         gnutls_transport_ptr_t send_ptr);

    -

    +Used to set the first argument of the transport function (like +PUSH and PULL). In berkeley style sockets this function will set +the connection handle. With this function you can use two +different pointers for receiving and sending.

    - - -

    session :

    + is a gnutls_session_t structure.

    recv_ptr :

    + is the value for the pull function

    send_ptr :

    + is the value for the push function

    -
    +

    gnutls_transport_get_ptr ()

    -
    gnutls_transport_ptr_t  gnutls_transport_get_ptr        (gnutls_session_t session);
    +
    gnutls_transport_ptr_t gnutls_transport_get_ptr         (gnutls_session_t session);

    -

    +Used to get the first argument of the transport function (like +PUSH and PULL). This must have been set using +gnutls_transport_set_ptr().

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + first argument of the transport function.

    -
    +

    gnutls_transport_get_ptr2 ()

    -
    void                gnutls_transport_get_ptr2           (gnutls_session_t session,
    -                                                         gnutls_transport_ptr_t *recv_ptr,
    -                                                         gnutls_transport_ptr_t *send_ptr);
    +
    void                gnutls_transport_get_ptr2           (gnutls_session_t session,
    +                                                         gnutls_transport_ptr_t *recv_ptr,
    +                                                         gnutls_transport_ptr_t *send_ptr);

    -

    +Used to get the arguments of the transport functions (like PUSH +and PULL). These should have been set using +gnutls_transport_set_ptr2().

    - - -

    session :

    + is a gnutls_session_t structure.

    recv_ptr :

    + will hold the value for the pull function

    send_ptr :

    + will hold the value for the push function

    -
    +

    gnutls_transport_set_lowat ()

    -
    void                gnutls_transport_set_lowat          (gnutls_session_t session,
    -                                                         int num);
    +
    void                gnutls_transport_set_lowat          (gnutls_session_t session,
    +                                                         int num);

    -

    +Used to set the lowat value in order for select to check if there +are pending data to socket buffer. Used only if you have changed +the default low water value (default is 1). Normally you will not +need that function. This function is only useful if using +berkeley style sockets. Otherwise it must be called and set lowat +to zero.

    - -

    session :

    + is a gnutls_session_t structure.

    num :

    + is the low water value.

    -
    +

    gnutls_transport_set_push_function ()

    -
    void                gnutls_transport_set_push_function  (gnutls_session_t session,
    -                                                         gnutls_push_func push_func);
    +
    void                gnutls_transport_set_push_function  (gnutls_session_t session,
    +                                                         gnutls_push_func push_func);

    -

    +This is the function where you set a push function for gnutls +to use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since +the default (send(2)) will probably be ok. Otherwise you should +specify this function for gnutls to be able to send data. + +PUSH_FUNC is of the form, +ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t);

    - - + - - +

    session :

    +

    push_func :

    a callback function similar to write()

    push_func :

    +

    session :

    gnutls session

    -
    +

    gnutls_transport_set_pull_function ()

    -
    void                gnutls_transport_set_pull_function  (gnutls_session_t session,
    -                                                         gnutls_pull_func pull_func);
    +
    void                gnutls_transport_set_pull_function  (gnutls_session_t session,
    +                                                         gnutls_pull_func pull_func);

    +This is the function where you set a function for gnutls +to receive data. Normally, if you use berkeley style sockets, +do not need to use this function since the default (recv(2)) will +probably be ok.

    +

    +PULL_FUNC is of the form, +ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t);

    - - + - - +

    session :

    +

    pull_func :

    a callback function similar to read()

    pull_func :

    +

    session :

    gnutls session

    -
    +

    gnutls_transport_set_errno ()

    -
    void                gnutls_transport_set_errno          (gnutls_session_t session,
    -                                                         int err);
    +
    void                gnutls_transport_set_errno          (gnutls_session_t session,
    +                                                         int err);

    Store err in the session-specific errno variable. Useful values for err is EAGAIN and EINTR, other values are treated will be @@ -6370,21 +6250,21 @@

    session :

    -is a gnutls_session_t structure. + is a gnutls_session_t structure.

    err :

    -error value to store in session-specific errno variable. + error value to store in session-specific errno variable.

    -
    +

    gnutls_transport_set_global_errno ()

    -
    void                gnutls_transport_set_global_errno   (int err);
    +
    void                gnutls_transport_set_global_errno   (int err);

    Store err in the global errno variable. Useful values for err is EAGAIN and EINTR, other values are treated will be treated as real @@ -6407,583 +6287,677 @@

    err :

    -error value to store in global errno variable. + error value to store in global errno variable.

    -
    +

    gnutls_session_set_ptr ()

    -
    void                gnutls_session_set_ptr              (gnutls_session_t session,
    -                                                         void *ptr);
    +
    void                gnutls_session_set_ptr              (gnutls_session_t session,
    +                                                         void *ptr);

    -

    +This function will set (associate) the user given pointer ptr to +the session structure. This is pointer can be accessed with +gnutls_session_get_ptr().

    - -

    session :

    + is a gnutls_session_t structure.

    ptr :

    + is the user pointer

    -
    +

    gnutls_session_get_ptr ()

    -
    void *              gnutls_session_get_ptr              (gnutls_session_t session);
    +
    void*               gnutls_session_get_ptr              (gnutls_session_t session);

    -

    +Get user pointer for session. Useful in callbacks. This is the + pointer set with gnutls_session_set_ptr().

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + the user given pointer from the session structure, or + NULL if it was never set.

    -
    +

    gnutls_openpgp_send_cert ()

    -
    void                gnutls_openpgp_send_cert            (gnutls_session_t session,
    -                                                         gnutls_openpgp_crt_status_t status);
    +
    void                gnutls_openpgp_send_cert            (gnutls_session_t session,
    +                                                         gnutls_openpgp_crt_status_t status);

    -

    +This function will order gnutls to send the key fingerprint +instead of the key in the initial handshake procedure. This should +be used with care and only when there is indication or knowledge +that the server can obtain the client's key.

    - -

    session :

    + is a pointer to a gnutls_session_t structure.

    status :

    + is one of GNUTLS_OPENPGP_CERT, or GNUTLS_OPENPGP_CERT_FINGERPRINT

    -
    +

    gnutls_fingerprint ()

    -
    int                 gnutls_fingerprint                  (gnutls_digest_algorithm_t algo,
    -                                                         const gnutls_datum_t *data,
    -                                                         void *result,
    -                                                         size_t *result_size);
    -

    +

    int                 gnutls_fingerprint                  (gnutls_digest_algorithm_t algo,
    +                                                         const gnutls_datum_t *data,
    +                                                         void *result,
    +                                                         size_t *result_size);
    +

    +This function will calculate a fingerprint (actually a hash), of +the given data. The result is not printable data. You should +convert it to hex, or to something else printable.

    +

    +This is the usual way to calculate a fingerprint of an X.509 DER +encoded certificate. Note however that the fingerprint of an +OpenPGP is not just a hash and cannot be calculated with this +function.

    - - - - -

    algo :

    + is a digest algorithm

    data :

    + is the data

    result :

    + is the place where the result will be copied (may be null).

    result_size :

    + should hold the size of the result. The actual size +of the returned result will also be copied there.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_srp_free_client_credentials ()

    -
    void                gnutls_srp_free_client_credentials  (gnutls_srp_client_credentials_t sc);
    +
    void                gnutls_srp_free_client_credentials  (gnutls_srp_client_credentials_tsc );

    -

    +This structure is complex enough to manipulate directly thus +this helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_srp_client_credentials_t structure.

    -
    +

    gnutls_srp_allocate_client_credentials ()

    -
    int                 gnutls_srp_allocate_client_credentials
    -                                                        (gnutls_srp_client_credentials_t *sc);
    +
    int                 gnutls_srp_allocate_client_credentials
    +                                                        (gnutls_srp_client_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus +this helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_srp_server_credentials_t structure.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, or an + error code.

    -
    +

    gnutls_srp_set_client_credentials ()

    -
    int                 gnutls_srp_set_client_credentials   (gnutls_srp_client_credentials_t res,
    -                                                         const char *username,
    -                                                         const char *password);
    -

    -

    +
    int                 gnutls_srp_set_client_credentials   (gnutls_srp_client_credentials_t res,
    +                                                         const char *username,
    +                                                         const char *password);
    +

    +This function sets the username and password, in a +gnutls_srp_client_credentials_t structure. Those will be used in +SRP authentication. username and password should be ASCII +strings or UTF-8 strings prepared using the "SASLprep" profile of +"stringprep".

    - - - -

    res :

    + is an gnutls_srp_client_credentials_t structure.

    username :

    + is the user's userid

    password :

    + is the user's password

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, or an + error code.

    -
    +

    gnutls_srp_free_server_credentials ()

    -
    void                gnutls_srp_free_server_credentials  (gnutls_srp_server_credentials_t sc);
    +
    void                gnutls_srp_free_server_credentials  (gnutls_srp_server_credentials_tsc );

    -

    +This structure is complex enough to manipulate directly thus +this helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_srp_server_credentials_t structure.

    -
    +

    gnutls_srp_allocate_server_credentials ()

    -
    int                 gnutls_srp_allocate_server_credentials
    -                                                        (gnutls_srp_server_credentials_t *sc);
    +
    int                 gnutls_srp_allocate_server_credentials
    +                                                        (gnutls_srp_server_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_srp_server_credentials_t structure.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, or an + error code.

    -
    +

    gnutls_srp_set_server_credentials_file ()

    -
    int                 gnutls_srp_set_server_credentials_file
    -                                                        (gnutls_srp_server_credentials_t res,
    -                                                         const char *password_file,
    -                                                         const char *password_conf_file);
    -

    -

    +
    int                 gnutls_srp_set_server_credentials_file
    +                                                        (gnutls_srp_server_credentials_tres ,
    +                                                         const char *password_file,
    +                                                         const char *password_conf_file);
    +

    +This function sets the password files, in a +gnutls_srp_server_credentials_t structure. Those password files +hold usernames and verifiers and will be used for SRP +authentication.

    - - - -

    res :

    + is an gnutls_srp_server_credentials_t structure.

    password_file :

    + is the SRP password file (tpasswd)

    password_conf_file :

    + is the SRP password conf file (tpasswd.conf)

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, or an + error code.

    -
    +

    gnutls_srp_server_get_username ()

    -
    const char *        gnutls_srp_server_get_username      (gnutls_session_t session);
    +
    const char*         gnutls_srp_server_get_username      (gnutls_session_t session);

    -

    +This function will return the username of the peer. This should +only be called in case of SRP authentication and in case of a +server. Returns NULL in case of an error.

    - - - - -

    session :

    + is a gnutls session

    Returns :

    -
    -
    -
    -
    -

    gnutls_srp_set_prime_bits ()

    -
    void                gnutls_srp_set_prime_bits           (gnutls_session_t session,
    -                                                         unsigned int bits);
    -

    -

    -
    -- - - - - - - -

    session :

    -

    bits :

    + SRP username of the peer, or NULL in case of error.

    -
    +

    gnutls_srp_verifier ()

    -
    int                 gnutls_srp_verifier                 (const char *username,
    -                                                         const char *password,
    -                                                         const gnutls_datum_t *salt,
    -                                                         const gnutls_datum_t *generator,
    -                                                         const gnutls_datum_t *prime,
    -                                                         gnutls_datum_t *res);
    -

    +

    int                 gnutls_srp_verifier                 (const char *username,
    +                                                         const char *password,
    +                                                         const gnutls_datum_t *salt,
    +                                                         const gnutls_datum_t *generator,
    +                                                         const gnutls_datum_t *prime,
    +                                                         gnutls_datum_t *res);
    +

    +This function will create an SRP verifier, as specified in +RFC2945. The prime and generator should be one of the static +parameters defined in gnutls/extra.h or may be generated using the +libgcrypt functions gcry_prime_generate() and +gcry_prime_group_generator().

    +

    +The verifier will be allocated with malloc and will be stored in +res using binary format.

    - - - - - - -

    username :

    + is the user's name

    password :

    + is the user's password

    salt :

    + should be some randomly generated bytes

    generator :

    + is the generator of the group

    prime :

    + is the group's prime

    res :

    + where the verifier will be stored.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, or an + error code.

    -
    +

    gnutls_srp_2048_group_prime

      extern const gnutls_datum_t gnutls_srp_2048_group_prime;
     
    -

    -


    -
    +

    gnutls_srp_2048_group_generator

      extern const gnutls_datum_t gnutls_srp_2048_group_generator;
     
    -

    -


    -
    +

    gnutls_srp_1536_group_prime

      extern const gnutls_datum_t gnutls_srp_1536_group_prime;
     
    -

    -


    -
    +

    gnutls_srp_1536_group_generator

      extern const gnutls_datum_t gnutls_srp_1536_group_generator;
     
    -

    -


    -
    +

    gnutls_srp_1024_group_prime

      extern const gnutls_datum_t gnutls_srp_1024_group_prime;
     
    -

    -


    -
    +

    gnutls_srp_1024_group_generator

      extern const gnutls_datum_t gnutls_srp_1024_group_generator;
     
    -

    -


    -
    +

    gnutls_srp_set_server_credentials_function ()

    -
    void                gnutls_srp_set_server_credentials_function
    -                                                        (gnutls_srp_server_credentials_t cred,
    -                                                         gnutls_srp_server_credentials_function *func);
    +
    void                gnutls_srp_set_server_credentials_function
    +                                                        (gnutls_srp_server_credentials_t cred,
    +                                                         gnutls_srp_server_credentials_function *func);
    +

    +This function can be used to set a callback to retrieve the user's SRP credentials. +The callback's function form is: +int (*callback)(gnutls_session_t, const char* username, + gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* g, + gnutls_datum_t* n); +

    +

    +username contains the actual username. +The salt, verifier, generator and prime must be filled +in using the gnutls_malloc(). For convenience prime and generator +may also be one of the static parameters defined in extra.h. +

    +In case the callback returned a negative number then gnutls will +assume that the username does not exist.

    +

    +In order to prevent attackers from guessing valid usernames, +if a user does not exist, g and n values should be filled in +using a random user's parameters. In that case the callback must +return the special value (1). +

    +

    +The callback function will only be called once per handshake. +The callback function should return 0 on success, while +-1 indicates an error.

    - -

    cred :

    + is a gnutls_srp_server_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_srp_set_client_credentials_function ()

    -
    void                gnutls_srp_set_client_credentials_function
    -                                                        (gnutls_srp_client_credentials_t cred,
    -                                                         gnutls_srp_client_credentials_function *func);
    +
    void                gnutls_srp_set_client_credentials_function
    +                                                        (gnutls_srp_client_credentials_t cred,
    +                                                         gnutls_srp_client_credentials_function *func);
    +

    +This function can be used to set a callback to retrieve the username and +password for client SRP authentication. +

    +

    +The callback's function form is: +

    +

    +int (*callback)(gnutls_session_t, char** username, char**password); +

    +

    +The username and password must be allocated using +gnutls_malloc(). username and password should be ASCII strings +or UTF-8 strings prepared using the "SASLprep" profile of +"stringprep". +

    +

    +The callback function will be called once per handshake before the +initial hello message is sent. +

    +The callback should not return a negative error code the second +time called, since the handshake procedure will be aborted.

    +

    +The callback function should return 0 on success. +-1 indicates an error.

    - -

    cred :

    + is a gnutls_srp_server_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_srp_base64_encode ()

    -
    int                 gnutls_srp_base64_encode            (const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    -

    +

    int                 gnutls_srp_base64_encode            (const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +

    +This function will convert the given data to printable data, using +the base64 encoding, as used in the libsrp. This is the encoding +used in SRP password files. If the provided buffer is not long +enough GNUTLS_E_SHORT_MEMORY_BUFFER is returned.

    +

    +Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.

    - - - -

    data :

    + contain the raw data

    result :

    + the place where base64 data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not +long enough, or 0 on success.

    -
    +

    gnutls_srp_base64_encode_alloc ()

    -
    int                 gnutls_srp_base64_encode_alloc      (const gnutls_datum_t *data,
    -                                                         gnutls_datum_t *result);
    +
    int                 gnutls_srp_base64_encode_alloc      (const gnutls_datum_t *data,
    +                                                         gnutls_datum_t *result);

    +This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in SRP password +files. This function will allocate the required memory to hold +the encoded data.

    +

    +You should use gnutls_free() to free the returned data. +

    +

    +Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.

    - - -

    data :

    + contains the raw data

    result :

    + will hold the newly allocated encoded data

    Returns :

    + 0 on success, or an error code.

    -
    +

    gnutls_srp_base64_decode ()

    -
    int                 gnutls_srp_base64_decode            (const gnutls_datum_t *b64_data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    +
    int                 gnutls_srp_base64_decode            (const gnutls_datum_t *b64_data,
    +                                                         char *result,
    +                                                         size_t *result_size);
    +

    +This function will decode the given encoded data, using the base64 +encoding found in libsrp. +

    +Note that b64_data should be null terminated.

    +

    +Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.

    - - - -

    b64_data :

    + contain the encoded data

    result :

    + the place where decoded data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not +long enough, or 0 on success.

    -
    +

    gnutls_srp_base64_decode_alloc ()

    -
    int                 gnutls_srp_base64_decode_alloc      (const gnutls_datum_t *b64_data,
    -                                                         gnutls_datum_t *result);
    +
    int                 gnutls_srp_base64_decode_alloc      (const gnutls_datum_t *b64_data,
    +                                                         gnutls_datum_t *result);
    +

    +This function will decode the given encoded data. The decoded data +will be allocated, and stored into result. It will decode using +the base64 algorithm as used in libsrp. +

    +You should use gnutls_free() to free the returned data.

    +

    +Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.

    - - -

    b64_data :

    + contains the encoded data

    result :

    + the place where decoded data lie

    Returns :

    + 0 on success, or an error code.

    -
    +

    enum gnutls_psk_key_flags

      typedef enum gnutls_psk_key_flags
         {
    @@ -6991,432 +6965,501 @@
           GNUTLS_PSK_KEY_HEX
         } gnutls_psk_key_flags;
     
    -

    -


    -
    +

    gnutls_psk_free_client_credentials ()

    -
    void                gnutls_psk_free_client_credentials  (gnutls_psk_client_credentials_t sc);
    +
    void                gnutls_psk_free_client_credentials  (gnutls_psk_client_credentials_tsc );

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_psk_client_credentials_t structure.

    -
    +

    gnutls_psk_allocate_client_credentials ()

    -
    int                 gnutls_psk_allocate_client_credentials
    -                                                        (gnutls_psk_client_credentials_t *sc);
    +
    int                 gnutls_psk_allocate_client_credentials
    +                                                        (gnutls_psk_client_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_psk_server_credentials_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_psk_set_client_credentials ()

    -
    int                 gnutls_psk_set_client_credentials   (gnutls_psk_client_credentials_t res,
    -                                                         const char *username,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_psk_key_flags format);
    -

    -

    +
    int                 gnutls_psk_set_client_credentials   (gnutls_psk_client_credentials_t res,
    +                                                         const char *username,
    +                                                         const gnutls_datum_t *key,
    +                                                         gnutls_psk_key_flags format);
    +

    +This function sets the username and password, in a +gnutls_psk_client_credentials_t structure. Those will be used in +PSK authentication. username should be an ASCII string or UTF-8 +strings prepared using the "SASLprep" profile of "stringprep". +The key can be either in raw byte format or in Hex (not with the +'0x' prefix).

    - - - - -

    res :

    + is an gnutls_psk_client_credentials_t structure.

    username :

    + is the user's zero-terminated userid

    key :

    + is the user's key

    format :

    + indicate the format of the key, either +GNUTLS_PSK_KEY_RAW or GNUTLS_PSK_KEY_HEX.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_psk_free_server_credentials ()

    -
    void                gnutls_psk_free_server_credentials  (gnutls_psk_server_credentials_t sc);
    +
    void                gnutls_psk_free_server_credentials  (gnutls_psk_server_credentials_tsc );

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to free (deallocate) it.

    -

    sc :

    + is an gnutls_psk_server_credentials_t structure.

    -
    +

    gnutls_psk_allocate_server_credentials ()

    -
    int                 gnutls_psk_allocate_server_credentials
    -                                                        (gnutls_psk_server_credentials_t *sc);
    +
    int                 gnutls_psk_allocate_server_credentials
    +                                                        (gnutls_psk_server_credentials_t *sc);

    -

    +This structure is complex enough to manipulate directly thus this +helper function is provided in order to allocate it.

    - -

    sc :

    + is a pointer to an gnutls_psk_server_credentials_t structure.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_psk_set_server_credentials_file ()

    -
    int                 gnutls_psk_set_server_credentials_file
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         const char *password_file);
    -

    -

    +
    int                 gnutls_psk_set_server_credentials_file
    +                                                        (gnutls_psk_server_credentials_tres ,
    +                                                         const char *password_file);
    +

    +This function sets the password file, in a +gnutls_psk_server_credentials_t structure. This password file +holds usernames and keys and will be used for PSK authentication.

    - - -

    res :

    + is an gnutls_psk_server_credentials_t structure.

    password_file :

    + is the PSK password file (passwd.psk)

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_psk_set_server_credentials_hint ()

    -
    int                 gnutls_psk_set_server_credentials_hint
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         const char *hint);
    -

    -

    +
    int                 gnutls_psk_set_server_credentials_hint
    +                                                        (gnutls_psk_server_credentials_t res,
    +                                                         const char *hint);
    +

    +This function sets the identity hint, in a +gnutls_psk_server_credentials_t structure. This hint is sent to +the client to help it chose a good PSK credential (i.e., username +and password).

    - - -

    res :

    + is an gnutls_psk_server_credentials_t structure.

    hint :

    + is the PSK identity hint string

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_psk_server_get_username ()

    -
    const char *        gnutls_psk_server_get_username      (gnutls_session_t session);
    +
    const char*         gnutls_psk_server_get_username      (gnutls_session_t session);

    -

    +This should only be called in case of PSK authentication and in +case of a server.

    - -

    session :

    + is a gnutls session

    Returns :

    + the username of the peer, or NULL in case of an error.

    -
    +

    gnutls_psk_client_get_hint ()

    -
    const char *        gnutls_psk_client_get_hint          (gnutls_session_t session);
    +
    const char*         gnutls_psk_client_get_hint          (gnutls_session_t session);

    -

    +The PSK identity hint may give the client help in deciding which +username to use. This should only be called in case of PSK +authentication and in case of a client.

    - -

    session :

    + is a gnutls session

    Returns :

    + the identity hint of the peer, or NULL in case of an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_psk_set_server_credentials_function ()

    -
    void                gnutls_psk_set_server_credentials_function
    -                                                        (gnutls_psk_server_credentials_t cred,
    -                                                         gnutls_psk_server_credentials_function *func);
    +
    void                gnutls_psk_set_server_credentials_function
    +                                                        (gnutls_psk_server_credentials_t cred,
    +                                                         gnutls_psk_server_credentials_function *func);

    +This function can be used to set a callback to retrieve the user's PSK credentials. +The callback's function form is: +int (*callback)(gnutls_session_t, const char* username, + gnutls_datum_t* key);

    +

    +username contains the actual username. +The key must be filled in using the gnutls_malloc(). +

    +

    +In case the callback returned a negative number then gnutls will +assume that the username does not exist. +

    +

    +The callback function will only be called once per handshake. The +callback function should return 0 on success, while -1 indicates +an error.

    - -

    cred :

    + is a gnutls_psk_server_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_psk_set_client_credentials_function ()

    -
    void                gnutls_psk_set_client_credentials_function
    -                                                        (gnutls_psk_client_credentials_t cred,
    -                                                         gnutls_psk_client_credentials_function *func);
    +
    void                gnutls_psk_set_client_credentials_function
    +                                                        (gnutls_psk_client_credentials_t cred,
    +                                                         gnutls_psk_client_credentials_function *func);
    +

    +This function can be used to set a callback to retrieve the username and +password for client PSK authentication. +The callback's function form is: +int (*callback)(gnutls_session_t, char** username, + gnutls_datum_t* key); +

    +

    +The username and key->data must be allocated using gnutls_malloc(). +username should be ASCII strings or UTF-8 strings prepared using +the "SASLprep" profile of "stringprep". +

    +The callback function will be called once per handshake.

    +

    +The callback function should return 0 on success. +-1 indicates an error.

    - -

    cred :

    + is a gnutls_psk_server_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_hex_encode ()

    -
    int                 gnutls_hex_encode                   (const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    +
    int                 gnutls_hex_encode                   (const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);

    -

    +This function will convert the given data to printable data, using +the hex encoding, as used in the PSK password files.

    - - - -

    data :

    + contain the raw data

    result :

    + the place where hex data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not +long enough, or 0 on success.

    -
    +

    gnutls_hex_decode ()

    -
    int                 gnutls_hex_decode                   (const gnutls_datum_t *hex_data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    +
    int                 gnutls_hex_decode                   (const gnutls_datum_t *hex_data,
    +                                                         char *result,
    +                                                         size_t *result_size);

    +This function will decode the given encoded data, using the hex encoding +used by PSK password files.

    +

    +Note that hex_data should be null terminated.

    - - - -

    hex_data :

    + contain the encoded data

    result :

    + the place where decoded data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not + long enough, or 0 on success.

    -
    +

    gnutls_psk_set_server_dh_params ()

    -
    void                gnutls_psk_set_server_dh_params     (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_dh_params_t dh_params);
    +
    void                gnutls_psk_set_server_dh_params     (gnutls_psk_server_credentials_t res,
    +                                                         gnutls_dh_params_t dh_params);

    -

    +This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in Diffie +Hellman with PSK cipher suites.

    - -

    res :

    + is a gnutls_psk_server_credentials_t structure

    dh_params :

    + is a structure that holds diffie hellman parameters.

    -
    +

    gnutls_psk_set_server_params_function ()

    -
    void                gnutls_psk_set_server_params_function
    -                                                        (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    -

    -

    +
    void                gnutls_psk_set_server_params_function
    +                                                        (gnutls_psk_server_credentials_tres ,
    +                                                         gnutls_params_function *func);
    +

    +This function will set a callback in order for the server to get +the diffie hellman parameters for PSK authentication. The callback +should return zero on success.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_psk_netconf_derive_key ()

    -
    int                 gnutls_psk_netconf_derive_key       (const char *password,
    -                                                         const char *psk_identity,
    -                                                         const char *psk_identity_hint,
    -                                                         gnutls_datum_t *output_key);
    +
    int                 gnutls_psk_netconf_derive_key       (const char *password,
    +                                                         const char *psk_identity,
    +                                                         const char *psk_identity_hint,
    +                                                         gnutls_datum_t *output_key);

    -

    +This function will derive a PSK key from a password, for use with +the Netconf protocol.

    - - - - -

    password :

    + zero terminated string containing password.

    psk_identity :

    + zero terminated string with PSK identity.

    psk_identity_hint :

    + zero terminated string with PSK identity hint.

    output_key :

    + output variable, contains newly allocated *data pointer.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    enum gnutls_x509_subject_alt_name_t

      typedef enum gnutls_x509_subject_alt_name_t
       {
    @@ -7432,370 +7475,362 @@
         GNUTLS_SAN_OTHERNAME_XMPP = 1000
       } gnutls_x509_subject_alt_name_t;
     
    -

    -


    -
    +

    struct gnutls_openpgp_crt_int

    struct gnutls_openpgp_crt_int;
    -

    -


    -
    +

    gnutls_openpgp_crt_t

      typedef struct gnutls_openpgp_crt_int *gnutls_openpgp_crt_t;
     
    -

    -


    -
    +

    struct gnutls_openpgp_privkey_int

    struct gnutls_openpgp_privkey_int;
    -

    -


    -
    +

    gnutls_openpgp_privkey_t

      typedef struct gnutls_openpgp_privkey_int *gnutls_openpgp_privkey_t;
     
    -

    -


    -
    +

    gnutls_auth_get_type ()

    -
    gnutls_credentials_type_t  gnutls_auth_get_type         (gnutls_session_t session);
    +
    gnutls_credentials_type_t gnutls_auth_get_type          (gnutls_session_t session);

    +Returns type of credentials for the current authentication schema. +The returned information is to be used to distinguish the function used +to access authentication data.

    +

    +Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, +KX_DHE_RSA), the same function are to be used to access the +authentication data.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + The type of credentials for the current authentication + schema, an gnutls_credentials_type_t type.

    -
    +

    gnutls_auth_server_get_type ()

    -
    gnutls_credentials_type_t  gnutls_auth_server_get_type  (gnutls_session_t session);
    +
    gnutls_credentials_type_t gnutls_auth_server_get_type   (gnutls_session_t session);

    -

    +Returns the type of credentials that were used for server authentication. +The returned information is to be used to distinguish the function used +to access authentication data.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + The type of credentials for the server authentication + schema, an gnutls_credentials_type_t type.

    -
    +

    gnutls_auth_client_get_type ()

    -
    gnutls_credentials_type_t  gnutls_auth_client_get_type  (gnutls_session_t session);
    +
    gnutls_credentials_type_t gnutls_auth_client_get_type   (gnutls_session_t session);

    -

    +Returns the type of credentials that were used for client authentication. +The returned information is to be used to distinguish the function used +to access authentication data.

    - -

    session :

    + is a gnutls_session_t structure.

    Returns :

    + The type of credentials for the client authentication + schema, an gnutls_credentials_type_t type.

    -
    +

    gnutls_dh_set_prime_bits ()

    -
    void                gnutls_dh_set_prime_bits            (gnutls_session_t session,
    -                                                         unsigned int bits);
    +
    void                gnutls_dh_set_prime_bits            (gnutls_session_t session,
    +                                                         unsigned int bits);

    +This function sets the number of bits, for use in an Diffie Hellman +key exchange. This is used both in DH ephemeral and DH anonymous +cipher suites. This will set the minimum size of the prime that +will be used for the handshake.

    +

    +In the client side it sets the minimum accepted number of bits. If +a server sends a prime with less bits than that +GNUTLS_E_DH_PRIME_UNACCEPTABLE will be returned by the handshake.

    - -

    session :

    + is a gnutls_session_t structure.

    bits :

    + is the number of bits

    -
    +

    gnutls_dh_get_secret_bits ()

    -
    int                 gnutls_dh_get_secret_bits           (gnutls_session_t session);
    +
    int                 gnutls_dh_get_secret_bits           (gnutls_session_t session);

    -

    +This function will return the bits used in the last Diffie Hellman +authentication with the peer. Should be used for both anonymous +and ephemeral diffie Hellman.

    - -

    session :

    + is a gnutls session

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_dh_get_peers_public_bits ()

    -
    int                 gnutls_dh_get_peers_public_bits     (gnutls_session_t session);
    +
    int                 gnutls_dh_get_peers_public_bits     (gnutls_session_t session);

    -

    +Get the Diffie-Hellman public key bit size. Can be used for both +anonymous and ephemeral diffie Hellman.

    - -

    session :

    + is a gnutls session

    Returns :

    + the public key bit size used in the last Diffie Hellman +authentication with the peer, or a negative value in case of +error.

    -
    +

    gnutls_dh_get_prime_bits ()

    -
    int                 gnutls_dh_get_prime_bits            (gnutls_session_t session);
    +
    int                 gnutls_dh_get_prime_bits            (gnutls_session_t session);

    -

    +This function will return the bits of the prime used in the last +Diffie Hellman authentication with the peer. Should be used for +both anonymous and ephemeral diffie Hellman.

    - -

    session :

    + is a gnutls session

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_dh_get_group ()

    -
    int                 gnutls_dh_get_group                 (gnutls_session_t session,
    -                                                         gnutls_datum_t *raw_gen,
    -                                                         gnutls_datum_t *raw_prime);
    +
    int                 gnutls_dh_get_group                 (gnutls_session_t session,
    +                                                         gnutls_datum_t *raw_gen,
    +                                                         gnutls_datum_t *raw_prime);

    -

    +This function will return the group parameters used in the last +Diffie Hellman authentication with the peer. These are the prime +and the generator used. This function should be used for both +anonymous and ephemeral diffie Hellman. The output parameters must +be freed with gnutls_free().

    - - - -

    session :

    + is a gnutls session

    raw_gen :

    + will hold the generator.

    raw_prime :

    + will hold the prime.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_dh_get_pubkey ()

    -
    int                 gnutls_dh_get_pubkey                (gnutls_session_t session,
    -                                                         gnutls_datum_t *raw_key);
    +
    int                 gnutls_dh_get_pubkey                (gnutls_session_t session,
    +                                                         gnutls_datum_t *raw_key);

    -

    +This function will return the peer's public key used in the last +Diffie Hellman authentication. This function should be used for +both anonymous and ephemeral diffie Hellman. The output +parameters must be freed with gnutls_free().

    - - -

    session :

    + is a gnutls session

    raw_key :

    + will hold the public key.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_rsa_export_get_pubkey ()

    -
    int                 gnutls_rsa_export_get_pubkey        (gnutls_session_t session,
    -                                                         gnutls_datum_t *exponent,
    -                                                         gnutls_datum_t *modulus);
    +
    int                 gnutls_rsa_export_get_pubkey        (gnutls_session_t session,
    +                                                         gnutls_datum_t *exponent,
    +                                                         gnutls_datum_t *modulus);

    -

    +This function will return the peer's public key exponent and +modulus used in the last RSA-EXPORT authentication. The output +parameters must be freed with gnutls_free().

    - - - -

    session :

    + is a gnutls session

    exponent :

    + will hold the exponent.

    modulus :

    + will hold the modulus.

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_rsa_export_get_modulus_bits ()

    -
    int                 gnutls_rsa_export_get_modulus_bits  (gnutls_session_t session);
    +
    int                 gnutls_rsa_export_get_modulus_bits  (gnutls_session_t session);

    -

    +Get the export RSA parameter's modulus size.

    - -

    session :

    + is a gnutls session

    Returns :

    + the bits used in the last RSA-EXPORT key exchange with the + peer, or a negative value in case of error.

    -
    +

    gnutls_sign_func ()

    -
    int                 (*gnutls_sign_func)                 (gnutls_session_t session,
    -                                                         void *userdata,
    -                                                         gnutls_certificate_type_t cert_type,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    session :

    -

    userdata :

    -

    cert_type :

    -

    cert :

    -

    hash :

    -

    signature :

    -

    Returns :

    -
    +
    int                 (*gnutls_sign_func)                 (gnutls_session_t session,
    +                                                         void *userdata,
    +                                                         gnutls_certificate_type_t cert_type,
    +                                                         const gnutls_datum_t *cert,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);

    -
    +

    gnutls_sign_callback_set ()

    -
    void                gnutls_sign_callback_set            (gnutls_session_t session,
    -                                                         gnutls_sign_func sign_func,
    -                                                         void *userdata);
    +
    void                gnutls_sign_callback_set            (gnutls_session_t session,
    +                                                         gnutls_sign_func sign_func,
    +                                                         void *userdata);

    Set the callback function. The function must have this prototype:

    @@ -7816,27 +7851,27 @@

    session :

    -is a gnutls session + is a gnutls session

    sign_func :

    -function pointer to application's sign callback. + function pointer to application's sign callback.

    userdata :

    -void pointer that will be passed to sign callback. + void pointer that will be passed to sign callback.

    -
    +

    gnutls_sign_callback_get ()

    -
    gnutls_sign_func    gnutls_sign_callback_get            (gnutls_session_t session,
    -                                                         void **userdata);
    +
    gnutls_sign_func    gnutls_sign_callback_get            (gnutls_session_t session,
    +                                                         void **userdata);

    Retrieve the callback function, and its userdata pointer.

    @@ -7844,12 +7879,12 @@ - - @@ -7862,1444 +7897,1340 @@

    session :

    is a gnutls session + is a gnutls session

    userdata :

    if non-NULL, will be set to abstract callback pointer. + if non-NULL, will be set to abstract callback pointer.

    -
    +

    gnutls_certificate_client_set_retrieve_function ()

    -
    void                gnutls_certificate_client_set_retrieve_function
    -                                                        (gnutls_certificate_credentials_t cred,
    -                                                         gnutls_certificate_client_retrieve_function *func);
    +
    void                gnutls_certificate_client_set_retrieve_function
    +                                                        (gnutls_certificate_credentials_t cred,
    +                                                         gnutls_certificate_client_retrieve_function *func);

    +This function sets a callback to be called in order to retrieve the certificate +to be used in the handshake. +The callback's function prototype is: +int (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int nreqs, +const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length, gnutls_retr_st* st);

    +

    +req_ca_cert is only used in X.509 certificates. +Contains a list with the CA names that the server considers trusted. +Normally we should send a certificate that is signed +by one of these CAs. These names are DER encoded. To get a more +meaningful value use the function gnutls_x509_rdn_get(). +

    +

    +pk_algos contains a list with server's acceptable signature algorithms. +The certificate returned should support the server's given algorithms. +

    +

    +st should contain the certificates and private keys. +

    +

    +If the callback function is provided then gnutls will call it, in the +handshake, after the certificate request message has been received. +

    +

    +The callback function should set the certificate list to be sent, and +return 0 on success. If no certificate was selected then the number of certificates +should be set to zero. The value (-1) indicates error and the handshake +will be terminated.

    - -

    cred :

    + is a gnutls_certificate_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_certificate_server_set_retrieve_function ()

    -
    void                gnutls_certificate_server_set_retrieve_function
    -                                                        (gnutls_certificate_credentials_t cred,
    -                                                         gnutls_certificate_server_retrieve_function *func);
    +
    void                gnutls_certificate_server_set_retrieve_function
    +                                                        (gnutls_certificate_credentials_t cred,
    +                                                         gnutls_certificate_server_retrieve_function *func);
    +

    +This function sets a callback to be called in order to retrieve the certificate +to be used in the handshake. +The callback's function prototype is: +int (*callback)(gnutls_session_t, gnutls_retr_st* st); +

    +

    +st should contain the certificates and private keys. +

    +If the callback function is provided then gnutls will call it, in the +handshake, after the certificate request message has been received.

    +

    +The callback function should set the certificate list to be sent, and +return 0 on success. The value (-1) indicates error and the handshake +will be terminated.

    - -

    cred :

    + is a gnutls_certificate_credentials_t structure.

    func :

    + is the callback function

    -
    +

    gnutls_certificate_server_set_request ()

    -
    void                gnutls_certificate_server_set_request
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_certificate_request_t req);
    +
    void                gnutls_certificate_server_set_request
    +                                                        (gnutls_session_t session,
    +                                                         gnutls_certificate_request_treq );

    -

    +This function specifies if we (in case of a server) are going +to send a certificate request message to the client. If req +is GNUTLS_CERT_REQUIRE then the server will return an error if +the peer does not provide a certificate. If you do not +call this function then the client will not be asked to +send a certificate.

    - -

    session :

    + is an gnutls_session_t structure.

    req :

    + is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE

    -
    +

    gnutls_certificate_get_peers ()

    -
    const gnutls_datum_t * gnutls_certificate_get_peers     (gnutls_session_t session,
    -                                                         unsigned int *list_size);
    +
    const gnutls_datum_t* gnutls_certificate_get_peers      (gnutls_session_tsession ,
    +                                                         unsigned int *list_size);

    +Get the peer's raw certificate (chain) as sent by the peer. These +certificates are in raw format (DER encoded for X.509). In case of +a X.509 then a certificate list may be present. The first +certificate in the list is the peer's certificate, following the +issuer's certificate, then the issuer's issuer etc.

    +

    +In case of OpenPGP keys a single key will be returned in raw +format.

    - - -

    session :

    + is a gnutls session

    list_size :

    + is the length of the certificate list

    Returns :

    + return a pointer to a gnutls_datum_t containing our + certificates, or NULL in case of an error or if no certificate + was used.

    -
    +

    gnutls_certificate_get_ours ()

    -
    const gnutls_datum_t * gnutls_certificate_get_ours      (gnutls_session_t session);
    +
    const gnutls_datum_t* gnutls_certificate_get_ours       (gnutls_session_tsession );

    -

    +Get the certificate as sent to the peer, in the last handshake. +These certificates are in raw format. In X.509 this is a +certificate list. In OpenPGP this is a single certificate.

    - -

    session :

    + is a gnutls session

    Returns :

    + return a pointer to a gnutls_datum_t containing our + certificates, or NULL in case of an error or if no certificate + was used.

    -
    +

    gnutls_certificate_activation_time_peers ()

    -
    time_t              gnutls_certificate_activation_time_peers
    -                                                        (gnutls_session_t session);
    +
    time_t              gnutls_certificate_activation_time_peers
    +                                                        (gnutls_session_t session);

    -

    +This function will return the peer's certificate activation time. +This is the creation time for openpgp keys.

    - -

    session :

    + is a gnutls session

    Returns :

    + (time_t)-1 on error.

    -
    +

    gnutls_certificate_expiration_time_peers ()

    -
    time_t              gnutls_certificate_expiration_time_peers
    -                                                        (gnutls_session_t session);
    +
    time_t              gnutls_certificate_expiration_time_peers
    +                                                        (gnutls_session_t session);

    -

    +This function will return the peer's certificate expiration time.

    - -

    session :

    + is a gnutls session

    Returns :

    + (time_t)-1 on error.

    -
    +

    gnutls_certificate_client_get_request_status ()

    -
    int                 gnutls_certificate_client_get_request_status
    -                                                        (gnutls_session_t session);
    +
    int                 gnutls_certificate_client_get_request_status
    +                                                        (gnutls_session_t session);

    -

    +Get whether client certificate is requested or not.

    - -

    session :

    + is a gnutls session

    Returns :

    + 0 if the peer (server) did not request client +authentication or 1 otherwise, or a negative value in case of +error.

    -
    +

    gnutls_certificate_verify_peers2 ()

    -
    int                 gnutls_certificate_verify_peers2    (gnutls_session_t session,
    -                                                         unsigned int *status);
    +
    int                 gnutls_certificate_verify_peers2    (gnutls_session_t session,
    +                                                         unsigned int *status);
    +

    +This function will try to verify the peer's certificate and return +its status (trusted, invalid etc.). The value of status should +be one or more of the gnutls_certificate_status_t enumerated +elements bitwise or'd. To avoid denial of service attacks some +default upper limits regarding the certificate key size and chain +size are set. To override them use +gnutls_certificate_set_verify_limits(). +

    +

    +Note that you must also check the peer's name in order to check if +the verified certificate belongs to the actual peer. +

    +This is the same as gnutls_x509_crt_list_verify() and uses the +loaded CAs in the credentials as trusted CAs.

    +

    +Note that some commonly used X.509 Certificate Authorities are +still using Version 1 certificates. If you want to accept them, +you need to call gnutls_certificate_set_verify_flags() with, e.g., +GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT parameter.

    - - -

    session :

    + is a gnutls session

    status :

    + is the output of the verification

    Returns :

    + a negative error code on error and zero on success.

    -
    +

    gnutls_certificate_verify_peers ()

    -
    int                 gnutls_certificate_verify_peers     (gnutls_session_t session);
    +
    int                 gnutls_certificate_verify_peers     (gnutls_session_t session);
    +
    +

    Warning

    +

    gnutls_certificate_verify_peers is deprecated and should not be used in newly-written code. Use gnutls_certificate_verify_peers2() instead.

    +
    +

    +This function will try to verify the peer's certificate and return +its status (trusted, invalid etc.). However you must also check +the peer's name in order to check if the verified certificate +belongs to the actual peer. +

    +The return value should be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd, or a +negative value on error.

    +

    +This is the same as gnutls_x509_crt_list_verify().

    -- - ++ - - - - - - - +

    session :

    -

    Returns :

    + is a gnutls session

    -
    +

    gnutls_pem_base64_encode ()

    -
    int                 gnutls_pem_base64_encode            (const char *msg,
    -                                                         const gnutls_datum_t *data,
    -                                                         char *result,
    -                                                         size_t *result_size);
    +
    int                 gnutls_pem_base64_encode            (const char *msg,
    +                                                         const gnutls_datum_t *data,
    +                                                         char *result,
    +                                                         size_t *result_size);

    +This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in PEM messages.

    +

    +The output string will be null terminated, although the size will +not include the terminating null.

    - - - - -

    msg :

    + is a message to be put in the header

    data :

    + contain the raw data

    result :

    + the place where base64 data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + On success GNUTLS_E_SUCCESS (0) is returned, + GNUTLS_E_SHORT_MEMORY_BUFFER is returned if the buffer given is + not long enough, or 0 on success.

    -
    +

    gnutls_pem_base64_decode ()

    -
    int                 gnutls_pem_base64_decode            (const char *header,
    -                                                         const gnutls_datum_t *b64_data,
    -                                                         unsigned char *result,
    -                                                         size_t *result_size);
    -

    -

    +
    int                 gnutls_pem_base64_decode            (const char *header,
    +                                                         const gnutls_datum_t *b64_data,
    +                                                         unsigned char *result,
    +                                                         size_t *result_size);
    +

    +This function will decode the given encoded data. If the header +given is non null this function will search for "-----BEGIN header" +and decode only this part. Otherwise it will decode the first PEM +packet found.

    - - - - -

    header :

    + A null terminated string with the PEM header (eg. CERTIFICATE)

    b64_data :

    + contain the encoded data

    result :

    + the place where decoded data will be copied

    result_size :

    + holds the size of the result

    Returns :

    + On success GNUTLS_E_SUCCESS (0) is returned, + GNUTLS_E_SHORT_MEMORY_BUFFER is returned if the buffer given is + not long enough, or 0 on success.

    -
    +

    gnutls_pem_base64_encode_alloc ()

    -
    int                 gnutls_pem_base64_encode_alloc      (const char *msg,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_datum_t *result);
    +
    int                 gnutls_pem_base64_encode_alloc      (const char *msg,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_datum_t *result);

    +This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in PEM messages. +This function will allocate the required memory to hold the encoded +data.

    +

    +You should use gnutls_free() to free the returned data.

    - - - -

    msg :

    + is a message to be put in the encoded header

    data :

    + contains the raw data

    result :

    + will hold the newly allocated encoded data

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    gnutls_pem_base64_decode_alloc ()

    -
    int                 gnutls_pem_base64_decode_alloc      (const char *header,
    -                                                         const gnutls_datum_t *b64_data,
    -                                                         gnutls_datum_t *result);
    -

    +

    int                 gnutls_pem_base64_decode_alloc      (const char *header,
    +                                                         const gnutls_datum_t *b64_data,
    +                                                         gnutls_datum_t *result);
    +

    +This function will decode the given encoded data. The decoded data +will be allocated, and stored into result. If the header given is +non null this function will search for "-----BEGIN header" and +decode only this part. Otherwise it will decode the first PEM +packet found.

    +

    +You should use gnutls_free() to free the returned data.

    - - - -

    header :

    + The PEM header (eg. CERTIFICATE)

    b64_data :

    + contains the encoded data

    result :

    + the place where decoded data lie

    Returns :

    + On success, GNUTLS_E_SUCCESS (0) is returned, otherwise + an error code is returned.

    -
    +

    GNUTLS_KEY_DIGITAL_SIGNATURE

    -
    #define GNUTLS_KEY_DIGITAL_SIGNATURE 128
    +
    #define GNUTLS_KEY_DIGITAL_SIGNATURE	128
     
    -

    -


    -
    +

    GNUTLS_KEY_NON_REPUDIATION

    -
    #define GNUTLS_KEY_NON_REPUDIATION 64
    +
    #define GNUTLS_KEY_NON_REPUDIATION	64
     
    -

    -


    -
    +

    GNUTLS_KEY_KEY_ENCIPHERMENT

    -
    #define GNUTLS_KEY_KEY_ENCIPHERMENT 32
    +
    #define GNUTLS_KEY_KEY_ENCIPHERMENT	32
     
    -

    -


    -
    +

    GNUTLS_KEY_DATA_ENCIPHERMENT

    -
    #define GNUTLS_KEY_DATA_ENCIPHERMENT 16
    +
    #define GNUTLS_KEY_DATA_ENCIPHERMENT	16
     
    -

    -


    -
    +

    GNUTLS_KEY_KEY_AGREEMENT

    -
    #define GNUTLS_KEY_KEY_AGREEMENT 8
    +
    #define GNUTLS_KEY_KEY_AGREEMENT	8
     
    -

    -


    -
    +

    GNUTLS_KEY_KEY_CERT_SIGN

    -
    #define GNUTLS_KEY_KEY_CERT_SIGN 4
    +
    #define GNUTLS_KEY_KEY_CERT_SIGN	4
     
    -

    -


    -
    +

    GNUTLS_KEY_CRL_SIGN

    #define GNUTLS_KEY_CRL_SIGN		2
     
    -

    -


    -
    +

    GNUTLS_KEY_ENCIPHER_ONLY

    -
    #define GNUTLS_KEY_ENCIPHER_ONLY 1
    +
    #define GNUTLS_KEY_ENCIPHER_ONLY	1
     
    -

    -


    -
    +

    GNUTLS_KEY_DECIPHER_ONLY

    -
    #define GNUTLS_KEY_DECIPHER_ONLY 32768
    +
    #define GNUTLS_KEY_DECIPHER_ONLY	32768
     
    -

    -


    -
    +

    gnutls_certificate_set_params_function ()

    -
    void                gnutls_certificate_set_params_function
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         gnutls_params_function *func);
    -

    -

    +
    void                gnutls_certificate_set_params_function
    +                                                        (gnutls_certificate_credentials_t res,
    +                                                         gnutls_params_function *func);
    +

    +This function will set a callback in order for the server to get +the diffie hellman or RSA parameters for certificate +authentication. The callback should return zero on success.

    - -

    res :

    + is a gnutls_certificate_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_anon_set_params_function ()

    -
    void                gnutls_anon_set_params_function     (gnutls_anon_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    +
    void                gnutls_anon_set_params_function     (gnutls_anon_server_credentials_t res,
    +                                                         gnutls_params_function *func);

    -

    +This function will set a callback in order for the server to get +the diffie hellman or RSA parameters for anonymous authentication. +The callback should return zero on success.

    - -

    res :

    + is a gnutls_anon_server_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_psk_set_params_function ()

    -
    void                gnutls_psk_set_params_function      (gnutls_psk_server_credentials_t res,
    -                                                         gnutls_params_function *func);
    +
    void                gnutls_psk_set_params_function      (gnutls_psk_server_credentials_t res,
    +                                                         gnutls_params_function *func);

    -

    +This function will set a callback in order for the server to get +the diffie hellman or RSA parameters for psk authentication. The +callback should return zero on success.

    - -

    res :

    + is a gnutls_psk_server_credentials_t structure

    func :

    + is the function to be called

    -
    +

    gnutls_hex2bin ()

    -
    int                 gnutls_hex2bin                      (const char *hex_data,
    -                                                         size_t hex_size,
    -                                                         char *bin_data,
    -                                                         size_t *bin_size);
    +
    int                 gnutls_hex2bin                      (const char *hex_data,
    +                                                         size_t hex_size,
    +                                                         char *bin_data,
    +                                                         size_t *bin_size);

    -

    +Convert a buffer with hex data to binary data.

    - - - - -

    hex_data :

    + string with data in hex format

    hex_size :

    + size of hex data

    bin_data :

    + output array with binary data

    bin_size :

    + when calling *bin_size should hold size of bin_data, + on return will hold actual size of bin_data.

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    GNUTLS_E_SUCCESS

    #define GNUTLS_E_SUCCESS 0
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM

    -
    #define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
    +
    #define	GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_CIPHER_TYPE

    -
    #define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
    +
    #define	GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
     
    -

    -


    -
    +

    GNUTLS_E_LARGE_PACKET

    -
    #define GNUTLS_E_LARGE_PACKET -7
    +
    #define	GNUTLS_E_LARGE_PACKET -7
     
    -

    -


    -
    +

    GNUTLS_E_UNSUPPORTED_VERSION_PACKET

    -
    #define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */
    +
    #define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8	/* GNUTLS_A_PROTOCOL_VERSION */
     
    -

    -


    -
    +

    GNUTLS_E_UNEXPECTED_PACKET_LENGTH

    -
    #define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_RECORD_OVERFLOW */
    +
    #define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9	/* GNUTLS_A_RECORD_OVERFLOW */
     
    -

    -


    -
    +

    GNUTLS_E_INVALID_SESSION

    #define GNUTLS_E_INVALID_SESSION -10
     
    -

    -


    -
    +

    GNUTLS_E_FATAL_ALERT_RECEIVED

    #define GNUTLS_E_FATAL_ALERT_RECEIVED -12
     
    -

    -


    -
    +

    GNUTLS_E_UNEXPECTED_PACKET

    -
    #define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */
    +
    #define GNUTLS_E_UNEXPECTED_PACKET -15	/* GNUTLS_A_UNEXPECTED_MESSAGE */
     
    -

    -


    -
    +

    GNUTLS_E_WARNING_ALERT_RECEIVED

    #define GNUTLS_E_WARNING_ALERT_RECEIVED -16
     
    -

    -


    -
    +

    GNUTLS_E_ERROR_IN_FINISHED_PACKET

    #define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18
     
    -

    -


    -
    +

    GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET

    #define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_CIPHER_SUITE

    -
    #define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */
    +
    #define	GNUTLS_E_UNKNOWN_CIPHER_SUITE -21	/* GNUTLS_A_HANDSHAKE_FAILURE */
     
    -

    -


    -
    +

    GNUTLS_E_UNWANTED_ALGORITHM

    -
    #define GNUTLS_E_UNWANTED_ALGORITHM -22
    +
    #define	GNUTLS_E_UNWANTED_ALGORITHM -22
     
    -

    -


    -
    +

    GNUTLS_E_MPI_SCAN_FAILED

    -
    #define GNUTLS_E_MPI_SCAN_FAILED -23
    +
    #define	GNUTLS_E_MPI_SCAN_FAILED -23
     
    -

    -


    -
    +

    GNUTLS_E_DECRYPTION_FAILED

    -
    #define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
    +
    #define GNUTLS_E_DECRYPTION_FAILED -24	/* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
     
    -

    -


    -
    +

    GNUTLS_E_MEMORY_ERROR

    #define GNUTLS_E_MEMORY_ERROR -25
     
    -

    -


    -
    +

    GNUTLS_E_DECOMPRESSION_FAILED

    -
    #define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */
    +
    #define GNUTLS_E_DECOMPRESSION_FAILED -26	/* GNUTLS_A_DECOMPRESSION_FAILURE */
     
    -

    -


    -
    +

    GNUTLS_E_COMPRESSION_FAILED

    #define GNUTLS_E_COMPRESSION_FAILED -27
     
    -

    -


    -
    +

    GNUTLS_E_AGAIN

    #define GNUTLS_E_AGAIN -28
     
    -

    -


    -
    +

    GNUTLS_E_EXPIRED

    #define GNUTLS_E_EXPIRED -29
     
    -

    -


    -
    +

    GNUTLS_E_DB_ERROR

    #define GNUTLS_E_DB_ERROR -30
     
    -

    -


    -
    +

    GNUTLS_E_SRP_PWD_ERROR

    #define GNUTLS_E_SRP_PWD_ERROR -31
     
    -

    -


    -
    +

    GNUTLS_E_INSUFFICIENT_CREDENTIALS

    #define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32
     
    -

    -


    -
    +

    GNUTLS_E_INSUFICIENT_CREDENTIALS

    -
    #define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
    +
    #define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS	/* for backwards compatibility only */
     
    -

    -


    -
    +

    GNUTLS_E_INSUFFICIENT_CRED

    #define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS
     
    -

    -


    -
    +

    GNUTLS_E_INSUFICIENT_CRED

    -
    #define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
    +
    #define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS	/* for backwards compatibility only */
     
    -

    -


    -
    +

    GNUTLS_E_HASH_FAILED

    #define GNUTLS_E_HASH_FAILED -33
     
    -

    -


    -
    +

    GNUTLS_E_BASE64_DECODING_ERROR

    #define GNUTLS_E_BASE64_DECODING_ERROR -34
     
    -

    -


    -
    +

    GNUTLS_E_MPI_PRINT_FAILED

    -
    #define GNUTLS_E_MPI_PRINT_FAILED -35
    +
    #define	GNUTLS_E_MPI_PRINT_FAILED -35
     
    -

    -


    -
    +

    GNUTLS_E_REHANDSHAKE

    -
    #define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */
    +
    #define GNUTLS_E_REHANDSHAKE -37	/* GNUTLS_A_NO_RENEGOTIATION */
     
    -

    -


    -
    +

    GNUTLS_E_GOT_APPLICATION_DATA

    #define GNUTLS_E_GOT_APPLICATION_DATA -38
     
    -

    -


    -
    +

    GNUTLS_E_RECORD_LIMIT_REACHED

    #define GNUTLS_E_RECORD_LIMIT_REACHED -39
     
    -

    -


    -
    +

    GNUTLS_E_ENCRYPTION_FAILED

    #define GNUTLS_E_ENCRYPTION_FAILED -40
     
    -

    -


    -
    +

    GNUTLS_E_PK_ENCRYPTION_FAILED

    #define GNUTLS_E_PK_ENCRYPTION_FAILED -44
     
    -

    -


    -
    +

    GNUTLS_E_PK_DECRYPTION_FAILED

    #define GNUTLS_E_PK_DECRYPTION_FAILED -45
     
    -

    -


    -
    +

    GNUTLS_E_PK_SIGN_FAILED

    #define GNUTLS_E_PK_SIGN_FAILED -46
     
    -

    -


    -
    +

    GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION

    #define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47
     
    -

    -


    -
    +

    GNUTLS_E_KEY_USAGE_VIOLATION

    #define GNUTLS_E_KEY_USAGE_VIOLATION -48
     
    -

    -


    -
    +

    GNUTLS_E_NO_CERTIFICATE_FOUND

    -
    #define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */
    +
    #define GNUTLS_E_NO_CERTIFICATE_FOUND -49	/* GNUTLS_A_BAD_CERTIFICATE */
     
    -

    -


    -
    +

    GNUTLS_E_INVALID_REQUEST

    #define GNUTLS_E_INVALID_REQUEST -50
     
    -

    -


    -
    +

    GNUTLS_E_SHORT_MEMORY_BUFFER

    #define GNUTLS_E_SHORT_MEMORY_BUFFER -51
     
    -

    -


    -
    +

    GNUTLS_E_INTERRUPTED

    #define GNUTLS_E_INTERRUPTED -52
     
    -

    -


    -
    +

    GNUTLS_E_PUSH_ERROR

    #define GNUTLS_E_PUSH_ERROR -53
     
    -

    -


    -
    +

    GNUTLS_E_PULL_ERROR

    #define GNUTLS_E_PULL_ERROR -54
     
    -

    -


    -
    +

    GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER

    -
    #define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */
    +
    #define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55	/* GNUTLS_A_ILLEGAL_PARAMETER */
     
    -

    -


    -
    +

    GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE

    #define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56
     
    -

    -


    -
    +

    GNUTLS_E_PKCS1_WRONG_PAD

    #define GNUTLS_E_PKCS1_WRONG_PAD -57
     
    -

    -


    -
    +

    GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION

    #define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58
     
    -

    -


    -
    +

    GNUTLS_E_INTERNAL_ERROR

    #define GNUTLS_E_INTERNAL_ERROR -59
     
    -

    -


    -
    +

    GNUTLS_E_DH_PRIME_UNACCEPTABLE

    #define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63
     
    -

    -


    -
    +

    GNUTLS_E_FILE_ERROR

    #define GNUTLS_E_FILE_ERROR -64
     
    -

    -


    -
    +

    GNUTLS_E_TOO_MANY_EMPTY_PACKETS

    #define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_PK_ALGORITHM

    #define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80
     
    -

    -


    -
    +

    GNUTLS_E_INIT_LIBEXTRA

    #define GNUTLS_E_INIT_LIBEXTRA -82
     
    -

    -


    -
    +

    GNUTLS_E_LIBRARY_VERSION_MISMATCH

    #define GNUTLS_E_LIBRARY_VERSION_MISMATCH -83
     
    -

    -


    -
    +

    GNUTLS_E_NO_TEMPORARY_RSA_PARAMS

    #define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84
     
    -

    -


    -
    +

    GNUTLS_E_LZO_INIT_FAILED

    #define GNUTLS_E_LZO_INIT_FAILED -85
     
    -

    -


    -
    +

    GNUTLS_E_NO_COMPRESSION_ALGORITHMS

    #define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86
     
    -

    -


    -
    +

    GNUTLS_E_NO_CIPHER_SUITES

    #define GNUTLS_E_NO_CIPHER_SUITES -87
     
    -

    -


    -
    +

    GNUTLS_E_OPENPGP_GETKEY_FAILED

    #define GNUTLS_E_OPENPGP_GETKEY_FAILED -88
     
    -

    -


    -
    +

    GNUTLS_E_PK_SIG_VERIFY_FAILED

    #define GNUTLS_E_PK_SIG_VERIFY_FAILED -89
     
    -

    -


    -
    +

    GNUTLS_E_ILLEGAL_SRP_USERNAME

    #define GNUTLS_E_ILLEGAL_SRP_USERNAME -90
     
    -

    -


    -
    +

    GNUTLS_E_SRP_PWD_PARSING_ERROR

    #define GNUTLS_E_SRP_PWD_PARSING_ERROR -91
     
    -

    -


    -
    +

    GNUTLS_E_NO_TEMPORARY_DH_PARAMS

    #define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_ELEMENT_NOT_FOUND

    #define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND

    #define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_DER_ERROR

    #define GNUTLS_E_ASN1_DER_ERROR -69
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_VALUE_NOT_FOUND

    #define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_GENERIC_ERROR

    #define GNUTLS_E_ASN1_GENERIC_ERROR -71
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_VALUE_NOT_VALID

    #define GNUTLS_E_ASN1_VALUE_NOT_VALID -72
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_TAG_ERROR

    #define GNUTLS_E_ASN1_TAG_ERROR -73
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_TAG_IMPLICIT

    #define GNUTLS_E_ASN1_TAG_IMPLICIT -74
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_TYPE_ANY_ERROR

    #define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_SYNTAX_ERROR

    #define GNUTLS_E_ASN1_SYNTAX_ERROR -76
     
    -

    -


    -
    +

    GNUTLS_E_ASN1_DER_OVERFLOW

    #define GNUTLS_E_ASN1_DER_OVERFLOW -77
     
    -

    -


    -
    +

    GNUTLS_E_OPENPGP_UID_REVOKED

    #define GNUTLS_E_OPENPGP_UID_REVOKED -79
     
    -

    -


    -
    +

    GNUTLS_E_CERTIFICATE_ERROR

    #define GNUTLS_E_CERTIFICATE_ERROR -43
     
    -

    -


    -
    +

    GNUTLS_E_X509_CERTIFICATE_ERROR

    #define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR
     
    -

    -


    -
    +

    GNUTLS_E_CERTIFICATE_KEY_MISMATCH

    #define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60
     
    -

    -


    -
    +

    GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE

    -
    #define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
    +
    #define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61	/* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
     
    -

    -


    -
    +

    GNUTLS_E_X509_UNKNOWN_SAN

    #define GNUTLS_E_X509_UNKNOWN_SAN -62
     
    -

    -


    -
    +

    GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED

    #define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94
     
    -

    -


    -
    +

    GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE

    #define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_HASH_ALGORITHM

    #define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE

    #define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE

    #define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98
     
    -

    -


    -
    +

    GNUTLS_E_INVALID_PASSWORD

    #define GNUTLS_E_INVALID_PASSWORD -99
     
    -

    -


    -
    +

    GNUTLS_E_MAC_VERIFY_FAILED

    -
    #define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */
    +
    #define GNUTLS_E_MAC_VERIFY_FAILED -100	/* for PKCS #12 MAC */
     
    -

    -


    -
    +

    GNUTLS_E_CONSTRAINT_ERROR

    #define GNUTLS_E_CONSTRAINT_ERROR -101
     
    -

    -


    -
    +

    GNUTLS_E_WARNING_IA_IPHF_RECEIVED

    #define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102
     
    -

    -


    -
    +

    GNUTLS_E_WARNING_IA_FPHF_RECEIVED

    #define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103
     
    -

    -


    -
    +

    GNUTLS_E_IA_VERIFY_FAILED

    #define GNUTLS_E_IA_VERIFY_FAILED -104
     
    -

    -


    -
    +

    GNUTLS_E_UNKNOWN_ALGORITHM

    #define GNUTLS_E_UNKNOWN_ALGORITHM -105
     
    -

    -


    -
    +

    GNUTLS_E_BASE64_ENCODING_ERROR

    #define GNUTLS_E_BASE64_ENCODING_ERROR -201
     
    -

    -


    -
    +

    GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY

    -
    #define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */
    +
    #define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202	/* obsolete */
     
    -

    -


    -
    +

    GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY

    #define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202
     
    -

    -


    -
    +

    GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY

    #define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203
     
    -

    -


    -
    +

    GNUTLS_E_OPENPGP_KEYRING_ERROR

    #define GNUTLS_E_OPENPGP_KEYRING_ERROR -204
     
    -

    -


    -
    +

    GNUTLS_E_X509_UNSUPPORTED_OID

    #define GNUTLS_E_X509_UNSUPPORTED_OID -205
     
    -

    -


    -
    +

    GNUTLS_E_RANDOM_FAILED

    #define GNUTLS_E_RANDOM_FAILED -206
     
    -

    -


    -
    +

    GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR

    #define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207
     
    -

    -


    -
    +

    GNUTLS_E_OPENPGP_SUBKEY_ERROR

    #define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208
     
    -

    -


    -
    +

    GNUTLS_E_CRYPTO_ALREADY_REGISTERED

    #define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -209
     
    -

    -


    -
    +

    GNUTLS_E_HANDSHAKE_TOO_LARGE

    #define GNUTLS_E_HANDSHAKE_TOO_LARGE -210
     
    -

    -


    -
    +

    GNUTLS_E_UNIMPLEMENTED_FEATURE

    #define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250
     
    -

    -


    -
    +

    GNUTLS_E_APPLICATION_ERROR_MAX

    #define GNUTLS_E_APPLICATION_ERROR_MAX -65000
     
    -

    -


    -
    +

    GNUTLS_E_APPLICATION_ERROR_MIN

    #define GNUTLS_E_APPLICATION_ERROR_MIN -65500
     
    -

    -

    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-libtasn1.html gnutls26-2.4.1/doc/reference/html/gnutls-libtasn1.html --- gnutls26-2.8.6/doc/reference/html/gnutls-libtasn1.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-libtasn1.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ libtasn1 - - + + - + + + + + @@ -20,13 +24,11 @@ - + Description -
    +
    @@ -35,10 +37,12 @@
    -
    +

    Synopsis

    -
    #define             ASN1_API
    -#define             ASN1_VERSION
    +
    +#define             LIBTASN1_VERSION
    +#define             MAX_NAME_SIZE
    +#define             MAX_ERROR_DESCRIPTION_SIZE
     typedef             asn1_retCode;
     #define             ASN1_SUCCESS
     #define             ASN1_FILE_NOT_FOUND
    @@ -83,1236 +87,1412 @@
     typedef             ASN1_TYPE;
     #define             ASN1_TYPE_EMPTY
     typedef             ASN1_ARRAY_TYPE;
    -#define             ASN1_MAX_NAME_SIZE
    -#define             ASN1_MAX_ERROR_DESCRIPTION_SIZE
    -asn1_retCode        asn1_parser2tree                    (const char *file_name,
    -                                                         ASN1_TYPE *definitions,
    -                                                         char *errorDescription);
    -asn1_retCode        asn1_parser2array                   (const char *inputFileName,
    -                                                         const char *outputFileName,
    -                                                         const char *vectorName,
    -                                                         char *errorDescription);
    -asn1_retCode        asn1_array2tree                     (const ASN1_ARRAY_TYPE *array,
    -                                                         ASN1_TYPE *definitions,
    -                                                         char *errorDescription);
    -void                asn1_print_structure                (FILE *out,
    -                                                         ASN1_TYPE structure,
    -                                                         const char *name,
    -                                                         int mode);
    -asn1_retCode        asn1_create_element                 (ASN1_TYPE definitions,
    -                                                         const char *source_name,
    -                                                         ASN1_TYPE *element);
    -asn1_retCode        asn1_delete_structure               (ASN1_TYPE *structure);
    -asn1_retCode        asn1_delete_element                 (ASN1_TYPE structure,
    -                                                         const char *element_name);
    -asn1_retCode        asn1_write_value                    (ASN1_TYPE node_root,
    -                                                         const char *name,
    -                                                         const void *ivalue,
    -                                                         int len);
    -asn1_retCode        asn1_read_value                     (ASN1_TYPE root,
    -                                                         const char *name,
    -                                                         void *ivalue,
    -                                                         int *len);
    -asn1_retCode        asn1_number_of_elements             (ASN1_TYPE element,
    -                                                         const char *name,
    -                                                         int *num);
    -asn1_retCode        asn1_der_coding                     (ASN1_TYPE element,
    -                                                         const char *name,
    -                                                         void *ider,
    -                                                         int *len,
    -                                                         char *ErrorDescription);
    -asn1_retCode        asn1_der_decoding                   (ASN1_TYPE *element,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         char *errorDescription);
    -asn1_retCode        asn1_der_decoding_element           (ASN1_TYPE *structure,
    -                                                         const char *elementName,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         char *errorDescription);
    -asn1_retCode        asn1_der_decoding_startEnd          (ASN1_TYPE element,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         const char *name_element,
    -                                                         int *start,
    -                                                         int *end);
    -asn1_retCode        asn1_expand_any_defined_by          (ASN1_TYPE definitions,
    -                                                         ASN1_TYPE *element);
    -asn1_retCode        asn1_expand_octet_string            (ASN1_TYPE definitions,
    -                                                         ASN1_TYPE *element,
    -                                                         const char *octetName,
    -                                                         const char *objectName);
    -asn1_retCode        asn1_read_tag                       (ASN1_TYPE root,
    -                                                         const char *name,
    -                                                         int *tagValue,
    -                                                         int *classValue);
    -const char *        asn1_find_structure_from_oid        (ASN1_TYPE definitions,
    -                                                         const char *oidValue);
    -const char *        asn1_check_version                  (const char *req_version);
    -const char *        asn1_strerror                       (asn1_retCode error);
    -void                asn1_perror                         (asn1_retCode error);
    -int                 asn1_get_tag_der                    (unsigned char *der,
    -                                                         int der_len,
    -                                                         unsigned char *cls,
    -                                                         int *len,
    -                                                         unsigned long *tag);
    -void                asn1_octet_der                      (unsigned char *str,
    -                                                         int str_len,
    -                                                         unsigned char *der,
    -                                                         int *der_len);
    -asn1_retCode        asn1_get_octet_der                  (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *ret_len,
    -                                                         unsigned char *str,
    -                                                         int str_size,
    -                                                         int *str_len);
    -void                asn1_bit_der                        (unsigned char *str,
    -                                                         int bit_len,
    -                                                         unsigned char *der,
    -                                                         int *der_len);
    -asn1_retCode        asn1_get_bit_der                    (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *ret_len,
    -                                                         unsigned char *str,
    -                                                         int str_size,
    -                                                         int *bit_len);
    -signed long         asn1_get_length_der                 (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *len);
    -signed long         asn1_get_length_ber                 (unsigned char *ber,
    -                                                         int ber_len,
    -                                                         int *len);
    -void                asn1_length_der                     (unsigned long int len,
    -                                                         unsigned char *ans,
    -                                                         int *ans_len);
    -ASN1_TYPE           asn1_find_node                      (ASN1_TYPE pointer,
    -                                                         const char *name);
    -asn1_retCode        asn1_copy_node                      (ASN1_TYPE dst,
    -                                                         const char *dst_name,
    -                                                         ASN1_TYPE src,
    -                                                         const char *src_name);
    -#define             LIBTASN1_VERSION
    -#define             MAX_NAME_SIZE
    -#define             MAX_ERROR_DESCRIPTION_SIZE
    -const char *        libtasn1_strerror                   (asn1_retCode error);
    -void                libtasn1_perror                     (asn1_retCode error);
    +asn1_retCode        asn1_parser2tree                    (const char *file_name,
    +                                                         ASN1_TYPE *definitions,
    +                                                         char *errorDescription);
    +asn1_retCode        asn1_parser2array                   (const char *inputFileName,
    +                                                         const char *outputFileName,
    +                                                         const char *vectorName,
    +                                                         char *errorDescription);
    +asn1_retCode        asn1_array2tree                     (const ASN1_ARRAY_TYPE *array,
    +                                                         ASN1_TYPE *definitions,
    +                                                         char *errorDescription);
    +void                asn1_print_structure                (FILE *out,
    +                                                         ASN1_TYPE structure,
    +                                                         const char *name,
    +                                                         int mode);
    +asn1_retCode        asn1_create_element                 (ASN1_TYPE definitions,
    +                                                         const char *source_name,
    +                                                         ASN1_TYPE *element);
    +asn1_retCode        asn1_delete_structure               (ASN1_TYPE *structure);
    +asn1_retCode        asn1_delete_element                 (ASN1_TYPE structure,
    +                                                         const char *element_name);
    +asn1_retCode        asn1_write_value                    (ASN1_TYPE node_root,
    +                                                         const char *name,
    +                                                         const void *ivalue,
    +                                                         int len);
    +asn1_retCode        asn1_read_value                     (ASN1_TYPE root,
    +                                                         const char *name,
    +                                                         void *ivalue,
    +                                                         int *len);
    +asn1_retCode        asn1_number_of_elements             (ASN1_TYPE element,
    +                                                         const char *name,
    +                                                         int *num);
    +asn1_retCode        asn1_der_coding                     (ASN1_TYPE element,
    +                                                         const char *name,
    +                                                         void *ider,
    +                                                         int *len,
    +                                                         char *ErrorDescription);
    +asn1_retCode        asn1_der_decoding                   (ASN1_TYPE *element,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         char *errorDescription);
    +asn1_retCode        asn1_der_decoding_element           (ASN1_TYPE *structure,
    +                                                         const char *elementName,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         char *errorDescription);
    +asn1_retCode        asn1_der_decoding_startEnd          (ASN1_TYPE element,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         const char *name_element,
    +                                                         int *start,
    +                                                         int *end);
    +asn1_retCode        asn1_expand_any_defined_by          (ASN1_TYPE definitions,
    +                                                         ASN1_TYPE *element);
    +asn1_retCode        asn1_expand_octet_string            (ASN1_TYPE definitions,
    +                                                         ASN1_TYPE *element,
    +                                                         const char *octetName,
    +                                                         const char *objectName);
    +asn1_retCode        asn1_read_tag                       (node_asn *root,
    +                                                         const char *name,
    +                                                         int *tagValue,
    +                                                         int *classValue);
    +const char*         asn1_find_structure_from_oid        (ASN1_TYPE definitions,
    +                                                         const char *oidValue);
    +const char*         asn1_check_version                  (const char *req_version);
    +const char*         libtasn1_strerror                   (asn1_retCode error);
    +void                libtasn1_perror                     (asn1_retCode error);
    +int                 asn1_get_tag_der                    (unsigned char *der,
    +                                                         int der_len,
    +                                                         unsigned char *cls,
    +                                                         int *len,
    +                                                         unsigned long *tag);
    +void                asn1_octet_der                      (unsigned char *str,
    +                                                         int str_len,
    +                                                         unsigned char *der,
    +                                                         int *der_len);
    +asn1_retCode        asn1_get_octet_der                  (unsigned char *der,
    +                                                         int der_len,
    +                                                         int *ret_len,
    +                                                         unsigned char *str,
    +                                                         int str_size,
    +                                                         int *str_len);
    +void                asn1_bit_der                        (unsigned char *str,
    +                                                         int bit_len,
    +                                                         unsigned char *der,
    +                                                         int *der_len);
    +asn1_retCode        asn1_get_bit_der                    (unsigned char *der,
    +                                                         int der_len,
    +                                                         int *ret_len,
    +                                                         unsigned char *str,
    +                                                         int str_size,
    +                                                         int *bit_len);
    +void                asn1_length_der                     (unsigned long int len,
    +                                                         unsigned char *ans,
    +                                                         int *ans_len);
    +ASN1_TYPE           asn1_find_node                      (ASN1_TYPE pointer,
    +                                                         const char *name);
    +asn1_retCode        asn1_copy_node                      (ASN1_TYPE dst,
    +                                                         const char *dst_name,
    +                                                         ASN1_TYPE src,
    +                                                         const char *src_name);
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    -

    ASN1_API

    -
    #define             ASN1_API
    -

    -

    +
    +

    LIBTASN1_VERSION

    +
    #define LIBTASN1_VERSION "1.4"
    +

    -
    -

    ASN1_VERSION

    -
    #define ASN1_VERSION "2.3"
    +
    +

    MAX_NAME_SIZE

    +
    #define MAX_NAME_SIZE 128	/* maximum number of characters of a name */
     
    -

    -


    -
    +
    +

    MAX_ERROR_DESCRIPTION_SIZE

    +
    #define MAX_ERROR_DESCRIPTION_SIZE 128	/* maximum number of characters */
    +
    +
    +
    +

    asn1_retCode

    -
      typedef int asn1_retCode; /* type returned by libtasn1 functions */
    +
      typedef int asn1_retCode;	/* type returned by libtasn1 functions */
     
    -

    -


    -
    +

    ASN1_SUCCESS

    -
    #define ASN1_SUCCESS			0
    +
    #define ASN1_SUCCESS               0
     
    -

    -


    -
    +

    ASN1_FILE_NOT_FOUND

    -
    #define ASN1_FILE_NOT_FOUND		1
    +
    #define ASN1_FILE_NOT_FOUND        1
     
    -

    -


    -
    +

    ASN1_ELEMENT_NOT_FOUND

    -
    #define ASN1_ELEMENT_NOT_FOUND		2
    +
    #define ASN1_ELEMENT_NOT_FOUND     2
     
    -

    -


    -
    +

    ASN1_IDENTIFIER_NOT_FOUND

    -
    #define ASN1_IDENTIFIER_NOT_FOUND 3
    +
    #define ASN1_IDENTIFIER_NOT_FOUND  3
     
    -

    -


    -
    +

    ASN1_DER_ERROR

    -
    #define ASN1_DER_ERROR			4
    +
    #define ASN1_DER_ERROR             4
     
    -

    -


    -
    +

    ASN1_VALUE_NOT_FOUND

    -
    #define ASN1_VALUE_NOT_FOUND		5
    +
    #define ASN1_VALUE_NOT_FOUND       5
     
    -

    -


    -
    +

    ASN1_GENERIC_ERROR

    -
    #define ASN1_GENERIC_ERROR		6
    +
    #define ASN1_GENERIC_ERROR         6
     
    -

    -


    -
    +

    ASN1_VALUE_NOT_VALID

    -
    #define ASN1_VALUE_NOT_VALID		7
    +
    #define ASN1_VALUE_NOT_VALID       7
     
    -

    -


    -
    +

    ASN1_TAG_ERROR

    -
    #define ASN1_TAG_ERROR			8
    +
    #define ASN1_TAG_ERROR             8
     
    -

    -


    -
    +

    ASN1_TAG_IMPLICIT

    -
    #define ASN1_TAG_IMPLICIT		9
    +
    #define ASN1_TAG_IMPLICIT          9
     
    -

    -


    -
    +

    ASN1_ERROR_TYPE_ANY

    -
    #define ASN1_ERROR_TYPE_ANY		10
    +
    #define ASN1_ERROR_TYPE_ANY        10
     
    -

    -


    -
    +

    ASN1_SYNTAX_ERROR

    -
    #define ASN1_SYNTAX_ERROR		11
    +
    #define ASN1_SYNTAX_ERROR          11
     
    -

    -


    -
    +

    ASN1_MEM_ERROR

    -
    #define ASN1_MEM_ERROR			12
    +
    #define ASN1_MEM_ERROR		   12
     
    -

    -


    -
    +

    ASN1_MEM_ALLOC_ERROR

    -
    #define ASN1_MEM_ALLOC_ERROR		13
    +
    #define ASN1_MEM_ALLOC_ERROR	   13
     
    -

    -


    -
    +

    ASN1_DER_OVERFLOW

    -
    #define ASN1_DER_OVERFLOW		14
    +
    #define ASN1_DER_OVERFLOW          14
     
    -

    -


    -
    +

    ASN1_NAME_TOO_LONG

    -
    #define ASN1_NAME_TOO_LONG		15
    +
    #define ASN1_NAME_TOO_LONG         15
     
    -

    -


    -
    +

    ASN1_ARRAY_ERROR

    -
    #define ASN1_ARRAY_ERROR		16
    +
    #define ASN1_ARRAY_ERROR           16
     
    -

    -


    -
    +

    ASN1_ELEMENT_NOT_EMPTY

    -
    #define ASN1_ELEMENT_NOT_EMPTY		17
    +
    #define ASN1_ELEMENT_NOT_EMPTY     17
     
    -

    -


    -
    +

    ASN1_PRINT_NAME

    -
    #define ASN1_PRINT_NAME			1
    +
    #define ASN1_PRINT_NAME             1
     
    -

    -


    -
    +

    ASN1_PRINT_NAME_TYPE

    -
    #define ASN1_PRINT_NAME_TYPE		2
    +
    #define ASN1_PRINT_NAME_TYPE        2
     
    -

    -


    -
    +

    ASN1_PRINT_NAME_TYPE_VALUE

    -
    #define ASN1_PRINT_NAME_TYPE_VALUE 3
    +
    #define ASN1_PRINT_NAME_TYPE_VALUE  3
     
    -

    -


    -
    +

    ASN1_PRINT_ALL

    -
    #define ASN1_PRINT_ALL			4
    +
    #define ASN1_PRINT_ALL              4
     
    -

    -


    -
    +

    ASN1_CLASS_UNIVERSAL

    -
    #define ASN1_CLASS_UNIVERSAL		0x00 /* old: 1 */
    +
    #define ASN1_CLASS_UNIVERSAL        0x00	/* old: 1 */
     
    -

    -


    -
    +

    ASN1_CLASS_APPLICATION

    -
    #define ASN1_CLASS_APPLICATION		0x40 /* old: 2 */
    +
    #define ASN1_CLASS_APPLICATION      0x40	/* old: 2 */
     
    -

    -


    -
    +

    ASN1_CLASS_CONTEXT_SPECIFIC

    -
    #define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
    +
    #define ASN1_CLASS_CONTEXT_SPECIFIC 0x80	/* old: 3 */
     
    -

    -


    -
    +

    ASN1_CLASS_PRIVATE

    -
    #define ASN1_CLASS_PRIVATE		0xC0 /* old: 4 */
    +
    #define ASN1_CLASS_PRIVATE          0xC0	/* old: 4 */
     
    -

    -


    -
    +

    ASN1_CLASS_STRUCTURED

    -
    #define ASN1_CLASS_STRUCTURED		0x20
    +
    #define ASN1_CLASS_STRUCTURED       0x20
     
    -

    -


    -
    +

    ASN1_TAG_BOOLEAN

    -
    #define ASN1_TAG_BOOLEAN		0x01
    +
    #define ASN1_TAG_BOOLEAN          0x01
     
    -

    -


    -
    +

    ASN1_TAG_INTEGER

    -
    #define ASN1_TAG_INTEGER		0x02
    +
    #define ASN1_TAG_INTEGER          0x02
     
    -

    -


    -
    +

    ASN1_TAG_SEQUENCE

    -
    #define ASN1_TAG_SEQUENCE		0x10
    +
    #define ASN1_TAG_SEQUENCE         0x10
     
    -

    -


    -
    +

    ASN1_TAG_SET

    -
    #define ASN1_TAG_SET			0x11
    +
    #define ASN1_TAG_SET              0x11
     
    -

    -


    -
    +

    ASN1_TAG_OCTET_STRING

    -
    #define ASN1_TAG_OCTET_STRING		0x04
    +
    #define ASN1_TAG_OCTET_STRING     0x04
     
    -

    -


    -
    +

    ASN1_TAG_BIT_STRING

    -
    #define ASN1_TAG_BIT_STRING		0x03
    +
    #define ASN1_TAG_BIT_STRING       0x03
     
    -

    -


    -
    +

    ASN1_TAG_UTCTime

    -
    #define ASN1_TAG_UTCTime		0x17
    +
    #define ASN1_TAG_UTCTime          0x17
     
    -

    -


    -
    +

    ASN1_TAG_GENERALIZEDTime

    -
    #define ASN1_TAG_GENERALIZEDTime 0x18
    +
    #define ASN1_TAG_GENERALIZEDTime  0x18
     
    -

    -


    -
    +

    ASN1_TAG_OBJECT_ID

    -
    #define ASN1_TAG_OBJECT_ID		0x06
    +
    #define ASN1_TAG_OBJECT_ID        0x06
     
    -

    -


    -
    +

    ASN1_TAG_ENUMERATED

    -
    #define ASN1_TAG_ENUMERATED		0x0A
    +
    #define ASN1_TAG_ENUMERATED       0x0A
     
    -

    -


    -
    +

    ASN1_TAG_NULL

    -
    #define ASN1_TAG_NULL			0x05
    +
    #define ASN1_TAG_NULL             0x05
     
    -

    -


    -
    +

    ASN1_TAG_GENERALSTRING

    -
    #define ASN1_TAG_GENERALSTRING		0x1B
    +
    #define ASN1_TAG_GENERALSTRING    0x1B
     
    -

    -


    -
    +

    node_asn

      typedef struct node_asn_struct node_asn;
     
    -

    -


    -
    +

    ASN1_TYPE

      typedef node_asn *ASN1_TYPE;
     
    -

    -


    -
    +

    ASN1_TYPE_EMPTY

    #define ASN1_TYPE_EMPTY  NULL
     
    -

    -


    -
    +

    ASN1_ARRAY_TYPE

      typedef struct static_struct_asn ASN1_ARRAY_TYPE;
     
    -

    -

    -
    -
    -
    -

    ASN1_MAX_NAME_SIZE

    -
    #define             ASN1_MAX_NAME_SIZE
    -

    -

    -
    -
    -
    -

    ASN1_MAX_ERROR_DESCRIPTION_SIZE

    -
    #define             ASN1_MAX_ERROR_DESCRIPTION_SIZE
    -

    -


    -
    +

    asn1_parser2tree ()

    -
    asn1_retCode        asn1_parser2tree                    (const char *file_name,
    -                                                         ASN1_TYPE *definitions,
    -                                                         char *errorDescription);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    file_name :

    -

    definitions :

    -

    errorDescription :

    -

    Returns :

    -
    +
    asn1_retCode        asn1_parser2tree                    (const char *file_name,
    +                                                         ASN1_TYPE *definitions,
    +                                                         char *errorDescription);

    -
    +

    asn1_parser2array ()

    -
    asn1_retCode        asn1_parser2array                   (const char *inputFileName,
    -                                                         const char *outputFileName,
    -                                                         const char *vectorName,
    -                                                         char *errorDescription);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    inputFileName :

    -

    outputFileName :

    -

    vectorName :

    -

    errorDescription :

    -

    Returns :

    -
    +
    asn1_retCode        asn1_parser2array                   (const char *inputFileName,
    +                                                         const char *outputFileName,
    +                                                         const char *vectorName,
    +                                                         char *errorDescription);

    -
    +

    asn1_array2tree ()

    -
    asn1_retCode        asn1_array2tree                     (const ASN1_ARRAY_TYPE *array,
    -                                                         ASN1_TYPE *definitions,
    -                                                         char *errorDescription);
    +
    asn1_retCode        asn1_array2tree                     (const ASN1_ARRAY_TYPE *array,
    +                                                         ASN1_TYPE *definitions,
    +                                                         char *errorDescription);

    -

    +Creates the structures needed to manage the ASN.1 definitions. +array is a vector created by asn1_parser2array().

    - - -

    array :

    + specify the array that contains ASN.1 declarations

    definitions :

    + return the pointer to the structure created by + *ARRAY ASN.1 declarations

    errorDescription :

    + return the error description.

    Returns :

    + +ASN1_SUCCESS: Structure created correctly. + +ASN1_ELEMENT_NOT_EMPTY: *definitions not ASN1_TYPE_EMPTY. + +ASN1_IDENTIFIER_NOT_FOUND: In the file there is an identifier that + is not defined (see errorDescription for more information). + +ASN1_ARRAY_ERROR: The array pointed by array is wrong.

    -
    +

    asn1_print_structure ()

    -
    void                asn1_print_structure                (FILE *out,
    -                                                         ASN1_TYPE structure,
    -                                                         const char *name,
    -                                                         int mode);
    +
    void                asn1_print_structure                (FILE *out,
    +                                                         ASN1_TYPE structure,
    +                                                         const char *name,
    +                                                         int mode);

    -

    +Prints on the out file descriptor the structure's tree starting +from the name element inside the structure structure.

    - - - -

    out :

    + pointer to the output file (e.g. stdout).

    structure :

    + pointer to the structure that you want to visit.

    name :

    + an element of the structure

    mode :

    + specify how much of the structure to print, can be + ASN1_PRINT_NAME, ASN1_PRINT_NAME_TYPE, + ASN1_PRINT_NAME_TYPE_VALUE, or ASN1_PRINT_ALL.

    -
    +

    asn1_create_element ()

    -
    asn1_retCode        asn1_create_element                 (ASN1_TYPE definitions,
    -                                                         const char *source_name,
    -                                                         ASN1_TYPE *element);
    +
    asn1_retCode        asn1_create_element                 (ASN1_TYPE definitions,
    +                                                         const char *source_name,
    +                                                         ASN1_TYPE *element);

    +Creates a structure of type source_name. Example using + "pkix.asn":

    +

    +rc = asn1_create_structure(cert_def, "PKIX1.Certificate", +certptr);

    - - -

    definitions :

    + pointer to the structure returned by "parser_asn1" function

    source_name :

    + the name of the type of the new structure (must be + inside p_structure).

    element :

    + pointer to the structure created.

    Returns :

    + +ASN1_SUCCESS: Creation OK. + +ASN1_ELEMENT_NOT_FOUND: SOURCE_NAME isn't known

    -
    +

    asn1_delete_structure ()

    -
    asn1_retCode        asn1_delete_structure               (ASN1_TYPE *structure);
    +
    asn1_retCode        asn1_delete_structure               (ASN1_TYPE *structure);

    -

    +Deletes the structure *structure. At the end, *structure is set +to ASN1_TYPE_EMPTY.

    -

    structure :

    + pointer to the structure that you want to delete.

    Returns :

    + +ASN1_SUCCESS: Everything OK. + +ASN1_ELEMENT_NOT_FOUND: *structure was ASN1_TYPE_EMPTY. +

    -
    +

    asn1_delete_element ()

    -
    asn1_retCode        asn1_delete_element                 (ASN1_TYPE structure,
    -                                                         const char *element_name);
    +
    asn1_retCode        asn1_delete_element                 (ASN1_TYPE structure,
    +                                                         const char *element_name);

    -

    +Deletes the element named *element_name inside *structure.

    - -

    structure :

    + pointer to the structure that contains the element you + want to delete.

    element_name :

    + element's name you want to delete.

    Returns :

    + +ASN1_SUCCESS: Everything OK. + +ASN1_ELEMENT_NOT_FOUND: The name element was not found. +

    -
    +

    asn1_write_value ()

    -
    asn1_retCode        asn1_write_value                    (ASN1_TYPE node_root,
    -                                                         const char *name,
    -                                                         const void *ivalue,
    -                                                         int len);
    +
    asn1_retCode        asn1_write_value                    (ASN1_TYPE node_root,
    +                                                         const char *name,
    +                                                         const void *ivalue,
    +                                                         int len);
    +

    +Set the value of one element inside a structure. +

    +

    +If an element is OPTIONAL and you want to delete it, you must use +the value=NULL and len=0. Using "pkix.asn": +

    +

    +result=asn1_write_value(cert, "tbsCertificate.issuerUniqueID", +NULL, 0); +

    +

    +Description for each type: +

    +

    +INTEGER: VALUE must contain a two's complement form integer. +

    +

    + value[0]=0xFF , len=1 -> integer=-1. + value[0]=0xFF value[1]=0xFF , len=2 -> integer=-1. + value[0]=0x01 , len=1 -> integer= 1. + value[0]=0x00 value[1]=0x01 , len=2 -> integer= 1. + value="123" , len=0 -> integer= 123. +

    +

    +ENUMERATED: As INTEGER (but only with not negative numbers). +

    +

    +BOOLEAN: VALUE must be the null terminated string "TRUE" or + "FALSE" and LEN != 0. +

    +

    + value="TRUE" , len=1 -> boolean=TRUE. + value="FALSE" , len=1 -> boolean=FALSE. +

    +

    +OBJECT IDENTIFIER: VALUE must be a null terminated string with + each number separated by a dot (e.g. "1.2.3.543.1"). LEN != 0. +

    +

    + value="1 2 840 10040 4 3" , len=1 -> OID=dsa-with-sha. +

    +

    +UTCTime: VALUE must be a null terminated string in one of these + formats: "YYMMDDhhmmssZ", "YYMMDDhhmmssZ", + "YYMMDDhhmmss+hh'mm'", "YYMMDDhhmmss-hh'mm'", + "YYMMDDhhmm+hh'mm'", or "YYMMDDhhmm-hh'mm'". LEN != 0. +

    +

    + value="9801011200Z" , len=1 -> time=Jannuary 1st, 1998 + at 12h 00m Greenwich Mean Time +

    +

    +GeneralizedTime: VALUE must be in one of this format: + "YYYYMMDDhhmmss.sZ", "YYYYMMDDhhmmss.sZ", + "YYYYMMDDhhmmss.s+hh'mm'", "YYYYMMDDhhmmss.s-hh'mm'", + "YYYYMMDDhhmm+hh'mm'", or "YYYYMMDDhhmm-hh'mm'" where ss.s + indicates the seconds with any precision like "10.1" or "01.02". + LEN != 0 +

    +

    + value="2001010112001.12-0700" , len=1 -> time=Jannuary + 1st, 2001 at 12h 00m 01.12s Pacific Daylight Time +

    +

    +OCTET STRING: VALUE contains the octet string and LEN is the + number of octets. +

    +

    + value="$\backslash$x01$\backslash$x02$\backslash$x03" , + len=3 -> three bytes octet string +

    +

    +GeneralString: VALUE contains the generalstring and LEN is the + number of octets. +

    +

    + value="$\backslash$x01$\backslash$x02$\backslash$x03" , + len=3 -> three bytes generalstring +

    +

    +BIT STRING: VALUE contains the bit string organized by bytes and + LEN is the number of bits. +

    +

    + value="$\backslash$xCF" , len=6 -> bit string="110011" (six + bits) +

    +

    +CHOICE: if NAME indicates a choice type, VALUE must specify one of + the alternatives with a null terminated string. LEN != 0. Using + "pkix.asn"\: +

    +

    + result=asn1_write_value(cert, + "certificate1.tbsCertificate.subject", "rdnSequence", + 1); +

    +

    +ANY: VALUE indicates the der encoding of a structure. LEN != 0. +

    +SEQUENCE OF: VALUE must be the null terminated string "NEW" and + LEN != 0. With this instruction another element is appended in + the sequence. The name of this element will be "?1" if it's the + first one, "?2" for the second and so on.

    +

    + Using "pkix.asn"\: +

    +

    + result=asn1_write_value(cert, + "certificate1.tbsCertificate.subject.rdnSequence", "NEW", 1); +

    +

    +SET OF: the same as SEQUENCE OF. Using "pkix.asn": +

    +

    + result=asn1_write_value(cert, + "tbsCertificate.subject.rdnSequence.?LAST", "NEW", 1);

    - - - -

    node_root :

    + pointer to a structure

    name :

    + the name of the element inside the structure that you want to set.

    ivalue :

    + vector used to specify the value to set. If len is >0, + VALUE must be a two's complement form integer. if len=0 *VALUE + must be a null terminated string with an integer value.

    len :

    + number of bytes of *value to use to set the value: + value[0]..value[len-1] or 0 if value is a null terminated string

    Returns :

    + + ASN1_SUCCESS: Set value OK. + + ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element. + + ASN1_VALUE_NOT_VALID: VALUE has a wrong format. +

    -
    +

    asn1_read_value ()

    -
    asn1_retCode        asn1_read_value                     (ASN1_TYPE root,
    -                                                         const char *name,
    -                                                         void *ivalue,
    -                                                         int *len);
    +
    asn1_retCode        asn1_read_value                     (ASN1_TYPE root,
    +                                                         const char *name,
    +                                                         void *ivalue,
    +                                                         int *len);
    +

    +Returns the value of one element inside a structure. +

    +

    +If an element is OPTIONAL and the function "read_value" returns +ASN1_ELEMENT_NOT_FOUND, it means that this element wasn't present +in the der encoding that created the structure. The first element +of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and +so on. +

    +

    +INTEGER: VALUE will contain a two's complement form integer. +

    +

    + integer=-1 -> value[0]=0xFF , len=1. + integer=1 -> value[0]=0x01 , len=1. +

    +

    +ENUMERATED: As INTEGER (but only with not negative numbers). +

    +

    +BOOLEAN: VALUE will be the null terminated string "TRUE" or + "FALSE" and LEN=5 or LEN=6. +

    +

    +OBJECT IDENTIFIER: VALUE will be a null terminated string with + each number separated by a dot (i.e. "1.2.3.543.1"). +

    +

    + LEN = strlen(VALUE)+1 +

    +UTCTime: VALUE will be a null terminated string in one of these + formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss-hh'mm'". + LEN=strlen(VALUE)+1.

    +

    +GeneralizedTime: VALUE will be a null terminated string in the + same format used to set the value. +

    +

    +OCTET STRING: VALUE will contain the octet string and LEN will be + the number of octets. +

    +

    +GeneralString: VALUE will contain the generalstring and LEN will + be the number of octets. +

    +

    +BIT STRING: VALUE will contain the bit string organized by bytes + and LEN will be the number of bits. +

    +

    +CHOICE: If NAME indicates a choice type, VALUE will specify the + alternative selected. +

    +

    +ANY: If NAME indicates an any type, VALUE will indicate the DER + encoding of the structure actually used.

    - - - -

    root :

    + pointer to a structure.

    name :

    + the name of the element inside a structure that you want to read.

    ivalue :

    + vector that will contain the element's content, must be a + pointer to memory cells already allocated.

    len :

    + number of bytes of *value: value[0]..value[len-1]. Initialy + holds the sizeof value.

    Returns :

    + + ASN1_SUCCESS: Set value OK. + + ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element. + + ASN1_VALUE_NOT_FOUND: There isn't any value for the element selected. + + ASN1_MEM_ERROR: The value vector isn't big enough to store the result. + In this case LEN will contain the number of bytes needed. +

    -
    +

    asn1_number_of_elements ()

    -
    asn1_retCode        asn1_number_of_elements             (ASN1_TYPE element,
    -                                                         const char *name,
    -                                                         int *num);
    +
    asn1_retCode        asn1_number_of_elements             (ASN1_TYPE element,
    +                                                         const char *name,
    +                                                         int *num);

    -

    +Counts the number of elements of a sub-structure called NAME with +names equal to "?1","?2", ...

    - - -

    element :

    + pointer to the root of an ASN1 structure.

    name :

    + the name of a sub-structure of ROOT.

    num :

    + pointer to an integer where the result will be stored

    Returns :

    + + ASN1_SUCCESS: Creation OK. + + ASN1_ELEMENT_NOT_FOUND: NAME isn't known. + + ASN1_GENERIC_ERROR: Pointer num equal to NULL. +

    -
    +

    asn1_der_coding ()

    -
    asn1_retCode        asn1_der_coding                     (ASN1_TYPE element,
    -                                                         const char *name,
    -                                                         void *ider,
    -                                                         int *len,
    -                                                         char *ErrorDescription);
    +
    asn1_retCode        asn1_der_coding                     (ASN1_TYPE element,
    +                                                         const char *name,
    +                                                         void *ider,
    +                                                         int *len,
    +                                                         char *ErrorDescription);

    -

    +Creates the DER encoding for the NAME structure (inside *POINTER +structure).

    - - - - - - +

    element :

    + pointer to an ASN1 element

    name :

    + the name of the structure you want to encode (it must be + inside *POINTER).

    ider :

    + vector that will contain the DER encoding. DER must be a + pointer to memory cells already allocated.

    len :

    + number of bytes of *ider: ider[0]..ider[len-1], Initialy + holds the sizeof of der vector.

    ErrorDescription :

    +

    errorDescription :

    return the error description or an empty + string if success.

    Returns :

    + + ASN1_SUCCESS: DER encoding OK. + + ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element. + + ASN1_VALUE_NOT_FOUND: There is an element without a value. + + ASN1_MEM_ERROR: ider vector isn't big enough. Also in this case + LEN will contain the length needed. +

    -
    +

    asn1_der_decoding ()

    -
    asn1_retCode        asn1_der_decoding                   (ASN1_TYPE *element,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         char *errorDescription);
    -

    -

    +
    asn1_retCode        asn1_der_decoding                   (ASN1_TYPE *element,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         char *errorDescription);
    +

    +Fill the structure *ELEMENT with values of a DER encoding +string. The sructure must just be created with function +'create_stucture'. If an error occurs during the decoding +procedure, the *ELEMENT is deleted and set equal to +ASN1_TYPE_EMPTY.

    - - - -

    element :

    + pointer to an ASN1 structure.

    ider :

    + vector that contains the DER encoding.

    len :

    + number of bytes of *ider: ider[0]..ider[len-1].

    errorDescription :

    + null-terminated string contains details when an + error occurred.

    Returns :

    + + ASN1_SUCCESS: DER encoding OK. + + ASN1_ELEMENT_NOT_FOUND: ELEMENT is ASN1_TYPE_EMPTY. + + ASN1_TAG_ERROR,ASN1_DER_ERROR: The der encoding doesn't match + the structure NAME. *ELEMENT deleted.

    -
    +

    asn1_der_decoding_element ()

    -
    asn1_retCode        asn1_der_decoding_element           (ASN1_TYPE *structure,
    -                                                         const char *elementName,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         char *errorDescription);
    -

    -

    +
    asn1_retCode        asn1_der_decoding_element           (ASN1_TYPE *structure,
    +                                                         const char *elementName,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         char *errorDescription);
    +

    +Fill the element named ELEMENTNAME with values of a DER encoding +string. The sructure must just be created with function +'create_stucture'. The DER vector must contain the encoding +string of the whole STRUCTURE. If an error occurs during the +decoding procedure, the *STRUCTURE is deleted and set equal to +ASN1_TYPE_EMPTY.

    - - - - -

    structure :

    + pointer to an ASN1 structure

    elementName :

    + name of the element to fill

    ider :

    + vector that contains the DER encoding of the whole structure.

    len :

    + number of bytes of *der: der[0]..der[len-1]

    errorDescription :

    + null-terminated string contains details when an + error occurred.

    Returns :

    + + ASN1_SUCCESS: DER encoding OK. + + ASN1_ELEMENT_NOT_FOUND: ELEMENT is ASN1_TYPE_EMPTY or + elementName == NULL. + + ASN1_TAG_ERROR,ASN1_DER_ERROR: The der encoding doesn't match + the structure STRUCTURE. *ELEMENT deleted. +

    -
    +

    asn1_der_decoding_startEnd ()

    -
    asn1_retCode        asn1_der_decoding_startEnd          (ASN1_TYPE element,
    -                                                         const void *ider,
    -                                                         int len,
    -                                                         const char *name_element,
    -                                                         int *start,
    -                                                         int *end);
    -

    +

    asn1_retCode        asn1_der_decoding_startEnd          (ASN1_TYPE element,
    +                                                         const void *ider,
    +                                                         int len,
    +                                                         const char *name_element,
    +                                                         int *start,
    +                                                         int *end);
    +

    +Find the start and end point of an element in a DER encoding +string. I mean that if you have a der encoding and you have +already used the function "asn1_der_decoding" to fill a structure, +it may happen that you want to find the piece of string concerning +an element of the structure.

    +

    +Example: the sequence "tbsCertificate" inside an X509 certificate.

    - - - - - -

    element :

    + pointer to an ASN1 element

    ider :

    + vector that contains the DER encoding.

    len :

    + number of bytes of *ider: ider[0]..ider[len-1]

    name_element :

    + an element of NAME structure.

    start :

    + the position of the first byte of NAME_ELEMENT decoding + (ider[*start])

    end :

    + the position of the last byte of NAME_ELEMENT decoding + (ider[*end])

    Returns :

    + + ASN1_SUCCESS: DER encoding OK. + + ASN1_ELEMENT_NOT_FOUND: ELEMENT is ASN1_TYPE EMPTY or + NAME_ELEMENT is not a valid element. + + ASN1_TAG_ERROR,ASN1_DER_ERROR: the der encoding doesn't match + the structure ELEMENT. +

    -
    +

    asn1_expand_any_defined_by ()

    -
    asn1_retCode        asn1_expand_any_defined_by          (ASN1_TYPE definitions,
    -                                                         ASN1_TYPE *element);
    +
    asn1_retCode        asn1_expand_any_defined_by          (ASN1_TYPE definitions,
    +                                                         ASN1_TYPE *element);

    -

    +Expands every "ANY DEFINED BY" element of a structure created from +a DER decoding process (asn1_der_decoding function). The element ANY +must be defined by an OBJECT IDENTIFIER. The type used to expand +the element ANY is the first one following the definition of +the actual value of the OBJECT IDENTIFIER.

    - -

    definitions :

    + ASN1 definitions

    element :

    + pointer to an ASN1 structure

    Returns :

    + + ASN1_SUCCESS: Substitution OK. + + ASN1_ERROR_TYPE_ANY: Some "ANY DEFINED BY" element couldn't be + expanded due to a problem in OBJECT_ID -> TYPE association. + + other errors: Result of der decoding process.

    -
    +

    asn1_expand_octet_string ()

    -
    asn1_retCode        asn1_expand_octet_string            (ASN1_TYPE definitions,
    -                                                         ASN1_TYPE *element,
    -                                                         const char *octetName,
    -                                                         const char *objectName);
    -

    -

    +
    asn1_retCode        asn1_expand_octet_string            (ASN1_TYPE definitions,
    +                                                         ASN1_TYPE *element,
    +                                                         const char *octetName,
    +                                                         const char *objectName);
    +

    +Expands an "OCTET STRING" element of a structure created from a +DER decoding process (asn1_der_decoding function). The type used +for expansion is the first one following the definition of the +actual value of the OBJECT IDENTIFIER indicated by OBJECTNAME.

    - - - -

    definitions :

    + ASN1 definitions

    element :

    + pointer to an ASN1 structure

    octetName :

    + name of the OCTECT STRING field to expand.

    objectName :

    + name of the OBJECT IDENTIFIER field to use to define + the type for expansion.

    Returns :

    + + ASN1_SUCCESS: Substitution OK. + + ASN1_ELEMENT_NOT_FOUND: OBJECTNAME or OCTETNAME are not correct. + + ASN1_VALUE_NOT_VALID: Wasn't possible to find the type to use + for expansion. + + other errors: result of der decoding process.

    -
    +

    asn1_read_tag ()

    -
    asn1_retCode        asn1_read_tag                       (ASN1_TYPE root,
    -                                                         const char *name,
    -                                                         int *tagValue,
    -                                                         int *classValue);
    -

    -

    +
    asn1_retCode        asn1_read_tag                       (node_asn *root,
    +                                                         const char *name,
    +                                                         int *tagValue,
    +                                                         int *classValue);
    +

    +Returns the TAG and the CLASS of one element inside a structure. +CLASS can have one of these constants: ASN1_CLASS_APPLICATION, +ASN1_CLASS_UNIVERSAL, ASN1_CLASS_PRIVATE or +ASN1_CLASS_CONTEXT_SPECIFIC.

    - - - -

    root :

    + pointer to a structure

    name :

    + the name of the element inside a structure.

    tagValue :

    + variable that will contain the TAG value.

    classValue :

    + variable that will specify the TAG type.

    Returns :

    + + ASN1_SUCCESS: Set value OK. + + ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element. +

    -
    +

    asn1_find_structure_from_oid ()

    -
    const char *        asn1_find_structure_from_oid        (ASN1_TYPE definitions,
    -                                                         const char *oidValue);
    +
    const char*         asn1_find_structure_from_oid        (ASN1_TYPE definitions,
    +                                                         const char *oidValue);

    -

    +Search the structure that is defined just after an OID definition.

    - - -

    definitions :

    + ASN1 definitions

    oidValue :

    + value of the OID to search (e.g. "1.2.3.4").

    Returns :

    + NULL when OIDVALUE not found, otherwise the pointer to a + constant string that contains the element name defined just + after the OID. +

    -
    +

    asn1_check_version ()

    -
    const char *        asn1_check_version                  (const char *req_version);
    +
    const char*         asn1_check_version                  (const char *req_version);

    +Check that the the version of the library is at minimum the +requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned.

    +

    +See LIBTASN1_VERSION for a suitable req_version string.

    - -

    req_version :

    + Required version number, or NULL.

    Returns :

    + Version string of run-time library, or NULL if the + run-time library does not meet the required version number.

    -
    -

    asn1_strerror ()

    -
    const char *        asn1_strerror                       (asn1_retCode error);
    +
    +

    libtasn1_strerror ()

    +
    const char*         libtasn1_strerror                   (asn1_retCode error);

    -

    +This function is similar to strerror(). The only difference is +that it accepts an error (number) returned by a libtasn1 function.

    - -

    error :

    + is an error returned by a libtasn1 function.

    Returns :

    + Pointer to static zero-terminated string describing error + code.

    -
    -

    asn1_perror ()

    -
    void                asn1_perror                         (asn1_retCode error);
    +
    +

    libtasn1_perror ()

    +
    void                libtasn1_perror                     (asn1_retCode error);

    -

    +This function is like perror(). The only difference is that it +accepts an error returned by a libtasn1 function.

    -

    error :

    + is an error returned by a libtasn1 function.

    -
    +

    asn1_get_tag_der ()

    -
    int                 asn1_get_tag_der                    (unsigned char *der,
    -                                                         int der_len,
    -                                                         unsigned char *cls,
    -                                                         int *len,
    -                                                         unsigned long *tag);
    +
    int                 asn1_get_tag_der                    (unsigned char *der,
    +                                                         int der_len,
    +                                                         unsigned char *cls,
    +                                                         int *len,
    +                                                         unsigned long *tag);

    Decode the class and TAG from DER code.

    @@ -1320,27 +1500,27 @@ - - - - - @@ -1352,12 +1532,12 @@

    der :

    DER data to decode. + DER data to decode.

    der_len :

    Length of DER data to decode. + Length of DER data to decode.

    cls :

    Output variable containing decoded class. + Output variable containing decoded class.

    len :

    Output variable containing the length of the DER TAG data. + Output variable containing the length of the DER TAG data.

    tag :

    Output variable containing the decoded tag. + Output variable containing the decoded tag.

    -
    +

    asn1_octet_der ()

    -
    void                asn1_octet_der                      (unsigned char *str,
    -                                                         int str_len,
    -                                                         unsigned char *der,
    -                                                         int *der_len);
    +
    void                asn1_octet_der                      (unsigned char *str,
    +                                                         int str_len,
    +                                                         unsigned char *der,
    +                                                         int *der_len);

    Creates the DER coding for an OCTET type (length included).

    @@ -1365,36 +1545,36 @@ - - - -

    str :

    OCTET string. + OCTET string.

    str_len :

    STR length (str[0]..str[str_len-1]). + STR length (str[0]..str[str_len-1]).

    der :

    string returned. + string returned.

    der_len :

    number of meaningful bytes of DER (der[0]..der[ans_len-1]). + number of meaningful bytes of DER (der[0]..der[ans_len-1]).

    -
    +

    asn1_get_octet_der ()

    -
    asn1_retCode        asn1_get_octet_der                  (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *ret_len,
    -                                                         unsigned char *str,
    -                                                         int str_size,
    -                                                         int *str_len);
    +
    asn1_retCode        asn1_get_octet_der                  (unsigned char *der,
    +                                                         int der_len,
    +                                                         int *ret_len,
    +                                                         unsigned char *str,
    +                                                         int str_size,
    +                                                         int *str_len);

    Extract an OCTET SEQUENCE from DER data.

    @@ -1402,32 +1582,32 @@ - - - - - - @@ -1439,12 +1619,12 @@

    der :

    DER data to decode containing the OCTET SEQUENCE. + DER data to decode containing the OCTET SEQUENCE.

    der_len :

    Length of DER data to decode. + Length of DER data to decode.

    ret_len :

    Output variable containing the length of the DER data. + Output variable containing the length of the DER data.

    str :

    Pre-allocated output buffer to put decoded OCTET SEQUENCE in. + Pre-allocated output buffer to put decoded OCTET SEQUENCE in.

    str_size :

    Length of pre-allocated output buffer. + Length of pre-allocated output buffer.

    str_len :

    Output variable containing the length of the OCTET SEQUENCE. + Output variable containing the length of the OCTET SEQUENCE.

    -
    +

    asn1_bit_der ()

    -
    void                asn1_bit_der                        (unsigned char *str,
    -                                                         int bit_len,
    -                                                         unsigned char *der,
    -                                                         int *der_len);
    +
    void                asn1_bit_der                        (unsigned char *str,
    +                                                         int bit_len,
    +                                                         unsigned char *der,
    +                                                         int *der_len);

    Creates the DER coding for a BIT STRING type (length and pad included).

    @@ -1453,22 +1633,22 @@

    str :

    -BIT string. + BIT string.

    bit_len :

    -number of meaningful bits in STR. + number of meaningful bits in STR.

    der :

    -string returned. + string returned.

    der_len :

    -number of meaningful bytes of DER + number of meaningful bytes of DER (der[0]..der[ans_len-1]). @@ -1476,14 +1656,14 @@

    -
    +

    asn1_get_bit_der ()

    -
    asn1_retCode        asn1_get_bit_der                    (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *ret_len,
    -                                                         unsigned char *str,
    -                                                         int str_size,
    -                                                         int *bit_len);
    +
    asn1_retCode        asn1_get_bit_der                    (unsigned char *der,
    +                                                         int der_len,
    +                                                         int *ret_len,
    +                                                         unsigned char *str,
    +                                                         int str_size,
    +                                                         int *bit_len);

    Extract a BIT SEQUENCE from DER data.

    @@ -1491,32 +1671,32 @@ - - - - - - @@ -1528,85 +1708,11 @@

    der :

    DER data to decode containing the BIT SEQUENCE. + DER data to decode containing the BIT SEQUENCE.

    der_len :

    Length of DER data to decode. + Length of DER data to decode.

    ret_len :

    Output variable containing the length of the DER data. + Output variable containing the length of the DER data.

    str :

    Pre-allocated output buffer to put decoded BIT SEQUENCE in. + Pre-allocated output buffer to put decoded BIT SEQUENCE in.

    str_size :

    Length of pre-allocated output buffer. + Length of pre-allocated output buffer.

    bit_len :

    Output variable containing the size of the BIT SEQUENCE. + Output variable containing the size of the BIT SEQUENCE.

    -
    -

    asn1_get_length_der ()

    -
    signed long         asn1_get_length_der                 (unsigned char *der,
    -                                                         int der_len,
    -                                                         int *len);
    -

    -Extract a length field from DER data.

    -
    -- - - - - - - - - - - - - - - - - - -

    der :

    DER data to decode. -

    der_len :

    Length of DER data to decode. -

    len :

    Output variable containing the length of the DER length field. -

    Returns :

    Return the decoded length value, or -1 on indefinite - length, or -2 when the value was too big. -
    -
    -
    -
    -

    asn1_get_length_ber ()

    -
    signed long         asn1_get_length_ber                 (unsigned char *ber,
    -                                                         int ber_len,
    -                                                         int *len);
    -

    -Extract a length field from BER data. The difference to -asn1_get_length_der() is that this function will return a length -even if the value has indefinite encoding.

    -
    -- - - - - - - - - - - - - - - - - - -

    ber :

    BER data to decode. -

    ber_len :

    Length of BER data to decode. -

    len :

    Output variable containing the length of the BER length field. -

    Returns :

    Return the decoded length value, or negative value - when the value was too big. - -
    -

    Since 2.0

    -
    -
    -
    +

    asn1_length_der ()

    -
    void                asn1_length_der                     (unsigned long int len,
    -                                                         unsigned char *ans,
    -                                                         int *ans_len);
    +
    void                asn1_length_der                     (unsigned long int len,
    +                                                         unsigned char *ans,
    +                                                         int *ans_len);

    Creates the DER coding for the LEN parameter (only the length). The ans buffer is pre-allocated and must have room for the output.

    @@ -1615,27 +1721,27 @@

    len :

    -value to convert. + value to convert.

    ans :

    -string returned. + string returned.

    ans_len :

    -number of meaningful bytes of ANS (ans[0]..ans[ans_len-1]). + number of meaningful bytes of ANS (ans[0]..ans[ans_len-1]).

    -
    +

    asn1_find_node ()

    -
    ASN1_TYPE           asn1_find_node                      (ASN1_TYPE pointer,
    -                                                         const char *name);
    +
    ASN1_TYPE           asn1_find_node                      (ASN1_TYPE pointer,
    +                                                         const char *name);

    Searches for an element called NAME starting from POINTER. The name is composed by differents identifiers separated by dots. When @@ -1646,12 +1752,12 @@

    pointer :

    -NODE_ASN element pointer. + NODE_ASN element pointer.

    name :

    -null terminated string with the element's name to find. + null terminated string with the element's name to find. @@ -1663,12 +1769,12 @@

    -
    +

    asn1_copy_node ()

    -
    asn1_retCode        asn1_copy_node                      (ASN1_TYPE dst,
    -                                                         const char *dst_name,
    -                                                         ASN1_TYPE src,
    -                                                         const char *src_name);
    +
    asn1_retCode        asn1_copy_node                      (ASN1_TYPE dst,
    +                                                         const char *dst_name,
    +                                                         ASN1_TYPE src,
    +                                                         const char *src_name);

    Create a deep copy of a ASN1_TYPE variable.

    @@ -1676,22 +1782,22 @@ - - - - @@ -1702,91 +1808,10 @@

    dst :

    Destination ASN1_TYPE node. + Destination ASN1_TYPE node.

    dst_name :

    Field name in destination node. + Field name in destination node.

    src :

    Source ASN1_TYPE node. + Source ASN1_TYPE node.

    src_name :

    Field name in source node. + Field name in source node.
    -
    -
    -

    LIBTASN1_VERSION

    -
    #define LIBTASN1_VERSION ASN1_VERSION
    -
    -
    -

    Warning

    -

    LIBTASN1_VERSION is deprecated and should not be used in newly-written code.

    -
    -

    -

    -
    -
    -
    -

    MAX_NAME_SIZE

    -
    # define MAX_NAME_SIZE ASN1_MAX_NAME_SIZE
    -
    -
    -

    Warning

    -

    MAX_NAME_SIZE is deprecated and should not be used in newly-written code.

    -
    -

    -

    -
    -
    -
    -

    MAX_ERROR_DESCRIPTION_SIZE

    -
    # define MAX_ERROR_DESCRIPTION_SIZE ASN1_MAX_ERROR_DESCRIPTION_SIZE
    -
    -
    -

    Warning

    -

    MAX_ERROR_DESCRIPTION_SIZE is deprecated and should not be used in newly-written code.

    -
    -

    -

    -
    -
    -
    -

    libtasn1_strerror ()

    -
    const char *        libtasn1_strerror                   (asn1_retCode error);
    -
    -

    Warning

    -

    libtasn1_strerror is deprecated and should not be used in newly-written code.

    -
    -

    -

    -
    -- - - - - - - - - - -

    error :

    -

    Returns :

    -
    -
    -
    -
    -

    libtasn1_perror ()

    -
    void                libtasn1_perror                     (asn1_retCode error);
    -
    -

    Warning

    -

    libtasn1_perror is deprecated and should not be used in newly-written code.

    -
    -

    -

    -
    -- - - - -

    error :

    -
    -
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-openpgp.html gnutls26-2.4.1/doc/reference/html/gnutls-openpgp.html --- gnutls26-2.8.6/doc/reference/html/gnutls-openpgp.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-openpgp.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ openpgp - - + + - - + + + + + + @@ -18,15 +22,13 @@ - + - + Description -
    +
    @@ -35,2660 +37,2848 @@
    -
    +

    Synopsis

    -
    enum                gnutls_openpgp_crt_fmt_t;
    +
    +enum                gnutls_openpgp_crt_fmt_t;
     typedef             gnutls_openpgp_keyid_t;
    -int                 gnutls_openpgp_crt_init             (gnutls_openpgp_crt_t *key);
    -void                gnutls_openpgp_crt_deinit           (gnutls_openpgp_crt_t key);
    -int                 gnutls_openpgp_crt_import           (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_openpgp_crt_export           (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_openpgp_crt_print            (gnutls_openpgp_crt_t cert,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    -int                 gnutls_openpgp_crt_get_key_usage    (gnutls_openpgp_crt_t key,
    -                                                         unsigned int *key_usage);
    -int                 gnutls_openpgp_crt_get_fingerprint  (gnutls_openpgp_crt_t key,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    -int                 gnutls_openpgp_crt_get_subkey_fingerprint
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    -int                 gnutls_openpgp_crt_get_name         (gnutls_openpgp_crt_t key,
    -                                                         int idx,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -gnutls_pk_algorithm_t  gnutls_openpgp_crt_get_pk_algorithm
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int *bits);
    -int                 gnutls_openpgp_crt_get_version      (gnutls_openpgp_crt_t key);
    -time_t              gnutls_openpgp_crt_get_creation_time
    -                                                        (gnutls_openpgp_crt_t key);
    -time_t              gnutls_openpgp_crt_get_expiration_time
    -                                                        (gnutls_openpgp_crt_t key);
    -int                 gnutls_openpgp_crt_get_key_id       (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_crt_check_hostname   (gnutls_openpgp_crt_t key,
    -                                                         const char *hostname);
    -int                 gnutls_openpgp_crt_get_revoked_status
    -                                                        (gnutls_openpgp_crt_t key);
    -int                 gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key);
    -int                 gnutls_openpgp_crt_get_subkey_idx   (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_crt_get_subkey_revoked_status
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    -gnutls_pk_algorithm_t  gnutls_openpgp_crt_get_subkey_pk_algorithm
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *bits);
    -time_t              gnutls_openpgp_crt_get_subkey_creation_time
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    -time_t              gnutls_openpgp_crt_get_subkey_expiration_time
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    -int                 gnutls_openpgp_crt_get_subkey_id    (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *key_usage);
    -int                 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
    -                                                        (gnutls_openpgp_crt_t crt,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -int                 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
    -                                                        (gnutls_openpgp_crt_t crt,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -int                 gnutls_openpgp_crt_get_pk_dsa_raw   (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -int                 gnutls_openpgp_crt_get_pk_rsa_raw   (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -int                 gnutls_openpgp_crt_get_preferred_key_id
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_crt_set_preferred_key_id
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_privkey_init         (gnutls_openpgp_privkey_t *key);
    -void                gnutls_openpgp_privkey_deinit       (gnutls_openpgp_privkey_t key);
    -gnutls_pk_algorithm_t  gnutls_openpgp_privkey_get_pk_algorithm
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int *bits);
    -int                 gnutls_openpgp_privkey_import       (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags);
    -int                 gnutls_openpgp_privkey_sign_hash    (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    -int                 gnutls_openpgp_privkey_get_fingerprint
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    -int                 gnutls_openpgp_privkey_get_subkey_fingerprint
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    -int                 gnutls_openpgp_privkey_get_key_id   (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_privkey_get_subkey_count
    -                                                        (gnutls_openpgp_privkey_t key);
    -int                 gnutls_openpgp_privkey_get_subkey_idx
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_privkey_get_subkey_revoked_status
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    -int                 gnutls_openpgp_privkey_get_revoked_status
    -                                                        (gnutls_openpgp_privkey_t key);
    -gnutls_pk_algorithm_t  gnutls_openpgp_privkey_get_subkey_pk_algorithm
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *bits);
    -time_t              gnutls_openpgp_privkey_get_subkey_expiration_time
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    -int                 gnutls_openpgp_privkey_get_subkey_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -time_t              gnutls_openpgp_privkey_get_subkey_creation_time
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    -int                 gnutls_openpgp_privkey_export_subkey_dsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    -int                 gnutls_openpgp_privkey_export_subkey_rsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -int                 gnutls_openpgp_privkey_export_dsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    -int                 gnutls_openpgp_privkey_export_rsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -int                 gnutls_openpgp_privkey_export       (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_openpgp_privkey_set_preferred_key_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_privkey_get_preferred_key_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    -int                 gnutls_openpgp_crt_get_auth_subkey  (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_openpgp_keyid_t keyid,
    -                                                         unsigned int flag);
    -int                 gnutls_openpgp_keyring_init         (gnutls_openpgp_keyring_t *keyring);
    -void                gnutls_openpgp_keyring_deinit       (gnutls_openpgp_keyring_t keyring);
    -int                 gnutls_openpgp_keyring_import       (gnutls_openpgp_keyring_t keyring,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_openpgp_keyring_check_id     (gnutls_openpgp_keyring_t ring,
    -                                                         const gnutls_openpgp_keyid_t keyid,
    -                                                         unsigned int flags);
    -int                 gnutls_openpgp_crt_verify_ring      (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyring_t keyring,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -int                 gnutls_openpgp_crt_verify_self      (gnutls_openpgp_crt_t key,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -int                 gnutls_openpgp_keyring_get_crt      (gnutls_openpgp_keyring_t ring,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_crt_t *cert);
    -int                 gnutls_openpgp_keyring_get_crt_count
    -                                                        (gnutls_openpgp_keyring_t ring);
    -int                 (*gnutls_openpgp_recv_key_func)     (gnutls_session_t session,
    -                                                         unsigned char *keyfpr,
    -                                                         unsigned int keyfpr_length,
    -                                                         gnutls_datum_t *key);
    -void                gnutls_openpgp_set_recv_key_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_openpgp_recv_key_func func);
    -int                 gnutls_certificate_set_openpgp_key  (gnutls_certificate_credentials_t res,
    -                                                         gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_privkey_t pkey);
    -int                 gnutls_certificate_set_openpgp_key_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_certificate_set_openpgp_key_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_certificate_set_openpgp_key_file2
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         const char *subkey_id,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_certificate_set_openpgp_key_mem2
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         const char *subkey_id,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_certificate_set_openpgp_keyring_mem
    -                                                        (gnutls_certificate_credentials_t c,
    -                                                         unsigned char *data,
    -                                                         size_t dlen,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -int                 gnutls_certificate_set_openpgp_keyring_file
    -                                                        (gnutls_certificate_credentials_t c,
    -                                                         const char *file,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    +int                 gnutls_openpgp_crt_init             (gnutls_openpgp_crt_t *key);
    +void                gnutls_openpgp_crt_deinit           (gnutls_openpgp_crt_t key);
    +int                 gnutls_openpgp_crt_import           (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format);
    +int                 gnutls_openpgp_crt_export           (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_openpgp_crt_print            (gnutls_openpgp_crt_t cert,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);
    +int                 gnutls_openpgp_crt_get_key_usage    (gnutls_openpgp_crt_t cert,
    +                                                         unsigned int *key_usage);
    +int                 gnutls_openpgp_crt_get_fingerprint  (gnutls_openpgp_crt_t key,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);
    +int                 gnutls_openpgp_crt_get_subkey_fingerprint
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);
    +int                 gnutls_openpgp_crt_get_name         (gnutls_openpgp_crt_t key,
    +                                                         int idx,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int *bits);
    +int                 gnutls_openpgp_crt_get_version      (gnutls_openpgp_crt_t key);
    +time_t              gnutls_openpgp_crt_get_creation_time
    +                                                        (gnutls_openpgp_crt_t key);
    +time_t              gnutls_openpgp_crt_get_expiration_time
    +                                                        (gnutls_openpgp_crt_t key);
    +int                 gnutls_openpgp_crt_get_key_id       (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_crt_check_hostname   (gnutls_openpgp_crt_t key,
    +                                                         const char *hostname);
    +int                 gnutls_openpgp_crt_get_revoked_status
    +                                                        (gnutls_openpgp_crt_t key);
    +int                 gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key);
    +int                 gnutls_openpgp_crt_get_subkey_idx   (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_crt_get_subkey_revoked_status
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);
    +gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *bits);
    +time_t              gnutls_openpgp_crt_get_subkey_creation_time
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);
    +time_t              gnutls_openpgp_crt_get_subkey_expiration_time
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);
    +int                 gnutls_openpgp_crt_get_subkey_id    (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *key_usage);
    +int                 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
    +                                                        (gnutls_openpgp_crt_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +int                 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
    +                                                        (gnutls_openpgp_crt_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +int                 gnutls_openpgp_crt_get_pk_dsa_raw   (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +int                 gnutls_openpgp_crt_get_pk_rsa_raw   (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +int                 gnutls_openpgp_crt_get_preferred_key_id
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_crt_set_preferred_key_id
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_privkey_init         (gnutls_openpgp_privkey_t *key);
    +void                gnutls_openpgp_privkey_deinit       (gnutls_openpgp_privkey_t key);
    +gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int *bits);
    +int                 gnutls_openpgp_privkey_import       (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         const char *pass,
    +                                                         unsigned int flags);
    +int                 gnutls_openpgp_privkey_sign_hash    (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);
    +int                 gnutls_openpgp_privkey_get_fingerprint
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);
    +int                 gnutls_openpgp_privkey_get_subkey_fingerprint
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);
    +int                 gnutls_openpgp_privkey_get_key_id   (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_privkey_get_subkey_count
    +                                                        (gnutls_openpgp_privkey_t key);
    +int                 gnutls_openpgp_privkey_get_subkey_idx
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_privkey_get_subkey_revoked_status
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);
    +int                 gnutls_openpgp_privkey_get_revoked_status
    +                                                        (gnutls_openpgp_privkey_t key);
    +gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *bits);
    +time_t              gnutls_openpgp_privkey_get_subkey_expiration_time
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);
    +int                 gnutls_openpgp_privkey_get_subkey_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +time_t              gnutls_openpgp_privkey_get_subkey_creation_time
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);
    +int                 gnutls_openpgp_privkey_export_subkey_dsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);
    +int                 gnutls_openpgp_privkey_export_subkey_rsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +int                 gnutls_openpgp_privkey_export_dsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);
    +int                 gnutls_openpgp_privkey_export_rsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +int                 gnutls_openpgp_privkey_export       (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         const char *password,
    +                                                         unsigned int flags,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_openpgp_privkey_set_preferred_key_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_privkey_get_preferred_key_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);
    +int                 gnutls_openpgp_crt_get_auth_subkey  (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_openpgp_keyid_t keyid,
    +                                                         unsigned int flag);
    +int                 gnutls_openpgp_keyring_init         (gnutls_openpgp_keyring_t *keyring);
    +void                gnutls_openpgp_keyring_deinit       (gnutls_openpgp_keyring_t keyring);
    +int                 gnutls_openpgp_keyring_import       (gnutls_openpgp_keyring_t keyring,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format);
    +int                 gnutls_openpgp_keyring_check_id     (gnutls_openpgp_keyring_t ring,
    +                                                         const gnutls_openpgp_keyid_t keyid,
    +                                                         unsigned int flags);
    +int                 gnutls_openpgp_crt_verify_ring      (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyring_t keyring,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +int                 gnutls_openpgp_crt_verify_self      (gnutls_openpgp_crt_t key,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +int                 gnutls_openpgp_keyring_get_crt      (gnutls_openpgp_keyring_t ring,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_crt_t *cert);
    +int                 gnutls_openpgp_keyring_get_crt_count
    +                                                        (gnutls_openpgp_keyring_t ring);
    +int                 (*gnutls_openpgp_recv_key_func)     (gnutls_session_t session,
    +                                                         unsigned char *keyfpr,
    +                                                         unsigned int keyfpr_length,
    +                                                         gnutls_datum_t *key);
    +void                gnutls_openpgp_set_recv_key_function
    +                                                        (gnutls_session_t session,
    +                                                         gnutls_openpgp_recv_key_funcfunc );
    +int                 gnutls_certificate_set_openpgp_key  (gnutls_certificate_credentials_tres ,
    +                                                         gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_privkey_t pkey);
    +int                 gnutls_certificate_set_openpgp_key_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +int                 gnutls_certificate_set_openpgp_key_mem
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +int                 gnutls_certificate_set_openpgp_key_file2
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         const char *keyid,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +int                 gnutls_certificate_set_openpgp_key_mem2
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         const char *keyid,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +int                 gnutls_certificate_set_openpgp_keyring_mem
    +                                                        (gnutls_certificate_credentials_t c,
    +                                                         unsigned char *data,
    +                                                         size_t dlen,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +int                 gnutls_certificate_set_openpgp_keyring_file
    +                                                        (gnutls_certificate_credentials_t c,
    +                                                         const char *file,
    +                                                         gnutls_openpgp_crt_fmt_t );
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    +

    enum gnutls_openpgp_crt_fmt_t

      typedef enum gnutls_openpgp_crt_fmt
       { GNUTLS_OPENPGP_FMT_RAW,
         GNUTLS_OPENPGP_FMT_BASE64
       } gnutls_openpgp_crt_fmt_t;
     
    -

    -


    -
    +

    gnutls_openpgp_keyid_t

      typedef unsigned char gnutls_openpgp_keyid_t[8];
     
    -

    -


    -
    +

    gnutls_openpgp_crt_init ()

    -
    int                 gnutls_openpgp_crt_init             (gnutls_openpgp_crt_t *key);
    +
    int                 gnutls_openpgp_crt_init             (gnutls_openpgp_crt_t *key);

    -

    +This function will initialize an OpenPGP key structure.

    - -

    key :

    + The structure to be initialized

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_deinit ()

    -
    void                gnutls_openpgp_crt_deinit           (gnutls_openpgp_crt_t key);
    +
    void                gnutls_openpgp_crt_deinit           (gnutls_openpgp_crt_t key);

    -

    +This function will deinitialize a key structure.

    -

    key :

    + The structure to be initialized

    -
    +

    gnutls_openpgp_crt_import ()

    -
    int                 gnutls_openpgp_crt_import           (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    +
    int                 gnutls_openpgp_crt_import           (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format);

    -

    +This function will convert the given RAW or Base64 encoded key to +the native gnutls_openpgp_crt_t format. The output will be stored +in 'key'.

    - - - -

    key :

    + The structure to store the parsed key.

    data :

    + The RAW or BASE64 encoded key.

    format :

    + One of gnutls_openpgp_crt_fmt_t elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_export ()

    -
    int                 gnutls_openpgp_crt_export           (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_openpgp_crt_export           (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);

    -

    +This function will convert the given key to RAW or Base64 format. +If the buffer provided is not long enough to hold the output, then +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.

    - - - - -

    key :

    + Holds the key.

    format :

    + One of gnutls_openpgp_crt_fmt_t elements.

    output_data :

    + will contain the key base64 encoded or raw

    output_data_size :

    + holds the size of output_data (and will + be replaced by the actual size of parameters)

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_print ()

    -
    int                 gnutls_openpgp_crt_print            (gnutls_openpgp_crt_t cert,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    +
    int                 gnutls_openpgp_crt_print            (gnutls_openpgp_crt_t cert,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);
    +

    +This function will pretty print an OpenPGP certificate, suitable +for display to a human. +

    +The format should be zero for future compatibility.

    +

    +The output out needs to be deallocate using gnutls_free().

    - - - -

    cert :

    + The structure to be printed

    format :

    + Indicate the format to use

    out :

    + Newly allocated datum with zero terminated string.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_get_key_usage ()

    -
    int                 gnutls_openpgp_crt_get_key_usage    (gnutls_openpgp_crt_t key,
    -                                                         unsigned int *key_usage);
    +
    int                 gnutls_openpgp_crt_get_key_usage    (gnutls_openpgp_crt_t cert,
    +                                                         unsigned int *key_usage);

    -

    +This function will return certificate's key usage, by checking the +key algorithm. The key usage value will ORed values of the: +GNUTLS_KEY_DIGITAL_SIGNATURE, GNUTLS_KEY_KEY_ENCIPHERMENT.

    - - -

    key :

    + should contain a gnutls_openpgp_crt_t structure

    key_usage :

    + where the key usage bits will be stored

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_get_fingerprint ()

    -
    int                 gnutls_openpgp_crt_get_fingerprint  (gnutls_openpgp_crt_t key,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    +
    int                 gnutls_openpgp_crt_get_fingerprint  (gnutls_openpgp_crt_t key,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);

    -

    +Get key fingerprint. Depending on the algorithm, the fingerprint +can be 16 or 20 bytes.

    - - - -

    key :

    + the raw data that contains the OpenPGP public key.

    fpr :

    + the buffer to save the fingerprint, must hold at least 20 bytes.

    fprlen :

    + the integer to save the length of the fingerprint.

    Returns :

    + On success, 0 is returned. Otherwise, an error code.

    -
    +

    gnutls_openpgp_crt_get_subkey_fingerprint ()

    -
    int                 gnutls_openpgp_crt_get_subkey_fingerprint
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    +
    int                 gnutls_openpgp_crt_get_subkey_fingerprint
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);

    -

    +Get key fingerprint of a subkey. Depending on the algorithm, the +fingerprint can be 16 or 20 bytes.

    - - - - -

    key :

    + the raw data that contains the OpenPGP public key.

    idx :

    + the subkey index

    fpr :

    + the buffer to save the fingerprint, must hold at least 20 bytes.

    fprlen :

    + the integer to save the length of the fingerprint.

    Returns :

    + On success, 0 is returned. Otherwise, an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_name ()

    -
    int                 gnutls_openpgp_crt_get_name         (gnutls_openpgp_crt_t key,
    -                                                         int idx,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_openpgp_crt_get_name         (gnutls_openpgp_crt_t key,
    +                                                         int idx,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);

    -

    +Extracts the userID from the parsed OpenPGP key.

    - - - - -

    key :

    + the structure that contains the OpenPGP public key.

    idx :

    + the index of the ID to extract

    buf :

    + a pointer to a structure to hold the name

    sizeof_buf :

    + holds the maximum size of buf, on return hold the + actual/required size of buf.

    Returns :

    + GNUTLS_E_SUCCESS on success, and if the index of the ID + does not exist GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE, or an + error code.

    -
    +

    gnutls_openpgp_crt_get_pk_algorithm ()

    -
    gnutls_pk_algorithm_t  gnutls_openpgp_crt_get_pk_algorithm
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int *bits);
    +
    gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of an OpenPGP +certificate.

    +

    +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public exponent.

    - - -

    key :

    + is an OpenPGP key

    bits :

    + if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error.

    -
    +

    gnutls_openpgp_crt_get_version ()

    -
    int                 gnutls_openpgp_crt_get_version      (gnutls_openpgp_crt_t key);
    +
    int                 gnutls_openpgp_crt_get_version      (gnutls_openpgp_crt_t key);

    -

    +Extract the version of the OpenPGP key.

    - -

    key :

    + the structure that contains the OpenPGP public key.

    Returns :

    + the version number is returned, or a negative value on errors.

    -
    +

    gnutls_openpgp_crt_get_creation_time ()

    -
    time_t              gnutls_openpgp_crt_get_creation_time
    -                                                        (gnutls_openpgp_crt_t key);
    +
    time_t              gnutls_openpgp_crt_get_creation_time
    +                                                        (gnutls_openpgp_crt_t key);

    -

    +Get key creation time.

    - -

    key :

    + the structure that contains the OpenPGP public key.

    Returns :

    + the timestamp when the OpenPGP key was created.

    -
    +

    gnutls_openpgp_crt_get_expiration_time ()

    -
    time_t              gnutls_openpgp_crt_get_expiration_time
    -                                                        (gnutls_openpgp_crt_t key);
    +
    time_t              gnutls_openpgp_crt_get_expiration_time
    +                                                        (gnutls_openpgp_crt_t key);

    -

    +Get key expiration time. A value of '0' means that the key doesn't +expire at all.

    - -

    key :

    + the structure that contains the OpenPGP public key.

    Returns :

    + the time when the OpenPGP key expires.

    -
    +

    gnutls_openpgp_crt_get_key_id ()

    -
    int                 gnutls_openpgp_crt_get_key_id       (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_crt_get_key_id       (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get key id string.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    + the buffer to save the keyid.

    Returns :

    + the 64-bit keyID of the OpenPGP key. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_check_hostname ()

    -
    int                 gnutls_openpgp_crt_check_hostname   (gnutls_openpgp_crt_t key,
    -                                                         const char *hostname);
    +
    int                 gnutls_openpgp_crt_check_hostname   (gnutls_openpgp_crt_t key,
    +                                                         const char *hostname);

    -

    +This function will check if the given key's owner matches the +given hostname. This is a basic implementation of the matching +described in RFC2818 (HTTPS), which takes into account wildcards.

    - - -

    key :

    + should contain an gnutls_openpgp_crt_t structure

    hostname :

    + A null terminated string that contains a DNS name

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_get_revoked_status ()

    -
    int                 gnutls_openpgp_crt_get_revoked_status
    -                                                        (gnutls_openpgp_crt_t key);
    +
    int                 gnutls_openpgp_crt_get_revoked_status
    +                                                        (gnutls_openpgp_crt_t key);

    -

    +Get revocation status of key.

    - -

    key :

    + the structure that contains the OpenPGP public key.

    Returns :

    + true (1) if the key has been revoked, or false (0) if it + has not. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_count ()

    -
    int                 gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key);
    +
    int                 gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key);

    -

    +This function will return the number of subkeys present in the +given OpenPGP certificate.

    - -

    key :

    + is an OpenPGP key

    Returns :

    + the number of subkeys, or a negative value on error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_idx ()

    -
    int                 gnutls_openpgp_crt_get_subkey_idx   (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_crt_get_subkey_idx   (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);

    -

    +Get subkey's index.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    + the keyid.

    Returns :

    + the index of the subkey or a negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_revoked_status ()

    -
    int                 gnutls_openpgp_crt_get_subkey_revoked_status
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    +
    int                 gnutls_openpgp_crt_get_subkey_revoked_status
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);

    -

    +Get subkey revocation status. A negative value indicates an error.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    idx :

    + is the subkey index

    Returns :

    + true (1) if the key has been revoked, or false (0) if it + has not. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_pk_algorithm ()

    -
    gnutls_pk_algorithm_t  gnutls_openpgp_crt_get_subkey_pk_algorithm
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *bits);
    +
    gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of a subkey of an OpenPGP +certificate.

    +

    +If bits is non null, it should have enough size to hold the +parameters size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public exponent.

    - - - -

    key :

    + is an OpenPGP key

    idx :

    + is the subkey index

    bits :

    + if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_creation_time ()

    -
    time_t              gnutls_openpgp_crt_get_subkey_creation_time
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    +
    time_t              gnutls_openpgp_crt_get_subkey_creation_time
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);

    -

    +Get subkey creation time.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    idx :

    + the subkey index

    Returns :

    + the timestamp when the OpenPGP sub-key was created. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_expiration_time ()

    -
    time_t              gnutls_openpgp_crt_get_subkey_expiration_time
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx);
    +
    time_t              gnutls_openpgp_crt_get_subkey_expiration_time
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx);

    -

    +Get subkey expiration time. A value of '0' means that the key +doesn't expire at all.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    idx :

    + the subkey index

    Returns :

    + the time when the OpenPGP key expires. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_id ()

    -
    int                 gnutls_openpgp_crt_get_subkey_id    (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_crt_get_subkey_id    (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get the subkey's key-id.

    - - - -

    key :

    + the structure that contains the OpenPGP public key.

    idx :

    + the subkey index

    keyid :

    + the buffer to save the keyid.

    Returns :

    + the 64-bit keyID of the OpenPGP key.

    -
    +

    gnutls_openpgp_crt_get_subkey_usage ()

    -
    int                 gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *key_usage);
    +
    int                 gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *key_usage);

    +This function will return certificate's key usage, by checking the +key algorithm. The key usage value will ORed values of +GNUTLS_KEY_DIGITAL_SIGNATURE or GNUTLS_KEY_KEY_ENCIPHERMENT.

    +

    +A negative value may be returned in case of parsing error.

    - - - -

    key :

    + should contain a gnutls_openpgp_crt_t structure

    idx :

    + the subkey index

    key_usage :

    + where the key usage bits will be stored

    Returns :

    + key usage value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()

    -
    int                 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
    -                                                        (gnutls_openpgp_crt_t crt,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -

    -

    +
    int                 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
    +                                                        (gnutls_openpgp_crt_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +

    +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - -

    crt :

    + Holds the certificate

    idx :

    + Is the subkey index

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()

    -
    int                 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
    -                                                        (gnutls_openpgp_crt_t crt,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -

    -

    +
    int                 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
    +                                                        (gnutls_openpgp_crt_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +

    +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - -

    crt :

    + Holds the certificate

    idx :

    + Is the subkey index

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_pk_dsa_raw ()

    -
    int                 gnutls_openpgp_crt_get_pk_dsa_raw   (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -

    -

    +
    int                 gnutls_openpgp_crt_get_pk_dsa_raw   (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +

    +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - -

    crt :

    + Holds the certificate

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_pk_rsa_raw ()

    -
    int                 gnutls_openpgp_crt_get_pk_rsa_raw   (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -

    -

    +
    int                 gnutls_openpgp_crt_get_pk_rsa_raw   (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +

    +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - -

    crt :

    + Holds the certificate

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_crt_get_preferred_key_id ()

    -
    int                 gnutls_openpgp_crt_get_preferred_key_id
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_crt_get_preferred_key_id
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get preferred key id. If it hasn't been set it returns +GNUTLS_E_INVALID_REQUEST.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    + the struct to save the keyid.

    Returns :

    + the 64-bit preferred keyID of the OpenPGP key.

    -
    +

    gnutls_openpgp_crt_set_preferred_key_id ()

    -
    int                 gnutls_openpgp_crt_set_preferred_key_id
    -                                                        (gnutls_openpgp_crt_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_crt_set_preferred_key_id
    +                                                        (gnutls_openpgp_crt_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);

    -

    +This allows setting a preferred key id for the given certificate. +This key will be used by functions that involve key handling.

    - - - - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    -

    Returns :

    + the selected keyid

    -
    +

    gnutls_openpgp_privkey_init ()

    -
    int                 gnutls_openpgp_privkey_init         (gnutls_openpgp_privkey_t *key);
    +
    int                 gnutls_openpgp_privkey_init         (gnutls_openpgp_privkey_t *key);

    -

    +This function will initialize an OpenPGP key structure.

    - -

    key :

    + The structure to be initialized

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_privkey_deinit ()

    -
    void                gnutls_openpgp_privkey_deinit       (gnutls_openpgp_privkey_t key);
    +
    void                gnutls_openpgp_privkey_deinit       (gnutls_openpgp_privkey_t key);

    -

    +This function will deinitialize a key structure.

    -

    key :

    + The structure to be initialized

    -
    +

    gnutls_openpgp_privkey_get_pk_algorithm ()

    -
    gnutls_pk_algorithm_t  gnutls_openpgp_privkey_get_pk_algorithm
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int *bits);
    +
    gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of an OpenPGP +certificate.

    +

    +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public exponent.

    - - -

    key :

    + is an OpenPGP key

    bits :

    + if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_import ()

    -
    int                 gnutls_openpgp_privkey_import       (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags);
    +
    int                 gnutls_openpgp_privkey_import       (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         const char *pass,
    +                                                         unsigned int flags);

    -

    +This function will convert the given RAW or Base64 encoded key to +the native gnutls_openpgp_privkey_t format. The output will be +stored in 'key'.

    - - - - - + - -

    key :

    + The structure to store the parsed key.

    data :

    + The RAW or BASE64 encoded key.

    format :

    + One of gnutls_openpgp_crt_fmt_t elements.

    password :

    +

    pass :

    Unused for now

    flags :

    + should be zero

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_privkey_sign_hash ()

    -
    int                 gnutls_openpgp_privkey_sign_hash    (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    +
    int                 gnutls_openpgp_privkey_sign_hash    (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);

    -

    +This function will sign the given hash using the private key. You +should use gnutls_openpgp_privkey_set_subkey() before calling this +function to set the subkey to use.

    - - - -

    key :

    + Holds the key

    hash :

    + holds the data to be signed

    signature :

    + will contain newly allocated signature

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_openpgp_privkey_get_fingerprint ()

    -
    int                 gnutls_openpgp_privkey_get_fingerprint
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    +
    int                 gnutls_openpgp_privkey_get_fingerprint
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);

    -

    +Get the fingerprint of the OpenPGP key. Depends on the +algorithm, the fingerprint can be 16 or 20 bytes.

    - - - -

    key :

    + the raw data that contains the OpenPGP secret key.

    fpr :

    + the buffer to save the fingerprint, must hold at least 20 bytes.

    fprlen :

    + the integer to save the length of the fingerprint.

    Returns :

    + On success, 0 is returned, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_fingerprint ()

    -
    int                 gnutls_openpgp_privkey_get_subkey_fingerprint
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         void *fpr,
    -                                                         size_t *fprlen);
    +
    int                 gnutls_openpgp_privkey_get_subkey_fingerprint
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         void *fpr,
    +                                                         size_t *fprlen);

    -

    +Get the fingerprint of an OpenPGP subkey. Depends on the +algorithm, the fingerprint can be 16 or 20 bytes.

    - - - - -

    key :

    + the raw data that contains the OpenPGP secret key.

    idx :

    + the subkey index

    fpr :

    + the buffer to save the fingerprint, must hold at least 20 bytes.

    fprlen :

    + the integer to save the length of the fingerprint.

    Returns :

    + On success, 0 is returned, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_key_id ()

    -
    int                 gnutls_openpgp_privkey_get_key_id   (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_privkey_get_key_id   (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get key-id.

    - - -

    key :

    + the structure that contains the OpenPGP secret key.

    keyid :

    + the buffer to save the keyid.

    Returns :

    + the 64-bit keyID of the OpenPGP key. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_count ()

    -
    int                 gnutls_openpgp_privkey_get_subkey_count
    -                                                        (gnutls_openpgp_privkey_t key);
    +
    int                 gnutls_openpgp_privkey_get_subkey_count
    +                                                        (gnutls_openpgp_privkey_t key);

    -

    +This function will return the number of subkeys present in the +given OpenPGP certificate.

    - -

    key :

    + is an OpenPGP key

    Returns :

    + the number of subkeys, or a negative value on error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_idx ()

    -
    int                 gnutls_openpgp_privkey_get_subkey_idx
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_privkey_get_subkey_idx
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);

    -

    +Get index of subkey.

    - - -

    key :

    + the structure that contains the OpenPGP private key.

    keyid :

    + the keyid.

    Returns :

    + the index of the subkey or a negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_revoked_status ()

    -
    int                 gnutls_openpgp_privkey_get_subkey_revoked_status
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    key :

    -

    idx :

    -

    Returns :

    -
    +
    int                 gnutls_openpgp_privkey_get_subkey_revoked_status
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);

    -
    +

    gnutls_openpgp_privkey_get_revoked_status ()

    -
    int                 gnutls_openpgp_privkey_get_revoked_status
    -                                                        (gnutls_openpgp_privkey_t key);
    -

    -

    -
    -- - - - - - - - - - -

    key :

    -

    Returns :

    -
    +
    int                 gnutls_openpgp_privkey_get_revoked_status
    +                                                        (gnutls_openpgp_privkey_t key);

    -
    +

    gnutls_openpgp_privkey_get_subkey_pk_algorithm ()

    -
    gnutls_pk_algorithm_t  gnutls_openpgp_privkey_get_subkey_pk_algorithm
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         unsigned int *bits);
    +
    gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of a subkey of an OpenPGP +certificate.

    +

    +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public exponent.

    - - - -

    key :

    + is an OpenPGP key

    idx :

    + is the subkey index

    bits :

    + if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_expiration_time ()

    -
    time_t              gnutls_openpgp_privkey_get_subkey_expiration_time
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    +
    time_t              gnutls_openpgp_privkey_get_subkey_expiration_time
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);

    -

    +Get subkey expiration time. A value of '0' means that the key +doesn't expire at all.

    - - -

    key :

    + the structure that contains the OpenPGP private key.

    idx :

    + the subkey index

    Returns :

    + the time when the OpenPGP key expires. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_id ()

    -
    int                 gnutls_openpgp_privkey_get_subkey_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_privkey_get_subkey_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get the key-id for the subkey.

    - - - -

    key :

    + the structure that contains the OpenPGP secret key.

    idx :

    + the subkey index

    keyid :

    + the buffer to save the keyid.

    Returns :

    + the 64-bit keyID of the OpenPGP key. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_get_subkey_creation_time ()

    -
    time_t              gnutls_openpgp_privkey_get_subkey_creation_time
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         unsigned int idx);
    +
    time_t              gnutls_openpgp_privkey_get_subkey_creation_time
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         unsigned int idx);

    -

    +Get subkey creation time.

    - - -

    key :

    + the structure that contains the OpenPGP private key.

    idx :

    + the subkey index

    Returns :

    + the timestamp when the OpenPGP key was created. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_export_subkey_dsa_raw ()

    -
    int                 gnutls_openpgp_privkey_export_subkey_dsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    -

    -

    +
    int                 gnutls_openpgp_privkey_export_subkey_dsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);
    +

    +This function will export the DSA private key's parameters found +in the given certificate. The new parameters will be allocated +using gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - -

    pkey :

    + Holds the certificate

    idx :

    + Is the subkey index

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    x :

    + will hold the x

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_export_subkey_rsa_raw ()

    -
    int                 gnutls_openpgp_privkey_export_subkey_rsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         unsigned int idx,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -

    -

    +
    int                 gnutls_openpgp_privkey_export_subkey_rsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         unsigned int idx,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +

    +This function will export the RSA private key's parameters found in +the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - - -

    pkey :

    + Holds the certificate

    idx :

    + Is the subkey index

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    d :

    + will hold the private exponent

    p :

    + will hold the first prime (p)

    q :

    + will hold the second prime (q)

    u :

    + will hold the coefficient

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_export_dsa_raw ()

    -
    int                 gnutls_openpgp_privkey_export_dsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    -

    -

    +
    int                 gnutls_openpgp_privkey_export_dsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);
    +

    +This function will export the DSA private key's parameters found in +the given certificate. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - -

    pkey :

    + Holds the certificate

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    x :

    + will hold the x

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_export_rsa_raw ()

    -
    int                 gnutls_openpgp_privkey_export_rsa_raw
    -                                                        (gnutls_openpgp_privkey_t pkey,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -

    -

    +
    int                 gnutls_openpgp_privkey_export_rsa_raw
    +                                                        (gnutls_openpgp_privkey_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +

    +This function will export the RSA private key's parameters found in +the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - -

    pkey :

    + Holds the certificate

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    d :

    + will hold the private exponent

    p :

    + will hold the first prime (p)

    q :

    + will hold the second prime (q)

    u :

    + will hold the coefficient

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_export ()

    -
    int                 gnutls_openpgp_privkey_export       (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_openpgp_privkey_export       (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_crt_fmt_t format,
    +                                                         const char *password,
    +                                                         unsigned int flags,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);

    -

    +This function will convert the given key to RAW or Base64 format. +If the buffer provided is not long enough to hold the output, then +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.

    - - - - - - -

    key :

    + Holds the key.

    format :

    + One of gnutls_openpgp_crt_fmt_t elements.

    password :

    + the password that will be used to encrypt the key.

    flags :

    + zero for future compatibility

    output_data :

    + will contain the key base64 encoded or raw

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_openpgp_privkey_set_preferred_key_id ()

    -
    int                 gnutls_openpgp_privkey_set_preferred_key_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         const gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_privkey_set_preferred_key_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         const gnutls_openpgp_keyid_t keyid);

    -

    +This allows setting a preferred key id for the given certificate. +This key will be used by functions that involve key handling.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    + the selected keyid

    Returns :

    + On success, 0 is returned, or an error code.

    -
    +

    gnutls_openpgp_privkey_get_preferred_key_id ()

    -
    int                 gnutls_openpgp_privkey_get_preferred_key_id
    -                                                        (gnutls_openpgp_privkey_t key,
    -                                                         gnutls_openpgp_keyid_t keyid);
    +
    int                 gnutls_openpgp_privkey_get_preferred_key_id
    +                                                        (gnutls_openpgp_privkey_t key,
    +                                                         gnutls_openpgp_keyid_t keyid);

    -

    +Get the preferred key-id for the key.

    - - -

    key :

    + the structure that contains the OpenPGP public key.

    keyid :

    + the struct to save the keyid.

    Returns :

    + the 64-bit preferred keyID of the OpenPGP key, or if it + hasn't been set it returns GNUTLS_E_INVALID_REQUEST.

    -
    +

    gnutls_openpgp_crt_get_auth_subkey ()

    -
    int                 gnutls_openpgp_crt_get_auth_subkey  (gnutls_openpgp_crt_t crt,
    -                                                         gnutls_openpgp_keyid_t keyid,
    -                                                         unsigned int flag);
    +
    int                 gnutls_openpgp_crt_get_auth_subkey  (gnutls_openpgp_crt_t crt,
    +                                                         gnutls_openpgp_keyid_t keyid,
    +                                                         unsigned int flag);

    -

    +Returns the 64-bit keyID of the first valid OpenPGP subkey marked +for authentication. If flag is non zero and no authentication +subkey exists, then a valid subkey will be returned even if it is +not marked for authentication.

    - - + - - -

    crt :

    +

    key :

    the structure that contains the OpenPGP public key.

    keyid :

    + the struct to save the keyid.

    flag :

    + Non zero indicates that a valid subkey is always returned.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_keyring_init ()

    -
    int                 gnutls_openpgp_keyring_init         (gnutls_openpgp_keyring_t *keyring);
    +
    int                 gnutls_openpgp_keyring_init         (gnutls_openpgp_keyring_t *keyring);

    -

    +This function will initialize an keyring structure.

    - -

    keyring :

    + The structure to be initialized

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_keyring_deinit ()

    -
    void                gnutls_openpgp_keyring_deinit       (gnutls_openpgp_keyring_t keyring);
    +
    void                gnutls_openpgp_keyring_deinit       (gnutls_openpgp_keyring_t keyring);

    -

    +This function will deinitialize a keyring structure.

    -

    keyring :

    + The structure to be initialized

    -
    +

    gnutls_openpgp_keyring_import ()

    -
    int                 gnutls_openpgp_keyring_import       (gnutls_openpgp_keyring_t keyring,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -

    -

    +
    int                 gnutls_openpgp_keyring_import       (gnutls_openpgp_keyring_t keyring,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_openpgp_crt_fmt_t format);
    +

    +This function will convert the given RAW or Base64 encoded keyring +to the native gnutls_openpgp_keyring_t format. The output will be +stored in 'keyring'.

    - - - -

    keyring :

    + The structure to store the parsed key.

    data :

    + The RAW or BASE64 encoded keyring.

    format :

    + One of gnutls_openpgp_keyring_fmt elements.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_keyring_check_id ()

    -
    int                 gnutls_openpgp_keyring_check_id     (gnutls_openpgp_keyring_t ring,
    -                                                         const gnutls_openpgp_keyid_t keyid,
    -                                                         unsigned int flags);
    +
    int                 gnutls_openpgp_keyring_check_id     (gnutls_openpgp_keyring_t ring,
    +                                                         const gnutls_openpgp_keyid_t keyid,
    +                                                         unsigned int flags);

    -

    +Check if a given key ID exists in the keyring.

    - - - -

    ring :

    + holds the keyring to check against

    keyid :

    + will hold the keyid to check for.

    flags :

    + unused (should be 0)

    Returns :

    + GNUTLS_E_SUCCESS on success (if keyid exists) and a + negative error code on failure.

    -
    +

    gnutls_openpgp_crt_verify_ring ()

    -
    int                 gnutls_openpgp_crt_verify_ring      (gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_keyring_t keyring,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    +
    int                 gnutls_openpgp_crt_verify_ring      (gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_keyring_t keyring,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);

    +Verify all signatures in the key, using the given set of keys +(keyring).

    +

    +The key verification output will be put in verify and will be one +or more of the gnutls_certificate_status_t enumerated elements +bitwise or'd. +

    +

    +GNUTLS_CERT_INVALID: A signature on the key is invalid. +

    +

    +GNUTLS_CERT_REVOKED: The key has been revoked. +

    +

    +Note that this function does not verify using any "web of trust". +You may use GnuPG for that purpose, or any other external PGP +application.

    - - - - -

    key :

    + the structure that holds the key.

    keyring :

    + holds the keyring to check against

    flags :

    + unused (should be 0)

    verify :

    + will hold the certificate verification output.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_crt_verify_self ()

    -
    int                 gnutls_openpgp_crt_verify_self      (gnutls_openpgp_crt_t key,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    +
    int                 gnutls_openpgp_crt_verify_self      (gnutls_openpgp_crt_t key,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);

    +Verifies the self signature in the key. The key verification +output will be put in verify and will be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd.

    +

    +GNUTLS_CERT_INVALID: The self signature on the key is invalid.

    - - - -

    key :

    + the structure that holds the key.

    flags :

    + unused (should be 0)

    verify :

    + will hold the key verification output.

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_keyring_get_crt ()

    -
    int                 gnutls_openpgp_keyring_get_crt      (gnutls_openpgp_keyring_t ring,
    -                                                         unsigned int idx,
    -                                                         gnutls_openpgp_crt_t *cert);
    +
    int                 gnutls_openpgp_keyring_get_crt      (gnutls_openpgp_keyring_t ring,
    +                                                         unsigned int idx,
    +                                                         gnutls_openpgp_crt_t *cert);

    -

    +This function will extract an OpenPGP certificate from the given +keyring. If the index given is out of range +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. The +returned structure needs to be deinited.

    - - + - - - + -

    ring :

    +

    key :

    Holds the key.

    idx :

    + the index of the certificate to export

    cert :

    +

    crt :

    An uninitialized &gnutls_openpgp_crt_t structure

    Returns :

    + GNUTLS_E_SUCCESS on success, or an error code.

    -
    +

    gnutls_openpgp_keyring_get_crt_count ()

    -
    int                 gnutls_openpgp_keyring_get_crt_count
    -                                                        (gnutls_openpgp_keyring_t ring);
    +
    int                 gnutls_openpgp_keyring_get_crt_count
    +                                                        (gnutls_openpgp_keyring_t ring);

    -

    +This function will return the number of OpenPGP certificates +present in the given keyring.

    - -

    ring :

    + is an OpenPGP key ring

    Returns :

    + the number of subkeys, or a negative value on error.

    -
    +

    gnutls_openpgp_recv_key_func ()

    -
    int                 (*gnutls_openpgp_recv_key_func)     (gnutls_session_t session,
    -                                                         unsigned char *keyfpr,
    -                                                         unsigned int keyfpr_length,
    -                                                         gnutls_datum_t *key);
    -

    -

    +
    int                 (*gnutls_openpgp_recv_key_func)     (gnutls_session_t session,
    +                                                         unsigned char *keyfpr,
    +                                                         unsigned int keyfpr_length,
    +                                                         gnutls_datum_t *key);
    +

    +A callback of this type is used to retrieve OpenPGP keys. Only +useful on the server, and will only be used if the peer send a key +fingerprint instead of a full key. See also +gnutls_openpgp_set_recv_key_function().

    - - - - - - - -

    session :

    + a TLS session

    keyfpr :

    + key fingerprint

    keyfpr_length :

    + length of key fingerprint

    key :

    -

    Returns :

    + output key.

    -
    +

    gnutls_openpgp_set_recv_key_function ()

    -
    void                gnutls_openpgp_set_recv_key_function
    -                                                        (gnutls_session_t session,
    -                                                         gnutls_openpgp_recv_key_func func);
    -

    -

    +
    void                gnutls_openpgp_set_recv_key_function
    +                                                        (gnutls_session_t session,
    +                                                         gnutls_openpgp_recv_key_funcfunc );
    +

    +This funtion will set a key retrieval function for OpenPGP keys. This +callback is only useful in server side, and will be used if the peer +sent a key fingerprint instead of a full key.

    - -

    session :

    + a TLS session

    func :

    + the callback

    -
    +

    gnutls_certificate_set_openpgp_key ()

    -
    int                 gnutls_certificate_set_openpgp_key  (gnutls_certificate_credentials_t res,
    -                                                         gnutls_openpgp_crt_t key,
    -                                                         gnutls_openpgp_privkey_t pkey);
    +
    int                 gnutls_certificate_set_openpgp_key  (gnutls_certificate_credentials_tres ,
    +                                                         gnutls_openpgp_crt_t key,
    +                                                         gnutls_openpgp_privkey_t pkey);

    +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server).

    +

    +With this function the subkeys of the certificate are not used.

    - - - - - - -

    res :

    + is an gnutls_certificate_credentials_t structure.

    key :

    + contains an openpgp public key

    pkey :

    -

    Returns :

    + is an openpgp private key

    -
    +

    gnutls_certificate_set_openpgp_key_file ()

    -
    int                 gnutls_certificate_set_openpgp_key_file
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -

    -

    +
    int                 gnutls_certificate_set_openpgp_key_file
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +

    +This funtion is used to load OpenPGP keys into the GnuTLS +credentials structure. The files should only contain one key which +is not encrypted.

    - - - - -

    res :

    + the destination context to save the data.

    certfile :

    + the file that contains the public key.

    keyfile :

    + the file that contains the secret key.

    format :

    + the format of the keys

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_certificate_set_openpgp_key_mem ()

    -
    int                 gnutls_certificate_set_openpgp_key_mem
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    +
    int                 gnutls_certificate_set_openpgp_key_mem
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         gnutls_openpgp_crt_fmt_t );

    -

    +This funtion is used to load OpenPGP keys into the GnuTLS credential +structure. The files should contain non encrypted keys.

    - - - - -

    res :

    + the destination context to save the data.

    cert :

    + the datum that contains the public key.

    key :

    + the datum that contains the secret key.

    format :

    + the format of the keys

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_certificate_set_openpgp_key_file2 ()

    -
    int                 gnutls_certificate_set_openpgp_key_file2
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const char *certfile,
    -                                                         const char *keyfile,
    -                                                         const char *subkey_id,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    +
    int                 gnutls_certificate_set_openpgp_key_file2
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const char *CERTFILE,
    +                                                         const char *KEYFILE,
    +                                                         const char *keyid,
    +                                                         gnutls_openpgp_crt_fmt_t );

    +This funtion is used to load OpenPGP keys into the GnuTLS credential +structure. The files should contain non encrypted keys.

    +

    +The special keyword "auto" is also accepted as &subkey_id. In that case +the gnutls_openpgp_crt_get_auth_subkey() will be used to retrieve the subkey.

    - - - - - -

    res :

    + the destination context to save the data.

    certfile :

    + the file that contains the public key.

    keyfile :

    + the file that contains the secret key.

    subkey_id :

    + a hex encoded subkey id

    format :

    + the format of the keys

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_set_openpgp_key_mem2 ()

    -
    int                 gnutls_certificate_set_openpgp_key_mem2
    -                                                        (gnutls_certificate_credentials_t res,
    -                                                         const gnutls_datum_t *cert,
    -                                                         const gnutls_datum_t *key,
    -                                                         const char *subkey_id,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -

    +

    int                 gnutls_certificate_set_openpgp_key_mem2
    +                                                        (gnutls_certificate_credentials_tres ,
    +                                                         const gnutls_datum_t *CERT,
    +                                                         const gnutls_datum_t *KEY,
    +                                                         const char *keyid,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +

    +This funtion is used to load OpenPGP keys into the GnuTLS +credentials structure. The files should only contain one key which +is not encrypted.

    +

    +The special keyword "auto" is also accepted as &subkey_id. In that +case the gnutls_openpgp_crt_get_auth_subkey() will be used to +retrieve the subkey.

    - - - - - -

    res :

    + the destination context to save the data.

    cert :

    + the datum that contains the public key.

    key :

    + the datum that contains the secret key.

    subkey_id :

    + a hex encoded subkey id

    format :

    + the format of the keys

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_certificate_set_openpgp_keyring_mem ()

    -
    int                 gnutls_certificate_set_openpgp_keyring_mem
    -                                                        (gnutls_certificate_credentials_t c,
    -                                                         unsigned char *data,
    -                                                         size_t dlen,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -

    -

    +
    int                 gnutls_certificate_set_openpgp_keyring_mem
    +                                                        (gnutls_certificate_credentials_t c,
    +                                                         unsigned char *data,
    +                                                         size_t dlen,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +

    +The function is used to set keyrings that will be used internally +by various OpenPGP functions. For example to find a key when it +is needed for an operations. The keyring will also be used at the +verification functions.

    - - - - - - - -

    c :

    + A certificate credentials structure

    data :

    + buffer with keyring data.

    dlen :

    -

    format :

    + length of data buffer.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_certificate_set_openpgp_keyring_file ()

    -
    int                 gnutls_certificate_set_openpgp_keyring_file
    -                                                        (gnutls_certificate_credentials_t c,
    -                                                         const char *file,
    -                                                         gnutls_openpgp_crt_fmt_t format);
    -

    -

    +
    int                 gnutls_certificate_set_openpgp_keyring_file
    +                                                        (gnutls_certificate_credentials_t c,
    +                                                         const char *file,
    +                                                         gnutls_openpgp_crt_fmt_t );
    +

    +The function is used to set keyrings that will be used internally +by various OpenPGP functions. For example to find a key when it +is needed for an operations. The keyring will also be used at the +verification functions.

    - - - - - - - @@ -2698,6 +2888,6 @@ + Generated by GTK-Doc V1.10 - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-openssl.html gnutls26-2.4.1/doc/reference/html/gnutls-openssl.html --- gnutls26-2.8.6/doc/reference/html/gnutls-openssl.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-openssl.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,30 +3,32 @@ openssl - - + + - + - + + + + +

    c :

    + A certificate credentials structure

    file :

    -

    format :

    + filename of the keyring.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.
    - + - + Description -
    +
    @@ -35,9 +37,10 @@
    -
    +

    Synopsis

    -
    #define             GNUTLS_X509_CN_SIZE
    +
    +#define             GNUTLS_X509_CN_SIZE
     #define             GNUTLS_X509_C_SIZE
     #define             GNUTLS_X509_O_SIZE
     #define             GNUTLS_X509_OU_SIZE
    @@ -69,82 +72,80 @@
                         SSL;
     #define             current_cert
     #define             X509_STORE_CTX_get_current_cert     (ctx)
    -int                 (*verify_callback)                  (...,
    -                                                         X509_STORE_CTX *Param2);
    +int                 verify_callback                     (...,
    +                                                         X509_STORE_CTX *);
     #define             rbio
    -                    MD_CTX;
     struct              rsa_st;
     typedef             RSA;
     #define             MD5_CTX
     #define             RIPEMD160_CTX
    -#define             OpenSSL_add_ssl_algorithms
    -#define             SSLeay_add_ssl_algorithms
    -#define             SSLeay_add_all_algorithms
    +#define             OpenSSL_add_ssl_algorithms          ()
    +#define             SSLeay_add_ssl_algorithms           ()
    +#define             SSLeay_add_all_algorithms           ()
     #define             SSL_get_cipher_name                 (ssl)
     #define             SSL_get_cipher                      (ssl)
    -#define             SSL_get_cipher_bits                 (ssl,
    -                                                         bp)
    +#define             SSL_get_cipher_bits                 (ssl,bp)
     #define             SSL_get_cipher_version              (ssl)
    -int                 SSL_library_init                    (void);
    -void                OpenSSL_add_all_algorithms          (void);
    -SSL_CTX *           SSL_CTX_new                         (SSL_METHOD *method);
    -void                SSL_CTX_free                        (SSL_CTX *ctx);
    -int                 SSL_CTX_set_default_verify_paths    (SSL_CTX *ctx);
    -int                 SSL_CTX_use_certificate_file        (SSL_CTX *ctx,
    -                                                         const char *certfile,
    -                                                         int type);
    -int                 SSL_CTX_use_PrivateKey_file         (SSL_CTX *ctx,
    -                                                         const char *keyfile,
    -                                                         int type);
    -void                SSL_CTX_set_verify                  (SSL_CTX *ctx,
    -                                                         int verify_mode,
    -                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    -unsigned long       SSL_CTX_set_options                 (SSL_CTX *ctx,
    -                                                         unsigned long  options);
    -long                SSL_CTX_set_mode                    (SSL_CTX *ctx,
    -                                                         long mode Param2);
    -int                 SSL_CTX_set_cipher_list             (SSL_CTX *ctx,
    -                                                         const char *list);
    -long                SSL_CTX_sess_number                 (SSL_CTX *ctx);
    -long                SSL_CTX_sess_connect                (SSL_CTX *ctx);
    -long                SSL_CTX_sess_connect_good           (SSL_CTX *ctx);
    -long                SSL_CTX_sess_connect_renegotiate    (SSL_CTX *ctx);
    -long                SSL_CTX_sess_accept                 (SSL_CTX *ctx);
    -long                SSL_CTX_sess_accept_good            (SSL_CTX *ctx);
    -long                SSL_CTX_sess_accept_renegotiate     (SSL_CTX *ctx);
    -long                SSL_CTX_sess_hits                   (SSL_CTX *ctx);
    -long                SSL_CTX_sess_misses                 (SSL_CTX *ctx);
    -long                SSL_CTX_sess_timeouts               (SSL_CTX *ctx);
    -SSL *               SSL_new                             (SSL_CTX *ctx);
    -void                SSL_free                            (SSL *ssl);
    -void                SSL_load_error_strings              (void);
    -int                 SSL_get_error                       (SSL *ssl,
    -                                                         int ret);
    -int                 SSL_set_fd                          (SSL *ssl,
    -                                                         int fd);
    -int                 SSL_set_rfd                         (SSL *ssl,
    -                                                         int fd);
    -int                 SSL_set_wfd                         (SSL *ssl,
    -                                                         int fd);
    -void                SSL_set_bio                         (SSL *ssl,
    -                                                         BIO *rbio,
    -                                                         BIO *wbio);
    -void                SSL_set_connect_state               (SSL *ssl);
    -int                 SSL_pending                         (SSL *ssl);
    -void                SSL_set_verify                      (SSL *ssl,
    -                                                         int verify_mode,
    -                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    -const X509 *        SSL_get_peer_certificate            (SSL *ssl);
    -int                 SSL_connect                         (SSL *ssl);
    -int                 SSL_accept                          (SSL *ssl);
    -int                 SSL_shutdown                        (SSL *ssl);
    -int                 SSL_read                            (SSL *ssl,
    -                                                         void *buf,
    -                                                         int len);
    -int                 SSL_write                           (SSL *ssl,
    -                                                         const void *buf,
    -                                                         int len);
    -int                 SSL_want                            (SSL *ssl);
    +int                 SSL_library_init                    (void);
    +void                OpenSSL_add_all_algorithms          (void);
    +SSL_CTX*            SSL_CTX_new                         (SSL_METHOD *method);
    +void                SSL_CTX_free                        (SSL_CTX *ctx);
    +int                 SSL_CTX_set_default_verify_paths    (SSL_CTX *ctx);
    +int                 SSL_CTX_use_certificate_file        (SSL_CTX *ctx,
    +                                                         const char *certfile,
    +                                                         int type);
    +int                 SSL_CTX_use_PrivateKey_file         (SSL_CTX *ctx,
    +                                                         const char *keyfile,
    +                                                         int type);
    +void                SSL_CTX_set_verify                  (SSL_CTX *ctx,
    +                                                         int verify_mode,
    +                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    +unsigned long       SSL_CTX_set_options                 (SSL_CTX *ctx,
    +                                                         unsigned long  options);
    +long                SSL_CTX_set_mode                    (SSL_CTX *ctx,
    +                                                         long mode );
    +int                 SSL_CTX_set_cipher_list             (SSL_CTX *ctx,
    +                                                         const char *list);
    +long                SSL_CTX_sess_number                 (SSL_CTX *ctx);
    +long                SSL_CTX_sess_connect                (SSL_CTX *ctx);
    +long                SSL_CTX_sess_connect_good           (SSL_CTX *ctx);
    +long                SSL_CTX_sess_connect_renegotiate    (SSL_CTX *ctx);
    +long                SSL_CTX_sess_accept                 (SSL_CTX *ctx);
    +long                SSL_CTX_sess_accept_good            (SSL_CTX *ctx);
    +long                SSL_CTX_sess_accept_renegotiate     (SSL_CTX *ctx);
    +long                SSL_CTX_sess_hits                   (SSL_CTX *ctx);
    +long                SSL_CTX_sess_misses                 (SSL_CTX *ctx);
    +long                SSL_CTX_sess_timeouts               (SSL_CTX *ctx);
    +SSL*                SSL_new                             (SSL_CTX *ctx);
    +void                SSL_free                            (SSL *ssl);
    +void                SSL_load_error_strings              (void);
    +int                 SSL_get_error                       (SSL *ssl,
    +                                                         int ret);
    +int                 SSL_set_fd                          (SSL *ssl,
    +                                                         int fd);
    +int                 SSL_set_rfd                         (SSL *ssl,
    +                                                         int fd);
    +int                 SSL_set_wfd                         (SSL *ssl,
    +                                                         int fd);
    +void                SSL_set_bio                         (SSL *ssl,
    +                                                         BIO *rbio,
    +                                                         BIO *wbio);
    +void                SSL_set_connect_state               (SSL *ssl);
    +int                 SSL_pending                         (SSL *ssl);
    +void                SSL_set_verify                      (SSL *ssl,
    +                                                         int verify_mode,
    +                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    +const X509*         SSL_get_peer_certificate            (SSL *ssl);
    +int                 SSL_connect                         (SSL *ssl);
    +int                 SSL_accept                          (SSL *ssl);
    +int                 SSL_shutdown                        (SSL *ssl);
    +int                 SSL_read                            (SSL *ssl,
    +                                                         void *buf,
    +                                                         int len);
    +int                 SSL_write                           (SSL *ssl,
    +                                                         const void *buf,
    +                                                         int len);
    +int                 SSL_want                            (SSL *ssl);
     #define             SSL_NOTHING
     #define             SSL_WRITING
     #define             SSL_READING
    @@ -153,309 +154,252 @@
     #define             SSL_want_read                       (s)
     #define             SSL_want_write                      (s)
     #define             SSL_want_x509_lookup                (s)
    -SSL_METHOD *        SSLv23_client_method                (void);
    -SSL_METHOD *        SSLv23_server_method                (void);
    -SSL_METHOD *        SSLv3_client_method                 (void);
    -SSL_METHOD *        SSLv3_server_method                 (void);
    -SSL_METHOD *        TLSv1_client_method                 (void);
    -SSL_METHOD *        TLSv1_server_method                 (void);
    -SSL_CIPHER *        SSL_get_current_cipher              (SSL *ssl);
    -const char *        SSL_CIPHER_get_name                 (SSL_CIPHER *cipher);
    -int                 SSL_CIPHER_get_bits                 (SSL_CIPHER *cipher,
    -                                                         int *bits);
    -const char *        SSL_CIPHER_get_version              (SSL_CIPHER *cipher);
    -char *              SSL_CIPHER_description              (SSL_CIPHER *cipher,
    -                                                         char *buf,
    -                                                         int size);
    -X509_NAME *         X509_get_subject_name               (const X509 *cert);
    -X509_NAME *         X509_get_issuer_name                (const X509 *cert);
    -char *              X509_NAME_oneline                   (gnutls_x509_dn *name,
    -                                                         char *buf,
    -                                                         int len);
    -void                X509_free                           (const X509 *cert);
    -void                BIO_get_fd                          (gnutls_session_t gnutls_state,
    -                                                         int *fd);
    -BIO *               BIO_new_socket                      (int sock,
    -                                                         int close_flag);
    -unsigned long       ERR_get_error                       (void);
    -const char *        ERR_error_string                    (unsigned long  e,
    -                                                         char *buf);
    -int                 RAND_status                         (void);
    -void                RAND_seed                           (const void *buf,
    -                                                         int num);
    -int                 RAND_bytes                          (unsigned char *buf,
    -                                                         int num);
    -int                 RAND_pseudo_bytes                   (unsigned char *buf,
    -                                                         int num);
    -const char *        RAND_file_name                      (char *buf,
    -                                                         size_t len);
    -int                 RAND_load_file                      (const char *name,
    -                                                         long maxbytes Param2);
    -int                 RAND_write_file                     (const char *name);
    -int                 RAND_egd_bytes                      (const char *path,
    -                                                         int bytes);
    +SSL_METHOD*         SSLv23_client_method                (void);
    +SSL_METHOD*         SSLv23_server_method                (void);
    +SSL_METHOD*         SSLv3_client_method                 (void);
    +SSL_METHOD*         SSLv3_server_method                 (void);
    +SSL_METHOD*         TLSv1_client_method                 (void);
    +SSL_METHOD*         TLSv1_server_method                 (void);
    +SSL_CIPHER*         SSL_get_current_cipher              (SSL *ssl);
    +const char*         SSL_CIPHER_get_name                 (SSL_CIPHER *cipher);
    +int                 SSL_CIPHER_get_bits                 (SSL_CIPHER *cipher,
    +                                                         int *bits);
    +const char*         SSL_CIPHER_get_version              (SSL_CIPHER *cipher);
    +char*               SSL_CIPHER_description              (SSL_CIPHER *cipher,
    +                                                         char *buf,
    +                                                         int size);
    +X509_NAME*          X509_get_subject_name               (const X509 *cert);
    +X509_NAME*          X509_get_issuer_name                (const X509 *cert);
    +char*               X509_NAME_oneline                   (gnutls_x509_dn *name,
    +                                                         char *buf,
    +                                                         int len);
    +void                X509_free                           (const X509 *cert);
    +void                BIO_get_fd                          (gnutls_session_t gnutls_state,
    +                                                         int *fd);
    +BIO*                BIO_new_socket                      (int sock,
    +                                                         int close_flag);
    +unsigned long       ERR_get_error                       (void);
    +const char*         ERR_error_string                    (unsigned long  e,
    +                                                         char *buf);
    +int                 RAND_status                         (void);
    +void                RAND_seed                           (const void *buf,
    +                                                         int num);
    +int                 RAND_bytes                          (unsigned char *buf,
    +                                                         int num);
    +int                 RAND_pseudo_bytes                   (unsigned char *buf,
    +                                                         int num);
    +const char*         RAND_file_name                      (char *buf,
    +                                                         size_t len);
    +int                 RAND_load_file                      (const char *name,
    +                                                         long maxbytes );
    +int                 RAND_write_file                     (const char *name);
    +int                 RAND_egd_bytes                      (const char *path,
    +                                                         int bytes);
     #define             RAND_egd                            (p)
     #define             MD5_DIGEST_LENGTH
    -void                MD5_Init                            (MD5_CTX *ctx);
    -void                MD5_Update                          (MD5_CTX *ctx,
    -                                                         const void *buf,
    -                                                         int len);
    -void                MD5_Final                           (unsigned char *md,
    -                                                         MD5_CTX *ctx);
    -unsigned char *     MD5                                 (unsigned char *buf,
    -                                                         unsigned long  len,
    -                                                         unsigned char *md);
    -void                RIPEMD160_Init                      (RIPEMD160_CTX *ctx);
    -void                RIPEMD160_Update                    (RIPEMD160_CTX *ctx,
    -                                                         const void *buf,
    -                                                         int len);
    -void                RIPEMD160_Final                     (unsigned char *md,
    -                                                         RIPEMD160_CTX *ctx);
    -unsigned char *     RIPEMD160                           (unsigned char *buf,
    -                                                         unsigned long  len,
    -                                                         unsigned char *md);
    +void                MD5_Init                            (MD5_CTX *ctx);
    +void                MD5_Update                          (MD5_CTX *ctx,
    +                                                         const void *buf,
    +                                                         int len);
    +void                MD5_Final                           (unsigned char *md,
    +                                                         MD5_CTX *ctx);
    +unsigned char*      MD5                                 (unsigned char *buf,
    +                                                         unsigned long  len,
    +                                                         unsigned char *md);
    +void                RIPEMD160_Init                      (RIPEMD160_CTX *ctx);
    +void                RIPEMD160_Update                    (RIPEMD160_CTX *ctx,
    +                                                         const void *buf,
    +                                                         int len);
    +void                RIPEMD160_Final                     (unsigned char *md,
    +                                                         RIPEMD160_CTX *ctx);
    +unsigned char*      RIPEMD160                           (unsigned char *buf,
    +                                                         unsigned long  len,
    +                                                         unsigned char *md);
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    +

    GNUTLS_X509_CN_SIZE

    #define GNUTLS_X509_CN_SIZE 256
     
    -

    -


    -
    +

    GNUTLS_X509_C_SIZE

    #define GNUTLS_X509_C_SIZE 3
     
    -

    -


    -
    +

    GNUTLS_X509_O_SIZE

    #define GNUTLS_X509_O_SIZE 256
     
    -

    -


    -
    +

    GNUTLS_X509_OU_SIZE

    #define GNUTLS_X509_OU_SIZE 256
     
    -

    -


    -
    +

    GNUTLS_X509_L_SIZE

    #define GNUTLS_X509_L_SIZE 256
     
    -

    -


    -
    +

    GNUTLS_X509_S_SIZE

    #define GNUTLS_X509_S_SIZE 256
     
    -

    -


    -
    +

    GNUTLS_X509_EMAIL_SIZE

    #define GNUTLS_X509_EMAIL_SIZE 256
     
    -

    -


    -
    +

    OPENSSL_VERSION_NUMBER

    #define OPENSSL_VERSION_NUMBER (0x0090604F)
     
    -

    -


    -
    +

    SSLEAY_VERSION_NUMBER

    #define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
     
    -

    -


    -
    +

    OPENSSL_VERSION_TEXT

    -
    #define OPENSSL_VERSION_TEXT ("GNUTLS " GNUTLS_VERSION " ")
    +
    #define OPENSSL_VERSION_TEXT ("GNUTLS " LIBGNUTLS_VERSION " ")
     
    -

    -


    -
    +

    SSL_ERROR_NONE

    #define SSL_ERROR_NONE        (0)
     
    -

    -


    -
    +

    SSL_ERROR_SSL

    #define SSL_ERROR_SSL         (1)
     
    -

    -


    -
    +

    SSL_ERROR_WANT_READ

    #define SSL_ERROR_WANT_READ   (2)
     
    -

    -


    -
    +

    SSL_ERROR_WANT_WRITE

    #define SSL_ERROR_WANT_WRITE  (3)
     
    -

    -


    -
    +

    SSL_ERROR_SYSCALL

    #define SSL_ERROR_SYSCALL     (5)
     
    -

    -


    -
    +

    SSL_ERROR_ZERO_RETURN

    #define SSL_ERROR_ZERO_RETURN (6)
     
    -

    -


    -
    +

    SSL_FILETYPE_PEM

    #define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM)
     
    -

    -


    -
    +

    SSL_VERIFY_NONE

    #define SSL_VERIFY_NONE (0)
     
    -

    -


    -
    +

    SSL_ST_OK

    #define SSL_ST_OK (1)
     
    -

    -


    -
    +

    X509_V_ERR_CERT_NOT_YET_VALID

    #define X509_V_ERR_CERT_NOT_YET_VALID          (1)
     
    -

    -


    -
    +

    X509_V_ERR_CERT_HAS_EXPIRED

    #define X509_V_ERR_CERT_HAS_EXPIRED            (2)
     
    -

    -


    -
    +

    X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT

    #define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3)
     
    -

    -


    -
    +

    SSL_OP_ALL

    #define SSL_OP_ALL (0x000FFFFF)
     
    -

    -


    -
    +

    SSL_OP_NO_TLSv1

    #define SSL_OP_NO_TLSv1 (0x0400000)
     
    -

    -


    -
    +

    SSL_MODE_ENABLE_PARTIAL_WRITE

    #define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1)
     
    -

    -


    -
    +

    SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER

    #define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2)
     
    -

    -


    -
    +

    SSL_MODE_AUTO_RETRY

    #define SSL_MODE_AUTO_RETRY (0x4)
     
    -

    -


    -
    +

    X509_NAME

      typedef gnutls_x509_dn X509_NAME;
     
    -

    -


    -
    +

    X509

      typedef gnutls_datum_t X509;
     
    -

    -


    -
    +

    SSL

    typedef struct {
         gnutls_session_t gnutls_state;
    @@ -477,2039 +421,575 @@
         gnutls_transport_ptr_t wfd;
     } SSL;
     
    -

    -


    -
    +

    current_cert

    #define current_cert cert_list
     
    -

    -


    -
    +

    X509_STORE_CTX_get_current_cert()

    #define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert)
     
    -

    -

    -
    -- - - - -

    ctx :

    -

    -
    +

    verify_callback ()

    -
    int                 (*verify_callback)                  (...,
    -                                                         X509_STORE_CTX *Param2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ... :

    -

    Param2 :

    -

    Returns :

    -
    +
    int                 verify_callback                     (...,
    +                                                         X509_STORE_CTX *);

    -
    +

    rbio

    #define rbio gnutls_state
     
    -

    -

    -
    -
    -
    -

    MD_CTX

    -
    typedef struct {
    -    void* handle;
    -} MD_CTX;
    -
    -

    -


    -
    +

    struct rsa_st

    struct rsa_st;
    -

    -


    -
    +

    RSA

      typedef struct rsa_st RSA;
     
    -

    -


    -
    +

    MD5_CTX

    #define MD5_CTX MD_CTX
     
    -

    -


    -
    +

    RIPEMD160_CTX

    #define RIPEMD160_CTX MD_CTX
     
    -

    -


    -
    -

    OpenSSL_add_ssl_algorithms

    +
    +

    OpenSSL_add_ssl_algorithms()

    #define OpenSSL_add_ssl_algorithms()  SSL_library_init()
     
    -

    -


    -
    -

    SSLeay_add_ssl_algorithms

    +
    +

    SSLeay_add_ssl_algorithms()

    #define SSLeay_add_ssl_algorithms()   SSL_library_init()
     
    -

    -


    -
    -

    SSLeay_add_all_algorithms

    +
    +

    SSLeay_add_all_algorithms()

    #define SSLeay_add_all_algorithms()   OpenSSL_add_all_algorithms()
     
    -

    -


    -
    +

    SSL_get_cipher_name()

    #define SSL_get_cipher_name(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
     
    -

    -

    -
    -- - - - -

    ssl :

    -

    -
    +

    SSL_get_cipher()

    #define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl)
     
    -

    -

    -
    -- - - - -

    ssl :

    -

    -
    +

    SSL_get_cipher_bits()

    #define SSL_get_cipher_bits(ssl,bp) SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl),(bp))
     
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    bp :

    -

    -
    +

    SSL_get_cipher_version()

    #define SSL_get_cipher_version(ssl) SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
     
    -

    -

    -
    -- - - - -

    ssl :

    -

    -
    +

    SSL_library_init ()

    -
    int                 SSL_library_init                    (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    int                 SSL_library_init                    (void);

    -
    +

    OpenSSL_add_all_algorithms ()

    -
    void                OpenSSL_add_all_algorithms          (void);
    -

    -

    +
    void                OpenSSL_add_all_algorithms          (void);

    -
    +

    SSL_CTX_new ()

    -
    SSL_CTX *           SSL_CTX_new                         (SSL_METHOD *method);
    -

    -

    -
    -- - - - - - - - - - -

    method :

    -

    Returns :

    -
    +
    SSL_CTX*            SSL_CTX_new                         (SSL_METHOD *method);

    -
    +

    SSL_CTX_free ()

    -
    void                SSL_CTX_free                        (SSL_CTX *ctx);
    -

    -

    -
    -- - - - -

    ctx :

    -
    +
    void                SSL_CTX_free                        (SSL_CTX *ctx);

    -
    +

    SSL_CTX_set_default_verify_paths ()

    -
    int                 SSL_CTX_set_default_verify_paths    (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    int                 SSL_CTX_set_default_verify_paths    (SSL_CTX *ctx);

    -
    +

    SSL_CTX_use_certificate_file ()

    -
    int                 SSL_CTX_use_certificate_file        (SSL_CTX *ctx,
    -                                                         const char *certfile,
    -                                                         int type);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ctx :

    -

    certfile :

    -

    type :

    -

    Returns :

    -
    +
    int                 SSL_CTX_use_certificate_file        (SSL_CTX *ctx,
    +                                                         const char *certfile,
    +                                                         int type);

    -
    +

    SSL_CTX_use_PrivateKey_file ()

    -
    int                 SSL_CTX_use_PrivateKey_file         (SSL_CTX *ctx,
    -                                                         const char *keyfile,
    -                                                         int type);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ctx :

    -

    keyfile :

    -

    type :

    -

    Returns :

    -
    +
    int                 SSL_CTX_use_PrivateKey_file         (SSL_CTX *ctx,
    +                                                         const char *keyfile,
    +                                                         int type);

    -
    +

    SSL_CTX_set_verify ()

    -
    void                SSL_CTX_set_verify                  (SSL_CTX *ctx,
    -                                                         int verify_mode,
    -                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    verify_mode :

    -int, X509_STORE_CTX *: -
    +
    void                SSL_CTX_set_verify                  (SSL_CTX *ctx,
    +                                                         int verify_mode,
    +                                                         int (verify_callbackint, X509_STORE_CTX *) ());

    -
    +

    SSL_CTX_set_options ()

    -
    unsigned long       SSL_CTX_set_options                 (SSL_CTX *ctx,
    -                                                         unsigned long  options);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ctx :

    -

    options :

    -

    Returns :

    -
    +
    unsigned long       SSL_CTX_set_options                 (SSL_CTX *ctx,
    +                                                         unsigned long  options);

    -
    +

    SSL_CTX_set_mode ()

    -
    long                SSL_CTX_set_mode                    (SSL_CTX *ctx,
    -                                                         long mode Param2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ctx :

    -

    Param2 :

    -

    Returns :

    -
    +
    long                SSL_CTX_set_mode                    (SSL_CTX *ctx,
    +                                                         long mode );

    -
    +

    SSL_CTX_set_cipher_list ()

    -
    int                 SSL_CTX_set_cipher_list             (SSL_CTX *ctx,
    -                                                         const char *list);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ctx :

    -

    list :

    -

    Returns :

    -
    +
    int                 SSL_CTX_set_cipher_list             (SSL_CTX *ctx,
    +                                                         const char *list);

    -
    +

    SSL_CTX_sess_number ()

    -
    long                SSL_CTX_sess_number                 (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_number                 (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_connect ()

    -
    long                SSL_CTX_sess_connect                (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_connect                (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_connect_good ()

    -
    long                SSL_CTX_sess_connect_good           (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_connect_good           (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_connect_renegotiate ()

    -
    long                SSL_CTX_sess_connect_renegotiate    (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_connect_renegotiate    (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_accept ()

    -
    long                SSL_CTX_sess_accept                 (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_accept                 (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_accept_good ()

    -
    long                SSL_CTX_sess_accept_good            (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_accept_good            (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_accept_renegotiate ()

    -
    long                SSL_CTX_sess_accept_renegotiate     (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_accept_renegotiate     (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_hits ()

    -
    long                SSL_CTX_sess_hits                   (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_hits                   (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_misses ()

    -
    long                SSL_CTX_sess_misses                 (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_misses                 (SSL_CTX *ctx);

    -
    +

    SSL_CTX_sess_timeouts ()

    -
    long                SSL_CTX_sess_timeouts               (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    long                SSL_CTX_sess_timeouts               (SSL_CTX *ctx);

    -
    +

    SSL_new ()

    -
    SSL *               SSL_new                             (SSL_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    ctx :

    -

    Returns :

    -
    +
    SSL*                SSL_new                             (SSL_CTX *ctx);

    -
    +

    SSL_free ()

    -
    void                SSL_free                            (SSL *ssl);
    -

    -

    -
    -- - - - -

    ssl :

    -
    +
    void                SSL_free                            (SSL *ssl);

    -
    +

    SSL_load_error_strings ()

    -
    void                SSL_load_error_strings              (void);
    -

    -

    +
    void                SSL_load_error_strings              (void);

    -
    +

    SSL_get_error ()

    -
    int                 SSL_get_error                       (SSL *ssl,
    -                                                         int ret);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ssl :

    -

    ret :

    -

    Returns :

    -
    +
    int                 SSL_get_error                       (SSL *ssl,
    +                                                         int ret);

    -
    +

    SSL_set_fd ()

    -
    int                 SSL_set_fd                          (SSL *ssl,
    -                                                         int fd);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ssl :

    -

    fd :

    -

    Returns :

    -
    +
    int                 SSL_set_fd                          (SSL *ssl,
    +                                                         int fd);

    -
    +

    SSL_set_rfd ()

    -
    int                 SSL_set_rfd                         (SSL *ssl,
    -                                                         int fd);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ssl :

    -

    fd :

    -

    Returns :

    -
    +
    int                 SSL_set_rfd                         (SSL *ssl,
    +                                                         int fd);

    -
    +

    SSL_set_wfd ()

    -
    int                 SSL_set_wfd                         (SSL *ssl,
    -                                                         int fd);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ssl :

    -

    fd :

    -

    Returns :

    -
    +
    int                 SSL_set_wfd                         (SSL *ssl,
    +                                                         int fd);

    -
    +

    SSL_set_bio ()

    -
    void                SSL_set_bio                         (SSL *ssl,
    -                                                         BIO *rbio,
    -                                                         BIO *wbio);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ssl :

    -

    rbio :

    -

    wbio :

    -
    +
    void                SSL_set_bio                         (SSL *ssl,
    +                                                         BIO *rbio,
    +                                                         BIO *wbio);

    -
    +

    SSL_set_connect_state ()

    -
    void                SSL_set_connect_state               (SSL *ssl);
    -

    -

    -
    -- - - - -

    ssl :

    -
    +
    void                SSL_set_connect_state               (SSL *ssl);

    -
    +

    SSL_pending ()

    -
    int                 SSL_pending                         (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    int                 SSL_pending                         (SSL *ssl);

    -
    +

    SSL_set_verify ()

    -
    void                SSL_set_verify                      (SSL *ssl,
    -                                                         int verify_mode,
    -                                                         int (verify_callbackint, X509_STORE_CTX *) ());
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    verify_mode :

    -int, X509_STORE_CTX *: -
    +
    void                SSL_set_verify                      (SSL *ssl,
    +                                                         int verify_mode,
    +                                                         int (verify_callbackint, X509_STORE_CTX *) ());

    -
    +

    SSL_get_peer_certificate ()

    -
    const X509 *        SSL_get_peer_certificate            (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    const X509*         SSL_get_peer_certificate            (SSL *ssl);

    -
    +

    SSL_connect ()

    -
    int                 SSL_connect                         (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    int                 SSL_connect                         (SSL *ssl);

    -
    +

    SSL_accept ()

    -
    int                 SSL_accept                          (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    int                 SSL_accept                          (SSL *ssl);

    -
    +

    SSL_shutdown ()

    -
    int                 SSL_shutdown                        (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    int                 SSL_shutdown                        (SSL *ssl);

    -
    +

    SSL_read ()

    -
    int                 SSL_read                            (SSL *ssl,
    -                                                         void *buf,
    -                                                         int len);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ssl :

    -

    buf :

    -

    len :

    -

    Returns :

    -
    +
    int                 SSL_read                            (SSL *ssl,
    +                                                         void *buf,
    +                                                         int len);

    -
    +

    SSL_write ()

    -
    int                 SSL_write                           (SSL *ssl,
    -                                                         const void *buf,
    -                                                         int len);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    ssl :

    -

    buf :

    -

    len :

    -

    Returns :

    -
    +
    int                 SSL_write                           (SSL *ssl,
    +                                                         const void *buf,
    +                                                         int len);

    -
    +

    SSL_want ()

    -
    int                 SSL_want                            (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    int                 SSL_want                            (SSL *ssl);

    -
    +

    SSL_NOTHING

    #define SSL_NOTHING (1)
     
    -

    -


    -
    +

    SSL_WRITING

    #define SSL_WRITING (2)
     
    -

    -


    -
    +

    SSL_READING

    #define SSL_READING (3)
     
    -

    -


    -
    +

    SSL_X509_LOOKUP

    #define SSL_X509_LOOKUP (4)
     
    -

    -


    -
    +

    SSL_want_nothing()

    #define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING)
     
    -

    -

    -
    -- - - - -

    s :

    -

    -
    +

    SSL_want_read()

    #define SSL_want_read(s) (SSL_want(s) == SSL_READING)
     
    -

    -

    -
    -- - - - -

    s :

    -

    -
    +

    SSL_want_write()

    #define SSL_want_write(s) (SSL_want(s) == SSL_WRITING)
     
    -

    -

    -
    -- - - - -

    s :

    -

    -
    +

    SSL_want_x509_lookup()

    #define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP)
     
    -

    -

    -
    -- - - - -

    s :

    -

    -
    +

    SSLv23_client_method ()

    -
    SSL_METHOD *        SSLv23_client_method                (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         SSLv23_client_method                (void);

    -
    +

    SSLv23_server_method ()

    -
    SSL_METHOD *        SSLv23_server_method                (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         SSLv23_server_method                (void);

    -
    +

    SSLv3_client_method ()

    -
    SSL_METHOD *        SSLv3_client_method                 (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         SSLv3_client_method                 (void);

    -
    +

    SSLv3_server_method ()

    -
    SSL_METHOD *        SSLv3_server_method                 (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         SSLv3_server_method                 (void);

    -
    +

    TLSv1_client_method ()

    -
    SSL_METHOD *        TLSv1_client_method                 (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         TLSv1_client_method                 (void);

    -
    +

    TLSv1_server_method ()

    -
    SSL_METHOD *        TLSv1_server_method                 (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    SSL_METHOD*         TLSv1_server_method                 (void);

    -
    +

    SSL_get_current_cipher ()

    -
    SSL_CIPHER *        SSL_get_current_cipher              (SSL *ssl);
    -

    -

    -
    -- - - - - - - - - - -

    ssl :

    -

    Returns :

    -
    +
    SSL_CIPHER*         SSL_get_current_cipher              (SSL *ssl);

    -
    +

    SSL_CIPHER_get_name ()

    -
    const char *        SSL_CIPHER_get_name                 (SSL_CIPHER *cipher);
    -

    -

    -
    -- - - - - - - - - - -

    cipher :

    -

    Returns :

    -
    +
    const char*         SSL_CIPHER_get_name                 (SSL_CIPHER *cipher);

    -
    +

    SSL_CIPHER_get_bits ()

    -
    int                 SSL_CIPHER_get_bits                 (SSL_CIPHER *cipher,
    -                                                         int *bits);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    cipher :

    -

    bits :

    -

    Returns :

    -
    +
    int                 SSL_CIPHER_get_bits                 (SSL_CIPHER *cipher,
    +                                                         int *bits);

    -
    +

    SSL_CIPHER_get_version ()

    -
    const char *        SSL_CIPHER_get_version              (SSL_CIPHER *cipher);
    -

    -

    -
    -- - - - - - - - - - -

    cipher :

    -

    Returns :

    -
    +
    const char*         SSL_CIPHER_get_version              (SSL_CIPHER *cipher);

    -
    +

    SSL_CIPHER_description ()

    -
    char *              SSL_CIPHER_description              (SSL_CIPHER *cipher,
    -                                                         char *buf,
    -                                                         int size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    cipher :

    -

    buf :

    -

    size :

    -

    Returns :

    -
    +
    char*               SSL_CIPHER_description              (SSL_CIPHER *cipher,
    +                                                         char *buf,
    +                                                         int size);

    -
    +

    X509_get_subject_name ()

    -
    X509_NAME *         X509_get_subject_name               (const X509 *cert);
    -

    -

    -
    -- - - - - - - - - - -

    cert :

    -

    Returns :

    -
    +
    X509_NAME*          X509_get_subject_name               (const X509 *cert);

    -
    +

    X509_get_issuer_name ()

    -
    X509_NAME *         X509_get_issuer_name                (const X509 *cert);
    -

    -

    -
    -- - - - - - - - - - -

    cert :

    -

    Returns :

    -
    +
    X509_NAME*          X509_get_issuer_name                (const X509 *cert);

    -
    +

    X509_NAME_oneline ()

    -
    char *              X509_NAME_oneline                   (gnutls_x509_dn *name,
    -                                                         char *buf,
    -                                                         int len);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    name :

    -

    buf :

    -

    len :

    -

    Returns :

    -
    +
    char*               X509_NAME_oneline                   (gnutls_x509_dn *name,
    +                                                         char *buf,
    +                                                         int len);

    -
    +

    X509_free ()

    -
    void                X509_free                           (const X509 *cert);
    -

    -

    -
    -- - - - -

    cert :

    -
    +
    void                X509_free                           (const X509 *cert);

    -
    +

    BIO_get_fd ()

    -
    void                BIO_get_fd                          (gnutls_session_t gnutls_state,
    -                                                         int *fd);
    -

    -

    -
    -- - - - - - - - - - -

    gnutls_state :

    -

    fd :

    -
    +
    void                BIO_get_fd                          (gnutls_session_t gnutls_state,
    +                                                         int *fd);

    -
    +

    BIO_new_socket ()

    -
    BIO *               BIO_new_socket                      (int sock,
    -                                                         int close_flag);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    sock :

    -

    close_flag :

    -

    Returns :

    -
    +
    BIO*                BIO_new_socket                      (int sock,
    +                                                         int close_flag);

    -
    +

    ERR_get_error ()

    -
    unsigned long       ERR_get_error                       (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    unsigned long       ERR_get_error                       (void);

    -
    +

    ERR_error_string ()

    -
    const char *        ERR_error_string                    (unsigned long  e,
    -                                                         char *buf);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    e :

    -

    buf :

    -

    Returns :

    -
    +
    const char*         ERR_error_string                    (unsigned long  e,
    +                                                         char *buf);

    -
    +

    RAND_status ()

    -
    int                 RAND_status                         (void);
    -

    -

    -
    -- - - - -

    Returns :

    -
    +
    int                 RAND_status                         (void);

    -
    +

    RAND_seed ()

    -
    void                RAND_seed                           (const void *buf,
    -                                                         int num);
    -

    -

    -
    -- - - - - - - - - - -

    buf :

    -

    num :

    -
    +
    void                RAND_seed                           (const void *buf,
    +                                                         int num);

    -
    +

    RAND_bytes ()

    -
    int                 RAND_bytes                          (unsigned char *buf,
    -                                                         int num);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    buf :

    -

    num :

    -

    Returns :

    -
    +
    int                 RAND_bytes                          (unsigned char *buf,
    +                                                         int num);

    -
    +

    RAND_pseudo_bytes ()

    -
    int                 RAND_pseudo_bytes                   (unsigned char *buf,
    -                                                         int num);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    buf :

    -

    num :

    -

    Returns :

    -
    +
    int                 RAND_pseudo_bytes                   (unsigned char *buf,
    +                                                         int num);

    -
    +

    RAND_file_name ()

    -
    const char *        RAND_file_name                      (char *buf,
    -                                                         size_t len);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    buf :

    -

    len :

    -

    Returns :

    -
    +
    const char*         RAND_file_name                      (char *buf,
    +                                                         size_t len);

    -
    +

    RAND_load_file ()

    -
    int                 RAND_load_file                      (const char *name,
    -                                                         long maxbytes Param2);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    name :

    -

    Param2 :

    -

    Returns :

    -
    +
    int                 RAND_load_file                      (const char *name,
    +                                                         long maxbytes );

    -
    +

    RAND_write_file ()

    -
    int                 RAND_write_file                     (const char *name);
    -

    -

    -
    -- - - - - - - - - - -

    name :

    -

    Returns :

    -
    +
    int                 RAND_write_file                     (const char *name);

    -
    +

    RAND_egd_bytes ()

    -
    int                 RAND_egd_bytes                      (const char *path,
    -                                                         int bytes);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    path :

    -

    bytes :

    -

    Returns :

    -
    +
    int                 RAND_egd_bytes                      (const char *path,
    +                                                         int bytes);

    -
    +

    RAND_egd()

    #define RAND_egd(p) RAND_egd_bytes((p), 255)
     
    -

    -

    -
    -- - - - -

    p :

    -

    -
    +

    MD5_DIGEST_LENGTH

    #define MD5_DIGEST_LENGTH 16
     
    -

    -


    -
    +

    MD5_Init ()

    -
    void                MD5_Init                            (MD5_CTX *ctx);
    -

    -

    -
    -- - - - -

    ctx :

    -
    +
    void                MD5_Init                            (MD5_CTX *ctx);

    -
    +

    MD5_Update ()

    -
    void                MD5_Update                          (MD5_CTX *ctx,
    -                                                         const void *buf,
    -                                                         int len);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ctx :

    -

    buf :

    -

    len :

    -
    +
    void                MD5_Update                          (MD5_CTX *ctx,
    +                                                         const void *buf,
    +                                                         int len);

    -
    +

    MD5_Final ()

    -
    void                MD5_Final                           (unsigned char *md,
    -                                                         MD5_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    md :

    -

    ctx :

    -
    +
    void                MD5_Final                           (unsigned char *md,
    +                                                         MD5_CTX *ctx);

    -
    +

    MD5 ()

    -
    unsigned char *     MD5                                 (unsigned char *buf,
    -                                                         unsigned long  len,
    -                                                         unsigned char *md);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    buf :

    -

    len :

    -

    md :

    -

    Returns :

    -
    +
    unsigned char*      MD5                                 (unsigned char *buf,
    +                                                         unsigned long  len,
    +                                                         unsigned char *md);

    -
    +

    RIPEMD160_Init ()

    -
    void                RIPEMD160_Init                      (RIPEMD160_CTX *ctx);
    -

    -

    -
    -- - - - -

    ctx :

    -
    +
    void                RIPEMD160_Init                      (RIPEMD160_CTX *ctx);

    -
    +

    RIPEMD160_Update ()

    -
    void                RIPEMD160_Update                    (RIPEMD160_CTX *ctx,
    -                                                         const void *buf,
    -                                                         int len);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    ctx :

    -

    buf :

    -

    len :

    -
    +
    void                RIPEMD160_Update                    (RIPEMD160_CTX *ctx,
    +                                                         const void *buf,
    +                                                         int len);

    -
    +

    RIPEMD160_Final ()

    -
    void                RIPEMD160_Final                     (unsigned char *md,
    -                                                         RIPEMD160_CTX *ctx);
    -

    -

    -
    -- - - - - - - - - - -

    md :

    -

    ctx :

    -
    +
    void                RIPEMD160_Final                     (unsigned char *md,
    +                                                         RIPEMD160_CTX *ctx);

    -
    +

    RIPEMD160 ()

    -
    unsigned char *     RIPEMD160                           (unsigned char *buf,
    -                                                         unsigned long  len,
    -                                                         unsigned char *md);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    buf :

    -

    len :

    -

    md :

    -

    Returns :

    -
    +
    unsigned char*      RIPEMD160                           (unsigned char *buf,
    +                                                         unsigned long  len,
    +                                                         unsigned char *md);
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-pkcs12.html gnutls26-2.4.1/doc/reference/html/gnutls-pkcs12.html --- gnutls26-2.8.6/doc/reference/html/gnutls-pkcs12.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-pkcs12.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ pkcs12 - - + + - + + + + + @@ -20,13 +24,11 @@ - + Description -
    +
    @@ -35,401 +37,418 @@
    -
    +

    Synopsis

    -
    struct              gnutls_pkcs12_int;
    +
    +struct              gnutls_pkcs12_int;
     typedef             gnutls_pkcs12_t;
     struct              gnutls_pkcs12_bag_int;
     typedef             gnutls_pkcs12_bag_t;
    -int                 gnutls_pkcs12_init                  (gnutls_pkcs12_t *pkcs12);
    -void                gnutls_pkcs12_deinit                (gnutls_pkcs12_t pkcs12);
    -int                 gnutls_pkcs12_import                (gnutls_pkcs12_t pkcs12,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned int flags);
    -int                 gnutls_pkcs12_export                (gnutls_pkcs12_t pkcs12,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_pkcs12_get_bag               (gnutls_pkcs12_t pkcs12,
    -                                                         int indx,
    -                                                         gnutls_pkcs12_bag_t bag);
    -int                 gnutls_pkcs12_set_bag               (gnutls_pkcs12_t pkcs12,
    -                                                         gnutls_pkcs12_bag_t bag);
    -int                 gnutls_pkcs12_generate_mac          (gnutls_pkcs12_t pkcs12,
    -                                                         const char *pass);
    -int                 gnutls_pkcs12_verify_mac            (gnutls_pkcs12_t pkcs12,
    -                                                         const char *pass);
    -int                 gnutls_pkcs12_bag_decrypt           (gnutls_pkcs12_bag_t bag,
    -                                                         const char *pass);
    -int                 gnutls_pkcs12_bag_encrypt           (gnutls_pkcs12_bag_t bag,
    -                                                         const char *pass,
    -                                                         unsigned int flags);
    +int                 gnutls_pkcs12_init                  (gnutls_pkcs12_t *pkcs12);
    +void                gnutls_pkcs12_deinit                (gnutls_pkcs12_t pkcs12);
    +int                 gnutls_pkcs12_import                (gnutls_pkcs12_t pkcs12,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned int flags);
    +int                 gnutls_pkcs12_export                (gnutls_pkcs12_t pkcs12,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_pkcs12_get_bag               (gnutls_pkcs12_t pkcs12,
    +                                                         int indx,
    +                                                         gnutls_pkcs12_bag_t bag);
    +int                 gnutls_pkcs12_set_bag               (gnutls_pkcs12_t pkcs12,
    +                                                         gnutls_pkcs12_bag_t bag);
    +int                 gnutls_pkcs12_generate_mac          (gnutls_pkcs12_t pkcs12,
    +                                                         const char *pass);
    +int                 gnutls_pkcs12_verify_mac            (gnutls_pkcs12_t pkcs12,
    +                                                         const char *pass);
    +int                 gnutls_pkcs12_bag_decrypt           (gnutls_pkcs12_bag_t bag,
    +                                                         const char *pass);
    +int                 gnutls_pkcs12_bag_encrypt           (gnutls_pkcs12_bag_t bag,
    +                                                         const char *pass,
    +                                                         unsigned int flags);
     enum                gnutls_pkcs12_bag_type_t;
    -gnutls_pkcs12_bag_type_t  gnutls_pkcs12_bag_get_type    (gnutls_pkcs12_bag_t bag,
    -                                                         int indx);
    -int                 gnutls_pkcs12_bag_get_data          (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         gnutls_datum_t *data);
    -int                 gnutls_pkcs12_bag_set_data          (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_pkcs12_bag_type_t type,
    -                                                         const gnutls_datum_t *data);
    -int                 gnutls_pkcs12_bag_set_crl           (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_x509_crl_t crl);
    -int                 gnutls_pkcs12_bag_set_crt           (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_x509_crt_t crt);
    -int                 gnutls_pkcs12_bag_init              (gnutls_pkcs12_bag_t *bag);
    -void                gnutls_pkcs12_bag_deinit            (gnutls_pkcs12_bag_t bag);
    -int                 gnutls_pkcs12_bag_get_count         (gnutls_pkcs12_bag_t bag);
    -int                 gnutls_pkcs12_bag_get_key_id        (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         gnutls_datum_t *id);
    -int                 gnutls_pkcs12_bag_set_key_id        (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         const gnutls_datum_t *id);
    -int                 gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         char **name);
    -int                 gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         const char *name);
    +gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type     (gnutls_pkcs12_bag_tbag ,
    +                                                         int indx);
    +int                 gnutls_pkcs12_bag_get_data          (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         gnutls_datum_t *data);
    +int                 gnutls_pkcs12_bag_set_data          (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_pkcs12_bag_type_t type,
    +                                                         const gnutls_datum_t *data);
    +int                 gnutls_pkcs12_bag_set_crl           (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_x509_crl_t crl);
    +int                 gnutls_pkcs12_bag_set_crt           (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_x509_crt_t crt);
    +int                 gnutls_pkcs12_bag_init              (gnutls_pkcs12_bag_t *bag);
    +void                gnutls_pkcs12_bag_deinit            (gnutls_pkcs12_bag_t bag);
    +int                 gnutls_pkcs12_bag_get_count         (gnutls_pkcs12_bag_t bag);
    +int                 gnutls_pkcs12_bag_get_key_id        (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         gnutls_datum_t *id);
    +int                 gnutls_pkcs12_bag_set_key_id        (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         const gnutls_datum_t *id);
    +int                 gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         char **name);
    +int                 gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         const char *name);
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    +

    struct gnutls_pkcs12_int

    struct gnutls_pkcs12_int;
    -

    -


    -
    +

    gnutls_pkcs12_t

      typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t;
     
    -

    -


    -
    +

    struct gnutls_pkcs12_bag_int

    struct gnutls_pkcs12_bag_int;
    -

    -


    -
    +

    gnutls_pkcs12_bag_t

      typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t;
     
    -

    -


    -
    +

    gnutls_pkcs12_init ()

    -
    int                 gnutls_pkcs12_init                  (gnutls_pkcs12_t *pkcs12);
    +
    int                 gnutls_pkcs12_init                  (gnutls_pkcs12_t *pkcs12);

    -

    +This function will initialize a PKCS12 structure. PKCS12 structures +usually contain lists of X.509 Certificates and X.509 Certificate +revocation lists.

    - -

    pkcs12 :

    + The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_deinit ()

    -
    void                gnutls_pkcs12_deinit                (gnutls_pkcs12_t pkcs12);
    +
    void                gnutls_pkcs12_deinit                (gnutls_pkcs12_t pkcs12);

    -

    +This function will deinitialize a PKCS12 structure.

    -

    pkcs12 :

    + The structure to be initialized

    -
    +

    gnutls_pkcs12_import ()

    -
    int                 gnutls_pkcs12_import                (gnutls_pkcs12_t pkcs12,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned int flags);
    +
    int                 gnutls_pkcs12_import                (gnutls_pkcs12_t pkcs12,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned int flags);

    +This function will convert the given DER or PEM encoded PKCS12 +to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'.

    +

    +If the PKCS12 is PEM encoded it should have a header of "PKCS12".

    - - - - -

    pkcs12 :

    + The structure to store the parsed PKCS12.

    data :

    + The DER or PEM encoded PKCS12.

    format :

    + One of DER or PEM

    flags :

    + an ORed sequence of gnutls_privkey_pkcs8_flags

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_export ()

    -
    int                 gnutls_pkcs12_export                (gnutls_pkcs12_t pkcs12,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_pkcs12_export                (gnutls_pkcs12_t pkcs12,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);

    +This function will export the pkcs12 structure to DER or PEM format.

    +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size will be updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned. +

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN PKCS12".

    - - - - -

    pkcs12 :

    + Holds the pkcs12 structure

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a structure PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success. +

    -
    +

    gnutls_pkcs12_get_bag ()

    -
    int                 gnutls_pkcs12_get_bag               (gnutls_pkcs12_t pkcs12,
    -                                                         int indx,
    -                                                         gnutls_pkcs12_bag_t bag);
    +
    int                 gnutls_pkcs12_get_bag               (gnutls_pkcs12_t pkcs12,
    +                                                         int indx,
    +                                                         gnutls_pkcs12_bag_t bag);

    -

    +This function will return a Bag from the PKCS12 structure.

    - - - -

    pkcs12 :

    + should contain a gnutls_pkcs12_t structure

    indx :

    + contains the index of the bag to extract

    bag :

    + An initialized bag, where the contents of the bag will be copied

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. + +After the last Bag has been read GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE +will be returned. +

    -
    +

    gnutls_pkcs12_set_bag ()

    -
    int                 gnutls_pkcs12_set_bag               (gnutls_pkcs12_t pkcs12,
    -                                                         gnutls_pkcs12_bag_t bag);
    +
    int                 gnutls_pkcs12_set_bag               (gnutls_pkcs12_t pkcs12,
    +                                                         gnutls_pkcs12_bag_t bag);

    -

    +This function will insert a Bag into the PKCS12 structure.

    - - -

    pkcs12 :

    + should contain a gnutls_pkcs12_t structure

    bag :

    + An initialized bag

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_generate_mac ()

    -
    int                 gnutls_pkcs12_generate_mac          (gnutls_pkcs12_t pkcs12,
    -                                                         const char *pass);
    +
    int                 gnutls_pkcs12_generate_mac          (gnutls_pkcs12_t pkcs12,
    +                                                         const char *pass);

    -

    +This function will generate a MAC for the PKCS12 structure.

    - - -

    pkcs12 :

    + should contain a gnutls_pkcs12_t structure

    pass :

    + The password for the MAC

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_verify_mac ()

    -
    int                 gnutls_pkcs12_verify_mac            (gnutls_pkcs12_t pkcs12,
    -                                                         const char *pass);
    +
    int                 gnutls_pkcs12_verify_mac            (gnutls_pkcs12_t pkcs12,
    +                                                         const char *pass);

    -

    +This function will verify the MAC for the PKCS12 structure.

    - - -

    pkcs12 :

    + should contain a gnutls_pkcs12_t structure

    pass :

    + The password for the MAC

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_bag_decrypt ()

    -
    int                 gnutls_pkcs12_bag_decrypt           (gnutls_pkcs12_bag_t bag,
    -                                                         const char *pass);
    +
    int                 gnutls_pkcs12_bag_decrypt           (gnutls_pkcs12_bag_t bag,
    +                                                         const char *pass);

    -

    +This function will decrypt the given encrypted bag and return 0 on success.

    - - - - - -

    bag :

    + The bag

    pass :

    -

    Returns :

    + The password used for encryption. This can only be ASCII.

    -
    +

    gnutls_pkcs12_bag_encrypt ()

    -
    int                 gnutls_pkcs12_bag_encrypt           (gnutls_pkcs12_bag_t bag,
    -                                                         const char *pass,
    -                                                         unsigned int flags);
    +
    int                 gnutls_pkcs12_bag_encrypt           (gnutls_pkcs12_bag_t bag,
    +                                                         const char *pass,
    +                                                         unsigned int flags);

    -

    +This function will encrypt the given bag and return 0 on success.

    - - - - - - -

    bag :

    + The bag

    pass :

    + The password used for encryption. This can only be ASCII.

    flags :

    -

    Returns :

    + should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd

    -
    +

    enum gnutls_pkcs12_bag_type_t

      typedef enum gnutls_pkcs12_bag_type_t
       {
    @@ -443,351 +462,366 @@
         GNUTLS_BAG_UNKNOWN = 20
       } gnutls_pkcs12_bag_type_t;
     
    -

    -


    -
    +

    gnutls_pkcs12_bag_get_type ()

    -
    gnutls_pkcs12_bag_type_t  gnutls_pkcs12_bag_get_type    (gnutls_pkcs12_bag_t bag,
    -                                                         int indx);
    +
    gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type     (gnutls_pkcs12_bag_tbag ,
    +                                                         int indx);

    -

    +This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t +enumerations.

    - - - - - -

    bag :

    + The bag

    indx :

    -

    Returns :

    + The element of the bag to get the type

    -
    +

    gnutls_pkcs12_bag_get_data ()

    -
    int                 gnutls_pkcs12_bag_get_data          (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         gnutls_datum_t *data);
    +
    int                 gnutls_pkcs12_bag_get_data          (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         gnutls_datum_t *data);

    -

    +This function will return the bag's data. The data is a constant +that is stored into the bag. Should not be accessed after the bag +is deleted.

    - - - -

    bag :

    + The bag

    indx :

    + The element of the bag to get the data from

    data :

    + where the bag's data will be. Should be treated as constant.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative error code on error. +

    -
    +

    gnutls_pkcs12_bag_set_data ()

    -
    int                 gnutls_pkcs12_bag_set_data          (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_pkcs12_bag_type_t type,
    -                                                         const gnutls_datum_t *data);
    +
    int                 gnutls_pkcs12_bag_set_data          (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_pkcs12_bag_type_t type,
    +                                                         const gnutls_datum_t *data);

    -

    +This function will insert the given data of the given type into +the bag.

    - - - -

    bag :

    + The bag

    type :

    + The data's type

    data :

    + the data to be copied.

    Returns :

    + the index of the added bag on success, or a negative +value on error.

    -
    +

    gnutls_pkcs12_bag_set_crl ()

    -
    int                 gnutls_pkcs12_bag_set_crl           (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_x509_crl_t crl);
    +
    int                 gnutls_pkcs12_bag_set_crl           (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_x509_crl_t crl);

    -

    +This function will insert the given CRL into the +bag. This is just a wrapper over gnutls_pkcs12_bag_set_data().

    - - -

    bag :

    + The bag

    crl :

    + the CRL to be copied.

    Returns :

    + the index of the added bag on success, or a negative value +on failure.

    -
    +

    gnutls_pkcs12_bag_set_crt ()

    -
    int                 gnutls_pkcs12_bag_set_crt           (gnutls_pkcs12_bag_t bag,
    -                                                         gnutls_x509_crt_t crt);
    +
    int                 gnutls_pkcs12_bag_set_crt           (gnutls_pkcs12_bag_t bag,
    +                                                         gnutls_x509_crt_t crt);

    -

    +This function will insert the given certificate into the +bag. This is just a wrapper over gnutls_pkcs12_bag_set_data().

    - - -

    bag :

    + The bag

    crt :

    + the certificate to be copied.

    Returns :

    + the index of the added bag on success, or a negative +value on failure.

    -
    +

    gnutls_pkcs12_bag_init ()

    -
    int                 gnutls_pkcs12_bag_init              (gnutls_pkcs12_bag_t *bag);
    +
    int                 gnutls_pkcs12_bag_init              (gnutls_pkcs12_bag_t *bag);

    -

    +This function will initialize a PKCS12 bag structure. PKCS12 Bags +usually contain private keys, lists of X.509 Certificates and X.509 Certificate +revocation lists.

    - -

    bag :

    + The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_pkcs12_bag_deinit ()

    -
    void                gnutls_pkcs12_bag_deinit            (gnutls_pkcs12_bag_t bag);
    +
    void                gnutls_pkcs12_bag_deinit            (gnutls_pkcs12_bag_t bag);

    -

    +This function will deinitialize a PKCS12 Bag structure.

    -

    bag :

    + The structure to be initialized

    -
    +

    gnutls_pkcs12_bag_get_count ()

    -
    int                 gnutls_pkcs12_bag_get_count         (gnutls_pkcs12_bag_t bag);
    +
    int                 gnutls_pkcs12_bag_get_count         (gnutls_pkcs12_bag_t bag);

    -

    +This function will return the number of the elements withing the bag.

    - - + - - - - - - - +

    bag :

    + The bag

    Returns :

    -

    -
    +

    gnutls_pkcs12_bag_get_key_id ()

    -
    int                 gnutls_pkcs12_bag_get_key_id        (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         gnutls_datum_t *id);
    +
    int                 gnutls_pkcs12_bag_get_key_id        (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         gnutls_datum_t *id);

    -

    +This function will return the key ID, of the specified bag element. +The key ID is usually used to distinguish the local private key and the certificate pair.

    - - - -

    bag :

    + The bag

    indx :

    + The bag's element to add the id

    id :

    + where the ID will be copied (to be treated as const)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. or a negative value on error. +

    -
    +

    gnutls_pkcs12_bag_set_key_id ()

    -
    int                 gnutls_pkcs12_bag_set_key_id        (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         const gnutls_datum_t *id);
    +
    int                 gnutls_pkcs12_bag_set_key_id        (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         const gnutls_datum_t *id);

    -

    +This function will add the given key ID, to the specified, by the index, bag +element. The key ID will be encoded as a 'Local key identifier' bag attribute, +which is usually used to distinguish the local private key and the certificate pair.

    - - - -

    bag :

    + The bag

    indx :

    + The bag's element to add the id

    id :

    + the ID

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. or a negative value on error. +

    -
    +

    gnutls_pkcs12_bag_get_friendly_name ()

    -
    int                 gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         char **name);
    +
    int                 gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         char **name);

    -

    +This function will return the friendly name, of the specified bag element. +The key ID is usually used to distinguish the local private key and the certificate pair.

    - - - -

    bag :

    + The bag

    indx :

    + The bag's element to add the id

    name :

    + will hold a pointer to the name (to be treated as const)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. or a negative value on error. +

    -
    +

    gnutls_pkcs12_bag_set_friendly_name ()

    -
    int                 gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag,
    -                                                         int indx,
    -                                                         const char *name);
    +
    int                 gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag,
    +                                                         int indx,
    +                                                         const char *name);

    -

    +This function will add the given key friendly name, to the specified, by the index, bag +element. The name will be encoded as a 'Friendly name' bag attribute, +which is usually used to set a user name to the local private key and the certificate pair.

    - - - - @@ -797,6 +831,6 @@ + Generated by GTK-Doc V1.10 - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/gnutls-x509.html gnutls26-2.4.1/doc/reference/html/gnutls-x509.html --- gnutls26-2.8.6/doc/reference/html/gnutls-x509.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/gnutls-x509.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ x509 - - + + - + + + + +

    bag :

    + The bag

    indx :

    + The bag's element to add the id

    name :

    + the name

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. or a negative value on error. +
    @@ -20,13 +24,11 @@ - + Description -
    +
    @@ -35,9 +37,10 @@
    -
    +

    Synopsis

    -
    #define             GNUTLS_OID_X520_COUNTRY_NAME
    +
    +#define             GNUTLS_OID_X520_COUNTRY_NAME
     #define             GNUTLS_OID_X520_ORGANIZATION_NAME
     #define             GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME
     #define             GNUTLS_OID_X520_COMMON_NAME
    @@ -65,75 +68,73 @@
     #define             GNUTLS_KP_TIME_STAMPING
     #define             GNUTLS_KP_OCSP_SIGNING
     #define             GNUTLS_KP_ANY
    -#define             GNUTLS_FSAN_SET
    -#define             GNUTLS_FSAN_APPEND
     enum                gnutls_certificate_import_flags;
    -int                 gnutls_x509_crt_init                (gnutls_x509_crt_t *cert);
    -void                gnutls_x509_crt_deinit              (gnutls_x509_crt_t cert);
    -int                 gnutls_x509_crt_import              (gnutls_x509_crt_t cert,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_x509_crt_list_import         (gnutls_x509_crt_t *certs,
    -                                                         unsigned int *cert_max,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crt_export              (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_crt_get_issuer_dn       (gnutls_x509_crt_t cert,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crt_get_issuer_dn_oid   (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crt_get_issuer_dn_by_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crt_get_dn              (gnutls_x509_crt_t cert,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crt_get_dn_oid          (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crt_get_dn_by_oid       (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crt_check_hostname      (gnutls_x509_crt_t cert,
    -                                                         const char *hostname);
    -int                 gnutls_x509_crt_get_signature_algorithm
    -                                                        (gnutls_x509_crt_t cert);
    -int                 gnutls_x509_crt_get_signature       (gnutls_x509_crt_t cert,
    -                                                         char *sig,
    -                                                         size_t *sizeof_sig);
    -int                 gnutls_x509_crt_get_version         (gnutls_x509_crt_t cert);
    -int                 gnutls_x509_crt_get_key_id          (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_crt_set_authority_key_id
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const void *id,
    -                                                         size_t id_size);
    -int                 gnutls_x509_crt_get_authority_key_id
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_get_subject_key_id  (gnutls_x509_crt_t cert,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_init                (gnutls_x509_crt_t *cert);
    +void                gnutls_x509_crt_deinit              (gnutls_x509_crt_t cert);
    +int                 gnutls_x509_crt_import              (gnutls_x509_crt_t cert,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_x509_crt_list_import         (gnutls_x509_crt_t *certs,
    +                                                         unsigned int *cert_max,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_crt_export              (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_crt_get_issuer_dn       (gnutls_x509_crt_t cert,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_get_issuer_dn_oid   (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);
    +int                 gnutls_x509_crt_get_issuer_dn_by_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_get_dn              (gnutls_x509_crt_t cert,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_get_dn_oid          (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);
    +int                 gnutls_x509_crt_get_dn_by_oid       (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_check_hostname      (gnutls_x509_crt_t cert,
    +                                                         const char *hostname);
    +int                 gnutls_x509_crt_get_signature_algorithm
    +                                                        (gnutls_x509_crt_t cert);
    +int                 gnutls_x509_crt_get_signature       (gnutls_x509_crt_t cert,
    +                                                         char *sig,
    +                                                         size_t *sizeof_sig);
    +int                 gnutls_x509_crt_get_version         (gnutls_x509_crt_t cert);
    +int                 gnutls_x509_crt_get_key_id          (gnutls_x509_crt_t crt,
    +                                                         unsigned int flags,
    +                                                         unsigned char *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_crt_set_authority_key_id
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const void *id,
    +                                                         size_t id_size);
    +int                 gnutls_x509_crt_get_authority_key_id
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_get_subject_key_id  (gnutls_x509_crt_t cert,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);
     #define             GNUTLS_CRL_REASON_UNUSED
     #define             GNUTLS_CRL_REASON_KEY_COMPROMISE
     #define             GNUTLS_CRL_REASON_CA_COMPROMISE
    @@ -143,841 +144,642 @@
     #define             GNUTLS_CRL_REASON_CERTIFICATE_HOLD
     #define             GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN
     #define             GNUTLS_CRL_REASON_AA_COMPROMISE
    -int                 gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *reason_flags,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_set_crl_dist_points2
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int reason_flags);
    -int                 gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data_string,
    -                                                         unsigned int reason_flags);
    -int                 gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst,
    -                                                         gnutls_x509_crt_t src);
    -time_t              gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert);
    -time_t              gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert);
    -int                 gnutls_x509_crt_get_serial          (gnutls_x509_crt_t cert,
    -                                                         void *result,
    -                                                         size_t *result_size);
    -int                 gnutls_x509_crt_get_pk_algorithm    (gnutls_x509_crt_t cert,
    -                                                         unsigned int *bits);
    -int                 gnutls_x509_crt_get_pk_rsa_raw      (gnutls_x509_crt_t crt,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -int                 gnutls_x509_crt_get_pk_dsa_raw      (gnutls_x509_crt_t crt,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -int                 gnutls_x509_crt_get_subject_alt_name
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_get_subject_alt_name2
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *ret_type,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_get_subject_alt_othername_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size);
    -int                 gnutls_x509_crt_get_ca_status       (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_get_basic_constraints
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *ca,
    -                                                         int *pathlen);
    -int                 gnutls_x509_crt_get_key_usage       (gnutls_x509_crt_t cert,
    -                                                         unsigned int *key_usage,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_set_key_usage       (gnutls_x509_crt_t crt,
    -                                                         unsigned int usage);
    -int                 gnutls_x509_crt_get_proxy           (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *pathlen,
    -                                                         char **policyLanguage,
    -                                                         char **policy,
    -                                                         size_t *sizeof_policy);
    -int                 gnutls_x509_dn_oid_known            (const char *oid);
    -int                 gnutls_x509_crt_get_extension_oid   (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crt_get_extension_by_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_get_extension_info  (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    -int                 gnutls_x509_crt_get_extension_data  (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -int                 gnutls_x509_crt_set_extension_by_oid
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         const void *buf,
    -                                                         size_t sizeof_buf,
    -                                                         unsigned int critical);
    -int                 gnutls_x509_crt_set_dn_by_oid       (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -int                 gnutls_x509_crt_set_issuer_dn_by_oid
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -int                 gnutls_x509_crt_set_version         (gnutls_x509_crt_t crt,
    -                                                         unsigned int version);
    -int                 gnutls_x509_crt_set_key             (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_privkey_t key);
    -int                 gnutls_x509_crt_set_ca_status       (gnutls_x509_crt_t crt,
    -                                                         unsigned int ca);
    -int                 gnutls_x509_crt_set_basic_constraints
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         unsigned int ca,
    -                                                         int pathLenConstraint);
    -int                 gnutls_x509_crt_set_subject_alternative_name
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const char *data_string);
    -int                 gnutls_x509_crt_set_subject_alt_name
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crt_sign                (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key);
    -int                 gnutls_x509_crt_sign2               (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert,
    -                                                         time_t act_time);
    -int                 gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert,
    -                                                         time_t exp_time);
    -int                 gnutls_x509_crt_set_serial          (gnutls_x509_crt_t cert,
    -                                                         const void *serial,
    -                                                         size_t serial_size);
    -int                 gnutls_x509_crt_set_subject_key_id  (gnutls_x509_crt_t cert,
    -                                                         const void *id,
    -                                                         size_t id_size);
    -int                 gnutls_x509_crt_set_proxy_dn        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t eecrt,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -int                 gnutls_x509_crt_set_proxy           (gnutls_x509_crt_t crt,
    -                                                         int pathLenConstraint,
    -                                                         const char *policyLanguage,
    -                                                         const char *policy,
    -                                                         size_t sizeof_policy);
    -int                 gnutls_x509_crt_print               (gnutls_x509_crt_t cert,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    -int                 gnutls_x509_crl_print               (gnutls_x509_crl_t crl,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    -int                 gnutls_x509_crt_get_raw_issuer_dn   (gnutls_x509_crt_t cert,
    -                                                         gnutls_datum_t *start);
    -int                 gnutls_x509_crt_get_raw_dn          (gnutls_x509_crt_t cert,
    -                                                         gnutls_datum_t *start);
    -int                 gnutls_x509_rdn_get                 (const gnutls_datum_t *idn,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_rdn_get_oid             (const gnutls_datum_t *idn,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_rdn_get_by_oid          (const gnutls_datum_t *idn,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *reason_flags,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_subject_alt_name_ttype ,
    +                                                         const void *data_string,
    +                                                         unsigned int reason_flags);
    +int                 gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst,
    +                                                         gnutls_x509_crt_t src);
    +time_t              gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert);
    +time_t              gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert);
    +int                 gnutls_x509_crt_get_serial          (gnutls_x509_crt_t cert,
    +                                                         void *result,
    +                                                         size_t *result_size);
    +int                 gnutls_x509_crt_get_pk_algorithm    (gnutls_x509_crt_t cert,
    +                                                         unsigned int *bits);
    +int                 gnutls_x509_crt_get_pk_rsa_raw      (gnutls_x509_crt_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +int                 gnutls_x509_crt_get_pk_dsa_raw      (gnutls_x509_crt_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +int                 gnutls_x509_crt_get_subject_alt_name
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_get_subject_alt_name2
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *ret_type,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_get_subject_alt_othername_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size);
    +int                 gnutls_x509_crt_get_ca_status       (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_get_basic_constraints
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical,
    +                                                         int *ca,
    +                                                         int *pathlen);
    +int                 gnutls_x509_crt_get_key_usage       (gnutls_x509_crt_t cert,
    +                                                         unsigned int *key_usage,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_set_key_usage       (gnutls_x509_crt_t crt,
    +                                                         unsigned int usage);
    +int                 gnutls_x509_crt_get_proxy           (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical,
    +                                                         int *pathlen,
    +                                                         char **policyLanguage,
    +                                                         char **policy,
    +                                                         size_t *sizeof_policy);
    +int                 gnutls_x509_dn_oid_known            (const char *oid);
    +int                 gnutls_x509_crt_get_extension_oid   (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);
    +int                 gnutls_x509_crt_get_extension_by_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_get_extension_info  (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid,
    +                                                         int *critical);
    +int                 gnutls_x509_crt_get_extension_data  (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *data,
    +                                                         size_t *sizeof_data);
    +int                 gnutls_x509_crt_set_extension_by_oid
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         const void *buf,
    +                                                         size_t sizeof_buf,
    +                                                         unsigned int critical);
    +int                 gnutls_x509_crt_set_dn_by_oid       (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +int                 gnutls_x509_crt_set_issuer_dn_by_oid
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +int                 gnutls_x509_crt_set_version         (gnutls_x509_crt_t crt,
    +                                                         unsigned int version);
    +int                 gnutls_x509_crt_set_key             (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_privkey_t key);
    +int                 gnutls_x509_crt_set_ca_status       (gnutls_x509_crt_t crt,
    +                                                         unsigned int ca);
    +int                 gnutls_x509_crt_set_basic_constraints
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         unsigned int ca,
    +                                                         int pathLenConstraint);
    +int                 gnutls_x509_crt_set_subject_alternative_name
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_subject_alt_name_ttype ,
    +                                                         const char *data_string);
    +int                 gnutls_x509_crt_sign                (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key);
    +int                 gnutls_x509_crt_sign2               (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert,
    +                                                         time_t act_time);
    +int                 gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert,
    +                                                         time_t exp_time);
    +int                 gnutls_x509_crt_set_serial          (gnutls_x509_crt_t cert,
    +                                                         const void *serial,
    +                                                         size_t serial_size);
    +int                 gnutls_x509_crt_set_subject_key_id  (gnutls_x509_crt_t cert,
    +                                                         const void *id,
    +                                                         size_t id_size);
    +int                 gnutls_x509_crt_set_proxy_dn        (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t eecrt,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +int                 gnutls_x509_crt_set_proxy           (gnutls_x509_crt_t crt,
    +                                                         int pathLenConstraint,
    +                                                         const char *policyLanguage,
    +                                                         const char *policy,
    +                                                         size_t sizeof_policy);
    +int                 gnutls_x509_crt_print               (gnutls_x509_crt_t cert,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);
    +int                 gnutls_x509_crl_print               (gnutls_x509_crl_t crl,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);
    +int                 gnutls_x509_crt_get_raw_issuer_dn   (gnutls_x509_crt_t cert,
    +                                                         gnutls_datum_t *start);
    +int                 gnutls_x509_crt_get_raw_dn          (gnutls_x509_crt_t cert,
    +                                                         gnutls_datum_t *start);
    +int                 gnutls_x509_rdn_get                 (const gnutls_datum_t *idn,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_rdn_get_oid             (const gnutls_datum_t *idn,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_rdn_get_by_oid          (const gnutls_datum_t *idn,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
     typedef             gnutls_x509_dn_t;
    -int                 gnutls_x509_crt_get_subject         (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_dn_t *dn);
    -int                 gnutls_x509_crt_get_issuer          (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_dn_t *dn);
    -int                 gnutls_x509_dn_get_rdn_ava          (gnutls_x509_dn_t dn,
    -                                                         int irdn,
    -                                                         int iava,
    -                                                         gnutls_x509_ava_st *ava);
    -int                 gnutls_x509_dn_init                 (gnutls_x509_dn_t *dn);
    -int                 gnutls_x509_dn_import               (gnutls_x509_dn_t dn,
    -                                                         const gnutls_datum_t *data);
    -int                 gnutls_x509_dn_export               (gnutls_x509_dn_t dn,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -void                gnutls_x509_dn_deinit               (gnutls_x509_dn_t dn);
    -int                 gnutls_x509_crl_init                (gnutls_x509_crl_t *crl);
    -void                gnutls_x509_crl_deinit              (gnutls_x509_crl_t crl);
    -int                 gnutls_x509_crl_import              (gnutls_x509_crl_t crl,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_x509_crl_export              (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_crl_get_issuer_dn       (const gnutls_x509_crl_t crl,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crl_get_issuer_dn_by_oid
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crl_get_dn_oid          (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crl_get_signature_algorithm
    -                                                        (gnutls_x509_crl_t crl);
    -int                 gnutls_x509_crl_get_signature       (gnutls_x509_crl_t crl,
    -                                                         char *sig,
    -                                                         size_t *sizeof_sig);
    -int                 gnutls_x509_crl_get_version         (gnutls_x509_crl_t crl);
    -time_t              gnutls_x509_crl_get_this_update     (gnutls_x509_crl_t crl);
    -time_t              gnutls_x509_crl_get_next_update     (gnutls_x509_crl_t crl);
    -int                 gnutls_x509_crl_get_crt_count       (gnutls_x509_crl_t crl);
    -int                 gnutls_x509_crl_get_crt_serial      (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         unsigned char *serial,
    -                                                         size_t *serial_size,
    -                                                         time_t *t);
    +                    gnutls_x509_ava_st;
    +int                 gnutls_x509_crt_get_subject         (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_dn_t *dn);
    +int                 gnutls_x509_crt_get_issuer          (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_dn_t *dn);
    +int                 gnutls_x509_dn_get_rdn_ava          (gnutls_x509_dn_t dn,
    +                                                         int irdn,
    +                                                         int iava,
    +                                                         gnutls_x509_ava_st *avast);
    +int                 gnutls_x509_dn_init                 (gnutls_x509_dn_t *dn);
    +int                 gnutls_x509_dn_import               (gnutls_x509_dn_t odn,
    +                                                         const gnutls_datum_t *data);
    +int                 gnutls_x509_dn_export               (gnutls_x509_dn_t dn,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +void                gnutls_x509_dn_deinit               (gnutls_x509_dn_t idn);
    +int                 gnutls_x509_crl_init                (gnutls_x509_crl_t *crl);
    +void                gnutls_x509_crl_deinit              (gnutls_x509_crl_t crl);
    +int                 gnutls_x509_crl_import              (gnutls_x509_crl_t crl,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_x509_crl_export              (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_crl_get_issuer_dn       (const gnutls_x509_crl_t crl,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crl_get_issuer_dn_by_oid
    +                                                        (gnutls_x509_crl_t crl,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crl_get_dn_oid          (gnutls_x509_crl_t crl,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);
    +int                 gnutls_x509_crl_get_signature_algorithm
    +                                                        (gnutls_x509_crl_t crl);
    +int                 gnutls_x509_crl_get_signature       (gnutls_x509_crl_t crl,
    +                                                         char *sig,
    +                                                         size_t *sizeof_sig);
    +int                 gnutls_x509_crl_get_version         (gnutls_x509_crl_t crl);
    +time_t              gnutls_x509_crl_get_this_update     (gnutls_x509_crl_t crl);
    +time_t              gnutls_x509_crl_get_next_update     (gnutls_x509_crl_t crl);
    +int                 gnutls_x509_crl_get_crt_count       (gnutls_x509_crl_t crl);
    +int                 gnutls_x509_crl_get_crt_serial      (gnutls_x509_crl_t crl,
    +                                                         int indx,
    +                                                         unsigned char *serial,
    +                                                         size_t *serial_size,
    +                                                         time_t *t);
     #define             gnutls_x509_crl_get_certificate_count
     #define             gnutls_x509_crl_get_certificate
    -int                 gnutls_x509_crl_check_issuer        (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer);
    -int                 gnutls_x509_crl_set_version         (gnutls_x509_crl_t crl,
    -                                                         unsigned int version);
    -int                 gnutls_x509_crl_sign                (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key);
    -int                 gnutls_x509_crl_sign2               (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crl_set_this_update     (gnutls_x509_crl_t crl,
    -                                                         time_t act_time);
    -int                 gnutls_x509_crl_set_next_update     (gnutls_x509_crl_t crl,
    -                                                         time_t exp_time);
    -int                 gnutls_x509_crl_set_crt_serial      (gnutls_x509_crl_t crl,
    -                                                         const void *serial,
    -                                                         size_t serial_size,
    -                                                         time_t revocation_time);
    -int                 gnutls_x509_crl_set_crt             (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t crt,
    -                                                         time_t revocation_time);
    -int                 gnutls_x509_crl_get_authority_key_id
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crl_get_number          (gnutls_x509_crl_t crl,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crl_get_extension_oid   (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crl_get_extension_info  (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    -int                 gnutls_x509_crl_get_extension_data  (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -int                 gnutls_x509_crl_set_authority_key_id
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         const void *id,
    -                                                         size_t id_size);
    -int                 gnutls_x509_crl_set_number          (gnutls_x509_crl_t crl,
    -                                                         const void *nr,
    -                                                         size_t nr_size);
    +int                 gnutls_x509_crl_check_issuer        (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer);
    +int                 gnutls_x509_crl_set_version         (gnutls_x509_crl_t crl,
    +                                                         unsigned int version);
    +int                 gnutls_x509_crl_sign                (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key);
    +int                 gnutls_x509_crl_sign2               (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_crl_set_this_update     (gnutls_x509_crl_t crl,
    +                                                         time_t act_time);
    +int                 gnutls_x509_crl_set_next_update     (gnutls_x509_crl_t crl,
    +                                                         time_t exp_time);
    +int                 gnutls_x509_crl_set_crt_serial      (gnutls_x509_crl_t crl,
    +                                                         const void *serial,
    +                                                         size_t serial_size,
    +                                                         time_t revocation_time);
    +int                 gnutls_x509_crl_set_crt             (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t crt,
    +                                                         time_t revocation_time);
     struct              gnutls_pkcs7_int;
     typedef             gnutls_pkcs7_t;
    -int                 gnutls_pkcs7_init                   (gnutls_pkcs7_t *pkcs7);
    -void                gnutls_pkcs7_deinit                 (gnutls_pkcs7_t pkcs7);
    -int                 gnutls_pkcs7_import                 (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_pkcs7_export                 (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_pkcs7_get_crt_count          (gnutls_pkcs7_t pkcs7);
    -int                 gnutls_pkcs7_get_crt_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         int indx,
    -                                                         void *certificate,
    -                                                         size_t *certificate_size);
    -int                 gnutls_pkcs7_set_crt_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *crt);
    -int                 gnutls_pkcs7_set_crt                (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crt_t crt);
    -int                 gnutls_pkcs7_delete_crt             (gnutls_pkcs7_t pkcs7,
    -                                                         int indx);
    -int                 gnutls_pkcs7_get_crl_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         int indx,
    -                                                         void *crl,
    -                                                         size_t *crl_size);
    -int                 gnutls_pkcs7_get_crl_count          (gnutls_pkcs7_t pkcs7);
    -int                 gnutls_pkcs7_set_crl_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *crl);
    -int                 gnutls_pkcs7_set_crl                (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crl_t crl);
    -int                 gnutls_pkcs7_delete_crl             (gnutls_pkcs7_t pkcs7,
    -                                                         int indx);
    +int                 gnutls_pkcs7_init                   (gnutls_pkcs7_t *pkcs7);
    +void                gnutls_pkcs7_deinit                 (gnutls_pkcs7_t pkcs7);
    +int                 gnutls_pkcs7_import                 (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_pkcs7_export                 (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_pkcs7_get_crt_count          (gnutls_pkcs7_t pkcs7);
    +int                 gnutls_pkcs7_get_crt_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         int indx,
    +                                                         void *certificate,
    +                                                         size_t *certificate_size);
    +int                 gnutls_pkcs7_set_crt_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *crt);
    +int                 gnutls_pkcs7_set_crt                (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crt_t crt);
    +int                 gnutls_pkcs7_delete_crt             (gnutls_pkcs7_t pkcs7,
    +                                                         int indx);
    +int                 gnutls_pkcs7_get_crl_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         int indx,
    +                                                         void *crl,
    +                                                         size_t *crl_size);
    +int                 gnutls_pkcs7_get_crl_count          (gnutls_pkcs7_t pkcs7);
    +int                 gnutls_pkcs7_set_crl_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *crt);
    +int                 gnutls_pkcs7_set_crl                (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crl_t crl);
    +int                 gnutls_pkcs7_delete_crl             (gnutls_pkcs7_t pkcs7,
    +                                                         int indx);
     enum                gnutls_certificate_verify_flags;
    -int                 gnutls_x509_crt_check_issuer        (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_crt_t issuer);
    -int                 gnutls_x509_crt_list_verify         (const gnutls_x509_crt_t *cert_list,
    -                                                         int cert_list_length,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         const gnutls_x509_crl_t *CRL_list,
    -                                                         int CRL_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -int                 gnutls_x509_crt_verify              (gnutls_x509_crt_t cert,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -int                 gnutls_x509_crl_verify              (gnutls_x509_crl_t crl,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -int                 gnutls_x509_crt_check_revocation    (gnutls_x509_crt_t cert,
    -                                                         const gnutls_x509_crl_t *crl_list,
    -                                                         int crl_list_length);
    -int                 gnutls_x509_crt_get_fingerprint     (gnutls_x509_crt_t cert,
    -                                                         gnutls_digest_algorithm_t algo,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert,
    -                                                         const void *oid,
    -                                                         unsigned int critical);
    +int                 gnutls_x509_crt_check_issuer        (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_crt_t issuer);
    +int                 gnutls_x509_crt_list_verify         (const gnutls_x509_crt_t *cert_list,
    +                                                         int cert_list_length,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         const gnutls_x509_crl_t *CRL_list,
    +                                                         int CRL_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +int                 gnutls_x509_crt_verify              (gnutls_x509_crt_t cert,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +int                 gnutls_x509_crl_verify              (gnutls_x509_crl_t crl,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +int                 gnutls_x509_crt_check_revocation    (gnutls_x509_crt_t cert,
    +                                                         const gnutls_x509_crl_t *crl_list,
    +                                                         int crl_list_length);
    +int                 gnutls_x509_crt_get_fingerprint     (gnutls_x509_crt_t cert,
    +                                                         gnutls_digest_algorithm_t algo,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid,
    +                                                         unsigned int *critical);
    +int                 gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert,
    +                                                         const void *oid,
    +                                                         unsigned int critical);
     enum                gnutls_pkcs_encrypt_flags_t;
     #define             GNUTLS_PKCS8_PLAIN
     #define             GNUTLS_PKCS8_USE_PKCS12_3DES
     #define             GNUTLS_PKCS8_USE_PKCS12_ARCFOUR
     #define             GNUTLS_PKCS8_USE_PKCS12_RC2_40
    -int                 gnutls_x509_privkey_init            (gnutls_x509_privkey_t *key);
    -void                gnutls_x509_privkey_deinit          (gnutls_x509_privkey_t key);
    -int                 gnutls_x509_privkey_cpy             (gnutls_x509_privkey_t dst,
    -                                                         gnutls_x509_privkey_t src);
    -int                 gnutls_x509_privkey_import          (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_x509_privkey_import_pkcs8    (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_privkey_import_rsa_raw  (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e,
    -                                                         const gnutls_datum_t *d,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *u);
    -int                 gnutls_x509_privkey_fix             (gnutls_x509_privkey_t key);
    -int                 gnutls_x509_privkey_export_dsa_raw  (gnutls_x509_privkey_t key,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    -int                 gnutls_x509_privkey_import_dsa_raw  (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *g,
    -                                                         const gnutls_datum_t *y,
    -                                                         const gnutls_datum_t *x);
    -int                 gnutls_x509_privkey_get_pk_algorithm
    -                                                        (gnutls_x509_privkey_t key);
    -int                 gnutls_x509_privkey_get_key_id      (gnutls_x509_privkey_t key,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_privkey_generate        (gnutls_x509_privkey_t key,
    -                                                         gnutls_pk_algorithm_t algo,
    -                                                         unsigned int bits,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_privkey_export          (gnutls_x509_privkey_t key,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_privkey_export_pkcs8    (gnutls_x509_privkey_t key,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_privkey_export_rsa_raw  (gnutls_x509_privkey_t key,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -int                 gnutls_x509_privkey_sign_data       (gnutls_x509_privkey_t key,
    -                                                         gnutls_digest_algorithm_t digest,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         void *signature,
    -                                                         size_t *signature_size);
    -int                 gnutls_x509_privkey_verify_data     (gnutls_x509_privkey_t key,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    -int                 gnutls_x509_crt_verify_data         (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    -int                 gnutls_x509_crt_verify_hash         (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *hash,
    -                                                         const gnutls_datum_t *signature);
    -int                 gnutls_x509_crt_get_verify_algorithm
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const gnutls_datum_t *signature,
    -                                                         gnutls_digest_algorithm_t *hash);
    -int                 gnutls_x509_privkey_sign_hash       (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    +int                 gnutls_x509_privkey_init            (gnutls_x509_privkey_t *key);
    +void                gnutls_x509_privkey_deinit          (gnutls_x509_privkey_t key);
    +int                 gnutls_x509_privkey_cpy             (gnutls_x509_privkey_t dst,
    +                                                         gnutls_x509_privkey_t src);
    +int                 gnutls_x509_privkey_import          (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_x509_privkey_import_pkcs8    (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         const char *pass,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_privkey_import_rsa_raw  (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *m,
    +                                                         const gnutls_datum_t *e,
    +                                                         const gnutls_datum_t *d,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *u);
    +int                 gnutls_x509_privkey_fix             (gnutls_x509_privkey_t key);
    +int                 gnutls_x509_privkey_export_dsa_raw  (gnutls_x509_privkey_t key,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);
    +int                 gnutls_x509_privkey_import_dsa_raw  (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *g,
    +                                                         const gnutls_datum_t *y,
    +                                                         const gnutls_datum_t *x);
    +int                 gnutls_x509_privkey_get_pk_algorithm
    +                                                        (gnutls_x509_privkey_t key);
    +int                 gnutls_x509_privkey_get_key_id      (gnutls_x509_privkey_t key,
    +                                                         unsigned int flags,
    +                                                         unsigned char *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_privkey_generate        (gnutls_x509_privkey_t key,
    +                                                         gnutls_pk_algorithm_t algo,
    +                                                         unsigned int bits,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_privkey_export          (gnutls_x509_privkey_t key,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_privkey_export_pkcs8    (gnutls_x509_privkey_t key,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         const char *password,
    +                                                         unsigned int flags,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_privkey_export_rsa_raw  (gnutls_x509_privkey_t key,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +int                 gnutls_x509_privkey_sign_data       (gnutls_x509_privkey_t key,
    +                                                         gnutls_digest_algorithm_t digest,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         void *signature,
    +                                                         size_t *signature_size);
    +int                 gnutls_x509_privkey_verify_data     (gnutls_x509_privkey_t key,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         const gnutls_datum_t *signature);
    +int                 gnutls_x509_crt_verify_data         (gnutls_x509_crt_t crt,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         const gnutls_datum_t *signature);
    +int                 gnutls_x509_privkey_sign_hash       (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);
     struct              gnutls_x509_crq_int;
     typedef             gnutls_x509_crq_t;
    -int                 gnutls_x509_crq_print               (gnutls_x509_crq_t crq,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    -int                 gnutls_x509_crq_init                (gnutls_x509_crq_t *crq);
    -void                gnutls_x509_crq_deinit              (gnutls_x509_crq_t crq);
    -int                 gnutls_x509_crq_import              (gnutls_x509_crq_t crq,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -int                 gnutls_x509_crq_get_dn              (gnutls_x509_crq_t crq,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crq_get_dn_oid          (gnutls_x509_crq_t crq,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crq_get_dn_by_oid       (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crq_set_dn_by_oid       (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *data,
    -                                                         unsigned int sizeof_data);
    -int                 gnutls_x509_crq_set_version         (gnutls_x509_crq_t crq,
    -                                                         unsigned int version);
    -int                 gnutls_x509_crq_get_version         (gnutls_x509_crq_t crq);
    -int                 gnutls_x509_crq_set_key             (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key);
    -int                 gnutls_x509_crq_sign2               (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crq_sign                (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key);
    -int                 gnutls_x509_crq_set_challenge_password
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *pass);
    -int                 gnutls_x509_crq_get_challenge_password
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         char *pass,
    -                                                         size_t *sizeof_pass);
    -int                 gnutls_x509_crq_set_attribute_by_oid
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         void *buf,
    -                                                         size_t sizeof_buf);
    -int                 gnutls_x509_crq_get_attribute_by_oid
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -int                 gnutls_x509_crq_export              (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_crt_set_crq             (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crq_t crq);
    -int                 gnutls_x509_crt_set_crq_extensions  (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crq_t crq);
    -int                 gnutls_x509_crq_set_key_rsa_raw     (gnutls_x509_crq_t crq,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e);
    -int                 gnutls_x509_crq_set_subject_alt_name
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_subject_alt_name_t nt,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int flags);
    -int                 gnutls_x509_crq_set_key_usage       (gnutls_x509_crq_t crq,
    -                                                         unsigned int usage);
    -int                 gnutls_x509_crq_set_basic_constraints
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         unsigned int ca,
    -                                                         int pathLenConstraint);
    -int                 gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert,
    -                                                         const void *oid,
    -                                                         unsigned int critical);
    -int                 gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crq_get_extension_data  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -int                 gnutls_x509_crq_get_extension_info  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    -int                 gnutls_x509_crq_get_attribute_data  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -int                 gnutls_x509_crq_get_attribute_info  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -int                 gnutls_x509_crq_get_pk_algorithm    (gnutls_x509_crq_t crq,
    -                                                         unsigned int *bits);
    -int                 gnutls_x509_crq_get_key_id          (gnutls_x509_crq_t crq,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -int                 gnutls_x509_crq_get_key_rsa_raw     (gnutls_x509_crq_t crq,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -int                 gnutls_x509_crq_get_key_usage       (gnutls_x509_crq_t cert,
    -                                                         unsigned int *key_usage,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crq_get_basic_constraints
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *ca,
    -                                                         int *pathlen);
    -int                 gnutls_x509_crq_get_subject_alt_name
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *ret_type,
    -                                                         unsigned int *critical);
    -int                 gnutls_x509_crq_get_subject_alt_othername_oid
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size);
    -int                 gnutls_x509_crq_get_extension_by_oid
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf,
    -                                                         unsigned int *critical);
    +int                 gnutls_x509_crq_init                (gnutls_x509_crq_t *crq);
    +void                gnutls_x509_crq_deinit              (gnutls_x509_crq_t crq);
    +int                 gnutls_x509_crq_import              (gnutls_x509_crq_t crq,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);
    +int                 gnutls_x509_crq_get_pk_algorithm    (gnutls_x509_crq_t crq,
    +                                                         unsigned int *bits);
    +int                 gnutls_x509_crq_get_dn              (gnutls_x509_crq_t crq,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crq_get_dn_oid          (gnutls_x509_crq_t crq,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);
    +int                 gnutls_x509_crq_get_dn_by_oid       (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crq_set_dn_by_oid       (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +int                 gnutls_x509_crq_set_version         (gnutls_x509_crq_t crq,
    +                                                         unsigned int version);
    +int                 gnutls_x509_crq_set_key             (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key);
    +int                 gnutls_x509_crq_sign2               (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);
    +int                 gnutls_x509_crq_sign                (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key);
    +int                 gnutls_x509_crq_set_challenge_password
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *pass);
    +int                 gnutls_x509_crq_get_challenge_password
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         char *pass,
    +                                                         size_t *sizeof_pass);
    +int                 gnutls_x509_crq_set_attribute_by_oid
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         void *buf,
    +                                                         size_t sizeof_buf);
    +int                 gnutls_x509_crq_get_attribute_by_oid
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +int                 gnutls_x509_crq_export              (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +int                 gnutls_x509_crt_set_crq             (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crq_t crq);
     
    -
    +

    Description

    +A longer description goes here.

    -
    +

    Details

    -
    +

    GNUTLS_OID_X520_COUNTRY_NAME

    #define GNUTLS_OID_X520_COUNTRY_NAME		"2.5.4.6"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_ORGANIZATION_NAME

    -
    #define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10"
    +
    #define GNUTLS_OID_X520_ORGANIZATION_NAME	"2.5.4.10"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME

    #define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_COMMON_NAME

    #define GNUTLS_OID_X520_COMMON_NAME		"2.5.4.3"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_LOCALITY_NAME

    #define GNUTLS_OID_X520_LOCALITY_NAME		"2.5.4.7"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME

    -
    #define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
    +
    #define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME	"2.5.4.8"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_INITIALS

    #define GNUTLS_OID_X520_INITIALS		"2.5.4.43"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_GENERATION_QUALIFIER

    -
    #define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44"
    +
    #define GNUTLS_OID_X520_GENERATION_QUALIFIER	"2.5.4.44"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_SURNAME

    #define GNUTLS_OID_X520_SURNAME			"2.5.4.4"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_GIVEN_NAME

    #define GNUTLS_OID_X520_GIVEN_NAME		"2.5.4.42"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_TITLE

    #define GNUTLS_OID_X520_TITLE			"2.5.4.12"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_DN_QUALIFIER

    #define GNUTLS_OID_X520_DN_QUALIFIER		"2.5.4.46"
     
    -

    -


    -
    +

    GNUTLS_OID_X520_PSEUDONYM

    #define GNUTLS_OID_X520_PSEUDONYM		"2.5.4.65"
     
    -

    -


    -
    +

    GNUTLS_OID_LDAP_DC

    #define GNUTLS_OID_LDAP_DC			"0.9.2342.19200300.100.1.25"
     
    -

    -


    -
    +

    GNUTLS_OID_LDAP_UID

    #define GNUTLS_OID_LDAP_UID			"0.9.2342.19200300.100.1.1"
     
    -

    -


    -
    +

    GNUTLS_OID_PKCS9_EMAIL

    #define GNUTLS_OID_PKCS9_EMAIL			"1.2.840.113549.1.9.1"
     
    -

    -


    -
    +

    GNUTLS_OID_PKIX_DATE_OF_BIRTH

    #define GNUTLS_OID_PKIX_DATE_OF_BIRTH		"1.3.6.1.5.5.7.9.1"
     
    -

    -


    -
    +

    GNUTLS_OID_PKIX_PLACE_OF_BIRTH

    #define GNUTLS_OID_PKIX_PLACE_OF_BIRTH		"1.3.6.1.5.5.7.9.2"
     
    -

    -


    -
    +

    GNUTLS_OID_PKIX_GENDER

    #define GNUTLS_OID_PKIX_GENDER			"1.3.6.1.5.5.7.9.3"
     
    -

    -


    -
    +

    GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP

    -
    #define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4"
    +
    #define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP	"1.3.6.1.5.5.7.9.4"
     
    -

    -


    -
    +

    GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE

    -
    #define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5"
    +
    #define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE	"1.3.6.1.5.5.7.9.5"
     
    -

    -


    -
    +

    GNUTLS_KP_TLS_WWW_SERVER

    #define GNUTLS_KP_TLS_WWW_SERVER		"1.3.6.1.5.5.7.3.1"
     
    -

    -


    -
    +

    GNUTLS_KP_TLS_WWW_CLIENT

    #define GNUTLS_KP_TLS_WWW_CLIENT                "1.3.6.1.5.5.7.3.2"
     
    -

    -


    -
    +

    GNUTLS_KP_CODE_SIGNING

    #define GNUTLS_KP_CODE_SIGNING			"1.3.6.1.5.5.7.3.3"
     
    -

    -


    -
    +

    GNUTLS_KP_EMAIL_PROTECTION

    #define GNUTLS_KP_EMAIL_PROTECTION		"1.3.6.1.5.5.7.3.4"
     
    -

    -


    -
    +

    GNUTLS_KP_TIME_STAMPING

    #define GNUTLS_KP_TIME_STAMPING			"1.3.6.1.5.5.7.3.8"
     
    -

    -


    -
    +

    GNUTLS_KP_OCSP_SIGNING

    #define GNUTLS_KP_OCSP_SIGNING			"1.3.6.1.5.5.7.3.9"
     
    -

    -


    -
    +

    GNUTLS_KP_ANY

    #define GNUTLS_KP_ANY				"2.5.29.37.0"
     
    -

    -

    -
    -
    -
    -

    GNUTLS_FSAN_SET

    -
    #define GNUTLS_FSAN_SET 0
    -
    -

    -

    -
    -
    -
    -

    GNUTLS_FSAN_APPEND

    -
    #define GNUTLS_FSAN_APPEND 1
    -
    -

    -


    -
    +

    enum gnutls_certificate_import_flags

      typedef enum gnutls_certificate_import_flags
       {
    @@ -988,2590 +790,2863 @@
         GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED = 1
       } gnutls_certificate_import_flags;
     
    -

    -


    -
    +

    gnutls_x509_crt_init ()

    -
    int                 gnutls_x509_crt_init                (gnutls_x509_crt_t *cert);
    +
    int                 gnutls_x509_crt_init                (gnutls_x509_crt_t *cert);

    -

    +This function will initialize an X.509 certificate structure.

    - -

    cert :

    + The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crt_deinit ()

    -
    void                gnutls_x509_crt_deinit              (gnutls_x509_crt_t cert);
    +
    void                gnutls_x509_crt_deinit              (gnutls_x509_crt_t cert);

    -

    +This function will deinitialize a CRL structure.

    -

    cert :

    + The structure to be initialized

    -
    +

    gnutls_x509_crt_import ()

    -
    int                 gnutls_x509_crt_import              (gnutls_x509_crt_t cert,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    +
    int                 gnutls_x509_crt_import              (gnutls_x509_crt_t cert,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will convert the given DER or PEM encoded Certificate +to the native gnutls_x509_crt_t format. The output will be stored in cert.

    +

    +If the Certificate is PEM encoded it should have a header of "X509 CERTIFICATE", or +"CERTIFICATE".

    - - - -

    cert :

    + The structure to store the parsed certificate.

    data :

    + The DER or PEM encoded certificate.

    format :

    + One of DER or PEM

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crt_list_import ()

    -
    int                 gnutls_x509_crt_list_import         (gnutls_x509_crt_t *certs,
    -                                                         unsigned int *cert_max,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         unsigned int flags);
    -

    +

    int                 gnutls_x509_crt_list_import         (gnutls_x509_crt_t *certs,
    +                                                         unsigned int *cert_max,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         unsigned int flags);
    +

    +This function will convert the given PEM encoded certificate list +to the native gnutls_x509_crt_t format. The output will be stored +in certs. They will be automatically initialized.

    +

    +If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE".

    - - - - - -

    certs :

    + The structures to store the parsed certificate. Must not be initialized.

    cert_max :

    + Initially must hold the maximum number of certs. It will be updated with the number of certs available.

    data :

    + The PEM encoded certificate.

    format :

    + One of DER or PEM.

    flags :

    + must be zero or an OR'd sequence of gnutls_certificate_import_flags.

    Returns :

    + the number of certificates read or a negative error value.

    -
    +

    gnutls_x509_crt_export ()

    -
    int                 gnutls_x509_crt_export              (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_crt_export              (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will export the certificate to DER or PEM format. +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE".

    - - - - -

    cert :

    + Holds the certificate

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a certificate PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success.

    -
    +

    gnutls_x509_crt_get_issuer_dn ()

    -
    int                 gnutls_x509_crt_get_issuer_dn       (gnutls_x509_crt_t cert,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crt_get_issuer_dn       (gnutls_x509_crt_t cert,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);

    +This function will copy the name of the Certificate issuer in the +provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data.

    +

    +If buf is null then only the size will be filled.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_get_issuer_dn_oid ()

    -
    int                 gnutls_x509_crt_get_issuer_dn_oid   (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    int                 gnutls_x509_crt_get_issuer_dn_oid   (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);

    +This function will extract the OIDs of the name of the Certificate +issuer specified by the given index.

    +

    +If oid is null then only the size will be filled.

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + This specifies which OID to return. Use zero to get the first one.

    oid :

    + a pointer to a buffer to hold the OID (may be null)

    sizeof_oid :

    + initially holds the size of oid

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_oid will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_get_issuer_dn_by_oid ()

    -
    int                 gnutls_x509_crt_get_issuer_dn_by_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crt_get_issuer_dn_by_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will extract the part of the name of the Certificate +issuer specified by the given OID. The output, if the raw flag is not +used, will be encoded as described in RFC2253. Thus a string that is +ASCII or UTF-8 encoded, depending on the certificate data. +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '\#' prefix. You can check about known OIDs +using gnutls_x509_dn_oid_known().

    +

    +If buf is null then only the size will be filled.

    - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one.

    raw_flag :

    + If non zero returns the raw DER data of the DN part.

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_get_dn ()

    -
    int                 gnutls_x509_crt_get_dn              (gnutls_x509_crt_t cert,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crt_get_dn              (gnutls_x509_crt_t cert,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);

    +This function will copy the name of the Certificate in the +provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data.

    +

    +If buf is null then only the size will be filled.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_get_dn_oid ()

    -
    int                 gnutls_x509_crt_get_dn_oid          (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    int                 gnutls_x509_crt_get_dn_oid          (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);

    +This function will extract the OIDs of the name of the Certificate +subject specified by the given index.

    +

    +If oid is null then only the size will be filled.

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + This specifies which OID to return. Use zero to get the first one.

    oid :

    + a pointer to a buffer to hold the OID (may be null)

    sizeof_oid :

    + initially holds the size of oid

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_oid will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_get_dn_by_oid ()

    -
    int                 gnutls_x509_crt_get_dn_by_oid       (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crt_get_dn_by_oid       (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will extract the part of the name of the Certificate +subject specified by the given OID. The output, if the raw flag is not +used, will be encoded as described in RFC2253. Thus a string that is +ASCII or UTF-8 encoded, depending on the certificate data. +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '\#' prefix. You can check about known OIDs +using gnutls_x509_dn_oid_known().

    +

    +If buf is null then only the size will be filled.

    - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one.

    raw_flag :

    + If non zero returns the raw DER data of the DN part.

    buf :

    + a pointer where the DN part will be copied (may be null).

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crt_check_hostname ()

    -
    int                 gnutls_x509_crt_check_hostname      (gnutls_x509_crt_t cert,
    -                                                         const char *hostname);
    +
    int                 gnutls_x509_crt_check_hostname      (gnutls_x509_crt_t cert,
    +                                                         const char *hostname);

    -

    +This function will check if the given certificate's subject matches +the given hostname. This is a basic implementation of the matching +described in RFC2818 (HTTPS), which takes into account wildcards, +and the DNSName/IPAddress subject alternative name PKIX extension.

    - - -

    cert :

    + should contain an gnutls_x509_crt_t structure

    hostname :

    + A null terminated string that contains a DNS name

    Returns :

    + non zero for a successful match, and zero on failure.

    -
    +

    gnutls_x509_crt_get_signature_algorithm ()

    -
    int                 gnutls_x509_crt_get_signature_algorithm
    -                                                        (gnutls_x509_crt_t cert);
    +
    int                 gnutls_x509_crt_get_signature_algorithm
    +                                                        (gnutls_x509_crt_t cert);

    -

    +This function will return a value of the gnutls_sign_algorithm_t +enumeration that is the signature algorithm.

    - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    Returns :

    + a gnutls_sign_algorithm_t value, or a negative value on + error.

    -
    +

    gnutls_x509_crt_get_signature ()

    -
    int                 gnutls_x509_crt_get_signature       (gnutls_x509_crt_t cert,
    -                                                         char *sig,
    -                                                         size_t *sizeof_sig);
    +
    int                 gnutls_x509_crt_get_signature       (gnutls_x509_crt_t cert,
    +                                                         char *sig,
    +                                                         size_t *sizeof_sig);

    -

    +This function will extract the signature field of a certificate.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    sig :

    + a pointer where the signature part will be copied (may be null).

    sizeof_sig :

    + initially holds the size of sig

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. and a negative value on error.

    -
    +

    gnutls_x509_crt_get_version ()

    -
    int                 gnutls_x509_crt_get_version         (gnutls_x509_crt_t cert);
    +
    int                 gnutls_x509_crt_get_version         (gnutls_x509_crt_t cert);

    -

    +This function will return the version of the specified Certificate.

    - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    Returns :

    + version of certificate, or a negative value on error.

    -
    +

    gnutls_x509_crt_get_key_id ()

    -
    int                 gnutls_x509_crt_get_key_id          (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -

    +

    int                 gnutls_x509_crt_get_key_id          (gnutls_x509_crt_t crt,
    +                                                         unsigned int flags,
    +                                                         unsigned char *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will return a unique ID the depends on the public +key parameters. This ID can be used in checking whether a +certificate corresponds to the given private key.

    +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.

    - - - - -

    crt :

    + Holds the certificate

    flags :

    + should be 0 for now

    output_data :

    + will contain the key ID

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success.

    -
    +

    gnutls_x509_crt_set_authority_key_id ()

    -
    int                 gnutls_x509_crt_set_authority_key_id
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const void *id,
    -                                                         size_t id_size);
    +
    int                 gnutls_x509_crt_set_authority_key_id
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const void *id,
    +                                                         size_t id_size);

    -

    +This function will set the X.509 certificate's authority key ID extension. +Only the keyIdentifier field can be set with this function.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    id :

    + The key ID

    id_size :

    + Holds the size of the serial field.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_get_authority_key_id ()

    -
    int                 gnutls_x509_crt_get_authority_key_id
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_authority_key_id
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);

    -

    +This function will return the X.509v3 certificate authority's key identifier. +This is obtained by the X.509 Authority Key identifier extension +field (2.5.29.35). Note that this function only returns the keyIdentifier +field of the extension.

    - - - + - - + - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    ret :

    +

    result :

    The place where the identifier will be copied

    ret_size :

    +

    result_size :

    Holds the size of the result field.

    critical :

    + will be non zero if the extension is marked as critical (may be null)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    gnutls_x509_crt_get_subject_key_id ()

    -
    int                 gnutls_x509_crt_get_subject_key_id  (gnutls_x509_crt_t cert,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_subject_key_id  (gnutls_x509_crt_t cert,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);

    -

    +This function will return the X.509v3 certificate's subject key identifier. +This is obtained by the X.509 Subject Key identifier extension +field (2.5.29.14).

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    ret :

    + The place where the identifier will be copied

    ret_size :

    + Holds the size of the result field.

    critical :

    + will be non zero if the extension is marked as critical (may be null)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    GNUTLS_CRL_REASON_UNUSED

    #define GNUTLS_CRL_REASON_UNUSED 128
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_KEY_COMPROMISE

    #define GNUTLS_CRL_REASON_KEY_COMPROMISE 64
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_CA_COMPROMISE

    #define GNUTLS_CRL_REASON_CA_COMPROMISE 32
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_AFFILIATION_CHANGED

    #define GNUTLS_CRL_REASON_AFFILIATION_CHANGED 16
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_SUPERSEEDED

    #define GNUTLS_CRL_REASON_SUPERSEEDED 8
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_CESSATION_OF_OPERATION

    #define GNUTLS_CRL_REASON_CESSATION_OF_OPERATION 4
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_CERTIFICATE_HOLD

    #define GNUTLS_CRL_REASON_CERTIFICATE_HOLD 2
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN

    #define GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN 1
     
    -

    -


    -
    +

    GNUTLS_CRL_REASON_AA_COMPROMISE

    #define GNUTLS_CRL_REASON_AA_COMPROMISE 32768
     
    -

    -


    -
    +

    gnutls_x509_crt_get_crl_dist_points ()

    -
    int                 gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *reason_flags,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *reason_flags,
    +                                                         unsigned int *critical);
    +

    +This function will return the CRL distribution points (2.5.29.31), +contained in the given certificate. +

    +reason_flags should be an ORed sequence of +GNUTLS_CRL_REASON_UNUSED, GNUTLS_CRL_REASON_KEY_COMPROMISE, +GNUTLS_CRL_REASON_CA_COMPROMISE, +GNUTLS_CRL_REASON_AFFILIATION_CHANGED, +GNUTLS_CRL_REASON_SUPERSEEDED, +GNUTLS_CRL_REASON_CESSATION_OF_OPERATION, +GNUTLS_CRL_REASON_CERTIFICATE_HOLD, +GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN, +GNUTLS_CRL_REASON_AA_COMPROMISE, or zero for all possible reasons.

    +

    +This is specified in X509v3 Certificate Extensions. GNUTLS will +return the distribution point type, or a negative error code on +error.

    - - - - - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    seq :

    + specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.)

    ret :

    + is the place where the distribution point will be copied to

    ret_size :

    + holds the size of ret.

    reason_flags :

    + Revocation reasons flags.

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crt_set_crl_dist_points2 ()

    -
    int                 gnutls_x509_crt_set_crl_dist_points2
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int reason_flags);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - -

    crt :

    -

    type :

    -

    data :

    -

    data_size :

    -

    reason_flags :

    + will be non zero if the extension is marked as critical (may be null)

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER and updates &ret_size if +&ret_size is not enough to hold the distribution point, or the +type of the distribution point if everything was ok. The type is +one of the enumerated gnutls_x509_subject_alt_name_t. If the +certificate does not have an Alternative name with the specified +sequence number then GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is +returned.

    -
    +

    gnutls_x509_crt_set_crl_dist_points ()

    -
    int                 gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data_string,
    -                                                         unsigned int reason_flags);
    +
    int                 gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_subject_alt_name_ttype ,
    +                                                         const void *data_string,
    +                                                         unsigned int reason_flags);

    -

    +This function will set the CRL distribution points certificate extension.

    - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    type :

    + is one of the gnutls_x509_subject_alt_name_t enumerations

    data_string :

    + The data to be set

    reason_flags :

    + revocation reasons

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_cpy_crl_dist_points ()

    -
    int                 gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst,
    -                                                         gnutls_x509_crt_t src);
    +
    int                 gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst,
    +                                                         gnutls_x509_crt_t src);

    -

    +This function will copy the CRL distribution points certificate +extension, from the source to the destination certificate. +This may be useful to copy from a CA certificate to issued ones.

    - - -

    dst :

    + should contain a gnutls_x509_crt_t structure

    src :

    + the certificate where the dist points will be copied from

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_get_activation_time ()

    -
    time_t              gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert);
    +
    time_t              gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert);

    -

    +This function will return the time this Certificate was or will be +activated.

    - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    Returns :

    + activation time, or (time_t)-1 on error. +

    -
    +

    gnutls_x509_crt_get_expiration_time ()

    -
    time_t              gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert);
    +
    time_t              gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert);

    -

    +This function will return the time this Certificate was or will be +expired.

    - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    Returns :

    + expiration time, or (time_t)-1 on error. +

    -
    +

    gnutls_x509_crt_get_serial ()

    -
    int                 gnutls_x509_crt_get_serial          (gnutls_x509_crt_t cert,
    -                                                         void *result,
    -                                                         size_t *result_size);
    +
    int                 gnutls_x509_crt_get_serial          (gnutls_x509_crt_t cert,
    +                                                         void *result,
    +                                                         size_t *result_size);

    -

    +This function will return the X.509 certificate's serial number. +This is obtained by the X509 Certificate serialNumber +field. Serial is not always a 32 or 64bit number. Some CAs use +large serial numbers, thus it may be wise to handle it as something +opaque.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    result :

    + The place where the serial number will be copied

    result_size :

    + Holds the size of the result field.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    gnutls_x509_crt_get_pk_algorithm ()

    -
    int                 gnutls_x509_crt_get_pk_algorithm    (gnutls_x509_crt_t cert,
    -                                                         unsigned int *bits);
    +
    int                 gnutls_x509_crt_get_pk_algorithm    (gnutls_x509_crt_t cert,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of an X.509 +certificate.

    +

    +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    bits :

    + if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on +success, or a negative value on error.

    -
    +

    gnutls_x509_crt_get_pk_rsa_raw ()

    -
    int                 gnutls_x509_crt_get_pk_rsa_raw      (gnutls_x509_crt_t crt,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -

    -

    +
    int                 gnutls_x509_crt_get_pk_rsa_raw      (gnutls_x509_crt_t crt,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e);
    +

    +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - -

    crt :

    + Holds the certificate

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error.

    -
    +

    gnutls_x509_crt_get_pk_dsa_raw ()

    -
    int                 gnutls_x509_crt_get_pk_dsa_raw      (gnutls_x509_crt_t crt,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y);
    -

    -

    +
    int                 gnutls_x509_crt_get_pk_dsa_raw      (gnutls_x509_crt_t crt,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y);
    +

    +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - -

    crt :

    + Holds the certificate

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error.

    -
    +

    gnutls_x509_crt_get_subject_alt_name ()

    -
    int                 gnutls_x509_crt_get_subject_alt_name
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_subject_alt_name
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *critical);
    +

    +This function will return the alternative names, contained in the +given certificate. +

    +

    +This is specified in X509v3 Certificate Extensions. GNUTLS will +return the Alternative name (2.5.29.17), or a negative error code. +

    +When the SAN type is otherName, it will extract the data in the +otherName's value field, and GNUTLS_SAN_OTHERNAME is returned. +You may use gnutls_x509_crt_get_subject_alt_othername_oid() to get +the corresponding OID and the "virtual" SAN types (e.g., +GNUTLS_SAN_OTHERNAME_XMPP).

    +

    +If an otherName OID is known, the data will be decoded. Otherwise +the returned data will be DER encoded, and you will have to decode +it yourself. Currently, only the RFC 3920 id-on-xmppAddr SAN is +recognized.

    - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    seq :

    + specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)

    ret :

    + is the place where the alternative name will be copied to

    ret_size :

    + holds the size of ret.

    critical :

    + will be non zero if the extension is marked as critical (may be null)

    Returns :

    + the alternative subject name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. It will return +GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough to +hold the value. In that case ret_size will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.

    -
    +

    gnutls_x509_crt_get_subject_alt_name2 ()

    -
    int                 gnutls_x509_crt_get_subject_alt_name2
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *ret_type,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_subject_alt_name2
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size,
    +                                                         unsigned int *ret_type,
    +                                                         unsigned int *critical);

    +This function will return the alternative names, contained in the +given certificate. It is the same as gnutls_x509_crt_get_subject_alt_name() +except for the fact that it will return the type of the alternative +name in ret_type even if the function fails for some reason (i.e. +the buffer provided is not enough).

    +

    +The return values are the same as with gnutls_x509_crt_get_subject_alt_name().

    - - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    seq :

    + specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)

    ret :

    + is the place where the alternative name will be copied to

    ret_size :

    + holds the size of ret.

    ret_type :

    + holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).

    critical :

    -

    Returns :

    + will be non zero if the extension is marked as critical (may be null)

    -
    +

    gnutls_x509_crt_get_subject_alt_othername_oid ()

    -
    int                 gnutls_x509_crt_get_subject_alt_othername_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size);
    +
    int                 gnutls_x509_crt_get_subject_alt_othername_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int seq,
    +                                                         void *ret,
    +                                                         size_t *ret_size);

    +This function will extract the type OID of an otherName Subject +Alternative Name, contained in the given certificate, and return +the type as an enumerated element.

    +

    +This function is only useful if +gnutls_x509_crt_get_subject_alt_name() returned +GNUTLS_SAN_OTHERNAME.

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    seq :

    + specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)

    ret :

    + is the place where the otherName OID will be copied to

    ret_size :

    + holds the size of ret.

    Returns :

    + the alternative subject name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it +will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, +e.g. GNUTLS_SAN_OTHERNAME_XMPP, and GNUTLS_SAN_OTHERNAME for +unknown OIDs. It will return GNUTLS_E_SHORT_MEMORY_BUFFER if +ret_size is not large enough to hold the value. In that case +ret_size will be updated with the required size. If the +certificate does not have an Alternative name with the specified +sequence number and with the otherName type then +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.

    -
    +

    gnutls_x509_crt_get_ca_status ()

    -
    int                 gnutls_x509_crt_get_ca_status       (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_ca_status       (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical);
    +

    +This function will return certificates CA status, by reading the +basicConstraints X.509 extension (2.5.29.19). If the certificate is +a CA a positive value will be returned, or zero if the certificate +does not have CA flag set. +

    +Use gnutls_x509_crt_get_basic_constraints() if you want to read the +pathLenConstraint field too.

    +

    +A negative value may be returned in case of parsing error. +If the certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    critical :

    -

    Returns :

    + will be non zero if the extension is marked as critical

    -
    +

    gnutls_x509_crt_get_basic_constraints ()

    -
    int                 gnutls_x509_crt_get_basic_constraints
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *ca,
    -                                                         int *pathlen);
    +
    int                 gnutls_x509_crt_get_basic_constraints
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical,
    +                                                         int *ca,
    +                                                         int *pathlen);

    -

    +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19).

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    critical :

    + will be non zero if the extension is marked as critical

    ca :

    + pointer to output integer indicating CA status, may be NULL, + value is 1 if the certificate CA flag is set, 0 otherwise.

    pathlen :

    + pointer to output integer indicating path length (may be + NULL), non-negative values indicate a present pathLenConstraint + field and the actual value, -1 indicate that the field is absent.

    Returns :

    + If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    -
    +

    gnutls_x509_crt_get_key_usage ()

    -
    int                 gnutls_x509_crt_get_key_usage       (gnutls_x509_crt_t cert,
    -                                                         unsigned int *key_usage,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_key_usage       (gnutls_x509_crt_t cert,
    +                                                         unsigned int *key_usage,
    +                                                         unsigned int *critical);

    -

    +This function will return certificate's key usage, by reading the +keyUsage X.509 extension (2.5.29.15). The key usage value will +ORed values of the: GNUTLS_KEY_DIGITAL_SIGNATURE, +GNUTLS_KEY_NON_REPUDIATION, GNUTLS_KEY_KEY_ENCIPHERMENT, +GNUTLS_KEY_DATA_ENCIPHERMENT, GNUTLS_KEY_KEY_AGREEMENT, +GNUTLS_KEY_KEY_CERT_SIGN, GNUTLS_KEY_CRL_SIGN, +GNUTLS_KEY_ENCIPHER_ONLY, GNUTLS_KEY_DECIPHER_ONLY.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    key_usage :

    + where the key usage bits will be stored

    critical :

    + will be non zero if the extension is marked as critical

    Returns :

    + the certificate key usage, or a negative value in case of +parsing error. If the certificate does not contain the keyUsage +extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +

    -
    +

    gnutls_x509_crt_set_key_usage ()

    -
    int                 gnutls_x509_crt_set_key_usage       (gnutls_x509_crt_t crt,
    -                                                         unsigned int usage);
    +
    int                 gnutls_x509_crt_set_key_usage       (gnutls_x509_crt_t crt,
    +                                                         unsigned int usage);

    -

    +This function will set the keyUsage certificate extension.

    - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    usage :

    + an ORed sequence of the GNUTLS_KEY_* elements.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_get_proxy ()

    -
    int                 gnutls_x509_crt_get_proxy           (gnutls_x509_crt_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *pathlen,
    -                                                         char **policyLanguage,
    -                                                         char **policy,
    -                                                         size_t *sizeof_policy);
    +
    int                 gnutls_x509_crt_get_proxy           (gnutls_x509_crt_t cert,
    +                                                         unsigned int *critical,
    +                                                         int *pathlen,
    +                                                         char **policyLanguage,
    +                                                         char **policy,
    +                                                         size_t *sizeof_policy);

    -

    +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19).

    - - - - - - - - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    critical :

    + will be non zero if the extension is marked as critical

    pathlen :

    -

    policyLanguage :

    -

    policy :

    -

    sizeof_policy :

    + pointer to output integer indicating path length (may be + NULL), non-negative values indicate a present pCPathLenConstraint + field and the actual value, -1 indicate that the field is absent.

    Returns :

    + If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    -
    +

    gnutls_x509_dn_oid_known ()

    -
    int                 gnutls_x509_dn_oid_known            (const char *oid);
    +
    int                 gnutls_x509_dn_oid_known            (const char *oid);

    -

    +This function will inform about known DN OIDs. This is useful since +functions like gnutls_x509_crt_set_dn_by_oid() use the information +on known OIDs to properly encode their input. Object Identifiers +that are not known are not encoded by these functions, and their +input is stored directly into the ASN.1 structure. In that case of +unknown OIDs, you have the responsibility of DER encoding your +data.

    - -

    oid :

    + holds an Object Identifier in a null terminated string

    Returns :

    + 1 on known OIDs and 0 otherwise.

    -
    +

    gnutls_x509_crt_get_extension_oid ()

    -
    int                 gnutls_x509_crt_get_extension_oid   (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    int                 gnutls_x509_crt_get_extension_oid   (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);

    +This function will return the requested extension OID in the certificate. +The extension OID will be stored as a string in the provided buffer.

    +

    +A negative value may be returned in case of parsing error. +If your have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + Specifies which extension OID to send. Use zero to get the first one.

    oid :

    + a pointer to a structure to hold the OID (may be null)

    sizeof_oid :

    -

    Returns :

    + initially holds the size of oid

    -
    +

    gnutls_x509_crt_get_extension_by_oid ()

    -
    int                 gnutls_x509_crt_get_extension_by_oid
    -                                                        (gnutls_x509_crt_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_extension_by_oid
    +                                                        (gnutls_x509_crt_t cert,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf,
    +                                                         unsigned int *critical);

    +This function will return the extension specified by the OID in the certificate. +The extensions will be returned as binary data DER encoded, in the provided +buffer.

    +

    +A negative value may be returned in case of parsing error. +If the certificate does not contain the specified extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the extensions, this specifies which to send. Use zero to get the first one.

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    critical :

    -

    Returns :

    + will be non zero if the extension is marked as critical

    -
    +

    gnutls_x509_crt_get_extension_info ()

    -
    int                 gnutls_x509_crt_get_extension_info  (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    +
    int                 gnutls_x509_crt_get_extension_info  (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid,
    +                                                         int *critical);
    +

    +This function will return the requested extension OID in the +certificate, and the critical flag for it. The extension OID will +be stored as a string in the provided buffer. Use +gnutls_x509_crt_get_extension_data() to extract the data. +

    +If the buffer provided is not long enough to hold the output, then +*sizeof_oid is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be +returned.

    +

    +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + Specifies which extension OID to send. Use zero to get the first one.

    oid :

    + a pointer to a structure to hold the OID

    sizeof_oid :

    + initially holds the maximum size of oid, on return + holds actual size of oid.

    critical :

    -

    Returns :

    + output variable with critical flag, may be NULL.

    -
    +

    gnutls_x509_crt_get_extension_data ()

    -
    int                 gnutls_x509_crt_get_extension_data  (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    +
    int                 gnutls_x509_crt_get_extension_data  (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *data,
    +                                                         size_t *sizeof_data);

    +This function will return the requested extension data in the +certificate. The extension data will be stored as a string in the +provided buffer.

    +

    +Use gnutls_x509_crt_get_extension_info() to extract the OID and +critical flag. Use gnutls_x509_crt_get_extension_by_oid() instead, +if you want to get data indexed by the extension OID rather than +sequence. +

    +

    +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + Specifies which extension OID to send. Use zero to get the first one.

    data :

    + a pointer to a structure to hold the data (may be null)

    sizeof_data :

    -

    Returns :

    + initially holds the size of oid

    -
    +

    gnutls_x509_crt_set_extension_by_oid ()

    -
    int                 gnutls_x509_crt_set_extension_by_oid
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         const void *buf,
    -                                                         size_t sizeof_buf,
    -                                                         unsigned int critical);
    -

    -

    +
    int                 gnutls_x509_crt_set_extension_by_oid
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         const void *buf,
    +                                                         size_t sizeof_buf,
    +                                                         unsigned int critical);
    +

    +This function will set an the extension, by the specified OID, in +the certificate. The extension data should be binary data DER +encoded.

    - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identified in null terminated string

    buf :

    + a pointer to a DER encoded data

    sizeof_buf :

    + holds the size of buf

    critical :

    + should be non zero if the extension is to be marked as critical

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error.

    -
    +

    gnutls_x509_crt_set_dn_by_oid ()

    -
    int                 gnutls_x509_crt_set_dn_by_oid       (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -

    -

    +
    int                 gnutls_x509_crt_set_dn_by_oid       (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +

    +This function will set the part of the name of the Certificate +subject, specified by the given OID. The input string should be +ASCII or UTF-8 encoded. +

    +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are +not known (by gnutls) you should properly DER encode your data, +and call this function with raw_flag set.

    - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identifier in a null terminated string

    raw_flag :

    + must be 0, or 1 if the data are DER encoded

    name :

    + a pointer to the name

    sizeof_name :

    + holds the size of name

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_issuer_dn_by_oid ()

    -
    int                 gnutls_x509_crt_set_issuer_dn_by_oid
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -

    -

    +
    int                 gnutls_x509_crt_set_issuer_dn_by_oid
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +

    +This function will set the part of the name of the Certificate +issuer, specified by the given OID. The input string should be +ASCII or UTF-8 encoded. +

    +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are +not known (by gnutls) you should properly DER encode your data, +and call this function with raw_flag set. +

    +

    +Normally you do not need to call this function, since the signing +operation will copy the signer's name as the issuer of the +certificate.

    - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + holds an Object Identifier in a null terminated string

    raw_flag :

    + must be 0, or 1 if the data are DER encoded

    name :

    + a pointer to the name

    sizeof_name :

    + holds the size of name

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_version ()

    -
    int                 gnutls_x509_crt_set_version         (gnutls_x509_crt_t crt,
    -                                                         unsigned int version);
    +
    int                 gnutls_x509_crt_set_version         (gnutls_x509_crt_t crt,
    +                                                         unsigned int version);

    +This function will set the version of the certificate. This must +be one for X.509 version 1, and so on. Plain certificates without +extensions must have version set to one.

    +

    +To create well-formed certificates, you must specify version 3 if +you use any certificate extensions. Extensions are created by +functions such as gnutls_x509_crt_set_subject_alternative_name() +or gnutls_x509_crt_set_key_usage().

    - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    version :

    + holds the version number. For X.509v1 certificates must be 1.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_key ()

    -
    int                 gnutls_x509_crt_set_key             (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_privkey_t key);
    +
    int                 gnutls_x509_crt_set_key             (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_privkey_t key);

    -

    +This function will set the public parameters from the given +private key to the certificate. Only RSA keys are currently +supported.

    - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    key :

    + holds a private key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crt_set_ca_status ()

    -
    int                 gnutls_x509_crt_set_ca_status       (gnutls_x509_crt_t crt,
    -                                                         unsigned int ca);
    +
    int                 gnutls_x509_crt_set_ca_status       (gnutls_x509_crt_t crt,
    +                                                         unsigned int ca);

    -

    +This function will set the basicConstraints certificate extension. +Use gnutls_x509_crt_set_basic_constraints() if you want to control +the pathLenConstraint field too.

    - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    ca :

    + true(1) or false(0). Depending on the Certificate authority status.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_basic_constraints ()

    -
    int                 gnutls_x509_crt_set_basic_constraints
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         unsigned int ca,
    -                                                         int pathLenConstraint);
    +
    int                 gnutls_x509_crt_set_basic_constraints
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         unsigned int ca,
    +                                                         int pathLenConstraint);

    -

    +This function will set the basicConstraints certificate extension.

    - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    ca :

    + true(1) or false(0). Depending on the Certificate authority status.

    pathLenConstraint :

    + non-negative values indicate maximum length of path, + and negative values indicate that the pathLenConstraints field should + not be present.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_subject_alternative_name ()

    -
    int                 gnutls_x509_crt_set_subject_alternative_name
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const char *data_string);
    +
    int                 gnutls_x509_crt_set_subject_alternative_name
    +                                                        (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_subject_alt_name_ttype ,
    +                                                         const char *data_string);

    -

    +This function will set the subject alternative name certificate +extension.

    - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    type :

    + is one of the gnutls_x509_subject_alt_name_t enumerations

    data_string :

    + The data to be set, a zero terminated string

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crt_set_subject_alt_name ()

    -
    int                 gnutls_x509_crt_set_subject_alt_name
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_subject_alt_name_t type,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int flags);
    +
    +

    gnutls_x509_crt_sign ()

    +
    int                 gnutls_x509_crt_sign                (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key);

    -

    +This function is the same a gnutls_x509_crt_sign2() with no flags, +and SHA1 as the hash algorithm.

    - - - + - - + - - - - - - - - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    type :

    +

    issuer :

    is the certificate of the certificate issuer

    data :

    +

    issuer_key :

    holds the issuer's private key

    data_size :

    -

    flags :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crt_sign ()

    -
    int                 gnutls_x509_crt_sign                (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key);
    -

    -

    -
    -- - - - - - - - - - - - - - - - +

    crt :

    -

    issuer :

    -

    issuer_key :

    -

    Returns :

    +

    Returns :

    On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_sign2 ()

    -
    int                 gnutls_x509_crt_sign2               (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    +
    int                 gnutls_x509_crt_sign2               (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);

    +This function will sign the certificate with the issuer's private key, and +will copy the issuer's information into the certificate.

    +

    +This must be the last step in a certificate generation since all +the previously set parameters are now signed.

    - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    issuer :

    + is the certificate of the certificate issuer

    issuer_key :

    + holds the issuer's private key

    dig :

    + The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing.

    flags :

    + must be 0

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_activation_time ()

    -
    int                 gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert,
    -                                                         time_t act_time);
    +
    int                 gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert,
    +                                                         time_t act_time);

    -

    +This function will set the time this Certificate was or will be +activated.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    act_time :

    + The actual time

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_expiration_time ()

    -
    int                 gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert,
    -                                                         time_t exp_time);
    +
    int                 gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert,
    +                                                         time_t exp_time);

    -

    +This function will set the time this Certificate will expire.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    exp_time :

    + The actual time

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_serial ()

    -
    int                 gnutls_x509_crt_set_serial          (gnutls_x509_crt_t cert,
    -                                                         const void *serial,
    -                                                         size_t serial_size);
    +
    int                 gnutls_x509_crt_set_serial          (gnutls_x509_crt_t cert,
    +                                                         const void *serial,
    +                                                         size_t serial_size);

    -

    +This function will set the X.509 certificate's serial number. +Serial is not always a 32 or 64bit number. Some CAs use large +serial numbers, thus it may be wise to handle it as something +opaque.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    serial :

    + The serial number

    serial_size :

    + Holds the size of the serial field.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_subject_key_id ()

    -
    int                 gnutls_x509_crt_set_subject_key_id  (gnutls_x509_crt_t cert,
    -                                                         const void *id,
    -                                                         size_t id_size);
    +
    int                 gnutls_x509_crt_set_subject_key_id  (gnutls_x509_crt_t cert,
    +                                                         const void *id,
    +                                                         size_t id_size);

    -

    +This function will set the X.509 certificate's subject key ID +extension.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    id :

    + The key ID

    id_size :

    + Holds the size of the serial field.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_proxy_dn ()

    -
    int                 gnutls_x509_crt_set_proxy_dn        (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crt_t eecrt,
    -                                                         unsigned int raw_flag,
    -                                                         const void *name,
    -                                                         unsigned int sizeof_name);
    -

    -

    +
    int                 gnutls_x509_crt_set_proxy_dn        (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crt_t eecrt,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +

    +This function will set the subject in crt to the end entity's +eecrt subject name, and add a single Common Name component name +of size sizeof_name. This corresponds to the required proxy +certificate naming style. Note that if name is NULL, you MUST +set it later by using gnutls_x509_crt_set_dn_by_oid() or similar.

    - - - - - -

    crt :

    + a gnutls_x509_crt_t structure with the new proxy cert

    eecrt :

    + the end entity certificate that will be issuing the proxy

    raw_flag :

    + must be 0, or 1 if the CN is DER encoded

    name :

    + a pointer to the CN name, may be NULL (but MUST then be added later)

    sizeof_name :

    + holds the size of name

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_set_proxy ()

    -
    int                 gnutls_x509_crt_set_proxy           (gnutls_x509_crt_t crt,
    -                                                         int pathLenConstraint,
    -                                                         const char *policyLanguage,
    -                                                         const char *policy,
    -                                                         size_t sizeof_policy);
    +
    int                 gnutls_x509_crt_set_proxy           (gnutls_x509_crt_t crt,
    +                                                         int pathLenConstraint,
    +                                                         const char *policyLanguage,
    +                                                         const char *policy,
    +                                                         size_t sizeof_policy);

    -

    +This function will set the proxyCertInfo extension.

    - - - - - -

    crt :

    + should contain a gnutls_x509_crt_t structure

    pathLenConstraint :

    + non-negative values indicate maximum length of path, + and negative values indicate that the pathLenConstraints field should + not be present.

    policyLanguage :

    + OID describing the language of policy.

    policy :

    + opaque byte array with policy language, can be NULL

    sizeof_policy :

    + size of policy.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_print ()

    -
    int                 gnutls_x509_crt_print               (gnutls_x509_crt_t cert,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    +
    int                 gnutls_x509_crt_print               (gnutls_x509_crt_t cert,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);

    +This function will pretty print a X.509 certificate, suitable for +display to a human.

    +

    +If the format is GNUTLS_CRT_PRINT_FULL then all fields of the +certificate will be output, on multiple lines. The +GNUTLS_CRT_PRINT_ONELINE format will generate one line with some +selected fields, which is useful for logging purposes. +

    +

    +The output out needs to be deallocate using gnutls_free().

    - - - -

    cert :

    + The structure to be printed

    format :

    + Indicate the format to use

    out :

    + Newly allocated datum with zero terminated string.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crl_print ()

    -
    int                 gnutls_x509_crl_print               (gnutls_x509_crl_t crl,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);
    +
    int                 gnutls_x509_crl_print               (gnutls_x509_crl_t crl,
    +                                                         gnutls_certificate_print_formats_t format,
    +                                                         gnutls_datum_t *out);

    +This function will pretty print a X.509 certificate revocation +list, suitable for display to a human.

    +

    +The output out needs to be deallocate using gnutls_free().

    - - - -

    crl :

    + The structure to be printed

    format :

    + Indicate the format to use

    out :

    + Newly allocated datum with zero terminated string.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crt_get_raw_issuer_dn ()

    -
    int                 gnutls_x509_crt_get_raw_issuer_dn   (gnutls_x509_crt_t cert,
    -                                                         gnutls_datum_t *start);
    +
    int                 gnutls_x509_crt_get_raw_issuer_dn   (gnutls_x509_crt_t cert,
    +                                                         gnutls_datum_t *start);

    -

    +This function will return a pointer to the DER encoded DN structure +and the length.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    start :

    + will hold the starting point of the DN

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.or a negative value on error. +

    -
    +

    gnutls_x509_crt_get_raw_dn ()

    -
    int                 gnutls_x509_crt_get_raw_dn          (gnutls_x509_crt_t cert,
    -                                                         gnutls_datum_t *start);
    +
    int                 gnutls_x509_crt_get_raw_dn          (gnutls_x509_crt_t cert,
    +                                                         gnutls_datum_t *start);

    -

    +This function will return a pointer to the DER encoded DN structure and +the length.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    start :

    + will hold the starting point of the DN

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. or a negative value on error. +

    -
    +

    gnutls_x509_rdn_get ()

    -
    int                 gnutls_x509_rdn_get                 (const gnutls_datum_t *idn,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    -

    -

    +
    int                 gnutls_x509_rdn_get                 (const gnutls_datum_t *idn,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will return the name of the given RDN sequence. The +name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in +RFC2253.

    - - - -

    idn :

    + should contain a DER encoded RDN sequence

    buf :

    + a pointer to a structure to hold the peer's name

    sizeof_buf :

    + holds the size of buf

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, or +GNUTLS_E_SHORT_MEMORY_BUFFER is returned and *sizeof_buf is +updated if the provided buffer is not long enough, otherwise a +negative error value.

    -
    +

    gnutls_x509_rdn_get_oid ()

    -
    int                 gnutls_x509_rdn_get_oid             (const gnutls_datum_t *idn,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_rdn_get_oid             (const gnutls_datum_t *idn,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);

    -

    +This function will return the specified Object identifier, of the +RDN sequence.

    - - - - + - - + -

    idn :

    + should contain a DER encoded RDN sequence

    indx :

    + Indicates which OID to return. Use 0 for the first one.

    buf :

    +

    oid :

    a pointer to a structure to hold the peer's name OID

    sizeof_buf :

    +

    sizeof_oid :

    holds the size of oid

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, or +GNUTLS_E_SHORT_MEMORY_BUFFER is returned and *sizeof_buf is +updated if the provided buffer is not long enough, otherwise a +negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_x509_rdn_get_by_oid ()

    -
    int                 gnutls_x509_rdn_get_by_oid          (const gnutls_datum_t *idn,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -

    -

    +
    int                 gnutls_x509_rdn_get_by_oid          (const gnutls_datum_t *idn,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will return the name of the given Object identifier, +of the RDN sequence. The name will be encoded using the rules +from RFC2253.

    - - - - - - -

    idn :

    + should contain a DER encoded RDN sequence

    oid :

    + an Object Identifier

    indx :

    + In case multiple same OIDs exist in the RDN indicates which + to send. Use 0 for the first one.

    raw_flag :

    + If non zero then the raw DER data are returned.

    buf :

    + a pointer to a structure to hold the peer's name

    sizeof_buf :

    + holds the size of buf

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, or +GNUTLS_E_SHORT_MEMORY_BUFFER is returned and *sizeof_buf is +updated if the provided buffer is not long enough, otherwise a +negative error value.

    -
    +

    gnutls_x509_dn_t

      typedef void *gnutls_x509_dn_t;
     
    -

    -


    -
    +
    +

    gnutls_x509_ava_st

    +
    typedef struct {
    +    gnutls_datum_t oid;
    +    gnutls_datum_t value;
    +    unsigned long value_tag;
    +} gnutls_x509_ava_st;
    +
    +
    +
    +

    gnutls_x509_crt_get_subject ()

    -
    int                 gnutls_x509_crt_get_subject         (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_dn_t *dn);
    +
    int                 gnutls_x509_crt_get_subject         (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_dn_t *dn);

    +Return the Certificate's Subject DN as an opaque data type. You +may use gnutls_x509_dn_get_rdn_ava() to decode the DN.

    +

    +Note that dn should be treated as constant. Because points +into the cert object, you may not deallocate cert +and continue to access dn.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    dn :

    + output variable with pointer to opaque DN.

    Returns :

    + Returns 0 on success, or an error code.

    -
    +

    gnutls_x509_crt_get_issuer ()

    -
    int                 gnutls_x509_crt_get_issuer          (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_dn_t *dn);
    +
    int                 gnutls_x509_crt_get_issuer          (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_dn_t *dn);

    +Return the Certificate's Issuer DN as an opaque data type. You may +use gnutls_x509_dn_get_rdn_ava() to decode the DN.

    +

    +Note that dn should be treated as constant. Because points +into the cert object, you may not deallocate cert +and continue to access dn.

    - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    dn :

    + output variable with pointer to opaque DN

    Returns :

    + Returns 0 on success, or an error code.

    -
    +

    gnutls_x509_dn_get_rdn_ava ()

    -
    int                 gnutls_x509_dn_get_rdn_ava          (gnutls_x509_dn_t dn,
    -                                                         int irdn,
    -                                                         int iava,
    -                                                         gnutls_x509_ava_st *ava);
    +
    int                 gnutls_x509_dn_get_rdn_ava          (gnutls_x509_dn_t dn,
    +                                                         int irdn,
    +                                                         int iava,
    +                                                         gnutls_x509_ava_st *avast);

    Get pointers to data within the DN.

    @@ -3585,22 +3660,22 @@

    dn :

    -input variable with opaque DN pointer + input variable with opaque DN pointer

    irdn :

    -index of RDN + index of RDN

    iava :

    -index of AVA. + index of AVA.

    ava :

    -Pointer to structure which will hold output information. + Pointer to structure which will hold output information. @@ -3612,1517 +3687,1383 @@

    -
    +

    gnutls_x509_dn_init ()

    -
    int                 gnutls_x509_dn_init                 (gnutls_x509_dn_t *dn);
    +
    int                 gnutls_x509_dn_init                 (gnutls_x509_dn_t *dn);

    +This function initializes a gnutls_x509_dn_t structure.

    +

    +The object returned must be deallocated using +gnutls_x509_dn_deinit().

    - - + -

    dn :

    +

    odn :

    the object to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_x509_dn_import ()

    -
    int                 gnutls_x509_dn_import               (gnutls_x509_dn_t dn,
    -                                                         const gnutls_datum_t *data);
    +
    int                 gnutls_x509_dn_import               (gnutls_x509_dn_t odn,
    +                                                         const gnutls_datum_t *data);

    +odn: the structure that will hold the imported DN +data: should contain a DER encoded RDN sequence

    +

    +This function parses an RDN sequence and stores the result to a +gnutls_x509_dn_t structure. The structure must have been initialized +with gnutls_x509_dn_init(). You may use gnutls_x509_dn_get_rdn_ava() to +decode the DN.

    - - - - - - - - - - + - - - +

    dn :

    -

    data :

    -

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +
    +

    Since 2.4.0 +


    -
    +

    gnutls_x509_dn_export ()

    -
    int                 gnutls_x509_dn_export               (gnutls_x509_dn_t dn,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_dn_export               (gnutls_x509_dn_t dn,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will export the DN to DER or PEM format. +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned.

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN NAME".

    - - - - -

    dn :

    + Holds the opaque DN object

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a DN PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_dn_deinit ()

    -
    void                gnutls_x509_dn_deinit               (gnutls_x509_dn_t dn);
    +
    void                gnutls_x509_dn_deinit               (gnutls_x509_dn_t idn);

    -

    +This function deallocates the DN object as returned by +gnutls_x509_dn_import().

    - - +

    dn :

    +

    idn :

    a DN opaque object pointer.
    +

    Since 2.4.0 +


    -
    +

    gnutls_x509_crl_init ()

    -
    int                 gnutls_x509_crl_init                (gnutls_x509_crl_t *crl);
    +
    int                 gnutls_x509_crl_init                (gnutls_x509_crl_t *crl);

    -

    +This function will initialize a CRL structure. CRL stands for +Certificate Revocation List. A revocation list usually contains +lists of certificate serial numbers that have been revoked by an +Authority. The revocation lists are always signed with the +authority's private key.

    - -

    crl :

    + The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crl_deinit ()

    -
    void                gnutls_x509_crl_deinit              (gnutls_x509_crl_t crl);
    +
    void                gnutls_x509_crl_deinit              (gnutls_x509_crl_t crl);

    -

    +This function will deinitialize a CRL structure.

    -

    crl :

    + The structure to be initialized

    -
    +

    gnutls_x509_crl_import ()

    -
    int                 gnutls_x509_crl_import              (gnutls_x509_crl_t crl,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    +
    int                 gnutls_x509_crl_import              (gnutls_x509_crl_t crl,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will convert the given DER or PEM encoded CRL +to the native gnutls_x509_crl_t format. The output will be stored in 'crl'.

    +

    +If the CRL is PEM encoded it should have a header of "X509 CRL".

    - - - -

    crl :

    + The structure to store the parsed CRL.

    data :

    + The DER or PEM encoded CRL.

    format :

    + One of DER or PEM

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crl_export ()

    -
    int                 gnutls_x509_crl_export              (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_crl_export              (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will export the revocation list to DER or PEM format. +

    +If the buffer provided is not long enough to hold the output, then +¤GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN X509 CRL".

    - - - - -

    crl :

    + Holds the revocation list

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a private key PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will + be replaced by the actual size of parameters)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. and a negative value on failure.

    -
    +

    gnutls_x509_crl_get_issuer_dn ()

    -
    int                 gnutls_x509_crl_get_issuer_dn       (const gnutls_x509_crl_t crl,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crl_get_issuer_dn       (const gnutls_x509_crl_t crl,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);

    +This function will copy the name of the CRL issuer in the provided +buffer. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC2253. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.

    +

    +If buf is NULL then only the size will be filled.

    - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    buf :

    + a pointer to a structure to hold the peer's name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is +not long enough, and in that case the sizeof_buf will be updated +with the required size, and 0 on success. +

    -
    +

    gnutls_x509_crl_get_issuer_dn_by_oid ()

    -
    int                 gnutls_x509_crl_get_issuer_dn_by_oid
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -

    +

    int                 gnutls_x509_crl_get_issuer_dn_by_oid
    +                                                        (gnutls_x509_crl_t crl,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will extract the part of the name of the CRL issuer +specified by the given OID. The output will be encoded as described +in RFC2253. The output string will be ASCII or UTF-8 encoded, +depending on the certificate data. +

    +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- in +hex format with a '\#' prefix. You can check about known OIDs +using gnutls_x509_dn_oid_known().

    +

    +If buf is null then only the size will be filled.

    - - - - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one.

    raw_flag :

    + If non zero returns the raw DER data of the DN part.

    buf :

    + a pointer to a structure to hold the peer's name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is +not long enough, and in that case the sizeof_buf will be updated +with the required size, and 0 on success.

    -
    +

    gnutls_x509_crl_get_dn_oid ()

    -
    int                 gnutls_x509_crl_get_dn_oid          (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    int                 gnutls_x509_crl_get_dn_oid          (gnutls_x509_crl_t crl,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);

    +This function will extract the requested OID of the name of the CRL +issuer, specified by the given index.

    +

    +If oid is null then only the size will be filled.

    - - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    indx :

    + Specifies which DN OID to send. Use zero to get the first one.

    oid :

    + a pointer to a structure to hold the name (may be null)

    sizeof_oid :

    + initially holds the size of 'oid'

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is +not long enough, and in that case the sizeof_oid will be updated +with the required size. On success 0 is returned.

    -
    +

    gnutls_x509_crl_get_signature_algorithm ()

    -
    int                 gnutls_x509_crl_get_signature_algorithm
    -                                                        (gnutls_x509_crl_t crl);
    +
    int                 gnutls_x509_crl_get_signature_algorithm
    +                                                        (gnutls_x509_crl_t crl);

    -

    +This function will return a value of the gnutls_sign_algorithm_t +enumeration that is the signature algorithm.

    - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_crl_get_signature ()

    -
    int                 gnutls_x509_crl_get_signature       (gnutls_x509_crl_t crl,
    -                                                         char *sig,
    -                                                         size_t *sizeof_sig);
    +
    int                 gnutls_x509_crl_get_signature       (gnutls_x509_crl_t crl,
    +                                                         char *sig,
    +                                                         size_t *sizeof_sig);

    -

    +This function will extract the signature field of a CRL.

    - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    sig :

    + a pointer where the signature part will be copied (may be null).

    sizeof_sig :

    + initially holds the size of sig

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. and a negative value on error.

    -
    +

    gnutls_x509_crl_get_version ()

    -
    int                 gnutls_x509_crl_get_version         (gnutls_x509_crl_t crl);
    +
    int                 gnutls_x509_crl_get_version         (gnutls_x509_crl_t crl);

    -

    +This function will return the version of the specified CRL.

    - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    Returns :

    + The version number, or a negative value on error.

    -
    +

    gnutls_x509_crl_get_this_update ()

    -
    time_t              gnutls_x509_crl_get_this_update     (gnutls_x509_crl_t crl);
    +
    time_t              gnutls_x509_crl_get_this_update     (gnutls_x509_crl_t crl);

    -

    +This function will return the time this CRL was issued.

    - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    Returns :

    + when the CRL was issued, or (time_t)-1 on error.

    -
    +

    gnutls_x509_crl_get_next_update ()

    -
    time_t              gnutls_x509_crl_get_next_update     (gnutls_x509_crl_t crl);
    +
    time_t              gnutls_x509_crl_get_next_update     (gnutls_x509_crl_t crl);

    -

    +This function will return the time the next CRL will be issued. +This field is optional in a CRL so it might be normal to get an +error instead.

    - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    Returns :

    + when the next CRL will be issued, or (time_t)-1 on error.

    -
    +

    gnutls_x509_crl_get_crt_count ()

    -
    int                 gnutls_x509_crl_get_crt_count       (gnutls_x509_crl_t crl);
    +
    int                 gnutls_x509_crl_get_crt_count       (gnutls_x509_crl_t crl);

    -

    +This function will return the number of revoked certificates in the +given CRL.

    - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    Returns :

    + number of certificates, a negative value on failure.

    -
    +

    gnutls_x509_crl_get_crt_serial ()

    -
    int                 gnutls_x509_crl_get_crt_serial      (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         unsigned char *serial,
    -                                                         size_t *serial_size,
    -                                                         time_t *t);
    +
    int                 gnutls_x509_crl_get_crt_serial      (gnutls_x509_crl_t crl,
    +                                                         int indx,
    +                                                         unsigned char *serial,
    +                                                         size_t *serial_size,
    +                                                         time_t *t);

    -

    +This function will retrieve the serial number of the specified, by +the index, revoked certificate.

    - - - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    indx :

    + the index of the certificate to extract (starting from 0)

    serial :

    + where the serial number will be copied

    serial_size :

    + initially holds the size of serial

    t :

    + if non null, will hold the time this certificate was revoked

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. and a negative value on error.

    -
    +

    gnutls_x509_crl_get_certificate_count

    #define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count
     
    -

    -


    -
    +

    gnutls_x509_crl_get_certificate

    #define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial
     
    -

    -


    -
    +

    gnutls_x509_crl_check_issuer ()

    -
    int                 gnutls_x509_crl_check_issuer        (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer);
    +
    int                 gnutls_x509_crl_check_issuer        (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer);

    +This function will check if the given CRL was issued by the +given issuer certificate. It will return true (1) if the given CRL was issued +by the given issuer, and false (0) if not.

    +

    +A negative value is returned in case of an error.

    - - - - - -

    crl :

    + is the CRL to be checked

    issuer :

    -

    Returns :

    + is the certificate of a possible issuer

    -
    +

    gnutls_x509_crl_set_version ()

    -
    int                 gnutls_x509_crl_set_version         (gnutls_x509_crl_t crl,
    -                                                         unsigned int version);
    +
    int                 gnutls_x509_crl_set_version         (gnutls_x509_crl_t crl,
    +                                                         unsigned int version);

    -

    +This function will set the version of the CRL. This +must be one for CRL version 1, and so on. The CRLs generated +by gnutls should have a version number of 2.

    - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    version :

    + holds the version number. For CRLv1 crls must be 1.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_sign ()

    -
    int                 gnutls_x509_crl_sign                (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key);
    +
    int                 gnutls_x509_crl_sign                (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key);

    -

    +This function is the same a gnutls_x509_crl_sign2() with no flags, and +SHA1 as the hash algorithm.

    - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    issuer :

    + is the certificate of the certificate issuer

    issuer_key :

    + holds the issuer's private key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_sign2 ()

    -
    int                 gnutls_x509_crl_sign2               (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t issuer,
    -                                                         gnutls_x509_privkey_t issuer_key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    +
    int                 gnutls_x509_crl_sign2               (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t issuer,
    +                                                         gnutls_x509_privkey_t issuer_key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);

    +This function will sign the CRL with the issuer's private key, and +will copy the issuer's information into the CRL.

    +

    +This must be the last step in a certificate CRL since all +the previously set parameters are now signed.

    - - - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    issuer :

    + is the certificate of the certificate issuer

    issuer_key :

    + holds the issuer's private key

    dig :

    + The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing.

    flags :

    + must be 0

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_set_this_update ()

    -
    int                 gnutls_x509_crl_set_this_update     (gnutls_x509_crl_t crl,
    -                                                         time_t act_time);
    +
    int                 gnutls_x509_crl_set_this_update     (gnutls_x509_crl_t crl,
    +                                                         time_t act_time);

    -

    +This function will set the time this CRL was issued.

    - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    act_time :

    + The actual time

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_set_next_update ()

    -
    int                 gnutls_x509_crl_set_next_update     (gnutls_x509_crl_t crl,
    -                                                         time_t exp_time);
    +
    int                 gnutls_x509_crl_set_next_update     (gnutls_x509_crl_t crl,
    +                                                         time_t exp_time);

    -

    +This function will set the time this CRL will be updated.

    - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    exp_time :

    + The actual time

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_set_crt_serial ()

    -
    int                 gnutls_x509_crl_set_crt_serial      (gnutls_x509_crl_t crl,
    -                                                         const void *serial,
    -                                                         size_t serial_size,
    -                                                         time_t revocation_time);
    +
    int                 gnutls_x509_crl_set_crt_serial      (gnutls_x509_crl_t crl,
    +                                                         const void *serial,
    +                                                         size_t serial_size,
    +                                                         time_t revocation_time);

    -

    +This function will set a revoked certificate's serial number to the CRL.

    - - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    serial :

    + The revoked certificate's serial number

    serial_size :

    + Holds the size of the serial field.

    revocation_time :

    + The time this certificate was revoked

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crl_set_crt ()

    -
    int                 gnutls_x509_crl_set_crt             (gnutls_x509_crl_t crl,
    -                                                         gnutls_x509_crt_t crt,
    -                                                         time_t revocation_time);
    +
    int                 gnutls_x509_crl_set_crt             (gnutls_x509_crl_t crl,
    +                                                         gnutls_x509_crt_t crt,
    +                                                         time_t revocation_time);

    -

    +This function will set a revoked certificate's serial number to the CRL.

    - - - -

    crl :

    + should contain a gnutls_x509_crl_t structure

    crt :

    + should contain a gnutls_x509_crt_t structure with the revoked certificate

    revocation_time :

    + The time this certificate was revoked

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    -

    gnutls_x509_crl_get_authority_key_id ()

    -
    int                 gnutls_x509_crl_get_authority_key_id
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +
    +

    struct gnutls_pkcs7_int

    +
    struct gnutls_pkcs7_int;
    +
    +
    +
    +

    gnutls_pkcs7_t

    +
      typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t;
    +
    +
    +
    +
    +

    gnutls_pkcs7_init ()

    +
    int                 gnutls_pkcs7_init                   (gnutls_pkcs7_t *pkcs7);

    -

    +This function will initialize a PKCS7 structure. PKCS7 structures +usually contain lists of X.509 Certificates and X.509 Certificate +revocation lists.

    - - - - - - - - - - - - - - + -

    crl :

    -

    ret :

    -

    ret_size :

    -

    critical :

    +

    pkcs7 :

    The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crl_get_number ()

    -
    int                 gnutls_x509_crl_get_number          (gnutls_x509_crl_t crl,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *critical);
    +
    +

    gnutls_pkcs7_deinit ()

    +
    void                gnutls_pkcs7_deinit                 (gnutls_pkcs7_t pkcs7);
    +

    +This function will deinitialize a PKCS7 structure.

    +
    ++ + + + +

    pkcs7 :

    The structure to be initialized +
    +
    +
    +
    +

    gnutls_pkcs7_import ()

    +
    int                 gnutls_pkcs7_import                 (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will convert the given DER or PEM encoded PKCS7 to +the native gnutls_pkcs7_t format. The output will be stored in +'pkcs7'.

    +

    +If the PKCS7 is PEM encoded it should have a header of "PKCS7".

    - - - - - - + - - + - - + -

    crl :

    -

    ret :

    +

    pkcs7 :

    The structure to store the parsed PKCS7.

    ret_size :

    +

    data :

    The DER or PEM encoded PKCS7.

    critical :

    +

    format :

    One of DER or PEM

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crl_get_extension_oid ()

    -
    int                 gnutls_x509_crl_get_extension_oid   (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    +

    gnutls_pkcs7_export ()

    +
    int                 gnutls_pkcs7_export                 (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will export the pkcs7 structure to DER or PEM format. +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned.

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN PKCS7".

    - - + - - + - - + - - + -

    crl :

    +

    pkcs7 :

    Holds the pkcs7 structure

    indx :

    +

    format :

    the format of output params. One of PEM or DER.

    oid :

    +

    output_data :

    will contain a structure PEM or DER encoded

    sizeof_oid :

    +

    output_data_size :

    holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success.

    -
    -

    gnutls_x509_crl_get_extension_info ()

    -
    int                 gnutls_x509_crl_get_extension_info  (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    +
    +

    gnutls_pkcs7_get_crt_count ()

    +
    int                 gnutls_pkcs7_get_crt_count          (gnutls_pkcs7_t pkcs7);

    -

    +This function will return the number of certifcates in the PKCS7 +or RFC2630 certificate set.

    - - - - - - - - - - - - - - - - - - + -

    crl :

    -

    indx :

    -

    oid :

    -

    sizeof_oid :

    -

    critical :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crl_get_extension_data ()

    -
    int                 gnutls_x509_crl_get_extension_data  (gnutls_x509_crl_t crl,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    +
    +

    gnutls_pkcs7_get_crt_raw ()

    +
    int                 gnutls_pkcs7_get_crt_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         int indx,
    +                                                         void *certificate,
    +                                                         size_t *certificate_size);

    +This function will return a certificate of the PKCS7 or RFC2630 +certificate set.

    +

    +After the last certificate has been read +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    - - + - - - + - - + -

    crl :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    indx :

    + contains the index of the certificate to extract

    data :

    +

    certificate :

    the contents of the certificate will be copied + there (may be null)

    sizeof_data :

    +

    certificate_size :

    should hold the size of the certificate

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. If the provided buffer is not long enough, + then certificate_size is updated and + GNUTLS_E_SHORT_MEMORY_BUFFER is returned.

    -
    -

    gnutls_x509_crl_set_authority_key_id ()

    -
    int                 gnutls_x509_crl_set_authority_key_id
    -                                                        (gnutls_x509_crl_t crl,
    -                                                         const void *id,
    -                                                         size_t id_size);
    +
    +

    gnutls_pkcs7_set_crt_raw ()

    +
    int                 gnutls_pkcs7_set_crt_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *crt);

    -

    +This function will add a certificate to the PKCS7 or RFC2630 +certificate set.

    - - - - - - + - - + -

    crl :

    -

    id :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    id_size :

    +

    crt :

    the DER encoded certificate to be added

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crl_set_number ()

    -
    int                 gnutls_x509_crl_set_number          (gnutls_x509_crl_t crl,
    -                                                         const void *nr,
    -                                                         size_t nr_size);
    +
    +

    gnutls_pkcs7_set_crt ()

    +
    int                 gnutls_pkcs7_set_crt                (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crt_t crt);

    -

    +This function will add a parsed certificate to the PKCS7 or +RFC2630 certificate set. This is a wrapper function over +gnutls_pkcs7_set_crt_raw() .

    - - - - - - + - - + -

    crl :

    -

    nr :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    nr_size :

    +

    crt :

    the certificate to be copied.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    struct gnutls_pkcs7_int

    -
    struct gnutls_pkcs7_int;
    -

    -

    -
    -
    -
    -

    gnutls_pkcs7_t

    -
      typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t;
    -
    -

    -

    -
    -
    -
    -

    gnutls_pkcs7_init ()

    -
    int                 gnutls_pkcs7_init                   (gnutls_pkcs7_t *pkcs7);
    +
    +

    gnutls_pkcs7_delete_crt ()

    +
    int                 gnutls_pkcs7_delete_crt             (gnutls_pkcs7_t pkcs7,
    +                                                         int indx);

    -

    +This function will delete a certificate from a PKCS7 or RFC2630 +certificate set. Index starts from 0. Returns 0 on success.

    - - - - - - - - -

    pkcs7 :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_deinit ()

    -
    void                gnutls_pkcs7_deinit                 (gnutls_pkcs7_t pkcs7);
    -

    -

    -
    -- - - - -

    pkcs7 :

    -
    -
    -
    -
    -

    gnutls_pkcs7_import ()

    -
    int                 gnutls_pkcs7_import                 (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    pkcs7 :

    -

    data :

    -

    format :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_export ()

    -
    int                 gnutls_pkcs7_export                 (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    pkcs7 :

    -

    format :

    -

    output_data :

    -

    output_data_size :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_get_crt_count ()

    -
    int                 gnutls_pkcs7_get_crt_count          (gnutls_pkcs7_t pkcs7);
    -

    -

    -
    -- - - - - - - - - - -

    pkcs7 :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_get_crt_raw ()

    -
    int                 gnutls_pkcs7_get_crt_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         int indx,
    -                                                         void *certificate,
    -                                                         size_t *certificate_size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    pkcs7 :

    -

    indx :

    -

    certificate :

    -

    certificate_size :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_set_crt_raw ()

    -
    int                 gnutls_pkcs7_set_crt_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *crt);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    pkcs7 :

    -

    crt :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_set_crt ()

    -
    int                 gnutls_pkcs7_set_crt                (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crt_t crt);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    pkcs7 :

    -

    crt :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_pkcs7_delete_crt ()

    -
    int                 gnutls_pkcs7_delete_crt             (gnutls_pkcs7_t pkcs7,
    -                                                         int indx);
    -

    -

    -
    -- - - - + - -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    indx :

    + the index of the certificate to delete

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_pkcs7_get_crl_raw ()

    -
    int                 gnutls_pkcs7_get_crl_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         int indx,
    -                                                         void *crl,
    -                                                         size_t *crl_size);
    +
    int                 gnutls_pkcs7_get_crl_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         int indx,
    +                                                         void *crl,
    +                                                         size_t *crl_size);

    -

    +This function will return a crl of the PKCS7 or RFC2630 crl set.

    - - + - - - -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    indx :

    + contains the index of the crl to extract

    crl :

    + the contents of the crl will be copied there (may be null)

    crl_size :

    + should hold the size of the crl

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. If the provided buffer is not long enough, + then crl_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER is + returned. After the last crl has been read + GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.

    -
    +

    gnutls_pkcs7_get_crl_count ()

    -
    int                 gnutls_pkcs7_get_crl_count          (gnutls_pkcs7_t pkcs7);
    +
    int                 gnutls_pkcs7_get_crl_count          (gnutls_pkcs7_t pkcs7);

    -

    +This function will return the number of certifcates in the PKCS7 +or RFC2630 crl set.

    - - + -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_pkcs7_set_crl_raw ()

    -
    int                 gnutls_pkcs7_set_crl_raw            (gnutls_pkcs7_t pkcs7,
    -                                                         const gnutls_datum_t *crl);
    +
    int                 gnutls_pkcs7_set_crl_raw            (gnutls_pkcs7_t pkcs7,
    +                                                         const gnutls_datum_t *crt);

    -

    +This function will add a crl to the PKCS7 or RFC2630 crl set.

    - - + - -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    crl :

    + the DER encoded crl to be added

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_pkcs7_set_crl ()

    -
    int                 gnutls_pkcs7_set_crl                (gnutls_pkcs7_t pkcs7,
    -                                                         gnutls_x509_crl_t crl);
    +
    int                 gnutls_pkcs7_set_crl                (gnutls_pkcs7_t pkcs7,
    +                                                         gnutls_x509_crl_t crl);

    -

    +This function will add a parsed CRL to the PKCS7 or RFC2630 crl +set.

    - - + - -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    crl :

    + the DER encoded crl to be added

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_pkcs7_delete_crl ()

    -
    int                 gnutls_pkcs7_delete_crl             (gnutls_pkcs7_t pkcs7,
    -                                                         int indx);
    +
    int                 gnutls_pkcs7_delete_crl             (gnutls_pkcs7_t pkcs7,
    +                                                         int indx);

    -

    +This function will delete a crl from a PKCS7 or RFC2630 crl set. +Index starts from 0. Returns 0 on success.

    - - + - -

    pkcs7 :

    +

    pkcs7_struct :

    should contain a gnutls_pkcs7_t structure

    indx :

    + the index of the crl to delete

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    enum gnutls_certificate_verify_flags

      typedef enum gnutls_certificate_verify_flags
       {
    @@ -5156,362 +5097,400 @@
     
         /* Allow certificates to be signed using the broken MD5 algorithm.
          */
    -    GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5 = 32,
    -
    -    /* Disable checking of activation and expiration validity
    -     * periods of certificate chains. Don't set this unless you
    -     * understand the security implications.
    -     */
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS = 64
    +    GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5 = 32
       } gnutls_certificate_verify_flags;
     
    -

    -


    -
    +

    gnutls_x509_crt_check_issuer ()

    -
    int                 gnutls_x509_crt_check_issuer        (gnutls_x509_crt_t cert,
    -                                                         gnutls_x509_crt_t issuer);
    +
    int                 gnutls_x509_crt_check_issuer        (gnutls_x509_crt_t cert,
    +                                                         gnutls_x509_crt_t issuer);

    +This function will check if the given certificate was issued by the +given issuer. It will return true (1) if the given certificate is issued +by the given issuer, and false (0) if not.

    +

    +A negative value is returned in case of an error.

    - - - - - -

    cert :

    + is the certificate to be checked

    issuer :

    -

    Returns :

    + is the certificate of a possible issuer

    -
    +

    gnutls_x509_crt_list_verify ()

    -
    int                 gnutls_x509_crt_list_verify         (const gnutls_x509_crt_t *cert_list,
    -                                                         int cert_list_length,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         const gnutls_x509_crl_t *CRL_list,
    -                                                         int CRL_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    +
    int                 gnutls_x509_crt_list_verify         (const gnutls_x509_crt_t *cert_list,
    +                                                         int cert_list_length,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         const gnutls_x509_crl_t *CRL_list,
    +                                                         int CRL_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +

    +This function will try to verify the given certificate list and return its status. +Note that expiration and activation dates are not checked +by this function, you should check them using the appropriate functions. +

    +

    +If no flags are specified (0), this function will use the +basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate +authority is allowed to sign a certificate. +

    +

    +You must also check the peer's name in order to check if the verified +certificate belongs to the actual peer. +

    +

    +The certificate verification output will be put in verify and will be +one or more of the gnutls_certificate_status_t enumerated elements bitwise or'd. +For a more detailed verification status use gnutls_x509_crt_verify() per list +element. +

    +GNUTLS_CERT_INVALID: the certificate chain is not valid.

    +

    +GNUTLS_CERT_REVOKED: a certificate in the chain has been revoked.

    - - - - - - - - -

    cert_list :

    + is the certificate list to be verified

    cert_list_length :

    + holds the number of certificate in cert_list

    CA_list :

    + is the CA list which will be used in verification

    CA_list_length :

    + holds the number of CA certificate in CA_list

    CRL_list :

    + holds a list of CRLs.

    CRL_list_length :

    + the length of CRL list.

    flags :

    + Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.

    verify :

    + will hold the certificate verification output.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    gnutls_x509_crt_verify ()

    -
    int                 gnutls_x509_crt_verify              (gnutls_x509_crt_t cert,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    +
    int                 gnutls_x509_crt_verify              (gnutls_x509_crt_t cert,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);

    -

    +This function will try to verify the given certificate and return its status. +The verification output in this functions cannot be GNUTLS_CERT_NOT_VALID.

    - - - - - -

    cert :

    + is the certificate to be verified

    CA_list :

    + is one certificate that is considered to be trusted one

    CA_list_length :

    + holds the number of CA certificate in CA_list

    flags :

    + Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.

    verify :

    + will hold the certificate verification output.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    gnutls_x509_crl_verify ()

    -
    int                 gnutls_x509_crl_verify              (gnutls_x509_crl_t crl,
    -                                                         const gnutls_x509_crt_t *CA_list,
    -                                                         int CA_list_length,
    -                                                         unsigned int flags,
    -                                                         unsigned int *verify);
    -

    -

    +
    int                 gnutls_x509_crl_verify              (gnutls_x509_crl_t crl,
    +                                                         const gnutls_x509_crt_t *CA_list,
    +                                                         int CA_list_length,
    +                                                         unsigned int flags,
    +                                                         unsigned int *verify);
    +

    +This function will try to verify the given crl and return its status. +See gnutls_x509_crt_list_verify() for a detailed description of +return values.

    - - - - - -

    crl :

    + is the crl to be verified

    CA_list :

    + is a certificate list that is considered to be trusted one

    CA_list_length :

    + holds the number of CA certificates in CA_list

    flags :

    + Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.

    verify :

    + will hold the crl verification output.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.and a negative value in case of an error. +

    -
    +

    gnutls_x509_crt_check_revocation ()

    -
    int                 gnutls_x509_crt_check_revocation    (gnutls_x509_crt_t cert,
    -                                                         const gnutls_x509_crl_t *crl_list,
    -                                                         int crl_list_length);
    +
    int                 gnutls_x509_crt_check_revocation    (gnutls_x509_crt_t cert,
    +                                                         const gnutls_x509_crl_t *crl_list,
    +                                                         int crl_list_length);

    -

    +This function will return check if the given certificate is +revoked. It is assumed that the CRLs have been verified before.

    - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    crl_list :

    + should contain a list of gnutls_x509_crl_t structures

    crl_list_length :

    + the length of the crl_list

    Returns :

    + 0 if the certificate is NOT revoked, and 1 if it is. A +negative value is returned on error.

    -
    +

    gnutls_x509_crt_get_fingerprint ()

    -
    int                 gnutls_x509_crt_get_fingerprint     (gnutls_x509_crt_t cert,
    -                                                         gnutls_digest_algorithm_t algo,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crt_get_fingerprint     (gnutls_x509_crt_t cert,
    +                                                         gnutls_digest_algorithm_t algo,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);

    +This function will calculate and copy the certificate's fingerprint +in the provided buffer.

    +

    +If the buffer is null then only the size will be filled.

    - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    algo :

    + is a digest algorithm

    buf :

    + a pointer to a structure to hold the fingerprint (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is +not long enough, and in that case the *sizeof_buf will be updated +with the required size. On success 0 is returned.

    -
    +

    gnutls_x509_crt_get_key_purpose_oid ()

    -
    int                 gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         unsigned int *critical);
    +
    int                 gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid,
    +                                                         unsigned int *critical);

    +This function will extract the key purpose OIDs of the Certificate +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names.

    +

    +If oid is null then only the size will be filled.

    - - - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    indx :

    + This specifies which OID to return. Use zero to get the first one.

    oid :

    + a pointer to a buffer to hold the OID (may be null)

    sizeof_oid :

    -

    critical :

    + initially holds the size of oid

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is +not long enough, and in that case the *sizeof_oid will be updated +with the required size. On success 0 is returned.

    -
    +

    gnutls_x509_crt_set_key_purpose_oid ()

    -
    int                 gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert,
    -                                                         const void *oid,
    -                                                         unsigned int critical);
    +
    int                 gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert,
    +                                                         const void *oid,
    +                                                         unsigned int critical);
    +

    +This function will set the key purpose OIDs of the Certificate. +These are stored in the Extended Key Usage extension (2.5.29.37) +See the GNUTLS_KP_* definitions for human readable names. +

    +Subsequent calls to this function will append OIDs to the OID list.

    +

    +On success 0 is returned.

    - - - - - - -

    cert :

    + should contain a gnutls_x509_crt_t structure

    oid :

    + a pointer to a null terminated string that holds the OID

    critical :

    -

    Returns :

    + Whether this extension will be critical or not

    -
    +

    enum gnutls_pkcs_encrypt_flags_t

      typedef enum gnutls_pkcs_encrypt_flags_t
       {
    -    GNUTLS_PKCS_PLAIN = 1, /* if set the private key will not
    +    GNUTLS_PKCS_PLAIN = 1,	/* if set the private key will not
     				 * be encrypted.
     				 */
         GNUTLS_PKCS_USE_PKCS12_3DES = 2,
    @@ -5520,2259 +5499,1606 @@
         GNUTLS_PKCS_USE_PBES2_3DES = 16
       } gnutls_pkcs_encrypt_flags_t;
     
    -

    -


    -
    +

    GNUTLS_PKCS8_PLAIN

    #define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN
     
    -

    -


    -
    +

    GNUTLS_PKCS8_USE_PKCS12_3DES

    #define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_USE_PKCS12_3DES
     
    -

    -


    -
    +

    GNUTLS_PKCS8_USE_PKCS12_ARCFOUR

    #define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_USE_PKCS12_ARCFOUR
     
    -

    -


    -
    +

    GNUTLS_PKCS8_USE_PKCS12_RC2_40

    #define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_USE_PKCS12_RC2_40
     
    -

    -


    -
    +

    gnutls_x509_privkey_init ()

    -
    int                 gnutls_x509_privkey_init            (gnutls_x509_privkey_t *key);
    +
    int                 gnutls_x509_privkey_init            (gnutls_x509_privkey_t *key);

    -

    +This function will initialize an private key structure.

    - -

    key :

    + The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_deinit ()

    -
    void                gnutls_x509_privkey_deinit          (gnutls_x509_privkey_t key);
    +
    void                gnutls_x509_privkey_deinit          (gnutls_x509_privkey_t key);

    -

    +This function will deinitialize a private key structure.

    -

    key :

    + The structure to be initialized

    -
    +

    gnutls_x509_privkey_cpy ()

    -
    int                 gnutls_x509_privkey_cpy             (gnutls_x509_privkey_t dst,
    -                                                         gnutls_x509_privkey_t src);
    +
    int                 gnutls_x509_privkey_cpy             (gnutls_x509_privkey_t dst,
    +                                                         gnutls_x509_privkey_t src);

    -

    +This function will copy a private key from source to destination +key.

    - - -

    dst :

    + The destination key, which should be initialized.

    src :

    + The source key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_import ()

    -
    int                 gnutls_x509_privkey_import          (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);
    +
    int                 gnutls_x509_privkey_import          (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will convert the given DER or PEM encoded key to the +native gnutls_x509_privkey_t format. The output will be stored in +key .

    +

    +If the key is PEM encoded it should have a header of "RSA PRIVATE +KEY", or "DSA PRIVATE KEY".

    - - - -

    key :

    + The structure to store the parsed key

    data :

    + The DER or PEM encoded certificate.

    format :

    + One of DER or PEM

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_import_pkcs8 ()

    -
    int                 gnutls_x509_privkey_import_pkcs8    (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags);
    +
    int                 gnutls_x509_privkey_import_pkcs8    (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         const char *pass,
    +                                                         unsigned int flags);

    +This function will convert the given DER or PEM encoded PKCS8 2.0 encrypted key +to the native gnutls_x509_privkey_t format. The output will be stored in key. +Both RSA and DSA keys can be imported, and flags can only be used to indicate +an unencrypted key.

    +

    +The password can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas. +

    +

    +If the Certificate is PEM encoded it should have a header of "ENCRYPTED PRIVATE KEY", +or "PRIVATE KEY". You only need to specify the flags if the key is DER encoded, since +in that case the encryption status cannot be auto-detected.

    - - - - - -

    key :

    + The structure to store the parsed key

    data :

    + The DER or PEM encoded key.

    format :

    + One of DER or PEM

    password :

    + the password to decrypt the key (if it is encrypted).

    flags :

    + 0 if encrypted or GNUTLS_PKCS_PLAIN if not encrypted.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_privkey_import_rsa_raw ()

    -
    int                 gnutls_x509_privkey_import_rsa_raw  (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e,
    -                                                         const gnutls_datum_t *d,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *u);
    -

    -

    +
    int                 gnutls_x509_privkey_import_rsa_raw  (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *m,
    +                                                         const gnutls_datum_t *e,
    +                                                         const gnutls_datum_t *d,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *u);
    +

    +This function will convert the given RSA raw parameters to the +native gnutls_x509_privkey_t format. The output will be stored in +key.

    - - - - - - - -

    key :

    + The structure to store the parsed key

    m :

    + holds the modulus

    e :

    + holds the public exponent

    d :

    + holds the private exponent

    p :

    + holds the first prime (p)

    q :

    + holds the second prime (q)

    u :

    + holds the coefficient

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_fix ()

    -
    int                 gnutls_x509_privkey_fix             (gnutls_x509_privkey_t key);
    +
    int                 gnutls_x509_privkey_fix             (gnutls_x509_privkey_t key);

    -

    +This function will recalculate the secondary parameters in a key. +In RSA keys, this can be the coefficient and exponent1,2.

    - -

    key :

    + Holds the key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_export_dsa_raw ()

    -
    int                 gnutls_x509_privkey_export_dsa_raw  (gnutls_x509_privkey_t key,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *g,
    -                                                         gnutls_datum_t *y,
    -                                                         gnutls_datum_t *x);
    +
    int                 gnutls_x509_privkey_export_dsa_raw  (gnutls_x509_privkey_t key,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *g,
    +                                                         gnutls_datum_t *y,
    +                                                         gnutls_datum_t *x);

    -

    +This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - + - - - - - -

    key :

    +

    params :

    a structure that holds the DSA parameters

    p :

    + will hold the p

    q :

    + will hold the q

    g :

    + will hold the g

    y :

    + will hold the y

    x :

    + will hold the x

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_import_dsa_raw ()

    -
    int                 gnutls_x509_privkey_import_dsa_raw  (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *p,
    -                                                         const gnutls_datum_t *q,
    -                                                         const gnutls_datum_t *g,
    -                                                         const gnutls_datum_t *y,
    -                                                         const gnutls_datum_t *x);
    -

    -

    +
    int                 gnutls_x509_privkey_import_dsa_raw  (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *p,
    +                                                         const gnutls_datum_t *q,
    +                                                         const gnutls_datum_t *g,
    +                                                         const gnutls_datum_t *y,
    +                                                         const gnutls_datum_t *x);
    +

    +This function will convert the given DSA raw parameters to the +native gnutls_x509_privkey_t format. The output will be stored +in key.

    - - - - - - -

    key :

    + The structure to store the parsed key

    p :

    + holds the p

    q :

    + holds the q

    g :

    + holds the g

    y :

    + holds the y

    x :

    + holds the x

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_get_pk_algorithm ()

    -
    int                 gnutls_x509_privkey_get_pk_algorithm
    -                                                        (gnutls_x509_privkey_t key);
    +
    int                 gnutls_x509_privkey_get_pk_algorithm
    +                                                        (gnutls_x509_privkey_t key);

    -

    +This function will return the public key algorithm of a private +key.

    - -

    key :

    + should contain a gnutls_x509_privkey_t structure

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error.

    -
    +

    gnutls_x509_privkey_get_key_id ()

    -
    int                 gnutls_x509_privkey_get_key_id      (gnutls_x509_privkey_t key,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -

    +

    int                 gnutls_x509_privkey_get_key_id      (gnutls_x509_privkey_t key,
    +                                                         unsigned int flags,
    +                                                         unsigned char *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will return a unique ID the depends on the public key +parameters. This ID can be used in checking whether a certificate +corresponds to the given key.

    +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.

    - - - - -

    key :

    + Holds the key

    flags :

    + should be 0 for now

    output_data :

    + will contain the key ID

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_generate ()

    -
    int                 gnutls_x509_privkey_generate        (gnutls_x509_privkey_t key,
    -                                                         gnutls_pk_algorithm_t algo,
    -                                                         unsigned int bits,
    -                                                         unsigned int flags);
    +
    int                 gnutls_x509_privkey_generate        (gnutls_x509_privkey_t key,
    +                                                         gnutls_pk_algorithm_t algo,
    +                                                         unsigned int bits,
    +                                                         unsigned int flags);

    -

    +This function will generate a random private key. Note that this +function must be called on an empty private key.

    - - - - -

    key :

    + should contain a gnutls_x509_privkey_t structure

    algo :

    + is one of RSA or DSA.

    bits :

    + the size of the modulus

    flags :

    + unused for now. Must be 0.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_export ()

    -
    int                 gnutls_x509_privkey_export          (gnutls_x509_privkey_t key,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_privkey_export          (gnutls_x509_privkey_t key,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);

    +This function will export the private key to a PKCS1 structure for +RSA keys, or an integer sequence for DSA keys. The DSA keys are in +the same format with the parameters used by openssl.

    -
    +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned. +

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN RSA PRIVATE KEY".

    +
    - - - - -

    key :

    + Holds the key

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a private key PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_export_pkcs8 ()

    -
    int                 gnutls_x509_privkey_export_pkcs8    (gnutls_x509_privkey_t key,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         const char *password,
    -                                                         unsigned int flags,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_privkey_export_pkcs8    (gnutls_x509_privkey_t key,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         const char *password,
    +                                                         unsigned int flags,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);
    +

    +This function will export the private key to a PKCS8 structure. +Both RSA and DSA keys can be exported. For DSA keys we use +PKCS 11 definitions. If the flags do not specify the encryption +cipher, then the default 3DES (PBES2) will be used. +

    +

    +The password can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas. +

    +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.

    +

    +If the structure is PEM encoded, it will have a header +of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if +encryption is not used.

    - - - - - - -

    key :

    + Holds the key

    format :

    + the format of output params. One of PEM or DER.

    password :

    + the password that will be used to encrypt the key.

    flags :

    + an ORed sequence of gnutls_pkcs_encrypt_flags_t

    output_data :

    + will contain a private key PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success. +

    -
    +

    gnutls_x509_privkey_export_rsa_raw ()

    -
    int                 gnutls_x509_privkey_export_rsa_raw  (gnutls_x509_privkey_t key,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e,
    -                                                         gnutls_datum_t *d,
    -                                                         gnutls_datum_t *p,
    -                                                         gnutls_datum_t *q,
    -                                                         gnutls_datum_t *u);
    -

    -

    +
    int                 gnutls_x509_privkey_export_rsa_raw  (gnutls_x509_privkey_t key,
    +                                                         gnutls_datum_t *m,
    +                                                         gnutls_datum_t *e,
    +                                                         gnutls_datum_t *d,
    +                                                         gnutls_datum_t *p,
    +                                                         gnutls_datum_t *q,
    +                                                         gnutls_datum_t *u);
    +

    +This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +gnutls_malloc() and will be stored in the appropriate datum.

    - - - - - - - -

    key :

    + a structure that holds the rsa parameters

    m :

    + will hold the modulus

    e :

    + will hold the public exponent

    d :

    + will hold the private exponent

    p :

    + will hold the first prime (p)

    q :

    + will hold the second prime (q)

    u :

    + will hold the coefficient

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_sign_data ()

    -
    int                 gnutls_x509_privkey_sign_data       (gnutls_x509_privkey_t key,
    -                                                         gnutls_digest_algorithm_t digest,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         void *signature,
    -                                                         size_t *signature_size);
    -

    -

    +
    int                 gnutls_x509_privkey_sign_data       (gnutls_x509_privkey_t key,
    +                                                         gnutls_digest_algorithm_t digest,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         void *signature,
    +                                                         size_t *signature_size);
    +

    +This function will sign the given data using a signature algorithm +supported by the private key. Signature algorithms are always used +together with a hash functions. Different hash functions may be +used for the RSA algorithm, but only SHA-1 for the DSA keys. +

    +

    +If the buffer provided is not long enough to hold the output, then +*signature_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.

    - - - - - - -

    key :

    + Holds the key

    digest :

    + should be MD5 or SHA1

    flags :

    + should be 0 for now

    data :

    + holds the data to be signed

    signature :

    + will contain the signature

    signature_size :

    + holds the size of signature (and will be replaced + by the new size)

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    +

    gnutls_x509_privkey_verify_data ()

    -
    int                 gnutls_x509_privkey_verify_data     (gnutls_x509_privkey_t key,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    +
    int                 gnutls_x509_privkey_verify_data     (gnutls_x509_privkey_t key,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         const gnutls_datum_t *signature);

    -

    +This function will verify the given signed data, using the +parameters in the private key.

    - - - - -

    key :

    + Holds the key

    flags :

    + should be 0 for now

    data :

    + holds the data to be signed

    signature :

    + contains the signature

    Returns :

    + In case of a verification failure 0 is returned, and 1 on +success.

    -
    +

    gnutls_x509_crt_verify_data ()

    -
    int                 gnutls_x509_crt_verify_data         (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *data,
    -                                                         const gnutls_datum_t *signature);
    +
    int                 gnutls_x509_crt_verify_data         (gnutls_x509_crt_t crt,
    +                                                         unsigned int flags,
    +                                                         const gnutls_datum_t *data,
    +                                                         const gnutls_datum_t *signature);

    -

    +This function will verify the given signed data, using the +parameters from the certificate.

    - - - - -

    crt :

    + Holds the certificate

    flags :

    + should be 0 for now

    data :

    + holds the data to be signed

    signature :

    + contains the signature

    Returns :

    + In case of a verification failure 0 is returned, and 1 on +success.

    -
    -

    gnutls_x509_crt_verify_hash ()

    -
    int                 gnutls_x509_crt_verify_hash         (gnutls_x509_crt_t crt,
    -                                                         unsigned int flags,
    -                                                         const gnutls_datum_t *hash,
    -                                                         const gnutls_datum_t *signature);
    +
    +

    gnutls_x509_privkey_sign_hash ()

    +
    int                 gnutls_x509_privkey_sign_hash       (gnutls_x509_privkey_t key,
    +                                                         const gnutls_datum_t *hash,
    +                                                         gnutls_datum_t *signature);

    -

    +This function will sign the given hash using the private key.

    - - - - - - + - - -

    crt :

    -

    flags :

    +

    key :

    Holds the key

    hash :

    + holds the data to be signed

    signature :

    + will contain newly allocated signature

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    -
    -

    gnutls_x509_crt_get_verify_algorithm ()

    -
    int                 gnutls_x509_crt_get_verify_algorithm
    -                                                        (gnutls_x509_crt_t crt,
    -                                                         const gnutls_datum_t *signature,
    -                                                         gnutls_digest_algorithm_t *hash);
    +
    +

    struct gnutls_x509_crq_int

    +
    struct gnutls_x509_crq_int;
    +
    +
    +
    +

    gnutls_x509_crq_t

    +
      typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t;
    +
    +
    +
    +
    +

    gnutls_x509_crq_init ()

    +
    int                 gnutls_x509_crq_init                (gnutls_x509_crq_t *crq);

    -

    +This function will initialize a PKCS10 certificate request structure.

    - - - - - - - - - - + -

    crt :

    -

    signature :

    -

    hash :

    +

    crq :

    The structure to be initialized

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    -

    gnutls_x509_privkey_sign_hash ()

    -
    int                 gnutls_x509_privkey_sign_hash       (gnutls_x509_privkey_t key,
    -                                                         const gnutls_datum_t *hash,
    -                                                         gnutls_datum_t *signature);
    +
    +

    gnutls_x509_crq_deinit ()

    +
    void                gnutls_x509_crq_deinit              (gnutls_x509_crq_t crq);

    -

    +This function will deinitialize a CRL structure.

    - - - - - - - - - - - - - - - - + + - - +

    key :

    -

    hash :

    -

    signature :

    -

    Returns :

    +

    crq :

    The structure to be initialized

    -
    -

    struct gnutls_x509_crq_int

    -
    struct gnutls_x509_crq_int;
    -

    -

    -
    -
    -
    -

    gnutls_x509_crq_t

    -
      typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t;
    -
    +
    +

    gnutls_x509_crq_import ()

    +
    int                 gnutls_x509_crq_import              (gnutls_x509_crq_t crq,
    +                                                         const gnutls_datum_t *data,
    +                                                         gnutls_x509_crt_fmt_t format);

    +This function will convert the given DER or PEM encoded Certificate +to the native gnutls_x509_crq_t format. The output will be stored in cert.

    -
    -
    -
    -

    gnutls_x509_crq_print ()

    -
    int                 gnutls_x509_crq_print               (gnutls_x509_crq_t crq,
    -                                                         gnutls_certificate_print_formats_t format,
    -                                                         gnutls_datum_t *out);

    -

    +If the Certificate is PEM encoded it should have a header of "NEW CERTIFICATE REQUEST".

    - - - - - - - - - - - + - -

    crq :

    -

    format :

    -

    out :

    + The structure to store the parsed certificate request.

    Returns :

    +

    data :

    The DER or PEM encoded certificate.
    -
    -
    -
    -

    gnutls_x509_crq_init ()

    -
    int                 gnutls_x509_crq_init                (gnutls_x509_crq_t *crq);
    -

    -

    -
    -- - - + -

    crq :

    +

    format :

    One of DER or PEM

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    -

    gnutls_x509_crq_deinit ()

    -
    void                gnutls_x509_crq_deinit              (gnutls_x509_crq_t crq);
    +
    +

    gnutls_x509_crq_get_pk_algorithm ()

    +
    int                 gnutls_x509_crq_get_pk_algorithm    (gnutls_x509_crq_t crq,
    +                                                         unsigned int *bits);

    +This function will return the public key algorithm of a PKCS \10 +certificate request.

    -
    -- - - - -

    crq :

    -
    -
    -
    -
    -

    gnutls_x509_crq_import ()

    -
    int                 gnutls_x509_crq_import              (gnutls_x509_crq_t crq,
    -                                                         const gnutls_datum_t *data,
    -                                                         gnutls_x509_crt_fmt_t format);

    -

    +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent.

    - - - - - - - + -

    crq :

    -

    data :

    + should contain a gnutls_x509_crq_t structure

    format :

    +

    bits :

    if bits is non null it will hold the size of the parameters' in bits

    Returns :

    + a member of the gnutls_pk_algorithm_t enumeration on + success, or a negative value on error.

    -
    +

    gnutls_x509_crq_get_dn ()

    -
    int                 gnutls_x509_crq_get_dn              (gnutls_x509_crq_t crq,
    -                                                         char *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crq_get_dn              (gnutls_x509_crq_t crq,
    +                                                         char *buf,
    +                                                         size_t *sizeof_buf);

    +This function will copy the name of the Certificate request +subject in the provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data.

    +

    +If buf is null then only the size will be filled.

    - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crq_get_dn_oid ()

    -
    int                 gnutls_x509_crq_get_dn_oid          (gnutls_x509_crq_t crq,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    +
    int                 gnutls_x509_crq_get_dn_oid          (gnutls_x509_crq_t crq,
    +                                                         int indx,
    +                                                         void *oid,
    +                                                         size_t *sizeof_oid);

    +This function will extract the requested OID of the name of the +Certificate request subject, specified by the given index.

    +

    +If oid is null then only the size will be filled.

    - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    indx :

    + Specifies which DN OID to send. Use zero to get the first one.

    oid :

    + a pointer to a structure to hold the name (may be null)

    sizeof_oid :

    + initially holds the size of oid

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_oid will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crq_get_dn_by_oid ()

    -
    int                 gnutls_x509_crq_get_dn_by_oid       (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         unsigned int raw_flag,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    -

    +

    int                 gnutls_x509_crq_get_dn_by_oid       (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         unsigned int raw_flag,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);
    +

    +This function will extract the part of the name of the Certificate +request subject, specified by the given OID. The output will be +encoded as described in RFC2253. The output string will be ASCII +or UTF-8 encoded, depending on the certificate data. +

    +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '\#' prefix. You can check about known OIDs +using gnutls_x509_dn_oid_known().

    +

    +If buf is null then only the size will be filled.

    - - - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the RDN, this specifies + which to send. Use zero to get the first one.

    raw_flag :

    + If non zero returns the raw DER data of the DN part.

    buf :

    + a pointer to a structure to hold the name (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +

    -
    +

    gnutls_x509_crq_set_dn_by_oid ()

    -
    int                 gnutls_x509_crq_set_dn_by_oid       (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         unsigned int raw_flag,
    -                                                         const void *data,
    -                                                         unsigned int sizeof_data);
    -

    +

    int                 gnutls_x509_crq_set_dn_by_oid       (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         unsigned int raw_flag,
    +                                                         const void *name,
    +                                                         unsigned int sizeof_name);
    +

    +This function will set the part of the name of the Certificate request subject, specified +by the given OID. The input string should be ASCII or UTF-8 encoded.

    +

    +Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set.

    - - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    oid :

    + holds an Object Identifier in a null terminated string

    raw_flag :

    + must be 0, or 1 if the data are DER encoded

    data :

    + a pointer to the input data

    sizeof_data :

    + holds the size of data

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_set_version ()

    -
    int                 gnutls_x509_crq_set_version         (gnutls_x509_crq_t crq,
    -                                                         unsigned int version);
    +
    int                 gnutls_x509_crq_set_version         (gnutls_x509_crq_t crq,
    +                                                         unsigned int version);

    -

    +This function will set the version of the certificate request. For +version 1 requests this must be one.

    - - - - - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    version :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_version ()

    -
    int                 gnutls_x509_crq_get_version         (gnutls_x509_crq_t crq);
    -

    -

    -
    -- - - - -

    crq :

    + holds the version number. For v1 Requests must be 1.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_set_key ()

    -
    int                 gnutls_x509_crq_set_key             (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key);
    +
    int                 gnutls_x509_crq_set_key             (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key);

    -

    +This function will set the public parameters from the given private key to the +request. Only RSA keys are currently supported.

    - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    key :

    + holds a private key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_sign2 ()

    -
    int                 gnutls_x509_crq_sign2               (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key,
    -                                                         gnutls_digest_algorithm_t dig,
    -                                                         unsigned int flags);
    -

    +

    int                 gnutls_x509_crq_sign2               (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key,
    +                                                         gnutls_digest_algorithm_t ,
    +                                                         unsigned int flags);
    +

    +This function will sign the certificate request with a private key. +This must be the same key as the one used in +gnutls_x509_crt_set_key() since a certificate request is self +signed.

    +

    +This must be the last step in a certificate request generation +since all the previously set parameters are now signed.

    - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    key :

    + holds a private key

    dig :

    + The message digest to use, GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing.

    flags :

    + must be 0

    Returns :

    + GNUTLS_E_SUCCESS on success, otherwise an error. +GNUTLS_E_ASN1_VALUE_NOT_FOUND is returned if you didn't set all +information in the certificate request (e.g., the version using +gnutls_x509_crq_set_version()). +

    -
    +

    gnutls_x509_crq_sign ()

    -
    int                 gnutls_x509_crq_sign                (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_privkey_t key);
    +
    int                 gnutls_x509_crq_sign                (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_privkey_t key);

    -

    +This function is the same a gnutls_x509_crq_sign2() with no flags, and +SHA1 as the hash algorithm.

    - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    key :

    + holds a private key

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_set_challenge_password ()

    -
    int                 gnutls_x509_crq_set_challenge_password
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *pass);
    +
    int                 gnutls_x509_crq_set_challenge_password
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *pass);

    -

    +This function will set a challenge password to be used when revoking the request.

    - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    pass :

    + holds a null terminated password

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_get_challenge_password ()

    -
    int                 gnutls_x509_crq_get_challenge_password
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         char *pass,
    -                                                         size_t *sizeof_pass);
    +
    int                 gnutls_x509_crq_get_challenge_password
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         char *pass,
    +                                                         size_t *sizeof_pass);

    -

    +This function will return the challenge password in the +request.

    - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    pass :

    + will hold a null terminated password

    sizeof_pass :

    + Initially holds the size of pass.

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_set_attribute_by_oid ()

    -
    int                 gnutls_x509_crq_set_attribute_by_oid
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         void *buf,
    -                                                         size_t sizeof_buf);
    +
    int                 gnutls_x509_crq_set_attribute_by_oid
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         void *buf,
    +                                                         size_t sizeof_buf);

    -

    +This function will set the attribute in the certificate request specified +by the given Object ID. The attribute must be be DER encoded.

    - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    oid :

    + holds an Object Identified in null terminated string

    buf :

    + a pointer to a structure that holds the attribute data

    sizeof_buf :

    + holds the size of buf

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_get_attribute_by_oid ()

    -
    int                 gnutls_x509_crq_get_attribute_by_oid
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf);
    +
    int                 gnutls_x509_crq_get_attribute_by_oid
    +                                                        (gnutls_x509_crq_t crq,
    +                                                         const char *oid,
    +                                                         int indx,
    +                                                         void *buf,
    +                                                         size_t *sizeof_buf);

    -

    +This function will return the attribute in the certificate request specified +by the given Object ID. The attribute will be DER encoded.

    - - - - - -

    crq :

    + should contain a gnutls_x509_crq_t structure

    oid :

    + holds an Object Identified in null terminated string

    indx :

    + In case multiple same OIDs exist in the attribute list, this specifies + which to send. Use zero to get the first one.

    buf :

    + a pointer to a structure to hold the attribute data (may be null)

    sizeof_buf :

    + initially holds the size of buf

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value. +

    -
    +

    gnutls_x509_crq_export ()

    -
    int                 gnutls_x509_crq_export              (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_crt_fmt_t format,
    -                                                         void *output_data,
    -                                                         size_t *output_data_size);
    +
    int                 gnutls_x509_crq_export              (gnutls_x509_crq_t crq,
    +                                                         gnutls_x509_crt_fmt_t format,
    +                                                         void *output_data,
    +                                                         size_t *output_data_size);

    +This function will export the certificate request to a PKCS10

    +

    +If the buffer provided is not long enough to hold the output, then +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned and +*output_data_size will be updated. +

    +

    +If the structure is PEM encoded, it will have a header of "BEGIN +NEW CERTIFICATE REQUEST".

    - - - - -

    crq :

    + Holds the request

    format :

    + the format of output params. One of PEM or DER.

    output_data :

    + will contain a certificate request PEM or DER encoded

    output_data_size :

    + holds the size of output_data (and will be + replaced by the actual size of parameters)

    Returns :

    + In case of failure a negative value will be + returned, and 0 on success. +

    -
    +

    gnutls_x509_crt_set_crq ()

    -
    int                 gnutls_x509_crt_set_crq             (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crq_t crq);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    crt :

    -

    crq :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crt_set_crq_extensions ()

    -
    int                 gnutls_x509_crt_set_crq_extensions  (gnutls_x509_crt_t crt,
    -                                                         gnutls_x509_crq_t crq);
    +
    int                 gnutls_x509_crt_set_crq             (gnutls_x509_crt_t crt,
    +                                                         gnutls_x509_crq_t crq);

    -

    +This function will set the name and public parameters from the +given certificate request to the certificate. Only RSA keys are +currently supported.

    - - - - - - - - - - - -

    crt :

    -

    crq :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_set_key_rsa_raw ()

    -
    int                 gnutls_x509_crq_set_key_rsa_raw     (gnutls_x509_crq_t crq,
    -                                                         const gnutls_datum_t *m,
    -                                                         const gnutls_datum_t *e);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - -

    crq :

    -

    m :

    -

    e :

    -

    Returns :

    + should contain a gnutls_x509_crt_t structure
    -
    -
    -
    -

    gnutls_x509_crq_set_subject_alt_name ()

    -
    int                 gnutls_x509_crq_set_subject_alt_name
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         gnutls_x509_subject_alt_name_t nt,
    -                                                         const void *data,
    -                                                         unsigned int data_size,
    -                                                         unsigned int flags);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - -

    crq :

    -

    nt :

    -

    data :

    -

    data_size :

    -

    flags :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_set_key_usage ()

    -
    int                 gnutls_x509_crq_set_key_usage       (gnutls_x509_crq_t crq,
    -                                                         unsigned int usage);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    crq :

    -

    usage :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_set_basic_constraints ()

    -
    int                 gnutls_x509_crq_set_basic_constraints
    -                                                        (gnutls_x509_crq_t crq,
    -                                                         unsigned int ca,
    -                                                         int pathLenConstraint);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    crq :

    -

    ca :

    -

    pathLenConstraint :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_set_key_purpose_oid ()

    -
    int                 gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert,
    -                                                         const void *oid,
    -                                                         unsigned int critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    cert :

    -

    oid :

    -

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_key_purpose_oid ()

    -
    int                 gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         unsigned int *critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    indx :

    -

    oid :

    -

    sizeof_oid :

    -

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_extension_data ()

    -
    int                 gnutls_x509_crq_get_extension_data  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    indx :

    -

    data :

    -

    sizeof_data :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_extension_info ()

    -
    int                 gnutls_x509_crq_get_extension_info  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid,
    -                                                         int *critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    indx :

    -

    oid :

    -

    sizeof_oid :

    -

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_attribute_data ()

    -
    int                 gnutls_x509_crq_get_attribute_data  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *data,
    -                                                         size_t *sizeof_data);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    indx :

    -

    data :

    -

    sizeof_data :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_attribute_info ()

    -
    int                 gnutls_x509_crq_get_attribute_info  (gnutls_x509_crq_t cert,
    -                                                         int indx,
    -                                                         void *oid,
    -                                                         size_t *sizeof_oid);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    indx :

    -

    oid :

    -

    sizeof_oid :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_pk_algorithm ()

    -
    int                 gnutls_x509_crq_get_pk_algorithm    (gnutls_x509_crq_t crq,
    -                                                         unsigned int *bits);
    -

    -

    -
    -- - - - - - - - - - - - - - -

    crq :

    -

    bits :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_key_id ()

    -
    int                 gnutls_x509_crq_get_key_id          (gnutls_x509_crq_t crq,
    -                                                         unsigned int flags,
    -                                                         unsigned char *output_data,
    -                                                         size_t *output_data_size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    crq :

    -

    flags :

    -

    output_data :

    -

    output_data_size :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_key_rsa_raw ()

    -
    int                 gnutls_x509_crq_get_key_rsa_raw     (gnutls_x509_crq_t crq,
    -                                                         gnutls_datum_t *m,
    -                                                         gnutls_datum_t *e);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    crq :

    -

    m :

    -

    e :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_key_usage ()

    -
    int                 gnutls_x509_crq_get_key_usage       (gnutls_x509_crq_t cert,
    -                                                         unsigned int *key_usage,
    -                                                         unsigned int *critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - -

    cert :

    -

    key_usage :

    -

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_basic_constraints ()

    -
    int                 gnutls_x509_crq_get_basic_constraints
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int *critical,
    -                                                         int *ca,
    -                                                         int *pathlen);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    critical :

    -

    ca :

    -

    pathlen :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_subject_alt_name ()

    -
    int                 gnutls_x509_crq_get_subject_alt_name
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size,
    -                                                         unsigned int *ret_type,
    -                                                         unsigned int *critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    seq :

    -

    ret :

    -

    ret_size :

    -

    ret_type :

    -

    critical :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_subject_alt_othername_oid ()

    -
    int                 gnutls_x509_crq_get_subject_alt_othername_oid
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         unsigned int seq,
    -                                                         void *ret,
    -                                                         size_t *ret_size);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - -

    cert :

    -

    seq :

    -

    ret :

    -

    ret_size :

    -

    Returns :

    -
    -
    -
    -
    -

    gnutls_x509_crq_get_extension_by_oid ()

    -
    int                 gnutls_x509_crq_get_extension_by_oid
    -                                                        (gnutls_x509_crq_t cert,
    -                                                         const char *oid,
    -                                                         int indx,
    -                                                         void *buf,
    -                                                         size_t *sizeof_buf,
    -                                                         unsigned int *critical);
    -

    -

    -
    -- - - - - - - - - - - - - - - - - - - - - - - - - @@ -7782,6 +7108,6 @@ + Generated by GTK-Doc V1.10 - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/index.html gnutls26-2.4.1/doc/reference/html/index.html --- gnutls26-2.8.6/doc/reference/html/index.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/index.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,14 +3,18 @@ GNU TLS API Reference Manual - - + + - + + + + + -
    +

    cert :

    -

    oid :

    -

    indx :

    -

    buf :

    -

    sizeof_buf :

    -

    critical :

    + holds a certificate request

    Returns :

    + On success, GNUTLS_E_SUCCESS is returned, otherwise a + negative error value.

    @@ -34,9 +38,6 @@ openpgp
    -crypto -
    -
    openssl
    @@ -46,12 +47,10 @@
    Index
    Index of deprecated symbols
    Index of new symbols in 2.4.0
    -
    Index of new symbols in 2.6.0
    -
    Index of new symbols in 2.8.0
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/index.sgml gnutls26-2.4.1/doc/reference/html/index.sgml --- gnutls26-2.8.6/doc/reference/html/index.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/index.sgml 2008-06-30 22:15:22.000000000 +0100 @@ -2,12 +2,12 @@ + + + + + - - - - - @@ -72,30 +72,23 @@ - - - - - - - @@ -111,10 +104,6 @@ - - - - @@ -143,13 +132,11 @@ - - + + - - @@ -194,7 +181,6 @@ - @@ -263,7 +249,6 @@ - @@ -452,7 +437,7 @@ - + @@ -476,7 +461,6 @@ - @@ -510,8 +494,6 @@ - - @@ -542,7 +524,6 @@ - @@ -572,7 +553,6 @@ - @@ -589,6 +569,7 @@ + @@ -620,13 +601,6 @@ - - - - - - - @@ -675,21 +649,18 @@ - - - + - @@ -699,25 +670,6 @@ - - - - - - - - - - - - - - - - - - - @@ -826,74 +778,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -932,7 +816,6 @@ - @@ -1032,8 +915,9 @@ - - + + + @@ -1078,8 +962,6 @@ - - @@ -1099,20 +981,13 @@ - - + + - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/html/ix01.html gnutls26-2.4.1/doc/reference/html/ix01.html --- gnutls26-2.8.6/doc/reference/html/ix01.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ix01.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ Index - - + + - + + + + + @@ -19,15 +23,13 @@ -
    +

    -Index

    +Index

    A

    -
    ASN1_API, ASN1_API -
    asn1_array2tree, asn1_array2tree ()
    ASN1_ARRAY_ERROR, ASN1_ARRAY_ERROR @@ -88,10 +90,6 @@
    asn1_get_bit_der, asn1_get_bit_der ()
    -
    asn1_get_length_ber, asn1_get_length_ber () -
    -
    asn1_get_length_der, asn1_get_length_der () -
    asn1_get_octet_der, asn1_get_octet_der ()
    asn1_get_tag_der, asn1_get_tag_der () @@ -100,10 +98,6 @@
    asn1_length_der, asn1_length_der ()
    -
    ASN1_MAX_ERROR_DESCRIPTION_SIZE, ASN1_MAX_ERROR_DESCRIPTION_SIZE -
    -
    ASN1_MAX_NAME_SIZE, ASN1_MAX_NAME_SIZE -
    ASN1_MEM_ALLOC_ERROR, ASN1_MEM_ALLOC_ERROR
    ASN1_MEM_ERROR, ASN1_MEM_ERROR @@ -118,8 +112,6 @@
    asn1_parser2tree, asn1_parser2tree ()
    -
    asn1_perror, asn1_perror () -
    ASN1_PRINT_ALL, ASN1_PRINT_ALL
    ASN1_PRINT_NAME, ASN1_PRINT_NAME @@ -136,8 +128,6 @@
    asn1_retCode, asn1_retCode
    -
    asn1_strerror, asn1_strerror () -
    ASN1_SUCCESS, ASN1_SUCCESS
    ASN1_SYNTAX_ERROR, ASN1_SYNTAX_ERROR @@ -178,8 +168,6 @@
    ASN1_VALUE_NOT_VALID, ASN1_VALUE_NOT_VALID
    -
    ASN1_VERSION, ASN1_VERSION -
    asn1_write_value, asn1_write_value ()
    @@ -187,48 +175,6 @@

    B

    -
    bigint_addm, bigint_addm () -
    -
    bigint_add_ui, bigint_add_ui () -
    -
    bigint_cmp, bigint_cmp () -
    -
    bigint_cmp_ui, bigint_cmp_ui () -
    -
    bigint_div, bigint_div () -
    -
    bigint_generate_group, bigint_generate_group () -
    -
    bigint_mod, bigint_mod () -
    -
    bigint_mul, bigint_mul () -
    -
    bigint_mulm, bigint_mulm () -
    -
    bigint_mul_ui, bigint_mul_ui () -
    -
    bigint_new, bigint_new () -
    -
    bigint_powm, bigint_powm () -
    -
    bigint_prime_check, bigint_prime_check () -
    -
    bigint_print, bigint_print () -
    -
    bigint_release, bigint_release () -
    -
    bigint_scan, bigint_scan () -
    -
    bigint_set, bigint_set () -
    -
    bigint_set_ui, bigint_set_ui () -
    -
    bigint_subm, bigint_subm () -
    -
    bigint_sub_ui, bigint_sub_ui () -
    -
    bigint_t, bigint_t -
    BIO_get_fd, BIO_get_fd ()
    BIO_new_socket, BIO_new_socket () @@ -237,27 +183,12 @@

    C

    -
    -
    copy, copy () -
    -
    current_cert, current_cert -
    -
    -
    -
    -

    D

    -
    -
    decrypt, decrypt () -
    -
    deinit, deinit () -
    -
    +
    current_cert, current_cert +

    E

    -
    encrypt, encrypt () -
    ERR_error_string, ERR_error_string ()
    ERR_get_error, ERR_get_error () @@ -267,8 +198,6 @@

    G

    -
    generate, generate () -
    gnutls_alert_description_t, enum gnutls_alert_description_t
    gnutls_alert_get, gnutls_alert_get () @@ -303,8 +232,6 @@
    gnutls_auth_server_get_type, gnutls_auth_server_get_type ()
    -
    gnutls_bigint_format_t, enum gnutls_bigint_format_t -
    gnutls_bye, gnutls_bye ()
    gnutls_calloc, gnutls_calloc @@ -393,8 +320,6 @@
    gnutls_certificate_set_x509_simple_pkcs12_file, gnutls_certificate_set_x509_simple_pkcs12_file ()
    -
    gnutls_certificate_set_x509_simple_pkcs12_mem, gnutls_certificate_set_x509_simple_pkcs12_mem () -
    gnutls_certificate_set_x509_trust, gnutls_certificate_set_x509_trust ()
    gnutls_certificate_set_x509_trust_file, gnutls_certificate_set_x509_trust_file () @@ -493,48 +418,6 @@
    GNUTLS_CRL_REASON_UNUSED, GNUTLS_CRL_REASON_UNUSED
    -
    GNUTLS_CRYPTO_API_VERSION, GNUTLS_CRYPTO_API_VERSION -
    -
    gnutls_crypto_bigint_register, gnutls_crypto_bigint_register() -
    -
    gnutls_crypto_bigint_register2, gnutls_crypto_bigint_register2 () -
    -
    gnutls_crypto_cipher_register, gnutls_crypto_cipher_register() -
    -
    gnutls_crypto_cipher_register2, gnutls_crypto_cipher_register2 () -
    -
    gnutls_crypto_digest_register, gnutls_crypto_digest_register() -
    -
    gnutls_crypto_digest_register2, gnutls_crypto_digest_register2 () -
    -
    gnutls_crypto_digest_st, gnutls_crypto_digest_st -
    -
    gnutls_crypto_mac_register, gnutls_crypto_mac_register() -
    -
    gnutls_crypto_mac_register2, gnutls_crypto_mac_register2 () -
    -
    gnutls_crypto_pk_register, gnutls_crypto_pk_register() -
    -
    gnutls_crypto_pk_register2, gnutls_crypto_pk_register2 () -
    -
    gnutls_crypto_rnd_register, gnutls_crypto_rnd_register() -
    -
    gnutls_crypto_rnd_register2, gnutls_crypto_rnd_register2 () -
    -
    gnutls_crypto_single_cipher_register, gnutls_crypto_single_cipher_register() -
    -
    gnutls_crypto_single_cipher_register2, gnutls_crypto_single_cipher_register2 () -
    -
    gnutls_crypto_single_digest_register, gnutls_crypto_single_digest_register() -
    -
    gnutls_crypto_single_digest_register2, gnutls_crypto_single_digest_register2 () -
    -
    gnutls_crypto_single_digest_st, gnutls_crypto_single_digest_st -
    -
    gnutls_crypto_single_mac_register, gnutls_crypto_single_mac_register() -
    -
    gnutls_crypto_single_mac_register2, gnutls_crypto_single_mac_register2 () -
    gnutls_db_check_entry, gnutls_db_check_entry ()
    gnutls_db_get_ptr, gnutls_db_get_ptr () @@ -595,24 +478,12 @@
    GNUTLS_DIG_SHA, GNUTLS_DIG_SHA
    -
    gnutls_direction_t, enum gnutls_direction_t -
    gnutls_error_is_fatal, gnutls_error_is_fatal ()
    gnutls_error_to_alert, gnutls_error_to_alert ()
    gnutls_extra_check_version, gnutls_extra_check_version ()
    -
    GNUTLS_EXTRA_VERSION, GNUTLS_EXTRA_VERSION -
    -
    gnutls_ext_parse_type_t, enum gnutls_ext_parse_type_t -
    -
    gnutls_ext_recv_func, gnutls_ext_recv_func () -
    -
    gnutls_ext_register, gnutls_ext_register () -
    -
    gnutls_ext_send_func, gnutls_ext_send_func () -
    GNUTLS_E_AGAIN, GNUTLS_E_AGAIN
    GNUTLS_E_APPLICATION_ERROR_MAX, GNUTLS_E_APPLICATION_ERROR_MAX @@ -831,16 +702,10 @@
    gnutls_fingerprint, gnutls_fingerprint ()
    -
    gnutls_finished_callback_func, gnutls_finished_callback_func () -
    gnutls_free, gnutls_free
    gnutls_free_function, gnutls_free_function ()
    -
    GNUTLS_FSAN_APPEND, GNUTLS_FSAN_APPEND -
    -
    GNUTLS_FSAN_SET, GNUTLS_FSAN_SET -
    gnutls_global_deinit, gnutls_global_deinit ()
    gnutls_global_init, gnutls_global_init () @@ -987,12 +852,8 @@
    gnutls_malloc, gnutls_malloc
    -
    GNUTLS_MASTER_SIZE, GNUTLS_MASTER_SIZE -
    GNUTLS_MAX_ALGORITHM_NUM, GNUTLS_MAX_ALGORITHM_NUM
    -
    GNUTLS_MAX_PK_PARAMS, GNUTLS_MAX_PK_PARAMS -
    GNUTLS_MAX_SESSION_ID, GNUTLS_MAX_SESSION_ID
    GNUTLS_OID_LDAP_DC, GNUTLS_OID_LDAP_DC @@ -1303,18 +1164,6 @@
    gnutls_pk_algorithm_t, enum gnutls_pk_algorithm_t
    -
    gnutls_pk_flag_t, enum gnutls_pk_flag_t -
    -
    gnutls_pk_get_id, gnutls_pk_get_id () -
    -
    gnutls_pk_get_name, gnutls_pk_get_name () -
    -
    gnutls_pk_list, gnutls_pk_list () -
    -
    gnutls_pk_params_init, gnutls_pk_params_init () -
    -
    gnutls_pk_params_release, gnutls_pk_params_release () -
    gnutls_prf, gnutls_prf ()
    gnutls_prf_raw, gnutls_prf_raw () @@ -1379,8 +1228,6 @@
    gnutls_push_func, gnutls_push_func ()
    -
    GNUTLS_RANDOM_SIZE, GNUTLS_RANDOM_SIZE -
    gnutls_read, gnutls_read
    gnutls_realloc, gnutls_realloc @@ -1401,12 +1248,8 @@
    gnutls_record_set_max_size, gnutls_record_set_max_size ()
    -
    gnutls_register_md5_handler, gnutls_register_md5_handler () -
    gnutls_rehandshake, gnutls_rehandshake ()
    -
    gnutls_rnd_level_t, enum gnutls_rnd_level_t -
    gnutls_rsa_export_get_modulus_bits, gnutls_rsa_export_get_modulus_bits ()
    gnutls_rsa_export_get_pubkey, gnutls_rsa_export_get_pubkey () @@ -1459,8 +1302,6 @@
    gnutls_session_set_data, gnutls_session_set_data ()
    -
    gnutls_session_set_finished_function, gnutls_session_set_finished_function () -
    gnutls_session_set_ptr, gnutls_session_set_ptr ()
    gnutls_session_t, gnutls_session_t @@ -1481,12 +1322,6 @@
    gnutls_sign_func, gnutls_sign_func ()
    -
    gnutls_sign_get_id, gnutls_sign_get_id () -
    -
    gnutls_sign_get_name, gnutls_sign_get_name () -
    -
    gnutls_sign_list, gnutls_sign_list () -
    GNUTLS_SIGN_RSA_SHA, GNUTLS_SIGN_RSA_SHA
    gnutls_srp_1024_group_generator, gnutls_srp_1024_group_generator @@ -1523,8 +1358,6 @@
    gnutls_srp_set_client_credentials_function, gnutls_srp_set_client_credentials_function ()
    -
    gnutls_srp_set_prime_bits, gnutls_srp_set_prime_bits () -
    gnutls_srp_set_server_credentials_file, gnutls_srp_set_server_credentials_file ()
    gnutls_srp_set_server_credentials_function, gnutls_srp_set_server_credentials_function () @@ -1535,8 +1368,6 @@
    gnutls_strerror, gnutls_strerror ()
    -
    gnutls_strerror_name, gnutls_strerror_name () -
    gnutls_supplemental_data_format_type_t, enum gnutls_supplemental_data_format_type_t
    gnutls_supplemental_get_name, gnutls_supplemental_get_name () @@ -1563,18 +1394,10 @@
    gnutls_transport_set_push_function, gnutls_transport_set_push_function ()
    -
    GNUTLS_VERSION, GNUTLS_VERSION -
    -
    GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MAJOR -
    -
    GNUTLS_VERSION_MINOR, GNUTLS_VERSION_MINOR -
    -
    GNUTLS_VERSION_NUMBER, GNUTLS_VERSION_NUMBER -
    -
    GNUTLS_VERSION_PATCH, GNUTLS_VERSION_PATCH -
    gnutls_write, gnutls_write
    +
    gnutls_x509_ava_st, gnutls_x509_ava_st +
    GNUTLS_X509_CN_SIZE, GNUTLS_X509_CN_SIZE
    gnutls_x509_crl_check_issuer, gnutls_x509_crl_check_issuer () @@ -1583,8 +1406,6 @@
    gnutls_x509_crl_export, gnutls_x509_crl_export ()
    -
    gnutls_x509_crl_get_authority_key_id, gnutls_x509_crl_get_authority_key_id () -
    gnutls_x509_crl_get_certificate, gnutls_x509_crl_get_certificate
    gnutls_x509_crl_get_certificate_count, gnutls_x509_crl_get_certificate_count @@ -1595,20 +1416,12 @@
    gnutls_x509_crl_get_dn_oid, gnutls_x509_crl_get_dn_oid ()
    -
    gnutls_x509_crl_get_extension_data, gnutls_x509_crl_get_extension_data () -
    -
    gnutls_x509_crl_get_extension_info, gnutls_x509_crl_get_extension_info () -
    -
    gnutls_x509_crl_get_extension_oid, gnutls_x509_crl_get_extension_oid () -
    gnutls_x509_crl_get_issuer_dn, gnutls_x509_crl_get_issuer_dn ()
    gnutls_x509_crl_get_issuer_dn_by_oid, gnutls_x509_crl_get_issuer_dn_by_oid ()
    gnutls_x509_crl_get_next_update, gnutls_x509_crl_get_next_update ()
    -
    gnutls_x509_crl_get_number, gnutls_x509_crl_get_number () -
    gnutls_x509_crl_get_signature, gnutls_x509_crl_get_signature ()
    gnutls_x509_crl_get_signature_algorithm, gnutls_x509_crl_get_signature_algorithm () @@ -1625,16 +1438,12 @@
    gnutls_x509_crl_print, gnutls_x509_crl_print ()
    -
    gnutls_x509_crl_set_authority_key_id, gnutls_x509_crl_set_authority_key_id () -
    gnutls_x509_crl_set_crt, gnutls_x509_crl_set_crt ()
    gnutls_x509_crl_set_crt_serial, gnutls_x509_crl_set_crt_serial ()
    gnutls_x509_crl_set_next_update, gnutls_x509_crl_set_next_update ()
    -
    gnutls_x509_crl_set_number, gnutls_x509_crl_set_number () -
    gnutls_x509_crl_set_this_update, gnutls_x509_crl_set_this_update ()
    gnutls_x509_crl_set_version, gnutls_x509_crl_set_version () @@ -1653,12 +1462,6 @@
    gnutls_x509_crq_get_attribute_by_oid, gnutls_x509_crq_get_attribute_by_oid ()
    -
    gnutls_x509_crq_get_attribute_data, gnutls_x509_crq_get_attribute_data () -
    -
    gnutls_x509_crq_get_attribute_info, gnutls_x509_crq_get_attribute_info () -
    -
    gnutls_x509_crq_get_basic_constraints, gnutls_x509_crq_get_basic_constraints () -
    gnutls_x509_crq_get_challenge_password, gnutls_x509_crq_get_challenge_password ()
    gnutls_x509_crq_get_dn, gnutls_x509_crq_get_dn () @@ -1667,54 +1470,22 @@
    gnutls_x509_crq_get_dn_oid, gnutls_x509_crq_get_dn_oid ()
    -
    gnutls_x509_crq_get_extension_by_oid, gnutls_x509_crq_get_extension_by_oid () -
    -
    gnutls_x509_crq_get_extension_data, gnutls_x509_crq_get_extension_data () -
    -
    gnutls_x509_crq_get_extension_info, gnutls_x509_crq_get_extension_info () -
    -
    gnutls_x509_crq_get_key_id, gnutls_x509_crq_get_key_id () -
    -
    gnutls_x509_crq_get_key_purpose_oid, gnutls_x509_crq_get_key_purpose_oid () -
    -
    gnutls_x509_crq_get_key_rsa_raw, gnutls_x509_crq_get_key_rsa_raw () -
    -
    gnutls_x509_crq_get_key_usage, gnutls_x509_crq_get_key_usage () -
    gnutls_x509_crq_get_pk_algorithm, gnutls_x509_crq_get_pk_algorithm ()
    -
    gnutls_x509_crq_get_subject_alt_name, gnutls_x509_crq_get_subject_alt_name () -
    -
    gnutls_x509_crq_get_subject_alt_othername_oid, gnutls_x509_crq_get_subject_alt_othername_oid () -
    -
    gnutls_x509_crq_get_version, gnutls_x509_crq_get_version () -
    gnutls_x509_crq_import, gnutls_x509_crq_import ()
    gnutls_x509_crq_init, gnutls_x509_crq_init ()
    gnutls_x509_crq_int, struct gnutls_x509_crq_int
    -
    gnutls_x509_crq_print, gnutls_x509_crq_print () -
    gnutls_x509_crq_set_attribute_by_oid, gnutls_x509_crq_set_attribute_by_oid ()
    -
    gnutls_x509_crq_set_basic_constraints, gnutls_x509_crq_set_basic_constraints () -
    gnutls_x509_crq_set_challenge_password, gnutls_x509_crq_set_challenge_password ()
    gnutls_x509_crq_set_dn_by_oid, gnutls_x509_crq_set_dn_by_oid ()
    gnutls_x509_crq_set_key, gnutls_x509_crq_set_key ()
    -
    gnutls_x509_crq_set_key_purpose_oid, gnutls_x509_crq_set_key_purpose_oid () -
    -
    gnutls_x509_crq_set_key_rsa_raw, gnutls_x509_crq_set_key_rsa_raw () -
    -
    gnutls_x509_crq_set_key_usage, gnutls_x509_crq_set_key_usage () -
    -
    gnutls_x509_crq_set_subject_alt_name, gnutls_x509_crq_set_subject_alt_name () -
    gnutls_x509_crq_set_version, gnutls_x509_crq_set_version ()
    gnutls_x509_crq_sign, gnutls_x509_crq_sign () @@ -1807,8 +1578,6 @@
    gnutls_x509_crt_get_subject_key_id, gnutls_x509_crt_get_subject_key_id ()
    -
    gnutls_x509_crt_get_verify_algorithm, gnutls_x509_crt_get_verify_algorithm () -
    gnutls_x509_crt_get_version, gnutls_x509_crt_get_version ()
    gnutls_x509_crt_import, gnutls_x509_crt_import () @@ -1833,12 +1602,8 @@
    gnutls_x509_crt_set_crl_dist_points, gnutls_x509_crt_set_crl_dist_points ()
    -
    gnutls_x509_crt_set_crl_dist_points2, gnutls_x509_crt_set_crl_dist_points2 () -
    gnutls_x509_crt_set_crq, gnutls_x509_crt_set_crq ()
    -
    gnutls_x509_crt_set_crq_extensions, gnutls_x509_crt_set_crq_extensions () -
    gnutls_x509_crt_set_dn_by_oid, gnutls_x509_crt_set_dn_by_oid ()
    gnutls_x509_crt_set_expiration_time, gnutls_x509_crt_set_expiration_time () @@ -1861,8 +1626,6 @@
    gnutls_x509_crt_set_subject_alternative_name, gnutls_x509_crt_set_subject_alternative_name ()
    -
    gnutls_x509_crt_set_subject_alt_name, gnutls_x509_crt_set_subject_alt_name () -
    gnutls_x509_crt_set_subject_key_id, gnutls_x509_crt_set_subject_key_id ()
    gnutls_x509_crt_set_version, gnutls_x509_crt_set_version () @@ -1877,8 +1640,6 @@
    gnutls_x509_crt_verify_data, gnutls_x509_crt_verify_data ()
    -
    gnutls_x509_crt_verify_hash, gnutls_x509_crt_verify_hash () -
    GNUTLS_X509_C_SIZE, GNUTLS_X509_C_SIZE
    gnutls_x509_dn_deinit, gnutls_x509_dn_deinit () @@ -1957,25 +1718,24 @@

    H

    -
    -
    hash, hash () -
    -
    HAVE_SSIZE_T, HAVE_SSIZE_T -
    -
    +
    HAVE_SSIZE_T, HAVE_SSIZE_T +
    -

    I

    +

    L

    -
    init, init () +
    LIBGNUTLS_EXTRA_VERSION, LIBGNUTLS_EXTRA_VERSION
    -
    int, int () +
    LIBGNUTLS_VERSION, LIBGNUTLS_VERSION +
    +
    LIBGNUTLS_VERSION_MAJOR, LIBGNUTLS_VERSION_MAJOR +
    +
    LIBGNUTLS_VERSION_MINOR, LIBGNUTLS_VERSION_MINOR +
    +
    LIBGNUTLS_VERSION_NUMBER, LIBGNUTLS_VERSION_NUMBER +
    +
    LIBGNUTLS_VERSION_PATCH, LIBGNUTLS_VERSION_PATCH
    -
    -
    -
    -

    L

    -
    libtasn1_perror, libtasn1_perror ()
    libtasn1_strerror, libtasn1_strerror () @@ -2003,8 +1763,6 @@
    MD5_Update, MD5_Update ()
    -
    MD_CTX, MD_CTX -
    @@ -2017,22 +1775,15 @@
    OpenSSL_add_all_algorithms, OpenSSL_add_all_algorithms ()
    -
    OpenSSL_add_ssl_algorithms, OpenSSL_add_ssl_algorithms +
    OpenSSL_add_ssl_algorithms, OpenSSL_add_ssl_algorithms()
    OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_NUMBER
    OPENSSL_VERSION_TEXT, OPENSSL_VERSION_TEXT
    -
    output, output () -
    -

    P

    -
    pk_fixup_private_params, pk_fixup_private_params () -
    -
    -

    R

    RAND_bytes, RAND_bytes () @@ -2065,8 +1816,6 @@
    RIPEMD160_Update, RIPEMD160_Update ()
    -
    rnd, rnd () -
    RSA, RSA
    rsa_st, struct rsa_st @@ -2076,17 +1825,11 @@

    S

    -
    setiv, setiv () -
    -
    setkey, setkey () -
    -
    sign, sign () -
    SSL, SSL
    -
    SSLeay_add_all_algorithms, SSLeay_add_all_algorithms +
    SSLeay_add_all_algorithms, SSLeay_add_all_algorithms()
    -
    SSLeay_add_ssl_algorithms, SSLeay_add_ssl_algorithms +
    SSLeay_add_ssl_algorithms, SSLeay_add_ssl_algorithms()
    SSLEAY_VERSION_NUMBER, SSLEAY_VERSION_NUMBER
    @@ -2245,16 +1988,16 @@
    TLSv1_server_method, TLSv1_server_method ()
    +
    TLS_MASTER_SIZE, TLS_MASTER_SIZE +
    +
    TLS_RANDOM_SIZE, TLS_RANDOM_SIZE +

    V

    -
    -
    verify, verify () -
    -
    verify_callback, verify_callback () -
    -
    +
    verify_callback, verify_callback () +

    X

    @@ -2285,6 +2028,6 @@
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/ix02.html gnutls26-2.4.1/doc/reference/html/ix02.html --- gnutls26-2.8.6/doc/reference/html/ix02.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ix02.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,17 @@ Index of deprecated symbols - - + + - + + + + + @@ -19,34 +23,17 @@ -
    -

    -Index of deprecated symbols

    -
    -

    L

    -
    -
    libtasn1_perror, libtasn1_perror () -
    -
    libtasn1_strerror, libtasn1_strerror () -
    -
    LIBTASN1_VERSION, LIBTASN1_VERSION -
    -
    -
    -
    -

    M

    -
    -
    MAX_ERROR_DESCRIPTION_SIZE, MAX_ERROR_DESCRIPTION_SIZE -
    -
    MAX_NAME_SIZE, MAX_NAME_SIZE -
    -
    -
    -
    +

    +Index of deprecated symbols

    +
    +

    G

    +
    gnutls_certificate_verify_peers, gnutls_certificate_verify_peers () +
    +
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/ix03.html gnutls26-2.4.1/doc/reference/html/ix03.html --- gnutls26-2.8.6/doc/reference/html/ix03.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ix03.html 2008-06-30 22:15:22.000000000 +0100 @@ -3,13 +3,16 @@ Index of new symbols in 2.4.0 - - + + - - + + + + + @@ -17,15 +20,109 @@ - + -
    +

    -Index of new symbols in 2.4.0

    -
    +Index of new symbols in 2.4.0
    +
    +

    G

    +
    +
    gnutls_certificate_get_openpgp_keyring, gnutls_certificate_get_openpgp_keyring () +
    +
    gnutls_certificate_get_x509_cas, gnutls_certificate_get_x509_cas () +
    +
    gnutls_certificate_get_x509_crls, gnutls_certificate_get_x509_crls () +
    +
    gnutls_certificate_set_openpgp_key_file2, gnutls_certificate_set_openpgp_key_file2 () +
    +
    gnutls_certificate_set_openpgp_key_mem2, gnutls_certificate_set_openpgp_key_mem2 () +
    +
    gnutls_certificate_set_x509_crl, gnutls_certificate_set_x509_crl () +
    +
    gnutls_certificate_set_x509_key, gnutls_certificate_set_x509_key () +
    +
    gnutls_certificate_set_x509_trust, gnutls_certificate_set_x509_trust () +
    +
    gnutls_hex2bin, gnutls_hex2bin () +
    +
    gnutls_openpgp_crt_get_key_id, gnutls_openpgp_crt_get_key_id () +
    +
    gnutls_openpgp_crt_get_pk_dsa_raw, gnutls_openpgp_crt_get_pk_dsa_raw () +
    +
    gnutls_openpgp_crt_get_pk_rsa_raw, gnutls_openpgp_crt_get_pk_rsa_raw () +
    +
    gnutls_openpgp_crt_get_revoked_status, gnutls_openpgp_crt_get_revoked_status () +
    +
    gnutls_openpgp_crt_get_subkey_count, gnutls_openpgp_crt_get_subkey_count () +
    +
    gnutls_openpgp_crt_get_subkey_creation_time, gnutls_openpgp_crt_get_subkey_creation_time () +
    +
    gnutls_openpgp_crt_get_subkey_expiration_time, gnutls_openpgp_crt_get_subkey_expiration_time () +
    +
    gnutls_openpgp_crt_get_subkey_fingerprint, gnutls_openpgp_crt_get_subkey_fingerprint () +
    +
    gnutls_openpgp_crt_get_subkey_idx, gnutls_openpgp_crt_get_subkey_idx () +
    +
    gnutls_openpgp_crt_get_subkey_pk_algorithm, gnutls_openpgp_crt_get_subkey_pk_algorithm () +
    +
    gnutls_openpgp_crt_get_subkey_pk_dsa_raw, gnutls_openpgp_crt_get_subkey_pk_dsa_raw () +
    +
    gnutls_openpgp_crt_get_subkey_pk_rsa_raw, gnutls_openpgp_crt_get_subkey_pk_rsa_raw () +
    +
    gnutls_openpgp_crt_get_subkey_revoked_status, gnutls_openpgp_crt_get_subkey_revoked_status () +
    +
    gnutls_openpgp_crt_get_subkey_usage, gnutls_openpgp_crt_get_subkey_usage () +
    +
    gnutls_openpgp_privkey_export, gnutls_openpgp_privkey_export () +
    +
    gnutls_openpgp_privkey_export_dsa_raw, gnutls_openpgp_privkey_export_dsa_raw () +
    +
    gnutls_openpgp_privkey_export_rsa_raw, gnutls_openpgp_privkey_export_rsa_raw () +
    +
    gnutls_openpgp_privkey_export_subkey_dsa_raw, gnutls_openpgp_privkey_export_subkey_dsa_raw () +
    +
    gnutls_openpgp_privkey_export_subkey_rsa_raw, gnutls_openpgp_privkey_export_subkey_rsa_raw () +
    +
    gnutls_openpgp_privkey_get_fingerprint, gnutls_openpgp_privkey_get_fingerprint () +
    +
    gnutls_openpgp_privkey_get_key_id, gnutls_openpgp_privkey_get_key_id () +
    +
    gnutls_openpgp_privkey_get_pk_algorithm, gnutls_openpgp_privkey_get_pk_algorithm () +
    +
    gnutls_openpgp_privkey_get_subkey_count, gnutls_openpgp_privkey_get_subkey_count () +
    +
    gnutls_openpgp_privkey_get_subkey_creation_time, gnutls_openpgp_privkey_get_subkey_creation_time () +
    +
    gnutls_openpgp_privkey_get_subkey_expiration_time, gnutls_openpgp_privkey_get_subkey_expiration_time () +
    +
    gnutls_openpgp_privkey_get_subkey_fingerprint, gnutls_openpgp_privkey_get_subkey_fingerprint () +
    +
    gnutls_openpgp_privkey_get_subkey_id, gnutls_openpgp_privkey_get_subkey_id () +
    +
    gnutls_openpgp_privkey_get_subkey_idx, gnutls_openpgp_privkey_get_subkey_idx () +
    +
    gnutls_openpgp_privkey_get_subkey_pk_algorithm, gnutls_openpgp_privkey_get_subkey_pk_algorithm () +
    +
    gnutls_psk_client_get_hint, gnutls_psk_client_get_hint () +
    +
    gnutls_psk_netconf_derive_key, gnutls_psk_netconf_derive_key () +
    +
    gnutls_psk_set_server_credentials_hint, gnutls_psk_set_server_credentials_hint () +
    +
    gnutls_x509_dn_deinit, gnutls_x509_dn_deinit () +
    +
    gnutls_x509_dn_import, gnutls_x509_dn_import () +
    +
    gnutls_x509_dn_init, gnutls_x509_dn_init () +
    +
    gnutls_x509_rdn_get_oid, gnutls_x509_rdn_get_oid () +
    +
    +
    + Generated by GTK-Doc V1.10
    - \ No newline at end of file + diff -Nru gnutls26-2.8.6/doc/reference/html/ix04.html gnutls26-2.4.1/doc/reference/html/ix04.html --- gnutls26-2.8.6/doc/reference/html/ix04.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ix04.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ - - - - -Index of new symbols in 2.6.0 - - - - - - - - - - - - - - - - -
    -

    -Index of new symbols in 2.6.0

    -
    -

    G

    -
    -
    gnutls_register_md5_handler, gnutls_register_md5_handler () -
    -
    gnutls_session_set_finished_function, gnutls_session_set_finished_function () -
    -
    gnutls_strerror_name, gnutls_strerror_name () -
    -
    -
    -
    - - - \ No newline at end of file diff -Nru gnutls26-2.8.6/doc/reference/html/ix05.html gnutls26-2.4.1/doc/reference/html/ix05.html --- gnutls26-2.8.6/doc/reference/html/ix05.html 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/ix05.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 2.8.0 - - - - - - - - - - - - - - - -
    -

    -Index of new symbols in 2.8.0

    -
    -

    G

    -
    gnutls_certificate_set_x509_simple_pkcs12_mem, gnutls_certificate_set_x509_simple_pkcs12_mem () -
    -
    -
    - - - \ No newline at end of file diff -Nru gnutls26-2.8.6/doc/reference/html/style.css gnutls26-2.4.1/doc/reference/html/style.css --- gnutls26-2.8.6/doc/reference/html/style.css 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/html/style.css 2008-06-30 22:15:22.000000000 +0100 @@ -1,15 +1,13 @@ .synopsis, .classsynopsis { - /* tango:aluminium 1/2 */ - background: #eeeeec; - border: solid 1px #d3d7cf; + background: #eeeeee; + border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { - /* tango:sky blue 0/1 */ - background: #e6f3ff; - border: solid 1px #729fcf; + background: #eeeeff; + border: solid 1px #aaaaff; padding: 0.5em; } .variablelist @@ -22,62 +20,56 @@ vertical-align: top; } +/* this is needed so that the local anchors are displayed below the naviagtion */ @media screen { sup a.footnote { position: relative; top: 0em ! important; - } - /* this is needed so that the local anchors are displayed below the naviagtion */ - div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] + div.refnamediv a[name], div.refsect1 a[name] { position: relative; - padding-top:4.5em; + top: -4.5em; } - /* this seems to be a bug in the xsl style sheets when generating indexes */ - div.index div.index - { - top: 0em; - } - /* make space for the fixed navigation bar and add space at the bottom so that - * link targets appear somewhat close to top - */ - body - { - padding-top: 3.2em; - padding-bottom: 20em; - } - /* style and size the navigation bar */ table.navigation#top { - position: fixed; - /* tango:scarlet red 0/1 */ - background: #ffe6e6; - border: solid 1px #ef2929; + background: #ffeeee; + border: solid 1px #ffaaaa; margin-top: 0; margin-bottom: 0; + position: fixed; top: 0; left: 0; - height: 3em; - z-index: 10; + height: 2em; + z-index: 1; } - .navigation a, .navigation a:visited + .navigation a { - /* tango:scarlet red 3 */ - color: #a40000; + color: #770000; } - .navigation a:hover + .navigation a:visited { - /* tango:scarlet red 1 */ - color: #ef2929; + color: #550000; } td.shortcuts { - /* tango:scarlet red 1 */ - color: #ef2929; + color: #770000; font-size: 80%; - white-space: nowrap; + } + div.refentry, div.chapter, div.reference, div.part, div.book, div.index, div.glossary, div.sect1, div.appendix, div.preface + { + position: relative; + top: 3em; + z-index: 0; + } + div.refnamediv + { + margin-top: 2em; + } + body + { + padding-bottom: 20em; } } @media print { @@ -88,14 +80,13 @@ div.titlepage table.navigation { visibility: visible; display: table; - /* tango:scarlet red 0/1 */ - background: #ffe6e6; - border: solid 1px #ef2929; + background: #ffeeee; + border: solid 1px #ffaaaa; margin-top: 0; margin-bottom: 0; top: 0; left: 0; - height: 3em; + height: 2em; } } @@ -104,6 +95,7 @@ font-size: 200%; } + div.gallery-float { float: left; @@ -117,48 +109,44 @@ { clear: both; } - -a, a:visited +a { text-decoration: none; - /* tango:sky blue 2 */ - color: #3465a4; } a:hover { text-decoration: underline; - /* tango:sky blue 1 */ - color: #729fcf; + color: #FF0000; } div.table table { border-collapse: collapse; border-spacing: 0px; - /* tango:aluminium 3 */ - border: solid 1px #babdb6; + border-style: solid; + border-color: #777777; + border-width: 1px; } div.table table td, div.table table th { - /* tango:aluminium 3 */ - border: solid 1px #babdb6; + border-style: solid; + border-color: #777777; + border-width: 1px; padding: 3px; vertical-align: top; } div.table table th { - /* tango:aluminium 2 */ - background-color: #d3d7cf; + background-color: #eeeeee; } hr { - /* tango:aluminium 3 */ - color: #babdb6; - background: #babdb6; - border: none 0px; + color: #777777; + background: #777777; + border: 0; height: 1px; clear: both; } @@ -166,92 +154,7 @@ .footer { padding-top: 3.5em; - /* tango:aluminium 3 */ - color: #babdb6; + color: #777777; text-align: center; font-size: 80%; } - -.warning -{ - /* tango:orange 0/1 */ - background: #ffeed9; - border-color: #ffb04f; -} -.note -{ - /* tango:chameleon 0/0.5 */ - background: #d8ffb2; - border-color: #abf562; -} -.note, .warning -{ - padding: 0.5em; - border-width: 1px; - border-style: solid; -} -.note h3, .warning h3 -{ - margin-top: 0.0em -} -.note p, .warning p -{ - margin-bottom: 0.0em -} - -/* blob links */ -h2 .extralinks, h3 .extralinks -{ - float: right; - /* tango:aluminium 3 */ - color: #babdb6; - font-size: 80%; - font-weight: normal; -} - -/* code listings */ - -.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */ -.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */ -.listing_code .programlisting .function { color: #000000; font-weight: bold; } -.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */ -.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */ -.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ -.listing_code .programlisting .normal { color: #000000; } -.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */ -.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ -.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */ -.listing_code .programlisting .type { color: #000000; } -.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */ -.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */ - -.listing_frame { - /* tango:sky blue 1 */ - border: solid 1px #729fcf; - padding: 0px; -} - -.listing_lines, .listing_code { - margin-top: 0px; - margin-bottom: 0px; - padding: 0.5em; -} -.listing_lines { - /* tango:sky blue 0.5 */ - background: #a6c5e3; - /* tango:aluminium 6 */ - color: #2e3436; -} -.listing_code { - /* tango:sky blue 0 */ - background: #e6f3ff; -} -.listing_code .programlisting { - /* override from previous */ - border: none 0px; - padding: 0px; -} -.listing_lines pre, .listing_code pre { - margin: 0px; -} - diff -Nru gnutls26-2.8.6/doc/reference/Makefile.am gnutls26-2.4.1/doc/reference/Makefile.am --- gnutls26-2.8.6/doc/reference/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/reference/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -11,10 +11,6 @@ # The name of the module, e.g. 'glib'. DOC_MODULE=$(PACKAGE) -# Uncomment for versioned docs and specify the version of the module, e.g. '2'. -#DOC_MODULE_VERSION=2 - - # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml @@ -22,15 +18,14 @@ # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk -DOC_SOURCE_DIR=../../lib --source-dir=../../libextra +DOC_SOURCE_DIR=../../lib --source-dir=../../libextra --source-dir=../../includes # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS=--ignore-decorators=ASN1_API \ - --deprecated-guards=ASN1_DISABLE_DEPRECATED +SCAN_OPTIONS= # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml @@ -40,9 +35,6 @@ # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS= -# Extra options to supply to gtkdoc-mkhtml -MKHTML_OPTIONS= - # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= @@ -50,26 +42,22 @@ # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c -HFILE_GLOB=$(top_srcdir)/lib/includes/gnutls/*.h $(top_builddir)/lib/includes/gnutls/*.h $(top_srcdir)/libextra/includes/gnutls/*.h +HFILE_GLOB=$(top_srcdir)/includes/gnutls/*.h $(top_builddir)/includes/gnutls/*.h CFILE_GLOB=$(top_srcdir)/lib/*.c \ $(top_srcdir)/lib/x509/*.c \ $(top_srcdir)/lib/openpgp/*.c \ $(top_srcdir)/libextra/*.c \ - $(top_srcdir)/lib/minitasn1/*.c \ - $(top_srcdir)/libextra/*.c + $(top_srcdir)/lib/minitasn1/*.c -# Extra header to include when scanning, which are not under DOC_SOURCE_DIR -# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h -EXTRA_HFILES= - -# Header files to ignore when scanning. Use base file name, no paths +# Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h -IGNORE_HFILES=debug.h gnutls_compress.h gnutls_cipher.h \ +IGNORE_HFILES=debug.h gnutls_compress.h defines.h gnutls_cipher.h \ gnutls_buffers.h gnutls_errors.h gnutls_int.h \ gnutls_handshake.h gnutls_num.h gnutls_algorithms.h \ gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \ - gnutls_db.h gnutls_priority.h gnutls_auth.h auth_anon.h \ - gnutls_extensions.h gnutls_random.h x509_b64.h \ + gnutls_db.h gnutls_compress_int.h gnutls_priority.h \ + gnutls_auth.h auth_anon.h gnutls_extensions.h gnutls_buffer.h \ + gnutls_auth_int.h gnutls_random.h x509_b64.h \ gnutls_v2_compat.h gnutls_errors_int.h gnutls_datum.h \ auth_cert.h gnutls_mpi.h gnutls_pk.h gnutls_record.h \ gnutls_cert.h gnutls_constate.h gnutls_global.h strfile.h \ @@ -84,7 +72,7 @@ der.h errors.h gstr.h parser_aux.h element.h errors_int.h \ int.h structure.h \ \ - common.h compat.h pbkdf2-sha1.h \ + common.h compat.h \ \ openssl_compat.h \ \ @@ -93,22 +81,7 @@ \ gnutls_openpgp.h gnutlsxx.h gnutls_extra_hooks.h \ gnutls_supplemental.h \ - opencdk.h \ - \ - config.h \ - \ - alloca.in.h byteswap.in.h c-ctype.h errno.in.h float+.h \ - float.in.h gettext.h minmax.h netdb.in.h printf-args.h \ - printf-parse.h read-file.h size_max.h sockets.h stdbool.in.h \ - stdint.in.h stdio-impl.h stdio.in.h stdlib.in.h string.in.h \ - strings.in.h str-two-way.h sys_socket.in.h sys_stat.in.h \ - time.in.h unistd.in.h vasnprintf.h wchar.in.h xsize.h \ - \ - alloca.h byteswap.h c-ctype.h errno.h float.h netdb.h stdint.h \ - stdio.h stdlib.h string.h strings.h sys_socket.h sys_stat.h \ - time.h unistd.h wchar.h \ - \ - hmac.h md5.h memxor.h + opencdk.h # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png @@ -126,9 +99,9 @@ # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. -# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) +# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) -GTKDOC_CFLAGS= +INCLUDES= GTKDOC_LIBS= # This includes the standard gtk-doc make rules, copied by gtkdocize. @@ -144,7 +117,5 @@ #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' -if ENABLE_GTK_DOC -#TESTS_ENVIRONMENT = cd $(srcsrc) #TESTS = $(GTKDOC_CHECK) -endif + diff -Nru gnutls26-2.8.6/doc/reference/Makefile.in gnutls26-2.4.1/doc/reference/Makefile.in --- gnutls26-2.8.6/doc/reference/Makefile.in 2010-03-15 10:29:20.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/Makefile.in 2008-06-30 22:07:50.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -22,9 +21,8 @@ #################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -43,70 +41,84 @@ $(top_srcdir)/gtk-doc.make subdir = doc/reference ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -114,7 +126,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -137,96 +149,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -238,31 +214,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -277,29 +238,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -307,18 +254,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -327,51 +267,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -380,123 +302,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -508,78 +415,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -611,11 +502,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -626,7 +520,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -644,9 +537,6 @@ # The name of the module, e.g. 'glib'. DOC_MODULE = $(PACKAGE) -# Uncomment for versioned docs and specify the version of the module, e.g. '2'. -#DOC_MODULE_VERSION=2 - # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml @@ -654,16 +544,14 @@ # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk -DOC_SOURCE_DIR = ../../lib --source-dir=../../libextra +DOC_SOURCE_DIR = ../../lib --source-dir=../../libextra --source-dir=../../includes # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS = # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS = --ignore-decorators=ASN1_API \ - --deprecated-guards=ASN1_DISABLE_DEPRECATED - +SCAN_OPTIONS = # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml @@ -673,9 +561,6 @@ # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS = -# Extra options to supply to gtkdoc-mkhtml -MKHTML_OPTIONS = - # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS = @@ -683,27 +568,23 @@ # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c -HFILE_GLOB = $(top_srcdir)/lib/includes/gnutls/*.h $(top_builddir)/lib/includes/gnutls/*.h $(top_srcdir)/libextra/includes/gnutls/*.h +HFILE_GLOB = $(top_srcdir)/includes/gnutls/*.h $(top_builddir)/includes/gnutls/*.h CFILE_GLOB = $(top_srcdir)/lib/*.c \ $(top_srcdir)/lib/x509/*.c \ $(top_srcdir)/lib/openpgp/*.c \ $(top_srcdir)/libextra/*.c \ - $(top_srcdir)/lib/minitasn1/*.c \ - $(top_srcdir)/libextra/*.c - + $(top_srcdir)/lib/minitasn1/*.c -# Extra header to include when scanning, which are not under DOC_SOURCE_DIR -# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h -EXTRA_HFILES = -# Header files to ignore when scanning. Use base file name, no paths +# Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h -IGNORE_HFILES = debug.h gnutls_compress.h gnutls_cipher.h \ +IGNORE_HFILES = debug.h gnutls_compress.h defines.h gnutls_cipher.h \ gnutls_buffers.h gnutls_errors.h gnutls_int.h \ gnutls_handshake.h gnutls_num.h gnutls_algorithms.h \ gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \ - gnutls_db.h gnutls_priority.h gnutls_auth.h auth_anon.h \ - gnutls_extensions.h gnutls_random.h x509_b64.h \ + gnutls_db.h gnutls_compress_int.h gnutls_priority.h \ + gnutls_auth.h auth_anon.h gnutls_extensions.h gnutls_buffer.h \ + gnutls_auth_int.h gnutls_random.h x509_b64.h \ gnutls_v2_compat.h gnutls_errors_int.h gnutls_datum.h \ auth_cert.h gnutls_mpi.h gnutls_pk.h gnutls_record.h \ gnutls_cert.h gnutls_constate.h gnutls_global.h strfile.h \ @@ -718,7 +599,7 @@ der.h errors.h gstr.h parser_aux.h element.h errors_int.h \ int.h structure.h \ \ - common.h compat.h pbkdf2-sha1.h \ + common.h compat.h \ \ openssl_compat.h \ \ @@ -727,22 +608,7 @@ \ gnutls_openpgp.h gnutlsxx.h gnutls_extra_hooks.h \ gnutls_supplemental.h \ - opencdk.h \ - \ - config.h \ - \ - alloca.in.h byteswap.in.h c-ctype.h errno.in.h float+.h \ - float.in.h gettext.h minmax.h netdb.in.h printf-args.h \ - printf-parse.h read-file.h size_max.h sockets.h stdbool.in.h \ - stdint.in.h stdio-impl.h stdio.in.h stdlib.in.h string.in.h \ - strings.in.h str-two-way.h sys_socket.in.h sys_stat.in.h \ - time.in.h unistd.in.h vasnprintf.h wchar.in.h xsize.h \ - \ - alloca.h byteswap.h c-ctype.h errno.h float.h netdb.h stdint.h \ - stdio.h stdlib.h string.h strings.h sys_socket.h sys_stat.h \ - time.h unistd.h wchar.h \ - \ - hmac.h md5.h memxor.h + opencdk.h # Images to copy into HTML directory. @@ -761,16 +627,14 @@ # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. -# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) +# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) -GTKDOC_CFLAGS = +INCLUDES = GTKDOC_LIBS = -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute +@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) +@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) # We set GPATH here; this gives us semantics for GNU make # which are more like other make's VPATH, when it comes to @@ -786,11 +650,11 @@ # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt -DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp +DOC_STAMPS = scan-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/sgml.stamp $(srcdir)/html.stamp SCANOBJ_FILES = \ - $(DOC_MODULE).args \ + $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ $(DOC_MODULE).prerequisites \ @@ -809,14 +673,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/reference/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/reference/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -834,7 +698,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -864,17 +727,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -906,7 +765,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -925,8 +783,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -935,28 +791,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -1000,50 +846,34 @@ docs: html-build.stamp -$(REPORT_FILES): sgml-build.stamp - #### scan #### scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) @echo 'gtk-doc: Scanning header files' @-chmod -R u+w $(srcdir) - @cd $(srcdir) && \ + cd $(srcdir) && \ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ else \ cd $(srcdir) ; \ for i in $(SCANOBJ_FILES) ; do \ test -f $$i || touch $$i ; \ done \ fi - @touch scan-build.stamp + touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo 'gtk-doc: Rebuilding template files' - @-chmod -R u+w $(srcdir) - @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) - @touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -$(srcdir)/tmpl/*.sgml: - @true - #### xml #### -sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) +sgml-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) @echo 'gtk-doc: Building XML' @-chmod -R u+w $(srcdir) - @cd $(srcdir) && \ + cd $(srcdir) && \ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS) - @touch sgml-build.stamp + touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true @@ -1053,18 +883,13 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) @echo 'gtk-doc: Building HTML' @-chmod -R u+w $(srcdir) - @rm -rf $(srcdir)/html - @mkdir $(srcdir)/html - @mkhtml_options=""; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ - mkhtml_options=--path="$(srcdir)"; \ - fi; \ - cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) @echo 'gtk-doc: Fixing cross-references' - @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - @touch html-build.stamp + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp ############## @@ -1078,39 +903,27 @@ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html + cd $(srcdir) && rm -rf html install-data-local: - @installfiles=`echo $(srcdir)/html/*`; \ + installfiles=`echo $(srcdir)/html/*`; \ if test "$$installfiles" = '$(srcdir)/html/*'; \ then echo '-- Nothing to install' ; \ else \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - $(mkinstalldirs) $${installdir} ; \ + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ for i in $$installfiles; do \ echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $${installdir}; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ done; \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ - mv -f $${installdir}/$(DOC_MODULE).devhelp \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ - fi; \ - $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + if test `which gtkdoc-rebase` != ""; then \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ + fi \ fi uninstall-local: - @if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - rm -rf $${installdir} + rm -f $(DESTDIR)$(TARGET_DIR)/* # # Require gtk-doc when making dist @@ -1121,16 +934,12 @@ @ENABLE_GTK_DOC_FALSE@ @false dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml cp $(srcdir)/html/* $(distdir)/html - -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ - -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ cd $(distdir) && rm -f $(DISTCLEANFILES) - $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html + -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs @@ -1140,9 +949,7 @@ #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' -#TESTS_ENVIRONMENT = cd $(srcsrc) #TESTS = $(GTKDOC_CHECK) - # 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: diff -Nru gnutls26-2.8.6/doc/reference/tmpl/alignof.sgml gnutls26-2.4.1/doc/reference/tmpl/alignof.sgml --- gnutls26-2.8.6/doc/reference/tmpl/alignof.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/alignof.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ - -alignof - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/close-hook.sgml gnutls26-2.4.1/doc/reference/tmpl/close-hook.sgml --- gnutls26-2.8.6/doc/reference/tmpl/close-hook.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/close-hook.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ - -close-hook - - - - - - - - - - - - - - - - - - - - - - - - - - - -@fd: -@remaining_list: -@Returns: - - - - - - - -@fd: -@remaining_list: -@Returns: - - - - - - - -@fd: -@remaining_list: -@Returns: - - - - - - - -@fd: -@Returns: - - - - - - - -@hook: -@link: - - - - - - - -@link: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/crypto.sgml gnutls26-2.4.1/doc/reference/tmpl/crypto.sgml --- gnutls26-2.8.6/doc/reference/tmpl/crypto.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/crypto.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,659 +0,0 @@ - -crypto - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@key: -@keysize: -@Returns: - - - - - - - -@ctx: -@iv: -@ivsize: -@Returns: - - - - - - - -@ctx: -@plain: -@plainsize: -@encr: -@encrsize: -@Returns: - - - - - - - -@ctx: -@encr: -@encrsize: -@plain: -@plainsize: -@Returns: - - - - - - - -@ctx: - - - - - - - -@ctx: -@text: -@textsize: -@Returns: - - - - - - - -@dst_ctx: -@src_ctx: -@Returns: - - - - - - - -@src_ctx: -@digest: -@digestsize: -@Returns: - - - - - - - - - - - - - - - - - - - -@GNUTLS_RND_NONCE: -@GNUTLS_RND_RANDOM: -@GNUTLS_RND_KEY: - - - - - - -@GNUTLS_PK_FLAG_NONE: - - - - - - -@ctx: -@Returns: - - - - - - - - - - - - - -@GNUTLS_MPI_FORMAT_USG: -@GNUTLS_MPI_FORMAT_STD: -@GNUTLS_MPI_FORMAT_PGP: - - - - - - -@nbits: -@Returns: - - - - - - - -@n: - - - - - - - -@m1: -@m2: -@Returns: - - - - - - - -@m1: -@m2: -@Returns: - - - - - - - -@a: -@b: -@Returns: - - - - - - - -@a: -@b: -@Returns: - - - - - - - -@a: -@b: -@Returns: - - - - - - - -@Returns: - - - - - - - -@w: -@b: -@e: -@m: -@Returns: - - - - - - - -@w: -@a: -@b: -@m: -@Returns: - - - - - - - -@w: -@a: -@b: -@m: -@Returns: - - - - - - - -@w: -@a: -@b: -@m: -@Returns: - - - - - - - -@w: -@a: -@b: -@Returns: - - - - - - - -@w: -@a: -@b: -@Returns: - - - - - - - -@w: -@a: -@b: -@Returns: - - - - - - - -@w: -@a: -@b: -@Returns: - - - - - - - -@q: -@a: -@b: -@Returns: - - - - - - - -@pp: -@Returns: - - - - - - - -@gg: -@bits: -@Returns: - - - - - - - -@buf: -@buf_size: -@format: -@Returns: - - - - - - - -@a: -@buf: -@buf_size: -@format: -@Returns: - - - - - - - - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@GNUTLS_IMPORT: -@GNUTLS_EXPORT: - - - - - - -@Param1: -@signature: -@data: -@Returns: - - - - - - - -@Param1: -@data: -@signature: -@Returns: - - - - - - - -@Param1: -@Returns: - - - - - - - -@Param1: -@Param2: -@Param3: -@Returns: - - - - - - - -@algo: -@prio: -@st: - - - - - - - -@algo: -@prio: -@st: - - - - - - - -@algo: -@prio: -@st: - - - - - - - -@algorithm: -@priority: -@version: -@s: -@Returns: - - - - - - - -@algorithm: -@priority: -@version: -@s: -@Returns: - - - - - - - -@algorithm: -@priority: -@version: -@s: -@Returns: - - - - - - - -@prio: -@st: - - - - - - - -@prio: -@st: - - - - - - - -@prio: -@st: - - - - - - - -@priority: -@version: -@s: -@Returns: - - - - - - - -@priority: -@version: -@s: -@Returns: - - - - - - - -@priority: -@version: -@s: -@Returns: - - - - - - - -@prio: -@st: - - - - - - - -@prio: -@st: - - - - - - - -@prio: -@st: - - - - - - - -@priority: -@version: -@s: -@Returns: - - - - - - - -@priority: -@version: -@s: -@Returns: - - - - - - - -@priority: -@version: -@s: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/extra.sgml gnutls26-2.4.1/doc/reference/tmpl/extra.sgml --- gnutls26-2.8.6/doc/reference/tmpl/extra.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/extra.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,269 +0,0 @@ - -extra - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@GNUTLS_IA_APPLICATION_PAYLOAD: -@GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED: -@GNUTLS_IA_FINAL_PHASE_FINISHED: - - - - - - -@session: -@ptr: -@last: -@lastlen: -@next: -@nextlen: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@cred: -@avp_func: - - - - - - - -@cred: -@ptr: - - - - - - - -@cred: -@Returns: - - - - - - - -@cred: -@avp_func: - - - - - - - -@cred: -@ptr: - - - - - - - -@cred: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@session_keys_size: -@session_keys: -@Returns: - - - - - - - -@session: -@final_p: -@Returns: - - - - - - - -@session: -@checksum: -@Returns: - - - - - - - -@session: -@data: -@sizeofdata: -@Returns: - - - - - - - -@session: -@data: -@sizeofdata: -@Returns: - - - - - - - -@session: -@buffer_size: -@buffer: -@Returns: - - - - - - - -@session: -@buffer: - - - - - - - -@session: -@allow_skip_on_resume: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@req_version: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/gnutls.sgml gnutls26-2.4.1/doc/reference/tmpl/gnutls.sgml --- gnutls26-2.8.6/doc/reference/tmpl/gnutls.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/gnutls.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,3926 +0,0 @@ - -gnutls - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@GNUTLS_CIPHER_UNKNOWN: -@GNUTLS_CIPHER_NULL: -@GNUTLS_CIPHER_ARCFOUR_128: -@GNUTLS_CIPHER_3DES_CBC: -@GNUTLS_CIPHER_AES_128_CBC: -@GNUTLS_CIPHER_AES_256_CBC: -@GNUTLS_CIPHER_ARCFOUR_40: -@GNUTLS_CIPHER_CAMELLIA_128_CBC: -@GNUTLS_CIPHER_CAMELLIA_256_CBC: -@GNUTLS_CIPHER_RC2_40_CBC: -@GNUTLS_CIPHER_DES_CBC: -@GNUTLS_CIPHER_IDEA_PGP_CFB: -@GNUTLS_CIPHER_3DES_PGP_CFB: -@GNUTLS_CIPHER_CAST5_PGP_CFB: -@GNUTLS_CIPHER_BLOWFISH_PGP_CFB: -@GNUTLS_CIPHER_SAFER_SK128_PGP_CFB: -@GNUTLS_CIPHER_AES128_PGP_CFB: -@GNUTLS_CIPHER_AES192_PGP_CFB: -@GNUTLS_CIPHER_AES256_PGP_CFB: -@GNUTLS_CIPHER_TWOFISH_PGP_CFB: - - - - - - -@GNUTLS_KX_UNKNOWN: -@GNUTLS_KX_RSA: -@GNUTLS_KX_DHE_DSS: -@GNUTLS_KX_DHE_RSA: -@GNUTLS_KX_ANON_DH: -@GNUTLS_KX_SRP: -@GNUTLS_KX_RSA_EXPORT: -@GNUTLS_KX_SRP_RSA: -@GNUTLS_KX_SRP_DSS: -@GNUTLS_KX_PSK: -@GNUTLS_KX_DHE_PSK: - - - - - - -@GNUTLS_PARAMS_RSA_EXPORT: -@GNUTLS_PARAMS_DH: - - - - - - -@GNUTLS_CRD_CERTIFICATE: -@GNUTLS_CRD_ANON: -@GNUTLS_CRD_SRP: -@GNUTLS_CRD_PSK: -@GNUTLS_CRD_IA: - - - - - - - - - - - - - - - - - - - - -@GNUTLS_MAC_UNKNOWN: -@GNUTLS_MAC_NULL: -@GNUTLS_MAC_MD5: -@GNUTLS_MAC_SHA1: -@GNUTLS_MAC_RMD160: -@GNUTLS_MAC_MD2: -@GNUTLS_MAC_SHA256: -@GNUTLS_MAC_SHA384: -@GNUTLS_MAC_SHA512: - - - - - - -@GNUTLS_DIG_NULL: -@GNUTLS_DIG_MD5: -@GNUTLS_DIG_SHA1: -@GNUTLS_DIG_RMD160: -@GNUTLS_DIG_MD2: -@GNUTLS_DIG_SHA256: -@GNUTLS_DIG_SHA384: -@GNUTLS_DIG_SHA512: -@GNUTLS_DIG_SHA224: - - - - - - - - - - - - - - - - - - - - -@GNUTLS_COMP_UNKNOWN: -@GNUTLS_COMP_NULL: -@GNUTLS_COMP_DEFLATE: -@GNUTLS_COMP_LZO: - - - - - - -@GNUTLS_SERVER: -@GNUTLS_CLIENT: - - - - - - -@GNUTLS_AL_WARNING: -@GNUTLS_AL_FATAL: - - - - - - -@GNUTLS_A_CLOSE_NOTIFY: -@GNUTLS_A_UNEXPECTED_MESSAGE: -@GNUTLS_A_BAD_RECORD_MAC: -@GNUTLS_A_DECRYPTION_FAILED: -@GNUTLS_A_RECORD_OVERFLOW: -@GNUTLS_A_DECOMPRESSION_FAILURE: -@GNUTLS_A_HANDSHAKE_FAILURE: -@GNUTLS_A_SSL3_NO_CERTIFICATE: -@GNUTLS_A_BAD_CERTIFICATE: -@GNUTLS_A_UNSUPPORTED_CERTIFICATE: -@GNUTLS_A_CERTIFICATE_REVOKED: -@GNUTLS_A_CERTIFICATE_EXPIRED: -@GNUTLS_A_CERTIFICATE_UNKNOWN: -@GNUTLS_A_ILLEGAL_PARAMETER: -@GNUTLS_A_UNKNOWN_CA: -@GNUTLS_A_ACCESS_DENIED: -@GNUTLS_A_DECODE_ERROR: -@GNUTLS_A_DECRYPT_ERROR: -@GNUTLS_A_EXPORT_RESTRICTION: -@GNUTLS_A_PROTOCOL_VERSION: -@GNUTLS_A_INSUFFICIENT_SECURITY: -@GNUTLS_A_INTERNAL_ERROR: -@GNUTLS_A_USER_CANCELED: -@GNUTLS_A_NO_RENEGOTIATION: -@GNUTLS_A_UNSUPPORTED_EXTENSION: -@GNUTLS_A_CERTIFICATE_UNOBTAINABLE: -@GNUTLS_A_UNRECOGNIZED_NAME: -@GNUTLS_A_UNKNOWN_PSK_IDENTITY: -@GNUTLS_A_INNER_APPLICATION_FAILURE: -@GNUTLS_A_INNER_APPLICATION_VERIFICATION: - - - - - - -@GNUTLS_HANDSHAKE_HELLO_REQUEST: -@GNUTLS_HANDSHAKE_CLIENT_HELLO: -@GNUTLS_HANDSHAKE_SERVER_HELLO: -@GNUTLS_HANDSHAKE_CERTIFICATE_PKT: -@GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE: -@GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST: -@GNUTLS_HANDSHAKE_SERVER_HELLO_DONE: -@GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY: -@GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE: -@GNUTLS_HANDSHAKE_FINISHED: -@GNUTLS_HANDSHAKE_SUPPLEMENTAL: - - - - - - -@GNUTLS_CERT_INVALID: -@GNUTLS_CERT_REVOKED: -@GNUTLS_CERT_SIGNER_NOT_FOUND: -@GNUTLS_CERT_SIGNER_NOT_CA: -@GNUTLS_CERT_INSECURE_ALGORITHM: -@GNUTLS_CERT_NOT_ACTIVATED: -@GNUTLS_CERT_EXPIRED: - - - - - - -@GNUTLS_CERT_IGNORE: -@GNUTLS_CERT_REQUEST: -@GNUTLS_CERT_REQUIRE: - - - - - - -@GNUTLS_OPENPGP_CERT: -@GNUTLS_OPENPGP_CERT_FINGERPRINT: - - - - - - -@GNUTLS_SHUT_RDWR: -@GNUTLS_SHUT_WR: - - - - - - - - - - - - - -@GNUTLS_SSL3: -@GNUTLS_TLS1_0: -@GNUTLS_TLS1_1: -@GNUTLS_TLS1_2: -@GNUTLS_VERSION_UNKNOWN: - - - - - - -@GNUTLS_CRT_UNKNOWN: -@GNUTLS_CRT_X509: -@GNUTLS_CRT_OPENPGP: - - - - - - -@GNUTLS_X509_FMT_DER: -@GNUTLS_X509_FMT_PEM: - - - - - - -@GNUTLS_CRT_PRINT_FULL: -@GNUTLS_CRT_PRINT_ONELINE: -@GNUTLS_CRT_PRINT_UNSIGNED_FULL: - - - - - - -@GNUTLS_PK_UNKNOWN: -@GNUTLS_PK_RSA: -@GNUTLS_PK_DSA: - - - - - - -@algorithm: -@Returns: - - - - - - - - - - - - - - - - - - - - - -@GNUTLS_SIGN_UNKNOWN: -@GNUTLS_SIGN_RSA_SHA1: -@GNUTLS_SIGN_DSA_SHA1: -@GNUTLS_SIGN_RSA_MD5: -@GNUTLS_SIGN_RSA_MD2: -@GNUTLS_SIGN_RSA_RMD160: -@GNUTLS_SIGN_RSA_SHA256: -@GNUTLS_SIGN_RSA_SHA384: -@GNUTLS_SIGN_RSA_SHA512: -@GNUTLS_SIGN_RSA_SHA224: - - - - - - -@sign: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@session: -@con_end: -@Returns: - - - - - - - -@session: - - - - - - - -@session: -@how: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@level: -@desc: -@Returns: - - - - - - - -@session: -@err: -@Returns: - - - - - - - -@alert: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@type: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@algorithm: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@idx: -@cs_id: -@kx: -@cipher: -@mac: -@version: -@Returns: - - - - - - - -@error: -@Returns: - - - - - - - -@err: -@level: -@Returns: - - - - - - - -@error: - - - - - - - -@error: -@Returns: - - - - - - - -@error: -@Returns: - - - - - - - -@session: -@allow: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@data: -@sizeofdata: -@Returns: - - - - - - - -@session: -@data: -@sizeofdata: -@Returns: - - - - - - - - - - - - - - - - - - - - - -@session: - - - - - - - -@session: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@size: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@label_size: -@label: -@server_random_first: -@extra_size: -@extra: -@outsize: -@out: -@Returns: - - - - - - - -@session: -@label_size: -@label: -@seed_size: -@seed: -@outsize: -@out: -@Returns: - - - - - - - -@session: -@data: -@len: -@Returns: - - - - - - - -@session: -@data: -@len: -@Returns: - - - - - - - -@GNUTLS_EXT_ANY: -@GNUTLS_EXT_APPLICATION: -@GNUTLS_EXT_TLS: - - - - - - -@type: -@name: -@parse_type: -@recv_func: -@send_func: -@Returns: - - - - - - - -@GNUTLS_NAME_DNS: - - - - - - -@session: -@type: -@name: -@name_length: -@Returns: - - - - - - - -@session: -@data: -@data_length: -@type: -@indx: -@Returns: - - - - - - - -@session: -@len: -@data: - - - - - - - -@session: -@userdata: -@oprfi_len: -@in_oprfi: -@out_oprfi: -@Returns: - - - - - - - -@session: -@cb: -@userdata: - - - - - - - -@GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA: - - - - - - -@type: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@session: -@list: -@Returns: - - - - - - - -@priority_cache: -@priorities: -@err_pos: -@Returns: - - - - - - - -@priority_cache: - - - - - - - -@session: -@priority: -@Returns: - - - - - - - -@session: -@priorities: -@err_pos: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@kx_algorithm: -@cipher_algorithm: -@mac_algorithm: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@version: -@Returns: - - - - - - - -@session: -@session_data: -@session_data_size: -@Returns: - - - - - - - -@session: -@session_data: -@session_data_size: -@Returns: - - - - - - - -@session: -@data: -@Returns: - - - - - - - - - - - - - - -@session: -@session_id: -@session_id_size: -@Returns: - - - - - - - - - - - - - - - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@finished: -@len: - - - - - - - -@session: -@func: - - - - - - - -@session: -@Returns: - - - - - - - -@Param1: -@key: -@data: -@Returns: - - - - - - - -@Param1: -@key: -@Returns: - - - - - - - -@Param1: -@key: -@Returns: - - - - - - - -@session: -@seconds: - - - - - - - -@session: - - - - - - - -@session: -@retr_func: - - - - - - - -@session: -@rem_func: - - - - - - - -@session: -@store_func: - - - - - - - -@session: -@ptr: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@session_entry: -@Returns: - - - - - - - -@Param1: -@Returns: - - - - - - - -@session: -@func: - - - - - - - -@session: -@max: - - - - - - - -@req_version: -@Returns: - - - - - - - -@session: - - - - - - - -@session: -@type: -@cred: -@Returns: - - - - - - - - - - - - - - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@res: -@dh_params: - - - - - - - -@res: -@func: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@sc: - - - - - - - -@res: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: - - - - - - - -@sc: - - - - - - - -@sc: - - - - - - - -@res: -@dh_params: - - - - - - - -@res: -@rsa_params: - - - - - - - -@res: -@flags: - - - - - - - -@res: -@max_bits: -@max_depth: - - - - - - - -@res: -@cafile: -@type: -@Returns: - - - - - - - -@res: -@ca: -@type: -@Returns: - - - - - - - -@res: -@crlfile: -@type: -@Returns: - - - - - - - -@res: -@CRL: -@type: -@Returns: - - - - - - - -@res: -@certfile: -@keyfile: -@type: -@Returns: - - - - - - - -@res: -@cert: -@key: -@type: -@Returns: - - - - - - - -@session: -@status: - - - - - - - -@res: -@pkcs12file: -@type: -@password: -@Returns: - - - - - - - -@res: -@p12blob: -@type: -@password: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@res: -@cert_list: -@cert_list_size: -@key: -@Returns: - - - - - - - -@res: -@ca_list: -@ca_list_size: -@Returns: - - - - - - - -@res: -@crl_list: -@crl_list_size: -@Returns: - - - - - - - -@sc: -@x509_ca_list: -@ncas: - - - - - - - -@sc: -@x509_crl_list: -@ncrls: - - - - - - - -@sc: -@keyring: - - - - - - - -@void: -@Returns: - - - - - - - -@void: - - - - - - - -@Param1: -@Returns: - - - - - - - -@Param1: -@Param2: -@Returns: - - - - - - - -@Param1: -@Returns: - - - - - - - -@Param1: - - - - - - - -@Param1: -@Param2: -@Returns: - - - - - - - -@alloc_func: -@secure_alloc_func: -@is_secure_func: -@realloc_func: -@free_func: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@Param1: -@Returns: - - - - - - - -@Varargs: -@Param2: - - - - - - - -@log_func: - - - - - - - -@level: - - - - - - - -@dh_params: -@Returns: - - - - - - - -@dh_params: - - - - - - - -@dh_params: -@prime: -@generator: -@Returns: - - - - - - - -@params: -@pkcs3_params: -@format: -@Returns: - - - - - - - -@params: -@bits: -@Returns: - - - - - - - -@params: -@format: -@params_data: -@params_data_size: -@Returns: - - - - - - - -@params: -@prime: -@generator: -@bits: -@Returns: - - - - - - - -@dst: -@src: -@Returns: - - - - - - - -@rsa_params: -@Returns: - - - - - - - -@rsa_params: - - - - - - - -@dst: -@src: -@Returns: - - - - - - - -@rsa_params: -@m: -@e: -@d: -@p: -@q: -@u: -@Returns: - - - - - - - -@params: -@bits: -@Returns: - - - - - - - -@params: -@m: -@e: -@d: -@p: -@q: -@u: -@bits: -@Returns: - - - - - - - -@params: -@format: -@params_data: -@params_data_size: -@Returns: - - - - - - - -@params: -@pkcs1_params: -@format: -@Returns: - - - - - - - -@Param1: -@Param2: -@Param3: -@Returns: - - - - - - - -@Param1: -@Param2: -@Param3: -@Returns: - - - - - - - -@session: -@ptr: - - - - - - - -@session: -@recv_ptr: -@send_ptr: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@recv_ptr: -@send_ptr: - - - - - - - -@session: -@num: - - - - - - - -@session: -@push_func: - - - - - - - -@session: -@pull_func: - - - - - - - -@session: -@err: - - - - - - - -@err: - - - - - - - -@session: -@ptr: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@status: - - - - - - - -@algo: -@data: -@result: -@result_size: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@res: -@username: -@password: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@res: -@password_file: -@password_conf_file: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@bits: - - - - - - - -@username: -@password: -@salt: -@generator: -@prime: -@res: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@cred: -@func: - - - - - - - -@cred: -@func: - - - - - - - -@data: -@result: -@result_size: -@Returns: - - - - - - - -@data: -@result: -@Returns: - - - - - - - -@b64_data: -@result: -@result_size: -@Returns: - - - - - - - -@b64_data: -@result: -@Returns: - - - - - - - -@GNUTLS_PSK_KEY_RAW: -@GNUTLS_PSK_KEY_HEX: - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@res: -@username: -@key: -@format: -@Returns: - - - - - - - -@sc: - - - - - - - -@sc: -@Returns: - - - - - - - -@res: -@password_file: -@Returns: - - - - - - - -@res: -@hint: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@cred: -@func: - - - - - - - -@cred: -@func: - - - - - - - -@data: -@result: -@result_size: -@Returns: - - - - - - - -@hex_data: -@result: -@result_size: -@Returns: - - - - - - - -@res: -@dh_params: - - - - - - - -@res: -@func: - - - - - - - -@password: -@psk_identity: -@psk_identity_hint: -@output_key: -@Returns: - - - - - - - -@GNUTLS_SAN_DNSNAME: -@GNUTLS_SAN_RFC822NAME: -@GNUTLS_SAN_URI: -@GNUTLS_SAN_IPADDRESS: -@GNUTLS_SAN_OTHERNAME: -@GNUTLS_SAN_DN: -@GNUTLS_SAN_OTHERNAME_XMPP: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@bits: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@raw_gen: -@raw_prime: -@Returns: - - - - - - - -@session: -@raw_key: -@Returns: - - - - - - - -@session: -@exponent: -@modulus: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@userdata: -@cert_type: -@cert: -@hash: -@signature: -@Returns: - - - - - - - -@session: -@sign_func: -@userdata: - - - - - - - -@session: -@userdata: -@Returns: - - - - - - - -@cred: -@func: - - - - - - - -@cred: -@func: - - - - - - - -@session: -@req: - - - - - - - -@session: -@list_size: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@status: -@Returns: - - - - - - - -@session: -@Returns: - - - - - - - -@msg: -@data: -@result: -@result_size: -@Returns: - - - - - - - -@header: -@b64_data: -@result: -@result_size: -@Returns: - - - - - - - -@msg: -@data: -@result: -@Returns: - - - - - - - -@header: -@b64_data: -@result: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@res: -@func: - - - - - - - -@res: -@func: - - - - - - - -@res: -@func: - - - - - - - -@hex_data: -@hex_size: -@bin_data: -@bin_size: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/intprops.sgml gnutls26-2.4.1/doc/reference/tmpl/intprops.sgml --- gnutls26-2.8.6/doc/reference/tmpl/intprops.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/intprops.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,96 +0,0 @@ - -intprops - - - - - - - - - - - - - - - - - - - - - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - - - - - - -@t: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/keydb.sgml gnutls26-2.4.1/doc/reference/tmpl/keydb.sgml --- gnutls26-2.8.6/doc/reference/tmpl/keydb.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/keydb.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ - -keydb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/libtasn1.sgml gnutls26-2.4.1/doc/reference/tmpl/libtasn1.sgml --- gnutls26-2.8.6/doc/reference/tmpl/libtasn1.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/libtasn1.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,743 +0,0 @@ - -libtasn1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@file_name: -@definitions: -@errorDescription: -@Returns: - - - - - - - -@inputFileName: -@outputFileName: -@vectorName: -@errorDescription: -@Returns: - - - - - - - -@array: -@definitions: -@errorDescription: -@Returns: - - - - - - - -@out: -@structure: -@name: -@mode: - - - - - - - -@definitions: -@source_name: -@element: -@Returns: - - - - - - - -@structure: -@Returns: - - - - - - - -@structure: -@element_name: -@Returns: - - - - - - - -@node_root: -@name: -@ivalue: -@len: -@Returns: - - - - - - - -@root: -@name: -@ivalue: -@len: -@Returns: - - - - - - - -@element: -@name: -@num: -@Returns: - - - - - - - -@element: -@name: -@ider: -@len: -@ErrorDescription: -@Returns: - - - - - - - -@element: -@ider: -@len: -@errorDescription: -@Returns: - - - - - - - -@structure: -@elementName: -@ider: -@len: -@errorDescription: -@Returns: - - - - - - - -@element: -@ider: -@len: -@name_element: -@start: -@end: -@Returns: - - - - - - - -@definitions: -@element: -@Returns: - - - - - - - -@definitions: -@element: -@octetName: -@objectName: -@Returns: - - - - - - - -@root: -@name: -@tagValue: -@classValue: -@Returns: - - - - - - - -@definitions: -@oidValue: -@Returns: - - - - - - - -@req_version: -@Returns: - - - - - - - -@error: -@Returns: - - - - - - - -@error: - - - - - - - -@der: -@der_len: -@cls: -@len: -@tag: -@Returns: - - - - - - - -@str: -@str_len: -@der: -@der_len: - - - - - - - -@der: -@der_len: -@ret_len: -@str: -@str_size: -@str_len: -@Returns: - - - - - - - -@str: -@bit_len: -@der: -@der_len: - - - - - - - -@der: -@der_len: -@ret_len: -@str: -@str_size: -@bit_len: -@Returns: - - - - - - - -@der: -@der_len: -@len: -@Returns: - - - - - - - -@ber: -@ber_len: -@len: -@Returns: - - - - - - - -@len: -@ans: -@ans_len: - - - - - - - -@pointer: -@name: -@Returns: - - - - - - - -@dst: -@dst_name: -@src: -@src_name: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@error: -@Returns: - - - - - - - -@error: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/link-warning.sgml gnutls26-2.4.1/doc/reference/tmpl/link-warning.sgml --- gnutls26-2.8.6/doc/reference/tmpl/link-warning.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/link-warning.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ - -link-warning - - - - - - - - - - - - - - - - - - - - - - - - - - - -@message: - - - - - - - -@file: -@line: -@message: - - - - - - - -@file: -@line: -@message: - - - - - - - -@message: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/openpgp_int.sgml gnutls26-2.4.1/doc/reference/tmpl/openpgp_int.sgml --- gnutls26-2.8.6/doc/reference/tmpl/openpgp_int.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/openpgp_int.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ - -openpgp_int - - - - - - - - - - - - - - - - - - - - - - - - - - - -@dst: -@src: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/openpgp.sgml gnutls26-2.4.1/doc/reference/tmpl/openpgp.sgml --- gnutls26-2.8.6/doc/reference/tmpl/openpgp.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/openpgp.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,808 +0,0 @@ - -openpgp - - - - - - - - - - - - - - - - - - - - - - - - - - - -@GNUTLS_OPENPGP_FMT_RAW: -@GNUTLS_OPENPGP_FMT_BASE64: - - - - - - - - - - - - -@key: -@Returns: - - - - - - - -@key: - - - - - - - -@key: -@data: -@format: -@Returns: - - - - - - - -@key: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@cert: -@format: -@out: -@Returns: - - - - - - - -@key: -@key_usage: -@Returns: - - - - - - - -@key: -@fpr: -@fprlen: -@Returns: - - - - - - - -@key: -@idx: -@fpr: -@fprlen: -@Returns: - - - - - - - -@key: -@idx: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@key: -@bits: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@hostname: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@key: -@idx: -@bits: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@key: -@idx: -@keyid: -@Returns: - - - - - - - -@key: -@idx: -@key_usage: -@Returns: - - - - - - - -@crt: -@idx: -@p: -@q: -@g: -@y: -@Returns: - - - - - - - -@crt: -@idx: -@m: -@e: -@Returns: - - - - - - - -@crt: -@p: -@q: -@g: -@y: -@Returns: - - - - - - - -@crt: -@m: -@e: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: - - - - - - - -@key: -@bits: -@Returns: - - - - - - - -@key: -@data: -@format: -@password: -@flags: -@Returns: - - - - - - - -@key: -@hash: -@signature: -@Returns: - - - - - - - -@key: -@fpr: -@fprlen: -@Returns: - - - - - - - -@key: -@idx: -@fpr: -@fprlen: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@idx: -@bits: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@key: -@idx: -@keyid: -@Returns: - - - - - - - -@key: -@idx: -@Returns: - - - - - - - -@pkey: -@idx: -@p: -@q: -@g: -@y: -@x: -@Returns: - - - - - - - -@pkey: -@idx: -@m: -@e: -@d: -@p: -@q: -@u: -@Returns: - - - - - - - -@pkey: -@p: -@q: -@g: -@y: -@x: -@Returns: - - - - - - - -@pkey: -@m: -@e: -@d: -@p: -@q: -@u: -@Returns: - - - - - - - -@key: -@format: -@password: -@flags: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@key: -@keyid: -@Returns: - - - - - - - -@crt: -@keyid: -@flag: -@Returns: - - - - - - - -@keyring: -@Returns: - - - - - - - -@keyring: - - - - - - - -@keyring: -@data: -@format: -@Returns: - - - - - - - -@ring: -@keyid: -@flags: -@Returns: - - - - - - - -@key: -@keyring: -@flags: -@verify: -@Returns: - - - - - - - -@key: -@flags: -@verify: -@Returns: - - - - - - - -@ring: -@idx: -@cert: -@Returns: - - - - - - - -@ring: -@Returns: - - - - - - - -@session: -@keyfpr: -@keyfpr_length: -@key: -@Returns: - - - - - - - -@session: -@func: - - - - - - - -@res: -@key: -@pkey: -@Returns: - - - - - - - -@res: -@certfile: -@keyfile: -@format: -@Returns: - - - - - - - -@res: -@cert: -@key: -@format: -@Returns: - - - - - - - -@res: -@certfile: -@keyfile: -@subkey_id: -@format: -@Returns: - - - - - - - -@res: -@cert: -@key: -@subkey_id: -@format: -@Returns: - - - - - - - -@c: -@data: -@dlen: -@format: -@Returns: - - - - - - - -@c: -@file: -@format: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/openssl.sgml gnutls26-2.4.1/doc/reference/tmpl/openssl.sgml --- gnutls26-2.8.6/doc/reference/tmpl/openssl.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/openssl.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1131 +0,0 @@ - -openssl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@gnutls_state: -@gnutls_cred: -@ctx: -@ciphersuite: -@last_error: -@shutdown: -@state: -@options: -@verify_callback: -@verify_mode: -@rfd: -@wfd: - - - - - - - - - - - - - -@ctx: - - - - - - - -@Varargs: -@Param2: -@Returns: - - - - - - - - - - - - - - -@handle: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@ssl: - - - - - - - -@ssl: - - - - - - - -@ssl: -@bp: - - - - - - - -@ssl: - - - - - - - -@void: -@Returns: - - - - - - - -@void: - - - - - - - -@method: -@Returns: - - - - - - - -@ctx: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@certfile: -@type: -@Returns: - - - - - - - -@ctx: -@keyfile: -@type: -@Returns: - - - - - - - -@ctx: -@verify_mode: -@int, X509_STORE_CTX *: - - - - - - - -@ctx: -@options: -@Returns: - - - - - - - -@ctx: -@Param2: -@Returns: - - - - - - - -@ctx: -@list: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ctx: -@Returns: - - - - - - - -@ssl: - - - - - - - -@void: - - - - - - - -@ssl: -@ret: -@Returns: - - - - - - - -@ssl: -@fd: -@Returns: - - - - - - - -@ssl: -@fd: -@Returns: - - - - - - - -@ssl: -@fd: -@Returns: - - - - - - - -@ssl: -@rbio: -@wbio: - - - - - - - -@ssl: - - - - - - - -@ssl: -@Returns: - - - - - - - -@ssl: -@verify_mode: -@int, X509_STORE_CTX *: - - - - - - - -@ssl: -@Returns: - - - - - - - -@ssl: -@Returns: - - - - - - - -@ssl: -@Returns: - - - - - - - -@ssl: -@Returns: - - - - - - - -@ssl: -@buf: -@len: -@Returns: - - - - - - - -@ssl: -@buf: -@len: -@Returns: - - - - - - - -@ssl: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@s: - - - - - - - -@s: - - - - - - - -@s: - - - - - - - -@s: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@ssl: -@Returns: - - - - - - - -@cipher: -@Returns: - - - - - - - -@cipher: -@bits: -@Returns: - - - - - - - -@cipher: -@Returns: - - - - - - - -@cipher: -@buf: -@size: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@name: -@buf: -@len: -@Returns: - - - - - - - -@cert: - - - - - - - -@gnutls_state: -@fd: - - - - - - - -@sock: -@close_flag: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@e: -@buf: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@buf: -@num: - - - - - - - -@buf: -@num: -@Returns: - - - - - - - -@buf: -@num: -@Returns: - - - - - - - -@buf: -@len: -@Returns: - - - - - - - -@name: -@Param2: -@Returns: - - - - - - - -@name: -@Returns: - - - - - - - -@path: -@bytes: -@Returns: - - - - - - - -@p: - - - - - - - - - - - - - - -@ctx: - - - - - - - -@ctx: -@buf: -@len: - - - - - - - -@md: -@ctx: - - - - - - - -@buf: -@len: -@md: -@Returns: - - - - - - - -@ctx: - - - - - - - -@ctx: -@buf: -@len: - - - - - - - -@md: -@ctx: - - - - - - - -@buf: -@len: -@md: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/pkcs12.sgml gnutls26-2.4.1/doc/reference/tmpl/pkcs12.sgml --- gnutls26-2.8.6/doc/reference/tmpl/pkcs12.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/pkcs12.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,286 +0,0 @@ - -pkcs12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@pkcs12: -@Returns: - - - - - - - -@pkcs12: - - - - - - - -@pkcs12: -@data: -@format: -@flags: -@Returns: - - - - - - - -@pkcs12: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@pkcs12: -@indx: -@bag: -@Returns: - - - - - - - -@pkcs12: -@bag: -@Returns: - - - - - - - -@pkcs12: -@pass: -@Returns: - - - - - - - -@pkcs12: -@pass: -@Returns: - - - - - - - -@bag: -@pass: -@Returns: - - - - - - - -@bag: -@pass: -@flags: -@Returns: - - - - - - - -@GNUTLS_BAG_EMPTY: -@GNUTLS_BAG_PKCS8_ENCRYPTED_KEY: -@GNUTLS_BAG_PKCS8_KEY: -@GNUTLS_BAG_CERTIFICATE: -@GNUTLS_BAG_CRL: -@GNUTLS_BAG_ENCRYPTED: -@GNUTLS_BAG_UNKNOWN: - - - - - - -@bag: -@indx: -@Returns: - - - - - - - -@bag: -@indx: -@data: -@Returns: - - - - - - - -@bag: -@type: -@data: -@Returns: - - - - - - - -@bag: -@crl: -@Returns: - - - - - - - -@bag: -@crt: -@Returns: - - - - - - - -@bag: -@Returns: - - - - - - - -@bag: - - - - - - - -@bag: -@Returns: - - - - - - - -@bag: -@indx: -@id: -@Returns: - - - - - - - -@bag: -@indx: -@id: -@Returns: - - - - - - - -@bag: -@indx: -@name: -@Returns: - - - - - - - -@bag: -@indx: -@name: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/random.sgml gnutls26-2.4.1/doc/reference/tmpl/random.sgml --- gnutls26-2.8.6/doc/reference/tmpl/random.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/random.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ - -random - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/stat.sgml gnutls26-2.4.1/doc/reference/tmpl/stat.sgml --- gnutls26-2.8.6/doc/reference/tmpl/stat.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/stat.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,391 +0,0 @@ - -stat - - - - - - - - - - - - - - - - - - - - - - - - - - - -@message: - - - - - - - -@file: -@line: -@message: - - - - - - - -@file: -@line: -@message: - - - - - - - -@message: - - - - - - - - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@m: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@p: - - - - - - - -@m: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@name: -@buf: -@Returns: - - - - - - - -@name: -@mode: -@Returns: - - - - - - - -@filename: -@mode: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/verify.sgml gnutls26-2.4.1/doc/reference/tmpl/verify.sgml --- gnutls26-2.8.6/doc/reference/tmpl/verify.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/verify.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ - -verify - - - - - - - - - - - - - - - - - - - - - - - - - - - -@R: - - - - - - - -@Param1: -@data: -@signature: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/w32sock.sgml gnutls26-2.4.1/doc/reference/tmpl/w32sock.sgml --- gnutls26-2.8.6/doc/reference/tmpl/w32sock.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/w32sock.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ - -w32sock - - - - - - - - - - - - - - - - - - - - - - - - - - - -@fd: - - - - - - - -@fh: - - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/x509_int.sgml gnutls26-2.4.1/doc/reference/tmpl/x509_int.sgml --- gnutls26-2.8.6/doc/reference/tmpl/x509_int.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/x509_int.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,282 +0,0 @@ - -x509_int - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@cert: -@issuer: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@PBES2: -@PKCS12_3DES_SHA1: -@PKCS12_ARCFOUR_SHA1: -@PKCS12_RC2_40_SHA1: - diff -Nru gnutls26-2.8.6/doc/reference/tmpl/x509.sgml gnutls26-2.4.1/doc/reference/tmpl/x509.sgml --- gnutls26-2.8.6/doc/reference/tmpl/x509.sgml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/tmpl/x509.sgml 1970-01-01 01:00:00.000000000 +0100 @@ -1,2465 +0,0 @@ - -x509 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED: - - - - - - -@cert: -@Returns: - - - - - - - -@cert: - - - - - - - -@cert: -@data: -@format: -@Returns: - - - - - - - -@certs: -@cert_max: -@data: -@format: -@flags: -@Returns: - - - - - - - -@cert: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@cert: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@cert: -@oid: -@indx: -@raw_flag: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@cert: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@cert: -@oid: -@indx: -@raw_flag: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@cert: -@hostname: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@cert: -@sig: -@sizeof_sig: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@crt: -@flags: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@cert: -@id: -@id_size: -@Returns: - - - - - - - -@cert: -@ret: -@ret_size: -@critical: -@Returns: - - - - - - - -@cert: -@ret: -@ret_size: -@critical: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@reason_flags: -@critical: -@Returns: - - - - - - - -@crt: -@type: -@data: -@data_size: -@reason_flags: -@Returns: - - - - - - - -@crt: -@type: -@data_string: -@reason_flags: -@Returns: - - - - - - - -@dst: -@src: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@cert: -@Returns: - - - - - - - -@cert: -@result: -@result_size: -@Returns: - - - - - - - -@cert: -@bits: -@Returns: - - - - - - - -@crt: -@m: -@e: -@Returns: - - - - - - - -@crt: -@p: -@q: -@g: -@y: -@Returns: - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@critical: -@Returns: - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@ret_type: -@critical: -@Returns: - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@Returns: - - - - - - - -@cert: -@critical: -@Returns: - - - - - - - -@cert: -@critical: -@ca: -@pathlen: -@Returns: - - - - - - - -@cert: -@key_usage: -@critical: -@Returns: - - - - - - - -@crt: -@usage: -@Returns: - - - - - - - -@cert: -@critical: -@pathlen: -@policyLanguage: -@policy: -@sizeof_policy: -@Returns: - - - - - - - -@oid: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@cert: -@oid: -@indx: -@buf: -@sizeof_buf: -@critical: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@critical: -@Returns: - - - - - - - -@cert: -@indx: -@data: -@sizeof_data: -@Returns: - - - - - - - -@crt: -@oid: -@buf: -@sizeof_buf: -@critical: -@Returns: - - - - - - - -@crt: -@oid: -@raw_flag: -@name: -@sizeof_name: -@Returns: - - - - - - - -@crt: -@oid: -@raw_flag: -@name: -@sizeof_name: -@Returns: - - - - - - - -@crt: -@version: -@Returns: - - - - - - - -@crt: -@key: -@Returns: - - - - - - - -@crt: -@ca: -@Returns: - - - - - - - -@crt: -@ca: -@pathLenConstraint: -@Returns: - - - - - - - -@crt: -@type: -@data_string: -@Returns: - - - - - - - -@crt: -@type: -@data: -@data_size: -@flags: -@Returns: - - - - - - - -@crt: -@issuer: -@issuer_key: -@Returns: - - - - - - - -@crt: -@issuer: -@issuer_key: -@dig: -@flags: -@Returns: - - - - - - - -@cert: -@act_time: -@Returns: - - - - - - - -@cert: -@exp_time: -@Returns: - - - - - - - -@cert: -@serial: -@serial_size: -@Returns: - - - - - - - -@cert: -@id: -@id_size: -@Returns: - - - - - - - -@crt: -@eecrt: -@raw_flag: -@name: -@sizeof_name: -@Returns: - - - - - - - -@crt: -@pathLenConstraint: -@policyLanguage: -@policy: -@sizeof_policy: -@Returns: - - - - - - - -@cert: -@format: -@out: -@Returns: - - - - - - - -@crl: -@format: -@out: -@Returns: - - - - - - - -@cert: -@start: -@Returns: - - - - - - - -@cert: -@start: -@Returns: - - - - - - - -@idn: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@idn: -@indx: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@idn: -@oid: -@indx: -@raw_flag: -@buf: -@sizeof_buf: -@Returns: - - - - - - - - - - - - - -@cert: -@dn: -@Returns: - - - - - - - -@cert: -@dn: -@Returns: - - - - - - - -@dn: -@irdn: -@iava: -@ava: -@Returns: - - - - - - - -@dn: -@Returns: - - - - - - - -@dn: -@data: -@Returns: - - - - - - - -@dn: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@dn: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: - - - - - - - -@crl: -@data: -@format: -@Returns: - - - - - - - -@crl: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@crl: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crl: -@oid: -@indx: -@raw_flag: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crl: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: -@sig: -@sizeof_sig: -@Returns: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: -@Returns: - - - - - - - -@crl: -@indx: -@serial: -@serial_size: -@t: -@Returns: - - - - - - - - - - - - - - - - - - - - - -@crl: -@issuer: -@Returns: - - - - - - - -@crl: -@version: -@Returns: - - - - - - - -@crl: -@issuer: -@issuer_key: -@Returns: - - - - - - - -@crl: -@issuer: -@issuer_key: -@dig: -@flags: -@Returns: - - - - - - - -@crl: -@act_time: -@Returns: - - - - - - - -@crl: -@exp_time: -@Returns: - - - - - - - -@crl: -@serial: -@serial_size: -@revocation_time: -@Returns: - - - - - - - -@crl: -@crt: -@revocation_time: -@Returns: - - - - - - - -@crl: -@ret: -@ret_size: -@critical: -@Returns: - - - - - - - -@crl: -@ret: -@ret_size: -@critical: -@Returns: - - - - - - - -@crl: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@crl: -@indx: -@oid: -@sizeof_oid: -@critical: -@Returns: - - - - - - - -@crl: -@indx: -@data: -@sizeof_data: -@Returns: - - - - - - - -@crl: -@id: -@id_size: -@Returns: - - - - - - - -@crl: -@nr: -@nr_size: -@Returns: - - - - - - - - - - - - - - - - - - - -@pkcs7: -@Returns: - - - - - - - -@pkcs7: - - - - - - - -@pkcs7: -@data: -@format: -@Returns: - - - - - - - -@pkcs7: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@pkcs7: -@Returns: - - - - - - - -@pkcs7: -@indx: -@certificate: -@certificate_size: -@Returns: - - - - - - - -@pkcs7: -@crt: -@Returns: - - - - - - - -@pkcs7: -@crt: -@Returns: - - - - - - - -@pkcs7: -@indx: -@Returns: - - - - - - - -@pkcs7: -@indx: -@crl: -@crl_size: -@Returns: - - - - - - - -@pkcs7: -@Returns: - - - - - - - -@pkcs7: -@crl: -@Returns: - - - - - - - -@pkcs7: -@crl: -@Returns: - - - - - - - -@pkcs7: -@indx: -@Returns: - - - - - - - -@GNUTLS_VERIFY_DISABLE_CA_SIGN: -@GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT: -@GNUTLS_VERIFY_DO_NOT_ALLOW_SAME: -@GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT: -@GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2: -@GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5: -@GNUTLS_VERIFY_DISABLE_TIME_CHECKS: - - - - - - -@cert: -@issuer: -@Returns: - - - - - - - -@cert_list: -@cert_list_length: -@CA_list: -@CA_list_length: -@CRL_list: -@CRL_list_length: -@flags: -@verify: -@Returns: - - - - - - - -@cert: -@CA_list: -@CA_list_length: -@flags: -@verify: -@Returns: - - - - - - - -@crl: -@CA_list: -@CA_list_length: -@flags: -@verify: -@Returns: - - - - - - - -@cert: -@crl_list: -@crl_list_length: -@Returns: - - - - - - - -@cert: -@algo: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@critical: -@Returns: - - - - - - - -@cert: -@oid: -@critical: -@Returns: - - - - - - - -@GNUTLS_PKCS_PLAIN: -@GNUTLS_PKCS_USE_PKCS12_3DES: -@GNUTLS_PKCS_USE_PKCS12_ARCFOUR: -@GNUTLS_PKCS_USE_PKCS12_RC2_40: -@GNUTLS_PKCS_USE_PBES2_3DES: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@key: -@Returns: - - - - - - - -@key: - - - - - - - -@dst: -@src: -@Returns: - - - - - - - -@key: -@data: -@format: -@Returns: - - - - - - - -@key: -@data: -@format: -@password: -@flags: -@Returns: - - - - - - - -@key: -@m: -@e: -@d: -@p: -@q: -@u: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@p: -@q: -@g: -@y: -@x: -@Returns: - - - - - - - -@key: -@p: -@q: -@g: -@y: -@x: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@key: -@flags: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@key: -@algo: -@bits: -@flags: -@Returns: - - - - - - - -@key: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@key: -@format: -@password: -@flags: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@key: -@m: -@e: -@d: -@p: -@q: -@u: -@Returns: - - - - - - - -@key: -@digest: -@flags: -@data: -@signature: -@signature_size: -@Returns: - - - - - - - -@key: -@flags: -@data: -@signature: -@Returns: - - - - - - - -@crt: -@flags: -@data: -@signature: -@Returns: - - - - - - - -@crt: -@flags: -@hash: -@signature: -@Returns: - - - - - - - -@crt: -@signature: -@hash: -@Returns: - - - - - - - -@key: -@hash: -@signature: -@Returns: - - - - - - - - - - - - - - - - - - - -@crq: -@format: -@out: -@Returns: - - - - - - - -@crq: -@Returns: - - - - - - - -@crq: - - - - - - - -@crq: -@data: -@format: -@Returns: - - - - - - - -@crq: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crq: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@crq: -@oid: -@indx: -@raw_flag: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crq: -@oid: -@raw_flag: -@data: -@sizeof_data: -@Returns: - - - - - - - -@crq: -@version: -@Returns: - - - - - - - -@crq: -@Returns: - - - - - - - -@crq: -@key: -@Returns: - - - - - - - -@crq: -@key: -@dig: -@flags: -@Returns: - - - - - - - -@crq: -@key: -@Returns: - - - - - - - -@crq: -@pass: -@Returns: - - - - - - - -@crq: -@pass: -@sizeof_pass: -@Returns: - - - - - - - -@crq: -@oid: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crq: -@oid: -@indx: -@buf: -@sizeof_buf: -@Returns: - - - - - - - -@crq: -@format: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@crt: -@crq: -@Returns: - - - - - - - -@crt: -@crq: -@Returns: - - - - - - - -@crq: -@m: -@e: -@Returns: - - - - - - - -@crq: -@nt: -@data: -@data_size: -@flags: -@Returns: - - - - - - - -@crq: -@usage: -@Returns: - - - - - - - -@crq: -@ca: -@pathLenConstraint: -@Returns: - - - - - - - -@cert: -@oid: -@critical: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@critical: -@Returns: - - - - - - - -@cert: -@indx: -@data: -@sizeof_data: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@critical: -@Returns: - - - - - - - -@cert: -@indx: -@data: -@sizeof_data: -@Returns: - - - - - - - -@cert: -@indx: -@oid: -@sizeof_oid: -@Returns: - - - - - - - -@crq: -@bits: -@Returns: - - - - - - - -@crq: -@flags: -@output_data: -@output_data_size: -@Returns: - - - - - - - -@crq: -@m: -@e: -@Returns: - - - - - - - -@cert: -@key_usage: -@critical: -@Returns: - - - - - - - -@cert: -@critical: -@ca: -@pathlen: -@Returns: - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@ret_type: -@critical: -@Returns: - - - - - - - -@cert: -@seq: -@ret: -@ret_size: -@Returns: - - - - - - - -@cert: -@oid: -@indx: -@buf: -@sizeof_buf: -@critical: -@Returns: - - diff -Nru gnutls26-2.8.6/doc/reference/xml/alignof.xml gnutls26-2.4.1/doc/reference/xml/alignof.xml --- gnutls26-2.8.6/doc/reference/xml/alignof.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/alignof.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ - - - - -alignof -3 - - GNUTLS Library - - - -alignof - - - - -Synopsis - -#define alignof - - - - -Description - - - - -Details - -alignof -alignof -#define alignof - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/api-index-2.0.xml gnutls26-2.4.1/doc/reference/xml/api-index-2.0.xml --- gnutls26-2.8.6/doc/reference/xml/api-index-2.0.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/api-index-2.0.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ - - - -A -asn1_get_length_ber, function in libtasn1 - - diff -Nru gnutls26-2.8.6/doc/reference/xml/api-index-2.6.0.xml gnutls26-2.4.1/doc/reference/xml/api-index-2.6.0.xml --- gnutls26-2.8.6/doc/reference/xml/api-index-2.6.0.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/api-index-2.6.0.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ - - - -R -gnutls_register_md5_handler, function in extra - -S -gnutls_session_set_finished_function, function in gnutls -gnutls_strerror_name, function in gnutls - - diff -Nru gnutls26-2.8.6/doc/reference/xml/api-index-2.8.0.xml gnutls26-2.4.1/doc/reference/xml/api-index-2.8.0.xml --- gnutls26-2.8.6/doc/reference/xml/api-index-2.8.0.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/api-index-2.8.0.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ - - - -C -gnutls_certificate_set_x509_simple_pkcs12_mem, function in gnutls - - diff -Nru gnutls26-2.8.6/doc/reference/xml/api-index-deprecated.xml gnutls26-2.4.1/doc/reference/xml/api-index-deprecated.xml --- gnutls26-2.8.6/doc/reference/xml/api-index-deprecated.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/api-index-deprecated.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ - - - -L -libtasn1_perror, function in libtasn1 -libtasn1_strerror, function in libtasn1 -LIBTASN1_VERSION, macro in libtasn1 - -M -MAX_ERROR_DESCRIPTION_SIZE, macro in libtasn1 -MAX_NAME_SIZE, macro in libtasn1 - - diff -Nru gnutls26-2.8.6/doc/reference/xml/api-index-full.xml gnutls26-2.4.1/doc/reference/xml/api-index-full.xml --- gnutls26-2.8.6/doc/reference/xml/api-index-full.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/api-index-full.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1239 +0,0 @@ - - - -A -gnutls_alert_description_t, enum in gnutls -gnutls_alert_get, function in gnutls -gnutls_alert_get_name, function in gnutls -gnutls_alert_level_t, enum in gnutls -gnutls_alert_send, function in gnutls -gnutls_alert_send_appropriate, function in gnutls -alignof, macro in alignof -gnutls_alloc_function, user_function in gnutls -gnutls_anon_allocate_client_credentials, function in gnutls -gnutls_anon_allocate_server_credentials, function in gnutls -gnutls_anon_free_client_credentials, function in gnutls -gnutls_anon_free_server_credentials, function in gnutls -gnutls_anon_set_params_function, function in gnutls -gnutls_anon_set_server_dh_params, function in gnutls -gnutls_anon_set_server_params_function, function in gnutls -ASN1_API, macro in libtasn1 -asn1_array2tree, function in libtasn1 -ASN1_ARRAY_ERROR, macro in libtasn1 -ASN1_ARRAY_TYPE, typedef in libtasn1 -asn1_bit_der, function in libtasn1 -asn1_check_version, function in libtasn1 -ASN1_CLASS_APPLICATION, macro in libtasn1 -ASN1_CLASS_CONTEXT_SPECIFIC, macro in libtasn1 -ASN1_CLASS_PRIVATE, macro in libtasn1 -ASN1_CLASS_STRUCTURED, macro in libtasn1 -ASN1_CLASS_UNIVERSAL, macro in libtasn1 -asn1_copy_node, function in libtasn1 -asn1_create_element, function in libtasn1 -asn1_delete_element, function in libtasn1 -asn1_delete_structure, function in libtasn1 -asn1_der_coding, function in libtasn1 -asn1_der_decoding, function in libtasn1 -asn1_der_decoding_element, function in libtasn1 -asn1_der_decoding_startEnd, function in libtasn1 -ASN1_DER_ERROR, macro in libtasn1 -ASN1_DER_OVERFLOW, macro in libtasn1 -ASN1_ELEMENT_NOT_EMPTY, macro in libtasn1 -ASN1_ELEMENT_NOT_FOUND, macro in libtasn1 -ASN1_ERROR_TYPE_ANY, macro in libtasn1 -asn1_expand_any_defined_by, function in libtasn1 -asn1_expand_octet_string, function in libtasn1 -ASN1_FILE_NOT_FOUND, macro in libtasn1 -asn1_find_node, function in libtasn1 -asn1_find_structure_from_oid, function in libtasn1 -ASN1_GENERIC_ERROR, macro in libtasn1 -asn1_get_bit_der, function in libtasn1 -asn1_get_length_ber, function in libtasn1 -asn1_get_length_der, function in libtasn1 -asn1_get_octet_der, function in libtasn1 -asn1_get_tag_der, function in libtasn1 -ASN1_IDENTIFIER_NOT_FOUND, macro in libtasn1 -asn1_length_der, function in libtasn1 -ASN1_MAX_ERROR_DESCRIPTION_SIZE, macro in x509_int -ASN1_MAX_NAME_SIZE, macro in x509_int -ASN1_MEM_ALLOC_ERROR, macro in libtasn1 -ASN1_MEM_ERROR, macro in libtasn1 -ASN1_NAME_TOO_LONG, macro in libtasn1 -asn1_number_of_elements, function in libtasn1 -asn1_octet_der, function in libtasn1 -asn1_parser2array, function in libtasn1 -asn1_parser2tree, function in libtasn1 -asn1_perror, function in libtasn1 -ASN1_PRINT_ALL, macro in libtasn1 -ASN1_PRINT_NAME, macro in libtasn1 -ASN1_PRINT_NAME_TYPE, macro in libtasn1 -ASN1_PRINT_NAME_TYPE_VALUE, macro in libtasn1 -asn1_print_structure, function in libtasn1 -asn1_read_tag, function in libtasn1 -asn1_read_value, function in libtasn1 -asn1_retCode, typedef in libtasn1 -asn1_strerror, function in libtasn1 -ASN1_SUCCESS, macro in libtasn1 -ASN1_SYNTAX_ERROR, macro in libtasn1 -ASN1_TAG_BIT_STRING, macro in libtasn1 -ASN1_TAG_BOOLEAN, macro in libtasn1 -ASN1_TAG_ENUMERATED, macro in libtasn1 -ASN1_TAG_ERROR, macro in libtasn1 -ASN1_TAG_GENERALIZEDTime, macro in libtasn1 -ASN1_TAG_GENERALSTRING, macro in libtasn1 -ASN1_TAG_IMPLICIT, macro in libtasn1 -ASN1_TAG_INTEGER, macro in libtasn1 -ASN1_TAG_NULL, macro in libtasn1 -ASN1_TAG_OBJECT_ID, macro in libtasn1 -ASN1_TAG_OCTET_STRING, macro in libtasn1 -ASN1_TAG_SEQUENCE, macro in libtasn1 -ASN1_TAG_SET, macro in libtasn1 -ASN1_TAG_UTCTime, macro in libtasn1 -ASN1_TYPE, typedef in libtasn1 -ASN1_TYPE_EMPTY, macro in libtasn1 -ASN1_VALUE_NOT_FOUND, macro in libtasn1 -ASN1_VALUE_NOT_VALID, macro in libtasn1 -ASN1_VERSION, macro in libtasn1 -asn1_write_value, function in libtasn1 -gnutls_auth_client_get_type, function in gnutls -gnutls_auth_get_type, function in gnutls -gnutls_auth_server_get_type, function in gnutls - -B -BAG_CERTIFICATE, macro in x509_int -BAG_CRL, macro in x509_int -BAG_PKCS8_ENCRYPTED_KEY, macro in x509_int -BAG_PKCS8_KEY, macro in x509_int -bigint_addm, user_function in crypto -bigint_add_ui, user_function in crypto -bigint_cmp, user_function in crypto -bigint_cmp_ui, user_function in crypto -bigint_div, user_function in crypto -gnutls_bigint_format_t, enum in crypto -bigint_generate_group, user_function in crypto -bigint_mod, user_function in crypto -bigint_mul, user_function in crypto -bigint_mulm, user_function in crypto -bigint_mul_ui, user_function in crypto -bigint_new, user_function in crypto -bigint_powm, user_function in crypto -bigint_prime_check, user_function in crypto -bigint_print, user_function in crypto -bigint_release, user_function in crypto -bigint_scan, user_function in crypto -bigint_set, user_function in crypto -bigint_set_ui, user_function in crypto -bigint_subm, user_function in crypto -bigint_sub_ui, user_function in crypto -bigint_t, typedef in crypto -BIO_get_fd, function in openssl -BIO_new_socket, function in openssl -gnutls_bye, function in gnutls - -C -gnutls_calloc, variable in gnutls -gnutls_calloc_function, user_function in gnutls -gnutls_certificate_activation_time_peers, function in gnutls -gnutls_certificate_allocate_credentials, function in gnutls -gnutls_certificate_client_get_request_status, function in gnutls -gnutls_certificate_client_set_retrieve_function, function in gnutls -gnutls_certificate_credentials_st, struct in gnutls -gnutls_certificate_expiration_time_peers, function in gnutls -gnutls_certificate_free_cas, function in gnutls -gnutls_certificate_free_ca_names, function in gnutls -gnutls_certificate_free_credentials, function in gnutls -gnutls_certificate_free_crls, function in gnutls -gnutls_certificate_free_keys, function in gnutls -gnutls_certificate_get_openpgp_keyring, function in gnutls -gnutls_certificate_get_ours, function in gnutls -gnutls_certificate_get_peers, function in gnutls -gnutls_certificate_get_x509_cas, function in gnutls -gnutls_certificate_get_x509_crls, function in gnutls -gnutls_certificate_import_flags, enum in x509 -gnutls_certificate_print_formats_t, enum in gnutls -gnutls_certificate_request_t, enum in gnutls -gnutls_certificate_send_x509_rdn_sequence, function in gnutls -gnutls_certificate_server_set_request, function in gnutls -gnutls_certificate_server_set_retrieve_function, function in gnutls -gnutls_certificate_set_dh_params, function in gnutls -gnutls_certificate_set_openpgp_key, function in openpgp -gnutls_certificate_set_openpgp_keyring_file, function in openpgp -gnutls_certificate_set_openpgp_keyring_mem, function in openpgp -gnutls_certificate_set_openpgp_key_file, function in openpgp -gnutls_certificate_set_openpgp_key_file2, function in openpgp -gnutls_certificate_set_openpgp_key_mem, function in openpgp -gnutls_certificate_set_openpgp_key_mem2, function in openpgp -gnutls_certificate_set_params_function, function in gnutls -gnutls_certificate_set_rsa_export_params, function in gnutls -gnutls_certificate_set_verify_flags, function in gnutls -gnutls_certificate_set_verify_limits, function in gnutls -gnutls_certificate_set_x509_crl, function in gnutls -gnutls_certificate_set_x509_crl_file, function in gnutls -gnutls_certificate_set_x509_crl_mem, function in gnutls -gnutls_certificate_set_x509_key, function in gnutls -gnutls_certificate_set_x509_key_file, function in gnutls -gnutls_certificate_set_x509_key_mem, function in gnutls -gnutls_certificate_set_x509_simple_pkcs12_file, function in gnutls -gnutls_certificate_set_x509_simple_pkcs12_mem, function in gnutls -gnutls_certificate_set_x509_trust, function in gnutls -gnutls_certificate_set_x509_trust_file, function in gnutls -gnutls_certificate_set_x509_trust_mem, function in gnutls -gnutls_certificate_status_t, enum in gnutls -gnutls_certificate_type_get, function in gnutls -gnutls_certificate_type_get_id, function in gnutls -gnutls_certificate_type_get_name, function in gnutls -gnutls_certificate_type_list, function in gnutls -gnutls_certificate_type_set_priority, function in gnutls -gnutls_certificate_type_t, enum in gnutls -gnutls_certificate_verify_flags, enum in x509 -gnutls_certificate_verify_peers, function in gnutls -gnutls_certificate_verify_peers2, function in gnutls -gnutls_check_version, function in gnutls -gnutls_cipher_algorithm_t, enum in gnutls -GNUTLS_CIPHER_ARCFOUR, macro in gnutls -gnutls_cipher_get, function in gnutls -gnutls_cipher_get_id, function in gnutls -gnutls_cipher_get_key_size, function in gnutls -gnutls_cipher_get_name, function in gnutls -gnutls_cipher_list, function in gnutls -GNUTLS_CIPHER_RIJNDAEL_128_CBC, macro in gnutls -GNUTLS_CIPHER_RIJNDAEL_256_CBC, macro in gnutls -GNUTLS_CIPHER_RIJNDAEL_CBC, macro in gnutls -gnutls_cipher_set_priority, function in gnutls -gnutls_cipher_suite_get_name, function in gnutls -gnutls_cipher_suite_info, function in gnutls -close_hook_fn, user_function in close-hook -gnutls_close_request_t, enum in gnutls -gnutls_compression_get, function in gnutls -gnutls_compression_get_id, function in gnutls -gnutls_compression_get_name, function in gnutls -gnutls_compression_list, function in gnutls -gnutls_compression_method_t, enum in gnutls -gnutls_compression_set_priority, function in gnutls -GNUTLS_COMP_ZLIB, macro in gnutls -gnutls_connection_end_t, enum in gnutls -copy, user_function in crypto -gnutls_credentials_clear, function in gnutls -gnutls_credentials_set, function in gnutls -gnutls_credentials_type_t, enum in gnutls -gnutls_cred_set, macro in gnutls -GNUTLS_CRL_REASON_AA_COMPROMISE, macro in x509 -GNUTLS_CRL_REASON_AFFILIATION_CHANGED, macro in x509 -GNUTLS_CRL_REASON_CA_COMPROMISE, macro in x509 -GNUTLS_CRL_REASON_CERTIFICATE_HOLD, macro in x509 -GNUTLS_CRL_REASON_CESSATION_OF_OPERATION, macro in x509 -GNUTLS_CRL_REASON_KEY_COMPROMISE, macro in x509 -GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN, macro in x509 -GNUTLS_CRL_REASON_SUPERSEEDED, macro in x509 -GNUTLS_CRL_REASON_UNUSED, macro in x509 -GNUTLS_CRYPTO_API_VERSION, macro in crypto -gnutls_crypto_bigint_register, macro in crypto -gnutls_crypto_bigint_register2, function in crypto -gnutls_crypto_cipher_register, macro in crypto -gnutls_crypto_cipher_register2, function in crypto -gnutls_crypto_digest_register, macro in crypto -gnutls_crypto_digest_register2, function in crypto -gnutls_crypto_digest_st, typedef in crypto -gnutls_crypto_mac_register, macro in crypto -gnutls_crypto_mac_register2, function in crypto -gnutls_crypto_pk_register, macro in crypto -gnutls_crypto_pk_register2, function in crypto -crypto_rnd_prio, variable in random -gnutls_crypto_rnd_register, macro in crypto -gnutls_crypto_rnd_register2, function in crypto -gnutls_crypto_single_cipher_register, macro in crypto -gnutls_crypto_single_cipher_register2, function in crypto -gnutls_crypto_single_digest_register, macro in crypto -gnutls_crypto_single_digest_register2, function in crypto -gnutls_crypto_single_digest_st, typedef in crypto -gnutls_crypto_single_mac_register, macro in crypto -gnutls_crypto_single_mac_register2, function in crypto -current_cert, macro in openssl - -D -DATA_OID, macro in x509_int -gnutls_db_check_entry, function in gnutls -gnutls_db_get_ptr, function in gnutls -gnutls_db_remove_func, user_function in gnutls -gnutls_db_remove_session, function in gnutls -gnutls_db_retr_func, user_function in gnutls -gnutls_db_set_cache_expiration, function in gnutls -gnutls_db_set_ptr, function in gnutls -gnutls_db_set_remove_function, function in gnutls -gnutls_db_set_retrieve_function, function in gnutls -gnutls_db_set_store_function, function in gnutls -gnutls_db_store_func, user_function in gnutls -decrypt, user_function in crypto -deinit, user_function in crypto -gnutls_deinit, function in gnutls -gnutls_dh_get_group, function in gnutls -gnutls_dh_get_peers_public_bits, function in gnutls -gnutls_dh_get_prime_bits, function in gnutls -gnutls_dh_get_pubkey, function in gnutls -gnutls_dh_get_secret_bits, function in gnutls -gnutls_dh_params_cpy, function in gnutls -gnutls_dh_params_deinit, function in gnutls -gnutls_dh_params_export_pkcs3, function in gnutls -gnutls_dh_params_export_raw, function in gnutls -gnutls_dh_params_generate2, function in gnutls -gnutls_dh_params_import_pkcs3, function in gnutls -gnutls_dh_params_import_raw, function in gnutls -gnutls_dh_params_init, function in gnutls -gnutls_dh_params_int, struct in gnutls -gnutls_dh_params_t, typedef in gnutls -gnutls_dh_set_prime_bits, function in gnutls -gnutls_digest_algorithm_t, enum in gnutls -GNUTLS_DIG_SHA, macro in gnutls -gnutls_direction_t, enum in crypto -DSA_PRIVATE_PARAMS, macro in x509_int -DSA_PUBLIC_PARAMS, macro in x509_int - -E -encrypt, user_function in crypto -ENC_DATA_OID, macro in x509_int -gnutls_error_is_fatal, function in gnutls -gnutls_error_to_alert, function in gnutls -ERR_error_string, function in openssl -ERR_get_error, function in openssl -execute_all_close_hooks, function in close-hook -execute_close_hooks, function in close-hook -gnutls_extra_check_version, function in extra -GNUTLS_EXTRA_VERSION, macro in extra -gnutls_ext_parse_type_t, enum in gnutls -gnutls_ext_recv_func, user_function in gnutls -gnutls_ext_register, function in gnutls -gnutls_ext_send_func, user_function in gnutls -GNUTLS_E_AGAIN, macro in gnutls -GNUTLS_E_APPLICATION_ERROR_MAX, macro in gnutls -GNUTLS_E_APPLICATION_ERROR_MIN, macro in gnutls -GNUTLS_E_ASN1_DER_ERROR, macro in gnutls -GNUTLS_E_ASN1_DER_OVERFLOW, macro in gnutls -GNUTLS_E_ASN1_ELEMENT_NOT_FOUND, macro in gnutls -GNUTLS_E_ASN1_GENERIC_ERROR, macro in gnutls -GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND, macro in gnutls -GNUTLS_E_ASN1_SYNTAX_ERROR, macro in gnutls -GNUTLS_E_ASN1_TAG_ERROR, macro in gnutls -GNUTLS_E_ASN1_TAG_IMPLICIT, macro in gnutls -GNUTLS_E_ASN1_TYPE_ANY_ERROR, macro in gnutls -GNUTLS_E_ASN1_VALUE_NOT_FOUND, macro in gnutls -GNUTLS_E_ASN1_VALUE_NOT_VALID, macro in gnutls -GNUTLS_E_BASE64_DECODING_ERROR, macro in gnutls -GNUTLS_E_BASE64_ENCODING_ERROR, macro in gnutls -GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR, macro in gnutls -GNUTLS_E_CERTIFICATE_ERROR, macro in gnutls -GNUTLS_E_CERTIFICATE_KEY_MISMATCH, macro in gnutls -GNUTLS_E_COMPRESSION_FAILED, macro in gnutls -GNUTLS_E_CONSTRAINT_ERROR, macro in gnutls -GNUTLS_E_CRYPTO_ALREADY_REGISTERED, macro in gnutls -GNUTLS_E_DB_ERROR, macro in gnutls -GNUTLS_E_DECOMPRESSION_FAILED, macro in gnutls -GNUTLS_E_DECRYPTION_FAILED, macro in gnutls -GNUTLS_E_DH_PRIME_UNACCEPTABLE, macro in gnutls -GNUTLS_E_ENCRYPTION_FAILED, macro in gnutls -GNUTLS_E_ERROR_IN_FINISHED_PACKET, macro in gnutls -GNUTLS_E_EXPIRED, macro in gnutls -GNUTLS_E_FATAL_ALERT_RECEIVED, macro in gnutls -GNUTLS_E_FILE_ERROR, macro in gnutls -GNUTLS_E_GOT_APPLICATION_DATA, macro in gnutls -GNUTLS_E_HANDSHAKE_TOO_LARGE, macro in gnutls -GNUTLS_E_HASH_FAILED, macro in gnutls -GNUTLS_E_IA_VERIFY_FAILED, macro in gnutls -GNUTLS_E_ILLEGAL_SRP_USERNAME, macro in gnutls -GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY, macro in gnutls -GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY, macro in gnutls -GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY, macro in gnutls -GNUTLS_E_INIT_LIBEXTRA, macro in gnutls -GNUTLS_E_INSUFFICIENT_CRED, macro in gnutls -GNUTLS_E_INSUFFICIENT_CREDENTIALS, macro in gnutls -GNUTLS_E_INSUFICIENT_CRED, macro in gnutls -GNUTLS_E_INSUFICIENT_CREDENTIALS, macro in gnutls -GNUTLS_E_INTERNAL_ERROR, macro in gnutls -GNUTLS_E_INTERRUPTED, macro in gnutls -GNUTLS_E_INVALID_PASSWORD, macro in gnutls -GNUTLS_E_INVALID_REQUEST, macro in gnutls -GNUTLS_E_INVALID_SESSION, macro in gnutls -GNUTLS_E_KEY_USAGE_VIOLATION, macro in gnutls -GNUTLS_E_LARGE_PACKET, macro in gnutls -GNUTLS_E_LIBRARY_VERSION_MISMATCH, macro in gnutls -GNUTLS_E_LZO_INIT_FAILED, macro in gnutls -GNUTLS_E_MAC_VERIFY_FAILED, macro in gnutls -GNUTLS_E_MEMORY_ERROR, macro in gnutls -GNUTLS_E_MPI_PRINT_FAILED, macro in gnutls -GNUTLS_E_MPI_SCAN_FAILED, macro in gnutls -GNUTLS_E_NO_CERTIFICATE_FOUND, macro in gnutls -GNUTLS_E_NO_CIPHER_SUITES, macro in gnutls -GNUTLS_E_NO_COMPRESSION_ALGORITHMS, macro in gnutls -GNUTLS_E_NO_TEMPORARY_DH_PARAMS, macro in gnutls -GNUTLS_E_NO_TEMPORARY_RSA_PARAMS, macro in gnutls -GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED, macro in gnutls -GNUTLS_E_OPENPGP_GETKEY_FAILED, macro in gnutls -GNUTLS_E_OPENPGP_KEYRING_ERROR, macro in gnutls -GNUTLS_E_OPENPGP_SUBKEY_ERROR, macro in gnutls -GNUTLS_E_OPENPGP_UID_REVOKED, macro in gnutls -GNUTLS_E_PKCS1_WRONG_PAD, macro in gnutls -GNUTLS_E_PK_DECRYPTION_FAILED, macro in gnutls -GNUTLS_E_PK_ENCRYPTION_FAILED, macro in gnutls -GNUTLS_E_PK_SIGN_FAILED, macro in gnutls -GNUTLS_E_PK_SIG_VERIFY_FAILED, macro in gnutls -GNUTLS_E_PULL_ERROR, macro in gnutls -GNUTLS_E_PUSH_ERROR, macro in gnutls -GNUTLS_E_RANDOM_FAILED, macro in gnutls -GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION, macro in gnutls -GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER, macro in gnutls -GNUTLS_E_RECORD_LIMIT_REACHED, macro in gnutls -GNUTLS_E_REHANDSHAKE, macro in gnutls -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE, macro in gnutls -GNUTLS_E_SHORT_MEMORY_BUFFER, macro in gnutls -GNUTLS_E_SRP_PWD_ERROR, macro in gnutls -GNUTLS_E_SRP_PWD_PARSING_ERROR, macro in gnutls -GNUTLS_E_SUCCESS, macro in gnutls -GNUTLS_E_TOO_MANY_EMPTY_PACKETS, macro in gnutls -GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET, macro in gnutls -GNUTLS_E_UNEXPECTED_PACKET, macro in gnutls -GNUTLS_E_UNEXPECTED_PACKET_LENGTH, macro in gnutls -GNUTLS_E_UNIMPLEMENTED_FEATURE, macro in gnutls -GNUTLS_E_UNKNOWN_ALGORITHM, macro in gnutls -GNUTLS_E_UNKNOWN_CIPHER_SUITE, macro in gnutls -GNUTLS_E_UNKNOWN_CIPHER_TYPE, macro in gnutls -GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM, macro in gnutls -GNUTLS_E_UNKNOWN_HASH_ALGORITHM, macro in gnutls -GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE, macro in gnutls -GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE, macro in gnutls -GNUTLS_E_UNKNOWN_PK_ALGORITHM, macro in gnutls -GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE, macro in gnutls -GNUTLS_E_UNSUPPORTED_VERSION_PACKET, macro in gnutls -GNUTLS_E_UNWANTED_ALGORITHM, macro in gnutls -GNUTLS_E_WARNING_ALERT_RECEIVED, macro in gnutls -GNUTLS_E_WARNING_IA_FPHF_RECEIVED, macro in gnutls -GNUTLS_E_WARNING_IA_IPHF_RECEIVED, macro in gnutls -GNUTLS_E_X509_CERTIFICATE_ERROR, macro in gnutls -GNUTLS_E_X509_UNKNOWN_SAN, macro in gnutls -GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE, macro in gnutls -GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION, macro in gnutls -GNUTLS_E_X509_UNSUPPORTED_OID, macro in gnutls - -F -FD_TO_SOCKET, macro in w32sock -gnutls_fingerprint, function in gnutls -gnutls_finished_callback_func, user_function in gnutls -gnutls_free, variable in gnutls -gnutls_free_function, user_function in gnutls -FRIENDLY_NAME_OID, macro in x509_int -GNUTLS_FSAN_APPEND, macro in x509 -GNUTLS_FSAN_SET, macro in x509 - -G -generate, user_function in crypto -gnutls_global_deinit, function in gnutls -gnutls_global_init, function in gnutls -gnutls_global_init_extra, function in extra -gnutls_global_set_log_function, function in gnutls -gnutls_global_set_log_level, function in gnutls -gnutls_global_set_mem_functions, function in gnutls -GL_LINK_WARNING, macro in link-warning -GL_LINK_WARNING1, macro in link-warning -GL_LINK_WARNING2, macro in link-warning -GL_LINK_WARNING3, macro in link-warning - -H -gnutls_handshake, function in gnutls -gnutls_handshake_description_t, enum in gnutls -gnutls_handshake_get_last_in, function in gnutls -gnutls_handshake_get_last_out, function in gnutls -gnutls_handshake_post_client_hello_func, user_function in gnutls -gnutls_handshake_set_max_packet_length, function in gnutls -gnutls_handshake_set_post_client_hello_function, function in gnutls -gnutls_handshake_set_private_extensions, function in gnutls -hash, user_function in crypto -HASH_OID_MD2, macro in x509_int -HASH_OID_MD5, macro in x509_int -HASH_OID_RMD160, macro in x509_int -HASH_OID_SHA1, macro in x509_int -HASH_OID_SHA256, macro in x509_int -HASH_OID_SHA384, macro in x509_int -HASH_OID_SHA512, macro in x509_int -HAVE_SSIZE_T, macro in gnutls -gnutls_hex2bin, function in gnutls -gnutls_hex_decode, function in gnutls -gnutls_hex_encode, function in gnutls - -I -gnutls_ia_allocate_client_credentials, function in extra -gnutls_ia_allocate_server_credentials, function in extra -gnutls_ia_apptype_t, enum in extra -gnutls_ia_avp_func, user_function in extra -gnutls_ia_enable, function in extra -gnutls_ia_endphase_send, function in extra -gnutls_ia_extract_inner_secret, function in extra -gnutls_ia_free_client_credentials, function in extra -gnutls_ia_free_server_credentials, function in extra -gnutls_ia_generate_challenge, function in extra -gnutls_ia_get_client_avp_ptr, function in extra -gnutls_ia_get_server_avp_ptr, function in extra -gnutls_ia_handshake, function in extra -gnutls_ia_handshake_p, function in extra -gnutls_ia_permute_inner_secret, function in extra -gnutls_ia_recv, function in extra -gnutls_ia_send, function in extra -gnutls_ia_set_client_avp_function, function in extra -gnutls_ia_set_client_avp_ptr, function in extra -gnutls_ia_set_server_avp_function, function in extra -gnutls_ia_set_server_avp_ptr, function in extra -gnutls_ia_verify_endphase, function in extra -init, user_function in crypto -gnutls_init, function in gnutls -int, function in crypto -INT_BUFSIZE_BOUND, macro in intprops -INT_STRLEN_BOUND, macro in intprops -gnutls_is_secure_function, user_function in gnutls - -K -KEYID_IMPORT, macro in openpgp_int -GNUTLS_KEY_CRL_SIGN, macro in gnutls -GNUTLS_KEY_DATA_ENCIPHERMENT, macro in gnutls -GNUTLS_KEY_DECIPHER_ONLY, macro in gnutls -GNUTLS_KEY_DIGITAL_SIGNATURE, macro in gnutls -GNUTLS_KEY_ENCIPHER_ONLY, macro in gnutls -key_idx_t, typedef in keydb -KEY_ID_OID, macro in x509_int -GNUTLS_KEY_KEY_AGREEMENT, macro in gnutls -GNUTLS_KEY_KEY_CERT_SIGN, macro in gnutls -GNUTLS_KEY_KEY_ENCIPHERMENT, macro in gnutls -GNUTLS_KEY_NON_REPUDIATION, macro in gnutls -key_table_t, typedef in keydb -GNUTLS_KP_ANY, macro in x509 -GNUTLS_KP_CODE_SIGNING, macro in x509 -GNUTLS_KP_EMAIL_PROTECTION, macro in x509 -GNUTLS_KP_OCSP_SIGNING, macro in x509 -GNUTLS_KP_TIME_STAMPING, macro in x509 -GNUTLS_KP_TLS_WWW_CLIENT, macro in x509 -GNUTLS_KP_TLS_WWW_SERVER, macro in x509 -gnutls_kx_algorithm_t, enum in gnutls -gnutls_kx_get, function in gnutls -gnutls_kx_get_id, function in gnutls -gnutls_kx_get_name, function in gnutls -gnutls_kx_list, function in gnutls -gnutls_kx_set_priority, function in gnutls - -L -lchmod, function in stat -libtasn1_perror, function in libtasn1 -libtasn1_strerror, function in libtasn1 -LIBTASN1_VERSION, macro in libtasn1 -gnutls_log_func, user_function in gnutls -lstat, macro in stat - -M -gnutls_mac_algorithm_t, enum in gnutls -gnutls_mac_get, function in gnutls -gnutls_mac_get_id, function in gnutls -gnutls_mac_get_key_size, function in gnutls -gnutls_mac_get_name, function in gnutls -gnutls_mac_list, function in gnutls -gnutls_mac_set_priority, function in gnutls -GNUTLS_MAC_SHA, macro in gnutls -gnutls_malloc, variable in gnutls -GNUTLS_MASTER_SIZE, macro in gnutls -GNUTLS_MAX_ALGORITHM_NUM, macro in gnutls -MAX_BAG_ELEMENTS, macro in x509_int -MAX_CRQ_EXTENSIONS_SIZE, macro in x509_int -MAX_ERROR_DESCRIPTION_SIZE, macro in libtasn1 -MAX_NAME_SIZE, macro in libtasn1 -MAX_OID_SIZE, macro in x509_int -GNUTLS_MAX_PK_PARAMS, macro in crypto -MAX_PRIV_PARAMS_SIZE, macro in x509_int -GNUTLS_MAX_SESSION_ID, macro in gnutls -MD5, function in openssl -MD5_CTX, macro in openssl -MD5_DIGEST_LENGTH, macro in openssl -MD5_Final, function in openssl -MD5_Init, function in openssl -MD5_Update, function in openssl -MD_CTX, struct in openssl -mkdir, function in stat - -N -node_asn, typedef in libtasn1 - -O -GNUTLS_OID_LDAP_DC, macro in x509 -OID_LDAP_DC, macro in x509_int -GNUTLS_OID_LDAP_UID, macro in x509 -OID_LDAP_UID, macro in x509_int -GNUTLS_OID_PKCS9_EMAIL, macro in x509 -OID_PKCS9_EMAIL, macro in x509_int -GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP, macro in x509 -GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE, macro in x509 -GNUTLS_OID_PKIX_DATE_OF_BIRTH, macro in x509 -GNUTLS_OID_PKIX_GENDER, macro in x509 -GNUTLS_OID_PKIX_PLACE_OF_BIRTH, macro in x509 -OID_X520_COMMON_NAME, macro in x509_int -GNUTLS_OID_X520_COMMON_NAME, macro in x509 -OID_X520_COUNTRY_NAME, macro in x509_int -GNUTLS_OID_X520_COUNTRY_NAME, macro in x509 -GNUTLS_OID_X520_DN_QUALIFIER, macro in x509 -GNUTLS_OID_X520_GENERATION_QUALIFIER, macro in x509 -GNUTLS_OID_X520_GIVEN_NAME, macro in x509 -GNUTLS_OID_X520_INITIALS, macro in x509 -GNUTLS_OID_X520_LOCALITY_NAME, macro in x509 -OID_X520_LOCALITY_NAME, macro in x509_int -GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, macro in x509 -OID_X520_ORGANIZATIONAL_UNIT_NAME, macro in x509_int -OID_X520_ORGANIZATION_NAME, macro in x509_int -GNUTLS_OID_X520_ORGANIZATION_NAME, macro in x509 -GNUTLS_OID_X520_PSEUDONYM, macro in x509 -OID_X520_STATE_OR_PROVINCE_NAME, macro in x509_int -GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, macro in x509 -GNUTLS_OID_X520_SURNAME, macro in x509 -GNUTLS_OID_X520_TITLE, macro in x509 -gnutls_openpgp_crt_check_hostname, function in openpgp -gnutls_openpgp_crt_deinit, function in openpgp -gnutls_openpgp_crt_export, function in openpgp -gnutls_openpgp_crt_fmt_t, enum in openpgp -gnutls_openpgp_crt_get_auth_subkey, function in openpgp -gnutls_openpgp_crt_get_creation_time, function in openpgp -gnutls_openpgp_crt_get_expiration_time, function in openpgp -gnutls_openpgp_crt_get_fingerprint, function in openpgp -gnutls_openpgp_crt_get_key_id, function in openpgp -gnutls_openpgp_crt_get_key_usage, function in openpgp -gnutls_openpgp_crt_get_name, function in openpgp -gnutls_openpgp_crt_get_pk_algorithm, function in openpgp -gnutls_openpgp_crt_get_pk_dsa_raw, function in openpgp -gnutls_openpgp_crt_get_pk_rsa_raw, function in openpgp -gnutls_openpgp_crt_get_preferred_key_id, function in openpgp -gnutls_openpgp_crt_get_revoked_status, function in openpgp -gnutls_openpgp_crt_get_subkey_count, function in openpgp -gnutls_openpgp_crt_get_subkey_creation_time, function in openpgp -gnutls_openpgp_crt_get_subkey_expiration_time, function in openpgp -gnutls_openpgp_crt_get_subkey_fingerprint, function in openpgp -gnutls_openpgp_crt_get_subkey_id, function in openpgp -gnutls_openpgp_crt_get_subkey_idx, function in openpgp -gnutls_openpgp_crt_get_subkey_pk_algorithm, function in openpgp -gnutls_openpgp_crt_get_subkey_pk_dsa_raw, function in openpgp -gnutls_openpgp_crt_get_subkey_pk_rsa_raw, function in openpgp -gnutls_openpgp_crt_get_subkey_revoked_status, function in openpgp -gnutls_openpgp_crt_get_subkey_usage, function in openpgp -gnutls_openpgp_crt_get_version, function in openpgp -gnutls_openpgp_crt_import, function in openpgp -gnutls_openpgp_crt_init, function in openpgp -gnutls_openpgp_crt_int, struct in gnutls -gnutls_openpgp_crt_print, function in openpgp -gnutls_openpgp_crt_set_preferred_key_id, function in openpgp -gnutls_openpgp_crt_status_t, enum in gnutls -gnutls_openpgp_crt_t, typedef in gnutls -gnutls_openpgp_crt_verify_ring, function in openpgp -gnutls_openpgp_crt_verify_self, function in openpgp -gnutls_openpgp_keyid_t, typedef in openpgp -gnutls_openpgp_keyring_check_id, function in openpgp -gnutls_openpgp_keyring_deinit, function in openpgp -gnutls_openpgp_keyring_get_crt, function in openpgp -gnutls_openpgp_keyring_get_crt_count, function in openpgp -gnutls_openpgp_keyring_import, function in openpgp -gnutls_openpgp_keyring_init, function in openpgp -gnutls_openpgp_keyring_int, struct in gnutls -gnutls_openpgp_keyring_t, typedef in gnutls -gnutls_openpgp_privkey_deinit, function in openpgp -gnutls_openpgp_privkey_export, function in openpgp -gnutls_openpgp_privkey_export_dsa_raw, function in openpgp -gnutls_openpgp_privkey_export_rsa_raw, function in openpgp -gnutls_openpgp_privkey_export_subkey_dsa_raw, function in openpgp -gnutls_openpgp_privkey_export_subkey_rsa_raw, function in openpgp -gnutls_openpgp_privkey_get_fingerprint, function in openpgp -gnutls_openpgp_privkey_get_key_id, function in openpgp -gnutls_openpgp_privkey_get_pk_algorithm, function in openpgp -gnutls_openpgp_privkey_get_preferred_key_id, function in openpgp -gnutls_openpgp_privkey_get_revoked_status, function in openpgp -gnutls_openpgp_privkey_get_subkey_count, function in openpgp -gnutls_openpgp_privkey_get_subkey_creation_time, function in openpgp -gnutls_openpgp_privkey_get_subkey_expiration_time, function in openpgp -gnutls_openpgp_privkey_get_subkey_fingerprint, function in openpgp -gnutls_openpgp_privkey_get_subkey_id, function in openpgp -gnutls_openpgp_privkey_get_subkey_idx, function in openpgp -gnutls_openpgp_privkey_get_subkey_pk_algorithm, function in openpgp -gnutls_openpgp_privkey_get_subkey_revoked_status, function in openpgp -gnutls_openpgp_privkey_import, function in openpgp -gnutls_openpgp_privkey_init, function in openpgp -gnutls_openpgp_privkey_int, struct in gnutls -gnutls_openpgp_privkey_set_preferred_key_id, function in openpgp -gnutls_openpgp_privkey_sign_hash, function in openpgp -gnutls_openpgp_privkey_t, typedef in gnutls -gnutls_openpgp_recv_key_func, user_function in openpgp -gnutls_openpgp_send_cert, function in gnutls -gnutls_openpgp_set_recv_key_function, function in openpgp -OpenSSL_add_all_algorithms, function in openssl -OpenSSL_add_ssl_algorithms, macro in openssl -OPENSSL_VERSION_NUMBER, macro in openssl -OPENSSL_VERSION_TEXT, macro in openssl -gnutls_oprfi_callback_func, user_function in gnutls -gnutls_oprfi_enable_client, function in gnutls -gnutls_oprfi_enable_server, function in gnutls -output, user_function in crypto - -P -gnutls_params_type_t, enum in gnutls -gnutls_pem_base64_decode, function in gnutls -gnutls_pem_base64_decode_alloc, function in gnutls -gnutls_pem_base64_encode, function in gnutls -gnutls_pem_base64_encode_alloc, function in gnutls -gnutls_perror, function in gnutls -gnutls_pkcs12_bag_decrypt, function in pkcs12 -gnutls_pkcs12_bag_deinit, function in pkcs12 -gnutls_pkcs12_bag_encrypt, function in pkcs12 -gnutls_pkcs12_bag_get_count, function in pkcs12 -gnutls_pkcs12_bag_get_data, function in pkcs12 -gnutls_pkcs12_bag_get_friendly_name, function in pkcs12 -gnutls_pkcs12_bag_get_key_id, function in pkcs12 -gnutls_pkcs12_bag_get_type, function in pkcs12 -gnutls_pkcs12_bag_init, function in pkcs12 -gnutls_pkcs12_bag_int, struct in pkcs12 -gnutls_pkcs12_bag_set_crl, function in pkcs12 -gnutls_pkcs12_bag_set_crt, function in pkcs12 -gnutls_pkcs12_bag_set_data, function in pkcs12 -gnutls_pkcs12_bag_set_friendly_name, function in pkcs12 -gnutls_pkcs12_bag_set_key_id, function in pkcs12 -gnutls_pkcs12_bag_t, typedef in pkcs12 -gnutls_pkcs12_bag_type_t, enum in pkcs12 -gnutls_pkcs12_deinit, function in pkcs12 -gnutls_pkcs12_export, function in pkcs12 -gnutls_pkcs12_generate_mac, function in pkcs12 -gnutls_pkcs12_get_bag, function in pkcs12 -gnutls_pkcs12_import, function in pkcs12 -gnutls_pkcs12_init, function in pkcs12 -gnutls_pkcs12_int, struct in pkcs12 -gnutls_pkcs12_set_bag, function in pkcs12 -gnutls_pkcs12_t, typedef in pkcs12 -gnutls_pkcs12_verify_mac, function in pkcs12 -gnutls_pkcs7_deinit, function in x509 -gnutls_pkcs7_delete_crl, function in x509 -gnutls_pkcs7_delete_crt, function in x509 -gnutls_pkcs7_export, function in x509 -gnutls_pkcs7_get_crl_count, function in x509 -gnutls_pkcs7_get_crl_raw, function in x509 -gnutls_pkcs7_get_crt_count, function in x509 -gnutls_pkcs7_get_crt_raw, function in x509 -gnutls_pkcs7_import, function in x509 -gnutls_pkcs7_init, function in x509 -gnutls_pkcs7_int, struct in x509 -gnutls_pkcs7_set_crl, function in x509 -gnutls_pkcs7_set_crl_raw, function in x509 -gnutls_pkcs7_set_crt, function in x509 -gnutls_pkcs7_set_crt_raw, function in x509 -gnutls_pkcs7_t, typedef in x509 -GNUTLS_PKCS8_PLAIN, macro in x509 -GNUTLS_PKCS8_USE_PKCS12_3DES, macro in x509 -GNUTLS_PKCS8_USE_PKCS12_ARCFOUR, macro in x509 -GNUTLS_PKCS8_USE_PKCS12_RC2_40, macro in x509 -gnutls_pkcs_encrypt_flags_t, enum in x509 -gnutls_pk_algorithm_get_name, function in gnutls -gnutls_pk_algorithm_t, enum in gnutls -pk_fixup_private_params, user_function in crypto -gnutls_pk_flag_t, enum in crypto -gnutls_pk_get_id, function in gnutls -gnutls_pk_get_name, function in gnutls -gnutls_pk_list, function in gnutls -gnutls_pk_params_init, function in crypto -gnutls_pk_params_release, function in crypto -gnutls_prf, function in gnutls -gnutls_prf_raw, function in gnutls -gnutls_priority_deinit, function in gnutls -gnutls_priority_init, function in gnutls -gnutls_priority_set, function in gnutls -gnutls_priority_set_direct, function in gnutls -gnutls_priority_st, struct in gnutls -gnutls_priority_t, typedef in gnutls -private_fn, user_function in close-hook -gnutls_protocol_get_id, function in gnutls -gnutls_protocol_get_name, function in gnutls -gnutls_protocol_get_version, function in gnutls -gnutls_protocol_list, function in gnutls -gnutls_protocol_set_priority, function in gnutls -gnutls_protocol_t, enum in gnutls -gnutls_psk_allocate_client_credentials, function in gnutls -gnutls_psk_allocate_server_credentials, function in gnutls -gnutls_psk_client_get_hint, function in gnutls -gnutls_psk_free_client_credentials, function in gnutls -gnutls_psk_free_server_credentials, function in gnutls -gnutls_psk_key_flags, enum in gnutls -gnutls_psk_netconf_derive_key, function in gnutls -gnutls_psk_server_get_username, function in gnutls -gnutls_psk_set_client_credentials, function in gnutls -gnutls_psk_set_client_credentials_function, function in gnutls -gnutls_psk_set_params_function, function in gnutls -gnutls_psk_set_server_credentials_file, function in gnutls -gnutls_psk_set_server_credentials_function, function in gnutls -gnutls_psk_set_server_credentials_hint, function in gnutls -gnutls_psk_set_server_dh_params, function in gnutls -gnutls_psk_set_server_params_function, function in gnutls -gnutls_pull_func, user_function in gnutls -gnutls_push_func, user_function in gnutls - -R -GNUTLS_RANDOM_SIZE, macro in gnutls -RAND_bytes, function in openssl -RAND_egd, macro in openssl -RAND_egd_bytes, function in openssl -RAND_file_name, function in openssl -RAND_load_file, function in openssl -RAND_pseudo_bytes, function in openssl -RAND_seed, function in openssl -RAND_status, function in openssl -RAND_write_file, function in openssl -rbio, macro in openssl -gnutls_read, macro in gnutls -gnutls_realloc, variable in gnutls -gnutls_realloc_function, user_function in gnutls -gnutls_record_check_pending, function in gnutls -gnutls_record_disable_padding, function in gnutls -gnutls_record_get_direction, function in gnutls -gnutls_record_get_max_size, function in gnutls -gnutls_record_recv, function in gnutls -gnutls_record_send, function in gnutls -gnutls_record_set_max_size, function in gnutls -register_close_hook, function in close-hook -gnutls_register_md5_handler, function in extra -gnutls_rehandshake, function in gnutls -RIPEMD160, function in openssl -RIPEMD160_CTX, macro in openssl -RIPEMD160_Final, function in openssl -RIPEMD160_Init, function in openssl -RIPEMD160_Update, function in openssl -rnd, user_function in crypto -gnutls_rnd_level_t, enum in crypto -rpl_lstat, function in stat -RSA, typedef in openssl -gnutls_rsa_export_get_modulus_bits, function in gnutls -gnutls_rsa_export_get_pubkey, function in gnutls -gnutls_rsa_params_cpy, function in gnutls -gnutls_rsa_params_deinit, function in gnutls -gnutls_rsa_params_export_pkcs1, function in gnutls -gnutls_rsa_params_export_raw, function in gnutls -gnutls_rsa_params_generate2, function in gnutls -gnutls_rsa_params_import_pkcs1, function in gnutls -gnutls_rsa_params_import_raw, function in gnutls -gnutls_rsa_params_init, function in gnutls -gnutls_rsa_params_t, typedef in gnutls -RSA_PRIVATE_PARAMS, macro in x509_int -RSA_PUBLIC_PARAMS, macro in x509_int -rsa_st, struct in openssl - -S -schema_id, enum in x509_int -gnutls_secure_malloc, variable in gnutls -gnutls_server_name_get, function in gnutls -gnutls_server_name_set, function in gnutls -gnutls_server_name_type_t, enum in gnutls -gnutls_session_enable_compatibility_mode, function in gnutls -gnutls_session_get_client_random, function in gnutls -gnutls_session_get_data, function in gnutls -gnutls_session_get_data2, function in gnutls -gnutls_session_get_id, function in gnutls -gnutls_session_get_master_secret, function in gnutls -gnutls_session_get_ptr, function in gnutls -gnutls_session_get_server_random, function in gnutls -gnutls_session_int, struct in gnutls -gnutls_session_is_resumed, function in gnutls -gnutls_session_set_data, function in gnutls -gnutls_session_set_finished_function, function in gnutls -gnutls_session_set_ptr, function in gnutls -gnutls_session_t, typedef in gnutls -setiv, user_function in crypto -setkey, user_function in crypto -gnutls_set_default_export_priority, function in gnutls -gnutls_set_default_priority, function in gnutls -sign, user_function in crypto -signed_type_or_expr__, macro in intprops -gnutls_sign_algorithm_get_name, function in gnutls -gnutls_sign_algorithm_t, enum in gnutls -gnutls_sign_callback_get, function in gnutls -gnutls_sign_callback_set, function in gnutls -GNUTLS_SIGN_DSA_SHA, macro in gnutls -gnutls_sign_func, user_function in gnutls -gnutls_sign_get_id, function in gnutls -gnutls_sign_get_name, function in gnutls -gnutls_sign_list, function in gnutls -GNUTLS_SIGN_RSA_SHA, macro in gnutls -SOCKET_TO_FD, macro in w32sock -gnutls_srp_1024_group_generator, variable in gnutls -gnutls_srp_1024_group_prime, variable in gnutls -gnutls_srp_1536_group_generator, variable in gnutls -gnutls_srp_1536_group_prime, variable in gnutls -gnutls_srp_2048_group_generator, variable in gnutls -gnutls_srp_2048_group_prime, variable in gnutls -gnutls_srp_allocate_client_credentials, function in gnutls -gnutls_srp_allocate_server_credentials, function in gnutls -gnutls_srp_base64_decode, function in gnutls -gnutls_srp_base64_decode_alloc, function in gnutls -gnutls_srp_base64_encode, function in gnutls -gnutls_srp_base64_encode_alloc, function in gnutls -gnutls_srp_free_client_credentials, function in gnutls -gnutls_srp_free_server_credentials, function in gnutls -gnutls_srp_server_get_username, function in gnutls -gnutls_srp_set_client_credentials, function in gnutls -gnutls_srp_set_client_credentials_function, function in gnutls -gnutls_srp_set_prime_bits, function in gnutls -gnutls_srp_set_server_credentials_file, function in gnutls -gnutls_srp_set_server_credentials_function, function in gnutls -gnutls_srp_verifier, function in gnutls -SSL, struct in openssl -SSLeay_add_all_algorithms, macro in openssl -SSLeay_add_ssl_algorithms, macro in openssl -SSLEAY_VERSION_NUMBER, macro in openssl -SSLv23_client_method, function in openssl -SSLv23_server_method, function in openssl -SSLv3_client_method, function in openssl -SSLv3_server_method, function in openssl -SSL_accept, function in openssl -SSL_CIPHER_description, function in openssl -SSL_CIPHER_get_bits, function in openssl -SSL_CIPHER_get_name, function in openssl -SSL_CIPHER_get_version, function in openssl -SSL_connect, function in openssl -SSL_CTX_free, function in openssl -SSL_CTX_new, function in openssl -SSL_CTX_sess_accept, function in openssl -SSL_CTX_sess_accept_good, function in openssl -SSL_CTX_sess_accept_renegotiate, function in openssl -SSL_CTX_sess_connect, function in openssl -SSL_CTX_sess_connect_good, function in openssl -SSL_CTX_sess_connect_renegotiate, function in openssl -SSL_CTX_sess_hits, function in openssl -SSL_CTX_sess_misses, function in openssl -SSL_CTX_sess_number, function in openssl -SSL_CTX_sess_timeouts, function in openssl -SSL_CTX_set_cipher_list, function in openssl -SSL_CTX_set_default_verify_paths, function in openssl -SSL_CTX_set_mode, function in openssl -SSL_CTX_set_options, function in openssl -SSL_CTX_set_verify, function in openssl -SSL_CTX_use_certificate_file, function in openssl -SSL_CTX_use_PrivateKey_file, function in openssl -SSL_ERROR_NONE, macro in openssl -SSL_ERROR_SSL, macro in openssl -SSL_ERROR_SYSCALL, macro in openssl -SSL_ERROR_WANT_READ, macro in openssl -SSL_ERROR_WANT_WRITE, macro in openssl -SSL_ERROR_ZERO_RETURN, macro in openssl -SSL_FILETYPE_PEM, macro in openssl -SSL_free, function in openssl -SSL_get_cipher, macro in openssl -SSL_get_cipher_bits, macro in openssl -SSL_get_cipher_name, macro in openssl -SSL_get_cipher_version, macro in openssl -SSL_get_current_cipher, function in openssl -SSL_get_error, function in openssl -SSL_get_peer_certificate, function in openssl -SSL_library_init, function in openssl -SSL_load_error_strings, function in openssl -SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER, macro in openssl -SSL_MODE_AUTO_RETRY, macro in openssl -SSL_MODE_ENABLE_PARTIAL_WRITE, macro in openssl -SSL_new, function in openssl -SSL_NOTHING, macro in openssl -SSL_OP_ALL, macro in openssl -SSL_OP_NO_TLSv1, macro in openssl -SSL_pending, function in openssl -SSL_read, function in openssl -SSL_READING, macro in openssl -SSL_set_bio, function in openssl -SSL_set_connect_state, function in openssl -SSL_set_fd, function in openssl -SSL_set_rfd, function in openssl -SSL_set_verify, function in openssl -SSL_set_wfd, function in openssl -SSL_shutdown, function in openssl -SSL_ST_OK, macro in openssl -SSL_VERIFY_NONE, macro in openssl -SSL_want, function in openssl -SSL_want_nothing, macro in openssl -SSL_want_read, macro in openssl -SSL_want_write, macro in openssl -SSL_want_x509_lookup, macro in openssl -SSL_write, function in openssl -SSL_WRITING, macro in openssl -SSL_X509_LOOKUP, macro in openssl -gnutls_strdup, user_function in gnutls -gnutls_strerror, function in gnutls -gnutls_strerror_name, function in gnutls -gnutls_supplemental_data_format_type_t, enum in gnutls -gnutls_supplemental_get_name, function in gnutls -S_IFMT, macro in stat -S_IRGRP, macro in stat -S_IROTH, macro in stat -S_IRUSR, macro in stat -S_IRWXG, macro in stat -S_IRWXO, macro in stat -S_IRWXU, macro in stat -S_IRWXUGO, macro in stat -S_ISBLK, macro in stat -S_ISCHR, macro in stat -S_ISCTG, macro in stat -S_ISDIR, macro in stat -S_ISDOOR, macro in stat -S_ISFIFO, macro in stat -S_ISGID, macro in stat -S_ISLNK, macro in stat -S_ISMPB, macro in stat -S_ISMPC, macro in stat -S_ISNAM, macro in stat -S_ISNWK, macro in stat -S_ISOFD, macro in stat -S_ISOFL, macro in stat -S_ISPORT, macro in stat -S_ISREG, macro in stat -S_ISSOCK, macro in stat -S_ISUID, macro in stat -S_ISVTX, macro in stat -S_ISWHT, macro in stat -S_IWGRP, macro in stat -S_IWOTH, macro in stat -S_IWUSR, macro in stat -S_IXGRP, macro in stat -S_IXOTH, macro in stat -S_IXUGO, macro in stat -S_IXUSR, macro in stat -S_TYPEISMQ, macro in stat -S_TYPEISSEM, macro in stat -S_TYPEISSHM, macro in stat -S_TYPEISTMO, macro in stat - -T -GNUTLS_TLS1, macro in gnutls -TLSv1_client_method, function in openssl -TLSv1_server_method, function in openssl -gnutls_transport_get_ptr, function in gnutls -gnutls_transport_get_ptr2, function in gnutls -gnutls_transport_ptr_t, typedef in gnutls -gnutls_transport_set_errno, function in gnutls -gnutls_transport_set_global_errno, function in gnutls -gnutls_transport_set_lowat, function in gnutls -gnutls_transport_set_ptr, function in gnutls -gnutls_transport_set_ptr2, function in gnutls -gnutls_transport_set_pull_function, function in gnutls -gnutls_transport_set_push_function, function in gnutls -TYPE_MAXIMUM, macro in intprops -TYPE_MINIMUM, macro in intprops -TYPE_ONES_COMPLEMENT, macro in intprops -TYPE_SIGNED, macro in intprops -TYPE_SIGNED_MAGNITUDE, macro in intprops -TYPE_TWOS_COMPLEMENT, macro in intprops - -U -unregister_close_hook, function in close-hook - -V -verify, user_function in verify -verify_callback, user_function in openssl -verify_true, macro in verify -GNUTLS_VERSION, macro in gnutls -GNUTLS_VERSION_MAJOR, macro in gnutls -GNUTLS_VERSION_MINOR, macro in gnutls -GNUTLS_VERSION_NUMBER, macro in gnutls -GNUTLS_VERSION_PATCH, macro in gnutls - -W -gnutls_write, macro in gnutls - -X -X509, typedef in openssl -GNUTLS_X509_CN_SIZE, macro in openssl -gnutls_x509_crl_check_issuer, function in x509 -gnutls_x509_crl_deinit, function in x509 -gnutls_x509_crl_export, function in x509 -gnutls_x509_crl_get_authority_key_id, function in x509 -gnutls_x509_crl_get_certificate, macro in x509 -gnutls_x509_crl_get_certificate_count, macro in x509 -gnutls_x509_crl_get_crt_count, function in x509 -gnutls_x509_crl_get_crt_serial, function in x509 -gnutls_x509_crl_get_dn_oid, function in x509 -gnutls_x509_crl_get_extension_data, function in x509 -gnutls_x509_crl_get_extension_info, function in x509 -gnutls_x509_crl_get_extension_oid, function in x509 -gnutls_x509_crl_get_issuer_dn, function in x509 -gnutls_x509_crl_get_issuer_dn_by_oid, function in x509 -gnutls_x509_crl_get_next_update, function in x509 -gnutls_x509_crl_get_number, function in x509 -gnutls_x509_crl_get_signature, function in x509 -gnutls_x509_crl_get_signature_algorithm, function in x509 -gnutls_x509_crl_get_this_update, function in x509 -gnutls_x509_crl_get_version, function in x509 -gnutls_x509_crl_import, function in x509 -gnutls_x509_crl_init, function in x509 -gnutls_x509_crl_int, struct in gnutls -gnutls_x509_crl_print, function in x509 -gnutls_x509_crl_set_authority_key_id, function in x509 -gnutls_x509_crl_set_crt, function in x509 -gnutls_x509_crl_set_crt_serial, function in x509 -gnutls_x509_crl_set_next_update, function in x509 -gnutls_x509_crl_set_number, function in x509 -gnutls_x509_crl_set_this_update, function in x509 -gnutls_x509_crl_set_version, function in x509 -gnutls_x509_crl_sign, function in x509 -gnutls_x509_crl_sign2, function in x509 -gnutls_x509_crl_t, typedef in gnutls -gnutls_x509_crl_verify, function in x509 -gnutls_x509_crq_deinit, function in x509 -gnutls_x509_crq_export, function in x509 -gnutls_x509_crq_get_attribute_by_oid, function in x509 -gnutls_x509_crq_get_attribute_data, function in x509 -gnutls_x509_crq_get_attribute_info, function in x509 -gnutls_x509_crq_get_basic_constraints, function in x509 -gnutls_x509_crq_get_challenge_password, function in x509 -gnutls_x509_crq_get_dn, function in x509 -gnutls_x509_crq_get_dn_by_oid, function in x509 -gnutls_x509_crq_get_dn_oid, function in x509 -gnutls_x509_crq_get_extension_by_oid, function in x509 -gnutls_x509_crq_get_extension_data, function in x509 -gnutls_x509_crq_get_extension_info, function in x509 -gnutls_x509_crq_get_key_id, function in x509 -gnutls_x509_crq_get_key_purpose_oid, function in x509 -gnutls_x509_crq_get_key_rsa_raw, function in x509 -gnutls_x509_crq_get_key_usage, function in x509 -gnutls_x509_crq_get_pk_algorithm, function in x509 -gnutls_x509_crq_get_subject_alt_name, function in x509 -gnutls_x509_crq_get_subject_alt_othername_oid, function in x509 -gnutls_x509_crq_get_version, function in x509 -gnutls_x509_crq_import, function in x509 -gnutls_x509_crq_init, function in x509 -gnutls_x509_crq_int, struct in x509 -gnutls_x509_crq_print, function in x509 -gnutls_x509_crq_set_attribute_by_oid, function in x509 -gnutls_x509_crq_set_basic_constraints, function in x509 -gnutls_x509_crq_set_challenge_password, function in x509 -gnutls_x509_crq_set_dn_by_oid, function in x509 -gnutls_x509_crq_set_key, function in x509 -gnutls_x509_crq_set_key_purpose_oid, function in x509 -gnutls_x509_crq_set_key_rsa_raw, function in x509 -gnutls_x509_crq_set_key_usage, function in x509 -gnutls_x509_crq_set_subject_alt_name, function in x509 -gnutls_x509_crq_set_version, function in x509 -gnutls_x509_crq_sign, function in x509 -gnutls_x509_crq_sign2, function in x509 -gnutls_x509_crq_t, typedef in x509 -gnutls_x509_crt_check_hostname, function in x509 -gnutls_x509_crt_check_issuer, function in x509 -gnutls_x509_crt_check_revocation, function in x509 -gnutls_x509_crt_cpy_crl_dist_points, function in x509 -gnutls_x509_crt_deinit, function in x509 -gnutls_x509_crt_export, function in x509 -gnutls_x509_crt_fmt_t, enum in gnutls -gnutls_x509_crt_get_activation_time, function in x509 -gnutls_x509_crt_get_authority_key_id, function in x509 -gnutls_x509_crt_get_basic_constraints, function in x509 -gnutls_x509_crt_get_ca_status, function in x509 -gnutls_x509_crt_get_crl_dist_points, function in x509 -gnutls_x509_crt_get_dn, function in x509 -gnutls_x509_crt_get_dn_by_oid, function in x509 -gnutls_x509_crt_get_dn_oid, function in x509 -gnutls_x509_crt_get_expiration_time, function in x509 -gnutls_x509_crt_get_extension_by_oid, function in x509 -gnutls_x509_crt_get_extension_data, function in x509 -gnutls_x509_crt_get_extension_info, function in x509 -gnutls_x509_crt_get_extension_oid, function in x509 -gnutls_x509_crt_get_fingerprint, function in x509 -gnutls_x509_crt_get_issuer, function in x509 -gnutls_x509_crt_get_issuer_dn, function in x509 -gnutls_x509_crt_get_issuer_dn_by_oid, function in x509 -gnutls_x509_crt_get_issuer_dn_oid, function in x509 -gnutls_x509_crt_get_key_id, function in x509 -gnutls_x509_crt_get_key_purpose_oid, function in x509 -gnutls_x509_crt_get_key_usage, function in x509 -gnutls_x509_crt_get_pk_algorithm, function in x509 -gnutls_x509_crt_get_pk_dsa_raw, function in x509 -gnutls_x509_crt_get_pk_rsa_raw, function in x509 -gnutls_x509_crt_get_proxy, function in x509 -gnutls_x509_crt_get_raw_dn, function in x509 -gnutls_x509_crt_get_raw_issuer_dn, function in x509 -gnutls_x509_crt_get_serial, function in x509 -gnutls_x509_crt_get_signature, function in x509 -gnutls_x509_crt_get_signature_algorithm, function in x509 -gnutls_x509_crt_get_subject, function in x509 -gnutls_x509_crt_get_subject_alt_name, function in x509 -gnutls_x509_crt_get_subject_alt_name2, function in x509 -gnutls_x509_crt_get_subject_alt_othername_oid, function in x509 -gnutls_x509_crt_get_subject_key_id, function in x509 -gnutls_x509_crt_get_verify_algorithm, function in x509 -gnutls_x509_crt_get_version, function in x509 -gnutls_x509_crt_import, function in x509 -gnutls_x509_crt_init, function in x509 -gnutls_x509_crt_int, struct in gnutls -gnutls_x509_crt_is_issuer, function in x509_int -gnutls_x509_crt_list_import, function in x509 -gnutls_x509_crt_list_verify, function in x509 -gnutls_x509_crt_print, function in x509 -gnutls_x509_crt_set_activation_time, function in x509 -gnutls_x509_crt_set_authority_key_id, function in x509 -gnutls_x509_crt_set_basic_constraints, function in x509 -gnutls_x509_crt_set_ca_status, function in x509 -gnutls_x509_crt_set_crl_dist_points, function in x509 -gnutls_x509_crt_set_crl_dist_points2, function in x509 -gnutls_x509_crt_set_crq, function in x509 -gnutls_x509_crt_set_crq_extensions, function in x509 -gnutls_x509_crt_set_dn_by_oid, function in x509 -gnutls_x509_crt_set_expiration_time, function in x509 -gnutls_x509_crt_set_extension_by_oid, function in x509 -gnutls_x509_crt_set_issuer_dn_by_oid, function in x509 -gnutls_x509_crt_set_key, function in x509 -gnutls_x509_crt_set_key_purpose_oid, function in x509 -gnutls_x509_crt_set_key_usage, function in x509 -gnutls_x509_crt_set_proxy, function in x509 -gnutls_x509_crt_set_proxy_dn, function in x509 -gnutls_x509_crt_set_serial, function in x509 -gnutls_x509_crt_set_subject_alternative_name, function in x509 -gnutls_x509_crt_set_subject_alt_name, function in x509 -gnutls_x509_crt_set_subject_key_id, function in x509 -gnutls_x509_crt_set_version, function in x509 -gnutls_x509_crt_sign, function in x509 -gnutls_x509_crt_sign2, function in x509 -gnutls_x509_crt_t, typedef in gnutls -gnutls_x509_crt_verify, function in x509 -gnutls_x509_crt_verify_data, function in x509 -gnutls_x509_crt_verify_hash, function in x509 -GNUTLS_X509_C_SIZE, macro in openssl -gnutls_x509_dn_deinit, function in x509 -gnutls_x509_dn_export, function in x509 -gnutls_x509_dn_get_rdn_ava, function in x509 -gnutls_x509_dn_import, function in x509 -gnutls_x509_dn_init, function in x509 -gnutls_x509_dn_oid_known, function in x509 -gnutls_x509_dn_t, typedef in x509 -GNUTLS_X509_EMAIL_SIZE, macro in openssl -X509_free, function in openssl -X509_get_issuer_name, function in openssl -X509_get_subject_name, function in openssl -GNUTLS_X509_L_SIZE, macro in openssl -X509_NAME, typedef in openssl -X509_NAME_oneline, function in openssl -GNUTLS_X509_OU_SIZE, macro in openssl -GNUTLS_X509_O_SIZE, macro in openssl -gnutls_x509_privkey_cpy, function in x509 -gnutls_x509_privkey_deinit, function in x509 -gnutls_x509_privkey_export, function in x509 -gnutls_x509_privkey_export_dsa_raw, function in x509 -gnutls_x509_privkey_export_pkcs8, function in x509 -gnutls_x509_privkey_export_rsa_raw, function in x509 -gnutls_x509_privkey_fix, function in x509 -gnutls_x509_privkey_generate, function in x509 -gnutls_x509_privkey_get_key_id, function in x509 -gnutls_x509_privkey_get_pk_algorithm, function in x509 -gnutls_x509_privkey_import, function in x509 -gnutls_x509_privkey_import_dsa_raw, function in x509 -gnutls_x509_privkey_import_pkcs8, function in x509 -gnutls_x509_privkey_import_rsa_raw, function in x509 -gnutls_x509_privkey_init, function in x509 -gnutls_x509_privkey_int, struct in gnutls -gnutls_x509_privkey_sign_data, function in x509 -gnutls_x509_privkey_sign_hash, function in x509 -gnutls_x509_privkey_t, typedef in gnutls -gnutls_x509_privkey_verify_data, function in x509 -gnutls_x509_rdn_get, function in x509 -gnutls_x509_rdn_get_by_oid, function in x509 -gnutls_x509_rdn_get_oid, function in x509 -X509_STORE_CTX_get_current_cert, macro in openssl -gnutls_x509_subject_alt_name_t, enum in gnutls -GNUTLS_X509_S_SIZE, macro in openssl -X509_V_ERR_CERT_HAS_EXPIRED, macro in openssl -X509_V_ERR_CERT_NOT_YET_VALID, macro in openssl -X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, macro in openssl - - diff -Nru gnutls26-2.8.6/doc/reference/xml/close-hook.xml gnutls26-2.4.1/doc/reference/xml/close-hook.xml --- gnutls26-2.8.6/doc/reference/xml/close-hook.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/close-hook.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,127 +0,0 @@ - - - - -close-hook -3 - - GNUTLS Library - - - -close-hook - - - - -Synopsis - -int (*private_fn) (int fd, - const struct close_hook *remaining_list); -int (*close_hook_fn) (int fd, - const struct close_hook *remaining_list); -int execute_close_hooks (int fd, - const struct close_hook *remaining_list); -int execute_all_close_hooks (int fd); -void register_close_hook (close_hook_fn hook, - struct close_hook *link); -void unregister_close_hook (struct close_hook *link); - - - - -Description - - - - -Details - -private_fn () -private_fn -int (*private_fn) (int fd, - const struct close_hook *remaining_list); - - -fd : - - -remaining_list : - - -Returns : - - - -close_hook_fn () -close_hook_fn -int (*close_hook_fn) (int fd, - const struct close_hook *remaining_list); - - -fd : - - -remaining_list : - - -Returns : - - - -execute_close_hooks () -execute_close_hooks -int execute_close_hooks (int fd, - const struct close_hook *remaining_list); - - -fd : - - -remaining_list : - - -Returns : - - - -execute_all_close_hooks () -execute_all_close_hooks -int execute_all_close_hooks (int fd); - - -fd : - - -Returns : - - - -register_close_hook () -register_close_hook -void register_close_hook (close_hook_fn hook, - struct close_hook *link); - - -hook : - - -link : - - - - -unregister_close_hook () -unregister_close_hook -void unregister_close_hook (struct close_hook *link); - - -link : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/crypto.xml gnutls26-2.4.1/doc/reference/xml/crypto.xml --- gnutls26-2.8.6/doc/reference/xml/crypto.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/crypto.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1252 +0,0 @@ - - - - -crypto -3 - - GNUTLS Library - - - -crypto - - - - -Synopsis - -#define GNUTLS_CRYPTO_API_VERSION -int (*init) (void **ctx); -int (*setkey) (void *ctx, - const void *key, - size_t keysize); -int (*setiv) (void *ctx, - const void *iv, - size_t ivsize); -int (*encrypt) (void *ctx, - const void *plain, - size_t plainsize, - void *encr, - size_t encrsize); -int (*decrypt) (void *ctx, - const void *encr, - size_t encrsize, - void *plain, - size_t plainsize); -void (*deinit) (void *ctx); -int (*hash) (void *ctx, - const void *text, - size_t textsize); -int (*copy) (void **dst_ctx, - void *src_ctx); -int (*output) (void *src_ctx, - void *digest, - size_t digestsize); -typedef gnutls_crypto_single_digest_st; -typedef gnutls_crypto_digest_st; -enum gnutls_rnd_level_t; -enum gnutls_pk_flag_t; -int (*rnd) (void *ctx); -typedef bigint_t; -enum gnutls_bigint_format_t; -bigint_t (*bigint_new) (int nbits); -void (*bigint_release) (bigint_t n); -int (*bigint_cmp) (const bigint_t m1, - const bigint_t m2); -int (*bigint_cmp_ui) (const bigint_t m1, - unsigned long m2); -bigint_t (*bigint_mod) (const bigint_t a, - const bigint_t b); -bigint_t (*bigint_set) (bigint_t a, - const bigint_t b); -bigint_t (*bigint_set_ui) (bigint_t a, - unsigned long b); -unsigned int (); -bigint_t (*bigint_powm) (bigint_t w, - const bigint_t b, - const bigint_t e, - const bigint_t m); -bigint_t (*bigint_addm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); -bigint_t (*bigint_subm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); -bigint_t (*bigint_mulm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); -bigint_t (*bigint_mul) (bigint_t w, - const bigint_t a, - const bigint_t b); -bigint_t (*bigint_add_ui) (bigint_t w, - const bigint_t a, - unsigned long b); -bigint_t (*bigint_sub_ui) (bigint_t w, - const bigint_t a, - unsigned long b); -bigint_t (*bigint_mul_ui) (bigint_t w, - const bigint_t a, - unsigned long b); -bigint_t (*bigint_div) (bigint_t q, - const bigint_t a, - const bigint_t b); -int (*bigint_prime_check) (const bigint_t pp); -int (*bigint_generate_group) (gnutls_group_st *gg, - unsigned int bits); -bigint_t (*bigint_scan) (const void *buf, - size_t buf_size, - gnutls_bigint_format_t format); -int (*bigint_print) (const bigint_t a, - void *buf, - size_t *buf_size, - gnutls_bigint_format_t format); -#define GNUTLS_MAX_PK_PARAMS -void gnutls_pk_params_release (gnutls_pk_params_st *p); -void gnutls_pk_params_init (gnutls_pk_params_st *p); -enum gnutls_direction_t; -int (*sign) (gnutls_pk_algorithm_t Param1, - gnutls_datum_t *signature, - const gnutls_datum_t *data); -int (*verify) (gnutls_pk_algorithm_t Param1, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); -int (*generate) (gnutls_pk_algorithm_t Param1); -int (*pk_fixup_private_params) (gnutls_pk_algorithm_t Param1, - gnutls_direction_t Param2, - gnutls_pk_params_st *Param3); -#define gnutls_crypto_single_cipher_register(algo, - prio, - st) -#define gnutls_crypto_single_mac_register (algo, - prio, - st) -#define gnutls_crypto_single_digest_register(algo, - prio, - st) -int gnutls_crypto_single_cipher_register2 - (gnutls_cipher_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_cipher_st *s); -int gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_mac_st *s); -int gnutls_crypto_single_digest_register2 - (gnutls_digest_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_digest_st *s); -#define gnutls_crypto_cipher_register (prio, - st) -#define gnutls_crypto_mac_register (prio, - st) -#define gnutls_crypto_digest_register (prio, - st) -int gnutls_crypto_cipher_register2 (int priority, - int version, - gnutls_crypto_cipher_st *s); -int gnutls_crypto_mac_register2 (int priority, - int version, - gnutls_crypto_mac_st *s); -int gnutls_crypto_digest_register2 (int priority, - int version, - gnutls_crypto_digest_st *s); -#define gnutls_crypto_rnd_register (prio, - st) -#define gnutls_crypto_pk_register (prio, - st) -#define gnutls_crypto_bigint_register (prio, - st) -int gnutls_crypto_rnd_register2 (int priority, - int version, - gnutls_crypto_rnd_st *s); -int gnutls_crypto_pk_register2 (int priority, - int version, - gnutls_crypto_pk_st *s); -int gnutls_crypto_bigint_register2 (int priority, - int version, - gnutls_crypto_bigint_st *s); - - - - -Description - - - - -Details - -GNUTLS_CRYPTO_API_VERSION -GNUTLS_CRYPTO_API_VERSION -# define GNUTLS_CRYPTO_API_VERSION 0x01 - - - - -init () -init -int (*init) (void **ctx); - - -ctx : - - -Returns : - - - -setkey () -setkey -int (*setkey) (void *ctx, - const void *key, - size_t keysize); - - -ctx : - - -key : - - -keysize : - - -Returns : - - - -setiv () -setiv -int (*setiv) (void *ctx, - const void *iv, - size_t ivsize); - - -ctx : - - -iv : - - -ivsize : - - -Returns : - - - -encrypt () -encrypt -int (*encrypt) (void *ctx, - const void *plain, - size_t plainsize, - void *encr, - size_t encrsize); - - -ctx : - - -plain : - - -plainsize : - - -encr : - - -encrsize : - - -Returns : - - - -decrypt () -decrypt -int (*decrypt) (void *ctx, - const void *encr, - size_t encrsize, - void *plain, - size_t plainsize); - - -ctx : - - -encr : - - -encrsize : - - -plain : - - -plainsize : - - -Returns : - - - -deinit () -deinit -void (*deinit) (void *ctx); - - -ctx : - - - - -hash () -hash -int (*hash) (void *ctx, - const void *text, - size_t textsize); - - -ctx : - - -text : - - -textsize : - - -Returns : - - - -copy () -copy -int (*copy) (void **dst_ctx, - void *src_ctx); - - -dst_ctx : - - -src_ctx : - - -Returns : - - - -output () -output -int (*output) (void *src_ctx, - void *digest, - size_t digestsize); - - -src_ctx : - - -digest : - - -digestsize : - - -Returns : - - - -gnutls_crypto_single_digest_st -gnutls_crypto_single_digest_st -typedef gnutls_crypto_single_mac_st gnutls_crypto_single_digest_st; - - - - -gnutls_crypto_digest_st -gnutls_crypto_digest_st -typedef gnutls_crypto_mac_st gnutls_crypto_digest_st; - - - - -enum gnutls_rnd_level_t -gnutls_rnd_level_t -typedef enum gnutls_rnd_level -{ - /* fatal in parts of session if broken, i.e., vulnerable to - statistical analysis */ - GNUTLS_RND_NONCE = 0, - /* fatal in session if broken */ - GNUTLS_RND_RANDOM = 1, - /* fatal in many sessions if broken */ - GNUTLS_RND_KEY = 2 -} gnutls_rnd_level_t; - - - - -enum gnutls_pk_flag_t -gnutls_pk_flag_t -typedef enum -{ - GNUTLS_PK_FLAG_NONE = 0 -} gnutls_pk_flag_t; - - - - -rnd () -rnd -int (*rnd) (void *ctx); - - -ctx : - - -Returns : - - - -bigint_t -bigint_t -typedef void *bigint_t; - - - - -enum gnutls_bigint_format_t -gnutls_bigint_format_t -typedef enum -{ - /* raw unsigned integer format */ - GNUTLS_MPI_FORMAT_USG = 0, - /* raw signed integer format - always a leading zero when positive */ - GNUTLS_MPI_FORMAT_STD = 1, - /* the pgp integer format */ - GNUTLS_MPI_FORMAT_PGP = 2 -} gnutls_bigint_format_t; - - - - -bigint_new () -bigint_new -bigint_t (*bigint_new) (int nbits); - - -nbits : - - -Returns : - - - -bigint_release () -bigint_release -void (*bigint_release) (bigint_t n); - - -n : - - - - -bigint_cmp () -bigint_cmp -int (*bigint_cmp) (const bigint_t m1, - const bigint_t m2); - - -m1 : - - -m2 : - - -Returns : - - - -bigint_cmp_ui () -bigint_cmp_ui -int (*bigint_cmp_ui) (const bigint_t m1, - unsigned long m2); - - -m1 : - - -m2 : - - -Returns : - - - -bigint_mod () -bigint_mod -bigint_t (*bigint_mod) (const bigint_t a, - const bigint_t b); - - -a : - - -b : - - -Returns : - - - -bigint_set () -bigint_set -bigint_t (*bigint_set) (bigint_t a, - const bigint_t b); - - -a : - - -b : - - -Returns : - - - -bigint_set_ui () -bigint_set_ui -bigint_t (*bigint_set_ui) (bigint_t a, - unsigned long b); - - -a : - - -b : - - -Returns : - - - -int () -int -unsigned int (); - - -Returns : - - - -bigint_powm () -bigint_powm -bigint_t (*bigint_powm) (bigint_t w, - const bigint_t b, - const bigint_t e, - const bigint_t m); - - -w : - - -b : - - -e : - - -m : - - -Returns : - - - -bigint_addm () -bigint_addm -bigint_t (*bigint_addm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); - - -w : - - -a : - - -b : - - -m : - - -Returns : - - - -bigint_subm () -bigint_subm -bigint_t (*bigint_subm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); - - -w : - - -a : - - -b : - - -m : - - -Returns : - - - -bigint_mulm () -bigint_mulm -bigint_t (*bigint_mulm) (bigint_t w, - const bigint_t a, - const bigint_t b, - const bigint_t m); - - -w : - - -a : - - -b : - - -m : - - -Returns : - - - -bigint_mul () -bigint_mul -bigint_t (*bigint_mul) (bigint_t w, - const bigint_t a, - const bigint_t b); - - -w : - - -a : - - -b : - - -Returns : - - - -bigint_add_ui () -bigint_add_ui -bigint_t (*bigint_add_ui) (bigint_t w, - const bigint_t a, - unsigned long b); - - -w : - - -a : - - -b : - - -Returns : - - - -bigint_sub_ui () -bigint_sub_ui -bigint_t (*bigint_sub_ui) (bigint_t w, - const bigint_t a, - unsigned long b); - - -w : - - -a : - - -b : - - -Returns : - - - -bigint_mul_ui () -bigint_mul_ui -bigint_t (*bigint_mul_ui) (bigint_t w, - const bigint_t a, - unsigned long b); - - -w : - - -a : - - -b : - - -Returns : - - - -bigint_div () -bigint_div -bigint_t (*bigint_div) (bigint_t q, - const bigint_t a, - const bigint_t b); - - -q : - - -a : - - -b : - - -Returns : - - - -bigint_prime_check () -bigint_prime_check -int (*bigint_prime_check) (const bigint_t pp); - - -pp : - - -Returns : - - - -bigint_generate_group () -bigint_generate_group -int (*bigint_generate_group) (gnutls_group_st *gg, - unsigned int bits); - - -gg : - - -bits : - - -Returns : - - - -bigint_scan () -bigint_scan -bigint_t (*bigint_scan) (const void *buf, - size_t buf_size, - gnutls_bigint_format_t format); - - -buf : - - -buf_size : - - -format : - - -Returns : - - - -bigint_print () -bigint_print -int (*bigint_print) (const bigint_t a, - void *buf, - size_t *buf_size, - gnutls_bigint_format_t format); - - -a : - - -buf : - - -buf_size : - - -format : - - -Returns : - - - -GNUTLS_MAX_PK_PARAMS -GNUTLS_MAX_PK_PARAMS -#define GNUTLS_MAX_PK_PARAMS 6 - - - - -gnutls_pk_params_release () -gnutls_pk_params_release -void gnutls_pk_params_release (gnutls_pk_params_st *p); - - -p : - - - - -gnutls_pk_params_init () -gnutls_pk_params_init -void gnutls_pk_params_init (gnutls_pk_params_st *p); - - -p : - - - - -enum gnutls_direction_t -gnutls_direction_t -typedef enum -{ - GNUTLS_IMPORT, - GNUTLS_EXPORT -} gnutls_direction_t; - - - - -sign () -sign -int (*sign) (gnutls_pk_algorithm_t Param1, - gnutls_datum_t *signature, - const gnutls_datum_t *data); - - -Param1 : - - -signature : - - -data : - - -Returns : - - - -verify () -verify -int (*verify) (gnutls_pk_algorithm_t Param1, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); - - -Param1 : - - -data : - - -signature : - - -Returns : - - - -generate () -generate -int (*generate) (gnutls_pk_algorithm_t Param1); - - -Param1 : - - -Returns : - - - -pk_fixup_private_params () -pk_fixup_private_params -int (*pk_fixup_private_params) (gnutls_pk_algorithm_t Param1, - gnutls_direction_t Param2, - gnutls_pk_params_st *Param3); - - -Param1 : - - -Param2 : - - -Param3 : - - -Returns : - - - -gnutls_crypto_single_cipher_register() -gnutls_crypto_single_cipher_register -#define gnutls_crypto_single_cipher_register(algo, prio, st) - - -algo : - - -prio : - - -st : - - - - -gnutls_crypto_single_mac_register() -gnutls_crypto_single_mac_register -#define gnutls_crypto_single_mac_register(algo, prio, st) - - -algo : - - -prio : - - -st : - - - - -gnutls_crypto_single_digest_register() -gnutls_crypto_single_digest_register -#define gnutls_crypto_single_digest_register(algo, prio, st) - - -algo : - - -prio : - - -st : - - - - -gnutls_crypto_single_cipher_register2 () -gnutls_crypto_single_cipher_register2 -int gnutls_crypto_single_cipher_register2 - (gnutls_cipher_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_cipher_st *s); - - -algorithm : - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_single_mac_register2 () -gnutls_crypto_single_mac_register2 -int gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_mac_st *s); - - -algorithm : - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_single_digest_register2 () -gnutls_crypto_single_digest_register2 -int gnutls_crypto_single_digest_register2 - (gnutls_digest_algorithm_t algorithm, - int priority, - int version, - gnutls_crypto_single_digest_st *s); - - -algorithm : - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_cipher_register() -gnutls_crypto_cipher_register -#define gnutls_crypto_cipher_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_mac_register() -gnutls_crypto_mac_register -#define gnutls_crypto_mac_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_digest_register() -gnutls_crypto_digest_register -#define gnutls_crypto_digest_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_cipher_register2 () -gnutls_crypto_cipher_register2 -int gnutls_crypto_cipher_register2 (int priority, - int version, - gnutls_crypto_cipher_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_mac_register2 () -gnutls_crypto_mac_register2 -int gnutls_crypto_mac_register2 (int priority, - int version, - gnutls_crypto_mac_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_digest_register2 () -gnutls_crypto_digest_register2 -int gnutls_crypto_digest_register2 (int priority, - int version, - gnutls_crypto_digest_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_rnd_register() -gnutls_crypto_rnd_register -#define gnutls_crypto_rnd_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_pk_register() -gnutls_crypto_pk_register -#define gnutls_crypto_pk_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_bigint_register() -gnutls_crypto_bigint_register -#define gnutls_crypto_bigint_register(prio, st) - - -prio : - - -st : - - - - -gnutls_crypto_rnd_register2 () -gnutls_crypto_rnd_register2 -int gnutls_crypto_rnd_register2 (int priority, - int version, - gnutls_crypto_rnd_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_pk_register2 () -gnutls_crypto_pk_register2 -int gnutls_crypto_pk_register2 (int priority, - int version, - gnutls_crypto_pk_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - -gnutls_crypto_bigint_register2 () -gnutls_crypto_bigint_register2 -int gnutls_crypto_bigint_register2 (int priority, - int version, - gnutls_crypto_bigint_st *s); - - -priority : - - -version : - - -s : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/extra.xml gnutls26-2.4.1/doc/reference/xml/extra.xml --- gnutls26-2.8.6/doc/reference/xml/extra.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/extra.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,502 +0,0 @@ - - - - -extra -3 - - GNUTLS Library - - - -extra - - - - -Synopsis - -#define GNUTLS_EXTRA_VERSION -enum gnutls_ia_apptype_t; -int (*gnutls_ia_avp_func) (gnutls_session_t session, - void *ptr, - const char *last, - size_t lastlen, - char **next, - size_t *nextlen); -void gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc); -int gnutls_ia_allocate_client_credentials - (gnutls_ia_client_credentials_t *sc); -void gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc); -int gnutls_ia_allocate_server_credentials - (gnutls_ia_server_credentials_t *sc); -void gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, - gnutls_ia_avp_func avp_func); -void gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, - void *ptr); -void * gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t cred); -void gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, - gnutls_ia_avp_func avp_func); -void gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, - void *ptr); -void * gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t cred); -int gnutls_ia_handshake_p (gnutls_session_t session); -int gnutls_ia_handshake (gnutls_session_t session); -int gnutls_ia_permute_inner_secret (gnutls_session_t session, - size_t session_keys_size, - const char *session_keys); -int gnutls_ia_endphase_send (gnutls_session_t session, - int final_p); -int gnutls_ia_verify_endphase (gnutls_session_t session, - const char *checksum); -ssize_t gnutls_ia_send (gnutls_session_t session, - const char *data, - size_t sizeofdata); -ssize_t gnutls_ia_recv (gnutls_session_t session, - char *data, - size_t sizeofdata); -int gnutls_ia_generate_challenge (gnutls_session_t session, - size_t buffer_size, - char *buffer); -void gnutls_ia_extract_inner_secret (gnutls_session_t session, - char *buffer); -void gnutls_ia_enable (gnutls_session_t session, - int allow_skip_on_resume); -int gnutls_global_init_extra (void); -int gnutls_register_md5_handler (void); -const char * gnutls_extra_check_version (const char *req_version); - - - - -Description - - - - -Details - -GNUTLS_EXTRA_VERSION -GNUTLS_EXTRA_VERSION -#define GNUTLS_EXTRA_VERSION GNUTLS_VERSION - - - - -enum gnutls_ia_apptype_t -gnutls_ia_apptype_t - typedef enum - { - GNUTLS_IA_APPLICATION_PAYLOAD = 0, - GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED = 1, - GNUTLS_IA_FINAL_PHASE_FINISHED = 2 - } gnutls_ia_apptype_t; - - - - -gnutls_ia_avp_func () -gnutls_ia_avp_func -int (*gnutls_ia_avp_func) (gnutls_session_t session, - void *ptr, - const char *last, - size_t lastlen, - char **next, - size_t *nextlen); - - -session : - - -ptr : - - -last : - - -lastlen : - - -next : - - -nextlen : - - -Returns : - - - -gnutls_ia_free_client_credentials () -gnutls_ia_free_client_credentials -void gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc); - - -sc : - - - - -gnutls_ia_allocate_client_credentials () -gnutls_ia_allocate_client_credentials -int gnutls_ia_allocate_client_credentials - (gnutls_ia_client_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_ia_free_server_credentials () -gnutls_ia_free_server_credentials -void gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc); - - -sc : - - - - -gnutls_ia_allocate_server_credentials () -gnutls_ia_allocate_server_credentials -int gnutls_ia_allocate_server_credentials - (gnutls_ia_server_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_ia_set_client_avp_function () -gnutls_ia_set_client_avp_function -void gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, - gnutls_ia_avp_func avp_func); - - -cred : - - -avp_func : - - - - -gnutls_ia_set_client_avp_ptr () -gnutls_ia_set_client_avp_ptr -void gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, - void *ptr); - - -cred : - - -ptr : - - - - -gnutls_ia_get_client_avp_ptr () -gnutls_ia_get_client_avp_ptr -void * gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t cred); - - -cred : - - -Returns : - - - -gnutls_ia_set_server_avp_function () -gnutls_ia_set_server_avp_function -void gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, - gnutls_ia_avp_func avp_func); - - -cred : - - -avp_func : - - - - -gnutls_ia_set_server_avp_ptr () -gnutls_ia_set_server_avp_ptr -void gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, - void *ptr); - - -cred : - - -ptr : - - - - -gnutls_ia_get_server_avp_ptr () -gnutls_ia_get_server_avp_ptr -void * gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t cred); - - -cred : - - -Returns : - - - -gnutls_ia_handshake_p () -gnutls_ia_handshake_p -int gnutls_ia_handshake_p (gnutls_session_t session); - -Predicate to be used after gnutls_handshake() to decide whether to -invoke gnutls_ia_handshake(). Usable by both clients and servers. - -session : -is a gnutls_session_t structure. - -Returns : non-zero if TLS/IA handshake is expected, zero - otherwise. - - - -gnutls_ia_handshake () -gnutls_ia_handshake -int gnutls_ia_handshake (gnutls_session_t session); - -Perform a TLS/IA handshake. This should be called after -gnutls_handshake() iff gnutls_ia_handshake_p(). - -session : -is a gnutls_session_t structure. - -Returns : On success, GNUTLS_E_SUCCESS (zero) is returned, - otherwise an error code is returned. - - - -gnutls_ia_permute_inner_secret () -gnutls_ia_permute_inner_secret -int gnutls_ia_permute_inner_secret (gnutls_session_t session, - size_t session_keys_size, - const char *session_keys); - -Permute the inner secret using the generated session keys. - - -This can be called in the TLS/IA AVP callback to mix any generated -session keys with the TLS/IA inner secret. - -session : -is a gnutls_session_t structure. - -session_keys_size : -Size of generated session keys (0 if none). - -session_keys : -Generated session keys, used to permute inner secret - (NULL if none). - -Returns : Return zero on success, or a negative error code. - - - -gnutls_ia_endphase_send () -gnutls_ia_endphase_send -int gnutls_ia_endphase_send (gnutls_session_t session, - int final_p); - -Send a TLS/IA end phase message. - - -In the client, this should only be used to acknowledge an end phase -message sent by the server. - - -In the server, this can be called instead of gnutls_ia_send() if -the server wishes to end an application phase. - -session : -is a gnutls_session_t structure. - -final_p : -Set iff this should signal the final phase. - -Returns : Return 0 on success, or an error code. - - - -gnutls_ia_verify_endphase () -gnutls_ia_verify_endphase -int gnutls_ia_verify_endphase (gnutls_session_t session, - const char *checksum); - -Verify TLS/IA end phase checksum data. If verification fails, the -GNUTLS_A_INNER_APPLICATION_VERIFICATION alert is sent to the other -sie. - - -This function is called when gnutls_ia_recv() return -GNUTLS_E_WARNING_IA_IPHF_RECEIVED or -GNUTLS_E_WARNING_IA_FPHF_RECEIVED. - -session : -is a gnutls_session_t structure. - -checksum : -12-byte checksum data, received from gnutls_ia_recv(). - -Returns : Return 0 on successful verification, or an error -code. If the checksum verification of the end phase message fails, -GNUTLS_E_IA_VERIFY_FAILED is returned. - - - -gnutls_ia_send () -gnutls_ia_send -ssize_t gnutls_ia_send (gnutls_session_t session, - const char *data, - size_t sizeofdata); - - -session : - - -data : - - -sizeofdata : - - -Returns : - - - -gnutls_ia_recv () -gnutls_ia_recv -ssize_t gnutls_ia_recv (gnutls_session_t session, - char *data, - size_t sizeofdata); - - -session : - - -data : - - -sizeofdata : - - -Returns : - - - -gnutls_ia_generate_challenge () -gnutls_ia_generate_challenge -int gnutls_ia_generate_challenge (gnutls_session_t session, - size_t buffer_size, - char *buffer); - -Generate an application challenge that the client cannot control or -predict, based on the TLS/IA inner secret. - -session : -is a gnutls_session_t structure. - -buffer_size : -size of output buffer. - -buffer : -pre-allocated buffer to contain buffer_size bytes of output. - -Returns : Returns 0 on success, or an negative error code. - - - -gnutls_ia_extract_inner_secret () -gnutls_ia_extract_inner_secret -void gnutls_ia_extract_inner_secret (gnutls_session_t session, - char *buffer); - -Copy the 48 bytes large inner secret into the specified buffer - - -This function is typically used after the TLS/IA handshake has -concluded. The TLS/IA inner secret can be used as input to a PRF -to derive session keys. Do not use the inner secret directly as a -session key, because for a resumed session that does not include an -application phase, the inner secret will be identical to the inner -secret in the original session. It is important to include, for -example, the client and server randomness when deriving a sesssion -key from the inner secret. - -session : -is a gnutls_session_t structure. - -buffer : -pre-allocated buffer to hold 48 bytes of inner secret. - - - -gnutls_ia_enable () -gnutls_ia_enable -void gnutls_ia_enable (gnutls_session_t session, - int allow_skip_on_resume); - - -session : - - -allow_skip_on_resume : - - - - -gnutls_global_init_extra () -gnutls_global_init_extra -int gnutls_global_init_extra (void); - - -Returns : - - - -gnutls_register_md5_handler () -gnutls_register_md5_handler -int gnutls_register_md5_handler (void); - -Register a non-libgcrypt based MD5 and HMAC-MD5 handler. This is -useful if you run Libgcrypt in FIPS-mode. Normally TLS requires -use of MD5, so without this you cannot use GnuTLS with libgcrypt in -FIPS mode. - -Returns : GNUTLS_E_SUCCESS on success, otherwise an error. - - -Since 2.6.0 - -gnutls_extra_check_version () -gnutls_extra_check_version -const char * gnutls_extra_check_version (const char *req_version); - - -req_version : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/gnutls.xml gnutls26-2.4.1/doc/reference/xml/gnutls.xml --- gnutls26-2.8.6/doc/reference/xml/gnutls.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/gnutls.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,6411 +0,0 @@ - - - - -gnutls -3 - - GNUTLS Library - - - -gnutls - - - - -Synopsis - -#define HAVE_SSIZE_T -#define GNUTLS_VERSION -#define GNUTLS_VERSION_MAJOR -#define GNUTLS_VERSION_MINOR -#define GNUTLS_VERSION_PATCH -#define GNUTLS_VERSION_NUMBER -#define GNUTLS_CIPHER_RIJNDAEL_128_CBC -#define GNUTLS_CIPHER_RIJNDAEL_256_CBC -#define GNUTLS_CIPHER_RIJNDAEL_CBC -#define GNUTLS_CIPHER_ARCFOUR -enum gnutls_cipher_algorithm_t; -enum gnutls_kx_algorithm_t; -enum gnutls_params_type_t; -enum gnutls_credentials_type_t; -#define GNUTLS_MAC_SHA -#define GNUTLS_DIG_SHA -enum gnutls_mac_algorithm_t; -enum gnutls_digest_algorithm_t; -#define GNUTLS_MAX_ALGORITHM_NUM -#define GNUTLS_COMP_ZLIB -enum gnutls_compression_method_t; -enum gnutls_connection_end_t; -enum gnutls_alert_level_t; -enum gnutls_alert_description_t; -enum gnutls_handshake_description_t; -enum gnutls_certificate_status_t; -enum gnutls_certificate_request_t; -enum gnutls_openpgp_crt_status_t; -enum gnutls_close_request_t; -#define GNUTLS_TLS1 -enum gnutls_protocol_t; -enum gnutls_certificate_type_t; -enum gnutls_x509_crt_fmt_t; -enum gnutls_certificate_print_formats_t; -enum gnutls_pk_algorithm_t; -const char * gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm); -#define GNUTLS_SIGN_RSA_SHA -#define GNUTLS_SIGN_DSA_SHA -enum gnutls_sign_algorithm_t; -const char * gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t sign); -typedef gnutls_transport_ptr_t; -struct gnutls_session_int; -typedef gnutls_session_t; -struct gnutls_dh_params_int; -typedef gnutls_dh_params_t; -struct gnutls_x509_privkey_int; -typedef gnutls_rsa_params_t; -struct gnutls_priority_st; -typedef gnutls_priority_t; -int gnutls_init (gnutls_session_t *session, - gnutls_connection_end_t con_end); -void gnutls_deinit (gnutls_session_t session); -int gnutls_bye (gnutls_session_t session, - gnutls_close_request_t how); -int gnutls_handshake (gnutls_session_t session); -int gnutls_rehandshake (gnutls_session_t session); -gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session); -int gnutls_alert_send (gnutls_session_t session, - gnutls_alert_level_t level, - gnutls_alert_description_t desc); -int gnutls_alert_send_appropriate (gnutls_session_t session, - int err); -const char * gnutls_alert_get_name (gnutls_alert_description_t alert); -gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session); -gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session); -gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session); -gnutls_compression_method_t gnutls_compression_get (gnutls_session_t session); -gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t session); -size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm); -size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm); -const char * gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm); -const char * gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm); -const char * gnutls_compression_get_name (gnutls_compression_method_t algorithm); -const char * gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm); -const char * gnutls_certificate_type_get_name (gnutls_certificate_type_t type); -const char * gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm); -const char * gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm); -gnutls_mac_algorithm_t gnutls_mac_get_id (const char *name); -gnutls_compression_method_t gnutls_compression_get_id (const char *name); -gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char *name); -gnutls_kx_algorithm_t gnutls_kx_get_id (const char *name); -gnutls_protocol_t gnutls_protocol_get_id (const char *name); -gnutls_certificate_type_t gnutls_certificate_type_get_id - (const char *name); -gnutls_pk_algorithm_t gnutls_pk_get_id (const char *name); -gnutls_sign_algorithm_t gnutls_sign_get_id (const char *name); -const gnutls_cipher_algorithm_t * gnutls_cipher_list (void); -const gnutls_mac_algorithm_t * gnutls_mac_list (void); -const gnutls_compression_method_t * gnutls_compression_list - (void); -const gnutls_protocol_t * gnutls_protocol_list (void); -const gnutls_certificate_type_t * gnutls_certificate_type_list - (void); -const gnutls_kx_algorithm_t * gnutls_kx_list (void); -const gnutls_pk_algorithm_t * gnutls_pk_list (void); -const gnutls_sign_algorithm_t * gnutls_sign_list (void); -const char * gnutls_cipher_suite_info (size_t idx, - char *cs_id, - gnutls_kx_algorithm_t *kx, - gnutls_cipher_algorithm_t *cipher, - gnutls_mac_algorithm_t *mac, - gnutls_protocol_t *version); -int gnutls_error_is_fatal (int error); -int gnutls_error_to_alert (int err, - int *level); -void gnutls_perror (int error); -const char * gnutls_strerror (int error); -const char * gnutls_strerror_name (int error); -void gnutls_handshake_set_private_extensions - (gnutls_session_t session, - int allow); -gnutls_handshake_description_t gnutls_handshake_get_last_out - (gnutls_session_t session); -gnutls_handshake_description_t gnutls_handshake_get_last_in - (gnutls_session_t session); -ssize_t gnutls_record_send (gnutls_session_t session, - const void *data, - size_t sizeofdata); -ssize_t gnutls_record_recv (gnutls_session_t session, - void *data, - size_t sizeofdata); -#define gnutls_read -#define gnutls_write -void gnutls_session_enable_compatibility_mode - (gnutls_session_t session); -void gnutls_record_disable_padding (gnutls_session_t session); -int gnutls_record_get_direction (gnutls_session_t session); -size_t gnutls_record_get_max_size (gnutls_session_t session); -ssize_t gnutls_record_set_max_size (gnutls_session_t session, - size_t size); -size_t gnutls_record_check_pending (gnutls_session_t session); -int gnutls_prf (gnutls_session_t session, - size_t label_size, - const char *label, - int server_random_first, - size_t extra_size, - const char *extra, - size_t outsize, - char *out); -int gnutls_prf_raw (gnutls_session_t session, - size_t label_size, - const char *label, - size_t seed_size, - const char *seed, - size_t outsize, - char *out); -int (*gnutls_ext_recv_func) (gnutls_session_t session, - unsigned char *data, - size_t len); -int (*gnutls_ext_send_func) (gnutls_session_t session, - unsigned char *data, - size_t len); -enum gnutls_ext_parse_type_t; -int gnutls_ext_register (int type, - const char *name, - gnutls_ext_parse_type_t parse_type, - gnutls_ext_recv_func recv_func, - gnutls_ext_send_func send_func); -enum gnutls_server_name_type_t; -int gnutls_server_name_set (gnutls_session_t session, - gnutls_server_name_type_t type, - const void *name, - size_t name_length); -int gnutls_server_name_get (gnutls_session_t session, - void *data, - size_t *data_length, - unsigned int *type, - unsigned int indx); -void gnutls_oprfi_enable_client (gnutls_session_t session, - size_t len, - unsigned char *data); -int (*gnutls_oprfi_callback_func) (gnutls_session_t session, - void *userdata, - size_t oprfi_len, - unsigned char *in_oprfi, - unsigned char *out_oprfi); -void gnutls_oprfi_enable_server (gnutls_session_t session, - gnutls_oprfi_callback_func cb, - void *userdata); -enum gnutls_supplemental_data_format_type_t; -const char * gnutls_supplemental_get_name (gnutls_supplemental_data_format_type_t type); -int gnutls_cipher_set_priority (gnutls_session_t session, - const int *list); -int gnutls_mac_set_priority (gnutls_session_t session, - const int *list); -int gnutls_compression_set_priority (gnutls_session_t session, - const int *list); -int gnutls_kx_set_priority (gnutls_session_t session, - const int *list); -int gnutls_protocol_set_priority (gnutls_session_t session, - const int *list); -int gnutls_certificate_type_set_priority - (gnutls_session_t session, - const int *list); -int gnutls_priority_init (gnutls_priority_t *priority_cache, - const char *priorities, - const char **err_pos); -void gnutls_priority_deinit (gnutls_priority_t priority_cache); -int gnutls_priority_set (gnutls_session_t session, - gnutls_priority_t priority); -int gnutls_priority_set_direct (gnutls_session_t session, - const char *priorities, - const char **err_pos); -int gnutls_set_default_priority (gnutls_session_t session); -int gnutls_set_default_export_priority (gnutls_session_t session); -const char * gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, - gnutls_cipher_algorithm_t cipher_algorithm, - gnutls_mac_algorithm_t mac_algorithm); -gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session); -const char * gnutls_protocol_get_name (gnutls_protocol_t version); -int gnutls_session_set_data (gnutls_session_t session, - const void *session_data, - size_t session_data_size); -int gnutls_session_get_data (gnutls_session_t session, - void *session_data, - size_t *session_data_size); -int gnutls_session_get_data2 (gnutls_session_t session, - gnutls_datum_t *data); -#define GNUTLS_MAX_SESSION_ID -int gnutls_session_get_id (gnutls_session_t session, - void *session_id, - size_t *session_id_size); -#define GNUTLS_MASTER_SIZE -#define GNUTLS_RANDOM_SIZE -const void * gnutls_session_get_server_random (gnutls_session_t session); -const void * gnutls_session_get_client_random (gnutls_session_t session); -const void * gnutls_session_get_master_secret (gnutls_session_t session); -void (*gnutls_finished_callback_func) (gnutls_session_t session, - const void *finished, - size_t len); -void gnutls_session_set_finished_function - (gnutls_session_t session, - gnutls_finished_callback_func func); -int gnutls_session_is_resumed (gnutls_session_t session); -int (*gnutls_db_store_func) (void *Param1, - gnutls_datum_t key, - gnutls_datum_t data); -int (*gnutls_db_remove_func) (void *Param1, - gnutls_datum_t key); -gnutls_datum_t (*gnutls_db_retr_func) (void *Param1, - gnutls_datum_t key); -void gnutls_db_set_cache_expiration (gnutls_session_t session, - int seconds); -void gnutls_db_remove_session (gnutls_session_t session); -void gnutls_db_set_retrieve_function (gnutls_session_t session, - gnutls_db_retr_func retr_func); -void gnutls_db_set_remove_function (gnutls_session_t session, - gnutls_db_remove_func rem_func); -void gnutls_db_set_store_function (gnutls_session_t session, - gnutls_db_store_func store_func); -void gnutls_db_set_ptr (gnutls_session_t session, - void *ptr); -void * gnutls_db_get_ptr (gnutls_session_t session); -int gnutls_db_check_entry (gnutls_session_t session, - gnutls_datum_t session_entry); -int (*gnutls_handshake_post_client_hello_func) - (gnutls_session_t Param1); -void gnutls_handshake_set_post_client_hello_function - (gnutls_session_t session, - gnutls_handshake_post_client_hello_func func); -void gnutls_handshake_set_max_packet_length - (gnutls_session_t session, - size_t max); -const char * gnutls_check_version (const char *req_version); -void gnutls_credentials_clear (gnutls_session_t session); -int gnutls_credentials_set (gnutls_session_t session, - gnutls_credentials_type_t type, - void *cred); -#define gnutls_cred_set -struct gnutls_certificate_credentials_st; -void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc); -int gnutls_anon_allocate_server_credentials - (gnutls_anon_server_credentials_t *sc); -void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, - gnutls_dh_params_t dh_params); -void gnutls_anon_set_server_params_function - (gnutls_anon_server_credentials_t res, - gnutls_params_function *func); -void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc); -int gnutls_anon_allocate_client_credentials - (gnutls_anon_client_credentials_t *sc); -void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc); -int gnutls_certificate_allocate_credentials - (gnutls_certificate_credentials_t *res); -void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc); -void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc); -void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc); -void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc); -void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, - gnutls_dh_params_t dh_params); -void gnutls_certificate_set_rsa_export_params - (gnutls_certificate_credentials_t res, - gnutls_rsa_params_t rsa_params); -void gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res, - unsigned int flags); -void gnutls_certificate_set_verify_limits - (gnutls_certificate_credentials_t res, - unsigned int max_bits, - unsigned int max_depth); -int gnutls_certificate_set_x509_trust_file - (gnutls_certificate_credentials_t res, - const char *cafile, - gnutls_x509_crt_fmt_t type); -int gnutls_certificate_set_x509_trust_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *ca, - gnutls_x509_crt_fmt_t type); -int gnutls_certificate_set_x509_crl_file - (gnutls_certificate_credentials_t res, - const char *crlfile, - gnutls_x509_crt_fmt_t type); -int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t *CRL, - gnutls_x509_crt_fmt_t type); -int gnutls_certificate_set_x509_key_file - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_x509_crt_fmt_t type); -int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - gnutls_x509_crt_fmt_t type); -void gnutls_certificate_send_x509_rdn_sequence - (gnutls_session_t session, - int status); -int gnutls_certificate_set_x509_simple_pkcs12_file - (gnutls_certificate_credentials_t res, - const char *pkcs12file, - gnutls_x509_crt_fmt_t type, - const char *password); -int gnutls_certificate_set_x509_simple_pkcs12_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum *p12blob, - gnutls_x509_crt_fmt_t type, - const char *password); -typedef gnutls_x509_privkey_t; -struct gnutls_x509_crl_int; -typedef gnutls_x509_crl_t; -struct gnutls_x509_crt_int; -typedef gnutls_x509_crt_t; -struct gnutls_openpgp_keyring_int; -typedef gnutls_openpgp_keyring_t; -int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t *cert_list, - int cert_list_size, - gnutls_x509_privkey_t key); -int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t *ca_list, - int ca_list_size); -int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, - gnutls_x509_crl_t *crl_list, - int crl_list_size); -void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, - gnutls_x509_crt_t **x509_ca_list, - unsigned int *ncas); -void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, - gnutls_x509_crl_t **x509_crl_list, - unsigned int *ncrls); -void gnutls_certificate_get_openpgp_keyring - (gnutls_certificate_credentials_t sc, - gnutls_openpgp_keyring_t *keyring); -int gnutls_global_init (void); -void gnutls_global_deinit (void); -void * (*gnutls_alloc_function) (size_t Param1); -void * (*gnutls_calloc_function) (size_t Param1, - size_t Param2); -int (*gnutls_is_secure_function) (const void *Param1); -void (*gnutls_free_function) (void *Param1); -void * (*gnutls_realloc_function) (void *Param1, - size_t Param2); -void gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, - gnutls_alloc_function secure_alloc_func, - gnutls_is_secure_function is_secure_func, - gnutls_realloc_function realloc_func, - gnutls_free_function free_func); -extern gnutls_alloc_function gnutls_malloc; -extern gnutls_alloc_function gnutls_secure_malloc; -extern gnutls_realloc_function gnutls_realloc; -extern gnutls_calloc_function gnutls_calloc; -extern gnutls_free_function gnutls_free; -char * (*gnutls_strdup) (const char *Param1); -void (*gnutls_log_func) (..., - const char *Param2); -void gnutls_global_set_log_function (gnutls_log_func log_func); -void gnutls_global_set_log_level (int level); -int gnutls_dh_params_init (gnutls_dh_params_t *dh_params); -void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params); -int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, - const gnutls_datum_t *prime, - const gnutls_datum_t *generator); -int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, - const gnutls_datum_t *pkcs3_params, - gnutls_x509_crt_fmt_t format); -int gnutls_dh_params_generate2 (gnutls_dh_params_t params, - unsigned int bits); -int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t *params_data_size); -int gnutls_dh_params_export_raw (gnutls_dh_params_t params, - gnutls_datum_t *prime, - gnutls_datum_t *generator, - unsigned int *bits); -int gnutls_dh_params_cpy (gnutls_dh_params_t dst, - gnutls_dh_params_t src); -int gnutls_rsa_params_init (gnutls_rsa_params_t *rsa_params); -void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params); -int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, - gnutls_rsa_params_t src); -int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, - const gnutls_datum_t *m, - const gnutls_datum_t *e, - const gnutls_datum_t *d, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *u); -int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, - unsigned int bits); -int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u, - unsigned int *bits); -int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t *params_data_size); -int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, - const gnutls_datum_t *pkcs1_params, - gnutls_x509_crt_fmt_t format); -ssize_t (*gnutls_pull_func) (gnutls_transport_ptr_t Param1, - void *Param2, - size_t Param3); -ssize_t (*gnutls_push_func) (gnutls_transport_ptr_t Param1, - const void *Param2, - size_t Param3); -void gnutls_transport_set_ptr (gnutls_session_t session, - gnutls_transport_ptr_t ptr); -void gnutls_transport_set_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t recv_ptr, - gnutls_transport_ptr_t send_ptr); -gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session); -void gnutls_transport_get_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t *recv_ptr, - gnutls_transport_ptr_t *send_ptr); -void gnutls_transport_set_lowat (gnutls_session_t session, - int num); -void gnutls_transport_set_push_function (gnutls_session_t session, - gnutls_push_func push_func); -void gnutls_transport_set_pull_function (gnutls_session_t session, - gnutls_pull_func pull_func); -void gnutls_transport_set_errno (gnutls_session_t session, - int err); -void gnutls_transport_set_global_errno (int err); -void gnutls_session_set_ptr (gnutls_session_t session, - void *ptr); -void * gnutls_session_get_ptr (gnutls_session_t session); -void gnutls_openpgp_send_cert (gnutls_session_t session, - gnutls_openpgp_crt_status_t status); -int gnutls_fingerprint (gnutls_digest_algorithm_t algo, - const gnutls_datum_t *data, - void *result, - size_t *result_size); -void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t sc); -int gnutls_srp_allocate_client_credentials - (gnutls_srp_client_credentials_t *sc); -int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, - const char *username, - const char *password); -void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t sc); -int gnutls_srp_allocate_server_credentials - (gnutls_srp_server_credentials_t *sc); -int gnutls_srp_set_server_credentials_file - (gnutls_srp_server_credentials_t res, - const char *password_file, - const char *password_conf_file); -const char * gnutls_srp_server_get_username (gnutls_session_t session); -void gnutls_srp_set_prime_bits (gnutls_session_t session, - unsigned int bits); -int gnutls_srp_verifier (const char *username, - const char *password, - const gnutls_datum_t *salt, - const gnutls_datum_t *generator, - const gnutls_datum_t *prime, - gnutls_datum_t *res); -extern const gnutls_datum_t gnutls_srp_2048_group_prime; -extern const gnutls_datum_t gnutls_srp_2048_group_generator; -extern const gnutls_datum_t gnutls_srp_1536_group_prime; -extern const gnutls_datum_t gnutls_srp_1536_group_generator; -extern const gnutls_datum_t gnutls_srp_1024_group_prime; -extern const gnutls_datum_t gnutls_srp_1024_group_generator; -void gnutls_srp_set_server_credentials_function - (gnutls_srp_server_credentials_t cred, - gnutls_srp_server_credentials_function *func); -void gnutls_srp_set_client_credentials_function - (gnutls_srp_client_credentials_t cred, - gnutls_srp_client_credentials_function *func); -int gnutls_srp_base64_encode (const gnutls_datum_t *data, - char *result, - size_t *result_size); -int gnutls_srp_base64_encode_alloc (const gnutls_datum_t *data, - gnutls_datum_t *result); -int gnutls_srp_base64_decode (const gnutls_datum_t *b64_data, - char *result, - size_t *result_size); -int gnutls_srp_base64_decode_alloc (const gnutls_datum_t *b64_data, - gnutls_datum_t *result); -enum gnutls_psk_key_flags; -void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t sc); -int gnutls_psk_allocate_client_credentials - (gnutls_psk_client_credentials_t *sc); -int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, - const char *username, - const gnutls_datum_t *key, - gnutls_psk_key_flags format); -void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t sc); -int gnutls_psk_allocate_server_credentials - (gnutls_psk_server_credentials_t *sc); -int gnutls_psk_set_server_credentials_file - (gnutls_psk_server_credentials_t res, - const char *password_file); -int gnutls_psk_set_server_credentials_hint - (gnutls_psk_server_credentials_t res, - const char *hint); -const char * gnutls_psk_server_get_username (gnutls_session_t session); -const char * gnutls_psk_client_get_hint (gnutls_session_t session); -void gnutls_psk_set_server_credentials_function - (gnutls_psk_server_credentials_t cred, - gnutls_psk_server_credentials_function *func); -void gnutls_psk_set_client_credentials_function - (gnutls_psk_client_credentials_t cred, - gnutls_psk_client_credentials_function *func); -int gnutls_hex_encode (const gnutls_datum_t *data, - char *result, - size_t *result_size); -int gnutls_hex_decode (const gnutls_datum_t *hex_data, - char *result, - size_t *result_size); -void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, - gnutls_dh_params_t dh_params); -void gnutls_psk_set_server_params_function - (gnutls_psk_server_credentials_t res, - gnutls_params_function *func); -int gnutls_psk_netconf_derive_key (const char *password, - const char *psk_identity, - const char *psk_identity_hint, - gnutls_datum_t *output_key); -enum gnutls_x509_subject_alt_name_t; -struct gnutls_openpgp_crt_int; -typedef gnutls_openpgp_crt_t; -struct gnutls_openpgp_privkey_int; -typedef gnutls_openpgp_privkey_t; -gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session); -gnutls_credentials_type_t gnutls_auth_server_get_type (gnutls_session_t session); -gnutls_credentials_type_t gnutls_auth_client_get_type (gnutls_session_t session); -void gnutls_dh_set_prime_bits (gnutls_session_t session, - unsigned int bits); -int gnutls_dh_get_secret_bits (gnutls_session_t session); -int gnutls_dh_get_peers_public_bits (gnutls_session_t session); -int gnutls_dh_get_prime_bits (gnutls_session_t session); -int gnutls_dh_get_group (gnutls_session_t session, - gnutls_datum_t *raw_gen, - gnutls_datum_t *raw_prime); -int gnutls_dh_get_pubkey (gnutls_session_t session, - gnutls_datum_t *raw_key); -int gnutls_rsa_export_get_pubkey (gnutls_session_t session, - gnutls_datum_t *exponent, - gnutls_datum_t *modulus); -int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session); -int (*gnutls_sign_func) (gnutls_session_t session, - void *userdata, - gnutls_certificate_type_t cert_type, - const gnutls_datum_t *cert, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); -void gnutls_sign_callback_set (gnutls_session_t session, - gnutls_sign_func sign_func, - void *userdata); -gnutls_sign_func gnutls_sign_callback_get (gnutls_session_t session, - void **userdata); -void gnutls_certificate_client_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_client_retrieve_function *func); -void gnutls_certificate_server_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_server_retrieve_function *func); -void gnutls_certificate_server_set_request - (gnutls_session_t session, - gnutls_certificate_request_t req); -const gnutls_datum_t * gnutls_certificate_get_peers (gnutls_session_t session, - unsigned int *list_size); -const gnutls_datum_t * gnutls_certificate_get_ours (gnutls_session_t session); -time_t gnutls_certificate_activation_time_peers - (gnutls_session_t session); -time_t gnutls_certificate_expiration_time_peers - (gnutls_session_t session); -int gnutls_certificate_client_get_request_status - (gnutls_session_t session); -int gnutls_certificate_verify_peers2 (gnutls_session_t session, - unsigned int *status); -int gnutls_certificate_verify_peers (gnutls_session_t session); -int gnutls_pem_base64_encode (const char *msg, - const gnutls_datum_t *data, - char *result, - size_t *result_size); -int gnutls_pem_base64_decode (const char *header, - const gnutls_datum_t *b64_data, - unsigned char *result, - size_t *result_size); -int gnutls_pem_base64_encode_alloc (const char *msg, - const gnutls_datum_t *data, - gnutls_datum_t *result); -int gnutls_pem_base64_decode_alloc (const char *header, - const gnutls_datum_t *b64_data, - gnutls_datum_t *result); -#define GNUTLS_KEY_DIGITAL_SIGNATURE -#define GNUTLS_KEY_NON_REPUDIATION -#define GNUTLS_KEY_KEY_ENCIPHERMENT -#define GNUTLS_KEY_DATA_ENCIPHERMENT -#define GNUTLS_KEY_KEY_AGREEMENT -#define GNUTLS_KEY_KEY_CERT_SIGN -#define GNUTLS_KEY_CRL_SIGN -#define GNUTLS_KEY_ENCIPHER_ONLY -#define GNUTLS_KEY_DECIPHER_ONLY -void gnutls_certificate_set_params_function - (gnutls_certificate_credentials_t res, - gnutls_params_function *func); -void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, - gnutls_params_function *func); -void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, - gnutls_params_function *func); -int gnutls_hex2bin (const char *hex_data, - size_t hex_size, - char *bin_data, - size_t *bin_size); -#define GNUTLS_E_SUCCESS -#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -#define GNUTLS_E_LARGE_PACKET -#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -#define GNUTLS_E_INVALID_SESSION -#define GNUTLS_E_FATAL_ALERT_RECEIVED -#define GNUTLS_E_UNEXPECTED_PACKET -#define GNUTLS_E_WARNING_ALERT_RECEIVED -#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -#define GNUTLS_E_UNWANTED_ALGORITHM -#define GNUTLS_E_MPI_SCAN_FAILED -#define GNUTLS_E_DECRYPTION_FAILED -#define GNUTLS_E_MEMORY_ERROR -#define GNUTLS_E_DECOMPRESSION_FAILED -#define GNUTLS_E_COMPRESSION_FAILED -#define GNUTLS_E_AGAIN -#define GNUTLS_E_EXPIRED -#define GNUTLS_E_DB_ERROR -#define GNUTLS_E_SRP_PWD_ERROR -#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -#define GNUTLS_E_INSUFICIENT_CREDENTIALS -#define GNUTLS_E_INSUFFICIENT_CRED -#define GNUTLS_E_INSUFICIENT_CRED -#define GNUTLS_E_HASH_FAILED -#define GNUTLS_E_BASE64_DECODING_ERROR -#define GNUTLS_E_MPI_PRINT_FAILED -#define GNUTLS_E_REHANDSHAKE -#define GNUTLS_E_GOT_APPLICATION_DATA -#define GNUTLS_E_RECORD_LIMIT_REACHED -#define GNUTLS_E_ENCRYPTION_FAILED -#define GNUTLS_E_PK_ENCRYPTION_FAILED -#define GNUTLS_E_PK_DECRYPTION_FAILED -#define GNUTLS_E_PK_SIGN_FAILED -#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -#define GNUTLS_E_KEY_USAGE_VIOLATION -#define GNUTLS_E_NO_CERTIFICATE_FOUND -#define GNUTLS_E_INVALID_REQUEST -#define GNUTLS_E_SHORT_MEMORY_BUFFER -#define GNUTLS_E_INTERRUPTED -#define GNUTLS_E_PUSH_ERROR -#define GNUTLS_E_PULL_ERROR -#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -#define GNUTLS_E_PKCS1_WRONG_PAD -#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -#define GNUTLS_E_INTERNAL_ERROR -#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -#define GNUTLS_E_FILE_ERROR -#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -#define GNUTLS_E_INIT_LIBEXTRA -#define GNUTLS_E_LIBRARY_VERSION_MISMATCH -#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -#define GNUTLS_E_LZO_INIT_FAILED -#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -#define GNUTLS_E_NO_CIPHER_SUITES -#define GNUTLS_E_OPENPGP_GETKEY_FAILED -#define GNUTLS_E_PK_SIG_VERIFY_FAILED -#define GNUTLS_E_ILLEGAL_SRP_USERNAME -#define GNUTLS_E_SRP_PWD_PARSING_ERROR -#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -#define GNUTLS_E_ASN1_DER_ERROR -#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -#define GNUTLS_E_ASN1_GENERIC_ERROR -#define GNUTLS_E_ASN1_VALUE_NOT_VALID -#define GNUTLS_E_ASN1_TAG_ERROR -#define GNUTLS_E_ASN1_TAG_IMPLICIT -#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -#define GNUTLS_E_ASN1_SYNTAX_ERROR -#define GNUTLS_E_ASN1_DER_OVERFLOW -#define GNUTLS_E_OPENPGP_UID_REVOKED -#define GNUTLS_E_CERTIFICATE_ERROR -#define GNUTLS_E_X509_CERTIFICATE_ERROR -#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -#define GNUTLS_E_X509_UNKNOWN_SAN -#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -#define GNUTLS_E_INVALID_PASSWORD -#define GNUTLS_E_MAC_VERIFY_FAILED -#define GNUTLS_E_CONSTRAINT_ERROR -#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -#define GNUTLS_E_IA_VERIFY_FAILED -#define GNUTLS_E_UNKNOWN_ALGORITHM -#define GNUTLS_E_BASE64_ENCODING_ERROR -#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -#define GNUTLS_E_OPENPGP_KEYRING_ERROR -#define GNUTLS_E_X509_UNSUPPORTED_OID -#define GNUTLS_E_RANDOM_FAILED -#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -#define GNUTLS_E_HANDSHAKE_TOO_LARGE -#define GNUTLS_E_UNIMPLEMENTED_FEATURE -#define GNUTLS_E_APPLICATION_ERROR_MAX -#define GNUTLS_E_APPLICATION_ERROR_MIN - - - - -Description - - - - -Details - -HAVE_SSIZE_T -HAVE_SSIZE_T -# define HAVE_SSIZE_T - - - - -GNUTLS_VERSION -GNUTLS_VERSION -#define GNUTLS_VERSION "2.8.6" - - - - -GNUTLS_VERSION_MAJOR -GNUTLS_VERSION_MAJOR -#define GNUTLS_VERSION_MAJOR 2 - - - - -GNUTLS_VERSION_MINOR -GNUTLS_VERSION_MINOR -#define GNUTLS_VERSION_MINOR 8 - - - - -GNUTLS_VERSION_PATCH -GNUTLS_VERSION_PATCH -#define GNUTLS_VERSION_PATCH 6 - - - - -GNUTLS_VERSION_NUMBER -GNUTLS_VERSION_NUMBER -#define GNUTLS_VERSION_NUMBER 0x020806 - - - - -GNUTLS_CIPHER_RIJNDAEL_128_CBC -GNUTLS_CIPHER_RIJNDAEL_128_CBC -#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC - - - - -GNUTLS_CIPHER_RIJNDAEL_256_CBC -GNUTLS_CIPHER_RIJNDAEL_256_CBC -#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC - - - - -GNUTLS_CIPHER_RIJNDAEL_CBC -GNUTLS_CIPHER_RIJNDAEL_CBC -#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC - - - - -GNUTLS_CIPHER_ARCFOUR -GNUTLS_CIPHER_ARCFOUR -#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128 - - - - -enum gnutls_cipher_algorithm_t -gnutls_cipher_algorithm_t - typedef enum gnutls_cipher_algorithm - { - GNUTLS_CIPHER_UNKNOWN = 0, - GNUTLS_CIPHER_NULL = 1, - GNUTLS_CIPHER_ARCFOUR_128, - GNUTLS_CIPHER_3DES_CBC, - GNUTLS_CIPHER_AES_128_CBC, - GNUTLS_CIPHER_AES_256_CBC, - GNUTLS_CIPHER_ARCFOUR_40, - GNUTLS_CIPHER_CAMELLIA_128_CBC, - GNUTLS_CIPHER_CAMELLIA_256_CBC, - GNUTLS_CIPHER_RC2_40_CBC = 90, - GNUTLS_CIPHER_DES_CBC, - - /* used only for PGP internals. Ignored in TLS/SSL - */ - GNUTLS_CIPHER_IDEA_PGP_CFB = 200, - GNUTLS_CIPHER_3DES_PGP_CFB, - GNUTLS_CIPHER_CAST5_PGP_CFB, - GNUTLS_CIPHER_BLOWFISH_PGP_CFB, - GNUTLS_CIPHER_SAFER_SK128_PGP_CFB, - GNUTLS_CIPHER_AES128_PGP_CFB, - GNUTLS_CIPHER_AES192_PGP_CFB, - GNUTLS_CIPHER_AES256_PGP_CFB, - GNUTLS_CIPHER_TWOFISH_PGP_CFB - } gnutls_cipher_algorithm_t; - - - - -enum gnutls_kx_algorithm_t -gnutls_kx_algorithm_t - typedef enum - { - GNUTLS_KX_UNKNOWN = 0, - GNUTLS_KX_RSA = 1, - GNUTLS_KX_DHE_DSS, - GNUTLS_KX_DHE_RSA, - GNUTLS_KX_ANON_DH, - GNUTLS_KX_SRP, - GNUTLS_KX_RSA_EXPORT, - GNUTLS_KX_SRP_RSA, - GNUTLS_KX_SRP_DSS, - GNUTLS_KX_PSK, - GNUTLS_KX_DHE_PSK - } gnutls_kx_algorithm_t; - - - - -enum gnutls_params_type_t -gnutls_params_type_t - typedef enum - { - GNUTLS_PARAMS_RSA_EXPORT = 1, - GNUTLS_PARAMS_DH - } gnutls_params_type_t; - - - - -enum gnutls_credentials_type_t -gnutls_credentials_type_t - typedef enum - { - GNUTLS_CRD_CERTIFICATE = 1, - GNUTLS_CRD_ANON, - GNUTLS_CRD_SRP, - GNUTLS_CRD_PSK, - GNUTLS_CRD_IA - } gnutls_credentials_type_t; - - - - -GNUTLS_MAC_SHA -GNUTLS_MAC_SHA -#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1 - - - - -GNUTLS_DIG_SHA -GNUTLS_DIG_SHA -#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1 - - - - -enum gnutls_mac_algorithm_t -gnutls_mac_algorithm_t - typedef enum - { - GNUTLS_MAC_UNKNOWN = 0, - GNUTLS_MAC_NULL = 1, - GNUTLS_MAC_MD5, - GNUTLS_MAC_SHA1, - GNUTLS_MAC_RMD160, - GNUTLS_MAC_MD2, - GNUTLS_MAC_SHA256, - GNUTLS_MAC_SHA384, - GNUTLS_MAC_SHA512 - /* If you add anything here, make sure you align with - gnutls_digest_algorithm_t, in particular SHA-224. */ - } gnutls_mac_algorithm_t; - - - - -enum gnutls_digest_algorithm_t -gnutls_digest_algorithm_t - typedef enum - { - GNUTLS_DIG_NULL = GNUTLS_MAC_NULL, - GNUTLS_DIG_MD5 = GNUTLS_MAC_MD5, - GNUTLS_DIG_SHA1 = GNUTLS_MAC_SHA1, - GNUTLS_DIG_RMD160 = GNUTLS_MAC_RMD160, - GNUTLS_DIG_MD2 = GNUTLS_MAC_MD2, - GNUTLS_DIG_SHA256 = GNUTLS_MAC_SHA256, - GNUTLS_DIG_SHA384 = GNUTLS_MAC_SHA384, - GNUTLS_DIG_SHA512 = GNUTLS_MAC_SHA512, - GNUTLS_DIG_SHA224 - } gnutls_digest_algorithm_t; - - - - -GNUTLS_MAX_ALGORITHM_NUM -GNUTLS_MAX_ALGORITHM_NUM -#define GNUTLS_MAX_ALGORITHM_NUM 16 - - - - -GNUTLS_COMP_ZLIB -GNUTLS_COMP_ZLIB -#define GNUTLS_COMP_ZLIB GNUTLS_COMP_DEFLATE - - - - -enum gnutls_compression_method_t -gnutls_compression_method_t - typedef enum - { - GNUTLS_COMP_UNKNOWN = 0, - GNUTLS_COMP_NULL = 1, - GNUTLS_COMP_DEFLATE, - GNUTLS_COMP_LZO /* only available if gnutls-extra has - been initialized - */ - } gnutls_compression_method_t; - - - - -enum gnutls_connection_end_t -gnutls_connection_end_t - typedef enum - { - GNUTLS_SERVER = 1, - GNUTLS_CLIENT - } gnutls_connection_end_t; - - - - -enum gnutls_alert_level_t -gnutls_alert_level_t - typedef enum - { - GNUTLS_AL_WARNING = 1, - GNUTLS_AL_FATAL - } gnutls_alert_level_t; - - - - -enum gnutls_alert_description_t -gnutls_alert_description_t - typedef enum - { - GNUTLS_A_CLOSE_NOTIFY, - GNUTLS_A_UNEXPECTED_MESSAGE = 10, - GNUTLS_A_BAD_RECORD_MAC = 20, - GNUTLS_A_DECRYPTION_FAILED, - GNUTLS_A_RECORD_OVERFLOW, - GNUTLS_A_DECOMPRESSION_FAILURE = 30, - GNUTLS_A_HANDSHAKE_FAILURE = 40, - GNUTLS_A_SSL3_NO_CERTIFICATE = 41, - GNUTLS_A_BAD_CERTIFICATE = 42, - GNUTLS_A_UNSUPPORTED_CERTIFICATE, - GNUTLS_A_CERTIFICATE_REVOKED, - GNUTLS_A_CERTIFICATE_EXPIRED, - GNUTLS_A_CERTIFICATE_UNKNOWN, - GNUTLS_A_ILLEGAL_PARAMETER, - GNUTLS_A_UNKNOWN_CA, - GNUTLS_A_ACCESS_DENIED, - GNUTLS_A_DECODE_ERROR = 50, - GNUTLS_A_DECRYPT_ERROR, - GNUTLS_A_EXPORT_RESTRICTION = 60, - GNUTLS_A_PROTOCOL_VERSION = 70, - GNUTLS_A_INSUFFICIENT_SECURITY, - GNUTLS_A_INTERNAL_ERROR = 80, - GNUTLS_A_USER_CANCELED = 90, - GNUTLS_A_NO_RENEGOTIATION = 100, - GNUTLS_A_UNSUPPORTED_EXTENSION = 110, - GNUTLS_A_CERTIFICATE_UNOBTAINABLE = 111, - GNUTLS_A_UNRECOGNIZED_NAME = 112, - GNUTLS_A_UNKNOWN_PSK_IDENTITY = 115, - GNUTLS_A_INNER_APPLICATION_FAILURE = 208, - GNUTLS_A_INNER_APPLICATION_VERIFICATION = 209 - } gnutls_alert_description_t; - - - - -enum gnutls_handshake_description_t -gnutls_handshake_description_t - typedef enum - { GNUTLS_HANDSHAKE_HELLO_REQUEST = 0, - GNUTLS_HANDSHAKE_CLIENT_HELLO = 1, - GNUTLS_HANDSHAKE_SERVER_HELLO = 2, - GNUTLS_HANDSHAKE_CERTIFICATE_PKT = 11, - GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE = 12, - GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST = 13, - GNUTLS_HANDSHAKE_SERVER_HELLO_DONE = 14, - GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY = 15, - GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE = 16, - GNUTLS_HANDSHAKE_FINISHED = 20, - GNUTLS_HANDSHAKE_SUPPLEMENTAL = 23 - } gnutls_handshake_description_t; - - - - -enum gnutls_certificate_status_t -gnutls_certificate_status_t - typedef enum - { - GNUTLS_CERT_INVALID = 2, /* will be set if the certificate - * was not verified. - */ - GNUTLS_CERT_REVOKED = 32, /* in X.509 this will be set only if CRLs are checked - */ - - /* Those are extra information about the verification - * process. Will be set only if the certificate was - * not verified. - */ - GNUTLS_CERT_SIGNER_NOT_FOUND = 64, - GNUTLS_CERT_SIGNER_NOT_CA = 128, - GNUTLS_CERT_INSECURE_ALGORITHM = 256, - - /* Time verification. - */ - GNUTLS_CERT_NOT_ACTIVATED = 512, - GNUTLS_CERT_EXPIRED = 1024 - - } gnutls_certificate_status_t; - - - - -enum gnutls_certificate_request_t -gnutls_certificate_request_t - typedef enum - { - GNUTLS_CERT_IGNORE, - GNUTLS_CERT_REQUEST = 1, - GNUTLS_CERT_REQUIRE - } gnutls_certificate_request_t; - - - - -enum gnutls_openpgp_crt_status_t -gnutls_openpgp_crt_status_t - typedef enum - { GNUTLS_OPENPGP_CERT, - GNUTLS_OPENPGP_CERT_FINGERPRINT - } gnutls_openpgp_crt_status_t; - - - - -enum gnutls_close_request_t -gnutls_close_request_t - typedef enum - { - GNUTLS_SHUT_RDWR = 0, - GNUTLS_SHUT_WR = 1 - } gnutls_close_request_t; - - - - -GNUTLS_TLS1 -GNUTLS_TLS1 -#define GNUTLS_TLS1 GNUTLS_TLS1_0 - - - - -enum gnutls_protocol_t -gnutls_protocol_t - typedef enum - { - GNUTLS_SSL3 = 1, - GNUTLS_TLS1_0, - GNUTLS_TLS1_1, - GNUTLS_TLS1_2, - GNUTLS_VERSION_UNKNOWN = 0xff - } gnutls_protocol_t; - - - - -enum gnutls_certificate_type_t -gnutls_certificate_type_t - typedef enum - { - GNUTLS_CRT_UNKNOWN = 0, - GNUTLS_CRT_X509 = 1, - GNUTLS_CRT_OPENPGP - } gnutls_certificate_type_t; - - - - -enum gnutls_x509_crt_fmt_t -gnutls_x509_crt_fmt_t - typedef enum - { - GNUTLS_X509_FMT_DER, - GNUTLS_X509_FMT_PEM - } gnutls_x509_crt_fmt_t; - - - - -enum gnutls_certificate_print_formats_t -gnutls_certificate_print_formats_t - typedef enum gnutls_certificate_print_formats - { - GNUTLS_CRT_PRINT_FULL, - GNUTLS_CRT_PRINT_ONELINE, - GNUTLS_CRT_PRINT_UNSIGNED_FULL - } gnutls_certificate_print_formats_t; - - - - -enum gnutls_pk_algorithm_t -gnutls_pk_algorithm_t - typedef enum - { - GNUTLS_PK_UNKNOWN = 0, - GNUTLS_PK_RSA = 1, - GNUTLS_PK_DSA - } gnutls_pk_algorithm_t; - - - - -gnutls_pk_algorithm_get_name () -gnutls_pk_algorithm_get_name -const char * gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -GNUTLS_SIGN_RSA_SHA -GNUTLS_SIGN_RSA_SHA -#define GNUTLS_SIGN_RSA_SHA GNUTLS_SIGN_RSA_SHA1 - - - - -GNUTLS_SIGN_DSA_SHA -GNUTLS_SIGN_DSA_SHA -#define GNUTLS_SIGN_DSA_SHA GNUTLS_SIGN_DSA_SHA1 - - - - -enum gnutls_sign_algorithm_t -gnutls_sign_algorithm_t - typedef enum - { - GNUTLS_SIGN_UNKNOWN = 0, - GNUTLS_SIGN_RSA_SHA1 = 1, - GNUTLS_SIGN_DSA_SHA1, - GNUTLS_SIGN_RSA_MD5, - GNUTLS_SIGN_RSA_MD2, - GNUTLS_SIGN_RSA_RMD160, - GNUTLS_SIGN_RSA_SHA256, - GNUTLS_SIGN_RSA_SHA384, - GNUTLS_SIGN_RSA_SHA512, - GNUTLS_SIGN_RSA_SHA224 - } gnutls_sign_algorithm_t; - - - - -gnutls_sign_algorithm_get_name () -gnutls_sign_algorithm_get_name -const char * gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t sign); - - -sign : - - -Returns : - - - -gnutls_transport_ptr_t -gnutls_transport_ptr_t - typedef void *gnutls_transport_ptr_t; - - - - -struct gnutls_session_int -gnutls_session_int -struct gnutls_session_int; - - - -gnutls_session_t -gnutls_session_t - typedef struct gnutls_session_int *gnutls_session_t; - - - - -struct gnutls_dh_params_int -gnutls_dh_params_int -struct gnutls_dh_params_int; - - - -gnutls_dh_params_t -gnutls_dh_params_t - typedef struct gnutls_dh_params_int *gnutls_dh_params_t; - - - - -struct gnutls_x509_privkey_int -gnutls_x509_privkey_int -struct gnutls_x509_privkey_int; - - - -gnutls_rsa_params_t -gnutls_rsa_params_t - typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t; - - - - -struct gnutls_priority_st -gnutls_priority_st -struct gnutls_priority_st; - - - -gnutls_priority_t -gnutls_priority_t - typedef struct gnutls_priority_st *gnutls_priority_t; - - - - -gnutls_init () -gnutls_init -int gnutls_init (gnutls_session_t *session, - gnutls_connection_end_t con_end); - - -session : - - -con_end : - - -Returns : - - - -gnutls_deinit () -gnutls_deinit -void gnutls_deinit (gnutls_session_t session); - - -session : - - - - -gnutls_bye () -gnutls_bye -int gnutls_bye (gnutls_session_t session, - gnutls_close_request_t how); - - -session : - - -how : - - -Returns : - - - -gnutls_handshake () -gnutls_handshake -int gnutls_handshake (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_rehandshake () -gnutls_rehandshake -int gnutls_rehandshake (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_alert_get () -gnutls_alert_get -gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_alert_send () -gnutls_alert_send -int gnutls_alert_send (gnutls_session_t session, - gnutls_alert_level_t level, - gnutls_alert_description_t desc); - - -session : - - -level : - - -desc : - - -Returns : - - - -gnutls_alert_send_appropriate () -gnutls_alert_send_appropriate -int gnutls_alert_send_appropriate (gnutls_session_t session, - int err); - - -session : - - -err : - - -Returns : - - - -gnutls_alert_get_name () -gnutls_alert_get_name -const char * gnutls_alert_get_name (gnutls_alert_description_t alert); - - -alert : - - -Returns : - - - -gnutls_cipher_get () -gnutls_cipher_get -gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_kx_get () -gnutls_kx_get -gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_mac_get () -gnutls_mac_get -gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_compression_get () -gnutls_compression_get -gnutls_compression_method_t gnutls_compression_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_certificate_type_get () -gnutls_certificate_type_get -gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_cipher_get_key_size () -gnutls_cipher_get_key_size -size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_mac_get_key_size () -gnutls_mac_get_key_size -size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_cipher_get_name () -gnutls_cipher_get_name -const char * gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_mac_get_name () -gnutls_mac_get_name -const char * gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_compression_get_name () -gnutls_compression_get_name -const char * gnutls_compression_get_name (gnutls_compression_method_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_kx_get_name () -gnutls_kx_get_name -const char * gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_certificate_type_get_name () -gnutls_certificate_type_get_name -const char * gnutls_certificate_type_get_name (gnutls_certificate_type_t type); - - -type : - - -Returns : - - - -gnutls_pk_get_name () -gnutls_pk_get_name -const char * gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_sign_get_name () -gnutls_sign_get_name -const char * gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm); - - -algorithm : - - -Returns : - - - -gnutls_mac_get_id () -gnutls_mac_get_id -gnutls_mac_algorithm_t gnutls_mac_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_compression_get_id () -gnutls_compression_get_id -gnutls_compression_method_t gnutls_compression_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_cipher_get_id () -gnutls_cipher_get_id -gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_kx_get_id () -gnutls_kx_get_id -gnutls_kx_algorithm_t gnutls_kx_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_protocol_get_id () -gnutls_protocol_get_id -gnutls_protocol_t gnutls_protocol_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_certificate_type_get_id () -gnutls_certificate_type_get_id -gnutls_certificate_type_t gnutls_certificate_type_get_id - (const char *name); - - -name : - - -Returns : - - - -gnutls_pk_get_id () -gnutls_pk_get_id -gnutls_pk_algorithm_t gnutls_pk_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_sign_get_id () -gnutls_sign_get_id -gnutls_sign_algorithm_t gnutls_sign_get_id (const char *name); - - -name : - - -Returns : - - - -gnutls_cipher_list () -gnutls_cipher_list -const gnutls_cipher_algorithm_t * gnutls_cipher_list (void); - - -Returns : - - - -gnutls_mac_list () -gnutls_mac_list -const gnutls_mac_algorithm_t * gnutls_mac_list (void); - - -Returns : - - - -gnutls_compression_list () -gnutls_compression_list -const gnutls_compression_method_t * gnutls_compression_list - (void); - - -Returns : - - - -gnutls_protocol_list () -gnutls_protocol_list -const gnutls_protocol_t * gnutls_protocol_list (void); - - -Returns : - - - -gnutls_certificate_type_list () -gnutls_certificate_type_list -const gnutls_certificate_type_t * gnutls_certificate_type_list - (void); - - -Returns : - - - -gnutls_kx_list () -gnutls_kx_list -const gnutls_kx_algorithm_t * gnutls_kx_list (void); - - -Returns : - - - -gnutls_pk_list () -gnutls_pk_list -const gnutls_pk_algorithm_t * gnutls_pk_list (void); - - -Returns : - - - -gnutls_sign_list () -gnutls_sign_list -const gnutls_sign_algorithm_t * gnutls_sign_list (void); - - -Returns : - - - -gnutls_cipher_suite_info () -gnutls_cipher_suite_info -const char * gnutls_cipher_suite_info (size_t idx, - char *cs_id, - gnutls_kx_algorithm_t *kx, - gnutls_cipher_algorithm_t *cipher, - gnutls_mac_algorithm_t *mac, - gnutls_protocol_t *version); - -Get information about supported cipher suites. Use the function -iteratively to get information about all supported cipher suites. -Call with idx=0 to get information about first cipher suite, then -idx=1 and so on until the function returns NULL. - -idx : -index of cipher suite to get information about, starts on 0. - -cs_id : -output buffer with room for 2 bytes, indicating cipher suite value - -kx : -output variable indicating key exchange algorithm, or NULL. - -cipher : -output variable indicating cipher, or NULL. - -mac : -output variable indicating MAC algorithm, or NULL. - -version : -output variable indicating TLS protocol version, or NULL. - -Returns : the name of idx cipher suite, and set the information -about the cipher suite in the output variables. If idx is out of -bounds, NULL is returned. - - - -gnutls_error_is_fatal () -gnutls_error_is_fatal -int gnutls_error_is_fatal (int error); - - -error : - - -Returns : - - - -gnutls_error_to_alert () -gnutls_error_to_alert -int gnutls_error_to_alert (int err, - int *level); - - -err : - - -level : - - -Returns : - - - -gnutls_perror () -gnutls_perror -void gnutls_perror (int error); - - -error : - - - - -gnutls_strerror () -gnutls_strerror -const char * gnutls_strerror (int error); - - -error : - - -Returns : - - - -gnutls_strerror_name () -gnutls_strerror_name -const char * gnutls_strerror_name (int error); - -Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - -error : -is an error returned by a gnutls function. - -Returns : A string corresponding to the symbol name of the error -code. - - -Since 2.6.0 - -gnutls_handshake_set_private_extensions () -gnutls_handshake_set_private_extensions -void gnutls_handshake_set_private_extensions - (gnutls_session_t session, - int allow); - - -session : - - -allow : - - - - -gnutls_handshake_get_last_out () -gnutls_handshake_get_last_out -gnutls_handshake_description_t gnutls_handshake_get_last_out - (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_handshake_get_last_in () -gnutls_handshake_get_last_in -gnutls_handshake_description_t gnutls_handshake_get_last_in - (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_record_send () -gnutls_record_send -ssize_t gnutls_record_send (gnutls_session_t session, - const void *data, - size_t sizeofdata); - - -session : - - -data : - - -sizeofdata : - - -Returns : - - - -gnutls_record_recv () -gnutls_record_recv -ssize_t gnutls_record_recv (gnutls_session_t session, - void *data, - size_t sizeofdata); - - -session : - - -data : - - -sizeofdata : - - -Returns : - - - -gnutls_read -gnutls_read -#define gnutls_read gnutls_record_recv - - - - -gnutls_write -gnutls_write -#define gnutls_write gnutls_record_send - - - - -gnutls_session_enable_compatibility_mode () -gnutls_session_enable_compatibility_mode -void gnutls_session_enable_compatibility_mode - (gnutls_session_t session); - - -session : - - - - -gnutls_record_disable_padding () -gnutls_record_disable_padding -void gnutls_record_disable_padding (gnutls_session_t session); - - -session : - - - - -gnutls_record_get_direction () -gnutls_record_get_direction -int gnutls_record_get_direction (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_record_get_max_size () -gnutls_record_get_max_size -size_t gnutls_record_get_max_size (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_record_set_max_size () -gnutls_record_set_max_size -ssize_t gnutls_record_set_max_size (gnutls_session_t session, - size_t size); - - -session : - - -size : - - -Returns : - - - -gnutls_record_check_pending () -gnutls_record_check_pending -size_t gnutls_record_check_pending (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_prf () -gnutls_prf -int gnutls_prf (gnutls_session_t session, - size_t label_size, - const char *label, - int server_random_first, - size_t extra_size, - const char *extra, - size_t outsize, - char *out); - - -session : - - -label_size : - - -label : - - -server_random_first : - - -extra_size : - - -extra : - - -outsize : - - -out : - - -Returns : - - - -gnutls_prf_raw () -gnutls_prf_raw -int gnutls_prf_raw (gnutls_session_t session, - size_t label_size, - const char *label, - size_t seed_size, - const char *seed, - size_t outsize, - char *out); - - -session : - - -label_size : - - -label : - - -seed_size : - - -seed : - - -outsize : - - -out : - - -Returns : - - - -gnutls_ext_recv_func () -gnutls_ext_recv_func -int (*gnutls_ext_recv_func) (gnutls_session_t session, - unsigned char *data, - size_t len); - - -session : - - -data : - - -len : - - -Returns : - - - -gnutls_ext_send_func () -gnutls_ext_send_func -int (*gnutls_ext_send_func) (gnutls_session_t session, - unsigned char *data, - size_t len); - - -session : - - -data : - - -len : - - -Returns : - - - -enum gnutls_ext_parse_type_t -gnutls_ext_parse_type_t - typedef enum - { - GNUTLS_EXT_ANY, - GNUTLS_EXT_APPLICATION, - GNUTLS_EXT_TLS - } gnutls_ext_parse_type_t; - - - - -gnutls_ext_register () -gnutls_ext_register -int gnutls_ext_register (int type, - const char *name, - gnutls_ext_parse_type_t parse_type, - gnutls_ext_recv_func recv_func, - gnutls_ext_send_func send_func); - - -type : - - -name : - - -parse_type : - - -recv_func : - - -send_func : - - -Returns : - - - -enum gnutls_server_name_type_t -gnutls_server_name_type_t - typedef enum - { - GNUTLS_NAME_DNS = 1 - } gnutls_server_name_type_t; - - - - -gnutls_server_name_set () -gnutls_server_name_set -int gnutls_server_name_set (gnutls_session_t session, - gnutls_server_name_type_t type, - const void *name, - size_t name_length); - - -session : - - -type : - - -name : - - -name_length : - - -Returns : - - - -gnutls_server_name_get () -gnutls_server_name_get -int gnutls_server_name_get (gnutls_session_t session, - void *data, - size_t *data_length, - unsigned int *type, - unsigned int indx); - - -session : - - -data : - - -data_length : - - -type : - - -indx : - - -Returns : - - - -gnutls_oprfi_enable_client () -gnutls_oprfi_enable_client -void gnutls_oprfi_enable_client (gnutls_session_t session, - size_t len, - unsigned char *data); - -Request that the client should attempt to negotiate the Opaque PRF -Input TLS extension, using the given data as the client's Opaque -PRF input. - - -The data is copied into the session context after this call, so you -may de-allocate it immediately after calling this function. - -session : -is a gnutls_session_t structure. - -len : -length of Opaque PRF data to use in client. - -data : -Opaque PRF data to use in client. - - - -gnutls_oprfi_callback_func () -gnutls_oprfi_callback_func -int (*gnutls_oprfi_callback_func) (gnutls_session_t session, - void *userdata, - size_t oprfi_len, - unsigned char *in_oprfi, - unsigned char *out_oprfi); - - -session : - - -userdata : - - -oprfi_len : - - -in_oprfi : - - -out_oprfi : - - -Returns : - - - -gnutls_oprfi_enable_server () -gnutls_oprfi_enable_server -void gnutls_oprfi_enable_server (gnutls_session_t session, - gnutls_oprfi_callback_func cb, - void *userdata); - -Request that the server should attempt to accept the Opaque PRF -Input TLS extension. If the client requests the extension, the -provided callback cb will be invoked. The callback must have the -following prototype: - - -int callback (gnutls_session_t session, void *userdata, - size_t oprfi_len, const unsigned char *in_oprfi, - unsigned char *out_oprfi); - - -The callback can inspect the client-provided data in the input -parameters, and specify its own opaque prf input data in the output -variable. The function must return 0 on success, otherwise the -handshake will be aborted. - -session : -is a gnutls_session_t structure. - -cb : -function pointer to Opaque PRF extension server callback. - -userdata : -hook passed to callback function for passing application state. - - - -enum gnutls_supplemental_data_format_type_t -gnutls_supplemental_data_format_type_t - typedef enum - { - GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0 - } gnutls_supplemental_data_format_type_t; - - - - -gnutls_supplemental_get_name () -gnutls_supplemental_get_name -const char * gnutls_supplemental_get_name (gnutls_supplemental_data_format_type_t type); - - -type : - - -Returns : - - - -gnutls_cipher_set_priority () -gnutls_cipher_set_priority -int gnutls_cipher_set_priority (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_mac_set_priority () -gnutls_mac_set_priority -int gnutls_mac_set_priority (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_compression_set_priority () -gnutls_compression_set_priority -int gnutls_compression_set_priority (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_kx_set_priority () -gnutls_kx_set_priority -int gnutls_kx_set_priority (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_protocol_set_priority () -gnutls_protocol_set_priority -int gnutls_protocol_set_priority (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_certificate_type_set_priority () -gnutls_certificate_type_set_priority -int gnutls_certificate_type_set_priority - (gnutls_session_t session, - const int *list); - - -session : - - -list : - - -Returns : - - - -gnutls_priority_init () -gnutls_priority_init -int gnutls_priority_init (gnutls_priority_t *priority_cache, - const char *priorities, - const char **err_pos); - - -priority_cache : - - -priorities : - - -err_pos : - - -Returns : - - - -gnutls_priority_deinit () -gnutls_priority_deinit -void gnutls_priority_deinit (gnutls_priority_t priority_cache); - - -priority_cache : - - - - -gnutls_priority_set () -gnutls_priority_set -int gnutls_priority_set (gnutls_session_t session, - gnutls_priority_t priority); - - -session : - - -priority : - - -Returns : - - - -gnutls_priority_set_direct () -gnutls_priority_set_direct -int gnutls_priority_set_direct (gnutls_session_t session, - const char *priorities, - const char **err_pos); - - -session : - - -priorities : - - -err_pos : - - -Returns : - - - -gnutls_set_default_priority () -gnutls_set_default_priority -int gnutls_set_default_priority (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_set_default_export_priority () -gnutls_set_default_export_priority -int gnutls_set_default_export_priority (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_cipher_suite_get_name () -gnutls_cipher_suite_get_name -const char * gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, - gnutls_cipher_algorithm_t cipher_algorithm, - gnutls_mac_algorithm_t mac_algorithm); - - -kx_algorithm : - - -cipher_algorithm : - - -mac_algorithm : - - -Returns : - - - -gnutls_protocol_get_version () -gnutls_protocol_get_version -gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_protocol_get_name () -gnutls_protocol_get_name -const char * gnutls_protocol_get_name (gnutls_protocol_t version); - - -version : - - -Returns : - - - -gnutls_session_set_data () -gnutls_session_set_data -int gnutls_session_set_data (gnutls_session_t session, - const void *session_data, - size_t session_data_size); - - -session : - - -session_data : - - -session_data_size : - - -Returns : - - - -gnutls_session_get_data () -gnutls_session_get_data -int gnutls_session_get_data (gnutls_session_t session, - void *session_data, - size_t *session_data_size); - - -session : - - -session_data : - - -session_data_size : - - -Returns : - - - -gnutls_session_get_data2 () -gnutls_session_get_data2 -int gnutls_session_get_data2 (gnutls_session_t session, - gnutls_datum_t *data); - - -session : - - -data : - - -Returns : - - - -GNUTLS_MAX_SESSION_ID -GNUTLS_MAX_SESSION_ID -#define GNUTLS_MAX_SESSION_ID 32 - - - - -gnutls_session_get_id () -gnutls_session_get_id -int gnutls_session_get_id (gnutls_session_t session, - void *session_id, - size_t *session_id_size); - - -session : - - -session_id : - - -session_id_size : - - -Returns : - - - -GNUTLS_MASTER_SIZE -GNUTLS_MASTER_SIZE -#define GNUTLS_MASTER_SIZE 48 - - - - -GNUTLS_RANDOM_SIZE -GNUTLS_RANDOM_SIZE -#define GNUTLS_RANDOM_SIZE 32 - - - - -gnutls_session_get_server_random () -gnutls_session_get_server_random -const void * gnutls_session_get_server_random (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_session_get_client_random () -gnutls_session_get_client_random -const void * gnutls_session_get_client_random (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_session_get_master_secret () -gnutls_session_get_master_secret -const void * gnutls_session_get_master_secret (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_finished_callback_func () -gnutls_finished_callback_func -void (*gnutls_finished_callback_func) (gnutls_session_t session, - const void *finished, - size_t len); - - -session : - - -finished : - - -len : - - - - -gnutls_session_set_finished_function () -gnutls_session_set_finished_function -void gnutls_session_set_finished_function - (gnutls_session_t session, - gnutls_finished_callback_func func); - -Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. - - -The callback should follow this prototype: - - -void callback (gnutls_session_t session, const void *finished, size_t len); - - -The finished parameter will contain the binary TLS finished -message, and len will contains its length. For SSLv3 connections, -the len parameter will be 36 and for TLS connections it will be -12. - - -It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use. - -session : -is a gnutls_session_t structure. - -func : -a gnutls_finished_callback_func callback. - -Since 2.6.0 - -gnutls_session_is_resumed () -gnutls_session_is_resumed -int gnutls_session_is_resumed (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_db_store_func () -gnutls_db_store_func -int (*gnutls_db_store_func) (void *Param1, - gnutls_datum_t key, - gnutls_datum_t data); - - -Param1 : - - -key : - - -data : - - -Returns : - - - -gnutls_db_remove_func () -gnutls_db_remove_func -int (*gnutls_db_remove_func) (void *Param1, - gnutls_datum_t key); - - -Param1 : - - -key : - - -Returns : - - - -gnutls_db_retr_func () -gnutls_db_retr_func -gnutls_datum_t (*gnutls_db_retr_func) (void *Param1, - gnutls_datum_t key); - - -Param1 : - - -key : - - -Returns : - - - -gnutls_db_set_cache_expiration () -gnutls_db_set_cache_expiration -void gnutls_db_set_cache_expiration (gnutls_session_t session, - int seconds); - - -session : - - -seconds : - - - - -gnutls_db_remove_session () -gnutls_db_remove_session -void gnutls_db_remove_session (gnutls_session_t session); - - -session : - - - - -gnutls_db_set_retrieve_function () -gnutls_db_set_retrieve_function -void gnutls_db_set_retrieve_function (gnutls_session_t session, - gnutls_db_retr_func retr_func); - - -session : - - -retr_func : - - - - -gnutls_db_set_remove_function () -gnutls_db_set_remove_function -void gnutls_db_set_remove_function (gnutls_session_t session, - gnutls_db_remove_func rem_func); - - -session : - - -rem_func : - - - - -gnutls_db_set_store_function () -gnutls_db_set_store_function -void gnutls_db_set_store_function (gnutls_session_t session, - gnutls_db_store_func store_func); - - -session : - - -store_func : - - - - -gnutls_db_set_ptr () -gnutls_db_set_ptr -void gnutls_db_set_ptr (gnutls_session_t session, - void *ptr); - - -session : - - -ptr : - - - - -gnutls_db_get_ptr () -gnutls_db_get_ptr -void * gnutls_db_get_ptr (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_db_check_entry () -gnutls_db_check_entry -int gnutls_db_check_entry (gnutls_session_t session, - gnutls_datum_t session_entry); - - -session : - - -session_entry : - - -Returns : - - - -gnutls_handshake_post_client_hello_func () -gnutls_handshake_post_client_hello_func -int (*gnutls_handshake_post_client_hello_func) - (gnutls_session_t Param1); - - -Param1 : - - -Returns : - - - -gnutls_handshake_set_post_client_hello_function () -gnutls_handshake_set_post_client_hello_function -void gnutls_handshake_set_post_client_hello_function - (gnutls_session_t session, - gnutls_handshake_post_client_hello_func func); - - -session : - - -func : - - - - -gnutls_handshake_set_max_packet_length () -gnutls_handshake_set_max_packet_length -void gnutls_handshake_set_max_packet_length - (gnutls_session_t session, - size_t max); - - -session : - - -max : - - - - -gnutls_check_version () -gnutls_check_version -const char * gnutls_check_version (const char *req_version); - - -req_version : - - -Returns : - - - -gnutls_credentials_clear () -gnutls_credentials_clear -void gnutls_credentials_clear (gnutls_session_t session); - - -session : - - - - -gnutls_credentials_set () -gnutls_credentials_set -int gnutls_credentials_set (gnutls_session_t session, - gnutls_credentials_type_t type, - void *cred); - - -session : - - -type : - - -cred : - - -Returns : - - - -gnutls_cred_set -gnutls_cred_set -#define gnutls_cred_set gnutls_credentials_set - - - - -struct gnutls_certificate_credentials_st -gnutls_certificate_credentials_st -struct gnutls_certificate_credentials_st; - - - -gnutls_anon_free_server_credentials () -gnutls_anon_free_server_credentials -void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc); - - -sc : - - - - -gnutls_anon_allocate_server_credentials () -gnutls_anon_allocate_server_credentials -int gnutls_anon_allocate_server_credentials - (gnutls_anon_server_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_anon_set_server_dh_params () -gnutls_anon_set_server_dh_params -void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, - gnutls_dh_params_t dh_params); - - -res : - - -dh_params : - - - - -gnutls_anon_set_server_params_function () -gnutls_anon_set_server_params_function -void gnutls_anon_set_server_params_function - (gnutls_anon_server_credentials_t res, - gnutls_params_function *func); - - -res : - - -func : - - - - -gnutls_anon_free_client_credentials () -gnutls_anon_free_client_credentials -void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc); - - -sc : - - - - -gnutls_anon_allocate_client_credentials () -gnutls_anon_allocate_client_credentials -int gnutls_anon_allocate_client_credentials - (gnutls_anon_client_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_certificate_free_credentials () -gnutls_certificate_free_credentials -void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc); - - -sc : - - - - -gnutls_certificate_allocate_credentials () -gnutls_certificate_allocate_credentials -int gnutls_certificate_allocate_credentials - (gnutls_certificate_credentials_t *res); - - -res : - - -Returns : - - - -gnutls_certificate_free_keys () -gnutls_certificate_free_keys -void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc); - - -sc : - - - - -gnutls_certificate_free_cas () -gnutls_certificate_free_cas -void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc); - - -sc : - - - - -gnutls_certificate_free_ca_names () -gnutls_certificate_free_ca_names -void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc); - - -sc : - - - - -gnutls_certificate_free_crls () -gnutls_certificate_free_crls -void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc); - - -sc : - - - - -gnutls_certificate_set_dh_params () -gnutls_certificate_set_dh_params -void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, - gnutls_dh_params_t dh_params); - - -res : - - -dh_params : - - - - -gnutls_certificate_set_rsa_export_params () -gnutls_certificate_set_rsa_export_params -void gnutls_certificate_set_rsa_export_params - (gnutls_certificate_credentials_t res, - gnutls_rsa_params_t rsa_params); - - -res : - - -rsa_params : - - - - -gnutls_certificate_set_verify_flags () -gnutls_certificate_set_verify_flags -void gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res, - unsigned int flags); - - -res : - - -flags : - - - - -gnutls_certificate_set_verify_limits () -gnutls_certificate_set_verify_limits -void gnutls_certificate_set_verify_limits - (gnutls_certificate_credentials_t res, - unsigned int max_bits, - unsigned int max_depth); - - -res : - - -max_bits : - - -max_depth : - - - - -gnutls_certificate_set_x509_trust_file () -gnutls_certificate_set_x509_trust_file -int gnutls_certificate_set_x509_trust_file - (gnutls_certificate_credentials_t res, - const char *cafile, - gnutls_x509_crt_fmt_t type); - - -res : - - -cafile : - - -type : - - -Returns : - - - -gnutls_certificate_set_x509_trust_mem () -gnutls_certificate_set_x509_trust_mem -int gnutls_certificate_set_x509_trust_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *ca, - gnutls_x509_crt_fmt_t type); - - -res : - - -ca : - - -type : - - -Returns : - - - -gnutls_certificate_set_x509_crl_file () -gnutls_certificate_set_x509_crl_file -int gnutls_certificate_set_x509_crl_file - (gnutls_certificate_credentials_t res, - const char *crlfile, - gnutls_x509_crt_fmt_t type); - - -res : - - -crlfile : - - -type : - - -Returns : - - - -gnutls_certificate_set_x509_crl_mem () -gnutls_certificate_set_x509_crl_mem -int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t *CRL, - gnutls_x509_crt_fmt_t type); - - -res : - - -CRL : - - -type : - - -Returns : - - - -gnutls_certificate_set_x509_key_file () -gnutls_certificate_set_x509_key_file -int gnutls_certificate_set_x509_key_file - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_x509_crt_fmt_t type); - - -res : - - -certfile : - - -keyfile : - - -type : - - -Returns : - - - -gnutls_certificate_set_x509_key_mem () -gnutls_certificate_set_x509_key_mem -int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - gnutls_x509_crt_fmt_t type); - - -res : - - -cert : - - -key : - - -type : - - -Returns : - - - -gnutls_certificate_send_x509_rdn_sequence () -gnutls_certificate_send_x509_rdn_sequence -void gnutls_certificate_send_x509_rdn_sequence - (gnutls_session_t session, - int status); - - -session : - - -status : - - - - -gnutls_certificate_set_x509_simple_pkcs12_file () -gnutls_certificate_set_x509_simple_pkcs12_file -int gnutls_certificate_set_x509_simple_pkcs12_file - (gnutls_certificate_credentials_t res, - const char *pkcs12file, - gnutls_x509_crt_fmt_t type, - const char *password); - -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). - - -MAC:ed PKCS12 files are supported. Encrypted PKCS12 bags are -supported. Encrypted PKCS#8 private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - - -The private keys may be RSA PKCS#1 or DSA private keys encoded in -the OpenSSL way. - - -PKCS12 file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS12 file only contain one key/certificate -pair and/or one CRL. - - -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. - -res : -is a gnutls_certificate_credentials_t structure. - -pkcs12file : -filename of file containing PKCS12 blob. - -type : -is PEM or DER of the pkcs12file. - -password : -optional password used to decrypt PKCS12 file, bags and keys. - -Returns : GNUTLS_E_SUCCESS on success, or an error code. - - - -gnutls_certificate_set_x509_simple_pkcs12_mem () -gnutls_certificate_set_x509_simple_pkcs12_mem -int gnutls_certificate_set_x509_simple_pkcs12_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum *p12blob, - gnutls_x509_crt_fmt_t type, - const char *password); - -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). - - -MAC:ed PKCS12 files are supported. Encrypted PKCS12 bags are -supported. Encrypted PKCS#8 private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - - -The private keys may be RSA PKCS#1 or DSA private keys encoded in -the OpenSSL way. - - -PKCS12 file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS12 file only contain one key/certificate -pair and/or one CRL. - - -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. - -res : -is a gnutls_certificate_credentials_t structure. - -p12blob : -the PKCS12 blob. - -type : -is PEM or DER of the pkcs12file. - -password : -optional password used to decrypt PKCS12 file, bags and keys. - -Returns : GNUTLS_E_SUCCESS on success, or an error code. - - -Since 2.8.0 - -gnutls_x509_privkey_t -gnutls_x509_privkey_t - typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t; - - - - -struct gnutls_x509_crl_int -gnutls_x509_crl_int -struct gnutls_x509_crl_int; - - - -gnutls_x509_crl_t -gnutls_x509_crl_t - typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t; - - - - -struct gnutls_x509_crt_int -gnutls_x509_crt_int -struct gnutls_x509_crt_int; - - - -gnutls_x509_crt_t -gnutls_x509_crt_t - typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t; - - - - -struct gnutls_openpgp_keyring_int -gnutls_openpgp_keyring_int -struct gnutls_openpgp_keyring_int; - - - -gnutls_openpgp_keyring_t -gnutls_openpgp_keyring_t - typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t; - - - - -gnutls_certificate_set_x509_key () -gnutls_certificate_set_x509_key -int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t *cert_list, - int cert_list_size, - gnutls_x509_privkey_t key); - - -res : - - -cert_list : - - -cert_list_size : - - -key : - - -Returns : - - - -gnutls_certificate_set_x509_trust () -gnutls_certificate_set_x509_trust -int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t *ca_list, - int ca_list_size); - - -res : - - -ca_list : - - -ca_list_size : - - -Returns : - - - -gnutls_certificate_set_x509_crl () -gnutls_certificate_set_x509_crl -int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, - gnutls_x509_crl_t *crl_list, - int crl_list_size); - - -res : - - -crl_list : - - -crl_list_size : - - -Returns : - - - -gnutls_certificate_get_x509_cas () -gnutls_certificate_get_x509_cas -void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, - gnutls_x509_crt_t **x509_ca_list, - unsigned int *ncas); - - -sc : - - -x509_ca_list : - - -ncas : - - - - -gnutls_certificate_get_x509_crls () -gnutls_certificate_get_x509_crls -void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, - gnutls_x509_crl_t **x509_crl_list, - unsigned int *ncrls); - - -sc : - - -x509_crl_list : - - -ncrls : - - - - -gnutls_certificate_get_openpgp_keyring () -gnutls_certificate_get_openpgp_keyring -void gnutls_certificate_get_openpgp_keyring - (gnutls_certificate_credentials_t sc, - gnutls_openpgp_keyring_t *keyring); - - -sc : - - -keyring : - - - - -gnutls_global_init () -gnutls_global_init -int gnutls_global_init (void); - - -Returns : - - - -gnutls_global_deinit () -gnutls_global_deinit -void gnutls_global_deinit (void); - - - -gnutls_alloc_function () -gnutls_alloc_function -void * (*gnutls_alloc_function) (size_t Param1); - - -Param1 : - - -Returns : - - - -gnutls_calloc_function () -gnutls_calloc_function -void * (*gnutls_calloc_function) (size_t Param1, - size_t Param2); - - -Param1 : - - -Param2 : - - -Returns : - - - -gnutls_is_secure_function () -gnutls_is_secure_function -int (*gnutls_is_secure_function) (const void *Param1); - - -Param1 : - - -Returns : - - - -gnutls_free_function () -gnutls_free_function -void (*gnutls_free_function) (void *Param1); - - -Param1 : - - - - -gnutls_realloc_function () -gnutls_realloc_function -void * (*gnutls_realloc_function) (void *Param1, - size_t Param2); - - -Param1 : - - -Param2 : - - -Returns : - - - -gnutls_global_set_mem_functions () -gnutls_global_set_mem_functions -void gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, - gnutls_alloc_function secure_alloc_func, - gnutls_is_secure_function is_secure_func, - gnutls_realloc_function realloc_func, - gnutls_free_function free_func); - - -alloc_func : - - -secure_alloc_func : - - -is_secure_func : - - -realloc_func : - - -free_func : - - - - -gnutls_malloc -gnutls_malloc - extern gnutls_alloc_function gnutls_malloc; - - - - -gnutls_secure_malloc -gnutls_secure_malloc - extern gnutls_alloc_function gnutls_secure_malloc; - - - - -gnutls_realloc -gnutls_realloc - extern gnutls_realloc_function gnutls_realloc; - - - - -gnutls_calloc -gnutls_calloc - extern gnutls_calloc_function gnutls_calloc; - - - - -gnutls_free -gnutls_free - extern gnutls_free_function gnutls_free; - - - - -gnutls_strdup () -gnutls_strdup -char * (*gnutls_strdup) (const char *Param1); - - -Param1 : - - -Returns : - - - -gnutls_log_func () -gnutls_log_func -void (*gnutls_log_func) (..., - const char *Param2); - - -... : - - -Param2 : - - - - -gnutls_global_set_log_function () -gnutls_global_set_log_function -void gnutls_global_set_log_function (gnutls_log_func log_func); - - -log_func : - - - - -gnutls_global_set_log_level () -gnutls_global_set_log_level -void gnutls_global_set_log_level (int level); - - -level : - - - - -gnutls_dh_params_init () -gnutls_dh_params_init -int gnutls_dh_params_init (gnutls_dh_params_t *dh_params); - - -dh_params : - - -Returns : - - - -gnutls_dh_params_deinit () -gnutls_dh_params_deinit -void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params); - - -dh_params : - - - - -gnutls_dh_params_import_raw () -gnutls_dh_params_import_raw -int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, - const gnutls_datum_t *prime, - const gnutls_datum_t *generator); - - -dh_params : - - -prime : - - -generator : - - -Returns : - - - -gnutls_dh_params_import_pkcs3 () -gnutls_dh_params_import_pkcs3 -int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, - const gnutls_datum_t *pkcs3_params, - gnutls_x509_crt_fmt_t format); - - -params : - - -pkcs3_params : - - -format : - - -Returns : - - - -gnutls_dh_params_generate2 () -gnutls_dh_params_generate2 -int gnutls_dh_params_generate2 (gnutls_dh_params_t params, - unsigned int bits); - - -params : - - -bits : - - -Returns : - - - -gnutls_dh_params_export_pkcs3 () -gnutls_dh_params_export_pkcs3 -int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t *params_data_size); - - -params : - - -format : - - -params_data : - - -params_data_size : - - -Returns : - - - -gnutls_dh_params_export_raw () -gnutls_dh_params_export_raw -int gnutls_dh_params_export_raw (gnutls_dh_params_t params, - gnutls_datum_t *prime, - gnutls_datum_t *generator, - unsigned int *bits); - - -params : - - -prime : - - -generator : - - -bits : - - -Returns : - - - -gnutls_dh_params_cpy () -gnutls_dh_params_cpy -int gnutls_dh_params_cpy (gnutls_dh_params_t dst, - gnutls_dh_params_t src); - - -dst : - - -src : - - -Returns : - - - -gnutls_rsa_params_init () -gnutls_rsa_params_init -int gnutls_rsa_params_init (gnutls_rsa_params_t *rsa_params); - - -rsa_params : - - -Returns : - - - -gnutls_rsa_params_deinit () -gnutls_rsa_params_deinit -void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params); - - -rsa_params : - - - - -gnutls_rsa_params_cpy () -gnutls_rsa_params_cpy -int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, - gnutls_rsa_params_t src); - - -dst : - - -src : - - -Returns : - - - -gnutls_rsa_params_import_raw () -gnutls_rsa_params_import_raw -int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, - const gnutls_datum_t *m, - const gnutls_datum_t *e, - const gnutls_datum_t *d, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *u); - - -rsa_params : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -Returns : - - - -gnutls_rsa_params_generate2 () -gnutls_rsa_params_generate2 -int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, - unsigned int bits); - - -params : - - -bits : - - -Returns : - - - -gnutls_rsa_params_export_raw () -gnutls_rsa_params_export_raw -int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u, - unsigned int *bits); - - -params : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -bits : - - -Returns : - - - -gnutls_rsa_params_export_pkcs1 () -gnutls_rsa_params_export_pkcs1 -int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t *params_data_size); - - -params : - - -format : - - -params_data : - - -params_data_size : - - -Returns : - - - -gnutls_rsa_params_import_pkcs1 () -gnutls_rsa_params_import_pkcs1 -int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, - const gnutls_datum_t *pkcs1_params, - gnutls_x509_crt_fmt_t format); - - -params : - - -pkcs1_params : - - -format : - - -Returns : - - - -gnutls_pull_func () -gnutls_pull_func -ssize_t (*gnutls_pull_func) (gnutls_transport_ptr_t Param1, - void *Param2, - size_t Param3); - - -Param1 : - - -Param2 : - - -Param3 : - - -Returns : - - - -gnutls_push_func () -gnutls_push_func -ssize_t (*gnutls_push_func) (gnutls_transport_ptr_t Param1, - const void *Param2, - size_t Param3); - - -Param1 : - - -Param2 : - - -Param3 : - - -Returns : - - - -gnutls_transport_set_ptr () -gnutls_transport_set_ptr -void gnutls_transport_set_ptr (gnutls_session_t session, - gnutls_transport_ptr_t ptr); - - -session : - - -ptr : - - - - -gnutls_transport_set_ptr2 () -gnutls_transport_set_ptr2 -void gnutls_transport_set_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t recv_ptr, - gnutls_transport_ptr_t send_ptr); - - -session : - - -recv_ptr : - - -send_ptr : - - - - -gnutls_transport_get_ptr () -gnutls_transport_get_ptr -gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_transport_get_ptr2 () -gnutls_transport_get_ptr2 -void gnutls_transport_get_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t *recv_ptr, - gnutls_transport_ptr_t *send_ptr); - - -session : - - -recv_ptr : - - -send_ptr : - - - - -gnutls_transport_set_lowat () -gnutls_transport_set_lowat -void gnutls_transport_set_lowat (gnutls_session_t session, - int num); - - -session : - - -num : - - - - -gnutls_transport_set_push_function () -gnutls_transport_set_push_function -void gnutls_transport_set_push_function (gnutls_session_t session, - gnutls_push_func push_func); - - -session : - - -push_func : - - - - -gnutls_transport_set_pull_function () -gnutls_transport_set_pull_function -void gnutls_transport_set_pull_function (gnutls_session_t session, - gnutls_pull_func pull_func); - - -session : - - -pull_func : - - - - -gnutls_transport_set_errno () -gnutls_transport_set_errno -void gnutls_transport_set_errno (gnutls_session_t session, - int err); - -Store err in the session-specific errno variable. Useful values -for err is EAGAIN and EINTR, other values are treated will be -treated as real errors in the push/pull function. - - -This function is useful in replacement push/pull functions set by -gnutls_transport_set_push_function and -gnutls_transport_set_pullpush_function under Windows, where the -replacement push/pull may not have access to the same errno -variable that is used by GnuTLS (e.g., the application is linked to -msvcr71.dll and gnutls is linked to msvcrt.dll). - - -If you don't have the session variable easily accessible from the -push/pull function, and don't worry about thread conflicts, you can -also use gnutls_transport_set_global_errno(). - -session : -is a gnutls_session_t structure. - -err : -error value to store in session-specific errno variable. - - - -gnutls_transport_set_global_errno () -gnutls_transport_set_global_errno -void gnutls_transport_set_global_errno (int err); - -Store err in the global errno variable. Useful values for err is -EAGAIN and EINTR, other values are treated will be treated as real -errors in the push/pull function. - - -This function is useful in replacement push/pull functions set by -gnutls_transport_set_push_function and -gnutls_transport_set_pullpush_function under Windows, where the -replacement push/pull may not have access to the same errno -variable that is used by GnuTLS (e.g., the application is linked to -msvcr71.dll and gnutls is linked to msvcrt.dll). - - -Whether this function is thread safe or not depends on whether the -global variable errno is thread safe, some system libraries make it -a thread-local variable. When feasible, using the guaranteed -thread-safe gnutls_transport_set_errno() may be better. - -err : -error value to store in global errno variable. - - - -gnutls_session_set_ptr () -gnutls_session_set_ptr -void gnutls_session_set_ptr (gnutls_session_t session, - void *ptr); - - -session : - - -ptr : - - - - -gnutls_session_get_ptr () -gnutls_session_get_ptr -void * gnutls_session_get_ptr (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_openpgp_send_cert () -gnutls_openpgp_send_cert -void gnutls_openpgp_send_cert (gnutls_session_t session, - gnutls_openpgp_crt_status_t status); - - -session : - - -status : - - - - -gnutls_fingerprint () -gnutls_fingerprint -int gnutls_fingerprint (gnutls_digest_algorithm_t algo, - const gnutls_datum_t *data, - void *result, - size_t *result_size); - - -algo : - - -data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_srp_free_client_credentials () -gnutls_srp_free_client_credentials -void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t sc); - - -sc : - - - - -gnutls_srp_allocate_client_credentials () -gnutls_srp_allocate_client_credentials -int gnutls_srp_allocate_client_credentials - (gnutls_srp_client_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_srp_set_client_credentials () -gnutls_srp_set_client_credentials -int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, - const char *username, - const char *password); - - -res : - - -username : - - -password : - - -Returns : - - - -gnutls_srp_free_server_credentials () -gnutls_srp_free_server_credentials -void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t sc); - - -sc : - - - - -gnutls_srp_allocate_server_credentials () -gnutls_srp_allocate_server_credentials -int gnutls_srp_allocate_server_credentials - (gnutls_srp_server_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_srp_set_server_credentials_file () -gnutls_srp_set_server_credentials_file -int gnutls_srp_set_server_credentials_file - (gnutls_srp_server_credentials_t res, - const char *password_file, - const char *password_conf_file); - - -res : - - -password_file : - - -password_conf_file : - - -Returns : - - - -gnutls_srp_server_get_username () -gnutls_srp_server_get_username -const char * gnutls_srp_server_get_username (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_srp_set_prime_bits () -gnutls_srp_set_prime_bits -void gnutls_srp_set_prime_bits (gnutls_session_t session, - unsigned int bits); - - -session : - - -bits : - - - - -gnutls_srp_verifier () -gnutls_srp_verifier -int gnutls_srp_verifier (const char *username, - const char *password, - const gnutls_datum_t *salt, - const gnutls_datum_t *generator, - const gnutls_datum_t *prime, - gnutls_datum_t *res); - - -username : - - -password : - - -salt : - - -generator : - - -prime : - - -res : - - -Returns : - - - -gnutls_srp_2048_group_prime -gnutls_srp_2048_group_prime - extern const gnutls_datum_t gnutls_srp_2048_group_prime; - - - - -gnutls_srp_2048_group_generator -gnutls_srp_2048_group_generator - extern const gnutls_datum_t gnutls_srp_2048_group_generator; - - - - -gnutls_srp_1536_group_prime -gnutls_srp_1536_group_prime - extern const gnutls_datum_t gnutls_srp_1536_group_prime; - - - - -gnutls_srp_1536_group_generator -gnutls_srp_1536_group_generator - extern const gnutls_datum_t gnutls_srp_1536_group_generator; - - - - -gnutls_srp_1024_group_prime -gnutls_srp_1024_group_prime - extern const gnutls_datum_t gnutls_srp_1024_group_prime; - - - - -gnutls_srp_1024_group_generator -gnutls_srp_1024_group_generator - extern const gnutls_datum_t gnutls_srp_1024_group_generator; - - - - -gnutls_srp_set_server_credentials_function () -gnutls_srp_set_server_credentials_function -void gnutls_srp_set_server_credentials_function - (gnutls_srp_server_credentials_t cred, - gnutls_srp_server_credentials_function *func); - - -cred : - - -func : - - - - -gnutls_srp_set_client_credentials_function () -gnutls_srp_set_client_credentials_function -void gnutls_srp_set_client_credentials_function - (gnutls_srp_client_credentials_t cred, - gnutls_srp_client_credentials_function *func); - - -cred : - - -func : - - - - -gnutls_srp_base64_encode () -gnutls_srp_base64_encode -int gnutls_srp_base64_encode (const gnutls_datum_t *data, - char *result, - size_t *result_size); - - -data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_srp_base64_encode_alloc () -gnutls_srp_base64_encode_alloc -int gnutls_srp_base64_encode_alloc (const gnutls_datum_t *data, - gnutls_datum_t *result); - - -data : - - -result : - - -Returns : - - - -gnutls_srp_base64_decode () -gnutls_srp_base64_decode -int gnutls_srp_base64_decode (const gnutls_datum_t *b64_data, - char *result, - size_t *result_size); - - -b64_data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_srp_base64_decode_alloc () -gnutls_srp_base64_decode_alloc -int gnutls_srp_base64_decode_alloc (const gnutls_datum_t *b64_data, - gnutls_datum_t *result); - - -b64_data : - - -result : - - -Returns : - - - -enum gnutls_psk_key_flags -gnutls_psk_key_flags - typedef enum gnutls_psk_key_flags - { - GNUTLS_PSK_KEY_RAW = 0, - GNUTLS_PSK_KEY_HEX - } gnutls_psk_key_flags; - - - - -gnutls_psk_free_client_credentials () -gnutls_psk_free_client_credentials -void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t sc); - - -sc : - - - - -gnutls_psk_allocate_client_credentials () -gnutls_psk_allocate_client_credentials -int gnutls_psk_allocate_client_credentials - (gnutls_psk_client_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_psk_set_client_credentials () -gnutls_psk_set_client_credentials -int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, - const char *username, - const gnutls_datum_t *key, - gnutls_psk_key_flags format); - - -res : - - -username : - - -key : - - -format : - - -Returns : - - - -gnutls_psk_free_server_credentials () -gnutls_psk_free_server_credentials -void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t sc); - - -sc : - - - - -gnutls_psk_allocate_server_credentials () -gnutls_psk_allocate_server_credentials -int gnutls_psk_allocate_server_credentials - (gnutls_psk_server_credentials_t *sc); - - -sc : - - -Returns : - - - -gnutls_psk_set_server_credentials_file () -gnutls_psk_set_server_credentials_file -int gnutls_psk_set_server_credentials_file - (gnutls_psk_server_credentials_t res, - const char *password_file); - - -res : - - -password_file : - - -Returns : - - - -gnutls_psk_set_server_credentials_hint () -gnutls_psk_set_server_credentials_hint -int gnutls_psk_set_server_credentials_hint - (gnutls_psk_server_credentials_t res, - const char *hint); - - -res : - - -hint : - - -Returns : - - - -gnutls_psk_server_get_username () -gnutls_psk_server_get_username -const char * gnutls_psk_server_get_username (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_psk_client_get_hint () -gnutls_psk_client_get_hint -const char * gnutls_psk_client_get_hint (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_psk_set_server_credentials_function () -gnutls_psk_set_server_credentials_function -void gnutls_psk_set_server_credentials_function - (gnutls_psk_server_credentials_t cred, - gnutls_psk_server_credentials_function *func); - - -cred : - - -func : - - - - -gnutls_psk_set_client_credentials_function () -gnutls_psk_set_client_credentials_function -void gnutls_psk_set_client_credentials_function - (gnutls_psk_client_credentials_t cred, - gnutls_psk_client_credentials_function *func); - - -cred : - - -func : - - - - -gnutls_hex_encode () -gnutls_hex_encode -int gnutls_hex_encode (const gnutls_datum_t *data, - char *result, - size_t *result_size); - - -data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_hex_decode () -gnutls_hex_decode -int gnutls_hex_decode (const gnutls_datum_t *hex_data, - char *result, - size_t *result_size); - - -hex_data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_psk_set_server_dh_params () -gnutls_psk_set_server_dh_params -void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, - gnutls_dh_params_t dh_params); - - -res : - - -dh_params : - - - - -gnutls_psk_set_server_params_function () -gnutls_psk_set_server_params_function -void gnutls_psk_set_server_params_function - (gnutls_psk_server_credentials_t res, - gnutls_params_function *func); - - -res : - - -func : - - - - -gnutls_psk_netconf_derive_key () -gnutls_psk_netconf_derive_key -int gnutls_psk_netconf_derive_key (const char *password, - const char *psk_identity, - const char *psk_identity_hint, - gnutls_datum_t *output_key); - - -password : - - -psk_identity : - - -psk_identity_hint : - - -output_key : - - -Returns : - - - -enum gnutls_x509_subject_alt_name_t -gnutls_x509_subject_alt_name_t - typedef enum gnutls_x509_subject_alt_name_t - { - GNUTLS_SAN_DNSNAME = 1, - GNUTLS_SAN_RFC822NAME, - GNUTLS_SAN_URI, - GNUTLS_SAN_IPADDRESS, - GNUTLS_SAN_OTHERNAME, - GNUTLS_SAN_DN, - /* The following are "virtual" subject alternative name types, in - that they are represented by an otherName value and an OID. - Used by gnutls_x509_crt_get_subject_alt_othername_oid(). */ - GNUTLS_SAN_OTHERNAME_XMPP = 1000 - } gnutls_x509_subject_alt_name_t; - - - - -struct gnutls_openpgp_crt_int -gnutls_openpgp_crt_int -struct gnutls_openpgp_crt_int; - - - -gnutls_openpgp_crt_t -gnutls_openpgp_crt_t - typedef struct gnutls_openpgp_crt_int *gnutls_openpgp_crt_t; - - - - -struct gnutls_openpgp_privkey_int -gnutls_openpgp_privkey_int -struct gnutls_openpgp_privkey_int; - - - -gnutls_openpgp_privkey_t -gnutls_openpgp_privkey_t - typedef struct gnutls_openpgp_privkey_int *gnutls_openpgp_privkey_t; - - - - -gnutls_auth_get_type () -gnutls_auth_get_type -gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_auth_server_get_type () -gnutls_auth_server_get_type -gnutls_credentials_type_t gnutls_auth_server_get_type (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_auth_client_get_type () -gnutls_auth_client_get_type -gnutls_credentials_type_t gnutls_auth_client_get_type (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_dh_set_prime_bits () -gnutls_dh_set_prime_bits -void gnutls_dh_set_prime_bits (gnutls_session_t session, - unsigned int bits); - - -session : - - -bits : - - - - -gnutls_dh_get_secret_bits () -gnutls_dh_get_secret_bits -int gnutls_dh_get_secret_bits (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_dh_get_peers_public_bits () -gnutls_dh_get_peers_public_bits -int gnutls_dh_get_peers_public_bits (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_dh_get_prime_bits () -gnutls_dh_get_prime_bits -int gnutls_dh_get_prime_bits (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_dh_get_group () -gnutls_dh_get_group -int gnutls_dh_get_group (gnutls_session_t session, - gnutls_datum_t *raw_gen, - gnutls_datum_t *raw_prime); - - -session : - - -raw_gen : - - -raw_prime : - - -Returns : - - - -gnutls_dh_get_pubkey () -gnutls_dh_get_pubkey -int gnutls_dh_get_pubkey (gnutls_session_t session, - gnutls_datum_t *raw_key); - - -session : - - -raw_key : - - -Returns : - - - -gnutls_rsa_export_get_pubkey () -gnutls_rsa_export_get_pubkey -int gnutls_rsa_export_get_pubkey (gnutls_session_t session, - gnutls_datum_t *exponent, - gnutls_datum_t *modulus); - - -session : - - -exponent : - - -modulus : - - -Returns : - - - -gnutls_rsa_export_get_modulus_bits () -gnutls_rsa_export_get_modulus_bits -int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_sign_func () -gnutls_sign_func -int (*gnutls_sign_func) (gnutls_session_t session, - void *userdata, - gnutls_certificate_type_t cert_type, - const gnutls_datum_t *cert, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); - - -session : - - -userdata : - - -cert_type : - - -cert : - - -hash : - - -signature : - - -Returns : - - - -gnutls_sign_callback_set () -gnutls_sign_callback_set -void gnutls_sign_callback_set (gnutls_session_t session, - gnutls_sign_func sign_func, - void *userdata); - -Set the callback function. The function must have this prototype: - - -typedef int (*gnutls_sign_func) (gnutls_session_t session, - void *userdata, - gnutls_certificate_type_t cert_type, - const gnutls_datum_t * cert, - const gnutls_datum_t * hash, - gnutls_datum_t * signature); - - -The userdata parameter is passed to the sign_func verbatim, and -can be used to store application-specific data needed in the -callback function. See also gnutls_sign_callback_get(). - -session : -is a gnutls session - -sign_func : -function pointer to application's sign callback. - -userdata : -void pointer that will be passed to sign callback. - - - -gnutls_sign_callback_get () -gnutls_sign_callback_get -gnutls_sign_func gnutls_sign_callback_get (gnutls_session_t session, - void **userdata); - -Retrieve the callback function, and its userdata pointer. - -session : -is a gnutls session - -userdata : -if non-NULL, will be set to abstract callback pointer. - -Returns : The function pointer set by gnutls_sign_callback_set(), or - if not set, NULL. - - - -gnutls_certificate_client_set_retrieve_function () -gnutls_certificate_client_set_retrieve_function -void gnutls_certificate_client_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_client_retrieve_function *func); - - -cred : - - -func : - - - - -gnutls_certificate_server_set_retrieve_function () -gnutls_certificate_server_set_retrieve_function -void gnutls_certificate_server_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_server_retrieve_function *func); - - -cred : - - -func : - - - - -gnutls_certificate_server_set_request () -gnutls_certificate_server_set_request -void gnutls_certificate_server_set_request - (gnutls_session_t session, - gnutls_certificate_request_t req); - - -session : - - -req : - - - - -gnutls_certificate_get_peers () -gnutls_certificate_get_peers -const gnutls_datum_t * gnutls_certificate_get_peers (gnutls_session_t session, - unsigned int *list_size); - - -session : - - -list_size : - - -Returns : - - - -gnutls_certificate_get_ours () -gnutls_certificate_get_ours -const gnutls_datum_t * gnutls_certificate_get_ours (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_certificate_activation_time_peers () -gnutls_certificate_activation_time_peers -time_t gnutls_certificate_activation_time_peers - (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_certificate_expiration_time_peers () -gnutls_certificate_expiration_time_peers -time_t gnutls_certificate_expiration_time_peers - (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_certificate_client_get_request_status () -gnutls_certificate_client_get_request_status -int gnutls_certificate_client_get_request_status - (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_certificate_verify_peers2 () -gnutls_certificate_verify_peers2 -int gnutls_certificate_verify_peers2 (gnutls_session_t session, - unsigned int *status); - - -session : - - -status : - - -Returns : - - - -gnutls_certificate_verify_peers () -gnutls_certificate_verify_peers -int gnutls_certificate_verify_peers (gnutls_session_t session); - - -session : - - -Returns : - - - -gnutls_pem_base64_encode () -gnutls_pem_base64_encode -int gnutls_pem_base64_encode (const char *msg, - const gnutls_datum_t *data, - char *result, - size_t *result_size); - - -msg : - - -data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_pem_base64_decode () -gnutls_pem_base64_decode -int gnutls_pem_base64_decode (const char *header, - const gnutls_datum_t *b64_data, - unsigned char *result, - size_t *result_size); - - -header : - - -b64_data : - - -result : - - -result_size : - - -Returns : - - - -gnutls_pem_base64_encode_alloc () -gnutls_pem_base64_encode_alloc -int gnutls_pem_base64_encode_alloc (const char *msg, - const gnutls_datum_t *data, - gnutls_datum_t *result); - - -msg : - - -data : - - -result : - - -Returns : - - - -gnutls_pem_base64_decode_alloc () -gnutls_pem_base64_decode_alloc -int gnutls_pem_base64_decode_alloc (const char *header, - const gnutls_datum_t *b64_data, - gnutls_datum_t *result); - - -header : - - -b64_data : - - -result : - - -Returns : - - - -GNUTLS_KEY_DIGITAL_SIGNATURE -GNUTLS_KEY_DIGITAL_SIGNATURE -#define GNUTLS_KEY_DIGITAL_SIGNATURE 128 - - - - -GNUTLS_KEY_NON_REPUDIATION -GNUTLS_KEY_NON_REPUDIATION -#define GNUTLS_KEY_NON_REPUDIATION 64 - - - - -GNUTLS_KEY_KEY_ENCIPHERMENT -GNUTLS_KEY_KEY_ENCIPHERMENT -#define GNUTLS_KEY_KEY_ENCIPHERMENT 32 - - - - -GNUTLS_KEY_DATA_ENCIPHERMENT -GNUTLS_KEY_DATA_ENCIPHERMENT -#define GNUTLS_KEY_DATA_ENCIPHERMENT 16 - - - - -GNUTLS_KEY_KEY_AGREEMENT -GNUTLS_KEY_KEY_AGREEMENT -#define GNUTLS_KEY_KEY_AGREEMENT 8 - - - - -GNUTLS_KEY_KEY_CERT_SIGN -GNUTLS_KEY_KEY_CERT_SIGN -#define GNUTLS_KEY_KEY_CERT_SIGN 4 - - - - -GNUTLS_KEY_CRL_SIGN -GNUTLS_KEY_CRL_SIGN -#define GNUTLS_KEY_CRL_SIGN 2 - - - - -GNUTLS_KEY_ENCIPHER_ONLY -GNUTLS_KEY_ENCIPHER_ONLY -#define GNUTLS_KEY_ENCIPHER_ONLY 1 - - - - -GNUTLS_KEY_DECIPHER_ONLY -GNUTLS_KEY_DECIPHER_ONLY -#define GNUTLS_KEY_DECIPHER_ONLY 32768 - - - - -gnutls_certificate_set_params_function () -gnutls_certificate_set_params_function -void gnutls_certificate_set_params_function - (gnutls_certificate_credentials_t res, - gnutls_params_function *func); - - -res : - - -func : - - - - -gnutls_anon_set_params_function () -gnutls_anon_set_params_function -void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, - gnutls_params_function *func); - - -res : - - -func : - - - - -gnutls_psk_set_params_function () -gnutls_psk_set_params_function -void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, - gnutls_params_function *func); - - -res : - - -func : - - - - -gnutls_hex2bin () -gnutls_hex2bin -int gnutls_hex2bin (const char *hex_data, - size_t hex_size, - char *bin_data, - size_t *bin_size); - - -hex_data : - - -hex_size : - - -bin_data : - - -bin_size : - - -Returns : - - - -GNUTLS_E_SUCCESS -GNUTLS_E_SUCCESS -#define GNUTLS_E_SUCCESS 0 - - - - -GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3 - - - - -GNUTLS_E_UNKNOWN_CIPHER_TYPE -GNUTLS_E_UNKNOWN_CIPHER_TYPE -#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6 - - - - -GNUTLS_E_LARGE_PACKET -GNUTLS_E_LARGE_PACKET -#define GNUTLS_E_LARGE_PACKET -7 - - - - -GNUTLS_E_UNSUPPORTED_VERSION_PACKET -GNUTLS_E_UNSUPPORTED_VERSION_PACKET -#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */ - - - - -GNUTLS_E_UNEXPECTED_PACKET_LENGTH -GNUTLS_E_UNEXPECTED_PACKET_LENGTH -#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_RECORD_OVERFLOW */ - - - - -GNUTLS_E_INVALID_SESSION -GNUTLS_E_INVALID_SESSION -#define GNUTLS_E_INVALID_SESSION -10 - - - - -GNUTLS_E_FATAL_ALERT_RECEIVED -GNUTLS_E_FATAL_ALERT_RECEIVED -#define GNUTLS_E_FATAL_ALERT_RECEIVED -12 - - - - -GNUTLS_E_UNEXPECTED_PACKET -GNUTLS_E_UNEXPECTED_PACKET -#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */ - - - - -GNUTLS_E_WARNING_ALERT_RECEIVED -GNUTLS_E_WARNING_ALERT_RECEIVED -#define GNUTLS_E_WARNING_ALERT_RECEIVED -16 - - - - -GNUTLS_E_ERROR_IN_FINISHED_PACKET -GNUTLS_E_ERROR_IN_FINISHED_PACKET -#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18 - - - - -GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19 - - - - -GNUTLS_E_UNKNOWN_CIPHER_SUITE -GNUTLS_E_UNKNOWN_CIPHER_SUITE -#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */ - - - - -GNUTLS_E_UNWANTED_ALGORITHM -GNUTLS_E_UNWANTED_ALGORITHM -#define GNUTLS_E_UNWANTED_ALGORITHM -22 - - - - -GNUTLS_E_MPI_SCAN_FAILED -GNUTLS_E_MPI_SCAN_FAILED -#define GNUTLS_E_MPI_SCAN_FAILED -23 - - - - -GNUTLS_E_DECRYPTION_FAILED -GNUTLS_E_DECRYPTION_FAILED -#define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */ - - - - -GNUTLS_E_MEMORY_ERROR -GNUTLS_E_MEMORY_ERROR -#define GNUTLS_E_MEMORY_ERROR -25 - - - - -GNUTLS_E_DECOMPRESSION_FAILED -GNUTLS_E_DECOMPRESSION_FAILED -#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */ - - - - -GNUTLS_E_COMPRESSION_FAILED -GNUTLS_E_COMPRESSION_FAILED -#define GNUTLS_E_COMPRESSION_FAILED -27 - - - - -GNUTLS_E_AGAIN -GNUTLS_E_AGAIN -#define GNUTLS_E_AGAIN -28 - - - - -GNUTLS_E_EXPIRED -GNUTLS_E_EXPIRED -#define GNUTLS_E_EXPIRED -29 - - - - -GNUTLS_E_DB_ERROR -GNUTLS_E_DB_ERROR -#define GNUTLS_E_DB_ERROR -30 - - - - -GNUTLS_E_SRP_PWD_ERROR -GNUTLS_E_SRP_PWD_ERROR -#define GNUTLS_E_SRP_PWD_ERROR -31 - - - - -GNUTLS_E_INSUFFICIENT_CREDENTIALS -GNUTLS_E_INSUFFICIENT_CREDENTIALS -#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32 - - - - -GNUTLS_E_INSUFICIENT_CREDENTIALS -GNUTLS_E_INSUFICIENT_CREDENTIALS -#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ - - - - -GNUTLS_E_INSUFFICIENT_CRED -GNUTLS_E_INSUFFICIENT_CRED -#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS - - - - -GNUTLS_E_INSUFICIENT_CRED -GNUTLS_E_INSUFICIENT_CRED -#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ - - - - -GNUTLS_E_HASH_FAILED -GNUTLS_E_HASH_FAILED -#define GNUTLS_E_HASH_FAILED -33 - - - - -GNUTLS_E_BASE64_DECODING_ERROR -GNUTLS_E_BASE64_DECODING_ERROR -#define GNUTLS_E_BASE64_DECODING_ERROR -34 - - - - -GNUTLS_E_MPI_PRINT_FAILED -GNUTLS_E_MPI_PRINT_FAILED -#define GNUTLS_E_MPI_PRINT_FAILED -35 - - - - -GNUTLS_E_REHANDSHAKE -GNUTLS_E_REHANDSHAKE -#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */ - - - - -GNUTLS_E_GOT_APPLICATION_DATA -GNUTLS_E_GOT_APPLICATION_DATA -#define GNUTLS_E_GOT_APPLICATION_DATA -38 - - - - -GNUTLS_E_RECORD_LIMIT_REACHED -GNUTLS_E_RECORD_LIMIT_REACHED -#define GNUTLS_E_RECORD_LIMIT_REACHED -39 - - - - -GNUTLS_E_ENCRYPTION_FAILED -GNUTLS_E_ENCRYPTION_FAILED -#define GNUTLS_E_ENCRYPTION_FAILED -40 - - - - -GNUTLS_E_PK_ENCRYPTION_FAILED -GNUTLS_E_PK_ENCRYPTION_FAILED -#define GNUTLS_E_PK_ENCRYPTION_FAILED -44 - - - - -GNUTLS_E_PK_DECRYPTION_FAILED -GNUTLS_E_PK_DECRYPTION_FAILED -#define GNUTLS_E_PK_DECRYPTION_FAILED -45 - - - - -GNUTLS_E_PK_SIGN_FAILED -GNUTLS_E_PK_SIGN_FAILED -#define GNUTLS_E_PK_SIGN_FAILED -46 - - - - -GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47 - - - - -GNUTLS_E_KEY_USAGE_VIOLATION -GNUTLS_E_KEY_USAGE_VIOLATION -#define GNUTLS_E_KEY_USAGE_VIOLATION -48 - - - - -GNUTLS_E_NO_CERTIFICATE_FOUND -GNUTLS_E_NO_CERTIFICATE_FOUND -#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */ - - - - -GNUTLS_E_INVALID_REQUEST -GNUTLS_E_INVALID_REQUEST -#define GNUTLS_E_INVALID_REQUEST -50 - - - - -GNUTLS_E_SHORT_MEMORY_BUFFER -GNUTLS_E_SHORT_MEMORY_BUFFER -#define GNUTLS_E_SHORT_MEMORY_BUFFER -51 - - - - -GNUTLS_E_INTERRUPTED -GNUTLS_E_INTERRUPTED -#define GNUTLS_E_INTERRUPTED -52 - - - - -GNUTLS_E_PUSH_ERROR -GNUTLS_E_PUSH_ERROR -#define GNUTLS_E_PUSH_ERROR -53 - - - - -GNUTLS_E_PULL_ERROR -GNUTLS_E_PULL_ERROR -#define GNUTLS_E_PULL_ERROR -54 - - - - -GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */ - - - - -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56 - - - - -GNUTLS_E_PKCS1_WRONG_PAD -GNUTLS_E_PKCS1_WRONG_PAD -#define GNUTLS_E_PKCS1_WRONG_PAD -57 - - - - -GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58 - - - - -GNUTLS_E_INTERNAL_ERROR -GNUTLS_E_INTERNAL_ERROR -#define GNUTLS_E_INTERNAL_ERROR -59 - - - - -GNUTLS_E_DH_PRIME_UNACCEPTABLE -GNUTLS_E_DH_PRIME_UNACCEPTABLE -#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63 - - - - -GNUTLS_E_FILE_ERROR -GNUTLS_E_FILE_ERROR -#define GNUTLS_E_FILE_ERROR -64 - - - - -GNUTLS_E_TOO_MANY_EMPTY_PACKETS -GNUTLS_E_TOO_MANY_EMPTY_PACKETS -#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78 - - - - -GNUTLS_E_UNKNOWN_PK_ALGORITHM -GNUTLS_E_UNKNOWN_PK_ALGORITHM -#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80 - - - - -GNUTLS_E_INIT_LIBEXTRA -GNUTLS_E_INIT_LIBEXTRA -#define GNUTLS_E_INIT_LIBEXTRA -82 - - - - -GNUTLS_E_LIBRARY_VERSION_MISMATCH -GNUTLS_E_LIBRARY_VERSION_MISMATCH -#define GNUTLS_E_LIBRARY_VERSION_MISMATCH -83 - - - - -GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84 - - - - -GNUTLS_E_LZO_INIT_FAILED -GNUTLS_E_LZO_INIT_FAILED -#define GNUTLS_E_LZO_INIT_FAILED -85 - - - - -GNUTLS_E_NO_COMPRESSION_ALGORITHMS -GNUTLS_E_NO_COMPRESSION_ALGORITHMS -#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86 - - - - -GNUTLS_E_NO_CIPHER_SUITES -GNUTLS_E_NO_CIPHER_SUITES -#define GNUTLS_E_NO_CIPHER_SUITES -87 - - - - -GNUTLS_E_OPENPGP_GETKEY_FAILED -GNUTLS_E_OPENPGP_GETKEY_FAILED -#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88 - - - - -GNUTLS_E_PK_SIG_VERIFY_FAILED -GNUTLS_E_PK_SIG_VERIFY_FAILED -#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89 - - - - -GNUTLS_E_ILLEGAL_SRP_USERNAME -GNUTLS_E_ILLEGAL_SRP_USERNAME -#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90 - - - - -GNUTLS_E_SRP_PWD_PARSING_ERROR -GNUTLS_E_SRP_PWD_PARSING_ERROR -#define GNUTLS_E_SRP_PWD_PARSING_ERROR -91 - - - - -GNUTLS_E_NO_TEMPORARY_DH_PARAMS -GNUTLS_E_NO_TEMPORARY_DH_PARAMS -#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93 - - - - -GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67 - - - - -GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68 - - - - -GNUTLS_E_ASN1_DER_ERROR -GNUTLS_E_ASN1_DER_ERROR -#define GNUTLS_E_ASN1_DER_ERROR -69 - - - - -GNUTLS_E_ASN1_VALUE_NOT_FOUND -GNUTLS_E_ASN1_VALUE_NOT_FOUND -#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70 - - - - -GNUTLS_E_ASN1_GENERIC_ERROR -GNUTLS_E_ASN1_GENERIC_ERROR -#define GNUTLS_E_ASN1_GENERIC_ERROR -71 - - - - -GNUTLS_E_ASN1_VALUE_NOT_VALID -GNUTLS_E_ASN1_VALUE_NOT_VALID -#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72 - - - - -GNUTLS_E_ASN1_TAG_ERROR -GNUTLS_E_ASN1_TAG_ERROR -#define GNUTLS_E_ASN1_TAG_ERROR -73 - - - - -GNUTLS_E_ASN1_TAG_IMPLICIT -GNUTLS_E_ASN1_TAG_IMPLICIT -#define GNUTLS_E_ASN1_TAG_IMPLICIT -74 - - - - -GNUTLS_E_ASN1_TYPE_ANY_ERROR -GNUTLS_E_ASN1_TYPE_ANY_ERROR -#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75 - - - - -GNUTLS_E_ASN1_SYNTAX_ERROR -GNUTLS_E_ASN1_SYNTAX_ERROR -#define GNUTLS_E_ASN1_SYNTAX_ERROR -76 - - - - -GNUTLS_E_ASN1_DER_OVERFLOW -GNUTLS_E_ASN1_DER_OVERFLOW -#define GNUTLS_E_ASN1_DER_OVERFLOW -77 - - - - -GNUTLS_E_OPENPGP_UID_REVOKED -GNUTLS_E_OPENPGP_UID_REVOKED -#define GNUTLS_E_OPENPGP_UID_REVOKED -79 - - - - -GNUTLS_E_CERTIFICATE_ERROR -GNUTLS_E_CERTIFICATE_ERROR -#define GNUTLS_E_CERTIFICATE_ERROR -43 - - - - -GNUTLS_E_X509_CERTIFICATE_ERROR -GNUTLS_E_X509_CERTIFICATE_ERROR -#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR - - - - -GNUTLS_E_CERTIFICATE_KEY_MISMATCH -GNUTLS_E_CERTIFICATE_KEY_MISMATCH -#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60 - - - - -GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */ - - - - -GNUTLS_E_X509_UNKNOWN_SAN -GNUTLS_E_X509_UNKNOWN_SAN -#define GNUTLS_E_X509_UNKNOWN_SAN -62 - - - - -GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94 - - - - -GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95 - - - - -GNUTLS_E_UNKNOWN_HASH_ALGORITHM -GNUTLS_E_UNKNOWN_HASH_ALGORITHM -#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96 - - - - -GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97 - - - - -GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98 - - - - -GNUTLS_E_INVALID_PASSWORD -GNUTLS_E_INVALID_PASSWORD -#define GNUTLS_E_INVALID_PASSWORD -99 - - - - -GNUTLS_E_MAC_VERIFY_FAILED -GNUTLS_E_MAC_VERIFY_FAILED -#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */ - - - - -GNUTLS_E_CONSTRAINT_ERROR -GNUTLS_E_CONSTRAINT_ERROR -#define GNUTLS_E_CONSTRAINT_ERROR -101 - - - - -GNUTLS_E_WARNING_IA_IPHF_RECEIVED -GNUTLS_E_WARNING_IA_IPHF_RECEIVED -#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102 - - - - -GNUTLS_E_WARNING_IA_FPHF_RECEIVED -GNUTLS_E_WARNING_IA_FPHF_RECEIVED -#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103 - - - - -GNUTLS_E_IA_VERIFY_FAILED -GNUTLS_E_IA_VERIFY_FAILED -#define GNUTLS_E_IA_VERIFY_FAILED -104 - - - - -GNUTLS_E_UNKNOWN_ALGORITHM -GNUTLS_E_UNKNOWN_ALGORITHM -#define GNUTLS_E_UNKNOWN_ALGORITHM -105 - - - - -GNUTLS_E_BASE64_ENCODING_ERROR -GNUTLS_E_BASE64_ENCODING_ERROR -#define GNUTLS_E_BASE64_ENCODING_ERROR -201 - - - - -GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */ - - - - -GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202 - - - - -GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203 - - - - -GNUTLS_E_OPENPGP_KEYRING_ERROR -GNUTLS_E_OPENPGP_KEYRING_ERROR -#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204 - - - - -GNUTLS_E_X509_UNSUPPORTED_OID -GNUTLS_E_X509_UNSUPPORTED_OID -#define GNUTLS_E_X509_UNSUPPORTED_OID -205 - - - - -GNUTLS_E_RANDOM_FAILED -GNUTLS_E_RANDOM_FAILED -#define GNUTLS_E_RANDOM_FAILED -206 - - - - -GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207 - - - - -GNUTLS_E_OPENPGP_SUBKEY_ERROR -GNUTLS_E_OPENPGP_SUBKEY_ERROR -#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208 - - - - -GNUTLS_E_CRYPTO_ALREADY_REGISTERED -GNUTLS_E_CRYPTO_ALREADY_REGISTERED -#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -209 - - - - -GNUTLS_E_HANDSHAKE_TOO_LARGE -GNUTLS_E_HANDSHAKE_TOO_LARGE -#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210 - - - - -GNUTLS_E_UNIMPLEMENTED_FEATURE -GNUTLS_E_UNIMPLEMENTED_FEATURE -#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 - - - - -GNUTLS_E_APPLICATION_ERROR_MAX -GNUTLS_E_APPLICATION_ERROR_MAX -#define GNUTLS_E_APPLICATION_ERROR_MAX -65000 - - - - -GNUTLS_E_APPLICATION_ERROR_MIN -GNUTLS_E_APPLICATION_ERROR_MIN -#define GNUTLS_E_APPLICATION_ERROR_MIN -65500 - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/intprops.xml gnutls26-2.4.1/doc/reference/xml/intprops.xml --- gnutls26-2.8.6/doc/reference/xml/intprops.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/intprops.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,137 +0,0 @@ - - - - -intprops -3 - - GNUTLS Library - - - -intprops - - - - -Synopsis - -#define TYPE_TWOS_COMPLEMENT (t) -#define TYPE_ONES_COMPLEMENT (t) -#define TYPE_SIGNED_MAGNITUDE (t) -#define TYPE_SIGNED (t) -#define TYPE_MINIMUM (t) -#define TYPE_MAXIMUM (t) -#define signed_type_or_expr__ (t) -#define INT_STRLEN_BOUND (t) -#define INT_BUFSIZE_BOUND (t) - - - - -Description - - - - -Details - -TYPE_TWOS_COMPLEMENT() -TYPE_TWOS_COMPLEMENT -#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) - - - -t : - - - - -TYPE_ONES_COMPLEMENT() -TYPE_ONES_COMPLEMENT -#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) - - - -t : - - - - -TYPE_SIGNED_MAGNITUDE() -TYPE_SIGNED_MAGNITUDE -#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) - - - -t : - - - - -TYPE_SIGNED() -TYPE_SIGNED -#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) - - - -t : - - - - -TYPE_MINIMUM() -TYPE_MINIMUM -#define TYPE_MINIMUM(t) - - -t : - - - - -TYPE_MAXIMUM() -TYPE_MAXIMUM -#define TYPE_MAXIMUM(t) - - -t : - - - - -signed_type_or_expr__() -signed_type_or_expr__ -#define signed_type_or_expr__(t) - - -t : - - - - -INT_STRLEN_BOUND() -INT_STRLEN_BOUND -#define INT_STRLEN_BOUND(t) - - -t : - - - - -INT_BUFSIZE_BOUND() -INT_BUFSIZE_BOUND -#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) - - - -t : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/keydb.xml gnutls26-2.4.1/doc/reference/xml/keydb.xml --- gnutls26-2.8.6/doc/reference/xml/keydb.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/keydb.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ - - - - -keydb -3 - - GNUTLS Library - - - -keydb - - - - -Synopsis - -typedef key_idx_t; -typedef key_table_t; - - - - -Description - - - - -Details - -key_idx_t -key_idx_t -typedef struct key_idx_s *key_idx_t; - - - - -key_table_t -key_table_t -typedef struct key_table_s *key_table_t; - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/libtasn1.xml gnutls26-2.4.1/doc/reference/xml/libtasn1.xml --- gnutls26-2.8.6/doc/reference/xml/libtasn1.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/libtasn1.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1256 +0,0 @@ - - - - -libtasn1 -3 - - GNUTLS Library - - - -libtasn1 - - - - -Synopsis - -#define ASN1_API -#define ASN1_VERSION -typedef asn1_retCode; -#define ASN1_SUCCESS -#define ASN1_FILE_NOT_FOUND -#define ASN1_ELEMENT_NOT_FOUND -#define ASN1_IDENTIFIER_NOT_FOUND -#define ASN1_DER_ERROR -#define ASN1_VALUE_NOT_FOUND -#define ASN1_GENERIC_ERROR -#define ASN1_VALUE_NOT_VALID -#define ASN1_TAG_ERROR -#define ASN1_TAG_IMPLICIT -#define ASN1_ERROR_TYPE_ANY -#define ASN1_SYNTAX_ERROR -#define ASN1_MEM_ERROR -#define ASN1_MEM_ALLOC_ERROR -#define ASN1_DER_OVERFLOW -#define ASN1_NAME_TOO_LONG -#define ASN1_ARRAY_ERROR -#define ASN1_ELEMENT_NOT_EMPTY -#define ASN1_PRINT_NAME -#define ASN1_PRINT_NAME_TYPE -#define ASN1_PRINT_NAME_TYPE_VALUE -#define ASN1_PRINT_ALL -#define ASN1_CLASS_UNIVERSAL -#define ASN1_CLASS_APPLICATION -#define ASN1_CLASS_CONTEXT_SPECIFIC -#define ASN1_CLASS_PRIVATE -#define ASN1_CLASS_STRUCTURED -#define ASN1_TAG_BOOLEAN -#define ASN1_TAG_INTEGER -#define ASN1_TAG_SEQUENCE -#define ASN1_TAG_SET -#define ASN1_TAG_OCTET_STRING -#define ASN1_TAG_BIT_STRING -#define ASN1_TAG_UTCTime -#define ASN1_TAG_GENERALIZEDTime -#define ASN1_TAG_OBJECT_ID -#define ASN1_TAG_ENUMERATED -#define ASN1_TAG_NULL -#define ASN1_TAG_GENERALSTRING -typedef node_asn; -typedef ASN1_TYPE; -#define ASN1_TYPE_EMPTY -typedef ASN1_ARRAY_TYPE; -#define ASN1_MAX_NAME_SIZE -#define ASN1_MAX_ERROR_DESCRIPTION_SIZE -asn1_retCode asn1_parser2tree (const char *file_name, - ASN1_TYPE *definitions, - char *errorDescription); -asn1_retCode asn1_parser2array (const char *inputFileName, - const char *outputFileName, - const char *vectorName, - char *errorDescription); -asn1_retCode asn1_array2tree (const ASN1_ARRAY_TYPE *array, - ASN1_TYPE *definitions, - char *errorDescription); -void asn1_print_structure (FILE *out, - ASN1_TYPE structure, - const char *name, - int mode); -asn1_retCode asn1_create_element (ASN1_TYPE definitions, - const char *source_name, - ASN1_TYPE *element); -asn1_retCode asn1_delete_structure (ASN1_TYPE *structure); -asn1_retCode asn1_delete_element (ASN1_TYPE structure, - const char *element_name); -asn1_retCode asn1_write_value (ASN1_TYPE node_root, - const char *name, - const void *ivalue, - int len); -asn1_retCode asn1_read_value (ASN1_TYPE root, - const char *name, - void *ivalue, - int *len); -asn1_retCode asn1_number_of_elements (ASN1_TYPE element, - const char *name, - int *num); -asn1_retCode asn1_der_coding (ASN1_TYPE element, - const char *name, - void *ider, - int *len, - char *ErrorDescription); -asn1_retCode asn1_der_decoding (ASN1_TYPE *element, - const void *ider, - int len, - char *errorDescription); -asn1_retCode asn1_der_decoding_element (ASN1_TYPE *structure, - const char *elementName, - const void *ider, - int len, - char *errorDescription); -asn1_retCode asn1_der_decoding_startEnd (ASN1_TYPE element, - const void *ider, - int len, - const char *name_element, - int *start, - int *end); -asn1_retCode asn1_expand_any_defined_by (ASN1_TYPE definitions, - ASN1_TYPE *element); -asn1_retCode asn1_expand_octet_string (ASN1_TYPE definitions, - ASN1_TYPE *element, - const char *octetName, - const char *objectName); -asn1_retCode asn1_read_tag (ASN1_TYPE root, - const char *name, - int *tagValue, - int *classValue); -const char * asn1_find_structure_from_oid (ASN1_TYPE definitions, - const char *oidValue); -const char * asn1_check_version (const char *req_version); -const char * asn1_strerror (asn1_retCode error); -void asn1_perror (asn1_retCode error); -int asn1_get_tag_der (unsigned char *der, - int der_len, - unsigned char *cls, - int *len, - unsigned long *tag); -void asn1_octet_der (unsigned char *str, - int str_len, - unsigned char *der, - int *der_len); -asn1_retCode asn1_get_octet_der (unsigned char *der, - int der_len, - int *ret_len, - unsigned char *str, - int str_size, - int *str_len); -void asn1_bit_der (unsigned char *str, - int bit_len, - unsigned char *der, - int *der_len); -asn1_retCode asn1_get_bit_der (unsigned char *der, - int der_len, - int *ret_len, - unsigned char *str, - int str_size, - int *bit_len); -signed long asn1_get_length_der (unsigned char *der, - int der_len, - int *len); -signed long asn1_get_length_ber (unsigned char *ber, - int ber_len, - int *len); -void asn1_length_der (unsigned long int len, - unsigned char *ans, - int *ans_len); -ASN1_TYPE asn1_find_node (ASN1_TYPE pointer, - const char *name); -asn1_retCode asn1_copy_node (ASN1_TYPE dst, - const char *dst_name, - ASN1_TYPE src, - const char *src_name); -#define LIBTASN1_VERSION -#define MAX_NAME_SIZE -#define MAX_ERROR_DESCRIPTION_SIZE -const char * libtasn1_strerror (asn1_retCode error); -void libtasn1_perror (asn1_retCode error); - - - - -Description - - - - -Details - -ASN1_API -ASN1_API -#define ASN1_API - - - -ASN1_VERSION -ASN1_VERSION -#define ASN1_VERSION "2.3" - - - - -asn1_retCode -asn1_retCode - typedef int asn1_retCode; /* type returned by libtasn1 functions */ - - - - -ASN1_SUCCESS -ASN1_SUCCESS -#define ASN1_SUCCESS 0 - - - - -ASN1_FILE_NOT_FOUND -ASN1_FILE_NOT_FOUND -#define ASN1_FILE_NOT_FOUND 1 - - - - -ASN1_ELEMENT_NOT_FOUND -ASN1_ELEMENT_NOT_FOUND -#define ASN1_ELEMENT_NOT_FOUND 2 - - - - -ASN1_IDENTIFIER_NOT_FOUND -ASN1_IDENTIFIER_NOT_FOUND -#define ASN1_IDENTIFIER_NOT_FOUND 3 - - - - -ASN1_DER_ERROR -ASN1_DER_ERROR -#define ASN1_DER_ERROR 4 - - - - -ASN1_VALUE_NOT_FOUND -ASN1_VALUE_NOT_FOUND -#define ASN1_VALUE_NOT_FOUND 5 - - - - -ASN1_GENERIC_ERROR -ASN1_GENERIC_ERROR -#define ASN1_GENERIC_ERROR 6 - - - - -ASN1_VALUE_NOT_VALID -ASN1_VALUE_NOT_VALID -#define ASN1_VALUE_NOT_VALID 7 - - - - -ASN1_TAG_ERROR -ASN1_TAG_ERROR -#define ASN1_TAG_ERROR 8 - - - - -ASN1_TAG_IMPLICIT -ASN1_TAG_IMPLICIT -#define ASN1_TAG_IMPLICIT 9 - - - - -ASN1_ERROR_TYPE_ANY -ASN1_ERROR_TYPE_ANY -#define ASN1_ERROR_TYPE_ANY 10 - - - - -ASN1_SYNTAX_ERROR -ASN1_SYNTAX_ERROR -#define ASN1_SYNTAX_ERROR 11 - - - - -ASN1_MEM_ERROR -ASN1_MEM_ERROR -#define ASN1_MEM_ERROR 12 - - - - -ASN1_MEM_ALLOC_ERROR -ASN1_MEM_ALLOC_ERROR -#define ASN1_MEM_ALLOC_ERROR 13 - - - - -ASN1_DER_OVERFLOW -ASN1_DER_OVERFLOW -#define ASN1_DER_OVERFLOW 14 - - - - -ASN1_NAME_TOO_LONG -ASN1_NAME_TOO_LONG -#define ASN1_NAME_TOO_LONG 15 - - - - -ASN1_ARRAY_ERROR -ASN1_ARRAY_ERROR -#define ASN1_ARRAY_ERROR 16 - - - - -ASN1_ELEMENT_NOT_EMPTY -ASN1_ELEMENT_NOT_EMPTY -#define ASN1_ELEMENT_NOT_EMPTY 17 - - - - -ASN1_PRINT_NAME -ASN1_PRINT_NAME -#define ASN1_PRINT_NAME 1 - - - - -ASN1_PRINT_NAME_TYPE -ASN1_PRINT_NAME_TYPE -#define ASN1_PRINT_NAME_TYPE 2 - - - - -ASN1_PRINT_NAME_TYPE_VALUE -ASN1_PRINT_NAME_TYPE_VALUE -#define ASN1_PRINT_NAME_TYPE_VALUE 3 - - - - -ASN1_PRINT_ALL -ASN1_PRINT_ALL -#define ASN1_PRINT_ALL 4 - - - - -ASN1_CLASS_UNIVERSAL -ASN1_CLASS_UNIVERSAL -#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */ - - - - -ASN1_CLASS_APPLICATION -ASN1_CLASS_APPLICATION -#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */ - - - - -ASN1_CLASS_CONTEXT_SPECIFIC -ASN1_CLASS_CONTEXT_SPECIFIC -#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */ - - - - -ASN1_CLASS_PRIVATE -ASN1_CLASS_PRIVATE -#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */ - - - - -ASN1_CLASS_STRUCTURED -ASN1_CLASS_STRUCTURED -#define ASN1_CLASS_STRUCTURED 0x20 - - - - -ASN1_TAG_BOOLEAN -ASN1_TAG_BOOLEAN -#define ASN1_TAG_BOOLEAN 0x01 - - - - -ASN1_TAG_INTEGER -ASN1_TAG_INTEGER -#define ASN1_TAG_INTEGER 0x02 - - - - -ASN1_TAG_SEQUENCE -ASN1_TAG_SEQUENCE -#define ASN1_TAG_SEQUENCE 0x10 - - - - -ASN1_TAG_SET -ASN1_TAG_SET -#define ASN1_TAG_SET 0x11 - - - - -ASN1_TAG_OCTET_STRING -ASN1_TAG_OCTET_STRING -#define ASN1_TAG_OCTET_STRING 0x04 - - - - -ASN1_TAG_BIT_STRING -ASN1_TAG_BIT_STRING -#define ASN1_TAG_BIT_STRING 0x03 - - - - -ASN1_TAG_UTCTime -ASN1_TAG_UTCTime -#define ASN1_TAG_UTCTime 0x17 - - - - -ASN1_TAG_GENERALIZEDTime -ASN1_TAG_GENERALIZEDTime -#define ASN1_TAG_GENERALIZEDTime 0x18 - - - - -ASN1_TAG_OBJECT_ID -ASN1_TAG_OBJECT_ID -#define ASN1_TAG_OBJECT_ID 0x06 - - - - -ASN1_TAG_ENUMERATED -ASN1_TAG_ENUMERATED -#define ASN1_TAG_ENUMERATED 0x0A - - - - -ASN1_TAG_NULL -ASN1_TAG_NULL -#define ASN1_TAG_NULL 0x05 - - - - -ASN1_TAG_GENERALSTRING -ASN1_TAG_GENERALSTRING -#define ASN1_TAG_GENERALSTRING 0x1B - - - - -node_asn -node_asn - typedef struct node_asn_struct node_asn; - - - - -ASN1_TYPE -ASN1_TYPE - typedef node_asn *ASN1_TYPE; - - - - -ASN1_TYPE_EMPTY -ASN1_TYPE_EMPTY -#define ASN1_TYPE_EMPTY NULL - - - - -ASN1_ARRAY_TYPE -ASN1_ARRAY_TYPE - typedef struct static_struct_asn ASN1_ARRAY_TYPE; - - - - -ASN1_MAX_NAME_SIZE -ASN1_MAX_NAME_SIZE -#define ASN1_MAX_NAME_SIZE - - - -ASN1_MAX_ERROR_DESCRIPTION_SIZE -ASN1_MAX_ERROR_DESCRIPTION_SIZE -#define ASN1_MAX_ERROR_DESCRIPTION_SIZE - - - -asn1_parser2tree () -asn1_parser2tree -asn1_retCode asn1_parser2tree (const char *file_name, - ASN1_TYPE *definitions, - char *errorDescription); - - -file_name : - - -definitions : - - -errorDescription : - - -Returns : - - - -asn1_parser2array () -asn1_parser2array -asn1_retCode asn1_parser2array (const char *inputFileName, - const char *outputFileName, - const char *vectorName, - char *errorDescription); - - -inputFileName : - - -outputFileName : - - -vectorName : - - -errorDescription : - - -Returns : - - - -asn1_array2tree () -asn1_array2tree -asn1_retCode asn1_array2tree (const ASN1_ARRAY_TYPE *array, - ASN1_TYPE *definitions, - char *errorDescription); - - -array : - - -definitions : - - -errorDescription : - - -Returns : - - - -asn1_print_structure () -asn1_print_structure -void asn1_print_structure (FILE *out, - ASN1_TYPE structure, - const char *name, - int mode); - - -out : - - -structure : - - -name : - - -mode : - - - - -asn1_create_element () -asn1_create_element -asn1_retCode asn1_create_element (ASN1_TYPE definitions, - const char *source_name, - ASN1_TYPE *element); - - -definitions : - - -source_name : - - -element : - - -Returns : - - - -asn1_delete_structure () -asn1_delete_structure -asn1_retCode asn1_delete_structure (ASN1_TYPE *structure); - - -structure : - - -Returns : - - - -asn1_delete_element () -asn1_delete_element -asn1_retCode asn1_delete_element (ASN1_TYPE structure, - const char *element_name); - - -structure : - - -element_name : - - -Returns : - - - -asn1_write_value () -asn1_write_value -asn1_retCode asn1_write_value (ASN1_TYPE node_root, - const char *name, - const void *ivalue, - int len); - - -node_root : - - -name : - - -ivalue : - - -len : - - -Returns : - - - -asn1_read_value () -asn1_read_value -asn1_retCode asn1_read_value (ASN1_TYPE root, - const char *name, - void *ivalue, - int *len); - - -root : - - -name : - - -ivalue : - - -len : - - -Returns : - - - -asn1_number_of_elements () -asn1_number_of_elements -asn1_retCode asn1_number_of_elements (ASN1_TYPE element, - const char *name, - int *num); - - -element : - - -name : - - -num : - - -Returns : - - - -asn1_der_coding () -asn1_der_coding -asn1_retCode asn1_der_coding (ASN1_TYPE element, - const char *name, - void *ider, - int *len, - char *ErrorDescription); - - -element : - - -name : - - -ider : - - -len : - - -ErrorDescription : - - -Returns : - - - -asn1_der_decoding () -asn1_der_decoding -asn1_retCode asn1_der_decoding (ASN1_TYPE *element, - const void *ider, - int len, - char *errorDescription); - - -element : - - -ider : - - -len : - - -errorDescription : - - -Returns : - - - -asn1_der_decoding_element () -asn1_der_decoding_element -asn1_retCode asn1_der_decoding_element (ASN1_TYPE *structure, - const char *elementName, - const void *ider, - int len, - char *errorDescription); - - -structure : - - -elementName : - - -ider : - - -len : - - -errorDescription : - - -Returns : - - - -asn1_der_decoding_startEnd () -asn1_der_decoding_startEnd -asn1_retCode asn1_der_decoding_startEnd (ASN1_TYPE element, - const void *ider, - int len, - const char *name_element, - int *start, - int *end); - - -element : - - -ider : - - -len : - - -name_element : - - -start : - - -end : - - -Returns : - - - -asn1_expand_any_defined_by () -asn1_expand_any_defined_by -asn1_retCode asn1_expand_any_defined_by (ASN1_TYPE definitions, - ASN1_TYPE *element); - - -definitions : - - -element : - - -Returns : - - - -asn1_expand_octet_string () -asn1_expand_octet_string -asn1_retCode asn1_expand_octet_string (ASN1_TYPE definitions, - ASN1_TYPE *element, - const char *octetName, - const char *objectName); - - -definitions : - - -element : - - -octetName : - - -objectName : - - -Returns : - - - -asn1_read_tag () -asn1_read_tag -asn1_retCode asn1_read_tag (ASN1_TYPE root, - const char *name, - int *tagValue, - int *classValue); - - -root : - - -name : - - -tagValue : - - -classValue : - - -Returns : - - - -asn1_find_structure_from_oid () -asn1_find_structure_from_oid -const char * asn1_find_structure_from_oid (ASN1_TYPE definitions, - const char *oidValue); - - -definitions : - - -oidValue : - - -Returns : - - - -asn1_check_version () -asn1_check_version -const char * asn1_check_version (const char *req_version); - - -req_version : - - -Returns : - - - -asn1_strerror () -asn1_strerror -const char * asn1_strerror (asn1_retCode error); - - -error : - - -Returns : - - - -asn1_perror () -asn1_perror -void asn1_perror (asn1_retCode error); - - -error : - - - - -asn1_get_tag_der () -asn1_get_tag_der -int asn1_get_tag_der (unsigned char *der, - int der_len, - unsigned char *cls, - int *len, - unsigned long *tag); - -Decode the class and TAG from DER code. - -der : -DER data to decode. - -der_len : -Length of DER data to decode. - -cls : -Output variable containing decoded class. - -len : -Output variable containing the length of the DER TAG data. - -tag : -Output variable containing the decoded tag. - -Returns : Returns ASN1_SUCCESS on success, or an error. - - - -asn1_octet_der () -asn1_octet_der -void asn1_octet_der (unsigned char *str, - int str_len, - unsigned char *der, - int *der_len); - -Creates the DER coding for an OCTET type (length included). - -str : -OCTET string. - -str_len : -STR length (str[0]..str[str_len-1]). - -der : -string returned. - -der_len : -number of meaningful bytes of DER (der[0]..der[ans_len-1]). - - - -asn1_get_octet_der () -asn1_get_octet_der -asn1_retCode asn1_get_octet_der (unsigned char *der, - int der_len, - int *ret_len, - unsigned char *str, - int str_size, - int *str_len); - -Extract an OCTET SEQUENCE from DER data. - -der : -DER data to decode containing the OCTET SEQUENCE. - -der_len : -Length of DER data to decode. - -ret_len : -Output variable containing the length of the DER data. - -str : -Pre-allocated output buffer to put decoded OCTET SEQUENCE in. - -str_size : -Length of pre-allocated output buffer. - -str_len : -Output variable containing the length of the OCTET SEQUENCE. - -Returns : Returns ASN1_SUCCESS on success, or an error. - - - -asn1_bit_der () -asn1_bit_der -void asn1_bit_der (unsigned char *str, - int bit_len, - unsigned char *der, - int *der_len); - -Creates the DER coding for a BIT STRING type (length and pad -included). - -str : -BIT string. - -bit_len : -number of meaningful bits in STR. - -der : -string returned. - -der_len : -number of meaningful bytes of DER - (der[0]..der[ans_len-1]). - - - -asn1_get_bit_der () -asn1_get_bit_der -asn1_retCode asn1_get_bit_der (unsigned char *der, - int der_len, - int *ret_len, - unsigned char *str, - int str_size, - int *bit_len); - -Extract a BIT SEQUENCE from DER data. - -der : -DER data to decode containing the BIT SEQUENCE. - -der_len : -Length of DER data to decode. - -ret_len : -Output variable containing the length of the DER data. - -str : -Pre-allocated output buffer to put decoded BIT SEQUENCE in. - -str_size : -Length of pre-allocated output buffer. - -bit_len : -Output variable containing the size of the BIT SEQUENCE. - -Returns : Return ASN1_SUCCESS on success, or an error. - - - -asn1_get_length_der () -asn1_get_length_der -signed long asn1_get_length_der (unsigned char *der, - int der_len, - int *len); - -Extract a length field from DER data. - -der : -DER data to decode. - -der_len : -Length of DER data to decode. - -len : -Output variable containing the length of the DER length field. - -Returns : Return the decoded length value, or -1 on indefinite - length, or -2 when the value was too big. - - - -asn1_get_length_ber () -asn1_get_length_ber -signed long asn1_get_length_ber (unsigned char *ber, - int ber_len, - int *len); - -Extract a length field from BER data. The difference to -asn1_get_length_der() is that this function will return a length -even if the value has indefinite encoding. - -ber : -BER data to decode. - -ber_len : -Length of BER data to decode. - -len : -Output variable containing the length of the BER length field. - -Returns : Return the decoded length value, or negative value - when the value was too big. - - -Since 2.0 - -asn1_length_der () -asn1_length_der -void asn1_length_der (unsigned long int len, - unsigned char *ans, - int *ans_len); - -Creates the DER coding for the LEN parameter (only the length). -The ans buffer is pre-allocated and must have room for the output. - -len : -value to convert. - -ans : -string returned. - -ans_len : -number of meaningful bytes of ANS (ans[0]..ans[ans_len-1]). - - - -asn1_find_node () -asn1_find_node -ASN1_TYPE asn1_find_node (ASN1_TYPE pointer, - const char *name); - -Searches for an element called NAME starting from POINTER. The -name is composed by differents identifiers separated by dots. When -*POINTER has a name, the first identifier must be the name of -*POINTER, otherwise it must be the name of one child of *POINTER. - -pointer : -NODE_ASN element pointer. - -name : -null terminated string with the element's name to find. - -Returns : the searching result. NULL if not found. - - - -asn1_copy_node () -asn1_copy_node -asn1_retCode asn1_copy_node (ASN1_TYPE dst, - const char *dst_name, - ASN1_TYPE src, - const char *src_name); - -Create a deep copy of a ASN1_TYPE variable. - -dst : -Destination ASN1_TYPE node. - -dst_name : -Field name in destination node. - -src : -Source ASN1_TYPE node. - -src_name : -Field name in source node. - -Returns : Return ASN1_SUCCESS on success. - - - -LIBTASN1_VERSION -LIBTASN1_VERSION -#define LIBTASN1_VERSION ASN1_VERSION - -LIBTASN1_VERSION is deprecated and should not be used in newly-written code. - - - -MAX_NAME_SIZE -MAX_NAME_SIZE -# define MAX_NAME_SIZE ASN1_MAX_NAME_SIZE - -MAX_NAME_SIZE is deprecated and should not be used in newly-written code. - - - -MAX_ERROR_DESCRIPTION_SIZE -MAX_ERROR_DESCRIPTION_SIZE -# define MAX_ERROR_DESCRIPTION_SIZE ASN1_MAX_ERROR_DESCRIPTION_SIZE - -MAX_ERROR_DESCRIPTION_SIZE is deprecated and should not be used in newly-written code. - - - -libtasn1_strerror () -libtasn1_strerror -const char * libtasn1_strerror (asn1_retCode error); -libtasn1_strerror is deprecated and should not be used in newly-written code. - - -error : - - -Returns : - - - -libtasn1_perror () -libtasn1_perror -void libtasn1_perror (asn1_retCode error); -libtasn1_perror is deprecated and should not be used in newly-written code. - - -error : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/link-warning.xml gnutls26-2.4.1/doc/reference/xml/link-warning.xml --- gnutls26-2.8.6/doc/reference/xml/link-warning.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/link-warning.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,93 +0,0 @@ - - - - -link-warning -3 - - GNUTLS Library - - - -link-warning - - - - -Synopsis - -#define GL_LINK_WARNING (message) -#define GL_LINK_WARNING1 (file, - line, - message) -#define GL_LINK_WARNING2 (file, - line, - message) -#define GL_LINK_WARNING3 (message) - - - - -Description - - - - -Details - -GL_LINK_WARNING() -GL_LINK_WARNING -#define GL_LINK_WARNING(message) - - -message : - - - - -GL_LINK_WARNING1() -GL_LINK_WARNING1 -#define GL_LINK_WARNING1(file, line, message) - - -file : - - -line : - - -message : - - - - -GL_LINK_WARNING2() -GL_LINK_WARNING2 -#define GL_LINK_WARNING2(file, line, message) - - -file : - - -line : - - -message : - - - - -GL_LINK_WARNING3() -GL_LINK_WARNING3 -#define GL_LINK_WARNING3(message) - - -message : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/openpgp_int.xml gnutls26-2.4.1/doc/reference/xml/openpgp_int.xml --- gnutls26-2.8.6/doc/reference/xml/openpgp_int.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/openpgp_int.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ - - - - -openpgp_int -3 - - GNUTLS Library - - - -openpgp_int - - - - -Synopsis - -#define KEYID_IMPORT (dst, - src) - - - - -Description - - - - -Details - -KEYID_IMPORT() -KEYID_IMPORT -#define KEYID_IMPORT(dst, src) - - -dst : - - -src : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/openpgp.xml gnutls26-2.4.1/doc/reference/xml/openpgp.xml --- gnutls26-2.8.6/doc/reference/xml/openpgp.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/openpgp.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1718 +0,0 @@ - - - - -openpgp -3 - - GNUTLS Library - - - -openpgp - - - - -Synopsis - -enum gnutls_openpgp_crt_fmt_t; -typedef gnutls_openpgp_keyid_t; -int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t *key); -void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key); -int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format); -int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, - gnutls_openpgp_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); -int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, - unsigned int *key_usage); -int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, - void *fpr, - size_t *fprlen); -int gnutls_openpgp_crt_get_subkey_fingerprint - (gnutls_openpgp_crt_t key, - unsigned int idx, - void *fpr, - size_t *fprlen); -int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, - int idx, - char *buf, - size_t *sizeof_buf); -gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm - (gnutls_openpgp_crt_t key, - unsigned int *bits); -int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key); -time_t gnutls_openpgp_crt_get_creation_time - (gnutls_openpgp_crt_t key); -time_t gnutls_openpgp_crt_get_expiration_time - (gnutls_openpgp_crt_t key); -int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, - const char *hostname); -int gnutls_openpgp_crt_get_revoked_status - (gnutls_openpgp_crt_t key); -int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key); -int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_crt_get_subkey_revoked_status - (gnutls_openpgp_crt_t key, - unsigned int idx); -gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm - (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *bits); -time_t gnutls_openpgp_crt_get_subkey_creation_time - (gnutls_openpgp_crt_t key, - unsigned int idx); -time_t gnutls_openpgp_crt_get_subkey_expiration_time - (gnutls_openpgp_crt_t key, - unsigned int idx); -int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *key_usage); -int gnutls_openpgp_crt_get_subkey_pk_dsa_raw - (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); -int gnutls_openpgp_crt_get_subkey_pk_rsa_raw - (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t *m, - gnutls_datum_t *e); -int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); -int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t *m, - gnutls_datum_t *e); -int gnutls_openpgp_crt_get_preferred_key_id - (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_crt_set_preferred_key_id - (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t *key); -void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key); -gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm - (gnutls_openpgp_privkey_t key, - unsigned int *bits); -int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags); -int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); -int gnutls_openpgp_privkey_get_fingerprint - (gnutls_openpgp_privkey_t key, - void *fpr, - size_t *fprlen); -int gnutls_openpgp_privkey_get_subkey_fingerprint - (gnutls_openpgp_privkey_t key, - unsigned int idx, - void *fpr, - size_t *fprlen); -int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_privkey_get_subkey_count - (gnutls_openpgp_privkey_t key); -int gnutls_openpgp_privkey_get_subkey_idx - (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_privkey_get_subkey_revoked_status - (gnutls_openpgp_privkey_t key, - unsigned int idx); -int gnutls_openpgp_privkey_get_revoked_status - (gnutls_openpgp_privkey_t key); -gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm - (gnutls_openpgp_privkey_t key, - unsigned int idx, - unsigned int *bits); -time_t gnutls_openpgp_privkey_get_subkey_expiration_time - (gnutls_openpgp_privkey_t key, - unsigned int idx); -int gnutls_openpgp_privkey_get_subkey_id - (gnutls_openpgp_privkey_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); -time_t gnutls_openpgp_privkey_get_subkey_creation_time - (gnutls_openpgp_privkey_t key, - unsigned int idx); -int gnutls_openpgp_privkey_export_subkey_dsa_raw - (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); -int gnutls_openpgp_privkey_export_subkey_rsa_raw - (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); -int gnutls_openpgp_privkey_export_dsa_raw - (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); -int gnutls_openpgp_privkey_export_rsa_raw - (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); -int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t *output_data_size); -int gnutls_openpgp_privkey_set_preferred_key_id - (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_privkey_get_preferred_key_id - (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); -int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, - gnutls_openpgp_keyid_t keyid, - unsigned int flag); -int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t *keyring); -void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring); -int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format); -int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, - const gnutls_openpgp_keyid_t keyid, - unsigned int flags); -int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyring_t keyring, - unsigned int flags, - unsigned int *verify); -int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, - unsigned int flags, - unsigned int *verify); -int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, - unsigned int idx, - gnutls_openpgp_crt_t *cert); -int gnutls_openpgp_keyring_get_crt_count - (gnutls_openpgp_keyring_t ring); -int (*gnutls_openpgp_recv_key_func) (gnutls_session_t session, - unsigned char *keyfpr, - unsigned int keyfpr_length, - gnutls_datum_t *key); -void gnutls_openpgp_set_recv_key_function - (gnutls_session_t session, - gnutls_openpgp_recv_key_func func); -int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, - gnutls_openpgp_crt_t key, - gnutls_openpgp_privkey_t pkey); -int gnutls_certificate_set_openpgp_key_file - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_openpgp_crt_fmt_t format); -int gnutls_certificate_set_openpgp_key_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - gnutls_openpgp_crt_fmt_t format); -int gnutls_certificate_set_openpgp_key_file2 - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); -int gnutls_certificate_set_openpgp_key_mem2 - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); -int gnutls_certificate_set_openpgp_keyring_mem - (gnutls_certificate_credentials_t c, - unsigned char *data, - size_t dlen, - gnutls_openpgp_crt_fmt_t format); -int gnutls_certificate_set_openpgp_keyring_file - (gnutls_certificate_credentials_t c, - const char *file, - gnutls_openpgp_crt_fmt_t format); - - - - -Description - - - - -Details - -enum gnutls_openpgp_crt_fmt_t -gnutls_openpgp_crt_fmt_t - typedef enum gnutls_openpgp_crt_fmt - { GNUTLS_OPENPGP_FMT_RAW, - GNUTLS_OPENPGP_FMT_BASE64 - } gnutls_openpgp_crt_fmt_t; - - - - -gnutls_openpgp_keyid_t -gnutls_openpgp_keyid_t - typedef unsigned char gnutls_openpgp_keyid_t[8]; - - - - -gnutls_openpgp_crt_init () -gnutls_openpgp_crt_init -int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t *key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_deinit () -gnutls_openpgp_crt_deinit -void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key); - - -key : - - - - -gnutls_openpgp_crt_import () -gnutls_openpgp_crt_import -int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format); - - -key : - - -data : - - -format : - - -Returns : - - - -gnutls_openpgp_crt_export () -gnutls_openpgp_crt_export -int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, - gnutls_openpgp_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -key : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_openpgp_crt_print () -gnutls_openpgp_crt_print -int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); - - -cert : - - -format : - - -out : - - -Returns : - - - -gnutls_openpgp_crt_get_key_usage () -gnutls_openpgp_crt_get_key_usage -int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, - unsigned int *key_usage); - - -key : - - -key_usage : - - -Returns : - - - -gnutls_openpgp_crt_get_fingerprint () -gnutls_openpgp_crt_get_fingerprint -int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, - void *fpr, - size_t *fprlen); - - -key : - - -fpr : - - -fprlen : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_fingerprint () -gnutls_openpgp_crt_get_subkey_fingerprint -int gnutls_openpgp_crt_get_subkey_fingerprint - (gnutls_openpgp_crt_t key, - unsigned int idx, - void *fpr, - size_t *fprlen); - - -key : - - -idx : - - -fpr : - - -fprlen : - - -Returns : - - - -gnutls_openpgp_crt_get_name () -gnutls_openpgp_crt_get_name -int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, - int idx, - char *buf, - size_t *sizeof_buf); - - -key : - - -idx : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_openpgp_crt_get_pk_algorithm () -gnutls_openpgp_crt_get_pk_algorithm -gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm - (gnutls_openpgp_crt_t key, - unsigned int *bits); - - -key : - - -bits : - - -Returns : - - - -gnutls_openpgp_crt_get_version () -gnutls_openpgp_crt_get_version -int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_get_creation_time () -gnutls_openpgp_crt_get_creation_time -time_t gnutls_openpgp_crt_get_creation_time - (gnutls_openpgp_crt_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_get_expiration_time () -gnutls_openpgp_crt_get_expiration_time -time_t gnutls_openpgp_crt_get_expiration_time - (gnutls_openpgp_crt_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_get_key_id () -gnutls_openpgp_crt_get_key_id -int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_crt_check_hostname () -gnutls_openpgp_crt_check_hostname -int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, - const char *hostname); - - -key : - - -hostname : - - -Returns : - - - -gnutls_openpgp_crt_get_revoked_status () -gnutls_openpgp_crt_get_revoked_status -int gnutls_openpgp_crt_get_revoked_status - (gnutls_openpgp_crt_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_count () -gnutls_openpgp_crt_get_subkey_count -int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_idx () -gnutls_openpgp_crt_get_subkey_idx -int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_revoked_status () -gnutls_openpgp_crt_get_subkey_revoked_status -int gnutls_openpgp_crt_get_subkey_revoked_status - (gnutls_openpgp_crt_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_pk_algorithm () -gnutls_openpgp_crt_get_subkey_pk_algorithm -gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm - (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *bits); - - -key : - - -idx : - - -bits : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_creation_time () -gnutls_openpgp_crt_get_subkey_creation_time -time_t gnutls_openpgp_crt_get_subkey_creation_time - (gnutls_openpgp_crt_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_expiration_time () -gnutls_openpgp_crt_get_subkey_expiration_time -time_t gnutls_openpgp_crt_get_subkey_expiration_time - (gnutls_openpgp_crt_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_id () -gnutls_openpgp_crt_get_subkey_id -int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); - - -key : - - -idx : - - -keyid : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_usage () -gnutls_openpgp_crt_get_subkey_usage -int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *key_usage); - - -key : - - -idx : - - -key_usage : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_pk_dsa_raw () -gnutls_openpgp_crt_get_subkey_pk_dsa_raw -int gnutls_openpgp_crt_get_subkey_pk_dsa_raw - (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); - - -crt : - - -idx : - - -p : - - -q : - - -g : - - -y : - - -Returns : - - - -gnutls_openpgp_crt_get_subkey_pk_rsa_raw () -gnutls_openpgp_crt_get_subkey_pk_rsa_raw -int gnutls_openpgp_crt_get_subkey_pk_rsa_raw - (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t *m, - gnutls_datum_t *e); - - -crt : - - -idx : - - -m : - - -e : - - -Returns : - - - -gnutls_openpgp_crt_get_pk_dsa_raw () -gnutls_openpgp_crt_get_pk_dsa_raw -int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); - - -crt : - - -p : - - -q : - - -g : - - -y : - - -Returns : - - - -gnutls_openpgp_crt_get_pk_rsa_raw () -gnutls_openpgp_crt_get_pk_rsa_raw -int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t *m, - gnutls_datum_t *e); - - -crt : - - -m : - - -e : - - -Returns : - - - -gnutls_openpgp_crt_get_preferred_key_id () -gnutls_openpgp_crt_get_preferred_key_id -int gnutls_openpgp_crt_get_preferred_key_id - (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_crt_set_preferred_key_id () -gnutls_openpgp_crt_set_preferred_key_id -int gnutls_openpgp_crt_set_preferred_key_id - (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_privkey_init () -gnutls_openpgp_privkey_init -int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t *key); - - -key : - - -Returns : - - - -gnutls_openpgp_privkey_deinit () -gnutls_openpgp_privkey_deinit -void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key); - - -key : - - - - -gnutls_openpgp_privkey_get_pk_algorithm () -gnutls_openpgp_privkey_get_pk_algorithm -gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm - (gnutls_openpgp_privkey_t key, - unsigned int *bits); - - -key : - - -bits : - - -Returns : - - - -gnutls_openpgp_privkey_import () -gnutls_openpgp_privkey_import -int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags); - - -key : - - -data : - - -format : - - -password : - - -flags : - - -Returns : - - - -gnutls_openpgp_privkey_sign_hash () -gnutls_openpgp_privkey_sign_hash -int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); - - -key : - - -hash : - - -signature : - - -Returns : - - - -gnutls_openpgp_privkey_get_fingerprint () -gnutls_openpgp_privkey_get_fingerprint -int gnutls_openpgp_privkey_get_fingerprint - (gnutls_openpgp_privkey_t key, - void *fpr, - size_t *fprlen); - - -key : - - -fpr : - - -fprlen : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_fingerprint () -gnutls_openpgp_privkey_get_subkey_fingerprint -int gnutls_openpgp_privkey_get_subkey_fingerprint - (gnutls_openpgp_privkey_t key, - unsigned int idx, - void *fpr, - size_t *fprlen); - - -key : - - -idx : - - -fpr : - - -fprlen : - - -Returns : - - - -gnutls_openpgp_privkey_get_key_id () -gnutls_openpgp_privkey_get_key_id -int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_count () -gnutls_openpgp_privkey_get_subkey_count -int gnutls_openpgp_privkey_get_subkey_count - (gnutls_openpgp_privkey_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_idx () -gnutls_openpgp_privkey_get_subkey_idx -int gnutls_openpgp_privkey_get_subkey_idx - (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_revoked_status () -gnutls_openpgp_privkey_get_subkey_revoked_status -int gnutls_openpgp_privkey_get_subkey_revoked_status - (gnutls_openpgp_privkey_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_privkey_get_revoked_status () -gnutls_openpgp_privkey_get_revoked_status -int gnutls_openpgp_privkey_get_revoked_status - (gnutls_openpgp_privkey_t key); - - -key : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_pk_algorithm () -gnutls_openpgp_privkey_get_subkey_pk_algorithm -gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm - (gnutls_openpgp_privkey_t key, - unsigned int idx, - unsigned int *bits); - - -key : - - -idx : - - -bits : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_expiration_time () -gnutls_openpgp_privkey_get_subkey_expiration_time -time_t gnutls_openpgp_privkey_get_subkey_expiration_time - (gnutls_openpgp_privkey_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_id () -gnutls_openpgp_privkey_get_subkey_id -int gnutls_openpgp_privkey_get_subkey_id - (gnutls_openpgp_privkey_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); - - -key : - - -idx : - - -keyid : - - -Returns : - - - -gnutls_openpgp_privkey_get_subkey_creation_time () -gnutls_openpgp_privkey_get_subkey_creation_time -time_t gnutls_openpgp_privkey_get_subkey_creation_time - (gnutls_openpgp_privkey_t key, - unsigned int idx); - - -key : - - -idx : - - -Returns : - - - -gnutls_openpgp_privkey_export_subkey_dsa_raw () -gnutls_openpgp_privkey_export_subkey_dsa_raw -int gnutls_openpgp_privkey_export_subkey_dsa_raw - (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); - - -pkey : - - -idx : - - -p : - - -q : - - -g : - - -y : - - -x : - - -Returns : - - - -gnutls_openpgp_privkey_export_subkey_rsa_raw () -gnutls_openpgp_privkey_export_subkey_rsa_raw -int gnutls_openpgp_privkey_export_subkey_rsa_raw - (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); - - -pkey : - - -idx : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -Returns : - - - -gnutls_openpgp_privkey_export_dsa_raw () -gnutls_openpgp_privkey_export_dsa_raw -int gnutls_openpgp_privkey_export_dsa_raw - (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); - - -pkey : - - -p : - - -q : - - -g : - - -y : - - -x : - - -Returns : - - - -gnutls_openpgp_privkey_export_rsa_raw () -gnutls_openpgp_privkey_export_rsa_raw -int gnutls_openpgp_privkey_export_rsa_raw - (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); - - -pkey : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -Returns : - - - -gnutls_openpgp_privkey_export () -gnutls_openpgp_privkey_export -int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t *output_data_size); - - -key : - - -format : - - -password : - - -flags : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_openpgp_privkey_set_preferred_key_id () -gnutls_openpgp_privkey_set_preferred_key_id -int gnutls_openpgp_privkey_set_preferred_key_id - (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_privkey_get_preferred_key_id () -gnutls_openpgp_privkey_get_preferred_key_id -int gnutls_openpgp_privkey_get_preferred_key_id - (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); - - -key : - - -keyid : - - -Returns : - - - -gnutls_openpgp_crt_get_auth_subkey () -gnutls_openpgp_crt_get_auth_subkey -int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, - gnutls_openpgp_keyid_t keyid, - unsigned int flag); - - -crt : - - -keyid : - - -flag : - - -Returns : - - - -gnutls_openpgp_keyring_init () -gnutls_openpgp_keyring_init -int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t *keyring); - - -keyring : - - -Returns : - - - -gnutls_openpgp_keyring_deinit () -gnutls_openpgp_keyring_deinit -void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring); - - -keyring : - - - - -gnutls_openpgp_keyring_import () -gnutls_openpgp_keyring_import -int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, - const gnutls_datum_t *data, - gnutls_openpgp_crt_fmt_t format); - - -keyring : - - -data : - - -format : - - -Returns : - - - -gnutls_openpgp_keyring_check_id () -gnutls_openpgp_keyring_check_id -int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, - const gnutls_openpgp_keyid_t keyid, - unsigned int flags); - - -ring : - - -keyid : - - -flags : - - -Returns : - - - -gnutls_openpgp_crt_verify_ring () -gnutls_openpgp_crt_verify_ring -int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyring_t keyring, - unsigned int flags, - unsigned int *verify); - - -key : - - -keyring : - - -flags : - - -verify : - - -Returns : - - - -gnutls_openpgp_crt_verify_self () -gnutls_openpgp_crt_verify_self -int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, - unsigned int flags, - unsigned int *verify); - - -key : - - -flags : - - -verify : - - -Returns : - - - -gnutls_openpgp_keyring_get_crt () -gnutls_openpgp_keyring_get_crt -int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, - unsigned int idx, - gnutls_openpgp_crt_t *cert); - - -ring : - - -idx : - - -cert : - - -Returns : - - - -gnutls_openpgp_keyring_get_crt_count () -gnutls_openpgp_keyring_get_crt_count -int gnutls_openpgp_keyring_get_crt_count - (gnutls_openpgp_keyring_t ring); - - -ring : - - -Returns : - - - -gnutls_openpgp_recv_key_func () -gnutls_openpgp_recv_key_func -int (*gnutls_openpgp_recv_key_func) (gnutls_session_t session, - unsigned char *keyfpr, - unsigned int keyfpr_length, - gnutls_datum_t *key); - - -session : - - -keyfpr : - - -keyfpr_length : - - -key : - - -Returns : - - - -gnutls_openpgp_set_recv_key_function () -gnutls_openpgp_set_recv_key_function -void gnutls_openpgp_set_recv_key_function - (gnutls_session_t session, - gnutls_openpgp_recv_key_func func); - - -session : - - -func : - - - - -gnutls_certificate_set_openpgp_key () -gnutls_certificate_set_openpgp_key -int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, - gnutls_openpgp_crt_t key, - gnutls_openpgp_privkey_t pkey); - - -res : - - -key : - - -pkey : - - -Returns : - - - -gnutls_certificate_set_openpgp_key_file () -gnutls_certificate_set_openpgp_key_file -int gnutls_certificate_set_openpgp_key_file - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_openpgp_crt_fmt_t format); - - -res : - - -certfile : - - -keyfile : - - -format : - - -Returns : - - - -gnutls_certificate_set_openpgp_key_mem () -gnutls_certificate_set_openpgp_key_mem -int gnutls_certificate_set_openpgp_key_mem - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - gnutls_openpgp_crt_fmt_t format); - - -res : - - -cert : - - -key : - - -format : - - -Returns : - - - -gnutls_certificate_set_openpgp_key_file2 () -gnutls_certificate_set_openpgp_key_file2 -int gnutls_certificate_set_openpgp_key_file2 - (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); - - -res : - - -certfile : - - -keyfile : - - -subkey_id : - - -format : - - -Returns : - - - -gnutls_certificate_set_openpgp_key_mem2 () -gnutls_certificate_set_openpgp_key_mem2 -int gnutls_certificate_set_openpgp_key_mem2 - (gnutls_certificate_credentials_t res, - const gnutls_datum_t *cert, - const gnutls_datum_t *key, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); - - -res : - - -cert : - - -key : - - -subkey_id : - - -format : - - -Returns : - - - -gnutls_certificate_set_openpgp_keyring_mem () -gnutls_certificate_set_openpgp_keyring_mem -int gnutls_certificate_set_openpgp_keyring_mem - (gnutls_certificate_credentials_t c, - unsigned char *data, - size_t dlen, - gnutls_openpgp_crt_fmt_t format); - - -c : - - -data : - - -dlen : - - -format : - - -Returns : - - - -gnutls_certificate_set_openpgp_keyring_file () -gnutls_certificate_set_openpgp_keyring_file -int gnutls_certificate_set_openpgp_keyring_file - (gnutls_certificate_credentials_t c, - const char *file, - gnutls_openpgp_crt_fmt_t format); - - -c : - - -file : - - -format : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/openssl.xml gnutls26-2.4.1/doc/reference/xml/openssl.xml --- gnutls26-2.8.6/doc/reference/xml/openssl.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/openssl.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,1668 +0,0 @@ - - - - -openssl -3 - - GNUTLS Library - - - -openssl - - - - -Synopsis - -#define GNUTLS_X509_CN_SIZE -#define GNUTLS_X509_C_SIZE -#define GNUTLS_X509_O_SIZE -#define GNUTLS_X509_OU_SIZE -#define GNUTLS_X509_L_SIZE -#define GNUTLS_X509_S_SIZE -#define GNUTLS_X509_EMAIL_SIZE -#define OPENSSL_VERSION_NUMBER -#define SSLEAY_VERSION_NUMBER -#define OPENSSL_VERSION_TEXT -#define SSL_ERROR_NONE -#define SSL_ERROR_SSL -#define SSL_ERROR_WANT_READ -#define SSL_ERROR_WANT_WRITE -#define SSL_ERROR_SYSCALL -#define SSL_ERROR_ZERO_RETURN -#define SSL_FILETYPE_PEM -#define SSL_VERIFY_NONE -#define SSL_ST_OK -#define X509_V_ERR_CERT_NOT_YET_VALID -#define X509_V_ERR_CERT_HAS_EXPIRED -#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT -#define SSL_OP_ALL -#define SSL_OP_NO_TLSv1 -#define SSL_MODE_ENABLE_PARTIAL_WRITE -#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER -#define SSL_MODE_AUTO_RETRY -typedef X509_NAME; -typedef X509; - SSL; -#define current_cert -#define X509_STORE_CTX_get_current_cert (ctx) -int (*verify_callback) (..., - X509_STORE_CTX *Param2); -#define rbio - MD_CTX; -struct rsa_st; -typedef RSA; -#define MD5_CTX -#define RIPEMD160_CTX -#define OpenSSL_add_ssl_algorithms -#define SSLeay_add_ssl_algorithms -#define SSLeay_add_all_algorithms -#define SSL_get_cipher_name (ssl) -#define SSL_get_cipher (ssl) -#define SSL_get_cipher_bits (ssl, - bp) -#define SSL_get_cipher_version (ssl) -int SSL_library_init (void); -void OpenSSL_add_all_algorithms (void); -SSL_CTX * SSL_CTX_new (SSL_METHOD *method); -void SSL_CTX_free (SSL_CTX *ctx); -int SSL_CTX_set_default_verify_paths (SSL_CTX *ctx); -int SSL_CTX_use_certificate_file (SSL_CTX *ctx, - const char *certfile, - int type); -int SSL_CTX_use_PrivateKey_file (SSL_CTX *ctx, - const char *keyfile, - int type); -void SSL_CTX_set_verify (SSL_CTX *ctx, - int verify_mode, - int (verify_callbackint, X509_STORE_CTX *) ()); -unsigned long SSL_CTX_set_options (SSL_CTX *ctx, - unsigned long options); -long SSL_CTX_set_mode (SSL_CTX *ctx, - long mode Param2); -int SSL_CTX_set_cipher_list (SSL_CTX *ctx, - const char *list); -long SSL_CTX_sess_number (SSL_CTX *ctx); -long SSL_CTX_sess_connect (SSL_CTX *ctx); -long SSL_CTX_sess_connect_good (SSL_CTX *ctx); -long SSL_CTX_sess_connect_renegotiate (SSL_CTX *ctx); -long SSL_CTX_sess_accept (SSL_CTX *ctx); -long SSL_CTX_sess_accept_good (SSL_CTX *ctx); -long SSL_CTX_sess_accept_renegotiate (SSL_CTX *ctx); -long SSL_CTX_sess_hits (SSL_CTX *ctx); -long SSL_CTX_sess_misses (SSL_CTX *ctx); -long SSL_CTX_sess_timeouts (SSL_CTX *ctx); -SSL * SSL_new (SSL_CTX *ctx); -void SSL_free (SSL *ssl); -void SSL_load_error_strings (void); -int SSL_get_error (SSL *ssl, - int ret); -int SSL_set_fd (SSL *ssl, - int fd); -int SSL_set_rfd (SSL *ssl, - int fd); -int SSL_set_wfd (SSL *ssl, - int fd); -void SSL_set_bio (SSL *ssl, - BIO *rbio, - BIO *wbio); -void SSL_set_connect_state (SSL *ssl); -int SSL_pending (SSL *ssl); -void SSL_set_verify (SSL *ssl, - int verify_mode, - int (verify_callbackint, X509_STORE_CTX *) ()); -const X509 * SSL_get_peer_certificate (SSL *ssl); -int SSL_connect (SSL *ssl); -int SSL_accept (SSL *ssl); -int SSL_shutdown (SSL *ssl); -int SSL_read (SSL *ssl, - void *buf, - int len); -int SSL_write (SSL *ssl, - const void *buf, - int len); -int SSL_want (SSL *ssl); -#define SSL_NOTHING -#define SSL_WRITING -#define SSL_READING -#define SSL_X509_LOOKUP -#define SSL_want_nothing (s) -#define SSL_want_read (s) -#define SSL_want_write (s) -#define SSL_want_x509_lookup (s) -SSL_METHOD * SSLv23_client_method (void); -SSL_METHOD * SSLv23_server_method (void); -SSL_METHOD * SSLv3_client_method (void); -SSL_METHOD * SSLv3_server_method (void); -SSL_METHOD * TLSv1_client_method (void); -SSL_METHOD * TLSv1_server_method (void); -SSL_CIPHER * SSL_get_current_cipher (SSL *ssl); -const char * SSL_CIPHER_get_name (SSL_CIPHER *cipher); -int SSL_CIPHER_get_bits (SSL_CIPHER *cipher, - int *bits); -const char * SSL_CIPHER_get_version (SSL_CIPHER *cipher); -char * SSL_CIPHER_description (SSL_CIPHER *cipher, - char *buf, - int size); -X509_NAME * X509_get_subject_name (const X509 *cert); -X509_NAME * X509_get_issuer_name (const X509 *cert); -char * X509_NAME_oneline (gnutls_x509_dn *name, - char *buf, - int len); -void X509_free (const X509 *cert); -void BIO_get_fd (gnutls_session_t gnutls_state, - int *fd); -BIO * BIO_new_socket (int sock, - int close_flag); -unsigned long ERR_get_error (void); -const char * ERR_error_string (unsigned long e, - char *buf); -int RAND_status (void); -void RAND_seed (const void *buf, - int num); -int RAND_bytes (unsigned char *buf, - int num); -int RAND_pseudo_bytes (unsigned char *buf, - int num); -const char * RAND_file_name (char *buf, - size_t len); -int RAND_load_file (const char *name, - long maxbytes Param2); -int RAND_write_file (const char *name); -int RAND_egd_bytes (const char *path, - int bytes); -#define RAND_egd (p) -#define MD5_DIGEST_LENGTH -void MD5_Init (MD5_CTX *ctx); -void MD5_Update (MD5_CTX *ctx, - const void *buf, - int len); -void MD5_Final (unsigned char *md, - MD5_CTX *ctx); -unsigned char * MD5 (unsigned char *buf, - unsigned long len, - unsigned char *md); -void RIPEMD160_Init (RIPEMD160_CTX *ctx); -void RIPEMD160_Update (RIPEMD160_CTX *ctx, - const void *buf, - int len); -void RIPEMD160_Final (unsigned char *md, - RIPEMD160_CTX *ctx); -unsigned char * RIPEMD160 (unsigned char *buf, - unsigned long len, - unsigned char *md); - - - - -Description - - - - -Details - -GNUTLS_X509_CN_SIZE -GNUTLS_X509_CN_SIZE -#define GNUTLS_X509_CN_SIZE 256 - - - - -GNUTLS_X509_C_SIZE -GNUTLS_X509_C_SIZE -#define GNUTLS_X509_C_SIZE 3 - - - - -GNUTLS_X509_O_SIZE -GNUTLS_X509_O_SIZE -#define GNUTLS_X509_O_SIZE 256 - - - - -GNUTLS_X509_OU_SIZE -GNUTLS_X509_OU_SIZE -#define GNUTLS_X509_OU_SIZE 256 - - - - -GNUTLS_X509_L_SIZE -GNUTLS_X509_L_SIZE -#define GNUTLS_X509_L_SIZE 256 - - - - -GNUTLS_X509_S_SIZE -GNUTLS_X509_S_SIZE -#define GNUTLS_X509_S_SIZE 256 - - - - -GNUTLS_X509_EMAIL_SIZE -GNUTLS_X509_EMAIL_SIZE -#define GNUTLS_X509_EMAIL_SIZE 256 - - - - -OPENSSL_VERSION_NUMBER -OPENSSL_VERSION_NUMBER -#define OPENSSL_VERSION_NUMBER (0x0090604F) - - - - -SSLEAY_VERSION_NUMBER -SSLEAY_VERSION_NUMBER -#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER - - - - -OPENSSL_VERSION_TEXT -OPENSSL_VERSION_TEXT -#define OPENSSL_VERSION_TEXT ("GNUTLS " GNUTLS_VERSION " ") - - - - -SSL_ERROR_NONE -SSL_ERROR_NONE -#define SSL_ERROR_NONE (0) - - - - -SSL_ERROR_SSL -SSL_ERROR_SSL -#define SSL_ERROR_SSL (1) - - - - -SSL_ERROR_WANT_READ -SSL_ERROR_WANT_READ -#define SSL_ERROR_WANT_READ (2) - - - - -SSL_ERROR_WANT_WRITE -SSL_ERROR_WANT_WRITE -#define SSL_ERROR_WANT_WRITE (3) - - - - -SSL_ERROR_SYSCALL -SSL_ERROR_SYSCALL -#define SSL_ERROR_SYSCALL (5) - - - - -SSL_ERROR_ZERO_RETURN -SSL_ERROR_ZERO_RETURN -#define SSL_ERROR_ZERO_RETURN (6) - - - - -SSL_FILETYPE_PEM -SSL_FILETYPE_PEM -#define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM) - - - - -SSL_VERIFY_NONE -SSL_VERIFY_NONE -#define SSL_VERIFY_NONE (0) - - - - -SSL_ST_OK -SSL_ST_OK -#define SSL_ST_OK (1) - - - - -X509_V_ERR_CERT_NOT_YET_VALID -X509_V_ERR_CERT_NOT_YET_VALID -#define X509_V_ERR_CERT_NOT_YET_VALID (1) - - - - -X509_V_ERR_CERT_HAS_EXPIRED -X509_V_ERR_CERT_HAS_EXPIRED -#define X509_V_ERR_CERT_HAS_EXPIRED (2) - - - - -X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT -X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT -#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3) - - - - -SSL_OP_ALL -SSL_OP_ALL -#define SSL_OP_ALL (0x000FFFFF) - - - - -SSL_OP_NO_TLSv1 -SSL_OP_NO_TLSv1 -#define SSL_OP_NO_TLSv1 (0x0400000) - - - - -SSL_MODE_ENABLE_PARTIAL_WRITE -SSL_MODE_ENABLE_PARTIAL_WRITE -#define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1) - - - - -SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER -SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER -#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2) - - - - -SSL_MODE_AUTO_RETRY -SSL_MODE_AUTO_RETRY -#define SSL_MODE_AUTO_RETRY (0x4) - - - - -X509_NAME -X509_NAME - typedef gnutls_x509_dn X509_NAME; - - - - -X509 -X509 - typedef gnutls_datum_t X509; - - - - -SSL -SSL -typedef struct { - gnutls_session_t gnutls_state; - - gnutls_certificate_client_credentials gnutls_cred; - - SSL_CTX *ctx; - SSL_CIPHER ciphersuite; - - int last_error; - int shutdown; - int state; - unsigned long options; - - int (*verify_callback) (int, X509_STORE_CTX *); - int verify_mode; - - gnutls_transport_ptr_t rfd; - gnutls_transport_ptr_t wfd; -} SSL; - - - - -current_cert -current_cert -#define current_cert cert_list - - - - -X509_STORE_CTX_get_current_cert() -X509_STORE_CTX_get_current_cert -#define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert) - - - -ctx : - - - - -verify_callback () -verify_callback -int (*verify_callback) (..., - X509_STORE_CTX *Param2); - - -... : - - -Param2 : - - -Returns : - - - -rbio -rbio -#define rbio gnutls_state - - - - -MD_CTX -MD_CTX -typedef struct { - void* handle; -} MD_CTX; - - - - -struct rsa_st -rsa_st -struct rsa_st; - - - -RSA -RSA - typedef struct rsa_st RSA; - - - - -MD5_CTX -MD5_CTX -#define MD5_CTX MD_CTX - - - - -RIPEMD160_CTX -RIPEMD160_CTX -#define RIPEMD160_CTX MD_CTX - - - - -OpenSSL_add_ssl_algorithms -OpenSSL_add_ssl_algorithms -#define OpenSSL_add_ssl_algorithms() SSL_library_init() - - - - -SSLeay_add_ssl_algorithms -SSLeay_add_ssl_algorithms -#define SSLeay_add_ssl_algorithms() SSL_library_init() - - - - -SSLeay_add_all_algorithms -SSLeay_add_all_algorithms -#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() - - - - -SSL_get_cipher_name() -SSL_get_cipher_name -#define SSL_get_cipher_name(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl)) - - - -ssl : - - - - -SSL_get_cipher() -SSL_get_cipher -#define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl) - - - -ssl : - - - - -SSL_get_cipher_bits() -SSL_get_cipher_bits -#define SSL_get_cipher_bits(ssl,bp) SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl),(bp)) - - - -ssl : - - -bp : - - - - -SSL_get_cipher_version() -SSL_get_cipher_version -#define SSL_get_cipher_version(ssl) SSL_CIPHER_get_version(SSL_get_current_cipher(ssl)) - - - -ssl : - - - - -SSL_library_init () -SSL_library_init -int SSL_library_init (void); - - -Returns : - - - -OpenSSL_add_all_algorithms () -OpenSSL_add_all_algorithms -void OpenSSL_add_all_algorithms (void); - - - -SSL_CTX_new () -SSL_CTX_new -SSL_CTX * SSL_CTX_new (SSL_METHOD *method); - - -method : - - -Returns : - - - -SSL_CTX_free () -SSL_CTX_free -void SSL_CTX_free (SSL_CTX *ctx); - - -ctx : - - - - -SSL_CTX_set_default_verify_paths () -SSL_CTX_set_default_verify_paths -int SSL_CTX_set_default_verify_paths (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_use_certificate_file () -SSL_CTX_use_certificate_file -int SSL_CTX_use_certificate_file (SSL_CTX *ctx, - const char *certfile, - int type); - - -ctx : - - -certfile : - - -type : - - -Returns : - - - -SSL_CTX_use_PrivateKey_file () -SSL_CTX_use_PrivateKey_file -int SSL_CTX_use_PrivateKey_file (SSL_CTX *ctx, - const char *keyfile, - int type); - - -ctx : - - -keyfile : - - -type : - - -Returns : - - - -SSL_CTX_set_verify () -SSL_CTX_set_verify -void SSL_CTX_set_verify (SSL_CTX *ctx, - int verify_mode, - int (verify_callbackint, X509_STORE_CTX *) ()); - - -ctx : - - -verify_mode : - -int, X509_STORE_CTX *: - - - -SSL_CTX_set_options () -SSL_CTX_set_options -unsigned long SSL_CTX_set_options (SSL_CTX *ctx, - unsigned long options); - - -ctx : - - -options : - - -Returns : - - - -SSL_CTX_set_mode () -SSL_CTX_set_mode -long SSL_CTX_set_mode (SSL_CTX *ctx, - long mode Param2); - - -ctx : - - -Param2 : - - -Returns : - - - -SSL_CTX_set_cipher_list () -SSL_CTX_set_cipher_list -int SSL_CTX_set_cipher_list (SSL_CTX *ctx, - const char *list); - - -ctx : - - -list : - - -Returns : - - - -SSL_CTX_sess_number () -SSL_CTX_sess_number -long SSL_CTX_sess_number (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_connect () -SSL_CTX_sess_connect -long SSL_CTX_sess_connect (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_connect_good () -SSL_CTX_sess_connect_good -long SSL_CTX_sess_connect_good (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_connect_renegotiate () -SSL_CTX_sess_connect_renegotiate -long SSL_CTX_sess_connect_renegotiate (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_accept () -SSL_CTX_sess_accept -long SSL_CTX_sess_accept (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_accept_good () -SSL_CTX_sess_accept_good -long SSL_CTX_sess_accept_good (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_accept_renegotiate () -SSL_CTX_sess_accept_renegotiate -long SSL_CTX_sess_accept_renegotiate (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_hits () -SSL_CTX_sess_hits -long SSL_CTX_sess_hits (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_misses () -SSL_CTX_sess_misses -long SSL_CTX_sess_misses (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_CTX_sess_timeouts () -SSL_CTX_sess_timeouts -long SSL_CTX_sess_timeouts (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_new () -SSL_new -SSL * SSL_new (SSL_CTX *ctx); - - -ctx : - - -Returns : - - - -SSL_free () -SSL_free -void SSL_free (SSL *ssl); - - -ssl : - - - - -SSL_load_error_strings () -SSL_load_error_strings -void SSL_load_error_strings (void); - - - -SSL_get_error () -SSL_get_error -int SSL_get_error (SSL *ssl, - int ret); - - -ssl : - - -ret : - - -Returns : - - - -SSL_set_fd () -SSL_set_fd -int SSL_set_fd (SSL *ssl, - int fd); - - -ssl : - - -fd : - - -Returns : - - - -SSL_set_rfd () -SSL_set_rfd -int SSL_set_rfd (SSL *ssl, - int fd); - - -ssl : - - -fd : - - -Returns : - - - -SSL_set_wfd () -SSL_set_wfd -int SSL_set_wfd (SSL *ssl, - int fd); - - -ssl : - - -fd : - - -Returns : - - - -SSL_set_bio () -SSL_set_bio -void SSL_set_bio (SSL *ssl, - BIO *rbio, - BIO *wbio); - - -ssl : - - -rbio : - - -wbio : - - - - -SSL_set_connect_state () -SSL_set_connect_state -void SSL_set_connect_state (SSL *ssl); - - -ssl : - - - - -SSL_pending () -SSL_pending -int SSL_pending (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_set_verify () -SSL_set_verify -void SSL_set_verify (SSL *ssl, - int verify_mode, - int (verify_callbackint, X509_STORE_CTX *) ()); - - -ssl : - - -verify_mode : - -int, X509_STORE_CTX *: - - - -SSL_get_peer_certificate () -SSL_get_peer_certificate -const X509 * SSL_get_peer_certificate (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_connect () -SSL_connect -int SSL_connect (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_accept () -SSL_accept -int SSL_accept (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_shutdown () -SSL_shutdown -int SSL_shutdown (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_read () -SSL_read -int SSL_read (SSL *ssl, - void *buf, - int len); - - -ssl : - - -buf : - - -len : - - -Returns : - - - -SSL_write () -SSL_write -int SSL_write (SSL *ssl, - const void *buf, - int len); - - -ssl : - - -buf : - - -len : - - -Returns : - - - -SSL_want () -SSL_want -int SSL_want (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_NOTHING -SSL_NOTHING -#define SSL_NOTHING (1) - - - - -SSL_WRITING -SSL_WRITING -#define SSL_WRITING (2) - - - - -SSL_READING -SSL_READING -#define SSL_READING (3) - - - - -SSL_X509_LOOKUP -SSL_X509_LOOKUP -#define SSL_X509_LOOKUP (4) - - - - -SSL_want_nothing() -SSL_want_nothing -#define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) - - - -s : - - - - -SSL_want_read() -SSL_want_read -#define SSL_want_read(s) (SSL_want(s) == SSL_READING) - - - -s : - - - - -SSL_want_write() -SSL_want_write -#define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) - - - -s : - - - - -SSL_want_x509_lookup() -SSL_want_x509_lookup -#define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) - - - -s : - - - - -SSLv23_client_method () -SSLv23_client_method -SSL_METHOD * SSLv23_client_method (void); - - -Returns : - - - -SSLv23_server_method () -SSLv23_server_method -SSL_METHOD * SSLv23_server_method (void); - - -Returns : - - - -SSLv3_client_method () -SSLv3_client_method -SSL_METHOD * SSLv3_client_method (void); - - -Returns : - - - -SSLv3_server_method () -SSLv3_server_method -SSL_METHOD * SSLv3_server_method (void); - - -Returns : - - - -TLSv1_client_method () -TLSv1_client_method -SSL_METHOD * TLSv1_client_method (void); - - -Returns : - - - -TLSv1_server_method () -TLSv1_server_method -SSL_METHOD * TLSv1_server_method (void); - - -Returns : - - - -SSL_get_current_cipher () -SSL_get_current_cipher -SSL_CIPHER * SSL_get_current_cipher (SSL *ssl); - - -ssl : - - -Returns : - - - -SSL_CIPHER_get_name () -SSL_CIPHER_get_name -const char * SSL_CIPHER_get_name (SSL_CIPHER *cipher); - - -cipher : - - -Returns : - - - -SSL_CIPHER_get_bits () -SSL_CIPHER_get_bits -int SSL_CIPHER_get_bits (SSL_CIPHER *cipher, - int *bits); - - -cipher : - - -bits : - - -Returns : - - - -SSL_CIPHER_get_version () -SSL_CIPHER_get_version -const char * SSL_CIPHER_get_version (SSL_CIPHER *cipher); - - -cipher : - - -Returns : - - - -SSL_CIPHER_description () -SSL_CIPHER_description -char * SSL_CIPHER_description (SSL_CIPHER *cipher, - char *buf, - int size); - - -cipher : - - -buf : - - -size : - - -Returns : - - - -X509_get_subject_name () -X509_get_subject_name -X509_NAME * X509_get_subject_name (const X509 *cert); - - -cert : - - -Returns : - - - -X509_get_issuer_name () -X509_get_issuer_name -X509_NAME * X509_get_issuer_name (const X509 *cert); - - -cert : - - -Returns : - - - -X509_NAME_oneline () -X509_NAME_oneline -char * X509_NAME_oneline (gnutls_x509_dn *name, - char *buf, - int len); - - -name : - - -buf : - - -len : - - -Returns : - - - -X509_free () -X509_free -void X509_free (const X509 *cert); - - -cert : - - - - -BIO_get_fd () -BIO_get_fd -void BIO_get_fd (gnutls_session_t gnutls_state, - int *fd); - - -gnutls_state : - - -fd : - - - - -BIO_new_socket () -BIO_new_socket -BIO * BIO_new_socket (int sock, - int close_flag); - - -sock : - - -close_flag : - - -Returns : - - - -ERR_get_error () -ERR_get_error -unsigned long ERR_get_error (void); - - -Returns : - - - -ERR_error_string () -ERR_error_string -const char * ERR_error_string (unsigned long e, - char *buf); - - -e : - - -buf : - - -Returns : - - - -RAND_status () -RAND_status -int RAND_status (void); - - -Returns : - - - -RAND_seed () -RAND_seed -void RAND_seed (const void *buf, - int num); - - -buf : - - -num : - - - - -RAND_bytes () -RAND_bytes -int RAND_bytes (unsigned char *buf, - int num); - - -buf : - - -num : - - -Returns : - - - -RAND_pseudo_bytes () -RAND_pseudo_bytes -int RAND_pseudo_bytes (unsigned char *buf, - int num); - - -buf : - - -num : - - -Returns : - - - -RAND_file_name () -RAND_file_name -const char * RAND_file_name (char *buf, - size_t len); - - -buf : - - -len : - - -Returns : - - - -RAND_load_file () -RAND_load_file -int RAND_load_file (const char *name, - long maxbytes Param2); - - -name : - - -Param2 : - - -Returns : - - - -RAND_write_file () -RAND_write_file -int RAND_write_file (const char *name); - - -name : - - -Returns : - - - -RAND_egd_bytes () -RAND_egd_bytes -int RAND_egd_bytes (const char *path, - int bytes); - - -path : - - -bytes : - - -Returns : - - - -RAND_egd() -RAND_egd -#define RAND_egd(p) RAND_egd_bytes((p), 255) - - - -p : - - - - -MD5_DIGEST_LENGTH -MD5_DIGEST_LENGTH -#define MD5_DIGEST_LENGTH 16 - - - - -MD5_Init () -MD5_Init -void MD5_Init (MD5_CTX *ctx); - - -ctx : - - - - -MD5_Update () -MD5_Update -void MD5_Update (MD5_CTX *ctx, - const void *buf, - int len); - - -ctx : - - -buf : - - -len : - - - - -MD5_Final () -MD5_Final -void MD5_Final (unsigned char *md, - MD5_CTX *ctx); - - -md : - - -ctx : - - - - -MD5 () -MD5 -unsigned char * MD5 (unsigned char *buf, - unsigned long len, - unsigned char *md); - - -buf : - - -len : - - -md : - - -Returns : - - - -RIPEMD160_Init () -RIPEMD160_Init -void RIPEMD160_Init (RIPEMD160_CTX *ctx); - - -ctx : - - - - -RIPEMD160_Update () -RIPEMD160_Update -void RIPEMD160_Update (RIPEMD160_CTX *ctx, - const void *buf, - int len); - - -ctx : - - -buf : - - -len : - - - - -RIPEMD160_Final () -RIPEMD160_Final -void RIPEMD160_Final (unsigned char *md, - RIPEMD160_CTX *ctx); - - -md : - - -ctx : - - - - -RIPEMD160 () -RIPEMD160 -unsigned char * RIPEMD160 (unsigned char *buf, - unsigned long len, - unsigned char *md); - - -buf : - - -len : - - -md : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/pkcs12.xml gnutls26-2.4.1/doc/reference/xml/pkcs12.xml --- gnutls26-2.8.6/doc/reference/xml/pkcs12.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/pkcs12.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,508 +0,0 @@ - - - - -pkcs12 -3 - - GNUTLS Library - - - -pkcs12 - - - - -Synopsis - -struct gnutls_pkcs12_int; -typedef gnutls_pkcs12_t; -struct gnutls_pkcs12_bag_int; -typedef gnutls_pkcs12_bag_t; -int gnutls_pkcs12_init (gnutls_pkcs12_t *pkcs12); -void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12); -int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - unsigned int flags); -int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, - int indx, - gnutls_pkcs12_bag_t bag); -int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, - gnutls_pkcs12_bag_t bag); -int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, - const char *pass); -int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, - const char *pass); -int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, - const char *pass); -int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, - const char *pass, - unsigned int flags); -enum gnutls_pkcs12_bag_type_t; -gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, - int indx); -int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, - int indx, - gnutls_datum_t *data); -int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, - gnutls_pkcs12_bag_type_t type, - const gnutls_datum_t *data); -int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, - gnutls_x509_crl_t crl); -int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, - gnutls_x509_crt_t crt); -int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t *bag); -void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag); -int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag); -int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, - int indx, - gnutls_datum_t *id); -int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, - int indx, - const gnutls_datum_t *id); -int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, - int indx, - char **name); -int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, - int indx, - const char *name); - - - - -Description - - - - -Details - -struct gnutls_pkcs12_int -gnutls_pkcs12_int -struct gnutls_pkcs12_int; - - - -gnutls_pkcs12_t -gnutls_pkcs12_t - typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t; - - - - -struct gnutls_pkcs12_bag_int -gnutls_pkcs12_bag_int -struct gnutls_pkcs12_bag_int; - - - -gnutls_pkcs12_bag_t -gnutls_pkcs12_bag_t - typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t; - - - - -gnutls_pkcs12_init () -gnutls_pkcs12_init -int gnutls_pkcs12_init (gnutls_pkcs12_t *pkcs12); - - -pkcs12 : - - -Returns : - - - -gnutls_pkcs12_deinit () -gnutls_pkcs12_deinit -void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12); - - -pkcs12 : - - - - -gnutls_pkcs12_import () -gnutls_pkcs12_import -int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - unsigned int flags); - - -pkcs12 : - - -data : - - -format : - - -flags : - - -Returns : - - - -gnutls_pkcs12_export () -gnutls_pkcs12_export -int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -pkcs12 : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_pkcs12_get_bag () -gnutls_pkcs12_get_bag -int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, - int indx, - gnutls_pkcs12_bag_t bag); - - -pkcs12 : - - -indx : - - -bag : - - -Returns : - - - -gnutls_pkcs12_set_bag () -gnutls_pkcs12_set_bag -int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, - gnutls_pkcs12_bag_t bag); - - -pkcs12 : - - -bag : - - -Returns : - - - -gnutls_pkcs12_generate_mac () -gnutls_pkcs12_generate_mac -int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, - const char *pass); - - -pkcs12 : - - -pass : - - -Returns : - - - -gnutls_pkcs12_verify_mac () -gnutls_pkcs12_verify_mac -int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, - const char *pass); - - -pkcs12 : - - -pass : - - -Returns : - - - -gnutls_pkcs12_bag_decrypt () -gnutls_pkcs12_bag_decrypt -int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, - const char *pass); - - -bag : - - -pass : - - -Returns : - - - -gnutls_pkcs12_bag_encrypt () -gnutls_pkcs12_bag_encrypt -int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, - const char *pass, - unsigned int flags); - - -bag : - - -pass : - - -flags : - - -Returns : - - - -enum gnutls_pkcs12_bag_type_t -gnutls_pkcs12_bag_type_t - typedef enum gnutls_pkcs12_bag_type_t - { - GNUTLS_BAG_EMPTY = 0, - - GNUTLS_BAG_PKCS8_ENCRYPTED_KEY = 1, - GNUTLS_BAG_PKCS8_KEY, - GNUTLS_BAG_CERTIFICATE, - GNUTLS_BAG_CRL, - GNUTLS_BAG_ENCRYPTED = 10, - GNUTLS_BAG_UNKNOWN = 20 - } gnutls_pkcs12_bag_type_t; - - - - -gnutls_pkcs12_bag_get_type () -gnutls_pkcs12_bag_get_type -gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, - int indx); - - -bag : - - -indx : - - -Returns : - - - -gnutls_pkcs12_bag_get_data () -gnutls_pkcs12_bag_get_data -int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, - int indx, - gnutls_datum_t *data); - - -bag : - - -indx : - - -data : - - -Returns : - - - -gnutls_pkcs12_bag_set_data () -gnutls_pkcs12_bag_set_data -int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, - gnutls_pkcs12_bag_type_t type, - const gnutls_datum_t *data); - - -bag : - - -type : - - -data : - - -Returns : - - - -gnutls_pkcs12_bag_set_crl () -gnutls_pkcs12_bag_set_crl -int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, - gnutls_x509_crl_t crl); - - -bag : - - -crl : - - -Returns : - - - -gnutls_pkcs12_bag_set_crt () -gnutls_pkcs12_bag_set_crt -int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, - gnutls_x509_crt_t crt); - - -bag : - - -crt : - - -Returns : - - - -gnutls_pkcs12_bag_init () -gnutls_pkcs12_bag_init -int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t *bag); - - -bag : - - -Returns : - - - -gnutls_pkcs12_bag_deinit () -gnutls_pkcs12_bag_deinit -void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag); - - -bag : - - - - -gnutls_pkcs12_bag_get_count () -gnutls_pkcs12_bag_get_count -int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag); - - -bag : - - -Returns : - - - -gnutls_pkcs12_bag_get_key_id () -gnutls_pkcs12_bag_get_key_id -int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, - int indx, - gnutls_datum_t *id); - - -bag : - - -indx : - - -id : - - -Returns : - - - -gnutls_pkcs12_bag_set_key_id () -gnutls_pkcs12_bag_set_key_id -int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, - int indx, - const gnutls_datum_t *id); - - -bag : - - -indx : - - -id : - - -Returns : - - - -gnutls_pkcs12_bag_get_friendly_name () -gnutls_pkcs12_bag_get_friendly_name -int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, - int indx, - char **name); - - -bag : - - -indx : - - -name : - - -Returns : - - - -gnutls_pkcs12_bag_set_friendly_name () -gnutls_pkcs12_bag_set_friendly_name -int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, - int indx, - const char *name); - - -bag : - - -indx : - - -name : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/random.xml gnutls26-2.4.1/doc/reference/xml/random.xml --- gnutls26-2.8.6/doc/reference/xml/random.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/random.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ - - - - -random -3 - - GNUTLS Library - - - -random - - - - -Synopsis - -extern int crypto_rnd_prio; - - - - -Description - - - - -Details - -crypto_rnd_prio -crypto_rnd_prio -extern int crypto_rnd_prio; - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/stat.xml gnutls26-2.4.1/doc/reference/xml/stat.xml --- gnutls26-2.8.6/doc/reference/xml/stat.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/stat.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,534 +0,0 @@ - - - - -stat -3 - - GNUTLS Library - - - -stat - - - - -Synopsis - -#define GL_LINK_WARNING (message) -#define GL_LINK_WARNING1 (file, - line, - message) -#define GL_LINK_WARNING2 (file, - line, - message) -#define GL_LINK_WARNING3 (message) -#define S_IFMT -#define S_ISBLK (m) -#define S_ISCHR (m) -#define S_ISDIR (m) -#define S_ISDOOR (m) -#define S_ISFIFO (m) -#define S_ISLNK (m) -#define S_ISMPB (m) -#define S_ISMPC (m) -#define S_ISNAM (m) -#define S_ISNWK (m) -#define S_ISPORT (m) -#define S_ISREG (m) -#define S_ISSOCK (m) -#define S_TYPEISMQ (p) -#define S_TYPEISTMO (p) -#define S_TYPEISSEM (p) -#define S_TYPEISSHM (p) -#define S_ISCTG (p) -#define S_ISOFD (p) -#define S_ISOFL (p) -#define S_ISWHT (m) -#define S_ISUID -#define S_ISGID -#define S_ISVTX -#define S_IRUSR -#define S_IRGRP -#define S_IROTH -#define S_IWUSR -#define S_IWGRP -#define S_IWOTH -#define S_IXUSR -#define S_IXGRP -#define S_IXOTH -#define S_IRWXU -#define S_IRWXG -#define S_IRWXO -#define S_IXUGO -#define S_IRWXUGO -#define lstat -int rpl_lstat (const char *name, - struct stat *buf); -int mkdir (char const *name, - mode_t mode); -int lchmod (const char *filename, - mode_t mode); - - - - -Description - - - - -Details - -GL_LINK_WARNING() -GL_LINK_WARNING -#define GL_LINK_WARNING(message) - - -message : - - - - -GL_LINK_WARNING1() -GL_LINK_WARNING1 -#define GL_LINK_WARNING1(file, line, message) - - -file : - - -line : - - -message : - - - - -GL_LINK_WARNING2() -GL_LINK_WARNING2 -#define GL_LINK_WARNING2(file, line, message) - - -file : - - -line : - - -message : - - - - -GL_LINK_WARNING3() -GL_LINK_WARNING3 -#define GL_LINK_WARNING3(message) - - -message : - - - - -S_IFMT -S_IFMT -# define S_IFMT 0170000 - - - - -S_ISBLK() -S_ISBLK -#define S_ISBLK(m) - - -m : - - - - -S_ISCHR() -S_ISCHR -#define S_ISCHR(m) - - -m : - - - - -S_ISDIR() -S_ISDIR -#define S_ISDIR(m) - - -m : - - - - -S_ISDOOR() -S_ISDOOR -# define S_ISDOOR(m) 0 - - - -m : - - - - -S_ISFIFO() -S_ISFIFO -#define S_ISFIFO(m) - - -m : - - - - -S_ISLNK() -S_ISLNK -#define S_ISLNK(m) - - -m : - - - - -S_ISMPB() -S_ISMPB -#define S_ISMPB(m) - - -m : - - - - -S_ISMPC() -S_ISMPC -#define S_ISMPC(m) - - -m : - - - - -S_ISNAM() -S_ISNAM -#define S_ISNAM(m) - - -m : - - - - -S_ISNWK() -S_ISNWK -#define S_ISNWK(m) - - -m : - - - - -S_ISPORT() -S_ISPORT -# define S_ISPORT(m) 0 - - - -m : - - - - -S_ISREG() -S_ISREG -#define S_ISREG(m) - - -m : - - - - -S_ISSOCK() -S_ISSOCK -#define S_ISSOCK(m) - - -m : - - - - -S_TYPEISMQ() -S_TYPEISMQ -# define S_TYPEISMQ(p) 0 - - - -p : - - - - -S_TYPEISTMO() -S_TYPEISTMO -# define S_TYPEISTMO(p) 0 - - - -p : - - - - -S_TYPEISSEM() -S_TYPEISSEM -#define S_TYPEISSEM(p) - - -p : - - - - -S_TYPEISSHM() -S_TYPEISSHM -#define S_TYPEISSHM(p) - - -p : - - - - -S_ISCTG() -S_ISCTG -# define S_ISCTG(p) 0 - - - -p : - - - - -S_ISOFD() -S_ISOFD -# define S_ISOFD(p) 0 - - - -p : - - - - -S_ISOFL() -S_ISOFL -# define S_ISOFL(p) 0 - - - -p : - - - - -S_ISWHT() -S_ISWHT -# define S_ISWHT(m) 0 - - - -m : - - - - -S_ISUID -S_ISUID -# define S_ISUID 04000 - - - - -S_ISGID -S_ISGID -# define S_ISGID 02000 - - - - -S_ISVTX -S_ISVTX -# define S_ISVTX 01000 - - - - -S_IRUSR -S_IRUSR -#define S_IRUSR - - - -S_IRGRP -S_IRGRP -# define S_IRGRP (S_IRUSR >> 3) - - - - -S_IROTH -S_IROTH -# define S_IROTH (S_IRUSR >> 6) - - - - -S_IWUSR -S_IWUSR -#define S_IWUSR - - - -S_IWGRP -S_IWGRP -# define S_IWGRP (S_IWUSR >> 3) - - - - -S_IWOTH -S_IWOTH -# define S_IWOTH (S_IWUSR >> 6) - - - - -S_IXUSR -S_IXUSR -#define S_IXUSR - - - -S_IXGRP -S_IXGRP -# define S_IXGRP (S_IXUSR >> 3) - - - - -S_IXOTH -S_IXOTH -# define S_IXOTH (S_IXUSR >> 6) - - - - -S_IRWXU -S_IRWXU -# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) - - - - -S_IRWXG -S_IRWXG -# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) - - - - -S_IRWXO -S_IRWXO -# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) - - - - -S_IXUGO -S_IXUGO -# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) - - - - -S_IRWXUGO -S_IRWXUGO -# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) - - - - -lstat -lstat -#define lstat - - - -rpl_lstat () -rpl_lstat -int rpl_lstat (const char *name, - struct stat *buf); - - -name : - - -buf : - - -Returns : - - - -mkdir () -mkdir -int mkdir (char const *name, - mode_t mode); - - -name : - - -mode : - - -Returns : - - - -lchmod () -lchmod -int lchmod (const char *filename, - mode_t mode); - - -filename : - - -mode : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/verify.xml gnutls26-2.4.1/doc/reference/xml/verify.xml --- gnutls26-2.8.6/doc/reference/xml/verify.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/verify.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,67 +0,0 @@ - - - - -verify -3 - - GNUTLS Library - - - -verify - - - - -Synopsis - -#define verify_true (R) -int (*verify) (gnutls_pk_algorithm_t Param1, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); - - - - -Description - - - - -Details - -verify_true() -verify_true -#define verify_true(R) - - -R : - - - - -verify () -verify -int (*verify) (gnutls_pk_algorithm_t Param1, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); - - -Param1 : - - -data : - - -signature : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/w32sock.xml gnutls26-2.4.1/doc/reference/xml/w32sock.xml --- gnutls26-2.8.6/doc/reference/xml/w32sock.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/w32sock.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,57 +0,0 @@ - - - - -w32sock -3 - - GNUTLS Library - - - -w32sock - - - - -Synopsis - -#define FD_TO_SOCKET (fd) -#define SOCKET_TO_FD (fh) - - - - -Description - - - - -Details - -FD_TO_SOCKET() -FD_TO_SOCKET -#define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) - - - -fd : - - - - -SOCKET_TO_FD() -SOCKET_TO_FD -#define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) - - - -fh : - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/x509_int.xml gnutls26-2.4.1/doc/reference/xml/x509_int.xml --- gnutls26-2.8.6/doc/reference/xml/x509_int.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/x509_int.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,335 +0,0 @@ - - - - -x509_int -3 - - GNUTLS Library - - - -x509_int - - - - -Synopsis - -#define ASN1_MAX_NAME_SIZE -#define ASN1_MAX_ERROR_DESCRIPTION_SIZE -#define MAX_CRQ_EXTENSIONS_SIZE -#define MAX_OID_SIZE -#define HASH_OID_SHA1 -#define HASH_OID_MD5 -#define HASH_OID_MD2 -#define HASH_OID_RMD160 -#define HASH_OID_SHA256 -#define HASH_OID_SHA384 -#define HASH_OID_SHA512 -#define MAX_PRIV_PARAMS_SIZE -#define DSA_PRIVATE_PARAMS -#define DSA_PUBLIC_PARAMS -#define RSA_PRIVATE_PARAMS -#define RSA_PUBLIC_PARAMS -#define OID_X520_COUNTRY_NAME -#define OID_X520_ORGANIZATION_NAME -#define OID_X520_ORGANIZATIONAL_UNIT_NAME -#define OID_X520_COMMON_NAME -#define OID_X520_LOCALITY_NAME -#define OID_X520_STATE_OR_PROVINCE_NAME -#define OID_LDAP_DC -#define OID_LDAP_UID -#define OID_PKCS9_EMAIL -int gnutls_x509_crt_is_issuer (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer); -#define MAX_BAG_ELEMENTS -#define BAG_PKCS8_KEY -#define BAG_PKCS8_ENCRYPTED_KEY -#define BAG_CERTIFICATE -#define BAG_CRL -#define DATA_OID -#define ENC_DATA_OID -#define FRIENDLY_NAME_OID -#define KEY_ID_OID -enum schema_id; - - - - -Description - - - - -Details - -ASN1_MAX_NAME_SIZE -ASN1_MAX_NAME_SIZE -#define ASN1_MAX_NAME_SIZE - - - -ASN1_MAX_ERROR_DESCRIPTION_SIZE -ASN1_MAX_ERROR_DESCRIPTION_SIZE -#define ASN1_MAX_ERROR_DESCRIPTION_SIZE - - - -MAX_CRQ_EXTENSIONS_SIZE -MAX_CRQ_EXTENSIONS_SIZE -#define MAX_CRQ_EXTENSIONS_SIZE 8*1024 - - - - -MAX_OID_SIZE -MAX_OID_SIZE -#define MAX_OID_SIZE 128 - - - - -HASH_OID_SHA1 -HASH_OID_SHA1 -#define HASH_OID_SHA1 "1.3.14.3.2.26" - - - - -HASH_OID_MD5 -HASH_OID_MD5 -#define HASH_OID_MD5 "1.2.840.113549.2.5" - - - - -HASH_OID_MD2 -HASH_OID_MD2 -#define HASH_OID_MD2 "1.2.840.113549.2.2" - - - - -HASH_OID_RMD160 -HASH_OID_RMD160 -#define HASH_OID_RMD160 "1.3.36.3.2.1" - - - - -HASH_OID_SHA256 -HASH_OID_SHA256 -#define HASH_OID_SHA256 "2.16.840.1.101.3.4.2.1" - - - - -HASH_OID_SHA384 -HASH_OID_SHA384 -#define HASH_OID_SHA384 "2.16.840.1.101.3.4.2.2" - - - - -HASH_OID_SHA512 -HASH_OID_SHA512 -#define HASH_OID_SHA512 "2.16.840.1.101.3.4.2.3" - - - - -MAX_PRIV_PARAMS_SIZE -MAX_PRIV_PARAMS_SIZE -#define MAX_PRIV_PARAMS_SIZE GNUTLS_MAX_PK_PARAMS /* ok for RSA and DSA */ - - - - -DSA_PRIVATE_PARAMS -DSA_PRIVATE_PARAMS -#define DSA_PRIVATE_PARAMS 5 - - - - -DSA_PUBLIC_PARAMS -DSA_PUBLIC_PARAMS -#define DSA_PUBLIC_PARAMS 4 - - - - -RSA_PRIVATE_PARAMS -RSA_PRIVATE_PARAMS -#define RSA_PRIVATE_PARAMS 6 - - - - -RSA_PUBLIC_PARAMS -RSA_PUBLIC_PARAMS -#define RSA_PUBLIC_PARAMS 2 - - - - -OID_X520_COUNTRY_NAME -OID_X520_COUNTRY_NAME -#define OID_X520_COUNTRY_NAME "2.5.4.6" - - - - -OID_X520_ORGANIZATION_NAME -OID_X520_ORGANIZATION_NAME -#define OID_X520_ORGANIZATION_NAME "2.5.4.10" - - - - -OID_X520_ORGANIZATIONAL_UNIT_NAME -OID_X520_ORGANIZATIONAL_UNIT_NAME -#define OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" - - - - -OID_X520_COMMON_NAME -OID_X520_COMMON_NAME -#define OID_X520_COMMON_NAME "2.5.4.3" - - - - -OID_X520_LOCALITY_NAME -OID_X520_LOCALITY_NAME -#define OID_X520_LOCALITY_NAME "2.5.4.7" - - - - -OID_X520_STATE_OR_PROVINCE_NAME -OID_X520_STATE_OR_PROVINCE_NAME -#define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" - - - - -OID_LDAP_DC -OID_LDAP_DC -#define OID_LDAP_DC "0.9.2342.19200300.100.1.25" - - - - -OID_LDAP_UID -OID_LDAP_UID -#define OID_LDAP_UID "0.9.2342.19200300.100.1.1" - - - - -OID_PKCS9_EMAIL -OID_PKCS9_EMAIL -#define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" - - - - -gnutls_x509_crt_is_issuer () -gnutls_x509_crt_is_issuer -int gnutls_x509_crt_is_issuer (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer); - - -cert : - - -issuer : - - -Returns : - - - -MAX_BAG_ELEMENTS -MAX_BAG_ELEMENTS -#define MAX_BAG_ELEMENTS 32 - - - - -BAG_PKCS8_KEY -BAG_PKCS8_KEY -#define BAG_PKCS8_KEY "1.2.840.113549.1.12.10.1.1" - - - - -BAG_PKCS8_ENCRYPTED_KEY -BAG_PKCS8_ENCRYPTED_KEY -#define BAG_PKCS8_ENCRYPTED_KEY "1.2.840.113549.1.12.10.1.2" - - - - -BAG_CERTIFICATE -BAG_CERTIFICATE -#define BAG_CERTIFICATE "1.2.840.113549.1.12.10.1.3" - - - - -BAG_CRL -BAG_CRL -#define BAG_CRL "1.2.840.113549.1.12.10.1.4" - - - - -DATA_OID -DATA_OID -#define DATA_OID "1.2.840.113549.1.7.1" - - - - -ENC_DATA_OID -ENC_DATA_OID -#define ENC_DATA_OID "1.2.840.113549.1.7.6" - - - - -FRIENDLY_NAME_OID -FRIENDLY_NAME_OID -#define FRIENDLY_NAME_OID "1.2.840.113549.1.9.20" - - - - -KEY_ID_OID -KEY_ID_OID -#define KEY_ID_OID "1.2.840.113549.1.9.21" - - - - -enum schema_id -schema_id -typedef enum schema_id - { - PBES2, /* the stuff in PKCS #5 */ - PKCS12_3DES_SHA1, /* the stuff in PKCS #12 */ - PKCS12_ARCFOUR_SHA1, - PKCS12_RC2_40_SHA1 - } schema_id; - - - - - - - diff -Nru gnutls26-2.8.6/doc/reference/xml/x509.xml gnutls26-2.4.1/doc/reference/xml/x509.xml --- gnutls26-2.8.6/doc/reference/xml/x509.xml 2010-03-15 12:50:22.000000000 +0000 +++ gnutls26-2.4.1/doc/reference/xml/x509.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,5066 +0,0 @@ - - - - -x509 -3 - - GNUTLS Library - - - -x509 - - - - -Synopsis - -#define GNUTLS_OID_X520_COUNTRY_NAME -#define GNUTLS_OID_X520_ORGANIZATION_NAME -#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME -#define GNUTLS_OID_X520_COMMON_NAME -#define GNUTLS_OID_X520_LOCALITY_NAME -#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME -#define GNUTLS_OID_X520_INITIALS -#define GNUTLS_OID_X520_GENERATION_QUALIFIER -#define GNUTLS_OID_X520_SURNAME -#define GNUTLS_OID_X520_GIVEN_NAME -#define GNUTLS_OID_X520_TITLE -#define GNUTLS_OID_X520_DN_QUALIFIER -#define GNUTLS_OID_X520_PSEUDONYM -#define GNUTLS_OID_LDAP_DC -#define GNUTLS_OID_LDAP_UID -#define GNUTLS_OID_PKCS9_EMAIL -#define GNUTLS_OID_PKIX_DATE_OF_BIRTH -#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH -#define GNUTLS_OID_PKIX_GENDER -#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP -#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE -#define GNUTLS_KP_TLS_WWW_SERVER -#define GNUTLS_KP_TLS_WWW_CLIENT -#define GNUTLS_KP_CODE_SIGNING -#define GNUTLS_KP_EMAIL_PROTECTION -#define GNUTLS_KP_TIME_STAMPING -#define GNUTLS_KP_OCSP_SIGNING -#define GNUTLS_KP_ANY -#define GNUTLS_FSAN_SET -#define GNUTLS_FSAN_APPEND -enum gnutls_certificate_import_flags; -int gnutls_x509_crt_init (gnutls_x509_crt_t *cert); -void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert); -int gnutls_x509_crt_import (gnutls_x509_crt_t cert, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); -int gnutls_x509_crt_list_import (gnutls_x509_crt_t *certs, - unsigned int *cert_max, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - unsigned int flags); -int gnutls_x509_crt_export (gnutls_x509_crt_t cert, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, - char *buf, - size_t *sizeof_buf); -int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crt_get_issuer_dn_by_oid - (gnutls_x509_crt_t cert, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, - char *buf, - size_t *sizeof_buf); -int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, - const char *hostname); -int gnutls_x509_crt_get_signature_algorithm - (gnutls_x509_crt_t cert); -int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, - char *sig, - size_t *sizeof_sig); -int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert); -int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); -int gnutls_x509_crt_set_authority_key_id - (gnutls_x509_crt_t cert, - const void *id, - size_t id_size); -int gnutls_x509_crt_get_authority_key_id - (gnutls_x509_crt_t cert, - void *ret, - size_t *ret_size, - unsigned int *critical); -int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, - void *ret, - size_t *ret_size, - unsigned int *critical); -#define GNUTLS_CRL_REASON_UNUSED -#define GNUTLS_CRL_REASON_KEY_COMPROMISE -#define GNUTLS_CRL_REASON_CA_COMPROMISE -#define GNUTLS_CRL_REASON_AFFILIATION_CHANGED -#define GNUTLS_CRL_REASON_SUPERSEEDED -#define GNUTLS_CRL_REASON_CESSATION_OF_OPERATION -#define GNUTLS_CRL_REASON_CERTIFICATE_HOLD -#define GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN -#define GNUTLS_CRL_REASON_AA_COMPROMISE -int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *reason_flags, - unsigned int *critical); -int gnutls_x509_crt_set_crl_dist_points2 - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int reason_flags); -int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data_string, - unsigned int reason_flags); -int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, - gnutls_x509_crt_t src); -time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert); -time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert); -int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, - void *result, - size_t *result_size); -int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, - unsigned int *bits); -int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t *m, - gnutls_datum_t *e); -int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); -int gnutls_x509_crt_get_subject_alt_name - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *critical); -int gnutls_x509_crt_get_subject_alt_name2 - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *ret_type, - unsigned int *critical); -int gnutls_x509_crt_get_subject_alt_othername_oid - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size); -int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, - unsigned int *critical); -int gnutls_x509_crt_get_basic_constraints - (gnutls_x509_crt_t cert, - unsigned int *critical, - int *ca, - int *pathlen); -int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, - unsigned int *key_usage, - unsigned int *critical); -int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, - unsigned int usage); -int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, - unsigned int *critical, - int *pathlen, - char **policyLanguage, - char **policy, - size_t *sizeof_policy); -int gnutls_x509_dn_oid_known (const char *oid); -int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crt_get_extension_by_oid - (gnutls_x509_crt_t cert, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf, - unsigned int *critical); -int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); -int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, - int indx, - void *data, - size_t *sizeof_data); -int gnutls_x509_crt_set_extension_by_oid - (gnutls_x509_crt_t crt, - const char *oid, - const void *buf, - size_t sizeof_buf, - unsigned int critical); -int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); -int gnutls_x509_crt_set_issuer_dn_by_oid - (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); -int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, - unsigned int version); -int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, - gnutls_x509_privkey_t key); -int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, - unsigned int ca); -int gnutls_x509_crt_set_basic_constraints - (gnutls_x509_crt_t crt, - unsigned int ca, - int pathLenConstraint); -int gnutls_x509_crt_set_subject_alternative_name - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const char *data_string); -int gnutls_x509_crt_set_subject_alt_name - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int flags); -int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); -int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); -int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, - time_t act_time); -int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, - time_t exp_time); -int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, - const void *serial, - size_t serial_size); -int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, - const void *id, - size_t id_size); -int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, - gnutls_x509_crt_t eecrt, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); -int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, - int pathLenConstraint, - const char *policyLanguage, - const char *policy, - size_t sizeof_policy); -int gnutls_x509_crt_print (gnutls_x509_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); -int gnutls_x509_crl_print (gnutls_x509_crl_t crl, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); -int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, - gnutls_datum_t *start); -int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, - gnutls_datum_t *start); -int gnutls_x509_rdn_get (const gnutls_datum_t *idn, - char *buf, - size_t *sizeof_buf); -int gnutls_x509_rdn_get_oid (const gnutls_datum_t *idn, - int indx, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t *idn, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); -typedef gnutls_x509_dn_t; -int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, - gnutls_x509_dn_t *dn); -int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, - gnutls_x509_dn_t *dn); -int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, - int irdn, - int iava, - gnutls_x509_ava_st *ava); -int gnutls_x509_dn_init (gnutls_x509_dn_t *dn); -int gnutls_x509_dn_import (gnutls_x509_dn_t dn, - const gnutls_datum_t *data); -int gnutls_x509_dn_export (gnutls_x509_dn_t dn, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -void gnutls_x509_dn_deinit (gnutls_x509_dn_t dn); -int gnutls_x509_crl_init (gnutls_x509_crl_t *crl); -void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl); -int gnutls_x509_crl_import (gnutls_x509_crl_t crl, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); -int gnutls_x509_crl_export (gnutls_x509_crl_t crl, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, - char *buf, - size_t *sizeof_buf); -int gnutls_x509_crl_get_issuer_dn_by_oid - (gnutls_x509_crl_t crl, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crl_get_signature_algorithm - (gnutls_x509_crl_t crl); -int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, - char *sig, - size_t *sizeof_sig); -int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl); -time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl); -time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl); -int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl); -int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, - int indx, - unsigned char *serial, - size_t *serial_size, - time_t *t); -#define gnutls_x509_crl_get_certificate_count -#define gnutls_x509_crl_get_certificate -int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer); -int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, - unsigned int version); -int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); -int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); -int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, - time_t act_time); -int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, - time_t exp_time); -int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, - const void *serial, - size_t serial_size, - time_t revocation_time); -int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, - gnutls_x509_crt_t crt, - time_t revocation_time); -int gnutls_x509_crl_get_authority_key_id - (gnutls_x509_crl_t crl, - void *ret, - size_t *ret_size, - unsigned int *critical); -int gnutls_x509_crl_get_number (gnutls_x509_crl_t crl, - void *ret, - size_t *ret_size, - unsigned int *critical); -int gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); -int gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t crl, - int indx, - void *data, - size_t *sizeof_data); -int gnutls_x509_crl_set_authority_key_id - (gnutls_x509_crl_t crl, - const void *id, - size_t id_size); -int gnutls_x509_crl_set_number (gnutls_x509_crl_t crl, - const void *nr, - size_t nr_size); -struct gnutls_pkcs7_int; -typedef gnutls_pkcs7_t; -int gnutls_pkcs7_init (gnutls_pkcs7_t *pkcs7); -void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7); -int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); -int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7); -int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, - int indx, - void *certificate, - size_t *certificate_size); -int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *crt); -int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, - gnutls_x509_crt_t crt); -int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, - int indx); -int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, - int indx, - void *crl, - size_t *crl_size); -int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7); -int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *crl); -int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, - gnutls_x509_crl_t crl); -int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, - int indx); -enum gnutls_certificate_verify_flags; -int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer); -int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t *cert_list, - int cert_list_length, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - const gnutls_x509_crl_t *CRL_list, - int CRL_list_length, - unsigned int flags, - unsigned int *verify); -int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - unsigned int flags, - unsigned int *verify); -int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - unsigned int flags, - unsigned int *verify); -int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, - const gnutls_x509_crl_t *crl_list, - int crl_list_length); -int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, - gnutls_digest_algorithm_t algo, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - unsigned int *critical); -int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, - const void *oid, - unsigned int critical); -enum gnutls_pkcs_encrypt_flags_t; -#define GNUTLS_PKCS8_PLAIN -#define GNUTLS_PKCS8_USE_PKCS12_3DES -#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR -#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 -int gnutls_x509_privkey_init (gnutls_x509_privkey_t *key); -void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key); -int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, - gnutls_x509_privkey_t src); -int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); -int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags); -int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t *m, - const gnutls_datum_t *e, - const gnutls_datum_t *d, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *u); -int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key); -int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); -int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *g, - const gnutls_datum_t *y, - const gnutls_datum_t *x); -int gnutls_x509_privkey_get_pk_algorithm - (gnutls_x509_privkey_t key); -int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); -int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, - gnutls_pk_algorithm_t algo, - unsigned int bits, - unsigned int flags); -int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t *output_data_size); -int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); -int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t digest, - unsigned int flags, - const gnutls_datum_t *data, - void *signature, - size_t *signature_size); -int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, - unsigned int flags, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); -int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); -int gnutls_x509_crt_verify_hash (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t *hash, - const gnutls_datum_t *signature); -int gnutls_x509_crt_get_verify_algorithm - (gnutls_x509_crt_t crt, - const gnutls_datum_t *signature, - gnutls_digest_algorithm_t *hash); -int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); -struct gnutls_x509_crq_int; -typedef gnutls_x509_crq_t; -int gnutls_x509_crq_print (gnutls_x509_crq_t crq, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); -int gnutls_x509_crq_init (gnutls_x509_crq_t *crq); -void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq); -int gnutls_x509_crq_import (gnutls_x509_crq_t crq, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); -int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, - char *buf, - size_t *sizeof_buf); -int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, - unsigned int raw_flag, - const void *data, - unsigned int sizeof_data); -int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, - unsigned int version); -int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq); -int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key); -int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t dig, - unsigned int flags); -int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key); -int gnutls_x509_crq_set_challenge_password - (gnutls_x509_crq_t crq, - const char *pass); -int gnutls_x509_crq_get_challenge_password - (gnutls_x509_crq_t crq, - char *pass, - size_t *sizeof_pass); -int gnutls_x509_crq_set_attribute_by_oid - (gnutls_x509_crq_t crq, - const char *oid, - void *buf, - size_t sizeof_buf); -int gnutls_x509_crq_get_attribute_by_oid - (gnutls_x509_crq_t crq, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf); -int gnutls_x509_crq_export (gnutls_x509_crq_t crq, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); -int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq); -int gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq); -int gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t crq, - const gnutls_datum_t *m, - const gnutls_datum_t *e); -int gnutls_x509_crq_set_subject_alt_name - (gnutls_x509_crq_t crq, - gnutls_x509_subject_alt_name_t nt, - const void *data, - unsigned int data_size, - unsigned int flags); -int gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t crq, - unsigned int usage); -int gnutls_x509_crq_set_basic_constraints - (gnutls_x509_crq_t crq, - unsigned int ca, - int pathLenConstraint); -int gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert, - const void *oid, - unsigned int critical); -int gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - unsigned int *critical); -int gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t cert, - int indx, - void *data, - size_t *sizeof_data); -int gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); -int gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t cert, - int indx, - void *data, - size_t *sizeof_data); -int gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid); -int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, - unsigned int *bits); -int gnutls_x509_crq_get_key_id (gnutls_x509_crq_t crq, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); -int gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t crq, - gnutls_datum_t *m, - gnutls_datum_t *e); -int gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t cert, - unsigned int *key_usage, - unsigned int *critical); -int gnutls_x509_crq_get_basic_constraints - (gnutls_x509_crq_t cert, - unsigned int *critical, - int *ca, - int *pathlen); -int gnutls_x509_crq_get_subject_alt_name - (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *ret_type, - unsigned int *critical); -int gnutls_x509_crq_get_subject_alt_othername_oid - (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, - size_t *ret_size); -int gnutls_x509_crq_get_extension_by_oid - (gnutls_x509_crq_t cert, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf, - unsigned int *critical); - - - - -Description - - - - -Details - -GNUTLS_OID_X520_COUNTRY_NAME -GNUTLS_OID_X520_COUNTRY_NAME -#define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6" - - - - -GNUTLS_OID_X520_ORGANIZATION_NAME -GNUTLS_OID_X520_ORGANIZATION_NAME -#define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10" - - - - -GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME -GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME -#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" - - - - -GNUTLS_OID_X520_COMMON_NAME -GNUTLS_OID_X520_COMMON_NAME -#define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3" - - - - -GNUTLS_OID_X520_LOCALITY_NAME -GNUTLS_OID_X520_LOCALITY_NAME -#define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7" - - - - -GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME -GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME -#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" - - - - -GNUTLS_OID_X520_INITIALS -GNUTLS_OID_X520_INITIALS -#define GNUTLS_OID_X520_INITIALS "2.5.4.43" - - - - -GNUTLS_OID_X520_GENERATION_QUALIFIER -GNUTLS_OID_X520_GENERATION_QUALIFIER -#define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44" - - - - -GNUTLS_OID_X520_SURNAME -GNUTLS_OID_X520_SURNAME -#define GNUTLS_OID_X520_SURNAME "2.5.4.4" - - - - -GNUTLS_OID_X520_GIVEN_NAME -GNUTLS_OID_X520_GIVEN_NAME -#define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42" - - - - -GNUTLS_OID_X520_TITLE -GNUTLS_OID_X520_TITLE -#define GNUTLS_OID_X520_TITLE "2.5.4.12" - - - - -GNUTLS_OID_X520_DN_QUALIFIER -GNUTLS_OID_X520_DN_QUALIFIER -#define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46" - - - - -GNUTLS_OID_X520_PSEUDONYM -GNUTLS_OID_X520_PSEUDONYM -#define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65" - - - - -GNUTLS_OID_LDAP_DC -GNUTLS_OID_LDAP_DC -#define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25" - - - - -GNUTLS_OID_LDAP_UID -GNUTLS_OID_LDAP_UID -#define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1" - - - - -GNUTLS_OID_PKCS9_EMAIL -GNUTLS_OID_PKCS9_EMAIL -#define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" - - - - -GNUTLS_OID_PKIX_DATE_OF_BIRTH -GNUTLS_OID_PKIX_DATE_OF_BIRTH -#define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1" - - - - -GNUTLS_OID_PKIX_PLACE_OF_BIRTH -GNUTLS_OID_PKIX_PLACE_OF_BIRTH -#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2" - - - - -GNUTLS_OID_PKIX_GENDER -GNUTLS_OID_PKIX_GENDER -#define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3" - - - - -GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP -GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP -#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4" - - - - -GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE -GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE -#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5" - - - - -GNUTLS_KP_TLS_WWW_SERVER -GNUTLS_KP_TLS_WWW_SERVER -#define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1" - - - - -GNUTLS_KP_TLS_WWW_CLIENT -GNUTLS_KP_TLS_WWW_CLIENT -#define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2" - - - - -GNUTLS_KP_CODE_SIGNING -GNUTLS_KP_CODE_SIGNING -#define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3" - - - - -GNUTLS_KP_EMAIL_PROTECTION -GNUTLS_KP_EMAIL_PROTECTION -#define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4" - - - - -GNUTLS_KP_TIME_STAMPING -GNUTLS_KP_TIME_STAMPING -#define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8" - - - - -GNUTLS_KP_OCSP_SIGNING -GNUTLS_KP_OCSP_SIGNING -#define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9" - - - - -GNUTLS_KP_ANY -GNUTLS_KP_ANY -#define GNUTLS_KP_ANY "2.5.29.37.0" - - - - -GNUTLS_FSAN_SET -GNUTLS_FSAN_SET -#define GNUTLS_FSAN_SET 0 - - - - -GNUTLS_FSAN_APPEND -GNUTLS_FSAN_APPEND -#define GNUTLS_FSAN_APPEND 1 - - - - -enum gnutls_certificate_import_flags -gnutls_certificate_import_flags - typedef enum gnutls_certificate_import_flags - { - /* Fail if the certificates in the buffer are more than the space - * allocated for certificates. The error code will be - * GNUTLS_E_SHORT_MEMORY_BUFFER. - */ - GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED = 1 - } gnutls_certificate_import_flags; - - - - -gnutls_x509_crt_init () -gnutls_x509_crt_init -int gnutls_x509_crt_init (gnutls_x509_crt_t *cert); - - -cert : - - -Returns : - - - -gnutls_x509_crt_deinit () -gnutls_x509_crt_deinit -void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert); - - -cert : - - - - -gnutls_x509_crt_import () -gnutls_x509_crt_import -int gnutls_x509_crt_import (gnutls_x509_crt_t cert, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); - - -cert : - - -data : - - -format : - - -Returns : - - - -gnutls_x509_crt_list_import () -gnutls_x509_crt_list_import -int gnutls_x509_crt_list_import (gnutls_x509_crt_t *certs, - unsigned int *cert_max, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - unsigned int flags); - - -certs : - - -cert_max : - - -data : - - -format : - - -flags : - - -Returns : - - - -gnutls_x509_crt_export () -gnutls_x509_crt_export -int gnutls_x509_crt_export (gnutls_x509_crt_t cert, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -cert : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_crt_get_issuer_dn () -gnutls_x509_crt_get_issuer_dn -int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, - char *buf, - size_t *sizeof_buf); - - -cert : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crt_get_issuer_dn_oid () -gnutls_x509_crt_get_issuer_dn_oid -int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crt_get_issuer_dn_by_oid () -gnutls_x509_crt_get_issuer_dn_by_oid -int gnutls_x509_crt_get_issuer_dn_by_oid - (gnutls_x509_crt_t cert, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); - - -cert : - - -oid : - - -indx : - - -raw_flag : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crt_get_dn () -gnutls_x509_crt_get_dn -int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, - char *buf, - size_t *sizeof_buf); - - -cert : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crt_get_dn_oid () -gnutls_x509_crt_get_dn_oid -int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crt_get_dn_by_oid () -gnutls_x509_crt_get_dn_by_oid -int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); - - -cert : - - -oid : - - -indx : - - -raw_flag : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crt_check_hostname () -gnutls_x509_crt_check_hostname -int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, - const char *hostname); - - -cert : - - -hostname : - - -Returns : - - - -gnutls_x509_crt_get_signature_algorithm () -gnutls_x509_crt_get_signature_algorithm -int gnutls_x509_crt_get_signature_algorithm - (gnutls_x509_crt_t cert); - - -cert : - - -Returns : - - - -gnutls_x509_crt_get_signature () -gnutls_x509_crt_get_signature -int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, - char *sig, - size_t *sizeof_sig); - - -cert : - - -sig : - - -sizeof_sig : - - -Returns : - - - -gnutls_x509_crt_get_version () -gnutls_x509_crt_get_version -int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert); - - -cert : - - -Returns : - - - -gnutls_x509_crt_get_key_id () -gnutls_x509_crt_get_key_id -int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); - - -crt : - - -flags : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_crt_set_authority_key_id () -gnutls_x509_crt_set_authority_key_id -int gnutls_x509_crt_set_authority_key_id - (gnutls_x509_crt_t cert, - const void *id, - size_t id_size); - - -cert : - - -id : - - -id_size : - - -Returns : - - - -gnutls_x509_crt_get_authority_key_id () -gnutls_x509_crt_get_authority_key_id -int gnutls_x509_crt_get_authority_key_id - (gnutls_x509_crt_t cert, - void *ret, - size_t *ret_size, - unsigned int *critical); - - -cert : - - -ret : - - -ret_size : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_subject_key_id () -gnutls_x509_crt_get_subject_key_id -int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, - void *ret, - size_t *ret_size, - unsigned int *critical); - - -cert : - - -ret : - - -ret_size : - - -critical : - - -Returns : - - - -GNUTLS_CRL_REASON_UNUSED -GNUTLS_CRL_REASON_UNUSED -#define GNUTLS_CRL_REASON_UNUSED 128 - - - - -GNUTLS_CRL_REASON_KEY_COMPROMISE -GNUTLS_CRL_REASON_KEY_COMPROMISE -#define GNUTLS_CRL_REASON_KEY_COMPROMISE 64 - - - - -GNUTLS_CRL_REASON_CA_COMPROMISE -GNUTLS_CRL_REASON_CA_COMPROMISE -#define GNUTLS_CRL_REASON_CA_COMPROMISE 32 - - - - -GNUTLS_CRL_REASON_AFFILIATION_CHANGED -GNUTLS_CRL_REASON_AFFILIATION_CHANGED -#define GNUTLS_CRL_REASON_AFFILIATION_CHANGED 16 - - - - -GNUTLS_CRL_REASON_SUPERSEEDED -GNUTLS_CRL_REASON_SUPERSEEDED -#define GNUTLS_CRL_REASON_SUPERSEEDED 8 - - - - -GNUTLS_CRL_REASON_CESSATION_OF_OPERATION -GNUTLS_CRL_REASON_CESSATION_OF_OPERATION -#define GNUTLS_CRL_REASON_CESSATION_OF_OPERATION 4 - - - - -GNUTLS_CRL_REASON_CERTIFICATE_HOLD -GNUTLS_CRL_REASON_CERTIFICATE_HOLD -#define GNUTLS_CRL_REASON_CERTIFICATE_HOLD 2 - - - - -GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN -GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN -#define GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN 1 - - - - -GNUTLS_CRL_REASON_AA_COMPROMISE -GNUTLS_CRL_REASON_AA_COMPROMISE -#define GNUTLS_CRL_REASON_AA_COMPROMISE 32768 - - - - -gnutls_x509_crt_get_crl_dist_points () -gnutls_x509_crt_get_crl_dist_points -int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *reason_flags, - unsigned int *critical); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -reason_flags : - - -critical : - - -Returns : - - - -gnutls_x509_crt_set_crl_dist_points2 () -gnutls_x509_crt_set_crl_dist_points2 -int gnutls_x509_crt_set_crl_dist_points2 - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int reason_flags); - - -crt : - - -type : - - -data : - - -data_size : - - -reason_flags : - - -Returns : - - - -gnutls_x509_crt_set_crl_dist_points () -gnutls_x509_crt_set_crl_dist_points -int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data_string, - unsigned int reason_flags); - - -crt : - - -type : - - -data_string : - - -reason_flags : - - -Returns : - - - -gnutls_x509_crt_cpy_crl_dist_points () -gnutls_x509_crt_cpy_crl_dist_points -int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, - gnutls_x509_crt_t src); - - -dst : - - -src : - - -Returns : - - - -gnutls_x509_crt_get_activation_time () -gnutls_x509_crt_get_activation_time -time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert); - - -cert : - - -Returns : - - - -gnutls_x509_crt_get_expiration_time () -gnutls_x509_crt_get_expiration_time -time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert); - - -cert : - - -Returns : - - - -gnutls_x509_crt_get_serial () -gnutls_x509_crt_get_serial -int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, - void *result, - size_t *result_size); - - -cert : - - -result : - - -result_size : - - -Returns : - - - -gnutls_x509_crt_get_pk_algorithm () -gnutls_x509_crt_get_pk_algorithm -int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, - unsigned int *bits); - - -cert : - - -bits : - - -Returns : - - - -gnutls_x509_crt_get_pk_rsa_raw () -gnutls_x509_crt_get_pk_rsa_raw -int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t *m, - gnutls_datum_t *e); - - -crt : - - -m : - - -e : - - -Returns : - - - -gnutls_x509_crt_get_pk_dsa_raw () -gnutls_x509_crt_get_pk_dsa_raw -int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y); - - -crt : - - -p : - - -q : - - -g : - - -y : - - -Returns : - - - -gnutls_x509_crt_get_subject_alt_name () -gnutls_x509_crt_get_subject_alt_name -int gnutls_x509_crt_get_subject_alt_name - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *critical); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_subject_alt_name2 () -gnutls_x509_crt_get_subject_alt_name2 -int gnutls_x509_crt_get_subject_alt_name2 - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *ret_type, - unsigned int *critical); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -ret_type : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_subject_alt_othername_oid () -gnutls_x509_crt_get_subject_alt_othername_oid -int gnutls_x509_crt_get_subject_alt_othername_oid - (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t *ret_size); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -Returns : - - - -gnutls_x509_crt_get_ca_status () -gnutls_x509_crt_get_ca_status -int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, - unsigned int *critical); - - -cert : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_basic_constraints () -gnutls_x509_crt_get_basic_constraints -int gnutls_x509_crt_get_basic_constraints - (gnutls_x509_crt_t cert, - unsigned int *critical, - int *ca, - int *pathlen); - - -cert : - - -critical : - - -ca : - - -pathlen : - - -Returns : - - - -gnutls_x509_crt_get_key_usage () -gnutls_x509_crt_get_key_usage -int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, - unsigned int *key_usage, - unsigned int *critical); - - -cert : - - -key_usage : - - -critical : - - -Returns : - - - -gnutls_x509_crt_set_key_usage () -gnutls_x509_crt_set_key_usage -int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, - unsigned int usage); - - -crt : - - -usage : - - -Returns : - - - -gnutls_x509_crt_get_proxy () -gnutls_x509_crt_get_proxy -int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, - unsigned int *critical, - int *pathlen, - char **policyLanguage, - char **policy, - size_t *sizeof_policy); - - -cert : - - -critical : - - -pathlen : - - -policyLanguage : - - -policy : - - -sizeof_policy : - - -Returns : - - - -gnutls_x509_dn_oid_known () -gnutls_x509_dn_oid_known -int gnutls_x509_dn_oid_known (const char *oid); - - -oid : - - -Returns : - - - -gnutls_x509_crt_get_extension_oid () -gnutls_x509_crt_get_extension_oid -int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crt_get_extension_by_oid () -gnutls_x509_crt_get_extension_by_oid -int gnutls_x509_crt_get_extension_by_oid - (gnutls_x509_crt_t cert, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf, - unsigned int *critical); - - -cert : - - -oid : - - -indx : - - -buf : - - -sizeof_buf : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_extension_info () -gnutls_x509_crt_get_extension_info -int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -critical : - - -Returns : - - - -gnutls_x509_crt_get_extension_data () -gnutls_x509_crt_get_extension_data -int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, - int indx, - void *data, - size_t *sizeof_data); - - -cert : - - -indx : - - -data : - - -sizeof_data : - - -Returns : - - - -gnutls_x509_crt_set_extension_by_oid () -gnutls_x509_crt_set_extension_by_oid -int gnutls_x509_crt_set_extension_by_oid - (gnutls_x509_crt_t crt, - const char *oid, - const void *buf, - size_t sizeof_buf, - unsigned int critical); - - -crt : - - -oid : - - -buf : - - -sizeof_buf : - - -critical : - - -Returns : - - - -gnutls_x509_crt_set_dn_by_oid () -gnutls_x509_crt_set_dn_by_oid -int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - - -crt : - - -oid : - - -raw_flag : - - -name : - - -sizeof_name : - - -Returns : - - - -gnutls_x509_crt_set_issuer_dn_by_oid () -gnutls_x509_crt_set_issuer_dn_by_oid -int gnutls_x509_crt_set_issuer_dn_by_oid - (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - - -crt : - - -oid : - - -raw_flag : - - -name : - - -sizeof_name : - - -Returns : - - - -gnutls_x509_crt_set_version () -gnutls_x509_crt_set_version -int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, - unsigned int version); - - -crt : - - -version : - - -Returns : - - - -gnutls_x509_crt_set_key () -gnutls_x509_crt_set_key -int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, - gnutls_x509_privkey_t key); - - -crt : - - -key : - - -Returns : - - - -gnutls_x509_crt_set_ca_status () -gnutls_x509_crt_set_ca_status -int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, - unsigned int ca); - - -crt : - - -ca : - - -Returns : - - - -gnutls_x509_crt_set_basic_constraints () -gnutls_x509_crt_set_basic_constraints -int gnutls_x509_crt_set_basic_constraints - (gnutls_x509_crt_t crt, - unsigned int ca, - int pathLenConstraint); - - -crt : - - -ca : - - -pathLenConstraint : - - -Returns : - - - -gnutls_x509_crt_set_subject_alternative_name () -gnutls_x509_crt_set_subject_alternative_name -int gnutls_x509_crt_set_subject_alternative_name - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const char *data_string); - - -crt : - - -type : - - -data_string : - - -Returns : - - - -gnutls_x509_crt_set_subject_alt_name () -gnutls_x509_crt_set_subject_alt_name -int gnutls_x509_crt_set_subject_alt_name - (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int flags); - - -crt : - - -type : - - -data : - - -data_size : - - -flags : - - -Returns : - - - -gnutls_x509_crt_sign () -gnutls_x509_crt_sign -int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); - - -crt : - - -issuer : - - -issuer_key : - - -Returns : - - - -gnutls_x509_crt_sign2 () -gnutls_x509_crt_sign2 -int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - - -crt : - - -issuer : - - -issuer_key : - - -dig : - - -flags : - - -Returns : - - - -gnutls_x509_crt_set_activation_time () -gnutls_x509_crt_set_activation_time -int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, - time_t act_time); - - -cert : - - -act_time : - - -Returns : - - - -gnutls_x509_crt_set_expiration_time () -gnutls_x509_crt_set_expiration_time -int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, - time_t exp_time); - - -cert : - - -exp_time : - - -Returns : - - - -gnutls_x509_crt_set_serial () -gnutls_x509_crt_set_serial -int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, - const void *serial, - size_t serial_size); - - -cert : - - -serial : - - -serial_size : - - -Returns : - - - -gnutls_x509_crt_set_subject_key_id () -gnutls_x509_crt_set_subject_key_id -int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, - const void *id, - size_t id_size); - - -cert : - - -id : - - -id_size : - - -Returns : - - - -gnutls_x509_crt_set_proxy_dn () -gnutls_x509_crt_set_proxy_dn -int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, - gnutls_x509_crt_t eecrt, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - - -crt : - - -eecrt : - - -raw_flag : - - -name : - - -sizeof_name : - - -Returns : - - - -gnutls_x509_crt_set_proxy () -gnutls_x509_crt_set_proxy -int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, - int pathLenConstraint, - const char *policyLanguage, - const char *policy, - size_t sizeof_policy); - - -crt : - - -pathLenConstraint : - - -policyLanguage : - - -policy : - - -sizeof_policy : - - -Returns : - - - -gnutls_x509_crt_print () -gnutls_x509_crt_print -int gnutls_x509_crt_print (gnutls_x509_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); - - -cert : - - -format : - - -out : - - -Returns : - - - -gnutls_x509_crl_print () -gnutls_x509_crl_print -int gnutls_x509_crl_print (gnutls_x509_crl_t crl, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); - - -crl : - - -format : - - -out : - - -Returns : - - - -gnutls_x509_crt_get_raw_issuer_dn () -gnutls_x509_crt_get_raw_issuer_dn -int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, - gnutls_datum_t *start); - - -cert : - - -start : - - -Returns : - - - -gnutls_x509_crt_get_raw_dn () -gnutls_x509_crt_get_raw_dn -int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, - gnutls_datum_t *start); - - -cert : - - -start : - - -Returns : - - - -gnutls_x509_rdn_get () -gnutls_x509_rdn_get -int gnutls_x509_rdn_get (const gnutls_datum_t *idn, - char *buf, - size_t *sizeof_buf); - - -idn : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_rdn_get_oid () -gnutls_x509_rdn_get_oid -int gnutls_x509_rdn_get_oid (const gnutls_datum_t *idn, - int indx, - void *buf, - size_t *sizeof_buf); - - -idn : - - -indx : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_rdn_get_by_oid () -gnutls_x509_rdn_get_by_oid -int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t *idn, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); - - -idn : - - -oid : - - -indx : - - -raw_flag : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_dn_t -gnutls_x509_dn_t - typedef void *gnutls_x509_dn_t; - - - - -gnutls_x509_crt_get_subject () -gnutls_x509_crt_get_subject -int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, - gnutls_x509_dn_t *dn); - - -cert : - - -dn : - - -Returns : - - - -gnutls_x509_crt_get_issuer () -gnutls_x509_crt_get_issuer -int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, - gnutls_x509_dn_t *dn); - - -cert : - - -dn : - - -Returns : - - - -gnutls_x509_dn_get_rdn_ava () -gnutls_x509_dn_get_rdn_ava -int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, - int irdn, - int iava, - gnutls_x509_ava_st *ava); - -Get pointers to data within the DN. - - -Note that ava will contain pointers into the dn structure, so you -should not modify any data or deallocate it. Note also that the DN -in turn points into the original certificate structure, and thus -you may not deallocate the certificate and continue to access dn. - -dn : -input variable with opaque DN pointer - -irdn : -index of RDN - -iava : -index of AVA. - -ava : -Pointer to structure which will hold output information. - -Returns : Returns 0 on success, or an error code. - - - -gnutls_x509_dn_init () -gnutls_x509_dn_init -int gnutls_x509_dn_init (gnutls_x509_dn_t *dn); - - -dn : - - -Returns : - - - -gnutls_x509_dn_import () -gnutls_x509_dn_import -int gnutls_x509_dn_import (gnutls_x509_dn_t dn, - const gnutls_datum_t *data); - - -dn : - - -data : - - -Returns : - - - -gnutls_x509_dn_export () -gnutls_x509_dn_export -int gnutls_x509_dn_export (gnutls_x509_dn_t dn, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -dn : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_dn_deinit () -gnutls_x509_dn_deinit -void gnutls_x509_dn_deinit (gnutls_x509_dn_t dn); - - -dn : - - - - -gnutls_x509_crl_init () -gnutls_x509_crl_init -int gnutls_x509_crl_init (gnutls_x509_crl_t *crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_deinit () -gnutls_x509_crl_deinit -void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl); - - -crl : - - - - -gnutls_x509_crl_import () -gnutls_x509_crl_import -int gnutls_x509_crl_import (gnutls_x509_crl_t crl, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); - - -crl : - - -data : - - -format : - - -Returns : - - - -gnutls_x509_crl_export () -gnutls_x509_crl_export -int gnutls_x509_crl_export (gnutls_x509_crl_t crl, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -crl : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_crl_get_issuer_dn () -gnutls_x509_crl_get_issuer_dn -int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, - char *buf, - size_t *sizeof_buf); - - -crl : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crl_get_issuer_dn_by_oid () -gnutls_x509_crl_get_issuer_dn_by_oid -int gnutls_x509_crl_get_issuer_dn_by_oid - (gnutls_x509_crl_t crl, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); - - -crl : - - -oid : - - -indx : - - -raw_flag : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crl_get_dn_oid () -gnutls_x509_crl_get_dn_oid -int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid); - - -crl : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crl_get_signature_algorithm () -gnutls_x509_crl_get_signature_algorithm -int gnutls_x509_crl_get_signature_algorithm - (gnutls_x509_crl_t crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_get_signature () -gnutls_x509_crl_get_signature -int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, - char *sig, - size_t *sizeof_sig); - - -crl : - - -sig : - - -sizeof_sig : - - -Returns : - - - -gnutls_x509_crl_get_version () -gnutls_x509_crl_get_version -int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_get_this_update () -gnutls_x509_crl_get_this_update -time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_get_next_update () -gnutls_x509_crl_get_next_update -time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_get_crt_count () -gnutls_x509_crl_get_crt_count -int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl); - - -crl : - - -Returns : - - - -gnutls_x509_crl_get_crt_serial () -gnutls_x509_crl_get_crt_serial -int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, - int indx, - unsigned char *serial, - size_t *serial_size, - time_t *t); - - -crl : - - -indx : - - -serial : - - -serial_size : - - -t : - - -Returns : - - - -gnutls_x509_crl_get_certificate_count -gnutls_x509_crl_get_certificate_count -#define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count - - - - -gnutls_x509_crl_get_certificate -gnutls_x509_crl_get_certificate -#define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial - - - - -gnutls_x509_crl_check_issuer () -gnutls_x509_crl_check_issuer -int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer); - - -crl : - - -issuer : - - -Returns : - - - -gnutls_x509_crl_set_version () -gnutls_x509_crl_set_version -int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, - unsigned int version); - - -crl : - - -version : - - -Returns : - - - -gnutls_x509_crl_sign () -gnutls_x509_crl_sign -int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); - - -crl : - - -issuer : - - -issuer_key : - - -Returns : - - - -gnutls_x509_crl_sign2 () -gnutls_x509_crl_sign2 -int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - - -crl : - - -issuer : - - -issuer_key : - - -dig : - - -flags : - - -Returns : - - - -gnutls_x509_crl_set_this_update () -gnutls_x509_crl_set_this_update -int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, - time_t act_time); - - -crl : - - -act_time : - - -Returns : - - - -gnutls_x509_crl_set_next_update () -gnutls_x509_crl_set_next_update -int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, - time_t exp_time); - - -crl : - - -exp_time : - - -Returns : - - - -gnutls_x509_crl_set_crt_serial () -gnutls_x509_crl_set_crt_serial -int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, - const void *serial, - size_t serial_size, - time_t revocation_time); - - -crl : - - -serial : - - -serial_size : - - -revocation_time : - - -Returns : - - - -gnutls_x509_crl_set_crt () -gnutls_x509_crl_set_crt -int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, - gnutls_x509_crt_t crt, - time_t revocation_time); - - -crl : - - -crt : - - -revocation_time : - - -Returns : - - - -gnutls_x509_crl_get_authority_key_id () -gnutls_x509_crl_get_authority_key_id -int gnutls_x509_crl_get_authority_key_id - (gnutls_x509_crl_t crl, - void *ret, - size_t *ret_size, - unsigned int *critical); - - -crl : - - -ret : - - -ret_size : - - -critical : - - -Returns : - - - -gnutls_x509_crl_get_number () -gnutls_x509_crl_get_number -int gnutls_x509_crl_get_number (gnutls_x509_crl_t crl, - void *ret, - size_t *ret_size, - unsigned int *critical); - - -crl : - - -ret : - - -ret_size : - - -critical : - - -Returns : - - - -gnutls_x509_crl_get_extension_oid () -gnutls_x509_crl_get_extension_oid -int gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid); - - -crl : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crl_get_extension_info () -gnutls_x509_crl_get_extension_info -int gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t crl, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); - - -crl : - - -indx : - - -oid : - - -sizeof_oid : - - -critical : - - -Returns : - - - -gnutls_x509_crl_get_extension_data () -gnutls_x509_crl_get_extension_data -int gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t crl, - int indx, - void *data, - size_t *sizeof_data); - - -crl : - - -indx : - - -data : - - -sizeof_data : - - -Returns : - - - -gnutls_x509_crl_set_authority_key_id () -gnutls_x509_crl_set_authority_key_id -int gnutls_x509_crl_set_authority_key_id - (gnutls_x509_crl_t crl, - const void *id, - size_t id_size); - - -crl : - - -id : - - -id_size : - - -Returns : - - - -gnutls_x509_crl_set_number () -gnutls_x509_crl_set_number -int gnutls_x509_crl_set_number (gnutls_x509_crl_t crl, - const void *nr, - size_t nr_size); - - -crl : - - -nr : - - -nr_size : - - -Returns : - - - -struct gnutls_pkcs7_int -gnutls_pkcs7_int -struct gnutls_pkcs7_int; - - - -gnutls_pkcs7_t -gnutls_pkcs7_t - typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t; - - - - -gnutls_pkcs7_init () -gnutls_pkcs7_init -int gnutls_pkcs7_init (gnutls_pkcs7_t *pkcs7); - - -pkcs7 : - - -Returns : - - - -gnutls_pkcs7_deinit () -gnutls_pkcs7_deinit -void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7); - - -pkcs7 : - - - - -gnutls_pkcs7_import () -gnutls_pkcs7_import -int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); - - -pkcs7 : - - -data : - - -format : - - -Returns : - - - -gnutls_pkcs7_export () -gnutls_pkcs7_export -int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -pkcs7 : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_pkcs7_get_crt_count () -gnutls_pkcs7_get_crt_count -int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7); - - -pkcs7 : - - -Returns : - - - -gnutls_pkcs7_get_crt_raw () -gnutls_pkcs7_get_crt_raw -int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, - int indx, - void *certificate, - size_t *certificate_size); - - -pkcs7 : - - -indx : - - -certificate : - - -certificate_size : - - -Returns : - - - -gnutls_pkcs7_set_crt_raw () -gnutls_pkcs7_set_crt_raw -int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *crt); - - -pkcs7 : - - -crt : - - -Returns : - - - -gnutls_pkcs7_set_crt () -gnutls_pkcs7_set_crt -int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, - gnutls_x509_crt_t crt); - - -pkcs7 : - - -crt : - - -Returns : - - - -gnutls_pkcs7_delete_crt () -gnutls_pkcs7_delete_crt -int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, - int indx); - - -pkcs7 : - - -indx : - - -Returns : - - - -gnutls_pkcs7_get_crl_raw () -gnutls_pkcs7_get_crl_raw -int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, - int indx, - void *crl, - size_t *crl_size); - - -pkcs7 : - - -indx : - - -crl : - - -crl_size : - - -Returns : - - - -gnutls_pkcs7_get_crl_count () -gnutls_pkcs7_get_crl_count -int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7); - - -pkcs7 : - - -Returns : - - - -gnutls_pkcs7_set_crl_raw () -gnutls_pkcs7_set_crl_raw -int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t *crl); - - -pkcs7 : - - -crl : - - -Returns : - - - -gnutls_pkcs7_set_crl () -gnutls_pkcs7_set_crl -int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, - gnutls_x509_crl_t crl); - - -pkcs7 : - - -crl : - - -Returns : - - - -gnutls_pkcs7_delete_crl () -gnutls_pkcs7_delete_crl -int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, - int indx); - - -pkcs7 : - - -indx : - - -Returns : - - - -enum gnutls_certificate_verify_flags -gnutls_certificate_verify_flags - typedef enum gnutls_certificate_verify_flags - { - /* If set a signer does not have to be a certificate authority. This - * flag should normaly be disabled, unless you know what this means. - */ - GNUTLS_VERIFY_DISABLE_CA_SIGN = 1, - - /* Allow only trusted CA certificates that have version 1. This is - * safer than GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT, and should be - * used instead. That way only signers in your trusted list will be - * allowed to have certificates of version 1. - */ - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT = 2, - - /* If a certificate is not signed by anyone trusted but exists in - * the trusted CA list do not treat it as trusted. - */ - GNUTLS_VERIFY_DO_NOT_ALLOW_SAME = 4, - - /* Allow CA certificates that have version 1 (both root and - * intermediate). This might be dangerous since those haven't the - * basicConstraints extension. Must be used in combination with - * GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT. - */ - GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT = 8, - - /* Allow certificates to be signed using the broken MD2 algorithm. - */ - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2 = 16, - - /* Allow certificates to be signed using the broken MD5 algorithm. - */ - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5 = 32, - - /* Disable checking of activation and expiration validity - * periods of certificate chains. Don't set this unless you - * understand the security implications. - */ - GNUTLS_VERIFY_DISABLE_TIME_CHECKS = 64 - } gnutls_certificate_verify_flags; - - - - -gnutls_x509_crt_check_issuer () -gnutls_x509_crt_check_issuer -int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer); - - -cert : - - -issuer : - - -Returns : - - - -gnutls_x509_crt_list_verify () -gnutls_x509_crt_list_verify -int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t *cert_list, - int cert_list_length, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - const gnutls_x509_crl_t *CRL_list, - int CRL_list_length, - unsigned int flags, - unsigned int *verify); - - -cert_list : - - -cert_list_length : - - -CA_list : - - -CA_list_length : - - -CRL_list : - - -CRL_list_length : - - -flags : - - -verify : - - -Returns : - - - -gnutls_x509_crt_verify () -gnutls_x509_crt_verify -int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - unsigned int flags, - unsigned int *verify); - - -cert : - - -CA_list : - - -CA_list_length : - - -flags : - - -verify : - - -Returns : - - - -gnutls_x509_crl_verify () -gnutls_x509_crl_verify -int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, - const gnutls_x509_crt_t *CA_list, - int CA_list_length, - unsigned int flags, - unsigned int *verify); - - -crl : - - -CA_list : - - -CA_list_length : - - -flags : - - -verify : - - -Returns : - - - -gnutls_x509_crt_check_revocation () -gnutls_x509_crt_check_revocation -int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, - const gnutls_x509_crl_t *crl_list, - int crl_list_length); - - -cert : - - -crl_list : - - -crl_list_length : - - -Returns : - - - -gnutls_x509_crt_get_fingerprint () -gnutls_x509_crt_get_fingerprint -int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, - gnutls_digest_algorithm_t algo, - void *buf, - size_t *sizeof_buf); - - -cert : - - -algo : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crt_get_key_purpose_oid () -gnutls_x509_crt_get_key_purpose_oid -int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - unsigned int *critical); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -critical : - - -Returns : - - - -gnutls_x509_crt_set_key_purpose_oid () -gnutls_x509_crt_set_key_purpose_oid -int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, - const void *oid, - unsigned int critical); - - -cert : - - -oid : - - -critical : - - -Returns : - - - -enum gnutls_pkcs_encrypt_flags_t -gnutls_pkcs_encrypt_flags_t - typedef enum gnutls_pkcs_encrypt_flags_t - { - GNUTLS_PKCS_PLAIN = 1, /* if set the private key will not - * be encrypted. - */ - GNUTLS_PKCS_USE_PKCS12_3DES = 2, - GNUTLS_PKCS_USE_PKCS12_ARCFOUR = 4, - GNUTLS_PKCS_USE_PKCS12_RC2_40 = 8, - GNUTLS_PKCS_USE_PBES2_3DES = 16 - } gnutls_pkcs_encrypt_flags_t; - - - - -GNUTLS_PKCS8_PLAIN -GNUTLS_PKCS8_PLAIN -#define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN - - - - -GNUTLS_PKCS8_USE_PKCS12_3DES -GNUTLS_PKCS8_USE_PKCS12_3DES -#define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_USE_PKCS12_3DES - - - - -GNUTLS_PKCS8_USE_PKCS12_ARCFOUR -GNUTLS_PKCS8_USE_PKCS12_ARCFOUR -#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_USE_PKCS12_ARCFOUR - - - - -GNUTLS_PKCS8_USE_PKCS12_RC2_40 -GNUTLS_PKCS8_USE_PKCS12_RC2_40 -#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_USE_PKCS12_RC2_40 - - - - -gnutls_x509_privkey_init () -gnutls_x509_privkey_init -int gnutls_x509_privkey_init (gnutls_x509_privkey_t *key); - - -key : - - -Returns : - - - -gnutls_x509_privkey_deinit () -gnutls_x509_privkey_deinit -void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key); - - -key : - - - - -gnutls_x509_privkey_cpy () -gnutls_x509_privkey_cpy -int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, - gnutls_x509_privkey_t src); - - -dst : - - -src : - - -Returns : - - - -gnutls_x509_privkey_import () -gnutls_x509_privkey_import -int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); - - -key : - - -data : - - -format : - - -Returns : - - - -gnutls_x509_privkey_import_pkcs8 () -gnutls_x509_privkey_import_pkcs8 -int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags); - - -key : - - -data : - - -format : - - -password : - - -flags : - - -Returns : - - - -gnutls_x509_privkey_import_rsa_raw () -gnutls_x509_privkey_import_rsa_raw -int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t *m, - const gnutls_datum_t *e, - const gnutls_datum_t *d, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *u); - - -key : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -Returns : - - - -gnutls_x509_privkey_fix () -gnutls_x509_privkey_fix -int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key); - - -key : - - -Returns : - - - -gnutls_x509_privkey_export_dsa_raw () -gnutls_x509_privkey_export_dsa_raw -int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *g, - gnutls_datum_t *y, - gnutls_datum_t *x); - - -key : - - -p : - - -q : - - -g : - - -y : - - -x : - - -Returns : - - - -gnutls_x509_privkey_import_dsa_raw () -gnutls_x509_privkey_import_dsa_raw -int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t *p, - const gnutls_datum_t *q, - const gnutls_datum_t *g, - const gnutls_datum_t *y, - const gnutls_datum_t *x); - - -key : - - -p : - - -q : - - -g : - - -y : - - -x : - - -Returns : - - - -gnutls_x509_privkey_get_pk_algorithm () -gnutls_x509_privkey_get_pk_algorithm -int gnutls_x509_privkey_get_pk_algorithm - (gnutls_x509_privkey_t key); - - -key : - - -Returns : - - - -gnutls_x509_privkey_get_key_id () -gnutls_x509_privkey_get_key_id -int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); - - -key : - - -flags : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_privkey_generate () -gnutls_x509_privkey_generate -int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, - gnutls_pk_algorithm_t algo, - unsigned int bits, - unsigned int flags); - - -key : - - -algo : - - -bits : - - -flags : - - -Returns : - - - -gnutls_x509_privkey_export () -gnutls_x509_privkey_export -int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -key : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_privkey_export_pkcs8 () -gnutls_x509_privkey_export_pkcs8 -int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t *output_data_size); - - -key : - - -format : - - -password : - - -flags : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_privkey_export_rsa_raw () -gnutls_x509_privkey_export_rsa_raw -int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t *m, - gnutls_datum_t *e, - gnutls_datum_t *d, - gnutls_datum_t *p, - gnutls_datum_t *q, - gnutls_datum_t *u); - - -key : - - -m : - - -e : - - -d : - - -p : - - -q : - - -u : - - -Returns : - - - -gnutls_x509_privkey_sign_data () -gnutls_x509_privkey_sign_data -int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t digest, - unsigned int flags, - const gnutls_datum_t *data, - void *signature, - size_t *signature_size); - - -key : - - -digest : - - -flags : - - -data : - - -signature : - - -signature_size : - - -Returns : - - - -gnutls_x509_privkey_verify_data () -gnutls_x509_privkey_verify_data -int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, - unsigned int flags, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); - - -key : - - -flags : - - -data : - - -signature : - - -Returns : - - - -gnutls_x509_crt_verify_data () -gnutls_x509_crt_verify_data -int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t *data, - const gnutls_datum_t *signature); - - -crt : - - -flags : - - -data : - - -signature : - - -Returns : - - - -gnutls_x509_crt_verify_hash () -gnutls_x509_crt_verify_hash -int gnutls_x509_crt_verify_hash (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t *hash, - const gnutls_datum_t *signature); - - -crt : - - -flags : - - -hash : - - -signature : - - -Returns : - - - -gnutls_x509_crt_get_verify_algorithm () -gnutls_x509_crt_get_verify_algorithm -int gnutls_x509_crt_get_verify_algorithm - (gnutls_x509_crt_t crt, - const gnutls_datum_t *signature, - gnutls_digest_algorithm_t *hash); - - -crt : - - -signature : - - -hash : - - -Returns : - - - -gnutls_x509_privkey_sign_hash () -gnutls_x509_privkey_sign_hash -int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, - const gnutls_datum_t *hash, - gnutls_datum_t *signature); - - -key : - - -hash : - - -signature : - - -Returns : - - - -struct gnutls_x509_crq_int -gnutls_x509_crq_int -struct gnutls_x509_crq_int; - - - -gnutls_x509_crq_t -gnutls_x509_crq_t - typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t; - - - - -gnutls_x509_crq_print () -gnutls_x509_crq_print -int gnutls_x509_crq_print (gnutls_x509_crq_t crq, - gnutls_certificate_print_formats_t format, - gnutls_datum_t *out); - - -crq : - - -format : - - -out : - - -Returns : - - - -gnutls_x509_crq_init () -gnutls_x509_crq_init -int gnutls_x509_crq_init (gnutls_x509_crq_t *crq); - - -crq : - - -Returns : - - - -gnutls_x509_crq_deinit () -gnutls_x509_crq_deinit -void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq); - - -crq : - - - - -gnutls_x509_crq_import () -gnutls_x509_crq_import -int gnutls_x509_crq_import (gnutls_x509_crq_t crq, - const gnutls_datum_t *data, - gnutls_x509_crt_fmt_t format); - - -crq : - - -data : - - -format : - - -Returns : - - - -gnutls_x509_crq_get_dn () -gnutls_x509_crq_get_dn -int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, - char *buf, - size_t *sizeof_buf); - - -crq : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crq_get_dn_oid () -gnutls_x509_crq_get_dn_oid -int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, - int indx, - void *oid, - size_t *sizeof_oid); - - -crq : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crq_get_dn_by_oid () -gnutls_x509_crq_get_dn_by_oid -int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, - int indx, - unsigned int raw_flag, - void *buf, - size_t *sizeof_buf); - - -crq : - - -oid : - - -indx : - - -raw_flag : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crq_set_dn_by_oid () -gnutls_x509_crq_set_dn_by_oid -int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, - unsigned int raw_flag, - const void *data, - unsigned int sizeof_data); - - -crq : - - -oid : - - -raw_flag : - - -data : - - -sizeof_data : - - -Returns : - - - -gnutls_x509_crq_set_version () -gnutls_x509_crq_set_version -int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, - unsigned int version); - - -crq : - - -version : - - -Returns : - - - -gnutls_x509_crq_get_version () -gnutls_x509_crq_get_version -int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq); - - -crq : - - -Returns : - - - -gnutls_x509_crq_set_key () -gnutls_x509_crq_set_key -int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key); - - -crq : - - -key : - - -Returns : - - - -gnutls_x509_crq_sign2 () -gnutls_x509_crq_sign2 -int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - - -crq : - - -key : - - -dig : - - -flags : - - -Returns : - - - -gnutls_x509_crq_sign () -gnutls_x509_crq_sign -int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key); - - -crq : - - -key : - - -Returns : - - - -gnutls_x509_crq_set_challenge_password () -gnutls_x509_crq_set_challenge_password -int gnutls_x509_crq_set_challenge_password - (gnutls_x509_crq_t crq, - const char *pass); - - -crq : - - -pass : - - -Returns : - - - -gnutls_x509_crq_get_challenge_password () -gnutls_x509_crq_get_challenge_password -int gnutls_x509_crq_get_challenge_password - (gnutls_x509_crq_t crq, - char *pass, - size_t *sizeof_pass); - - -crq : - - -pass : - - -sizeof_pass : - - -Returns : - - - -gnutls_x509_crq_set_attribute_by_oid () -gnutls_x509_crq_set_attribute_by_oid -int gnutls_x509_crq_set_attribute_by_oid - (gnutls_x509_crq_t crq, - const char *oid, - void *buf, - size_t sizeof_buf); - - -crq : - - -oid : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crq_get_attribute_by_oid () -gnutls_x509_crq_get_attribute_by_oid -int gnutls_x509_crq_get_attribute_by_oid - (gnutls_x509_crq_t crq, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf); - - -crq : - - -oid : - - -indx : - - -buf : - - -sizeof_buf : - - -Returns : - - - -gnutls_x509_crq_export () -gnutls_x509_crq_export -int gnutls_x509_crq_export (gnutls_x509_crq_t crq, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t *output_data_size); - - -crq : - - -format : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_crt_set_crq () -gnutls_x509_crt_set_crq -int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq); - - -crt : - - -crq : - - -Returns : - - - -gnutls_x509_crt_set_crq_extensions () -gnutls_x509_crt_set_crq_extensions -int gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq); - - -crt : - - -crq : - - -Returns : - - - -gnutls_x509_crq_set_key_rsa_raw () -gnutls_x509_crq_set_key_rsa_raw -int gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t crq, - const gnutls_datum_t *m, - const gnutls_datum_t *e); - - -crq : - - -m : - - -e : - - -Returns : - - - -gnutls_x509_crq_set_subject_alt_name () -gnutls_x509_crq_set_subject_alt_name -int gnutls_x509_crq_set_subject_alt_name - (gnutls_x509_crq_t crq, - gnutls_x509_subject_alt_name_t nt, - const void *data, - unsigned int data_size, - unsigned int flags); - - -crq : - - -nt : - - -data : - - -data_size : - - -flags : - - -Returns : - - - -gnutls_x509_crq_set_key_usage () -gnutls_x509_crq_set_key_usage -int gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t crq, - unsigned int usage); - - -crq : - - -usage : - - -Returns : - - - -gnutls_x509_crq_set_basic_constraints () -gnutls_x509_crq_set_basic_constraints -int gnutls_x509_crq_set_basic_constraints - (gnutls_x509_crq_t crq, - unsigned int ca, - int pathLenConstraint); - - -crq : - - -ca : - - -pathLenConstraint : - - -Returns : - - - -gnutls_x509_crq_set_key_purpose_oid () -gnutls_x509_crq_set_key_purpose_oid -int gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert, - const void *oid, - unsigned int critical); - - -cert : - - -oid : - - -critical : - - -Returns : - - - -gnutls_x509_crq_get_key_purpose_oid () -gnutls_x509_crq_get_key_purpose_oid -int gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - unsigned int *critical); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -critical : - - -Returns : - - - -gnutls_x509_crq_get_extension_data () -gnutls_x509_crq_get_extension_data -int gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t cert, - int indx, - void *data, - size_t *sizeof_data); - - -cert : - - -indx : - - -data : - - -sizeof_data : - - -Returns : - - - -gnutls_x509_crq_get_extension_info () -gnutls_x509_crq_get_extension_info -int gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid, - int *critical); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -critical : - - -Returns : - - - -gnutls_x509_crq_get_attribute_data () -gnutls_x509_crq_get_attribute_data -int gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t cert, - int indx, - void *data, - size_t *sizeof_data); - - -cert : - - -indx : - - -data : - - -sizeof_data : - - -Returns : - - - -gnutls_x509_crq_get_attribute_info () -gnutls_x509_crq_get_attribute_info -int gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t cert, - int indx, - void *oid, - size_t *sizeof_oid); - - -cert : - - -indx : - - -oid : - - -sizeof_oid : - - -Returns : - - - -gnutls_x509_crq_get_pk_algorithm () -gnutls_x509_crq_get_pk_algorithm -int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, - unsigned int *bits); - - -crq : - - -bits : - - -Returns : - - - -gnutls_x509_crq_get_key_id () -gnutls_x509_crq_get_key_id -int gnutls_x509_crq_get_key_id (gnutls_x509_crq_t crq, - unsigned int flags, - unsigned char *output_data, - size_t *output_data_size); - - -crq : - - -flags : - - -output_data : - - -output_data_size : - - -Returns : - - - -gnutls_x509_crq_get_key_rsa_raw () -gnutls_x509_crq_get_key_rsa_raw -int gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t crq, - gnutls_datum_t *m, - gnutls_datum_t *e); - - -crq : - - -m : - - -e : - - -Returns : - - - -gnutls_x509_crq_get_key_usage () -gnutls_x509_crq_get_key_usage -int gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t cert, - unsigned int *key_usage, - unsigned int *critical); - - -cert : - - -key_usage : - - -critical : - - -Returns : - - - -gnutls_x509_crq_get_basic_constraints () -gnutls_x509_crq_get_basic_constraints -int gnutls_x509_crq_get_basic_constraints - (gnutls_x509_crq_t cert, - unsigned int *critical, - int *ca, - int *pathlen); - - -cert : - - -critical : - - -ca : - - -pathlen : - - -Returns : - - - -gnutls_x509_crq_get_subject_alt_name () -gnutls_x509_crq_get_subject_alt_name -int gnutls_x509_crq_get_subject_alt_name - (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, - size_t *ret_size, - unsigned int *ret_type, - unsigned int *critical); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -ret_type : - - -critical : - - -Returns : - - - -gnutls_x509_crq_get_subject_alt_othername_oid () -gnutls_x509_crq_get_subject_alt_othername_oid -int gnutls_x509_crq_get_subject_alt_othername_oid - (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, - size_t *ret_size); - - -cert : - - -seq : - - -ret : - - -ret_size : - - -Returns : - - - -gnutls_x509_crq_get_extension_by_oid () -gnutls_x509_crq_get_extension_by_oid -int gnutls_x509_crq_get_extension_by_oid - (gnutls_x509_crq_t cert, - const char *oid, - int indx, - void *buf, - size_t *sizeof_buf, - unsigned int *critical); - - -cert : - - -oid : - - -indx : - - -buf : - - -sizeof_buf : - - -critical : - - -Returns : - - - - - - diff -Nru gnutls26-2.8.6/doc/scripts/gdoc gnutls26-2.4.1/doc/scripts/gdoc --- gnutls26-2.8.6/doc/scripts/gdoc 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/scripts/gdoc 2008-06-19 11:00:10.000000000 +0100 @@ -1,33 +1,28 @@ #!/usr/bin/perl -## Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson -## added -texinfo, -listfunc, -pkg-name -## man page revamp -## various improvements -## Copyright (c) 2001, 2002 Nikos Mavrogiannopoulos -## added -tex -## Copyright (c) 1998 Michael Zucchi - -# 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 3 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. +## Copyright (c) 2002, 2003, 2004, 2005, 2006 Simon Josefsson ## +## added -texinfo, -listfunc ## +## man page revamp ## +## various improvements ## +## Copyright (c) 1998 Michael Zucchi, All Rights Reserved ## +## hacked to allow -tex option --nmav ## +## ## +## This software falls under the GNU Public License. Please read ## +## the COPYING file for more information ## + +# +# This will read a 'c' file and scan for embedded comments in the +# style of gnome comments (+minor extensions - see below). # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# This program is modified by Nikos Mavroyanopoulos, for the gnutls +# project. -# This will read a C source code file and scan for embedded comments -# in the style of gnome comments (+minor extensions - see below). +# Note: This only supports 'c'. # usage: # gdoc [ -docbook | -html | -text | -man | -tex | -texinfo | -listfunc ] # [ -sourceversion verno ] [ -include file | -includefuncprefix ] -# [ -bugsto address ] [ -pkg-name packagename ] +# [ -bugsto address ] # [ -seeinfo infonode ] [ -copyright notice ] [ -verbatimcopying ] # [ -function funcname [ -function funcname ...] ] c file(s)s > outputfile # @@ -51,10 +46,6 @@ # For man pages, include a section about reporting bugs and mention # the given e-mail address, e.g 'bug-libidn@gnu.org'. # -# -pkg-name packagename -# For man pages when -bugsto is used, also include help URLs to the -# the project's home page. For example, "GNU Libidn". -# # -seeinfo infonode # For man pages, include a section that point to an info manual # for more information. @@ -132,7 +123,7 @@ use POSIX qw(strftime); # match expressions used to find embedded type information -$type_constant = "((?\$2", +%highlights_html = ( $type_constant, "\$1", $type_func, "\$1", $type_struct, "\$1", $type_param, "\$1" ); $blankline_html = "

    "; -%highlights_texinfo = ( $type_constant, "\\\@code{\$2}", +%highlights_texinfo = ( $type_constant, "\\\@code{\$1}", $type_func, "\\\@code{\$1}", $type_struct, "\\\@code{\$1}", $type_param, "\\\@code{\$1}" ); $blankline_texinfo = ""; -%highlights_tex = ( $type_constant, "{\\\\it \$2}", +%highlights_tex = ( $type_constant, "{\\\\it \$1}", $type_func, "{\\\\bf \$1}", $type_struct, "{\\\\it \$1}", $type_param, "{\\\\bf \$1}" ); $blankline_tex = "\\\\"; # sgml, docbook format -%highlights_sgml = ( $type_constant, "\$2", +%highlights_sgml = ( $type_constant, "\$1", $type_func, "\$1", $type_struct, "\$1", $type_env, "\$1", @@ -170,14 +161,14 @@ $blankline_sgml = "\n"; # these are pretty rough -%highlights_man = ( $type_constant, "\\\\fB\$2\\\\fP", +%highlights_man = ( $type_constant, "\\\\fB\$1\\\\fP", $type_func, "\\\\fB\$1\\\\fP", $type_struct, "\\\\fB\$1\\\\fP", $type_param, "\\\\fI\$1\\\\fP" ); $blankline_man = ""; # text-mode -%highlights_text = ( $type_constant, "\$2", +%highlights_text = ( $type_constant, "\$1", $type_func, "\$1", $type_struct, "\$1", $type_param, "\$1" ); @@ -188,7 +179,7 @@ print "Usage: $0 [ -v ] [ -docbook | -html | -text | -man | -tex | -texinfo -listfunc ]\n"; print " [ -sourceversion verno ] [ -include file | -includefuncprefix ]\n"; print " [ -bugsto address ] [ -seeinfo infonode ] [ -copyright notice]\n"; - print " [ -verbatimcopying ] [ -pkg-name packagename ]\n"; + print " [ -verbatimcopying ]\n"; print " [ -function funcname [ -function funcname ...] ]\n"; print " c source file(s) > outputfile\n"; exit 1; @@ -244,8 +235,6 @@ $includefuncprefix = 1; } elsif ($cmd eq "-bugsto") { $bugsto = shift @ARGV; - } elsif ($cmd eq "-pkg-name") { - $pkgname = shift @ARGV; } elsif ($cmd eq "-copyright") { $copyright = shift @ARGV; } elsif ($cmd eq "-verbatimcopying") { @@ -317,6 +306,24 @@ $return; } +sub output_highlight { + my $contents = join "\n", @_; + my $line; + + foreach $pattern (keys %highlights) { +# print "scanning pattern $pattern ($highlights{$pattern})\n"; + $contents =~ s:$pattern:repstr($pattern, $highlights{$pattern}, $1, $2, $3, $4):gse; + } + foreach $line (split "\n", $contents) { + if ($line eq ""){ + print $lineprefix, $blankline; + } else { + print $lineprefix, $line; + } + print "\n"; + } +} + sub just_highlight { my $contents = join "\n", @_; my $line; @@ -338,10 +345,6 @@ return $ret; } -sub output_highlight { - print (just_highlight (@_)); -} - # output in texinfo sub output_texinfo { my %args = %{$_[0]}; @@ -625,9 +628,7 @@ print ".SH ARGUMENTS\n"; foreach $parameter (@{$args{'parameterlist'}}) { print ".IP \"".$args{'parametertypes'}{$parameter}." ".$parameter."\" 12\n"; - $param = $args{'parameters'}{$parameter}; - $param =~ s/-/\\-/g; - output_highlight($param); + output_highlight($args{'parameters'}{$parameter}); } foreach $section (@{$args{'sectionlist'}}) { print ".SH \"" . uc($section) . "\"\n"; @@ -639,11 +640,6 @@ if ($args{'bugsto'}) { print ".SH \"REPORTING BUGS\"\n"; print "Report bugs to <". $args{'bugsto'} . ">.\n"; - if ($args{'pkgname'}) { - print $args{'pkgname'} . " home page: " . - "http://www.gnu.org/software/" . $args{'module'} . "/\n"; - } - print "General help using GNU software: http://www.gnu.org/gethelp/\n"; } if ($args{'copyright'}) { @@ -651,9 +647,9 @@ print "Copyright \\(co ". $args{'copyright'} . ".\n"; if ($args{'verbatimcopying'}) { print ".br\n"; - print "Copying and distribution of this file, with or without modification,\n"; - print "are permitted in any medium without royalty provided the copyright\n"; - print "notice and this notice are preserved.\n"; + print "Permission is granted to make and distribute verbatim copies of this\n"; + print "manual provided the copyright notice and this permission notice are\n"; + print "preserved on all copies.\n"; } } @@ -766,7 +762,6 @@ 'include' => $include, 'includefuncprefix' => $includefuncprefix, 'bugsto' => $bugsto, - 'pkgname' => $pkgname, 'copyright' => $copyright, 'verbatimcopying' => $verbatimcopying, 'seeinfo' => $seeinfo, @@ -907,3 +902,4 @@ } } } + diff -Nru gnutls26-2.8.6/doc/scripts/Makefile.in gnutls26-2.4.1/doc/scripts/Makefile.in --- gnutls26-2.8.6/doc/scripts/Makefile.in 2010-03-15 10:29:20.000000000 +0000 +++ gnutls26-2.4.1/doc/scripts/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = doc/scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,7 +119,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -130,96 +142,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -231,31 +207,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -270,29 +231,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -300,18 +247,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -320,51 +260,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -373,123 +295,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -501,78 +408,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,11 +495,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -619,7 +513,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -633,14 +526,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/scripts/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/scripts/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/scripts/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -658,7 +551,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -688,17 +580,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -726,7 +614,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -745,8 +632,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -755,28 +640,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -810,7 +685,6 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/doc/signatures.texi gnutls26-2.4.1/doc/signatures.texi --- gnutls26-2.8.6/doc/signatures.texi 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/doc/signatures.texi 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,149 @@ +In this section we will provide some information about digital +signatures, how they work, and give the rationale for disabling some +of the algorithms used. + +Digital signatures work by using somebody's secret key to sign some +arbitrary data. Then anybody else could use the public key of that +person to verify the signature. Since the data may be arbitrary it is +not suitable input to a cryptographic digital signature algorithm. For +this reason and also for performance cryptographic hash algorithms are +used to preprocess the input to the signature algorithm. This works as +long as it is difficult enough to generate two different messages with +the same hash algorithm output. In that case the same signature could +be used as a proof for both messages. Nobody wants to sign an innocent +message of donating 1 @euro{} to Greenpeace and find out that he +donated 1.000.000 @euro{} to Bad Inc. + +For a hash algorithm to be called cryptographic the following three +requirements must hold +@enumerate +@item Preimage resistance. That means the algorithm must be one way and given +the output of the hash function @math{H(x)}, it is impossible to +calculate @math{x}. + +@item 2nd preimage resistance. That means that given a pair @math{x,y} with @math{y=H(x)} it is impossible +to calculate an @math{x'} such that @math{y=H(x')}. + +@item Collision resistance. That means that it is impossible to calculate random @math{x} and @math{x'} such +@math{H(x')=H(x)}. +@end enumerate + +The last two requirements in the list are the most important in +digital signatures. These protect against somebody who would like to +generate two messages with the same hash output. When an algorithm is +considered broken usually it means that the Collision resistance of +the algorithm is less than brute force. Using the birthday paradox the +brute force attack takes +@iftex +@math{2^{(\rm{hash\ size}) / 2}} +@end iftex +@ifnottex +@math{2^{((hash size) / 2)}} +@end ifnottex +operations. Today colliding certificates using the MD5 hash algorithm +have been generated as shown in @xcite{WEGER}. + +There has been cryptographic results for the SHA-1 hash algorithms as +well, although they are not yet critical. Before 2004, MD5 had a +presumed collision strength of @math{2^64}, but it has been showed to +have a collision strength well under @math{2^50}. As of November +2005, it is believed that SHA-1's collision strength is around +@math{2^63}. We consider this sufficiently hard so that we still +support SHA-1. We anticipate that SHA-256/386/512 will be used in +publicly-distributed certificates in the future. When @math{2^63} can +be considered too weak compared to the computer power available +sometime in the future, SHA-1 will be disabled as well. The collision +attacks on SHA-1 may also get better, given the new interest in tools +for creating them. + +@subsection Supported Algorithms +The available digital signature algorithms in @acronym{GnuTLS} are +listed below: + +@table @code +@item RSA +RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir +and Leonard Adleman. It can be used with any hash functions. + +@item DSA +DSA is the USA's Digital Signature Standard. It uses only the SHA-1 +hash algorithm. + +@end table + +The supported cryptographic hash algorithms are: + +@table @code +@item MD2 +MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is +optimized for 8-bit processors. Outputs 128 bits of data. There are no +known weaknesses of this algorithm but since this algorithm is rarely +used and not really studied it should not be used today. + +@item MD5 +MD5 is a cryptographic hash algorithm designed by Ron Rivest. Outputs +128 bits of data. It is considered to be broken. + +@item SHA-1 +SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 +bits of data. It is also considered to be broken, though no practical +attacks have been found. + +@item RMD160 +RIPEMD is a cryptographic hash algorithm developed in the framework of +the EU project RIPE. Outputs 160 bits of data. + +@end table + + +@subsection Trading Security for Interoperability + +If you connect to a server and use GnuTLS' functions to verify the +certificate chain, and get a @ref{GNUTLS_CERT_INSECURE_ALGORITHM} +validation error (@pxref{Verifying X.509 certificate paths}), it means +that somewhere in the certificate chain there is a certificate signed +using @code{RSA-MD2} or @code{RSA-MD5}. These two digital signature +algorithms are considered broken, so GnuTLS fail when attempting to +verify the certificate. In some situations, it may be useful to be +able to verify the certificate chain anyway, assuming an attacker did +not utilize the fact that these signatures algorithms are broken. +This section will give help on how to achieve that. + +First, it is important to know that you do not have to enable any of +the flags discussed here to be able to use trusted root CA +certificates signed using @code{RSA-MD2} or @code{RSA-MD5}. The only +attack today is that it is possible to generate certificates with +colliding signatures (collision resistance); you cannot generate a +certificate that has the same signature as an already existing +signature (2nd preimage resistance). + +If you are using @ref{gnutls_certificate_verify_peers2} to verify the +certificate chain, you can call +@ref{gnutls_certificate_set_verify_flags} with the +@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2} or +@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5} flag, as in: + +@example + gnutls_certificate_set_verify_flags (x509cred, + GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5); +@end example + +This will tell the verifier algorithm to enable @code{RSA-MD5} when +verifying the certificates. + +If you are using @ref{gnutls_x509_crt_verify} or +@ref{gnutls_x509_crt_list_verify}, you can pass the +@code{GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5} parameter directly in the +@code{flags} parameter. + +If you are using these flags, it may also be a good idea to warn the +user when verification failure occur for this reason. The simplest is +to not use the flags by default, and only fall back to using them +after warning the user. If you wish to inspect the certificate chain +yourself, you can use @ref{gnutls_certificate_get_peers} to extract +the raw server's certificate chain, then use +@ref{gnutls_x509_crt_import} to parse each of the certificates, and +then use @ref{gnutls_x509_crt_get_signature_algorithm} to find out the +signing algorithm used for each certificate. If any of the +intermediary certificates are using @code{GNUTLS_SIGN_RSA_MD2} or +@code{GNUTLS_SIGN_RSA_MD5}, you could present a warning. diff -Nru gnutls26-2.8.6/doc/stamp-vti gnutls26-2.4.1/doc/stamp-vti --- gnutls26-2.8.6/doc/stamp-vti 2010-03-15 10:35:20.000000000 +0000 +++ gnutls26-2.4.1/doc/stamp-vti 2008-06-30 22:14:30.000000000 +0100 @@ -1,4 +1,4 @@ -@set UPDATED 2 June 2009 -@set UPDATED-MONTH June 2009 -@set EDITION 2.8.6 -@set VERSION 2.8.6 +@set UPDATED 30 June 2008 +@set UPDATED-MONTH June 2008 +@set EDITION 2.4.1 +@set VERSION 2.4.1 diff -Nru gnutls26-2.8.6/doc/texinfo.css gnutls26-2.4.1/doc/texinfo.css --- gnutls26-2.8.6/doc/texinfo.css 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/texinfo.css 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -body { - margin: 2%; - padding: 0 5%; - background: #ffffff; -} -h1,h2,h3,h4,h5 { - font-weight: bold; - padding: 5px 5px 5px 5px; - background-color: #c2e0ff; - color: #336699; -} -h1 { - padding: 2em 2em 2em 5%; - color: white; - background: #336699; - text-align: center; - letter-spacing: 3px; -} -h2 { text-decoration: underline; } -pre { - margin: 0 5%; - padding: 0.5em; -} -pre.example { - border: solid 1px; - background: #eeeeff; - padding-bottom: 1em; -} -pre.verbatim { - border: solid 1px gray; - background: white; - padding-bottom: 1em; -} -div.node { - margin: 0 -5% 0 -2%; - padding: 0.5em 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-weight: bold; -} -dd, li { - padding-top: 0.1em; - padding-bottom: 0.1em; -} diff -Nru gnutls26-2.8.6/doc/TODO gnutls26-2.4.1/doc/TODO --- gnutls26-2.8.6/doc/TODO 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/doc/TODO 2008-06-19 11:00:09.000000000 +0100 @@ -4,11 +4,16 @@ Current list: + Support PKCS#8 AES and DES-MD5 (tests/enc3pkcs8.pem) encrypted keys. -* Implement Datagram-TLS (DTLS). -* Correct TLS 1.2 support. * Cleanup pkix.asn and remove unused (by the certificate api) structures. That way memory used will be reduced. * Improve or rewrite libtasn1 to make it easier to maintain. +* Make and use by gnutls a flexible interface for algorithms such + as public key, symmetric, PRNGs to allow for plugins that use other + libraries than libgcrypt or even hardware drivers. Flexible means + that it should allow replacing of some components without harming the + others (i.e. now with libgcrypt there is no way to replace the prng component + with something else since libgcrypt uses it internally.) +* Allow adding multiple subject alternative names (certtool + x509 library). * Verify added CRLs (is it really needed?) * Add support for generating empty CRLs * Document the format for the supported DN attributes. @@ -18,6 +23,8 @@ - Allow verifying of certificates on their reception. - Add gnutls_certificate_set_openpgp_keyring() function, similar to gnutls_certificate_set_openpgp_key(). +- Use subkeys with the 0x20 flag in openpgp keys (if present), + instead of the main key. - Add function to extract the signers of an openpgp key. Should be similar to gnutls_x509_crt_get_dn_oid(). - Add function to verify an openpgp key against a plain key. @@ -36,16 +43,22 @@ application to give progress feedback to user. - Support non-blocking gnutls_{dh,rsa}_params_generate2 for when there is not enough entropy available. +- Implement Datagram-TLS (DTLS). - Chain verifications. + - Short-cut the certificate verification algorithm before the + root if a middle-CA is trusted. - Check path length constraints. - Check keyCertSign key usages. - Reject extensions in v1 certificates. -- Support for cryptodev (and thus hardware accelerators) +- Update libgnutls-extra.m4 to use modern autoconf constructs. +- Support for hardware SSL accelerators - Exhaustive test suite, using NIST's PKI Test vectors, see http://csrc.nist.gov/pki/testing/x509paths_old.html and http://csrc.nist.gov/pki/testing/x509paths.html - Clean up certtool. Perhaps separate the different functions into separate tools. Probably a rewrite is necessary. +- Enable certtool's template files to allow arbitrary + OIDs to be specified for x509v3's extended key usage attribute. - Make it possible to extract the internal state of a session, to be able to execve a new process that take over the current living socket (using the fcntl close-on-exec flag) and @@ -81,9 +94,6 @@ - Investigate why failed client authentication results in weird error messages. See http://permalink.gmane.org/gmane.network.gnutls.general/875 - Print X.509 DN in the proper order. -- Debug why connections to smtp.hispeed.ch fails (Debian #429183). - Most likely the server is buggy, but it would be useful to document - the problem better. (+) Means high priority (*) Means medium priority diff -Nru gnutls26-2.8.6/doc/version.texi gnutls26-2.4.1/doc/version.texi --- gnutls26-2.8.6/doc/version.texi 2010-03-15 10:35:20.000000000 +0000 +++ gnutls26-2.4.1/doc/version.texi 2008-06-30 22:14:30.000000000 +0100 @@ -1,4 +1,4 @@ -@set UPDATED 2 June 2009 -@set UPDATED-MONTH June 2009 -@set EDITION 2.8.6 -@set VERSION 2.8.6 +@set UPDATED 30 June 2008 +@set UPDATED-MONTH June 2008 +@set EDITION 2.4.1 +@set VERSION 2.4.1 diff -Nru gnutls26-2.8.6/doc/x509-api.texi gnutls26-2.4.1/doc/x509-api.texi --- gnutls26-2.8.6/doc/x509-api.texi 2010-03-15 10:35:24.000000000 +0000 +++ gnutls26-2.4.1/doc/x509-api.texi 2008-06-30 22:14:34.000000000 +0100 @@ -7,13 +7,9 @@ @deftypefun {int} {gnutls_pkcs12_bag_decrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}) @var{bag}: The bag -@var{pass}: The password used for encryption, must be ASCII. +@var{pass}: The password used for encryption. This can only be ASCII. -This function will decrypt the given encrypted bag and return 0 on -success. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will decrypt the given encrypted bag and return 0 on success. @end deftypefun @subheading gnutls_pkcs12_bag_deinit @@ -29,14 +25,11 @@ @deftypefun {int} {gnutls_pkcs12_bag_encrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}, unsigned int @var{flags}) @var{bag}: The bag -@var{pass}: The password used for encryption, must be ASCII - -@var{flags}: should be one of @code{gnutls_pkcs_encrypt_flags_t} elements bitwise or'd +@var{pass}: The password used for encryption. This can only be ASCII. -This function will encrypt the given bag. +@var{flags}: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will encrypt the given bag and return 0 on success. @end deftypefun @subheading gnutls_pkcs12_bag_get_count @@ -44,10 +37,7 @@ @deftypefun {int} {gnutls_pkcs12_bag_get_count} (gnutls_pkcs12_bag_t @var{bag}) @var{bag}: The bag -This function will return the number of the elements withing the bag. - -@strong{Returns:} Number of elements in bag, or an negative error code on -error. +This function will return the number of the elements withing the bag. @end deftypefun @subheading gnutls_pkcs12_bag_get_data @@ -106,9 +96,8 @@ @var{indx}: The element of the bag to get the type -This function will return the bag's type. - -@strong{Returns:} One of the @code{gnutls_pkcs12_bag_type_t} enumerations. +This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t +enumerations. @end deftypefun @subheading gnutls_pkcs12_bag_init @@ -336,8 +325,6 @@ @subheading gnutls_pkcs7_delete_crl @anchor{gnutls_pkcs7_delete_crl} @deftypefun {int} {gnutls_pkcs7_delete_crl} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{indx}: the index of the crl to delete This function will delete a crl from a PKCS7 or RFC2630 crl set. @@ -350,8 +337,6 @@ @subheading gnutls_pkcs7_delete_crt @anchor{gnutls_pkcs7_delete_crt} @deftypefun {int} {gnutls_pkcs7_delete_crt} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - @var{indx}: the index of the certificate to delete This function will delete a certificate from a PKCS7 or RFC2630 @@ -382,15 +367,13 @@ If the structure is PEM encoded, it will have a header of "BEGIN PKCS7". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. @end deftypefun @subheading gnutls_pkcs7_get_crl_count @anchor{gnutls_pkcs7_get_crl_count} @deftypefun {int} {gnutls_pkcs7_get_crl_count} (gnutls_pkcs7_t @var{pkcs7}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - This function will return the number of certifcates in the PKCS7 or RFC2630 crl set. @@ -401,8 +384,6 @@ @subheading gnutls_pkcs7_get_crl_raw @anchor{gnutls_pkcs7_get_crl_raw} @deftypefun {int} {gnutls_pkcs7_get_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}, void * @var{crl}, size_t * @var{crl_size}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{indx}: contains the index of the crl to extract @var{crl}: the contents of the crl will be copied there (may be null) @@ -421,8 +402,6 @@ @subheading gnutls_pkcs7_get_crt_count @anchor{gnutls_pkcs7_get_crt_count} @deftypefun {int} {gnutls_pkcs7_get_crt_count} (gnutls_pkcs7_t @var{pkcs7}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - This function will return the number of certifcates in the PKCS7 or RFC2630 certificate set. @@ -433,8 +412,6 @@ @subheading gnutls_pkcs7_get_crt_raw @anchor{gnutls_pkcs7_get_crt_raw} @deftypefun {int} {gnutls_pkcs7_get_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}, void * @var{certificate}, size_t * @var{certificate_size}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - @var{indx}: contains the index of the certificate to extract @var{certificate}: the contents of the certificate will be copied @@ -489,8 +466,6 @@ @subheading gnutls_pkcs7_set_crl_raw @anchor{gnutls_pkcs7_set_crl_raw} @deftypefun {int} {gnutls_pkcs7_set_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crl}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crl}: the DER encoded crl to be added This function will add a crl to the PKCS7 or RFC2630 crl set. @@ -502,8 +477,6 @@ @subheading gnutls_pkcs7_set_crl @anchor{gnutls_pkcs7_set_crl} @deftypefun {int} {gnutls_pkcs7_set_crl} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crl_t @var{crl}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crl}: the DER encoded crl to be added This function will add a parsed CRL to the PKCS7 or RFC2630 crl @@ -516,8 +489,6 @@ @subheading gnutls_pkcs7_set_crt_raw @anchor{gnutls_pkcs7_set_crt_raw} @deftypefun {int} {gnutls_pkcs7_set_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crt}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crt}: the DER encoded certificate to be added This function will add a certificate to the PKCS7 or RFC2630 @@ -530,8 +501,6 @@ @subheading gnutls_pkcs7_set_crt @anchor{gnutls_pkcs7_set_crt} @deftypefun {int} {gnutls_pkcs7_set_crt} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_t @var{crt}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crt}: the certificate to be copied. This function will add a parsed certificate to the PKCS7 or @@ -547,12 +516,11 @@ @deftypefun {int} {gnutls_x509_crl_check_issuer} (gnutls_x509_crl_t @var{cert}, gnutls_x509_crt_t @var{issuer}) @var{issuer}: is the certificate of a possible issuer -This function will check if the given CRL was issued by the given -issuer certificate. It will return true (1) if the given CRL was -issued by the given issuer, and false (0) if not. +This function will check if the given CRL was issued by the +given issuer certificate. It will return true (1) if the given CRL was issued +by the given issuer, and false (0) if not. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +A negative value is returned in case of an error. @end deftypefun @subheading gnutls_x509_crl_deinit @@ -587,29 +555,6 @@ negative error value. and a negative value on failure. @end deftypefun -@subheading gnutls_x509_crl_get_authority_key_id -@anchor{gnutls_x509_crl_get_authority_key_id} -@deftypefun {int} {gnutls_x509_crl_get_authority_key_id} (gnutls_x509_crl_t @var{crl}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{ret}: The place where the identifier will be copied - -@var{ret_size}: Holds the size of the result field. - -@var{critical}: will be non zero if the extension is marked as critical -(may be null) - -This function will return the CRL authority's key identifier. This -is obtained by the X.509 Authority Key identifier extension field -(2.5.29.35). Note that this function only returns the -keyIdentifier field of the extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crl_get_crt_count @anchor{gnutls_x509_crl_get_crt_count} @deftypefun {int} {gnutls_x509_crl_get_crt_count} (gnutls_x509_crl_t @var{crl}) @@ -662,88 +607,6 @@ with the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crl_get_extension_data -@anchor{gnutls_x509_crl_get_extension_data} -@deftypefun {int} {gnutls_x509_crl_get_extension_data} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. - -@var{data}: a pointer to a structure to hold the data (may be null) - -@var{sizeof_data}: initially holds the size of @code{oid} - -This function will return the requested extension data in the CRL. -The extension data will be stored as a string in the provided -buffer. - -Use @code{gnutls_x509_crl_get_extension_info()} to extract the OID and -critical flag. Use @code{gnutls_x509_crl_get_extension_by_oid()} instead, -if you want to get data indexed by the extension OID rather than -sequence. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crl_get_extension_info -@anchor{gnutls_x509_crl_get_extension_info} -@deftypefun {int} {gnutls_x509_crl_get_extension_info} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{indx}: Specifies which extension OID to send, use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID - -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. - -@var{critical}: output variable with critical flag, may be NULL. - -This function will return the requested extension OID in the CRL, -and the critical flag for it. The extension OID will be stored as -a string in the provided buffer. Use -@code{gnutls_x509_crl_get_extension_data()} to extract the data. - -If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crl_get_extension_oid -@anchor{gnutls_x509_crl_get_extension_oid} -@deftypefun {int} {gnutls_x509_crl_get_extension_oid} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{indx}: Specifies which extension OID to send, use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID (may be null) - -@var{sizeof_oid}: initially holds the size of @code{oid} - -This function will return the requested extension OID in the CRL. -The extension OID will be stored as a string in the provided -buffer. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crl_get_issuer_dn_by_oid @anchor{gnutls_x509_crl_get_issuer_dn_by_oid} @deftypefun {int} {gnutls_x509_crl_get_issuer_dn_by_oid} (gnutls_x509_crl_t @var{crl}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) @@ -810,27 +673,6 @@ @strong{Returns:} when the next CRL will be issued, or (time_t)-1 on error. @end deftypefun -@subheading gnutls_x509_crl_get_number -@anchor{gnutls_x509_crl_get_number} -@deftypefun {int} {gnutls_x509_crl_get_number} (gnutls_x509_crl_t @var{crl}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{ret}: The place where the number will be copied - -@var{ret_size}: Holds the size of the result field. - -@var{critical}: will be non zero if the extension is marked as critical -(may be null) - -This function will return the CRL number extension. This is -obtained by the CRL Number extension field (2.5.29.20). - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crl_get_signature_algorithm @anchor{gnutls_x509_crl_get_signature_algorithm} @deftypefun {int} {gnutls_x509_crl_get_signature_algorithm} (gnutls_x509_crl_t @var{crl}) @@ -895,7 +737,6 @@ @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun - @subheading gnutls_x509_crl_init @anchor{gnutls_x509_crl_init} @deftypefun {int} {gnutls_x509_crl_init} (gnutls_x509_crl_t * @var{crl}) @@ -929,24 +770,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crl_set_authority_key_id -@anchor{gnutls_x509_crl_set_authority_key_id} -@deftypefun {int} {gnutls_x509_crl_set_authority_key_id} (gnutls_x509_crl_t @var{crl}, const void * @var{id}, size_t @var{id_size}) -@var{crl}: a CRL of type @code{gnutls_x509_crl_t} - -@var{id}: The key ID - -@var{id_size}: Holds the size of the serial field. - -This function will set the CRL's authority key ID extension. Only -the keyIdentifier field can be set with this function. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crl_set_crt_serial @anchor{gnutls_x509_crl_set_crt_serial} @deftypefun {int} {gnutls_x509_crl_set_crt_serial} (gnutls_x509_crl_t @var{crl}, const void * @var{serial}, size_t @var{serial_size}, time_t @var{revocation_time}) @@ -969,7 +792,7 @@ @deftypefun {int} {gnutls_x509_crl_set_crt} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{crt}, time_t @var{revocation_time}) @var{crl}: should contain a gnutls_x509_crl_t structure -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} with the revoked certificate +@var{crt}: should contain a gnutls_x509_crt_t structure with the revoked certificate @var{revocation_time}: The time this certificate was revoked @@ -992,23 +815,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crl_set_number -@anchor{gnutls_x509_crl_set_number} -@deftypefun {int} {gnutls_x509_crl_set_number} (gnutls_x509_crl_t @var{crl}, const void * @var{nr}, size_t @var{nr_size}) -@var{crl}: a CRL of type @code{gnutls_x509_crl_t} - -@var{nr}: The CRL number - -@var{nr_size}: Holds the size of the nr field. - -This function will set the CRL's number extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crl_set_this_update @anchor{gnutls_x509_crl_set_this_update} @deftypefun {int} {gnutls_x509_crl_set_this_update} (gnutls_x509_crl_t @var{crl}, time_t @var{act_time}) @@ -1094,7 +900,7 @@ return values. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. @end deftypefun @subheading gnutls_x509_crq_deinit @@ -1151,90 +957,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crq_get_attribute_data -@anchor{gnutls_x509_crq_get_attribute_data} -@deftypefun {int} {gnutls_x509_crq_get_attribute_data} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: Specifies which attribute OID to send. Use zero to get the first one. - -@var{data}: a pointer to a structure to hold the data (may be null) - -@var{sizeof_data}: initially holds the size of @code{oid} - -This function will return the requested attribute data in the -certificate request. The attribute data will be stored as a string in the -provided buffer. - -Use @code{gnutls_x509_crq_get_attribute_info()} to extract the OID. -Use @code{gnutls_x509_crq_get_attribute_by_oid()} instead, -if you want to get data indexed by the attribute OID rather than -sequence. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_attribute_info -@anchor{gnutls_x509_crq_get_attribute_info} -@deftypefun {int} {gnutls_x509_crq_get_attribute_info} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: Specifies which attribute OID to send. Use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID - -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. - -This function will return the requested attribute OID in the -certificate, and the critical flag for it. The attribute OID will -be stored as a string in the provided buffer. Use -@code{gnutls_x509_crq_get_attribute_data()} to extract the data. - -If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_basic_constraints -@anchor{gnutls_x509_crq_get_basic_constraints} -@deftypefun {int} {gnutls_x509_crq_get_basic_constraints} (gnutls_x509_crq_t @var{cert}, unsigned int * @var{critical}, int * @var{ca}, int * @var{pathlen}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{critical}: will be non zero if the extension is marked as critical - -@var{ca}: pointer to output integer indicating CA status, may be NULL, -value is 1 if the certificate CA flag is set, 0 otherwise. - -@var{pathlen}: pointer to output integer indicating path length (may be -NULL), non-negative values indicate a present pathLenConstraint -field and the actual value, -1 indicate that the field is absent. - -This function will read the certificate's basic constraints, and -return the certificates CA status. It reads the basicConstraints -X.509 extension (2.5.29.19). - -@strong{Return value:} If the certificate is a CA a positive value will be -returned, or zero if the certificate does not have CA flag set. -A negative value may be returned in case of errors. If the -certificate does not contain the basicConstraints extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crq_get_challenge_password @anchor{gnutls_x509_crq_get_challenge_password} @deftypefun {int} {gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{sizeof_pass}) @@ -1313,204 +1035,18 @@ @var{buf}: a pointer to a structure to hold the name (may be null) -@var{sizeof_buf}: initially holds the size of @code{buf} - -This function will copy the name of the Certificate request -subject in the provided buffer. The name will be in the form -"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string -will be ASCII or UTF-8 encoded, depending on the certificate data. - -If @code{buf} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crq_get_extension_by_oid -@anchor{gnutls_x509_crq_get_extension_by_oid} -@deftypefun {int} {gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{cert}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{oid}: holds an Object Identified in null terminated string - -@var{indx}: In case multiple same OIDs exist in the extensions, this -specifies which to send. Use zero to get the first one. - -@var{buf}: a pointer to a structure to hold the name (may be null) - -@var{sizeof_buf}: initially holds the size of @code{buf} - -@var{critical}: will be non zero if the extension is marked as critical - -This function will return the extension specified by the OID in -the certificate. The extensions will be returned as binary data -DER encoded, in the provided buffer. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If the certificate does not -contain the specified extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_extension_data -@anchor{gnutls_x509_crq_get_extension_data} -@deftypefun {int} {gnutls_x509_crq_get_extension_data} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. - -@var{data}: a pointer to a structure to hold the data (may be null) - -@var{sizeof_data}: initially holds the size of @code{oid} - -This function will return the requested extension data in the -certificate. The extension data will be stored as a string in the -provided buffer. - -Use @code{gnutls_x509_crq_get_extension_info()} to extract the OID and -critical flag. Use @code{gnutls_x509_crq_get_extension_by_oid()} instead, -if you want to get data indexed by the extension OID rather than -sequence. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_extension_info -@anchor{gnutls_x509_crq_get_extension_info} -@deftypefun {int} {gnutls_x509_crq_get_extension_info} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID - -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. - -@var{critical}: output variable with critical flag, may be NULL. - -This function will return the requested extension OID in the -certificate, and the critical flag for it. The extension OID will -be stored as a string in the provided buffer. Use -@code{gnutls_x509_crq_get_extension_data()} to extract the data. - -If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_key_id -@anchor{gnutls_x509_crq_get_key_id} -@deftypefun {int} {gnutls_x509_crq_get_key_id} (gnutls_x509_crq_t @var{crq}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) -@var{crq}: Holds the certificate signing request - -@var{flags}: should be 0 for now - -@var{output_data}: will contain the key ID - -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) - -This function will return a unique ID the depends on the public -key parameters. This ID can be used in checking whether a -certificate corresponds to the given private key. - -If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. The output will normally be a SHA-1 hash output, -which is 20 bytes. - -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_key_purpose_oid -@anchor{gnutls_x509_crq_get_key_purpose_oid} -@deftypefun {int} {gnutls_x509_crq_get_key_purpose_oid} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: This specifies which OID to return. Use zero to get the first one. - -@var{oid}: a pointer to a buffer to hold the OID (may be null) - -@var{sizeof_oid}: initially holds the size of @code{oid} - -@var{critical}: output variable with critical flag, may be NULL. - -This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions -for human readable names. - -If @code{oid} is null then only the size will be filled. - -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_key_rsa_raw -@anchor{gnutls_x509_crq_get_key_rsa_raw} -@deftypefun {int} {gnutls_x509_crq_get_key_rsa_raw} (gnutls_x509_crq_t @var{crq}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) -@var{crq}: Holds the certificate - -@var{m}: will hold the modulus - -@var{e}: will hold the public exponent - -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_key_usage -@anchor{gnutls_x509_crq_get_key_usage} -@deftypefun {int} {gnutls_x509_crq_get_key_usage} (gnutls_x509_crq_t @var{cert}, unsigned int * @var{key_usage}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{key_usage}: where the key usage bits will be stored - -@var{critical}: will be non zero if the extension is marked as critical - -This function will return certificate's key usage, by reading the -keyUsage X.509 extension (2.5.29.15). The key usage value will +@var{sizeof_buf}: initially holds the size of @code{buf} -@strong{ORed values of the:} @code{GNUTLS_KEY_DIGITAL_SIGNATURE}, -@code{GNUTLS_KEY_NON_REPUDIATION}, @code{GNUTLS_KEY_KEY_ENCIPHERMENT}, -@code{GNUTLS_KEY_DATA_ENCIPHERMENT}, @code{GNUTLS_KEY_KEY_AGREEMENT}, -@code{GNUTLS_KEY_KEY_CERT_SIGN}, @code{GNUTLS_KEY_CRL_SIGN}, -@code{GNUTLS_KEY_ENCIPHER_ONLY}, @code{GNUTLS_KEY_DECIPHER_ONLY}. +This function will copy the name of the Certificate request +subject in the provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data. -@strong{Returns:} the certificate key usage, or a negative value in case of -parsing error. If the certificate does not contain the keyUsage -extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be -returned. +If @code{buf} is null then only the size will be filled. -@strong{Since:} 2.8.0 +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. @end deftypefun @subheading gnutls_x509_crq_get_pk_algorithm @@ -1532,74 +1068,6 @@ success, or a negative value on error. @end deftypefun -@subheading gnutls_x509_crq_get_subject_alt_name -@anchor{gnutls_x509_crq_get_subject_alt_name} -@deftypefun {int} {gnutls_x509_crq_get_subject_alt_name} (gnutls_x509_crq_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{ret_type}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{seq}: specifies the sequence number of the alt name, 0 for the -first one, 1 for the second etc. - -@var{ret}: is the place where the alternative name will be copied to - -@var{ret_size}: holds the size of ret. - -@var{ret_type}: holds the @code{gnutls_x509_subject_alt_name_t} name type - -@var{critical}: will be non zero if the extension is marked as critical -(may be null) - -This function will return the alternative names, contained in the -given certificate. It is the same as -@code{gnutls_x509_crq_get_subject_alt_name()} except for the fact that it -will return the type of the alternative name in @code{ret_type} even if -the function fails for some reason (i.e. the buffer provided is -not enough). - -@strong{Returns:} the alternative subject name type on success, one of the -enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough to -hold the value. In that case @code{ret_size} will be updated with the -required size. If the certificate request does not have an -Alternative name with the specified sequence number then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_get_subject_alt_othername_oid -@anchor{gnutls_x509_crq_get_subject_alt_othername_oid} -@deftypefun {int} {gnutls_x509_crq_get_subject_alt_othername_oid} (gnutls_x509_crq_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - -@var{ret}: is the place where the otherName OID will be copied to - -@var{ret_size}: holds the size of ret. - -This function will extract the type OID of an otherName Subject -Alternative Name, contained in the given certificate, and return -the type as an enumerated element. - -This function is only useful if -@code{gnutls_x509_crq_get_subject_alt_name()} returned -@code{GNUTLS_SAN_OTHERNAME}. - -@strong{Returns:} the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, -it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, -e.g. @code{GNUTLS_SAN_OTHERNAME_XMPP}, and @code{GNUTLS_SAN_OTHERNAME} for -unknown OIDs. It will return @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if -@code{ret_size} is not large enough to hold the value. In that case -@code{ret_size} will be updated with the required size. If the -certificate does not have an Alternative name with the specified -sequence number and with the otherName type then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crq_get_version @anchor{gnutls_x509_crq_get_version} @deftypefun {int} {gnutls_x509_crq_get_version} (gnutls_x509_crq_t @var{crq}) @@ -1640,26 +1108,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crq_print -@anchor{gnutls_x509_crq_print} -@deftypefun {int} {gnutls_x509_crq_print} (gnutls_x509_crq_t @var{crq}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) -@var{crq}: The structure to be printed - -@var{format}: Indicate the format to use - -@var{out}: Newly allocated datum with zero terminated string. - -This function will pretty print a certificate request, suitable for -display to a human. - -The output @code{out} needs to be deallocate using @code{gnutls_free()}. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crq_set_attribute_by_oid @anchor{gnutls_x509_crq_set_attribute_by_oid} @deftypefun {int} {gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{sizeof_buf}) @@ -1678,25 +1126,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crq_set_basic_constraints -@anchor{gnutls_x509_crq_set_basic_constraints} -@deftypefun {int} {gnutls_x509_crq_set_basic_constraints} (gnutls_x509_crq_t @var{crq}, unsigned int @var{ca}, int @var{pathLenConstraint}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} - -@var{ca}: true(1) or false(0). Depending on the Certificate authority status. - -@var{pathLenConstraint}: non-negative values indicate maximum length of path, -and negative values indicate that the pathLenConstraints field should -not be present. - -This function will set the basicConstraints certificate extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crq_set_challenge_password @anchor{gnutls_x509_crq_set_challenge_password} @deftypefun {int} {gnutls_x509_crq_set_challenge_password} (gnutls_x509_crq_t @var{crq}, const char * @var{pass}) @@ -1723,72 +1152,17 @@ @var{sizeof_data}: holds the size of @code{data} -This function will set the part of the name of the Certificate -request subject, specified by the given OID. The input string -should be ASCII or UTF-8 encoded. +This function will set the part of the name of the Certificate request subject, specified +by the given OID. The input string should be ASCII or UTF-8 encoded. Some helper macros with popular OIDs can be found in gnutls/x509.h With this function you can only set the known OIDs. You can test for known OIDs using @code{gnutls_x509_dn_oid_known()}. For OIDs that are -not known (by gnutls) you should properly DER encode your data, -and call this function with raw_flag set. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crq_set_key_purpose_oid -@anchor{gnutls_x509_crq_set_key_purpose_oid} -@deftypefun {int} {gnutls_x509_crq_set_key_purpose_oid} (gnutls_x509_crq_t @var{cert}, const void * @var{oid}, unsigned int @var{critical}) -@var{cert}: a certificate of type @code{gnutls_x509_crq_t} - -@var{oid}: a pointer to a null terminated string that holds the OID - -@var{critical}: Whether this extension will be critical or not - -This function will set the key purpose OIDs of the Certificate. -These are stored in the Extended Key Usage extension (2.5.29.37) -See the GNUTLS_KP_* definitions for human readable names. - -Subsequent calls to this function will append OIDs to the OID list. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crq_set_key_rsa_raw -@anchor{gnutls_x509_crq_set_key_rsa_raw} -@deftypefun {int} {gnutls_x509_crq_set_key_rsa_raw} (gnutls_x509_crq_t @var{crq}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}) -@var{crq}: should contain a @code{gnutls_x509_crq_t} structure - -@var{m}: holds the modulus - -@var{e}: holds the public exponent - -This function will set the public parameters from the given private -key to the request. Only RSA keys are currently supported. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_x509_crq_set_key_usage -@anchor{gnutls_x509_crq_set_key_usage} -@deftypefun {int} {gnutls_x509_crq_set_key_usage} (gnutls_x509_crq_t @var{crq}, unsigned int @var{usage}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} - -@var{usage}: an ORed sequence of the GNUTLS_KEY_* elements. - -This function will set the keyUsage certificate extension. +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. - -@strong{Since:} 2.8.0 @end deftypefun @subheading gnutls_x509_crq_set_key @@ -1805,39 +1179,6 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crq_set_subject_alt_name -@anchor{gnutls_x509_crq_set_subject_alt_name} -@deftypefun {int} {gnutls_x509_crq_set_subject_alt_name} (gnutls_x509_crq_t @var{crq}, gnutls_x509_subject_alt_name_t @var{nt}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} - -@var{nt}: is one of the @code{gnutls_x509_subject_alt_name_t} enumerations - -@var{data}: The data to be set - -@var{data_size}: The size of data to be set - -@var{flags}: @code{GNUTLS_FSAN_SET} to clear previous data or -@code{GNUTLS_FSAN_APPEND} to append. - -This function will set the subject alternative name certificate -extension. It can set the following types: - -&GNUTLS_SAN_DNSNAME: as a text string - -&GNUTLS_SAN_RFC822NAME: as a text string - -&GNUTLS_SAN_URI: as a text string - -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -Other values can be set as binary values with the proper DER encoding. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crq_set_version @anchor{gnutls_x509_crq_set_version} @deftypefun {int} {gnutls_x509_crq_set_version} (gnutls_x509_crq_t @var{crq}, unsigned int @var{version}) @@ -1914,11 +1255,10 @@ @var{issuer}: is the certificate of a possible issuer This function will check if the given certificate was issued by the -given issuer. +given issuer. It will return true (1) if the given certificate is issued +by the given issuer, and false (0) if not. -@strong{Returns:} It will return true (1) if the given certificate is issued -by the given issuer, and false (0) if not. A negative value is -returned in case of an error. +A negative value is returned in case of an error. @end deftypefun @subheading gnutls_x509_crt_check_revocation @@ -1940,7 +1280,7 @@ @subheading gnutls_x509_crt_cpy_crl_dist_points @anchor{gnutls_x509_crt_cpy_crl_dist_points} @deftypefun {int} {gnutls_x509_crt_cpy_crl_dist_points} (gnutls_x509_crt_t @var{dst}, gnutls_x509_crt_t @var{src}) -@var{dst}: a certificate of type @code{gnutls_x509_crt_t} +@var{dst}: should contain a gnutls_x509_crt_t structure @var{src}: the certificate where the dist points will be copied from @@ -2001,16 +1341,12 @@ @deftypefun {int} {gnutls_x509_crt_get_authority_key_id} (gnutls_x509_crt_t @var{cert}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{ret}: The place where the identifier will be copied - -@var{ret_size}: Holds the size of the result field. - @var{critical}: will be non zero if the extension is marked as critical (may be null) -This function will return the X.509v3 certificate authority's key -identifier. This is obtained by the X.509 Authority Key -identifier extension field (2.5.29.35). Note that this function -only returns the keyIdentifier field of the extension. +This function will return the X.509v3 certificate authority's key identifier. +This is obtained by the X.509 Authority Key identifier extension +field (2.5.29.35). Note that this function only returns the keyIdentifier +field of the extension. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value.and a negative value in case of an error. @@ -2056,9 +1392,9 @@ Use @code{gnutls_x509_crt_get_basic_constraints()} if you want to read the pathLenConstraint field too. -@strong{Returns:} A negative value may be returned in case of parsing error. +A negative value may be returned in case of parsing error. If the certificate does not contain the basicConstraints extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @subheading gnutls_x509_crt_get_crl_dist_points @@ -2203,13 +1539,12 @@ @var{critical}: will be non zero if the extension is marked as critical -This function will return the extension specified by the OID in the -certificate. The extensions will be returned as binary data DER -encoded, in the provided buffer. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If the certificate does not -contain the specified extension +This function will return the extension specified by the OID in the certificate. +The extensions will be returned as binary data DER encoded, in the provided +buffer. + +A negative value may be returned in case of parsing error. +If the certificate does not contain the specified extension GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @@ -2233,10 +1568,9 @@ if you want to get data indexed by the extension OID rather than sequence. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @subheading gnutls_x509_crt_get_extension_info @@ -2262,10 +1596,9 @@ *@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be returned. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @subheading gnutls_x509_crt_get_extension_oid @@ -2282,10 +1615,9 @@ This function will return the requested extension OID in the certificate. The extension OID will be stored as a string in the provided buffer. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +A negative value may be returned in case of parsing error. +If your have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @subheading gnutls_x509_crt_get_fingerprint @@ -2437,18 +1769,16 @@ @var{sizeof_oid}: initially holds the size of @code{oid} -@var{critical}: output flag to indicate criticality of extension - This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions -for human readable names. +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names. If @code{oid} is null then only the size will be filled. @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. +not long enough, and in that case the *sizeof_oid will be updated +with the required size. On success 0 is returned. @end deftypefun @subheading gnutls_x509_crt_get_key_usage @@ -2540,17 +1870,15 @@ NULL), non-negative values indicate a present pCPathLenConstraint field and the actual value, -1 indicate that the field is absent. -@var{policyLanguage}: output variable with OID of policy language - -@var{policy}: output variable with policy data - -@var{sizeof_policy}: output variable size of policy data - -This function will get information from a proxy certificate. It -reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19). -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +@strong{Return value:} If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun @subheading gnutls_x509_crt_get_raw_dn @@ -2629,7 +1957,7 @@ @subheading gnutls_x509_crt_get_subject_alt_name2 @anchor{gnutls_x509_crt_get_subject_alt_name2} -@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name2} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{ret_type}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name2} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int* @var{ret_type}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -2643,19 +1971,12 @@ @var{critical}: will be non zero if the extension is marked as critical (may be null) This function will return the alternative names, contained in the -given certificate. It is the same as -@code{gnutls_x509_crt_get_subject_alt_name()} except for the fact that it -will return the type of the alternative name in @code{ret_type} even if -the function fails for some reason (i.e. the buffer provided is -not enough). +given certificate. It is the same as @code{gnutls_x509_crt_get_subject_alt_name()} +except for the fact that it will return the type of the alternative +name in @code{ret_type} even if the function fails for some reason (i.e. +the buffer provided is not enough). -@strong{Returns:} the alternative subject name type on success, one of the -enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough -to hold the value. In that case @code{ret_size} will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. +The return values are the same as with @code{gnutls_x509_crt_get_subject_alt_name()}. @end deftypefun @subheading gnutls_x509_crt_get_subject_alt_name @@ -2690,10 +2011,10 @@ @strong{Returns:} the alternative subject name type on success, one of the enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough -to hold the value. In that case @code{ret_size} will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough to +hold the value. In that case @code{ret_size} will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. @end deftypefun @@ -2764,24 +2085,6 @@ @strong{Returns:} Returns 0 on success, or an error code. @end deftypefun -@subheading gnutls_x509_crt_get_verify_algorithm -@anchor{gnutls_x509_crt_get_verify_algorithm} -@deftypefun {int} {gnutls_x509_crt_get_verify_algorithm} (gnutls_x509_crt_t @var{crt}, const gnutls_datum_t * @var{signature}, gnutls_digest_algorithm_t * @var{hash}) -@var{crt}: Holds the certificate - -@var{signature}: contains the signature - -@var{hash}: The result of the call with the hash algorithm used for signature - -This function will read the certifcate and the signed data to -determine the hash algorithm used to generate the signature. - -@strong{Returns:} the 0 if the hash algorithm is found. A negative value is -returned on error. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crt_get_version @anchor{gnutls_x509_crt_get_version} @deftypefun {int} {gnutls_x509_crt_get_version} (gnutls_x509_crt_t @var{cert}) @@ -2865,6 +2168,9 @@ @var{verify}: will hold the certificate verification output. This function will try to verify the given certificate list and return its status. +Note that expiration and activation dates are not checked +by this function, you should check them using the appropriate functions. + If no flags are specified (0), this function will use the basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate authority is allowed to sign a certificate. @@ -2911,7 +2217,7 @@ @subheading gnutls_x509_crt_set_activation_time @anchor{gnutls_x509_crt_set_activation_time} @deftypefun {int} {gnutls_x509_crt_set_activation_time} (gnutls_x509_crt_t @var{cert}, time_t @var{act_time}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{act_time}: The actual time @@ -2925,7 +2231,7 @@ @subheading gnutls_x509_crt_set_authority_key_id @anchor{gnutls_x509_crt_set_authority_key_id} @deftypefun {int} {gnutls_x509_crt_set_authority_key_id} (gnutls_x509_crt_t @var{cert}, const void * @var{id}, size_t @var{id_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{id}: The key ID @@ -2941,7 +2247,7 @@ @subheading gnutls_x509_crt_set_basic_constraints @anchor{gnutls_x509_crt_set_basic_constraints} @deftypefun {int} {gnutls_x509_crt_set_basic_constraints} (gnutls_x509_crt_t @var{crt}, unsigned int @var{ca}, int @var{pathLenConstraint}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{ca}: true(1) or false(0). Depending on the Certificate authority status. @@ -2958,7 +2264,7 @@ @subheading gnutls_x509_crt_set_ca_status @anchor{gnutls_x509_crt_set_ca_status} @deftypefun {int} {gnutls_x509_crt_set_ca_status} (gnutls_x509_crt_t @var{crt}, unsigned int @var{ca}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{ca}: true(1) or false(0). Depending on the Certificate authority status. @@ -2970,31 +2276,10 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crt_set_crl_dist_points2 -@anchor{gnutls_x509_crt_set_crl_dist_points2} -@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points2} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{reason_flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations - -@var{data}: The data to be set - -@var{data_size}: The data size - -@var{reason_flags}: revocation reasons - -This function will set the CRL distribution points certificate extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_x509_crt_set_crl_dist_points @anchor{gnutls_x509_crt_set_crl_dist_points} -@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data_string}, unsigned int @var{reason_flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data_string}, unsigned int @var{reason_flags}) +@var{crt}: should contain a gnutls_x509_crt_t structure @var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations @@ -3008,32 +2293,16 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crt_set_crq_extensions -@anchor{gnutls_x509_crt_set_crq_extensions} -@deftypefun {int} {gnutls_x509_crt_set_crq_extensions} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crq_t @var{crq}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{crq}: holds a certificate request - -This function will set extensions from the given request to the -certificate. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_x509_crt_set_crq @anchor{gnutls_x509_crt_set_crq} @deftypefun {int} {gnutls_x509_crt_set_crq} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crq_t @var{crq}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{crq}: holds a certificate request -This function will set the name and public parameters as well as -the extensions from the given certificate request to the certificate. -Only RSA keys are currently supported. +This function will set the name and public parameters from the +given certificate request to the certificate. Only RSA keys are +currently supported. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @@ -3042,7 +2311,7 @@ @subheading gnutls_x509_crt_set_dn_by_oid @anchor{gnutls_x509_crt_set_dn_by_oid} @deftypefun {int} {gnutls_x509_crt_set_dn_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{name}, unsigned int @var{sizeof_name}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identifier in a null terminated string @@ -3069,7 +2338,7 @@ @subheading gnutls_x509_crt_set_expiration_time @anchor{gnutls_x509_crt_set_expiration_time} @deftypefun {int} {gnutls_x509_crt_set_expiration_time} (gnutls_x509_crt_t @var{cert}, time_t @var{exp_time}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{exp_time}: The actual time @@ -3082,7 +2351,7 @@ @subheading gnutls_x509_crt_set_extension_by_oid @anchor{gnutls_x509_crt_set_extension_by_oid} @deftypefun {int} {gnutls_x509_crt_set_extension_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, const void * @var{buf}, size_t @var{sizeof_buf}, unsigned int @var{critical}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identified in null terminated string @@ -3103,7 +2372,7 @@ @subheading gnutls_x509_crt_set_issuer_dn_by_oid @anchor{gnutls_x509_crt_set_issuer_dn_by_oid} @deftypefun {int} {gnutls_x509_crt_set_issuer_dn_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{name}, unsigned int @var{sizeof_name}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identifier in a null terminated string @@ -3134,7 +2403,7 @@ @subheading gnutls_x509_crt_set_key_purpose_oid @anchor{gnutls_x509_crt_set_key_purpose_oid} @deftypefun {int} {gnutls_x509_crt_set_key_purpose_oid} (gnutls_x509_crt_t @var{cert}, const void * @var{oid}, unsigned int @var{critical}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{oid}: a pointer to a null terminated string that holds the OID @@ -3146,14 +2415,13 @@ Subsequent calls to this function will append OIDs to the OID list. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +On success 0 is returned. @end deftypefun @subheading gnutls_x509_crt_set_key_usage @anchor{gnutls_x509_crt_set_key_usage} @deftypefun {int} {gnutls_x509_crt_set_key_usage} (gnutls_x509_crt_t @var{crt}, unsigned int @var{usage}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{usage}: an ORed sequence of the GNUTLS_KEY_* elements. @@ -3166,7 +2434,7 @@ @subheading gnutls_x509_crt_set_key @anchor{gnutls_x509_crt_set_key} @deftypefun {int} {gnutls_x509_crt_set_key} (gnutls_x509_crt_t @var{crt}, gnutls_x509_privkey_t @var{key}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{key}: holds a private key @@ -3204,7 +2472,7 @@ @subheading gnutls_x509_crt_set_proxy @anchor{gnutls_x509_crt_set_proxy} @deftypefun {int} {gnutls_x509_crt_set_proxy} (gnutls_x509_crt_t @var{crt}, int @var{pathLenConstraint}, const char * @var{policyLanguage}, const char * @var{policy}, size_t @var{sizeof_policy}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{pathLenConstraint}: non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints field should @@ -3212,7 +2480,7 @@ @var{policyLanguage}: OID describing the language of @code{policy}. -@var{policy}: opaque byte array with policy language, can be @code{NULL} +@var{policy}: opaque byte array with policy language, can be @code{NULL} @var{sizeof_policy}: size of @code{policy}. @@ -3225,7 +2493,7 @@ @subheading gnutls_x509_crt_set_serial @anchor{gnutls_x509_crt_set_serial} @deftypefun {int} {gnutls_x509_crt_set_serial} (gnutls_x509_crt_t @var{cert}, const void * @var{serial}, size_t @var{serial_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{serial}: The serial number @@ -3240,53 +2508,17 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crt_set_subject_alt_name -@anchor{gnutls_x509_crt_set_subject_alt_name} -@deftypefun {int} {gnutls_x509_crt_set_subject_alt_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations - -@var{data}: The data to be set - -@var{data_size}: The size of data to be set - -@var{flags}: GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. - -This function will set the subject alternative name certificate -extension. It can set the following types: - -&GNUTLS_SAN_DNSNAME: as a text string - -&GNUTLS_SAN_RFC822NAME: as a text string - -&GNUTLS_SAN_URI: as a text string - -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -Other values can be set as binary values with the proper DER encoding. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_x509_crt_set_subject_alternative_name @anchor{gnutls_x509_crt_set_subject_alternative_name} -@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) +@var{crt}: should contain a gnutls_x509_crt_t structure @var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations @var{data_string}: The data to be set, a zero terminated string This function will set the subject alternative name certificate -extension. This function assumes that data can be expressed as a null -terminated string. - -The name of the function is unfortunate since it is incosistent with -@code{gnutls_x509_crt_get_subject_alt_name()}. +extension. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @@ -3295,7 +2527,7 @@ @subheading gnutls_x509_crt_set_subject_key_id @anchor{gnutls_x509_crt_set_subject_key_id} @deftypefun {int} {gnutls_x509_crt_set_subject_key_id} (gnutls_x509_crt_t @var{cert}, const void * @var{id}, size_t @var{id_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{id}: The key ID @@ -3311,7 +2543,7 @@ @subheading gnutls_x509_crt_set_version @anchor{gnutls_x509_crt_set_version} @deftypefun {int} {gnutls_x509_crt_set_version} (gnutls_x509_crt_t @var{crt}, unsigned int @var{version}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{version}: holds the version number. For X.509v1 certificates must be 1. @@ -3321,7 +2553,7 @@ To create well-formed certificates, you must specify version 3 if you use any certificate extensions. Extensions are created by -functions such as @code{gnutls_x509_crt_set_subject_alt_name()} +functions such as @code{gnutls_x509_crt_set_subject_alternative_name()} or @code{gnutls_x509_crt_set_key_usage()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a @@ -3331,13 +2563,13 @@ @subheading gnutls_x509_crt_sign2 @anchor{gnutls_x509_crt_sign2} @deftypefun {int} {gnutls_x509_crt_sign2} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{issuer}: is the certificate of the certificate issuer @var{issuer_key}: holds the issuer's private key -@var{dig}: The message digest to use, @code{GNUTLS_DIG_SHA1} is a safe choice +@var{dig}: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. @var{flags}: must be 0 @@ -3354,7 +2586,7 @@ @subheading gnutls_x509_crt_sign @anchor{gnutls_x509_crt_sign} @deftypefun {int} {gnutls_x509_crt_sign} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{issuer}: is the certificate of the certificate issuer @@ -3385,24 +2617,6 @@ success. @end deftypefun -@subheading gnutls_x509_crt_verify_hash -@anchor{gnutls_x509_crt_verify_hash} -@deftypefun {int} {gnutls_x509_crt_verify_hash} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, const gnutls_datum_t * @var{hash}, const gnutls_datum_t * @var{signature}) -@var{crt}: Holds the certificate - -@var{flags}: should be 0 for now - -@var{hash}: holds the hash digest to be verified - -@var{signature}: contains the signature - -This function will verify the given signed digest, using the -parameters from the certificate. - -@strong{Returns:} In case of a verification failure 0 is returned, and 1 on -success. -@end deftypefun - @subheading gnutls_x509_crt_verify @anchor{gnutls_x509_crt_verify} @deftypefun {int} {gnutls_x509_crt_verify} (gnutls_x509_crt_t @var{cert}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) @@ -3425,8 +2639,8 @@ @subheading gnutls_x509_dn_deinit @anchor{gnutls_x509_dn_deinit} -@deftypefun {void} {gnutls_x509_dn_deinit} (gnutls_x509_dn_t @var{dn}) -@var{dn}: a DN opaque object pointer. +@deftypefun {void} {gnutls_x509_dn_deinit} (gnutls_x509_dn_t @var{idn}) +@var{idn}: a DN opaque object pointer. This function deallocates the DN object as returned by @code{gnutls_x509_dn_import()}. @@ -3482,8 +2696,8 @@ @subheading gnutls_x509_dn_import @anchor{gnutls_x509_dn_import} -@deftypefun {int} {gnutls_x509_dn_import} (gnutls_x509_dn_t @var{dn}, const gnutls_datum_t * @var{data}) -@var{dn}: the structure that will hold the imported DN +@deftypefun {int} {gnutls_x509_dn_import} (gnutls_x509_dn_t @var{odn}, const gnutls_datum_t * @var{data}) +@var{odn}: the structure that will hold the imported DN @var{data}: should contain a DER encoded RDN sequence @@ -3491,6 +2705,10 @@ @code{gnutls_x509_dn_t} structure. The structure must have been initialized with @code{gnutls_x509_dn_init()}. You may use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. +This function parses an RDN sequence and stores the result to a +@code{gnutls_x509_dn_t} structure. The structure must have been initialized +with @code{gnutls_x509_dn_init()}. You may use @code{gnutls_x509_dn_get_rdn_ava()} to +decode the DN. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @@ -3500,8 +2718,8 @@ @subheading gnutls_x509_dn_init @anchor{gnutls_x509_dn_init} -@deftypefun {int} {gnutls_x509_dn_init} (gnutls_x509_dn_t * @var{dn}) -@var{dn}: the object to be initialized +@deftypefun {int} {gnutls_x509_dn_init} (gnutls_x509_dn_t * @var{odn}) +@var{odn}: the object to be initialized This function initializes a @code{gnutls_x509_dn_t} structure. @@ -3513,6 +2731,7 @@ @strong{Since:} 2.4.0 @end deftypefun + @subheading gnutls_x509_dn_oid_known @anchor{gnutls_x509_dn_oid_known} @deftypefun {int} {gnutls_x509_dn_oid_known} (const char * @var{oid}) @@ -3554,8 +2773,6 @@ @subheading gnutls_x509_privkey_export_dsa_raw @anchor{gnutls_x509_privkey_export_dsa_raw} @deftypefun {int} {gnutls_x509_privkey_export_dsa_raw} (gnutls_x509_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) -@var{key}: a structure that holds the DSA parameters - @var{p}: will hold the p @var{q}: will hold the q @@ -3875,10 +3092,7 @@ @var{signature}: will contain newly allocated signature -This function will sign the given hash using the private key. Do not -use this function directly unless you know what it is. Typical signing -requires the data to be hashed and stored in special formats -(e.g. BER Digest-Info for RSA). +This function will sign the given hash using the private key. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @@ -3935,10 +3149,6 @@ @var{indx}: Indicates which OID to return. Use 0 for the first one. -@var{buf}: a pointer to a structure to hold the peer's name OID - -@var{sizeof_buf}: holds the size of @code{buf} - This function will return the specified Object identifier, of the RDN sequence. diff -Nru gnutls26-2.8.6/gl/accept.c gnutls26-2.4.1/gl/accept.c --- gnutls26-2.8.6/gl/accept.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/accept.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -/* accept.c --- wrappers for Windows accept function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef accept - -int -rpl_accept (int fd, struct sockaddr *addr, int *addrlen) -{ - SOCKET fh = accept (FD_TO_SOCKET (fd), addr, addrlen); - if (fh == INVALID_SOCKET) - { - set_winsock_errno (); - return -1; - } - else - return SOCKET_TO_FD (fh); -} diff -Nru gnutls26-2.8.6/gl/alignof.h gnutls26-2.4.1/gl/alignof.h --- gnutls26-2.8.6/gl/alignof.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/alignof.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -/* Determine alignment of types. - Copyright (C) 2003-2004, 2006, 2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _ALIGNOF_H -#define _ALIGNOF_H - -#include - -/* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ -# define alignof __alignof__ -#elif defined __cplusplus - template struct alignof_helper { char __slot1; type __slot2; }; -# define alignof(type) offsetof (alignof_helper, __slot2) -#else -# define alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) -#endif - -#endif /* _ALIGNOF_H */ diff -Nru gnutls26-2.8.6/gl/alloca.c gnutls26-2.4.1/gl/alloca.c --- gnutls26-2.8.6/gl/alloca.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/alloca.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,489 +0,0 @@ -/* alloca.c -- allocate automatically reclaimed memory - (Mostly) portable public-domain implementation -- D A Gwyn - - This implementation of the PWB library alloca function, - which is used to allocate space off the run-time stack so - that it is automatically reclaimed upon procedure exit, - was inspired by discussions with J. Q. Johnson of Cornell. - J.Otto Tennant contributed the Cray support. - - There are some preprocessor constants that can - be defined when compiling for your specific system, for - improved efficiency; however, the defaults should be okay. - - The general concept of this implementation is to keep - track of all alloca-allocated blocks, and reclaim any - that are found to be deeper in the stack than the current - invocation. This heuristic does not reclaim storage as - soon as it becomes invalid, but it will do so eventually. - - As a special case, alloca(0) reclaims storage without - allocating any. It is a good idea to use alloca(0) in - your main control loop, etc. to force garbage collection. */ - -#include - -#include - -#include -#include - -#ifdef emacs -# include "lisp.h" -# include "blockinput.h" -# ifdef EMACS_FREE -# undef free -# define free EMACS_FREE -# endif -#else -# define memory_full() abort () -#endif - -/* If compiling with GCC 2, this file's not needed. */ -#if !defined (__GNUC__) || __GNUC__ < 2 - -/* If someone has defined alloca as a macro, - there must be some other way alloca is supposed to work. */ -# ifndef alloca - -# ifdef emacs -# ifdef static -/* actually, only want this if static is defined as "" - -- this is for usg, in which emacs must undefine static - in order to make unexec workable - */ -# ifndef STACK_DIRECTION -you -lose --- must know STACK_DIRECTION at compile-time -/* Using #error here is not wise since this file should work for - old and obscure compilers. */ -# endif /* STACK_DIRECTION undefined */ -# endif /* static */ -# endif /* emacs */ - -/* If your stack is a linked list of frames, you have to - provide an "address metric" ADDRESS_FUNCTION macro. */ - -# if defined (CRAY) && defined (CRAY_STACKSEG_END) -long i00afunc (); -# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) -# else -# define ADDRESS_FUNCTION(arg) &(arg) -# endif - -/* Define STACK_DIRECTION if you know the direction of stack - growth for your system; otherwise it will be automatically - deduced at run-time. - - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ - -# ifndef STACK_DIRECTION -# define STACK_DIRECTION 0 /* Direction unknown. */ -# endif - -# if STACK_DIRECTION != 0 - -# define STACK_DIR STACK_DIRECTION /* Known at compile-time. */ - -# else /* STACK_DIRECTION == 0; need run-time code. */ - -static int stack_dir; /* 1 or -1 once known. */ -# define STACK_DIR stack_dir - -static void -find_stack_direction (void) -{ - static char *addr = NULL; /* Address of first `dummy', once known. */ - auto char dummy; /* To get stack address. */ - - if (addr == NULL) - { /* Initial entry. */ - addr = ADDRESS_FUNCTION (dummy); - - find_stack_direction (); /* Recurse once. */ - } - else - { - /* Second entry. */ - if (ADDRESS_FUNCTION (dummy) > addr) - stack_dir = 1; /* Stack grew upward. */ - else - stack_dir = -1; /* Stack grew downward. */ - } -} - -# endif /* STACK_DIRECTION == 0 */ - -/* An "alloca header" is used to: - (a) chain together all alloca'ed blocks; - (b) keep track of stack depth. - - It is very important that sizeof(header) agree with malloc - alignment chunk size. The following default should work okay. */ - -# ifndef ALIGN_SIZE -# define ALIGN_SIZE sizeof(double) -# endif - -typedef union hdr -{ - char align[ALIGN_SIZE]; /* To force sizeof(header). */ - struct - { - union hdr *next; /* For chaining headers. */ - char *deep; /* For stack depth measure. */ - } h; -} header; - -static header *last_alloca_header = NULL; /* -> last alloca header. */ - -/* Return a pointer to at least SIZE bytes of storage, - which will be automatically reclaimed upon exit from - the procedure that called alloca. Originally, this space - was supposed to be taken from the current stack frame of the - caller, but that method cannot be made to work for some - implementations of C, for example under Gould's UTX/32. */ - -void * -alloca (size_t size) -{ - auto char probe; /* Probes stack depth: */ - register char *depth = ADDRESS_FUNCTION (probe); - -# if STACK_DIRECTION == 0 - if (STACK_DIR == 0) /* Unknown growth direction. */ - find_stack_direction (); -# endif - - /* Reclaim garbage, defined as all alloca'd storage that - was allocated from deeper in the stack than currently. */ - - { - register header *hp; /* Traverses linked list. */ - -# ifdef emacs - BLOCK_INPUT; -# endif - - for (hp = last_alloca_header; hp != NULL;) - if ((STACK_DIR > 0 && hp->h.deep > depth) - || (STACK_DIR < 0 && hp->h.deep < depth)) - { - register header *np = hp->h.next; - - free (hp); /* Collect garbage. */ - - hp = np; /* -> next header. */ - } - else - break; /* Rest are not deeper. */ - - last_alloca_header = hp; /* -> last valid storage. */ - -# ifdef emacs - UNBLOCK_INPUT; -# endif - } - - if (size == 0) - return NULL; /* No allocation required. */ - - /* Allocate combined header + user data storage. */ - - { - /* Address of header. */ - register header *new; - - size_t combined_size = sizeof (header) + size; - if (combined_size < sizeof (header)) - memory_full (); - - new = malloc (combined_size); - - if (! new) - memory_full (); - - new->h.next = last_alloca_header; - new->h.deep = depth; - - last_alloca_header = new; - - /* User storage begins just after header. */ - - return (void *) (new + 1); - } -} - -# if defined (CRAY) && defined (CRAY_STACKSEG_END) - -# ifdef DEBUG_I00AFUNC -# include -# endif - -# ifndef CRAY_STACK -# define CRAY_STACK -# ifndef CRAY2 -/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ -struct stack_control_header - { - long shgrow:32; /* Number of times stack has grown. */ - long shaseg:32; /* Size of increments to stack. */ - long shhwm:32; /* High water mark of stack. */ - long shsize:32; /* Current size of stack (all segments). */ - }; - -/* The stack segment linkage control information occurs at - the high-address end of a stack segment. (The stack - grows from low addresses to high addresses.) The initial - part of the stack segment linkage control information is - 0200 (octal) words. This provides for register storage - for the routine which overflows the stack. */ - -struct stack_segment_linkage - { - long ss[0200]; /* 0200 overflow words. */ - long sssize:32; /* Number of words in this segment. */ - long ssbase:32; /* Offset to stack base. */ - long:32; - long sspseg:32; /* Offset to linkage control of previous - segment of stack. */ - long:32; - long sstcpt:32; /* Pointer to task common address block. */ - long sscsnm; /* Private control structure number for - microtasking. */ - long ssusr1; /* Reserved for user. */ - long ssusr2; /* Reserved for user. */ - long sstpid; /* Process ID for pid based multi-tasking. */ - long ssgvup; /* Pointer to multitasking thread giveup. */ - long sscray[7]; /* Reserved for Cray Research. */ - long ssa0; - long ssa1; - long ssa2; - long ssa3; - long ssa4; - long ssa5; - long ssa6; - long ssa7; - long sss0; - long sss1; - long sss2; - long sss3; - long sss4; - long sss5; - long sss6; - long sss7; - }; - -# else /* CRAY2 */ -/* The following structure defines the vector of words - returned by the STKSTAT library routine. */ -struct stk_stat - { - long now; /* Current total stack size. */ - long maxc; /* Amount of contiguous space which would - be required to satisfy the maximum - stack demand to date. */ - long high_water; /* Stack high-water mark. */ - long overflows; /* Number of stack overflow ($STKOFEN) calls. */ - long hits; /* Number of internal buffer hits. */ - long extends; /* Number of block extensions. */ - long stko_mallocs; /* Block allocations by $STKOFEN. */ - long underflows; /* Number of stack underflow calls ($STKRETN). */ - long stko_free; /* Number of deallocations by $STKRETN. */ - long stkm_free; /* Number of deallocations by $STKMRET. */ - long segments; /* Current number of stack segments. */ - long maxs; /* Maximum number of stack segments so far. */ - long pad_size; /* Stack pad size. */ - long current_address; /* Current stack segment address. */ - long current_size; /* Current stack segment size. This - number is actually corrupted by STKSTAT to - include the fifteen word trailer area. */ - long initial_address; /* Address of initial segment. */ - long initial_size; /* Size of initial segment. */ - }; - -/* The following structure describes the data structure which trails - any stack segment. I think that the description in 'asdef' is - out of date. I only describe the parts that I am sure about. */ - -struct stk_trailer - { - long this_address; /* Address of this block. */ - long this_size; /* Size of this block (does not include - this trailer). */ - long unknown2; - long unknown3; - long link; /* Address of trailer block of previous - segment. */ - long unknown5; - long unknown6; - long unknown7; - long unknown8; - long unknown9; - long unknown10; - long unknown11; - long unknown12; - long unknown13; - long unknown14; - }; - -# endif /* CRAY2 */ -# endif /* not CRAY_STACK */ - -# ifdef CRAY2 -/* Determine a "stack measure" for an arbitrary ADDRESS. - I doubt that "lint" will like this much. */ - -static long -i00afunc (long *address) -{ - struct stk_stat status; - struct stk_trailer *trailer; - long *block, size; - long result = 0; - - /* We want to iterate through all of the segments. The first - step is to get the stack status structure. We could do this - more quickly and more directly, perhaps, by referencing the - $LM00 common block, but I know that this works. */ - - STKSTAT (&status); - - /* Set up the iteration. */ - - trailer = (struct stk_trailer *) (status.current_address - + status.current_size - - 15); - - /* There must be at least one stack segment. Therefore it is - a fatal error if "trailer" is null. */ - - if (trailer == 0) - abort (); - - /* Discard segments that do not contain our argument address. */ - - while (trailer != 0) - { - block = (long *) trailer->this_address; - size = trailer->this_size; - if (block == 0 || size == 0) - abort (); - trailer = (struct stk_trailer *) trailer->link; - if ((block <= address) && (address < (block + size))) - break; - } - - /* Set the result to the offset in this segment and add the sizes - of all predecessor segments. */ - - result = address - block; - - if (trailer == 0) - { - return result; - } - - do - { - if (trailer->this_size <= 0) - abort (); - result += trailer->this_size; - trailer = (struct stk_trailer *) trailer->link; - } - while (trailer != 0); - - /* We are done. Note that if you present a bogus address (one - not in any segment), you will get a different number back, formed - from subtracting the address of the first block. This is probably - not what you want. */ - - return (result); -} - -# else /* not CRAY2 */ -/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. - Determine the number of the cell within the stack, - given the address of the cell. The purpose of this - routine is to linearize, in some sense, stack addresses - for alloca. */ - -static long -i00afunc (long address) -{ - long stkl = 0; - - long size, pseg, this_segment, stack; - long result = 0; - - struct stack_segment_linkage *ssptr; - - /* Register B67 contains the address of the end of the - current stack segment. If you (as a subprogram) store - your registers on the stack and find that you are past - the contents of B67, you have overflowed the segment. - - B67 also points to the stack segment linkage control - area, which is what we are really interested in. */ - - stkl = CRAY_STACKSEG_END (); - ssptr = (struct stack_segment_linkage *) stkl; - - /* If one subtracts 'size' from the end of the segment, - one has the address of the first word of the segment. - - If this is not the first segment, 'pseg' will be - nonzero. */ - - pseg = ssptr->sspseg; - size = ssptr->sssize; - - this_segment = stkl - size; - - /* It is possible that calling this routine itself caused - a stack overflow. Discard stack segments which do not - contain the target address. */ - - while (!(this_segment <= address && address <= stkl)) - { -# ifdef DEBUG_I00AFUNC - fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); -# endif - if (pseg == 0) - break; - stkl = stkl - pseg; - ssptr = (struct stack_segment_linkage *) stkl; - size = ssptr->sssize; - pseg = ssptr->sspseg; - this_segment = stkl - size; - } - - result = address - this_segment; - - /* If you subtract pseg from the current end of the stack, - you get the address of the previous stack segment's end. - This seems a little convoluted to me, but I'll bet you save - a cycle somewhere. */ - - while (pseg != 0) - { -# ifdef DEBUG_I00AFUNC - fprintf (stderr, "%011o %011o\n", pseg, size); -# endif - stkl = stkl - pseg; - ssptr = (struct stack_segment_linkage *) stkl; - size = ssptr->sssize; - pseg = ssptr->sspseg; - result += size; - } - return (result); -} - -# endif /* not CRAY2 */ -# endif /* CRAY */ - -# endif /* no alloca */ -#endif /* not GCC version 3 */ diff -Nru gnutls26-2.8.6/gl/alloca.in.h gnutls26-2.4.1/gl/alloca.in.h --- gnutls26-2.8.6/gl/alloca.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/alloca.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -/* Memory allocation on the stack. - - Copyright (C) 1995, 1999, 2001-2004, 2006-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H - means there is a real alloca function. */ -#ifndef _GL_ALLOCA_H -#define _GL_ALLOCA_H - -/* alloca (N) returns a pointer to N bytes of memory - allocated on the stack, which will last until the function returns. - Use of alloca should be avoided: - - inside arguments of function calls - undefined behaviour, - - in inline functions - the allocation may actually last until the - calling function returns, - - for huge N (say, N >= 65536) - you never know how large (or small) - the stack is, and when the stack cannot fulfill the memory allocation - request, the program just crashes. - */ - -#ifndef alloca -# ifdef __GNUC__ -# define alloca __builtin_alloca -# elif defined _AIX -# define alloca __alloca -# elif defined _MSC_VER -# include -# define alloca _alloca -# elif defined __DECC && defined __VMS -# define alloca __ALLOCA -# else -# include -# ifdef __cplusplus -extern "C" -# endif -void *alloca (size_t); -# endif -#endif - -#endif /* _GL_ALLOCA_H */ diff -Nru gnutls26-2.8.6/gl/arpa_inet.in.h gnutls26-2.4.1/gl/arpa_inet.in.h --- gnutls26-2.8.6/gl/arpa_inet.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/arpa_inet.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -24,10 +24,6 @@ #if @HAVE_ARPA_INET_H@ -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_ARPA_INET_H@ @@ -36,12 +32,6 @@ #ifndef _GL_ARPA_INET_H #define _GL_ARPA_INET_H -/* The definition of GL_LINK_WARNING is copied here. */ - -#ifdef __cplusplus -extern "C" { -#endif - #if @GNULIB_INET_NTOP@ # if !@HAVE_DECL_INET_NTOP@ /* Converts an internet address from internal format to a printable, @@ -82,9 +72,5 @@ inet_pton (af, src, dst)) #endif -#ifdef __cplusplus -} -#endif - #endif /* _GL_ARPA_INET_H */ #endif /* _GL_ARPA_INET_H */ diff -Nru gnutls26-2.8.6/gl/asnprintf.c gnutls26-2.4.1/gl/asnprintf.c --- gnutls26-2.8.6/gl/asnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/asnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999, 2002, 2006 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include "vasnprintf.h" - -#include - -char * -asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) -{ - va_list args; - char *result; - - va_start (args, format); - result = vasnprintf (resultbuf, lengthp, format, args); - va_end (args); - return result; -} diff -Nru gnutls26-2.8.6/gl/bind.c gnutls26-2.4.1/gl/bind.c --- gnutls26-2.8.6/gl/bind.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/bind.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -/* bind.c --- wrappers for Windows bind function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef bind - -int -rpl_bind (int fd, struct sockaddr *sockaddr, int len) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = bind (sock, sockaddr, len); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/c-ctype.c gnutls26-2.4.1/gl/c-ctype.c --- gnutls26-2.8.6/gl/c-ctype.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/c-ctype.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,396 +0,0 @@ -/* Character handling in C locale. - - Copyright 2000-2003, 2006 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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#define NO_C_CTYPE_MACROS -#include "c-ctype.h" - -/* The function isascii is not locale dependent. Its use in EBCDIC is - questionable. */ -bool -c_isascii (int c) -{ - return (c >= 0x00 && c <= 0x7f); -} - -bool -c_isalnum (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')); -#else - return ((c >= '0' && c <= '9') - || (c >= 'A' && c <= 'Z') - || (c >= 'a' && c <= 'z')); -#endif -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isalpha (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'); -#else - return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); -#endif -#else - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isblank (int c) -{ - return (c == ' ' || c == '\t'); -} - -bool -c_iscntrl (int c) -{ -#if C_CTYPE_ASCII - return ((c & ~0x1f) == 0 || c == 0x7f); -#else - switch (c) - { - case ' ': case '!': case '"': case '#': case '$': case '%': - case '&': case '\'': case '(': case ')': case '*': case '+': - case ',': case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 0; - default: - return 1; - } -#endif -} - -bool -c_isdigit (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS - return (c >= '0' && c <= '9'); -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - return 1; - default: - return 0; - } -#endif -} - -bool -c_islower (int c) -{ -#if C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'a' && c <= 'z'); -#else - switch (c) - { - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isgraph (int c) -{ -#if C_CTYPE_ASCII - return (c >= '!' && c <= '~'); -#else - switch (c) - { - case '!': case '"': case '#': case '$': case '%': case '&': - case '\'': case '(': case ')': case '*': case '+': case ',': - case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isprint (int c) -{ -#if C_CTYPE_ASCII - return (c >= ' ' && c <= '~'); -#else - switch (c) - { - case ' ': case '!': case '"': case '#': case '$': case '%': - case '&': case '\'': case '(': case ')': case '*': case '+': - case ',': case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_ispunct (int c) -{ -#if C_CTYPE_ASCII - return ((c >= '!' && c <= '~') - && !((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'))); -#else - switch (c) - { - case '!': case '"': case '#': case '$': case '%': case '&': - case '\'': case '(': case ')': case '*': case '+': case ',': - case '-': case '.': case '/': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case '[': case '\\': case ']': case '^': case '_': case '`': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isspace (int c) -{ - return (c == ' ' || c == '\t' - || c == '\n' || c == '\v' || c == '\f' || c == '\r'); -} - -bool -c_isupper (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE - return (c >= 'A' && c <= 'Z'); -#else - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isxdigit (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F')); -#else - return ((c >= '0' && c <= '9') - || (c >= 'A' && c <= 'F') - || (c >= 'a' && c <= 'f')); -#endif -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - return 1; - default: - return 0; - } -#endif -} - -int -c_tolower (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c); -#else - switch (c) - { - case 'A': return 'a'; - case 'B': return 'b'; - case 'C': return 'c'; - case 'D': return 'd'; - case 'E': return 'e'; - case 'F': return 'f'; - case 'G': return 'g'; - case 'H': return 'h'; - case 'I': return 'i'; - case 'J': return 'j'; - case 'K': return 'k'; - case 'L': return 'l'; - case 'M': return 'm'; - case 'N': return 'n'; - case 'O': return 'o'; - case 'P': return 'p'; - case 'Q': return 'q'; - case 'R': return 'r'; - case 'S': return 's'; - case 'T': return 't'; - case 'U': return 'u'; - case 'V': return 'v'; - case 'W': return 'w'; - case 'X': return 'x'; - case 'Y': return 'y'; - case 'Z': return 'z'; - default: return c; - } -#endif -} - -int -c_toupper (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); -#else - switch (c) - { - case 'a': return 'A'; - case 'b': return 'B'; - case 'c': return 'C'; - case 'd': return 'D'; - case 'e': return 'E'; - case 'f': return 'F'; - case 'g': return 'G'; - case 'h': return 'H'; - case 'i': return 'I'; - case 'j': return 'J'; - case 'k': return 'K'; - case 'l': return 'L'; - case 'm': return 'M'; - case 'n': return 'N'; - case 'o': return 'O'; - case 'p': return 'P'; - case 'q': return 'Q'; - case 'r': return 'R'; - case 's': return 'S'; - case 't': return 'T'; - case 'u': return 'U'; - case 'v': return 'V'; - case 'w': return 'W'; - case 'x': return 'X'; - case 'y': return 'Y'; - case 'z': return 'Z'; - default: return c; - } -#endif -} diff -Nru gnutls26-2.8.6/gl/c-ctype.h gnutls26-2.4.1/gl/c-ctype.h --- gnutls26-2.8.6/gl/c-ctype.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/c-ctype.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,295 +0,0 @@ -/* Character handling in C locale. - - These functions work like the corresponding functions in , - except that they have the C (POSIX) locale hardwired, whereas the - functions' behaviour depends on the current locale set via - setlocale. - - Copyright (C) 2000-2003, 2006, 2008 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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef C_CTYPE_H -#define C_CTYPE_H - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* The functions defined in this file assume the "C" locale and a character - set without diacritics (ASCII-US or EBCDIC-US or something like that). - Even if the "C" locale on a particular system is an extension of the ASCII - character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it - is ISO-8859-1), the functions in this file recognize only the ASCII - characters. */ - - -/* Check whether the ASCII optimizations apply. */ - -/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that - '0', '1', ..., '9' have consecutive integer values. */ -#define C_CTYPE_CONSECUTIVE_DIGITS 1 - -#if ('A' <= 'Z') \ - && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \ - && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \ - && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \ - && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \ - && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \ - && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \ - && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \ - && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \ - && ('Y' + 1 == 'Z') -#define C_CTYPE_CONSECUTIVE_UPPERCASE 1 -#endif - -#if ('a' <= 'z') \ - && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \ - && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \ - && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \ - && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \ - && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \ - && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \ - && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \ - && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \ - && ('y' + 1 == 'z') -#define C_CTYPE_CONSECUTIVE_LOWERCASE 1 -#endif - -#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) -/* The character set is ASCII or one of its variants or extensions, not EBCDIC. - Testing the value of '\n' and '\r' is not relevant. */ -#define C_CTYPE_ASCII 1 -#endif - - -/* Function declarations. */ - -/* Unlike the functions in , which require an argument in the range - of the 'unsigned char' type, the functions here operate on values that are - in the 'unsigned char' range or in the 'char' range. In other words, - when you have a 'char' value, you need to cast it before using it as - argument to a function: - - const char *s = ...; - if (isalpha ((unsigned char) *s)) ... - - but you don't need to cast it for the functions defined in this file: - - const char *s = ...; - if (c_isalpha (*s)) ... - */ - -extern bool c_isascii (int c); /* not locale dependent */ - -extern bool c_isalnum (int c); -extern bool c_isalpha (int c); -extern bool c_isblank (int c); -extern bool c_iscntrl (int c); -extern bool c_isdigit (int c); -extern bool c_islower (int c); -extern bool c_isgraph (int c); -extern bool c_isprint (int c); -extern bool c_ispunct (int c); -extern bool c_isspace (int c); -extern bool c_isupper (int c); -extern bool c_isxdigit (int c); - -extern int c_tolower (int c); -extern int c_toupper (int c); - - -#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS - -/* ASCII optimizations. */ - -#undef c_isascii -#define c_isascii(c) \ - ({ int __c = (c); \ - (__c >= 0x00 && __c <= 0x7f); \ - }) - -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isalnum -#define c_isalnum(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \ - }) -#else -#undef c_isalnum -#define c_isalnum(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || (__c >= 'A' && __c <= 'Z') \ - || (__c >= 'a' && __c <= 'z')); \ - }) -#endif -#endif - -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isalpha -#define c_isalpha(c) \ - ({ int __c = (c); \ - ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \ - }) -#else -#undef c_isalpha -#define c_isalpha(c) \ - ({ int __c = (c); \ - ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \ - }) -#endif -#endif - -#undef c_isblank -#define c_isblank(c) \ - ({ int __c = (c); \ - (__c == ' ' || __c == '\t'); \ - }) - -#if C_CTYPE_ASCII -#undef c_iscntrl -#define c_iscntrl(c) \ - ({ int __c = (c); \ - ((__c & ~0x1f) == 0 || __c == 0x7f); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_DIGITS -#undef c_isdigit -#define c_isdigit(c) \ - ({ int __c = (c); \ - (__c >= '0' && __c <= '9'); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_LOWERCASE -#undef c_islower -#define c_islower(c) \ - ({ int __c = (c); \ - (__c >= 'a' && __c <= 'z'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_isgraph -#define c_isgraph(c) \ - ({ int __c = (c); \ - (__c >= '!' && __c <= '~'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_isprint -#define c_isprint(c) \ - ({ int __c = (c); \ - (__c >= ' ' && __c <= '~'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_ispunct -#define c_ispunct(c) \ - ({ int _c = (c); \ - (c_isgraph (_c) && ! c_isalnum (_c)); \ - }) -#endif - -#undef c_isspace -#define c_isspace(c) \ - ({ int __c = (c); \ - (__c == ' ' || __c == '\t' \ - || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \ - }) - -#if C_CTYPE_CONSECUTIVE_UPPERCASE -#undef c_isupper -#define c_isupper(c) \ - ({ int __c = (c); \ - (__c >= 'A' && __c <= 'Z'); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isxdigit -#define c_isxdigit(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \ - }) -#else -#undef c_isxdigit -#define c_isxdigit(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || (__c >= 'A' && __c <= 'F') \ - || (__c >= 'a' && __c <= 'f')); \ - }) -#endif -#endif - -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#undef c_tolower -#define c_tolower(c) \ - ({ int __c = (c); \ - (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \ - }) -#undef c_toupper -#define c_toupper(c) \ - ({ int __c = (c); \ - (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \ - }) -#endif - -#endif /* optimizing for speed */ - - -#ifdef __cplusplus -} -#endif - -#endif /* C_CTYPE_H */ diff -Nru gnutls26-2.8.6/gl/close.c gnutls26-2.4.1/gl/close.c --- gnutls26-2.8.6/gl/close.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/close.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -/* close replacement. - Copyright (C) 2008-2009 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 3 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, see . */ - -#include - -/* Specification. */ -#include - -#include "close-hook.h" - -/* Override close() to call into other gnulib modules. */ - -int -rpl_close (int fd) -#undef close -{ -#if WINDOWS_SOCKETS - int retval = execute_all_close_hooks (fd); -#else - int retval = close (fd); -#endif - -#ifdef FCHDIR_REPLACEMENT - if (retval >= 0) - _gl_unregister_fd (fd); -#endif - - return retval; -} diff -Nru gnutls26-2.8.6/gl/close-hook.c gnutls26-2.4.1/gl/close-hook.c --- gnutls26-2.8.6/gl/close-hook.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/close-hook.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,91 +0,0 @@ -/* Hook for making the close() function extensible. - Copyright (C) 2009 Free Software Foundation, Inc. - Written by Bruno Haible , 2009. - - 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 3 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#include - -/* Specification. */ -#include "close-hook.h" - -#include -#include - -#undef close - - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - -/* The first and last link in the doubly linked list. - Initially the list is empty. */ -static struct close_hook anchor = { &anchor, &anchor, NULL }; - -int -execute_close_hooks (int fd, const struct close_hook *remaining_list) -{ - if (remaining_list == &anchor) - /* End of list reached. */ - return close (fd); - else - return remaining_list->private_fn (fd, remaining_list->private_next); -} - -int -execute_all_close_hooks (int fd) -{ - return execute_close_hooks (fd, anchor.private_next); -} - -void -register_close_hook (close_hook_fn hook, struct close_hook *link) -{ - if (link->private_next == NULL && link->private_prev == NULL) - { - /* Add the link to the doubly linked list. */ - link->private_next = anchor.private_next; - link->private_prev = &anchor; - link->private_fn = hook; - anchor.private_next->private_prev = link; - anchor.private_next = link; - } - else - { - /* The link is already in use. */ - if (link->private_fn != hook) - abort (); - } -} - -void -unregister_close_hook (struct close_hook *link) -{ - struct close_hook *next = link->private_next; - struct close_hook *prev = link->private_prev; - - if (next != NULL && prev != NULL) - { - /* The link is in use. Remove it from the doubly linked list. */ - prev->private_next = next; - next->private_prev = prev; - /* Clear the link, to mark it unused. */ - link->private_next = NULL; - link->private_prev = NULL; - link->private_fn = NULL; - } -} - -#endif diff -Nru gnutls26-2.8.6/gl/close-hook.h gnutls26-2.4.1/gl/close-hook.h --- gnutls26-2.8.6/gl/close-hook.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/close-hook.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Hook for making the close() function extensible. - Copyright (C) 2009 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 3 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - - -#ifndef CLOSE_HOOK_H -#define CLOSE_HOOK_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - - -/* An element of the list of close hooks. - The fields of this structure are considered private. */ -struct close_hook -{ - /* Doubly linked list. */ - struct close_hook *private_next; - struct close_hook *private_prev; - /* Function that treats the types of FD that it knows about and calls - execute_close_hooks (FD, REMAINING_LIST) as a fallback. */ - int (*private_fn) (int fd, const struct close_hook *remaining_list); -}; - -/* This type of function closes FD, applying special knowledge for the FD - types it knows about, and calls execute_close_hooks (FD, REMAINING_LIST) - for the other FD types. */ -typedef int (*close_hook_fn) (int fd, const struct close_hook *remaining_list); - -/* Execute the close hooks in REMAINING_LIST. - Return 0 or -1, like close() would do. */ -extern int execute_close_hooks (int fd, const struct close_hook *remaining_list); - -/* Execute all close hooks. - Return 0 or -1, like close() would do. */ -extern int execute_all_close_hooks (int fd); - -/* Add a function to the list of close hooks. - The LINK variable points to a piece of memory which is guaranteed to be - accessible until the corresponding call to unregister_close_hook. */ -extern void register_close_hook (close_hook_fn hook, struct close_hook *link); - -/* Removes a function from the list of close hooks. */ -extern void unregister_close_hook (struct close_hook *link); - - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* CLOSE_HOOK_H */ diff -Nru gnutls26-2.8.6/gl/connect.c gnutls26-2.4.1/gl/connect.c --- gnutls26-2.8.6/gl/connect.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/connect.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -/* connect.c --- wrappers for Windows connect function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef connect - -int -rpl_connect (int fd, struct sockaddr *sockaddr, int len) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = connect (sock, sockaddr, len); - if (r < 0) - { - /* EINPROGRESS is not returned by WinSock 2.0; for backwards - compatibility, connect(2) uses EWOULDBLOCK. */ - if (WSAGetLastError () == WSAEWOULDBLOCK) - WSASetLastError (WSAEINPROGRESS); - - set_winsock_errno (); - } - - return r; -} diff -Nru gnutls26-2.8.6/gl/errno.in.h gnutls26-2.4.1/gl/errno.in.h --- gnutls26-2.8.6/gl/errno.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/errno.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,155 +0,0 @@ -/* A POSIX-like . - - Copyright (C) 2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_ERRNO_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_ERRNO_H@ - -#ifndef _GL_ERRNO_H -#define _GL_ERRNO_H - - -/* On native Windows platforms, many macros are not defined. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ -# define EWOULDBLOCK EAGAIN - -/* Values >= 100 seem safe to use. */ -# define ETXTBSY 100 -# define GNULIB_defined_ETXTBSY 1 - -/* These are intentionally the same values as the WSA* error numbers, defined - in . */ -# define EINPROGRESS 10036 -# define EALREADY 10037 -# define ENOTSOCK 10038 -# define EDESTADDRREQ 10039 -# define EMSGSIZE 10040 -# define EPROTOTYPE 10041 -# define ENOPROTOOPT 10042 -# define EPROTONOSUPPORT 10043 -# define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ -# define EOPNOTSUPP 10045 -# define EPFNOSUPPORT 10046 /* not required by POSIX */ -# define EAFNOSUPPORT 10047 -# define EADDRINUSE 10048 -# define EADDRNOTAVAIL 10049 -# define ENETDOWN 10050 -# define ENETUNREACH 10051 -# define ENETRESET 10052 -# define ECONNABORTED 10053 -# define ECONNRESET 10054 -# define ENOBUFS 10055 -# define EISCONN 10056 -# define ENOTCONN 10057 -# define ESHUTDOWN 10058 /* not required by POSIX */ -# define ETOOMANYREFS 10059 /* not required by POSIX */ -# define ETIMEDOUT 10060 -# define ECONNREFUSED 10061 -# define ELOOP 10062 -# define EHOSTDOWN 10064 /* not required by POSIX */ -# define EHOSTUNREACH 10065 -# define EPROCLIM 10067 /* not required by POSIX */ -# define EUSERS 10068 /* not required by POSIX */ -# define EDQUOT 10069 -# define ESTALE 10070 -# define EREMOTE 10071 /* not required by POSIX */ -# define GNULIB_defined_ESOCK 1 - -# endif - - -/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros - EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ -# if @EMULTIHOP_HIDDEN@ -# define EMULTIHOP @EMULTIHOP_VALUE@ -# define GNULIB_defined_EMULTIHOP 1 -# endif -# if @ENOLINK_HIDDEN@ -# define ENOLINK @ENOLINK_VALUE@ -# define GNULIB_defined_ENOLINK 1 -# endif -# if @EOVERFLOW_HIDDEN@ -# define EOVERFLOW @EOVERFLOW_VALUE@ -# define GNULIB_defined_EOVERFLOW 1 -# endif - - -/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, - EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. - Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, - HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. - - Note: When one of these systems defines some of these macros some day, - binaries will have to be recompiled so that they recognizes the new - errno values from the system. */ - -# ifndef ENOMSG -# define ENOMSG 2000 -# define GNULIB_defined_ENOMSG 1 -# endif - -# ifndef EIDRM -# define EIDRM 2001 -# define GNULIB_defined_EIDRM 1 -# endif - -# ifndef ENOLINK -# define ENOLINK 2002 -# define GNULIB_defined_ENOLINK 1 -# endif - -# ifndef EPROTO -# define EPROTO 2003 -# define GNULIB_defined_EPROTO 1 -# endif - -# ifndef EMULTIHOP -# define EMULTIHOP 2004 -# define GNULIB_defined_EMULTIHOP 1 -# endif - -# ifndef EBADMSG -# define EBADMSG 2005 -# define GNULIB_defined_EBADMSG 1 -# endif - -# ifndef EOVERFLOW -# define EOVERFLOW 2006 -# define GNULIB_defined_EOVERFLOW 1 -# endif - -# ifndef ENOTSUP -# define ENOTSUP 2007 -# define GNULIB_defined_ENOTSUP 1 -# endif - -# ifndef ECANCELED -# define ECANCELED 2008 -# define GNULIB_defined_ECANCELED 1 -# endif - - -#endif /* _GL_ERRNO_H */ -#endif /* _GL_ERRNO_H */ diff -Nru gnutls26-2.8.6/gl/fclose.c gnutls26-2.4.1/gl/fclose.c --- gnutls26-2.8.6/gl/fclose.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/fclose.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -/* fclose replacement. - Copyright (C) 2008 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 3 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, see . */ - -#include - -/* Specification. */ -#include - -#include -#include - -/* Override fclose() to call the overridden close(). */ - -int -rpl_fclose (FILE *fp) -#undef fclose -{ - int saved_errno = 0; - - if (fflush (fp)) - saved_errno = errno; - - if (close (fileno (fp)) < 0 && saved_errno == 0) - saved_errno = errno; - - fclose (fp); /* will fail with errno = EBADF */ - - if (saved_errno != 0) - { - errno = saved_errno; - return EOF; - } - return 0; -} diff -Nru gnutls26-2.8.6/gl/float+.h gnutls26-2.4.1/gl/float+.h --- gnutls26-2.8.6/gl/float+.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/float+.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,148 +0,0 @@ -/* Supplemental information about the floating-point formats. - Copyright (C) 2007 Free Software Foundation, Inc. - Written by Bruno Haible , 2007. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _FLOATPLUS_H -#define _FLOATPLUS_H - -#include -#include - -/* Number of bits in the mantissa of a floating-point number, including the - "hidden bit". */ -#if FLT_RADIX == 2 -# define FLT_MANT_BIT FLT_MANT_DIG -# define DBL_MANT_BIT DBL_MANT_DIG -# define LDBL_MANT_BIT LDBL_MANT_DIG -#elif FLT_RADIX == 4 -# define FLT_MANT_BIT (FLT_MANT_DIG * 2) -# define DBL_MANT_BIT (DBL_MANT_DIG * 2) -# define LDBL_MANT_BIT (LDBL_MANT_DIG * 2) -#elif FLT_RADIX == 16 -# define FLT_MANT_BIT (FLT_MANT_DIG * 4) -# define DBL_MANT_BIT (DBL_MANT_DIG * 4) -# define LDBL_MANT_BIT (LDBL_MANT_DIG * 4) -#endif - -/* Bit mask that can be used to mask the exponent, as an unsigned number. */ -#define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7) -#define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) -#define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7) - -/* Number of bits used for the exponent of a floating-point number, including - the exponent's sign. */ -#define FLT_EXP_BIT \ - (FLT_EXP_MASK < 0x100 ? 8 : \ - FLT_EXP_MASK < 0x200 ? 9 : \ - FLT_EXP_MASK < 0x400 ? 10 : \ - FLT_EXP_MASK < 0x800 ? 11 : \ - FLT_EXP_MASK < 0x1000 ? 12 : \ - FLT_EXP_MASK < 0x2000 ? 13 : \ - FLT_EXP_MASK < 0x4000 ? 14 : \ - FLT_EXP_MASK < 0x8000 ? 15 : \ - FLT_EXP_MASK < 0x10000 ? 16 : \ - FLT_EXP_MASK < 0x20000 ? 17 : \ - FLT_EXP_MASK < 0x40000 ? 18 : \ - FLT_EXP_MASK < 0x80000 ? 19 : \ - FLT_EXP_MASK < 0x100000 ? 20 : \ - FLT_EXP_MASK < 0x200000 ? 21 : \ - FLT_EXP_MASK < 0x400000 ? 22 : \ - FLT_EXP_MASK < 0x800000 ? 23 : \ - FLT_EXP_MASK < 0x1000000 ? 24 : \ - FLT_EXP_MASK < 0x2000000 ? 25 : \ - FLT_EXP_MASK < 0x4000000 ? 26 : \ - FLT_EXP_MASK < 0x8000000 ? 27 : \ - FLT_EXP_MASK < 0x10000000 ? 28 : \ - FLT_EXP_MASK < 0x20000000 ? 29 : \ - FLT_EXP_MASK < 0x40000000 ? 30 : \ - FLT_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) -#define DBL_EXP_BIT \ - (DBL_EXP_MASK < 0x100 ? 8 : \ - DBL_EXP_MASK < 0x200 ? 9 : \ - DBL_EXP_MASK < 0x400 ? 10 : \ - DBL_EXP_MASK < 0x800 ? 11 : \ - DBL_EXP_MASK < 0x1000 ? 12 : \ - DBL_EXP_MASK < 0x2000 ? 13 : \ - DBL_EXP_MASK < 0x4000 ? 14 : \ - DBL_EXP_MASK < 0x8000 ? 15 : \ - DBL_EXP_MASK < 0x10000 ? 16 : \ - DBL_EXP_MASK < 0x20000 ? 17 : \ - DBL_EXP_MASK < 0x40000 ? 18 : \ - DBL_EXP_MASK < 0x80000 ? 19 : \ - DBL_EXP_MASK < 0x100000 ? 20 : \ - DBL_EXP_MASK < 0x200000 ? 21 : \ - DBL_EXP_MASK < 0x400000 ? 22 : \ - DBL_EXP_MASK < 0x800000 ? 23 : \ - DBL_EXP_MASK < 0x1000000 ? 24 : \ - DBL_EXP_MASK < 0x2000000 ? 25 : \ - DBL_EXP_MASK < 0x4000000 ? 26 : \ - DBL_EXP_MASK < 0x8000000 ? 27 : \ - DBL_EXP_MASK < 0x10000000 ? 28 : \ - DBL_EXP_MASK < 0x20000000 ? 29 : \ - DBL_EXP_MASK < 0x40000000 ? 30 : \ - DBL_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) -#define LDBL_EXP_BIT \ - (LDBL_EXP_MASK < 0x100 ? 8 : \ - LDBL_EXP_MASK < 0x200 ? 9 : \ - LDBL_EXP_MASK < 0x400 ? 10 : \ - LDBL_EXP_MASK < 0x800 ? 11 : \ - LDBL_EXP_MASK < 0x1000 ? 12 : \ - LDBL_EXP_MASK < 0x2000 ? 13 : \ - LDBL_EXP_MASK < 0x4000 ? 14 : \ - LDBL_EXP_MASK < 0x8000 ? 15 : \ - LDBL_EXP_MASK < 0x10000 ? 16 : \ - LDBL_EXP_MASK < 0x20000 ? 17 : \ - LDBL_EXP_MASK < 0x40000 ? 18 : \ - LDBL_EXP_MASK < 0x80000 ? 19 : \ - LDBL_EXP_MASK < 0x100000 ? 20 : \ - LDBL_EXP_MASK < 0x200000 ? 21 : \ - LDBL_EXP_MASK < 0x400000 ? 22 : \ - LDBL_EXP_MASK < 0x800000 ? 23 : \ - LDBL_EXP_MASK < 0x1000000 ? 24 : \ - LDBL_EXP_MASK < 0x2000000 ? 25 : \ - LDBL_EXP_MASK < 0x4000000 ? 26 : \ - LDBL_EXP_MASK < 0x8000000 ? 27 : \ - LDBL_EXP_MASK < 0x10000000 ? 28 : \ - LDBL_EXP_MASK < 0x20000000 ? 29 : \ - LDBL_EXP_MASK < 0x40000000 ? 30 : \ - LDBL_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) - -/* Number of bits used for a floating-point number: the mantissa (not - counting the "hidden bit", since it may or may not be explicit), the - exponent, and the sign. */ -#define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1) -#define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1) -#define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1) - -/* Number of bytes used for a floating-point number. - This can be smaller than the 'sizeof'. For example, on i386 systems, - 'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence - LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but - sizeof (long double) = 12 or = 16. */ -#define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) -#define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) -#define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) - -/* Verify that SIZEOF_FLT <= sizeof (float) etc. */ -typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1]; -typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1]; -typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1]; - -#endif /* _FLOATPLUS_H */ diff -Nru gnutls26-2.8.6/gl/float.in.h gnutls26-2.4.1/gl/float.in.h --- gnutls26-2.8.6/gl/float.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/float.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* A correct . - - Copyright (C) 2007-2008 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 3 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, see . */ - -#ifndef _GL_FLOAT_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_FLOAT_H@ - -#ifndef _GL_FLOAT_H -#define _GL_FLOAT_H - -/* 'long double' properties. */ -#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) -/* Number of mantissa units, in base FLT_RADIX. */ -# undef LDBL_MANT_DIG -# define LDBL_MANT_DIG 64 -/* Number of decimal digits that is sufficient for representing a number. */ -# undef LDBL_DIG -# define LDBL_DIG 18 -/* x-1 where x is the smallest representable number > 1. */ -# undef LDBL_EPSILON -# define LDBL_EPSILON 1.0842021724855044340E-19L -/* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) -/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ -# undef LDBL_MAX_EXP -# define LDBL_MAX_EXP 16384 -/* Minimum positive normalized number. */ -# undef LDBL_MIN -# define LDBL_MIN 3.3621031431120935063E-4932L -/* Maximum representable finite number. */ -# undef LDBL_MAX -# define LDBL_MAX 1.1897314953572317650E+4932L -/* Minimum e such that 10^e is in the range of normalized numbers. */ -# undef LDBL_MIN_10_EXP -# define LDBL_MIN_10_EXP (-4931) -/* Maximum e such that 10^e is in the range of representable finite numbers. */ -# undef LDBL_MAX_10_EXP -# define LDBL_MAX_10_EXP 4932 -#endif - -#endif /* _GL_FLOAT_H */ -#endif /* _GL_FLOAT_H */ diff -Nru gnutls26-2.8.6/gl/fseeko.c gnutls26-2.4.1/gl/fseeko.c --- gnutls26-2.8.6/gl/fseeko.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/fseeko.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,130 +0,0 @@ -/* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -/* Get off_t and lseek. */ -#include - -#include "stdio-impl.h" - -#undef fseeko -#if !HAVE_FSEEKO -# undef fseek -# define fseeko fseek -#endif - -int -rpl_fseeko (FILE *fp, off_t offset, int whence) -{ -#if LSEEK_PIPE_BROKEN - /* mingw gives bogus answers rather than failure on non-seekable files. */ - if (lseek (fileno (fp), 0, SEEK_CUR) == -1) - return EOF; -#endif - - /* These tests are based on fpurge.c. */ -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ -# if defined __SL64 && defined __SCLE /* Cygwin */ - if ((fp->_flags & __SL64) == 0) - { - /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit - mode; but has an fseeko that requires 64-bit mode. */ - FILE *tmp = fopen ("/dev/null", "r"); - if (!tmp) - return -1; - fp->_flags |= __SL64; - fp->_seek64 = tmp->_seek64; - fclose (tmp); - } -# endif - if (fp_->_p == fp_->_bf._base - && fp_->_r == 0 - && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ - ? fp_->_bf._size - : 0) - && fp_ub._base == NULL) -#elif defined __EMX__ /* emx+gcc */ - if (fp->_ptr == fp->_buffer - && fp->_rcount == 0 - && fp->_wcount == 0 - && fp->_ungetc_count == 0) -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ - if (fp_->_ptr == fp_->_base - && (fp_->_ptr == NULL || fp_->_cnt == 0)) -#elif defined __UCLIBC__ /* uClibc */ - if (((fp->__modeflags & __FLAG_WRITING) == 0 - || fp->__bufpos == fp->__bufstart) - && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 - || fp->__bufpos == fp->__bufread)) -#elif defined __QNX__ /* QNX */ - if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend) - && fp->_Rback == fp->_Back + sizeof (fp->_Back) - && fp->_Rsave == NULL) -#elif defined __MINT__ /* Atari FreeMiNT */ - if (fp->__bufp == fp->__buffer - && fp->__get_limit == fp->__bufp - && fp->__put_limit == fp->__bufp - && !fp->__pushed_back) -#else - #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." -#endif - { - /* We get here when an fflush() call immediately preceded this one. We - know there are no buffers. - POSIX requires us to modify the file descriptor's position. - But we cannot position beyond end of file here. */ - off_t pos = - lseek (fileno (fp), - whence == SEEK_END && offset > 0 ? 0 : offset, - whence); - if (pos == -1) - { -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_flags &= ~__SOFF; -#endif - return -1; - } - -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_offset = pos; - fp_->_flags |= __SOFF; - fp_->_flags &= ~__SEOF; -#elif defined __EMX__ /* emx+gcc */ - fp->_flags &= ~_IOEOF; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ - fp->_flag &= ~_IOEOF; -#elif defined __MINT__ /* Atari FreeMiNT */ - fp->__offset = pos; - fp->__eof = 0; -#endif - /* If we were not requested to position beyond end of file, we're - done. */ - if (!(whence == SEEK_END && offset > 0)) - return 0; - } - return fseeko (fp, offset, whence); -} diff -Nru gnutls26-2.8.6/gl/gai_strerror.c gnutls26-2.4.1/gl/gai_strerror.c --- gnutls26-2.8.6/gl/gai_strerror.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/gai_strerror.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Philip Blundell , 1997. @@ -18,10 +18,13 @@ #ifndef _LIBC # include +# include "getaddrinfo.h" #endif #include -#include +#ifdef HAVE_NETDB_H +# include +#endif #ifdef _LIBC # include @@ -50,7 +53,7 @@ { EAI_SOCKTYPE, N_("ai_socktype not supported") }, { EAI_SYSTEM, N_("System error") }, { EAI_OVERFLOW, N_("Argument buffer too small") }, -#ifdef EAI_INPROGRESS +#ifdef __USE_GNU { EAI_INPROGRESS, N_("Processing request in progress") }, { EAI_CANCELED, N_("Request canceled") }, { EAI_NOTCANCELED, N_("Request not canceled") }, diff -Nru gnutls26-2.8.6/gl/getaddrinfo.c gnutls26-2.4.1/gl/getaddrinfo.c --- gnutls26-2.8.6/gl/getaddrinfo.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/getaddrinfo.c 2008-06-19 11:00:10.000000000 +0100 @@ -19,7 +19,7 @@ #include -#include +#include "getaddrinfo.h" #if HAVE_NETINET_IN_H # include @@ -301,22 +301,6 @@ tmp->ai_addr->sa_family = he->h_addrtype; tmp->ai_family = he->h_addrtype; -#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN - switch (he->h_addrtype) - { -#if HAVE_IPV4 - case AF_INET: - tmp->ai_addr->sa_len = sizeof (struct sockaddr_in); - break; -#endif -#if HAVE_IPV6 - case AF_INET6: - tmp->ai_addr->sa_len = sizeof (struct sockaddr_in6); - break; -#endif - } -#endif - /* FIXME: If more than one address, create linked list of addrinfo's. */ *res = tmp; diff -Nru gnutls26-2.8.6/gl/getaddrinfo.h gnutls26-2.4.1/gl/getaddrinfo.h --- gnutls26-2.8.6/gl/getaddrinfo.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/gl/getaddrinfo.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,163 @@ +/* Get address information. + Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2008 + Free Software Foundation, Inc. + Contributed by Simon Josefsson . + + 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef GETADDRINFO_H +#define GETADDRINFO_H + +/* sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 require sys/types.h, so include it first. + Then we'll also get 'socklen_t' and 'struct sockaddr' which are + used below. */ +#include +/* Get all getaddrinfo related declarations, if available. */ +#include +#ifdef HAVE_NETDB_H +# include +#endif + +#ifndef HAVE_STRUCT_ADDRINFO + +/* Structure to contain information about address of a service provider. */ +struct addrinfo +{ + int ai_flags; /* Input flags. */ + int ai_family; /* Protocol family for socket. */ + int ai_socktype; /* Socket type. */ + int ai_protocol; /* Protocol for socket. */ + socklen_t ai_addrlen; /* Length of socket address. */ + struct sockaddr *ai_addr; /* Socket address for socket. */ + char *ai_canonname; /* Canonical name for service location. */ + struct addrinfo *ai_next; /* Pointer to next in list. */ +}; +#endif + +/* Possible values for `ai_flags' field in `addrinfo' structure. */ +#ifndef AI_PASSIVE +# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ +#endif +#ifndef AI_CANONNAME +# define AI_CANONNAME 0x0002 /* Request for canonical name. */ +#endif +#ifndef AI_NUMERICSERV +# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ +#endif + +#if 0 +/* The commented out definitions below are not yet implemented in the + GNULIB getaddrinfo() replacement, so are not yet needed and may, in fact, + cause conflicts on systems with a getaddrinfo() function which does not + define them. + + If they are restored, be sure to protect the definitions with #ifndef. */ +#define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ +#define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ +#define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ +#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose + returned address type.. */ +#endif /* 0 */ + +/* Error values for `getaddrinfo' function. */ +#ifndef EAI_BADFLAGS +# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ +# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ +# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ +# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ +# define EAI_NODATA -5 /* No address associated with NAME. */ +# define EAI_FAMILY -6 /* `ai_family' not supported. */ +# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ +# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ +# define EAI_MEMORY -10 /* Memory allocation failure. */ +#endif + +/* Since EAI_NODATA is deprecated by RFC3493, some systems (at least + FreeBSD, which does define EAI_BADFLAGS) have removed the definition + in favor of EAI_NONAME. */ +#if !defined EAI_NODATA && defined EAI_NONAME +# define EAI_NODATA EAI_NONAME +#endif + +#ifndef EAI_OVERFLOW +/* Not defined on mingw32. */ +# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ +#endif +#ifndef EAI_ADDRFAMILY +/* Not defined on mingw32. */ +# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ +#endif +#ifndef EAI_SYSTEM +/* Not defined on mingw32. */ +# define EAI_SYSTEM -11 /* System error returned in `errno'. */ +#endif + +#ifdef __USE_GNU +# ifndef EAI_INPROGRESS +# define EAI_INPROGRESS -100 /* Processing request in progress. */ +# define EAI_CANCELED -101 /* Request canceled. */ +# define EAI_NOTCANCELED -102 /* Request not canceled. */ +# define EAI_ALLDONE -103 /* All requests done. */ +# define EAI_INTR -104 /* Interrupted by a signal. */ +# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ +# endif +#endif + +#if !HAVE_DECL_GETADDRINFO +/* Translate name of a service location and/or a service name to set of + socket addresses. + For more details, see the POSIX:2001 specification + . */ +extern int getaddrinfo (const char *restrict nodename, + const char *restrict servname, + const struct addrinfo *restrict hints, + struct addrinfo **restrict res); +#endif + +#if !HAVE_DECL_FREEADDRINFO +/* Free `addrinfo' structure AI including associated storage. + For more details, see the POSIX:2001 specification + . */ +extern void freeaddrinfo (struct addrinfo *ai); +#endif + +#if !HAVE_DECL_GAI_STRERROR +/* Convert error return from getaddrinfo() to a string. + For more details, see the POSIX:2001 specification + . */ +extern const char *gai_strerror (int ecode); +#endif + +#if !HAVE_DECL_GETNAMEINFO +/* Convert socket address to printable node and service names. + For more details, see the POSIX:2001 specification + . */ +extern int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen, + char *restrict node, socklen_t nodelen, + char *restrict service, socklen_t servicelen, + int flags); + +#endif + +/* Possible flags for getnameinfo. */ +#ifndef NI_NUMERICHOST +# define NI_NUMERICHOST 1 +#endif +#ifndef NI_NUMERICSERV +# define NI_NUMERICSERV 2 +#endif + +#endif /* GETADDRINFO_H */ diff -Nru gnutls26-2.8.6/gl/getdelim.c gnutls26-2.4.1/gl/getdelim.c --- gnutls26-2.8.6/gl/getdelim.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/getdelim.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, - 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, 2008 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 @@ -24,25 +24,22 @@ #include #include -#include #include #include +#ifndef SIZE_MAX +# define SIZE_MAX ((size_t) -1) +#endif #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif - -#if USE_UNLOCKED_IO -# include "unlocked-io.h" -# define getc_maybe_unlocked(fp) getc(fp) -#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED +#if !HAVE_FLOCKFILE # undef flockfile -# undef funlockfile # define flockfile(x) ((void) 0) +#endif +#if !HAVE_FUNLOCKFILE +# undef funlockfile # define funlockfile(x) ((void) 0) -# define getc_maybe_unlocked(fp) getc(fp) -#else -# define getc_maybe_unlocked(fp) getc_unlocked(fp) #endif /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and @@ -82,7 +79,7 @@ { int i; - i = getc_maybe_unlocked (fp); + i = getc (fp); if (i == EOF) { result = -1; diff -Nru gnutls26-2.8.6/gl/gettext.h gnutls26-2.4.1/gl/gettext.h --- gnutls26-2.8.6/gl/gettext.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/gettext.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,174 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by - the gettext() and ngettext() macros. This is an alternative to calling - textdomain(), and is useful for libraries. */ -# ifdef DEFAULT_TEXT_DOMAIN -# undef gettext -# define gettext(Msgid) \ - dgettext (DEFAULT_TEXT_DOMAIN, Msgid) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) -# endif - -#else - -/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which - chokes if dcgettext is defined as a macro. So include it now, to make - later inclusions of a NOP. We don't include - as well because people using "gettext.h" will not include , - and also including would fail on SunOS 4, whereas - is OK. */ -#if defined(__sun) -# include -#endif - -/* Many header files from the libstdc++ coming with g++ 3.3 or newer include - , which chokes if dcgettext is defined as a macro. So include - it now, to make later inclusions of a NOP. */ -#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) -# include -# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H -# include -# endif -#endif - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to - contain "#define const". */ -# undef gettext -# define gettext(Msgid) ((const char *) (Msgid)) -# undef dgettext -# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) -# undef dcgettext -# define dcgettext(Domainname, Msgid, Category) \ - ((void) (Category), dgettext (Domainname, Msgid)) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 \ - ? ((void) (Msgid2), (const char *) (Msgid1)) \ - : ((void) (Msgid1), (const char *) (Msgid2))) -# undef dngettext -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) -# undef dcngettext -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) -# undef textdomain -# define textdomain(Domainname) ((const char *) (Domainname)) -# undef bindtextdomain -# define bindtextdomain(Domainname, Dirname) \ - ((void) (Domainname), (const char *) (Dirname)) -# undef bind_textdomain_codeset -# define bind_textdomain_codeset(Domainname, Codeset) \ - ((void) (Domainname), (const char *) (Codeset)) - -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strings - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -/* The separator between msgctxt and msgid in a .mo file. */ -#define GETTEXT_CONTEXT_GLUE "\004" - -/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a - MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be - short and rarely need to change. - The letter 'p' stands for 'particular' or 'special'. */ -#ifdef DEFAULT_TEXT_DOMAIN -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#else -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#endif -#define dpgettext(Domainname, Msgctxt, Msgid) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) -#ifdef DEFAULT_TEXT_DOMAIN -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#else -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#endif -#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -pgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - int category) -{ - const char *translation = dcgettext (domain, msg_ctxt_id, category); - if (translation == msg_ctxt_id) - return msgid; - else - return translation; -} - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -npgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - const char *msgid_plural, unsigned long int n, - int category) -{ - const char *translation = - dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); - if (translation == msg_ctxt_id || translation == msgid_plural) - return (n == 1 ? msgid : msgid_plural); - else - return translation; -} - -#endif /* _LIBGETTEXT_H */ diff -Nru gnutls26-2.8.6/gl/gnulib.mk gnutls26-2.4.1/gl/gnulib.mk --- gnutls26-2.8.6/gl/gnulib.mk 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/gl/gnulib.mk 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,254 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2008 Free Software Foundation, 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. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=fseeko --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl --no-vc-files arpa_inet autobuild error fdl gendocs getaddrinfo getline getpass-gnu gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf + + +MOSTLYCLEANFILES += core *.stackdump + +noinst_LTLIBRARIES += libgnu.la + +libgnu_la_SOURCES = +libgnu_la_LIBADD = $(gl_LTLIBOBJS) +libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) +EXTRA_libgnu_la_SOURCES = +libgnu_la_LDFLAGS = $(AM_LDFLAGS) + +## begin gnulib module arpa_inet + +BUILT_SOURCES += $(ARPA_INET_H) + +# We need the following in order to create when the system +# doesn't have one. +arpa/inet.h: + @MKDIR_P@ arpa + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ + -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ + -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \ + -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \ + -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ + -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ + < $(srcdir)/arpa_inet.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t +MOSTLYCLEANDIRS += arpa + +EXTRA_DIST += arpa_inet.in.h + +## end gnulib module arpa_inet + +## begin gnulib module error + + +EXTRA_DIST += error.c error.h + +EXTRA_libgnu_la_SOURCES += error.c + +## end gnulib module error + +## begin gnulib module gendocs + + +EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh + +## end gnulib module gendocs + +## begin gnulib module getaddrinfo + + +EXTRA_DIST += gai_strerror.c getaddrinfo.c getaddrinfo.h + +EXTRA_libgnu_la_SOURCES += gai_strerror.c getaddrinfo.c + +## end gnulib module getaddrinfo + +## begin gnulib module getdelim + + +EXTRA_DIST += getdelim.c + +EXTRA_libgnu_la_SOURCES += getdelim.c + +## end gnulib module getdelim + +## begin gnulib module getline + + +EXTRA_DIST += getline.c + +EXTRA_libgnu_la_SOURCES += getline.c + +## end gnulib module getline + +## begin gnulib module getpass-gnu + + +EXTRA_DIST += getpass.c getpass.h + +EXTRA_libgnu_la_SOURCES += getpass.c + +## end gnulib module getpass-gnu + +## begin gnulib module gnumakefile + +distclean-local: clean-GNUmakefile +clean-GNUmakefile: + test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : + +EXTRA_DIST += $(top_srcdir)/GNUmakefile + +## end gnulib module gnumakefile + +## begin gnulib module gnupload + + +EXTRA_DIST += $(top_srcdir)/build-aux/gnupload + +## end gnulib module gnupload + +## begin gnulib module havelib + + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module havelib + +## begin gnulib module inet_ntop + + +EXTRA_DIST += inet_ntop.c + +EXTRA_libgnu_la_SOURCES += inet_ntop.c + +## end gnulib module inet_ntop + +## begin gnulib module inet_pton + + +EXTRA_DIST += inet_pton.c + +EXTRA_libgnu_la_SOURCES += inet_pton.c + +## end gnulib module inet_pton + +## begin gnulib module intprops + + +EXTRA_DIST += intprops.h + +## end gnulib module intprops + +## begin gnulib module maintainer-makefile + +EXTRA_DIST += $(top_srcdir)/maint.mk + +## end gnulib module maintainer-makefile + +## begin gnulib module netinet_in + +BUILT_SOURCES += $(NETINET_IN_H) + +# We need the following in order to create when the system +# doesn't have one. +netinet/in.h: netinet_in.in.h + @MKDIR_P@ netinet + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ + -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ + < $(srcdir)/netinet_in.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t +MOSTLYCLEANDIRS += netinet + +EXTRA_DIST += netinet_in.in.h + +## end gnulib module netinet_in + +## begin gnulib module progname + +libgnu_la_SOURCES += progname.h progname.c + +## end gnulib module progname + +## begin gnulib module readline + + +EXTRA_DIST += readline.c readline.h + +EXTRA_libgnu_la_SOURCES += readline.c + +## end gnulib module readline + +## begin gnulib module stdarg + +BUILT_SOURCES += $(STDARG_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdarg.h: stdarg.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ + < $(srcdir)/stdarg.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += stdarg.h stdarg.h-t + +EXTRA_DIST += stdarg.in.h + +## end gnulib module stdarg + +## begin gnulib module strdup + + +EXTRA_DIST += strdup.c + +EXTRA_libgnu_la_SOURCES += strdup.c + +## end gnulib module strdup + +## begin gnulib module strerror + + +EXTRA_DIST += strerror.c + +EXTRA_libgnu_la_SOURCES += strerror.c + +## end gnulib module strerror + +## begin gnulib module version-etc + +libgnu_la_SOURCES += version-etc.h version-etc.c + +## end gnulib module version-etc + +## begin gnulib module version-etc-fsf + +libgnu_la_SOURCES += version-etc-fsf.c + +## end gnulib module version-etc-fsf + + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff -Nru gnutls26-2.8.6/gl/inet_pton.c gnutls26-2.4.1/gl/inet_pton.c --- gnutls26-2.8.6/gl/inet_pton.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/inet_pton.c 2008-06-19 11:00:10.000000000 +0100 @@ -37,7 +37,7 @@ /* Specification. */ #include -#include +#include #include #include @@ -179,7 +179,7 @@ curtok = src; saw_xdigit = 0; val = 0; - while ((ch = c_tolower (*src++)) != '\0') + while ((ch = tolower (*src++)) != '\0') { const char *pch; diff -Nru gnutls26-2.8.6/gl/listen.c gnutls26-2.4.1/gl/listen.c --- gnutls26-2.8.6/gl/listen.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/listen.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -/* listen.c --- wrappers for Windows listen function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef listen - -int -rpl_listen (int fd, int backlog) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = listen (sock, backlog); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/lseek.c gnutls26-2.4.1/gl/lseek.c --- gnutls26-2.8.6/gl/lseek.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/lseek.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* An lseek() function that detects pipes. - Copyright (C) 2007 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Windows platforms. */ -/* Get GetFileType. */ -# include -#else -# include -#endif -#include - -#undef lseek - -off_t -rpl_lseek (int fd, off_t offset, int whence) -{ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ - HANDLE h = (HANDLE) _get_osfhandle (fd); - if (h == INVALID_HANDLE_VALUE) - { - errno = EBADF; - return -1; - } - if (GetFileType (h) != FILE_TYPE_DISK) - { - errno = ESPIPE; - return -1; - } -#else - /* BeOS lseek mistakenly succeeds on pipes... */ - struct stat statbuf; - if (fstat (fd, &statbuf) < 0) - return -1; - if (!S_ISREG (statbuf.st_mode)) - { - errno = ESPIPE; - return -1; - } -#endif - return lseek (fd, offset, whence); -} diff -Nru gnutls26-2.8.6/gl/m4/00gnulib.m4 gnutls26-2.4.1/gl/m4/00gnulib.m4 --- gnutls26-2.8.6/gl/m4/00gnulib.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/00gnulib.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -# 00gnulib.m4 serial 2 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. It is needed until such time as we can -dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. - -# AC_DEFUN_ONCE([NAME], VALUE) -# ---------------------------- -# Define NAME to expand to VALUE on the first use (whether by direct -# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. -# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This -# definition is slower than the version in Autoconf 2.64, because it -# can only use interfaces that existed since 2.59; but it achieves the -# same effect. Quoting is necessary to avoid confusing Automake. -m4_version_prereq([2.63.263], [], -[m4_define([AC][_DEFUN_ONCE], - [AC][_DEFUN([$1], - [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], - [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl -[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) - -# gl_00GNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file prior to all other gnulib .m4 files. -AC_DEFUN([gl_00GNULIB]) diff -Nru gnutls26-2.8.6/gl/m4/alloca.m4 gnutls26-2.4.1/gl/m4/alloca.m4 --- gnutls26-2.8.6/gl/m4/alloca.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/alloca.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -# alloca.m4 serial 9 -dnl Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_ALLOCA], -[ - dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. - AC_REQUIRE([AC_PROG_CPP]) - AC_REQUIRE([AC_PROG_EGREP]) - - AC_REQUIRE([AC_FUNC_ALLOCA]) - if test $ac_cv_func_alloca_works = no; then - gl_PREREQ_ALLOCA - fi - - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ - AC_EGREP_CPP([Need own alloca], [ -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif - ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) - ]) - if test $gl_cv_rpl_alloca = yes; then - dnl OK, alloca can be implemented through a compiler built-in. - AC_DEFINE([HAVE_ALLOCA], [1], - [Define to 1 if you have 'alloca' after including , - a header that may be supplied by this distribution.]) - ALLOCA_H=alloca.h - else - dnl alloca exists as a library function, i.e. it is slow and probably - dnl a memory leak. Don't define HAVE_ALLOCA in this case. - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h - fi - AC_SUBST([ALLOCA_H]) -]) - -# Prerequisites of lib/alloca.c. -# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. -AC_DEFUN([gl_PREREQ_ALLOCA], [:]) diff -Nru gnutls26-2.8.6/gl/m4/arpa_inet_h.m4 gnutls26-2.4.1/gl/m4/arpa_inet_h.m4 --- gnutls26-2.8.6/gl/m4/arpa_inet_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/arpa_inet_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,4 +1,4 @@ -# arpa_inet_h.m4 serial 5 +# arpa_inet_h.m4 serial 4 dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -25,13 +25,6 @@ gl_CHECK_NEXT_HEADERS([arpa/inet.h]) ]) -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_ARPA_INET_H], -[ - AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) - ARPA_INET_H='arpa/inet.h' -]) - AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. diff -Nru gnutls26-2.8.6/gl/m4/autobuild.m4 gnutls26-2.4.1/gl/m4/autobuild.m4 --- gnutls26-2.8.6/gl/m4/autobuild.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/autobuild.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# autobuild.m4 serial 7 -dnl Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. +# autobuild.m4 serial 5 +dnl Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,7 +29,7 @@ ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + date=`date +%Y%m%d-%H%M%S` if test "$?" != 0; then date=`date` fi diff -Nru gnutls26-2.8.6/gl/m4/close.m4 gnutls26-2.4.1/gl/m4/close.m4 --- gnutls26-2.8.6/gl/m4/close.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/close.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -# close.m4 serial 3 -dnl Copyright (C) 2008-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_CLOSE], -[ - m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ - gl_PREREQ_SYS_H_WINSOCK2 - if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then - gl_REPLACE_CLOSE - fi - ]) -]) - -AC_DEFUN([gl_REPLACE_CLOSE], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - if test $REPLACE_CLOSE != 1; then - AC_LIBOBJ([close]) - fi - REPLACE_CLOSE=1 - gl_REPLACE_FCLOSE -]) diff -Nru gnutls26-2.8.6/gl/m4/eoverflow.m4 gnutls26-2.4.1/gl/m4/eoverflow.m4 --- gnutls26-2.8.6/gl/m4/eoverflow.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/eoverflow.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,70 @@ +# eoverflow.m4 serial 2 +dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +# The EOVERFLOW errno value ought to be defined in , according to +# POSIX. But some systems (like AIX 3) don't define it, and some systems +# (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. + +# Define EOVERFLOW as a C macro and as a substituted macro in such a way that +# 1. on all systems, after inclusion of , EOVERFLOW is usable, +# 2. on systems where EOVERFLOW is defined elsewhere, we use the same numeric +# value. + +AC_DEFUN([gl_EOVERFLOW], +[ + AC_REQUIRE([AC_PROG_CC])dnl + + AC_CACHE_CHECK([for EOVERFLOW], ac_cv_decl_EOVERFLOW, [ + AC_EGREP_CPP(yes,[ +#include +#ifdef EOVERFLOW +yes +#endif + ], have_eoverflow=1) + if test -n "$have_eoverflow"; then + dnl EOVERFLOW exists in . Don't need to define EOVERFLOW ourselves. + ac_cv_decl_EOVERFLOW=yes + else + AC_EGREP_CPP(yes,[ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef EOVERFLOW +yes +#endif + ], have_eoverflow=1) + if test -n "$have_eoverflow"; then + dnl EOVERFLOW exists but is hidden. + dnl Define it to the same value. + AC_COMPUTE_INT([ac_cv_decl_EOVERFLOW], [EOVERFLOW], [ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +]) + else + dnl EOVERFLOW isn't defined by the system. Define EOVERFLOW ourselves, but + dnl don't define it as EINVAL, because snprintf() callers want to + dnl distinguish EINVAL and EOVERFLOW. + ac_cv_decl_EOVERFLOW=E2BIG + fi + fi + ]) + if test "$ac_cv_decl_EOVERFLOW" != yes; then + AC_DEFINE_UNQUOTED([EOVERFLOW], [$ac_cv_decl_EOVERFLOW], + [Define as good substitute value for EOVERFLOW.]) + EOVERFLOW="$ac_cv_decl_EOVERFLOW" + AC_SUBST(EOVERFLOW) + fi +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) +]) diff -Nru gnutls26-2.8.6/gl/m4/errno_h.m4 gnutls26-2.4.1/gl/m4/errno_h.m4 --- gnutls26-2.8.6/gl/m4/errno_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/errno_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,112 +0,0 @@ -# errno_h.m4 serial 5 -dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ - AC_EGREP_CPP([booboo],[ -#include -#if !defined ENOMSG -booboo -#endif -#if !defined EIDRM -booboo -#endif -#if !defined ENOLINK -booboo -#endif -#if !defined EPROTO -booboo -#endif -#if !defined EMULTIHOP -booboo -#endif -#if !defined EBADMSG -booboo -#endif -#if !defined EOVERFLOW -booboo -#endif -#if !defined ENOTSUP -booboo -#endif -#if !defined ECANCELED -booboo -#endif - ], - [gl_cv_header_errno_h_complete=no], - [gl_cv_header_errno_h_complete=yes]) - ]) - if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' - else - gl_CHECK_NEXT_HEADERS([errno.h]) - ERRNO_H='errno.h' - fi - AC_SUBST([ERRNO_H]) - gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) - gl_REPLACE_ERRNO_VALUE([ENOLINK]) - gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) -]) - -# Assuming $1 = EOVERFLOW. -# The EOVERFLOW errno value ought to be defined in , according to -# POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and -# some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. -# Check for the value of EOVERFLOW. -# Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. -AC_DEFUN([gl_REPLACE_ERRNO_VALUE], -[ - if test -n "$ERRNO_H"; then - AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ - AC_EGREP_CPP([yes],[ -#include -#ifdef ]$1[ -yes -#endif - ], - [gl_cv_header_errno_h_]$1[=yes], - [gl_cv_header_errno_h_]$1[=no]) - if test $gl_cv_header_errno_h_]$1[ = no; then - AC_EGREP_CPP([yes],[ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ]$1[ -yes -#endif - ], [gl_cv_header_errno_h_]$1[=hidden]) - if test $gl_cv_header_errno_h_]$1[ = hidden; then - dnl The macro exists but is hidden. - dnl Define it to the same value. - AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -]) - fi - fi - ]) - case $gl_cv_header_errno_h_]$1[ in - yes | no) - ]$1[_HIDDEN=0; ]$1[_VALUE= - ;; - *) - ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" - ;; - esac - AC_SUBST($1[_HIDDEN]) - AC_SUBST($1[_VALUE]) - fi -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru gnutls26-2.8.6/gl/m4/extensions.m4 gnutls26-2.4.1/gl/m4/extensions.m4 --- gnutls26-2.8.6/gl/m4/extensions.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/extensions.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,7 +1,7 @@ -# serial 8 -*- Autoconf -*- +# serial 5 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2009 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2008 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. @@ -20,12 +20,10 @@ # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that # cause problems on some platforms (such as __EXTENSIONS__). -AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], +AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], @@ -38,16 +36,6 @@ [Define to 1 if on MINIX.]) fi - dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, - dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already - dnl provided. - case "$host_os" in - hpux*) - AC_DEFINE([_XOPEN_SOURCE], [500], - [Define to 500 only on HP-UX.]) - ;; - esac - AH_VERBATIM([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE @@ -90,15 +78,5 @@ # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. -AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], -[ - dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. - dnl gnulib does not need it. But if it gets required by third-party macros - dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a - dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, - dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. - AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -]) +AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], + [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) diff -Nru gnutls26-2.8.6/gl/m4/fclose.m4 gnutls26-2.4.1/gl/m4/fclose.m4 --- gnutls26-2.8.6/gl/m4/fclose.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/fclose.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -# fclose.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_FCLOSE], -[ -]) - -AC_DEFUN([gl_REPLACE_FCLOSE], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - if test $REPLACE_FCLOSE != 1; then - AC_LIBOBJ([fclose]) - fi - REPLACE_FCLOSE=1 -]) diff -Nru gnutls26-2.8.6/gl/m4/float_h.m4 gnutls26-2.4.1/gl/m4/float_h.m4 --- gnutls26-2.8.6/gl/m4/float_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/float_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -# float_h.m4 serial 3 -dnl Copyright (C) 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FLOAT_H], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - FLOAT_H= - case "$host_os" in - beos* | openbsd*) - FLOAT_H=float.h - gl_CHECK_NEXT_HEADERS([float.h]) - ;; - esac - AC_SUBST([FLOAT_H]) -]) diff -Nru gnutls26-2.8.6/gl/m4/fseeko.m4 gnutls26-2.4.1/gl/m4/fseeko.m4 --- gnutls26-2.8.6/gl/m4/fseeko.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/fseeko.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -# fseeko.m4 serial 4 -dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_FSEEKO], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) - - dnl Persuade glibc to declare fseeko(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], - [ - AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], - [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) - ]) - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - gl_REPLACE_FSEEKO - elif test $gl_cv_var_stdin_large_offset = no; then - gl_REPLACE_FSEEKO - fi -]) - -AC_DEFUN([gl_REPLACE_FSEEKO], -[ - AC_LIBOBJ([fseeko]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - REPLACE_FSEEKO=1 -]) diff -Nru gnutls26-2.8.6/gl/m4/getaddrinfo.m4 gnutls26-2.4.1/gl/m4/getaddrinfo.m4 --- gnutls26-2.8.6/gl/m4/getaddrinfo.m4 2010-03-15 09:31:20.000000000 +0000 +++ gnutls26-2.4.1/gl/m4/getaddrinfo.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# getaddrinfo.m4 serial 22 -dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. +# getaddrinfo.m4 serial 15 +dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,25 +7,13 @@ AC_DEFUN([gl_GETADDRINFO], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H - AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo]) - GETADDRINFO_LIB= - gai_saved_LIBS="$LIBS" - dnl Where is getaddrinfo()? - dnl - On Solaris, it is in libsocket. - dnl - On Haiku, it is in libnetwork. - dnl - On BeOS, it is in libnet. - dnl - On native Windows, it is in ws2_32.dll. - dnl - Otherwise it is in libc. - AC_SEARCH_LIBS([getaddrinfo], [socket network net], - [if test "$ac_cv_search_getaddrinfo" != "none required"; then - GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" - fi]) - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" + AC_CHECK_HEADERS_ONCE(netdb.h) + AC_SEARCH_LIBS(getaddrinfo, [nsl socket]) AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_LINK([ #include #ifdef HAVE_SYS_SOCKET_H #include @@ -34,28 +22,26 @@ #include #endif #include -]], [[getaddrinfo("", "", NULL, NULL);]])], +], [getaddrinfo("", "", NULL, NULL);], [gl_cv_func_getaddrinfo=yes], [gl_cv_func_getaddrinfo=no])]) if test $gl_cv_func_getaddrinfo = no; then - AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], - gl_cv_w32_getaddrinfo, [ + AC_CACHE_CHECK(for getaddrinfo in ws2tcpip.h and -lws2_32, + gl_cv_w32_getaddrinfo, [ gl_cv_w32_getaddrinfo=no am_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_LINK([ #ifdef HAVE_WS2TCPIP_H #include #endif #include -]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], [gl_cv_w32_getaddrinfo=yes]) - LIBS="$am_save_LIBS" - ]) +], [getaddrinfo(NULL, NULL, NULL, NULL);], gl_cv_w32_getaddrinfo=yes) + LIBS="$am_save_LIBS"]) if test "$gl_cv_w32_getaddrinfo" = "yes"; then - GETADDRINFO_LIB="-lws2_32" - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" + LIBS="$LIBS -lws2_32" else - AC_LIBOBJ([getaddrinfo]) + AC_LIBOBJ(getaddrinfo) fi fi @@ -64,7 +50,7 @@ # header included somehow. AC_CACHE_CHECK([for gai_strerror (possibly via ws2tcpip.h)], gl_cv_func_gai_strerror, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_LINK([ #include #ifdef HAVE_SYS_SOCKET_H #include @@ -76,39 +62,44 @@ #include #endif #include -]], [[gai_strerror (NULL);]])], +], [gai_strerror (NULL);], [gl_cv_func_gai_strerror=yes], [gl_cv_func_gai_strerror=no])]) if test $gl_cv_func_gai_strerror = no; then - AC_LIBOBJ([gai_strerror]) + AC_LIBOBJ(gai_strerror) fi - LIBS="$gai_saved_LIBS" - gl_PREREQ_GETADDRINFO - - AC_SUBST([GETADDRINFO_LIB]) ]) -# Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c. +# Prerequisites of lib/getaddrinfo.h and lib/getaddrinfo.c. AC_DEFUN([gl_PREREQ_GETADDRINFO], [ - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H - AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB - AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB - AC_REQUIRE([gl_INET_NTOP]) dnl for INET_NTOP_LIB + AC_SEARCH_LIBS(gethostbyname, [inet nsl]) + AC_SEARCH_LIBS(getservbyname, [inet nsl socket xnet]) + AC_CHECK_FUNCS(gethostbyname,, [ + AC_CACHE_CHECK(for gethostbyname in winsock2.h and -lws2_32, + gl_cv_w32_gethostbyname, [ + gl_cv_w32_gethostbyname=no + am_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + AC_TRY_LINK([ +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include +], [gethostbyname(NULL);], gl_cv_w32_gethostbyname=yes) + LIBS="$am_save_LIBS"]) + if test "$gl_cv_w32_gethostbyname" = "yes"; then + LIBS="$LIBS -lws2_32" + fi + ]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SOCKET_FAMILIES]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - dnl Including sys/socket.h is wrong for Windows, but Windows does not - dnl have sa_len so the result is correct anyway. - AC_CHECK_MEMBERS([struct sockaddr.sa_len], , , [#include ]) - - AC_CHECK_HEADERS_ONCE([netinet/in.h]) - + AC_CHECK_HEADERS_ONCE(netinet/in.h netdb.h) AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo],,,[ /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and @@ -124,19 +115,6 @@ #include #endif ]) - if test $ac_cv_have_decl_getaddrinfo = no; then - HAVE_DECL_GETADDRINFO=0 - fi - if test $ac_cv_have_decl_freeaddrinfo = no; then - HAVE_DECL_FREEADDRINFO=0 - fi - if test $ac_cv_have_decl_gai_strerror = no; then - HAVE_DECL_GAI_STRERROR=0 - fi - if test $ac_cv_have_decl_getnameinfo = no; then - HAVE_DECL_GETNAMEINFO=0 - fi - AC_CHECK_TYPES([struct addrinfo],,,[ #include #ifdef HAVE_SYS_SOCKET_H @@ -149,25 +127,4 @@ #include #endif ]) - if test $ac_cv_type_struct_addrinfo = no; then - HAVE_STRUCT_ADDRINFO=0 - fi - - dnl Append $HOSTENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. - case " $GETADDRINFO_LIB " in - *" $HOSTENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; - esac - - dnl Append $SERVENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. - case " $GETADDRINFO_LIB " in - *" $SERVENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; - esac - - dnl Append $INET_NTOP_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. - case " $GETADDRINFO_LIB " in - *" $INET_NTOP_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; - esac ]) diff -Nru gnutls26-2.8.6/gl/m4/getdelim.m4 gnutls26-2.4.1/gl/m4/getdelim.m4 --- gnutls26-2.8.6/gl/m4/getdelim.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/getdelim.m4 2008-06-19 11:00:10.000000000 +0100 @@ -31,5 +31,4 @@ AC_DEFUN([gl_PREREQ_GETDELIM], [ AC_CHECK_FUNCS([flockfile funlockfile]) - AC_CHECK_DECLS([getc_unlocked]) ]) diff -Nru gnutls26-2.8.6/gl/m4/getline.m4 gnutls26-2.4.1/gl/m4/getline.m4 --- gnutls26-2.8.6/gl/m4/getline.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/getline.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,7 @@ -# getline.m4 serial 19 +# getline.m4 serial 18 -dnl Copyright (C) 1998-2003, 2005-2007, 2009 Free Software Foundation, Inc. +dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free +dnl Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,7 +10,7 @@ AC_PREREQ([2.59]) dnl See if there's a working, system-supplied version of the getline function. -dnl We can't just do AC_REPLACE_FUNCS([getline]) because some systems +dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems dnl have a function by that name in -linet that doesn't have anything dnl to do with the function we need. AC_DEFUN([gl_FUNC_GETLINE], @@ -22,12 +23,12 @@ AC_CHECK_DECLS_ONCE([getline]) gl_getline_needs_run_time_check=no - AC_CHECK_FUNC([getline], + AC_CHECK_FUNC(getline, dnl Found it in some library. Verify that it works. gl_getline_needs_run_time_check=yes, am_cv_func_working_getline=no) if test $gl_getline_needs_run_time_check = yes; then - AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline], + AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline, [echo fooN |tr -d '\012'|tr N '\012' > conftest.data AC_TRY_RUN([ # include diff -Nru gnutls26-2.8.6/gl/m4/getpass.m4 gnutls26-2.4.1/gl/m4/getpass.m4 --- gnutls26-2.8.6/gl/m4/getpass.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/getpass.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# getpass.m4 serial 11 -dnl Copyright (C) 2002-2003, 2005-2006, 2009 Free Software Foundation, Inc. +# getpass.m4 serial 10 +dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,8 +7,8 @@ # Provide a getpass() function if the system doesn't have it. AC_DEFUN([gl_FUNC_GETPASS], [ - AC_REPLACE_FUNCS([getpass]) - AC_CHECK_DECLS_ONCE([getpass]) + AC_REPLACE_FUNCS(getpass) + AC_CHECK_DECLS_ONCE(getpass) if test $ac_cv_func_getpass = no; then gl_PREREQ_GETPASS fi @@ -18,9 +18,9 @@ # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ - AC_CHECK_DECLS_ONCE([getpass]) + AC_CHECK_DECLS_ONCE(getpass) dnl TODO: Detect when GNU getpass() is already found in glibc. - AC_LIBOBJ([getpass]) + AC_LIBOBJ(getpass) gl_PREREQ_GETPASS dnl We must choose a different name for our function, since on ELF systems dnl an unusable getpass() in libc.so would override our getpass() if it is @@ -31,8 +31,8 @@ # Prerequisites of lib/getpass.c. AC_DEFUN([gl_PREREQ_GETPASS], [ - AC_CHECK_HEADERS_ONCE([stdio_ext.h termios.h]) - AC_CHECK_FUNCS_ONCE([__fsetlocking tcgetattr tcsetattr]) + AC_CHECK_HEADERS_ONCE(stdio_ext.h termios.h) + AC_CHECK_FUNCS_ONCE(__fsetlocking tcgetattr tcsetattr) AC_CHECK_DECLS([__fsetlocking],,, [#include #if HAVE_STDIO_EXT_H diff -Nru gnutls26-2.8.6/gl/m4/gettimeofday.m4 gnutls26-2.4.1/gl/m4/gettimeofday.m4 --- gnutls26-2.8.6/gl/m4/gettimeofday.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/gettimeofday.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -# serial 12 - -# Copyright (C) 2001-2003, 2005, 2007, 2009 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. - -dnl From Jim Meyering. - -AC_DEFUN([gl_FUNC_GETTIMEOFDAY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_SYS_TIME_H]) - AC_CHECK_FUNCS_ONCE([gettimeofday]) - - AC_CACHE_CHECK([for gettimeofday with POSIX signature], - [gl_cv_func_gettimeofday_posix_signature], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - struct timeval c; - ]], - [[ - int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); - ]])], - [gl_cv_func_gettimeofday_posix_signature=yes], - [gl_cv_func_gettimeofday_posix_signature=no])]) - - gl_FUNC_GETTIMEOFDAY_CLOBBER - - if test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 - SYS_TIME_H=sys/time.h - if test $gl_cv_func_gettimeofday_clobber != yes; then - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY - fi - fi -]) - - -dnl See if gettimeofday clobbers the static buffer that localtime uses -dnl for its return value. The gettimeofday function from Mac OS X 10.0.4 -dnl (i.e., Darwin 1.3.7) has this problem. -dnl -dnl If it does, then arrange to use gettimeofday and localtime only via -dnl the wrapper functions that work around the problem. - -AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], -[ - AC_REQUIRE([gl_HEADER_SYS_TIME_H]) - - AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], - [gl_cv_func_gettimeofday_clobber], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - #include - #include - ]], - [[ - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; - ]])], - [gl_cv_func_gettimeofday_clobber=no], - [gl_cv_func_gettimeofday_clobber=yes], - dnl When crosscompiling, assume it is broken. - [gl_cv_func_gettimeofday_clobber=yes])]) - - if test $gl_cv_func_gettimeofday_clobber = yes; then - REPLACE_GETTIMEOFDAY=1 - SYS_TIME_H=sys/time.h - gl_GETTIMEOFDAY_REPLACE_LOCALTIME - AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], - [Define if gettimeofday clobbers the localtime buffer.]) - fi -]) - -AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY - AC_DEFINE([gmtime], [rpl_gmtime], - [Define to rpl_gmtime if the replacement function should be used.]) - AC_DEFINE([localtime], [rpl_localtime], - [Define to rpl_localtime if the replacement function should be used.]) -]) - -# Prerequisites of lib/gettimeofday.c. -AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [ - AC_CHECK_HEADERS([sys/timeb.h]) - AC_CHECK_FUNCS([_ftime]) -]) diff -Nru gnutls26-2.8.6/gl/m4/gnulib-cache.m4 gnutls26-2.4.1/gl/m4/gnulib-cache.m4 --- gnutls26-2.8.6/gl/m4/gnulib-cache.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/gnulib-cache.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# -# This file represents the specification of how gnulib-tool is used. -# It acts as a cache: It is written and read by gnulib-tool. -# In projects using CVS, this file is meant to be stored in CVS, -# like the configure.ac and various Makefile.am files. - - -# Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --libtool --macro-prefix=gl --no-vc-files accept arpa_inet autobuild bind close connect error fdl-1.3 gendocs getaddrinfo getline getpass-gnu gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 listen maintainer-makefile manywarnings minmax perror pmccabe2html progname read-file readline recv select send setsockopt shutdown socket sockets sys_stat version-etc-fsf warnings - -# Specification in the form of a few gnulib-tool.m4 macro invocations: -gl_LOCAL_DIR([gl/override]) -gl_MODULES([ - accept - arpa_inet - autobuild - bind - close - connect - error - fdl-1.3 - gendocs - getaddrinfo - getline - getpass-gnu - gnupload - gpl-3.0 - inet_ntop - inet_pton - lgpl-2.1 - listen - maintainer-makefile - manywarnings - minmax - perror - pmccabe2html - progname - read-file - readline - recv - select - send - setsockopt - shutdown - socket - sockets - sys_stat - version-etc-fsf - warnings -]) -gl_AVOID([alignof-tests]) -gl_SOURCE_BASE([gl]) -gl_M4_BASE([gl/m4]) -gl_PO_BASE([]) -gl_DOC_BASE([doc]) -gl_TESTS_BASE([gl/tests]) -gl_WITH_TESTS -gl_LIB([libgnu]) -gl_MAKEFILE_NAME([]) -gl_LIBTOOL -gl_MACRO_PREFIX([gl]) -gl_PO_DOMAIN([]) -gl_VC_FILES([false]) diff -Nru gnutls26-2.8.6/gl/m4/gnulib-common.m4 gnutls26-2.4.1/gl/m4/gnulib-common.m4 --- gnutls26-2.8.6/gl/m4/gnulib-common.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/gnulib-common.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 11 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. +# gnulib-common.m4 serial 5 +dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,7 +8,6 @@ # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ @@ -22,16 +21,6 @@ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) - AH_VERBATIM([unused_parameter], -[/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif -]) ]) # gl_MODULE_INDICATOR([modulename]) @@ -53,7 +42,7 @@ # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. # Remove this macro when we can assume autoconf >= 2.60. m4_ifdef([AC_PROG_MKDIR_P], [], [ - AC_DEFUN_ONCE([AC_PROG_MKDIR_P], + AC_DEFUN([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) @@ -64,7 +53,7 @@ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. AC_DEFUN([AC_C_RESTRICT], -[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], +[AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do @@ -100,25 +89,3 @@ *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ]) - -# gl_BIGENDIAN -# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. -# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some -# macros invoke AC_C_BIGENDIAN with arguments. -AC_DEFUN([gl_BIGENDIAN], -[ - AC_C_BIGENDIAN -]) - -# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) -# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not -# output a spurious "(cached)" mark in the midst of other configure output. -# This macro should be used instead of AC_CACHE_VAL when it is not surrounded -# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. -AC_DEFUN([gl_CACHE_VAL_SILENT], -[ - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - AC_CACHE_VAL([$1], [$2]) - as_echo_n="$saved_as_echo_n" -]) diff -Nru gnutls26-2.8.6/gl/m4/gnulib-comp.m4 gnutls26-2.4.1/gl/m4/gnulib-comp.m4 --- gnutls26-2.8.6/gl/m4/gnulib-comp.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/gnulib-comp.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2009 Free Software Foundation, Inc. +# Copyright (C) 2002-2008 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General @@ -15,7 +15,7 @@ # In projects using CVS, this file can be treated like other built files. -# This macro should be invoked from ./configure.ac, in the section +# This macro should be invoked from ./configure.in, in the section # "Checks for programs", right after AC_PROG_CC, and certainly before # any checks for libraries, header files, types and library functions. AC_DEFUN([gl_EARLY], @@ -25,9 +25,9 @@ m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable AC_REQUIRE([AC_PROG_RANLIB]) + AC_REQUIRE([AC_GNU_SOURCE]) AB_INIT AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([AC_FUNC_FSEEKO]) dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC @@ -35,7 +35,7 @@ AC_REQUIRE([AC_PROG_CC_STDC]) ]) -# This macro should be invoked from ./configure.ac, in the section +# This macro should be invoked from ./configure.in, in the section # "Check for header files, types and library functions". AC_DEFUN([gl_INIT], [ @@ -48,49 +48,19 @@ m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gl' - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([accept]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([accept]) -changequote(,)dnl -LTALLOCA=`echo "$ALLOCA" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` -changequote([, ])dnl -AC_SUBST([LTALLOCA]) - gl_FUNC_ALLOCA + gl_EOVERFLOW gl_HEADER_ARPA_INET AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([bind]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([bind]) - gl_FUNC_CLOSE - gl_UNISTD_MODULE_INDICATOR([close]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([connect]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([connect]) - gl_HEADER_ERRNO_H gl_ERROR m4_ifdef([AM_XGETTEXT_OPTION], [AM_XGETTEXT_OPTION([--flag=error:3:c-format]) AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) - gl_FUNC_FCLOSE - gl_STDIO_MODULE_INDICATOR([fclose]) - gl_FLOAT_H - gl_FUNC_FSEEKO - gl_STDIO_MODULE_INDICATOR([fseeko]) gl_GETADDRINFO - gl_NETDB_MODULE_INDICATOR([getaddrinfo]) gl_FUNC_GETDELIM gl_STDIO_MODULE_INDICATOR([getdelim]) gl_FUNC_GETLINE gl_STDIO_MODULE_INDICATOR([getline]) gl_FUNC_GETPASS_GNU - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. @@ -101,89 +71,24 @@ m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) - gl_HOSTENT gl_INET_NTOP gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) gl_INET_PTON gl_ARPA_INET_MODULE_INDICATOR([inet_pton]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([listen]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([listen]) - gl_FUNC_LSEEK - gl_UNISTD_MODULE_INDICATOR([lseek]) - gl_MINMAX - gl_MULTIARCH - gl_HEADER_NETDB gl_HEADER_NETINET_IN AC_PROG_MKDIR_P - gl_FUNC_PERROR - gl_STRING_MODULE_INDICATOR([perror]) - gl_PMCCABE2HTML - gl_FUNC_READ_FILE gl_FUNC_READLINE - gl_FUNC_REALLOC_POSIX - gl_STDLIB_MODULE_INDICATOR([realloc-posix]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([recv]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([recv]) - gl_FUNC_SELECT - gl_SYS_SELECT_MODULE_INDICATOR([select]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([send]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([send]) - gl_SERVENT - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([setsockopt]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([shutdown]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([shutdown]) - gl_SIZE_MAX - gl_FUNC_SNPRINTF - gl_STDIO_MODULE_INDICATOR([snprintf]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([socket]) - fi - gl_SYS_SOCKET_MODULE_INDICATOR([socket]) - gl_SOCKETS gl_TYPE_SOCKLEN_T gl_STDARG_H - AM_STDBOOL_H - gl_STDINT_H - gl_STDIO_H - gl_STDLIB_H + gl_FUNC_STRDUP + gl_STRING_MODULE_INDICATOR([strdup]) gl_FUNC_STRERROR gl_STRING_MODULE_INDICATOR([strerror]) - gl_HEADER_STRING_H - gl_HEADER_SYS_SELECT - AC_PROG_MKDIR_P - gl_HEADER_SYS_SOCKET - AC_PROG_MKDIR_P - gl_HEADER_SYS_STAT_H - AC_PROG_MKDIR_P - gl_HEADER_SYS_TIME_H - AC_PROG_MKDIR_P - gl_UNISTD_H - gl_FUNC_VASNPRINTF - AC_SUBST([WARN_CFLAGS]) - gl_WCHAR_H - gl_XSIZE m4_ifval(gl_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || + m4_syscmd([test ! -d ]gl_LIBSOURCES_DIR[ || for gl_file in ]gl_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 + if test ! -r ]gl_LIBSOURCES_DIR[/$gl_file ; then + echo "missing file ]gl_LIBSOURCES_DIR[/$gl_file" >&2 exit 1 fi done])dnl @@ -218,28 +123,11 @@ m4_pushdef([gltests_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gl/tests' - gl_FUNC_UNGETC_WORKS - gl_FUNC_GETTIMEOFDAY - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([ioctl]) - gl_REPLACE_SYS_IOCTL_H - fi - gl_SYS_IOCTL_MODULE_INDICATOR([ioctl]) - gl_MODULE_INDICATOR([ioctl]) - AC_CHECK_HEADERS_ONCE([unistd.h sys/wait.h]) - gt_TYPE_WCHAR_T - gt_TYPE_WINT_T - gl_SYS_IOCTL_H - AC_PROG_MKDIR_P - AC_CHECK_FUNCS([shutdown]) - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - AC_SUBST([abs_aux_dir]) m4_ifval(gltests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || + m4_syscmd([test ! -d ]gltests_LIBSOURCES_DIR[ || for gl_file in ]gltests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 + if test ! -r ]gltests_LIBSOURCES_DIR[/$gl_file ; then + echo "missing file ]gltests_LIBSOURCES_DIR[/$gl_file" >&2 exit 1 fi done])dnl @@ -265,8 +153,6 @@ AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) ]) - LIBTESTS_LIBDEPS="$gltests_libdeps" - AC_SUBST([LIBTESTS_LIBDEPS]) ]) # Like AC_LIBOBJ, except that the module name goes @@ -329,208 +215,56 @@ build-aux/config.rpath build-aux/gendocs.sh build-aux/gnupload - build-aux/link-warning.h - build-aux/pmccabe.css - build-aux/pmccabe2html - build-aux/useless-if-before-free - build-aux/vc-list-files - doc/fdl-1.3.texi + doc/fdl.texi doc/gendocs_template doc/gpl-3.0.texi doc/lgpl-2.1.texi - lib/accept.c - lib/alignof.h - lib/alloca.c - lib/alloca.in.h lib/arpa_inet.in.h - lib/asnprintf.c - lib/bind.c - lib/c-ctype.c - lib/c-ctype.h - lib/close-hook.c - lib/close-hook.h - lib/close.c - lib/connect.c - lib/errno.in.h lib/error.c lib/error.h - lib/fclose.c - lib/float+.h - lib/float.in.h - lib/fseeko.c lib/gai_strerror.c lib/getaddrinfo.c + lib/getaddrinfo.h lib/getdelim.c lib/getline.c lib/getpass.c lib/getpass.h - lib/gettext.h lib/inet_ntop.c lib/inet_pton.c lib/intprops.h - lib/listen.c - lib/lseek.c - lib/minmax.h - lib/netdb.in.h lib/netinet_in.in.h - lib/perror.c - lib/printf-args.c - lib/printf-args.h - lib/printf-parse.c - lib/printf-parse.h lib/progname.c lib/progname.h - lib/read-file.c - lib/read-file.h lib/readline.c lib/readline.h - lib/realloc.c - lib/recv.c - lib/select.c - lib/send.c - lib/setsockopt.c - lib/shutdown.c - lib/size_max.h - lib/snprintf.c - lib/socket.c - lib/sockets.c - lib/sockets.h lib/stdarg.in.h - lib/stdbool.in.h - lib/stdint.in.h - lib/stdio-impl.h - lib/stdio-write.c - lib/stdio.in.h - lib/stdlib.in.h + lib/strdup.c lib/strerror.c - lib/string.in.h - lib/sys_select.in.h - lib/sys_socket.in.h - lib/sys_stat.in.h - lib/sys_time.in.h - lib/unistd.in.h - lib/vasnprintf.c - lib/vasnprintf.h lib/version-etc-fsf.c lib/version-etc.c lib/version-etc.h - lib/w32sock.h - lib/wchar.in.h - lib/xsize.h - m4/00gnulib.m4 - m4/alloca.m4 m4/arpa_inet_h.m4 m4/autobuild.m4 - m4/close.m4 - m4/errno_h.m4 + m4/eoverflow.m4 m4/error.m4 m4/extensions.m4 - m4/fclose.m4 - m4/float_h.m4 - m4/fseeko.m4 m4/getaddrinfo.m4 m4/getdelim.m4 m4/getline.m4 m4/getpass.m4 - m4/gettimeofday.m4 m4/gnulib-common.m4 - m4/hostent.m4 m4/include_next.m4 m4/inet_ntop.m4 m4/inet_pton.m4 - m4/intmax_t.m4 - m4/inttypes_h.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 - m4/longlong.m4 - m4/lseek.m4 - m4/malloc.m4 - m4/manywarnings.m4 - m4/minmax.m4 - m4/multiarch.m4 - m4/netdb_h.m4 m4/netinet_in_h.m4 - m4/perror.m4 - m4/pmccabe2html.m4 - m4/printf.m4 - m4/read-file.m4 m4/readline.m4 - m4/realloc.m4 - m4/select.m4 - m4/servent.m4 - m4/size_max.m4 - m4/snprintf.m4 - m4/sockets.m4 m4/socklen.m4 - m4/sockpfaf.m4 m4/stdarg.m4 - m4/stdbool.m4 - m4/stdint.m4 - m4/stdint_h.m4 - m4/stdio_h.m4 - m4/stdlib_h.m4 + m4/strdup.m4 m4/strerror.m4 - m4/string_h.m4 - m4/sys_ioctl_h.m4 - m4/sys_select_h.m4 - m4/sys_socket_h.m4 - m4/sys_stat_h.m4 - m4/sys_time_h.m4 - m4/ungetc.m4 - m4/unistd_h.m4 - m4/vasnprintf.m4 - m4/warnings.m4 - m4/wchar.m4 - m4/wchar_t.m4 - m4/wint_t.m4 - m4/xsize.m4 - tests/test-alloca-opt.c - tests/test-arpa_inet.c - tests/test-c-ctype.c - tests/test-errno.c - tests/test-fseeko.c - tests/test-fseeko.sh - tests/test-fseeko2.sh - tests/test-getaddrinfo.c - tests/test-getdelim.c - tests/test-getline.c - tests/test-gettimeofday.c - tests/test-lseek.c - tests/test-lseek.sh - tests/test-netdb.c - tests/test-netinet_in.c - tests/test-perror.c - tests/test-perror.sh - tests/test-read-file.c - tests/test-select-fd.c - tests/test-select-in.sh - tests/test-select-out.sh - tests/test-select-stdin.c - tests/test-select.c - tests/test-snprintf.c - tests/test-sockets.c - tests/test-stdbool.c - tests/test-stdint.c - tests/test-stdio.c - tests/test-stdlib.c - tests/test-strerror.c - tests/test-string.c - tests/test-sys_select.c - tests/test-sys_socket.c - tests/test-sys_stat.c - tests/test-sys_time.c - tests/test-unistd.c - tests/test-vasnprintf.c - tests/test-vc-list-files-cvs.sh - tests/test-vc-list-files-git.sh - tests/test-wchar.c - tests=lib/dummy.c - tests=lib/gettimeofday.c - tests=lib/ioctl.c - tests=lib/sys_ioctl.in.h - tests=lib/verify.h - tests=lib/w32sock.h top/GNUmakefile top/maint.mk ]) diff -Nru gnutls26-2.8.6/gl/m4/hostent.m4 gnutls26-2.4.1/gl/m4/hostent.m4 --- gnutls26-2.8.6/gl/m4/hostent.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/hostent.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -# hostent.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_HOSTENT], -[ - dnl Where are gethostent(), sethostent(), endhostent(), gethostbyname(), - dnl gethostbyaddr() defined? - dnl - On Solaris, they are in libnsl. Ignore libxnet. - dnl - On Haiku, they are in libnetwork. - dnl - On BeOS, they are in libnet. - dnl - On native Windows, they are in ws2_32.dll. - dnl - Otherwise they are in libc. - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H - HOSTENT_LIB= - gl_saved_libs="$LIBS" - AC_SEARCH_LIBS([gethostbyname], [nsl network net], - [if test "$ac_cv_search_gethostbyname" != "none required"; then - HOSTENT_LIB="$ac_cv_search_gethostbyname" - fi]) - LIBS="$gl_saved_libs" - if test -z "$HOSTENT_LIB"; then - AC_CHECK_FUNCS([gethostbyname], , [ - AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], - [gl_cv_w32_gethostbyname], - [gl_cv_w32_gethostbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_TRY_LINK([ -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include -], [gethostbyname(NULL);], [gl_cv_w32_gethostbyname=yes]) - LIBS="$gl_save_LIBS" - ]) - if test "$gl_cv_w32_gethostbyname" = "yes"; then - HOSTENT_LIB="-lws2_32" - fi - ]) - fi - AC_SUBST([HOSTENT_LIB]) -]) diff -Nru gnutls26-2.8.6/gl/m4/include_next.m4 gnutls26-2.4.1/gl/m4/include_next.m4 --- gnutls26-2.8.6/gl/m4/include_next.m4 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/include_next.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,47 +1,19 @@ -# include_next.m4 serial 12 -dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. +# include_next.m4 serial 6 +dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Derek Price. -dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. -dnl -dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to -dnl 'include' otherwise. -dnl -dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler -dnl supports it in the special case that it is the first include directive in -dnl the given file, or to 'include' otherwise. -dnl -dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, -dnl so as to avoid GCC warnings when the gcc option -pedantic is used. -dnl '#pragma GCC system_header' has the same effect as if the file was found -dnl through the include search path specified with '-isystem' options (as -dnl opposed to the search path specified with '-I' options). Namely, gcc -dnl does not warn about some things, and on some systems (Solaris and Interix) -dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side -dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead -dnl of plain '__STDC__'. - AC_DEFUN([gl_INCLUDE_NEXT], [ AC_LANG_PREPROC_REQUIRE() AC_CACHE_CHECK([whether the preprocessor supports include_next], [gl_cv_have_include_next], - [rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on - dnl AIX 6.1 support include_next when used as first preprocessor directive - dnl in a file, but not when preceded by another include directive. Check - dnl for this bug by including . - dnl Additionally, with this same compiler, include_next is a no-op when - dnl used in a header file that was included by specifying its absolute - dnl file name. Despite these two bugs, include_next is used in the - dnl compiler's . By virtue of the second bug, we need to use - dnl include_next as well in this case. - cat < conftestd1a/conftest.h + [rm -rf conftestd1 conftestd2 + mkdir conftestd1 conftestd2 + cat < conftestd1/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 @@ -50,53 +22,32 @@ #error "include_next doesn't work" #endif EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=yes], - [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - AC_COMPILE_IFELSE([#include ], - [gl_cv_have_include_next=buggy], - [gl_cv_have_include_next=no]) - ]) - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 + [gl_cv_have_include_next=no]) + CPPFLAGS="$save_CPPFLAGS" + rm -rf conftestd1 conftestd2 ]) - PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then + + dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it + dnl to use @INCLUDE_NEXT@ instead. + AC_DEFINE([HAVE_INCLUDE_NEXT], 1, + [Define if your compiler supports the #include_next directive.]) + INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi + INCLUDE_NEXT=include fi AC_SUBST([INCLUDE_NEXT]) - AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) - AC_SUBST([PRAGMA_SYSTEM_HEADER]) ]) # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) @@ -118,7 +69,6 @@ AC_DEFUN([gl_CHECK_NEXT_HEADERS], [ AC_REQUIRE([gl_INCLUDE_NEXT]) - AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([$1]) m4_foreach_w([gl_HEADER_NAME], [$1], @@ -137,22 +87,11 @@ [AC_LANG_SOURCE( [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] )]) - dnl AIX "xlc -E" and "cc -E" omit #line directives for header files - dnl that contain only a #include of other header files and no - dnl non-comment tokens of their own. This leads to a failure to - dnl detect the absolute name of , , - dnl and others. The workaround is to force preservation of comments - dnl through option -C. This ensures all necessary #line directives - dnl are present. GCC supports option -C as well. - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - dnl eval is necessary to expand gl_absname_cpp. + dnl eval is necessary to expand ac_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET([gl_next_header], - ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | + ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# s#^/[^/]#//&# diff -Nru gnutls26-2.8.6/gl/m4/inet_ntop.m4 gnutls26-2.4.1/gl/m4/inet_ntop.m4 --- gnutls26-2.8.6/gl/m4/inet_ntop.m4 2010-03-15 09:30:14.000000000 +0000 +++ gnutls26-2.4.1/gl/m4/inet_ntop.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# inet_ntop.m4 serial 11 -dnl Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. +# inet_ntop.m4 serial 6 +dnl Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,21 +9,10 @@ dnl Persuade Solaris to declare inet_ntop. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - gl_REPLACE_ARPA_INET_H - - dnl Most platforms that provide inet_ntop define it in libc. - dnl Solaris 8..10 provide inet_ntop in libnsl instead. - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([inet_ntop], [nsl], [], - [AC_REPLACE_FUNCS([inet_ntop])]) - LIBS=$gl_save_LIBS - INET_NTOP_LIB= - if test "$ac_cv_search_inet_ntop" != "no" && - test "$ac_cv_search_inet_ntop" != "none required"; then - INET_NTOP_LIB="$ac_cv_search_inet_ntop" - fi - AC_SUBST([INET_NTOP_LIB]) + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + ARPA_INET_H='arpa/inet.h' + AC_REPLACE_FUNCS(inet_ntop) gl_PREREQ_INET_NTOP ]) diff -Nru gnutls26-2.8.6/gl/m4/inet_pton.m4 gnutls26-2.4.1/gl/m4/inet_pton.m4 --- gnutls26-2.8.6/gl/m4/inet_pton.m4 2010-03-15 09:30:32.000000000 +0000 +++ gnutls26-2.4.1/gl/m4/inet_pton.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,29 +1,18 @@ -# inet_pton.m4 serial 9 -dnl Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc. +# inet_pton.m4 serial 5 +dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_INET_PTON], [ - dnl Persuade Solaris to declare inet_pton. + dnl Persuade Solaris to declare inet_ntop. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - gl_REPLACE_ARPA_INET_H - - dnl Most platforms that provide inet_pton define it in libc. - dnl Solaris 8..10 provide inet_pton in libnsl instead. - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([inet_pton], [nsl], [], - [AC_REPLACE_FUNCS([inet_pton])]) - LIBS=$gl_save_LIBS - INET_PTON_LIB= - if test "$ac_cv_search_inet_pton" != "no" && - test "$ac_cv_search_inet_pton" != "none required"; then - INET_PTON_LIB="$ac_cv_search_inet_pton" - fi - AC_SUBST([INET_PTON_LIB]) + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + ARPA_INET_H='arpa/inet.h' + AC_REPLACE_FUNCS(inet_pton) gl_PREREQ_INET_PTON ]) diff -Nru gnutls26-2.8.6/gl/m4/intmax_t.m4 gnutls26-2.4.1/gl/m4/intmax_t.m4 --- gnutls26-2.8.6/gl/m4/intmax_t.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/intmax_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,61 +0,0 @@ -# intmax_t.m4 serial 7 -dnl Copyright (C) 1997-2004, 2006-2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -AC_PREREQ([2.13]) - -# Define intmax_t to 'long' or 'long long' -# if it is not already defined in or . - -AC_DEFUN([gl_AC_TYPE_INTMAX_T], -[ - dnl For simplicity, we assume that a header file defines 'intmax_t' if and - dnl only if it defines 'uintmax_t'. - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], - [Define to long or long long if and don't define.]) - else - AC_DEFINE([HAVE_INTMAX_T], [1], - [Define if you have the 'intmax_t' type in or .]) - fi -]) - -dnl An alternative would be to explicitly test for 'intmax_t'. - -AC_DEFUN([gt_AC_TYPE_INTMAX_T], -[ - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], - [AC_TRY_COMPILE([ -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif -], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) - if test $gt_cv_c_intmax_t = yes; then - AC_DEFINE([HAVE_INTMAX_T], [1], - [Define if you have the 'intmax_t' type in or .]) - else - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], - [Define to long or long long if and don't define.]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/inttypes_h.m4 gnutls26-2.4.1/gl/m4/inttypes_h.m4 --- gnutls26-2.8.6/gl/m4/inttypes_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/inttypes_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -# inttypes_h.m4 serial 9 -dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - [gl_cv_header_inttypes_h=yes], - [gl_cv_header_inttypes_h=no])]) - if test $gl_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/lib-ld.m4 gnutls26-2.4.1/gl/m4/lib-ld.m4 --- gnutls26-2.8.6/gl/m4/lib-ld.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/lib-ld.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,110 +0,0 @@ -# lib-ld.m4 serial 4 (gettext-0.18) -dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT([$LD]) -else - AC_MSG_RESULT([no]) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff -Nru gnutls26-2.8.6/gl/m4/lib-link.m4 gnutls26-2.4.1/gl/m4/lib-link.m4 --- gnutls26-2.8.6/gl/m4/lib-link.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/lib-link.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,761 +0,0 @@ -# lib-link.m4 serial 19 (gettext-0.18) -dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_PREREQ([2.54]) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - popdef([NAME]) - popdef([Name]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. The missing-message -dnl defaults to 'no' and may contain additional hints for the user. -dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} -dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], - [ac_cv_lib[]Name=yes], - [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib[]$1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - popdef([NAME]) - popdef([Name]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff -Nru gnutls26-2.8.6/gl/m4/lib-prefix.m4 gnutls26-2.4.1/gl/m4/lib-prefix.m4 --- gnutls26-2.8.6/gl/m4/lib-prefix.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/lib-prefix.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,224 +0,0 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) diff -Nru gnutls26-2.8.6/gl/m4/longlong.m4 gnutls26-2.4.1/gl/m4/longlong.m4 --- gnutls26-2.8.6/gl/m4/longlong.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/longlong.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,106 +0,0 @@ -# longlong.m4 serial 14 -dnl Copyright (C) 1999-2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_LONG_LONG_INT if 'long long int' works. -# This fixes a bug in Autoconf 2.61, but can be removed once we -# assume 2.62 everywhere. - -# Note: If the type 'long long int' exists but is only 32 bits large -# (as on some very old compilers), HAVE_LONG_LONG_INT will not be -# defined. In this case you can treat 'long long int' like 'long int'. - -AC_DEFUN([AC_TYPE_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], - [AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. - dnl If cross compiling, assume the bug isn't important, since - dnl nobody cross compiles for this platform as far as we know. - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[@%:@include - @%:@ifndef LLONG_MAX - @%:@ define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - @%:@ define LLONG_MAX (HALF - 1 + HALF) - @%:@endif]], - [[long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0;]])], - [ac_cv_type_long_long_int=yes], - [ac_cv_type_long_long_int=no], - [ac_cv_type_long_long_int=yes])], - [ac_cv_type_long_long_int=no])]) - if test $ac_cv_type_long_long_int = yes; then - AC_DEFINE([HAVE_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `long long int'.]) - fi -]) - -# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -# This fixes a bug in Autoconf 2.61, but can be removed once we -# assume 2.62 everywhere. - -# Note: If the type 'unsigned long long int' exists but is only 32 bits -# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT -# will not be defined. In this case you can treat 'unsigned long long int' -# like 'unsigned long int'. - -AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for unsigned long long int], - [ac_cv_type_unsigned_long_long_int], - [AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [ac_cv_type_unsigned_long_long_int=yes], - [ac_cv_type_unsigned_long_long_int=no])]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `unsigned long long int'.]) - fi -]) - -# Expands to a C program that can be used to test for simultaneous support -# of 'long long' and 'unsigned long long'. We don't want to say that -# 'long long' is available if 'unsigned long long' is not, or vice versa, -# because too many programs rely on the symmetry between signed and unsigned -# integer types (excluding 'bool'). -AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], -[ - AC_LANG_PROGRAM( - [[/* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63;]], - [[/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull));]]) -]) diff -Nru gnutls26-2.8.6/gl/m4/lseek.m4 gnutls26-2.4.1/gl/m4/lseek.m4 --- gnutls26-2.8.6/gl/m4/lseek.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/lseek.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -# lseek.m4 serial 4 -dnl Copyright (C) 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_LSEEK], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], - [if test $cross_compiling = no; then - AC_LINK_IFELSE([ -#include /* for off_t */ -#include /* for SEEK_CUR */ -#include -int main () -{ - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; -}], - [if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi], - [gl_cv_func_lseek_pipe=no]) - else - AC_COMPILE_IFELSE([ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif], - [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) - fi]) - if test $gl_cv_func_lseek_pipe = no; then - gl_REPLACE_LSEEK - fi -]) - -AC_DEFUN([gl_REPLACE_LSEEK], -[ - AC_LIBOBJ([lseek]) - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - REPLACE_LSEEK=1 - AC_DEFINE([LSEEK_PIPE_BROKEN], [1], - [Define to 1 if lseek does not detect pipes.]) -]) diff -Nru gnutls26-2.8.6/gl/m4/malloc.m4 gnutls26-2.4.1/gl/m4/malloc.m4 --- gnutls26-2.8.6/gl/m4/malloc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/malloc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# malloc.m4 serial 9 -dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_FUNC_MALLOC_POSIX -# -------------------- -# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace malloc if it is not. -AC_DEFUN([gl_FUNC_MALLOC_POSIX], -[ - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then - HAVE_MALLOC_POSIX=1 - AC_DEFINE([HAVE_MALLOC_POSIX], [1], - [Define if the 'malloc' function is POSIX compliant.]) - else - AC_LIBOBJ([malloc]) - HAVE_MALLOC_POSIX=0 - fi - AC_SUBST([HAVE_MALLOC_POSIX]) -]) - -# Test whether malloc, realloc, calloc are POSIX compliant, -# Set gl_cv_func_malloc_posix to yes or no accordingly. -AC_DEFUN([gl_CHECK_MALLOC_POSIX], -[ - AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], - [gl_cv_func_malloc_posix], - [ - dnl It is too dangerous to try to allocate a large amount of memory: - dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_TRY_COMPILE([], - [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) - ]) -]) diff -Nru gnutls26-2.8.6/gl/m4/manywarnings.m4 gnutls26-2.4.1/gl/m4/manywarnings.m4 --- gnutls26-2.8.6/gl/m4/manywarnings.m4 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/manywarnings.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,104 +0,0 @@ -# manywarnings.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) -# -------------------------------------------------- -# Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. -# Elements separated by whitespace. In set logic terms, the function -# does OUTVAR = LISTVAR \ REMOVEVAR. -AC_DEFUN([gl_MANYWARN_COMPLEMENT], -[ - gl_warn_set= - set x $2; shift - for gl_warn_item - do - case " $3 " in - *" $gl_warn_item "*) - ;; - *) - gl_warn_set="$gl_warn_set $gl_warn_item" - ;; - esac - done - $1=$gl_warn_set -]) - -# gl_MANYWARN_ALL_GCC(VARIABLE) -# ----------------------------- -# Add all documented GCC (currently as per version 4.3.2) warning -# parameters to variable VARIABLE. Note that you need to test them -# using gl_WARN_ADD if you want to make sure your gcc understands it. -AC_DEFUN([gl_MANYWARN_ALL_GCC], -[ - gl_manywarn_set= - for gl_manywarn_item in \ - -Wall \ - -W \ - -Wformat-y2k \ - -Wformat-nonliteral \ - -Wformat-security \ - -Winit-self \ - -Wmissing-include-dirs \ - -Wswitch-default \ - -Wswitch-enum \ - -Wunused \ - -Wunknown-pragmas \ - -Wstrict-aliasing \ - -Wstrict-overflow \ - -Wsystem-headers \ - -Wfloat-equal \ - -Wtraditional \ - -Wtraditional-conversion \ - -Wdeclaration-after-statement \ - -Wundef \ - -Wshadow \ - -Wunsafe-loop-optimizations \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wc++-compat \ - -Wcast-qual \ - -Wcast-align \ - -Wwrite-strings \ - -Wconversion \ - -Wsign-conversion \ - -Wlogical-op \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wmissing-format-attribute \ - -Wpacked \ - -Wpadded \ - -Wredundant-decls \ - -Wnested-externs \ - -Wunreachable-code \ - -Winline \ - -Winvalid-pch \ - -Wlong-long \ - -Wvla \ - -Wvolatile-register-var \ - -Wdisabled-optimization \ - -Wstack-protector \ - -Woverlength-strings \ - ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" - done - # The following are not documented in the manual but are included in - # output from gcc --help=warnings. - for gl_manywarn_item in \ - -Wattributes \ - -Wcoverage-mismatch \ - -Wmultichar \ - -Wunused-macros \ - ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" - done - $1=$gl_manywarn_set -]) diff -Nru gnutls26-2.8.6/gl/m4/minmax.m4 gnutls26-2.4.1/gl/m4/minmax.m4 --- gnutls26-2.8.6/gl/m4/minmax.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/minmax.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# minmax.m4 serial 3 -dnl Copyright (C) 2005, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_PREREQ([2.52]) - -AC_DEFUN([gl_MINMAX], -[ - AC_REQUIRE([gl_PREREQ_MINMAX]) -]) - -# Prerequisites of lib/minmax.h. -AC_DEFUN([gl_PREREQ_MINMAX], -[ - gl_MINMAX_IN_HEADER([limits.h]) - gl_MINMAX_IN_HEADER([sys/param.h]) -]) - -dnl gl_MINMAX_IN_HEADER(HEADER) -dnl The parameter has to be a literal header name; it cannot be macro, -dnl nor a shell variable. (Because autoheader collects only AC_DEFINE -dnl invocations with a literal macro name.) -AC_DEFUN([gl_MINMAX_IN_HEADER], -[ - m4_pushdef([header], AS_TR_SH([$1])) - m4_pushdef([HEADER], AS_TR_CPP([$1])) - AC_CACHE_CHECK([whether <$1> defines MIN and MAX], - [gl_cv_minmax_in_]header, - [AC_TRY_COMPILE([#include <$1> -int x = MIN (42, 17);], [], - [gl_cv_minmax_in_]header[=yes], - [gl_cv_minmax_in_]header[=no])]) - if test $gl_cv_minmax_in_[]header = yes; then - AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, - [Define to 1 if <$1> defines the MIN and MAX macros.]) - fi - m4_popdef([HEADER]) - m4_popdef([header]) -]) diff -Nru gnutls26-2.8.6/gl/m4/multiarch.m4 gnutls26-2.4.1/gl/m4/multiarch.m4 --- gnutls26-2.8.6/gl/m4/multiarch.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/multiarch.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -# multiarch.m4 serial 5 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Determine whether the compiler is or may be producing universal binaries. -# -# On MacOS X 10.5 and later systems, the user can create libraries and -# executables that work on multiple system types--known as "fat" or -# "universal" binaries--by specifying multiple '-arch' options to the -# compiler but only a single '-arch' option to the preprocessor. Like -# this: -# -# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -# CPP="gcc -E" CXXCPP="g++ -E" -# -# Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the -# beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly. - -AC_DEFUN_ONCE([gl_MULTIARCH], -[ - dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. - gl_cv_c_multiarch=no - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( - [[#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - ]])], - [ - dnl Check for potential -arch flags. It is not universal unless - dnl there are at least two -arch flags with different values. - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - ]) - if test $gl_cv_c_multiarch = yes; then - AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], - [Define if the compiler is building for multiple architectures of Apple platforms at once.]) - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - AC_SUBST([APPLE_UNIVERSAL_BUILD]) -]) diff -Nru gnutls26-2.8.6/gl/m4/netdb_h.m4 gnutls26-2.4.1/gl/m4/netdb_h.m4 --- gnutls26-2.8.6/gl/m4/netdb_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/netdb_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -# netdb_h.m4 serial 5 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_HEADER_NETDB], -[ - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([netdb.h]) - if test $ac_cv_header_netdb_h = yes; then - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #include - struct addrinfo a; - int b = EAI_OVERFLOW; - int c = AI_NUMERICSERV; - ]])], - [NETDB_H=''], [NETDB_H='netdb.h']) - HAVE_NETDB_H=1 - else - NETDB_H='netdb.h' - HAVE_NETDB_H=0 - fi - AC_SUBST([HAVE_NETDB_H]) - AC_SUBST([NETDB_H]) -]) - -AC_DEFUN([gl_NETDB_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_NETDB_H_DEFAULTS], -[ - GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_STRUCT_ADDRINFO=1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) - HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) - HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) - HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) - HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) -]) diff -Nru gnutls26-2.8.6/gl/m4/perror.m4 gnutls26-2.4.1/gl/m4/perror.m4 --- gnutls26-2.8.6/gl/m4/perror.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/perror.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -# perror.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_PERROR], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([gl_HEADER_ERRNO_H]) - if test -n "$ERRNO_H"; then - dnl The system's perror() cannot know about the new errno values we add - dnl to . Replace it. - REPLACE_PERROR=1 - AC_LIBOBJ([perror]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/pmccabe2html.m4 gnutls26-2.4.1/gl/m4/pmccabe2html.m4 --- gnutls26-2.8.6/gl/m4/pmccabe2html.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/pmccabe2html.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -# pmccabe2html.m4 serial 2 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# Usage: gl_PMCCABE2HTML([]). -AC_DEFUN([gl_PMCCABE2HTML], -[ - AC_REQUIRE([AC_PROG_AWK]) - AC_PATH_PROG([PMCCABE], [pmccabe], [false]) -]) diff -Nru gnutls26-2.8.6/gl/m4/printf.m4 gnutls26-2.4.1/gl/m4/printf.m4 --- gnutls26-2.8.6/gl/m4/printf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/printf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,1416 +0,0 @@ -# printf.m4 serial 33 -dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Test whether the *printf family of functions supports the 'j', 'z', 't', -dnl 'L' size specifiers. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_sizes_c99. - -AC_DEFUN([gl_PRINTF_SIZES_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports size specifiers as in C99], - [gl_cv_func_printf_sizes_c99], - [ - AC_TRY_RUN([ -#include -#include -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -# include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -# include -#endif -static char buf[100]; -int main () -{ -#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX - buf[0] = '\0'; - if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 - || strcmp (buf, "12345671 33") != 0) - return 1; -#endif - buf[0] = '\0'; - if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 - || strcmp (buf, "12345672 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 - || strcmp (buf, "12345673 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 - || strcmp (buf, "1.5 33") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; - darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_printf_sizes_c99="guessing no";; - openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; - solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_sizes_c99="guessing no";; - netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_sizes_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports 'long double' -dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_long_double. - -AC_DEFUN([gl_PRINTF_LONG_DOUBLE], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports 'long double' arguments], - [gl_cv_func_printf_long_double], - [ - AC_TRY_RUN([ -#include -#include -static char buf[10000]; -int main () -{ - buf[0] = '\0'; - if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000e+00 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.75 33") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], - [ -changequote(,)dnl - case "$host_os" in - beos*) gl_cv_func_printf_long_double="guessing no";; - mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; - *) gl_cv_func_printf_long_double="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports infinite and NaN -dnl 'double' arguments and negative zero arguments in the %f, %e, %g -dnl directives. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_infinite. - -AC_DEFUN([gl_PRINTF_INFINITE], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], - [gl_cv_func_printf_infinite], - [ - AC_TRY_RUN([ -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static int -have_minus_zero () -{ - static double plus_zero = 0.0; - double minus_zero = - plus_zero; - return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; -} -static char buf[10000]; -static double zero = 0.0; -int main () -{ - if (sprintf (buf, "%f", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%f", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%f", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%e", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%e", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%e", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%g", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%g", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%g", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - /* This test fails on HP-UX 10.20. */ - if (have_minus_zero ()) - if (sprintf (buf, "%g", - zero) < 0 - || strcmp (buf, "-0") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; - darwin*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; - hpux*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_infinite="guessing no";; - netbsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_infinite="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports infinite and NaN -dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_infinite_long_double. - -AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_BIGENDIAN]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - dnl The user can set or unset the variable gl_printf_safe to indicate - dnl that he wishes a safe handling of non-IEEE-754 'long double' values. - if test -n "$gl_printf_safe"; then - AC_DEFINE([CHECK_PRINTF_SAFE], [1], - [Define if you wish *printf() functions that have a safe handling of - non-IEEE-754 'long double' values.]) - fi - case "$gl_cv_func_printf_long_double" in - *yes) - AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], - [gl_cv_func_printf_infinite_long_double], - [ - AC_TRY_RUN([ -]GL_NOCRASH[ -#include -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static char buf[10000]; -static long double zeroL = 0.0L; -int main () -{ - nocrash_init(); - if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Le", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) -/* Representation of an 80-bit 'long double' as an initializer for a sequence - of 'unsigned int' words. */ -# ifdef WORDS_BIGENDIAN -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ - ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ - (unsigned int) (mantlo) << 16 \ - } -# else -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { mantlo, manthi, exponent } -# endif - { /* Quiet NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { - /* Signalling NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Infinity. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Zero. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Unnormalized number. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Denormal. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } -#endif - return 0; -}], - [gl_cv_func_printf_infinite_long_double=yes], - [gl_cv_func_printf_infinite_long_double=no], - [ -changequote(,)dnl - case "$host_cpu" in - # Guess no on ia64, x86_64, i386. - ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; - *) - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; - darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; - hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_infinite_long_double="guessing no";; - netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite_long_double="guessing no";; - esac - ;; - esac -changequote([,])dnl - ]) - ]) - ;; - *) - gl_cv_func_printf_infinite_long_double="irrelevant" - ;; - esac -]) - -dnl Test whether the *printf family of functions supports the 'a' and 'A' -dnl conversion specifier for hexadecimal output of floating-point numbers. -dnl (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_a. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_A], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], - [gl_cv_func_printf_directive_a], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.922p+1 33") != 0 - && strcmp (buf, "0x3.244p+0 33") != 0 - && strcmp (buf, "0x6.488p-1 33") != 0 - && strcmp (buf, "0xc.91p-2 33") != 0)) - return 1; - if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "-0X1.922P+1 33") != 0 - && strcmp (buf, "-0X3.244P+0 33") != 0 - && strcmp (buf, "-0X6.488P-1 33") != 0 - && strcmp (buf, "-0XC.91P-2 33") != 0)) - return 1; - /* This catches a FreeBSD 6.1 bug: it doesn't round. */ - if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.83p+0 33") != 0 - && strcmp (buf, "0x3.05p-1 33") != 0 - && strcmp (buf, "0x6.0ap-2 33") != 0 - && strcmp (buf, "0xc.14p-3 33") != 0)) - return 1; - /* This catches a FreeBSD 6.1 bug. See - */ - if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 - || buf[0] == '0') - return 1; - /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ - if (sprintf (buf, "%.1a", 1.999) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - return 1; - /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a - glibc 2.4 bug . */ - if (sprintf (buf, "%.1La", 1.999L) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - return 1; - return 0; -}], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], - [ - case "$host_os" in - # Guess yes on glibc >= 2.5 systems. - *-gnu*) - AC_EGREP_CPP([BZ2908], [ - #include - #ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) - BZ2908 - #endif - #endif - ], - [gl_cv_func_printf_directive_a="guessing yes"], - [gl_cv_func_printf_directive_a="guessing no"]) - ;; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_a="guessing no";; - esac - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %F format -dnl directive. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_f. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_F], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'F' directive], - [gl_cv_func_printf_directive_f], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 - || strcmp (buf, "1234567.000000 33") != 0) - return 1; - if (sprintf (buf, "%F", 1.0 / 0.0) < 0 - || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) - return 1; - /* This catches a Cygwin 1.5.x bug. */ - if (sprintf (buf, "%.F", 1234.0) < 0 - || strcmp (buf, "1234") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; - darwin*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; - solaris*) gl_cv_func_printf_directive_f="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_f="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %n format -dnl directive. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_n. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_N], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'n' directive], - [gl_cv_func_printf_directive_n], - [ - AC_TRY_RUN([ -#include -#include -static char fmtstring[10]; -static char buf[100]; -int main () -{ - int count = -1; - /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) - support %n in format strings in read-only memory but not in writable - memory. */ - strcpy (fmtstring, "%d %n"); - if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 - || strcmp (buf, "123 ") != 0 - || count != 4) - return 1; - return 0; -}], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], - [ -changequote(,)dnl - case "$host_os" in - *) gl_cv_func_printf_directive_n="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %ls format -dnl directive and in particular, when a precision is specified, whether -dnl the functions stop converting the wide string argument when the number -dnl of bytes that have been produced by this conversion equals or exceeds -dnl the precision. -dnl Result is gl_cv_func_printf_directive_ls. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_LS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'ls' directive], - [gl_cv_func_printf_directive_ls], - [ - AC_TRY_RUN([ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -#include -int main () -{ - char buf[100]; - /* Test whether %ls works at all. - This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on - Cygwin 1.5. */ - { - static const wchar_t wstring[] = { 'a', 'b', 'c', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "abc") != 0) - return 1; - } - /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an - assertion failure inside libc), but not on OpenBSD 4.0. */ - { - static const wchar_t wstring[] = { 'a', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "a") != 0) - return 1; - } - /* Test whether precisions in %ls are supported as specified in ISO C 99 - section 7.19.6.1: - "If a precision is specified, no more than that many bytes are written - (including shift sequences, if any), and the array shall contain a - null wide character if, to equal the multibyte character sequence - length given by the precision, the function would need to access a - wide character one past the end of the array." - This test fails on Solaris 10. */ - { - static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%.2ls", wstring) < 0 - || strcmp (buf, "ab") != 0) - return 1; - } - return 0; -}], [gl_cv_func_printf_directive_ls=yes], [gl_cv_func_printf_directive_ls=no], - [ -changequote(,)dnl - case "$host_os" in - openbsd*) gl_cv_func_printf_directive_ls="guessing no";; - irix*) gl_cv_func_printf_directive_ls="guessing no";; - solaris*) gl_cv_func_printf_directive_ls="guessing no";; - cygwin*) gl_cv_func_printf_directive_ls="guessing no";; - beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; - *) gl_cv_func_printf_directive_ls="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports POSIX/XSI format -dnl strings with positions. (POSIX:2001) -dnl Result is gl_cv_func_printf_positions. - -AC_DEFUN([gl_PRINTF_POSITIONS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], - [gl_cv_func_printf_positions], - [ - AC_TRY_RUN([ -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () -{ - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 0); -}], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], - [ -changequote(,)dnl - case "$host_os" in - netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) - gl_cv_func_printf_positions="guessing no";; - beos*) gl_cv_func_printf_positions="guessing no";; - mingw* | pw*) gl_cv_func_printf_positions="guessing no";; - *) gl_cv_func_printf_positions="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports POSIX/XSI format -dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) -dnl Result is gl_cv_func_printf_flag_grouping. - -AC_DEFUN([gl_PRINTF_FLAG_GROUPING], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the grouping flag], - [gl_cv_func_printf_flag_grouping], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%'d %d", 1234567, 99) < 0 - || buf[strlen (buf) - 1] != '9') - return 1; - return 0; -}], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], - [ -changequote(,)dnl - case "$host_os" in - cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; - netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; - mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; - *) gl_cv_func_printf_flag_grouping="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the - flag correctly. -dnl (ISO C99.) See -dnl -dnl Result is gl_cv_func_printf_flag_leftadjust. - -AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], - [gl_cv_func_printf_flag_leftadjust], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - /* Check that a '-' flag is not annihilated by a negative width. */ - if (sprintf (buf, "a%-*sc", -3, "b") < 0 - || strcmp (buf, "ab c") != 0) - return 1; - return 0; -}], - [gl_cv_func_printf_flag_leftadjust=yes], - [gl_cv_func_printf_flag_leftadjust=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on HP-UX 11. - hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; - # Guess no on HP-UX 10 and older. - hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_printf_flag_leftadjust="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports padding of non-finite -dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See -dnl -dnl Result is gl_cv_func_printf_flag_zero. - -AC_DEFUN([gl_PRINTF_FLAG_ZERO], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the zero flag correctly], - [gl_cv_func_printf_flag_zero], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 - || (strcmp (buf, " inf") != 0 - && strcmp (buf, " infinity") != 0)) - return 1; - return 0; -}], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_flag_zero="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_flag_zero="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports large precisions. -dnl On mingw, precisions larger than 512 are treated like 512, in integer, -dnl floating-point or pointer output. On BeOS, precisions larger than 1044 -dnl crash the program. -dnl Result is gl_cv_func_printf_precision. - -AC_DEFUN([gl_PRINTF_PRECISION], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports large precisions], - [gl_cv_func_printf_precision], - [ - AC_TRY_RUN([ -#include -#include -static char buf[5000]; -int main () -{ -#ifdef __BEOS__ - /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ - return 1; -#endif - if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) - return 1; - return 0; -}], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess no only on native Win32 and BeOS systems. - mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; - beos*) gl_cv_func_printf_precision="guessing no" ;; - *) gl_cv_func_printf_precision="guessing yes" ;; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions recovers gracefully in case -dnl of an out-of-memory condition, or whether it crashes the entire program. -dnl Result is gl_cv_func_printf_enomem. - -AC_DEFUN([gl_PRINTF_ENOMEM], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_MULTIARCH]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf survives out-of-memory conditions], - [gl_cv_func_printf_enomem], - [ - gl_cv_func_printf_enomem="guessing no" - if test "$cross_compiling" = no; then - if test $APPLE_UNIVERSAL_BUILD = 0; then - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -]GL_NOCRASH[ -changequote(,)dnl -#include -#include -#include -#include -#include -int main() -{ - struct rlimit limit; - int ret; - nocrash_init (); - /* Some printf implementations allocate temporary space with malloc. */ - /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ -#ifdef RLIMIT_DATA - if (getrlimit (RLIMIT_DATA, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_DATA, &limit) < 0) - return 77; -#endif - /* On Linux systems, malloc() is limited by RLIMIT_AS. */ -#ifdef RLIMIT_AS - if (getrlimit (RLIMIT_AS, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_AS, &limit) < 0) - return 77; -#endif - /* Some printf implementations allocate temporary space on the stack. */ -#ifdef RLIMIT_STACK - if (getrlimit (RLIMIT_STACK, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_STACK, &limit) < 0) - return 77; -#endif - ret = printf ("%.5000000f", 1.0); - return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); -} -changequote([,])dnl - ])]) - if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then - (./conftest - result=$? - if test $result != 0 && test $result != 77; then result=1; fi - exit $result - ) >/dev/null 2>/dev/null - case $? in - 0) gl_cv_func_printf_enomem="yes" ;; - 77) gl_cv_func_printf_enomem="guessing no" ;; - *) gl_cv_func_printf_enomem="no" ;; - esac - else - gl_cv_func_printf_enomem="guessing no" - fi - rm -fr conftest* - else - dnl A universal build on Apple MacOS X platforms. - dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. - dnl But we need a configuration result that is valid in both modes. - gl_cv_func_printf_enomem="guessing no" - fi - fi - if test "$gl_cv_func_printf_enomem" = "guessing no"; then -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Solaris. - solaris*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on AIX. - aix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on HP-UX/hppa. - hpux*) case "$host_cpu" in - hppa*) gl_cv_func_printf_enomem="guessing yes";; - *) gl_cv_func_printf_enomem="guessing no";; - esac - ;; - # Guess yes on IRIX. - irix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on OSF/1. - osf*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Haiku. - haiku*) gl_cv_func_printf_enomem="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_enomem="guessing no";; - esac -changequote([,])dnl - fi - ]) -]) - -dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) -dnl Result is ac_cv_func_snprintf. - -AC_DEFUN([gl_SNPRINTF_PRESENCE], -[ - AC_CHECK_FUNCS_ONCE([snprintf]) -]) - -dnl Test whether the string produced by the snprintf function is always NUL -dnl terminated. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_snprintf_truncation_c99. - -AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf truncates the result as in C99], - [gl_cv_func_snprintf_truncation_c99], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - snprintf (buf, 3, "%d %d", 4567, 89); - if (memcmp (buf, "45\0DEF", 6) != 0) - return 1; - return 0; -}], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; - darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_truncation_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; - hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on OSF/1 >= 5. - osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_truncation_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_truncation_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the return value of the snprintf function is the number -dnl of bytes (excluding the terminating NUL) that would have been produced -dnl if the buffer had been large enough. (ISO C99, POSIX:2001) -dnl For example, this test program fails on IRIX 6.5: -dnl --------------------------------------------------------------------- -dnl #include -dnl int main() -dnl { -dnl static char buf[8]; -dnl int retval = snprintf (buf, 3, "%d", 12345); -dnl return retval >= 0 && retval < 3; -dnl } -dnl --------------------------------------------------------------------- -dnl Result is gl_cv_func_snprintf_retval_c99. - -AC_DEFUN([gl_SNPRINTF_RETVAL_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], - [gl_cv_func_snprintf_retval_c99], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) - return 1; - return 0; -}], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; - darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_retval_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; - solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; - aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_retval_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_retval_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the snprintf function supports the %n format directive -dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_snprintf_directive_n. - -AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], - [gl_cv_func_snprintf_directive_n], - [ - AC_TRY_RUN([ -#include -#include -static char fmtstring[10]; -static char buf[100]; -int main () -{ - int count = -1; - /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) - support %n in format strings in read-only memory but not in writable - memory. */ - strcpy (fmtstring, "%d %n"); - snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); - if (count != 6) - return 1; - return 0; -}], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; - darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; - solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; - aix*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on OSF/1 >= 5. - osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; - osf*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_directive_n="guessing no";; - netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_directive_n="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_directive_n="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the snprintf function, when passed a size = 1, writes any -dnl output without bounds in this case, behaving like sprintf. This is the -dnl case on Linux libc5. -dnl Result is gl_cv_func_snprintf_size1. - -AC_DEFUN([gl_SNPRINTF_SIZE1], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether snprintf respects a size of 1], - [gl_cv_func_snprintf_size1], - [ - AC_TRY_RUN([ -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -}], - [gl_cv_func_snprintf_size1=yes], - [gl_cv_func_snprintf_size1=no], - [gl_cv_func_snprintf_size1="guessing yes"]) - ]) -]) - -dnl Test whether the vsnprintf function, when passed a zero size, produces no -dnl output. (ISO C99, POSIX:2001) -dnl For example, snprintf nevertheless writes a NUL byte in this case -dnl on OSF/1 5.1: -dnl --------------------------------------------------------------------- -dnl #include -dnl int main() -dnl { -dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; -dnl snprintf (buf, 0, "%d", 12345); -dnl return buf[0] != 'D'; -dnl } -dnl --------------------------------------------------------------------- -dnl And vsnprintf writes any output without bounds in this case, behaving like -dnl vsprintf, on HP-UX 11 and OSF/1 5.1: -dnl --------------------------------------------------------------------- -dnl #include -dnl #include -dnl static int my_snprintf (char *buf, int size, const char *format, ...) -dnl { -dnl va_list args; -dnl int ret; -dnl va_start (args, format); -dnl ret = vsnprintf (buf, size, format, args); -dnl va_end (args); -dnl return ret; -dnl } -dnl int main() -dnl { -dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; -dnl my_snprintf (buf, 0, "%d", 12345); -dnl return buf[0] != 'D'; -dnl } -dnl --------------------------------------------------------------------- -dnl Result is gl_cv_func_vsnprintf_zerosize_c99. - -AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], - [gl_cv_func_vsnprintf_zerosize_c99], - [ - AC_TRY_RUN([ -#include -#include -static int my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - my_snprintf (buf, 0, "%d", 12345); - return buf[0] != 'D'; -}], - [gl_cv_func_vsnprintf_zerosize_c99=yes], - [gl_cv_func_vsnprintf_zerosize_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on mingw. - mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl The results of these tests on various platforms are: -dnl -dnl 1 = gl_PRINTF_SIZES_C99 -dnl 2 = gl_PRINTF_LONG_DOUBLE -dnl 3 = gl_PRINTF_INFINITE -dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE -dnl 5 = gl_PRINTF_DIRECTIVE_A -dnl 6 = gl_PRINTF_DIRECTIVE_F -dnl 7 = gl_PRINTF_DIRECTIVE_N -dnl 8 = gl_PRINTF_DIRECTIVE_LS -dnl 9 = gl_PRINTF_POSITIONS -dnl 10 = gl_PRINTF_FLAG_GROUPING -dnl 11 = gl_PRINTF_FLAG_LEFTADJUST -dnl 12 = gl_PRINTF_FLAG_ZERO -dnl 13 = gl_PRINTF_PRECISION -dnl 14 = gl_PRINTF_ENOMEM -dnl 15 = gl_SNPRINTF_PRESENCE -dnl 16 = gl_SNPRINTF_TRUNCATION_C99 -dnl 17 = gl_SNPRINTF_RETVAL_C99 -dnl 18 = gl_SNPRINTF_DIRECTIVE_N -dnl 19 = gl_SNPRINTF_SIZE1 -dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99 -dnl -dnl 1 = checking whether printf supports size specifiers as in C99... -dnl 2 = checking whether printf supports 'long double' arguments... -dnl 3 = checking whether printf supports infinite 'double' arguments... -dnl 4 = checking whether printf supports infinite 'long double' arguments... -dnl 5 = checking whether printf supports the 'a' and 'A' directives... -dnl 6 = checking whether printf supports the 'F' directive... -dnl 7 = checking whether printf supports the 'n' directive... -dnl 8 = checking whether printf supports the 'ls' directive... -dnl 9 = checking whether printf supports POSIX/XSI format strings with positions... -dnl 10 = checking whether printf supports the grouping flag... -dnl 11 = checking whether printf supports the left-adjust flag correctly... -dnl 12 = checking whether printf supports the zero flag correctly... -dnl 13 = checking whether printf supports large precisions... -dnl 14 = checking whether printf survives out-of-memory conditions... -dnl 15 = checking for snprintf... -dnl 16 = checking whether snprintf truncates the result as in C99... -dnl 17 = checking whether snprintf returns a byte count as in C99... -dnl 18 = checking whether snprintf fully supports the 'n' directive... -dnl 19 = checking whether snprintf respects a size of 1... -dnl 20 = checking whether vsnprintf respects a zero size as in C99... -dnl -dnl . = yes, # = no. -dnl -dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . -dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . -dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . -dnl MacOS X 10.3.9 . . . . # . . . . . . # . # . . . . . . -dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . -dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . -dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . -dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . -dnl Solaris 10 . . # # # . . # . . . # . . . . . . . . -dnl Solaris 2.6 ... 9 # . # # # # . # . . . # . . . . . . . . -dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # -dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . -dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . . . . . -dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . -dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # -dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # -dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . -dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # -dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # -dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? -dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . -dnl Haiku . . . # # # . # . . . . . ? . . . . . . -dnl BeOS # # . # # # . ? # . ? . # ? . . . . . . -dnl mingw # # # # # # . . # # . # # ? . # # # . . diff -Nru gnutls26-2.8.6/gl/m4/read-file.m4 gnutls26-2.4.1/gl/m4/read-file.m4 --- gnutls26-2.8.6/gl/m4/read-file.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/read-file.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -# read-file.m4 serial 2 -dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_READ_FILE], -[ - AC_LIBOBJ([read-file]) - gl_PREREQ_READ_FILE -]) - -# Prerequisites of lib/read-file.c. -AC_DEFUN([gl_PREREQ_READ_FILE], [:]) diff -Nru gnutls26-2.8.6/gl/m4/readline.m4 gnutls26-2.4.1/gl/m4/readline.m4 --- gnutls26-2.8.6/gl/m4/readline.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/readline.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# readline.m4 serial 6 -dnl Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. +# readline.m4 serial 5 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -24,7 +24,7 @@ am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCREADLINE]) - AC_CACHE_CHECK([for readline], [gl_cv_lib_readline], [ + AC_CACHE_CHECK(for readline, gl_cv_lib_readline, [ gl_cv_lib_readline=no am_save_LIBS="$LIBS" dnl On some systems, -lreadline doesn't link without an additional @@ -49,7 +49,7 @@ ]) if test "$gl_cv_lib_readline" != no; then - AC_DEFINE([HAVE_READLINE], [1], [Define if you have the readline library.]) + AC_DEFINE(HAVE_READLINE, 1, [Define if you have the readline library.]) if test "$gl_cv_lib_readline" != " -l"; then LIBREADLINE="$LIBREADLINE$gl_cv_lib_readline" LTLIBREADLINE="$LTLIBREADLINE$gl_cv_lib_readline" @@ -63,13 +63,13 @@ LIBREADLINE= LTLIBREADLINE= fi - AC_SUBST([LIBREADLINE]) - AC_SUBST([LTLIBREADLINE]) + AC_SUBST(LIBREADLINE) + AC_SUBST(LTLIBREADLINE) - AC_CHECK_HEADERS([readline/readline.h]) + AC_CHECK_HEADERS(readline/readline.h) if test $gl_cv_lib_readline = no; then - AC_LIBOBJ([readline]) + AC_LIBOBJ(readline) gl_PREREQ_READLINE fi ]) diff -Nru gnutls26-2.8.6/gl/m4/realloc.m4 gnutls26-2.4.1/gl/m4/realloc.m4 --- gnutls26-2.8.6/gl/m4/realloc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/realloc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# realloc.m4 serial 9 -dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_FUNC_REALLOC_POSIX -# --------------------- -# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace realloc if it is not. -AC_DEFUN([gl_FUNC_REALLOC_POSIX], -[ - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then - HAVE_REALLOC_POSIX=1 - AC_DEFINE([HAVE_REALLOC_POSIX], [1], - [Define if the 'realloc' function is POSIX compliant.]) - else - AC_LIBOBJ([realloc]) - HAVE_REALLOC_POSIX=0 - fi - AC_SUBST([HAVE_REALLOC_POSIX]) -]) diff -Nru gnutls26-2.8.6/gl/m4/select.m4 gnutls26-2.4.1/gl/m4/select.m4 --- gnutls26-2.8.6/gl/m4/select.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/select.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -# select.m4 serial 1 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_SELECT], -[ - AC_REQUIRE([gl_HEADER_SYS_SELECT]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([select]) - else - dnl On Interix 3.5, select(0, NULL, NULL, NULL, timeout) fails with error - dnl EFAULT. - AC_CHECK_HEADERS_ONCE([sys/select.h]) - AC_CACHE_CHECK([whether select supports a 0 argument], - [gl_cv_func_select_supports0], - [ - AC_TRY_RUN([ -#include -#include -#if HAVE_SYS_SELECT_H -#include -#endif -int main () -{ - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; -}], [gl_cv_func_select_supports0=yes], [gl_cv_func_select_supports0=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess no on Interix. - interix*) gl_cv_func_select_supports0="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_select_supports0="guessing yes";; - esac -changequote([,])dnl - ]) - ]) - case "$gl_cv_func_select_supports0" in - *yes) ;; - *) - REPLACE_SELECT=1 - AC_LIBOBJ([select]) - ;; - esac - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/servent.m4 gnutls26-2.4.1/gl/m4/servent.m4 --- gnutls26-2.8.6/gl/m4/servent.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/servent.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -# servent.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_SERVENT], -[ - dnl Where are getservent(), setservent(), endservent(), getservbyname(), - dnl getservbyport() defined? - dnl Where are getprotoent(), setprotoent(), endprotoent(), getprotobyname(), - dnl getprotobynumber() defined? - dnl - On Solaris, they are in libsocket. Ignore libxnet. - dnl - On Haiku, they are in libnetwork. - dnl - On BeOS, they are in libnet. - dnl - On native Windows, they are in ws2_32.dll. - dnl - Otherwise they are in libc. - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H - SERVENT_LIB= - gl_saved_libs="$LIBS" - AC_SEARCH_LIBS([getservbyname], [socket network net], - [if test "$ac_cv_search_getservbyname" != "none required"; then - SERVENT_LIB="$ac_cv_search_getservbyname" - fi]) - LIBS="$gl_saved_libs" - if test -z "$SERVENT_LIB"; then - AC_CHECK_FUNCS([getservbyname], , [ - AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], - [gl_cv_w32_getservbyname], - [gl_cv_w32_getservbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_TRY_LINK([ -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include -], [getservbyname(NULL,NULL);], [gl_cv_w32_getservbyname=yes]) - LIBS="$gl_save_LIBS" - ]) - if test "$gl_cv_w32_getservbyname" = "yes"; then - SERVENT_LIB="-lws2_32" - fi - ]) - fi - AC_SUBST([SERVENT_LIB]) -]) diff -Nru gnutls26-2.8.6/gl/m4/size_max.m4 gnutls26-2.4.1/gl/m4/size_max.m4 --- gnutls26-2.8.6/gl/m4/size_max.m4 2009-08-17 14:53:58.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/size_max.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,75 +0,0 @@ -# size_max.m4 serial 9 -dnl Copyright (C) 2003, 2005-2006, 2008-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([gl_SIZE_MAX], -[ - AC_CHECK_HEADERS([stdint.h]) - dnl First test whether the system already has SIZE_MAX. - AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ - gl_cv_size_max= - AC_EGREP_CPP([Found it], [ -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif -], [gl_cv_size_max=yes]) - if test -z "$gl_cv_size_max"; then - dnl Define it ourselves. Here we assume that the type 'size_t' is not wider - dnl than the type 'unsigned long'. Try hard to find a definition that can - dnl be used in a preprocessor #if, i.e. doesn't contain a cast. - AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], - [#include -#include ], [size_t_bits_minus_1=]) - AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], - [#include ], [fits_in_uint=]) - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - dnl Even though SIZE_MAX fits in an unsigned int, it must be of type - dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. - AC_TRY_COMPILE([#include - extern size_t foo; - extern unsigned long foo; - ], [], [fits_in_uint=0]) - fi - dnl We cannot use 'expr' to simplify this expression, because 'expr' - dnl works only with 'long' integers in the host environment, while we - dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - dnl Shouldn't happen, but who knows... - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi - ]) - if test "$gl_cv_size_max" != yes; then - AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], - [Define as the maximum value of type 'size_t', if the system doesn't define it.]) - fi - dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after - dnl . Remember that the #undef in AH_VERBATIM gets replaced with - dnl #define by AC_DEFINE_UNQUOTED. - AH_VERBATIM([SIZE_MAX], -[/* Define as the maximum value of type 'size_t', if the system doesn't define - it. */ -#ifndef SIZE_MAX -# undef SIZE_MAX -#endif]) -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru gnutls26-2.8.6/gl/m4/snprintf.m4 gnutls26-2.4.1/gl/m4/snprintf.m4 --- gnutls26-2.8.6/gl/m4/snprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/snprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -# snprintf.m4 serial 5 -dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_SNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - gl_cv_func_snprintf_usable=no - AC_CHECK_FUNCS([snprintf]) - if test $ac_cv_func_snprintf = yes; then - gl_SNPRINTF_SIZE1 - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_snprintf_usable = no; then - gl_REPLACE_SNPRINTF - fi - AC_CHECK_DECLS_ONCE([snprintf]) - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 - fi -]) - -AC_DEFUN([gl_REPLACE_SNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_LIBOBJ([snprintf]) - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - gl_PREREQ_SNPRINTF -]) - -# Prerequisites of lib/snprintf.c. -AC_DEFUN([gl_PREREQ_SNPRINTF], [:]) diff -Nru gnutls26-2.8.6/gl/m4/sockets.m4 gnutls26-2.4.1/gl/m4/sockets.m4 --- gnutls26-2.8.6/gl/m4/sockets.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sockets.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,90 +0,0 @@ -# sockets.m4 serial 5 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_SOCKETS], -[ - AC_REQUIRE([AC_C_INLINE]) - - gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - dnl Native Windows API (not Cygwin). - AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], - [gl_cv_func_wsastartup], [ - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_TRY_LINK([ -#ifdef HAVE_WINSOCK2_H -# include -#endif], [ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup ();], - gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) - LIBS="$gl_save_LIBS" - ]) - if test "$gl_cv_func_wsastartup" = "yes"; then - AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) - LIBSOCKET='-lws2_32' - fi - else - dnl Unix API. - dnl Solaris has most socket functions in libsocket. - dnl Haiku has most socket functions in libnetwork. - dnl BeOS has most socket functions in libnet. - AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ - gl_cv_lib_socket= - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [], - [gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lsocket"]) - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lnetwork"]) - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lnet"]) - fi - fi - LIBS="$gl_save_LIBS" - ]) - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi - ]) - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi - AC_SUBST([LIBSOCKET]) - gl_PREREQ_SOCKETS -]) - -# Prerequisites of lib/sockets.c. -AC_DEFUN([gl_PREREQ_SOCKETS], [ - : -]) diff -Nru gnutls26-2.8.6/gl/m4/sockpfaf.m4 gnutls26-2.4.1/gl/m4/sockpfaf.m4 --- gnutls26-2.8.6/gl/m4/sockpfaf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sockpfaf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -# sockpfaf.m4 serial 6 -dnl Copyright (C) 2004, 2006, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...) -dnl and some common address families (AF_INET, AF_INET6, ...). -dnl This test assumes that a system supports an address family if and only if -dnl it supports the corresponding protocol family. - -dnl From Bruno Haible. - -AC_DEFUN([gl_SOCKET_FAMILIES], -[ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - AC_CHECK_HEADERS_ONCE([netinet/in.h]) - - AC_MSG_CHECKING([for IPv4 sockets]) - AC_CACHE_VAL([gl_cv_socket_ipv4], - [AC_TRY_COMPILE([#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif], -[int x = AF_INET; struct in_addr y; struct sockaddr_in z; - if (&x && &y && &z) return 0;], - gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) - AC_MSG_RESULT([$gl_cv_socket_ipv4]) - if test $gl_cv_socket_ipv4 = yes; then - AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if defines AF_INET.]) - fi - - AC_MSG_CHECKING([for IPv6 sockets]) - AC_CACHE_VAL([gl_cv_socket_ipv6], - [AC_TRY_COMPILE([#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif], -[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; - if (&x && &y && &z) return 0;], - gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) - AC_MSG_RESULT([$gl_cv_socket_ipv6]) - if test $gl_cv_socket_ipv6 = yes; then - AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if defines AF_INET6.]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/stdarg.m4 gnutls26-2.4.1/gl/m4/stdarg.m4 --- gnutls26-2.8.6/gl/m4/stdarg.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdarg.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -# stdarg.m4 serial 3 -dnl Copyright (C) 2006, 2008-2009 Free Software Foundation, Inc. +# stdarg.m4 serial 2 +dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -46,7 +46,7 @@ else dnl Provide a substitute in , either __va_copy or as a simple dnl assignment. - gl_CACHE_VAL_SILENT([gl_cv_func___va_copy], [ + AC_CACHE_VAL([gl_cv_func___va_copy], [ AC_TRY_COMPILE([#include ], [ #ifndef __va_copy error, bail out diff -Nru gnutls26-2.8.6/gl/m4/stdbool.m4 gnutls26-2.4.1/gl/m4/stdbool.m4 --- gnutls26-2.8.6/gl/m4/stdbool.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdbool.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,115 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. -AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) - -# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - #if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); - #endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - ], - [ - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - ], - [ac_cv_header_stdbool_h=yes], - [ac_cv_header_stdbool_h=no])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h = yes; then - AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) - fi]) diff -Nru gnutls26-2.8.6/gl/m4/stdint_h.m4 gnutls26-2.4.1/gl/m4/stdint_h.m4 --- gnutls26-2.8.6/gl/m4/stdint_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdint_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -# stdint_h.m4 serial 8 -dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_STDINT_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_STDINT_H], -[ - AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - [gl_cv_header_stdint_h=yes], - [gl_cv_header_stdint_h=no])]) - if test $gl_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/stdint.m4 gnutls26-2.4.1/gl/m4/stdint.m4 --- gnutls26-2.8.6/gl/m4/stdint.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdint.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,472 +0,0 @@ -# stdint.m4 serial 34 -dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert and Bruno Haible. -dnl Test whether is supported or must be substituted. - -AC_DEFUN([gl_STDINT_H], -[ - AC_PREREQ([2.59])dnl - - dnl Check for long long int and unsigned long long int. - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - AC_SUBST([HAVE_LONG_LONG_INT]) - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi - AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) - - dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - AC_SUBST([HAVE_INTTYPES_H]) - - dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi - AC_SUBST([HAVE_SYS_TYPES_H]) - - gl_CHECK_NEXT_HEADERS([stdint.h]) - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - AC_SUBST([HAVE_STDINT_H]) - - dnl Now see whether we need a substitute . - if test $ac_cv_header_stdint_h = yes; then - AC_CACHE_CHECK([whether stdint.h conforms to C99], - [gl_cv_header_working_stdint_h], - [gl_cv_header_working_stdint_h=no - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif -] -gl_STDINT_INCLUDES -[ -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; - -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; - ]])], - [dnl Determine whether the various *_MIN, *_MAX macros are usable - dnl in preprocessor expression. We could do it by compiling a test - dnl program for each of these macros. It is faster to run a program - dnl that inspects the macro expansion. - dnl This detects a bug on HP-UX 11.23/ia64. - AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -] -gl_STDINT_INCLUDES -[ -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; -]], [[ - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return 1; - } - return 0; -]])], - [gl_cv_header_working_stdint_h=yes], - [], - [dnl When cross-compiling, assume it works. - gl_cv_header_working_stdint_h=yes - ]) - ]) - ]) - fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - dnl Check for , and for - dnl (used in Linux libc4 >= 4.6.7 and libc5). - AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - AC_SUBST([HAVE_SYS_INTTYPES_H]) - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - AC_SUBST([HAVE_SYS_BITYPES_H]) - - dnl Check for (missing in Linux uClibc when built without wide - dnl character support). - AC_CHECK_HEADERS_ONCE([wchar.h]) - - gl_STDINT_TYPE_PROPERTIES - STDINT_H=stdint.h - fi - AC_SUBST([STDINT_H]) -]) - -dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) -dnl Determine the size of each of the given types in bits. -AC_DEFUN([gl_STDINT_BITSIZEOF], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), - [Define to the number of bits in type ']gltype['.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], - [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], - [$2 -#include ], [result=unknown]) - eval gl_cv_bitsizeof_${gltype}=\$result - ]) - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, - dnl do a syntax check even on unused #if conditions and give an error - dnl on valid C code like this: - dnl #if 0 - dnl # if > 32 - dnl # endif - dnl #endif - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) - eval BITSIZEOF_${GLTYPE}=\$result - done - m4_foreach_w([gltype], [$1], - [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) -]) - -dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) -dnl Determine the signedness of each of the given types. -dnl Define HAVE_SIGNED_TYPE if type is signed. -AC_DEFUN([gl_CHECK_TYPES_SIGNED], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), - [Define to 1 if ']gltype[' is a signed integer type.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([$2[ - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], - result=yes, result=no) - eval gl_cv_type_${gltype}_signed=\$result - ]) - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done - m4_foreach_w([gltype], [$1], - [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) -]) - -dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) -dnl Determine the suffix to use for integer constants of the given types. -dnl Define t_SUFFIX for each such type. -AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], - [Define to l, ll, u, ul, ull, etc., as suitable for - constants of type ']gltype['.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([for $gltype integer literal suffix], - [gl_cv_type_${gltype}_suffix], - [eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([$2[ - extern $gltype foo; - extern $gltype1 foo;]])], - [eval gl_cv_type_${gltype}_suffix=\$glsuf]) - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done]) - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) - done - m4_foreach_w([gltype], [$1], - [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) -]) - -dnl gl_STDINT_INCLUDES -AC_DEFUN([gl_STDINT_INCLUDES], -[[ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -]]) - -dnl gl_STDINT_TYPE_PROPERTIES -dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t -dnl of interest to stdint.in.h. -AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], -[ - AC_REQUIRE([gl_MULTIARCH]) - if test $APPLE_UNIVERSAL_BUILD = 0; then - gl_STDINT_BITSIZEOF([ptrdiff_t size_t], - [gl_STDINT_INCLUDES]) - fi - gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) - gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], - [gl_STDINT_INCLUDES]) - fi - gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) - -# Hey Emacs! -# Local Variables: -# indent-tabs-mode: nil -# End: diff -Nru gnutls26-2.8.6/gl/m4/stdio_h.m4 gnutls26-2.4.1/gl/m4/stdio_h.m4 --- gnutls26-2.8.6/gl/m4/stdio_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdio_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,133 +0,0 @@ -# stdio_h.m4 serial 15 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_STDIO_H], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([stdio.h]) - dnl No need to create extra modules for these functions. Everyone who uses - dnl likely needs them. - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 - dnl This ifdef is just an optimization, to avoid performing a configure - dnl check whose result is not used. It does not make the test of - dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. - m4_ifdef([gl_SIGNAL_SIGPIPE], [ - gl_SIGNAL_SIGPIPE - if test $gl_cv_header_signal_h_SIGPIPE != yes; then - REPLACE_STDIO_WRITE_FUNCS=1 - AC_LIBOBJ([stdio-write]) - fi - ]) -]) - -AC_DEFUN([gl_STDIO_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_STDIO_H_DEFAULTS], -[ - GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) - GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) - GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) - GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) - GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) - GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) - GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) - GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) - GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) - GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) - GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) - GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) - GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) - GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) - GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) - GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) - GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) - GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) - GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) - GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) - GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) - GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) - GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) - GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) - GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) - GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) - GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) - GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) - GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) - GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) - GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) - GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) - GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) - GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) - dnl Assume proper GNU behavior unless another module says otherwise. - REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) - REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) - REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) - REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) - REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) - REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) - HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) - REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) - HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) - REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) - REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) - HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) - REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) - HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) - REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) - HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) - REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) - HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) - REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) - REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) - REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) - HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) - REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) - REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) - HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) - REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) - REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) - REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) - REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) - HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) - HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) - REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) - REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) -]) - -dnl Code shared by fseeko and ftello. Determine if large files are supported, -dnl but stdin does not start as a large file by default. -AC_DEFUN([gl_STDIN_LARGE_OFFSET], - [ - AC_CACHE_CHECK([whether stdin defaults to large file offsets], - [gl_cv_var_stdin_large_offset], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], -[[#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif]])], - [gl_cv_var_stdin_large_offset=yes], - [gl_cv_var_stdin_large_offset=no])]) -]) diff -Nru gnutls26-2.8.6/gl/m4/stdlib_h.m4 gnutls26-2.4.1/gl/m4/stdlib_h.m4 --- gnutls26-2.8.6/gl/m4/stdlib_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/stdlib_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,73 +0,0 @@ -# stdlib_h.m4 serial 15 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_STDLIB_H], -[ - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([stdlib.h]) - AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT]) - if test $ac_cv_header_random_h = yes; then - HAVE_RANDOM_H=1 - else - HAVE_RANDOM_H=0 - fi - AC_SUBST([HAVE_RANDOM_H]) - AC_CHECK_TYPES([struct random_data], - [], [HAVE_STRUCT_RANDOM_DATA=0], - [[#include - #if HAVE_RANDOM_H - # include - #endif - ]]) -]) - -AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_STDLIB_H_DEFAULTS], -[ - GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) - GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) - GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) - GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) - GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) - GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) - GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) - GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) - GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) - GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) - GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) - GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) - GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) - GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) - GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) - GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) - HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) - HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) - HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) - HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) - HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) - HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) - HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) - HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) - HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) - HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) - HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) - HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) - HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) - HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) - HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) - REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) - REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) - REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) - VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) -]) diff -Nru gnutls26-2.8.6/gl/m4/strdup.m4 gnutls26-2.4.1/gl/m4/strdup.m4 --- gnutls26-2.8.6/gl/m4/strdup.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/strdup.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,22 @@ +# strdup.m4 serial 9 + +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software +dnl Foundation, Inc. + +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_STRDUP], +[ + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REPLACE_FUNCS(strdup) + AC_CHECK_DECLS_ONCE(strdup) + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 + fi + gl_PREREQ_STRDUP +]) + +# Prerequisites of lib/strdup.c. +AC_DEFUN([gl_PREREQ_STRDUP], [:]) diff -Nru gnutls26-2.8.6/gl/m4/strerror.m4 gnutls26-2.4.1/gl/m4/strerror.m4 --- gnutls26-2.8.6/gl/m4/strerror.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/strerror.m4 2008-06-19 11:00:10.000000000 +0100 @@ -1,4 +1,4 @@ -# strerror.m4 serial 9 +# strerror.m4 serial 8 dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,7 +7,7 @@ AC_DEFUN([gl_FUNC_STRERROR], [ AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) - if test $REPLACE_STRERROR = 1; then + if test $gl_cv_func_working_strerror = no; then AC_LIBOBJ([strerror]) AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], [Define this to 1 if strerror is broken.]) @@ -18,38 +18,25 @@ AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REQUIRE([gl_HEADER_ERRNO_H]) - if test -z "$ERRNO_H"; then - AC_CACHE_CHECK([for working strerror function], - [gl_cv_func_working_strerror], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - ]], - [[return !*strerror (-2);]])], - [gl_cv_func_working_strerror=yes], - [gl_cv_func_working_strerror=no], - [dnl Assume crossbuild works if it compiles. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - ]], - [[return !*strerror (-2);]])], - [gl_cv_func_working_strerror=yes], - [gl_cv_func_working_strerror=no]) - ]) - ]) - if test $gl_cv_func_working_strerror = no; then - dnl The system's strerror() fails to return a string for out-of-range - dnl integers. Replace it. - REPLACE_STRERROR=1 - fi - else - dnl The system's strerror() cannot know about the new errno values we add - dnl to . Replace it. + AC_CACHE_CHECK([for working strerror function], + [gl_cv_func_working_strerror], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[return !*strerror (-2);]])], + [gl_cv_func_working_strerror=yes], + [gl_cv_func_working_strerror=no], + [dnl Assume crossbuild works if it compiles. + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[return !*strerror (-2);]])], + [gl_cv_func_working_strerror=yes], + [gl_cv_func_working_strerror=no])])]) + if test $gl_cv_func_working_strerror = no ; then REPLACE_STRERROR=1 - fi - if test $REPLACE_STRERROR = 1; then gl_PREREQ_STRERROR fi ]) @@ -57,12 +44,4 @@ # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ AC_CHECK_DECLS([strerror]) - AC_CHECK_HEADERS_ONCE([sys/socket.h]) - if test $ac_cv_header_sys_socket_h != yes; then - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([winsock2.h]) - fi ]) diff -Nru gnutls26-2.8.6/gl/m4/string_h.m4 gnutls26-2.4.1/gl/m4/string_h.m4 --- gnutls26-2.8.6/gl/m4/string_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/string_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# Configure a GNU-like replacement for . - -# Copyright (C) 2007, 2008 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. - -# serial 6 - -# Written by Paul Eggert. - -AC_DEFUN([gl_HEADER_STRING_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_STRING_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_STRING_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([string.h]) -]) - -AC_DEFUN([gl_STRING_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], -[ - GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) - GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) - GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) - GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) - GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) - GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) - GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) - GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) - GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) - GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) - GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) - GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) - GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) - GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) - GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) - GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) - GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) - GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) - GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) - GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) - GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) - GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) - GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) - GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) - GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) - GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) - GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) - GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) - GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) - GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) - GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) - GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) - HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) - HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) - HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) - HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) - HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) - HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) - HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) - HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) - HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) - HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) - HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) - HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) - HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) - HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) - HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) - HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) - HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) - REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) - REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) - REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) - REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) - REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) - REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) -]) diff -Nru gnutls26-2.8.6/gl/m4/sys_ioctl_h.m4 gnutls26-2.4.1/gl/m4/sys_ioctl_h.m4 --- gnutls26-2.8.6/gl/m4/sys_ioctl_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sys_ioctl_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ -# sys_ioctl_h.m4 serial 2 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Bruno Haible. - -AC_DEFUN([gl_SYS_IOCTL_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - - AC_CHECK_HEADERS_ONCE([sys/ioctl.h]) - if test $ac_cv_header_sys_ioctl_h = yes; then - HAVE_SYS_IOCTL_H=1 - dnl Test whether declares ioctl(), or whether some other - dnl header file, such as or , is needed for that. - AC_CACHE_CHECK([whether declares ioctl], - [gl_cv_decl_ioctl_in_sys_ioctl_h], - [dnl We cannot use AC_CHECK_DECL because it produces its own messages. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [AC_INCLUDES_DEFAULT([#include ])], - [(void) ioctl;])], - [gl_cv_decl_ioctl_in_sys_ioctl_h=yes], - [gl_cv_decl_ioctl_in_sys_ioctl_h=no]) - ]) - if test $gl_cv_decl_ioctl_in_sys_ioctl_h != yes; then - SYS_IOCTL_H='sys/ioctl.h' - fi - else - HAVE_SYS_IOCTL_H=0 - SYS_IOCTL_H='sys/ioctl.h' - fi - AC_SUBST([HAVE_SYS_IOCTL_H]) - dnl Execute this unconditionally, because SYS_IOCTL_H may be set by other - dnl modules, after this code is executed. - gl_CHECK_NEXT_HEADERS([sys/ioctl.h]) -]) - -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_SYS_IOCTL_H], -[ - AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - SYS_IOCTL_H='sys/ioctl.h' -]) - -AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS], -[ - GNULIB_IOCTL=0; AC_SUBST([GNULIB_IOCTL]) - dnl Assume proper GNU behavior unless another module says otherwise. - SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H]) - SYS_IOCTL_H=''; AC_SUBST([SYS_IOCTL_H]) -]) diff -Nru gnutls26-2.8.6/gl/m4/sys_select_h.m4 gnutls26-2.4.1/gl/m4/sys_select_h.m4 --- gnutls26-2.8.6/gl/m4/sys_select_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sys_select_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -# sys_select_h.m4 serial 7 -dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_HEADER_SYS_SELECT], -[ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) - AC_CACHE_CHECK([whether is self-contained], - [gl_cv_header_sys_select_h_selfcontained], - [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[struct timeval b;]])], - [gl_cv_header_sys_select_h_selfcontained=yes], - [gl_cv_header_sys_select_h_selfcontained=no]) - ]) - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - SYS_SELECT_H='' - else - SYS_SELECT_H='sys/select.h' - gl_CHECK_NEXT_HEADERS([sys/select.h]) - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi - AC_SUBST([HAVE_SYS_SELECT_H]) - gl_PREREQ_SYS_H_WINSOCK2 - fi - AC_SUBST([SYS_SELECT_H]) -]) - -AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], -[ - GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT]) - dnl Assume proper GNU behavior unless another module says otherwise. - REPLACE_SELECT=0; AC_SUBST([REPLACE_SELECT]) -]) diff -Nru gnutls26-2.8.6/gl/m4/sys_socket_h.m4 gnutls26-2.4.1/gl/m4/sys_socket_h.m4 --- gnutls26-2.8.6/gl/m4/sys_socket_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sys_socket_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,145 +0,0 @@ -# sys_socket_h.m4 serial 12 -dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson. - -AC_DEFUN([gl_HEADER_SYS_SOCKET], -[ - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) - AC_REQUIRE([AC_C_INLINE]) - - AC_CACHE_CHECK([whether is self-contained], - [gl_cv_header_sys_socket_h_selfcontained], - [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], - [gl_cv_header_sys_socket_h_selfcontained=yes], - [gl_cv_header_sys_socket_h_selfcontained=no]) - ]) - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - dnl If the shutdown function exists, should define - dnl SHUT_RD, SHUT_WR, SHUT_RDWR. - AC_CHECK_FUNCS([shutdown]) - if test $ac_cv_func_shutdown = yes; then - AC_CACHE_CHECK([whether defines the SHUT_* macros], - [gl_cv_header_sys_socket_h_shut], - [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], - [gl_cv_header_sys_socket_h_shut=yes], - [gl_cv_header_sys_socket_h_shut=no]) - ]) - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' - fi - # We need to check for ws2tcpip.h now. - gl_PREREQ_SYS_H_SOCKET - AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[ - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -]) - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then - gl_PREREQ_SYS_H_WINSOCK2 - fi - AC_SUBST([SYS_SOCKET_H]) -]) - -AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], -[ - dnl Check prerequisites of the replacement. - gl_CHECK_NEXT_HEADERS([sys/socket.h]) - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([ws2tcpip.h]) - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - AC_SUBST([HAVE_SYS_SOCKET_H]) - AC_SUBST([HAVE_WS2TCPIP_H]) -]) - -# Common prerequisites of of the replacement and of the -# replacement. -# Sets and substitutes HAVE_WINSOCK2_H. -AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], -[ - m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) - m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) - AC_CHECK_HEADERS_ONCE([sys/socket.h]) - if test $ac_cv_header_sys_socket_h != yes; then - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([winsock2.h]) - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - AC_SUBST([HAVE_WINSOCK2_H]) -]) - -AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], -[ - GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) - GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) - GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) - GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) - GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) - GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) - GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) - GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) - GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) - GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) - GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) - GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) - GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) - GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) - HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) - HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) -]) diff -Nru gnutls26-2.8.6/gl/m4/sys_stat_h.m4 gnutls26-2.4.1/gl/m4/sys_stat_h.m4 --- gnutls26-2.8.6/gl/m4/sys_stat_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sys_stat_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -# sys_stat_h.m4 serial 10 -*- Autoconf -*- -dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Eric Blake. -dnl Test whether contains lstat and mkdir or must be substituted. - -AC_DEFUN([gl_HEADER_SYS_STAT_H], -[ - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - - dnl Check for lstat. Systems that lack it (mingw) also lack symlinks, so - dnl stat is a good replacement. - AC_CHECK_FUNCS_ONCE([lstat]) - if test $ac_cv_func_lstat = yes; then - HAVE_LSTAT=1 - else - HAVE_LSTAT=0 - fi - AC_SUBST([HAVE_LSTAT]) - - dnl For the mkdir substitute. - AC_REQUIRE([AC_C_INLINE]) - - dnl Check for broken stat macros. - AC_REQUIRE([AC_HEADER_STAT]) - - gl_CHECK_NEXT_HEADERS([sys/stat.h]) - SYS_STAT_H='sys/stat.h' - AC_SUBST([SYS_STAT_H]) - - dnl Define types that are supposed to be defined in or - dnl . - AC_CHECK_TYPE([nlink_t], [], - [AC_DEFINE([nlink_t], [int], - [Define to the type of st_nlink in struct stat, or a supertype.])], - [#include - #include ]) - -]) # gl_HEADER_SYS_STAT_H - -AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], -[ - GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) - GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) - REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) - REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) -]) diff -Nru gnutls26-2.8.6/gl/m4/sys_time_h.m4 gnutls26-2.4.1/gl/m4/sys_time_h.m4 --- gnutls26-2.8.6/gl/m4/sys_time_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/sys_time_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,57 +0,0 @@ -# Configure a replacement for . - -# Copyright (C) 2007 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. - -# Written by Paul Eggert and Martin Lambers. - -AC_DEFUN([gl_HEADER_SYS_TIME_H], -[ - dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement - dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 - dnl statements that occur in other macros. - AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - gl_CHECK_NEXT_HEADERS([sys/time.h]) - - if test $ac_cv_header_sys_time_h = yes; then - HAVE_SYS_TIME_H=1 - else - HAVE_SYS_TIME_H=0 - fi - AC_SUBST([HAVE_SYS_TIME_H]) - - AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#if HAVE_SYS_TIME_H - #include - #endif - #include - ]], - [[static struct timeval x; x.tv_sec = x.tv_usec;]])], - [gl_cv_sys_struct_timeval=yes], - [gl_cv_sys_struct_timeval=no])]) - if test $gl_cv_sys_struct_timeval = yes; then - HAVE_STRUCT_TIMEVAL=1 - else - HAVE_STRUCT_TIMEVAL=0 - fi - AC_SUBST([HAVE_STRUCT_TIMEVAL]) - - dnl Assume POSIX behavior unless another module says otherwise. - REPLACE_GETTIMEOFDAY=0 - AC_SUBST([REPLACE_GETTIMEOFDAY]) - if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then - SYS_TIME_H=sys/time.h - else - SYS_TIME_H= - fi - AC_SUBST([SYS_TIME_H]) -]) diff -Nru gnutls26-2.8.6/gl/m4/ungetc.m4 gnutls26-2.4.1/gl/m4/ungetc.m4 --- gnutls26-2.8.6/gl/m4/ungetc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/ungetc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -# ungetc.m4 serial 1 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS], -[ - AC_REQUIRE([AC_PROG_CC]) - - AC_CACHE_CHECK([whether ungetc works on arbitrary bytes], - [gl_cv_func_ungetc_works], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include - ]], [FILE *f; long l; - if (!(f = fopen ("conftest.tmp", "w+"))) return 1; - if (fputs ("abc", f) < 0) return 2; - rewind (f); - if (fgetc (f) != 'a') return 3; - if (fgetc (f) != 'b') return 4; - if (ungetc ('d', f) != 'd') return 5; - if (ftell (f) != 1) return 6; - if (fgetc (f) != 'd') return 7; - if (ftell (f) != 2) return 8; - if (fseek (f, 0, SEEK_CUR) != 0) return 9; - if (ftell (f) != 2) return 10; - if (fgetc (f) != 'c') return 11; - fclose (f); remove ("conftest.tmp");])], - [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], - [gl_cv_func_ungetc_works='guessing no']) - ]) - if test "$gl_cv_func_ungetc_works" != yes; then - AC_DEFINE([FUNC_UNGETC_BROKEN], [1], - [Define to 1 if ungetc is broken when used on arbitrary bytes.]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/unistd_h.m4 gnutls26-2.4.1/gl/m4/unistd_h.m4 --- gnutls26-2.8.6/gl/m4/unistd_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/unistd_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,83 +0,0 @@ -# unistd_h.m4 serial 17 -dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Simon Josefsson, Bruno Haible. - -AC_DEFUN([gl_UNISTD_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - - gl_CHECK_NEXT_HEADERS([unistd.h]) - - AC_CHECK_HEADERS_ONCE([unistd.h]) - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi - AC_SUBST([HAVE_UNISTD_H]) -]) - -AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_UNISTD_H_DEFAULTS], -[ - GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) - GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) - GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) - GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) - GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) - GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) - GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) - GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) - GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) - GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) - GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) - GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) - GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) - GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) - GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) - GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) - GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) - GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) - GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) - GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) - GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) - GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) - HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) - HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) - HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) - HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) - HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) - HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) - HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) - HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL]) - HAVE_LINK=1; AC_SUBST([HAVE_LINK]) - HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) - HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) - HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) - HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) - HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) - HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) - REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) - REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) - REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) - REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) - REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) - REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) - REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) - REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) - UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) -]) diff -Nru gnutls26-2.8.6/gl/m4/vasnprintf.m4 gnutls26-2.4.1/gl/m4/vasnprintf.m4 --- gnutls26-2.8.6/gl/m4/vasnprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/vasnprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,276 +0,0 @@ -# vasnprintf.m4 serial 29 -dnl Copyright (C) 2002-2004, 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_VASNPRINTF], -[ - AC_CHECK_FUNCS_ONCE([vasnprintf]) - if test $ac_cv_func_vasnprintf = no; then - gl_REPLACE_VASNPRINTF - fi -]) - -AC_DEFUN([gl_REPLACE_VASNPRINTF], -[ - AC_CHECK_FUNCS_ONCE([vasnprintf]) - AC_LIBOBJ([vasnprintf]) - AC_LIBOBJ([printf-args]) - AC_LIBOBJ([printf-parse]) - AC_LIBOBJ([asnprintf]) - if test $ac_cv_func_vasnprintf = yes; then - AC_DEFINE([REPLACE_VASNPRINTF], [1], - [Define if vasnprintf exists but is overridden by gnulib.]) - fi - gl_PREREQ_PRINTF_ARGS - gl_PREREQ_PRINTF_PARSE - gl_PREREQ_VASNPRINTF - gl_PREREQ_ASNPRINTF -]) - -# Prequisites of lib/printf-args.h, lib/printf-args.c. -AC_DEFUN([gl_PREREQ_PRINTF_ARGS], -[ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) -]) - -# Prequisites of lib/printf-parse.h, lib/printf-parse.c. -AC_DEFUN([gl_PREREQ_PRINTF_PARSE], -[ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) - AC_REQUIRE([AC_TYPE_SIZE_T]) - AC_CHECK_TYPE([ptrdiff_t], , - [AC_DEFINE([ptrdiff_t], [long], - [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) - ]) - AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) -]) - -# Prerequisites of lib/vasnprintf.c. -AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], -[ - AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) - AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) - dnl Use the _snprintf function only if it is declared (because on NetBSD it - dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf], , , [#include ]) -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting 'long double' -# arguments. -AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) - case "$gl_cv_func_printf_long_double" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double' -# arguments. -AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_INFINITE]) - case "$gl_cv_func_printf_infinite" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - infinite 'double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double' -# arguments. -AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) - dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if - dnl NEED_PRINTF_LONG_DOUBLE is already set. - AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE]) - case "$gl_cv_func_printf_long_double" in - *yes) - case "$gl_cv_func_printf_infinite_long_double" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - infinite 'long double' arguments.]) - ;; - esac - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) - case "$gl_cv_func_printf_directive_a" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], - [Define if the vasnprintf implementation needs special code for - the 'a' and 'A' directives.]) - AC_CHECK_FUNCS([nl_langinfo]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) - case "$gl_cv_func_printf_directive_f" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], [1], - [Define if the vasnprintf implementation needs special code for - the 'F' directive.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'ls' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) - case "$gl_cv_func_printf_directive_ls" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_LS], [1], - [Define if the vasnprintf implementation needs special code for - the 'ls' directive.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], -[ - AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) - case "$gl_cv_func_printf_flag_grouping" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], [1], - [Define if the vasnprintf implementation needs special code for the - ' flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], -[ - AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) - case "$gl_cv_func_printf_flag_leftadjust" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], [1], - [Define if the vasnprintf implementation needs special code for the - '-' flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], -[ - AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) - case "$gl_cv_func_printf_flag_zero" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_ZERO], [1], - [Define if the vasnprintf implementation needs special code for the - 0 flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting large precisions. -AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], -[ - AC_REQUIRE([gl_PRINTF_PRECISION]) - case "$gl_cv_func_printf_precision" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], [1], - [Define if the vasnprintf implementation needs special code for - supporting large precisions without arbitrary bounds.]) - AC_DEFINE([NEED_PRINTF_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'double' arguments.]) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory -# conditions. -AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], -[ - AC_REQUIRE([gl_PRINTF_ENOMEM]) - case "$gl_cv_func_printf_enomem" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_ENOMEM], [1], - [Define if the vasnprintf implementation needs special code for - surviving out-of-memory conditions.]) - AC_DEFINE([NEED_PRINTF_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'double' arguments.]) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. -AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], -[ - AC_REQUIRE([gl_PREREQ_VASNPRINTF]) - gl_PREREQ_VASNPRINTF_LONG_DOUBLE - gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE - gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE - gl_PREREQ_VASNPRINTF_DIRECTIVE_A - gl_PREREQ_VASNPRINTF_DIRECTIVE_F - gl_PREREQ_VASNPRINTF_DIRECTIVE_LS - gl_PREREQ_VASNPRINTF_FLAG_GROUPING - gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST - gl_PREREQ_VASNPRINTF_FLAG_ZERO - gl_PREREQ_VASNPRINTF_PRECISION - gl_PREREQ_VASNPRINTF_ENOMEM -]) - -# Prerequisites of lib/asnprintf.c. -AC_DEFUN([gl_PREREQ_ASNPRINTF], -[ -]) diff -Nru gnutls26-2.8.6/gl/m4/warnings.m4 gnutls26-2.4.1/gl/m4/warnings.m4 --- gnutls26-2.8.6/gl/m4/warnings.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/warnings.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -# warnings.m4 serial 2 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# gl_AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) -# ---------------------------------------------------- -# Provide the functionality of AS_VAR_IF if Autoconf does not have it. -m4_ifdef([AS_VAR_IF], -[m4_copy([AS_VAR_IF], [gl_AS_VAR_IF])], -[m4_define([gl_AS_VAR_IF], -[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) - -# gl_AS_VAR_APPEND(VAR, VALUE) -# ---------------------------- -# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. -m4_ifdef([AS_VAR_APPEND], -[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], -[m4_define([gl_AS_VAR_APPEND], -[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) - -# gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS]) -# ------------------------------------------------ -# Adds parameter to WARN_CFLAGS if the compiler supports it. For example, -# gl_WARN_ADD([-Wparentheses]). -AC_DEFUN([gl_WARN_ADD], -[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl -AC_CACHE_CHECK([whether compiler handles $1], [gl_Warn], [ - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="${CPPFLAGS} $1" - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], - [AS_VAR_SET([gl_Warn], [yes])], - [AS_VAR_SET([gl_Warn], [no])]) - CPPFLAGS="$save_CPPFLAGS" -]) -AS_VAR_PUSHDEF([gl_Flags], m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]))dnl -gl_AS_VAR_IF([gl_Warn], [yes], [gl_AS_VAR_APPEND([gl_Flags], [" $1"])]) -AS_VAR_POPDEF([gl_Flags])dnl -AS_VAR_POPDEF([gl_Warn])dnl -m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl -]) diff -Nru gnutls26-2.8.6/gl/m4/wchar.m4 gnutls26-2.4.1/gl/m4/wchar.m4 --- gnutls26-2.8.6/gl/m4/wchar.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/wchar.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,100 +0,0 @@ -dnl A placeholder for ISO C99 , for platforms that have issues. - -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Eric Blake. - -# wchar.m4 serial 23 - -AC_DEFUN([gl_WCHAR_H], -[ - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CACHE_CHECK([whether is standalone], - [gl_cv_header_wchar_h_standalone], - [AC_COMPILE_IFELSE([[#include -wchar_t w;]], - [gl_cv_header_wchar_h_standalone=yes], - [gl_cv_header_wchar_h_standalone=no])]) - - AC_REQUIRE([gt_TYPE_WINT_T]) - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - AC_SUBST([HAVE_WINT_T]) - - if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then - WCHAR_H=wchar.h - fi - - dnl Prepare for creating substitute . - dnl Do it always: WCHAR_H may be empty here but can be set later. - dnl Check for (missing in Linux uClibc when built without wide - dnl character support). - AC_CHECK_HEADERS_ONCE([wchar.h]) - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - AC_SUBST([HAVE_WCHAR_H]) - gl_CHECK_NEXT_HEADERS([wchar.h]) -]) - -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_WCHAR_H], -[ - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - WCHAR_H=wchar.h -]) - -AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_WCHAR_H_DEFAULTS], -[ - GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) - GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) - GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) - GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) - GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) - GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) - GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) - GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) - GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) - GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) - GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) - HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) - HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) - HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) - HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS]) - HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS]) - HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) - HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) - HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) - HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) - HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) - REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) - REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) - REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB]) - REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT]) - REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC]) - REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN]) - REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS]) - REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS]) - REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB]) - REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) - REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) - REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) - WCHAR_H=''; AC_SUBST([WCHAR_H]) -]) diff -Nru gnutls26-2.8.6/gl/m4/wchar_t.m4 gnutls26-2.4.1/gl/m4/wchar_t.m4 --- gnutls26-2.8.6/gl/m4/wchar_t.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/wchar_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# wchar_t.m4 serial 3 (gettext-0.18) -dnl Copyright (C) 2002-2003, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. -dnl Test whether has the 'wchar_t' type. -dnl Prerequisite: AC_PROG_CC - -AC_DEFUN([gt_TYPE_WCHAR_T], -[ - AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], - [AC_TRY_COMPILE([#include - wchar_t foo = (wchar_t)'\0';], , - [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) - if test $gt_cv_c_wchar_t = yes; then - AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/wint_t.m4 gnutls26-2.4.1/gl/m4/wint_t.m4 --- gnutls26-2.8.6/gl/m4/wint_t.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/wint_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -# wint_t.m4 serial 4 (gettext-0.18) -dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. -dnl Test whether has the 'wint_t' type. -dnl Prerequisite: AC_PROG_CC - -AC_DEFUN([gt_TYPE_WINT_T], -[ - AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], - [AC_TRY_COMPILE([ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0';], , - [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) - if test $gt_cv_c_wint_t = yes; then - AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) - fi -]) diff -Nru gnutls26-2.8.6/gl/m4/xsize.m4 gnutls26-2.4.1/gl/m4/xsize.m4 --- gnutls26-2.8.6/gl/m4/xsize.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/m4/xsize.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -# xsize.m4 serial 4 -dnl Copyright (C) 2003-2004, 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_XSIZE], -[ - dnl Prerequisites of lib/xsize.h. - AC_REQUIRE([gl_SIZE_MAX]) - AC_REQUIRE([AC_C_INLINE]) - AC_CHECK_HEADERS([stdint.h]) -]) diff -Nru gnutls26-2.8.6/gl/Makefile.am gnutls26-2.4.1/gl/Makefile.am --- gnutls26-2.8.6/gl/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,1164 +1,40 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2009 Free Software Foundation, Inc. +## Process this file with automake to produce Makefile.in +# Copyright (C) 2006, 2007 Free Software Foundation # -# 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. +# Author: Simon Josefsson # -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --libtool --macro-prefix=gl --no-vc-files accept arpa_inet autobuild bind close connect error fdl-1.3 gendocs getaddrinfo getline getpass-gnu gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 listen maintainer-makefile manywarnings minmax perror pmccabe2html progname read-file readline recv select send setsockopt shutdown socket sockets sys_stat version-etc-fsf warnings +# This file is part of GNUTLS. +# +# 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. AUTOMAKE_OPTIONS = 1.5 gnits -SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = noinst_LTLIBRARIES = EXTRA_DIST = BUILT_SOURCES = SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANFILES = MOSTLYCLEANDIRS = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = -SUBDIRS += tests -EXTRA_DIST += m4/gnulib-cache.m4 - -AM_CPPFLAGS = -AM_CFLAGS = - -noinst_LTLIBRARIES += libgnu.la - -libgnu_la_SOURCES = -libgnu_la_LIBADD = $(gl_LTLIBOBJS) -libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) -EXTRA_libgnu_la_SOURCES = -libgnu_la_LDFLAGS = $(AM_LDFLAGS) - -## begin gnulib module accept - - -EXTRA_DIST += accept.c w32sock.h - -EXTRA_libgnu_la_SOURCES += accept.c - -## end gnulib module accept - -## begin gnulib module alignof - - -EXTRA_DIST += alignof.h - -## end gnulib module alignof - -## begin gnulib module alloca - - -EXTRA_DIST += alloca.c - -EXTRA_libgnu_la_SOURCES += alloca.c - -libgnu_la_LIBADD += @LTALLOCA@ -libgnu_la_DEPENDENCIES += @LTALLOCA@ -## end gnulib module alloca - -## begin gnulib module alloca-opt - -BUILT_SOURCES += $(ALLOCA_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t - mv -f $@-t $@ -MOSTLYCLEANFILES += alloca.h alloca.h-t - -EXTRA_DIST += alloca.in.h - -## end gnulib module alloca-opt - -## begin gnulib module arpa_inet - -BUILT_SOURCES += $(ARPA_INET_H) - -# We need the following in order to create when the system -# doesn't have one. -arpa/inet.h: arpa_inet.in.h - @MKDIR_P@ arpa - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ - -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ - -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \ - -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \ - -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ - -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/arpa_inet.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t -MOSTLYCLEANDIRS += arpa - -EXTRA_DIST += arpa_inet.in.h - -## end gnulib module arpa_inet - -## begin gnulib module bind - - -EXTRA_DIST += bind.c w32sock.h - -EXTRA_libgnu_la_SOURCES += bind.c - -## end gnulib module bind - -## begin gnulib module c-ctype - -libgnu_la_SOURCES += c-ctype.h c-ctype.c - -## end gnulib module c-ctype - -## begin gnulib module close - - -EXTRA_DIST += close.c - -EXTRA_libgnu_la_SOURCES += close.c - -## end gnulib module close - -## begin gnulib module close-hook - -libgnu_la_SOURCES += close-hook.c - -EXTRA_DIST += close-hook.h - -## end gnulib module close-hook - -## begin gnulib module connect - - -EXTRA_DIST += connect.c w32sock.h - -EXTRA_libgnu_la_SOURCES += connect.c - -## end gnulib module connect - -## begin gnulib module errno - -BUILT_SOURCES += $(ERRNO_H) - -# We need the following in order to create when the system -# doesn't have one that is POSIX compliant. -errno.h: errno.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += errno.h errno.h-t - -EXTRA_DIST += errno.in.h - -## end gnulib module errno - -## begin gnulib module error - - -EXTRA_DIST += error.c error.h - -EXTRA_libgnu_la_SOURCES += error.c - -## end gnulib module error - -## begin gnulib module fclose - - -EXTRA_DIST += fclose.c - -EXTRA_libgnu_la_SOURCES += fclose.c - -## end gnulib module fclose - -## begin gnulib module float - -BUILT_SOURCES += $(FLOAT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -float.h: float.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += float.h float.h-t - -EXTRA_DIST += float.in.h - -## end gnulib module float - -## begin gnulib module fseeko - - -EXTRA_DIST += fseeko.c stdio-impl.h - -EXTRA_libgnu_la_SOURCES += fseeko.c - -## end gnulib module fseeko - -## begin gnulib module gendocs - - -EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh - -## end gnulib module gendocs - -## begin gnulib module getaddrinfo - - -EXTRA_DIST += gai_strerror.c getaddrinfo.c - -EXTRA_libgnu_la_SOURCES += gai_strerror.c getaddrinfo.c - -## end gnulib module getaddrinfo - -## begin gnulib module getdelim - - -EXTRA_DIST += getdelim.c - -EXTRA_libgnu_la_SOURCES += getdelim.c - -## end gnulib module getdelim - -## begin gnulib module getline - - -EXTRA_DIST += getline.c - -EXTRA_libgnu_la_SOURCES += getline.c - -## end gnulib module getline - -## begin gnulib module getpass-gnu - - -EXTRA_DIST += getpass.c getpass.h - -EXTRA_libgnu_la_SOURCES += getpass.c - -## end gnulib module getpass-gnu - -## begin gnulib module gettext-h - -libgnu_la_SOURCES += gettext.h - -## end gnulib module gettext-h - -## begin gnulib module gnumakefile - -distclean-local: clean-GNUmakefile -clean-GNUmakefile: - test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : - -EXTRA_DIST += $(top_srcdir)/GNUmakefile - -## end gnulib module gnumakefile - -## begin gnulib module gnupload - - -EXTRA_DIST += $(top_srcdir)/build-aux/gnupload - -## end gnulib module gnupload - -## begin gnulib module havelib - - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module havelib - -## begin gnulib module inet_ntop - - -EXTRA_DIST += inet_ntop.c - -EXTRA_libgnu_la_SOURCES += inet_ntop.c - -## end gnulib module inet_ntop - -## begin gnulib module inet_pton - - -EXTRA_DIST += inet_pton.c - -EXTRA_libgnu_la_SOURCES += inet_pton.c - -## end gnulib module inet_pton - -## begin gnulib module intprops - - -EXTRA_DIST += intprops.h - -## end gnulib module intprops - -## begin gnulib module link-warning - -LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h - -EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h - -## end gnulib module link-warning - -## begin gnulib module listen - - -EXTRA_DIST += listen.c w32sock.h - -EXTRA_libgnu_la_SOURCES += listen.c - -## end gnulib module listen - -## begin gnulib module lseek - - -EXTRA_DIST += lseek.c - -EXTRA_libgnu_la_SOURCES += lseek.c - -## end gnulib module lseek - -## begin gnulib module maintainer-makefile - -EXTRA_DIST += $(top_srcdir)/maint.mk - -## end gnulib module maintainer-makefile - -## begin gnulib module minmax - -libgnu_la_SOURCES += minmax.h - -## end gnulib module minmax - -## begin gnulib module netdb - -BUILT_SOURCES += $(NETDB_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -netdb.h: netdb.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ - -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ - -e 's|@''GNULIB_GETADDRINFO''@|$(GNULIB_GETADDRINFO)|g' \ - -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ - -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ - -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ - < $(srcdir)/netdb.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += netdb.h netdb.h-t - -EXTRA_DIST += netdb.in.h - -## end gnulib module netdb - -## begin gnulib module netinet_in - -BUILT_SOURCES += $(NETINET_IN_H) - -# We need the following in order to create when the system -# doesn't have one. -netinet/in.h: netinet_in.in.h - @MKDIR_P@ netinet - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ - -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ - < $(srcdir)/netinet_in.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t -MOSTLYCLEANDIRS += netinet - -EXTRA_DIST += netinet_in.in.h - -## end gnulib module netinet_in - -## begin gnulib module perror - - -EXTRA_DIST += perror.c - -EXTRA_libgnu_la_SOURCES += perror.c - -## end gnulib module perror - -## begin gnulib module pmccabe2html - - -EXTRA_DIST += $(top_srcdir)/build-aux/pmccabe2html $(top_srcdir)/build-aux/pmccabe.css - -## end gnulib module pmccabe2html - -## begin gnulib module progname - -libgnu_la_SOURCES += progname.h progname.c - -## end gnulib module progname - -## begin gnulib module read-file - - -EXTRA_DIST += read-file.c read-file.h - -EXTRA_libgnu_la_SOURCES += read-file.c - -## end gnulib module read-file - -## begin gnulib module readline - - -EXTRA_DIST += readline.c readline.h - -EXTRA_libgnu_la_SOURCES += readline.c - -## end gnulib module readline - -## begin gnulib module realloc-posix - - -EXTRA_DIST += realloc.c - -EXTRA_libgnu_la_SOURCES += realloc.c - -## end gnulib module realloc-posix - -## begin gnulib module recv - - -EXTRA_DIST += recv.c w32sock.h - -EXTRA_libgnu_la_SOURCES += recv.c - -## end gnulib module recv - -## begin gnulib module select - - -EXTRA_DIST += select.c - -EXTRA_libgnu_la_SOURCES += select.c - -## end gnulib module select - -## begin gnulib module send - - -EXTRA_DIST += send.c w32sock.h - -EXTRA_libgnu_la_SOURCES += send.c - -## end gnulib module send - -## begin gnulib module setsockopt - - -EXTRA_DIST += setsockopt.c w32sock.h - -EXTRA_libgnu_la_SOURCES += setsockopt.c - -## end gnulib module setsockopt - -## begin gnulib module shutdown - - -EXTRA_DIST += shutdown.c w32sock.h - -EXTRA_libgnu_la_SOURCES += shutdown.c - -## end gnulib module shutdown - -## begin gnulib module size_max - -libgnu_la_SOURCES += size_max.h - -## end gnulib module size_max - -## begin gnulib module snprintf - - -EXTRA_DIST += snprintf.c - -EXTRA_libgnu_la_SOURCES += snprintf.c - -## end gnulib module snprintf - -## begin gnulib module socket - - -EXTRA_DIST += socket.c w32sock.h - -EXTRA_libgnu_la_SOURCES += socket.c - -## end gnulib module socket - -## begin gnulib module sockets - -libgnu_la_SOURCES += sockets.h sockets.c - -EXTRA_DIST += w32sock.h - -## end gnulib module sockets - -## begin gnulib module stdarg - -BUILT_SOURCES += $(STDARG_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdarg.h: stdarg.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ - < $(srcdir)/stdarg.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdarg.h stdarg.h-t - -EXTRA_DIST += stdarg.in.h - -## end gnulib module stdarg - -## begin gnulib module stdbool - -BUILT_SOURCES += $(STDBOOL_H) - -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdbool.h stdbool.h-t - -EXTRA_DIST += stdbool.in.h - -## end gnulib module stdbool - -## begin gnulib module stdint - -BUILT_SOURCES += $(STDINT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ - -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ - -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ - -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ - -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdint.h stdint.h-t - -EXTRA_DIST += stdint.in.h - -## end gnulib module stdint - -## begin gnulib module stdio - -BUILT_SOURCES += stdio.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdio.h: stdio.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ - -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ - -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ - -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ - -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ - -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ - -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ - -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ - -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ - -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ - -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ - -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ - -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ - -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ - -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ - -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ - -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ - -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ - -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ - -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ - -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ - -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ - -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ - -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ - -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ - -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ - -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ - -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ - -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ - -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ - -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdio.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdio.h stdio.h-t - -EXTRA_DIST += stdio-write.c stdio.in.h - -EXTRA_libgnu_la_SOURCES += stdio-write.c - -## end gnulib module stdio - -## begin gnulib module stdlib - -BUILT_SOURCES += stdlib.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ - -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ - -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ - -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ - -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ - -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ - -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ - -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ - -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ - -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ - -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ - -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ - -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ - -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ - -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ - -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ - -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ - -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ - -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ - -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdlib.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdlib.h stdlib.h-t - -EXTRA_DIST += stdlib.in.h - -## end gnulib module stdlib - -## begin gnulib module strerror - - -EXTRA_DIST += strerror.c - -EXTRA_libgnu_la_SOURCES += strerror.c - -## end gnulib module strerror - -## begin gnulib module string - -BUILT_SOURCES += string.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -string.h: string.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ - -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ - -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ - -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ - -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ - -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ - -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ - -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ - -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ - -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ - -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ - -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ - -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ - -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ - -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ - -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ - -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ - -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ - -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ - -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ - -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ - -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ - -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ - -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ - -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ - -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ - -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ - -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ - -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ - -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ - -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ - -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ - -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ - -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ - -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ - -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ - -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ - -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ - -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ - -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ - -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ - -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ - -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/string.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += string.h string.h-t - -EXTRA_DIST += string.in.h - -## end gnulib module string - -## begin gnulib module sys_select - -BUILT_SOURCES += $(SYS_SELECT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/select.h: sys_select.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ - -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ - -e 's|@''GNULIB_SELECT''@|$(GNULIB_SELECT)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_select.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += sys/select.h sys/select.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_select.in.h - -## end gnulib module sys_select - -## begin gnulib module sys_socket - -BUILT_SOURCES += $(SYS_SOCKET_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/socket.h: sys_socket.in.h - @MKDIR_P@ sys - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ - -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_SOCKET''@|$(GNULIB_SOCKET)|g' \ - -e 's|@''GNULIB_CONNECT''@|$(GNULIB_CONNECT)|g' \ - -e 's|@''GNULIB_ACCEPT''@|$(GNULIB_ACCEPT)|g' \ - -e 's|@''GNULIB_BIND''@|$(GNULIB_BIND)|g' \ - -e 's|@''GNULIB_GETPEERNAME''@|$(GNULIB_GETPEERNAME)|g' \ - -e 's|@''GNULIB_GETSOCKNAME''@|$(GNULIB_GETSOCKNAME)|g' \ - -e 's|@''GNULIB_GETSOCKOPT''@|$(GNULIB_GETSOCKOPT)|g' \ - -e 's|@''GNULIB_LISTEN''@|$(GNULIB_LISTEN)|g' \ - -e 's|@''GNULIB_RECV''@|$(GNULIB_RECV)|g' \ - -e 's|@''GNULIB_SEND''@|$(GNULIB_SEND)|g' \ - -e 's|@''GNULIB_RECVFROM''@|$(GNULIB_RECVFROM)|g' \ - -e 's|@''GNULIB_SENDTO''@|$(GNULIB_SENDTO)|g' \ - -e 's|@''GNULIB_SETSOCKOPT''@|$(GNULIB_SETSOCKOPT)|g' \ - -e 's|@''GNULIB_SHUTDOWN''@|$(GNULIB_SHUTDOWN)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ - -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ - -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_socket.in.h; \ - } > $@-t - mv -f $@-t $@ -MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_socket.in.h - -## end gnulib module sys_socket - -## begin gnulib module sys_stat - -BUILT_SOURCES += $(SYS_STAT_H) - -# We need the following in order to create when the system -# has one that is incomplete. -sys/stat.h: sys_stat.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ - -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ - -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ - -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_stat.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_stat.in.h - -## end gnulib module sys_stat - -## begin gnulib module sys_time - -BUILT_SOURCES += $(SYS_TIME_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/time.h: sys_time.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ - < $(srcdir)/sys_time.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += sys/time.h sys/time.h-t - -EXTRA_DIST += sys_time.in.h - -## end gnulib module sys_time - -## begin gnulib module unistd - -BUILT_SOURCES += unistd.h - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -unistd.h: unistd.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ - -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ - -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ - -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ - -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ - -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ - -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ - -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ - -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \ - -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ - -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ - -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ - -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ - -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ - -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ - -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ - -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ - -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ - -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ - -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ - -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ - -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ - -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/unistd.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += unistd.h unistd.h-t - -EXTRA_DIST += unistd.in.h - -## end gnulib module unistd - -## begin gnulib module useless-if-before-free - - -EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free - -## end gnulib module useless-if-before-free - -## begin gnulib module vasnprintf - - -EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h - -EXTRA_libgnu_la_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c - -## end gnulib module vasnprintf - -## begin gnulib module vc-list-files - - -EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files - -## end gnulib module vc-list-files - -## begin gnulib module version-etc - -libgnu_la_SOURCES += version-etc.h version-etc.c - -## end gnulib module version-etc - -## begin gnulib module version-etc-fsf - -libgnu_la_SOURCES += version-etc-fsf.c - -## end gnulib module version-etc-fsf - -## begin gnulib module wchar - -BUILT_SOURCES += $(WCHAR_H) - -# We need the following in order to create when the system -# version does not work standalone. -wchar.h: wchar.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ - -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ - -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ - -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ - -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ - -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ - -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ - -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ - -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ - -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ - -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ - -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ - -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ - -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ - -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ - -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ - -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ - -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ - -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ - -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ - -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ - -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ - -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ - -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/wchar.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += wchar.h wchar.h-t - -EXTRA_DIST += wchar.in.h - -## end gnulib module wchar - -## begin gnulib module xsize - -libgnu_la_SOURCES += xsize.h -## end gnulib module xsize +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl +include gnulib.mk -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : +libgnu_la_LIBADD += ../lgl/liblgnu.la diff -Nru gnutls26-2.8.6/gl/Makefile.in gnutls26-2.4.1/gl/Makefile.in --- gnutls26-2.8.6/gl/Makefile.in 2010-03-15 10:29:20.000000000 +0000 +++ gnutls26-2.4.1/gl/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,27 @@ @SET_MAKE@ -# Copyright (C) 2002-2009 Free Software Foundation, Inc. +# Copyright (C) 2006, 2007 Free Software Foundation +# +# Author: Simon Josefsson +# +# This file is part of GNUTLS. +# +# 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Copyright (C) 2002-2008 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General @@ -24,15 +43,14 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --libtool --macro-prefix=gl --no-vc-files accept arpa_inet autobuild bind close connect error fdl-1.3 gendocs getaddrinfo getline getpass-gnu gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 listen maintainer-makefile manywarnings minmax perror pmccabe2html progname read-file readline recv select send setsockopt shutdown socket sockets sys_stat version-etc-fsf warnings +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=fseeko --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl --no-vc-files arpa_inet autobuild error fdl gendocs getaddrinfo getline getpass-gnu gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -47,79 +65,92 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -subdir = gl DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in alloca.c + $(srcdir)/Makefile.in $(srcdir)/gnulib.mk +subdir = gl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = -am_libgnu_la_OBJECTS = c-ctype.lo close-hook.lo progname.lo sockets.lo \ - version-etc.lo version-etc-fsf.lo +am_libgnu_la_OBJECTS = progname.lo version-etc.lo version-etc-fsf.lo libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS) libgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ @@ -127,7 +158,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -139,53 +169,15 @@ $(LDFLAGS) -o $@ SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES) DIST_SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -208,96 +200,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -309,31 +265,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -348,29 +289,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -378,18 +305,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -398,51 +318,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -451,123 +353,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -579,78 +466,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -682,11 +553,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -697,90 +571,57 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.5 gnits -SUBDIRS = tests noinst_HEADERS = noinst_LIBRARIES = noinst_LTLIBRARIES = libgnu.la -EXTRA_DIST = m4/gnulib-cache.m4 accept.c w32sock.h alignof.h alloca.c \ - alloca.in.h arpa_inet.in.h bind.c w32sock.h close.c \ - close-hook.h connect.c w32sock.h errno.in.h error.c error.h \ - fclose.c float.in.h fseeko.c stdio-impl.h \ +EXTRA_DIST = arpa_inet.in.h error.c error.h \ $(top_srcdir)/build-aux/gendocs.sh gai_strerror.c \ - getaddrinfo.c getdelim.c getline.c getpass.c getpass.h \ - $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ + getaddrinfo.c getaddrinfo.h getdelim.c getline.c getpass.c \ + getpass.h $(top_srcdir)/GNUmakefile \ + $(top_srcdir)/build-aux/gnupload \ $(top_srcdir)/build-aux/config.rpath inet_ntop.c inet_pton.c \ - intprops.h $(top_srcdir)/build-aux/link-warning.h listen.c \ - w32sock.h lseek.c $(top_srcdir)/maint.mk netdb.in.h \ - netinet_in.in.h perror.c $(top_srcdir)/build-aux/pmccabe2html \ - $(top_srcdir)/build-aux/pmccabe.css read-file.c read-file.h \ - readline.c readline.h realloc.c recv.c w32sock.h select.c \ - send.c w32sock.h setsockopt.c w32sock.h shutdown.c w32sock.h \ - snprintf.c socket.c w32sock.h w32sock.h stdarg.in.h \ - stdbool.in.h stdint.in.h stdio-write.c stdio.in.h stdlib.in.h \ - strerror.c string.in.h sys_select.in.h sys_socket.in.h \ - sys_stat.in.h sys_time.in.h unistd.in.h \ - $(top_srcdir)/build-aux/useless-if-before-free asnprintf.c \ - float+.h printf-args.c printf-args.h printf-parse.c \ - printf-parse.h vasnprintf.c vasnprintf.h \ - $(top_srcdir)/build-aux/vc-list-files wchar.in.h -BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) $(ERRNO_H) $(FLOAT_H) \ - $(NETDB_H) $(NETINET_IN_H) $(STDARG_H) $(STDBOOL_H) \ - $(STDINT_H) stdio.h stdlib.h string.h $(SYS_SELECT_H) \ - $(SYS_SOCKET_H) $(SYS_STAT_H) $(SYS_TIME_H) unistd.h \ - $(WCHAR_H) + intprops.h $(top_srcdir)/maint.mk netinet_in.in.h readline.c \ + readline.h stdarg.in.h strdup.c strerror.c +BUILT_SOURCES = $(ARPA_INET_H) $(NETINET_IN_H) $(STDARG_H) SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \ - arpa/inet.h-t errno.h errno.h-t float.h float.h-t netdb.h \ - netdb.h-t netinet/in.h netinet/in.h-t stdarg.h stdarg.h-t \ - stdbool.h stdbool.h-t stdint.h stdint.h-t stdio.h stdio.h-t \ - stdlib.h stdlib.h-t string.h string.h-t sys/select.h \ - sys/select.h-t sys/socket.h sys/socket.h-t sys/stat.h \ - sys/stat.h-t sys/time.h sys/time.h-t unistd.h unistd.h-t \ - wchar.h wchar.h-t -MOSTLYCLEANDIRS = arpa netinet sys sys sys +MOSTLYCLEANFILES = core *.stackdump arpa/inet.h arpa/inet.h-t \ + netinet/in.h netinet/in.h-t stdarg.h stdarg.h-t +MOSTLYCLEANDIRS = arpa netinet CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = -AM_CPPFLAGS = -AM_CFLAGS = -libgnu_la_SOURCES = c-ctype.h c-ctype.c close-hook.c gettext.h \ - minmax.h progname.h progname.c size_max.h sockets.h sockets.c \ - version-etc.h version-etc.c version-etc-fsf.c xsize.h -libgnu_la_LIBADD = $(gl_LTLIBOBJS) @LTALLOCA@ -libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) @LTALLOCA@ -EXTRA_libgnu_la_SOURCES = accept.c alloca.c bind.c close.c connect.c \ - error.c fclose.c fseeko.c gai_strerror.c getaddrinfo.c \ +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl +libgnu_la_SOURCES = progname.h progname.c version-etc.h version-etc.c \ + version-etc-fsf.c +libgnu_la_LIBADD = $(gl_LTLIBOBJS) ../lgl/liblgnu.la +libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) +EXTRA_libgnu_la_SOURCES = error.c gai_strerror.c getaddrinfo.c \ getdelim.c getline.c getpass.c inet_ntop.c inet_pton.c \ - listen.c lseek.c perror.c read-file.c readline.c realloc.c \ - recv.c select.c send.c setsockopt.c shutdown.c snprintf.c \ - socket.c stdio-write.c strerror.c asnprintf.c printf-args.c \ - printf-parse.c vasnprintf.c + readline.c strdup.c strerror.c libgnu_la_LDFLAGS = $(AM_LDFLAGS) -LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive + $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gl/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits gl/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gl/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnits gl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -798,7 +639,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) @@ -820,18 +660,7 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-hook.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclose.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gai_strerror.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getaddrinfo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Plo@am__quote@ @@ -839,46 +668,30 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listen.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perror.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-file.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readline.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/send.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setsockopt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shutdown.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socket.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -889,137 +702,49 @@ clean-libtool: -rm -rf .libs _libs -# 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): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - 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; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1040,64 +765,31 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive + $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: +installdirs: install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive + $(MAKE) $(AM_MAKEFLAGS) 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-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -1111,7 +803,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -1119,186 +810,110 @@ @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ clean-noinstLTLIBRARIES mostlyclean-am -distclean: distclean-recursive - -rm -rf $(DEPDIR) ./$(DEPDIR) +distclean: distclean-am + -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-local distclean-tags -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -html-am: - -info: info-recursive +info: info-am info-am: install-data-am: -install-dvi: install-dvi-recursive - -install-dvi-am: +install-dvi: install-dvi-am install-exec-am: -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive +install-html: install-html-am -install-info-am: +install-info: install-info-am install-man: -install-pdf: install-pdf-recursive +install-pdf: install-pdf-am -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: +install-ps: install-ps-am installcheck-am: -maintainer-clean: maintainer-clean-recursive - -rm -rf $(DEPDIR) ./$(DEPDIR) +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool mostlyclean-local -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \ - ctags-recursive distclean distclean-compile distclean-generic \ +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ + ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-local distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am - + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t - mv -f $@-t $@ # We need the following in order to create when the system # doesn't have one. -arpa/inet.h: arpa_inet.in.h +arpa/inet.h: @MKDIR_P@ arpa rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \ -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/arpa_inet.in.h; \ } > $@-t mv $@-t $@ -# We need the following in order to create when the system -# doesn't have one that is POSIX compliant. -errno.h: errno.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -float.h: float.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t - mv $@-t $@ - distclean-local: clean-GNUmakefile clean-GNUmakefile: test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -netdb.h: netdb.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ - -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ - -e 's|@''GNULIB_GETADDRINFO''@|$(GNULIB_GETADDRINFO)|g' \ - -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ - -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ - -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ - < $(srcdir)/netdb.in.h; \ - } > $@-t - mv $@-t $@ - # We need the following in order to create when the system # doesn't have one. netinet/in.h: netinet_in.in.h @MKDIR_P@ netinet rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ < $(srcdir)/netinet_in.in.h; \ @@ -1310,450 +925,12 @@ stdarg.h: stdarg.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(srcdir)/stdarg.in.h; \ } > $@-t mv $@-t $@ -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ - -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ - -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ - -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ - -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdio.h: stdio.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ - -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ - -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ - -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ - -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ - -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ - -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ - -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ - -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ - -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ - -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ - -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ - -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ - -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ - -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ - -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ - -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ - -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ - -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ - -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ - -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ - -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ - -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ - -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ - -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ - -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ - -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ - -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ - -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ - -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ - -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdio.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ - -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ - -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ - -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ - -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ - -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ - -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ - -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ - -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ - -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ - -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ - -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ - -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ - -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ - -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ - -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ - -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ - -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ - -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ - -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdlib.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -string.h: string.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ - -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ - -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ - -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ - -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ - -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ - -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ - -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ - -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ - -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ - -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ - -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ - -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ - -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ - -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ - -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ - -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ - -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ - -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ - -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ - -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ - -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ - -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ - -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ - -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ - -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ - -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ - -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ - -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ - -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ - -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ - -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ - -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ - -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ - -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ - -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ - -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ - -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ - -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ - -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ - -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ - -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ - -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/string.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/select.h: sys_select.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ - -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ - -e 's|@''GNULIB_SELECT''@|$(GNULIB_SELECT)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_select.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/socket.h: sys_socket.in.h - @MKDIR_P@ sys - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ - -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_SOCKET''@|$(GNULIB_SOCKET)|g' \ - -e 's|@''GNULIB_CONNECT''@|$(GNULIB_CONNECT)|g' \ - -e 's|@''GNULIB_ACCEPT''@|$(GNULIB_ACCEPT)|g' \ - -e 's|@''GNULIB_BIND''@|$(GNULIB_BIND)|g' \ - -e 's|@''GNULIB_GETPEERNAME''@|$(GNULIB_GETPEERNAME)|g' \ - -e 's|@''GNULIB_GETSOCKNAME''@|$(GNULIB_GETSOCKNAME)|g' \ - -e 's|@''GNULIB_GETSOCKOPT''@|$(GNULIB_GETSOCKOPT)|g' \ - -e 's|@''GNULIB_LISTEN''@|$(GNULIB_LISTEN)|g' \ - -e 's|@''GNULIB_RECV''@|$(GNULIB_RECV)|g' \ - -e 's|@''GNULIB_SEND''@|$(GNULIB_SEND)|g' \ - -e 's|@''GNULIB_RECVFROM''@|$(GNULIB_RECVFROM)|g' \ - -e 's|@''GNULIB_SENDTO''@|$(GNULIB_SENDTO)|g' \ - -e 's|@''GNULIB_SETSOCKOPT''@|$(GNULIB_SETSOCKOPT)|g' \ - -e 's|@''GNULIB_SHUTDOWN''@|$(GNULIB_SHUTDOWN)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ - -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ - -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_socket.in.h; \ - } > $@-t - mv -f $@-t $@ - -# We need the following in order to create when the system -# has one that is incomplete. -sys/stat.h: sys_stat.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ - -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ - -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ - -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_stat.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/time.h: sys_time.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ - < $(srcdir)/sys_time.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -unistd.h: unistd.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ - -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ - -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ - -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ - -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ - -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ - -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ - -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ - -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \ - -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ - -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ - -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ - -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ - -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ - -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ - -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ - -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ - -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ - -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ - -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ - -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ - -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ - -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/unistd.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# version does not work standalone. -wchar.h: wchar.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ - -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ - -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ - -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ - -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ - -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ - -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ - -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ - -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ - -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ - -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ - -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ - -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ - -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ - -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ - -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ - -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ - -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ - -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ - -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ - -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ - -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ - -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ - -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/wchar.in.h; \ - } > $@-t - mv $@-t $@ - mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ @@ -1761,7 +938,6 @@ fi; \ done; \ : - # 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: diff -Nru gnutls26-2.8.6/gl/minmax.h gnutls26-2.4.1/gl/minmax.h --- gnutls26-2.8.6/gl/minmax.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/minmax.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ -/* MIN, MAX macros. - Copyright (C) 1995, 1998, 2001, 2003, 2005 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _MINMAX_H -#define _MINMAX_H - -/* Note: MIN, MAX are also defined in on some systems - (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about - MIN, MAX macro redefinitions on some systems; the workaround is to - #include this file as the last one among the #include list. */ - -/* Before we define the following symbols we get the file - since otherwise we get redefinitions on some systems if is - included after this file. Likewise for . - If more than one of these system headers define MIN and MAX, pick just - one of the headers (because the definitions most likely are the same). */ -#if HAVE_MINMAX_IN_LIMITS_H -# include -#elif HAVE_MINMAX_IN_SYS_PARAM_H -# include -#endif - -/* Note: MIN and MAX should be used with two arguments of the - same type. They might not return the minimum and maximum of their two - arguments, if the arguments have different types or have unusual - floating-point values. For example, on a typical host with 32-bit 'int', - 64-bit 'long long', and 64-bit IEEE 754 'double' types: - - MAX (-1, 2147483648) returns 4294967295. - MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. - MAX (NaN, 0.0) returns 0.0. - MAX (+0.0, -0.0) returns -0.0. - - and in each case the answer is in some sense bogus. */ - -/* MAX(a,b) returns the maximum of A and B. */ -#ifndef MAX -# define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - -/* MIN(a,b) returns the minimum of A and B. */ -#ifndef MIN -# define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#endif /* _MINMAX_H */ diff -Nru gnutls26-2.8.6/gl/netdb.in.h gnutls26-2.4.1/gl/netdb.in.h --- gnutls26-2.8.6/gl/netdb.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/netdb.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,182 +0,0 @@ -/* Provide a netdb.h header file for systems lacking it (read: MinGW). - Copyright (C) 2008 Free Software Foundation, Inc. - Written by Simon Josefsson. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file is supposed to be used on platforms that lack . - It is intended to provide definitions and prototypes needed by an - application. */ - -#ifndef _GL_NETDB_H - -#if @HAVE_NETDB_H@ - -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - -/* The include_next requires a split double-inclusion guard. */ -# @INCLUDE_NEXT@ @NEXT_NETDB_H@ - -#endif - -#ifndef _GL_NETDB_H -#define _GL_NETDB_H - -/* Get netdb.h definitions such as struct hostent for MinGW. */ -#include - -/* Declarations for a platform that lacks , or where it is - incomplete. */ - -#if @GNULIB_GETADDRINFO@ - -# if !@HAVE_STRUCT_ADDRINFO@ - -/* Structure to contain information about address of a service provider. */ -struct addrinfo -{ - int ai_flags; /* Input flags. */ - int ai_family; /* Protocol family for socket. */ - int ai_socktype; /* Socket type. */ - int ai_protocol; /* Protocol for socket. */ - socklen_t ai_addrlen; /* Length of socket address. */ - struct sockaddr *ai_addr; /* Socket address for socket. */ - char *ai_canonname; /* Canonical name for service location. */ - struct addrinfo *ai_next; /* Pointer to next in list. */ -}; -# endif - -/* Possible values for `ai_flags' field in `addrinfo' structure. */ -# ifndef AI_PASSIVE -# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ -# endif -# ifndef AI_CANONNAME -# define AI_CANONNAME 0x0002 /* Request for canonical name. */ -# endif -# ifndef AI_NUMERICSERV -# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ -# endif - -# if 0 -/* The commented out definitions below are not yet implemented in the - GNULIB getaddrinfo() replacement, so are not yet needed and may, in fact, - cause conflicts on systems with a getaddrinfo() function which does not - define them. - - If they are restored, be sure to protect the definitions with #ifndef. */ -# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ -# define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ -# define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ -# define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose - returned address type.. */ -# endif /* 0 */ - -/* Error values for `getaddrinfo' function. */ -# ifndef EAI_BADFLAGS -# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ -# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ -# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ -# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ -# define EAI_NODATA -5 /* No address associated with NAME. */ -# define EAI_FAMILY -6 /* `ai_family' not supported. */ -# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ -# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ -# define EAI_MEMORY -10 /* Memory allocation failure. */ -# endif - -/* Since EAI_NODATA is deprecated by RFC3493, some systems (at least - FreeBSD, which does define EAI_BADFLAGS) have removed the definition - in favor of EAI_NONAME. */ -# if !defined EAI_NODATA && defined EAI_NONAME -# define EAI_NODATA EAI_NONAME -# endif - -# ifndef EAI_OVERFLOW -/* Not defined on mingw32 and Haiku. */ -# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ -# endif -# ifndef EAI_ADDRFAMILY -/* Not defined on mingw32. */ -# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ -# endif -# ifndef EAI_SYSTEM -/* Not defined on mingw32. */ -# define EAI_SYSTEM -11 /* System error returned in `errno'. */ -# endif - -# if 0 -/* The commented out definitions below are not yet implemented in the - GNULIB getaddrinfo() replacement, so are not yet needed. - - If they are restored, be sure to protect the definitions with #ifndef. */ -# ifndef EAI_INPROGRESS -# define EAI_INPROGRESS -100 /* Processing request in progress. */ -# define EAI_CANCELED -101 /* Request canceled. */ -# define EAI_NOTCANCELED -102 /* Request not canceled. */ -# define EAI_ALLDONE -103 /* All requests done. */ -# define EAI_INTR -104 /* Interrupted by a signal. */ -# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ -# endif -# endif - -# if !@HAVE_DECL_GETADDRINFO@ -/* Translate name of a service location and/or a service name to set of - socket addresses. - For more details, see the POSIX:2001 specification - . */ -extern int getaddrinfo (const char *restrict nodename, - const char *restrict servname, - const struct addrinfo *restrict hints, - struct addrinfo **restrict res); -# endif - -# if !@HAVE_DECL_FREEADDRINFO@ -/* Free `addrinfo' structure AI including associated storage. - For more details, see the POSIX:2001 specification - . */ -extern void freeaddrinfo (struct addrinfo *ai); -# endif - -# if !@HAVE_DECL_GAI_STRERROR@ -/* Convert error return from getaddrinfo() to a string. - For more details, see the POSIX:2001 specification - . */ -extern const char *gai_strerror (int ecode); -# endif - -# if !@HAVE_DECL_GETNAMEINFO@ -/* Convert socket address to printable node and service names. - For more details, see the POSIX:2001 specification - . */ -extern int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen, - char *restrict node, socklen_t nodelen, - char *restrict service, socklen_t servicelen, - int flags); -# endif - -/* Possible flags for getnameinfo. */ -# ifndef NI_NUMERICHOST -# define NI_NUMERICHOST 1 -# endif -# ifndef NI_NUMERICSERV -# define NI_NUMERICSERV 2 -# endif - -#endif /* @GNULIB_GETADDRINFO@ */ - -#endif /* _GL_NETDB_H */ -#endif /* _GL_NETDB_H */ diff -Nru gnutls26-2.8.6/gl/netinet_in.in.h gnutls26-2.4.1/gl/netinet_in.in.h --- gnutls26-2.8.6/gl/netinet_in.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/netinet_in.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* Substitute for . - Copyright (C) 2007-2008 Free Software Foundation, Inc. + Copyright (C) 2007 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 @@ -19,10 +19,6 @@ #if @HAVE_NETINET_IN_H@ -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - /* On many platforms, assumes prior inclusion of . */ # include diff -Nru gnutls26-2.8.6/gl/perror.c gnutls26-2.4.1/gl/perror.c --- gnutls26-2.8.6/gl/perror.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/perror.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -/* Print a message describing error code. - Copyright (C) 2008 Free Software Foundation, Inc. - Written by Bruno Haible and Simon Josefsson. - - 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 3 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, see . */ - -#include - -/* Specification. */ -#include - -#include -#include - -void -perror (const char *string) -{ - const char *errno_description = strerror (errno); - - if (string != NULL && *string != '\0') - fprintf (stderr, "%s: %s\n", string, errno_description); - else - fprintf (stderr, "%s\n", errno_description); -} diff -Nru gnutls26-2.8.6/gl/printf-args.c gnutls26-2.4.1/gl/printf-args.c --- gnutls26-2.8.6/gl/printf-args.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/printf-args.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,187 +0,0 @@ -/* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2005-2007 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - PRINTF_FETCHARGS Name of the function to be defined. - STATIC Set to 'static' to declare the function static. */ - -#ifndef PRINTF_FETCHARGS -# include -#endif - -/* Specification. */ -#ifndef PRINTF_FETCHARGS -# include "printf-args.h" -#endif - -#ifdef STATIC -STATIC -#endif -int -PRINTF_FETCHARGS (va_list args, arguments *a) -{ - size_t i; - argument *ap; - - for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) - switch (ap->type) - { - case TYPE_SCHAR: - ap->a.a_schar = va_arg (args, /*signed char*/ int); - break; - case TYPE_UCHAR: - ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); - break; - case TYPE_SHORT: - ap->a.a_short = va_arg (args, /*short*/ int); - break; - case TYPE_USHORT: - ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); - break; - case TYPE_INT: - ap->a.a_int = va_arg (args, int); - break; - case TYPE_UINT: - ap->a.a_uint = va_arg (args, unsigned int); - break; - case TYPE_LONGINT: - ap->a.a_longint = va_arg (args, long int); - break; - case TYPE_ULONGINT: - ap->a.a_ulongint = va_arg (args, unsigned long int); - break; -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - ap->a.a_longlongint = va_arg (args, long long int); - break; - case TYPE_ULONGLONGINT: - ap->a.a_ulonglongint = va_arg (args, unsigned long long int); - break; -#endif - case TYPE_DOUBLE: - ap->a.a_double = va_arg (args, double); - break; - case TYPE_LONGDOUBLE: - ap->a.a_longdouble = va_arg (args, long double); - break; - case TYPE_CHAR: - ap->a.a_char = va_arg (args, int); - break; -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: - /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by - default argument promotions", this is not the case in mingw32, - where wint_t is 'unsigned short'. */ - ap->a.a_wide_char = - (sizeof (wint_t) < sizeof (int) - ? va_arg (args, int) - : va_arg (args, wint_t)); - break; -#endif - case TYPE_STRING: - ap->a.a_string = va_arg (args, const char *); - /* A null pointer is an invalid argument for "%s", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_string == NULL) - ap->a.a_string = "(NULL)"; - break; -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - ap->a.a_wide_string = va_arg (args, const wchar_t *); - /* A null pointer is an invalid argument for "%ls", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_wide_string == NULL) - { - static const wchar_t wide_null_string[] = - { - (wchar_t)'(', - (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', - (wchar_t)')', - (wchar_t)0 - }; - ap->a.a_wide_string = wide_null_string; - } - break; -#endif - case TYPE_POINTER: - ap->a.a_pointer = va_arg (args, void *); - break; - case TYPE_COUNT_SCHAR_POINTER: - ap->a.a_count_schar_pointer = va_arg (args, signed char *); - break; - case TYPE_COUNT_SHORT_POINTER: - ap->a.a_count_short_pointer = va_arg (args, short *); - break; - case TYPE_COUNT_INT_POINTER: - ap->a.a_count_int_pointer = va_arg (args, int *); - break; - case TYPE_COUNT_LONGINT_POINTER: - ap->a.a_count_longint_pointer = va_arg (args, long int *); - break; -#if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); - break; -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case TYPE_U8_STRING: - ap->a.a_u8_string = va_arg (args, const uint8_t *); - /* A null pointer is an invalid argument for "%U", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u8_string == NULL) - { - static const uint8_t u8_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u8_string = u8_null_string; - } - break; - case TYPE_U16_STRING: - ap->a.a_u16_string = va_arg (args, const uint16_t *); - /* A null pointer is an invalid argument for "%lU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u16_string == NULL) - { - static const uint16_t u16_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u16_string = u16_null_string; - } - break; - case TYPE_U32_STRING: - ap->a.a_u32_string = va_arg (args, const uint32_t *); - /* A null pointer is an invalid argument for "%llU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u32_string == NULL) - { - static const uint32_t u32_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u32_string = u32_null_string; - } - break; -#endif - default: - /* Unknown type. */ - return -1; - } - return 0; -} diff -Nru gnutls26-2.8.6/gl/printf-args.h gnutls26-2.4.1/gl/printf-args.h --- gnutls26-2.8.6/gl/printf-args.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/printf-args.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,154 +0,0 @@ -/* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2006-2007 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _PRINTF_ARGS_H -#define _PRINTF_ARGS_H - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - PRINTF_FETCHARGS Name of the function to be declared. - STATIC Set to 'static' to declare the function static. */ - -/* Default parameters. */ -#ifndef PRINTF_FETCHARGS -# define PRINTF_FETCHARGS printf_fetchargs -#endif - -/* Get size_t. */ -#include - -/* Get wchar_t. */ -#if HAVE_WCHAR_T -# include -#endif - -/* Get wint_t. */ -#if HAVE_WINT_T -# include -#endif - -/* Get va_list. */ -#include - - -/* Argument types */ -typedef enum -{ - TYPE_NONE, - TYPE_SCHAR, - TYPE_UCHAR, - TYPE_SHORT, - TYPE_USHORT, - TYPE_INT, - TYPE_UINT, - TYPE_LONGINT, - TYPE_ULONGINT, -#if HAVE_LONG_LONG_INT - TYPE_LONGLONGINT, - TYPE_ULONGLONGINT, -#endif - TYPE_DOUBLE, - TYPE_LONGDOUBLE, - TYPE_CHAR, -#if HAVE_WINT_T - TYPE_WIDE_CHAR, -#endif - TYPE_STRING, -#if HAVE_WCHAR_T - TYPE_WIDE_STRING, -#endif - TYPE_POINTER, - TYPE_COUNT_SCHAR_POINTER, - TYPE_COUNT_SHORT_POINTER, - TYPE_COUNT_INT_POINTER, - TYPE_COUNT_LONGINT_POINTER -#if HAVE_LONG_LONG_INT -, TYPE_COUNT_LONGLONGINT_POINTER -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ -, TYPE_U8_STRING -, TYPE_U16_STRING -, TYPE_U32_STRING -#endif -} arg_type; - -/* Polymorphic argument */ -typedef struct -{ - arg_type type; - union - { - signed char a_schar; - unsigned char a_uchar; - short a_short; - unsigned short a_ushort; - int a_int; - unsigned int a_uint; - long int a_longint; - unsigned long int a_ulongint; -#if HAVE_LONG_LONG_INT - long long int a_longlongint; - unsigned long long int a_ulonglongint; -#endif - float a_float; - double a_double; - long double a_longdouble; - int a_char; -#if HAVE_WINT_T - wint_t a_wide_char; -#endif - const char* a_string; -#if HAVE_WCHAR_T - const wchar_t* a_wide_string; -#endif - void* a_pointer; - signed char * a_count_schar_pointer; - short * a_count_short_pointer; - int * a_count_int_pointer; - long int * a_count_longint_pointer; -#if HAVE_LONG_LONG_INT - long long int * a_count_longlongint_pointer; -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - const uint8_t * a_u8_string; - const uint16_t * a_u16_string; - const uint32_t * a_u32_string; -#endif - } - a; -} -argument; - -typedef struct -{ - size_t count; - argument *arg; -} -arguments; - - -/* Fetch the arguments, putting them into a. */ -#ifdef STATIC -STATIC -#else -extern -#endif -int PRINTF_FETCHARGS (va_list args, arguments *a); - -#endif /* _PRINTF_ARGS_H */ diff -Nru gnutls26-2.8.6/gl/printf-parse.c gnutls26-2.4.1/gl/printf-parse.c --- gnutls26-2.8.6/gl/printf-parse.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/printf-parse.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,627 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999-2000, 2002-2003, 2006-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - CHAR_T The element type of the format string. - CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters - in the format string are ASCII. - DIRECTIVE Structure denoting a format directive. - Depends on CHAR_T. - DIRECTIVES Structure denoting the set of format directives of a - format string. Depends on CHAR_T. - PRINTF_PARSE Function that parses a format string. - Depends on CHAR_T. - STATIC Set to 'static' to declare the function static. - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ - -#ifndef PRINTF_PARSE -# include -#endif - -/* Specification. */ -#ifndef PRINTF_PARSE -# include "printf-parse.h" -#endif - -/* Default parameters. */ -#ifndef PRINTF_PARSE -# define PRINTF_PARSE printf_parse -# define CHAR_T char -# define DIRECTIVE char_directive -# define DIRECTIVES char_directives -#endif - -/* Get size_t, NULL. */ -#include - -/* Get intmax_t. */ -#if defined IN_LIBINTL || defined IN_LIBASPRINTF -# if HAVE_STDINT_H_WITH_UINTMAX -# include -# endif -# if HAVE_INTTYPES_H_WITH_UINTMAX -# include -# endif -#else -# include -#endif - -/* malloc(), realloc(), free(). */ -#include - -/* errno. */ -#include - -/* Checked size_t computations. */ -#include "xsize.h" - -#if CHAR_T_ONLY_ASCII -/* c_isascii(). */ -# include "c-ctype.h" -#endif - -#ifdef STATIC -STATIC -#endif -int -PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) -{ - const CHAR_T *cp = format; /* pointer into format */ - size_t arg_posn = 0; /* number of regular arguments consumed */ - size_t d_allocated; /* allocated elements of d->dir */ - size_t a_allocated; /* allocated elements of a->arg */ - size_t max_width_length = 0; - size_t max_precision_length = 0; - - d->count = 0; - d_allocated = 1; - d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); - if (d->dir == NULL) - /* Out of memory. */ - goto out_of_memory_1; - - a->count = 0; - a_allocated = 0; - a->arg = NULL; - -#define REGISTER_ARG(_index_,_type_) \ - { \ - size_t n = (_index_); \ - if (n >= a_allocated) \ - { \ - size_t memory_size; \ - argument *memory; \ - \ - a_allocated = xtimes (a_allocated, 2); \ - if (a_allocated <= n) \ - a_allocated = xsum (n, 1); \ - memory_size = xtimes (a_allocated, sizeof (argument)); \ - if (size_overflow_p (memory_size)) \ - /* Overflow, would lead to out of memory. */ \ - goto out_of_memory; \ - memory = (argument *) (a->arg \ - ? realloc (a->arg, memory_size) \ - : malloc (memory_size)); \ - if (memory == NULL) \ - /* Out of memory. */ \ - goto out_of_memory; \ - a->arg = memory; \ - } \ - while (a->count <= n) \ - a->arg[a->count++].type = TYPE_NONE; \ - if (a->arg[n].type == TYPE_NONE) \ - a->arg[n].type = (_type_); \ - else if (a->arg[n].type != (_type_)) \ - /* Ambiguous type for positional argument. */ \ - goto error; \ - } - - while (*cp != '\0') - { - CHAR_T c = *cp++; - if (c == '%') - { - size_t arg_index = ARG_NONE; - DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ - - /* Initialize the next directive. */ - dp->dir_start = cp - 1; - dp->flags = 0; - dp->width_start = NULL; - dp->width_end = NULL; - dp->width_arg_index = ARG_NONE; - dp->precision_start = NULL; - dp->precision_end = NULL; - dp->precision_arg_index = ARG_NONE; - dp->arg_index = ARG_NONE; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - arg_index = n - 1; - cp = np + 1; - } - } - - /* Read the flags. */ - for (;;) - { - if (*cp == '\'') - { - dp->flags |= FLAG_GROUP; - cp++; - } - else if (*cp == '-') - { - dp->flags |= FLAG_LEFT; - cp++; - } - else if (*cp == '+') - { - dp->flags |= FLAG_SHOWSIGN; - cp++; - } - else if (*cp == ' ') - { - dp->flags |= FLAG_SPACE; - cp++; - } - else if (*cp == '#') - { - dp->flags |= FLAG_ALT; - cp++; - } - else if (*cp == '0') - { - dp->flags |= FLAG_ZERO; - cp++; - } - else - break; - } - - /* Parse the field width. */ - if (*cp == '*') - { - dp->width_start = cp; - cp++; - dp->width_end = cp; - if (max_width_length < 1) - max_width_length = 1; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - dp->width_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->width_arg_index == ARG_NONE) - { - dp->width_arg_index = arg_posn++; - if (dp->width_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->width_arg_index, TYPE_INT); - } - else if (*cp >= '0' && *cp <= '9') - { - size_t width_length; - - dp->width_start = cp; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->width_end = cp; - width_length = dp->width_end - dp->width_start; - if (max_width_length < width_length) - max_width_length = width_length; - } - - /* Parse the precision. */ - if (*cp == '.') - { - cp++; - if (*cp == '*') - { - dp->precision_start = cp - 1; - cp++; - dp->precision_end = cp; - if (max_precision_length < 2) - max_precision_length = 2; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory - later. */ - goto error; - dp->precision_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->precision_arg_index == ARG_NONE) - { - dp->precision_arg_index = arg_posn++; - if (dp->precision_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->precision_arg_index, TYPE_INT); - } - else - { - size_t precision_length; - - dp->precision_start = cp - 1; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->precision_end = cp; - precision_length = dp->precision_end - dp->precision_start; - if (max_precision_length < precision_length) - max_precision_length = precision_length; - } - } - - { - arg_type type; - - /* Parse argument type/size specifiers. */ - { - int flags = 0; - - for (;;) - { - if (*cp == 'h') - { - flags |= (1 << (flags & 1)); - cp++; - } - else if (*cp == 'L') - { - flags |= 4; - cp++; - } - else if (*cp == 'l') - { - flags += 8; - cp++; - } - else if (*cp == 'j') - { - if (sizeof (intmax_t) > sizeof (long)) - { - /* intmax_t = long long */ - flags += 16; - } - else if (sizeof (intmax_t) > sizeof (int)) - { - /* intmax_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 'z' || *cp == 'Z') - { - /* 'z' is standardized in ISO C 99, but glibc uses 'Z' - because the warning facility in gcc-2.95.2 understands - only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ - if (sizeof (size_t) > sizeof (long)) - { - /* size_t = long long */ - flags += 16; - } - else if (sizeof (size_t) > sizeof (int)) - { - /* size_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 't') - { - if (sizeof (ptrdiff_t) > sizeof (long)) - { - /* ptrdiff_t = long long */ - flags += 16; - } - else if (sizeof (ptrdiff_t) > sizeof (int)) - { - /* ptrdiff_t = long */ - flags += 8; - } - cp++; - } -#if defined __APPLE__ && defined __MACH__ - /* On MacOS X 10.3, PRIdMAX is defined as "qd". - We cannot change it to "lld" because PRIdMAX must also - be understood by the system's printf routines. */ - else if (*cp == 'q') - { - if (64 / 8 > sizeof (long)) - { - /* int64_t = long long */ - flags += 16; - } - else - { - /* int64_t = long */ - flags += 8; - } - cp++; - } -#endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* On native Win32, PRIdMAX is defined as "I64d". - We cannot change it to "lld" because PRIdMAX must also - be understood by the system's printf routines. */ - else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') - { - if (64 / 8 > sizeof (long)) - { - /* __int64 = long long */ - flags += 16; - } - else - { - /* __int64 = long */ - flags += 8; - } - cp += 3; - } -#endif - else - break; - } - - /* Read the conversion character. */ - c = *cp++; - switch (c) - { - case 'd': case 'i': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGLONGINT; - else -#endif - /* If 'long long' exists and is the same as 'long', we parse - "lld" into TYPE_LONGINT. */ - if (flags >= 8) - type = TYPE_LONGINT; - else if (flags & 2) - type = TYPE_SCHAR; - else if (flags & 1) - type = TYPE_SHORT; - else - type = TYPE_INT; - break; - case 'o': case 'u': case 'x': case 'X': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_ULONGLONGINT; - else -#endif - /* If 'unsigned long long' exists and is the same as - 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ - if (flags >= 8) - type = TYPE_ULONGINT; - else if (flags & 2) - type = TYPE_UCHAR; - else if (flags & 1) - type = TYPE_USHORT; - else - type = TYPE_UINT; - break; - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGDOUBLE; - else - type = TYPE_DOUBLE; - break; - case 'c': - if (flags >= 8) -#if HAVE_WINT_T - type = TYPE_WIDE_CHAR; -#else - goto error; -#endif - else - type = TYPE_CHAR; - break; -#if HAVE_WINT_T - case 'C': - type = TYPE_WIDE_CHAR; - c = 'c'; - break; -#endif - case 's': - if (flags >= 8) -#if HAVE_WCHAR_T - type = TYPE_WIDE_STRING; -#else - goto error; -#endif - else - type = TYPE_STRING; - break; -#if HAVE_WCHAR_T - case 'S': - type = TYPE_WIDE_STRING; - c = 's'; - break; -#endif - case 'p': - type = TYPE_POINTER; - break; - case 'n': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_COUNT_LONGLONGINT_POINTER; - else -#endif - /* If 'long long' exists and is the same as 'long', we parse - "lln" into TYPE_COUNT_LONGINT_POINTER. */ - if (flags >= 8) - type = TYPE_COUNT_LONGINT_POINTER; - else if (flags & 2) - type = TYPE_COUNT_SCHAR_POINTER; - else if (flags & 1) - type = TYPE_COUNT_SHORT_POINTER; - else - type = TYPE_COUNT_INT_POINTER; - break; -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case 'U': - if (flags >= 16) - type = TYPE_U32_STRING; - else if (flags >= 8) - type = TYPE_U16_STRING; - else - type = TYPE_U8_STRING; - break; -#endif - case '%': - type = TYPE_NONE; - break; - default: - /* Unknown conversion character. */ - goto error; - } - } - - if (type != TYPE_NONE) - { - dp->arg_index = arg_index; - if (dp->arg_index == ARG_NONE) - { - dp->arg_index = arg_posn++; - if (dp->arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->arg_index, type); - } - dp->conversion = c; - dp->dir_end = cp; - } - - d->count++; - if (d->count >= d_allocated) - { - size_t memory_size; - DIRECTIVE *memory; - - d_allocated = xtimes (d_allocated, 2); - memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); - if (size_overflow_p (memory_size)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - memory = (DIRECTIVE *) realloc (d->dir, memory_size); - if (memory == NULL) - /* Out of memory. */ - goto out_of_memory; - d->dir = memory; - } - } -#if CHAR_T_ONLY_ASCII - else if (!c_isascii (c)) - { - /* Non-ASCII character. Not supported. */ - goto error; - } -#endif - } - d->dir[d->count].dir_start = cp; - - d->max_width_length = max_width_length; - d->max_precision_length = max_precision_length; - return 0; - -error: - if (a->arg) - free (a->arg); - if (d->dir) - free (d->dir); - errno = EINVAL; - return -1; - -out_of_memory: - if (a->arg) - free (a->arg); - if (d->dir) - free (d->dir); -out_of_memory_1: - errno = ENOMEM; - return -1; -} - -#undef PRINTF_PARSE -#undef DIRECTIVES -#undef DIRECTIVE -#undef CHAR_T_ONLY_ASCII -#undef CHAR_T diff -Nru gnutls26-2.8.6/gl/printf-parse.h gnutls26-2.4.1/gl/printf-parse.h --- gnutls26-2.8.6/gl/printf-parse.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/printf-parse.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,179 +0,0 @@ -/* Parse printf format string. - Copyright (C) 1999, 2002-2003, 2005, 2007 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _PRINTF_PARSE_H -#define _PRINTF_PARSE_H - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - STATIC Set to 'static' to declare the function static. */ - -#include "printf-args.h" - - -/* Flags */ -#define FLAG_GROUP 1 /* ' flag */ -#define FLAG_LEFT 2 /* - flag */ -#define FLAG_SHOWSIGN 4 /* + flag */ -#define FLAG_SPACE 8 /* space flag */ -#define FLAG_ALT 16 /* # flag */ -#define FLAG_ZERO 32 - -/* arg_index value indicating that no argument is consumed. */ -#define ARG_NONE (~(size_t)0) - -/* xxx_directive: A parsed directive. - xxx_directives: A parsed format string. */ - -/* A parsed directive. */ -typedef struct -{ - const char* dir_start; - const char* dir_end; - int flags; - const char* width_start; - const char* width_end; - size_t width_arg_index; - const char* precision_start; - const char* precision_end; - size_t precision_arg_index; - char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -char_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - char_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -char_directives; - -#if ENABLE_UNISTDIO - -/* A parsed directive. */ -typedef struct -{ - const uint8_t* dir_start; - const uint8_t* dir_end; - int flags; - const uint8_t* width_start; - const uint8_t* width_end; - size_t width_arg_index; - const uint8_t* precision_start; - const uint8_t* precision_end; - size_t precision_arg_index; - uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u8_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u8_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u8_directives; - -/* A parsed directive. */ -typedef struct -{ - const uint16_t* dir_start; - const uint16_t* dir_end; - int flags; - const uint16_t* width_start; - const uint16_t* width_end; - size_t width_arg_index; - const uint16_t* precision_start; - const uint16_t* precision_end; - size_t precision_arg_index; - uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u16_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u16_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u16_directives; - -/* A parsed directive. */ -typedef struct -{ - const uint32_t* dir_start; - const uint32_t* dir_end; - int flags; - const uint32_t* width_start; - const uint32_t* width_end; - size_t width_arg_index; - const uint32_t* precision_start; - const uint32_t* precision_end; - size_t precision_arg_index; - uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u32_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u32_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u32_directives; - -#endif - - -/* Parses the format string. Fills in the number N of directives, and fills - in directives[0], ..., directives[N-1], and sets directives[N].dir_start - to the end of the format string. Also fills in the arg_type fields of the - arguments and the needed count of arguments. */ -#if ENABLE_UNISTDIO -extern int - ulc_printf_parse (const char *format, char_directives *d, arguments *a); -extern int - u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a); -extern int - u16_printf_parse (const uint16_t *format, u16_directives *d, - arguments *a); -extern int - u32_printf_parse (const uint32_t *format, u32_directives *d, - arguments *a); -#else -# ifdef STATIC -STATIC -# else -extern -# endif -int printf_parse (const char *format, char_directives *d, arguments *a); -#endif - -#endif /* _PRINTF_PARSE_H */ diff -Nru gnutls26-2.8.6/gl/progname.c gnutls26-2.4.1/gl/progname.c --- gnutls26-2.8.6/gl/progname.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/progname.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -35,8 +35,6 @@ { /* libtool creates a temporary executable whose name is sometimes prefixed with "lt-" (depends on the platform). It also makes argv[0] absolute. - But the name of the temporary executable is a detail that should not be - visible to the end user and to the test suite. Remove this "/.libs/" or "/.libs/lt-" prefix here. */ const char *slash; const char *base; @@ -49,15 +47,5 @@ if (strncmp (base, "lt-", 3) == 0) argv0 = base + 3; } - - /* But don't strip off a leading / in general, because when the user - runs - /some/hidden/place/bin/cp foo foo - he should get the error message - /some/hidden/place/bin/cp: `foo' and `foo' are the same file - not - cp: `foo' and `foo' are the same file - */ - program_name = argv0; } diff -Nru gnutls26-2.8.6/gl/read-file.c gnutls26-2.4.1/gl/read-file.c --- gnutls26-2.8.6/gl/read-file.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/read-file.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,136 +0,0 @@ -/* read-file.c -- read file contents into a string - Copyright (C) 2006 Free Software Foundation, Inc. - Written by Simon Josefsson and Bruno Haible. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -#include "read-file.h" - -/* Get realloc, free. */ -#include - -/* Get errno. */ -#include - -/* Read a STREAM and return a newly allocated string with the content, - and set *LENGTH to the length of the string. The string is - zero-terminated, but the terminating zero byte is not counted in - *LENGTH. On errors, *LENGTH is undefined, errno preserves the - values set by system functions (if any), and NULL is returned. */ -char * -fread_file (FILE * stream, size_t * length) -{ - char *buf = NULL; - size_t alloc = 0; - size_t size = 0; - int save_errno; - - for (;;) - { - size_t count; - size_t requested; - - if (size + BUFSIZ + 1 > alloc) - { - char *new_buf; - - alloc += alloc / 2; - if (alloc < size + BUFSIZ + 1) - alloc = size + BUFSIZ + 1; - - new_buf = realloc (buf, alloc); - if (!new_buf) - { - save_errno = errno; - break; - } - - buf = new_buf; - } - - requested = alloc - size - 1; - count = fread (buf + size, 1, requested, stream); - size += count; - - if (count != requested) - { - save_errno = errno; - if (ferror (stream)) - break; - buf[size] = '\0'; - *length = size; - return buf; - } - } - - free (buf); - errno = save_errno; - return NULL; -} - -static char * -internal_read_file (const char *filename, size_t * length, const char *mode) -{ - FILE *stream = fopen (filename, mode); - char *out; - int save_errno; - - if (!stream) - return NULL; - - out = fread_file (stream, length); - - save_errno = errno; - - if (fclose (stream) != 0) - { - if (out) - { - save_errno = errno; - free (out); - } - errno = save_errno; - return NULL; - } - - return out; -} - -/* Open and read the contents of FILENAME, and return a newly - allocated string with the content, and set *LENGTH to the length of - the string. The string is zero-terminated, but the terminating - zero byte is not counted in *LENGTH. On errors, *LENGTH is - undefined, errno preserves the values set by system functions (if - any), and NULL is returned. */ -char * -read_file (const char *filename, size_t * length) -{ - return internal_read_file (filename, length, "r"); -} - -/* Open (on non-POSIX systems, in binary mode) and read the contents - of FILENAME, and return a newly allocated string with the content, - and set LENGTH to the length of the string. The string is - zero-terminated, but the terminating zero byte is not counted in - the LENGTH variable. On errors, *LENGTH is undefined, errno - preserves the values set by system functions (if any), and NULL is - returned. */ -char * -read_binary_file (const char *filename, size_t * length) -{ - return internal_read_file (filename, length, "rb"); -} diff -Nru gnutls26-2.8.6/gl/read-file.h gnutls26-2.4.1/gl/read-file.h --- gnutls26-2.8.6/gl/read-file.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/read-file.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -/* read-file.h -- read file contents into a string - Copyright (C) 2006 Free Software Foundation, Inc. - Written by Simon Josefsson. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef READ_FILE_H -#define READ_FILE_H - -/* Get size_t. */ -#include - -/* Get FILE. */ -#include - -extern char *fread_file (FILE * stream, size_t * length); - -extern char *read_file (const char *filename, size_t * length); - -extern char *read_binary_file (const char *filename, size_t * length); - -#endif /* READ_FILE_H */ diff -Nru gnutls26-2.8.6/gl/readline.c gnutls26-2.4.1/gl/readline.c --- gnutls26-2.8.6/gl/readline.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/readline.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* readline.c --- Simple implementation of readline. - Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. Written by Simon Josefsson This program is free software: you can redistribute it and/or modify @@ -39,10 +39,7 @@ size_t size = 0; if (prompt) - { - fputs (prompt, stdout); - fflush (stdout); - } + fputs (prompt, stdout); if (getline (&out, &size, stdin) < 0) return NULL; diff -Nru gnutls26-2.8.6/gl/realloc.c gnutls26-2.4.1/gl/realloc.c --- gnutls26-2.8.6/gl/realloc.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/realloc.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,87 +0,0 @@ -/* realloc() function that is glibc compatible. - - Copyright (C) 1997, 2003, 2004, 2006, 2007 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 3 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, see . */ - -/* written by Jim Meyering and Bruno Haible */ - -#include - -/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ -#ifdef realloc -# define NEED_REALLOC_GNU 1 -#endif - -/* Infer the properties of the system's malloc function. - Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ -#if GNULIB_MALLOC_GNU && !defined malloc -# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 -#endif - -/* Below we want to call the system's malloc and realloc. - Undefine the symbols here so that including provides a - declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ -#undef malloc -#undef realloc - -/* Specification. */ -#include - -#include - -/* Below we want to call the system's malloc and realloc. - Undefine the symbols, if they were defined by gnulib's - replacement. */ -#undef malloc -#undef realloc - -/* Change the size of an allocated block of memory P to N bytes, - with error checking. If N is zero, change it to 1. If P is NULL, - use malloc. */ - -void * -rpl_realloc (void *p, size_t n) -{ - void *result; - -#if NEED_REALLOC_GNU - if (n == 0) - { - n = 1; - - /* In theory realloc might fail, so don't rely on it to free. */ - free (p); - p = NULL; - } -#endif - - if (p == NULL) - { -#if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE - if (n == 0) - n = 1; -#endif - result = malloc (n); - } - else - result = realloc (p, n); - -#if !HAVE_REALLOC_POSIX - if (result == NULL) - errno = ENOMEM; -#endif - - return result; -} diff -Nru gnutls26-2.8.6/gl/recv.c gnutls26-2.4.1/gl/recv.c --- gnutls26-2.8.6/gl/recv.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/recv.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -/* recv.c --- wrappers for Windows recv function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef recv - -int -rpl_recv (int fd, void *buf, int len, int flags) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = recv (sock, buf, len, flags); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/select.c gnutls26-2.4.1/gl/select.c --- gnutls26-2.8.6/gl/select.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/select.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,446 +0,0 @@ -/* Emulation for select(2) - Contributed by Paolo Bonzini. - - Copyright 2008-2009 Free Software Foundation, Inc. - - This file is part of gnulib. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include -#include - -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Native Win32. */ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -struct bitset { - unsigned char in[FD_SETSIZE / CHAR_BIT]; - unsigned char out[FD_SETSIZE / CHAR_BIT]; -}; - -/* Declare data structures for ntdll functions. */ -typedef struct _FILE_PIPE_LOCAL_INFORMATION { - ULONG NamedPipeType; - ULONG NamedPipeConfiguration; - ULONG MaximumInstances; - ULONG CurrentInstances; - ULONG InboundQuota; - ULONG ReadDataAvailable; - ULONG OutboundQuota; - ULONG WriteQuotaAvailable; - ULONG NamedPipeState; - ULONG NamedPipeEnd; -} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION; - -typedef struct _IO_STATUS_BLOCK -{ - union { - DWORD Status; - PVOID Pointer; - } u; - ULONG_PTR Information; -} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; - -typedef enum _FILE_INFORMATION_CLASS { - FilePipeLocalInformation = 24 -} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; - -typedef DWORD (WINAPI *PNtQueryInformationFile) - (HANDLE, IO_STATUS_BLOCK *, VOID *, ULONG, FILE_INFORMATION_CLASS); - -#ifndef PIPE_BUF -#define PIPE_BUF 512 -#endif - -/* Compute output fd_sets for libc descriptor FD (whose Win32 handle is H). */ - -static int -win32_poll_handle (HANDLE h, int fd, struct bitset *rbits, struct bitset *wbits, - struct bitset *xbits) -{ - BOOL read, write, except; - int i, ret; - INPUT_RECORD *irbuffer; - DWORD avail, nbuffer; - BOOL bRet; - IO_STATUS_BLOCK iosb; - FILE_PIPE_LOCAL_INFORMATION fpli; - static PNtQueryInformationFile NtQueryInformationFile; - static BOOL once_only; - - read = write = except = FALSE; - switch (GetFileType (h)) - { - case FILE_TYPE_DISK: - read = TRUE; - write = TRUE; - break; - - case FILE_TYPE_PIPE: - if (!once_only) - { - NtQueryInformationFile = (PNtQueryInformationFile) - GetProcAddress (GetModuleHandle ("ntdll.dll"), - "NtQueryInformationFile"); - once_only = TRUE; - } - - if (PeekNamedPipe (h, NULL, 0, NULL, &avail, NULL) != 0) - { - if (avail) - read = TRUE; - } - - else - { - /* It was the write-end of the pipe. Check if it is writable. - If NtQueryInformationFile fails, optimistically assume the pipe is - writable. This could happen on Win9x, where NtQueryInformationFile - is not available, or if we inherit a pipe that doesn't permit - FILE_READ_ATTRIBUTES access on the write end (I think this should - not happen since WinXP SP2; WINE seems fine too). Otherwise, - ensure that enough space is available for atomic writes. */ - memset (&iosb, 0, sizeof (iosb)); - memset (&fpli, 0, sizeof (fpli)); - - if (!NtQueryInformationFile - || NtQueryInformationFile (h, &iosb, &fpli, sizeof (fpli), - FilePipeLocalInformation) - || fpli.WriteQuotaAvailable >= PIPE_BUF - || (fpli.OutboundQuota < PIPE_BUF && - fpli.WriteQuotaAvailable == fpli.OutboundQuota)) - write = TRUE; - } - break; - - case FILE_TYPE_CHAR: - ret = WaitForSingleObject (h, 0); - write = TRUE; - if (ret == WAIT_OBJECT_0) - { - nbuffer = avail = 0; - bRet = GetNumberOfConsoleInputEvents (h, &nbuffer); - if (!bRet || nbuffer == 0) - except = TRUE; - - irbuffer = (INPUT_RECORD *) alloca (nbuffer * sizeof (INPUT_RECORD)); - bRet = PeekConsoleInput (h, irbuffer, nbuffer, &avail); - if (!bRet || avail == 0) - except = TRUE; - - for (i = 0; i < avail; i++) - if (irbuffer[i].EventType == KEY_EVENT) - read = TRUE; - } - break; - - default: - ret = WaitForSingleObject (h, 0); - write = TRUE; - if (ret == WAIT_OBJECT_0) - read = TRUE; - - break; - } - - ret = 0; - if (read && (rbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) - { - rbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); - ret++; - } - - if (write && (wbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) - { - wbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); - ret++; - } - - if (except && (xbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) - { - xbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); - ret++; - } - - return ret; -} - -int -rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *xfds, - struct timeval *timeout) -{ - static struct timeval tv0; - static HANDLE hEvent; - HANDLE h, handle_array[FD_SETSIZE + 2]; - fd_set handle_rfds, handle_wfds, handle_xfds; - struct bitset rbits, wbits, xbits; - unsigned char anyfds_in[FD_SETSIZE / CHAR_BIT]; - DWORD ret, wait_timeout, nhandles, nsock; - MSG msg; - int i, fd, rc; - - if (nfds > FD_SETSIZE) - nfds = FD_SETSIZE; - - if (!timeout) - wait_timeout = INFINITE; - else - { - wait_timeout = timeout->tv_sec + timeout->tv_usec / 1000; - - /* select is also used as a portable usleep. */ - if (!rfds && !wfds && !xfds) - { - Sleep (wait_timeout); - return 0; - } - } - - if (!hEvent) - hEvent = CreateEvent (NULL, FALSE, FALSE, NULL); - - handle_array[0] = hEvent; - nhandles = 1; - nsock = 0; - - /* Copy descriptors to bitsets. */ - memset (&rbits, 0, sizeof (rbits)); - memset (&wbits, 0, sizeof (wbits)); - memset (&xbits, 0, sizeof (xbits)); - memset (anyfds_in, 0, sizeof (anyfds_in)); - if (rfds) - for (i = 0; i < rfds->fd_count; i++) - { - fd = rfds->fd_array[i]; - rbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - } - else - rfds = (fd_set *) alloca (sizeof (fd_set)); - - if (wfds) - for (i = 0; i < wfds->fd_count; i++) - { - fd = wfds->fd_array[i]; - wbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - } - else - wfds = (fd_set *) alloca (sizeof (fd_set)); - - if (xfds) - for (i = 0; i < xfds->fd_count; i++) - { - fd = xfds->fd_array[i]; - xbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); - } - else - xfds = (fd_set *) alloca (sizeof (fd_set)); - - /* Zero all the fd_sets, including the application's. */ - FD_ZERO (rfds); - FD_ZERO (wfds); - FD_ZERO (xfds); - FD_ZERO (&handle_rfds); - FD_ZERO (&handle_wfds); - FD_ZERO (&handle_xfds); - - /* Classify handles. Create fd sets for sockets, poll the others. */ - for (i = 0; i < nfds; i++) - { - WSANETWORKEVENTS ev; - - if ((anyfds_in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) == 0) - continue; - - h = (HANDLE) _get_osfhandle (i); - if (!h) - { - errno = EBADF; - return -1; - } - - /* Under Wine, it seems that getsockopt returns 0 for pipes too. - WSAEnumNetworkEvents instead distinguishes the two correctly. */ - ev.lNetworkEvents = 0xDEADBEEF; - WSAEnumNetworkEvents ((SOCKET) h, NULL, &ev); - if (ev.lNetworkEvents != 0xDEADBEEF) - { - int requested = FD_CLOSE; - - /* See above; socket handles are mapped onto select, but we - need to map descriptors to handles. */ - if (rbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - requested |= FD_READ | FD_ACCEPT; - FD_SET ((SOCKET) h, rfds); - FD_SET ((SOCKET) h, &handle_rfds); - } - if (wbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - requested |= FD_WRITE | FD_CONNECT; - FD_SET ((SOCKET) h, wfds); - FD_SET ((SOCKET) h, &handle_wfds); - } - if (xbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - requested |= FD_OOB; - FD_SET ((SOCKET) h, xfds); - FD_SET ((SOCKET) h, &handle_xfds); - } - - WSAEventSelect ((SOCKET) h, hEvent, requested); - nsock++; - } - else - { - handle_array[nhandles++] = h; - - /* Poll now. If we get an event, do not wait below. */ - if (wait_timeout != 0 - && win32_poll_handle (h, i, &rbits, &wbits, &xbits)) - wait_timeout = 0; - } - } - - if (wait_timeout == 0 || nsock == 0) - rc = 0; - else - { - /* See if we need to wait in the loop below. If any select is ready, - do MsgWaitForMultipleObjects anyway to dispatch messages, but - no need to call select again. */ - rc = select (0, &handle_rfds, &handle_wfds, &handle_xfds, &tv0); - if (rc == 0) - { - /* Restore the fd_sets for the other select we do below. */ - memcpy (&handle_rfds, rfds, sizeof (fd_set)); - memcpy (&handle_wfds, wfds, sizeof (fd_set)); - memcpy (&handle_xfds, xfds, sizeof (fd_set)); - } - else - wait_timeout = 0; - } - - for (;;) - { - ret = MsgWaitForMultipleObjects (nhandles, handle_array, FALSE, - wait_timeout, QS_ALLINPUT); - - if (ret == WAIT_OBJECT_0 + nhandles) - { - /* new input of some other kind */ - BOOL bRet; - while ((bRet = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) != 0) - { - TranslateMessage (&msg); - DispatchMessage (&msg); - } - } - else - break; - } - - /* If we haven't done it yet, check the status of the sockets. */ - if (rc == 0 && nsock > 0) - rc = select (0, &handle_rfds, &handle_wfds, &handle_xfds, &tv0); - - /* Now fill in the results. */ - FD_ZERO (rfds); - FD_ZERO (wfds); - FD_ZERO (xfds); - - /* Place a sentinel at the end of the array. */ - handle_array[nhandles] = NULL; - nhandles = 1; - for (i = 0; i < nfds; i++) - { - if ((anyfds_in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) == 0) - continue; - - h = (HANDLE) _get_osfhandle (i); - if (h != handle_array[nhandles]) - { - /* Perform handle->descriptor mapping. Don't update rc, as these - results are counted in the return value of Winsock's select. */ - WSAEventSelect ((SOCKET) h, NULL, 0); - if (FD_ISSET (h, &handle_rfds)) - FD_SET (i, rfds); - if (FD_ISSET (h, &handle_wfds)) - FD_SET (i, wfds); - if (FD_ISSET (h, &handle_xfds)) - FD_SET (i, xfds); - } - else - { - /* Not a socket. */ - nhandles++; - win32_poll_handle (h, i, &rbits, &wbits, &xbits); - if (rbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - rc++; - FD_SET (i, rfds); - } - if (wbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - rc++; - FD_SET (i, wfds); - } - if (xbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) - { - rc++; - FD_SET (i, xfds); - } - } - } - - return rc; -} - -#else /* ! Native Win32. */ - -#include - -#undef select - -int -rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *xfds, - struct timeval *timeout) -{ - /* Interix 3.5 has a bug: it does not support nfds == 0. */ - if (nfds == 0) - { - nfds = 1; - rfds = NULL; - wfds = NULL; - xfds = NULL; - } - return select (nfds, rfds, wfds, xfds, timeout); -} - -#endif diff -Nru gnutls26-2.8.6/gl/send.c gnutls26-2.4.1/gl/send.c --- gnutls26-2.8.6/gl/send.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/send.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -/* send.c --- wrappers for Windows send function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef send - -int -rpl_send (int fd, const void *buf, int len, int flags) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = send (sock, buf, len, flags); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/setsockopt.c gnutls26-2.4.1/gl/setsockopt.c --- gnutls26-2.8.6/gl/setsockopt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/setsockopt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -/* setsockopt.c --- wrappers for Windows setsockopt function - - Copyright (C) 2008-2009 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get struct timeval. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef setsockopt - -int -rpl_setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen) -{ - int r; - SOCKET sock = FD_TO_SOCKET (fd); - - if (level == SOL_SOCKET && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) - { - const struct timeval *tv = optval; - int milliseconds = tv->tv_sec * 1000 + tv->tv_usec / 1000; - r = setsockopt (sock, level, optname, &milliseconds, sizeof (int)); - } - else - { - r = setsockopt (sock, level, optname, optval, optlen); - } - - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/shutdown.c gnutls26-2.4.1/gl/shutdown.c --- gnutls26-2.8.6/gl/shutdown.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/shutdown.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -/* shutdown.c --- wrappers for Windows shutdown function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -#undef shutdown - -int -rpl_shutdown (int fd, int how) -{ - SOCKET sock = FD_TO_SOCKET (fd); - int r = shutdown (sock, how); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/size_max.h gnutls26-2.4.1/gl/size_max.h --- gnutls26-2.8.6/gl/size_max.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/size_max.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* size_max.h -- declare SIZE_MAX through system headers - Copyright (C) 2005-2006 Free Software Foundation, Inc. - Written by Simon Josefsson. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef GNULIB_SIZE_MAX_H -#define GNULIB_SIZE_MAX_H - -/* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */ -# include -/* Get SIZE_MAX declaration on systems like glibc 2. */ -# if HAVE_STDINT_H -# include -# endif -/* On systems where these include files don't define it, SIZE_MAX is defined - in config.h. */ - -#endif /* GNULIB_SIZE_MAX_H */ diff -Nru gnutls26-2.8.6/gl/snprintf.c gnutls26-2.4.1/gl/snprintf.c --- gnutls26-2.8.6/gl/snprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/snprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. - Written by Simon Josefsson and Paul Eggert. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#include -#include -#include -#include -#include - -#include "vasnprintf.h" - -/* Print formatted output to string STR. Similar to sprintf, but - additional length SIZE limit how much is written into STR. Returns - string length of formatted string (which may be larger than SIZE). - STR may be NULL, in which case nothing will be written. On error, - return a negative value. */ -int -snprintf (char *str, size_t size, const char *format, ...) -{ - char *output; - size_t len; - size_t lenbuf = size; - va_list args; - - va_start (args, format); - output = vasnprintf (str, &lenbuf, format, args); - len = lenbuf; - va_end (args); - - if (!output) - return -1; - - if (output != str) - { - if (size) - { - size_t pruned_len = (len < size ? len : size - 1); - memcpy (str, output, pruned_len); - str[pruned_len] = '\0'; - } - - free (output); - } - - if (INT_MAX < len) - { - errno = EOVERFLOW; - return -1; - } - - return len; -} diff -Nru gnutls26-2.8.6/gl/socket.c gnutls26-2.4.1/gl/socket.c --- gnutls26-2.8.6/gl/socket.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/socket.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -/* socket.c --- wrappers for Windows socket function - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -int -rpl_socket (int domain, int type, int protocol) -{ - /* We have to use WSASocket() to create non-overlapped IO sockets. - Overlapped IO sockets cannot be used with read/write. */ - SOCKET fh = WSASocket (domain, type, protocol, NULL, 0, 0); - - if (fh == INVALID_SOCKET) - { - set_winsock_errno (); - return -1; - } - else - return SOCKET_TO_FD (fh); -} diff -Nru gnutls26-2.8.6/gl/sockets.c gnutls26-2.4.1/gl/sockets.c --- gnutls26-2.8.6/gl/sockets.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sockets.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -/* sockets.c --- wrappers for Windows socket functions - - Copyright (C) 2008-2009 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 3 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, see . */ - -/* Written by Simon Josefsson */ - -#include - -/* Specification. */ -#include "sockets.h" - -#if WINDOWS_SOCKETS - -/* This includes winsock2.h on MinGW. */ -#include - -#include "close-hook.h" - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -static int -close_fd_maybe_socket (int fd, const struct close_hook *remaining_list) -{ - SOCKET sock; - WSANETWORKEVENTS ev; - - /* Test whether fd refers to a socket. */ - sock = FD_TO_SOCKET (fd); - ev.lNetworkEvents = 0xDEADBEEF; - WSAEnumNetworkEvents (sock, NULL, &ev); - if (ev.lNetworkEvents != 0xDEADBEEF) - { - /* fd refers to a socket. */ - /* FIXME: other applications, like squid, use an undocumented - _free_osfhnd free function. But this is not enough: The 'osfile' - flags for fd also needs to be cleared, but it is hard to access it. - Instead, here we just close twice the file descriptor. */ - if (closesocket (sock)) - { - set_winsock_errno (); - return -1; - } - else - { - /* This call frees the file descriptor and does a - CloseHandle ((HANDLE) _get_osfhandle (fd)), which fails. */ - _close (fd); - return 0; - } - } - else - /* Some other type of file descriptor. */ - return execute_close_hooks (fd, remaining_list); -} - -static struct close_hook close_sockets_hook; - -#endif - -int -gl_sockets_startup (int version) -{ -#if WINDOWS_SOCKETS - WSADATA data; - int err; - - err = WSAStartup (version, &data); - if (err != 0) - return 1; - - if (data.wVersion < version) - return 2; - - register_close_hook (close_fd_maybe_socket, &close_sockets_hook); -#endif - - return 0; -} - -int -gl_sockets_cleanup (void) -{ -#if WINDOWS_SOCKETS - int err; - - unregister_close_hook (&close_sockets_hook); - - err = WSACleanup (); - if (err != 0) - return 1; -#endif - - return 0; -} diff -Nru gnutls26-2.8.6/gl/sockets.h gnutls26-2.4.1/gl/sockets.h --- gnutls26-2.8.6/gl/sockets.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sockets.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* sockets.h - wrappers for Windows socket functions - - Copyright (C) 2008, 2009 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 3 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, see . */ - -/* Written by Simon Josefsson */ - -#ifndef SOCKETS_H -# define SOCKETS_H 1 - -#define SOCKETS_1_0 0x100 /* don't use - does not work on Windows XP */ -#define SOCKETS_1_1 0x101 -#define SOCKETS_2_0 0x200 /* don't use - does not work on Windows XP */ -#define SOCKETS_2_1 0x201 -#define SOCKETS_2_2 0x202 - -int gl_sockets_startup (int version); -int gl_sockets_cleanup (void); - -/* This function is useful it you create a socket using gnulib's - Winsock wrappers but needs to pass on the socket handle to some - other library that only accepts sockets. */ -#if WINDOWS_SOCKETS - -#include - -static inline SOCKET -gl_fd_to_handle (int fd) -{ - return _get_osfhandle (fd); -} - -#else - -#define gl_fd_to_handle(x) (x) - -#endif /* WINDOWS_SOCKETS */ - -#endif /* SOCKETS_H */ diff -Nru gnutls26-2.8.6/gl/stdarg.in.h gnutls26-2.4.1/gl/stdarg.in.h --- gnutls26-2.8.6/gl/stdarg.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdarg.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -17,10 +17,6 @@ #ifndef _GL_STDARG_H -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDARG_H@ diff -Nru gnutls26-2.8.6/gl/stdbool.in.h gnutls26-2.4.1/gl/stdbool.in.h --- gnutls26-2.8.6/gl/stdbool.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdbool.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,119 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) == 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be used. - - - You cannot assume that _Bool is a typedef; it might be a macro. - - - Bit-fields of type 'bool' are not supported. Portable code - should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - - - In C99, casts and automatic conversions to '_Bool' or 'bool' are - performed in such a way that every nonzero value gets converted - to 'true', and zero gets converted to 'false'. This doesn't work - with this substitute. With this substitute, only the values 0 and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the same - definitions below, but temporarily we have to #undef them. */ -#if defined __BEOS__ && !defined __HAIKU__ -# include /* defines bool but not _Bool */ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) - /* A compiler known to have 'bool'. */ - /* If the compiler already has both 'bool' and '_Bool', we can assume they - are the same types. */ -# if !@HAVE__BOOL@ -typedef bool _Bool; -# endif -#else -# if !defined __GNUC__ - /* If @HAVE__BOOL@: - Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when - the built-in _Bool type is used. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - Similar bugs are likely with other compilers as well; this file - wouldn't be used if was working. - So we override the _Bool type. - If !@HAVE__BOOL@: - Need to define _Bool ourselves. As 'signed char' or as an enum type? - Use of a typedef, with SunPRO C, leads to a stupid - "warning: _Bool is a keyword in ISO C99". - Use of an enum type, with IRIX cc, leads to a stupid - "warning(1185): enumerated type mixed with another type". - Even the existence of an enum type, without a typedef, - "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. - The only benefit of the enum, debuggability, is not important - with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else - /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ -typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; -# endif -# endif -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _GL_STDBOOL_H */ diff -Nru gnutls26-2.8.6/gl/stdint.in.h gnutls26-2.4.1/gl/stdint.in.h --- gnutls26-2.8.6/gl/stdint.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdint.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,567 +0,0 @@ -/* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc. - Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. - This file is part of gnulib. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* - * ISO C 99 for platforms that lack it. - * - */ - -#ifndef _GL_STDINT_H - -/* When including a system file that in turn includes , - use the system , not our substitute. This avoids - problems with (for example) VMS, whose includes - . */ -#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H - -/* Get those types that are already defined in other system include - files, so that we can "#define int8_t signed char" below without - worrying about a later system include file containing a "typedef - signed char int8_t;" that will get messed up by our macro. Our - macros should all be consistent with the system versions, except - for the "fast" types and macros, which we recommend against using - in public interfaces due to compiler differences. */ - -#if @HAVE_STDINT_H@ -# if defined __sgi && ! defined __c99 - /* Bypass IRIX's if in C89 mode, since it merely annoys users - with "This header file is to be used only for c99 mode compilations" - diagnostics. */ -# define __STDINT_H__ -# endif - /* Other systems may have an incomplete or buggy . - Include it before , since any "#include " - in would reinclude us, skipping our contents because - _GL_STDINT_H is defined. - The include_next requires a split double-inclusion guard. */ -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif -# @INCLUDE_NEXT@ @NEXT_STDINT_H@ -#endif - -#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H -#define _GL_STDINT_H - -/* defines some of the stdint.h types as well, on glibc, - IRIX 6.5, and OpenBSD 3.8 (via ). - AIX 5.2 isn't needed and causes troubles. - MacOS X 10.4.6 includes (which is us), but - relies on the system definitions, so include - after @NEXT_STDINT_H@. */ -#if @HAVE_SYS_TYPES_H@ && ! defined _AIX -# include -#endif - -/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ -#include - -#if @HAVE_INTTYPES_H@ - /* In OpenBSD 3.8, includes , which defines - int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. - also defines intptr_t and uintptr_t. */ -# include -#elif @HAVE_SYS_INTTYPES_H@ - /* Solaris 7 has the types except the *_fast*_t types, and - the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ -# include -#endif - -#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ - /* Linux libc4 >= 4.6.7 and libc5 have a that defines - int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is - included by . */ -# include -#endif - -#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H - -/* Minimum and maximum values for a integer type under the usual assumption. - Return an unspecified value if BITS == 0, adding a check to pacify - picky compilers. */ - -#define _STDINT_MIN(signed, bits, zero) \ - ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) - -#define _STDINT_MAX(signed, bits, zero) \ - ((signed) \ - ? ~ _STDINT_MIN (signed, bits, zero) \ - : /* The expression for the unsigned case. The subtraction of (signed) \ - is a nop in the unsigned case and avoids "signed integer overflow" \ - warnings in the signed case. */ \ - ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) - -/* 7.18.1.1. Exact-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. */ - -#undef int8_t -#undef uint8_t -typedef signed char gl_int8_t; -typedef unsigned char gl_uint8_t; -#define int8_t gl_int8_t -#define uint8_t gl_uint8_t - -#undef int16_t -#undef uint16_t -typedef short int gl_int16_t; -typedef unsigned short int gl_uint16_t; -#define int16_t gl_int16_t -#define uint16_t gl_uint16_t - -#undef int32_t -#undef uint32_t -typedef int gl_int32_t; -typedef unsigned int gl_uint32_t; -#define int32_t gl_int32_t -#define uint32_t gl_uint32_t - -/* Do not undefine int64_t if gnulib is not being used with 64-bit - types, since otherwise it breaks platforms like Tandem/NSK. */ -#if LONG_MAX >> 31 >> 31 == 1 -# undef int64_t -typedef long int gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#elif defined _MSC_VER -# undef int64_t -typedef __int64 gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#elif @HAVE_LONG_LONG_INT@ -# undef int64_t -typedef long long int gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#endif - -#if ULONG_MAX >> 31 >> 31 >> 1 == 1 -# undef uint64_t -typedef unsigned long int gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#elif defined _MSC_VER -# undef uint64_t -typedef unsigned __int64 gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#elif @HAVE_UNSIGNED_LONG_LONG_INT@ -# undef uint64_t -typedef unsigned long long int gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#endif - -/* Avoid collision with Solaris 2.5.1 etc. */ -#define _UINT8_T -#define _UINT32_T -#define _UINT64_T - - -/* 7.18.1.2. Minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types - are the same as the corresponding N_t types. */ - -#undef int_least8_t -#undef uint_least8_t -#undef int_least16_t -#undef uint_least16_t -#undef int_least32_t -#undef uint_least32_t -#undef int_least64_t -#undef uint_least64_t -#define int_least8_t int8_t -#define uint_least8_t uint8_t -#define int_least16_t int16_t -#define uint_least16_t uint16_t -#define int_least32_t int32_t -#define uint_least32_t uint32_t -#ifdef GL_INT64_T -# define int_least64_t int64_t -#endif -#ifdef GL_UINT64_T -# define uint_least64_t uint64_t -#endif - -/* 7.18.1.3. Fastest minimum-width integer types */ - -/* Note: Other substitutes may define these types differently. - It is not recommended to use these types in public header files. */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types - are taken from the same list of types. Assume that 'long int' - is fast enough for all narrower integers. */ - -#undef int_fast8_t -#undef uint_fast8_t -#undef int_fast16_t -#undef uint_fast16_t -#undef int_fast32_t -#undef uint_fast32_t -#undef int_fast64_t -#undef uint_fast64_t -typedef long int gl_int_fast8_t; -typedef unsigned long int gl_uint_fast8_t; -typedef long int gl_int_fast16_t; -typedef unsigned long int gl_uint_fast16_t; -typedef long int gl_int_fast32_t; -typedef unsigned long int gl_uint_fast32_t; -#define int_fast8_t gl_int_fast8_t -#define uint_fast8_t gl_uint_fast8_t -#define int_fast16_t gl_int_fast16_t -#define uint_fast16_t gl_uint_fast16_t -#define int_fast32_t gl_int_fast32_t -#define uint_fast32_t gl_uint_fast32_t -#ifdef GL_INT64_T -# define int_fast64_t int64_t -#endif -#ifdef GL_UINT64_T -# define uint_fast64_t uint64_t -#endif - -/* 7.18.1.4. Integer types capable of holding object pointers */ - -#undef intptr_t -#undef uintptr_t -typedef long int gl_intptr_t; -typedef unsigned long int gl_uintptr_t; -#define intptr_t gl_intptr_t -#define uintptr_t gl_uintptr_t - -/* 7.18.1.5. Greatest-width integer types */ - -/* Note: These types are compiler dependent. It may be unwise to use them in - public header files. */ - -#undef intmax_t -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -typedef long long int gl_intmax_t; -# define intmax_t gl_intmax_t -#elif defined GL_INT64_T -# define intmax_t int64_t -#else -typedef long int gl_intmax_t; -# define intmax_t gl_intmax_t -#endif - -#undef uintmax_t -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -typedef unsigned long long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t -#elif defined GL_UINT64_T -# define uintmax_t uint64_t -#else -typedef unsigned long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t -#endif - -/* Verify that intmax_t and uintmax_t have the same size. Too much code - breaks if this is not the case. If this check fails, the reason is likely - to be found in the autoconf macros. */ -typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; - -/* 7.18.2. Limits of specified-width integer types */ - -#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS - -/* 7.18.2.1. Limits of exact-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. */ - -#undef INT8_MIN -#undef INT8_MAX -#undef UINT8_MAX -#define INT8_MIN (~ INT8_MAX) -#define INT8_MAX 127 -#define UINT8_MAX 255 - -#undef INT16_MIN -#undef INT16_MAX -#undef UINT16_MAX -#define INT16_MIN (~ INT16_MAX) -#define INT16_MAX 32767 -#define UINT16_MAX 65535 - -#undef INT32_MIN -#undef INT32_MAX -#undef UINT32_MAX -#define INT32_MIN (~ INT32_MAX) -#define INT32_MAX 2147483647 -#define UINT32_MAX 4294967295U - -#undef INT64_MIN -#undef INT64_MAX -#ifdef GL_INT64_T -/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 - evaluates the latter incorrectly in preprocessor expressions. */ -# define INT64_MIN (- INTMAX_C (1) << 63) -# define INT64_MAX INTMAX_C (9223372036854775807) -#endif - -#undef UINT64_MAX -#ifdef GL_UINT64_T -# define UINT64_MAX UINTMAX_C (18446744073709551615) -#endif - -/* 7.18.2.2. Limits of minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types - are the same as the corresponding N_t types. */ - -#undef INT_LEAST8_MIN -#undef INT_LEAST8_MAX -#undef UINT_LEAST8_MAX -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define UINT_LEAST8_MAX UINT8_MAX - -#undef INT_LEAST16_MIN -#undef INT_LEAST16_MAX -#undef UINT_LEAST16_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define UINT_LEAST16_MAX UINT16_MAX - -#undef INT_LEAST32_MIN -#undef INT_LEAST32_MAX -#undef UINT_LEAST32_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define UINT_LEAST32_MAX UINT32_MAX - -#undef INT_LEAST64_MIN -#undef INT_LEAST64_MAX -#ifdef GL_INT64_T -# define INT_LEAST64_MIN INT64_MIN -# define INT_LEAST64_MAX INT64_MAX -#endif - -#undef UINT_LEAST64_MAX -#ifdef GL_UINT64_T -# define UINT_LEAST64_MAX UINT64_MAX -#endif - -/* 7.18.2.3. Limits of fastest minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types - are taken from the same list of types. */ - -#undef INT_FAST8_MIN -#undef INT_FAST8_MAX -#undef UINT_FAST8_MAX -#define INT_FAST8_MIN LONG_MIN -#define INT_FAST8_MAX LONG_MAX -#define UINT_FAST8_MAX ULONG_MAX - -#undef INT_FAST16_MIN -#undef INT_FAST16_MAX -#undef UINT_FAST16_MAX -#define INT_FAST16_MIN LONG_MIN -#define INT_FAST16_MAX LONG_MAX -#define UINT_FAST16_MAX ULONG_MAX - -#undef INT_FAST32_MIN -#undef INT_FAST32_MAX -#undef UINT_FAST32_MAX -#define INT_FAST32_MIN LONG_MIN -#define INT_FAST32_MAX LONG_MAX -#define UINT_FAST32_MAX ULONG_MAX - -#undef INT_FAST64_MIN -#undef INT_FAST64_MAX -#ifdef GL_INT64_T -# define INT_FAST64_MIN INT64_MIN -# define INT_FAST64_MAX INT64_MAX -#endif - -#undef UINT_FAST64_MAX -#ifdef GL_UINT64_T -# define UINT_FAST64_MAX UINT64_MAX -#endif - -/* 7.18.2.4. Limits of integer types capable of holding object pointers */ - -#undef INTPTR_MIN -#undef INTPTR_MAX -#undef UINTPTR_MAX -#define INTPTR_MIN LONG_MIN -#define INTPTR_MAX LONG_MAX -#define UINTPTR_MAX ULONG_MAX - -/* 7.18.2.5. Limits of greatest-width integer types */ - -#undef INTMAX_MIN -#undef INTMAX_MAX -#ifdef INT64_MAX -# define INTMAX_MIN INT64_MIN -# define INTMAX_MAX INT64_MAX -#else -# define INTMAX_MIN INT32_MIN -# define INTMAX_MAX INT32_MAX -#endif - -#undef UINTMAX_MAX -#ifdef UINT64_MAX -# define UINTMAX_MAX UINT64_MAX -#else -# define UINTMAX_MAX UINT32_MAX -#endif - -/* 7.18.3. Limits of other integer types */ - -/* ptrdiff_t limits */ -#undef PTRDIFF_MIN -#undef PTRDIFF_MAX -#if @APPLE_UNIVERSAL_BUILD@ -# ifdef _LP64 -# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) -# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) -# else -# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) -# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) -# endif -#else -# define PTRDIFF_MIN \ - _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) -# define PTRDIFF_MAX \ - _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) -#endif - -/* sig_atomic_t limits */ -#undef SIG_ATOMIC_MIN -#undef SIG_ATOMIC_MAX -#define SIG_ATOMIC_MIN \ - _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ - 0@SIG_ATOMIC_T_SUFFIX@) -#define SIG_ATOMIC_MAX \ - _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ - 0@SIG_ATOMIC_T_SUFFIX@) - - -/* size_t limit */ -#undef SIZE_MAX -#if @APPLE_UNIVERSAL_BUILD@ -# ifdef _LP64 -# define SIZE_MAX _STDINT_MAX (0, 64, 0ul) -# else -# define SIZE_MAX _STDINT_MAX (0, 32, 0ul) -# endif -#else -# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) -#endif - -/* wchar_t limits */ -/* Get WCHAR_MIN, WCHAR_MAX. - This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested - includes -> -> -> , and the latter includes - and assumes its types are already defined. */ -#if ! (defined WCHAR_MIN && defined WCHAR_MAX) -# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H -# include -# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H -#endif -#undef WCHAR_MIN -#undef WCHAR_MAX -#define WCHAR_MIN \ - _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) -#define WCHAR_MAX \ - _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) - -/* wint_t limits */ -#undef WINT_MIN -#undef WINT_MAX -#define WINT_MIN \ - _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) -#define WINT_MAX \ - _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) - -#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ - -/* 7.18.4. Macros for integer constants */ - -#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS - -/* 7.18.4.1. Macros for minimum-width integer constants */ -/* According to ISO C 99 Technical Corrigendum 1 */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ - -#undef INT8_C -#undef UINT8_C -#define INT8_C(x) x -#define UINT8_C(x) x - -#undef INT16_C -#undef UINT16_C -#define INT16_C(x) x -#define UINT16_C(x) x - -#undef INT32_C -#undef UINT32_C -#define INT32_C(x) x -#define UINT32_C(x) x ## U - -#undef INT64_C -#undef UINT64_C -#if LONG_MAX >> 31 >> 31 == 1 -# define INT64_C(x) x##L -#elif defined _MSC_VER -# define INT64_C(x) x##i64 -#elif @HAVE_LONG_LONG_INT@ -# define INT64_C(x) x##LL -#endif -#if ULONG_MAX >> 31 >> 31 >> 1 == 1 -# define UINT64_C(x) x##UL -#elif defined _MSC_VER -# define UINT64_C(x) x##ui64 -#elif @HAVE_UNSIGNED_LONG_LONG_INT@ -# define UINT64_C(x) x##ULL -#endif - -/* 7.18.4.2. Macros for greatest-width integer constants */ - -#undef INTMAX_C -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -# define INTMAX_C(x) x##LL -#elif defined GL_INT64_T -# define INTMAX_C(x) INT64_C(x) -#else -# define INTMAX_C(x) x##L -#endif - -#undef UINTMAX_C -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -# define UINTMAX_C(x) x##ULL -#elif defined GL_UINT64_T -# define UINTMAX_C(x) UINT64_C(x) -#else -# define UINTMAX_C(x) x##UL -#endif - -#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ - -#endif /* _GL_STDINT_H */ -#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ diff -Nru gnutls26-2.8.6/gl/stdio-impl.h gnutls26-2.4.1/gl/stdio-impl.h --- gnutls26-2.8.6/gl/stdio-impl.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdio-impl.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,94 +0,0 @@ -/* Implementation details of FILE streams. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Many stdio implementations have the same logic and therefore can share - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - - -/* BSD stdio derived implementations. */ - -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - -# if defined __DragonFly__ /* DragonFly */ - /* See . */ -# define fp_ ((struct { struct __FILE_public pub; \ - struct { unsigned char *_base; int _size; } _bf; \ - void *cookie; \ - void *_close; \ - void *_read; \ - void *_seek; \ - void *_write; \ - struct { unsigned char *_base; int _size; } _ub; \ - int _ur; \ - unsigned char _ubuf[3]; \ - unsigned char _nbuf[1]; \ - struct { unsigned char *_base; int _size; } _lb; \ - int _blksize; \ - fpos_t _offset; \ - /* More fields, not relevant here. */ \ - } *) fp) - /* See . */ -# define _p pub._p -# define _flags pub._flags -# define _r pub._r -# define _w pub._w -# else -# define fp_ fp -# endif - -# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */ - /* See - and */ - struct __sfileext - { - struct __sbuf _ub; /* ungetc buffer */ - /* More fields, not relevant here. */ - }; -# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub -# else /* FreeBSD, DragonFly, MacOS X, Cygwin */ -# define fp_ub fp_->_ub -# endif - -# define HASUB(fp) (fp_ub._base != NULL) - -#endif - - -/* SystemV derived implementations. */ - -#if defined _IOERR - -# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ -# define fp_ ((struct { unsigned char *_ptr; \ - unsigned char *_base; \ - unsigned char *_end; \ - long _cnt; \ - int _file; \ - unsigned int _flag; \ - } *) fp) -# else -# define fp_ fp -# endif - -# if defined _SCO_DS /* OpenServer */ -# define _cnt __cnt -# define _ptr __ptr -# define _base __base -# define _flag __flag -# endif - -#endif diff -Nru gnutls26-2.8.6/gl/stdio.in.h gnutls26-2.4.1/gl/stdio.in.h --- gnutls26-2.8.6/gl/stdio.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdio.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,524 +0,0 @@ -/* A GNU-like . - - Copyright (C) 2004, 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_FILE || defined __need___FILE -/* Special invocation convention inside glibc header files. */ - -#@INCLUDE_NEXT@ @NEXT_STDIO_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_STDIO_H - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STDIO_H@ - -#ifndef _GL_STDIO_H -#define _GL_STDIO_H - -#include -#include - -#if (@GNULIB_FSEEKO@ && @REPLACE_FSEEKO@) \ - || (@GNULIB_FTELLO@ && @REPLACE_FTELLO@) \ - || (@GNULIB_GETDELIM@ && !@HAVE_DECL_GETDELIM@) \ - || (@GNULIB_GETLINE@ && (!@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@)) -/* Get off_t and ssize_t. */ -# include -#endif - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_FPRINTF_POSIX@ -# if @REPLACE_FPRINTF@ -# define fprintf rpl_fprintf -extern int fprintf (FILE *fp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif @GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define fprintf rpl_fprintf -extern int fprintf (FILE *fp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -#elif defined GNULIB_POSIXCHECK -# undef fprintf -# define fprintf \ - (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \ - "use gnulib module fprintf-posix for portable " \ - "POSIX compliance"), \ - fprintf) -#endif - -#if @GNULIB_VFPRINTF_POSIX@ -# if @REPLACE_VFPRINTF@ -# define vfprintf rpl_vfprintf -extern int vfprintf (FILE *fp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif @GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define vfprintf rpl_vfprintf -extern int vfprintf (FILE *fp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -#elif defined GNULIB_POSIXCHECK -# undef vfprintf -# define vfprintf(s,f,a) \ - (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \ - "use gnulib module vfprintf-posix for portable " \ - "POSIX compliance"), \ - vfprintf (s, f, a)) -#endif - -#if @GNULIB_PRINTF_POSIX@ -# if @REPLACE_PRINTF@ -/* Don't break __attribute__((format(printf,M,N))). */ -# define printf __printf__ -extern int printf (const char *format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -# endif -#elif @GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -/* Don't break __attribute__((format(printf,M,N))). */ -# define printf __printf__ -extern int printf (const char *format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -#elif defined GNULIB_POSIXCHECK -# undef printf -# define printf \ - (GL_LINK_WARNING ("printf is not always POSIX compliant - " \ - "use gnulib module printf-posix for portable " \ - "POSIX compliance"), \ - printf) -/* Don't break __attribute__((format(printf,M,N))). */ -# define format(kind,m,n) format (__##kind##__, m, n) -# define __format__(kind,m,n) __format__ (__##kind##__, m, n) -# define ____printf____ __printf__ -# define ____scanf____ __scanf__ -# define ____strftime____ __strftime__ -# define ____strfmon____ __strfmon__ -#endif - -#if @GNULIB_VPRINTF_POSIX@ -# if @REPLACE_VPRINTF@ -# define vprintf rpl_vprintf -extern int vprintf (const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 1, 0))); -# endif -#elif @GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define vprintf rpl_vprintf -extern int vprintf (const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 1, 0))); -#elif defined GNULIB_POSIXCHECK -# undef vprintf -# define vprintf(f,a) \ - (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \ - "use gnulib module vprintf-posix for portable " \ - "POSIX compliance"), \ - vprintf (f, a)) -#endif - -#if @GNULIB_SNPRINTF@ -# if @REPLACE_SNPRINTF@ -# define snprintf rpl_snprintf -# endif -# if @REPLACE_SNPRINTF@ || !@HAVE_DECL_SNPRINTF@ -extern int snprintf (char *str, size_t size, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef snprintf -# define snprintf \ - (GL_LINK_WARNING ("snprintf is unportable - " \ - "use gnulib module snprintf for portability"), \ - snprintf) -#endif - -#if @GNULIB_VSNPRINTF@ -# if @REPLACE_VSNPRINTF@ -# define vsnprintf rpl_vsnprintf -# endif -# if @REPLACE_VSNPRINTF@ || !@HAVE_DECL_VSNPRINTF@ -extern int vsnprintf (char *str, size_t size, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 3, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vsnprintf -# define vsnprintf(b,s,f,a) \ - (GL_LINK_WARNING ("vsnprintf is unportable - " \ - "use gnulib module vsnprintf for portability"), \ - vsnprintf (b, s, f, a)) -#endif - -#if @GNULIB_SPRINTF_POSIX@ -# if @REPLACE_SPRINTF@ -# define sprintf rpl_sprintf -extern int sprintf (char *str, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef sprintf -# define sprintf \ - (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \ - "use gnulib module sprintf-posix for portable " \ - "POSIX compliance"), \ - sprintf) -#endif - -#if @GNULIB_VSPRINTF_POSIX@ -# if @REPLACE_VSPRINTF@ -# define vsprintf rpl_vsprintf -extern int vsprintf (char *str, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vsprintf -# define vsprintf(b,f,a) \ - (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \ - "use gnulib module vsprintf-posix for portable " \ - "POSIX compliance"), \ - vsprintf (b, f, a)) -#endif - -#if @GNULIB_DPRINTF@ -# if @REPLACE_DPRINTF@ -# define dprintf rpl_dprintf -# endif -# if @REPLACE_DPRINTF@ || !@HAVE_DPRINTF@ -extern int dprintf (int fd, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef dprintf -# define dprintf(d,f,a) \ - (GL_LINK_WARNING ("dprintf is unportable - " \ - "use gnulib module dprintf for portability"), \ - dprintf (d, f, a)) -#endif - -#if @GNULIB_VDPRINTF@ -# if @REPLACE_VDPRINTF@ -# define vdprintf rpl_vdprintf -# endif -# if @REPLACE_VDPRINTF@ || !@HAVE_VDPRINTF@ -extern int vdprintf (int fd, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vdprintf -# define vdprintf(d,f,a) \ - (GL_LINK_WARNING ("vdprintf is unportable - " \ - "use gnulib module vdprintf for portability"), \ - vdprintf (d, f, a)) -#endif - -#if @GNULIB_VASPRINTF@ -# if @REPLACE_VASPRINTF@ -# define asprintf rpl_asprintf -# define vasprintf rpl_vasprintf -# endif -# if @REPLACE_VASPRINTF@ || !@HAVE_VASPRINTF@ - /* Write formatted output to a string dynamically allocated with malloc(). - If the memory allocation succeeds, store the address of the string in - *RESULT and return the number of resulting bytes, excluding the trailing - NUL. Upon memory allocation error, or some other error, return -1. */ - extern int asprintf (char **result, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - extern int vasprintf (char **result, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#endif - -#if @GNULIB_OBSTACK_PRINTF@ -# if @REPLACE_OBSTACK_PRINTF@ -# define obstack_printf rpl_osbtack_printf -# define obstack_vprintf rpl_obstack_vprintf -# endif -# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@ - struct obstack; - /* Grow an obstack with formatted output. Return the number of - bytes added to OBS. No trailing nul byte is added, and the - object should be closed with obstack_finish before use. Upon - memory allocation error, call obstack_alloc_failed_handler. Upon - other error, return -1. */ - extern int obstack_printf (struct obstack *obs, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - extern int obstack_vprintf (struct obstack *obs, const char *format, - va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#endif - -#if @GNULIB_FOPEN@ -# if @REPLACE_FOPEN@ -# undef fopen -# define fopen rpl_fopen -extern FILE * fopen (const char *filename, const char *mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fopen -# define fopen(f,m) \ - (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \ - "use gnulib module fopen for portability"), \ - fopen (f, m)) -#endif - -#if @GNULIB_FREOPEN@ -# if @REPLACE_FREOPEN@ -# undef freopen -# define freopen rpl_freopen -extern FILE * freopen (const char *filename, const char *mode, FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef freopen -# define freopen(f,m,s) \ - (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \ - "use gnulib module freopen for portability"), \ - freopen (f, m, s)) -#endif - -#if @GNULIB_FSEEKO@ -# if @REPLACE_FSEEKO@ -/* Provide fseek, fseeko functions that are aware of a preceding - fflush(), and which detect pipes. */ -# define fseeko rpl_fseeko -extern int fseeko (FILE *fp, off_t offset, int whence); -# define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence) -# endif -#elif defined GNULIB_POSIXCHECK -# undef fseeko -# define fseeko(f,o,w) \ - (GL_LINK_WARNING ("fseeko is unportable - " \ - "use gnulib module fseeko for portability"), \ - fseeko (f, o, w)) -#endif - -#if @GNULIB_FSEEK@ && @REPLACE_FSEEK@ -extern int rpl_fseek (FILE *fp, long offset, int whence); -# undef fseek -# if defined GNULIB_POSIXCHECK -# define fseek(f,o,w) \ - (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use fseeko function for handling of large files"), \ - rpl_fseek (f, o, w)) -# else -# define fseek rpl_fseek -# endif -#elif defined GNULIB_POSIXCHECK -# ifndef fseek -# define fseek(f,o,w) \ - (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use fseeko function for handling of large files"), \ - fseek (f, o, w)) -# endif -#endif - -#if @GNULIB_FTELLO@ -# if @REPLACE_FTELLO@ -# define ftello rpl_ftello -extern off_t ftello (FILE *fp); -# define ftell(fp) ftello (fp) -# endif -#elif defined GNULIB_POSIXCHECK -# undef ftello -# define ftello(f) \ - (GL_LINK_WARNING ("ftello is unportable - " \ - "use gnulib module ftello for portability"), \ - ftello (f)) -#endif - -#if @GNULIB_FTELL@ && @REPLACE_FTELL@ -extern long rpl_ftell (FILE *fp); -# undef ftell -# if GNULIB_POSIXCHECK -# define ftell(f) \ - (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use ftello function for handling of large files"), \ - rpl_ftell (f)) -# else -# define ftell rpl_ftell -# endif -#elif defined GNULIB_POSIXCHECK -# ifndef ftell -# define ftell(f) \ - (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use ftello function for handling of large files"), \ - ftell (f)) -# endif -#endif - -#if @GNULIB_FFLUSH@ -# if @REPLACE_FFLUSH@ -# define fflush rpl_fflush - /* Flush all pending data on STREAM according to POSIX rules. Both - output and seekable input streams are supported. - Note! LOSS OF DATA can occur if fflush is applied on an input stream - that is _not_seekable_ or on an update stream that is _not_seekable_ - and in which the most recent operation was input. Seekability can - be tested with lseek(fileno(fp),0,SEEK_CUR). */ - extern int fflush (FILE *gl_stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fflush -# define fflush(f) \ - (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \ - "use gnulib module fflush for portable " \ - "POSIX compliance"), \ - fflush (f)) -#endif - -#if @GNULIB_FCLOSE@ -# if @REPLACE_FCLOSE@ -# define fclose rpl_fclose - /* Close STREAM and its underlying file descriptor. */ -extern int fclose (FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fclose -# define fclose(f) \ - (GL_LINK_WARNING ("fclose is not always POSIX compliant - " \ - "use gnulib module fclose for portable " \ - "POSIX compliance"), \ - fclose (f)) -#endif - -#if @GNULIB_FPUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fputc -# define fputc rpl_fputc -extern int fputc (int c, FILE *stream); -#endif - -#if @GNULIB_PUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef putc -# define putc rpl_fputc -extern int putc (int c, FILE *stream); -#endif - -#if @GNULIB_PUTCHAR@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef putchar -# define putchar rpl_putchar -extern int putchar (int c); -#endif - -#if @GNULIB_FPUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fputs -# define fputs rpl_fputs -extern int fputs (const char *string, FILE *stream); -#endif - -#if @GNULIB_PUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef puts -# define puts rpl_puts -extern int puts (const char *string); -#endif - -#if @GNULIB_FWRITE@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fwrite -# define fwrite rpl_fwrite -extern size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream); -#endif - -#if @GNULIB_GETDELIM@ -# if !@HAVE_DECL_GETDELIM@ -/* Read input, up to (and including) the next occurrence of DELIMITER, from - STREAM, store it in *LINEPTR (and NUL-terminate it). - *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE - bytes of space. It is realloc'd as necessary. - Return the number of bytes read and stored at *LINEPTR (not including the - NUL terminator), or -1 on error or EOF. */ -extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter, - FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdelim -# define getdelim(l, s, d, f) \ - (GL_LINK_WARNING ("getdelim is unportable - " \ - "use gnulib module getdelim for portability"), \ - getdelim (l, s, d, f)) -#endif - -#if @GNULIB_GETLINE@ -# if @REPLACE_GETLINE@ -# undef getline -# define getline rpl_getline -# endif -# if !@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@ -/* Read a line, up to (and including) the next newline, from STREAM, store it - in *LINEPTR (and NUL-terminate it). - *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE - bytes of space. It is realloc'd as necessary. - Return the number of bytes read and stored at *LINEPTR (not including the - NUL terminator), or -1 on error or EOF. */ -extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getline -# define getline(l, s, f) \ - (GL_LINK_WARNING ("getline is unportable - " \ - "use gnulib module getline for portability"), \ - getline (l, s, f)) -#endif - -#if @GNULIB_PERROR@ -# if @REPLACE_PERROR@ -# define perror rpl_perror -/* Print a message to standard error, describing the value of ERRNO, - (if STRING is not NULL and not empty) prefixed with STRING and ": ", - and terminated with a newline. */ -extern void perror (const char *string); -# endif -#elif defined GNULIB_POSIXCHECK -# undef perror -# define perror(s) \ - (GL_LINK_WARNING ("perror is not always POSIX compliant - " \ - "use gnulib module perror for portability"), \ - perror (s)) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STDIO_H */ -#endif /* _GL_STDIO_H */ -#endif diff -Nru gnutls26-2.8.6/gl/stdio-write.c gnutls26-2.4.1/gl/stdio-write.c --- gnutls26-2.8.6/gl/stdio-write.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdio-write.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,148 +0,0 @@ -/* POSIX compatible FILE stream write function. - Copyright (C) 2008 Free Software Foundation, Inc. - Written by Bruno Haible , 2008. - - 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 3 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, see . */ - -#include - -/* Specification. */ -#include - -/* Replace these functions only if module 'sigpipe' is requested. */ -#if GNULIB_SIGPIPE - -/* On native Windows platforms, SIGPIPE does not exist. When write() is - called on a pipe with no readers, WriteFile() fails with error - GetLastError() = ERROR_NO_DATA, and write() in consequence fails with - error EINVAL. This write() function is at the basis of the function - which flushes the buffer of a FILE stream. */ - -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -# include -# include -# include - -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include - -# define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \ - if (ferror (stream)) \ - return (EXPRESSION); \ - else \ - { \ - RETTYPE ret; \ - SetLastError (0); \ - ret = (EXPRESSION); \ - if (FAILED && GetLastError () == ERROR_NO_DATA && ferror (stream)) \ - { \ - int fd = fileno (stream); \ - if (fd >= 0 \ - && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE)\ - { \ - /* Try to raise signal SIGPIPE. */ \ - raise (SIGPIPE); \ - /* If it is currently blocked or ignored, change errno from \ - EINVAL to EPIPE. */ \ - errno = EPIPE; \ - } \ - } \ - return ret; \ - } - -# if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ -int -printf (const char *format, ...) -{ - int retval; - va_list args; - - va_start (args, format); - retval = vfprintf (stdout, format, args); - va_end (args); - - return retval; -} -# endif - -# if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ -int -fprintf (FILE *stream, const char *format, ...) -{ - int retval; - va_list args; - - va_start (args, format); - retval = vfprintf (stream, format, args); - va_end (args); - - return retval; -} -# endif - -# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vprintf.c */ -int -vprintf (const char *format, va_list args) -{ - return vfprintf (stdout, format, args); -} -# endif - -# if !REPLACE_VPRINTF_POSIX /* avoid collision with vfprintf.c */ -int -vfprintf (FILE *stream, const char *format, va_list args) -#undef vfprintf -{ - CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF) -} -# endif - -int -putchar (int c) -{ - return fputc (c, stdout); -} - -int -fputc (int c, FILE *stream) -#undef fputc -{ - CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF) -} - -int -fputs (const char *string, FILE *stream) -#undef fputs -{ - CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF) -} - -int -puts (const char *string) -#undef puts -{ - FILE *stream = stdout; - CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF) -} - -size_t -fwrite (const void *ptr, size_t s, size_t n, FILE *stream) -#undef fwrite -{ - CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n) -} - -# endif -#endif diff -Nru gnutls26-2.8.6/gl/stdlib.in.h gnutls26-2.4.1/gl/stdlib.in.h --- gnutls26-2.8.6/gl/stdlib.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/stdlib.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,383 +0,0 @@ -/* A GNU-like . - - Copyright (C) 1995, 2001-2004, 2006-2009 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 3 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, see . */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_malloc_and_calloc -/* Special invocation convention inside glibc header files. */ - -#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_STDLIB_H - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ - -#ifndef _GL_STDLIB_H -#define _GL_STDLIB_H - - -/* Solaris declares getloadavg() in . */ -#if @GNULIB_GETLOADAVG@ && @HAVE_SYS_LOADAVG_H@ -# include -#endif - -/* OSF/1 5.1 declares 'struct random_data' in , which is included - from if _REENTRANT is defined. Include it always. */ -#if @HAVE_RANDOM_H@ -# include -#endif - -#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@ -# include -#endif - -#if !@HAVE_STRUCT_RANDOM_DATA@ -struct random_data -{ - int32_t *fptr; /* Front pointer. */ - int32_t *rptr; /* Rear pointer. */ - int32_t *state; /* Array of state values. */ - int rand_type; /* Type of random number generator. */ - int rand_deg; /* Degree of random number generator. */ - int rand_sep; /* Distance between front and rear. */ - int32_t *end_ptr; /* Pointer behind state table. */ -}; -#endif - -/* The definition of GL_LINK_WARNING is copied here. */ - - -/* Some systems do not define EXIT_*, despite otherwise supporting C89. */ -#ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -#endif -/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere - with proper operation of xargs. */ -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -#elif EXIT_FAILURE != 1 -# undef EXIT_FAILURE -# define EXIT_FAILURE 1 -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_MALLOC_POSIX@ -# if !@HAVE_MALLOC_POSIX@ -# undef malloc -# define malloc rpl_malloc -extern void * malloc (size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef malloc -# define malloc(s) \ - (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \ - "use gnulib module malloc-posix for portability"), \ - malloc (s)) -#endif - - -#if @GNULIB_REALLOC_POSIX@ -# if !@HAVE_REALLOC_POSIX@ -# undef realloc -# define realloc rpl_realloc -extern void * realloc (void *ptr, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef realloc -# define realloc(p,s) \ - (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \ - "use gnulib module realloc-posix for portability"), \ - realloc (p, s)) -#endif - - -#if @GNULIB_CALLOC_POSIX@ -# if !@HAVE_CALLOC_POSIX@ -# undef calloc -# define calloc rpl_calloc -extern void * calloc (size_t nmemb, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef calloc -# define calloc(n,s) \ - (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \ - "use gnulib module calloc-posix for portability"), \ - calloc (n, s)) -#endif - - -#if @GNULIB_ATOLL@ -# if !@HAVE_ATOLL@ -/* Parse a signed decimal integer. - Returns the value of the integer. Errors are not detected. */ -extern long long atoll (const char *string); -# endif -#elif defined GNULIB_POSIXCHECK -# undef atoll -# define atoll(s) \ - (GL_LINK_WARNING ("atoll is unportable - " \ - "use gnulib module atoll for portability"), \ - atoll (s)) -#endif - - -#if @GNULIB_GETLOADAVG@ -# if !@HAVE_DECL_GETLOADAVG@ -/* Store max(NELEM,3) load average numbers in LOADAVG[]. - The three numbers are the load average of the last 1 minute, the last 5 - minutes, and the last 15 minutes, respectively. - LOADAVG is an array of NELEM numbers. */ -extern int getloadavg (double loadavg[], int nelem); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getloadavg -# define getloadavg(l,n) \ - (GL_LINK_WARNING ("getloadavg is not portable - " \ - "use gnulib module getloadavg for portability"), \ - getloadavg (l, n)) -#endif - - -#if @GNULIB_GETSUBOPT@ -/* Assuming *OPTIONP is a comma separated list of elements of the form - "token" or "token=value", getsubopt parses the first of these elements. - If the first element refers to a "token" that is member of the given - NULL-terminated array of tokens: - - It replaces the comma with a NUL byte, updates *OPTIONP to point past - the first option and the comma, sets *VALUEP to the value of the - element (or NULL if it doesn't contain an "=" sign), - - It returns the index of the "token" in the given array of tokens. - Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. - For more details see the POSIX:2001 specification. - http://www.opengroup.org/susv3xsh/getsubopt.html */ -# if !@HAVE_GETSUBOPT@ -extern int getsubopt (char **optionp, char *const *tokens, char **valuep); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getsubopt -# define getsubopt(o,t,v) \ - (GL_LINK_WARNING ("getsubopt is unportable - " \ - "use gnulib module getsubopt for portability"), \ - getsubopt (o, t, v)) -#endif - - -#if @GNULIB_MKDTEMP@ -# if !@HAVE_MKDTEMP@ -/* Create a unique temporary directory from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the directory name unique. - Returns TEMPLATE, or a null pointer if it cannot get a unique name. - The directory is created mode 700. */ -extern char * mkdtemp (char * /*template*/); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mkdtemp -# define mkdtemp(t) \ - (GL_LINK_WARNING ("mkdtemp is unportable - " \ - "use gnulib module mkdtemp for portability"), \ - mkdtemp (t)) -#endif - - -#if @GNULIB_MKSTEMP@ -# if @REPLACE_MKSTEMP@ -/* Create a unique temporary file from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the file name unique. - The file is then created, ensuring it didn't exist before. - The file is created read-write (mask at least 0600 & ~umask), but it may be - world-readable and world-writable (mask 0666 & ~umask), depending on the - implementation. - Returns the open file descriptor if successful, otherwise -1 and errno - set. */ -# define mkstemp rpl_mkstemp -extern int mkstemp (char * /*template*/); -# else -/* On MacOS X 10.3, only declares mkstemp. */ -# include -# endif -#elif defined GNULIB_POSIXCHECK -# undef mkstemp -# define mkstemp(t) \ - (GL_LINK_WARNING ("mkstemp is unportable - " \ - "use gnulib module mkstemp for portability"), \ - mkstemp (t)) -#endif - - -#if @GNULIB_PUTENV@ -# if @REPLACE_PUTENV@ -# undef putenv -# define putenv rpl_putenv -extern int putenv (char *string); -# endif -#endif - - -#if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ - -# ifndef RAND_MAX -# define RAND_MAX 2147483647 -# endif - -int srandom_r (unsigned int seed, struct random_data *rand_state); -int initstate_r (unsigned int seed, char *buf, size_t buf_size, - struct random_data *rand_state); -int setstate_r (char *arg_state, struct random_data *rand_state); -int random_r (struct random_data *buf, int32_t *result); -# endif -#elif defined GNULIB_POSIXCHECK -# undef random_r -# define random_r(b,r) \ - (GL_LINK_WARNING ("random_r is unportable - " \ - "use gnulib module random_r for portability"), \ - random_r (b,r)) -# undef initstate_r -# define initstate_r(s,b,sz,r) \ - (GL_LINK_WARNING ("initstate_r is unportable - " \ - "use gnulib module random_r for portability"), \ - initstate_r (s,b,sz,r)) -# undef srandom_r -# define srandom_r(s,r) \ - (GL_LINK_WARNING ("srandom_r is unportable - " \ - "use gnulib module random_r for portability"), \ - srandom_r (s,r)) -# undef setstate_r -# define setstate_r(a,r) \ - (GL_LINK_WARNING ("setstate_r is unportable - " \ - "use gnulib module random_r for portability"), \ - setstate_r (a,r)) -#endif - - -#if @GNULIB_RPMATCH@ -# if !@HAVE_RPMATCH@ -/* Test a user response to a question. - Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ -extern int rpmatch (const char *response); -# endif -#elif defined GNULIB_POSIXCHECK -# undef rpmatch -# define rpmatch(r) \ - (GL_LINK_WARNING ("rpmatch is unportable - " \ - "use gnulib module rpmatch for portability"), \ - rpmatch (r)) -#endif - - -#if @GNULIB_SETENV@ -# if !@HAVE_SETENV@ -/* Set NAME to VALUE in the environment. - If REPLACE is nonzero, overwrite an existing value. */ -extern int setenv (const char *name, const char *value, int replace); -# endif -#endif - - -#if @GNULIB_UNSETENV@ -# if @HAVE_UNSETENV@ -# if @VOID_UNSETENV@ -/* On some systems, unsetenv() returns void. - This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ -# define unsetenv(name) ((unsetenv)(name), 0) -# endif -# else -/* Remove the variable NAME from the environment. */ -extern int unsetenv (const char *name); -# endif -#endif - - -#if @GNULIB_STRTOD@ -# if @REPLACE_STRTOD@ -# define strtod rpl_strtod -# endif -# if !@HAVE_STRTOD@ || @REPLACE_STRTOD@ - /* Parse a double from STRING, updating ENDP if appropriate. */ -extern double strtod (const char *str, char **endp); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtod -# define strtod(s, e) \ - (GL_LINK_WARNING ("strtod is unportable - " \ - "use gnulib module strtod for portability"), \ - strtod (s, e)) -#endif - - -#if @GNULIB_STRTOLL@ -# if !@HAVE_STRTOLL@ -/* Parse a signed integer whose textual representation starts at STRING. - The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, - it may be decimal or octal (with prefix "0") or hexadecimal (with prefix - "0x"). - If ENDPTR is not NULL, the address of the first byte after the integer is - stored in *ENDPTR. - Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set - to ERANGE. */ -extern long long strtoll (const char *string, char **endptr, int base); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtoll -# define strtoll(s,e,b) \ - (GL_LINK_WARNING ("strtoll is unportable - " \ - "use gnulib module strtoll for portability"), \ - strtoll (s, e, b)) -#endif - - -#if @GNULIB_STRTOULL@ -# if !@HAVE_STRTOULL@ -/* Parse an unsigned integer whose textual representation starts at STRING. - The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, - it may be decimal or octal (with prefix "0") or hexadecimal (with prefix - "0x"). - If ENDPTR is not NULL, the address of the first byte after the integer is - stored in *ENDPTR. - Upon overflow, the return value is ULLONG_MAX, and errno is set to - ERANGE. */ -extern unsigned long long strtoull (const char *string, char **endptr, int base); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtoull -# define strtoull(s,e,b) \ - (GL_LINK_WARNING ("strtoull is unportable - " \ - "use gnulib module strtoull for portability"), \ - strtoull (s, e, b)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STDLIB_H */ -#endif /* _GL_STDLIB_H */ -#endif diff -Nru gnutls26-2.8.6/gl/strdup.c gnutls26-2.4.1/gl/strdup.c --- gnutls26-2.8.6/gl/strdup.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/gl/strdup.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,55 @@ +/* Copyright (C) 1991, 1996, 1997, 1998, 2002, 2003, 2004, 2006, 2007 Free + Software Foundation, Inc. + + This file is part of the GNU C Library. + + 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _LIBC +# include +#endif + +/* Get specification. */ +#include + +#include + +#undef __strdup +#ifdef _LIBC +# undef strdup +#endif + +#ifndef weak_alias +# define __strdup strdup +#endif + +/* Duplicate S, returning an identical malloc'd string. */ +char * +__strdup (const char *s) +{ + size_t len = strlen (s) + 1; + void *new = malloc (len); + + if (new == NULL) + return NULL; + + return (char *) memcpy (new, s, len); +} +#ifdef libc_hidden_def +libc_hidden_def (__strdup) +#endif +#ifdef weak_alias +weak_alias (__strdup, strdup) +#endif diff -Nru gnutls26-2.8.6/gl/strerror.c gnutls26-2.4.1/gl/strerror.c --- gnutls26-2.8.6/gl/strerror.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/strerror.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007 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 @@ -21,15 +21,8 @@ #if REPLACE_STRERROR -# include # include -# if GNULIB_defined_ESOCK /* native Windows platforms */ -# if HAVE_WINSOCK2_H -# include -# endif -# endif - # include "intprops.h" # undef strerror @@ -40,302 +33,17 @@ char * rpl_strerror (int n) { - char const *msg = NULL; - /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ - switch (n) - { -# if GNULIB_defined_ETXTBSY - case ETXTBSY: - msg = "Text file busy"; - break; -# endif - -# if GNULIB_defined_ESOCK /* native Windows platforms */ - /* EWOULDBLOCK is the same as EAGAIN. */ - case EINPROGRESS: - msg = "Operation now in progress"; - break; - case EALREADY: - msg = "Operation already in progress"; - break; - case ENOTSOCK: - msg = "Socket operation on non-socket"; - break; - case EDESTADDRREQ: - msg = "Destination address required"; - break; - case EMSGSIZE: - msg = "Message too long"; - break; - case EPROTOTYPE: - msg = "Protocol wrong type for socket"; - break; - case ENOPROTOOPT: - msg = "Protocol not available"; - break; - case EPROTONOSUPPORT: - msg = "Protocol not supported"; - break; - case ESOCKTNOSUPPORT: - msg = "Socket type not supported"; - break; - case EOPNOTSUPP: - msg = "Operation not supported"; - break; - case EPFNOSUPPORT: - msg = "Protocol family not supported"; - break; - case EAFNOSUPPORT: - msg = "Address family not supported by protocol"; - break; - case EADDRINUSE: - msg = "Address already in use"; - break; - case EADDRNOTAVAIL: - msg = "Cannot assign requested address"; - break; - case ENETDOWN: - msg = "Network is down"; - break; - case ENETUNREACH: - msg = "Network is unreachable"; - break; - case ENETRESET: - msg = "Network dropped connection on reset"; - break; - case ECONNABORTED: - msg = "Software caused connection abort"; - break; - case ECONNRESET: - msg = "Connection reset by peer"; - break; - case ENOBUFS: - msg = "No buffer space available"; - break; - case EISCONN: - msg = "Transport endpoint is already connected"; - break; - case ENOTCONN: - msg = "Transport endpoint is not connected"; - break; - case ESHUTDOWN: - msg = "Cannot send after transport endpoint shutdown"; - break; - case ETOOMANYREFS: - msg = "Too many references: cannot splice"; - break; - case ETIMEDOUT: - msg = "Connection timed out"; - break; - case ECONNREFUSED: - msg = "Connection refused"; - break; - case ELOOP: - msg = "Too many levels of symbolic links"; - break; - case EHOSTDOWN: - msg = "Host is down"; - break; - case EHOSTUNREACH: - msg = "No route to host"; - break; - case EPROCLIM: - msg = "Too many processes"; - break; - case EUSERS: - msg = "Too many users"; - break; - case EDQUOT: - msg = "Disk quota exceeded"; - break; - case ESTALE: - msg = "Stale NFS file handle"; - break; - case EREMOTE: - msg = "Object is remote"; - break; -# if HAVE_WINSOCK2_H - /* WSA_INVALID_HANDLE maps to EBADF */ - /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ - /* WSA_INVALID_PARAMETER maps to EINVAL */ - case WSA_OPERATION_ABORTED: - msg = "Overlapped operation aborted"; - break; - case WSA_IO_INCOMPLETE: - msg = "Overlapped I/O event object not in signaled state"; - break; - case WSA_IO_PENDING: - msg = "Overlapped operations will complete later"; - break; - /* WSAEINTR maps to EINTR */ - /* WSAEBADF maps to EBADF */ - /* WSAEACCES maps to EACCES */ - /* WSAEFAULT maps to EFAULT */ - /* WSAEINVAL maps to EINVAL */ - /* WSAEMFILE maps to EMFILE */ - /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ - /* WSAEINPROGRESS is EINPROGRESS */ - /* WSAEALREADY is EALREADY */ - /* WSAENOTSOCK is ENOTSOCK */ - /* WSAEDESTADDRREQ is EDESTADDRREQ */ - /* WSAEMSGSIZE is EMSGSIZE */ - /* WSAEPROTOTYPE is EPROTOTYPE */ - /* WSAENOPROTOOPT is ENOPROTOOPT */ - /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */ - /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ - /* WSAEOPNOTSUPP is EOPNOTSUPP */ - /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ - /* WSAEAFNOSUPPORT is EAFNOSUPPORT */ - /* WSAEADDRINUSE is EADDRINUSE */ - /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */ - /* WSAENETDOWN is ENETDOWN */ - /* WSAENETUNREACH is ENETUNREACH */ - /* WSAENETRESET is ENETRESET */ - /* WSAECONNABORTED is ECONNABORTED */ - /* WSAECONNRESET is ECONNRESET */ - /* WSAENOBUFS is ENOBUFS */ - /* WSAEISCONN is EISCONN */ - /* WSAENOTCONN is ENOTCONN */ - /* WSAESHUTDOWN is ESHUTDOWN */ - /* WSAETOOMANYREFS is ETOOMANYREFS */ - /* WSAETIMEDOUT is ETIMEDOUT */ - /* WSAECONNREFUSED is ECONNREFUSED */ - /* WSAELOOP is ELOOP */ - /* WSAENAMETOOLONG maps to ENAMETOOLONG */ - /* WSAEHOSTDOWN is EHOSTDOWN */ - /* WSAEHOSTUNREACH is EHOSTUNREACH */ - /* WSAENOTEMPTY maps to ENOTEMPTY */ - /* WSAEPROCLIM is EPROCLIM */ - /* WSAEUSERS is EUSERS */ - /* WSAEDQUOT is EDQUOT */ - /* WSAESTALE is ESTALE */ - /* WSAEREMOTE is EREMOTE */ - case WSASYSNOTREADY: - msg = "Network subsystem is unavailable"; - break; - case WSAVERNOTSUPPORTED: - msg = "Winsock.dll version out of range"; - break; - case WSANOTINITIALISED: - msg = "Successful WSAStartup not yet performed"; - break; - case WSAEDISCON: - msg = "Graceful shutdown in progress"; - break; - case WSAENOMORE: case WSA_E_NO_MORE: - msg = "No more results"; - break; - case WSAECANCELLED: case WSA_E_CANCELLED: - msg = "Call was canceled"; - break; - case WSAEINVALIDPROCTABLE: - msg = "Procedure call table is invalid"; - break; - case WSAEINVALIDPROVIDER: - msg = "Service provider is invalid"; - break; - case WSAEPROVIDERFAILEDINIT: - msg = "Service provider failed to initialize"; - break; - case WSASYSCALLFAILURE: - msg = "System call failure"; - break; - case WSASERVICE_NOT_FOUND: - msg = "Service not found"; - break; - case WSATYPE_NOT_FOUND: - msg = "Class type not found"; - break; - case WSAEREFUSED: - msg = "Database query was refused"; - break; - case WSAHOST_NOT_FOUND: - msg = "Host not found"; - break; - case WSATRY_AGAIN: - msg = "Nonauthoritative host not found"; - break; - case WSANO_RECOVERY: - msg = "Nonrecoverable error"; - break; - case WSANO_DATA: - msg = "Valid name, no data record of requested type"; - break; - /* WSA_QOS_* omitted */ -# endif -# endif - -# if GNULIB_defined_ENOMSG - case ENOMSG: - msg = "No message of desired type"; - break; -# endif - -# if GNULIB_defined_EIDRM - case EIDRM: - msg = "Identifier removed"; - break; -# endif - -# if GNULIB_defined_ENOLINK - case ENOLINK: - msg = "Link has been severed"; - break; -# endif - -# if GNULIB_defined_EPROTO - case EPROTO: - msg = "Protocol error"; - break; -# endif + char *result = strerror (n); -# if GNULIB_defined_EMULTIHOP - case EMULTIHOP: - msg = "Multihop attempted"; - break; -# endif - -# if GNULIB_defined_EBADMSG - case EBADMSG: - msg = "Bad message"; - break; -# endif - -# if GNULIB_defined_EOVERFLOW - case EOVERFLOW: - msg = "Value too large for defined data type"; - break; -# endif - -# if GNULIB_defined_ENOTSUP - case ENOTSUP: - msg = "Not supported"; - break; -# endif - -# if GNULIB_defined_ - case ECANCELED: - msg = "Operation canceled"; - break; -# endif + if (result == NULL || result[0] == '\0') + { + static char const fmt[] = "Unknown error (%d)"; + static char mesg[sizeof fmt + INT_STRLEN_BOUND (n)]; + sprintf (mesg, fmt, n); + return mesg; } - if (msg) - return (char *) msg; - - { - char *result = strerror (n); - - if (result == NULL || result[0] == '\0') - { - static char const fmt[] = "Unknown error (%d)"; - static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)]; - sprintf (msg_buf, fmt, n); - return msg_buf; - } - - return result; - } + return result; } #endif diff -Nru gnutls26-2.8.6/gl/string.in.h gnutls26-2.4.1/gl/string.in.h --- gnutls26-2.8.6/gl/string.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/string.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,605 +0,0 @@ -/* A GNU-like . - - Copyright (C) 1995-1996, 2001-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_STRING_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STRING_H@ - -#ifndef _GL_STRING_H -#define _GL_STRING_H - - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The attribute __pure__ was added in gcc 2.96. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -# define __pure__ /* empty */ -# endif -#endif - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Return the first occurrence of NEEDLE in HAYSTACK. */ -#if @GNULIB_MEMMEM@ -# if @REPLACE_MEMMEM@ -# define memmem rpl_memmem -# endif -# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@ -extern void *memmem (void const *__haystack, size_t __haystack_len, - void const *__needle, size_t __needle_len) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef memmem -# define memmem(a,al,b,bl) \ - (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \ - "use gnulib module memmem-simple for portability, " \ - "and module memmem for speed" ), \ - memmem (a, al, b, bl)) -#endif - -/* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ -#if @GNULIB_MEMPCPY@ -# if ! @HAVE_MEMPCPY@ -extern void *mempcpy (void *restrict __dest, void const *restrict __src, - size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mempcpy -# define mempcpy(a,b,n) \ - (GL_LINK_WARNING ("mempcpy is unportable - " \ - "use gnulib module mempcpy for portability"), \ - mempcpy (a, b, n)) -#endif - -/* Search backwards through a block for a byte (specified as an int). */ -#if @GNULIB_MEMRCHR@ -# if ! @HAVE_DECL_MEMRCHR@ -extern void *memrchr (void const *, int, size_t) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef memrchr -# define memrchr(a,b,c) \ - (GL_LINK_WARNING ("memrchr is unportable - " \ - "use gnulib module memrchr for portability"), \ - memrchr (a, b, c)) -#endif - -/* Find the first occurrence of C in S. More efficient than - memchr(S,C,N), at the expense of undefined behavior if C does not - occur within N bytes. */ -#if @GNULIB_RAWMEMCHR@ -# if ! @HAVE_RAWMEMCHR@ -extern void *rawmemchr (void const *__s, int __c_in) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef rawmemchr -# define rawmemchr(a,b) \ - (GL_LINK_WARNING ("rawmemchr is unportable - " \ - "use gnulib module rawmemchr for portability"), \ - rawmemchr (a, b)) -#endif - -/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ -#if @GNULIB_STPCPY@ -# if ! @HAVE_STPCPY@ -extern char *stpcpy (char *restrict __dst, char const *restrict __src); -# endif -#elif defined GNULIB_POSIXCHECK -# undef stpcpy -# define stpcpy(a,b) \ - (GL_LINK_WARNING ("stpcpy is unportable - " \ - "use gnulib module stpcpy for portability"), \ - stpcpy (a, b)) -#endif - -/* Copy no more than N bytes of SRC to DST, returning a pointer past the - last non-NUL byte written into DST. */ -#if @GNULIB_STPNCPY@ -# if ! @HAVE_STPNCPY@ -# define stpncpy gnu_stpncpy -extern char *stpncpy (char *restrict __dst, char const *restrict __src, - size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef stpncpy -# define stpncpy(a,b,n) \ - (GL_LINK_WARNING ("stpncpy is unportable - " \ - "use gnulib module stpncpy for portability"), \ - stpncpy (a, b, n)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strchr() does not work with multibyte strings if the locale encoding is - GB18030 and the character to be searched is a digit. */ -# undef strchr -# define strchr(s,c) \ - (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \ - "in some multibyte locales - " \ - "use mbschr if you care about internationalization"), \ - strchr (s, c)) -#endif - -/* Find the first occurrence of C in S or the final NUL byte. */ -#if @GNULIB_STRCHRNUL@ -# if ! @HAVE_STRCHRNUL@ -extern char *strchrnul (char const *__s, int __c_in) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strchrnul -# define strchrnul(a,b) \ - (GL_LINK_WARNING ("strchrnul is unportable - " \ - "use gnulib module strchrnul for portability"), \ - strchrnul (a, b)) -#endif - -/* Duplicate S, returning an identical malloc'd string. */ -#if @GNULIB_STRDUP@ -# if @REPLACE_STRDUP@ -# undef strdup -# define strdup rpl_strdup -# endif -# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@ -extern char *strdup (char const *__s); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strdup -# define strdup(a) \ - (GL_LINK_WARNING ("strdup is unportable - " \ - "use gnulib module strdup for portability"), \ - strdup (a)) -#endif - -/* Return a newly allocated copy of at most N bytes of STRING. */ -#if @GNULIB_STRNDUP@ -# if ! @HAVE_STRNDUP@ -# undef strndup -# define strndup rpl_strndup -# endif -# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@ -extern char *strndup (char const *__string, size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strndup -# define strndup(a,n) \ - (GL_LINK_WARNING ("strndup is unportable - " \ - "use gnulib module strndup for portability"), \ - strndup (a, n)) -#endif - -/* Find the length (number of bytes) of STRING, but scan at most - MAXLEN bytes. If no '\0' terminator is found in that many bytes, - return MAXLEN. */ -#if @GNULIB_STRNLEN@ -# if ! @HAVE_DECL_STRNLEN@ -extern size_t strnlen (char const *__string, size_t __maxlen) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strnlen -# define strnlen(a,n) \ - (GL_LINK_WARNING ("strnlen is unportable - " \ - "use gnulib module strnlen for portability"), \ - strnlen (a, n)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strcspn() assumes the second argument is a list of single-byte characters. - Even in this simple case, it does not work with multibyte strings if the - locale encoding is GB18030 and one of the characters to be searched is a - digit. */ -# undef strcspn -# define strcspn(s,a) \ - (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbscspn if you care about internationalization"), \ - strcspn (s, a)) -#endif - -/* Find the first occurrence in S of any character in ACCEPT. */ -#if @GNULIB_STRPBRK@ -# if ! @HAVE_STRPBRK@ -extern char *strpbrk (char const *__s, char const *__accept) - __attribute__ ((__pure__)); -# endif -# if defined GNULIB_POSIXCHECK -/* strpbrk() assumes the second argument is a list of single-byte characters. - Even in this simple case, it does not work with multibyte strings if the - locale encoding is GB18030 and one of the characters to be searched is a - digit. */ -# undef strpbrk -# define strpbrk(s,a) \ - (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbspbrk if you care about internationalization"), \ - strpbrk (s, a)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strpbrk -# define strpbrk(s,a) \ - (GL_LINK_WARNING ("strpbrk is unportable - " \ - "use gnulib module strpbrk for portability"), \ - strpbrk (s, a)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strspn() assumes the second argument is a list of single-byte characters. - Even in this simple case, it cannot work with multibyte strings. */ -# undef strspn -# define strspn(s,a) \ - (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbsspn if you care about internationalization"), \ - strspn (s, a)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strrchr() does not work with multibyte strings if the locale encoding is - GB18030 and the character to be searched is a digit. */ -# undef strrchr -# define strrchr(s,c) \ - (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \ - "in some multibyte locales - " \ - "use mbsrchr if you care about internationalization"), \ - strrchr (s, c)) -#endif - -/* Search the next delimiter (char listed in DELIM) starting at *STRINGP. - If one is found, overwrite it with a NUL, and advance *STRINGP - to point to the next char after it. Otherwise, set *STRINGP to NULL. - If *STRINGP was already NULL, nothing happens. - Return the old value of *STRINGP. - - This is a variant of strtok() that is multithread-safe and supports - empty fields. - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - Caveat: It doesn't work with multibyte strings unless all of the delimiter - characters are ASCII characters < 0x30. - - See also strtok_r(). */ -#if @GNULIB_STRSEP@ -# if ! @HAVE_STRSEP@ -extern char *strsep (char **restrict __stringp, char const *restrict __delim); -# endif -# if defined GNULIB_POSIXCHECK -# undef strsep -# define strsep(s,d) \ - (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbssep if you care about internationalization"), \ - strsep (s, d)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strsep -# define strsep(s,d) \ - (GL_LINK_WARNING ("strsep is unportable - " \ - "use gnulib module strsep for portability"), \ - strsep (s, d)) -#endif - -#if @GNULIB_STRSTR@ -# if @REPLACE_STRSTR@ -# define strstr rpl_strstr -char *strstr (const char *haystack, const char *needle) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -/* strstr() does not work with multibyte strings if the locale encoding is - different from UTF-8: - POSIX says that it operates on "strings", and "string" in POSIX is defined - as a sequence of bytes, not of characters. */ -# undef strstr -# define strstr(a,b) \ - (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \ - "work correctly on character strings in most " \ - "multibyte locales - " \ - "use mbsstr if you care about internationalization, " \ - "or use strstr if you care about speed"), \ - strstr (a, b)) -#endif - -/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive - comparison. */ -#if @GNULIB_STRCASESTR@ -# if @REPLACE_STRCASESTR@ -# define strcasestr rpl_strcasestr -# endif -# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@ -extern char *strcasestr (const char *haystack, const char *needle) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -/* strcasestr() does not work with multibyte strings: - It is a glibc extension, and glibc implements it only for unibyte - locales. */ -# undef strcasestr -# define strcasestr(a,b) \ - (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \ - "in multibyte locales - " \ - "use mbscasestr if you care about " \ - "internationalization, or use c-strcasestr if you want " \ - "a locale independent function"), \ - strcasestr (a, b)) -#endif - -/* Parse S into tokens separated by characters in DELIM. - If S is NULL, the saved pointer in SAVE_PTR is used as - the next starting point. For example: - char s[] = "-abc-=-def"; - char *sp; - x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" - x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL - x = strtok_r(NULL, "=", &sp); // x = NULL - // s = "abc\0-def\0" - - This is a variant of strtok() that is multithread-safe. - - For the POSIX documentation for this function, see: - http://www.opengroup.org/susv3xsh/strtok.html - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - Caveat: It doesn't work with multibyte strings unless all of the delimiter - characters are ASCII characters < 0x30. - - See also strsep(). */ -#if @GNULIB_STRTOK_R@ -# if ! @HAVE_DECL_STRTOK_R@ -extern char *strtok_r (char *restrict s, char const *restrict delim, - char **restrict save_ptr); -# endif -# if defined GNULIB_POSIXCHECK -# undef strtok_r -# define strtok_r(s,d,p) \ - (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbstok_r if you care about internationalization"), \ - strtok_r (s, d, p)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtok_r -# define strtok_r(s,d,p) \ - (GL_LINK_WARNING ("strtok_r is unportable - " \ - "use gnulib module strtok_r for portability"), \ - strtok_r (s, d, p)) -#endif - - -/* The following functions are not specified by POSIX. They are gnulib - extensions. */ - -#if @GNULIB_MBSLEN@ -/* Return the number of multibyte characters in the character string STRING. - This considers multibyte characters, unlike strlen, which counts bytes. */ -extern size_t mbslen (const char *string); -#endif - -#if @GNULIB_MBSNLEN@ -/* Return the number of multibyte characters in the character string starting - at STRING and ending at STRING + LEN. */ -extern size_t mbsnlen (const char *string, size_t len); -#endif - -#if @GNULIB_MBSCHR@ -/* Locate the first single-byte character C in the character string STRING, - and return a pointer to it. Return NULL if C is not found in STRING. - Unlike strchr(), this function works correctly in multibyte locales with - encodings such as GB18030. */ -# define mbschr rpl_mbschr /* avoid collision with HP-UX function */ -extern char * mbschr (const char *string, int c); -#endif - -#if @GNULIB_MBSRCHR@ -/* Locate the last single-byte character C in the character string STRING, - and return a pointer to it. Return NULL if C is not found in STRING. - Unlike strrchr(), this function works correctly in multibyte locales with - encodings such as GB18030. */ -# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ -extern char * mbsrchr (const char *string, int c); -#endif - -#if @GNULIB_MBSSTR@ -/* Find the first occurrence of the character string NEEDLE in the character - string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. - Unlike strstr(), this function works correctly in multibyte locales with - encodings different from UTF-8. */ -extern char * mbsstr (const char *haystack, const char *needle); -#endif - -#if @GNULIB_MBSCASECMP@ -/* Compare the character strings S1 and S2, ignoring case, returning less than, - equal to or greater than zero if S1 is lexicographically less than, equal to - or greater than S2. - Note: This function may, in multibyte locales, return 0 for strings of - different lengths! - Unlike strcasecmp(), this function works correctly in multibyte locales. */ -extern int mbscasecmp (const char *s1, const char *s2); -#endif - -#if @GNULIB_MBSNCASECMP@ -/* Compare the initial segment of the character string S1 consisting of at most - N characters with the initial segment of the character string S2 consisting - of at most N characters, ignoring case, returning less than, equal to or - greater than zero if the initial segment of S1 is lexicographically less - than, equal to or greater than the initial segment of S2. - Note: This function may, in multibyte locales, return 0 for initial segments - of different lengths! - Unlike strncasecmp(), this function works correctly in multibyte locales. - But beware that N is not a byte count but a character count! */ -extern int mbsncasecmp (const char *s1, const char *s2, size_t n); -#endif - -#if @GNULIB_MBSPCASECMP@ -/* Compare the initial segment of the character string STRING consisting of - at most mbslen (PREFIX) characters with the character string PREFIX, - ignoring case, returning less than, equal to or greater than zero if this - initial segment is lexicographically less than, equal to or greater than - PREFIX. - Note: This function may, in multibyte locales, return 0 if STRING is of - smaller length than PREFIX! - Unlike strncasecmp(), this function works correctly in multibyte - locales. */ -extern char * mbspcasecmp (const char *string, const char *prefix); -#endif - -#if @GNULIB_MBSCASESTR@ -/* Find the first occurrence of the character string NEEDLE in the character - string HAYSTACK, using case-insensitive comparison. - Note: This function may, in multibyte locales, return success even if - strlen (haystack) < strlen (needle) ! - Unlike strcasestr(), this function works correctly in multibyte locales. */ -extern char * mbscasestr (const char *haystack, const char *needle); -#endif - -#if @GNULIB_MBSCSPN@ -/* Find the first occurrence in the character string STRING of any character - in the character string ACCEPT. Return the number of bytes from the - beginning of the string to this occurrence, or to the end of the string - if none exists. - Unlike strcspn(), this function works correctly in multibyte locales. */ -extern size_t mbscspn (const char *string, const char *accept); -#endif - -#if @GNULIB_MBSPBRK@ -/* Find the first occurrence in the character string STRING of any character - in the character string ACCEPT. Return the pointer to it, or NULL if none - exists. - Unlike strpbrk(), this function works correctly in multibyte locales. */ -# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ -extern char * mbspbrk (const char *string, const char *accept); -#endif - -#if @GNULIB_MBSSPN@ -/* Find the first occurrence in the character string STRING of any character - not in the character string REJECT. Return the number of bytes from the - beginning of the string to this occurrence, or to the end of the string - if none exists. - Unlike strspn(), this function works correctly in multibyte locales. */ -extern size_t mbsspn (const char *string, const char *reject); -#endif - -#if @GNULIB_MBSSEP@ -/* Search the next delimiter (multibyte character listed in the character - string DELIM) starting at the character string *STRINGP. - If one is found, overwrite it with a NUL, and advance *STRINGP to point - to the next multibyte character after it. Otherwise, set *STRINGP to NULL. - If *STRINGP was already NULL, nothing happens. - Return the old value of *STRINGP. - - This is a variant of mbstok_r() that supports empty fields. - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - - See also mbstok_r(). */ -extern char * mbssep (char **stringp, const char *delim); -#endif - -#if @GNULIB_MBSTOK_R@ -/* Parse the character string STRING into tokens separated by characters in - the character string DELIM. - If STRING is NULL, the saved pointer in SAVE_PTR is used as - the next starting point. For example: - char s[] = "-abc-=-def"; - char *sp; - x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" - x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL - x = mbstok_r(NULL, "=", &sp); // x = NULL - // s = "abc\0-def\0" - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - - See also mbssep(). */ -extern char * mbstok_r (char *string, const char *delim, char **save_ptr); -#endif - -/* Map any int, typically from errno, into an error message. */ -#if @GNULIB_STRERROR@ -# if @REPLACE_STRERROR@ -# undef strerror -# define strerror rpl_strerror -extern char *strerror (int); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strerror -# define strerror(e) \ - (GL_LINK_WARNING ("strerror is unportable - " \ - "use gnulib module strerror to guarantee non-NULL result"), \ - strerror (e)) -#endif - -#if @GNULIB_STRSIGNAL@ -# if @REPLACE_STRSIGNAL@ -# define strsignal rpl_strsignal -# endif -# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@ -extern char *strsignal (int __sig); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strsignal -# define strsignal(a) \ - (GL_LINK_WARNING ("strsignal is unportable - " \ - "use gnulib module strsignal for portability"), \ - strsignal (a)) -#endif - -#if @GNULIB_STRVERSCMP@ -# if !@HAVE_STRVERSCMP@ -extern int strverscmp (const char *, const char *); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strverscmp -# define strverscmp(a, b) \ - (GL_LINK_WARNING ("strverscmp is unportable - " \ - "use gnulib module strverscmp for portability"), \ - strverscmp (a, b)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STRING_H */ -#endif /* _GL_STRING_H */ diff -Nru gnutls26-2.8.6/gl/sys_select.in.h gnutls26-2.4.1/gl/sys_select.in.h --- gnutls26-2.8.6/gl/sys_select.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sys_select.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,93 +0,0 @@ -/* Substitute for . - Copyright (C) 2007-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - -/* On OSF/1, and include . - Simply delegate to the system's header in this case. */ -#if @HAVE_SYS_SELECT_H@ && defined __osf__ && (defined _SYS_TYPES_H_ && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H) && defined _OSF_SOURCE - -# define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H -# @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ - -#elif @HAVE_SYS_SELECT_H@ && defined __osf__ && (defined _SYS_TIME_H_ && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H) && defined _OSF_SOURCE - -# define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H -# @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ - -#else - -#ifndef _GL_SYS_SELECT_H - -#if @HAVE_SYS_SELECT_H@ - -/* On many platforms, assumes prior inclusion of - . */ -# include - -/* On OSF/1 4.0, provides only a forward declaration - of 'struct timeval', and no definition of this type.. */ -# include - -/* The include_next requires a split double-inclusion guard. */ -# @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ - -#endif - -#ifndef _GL_SYS_SELECT_H -#define _GL_SYS_SELECT_H - -#if !@HAVE_SYS_SELECT_H@ - -/* A platform that lacks . */ - -# include - -/* The definition of GL_LINK_WARNING is copied here. */ - -# ifdef __cplusplus -extern "C" { -# endif - -# if @GNULIB_SELECT@ -# if @HAVE_WINSOCK2_H@ || @REPLACE_SELECT@ -# undef select -# define select rpl_select -extern int rpl_select (int, fd_set *, fd_set *, fd_set *, struct timeval *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef select -# define select select_used_without_requesting_gnulib_module_select -# elif defined GNULIB_POSIXCHECK -# undef select -# define select(n,r,w,e,t) \ - (GL_LINK_WARNING ("select is not always POSIX compliant - " \ - "use gnulib module select for portability"), \ - select (n, r, w, e, t)) -# endif - -# ifdef __cplusplus -} -# endif - -#endif - -#endif /* _GL_SYS_SELECT_H */ -#endif /* _GL_SYS_SELECT_H */ -#endif /* OSF/1 */ diff -Nru gnutls26-2.8.6/gl/sys_socket.in.h gnutls26-2.4.1/gl/sys_socket.in.h --- gnutls26-2.8.6/gl/sys_socket.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sys_socket.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,427 +0,0 @@ -/* Provide a sys/socket header file for systems lacking it (read: MinGW) - and for systems where it is incomplete. - Copyright (C) 2005-2009 Free Software Foundation, Inc. - Written by Simon Josefsson. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file is supposed to be used on platforms that lack , - on platforms where cannot be included standalone, and on - platforms where does not provide all necessary definitions. - It is intended to provide definitions and prototypes needed by an - application. */ - -#ifndef _GL_SYS_SOCKET_H - -#if @HAVE_SYS_SOCKET_H@ - -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - -/* On many platforms, assumes prior inclusion of - . */ -# include - -/* The include_next requires a split double-inclusion guard. */ -# @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ - -#endif - -#ifndef _GL_SYS_SOCKET_H -#define _GL_SYS_SOCKET_H - -#if !@HAVE_SA_FAMILY_T@ -typedef unsigned short sa_family_t; -#endif - -#if !@HAVE_STRUCT_SOCKADDR_STORAGE@ -# include -/* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on - 2009-05-08, licensed under LGPLv2.1+, plus portability fixes. */ -# define __ss_aligntype unsigned long int -# define _SS_SIZE 256 -# define _SS_PADSIZE \ - (_SS_SIZE - ((sizeof (sa_family_t) >= alignof (__ss_aligntype) \ - ? sizeof (sa_family_t) \ - : alignof (__ss_aligntype)) \ - + sizeof (__ss_aligntype))) - -struct sockaddr_storage -{ - sa_family_t ss_family; /* Address family, etc. */ - __ss_aligntype __ss_align; /* Force desired alignment. */ - char __ss_padding[_SS_PADSIZE]; -}; -#endif - -#if @HAVE_SYS_SOCKET_H@ - -/* A platform that has . */ - -/* For shutdown(). */ -# if !defined SHUT_RD -# define SHUT_RD 0 -# endif -# if !defined SHUT_WR -# define SHUT_WR 1 -# endif -# if !defined SHUT_RDWR -# define SHUT_RDWR 2 -# endif - -#else - -# ifdef __CYGWIN__ -# error "Cygwin does have a sys/socket.h, doesn't it?!?" -# endif - -/* A platform that lacks . - - Currently only MinGW is supported. See the gnulib manual regarding - Windows sockets. MinGW has the header files winsock2.h and - ws2tcpip.h that declare the sys/socket.h definitions we need. Note - that you can influence which definitions you get by setting the - WINVER symbol before including these two files. For example, - getaddrinfo is only available if _WIN32_WINNT >= 0x0501 (that - symbol is set indiriectly through WINVER). You can set this by - adding AC_DEFINE(WINVER, 0x0501) to configure.ac. Note that your - code may not run on older Windows releases then. My Windows 2000 - box was not able to run the code, for example. The situation is - slightly confusing because: - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/getaddrinfo_2.asp - suggests that getaddrinfo should be available on all Windows - releases. */ - - -# if @HAVE_WINSOCK2_H@ -# include -# endif -# if @HAVE_WS2TCPIP_H@ -# include -# endif - -/* For shutdown(). */ -# if !defined SHUT_RD && defined SD_RECEIVE -# define SHUT_RD SD_RECEIVE -# endif -# if !defined SHUT_WR && defined SD_SEND -# define SHUT_WR SD_SEND -# endif -# if !defined SHUT_RDWR && defined SD_BOTH -# define SHUT_RDWR SD_BOTH -# endif - -/* The definition of GL_LINK_WARNING is copied here. */ - -# if @HAVE_WINSOCK2_H@ -/* Include headers needed by the emulation code. */ -# include -# include - -typedef int socklen_t; - -# endif - -# ifdef __cplusplus -extern "C" { -# endif - -# if @HAVE_WINSOCK2_H@ - -/* Re-define FD_ISSET to avoid a WSA call while we are not using - network sockets. */ -static inline int -rpl_fd_isset (SOCKET fd, fd_set * set) -{ - u_int i; - if (set == NULL) - return 0; - - for (i = 0; i < set->fd_count; i++) - if (set->fd_array[i] == fd) - return 1; - - return 0; -} - -# undef FD_ISSET -# define FD_ISSET(fd, set) rpl_fd_isset(fd, set) - -# endif - -/* Wrap everything else to use libc file descriptors for sockets. */ - -# if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H -# undef close -# define close close_used_without_including_unistd_h -# endif - -# if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H -# undef gethostname -# define gethostname gethostname_used_without_including_unistd_h -# endif - -# if @GNULIB_SOCKET@ -# if @HAVE_WINSOCK2_H@ -# undef socket -# define socket rpl_socket -extern int rpl_socket (int, int, int protocol); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef socket -# define socket socket_used_without_requesting_gnulib_module_socket -# elif defined GNULIB_POSIXCHECK -# undef socket -# define socket(d,t,p) \ - (GL_LINK_WARNING ("socket is not always POSIX compliant - " \ - "use gnulib module socket for portability"), \ - socket (d, t, p)) -# endif - -# if @GNULIB_CONNECT@ -# if @HAVE_WINSOCK2_H@ -# undef connect -# define connect rpl_connect -extern int rpl_connect (int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef connect -# define connect socket_used_without_requesting_gnulib_module_connect -# elif defined GNULIB_POSIXCHECK -# undef connect -# define connect(s,a,l) \ - (GL_LINK_WARNING ("connect is not always POSIX compliant - " \ - "use gnulib module connect for portability"), \ - connect (s, a, l)) -# endif - -# if @GNULIB_ACCEPT@ -# if @HAVE_WINSOCK2_H@ -# undef accept -# define accept rpl_accept -extern int rpl_accept (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef accept -# define accept accept_used_without_requesting_gnulib_module_accept -# elif defined GNULIB_POSIXCHECK -# undef accept -# define accept(s,a,l) \ - (GL_LINK_WARNING ("accept is not always POSIX compliant - " \ - "use gnulib module accept for portability"), \ - accept (s, a, l)) -# endif - -# if @GNULIB_BIND@ -# if @HAVE_WINSOCK2_H@ -# undef bind -# define bind rpl_bind -extern int rpl_bind (int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef bind -# define bind bind_used_without_requesting_gnulib_module_bind -# elif defined GNULIB_POSIXCHECK -# undef bind -# define bind(s,a,l) \ - (GL_LINK_WARNING ("bind is not always POSIX compliant - " \ - "use gnulib module bind for portability"), \ - bind (s, a, l)) -# endif - -# if @GNULIB_GETPEERNAME@ -# if @HAVE_WINSOCK2_H@ -# undef getpeername -# define getpeername rpl_getpeername -extern int rpl_getpeername (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getpeername -# define getpeername getpeername_used_without_requesting_gnulib_module_getpeername -# elif defined GNULIB_POSIXCHECK -# undef getpeername -# define getpeername(s,a,l) \ - (GL_LINK_WARNING ("getpeername is not always POSIX compliant - " \ - "use gnulib module getpeername for portability"), \ - getpeername (s, a, l)) -# endif - -# if @GNULIB_GETSOCKNAME@ -# if @HAVE_WINSOCK2_H@ -# undef getsockname -# define getsockname rpl_getsockname -extern int rpl_getsockname (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getsockname -# define getsockname getsockname_used_without_requesting_gnulib_module_getsockname -# elif defined GNULIB_POSIXCHECK -# undef getsockname -# define getsockname(s,a,l) \ - (GL_LINK_WARNING ("getsockname is not always POSIX compliant - " \ - "use gnulib module getsockname for portability"), \ - getsockname (s, a, l)) -# endif - -# if @GNULIB_GETSOCKOPT@ -# if @HAVE_WINSOCK2_H@ -# undef getsockopt -# define getsockopt rpl_getsockopt -extern int rpl_getsockopt (int, int, int, void *, socklen_t *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getsockopt -# define getsockopt getsockopt_used_without_requesting_gnulib_module_getsockopt -# elif defined GNULIB_POSIXCHECK -# undef getsockopt -# define getsockopt(s,lvl,o,v,l) \ - (GL_LINK_WARNING ("getsockopt is not always POSIX compliant - " \ - "use gnulib module getsockopt for portability"), \ - getsockopt (s, lvl, o, v, l)) -# endif - -# if @GNULIB_LISTEN@ -# if @HAVE_WINSOCK2_H@ -# undef listen -# define listen rpl_listen -extern int rpl_listen (int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef listen -# define listen listen_used_without_requesting_gnulib_module_listen -# elif defined GNULIB_POSIXCHECK -# undef listen -# define listen(s,b) \ - (GL_LINK_WARNING ("listen is not always POSIX compliant - " \ - "use gnulib module listen for portability"), \ - listen (s, b)) -# endif - -# if @GNULIB_RECV@ -# if @HAVE_WINSOCK2_H@ -# undef recv -# define recv rpl_recv -extern int rpl_recv (int, void *, int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef recv -# define recv recv_used_without_requesting_gnulib_module_recv -# elif defined GNULIB_POSIXCHECK -# undef recv -# define recv(s,b,n,f) \ - (GL_LINK_WARNING ("recv is not always POSIX compliant - " \ - "use gnulib module recv for portability"), \ - recv (s, b, n, f)) -# endif - -# if @GNULIB_SEND@ -# if @HAVE_WINSOCK2_H@ -# undef send -# define send rpl_send -extern int rpl_send (int, const void *, int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef send -# define send send_used_without_requesting_gnulib_module_send -# elif defined GNULIB_POSIXCHECK -# undef send -# define send(s,b,n,f) \ - (GL_LINK_WARNING ("send is not always POSIX compliant - " \ - "use gnulib module send for portability"), \ - send (s, b, n, f)) -# endif - -# if @GNULIB_RECVFROM@ -# if @HAVE_WINSOCK2_H@ -# undef recvfrom -# define recvfrom rpl_recvfrom -extern int rpl_recvfrom (int, void *, int, int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef recvfrom -# define recvfrom recvfrom_used_without_requesting_gnulib_module_recvfrom -# elif defined GNULIB_POSIXCHECK -# undef recvfrom -# define recvfrom(s,b,n,f,a,l) \ - (GL_LINK_WARNING ("recvfrom is not always POSIX compliant - " \ - "use gnulib module recvfrom for portability"), \ - recvfrom (s, b, n, f, a, l)) -# endif - -# if @GNULIB_SENDTO@ -# if @HAVE_WINSOCK2_H@ -# undef sendto -# define sendto rpl_sendto -extern int rpl_sendto (int, const void *, int, int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef sendto -# define sendto sendto_used_without_requesting_gnulib_module_sendto -# elif defined GNULIB_POSIXCHECK -# undef sendto -# define sendto(s,b,n,f,a,l) \ - (GL_LINK_WARNING ("sendto is not always POSIX compliant - " \ - "use gnulib module sendto for portability"), \ - sendto (s, b, n, f, a, l)) -# endif - -# if @GNULIB_SETSOCKOPT@ -# if @HAVE_WINSOCK2_H@ -# undef setsockopt -# define setsockopt rpl_setsockopt -extern int rpl_setsockopt (int, int, int, const void *, socklen_t); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef setsockopt -# define setsockopt setsockopt_used_without_requesting_gnulib_module_setsockopt -# elif defined GNULIB_POSIXCHECK -# undef setsockopt -# define setsockopt(s,lvl,o,v,l) \ - (GL_LINK_WARNING ("setsockopt is not always POSIX compliant - " \ - "use gnulib module setsockopt for portability"), \ - setsockopt (s, lvl, o, v, l)) -# endif - -# if @GNULIB_SHUTDOWN@ -# if @HAVE_WINSOCK2_H@ -# undef shutdown -# define shutdown rpl_shutdown -extern int rpl_shutdown (int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef shutdown -# define shutdown shutdown_used_without_requesting_gnulib_module_shutdown -# elif defined GNULIB_POSIXCHECK -# undef shutdown -# define shutdown(s,h) \ - (GL_LINK_WARNING ("shutdown is not always POSIX compliant - " \ - "use gnulib module shutdown for portability"), \ - shutdown (s, h)) -# endif - -# if @HAVE_WINSOCK2_H@ -# undef select -# define select select_used_without_including_sys_select_h -# endif - -# ifdef __cplusplus -} -# endif - -#endif /* HAVE_SYS_SOCKET_H */ - -#endif /* _GL_SYS_SOCKET_H */ -#endif /* _GL_SYS_SOCKET_H */ diff -Nru gnutls26-2.8.6/gl/sys_stat.in.h gnutls26-2.4.1/gl/sys_stat.in.h --- gnutls26-2.8.6/gl/sys_stat.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sys_stat.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,361 +0,0 @@ -/* Provide a more complete sys/stat header file. - Copyright (C) 2005-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ - -/* This file is supposed to be used on platforms where is - incomplete. It is intended to provide definitions and prototypes - needed by an application. Start with what the system provides. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_system_sys_stat_h -/* Special invocation convention. */ - -#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_SYS_STAT_H - -/* Get nlink_t. */ -#include - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ - -#ifndef _GL_SYS_STAT_H -#define _GL_SYS_STAT_H - -/* The definition of GL_LINK_WARNING is copied here. */ - -/* Before doing "#define mkdir rpl_mkdir" below, we need to include all - headers that may declare mkdir(). */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# include -#endif - -#ifndef S_IFMT -# define S_IFMT 0170000 -#endif - -#if STAT_MACROS_BROKEN -# undef S_ISBLK -# undef S_ISCHR -# undef S_ISDIR -# undef S_ISFIFO -# undef S_ISLNK -# undef S_ISNAM -# undef S_ISMPB -# undef S_ISMPC -# undef S_ISNWK -# undef S_ISREG -# undef S_ISSOCK -#endif - -#ifndef S_ISBLK -# ifdef S_IFBLK -# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) -# else -# define S_ISBLK(m) 0 -# endif -#endif - -#ifndef S_ISCHR -# ifdef S_IFCHR -# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -# else -# define S_ISCHR(m) 0 -# endif -#endif - -#ifndef S_ISDIR -# ifdef S_IFDIR -# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -# else -# define S_ISDIR(m) 0 -# endif -#endif - -#ifndef S_ISDOOR /* Solaris 2.5 and up */ -# define S_ISDOOR(m) 0 -#endif - -#ifndef S_ISFIFO -# ifdef S_IFIFO -# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) -# else -# define S_ISFIFO(m) 0 -# endif -#endif - -#ifndef S_ISLNK -# ifdef S_IFLNK -# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -# else -# define S_ISLNK(m) 0 -# endif -#endif - -#ifndef S_ISMPB /* V7 */ -# ifdef S_IFMPB -# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) -# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) -# else -# define S_ISMPB(m) 0 -# define S_ISMPC(m) 0 -# endif -#endif - -#ifndef S_ISNAM /* Xenix */ -# ifdef S_IFNAM -# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) -# else -# define S_ISNAM(m) 0 -# endif -#endif - -#ifndef S_ISNWK /* HP/UX */ -# ifdef S_IFNWK -# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) -# else -# define S_ISNWK(m) 0 -# endif -#endif - -#ifndef S_ISPORT /* Solaris 10 and up */ -# define S_ISPORT(m) 0 -#endif - -#ifndef S_ISREG -# ifdef S_IFREG -# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -# else -# define S_ISREG(m) 0 -# endif -#endif - -#ifndef S_ISSOCK -# ifdef S_IFSOCK -# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) -# else -# define S_ISSOCK(m) 0 -# endif -#endif - - -#ifndef S_TYPEISMQ -# define S_TYPEISMQ(p) 0 -#endif - -#ifndef S_TYPEISTMO -# define S_TYPEISTMO(p) 0 -#endif - - -#ifndef S_TYPEISSEM -# ifdef S_INSEM -# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) -# else -# define S_TYPEISSEM(p) 0 -# endif -#endif - -#ifndef S_TYPEISSHM -# ifdef S_INSHD -# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) -# else -# define S_TYPEISSHM(p) 0 -# endif -#endif - -/* high performance ("contiguous data") */ -#ifndef S_ISCTG -# define S_ISCTG(p) 0 -#endif - -/* Cray DMF (data migration facility): off line, with data */ -#ifndef S_ISOFD -# define S_ISOFD(p) 0 -#endif - -/* Cray DMF (data migration facility): off line, with no data */ -#ifndef S_ISOFL -# define S_ISOFL(p) 0 -#endif - -/* 4.4BSD whiteout */ -#ifndef S_ISWHT -# define S_ISWHT(m) 0 -#endif - -/* If any of the following are undefined, - define them to their de facto standard values. */ -#if !S_ISUID -# define S_ISUID 04000 -#endif -#if !S_ISGID -# define S_ISGID 02000 -#endif - -/* S_ISVTX is a common extension to POSIX. */ -#ifndef S_ISVTX -# define S_ISVTX 01000 -#endif - -#if !S_IRUSR && S_IREAD -# define S_IRUSR S_IREAD -#endif -#if !S_IRUSR -# define S_IRUSR 00400 -#endif -#if !S_IRGRP -# define S_IRGRP (S_IRUSR >> 3) -#endif -#if !S_IROTH -# define S_IROTH (S_IRUSR >> 6) -#endif - -#if !S_IWUSR && S_IWRITE -# define S_IWUSR S_IWRITE -#endif -#if !S_IWUSR -# define S_IWUSR 00200 -#endif -#if !S_IWGRP -# define S_IWGRP (S_IWUSR >> 3) -#endif -#if !S_IWOTH -# define S_IWOTH (S_IWUSR >> 6) -#endif - -#if !S_IXUSR && S_IEXEC -# define S_IXUSR S_IEXEC -#endif -#if !S_IXUSR -# define S_IXUSR 00100 -#endif -#if !S_IXGRP -# define S_IXGRP (S_IXUSR >> 3) -#endif -#if !S_IXOTH -# define S_IXOTH (S_IXUSR >> 6) -#endif - -#if !S_IRWXU -# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) -#endif -#if !S_IRWXG -# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) -#endif -#if !S_IRWXO -# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) -#endif - -/* S_IXUGO is a common extension to POSIX. */ -#if !S_IXUGO -# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) -#endif - -#ifndef S_IRWXUGO -# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_LSTAT@ -# if ! @HAVE_LSTAT@ -/* mingw does not support symlinks, therefore it does not have lstat. But - without links, stat does just fine. */ -# define lstat stat -# elif @REPLACE_LSTAT@ -# undef lstat -# define lstat rpl_lstat -extern int rpl_lstat (const char *name, struct stat *buf); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lstat -# define lstat(p,b) \ - (GL_LINK_WARNING ("lstat is unportable - " \ - "use gnulib module lstat for portability"), \ - lstat (p, b)) -#endif - - -#if @REPLACE_MKDIR@ -# undef mkdir -# define mkdir rpl_mkdir -extern int mkdir (char const *name, mode_t mode); -#else -/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. - Additionally, it declares _mkdir (and depending on compile flags, an - alias mkdir), only in the nonstandard , which is included above. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -static inline int -rpl_mkdir (char const *name, mode_t mode) -{ - return _mkdir (name); -} - -# define mkdir rpl_mkdir -# endif -#endif - - -/* Declare BSD extensions. */ - -#if @GNULIB_LCHMOD@ -/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME - denotes a symbolic link. */ -# if !@HAVE_LCHMOD@ -/* The lchmod replacement follows symbolic links. Callers should take - this into account; lchmod should be applied only to arguments that - are known to not be symbolic links. On hosts that lack lchmod, - this can lead to race conditions between the check and the - invocation of lchmod, but we know of no workarounds that are - reliable in general. You might try requesting support for lchmod - from your operating system supplier. */ -# define lchmod chmod -# endif -# if 0 /* assume already declared */ -extern int lchmod (const char *filename, mode_t mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lchmod -# define lchmod(f,m) \ - (GL_LINK_WARNING ("lchmod is unportable - " \ - "use gnulib module lchmod for portability"), \ - lchmod (f, m)) -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _GL_SYS_STAT_H */ -#endif /* _GL_SYS_STAT_H */ -#endif diff -Nru gnutls26-2.8.6/gl/sys_time.in.h gnutls26-2.4.1/gl/sys_time.in.h --- gnutls26-2.8.6/gl/sys_time.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/sys_time.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -/* Provide a more complete sys/time.h. - - Copyright (C) 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Paul Eggert. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined _GL_SYS_TIME_H - -/* Simply delegate to the system's header, without adding anything. */ -# if @HAVE_SYS_TIME_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -# endif - -#else - -# define _GL_SYS_TIME_H - -# if @HAVE_SYS_TIME_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -# else -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# if ! @HAVE_STRUCT_TIMEVAL@ -struct timeval -{ - time_t tv_sec; - long int tv_usec; -}; -# endif - -# if @REPLACE_GETTIMEOFDAY@ -# undef gettimeofday -# define gettimeofday rpl_gettimeofday -int gettimeofday (struct timeval *restrict, void *restrict); -# endif - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_SYS_TIME_H */ diff -Nru gnutls26-2.8.6/gl/tests/dummy.c gnutls26-2.4.1/gl/tests/dummy.c --- gnutls26-2.8.6/gl/tests/dummy.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/dummy.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -/* A dummy file, to prevent empty libraries from breaking builds. - Copyright (C) 2004, 2007 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 3 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, see . */ - -/* Some systems, reportedly OpenBSD and Mac OS X, refuse to create - libraries without any object files. You might get an error like: - - > ar cru .libs/libgl.a - > ar: no archive members specified - - Compiling this file, and adding its object file to the library, will - prevent the library from being empty. */ - -/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries - that don't export any symbol. You might get an error like: - - > cc ... libgnu.a - > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a - - Compiling this file, and adding its object file to the library, will - prevent the library from exporting no symbols. */ - -#ifdef __sun -/* This declaration ensures that the library will export at least 1 symbol. */ -int gl_dummy_symbol; -#else -/* This declaration is solely to ensure that after preprocessing - this file is never empty. */ -typedef int dummy; -#endif diff -Nru gnutls26-2.8.6/gl/tests/gettimeofday.c gnutls26-2.4.1/gl/tests/gettimeofday.c --- gnutls26-2.8.6/gl/tests/gettimeofday.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/gettimeofday.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,145 +0,0 @@ -/* Provide gettimeofday for systems that don't have it or for which it's broken. - - Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* written by Jim Meyering */ - -#include - -/* Specification. */ -#include - -#include - -#if HAVE_SYS_TIMEB_H -# include -#endif - -#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME - -/* Work around the bug in some systems whereby gettimeofday clobbers - the static buffer that localtime uses for its return value. The - gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has - this problem. The tzset replacement is necessary for at least - Solaris 2.5, 2.5.1, and 2.6. */ - -static struct tm tm_zero_buffer; -static struct tm *localtime_buffer_addr = &tm_zero_buffer; - -#undef localtime -extern struct tm *localtime (time_t const *); - -#undef gmtime -extern struct tm *gmtime (time_t const *); - -/* This is a wrapper for localtime. It is used only on systems for which - gettimeofday clobbers the static buffer used for localtime's result. - - On the first call, record the address of the static buffer that - localtime uses for its result. */ - -struct tm * -rpl_localtime (time_t const *timep) -{ - struct tm *tm = localtime (timep); - - if (localtime_buffer_addr == &tm_zero_buffer) - localtime_buffer_addr = tm; - - return tm; -} - -/* Same as above, since gmtime and localtime use the same buffer. */ -struct tm * -rpl_gmtime (time_t const *timep) -{ - struct tm *tm = gmtime (timep); - - if (localtime_buffer_addr == &tm_zero_buffer) - localtime_buffer_addr = tm; - - return tm; -} - -#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */ - -#if TZSET_CLOBBERS_LOCALTIME - -#undef tzset -extern void tzset (void); - -/* This is a wrapper for tzset, for systems on which tzset may clobber - the static buffer used for localtime's result. */ -void -rpl_tzset (void) -{ - /* Save and restore the contents of the buffer used for localtime's - result around the call to tzset. */ - struct tm save = *localtime_buffer_addr; - tzset (); - *localtime_buffer_addr = save; -} -#endif - -/* This is a wrapper for gettimeofday. It is used only on systems - that lack this function, or whose implementation of this function - causes problems. */ - -int -rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz) -{ -#undef gettimeofday -#if HAVE_GETTIMEOFDAY -# if GETTIMEOFDAY_CLOBBERS_LOCALTIME - /* Save and restore the contents of the buffer used for localtime's - result around the call to gettimeofday. */ - struct tm save = *localtime_buffer_addr; -# endif - - int result = gettimeofday (tv, tz); - -# if GETTIMEOFDAY_CLOBBERS_LOCALTIME - *localtime_buffer_addr = save; -# endif - - return result; - -#else - -# if HAVE__FTIME - - struct _timeb timebuf; - _ftime (&timebuf); - tv->tv_sec = timebuf.time; - tv->tv_usec = timebuf.millitm * 1000; - -# else - -# if !defined OK_TO_USE_1S_CLOCK -# error "Only 1-second nominal clock resolution found. Is that intended?" \ - "If so, compile with the -DOK_TO_USE_1S_CLOCK option." -# endif - tv->tv_sec = time (NULL); - tv->tv_usec = 0; - -# endif - - return 0; - -#endif -} diff -Nru gnutls26-2.8.6/gl/tests/ioctl.c gnutls26-2.4.1/gl/tests/ioctl.c --- gnutls26-2.8.6/gl/tests/ioctl.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/ioctl.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* ioctl.c --- wrappers for Windows ioctl function - - Copyright (C) 2008, 2009 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -#include - -#include - -#define WIN32_LEAN_AND_MEAN -/* Get winsock2.h. */ -#include - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -int -rpl_ioctl (int fd, int req, ...) -{ - void *buf; - va_list args; - SOCKET sock; - int r; - - va_start (args, req); - buf = va_arg (args, void *); - va_end (args); - - sock = FD_TO_SOCKET (fd); - r = ioctlsocket (sock, req, buf); - if (r < 0) - set_winsock_errno (); - - return r; -} diff -Nru gnutls26-2.8.6/gl/tests/Makefile.am gnutls26-2.4.1/gl/tests/Makefile.am --- gnutls26-2.8.6/gl/tests/Makefile.am 2010-03-15 09:59:08.000000000 +0000 +++ gnutls26-2.4.1/gl/tests/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,395 +0,0 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. - -AUTOMAKE_OPTIONS = 1.5 foreign - -SUBDIRS = -TESTS = -TESTS_ENVIRONMENT = -noinst_PROGRAMS = -check_PROGRAMS = -noinst_HEADERS = -noinst_LIBRARIES = -check_LIBRARIES = libtests.a -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -AM_CPPFLAGS = \ - -I. -I$(srcdir) \ - -I../.. -I$(srcdir)/../.. \ - -I../../gl -I$(srcdir)/../../gl - -LDADD = libtests.a ../../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS) - -libtests_a_SOURCES = -libtests_a_LIBADD = $(gltests_LIBOBJS) -libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) -EXTRA_libtests_a_SOURCES = -AM_LIBTOOLFLAGS = --preserve-dup-deps - -## begin gnulib module alloca-opt-tests - -TESTS += test-alloca-opt -check_PROGRAMS += test-alloca-opt - -EXTRA_DIST += test-alloca-opt.c - -## end gnulib module alloca-opt-tests - -## begin gnulib module arpa_inet-tests - -TESTS += test-arpa_inet -check_PROGRAMS += test-arpa_inet - -EXTRA_DIST += test-arpa_inet.c - -## end gnulib module arpa_inet-tests - -## begin gnulib module c-ctype-tests - -TESTS += test-c-ctype -check_PROGRAMS += test-c-ctype - -EXTRA_DIST += test-c-ctype.c - -## end gnulib module c-ctype-tests - -## begin gnulib module errno-tests - -TESTS += test-errno -check_PROGRAMS += test-errno - -EXTRA_DIST += test-errno.c - -## end gnulib module errno-tests - -## begin gnulib module fseeko-tests - -TESTS += test-fseeko.sh test-fseeko2.sh -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' -check_PROGRAMS += test-fseeko -EXTRA_DIST += test-fseeko.c test-fseeko.sh test-fseeko2.sh - -## end gnulib module fseeko-tests - -## begin gnulib module getaddrinfo-tests - -TESTS += test-getaddrinfo -check_PROGRAMS += test-getaddrinfo -test_getaddrinfo_LDADD = $(LDADD) @GETADDRINFO_LIB@ @LIBINTL@ - -EXTRA_DIST += test-getaddrinfo.c - -## end gnulib module getaddrinfo-tests - -## begin gnulib module getdelim-tests - -TESTS += test-getdelim -check_PROGRAMS += test-getdelim -MOSTLYCLEANFILES += test-getdelim.txt -EXTRA_DIST += test-getdelim.c - -## end gnulib module getdelim-tests - -## begin gnulib module getline-tests - -TESTS += test-getline -check_PROGRAMS += test-getline -MOSTLYCLEANFILES += test-getline.txt -EXTRA_DIST += test-getline.c - -## end gnulib module getline-tests - -## begin gnulib module gettimeofday - - -EXTRA_DIST += gettimeofday.c - -EXTRA_libtests_a_SOURCES += gettimeofday.c - -## end gnulib module gettimeofday - -## begin gnulib module gettimeofday-tests - -TESTS += test-gettimeofday -check_PROGRAMS += test-gettimeofday - -EXTRA_DIST += test-gettimeofday.c - -## end gnulib module gettimeofday-tests - -## begin gnulib module ioctl - - -EXTRA_DIST += ioctl.c w32sock.h - -EXTRA_libtests_a_SOURCES += ioctl.c - -## end gnulib module ioctl - -## begin gnulib module lseek-tests - -TESTS += test-lseek.sh -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' -check_PROGRAMS += test-lseek -EXTRA_DIST += test-lseek.c test-lseek.sh - -## end gnulib module lseek-tests - -## begin gnulib module netdb-tests - -TESTS += test-netdb -check_PROGRAMS += test-netdb - -EXTRA_DIST += test-netdb.c - -## end gnulib module netdb-tests - -## begin gnulib module netinet_in-tests - -TESTS += test-netinet_in -check_PROGRAMS += test-netinet_in - -EXTRA_DIST += test-netinet_in.c - -## end gnulib module netinet_in-tests - -## begin gnulib module perror-tests - -TESTS += test-perror.sh -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' -check_PROGRAMS += test-perror -EXTRA_DIST += test-perror.c test-perror.sh - -## end gnulib module perror-tests - -## begin gnulib module read-file-tests - -TESTS += test-read-file -check_PROGRAMS += test-read-file -EXTRA_DIST += test-read-file.c - -## end gnulib module read-file-tests - -## begin gnulib module select-tests - -TESTS += test-select test-select-in.sh test-select-out.sh -# test-select-stdin has to be run by hand. -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' -check_PROGRAMS += test-select test-select-fd test-select-stdin -test_select_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) -test_select_fd_LDADD = $(LDADD) @LIBSOCKET@ -test_select_stdin_LDADD = $(LDADD) @LIBSOCKET@ - -EXTRA_DIST += test-select.c test-select-fd.c test-select-in.sh test-select-out.sh test-select-stdin.c - -## end gnulib module select-tests - -## begin gnulib module snprintf-tests - -TESTS += test-snprintf -check_PROGRAMS += test-snprintf - -EXTRA_DIST += test-snprintf.c - -## end gnulib module snprintf-tests - -## begin gnulib module sockets-tests - -TESTS += test-sockets -check_PROGRAMS += test-sockets -test_sockets_LDADD = $(LDADD) @LIBSOCKET@ -EXTRA_DIST += test-sockets.c - -## end gnulib module sockets-tests - -## begin gnulib module stdbool-tests - -TESTS += test-stdbool -check_PROGRAMS += test-stdbool - -EXTRA_DIST += test-stdbool.c - -## end gnulib module stdbool-tests - -## begin gnulib module stdint-tests - -TESTS += test-stdint -check_PROGRAMS += test-stdint - -EXTRA_DIST += test-stdint.c - -## end gnulib module stdint-tests - -## begin gnulib module stdio-tests - -TESTS += test-stdio -check_PROGRAMS += test-stdio - -EXTRA_DIST += test-stdio.c - -## end gnulib module stdio-tests - -## begin gnulib module stdlib-tests - -TESTS += test-stdlib -check_PROGRAMS += test-stdlib - -EXTRA_DIST += test-stdlib.c - -## end gnulib module stdlib-tests - -## begin gnulib module strerror-tests - -TESTS += test-strerror -check_PROGRAMS += test-strerror -EXTRA_DIST += test-strerror.c - -## end gnulib module strerror-tests - -## begin gnulib module string-tests - -TESTS += test-string -check_PROGRAMS += test-string - -EXTRA_DIST += test-string.c - -## end gnulib module string-tests - -## begin gnulib module sys_ioctl - -BUILT_SOURCES += $(SYS_IOCTL_H) - -# We need the following in order to create when the system -# does not have a complete one. -sys/ioctl.h: sys_ioctl.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ - -e 's|@''GNULIB_IOCTL''@|$(GNULIB_IOCTL)|g' \ - -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_ioctl.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += sys/ioctl.h sys/ioctl.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_ioctl.in.h - -## end gnulib module sys_ioctl - -## begin gnulib module sys_select-tests - -TESTS += test-sys_select -check_PROGRAMS += test-sys_select - -EXTRA_DIST += test-sys_select.c - -## end gnulib module sys_select-tests - -## begin gnulib module sys_socket-tests - -TESTS += test-sys_socket -check_PROGRAMS += test-sys_socket - -EXTRA_DIST += test-sys_socket.c - -## end gnulib module sys_socket-tests - -## begin gnulib module sys_stat-tests - -TESTS += test-sys_stat -check_PROGRAMS += test-sys_stat - -EXTRA_DIST += test-sys_stat.c - -## end gnulib module sys_stat-tests - -## begin gnulib module sys_time-tests - -TESTS += test-sys_time -check_PROGRAMS += test-sys_time - -EXTRA_DIST += test-sys_time.c - -## end gnulib module sys_time-tests - -## begin gnulib module unistd-tests - -TESTS += test-unistd -check_PROGRAMS += test-unistd - -EXTRA_DIST += test-unistd.c - -## end gnulib module unistd-tests - -## begin gnulib module vasnprintf-tests - -TESTS += test-vasnprintf -check_PROGRAMS += test-vasnprintf - -EXTRA_DIST += test-vasnprintf.c - -## end gnulib module vasnprintf-tests - -## begin gnulib module vc-list-files-tests - -TESTS += test-vc-list-files-git.sh -TESTS += test-vc-list-files-cvs.sh -TESTS_ENVIRONMENT += PATH='$(abs_aux_dir)'$(PATH_SEPARATOR)"$$PATH" -EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh - -## end gnulib module vc-list-files-tests - -## begin gnulib module verify - -libtests_a_SOURCES += verify.h - -## end gnulib module verify - -## begin gnulib module wchar-tests - -TESTS += test-wchar -check_PROGRAMS += test-wchar - -EXTRA_DIST += test-wchar.c - -## end gnulib module wchar-tests - -## begin gnulib module dummy - -libtests_a_SOURCES += dummy.c - -## end gnulib module dummy - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : diff -Nru gnutls26-2.8.6/gl/tests/Makefile.in gnutls26-2.4.1/gl/tests/Makefile.in --- gnutls26-2.8.6/gl/tests/Makefile.in 2010-03-15 10:29:20.000000000 +0000 +++ gnutls26-2.4.1/gl/tests/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,1632 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -TESTS = test-alloca-opt$(EXEEXT) test-arpa_inet$(EXEEXT) \ - test-c-ctype$(EXEEXT) test-errno$(EXEEXT) test-fseeko.sh \ - test-fseeko2.sh test-getaddrinfo$(EXEEXT) \ - test-getdelim$(EXEEXT) test-getline$(EXEEXT) \ - test-gettimeofday$(EXEEXT) test-lseek.sh test-netdb$(EXEEXT) \ - test-netinet_in$(EXEEXT) test-perror.sh \ - test-read-file$(EXEEXT) test-select$(EXEEXT) test-select-in.sh \ - test-select-out.sh test-snprintf$(EXEEXT) \ - test-sockets$(EXEEXT) test-stdbool$(EXEEXT) \ - test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ - test-strerror$(EXEEXT) test-string$(EXEEXT) \ - test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \ - test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \ - test-unistd$(EXEEXT) test-vasnprintf$(EXEEXT) \ - test-vc-list-files-git.sh test-vc-list-files-cvs.sh \ - test-wchar$(EXEEXT) -noinst_PROGRAMS = -check_PROGRAMS = test-alloca-opt$(EXEEXT) test-arpa_inet$(EXEEXT) \ - test-c-ctype$(EXEEXT) test-errno$(EXEEXT) test-fseeko$(EXEEXT) \ - test-getaddrinfo$(EXEEXT) test-getdelim$(EXEEXT) \ - test-getline$(EXEEXT) test-gettimeofday$(EXEEXT) \ - test-lseek$(EXEEXT) test-netdb$(EXEEXT) \ - test-netinet_in$(EXEEXT) test-perror$(EXEEXT) \ - test-read-file$(EXEEXT) test-select$(EXEEXT) \ - test-select-fd$(EXEEXT) test-select-stdin$(EXEEXT) \ - test-snprintf$(EXEEXT) test-sockets$(EXEEXT) \ - test-stdbool$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \ - test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \ - test-string$(EXEEXT) test-sys_select$(EXEEXT) \ - test-sys_socket$(EXEEXT) test-sys_stat$(EXEEXT) \ - test-sys_time$(EXEEXT) test-unistd$(EXEEXT) \ - test-vasnprintf$(EXEEXT) test-wchar$(EXEEXT) -subdir = gl/tests -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ - $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -libtests_a_AR = $(AR) $(ARFLAGS) -am__DEPENDENCIES_1 = -am_libtests_a_OBJECTS = dummy.$(OBJEXT) -libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) -PROGRAMS = $(noinst_PROGRAMS) -test_alloca_opt_SOURCES = test-alloca-opt.c -test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT) -test_alloca_opt_LDADD = $(LDADD) -test_alloca_opt_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_arpa_inet_SOURCES = test-arpa_inet.c -test_arpa_inet_OBJECTS = test-arpa_inet.$(OBJEXT) -test_arpa_inet_LDADD = $(LDADD) -test_arpa_inet_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_c_ctype_SOURCES = test-c-ctype.c -test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT) -test_c_ctype_LDADD = $(LDADD) -test_c_ctype_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_errno_SOURCES = test-errno.c -test_errno_OBJECTS = test-errno.$(OBJEXT) -test_errno_LDADD = $(LDADD) -test_errno_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_fseeko_SOURCES = test-fseeko.c -test_fseeko_OBJECTS = test-fseeko.$(OBJEXT) -test_fseeko_LDADD = $(LDADD) -test_fseeko_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_getaddrinfo_SOURCES = test-getaddrinfo.c -test_getaddrinfo_OBJECTS = test-getaddrinfo.$(OBJEXT) -am__DEPENDENCIES_2 = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_getaddrinfo_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_getdelim_SOURCES = test-getdelim.c -test_getdelim_OBJECTS = test-getdelim.$(OBJEXT) -test_getdelim_LDADD = $(LDADD) -test_getdelim_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_getline_SOURCES = test-getline.c -test_getline_OBJECTS = test-getline.$(OBJEXT) -test_getline_LDADD = $(LDADD) -test_getline_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_gettimeofday_SOURCES = test-gettimeofday.c -test_gettimeofday_OBJECTS = test-gettimeofday.$(OBJEXT) -test_gettimeofday_LDADD = $(LDADD) -test_gettimeofday_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_lseek_SOURCES = test-lseek.c -test_lseek_OBJECTS = test-lseek.$(OBJEXT) -test_lseek_LDADD = $(LDADD) -test_lseek_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_netdb_SOURCES = test-netdb.c -test_netdb_OBJECTS = test-netdb.$(OBJEXT) -test_netdb_LDADD = $(LDADD) -test_netdb_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_netinet_in_SOURCES = test-netinet_in.c -test_netinet_in_OBJECTS = test-netinet_in.$(OBJEXT) -test_netinet_in_LDADD = $(LDADD) -test_netinet_in_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_perror_SOURCES = test-perror.c -test_perror_OBJECTS = test-perror.$(OBJEXT) -test_perror_LDADD = $(LDADD) -test_perror_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_read_file_SOURCES = test-read-file.c -test_read_file_OBJECTS = test-read-file.$(OBJEXT) -test_read_file_LDADD = $(LDADD) -test_read_file_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_select_SOURCES = test-select.c -test_select_OBJECTS = test-select.$(OBJEXT) -test_select_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -test_select_fd_SOURCES = test-select-fd.c -test_select_fd_OBJECTS = test-select-fd.$(OBJEXT) -test_select_fd_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_select_stdin_SOURCES = test-select-stdin.c -test_select_stdin_OBJECTS = test-select-stdin.$(OBJEXT) -test_select_stdin_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_snprintf_SOURCES = test-snprintf.c -test_snprintf_OBJECTS = test-snprintf.$(OBJEXT) -test_snprintf_LDADD = $(LDADD) -test_snprintf_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_sockets_SOURCES = test-sockets.c -test_sockets_OBJECTS = test-sockets.$(OBJEXT) -test_sockets_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_stdbool_SOURCES = test-stdbool.c -test_stdbool_OBJECTS = test-stdbool.$(OBJEXT) -test_stdbool_LDADD = $(LDADD) -test_stdbool_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdint_SOURCES = test-stdint.c -test_stdint_OBJECTS = test-stdint.$(OBJEXT) -test_stdint_LDADD = $(LDADD) -test_stdint_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdio_SOURCES = test-stdio.c -test_stdio_OBJECTS = test-stdio.$(OBJEXT) -test_stdio_LDADD = $(LDADD) -test_stdio_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdlib_SOURCES = test-stdlib.c -test_stdlib_OBJECTS = test-stdlib.$(OBJEXT) -test_stdlib_LDADD = $(LDADD) -test_stdlib_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_strerror_SOURCES = test-strerror.c -test_strerror_OBJECTS = test-strerror.$(OBJEXT) -test_strerror_LDADD = $(LDADD) -test_strerror_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_string_SOURCES = test-string.c -test_string_OBJECTS = test-string.$(OBJEXT) -test_string_LDADD = $(LDADD) -test_string_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_sys_select_SOURCES = test-sys_select.c -test_sys_select_OBJECTS = test-sys_select.$(OBJEXT) -test_sys_select_LDADD = $(LDADD) -test_sys_select_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_sys_socket_SOURCES = test-sys_socket.c -test_sys_socket_OBJECTS = test-sys_socket.$(OBJEXT) -test_sys_socket_LDADD = $(LDADD) -test_sys_socket_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_sys_stat_SOURCES = test-sys_stat.c -test_sys_stat_OBJECTS = test-sys_stat.$(OBJEXT) -test_sys_stat_LDADD = $(LDADD) -test_sys_stat_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_sys_time_SOURCES = test-sys_time.c -test_sys_time_OBJECTS = test-sys_time.$(OBJEXT) -test_sys_time_LDADD = $(LDADD) -test_sys_time_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_unistd_SOURCES = test-unistd.c -test_unistd_OBJECTS = test-unistd.$(OBJEXT) -test_unistd_LDADD = $(LDADD) -test_unistd_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_vasnprintf_SOURCES = test-vasnprintf.c -test_vasnprintf_OBJECTS = test-vasnprintf.$(OBJEXT) -test_vasnprintf_LDADD = $(LDADD) -test_vasnprintf_DEPENDENCIES = libtests.a ../../gl/libgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_wchar_SOURCES = test-wchar.c -test_wchar_OBJECTS = test-wchar.$(OBJEXT) -test_wchar_LDADD = $(LDADD) -test_wchar_DEPENDENCIES = libtests.a ../../gl/libgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - test-alloca-opt.c test-arpa_inet.c test-c-ctype.c test-errno.c \ - test-fseeko.c test-getaddrinfo.c test-getdelim.c \ - test-getline.c test-gettimeofday.c test-lseek.c test-netdb.c \ - test-netinet_in.c test-perror.c test-read-file.c test-select.c \ - test-select-fd.c test-select-stdin.c test-snprintf.c \ - test-sockets.c test-stdbool.c test-stdint.c test-stdio.c \ - test-stdlib.c test-strerror.c test-string.c test-sys_select.c \ - test-sys_socket.c test-sys_stat.c test-sys_time.c \ - test-unistd.c test-vasnprintf.c test-wchar.c -DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - test-alloca-opt.c test-arpa_inet.c test-c-ctype.c test-errno.c \ - test-fseeko.c test-getaddrinfo.c test-getdelim.c \ - test-getline.c test-gettimeofday.c test-lseek.c test-netdb.c \ - test-netinet_in.c test-perror.c test-read-file.c test-select.c \ - test-select-fd.c test-select-stdin.c test-snprintf.c \ - test-sockets.c test-stdbool.c test-stdint.c test-stdio.c \ - test-stdlib.c test-strerror.c test-string.c test-sys_select.c \ - test-sys_socket.c test-sys_stat.c test-sys_time.c \ - test-unistd.c test-vasnprintf.c test-wchar.c -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -am__tty_colors = \ -red=; grn=; lgn=; blu=; std= -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ -AR = @AR@ -ARPA_INET_H = @ARPA_INET_H@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FLOAT_H = @FLOAT_H@ -GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ -GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ -GUILE = @GUILE@ -GUILE_CFLAGS = @GUILE_CFLAGS@ -GUILE_CONFIG = @GUILE_CONFIG@ -GUILE_LDFLAGS = @GUILE_LDFLAGS@ -GUILE_SITE = @GUILE_SITE@ -GUILE_TOOLS = @GUILE_TOOLS@ -HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ -HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ -HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ -HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ -HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ -HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ -HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ -HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSETENV = @HAVE_UNSETENV@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ -HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ -HTML_DIR = @HTML_DIR@ -INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBREADLINE = @LIBREADLINE@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ -NETINET_IN_H = @NETINET_IN_H@ -NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ -NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ -NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ -NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ -NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ -NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ -REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ -REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ -REPLACE_STRERROR = @REPLACE_STRERROR@ -REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ -REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ -REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -gl_LIBOBJS = @gl_LIBOBJS@ -gl_LTLIBOBJS = @gl_LTLIBOBJS@ -gltests_LIBOBJS = @gltests_LIBOBJS@ -gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ -guile_snarf = @guile_snarf@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.5 foreign -SUBDIRS = -# test-select-stdin has to be run by hand. -TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ - EXEEXT='@EXEEXT@' srcdir='$(srcdir)' EXEEXT='@EXEEXT@' \ - srcdir='$(srcdir)' EXEEXT='@EXEEXT@' \ - PATH='$(abs_aux_dir)'$(PATH_SEPARATOR)"$$PATH" -noinst_HEADERS = -noinst_LIBRARIES = -check_LIBRARIES = libtests.a -EXTRA_DIST = test-alloca-opt.c test-arpa_inet.c test-c-ctype.c \ - test-errno.c test-fseeko.c test-fseeko.sh test-fseeko2.sh \ - test-getaddrinfo.c test-getdelim.c test-getline.c \ - gettimeofday.c test-gettimeofday.c ioctl.c w32sock.h \ - test-lseek.c test-lseek.sh test-netdb.c test-netinet_in.c \ - test-perror.c test-perror.sh test-read-file.c test-select.c \ - test-select-fd.c test-select-in.sh test-select-out.sh \ - test-select-stdin.c test-snprintf.c test-sockets.c \ - test-stdbool.c test-stdint.c test-stdio.c test-stdlib.c \ - test-strerror.c test-string.c sys_ioctl.in.h test-sys_select.c \ - test-sys_socket.c test-sys_stat.c test-sys_time.c \ - test-unistd.c test-vasnprintf.c test-vc-list-files-git.sh \ - test-vc-list-files-cvs.sh test-wchar.c -BUILT_SOURCES = $(SYS_IOCTL_H) -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump test-getdelim.txt test-getline.txt \ - sys/ioctl.h sys/ioctl.h-t -MOSTLYCLEANDIRS = sys -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -AM_CPPFLAGS = \ - -I. -I$(srcdir) \ - -I../.. -I$(srcdir)/../.. \ - -I../../gl -I$(srcdir)/../../gl - -LDADD = libtests.a ../../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS) -libtests_a_SOURCES = verify.h dummy.c -libtests_a_LIBADD = $(gltests_LIBOBJS) -libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) -EXTRA_libtests_a_SOURCES = gettimeofday.c ioctl.c -AM_LIBTOOLFLAGS = --preserve-dup-deps -test_getaddrinfo_LDADD = $(LDADD) @GETADDRINFO_LIB@ @LIBINTL@ -test_select_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) -test_select_fd_LDADD = $(LDADD) @LIBSOCKET@ -test_select_stdin_LDADD = $(LDADD) @LIBSOCKET@ -test_sockets_LDADD = $(LDADD) @LIBSOCKET@ -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gl/tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign gl/tests/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkLIBRARIES: - -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) - -rm -f libtests.a - $(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) - $(RANLIB) libtests.a - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) - @rm -f test-alloca-opt$(EXEEXT) - $(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS) -test-arpa_inet$(EXEEXT): $(test_arpa_inet_OBJECTS) $(test_arpa_inet_DEPENDENCIES) - @rm -f test-arpa_inet$(EXEEXT) - $(LINK) $(test_arpa_inet_OBJECTS) $(test_arpa_inet_LDADD) $(LIBS) -test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) - @rm -f test-c-ctype$(EXEEXT) - $(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS) -test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) - @rm -f test-errno$(EXEEXT) - $(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS) -test-fseeko$(EXEEXT): $(test_fseeko_OBJECTS) $(test_fseeko_DEPENDENCIES) - @rm -f test-fseeko$(EXEEXT) - $(LINK) $(test_fseeko_OBJECTS) $(test_fseeko_LDADD) $(LIBS) -test-getaddrinfo$(EXEEXT): $(test_getaddrinfo_OBJECTS) $(test_getaddrinfo_DEPENDENCIES) - @rm -f test-getaddrinfo$(EXEEXT) - $(LINK) $(test_getaddrinfo_OBJECTS) $(test_getaddrinfo_LDADD) $(LIBS) -test-getdelim$(EXEEXT): $(test_getdelim_OBJECTS) $(test_getdelim_DEPENDENCIES) - @rm -f test-getdelim$(EXEEXT) - $(LINK) $(test_getdelim_OBJECTS) $(test_getdelim_LDADD) $(LIBS) -test-getline$(EXEEXT): $(test_getline_OBJECTS) $(test_getline_DEPENDENCIES) - @rm -f test-getline$(EXEEXT) - $(LINK) $(test_getline_OBJECTS) $(test_getline_LDADD) $(LIBS) -test-gettimeofday$(EXEEXT): $(test_gettimeofday_OBJECTS) $(test_gettimeofday_DEPENDENCIES) - @rm -f test-gettimeofday$(EXEEXT) - $(LINK) $(test_gettimeofday_OBJECTS) $(test_gettimeofday_LDADD) $(LIBS) -test-lseek$(EXEEXT): $(test_lseek_OBJECTS) $(test_lseek_DEPENDENCIES) - @rm -f test-lseek$(EXEEXT) - $(LINK) $(test_lseek_OBJECTS) $(test_lseek_LDADD) $(LIBS) -test-netdb$(EXEEXT): $(test_netdb_OBJECTS) $(test_netdb_DEPENDENCIES) - @rm -f test-netdb$(EXEEXT) - $(LINK) $(test_netdb_OBJECTS) $(test_netdb_LDADD) $(LIBS) -test-netinet_in$(EXEEXT): $(test_netinet_in_OBJECTS) $(test_netinet_in_DEPENDENCIES) - @rm -f test-netinet_in$(EXEEXT) - $(LINK) $(test_netinet_in_OBJECTS) $(test_netinet_in_LDADD) $(LIBS) -test-perror$(EXEEXT): $(test_perror_OBJECTS) $(test_perror_DEPENDENCIES) - @rm -f test-perror$(EXEEXT) - $(LINK) $(test_perror_OBJECTS) $(test_perror_LDADD) $(LIBS) -test-read-file$(EXEEXT): $(test_read_file_OBJECTS) $(test_read_file_DEPENDENCIES) - @rm -f test-read-file$(EXEEXT) - $(LINK) $(test_read_file_OBJECTS) $(test_read_file_LDADD) $(LIBS) -test-select$(EXEEXT): $(test_select_OBJECTS) $(test_select_DEPENDENCIES) - @rm -f test-select$(EXEEXT) - $(LINK) $(test_select_OBJECTS) $(test_select_LDADD) $(LIBS) -test-select-fd$(EXEEXT): $(test_select_fd_OBJECTS) $(test_select_fd_DEPENDENCIES) - @rm -f test-select-fd$(EXEEXT) - $(LINK) $(test_select_fd_OBJECTS) $(test_select_fd_LDADD) $(LIBS) -test-select-stdin$(EXEEXT): $(test_select_stdin_OBJECTS) $(test_select_stdin_DEPENDENCIES) - @rm -f test-select-stdin$(EXEEXT) - $(LINK) $(test_select_stdin_OBJECTS) $(test_select_stdin_LDADD) $(LIBS) -test-snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES) - @rm -f test-snprintf$(EXEEXT) - $(LINK) $(test_snprintf_OBJECTS) $(test_snprintf_LDADD) $(LIBS) -test-sockets$(EXEEXT): $(test_sockets_OBJECTS) $(test_sockets_DEPENDENCIES) - @rm -f test-sockets$(EXEEXT) - $(LINK) $(test_sockets_OBJECTS) $(test_sockets_LDADD) $(LIBS) -test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) - @rm -f test-stdbool$(EXEEXT) - $(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS) -test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) - @rm -f test-stdint$(EXEEXT) - $(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS) -test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES) - @rm -f test-stdio$(EXEEXT) - $(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS) -test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) - @rm -f test-stdlib$(EXEEXT) - $(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS) -test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES) - @rm -f test-strerror$(EXEEXT) - $(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS) -test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES) - @rm -f test-string$(EXEEXT) - $(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS) -test-sys_select$(EXEEXT): $(test_sys_select_OBJECTS) $(test_sys_select_DEPENDENCIES) - @rm -f test-sys_select$(EXEEXT) - $(LINK) $(test_sys_select_OBJECTS) $(test_sys_select_LDADD) $(LIBS) -test-sys_socket$(EXEEXT): $(test_sys_socket_OBJECTS) $(test_sys_socket_DEPENDENCIES) - @rm -f test-sys_socket$(EXEEXT) - $(LINK) $(test_sys_socket_OBJECTS) $(test_sys_socket_LDADD) $(LIBS) -test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES) - @rm -f test-sys_stat$(EXEEXT) - $(LINK) $(test_sys_stat_OBJECTS) $(test_sys_stat_LDADD) $(LIBS) -test-sys_time$(EXEEXT): $(test_sys_time_OBJECTS) $(test_sys_time_DEPENDENCIES) - @rm -f test-sys_time$(EXEEXT) - $(LINK) $(test_sys_time_OBJECTS) $(test_sys_time_LDADD) $(LIBS) -test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) - @rm -f test-unistd$(EXEEXT) - $(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS) -test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES) - @rm -f test-vasnprintf$(EXEEXT) - $(LINK) $(test_vasnprintf_OBJECTS) $(test_vasnprintf_LDADD) $(LIBS) -test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES) - @rm -f test-wchar$(EXEEXT) - $(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-arpa_inet.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getaddrinfo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdelim.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getline.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-gettimeofday.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lseek.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netdb.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netinet_in.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-read-file.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-fd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-stdin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-snprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sockets.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_select.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_socket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_time.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasnprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - echo "$$grn$$dashes"; \ - else \ - echo "$$red$$dashes"; \ - fi; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes$$std"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-local - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - check-am ctags-recursive install install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-TESTS check-am clean \ - clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES \ - clean-noinstPROGRAMS ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am - - -# We need the following in order to create when the system -# does not have a complete one. -sys/ioctl.h: sys_ioctl.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ - -e 's|@''GNULIB_IOCTL''@|$(GNULIB_IOCTL)|g' \ - -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_ioctl.in.h; \ - } > $@-t - mv $@-t $@ - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : - -# 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: diff -Nru gnutls26-2.8.6/gl/tests/sys_ioctl.in.h gnutls26-2.4.1/gl/tests/sys_ioctl.in.h --- gnutls26-2.8.6/gl/tests/sys_ioctl.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/sys_ioctl.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ -/* Substitute for and wrapper around . - Copyright (C) 2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_SYS_IOCTL_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_SYS_IOCTL_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_IOCTL_H@ -#endif - -#ifndef _GL_SYS_IOCTL_H -#define _GL_SYS_IOCTL_H - -/* AIX 5.1 and Solaris 10 declare ioctl() in and in , - but not in . */ -#include - -/* The definition of GL_LINK_WARNING is copied here. */ - - -/* Declare overridden functions. */ - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_IOCTL@ -# if @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -# undef ioctl -# define ioctl rpl_ioctl -extern int ioctl (int fd, int request, ... /* {void *,char *} arg */); -# endif -#elif @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -# undef ioctl -# define ioctl ioctl_used_without_requesting_gnulib_module_ioctl -#elif defined GNULIB_POSIXCHECK -# undef ioctl -# define ioctl(f,c,a) \ - (GL_LINK_WARNING ("ioctl does not portably work on sockets - " \ - "use gnulib module ioctl for portability"), \ - ioctl (f, c, a)) -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _GL_SYS_IOCTL_H */ -#endif /* _GL_SYS_IOCTL_H */ diff -Nru gnutls26-2.8.6/gl/tests/test-alloca-opt.c gnutls26-2.4.1/gl/tests/test-alloca-opt.c --- gnutls26-2.8.6/gl/tests/test-alloca-opt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-alloca-opt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* Test of optional automatic memory allocation. - Copyright (C) 2005, 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#if HAVE_ALLOCA - -static void -do_allocation (int n) -{ - void *ptr = alloca (n); - (void) ptr; -} - -void (*func) (int) = do_allocation; - -#endif - -int -main () -{ -#if HAVE_ALLOCA - int i; - - /* Repeat a lot of times, to make sure there's no memory leak. */ - for (i = 0; i < 100000; i++) - { - /* Try various values. - n = 0 gave a crash on Alpha with gcc-2.5.8. - Some versions of MacOS X have a stack size limit of 512 KB. */ - func (34); - func (134); - func (399); - func (510823); - func (129321); - func (0); - func (4070); - func (4095); - func (1); - func (16582); - } -#endif - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-arpa_inet.c gnutls26-2.4.1/gl/tests/test-arpa_inet.c --- gnutls26-2.8.6/gl/tests/test-arpa_inet.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-arpa_inet.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-c-ctype.c gnutls26-2.4.1/gl/tests/test-c-ctype.c --- gnutls26-2.8.6/gl/tests/test-c-ctype.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-c-ctype.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,398 +0,0 @@ -/* Test of character handling in C locale. - Copyright (C) 2005, 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "c-ctype.h" - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static void -test_all (void) -{ - int c; - - for (c = -0x80; c < 0x100; c++) - { - ASSERT (c_isascii (c) == (c >= 0 && c < 0x80)); - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - ASSERT (c_isalnum (c) == 1); - break; - default: - ASSERT (c_isalnum (c) == 0); - break; - } - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - ASSERT (c_isalpha (c) == 1); - break; - default: - ASSERT (c_isalpha (c) == 0); - break; - } - - switch (c) - { - case '\t': case ' ': - ASSERT (c_isblank (c) == 1); - break; - default: - ASSERT (c_isblank (c) == 0); - break; - } - - ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f)); - - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - ASSERT (c_isdigit (c) == 1); - break; - default: - ASSERT (c_isdigit (c) == 0); - break; - } - - switch (c) - { - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - ASSERT (c_islower (c) == 1); - break; - default: - ASSERT (c_islower (c) == 0); - break; - } - - ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' ')); - - ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f)); - - ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c))); - - switch (c) - { - case ' ': case '\t': case '\n': case '\v': case '\f': case '\r': - ASSERT (c_isspace (c) == 1); - break; - default: - ASSERT (c_isspace (c) == 0); - break; - } - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - ASSERT (c_isupper (c) == 1); - break; - default: - ASSERT (c_isupper (c) == 0); - break; - } - - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - ASSERT (c_isxdigit (c) == 1); - break; - default: - ASSERT (c_isxdigit (c) == 0); - break; - } - - switch (c) - { - case 'A': - ASSERT (c_tolower (c) == 'a'); - ASSERT (c_toupper (c) == c); - break; - case 'B': - ASSERT (c_tolower (c) == 'b'); - ASSERT (c_toupper (c) == c); - break; - case 'C': - ASSERT (c_tolower (c) == 'c'); - ASSERT (c_toupper (c) == c); - break; - case 'D': - ASSERT (c_tolower (c) == 'd'); - ASSERT (c_toupper (c) == c); - break; - case 'E': - ASSERT (c_tolower (c) == 'e'); - ASSERT (c_toupper (c) == c); - break; - case 'F': - ASSERT (c_tolower (c) == 'f'); - ASSERT (c_toupper (c) == c); - break; - case 'G': - ASSERT (c_tolower (c) == 'g'); - ASSERT (c_toupper (c) == c); - break; - case 'H': - ASSERT (c_tolower (c) == 'h'); - ASSERT (c_toupper (c) == c); - break; - case 'I': - ASSERT (c_tolower (c) == 'i'); - ASSERT (c_toupper (c) == c); - break; - case 'J': - ASSERT (c_tolower (c) == 'j'); - ASSERT (c_toupper (c) == c); - break; - case 'K': - ASSERT (c_tolower (c) == 'k'); - ASSERT (c_toupper (c) == c); - break; - case 'L': - ASSERT (c_tolower (c) == 'l'); - ASSERT (c_toupper (c) == c); - break; - case 'M': - ASSERT (c_tolower (c) == 'm'); - ASSERT (c_toupper (c) == c); - break; - case 'N': - ASSERT (c_tolower (c) == 'n'); - ASSERT (c_toupper (c) == c); - break; - case 'O': - ASSERT (c_tolower (c) == 'o'); - ASSERT (c_toupper (c) == c); - break; - case 'P': - ASSERT (c_tolower (c) == 'p'); - ASSERT (c_toupper (c) == c); - break; - case 'Q': - ASSERT (c_tolower (c) == 'q'); - ASSERT (c_toupper (c) == c); - break; - case 'R': - ASSERT (c_tolower (c) == 'r'); - ASSERT (c_toupper (c) == c); - break; - case 'S': - ASSERT (c_tolower (c) == 's'); - ASSERT (c_toupper (c) == c); - break; - case 'T': - ASSERT (c_tolower (c) == 't'); - ASSERT (c_toupper (c) == c); - break; - case 'U': - ASSERT (c_tolower (c) == 'u'); - ASSERT (c_toupper (c) == c); - break; - case 'V': - ASSERT (c_tolower (c) == 'v'); - ASSERT (c_toupper (c) == c); - break; - case 'W': - ASSERT (c_tolower (c) == 'w'); - ASSERT (c_toupper (c) == c); - break; - case 'X': - ASSERT (c_tolower (c) == 'x'); - ASSERT (c_toupper (c) == c); - break; - case 'Y': - ASSERT (c_tolower (c) == 'y'); - ASSERT (c_toupper (c) == c); - break; - case 'Z': - ASSERT (c_tolower (c) == 'z'); - ASSERT (c_toupper (c) == c); - break; - case 'a': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'A'); - break; - case 'b': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'B'); - break; - case 'c': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'C'); - break; - case 'd': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'D'); - break; - case 'e': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'E'); - break; - case 'f': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'F'); - break; - case 'g': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'G'); - break; - case 'h': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'H'); - break; - case 'i': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'I'); - break; - case 'j': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'J'); - break; - case 'k': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'K'); - break; - case 'l': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'L'); - break; - case 'm': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'M'); - break; - case 'n': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'N'); - break; - case 'o': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'O'); - break; - case 'p': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'P'); - break; - case 'q': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Q'); - break; - case 'r': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'R'); - break; - case 's': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'S'); - break; - case 't': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'T'); - break; - case 'u': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'U'); - break; - case 'v': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'V'); - break; - case 'w': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'W'); - break; - case 'x': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'X'); - break; - case 'y': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Y'); - break; - case 'z': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Z'); - break; - default: - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == c); - break; - } - } -} - -int -main () -{ - test_all (); - - setlocale (LC_ALL, "de_DE"); - test_all (); - - setlocale (LC_ALL, "ja_JP.EUC-JP"); - test_all (); - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-errno.c gnutls26-2.4.1/gl/tests/test-errno.c --- gnutls26-2.8.6/gl/tests/test-errno.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-errno.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,117 +0,0 @@ -/* Test of substitute. - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include - -/* Verify that the POSIX mandated errno values exist and can be used as - initializers outside of a function. - The variable names happen to match the Linux/x86 error numbers. */ -int e1 = EPERM; -int e2 = ENOENT; -int e3 = ESRCH; -int e4 = EINTR; -int e5 = EIO; -int e6 = ENXIO; -int e7 = E2BIG; -int e8 = ENOEXEC; -int e9 = EBADF; -int e10 = ECHILD; -int e11 = EAGAIN; -int e11a = EWOULDBLOCK; -int e12 = ENOMEM; -int e13 = EACCES; -int e14 = EFAULT; -int e16 = EBUSY; -int e17 = EEXIST; -int e18 = EXDEV; -int e19 = ENODEV; -int e20 = ENOTDIR; -int e21 = EISDIR; -int e22 = EINVAL; -int e23 = ENFILE; -int e24 = EMFILE; -int e25 = ENOTTY; -int e26 = ETXTBSY; -int e27 = EFBIG; -int e28 = ENOSPC; -int e29 = ESPIPE; -int e30 = EROFS; -int e31 = EMLINK; -int e32 = EPIPE; -int e33 = EDOM; -int e34 = ERANGE; -int e35 = EDEADLK; -int e36 = ENAMETOOLONG; -int e37 = ENOLCK; -int e38 = ENOSYS; -int e39 = ENOTEMPTY; -int e40 = ELOOP; -int e42 = ENOMSG; -int e43 = EIDRM; -int e67 = ENOLINK; -int e71 = EPROTO; -int e72 = EMULTIHOP; -int e74 = EBADMSG; -int e75 = EOVERFLOW; -int e84 = EILSEQ; -int e88 = ENOTSOCK; -int e89 = EDESTADDRREQ; -int e90 = EMSGSIZE; -int e91 = EPROTOTYPE; -int e92 = ENOPROTOOPT; -int e93 = EPROTONOSUPPORT; -int e95 = EOPNOTSUPP; -int e95a = ENOTSUP; -int e97 = EAFNOSUPPORT; -int e98 = EADDRINUSE; -int e99 = EADDRNOTAVAIL; -int e100 = ENETDOWN; -int e101 = ENETUNREACH; -int e102 = ENETRESET; -int e103 = ECONNABORTED; -int e104 = ECONNRESET; -int e105 = ENOBUFS; -int e106 = EISCONN; -int e107 = ENOTCONN; -int e110 = ETIMEDOUT; -int e111 = ECONNREFUSED; -int e113 = EHOSTUNREACH; -int e114 = EALREADY; -int e115 = EINPROGRESS; -int e116 = ESTALE; -int e122 = EDQUOT; -int e125 = ECANCELED; - -/* Don't verify that these errno values are all different, except for possibly - EWOULDBLOCK == EAGAIN. Even Linux/x86 does not pass this check: it has - ENOTSUP == EOPNOTSUPP. */ - -int -main () -{ - /* Verify that errno can be assigned. */ - errno = EOVERFLOW; - - /* snprintf() callers want to distinguish EINVAL and EOVERFLOW. */ - if (errno == EINVAL) - return 1; - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-fseeko2.sh gnutls26-2.4.1/gl/tests/test-fseeko2.sh --- gnutls26-2.8.6/gl/tests/test-fseeko2.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-fseeko2.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -#!/bin/sh - -exec ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh" diff -Nru gnutls26-2.8.6/gl/tests/test-fseeko.c gnutls26-2.4.1/gl/tests/test-fseeko.c --- gnutls26-2.8.6/gl/tests/test-fseeko.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-fseeko.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,78 +0,0 @@ -/* Test of fseeko() function. - Copyright (C) 2007, 2008, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -#ifndef FUNC_UNGETC_BROKEN -# define FUNC_UNGETC_BROKEN 0 -#endif - -int -main (int argc, char **argv) -{ - /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh' - iff argc > 1. */ - int expected = argc > 1 ? 0 : -1; - /* Exit with success only if fseek/fseeko agree. */ - int r1 = fseeko (stdin, 0, SEEK_CUR); - int r2 = fseek (stdin, 0, SEEK_CUR); - ASSERT (r1 == r2 && r1 == expected); - if (argc > 1) - { - /* Test that fseek discards previously read ungetc data. */ - int ch = fgetc (stdin); - ASSERT (ch == '#'); - ASSERT (ungetc (ch, stdin) == ch); - ASSERT (fseeko (stdin, 2, SEEK_SET) == 0); - ch = fgetc (stdin); - ASSERT (ch == '/'); - if (2 < argc) - { - if (FUNC_UNGETC_BROKEN) - { - fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", - stderr); - return 77; - } - /* Test that fseek discards random ungetc data. */ - ASSERT (ungetc (ch ^ 0xff, stdin) == (ch ^ 0xff)); - } - ASSERT (fseeko (stdin, 0, SEEK_END) == 0); - ASSERT (fgetc (stdin) == EOF); - /* Test that fseek resets end-of-file marker. */ - ASSERT (feof (stdin)); - ASSERT (fseeko (stdin, 0, SEEK_END) == 0); - ASSERT (!feof (stdin)); - } - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-fseeko.sh gnutls26-2.4.1/gl/tests/test-fseeko.sh --- gnutls26-2.8.6/gl/tests/test-fseeko.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-fseeko.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -#!/bin/sh - -./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1 -echo hi | ./test-fseeko${EXEEXT} || exit 1 -exit 0 diff -Nru gnutls26-2.8.6/gl/tests/test-getaddrinfo.c gnutls26-2.4.1/gl/tests/test-getaddrinfo.c --- gnutls26-2.8.6/gl/tests/test-getaddrinfo.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-getaddrinfo.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,176 +0,0 @@ -/* Test the getaddrinfo module. - - Copyright (C) 2006-2009 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 3 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, see . */ - -/* Written by Simon Josefsson. */ - -#include -#include - -#include -#include -#include -#include -#include - -/* Whether to print debugging messages. */ -#define ENABLE_DEBUGGING 0 - -#if ENABLE_DEBUGGING -# define dbgprintf printf -#else -# define dbgprintf if (0) printf -#endif - -/* BeOS does not have AF_UNSPEC. */ -#ifndef AF_UNSPEC -# define AF_UNSPEC 0 -#endif - -#ifndef EAI_SERVICE -# define EAI_SERVICE 0 -#endif - -int simple (char *host, char *service) -{ - char buf[BUFSIZ]; - static int skip = 0; - struct addrinfo hints; - struct addrinfo *ai0, *ai; - int res; - int err; - - /* Once we skipped the test, do not try anything else */ - if (skip) - return 0; - - dbgprintf ("Finding %s service %s...\n", host, service); - - /* This initializes "hints" but does not use it. Is there a reason - for this? If so, please fix this comment. */ - memset (&hints, 0, sizeof (hints)); - hints.ai_flags = AI_CANONNAME; - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - - res = getaddrinfo (host, service, 0, &ai0); - err = errno; - - dbgprintf ("res %d: %s\n", res, gai_strerror (res)); - - if (res != 0) - { - /* EAI_AGAIN is returned if no network is available. Don't fail - the test merely because someone is down the country on their - in-law's farm. */ - if (res == EAI_AGAIN) - { - skip++; - fprintf (stderr, "skipping getaddrinfo test: no network?\n"); - return 77; - } - /* IRIX reports EAI_NONAME for "https". Don't fail the test - merely because of this. */ - if (res == EAI_NONAME) - return 0; - /* Solaris reports EAI_SERVICE for "http" and "https". Don't - fail the test merely because of this. */ - if (res == EAI_SERVICE) - return 0; - /* AIX reports EAI_NODATA for "https". Don't fail the test - merely because of this. */ - if (res == EAI_NODATA) - return 0; - /* Provide details if errno was set. */ - if (res == EAI_SYSTEM) - dbgprintf ("system error: %s\n", strerror (err)); - - return 1; - } - - for (ai = ai0; ai; ai = ai->ai_next) - { - dbgprintf ("\tflags %x\n", ai->ai_flags); - dbgprintf ("\tfamily %x\n", ai->ai_family); - dbgprintf ("\tsocktype %x\n", ai->ai_socktype); - dbgprintf ("\tprotocol %x\n", ai->ai_protocol); - dbgprintf ("\taddrlen %ld: ", (unsigned long) ai->ai_addrlen); - dbgprintf ("\tFound %s\n", - inet_ntop (ai->ai_family, - &((struct sockaddr_in *) - ai->ai_addr)->sin_addr, - buf, sizeof (buf) - 1)); - if (ai->ai_canonname) - dbgprintf ("\tFound %s...\n", ai->ai_canonname); - - { - char ipbuf[BUFSIZ]; - char portbuf[BUFSIZ]; - - res = getnameinfo (ai->ai_addr, ai->ai_addrlen, - ipbuf, sizeof (ipbuf) - 1, - portbuf, sizeof (portbuf) - 1, - NI_NUMERICHOST|NI_NUMERICSERV); - dbgprintf ("\t\tgetnameinfo %d: %s\n", res, gai_strerror (res)); - if (res == 0) - { - dbgprintf ("\t\tip %s\n", ipbuf); - dbgprintf ("\t\tport %s\n", portbuf); - } - } - - } - - freeaddrinfo (ai0); - - return 0; -} - -#define HOST1 "www.gnu.org" -#define SERV1 "http" -#define HOST2 "www.ibm.com" -#define SERV2 "https" -#define HOST3 "microsoft.com" -#define SERV3 "http" -#define HOST4 "google.org" -#define SERV4 "ldap" - -int main (void) -{ -#if _WIN32 - { - WORD requested; - WSADATA data; - int err; - - requested = MAKEWORD (1, 1); - err = WSAStartup (requested, &data); - if (err != 0) - return 1; - - if (data.wVersion < requested) - { - WSACleanup (); - return 2; - } - } -#endif - - return simple (HOST1, SERV1) - + simple (HOST2, SERV2) - + simple (HOST3, SERV3) - + simple (HOST4, SERV4); -} diff -Nru gnutls26-2.8.6/gl/tests/test-getdelim.c gnutls26-2.4.1/gl/tests/test-getdelim.c --- gnutls26-2.8.6/gl/tests/test-getdelim.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-getdelim.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,90 +0,0 @@ -/* Test of getdelim() function. - Copyright (C) 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake , 2007. */ - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char **argv) -{ - FILE *f; - char *line = NULL; - size_t len = 0; - ssize_t result; - - /* Create test file. */ - f = fopen ("test-getdelim.txt", "wb"); - if (!f || fwrite ("anbcnd\0f", 1, 8, f) != 8 || fclose (f) != 0) - { - fputs ("Failed to create sample file.\n", stderr); - remove ("test-getdelim.txt"); - return 1; - } - f = fopen ("test-getdelim.txt", "rb"); - if (!f) - { - fputs ("Failed to reopen sample file.\n", stderr); - remove ("test-getdelim.txt"); - return 1; - } - - /* Test initial allocation, which must include trailing NUL. */ - result = getdelim (&line, &len, 'n', f); - ASSERT (result == 2); - ASSERT (strcmp (line, "an") == 0); - ASSERT (2 < len); - - /* Test growth of buffer. */ - free (line); - line = malloc (1); - len = 1; - result = getdelim (&line, &len, 'n', f); - ASSERT (result == 3); - ASSERT (strcmp (line, "bcn") == 0); - ASSERT (3 < len); - - /* Test embedded NULs and EOF behavior. */ - result = getdelim (&line, &len, 'n', f); - ASSERT (result == 3); - ASSERT (memcmp (line, "d\0f", 4) == 0); - ASSERT (3 < len); - - result = getdelim (&line, &len, 'n', f); - ASSERT (result == -1); - - free (line); - fclose (f); - remove ("test-getdelim.txt"); - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-getline.c gnutls26-2.4.1/gl/tests/test-getline.c --- gnutls26-2.8.6/gl/tests/test-getline.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-getline.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,90 +0,0 @@ -/* Test of getline() function. - Copyright (C) 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake , 2007. */ - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char **argv) -{ - FILE *f; - char *line = NULL; - size_t len = 0; - ssize_t result; - - /* Create test file. */ - f = fopen ("test-getline.txt", "wb"); - if (!f || fwrite ("a\nbc\nd\0f", 1, 8, f) != 8 || fclose (f) != 0) - { - fputs ("Failed to create sample file.\n", stderr); - remove ("test-getline.txt"); - return 1; - } - f = fopen ("test-getline.txt", "rb"); - if (!f) - { - fputs ("Failed to reopen sample file.\n", stderr); - remove ("test-getline.txt"); - return 1; - } - - /* Test initial allocation, which must include trailing NUL. */ - result = getline (&line, &len, f); - ASSERT (result == 2); - ASSERT (strcmp (line, "a\n") == 0); - ASSERT (2 < len); - - /* Test growth of buffer, must not leak. */ - free (line); - line = malloc (1); - len = 0; - result = getline (&line, &len, f); - ASSERT (result == 3); - ASSERT (strcmp (line, "bc\n") == 0); - ASSERT (3 < len); - - /* Test embedded NULs and EOF behavior. */ - result = getline (&line, &len, f); - ASSERT (result == 3); - ASSERT (memcmp (line, "d\0f", 4) == 0); - ASSERT (3 < len); - - result = getline (&line, &len, f); - ASSERT (result == -1); - - free (line); - fclose (f); - remove ("test-getline.txt"); - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-gettimeofday.c gnutls26-2.4.1/gl/tests/test-gettimeofday.c --- gnutls26-2.8.6/gl/tests/test-gettimeofday.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-gettimeofday.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2005, 2007 Free Software Foundation - * Written by Jim Meyering. - * - * 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 3 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, see . */ - -#include - -#include -#include - -#include -#include - -int -main (int argc, char *argv[]) -{ - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0) - { - fprintf (stderr, "gettimeofday still clobbers the localtime buffer!\n"); - return 1; - } - else - { - return 0; - } -} diff -Nru gnutls26-2.8.6/gl/tests/test-lseek.c gnutls26-2.4.1/gl/tests/test-lseek.c --- gnutls26-2.8.6/gl/tests/test-lseek.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-lseek.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,103 +0,0 @@ -/* Test of lseek() function. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Eric Blake, 2007. */ - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -/* ARGC must be 2; *ARGV[1] is '0' if stdin and stdout are files, '1' - if they are pipes, and '2' if they are closed. Check for proper - semantics of lseek. */ -int -main (int argc, char **argv) -{ - if (argc != 2) - return 2; - switch (*argv[1]) - { - case '0': /* regular files */ - ASSERT (lseek (0, (off_t)2, SEEK_SET) == 2); - ASSERT (lseek (0, (off_t)-4, SEEK_CUR) == -1); - ASSERT (errno == EINVAL); - errno = 0; -#if ! defined __BEOS__ - /* POSIX says that the last lseek call, when failing, does not change - the current offset. But BeOS sets it to 0. */ - ASSERT (lseek (0, (off_t)0, SEEK_CUR) == 2); -#endif -#if 0 /* leads to SIGSYS on IRIX 6.5 */ - ASSERT (lseek (0, (off_t)0, (SEEK_SET | SEEK_CUR | SEEK_END) + 1) == -1); - ASSERT (errno == EINVAL); -#endif - ASSERT (lseek (1, (off_t)2, SEEK_SET) == 2); - errno = 0; - ASSERT (lseek (1, (off_t)-4, SEEK_CUR) == -1); - ASSERT (errno == EINVAL); - errno = 0; -#if ! defined __BEOS__ - /* POSIX says that the last lseek call, when failing, does not change - the current offset. But BeOS sets it to 0. */ - ASSERT (lseek (1, (off_t)0, SEEK_CUR) == 2); -#endif -#if 0 /* leads to SIGSYS on IRIX 6.5 */ - ASSERT (lseek (1, (off_t)0, (SEEK_SET | SEEK_CUR | SEEK_END) + 1) == -1); - ASSERT (errno == EINVAL); -#endif - break; - - case '1': /* pipes */ - errno = 0; - ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1); - ASSERT (errno == ESPIPE); - errno = 0; - ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1); - ASSERT (errno == ESPIPE); - break; - - case '2': /* closed */ - /* Explicitly close file descriptors 0 and 1. The <&- and >&- in the - invoking shell are not enough on HP-UX. - close (0); calling close fails on mingw -- simon@josefsson.org - close (1); */ - errno = 0; - ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1); - ASSERT (errno == EBADF); - errno = 0; - ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1); - ASSERT (errno == EBADF); - break; - - default: - return 1; - } - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-lseek.sh gnutls26-2.4.1/gl/tests/test-lseek.sh --- gnutls26-2.8.6/gl/tests/test-lseek.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-lseek.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -#!/bin/sh - -tmpfiles= -trap 'rm -fr $tmpfiles' 1 2 3 15 - -tmpfiles=t-lseek.tmp -# seekable files -./test-lseek${EXEEXT} 0 < "$srcdir/test-lseek.sh" > t-lseek.tmp || exit 1 - -# pipes -echo hi | ./test-lseek${EXEEXT} 1 | cat || exit 1 - -# closed descriptors -# Doesn't work under mingw -- simon@josefsson.org -#./test-lseek${EXEEXT} 2 <&- >&- || exit 1 - -rm -rf $tmpfiles -exit 0 diff -Nru gnutls26-2.8.6/gl/tests/test-netdb.c gnutls26-2.4.1/gl/tests/test-netdb.c --- gnutls26-2.8.6/gl/tests/test-netdb.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-netdb.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Simon Josefsson , 2008. */ - -#include -#include - -/* Check that the 'struct hostent' type is defined. */ -struct hostent t1; - -int -main (void) -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-netinet_in.c gnutls26-2.4.1/gl/tests/test-netinet_in.c --- gnutls26-2.8.6/gl/tests/test-netinet_in.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-netinet_in.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-perror.c gnutls26-2.4.1/gl/tests/test-perror.c --- gnutls26-2.8.6/gl/tests/test-perror.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-perror.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -/* Test of perror() function. - Copyright (C) 2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -#include - -#include - -int -main (int argc, char **argv) -{ - const char *prefix = (argc > 1 ? argv[1] : NULL); - - errno = EACCES; perror (prefix); - errno = ETIMEDOUT; perror (prefix); - errno = EOVERFLOW; perror (prefix); - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-perror.sh gnutls26-2.4.1/gl/tests/test-perror.sh --- gnutls26-2.8.6/gl/tests/test-perror.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-perror.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -#!/bin/sh - -tmpfiles="" -trap 'rm -fr $tmpfiles' 1 2 3 15 - -# Test NULL prefix. Result should not contain a number. -tmpfiles="$tmpfiles t-perror.tmp" -./test-perror${EXEEXT} 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp -if grep '[0-9]' t-perror.tmp > /dev/null; then - rm -fr $tmpfiles; exit 1 -fi - -# Test empty prefix. Result should be the same. -tmpfiles="$tmpfiles t-perror1.tmp" -./test-perror${EXEEXT} '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp -diff t-perror.tmp t-perror1.tmp -test $? = 0 || { rm -fr $tmpfiles; exit 1; } - -# Test non-empty prefix. -tmpfiles="$tmpfiles t-perror2.tmp t-perror3.tmp" -./test-perror${EXEEXT} 'foo' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp -sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp -diff t-perror2.tmp t-perror3.tmp -test $? = 0 || { rm -fr $tmpfiles; exit 1; } - -rm -fr $tmpfiles -exit 0 diff -Nru gnutls26-2.8.6/gl/tests/test-read-file.c gnutls26-2.4.1/gl/tests/test-read-file.c --- gnutls26-2.8.6/gl/tests/test-read-file.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-read-file.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2006-2007 Free Software Foundation - * Written by Simon Josefsson - * - * 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 3 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, see . */ - -#include - -#include "read-file.h" - -#include -#include -#include - -#define FILE1 "/etc/resolv.conf" -#define FILE2 "/dev/null" - -int -main (void) -{ - struct stat statbuf; - int err = 0; - - /* We can perform the test only if the file exists and is readable. - Test whether it exists, then assume it is world-readable. */ - if (stat (FILE1, &statbuf) >= 0) - { - size_t len; - char *out = read_file (FILE1, &len); - - if (!out) - { - perror ("Could not read file"); - err = 1; - } - else - { - if (out[len] != '\0') - { - perror ("BAD: out[len] not zero"); - err = 1; - } - - /* Assume FILE1 is a regular file or a symlink to a regular file. */ - if (len != statbuf.st_size) - { - fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE1); - err = 1; - } - free (out); - } - } - - /* We can perform the test only if the file exists and is readable. - Test whether it exists, then assume it is world-readable. */ - if (stat (FILE2, &statbuf) >= 0) - { - size_t len; - char *out = read_file (FILE2, &len); - - if (!out) - { - perror ("Could not read file"); - err = 1; - } - else - { - if (out[len] != '\0') - { - perror ("BAD: out[len] not zero"); - err = 1; - } - - /* /dev/null should always be empty. Ignore statbuf.st_size, since it - is not a regular file. */ - if (len != 0) - { - fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE2); - err = 1; - } - free (out); - } - } - - return err; -} diff -Nru gnutls26-2.8.6/gl/tests/test-select.c gnutls26-2.4.1/gl/tests/test-select.c --- gnutls26-2.8.6/gl/tests/test-select.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-select.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,376 +0,0 @@ -/* Test of select() substitute. - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini, 2008. */ - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "sockets.h" - -enum { SEL_IN = 1, SEL_OUT = 2, SEL_EXC = 4 }; - -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# define WIN32_NATIVE -#endif - -#ifdef WIN32_NATIVE -#include -#define pipe(x) _pipe(x, 256, O_BINARY) -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_SYS_WAIT_H -#include -#endif - -#ifndef SO_REUSEPORT -#define SO_REUSEPORT SO_REUSEADDR -#endif - -#define TEST_PORT 12345 - - -/* Minimal testing infrastructure. */ - -static int failures; - -static void -failed (const char *reason) -{ - if (++failures > 1) - printf (" "); - printf ("failed (%s)\n", reason); -} - -static int -test (void (*fn) (void), const char *msg) -{ - failures = 0; - printf ("%s... ", msg); - fflush (stdout); - fn (); - - if (!failures) - printf ("passed\n"); - - return failures; -} - - -/* Funny socket code. */ - -static int -open_server_socket () -{ - int s, x; - struct sockaddr_in ia; - - s = socket (AF_INET, SOCK_STREAM, 0); - - memset (&ia, 0, sizeof (ia)); - ia.sin_family = AF_INET; - inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); - ia.sin_port = htons (TEST_PORT); - if (bind (s, (struct sockaddr *) &ia, sizeof (ia)) < 0) - { - perror ("bind"); - exit (77); - } - - x = 1; - setsockopt (s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof (x)); - - if (listen (s, 1) < 0) - { - perror ("listen"); - exit (77); - } - - return s; -} - -static int -connect_to_socket (int blocking) -{ - int s; - struct sockaddr_in ia; - - s = socket (AF_INET, SOCK_STREAM, 0); - - memset (&ia, 0, sizeof (ia)); - ia.sin_family = AF_INET; - inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); - ia.sin_port = htons (TEST_PORT); - - if (!blocking) - { -#ifdef WIN32_NATIVE - unsigned long iMode = 1; - ioctl (s, FIONBIO, (char *) &iMode); - -#elif defined F_GETFL - int oldflags = fcntl (s, F_GETFL, NULL); - - if (!(oldflags & O_NONBLOCK)) - fcntl (s, F_SETFL, oldflags | O_NONBLOCK); -#endif - } - - if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0 - && (blocking || errno != EINPROGRESS)) - { - perror ("connect"); - exit (77); - } - - return s; -} - - -/* A slightly more convenient interface to select(2). */ - -static int -do_select (int fd, int ev, struct timeval *tv) -{ - fd_set rfds, wfds, xfds; - int r, rev; - - FD_ZERO (&rfds); - FD_ZERO (&wfds); - FD_ZERO (&xfds); - if (ev & SEL_IN) - FD_SET (fd, &rfds); - if (ev & SEL_OUT) - FD_SET (fd, &wfds); - if (ev & SEL_EXC) - FD_SET (fd, &xfds); - r = select (fd + 1, &rfds, &wfds, &xfds, tv); - if (r < 0) - return r; - - rev = 0; - if (FD_ISSET (fd, &rfds)) - rev |= SEL_IN; - if (FD_ISSET (fd, &wfds)) - rev |= SEL_OUT; - if (FD_ISSET (fd, &xfds)) - rev |= SEL_EXC; - if (rev && r == 0) - failed ("select returned 0"); - if (rev & ~ev) - failed ("select returned unrequested events"); - - return rev; -} - -static int -do_select_nowait (int fd, int ev) -{ - static struct timeval tv0; - return do_select (fd, ev, &tv0); -} - -static int -do_select_wait (int fd, int ev) -{ - return do_select (fd, ev, NULL); -} - - -/* Test poll(2) for TTYs. */ - -#ifdef INTERACTIVE -static void -test_tty (void) -{ - if (do_select_nowait (0, SEL_IN) != 0) - failed ("can read"); - if (do_select_nowait (0, SEL_OUT) == 0) - failed ("cannot write"); - - if (do_select_wait (0, SEL_IN) == 0) - failed ("return with infinite timeout"); - - getchar (); - if (do_select_nowait (0, SEL_IN) != 0) - failed ("can read after getc"); -} -#endif - - -/* Test poll(2) for unconnected nonblocking sockets. */ - -static void -test_connect_first (void) -{ - int s = open_server_socket (); - struct sockaddr_in ia; - socklen_t addrlen; - - int c1, c2; - - if (do_select_nowait (s, SEL_IN | SEL_EXC) != 0) - failed ("can read, socket not connected"); - - c1 = connect_to_socket (false); - - if (do_select_wait (s, SEL_IN | SEL_EXC) != SEL_IN) - failed ("expecting readability on passive socket"); - if (do_select_nowait (s, SEL_IN | SEL_EXC) != SEL_IN) - failed ("expecting readability on passive socket"); - - addrlen = sizeof (ia); - c2 = accept (s, (struct sockaddr *) &ia, &addrlen); - close (s); - close (c1); - close (c2); -} - - -/* Test poll(2) for unconnected blocking sockets. */ - -static void -test_accept_first (void) -{ -#ifndef WIN32_NATIVE - int s = open_server_socket (); - struct sockaddr_in ia; - socklen_t addrlen; - char buf[3]; - int c, pid; - - pid = fork (); - if (pid < 0) - return; - - if (pid == 0) - { - addrlen = sizeof (ia); - c = accept (s, (struct sockaddr *) &ia, &addrlen); - close (s); - write (c, "foo", 3); - read (c, buf, 3); - shutdown (c, SHUT_RD); - close (c); - exit (0); - } - else - { - close (s); - c = connect_to_socket (true); - if (do_select_nowait (c, SEL_OUT) != SEL_OUT) - failed ("cannot write after blocking connect"); - write (c, "foo", 3); - wait (&pid); - if (do_select_wait (c, SEL_IN) != SEL_IN) - failed ("cannot read data left in the socket by closed process"); - read (c, buf, 3); - write (c, "foo", 3); - close (c); - } -#endif -} - - -/* Common code for pipes and connected sockets. */ - -static void -test_pair (int rd, int wd) -{ - char buf[3]; - if (do_select_wait (wd, SEL_IN | SEL_OUT | SEL_EXC) != SEL_OUT) - failed ("expecting writability before writing"); - if (do_select_nowait (wd, SEL_IN | SEL_OUT | SEL_EXC) != SEL_OUT) - failed ("expecting writability before writing"); - - write (wd, "foo", 3); - if (do_select_wait (rd, SEL_IN) != SEL_IN) - failed ("expecting readability after writing"); - if (do_select_nowait (rd, SEL_IN) != SEL_IN) - failed ("expecting readability after writing"); - - read (rd, buf, 3); -} - - -/* Test poll(2) on connected sockets. */ - -static void -test_socket_pair (void) -{ - struct sockaddr_in ia; - - socklen_t addrlen = sizeof (ia); - int s = open_server_socket (); - int c1 = connect_to_socket (false); - int c2 = accept (s, (struct sockaddr *) &ia, &addrlen); - - close (s); - - test_pair (c1, c2); - close (c1); - write (c2, "foo", 3); - close (c2); -} - - -/* Test poll(2) on pipes. */ - -static void -test_pipe (void) -{ - int fd[2]; - - pipe (fd); - test_pair (fd[0], fd[1]); - close (fd[0]); - close (fd[1]); -} - - -/* Do them all. */ - -int -main () -{ - int result; - - gl_sockets_startup (SOCKETS_1_1); - -#ifdef INTERACTIVE - printf ("Please press Enter\n"); - test (test_tty, "TTY"); -#endif - - result = test (test_connect_first, "Unconnected socket test"); - result += test (test_socket_pair, "Connected sockets test"); - result += test (test_accept_first, "General socket test with fork"); - result += test (test_pipe, "Pipe test"); - - exit (result); -} diff -Nru gnutls26-2.8.6/gl/tests/test-select-fd.c gnutls26-2.4.1/gl/tests/test-select-fd.c --- gnutls26-2.8.6/gl/tests/test-select-fd.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-select-fd.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Test of select() substitute, reading or writing from a given file descriptor. - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include -#include -#include - -int -main (int argc, char *argv[]) -{ - if (argc == 4) - { - char mode = argv[1][0]; - - if (mode == 'r' || mode == 'w') - { - int fd = atoi (argv[2]); - - if (fd >= 0) - { - const char *result_file_name = argv[3]; - FILE *result_file = fopen (result_file_name, "wb"); - - if (result_file != NULL) - { - fd_set fds; - struct timeval timeout; - int ret; - - FD_ZERO (&fds); - FD_SET (fd, &fds); - timeout.tv_sec = 0; - timeout.tv_usec = 10000; - ret = (mode == 'r' - ? select (fd + 1, &fds, NULL, NULL, &timeout) - : select (fd + 1, NULL, &fds, NULL, &timeout)); - if (ret < 0) - { - perror ("select failed"); - exit (1); - } - if ((ret == 0) != ! FD_ISSET (fd, &fds)) - { - fprintf (stderr, "incorrect return value\n"); - exit (1); - } - fprintf (result_file, "%d\n", ret); - exit (0); - } - } - } - } - fprintf (stderr, "Usage: test-select-fd mode fd result-file-name\n"); - exit (1); -} diff -Nru gnutls26-2.8.6/gl/tests/test-select-in.sh gnutls26-2.4.1/gl/tests/test-select-in.sh --- gnutls26-2.8.6/gl/tests/test-select-in.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-select-in.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -#!/bin/sh -# Test select() on file descriptors opened for reading. - -# This test is known to fail on Solaris 2.6 and older, due to its handling -# of /dev/null. - -tmpfiles="" -trap 'rm -fr $tmpfiles' 1 2 3 15 - -tmpfiles="$tmpfiles t-select-in.tmp" - -# Regular files. - -rm -f t-select-in.tmp -./test-select-fd${EXEEXT} r 0 t-select-in.tmp < ./test-select-fd${EXEEXT} -test `cat t-select-in.tmp` = "1" || exit 1 - -# Pipes. - -rm -f t-select-in.tmp -{ sleep 1; echo abc; } | ./test-select-fd${EXEEXT} r 0 t-select-in.tmp -test `cat t-select-in.tmp` = "0" || exit 1 - -rm -f t-select-in.tmp -echo abc | { sleep 1; ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; } -test `cat t-select-in.tmp` = "1" || exit 1 - -# Special files. -# This part of the test is known to fail on Solaris 2.6 and older. - -# Doesn't work under mingw -- simon@josefsson.org -#rm -f t-select-in.tmp -#./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null -#test `cat t-select-in.tmp` = "1" || exit 1 - -rm -fr $tmpfiles - -exit 0 diff -Nru gnutls26-2.8.6/gl/tests/test-select-out.sh gnutls26-2.4.1/gl/tests/test-select-out.sh --- gnutls26-2.8.6/gl/tests/test-select-out.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-select-out.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -#!/bin/sh -# Test select() on file descriptors opened for writing. - -tmpfiles="" -trap 'rm -fr $tmpfiles' 1 2 3 15 - -tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp" - -# Regular files. - -rm -f t-select-out.tmp -./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out -test `cat t-select-out.tmp` = "1" || exit 1 - -# Pipes. - -if false; then # This test fails on some platforms. - rm -f t-select-out.tmp - ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null - test `cat t-select-out.tmp` = "0" || exit 1 -fi - -rm -f t-select-out.tmp -( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null -test `cat t-select-out.tmp` = "1" || exit 1 - -# Special files. - -rm -f t-select-out.tmp -./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null -test `cat t-select-out.tmp` = "1" || exit 1 - -rm -fr $tmpfiles - -exit 0 diff -Nru gnutls26-2.8.6/gl/tests/test-select-stdin.c gnutls26-2.4.1/gl/tests/test-select-stdin.c --- gnutls26-2.8.6/gl/tests/test-select-stdin.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-select-stdin.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ -/* Test of select() substitute, reading from stdin. - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include -#include -#include -#include -#include - -int -main () -{ - printf ("Applying select() from standard input. Press Ctrl-C to abort.\n"); - for (;;) - { - struct timeval before; - struct timeval after; - unsigned long spent_usec; - fd_set readfds; - struct timeval timeout; - int ret; - - gettimeofday (&before, NULL); - - FD_ZERO (&readfds); - FD_SET (0, &readfds); - timeout.tv_sec = 0; - timeout.tv_usec = 500000; - ret = select (1, &readfds, NULL, NULL, &timeout); - - gettimeofday (&after, NULL); - spent_usec = (after.tv_sec - before.tv_sec) * 1000000 - + after.tv_usec - before.tv_usec; - - if (ret < 0) - { - perror ("select failed"); - exit (1); - } - if ((ret == 0) != ! FD_ISSET (0, &readfds)) - { - fprintf (stderr, "incorrect return value\n"); - exit (1); - } - if (ret == 0) - { - if (spent_usec < 250000) - { - fprintf (stderr, "returned too early\n"); - exit (1); - } - /* Timeout */ - printf ("."); fflush (stdout); - } - else - { - char c; - - printf ("Input available! Trying to read 1 byte...\n"); - read (0, &c, 1); - } - } -} diff -Nru gnutls26-2.8.6/gl/tests/test-snprintf.c gnutls26-2.4.1/gl/tests/test-snprintf.c --- gnutls26-2.8.6/gl/tests/test-snprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-snprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Test of snprintf() function. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char *argv[]) -{ - char buf[8]; - int size; - int retval; - - for (size = 0; size <= 8; size++) - { - memcpy (buf, "DEADBEEF", 8); - retval = snprintf (buf, size, "%d", 12345); - if (size < 6) - { -#if CHECK_SNPRINTF_POSIX - ASSERT (retval < 0 || retval >= size); -#endif - if (size > 0) - { - ASSERT (memcmp (buf, "12345", size - 1) == 0); - ASSERT (buf[size - 1] == '\0' || buf[size - 1] == '0' + size); - } -#if !CHECK_SNPRINTF_POSIX - if (size > 0) -#endif - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - } - else - { - ASSERT (retval == 5); - ASSERT (memcmp (buf, "12345\0EF", 8) == 0); - } - } - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-sockets.c gnutls26-2.4.1/gl/tests/test-sockets.c --- gnutls26-2.8.6/gl/tests/test-sockets.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-sockets.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Free Software Foundation - * Written by Simon Josefsson. - * - * 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 3 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, see . */ - -#include - -#include - -#include "sockets.h" - -int -main (int argc, char *argv[]) -{ - int err; - - err = gl_sockets_startup (SOCKETS_1_1); - if (err != 0) - { - printf ("wsastartup failed %d\n", err); - return 1; - } - - err = gl_sockets_cleanup (); - if (err != 0) - { - printf ("wsacleanup failed %d\n", err); - return 1; - } - - (void) gl_fd_to_handle (0); - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-stdbool.c gnutls26-2.4.1/gl/tests/test-stdbool.c --- gnutls26-2.8.6/gl/tests/test-stdbool.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-stdbool.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,95 +0,0 @@ -/* Test of substitute. - Copyright (C) 2002-2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif - -#if 0 /* Cannot be guaranteed with gnulib's . */ -struct s { _Bool s: 1; _Bool t; } s; -#endif - -char a[true == 1 ? 1 : -1]; -char b[false == 0 ? 1 : -1]; -char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -#if 0 /* Cannot be guaranteed with gnulib's . */ -char d[(bool) 0.5 == true ? 1 : -1]; -bool e = &s; -#endif -char f[(_Bool) 0.0 == false ? 1 : -1]; -char g[true]; -char h[sizeof (_Bool)]; -#if 0 /* See above. */ -char i[sizeof s.t]; -#endif -enum { j = false, k = true, l = false * true, m = true * 256 }; -_Bool n[m]; -char o[sizeof n == m * sizeof n[0] ? 1 : -1]; -char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -#if 0 /* Cannot be guaranteed with gnulib's . */ -#if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -#endif -#endif -/* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ -_Bool q = true; -_Bool *pq = &q; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-stdint.c gnutls26-2.4.1/gl/tests/test-stdint.c --- gnutls26-2.8.6/gl/tests/test-stdint.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-stdint.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,360 +0,0 @@ -/* Test of substitute. - Copyright (C) 2006-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2006. */ - -#include - -/* Whether to enable pedantic checks. */ -#define DO_PEDANTIC 0 - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#include - -#include "verify.h" -#include "intprops.h" - -#if __GNUC__ >= 2 && DO_PEDANTIC -# define verify_same_types(expr1,expr2) \ - extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \ - extern void _verify_func(__LINE__) (__typeof__ (expr2) *); -# define _verify_func(line) _verify_func2(line) -# define _verify_func2(line) verify_func_ ## line -#else -# define verify_same_types(expr1,expr2) extern void verify_func (int) -#endif - -/* 7.18.1.1. Exact-width integer types */ -/* 7.18.2.1. Limits of exact-width integer types */ - -int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX }; -verify (TYPE_MINIMUM (int8_t) == INT8_MIN); -verify (TYPE_MAXIMUM (int8_t) == INT8_MAX); -verify_same_types (INT8_MIN, (int8_t) 0 + 0); -verify_same_types (INT8_MAX, (int8_t) 0 + 0); - -int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX }; -verify (TYPE_MINIMUM (int16_t) == INT16_MIN); -verify (TYPE_MAXIMUM (int16_t) == INT16_MAX); -verify_same_types (INT16_MIN, (int16_t) 0 + 0); -verify_same_types (INT16_MAX, (int16_t) 0 + 0); - -int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX }; -verify (TYPE_MINIMUM (int32_t) == INT32_MIN); -verify (TYPE_MAXIMUM (int32_t) == INT32_MAX); -verify_same_types (INT32_MIN, (int32_t) 0 + 0); -verify_same_types (INT32_MAX, (int32_t) 0 + 0); - -#ifdef INT64_MAX -int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX }; -verify (TYPE_MINIMUM (int64_t) == INT64_MIN); -verify (TYPE_MAXIMUM (int64_t) == INT64_MAX); -verify_same_types (INT64_MIN, (int64_t) 0 + 0); -verify_same_types (INT64_MAX, (int64_t) 0 + 0); -#endif - -uint8_t b1[2] = { UINT8_C (17), UINT8_MAX }; -verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX); -verify_same_types (UINT8_MAX, (uint8_t) 0 + 0); - -uint16_t b2[2] = { UINT16_C (17), UINT16_MAX }; -verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX); -verify_same_types (UINT16_MAX, (uint16_t) 0 + 0); - -uint32_t b3[2] = { UINT32_C (17), UINT32_MAX }; -verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX); -verify_same_types (UINT32_MAX, (uint32_t) 0 + 0); - -#ifdef UINT64_MAX -uint64_t b4[2] = { UINT64_C (17), UINT64_MAX }; -verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX); -verify_same_types (UINT64_MAX, (uint64_t) 0 + 0); -#endif - -#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT8_MAX && UINT16_MAX && UINT32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.2. Minimum-width integer types */ -/* 7.18.2.2. Limits of minimum-width integer types */ - -int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX }; -verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN); -verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX); -verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0); -verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0); - -int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX }; -verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN); -verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX); -verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0); -verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0); - -int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX }; -verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN); -verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX); -verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0); -verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0); - -#ifdef INT_LEAST64_MAX -int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX }; -verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN); -verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX); -verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0); -verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0); -#endif - -uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX }; -verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX); -verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0); - -uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX }; -verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX); -verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0); - -uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX }; -verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX); -verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0); - -#ifdef UINT_LEAST64_MAX -uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX }; -verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX); -verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0); -#endif - -#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.3. Fastest minimum-width integer types */ -/* 7.18.2.3. Limits of fastest minimum-width integer types */ - -int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX }; -verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN); -verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX); -verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0); -verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0); - -int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX }; -verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN); -verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX); -verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0); -verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0); - -int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX }; -verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN); -verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX); -verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0); -verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0); - -#ifdef INT_FAST64_MAX -int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX }; -verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN); -verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX); -verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0); -verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0); -#endif - -uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX }; -verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX); -verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0); - -uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX }; -verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX); -verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0); - -uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX }; -verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX); -verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0); - -#ifdef UINT_FAST64_MAX -uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX }; -verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX); -verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0); -#endif - -#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.4. Integer types capable of holding object pointers */ -/* 7.18.2.4. Limits of integer types capable of holding object pointers */ - -intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX }; -verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN); -verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX); -verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0); -verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0); - -uintptr_t h[2] = { 17, UINTPTR_MAX }; -verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX); -verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0); - -#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.5. Greatest-width integer types */ -/* 7.18.2.5. Limits of greatest-width integer types */ - -intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX }; -verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); -verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); -verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0); -verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0); - -uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX }; -verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); -verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0); - -/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in - the preprocessor. */ -#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__)) -#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX -/* ok */ -#else -err or; -#endif -#endif - -/* 7.18.3. Limits of other integer types */ - -#include - -verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN); -verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX); -verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0); -verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0); - -#if PTRDIFF_MIN && PTRDIFF_MAX -/* ok */ -#else -err or; -#endif - -#include - -verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN); -verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX); -verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0); -verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0); - -#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX -/* ok */ -#else -err or; -#endif - -verify (TYPE_MAXIMUM (size_t) == SIZE_MAX); -verify_same_types (SIZE_MAX, (size_t) 0 + 0); - -#if SIZE_MAX -/* ok */ -#else -err or; -#endif - -#if HAVE_WCHAR_T -verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN); -verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX); -verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0); -verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0); - -# if WCHAR_MIN != 17 && WCHAR_MAX -/* ok */ -# else -err or; -# endif -#endif - -#if HAVE_WINT_T -# include - -verify (TYPE_MINIMUM (wint_t) == WINT_MIN); -verify (TYPE_MAXIMUM (wint_t) == WINT_MAX); -verify_same_types (WINT_MIN, (wint_t) 0 + 0); -verify_same_types (WINT_MAX, (wint_t) 0 + 0); - -# if WINT_MIN != 17 && WINT_MAX -/* ok */ -# else -err or; -# endif -#endif - -/* 7.18.4. Macros for integer constants */ - -verify (INT8_C (17) == 17); -verify_same_types (INT8_C (17), (int_least8_t)0 + 0); -verify (UINT8_C (17) == 17); -verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0); - -verify (INT16_C (17) == 17); -verify_same_types (INT16_C (17), (int_least16_t)0 + 0); -verify (UINT16_C (17) == 17); -verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0); - -verify (INT32_C (17) == 17); -verify_same_types (INT32_C (17), (int_least32_t)0 + 0); -verify (UINT32_C (17) == 17); -verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0); - -#ifdef INT64_C -verify (INT64_C (17) == 17); -verify_same_types (INT64_C (17), (int_least64_t)0 + 0); -#endif -#ifdef UINT64_C -verify (UINT64_C (17) == 17); -verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0); -#endif - -verify (INTMAX_C (17) == 17); -verify_same_types (INTMAX_C (17), (intmax_t)0 + 0); -verify (UINTMAX_C (17) == 17); -verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0); - - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-stdio.c gnutls26-2.4.1/gl/tests/test-stdio.c --- gnutls26-2.8.6/gl/tests/test-stdio.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-stdio.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the various SEEK_* macros are defined. */ -int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-stdlib.c gnutls26-2.4.1/gl/tests/test-stdlib.c --- gnutls26-2.8.6/gl/tests/test-stdlib.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-stdlib.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int exitcode; - -int -main () -{ - /* Check that some macros are defined and different integer constants. */ - switch (exitcode) - { - case EXIT_SUCCESS: - case EXIT_FAILURE: - break; - } - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-strerror.c gnutls26-2.4.1/gl/tests/test-strerror.c --- gnutls26-2.8.6/gl/tests/test-strerror.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-strerror.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -/* Test of strerror() function. - Copyright (C) 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake , 2007. */ - -#include - -#include -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char **argv) -{ - char *str; - - str = strerror (EACCES); - ASSERT (str); - ASSERT (*str); - - str = strerror (ETIMEDOUT); - ASSERT (str); - ASSERT (*str); - - str = strerror (EOVERFLOW); - ASSERT (str); - ASSERT (*str); - - str = strerror (0); - ASSERT (str); - ASSERT (*str); - - str = strerror (-3); - ASSERT (str); - ASSERT (*str); - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-string.c gnutls26-2.4.1/gl/tests/test-string.c --- gnutls26-2.8.6/gl/tests/test-string.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-string.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-sys_select.c gnutls26-2.4.1/gl/tests/test-sys_select.c --- gnutls26-2.8.6/gl/tests/test-sys_select.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-sys_select.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the 'struct timeval' type is defined. */ -struct timeval t1; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-sys_socket.c gnutls26-2.4.1/gl/tests/test-sys_socket.c --- gnutls26-2.8.6/gl/tests/test-sys_socket.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-sys_socket.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include - -#if HAVE_SHUTDOWN -/* Check some integer constant expressions. */ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; -#endif - -int -main () -{ - struct sockaddr_storage x; - sa_family_t i; - - /* Check some errno values. */ - switch (0) - { - case ENOTSOCK: - case EADDRINUSE: - case ENETRESET: - case ECONNABORTED: - case ECONNRESET: - case ENOTCONN: - case ESHUTDOWN: - break; - } - - x.ss_family = 42; - i = 4711; - - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-sys_stat.c gnutls26-2.4.1/gl/tests/test-sys_stat.c --- gnutls26-2.8.6/gl/tests/test-sys_stat.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-sys_stat.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,263 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include "verify.h" - -/* Check the existence of some macros. */ -int a[] = - { - S_IFMT, - S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG, -#ifdef S_IFLNK /* missing on mingw and djgpp */ - S_IFLNK, -#endif -#ifdef S_IFSOCK /* missing on mingw and djgpp */ - S_IFSOCK, -#endif - S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, - S_IRWXG, S_IRGRP, S_IWGRP, S_IXGRP, - S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH, - S_ISUID, S_ISGID, S_ISVTX, - S_ISBLK (S_IFREG), - S_ISCHR (S_IFREG), - S_ISDIR (S_IFREG), - S_ISFIFO (S_IFREG), - S_ISREG (S_IFREG), - S_ISLNK (S_IFREG), - S_ISSOCK (S_IFREG), - S_ISDOOR (S_IFREG), - S_ISMPB (S_IFREG), - S_ISNAM (S_IFREG), - S_ISNWK (S_IFREG), - S_ISPORT (S_IFREG), - S_ISCTG (S_IFREG), - S_ISOFD (S_IFREG), - S_ISOFL (S_IFREG), - S_ISWHT (S_IFREG) - }; - -/* Sanity checks. */ - -verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); -verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); -verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); - -verify (S_ISBLK (S_IFBLK)); -verify (!S_ISBLK (S_IFCHR)); -verify (!S_ISBLK (S_IFDIR)); -verify (!S_ISBLK (S_IFIFO)); -verify (!S_ISBLK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISBLK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISBLK (S_IFSOCK)); -#endif - -verify (!S_ISCHR (S_IFBLK)); -verify (S_ISCHR (S_IFCHR)); -verify (!S_ISCHR (S_IFDIR)); -verify (!S_ISCHR (S_IFIFO)); -verify (!S_ISCHR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISCHR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISCHR (S_IFSOCK)); -#endif - -verify (!S_ISDIR (S_IFBLK)); -verify (!S_ISDIR (S_IFCHR)); -verify (S_ISDIR (S_IFDIR)); -verify (!S_ISDIR (S_IFIFO)); -verify (!S_ISDIR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISDIR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISDIR (S_IFSOCK)); -#endif - -verify (!S_ISFIFO (S_IFBLK)); -verify (!S_ISFIFO (S_IFCHR)); -verify (!S_ISFIFO (S_IFDIR)); -verify (S_ISFIFO (S_IFIFO)); -verify (!S_ISFIFO (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISFIFO (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISFIFO (S_IFSOCK)); -#endif - -verify (!S_ISREG (S_IFBLK)); -verify (!S_ISREG (S_IFCHR)); -verify (!S_ISREG (S_IFDIR)); -verify (!S_ISREG (S_IFIFO)); -verify (S_ISREG (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISREG (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISREG (S_IFSOCK)); -#endif - -verify (!S_ISLNK (S_IFBLK)); -verify (!S_ISLNK (S_IFCHR)); -verify (!S_ISLNK (S_IFDIR)); -verify (!S_ISLNK (S_IFIFO)); -verify (!S_ISLNK (S_IFREG)); -#ifdef S_IFLNK -verify (S_ISLNK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISLNK (S_IFSOCK)); -#endif - -verify (!S_ISSOCK (S_IFBLK)); -verify (!S_ISSOCK (S_IFCHR)); -verify (!S_ISSOCK (S_IFDIR)); -verify (!S_ISSOCK (S_IFIFO)); -verify (!S_ISSOCK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISSOCK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (S_ISSOCK (S_IFSOCK)); -#endif - -verify (!S_ISDOOR (S_IFBLK)); -verify (!S_ISDOOR (S_IFCHR)); -verify (!S_ISDOOR (S_IFDIR)); -verify (!S_ISDOOR (S_IFIFO)); -verify (!S_ISDOOR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISDOOR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISDOOR (S_IFSOCK)); -#endif - -verify (!S_ISMPB (S_IFBLK)); -verify (!S_ISMPB (S_IFCHR)); -verify (!S_ISMPB (S_IFDIR)); -verify (!S_ISMPB (S_IFIFO)); -verify (!S_ISMPB (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISMPB (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISMPB (S_IFSOCK)); -#endif - -verify (!S_ISNAM (S_IFBLK)); -verify (!S_ISNAM (S_IFCHR)); -verify (!S_ISNAM (S_IFDIR)); -verify (!S_ISNAM (S_IFIFO)); -verify (!S_ISNAM (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISNAM (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISNAM (S_IFSOCK)); -#endif - -verify (!S_ISNWK (S_IFBLK)); -verify (!S_ISNWK (S_IFCHR)); -verify (!S_ISNWK (S_IFDIR)); -verify (!S_ISNWK (S_IFIFO)); -verify (!S_ISNWK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISNWK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISNWK (S_IFSOCK)); -#endif - -verify (!S_ISPORT (S_IFBLK)); -verify (!S_ISPORT (S_IFCHR)); -verify (!S_ISPORT (S_IFDIR)); -verify (!S_ISPORT (S_IFIFO)); -verify (!S_ISPORT (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISPORT (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISPORT (S_IFSOCK)); -#endif - -verify (!S_ISCTG (S_IFBLK)); -verify (!S_ISCTG (S_IFCHR)); -verify (!S_ISCTG (S_IFDIR)); -verify (!S_ISCTG (S_IFIFO)); -verify (!S_ISCTG (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISCTG (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISCTG (S_IFSOCK)); -#endif - -verify (!S_ISOFD (S_IFBLK)); -verify (!S_ISOFD (S_IFCHR)); -verify (!S_ISOFD (S_IFDIR)); -verify (!S_ISOFD (S_IFIFO)); -verify (!S_ISOFD (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISOFD (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISOFD (S_IFSOCK)); -#endif - -verify (!S_ISOFL (S_IFBLK)); -verify (!S_ISOFL (S_IFCHR)); -verify (!S_ISOFL (S_IFDIR)); -verify (!S_ISOFL (S_IFIFO)); -verify (!S_ISOFL (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISOFL (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISOFL (S_IFSOCK)); -#endif - -verify (!S_ISWHT (S_IFBLK)); -verify (!S_ISWHT (S_IFCHR)); -verify (!S_ISWHT (S_IFDIR)); -verify (!S_ISWHT (S_IFIFO)); -verify (!S_ISWHT (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISWHT (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISWHT (S_IFSOCK)); -#endif - -/* Check the existence of some types. */ -nlink_t t1; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-sys_time.c gnutls26-2.4.1/gl/tests/test-sys_time.c --- gnutls26-2.8.6/gl/tests/test-sys_time.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-sys_time.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -struct timeval a; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-unistd.c gnutls26-2.4.1/gl/tests/test-unistd.c --- gnutls26-2.8.6/gl/tests/test-unistd.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-unistd.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the various SEEK_* macros are defined. */ -int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; - -/* Check that the various *_FILENO macros are defined. */ -#if ! (defined STDIN_FILENO \ - && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3)) -missing or broken *_FILENO macros -#endif - -/* Check that the types are all defined. */ -size_t t1; -ssize_t t2; -#ifdef TODO /* Not implemented in gnulib yet */ -uid_t t3; -gid_t t4; -#endif -off_t t5; -pid_t t6; -#ifdef TODO -useconds_t t7; -intptr_t t8; -#endif - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-vasnprintf.c gnutls26-2.4.1/gl/tests/test-vasnprintf.c --- gnutls26-2.8.6/gl/tests/test-vasnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-vasnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,128 +0,0 @@ -/* Test of vasnprintf() and asnprintf() functions. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "vasnprintf.h" - -#include -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static char * -my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) -{ - va_list args; - char *ret; - - va_start (args, format); - ret = vasnprintf (resultbuf, lengthp, format, args); - va_end (args); - return ret; -} - -static void -test_vasnprintf () -{ - char buf[8]; - int size; - - for (size = 0; size <= 8; size++) - { - size_t length = size; - char *result = my_asnprintf (NULL, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - free (result); - } - - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; - - memcpy (buf, "DEADBEEF", 8); - length = size; - result = my_asnprintf (buf, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - if (size < 6) - ASSERT (result != buf); - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - if (result != buf) - free (result); - } -} - -static void -test_asnprintf () -{ - char buf[8]; - int size; - - for (size = 0; size <= 8; size++) - { - size_t length = size; - char *result = asnprintf (NULL, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - free (result); - } - - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; - - memcpy (buf, "DEADBEEF", 8); - length = size; - result = asnprintf (buf, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - if (size < 6) - ASSERT (result != buf); - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - if (result != buf) - free (result); - } -} - -int -main (int argc, char *argv[]) -{ - test_vasnprintf (); - test_asnprintf (); - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/test-vc-list-files-cvs.sh gnutls26-2.4.1/gl/tests/test-vc-list-files-cvs.sh --- gnutls26-2.8.6/gl/tests/test-vc-list-files-cvs.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-vc-list-files-cvs.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -#!/bin/sh -# Unit tests for vc-list-files -# Copyright (C) 2008 Free Software Foundation, Inc. -# This file is part of the GNUlib Library. -# -# 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 3 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, see . */ - -tmpdir=vc-cvs-$$ -trap 'st=$?; cd '"`pwd`"' && rm -rf $tmpdir; exit $st' 0 -trap '(exit $?); exit $?' 1 2 13 15 - -if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then - compare() { diff -u "$@"; } -elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then - compare() { cmp -s "$@"; } -else - compare() { cmp "$@"; } -fi - -repo=`pwd`/$tmpdir/repo - -fail=0 -for i in with-cvsu without; do - # On the first iteration, test using cvsu, if it's in your path. - # On the second iteration, ensure that cvsu fails, so we'll - # exercise the awk-using code. - if test $i = without; then - printf '%s\n' '#!/bin/sh' 'exit 1' > cvsu - chmod a+x cvsu - PATH=`pwd`:$PATH - export PATH - fi - ok=0 - mkdir $tmpdir && cd $tmpdir && - # without cvs, skip the test - # The double use of 'exit' is needed for the reference to $? inside the trap. - { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \ - || { echo "Skipping test: cvs not found in PATH"; (exit 77); exit 77; }; } && - mkdir w && cd w && - mkdir d && - touch d/a b c && - cvs -Q -d "$repo" import -m imp m M M0 && - cvs -Q -d "$repo" co m && cd m && - printf '%s\n' b c d/a > expected && - vc-list-files | sort > actual && - compare expected actual && - ok=1 - test $ok = 0 && fail=1 -done - -(exit $fail); exit $fail diff -Nru gnutls26-2.8.6/gl/tests/test-vc-list-files-git.sh gnutls26-2.4.1/gl/tests/test-vc-list-files-git.sh --- gnutls26-2.8.6/gl/tests/test-vc-list-files-git.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-vc-list-files-git.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -#!/bin/sh -# Unit tests for vc-list-files -# Copyright (C) 2008, 2009 Free Software Foundation, Inc. -# This file is part of the GNUlib Library. -# -# 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 3 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, see . */ - -if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then - compare() { diff -u "$@"; } -elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then - compare() { cmp -s "$@"; } -else - compare() { cmp "$@"; } -fi - -tmpdir=vc-git-$$ -trap 'st=$?; cd '"`pwd`"' && rm -rf $tmpdir; exit $st' 0 -trap '(exit $?); exit $?' 1 2 13 15 - -fail=1 -mkdir $tmpdir && cd $tmpdir && - # without git, skip the test - # The double use of 'exit' is needed for the reference to $? inside the trap. - { ( git init -q ) > /dev/null 2>&1 \ - || { echo "Skipping test: git not found in PATH"; (exit 77); exit 77; }; } && - mkdir d && - touch d/a b c && - git config user.email "you@example.com" - git config user.name "Your Name" - git add . > /dev/null && - git commit -q -a -m log && - printf '%s\n' b c d/a > expected && - vc-list-files > actual && - compare expected actual && - fail=0 - -(exit $fail); exit $fail diff -Nru gnutls26-2.8.6/gl/tests/test-wchar.c gnutls26-2.4.1/gl/tests/test-wchar.c --- gnutls26-2.8.6/gl/tests/test-wchar.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/test-wchar.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the types wchar_t and wint_t are defined. */ -wchar_t a = 'c'; -wint_t b = 'x'; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/gl/tests/verify.h gnutls26-2.4.1/gl/tests/verify.h --- gnutls26-2.8.6/gl/tests/verify.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/verify.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,140 +0,0 @@ -/* Compile-time assert-like macros. - - Copyright (C) 2005, 2006 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 3 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, see . */ - -/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ - -#ifndef VERIFY_H -# define VERIFY_H 1 - -/* Each of these macros verifies that its argument R is nonzero. To - be portable, R should be an integer constant expression. Unlike - assert (R), there is no run-time overhead. - - There are two macros, since no single macro can be used in all - contexts in C. verify_true (R) is for scalar contexts, including - integer constant expression contexts. verify (R) is for declaration - contexts, e.g., the top level. - - Symbols ending in "__" are private to this header. - - The code below uses several ideas. - - * The first step is ((R) ? 1 : -1). Given an expression R, of - integral or boolean or floating-point type, this yields an - expression of integral type, whose value is later verified to be - constant and nonnegative. - - * Next this expression W is wrapped in a type - struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }. - If W is negative, this yields a compile-time error. No compiler can - deal with a bit-field of negative size. - - One might think that an array size check would have the same - effect, that is, that the type struct { unsigned int dummy[W]; } - would work as well. However, inside a function, some compilers - (such as C++ compilers and GNU C) allow local parameters and - variables inside array size expressions. With these compilers, - an array size check would not properly diagnose this misuse of - the verify macro: - - void function (int n) { verify (n < 0); } - - * For the verify macro, the struct verify_type__ will need to - somehow be embedded into a declaration. To be portable, this - declaration must declare an object, a constant, a function, or a - typedef name. If the declared entity uses the type directly, - such as in - - struct dummy {...}; - typedef struct {...} dummy; - extern struct {...} *dummy; - extern void dummy (struct {...} *); - extern struct {...} *dummy (void); - - two uses of the verify macro would yield colliding declarations - if the entity names are not disambiguated. A workaround is to - attach the current line number to the entity name: - - #define GL_CONCAT0(x, y) x##y - #define GL_CONCAT(x, y) GL_CONCAT0 (x, y) - extern struct {...} * GL_CONCAT(dummy,__LINE__); - - But this has the problem that two invocations of verify from - within the same macro would collide, since the __LINE__ value - would be the same for both invocations. - - A solution is to use the sizeof operator. It yields a number, - getting rid of the identity of the type. Declarations like - - extern int dummy [sizeof (struct {...})]; - extern void dummy (int [sizeof (struct {...})]); - extern int (*dummy (void)) [sizeof (struct {...})]; - - can be repeated. - - * Should the implementation use a named struct or an unnamed struct? - Which of the following alternatives can be used? - - extern int dummy [sizeof (struct {...})]; - extern int dummy [sizeof (struct verify_type__ {...})]; - extern void dummy (int [sizeof (struct {...})]); - extern void dummy (int [sizeof (struct verify_type__ {...})]); - extern int (*dummy (void)) [sizeof (struct {...})]; - extern int (*dummy (void)) [sizeof (struct verify_type__ {...})]; - - In the second and sixth case, the struct type is exported to the - outer scope; two such declarations therefore collide. GCC warns - about the first, third, and fourth cases. So the only remaining - possibility is the fifth case: - - extern int (*dummy (void)) [sizeof (struct {...})]; - - * This implementation exploits the fact that GCC does not warn about - the last declaration mentioned above. If a future version of GCC - introduces a warning for this, the problem could be worked around - by using code specialized to GCC, e.g.,: - - #if 4 <= __GNUC__ - # define verify(R) \ - extern int (* verify_function__ (void)) \ - [__builtin_constant_p (R) && (R) ? 1 : -1] - #endif - - * In C++, any struct definition inside sizeof is invalid. - Use a template type to work around the problem. */ - - -/* Verify requirement R at compile-time, as an integer constant expression. - Return 1. */ - -# ifdef __cplusplus -template - struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; -# define verify_true(R) \ - (!!sizeof (verify_type__<(R) ? 1 : -1>)) -# else -# define verify_true(R) \ - (!!sizeof \ - (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) -# endif - -/* Verify requirement R at compile-time, as a declaration without a - trailing ';'. */ - -# define verify(R) extern int (* verify_function__ (void)) [verify_true (R)] - -#endif diff -Nru gnutls26-2.8.6/gl/tests/w32sock.h gnutls26-2.4.1/gl/tests/w32sock.h --- gnutls26-2.8.6/gl/tests/w32sock.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/tests/w32sock.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* w32sock.h --- internal auxilliary functions for Windows socket functions - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -/* Get O_RDWR and O_BINARY. */ -#include - -/* Get _get_osfhandle() and _open_osfhandle(). */ -#include - -#define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) -#define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) - -static inline void -set_winsock_errno (void) -{ - int err = WSAGetLastError (); - WSASetLastError (0); - - /* Map some WSAE* errors to the runtime library's error codes. */ - switch (err) - { - case WSA_INVALID_HANDLE: - errno = EBADF; - break; - case WSA_NOT_ENOUGH_MEMORY: - errno = ENOMEM; - break; - case WSA_INVALID_PARAMETER: - errno = EINVAL; - break; - case WSAEWOULDBLOCK: - errno = EWOULDBLOCK; - break; - case WSAENAMETOOLONG: - errno = ENAMETOOLONG; - break; - case WSAENOTEMPTY: - errno = ENOTEMPTY; - break; - default: - errno = (err > 10000 && err < 10025) ? err - 10000 : err; - break; - } -} diff -Nru gnutls26-2.8.6/gl/unistd.in.h gnutls26-2.4.1/gl/unistd.in.h --- gnutls26-2.8.6/gl/unistd.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/unistd.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,578 +0,0 @@ -/* Substitute for and wrapper around . - Copyright (C) 2003-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_UNISTD_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_UNISTD_H@ -# @INCLUDE_NEXT@ @NEXT_UNISTD_H@ -#endif - -#ifndef _GL_UNISTD_H -#define _GL_UNISTD_H - -/* mingw doesn't define the SEEK_* or *_FILENO macros in . */ -#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) -# include -#endif - -/* mingw fails to declare _exit in . */ -/* mingw, BeOS, Haiku declare environ in , not in . */ -#include - -#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ -/* Get ssize_t. */ -# include -#endif - -#if @GNULIB_GETHOSTNAME@ -/* Get all possible declarations of gethostname(). */ -# if @UNISTD_H_HAVE_WINSOCK2_H@ -# include -# if !defined _GL_SYS_SOCKET_H -# undef socket -# define socket socket_used_without_including_sys_socket_h -# undef connect -# define connect connect_used_without_including_sys_socket_h -# undef accept -# define accept accept_used_without_including_sys_socket_h -# undef bind -# define bind bind_used_without_including_sys_socket_h -# undef getpeername -# define getpeername getpeername_used_without_including_sys_socket_h -# undef getsockname -# define getsockname getsockname_used_without_including_sys_socket_h -# undef getsockopt -# define getsockopt getsockopt_used_without_including_sys_socket_h -# undef listen -# define listen listen_used_without_including_sys_socket_h -# undef recv -# define recv recv_used_without_including_sys_socket_h -# undef send -# define send send_used_without_including_sys_socket_h -# undef recvfrom -# define recvfrom recvfrom_used_without_including_sys_socket_h -# undef sendto -# define sendto sendto_used_without_including_sys_socket_h -# undef setsockopt -# define setsockopt setsockopt_used_without_including_sys_socket_h -# undef shutdown -# define shutdown shutdown_used_without_including_sys_socket_h -# endif -# if !defined _GL_SYS_SELECT_H -# undef select -# define select select_used_without_including_sys_select_h -# endif -# endif -#endif - -/* The definition of GL_LINK_WARNING is copied here. */ - - -/* OS/2 EMX lacks these macros. */ -#ifndef STDIN_FILENO -# define STDIN_FILENO 0 -#endif -#ifndef STDOUT_FILENO -# define STDOUT_FILENO 1 -#endif -#ifndef STDERR_FILENO -# define STDERR_FILENO 2 -#endif - -/* Declare overridden functions. */ - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_CHOWN@ -# if @REPLACE_CHOWN@ -# ifndef REPLACE_CHOWN -# define REPLACE_CHOWN 1 -# endif -# if REPLACE_CHOWN -/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE - to GID (if GID is not -1). Follow symbolic links. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define chown rpl_chown -extern int chown (const char *file, uid_t uid, gid_t gid); -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef chown -# define chown(f,u,g) \ - (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \ - "doesn't treat a uid or gid of -1 on some systems - " \ - "use gnulib module chown for portability"), \ - chown (f, u, g)) -#endif - - -#if @GNULIB_CLOSE@ -# if @REPLACE_CLOSE@ -/* Automatically included by modules that need a replacement for close. */ -# undef close -# define close rpl_close -extern int close (int); -# endif -#elif @UNISTD_H_HAVE_WINSOCK2_H@ -# undef close -# define close close_used_without_requesting_gnulib_module_close -#elif defined GNULIB_POSIXCHECK -# undef close -# define close(f) \ - (GL_LINK_WARNING ("close does not portably work on sockets - " \ - "use gnulib module close for portability"), \ - close (f)) -#endif - - -#if @GNULIB_DUP2@ -# if !@HAVE_DUP2@ -/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if - NEWFD = OLDFD, otherwise close NEWFD first if it is open. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int dup2 (int oldfd, int newfd); -# endif -#elif defined GNULIB_POSIXCHECK -# undef dup2 -# define dup2(o,n) \ - (GL_LINK_WARNING ("dup2 is unportable - " \ - "use gnulib module dup2 for portability"), \ - dup2 (o, n)) -#endif - - -#if @GNULIB_ENVIRON@ -# if !@HAVE_DECL_ENVIRON@ -/* Set of environment variables and values. An array of strings of the form - "VARIABLE=VALUE", terminated with a NULL. */ -# if defined __APPLE__ && defined __MACH__ -# include -# define environ (*_NSGetEnviron ()) -# else -extern char **environ; -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef environ -# define environ \ - (GL_LINK_WARNING ("environ is unportable - " \ - "use gnulib module environ for portability"), \ - environ) -#endif - - -#if @GNULIB_EUIDACCESS@ -# if !@HAVE_EUIDACCESS@ -/* Like access(), except that is uses the effective user id and group id of - the current process. */ -extern int euidaccess (const char *filename, int mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef euidaccess -# define euidaccess(f,m) \ - (GL_LINK_WARNING ("euidaccess is unportable - " \ - "use gnulib module euidaccess for portability"), \ - euidaccess (f, m)) -#endif - - -#if @GNULIB_FCHDIR@ -# if @REPLACE_FCHDIR@ - -/* Change the process' current working directory to the directory on which - the given file descriptor is open. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int fchdir (int /*fd*/); - -# define dup rpl_dup -extern int dup (int); -# define dup2 rpl_dup2 -extern int dup2 (int, int); - -# endif -#elif defined GNULIB_POSIXCHECK -# undef fchdir -# define fchdir(f) \ - (GL_LINK_WARNING ("fchdir is unportable - " \ - "use gnulib module fchdir for portability"), \ - fchdir (f)) -#endif - - -#if @GNULIB_FSYNC@ -/* Synchronize changes to a file. - Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ -# if !@HAVE_FSYNC@ -extern int fsync (int fd); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fsync -# define fsync(fd) \ - (GL_LINK_WARNING ("fsync is unportable - " \ - "use gnulib module fsync for portability"), \ - fsync (fd)) -#endif - - -#if @GNULIB_FTRUNCATE@ -# if !@HAVE_FTRUNCATE@ -/* Change the size of the file to which FD is opened to become equal to LENGTH. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int ftruncate (int fd, off_t length); -# endif -#elif defined GNULIB_POSIXCHECK -# undef ftruncate -# define ftruncate(f,l) \ - (GL_LINK_WARNING ("ftruncate is unportable - " \ - "use gnulib module ftruncate for portability"), \ - ftruncate (f, l)) -#endif - - -#if @GNULIB_GETCWD@ -/* Include the headers that might declare getcwd so that they will not - cause confusion if included after this file. */ -# include -# if @REPLACE_GETCWD@ -/* Get the name of the current working directory, and put it in SIZE bytes - of BUF. - Return BUF if successful, or NULL if the directory couldn't be determined - or SIZE was too small. - See the POSIX:2001 specification - . - Additionally, the gnulib module 'getcwd' guarantees the following GNU - extension: If BUF is NULL, an array is allocated with 'malloc'; the array - is SIZE bytes long, unless SIZE == 0, in which case it is as big as - necessary. */ -# define getcwd rpl_getcwd -extern char * getcwd (char *buf, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getcwd -# define getcwd(b,s) \ - (GL_LINK_WARNING ("getcwd is unportable - " \ - "use gnulib module getcwd for portability"), \ - getcwd (b, s)) -#endif - - -#if @GNULIB_GETDOMAINNAME@ -/* Return the NIS domain name of the machine. - WARNING! The NIS domain name is unrelated to the fully qualified host name - of the machine. It is also unrelated to email addresses. - WARNING! The NIS domain name is usually the empty string or "(none)" when - not using NIS. - - Put up to LEN bytes of the NIS domain name into NAME. - Null terminate it if the name is shorter than LEN. - If the NIS domain name is longer than LEN, set errno = EINVAL and return -1. - Return 0 if successful, otherwise set errno and return -1. */ -# if !@HAVE_GETDOMAINNAME@ -extern int getdomainname(char *name, size_t len); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdomainname -# define getdomainname(n,l) \ - (GL_LINK_WARNING ("getdomainname is unportable - " \ - "use gnulib module getdomainname for portability"), \ - getdomainname (n, l)) -#endif - - -#if @GNULIB_GETDTABLESIZE@ -# if !@HAVE_GETDTABLESIZE@ -/* Return the maximum number of file descriptors in the current process. */ -extern int getdtablesize (void); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdtablesize -# define getdtablesize() \ - (GL_LINK_WARNING ("getdtablesize is unportable - " \ - "use gnulib module getdtablesize for portability"), \ - getdtablesize ()) -#endif - - -#if @GNULIB_GETHOSTNAME@ -/* Return the standard host name of the machine. - WARNING! The host name may or may not be fully qualified. - - Put up to LEN bytes of the host name into NAME. - Null terminate it if the name is shorter than LEN. - If the host name is longer than LEN, set errno = EINVAL and return -1. - Return 0 if successful, otherwise set errno and return -1. */ -# if @UNISTD_H_HAVE_WINSOCK2_H@ -# undef gethostname -# define gethostname rpl_gethostname -# endif -# if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@ -extern int gethostname(char *name, size_t len); -# endif -#elif @UNISTD_H_HAVE_WINSOCK2_H@ -# undef gethostname -# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname -#elif defined GNULIB_POSIXCHECK -# undef gethostname -# define gethostname(n,l) \ - (GL_LINK_WARNING ("gethostname is unportable - " \ - "use gnulib module gethostname for portability"), \ - gethostname (n, l)) -#endif - - -#if @GNULIB_GETLOGIN_R@ -/* Copies the user's login name to NAME. - The array pointed to by NAME has room for SIZE bytes. - - Returns 0 if successful. Upon error, an error number is returned, or -1 in - the case that the login name cannot be found but no specific error is - provided (this case is hopefully rare but is left open by the POSIX spec). - - See . - */ -# if !@HAVE_DECL_GETLOGIN_R@ -# include -extern int getlogin_r (char *name, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getlogin_r -# define getlogin_r(n,s) \ - (GL_LINK_WARNING ("getlogin_r is unportable - " \ - "use gnulib module getlogin_r for portability"), \ - getlogin_r (n, s)) -#endif - - -#if @GNULIB_GETPAGESIZE@ -# if @REPLACE_GETPAGESIZE@ -# define getpagesize rpl_getpagesize -extern int getpagesize (void); -# elif !@HAVE_GETPAGESIZE@ -/* This is for POSIX systems. */ -# if !defined getpagesize && defined _SC_PAGESIZE -# if ! (defined __VMS && __VMS_VER < 70000000) -# define getpagesize() sysconf (_SC_PAGESIZE) -# endif -# endif -/* This is for older VMS. */ -# if !defined getpagesize && defined __VMS -# ifdef __ALPHA -# define getpagesize() 8192 -# else -# define getpagesize() 512 -# endif -# endif -/* This is for BeOS. */ -# if !defined getpagesize && @HAVE_OS_H@ -# include -# if defined B_PAGE_SIZE -# define getpagesize() B_PAGE_SIZE -# endif -# endif -/* This is for AmigaOS4.0. */ -# if !defined getpagesize && defined __amigaos4__ -# define getpagesize() 2048 -# endif -/* This is for older Unix systems. */ -# if !defined getpagesize && @HAVE_SYS_PARAM_H@ -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else -# ifdef NBPG -# ifndef CLSIZE -# define CLSIZE 1 -# endif -# define getpagesize() (NBPG * CLSIZE) -# else -# ifdef NBPC -# define getpagesize() NBPC -# endif -# endif -# endif -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef getpagesize -# define getpagesize() \ - (GL_LINK_WARNING ("getpagesize is unportable - " \ - "use gnulib module getpagesize for portability"), \ - getpagesize ()) -#endif - - -#if @GNULIB_GETUSERSHELL@ -# if !@HAVE_GETUSERSHELL@ -/* Return the next valid login shell on the system, or NULL when the end of - the list has been reached. */ -extern char *getusershell (void); -/* Rewind to pointer that is advanced at each getusershell() call. */ -extern void setusershell (void); -/* Free the pointer that is advanced at each getusershell() call and - associated resources. */ -extern void endusershell (void); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getusershell -# define getusershell() \ - (GL_LINK_WARNING ("getusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - getusershell ()) -# undef setusershell -# define setusershell() \ - (GL_LINK_WARNING ("setusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - setusershell ()) -# undef endusershell -# define endusershell() \ - (GL_LINK_WARNING ("endusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - endusershell ()) -#endif - - -#if @GNULIB_LCHOWN@ -# if @REPLACE_LCHOWN@ -/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE - to GID (if GID is not -1). Do not follow symbolic links. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define lchown rpl_lchown -extern int lchown (char const *file, uid_t owner, gid_t group); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lchown -# define lchown(f,u,g) \ - (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \ - "systems - use gnulib module lchown for portability"), \ - lchown (f, u, g)) -#endif - - -#if @GNULIB_LINK@ -/* Create a new hard link for an existing file. - Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ -# if !@HAVE_LINK@ -extern int link (const char *path1, const char *path2); -# endif -#elif defined GNULIB_POSIXCHECK -# undef link -# define link(path1,path2) \ - (GL_LINK_WARNING ("link is unportable - " \ - "use gnulib module link for portability"), \ - link (path1, path2)) -#endif - - -#if @GNULIB_LSEEK@ -# if @REPLACE_LSEEK@ -/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. - Return the new offset if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define lseek rpl_lseek - extern off_t lseek (int fd, off_t offset, int whence); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lseek -# define lseek(f,o,w) \ - (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \ - "systems - use gnulib module lseek for portability"), \ - lseek (f, o, w)) -#endif - - -#if @GNULIB_READLINK@ -/* Read the contents of the symbolic link FILE and place the first BUFSIZE - bytes of it into BUF. Return the number of bytes placed into BUF if - successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# if !@HAVE_READLINK@ -# include -extern int readlink (const char *file, char *buf, size_t bufsize); -# endif -#elif defined GNULIB_POSIXCHECK -# undef readlink -# define readlink(f,b,s) \ - (GL_LINK_WARNING ("readlink is unportable - " \ - "use gnulib module readlink for portability"), \ - readlink (f, b, s)) -#endif - - -#if @GNULIB_SLEEP@ -/* Pause the execution of the current thread for N seconds. - Returns the number of seconds left to sleep. - See the POSIX:2001 specification - . */ -# if !@HAVE_SLEEP@ -extern unsigned int sleep (unsigned int n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef sleep -# define sleep(n) \ - (GL_LINK_WARNING ("sleep is unportable - " \ - "use gnulib module sleep for portability"), \ - sleep (n)) -#endif - - -#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ -/* Write up to COUNT bytes starting at BUF to file descriptor FD. - See the POSIX:2001 specification - . */ -# undef write -# define write rpl_write -extern ssize_t write (int fd, const void *buf, size_t count); -#endif - - -#ifdef FCHDIR_REPLACEMENT -/* gnulib internal function. */ -extern void _gl_unregister_fd (int fd); -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _GL_UNISTD_H */ -#endif /* _GL_UNISTD_H */ diff -Nru gnutls26-2.8.6/gl/vasnprintf.c gnutls26-2.4.1/gl/vasnprintf.c --- gnutls26-2.8.6/gl/vasnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/vasnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,5487 +0,0 @@ -/* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - VASNPRINTF The name of the function being defined. - FCHAR_T The element type of the format string. - DCHAR_T The element type of the destination (result) string. - FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters - in the format string are ASCII. MUST be set if - FCHAR_T and DCHAR_T are not the same type. - DIRECTIVE Structure denoting a format directive. - Depends on FCHAR_T. - DIRECTIVES Structure denoting the set of format directives of a - format string. Depends on FCHAR_T. - PRINTF_PARSE Function that parses a format string. - Depends on FCHAR_T. - DCHAR_CPY memcpy like function for DCHAR_T[] arrays. - DCHAR_SET memset like function for DCHAR_T[] arrays. - DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. - SNPRINTF The system's snprintf (or similar) function. - This may be either snprintf or swprintf. - TCHAR_T The element type of the argument and result string - of the said SNPRINTF function. This may be either - char or wchar_t. The code exploits that - sizeof (TCHAR_T) | sizeof (DCHAR_T) and - alignof (TCHAR_T) <= alignof (DCHAR_T). - DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. - DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. - DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. - DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. - DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ - -/* Tell glibc's to provide a prototype for snprintf(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifndef VASNPRINTF -# include -#endif -#ifndef IN_LIBINTL -# include -#endif - -/* Specification. */ -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# include "vasnwprintf.h" -# else -# include "vasnprintf.h" -# endif -#endif - -#include /* localeconv() */ -#include /* snprintf(), sprintf() */ -#include /* abort(), malloc(), realloc(), free() */ -#include /* memcpy(), strlen() */ -#include /* errno */ -#include /* CHAR_BIT */ -#include /* DBL_MAX_EXP, LDBL_MAX_EXP */ -#if HAVE_NL_LANGINFO -# include -#endif -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# include "wprintf-parse.h" -# else -# include "printf-parse.h" -# endif -#endif - -/* Checked size_t computations. */ -#include "xsize.h" - -#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "float+.h" -#endif - -#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnand-nolibm.h" -#endif - -#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnanl-nolibm.h" -# include "fpucw.h" -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnand-nolibm.h" -# include "printf-frexp.h" -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnanl-nolibm.h" -# include "printf-frexpl.h" -# include "fpucw.h" -#endif - -/* Default parameters. */ -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# define VASNPRINTF vasnwprintf -# define FCHAR_T wchar_t -# define DCHAR_T wchar_t -# define TCHAR_T wchar_t -# define DCHAR_IS_TCHAR 1 -# define DIRECTIVE wchar_t_directive -# define DIRECTIVES wchar_t_directives -# define PRINTF_PARSE wprintf_parse -# define DCHAR_CPY wmemcpy -# define DCHAR_SET wmemset -# else -# define VASNPRINTF vasnprintf -# define FCHAR_T char -# define DCHAR_T char -# define TCHAR_T char -# define DCHAR_IS_TCHAR 1 -# define DIRECTIVE char_directive -# define DIRECTIVES char_directives -# define PRINTF_PARSE printf_parse -# define DCHAR_CPY memcpy -# define DCHAR_SET memset -# endif -#endif -#if WIDE_CHAR_VERSION - /* TCHAR_T is wchar_t. */ -# define USE_SNPRINTF 1 -# if HAVE_DECL__SNWPRINTF - /* On Windows, the function swprintf() has a different signature than - on Unix; we use the _snwprintf() function instead. */ -# define SNPRINTF _snwprintf -# else - /* Unix. */ -# define SNPRINTF swprintf -# endif -#else - /* TCHAR_T is char. */ - /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. - But don't use it on BeOS, since BeOS snprintf produces no output if the - size argument is >= 0x3000000. - Also don't use it on Linux libc5, since there snprintf with size = 1 - writes any output without bounds, like sprintf. */ -# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1) -# define USE_SNPRINTF 1 -# else -# define USE_SNPRINTF 0 -# endif -# if HAVE_DECL__SNPRINTF - /* Windows. */ -# define SNPRINTF _snprintf -# else - /* Unix. */ -# define SNPRINTF snprintf - /* Here we need to call the native snprintf, not rpl_snprintf. */ -# undef snprintf -# endif -#endif -/* Here we need to call the native sprintf, not rpl_sprintf. */ -#undef sprintf - -/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized" - warnings in this file. Use -Dlint to suppress them. */ -#ifdef lint -# define IF_LINT(Code) Code -#else -# define IF_LINT(Code) /* empty */ -#endif - -/* Avoid some warnings from "gcc -Wshadow". - This file doesn't use the exp() and remainder() functions. */ -#undef exp -#define exp expo -#undef remainder -#define remainder rem - -#if !USE_SNPRINTF && !WIDE_CHAR_VERSION -# if (HAVE_STRNLEN && !defined _AIX) -# define local_strnlen strnlen -# else -# ifndef local_strnlen_defined -# define local_strnlen_defined 1 -static size_t -local_strnlen (const char *string, size_t maxlen) -{ - const char *end = memchr (string, '\0', maxlen); - return end ? (size_t) (end - string) : maxlen; -} -# endif -# endif -#endif - -#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T && (WIDE_CHAR_VERSION || DCHAR_IS_TCHAR) -# if HAVE_WCSLEN -# define local_wcslen wcslen -# else - /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid - a dependency towards this library, here is a local substitute. - Define this substitute only once, even if this file is included - twice in the same compilation unit. */ -# ifndef local_wcslen_defined -# define local_wcslen_defined 1 -static size_t -local_wcslen (const wchar_t *s) -{ - const wchar_t *ptr; - - for (ptr = s; *ptr != (wchar_t) 0; ptr++) - ; - return ptr - s; -} -# endif -# endif -#endif - -#if !USE_SNPRINTF && HAVE_WCHAR_T && WIDE_CHAR_VERSION -# if HAVE_WCSNLEN -# define local_wcsnlen wcsnlen -# else -# ifndef local_wcsnlen_defined -# define local_wcsnlen_defined 1 -static size_t -local_wcsnlen (const wchar_t *s, size_t maxlen) -{ - const wchar_t *ptr; - - for (ptr = s; maxlen > 0 && *ptr != (wchar_t) 0; ptr++, maxlen--) - ; - return ptr - s; -} -# endif -# endif -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL -/* Determine the decimal-point character according to the current locale. */ -# ifndef decimal_point_char_defined -# define decimal_point_char_defined 1 -static char -decimal_point_char () -{ - const char *point; - /* Determine it in a multithread-safe way. We know nl_langinfo is - multithread-safe on glibc systems, but is not required to be multithread- - safe by POSIX. sprintf(), however, is multithread-safe. localeconv() - is rarely multithread-safe. */ -# if HAVE_NL_LANGINFO && __GLIBC__ - point = nl_langinfo (RADIXCHAR); -# elif 1 - char pointbuf[5]; - sprintf (pointbuf, "%#.0f", 1.0); - point = &pointbuf[1]; -# else - point = localeconv () -> decimal_point; -# endif - /* The decimal point is always a single byte: either '.' or ','. */ - return (point[0] != '\0' ? point[0] : '.'); -} -# endif -#endif - -#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL - -/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ -static int -is_infinite_or_zero (double x) -{ - return isnand (x) || x + x == x; -} - -#endif - -#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL - -/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ -static int -is_infinite_or_zerol (long double x) -{ - return isnanl (x) || x + x == x; -} - -#endif - -#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL - -/* Converting 'long double' to decimal without rare rounding bugs requires - real bignums. We use the naming conventions of GNU gmp, but vastly simpler - (and slower) algorithms. */ - -typedef unsigned int mp_limb_t; -# define GMP_LIMB_BITS 32 -typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; - -typedef unsigned long long mp_twolimb_t; -# define GMP_TWOLIMB_BITS 64 -typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; - -/* Representation of a bignum >= 0. */ -typedef struct -{ - size_t nlimbs; - mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ -} mpn_t; - -/* Compute the product of two bignums >= 0. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -multiply (mpn_t src1, mpn_t src2, mpn_t *dest) -{ - const mp_limb_t *p1; - const mp_limb_t *p2; - size_t len1; - size_t len2; - - if (src1.nlimbs <= src2.nlimbs) - { - len1 = src1.nlimbs; - p1 = src1.limbs; - len2 = src2.nlimbs; - p2 = src2.limbs; - } - else - { - len1 = src2.nlimbs; - p1 = src2.limbs; - len2 = src1.nlimbs; - p2 = src1.limbs; - } - /* Now 0 <= len1 <= len2. */ - if (len1 == 0) - { - /* src1 or src2 is zero. */ - dest->nlimbs = 0; - dest->limbs = (mp_limb_t *) malloc (1); - } - else - { - /* Here 1 <= len1 <= len2. */ - size_t dlen; - mp_limb_t *dp; - size_t k, i, j; - - dlen = len1 + len2; - dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); - if (dp == NULL) - return NULL; - for (k = len2; k > 0; ) - dp[--k] = 0; - for (i = 0; i < len1; i++) - { - mp_limb_t digit1 = p1[i]; - mp_twolimb_t carry = 0; - for (j = 0; j < len2; j++) - { - mp_limb_t digit2 = p2[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - carry += dp[i + j]; - dp[i + j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - dp[i + len2] = (mp_limb_t) carry; - } - /* Normalise. */ - while (dlen > 0 && dp[dlen - 1] == 0) - dlen--; - dest->nlimbs = dlen; - dest->limbs = dp; - } - return dest->limbs; -} - -/* Compute the quotient of a bignum a >= 0 and a bignum b > 0. - a is written as a = q * b + r with 0 <= r < b. q is the quotient, r - the remainder. - Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, - q is incremented. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -divide (mpn_t a, mpn_t b, mpn_t *q) -{ - /* Algorithm: - First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] - with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). - If m=n=1, perform a single-precision division: - r:=0, j:=m, - while j>0 do - {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = - = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: - We have a/b < beta^(m-n+1). - s:=intDsize-1-(highest bit in b[n-1]), 0<=s=beta/2. - For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} - Compute q* : - q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). - In case of overflow (q* >= beta) set q* := beta-1. - Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] - and c3 := b[n-2] * q*. - {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow - occurred. Furthermore 0 <= c3 < beta^2. - If there was overflow and - r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, - the next test can be skipped.} - While c3 > c2, {Here 0 <= c2 < c3 < beta^2} - Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. - If q* > 0: - Put r := r - b * q* * beta^j. In detail: - [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. - hence: u:=0, for i:=0 to n-1 do - u := u + q* * b[i], - r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), - u:=u div beta (+ 1, if carry in subtraction) - r[n+j]:=r[n+j]-u. - {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 - < q* + 1 <= beta, - the carry u does not overflow.} - If a negative carry occurs, put q* := q* - 1 - and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. - Set q[j] := q*. - Normalise [q[m-n],..,q[0]]; this yields the quotient q. - Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the - rest r. - The room for q[j] can be allocated at the memory location of r[n+j]. - Finally, round-to-even: - Shift r left by 1 bit. - If r > b or if r = b and q[0] is odd, q := q+1. - */ - const mp_limb_t *a_ptr = a.limbs; - size_t a_len = a.nlimbs; - const mp_limb_t *b_ptr = b.limbs; - size_t b_len = b.nlimbs; - mp_limb_t *roomptr; - mp_limb_t *tmp_roomptr = NULL; - mp_limb_t *q_ptr; - size_t q_len; - mp_limb_t *r_ptr; - size_t r_len; - - /* Allocate room for a_len+2 digits. - (Need a_len+1 digits for the real division and 1 more digit for the - final rounding of q.) */ - roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); - if (roomptr == NULL) - return NULL; - - /* Normalise a. */ - while (a_len > 0 && a_ptr[a_len - 1] == 0) - a_len--; - - /* Normalise b. */ - for (;;) - { - if (b_len == 0) - /* Division by zero. */ - abort (); - if (b_ptr[b_len - 1] == 0) - b_len--; - else - break; - } - - /* Here m = a_len >= 0 and n = b_len > 0. */ - - if (a_len < b_len) - { - /* m beta^(m-2) <= a/b < beta^m */ - r_ptr = roomptr; - q_ptr = roomptr + 1; - { - mp_limb_t den = b_ptr[0]; - mp_limb_t remainder = 0; - const mp_limb_t *sourceptr = a_ptr + a_len; - mp_limb_t *destptr = q_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; - *--destptr = num / den; - remainder = num % den; - } - /* Normalise and store r. */ - if (remainder > 0) - { - r_ptr[0] = remainder; - r_len = 1; - } - else - r_len = 0; - /* Normalise q. */ - q_len = a_len; - if (q_ptr[q_len - 1] == 0) - q_len--; - } - } - else - { - /* n>1: multiple precision division. - beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> - beta^(m-n-1) <= a/b < beta^(m-n+1). */ - /* Determine s. */ - size_t s; - { - mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ - s = 31; - if (msd >= 0x10000) - { - msd = msd >> 16; - s -= 16; - } - if (msd >= 0x100) - { - msd = msd >> 8; - s -= 8; - } - if (msd >= 0x10) - { - msd = msd >> 4; - s -= 4; - } - if (msd >= 0x4) - { - msd = msd >> 2; - s -= 2; - } - if (msd >= 0x2) - { - msd = msd >> 1; - s -= 1; - } - } - /* 0 <= s < GMP_LIMB_BITS. - Copy b, shifting it left by s bits. */ - if (s > 0) - { - tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); - if (tmp_roomptr == NULL) - { - free (roomptr); - return NULL; - } - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = tmp_roomptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - /* accu must be zero, since that was how s was determined. */ - if (accu != 0) - abort (); - } - b_ptr = tmp_roomptr; - } - /* Copy a, shifting it left by s bits, yields r. - Memory layout: - At the beginning: r = roomptr[0..a_len], - at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ - r_ptr = roomptr; - if (s == 0) - { - memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); - r_ptr[a_len] = 0; - } - else - { - const mp_limb_t *sourceptr = a_ptr; - mp_limb_t *destptr = r_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = a_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - *destptr++ = (mp_limb_t) accu; - } - q_ptr = roomptr + b_len; - q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ - { - size_t j = a_len - b_len; /* m-n */ - mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ - mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ - mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ - ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; - /* Division loop, traversed m-n+1 times. - j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ - for (;;) - { - mp_limb_t q_star; - mp_limb_t c1; - if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ - { - /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ - mp_twolimb_t num = - ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) - | r_ptr[j + b_len - 1]; - q_star = num / b_msd; - c1 = num % b_msd; - } - else - { - /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ - q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ - /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta - <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta - <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) - {<= beta !}. - If yes, jump directly to the subtraction loop. - (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta - <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ - if (r_ptr[j + b_len] > b_msd - || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) - /* r[j+n] >= b[n-1]+1 or - r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a - carry. */ - goto subtract; - } - /* q_star = q*, - c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by - b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 - this can happen only twice. */ - if (c3 > c2) - { - q_star = q_star - 1; /* q* := q* - 1 */ - if (c3 - c2 > b_msdd) - q_star = q_star - 1; /* q* := q* - 1 */ - } - } - if (q_star > 0) - subtract: - { - /* Subtract r := r - b * q* * beta^j. */ - mp_limb_t cr; - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_twolimb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - /* Here 0 <= carry <= q*. */ - carry = - carry - + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ - + (mp_limb_t) ~(*destptr); - /* Here 0 <= carry <= beta*q* + beta-1. */ - *destptr++ = ~(mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; /* <= q* */ - } - cr = (mp_limb_t) carry; - } - /* Subtract cr from r_ptr[j + b_len], then forget about - r_ptr[j + b_len]. */ - if (cr > r_ptr[j + b_len]) - { - /* Subtraction gave a carry. */ - q_star = q_star - 1; /* q* := q* - 1 */ - /* Add b back. */ - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_limb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - mp_limb_t source1 = *sourceptr++; - mp_limb_t source2 = *destptr; - *destptr++ = source1 + source2 + carry; - carry = - (carry - ? source1 >= (mp_limb_t) ~source2 - : source1 > (mp_limb_t) ~source2); - } - } - /* Forget about the carry and about r[j+n]. */ - } - } - /* q* is determined. Store it as q[j]. */ - q_ptr[j] = q_star; - if (j == 0) - break; - j--; - } - } - r_len = b_len; - /* Normalise q. */ - if (q_ptr[q_len - 1] == 0) - q_len--; -# if 0 /* Not needed here, since we need r only to compare it with b/2, and - b is shifted left by s bits. */ - /* Shift r right by s bits. */ - if (s > 0) - { - mp_limb_t ptr = r_ptr + r_len; - mp_twolimb_t accu = 0; - size_t count; - for (count = r_len; count > 0; count--) - { - accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; - accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); - *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); - } - } -# endif - /* Normalise r. */ - while (r_len > 0 && r_ptr[r_len - 1] == 0) - r_len--; - } - /* Compare r << 1 with b. */ - if (r_len > b_len) - goto increment_q; - { - size_t i; - for (i = b_len;;) - { - mp_limb_t r_i = - (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) - | (i < r_len ? r_ptr[i] << 1 : 0); - mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); - if (r_i > b_i) - goto increment_q; - if (r_i < b_i) - goto keep_q; - if (i == 0) - break; - i--; - } - } - if (q_len > 0 && ((q_ptr[0] & 1) != 0)) - /* q is odd. */ - increment_q: - { - size_t i; - for (i = 0; i < q_len; i++) - if (++(q_ptr[i]) != 0) - goto keep_q; - q_ptr[q_len++] = 1; - } - keep_q: - if (tmp_roomptr != NULL) - free (tmp_roomptr); - q->limbs = q_ptr; - q->nlimbs = q_len; - return roomptr; -} - -/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal - representation. - Destroys the contents of a. - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -convert_to_decimal (mpn_t a, size_t extra_zeroes) -{ - mp_limb_t *a_ptr = a.limbs; - size_t a_len = a.nlimbs; - /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ - size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); - char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); - if (c_ptr != NULL) - { - char *d_ptr = c_ptr; - for (; extra_zeroes > 0; extra_zeroes--) - *d_ptr++ = '0'; - while (a_len > 0) - { - /* Divide a by 10^9, in-place. */ - mp_limb_t remainder = 0; - mp_limb_t *ptr = a_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; - *ptr = num / 1000000000; - remainder = num % 1000000000; - } - /* Store the remainder as 9 decimal digits. */ - for (count = 9; count > 0; count--) - { - *d_ptr++ = '0' + (remainder % 10); - remainder = remainder / 10; - } - /* Normalize a. */ - if (a_ptr[a_len - 1] == 0) - a_len--; - } - /* Remove leading zeroes. */ - while (d_ptr > c_ptr && d_ptr[-1] == '0') - d_ptr--; - /* But keep at least one zero. */ - if (d_ptr == c_ptr) - *d_ptr++ = '0'; - /* Terminate the string. */ - *d_ptr = '\0'; - } - return c_ptr; -} - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and >= 0: - write x as x = 2^e * m, where m is a bignum. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -decode_long_double (long double x, int *ep, mpn_t *mp) -{ - mpn_t m; - int exp; - long double y; - size_t i; - - /* Allocate memory for result. */ - m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); - if (m.limbs == NULL) - return NULL; - /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); - if (!(y >= 0.0L && y < 1.0L)) - abort (); - /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the - latter is an integer. */ - /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. - I'm not sure whether it's safe to cast a 'long double' value between - 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only - 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', - doesn't matter). */ -# if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 -# if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -# else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; - } -# endif -# endif - for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -#if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess - precision. */ - if (!(y == 0.0L)) - abort (); -#endif - /* Normalise. */ - while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) - m.nlimbs--; - *mp = m; - *ep = exp - LDBL_MANT_BIT; - return m.limbs; -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and >= 0: - write x as x = 2^e * m, where m is a bignum. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -decode_double (double x, int *ep, mpn_t *mp) -{ - mpn_t m; - int exp; - double y; - size_t i; - - /* Allocate memory for result. */ - m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); - if (m.limbs == NULL) - return NULL; - /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); - if (!(y >= 0.0 && y < 1.0)) - abort (); - /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the - latter is an integer. */ - /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. - I'm not sure whether it's safe to cast a 'double' value between - 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only - 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', - doesn't matter). */ -# if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 -# if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -# else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; - } -# endif -# endif - for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } - if (!(y == 0.0)) - abort (); - /* Normalise. */ - while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) - m.nlimbs--; - *mp = m; - *ep = exp - DBL_MANT_BIT; - return m.limbs; -} - -# endif - -/* Assuming x = 2^e * m is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) -{ - int s; - size_t extra_zeroes; - unsigned int abs_n; - unsigned int abs_s; - mp_limb_t *pow5_ptr; - size_t pow5_len; - unsigned int s_limbs; - unsigned int s_bits; - mpn_t pow5; - mpn_t z; - void *z_memory; - char *digits; - - if (memory == NULL) - return NULL; - /* x = 2^e * m, hence - y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) - = round (2^s * 5^n * m). */ - s = e + n; - extra_zeroes = 0; - /* Factor out a common power of 10 if possible. */ - if (s > 0 && n > 0) - { - extra_zeroes = (s < n ? s : n); - s -= extra_zeroes; - n -= extra_zeroes; - } - /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. - Before converting to decimal, we need to compute - z = round (2^s * 5^n * m). */ - /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same - sign. 2.322 is slightly larger than log(5)/log(2). */ - abs_n = (n >= 0 ? n : -n); - abs_s = (s >= 0 ? s : -s); - pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 - + abs_s / GMP_LIMB_BITS + 1) - * sizeof (mp_limb_t)); - if (pow5_ptr == NULL) - { - free (memory); - return NULL; - } - /* Initialize with 1. */ - pow5_ptr[0] = 1; - pow5_len = 1; - /* Multiply with 5^|n|. */ - if (abs_n > 0) - { - static mp_limb_t const small_pow5[13 + 1] = - { - 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, - 48828125, 244140625, 1220703125 - }; - unsigned int n13; - for (n13 = 0; n13 <= abs_n; n13 += 13) - { - mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; - size_t j; - mp_twolimb_t carry = 0; - for (j = 0; j < pow5_len; j++) - { - mp_limb_t digit2 = pow5_ptr[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - pow5_ptr[j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - if (carry > 0) - pow5_ptr[pow5_len++] = (mp_limb_t) carry; - } - } - s_limbs = abs_s / GMP_LIMB_BITS; - s_bits = abs_s % GMP_LIMB_BITS; - if (n >= 0 ? s >= 0 : s <= 0) - { - /* Multiply with 2^|s|. */ - if (s_bits > 0) - { - mp_limb_t *ptr = pow5_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = pow5_len; count > 0; count--) - { - accu += (mp_twolimb_t) *ptr << s_bits; - *ptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - { - *ptr = (mp_limb_t) accu; - pow5_len++; - } - } - if (s_limbs > 0) - { - size_t count; - for (count = pow5_len; count > 0;) - { - count--; - pow5_ptr[s_limbs + count] = pow5_ptr[count]; - } - for (count = s_limbs; count > 0;) - { - count--; - pow5_ptr[count] = 0; - } - pow5_len += s_limbs; - } - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* Multiply m with pow5. No division needed. */ - z_memory = multiply (m, pow5, &z); - } - else - { - /* Divide m by pow5 and round. */ - z_memory = divide (m, pow5, &z); - } - } - else - { - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* n >= 0, s < 0. - Multiply m with pow5, then divide by 2^|s|. */ - mpn_t numerator; - mpn_t denominator; - void *tmp_memory; - tmp_memory = multiply (m, pow5, &numerator); - if (tmp_memory == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - /* Construct 2^|s|. */ - { - mp_limb_t *ptr = pow5_ptr + pow5_len; - size_t i; - for (i = 0; i < s_limbs; i++) - ptr[i] = 0; - ptr[s_limbs] = (mp_limb_t) 1 << s_bits; - denominator.limbs = ptr; - denominator.nlimbs = s_limbs + 1; - } - z_memory = divide (numerator, denominator, &z); - free (tmp_memory); - } - else - { - /* n < 0, s > 0. - Multiply m with 2^s, then divide by pow5. */ - mpn_t numerator; - mp_limb_t *num_ptr; - num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) - * sizeof (mp_limb_t)); - if (num_ptr == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - { - mp_limb_t *destptr = num_ptr; - { - size_t i; - for (i = 0; i < s_limbs; i++) - *destptr++ = 0; - } - if (s_bits > 0) - { - const mp_limb_t *sourceptr = m.limbs; - mp_twolimb_t accu = 0; - size_t count; - for (count = m.nlimbs; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s_bits; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - *destptr++ = (mp_limb_t) accu; - } - else - { - const mp_limb_t *sourceptr = m.limbs; - size_t count; - for (count = m.nlimbs; count > 0; count--) - *destptr++ = *sourceptr++; - } - numerator.limbs = num_ptr; - numerator.nlimbs = destptr - num_ptr; - } - z_memory = divide (numerator, pow5, &z); - free (num_ptr); - } - } - free (pow5_ptr); - free (memory); - - /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ - - if (z_memory == NULL) - return NULL; - digits = convert_to_decimal (z, extra_zeroes); - free (z_memory); - return digits; -} - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_long_double (long double x, int n) -{ - int e IF_LINT(= 0); - mpn_t m; - void *memory = decode_long_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_double (double x, int n) -{ - int e IF_LINT(= 0); - mpn_t m; - void *memory = decode_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); -} - -# endif - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and > 0: - Return an approximation for n with 10^n <= x < 10^(n+1). - The approximation is usually the right n, but may be off by 1 sometimes. */ -static int -floorlog10l (long double x) -{ - int exp; - long double y; - double z; - double l; - - /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); - if (!(y >= 0.0L && y < 1.0L)) - abort (); - if (y == 0.0L) - return INT_MIN; - if (y < 0.5L) - { - while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0L / (1 << 16))) - { - y *= 1.0L * (1 << 16); - exp -= 16; - } - if (y < (1.0L / (1 << 8))) - { - y *= 1.0L * (1 << 8); - exp -= 8; - } - if (y < (1.0L / (1 << 4))) - { - y *= 1.0L * (1 << 4); - exp -= 4; - } - if (y < (1.0L / (1 << 2))) - { - y *= 1.0L * (1 << 2); - exp -= 2; - } - if (y < (1.0L / (1 << 1))) - { - y *= 1.0L * (1 << 1); - exp -= 1; - } - } - if (!(y >= 0.5L && y < 1.0L)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; - } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; - } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; - } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; - } - /* Now 0.95 <= z <= 1.01. */ - z = 1 - z; - /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) - Four terms are enough to get an approximation with error < 10^-7. */ - l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); - /* Finally multiply with log(2)/log(10), yields an approximation for - log10(x). */ - l *= 0.30102999566398119523; - /* Round down to the next integer. */ - return (int) l + (l < 0 ? -1 : 0); -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and > 0: - Return an approximation for n with 10^n <= x < 10^(n+1). - The approximation is usually the right n, but may be off by 1 sometimes. */ -static int -floorlog10 (double x) -{ - int exp; - double y; - double z; - double l; - - /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); - if (!(y >= 0.0 && y < 1.0)) - abort (); - if (y == 0.0) - return INT_MIN; - if (y < 0.5) - { - while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0 / (1 << 16))) - { - y *= 1.0 * (1 << 16); - exp -= 16; - } - if (y < (1.0 / (1 << 8))) - { - y *= 1.0 * (1 << 8); - exp -= 8; - } - if (y < (1.0 / (1 << 4))) - { - y *= 1.0 * (1 << 4); - exp -= 4; - } - if (y < (1.0 / (1 << 2))) - { - y *= 1.0 * (1 << 2); - exp -= 2; - } - if (y < (1.0 / (1 << 1))) - { - y *= 1.0 * (1 << 1); - exp -= 1; - } - } - if (!(y >= 0.5 && y < 1.0)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; - } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; - } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; - } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; - } - /* Now 0.95 <= z <= 1.01. */ - z = 1 - z; - /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) - Four terms are enough to get an approximation with error < 10^-7. */ - l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); - /* Finally multiply with log(2)/log(10), yields an approximation for - log10(x). */ - l *= 0.30102999566398119523; - /* Round down to the next integer. */ - return (int) l + (l < 0 ? -1 : 0); -} - -# endif - -/* Tests whether a string of digits consists of exactly PRECISION zeroes and - a single '1' digit. */ -static int -is_borderline (const char *digits, size_t precision) -{ - for (; precision > 0; precision--, digits++) - if (*digits != '0') - return 0; - if (*digits != '1') - return 0; - digits++; - return *digits == '\0'; -} - -#endif - -DCHAR_T * -VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - const FCHAR_T *format, va_list args) -{ - DIRECTIVES d; - arguments a; - - if (PRINTF_PARSE (format, &d, &a) < 0) - /* errno is already set. */ - return NULL; - -#define CLEANUP() \ - free (d.dir); \ - if (a.arg) \ - free (a.arg); - - if (PRINTF_FETCHARGS (args, &a) < 0) - { - CLEANUP (); - errno = EINVAL; - return NULL; - } - - { - size_t buf_neededlength; - TCHAR_T *buf; - TCHAR_T *buf_malloced; - const FCHAR_T *cp; - size_t i; - DIRECTIVE *dp; - /* Output string accumulator. */ - DCHAR_T *result; - size_t allocated; - size_t length; - - /* Allocate a small buffer that will hold a directive passed to - sprintf or snprintf. */ - buf_neededlength = - xsum4 (7, d.max_width_length, d.max_precision_length, 6); -#if HAVE_ALLOCA - if (buf_neededlength < 4000 / sizeof (TCHAR_T)) - { - buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); - buf_malloced = NULL; - } - else -#endif - { - size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); - if (size_overflow_p (buf_memsize)) - goto out_of_memory_1; - buf = (TCHAR_T *) malloc (buf_memsize); - if (buf == NULL) - goto out_of_memory_1; - buf_malloced = buf; - } - - if (resultbuf != NULL) - { - result = resultbuf; - allocated = *lengthp; - } - else - { - result = NULL; - allocated = 0; - } - length = 0; - /* Invariants: - result is either == resultbuf or == NULL or malloc-allocated. - If length > 0, then result != NULL. */ - - /* Ensures that allocated >= needed. Aborts through a jump to - out_of_memory if needed is SIZE_MAX or otherwise too big. */ -#define ENSURE_ALLOCATION(needed) \ - if ((needed) > allocated) \ - { \ - size_t memory_size; \ - DCHAR_T *memory; \ - \ - allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ - if ((needed) > allocated) \ - allocated = (needed); \ - memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ - if (size_overflow_p (memory_size)) \ - goto out_of_memory; \ - if (result == resultbuf || result == NULL) \ - memory = (DCHAR_T *) malloc (memory_size); \ - else \ - memory = (DCHAR_T *) realloc (result, memory_size); \ - if (memory == NULL) \ - goto out_of_memory; \ - if (result == resultbuf && length > 0) \ - DCHAR_CPY (memory, result, length); \ - result = memory; \ - } - - for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) - { - if (cp != dp->dir_start) - { - size_t n = dp->dir_start - cp; - size_t augmented_length = xsum (length, n); - - ENSURE_ALLOCATION (augmented_length); - /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we - need that the format string contains only ASCII characters - if FCHAR_T and DCHAR_T are not the same type. */ - if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) - { - DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); - length = augmented_length; - } - else - { - do - result[length++] = (unsigned char) *cp++; - while (--n > 0); - } - } - if (i == d.count) - break; - - /* Execute a single directive. */ - if (dp->conversion == '%') - { - size_t augmented_length; - - if (!(dp->arg_index == ARG_NONE)) - abort (); - augmented_length = xsum (length, 1); - ENSURE_ALLOCATION (augmented_length); - result[length] = '%'; - length = augmented_length; - } - else - { - if (!(dp->arg_index != ARG_NONE)) - abort (); - - if (dp->conversion == 'n') - { - switch (a.arg[dp->arg_index].type) - { - case TYPE_COUNT_SCHAR_POINTER: - *a.arg[dp->arg_index].a.a_count_schar_pointer = length; - break; - case TYPE_COUNT_SHORT_POINTER: - *a.arg[dp->arg_index].a.a_count_short_pointer = length; - break; - case TYPE_COUNT_INT_POINTER: - *a.arg[dp->arg_index].a.a_count_int_pointer = length; - break; - case TYPE_COUNT_LONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longint_pointer = length; - break; -#if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; - break; -#endif - default: - abort (); - } - } -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - else if (dp->conversion == 'U') - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - switch (type) - { - case TYPE_U8_STRING: - { - const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; - const uint8_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u8_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT8_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-8 to locale encoding. */ - converted = - u8_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-8 to UTF-16/UTF-32. */ - converted = - U8_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U16_STRING: - { - const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; - const uint16_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u16_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT16_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-16 to locale encoding. */ - converted = - u16_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-16 to UTF-8/UTF-32. */ - converted = - U16_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U32_STRING: - { - const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; - const uint32_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u32_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT32_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-32 to locale encoding. */ - converted = - u32_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-32 to UTF-8/UTF-16. */ - converted = - U32_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - default: - abort (); - } - } -#endif -#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T - else if (dp->conversion == 's' -# if WIDE_CHAR_VERSION - && a.arg[dp->arg_index].type != TYPE_WIDE_STRING -# else - && a.arg[dp->arg_index].type == TYPE_WIDE_STRING -# endif - ) - { - /* The normal handling of the 's' directive below requires - allocating a temporary buffer. The determination of its - length (tmp_length), in the case when a precision is - specified, below requires a conversion between a char[] - string and a wchar_t[] wide string. It could be done, but - we have no guarantee that the implementation of sprintf will - use the exactly same algorithm. Without this guarantee, it - is possible to have buffer overrun bugs. In order to avoid - such bugs, we implement the entire processing of the 's' - directive ourselves. */ - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 6; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - -# if WIDE_CHAR_VERSION - /* %s in vasnwprintf. See the specification of fwprintf. */ - { - const char *arg = a.arg[dp->arg_index].a.a_string; - const char *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only as many bytes as needed to produce PRECISION - wide characters, from the left. */ -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count; -# if HAVE_MBRTOWC - count = mbrlen (arg_end, MB_CUR_MAX, &state); -# else - count = mblen (arg_end, MB_CUR_MAX); -# endif - if (count == 0) - /* Found the terminating NUL. */ - break; - if (count < 0) - { - /* Invalid or incomplete multibyte character. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of wide - characters. */ -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (;;) - { - int count; -# if HAVE_MBRTOWC - count = mbrlen (arg_end, MB_CUR_MAX, &state); -# else - count = mblen (arg_end, MB_CUR_MAX); -# endif - if (count == 0) - /* Found the terminating NUL. */ - break; - if (count < 0) - { - /* Invalid or incomplete multibyte character. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - - if (has_precision || has_width) - { - /* We know the number of wide characters in advance. */ - size_t remaining; -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - ENSURE_ALLOCATION (xsum (length, characters)); - for (remaining = characters; remaining > 0; remaining--) - { - wchar_t wc; - int count; -# if HAVE_MBRTOWC - count = mbrtowc (&wc, arg, arg_end - arg, &state); -# else - count = mbtowc (&wc, arg, arg_end - arg); -# endif - if (count <= 0) - /* mbrtowc not consistent with mbrlen, or mbtowc - not consistent with mblen. */ - abort (); - result[length++] = wc; - arg += count; - } - if (!(arg == arg_end)) - abort (); - } - else - { -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - while (arg < arg_end) - { - wchar_t wc; - int count; -# if HAVE_MBRTOWC - count = mbrtowc (&wc, arg, arg_end - arg, &state); -# else - count = mbtowc (&wc, arg, arg_end - arg); -# endif - if (count <= 0) - /* mbrtowc not consistent with mbrlen, or mbtowc - not consistent with mblen. */ - abort (); - ENSURE_ALLOCATION (xsum (length, 1)); - result[length++] = wc; - arg += count; - } - } - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } -# else - /* %ls in vasnprintf. See the specification of fprintf. */ - { - const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; - const wchar_t *arg_end; - size_t characters; -# if !DCHAR_IS_TCHAR - /* This code assumes that TCHAR_T is 'char'. */ - typedef int TCHAR_T_verify[2 * (sizeof (TCHAR_T) == 1) - 1]; - TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t tmpdst_len; -# endif - size_t w; - - if (has_precision) - { - /* Use only as many wide characters as needed to produce - at most PRECISION bytes, from the left. */ -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - while (precision > 0) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg_end == 0) - /* Found the terminating null wide character. */ - break; -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg_end, &state); -# else - count = wctomb (buf, *arg_end); -# endif - if (count < 0) - { - /* Cannot convert. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - if (precision < count) - break; - arg_end++; - characters += count; - precision -= count; - } - } -# if DCHAR_IS_TCHAR - else if (has_width) -# else - else -# endif - { - /* Use the entire string, and count the number of - bytes. */ -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (;;) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg_end == 0) - /* Found the terminating null wide character. */ - break; -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg_end, &state); -# else - count = wctomb (buf, *arg_end); -# endif - if (count < 0) - { - /* Cannot convert. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end++; - characters += count; - } - } -# if DCHAR_IS_TCHAR - else - { - /* Use the entire string. */ - arg_end = arg + local_wcslen (arg); - /* The number of bytes doesn't matter. */ - characters = 0; - } -# endif - -# if !DCHAR_IS_TCHAR - /* Convert the string into a piece of temporary memory. */ - tmpsrc = (TCHAR_T *) malloc (characters * sizeof (TCHAR_T)); - if (tmpsrc == NULL) - goto out_of_memory; - { - TCHAR_T *tmpptr = tmpsrc; - size_t remaining; -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - for (remaining = characters; remaining > 0; ) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - memcpy (tmpptr, buf, count); - tmpptr += count; - arg++; - remaining -= count; - } - if (!(arg == arg_end)) - abort (); - } - - /* Convert from TCHAR_T[] to DCHAR_T[]. */ - tmpdst = - DCHAR_CONV_FROM_ENCODING (locale_charset (), - iconveh_question_mark, - tmpsrc, characters, - NULL, - NULL, &tmpdst_len); - if (tmpdst == NULL) - { - int saved_errno = errno; - free (tmpsrc); - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - free (tmpsrc); -# endif - - if (has_width) - { -# if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width - against the number of _characters_ of the converted - value. */ - w = DCHAR_MBSNLEN (result + length, characters); -# else - /* The width is compared against the number of _bytes_ - of the converted value, says POSIX. */ - w = characters; -# endif - } - else - /* w doesn't matter. */ - w = 0; - - if (has_width && width > w - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - w; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_TCHAR - if (has_precision || has_width) - { - /* We know the number of bytes in advance. */ - size_t remaining; -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - ENSURE_ALLOCATION (xsum (length, characters)); - for (remaining = characters; remaining > 0; ) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - memcpy (result + length, buf, count); - length += count; - arg++; - remaining -= count; - } - if (!(arg == arg_end)) - abort (); - } - else - { -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - while (arg < arg_end) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - ENSURE_ALLOCATION (xsum (length, count)); - memcpy (result + length, buf, count); - length += count; - arg++; - } - } -# else - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); - DCHAR_CPY (result + length, tmpdst, tmpdst_len); - free (tmpdst); - length += tmpdst_len; -# endif - - if (has_width && width > w - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - w; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - } -# endif -#endif -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'a' || dp->conversion == 'A') -# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) - && (0 -# if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE -# endif -# if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE -# endif - ) -# endif - ) - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* Allocate a temporary buffer of sufficient size. */ - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) ((LDBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) ((DBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } - - pad_ptr = NULL; - p = tmp; - if (type == TYPE_LONGDOUBLE) - { -# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE - long double arg = a.arg[dp->arg_index].a.a_longdouble; - - if (isnanl (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - long double mantissa; - - if (arg > 0.0L) - mantissa = printf_frexpl (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0L; - } - - if (has_precision - && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - long double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5L : tail > 0.5L) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0L; - } - if (tail != 0.0L) - for (q = precision; q > 0; q--) - tail *= 0.0625L; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0L || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0L) - { - mantissa *= 16.0L; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - - END_LONG_DOUBLE_ROUNDING (); - } -# else - abort (); -# endif - } - else - { -# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE - double arg = a.arg[dp->arg_index].a.a_double; - - if (isnand (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - double mantissa; - - if (arg > 0.0) - mantissa = printf_frexp (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0; - } - - if (has_precision - && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5 : tail > 0.5) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0; - } - if (tail != 0.0) - for (q = precision; q > 0; q--) - tail *= 0.0625; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0 || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0) - { - mantissa *= 16.0; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - } -# else - abort (); -# endif - } - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } -#endif -#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'f' || dp->conversion == 'F' - || dp->conversion == 'e' || dp->conversion == 'E' - || dp->conversion == 'g' || dp->conversion == 'G' - || dp->conversion == 'a' || dp->conversion == 'A') - && (0 -# if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE -# elif NEED_PRINTF_INFINITE_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_DOUBLE - /* The systems (mingw) which produce wrong output - for Inf, -Inf, and NaN also do so for -0.0. - Therefore we treat this case here as well. */ - && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) -# endif -# if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE -# elif NEED_PRINTF_INFINITE_LONG_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE - /* Some systems produce wrong output for Inf, - -Inf, and NaN. Some systems in this category - (IRIX 5.3) also do so for -0.0. Therefore we - treat this case here as well. */ - && is_infinite_or_zerol (a.arg[dp->arg_index].a.a_longdouble)) -# endif - )) - { -# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) - arg_type type = a.arg[dp->arg_index].type; -# endif - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* POSIX specifies the default precision to be 6 for %f, %F, - %e, %E, but not for %g, %G. Implementations appear to use - the same default precision also for %g, %G. But for %a, %A, - the default precision is 0. */ - if (!has_precision) - if (!(dp->conversion == 'a' || dp->conversion == 'A')) - precision = 6; - - /* Allocate a temporary buffer of sufficient size. */ -# if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); -# elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); -# elif NEED_PRINTF_LONG_DOUBLE - tmp_length = LDBL_DIG + 1; -# elif NEED_PRINTF_DOUBLE - tmp_length = DBL_DIG + 1; -# else - tmp_length = 0; -# endif - if (tmp_length < precision) - tmp_length = precision; -# if NEED_PRINTF_LONG_DOUBLE -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) -# endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - if (!(isnanl (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10l (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } -# endif -# if NEED_PRINTF_DOUBLE -# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE - if (type == TYPE_DOUBLE) -# endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - double arg = a.arg[dp->arg_index].a.a_double; - if (!(isnand (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10 (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } -# endif - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } - - pad_ptr = NULL; - p = tmp; - -# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) -# endif - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - - if (isnanl (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { -# if NEED_PRINTF_LONG_DOUBLE - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_long_double (arg, precision); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0L) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0L. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)precision - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision+1. */ - if (is_borderline (digits, precision)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_long_double (arg, - (int)precision - exponent + 1); - if (digits2 == NULL) - { - free (digits); - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - if (strlen (digits2) == precision + 1) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision+1. */ - - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - - *p++ = dp->conversion; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0L) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0L. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - if (is_borderline (digits, precision - 1)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_long_double (arg, - (int)(precision - 1) - exponent + 1); - if (digits2 == NULL) - { - free (digits); - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - if (strlen (digits2) == precision) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - - free (digits); - } - } - else - abort (); -# else - /* arg is finite. */ - if (!(arg == 0.0L)) - abort (); - - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion; /* 'e' or 'E' */ - *p++ = '+'; - *p++ = '0'; - *p++ = '0'; - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - *p++ = '0'; - if (flags & FLAG_ALT) - { - size_t ndigits = - (precision > 0 ? precision - 1 : 0); - *p++ = decimal_point_char (); - for (; ndigits > 0; --ndigits) - *p++ = '0'; - } - } - else if (dp->conversion == 'a' || dp->conversion == 'A') - { - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion - 'A' + 'P'; - *p++ = '+'; - *p++ = '0'; - } - else - abort (); -# endif - } - - END_LONG_DOUBLE_ROUNDING (); - } - } -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - else -# endif -# endif -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - { - double arg = a.arg[dp->arg_index].a.a_double; - - if (isnand (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { -# if NEED_PRINTF_DOUBLE - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_double (arg, precision); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)precision - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision+1. */ - if (is_borderline (digits, precision)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_double (arg, - (int)precision - exponent + 1); - if (digits2 == NULL) - { - free (digits); - goto out_of_memory; - } - if (strlen (digits2) == precision + 1) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision+1. */ - - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - - *p++ = dp->conversion; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; -# else - { '%', '+', '.', '2', 'd', '\0' }; -# endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; -# else - "%+.2d"; -# endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } -# endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - if (is_borderline (digits, precision - 1)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_double (arg, - (int)(precision - 1) - exponent + 1); - if (digits2 == NULL) - { - free (digits); - goto out_of_memory; - } - if (strlen (digits2) == precision) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; -# else - { '%', '+', '.', '2', 'd', '\0' }; -# endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; -# else - "%+.2d"; -# endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } -# endif - } - - free (digits); - } - } - else - abort (); -# else - /* arg is finite. */ - if (!(arg == 0.0)) - abort (); - - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion; /* 'e' or 'E' */ - *p++ = '+'; - /* Produce the same number of exponent digits as - the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *p++ = '0'; -# endif - *p++ = '0'; - *p++ = '0'; - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - *p++ = '0'; - if (flags & FLAG_ALT) - { - size_t ndigits = - (precision > 0 ? precision - 1 : 0); - *p++ = decimal_point_char (); - for (; ndigits > 0; --ndigits) - *p++ = '0'; - } - } - else - abort (); -# endif - } - } - } -# endif - - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } -#endif - else - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; -#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int has_width; - size_t width; -#endif -#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - int has_precision; - size_t precision; -#endif -#if NEED_PRINTF_UNBOUNDED_PRECISION - int prec_ourselves; -#else -# define prec_ourselves 0 -#endif -#if NEED_PRINTF_FLAG_LEFTADJUST -# define pad_ourselves 1 -#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int pad_ourselves; -#else -# define pad_ourselves 0 -#endif - TCHAR_T *fbp; - unsigned int prefix_count; - int prefixes[2] IF_LINT (= { 0 }); -#if !USE_SNPRINTF - size_t tmp_length; - TCHAR_T tmpbuf[700]; - TCHAR_T *tmp; -#endif - -#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } -#endif - -#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - has_precision = 0; - precision = 6; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } -#endif - - /* Decide whether to handle the precision ourselves. */ -#if NEED_PRINTF_UNBOUNDED_PRECISION - switch (dp->conversion) - { - case 'd': case 'i': case 'u': - case 'o': - case 'x': case 'X': case 'p': - prec_ourselves = has_precision && (precision > 0); - break; - default: - prec_ourselves = 0; - break; - } -#endif - - /* Decide whether to perform the padding ourselves. */ -#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION) - switch (dp->conversion) - { -# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO - /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need - to perform the padding after this conversion. Functions - with unistdio extensions perform the padding based on - character count rather than element count. */ - case 'c': case 's': -# endif -# if NEED_PRINTF_FLAG_ZERO - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': -# endif - pad_ourselves = 1; - break; - default: - pad_ourselves = prec_ourselves; - break; - } -#endif - -#if !USE_SNPRINTF - /* Allocate a temporary buffer of sufficient size for calling - sprintf. */ - { - switch (dp->conversion) - { - - case 'd': case 'i': case 'u': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Multiply by 2, as an estimate for FLAG_GROUP. */ - tmp_length = xsum (tmp_length, tmp_length); - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; - - case 'o': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; - - case 'x': case 'X': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 2, to account for a leading sign or alternate form. */ - tmp_length = xsum (tmp_length, 2); - break; - - case 'f': case 'F': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - else - tmp_length = - (unsigned int) (DBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'e': case 'E': case 'g': case 'G': - tmp_length = - 12; /* sign, decimal point, exponent etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'a': case 'A': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (DBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - break; - - case 'c': -# if HAVE_WINT_T && !WIDE_CHAR_VERSION - if (type == TYPE_WIDE_CHAR) - tmp_length = MB_CUR_MAX; - else -# endif - tmp_length = 1; - break; - - case 's': -# if HAVE_WCHAR_T - if (type == TYPE_WIDE_STRING) - { -# if WIDE_CHAR_VERSION - /* ISO C says about %ls in fwprintf: - "If the precision is not specified or is greater - than the size of the array, the array shall - contain a null wide character." - So if there is a precision, we must not use - wcslen. */ - const wchar_t *arg = - a.arg[dp->arg_index].a.a_wide_string; - - if (has_precision) - tmp_length = local_wcsnlen (arg, precision); - else - tmp_length = local_wcslen (arg); -# else - /* ISO C says about %ls in fprintf: - "If a precision is specified, no more than that - many bytes are written (including shift - sequences, if any), and the array shall contain - a null wide character if, to equal the - multibyte character sequence length given by - the precision, the function would need to - access a wide character one past the end of the - array." - So if there is a precision, we must not use - wcslen. */ - /* This case has already been handled above. */ - abort (); -# endif - } - else -# endif - { -# if WIDE_CHAR_VERSION - /* ISO C says about %s in fwprintf: - "If the precision is not specified or is greater - than the size of the converted array, the - converted array shall contain a null wide - character." - So if there is a precision, we must not use - strlen. */ - /* This case has already been handled above. */ - abort (); -# else - /* ISO C says about %s in fprintf: - "If the precision is not specified or greater - than the size of the array, the array shall - contain a null character." - So if there is a precision, we must not use - strlen. */ - const char *arg = a.arg[dp->arg_index].a.a_string; - - if (has_precision) - tmp_length = local_strnlen (arg, precision); - else - tmp_length = strlen (arg); -# endif - } - break; - - case 'p': - tmp_length = - (unsigned int) (sizeof (void *) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1 /* turn floor into ceil */ - + 2; /* account for leading 0x */ - break; - - default: - abort (); - } - - if (!pad_ourselves) - { -# if ENABLE_UNISTDIO - /* Padding considers the number of characters, therefore - the number of elements after padding may be - > max (tmp_length, width) - but is certainly - <= tmp_length + width. */ - tmp_length = xsum (tmp_length, width); -# else - /* Padding considers the number of elements, - says POSIX. */ - if (tmp_length < width) - tmp_length = width; -# endif - } - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - } - - if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (TCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } -#endif - - /* Construct the format string for calling snprintf or - sprintf. */ - fbp = buf; - *fbp++ = '%'; -#if NEED_PRINTF_FLAG_GROUPING - /* The underlying implementation doesn't support the ' flag. - Produce no grouping characters in this case; this is - acceptable because the grouping is locale dependent. */ -#else - if (flags & FLAG_GROUP) - *fbp++ = '\''; -#endif - if (flags & FLAG_LEFT) - *fbp++ = '-'; - if (flags & FLAG_SHOWSIGN) - *fbp++ = '+'; - if (flags & FLAG_SPACE) - *fbp++ = ' '; - if (flags & FLAG_ALT) - *fbp++ = '#'; - if (!pad_ourselves) - { - if (flags & FLAG_ZERO) - *fbp++ = '0'; - if (dp->width_start != dp->width_end) - { - size_t n = dp->width_end - dp->width_start; - /* The width specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->width_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } - if (!prec_ourselves) - { - if (dp->precision_start != dp->precision_end) - { - size_t n = dp->precision_end - dp->precision_start; - /* The precision specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->precision_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } - - switch (type) - { -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - case TYPE_ULONGLONGINT: -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *fbp++ = 'I'; - *fbp++ = '6'; - *fbp++ = '4'; - break; -# else - *fbp++ = 'l'; - /*FALLTHROUGH*/ -# endif -#endif - case TYPE_LONGINT: - case TYPE_ULONGINT: -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: -#endif -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: -#endif - *fbp++ = 'l'; - break; - case TYPE_LONGDOUBLE: - *fbp++ = 'L'; - break; - default: - break; - } -#if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - *fbp = 'f'; - else -#endif - *fbp = dp->conversion; -#if USE_SNPRINTF -# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; -# else - /* On glibc2 systems from glibc >= 2.3 - probably also older - ones - we know that snprintf's returns value conforms to - ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. - Therefore we can avoid using %n in this situation. - On glibc2 systems from 2004-10-18 or newer, the use of %n - in format strings in writable memory may crash the program - (if compiled with _FORTIFY_SOURCE=2), so we should avoid it - in this situation. */ - /* On native Win32 systems (such as mingw), we can avoid using - %n because: - - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, - snprintf does not write more than the specified number - of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes - '4', '5', '6' into buf, not '4', '5', '\0'.) - - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf - allows us to recognize the case of an insufficient - buffer size: it returns -1 in this case. - On native Win32 systems (such as mingw) where the OS is - Windows Vista, the use of %n in format strings by default - crashes the program. See - and - - So we should avoid %n in this situation. */ - fbp[1] = '\0'; -# endif -#else - fbp[1] = '\0'; -#endif - - /* Construct the arguments for calling snprintf or sprintf. */ - prefix_count = 0; - if (!pad_ourselves && dp->width_arg_index != ARG_NONE) - { - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; - } - if (!prec_ourselves && dp->precision_arg_index != ARG_NONE) - { - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; - } - -#if USE_SNPRINTF - /* The SNPRINTF result is appended after result[0..length]. - The latter is an array of DCHAR_T; SNPRINTF appends an - array of TCHAR_T to it. This is possible because - sizeof (TCHAR_T) divides sizeof (DCHAR_T) and - alignof (TCHAR_T) <= alignof (DCHAR_T). */ -# define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) - /* Ensure that maxlen below will be >= 2. Needed on BeOS, - where an snprintf() with maxlen==1 acts like sprintf(). */ - ENSURE_ALLOCATION (xsum (length, - (2 + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR)); - /* Prepare checking whether snprintf returns the count - via %n. */ - *(TCHAR_T *) (result + length) = '\0'; -#endif - - for (;;) - { - int count = -1; - -#if USE_SNPRINTF - int retcount = 0; - size_t maxlen = allocated - length; - /* SNPRINTF can fail if its second argument is - > INT_MAX. */ - if (maxlen > INT_MAX / TCHARS_PER_DCHAR) - maxlen = INT_MAX / TCHARS_PER_DCHAR; - maxlen = maxlen * TCHARS_PER_DCHAR; -# define SNPRINTF_BUF(arg) \ - switch (prefix_count) \ - { \ - case 0: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - arg, &count); \ - break; \ - case 1: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - prefixes[0], arg, &count); \ - break; \ - case 2: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - prefixes[0], prefixes[1], arg, \ - &count); \ - break; \ - default: \ - abort (); \ - } -#else -# define SNPRINTF_BUF(arg) \ - switch (prefix_count) \ - { \ - case 0: \ - count = sprintf (tmp, buf, arg); \ - break; \ - case 1: \ - count = sprintf (tmp, buf, prefixes[0], arg); \ - break; \ - case 2: \ - count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ - arg); \ - break; \ - default: \ - abort (); \ - } -#endif - - switch (type) - { - case TYPE_SCHAR: - { - int arg = a.arg[dp->arg_index].a.a_schar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UCHAR: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uchar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_SHORT: - { - int arg = a.arg[dp->arg_index].a.a_short; - SNPRINTF_BUF (arg); - } - break; - case TYPE_USHORT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_ushort; - SNPRINTF_BUF (arg); - } - break; - case TYPE_INT: - { - int arg = a.arg[dp->arg_index].a.a_int; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UINT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGINT: - { - long int arg = a.arg[dp->arg_index].a.a_longint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGINT: - { - unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - { - long long int arg = a.arg[dp->arg_index].a.a_longlongint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGLONGINT: - { - unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_DOUBLE: - { - double arg = a.arg[dp->arg_index].a.a_double; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGDOUBLE: - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - SNPRINTF_BUF (arg); - } - break; - case TYPE_CHAR: - { - int arg = a.arg[dp->arg_index].a.a_char; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: - { - wint_t arg = a.arg[dp->arg_index].a.a_wide_char; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_STRING: - { - const char *arg = a.arg[dp->arg_index].a.a_string; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - { - const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_POINTER: - { - void *arg = a.arg[dp->arg_index].a.a_pointer; - SNPRINTF_BUF (arg); - } - break; - default: - abort (); - } - -#if USE_SNPRINTF - /* Portability: Not all implementations of snprintf() - are ISO C 99 compliant. Determine the number of - bytes that snprintf() has produced or would have - produced. */ - if (count >= 0) - { - /* Verify that snprintf() has NUL-terminated its - result. */ - if (count < maxlen - && ((TCHAR_T *) (result + length)) [count] != '\0') - abort (); - /* Portability hack. */ - if (retcount > count) - count = retcount; - } - else - { - /* snprintf() doesn't understand the '%n' - directive. */ - if (fbp[1] != '\0') - { - /* Don't use the '%n' directive; instead, look - at the snprintf() return value. */ - fbp[1] = '\0'; - continue; - } - else - { - /* Look at the snprintf() return value. */ - if (retcount < 0) - { - /* HP-UX 10.20 snprintf() is doubly deficient: - It doesn't understand the '%n' directive, - *and* it returns -1 (rather than the length - that would have been required) when the - buffer is too small. */ - size_t bigger_need = - xsum (xtimes (allocated, 2), 12); - ENSURE_ALLOCATION (bigger_need); - continue; - } - else - count = retcount; - } - } -#endif - - /* Attempt to handle failure. */ - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EINVAL; - return NULL; - } - -#if USE_SNPRINTF - /* Handle overflow of the allocated buffer. - If such an overflow occurs, a C99 compliant snprintf() - returns a count >= maxlen. However, a non-compliant - snprintf() function returns only count = maxlen - 1. To - cover both cases, test whether count >= maxlen - 1. */ - if ((unsigned int) count + 1 >= maxlen) - { - /* If maxlen already has attained its allowed maximum, - allocating more memory will not increase maxlen. - Instead of looping, bail out. */ - if (maxlen == INT_MAX / TCHARS_PER_DCHAR) - goto overflow; - else - { - /* Need at least (count + 1) * sizeof (TCHAR_T) - bytes. (The +1 is for the trailing NUL.) - But ask for (count + 2) * sizeof (TCHAR_T) - bytes, so that in the next round, we likely get - maxlen > (unsigned int) count + 1 - and so we don't get here again. - And allocate proportionally, to avoid looping - eternally if snprintf() reports a too small - count. */ - size_t n = - xmax (xsum (length, - ((unsigned int) count + 2 - + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR), - xtimes (allocated, 2)); - - ENSURE_ALLOCATION (n); - continue; - } - } -#endif - -#if NEED_PRINTF_UNBOUNDED_PRECISION - if (prec_ourselves) - { - /* Handle the precision. */ - TCHAR_T *prec_ptr = -# if USE_SNPRINTF - (TCHAR_T *) (result + length); -# else - tmp; -# endif - size_t prefix_count; - size_t move; - - prefix_count = 0; - /* Put the additional zeroes after the sign. */ - if (count >= 1 - && (*prec_ptr == '-' || *prec_ptr == '+' - || *prec_ptr == ' ')) - prefix_count = 1; - /* Put the additional zeroes after the 0x prefix if - (flags & FLAG_ALT) || (dp->conversion == 'p'). */ - else if (count >= 2 - && prec_ptr[0] == '0' - && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) - prefix_count = 2; - - move = count - prefix_count; - if (precision > move) - { - /* Insert zeroes. */ - size_t insert = precision - move; - TCHAR_T *prec_end; - -# if USE_SNPRINTF - size_t n = - xsum (length, - (count + insert + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR); - length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - ENSURE_ALLOCATION (n); - length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - prec_ptr = (TCHAR_T *) (result + length); -# endif - - prec_end = prec_ptr + count; - prec_ptr += prefix_count; - - while (prec_end > prec_ptr) - { - prec_end--; - prec_end[insert] = prec_end[0]; - } - - prec_end += insert; - do - *--prec_end = '0'; - while (prec_end > prec_ptr); - - count += insert; - } - } -#endif - -#if !USE_SNPRINTF - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); -#endif - -#if !DCHAR_IS_TCHAR - /* Convert from TCHAR_T[] to DCHAR_T[]. */ - if (dp->conversion == 'c' || dp->conversion == 's') - { - /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING - TYPE_WIDE_STRING. - The result string is not certainly ASCII. */ - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t tmpdst_len; - /* This code assumes that TCHAR_T is 'char'. */ - typedef int TCHAR_T_verify - [2 * (sizeof (TCHAR_T) == 1) - 1]; -# if USE_SNPRINTF - tmpsrc = (TCHAR_T *) (result + length); -# else - tmpsrc = tmp; -# endif - tmpdst = - DCHAR_CONV_FROM_ENCODING (locale_charset (), - iconveh_question_mark, - tmpsrc, count, - NULL, - NULL, &tmpdst_len); - if (tmpdst == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); - DCHAR_CPY (result + length, tmpdst, tmpdst_len); - free (tmpdst); - count = tmpdst_len; - } - else - { - /* The result string is ASCII. - Simple 1:1 conversion. */ -# if USE_SNPRINTF - /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a - no-op conversion, in-place on the array starting - at (result + length). */ - if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) -# endif - { - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t n; - -# if USE_SNPRINTF - if (result == resultbuf) - { - tmpsrc = (TCHAR_T *) (result + length); - /* ENSURE_ALLOCATION will not move tmpsrc - (because it's part of resultbuf). */ - ENSURE_ALLOCATION (xsum (length, count)); - } - else - { - /* ENSURE_ALLOCATION will move the array - (because it uses realloc(). */ - ENSURE_ALLOCATION (xsum (length, count)); - tmpsrc = (TCHAR_T *) (result + length); - } -# else - tmpsrc = tmp; - ENSURE_ALLOCATION (xsum (length, count)); -# endif - tmpdst = result + length; - /* Copy backwards, because of overlapping. */ - tmpsrc += count; - tmpdst += count; - for (n = count; n > 0; n--) - *--tmpdst = (unsigned char) *--tmpsrc; - } - } -#endif - -#if DCHAR_IS_TCHAR && !USE_SNPRINTF - /* Make room for the result. */ - if (count > allocated - length) - { - /* Need at least count elements. But allocate - proportionally. */ - size_t n = - xmax (xsum (length, count), xtimes (allocated, 2)); - - ENSURE_ALLOCATION (n); - } -#endif - - /* Here count <= allocated - length. */ - - /* Perform padding. */ -#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - if (pad_ourselves && has_width) - { - size_t w; -# if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width - against the number of _characters_ of the converted - value. */ - w = DCHAR_MBSNLEN (result + length, count); -# else - /* The width is compared against the number of _bytes_ - of the converted value, says POSIX. */ - w = count; -# endif - if (w < width) - { - size_t pad = width - w; - - /* Make room for the result. */ - if (xsum (count, pad) > allocated - length) - { - /* Need at least count + pad elements. But - allocate proportionally. */ - size_t n = - xmax (xsum3 (length, count, pad), - xtimes (allocated, 2)); - -# if USE_SNPRINTF - length += count; - ENSURE_ALLOCATION (n); - length -= count; -# else - ENSURE_ALLOCATION (n); -# endif - } - /* Here count + pad <= allocated - length. */ - - { -# if !DCHAR_IS_TCHAR || USE_SNPRINTF - DCHAR_T * const rp = result + length; -# else - DCHAR_T * const rp = tmp; -# endif - DCHAR_T *p = rp + count; - DCHAR_T *end = p + pad; - DCHAR_T *pad_ptr; -# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO - if (dp->conversion == 'c' - || dp->conversion == 's') - /* No zero-padding for string directives. */ - pad_ptr = NULL; - else -# endif - { - pad_ptr = (*rp == '-' ? rp + 1 : rp); - /* No zero-padding of "inf" and "nan". */ - if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') - || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) - pad_ptr = NULL; - } - /* The generated string now extends from rp to p, - with the zero padding insertion point being at - pad_ptr. */ - - count = count + pad; /* = end - rp */ - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > rp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - } - } - } -#endif - - /* Here still count <= allocated - length. */ - -#if !DCHAR_IS_TCHAR || USE_SNPRINTF - /* The snprintf() result did fit. */ -#else - /* Append the sprintf() result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); -#endif -#if !USE_SNPRINTF - if (tmp != tmpbuf) - free (tmp); -#endif - -#if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - { - /* Convert the %f result to upper case for %F. */ - DCHAR_T *rp = result + length; - size_t rc; - for (rc = count; rc > 0; rc--, rp++) - if (*rp >= 'a' && *rp <= 'z') - *rp = *rp - 'a' + 'A'; - } -#endif - - length += count; - break; - } - } - } - } - - /* Add the final NUL. */ - ENSURE_ALLOCATION (xsum (length, 1)); - result[length] = '\0'; - - if (result != resultbuf && length + 1 < allocated) - { - /* Shrink the allocated memory if possible. */ - DCHAR_T *memory; - - memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); - if (memory != NULL) - result = memory; - } - - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - *lengthp = length; - /* Note that we can produce a big string of a length > INT_MAX. POSIX - says that snprintf() fails with errno = EOVERFLOW in this case, but - that's only because snprintf() returns an 'int'. This function does - not have this limitation. */ - return result; - -#if USE_SNPRINTF - overflow: - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EOVERFLOW; - return NULL; -#endif - - out_of_memory: - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - out_of_memory_1: - CLEANUP (); - errno = ENOMEM; - return NULL; - } -} - -#undef TCHARS_PER_DCHAR -#undef SNPRINTF -#undef USE_SNPRINTF -#undef DCHAR_CPY -#undef PRINTF_PARSE -#undef DIRECTIVES -#undef DIRECTIVE -#undef DCHAR_IS_TCHAR -#undef TCHAR_T -#undef DCHAR_T -#undef FCHAR_T -#undef VASNPRINTF diff -Nru gnutls26-2.8.6/gl/vasnprintf.h gnutls26-2.4.1/gl/vasnprintf.h --- gnutls26-2.8.6/gl/vasnprintf.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/vasnprintf.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,81 +0,0 @@ -/* vsprintf with automatic memory allocation. - Copyright (C) 2002-2004, 2007-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _VASNPRINTF_H -#define _VASNPRINTF_H - -/* Get va_list. */ -#include - -/* Get size_t. */ -#include - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Write formatted output to a string dynamically allocated with malloc(). - You can pass a preallocated buffer for the result in RESULTBUF and its - size in *LENGTHP; otherwise you pass RESULTBUF = NULL. - If successful, return the address of the string (this may be = RESULTBUF - if no dynamic memory allocation was necessary) and set *LENGTHP to the - number of resulting bytes, excluding the trailing NUL. Upon error, set - errno and return NULL. - - When dynamic memory allocation occurs, the preallocated buffer is left - alone (with possibly modified contents). This makes it possible to use - a statically allocated or stack-allocated buffer, like this: - - char buf[100]; - size_t len = sizeof (buf); - char *output = vasnprintf (buf, &len, format, args); - if (output == NULL) - ... error handling ...; - else - { - ... use the output string ...; - if (output != buf) - free (output); - } - */ -#if REPLACE_VASNPRINTF -# define asnprintf rpl_asnprintf -# define vasnprintf rpl_vasnprintf -#endif -extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 3, 0))); - -#ifdef __cplusplus -} -#endif - -#endif /* _VASNPRINTF_H */ diff -Nru gnutls26-2.8.6/gl/version-etc.c gnutls26-2.4.1/gl/version-etc.c --- gnutls26-2.8.6/gl/version-etc.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/version-etc.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -/* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999-2009 Free Software Foundation, Inc. +/* Utility to help print --version output in a consistent format. + Copyright (C) 1999-2008 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 @@ -32,7 +32,7 @@ #include "gettext.h" #define _(msgid) gettext (msgid) -enum { COPYRIGHT_YEAR = 2009 }; +enum { COPYRIGHT_YEAR = 2008 }; /* Like version_etc, below, but with the NULL-terminated author list provided via a variable of type va_list. */ @@ -66,7 +66,7 @@ fputs (_("\ \n\ -License GPLv3+: GNU GPL version 3 or later .\n\ +License GPLv3+: GNU GPL version 3 or later \n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n\ \n\ @@ -170,17 +170,3 @@ va_start (authors, version); version_etc_va (stream, command_name, package, version, authors); } - -void -emit_bug_reporting_address (void) -{ - /* TRANSLATORS: The placeholder indicates the bug-reporting address - for this package. Please add _another line_ saying - "Report translation bugs to <...>\n" with the address for translation - bugs (typically your translation team's web or email address). */ - printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); - printf (_("%s home page: .\n"), - PACKAGE_NAME, PACKAGE); - fputs (_("General help using GNU software: .\n"), - stdout); -} diff -Nru gnutls26-2.8.6/gl/version-etc.h gnutls26-2.4.1/gl/version-etc.h --- gnutls26-2.8.6/gl/version-etc.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/version-etc.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -/* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999, 2003, 2005, 2009 Free Software Foundation, Inc. +/* Utility to help print --version output in a consistent format. + Copyright (C) 1999, 2003, 2005 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 @@ -31,8 +31,6 @@ extern void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, - /* const char *author1, ...*/ ...); - -extern void emit_bug_reporting_address (void); + /* const char *author1, ...*/ ...); #endif /* VERSION_ETC_H */ diff -Nru gnutls26-2.8.6/gl/w32sock.h gnutls26-2.4.1/gl/w32sock.h --- gnutls26-2.8.6/gl/w32sock.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/w32sock.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* w32sock.h --- internal auxilliary functions for Windows socket functions - - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Paolo Bonzini */ - -#include - -/* Get O_RDWR and O_BINARY. */ -#include - -/* Get _get_osfhandle() and _open_osfhandle(). */ -#include - -#define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) -#define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) - -static inline void -set_winsock_errno (void) -{ - int err = WSAGetLastError (); - WSASetLastError (0); - - /* Map some WSAE* errors to the runtime library's error codes. */ - switch (err) - { - case WSA_INVALID_HANDLE: - errno = EBADF; - break; - case WSA_NOT_ENOUGH_MEMORY: - errno = ENOMEM; - break; - case WSA_INVALID_PARAMETER: - errno = EINVAL; - break; - case WSAEWOULDBLOCK: - errno = EWOULDBLOCK; - break; - case WSAENAMETOOLONG: - errno = ENAMETOOLONG; - break; - case WSAENOTEMPTY: - errno = ENOTEMPTY; - break; - default: - errno = (err > 10000 && err < 10025) ? err - 10000 : err; - break; - } -} diff -Nru gnutls26-2.8.6/gl/wchar.in.h gnutls26-2.4.1/gl/wchar.in.h --- gnutls26-2.8.6/gl/wchar.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/wchar.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,310 +0,0 @@ -/* A substitute for ISO C99 , for platforms that have issues. - - Copyright (C) 2007-2009 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake. */ - -/* - * ISO C 99 for platforms that have issues. - * - * - * For now, this just ensures proper prerequisite inclusion order and - * the declaration of wcwidth(). - */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H -/* Special invocation convention: - - Inside uClibc header files. - - On HP-UX 11.00 we have a sequence of nested includes - -> -> , and the latter includes , - once indirectly -> -> -> - and once directly. In both situations 'wint_t' is not yet defined, - therefore we cannot provide the function overrides; instead include only - the system's . - - On IRIX 6.5, similarly, we have an include -> , and - the latter includes . But here, we have no way to detect whether - is completely included or is still being included. */ - -#@INCLUDE_NEXT@ @NEXT_WCHAR_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_WCHAR_H - -#define _GL_ALREADY_INCLUDING_WCHAR_H - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include - -/* Include the original if it exists. - Some builds of uClibc lack it. */ -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_WCHAR_H@ -# @INCLUDE_NEXT@ @NEXT_WCHAR_H@ -#endif - -#undef _GL_ALREADY_INCLUDING_WCHAR_H - -#ifndef _GL_WCHAR_H -#define _GL_WCHAR_H - -/* The definition of GL_LINK_WARNING is copied here. */ - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Define wint_t. (Also done in wctype.in.h.) */ -#if !@HAVE_WINT_T@ && !defined wint_t -# define wint_t int -# ifndef WEOF -# define WEOF -1 -# endif -#endif - - -/* Override mbstate_t if it is too small. - On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for - implementing mbrtowc for encodings like UTF-8. */ -#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@ -typedef int rpl_mbstate_t; -# undef mbstate_t -# define mbstate_t rpl_mbstate_t -# define GNULIB_defined_mbstate_t 1 -#endif - - -/* Convert a single-byte character to a wide character. */ -#if @GNULIB_BTOWC@ -# if @REPLACE_BTOWC@ -# undef btowc -# define btowc rpl_btowc -# endif -# if !@HAVE_BTOWC@ || @REPLACE_BTOWC@ -extern wint_t btowc (int c); -# endif -#elif defined GNULIB_POSIXCHECK -# undef btowc -# define btowc(c) \ - (GL_LINK_WARNING ("btowc is unportable - " \ - "use gnulib module btowc for portability"), \ - btowc (c)) -#endif - - -/* Convert a wide character to a single-byte character. */ -#if @GNULIB_WCTOB@ -# if @REPLACE_WCTOB@ -# undef wctob -# define wctob rpl_wctob -# endif -# if (!defined wctob && !@HAVE_DECL_WCTOB@) || @REPLACE_WCTOB@ -/* wctob is provided by gnulib, or wctob exists but is not declared. */ -extern int wctob (wint_t wc); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wctob -# define wctob(w) \ - (GL_LINK_WARNING ("wctob is unportable - " \ - "use gnulib module wctob for portability"), \ - wctob (w)) -#endif - - -/* Test whether *PS is in the initial state. */ -#if @GNULIB_MBSINIT@ -# if @REPLACE_MBSINIT@ -# undef mbsinit -# define mbsinit rpl_mbsinit -# endif -# if !@HAVE_MBSINIT@ || @REPLACE_MBSINIT@ -extern int mbsinit (const mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsinit -# define mbsinit(p) \ - (GL_LINK_WARNING ("mbsinit is unportable - " \ - "use gnulib module mbsinit for portability"), \ - mbsinit (p)) -#endif - - -/* Convert a multibyte character to a wide character. */ -#if @GNULIB_MBRTOWC@ -# if @REPLACE_MBRTOWC@ -# undef mbrtowc -# define mbrtowc rpl_mbrtowc -# endif -# if !@HAVE_MBRTOWC@ || @REPLACE_MBRTOWC@ -extern size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbrtowc -# define mbrtowc(w,s,n,p) \ - (GL_LINK_WARNING ("mbrtowc is unportable - " \ - "use gnulib module mbrtowc for portability"), \ - mbrtowc (w, s, n, p)) -#endif - - -/* Recognize a multibyte character. */ -#if @GNULIB_MBRLEN@ -# if @REPLACE_MBRLEN@ -# undef mbrlen -# define mbrlen rpl_mbrlen -# endif -# if !@HAVE_MBRLEN@ || @REPLACE_MBRLEN@ -extern size_t mbrlen (const char *s, size_t n, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbrlen -# define mbrlen(s,n,p) \ - (GL_LINK_WARNING ("mbrlen is unportable - " \ - "use gnulib module mbrlen for portability"), \ - mbrlen (s, n, p)) -#endif - - -/* Convert a string to a wide string. */ -#if @GNULIB_MBSRTOWCS@ -# if @REPLACE_MBSRTOWCS@ -# undef mbsrtowcs -# define mbsrtowcs rpl_mbsrtowcs -# endif -# if !@HAVE_MBSRTOWCS@ || @REPLACE_MBSRTOWCS@ -extern size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsrtowcs -# define mbsrtowcs(d,s,l,p) \ - (GL_LINK_WARNING ("mbsrtowcs is unportable - " \ - "use gnulib module mbsrtowcs for portability"), \ - mbsrtowcs (d, s, l, p)) -#endif - - -/* Convert a string to a wide string. */ -#if @GNULIB_MBSNRTOWCS@ -# if @REPLACE_MBSNRTOWCS@ -# undef mbsnrtowcs -# define mbsnrtowcs rpl_mbsnrtowcs -# endif -# if !@HAVE_MBSNRTOWCS@ || @REPLACE_MBSNRTOWCS@ -extern size_t mbsnrtowcs (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsnrtowcs -# define mbsnrtowcs(d,s,n,l,p) \ - (GL_LINK_WARNING ("mbsnrtowcs is unportable - " \ - "use gnulib module mbsnrtowcs for portability"), \ - mbsnrtowcs (d, s, n, l, p)) -#endif - - -/* Convert a wide character to a multibyte character. */ -#if @GNULIB_WCRTOMB@ -# if @REPLACE_WCRTOMB@ -# undef wcrtomb -# define wcrtomb rpl_wcrtomb -# endif -# if !@HAVE_WCRTOMB@ || @REPLACE_WCRTOMB@ -extern size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcrtomb -# define wcrtomb(s,w,p) \ - (GL_LINK_WARNING ("wcrtomb is unportable - " \ - "use gnulib module wcrtomb for portability"), \ - wcrtomb (s, w, p)) -#endif - - -/* Convert a wide string to a string. */ -#if @GNULIB_WCSRTOMBS@ -# if @REPLACE_WCSRTOMBS@ -# undef wcsrtombs -# define wcsrtombs rpl_wcsrtombs -# endif -# if !@HAVE_WCSRTOMBS@ || @REPLACE_WCSRTOMBS@ -extern size_t wcsrtombs (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcsrtombs -# define wcsrtombs(d,s,l,p) \ - (GL_LINK_WARNING ("wcsrtombs is unportable - " \ - "use gnulib module wcsrtombs for portability"), \ - wcsrtombs (d, s, l, p)) -#endif - - -/* Convert a wide string to a string. */ -#if @GNULIB_WCSNRTOMBS@ -# if @REPLACE_WCSNRTOMBS@ -# undef wcsnrtombs -# define wcsnrtombs rpl_wcsnrtombs -# endif -# if !@HAVE_WCSNRTOMBS@ || @REPLACE_WCSNRTOMBS@ -extern size_t wcsnrtombs (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcsnrtombs -# define wcsnrtombs(d,s,n,l,p) \ - (GL_LINK_WARNING ("wcsnrtombs is unportable - " \ - "use gnulib module wcsnrtombs for portability"), \ - wcsnrtombs (d, s, n, l, p)) -#endif - - -/* Return the number of screen columns needed for WC. */ -#if @GNULIB_WCWIDTH@ -# if @REPLACE_WCWIDTH@ -# undef wcwidth -# define wcwidth rpl_wcwidth -extern int wcwidth (wchar_t); -# else -# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@ -/* wcwidth exists but is not declared. */ -extern int wcwidth (int /* actually wchar_t */); -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcwidth -# define wcwidth(w) \ - (GL_LINK_WARNING ("wcwidth is unportable - " \ - "use gnulib module wcwidth for portability"), \ - wcwidth (w)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_WCHAR_H */ -#endif /* _GL_WCHAR_H */ -#endif diff -Nru gnutls26-2.8.6/gl/xsize.h gnutls26-2.4.1/gl/xsize.h --- gnutls26-2.8.6/gl/xsize.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gl/xsize.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -/* xsize.h -- Checked size_t computations. - - Copyright (C) 2003, 2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _XSIZE_H -#define _XSIZE_H - -/* Get size_t. */ -#include - -/* Get SIZE_MAX. */ -#include -#if HAVE_STDINT_H -# include -#endif - -/* The size of memory objects is often computed through expressions of - type size_t. Example: - void* p = malloc (header_size + n * element_size). - These computations can lead to overflow. When this happens, malloc() - returns a piece of memory that is way too small, and the program then - crashes while attempting to fill the memory. - To avoid this, the functions and macros in this file check for overflow. - The convention is that SIZE_MAX represents overflow. - malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc - implementation that uses mmap --, it's recommended to use size_overflow_p() - or size_in_bounds_p() before invoking malloc(). - The example thus becomes: - size_t size = xsum (header_size, xtimes (n, element_size)); - void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); -*/ - -/* Convert an arbitrary value >= 0 to type size_t. */ -#define xcast_size_t(N) \ - ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) - -/* Sum of two sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum (size_t size1, size_t size2) -{ - size_t sum = size1 + size2; - return (sum >= size1 ? sum : SIZE_MAX); -} - -/* Sum of three sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum3 (size_t size1, size_t size2, size_t size3) -{ - return xsum (xsum (size1, size2), size3); -} - -/* Sum of four sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) -{ - return xsum (xsum (xsum (size1, size2), size3), size4); -} - -/* Maximum of two sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xmax (size_t size1, size_t size2) -{ - /* No explicit check is needed here, because for any n: - max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ - return (size1 >= size2 ? size1 : size2); -} - -/* Multiplication of a count with an element size, with overflow check. - The count must be >= 0 and the element size must be > 0. - This is a macro, not an inline function, so that it works correctly even - when N is of a wider type and N > SIZE_MAX. */ -#define xtimes(N, ELSIZE) \ - ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) - -/* Check for overflow. */ -#define size_overflow_p(SIZE) \ - ((SIZE) == SIZE_MAX) -/* Check against overflow. */ -#define size_in_bounds_p(SIZE) \ - ((SIZE) != SIZE_MAX) - -#endif /* _XSIZE_H */ diff -Nru gnutls26-2.8.6/GNUmakefile gnutls26-2.4.1/GNUmakefile --- gnutls26-2.8.6/GNUmakefile 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/GNUmakefile 2008-06-30 21:45:51.000000000 +0100 @@ -5,7 +5,7 @@ # It is necessary if you want to build targets usually of interest # only to the maintainer. -# Copyright (C) 2001, 2003, 2006-2009 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2006-2008 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 @@ -38,9 +38,6 @@ # Make tar archive easier to reproduce. export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner -# Allow the user to add to this in the Makefile. -ALL_RECURSIVE_TARGETS = - include Makefile # Some projects override e.g., _autoreconf here. @@ -56,39 +53,23 @@ _have-git-version-gen := \ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) - _is-dist-target ?= $(filter-out %clean, \ + _is-dist-target = $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS))) - _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) - ifneq (,$(_is-dist-target)$(_is-install-target)) - _curr-ver := $(shell cd $(srcdir) \ - && $(_build-aux)/git-version-gen .tarball-version) + ifneq (,$(_is-dist-target)) + _curr-ver := $(shell cd $(srcdir) && ./$(_build-aux)/git-version-gen \ + $(srcdir)/.tarball-version) ifneq ($(_curr-ver),$(VERSION)) ifeq ($(_curr-ver),UNKNOWN) - $(info WARNING: unable to verify if $(VERSION) is the correct version) + $(info WARNING: unable to verify if $(VERSION) is correct version) else - ifneq (,$(_is-install-target)) - # GNU Coding Standards state that 'make install' should not cause - # recompilation after 'make all'. But as long as changing the version - # string alters config.h, the cost of having 'make all' always have an - # up-to-date version is prohibitive. So, as a compromise, we merely - # warn when installing a version string that is out of date; the user - # should run 'autoreconf' (or something like 'make distcheck') to - # fix the version, 'make all' to propagate it, then 'make install'. - $(info WARNING: version string $(VERSION) is out of date;) - $(info run '$(MAKE) _version' to fix it) - else - $(info INFO: running autoreconf for new version string: $(_curr-ver)) - _dummy := $(shell $(MAKE) $(AM_MAKEFLAGS) _version) - endif + $(info INFO: running autoreconf for new version string: $(_curr-ver)) + _dummy := $(shell cd $(srcdir) && rm -rf autom4te.cache .version \ + && $(_autoreconf)) endif endif endif endif -.PHONY: _version -_version: - cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) - else .DEFAULT_GOAL := abort-due-to-no-makefile @@ -110,18 +91,6 @@ endif # Tell version 3.79 and up of GNU make to not build goals in this -# directory in parallel, in case someone tries to build multiple -# targets, and one of them can cause a recursive target to be invoked. - -# Only set this if Automake doesn't provide it. -AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ - dist distcheck tags ctags - -ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) - -ifneq ($(word 2, $(MAKECMDGOALS)), ) -ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) +# directory in parallel. This is necessary in case someone tries to +# build multiple targets on one command line. .NOTPARALLEL: -endif -endif diff -Nru gnutls26-2.8.6/gtk-doc.make gnutls26-2.4.1/gtk-doc.make --- gnutls26-2.8.6/gtk-doc.make 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/gtk-doc.make 2008-06-19 11:00:10.000000000 +0100 @@ -5,13 +5,11 @@ #################################### if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = $(LIBTOOL) --mode=execute +GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) endif # We set GPATH here; this gives us semantics for GNU make @@ -23,18 +21,18 @@ TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) -EXTRA_DIST = \ +EXTRA_DIST = \ $(content_files) \ $(HTML_IMAGES) \ $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt \ $(DOC_MODULE)-overrides.txt -DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp +DOC_STAMPS=scan-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/sgml.stamp $(srcdir)/html.stamp -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ $(DOC_MODULE).prerequisites \ @@ -55,50 +53,34 @@ docs: html-build.stamp -$(REPORT_FILES): sgml-build.stamp - #### scan #### scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) @echo 'gtk-doc: Scanning header files' @-chmod -R u+w $(srcdir) - @cd $(srcdir) && \ + cd $(srcdir) && \ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ else \ cd $(srcdir) ; \ for i in $(SCANOBJ_FILES) ; do \ test -f $$i || touch $$i ; \ done \ fi - @touch scan-build.stamp + touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo 'gtk-doc: Rebuilding template files' - @-chmod -R u+w $(srcdir) - @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) - @touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -$(srcdir)/tmpl/*.sgml: - @true - #### xml #### -sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) +sgml-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) @echo 'gtk-doc: Building XML' @-chmod -R u+w $(srcdir) - @cd $(srcdir) && \ + cd $(srcdir) && \ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS) - @touch sgml-build.stamp + touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true @@ -108,18 +90,13 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) @echo 'gtk-doc: Building HTML' @-chmod -R u+w $(srcdir) - @rm -rf $(srcdir)/html - @mkdir $(srcdir)/html - @mkhtml_options=""; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ - mkhtml_options=--path="$(srcdir)"; \ - fi; \ - cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) @echo 'gtk-doc: Fixing cross-references' - @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - @touch html-build.stamp + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp ############## @@ -133,39 +110,27 @@ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html + cd $(srcdir) && rm -rf html install-data-local: - @installfiles=`echo $(srcdir)/html/*`; \ + installfiles=`echo $(srcdir)/html/*`; \ if test "$$installfiles" = '$(srcdir)/html/*'; \ then echo '-- Nothing to install' ; \ else \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - $(mkinstalldirs) $${installdir} ; \ + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ for i in $$installfiles; do \ echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $${installdir}; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ done; \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ - mv -f $${installdir}/$(DOC_MODULE).devhelp \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ - fi; \ - $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + if test `which gtkdoc-rebase` != ""; then \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ + fi \ fi uninstall-local: - @if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - rm -rf $${installdir} + rm -f $(DESTDIR)$(TARGET_DIR)/* # # Require gtk-doc when making dist @@ -179,15 +144,11 @@ endif dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml cp $(srcdir)/html/* $(distdir)/html - -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ - -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ cd $(distdir) && rm -f $(DISTCLEANFILES) - $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html + -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs diff -Nru gnutls26-2.8.6/guile/Makefile.in gnutls26-2.4.1/guile/Makefile.in --- gnutls26-2.8.6/guile/Makefile.in 2010-03-15 10:29:20.000000000 +0000 +++ gnutls26-2.4.1/guile/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -33,9 +32,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -54,70 +52,84 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/pre-inst-guile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = pre-inst-guile -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -129,43 +141,15 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -188,96 +172,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -289,31 +237,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -328,29 +261,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -358,18 +277,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -378,51 +290,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -431,123 +325,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -559,78 +438,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -662,11 +525,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -677,7 +543,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -691,14 +556,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu guile/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu guile/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -716,7 +581,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): pre-inst-guile: $(top_builddir)/config.status $(srcdir)/pre-inst-guile.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ @@ -733,7 +597,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -750,7 +614,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -758,7 +622,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -784,16 +648,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -801,14 +665,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -820,7 +684,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -829,34 +693,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -877,44 +736,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -944,7 +788,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -963,8 +806,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -973,28 +814,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -1015,8 +846,8 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ @@ -1032,7 +863,6 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/guile/modules/Makefile.in gnutls26-2.4.1/guile/modules/Makefile.in --- gnutls26-2.8.6/guile/modules/Makefile.in 2010-03-15 10:29:21.000000000 +0000 +++ gnutls26-2.4.1/guile/modules/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -34,9 +33,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -55,70 +53,84 @@ DIST_COMMON = $(nobase_dist_guilemodule_DATA) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -126,30 +138,16 @@ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(guilemoduledir)" +nobase_dist_guilemoduleDATA_INSTALL = $(install_sh_DATA) DATA = $(nobase_dist_guilemodule_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -172,96 +170,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -273,31 +235,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -312,29 +259,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -342,18 +275,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -362,51 +288,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -415,123 +323,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -543,78 +436,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -646,11 +523,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -661,7 +541,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -684,14 +563,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/modules/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu guile/modules/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/modules/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu guile/modules/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -709,7 +588,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -719,26 +597,22 @@ install-nobase_dist_guilemoduleDATA: $(nobase_dist_guilemodule_DATA) @$(NORMAL_INSTALL) test -z "$(guilemoduledir)" || $(MKDIR_P) "$(DESTDIR)$(guilemoduledir)" - @list='$(nobase_dist_guilemodule_DATA)'; test -n "$(guilemoduledir)" || list=; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo "$(MKDIR_P) '$(DESTDIR)$(guilemoduledir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(guilemoduledir)/$$dir"; }; \ - echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(guilemoduledir)/$$dir'"; \ - $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(guilemoduledir)/$$dir" || exit $$?; }; \ + @$(am__vpath_adj_setup) \ + list='$(nobase_dist_guilemodule_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__vpath_adj) \ + echo " $(nobase_dist_guilemoduleDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(guilemoduledir)/$$f'"; \ + $(nobase_dist_guilemoduleDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(guilemoduledir)/$$f"; \ done uninstall-nobase_dist_guilemoduleDATA: @$(NORMAL_UNINSTALL) - @list='$(nobase_dist_guilemodule_DATA)'; test -n "$(guilemoduledir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(guilemoduledir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(guilemoduledir)" && rm -f $$files + @$(am__vpath_adj_setup) \ + list='$(nobase_dist_guilemodule_DATA)'; for p in $$list; do \ + $(am__vpath_adj) \ + echo " rm -f '$(DESTDIR)$(guilemoduledir)/$$f'"; \ + rm -f "$(DESTDIR)$(guilemoduledir)/$$f"; \ + done tags: TAGS TAGS: @@ -762,17 +636,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -803,7 +673,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -822,8 +691,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -832,28 +699,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -889,7 +746,6 @@ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-nobase_dist_guilemoduleDATA - # 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: diff -Nru gnutls26-2.8.6/guile/src/core.c gnutls26-2.4.1/guile/src/core.c --- gnutls26-2.8.6/guile/src/core.c 2009-10-14 16:24:51.000000000 +0100 +++ gnutls26-2.4.1/guile/src/core.c 2008-06-19 11:00:10.000000000 +0100 @@ -18,7 +18,6 @@ /* Written by Ludovic Courtès . */ #include -#include #include #include #include @@ -29,15 +28,15 @@ #include "smobs.h" #include "errors.h" #include "utils.h" - + /* SMOB and enums type definitions. */ #include "enum-map.i.c" #include "smob-types.i.c" const char scm_gnutls_array_error_message[] = - "cannot handle non-contiguous array: ~A"; + "cannot handle non-contiguous array: ~A"; /* Data that are attached to `gnutls_session_t' objects. @@ -56,7 +55,7 @@ marked by the session mark procedure. */ #define SCM_GNUTLS_MAKE_SESSION_DATA() \ - scm_cons (SCM_BOOL_F, SCM_BOOL_F) + scm_cons (SCM_BOOL_F, SCM_BOOL_F); #define SCM_GNUTLS_SET_SESSION_DATA(c_session, data) \ gnutls_session_set_ptr (c_session, (void *) SCM_UNPACK (data)) #define SCM_GNUTLS_SESSION_DATA(c_session) \ @@ -66,15 +65,15 @@ SCM_SETCAR (SCM_GNUTLS_SESSION_DATA (c_session), \ scm_from_bool (c_is_fd)) #define SCM_GNUTLS_SET_SESSION_RECORD_PORT(c_session, port) \ - SCM_SETCDR (SCM_GNUTLS_SESSION_DATA (c_session), port) + SCM_SETCDR (SCM_GNUTLS_SESSION_DATA (c_session), port); #define SCM_GNUTLS_SESSION_TRANSPORT_IS_FD(c_session) \ scm_to_bool (SCM_CAR (SCM_GNUTLS_SESSION_DATA (c_session))) #define SCM_GNUTLS_SESSION_RECORD_PORT(c_session) \ SCM_CDR (SCM_GNUTLS_SESSION_DATA (c_session)) - + /* Bindings. */ /* Mark the data associated with SESSION. */ @@ -95,7 +94,6 @@ { return (scm_from_locale_string (gnutls_check_version (NULL))); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_make_session, "make-session", 1, 0, 0, @@ -121,7 +119,6 @@ return (scm_from_gnutls_session (c_session)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_bye, "bye", 2, 0, 0, @@ -142,11 +139,11 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_handshake, "handshake", 1, 0, 0, - (SCM session), "Perform a handshake for @var{session}.") + (SCM session), + "Perform a handshake for @var{session}.") #define FUNC_NAME s_scm_gnutls_handshake { int err; @@ -160,11 +157,11 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_rehandshake, "rehandshake", 1, 0, 0, - (SCM session), "Perform a re-handshaking for @var{session}.") + (SCM session), + "Perform a re-handshaking for @var{session}.") #define FUNC_NAME s_scm_gnutls_rehandshake { int err; @@ -178,11 +175,11 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_alert_get, "alert-get", 1, 0, 0, - (SCM session), "Get an aleter from @var{session}.") + (SCM session), + "Get an aleter from @var{session}.") #define FUNC_NAME s_scm_gnutls_alert_get { gnutls_session_t c_session; @@ -194,7 +191,6 @@ return (scm_from_gnutls_alert_description (c_alert)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_alert_send, "alert-send", 3, 0, 0, @@ -217,16 +213,16 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME /* FIXME: Omitting `alert-send-appropriate'. */ - + /* Session accessors. */ SCM_DEFINE (scm_gnutls_session_cipher, "session-cipher", 1, 0, 0, - (SCM session), "Return @var{session}'s cipher.") + (SCM session), + "Return @var{session}'s cipher.") #define FUNC_NAME s_scm_gnutls_session_cipher { gnutls_session_t c_session; @@ -238,11 +234,11 @@ return (scm_from_gnutls_cipher (c_cipher)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_kx, "session-kx", 1, 0, 0, - (SCM session), "Return @var{session}'s kx.") + (SCM session), + "Return @var{session}'s kx.") #define FUNC_NAME s_scm_gnutls_session_kx { gnutls_session_t c_session; @@ -254,11 +250,11 @@ return (scm_from_gnutls_kx (c_kx)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_mac, "session-mac", 1, 0, 0, - (SCM session), "Return @var{session}'s MAC.") + (SCM session), + "Return @var{session}'s MAC.") #define FUNC_NAME s_scm_gnutls_session_mac { gnutls_session_t c_session; @@ -270,12 +266,12 @@ return (scm_from_gnutls_mac (c_mac)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_compression_method, "session-compression-method", 1, 0, 0, - (SCM session), "Return @var{session}'s compression method.") + (SCM session), + "Return @var{session}'s compression method.") #define FUNC_NAME s_scm_gnutls_session_compression_method { gnutls_session_t c_session; @@ -287,12 +283,12 @@ return (scm_from_gnutls_compression_method (c_comp)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_certificate_type, "session-certificate-type", 1, 0, 0, - (SCM session), "Return @var{session}'s certificate type.") + (SCM session), + "Return @var{session}'s certificate type.") #define FUNC_NAME s_scm_gnutls_session_certificate_type { gnutls_session_t c_session; @@ -304,11 +300,11 @@ return (scm_from_gnutls_certificate_type (c_cert)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_protocol, "session-protocol", 1, 0, 0, - (SCM session), "Return the protocol used by @var{session}.") + (SCM session), + "Return the protocol used by @var{session}.") #define FUNC_NAME s_scm_gnutls_session_protocol { gnutls_session_t c_session; @@ -320,7 +316,6 @@ return (scm_from_gnutls_protocol (c_protocol)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_authentication_type, @@ -340,7 +335,6 @@ return (scm_from_gnutls_credentials (c_auth)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_server_authentication_type, @@ -360,7 +354,6 @@ return (scm_from_gnutls_credentials (c_auth)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_client_authentication_type, @@ -380,7 +373,6 @@ return (scm_from_gnutls_credentials (c_auth)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_peer_certificate_chain, @@ -413,7 +405,9 @@ result = scm_make_list (scm_from_uint (c_list_size), SCM_UNSPECIFIED); - for (i = 0, pair = result; i < c_list_size; i++, pair = SCM_CDR (pair)) + for (i = 0, pair = result; + i < c_list_size; + i++, pair = SCM_CDR (pair)) { unsigned char *c_cert_copy; @@ -429,7 +423,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_session_our_certificate_chain, @@ -469,7 +462,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_server_session_certificate_request_x, @@ -492,17 +484,17 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Choice of a protocol and cipher suite. */ #include "priorities.i.c" SCM_DEFINE (scm_gnutls_set_default_priority_x, "set-session-default-priority!", 1, 0, 0, - (SCM session), "Have @var{session} use the default priorities.") + (SCM session), + "Have @var{session} use the default priorities.") #define FUNC_NAME s_scm_gnutls_set_default_priority_x { gnutls_session_t c_session; @@ -512,7 +504,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_default_export_priority_x, @@ -528,7 +519,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_cipher_suite_to_string, "cipher-suite->string", @@ -550,7 +540,6 @@ return (scm_from_locale_string (c_name)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_session_credentials_x, "set-session-credentials!", @@ -568,13 +557,11 @@ { gnutls_certificate_credentials_t c_cred; - c_cred = scm_to_gnutls_certificate_credentials (cred, 2, FUNC_NAME); - err = - gnutls_credentials_set (c_session, GNUTLS_CRD_CERTIFICATE, c_cred); + c_cred = scm_to_gnutls_certificate_credentials (cred, 2, + FUNC_NAME); + err = gnutls_credentials_set (c_session, GNUTLS_CRD_CERTIFICATE, c_cred); } - else - if (SCM_SMOB_PREDICATE - (scm_tc16_gnutls_anonymous_client_credentials, cred)) + else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_anonymous_client_credentials, cred)) { gnutls_anon_client_credentials_t c_cred; @@ -592,33 +579,41 @@ err = gnutls_credentials_set (c_session, GNUTLS_CRD_ANON, c_cred); } #ifdef ENABLE_SRP - else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_srp_client_credentials, cred)) + else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_srp_client_credentials, + cred)) { gnutls_srp_client_credentials_t c_cred; - c_cred = scm_to_gnutls_srp_client_credentials (cred, 2, FUNC_NAME); + c_cred = scm_to_gnutls_srp_client_credentials (cred, 2, + FUNC_NAME); err = gnutls_credentials_set (c_session, GNUTLS_CRD_SRP, c_cred); } - else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_srp_server_credentials, cred)) + else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_srp_server_credentials, + cred)) { gnutls_srp_server_credentials_t c_cred; - c_cred = scm_to_gnutls_srp_server_credentials (cred, 2, FUNC_NAME); + c_cred = scm_to_gnutls_srp_server_credentials (cred, 2, + FUNC_NAME); err = gnutls_credentials_set (c_session, GNUTLS_CRD_SRP, c_cred); } #endif - else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_psk_client_credentials, cred)) + else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_psk_client_credentials, + cred)) { gnutls_psk_client_credentials_t c_cred; - c_cred = scm_to_gnutls_psk_client_credentials (cred, 2, FUNC_NAME); + c_cred = scm_to_gnutls_psk_client_credentials (cred, 2, + FUNC_NAME); err = gnutls_credentials_set (c_session, GNUTLS_CRD_PSK, c_cred); } - else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_psk_server_credentials, cred)) + else if (SCM_SMOB_PREDICATE (scm_tc16_gnutls_psk_server_credentials, + cred)) { gnutls_psk_server_credentials_t c_cred; - c_cred = scm_to_gnutls_psk_server_credentials (cred, 2, FUNC_NAME); + c_cred = scm_to_gnutls_psk_server_credentials (cred, 2, + FUNC_NAME); err = gnutls_credentials_set (c_session, GNUTLS_CRD_PSK, c_cred); } else @@ -629,10 +624,9 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Record layer. */ SCM_DEFINE (scm_gnutls_record_send, "record-send", 2, 0, 0, @@ -651,7 +645,8 @@ c_session = scm_to_gnutls_session (session, 1, FUNC_NAME); SCM_VALIDATE_ARRAY (2, array); - c_array = scm_gnutls_get_array (array, &c_handle, &c_len, FUNC_NAME); + c_array = scm_gnutls_get_array (array, &c_handle, &c_len, + FUNC_NAME); c_result = gnutls_record_send (c_session, c_array, c_len); @@ -664,7 +659,6 @@ return (result); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_record_receive_x, "record-receive!", 2, 0, 0, @@ -698,7 +692,6 @@ return (result); } - #undef FUNC_NAME @@ -713,11 +706,7 @@ #define SCM_GNUTLS_SESSION_RECORD_PORT_BUFFER_SIZE 4096 /* Hint for the `scm_gc_' functions. */ -static const char session_record_port_gc_hint[] = - "gnutls-session-record-port"; - - -#if SCM_MAJOR_VERSION == 1 && SCM_MINOR_VERSION <= 8 +static const char session_record_port_gc_hint[] = "gnutls-session-record-port"; /* Mark the session associated with PORT. */ static SCM @@ -756,9 +745,6 @@ } #undef FUNC_NAME -#endif /* SCM_MAJOR_VERSION == 1 && SCM_MINOR_VERSION <= 8 */ - - /* Data passed to `do_fill_port ()'. */ typedef struct { @@ -789,7 +775,7 @@ else scm_gnutls_error (result, "fill_session_record_port_input"); - return ((void *) (uintptr_t) chr); + return ((void *) chr); } /* Fill in the input buffer of PORT. */ @@ -815,18 +801,17 @@ if (SCM_GNUTLS_SESSION_TRANSPORT_IS_FD (c_session)) /* SESSION's underlying transport is a raw file descriptor, so we must leave "Guile mode" to allow the GC to run. */ - chr = (intptr_t) scm_without_guile (do_fill_port, &c_args); + chr = (int) scm_without_guile (do_fill_port, &c_args); else /* SESSION's underlying transport is a port, so don't leave "Guile mode". */ - chr = (intptr_t) do_fill_port (&c_args); + chr = (int) do_fill_port (&c_args); } else chr = (int) *c_port->read_pos; return chr; } - #undef FUNC_NAME /* Write SIZE octets from DATA to PORT. */ @@ -852,7 +837,6 @@ c_sent += c_result; } } - #undef FUNC_NAME /* Return a new session port for SESSION. */ @@ -865,14 +849,8 @@ const unsigned long mode_bits = SCM_OPN | SCM_RDNG | SCM_WRTNG; c_port_buf = - (unsigned char *) -#ifdef HAVE_SCM_GC_MALLOC_POINTERLESS - scm_gc_malloc_pointerless -#else - scm_gc_malloc -#endif - (SCM_GNUTLS_SESSION_RECORD_PORT_BUFFER_SIZE, - session_record_port_gc_hint); + (unsigned char *) scm_gc_malloc (SCM_GNUTLS_SESSION_RECORD_PORT_BUFFER_SIZE, + session_record_port_gc_hint); /* Create a new port. */ port = scm_new_port_table_entry (session_record_port_type); @@ -916,7 +894,6 @@ return (port); } - #undef FUNC_NAME /* Create the session port type. */ @@ -927,21 +904,16 @@ scm_make_port_type ("gnutls-session-port", fill_session_record_port_input, write_to_session_record_port); - - /* Guile >= 1.9.3 doesn't need a custom mark procedure, and doesn't need a - finalizer (since memory associated with the port is automatically - reclaimed.) */ -#if SCM_MAJOR_VERSION == 1 && SCM_MINOR_VERSION <= 8 scm_set_port_mark (session_record_port_type, mark_session_record_port); scm_set_port_free (session_record_port_type, free_session_record_port); -#endif } - + /* Transport. */ -SCM_DEFINE (scm_gnutls_set_session_transport_fd_x, - "set-session-transport-fd!", 2, 0, 0, (SCM session, SCM fd), +SCM_DEFINE (scm_gnutls_set_session_transport_fd_x, "set-session-transport-fd!", + 2, 0, 0, + (SCM session, SCM fd), "Use file descriptor @var{fd} as the underlying transport for " "@var{session}.") #define FUNC_NAME s_scm_gnutls_set_session_transport_fd_x @@ -952,13 +924,12 @@ c_session = scm_to_gnutls_session (session, 1, FUNC_NAME); c_fd = (int) scm_to_uint (fd); - gnutls_transport_set_ptr (c_session, (gnutls_transport_ptr_t) (intptr_t) c_fd); + gnutls_transport_set_ptr (c_session, (gnutls_transport_ptr_t) c_fd); SCM_GNUTLS_SET_SESSION_TRANSPORT_IS_FD (c_session, 1); return SCM_UNSPECIFIED; } - #undef FUNC_NAME /* Pull SIZE octets from TRANSPORT (a Scheme port) into DATA. */ @@ -977,7 +948,8 @@ /* Write SIZE octets from DATA to TRANSPORT (a Scheme port). */ static ssize_t -push_to_port (gnutls_transport_ptr_t transport, const void *data, size_t size) +push_to_port (gnutls_transport_ptr_t transport, const void *data, + size_t size) { SCM port; @@ -1015,14 +987,13 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Diffie-Hellman. */ -typedef int (*pkcs_export_function_t) (void *, gnutls_x509_crt_fmt_t, - unsigned char *, size_t *); +typedef int (* pkcs_export_function_t) (void *, gnutls_x509_crt_fmt_t, + unsigned char *, size_t *); /* Hint for the `scm_gc' functions. */ static const char pkcs_export_gc_hint[] = "gnutls-pkcs-export"; @@ -1050,7 +1021,8 @@ if (err == GNUTLS_E_SHORT_MEMORY_BUFFER) { output = scm_gc_realloc (output, output_total_len, - output_total_len * 2, pkcs_export_gc_hint); + output_total_len * 2, + pkcs_export_gc_hint); output_total_len *= 2; } } @@ -1069,12 +1041,12 @@ return (scm_take_u8vector (output, output_len)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_make_dh_parameters, "make-dh-parameters", 1, 0, 0, - (SCM bits), "Return new Diffie-Hellman parameters.") + (SCM bits), + "Return new Diffie-Hellman parameters.") #define FUNC_NAME s_scm_gnutls_make_dh_parameters { int err; @@ -1096,7 +1068,6 @@ return (scm_from_gnutls_dh_parameters (c_dh_params)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_pkcs3_import_dh_parameters, @@ -1141,7 +1112,6 @@ return (scm_from_gnutls_dh_parameters (c_dh_params)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_pkcs3_export_dh_parameters, @@ -1163,11 +1133,11 @@ result = pkcs_export_parameters ((pkcs_export_function_t) gnutls_dh_params_export_pkcs3, - (void *) c_dh_params, c_format, FUNC_NAME); + (void *) c_dh_params, + c_format, FUNC_NAME); return (result); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_session_dh_prime_bits_x, @@ -1186,15 +1156,15 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Anonymous credentials. */ SCM_DEFINE (scm_gnutls_make_anon_server_credentials, "make-anonymous-server-credentials", - 0, 0, 0, (void), "Return anonymous server credentials.") + 0, 0, 0, (void), + "Return anonymous server credentials.") #define FUNC_NAME s_scm_gnutls_make_anon_server_credentials { int err; @@ -1207,12 +1177,12 @@ return (scm_from_gnutls_anonymous_server_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_make_anon_client_credentials, "make-anonymous-client-credentials", - 0, 0, 0, (void), "Return anonymous client credentials.") + 0, 0, 0, (void), + "Return anonymous client credentials.") #define FUNC_NAME s_scm_gnutls_make_anon_client_credentials { int err; @@ -1225,7 +1195,6 @@ return (scm_from_gnutls_anonymous_client_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_anonymous_server_dh_parameters_x, @@ -1238,21 +1207,23 @@ gnutls_dh_params_t c_dh_params; gnutls_anon_server_credentials_t c_cred; - c_cred = scm_to_gnutls_anonymous_server_credentials (cred, 1, FUNC_NAME); - c_dh_params = scm_to_gnutls_dh_parameters (dh_params, 2, FUNC_NAME); + c_cred = scm_to_gnutls_anonymous_server_credentials (cred, 1, + FUNC_NAME); + c_dh_params = scm_to_gnutls_dh_parameters (dh_params, 2, + FUNC_NAME); gnutls_anon_set_server_dh_params (c_cred, c_dh_params); return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* RSA parameters. */ SCM_DEFINE (scm_gnutls_make_rsa_parameters, "make-rsa-parameters", 1, 0, 0, - (SCM bits), "Return new RSA parameters.") + (SCM bits), + "Return new RSA parameters.") #define FUNC_NAME s_scm_gnutls_make_rsa_parameters { int err; @@ -1274,7 +1245,6 @@ return (scm_from_gnutls_rsa_parameters (c_rsa_params)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_pkcs1_import_rsa_parameters, @@ -1319,7 +1289,6 @@ return (scm_from_gnutls_rsa_parameters (c_rsa_params)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_pkcs1_export_rsa_parameters, @@ -1346,26 +1315,24 @@ return (result); } - #undef FUNC_NAME - + /* Certificate credentials. */ -typedef - int (*certificate_set_file_function_t) (gnutls_certificate_credentials_t, - const char *, - gnutls_x509_crt_fmt_t); - -typedef - int (*certificate_set_data_function_t) (gnutls_certificate_credentials_t, - const gnutls_datum_t *, - gnutls_x509_crt_fmt_t); +typedef int (* certificate_set_file_function_t) (gnutls_certificate_credentials_t, + const char *, + gnutls_x509_crt_fmt_t); + +typedef int (* certificate_set_data_function_t) (gnutls_certificate_credentials_t, + const gnutls_datum_t *, + gnutls_x509_crt_fmt_t); /* Helper function to implement the `set-file!' functions. */ static unsigned int set_certificate_file (certificate_set_file_function_t set_file, - SCM cred, SCM file, SCM format, const char *func_name) + SCM cred, SCM file, SCM format, + const char *func_name) #define FUNC_NAME func_name { int err; @@ -1392,13 +1359,13 @@ /* Return the number of certificates processed. */ return ((unsigned int) err); } - #undef FUNC_NAME /* Helper function implementing the `set-data!' functions. */ static inline unsigned int set_certificate_data (certificate_set_data_function_t set_data, - SCM cred, SCM data, SCM format, const char *func_name) + SCM cred, SCM data, SCM format, + const char *func_name) #define FUNC_NAME func_name { int err; @@ -1426,7 +1393,6 @@ /* Return the number of certificates processed. */ return ((unsigned int) err); } - #undef FUNC_NAME @@ -1447,7 +1413,6 @@ return (scm_from_gnutls_certificate_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_dh_params_x, @@ -1468,7 +1433,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_rsa_export_params_x, @@ -1489,7 +1453,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_key_files_x, @@ -1514,13 +1477,14 @@ c_cert_file_len = scm_c_string_length (cert_file); c_cert_file = (char *) alloca (c_cert_file_len + 1); - c_key_file_len = scm_c_string_length (key_file); + c_key_file_len = scm_c_string_length (key_file); c_key_file = (char *) alloca (c_key_file_len + 1); (void) scm_to_locale_stringbuf (cert_file, c_cert_file, c_cert_file_len + 1); c_cert_file[c_cert_file_len] = '\0'; - (void) scm_to_locale_stringbuf (key_file, c_key_file, c_key_file_len + 1); + (void) scm_to_locale_stringbuf (key_file, c_key_file, + c_key_file_len + 1); c_key_file[c_key_file_len] = '\0'; err = gnutls_certificate_set_x509_key_file (c_cred, c_cert_file, c_key_file, @@ -1530,7 +1494,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_trust_file_x, @@ -1545,11 +1508,11 @@ unsigned int count; count = set_certificate_file (gnutls_certificate_set_x509_trust_file, - cred, file, format, FUNC_NAME); + cred, file, format, + FUNC_NAME); return scm_from_uint (count); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_crl_file_x, @@ -1564,11 +1527,11 @@ unsigned int count; count = set_certificate_file (gnutls_certificate_set_x509_crl_file, - cred, file, format, FUNC_NAME); + cred, file, format, + FUNC_NAME); return scm_from_uint (count); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_trust_data_x, @@ -1583,11 +1546,11 @@ unsigned int count; count = set_certificate_data (gnutls_certificate_set_x509_trust_mem, - cred, data, format, FUNC_NAME); + cred, data, format, + FUNC_NAME); return scm_from_uint (count); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_crl_data_x, @@ -1602,11 +1565,11 @@ unsigned int count; count = set_certificate_data (gnutls_certificate_set_x509_crl_mem, - cred, data, format, FUNC_NAME); + cred, data, format, + FUNC_NAME); return scm_from_uint (count); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_key_data_x, @@ -1636,12 +1599,13 @@ C_CERT_HANDLE is not released. */ c_cert = scm_gnutls_get_array (cert, &c_cert_handle, &c_cert_len, FUNC_NAME); - c_key = scm_gnutls_get_array (key, &c_key_handle, &c_key_len, FUNC_NAME); + c_key = scm_gnutls_get_array (key, &c_key_handle, &c_key_len, + FUNC_NAME); c_cert_d.data = (unsigned char *) c_cert; c_cert_d.size = c_cert_len; - c_key_d.data = (unsigned char *) c_key; - c_key_d.size = c_key_len; + c_key_d.data = (unsigned char *) c_key; + c_key_d.size = c_key_len; err = gnutls_certificate_set_x509_key_mem (c_cred, &c_cert_d, &c_key_d, c_format); @@ -1653,7 +1617,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_x509_keys_x, @@ -1675,8 +1638,10 @@ SCM_VALIDATE_LIST_COPYLEN (2, certs, c_cert_count); c_key = scm_to_gnutls_x509_private_key (privkey, 3, FUNC_NAME); - c_certs = (gnutls_x509_crt_t *) alloca (c_cert_count * sizeof (*c_certs)); - for (i = 0; scm_is_pair (certs); certs = SCM_CDR (certs), i++) + c_certs = (gnutls_x509_crt_t *) alloca (c_cert_count * sizeof (* c_certs)); + for (i = 0; + scm_is_pair (certs); + certs = SCM_CDR (certs), i++) { c_certs[i] = scm_to_gnutls_x509_certificate (SCM_CAR (certs), 2, FUNC_NAME); @@ -1689,7 +1654,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_verify_limits_x, @@ -1713,7 +1677,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_certificate_credentials_verify_flags_x, @@ -1730,7 +1693,8 @@ c_cred = scm_to_gnutls_certificate_credentials (cred, 1, FUNC_NAME); for (c_flags = 0, c_pos = 2; - !scm_is_null (flags); flags = SCM_CDR (flags), c_pos++) + !scm_is_null (flags); + flags = SCM_CDR (flags), c_pos++) { c_flags |= (unsigned int) scm_to_gnutls_certificate_verify (SCM_CAR (flags), c_pos, FUNC_NAME); @@ -1740,7 +1704,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_peer_certificate_status, "peer-certificate-status", @@ -1785,16 +1748,17 @@ return (result); } - #undef FUNC_NAME - + /* SRP credentials. */ #ifdef ENABLE_SRP SCM_DEFINE (scm_gnutls_make_srp_server_credentials, "make-srp-server-credentials", - 0, 0, 0, (void), "Return new SRP server credentials.") + 0, 0, 0, + (void), + "Return new SRP server credentials.") #define FUNC_NAME s_scm_gnutls_make_srp_server_credentials { int err; @@ -1806,7 +1770,6 @@ return (scm_from_gnutls_srp_server_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_srp_server_credentials_files_x, @@ -1846,12 +1809,13 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_make_srp_client_credentials, "make-srp-client-credentials", - 0, 0, 0, (void), "Return new SRP client credentials.") + 0, 0, 0, + (void), + "Return new SRP client credentials.") #define FUNC_NAME s_scm_gnutls_make_srp_client_credentials { int err; @@ -1863,7 +1827,6 @@ return (scm_from_gnutls_srp_client_credentials (c_cred)); } - #undef FUNC_NAME @@ -1890,18 +1853,20 @@ c_username = (char *) alloca (c_username_len + 1); c_password = (char *) alloca (c_password_len + 1); - (void) scm_to_locale_stringbuf (username, c_username, c_username_len + 1); + (void) scm_to_locale_stringbuf (username, c_username, + c_username_len + 1); c_username[c_username_len] = '\0'; - (void) scm_to_locale_stringbuf (password, c_password, c_password_len + 1); + (void) scm_to_locale_stringbuf (password, c_password, + c_password_len + 1); c_password[c_password_len] = '\0'; - err = gnutls_srp_set_client_credentials (c_cred, c_username, c_password); + err = gnutls_srp_set_client_credentials (c_cred, c_username, + c_password); if (EXPECT_FALSE (err)) scm_gnutls_error (err, FUNC_NAME); return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_server_session_srp_username, @@ -1926,7 +1891,6 @@ return (result); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_srp_base64_encode, "srp-base64-encode", @@ -1989,7 +1953,6 @@ return (scm_take_locale_string (c_result)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_srp_base64_decode, "srp-base64-decode", @@ -2020,7 +1983,8 @@ c_str_d.size = c_str_len; c_result_actual_len = c_result_len; - err = gnutls_srp_base64_decode (&c_str_d, c_result, &c_result_actual_len); + err = gnutls_srp_base64_decode (&c_str_d, c_result, + &c_result_actual_len); if (EXPECT_FALSE (err)) scm_gnutls_error (err, FUNC_NAME); @@ -2028,16 +1992,17 @@ return (scm_from_locale_string (c_result)); } - #undef FUNC_NAME #endif /* ENABLE_SRP */ - + /* PSK credentials. */ SCM_DEFINE (scm_gnutls_make_psk_server_credentials, "make-psk-server-credentials", - 0, 0, 0, (void), "Return new PSK server credentials.") + 0, 0, 0, + (void), + "Return new PSK server credentials.") #define FUNC_NAME s_scm_gnutls_make_psk_server_credentials { int err; @@ -2049,7 +2014,6 @@ return (scm_from_gnutls_psk_server_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_psk_server_credentials_file_x, @@ -2080,12 +2044,13 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_make_psk_client_credentials, "make-psk-client-credentials", - 0, 0, 0, (void), "Return a new PSK client credentials object.") + 0, 0, 0, + (void), + "Return a new PSK client credentials object.") #define FUNC_NAME s_scm_gnutls_make_psk_client_credentials { int err; @@ -2097,7 +2062,6 @@ return (scm_from_gnutls_psk_client_credentials (c_cred)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_psk_client_credentials_x, @@ -2125,7 +2089,8 @@ c_username_len = scm_c_string_length (username); c_username = (char *) alloca (c_username_len + 1); - (void) scm_to_locale_stringbuf (username, c_username, c_username_len + 1); + (void) scm_to_locale_stringbuf (username, c_username, + c_username_len + 1); c_username[c_username_len] = '\0'; c_key = scm_gnutls_get_array (key, &c_handle, &c_key_len, FUNC_NAME); @@ -2141,7 +2106,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_server_session_psk_username, @@ -2166,10 +2130,9 @@ return (result); } - #undef FUNC_NAME - + /* X.509 certificates. */ SCM_DEFINE (scm_gnutls_import_x509_certificate, "import-x509-certificate", @@ -2214,7 +2177,6 @@ return (scm_from_gnutls_x509_certificate (c_cert)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_import_x509_private_key, "import-x509-private-key", @@ -2259,7 +2221,6 @@ return (scm_from_gnutls_x509_private_key (c_key)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_pkcs8_import_x509_private_key, @@ -2331,7 +2292,6 @@ return (scm_from_gnutls_x509_private_key (c_key)); } - #undef FUNC_NAME /* Provide the body of a `get_dn' function. */ @@ -2366,7 +2326,6 @@ { X509_CERTIFICATE_DN_FUNCTION_BODY (gnutls_x509_crt_get_dn); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_issuer_dn, @@ -2379,7 +2338,6 @@ { X509_CERTIFICATE_DN_FUNCTION_BODY (gnutls_x509_crt_get_issuer_dn); } - #undef FUNC_NAME #undef X509_CERTIFICATE_DN_FUNCTION_BODY @@ -2441,7 +2399,6 @@ { X509_CERTIFICATE_DN_OID_FUNCTION_BODY (gnutls_x509_crt_get_dn_oid); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_issuer_dn_oid, @@ -2455,7 +2412,6 @@ { X509_CERTIFICATE_DN_OID_FUNCTION_BODY (gnutls_x509_crt_get_issuer_dn_oid); } - #undef FUNC_NAME #undef X509_CERTIFICATE_DN_OID_FUNCTION_BODY @@ -2492,7 +2448,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_signature_algorithm, @@ -2514,7 +2469,6 @@ return (scm_from_gnutls_sign_algorithm (c_result)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_public_key_algorithm, @@ -2537,7 +2491,6 @@ return (scm_values (scm_list_2 (scm_from_gnutls_pk_algorithm (c_pk), scm_from_uint (c_bits)))); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_key_usage, @@ -2569,11 +2522,12 @@ return usage; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_version, "x509-certificate-version", - 1, 0, 0, (SCM cert), "Return the version of @var{cert}.") + 1, 0, 0, + (SCM cert), + "Return the version of @var{cert}.") #define FUNC_NAME s_scm_gnutls_x509_certificate_version { int c_result; @@ -2587,7 +2541,6 @@ return (scm_from_int (c_result)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_key_id, "x509-certificate-key-id", @@ -2619,7 +2572,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_authority_key_id, @@ -2643,7 +2595,8 @@ scm_array_get_handle (result, &c_id_handle); c_id = scm_array_handle_u8_writable_elements (&c_id_handle); - err = gnutls_x509_crt_get_authority_key_id (c_cert, c_id, &c_id_len, NULL); + err = gnutls_x509_crt_get_authority_key_id (c_cert, c_id, &c_id_len, + NULL); scm_array_handle_release (&c_id_handle); if (EXPECT_FALSE (err)) @@ -2651,7 +2604,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_subject_key_id, @@ -2674,7 +2626,8 @@ scm_array_get_handle (result, &c_id_handle); c_id = scm_array_handle_u8_writable_elements (&c_id_handle); - err = gnutls_x509_crt_get_subject_key_id (c_cert, c_id, &c_id_len, NULL); + err = gnutls_x509_crt_get_subject_key_id (c_cert, c_id, &c_id_len, + NULL); scm_array_handle_release (&c_id_handle); if (EXPECT_FALSE (err)) @@ -2682,7 +2635,6 @@ return result; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_x509_certificate_subject_alternative_name, @@ -2743,10 +2695,9 @@ return result; } - #undef FUNC_NAME - + /* Debugging. */ static SCM log_procedure = SCM_BOOL_F; @@ -2776,7 +2727,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_set_log_level_x, "set-log-level!", 1, 0, 0, @@ -2791,10 +2741,9 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Initialization. */ void @@ -2802,12 +2751,6 @@ { #include "core.x" - /* Use Guile's allocation routines, which will run the GC if need be. */ - gnutls_malloc = scm_malloc; - gnutls_realloc = scm_realloc; - gnutls_secure_malloc = scm_malloc; - gnutls_free = free; - (void) gnutls_global_init (); scm_gnutls_define_enums (); @@ -2816,3 +2759,6 @@ scm_init_gnutls_session_record_port_type (); } + +/* arch-tag: 58420abe-0769-4684-b522-da7f32f4474c + */ diff -Nru gnutls26-2.8.6/guile/src/errors.c gnutls26-2.4.1/guile/src/errors.c --- gnutls26-2.8.6/guile/src/errors.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/guile/src/errors.c 2008-06-19 11:00:10.000000000 +0100 @@ -41,8 +41,8 @@ complaints. */ abort (); } - + void scm_init_gnutls_error (void) { diff -Nru gnutls26-2.8.6/guile/src/extra.c gnutls26-2.4.1/guile/src/extra.c --- gnutls26-2.8.6/guile/src/extra.c 2009-10-14 16:24:51.000000000 +0100 +++ gnutls26-2.4.1/guile/src/extra.c 2008-06-19 11:00:10.000000000 +0100 @@ -35,23 +35,24 @@ #include "enums.h" #include "extra-enums.h" #include "extra-smobs.h" - + /* SMOB and enums type definitions. */ #include "extra-smob-types.i.c" #include "extra-enum-map.i.c" - + /* OpenPGP keys. */ /* Maximum size we support for the name of OpenPGP keys. */ #define GUILE_GNUTLS_MAX_OPENPGP_NAME_LENGTH 2048 -SCM_DEFINE (scm_gnutls_import_openpgp_certificate, - "import-openpgp-certificate", 2, 0, 0, (SCM data, SCM format), +SCM_DEFINE (scm_gnutls_import_openpgp_certificate, "import-openpgp-certificate", + 2, 0, 0, + (SCM data, SCM format), "Return a new OpenPGP certificate object resulting from the " "import of @var{data} (a uniform array) according to " "@var{format}.") @@ -91,12 +92,11 @@ return (scm_from_gnutls_openpgp_certificate (c_key)); } - #undef FUNC_NAME -SCM_DEFINE (scm_gnutls_import_openpgp_private_key, - "import-openpgp-private-key", 2, 1, 0, (SCM data, SCM format, - SCM pass), +SCM_DEFINE (scm_gnutls_import_openpgp_private_key, "import-openpgp-private-key", + 2, 1, 0, + (SCM data, SCM format, SCM pass), "Return a new OpenPGP private key object resulting from the " "import of @var{data} (a uniform array) according to " "@var{format}. Optionally, a passphrase may be provided.") @@ -136,7 +136,7 @@ } err = gnutls_openpgp_privkey_import (c_key, &c_data_d, c_format, c_pass, - 0 /* currently unused */ ); + 0 /* currently unused */); scm_gnutls_release_array (&c_data_handle); if (EXPECT_FALSE (err)) @@ -147,7 +147,6 @@ return (scm_from_gnutls_openpgp_private_key (c_key)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_id, "openpgp-certificate-id", @@ -163,17 +162,16 @@ c_key = scm_to_gnutls_openpgp_certificate (key, 1, FUNC_NAME); - c_id = (unsigned char *) malloc (8); + c_id = (unsigned char * ) malloc (8); if (c_id == NULL) scm_gnutls_error (GNUTLS_E_MEMORY_ERROR, FUNC_NAME); - err = gnutls_openpgp_crt_get_key_id (c_key, c_id); + err = gnutls_openpgp_crt_get_id (c_key, c_id); if (EXPECT_FALSE (err)) scm_gnutls_error (err, FUNC_NAME); return (scm_take_u8vector (c_id, 8)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_id_x, "openpgp-certificate-id!", @@ -196,10 +194,11 @@ if (EXPECT_FALSE (c_id_size < 8)) { scm_gnutls_release_array (&c_id_handle); - scm_misc_error (FUNC_NAME, "ID vector too small: ~A", scm_list_1 (id)); + scm_misc_error (FUNC_NAME, "ID vector too small: ~A", + scm_list_1 (id)); } - err = gnutls_openpgp_crt_get_key_id (c_key, (unsigned char *) c_id); + err = gnutls_openpgp_crt_get_id (c_key, (unsigned char *) c_id); scm_gnutls_release_array (&c_id_handle); if (EXPECT_FALSE (err)) @@ -207,7 +206,6 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerpint_x, @@ -238,14 +236,14 @@ return (scm_from_size_t (c_actual_len)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerprint, "openpgp-certificate-fingerprint", 1, 0, 0, (SCM key), - "Return a new u8vector denoting the fingerprint of " "@var{key}.") + "Return a new u8vector denoting the fingerprint of " + "@var{key}.") #define FUNC_NAME s_scm_gnutls_openpgp_certificate_fingerprint { int err; @@ -264,7 +262,8 @@ do { c_actual_len = 0; - err = gnutls_openpgp_crt_get_fingerprint (c_key, c_fpr, &c_actual_len); + err = gnutls_openpgp_crt_get_fingerprint (c_key, c_fpr, + &c_actual_len); if (err == GNUTLS_E_SHORT_MEMORY_BUFFER) { /* Grow C_FPR. */ @@ -297,7 +296,6 @@ return (scm_take_u8vector (c_fpr, c_actual_len)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_name, "openpgp-certificate-name", @@ -315,18 +313,20 @@ c_key = scm_to_gnutls_openpgp_certificate (key, 1, FUNC_NAME); c_index = scm_to_int (index); - err = gnutls_openpgp_crt_get_name (c_key, c_index, c_name, &c_name_len); + err = gnutls_openpgp_crt_get_name (c_key, c_index, c_name, + &c_name_len); if (EXPECT_FALSE (err)) scm_gnutls_error (err, FUNC_NAME); /* XXX: The name is really UTF-8. */ return (scm_from_locale_string (c_name)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_names, "openpgp-certificate-names", - 1, 0, 0, (SCM key), "Return the list of names for @var{key}.") + 1, 0, 0, + (SCM key), + "Return the list of names for @var{key}.") #define FUNC_NAME s_scm_gnutls_openpgp_certificate_names { int err; @@ -340,10 +340,12 @@ do { - err = gnutls_openpgp_crt_get_name (c_key, c_index, c_name, &c_name_len); + err = gnutls_openpgp_crt_get_name (c_key, c_index, c_name, + &c_name_len); if (!err) { - result = scm_cons (scm_from_locale_string (c_name), result); + result = scm_cons (scm_from_locale_string (c_name), + result); c_index++; } } @@ -354,7 +356,6 @@ return (scm_reverse_x (result, SCM_EOL)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_algorithm, @@ -375,7 +376,6 @@ return (scm_values (scm_list_2 (scm_from_gnutls_pk_algorithm (c_algo), scm_from_uint (c_bits)))); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_version, @@ -394,7 +394,6 @@ return (scm_from_int (c_version)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_certificate_usage, "openpgp-certificate-usage", @@ -415,11 +414,10 @@ return (scm_from_gnutls_key_usage_flags (c_usage)); } - #undef FUNC_NAME - + /* OpenPGP keyrings. */ SCM_DEFINE (scm_gnutls_import_openpgp_keyring, "import-openpgp-keyring", @@ -464,7 +462,6 @@ return (scm_from_gnutls_openpgp_keyring (c_keyring)); } - #undef FUNC_NAME SCM_DEFINE (scm_gnutls_openpgp_keyring_contains_key_id_p, @@ -484,7 +481,8 @@ c_keyring = scm_to_gnutls_openpgp_keyring (keyring, 1, FUNC_NAME); SCM_VALIDATE_ARRAY (1, id); - c_id = scm_gnutls_get_array (id, &c_id_handle, &c_id_len, FUNC_NAME); + c_id = scm_gnutls_get_array (id, &c_id_handle, &c_id_len, + FUNC_NAME); if (EXPECT_FALSE (c_id_len != 8)) { scm_gnutls_release_array (&c_id_handle); @@ -493,16 +491,15 @@ c_result = gnutls_openpgp_keyring_check_id (c_keyring, (unsigned char *) c_id, - 0 /* unused */ ); + 0 /* unused */); scm_gnutls_release_array (&c_id_handle); return (scm_from_bool (c_result == 0)); } - #undef FUNC_NAME - + /* Certificates. */ SCM_DEFINE (scm_gnutls_set_certificate_credentials_openpgp_keys_x, @@ -528,10 +525,9 @@ return SCM_UNSPECIFIED; } - #undef FUNC_NAME - + /* Initialization. */ void diff -Nru gnutls26-2.8.6/guile/src/Makefile.am gnutls26-2.4.1/guile/src/Makefile.am --- gnutls26-2.8.6/guile/src/Makefile.am 2009-10-14 16:24:51.000000000 +0100 +++ gnutls26-2.4.1/guile/src/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ # GNUTLS -- Guile bindings for GnuTLS. -# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 2007, 2008 Free Software Foundation # # GNUTLS is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -15,8 +15,7 @@ # License along with GNUTLS; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -GUILE_FOR_BUILD = \ - GUILE_AUTO_COMPILE=0 $(GUILE) -L $(top_srcdir)/guile/modules +GUILE_FOR_BUILD = $(GUILE) -L $(top_srcdir)/guile/modules noinst_HEADERS = errors.h utils.h @@ -40,8 +39,8 @@ GNUTLS_EXTRA_LIBS = $(top_builddir)/libextra/libgnutls-extra.la # Linking against Gnulib modules. -GNULIB_LIBS = $(top_builddir)/lib/gl/liblgnu.la -GNULIB_CFLAGS = -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl +GNULIB_LIBS = $(top_builddir)/lgl/liblgnu.la +GNULIB_CFLAGS = -I$(top_builddir)/lgl -I$(top_srcdir)/lgl libguile_gnutls_v_1_la_SOURCES = core.c errors.c utils.c @@ -59,19 +58,15 @@ $(builddir)/libguile-gnutls-v-1.la \ $(GNULIB_LIBS) $(GUILE_LDFLAGS) -AM_CPPFLAGS = \ - -I$(top_srcdir)/lib/includes \ - -I$(top_builddir)/lib/includes \ - -I$(top_srcdir)/libextra/includes \ - -I$(top_builddir) \ - -I$(builddir) +AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + -I$(top_builddir) -I$(builddir) if HAVE_GCC # Generated `.x' files and Guile's `scm_c_define_gsubr ()' require # `-Wno-strict-prototypes'. This trick makes sure `-Wno-s-p' appears # after `-Ws-p'. -AM_CFLAGS = -Wno-strict-prototypes +AM_CFLAGS += -Wno-strict-prototypes # The `-fgnu89-inline' option appeared in GCC 4.1.3. if HAVE_GCC_GNU89_INLINE_OPTION diff -Nru gnutls26-2.8.6/guile/src/Makefile.in gnutls26-2.4.1/guile/src/Makefile.in --- gnutls26-2.8.6/guile/src/Makefile.in 2010-03-15 10:29:21.000000000 +0000 +++ gnutls26-2.4.1/guile/src/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,7 +15,7 @@ @SET_MAKE@ # GNUTLS -- Guile bindings for GnuTLS. -# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 2007, 2008 Free Software Foundation # # GNUTLS is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -35,9 +34,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -53,100 +51,105 @@ build_triplet = @build@ host_triplet = @host@ +# Generated `.x' files and Guile's `scm_c_define_gsubr ()' require +# `-Wno-strict-prototypes'. This trick makes sure `-Wno-s-p' appears +# after `-Ws-p'. +@HAVE_GCC_TRUE@am__append_1 = -Wno-strict-prototypes + # The `-fgnu89-inline' option appeared in GCC 4.1.3. # Guile and GMP currently rely on GNU inline semantics, not C99 inline. -@HAVE_GCC_GNU89_INLINE_OPTION_TRUE@@HAVE_GCC_TRUE@am__append_1 = -fgnu89-inline +@HAVE_GCC_GNU89_INLINE_OPTION_TRUE@@HAVE_GCC_TRUE@am__append_2 = -fgnu89-inline subdir = guile/src DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libguile_gnutls_extra_v_1_la_DEPENDENCIES = $(GNUTLS_CORE_LIBS) \ @@ -173,7 +176,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -195,7 +197,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ $(am__append_1) $(am__append_2) AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -218,96 +220,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -319,31 +285,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -358,29 +309,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -388,18 +325,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -408,51 +338,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -461,123 +373,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -589,78 +486,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -692,11 +573,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -707,15 +591,12 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -GUILE_FOR_BUILD = \ - GUILE_AUTO_COMPILE=0 $(GUILE) -L $(top_srcdir)/guile/modules - +GUILE_FOR_BUILD = $(GUILE) -L $(top_srcdir)/guile/modules noinst_HEADERS = errors.h utils.h EXTRA_DIST = \ make-enum-map.scm make-smob-types.scm \ @@ -736,8 +617,8 @@ GNUTLS_EXTRA_LIBS = $(top_builddir)/libextra/libgnutls-extra.la # Linking against Gnulib modules. -GNULIB_LIBS = $(top_builddir)/lib/gl/liblgnu.la -GNULIB_CFLAGS = -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl +GNULIB_LIBS = $(top_builddir)/lgl/liblgnu.la +GNULIB_CFLAGS = -I$(top_builddir)/lgl -I$(top_srcdir)/lgl libguile_gnutls_v_1_la_SOURCES = core.c errors.c utils.c libguile_gnutls_v_1_la_CFLAGS = \ $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) @@ -755,19 +636,10 @@ $(builddir)/libguile-gnutls-v-1.la \ $(GNULIB_LIBS) $(GUILE_LDFLAGS) -AM_CPPFLAGS = \ - -I$(top_srcdir)/lib/includes \ - -I$(top_builddir)/lib/includes \ - -I$(top_srcdir)/libextra/includes \ - -I$(top_builddir) \ - -I$(builddir) +AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + -I$(top_builddir) -I$(builddir) -# Generated `.x' files and Guile's `scm_c_define_gsubr ()' require -# `-Wno-strict-prototypes'. This trick makes sure `-Wno-s-p' appears -# after `-Ws-p'. -@HAVE_GCC_TRUE@AM_CFLAGS = -Wno-strict-prototypes $(am__append_1) - # C file snarfing. # `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be @@ -784,14 +656,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu guile/src/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu guile/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -809,28 +681,23 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - list2="$$list2 $$p"; \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } + done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: @@ -859,52 +726,52 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< libguile_gnutls_extra_v_1_la-extra.lo: extra.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_extra_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_extra_v_1_la-extra.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Tpo -c -o libguile_gnutls_extra_v_1_la-extra.lo `test -f 'extra.c' || echo '$(srcdir)/'`extra.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Tpo $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Plo +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_extra_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_extra_v_1_la-extra.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Tpo -c -o libguile_gnutls_extra_v_1_la-extra.lo `test -f 'extra.c' || echo '$(srcdir)/'`extra.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Tpo $(DEPDIR)/libguile_gnutls_extra_v_1_la-extra.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='extra.c' object='libguile_gnutls_extra_v_1_la-extra.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_extra_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_extra_v_1_la-extra.lo `test -f 'extra.c' || echo '$(srcdir)/'`extra.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_extra_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_extra_v_1_la-extra.lo `test -f 'extra.c' || echo '$(srcdir)/'`extra.c libguile_gnutls_v_1_la-core.lo: core.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-core.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-core.Tpo -c -o libguile_gnutls_v_1_la-core.lo `test -f 'core.c' || echo '$(srcdir)/'`core.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libguile_gnutls_v_1_la-core.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-core.Plo +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-core.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-core.Tpo -c -o libguile_gnutls_v_1_la-core.lo `test -f 'core.c' || echo '$(srcdir)/'`core.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libguile_gnutls_v_1_la-core.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-core.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='core.c' object='libguile_gnutls_v_1_la-core.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-core.lo `test -f 'core.c' || echo '$(srcdir)/'`core.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-core.lo `test -f 'core.c' || echo '$(srcdir)/'`core.c libguile_gnutls_v_1_la-errors.lo: errors.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-errors.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-errors.Tpo -c -o libguile_gnutls_v_1_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libguile_gnutls_v_1_la-errors.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-errors.Plo +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-errors.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-errors.Tpo -c -o libguile_gnutls_v_1_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libguile_gnutls_v_1_la-errors.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-errors.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='errors.c' object='libguile_gnutls_v_1_la-errors.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c libguile_gnutls_v_1_la-utils.lo: utils.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-utils.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-utils.Tpo -c -o libguile_gnutls_v_1_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libguile_gnutls_v_1_la-utils.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-utils.Plo +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -MT libguile_gnutls_v_1_la-utils.lo -MD -MP -MF $(DEPDIR)/libguile_gnutls_v_1_la-utils.Tpo -c -o libguile_gnutls_v_1_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libguile_gnutls_v_1_la-utils.Tpo $(DEPDIR)/libguile_gnutls_v_1_la-utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='libguile_gnutls_v_1_la-utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libguile_gnutls_v_1_la_CFLAGS) $(CFLAGS) -c -o libguile_gnutls_v_1_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c mostlyclean-libtool: -rm -f *.lo @@ -917,14 +784,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -932,34 +799,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -980,17 +842,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -1024,7 +882,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1047,8 +904,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -1057,28 +912,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-libLTLIBRARIES install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -1101,7 +946,7 @@ uninstall-am: uninstall-libLTLIBRARIES -.MAKE: all check install install-am install-strip +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ @@ -1155,7 +1000,6 @@ .PHONY: built-sources built-sources: $(BUILT_SOURCES) - # 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: diff -Nru gnutls26-2.8.6/guile/tests/Makefile.am gnutls26-2.4.1/guile/tests/Makefile.am --- gnutls26-2.8.6/guile/tests/Makefile.am 2009-10-14 16:24:51.000000000 +0100 +++ gnutls26-2.4.1/guile/tests/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ # GNUTLS -- Guile bindings for GnuTLS. -# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 2007, 2008 Free Software Foundation # # GNUTLS is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,9 +28,7 @@ TESTS += srp-base64.scm endif -TESTS_ENVIRONMENT = \ - GUILE_AUTO_COMPILE=0 \ - $(top_builddir)/guile/pre-inst-guile -L $(srcdir) +TESTS_ENVIRONMENT = $(top_builddir)/guile/pre-inst-guile -L $(srcdir) EXTRA_DIST = $(TESTS) openpgp-pub.asc openpgp-sec.asc \ diff -Nru gnutls26-2.8.6/guile/tests/Makefile.in gnutls26-2.4.1/guile/tests/Makefile.in --- gnutls26-2.8.6/guile/tests/Makefile.in 2010-03-15 10:29:21.000000000 +0000 +++ gnutls26-2.4.1/guile/tests/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,7 +15,7 @@ @SET_MAKE@ # GNUTLS -- Guile bindings for GnuTLS. -# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 2007, 2008 Free Software Foundation # # GNUTLS is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -33,9 +32,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -55,80 +53,92 @@ subdir = guile/tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = -am__tty_colors = \ -red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -151,96 +161,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -252,31 +226,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -291,29 +250,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -321,18 +266,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -341,51 +279,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -394,123 +314,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -522,78 +427,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -625,11 +514,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -640,7 +532,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -649,10 +540,7 @@ TESTS = anonymous-auth.scm session-record-port.scm \ pkcs-import-export.scm errors.scm x509-certificates.scm \ x509-auth.scm $(am__append_1) $(am__append_2) -TESTS_ENVIRONMENT = \ - GUILE_AUTO_COMPILE=0 \ - $(top_builddir)/guile/pre-inst-guile -L $(srcdir) - +TESTS_ENVIRONMENT = $(top_builddir)/guile/pre-inst-guile -L $(srcdir) EXTRA_DIST = $(TESTS) openpgp-pub.asc openpgp-sec.asc \ openpgp-keyring.gpg openpgp-keyring.asc \ rsa-parameters.pem \ @@ -665,14 +553,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu guile/tests/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu guile/tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu guile/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -690,7 +578,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -705,10 +592,9 @@ check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ - $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ @@ -717,63 +603,49 @@ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ + *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ + echo "XPASS: $$tst"; \ ;; \ *) \ - col=$$grn; res=PASS; \ + echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ + *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ + echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ + echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ + echo "SKIP: $$tst"; \ fi; \ - echo "$${col}$$res$${std}: $$tst"; \ done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ + banner="All $$all tests passed"; \ else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ + banner="$$failed of $$all tests failed"; \ else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ + skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ @@ -784,15 +656,11 @@ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - echo "$$grn$$dashes"; \ - else \ - echo "$$red$$dashes"; \ - fi; \ + echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ - echo "$$dashes$$std"; \ + echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi @@ -812,17 +680,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -851,7 +715,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -870,8 +733,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -880,28 +741,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -922,7 +773,7 @@ uninstall-am: -.MAKE: check-am install-am install-strip +.MAKE: install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ @@ -936,7 +787,6 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/includes/gnutls/compat.h gnutls26-2.4.1/includes/gnutls/compat.h --- gnutls26-2.8.6/includes/gnutls/compat.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/compat.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,105 @@ +/* Typedefs to be fully compatible with the types of + * GnuTLS 1.0.x. + */ + +#ifndef GCOMPAT_H +# define GCOMPAT_H + +#ifdef __GNUC__ + +#define _GNUTLS_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) + +#if _GNUTLS_GCC_VERSION >= 30100 +#define _GNUTLS_GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#endif /* __GNUC__ */ + +#ifndef _GNUTLS_GCC_ATTR_DEPRECATED +#define _GNUTLS_GCC_ATTR_DEPRECATED +#endif + +#define gnutls_cipher_algorithm gnutls_cipher_algorithm_t +#define gnutls_kx_algorithm gnutls_kx_algorithm_t +#define gnutls_paramsype gnutls_paramsype_t +#define gnutls_mac_algorithm gnutls_mac_algorithm_t +#define gnutls_digest_algorithm gnutls_digest_algorithm_t +#define gnutls_compression_method gnutls_compression_method_t +#define gnutls_connection_end gnutls_connection_end_t +#define gnutls_credentialsype gnutls_credentialsype_t +#define gnutls_certificateype gnutls_certificateype_t +#define gnutls_x509_crt_fmt gnutls_x509_crt_fmt_t +#define gnutls_openpgp_key_fmt gnutls_openpgp_key_fmt_t +#define gnutls_pk_algorithm gnutls_pk_algorithm_t +#define gnutls_sign_algorithm gnutls_sign_algorithm_t +#define gnutls_server_name gnutls_server_nameype_t +#define gnutls_protocol gnutls_protocol_version_t +#define gnutls_close_request gnutls_close_request_t +#define gnutls_openpgp_key_status gnutls_openpgp_key_status_t +#define gnutls_certificate_request gnutls_certificate_request_t +#define gnutls_certificate_status gnutls_certificate_status_t +#define gnutls_session gnutls_session_t +#define gnutls_alert_level gnutls_alert_level_t +#define gnutls_alert_description gnutls_alert_description_t +#define gnutls_x509_subject_alt_name gnutls_x509_subject_alt_name_t +#define gnutls_openpgp_key gnutls_openpgp_key_t +#define gnutls_openpgp_privkey gnutls_openpgp_privkey_t +#define gnutls_openpgp_keyring gnutls_openpgp_keyring_t +#define gnutls_x509_crt gnutls_x509_crt_t +#define gnutls_x509_privkey gnutls_x509_privkey_t +#define gnutls_x509_crl gnutls_x509_crl_t +#define gnutls_pkcs7 gnutls_pkcs7_t +#define gnutls_x509_crq gnutls_x509_crq_t +#define gnutls_pkcs_encrypt_flags gnutls_pkcs_encrypt_flags_t +#define gnutls_pkcs12_bag_type gnutls_pkcs12_bag_type_t +#define gnutls_pkcs12_bag gnutls_pkcs12_bag_t +#define gnutls_pkcs12 gnutls_pkcs12_t +#define gnutls_certificate_credentials gnutls_certificate_credentials_t +#define gnutls_anon_server_credentials gnutls_anon_server_credentials_t +#define gnutls_anon_client_credentials gnutls_anon_client_credentials_t +#define gnutls_srp_client_credentials gnutls_srp_client_credentials_t +#define gnutls_srp_server_credentials gnutls_srp_server_credentials_t +#define gnutls_dh_params gnutls_dh_params_t +#define gnutls_rsa_params gnutls_rsa_params_t +#define gnutls_params_type gnutls_params_type_t +#define gnutls_credentials_type gnutls_credentials_type_t +#define gnutls_certificate_type gnutls_certificate_type_t +#define gnutls_datum gnutls_datum_t +#define gnutls_transport_ptr gnutls_transport_ptr_t + +/* Old SRP alerts removed in 2.1.x because the TLS-SRP RFC was + modified to use the PSK alert. */ +#define GNUTLS_A_MISSING_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY +#define GNUTLS_A_UNKNOWN_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY + +/* OpenPGP stuff renamed in 2.1.x. */ +#define gnutls_openpgp_key_fmt_t gnutls_openpgp_crt_fmt_t +#define GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT +#define GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT +#define gnutls_openpgp_send_key gnutls_openpgp_send_cert +#define gnutls_openpgp_key_status_t gnutls_openpgp_crt_status_t +#define gnutls_openpgp_key_t gnutls_openpgp_crt_t +#define gnutls_openpgp_key_init gnutls_openpgp_crt_init +#define gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit +#define gnutls_openpgp_key_import gnutls_openpgp_crt_import +#define gnutls_openpgp_key_export gnutls_openpgp_crt_export +#define gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage +#define gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint +#define gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm +#define gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name +#define gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version +#define gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time +#define gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time +#define gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id +#define gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname + +/* OpenPGP stuff renamed in 2.3.x. */ +#define gnutls_openpgp_crt_get_id gnutls_openpgp_crt_get_key_id + +/* New better names renamed in 2.3.x, add these for backwards + compatibility with old poor names.*/ +#define GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL +#define GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE +#define GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL + +#endif /* GCOMPAT_H */ diff -Nru gnutls26-2.8.6/includes/gnutls/crypto.h gnutls26-2.4.1/includes/gnutls/crypto.h --- gnutls26-2.8.6/includes/gnutls/crypto.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/crypto.h 2008-06-30 21:45:51.000000000 +0100 @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2008 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#if INTERNAL_GNUTLS_CRYPTO_H_ENABLE_UNSUPPORTED_API + +#ifndef GNUTLS_CRYPTO_H +# define GNUTLS_CRYPTO_H + +typedef struct gnutls_crypto_cipher { + int (*init)( void** ctx); + int (*setkey)( void* ctx, const void * key, int keysize); + int (*setiv)(void* ctx, const void* iv, int ivsize); + int (*encrypt)(void* ctx, const void* plain, int plainsize, void* encr, int encrsize); + int (*decrypt)(void* ctx, const void* encr, int encrsize, void* plain, int plainsize); + void (*deinit)( void* ctx); +} gnutls_crypto_cipher_st; + +typedef struct gnutls_crypto_mac { + int (*init)( void** ctx); + int (*setkey)( void* ctx, const void * key, int keysize); + int (*hash)( void* ctx, const void * text, int textsize); + int (*copy)( void** dst_ctx, void* src_ctx); + int (*output) ( void* src_ctx, void* digest, int digestsize); + void (*deinit)( void* ctx); +} gnutls_crypto_mac_st; + +typedef enum gnutls_rnd_level +{ + GNUTLS_RND_KEY = 0, + GNUTLS_RND_RANDOM = 1, /* unpredictable */ + GNUTLS_RND_NONCE = 2, +} gnutls_rnd_level_t; + +typedef struct gnutls_crypto_rnd { + int (*init)( void** ctx); + int (*rnd) ( void* ctx, int /* gnutls_rnd_level_t */ level, void* data, int datasize); + void (*deinit)( void* ctx); +} gnutls_crypto_rnd_st; + +/* the same... setkey should be null */ +typedef gnutls_crypto_mac_st gnutls_crypto_digest_st; + +/* priority: infinity for backend algorithms, 90 for kernel algorithms - lowest wins + */ +int gnutls_crypto_cipher_register( gnutls_cipher_algorithm_t algorithm, int priority, gnutls_crypto_cipher_st* s); +int gnutls_crypto_mac_register( gnutls_mac_algorithm_t algorithm, int priority, gnutls_crypto_mac_st* s); +int gnutls_crypto_digest_register( gnutls_digest_algorithm_t algorithm, int priority, gnutls_crypto_digest_st* s); +int gnutls_crypto_rnd_register( int priority, gnutls_crypto_rnd_st* s); + +#endif + +#endif diff -Nru gnutls26-2.8.6/includes/gnutls/extra.h gnutls26-2.4.1/includes/gnutls/extra.h --- gnutls26-2.8.6/includes/gnutls/extra.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/extra.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS-EXTRA. + * + * GNUTLS-EXTRA 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 3 of the + * License, or (at your option) any later version. + * + * GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Note the libgnutls-extra is not a standalone library. It requires + * to link also against libgnutls. + */ + +#ifndef GNUTLS_EXTRA_H +# define GNUTLS_EXTRA_H + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define LIBGNUTLS_EXTRA_VERSION LIBGNUTLS_VERSION + + /* TLS/IA stuff + */ + + typedef enum + { + GNUTLS_IA_APPLICATION_PAYLOAD = 0, + GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED = 1, + GNUTLS_IA_FINAL_PHASE_FINISHED = 2 + } gnutls_ia_apptype_t; + + /* TLS/IA credential + */ + + typedef int (*gnutls_ia_avp_func) (gnutls_session_t session, void *ptr, + const char *last, size_t lastlen, + char **next, size_t * nextlen); + + typedef struct gnutls_ia_server_credentials_st + *gnutls_ia_server_credentials_t; + typedef struct gnutls_ia_client_credentials_st + *gnutls_ia_client_credentials_t; + + /* Allocate and free TLS/IA credentials. */ + extern void + gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc); + extern int + gnutls_ia_allocate_client_credentials (gnutls_ia_client_credentials_t * + sc); + + extern void + gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc); + extern int + gnutls_ia_allocate_server_credentials (gnutls_ia_server_credentials_t * + sc); + + /* Client TLS/IA credential functions. */ + extern void + gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, + gnutls_ia_avp_func avp_func); + extern void + gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, + void *ptr); + extern void *gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t + cred); + + /* Server TLS/IA credential functions. */ + extern void + gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, + gnutls_ia_avp_func avp_func); + extern void + gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, + void *ptr); + extern void *gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t + cred); + + /* TLS/IA handshake. */ + extern int gnutls_ia_handshake_p (gnutls_session_t session); + + extern int gnutls_ia_handshake (gnutls_session_t session); + + /* TLS/IA low level interface. */ + extern int + gnutls_ia_permute_inner_secret (gnutls_session_t session, + size_t session_keys_size, + const char *session_keys); + extern int gnutls_ia_endphase_send (gnutls_session_t session, + int final_p); + + extern int gnutls_ia_verify_endphase (gnutls_session_t session, + const char *checksum); + + extern ssize_t gnutls_ia_send (gnutls_session_t session, + const char *data, size_t sizeofdata); + extern ssize_t gnutls_ia_recv (gnutls_session_t session, + char *data, size_t sizeofdata); + + /* Utility stuff. */ + extern int gnutls_ia_generate_challenge (gnutls_session_t session, + size_t buffer_size, + char *buffer); + extern void gnutls_ia_extract_inner_secret (gnutls_session_t session, + char *buffer); + + /* Define whether inner phases are wanted. */ + extern void gnutls_ia_enable (gnutls_session_t session, + int allow_skip_on_resume); + + int gnutls_global_init_extra (void); + +/* returns libgnutls-extra version (call it with a NULL argument) + */ + const char *gnutls_extra_check_version (const char *req_version); + +#ifdef __cplusplus +} +#endif +#endif diff -Nru gnutls26-2.8.6/includes/gnutls/gnutls.h.in gnutls26-2.4.1/includes/gnutls/gnutls.h.in --- gnutls26-2.8.6/includes/gnutls/gnutls.h.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/gnutls.h.in 2008-06-30 21:45:51.000000000 +0100 @@ -0,0 +1,1333 @@ +/* -*- c -*- + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + * + * Author: Nikos Mavroyanopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + */ + +/* This file contains the types and prototypes for all the + * high level functionality of gnutls main library. For the + * extra functionality (which is under the GNU GPL license) check + * the gnutls/extra.h header. The openssl compatibility layer is + * in gnutls/openssl.h. + * + * The low level cipher functionality is in libgcrypt. Check + * gcrypt.h + */ + + +#ifndef GNUTLS_H +# define GNUTLS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define LIBGNUTLS_VERSION "@VERSION@" + +#define LIBGNUTLS_VERSION_MAJOR @MAJOR_VERSION@ +#define LIBGNUTLS_VERSION_MINOR @MINOR_VERSION@ +#define LIBGNUTLS_VERSION_PATCH @PATCH_VERSION@ + +#define LIBGNUTLS_VERSION_NUMBER @NUMBER_VERSION@ + +@POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ + +/* Get size_t. */ +#include +/* Get ssize_t. */ +#ifndef HAVE_SSIZE_T +# define HAVE_SSIZE_T +@DEFINE_SSIZE_T@ +#endif +/* Get time_t. */ +#include +#include + +#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC +#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC +#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC +#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128 + + typedef enum gnutls_cipher_algorithm + { + GNUTLS_CIPHER_UNKNOWN = 0, + GNUTLS_CIPHER_NULL = 1, + GNUTLS_CIPHER_ARCFOUR_128, + GNUTLS_CIPHER_3DES_CBC, + GNUTLS_CIPHER_AES_128_CBC, + GNUTLS_CIPHER_AES_256_CBC, + GNUTLS_CIPHER_ARCFOUR_40, + GNUTLS_CIPHER_CAMELLIA_128_CBC, + GNUTLS_CIPHER_CAMELLIA_256_CBC, + GNUTLS_CIPHER_RC2_40_CBC = 90, + GNUTLS_CIPHER_DES_CBC + } gnutls_cipher_algorithm_t; + + typedef enum + { + GNUTLS_KX_UNKNOWN = 0, + GNUTLS_KX_RSA = 1, + GNUTLS_KX_DHE_DSS, + GNUTLS_KX_DHE_RSA, + GNUTLS_KX_ANON_DH, + GNUTLS_KX_SRP, + GNUTLS_KX_RSA_EXPORT, + GNUTLS_KX_SRP_RSA, + GNUTLS_KX_SRP_DSS, + GNUTLS_KX_PSK, + GNUTLS_KX_DHE_PSK + } gnutls_kx_algorithm_t; + + typedef enum + { + GNUTLS_PARAMS_RSA_EXPORT = 1, + GNUTLS_PARAMS_DH + } gnutls_params_type_t; + + typedef enum + { + GNUTLS_CRD_CERTIFICATE = 1, + GNUTLS_CRD_ANON, + GNUTLS_CRD_SRP, + GNUTLS_CRD_PSK, + GNUTLS_CRD_IA + } gnutls_credentials_type_t; + +#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1 +#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1 + + typedef enum + { + GNUTLS_MAC_UNKNOWN = 0, + GNUTLS_MAC_NULL = 1, + GNUTLS_MAC_MD5, + GNUTLS_MAC_SHA1, + GNUTLS_MAC_RMD160, + GNUTLS_MAC_MD2, + GNUTLS_MAC_SHA256, + GNUTLS_MAC_SHA384, + GNUTLS_MAC_SHA512 + /* If you add anything here, make sure you align with + gnutls_digest_algorithm_t, in particular SHA-224. */ + } gnutls_mac_algorithm_t; + + /* The enumerations here should have the same value with + gnutls_mac_algorithm_t. + */ + typedef enum + { + GNUTLS_DIG_NULL = GNUTLS_MAC_NULL, + GNUTLS_DIG_MD5 = GNUTLS_MAC_MD5, + GNUTLS_DIG_SHA1 = GNUTLS_MAC_SHA1, + GNUTLS_DIG_RMD160 = GNUTLS_MAC_RMD160, + GNUTLS_DIG_MD2 = GNUTLS_MAC_MD2, + GNUTLS_DIG_SHA256 = GNUTLS_MAC_SHA256, + GNUTLS_DIG_SHA384 = GNUTLS_MAC_SHA384, + GNUTLS_DIG_SHA512 = GNUTLS_MAC_SHA512, + GNUTLS_DIG_SHA224 + } gnutls_digest_algorithm_t; + + /* exported for other gnutls headers. This is the maximum number of + * algorithms (ciphers, kx or macs). + */ +#define GNUTLS_MAX_ALGORITHM_NUM 16 + +#define GNUTLS_COMP_ZLIB GNUTLS_COMP_DEFLATE + typedef enum + { + GNUTLS_COMP_UNKNOWN = 0, + GNUTLS_COMP_NULL = 1, + GNUTLS_COMP_DEFLATE, + GNUTLS_COMP_LZO /* only available if gnutls-extra has + been initialized + */ + } gnutls_compression_method_t; + + typedef enum + { + GNUTLS_SERVER = 1, + GNUTLS_CLIENT + } gnutls_connection_end_t; + + typedef enum + { + GNUTLS_AL_WARNING = 1, + GNUTLS_AL_FATAL + } gnutls_alert_level_t; + + typedef enum + { + GNUTLS_A_CLOSE_NOTIFY, + GNUTLS_A_UNEXPECTED_MESSAGE = 10, + GNUTLS_A_BAD_RECORD_MAC = 20, + GNUTLS_A_DECRYPTION_FAILED, + GNUTLS_A_RECORD_OVERFLOW, + GNUTLS_A_DECOMPRESSION_FAILURE = 30, + GNUTLS_A_HANDSHAKE_FAILURE = 40, + GNUTLS_A_SSL3_NO_CERTIFICATE = 41, + GNUTLS_A_BAD_CERTIFICATE = 42, + GNUTLS_A_UNSUPPORTED_CERTIFICATE, + GNUTLS_A_CERTIFICATE_REVOKED, + GNUTLS_A_CERTIFICATE_EXPIRED, + GNUTLS_A_CERTIFICATE_UNKNOWN, + GNUTLS_A_ILLEGAL_PARAMETER, + GNUTLS_A_UNKNOWN_CA, + GNUTLS_A_ACCESS_DENIED, + GNUTLS_A_DECODE_ERROR = 50, + GNUTLS_A_DECRYPT_ERROR, + GNUTLS_A_EXPORT_RESTRICTION = 60, + GNUTLS_A_PROTOCOL_VERSION = 70, + GNUTLS_A_INSUFFICIENT_SECURITY, + GNUTLS_A_INTERNAL_ERROR = 80, + GNUTLS_A_USER_CANCELED = 90, + GNUTLS_A_NO_RENEGOTIATION = 100, + GNUTLS_A_UNSUPPORTED_EXTENSION = 110, + GNUTLS_A_CERTIFICATE_UNOBTAINABLE = 111, + GNUTLS_A_UNRECOGNIZED_NAME = 112, + GNUTLS_A_UNKNOWN_PSK_IDENTITY = 115, + GNUTLS_A_INNER_APPLICATION_FAILURE = 208, + GNUTLS_A_INNER_APPLICATION_VERIFICATION = 209 + } gnutls_alert_description_t; + + typedef enum + { GNUTLS_HANDSHAKE_HELLO_REQUEST = 0, + GNUTLS_HANDSHAKE_CLIENT_HELLO = 1, + GNUTLS_HANDSHAKE_SERVER_HELLO = 2, + GNUTLS_HANDSHAKE_CERTIFICATE_PKT = 11, + GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE = 12, + GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST = 13, + GNUTLS_HANDSHAKE_SERVER_HELLO_DONE = 14, + GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY = 15, + GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE = 16, + GNUTLS_HANDSHAKE_FINISHED = 20, + GNUTLS_HANDSHAKE_SUPPLEMENTAL = 23 + } gnutls_handshake_description_t; + +/* Note that the status bits have different meanings + * in openpgp keys and x.509 certificate verification. + */ + typedef enum + { + GNUTLS_CERT_INVALID = 2, /* will be set if the certificate + * was not verified. + */ + GNUTLS_CERT_REVOKED = 32, /* in X.509 this will be set only if CRLs are checked + */ + + /* Those are extra information about the verification + * process. Will be set only if the certificate was + * not verified. + */ + GNUTLS_CERT_SIGNER_NOT_FOUND = 64, + GNUTLS_CERT_SIGNER_NOT_CA = 128, + GNUTLS_CERT_INSECURE_ALGORITHM = 256 + } gnutls_certificate_status_t; + + typedef enum + { + GNUTLS_CERT_IGNORE, + GNUTLS_CERT_REQUEST = 1, + GNUTLS_CERT_REQUIRE + } gnutls_certificate_request_t; + + typedef enum + { GNUTLS_OPENPGP_CERT, + GNUTLS_OPENPGP_CERT_FINGERPRINT + } gnutls_openpgp_crt_status_t; + + typedef enum + { + GNUTLS_SHUT_RDWR = 0, + GNUTLS_SHUT_WR = 1 + } gnutls_close_request_t; + +#define GNUTLS_TLS1 GNUTLS_TLS1_0 + typedef enum + { + GNUTLS_SSL3 = 1, + GNUTLS_TLS1_0, + GNUTLS_TLS1_1, + GNUTLS_TLS1_2, + GNUTLS_VERSION_UNKNOWN = 0xff + } gnutls_protocol_t; + + typedef enum + { + GNUTLS_CRT_UNKNOWN = 0, + GNUTLS_CRT_X509 = 1, + GNUTLS_CRT_OPENPGP + } gnutls_certificate_type_t; + + typedef enum + { + GNUTLS_X509_FMT_DER, + GNUTLS_X509_FMT_PEM + } gnutls_x509_crt_fmt_t; + + typedef enum gnutls_certificate_print_formats + { + GNUTLS_CRT_PRINT_FULL, + GNUTLS_CRT_PRINT_ONELINE, + GNUTLS_CRT_PRINT_UNSIGNED_FULL, + } gnutls_certificate_print_formats_t; + + typedef enum + { + GNUTLS_PK_UNKNOWN = 0, + GNUTLS_PK_RSA = 1, + GNUTLS_PK_DSA + } gnutls_pk_algorithm_t; + + const char *gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm); + +#define GNUTLS_SIGN_RSA_SHA GNUTLS_SIGN_RSA_SHA1 +#define GNUTLS_SIGN_DSA_SHA GNUTLS_SIGN_DSA_SHA1 + typedef enum + { + GNUTLS_SIGN_UNKNOWN = 0, + GNUTLS_SIGN_RSA_SHA1 = 1, + GNUTLS_SIGN_DSA_SHA1, + GNUTLS_SIGN_RSA_MD5, + GNUTLS_SIGN_RSA_MD2, + GNUTLS_SIGN_RSA_RMD160, + GNUTLS_SIGN_RSA_SHA256, + GNUTLS_SIGN_RSA_SHA384, + GNUTLS_SIGN_RSA_SHA512, + GNUTLS_SIGN_RSA_SHA224 + } gnutls_sign_algorithm_t; + + const char *gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t + algorithm); + +/* If you want to change this, then also change the define in + * gnutls_int.h, and recompile. + */ + typedef void *gnutls_transport_ptr_t; + + struct gnutls_session_int; + typedef struct gnutls_session_int *gnutls_session_t; + + struct gnutls_dh_params_int; + typedef struct gnutls_dh_params_int *gnutls_dh_params_t; + + /* XXX ugly. */ + struct gnutls_x509_privkey_int; + typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t; + + struct gnutls_priority_st; + typedef struct gnutls_priority_st *gnutls_priority_t; + + typedef struct + { + unsigned char *data; + unsigned int size; + } gnutls_datum_t; + + + typedef struct gnutls_params_st + { + gnutls_params_type_t type; + union params + { + gnutls_dh_params_t dh; + gnutls_rsa_params_t rsa_export; + } params; + int deinit; + } gnutls_params_st; + + typedef int gnutls_params_function (gnutls_session_t, gnutls_params_type_t, + gnutls_params_st *); + +/* internal functions */ + + int gnutls_init (gnutls_session_t * session, + gnutls_connection_end_t con_end); + void gnutls_deinit (gnutls_session_t session); +#define _gnutls_deinit(x) gnutls_deinit(x) + + int gnutls_bye (gnutls_session_t session, gnutls_close_request_t how); + + int gnutls_handshake (gnutls_session_t session); + int gnutls_rehandshake (gnutls_session_t session); + + gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session); + int gnutls_alert_send (gnutls_session_t session, + gnutls_alert_level_t level, + gnutls_alert_description_t desc); + int gnutls_alert_send_appropriate (gnutls_session_t session, int err); + const char *gnutls_alert_get_name (gnutls_alert_description_t alert); + +/* get information on the current session */ + gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session); + gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session); + gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session); + gnutls_compression_method_t gnutls_compression_get (gnutls_session_t + session); + gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t + session); + + size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm); + size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm); + +/* the name of the specified algorithms */ + const char *gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm); + const char *gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm); + const char *gnutls_compression_get_name (gnutls_compression_method_t + algorithm); + const char *gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm); + const char *gnutls_certificate_type_get_name (gnutls_certificate_type_t + type); + + gnutls_mac_algorithm_t gnutls_mac_get_id (const char* name); + gnutls_compression_method_t gnutls_compression_get_id (const char* name); + gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char* name); + gnutls_kx_algorithm_t gnutls_kx_get_id (const char* name); + gnutls_protocol_t gnutls_protocol_get_id (const char* name); + gnutls_certificate_type_t gnutls_certificate_type_get_id (const char* name); + + + /* list supported algorithms */ + const gnutls_cipher_algorithm_t *gnutls_cipher_list (void); + const gnutls_mac_algorithm_t *gnutls_mac_list (void); + const gnutls_compression_method_t *gnutls_compression_list (void); + const gnutls_protocol_t *gnutls_protocol_list (void); + const gnutls_certificate_type_t *gnutls_certificate_type_list (void); + const gnutls_kx_algorithm_t *gnutls_kx_list (void); + const char *gnutls_cipher_suite_info (size_t i, + char *id, + gnutls_kx_algorithm_t *kx, + gnutls_cipher_algorithm_t *cipher, + gnutls_mac_algorithm_t *mac, + gnutls_protocol_t *version); + + /* error functions */ + int gnutls_error_is_fatal (int error); + int gnutls_error_to_alert (int err, int *level); + + void gnutls_perror (int error); + const char *gnutls_strerror (int error); + +/* Semi-internal functions. + */ + void gnutls_handshake_set_private_extensions (gnutls_session_t session, + int allow); + gnutls_handshake_description_t + gnutls_handshake_get_last_out (gnutls_session_t session); + gnutls_handshake_description_t + gnutls_handshake_get_last_in (gnutls_session_t session); + +/* Record layer functions. + */ + ssize_t gnutls_record_send (gnutls_session_t session, const void *data, + size_t sizeofdata); + ssize_t gnutls_record_recv (gnutls_session_t session, void *data, + size_t sizeofdata); +#define gnutls_read gnutls_record_recv +#define gnutls_write gnutls_record_send + + void gnutls_session_enable_compatibility_mode (gnutls_session_t session); + + void gnutls_record_disable_padding (gnutls_session_t session); + + int gnutls_record_get_direction (gnutls_session_t session); + + size_t gnutls_record_get_max_size (gnutls_session_t session); + ssize_t gnutls_record_set_max_size (gnutls_session_t session, size_t size); + + size_t gnutls_record_check_pending (gnutls_session_t session); + + int gnutls_prf (gnutls_session_t session, + size_t label_size, const char *label, + int server_random_first, + size_t extra_size, const char *extra, + size_t outsize, char *out); + + int gnutls_prf_raw (gnutls_session_t session, + size_t label_size, const char *label, + size_t seed_size, const char *seed, + size_t outsize, char *out); + +/* TLS Extensions */ + + typedef enum + { + GNUTLS_NAME_DNS = 1 + } gnutls_server_name_type_t; + + int gnutls_server_name_set (gnutls_session_t session, + gnutls_server_name_type_t type, + const void *name, size_t name_length); + + int gnutls_server_name_get (gnutls_session_t session, + void *data, size_t * data_length, + unsigned int *type, unsigned int indx); + + /* Opaque PRF Input + * http://tools.ietf.org/id/draft-rescorla-tls-opaque-prf-input-00.txt + */ + + void + gnutls_oprfi_enable_client (gnutls_session_t session, + size_t len, + unsigned char *data); + + typedef int (*gnutls_oprfi_callback_func) (gnutls_session_t session, + void *userdata, + size_t oprfi_len, + const unsigned char *in_oprfi, + unsigned char *out_oprfi); + + void + gnutls_oprfi_enable_server (gnutls_session_t session, + gnutls_oprfi_callback_func cb, + void *userdata); + + /* Supplemental data, RFC 4680. */ + typedef enum + { + GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0 + } gnutls_supplemental_data_format_type_t; + + const char *gnutls_supplemental_get_name + (gnutls_supplemental_data_format_type_t type); + +/* functions to set priority of cipher suites + */ + int gnutls_cipher_set_priority (gnutls_session_t session, const int *list); + int gnutls_mac_set_priority (gnutls_session_t session, const int *list); + int gnutls_compression_set_priority (gnutls_session_t session, + const int *list); + int gnutls_kx_set_priority (gnutls_session_t session, const int *list); + int gnutls_protocol_set_priority (gnutls_session_t session, + const int *list); + int gnutls_certificate_type_set_priority (gnutls_session_t session, + const int *list); + +/* if you just want some defaults, use the following. + */ + int gnutls_priority_init( gnutls_priority_t*, const char *priority, const char** err_pos); + void gnutls_priority_deinit( gnutls_priority_t); + + int gnutls_priority_set(gnutls_session_t session, gnutls_priority_t); + int gnutls_priority_set_direct(gnutls_session_t session, const char *priority, const char** err_pos); + + /* for compatibility + */ + int gnutls_set_default_priority (gnutls_session_t session); + int gnutls_set_default_export_priority (gnutls_session_t session); + +/* Returns the name of a cipher suite */ + const char *gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t + kx_algorithm, + gnutls_cipher_algorithm_t + cipher_algorithm, + gnutls_mac_algorithm_t + mac_algorithm); + +/* get the currently used protocol version */ + gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session); + + const char *gnutls_protocol_get_name (gnutls_protocol_t version); + + +/* get/set session + */ + int gnutls_session_set_data (gnutls_session_t session, + const void *session_data, + size_t session_data_size); + int gnutls_session_get_data (gnutls_session_t session, void *session_data, + size_t * session_data_size); + int gnutls_session_get_data2 (gnutls_session_t session, + gnutls_datum_t * data); + +/* returns the session ID */ +#define GNUTLS_MAX_SESSION_ID 32 + int gnutls_session_get_id (gnutls_session_t session, void *session_id, + size_t * session_id_size); + +/* returns security values. + * Do not use them unless you know what you're doing. + */ +#define TLS_MASTER_SIZE 48 +#define TLS_RANDOM_SIZE 32 + const void *gnutls_session_get_server_random (gnutls_session_t session); + const void *gnutls_session_get_client_random (gnutls_session_t session); + const void *gnutls_session_get_master_secret (gnutls_session_t session); + +/* checks if this session is a resumed one + */ + int gnutls_session_is_resumed (gnutls_session_t session); + + typedef int (*gnutls_db_store_func) (void *, gnutls_datum_t key, + gnutls_datum_t data); + typedef int (*gnutls_db_remove_func) (void *, gnutls_datum_t key); + typedef gnutls_datum_t (*gnutls_db_retr_func) (void *, gnutls_datum_t key); + + void gnutls_db_set_cache_expiration (gnutls_session_t session, int seconds); + + void gnutls_db_remove_session (gnutls_session_t session); + void gnutls_db_set_retrieve_function (gnutls_session_t session, + gnutls_db_retr_func retr_func); + void gnutls_db_set_remove_function (gnutls_session_t session, + gnutls_db_remove_func rem_func); + void gnutls_db_set_store_function (gnutls_session_t session, + gnutls_db_store_func store_func); + void gnutls_db_set_ptr (gnutls_session_t session, void *ptr); + void *gnutls_db_get_ptr (gnutls_session_t session); + int gnutls_db_check_entry (gnutls_session_t session, + gnutls_datum_t session_entry); + + typedef int (*gnutls_handshake_post_client_hello_func)(gnutls_session_t); + void gnutls_handshake_set_post_client_hello_function(gnutls_session_t, + gnutls_handshake_post_client_hello_func); + + void gnutls_handshake_set_max_packet_length (gnutls_session_t session, + size_t max); + +/* returns libgnutls version (call it with a NULL argument) + */ + const char *gnutls_check_version (const char *req_version); + +/* Functions for setting/clearing credentials + */ + void gnutls_credentials_clear (gnutls_session_t session); + +/* cred is a structure defined by the kx algorithm + */ + int gnutls_credentials_set (gnutls_session_t session, + gnutls_credentials_type_t type, void *cred); +#define gnutls_cred_set gnutls_credentials_set + +/* Credential structures - used in gnutls_credentials_set(); */ + + struct gnutls_certificate_credentials_st; + typedef struct gnutls_certificate_credentials_st + *gnutls_certificate_credentials_t; + typedef gnutls_certificate_credentials_t + gnutls_certificate_server_credentials; + typedef gnutls_certificate_credentials_t + gnutls_certificate_client_credentials; + + typedef struct gnutls_anon_server_credentials_st + *gnutls_anon_server_credentials_t; + typedef struct gnutls_anon_client_credentials_st + *gnutls_anon_client_credentials_t; + + void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc); + int gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * sc); + + void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, + gnutls_dh_params_t dh_params); + + void + gnutls_anon_set_server_params_function (gnutls_anon_server_credentials_t + res, + gnutls_params_function * func); + + void gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t + sc); + int + gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t + * sc); + +/* CERTFILE is an x509 certificate in PEM form. + * KEYFILE is a pkcs-1 private key in PEM form (for RSA keys). + */ + void gnutls_certificate_free_credentials (gnutls_certificate_credentials_t + sc); + int + gnutls_certificate_allocate_credentials (gnutls_certificate_credentials_t + * res); + + void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc); + void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc); + void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc); + void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc); + + void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, + gnutls_dh_params_t dh_params); + void + gnutls_certificate_set_rsa_export_params (gnutls_certificate_credentials_t + res, + gnutls_rsa_params_t rsa_params); + void gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t + res, unsigned int flags); + void gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t + res, unsigned int max_bits, + unsigned int max_depth); + + int gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t + res, const char *CAFILE, + gnutls_x509_crt_fmt_t type); + int gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * CA, + gnutls_x509_crt_fmt_t type); + + int gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t + res, const char *crlfile, + gnutls_x509_crt_fmt_t type); + int gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * CRL, + gnutls_x509_crt_fmt_t type); + + int gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t + res, const char *CERTFILE, + const char *KEYFILE, + gnutls_x509_crt_fmt_t type); + int gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * CERT, + const gnutls_datum_t * KEY, + gnutls_x509_crt_fmt_t type); + + void gnutls_certificate_send_x509_rdn_sequence (gnutls_session_t session, + int status); + + + extern int + gnutls_certificate_set_x509_simple_pkcs12_file + (gnutls_certificate_credentials_t res, const char *pkcs12file, + gnutls_x509_crt_fmt_t type, const char *password); + +/* New functions to allow setting already parsed X.509 stuff. + */ + struct gnutls_x509_privkey_int; + typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t; + + struct gnutls_x509_crl_int; + typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t; + + struct gnutls_x509_crt_int; + typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t; + + struct gnutls_openpgp_keyring_int; + typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t; + + int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, + gnutls_x509_crt_t * cert_list, + int cert_list_size, + gnutls_x509_privkey_t key); + int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, + gnutls_x509_crt_t * ca_list, + int ca_list_size); + int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, + gnutls_x509_crl_t * crl_list, + int crl_list_size); + + void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, + gnutls_x509_crt_t **x509_ca_list, + unsigned int* ncas); + + void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, + gnutls_x509_crl_t **x509_crl_list, + unsigned int* ncrls); + + void gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, + gnutls_openpgp_keyring_t *keyring); + +/* global state functions + */ + int gnutls_global_init (void); + void gnutls_global_deinit (void); + + typedef void *(*gnutls_alloc_function) (size_t); + typedef void *(*gnutls_calloc_function) (size_t, size_t); + typedef int (*gnutls_is_secure_function) (const void *); + typedef void (*gnutls_free_function) (void *); + typedef void *(*gnutls_realloc_function) (void *, size_t); + + extern void + gnutls_global_set_mem_functions (gnutls_alloc_function gt_alloc_func, + gnutls_alloc_function + gt_secure_alloc_func, + gnutls_is_secure_function + gt_is_secure_func, + gnutls_realloc_function gt_realloc_func, + gnutls_free_function gt_free_func); + +/* For use in callbacks */ + extern gnutls_alloc_function gnutls_malloc; + extern gnutls_alloc_function gnutls_secure_malloc; + extern gnutls_realloc_function gnutls_realloc; + extern gnutls_calloc_function gnutls_calloc; + extern gnutls_free_function gnutls_free; + + extern char *(*gnutls_strdup) (const char *); + + typedef void (*gnutls_log_func) (int, const char *); + void gnutls_global_set_log_function (gnutls_log_func log_func); + void gnutls_global_set_log_level (int level); + +/* Diffie Hellman parameter handling. + */ + int gnutls_dh_params_init (gnutls_dh_params_t * dh_params); + void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params); + int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, + const gnutls_datum_t * prime, + const gnutls_datum_t * generator); + int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, + const gnutls_datum_t * pkcs3_params, + gnutls_x509_crt_fmt_t format); + int gnutls_dh_params_generate2 (gnutls_dh_params_t params, + unsigned int bits); + int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, + gnutls_x509_crt_fmt_t format, + unsigned char *params_data, + size_t * params_data_size); + int gnutls_dh_params_export_raw (gnutls_dh_params_t params, + gnutls_datum_t * prime, + gnutls_datum_t * generator, + unsigned int *bits); + int gnutls_dh_params_cpy (gnutls_dh_params_t dst, gnutls_dh_params_t src); + + +/* RSA params + */ + int gnutls_rsa_params_init (gnutls_rsa_params_t * rsa_params); + void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params); + int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, + gnutls_rsa_params_t src); + int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, + const gnutls_datum_t * m, + const gnutls_datum_t * e, + const gnutls_datum_t * d, + const gnutls_datum_t * p, + const gnutls_datum_t * q, + const gnutls_datum_t * u); + int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, + unsigned int bits); + int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, + gnutls_datum_t * m, gnutls_datum_t * e, + gnutls_datum_t * d, gnutls_datum_t * p, + gnutls_datum_t * q, gnutls_datum_t * u, + unsigned int *bits); + int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, + gnutls_x509_crt_fmt_t format, + unsigned char *params_data, + size_t * params_data_size); + int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, + const gnutls_datum_t * pkcs1_params, + gnutls_x509_crt_fmt_t format); + +/* Session stuff + */ + typedef ssize_t (*gnutls_pull_func) (gnutls_transport_ptr_t, void *, + size_t); + typedef ssize_t (*gnutls_push_func) (gnutls_transport_ptr_t, const void *, + size_t); + void gnutls_transport_set_ptr (gnutls_session_t session, + gnutls_transport_ptr_t ptr); + void gnutls_transport_set_ptr2 (gnutls_session_t session, + gnutls_transport_ptr_t recv_ptr, + gnutls_transport_ptr_t send_ptr); + + gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session); + void gnutls_transport_get_ptr2 (gnutls_session_t session, + gnutls_transport_ptr_t * recv_ptr, + gnutls_transport_ptr_t * send_ptr); + + void gnutls_transport_set_lowat (gnutls_session_t session, int num); + + + void gnutls_transport_set_push_function (gnutls_session_t session, + gnutls_push_func push_func); + void gnutls_transport_set_pull_function (gnutls_session_t session, + gnutls_pull_func pull_func); + + void gnutls_transport_set_errno (gnutls_session_t session, int err); + void gnutls_transport_set_global_errno (int err); + +/* session specific + */ + void gnutls_session_set_ptr (gnutls_session_t session, void *ptr); + void *gnutls_session_get_ptr (gnutls_session_t session); + + void gnutls_openpgp_send_cert (gnutls_session_t session, + gnutls_openpgp_crt_status_t status); + +/* fingerprint + * Actually this function returns the hash of the given data. + */ + int gnutls_fingerprint (gnutls_digest_algorithm_t algo, + const gnutls_datum_t * data, void *result, + size_t * result_size); + + +/* SRP + */ + + typedef struct gnutls_srp_server_credentials_st + *gnutls_srp_server_credentials_t; + typedef struct gnutls_srp_client_credentials_st + *gnutls_srp_client_credentials_t; + + void gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t + sc); + int gnutls_srp_allocate_client_credentials (gnutls_srp_client_credentials_t + * sc); + int gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, + const char *username, const char *password); + + void gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t + sc); + int gnutls_srp_allocate_server_credentials (gnutls_srp_server_credentials_t + * sc); + int gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t + res, const char *password_file, + const char *password_conf_file); + + const char *gnutls_srp_server_get_username (gnutls_session_t session); + + extern int gnutls_srp_verifier (const char *username, + const char *password, + const gnutls_datum_t * salt, + const gnutls_datum_t * generator, + const gnutls_datum_t * prime, + gnutls_datum_t * res); + +/* The static parameters defined in draft-ietf-tls-srp-05 + * Those should be used as input to gnutls_srp_verifier(). + */ + extern const gnutls_datum_t gnutls_srp_2048_group_prime; + extern const gnutls_datum_t gnutls_srp_2048_group_generator; + + extern const gnutls_datum_t gnutls_srp_1536_group_prime; + extern const gnutls_datum_t gnutls_srp_1536_group_generator; + + extern const gnutls_datum_t gnutls_srp_1024_group_prime; + extern const gnutls_datum_t gnutls_srp_1024_group_generator; + + typedef int gnutls_srp_server_credentials_function (gnutls_session_t, + const char *username, + gnutls_datum_t * salt, + gnutls_datum_t * + verifier, + gnutls_datum_t * + generator, + gnutls_datum_t * prime); + void + gnutls_srp_set_server_credentials_function + (gnutls_srp_server_credentials_t cred, + gnutls_srp_server_credentials_function * func); + + typedef int gnutls_srp_client_credentials_function (gnutls_session_t, + char **, char **); + void + gnutls_srp_set_client_credentials_function + (gnutls_srp_client_credentials_t cred, + gnutls_srp_client_credentials_function * func); + + int gnutls_srp_base64_encode (const gnutls_datum_t * data, char *result, + size_t * result_size); + int gnutls_srp_base64_encode_alloc (const gnutls_datum_t * data, + gnutls_datum_t * result); + + int gnutls_srp_base64_decode (const gnutls_datum_t * b64_data, char *result, + size_t * result_size); + int gnutls_srp_base64_decode_alloc (const gnutls_datum_t * b64_data, + gnutls_datum_t * result); + +/* PSK stuff */ + typedef struct gnutls_psk_server_credentials_st + *gnutls_psk_server_credentials_t; + typedef struct gnutls_psk_client_credentials_st + *gnutls_psk_client_credentials_t; + + typedef enum gnutls_psk_key_flags + { + GNUTLS_PSK_KEY_RAW = 0, + GNUTLS_PSK_KEY_HEX + } gnutls_psk_key_flags; + + void gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t + sc); + int gnutls_psk_allocate_client_credentials (gnutls_psk_client_credentials_t + * sc); + int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, + const char *username, + const gnutls_datum_t * key, + gnutls_psk_key_flags format); + + void gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t + sc); + int gnutls_psk_allocate_server_credentials (gnutls_psk_server_credentials_t + * sc); + int gnutls_psk_set_server_credentials_file (gnutls_psk_server_credentials_t + res, const char *password_file); + + int + gnutls_psk_set_server_credentials_hint (gnutls_psk_server_credentials_t res, + const char *hint); + + const char *gnutls_psk_server_get_username (gnutls_session_t session); + const char *gnutls_psk_client_get_hint (gnutls_session_t session); + + typedef int gnutls_psk_server_credentials_function (gnutls_session_t, + const char *username, + gnutls_datum_t * key); + void + gnutls_psk_set_server_credentials_function + (gnutls_psk_server_credentials_t cred, + gnutls_psk_server_credentials_function * func); + + typedef int gnutls_psk_client_credentials_function (gnutls_session_t, + char **username, + gnutls_datum_t * key); + void + gnutls_psk_set_client_credentials_function + (gnutls_psk_client_credentials_t cred, + gnutls_psk_client_credentials_function * func); + + int gnutls_hex_encode (const gnutls_datum_t * data, char *result, + size_t * result_size); + int gnutls_hex_decode (const gnutls_datum_t * hex_data, char *result, + size_t * result_size); + + void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, + gnutls_dh_params_t dh_params); + + void gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t + res, + gnutls_params_function * func); + + int gnutls_psk_netconf_derive_key (const char *password, + const char *psk_identity, + const char *psk_identity_hint, + gnutls_datum_t *output_key); + + + typedef enum gnutls_x509_subject_alt_name_t + { + GNUTLS_SAN_DNSNAME = 1, + GNUTLS_SAN_RFC822NAME, + GNUTLS_SAN_URI, + GNUTLS_SAN_IPADDRESS, + GNUTLS_SAN_OTHERNAME, + GNUTLS_SAN_DN, + /* The following are "virtual" subject alternative name types, in + that they are represented by an otherName value and an OID. + Used by gnutls_x509_crt_get_subject_alt_othername_oid(). */ + GNUTLS_SAN_OTHERNAME_XMPP = 1000 + } gnutls_x509_subject_alt_name_t; + + struct gnutls_openpgp_crt_int; + typedef struct gnutls_openpgp_crt_int *gnutls_openpgp_crt_t; + + struct gnutls_openpgp_privkey_int; + typedef struct gnutls_openpgp_privkey_int *gnutls_openpgp_privkey_t; + + typedef struct gnutls_retr_st + { + gnutls_certificate_type_t type; + union cert + { + gnutls_x509_crt_t *x509; + gnutls_openpgp_crt_t pgp; + } cert; + unsigned int ncerts; /* one for pgp keys */ + + union key + { + gnutls_x509_privkey_t x509; + gnutls_openpgp_privkey_t pgp; + } key; + + unsigned int deinit_all; /* if non zero all keys will be deinited */ + } gnutls_retr_st; + + typedef int gnutls_certificate_client_retrieve_function (gnutls_session_t, + const + gnutls_datum_t * + req_ca_rdn, + int nreqs, + const + gnutls_pk_algorithm_t + * pk_algos, + int + pk_algos_length, + gnutls_retr_st *); + typedef int gnutls_certificate_server_retrieve_function (gnutls_session_t, + gnutls_retr_st *); + + + /* Functions that allow auth_info_t structures handling + */ + + gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session); + gnutls_credentials_type_t + gnutls_auth_server_get_type (gnutls_session_t session); + gnutls_credentials_type_t + gnutls_auth_client_get_type (gnutls_session_t session); + + /* DH */ + + void gnutls_dh_set_prime_bits (gnutls_session_t session, unsigned int bits); + int gnutls_dh_get_secret_bits (gnutls_session_t session); + int gnutls_dh_get_peers_public_bits (gnutls_session_t session); + int gnutls_dh_get_prime_bits (gnutls_session_t session); + + int gnutls_dh_get_group (gnutls_session_t session, gnutls_datum_t * raw_gen, + gnutls_datum_t * raw_prime); + int gnutls_dh_get_pubkey (gnutls_session_t session, + gnutls_datum_t * raw_key); + + /* RSA */ + int gnutls_rsa_export_get_pubkey (gnutls_session_t session, + gnutls_datum_t * exponent, + gnutls_datum_t * modulus); + int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session); + + /* X509PKI */ + + /* External signing callback. Experimental. */ + typedef int (*gnutls_sign_func) (gnutls_session_t session, + void *userdata, + gnutls_certificate_type_t cert_type, + const gnutls_datum_t * cert, + const gnutls_datum_t * hash, + gnutls_datum_t * signature); + + void gnutls_sign_callback_set (gnutls_session_t session, + gnutls_sign_func sign_func, + void *userdata); + gnutls_sign_func + gnutls_sign_callback_get (gnutls_session_t session, + void **userdata); + + /* These are set on the credentials structure. + */ + void gnutls_certificate_client_set_retrieve_function + (gnutls_certificate_credentials_t cred, + gnutls_certificate_client_retrieve_function * func); + void gnutls_certificate_server_set_retrieve_function + (gnutls_certificate_credentials_t cred, + gnutls_certificate_server_retrieve_function * func); + + void gnutls_certificate_server_set_request (gnutls_session_t session, + gnutls_certificate_request_t + req); + + /* get data from the session + */ + const gnutls_datum_t *gnutls_certificate_get_peers (gnutls_session_t + session, + unsigned int + *list_size); + const gnutls_datum_t *gnutls_certificate_get_ours (gnutls_session_t + session); + + time_t gnutls_certificate_activation_time_peers (gnutls_session_t session); + time_t gnutls_certificate_expiration_time_peers (gnutls_session_t session); + + int gnutls_certificate_client_get_request_status (gnutls_session_t session); + int gnutls_certificate_verify_peers2 (gnutls_session_t session, + unsigned int *status); + + /* this is obsolete (?). */ + int gnutls_certificate_verify_peers (gnutls_session_t session); + + int gnutls_pem_base64_encode (const char *msg, const gnutls_datum_t * data, + char *result, size_t * result_size); + int gnutls_pem_base64_decode (const char *header, + const gnutls_datum_t * b64_data, + unsigned char *result, size_t * result_size); + + int gnutls_pem_base64_encode_alloc (const char *msg, + const gnutls_datum_t * data, + gnutls_datum_t * result); + int gnutls_pem_base64_decode_alloc (const char *header, + const gnutls_datum_t * b64_data, + gnutls_datum_t * result); + + /* key_usage will be an OR of the following values: + */ + + /* when the key is to be used for signing: */ +#define GNUTLS_KEY_DIGITAL_SIGNATURE 128 +#define GNUTLS_KEY_NON_REPUDIATION 64 + /* when the key is to be used for encryption: */ +#define GNUTLS_KEY_KEY_ENCIPHERMENT 32 +#define GNUTLS_KEY_DATA_ENCIPHERMENT 16 +#define GNUTLS_KEY_KEY_AGREEMENT 8 +#define GNUTLS_KEY_KEY_CERT_SIGN 4 +#define GNUTLS_KEY_CRL_SIGN 2 +#define GNUTLS_KEY_ENCIPHER_ONLY 1 +#define GNUTLS_KEY_DECIPHER_ONLY 32768 + + void + gnutls_certificate_set_params_function (gnutls_certificate_credentials_t res, + gnutls_params_function * func); + void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, + gnutls_params_function * func); + void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, + gnutls_params_function * func); + + int gnutls_hex2bin (const char * hex_data, size_t hex_size, + char * bin_data, size_t * bin_size); + + /* Gnutls error codes. The mapping to a TLS alert is also shown in + * comments. + */ + +#define GNUTLS_E_SUCCESS 0 +#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3 +#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6 +#define GNUTLS_E_LARGE_PACKET -7 +#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */ +#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_RECORD_OVERFLOW */ +#define GNUTLS_E_INVALID_SESSION -10 +#define GNUTLS_E_FATAL_ALERT_RECEIVED -12 +#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */ +#define GNUTLS_E_WARNING_ALERT_RECEIVED -16 +#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18 +#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19 +#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */ +#define GNUTLS_E_UNWANTED_ALGORITHM -22 +#define GNUTLS_E_MPI_SCAN_FAILED -23 +#define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */ +#define GNUTLS_E_MEMORY_ERROR -25 +#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */ +#define GNUTLS_E_COMPRESSION_FAILED -27 +#define GNUTLS_E_AGAIN -28 +#define GNUTLS_E_EXPIRED -29 +#define GNUTLS_E_DB_ERROR -30 +#define GNUTLS_E_SRP_PWD_ERROR -31 +#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32 +#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ +#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS +#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ + +#define GNUTLS_E_HASH_FAILED -33 +#define GNUTLS_E_BASE64_DECODING_ERROR -34 + +#define GNUTLS_E_MPI_PRINT_FAILED -35 +#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */ +#define GNUTLS_E_GOT_APPLICATION_DATA -38 +#define GNUTLS_E_RECORD_LIMIT_REACHED -39 +#define GNUTLS_E_ENCRYPTION_FAILED -40 + +#define GNUTLS_E_PK_ENCRYPTION_FAILED -44 +#define GNUTLS_E_PK_DECRYPTION_FAILED -45 +#define GNUTLS_E_PK_SIGN_FAILED -46 +#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47 +#define GNUTLS_E_KEY_USAGE_VIOLATION -48 +#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */ +#define GNUTLS_E_INVALID_REQUEST -50 +#define GNUTLS_E_SHORT_MEMORY_BUFFER -51 +#define GNUTLS_E_INTERRUPTED -52 +#define GNUTLS_E_PUSH_ERROR -53 +#define GNUTLS_E_PULL_ERROR -54 +#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */ +#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56 +#define GNUTLS_E_PKCS1_WRONG_PAD -57 +#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58 +#define GNUTLS_E_INTERNAL_ERROR -59 +#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63 +#define GNUTLS_E_FILE_ERROR -64 +#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78 +#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80 + + + /* returned if libextra functionality was requested but + * gnutls_global_init_extra() was not called. + */ +#define GNUTLS_E_INIT_LIBEXTRA -82 +#define GNUTLS_E_LIBRARY_VERSION_MISMATCH -83 + + + /* returned if you need to generate temporary RSA + * parameters. These are needed for export cipher suites. + */ +#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84 + +#define GNUTLS_E_LZO_INIT_FAILED -85 +#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86 +#define GNUTLS_E_NO_CIPHER_SUITES -87 + +#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88 +#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89 + +#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90 +#define GNUTLS_E_SRP_PWD_PARSING_ERROR -91 +#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93 + + /* For certificate and key stuff + */ +#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67 +#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68 +#define GNUTLS_E_ASN1_DER_ERROR -69 +#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70 +#define GNUTLS_E_ASN1_GENERIC_ERROR -71 +#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72 +#define GNUTLS_E_ASN1_TAG_ERROR -73 +#define GNUTLS_E_ASN1_TAG_IMPLICIT -74 +#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75 +#define GNUTLS_E_ASN1_SYNTAX_ERROR -76 +#define GNUTLS_E_ASN1_DER_OVERFLOW -77 +#define GNUTLS_E_OPENPGP_UID_REVOKED -79 +#define GNUTLS_E_CERTIFICATE_ERROR -43 +#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR +#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60 +#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */ +#define GNUTLS_E_X509_UNKNOWN_SAN -62 +#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94 +#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95 +#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96 +#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97 +#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98 +#define GNUTLS_E_INVALID_PASSWORD -99 +#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */ +#define GNUTLS_E_CONSTRAINT_ERROR -101 + +#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102 +#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103 + +#define GNUTLS_E_IA_VERIFY_FAILED -104 + +#define GNUTLS_E_UNKNOWN_ALGORITHM -105 + +#define GNUTLS_E_BASE64_ENCODING_ERROR -201 +#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */ +#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202 +#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203 + +#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204 +#define GNUTLS_E_X509_UNSUPPORTED_OID -205 + +#define GNUTLS_E_RANDOM_FAILED -206 +#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207 + +#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208 + +#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -209 + +#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210 + +#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 + +#define GNUTLS_E_APPLICATION_ERROR_MAX -65000 +#define GNUTLS_E_APPLICATION_ERROR_MIN -65500 + +#ifdef __cplusplus +} +#endif + +#endif /* GNUTLS_H */ diff -Nru gnutls26-2.8.6/includes/gnutls/gnutlsxx.h gnutls26-2.4.1/includes/gnutls/gnutlsxx.h --- gnutls26-2.8.6/includes/gnutls/gnutlsxx.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/gnutlsxx.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,388 @@ +#ifndef GNUTLSXX_H +# define GNUTLSXX_H + +#include +#include +#include + +namespace gnutls { + +class noncopyable +{ + protected: + noncopyable() { } + ~noncopyable() { } + + private: + // These are non-implemented. + noncopyable(const noncopyable &); + noncopyable &operator=(const noncopyable &); +}; + + +class exception: public std::exception +{ + public: + exception( int x); + const char* what() const throw(); + int get_code(); + protected: + int retcode; +}; + + +class dh_params : private noncopyable +{ + public: + dh_params(); + ~dh_params(); + void import_raw( const gnutls_datum_t & prime, + const gnutls_datum_t & generator); + void import_pkcs3( const gnutls_datum_t & pkcs3_params, + gnutls_x509_crt_fmt_t format); + void generate( unsigned int bits); + + void export_pkcs3( gnutls_x509_crt_fmt_t format, unsigned char *params_data, size_t * params_data_size); + void export_raw( gnutls_datum_t& prime, gnutls_datum_t &generator); + + gnutls_dh_params_t get_params_t() const; + dh_params & operator=(const dh_params& src); + protected: + gnutls_dh_params_t params; +}; + + +class rsa_params : private noncopyable +{ + public: + rsa_params(); + ~rsa_params(); + void import_raw( const gnutls_datum_t & m, + const gnutls_datum_t & e, + const gnutls_datum_t & d, + const gnutls_datum_t & p, + const gnutls_datum_t & q, + const gnutls_datum_t & u); + void import_pkcs1( const gnutls_datum_t & pkcs1_params, + gnutls_x509_crt_fmt_t format); + void generate( unsigned int bits); + + void export_pkcs1( gnutls_x509_crt_fmt_t format, unsigned char *params_data, size_t * params_data_size); + void export_raw( gnutls_datum_t & m, gnutls_datum_t & e, + gnutls_datum_t & d, gnutls_datum_t & p, + gnutls_datum_t & q, gnutls_datum_t & u); + gnutls_rsa_params_t get_params_t() const; + rsa_params & operator=(const rsa_params& src); + + protected: + gnutls_rsa_params_t params; +}; + +class session : private noncopyable +{ + protected: + gnutls_session_t s; + public: + session( gnutls_connection_end_t); + virtual ~session(); + + int bye( gnutls_close_request_t how); + int handshake (); + + gnutls_alert_description_t get_alert() const; + + int send_alert ( gnutls_alert_level_t level, + gnutls_alert_description_t desc); + int send_appropriate_alert (int err); + + gnutls_cipher_algorithm_t get_cipher() const; + gnutls_kx_algorithm_t get_kx () const; + gnutls_mac_algorithm_t get_mac () const; + gnutls_compression_method_t get_compression () const; + gnutls_certificate_type_t get_certificate_type() const; + + // for the handshake + void set_private_extensions ( bool allow); + + gnutls_handshake_description_t get_handshake_last_out() const; + gnutls_handshake_description_t get_handshake_last_in() const; + + ssize_t send (const void *data, size_t sizeofdata); + ssize_t recv (void *data, size_t sizeofdata); + + bool get_record_direction() const; + + // maximum packet size + size_t get_max_size() const; + void set_max_size(size_t size); + + size_t check_pending() const; + + void prf (size_t label_size, const char *label, + int server_random_first, + size_t extra_size, const char *extra, + size_t outsize, char *out); + + void prf_raw ( size_t label_size, const char *label, + size_t seed_size, const char *seed, + size_t outsize, char *out); + + void set_cipher_priority (const int *list); + void set_mac_priority (const int *list); + void set_compression_priority (const int *list); + void set_kx_priority (const int *list); + void set_protocol_priority (const int *list); + void set_certificate_type_priority (const int *list); + + /* if you just want some defaults, use the following. + */ + void set_priority (const char* prio, const char** err_pos); + void set_priority (gnutls_priority_t p); + + gnutls_protocol_t get_protocol_version() const; + + // for resuming sessions + void set_data ( const void *session_data, + size_t session_data_size); + void get_data (void *session_data, + size_t * session_data_size) const; + void get_data(gnutls_session_t session, + gnutls_datum_t & data) const; + void get_id ( void *session_id, + size_t * session_id_size) const; + + bool is_resumed () const; + + void set_max_handshake_packet_length ( size_t max); + + void clear_credentials(); + void set_credentials( class credentials & cred); + + void set_transport_ptr( gnutls_transport_ptr_t ptr); + void set_transport_ptr( gnutls_transport_ptr_t recv_ptr, gnutls_transport_ptr_t send_ptr); + gnutls_transport_ptr_t get_transport_ptr() const; + void get_transport_ptr(gnutls_transport_ptr_t & recv_ptr, + gnutls_transport_ptr_t & send_ptr) const; + + void set_transport_lowat (size_t num); + void set_transport_push_function( gnutls_push_func push_func); + void set_transport_pull_function( gnutls_pull_func pull_func); + + void set_user_ptr( void* ptr); + void *get_user_ptr() const; + + void send_openpgp_cert( gnutls_openpgp_crt_status_t status); + + gnutls_credentials_type_t get_auth_type() const; + gnutls_credentials_type_t get_server_auth_type() const; + gnutls_credentials_type_t get_client_auth_type() const; + + // informational stuff + void set_dh_prime_bits( unsigned int bits); + unsigned int get_dh_secret_bits() const; + unsigned int get_dh_peers_public_bits() const; + unsigned int get_dh_prime_bits() const; + void get_dh_group( gnutls_datum_t & gen, gnutls_datum_t & prime) const; + void get_dh_pubkey( gnutls_datum_t & raw_key) const; + void get_rsa_export_pubkey( gnutls_datum_t& exponent, gnutls_datum_t& modulus) const; + unsigned int get_rsa_export_modulus_bits() const; + + void get_our_certificate(gnutls_datum_t & cert) const; + bool get_peers_certificate(std::vector &out_certs) const; + bool get_peers_certificate(const gnutls_datum_t** certs, unsigned int *certs_size) const; + + time_t get_peers_certificate_activation_time() const; + time_t get_peers_certificate_expiration_time() const; + void verify_peers_certificate( unsigned int& status) const; + +}; + +// interface for databases +class DB : private noncopyable +{ + public: + virtual ~DB()=0; + virtual bool store( const gnutls_datum_t& key, const gnutls_datum_t& data)=0; + virtual bool retrieve( const gnutls_datum_t& key, gnutls_datum_t& data)=0; + virtual bool remove( const gnutls_datum_t& key)=0; +}; + +class server_session: public session +{ + public: + server_session(); + ~server_session(); + void db_remove() const; + + void set_db_cache_expiration (unsigned int seconds); + void set_db( const DB& db); + + // returns true if session is expired + bool db_check_entry ( gnutls_datum_t &session_data) const; + + // server side only + const char *get_srp_username() const; + const char *get_psk_username() const; + + void get_server_name (void *data, size_t * data_length, + unsigned int *type, unsigned int indx) const; + + int rehandshake(); + void set_certificate_request( gnutls_certificate_request_t); +}; + +class client_session: public session +{ + public: + client_session(); + ~client_session(); + + void set_server_name (gnutls_server_name_type_t type, + const void *name, size_t name_length); + + bool get_request_status(); +}; + + +class credentials : private noncopyable +{ + public: + virtual ~credentials() { } + gnutls_credentials_type_t get_type() const; + protected: + friend class session; + credentials(gnutls_credentials_type_t t); + void* ptr() const; + void set_ptr(void* ptr); + gnutls_credentials_type_t type; + private: + void *cred; +}; + +class certificate_credentials: public credentials +{ + public: + ~certificate_credentials(); + certificate_credentials(); + + void free_keys (); + void free_cas (); + void free_ca_names (); + void free_crls (); + + void set_dh_params ( const dh_params ¶ms); + void set_rsa_export_params ( const rsa_params& params); + void set_verify_flags ( unsigned int flags); + void set_verify_limits ( unsigned int max_bits, unsigned int max_depth); + + void set_x509_trust_file(const char *cafile, gnutls_x509_crt_fmt_t type); + void set_x509_trust(const gnutls_datum_t & CA, gnutls_x509_crt_fmt_t type); + // FIXME: use classes instead of gnutls_x509_crt_t + void set_x509_trust ( gnutls_x509_crt_t * ca_list, int ca_list_size); + + void set_x509_crl_file( const char *crlfile, gnutls_x509_crt_fmt_t type); + void set_x509_crl(const gnutls_datum_t & CRL, gnutls_x509_crt_fmt_t type); + void set_x509_crl ( gnutls_x509_crl_t * crl_list, int crl_list_size); + + void set_x509_key_file(const char *certfile, const char *KEYFILE, gnutls_x509_crt_fmt_t type); + void set_x509_key(const gnutls_datum_t & CERT, const gnutls_datum_t & KEY, gnutls_x509_crt_fmt_t type); + // FIXME: use classes + void set_x509_key ( gnutls_x509_crt_t * cert_list, int cert_list_size, + gnutls_x509_privkey_t key); + + + void set_simple_pkcs12_file( const char *pkcs12file, + gnutls_x509_crt_fmt_t type, const char *password); + + protected: + gnutls_certificate_credentials_t cred; +}; + +class certificate_server_credentials: public certificate_credentials +{ + public: + void set_retrieve_function( gnutls_certificate_server_retrieve_function* func); + void set_params_function( gnutls_params_function* func); +}; + +class certificate_client_credentials: public certificate_credentials +{ + public: + void set_retrieve_function( gnutls_certificate_client_retrieve_function* func); +}; + + + + +class anon_server_credentials: public credentials +{ + public: + anon_server_credentials(); + ~anon_server_credentials(); + void set_dh_params ( const dh_params ¶ms); + void set_params_function ( gnutls_params_function * func); + protected: + gnutls_anon_server_credentials_t cred; +}; + +class anon_client_credentials: public credentials +{ + public: + anon_client_credentials(); + ~anon_client_credentials(); + protected: + gnutls_anon_client_credentials_t cred; +}; + + +class srp_server_credentials: public credentials +{ + public: + srp_server_credentials(); + ~srp_server_credentials(); + void set_credentials_file (const char *password_file, const char *password_conf_file); + void set_credentials_function( gnutls_srp_server_credentials_function *func); + protected: + gnutls_srp_server_credentials_t cred; +}; + +class srp_client_credentials: public credentials +{ + public: + srp_client_credentials(); + ~srp_client_credentials(); + void set_credentials (const char *username, const char *password); + void set_credentials_function( gnutls_srp_client_credentials_function* func); + protected: + gnutls_srp_client_credentials_t cred; +}; + + +class psk_server_credentials: public credentials +{ + public: + psk_server_credentials(); + ~psk_server_credentials(); + void set_credentials_file(const char* password_file); + void set_credentials_function( gnutls_psk_server_credentials_function* func); + void set_dh_params ( const dh_params ¶ms); + void set_params_function (gnutls_params_function * func); + protected: + gnutls_psk_server_credentials_t cred; +}; + +class psk_client_credentials: public credentials +{ + public: + psk_client_credentials(); + ~psk_client_credentials(); + void set_credentials (const char *username, const gnutls_datum_t& key, gnutls_psk_key_flags flags); + void set_credentials_function( gnutls_psk_client_credentials_function* func); + protected: + gnutls_psk_client_credentials_t cred; +}; + + +} /* namespace */ + +#endif /* GNUTLSXX_H */ diff -Nru gnutls26-2.8.6/includes/gnutls/openpgp.h gnutls26-2.4.1/includes/gnutls/openpgp.h --- gnutls26-2.8.6/includes/gnutls/openpgp.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/openpgp.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,283 @@ +/* + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + */ + +/* This file contains the types and prototypes for the OpenPGP + * key and private key parsing functions. + */ + +#ifndef GNUTLS_OPENPGP_H +# define GNUTLS_OPENPGP_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +/* Openpgp certificate stuff + */ + + typedef enum gnutls_openpgp_crt_fmt + { GNUTLS_OPENPGP_FMT_RAW, + GNUTLS_OPENPGP_FMT_BASE64 + } gnutls_openpgp_crt_fmt_t; + + typedef unsigned char gnutls_openpgp_keyid_t[8]; + +/* gnutls_openpgp_cert_t should be defined in gnutls.h + */ + + /* initializes the memory for gnutls_openpgp_crt_t struct */ + int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t * key); + /* frees all memory */ + void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key); + + int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, + const gnutls_datum_t * data, + gnutls_openpgp_crt_fmt_t format); + int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, + gnutls_openpgp_crt_fmt_t format, + void *output_data, + size_t * output_data_size); + + int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, + gnutls_certificate_print_formats_t format, + gnutls_datum_t *out); + +/* The key_usage flags are defined in gnutls.h. They are + * the GNUTLS_KEY_* definitions. + */ + int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t cert, + unsigned int *key_usage); + int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, void *fpr, + size_t * fprlen); + int gnutls_openpgp_crt_get_subkey_fingerprint (gnutls_openpgp_crt_t key, + unsigned int idx, + void *fpr, size_t * fprlen); + + int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, + int idx, char *buf, size_t * sizeof_buf); + + gnutls_pk_algorithm_t + gnutls_openpgp_crt_get_pk_algorithm (gnutls_openpgp_crt_t key, + unsigned int *bits); + + int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key); + + time_t gnutls_openpgp_crt_get_creation_time (gnutls_openpgp_crt_t key); + time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key); + + int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, + gnutls_openpgp_keyid_t keyid); + + int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, + const char *hostname); + + int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key); + + int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key); + int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); + int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, unsigned int idx); + gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, + unsigned int idx, unsigned int *bits); + time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, unsigned int idx); + time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, unsigned int idx); + int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid); + int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, unsigned int idx, + unsigned int *key_usage); + + int gnutls_openpgp_crt_get_subkey_pk_dsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y); + int gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, + gnutls_datum_t * m, gnutls_datum_t * e); + int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y); + int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, + gnutls_datum_t * m, gnutls_datum_t * e); + + int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid); + int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); + +/* privkey stuff. + */ + int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t * key); + void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key); + gnutls_pk_algorithm_t + gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, + unsigned int *bits); + int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, + const gnutls_datum_t * data, + gnutls_openpgp_crt_fmt_t format, + const char *pass, unsigned int flags); + int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, + const gnutls_datum_t * hash, + gnutls_datum_t * signature); + int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, + void *fpr, size_t * fprlen); + int + gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, + unsigned int idx, + void *fpr, size_t * fprlen); + int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); + int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key); + int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); + + int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx); + + int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key); + + gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, + unsigned int idx, unsigned int *bits); + + time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, unsigned int idx); + + int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid); + + time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, unsigned int idx); + + int gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t crt, unsigned int idx, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y, + gnutls_datum_t * x); + int gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t crt, unsigned int idx, + gnutls_datum_t * m, gnutls_datum_t * e, + gnutls_datum_t * d, gnutls_datum_t * p, + gnutls_datum_t * q, gnutls_datum_t * u); + + int gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t crt, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y, + gnutls_datum_t * x); + int gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t crt, + gnutls_datum_t * m, gnutls_datum_t * e, + gnutls_datum_t * d, gnutls_datum_t * p, + gnutls_datum_t * q, gnutls_datum_t * u); + + int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, + gnutls_openpgp_crt_fmt_t format, + const char* password, unsigned int flags, + void *output_data, size_t * output_data_size); + + int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); + int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); + + int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, unsigned int flag); + +/* Keyring stuff. + */ + + int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t * keyring); + void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring); + + int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, + const gnutls_datum_t * data, + gnutls_openpgp_crt_fmt_t format); + + int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, + const gnutls_openpgp_keyid_t keyid, + unsigned int flags); + + + int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, + gnutls_openpgp_keyring_t keyring, + unsigned int flags, unsigned int *verify + /* the output of the verification */ ); + + int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, + unsigned int flags, + unsigned int *verify); + + int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, unsigned int idx, + gnutls_openpgp_crt_t* cert); + + int gnutls_openpgp_keyring_get_crt_count (gnutls_openpgp_keyring_t ring); + + + +/** + * gnutls_openpgp_recv_key_func - Callback prototype to get OpenPGP keys + * @session: a TLS session + * @keyfpr: key fingerprint + * @keyfpr_length: length of key fingerprint + * @key: output key. + * + * A callback of this type is used to retrieve OpenPGP keys. Only + * useful on the server, and will only be used if the peer send a key + * fingerprint instead of a full key. See also + * gnutls_openpgp_set_recv_key_function(). + * + */ + typedef int (*gnutls_openpgp_recv_key_func) (gnutls_session_t session, + const unsigned char *keyfpr, + unsigned int keyfpr_length, + gnutls_datum_t * key); + + void gnutls_openpgp_set_recv_key_function (gnutls_session_t session, + gnutls_openpgp_recv_key_func + func); + + + +/* certificate authentication stuff. + */ + int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t + res, gnutls_openpgp_crt_t key, + gnutls_openpgp_privkey_t pkey); + + int + gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t + res, const char *CERTFILE, + const char *KEYFILE, gnutls_openpgp_crt_fmt_t); + int gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t + res, + const gnutls_datum_t * CERT, + const gnutls_datum_t * KEY, gnutls_openpgp_crt_fmt_t); + + int gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t + res, const char *CERTFILE, + const char *KEYFILE, const char* keyid, + gnutls_openpgp_crt_fmt_t); + int gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t + res, + const gnutls_datum_t * CERT, + const gnutls_datum_t * KEY, + const char* keyid, + gnutls_openpgp_crt_fmt_t); + + int + gnutls_certificate_set_openpgp_keyring_mem + (gnutls_certificate_credentials_t c, const unsigned char *data, + size_t dlen, gnutls_openpgp_crt_fmt_t); + + int + gnutls_certificate_set_openpgp_keyring_file + (gnutls_certificate_credentials_t c, const char *file, gnutls_openpgp_crt_fmt_t); + +#ifdef __cplusplus +} +#endif +#endif /* GNUTLS_OPENPGP_H */ diff -Nru gnutls26-2.8.6/includes/gnutls/openssl.h gnutls26-2.4.1/includes/gnutls/openssl.h --- gnutls26-2.8.6/includes/gnutls/openssl.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/openssl.h 2008-06-30 21:45:51.000000000 +0100 @@ -0,0 +1,335 @@ +/* + * Copyright (C) 2004, 2005, 2007 Free Software Foundation + * Copyright (c) 2002 Andrew McDonald + * + * This file is part of GNUTLS-EXTRA. + * + * GNUTLS-EXTRA 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 3 of the + * License, or (at your option) any later version. + * + * GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* WARNING: Error functions aren't currently thread-safe */ + +/* This file contains prototypes about the OPENSSL compatibility + * layer in GNUTLS. GNUTLS is not a replacement of OPENSSL so + * this compatibility layer only support limited OPENSSL functionality. + * + * New programs should avoid using this compatibility layer, and + * use the native GNUTLS API. + */ + +#ifndef GNUTLS_OPENSSL_H +#define GNUTLS_OPENSSL_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +/* Extra definitions that do not longer exist in gnutls. + */ +#define GNUTLS_X509_CN_SIZE 256 +#define GNUTLS_X509_C_SIZE 3 +#define GNUTLS_X509_O_SIZE 256 +#define GNUTLS_X509_OU_SIZE 256 +#define GNUTLS_X509_L_SIZE 256 +#define GNUTLS_X509_S_SIZE 256 +#define GNUTLS_X509_EMAIL_SIZE 256 + + typedef struct + { + char common_name[GNUTLS_X509_CN_SIZE]; + char country[GNUTLS_X509_C_SIZE]; + char organization[GNUTLS_X509_O_SIZE]; + char organizational_unit_name[GNUTLS_X509_OU_SIZE]; + char locality_name[GNUTLS_X509_L_SIZE]; + char state_or_province_name[GNUTLS_X509_S_SIZE]; + char email[GNUTLS_X509_EMAIL_SIZE]; + } gnutls_x509_dn; + + +#define OPENSSL_VERSION_NUMBER (0x0090604F) +#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +#define OPENSSL_VERSION_TEXT ("GNUTLS " LIBGNUTLS_VERSION " ") + +#define SSL_ERROR_NONE (0) +#define SSL_ERROR_SSL (1) +#define SSL_ERROR_WANT_READ (2) +#define SSL_ERROR_WANT_WRITE (3) +#define SSL_ERROR_SYSCALL (5) +#define SSL_ERROR_ZERO_RETURN (6) + +#define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM) + +#define SSL_VERIFY_NONE (0) + +#define SSL_ST_OK (1) + +#define X509_V_ERR_CERT_NOT_YET_VALID (1) +#define X509_V_ERR_CERT_HAS_EXPIRED (2) +#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3) + +#define SSL_OP_ALL (0x000FFFFF) +#define SSL_OP_NO_TLSv1 (0x0400000) + +#define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1) +#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2) +#define SSL_MODE_AUTO_RETRY (0x4) + + typedef gnutls_x509_dn X509_NAME; + typedef gnutls_datum_t X509; + + typedef struct _SSL SSL; + + typedef struct + { + int protocol_priority[GNUTLS_MAX_ALGORITHM_NUM]; + int cipher_priority[GNUTLS_MAX_ALGORITHM_NUM]; + int comp_priority[GNUTLS_MAX_ALGORITHM_NUM]; + int kx_priority[GNUTLS_MAX_ALGORITHM_NUM]; + int mac_priority[GNUTLS_MAX_ALGORITHM_NUM]; + gnutls_connection_end_t connend; + } SSL_METHOD; + + typedef struct + { + gnutls_protocol_t version; + gnutls_cipher_algorithm_t cipher; + gnutls_kx_algorithm_t kx; + gnutls_mac_algorithm_t mac; + gnutls_compression_method_t compression; + gnutls_certificate_type_t cert; + } SSL_CIPHER; + + typedef struct _BIO + { + gnutls_transport_ptr_t fd; + } BIO; + + typedef struct + { + SSL *ssl; + int error; + const gnutls_datum_t *cert_list; +#define current_cert cert_list + } X509_STORE_CTX; + +#define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert) + + typedef struct _SSL_CTX + { + SSL_METHOD *method; + char *certfile; + int certfile_type; + char *keyfile; + int keyfile_type; + unsigned long options; + + int (*verify_callback) (int, X509_STORE_CTX *); + int verify_mode; + + } SSL_CTX; + + struct _SSL + { + gnutls_session_t gnutls_state; + + gnutls_certificate_client_credentials gnutls_cred; + + SSL_CTX *ctx; + SSL_CIPHER ciphersuite; + + int last_error; + int shutdown; + int state; + unsigned long options; + + int (*verify_callback) (int, X509_STORE_CTX *); + int verify_mode; + + gnutls_transport_ptr_t rfd; + gnutls_transport_ptr_t wfd; + }; + +#define rbio gnutls_state + + typedef struct + { + void *handle; + } MD_CTX; + + struct rsa_st; + typedef struct rsa_st RSA; + +#define MD5_CTX MD_CTX +#define RIPEMD160_CTX MD_CTX + +#define OpenSSL_add_ssl_algorithms() SSL_library_init() +#define SSLeay_add_ssl_algorithms() SSL_library_init() +#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() + +#define SSL_get_cipher_name(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl)) +#define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl) +#define SSL_get_cipher_bits(ssl,bp) SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl),(bp)) +#define SSL_get_cipher_version(ssl) SSL_CIPHER_get_version(SSL_get_current_cipher(ssl)) + + +/* Library initialisation functions */ + + int SSL_library_init (void); + void OpenSSL_add_all_algorithms (void); + + +/* SSL_CTX structure handling */ + + SSL_CTX *SSL_CTX_new (SSL_METHOD * method); + void SSL_CTX_free (SSL_CTX * ctx); + int SSL_CTX_set_default_verify_paths (SSL_CTX * ctx); + int SSL_CTX_use_certificate_file (SSL_CTX * ctx, const char *certfile, + int type); + int SSL_CTX_use_PrivateKey_file (SSL_CTX * ctx, const char *keyfile, + int type); + void SSL_CTX_set_verify (SSL_CTX * ctx, int verify_mode, + int (*verify_callback) (int, X509_STORE_CTX *)); + unsigned long SSL_CTX_set_options (SSL_CTX * ctx, unsigned long options); + long SSL_CTX_set_mode (SSL_CTX * ctx, long mode); + int SSL_CTX_set_cipher_list (SSL_CTX * ctx, const char *list); + + +/* SSL_CTX statistics */ + + long SSL_CTX_sess_number (SSL_CTX * ctx); + long SSL_CTX_sess_connect (SSL_CTX * ctx); + long SSL_CTX_sess_connect_good (SSL_CTX * ctx); + long SSL_CTX_sess_connect_renegotiate (SSL_CTX * ctx); + long SSL_CTX_sess_accept (SSL_CTX * ctx); + long SSL_CTX_sess_accept_good (SSL_CTX * ctx); + long SSL_CTX_sess_accept_renegotiate (SSL_CTX * ctx); + long SSL_CTX_sess_hits (SSL_CTX * ctx); + long SSL_CTX_sess_misses (SSL_CTX * ctx); + long SSL_CTX_sess_timeouts (SSL_CTX * ctx); + + +/* SSL structure handling */ + + SSL *SSL_new (SSL_CTX * ctx); + void SSL_free (SSL * ssl); + void SSL_load_error_strings (void); + int SSL_get_error (SSL * ssl, int ret); + int SSL_set_fd (SSL * ssl, int fd); + int SSL_set_rfd (SSL * ssl, int fd); + int SSL_set_wfd (SSL * ssl, int fd); + void SSL_set_bio (SSL * ssl, BIO * rbio, BIO * wbio); + void SSL_set_connect_state (SSL * ssl); + int SSL_pending (SSL * ssl); + void SSL_set_verify (SSL * ssl, int verify_mode, + int (*verify_callback) (int, X509_STORE_CTX *)); + const X509 *SSL_get_peer_certificate (SSL * ssl); + +/* SSL connection open/close/read/write functions */ + + int SSL_connect (SSL * ssl); + int SSL_accept (SSL * ssl); + int SSL_shutdown (SSL * ssl); + int SSL_read (SSL * ssl, void *buf, int len); + int SSL_write (SSL * ssl, const void *buf, int len); + + int SSL_want (SSL * ssl); + +#define SSL_NOTHING (1) +#define SSL_WRITING (2) +#define SSL_READING (3) +#define SSL_X509_LOOKUP (4) + +#define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +#define SSL_want_read(s) (SSL_want(s) == SSL_READING) +#define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +#define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) + + +/* SSL_METHOD functions */ + + SSL_METHOD *SSLv23_client_method (void); + SSL_METHOD *SSLv23_server_method (void); + SSL_METHOD *SSLv3_client_method (void); + SSL_METHOD *SSLv3_server_method (void); + SSL_METHOD *TLSv1_client_method (void); + SSL_METHOD *TLSv1_server_method (void); + + +/* SSL_CIPHER functions */ + + SSL_CIPHER *SSL_get_current_cipher (SSL * ssl); + const char *SSL_CIPHER_get_name (SSL_CIPHER * cipher); + int SSL_CIPHER_get_bits (SSL_CIPHER * cipher, int *bits); + const char *SSL_CIPHER_get_version (SSL_CIPHER * cipher); + char *SSL_CIPHER_description (SSL_CIPHER * cipher, char *buf, int size); + + +/* X509 functions */ + + X509_NAME *X509_get_subject_name (const X509 * cert); + X509_NAME *X509_get_issuer_name (const X509 * cert); + char *X509_NAME_oneline (gnutls_x509_dn * name, char *buf, int len); + void X509_free (const X509 * cert); + + +/* BIO functions */ + + void BIO_get_fd (gnutls_session_t gnutls_state, int *fd); + BIO *BIO_new_socket (int sock, int close_flag); + +/* error handling */ + + unsigned long ERR_get_error (void); + const char *ERR_error_string (unsigned long e, char *buf); + + +/* RAND functions */ + + int RAND_status (void); + void RAND_seed (const void *buf, int num); + int RAND_bytes (unsigned char *buf, int num); + int RAND_pseudo_bytes (unsigned char *buf, int num); + const char *RAND_file_name (char *buf, size_t len); + int RAND_load_file (const char *name, long maxbytes); + int RAND_write_file (const char *name); + + int RAND_egd_bytes (const char *path, int bytes); +#define RAND_egd(p) RAND_egd_bytes((p), 255) + +/* message digest functions */ + +#define MD5_DIGEST_LENGTH 16 + + void MD5_Init (MD5_CTX * ctx); + void MD5_Update (MD5_CTX * ctx, const void *buf, int len); + void MD5_Final (unsigned char *md, MD5_CTX * ctx); + unsigned char *MD5 (const unsigned char *buf, unsigned long len, + unsigned char *md); + + void RIPEMD160_Init (RIPEMD160_CTX * ctx); + void RIPEMD160_Update (RIPEMD160_CTX * ctx, const void *buf, int len); + void RIPEMD160_Final (unsigned char *md, RIPEMD160_CTX * ctx); + unsigned char *RIPEMD160 (const unsigned char *buf, unsigned long len, + unsigned char *md); + +#ifdef __cplusplus +} +#endif +#endif diff -Nru gnutls26-2.8.6/includes/gnutls/pkcs12.h gnutls26-2.4.1/includes/gnutls/pkcs12.h --- gnutls26-2.8.6/includes/gnutls/pkcs12.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/pkcs12.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + */ + +#ifndef GNUTLS_PKCS12_H +# define GNUTLS_PKCS12_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +/* PKCS12 structures handling + */ + struct gnutls_pkcs12_int; + typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t; + + struct gnutls_pkcs12_bag_int; + typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t; + + int gnutls_pkcs12_init (gnutls_pkcs12_t * pkcs12); + void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12); + int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format, + unsigned int flags); + int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, + gnutls_x509_crt_fmt_t format, + void *output_data, + size_t * output_data_size); + + int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, + int indx, gnutls_pkcs12_bag_t bag); + int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag); + + int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, const char *pass); + int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, const char *pass); + + int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, const char *pass); + int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, const char *pass, + unsigned int flags); + + typedef enum gnutls_pkcs12_bag_type_t + { + GNUTLS_BAG_EMPTY = 0, + + GNUTLS_BAG_PKCS8_ENCRYPTED_KEY = 1, + GNUTLS_BAG_PKCS8_KEY, + GNUTLS_BAG_CERTIFICATE, + GNUTLS_BAG_CRL, + GNUTLS_BAG_ENCRYPTED = 10, + GNUTLS_BAG_UNKNOWN = 20 + } gnutls_pkcs12_bag_type_t; + + gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t + bag, int indx); + int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, int indx, + gnutls_datum_t * data); + int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, + gnutls_pkcs12_bag_type_t type, + const gnutls_datum_t * data); + int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, + gnutls_x509_crl_t crl); + int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, + gnutls_x509_crt_t crt); + + int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t * bag); + void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag); + int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag); + + int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, int indx, + gnutls_datum_t * id); + int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, int indx, + const gnutls_datum_t * id); + + int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, int indx, + char **name); + int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, int indx, + const char *name); + +#ifdef __cplusplus +} +#endif +#endif /* GNUTLS_PKCS12_H */ diff -Nru gnutls26-2.8.6/includes/gnutls/x509.h gnutls26-2.4.1/includes/gnutls/x509.h --- gnutls26-2.8.6/includes/gnutls/x509.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/gnutls/x509.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,672 @@ +/* + * Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + */ + +/* This file contains the types and prototypes for the X.509 + * certificate and CRL handling functions. + */ + +#ifndef GNUTLS_X509_H +# define GNUTLS_X509_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +/* Some OIDs usually found in Distinguished names, or + * in Subject Directory Attribute extensions. + */ +#define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6" +#define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10" +#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" +#define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3" +#define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7" +#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" + +#define GNUTLS_OID_X520_INITIALS "2.5.4.43" +#define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44" +#define GNUTLS_OID_X520_SURNAME "2.5.4.4" +#define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42" +#define GNUTLS_OID_X520_TITLE "2.5.4.12" +#define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46" +#define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65" + +#define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25" +#define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1" + +/* The following should not be included in DN. + */ +#define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" + +#define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1" +#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2" +#define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3" +#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4" +#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5" + +/* Key purpose Object Identifiers. + */ +#define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1" +#define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2" +#define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3" +#define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4" +#define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8" +#define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9" +#define GNUTLS_KP_ANY "2.5.29.37.0" + +/* Certificate handling functions. + */ + typedef enum gnutls_certificate_import_flags + { + /* Fail if the certificates in the buffer are more than the space + * allocated for certificates. The error code will be + * GNUTLS_E_SHORT_MEMORY_BUFFER. + */ + GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED = 1 + } gnutls_certificate_import_flags; + + int gnutls_x509_crt_init (gnutls_x509_crt_t * cert); + void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert); + int gnutls_x509_crt_import (gnutls_x509_crt_t cert, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format); + int gnutls_x509_crt_list_import (gnutls_x509_crt_t * certs, + unsigned int *cert_max, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format, + unsigned int flags); + int gnutls_x509_crt_export (gnutls_x509_crt_t cert, + gnutls_x509_crt_fmt_t format, + void *output_data, size_t * output_data_size); + int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, char *buf, + size_t * sizeof_buf); + int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, int indx, + void *oid, size_t * sizeof_oid); + int gnutls_x509_crt_get_issuer_dn_by_oid (gnutls_x509_crt_t cert, + const char *oid, int indx, + unsigned int raw_flag, + void *buf, size_t * sizeof_buf); + int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, char *buf, + size_t * sizeof_buf); + int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, int indx, + void *oid, size_t * sizeof_oid); + int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, + const char *oid, int indx, + unsigned int raw_flag, void *buf, + size_t * sizeof_buf); + int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, + const char *hostname); + + int gnutls_x509_crt_get_signature_algorithm (gnutls_x509_crt_t cert); + int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, + char *sig, size_t *sizeof_sig); + int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert); + int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, + unsigned int flags, + unsigned char *output_data, + size_t * output_data_size); + + int gnutls_x509_crt_set_authority_key_id (gnutls_x509_crt_t cert, + const void *id, size_t id_size); + int gnutls_x509_crt_get_authority_key_id (gnutls_x509_crt_t cert, + void *ret, size_t * ret_size, + unsigned int *critical); + + int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, + void *ret, size_t * ret_size, + unsigned int *critical); + +#define GNUTLS_CRL_REASON_UNUSED 128 +#define GNUTLS_CRL_REASON_KEY_COMPROMISE 64 +#define GNUTLS_CRL_REASON_CA_COMPROMISE 32 +#define GNUTLS_CRL_REASON_AFFILIATION_CHANGED 16 +#define GNUTLS_CRL_REASON_SUPERSEEDED 8 +#define GNUTLS_CRL_REASON_CESSATION_OF_OPERATION 4 +#define GNUTLS_CRL_REASON_CERTIFICATE_HOLD 2 +#define GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN 1 +#define GNUTLS_CRL_REASON_AA_COMPROMISE 32768 + + int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, + unsigned int seq, void *ret, + size_t * ret_size, + unsigned int *reason_flags, + unsigned int *critical); + int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, + gnutls_x509_subject_alt_name_t + type, const void *data_string, + unsigned int reason_flags); + int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, + gnutls_x509_crt_t src); + + time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert); + time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert); + int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, void *result, + size_t * result_size); + + int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, + unsigned int *bits); + int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, + gnutls_datum_t * m, gnutls_datum_t * e); + int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, + gnutls_datum_t * p, + gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y); + + int gnutls_x509_crt_get_subject_alt_name (gnutls_x509_crt_t cert, + unsigned int seq, void *ret, + size_t * ret_size, + unsigned int *critical); + int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t cert, + unsigned int seq, void *ret, size_t * ret_size, + unsigned int* ret_type, unsigned int *critical); + + int gnutls_x509_crt_get_subject_alt_othername_oid (gnutls_x509_crt_t cert, + unsigned int seq, + void *ret, + size_t * ret_size); + + int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, + unsigned int *critical); + int gnutls_x509_crt_get_basic_constraints (gnutls_x509_crt_t cert, + unsigned int *critical, + int *ca, + int *pathlen); + +/* The key_usage flags are defined in gnutls.h. They are the + * GNUTLS_KEY_* definitions. + */ + int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, + unsigned int *key_usage, + unsigned int *critical); + int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, + unsigned int usage); + + int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, + unsigned int *critical, + int *pathlen, + char **policyLanguage, + char **policy, + size_t *sizeof_policy); + + int gnutls_x509_dn_oid_known (const char *oid); + + /* Read extensions by OID. */ + int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, int indx, + void *oid, size_t * sizeof_oid); + int gnutls_x509_crt_get_extension_by_oid (gnutls_x509_crt_t cert, + const char *oid, int indx, + void *buf, + size_t * sizeof_buf, + unsigned int *critical); + + /* Read extensions by sequence number. */ + int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, int indx, + void *oid, size_t * sizeof_oid, + int *critical); + int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, int indx, + void *data, size_t * sizeof_data); + + int gnutls_x509_crt_set_extension_by_oid (gnutls_x509_crt_t crt, + const char *oid, + const void *buf, + size_t sizeof_buf, + unsigned int critical); + +/* X.509 Certificate writing. + */ + int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, + const char *oid, + unsigned int raw_flag, + const void *name, + unsigned int sizeof_name); + int gnutls_x509_crt_set_issuer_dn_by_oid (gnutls_x509_crt_t crt, + const char *oid, + unsigned int raw_flag, + const void *name, + unsigned int sizeof_name); + int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, + unsigned int version); + int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, + gnutls_x509_privkey_t key); + int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, unsigned int ca); + int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t crt, + unsigned int ca, + int pathLenConstraint); + int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t crt, + gnutls_x509_subject_alt_name_t + type, + const char *data_string); + int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, + gnutls_x509_crt_t issuer, + gnutls_x509_privkey_t issuer_key); + int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, + gnutls_x509_crt_t issuer, + gnutls_x509_privkey_t issuer_key, + gnutls_digest_algorithm_t, unsigned int flags); + int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, + time_t act_time); + int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, + time_t exp_time); + int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, + const void *serial, size_t serial_size); + + int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, + const void *id, size_t id_size); + + int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, + gnutls_x509_crt_t eecrt, + unsigned int raw_flag, + const void *name, + unsigned int sizeof_name); + int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, + int pathLenConstraint, + const char *policyLanguage, + const char *policy, + size_t sizeof_policy); + + int gnutls_x509_crt_print (gnutls_x509_crt_t cert, + gnutls_certificate_print_formats_t format, + gnutls_datum_t *out); + int gnutls_x509_crl_print (gnutls_x509_crl_t crl, + gnutls_certificate_print_formats_t format, + gnutls_datum_t *out); + + /* Access to internal Certificate fields. + */ + int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, + gnutls_datum_t * start); + int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, + gnutls_datum_t * start); + +/* RDN handling. + */ + int gnutls_x509_rdn_get (const gnutls_datum_t * idn, + char *buf, size_t * sizeof_buf); + int gnutls_x509_rdn_get_oid (const gnutls_datum_t * idn, + int indx, void *buf, size_t * sizeof_buf); + + int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t * idn, + const char *oid, int indx, + unsigned int raw_flag, void *buf, + size_t * sizeof_buf); + + typedef void *gnutls_x509_dn_t; + + typedef struct gnutls_x509_ava_st { + gnutls_datum_t oid; + gnutls_datum_t value; + unsigned long value_tag; + } gnutls_x509_ava_st; + + int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, + gnutls_x509_dn_t *dn); + int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, + gnutls_x509_dn_t *dn); + int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, int irdn, + int iava, gnutls_x509_ava_st *avast); + + int gnutls_x509_dn_init (gnutls_x509_dn_t * dn); + + int gnutls_x509_dn_import (gnutls_x509_dn_t odn, + const gnutls_datum_t * data); + + int gnutls_x509_dn_export (gnutls_x509_dn_t dn, + gnutls_x509_crt_fmt_t format, void *output_data, + size_t * output_data_size); + + void gnutls_x509_dn_deinit (gnutls_x509_dn_t idn); + + +/* CRL handling functions. + */ + int gnutls_x509_crl_init (gnutls_x509_crl_t * crl); + void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl); + + int gnutls_x509_crl_import (gnutls_x509_crl_t crl, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format); + int gnutls_x509_crl_export (gnutls_x509_crl_t crl, + gnutls_x509_crt_fmt_t format, + void *output_data, size_t * output_data_size); + + int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, + char *buf, size_t * sizeof_buf); + int gnutls_x509_crl_get_issuer_dn_by_oid (gnutls_x509_crl_t crl, + const char *oid, int indx, + unsigned int raw_flag, + void *buf, size_t * sizeof_buf); + int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, int indx, + void *oid, size_t * sizeof_oid); + + int gnutls_x509_crl_get_signature_algorithm (gnutls_x509_crl_t crl); + int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, + char *sig, size_t *sizeof_sig); + int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl); + + time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl); + time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl); + + int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl); + int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, int indx, + unsigned char *serial, + size_t * serial_size, time_t * t); +#define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count +#define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial + + int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t crl, + gnutls_x509_crt_t issuer); + +/* CRL writing. + */ + int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, + unsigned int version); + int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, + gnutls_x509_crt_t issuer, + gnutls_x509_privkey_t issuer_key); + int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, + gnutls_x509_crt_t issuer, + gnutls_x509_privkey_t issuer_key, + gnutls_digest_algorithm_t, unsigned int flags); + int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, + time_t act_time); + int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, + time_t exp_time); + int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, + const void *serial, + size_t serial_size, + time_t revocation_time); + int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, + gnutls_x509_crt_t crt, time_t revocation_time); + + +/* PKCS7 structures handling + */ + struct gnutls_pkcs7_int; + typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t; + + int gnutls_pkcs7_init (gnutls_pkcs7_t * pkcs7); + void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7); + int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format); + int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, + gnutls_x509_crt_fmt_t format, + void *output_data, size_t * output_data_size); + + int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7); + int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, int indx, + void *certificate, size_t * certificate_size); + + int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, + const gnutls_datum_t * crt); + int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt); + int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, int indx); + + int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, + int indx, void *crl, size_t * crl_size); + int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7); + + int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, + const gnutls_datum_t * crt); + int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl); + int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, int indx); + +/* X.509 Certificate verification functions. + */ + typedef enum gnutls_certificate_verify_flags + { + /* If set a signer does not have to be a certificate authority. This + * flag should normaly be disabled, unless you know what this means. + */ + GNUTLS_VERIFY_DISABLE_CA_SIGN = 1, + + /* Allow only trusted CA certificates that have version 1. This is + * safer than GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT, and should be + * used instead. That way only signers in your trusted list will be + * allowed to have certificates of version 1. + */ + GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT = 2, + + /* If a certificate is not signed by anyone trusted but exists in + * the trusted CA list do not treat it as trusted. + */ + GNUTLS_VERIFY_DO_NOT_ALLOW_SAME = 4, + + /* Allow CA certificates that have version 1 (both root and + * intermediate). This might be dangerous since those haven't the + * basicConstraints extension. Must be used in combination with + * GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT. + */ + GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT = 8, + + /* Allow certificates to be signed using the broken MD2 algorithm. + */ + GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2 = 16, + + /* Allow certificates to be signed using the broken MD5 algorithm. + */ + GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5 = 32 + } gnutls_certificate_verify_flags; + + int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, + gnutls_x509_crt_t issuer); + + int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t * cert_list, + int cert_list_length, + const gnutls_x509_crt_t * CA_list, + int CA_list_length, + const gnutls_x509_crl_t * CRL_list, + int CRL_list_length, + unsigned int flags, unsigned int *verify); + + int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, + const gnutls_x509_crt_t * CA_list, + int CA_list_length, unsigned int flags, + unsigned int *verify); + int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, + const gnutls_x509_crt_t * CA_list, + int CA_list_length, unsigned int flags, + unsigned int *verify); + + int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, + const gnutls_x509_crl_t * + crl_list, int crl_list_length); + + int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, + gnutls_digest_algorithm_t algo, + void *buf, size_t * sizeof_buf); + + int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, + int indx, void *oid, + size_t * sizeof_oid, + unsigned int *critical); + int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, + const void *oid, + unsigned int critical); + +/* Private key handling. + */ + +/* Flags for the gnutls_x509_privkey_export_pkcs8() function. + */ + typedef enum gnutls_pkcs_encrypt_flags_t + { + GNUTLS_PKCS_PLAIN = 1, /* if set the private key will not + * be encrypted. + */ + GNUTLS_PKCS_USE_PKCS12_3DES = 2, + GNUTLS_PKCS_USE_PKCS12_ARCFOUR = 4, + GNUTLS_PKCS_USE_PKCS12_RC2_40 = 8, + GNUTLS_PKCS_USE_PBES2_3DES = 16 + } gnutls_pkcs_encrypt_flags_t; + +#define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN +#define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_USE_PKCS12_3DES +#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_USE_PKCS12_ARCFOUR +#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_USE_PKCS12_RC2_40 + + int gnutls_x509_privkey_init (gnutls_x509_privkey_t * key); + void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key); + int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, + gnutls_x509_privkey_t src); + int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format); + int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format, + const char *pass, unsigned int flags); + int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, + const gnutls_datum_t * m, + const gnutls_datum_t * e, + const gnutls_datum_t * d, + const gnutls_datum_t * p, + const gnutls_datum_t * q, + const gnutls_datum_t * u); + int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key); + + int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, + gnutls_datum_t * p, + gnutls_datum_t * q, + gnutls_datum_t * g, + gnutls_datum_t * y, + gnutls_datum_t * x); + int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, + const gnutls_datum_t * p, + const gnutls_datum_t * q, + const gnutls_datum_t * g, + const gnutls_datum_t * y, + const gnutls_datum_t * x); + + int gnutls_x509_privkey_get_pk_algorithm (gnutls_x509_privkey_t key); + int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, + unsigned int flags, + unsigned char *output_data, + size_t * output_data_size); + + int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, + gnutls_pk_algorithm_t algo, + unsigned int bits, unsigned int flags); + + int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, + gnutls_x509_crt_fmt_t format, + void *output_data, + size_t * output_data_size); + int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, + gnutls_x509_crt_fmt_t format, + const char *password, + unsigned int flags, + void *output_data, + size_t * output_data_size); + int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, + gnutls_datum_t * m, + gnutls_datum_t * e, + gnutls_datum_t * d, + gnutls_datum_t * p, + gnutls_datum_t * q, + gnutls_datum_t * u); + +/* Signing stuff. + */ + int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, + gnutls_digest_algorithm_t digest, + unsigned int flags, + const gnutls_datum_t * data, + void *signature, + size_t * signature_size); + int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, + unsigned int flags, + const gnutls_datum_t * data, + const gnutls_datum_t * signature); + int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, + unsigned int flags, + const gnutls_datum_t * data, + const gnutls_datum_t * signature); + + int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, + const gnutls_datum_t * hash, + gnutls_datum_t * signature); + + +/* Certificate request stuff. + */ + struct gnutls_x509_crq_int; + typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t; + + int gnutls_x509_crq_init (gnutls_x509_crq_t * crq); + void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq); + int gnutls_x509_crq_import (gnutls_x509_crq_t crq, + const gnutls_datum_t * data, + gnutls_x509_crt_fmt_t format); + int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, + unsigned int *bits); + int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, char *buf, + size_t * sizeof_buf); + int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, int indx, + void *oid, size_t * sizeof_oid); + int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, + const char *oid, int indx, + unsigned int raw_flag, void *buf, + size_t * sizeof_buf); + int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, + const char *oid, + unsigned int raw_flag, + const void *name, + unsigned int sizeof_name); + int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, + unsigned int version); + int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, + gnutls_x509_privkey_t key); + int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, + gnutls_x509_privkey_t key, + gnutls_digest_algorithm_t, unsigned int flags); + int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key); + + int gnutls_x509_crq_set_challenge_password (gnutls_x509_crq_t crq, + const char *pass); + int gnutls_x509_crq_get_challenge_password (gnutls_x509_crq_t crq, + char *pass, + size_t * sizeof_pass); + + int gnutls_x509_crq_set_attribute_by_oid (gnutls_x509_crq_t crq, + const char *oid, void *buf, + size_t sizeof_buf); + int gnutls_x509_crq_get_attribute_by_oid (gnutls_x509_crq_t crq, + const char *oid, int indx, + void *buf, size_t * sizeof_buf); + + int gnutls_x509_crq_export (gnutls_x509_crq_t crq, + gnutls_x509_crt_fmt_t format, + void *output_data, size_t * output_data_size); + + int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq); + + + +#ifdef __cplusplus +} +#endif +#endif /* GNUTLS_X509_H */ diff -Nru gnutls26-2.8.6/includes/Makefile.am gnutls26-2.4.1/includes/Makefile.am --- gnutls26-2.8.6/includes/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,33 @@ +## Process this file with automake to produce Makefile.in +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation +# +# Author: Nikos Mavroyanopoulos +# +# This file is part of GNUTLS. +# +# 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +nobase_include_HEADERS = gnutls/extra.h gnutls/x509.h gnutls/pkcs12.h \ + gnutls/compat.h gnutls/openpgp.h gnutls/crypto.h + +if ENABLE_OPENSSL +nobase_include_HEADERS += gnutls/openssl.h +endif + +if ENABLE_CXX +nobase_include_HEADERS += gnutls/gnutlsxx.h +endif + +nobase_nodist_include_HEADERS = gnutls/gnutls.h diff -Nru gnutls26-2.8.6/includes/Makefile.in gnutls26-2.4.1/includes/Makefile.in --- gnutls26-2.8.6/includes/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/includes/Makefile.in 2008-06-30 22:07:51.000000000 +0100 @@ -0,0 +1,820 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ + +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation +# +# Author: Nikos Mavroyanopoulos +# +# This file is part of GNUTLS. +# +# 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +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 = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_OPENSSL_TRUE@am__append_1 = gnutls/openssl.h +@ENABLE_CXX_TRUE@am__append_2 = gnutls/gnutlsxx.h +subdir = includes +DIST_COMMON = $(am__nobase_include_HEADERS_DIST) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/extensions.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ + $(top_srcdir)/gl/m4/gnulib-common.m4 \ + $(top_srcdir)/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/gl/m4/include_next.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__nobase_include_HEADERS_DIST = gnutls/extra.h gnutls/x509.h \ + gnutls/pkcs12.h gnutls/compat.h gnutls/openpgp.h \ + gnutls/crypto.h gnutls/openssl.h gnutls/gnutlsxx.h +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" +nobase_includeHEADERS_INSTALL = $(install_sh_DATA) +nobase_nodist_includeHEADERS_INSTALL = $(install_sh_DATA) +HEADERS = $(nobase_include_HEADERS) $(nobase_nodist_include_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ +AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EOVERFLOW = @EOVERFLOW@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FLOAT_H = @FLOAT_H@ +GAA = @GAA@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ +GNULIB_CHOWN = @GNULIB_CHOWN@ +GNULIB_DUP2 = @GNULIB_DUP2@ +GNULIB_ENVIRON = @GNULIB_ENVIRON@ +GNULIB_FCHDIR = @GNULIB_FCHDIR@ +GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FOPEN = @GNULIB_FOPEN@ +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ +GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSEEK = @GNULIB_FSEEK@ +GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FTELL = @GNULIB_FTELL@ +GNULIB_FTELLO = @GNULIB_FTELLO@ +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ +GNULIB_GETCWD = @GNULIB_GETCWD@ +GNULIB_GETDELIM = @GNULIB_GETDELIM@ +GNULIB_GETLINE = @GNULIB_GETLINE@ +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ +GNULIB_LCHOWN = @GNULIB_LCHOWN@ +GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PUTENV = @GNULIB_PUTENV@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READLINK = @GNULIB_READLINK@ +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ +GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SLEEP = @GNULIB_SLEEP@ +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_UNSETENV = @GNULIB_UNSETENV@ +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ +GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DUP2 = @HAVE_DUP2@ +HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FTELLO = @HAVE_FTELLO@ +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ +HAVE_LIBZ = @HAVE_LIBZ@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_OS_H = @HAVE_OS_H@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READLINK = @HAVE_READLINK@ +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRNDUP = @HAVE_STRNDUP@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNSETENV = @HAVE_UNSETENV@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_VASPRINTF = @HAVE_VASPRINTF@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ +HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ +LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ +LIBS = @LIBS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ +LN_S = @LN_S@ +LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBREADLINE = @LTLIBREADLINE@ +LTLIBZ = @LTLIBZ@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_REVISION = @LT_REVISION@ +LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDIO_H = @NEXT_STDIO_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ +NEXT_TIME_H = @NEXT_TIME_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ +NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +REPLACE_CHOWN = @REPLACE_CHOWN@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ +REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FPRINTF = @REPLACE_FPRINTF@ +REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FSEEK = @REPLACE_FSEEK@ +REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FTELL = @REPLACE_FTELL@ +REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ +REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ +REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ +REPLACE_VPRINTF = @REPLACE_VPRINTF@ +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +SYS_SOCKET_H = @SYS_SOCKET_H@ +SYS_STAT_H = @SYS_STAT_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +VOID_UNSETENV = @VOID_UNSETENV@ +WCHAR_H = @WCHAR_H@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +nobase_include_HEADERS = gnutls/extra.h gnutls/x509.h gnutls/pkcs12.h \ + gnutls/compat.h gnutls/openpgp.h gnutls/crypto.h \ + $(am__append_1) $(am__append_2) +nobase_nodist_include_HEADERS = gnutls/gnutls.h +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu includes/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu includes/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-nobase_includeHEADERS: $(nobase_include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__vpath_adj) \ + echo " $(nobase_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(nobase_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-nobase_includeHEADERS: + @$(NORMAL_UNINSTALL) + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + $(am__vpath_adj) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done +install-nobase_nodist_includeHEADERS: $(nobase_nodist_include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" + @$(am__vpath_adj_setup) \ + list='$(nobase_nodist_include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__vpath_adj) \ + echo " $(nobase_nodist_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(nobase_nodist_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-nobase_nodist_includeHEADERS: + @$(NORMAL_UNINSTALL) + @$(am__vpath_adj_setup) \ + list='$(nobase_nodist_include_HEADERS)'; for p in $$list; do \ + $(am__vpath_adj) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done + +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; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +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; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + 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; nonempty = 1; } \ + END { if (nonempty) { 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 + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + 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 $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || 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-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-nobase_includeHEADERS \ + install-nobase_nodist_includeHEADERS + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-nobase_includeHEADERS \ + uninstall-nobase_nodist_includeHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool ctags distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-nobase_includeHEADERS \ + install-nobase_nodist_includeHEADERS install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-nobase_includeHEADERS \ + uninstall-nobase_nodist_includeHEADERS + +# 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: diff -Nru gnutls26-2.8.6/INSTALL gnutls26-2.4.1/INSTALL --- gnutls26-2.8.6/INSTALL 2010-03-15 10:29:23.000000000 +0000 +++ gnutls26-2.4.1/INSTALL 2008-06-30 22:07:55.000000000 +0100 @@ -2,24 +2,18 @@ ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +2006, 2007 Free Software Foundation, Inc. - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. Basic Installation ================== - Briefly, the shell commands `./configure; make; make install' should +Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. +instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -48,7 +42,7 @@ you want to change it or regenerate `configure' using a newer version of `autoconf'. - The simplest way to compile this package is: +The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. @@ -59,22 +53,12 @@ 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. + the package. 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. + documentation. - 6. You can remove the program binaries and object files from the + 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is @@ -83,22 +67,15 @@ all sorts of other programs in order to regenerate files that came with the distribution. - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. + 6. Often, you can also type `make uninstall' to remove the installed + files again. Compilers and Options ===================== - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here @@ -111,41 +88,25 @@ Compiling For Multiple Architectures ==================================== - You can compile the package for more than one kind of computer at the +You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. +source code in the directory that `configure' is in and in `..'. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - Installation Names ================== - By default, `make install' installs the package's commands under +By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. +`configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -156,47 +117,16 @@ In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= +you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - Some packages pay attention to `--enable-FEATURE' options to +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The @@ -208,53 +138,14 @@ you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - Specifying the System Type ========================== - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: @@ -262,8 +153,7 @@ where SYSTEM can have one of these forms: - OS - KERNEL-OS + OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't @@ -281,9 +171,9 @@ Sharing Defaults ================ - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. @@ -292,7 +182,7 @@ Defining Variables ================== - Variables not defined in a site shell script can be set in the +Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set @@ -311,19 +201,11 @@ `configure' Invocation ====================== - `configure' recognizes the following options to control how it -operates. +`configure' recognizes the following options to control how it operates. `--help' `-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. + Print a summary of the options to `configure', and exit. `--version' `-V' @@ -350,16 +232,6 @@ Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. diff -Nru gnutls26-2.8.6/lgl/alloca.in.h gnutls26-2.4.1/lgl/alloca.in.h --- gnutls26-2.8.6/lgl/alloca.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/alloca.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,56 @@ +/* Memory allocation on the stack. + + Copyright (C) 1995, 1999, 2001-2004, 2006-2008 Free Software + Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1, 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 Lesser General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ + +/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H + means there is a real alloca function. */ +#ifndef _GL_ALLOCA_H +#define _GL_ALLOCA_H + +/* alloca (N) returns a pointer to N bytes of memory + allocated on the stack, which will last until the function returns. + Use of alloca should be avoided: + - inside arguments of function calls - undefined behaviour, + - in inline functions - the allocation may actually last until the + calling function returns, + - for huge N (say, N >= 65536) - you never know how large (or small) + the stack is, and when the stack cannot fulfill the memory allocation + request, the program just crashes. + */ + +#ifndef alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif defined __DECC && defined __VMS +# define alloca __ALLOCA +# else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +# endif +#endif + +#endif /* _GL_ALLOCA_H */ diff -Nru gnutls26-2.8.6/lgl/arcfour.c gnutls26-2.4.1/lgl/arcfour.c --- gnutls26-2.8.6/lgl/arcfour.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/arcfour.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,78 @@ +/* arcfour.c --- The arcfour stream cipher + * Copyright (C) 2000, 2001, 2002, 2003, 2005, 2006 Free Software + * Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Code from Libgcrypt adapted for gnulib by Simon Josefsson. */ + +/* + * For a description of the algorithm, see: + * Bruce Schneier: Applied Cryptography. John Wiley & Sons, 1996. + * ISBN 0-471-11709-9. Pages 397 ff. + */ + +#include + +#include "arcfour.h" + +void +arcfour_stream (arcfour_context * context, const char *inbuf, char *outbuf, + size_t length) +{ + uint8_t i = context->idx_i; + uint8_t j = context->idx_j; + char *sbox = context->sbox; + + for (; length > 0; length--) + { + char t; + + i++; + j += sbox[i]; + t = sbox[i]; + sbox[i] = sbox[j]; + sbox[j] = t; + *outbuf++ = (*inbuf++ + ^ sbox[(0U + sbox[i] + sbox[j]) % ARCFOUR_SBOX_SIZE]); + } + + context->idx_i = i; + context->idx_j = j; +} + +void +arcfour_setkey (arcfour_context * context, const char *key, size_t keylen) +{ + size_t i, j, k; + char *sbox = context->sbox; + + context->idx_i = context->idx_j = 0; + for (i = 0; i < ARCFOUR_SBOX_SIZE; i++) + sbox[i] = i; + for (i = j = k = 0; i < ARCFOUR_SBOX_SIZE; i++) + { + char t; + j = (j + sbox[i] + key[k]) % ARCFOUR_SBOX_SIZE; + t = sbox[i]; + sbox[i] = sbox[j]; + sbox[j] = t; + if (++k == keylen) + k = 0; + } +} diff -Nru gnutls26-2.8.6/lgl/arcfour.h gnutls26-2.4.1/lgl/arcfour.h --- gnutls26-2.8.6/lgl/arcfour.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/arcfour.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,51 @@ +/* arcfour.h --- The arcfour stream cipher + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 + * Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Code from Libgcrypt adapted for gnulib by Simon Josefsson. */ + +#ifndef ARCFOUR_H +# define ARCFOUR_H + +# include +# include + +#define ARCFOUR_SBOX_SIZE 256 + +typedef struct +{ + char sbox[ARCFOUR_SBOX_SIZE]; + uint8_t idx_i, idx_j; +} arcfour_context; + +/* Apply ARCFOUR stream to INBUF placing the result in OUTBUF, both of + LENGTH size. CONTEXT must be initialized with arcfour_setkey + before this function is called. */ +extern void +arcfour_stream (arcfour_context * context, + const char *inbuf, char *outbuf, size_t length); + +/* Initialize CONTEXT using encryption KEY of KEYLEN bytes. KEY + should be 40 bits (5 bytes) or longer. The KEY cannot be zero + length. */ +extern void +arcfour_setkey (arcfour_context * context, const char *key, size_t keylen); + +#endif /* ARCFOUR_H */ diff -Nru gnutls26-2.8.6/lgl/arctwo.c gnutls26-2.4.1/lgl/arctwo.c --- gnutls26-2.8.6/lgl/arctwo.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/arctwo.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,229 @@ +/* arctwo.c --- The RC2 cipher as described in RFC 2268. + * Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +/* Code from GnuTLS/Libgcrypt adapted for gnulib by Simon Josefsson. */ + +/* This implementation was written by Nikos Mavroyanopoulos for GNUTLS + * as a Libgcrypt module (gnutls/lib/x509/rc2.c) and later adapted for + * direct use by Libgcrypt by Werner Koch. This implementation is + * only useful for pkcs#12 decryption. + * + * The implementation here is based on Peter Gutmann's RRC.2 paper. + */ + +#include + +#include "arctwo.h" + +static const uint8_t arctwo_sbox[] = { + 217, 120, 249, 196, 25, 221, 181, 237, + 40, 233, 253, 121, 74, 160, 216, 157, + 198, 126, 55, 131, 43, 118, 83, 142, + 98, 76, 100, 136, 68, 139, 251, 162, + 23, 154, 89, 245, 135, 179, 79, 19, + 97, 69, 109, 141, 9, 129, 125, 50, + 189, 143, 64, 235, 134, 183, 123, 11, + 240, 149, 33, 34, 92, 107, 78, 130, + 84, 214, 101, 147, 206, 96, 178, 28, + 115, 86, 192, 20, 167, 140, 241, 220, + 18, 117, 202, 31, 59, 190, 228, 209, + 66, 61, 212, 48, 163, 60, 182, 38, + 111, 191, 14, 218, 70, 105, 7, 87, + 39, 242, 29, 155, 188, 148, 67, 3, + 248, 17, 199, 246, 144, 239, 62, 231, + 6, 195, 213, 47, 200, 102, 30, 215, + 8, 232, 234, 222, 128, 82, 238, 247, + 132, 170, 114, 172, 53, 77, 106, 42, + 150, 26, 210, 113, 90, 21, 73, 116, + 75, 159, 208, 94, 4, 24, 164, 236, + 194, 224, 65, 110, 15, 81, 203, 204, + 36, 145, 175, 80, 161, 244, 112, 57, + 153, 124, 58, 133, 35, 184, 180, 122, + 252, 2, 54, 91, 37, 85, 151, 49, + 45, 93, 250, 152, 227, 138, 146, 174, + 5, 223, 41, 16, 103, 108, 186, 201, + 211, 0, 230, 207, 225, 158, 168, 44, + 99, 22, 1, 63, 88, 226, 137, 169, + 13, 56, 52, 27, 171, 51, 255, 176, + 187, 72, 12, 95, 185, 177, 205, 46, + 197, 243, 219, 71, 229, 165, 156, 119, + 10, 166, 32, 104, 254, 127, 193, 173 +}; + +#define rotl16(x,n) (((x) << ((uint16_t)(n))) | ((x) >> (16 - (uint16_t)(n)))) +#define rotr16(x,n) (((x) >> ((uint16_t)(n))) | ((x) << (16 - (uint16_t)(n)))) + +/* C89 compliant way to cast 'char' to 'unsigned char'. */ +static inline unsigned char +to_uchar (char ch) +{ + return ch; +} + +void +arctwo_encrypt (arctwo_context *context, const char *inbuf, + char *outbuf, size_t length) +{ + for (; length >= ARCTWO_BLOCK_SIZE; length -= ARCTWO_BLOCK_SIZE, + inbuf += ARCTWO_BLOCK_SIZE, outbuf += ARCTWO_BLOCK_SIZE) + { + size_t i, j; + uint16_t word0 = 0, word1 = 0, word2 = 0, word3 = 0; + + word0 = (word0 << 8) | to_uchar (inbuf[1]); + word0 = (word0 << 8) | to_uchar (inbuf[0]); + word1 = (word1 << 8) | to_uchar (inbuf[3]); + word1 = (word1 << 8) | to_uchar (inbuf[2]); + word2 = (word2 << 8) | to_uchar (inbuf[5]); + word2 = (word2 << 8) | to_uchar (inbuf[4]); + word3 = (word3 << 8) | to_uchar (inbuf[7]); + word3 = (word3 << 8) | to_uchar (inbuf[6]); + + for (i = 0; i < 16; i++) + { + j = i * 4; + /* For some reason I cannot combine those steps. */ + word0 += (word1 & ~word3) + (word2 & word3) + context->S[j]; + word0 = rotl16 (word0, 1); + + word1 += (word2 & ~word0) + (word3 & word0) + context->S[j + 1]; + word1 = rotl16 (word1, 2); + + word2 += (word3 & ~word1) + (word0 & word1) + context->S[j + 2]; + word2 = rotl16 (word2, 3); + + word3 += (word0 & ~word2) + (word1 & word2) + context->S[j + 3]; + word3 = rotl16 (word3, 5); + + if (i == 4 || i == 10) + { + word0 += context->S[word3 & 63]; + word1 += context->S[word0 & 63]; + word2 += context->S[word1 & 63]; + word3 += context->S[word2 & 63]; + } + } + + outbuf[0] = word0 & 255; + outbuf[1] = word0 >> 8; + outbuf[2] = word1 & 255; + outbuf[3] = word1 >> 8; + outbuf[4] = word2 & 255; + outbuf[5] = word2 >> 8; + outbuf[6] = word3 & 255; + outbuf[7] = word3 >> 8; + } +} + +void +arctwo_decrypt (arctwo_context *context, const char *inbuf, + char *outbuf, size_t length) +{ + for (; length >= ARCTWO_BLOCK_SIZE; length -= ARCTWO_BLOCK_SIZE, + inbuf += ARCTWO_BLOCK_SIZE, outbuf += ARCTWO_BLOCK_SIZE) + { + size_t i, j; + uint16_t word0 = 0, word1 = 0, word2 = 0, word3 = 0; + + word0 = (word0 << 8) | to_uchar (inbuf[1]); + word0 = (word0 << 8) | to_uchar (inbuf[0]); + word1 = (word1 << 8) | to_uchar (inbuf[3]); + word1 = (word1 << 8) | to_uchar (inbuf[2]); + word2 = (word2 << 8) | to_uchar (inbuf[5]); + word2 = (word2 << 8) | to_uchar (inbuf[4]); + word3 = (word3 << 8) | to_uchar (inbuf[7]); + word3 = (word3 << 8) | to_uchar (inbuf[6]); + + for (i = 16; i > 0; i--) + { + j = (i - 1) * 4; + + word3 = rotr16 (word3, 5); + word3 -= (word0 & ~word2) + (word1 & word2) + context->S[j + 3]; + + word2 = rotr16 (word2, 3); + word2 -= (word3 & ~word1) + (word0 & word1) + context->S[j + 2]; + + word1 = rotr16 (word1, 2); + word1 -= (word2 & ~word0) + (word3 & word0) + context->S[j + 1]; + + word0 = rotr16 (word0, 1); + word0 -= (word1 & ~word3) + (word2 & word3) + context->S[j]; + + if (i == 6 || i == 12) + { + word3 = word3 - context->S[word2 & 63]; + word2 = word2 - context->S[word1 & 63]; + word1 = word1 - context->S[word0 & 63]; + word0 = word0 - context->S[word3 & 63]; + } + } + + outbuf[0] = word0 & 255; + outbuf[1] = word0 >> 8; + outbuf[2] = word1 & 255; + outbuf[3] = word1 >> 8; + outbuf[4] = word2 & 255; + outbuf[5] = word2 >> 8; + outbuf[6] = word3 & 255; + outbuf[7] = word3 >> 8; + } +} + +void +arctwo_setkey_ekb (arctwo_context *context, + size_t keylen, const char *key, size_t effective_keylen) +{ + size_t i; + uint8_t *S, x; + + if (keylen < 40 / 8 || effective_keylen > 1024) + return; + + S = (uint8_t *) context->S; + + for (i = 0; i < keylen; i++) + S[i] = (uint8_t) key[i]; + + for (i = keylen; i < 128; i++) + S[i] = arctwo_sbox[(S[i - keylen] + S[i - 1]) & 255]; + + S[0] = arctwo_sbox[S[0]]; + + /* Phase 2 - reduce effective key size to "bits". This was not + * discussed in Gutmann's paper. I've copied that from the public + * domain code posted in sci.crypt. */ + if (effective_keylen) + { + size_t len = (effective_keylen + 7) >> 3; + i = 128 - len; + x = arctwo_sbox[S[i] & (255 >> (7 & -effective_keylen))]; + S[i] = x; + + while (i--) + { + x = arctwo_sbox[x ^ S[i + len]]; + S[i] = x; + } + } + + /* Make the expanded key, endian independent. */ + for (i = 0; i < 64; i++) + context->S[i] = ((uint16_t) S[i * 2] | (((uint16_t) S[i * 2 + 1]) << 8)); +} diff -Nru gnutls26-2.8.6/lgl/arctwo.h gnutls26-2.4.1/lgl/arctwo.h --- gnutls26-2.8.6/lgl/arctwo.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/arctwo.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,63 @@ +/* arctwo.h --- The arctwo block cipher + * Copyright (C) 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Code from Libgcrypt adapted for gnulib by Simon Josefsson. */ + +#ifndef ARCTWO_H +# define ARCTWO_H + +# include +# include + +typedef struct +{ + uint16_t S[64]; +} arctwo_context; + +#define ARCTWO_BLOCK_SIZE 8 + +/* Initialize CONTEXT using KEY of KEYLEN length. If + EFFECTIVE_KEYLEN, truncate the key (using a special algorithm) to + only be of EFFECTIVE_KEYLEN bits. Normally, you use + EFFECTIVE_KEYLEN of 0, but see RFC 2268 for more information. */ +void +arctwo_setkey_ekb (arctwo_context *context, + size_t keylen, const char *key, size_t effective_keylen); + +#define arctwo_setkey(context,keylen,key) \ + arctwo_setkey_ekb (context, keylen, key, 8 * (keylen)) + +/* Encrypt INBUF of size LENGTH into OUTBUF. LENGTH must be a + multiple of ARCTWO_BLOCK_SIZE. CONTEXT hold the encryption key, + and must have been initialized with arctwo_setkey or + arctwo_setkey_ekb. */ +extern void +arctwo_encrypt (arctwo_context *context, const char *inbuf, + char *outbuf, size_t length); + +/* Decrypt INBUF of size LENGTH into OUTBUF. LENGTH must be a + multiple of ARCTWO_BLOCK_SIZE. CONTEXT hold the decryption key, + and must have been initialized with arctwo_setkey or + arctwo_setkey_ekb. */ +extern void +arctwo_decrypt (arctwo_context *context, const char *inbuf, + char *outbuf, size_t length); + +#endif /* ARCTWO_H */ diff -Nru gnutls26-2.8.6/lgl/asnprintf.c gnutls26-2.4.1/lgl/asnprintf.c --- gnutls26-2.8.6/lgl/asnprintf.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/asnprintf.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,35 @@ +/* Formatted output to strings. + Copyright (C) 1999, 2002, 2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include "vasnprintf.h" + +#include + +char * +asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + char *result; + + va_start (args, format); + result = vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return result; +} diff -Nru gnutls26-2.8.6/lgl/asprintf.c gnutls26-2.4.1/lgl/asprintf.c --- gnutls26-2.8.6/lgl/asprintf.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/asprintf.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,39 @@ +/* Formatted output to strings. + Copyright (C) 1999, 2002, 2006-2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#ifdef IN_LIBASPRINTF +# include "vasprintf.h" +#else +# include +#endif + +#include + +int +asprintf (char **resultp, const char *format, ...) +{ + va_list args; + int result; + + va_start (args, format); + result = vasprintf (resultp, format, args); + va_end (args); + return result; +} diff -Nru gnutls26-2.8.6/lgl/c-ctype.c gnutls26-2.4.1/lgl/c-ctype.c --- gnutls26-2.8.6/lgl/c-ctype.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/c-ctype.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,396 @@ +/* Character handling in C locale. + + Copyright 2000-2003, 2006 Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#define NO_C_CTYPE_MACROS +#include "c-ctype.h" + +/* The function isascii is not locale dependent. Its use in EBCDIC is + questionable. */ +bool +c_isascii (int c) +{ + return (c >= 0x00 && c <= 0x7f); +} + +bool +c_isalnum (int c) +{ +#if C_CTYPE_CONSECUTIVE_DIGITS \ + && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII + return ((c >= '0' && c <= '9') + || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')); +#else + return ((c >= '0' && c <= '9') + || (c >= 'A' && c <= 'Z') + || (c >= 'a' && c <= 'z')); +#endif +#else + switch (c) + { + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isalpha (int c) +{ +#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII + return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'); +#else + return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); +#endif +#else + switch (c) + { + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isblank (int c) +{ + return (c == ' ' || c == '\t'); +} + +bool +c_iscntrl (int c) +{ +#if C_CTYPE_ASCII + return ((c & ~0x1f) == 0 || c == 0x7f); +#else + switch (c) + { + case ' ': case '!': case '"': case '#': case '$': case '%': + case '&': case '\'': case '(': case ')': case '*': case '+': + case ',': case '-': case '.': case '/': + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case ':': case ';': case '<': case '=': case '>': case '?': + case '@': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case '[': case '\\': case ']': case '^': case '_': case '`': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + case '{': case '|': case '}': case '~': + return 0; + default: + return 1; + } +#endif +} + +bool +c_isdigit (int c) +{ +#if C_CTYPE_CONSECUTIVE_DIGITS + return (c >= '0' && c <= '9'); +#else + switch (c) + { + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + return 1; + default: + return 0; + } +#endif +} + +bool +c_islower (int c) +{ +#if C_CTYPE_CONSECUTIVE_LOWERCASE + return (c >= 'a' && c <= 'z'); +#else + switch (c) + { + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isgraph (int c) +{ +#if C_CTYPE_ASCII + return (c >= '!' && c <= '~'); +#else + switch (c) + { + case '!': case '"': case '#': case '$': case '%': case '&': + case '\'': case '(': case ')': case '*': case '+': case ',': + case '-': case '.': case '/': + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case ':': case ';': case '<': case '=': case '>': case '?': + case '@': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case '[': case '\\': case ']': case '^': case '_': case '`': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + case '{': case '|': case '}': case '~': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isprint (int c) +{ +#if C_CTYPE_ASCII + return (c >= ' ' && c <= '~'); +#else + switch (c) + { + case ' ': case '!': case '"': case '#': case '$': case '%': + case '&': case '\'': case '(': case ')': case '*': case '+': + case ',': case '-': case '.': case '/': + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case ':': case ';': case '<': case '=': case '>': case '?': + case '@': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case '[': case '\\': case ']': case '^': case '_': case '`': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + case '{': case '|': case '}': case '~': + return 1; + default: + return 0; + } +#endif +} + +bool +c_ispunct (int c) +{ +#if C_CTYPE_ASCII + return ((c >= '!' && c <= '~') + && !((c >= '0' && c <= '9') + || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'))); +#else + switch (c) + { + case '!': case '"': case '#': case '$': case '%': case '&': + case '\'': case '(': case ')': case '*': case '+': case ',': + case '-': case '.': case '/': + case ':': case ';': case '<': case '=': case '>': case '?': + case '@': + case '[': case '\\': case ']': case '^': case '_': case '`': + case '{': case '|': case '}': case '~': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isspace (int c) +{ + return (c == ' ' || c == '\t' + || c == '\n' || c == '\v' || c == '\f' || c == '\r'); +} + +bool +c_isupper (int c) +{ +#if C_CTYPE_CONSECUTIVE_UPPERCASE + return (c >= 'A' && c <= 'Z'); +#else + switch (c) + { + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + return 1; + default: + return 0; + } +#endif +} + +bool +c_isxdigit (int c) +{ +#if C_CTYPE_CONSECUTIVE_DIGITS \ + && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII + return ((c >= '0' && c <= '9') + || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F')); +#else + return ((c >= '0' && c <= '9') + || (c >= 'A' && c <= 'F') + || (c >= 'a' && c <= 'f')); +#endif +#else + switch (c) + { + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + return 1; + default: + return 0; + } +#endif +} + +int +c_tolower (int c) +{ +#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE + return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c); +#else + switch (c) + { + case 'A': return 'a'; + case 'B': return 'b'; + case 'C': return 'c'; + case 'D': return 'd'; + case 'E': return 'e'; + case 'F': return 'f'; + case 'G': return 'g'; + case 'H': return 'h'; + case 'I': return 'i'; + case 'J': return 'j'; + case 'K': return 'k'; + case 'L': return 'l'; + case 'M': return 'm'; + case 'N': return 'n'; + case 'O': return 'o'; + case 'P': return 'p'; + case 'Q': return 'q'; + case 'R': return 'r'; + case 'S': return 's'; + case 'T': return 't'; + case 'U': return 'u'; + case 'V': return 'v'; + case 'W': return 'w'; + case 'X': return 'x'; + case 'Y': return 'y'; + case 'Z': return 'z'; + default: return c; + } +#endif +} + +int +c_toupper (int c) +{ +#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE + return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); +#else + switch (c) + { + case 'a': return 'A'; + case 'b': return 'B'; + case 'c': return 'C'; + case 'd': return 'D'; + case 'e': return 'E'; + case 'f': return 'F'; + case 'g': return 'G'; + case 'h': return 'H'; + case 'i': return 'I'; + case 'j': return 'J'; + case 'k': return 'K'; + case 'l': return 'L'; + case 'm': return 'M'; + case 'n': return 'N'; + case 'o': return 'O'; + case 'p': return 'P'; + case 'q': return 'Q'; + case 'r': return 'R'; + case 's': return 'S'; + case 't': return 'T'; + case 'u': return 'U'; + case 'v': return 'V'; + case 'w': return 'W'; + case 'x': return 'X'; + case 'y': return 'Y'; + case 'z': return 'Z'; + default: return c; + } +#endif +} diff -Nru gnutls26-2.8.6/lgl/c-ctype.h gnutls26-2.4.1/lgl/c-ctype.h --- gnutls26-2.8.6/lgl/c-ctype.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/c-ctype.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,280 @@ +/* Character handling in C locale. + + These functions work like the corresponding functions in , + except that they have the C (POSIX) locale hardwired, whereas the + functions' behaviour depends on the current locale set via + setlocale. + + Copyright (C) 2000-2003, 2006 Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef C_CTYPE_H +#define C_CTYPE_H + +#include + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* The functions defined in this file assume the "C" locale and a character + set without diacritics (ASCII-US or EBCDIC-US or something like that). + Even if the "C" locale on a particular system is an extension of the ASCII + character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it + is ISO-8859-1), the functions in this file recognize only the ASCII + characters. */ + + +/* Check whether the ASCII optimizations apply. */ + +/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that + '0', '1', ..., '9' have consecutive integer values. */ +#define C_CTYPE_CONSECUTIVE_DIGITS 1 + +#if ('A' <= 'Z') \ + && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \ + && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \ + && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \ + && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \ + && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \ + && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \ + && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \ + && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \ + && ('Y' + 1 == 'Z') +#define C_CTYPE_CONSECUTIVE_UPPERCASE 1 +#endif + +#if ('a' <= 'z') \ + && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \ + && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \ + && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \ + && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \ + && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \ + && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \ + && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \ + && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \ + && ('y' + 1 == 'z') +#define C_CTYPE_CONSECUTIVE_LOWERCASE 1 +#endif + +#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) +/* The character set is ASCII or one of its variants or extensions, not EBCDIC. + Testing the value of '\n' and '\r' is not relevant. */ +#define C_CTYPE_ASCII 1 +#endif + + +/* Function declarations. */ + +extern bool c_isascii (int c); /* not locale dependent */ + +extern bool c_isalnum (int c); +extern bool c_isalpha (int c); +extern bool c_isblank (int c); +extern bool c_iscntrl (int c); +extern bool c_isdigit (int c); +extern bool c_islower (int c); +extern bool c_isgraph (int c); +extern bool c_isprint (int c); +extern bool c_ispunct (int c); +extern bool c_isspace (int c); +extern bool c_isupper (int c); +extern bool c_isxdigit (int c); + +extern int c_tolower (int c); +extern int c_toupper (int c); + + +#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS + +/* ASCII optimizations. */ + +#undef c_isascii +#define c_isascii(c) \ + ({ int __c = (c); \ + (__c >= 0x00 && __c <= 0x7f); \ + }) + +#if C_CTYPE_CONSECUTIVE_DIGITS \ + && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII +#undef c_isalnum +#define c_isalnum(c) \ + ({ int __c = (c); \ + ((__c >= '0' && __c <= '9') \ + || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \ + }) +#else +#undef c_isalnum +#define c_isalnum(c) \ + ({ int __c = (c); \ + ((__c >= '0' && __c <= '9') \ + || (__c >= 'A' && __c <= 'Z') \ + || (__c >= 'a' && __c <= 'z')); \ + }) +#endif +#endif + +#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII +#undef c_isalpha +#define c_isalpha(c) \ + ({ int __c = (c); \ + ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \ + }) +#else +#undef c_isalpha +#define c_isalpha(c) \ + ({ int __c = (c); \ + ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \ + }) +#endif +#endif + +#undef c_isblank +#define c_isblank(c) \ + ({ int __c = (c); \ + (__c == ' ' || __c == '\t'); \ + }) + +#if C_CTYPE_ASCII +#undef c_iscntrl +#define c_iscntrl(c) \ + ({ int __c = (c); \ + ((__c & ~0x1f) == 0 || __c == 0x7f); \ + }) +#endif + +#if C_CTYPE_CONSECUTIVE_DIGITS +#undef c_isdigit +#define c_isdigit(c) \ + ({ int __c = (c); \ + (__c >= '0' && __c <= '9'); \ + }) +#endif + +#if C_CTYPE_CONSECUTIVE_LOWERCASE +#undef c_islower +#define c_islower(c) \ + ({ int __c = (c); \ + (__c >= 'a' && __c <= 'z'); \ + }) +#endif + +#if C_CTYPE_ASCII +#undef c_isgraph +#define c_isgraph(c) \ + ({ int __c = (c); \ + (__c >= '!' && __c <= '~'); \ + }) +#endif + +#if C_CTYPE_ASCII +#undef c_isprint +#define c_isprint(c) \ + ({ int __c = (c); \ + (__c >= ' ' && __c <= '~'); \ + }) +#endif + +#if C_CTYPE_ASCII +#undef c_ispunct +#define c_ispunct(c) \ + ({ int _c = (c); \ + (c_isgraph (_c) && ! c_isalnum (_c)); \ + }) +#endif + +#undef c_isspace +#define c_isspace(c) \ + ({ int __c = (c); \ + (__c == ' ' || __c == '\t' \ + || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \ + }) + +#if C_CTYPE_CONSECUTIVE_UPPERCASE +#undef c_isupper +#define c_isupper(c) \ + ({ int __c = (c); \ + (__c >= 'A' && __c <= 'Z'); \ + }) +#endif + +#if C_CTYPE_CONSECUTIVE_DIGITS \ + && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#if C_CTYPE_ASCII +#undef c_isxdigit +#define c_isxdigit(c) \ + ({ int __c = (c); \ + ((__c >= '0' && __c <= '9') \ + || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \ + }) +#else +#undef c_isxdigit +#define c_isxdigit(c) \ + ({ int __c = (c); \ + ((__c >= '0' && __c <= '9') \ + || (__c >= 'A' && __c <= 'F') \ + || (__c >= 'a' && __c <= 'f')); \ + }) +#endif +#endif + +#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +#undef c_tolower +#define c_tolower(c) \ + ({ int __c = (c); \ + (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \ + }) +#undef c_toupper +#define c_toupper(c) \ + ({ int __c = (c); \ + (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \ + }) +#endif + +#endif /* optimizing for speed */ + + +#ifdef __cplusplus +} +#endif + +#endif /* C_CTYPE_H */ diff -Nru gnutls26-2.8.6/lgl/des.c gnutls26-2.4.1/lgl/des.c --- gnutls26-2.8.6/lgl/des.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/des.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,669 @@ +/* des.c --- DES and Triple-DES encryption/decryption Algorithm + * Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + * Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson, based on Libgcrypt. */ + +/* + * For a description of triple encryption, see: + * Bruce Schneier: Applied Cryptography. Second Edition. + * John Wiley & Sons, 1996. ISBN 0-471-12845-7. Pages 358 ff. + * This implementation is according to the definition of DES in FIPS + * PUB 46-2 from December 1993. + * + * Written by Michael Roth , September 1998 + */ + +/* + * U S A G E + * =========== + * + * For DES or Triple-DES encryption/decryption you must initialize a proper + * encryption context with a key. + * + * A DES key is 64bit wide but only 56bits of the key are used. The remaining + * bits are parity bits and they will _not_ checked in this implementation, but + * simply ignored. + * + * For Triple-DES you could use either two 64bit keys or three 64bit keys. + * The parity bits will _not_ checked, too. + * + * After initializing a context with a key you could use this context to + * encrypt or decrypt data in 64bit blocks in Electronic Codebook Mode. + * + * DES Example + * ----------- + * unsigned char key[8]; + * unsigned char plaintext[8]; + * unsigned char ciphertext[8]; + * unsigned char recoverd[8]; + * gl_des_ctx context; + * + * // Fill 'key' and 'plaintext' with some data + * .... + * + * // Set up the DES encryption context + * gl_des_setkey(&context, key); + * + * // Encrypt the plaintext + * des_ecb_encrypt(&context, plaintext, ciphertext); + * + * // To recover the orginal plaintext from ciphertext use: + * des_ecb_decrypt(&context, ciphertext, recoverd); + * + * + * Triple-DES Example + * ------------------ + * unsigned char key1[8]; + * unsigned char key2[8]; + * unsigned char key3[8]; + * unsigned char plaintext[8]; + * unsigned char ciphertext[8]; + * unsigned char recoverd[8]; + * gl_3des_ctx context; + * + * // If you would like to use two 64bit keys, fill 'key1' and'key2' + * // then setup the encryption context: + * gl_3des_set2keys(&context, key1, key2); + * + * // To use three 64bit keys with Triple-DES use: + * gl_3des_set3keys(&context, key1, key2, key3); + * + * // Encrypting plaintext with Triple-DES + * gl_3des_ecb_encrypt(&context, plaintext, ciphertext); + * + * // Decrypting ciphertext to recover the plaintext with Triple-DES + * gl_3des_ecb_decrypt(&context, ciphertext, recoverd); + */ + + +#include + +#include "des.h" + +#include +#include /* memcpy, memcmp */ + +/* + * The s-box values are permuted according to the 'primitive function P' + * and are rotated one bit to the left. + */ +static const uint32_t sbox1[64] = { + 0x01010400, 0x00000000, 0x00010000, 0x01010404, 0x01010004, 0x00010404, + 0x00000004, 0x00010000, 0x00000400, 0x01010400, 0x01010404, 0x00000400, + 0x01000404, 0x01010004, 0x01000000, 0x00000004, 0x00000404, 0x01000400, + 0x01000400, 0x00010400, 0x00010400, 0x01010000, 0x01010000, 0x01000404, + 0x00010004, 0x01000004, 0x01000004, 0x00010004, 0x00000000, 0x00000404, + 0x00010404, 0x01000000, 0x00010000, 0x01010404, 0x00000004, 0x01010000, + 0x01010400, 0x01000000, 0x01000000, 0x00000400, 0x01010004, 0x00010000, + 0x00010400, 0x01000004, 0x00000400, 0x00000004, 0x01000404, 0x00010404, + 0x01010404, 0x00010004, 0x01010000, 0x01000404, 0x01000004, 0x00000404, + 0x00010404, 0x01010400, 0x00000404, 0x01000400, 0x01000400, 0x00000000, + 0x00010004, 0x00010400, 0x00000000, 0x01010004 +}; + +static const uint32_t sbox2[64] = { + 0x80108020, 0x80008000, 0x00008000, 0x00108020, 0x00100000, 0x00000020, + 0x80100020, 0x80008020, 0x80000020, 0x80108020, 0x80108000, 0x80000000, + 0x80008000, 0x00100000, 0x00000020, 0x80100020, 0x00108000, 0x00100020, + 0x80008020, 0x00000000, 0x80000000, 0x00008000, 0x00108020, 0x80100000, + 0x00100020, 0x80000020, 0x00000000, 0x00108000, 0x00008020, 0x80108000, + 0x80100000, 0x00008020, 0x00000000, 0x00108020, 0x80100020, 0x00100000, + 0x80008020, 0x80100000, 0x80108000, 0x00008000, 0x80100000, 0x80008000, + 0x00000020, 0x80108020, 0x00108020, 0x00000020, 0x00008000, 0x80000000, + 0x00008020, 0x80108000, 0x00100000, 0x80000020, 0x00100020, 0x80008020, + 0x80000020, 0x00100020, 0x00108000, 0x00000000, 0x80008000, 0x00008020, + 0x80000000, 0x80100020, 0x80108020, 0x00108000 +}; + +static const uint32_t sbox3[64] = { + 0x00000208, 0x08020200, 0x00000000, 0x08020008, 0x08000200, 0x00000000, + 0x00020208, 0x08000200, 0x00020008, 0x08000008, 0x08000008, 0x00020000, + 0x08020208, 0x00020008, 0x08020000, 0x00000208, 0x08000000, 0x00000008, + 0x08020200, 0x00000200, 0x00020200, 0x08020000, 0x08020008, 0x00020208, + 0x08000208, 0x00020200, 0x00020000, 0x08000208, 0x00000008, 0x08020208, + 0x00000200, 0x08000000, 0x08020200, 0x08000000, 0x00020008, 0x00000208, + 0x00020000, 0x08020200, 0x08000200, 0x00000000, 0x00000200, 0x00020008, + 0x08020208, 0x08000200, 0x08000008, 0x00000200, 0x00000000, 0x08020008, + 0x08000208, 0x00020000, 0x08000000, 0x08020208, 0x00000008, 0x00020208, + 0x00020200, 0x08000008, 0x08020000, 0x08000208, 0x00000208, 0x08020000, + 0x00020208, 0x00000008, 0x08020008, 0x00020200 +}; + +static const uint32_t sbox4[64] = { + 0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802080, 0x00800081, + 0x00800001, 0x00002001, 0x00000000, 0x00802000, 0x00802000, 0x00802081, + 0x00000081, 0x00000000, 0x00800080, 0x00800001, 0x00000001, 0x00002000, + 0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002001, 0x00002080, + 0x00800081, 0x00000001, 0x00002080, 0x00800080, 0x00002000, 0x00802080, + 0x00802081, 0x00000081, 0x00800080, 0x00800001, 0x00802000, 0x00802081, + 0x00000081, 0x00000000, 0x00000000, 0x00802000, 0x00002080, 0x00800080, + 0x00800081, 0x00000001, 0x00802001, 0x00002081, 0x00002081, 0x00000080, + 0x00802081, 0x00000081, 0x00000001, 0x00002000, 0x00800001, 0x00002001, + 0x00802080, 0x00800081, 0x00002001, 0x00002080, 0x00800000, 0x00802001, + 0x00000080, 0x00800000, 0x00002000, 0x00802080 +}; + +static const uint32_t sbox5[64] = { + 0x00000100, 0x02080100, 0x02080000, 0x42000100, 0x00080000, 0x00000100, + 0x40000000, 0x02080000, 0x40080100, 0x00080000, 0x02000100, 0x40080100, + 0x42000100, 0x42080000, 0x00080100, 0x40000000, 0x02000000, 0x40080000, + 0x40080000, 0x00000000, 0x40000100, 0x42080100, 0x42080100, 0x02000100, + 0x42080000, 0x40000100, 0x00000000, 0x42000000, 0x02080100, 0x02000000, + 0x42000000, 0x00080100, 0x00080000, 0x42000100, 0x00000100, 0x02000000, + 0x40000000, 0x02080000, 0x42000100, 0x40080100, 0x02000100, 0x40000000, + 0x42080000, 0x02080100, 0x40080100, 0x00000100, 0x02000000, 0x42080000, + 0x42080100, 0x00080100, 0x42000000, 0x42080100, 0x02080000, 0x00000000, + 0x40080000, 0x42000000, 0x00080100, 0x02000100, 0x40000100, 0x00080000, + 0x00000000, 0x40080000, 0x02080100, 0x40000100 +}; + +static const uint32_t sbox6[64] = { + 0x20000010, 0x20400000, 0x00004000, 0x20404010, 0x20400000, 0x00000010, + 0x20404010, 0x00400000, 0x20004000, 0x00404010, 0x00400000, 0x20000010, + 0x00400010, 0x20004000, 0x20000000, 0x00004010, 0x00000000, 0x00400010, + 0x20004010, 0x00004000, 0x00404000, 0x20004010, 0x00000010, 0x20400010, + 0x20400010, 0x00000000, 0x00404010, 0x20404000, 0x00004010, 0x00404000, + 0x20404000, 0x20000000, 0x20004000, 0x00000010, 0x20400010, 0x00404000, + 0x20404010, 0x00400000, 0x00004010, 0x20000010, 0x00400000, 0x20004000, + 0x20000000, 0x00004010, 0x20000010, 0x20404010, 0x00404000, 0x20400000, + 0x00404010, 0x20404000, 0x00000000, 0x20400010, 0x00000010, 0x00004000, + 0x20400000, 0x00404010, 0x00004000, 0x00400010, 0x20004010, 0x00000000, + 0x20404000, 0x20000000, 0x00400010, 0x20004010 +}; + +static const uint32_t sbox7[64] = { + 0x00200000, 0x04200002, 0x04000802, 0x00000000, 0x00000800, 0x04000802, + 0x00200802, 0x04200800, 0x04200802, 0x00200000, 0x00000000, 0x04000002, + 0x00000002, 0x04000000, 0x04200002, 0x00000802, 0x04000800, 0x00200802, + 0x00200002, 0x04000800, 0x04000002, 0x04200000, 0x04200800, 0x00200002, + 0x04200000, 0x00000800, 0x00000802, 0x04200802, 0x00200800, 0x00000002, + 0x04000000, 0x00200800, 0x04000000, 0x00200800, 0x00200000, 0x04000802, + 0x04000802, 0x04200002, 0x04200002, 0x00000002, 0x00200002, 0x04000000, + 0x04000800, 0x00200000, 0x04200800, 0x00000802, 0x00200802, 0x04200800, + 0x00000802, 0x04000002, 0x04200802, 0x04200000, 0x00200800, 0x00000000, + 0x00000002, 0x04200802, 0x00000000, 0x00200802, 0x04200000, 0x00000800, + 0x04000002, 0x04000800, 0x00000800, 0x00200002 +}; + +static const uint32_t sbox8[64] = { + 0x10001040, 0x00001000, 0x00040000, 0x10041040, 0x10000000, 0x10001040, + 0x00000040, 0x10000000, 0x00040040, 0x10040000, 0x10041040, 0x00041000, + 0x10041000, 0x00041040, 0x00001000, 0x00000040, 0x10040000, 0x10000040, + 0x10001000, 0x00001040, 0x00041000, 0x00040040, 0x10040040, 0x10041000, + 0x00001040, 0x00000000, 0x00000000, 0x10040040, 0x10000040, 0x10001000, + 0x00041040, 0x00040000, 0x00041040, 0x00040000, 0x10041000, 0x00001000, + 0x00000040, 0x10040040, 0x00001000, 0x00041040, 0x10001000, 0x00000040, + 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x00040000, 0x10001040, + 0x00000000, 0x10041040, 0x00040040, 0x10000040, 0x10040000, 0x10001000, + 0x10001040, 0x00000000, 0x10041040, 0x00041000, 0x00041000, 0x00001040, + 0x00001040, 0x00040040, 0x10000000, 0x10041000 +}; + +/* + * These two tables are part of the 'permuted choice 1' function. + * In this implementation several speed improvements are done. + */ +static const uint32_t leftkey_swap[16] = { + 0x00000000, 0x00000001, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010100, 0x00010101, + 0x01000000, 0x01000001, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010100, 0x01010101 +}; + +static const uint32_t rightkey_swap[16] = { + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, +}; + +/* + * Numbers of left shifts per round for encryption subkeys. To + * calculate the decryption subkeys we just reverse the ordering of + * the calculated encryption subkeys, so there is no need for a + * decryption rotate tab. + */ +static const unsigned char encrypt_rotate_tab[16] = { + 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 +}; + +/* + * Table with weak DES keys sorted in ascending order. In DES there + * are 64 known keys which are weak. They are weak because they + * produce only one, two or four different subkeys in the subkey + * scheduling process. The keys in this table have all their parity + * bits cleared. + */ +static const unsigned char weak_keys[64][8] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*w */ + {0x00, 0x00, 0x1e, 0x1e, 0x00, 0x00, 0x0e, 0x0e}, + {0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0xf0, 0xf0}, + {0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0xfe}, + {0x00, 0x1e, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x0e}, /*sw */ + {0x00, 0x1e, 0x1e, 0x00, 0x00, 0x0e, 0x0e, 0x00}, + {0x00, 0x1e, 0xe0, 0xfe, 0x00, 0x0e, 0xf0, 0xfe}, + {0x00, 0x1e, 0xfe, 0xe0, 0x00, 0x0e, 0xfe, 0xf0}, + {0x00, 0xe0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xf0}, /*sw */ + {0x00, 0xe0, 0x1e, 0xfe, 0x00, 0xf0, 0x0e, 0xfe}, + {0x00, 0xe0, 0xe0, 0x00, 0x00, 0xf0, 0xf0, 0x00}, + {0x00, 0xe0, 0xfe, 0x1e, 0x00, 0xf0, 0xfe, 0x0e}, + {0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe}, /*sw */ + {0x00, 0xfe, 0x1e, 0xe0, 0x00, 0xfe, 0x0e, 0xf0}, + {0x00, 0xfe, 0xe0, 0x1e, 0x00, 0xfe, 0xf0, 0x0e}, + {0x00, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0x00}, + {0x1e, 0x00, 0x00, 0x1e, 0x0e, 0x00, 0x00, 0x0e}, + {0x1e, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x0e, 0x00}, /*sw */ + {0x1e, 0x00, 0xe0, 0xfe, 0x0e, 0x00, 0xf0, 0xfe}, + {0x1e, 0x00, 0xfe, 0xe0, 0x0e, 0x00, 0xfe, 0xf0}, + {0x1e, 0x1e, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00}, + {0x1e, 0x1e, 0x1e, 0x1e, 0x0e, 0x0e, 0x0e, 0x0e}, /*w */ + {0x1e, 0x1e, 0xe0, 0xe0, 0x0e, 0x0e, 0xf0, 0xf0}, + {0x1e, 0x1e, 0xfe, 0xfe, 0x0e, 0x0e, 0xfe, 0xfe}, + {0x1e, 0xe0, 0x00, 0xfe, 0x0e, 0xf0, 0x00, 0xfe}, + {0x1e, 0xe0, 0x1e, 0xe0, 0x0e, 0xf0, 0x0e, 0xf0}, /*sw */ + {0x1e, 0xe0, 0xe0, 0x1e, 0x0e, 0xf0, 0xf0, 0x0e}, + {0x1e, 0xe0, 0xfe, 0x00, 0x0e, 0xf0, 0xfe, 0x00}, + {0x1e, 0xfe, 0x00, 0xe0, 0x0e, 0xfe, 0x00, 0xf0}, + {0x1e, 0xfe, 0x1e, 0xfe, 0x0e, 0xfe, 0x0e, 0xfe}, /*sw */ + {0x1e, 0xfe, 0xe0, 0x00, 0x0e, 0xfe, 0xf0, 0x00}, + {0x1e, 0xfe, 0xfe, 0x1e, 0x0e, 0xfe, 0xfe, 0x0e}, + {0xe0, 0x00, 0x00, 0xe0, 0xf0, 0x00, 0x00, 0xf0}, + {0xe0, 0x00, 0x1e, 0xfe, 0xf0, 0x00, 0x0e, 0xfe}, + {0xe0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xf0, 0x00}, /*sw */ + {0xe0, 0x00, 0xfe, 0x1e, 0xf0, 0x00, 0xfe, 0x0e}, + {0xe0, 0x1e, 0x00, 0xfe, 0xf0, 0x0e, 0x00, 0xfe}, + {0xe0, 0x1e, 0x1e, 0xe0, 0xf0, 0x0e, 0x0e, 0xf0}, + {0xe0, 0x1e, 0xe0, 0x1e, 0xf0, 0x0e, 0xf0, 0x0e}, /*sw */ + {0xe0, 0x1e, 0xfe, 0x00, 0xf0, 0x0e, 0xfe, 0x00}, + {0xe0, 0xe0, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00}, + {0xe0, 0xe0, 0x1e, 0x1e, 0xf0, 0xf0, 0x0e, 0x0e}, + {0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0}, /*w */ + {0xe0, 0xe0, 0xfe, 0xfe, 0xf0, 0xf0, 0xfe, 0xfe}, + {0xe0, 0xfe, 0x00, 0x1e, 0xf0, 0xfe, 0x00, 0x0e}, + {0xe0, 0xfe, 0x1e, 0x00, 0xf0, 0xfe, 0x0e, 0x00}, + {0xe0, 0xfe, 0xe0, 0xfe, 0xf0, 0xfe, 0xf0, 0xfe}, /*sw */ + {0xe0, 0xfe, 0xfe, 0xe0, 0xf0, 0xfe, 0xfe, 0xf0}, + {0xfe, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xfe}, + {0xfe, 0x00, 0x1e, 0xe0, 0xfe, 0x00, 0x0e, 0xf0}, + {0xfe, 0x00, 0xe0, 0x1e, 0xfe, 0x00, 0xf0, 0x0e}, + {0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00}, /*sw */ + {0xfe, 0x1e, 0x00, 0xe0, 0xfe, 0x0e, 0x00, 0xf0}, + {0xfe, 0x1e, 0x1e, 0xfe, 0xfe, 0x0e, 0x0e, 0xfe}, + {0xfe, 0x1e, 0xe0, 0x00, 0xfe, 0x0e, 0xf0, 0x00}, + {0xfe, 0x1e, 0xfe, 0x1e, 0xfe, 0x0e, 0xfe, 0x0e}, /*sw */ + {0xfe, 0xe0, 0x00, 0x1e, 0xfe, 0xf0, 0x00, 0x0e}, + {0xfe, 0xe0, 0x1e, 0x00, 0xfe, 0xf0, 0x0e, 0x00}, + {0xfe, 0xe0, 0xe0, 0xfe, 0xfe, 0xf0, 0xf0, 0xfe}, + {0xfe, 0xe0, 0xfe, 0xe0, 0xfe, 0xf0, 0xfe, 0xf0}, /*sw */ + {0xfe, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00}, + {0xfe, 0xfe, 0x1e, 0x1e, 0xfe, 0xfe, 0x0e, 0x0e}, + {0xfe, 0xfe, 0xe0, 0xe0, 0xfe, 0xfe, 0xf0, 0xf0}, + {0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe} /*w */ +}; + +bool +gl_des_is_weak_key (const char * key) +{ + char work[8]; + int i, left, right, middle, cmp_result; + + /* clear parity bits */ + for (i = 0; i < 8; ++i) + work[i] = ((unsigned char)key[i]) & 0xfe; + + /* binary search in the weak key table */ + left = 0; + right = 63; + while (left <= right) + { + middle = (left + right) / 2; + + if (!(cmp_result = memcmp (work, weak_keys[middle], 8))) + return -1; + + if (cmp_result > 0) + left = middle + 1; + else + right = middle - 1; + } + + return 0; +} + +/* + * Macro to swap bits across two words. + */ +#define DO_PERMUTATION(a, temp, b, offset, mask) \ + temp = ((a>>offset) ^ b) & mask; \ + b ^= temp; \ + a ^= temp<> 31); \ + temp = (left ^ right) & 0xaaaaaaaa; \ + right ^= temp; \ + left ^= temp; \ + left = (left << 1) | (left >> 31); + +/* + * The 'inverse initial permutation'. + */ +#define FINAL_PERMUTATION(left, temp, right) \ + left = (left << 31) | (left >> 1); \ + temp = (left ^ right) & 0xaaaaaaaa; \ + left ^= temp; \ + right ^= temp; \ + right = (right << 31) | (right >> 1); \ + DO_PERMUTATION(right, temp, left, 8, 0x00ff00ff) \ + DO_PERMUTATION(right, temp, left, 2, 0x33333333) \ + DO_PERMUTATION(left, temp, right, 16, 0x0000ffff) \ + DO_PERMUTATION(left, temp, right, 4, 0x0f0f0f0f) + + +/* + * A full DES round including 'expansion function', 'sbox substitution' + * and 'primitive function P' but without swapping the left and right word. + * Please note: The data in 'from' and 'to' is already rotated one bit to + * the left, done in the initial permutation. + */ +#define DES_ROUND(from, to, work, subkey) \ + work = from ^ *subkey++; \ + to ^= sbox8[ work & 0x3f ]; \ + to ^= sbox6[ (work>>8) & 0x3f ]; \ + to ^= sbox4[ (work>>16) & 0x3f ]; \ + to ^= sbox2[ (work>>24) & 0x3f ]; \ + work = ((from << 28) | (from >> 4)) ^ *subkey++; \ + to ^= sbox7[ work & 0x3f ]; \ + to ^= sbox5[ (work>>8) & 0x3f ]; \ + to ^= sbox3[ (work>>16) & 0x3f ]; \ + to ^= sbox1[ (work>>24) & 0x3f ]; + +/* + * Macros to convert 8 bytes from/to 32bit words. + */ +#define READ_64BIT_DATA(data, left, right) \ + left = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; \ + right = (data[4] << 24) | (data[5] << 16) | (data[6] << 8) | data[7]; + +#define WRITE_64BIT_DATA(data, left, right) \ + data[0] = (left >> 24) &0xff; data[1] = (left >> 16) &0xff; \ + data[2] = (left >> 8) &0xff; data[3] = left &0xff; \ + data[4] = (right >> 24) &0xff; data[5] = (right >> 16) &0xff; \ + data[6] = (right >> 8) &0xff; data[7] = right &0xff; + +/* + * des_key_schedule(): Calculate 16 subkeys pairs (even/odd) for + * 16 encryption rounds. + * To calculate subkeys for decryption the caller + * have to reorder the generated subkeys. + * + * rawkey: 8 Bytes of key data + * subkey: Array of at least 32 uint32_ts. Will be filled + * with calculated subkeys. + * + */ +static void +des_key_schedule (const char * _rawkey, uint32_t * subkey) +{ + const unsigned char *rawkey = (const unsigned char *) _rawkey; + uint32_t left, right, work; + int round; + + READ_64BIT_DATA (rawkey, left, right) + DO_PERMUTATION (right, work, left, 4, 0x0f0f0f0f) + DO_PERMUTATION (right, work, left, 0, 0x10101010) + left = ((leftkey_swap[(left >> 0) & 0xf] << 3) + | (leftkey_swap[(left >> 8) & 0xf] << 2) + | (leftkey_swap[(left >> 16) & 0xf] << 1) + | (leftkey_swap[(left >> 24) & 0xf]) + | (leftkey_swap[(left >> 5) & 0xf] << 7) + | (leftkey_swap[(left >> 13) & 0xf] << 6) + | (leftkey_swap[(left >> 21) & 0xf] << 5) + | (leftkey_swap[(left >> 29) & 0xf] << 4)); + + left &= 0x0fffffff; + + right = ((rightkey_swap[(right >> 1) & 0xf] << 3) + | (rightkey_swap[(right >> 9) & 0xf] << 2) + | (rightkey_swap[(right >> 17) & 0xf] << 1) + | (rightkey_swap[(right >> 25) & 0xf]) + | (rightkey_swap[(right >> 4) & 0xf] << 7) + | (rightkey_swap[(right >> 12) & 0xf] << 6) + | (rightkey_swap[(right >> 20) & 0xf] << 5) + | (rightkey_swap[(right >> 28) & 0xf] << 4)); + + right &= 0x0fffffff; + + for (round = 0; round < 16; ++round) + { + left = ((left << encrypt_rotate_tab[round]) + | (left >> (28 - encrypt_rotate_tab[round]))) & 0x0fffffff; + right = ((right << encrypt_rotate_tab[round]) + | (right >> (28 - encrypt_rotate_tab[round]))) & 0x0fffffff; + + *subkey++ = (((left << 4) & 0x24000000) + | ((left << 28) & 0x10000000) + | ((left << 14) & 0x08000000) + | ((left << 18) & 0x02080000) + | ((left << 6) & 0x01000000) + | ((left << 9) & 0x00200000) + | ((left >> 1) & 0x00100000) + | ((left << 10) & 0x00040000) + | ((left << 2) & 0x00020000) + | ((left >> 10) & 0x00010000) + | ((right >> 13) & 0x00002000) + | ((right >> 4) & 0x00001000) + | ((right << 6) & 0x00000800) + | ((right >> 1) & 0x00000400) + | ((right >> 14) & 0x00000200) + | (right & 0x00000100) + | ((right >> 5) & 0x00000020) + | ((right >> 10) & 0x00000010) + | ((right >> 3) & 0x00000008) + | ((right >> 18) & 0x00000004) + | ((right >> 26) & 0x00000002) + | ((right >> 24) & 0x00000001)); + + *subkey++ = (((left << 15) & 0x20000000) + | ((left << 17) & 0x10000000) + | ((left << 10) & 0x08000000) + | ((left << 22) & 0x04000000) + | ((left >> 2) & 0x02000000) + | ((left << 1) & 0x01000000) + | ((left << 16) & 0x00200000) + | ((left << 11) & 0x00100000) + | ((left << 3) & 0x00080000) + | ((left >> 6) & 0x00040000) + | ((left << 15) & 0x00020000) + | ((left >> 4) & 0x00010000) + | ((right >> 2) & 0x00002000) + | ((right << 8) & 0x00001000) + | ((right >> 14) & 0x00000808) + | ((right >> 9) & 0x00000400) + | ((right) & 0x00000200) + | ((right << 7) & 0x00000100) + | ((right >> 7) & 0x00000020) + | ((right >> 3) & 0x00000011) + | ((right << 2) & 0x00000004) + | ((right >> 21) & 0x00000002)); + } +} + +void +gl_des_setkey (gl_des_ctx *ctx, const char * key) +{ + int i; + + des_key_schedule (key, ctx->encrypt_subkeys); + + for (i = 0; i < 32; i += 2) + { + ctx->decrypt_subkeys[i] = ctx->encrypt_subkeys[30 - i]; + ctx->decrypt_subkeys[i + 1] = ctx->encrypt_subkeys[31 - i]; + } +} + +bool +gl_des_makekey (gl_des_ctx *ctx, const char * key, size_t keylen) +{ + if (keylen != 8) + return false; + + gl_des_setkey (ctx, key); + + return !gl_des_is_weak_key (key); +} + +void +gl_des_ecb_crypt (gl_des_ctx *ctx, const char * _from, char * _to, int mode) +{ + const unsigned char *from = (const unsigned char *) _from; + unsigned char *to = (unsigned char *) _to; + uint32_t left, right, work; + uint32_t *keys; + + keys = mode ? ctx->decrypt_subkeys : ctx->encrypt_subkeys; + + READ_64BIT_DATA (from, left, right) + INITIAL_PERMUTATION (left, work, right) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + FINAL_PERMUTATION (right, work, left) + WRITE_64BIT_DATA (to, right, left) +} + +void +gl_3des_set2keys (gl_3des_ctx *ctx, const char * key1, const char * key2) +{ + int i; + + des_key_schedule (key1, ctx->encrypt_subkeys); + des_key_schedule (key2, &(ctx->decrypt_subkeys[32])); + + for (i = 0; i < 32; i += 2) + { + ctx->decrypt_subkeys[i] = ctx->encrypt_subkeys[30 - i]; + ctx->decrypt_subkeys[i + 1] = ctx->encrypt_subkeys[31 - i]; + + ctx->encrypt_subkeys[i + 32] = ctx->decrypt_subkeys[62 - i]; + ctx->encrypt_subkeys[i + 33] = ctx->decrypt_subkeys[63 - i]; + + ctx->encrypt_subkeys[i + 64] = ctx->encrypt_subkeys[i]; + ctx->encrypt_subkeys[i + 65] = ctx->encrypt_subkeys[i + 1]; + + ctx->decrypt_subkeys[i + 64] = ctx->decrypt_subkeys[i]; + ctx->decrypt_subkeys[i + 65] = ctx->decrypt_subkeys[i + 1]; + } +} + +void +gl_3des_set3keys (gl_3des_ctx *ctx, const char * key1, + const char * key2, const char * key3) +{ + int i; + + des_key_schedule (key1, ctx->encrypt_subkeys); + des_key_schedule (key2, &(ctx->decrypt_subkeys[32])); + des_key_schedule (key3, &(ctx->encrypt_subkeys[64])); + + for (i = 0; i < 32; i += 2) + { + ctx->decrypt_subkeys[i] = ctx->encrypt_subkeys[94 - i]; + ctx->decrypt_subkeys[i + 1] = ctx->encrypt_subkeys[95 - i]; + + ctx->encrypt_subkeys[i + 32] = ctx->decrypt_subkeys[62 - i]; + ctx->encrypt_subkeys[i + 33] = ctx->decrypt_subkeys[63 - i]; + + ctx->decrypt_subkeys[i + 64] = ctx->encrypt_subkeys[30 - i]; + ctx->decrypt_subkeys[i + 65] = ctx->encrypt_subkeys[31 - i]; + } +} + +void +gl_3des_ecb_crypt (gl_3des_ctx *ctx, + const char * _from, + char * _to, int mode) +{ + const unsigned char *from = (const unsigned char *) _from; + unsigned char *to = (unsigned char *) _to; + uint32_t left, right, work; + uint32_t *keys; + + keys = mode ? ctx->decrypt_subkeys : ctx->encrypt_subkeys; + + READ_64BIT_DATA (from, left, right) + INITIAL_PERMUTATION (left, work, right) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (left, right, work, keys) DES_ROUND (right, left, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + DES_ROUND (right, left, work, keys) DES_ROUND (left, right, work, keys) + FINAL_PERMUTATION (right, work, left) + WRITE_64BIT_DATA (to, right, left) +} + +bool +gl_3des_makekey (gl_3des_ctx *ctx, const char * key, size_t keylen) +{ + if (keylen != 24) + return false; + + gl_3des_set3keys (ctx, key, key + 8, key + 16); + + return !(gl_des_is_weak_key (key) + || gl_des_is_weak_key (key + 8) + || gl_des_is_weak_key (key + 16)); +} diff -Nru gnutls26-2.8.6/lgl/des.h gnutls26-2.4.1/lgl/des.h --- gnutls26-2.8.6/lgl/des.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/des.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,121 @@ +/* des.h --- DES cipher implementation. + * Copyright (C) 2005, 2007 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson, based on Libgcrypt. */ + +#ifndef DES_H +# define DES_H + +#include +#include +#include + +/* + * Encryption/Decryption context of DES + */ +typedef struct +{ + uint32_t encrypt_subkeys[32]; + uint32_t decrypt_subkeys[32]; +} gl_des_ctx; + +/* + * Encryption/Decryption context of Triple-DES + */ +typedef struct +{ + uint32_t encrypt_subkeys[96]; + uint32_t decrypt_subkeys[96]; +} gl_3des_ctx; + +/* Check whether the 8 byte key is weak. Does not check the parity + * bits of the key but simple ignore them. */ +extern bool +gl_des_is_weak_key (const char * key); + +/* + * DES + * --- + */ + +/* Fill a DES context CTX with subkeys calculated from 64bit KEY. + * Does not check parity bits, but simply ignore them. Does not check + * for weak keys. */ +extern void +gl_des_setkey (gl_des_ctx *ctx, const char * key); + +/* Fill a DES context CTX with subkeys calculated from 64bit KEY, with + * weak key checking. Does not check parity bits, but simply ignore + * them. */ +extern bool +gl_des_makekey (gl_des_ctx *ctx, const char * key, size_t keylen); + +/* Electronic Codebook Mode DES encryption/decryption of data + * according to 'mode'. */ +extern void +gl_des_ecb_crypt (gl_des_ctx *ctx, const char * from, char * to, int mode); + +#define gl_des_ecb_encrypt(ctx, from, to) gl_des_ecb_crypt(ctx, from, to, 0) +#define gl_des_ecb_decrypt(ctx, from, to) gl_des_ecb_crypt(ctx, from, to, 1) + +/* Triple-DES + * ---------- + */ + +/* Fill a Triple-DES context CTX with subkeys calculated from two + * 64bit keys in KEY1 and KEY2. Does not check the parity bits of the + * keys, but simply ignore them. Does not check for weak keys. */ +extern void +gl_3des_set2keys (gl_3des_ctx *ctx, + const char * key1, + const char * key2); + +/* + * Fill a Triple-DES context CTX with subkeys calculated from three + * 64bit keys in KEY1, KEY2 and KEY3. Does not check the parity bits + * of the keys, but simply ignore them. Does not check for weak + * keys. */ +extern void +gl_3des_set3keys (gl_3des_ctx *ctx, + const char * key1, + const char * key2, + const char * key3); + +/* Fill a Triple-DES context CTX with subkeys calculated from three + * concatenated 64bit keys in KEY, with weak key checking. Does not + * check the parity bits of the keys, but simply ignore them. */ +extern bool +gl_3des_makekey (gl_3des_ctx *ctx, + const char * key, + size_t keylen); + +/* Electronic Codebook Mode Triple-DES encryption/decryption of data + * according to 'mode'. Sometimes this mode is named 'EDE' mode + * (Encryption-Decryption-Encryption). */ +extern void +gl_3des_ecb_crypt (gl_3des_ctx *ctx, + const char * from, + char * to, + int mode); + +#define gl_3des_ecb_encrypt(ctx, from, to) gl_3des_ecb_crypt(ctx,from,to,0) +#define gl_3des_ecb_decrypt(ctx, from, to) gl_3des_ecb_crypt(ctx,from,to,1) + +#endif /* DES_H */ diff -Nru gnutls26-2.8.6/lgl/float+.h gnutls26-2.4.1/lgl/float+.h --- gnutls26-2.8.6/lgl/float+.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/float+.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,148 @@ +/* Supplemental information about the floating-point formats. + Copyright (C) 2007 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _FLOATPLUS_H +#define _FLOATPLUS_H + +#include +#include + +/* Number of bits in the mantissa of a floating-point number, including the + "hidden bit". */ +#if FLT_RADIX == 2 +# define FLT_MANT_BIT FLT_MANT_DIG +# define DBL_MANT_BIT DBL_MANT_DIG +# define LDBL_MANT_BIT LDBL_MANT_DIG +#elif FLT_RADIX == 4 +# define FLT_MANT_BIT (FLT_MANT_DIG * 2) +# define DBL_MANT_BIT (DBL_MANT_DIG * 2) +# define LDBL_MANT_BIT (LDBL_MANT_DIG * 2) +#elif FLT_RADIX == 16 +# define FLT_MANT_BIT (FLT_MANT_DIG * 4) +# define DBL_MANT_BIT (DBL_MANT_DIG * 4) +# define LDBL_MANT_BIT (LDBL_MANT_DIG * 4) +#endif + +/* Bit mask that can be used to mask the exponent, as an unsigned number. */ +#define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7) +#define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) +#define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7) + +/* Number of bits used for the exponent of a floating-point number, including + the exponent's sign. */ +#define FLT_EXP_BIT \ + (FLT_EXP_MASK < 0x100 ? 8 : \ + FLT_EXP_MASK < 0x200 ? 9 : \ + FLT_EXP_MASK < 0x400 ? 10 : \ + FLT_EXP_MASK < 0x800 ? 11 : \ + FLT_EXP_MASK < 0x1000 ? 12 : \ + FLT_EXP_MASK < 0x2000 ? 13 : \ + FLT_EXP_MASK < 0x4000 ? 14 : \ + FLT_EXP_MASK < 0x8000 ? 15 : \ + FLT_EXP_MASK < 0x10000 ? 16 : \ + FLT_EXP_MASK < 0x20000 ? 17 : \ + FLT_EXP_MASK < 0x40000 ? 18 : \ + FLT_EXP_MASK < 0x80000 ? 19 : \ + FLT_EXP_MASK < 0x100000 ? 20 : \ + FLT_EXP_MASK < 0x200000 ? 21 : \ + FLT_EXP_MASK < 0x400000 ? 22 : \ + FLT_EXP_MASK < 0x800000 ? 23 : \ + FLT_EXP_MASK < 0x1000000 ? 24 : \ + FLT_EXP_MASK < 0x2000000 ? 25 : \ + FLT_EXP_MASK < 0x4000000 ? 26 : \ + FLT_EXP_MASK < 0x8000000 ? 27 : \ + FLT_EXP_MASK < 0x10000000 ? 28 : \ + FLT_EXP_MASK < 0x20000000 ? 29 : \ + FLT_EXP_MASK < 0x40000000 ? 30 : \ + FLT_EXP_MASK <= 0x7fffffff ? 31 : \ + 32) +#define DBL_EXP_BIT \ + (DBL_EXP_MASK < 0x100 ? 8 : \ + DBL_EXP_MASK < 0x200 ? 9 : \ + DBL_EXP_MASK < 0x400 ? 10 : \ + DBL_EXP_MASK < 0x800 ? 11 : \ + DBL_EXP_MASK < 0x1000 ? 12 : \ + DBL_EXP_MASK < 0x2000 ? 13 : \ + DBL_EXP_MASK < 0x4000 ? 14 : \ + DBL_EXP_MASK < 0x8000 ? 15 : \ + DBL_EXP_MASK < 0x10000 ? 16 : \ + DBL_EXP_MASK < 0x20000 ? 17 : \ + DBL_EXP_MASK < 0x40000 ? 18 : \ + DBL_EXP_MASK < 0x80000 ? 19 : \ + DBL_EXP_MASK < 0x100000 ? 20 : \ + DBL_EXP_MASK < 0x200000 ? 21 : \ + DBL_EXP_MASK < 0x400000 ? 22 : \ + DBL_EXP_MASK < 0x800000 ? 23 : \ + DBL_EXP_MASK < 0x1000000 ? 24 : \ + DBL_EXP_MASK < 0x2000000 ? 25 : \ + DBL_EXP_MASK < 0x4000000 ? 26 : \ + DBL_EXP_MASK < 0x8000000 ? 27 : \ + DBL_EXP_MASK < 0x10000000 ? 28 : \ + DBL_EXP_MASK < 0x20000000 ? 29 : \ + DBL_EXP_MASK < 0x40000000 ? 30 : \ + DBL_EXP_MASK <= 0x7fffffff ? 31 : \ + 32) +#define LDBL_EXP_BIT \ + (LDBL_EXP_MASK < 0x100 ? 8 : \ + LDBL_EXP_MASK < 0x200 ? 9 : \ + LDBL_EXP_MASK < 0x400 ? 10 : \ + LDBL_EXP_MASK < 0x800 ? 11 : \ + LDBL_EXP_MASK < 0x1000 ? 12 : \ + LDBL_EXP_MASK < 0x2000 ? 13 : \ + LDBL_EXP_MASK < 0x4000 ? 14 : \ + LDBL_EXP_MASK < 0x8000 ? 15 : \ + LDBL_EXP_MASK < 0x10000 ? 16 : \ + LDBL_EXP_MASK < 0x20000 ? 17 : \ + LDBL_EXP_MASK < 0x40000 ? 18 : \ + LDBL_EXP_MASK < 0x80000 ? 19 : \ + LDBL_EXP_MASK < 0x100000 ? 20 : \ + LDBL_EXP_MASK < 0x200000 ? 21 : \ + LDBL_EXP_MASK < 0x400000 ? 22 : \ + LDBL_EXP_MASK < 0x800000 ? 23 : \ + LDBL_EXP_MASK < 0x1000000 ? 24 : \ + LDBL_EXP_MASK < 0x2000000 ? 25 : \ + LDBL_EXP_MASK < 0x4000000 ? 26 : \ + LDBL_EXP_MASK < 0x8000000 ? 27 : \ + LDBL_EXP_MASK < 0x10000000 ? 28 : \ + LDBL_EXP_MASK < 0x20000000 ? 29 : \ + LDBL_EXP_MASK < 0x40000000 ? 30 : \ + LDBL_EXP_MASK <= 0x7fffffff ? 31 : \ + 32) + +/* Number of bits used for a floating-point number: the mantissa (not + counting the "hidden bit", since it may or may not be explicit), the + exponent, and the sign. */ +#define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1) +#define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1) +#define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1) + +/* Number of bytes used for a floating-point number. + This can be smaller than the 'sizeof'. For example, on i386 systems, + 'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence + LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but + sizeof (long double) = 12 or = 16. */ +#define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) +#define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) +#define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) + +/* Verify that SIZEOF_FLT <= sizeof (float) etc. */ +typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1]; +typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1]; +typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1]; + +#endif /* _FLOATPLUS_H */ diff -Nru gnutls26-2.8.6/lgl/float.in.h gnutls26-2.4.1/lgl/float.in.h --- gnutls26-2.8.6/lgl/float.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/float.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,58 @@ +/* A correct . + + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GL_FLOAT_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_FLOAT_H@ + +#ifndef _GL_FLOAT_H +#define _GL_FLOAT_H + +/* 'long double' properties. */ +#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) +/* Number of mantissa units, in base FLT_RADIX. */ +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 64 +/* Number of decimal digits that is sufficient for representing a number. */ +# undef LDBL_DIG +# define LDBL_DIG 18 +/* x-1 where x is the smallest representable number > 1. */ +# undef LDBL_EPSILON +# define LDBL_EPSILON 1.0842021724855044340E-19L +/* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP (-16381) +/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ +# undef LDBL_MAX_EXP +# define LDBL_MAX_EXP 16384 +/* Minimum positive normalized number. */ +# undef LDBL_MIN +# define LDBL_MIN 3.3621031431120935063E-4932L +/* Maximum representable finite number. */ +# undef LDBL_MAX +# define LDBL_MAX 1.1897314953572317650E+4932L +/* Minimum e such that 10^e is in the range of normalized numbers. */ +# undef LDBL_MIN_10_EXP +# define LDBL_MIN_10_EXP (-4931) +/* Maximum e such that 10^e is in the range of representable finite numbers. */ +# undef LDBL_MAX_10_EXP +# define LDBL_MAX_10_EXP 4932 +#endif + +#endif /* _GL_FLOAT_H */ +#endif /* _GL_FLOAT_H */ diff -Nru gnutls26-2.8.6/lgl/fseeko.c gnutls26-2.4.1/lgl/fseeko.c --- gnutls26-2.8.6/lgl/fseeko.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/fseeko.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,113 @@ +/* An fseeko() function that, together with fflush(), is POSIX compliant. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include + +/* Get off_t and lseek. */ +#include + +#include "stdio-impl.h" + +#undef fseeko +#if !HAVE_FSEEKO +# undef fseek +# define fseeko fseek +#endif + +int +rpl_fseeko (FILE *fp, off_t offset, int whence) +{ +#if LSEEK_PIPE_BROKEN + /* mingw gives bogus answers rather than failure on non-seekable files. */ + if (lseek (fileno (fp), 0, SEEK_CUR) == -1) + return EOF; +#endif + + /* These tests are based on fpurge.c. */ +#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ +# if defined __SL64 && defined __SCLE /* Cygwin */ + if ((fp->_flags & __SL64) == 0) + { + /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit + mode; but has an fseeko that requires 64-bit mode. */ + FILE *tmp = fopen ("/dev/null", "r"); + if (!tmp) + return -1; + fp->_flags |= __SL64; + fp->_seek64 = tmp->_seek64; + fclose (tmp); + } +# endif + if (fp_->_p == fp_->_bf._base + && fp_->_r == 0 + && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ + ? fp_->_bf._size + : 0) + && fp_ub._base == NULL) +#elif defined __EMX__ /* emx+gcc */ + if (fp->_ptr == fp->_buffer + && fp->_rcount == 0 + && fp->_wcount == 0 + && fp->_ungetc_count == 0) +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ + if (fp_->_ptr == fp_->_base + && (fp_->_ptr == NULL || fp_->_cnt == 0)) +#elif defined __UCLIBC__ /* uClibc */ + if (((fp->__modeflags & __FLAG_WRITING) == 0 + || fp->__bufpos == fp->__bufstart) + && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 + || fp->__bufpos == fp->__bufread)) +#elif defined __QNX__ /* QNX */ + if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend) + && fp->_Rback == fp->_Back + sizeof (fp->_Back) + && fp->_Rsave == NULL) +#else + #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." +#endif + { + off_t pos = lseek (fileno (fp), offset, whence); + if (pos == -1) + { +#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_flags &= ~__SOFF; +#endif + return -1; + } + else + { +#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_offset = pos; + fp_->_flags |= __SOFF; + fp_->_flags &= ~__SEOF; +#elif defined __EMX__ /* emx+gcc */ + fp->_flags &= ~_IOEOF; +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ + fp->_flag &= ~_IOEOF; +#endif + return 0; + } + } + else + return fseeko (fp, offset, whence); +} diff -Nru gnutls26-2.8.6/lgl/gc-gnulib.c gnutls26-2.4.1/lgl/gc-gnulib.c --- gnutls26-2.8.6/lgl/gc-gnulib.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/gc-gnulib.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,896 @@ +/* gc-gnulib.c --- Common gnulib internal crypto interface functions + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Simon Josefsson + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Note: This file is only built if GC uses internal functions. */ + +#include + +/* Get prototype. */ +#include "gc.h" + +#include +#include + +/* For randomize. */ +#ifdef GNULIB_GC_RANDOM +# include +# include +# include +# include +# include +#endif + +/* Hashes. */ +#ifdef GNULIB_GC_MD2 +# include "md2.h" +#endif +#ifdef GNULIB_GC_MD4 +# include "md4.h" +#endif +#ifdef GNULIB_GC_MD5 +# include "md5.h" +#endif +#ifdef GNULIB_GC_SHA1 +# include "sha1.h" +#endif +#if defined(GNULIB_GC_HMAC_MD5) || defined(GNULIB_GC_HMAC_SHA1) +# include "hmac.h" +#endif + +/* Ciphers. */ +#ifdef GNULIB_GC_ARCFOUR +# include "arcfour.h" +#endif +#ifdef GNULIB_GC_ARCTWO +# include "arctwo.h" +#endif +#ifdef GNULIB_GC_DES +# include "des.h" +#endif +#ifdef GNULIB_GC_RIJNDAEL +# include "rijndael-api-fst.h" +#endif + +/* The results of open() in this file are not used with fchdir, + therefore save some unnecessary work in fchdir.c. */ +#undef open +#undef close + +#ifdef GNULIB_GC_RANDOM +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +# include +HCRYPTPROV g_hProv = 0; +# endif +#endif + +Gc_rc +gc_init (void) +{ +#ifdef GNULIB_GC_RANDOM +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + if(g_hProv) + CryptReleaseContext(g_hProv, 0); + CryptAcquireContext(&g_hProv, NULL, NULL, PROV_RSA_FULL, 0); +# endif +#endif + + return GC_OK; +} + +void +gc_done (void) +{ +#ifdef GNULIB_GC_RANDOM +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + if(g_hProv) + { + CryptReleaseContext(g_hProv, 0); + g_hProv = 0; + } +# endif +#endif + + return; +} + +#ifdef GNULIB_GC_RANDOM + +/* Randomness. */ + +static Gc_rc +randomize (int level, char *data, size_t datalen) +{ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + if(!g_hProv) + return GC_RANDOM_ERROR; + CryptGenRandom(g_hProv, (DWORD)datalen, data); +#else + int fd; + const char *device; + size_t len = 0; + int rc; + + switch (level) + { + case 0: + device = NAME_OF_NONCE_DEVICE; + break; + + case 1: + device = NAME_OF_PSEUDO_RANDOM_DEVICE; + break; + + default: + device = NAME_OF_RANDOM_DEVICE; + break; + } + + if (strcmp (device, "no") == 0) + return GC_RANDOM_ERROR; + + fd = open (device, O_RDONLY); + if (fd < 0) + return GC_RANDOM_ERROR; + + do + { + ssize_t tmp; + + tmp = read (fd, data, datalen); + + if (tmp < 0) + { + int save_errno = errno; + close (fd); + errno = save_errno; + return GC_RANDOM_ERROR; + } + + len += tmp; + } + while (len < datalen); + + rc = close (fd); + if (rc < 0) + return GC_RANDOM_ERROR; +#endif + + return GC_OK; +} + +Gc_rc +gc_nonce (char *data, size_t datalen) +{ + return randomize (0, data, datalen); +} + +Gc_rc +gc_pseudo_random (char *data, size_t datalen) +{ + return randomize (1, data, datalen); +} + +Gc_rc +gc_random (char *data, size_t datalen) +{ + return randomize (2, data, datalen); +} + +#endif + +/* Memory allocation. */ + +void +gc_set_allocators (gc_malloc_t func_malloc, + gc_malloc_t secure_malloc, + gc_secure_check_t secure_check, + gc_realloc_t func_realloc, gc_free_t func_free) +{ + return; +} +/* Ciphers. */ + +typedef struct _gc_cipher_ctx { + Gc_cipher alg; + Gc_cipher_mode mode; +#ifdef GNULIB_GC_ARCTWO + arctwo_context arctwoContext; + char arctwoIV[ARCTWO_BLOCK_SIZE]; +#endif +#ifdef GNULIB_GC_ARCFOUR + arcfour_context arcfourContext; +#endif +#ifdef GNULIB_GC_DES + gl_des_ctx desContext; +#endif +#ifdef GNULIB_GC_RIJNDAEL + rijndaelKeyInstance aesEncKey; + rijndaelKeyInstance aesDecKey; + rijndaelCipherInstance aesContext; +#endif +} _gc_cipher_ctx; + +Gc_rc +gc_cipher_open (Gc_cipher alg, Gc_cipher_mode mode, + gc_cipher_handle * outhandle) +{ + _gc_cipher_ctx *ctx; + Gc_rc rc = GC_OK; + + ctx = calloc (sizeof (*ctx), 1); + if (!ctx) + return GC_MALLOC_ERROR; + + ctx->alg = alg; + ctx->mode = mode; + + switch (alg) + { +#ifdef GNULIB_GC_ARCTWO + case GC_ARCTWO40: + switch (mode) + { + case GC_ECB: + case GC_CBC: + break; + + default: + rc = GC_INVALID_CIPHER; + } + break; +#endif + +#ifdef GNULIB_GC_ARCFOUR + case GC_ARCFOUR128: + case GC_ARCFOUR40: + switch (mode) + { + case GC_STREAM: + break; + + default: + rc = GC_INVALID_CIPHER; + } + break; +#endif + +#ifdef GNULIB_GC_DES + case GC_DES: + switch (mode) + { + case GC_ECB: + break; + + default: + rc = GC_INVALID_CIPHER; + } + break; +#endif + +#ifdef GNULIB_GC_RIJNDAEL + case GC_AES128: + case GC_AES192: + case GC_AES256: + switch (mode) + { + case GC_ECB: + case GC_CBC: + break; + + default: + rc = GC_INVALID_CIPHER; + } + break; +#endif + + default: + rc = GC_INVALID_CIPHER; + } + + if (rc == GC_OK) + *outhandle = ctx; + else + free (ctx); + + return rc; +} + +Gc_rc +gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) +{ + _gc_cipher_ctx *ctx = handle; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_ARCTWO + case GC_ARCTWO40: + arctwo_setkey (&ctx->arctwoContext, keylen, key); + break; +#endif + +#ifdef GNULIB_GC_ARCFOUR + case GC_ARCFOUR128: + case GC_ARCFOUR40: + arcfour_setkey (&ctx->arcfourContext, key, keylen); + break; +#endif + +#ifdef GNULIB_GC_DES + case GC_DES: + if (keylen != 8) + return GC_INVALID_CIPHER; + gl_des_setkey (&ctx->desContext, key); + break; +#endif + +#ifdef GNULIB_GC_RIJNDAEL + case GC_AES128: + case GC_AES192: + case GC_AES256: + { + rijndael_rc rc; + size_t i; + char keyMaterial[RIJNDAEL_MAX_KEY_SIZE + 1]; + + for (i = 0; i < keylen; i++) + sprintf (&keyMaterial[2*i], "%02x", key[i] & 0xFF); + + rc = rijndaelMakeKey (&ctx->aesEncKey, RIJNDAEL_DIR_ENCRYPT, + keylen * 8, keyMaterial); + if (rc < 0) + return GC_INVALID_CIPHER; + + rc = rijndaelMakeKey (&ctx->aesDecKey, RIJNDAEL_DIR_DECRYPT, + keylen * 8, keyMaterial); + if (rc < 0) + return GC_INVALID_CIPHER; + + rc = rijndaelCipherInit (&ctx->aesContext, RIJNDAEL_MODE_ECB, NULL); + if (rc < 0) + return GC_INVALID_CIPHER; + } + break; +#endif + + default: + return GC_INVALID_CIPHER; + } + + return GC_OK; +} + +Gc_rc +gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) +{ + _gc_cipher_ctx *ctx = handle; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_ARCTWO + case GC_ARCTWO40: + if (ivlen != ARCTWO_BLOCK_SIZE) + return GC_INVALID_CIPHER; + memcpy (ctx->arctwoIV, iv, ivlen); + break; +#endif + +#ifdef GNULIB_GC_RIJNDAEL + case GC_AES128: + case GC_AES192: + case GC_AES256: + switch (ctx->mode) + { + case GC_ECB: + /* Doesn't use IV. */ + break; + + case GC_CBC: + { + rijndael_rc rc; + size_t i; + char ivMaterial[2 * RIJNDAEL_MAX_IV_SIZE + 1]; + + for (i = 0; i < ivlen; i++) + sprintf (&ivMaterial[2*i], "%02x", iv[i] & 0xFF); + + rc = rijndaelCipherInit (&ctx->aesContext, RIJNDAEL_MODE_CBC, + ivMaterial); + if (rc < 0) + return GC_INVALID_CIPHER; + } + break; + + default: + return GC_INVALID_CIPHER; + } + break; +#endif + + default: + return GC_INVALID_CIPHER; + } + + return GC_OK; +} + +Gc_rc +gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) +{ + _gc_cipher_ctx *ctx = handle; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_ARCTWO + case GC_ARCTWO40: + switch (ctx->mode) + { + case GC_ECB: + arctwo_encrypt (&ctx->arctwoContext, data, data, len); + break; + + case GC_CBC: + for (; len >= ARCTWO_BLOCK_SIZE; len -= ARCTWO_BLOCK_SIZE, + data += ARCTWO_BLOCK_SIZE) + { + size_t i; + for (i = 0; i < ARCTWO_BLOCK_SIZE; i++) + data[i] ^= ctx->arctwoIV[i]; + arctwo_encrypt (&ctx->arctwoContext, data, data, + ARCTWO_BLOCK_SIZE); + memcpy (ctx->arctwoIV, data, ARCTWO_BLOCK_SIZE); + } + break; + + default: + return GC_INVALID_CIPHER; + } + break; +#endif + +#ifdef GNULIB_GC_ARCFOUR + case GC_ARCFOUR128: + case GC_ARCFOUR40: + arcfour_stream (&ctx->arcfourContext, data, data, len); + break; +#endif + +#ifdef GNULIB_GC_DES + case GC_DES: + for (; len >= 8; len -= 8, data += 8) + gl_des_ecb_encrypt (&ctx->desContext, data, data); + break; +#endif + +#ifdef GNULIB_GC_RIJNDAEL + case GC_AES128: + case GC_AES192: + case GC_AES256: + { + int nblocks; + + nblocks = rijndaelBlockEncrypt (&ctx->aesContext, &ctx->aesEncKey, + data, 8 * len, data); + if (nblocks < 0) + return GC_INVALID_CIPHER; + } + break; +#endif + + default: + return GC_INVALID_CIPHER; + } + + return GC_OK; +} + +Gc_rc +gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len, char *data) +{ + _gc_cipher_ctx *ctx = handle; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_ARCTWO + case GC_ARCTWO40: + switch (ctx->mode) + { + case GC_ECB: + arctwo_decrypt (&ctx->arctwoContext, data, data, len); + break; + + case GC_CBC: + for (; len >= ARCTWO_BLOCK_SIZE; len -= ARCTWO_BLOCK_SIZE, + data += ARCTWO_BLOCK_SIZE) + { + char tmpIV[ARCTWO_BLOCK_SIZE]; + size_t i; + memcpy (tmpIV, data, ARCTWO_BLOCK_SIZE); + arctwo_decrypt (&ctx->arctwoContext, data, data, + ARCTWO_BLOCK_SIZE); + for (i = 0; i < ARCTWO_BLOCK_SIZE; i++) + data[i] ^= ctx->arctwoIV[i]; + memcpy (ctx->arctwoIV, tmpIV, ARCTWO_BLOCK_SIZE); + } + break; + + default: + return GC_INVALID_CIPHER; + } + break; +#endif + +#ifdef GNULIB_GC_ARCFOUR + case GC_ARCFOUR128: + case GC_ARCFOUR40: + arcfour_stream (&ctx->arcfourContext, data, data, len); + break; +#endif + +#ifdef GNULIB_GC_DES + case GC_DES: + for (; len >= 8; len -= 8, data += 8) + gl_des_ecb_decrypt (&ctx->desContext, data, data); + break; +#endif + +#ifdef GNULIB_GC_RIJNDAEL + case GC_AES128: + case GC_AES192: + case GC_AES256: + { + int nblocks; + + nblocks = rijndaelBlockDecrypt (&ctx->aesContext, &ctx->aesDecKey, + data, 8 * len, data); + if (nblocks < 0) + return GC_INVALID_CIPHER; + } + break; +#endif + + default: + return GC_INVALID_CIPHER; + } + + return GC_OK; +} + +Gc_rc +gc_cipher_close (gc_cipher_handle handle) +{ + _gc_cipher_ctx *ctx = handle; + + free (ctx); + + return GC_OK; +} + +/* Hashes. */ + +#define MAX_DIGEST_SIZE 20 + +typedef struct _gc_hash_ctx { + Gc_hash alg; + Gc_hash_mode mode; + char hash[MAX_DIGEST_SIZE]; +#ifdef GNULIB_GC_MD2 + struct md2_ctx md2Context; +#endif +#ifdef GNULIB_GC_MD4 + struct md4_ctx md4Context; +#endif +#ifdef GNULIB_GC_MD5 + struct md5_ctx md5Context; +#endif +#ifdef GNULIB_GC_SHA1 + struct sha1_ctx sha1Context; +#endif +} _gc_hash_ctx; + +Gc_rc +gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle * outhandle) +{ + _gc_hash_ctx *ctx; + Gc_rc rc = GC_OK; + + ctx = calloc (sizeof (*ctx), 1); + if (!ctx) + return GC_MALLOC_ERROR; + + ctx->alg = hash; + ctx->mode = mode; + + switch (hash) + { +#ifdef GNULIB_GC_MD2 + case GC_MD2: + md2_init_ctx (&ctx->md2Context); + break; +#endif + +#ifdef GNULIB_GC_MD4 + case GC_MD4: + md4_init_ctx (&ctx->md4Context); + break; +#endif + +#ifdef GNULIB_GC_MD5 + case GC_MD5: + md5_init_ctx (&ctx->md5Context); + break; +#endif + +#ifdef GNULIB_GC_SHA1 + case GC_SHA1: + sha1_init_ctx (&ctx->sha1Context); + break; +#endif + + default: + rc = GC_INVALID_HASH; + break; + } + + switch (mode) + { + case 0: + break; + + default: + rc = GC_INVALID_HASH; + break; + } + + if (rc == GC_OK) + *outhandle = ctx; + else + free (ctx); + + return rc; +} + +Gc_rc +gc_hash_clone (gc_hash_handle handle, gc_hash_handle * outhandle) +{ + _gc_hash_ctx *in = handle; + _gc_hash_ctx *out; + + *outhandle = out = calloc (sizeof (*out), 1); + if (!out) + return GC_MALLOC_ERROR; + + memcpy (out, in, sizeof (*out)); + + return GC_OK; +} + +size_t +gc_hash_digest_length (Gc_hash hash) +{ + size_t len; + + switch (hash) + { + case GC_MD2: + len = GC_MD2_DIGEST_SIZE; + break; + + case GC_MD4: + len = GC_MD4_DIGEST_SIZE; + break; + + case GC_MD5: + len = GC_MD5_DIGEST_SIZE; + break; + + case GC_RMD160: + len = GC_RMD160_DIGEST_SIZE; + break; + + case GC_SHA1: + len = GC_SHA1_DIGEST_SIZE; + break; + + default: + return 0; + } + + return len; +} + +void +gc_hash_write (gc_hash_handle handle, size_t len, const char *data) +{ + _gc_hash_ctx *ctx = handle; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_MD2 + case GC_MD2: + md2_process_bytes (data, len, &ctx->md2Context); + break; +#endif + +#ifdef GNULIB_GC_MD4 + case GC_MD4: + md4_process_bytes (data, len, &ctx->md4Context); + break; +#endif + +#ifdef GNULIB_GC_MD5 + case GC_MD5: + md5_process_bytes (data, len, &ctx->md5Context); + break; +#endif + +#ifdef GNULIB_GC_SHA1 + case GC_SHA1: + sha1_process_bytes (data, len, &ctx->sha1Context); + break; +#endif + + default: + break; + } +} + +const char * +gc_hash_read (gc_hash_handle handle) +{ + _gc_hash_ctx *ctx = handle; + const char *ret = NULL; + + switch (ctx->alg) + { +#ifdef GNULIB_GC_MD2 + case GC_MD2: + md2_finish_ctx (&ctx->md2Context, ctx->hash); + ret = ctx->hash; + break; +#endif + +#ifdef GNULIB_GC_MD4 + case GC_MD4: + md4_finish_ctx (&ctx->md4Context, ctx->hash); + ret = ctx->hash; + break; +#endif + +#ifdef GNULIB_GC_MD5 + case GC_MD5: + md5_finish_ctx (&ctx->md5Context, ctx->hash); + ret = ctx->hash; + break; +#endif + +#ifdef GNULIB_GC_SHA1 + case GC_SHA1: + sha1_finish_ctx (&ctx->sha1Context, ctx->hash); + ret = ctx->hash; + break; +#endif + + default: + return NULL; + } + + return ret; +} + +void +gc_hash_close (gc_hash_handle handle) +{ + _gc_hash_ctx *ctx = handle; + + free (ctx); +} + +Gc_rc +gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char *resbuf) +{ + switch (hash) + { +#ifdef GNULIB_GC_MD2 + case GC_MD2: + md2_buffer (in, inlen, resbuf); + break; +#endif + +#ifdef GNULIB_GC_MD4 + case GC_MD4: + md4_buffer (in, inlen, resbuf); + break; +#endif + +#ifdef GNULIB_GC_MD5 + case GC_MD5: + md5_buffer (in, inlen, resbuf); + break; +#endif + +#ifdef GNULIB_GC_SHA1 + case GC_SHA1: + sha1_buffer (in, inlen, resbuf); + break; +#endif + + default: + return GC_INVALID_HASH; + } + + return GC_OK; +} + +#ifdef GNULIB_GC_MD2 +Gc_rc +gc_md2 (const void *in, size_t inlen, void *resbuf) +{ + md2_buffer (in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_MD4 +Gc_rc +gc_md4 (const void *in, size_t inlen, void *resbuf) +{ + md4_buffer (in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_MD5 +Gc_rc +gc_md5 (const void *in, size_t inlen, void *resbuf) +{ + md5_buffer (in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_SHA1 +Gc_rc +gc_sha1 (const void *in, size_t inlen, void *resbuf) +{ + sha1_buffer (in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_HMAC_MD5 +Gc_rc +gc_hmac_md5 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf) +{ + hmac_md5 (key, keylen, in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_HMAC_SHA1 +Gc_rc +gc_hmac_sha1 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf) +{ + hmac_sha1 (key, keylen, in, inlen, resbuf); + return GC_OK; +} +#endif diff -Nru gnutls26-2.8.6/lgl/gc.h gnutls26-2.4.1/lgl/gc.h --- gnutls26-2.8.6/lgl/gc.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/gc.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,317 @@ +/* gc.h --- Header file for implementation agnostic crypto wrapper API. + * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008 Simon Josefsson + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +#ifndef GC_H +# define GC_H + +/* Get size_t. */ +# include + +enum Gc_rc +{ + GC_OK = 0, + GC_MALLOC_ERROR, + GC_INIT_ERROR, + GC_RANDOM_ERROR, + GC_INVALID_CIPHER, + GC_INVALID_HASH, + GC_PKCS5_INVALID_ITERATION_COUNT, + GC_PKCS5_INVALID_DERIVED_KEY_LENGTH, + GC_PKCS5_DERIVED_KEY_TOO_LONG +}; +typedef enum Gc_rc Gc_rc; + +/* Hash types. */ +enum Gc_hash +{ + GC_MD4, + GC_MD5, + GC_SHA1, + GC_MD2, + GC_RMD160, + GC_SHA256, + GC_SHA384, + GC_SHA512, + GC_SHA224 +}; +typedef enum Gc_hash Gc_hash; + +enum Gc_hash_mode +{ + GC_HMAC = 1 +}; +typedef enum Gc_hash_mode Gc_hash_mode; + +typedef void *gc_hash_handle; + +#define GC_MD2_DIGEST_SIZE 16 +#define GC_MD4_DIGEST_SIZE 16 +#define GC_MD5_DIGEST_SIZE 16 +#define GC_RMD160_DIGEST_SIZE 20 +#define GC_SHA1_DIGEST_SIZE 20 +#define GC_SHA256_DIGEST_SIZE 32 +#define GC_SHA384_DIGEST_SIZE 48 +#define GC_SHA512_DIGEST_SIZE 64 +#define GC_SHA224_DIGEST_SIZE 24 + +/* Cipher types. */ +enum Gc_cipher +{ + GC_AES128, + GC_AES192, + GC_AES256, + GC_3DES, + GC_DES, + GC_ARCFOUR128, + GC_ARCFOUR40, + GC_ARCTWO40, + GC_CAMELLIA128, + GC_CAMELLIA256 +}; +typedef enum Gc_cipher Gc_cipher; + +enum Gc_cipher_mode +{ + GC_ECB, + GC_CBC, + GC_STREAM +}; +typedef enum Gc_cipher_mode Gc_cipher_mode; + +typedef void *gc_cipher_handle; + +/* Call before respectively after any other functions. */ +extern Gc_rc gc_init (void); +extern void gc_done (void); + +/* Memory allocation (avoid). */ +typedef void *(*gc_malloc_t) (size_t n); +typedef int (*gc_secure_check_t) (const void *); +typedef void *(*gc_realloc_t) (void *p, size_t n); +typedef void (*gc_free_t) (void *); +extern void gc_set_allocators (gc_malloc_t func_malloc, + gc_malloc_t secure_malloc, + gc_secure_check_t secure_check, + gc_realloc_t func_realloc, + gc_free_t func_free); + +/* Randomness. */ +extern Gc_rc gc_nonce (char *data, size_t datalen); +extern Gc_rc gc_pseudo_random (char *data, size_t datalen); +extern Gc_rc gc_random (char *data, size_t datalen); + +/* Ciphers. */ +extern Gc_rc gc_cipher_open (Gc_cipher cipher, Gc_cipher_mode mode, + gc_cipher_handle *outhandle); +extern Gc_rc gc_cipher_setkey (gc_cipher_handle handle, + size_t keylen, const char *key); +extern Gc_rc gc_cipher_setiv (gc_cipher_handle handle, + size_t ivlen, const char *iv); +extern Gc_rc gc_cipher_encrypt_inline (gc_cipher_handle handle, + size_t len, char *data); +extern Gc_rc gc_cipher_decrypt_inline (gc_cipher_handle handle, + size_t len, char *data); +extern Gc_rc gc_cipher_close (gc_cipher_handle handle); + +/* Hashes. */ + +extern Gc_rc gc_hash_open (Gc_hash hash, Gc_hash_mode mode, + gc_hash_handle *outhandle); +extern Gc_rc gc_hash_clone (gc_hash_handle handle, gc_hash_handle *outhandle); +extern size_t gc_hash_digest_length (Gc_hash hash); +extern void gc_hash_hmac_setkey (gc_hash_handle handle, + size_t len, const char *key); +extern void gc_hash_write (gc_hash_handle handle, + size_t len, const char *data); +extern const char *gc_hash_read (gc_hash_handle handle); +extern void gc_hash_close (gc_hash_handle handle); + +/* Compute a hash value over buffer IN of INLEN bytes size using the + algorithm HASH, placing the result in the pre-allocated buffer OUT. + The required size of OUT depends on HASH, and is generally + GC__DIGEST_SIZE. For example, for GC_MD5 the output buffer + must be 16 bytes. The return value is 0 (GC_OK) on success, or + another Gc_rc error code. */ +extern Gc_rc +gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char *out); + +/* One-call interface. */ +extern Gc_rc gc_md2 (const void *in, size_t inlen, void *resbuf); +extern Gc_rc gc_md4 (const void *in, size_t inlen, void *resbuf); +extern Gc_rc gc_md5 (const void *in, size_t inlen, void *resbuf); +extern Gc_rc gc_sha1 (const void *in, size_t inlen, void *resbuf); +extern Gc_rc gc_hmac_md5 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf); +extern Gc_rc gc_hmac_sha1 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf); + +/* Derive cryptographic keys from a password P of length PLEN, with + salt S of length SLEN, placing the result in pre-allocated buffer + DK of length DKLEN. An iteration count is specified in C, where a + larger value means this function take more time (typical iteration + counts are 1000-20000). This function "stretches" the key to be + exactly dkLen bytes long. GC_OK is returned on success, otherwise + an Gc_rc error code is returned. */ +extern Gc_rc +gc_pbkdf2_sha1 (const char *P, size_t Plen, + const char *S, size_t Slen, + unsigned int c, char *DK, size_t dkLen); + +/* + TODO: + + From: Simon Josefsson + Subject: Re: generic crypto + Newsgroups: gmane.comp.lib.gnulib.bugs + Cc: bug-gnulib@gnu.org + Date: Fri, 07 Oct 2005 12:50:57 +0200 + Mail-Copies-To: nobody + + Paul Eggert writes: + + > Simon Josefsson writes: + > + >> * Perhaps the /dev/?random reading should be separated into a separate + >> module? It might be useful outside of the gc layer too. + > + > Absolutely. I've been meaning to do that for months (for a "shuffle" + > program I want to add to coreutils), but hadn't gotten around to it. + > It would have to be generalized a bit. I'd like to have the file + > descriptor cached, for example. + + I'll write a separate module for that part. + + I think we should even add a good PRNG that is re-seeded from + /dev/?random frequently. GnuTLS can need a lot of random data on a + big server, more than /dev/random can supply. And /dev/urandom might + not be strong enough. Further, the security of /dev/?random can also + be questionable. + + >> I'm also not sure about the names of those functions, they suggest + >> a more higher-level API than what is really offered (i.e., the + >> names "nonce" and "pseudo_random" and "random" imply certain + >> cryptographic properties). + > + > Could you expand a bit more on that? What is the relationship between + > nonce/pseudorandom/random and the /dev/ values you are using? + + There is none, that is the problem. + + Applications generally need different kind of "random" numbers. + Sometimes they just need some random data and doesn't care whether it + is possible for an attacker to compute the string (aka a "nonce"). + Sometimes they need data that is very difficult to compute (i.e., + computing it require inverting SHA1 or similar). Sometimes they need + data that is not possible to compute, i.e., it wants real entropy + collected over time on the system. Collecting the last kind of random + data is very expensive, so it must not be used too often. The second + kind of random data ("pseudo random") is typically generated by + seeding a good PRNG with a couple of hundred bytes of real entropy + from the "real random" data pool. The "nonce" is usually computed + using the PRNG as well, because PRNGs are usually fast. + + Pseudo-random data is typically used for session keys. Strong random + data is often used to generate long-term keys (e.g., private RSA + keys). + + Of course, there are many subtleties. There are several different + kind of nonce:s. Sometimes a nonce is just an ever-increasing + integer, starting from 0. Sometimes it is assumed to be unlikely to + be the same as previous nonces, but without a requirement that the + nonce is possible to guess. MD5(system clock) would thus suffice, if + it isn't called too often. You can guess what the next value will be, + but it will always be different. + + The problem is that /dev/?random doesn't offer any kind of semantic + guarantees. But applications need an API that make that promise. + + I think we should do this in several steps: + + 1) Write a module that can read from /dev/?random. + + 2) Add a module for a known-good PRNG suitable for random number + generation, that can be continuously re-seeded. + + 3) Add a high-level module that provide various different randomness + functions. One for nonces, perhaps even different kind of nonces, + one for pseudo random data, and one for strong random data. It is + not clear whether we can hope to achieve the last one in a portable + way. + + Further, it would be useful to allow users to provide their own + entropy source as a file, used to seed the PRNG or initialize the + strong randomness pool. This is used on embedded platforms that + doesn't have enough interrupts to hope to generate good random data. + + > For example, why not use OpenBSD's /dev/arandom? + + I don't trust ARC4. For example, recent cryptographic efforts + indicate that you must throw away the first 512 bytes generated from + the PRNG for it to be secure. I don't know whether OpenBSD do this. + Further, I recall some eprint paper on RC4 security that didn't + inspire confidence. + + While I trust the random devices in OpenBSD more than + Solaris/AIX/HPUX/etc, I think that since we need something better on + Solaris/AIX/HPUX we'd might as well use it on OpenBSD or even Linux + too. + + > Here is one thought. The user could specify a desired quality level + > range, and the implementation then would supply random data that is at + > least as good as the lower bound of the range. I.e., ihe + > implementation refuses to produce any random data if it can't generate + > data that is at least as good as the lower end of the range. The + > upper bound of the range is advice from the user not to be any more + > expensive than that, but the implementation can ignore the advice if + > it doesn't have anything cheaper. + + I'm not sure this is a good idea. Users can't really be expected to + understand this. Further, applications need many different kind of + random data. Selecting the randomness level for each by the user will + be too complicated. + + I think it is better if the application decide, from its cryptographic + requirement, what entropy quality it require, and call the proper API. + Meeting the implied semantic properties should be the job for gnulib. + + >> Perhaps gc_dev_random and gc_dev_urandom? + > + > To some extent. I'd rather insulate the user from the details of + > where the random numbers come from. On the other hand we need to + > provide a way for applications to specify a file that contains + > random bits, so that people can override the defaults. + + Agreed. + + This may require some thinking before it is finalized. Is it ok to + install the GC module as-is meanwhile? Then I can continue to add the + stuff that GnuTLS need, and then come back to re-working the + randomness module. That way, we have two different projects that use + the code. GnuTLS includes the same randomness code that was in GNU + SASL and that is in the current gc module. I feel much more + comfortable working in small steps at a time, rather then working on + this for a long time in gnulib and only later integrate the stuff in + GnuTLS. + + Thanks, + Simon + */ + +#endif /* GC_H */ diff -Nru gnutls26-2.8.6/lgl/gc-libgcrypt.c gnutls26-2.4.1/lgl/gc-libgcrypt.c --- gnutls26-2.8.6/lgl/gc-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/gc-libgcrypt.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,729 @@ +/* gc-libgcrypt.c --- Crypto wrappers around Libgcrypt for GC. + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Simon Josefsson + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Note: This file is only built if GC uses Libgcrypt. */ + +#include + +/* Get prototype. */ +#include "gc.h" + +#include +#include + +/* Get libgcrypt API. */ +#include +#ifdef GNULIB_GC_MD2 +# include "md2.h" +#endif + +#include + +/* Initialization. */ + +Gc_rc +gc_init (void) +{ + gcry_error_t err; + + err = gcry_control (GCRYCTL_ANY_INITIALIZATION_P); + if (err == GPG_ERR_NO_ERROR) + { + if (gcry_control (GCRYCTL_DISABLE_SECMEM, NULL, 0)) + return GC_INIT_ERROR; + + if (gcry_check_version (GCRYPT_VERSION) == NULL) + return GC_INIT_ERROR; + + err = gcry_control (GCRYCTL_INITIALIZATION_FINISHED, NULL, 0); + if (err != GPG_ERR_NO_ERROR) + return GC_INIT_ERROR; + } + + return GC_OK; +} + +void +gc_done (void) +{ + return; +} + +#ifdef GNULIB_GC_RANDOM + +/* Randomness. */ + +Gc_rc +gc_nonce (char *data, size_t datalen) +{ + gcry_create_nonce ((unsigned char *) data, datalen); + return GC_OK; +} + +Gc_rc +gc_pseudo_random (char *data, size_t datalen) +{ + gcry_randomize ((unsigned char *) data, datalen, GCRY_STRONG_RANDOM); + return GC_OK; +} + +Gc_rc +gc_random (char *data, size_t datalen) +{ + gcry_randomize ((unsigned char *) data, datalen, GCRY_VERY_STRONG_RANDOM); + return GC_OK; +} + +#endif + +/* Memory allocation. */ + +void +gc_set_allocators (gc_malloc_t func_malloc, + gc_malloc_t secure_malloc, + gc_secure_check_t secure_check, + gc_realloc_t func_realloc, gc_free_t func_free) +{ + gcry_set_allocation_handler (func_malloc, secure_malloc, secure_check, + func_realloc, func_free); +} + +/* Ciphers. */ + +Gc_rc +gc_cipher_open (Gc_cipher alg, Gc_cipher_mode mode, + gc_cipher_handle * outhandle) +{ + int gcryalg, gcrymode; + gcry_error_t err; + + switch (alg) + { + case GC_AES128: + gcryalg = GCRY_CIPHER_RIJNDAEL; + break; + + case GC_AES192: + gcryalg = GCRY_CIPHER_RIJNDAEL; + break; + + case GC_AES256: + gcryalg = GCRY_CIPHER_RIJNDAEL256; + break; + + case GC_3DES: + gcryalg = GCRY_CIPHER_3DES; + break; + + case GC_DES: + gcryalg = GCRY_CIPHER_DES; + break; + + case GC_ARCFOUR128: + case GC_ARCFOUR40: + gcryalg = GCRY_CIPHER_ARCFOUR; + break; + + case GC_ARCTWO40: + gcryalg = GCRY_CIPHER_RFC2268_40; + break; + +#ifdef ENABLE_CAMELLIA + case GC_CAMELLIA128: + gcryalg = GCRY_CIPHER_CAMELLIA128; + break; + + case GC_CAMELLIA256: + gcryalg = GCRY_CIPHER_CAMELLIA256; + break; +#endif + + default: + return GC_INVALID_CIPHER; + } + + switch (mode) + { + case GC_ECB: + gcrymode = GCRY_CIPHER_MODE_ECB; + break; + + case GC_CBC: + gcrymode = GCRY_CIPHER_MODE_CBC; + break; + + case GC_STREAM: + gcrymode = GCRY_CIPHER_MODE_STREAM; + break; + + default: + return GC_INVALID_CIPHER; + } + + err = gcry_cipher_open ((gcry_cipher_hd_t *) outhandle, + gcryalg, gcrymode, 0); + if (gcry_err_code (err)) + return GC_INVALID_CIPHER; + + return GC_OK; +} + +Gc_rc +gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) +{ + gcry_error_t err; + + err = gcry_cipher_setkey ((gcry_cipher_hd_t) handle, key, keylen); + if (gcry_err_code (err)) + return GC_INVALID_CIPHER; + + return GC_OK; +} + +Gc_rc +gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) +{ + gcry_error_t err; + + err = gcry_cipher_setiv ((gcry_cipher_hd_t) handle, iv, ivlen); + if (gcry_err_code (err)) + return GC_INVALID_CIPHER; + + return GC_OK; +} + +Gc_rc +gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) +{ + if (gcry_cipher_encrypt ((gcry_cipher_hd_t) handle, + data, len, NULL, len) != 0) + return GC_INVALID_CIPHER; + + return GC_OK; +} + +Gc_rc +gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len, char *data) +{ + if (gcry_cipher_decrypt ((gcry_cipher_hd_t) handle, + data, len, NULL, len) != 0) + return GC_INVALID_CIPHER; + + return GC_OK; +} + +Gc_rc +gc_cipher_close (gc_cipher_handle handle) +{ + gcry_cipher_close (handle); + + return GC_OK; +} + +/* Hashes. */ + +typedef struct _gc_hash_ctx { + Gc_hash alg; + Gc_hash_mode mode; + gcry_md_hd_t gch; +#ifdef GNULIB_GC_MD2 + char hash[GC_MD2_DIGEST_SIZE]; + struct md2_ctx md2Context; +#endif +} _gc_hash_ctx; + +Gc_rc +gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle * outhandle) +{ + _gc_hash_ctx *ctx; + int gcryalg = 0, gcrymode = 0; + gcry_error_t err; + Gc_rc rc = GC_OK; + + ctx = calloc (sizeof (*ctx), 1); + if (!ctx) + return GC_MALLOC_ERROR; + + ctx->alg = hash; + ctx->mode = mode; + + switch (hash) + { + case GC_MD2: + gcryalg = GCRY_MD_NONE; + break; + + case GC_MD4: + gcryalg = GCRY_MD_MD4; + break; + + case GC_MD5: + gcryalg = GCRY_MD_MD5; + break; + + case GC_SHA1: + gcryalg = GCRY_MD_SHA1; + break; + + case GC_SHA256: + gcryalg = GCRY_MD_SHA256; + break; + + case GC_SHA384: + gcryalg = GCRY_MD_SHA384; + break; + + case GC_SHA512: + gcryalg = GCRY_MD_SHA512; + break; + +#ifdef ENABLE_CAMELLIA + case GC_SHA224: + gcryalg = GCRY_MD_SHA224; + break; +#endif + + case GC_RMD160: + gcryalg = GCRY_MD_RMD160; + break; + + default: + rc = GC_INVALID_HASH; + } + + switch (mode) + { + case 0: + gcrymode = 0; + break; + + case GC_HMAC: + gcrymode = GCRY_MD_FLAG_HMAC; + break; + + default: + rc = GC_INVALID_HASH; + } + + if (rc == GC_OK && gcryalg != GCRY_MD_NONE) + { + err = gcry_md_open (&ctx->gch, gcryalg, gcrymode); + if (gcry_err_code (err)) + rc = GC_INVALID_HASH; + } + + if (rc == GC_OK) + *outhandle = ctx; + else + free (ctx); + + return rc; +} + +Gc_rc +gc_hash_clone (gc_hash_handle handle, gc_hash_handle * outhandle) +{ + _gc_hash_ctx *in = handle; + _gc_hash_ctx *out; + int err; + + *outhandle = out = calloc (sizeof (*out), 1); + if (!out) + return GC_MALLOC_ERROR; + + memcpy (out, in, sizeof (*out)); + + err = gcry_md_copy (&out->gch, in->gch); + if (err) + { + free (out); + return GC_INVALID_HASH; + } + + return GC_OK; +} + +size_t +gc_hash_digest_length (Gc_hash hash) +{ + size_t len; + + switch (hash) + { + case GC_MD2: + len = GC_MD2_DIGEST_SIZE; + break; + + case GC_MD4: + len = GC_MD4_DIGEST_SIZE; + break; + + case GC_MD5: + len = GC_MD5_DIGEST_SIZE; + break; + + case GC_RMD160: + len = GC_RMD160_DIGEST_SIZE; + break; + + case GC_SHA1: + len = GC_SHA1_DIGEST_SIZE; + break; + + case GC_SHA256: + len = GC_SHA256_DIGEST_SIZE; + break; + + case GC_SHA384: + len = GC_SHA384_DIGEST_SIZE; + break; + + case GC_SHA512: + len = GC_SHA512_DIGEST_SIZE; + break; + +#ifdef ENABLE_CAMELLIA + case GC_SHA224: + len = GC_SHA224_DIGEST_SIZE; + break; +#endif + + default: + return 0; + } + + return len; +} + +void +gc_hash_hmac_setkey (gc_hash_handle handle, size_t len, const char *key) +{ + _gc_hash_ctx *ctx = handle; +#ifdef GNULIB_GC_MD2 + if (ctx->alg != GC_MD2) +#endif + gcry_md_setkey (ctx->gch, key, len); +} + +void +gc_hash_write (gc_hash_handle handle, size_t len, const char *data) +{ + _gc_hash_ctx *ctx = handle; + +#ifdef GNULIB_GC_MD2 + if (ctx->alg == GC_MD2) + md2_process_bytes (data, len, &ctx->md2Context); + else +#endif + gcry_md_write (ctx->gch, data, len); +} + +const char * +gc_hash_read (gc_hash_handle handle) +{ + _gc_hash_ctx *ctx = handle; + const char *digest; + +#ifdef GNULIB_GC_MD2 + if (ctx->alg == GC_MD2) + { + md2_finish_ctx (&ctx->md2Context, ctx->hash); + digest = ctx->hash; + } + else +#endif + { + gcry_md_final (ctx->gch); + digest = gcry_md_read (ctx->gch, 0); + } + + return digest; +} + +void +gc_hash_close (gc_hash_handle handle) +{ + _gc_hash_ctx *ctx = handle; + +#ifdef GNULIB_GC_MD2 + if (ctx->alg != GC_MD2) +#endif + gcry_md_close (ctx->gch); + + free (ctx); +} + +Gc_rc +gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char *resbuf) +{ + int gcryalg; + + switch (hash) + { +#ifdef GNULIB_GC_MD2 + case GC_MD2: + md2_buffer (in, inlen, resbuf); + return GC_OK; + break; +#endif + +#ifdef GNULIB_GC_MD4 + case GC_MD4: + gcryalg = GCRY_MD_MD4; + break; +#endif + +#ifdef GNULIB_GC_MD5 + case GC_MD5: + gcryalg = GCRY_MD_MD5; + break; +#endif + +#ifdef GNULIB_GC_SHA1 + case GC_SHA1: + gcryalg = GCRY_MD_SHA1; + break; +#endif + +#ifdef GNULIB_GC_SHA256 + case GC_SHA256: + gcryalg = GCRY_MD_SHA256; + break; +#endif + +#ifdef GNULIB_GC_SHA384 + case GC_SHA384: + gcryalg = GCRY_MD_SHA384; + break; +#endif + +#ifdef GNULIB_GC_SHA512 + case GC_SHA512: + gcryalg = GCRY_MD_SHA512; + break; +#endif + +#ifdef GNULIB_GC_SHA224 + case GC_SHA224: + gcryalg = GCRY_MD_SHA224; + break; +#endif + +#ifdef GNULIB_GC_RMD160 + case GC_RMD160: + gcryalg = GCRY_MD_RMD160; + break; +#endif + + default: + return GC_INVALID_HASH; + } + + gcry_md_hash_buffer (gcryalg, resbuf, in, inlen); + + return GC_OK; +} + +/* One-call interface. */ + +#ifdef GNULIB_GC_MD2 +Gc_rc +gc_md2 (const void *in, size_t inlen, void *resbuf) +{ + md2_buffer (in, inlen, resbuf); + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_MD4 +Gc_rc +gc_md4 (const void *in, size_t inlen, void *resbuf) +{ + size_t outlen = gcry_md_get_algo_dlen (GCRY_MD_MD4); + gcry_md_hd_t hd; + gpg_error_t err; + unsigned char *p; + + assert (outlen == GC_MD4_DIGEST_SIZE); + + err = gcry_md_open (&hd, GCRY_MD_MD4, 0); + if (err != GPG_ERR_NO_ERROR) + return GC_INVALID_HASH; + + gcry_md_write (hd, in, inlen); + + p = gcry_md_read (hd, GCRY_MD_MD4); + if (p == NULL) + { + gcry_md_close (hd); + return GC_INVALID_HASH; + } + + memcpy (resbuf, p, outlen); + + gcry_md_close (hd); + + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_MD5 +Gc_rc +gc_md5 (const void *in, size_t inlen, void *resbuf) +{ + size_t outlen = gcry_md_get_algo_dlen (GCRY_MD_MD5); + gcry_md_hd_t hd; + gpg_error_t err; + unsigned char *p; + + assert (outlen == GC_MD5_DIGEST_SIZE); + + err = gcry_md_open (&hd, GCRY_MD_MD5, 0); + if (err != GPG_ERR_NO_ERROR) + return GC_INVALID_HASH; + + gcry_md_write (hd, in, inlen); + + p = gcry_md_read (hd, GCRY_MD_MD5); + if (p == NULL) + { + gcry_md_close (hd); + return GC_INVALID_HASH; + } + + memcpy (resbuf, p, outlen); + + gcry_md_close (hd); + + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_SHA1 +Gc_rc +gc_sha1 (const void *in, size_t inlen, void *resbuf) +{ + size_t outlen = gcry_md_get_algo_dlen (GCRY_MD_SHA1); + gcry_md_hd_t hd; + gpg_error_t err; + unsigned char *p; + + assert (outlen == GC_SHA1_DIGEST_SIZE); + + err = gcry_md_open (&hd, GCRY_MD_SHA1, 0); + if (err != GPG_ERR_NO_ERROR) + return GC_INVALID_HASH; + + gcry_md_write (hd, in, inlen); + + p = gcry_md_read (hd, GCRY_MD_SHA1); + if (p == NULL) + { + gcry_md_close (hd); + return GC_INVALID_HASH; + } + + memcpy (resbuf, p, outlen); + + gcry_md_close (hd); + + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_HMAC_MD5 +Gc_rc +gc_hmac_md5 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf) +{ + size_t hlen = gcry_md_get_algo_dlen (GCRY_MD_MD5); + gcry_md_hd_t mdh; + unsigned char *hash; + gpg_error_t err; + + assert (hlen == 16); + + err = gcry_md_open (&mdh, GCRY_MD_MD5, GCRY_MD_FLAG_HMAC); + if (err != GPG_ERR_NO_ERROR) + return GC_INVALID_HASH; + + err = gcry_md_setkey (mdh, key, keylen); + if (err != GPG_ERR_NO_ERROR) + { + gcry_md_close (mdh); + return GC_INVALID_HASH; + } + + gcry_md_write (mdh, in, inlen); + + hash = gcry_md_read (mdh, GCRY_MD_MD5); + if (hash == NULL) + { + gcry_md_close (mdh); + return GC_INVALID_HASH; + } + + memcpy (resbuf, hash, hlen); + + gcry_md_close (mdh); + + return GC_OK; +} +#endif + +#ifdef GNULIB_GC_HMAC_SHA1 +Gc_rc +gc_hmac_sha1 (const void *key, size_t keylen, + const void *in, size_t inlen, char *resbuf) +{ + size_t hlen = gcry_md_get_algo_dlen (GCRY_MD_SHA1); + gcry_md_hd_t mdh; + unsigned char *hash; + gpg_error_t err; + + assert (hlen == GC_SHA1_DIGEST_SIZE); + + err = gcry_md_open (&mdh, GCRY_MD_SHA1, GCRY_MD_FLAG_HMAC); + if (err != GPG_ERR_NO_ERROR) + return GC_INVALID_HASH; + + err = gcry_md_setkey (mdh, key, keylen); + if (err != GPG_ERR_NO_ERROR) + { + gcry_md_close (mdh); + return GC_INVALID_HASH; + } + + gcry_md_write (mdh, in, inlen); + + hash = gcry_md_read (mdh, GCRY_MD_SHA1); + if (hash == NULL) + { + gcry_md_close (mdh); + return GC_INVALID_HASH; + } + + memcpy (resbuf, hash, hlen); + + gcry_md_close (mdh); + + return GC_OK; +} +#endif diff -Nru gnutls26-2.8.6/lgl/gc-pbkdf2-sha1.c gnutls26-2.4.1/lgl/gc-pbkdf2-sha1.c --- gnutls26-2.8.6/lgl/gc-pbkdf2-sha1.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/gc-pbkdf2-sha1.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,186 @@ +/* gc-pbkdf2-sha1.c --- Password-Based Key Derivation Function a'la PKCS#5 + Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. The comments in this file are taken + from RFC 2898. */ + +#include + +#include "gc.h" + +#include +#include + +/* + * 5.2 PBKDF2 + * + * PBKDF2 applies a pseudorandom function (see Appendix B.1 for an + * example) to derive keys. The length of the derived key is essentially + * unbounded. (However, the maximum effective search space for the + * derived key may be limited by the structure of the underlying + * pseudorandom function. See Appendix B.1 for further discussion.) + * PBKDF2 is recommended for new applications. + * + * PBKDF2 (P, S, c, dkLen) + * + * Options: PRF underlying pseudorandom function (hLen + * denotes the length in octets of the + * pseudorandom function output) + * + * Input: P password, an octet string (ASCII or UTF-8) + * S salt, an octet string + * c iteration count, a positive integer + * dkLen intended length in octets of the derived + * key, a positive integer, at most + * (2^32 - 1) * hLen + * + * Output: DK derived key, a dkLen-octet string + */ + +Gc_rc +gc_pbkdf2_sha1 (const char *P, size_t Plen, + const char *S, size_t Slen, + unsigned int c, + char *DK, size_t dkLen) +{ + unsigned int hLen = 20; + char U[20]; + char T[20]; + unsigned int u; + unsigned int l; + unsigned int r; + unsigned int i; + unsigned int k; + int rc; + char *tmp; + size_t tmplen = Slen + 4; + + if (c == 0) + return GC_PKCS5_INVALID_ITERATION_COUNT; + + if (dkLen == 0) + return GC_PKCS5_INVALID_DERIVED_KEY_LENGTH; + + /* + * + * Steps: + * + * 1. If dkLen > (2^32 - 1) * hLen, output "derived key too long" and + * stop. + */ + + if (dkLen > 4294967295U) + return GC_PKCS5_DERIVED_KEY_TOO_LONG; + + /* + * 2. Let l be the number of hLen-octet blocks in the derived key, + * rounding up, and let r be the number of octets in the last + * block: + * + * l = CEIL (dkLen / hLen) , + * r = dkLen - (l - 1) * hLen . + * + * Here, CEIL (x) is the "ceiling" function, i.e. the smallest + * integer greater than, or equal to, x. + */ + + l = ((dkLen - 1) / hLen) + 1; + r = dkLen - (l - 1) * hLen; + + /* + * 3. For each block of the derived key apply the function F defined + * below to the password P, the salt S, the iteration count c, and + * the block index to compute the block: + * + * T_1 = F (P, S, c, 1) , + * T_2 = F (P, S, c, 2) , + * ... + * T_l = F (P, S, c, l) , + * + * where the function F is defined as the exclusive-or sum of the + * first c iterates of the underlying pseudorandom function PRF + * applied to the password P and the concatenation of the salt S + * and the block index i: + * + * F (P, S, c, i) = U_1 \xor U_2 \xor ... \xor U_c + * + * where + * + * U_1 = PRF (P, S || INT (i)) , + * U_2 = PRF (P, U_1) , + * ... + * U_c = PRF (P, U_{c-1}) . + * + * Here, INT (i) is a four-octet encoding of the integer i, most + * significant octet first. + * + * 4. Concatenate the blocks and extract the first dkLen octets to + * produce a derived key DK: + * + * DK = T_1 || T_2 || ... || T_l<0..r-1> + * + * 5. Output the derived key DK. + * + * Note. The construction of the function F follows a "belt-and- + * suspenders" approach. The iterates U_i are computed recursively to + * remove a degree of parallelism from an opponent; they are exclusive- + * ored together to reduce concerns about the recursion degenerating + * into a small set of values. + * + */ + + tmp = malloc (tmplen); + if (tmp == NULL) + return GC_MALLOC_ERROR; + + memcpy (tmp, S, Slen); + + for (i = 1; i <= l; i++) + { + memset (T, 0, hLen); + + for (u = 1; u <= c; u++) + { + if (u == 1) + { + tmp[Slen + 0] = (i & 0xff000000) >> 24; + tmp[Slen + 1] = (i & 0x00ff0000) >> 16; + tmp[Slen + 2] = (i & 0x0000ff00) >> 8; + tmp[Slen + 3] = (i & 0x000000ff) >> 0; + + rc = gc_hmac_sha1 (P, Plen, tmp, tmplen, U); + } + else + rc = gc_hmac_sha1 (P, Plen, U, hLen, U); + + if (rc != GC_OK) + { + free (tmp); + return rc; + } + + for (k = 0; k < hLen; k++) + T[k] ^= U[k]; + } + + memcpy (DK + (i - 1) * hLen, T, i == l ? r : hLen); + } + + free (tmp); + + return GC_OK; +} diff -Nru gnutls26-2.8.6/lgl/gettext.h gnutls26-2.4.1/lgl/gettext.h --- gnutls26-2.8.6/lgl/gettext.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/gettext.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,270 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002, 2004-2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by + the gettext() and ngettext() macros. This is an alternative to calling + textdomain(), and is useful for libraries. */ +# ifdef DEFAULT_TEXT_DOMAIN +# undef gettext +# define gettext(Msgid) \ + dgettext (DEFAULT_TEXT_DOMAIN, Msgid) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) +# endif + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Many header files from the libstdc++ coming with g++ 3.3 or newer include + , which chokes if dcgettext is defined as a macro. So include + it now, to make later inclusions of a NOP. */ +#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) +# include +# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H +# include +# endif +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) +# define dcgettext(Domainname, Msgid, Category) \ + ((void) (Category), dgettext (Domainname, Msgid)) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 \ + ? ((void) (Msgid2), (const char *) (Msgid1)) \ + : ((void) (Msgid1), (const char *) (Msgid2))) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) \ + ((void) (Domainname), (const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) \ + ((void) (Domainname), (const char *) (Codeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +/* The separator between msgctxt and msgid in a .mo file. */ +#define GETTEXT_CONTEXT_GLUE "\004" + +/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a + MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be + short and rarely need to change. + The letter 'p' stands for 'particular' or 'special'. */ +#ifdef DEFAULT_TEXT_DOMAIN +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#else +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#endif +#define dpgettext(Domainname, Msgctxt, Msgid) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) +#ifdef DEFAULT_TEXT_DOMAIN +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#else +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#endif +#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +pgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + int category) +{ + const char *translation = dcgettext (domain, msg_ctxt_id, category); + if (translation == msg_ctxt_id) + return msgid; + else + return translation; +} + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +npgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + const char *translation = + dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + if (translation == msg_ctxt_id || translation == msgid_plural) + return (n == 1 ? msgid : msgid_plural); + else + return translation; +} + +/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID + can be arbitrary expressions. But for string literals these macros are + less efficient than those above. */ + +#include + +#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ + (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) + +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +#include +#endif + +#define pgettext_expr(Msgctxt, Msgid) \ + dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) +#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ + dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcgettext (domain, msg_ctxt_id, category); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (translation != msg_ctxt_id) + return translation; + } + return msgid; +} + +#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcnpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (!(translation == msg_ctxt_id || translation == msgid_plural)) + return translation; + } + return (n == 1 ? msgid : msgid_plural); +} + +#endif /* _LIBGETTEXT_H */ diff -Nru gnutls26-2.8.6/lgl/hmac.h gnutls26-2.4.1/lgl/hmac.h --- gnutls26-2.8.6/lgl/hmac.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/hmac.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,41 @@ +/* hmac.h -- hashed message authentication codes + Copyright (C) 2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. */ + +#ifndef HMAC_H +# define HMAC_H 1 + +#include + +/* Compute Hashed Message Authentication Code with MD5, as described + in RFC 2104, over BUFFER data of BUFLEN bytes using the KEY of + KEYLEN bytes, writing the output to pre-allocated 16 byte minimum + RESBUF buffer. Return 0 on success. */ +int +hmac_md5 (const void *key, size_t keylen, + const void *buffer, size_t buflen, void *resbuf); + +/* Compute Hashed Message Authentication Code with SHA-1, over BUFFER + data of BUFLEN bytes using the KEY of KEYLEN bytes, writing the + output to pre-allocated 20 byte minimum RESBUF buffer. Return 0 on + success. */ +int +hmac_sha1 (const void *key, size_t keylen, + const void *in, size_t inlen, void *resbuf); + +#endif /* HMAC_H */ diff -Nru gnutls26-2.8.6/lgl/hmac-md5.c gnutls26-2.4.1/lgl/hmac-md5.c --- gnutls26-2.8.6/lgl/hmac-md5.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/hmac-md5.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,81 @@ +/* hmac-md5.c -- hashed message authentication codes + Copyright (C) 2005, 2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. */ + +#include + +#include "hmac.h" + +#include "memxor.h" +#include "md5.h" + +#include + +#define IPAD 0x36 +#define OPAD 0x5c + +int +hmac_md5 (const void *key, size_t keylen, + const void *in, size_t inlen, void *resbuf) +{ + struct md5_ctx inner; + struct md5_ctx outer; + char optkeybuf[16]; + char block[64]; + char innerhash[16]; + + /* Reduce the key's size, so that it becomes <= 64 bytes large. */ + + if (keylen > 64) + { + struct md5_ctx keyhash; + + md5_init_ctx (&keyhash); + md5_process_bytes (key, keylen, &keyhash); + md5_finish_ctx (&keyhash, optkeybuf); + + key = optkeybuf; + keylen = 16; + } + + /* Compute INNERHASH from KEY and IN. */ + + md5_init_ctx (&inner); + + memset (block, IPAD, sizeof (block)); + memxor (block, key, keylen); + + md5_process_block (block, 64, &inner); + md5_process_bytes (in, inlen, &inner); + + md5_finish_ctx (&inner, innerhash); + + /* Compute result from KEY and INNERHASH. */ + + md5_init_ctx (&outer); + + memset (block, OPAD, sizeof (block)); + memxor (block, key, keylen); + + md5_process_block (block, 64, &outer); + md5_process_bytes (innerhash, 16, &outer); + + md5_finish_ctx (&outer, resbuf); + + return 0; +} diff -Nru gnutls26-2.8.6/lgl/hmac-sha1.c gnutls26-2.4.1/lgl/hmac-sha1.c --- gnutls26-2.8.6/lgl/hmac-sha1.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/hmac-sha1.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,81 @@ +/* hmac-sha1.c -- hashed message authentication codes + Copyright (C) 2005, 2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. */ + +#include + +#include "hmac.h" + +#include "memxor.h" +#include "sha1.h" + +#include + +#define IPAD 0x36 +#define OPAD 0x5c + +int +hmac_sha1 (const void *key, size_t keylen, + const void *in, size_t inlen, void *resbuf) +{ + struct sha1_ctx inner; + struct sha1_ctx outer; + char optkeybuf[20]; + char block[64]; + char innerhash[20]; + + /* Reduce the key's size, so that it becomes <= 64 bytes large. */ + + if (keylen > 64) + { + struct sha1_ctx keyhash; + + sha1_init_ctx (&keyhash); + sha1_process_bytes (key, keylen, &keyhash); + sha1_finish_ctx (&keyhash, optkeybuf); + + key = optkeybuf; + keylen = 20; + } + + /* Compute INNERHASH from KEY and IN. */ + + sha1_init_ctx (&inner); + + memset (block, IPAD, sizeof (block)); + memxor (block, key, keylen); + + sha1_process_block (block, 64, &inner); + sha1_process_bytes (in, inlen, &inner); + + sha1_finish_ctx (&inner, innerhash); + + /* Compute result from KEY and INNERHASH. */ + + sha1_init_ctx (&outer); + + memset (block, OPAD, sizeof (block)); + memxor (block, key, keylen); + + sha1_process_block (block, 64, &outer); + sha1_process_bytes (innerhash, 20, &outer); + + sha1_finish_ctx (&outer, resbuf); + + return 0; +} diff -Nru gnutls26-2.8.6/lgl/lseek.c gnutls26-2.4.1/lgl/lseek.c --- gnutls26-2.8.6/lgl/lseek.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/lseek.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,62 @@ +/* An lseek() function that detects pipes. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Windows platforms. */ +/* Get GetFileType. */ +# include +#else +# include +#endif +#include + +#undef lseek + +off_t +rpl_lseek (int fd, off_t offset, int whence) +{ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ + HANDLE h = (HANDLE) _get_osfhandle (fd); + if (h == INVALID_HANDLE_VALUE) + { + errno = EBADF; + return -1; + } + if (GetFileType (h) != FILE_TYPE_DISK) + { + errno = ESPIPE; + return -1; + } +#else + /* BeOS lseek mistakenly succeeds on pipes... */ + struct stat statbuf; + if (fstat (fd, &statbuf) < 0) + return -1; + if (!S_ISREG (statbuf.st_mode)) + { + errno = ESPIPE; + return -1; + } +#endif + return lseek (fd, offset, whence); +} diff -Nru gnutls26-2.8.6/lgl/m4/alloca.m4 gnutls26-2.4.1/lgl/m4/alloca.m4 --- gnutls26-2.8.6/lgl/m4/alloca.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/alloca.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,46 @@ +# alloca.m4 serial 8 +dnl Copyright (C) 2002-2004, 2006, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ALLOCA], +[ + dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. + AC_REQUIRE([AC_PROG_CPP]) + AC_REQUIRE([AC_PROG_EGREP]) + + AC_REQUIRE([AC_FUNC_ALLOCA]) + if test $ac_cv_func_alloca_works = no; then + gl_PREREQ_ALLOCA + fi + + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ + AC_EGREP_CPP([Need own alloca], [ +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif + ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) + ]) + if test $gl_cv_rpl_alloca = yes; then + dnl OK, alloca can be implemented through a compiler built-in. + AC_DEFINE([HAVE_ALLOCA], 1, + [Define to 1 if you have 'alloca' after including , + a header that may be supplied by this distribution.]) + ALLOCA_H=alloca.h + else + dnl alloca exists as a library function, i.e. it is slow and probably + dnl a memory leak. Don't define HAVE_ALLOCA in this case. + ALLOCA_H= + fi + else + ALLOCA_H=alloca.h + fi + AC_SUBST([ALLOCA_H]) +]) + +# Prerequisites of lib/alloca.c. +# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. +AC_DEFUN([gl_PREREQ_ALLOCA], [:]) diff -Nru gnutls26-2.8.6/lgl/m4/arcfour.m4 gnutls26-2.4.1/lgl/m4/arcfour.m4 --- gnutls26-2.8.6/lgl/m4/arcfour.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/arcfour.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# arcfour.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_ARCFOUR], +[ + AC_LIBOBJ([arcfour]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/arctwo.m4 gnutls26-2.4.1/lgl/m4/arctwo.m4 --- gnutls26-2.8.6/lgl/m4/arctwo.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/arctwo.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,12 @@ +# arctwo.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_ARCTWO], +[ + AC_LIBOBJ([arctwo]) + # Prerequisites of lib/arctwo.c. + AC_REQUIRE([AC_C_INLINE]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/des.m4 gnutls26-2.4.1/lgl/m4/des.m4 --- gnutls26-2.8.6/lgl/m4/des.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/des.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# des.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_DES], +[ + AC_LIBOBJ([des]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/float_h.m4 gnutls26-2.4.1/lgl/m4/float_h.m4 --- gnutls26-2.8.6/lgl/m4/float_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/float_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,19 @@ +# float_h.m4 serial 3 +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FLOAT_H], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + FLOAT_H= + case "$host_os" in + beos* | openbsd*) + FLOAT_H=float.h + gl_CHECK_NEXT_HEADERS([float.h]) + ;; + esac + AC_SUBST([FLOAT_H]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/fseeko.m4 gnutls26-2.4.1/lgl/m4/fseeko.m4 --- gnutls26-2.8.6/lgl/m4/fseeko.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/fseeko.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,34 @@ +# fseeko.m4 serial 4 +dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FSEEKO], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) + + dnl Persuade glibc to declare fseeko(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], + [ + AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], + [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) + ]) + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + gl_REPLACE_FSEEKO + elif test $gl_cv_var_stdin_large_offset = no; then + gl_REPLACE_FSEEKO + fi +]) + +AC_DEFUN([gl_REPLACE_FSEEKO], +[ + AC_LIBOBJ([fseeko]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + REPLACE_FSEEKO=1 +]) diff -Nru gnutls26-2.8.6/lgl/m4/func.m4 gnutls26-2.4.1/lgl/m4/func.m4 --- gnutls26-2.8.6/lgl/m4/func.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/func.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,20 @@ +# func.m4 serial 2 +dnl Copyright (C) 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Simon Josefsson + +AC_DEFUN([gl_FUNC], +[ + AC_CACHE_CHECK([whether __func__ is available], [gl_cv_var_func], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[const char *str = __func__;]])], + [gl_cv_var_func=yes], + [gl_cv_var_func=no])) + if test "$gl_cv_var_func" != yes; then + AC_DEFINE([__func__], [""], + [Define as a replacement for the ISO C99 __func__ variable.]) + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-arcfour.m4 gnutls26-2.4.1/lgl/m4/gc-arcfour.m4 --- gnutls26-2.8.6/lgl/m4/gc-arcfour.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-arcfour.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-arcfour.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_ARCFOUR], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_ARCFOUR + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-arctwo.m4 gnutls26-2.4.1/lgl/m4/gc-arctwo.m4 --- gnutls26-2.8.6/lgl/m4/gc-arctwo.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-arctwo.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-arctwo.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_ARCTWO], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_ARCTWO + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-camellia.m4 gnutls26-2.4.1/lgl/m4/gc-camellia.m4 --- gnutls26-2.8.6/lgl/m4/gc-camellia.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-camellia.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,20 @@ +# gc-camellia.m4 serial 1 +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_CAMELLIA], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" = yes; then + AC_CACHE_CHECK([for camellia in libgcrypt], [gl_cv_libgcrypt_camellia], [ + AC_TRY_COMPILE([#include ], + [return gcry_cipher_open (NULL, GCRY_CIPHER_CAMELLIA128, 0, 0);], + [gl_cv_libgcrypt_camellia=yes], + [gl_cv_libgcrypt_camellia=no])]) + if test "$gl_cv_libgcrypt_camellia" = yes; then + AC_DEFINE(HAVE_CAMELLIA, 1, [Define if your libgcrypt supports Camellia.]) + fi + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-des.m4 gnutls26-2.4.1/lgl/m4/gc-des.m4 --- gnutls26-2.8.6/lgl/m4/gc-des.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-des.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-des.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_DES], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_DES + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-hmac-md5.m4 gnutls26-2.4.1/lgl/m4/gc-hmac-md5.m4 --- gnutls26-2.8.6/lgl/m4/gc-hmac-md5.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-hmac-md5.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,15 @@ +# gc-hmac-md5.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_HMAC_MD5], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_MD5 + gl_HMAC_MD5 + gl_MEMXOR + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-hmac-sha1.m4 gnutls26-2.4.1/lgl/m4/gc-hmac-sha1.m4 --- gnutls26-2.8.6/lgl/m4/gc-hmac-sha1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-hmac-sha1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,15 @@ +# gc-hmac-sha1.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_HMAC_SHA1], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_SHA1 + gl_HMAC_SHA1 + gl_MEMXOR + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc.m4 gnutls26-2.4.1/lgl/m4/gc.m4 --- gnutls26-2.8.6/lgl/m4/gc.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,27 @@ +# gc.m4 serial 4 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC], +[ + AC_ARG_WITH(libgcrypt, + AS_HELP_STRING([--with-libgcrypt], [use libgcrypt for low-level crypto]), + libgcrypt=$withval, libgcrypt=no) + if test "$libgcrypt" != no; then + AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include ]) + fi + if test "$ac_cv_libgcrypt" = yes; then + AC_LIBOBJ([gc-libgcrypt]) + else + AC_LIBOBJ([gc-gnulib]) + fi +]) + +# Prerequisites of lib/gc.h +AC_DEFUN([gl_PREREQ_GC], +[ + AC_REQUIRE([AC_C_RESTRICT]) + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-md2.m4 gnutls26-2.4.1/lgl/m4/gc-md2.m4 --- gnutls26-2.8.6/lgl/m4/gc-md2.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-md2.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,9 @@ +# gc-md2.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_MD2], +[ +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-md4.m4 gnutls26-2.4.1/lgl/m4/gc-md4.m4 --- gnutls26-2.8.6/lgl/m4/gc-md4.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-md4.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-md4.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_MD4], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_MD4 + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-md5.m4 gnutls26-2.4.1/lgl/m4/gc-md5.m4 --- gnutls26-2.8.6/lgl/m4/gc-md5.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-md5.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-md5.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_MD5], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_MD5 + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-pbkdf2-sha1.m4 gnutls26-2.4.1/lgl/m4/gc-pbkdf2-sha1.m4 --- gnutls26-2.8.6/lgl/m4/gc-pbkdf2-sha1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-pbkdf2-sha1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# gc-pbkdf2-sha1.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_PBKDF2_SHA1], +[ + AC_LIBOBJ([gc-pbkdf2-sha1]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-random.m4 gnutls26-2.4.1/lgl/m4/gc-random.m4 --- gnutls26-2.8.6/lgl/m4/gc-random.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-random.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,87 @@ +# gc-random.m4 serial 3 +dnl Copyright (C) 2005-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_RANDOM], +[ + # Devices with randomness. + # FIXME: Are these the best defaults? + + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + case "$host_os" in + *openbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/prandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *netbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *solaris* | *irix* | *dec-osf* ) + NAME_OF_RANDOM_DEVICE="/dev/random" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/random" + NAME_OF_NONCE_DEVICE="/dev/random" + ;; + + *) + NAME_OF_RANDOM_DEVICE="/dev/random" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + esac + + AC_MSG_CHECKING([device with (strong) random data...]) + AC_ARG_ENABLE(random-device, + AS_HELP_STRING([--enable-random-device], + [device with (strong) randomness (for Nettle)]), + NAME_OF_RANDOM_DEVICE=$enableval) + AC_MSG_RESULT($NAME_OF_RANDOM_DEVICE) + + AC_MSG_CHECKING([device with pseudo random data...]) + AC_ARG_ENABLE(pseudo-random-device, + AS_HELP_STRING([--enable-pseudo-random-device], + [device with pseudo randomness (for Nettle)]), + NAME_OF_PSEUDO_RANDOM_DEVICE=$enableval) + AC_MSG_RESULT($NAME_OF_PSEUDO_RANDOM_DEVICE) + + AC_MSG_CHECKING([device with unpredictable data for nonces...]) + AC_ARG_ENABLE(nonce-device, + AS_HELP_STRING([--enable-nonce-device], + [device with unpredictable nonces (for Nettle)]), + NAME_OF_NONCE_DEVICE=$enableval) + AC_MSG_RESULT($NAME_OF_NONCE_DEVICE) + + if test "$cross_compiling" != yes; then + if test "$NAME_OF_RANDOM_DEVICE" != "no"; then + AC_CHECK_FILE($NAME_OF_RANDOM_DEVICE,, + AC_MSG_WARN([[Device `$NAME_OF_RANDOM_DEVICE' does not exist, consider to use --enable-random-device]])) + fi + if test "$NAME_OF_PSEUDO_RANDOM_DEVICE" != "no"; then + AC_CHECK_FILE($NAME_OF_PSEUDO_RANDOM_DEVICE,, + AC_MSG_WARN([[Device `$NAME_OF_PSEUDO_RANDOM_DEVICE' does not exist, consider to use --enable-pseudo-random-device]])) + fi + if test "$NAME_OF_NONCE_DEVICE" != "no"; then + AC_CHECK_FILE($NAME_OF_NONCE_DEVICE,, + AC_MSG_WARN([[Device `$NAME_OF_NONCE_DEVICE' does not exist, consider to use --enable-nonce-device]])) + fi + else + AC_MSG_NOTICE([[Cross compiling, assuming random devices exists on the target host...]]) + fi + + # FIXME?: Open+read 42 bytes+close twice and compare data. Should differ. + + AC_DEFINE_UNQUOTED(NAME_OF_RANDOM_DEVICE, "$NAME_OF_RANDOM_DEVICE", + [defined to the name of the (strong) random device]) + AC_DEFINE_UNQUOTED(NAME_OF_PSEUDO_RANDOM_DEVICE, + "$NAME_OF_PSEUDO_RANDOM_DEVICE", + [defined to the name of the pseudo random device]) + AC_DEFINE_UNQUOTED(NAME_OF_NONCE_DEVICE, "$NAME_OF_NONCE_DEVICE", + [defined to the name of the unpredictable nonce device]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-rijndael.m4 gnutls26-2.4.1/lgl/m4/gc-rijndael.m4 --- gnutls26-2.8.6/lgl/m4/gc-rijndael.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-rijndael.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-rijndael.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_RIJNDAEL], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_RIJNDAEL + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gc-sha1.m4 gnutls26-2.4.1/lgl/m4/gc-sha1.m4 --- gnutls26-2.8.6/lgl/m4/gc-sha1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gc-sha1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,13 @@ +# gc-sha1.m4 serial 2 +dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_SHA1], +[ + AC_REQUIRE([gl_GC]) + if test "$ac_cv_libgcrypt" != yes; then + gl_SHA1 + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/gnulib-comp.m4 gnutls26-2.4.1/lgl/m4/gnulib-comp.m4 --- gnutls26-2.8.6/lgl/m4/gnulib-comp.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/gnulib-comp.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,420 @@ +# DO NOT EDIT! GENERATED AUTOMATICALLY! +# Copyright (C) 2002-2008 Free Software Foundation, 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. +# +# Generated by gnulib-tool. +# +# This file represents the compiled summary of the specification in +# gnulib-cache.m4. It lists the computed macro invocations that need +# to be invoked from configure.ac. +# In projects using CVS, this file can be treated like other built files. + + +# This macro should be invoked from ./configure.in, in the section +# "Checks for programs", right after AC_PROG_CC, and certainly before +# any checks for libraries, header files, types and library functions. +AC_DEFUN([lgl_EARLY], +[ + m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace + m4_pattern_allow([^gl_ES$])dnl a valid locale name + m4_pattern_allow([^gl_LIBOBJS$])dnl a variable + m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable + AC_REQUIRE([AC_PROG_RANLIB]) + AC_REQUIRE([AC_GNU_SOURCE]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([AC_FUNC_FSEEKO]) +]) + +# This macro should be invoked from ./configure.in, in the section +# "Check for header files, types and library functions". +AC_DEFUN([lgl_INIT], +[ + AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) + gl_cond_libtool=true + m4_pushdef([AC_LIBOBJ], m4_defn([lgl_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([lgl_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([lgl_LIBSOURCES])) + m4_pushdef([lgl_LIBSOURCES_LIST], []) + m4_pushdef([lgl_LIBSOURCES_DIR], []) + gl_COMMON + gl_source_base='lgl' + gl_EOVERFLOW + gl_FUNC_ALLOCA + gl_GC + if test $gl_cond_libtool = false; then + gl_ltlibdeps="$gl_ltlibdeps $LTLIBGCRYPT" + gl_libdeps="$gl_libdeps $LIBGCRYPT" + fi + gl_GC_ARCFOUR + gl_MODULE_INDICATOR([gc-arcfour]) + gl_GC_ARCTWO + gl_MODULE_INDICATOR([gc-arctwo]) + gl_GC_CAMELLIA + gl_MODULE_INDICATOR([gc-camellia]) + gl_GC_DES + gl_MODULE_INDICATOR([gc-des]) + gl_GC_HMAC_MD5 + gl_MODULE_INDICATOR([gc-hmac-md5]) + gl_GC_HMAC_SHA1 + gl_MODULE_INDICATOR([gc-hmac-sha1]) + gl_GC_MD2 + gl_MODULE_INDICATOR([gc-md2]) + gl_GC_MD4 + gl_MODULE_INDICATOR([gc-md4]) + gl_GC_MD5 + gl_MODULE_INDICATOR([gc-md5]) + gl_GC_PBKDF2_SHA1 + gl_GC_RANDOM + gl_MODULE_INDICATOR([gc-random]) + gl_GC_RIJNDAEL + gl_MODULE_INDICATOR([gc-rijndael]) + gl_GC_SHA1 + gl_MODULE_INDICATOR([gc-sha1]) + gl_MD2 + gl_FLOAT_H + gl_FUNC_FSEEKO + gl_STDIO_MODULE_INDICATOR([fseeko]) + gl_FUNC + dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. + AM_GNU_GETTEXT_VERSION([0.17]) + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + gl_FUNC_LSEEK + gl_UNISTD_MODULE_INDICATOR([lseek]) + gl_FUNC_MEMCHR + gl_FUNC_MEMCMP + gl_FUNC_MEMMEM_SIMPLE + gl_STRING_MODULE_INDICATOR([memmem]) + gl_FUNC_MEMMOVE + gl_MINMAX + gl_FUNC_READ_FILE + gl_FUNC_REALLOC_POSIX + gl_STDLIB_MODULE_INDICATOR([realloc-posix]) + gl_SIZE_MAX + gl_FUNC_SNPRINTF + gl_STDIO_MODULE_INDICATOR([snprintf]) + gl_TYPE_SOCKLEN_T + AM_STDBOOL_H + gl_STDINT_H + gl_STDIO_H + gl_STDLIB_H + gl_STRCASE + gl_HEADER_STRING_H + gl_HEADER_STRINGS_H + gl_FUNC_STRVERSCMP + gl_HEADER_SYS_SOCKET + AC_PROG_MKDIR_P + gl_HEADER_SYS_STAT_H + AC_PROG_MKDIR_P + gl_HEADER_TIME_H + gl_TIME_R + gl_UNISTD_H + gl_FUNC_VASNPRINTF + gl_FUNC_VASPRINTF + gl_STDIO_MODULE_INDICATOR([vasprintf]) + m4_ifdef([AM_XGETTEXT_OPTION], + [AM_XGETTEXT_OPTION([--flag=asprintf:2:c-format]) + AM_XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) + gl_WCHAR_H + gl_XSIZE + m4_ifval(lgl_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]lgl_LIBSOURCES_DIR[ || + for gl_file in ]lgl_LIBSOURCES_LIST[ ; do + if test ! -r ]lgl_LIBSOURCES_DIR[/$gl_file ; then + echo "missing file ]lgl_LIBSOURCES_DIR[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([lgl_LIBSOURCES_DIR]) + m4_popdef([lgl_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + lgl_libobjs= + lgl_ltlibobjs= + if test -n "$lgl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + lgl_libobjs="$lgl_libobjs $i.$ac_objext" + lgl_ltlibobjs="$lgl_ltlibobjs $i.lo" + done + fi + AC_SUBST([lgl_LIBOBJS], [$lgl_libobjs]) + AC_SUBST([lgl_LTLIBOBJS], [$lgl_ltlibobjs]) + ]) + gltests_libdeps= + gltests_ltlibdeps= + m4_pushdef([AC_LIBOBJ], m4_defn([lgltests_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([lgltests_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([lgltests_LIBSOURCES])) + m4_pushdef([lgltests_LIBSOURCES_LIST], []) + m4_pushdef([lgltests_LIBSOURCES_DIR], []) + gl_COMMON + gl_source_base='tests' + m4_ifval(lgltests_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]lgltests_LIBSOURCES_DIR[ || + for gl_file in ]lgltests_LIBSOURCES_LIST[ ; do + if test ! -r ]lgltests_LIBSOURCES_DIR[/$gl_file ; then + echo "missing file ]lgltests_LIBSOURCES_DIR[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([lgltests_LIBSOURCES_DIR]) + m4_popdef([lgltests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + lgltests_libobjs= + lgltests_ltlibobjs= + if test -n "$lgltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do + lgltests_libobjs="$lgltests_libobjs $i.$ac_objext" + lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo" + done + fi + AC_SUBST([lgltests_LIBOBJS], [$lgltests_libobjs]) + AC_SUBST([lgltests_LTLIBOBJS], [$lgltests_ltlibobjs]) + ]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into lgl_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([lgl_LIBOBJ], [ + AS_LITERAL_IF([$1], [lgl_LIBSOURCES([$1.c])])dnl + lgl_LIBOBJS="$lgl_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into lgl_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([lgl_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [lgl_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([lgl_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([lgl_LIBSOURCES_DIR], [lgl]) + m4_append([lgl_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into lgltests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([lgltests_LIBOBJ], [ + AS_LITERAL_IF([$1], [lgltests_LIBSOURCES([$1.c])])dnl + lgltests_LIBOBJS="$lgltests_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into lgltests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([lgltests_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [lgltests_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([lgltests_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([lgltests_LIBSOURCES_DIR], [tests]) + m4_append([lgltests_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# This macro records the list of files which have been installed by +# gnulib-tool and may be removed by future gnulib-tool invocations. +AC_DEFUN([lgl_FILE_LIST], [ + build-aux/config.rpath + build-aux/link-warning.h + lib/alloca.in.h + lib/arcfour.c + lib/arcfour.h + lib/arctwo.c + lib/arctwo.h + lib/asnprintf.c + lib/asprintf.c + lib/c-ctype.c + lib/c-ctype.h + lib/des.c + lib/des.h + lib/float+.h + lib/float.in.h + lib/fseeko.c + lib/gc-gnulib.c + lib/gc-libgcrypt.c + lib/gc-pbkdf2-sha1.c + lib/gc.h + lib/gettext.h + lib/hmac-md5.c + lib/hmac-sha1.c + lib/hmac.h + lib/lseek.c + lib/md2.c + lib/md2.h + lib/md4.c + lib/md4.h + lib/md5.c + lib/md5.h + lib/memchr.c + lib/memcmp.c + lib/memmem.c + lib/memmove.c + lib/memxor.c + lib/memxor.h + lib/minmax.h + lib/printf-args.c + lib/printf-args.h + lib/printf-parse.c + lib/printf-parse.h + lib/read-file.c + lib/read-file.h + lib/realloc.c + lib/rijndael-alg-fst.c + lib/rijndael-alg-fst.h + lib/rijndael-api-fst.c + lib/rijndael-api-fst.h + lib/sha1.c + lib/sha1.h + lib/size_max.h + lib/snprintf.c + lib/stdbool.in.h + lib/stdint.in.h + lib/stdio-impl.h + lib/stdio.in.h + lib/stdlib.in.h + lib/str-two-way.h + lib/strcasecmp.c + lib/string.in.h + lib/strings.in.h + lib/strncasecmp.c + lib/strverscmp.c + lib/strverscmp.h + lib/sys_socket.in.h + lib/sys_stat.in.h + lib/time.in.h + lib/time_r.c + lib/unistd.in.h + lib/vasnprintf.c + lib/vasnprintf.h + lib/vasprintf.c + lib/wchar.in.h + lib/xsize.h + m4/alloca.m4 + m4/arcfour.m4 + m4/arctwo.m4 + m4/codeset.m4 + m4/des.m4 + m4/eoverflow.m4 + m4/extensions.m4 + m4/float_h.m4 + m4/fseeko.m4 + m4/func.m4 + m4/gc-arcfour.m4 + m4/gc-arctwo.m4 + m4/gc-camellia.m4 + m4/gc-des.m4 + m4/gc-hmac-md5.m4 + m4/gc-hmac-sha1.m4 + m4/gc-md2.m4 + m4/gc-md4.m4 + m4/gc-md5.m4 + m4/gc-pbkdf2-sha1.m4 + m4/gc-random.m4 + m4/gc-rijndael.m4 + m4/gc-sha1.m4 + m4/gc.m4 + m4/gettext.m4 + m4/glibc2.m4 + m4/glibc21.m4 + m4/gnulib-common.m4 + m4/hmac-md5.m4 + m4/hmac-sha1.m4 + m4/iconv.m4 + m4/include_next.m4 + m4/intdiv0.m4 + m4/intl.m4 + m4/intldir.m4 + m4/intlmacosx.m4 + m4/intmax.m4 + m4/intmax_t.m4 + m4/inttypes-pri.m4 + m4/inttypes_h.m4 + m4/lcmessage.m4 + m4/lib-ld.m4 + m4/lib-link.m4 + m4/lib-prefix.m4 + m4/lock.m4 + m4/longlong.m4 + m4/lseek.m4 + m4/malloc.m4 + m4/md2.m4 + m4/md4.m4 + m4/md5.m4 + m4/memchr.m4 + m4/memcmp.m4 + m4/memmem.m4 + m4/memmove.m4 + m4/memxor.m4 + m4/minmax.m4 + m4/nls.m4 + m4/po.m4 + m4/printf-posix.m4 + m4/printf.m4 + m4/progtest.m4 + m4/read-file.m4 + m4/realloc.m4 + m4/rijndael.m4 + m4/sha1.m4 + m4/size_max.m4 + m4/snprintf.m4 + m4/socklen.m4 + m4/sockpfaf.m4 + m4/stdbool.m4 + m4/stdint.m4 + m4/stdint_h.m4 + m4/stdio_h.m4 + m4/stdlib_h.m4 + m4/strcase.m4 + m4/string_h.m4 + m4/strings_h.m4 + m4/strverscmp.m4 + m4/sys_socket_h.m4 + m4/sys_stat_h.m4 + m4/time_h.m4 + m4/time_r.m4 + m4/uintmax_t.m4 + m4/unistd_h.m4 + m4/vasnprintf.m4 + m4/vasprintf.m4 + m4/visibility.m4 + m4/wchar.m4 + m4/wchar_t.m4 + m4/wint_t.m4 + m4/xsize.m4 +]) diff -Nru gnutls26-2.8.6/lgl/m4/hmac-md5.m4 gnutls26-2.4.1/lgl/m4/hmac-md5.m4 --- gnutls26-2.8.6/lgl/m4/hmac-md5.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/hmac-md5.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# hmac-md5.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_HMAC_MD5], +[ + AC_LIBOBJ([hmac-md5]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/hmac-sha1.m4 gnutls26-2.4.1/lgl/m4/hmac-sha1.m4 --- gnutls26-2.8.6/lgl/m4/hmac-sha1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/hmac-sha1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# hmac-sha1.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_HMAC_SHA1], +[ + AC_LIBOBJ([hmac-sha1]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/intmax_t.m4 gnutls26-2.4.1/lgl/m4/intmax_t.m4 --- gnutls26-2.8.6/lgl/m4/intmax_t.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/intmax_t.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,61 @@ +# intmax_t.m4 serial 6 +dnl Copyright (C) 1997-2004, 2006-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +AC_PREREQ(2.13) + +# Define intmax_t to 'long' or 'long long' +# if it is not already defined in or . + +AC_DEFUN([gl_AC_TYPE_INTMAX_T], +[ + dnl For simplicity, we assume that a header file defines 'intmax_t' if and + dnl only if it defines 'uintmax_t'. + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long' \ + || ac_type='long' + AC_DEFINE_UNQUOTED(intmax_t, $ac_type, + [Define to long or long long if and don't define.]) + else + AC_DEFINE(HAVE_INTMAX_T, 1, + [Define if you have the 'intmax_t' type in or .]) + fi +]) + +dnl An alternative would be to explicitly test for 'intmax_t'. + +AC_DEFUN([gt_AC_TYPE_INTMAX_T], +[ + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, + [AC_TRY_COMPILE([ +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif +], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) + if test $gt_cv_c_intmax_t = yes; then + AC_DEFINE(HAVE_INTMAX_T, 1, + [Define if you have the 'intmax_t' type in or .]) + else + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long' \ + || ac_type='long' + AC_DEFINE_UNQUOTED(intmax_t, $ac_type, + [Define to long or long long if and don't define.]) + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/lseek.m4 gnutls26-2.4.1/lgl/m4/lseek.m4 --- gnutls26-2.8.6/lgl/m4/lseek.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/lseek.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,50 @@ +# lseek.m4 serial 4 +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LSEEK], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], + [if test $cross_compiling = no; then + AC_LINK_IFELSE([ +#include /* for off_t */ +#include /* for SEEK_CUR */ +#include +int main () +{ + /* Exit with success only if stdin is seekable. */ + return lseek (0, (off_t)0, SEEK_CUR) < 0; +}], + [if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi], + [gl_cv_func_lseek_pipe=no]) + else + AC_COMPILE_IFELSE([ +#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ +/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ + Choke me. +#endif], + [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) + fi]) + if test $gl_cv_func_lseek_pipe = no; then + gl_REPLACE_LSEEK + fi +]) + +AC_DEFUN([gl_REPLACE_LSEEK], +[ + AC_LIBOBJ([lseek]) + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + REPLACE_LSEEK=1 + AC_DEFINE([LSEEK_PIPE_BROKEN], [1], + [Define to 1 if lseek does not detect pipes.]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/malloc.m4 gnutls26-2.4.1/lgl/m4/malloc.m4 --- gnutls26-2.8.6/lgl/m4/malloc.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/malloc.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,41 @@ +# malloc.m4 serial 8 +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# gl_FUNC_MALLOC_POSIX +# -------------------- +# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it +# fails), and replace malloc if it is not. +AC_DEFUN([gl_FUNC_MALLOC_POSIX], +[ + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix = yes; then + HAVE_MALLOC_POSIX=1 + AC_DEFINE([HAVE_MALLOC_POSIX], 1, + [Define if the 'malloc' function is POSIX compliant.]) + else + AC_LIBOBJ([malloc]) + HAVE_MALLOC_POSIX=0 + fi + AC_SUBST([HAVE_MALLOC_POSIX]) +]) + +# Test whether malloc, realloc, calloc are POSIX compliant, +# Set gl_cv_func_malloc_posix to yes or no accordingly. +AC_DEFUN([gl_CHECK_MALLOC_POSIX], +[ + AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], + [gl_cv_func_malloc_posix], + [ + dnl It is too dangerous to try to allocate a large amount of memory: + dnl some systems go to their knees when you do that. So assume that + dnl all Unix implementations of the function are POSIX compliant. + AC_TRY_COMPILE([], + [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + choke me + #endif + ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) + ]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/md2.m4 gnutls26-2.4.1/lgl/m4/md2.m4 --- gnutls26-2.8.6/lgl/m4/md2.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/md2.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,10 @@ +# md2.m4 serial 2 +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MD2], +[ + AC_LIBOBJ([md2]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/md4.m4 gnutls26-2.4.1/lgl/m4/md4.m4 --- gnutls26-2.8.6/lgl/m4/md4.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/md4.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,14 @@ +# md4.m4 serial 3 +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MD4], +[ + AC_LIBOBJ([md4]) + + dnl Prerequisites of lib/md4.c. + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_C_INLINE]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/md5.m4 gnutls26-2.4.1/lgl/m4/md5.m4 --- gnutls26-2.8.6/lgl/m4/md5.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/md5.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,15 @@ +# md5.m4 serial 10 +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MD5], +[ + AC_LIBOBJ([md5]) + + dnl Prerequisites of lib/md5.c. + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_C_INLINE]) + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/memchr.m4 gnutls26-2.4.1/lgl/m4/memchr.m4 --- gnutls26-2.8.6/lgl/m4/memchr.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/memchr.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,18 @@ +# memchr.m4 serial 4 +dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_MEMCHR], +[ + AC_REPLACE_FUNCS(memchr) + if test $ac_cv_func_memchr = no; then + gl_PREREQ_MEMCHR + fi +]) + +# Prerequisites of lib/memchr.c. +AC_DEFUN([gl_PREREQ_MEMCHR], [ + AC_CHECK_HEADERS(bp-sym.h) +]) diff -Nru gnutls26-2.8.6/lgl/m4/memcmp.m4 gnutls26-2.4.1/lgl/m4/memcmp.m4 --- gnutls26-2.8.6/lgl/m4/memcmp.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/memcmp.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,31 @@ +# memcmp.m4 serial 13 +dnl Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_MEMCMP], +[ + if test $cross_compiling != no; then + # AC_FUNC_MEMCMP as of 2.62 defaults to 'no' when cross compiling. + # We default to yes if memcmp appears to exist, which works + # better for MinGW. + AC_CACHE_CHECK([whether cross-compiling target has memcmp], + [ac_cv_func_memcmp_working], + [AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[#include + ]], [[int ret = memcmp ("foo", "bar", 0);]])], + [ac_cv_func_memcmp_working=yes], + [ac_cv_func_memcmp_working=no])]) + fi + AC_FUNC_MEMCMP + dnl Note: AC_FUNC_MEMCMP does AC_LIBOBJ(memcmp). + if test $ac_cv_func_memcmp_working = no; then + AC_DEFINE(memcmp, rpl_memcmp, + [Define to rpl_memcmp if the replacement function should be used.]) + gl_PREREQ_MEMCMP + fi +]) + +# Prerequisites of lib/memcmp.c. +AC_DEFUN([gl_PREREQ_MEMCMP], [:]) diff -Nru gnutls26-2.8.6/lgl/m4/memmem.m4 gnutls26-2.4.1/lgl/m4/memmem.m4 --- gnutls26-2.8.6/lgl/m4/memmem.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/memmem.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,83 @@ +# memmem.m4 serial 13 +dnl Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Check that memmem is present. +AC_DEFUN([gl_FUNC_MEMMEM_SIMPLE], +[ + dnl Persuade glibc to declare memmem(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REPLACE_FUNCS(memmem) + AC_CHECK_DECLS_ONCE(memmem) + if test $ac_cv_have_decl_memmem = no; then + HAVE_DECL_MEMMEM=0 + fi + gl_PREREQ_MEMMEM +]) # gl_FUNC_MEMMEM_SIMPLE + +dnl Additionally, check that memmem is efficient and handles empty needles. +AC_DEFUN([gl_FUNC_MEMMEM], +[ + AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE]) + if test $ac_cv_have_decl_memmem = yes; then + AC_CACHE_CHECK([whether memmem works in linear time], + [gl_cv_func_memmem_works], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include /* for signal */ +#include /* for memmem */ +#include /* for malloc */ +#include /* for alarm */ +]], [[size_t m = 1000000; + char *haystack = (char *) malloc (2 * m + 1); + char *needle = (char *) malloc (m + 1); + void *result = 0; + /* Failure to compile this test due to missing alarm is okay, + since all such platforms (mingw) also lack memmem. */ + signal (SIGALRM, SIG_DFL); + alarm (5); + /* Check for quadratic performance. */ + if (haystack && needle) + { + memset (haystack, 'A', 2 * m); + haystack[2 * m] = 'B'; + memset (needle, 'A', m); + needle[m] = 'B'; + result = memmem (haystack, 2 * m + 1, needle, m + 1); + } + /* Check for empty needle behavior. */ + return !result || !memmem ("a", 1, 0, 0);]])], + [gl_cv_func_memmem_works=yes], [gl_cv_func_memmem_works=no], + [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a + dnl memmem that works in linear time. + AC_EGREP_CPP([Lucky user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) + Lucky user + #endif +#endif +#ifdef __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_MAJOR >= 1007 + Lucky user + #endif +#endif + ], + [gl_cv_func_memmem_works=yes], + [gl_cv_func_memmem_works="guessing no"]) + ]) + ]) + if test "$gl_cv_func_memmem_works" != yes; then + REPLACE_MEMMEM=1 + AC_LIBOBJ([memmem]) + fi + fi +]) # gl_FUNC_MEMMEM + +# Prerequisites of lib/memmem.c. +AC_DEFUN([gl_PREREQ_MEMMEM], [:]) diff -Nru gnutls26-2.8.6/lgl/m4/memmove.m4 gnutls26-2.4.1/lgl/m4/memmove.m4 --- gnutls26-2.8.6/lgl/m4/memmove.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/memmove.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,18 @@ +# memmove.m4 serial 2 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_MEMMOVE], +[ + AC_REPLACE_FUNCS(memmove) + if test $ac_cv_func_memmove = no; then + gl_PREREQ_MEMMOVE + fi +]) + +# Prerequisites of lib/memmove.c. +AC_DEFUN([gl_PREREQ_MEMMOVE], [ + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/memxor.m4 gnutls26-2.4.1/lgl/m4/memxor.m4 --- gnutls26-2.8.6/lgl/m4/memxor.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/memxor.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,11 @@ +# memxor.m4 serial 3 +dnl Copyright (C) 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MEMXOR], +[ + AC_LIBOBJ([memxor]) + AC_REQUIRE([AC_C_RESTRICT]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/minmax.m4 gnutls26-2.4.1/lgl/m4/minmax.m4 --- gnutls26-2.8.6/lgl/m4/minmax.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/minmax.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,41 @@ +# minmax.m4 serial 2 +dnl Copyright (C) 2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_PREREQ(2.52) + +AC_DEFUN([gl_MINMAX], +[ + AC_REQUIRE([gl_PREREQ_MINMAX]) +]) + +# Prerequisites of lib/minmax.h. +AC_DEFUN([gl_PREREQ_MINMAX], +[ + gl_MINMAX_IN_HEADER([limits.h]) + gl_MINMAX_IN_HEADER([sys/param.h]) +]) + +dnl gl_MINMAX_IN_HEADER(HEADER) +dnl The parameter has to be a literal header name; it cannot be macro, +dnl nor a shell variable. (Because autoheader collects only AC_DEFINE +dnl invocations with a literal macro name.) +AC_DEFUN([gl_MINMAX_IN_HEADER], +[ + m4_pushdef([header], AS_TR_SH([$1])) + m4_pushdef([HEADER], AS_TR_CPP([$1])) + AC_CACHE_CHECK([whether <$1> defines MIN and MAX], + [gl_cv_minmax_in_]header, + [AC_TRY_COMPILE([#include <$1> +int x = MIN (42, 17);], [], + [gl_cv_minmax_in_]header[=yes], + [gl_cv_minmax_in_]header[=no])]) + if test $gl_cv_minmax_in_[]header = yes; then + AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, + [Define to 1 if <$1> defines the MIN and MAX macros.]) + fi + m4_popdef([HEADER]) + m4_popdef([header]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/printf.m4 gnutls26-2.4.1/lgl/m4/printf.m4 --- gnutls26-2.8.6/lgl/m4/printf.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/printf.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,1309 @@ +# printf.m4 serial 23 +dnl Copyright (C) 2003, 2007-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Test whether the *printf family of functions supports the 'j', 'z', 't', +dnl 'L' size specifiers. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_sizes_c99. + +AC_DEFUN([gl_PRINTF_SIZES_C99], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports size specifiers as in C99], + [gl_cv_func_printf_sizes_c99], + [ + AC_TRY_RUN([ +#include +#include +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +# include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +# include +#endif +static char buf[100]; +int main () +{ +#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX + buf[0] = '\0'; + if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 + || strcmp (buf, "12345671 33") != 0) + return 1; +#endif + buf[0] = '\0'; + if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 + || strcmp (buf, "12345672 33") != 0) + return 1; + buf[0] = '\0'; + if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 + || strcmp (buf, "12345673 33") != 0) + return 1; + buf[0] = '\0'; + if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 + || strcmp (buf, "1.5 33") != 0) + return 1; + return 0; +}], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; + darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on OpenBSD >= 3.9. + openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) + gl_cv_func_printf_sizes_c99="guessing no";; + openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on Solaris >= 2.10. + solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; + solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_printf_sizes_c99="guessing no";; + netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_sizes_c99="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports 'long double' +dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_long_double. + +AC_DEFUN([gl_PRINTF_LONG_DOUBLE], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports 'long double' arguments], + [gl_cv_func_printf_long_double], + [ + AC_TRY_RUN([ +#include +#include +static char buf[10000]; +int main () +{ + buf[0] = '\0'; + if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 + || strcmp (buf, "1.750000 33") != 0) + return 1; + buf[0] = '\0'; + if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 + || strcmp (buf, "1.750000e+00 33") != 0) + return 1; + buf[0] = '\0'; + if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 + || strcmp (buf, "1.75 33") != 0) + return 1; + return 0; +}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], + [ +changequote(,)dnl + case "$host_os" in + beos*) gl_cv_func_printf_long_double="guessing no";; + mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; + *) gl_cv_func_printf_long_double="guessing yes";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports infinite and NaN +dnl 'double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_infinite. + +AC_DEFUN([gl_PRINTF_INFINITE], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], + [gl_cv_func_printf_infinite], + [ + AC_TRY_RUN([ +#include +#include +static int +strisnan (const char *string, size_t start_index, size_t end_index) +{ + if (start_index < end_index) + { + if (string[start_index] == '-') + start_index++; + if (start_index + 3 <= end_index + && memcmp (string + start_index, "nan", 3) == 0) + { + start_index += 3; + if (start_index == end_index + || (string[start_index] == '(' && string[end_index - 1] == ')')) + return 1; + } + } + return 0; +} +static char buf[10000]; +static double zero = 0.0; +int main () +{ + if (sprintf (buf, "%f", 1.0 / 0.0) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%f", -1.0 / 0.0) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%f", zero / zero) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%e", 1.0 / 0.0) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%e", -1.0 / 0.0) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%e", zero / zero) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%g", 1.0 / 0.0) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%g", -1.0 / 0.0) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%g", zero / zero) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + return 0; +}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on FreeBSD >= 6. + freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; + darwin*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on HP-UX >= 11. + hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; + hpux*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_printf_infinite="guessing no";; + netbsd*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_printf_infinite="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_infinite="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports infinite and NaN +dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_infinite_long_double. + +AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], +[ + AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + dnl The user can set or unset the variable gl_printf_safe to indicate + dnl that he wishes a safe handling of non-IEEE-754 'long double' values. + if test -n "$gl_printf_safe"; then + AC_DEFINE([CHECK_PRINTF_SAFE], 1, + [Define if you wish *printf() functions that have a safe handling of + non-IEEE-754 'long double' values.]) + fi + case "$gl_cv_func_printf_long_double" in + *yes) + AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], + [gl_cv_func_printf_infinite_long_double], + [ + AC_TRY_RUN([ +]GL_NOCRASH[ +#include +#include +#include +static int +strisnan (const char *string, size_t start_index, size_t end_index) +{ + if (start_index < end_index) + { + if (string[start_index] == '-') + start_index++; + if (start_index + 3 <= end_index + && memcmp (string + start_index, "nan", 3) == 0) + { + start_index += 3; + if (start_index == end_index + || (string[start_index] == '(' && string[end_index - 1] == ')')) + return 1; + } + } + return 0; +} +static char buf[10000]; +static long double zeroL = 0.0L; +int main () +{ + nocrash_init(); + if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%Le", zeroL / zeroL) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 + || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) + return 1; + if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 + || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) + return 1; + if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +/* Representation of an 80-bit 'long double' as an initializer for a sequence + of 'unsigned int' words. */ +# ifdef WORDS_BIGENDIAN +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ + ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ + (unsigned int) (mantlo) << 16 \ + } +# else +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { mantlo, manthi, exponent } +# endif + { /* Quiet NaN. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { + /* Signalling NaN. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { /* Pseudo-NaN. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { /* Pseudo-Infinity. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { /* Pseudo-Zero. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { /* Unnormalized number. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } + { /* Pseudo-Denormal. */ + static union { unsigned int word[4]; long double value; } x = + { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; + if (sprintf (buf, "%Lf", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Le", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + if (sprintf (buf, "%Lg", x.value) < 0 + || !strisnan (buf, 0, strlen (buf))) + return 1; + } +#endif + return 0; +}], + [gl_cv_func_printf_infinite_long_double=yes], + [gl_cv_func_printf_infinite_long_double=no], + [ +changequote(,)dnl + case "$host_cpu" in + # Guess no on ia64, x86_64, i386. + ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; + *) + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # Guess yes on FreeBSD >= 6. + freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; + darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # Guess yes on HP-UX >= 11. + hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; + hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_printf_infinite_long_double="guessing no";; + netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_infinite_long_double="guessing no";; + esac + ;; + esac +changequote([,])dnl + ]) + ]) + ;; + *) + gl_cv_func_printf_infinite_long_double="irrelevant" + ;; + esac +]) + +dnl Test whether the *printf family of functions supports the 'a' and 'A' +dnl conversion specifier for hexadecimal output of floating-point numbers. +dnl (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_directive_a. + +AC_DEFUN([gl_PRINTF_DIRECTIVE_A], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], + [gl_cv_func_printf_directive_a], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 + || (strcmp (buf, "0x1.922p+1 33") != 0 + && strcmp (buf, "0x3.244p+0 33") != 0 + && strcmp (buf, "0x6.488p-1 33") != 0 + && strcmp (buf, "0xc.91p-2 33") != 0)) + return 1; + if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 + || (strcmp (buf, "-0X1.922P+1 33") != 0 + && strcmp (buf, "-0X3.244P+0 33") != 0 + && strcmp (buf, "-0X6.488P-1 33") != 0 + && strcmp (buf, "-0XC.91P-2 33") != 0)) + return 1; + /* This catches a FreeBSD 6.1 bug: it doesn't round. */ + if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 + || (strcmp (buf, "0x1.83p+0 33") != 0 + && strcmp (buf, "0x3.05p-1 33") != 0 + && strcmp (buf, "0x6.0ap-2 33") != 0 + && strcmp (buf, "0xc.14p-3 33") != 0)) + return 1; + /* This catches a FreeBSD 6.1 bug. See + */ + if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 + || buf[0] == '0') + return 1; + /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ + if (sprintf (buf, "%.1a", 1.999) < 0 + || (strcmp (buf, "0x1.0p+1") != 0 + && strcmp (buf, "0x2.0p+0") != 0 + && strcmp (buf, "0x4.0p-1") != 0 + && strcmp (buf, "0x8.0p-2") != 0)) + return 1; + /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a + glibc 2.4 bug . */ + if (sprintf (buf, "%.1La", 1.999L) < 0 + || (strcmp (buf, "0x1.0p+1") != 0 + && strcmp (buf, "0x2.0p+0") != 0 + && strcmp (buf, "0x4.0p-1") != 0 + && strcmp (buf, "0x8.0p-2") != 0)) + return 1; + return 0; +}], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], + [ + case "$host_os" in + # Guess yes on glibc >= 2.5 systems. + *-gnu*) + AC_EGREP_CPP([BZ2908], [ + #include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) + BZ2908 + #endif + #endif + ], + [gl_cv_func_printf_directive_a="guessing yes"], + [gl_cv_func_printf_directive_a="guessing no"]) + ;; + # If we don't know, assume the worst. + *) gl_cv_func_printf_directive_a="guessing no";; + esac + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports the %F format +dnl directive. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_directive_f. + +AC_DEFUN([gl_PRINTF_DIRECTIVE_F], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the 'F' directive], + [gl_cv_func_printf_directive_f], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 + || strcmp (buf, "1234567.000000 33") != 0) + return 1; + if (sprintf (buf, "%F", 1.0 / 0.0) < 0 + || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) + return 1; + /* This catches a Cygwin 2007 bug. */ + if (sprintf (buf, "%.F", 1234.0) < 0 + || strcmp (buf, "1234") != 0) + return 1; + return 0; +}], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; + # Guess yes on FreeBSD >= 6. + freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; + darwin*) gl_cv_func_printf_directive_f="guessing yes";; + # Guess yes on Solaris >= 2.10. + solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; + solaris*) gl_cv_func_printf_directive_f="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_directive_f="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports the %n format +dnl directive. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_printf_directive_n. + +AC_DEFUN([gl_PRINTF_DIRECTIVE_N], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the 'n' directive], + [gl_cv_func_printf_directive_n], + [ + AC_TRY_RUN([ +#include +#include +static char fmtstring[10]; +static char buf[100]; +int main () +{ + int count = -1; + /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) + support %n in format strings in read-only memory but not in writable + memory. */ + strcpy (fmtstring, "%d %n"); + if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 + || strcmp (buf, "123 ") != 0 + || count != 4) + return 1; + return 0; +}], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], + [ +changequote(,)dnl + case "$host_os" in + *) gl_cv_func_printf_directive_n="guessing yes";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports POSIX/XSI format +dnl strings with positions. (POSIX:2001) +dnl Result is gl_cv_func_printf_positions. + +AC_DEFUN([gl_PRINTF_POSITIONS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], + [gl_cv_func_printf_positions], + [ + AC_TRY_RUN([ +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +}], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], + [ +changequote(,)dnl + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports POSIX/XSI format +dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) +dnl Result is gl_cv_func_printf_flag_grouping. + +AC_DEFUN([gl_PRINTF_FLAG_GROUPING], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the grouping flag], + [gl_cv_func_printf_flag_grouping], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + if (sprintf (buf, "%'d %d", 1234567, 99) < 0 + || buf[strlen (buf) - 1] != '9') + return 1; + return 0; +}], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], + [ +changequote(,)dnl + case "$host_os" in + cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; + netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; + mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; + *) gl_cv_func_printf_flag_grouping="guessing yes";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports the - flag correctly. +dnl (ISO C99.) See +dnl +dnl Result is gl_cv_func_printf_flag_leftadjust. + +AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], + [gl_cv_func_printf_flag_leftadjust], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + /* Check that a '-' flag is not annihilated by a negative width. */ + if (sprintf (buf, "a%-*sc", -3, "b") < 0 + || strcmp (buf, "ab c") != 0) + return 1; + return 0; +}], + [gl_cv_func_printf_flag_leftadjust=yes], + [gl_cv_func_printf_flag_leftadjust=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on HP-UX 11. + hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; + # Guess no on HP-UX 10 and older. + hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; + # Guess yes otherwise. + *) gl_cv_func_printf_flag_leftadjust="guessing yes";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports padding of non-finite +dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See +dnl +dnl Result is gl_cv_func_printf_flag_zero. + +AC_DEFUN([gl_PRINTF_FLAG_ZERO], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the zero flag correctly], + [gl_cv_func_printf_flag_zero], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 + || (strcmp (buf, " inf") != 0 + && strcmp (buf, " infinity") != 0)) + return 1; + return 0; +}], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_printf_flag_zero="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_flag_zero="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions supports large precisions. +dnl On mingw, precisions larger than 512 are treated like 512, in integer, +dnl floating-point or pointer output. On BeOS, precisions larger than 1044 +dnl crash the program. +dnl Result is gl_cv_func_printf_precision. + +AC_DEFUN([gl_PRINTF_PRECISION], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports large precisions], + [gl_cv_func_printf_precision], + [ + AC_TRY_RUN([ +#include +#include +static char buf[5000]; +int main () +{ +#ifdef __BEOS__ + /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ + return 1; +#endif + if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) + return 1; + return 0; +}], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess no only on native Win32 and BeOS systems. + mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; + beos*) gl_cv_func_printf_precision="guessing no" ;; + *) gl_cv_func_printf_precision="guessing yes" ;; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the *printf family of functions recovers gracefully in case +dnl of an out-of-memory condition, or whether it crashes the entire program. +dnl Result is gl_cv_func_printf_enomem. + +AC_DEFUN([gl_PRINTF_ENOMEM], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf survives out-of-memory conditions], + [gl_cv_func_printf_enomem], + [ + if test "$cross_compiling" = no; then + AC_LANG_CONFTEST([AC_LANG_SOURCE([ +]GL_NOCRASH[ +changequote(,)dnl +#include +#include +#include +#include +#include +int main() +{ + struct rlimit limit; + int ret; + nocrash_init (); + /* Some printf implementations allocate temporary space with malloc. */ + /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ +#ifdef RLIMIT_DATA + if (getrlimit (RLIMIT_DATA, &limit) < 0) + return 77; + if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) + limit.rlim_max = 5000000; + limit.rlim_cur = limit.rlim_max; + if (setrlimit (RLIMIT_DATA, &limit) < 0) + return 77; +#endif + /* On Linux systems, malloc() is limited by RLIMIT_AS. */ +#ifdef RLIMIT_AS + if (getrlimit (RLIMIT_AS, &limit) < 0) + return 77; + if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) + limit.rlim_max = 5000000; + limit.rlim_cur = limit.rlim_max; + if (setrlimit (RLIMIT_AS, &limit) < 0) + return 77; +#endif + /* Some printf implementations allocate temporary space on the stack. */ +#ifdef RLIMIT_STACK + if (getrlimit (RLIMIT_STACK, &limit) < 0) + return 77; + if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) + limit.rlim_max = 5000000; + limit.rlim_cur = limit.rlim_max; + if (setrlimit (RLIMIT_STACK, &limit) < 0) + return 77; +#endif + ret = printf ("%.5000000f", 1.0); + return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); +} +changequote([,])dnl + ])]) + if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then + (./conftest + result=$? + if test $result != 0 && test $result != 77; then result=1; fi + exit $result + ) >/dev/null 2>/dev/null + case $? in + 0) gl_cv_func_printf_enomem="yes" ;; + 77) gl_cv_func_printf_enomem="guessing no" ;; + *) gl_cv_func_printf_enomem="no" ;; + esac + else + gl_cv_func_printf_enomem="guessing no" + fi + rm -fr conftest* + else +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on Solaris. + solaris*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on AIX. + aix*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on HP-UX/hppa. + hpux*) case "$host_cpu" in + hppa*) gl_cv_func_printf_enomem="guessing yes";; + *) gl_cv_func_printf_enomem="guessing no";; + esac + ;; + # Guess yes on IRIX. + irix*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on OSF/1. + osf*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_printf_enomem="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_enomem="guessing no";; + esac +changequote([,])dnl + fi + ]) +]) + +dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) +dnl Result is ac_cv_func_snprintf. + +AC_DEFUN([gl_SNPRINTF_PRESENCE], +[ + AC_CHECK_FUNCS_ONCE([snprintf]) +]) + +dnl Test whether the string produced by the snprintf function is always NUL +dnl terminated. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_snprintf_truncation_c99. + +AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether snprintf truncates the result as in C99], + [gl_cv_func_snprintf_truncation_c99], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + strcpy (buf, "ABCDEF"); + snprintf (buf, 3, "%d %d", 4567, 89); + if (memcmp (buf, "45\0DEF", 6) != 0) + return 1; + return 0; +}], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; + darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on OpenBSD >= 3.9. + openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) + gl_cv_func_snprintf_truncation_c99="guessing no";; + openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on Solaris >= 2.6. + solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; + solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; + aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on HP-UX >= 11. + hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; + hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on IRIX >= 6.5. + irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on OSF/1 >= 5. + osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; + osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_snprintf_truncation_c99="guessing no";; + netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_snprintf_truncation_c99="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the return value of the snprintf function is the number +dnl of bytes (excluding the terminating NUL) that would have been produced +dnl if the buffer had been large enough. (ISO C99, POSIX:2001) +dnl For example, this test program fails on IRIX 6.5: +dnl --------------------------------------------------------------------- +dnl #include +dnl int main() +dnl { +dnl static char buf[8]; +dnl int retval = snprintf (buf, 3, "%d", 12345); +dnl return retval >= 0 && retval < 3; +dnl } +dnl --------------------------------------------------------------------- +dnl Result is gl_cv_func_snprintf_retval_c99. + +AC_DEFUN([gl_SNPRINTF_RETVAL_C99], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], + [gl_cv_func_snprintf_retval_c99], + [ + AC_TRY_RUN([ +#include +#include +static char buf[100]; +int main () +{ + strcpy (buf, "ABCDEF"); + if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) + return 1; + return 0; +}], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; + darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on OpenBSD >= 3.9. + openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) + gl_cv_func_snprintf_retval_c99="guessing no";; + openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on Solaris >= 2.6. + solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; + solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; + aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_snprintf_retval_c99="guessing no";; + netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_snprintf_retval_c99="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the snprintf function supports the %n format directive +dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) +dnl Result is gl_cv_func_snprintf_directive_n. + +AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], + [gl_cv_func_snprintf_directive_n], + [ + AC_TRY_RUN([ +#include +#include +static char fmtstring[10]; +static char buf[100]; +int main () +{ + int count = -1; + /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) + support %n in format strings in read-only memory but not in writable + memory. */ + strcpy (fmtstring, "%d %n"); + snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); + if (count != 6) + return 1; + return 0; +}], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; + darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on Solaris >= 2.6. + solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; + solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; + aix*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on IRIX >= 6.5. + irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on OSF/1 >= 5. + osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; + osf*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_snprintf_directive_n="guessing no";; + netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_snprintf_directive_n="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_snprintf_directive_n="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl Test whether the snprintf function, when passed a size = 1, writes any +dnl output without bounds in this case, behaving like sprintf. This is the +dnl case on Linux libc5. +dnl Result is gl_cv_func_snprintf_size1. + +AC_DEFUN([gl_SNPRINTF_SIZE1], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether snprintf respects a size of 1], + [gl_cv_func_snprintf_size1], + [ + AC_TRY_RUN([ +#include +int main() +{ + static char buf[8] = "DEADBEEF"; + snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; +}], + [gl_cv_func_snprintf_size1=yes], + [gl_cv_func_snprintf_size1=no], + [gl_cv_func_snprintf_size1="guessing yes"]) + ]) +]) + +dnl Test whether the vsnprintf function, when passed a zero size, produces no +dnl output. (ISO C99, POSIX:2001) +dnl For example, snprintf nevertheless writes a NUL byte in this case +dnl on OSF/1 5.1: +dnl --------------------------------------------------------------------- +dnl #include +dnl int main() +dnl { +dnl static char buf[8] = "DEADBEEF"; +dnl snprintf (buf, 0, "%d", 12345); +dnl return buf[0] != 'D'; +dnl } +dnl --------------------------------------------------------------------- +dnl And vsnprintf writes any output without bounds in this case, behaving like +dnl vsprintf, on HP-UX 11 and OSF/1 5.1: +dnl --------------------------------------------------------------------- +dnl #include +dnl #include +dnl static int my_snprintf (char *buf, int size, const char *format, ...) +dnl { +dnl va_list args; +dnl int ret; +dnl va_start (args, format); +dnl ret = vsnprintf (buf, size, format, args); +dnl va_end (args); +dnl return ret; +dnl } +dnl int main() +dnl { +dnl static char buf[8] = "DEADBEEF"; +dnl my_snprintf (buf, 0, "%d", 12345); +dnl return buf[0] != 'D'; +dnl } +dnl --------------------------------------------------------------------- +dnl Result is gl_cv_func_vsnprintf_zerosize_c99. + +AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], + [gl_cv_func_vsnprintf_zerosize_c99], + [ + AC_TRY_RUN([ +#include +#include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +int main() +{ + static char buf[8] = "DEADBEEF"; + my_snprintf (buf, 0, "%d", 12345); + return buf[0] != 'D'; +}], + [gl_cv_func_vsnprintf_zerosize_c99=yes], + [gl_cv_func_vsnprintf_zerosize_c99=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on MacOS X >= 10.3. + darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on Solaris >= 2.6. + solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on IRIX >= 6.5. + irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on mingw. + mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + esac +changequote([,])dnl + ]) + ]) +]) + +dnl The results of these tests on various platforms are: +dnl +dnl 1 = gl_PRINTF_SIZES_C99 +dnl 2 = gl_PRINTF_LONG_DOUBLE +dnl 3 = gl_PRINTF_INFINITE +dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE +dnl 5 = gl_PRINTF_DIRECTIVE_A +dnl 6 = gl_PRINTF_DIRECTIVE_F +dnl 7 = gl_PRINTF_DIRECTIVE_N +dnl 8 = gl_PRINTF_POSITIONS +dnl 9 = gl_PRINTF_FLAG_GROUPING +dnl 10 = gl_PRINTF_FLAG_LEFTADJUST +dnl 11 = gl_PRINTF_FLAG_ZERO +dnl 12 = gl_PRINTF_PRECISION +dnl 13 = gl_PRINTF_ENOMEM +dnl 14 = gl_SNPRINTF_PRESENCE +dnl 15 = gl_SNPRINTF_TRUNCATION_C99 +dnl 16 = gl_SNPRINTF_RETVAL_C99 +dnl 17 = gl_SNPRINTF_DIRECTIVE_N +dnl 18 = gl_SNPRINTF_SIZE1 +dnl 19 = gl_VSNPRINTF_ZEROSIZE_C99 +dnl +dnl 1 = checking whether printf supports size specifiers as in C99... +dnl 2 = checking whether printf supports 'long double' arguments... +dnl 3 = checking whether printf supports infinite 'double' arguments... +dnl 4 = checking whether printf supports infinite 'long double' arguments... +dnl 5 = checking whether printf supports the 'a' and 'A' directives... +dnl 6 = checking whether printf supports the 'F' directive... +dnl 7 = checking whether printf supports the 'n' directive... +dnl 8 = checking whether printf supports POSIX/XSI format strings with positions... +dnl 9 = checking whether printf supports the grouping flag... +dnl 10 = checking whether printf supports the left-adjust flag correctly... +dnl 11 = checking whether printf supports the zero flag correctly... +dnl 12 = checking whether printf supports large precisions... +dnl 13 = checking whether printf survives out-of-memory conditions... +dnl 14 = checking for snprintf... +dnl 15 = checking whether snprintf truncates the result as in C99... +dnl 16 = checking whether snprintf returns a byte count as in C99... +dnl 17 = checking whether snprintf fully supports the 'n' directive... +dnl 18 = checking whether snprintf respects a size of 1... +dnl 19 = checking whether vsnprintf respects a zero size as in C99... +dnl +dnl . = yes, # = no. +dnl +dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 +dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . +dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . +dnl FreeBSD 5.4, 6.1 . . . . # . . . . . # . # . . . . . . +dnl MacOS X 10.3.9 . . . . # . . . . . # . # . . . . . . +dnl OpenBSD 3.9, 4.0 . . # # # # . . # . # . # . . . . . . +dnl Cygwin 2007 (= Cygwin 1.5.24) . . . . # # . . . ? # ? ? . . . . . . +dnl Cygwin 2006 (= Cygwin 1.5.19) # . . . # # . . # ? # ? ? . . . . . . +dnl Solaris 10 . . # # # . . . . . # . . . . . . . . +dnl Solaris 2.6 ... 9 # . # # # # . . . . # . . . . . . . . +dnl Solaris 2.5.1 # . # # # # . . . . # . . # # # # # # +dnl AIX 5.2 . . # # # . . . . . # . . . . . . . . +dnl AIX 4.3.2, 5.1 # . # # # # . . . . # . . . . . . . . +dnl HP-UX 11.31 . . . . # . . . . . # . . . . # # . . +dnl HP-UX 11.{00,11,23} # . . . # # . . . . # . . . . # # . # +dnl HP-UX 10.20 # . . . # # . . . # # . . . . # # ? # +dnl IRIX 6.5 # . # # # # . . . . # . . . . # . . . +dnl OSF/1 5.1 # . # # # # . . . . # . . . . # . . # +dnl OSF/1 4.0d # . # # # # . . . . # . . # # # # # # +dnl NetBSD 4.0 . ? ? ? ? ? . . ? ? ? ? ? . . . ? ? ? +dnl NetBSD 3.0 . . . . # # . # # ? # . # . . . . . . +dnl BeOS # # . # # # . # . ? . # ? . . . . . . +dnl mingw # # # # # # . # # . # # ? . # # # . . diff -Nru gnutls26-2.8.6/lgl/m4/read-file.m4 gnutls26-2.4.1/lgl/m4/read-file.m4 --- gnutls26-2.8.6/lgl/m4/read-file.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/read-file.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,14 @@ +# read-file.m4 serial 2 +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_READ_FILE], +[ + AC_LIBOBJ([read-file]) + gl_PREREQ_READ_FILE +]) + +# Prerequisites of lib/read-file.c. +AC_DEFUN([gl_PREREQ_READ_FILE], [:]) diff -Nru gnutls26-2.8.6/lgl/m4/realloc.m4 gnutls26-2.4.1/lgl/m4/realloc.m4 --- gnutls26-2.8.6/lgl/m4/realloc.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/realloc.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,23 @@ +# realloc.m4 serial 8 +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# gl_FUNC_REALLOC_POSIX +# --------------------- +# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it +# fails), and replace realloc if it is not. +AC_DEFUN([gl_FUNC_REALLOC_POSIX], +[ + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix = yes; then + HAVE_REALLOC_POSIX=1 + AC_DEFINE([HAVE_REALLOC_POSIX], 1, + [Define if the 'realloc' function is POSIX compliant.]) + else + AC_LIBOBJ([realloc]) + HAVE_REALLOC_POSIX=0 + fi + AC_SUBST([HAVE_REALLOC_POSIX]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/rijndael.m4 gnutls26-2.4.1/lgl/m4/rijndael.m4 --- gnutls26-2.8.6/lgl/m4/rijndael.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/rijndael.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,11 @@ +# rijndael.m4 serial 2 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_RIJNDAEL], +[ + AC_LIBOBJ([rijndael-alg-fst]) + AC_LIBOBJ([rijndael-api-fst]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/sha1.m4 gnutls26-2.4.1/lgl/m4/sha1.m4 --- gnutls26-2.8.6/lgl/m4/sha1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/sha1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,15 @@ +# sha1.m4 serial 8 +dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_SHA1], +[ + AC_LIBOBJ([sha1]) + + dnl Prerequisites of lib/sha1.c. + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_C_INLINE]) + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/snprintf.m4 gnutls26-2.4.1/lgl/m4/snprintf.m4 --- gnutls26-2.8.6/lgl/m4/snprintf.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/snprintf.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,40 @@ +# snprintf.m4 serial 5 +dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SNPRINTF], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + gl_cv_func_snprintf_usable=no + AC_CHECK_FUNCS([snprintf]) + if test $ac_cv_func_snprintf = yes; then + gl_SNPRINTF_SIZE1 + case "$gl_cv_func_snprintf_size1" in + *yes) + gl_cv_func_snprintf_usable=yes + ;; + esac + fi + if test $gl_cv_func_snprintf_usable = no; then + gl_REPLACE_SNPRINTF + fi + AC_CHECK_DECLS_ONCE([snprintf]) + if test $ac_cv_have_decl_snprintf = no; then + HAVE_DECL_SNPRINTF=0 + fi +]) + +AC_DEFUN([gl_REPLACE_SNPRINTF], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_LIBOBJ([snprintf]) + if test $ac_cv_func_snprintf = yes; then + REPLACE_SNPRINTF=1 + fi + gl_PREREQ_SNPRINTF +]) + +# Prerequisites of lib/snprintf.c. +AC_DEFUN([gl_PREREQ_SNPRINTF], [:]) diff -Nru gnutls26-2.8.6/lgl/m4/sockpfaf.m4 gnutls26-2.4.1/lgl/m4/sockpfaf.m4 --- gnutls26-2.8.6/lgl/m4/sockpfaf.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/sockpfaf.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,58 @@ +# sockpfaf.m4 serial 5 +dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...) +dnl and some common address families (AF_INET, AF_INET6, ...). +dnl This test assumes that a system supports an address family if and only if +dnl it supports the corresponding protocol family. + +dnl From Bruno Haible. + +AC_DEFUN([gl_SOCKET_FAMILIES], +[ + AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_CHECK_HEADERS_ONCE([netinet/in.h]) + + AC_MSG_CHECKING(for IPv4 sockets) + AC_CACHE_VAL(gl_cv_socket_ipv4, + [AC_TRY_COMPILE([#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif], +[int x = AF_INET; struct in_addr y; struct sockaddr_in z; + if (&x && &y && &z) return 0;], + gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) + AC_MSG_RESULT($gl_cv_socket_ipv4) + if test $gl_cv_socket_ipv4 = yes; then + AC_DEFINE(HAVE_IPV4, 1, [Define to 1 if defines AF_INET.]) + fi + + AC_MSG_CHECKING(for IPv6 sockets) + AC_CACHE_VAL(gl_cv_socket_ipv6, + [AC_TRY_COMPILE([#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif], +[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; + if (&x && &y && &z) return 0;], + gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) + AC_MSG_RESULT($gl_cv_socket_ipv6) + if test $gl_cv_socket_ipv6 = yes; then + AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if defines AF_INET6.]) + fi +]) diff -Nru gnutls26-2.8.6/lgl/m4/stdbool.m4 gnutls26-2.4.1/lgl/m4/stdbool.m4 --- gnutls26-2.8.6/lgl/m4/stdbool.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/stdbool.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,115 @@ +# Check for stdbool.h that conforms to C99. + +dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. +AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) + +# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + bool e = &s; + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + #if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a run-time + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); + #endif + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + ], + [ + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + ], + [ac_cv_header_stdbool_h=yes], + [ac_cv_header_stdbool_h=no])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h = yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) + fi]) diff -Nru gnutls26-2.8.6/lgl/m4/stdint.m4 gnutls26-2.4.1/lgl/m4/stdint.m4 --- gnutls26-2.8.6/lgl/m4/stdint.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/stdint.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,395 @@ +# stdint.m4 serial 31 +dnl Copyright (C) 2001-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert and Bruno Haible. +dnl Test whether is supported or must be substituted. + +AC_DEFUN([gl_STDINT_H], +[ + AC_PREREQ(2.59)dnl + + dnl Check for long long int and unsigned long long int. + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + AC_SUBST([HAVE_LONG_LONG_INT]) + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi + AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) + + dnl Check for . + dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + AC_SUBST([HAVE_INTTYPES_H]) + + dnl Check for . + dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi + AC_SUBST([HAVE_SYS_TYPES_H]) + + gl_CHECK_NEXT_HEADERS([stdint.h]) + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi + AC_SUBST([HAVE_STDINT_H]) + + dnl Now see whether we need a substitute . + if test $ac_cv_header_stdint_h = yes; then + AC_CACHE_CHECK([whether stdint.h conforms to C99], + [gl_cv_header_working_stdint_h], + [gl_cv_header_working_stdint_h=no + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ +#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif +] +gl_STDINT_INCLUDES +[ +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; + +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + ]])], + [gl_cv_header_working_stdint_h=yes])]) + fi + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else + dnl Check for , and for + dnl (used in Linux libc4 >= 4.6.7 and libc5). + AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + else + HAVE_SYS_INTTYPES_H=0 + fi + AC_SUBST([HAVE_SYS_INTTYPES_H]) + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + else + HAVE_SYS_BITYPES_H=0 + fi + AC_SUBST([HAVE_SYS_BITYPES_H]) + + dnl Check for (missing in Linux uClibc when built without wide + dnl character support). + AC_CHECK_HEADERS_ONCE([wchar.h]) + + gl_STDINT_TYPE_PROPERTIES + STDINT_H=stdint.h + fi + AC_SUBST(STDINT_H) +]) + +dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) +dnl Determine the size of each of the given types in bits. +AC_DEFUN([gl_STDINT_BITSIZEOF], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), + [Define to the number of bits in type ']gltype['.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], + [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], + [$2 +#include ], [result=unknown]) + eval gl_cv_bitsizeof_${gltype}=\$result + ]) + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, + dnl do a syntax check even on unused #if conditions and give an error + dnl on valid C code like this: + dnl #if 0 + dnl # if > 32 + dnl # endif + dnl #endif + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) + eval BITSIZEOF_${GLTYPE}=\$result + done + m4_foreach_w([gltype], [$1], + [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) +]) + +dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) +dnl Determine the signedness of each of the given types. +dnl Define HAVE_SIGNED_TYPE if type is signed. +AC_DEFUN([gl_CHECK_TYPES_SIGNED], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), + [Define to 1 if ']gltype[' is a signed integer type.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([$2[ + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], + result=yes, result=no) + eval gl_cv_type_${gltype}_signed=\$result + ]) + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1) + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + m4_foreach_w([gltype], [$1], + [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) +]) + +dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) +dnl Determine the suffix to use for integer constants of the given types. +dnl Define t_SUFFIX for each such type. +AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], + [Define to l, ll, u, ul, ull, etc., as suitable for + constants of type ']gltype['.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([for $gltype integer literal suffix], + [gl_cv_type_${gltype}_suffix], + [eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([$2[ + extern $gltype foo; + extern $gltype1 foo;]])], + [eval gl_cv_type_${gltype}_suffix=\$glsuf]) + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done]) + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result) + done + m4_foreach_w([gltype], [$1], + [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) +]) + +dnl gl_STDINT_INCLUDES +AC_DEFUN([gl_STDINT_INCLUDES], +[[ + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +]]) + +dnl gl_STDINT_TYPE_PROPERTIES +dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t +dnl of interest to stdint.in.h. +AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], +[ + gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) + gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) +]) + +# Hey Emacs! +# Local Variables: +# indent-tabs-mode: nil +# End: diff -Nru gnutls26-2.8.6/lgl/m4/stdio_h.m4 gnutls26-2.4.1/lgl/m4/stdio_h.m4 --- gnutls26-2.8.6/lgl/m4/stdio_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/stdio_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,89 @@ +# stdio_h.m4 serial 11 +dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_STDIO_H], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([stdio.h]) +]) + +AC_DEFUN([gl_STDIO_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_STDIO_H_DEFAULTS], +[ + GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) + GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) + GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) + GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) + GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) + GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) + GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) + GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) + GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) + GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) + GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) + GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) + GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) + GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) + GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) + GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) + GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) + GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) + GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) + GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) + dnl Assume proper GNU behavior unless another module says otherwise. + REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) + REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) + REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) + REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) + REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) + HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) + REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) + HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) + REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) + REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) + HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) + REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) + REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) + REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) + HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) + REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) + REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) + HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) + REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) + REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) + REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) + HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) + HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) + REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) + HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) + REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) +]) + +dnl Code shared by fseeko and ftello. Determine if large files are supported, +dnl but stdin does not start as a large file by default. +AC_DEFUN([gl_STDIN_LARGE_OFFSET], + [ + AC_CACHE_CHECK([whether stdin defaults to large file offsets], + [gl_cv_var_stdin_large_offset], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], +[[#if defined __SL64 && defined __SCLE /* cygwin */ + /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making + fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and + it is easier to do a version check than building a runtime test. */ +# include +# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) + choke me +# endif +#endif]])], + [gl_cv_var_stdin_large_offset=yes], + [gl_cv_var_stdin_large_offset=no])]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/stdlib_h.m4 gnutls26-2.4.1/lgl/m4/stdlib_h.m4 --- gnutls26-2.8.6/lgl/m4/stdlib_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/stdlib_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,47 @@ +# stdlib_h.m4 serial 7 +dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_STDLIB_H], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([stdlib.h]) +]) + +AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_STDLIB_H_DEFAULTS], +[ + GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) + GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) + GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) + GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) + GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) + GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) + GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) + GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) + GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) + GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) + GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) + HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) + HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) + HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) + HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) + HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) + HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) + HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) + HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) + REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) + REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) + REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) + VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/strcase.m4 gnutls26-2.4.1/lgl/m4/strcase.m4 --- gnutls26-2.8.6/lgl/m4/strcase.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/strcase.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,44 @@ +# strcase.m4 serial 9 +dnl Copyright (C) 2002, 2005-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_STRCASE], +[ + gl_FUNC_STRCASECMP + gl_FUNC_STRNCASECMP +]) + +AC_DEFUN([gl_FUNC_STRCASECMP], +[ + AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + AC_REPLACE_FUNCS(strcasecmp) + if test $ac_cv_func_strcasecmp = no; then + HAVE_STRCASECMP=0 + gl_PREREQ_STRCASECMP + fi +]) + +AC_DEFUN([gl_FUNC_STRNCASECMP], +[ + AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + AC_REPLACE_FUNCS(strncasecmp) + if test $ac_cv_func_strncasecmp = no; then + gl_PREREQ_STRNCASECMP + fi + AC_CHECK_DECLS(strncasecmp) + if test $ac_cv_have_decl_strncasecmp = no; then + HAVE_DECL_STRNCASECMP=0 + fi +]) + +# Prerequisites of lib/strcasecmp.c. +AC_DEFUN([gl_PREREQ_STRCASECMP], [ + : +]) + +# Prerequisites of lib/strncasecmp.c. +AC_DEFUN([gl_PREREQ_STRNCASECMP], [ + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/string_h.m4 gnutls26-2.4.1/lgl/m4/string_h.m4 --- gnutls26-2.8.6/lgl/m4/string_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/string_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,89 @@ +# Configure a GNU-like replacement for . + +# Copyright (C) 2007, 2008 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. + +# serial 4 + +# Written by Paul Eggert. + +AC_DEFUN([gl_HEADER_STRING_H], +[ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_HEADER_STRING_H_BODY]) +]) + +AC_DEFUN([gl_HEADER_STRING_H_BODY], +[ + AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([string.h]) +]) + +AC_DEFUN([gl_STRING_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], +[ + GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) + GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) + GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) + GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) + GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) + GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) + GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) + GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) + GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) + GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) + GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) + GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) + GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) + GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) + GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) + GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) + GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) + GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) + GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) + GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) + GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) + GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) + GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) + GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) + GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) + GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) + GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) + GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) + GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) + GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) + GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) + HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) + HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) + HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) + HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) + HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) + HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) + HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) + HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) + HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) + HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) + HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) + HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) + HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) + HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) + HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) + HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) + REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) + REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) + REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) + REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) + REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/strings_h.m4 gnutls26-2.4.1/lgl/m4/strings_h.m4 --- gnutls26-2.8.6/lgl/m4/strings_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/strings_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,33 @@ +# Configure a replacement for . + +# Copyright (C) 2007 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. + +AC_DEFUN([gl_HEADER_STRINGS_H], +[ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_HEADER_STRINGS_H_BODY]) +]) + +AC_DEFUN([gl_HEADER_STRINGS_H_BODY], +[ + AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([strings.h]) +]) + +AC_DEFUN([gl_STRINGS_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS], +[ + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP]) + HAVE_DECL_STRNCASECMP=1; AC_SUBST([HAVE_DECL_STRNCASECMP]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/strverscmp.m4 gnutls26-2.4.1/lgl/m4/strverscmp.m4 --- gnutls26-2.8.6/lgl/m4/strverscmp.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/strverscmp.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,21 @@ +# strverscmp.m4 serial 5 +dnl Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_STRVERSCMP], +[ + dnl Persuade glibc to declare strverscmp(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REPLACE_FUNCS(strverscmp) + if test $ac_cv_func_strverscmp = no; then + gl_PREREQ_STRVERSCMP + fi +]) + +# Prerequisites of lib/strverscmp.c. +AC_DEFUN([gl_PREREQ_STRVERSCMP], [ + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/sys_socket_h.m4 gnutls26-2.4.1/lgl/m4/sys_socket_h.m4 --- gnutls26-2.8.6/lgl/m4/sys_socket_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/sys_socket_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,72 @@ +# sys_socket_h.m4 serial 6 +dnl Copyright (C) 2005-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson. + +AC_DEFUN([gl_HEADER_SYS_SOCKET], +[ + AC_REQUIRE([AC_C_INLINE]) + + AC_CACHE_CHECK([whether is self-contained], + [gl_cv_header_sys_socket_h_selfcontained], + [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], + [gl_cv_header_sys_socket_h_selfcontained=yes], + [gl_cv_header_sys_socket_h_selfcontained=no]) + ]) + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + SYS_SOCKET_H='' + dnl If the shutdown function exists, should define + dnl SHUT_RD, SHUT_WR, SHUT_RDWR. + AC_CHECK_FUNCS([shutdown]) + if test $ac_cv_func_shutdown = yes; then + AC_CACHE_CHECK([whether defines the SHUT_* macros], + [gl_cv_header_sys_socket_h_shut], + [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], + [gl_cv_header_sys_socket_h_shut=yes], + [gl_cv_header_sys_socket_h_shut=no]) + ]) + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi + fi + else + SYS_SOCKET_H='sys/socket.h' + fi + if test -n "$SYS_SOCKET_H"; then + dnl Check prerequisites of the replacement. + gl_CHECK_NEXT_HEADERS([sys/socket.h]) + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WINSOCK2_H=0 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 + dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make + dnl the check for those headers unconditional; yet cygwin reports + dnl that the headers are present but cannot be compiled (since on + dnl cygwin, all socket information should come from sys/socket.h). + AC_CHECK_HEADERS([winsock2.h ws2tcpip.h]) + if test $ac_cv_header_winsock2_h = yes; then + HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + AC_SUBST([HAVE_SYS_SOCKET_H]) + AC_SUBST([HAVE_WINSOCK2_H]) + AC_SUBST([HAVE_WS2TCPIP_H]) + fi + AC_SUBST([SYS_SOCKET_H]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/sys_stat_h.m4 gnutls26-2.4.1/lgl/m4/sys_stat_h.m4 --- gnutls26-2.8.6/lgl/m4/sys_stat_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/sys_stat_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,55 @@ +# sys_stat_h.m4 serial 8 -*- Autoconf -*- +dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Eric Blake. +dnl Test whether contains lstat and mkdir or must be substituted. + +AC_DEFUN([gl_HEADER_SYS_STAT_H], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + + dnl Check for lstat. Systems that lack it (mingw) also lack symlinks, so + dnl stat is a good replacement. + AC_CHECK_FUNCS_ONCE([lstat]) + if test $ac_cv_func_lstat = yes; then + HAVE_LSTAT=1 + else + HAVE_LSTAT=0 + fi + AC_SUBST([HAVE_LSTAT]) + + dnl For the mkdir substitute. + AC_REQUIRE([AC_C_INLINE]) + + dnl Check for broken stat macros. + AC_REQUIRE([AC_HEADER_STAT]) + + gl_CHECK_NEXT_HEADERS([sys/stat.h]) + SYS_STAT_H='sys/stat.h' + AC_SUBST([SYS_STAT_H]) + + dnl Define types that are supposed to be defined in or + dnl . + AC_CHECK_TYPE([nlink_t], [], + [AC_DEFINE([nlink_t], [int], + [Define to the type of st_nlink in struct stat, or a supertype.])], + [#include + #include ]) + +]) # gl_HEADER_SYS_STAT_H + +AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], +[ + dnl Assume proper GNU behavior unless another module says otherwise. + REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/time_h.m4 gnutls26-2.4.1/lgl/m4/time_h.m4 --- gnutls26-2.8.6/lgl/m4/time_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/time_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,74 @@ +# Configure a more-standard replacement for . + +# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 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. + +# Written by Paul Eggert and Jim Meyering. + +AC_DEFUN([gl_HEADER_TIME_H], +[ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_HEADER_TIME_H_BODY]) +]) + +AC_DEFUN([gl_HEADER_TIME_H_BODY], +[ + AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([time.h]) + AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) +]) + +AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], +[ + dnl If another module says to replace or to not replace, do that. + dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; + dnl this lets maintainers check for portability. + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) + REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME]) + REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) +]) + +dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared +dnl in time.h or sys/time.h. + +AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], +[ + AC_CHECK_HEADERS_ONCE([sys/time.h]) + AC_CACHE_CHECK([for struct timespec in ], + [gl_cv_sys_struct_timespec_in_time_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], + [gl_cv_sys_struct_timespec_in_time_h=yes], + [gl_cv_sys_struct_timespec_in_time_h=no])]) + + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + AC_CACHE_CHECK([for struct timespec in ], + [gl_cv_sys_struct_timespec_in_sys_time_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], + [gl_cv_sys_struct_timespec_in_sys_time_h=yes], + [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + fi + fi + AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) + AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/time_r.m4 gnutls26-2.4.1/lgl/m4/time_r.m4 --- gnutls26-2.8.6/lgl/m4/time_r.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/time_r.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,43 @@ +dnl Reentrant time functions like localtime_r. + +dnl Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Paul Eggert. + +AC_DEFUN([gl_TIME_R], +[ + dnl Persuade glibc and Solaris to declare localtime_r. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], + [gl_cv_time_r_posix], + [AC_TRY_COMPILE( + [#include ], + [/* We don't need to append 'restrict's to the argument types, + even though the POSIX signature has the 'restrict's, + since C99 says they can't affect type compatibility. */ + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0; + /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ + *localtime_r (0, 0);], + [gl_cv_time_r_posix=yes], + [gl_cv_time_r_posix=no])]) + if test $gl_cv_time_r_posix = yes; then + REPLACE_LOCALTIME_R=0 + else + REPLACE_LOCALTIME_R=1 + AC_LIBOBJ([time_r]) + gl_PREREQ_TIME_R + fi +]) + +# Prerequisites of lib/time_r.c. +AC_DEFUN([gl_PREREQ_TIME_R], [ + : +]) diff -Nru gnutls26-2.8.6/lgl/m4/unistd_h.m4 gnutls26-2.4.1/lgl/m4/unistd_h.m4 --- gnutls26-2.8.6/lgl/m4/unistd_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/unistd_h.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,63 @@ +# unistd_h.m4 serial 11 +dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Simon Josefsson, Bruno Haible. + +AC_DEFUN([gl_UNISTD_H], +[ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + gl_CHECK_NEXT_HEADERS([unistd.h]) + + AC_CHECK_HEADERS_ONCE([unistd.h]) + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 + else + HAVE_UNISTD_H=0 + fi + AC_SUBST([HAVE_UNISTD_H]) +]) + +AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_UNISTD_H_DEFAULTS], +[ + GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) + GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) + GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) + GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) + GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) + GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) + GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) + GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) + GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) + GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) + GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) + GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) + HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) + HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) + HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) + HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) + HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) + HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) + HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) + HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) + REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) + REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) + REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) + REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) + REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) + REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) +]) diff -Nru gnutls26-2.8.6/lgl/m4/vasnprintf.m4 gnutls26-2.4.1/lgl/m4/vasnprintf.m4 --- gnutls26-2.8.6/lgl/m4/vasnprintf.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/vasnprintf.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,260 @@ +# vasnprintf.m4 serial 25 +dnl Copyright (C) 2002-2004, 2006-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_VASNPRINTF], +[ + AC_CHECK_FUNCS_ONCE([vasnprintf]) + if test $ac_cv_func_vasnprintf = no; then + gl_REPLACE_VASNPRINTF + fi +]) + +AC_DEFUN([gl_REPLACE_VASNPRINTF], +[ + AC_CHECK_FUNCS_ONCE([vasnprintf]) + AC_LIBOBJ([vasnprintf]) + AC_LIBOBJ([printf-args]) + AC_LIBOBJ([printf-parse]) + AC_LIBOBJ([asnprintf]) + if test $ac_cv_func_vasnprintf = yes; then + AC_DEFINE([REPLACE_VASNPRINTF], 1, + [Define if vasnprintf exists but is overridden by gnulib.]) + fi + gl_PREREQ_PRINTF_ARGS + gl_PREREQ_PRINTF_PARSE + gl_PREREQ_VASNPRINTF + gl_PREREQ_ASNPRINTF +]) + +# Prequisites of lib/printf-args.h, lib/printf-args.c. +AC_DEFUN([gl_PREREQ_PRINTF_ARGS], +[ + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + AC_REQUIRE([gt_TYPE_WCHAR_T]) + AC_REQUIRE([gt_TYPE_WINT_T]) +]) + +# Prequisites of lib/printf-parse.h, lib/printf-parse.c. +AC_DEFUN([gl_PREREQ_PRINTF_PARSE], +[ + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + AC_REQUIRE([gt_TYPE_WCHAR_T]) + AC_REQUIRE([gt_TYPE_WINT_T]) + AC_REQUIRE([AC_TYPE_SIZE_T]) + AC_CHECK_TYPE([ptrdiff_t], , + [AC_DEFINE([ptrdiff_t], [long], + [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) + ]) + AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) +]) + +# Prerequisites of lib/vasnprintf.c. +AC_DEFUN([gl_PREREQ_VASNPRINTF], +[ + AC_REQUIRE([AC_FUNC_ALLOCA]) + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + AC_REQUIRE([gt_TYPE_WCHAR_T]) + AC_REQUIRE([gt_TYPE_WINT_T]) + AC_CHECK_FUNCS(snprintf wcslen) + dnl Use the _snprintf function only if it is declared (because on NetBSD it + dnl is defined as a weak alias of snprintf; we prefer to use the latter). + AC_CHECK_DECLS([_snprintf], , , [#include ]) +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting 'long double' +# arguments. +AC_DEFUN([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], +[ + AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) + case "$gl_cv_func_printf_long_double" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + 'long double' arguments.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double' +# arguments. +AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], +[ + AC_REQUIRE([gl_PRINTF_INFINITE]) + case "$gl_cv_func_printf_infinite" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + infinite 'double' arguments.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double' +# arguments. +AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], +[ + AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) + dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if + dnl NEED_PRINTF_LONG_DOUBLE is already set. + AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE]) + case "$gl_cv_func_printf_long_double" in + *yes) + case "$gl_cv_func_printf_infinite_long_double" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + infinite 'long double' arguments.]) + ;; + esac + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive. +AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], +[ + AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) + case "$gl_cv_func_printf_directive_a" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1, + [Define if the vasnprintf implementation needs special code for + the 'a' and 'A' directives.]) + AC_CHECK_FUNCS([nl_langinfo]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. +AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], +[ + AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) + case "$gl_cv_func_printf_directive_f" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1, + [Define if the vasnprintf implementation needs special code for + the 'F' directive.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. +AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], +[ + AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) + case "$gl_cv_func_printf_flag_grouping" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], 1, + [Define if the vasnprintf implementation needs special code for the + ' flag.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag. +AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], +[ + AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) + case "$gl_cv_func_printf_flag_leftadjust" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], 1, + [Define if the vasnprintf implementation needs special code for the + '-' flag.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag. +AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], +[ + AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) + case "$gl_cv_func_printf_flag_zero" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_FLAG_ZERO], 1, + [Define if the vasnprintf implementation needs special code for the + 0 flag.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for supporting large precisions. +AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], +[ + AC_REQUIRE([gl_PRINTF_PRECISION]) + case "$gl_cv_func_printf_precision" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], 1, + [Define if the vasnprintf implementation needs special code for + supporting large precisions without arbitrary bounds.]) + AC_DEFINE([NEED_PRINTF_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + 'double' arguments.]) + AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + 'long double' arguments.]) + ;; + esac +]) + +# Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory +# conditions. +AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], +[ + AC_REQUIRE([gl_PRINTF_ENOMEM]) + case "$gl_cv_func_printf_enomem" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_ENOMEM], 1, + [Define if the vasnprintf implementation needs special code for + surviving out-of-memory conditions.]) + AC_DEFINE([NEED_PRINTF_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + 'double' arguments.]) + AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, + [Define if the vasnprintf implementation needs special code for + 'long double' arguments.]) + ;; + esac +]) + +# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. +AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], +[ + AC_REQUIRE([gl_PREREQ_VASNPRINTF]) + gl_PREREQ_VASNPRINTF_LONG_DOUBLE + gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE + gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE + gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F + gl_PREREQ_VASNPRINTF_FLAG_GROUPING + gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST + gl_PREREQ_VASNPRINTF_FLAG_ZERO + gl_PREREQ_VASNPRINTF_PRECISION + gl_PREREQ_VASNPRINTF_ENOMEM +]) + +# Prerequisites of lib/asnprintf.c. +AC_DEFUN([gl_PREREQ_ASNPRINTF], +[ +]) diff -Nru gnutls26-2.8.6/lgl/m4/vasprintf.m4 gnutls26-2.4.1/lgl/m4/vasprintf.m4 --- gnutls26-2.8.6/lgl/m4/vasprintf.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/vasprintf.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,45 @@ +# vasprintf.m4 serial 6 +dnl Copyright (C) 2002-2003, 2006-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_VASPRINTF], +[ + AC_CHECK_FUNCS([vasprintf]) + if test $ac_cv_func_vasprintf = no; then + gl_REPLACE_VASPRINTF + fi +]) + +AC_DEFUN([gl_REPLACE_VASPRINTF], +[ + AC_LIBOBJ([vasprintf]) + AC_LIBOBJ([asprintf]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + if test $ac_cv_func_vasprintf = yes; then + REPLACE_VASPRINTF=1 + else + HAVE_VASPRINTF=0 + fi + gl_PREREQ_VASPRINTF_H + gl_PREREQ_VASPRINTF + gl_PREREQ_ASPRINTF +]) + +# Prerequisites of the vasprintf portion of lib/stdio.h. +AC_DEFUN([gl_PREREQ_VASPRINTF_H], +[ + dnl Persuade glibc to declare asprintf() and vasprintf(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +]) + +# Prerequisites of lib/vasprintf.c. +AC_DEFUN([gl_PREREQ_VASPRINTF], +[ +]) + +# Prerequisites of lib/asprintf.c. +AC_DEFUN([gl_PREREQ_ASPRINTF], +[ +]) diff -Nru gnutls26-2.8.6/lgl/m4/wchar.m4 gnutls26-2.4.1/lgl/m4/wchar.m4 --- gnutls26-2.8.6/lgl/m4/wchar.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/m4/wchar.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,54 @@ +dnl A placeholder for ISO C99 , for platforms that have issues. + +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Eric Blake. + +# wchar.m4 serial 4 + +AC_DEFUN([gl_WCHAR_H], +[ + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + AC_CACHE_CHECK([whether is standalone], + [gl_cv_header_wchar_h_standalone], + [AC_COMPILE_IFELSE([[#include +wchar_t w;]], + [gl_cv_header_wchar_h_standalone=yes], + [gl_cv_header_wchar_h_standalone=no])]) + if test $gl_cv_header_wchar_h_standalone != yes; then + WCHAR_H=wchar.h + fi + + dnl Prepare for creating substitute . + dnl Do it always: WCHAR_H may be empty here but can be set later. + dnl Check for (missing in Linux uClibc when built without wide + dnl character support). + AC_CHECK_HEADERS_ONCE([wchar.h]) + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + AC_SUBST([HAVE_WCHAR_H]) + gl_CHECK_NEXT_HEADERS([wchar.h]) +]) + +AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_WCHAR_H_DEFAULTS], +[ + GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) + REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) + WCHAR_H= + AC_SUBST([WCHAR_H]) +]) diff -Nru gnutls26-2.8.6/lgl/Makefile.am gnutls26-2.4.1/lgl/Makefile.am --- gnutls26-2.8.6/lgl/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,793 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2008 Free Software Foundation, 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. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --dir=. --local-dir=lgl/override --lib=liblgnu --source-base=lgl --m4-base=lgl/m4 --doc-base=doc --aux-dir=build-aux --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files c-ctype crypto/gc crypto/gc-arcfour crypto/gc-arctwo crypto/gc-camellia crypto/gc-des crypto/gc-hmac-md5 crypto/gc-md2 crypto/gc-md4 crypto/gc-md5 crypto/gc-pbkdf2-sha1 crypto/gc-random crypto/gc-rijndael crypto/gc-sha1 fseeko func gettext memmem-simple memmove minmax read-file snprintf socklen stdint strcase strverscmp sys_socket sys_stat time_r unistd vasprintf + +AUTOMAKE_OPTIONS = 1.5 gnits + +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +AM_CPPFLAGS = + +noinst_LTLIBRARIES += liblgnu.la + +liblgnu_la_SOURCES = +liblgnu_la_LIBADD = $(lgl_LTLIBOBJS) +liblgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS) +EXTRA_liblgnu_la_SOURCES = +liblgnu_la_LDFLAGS = $(AM_LDFLAGS) + +## begin gnulib module alloca-opt + +BUILT_SOURCES += $(ALLOCA_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +alloca.h: alloca.in.h + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/alloca.in.h; \ + } > $@-t + mv -f $@-t $@ +MOSTLYCLEANFILES += alloca.h alloca.h-t + +EXTRA_DIST += alloca.in.h + +## end gnulib module alloca-opt + +## begin gnulib module c-ctype + +liblgnu_la_SOURCES += c-ctype.h c-ctype.c + +## end gnulib module c-ctype + +## begin gnulib module crypto/gc + +if GL_COND_LIBTOOL +liblgnu_la_LDFLAGS += $(LTLIBGCRYPT) +endif + +EXTRA_DIST += gc-gnulib.c gc-libgcrypt.c gc.h + +EXTRA_liblgnu_la_SOURCES += gc-gnulib.c gc-libgcrypt.c + +## end gnulib module crypto/gc + +## begin gnulib module crypto/gc-arcfour + + +EXTRA_DIST += arcfour.c arcfour.h + +EXTRA_liblgnu_la_SOURCES += arcfour.c + +## end gnulib module crypto/gc-arcfour + +## begin gnulib module crypto/gc-arctwo + + +EXTRA_DIST += arctwo.c arctwo.h + +EXTRA_liblgnu_la_SOURCES += arctwo.c + +## end gnulib module crypto/gc-arctwo + +## begin gnulib module crypto/gc-des + + +EXTRA_DIST += des.c des.h + +EXTRA_liblgnu_la_SOURCES += des.c + +## end gnulib module crypto/gc-des + +## begin gnulib module crypto/gc-hmac-md5 + + +EXTRA_DIST += hmac-md5.c hmac.h md5.c md5.h memxor.c memxor.h + +EXTRA_liblgnu_la_SOURCES += hmac-md5.c md5.c memxor.c + +## end gnulib module crypto/gc-hmac-md5 + +## begin gnulib module crypto/gc-hmac-sha1 + + +EXTRA_DIST += hmac-sha1.c hmac.h memxor.c memxor.h sha1.c sha1.h + +EXTRA_liblgnu_la_SOURCES += hmac-sha1.c memxor.c sha1.c + +## end gnulib module crypto/gc-hmac-sha1 + +## begin gnulib module crypto/gc-md4 + + +EXTRA_DIST += md4.c md4.h + +EXTRA_liblgnu_la_SOURCES += md4.c + +## end gnulib module crypto/gc-md4 + +## begin gnulib module crypto/gc-md5 + +liblgnu_la_SOURCES += md5.h + +EXTRA_DIST += md5.c + +EXTRA_liblgnu_la_SOURCES += md5.c + +## end gnulib module crypto/gc-md5 + +## begin gnulib module crypto/gc-pbkdf2-sha1 + + +EXTRA_DIST += gc-pbkdf2-sha1.c + +EXTRA_liblgnu_la_SOURCES += gc-pbkdf2-sha1.c + +## end gnulib module crypto/gc-pbkdf2-sha1 + +## begin gnulib module crypto/gc-rijndael + + +EXTRA_DIST += rijndael-alg-fst.c rijndael-alg-fst.h rijndael-api-fst.c rijndael-api-fst.h + +EXTRA_liblgnu_la_SOURCES += rijndael-alg-fst.c rijndael-api-fst.c + +## end gnulib module crypto/gc-rijndael + +## begin gnulib module crypto/gc-sha1 + + +EXTRA_DIST += sha1.c sha1.h + +EXTRA_liblgnu_la_SOURCES += sha1.c + +## end gnulib module crypto/gc-sha1 + +## begin gnulib module crypto/md2 + + +EXTRA_DIST += md2.c md2.h + +EXTRA_liblgnu_la_SOURCES += md2.c + +## end gnulib module crypto/md2 + +## begin gnulib module float + +BUILT_SOURCES += $(FLOAT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +float.h: float.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ + < $(srcdir)/float.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += float.h float.h-t + +EXTRA_DIST += float.in.h + +## end gnulib module float + +## begin gnulib module fseeko + + +EXTRA_DIST += fseeko.c stdio-impl.h + +EXTRA_liblgnu_la_SOURCES += fseeko.c + +## end gnulib module fseeko + +## begin gnulib module gettext + +# This is for those projects which use "gettextize --intl" to put a source-code +# copy of libintl into their package. In such projects, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# For the Makefile.ams in other directories it is the maintainer's +# responsibility; for the one from gnulib we do it here. +# This option has no effect when the user disables NLS (because then the intl +# directory contains no libintl.h file) or when the project does not use +# "gettextize --intl". +AM_CPPFLAGS += -I$(top_builddir)/intl + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module gettext + +## begin gnulib module gettext-h + +liblgnu_la_SOURCES += gettext.h + +## end gnulib module gettext-h + +## begin gnulib module havelib + + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module havelib + +## begin gnulib module link-warning + +LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h + +EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h + +## end gnulib module link-warning + +## begin gnulib module lseek + + +EXTRA_DIST += lseek.c + +EXTRA_liblgnu_la_SOURCES += lseek.c + +## end gnulib module lseek + +## begin gnulib module memchr + + +EXTRA_DIST += memchr.c + +EXTRA_liblgnu_la_SOURCES += memchr.c + +## end gnulib module memchr + +## begin gnulib module memcmp + + +EXTRA_DIST += memcmp.c + +EXTRA_liblgnu_la_SOURCES += memcmp.c + +## end gnulib module memcmp + +## begin gnulib module memmem-simple + + +EXTRA_DIST += memmem.c str-two-way.h + +EXTRA_liblgnu_la_SOURCES += memmem.c + +## end gnulib module memmem-simple + +## begin gnulib module memmove + + +EXTRA_DIST += memmove.c + +EXTRA_liblgnu_la_SOURCES += memmove.c + +## end gnulib module memmove + +## begin gnulib module minmax + +liblgnu_la_SOURCES += minmax.h + +## end gnulib module minmax + +## begin gnulib module read-file + + +EXTRA_DIST += read-file.c read-file.h + +EXTRA_liblgnu_la_SOURCES += read-file.c + +## end gnulib module read-file + +## begin gnulib module realloc-posix + + +EXTRA_DIST += realloc.c + +EXTRA_liblgnu_la_SOURCES += realloc.c + +## end gnulib module realloc-posix + +## begin gnulib module size_max + +liblgnu_la_SOURCES += size_max.h + +## end gnulib module size_max + +## begin gnulib module snprintf + + +EXTRA_DIST += snprintf.c + +EXTRA_liblgnu_la_SOURCES += snprintf.c + +## end gnulib module snprintf + +## begin gnulib module stdbool + +BUILT_SOURCES += $(STDBOOL_H) + +# We need the following in order to create when the system +# doesn't have one that works. +stdbool.h: stdbool.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += stdbool.h stdbool.h-t + +EXTRA_DIST += stdbool.in.h + +## end gnulib module stdbool + +## begin gnulib module stdint + +BUILT_SOURCES += $(STDINT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdint.h: stdint.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ + -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ + -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ + -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ + -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ + -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ + -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ + -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ + -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ + -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ + -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ + -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += stdint.h stdint.h-t + +EXTRA_DIST += stdint.in.h + +## end gnulib module stdint + +## begin gnulib module stdio + +BUILT_SOURCES += stdio.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdio.h: stdio.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ + -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ + -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ + -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ + -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ + -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ + -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ + -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ + -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ + -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ + -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ + -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ + -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ + -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ + -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ + -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ + -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ + -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ + -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ + -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ + -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ + -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ + -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ + -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ + -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ + -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ + -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ + -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ + -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ + -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ + -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ + -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ + -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ + -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ + -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ + -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ + -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/stdio.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += stdio.h stdio.h-t + +EXTRA_DIST += stdio.in.h + +## end gnulib module stdio + +## begin gnulib module stdlib + +BUILT_SOURCES += stdlib.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdlib.h: stdlib.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ + -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ + -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ + -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ + -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ + -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ + -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ + -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ + -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ + -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ + -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ + -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ + -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ + -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ + -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ + -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ + -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ + -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ + -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ + -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/stdlib.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += stdlib.h stdlib.h-t + +EXTRA_DIST += stdlib.in.h + +## end gnulib module stdlib + +## begin gnulib module strcase + + +EXTRA_DIST += strcasecmp.c strncasecmp.c + +EXTRA_liblgnu_la_SOURCES += strcasecmp.c strncasecmp.c + +## end gnulib module strcase + +## begin gnulib module string + +BUILT_SOURCES += string.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +string.h: string.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ + -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ + -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ + -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ + -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ + -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ + -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ + -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ + -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ + -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ + -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ + -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ + -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ + -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ + -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ + -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ + -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ + -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ + -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ + -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ + -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ + -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ + -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ + -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ + -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ + -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ + -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ + -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ + -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ + -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ + -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ + -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ + -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ + -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ + -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ + -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ + -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ + -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ + -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ + -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ + -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ + -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ + -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ + -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ + -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ + -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/string.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += string.h string.h-t + +EXTRA_DIST += string.in.h + +## end gnulib module string + +## begin gnulib module strings + +BUILT_SOURCES += strings.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +strings.h: strings.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ + -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ + -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/strings.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += strings.h strings.h-t + +EXTRA_DIST += strings.in.h + +## end gnulib module strings + +## begin gnulib module strverscmp + + +EXTRA_DIST += strverscmp.c strverscmp.h + +EXTRA_liblgnu_la_SOURCES += strverscmp.c + +## end gnulib module strverscmp + +## begin gnulib module sys_socket + +BUILT_SOURCES += $(SYS_SOCKET_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/socket.h: sys_socket.in.h + @MKDIR_P@ sys + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ + -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ + < $(srcdir)/sys_socket.in.h; \ + } > $@-t + mv -f $@-t $@ +MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t +MOSTLYCLEANDIRS += sys + +EXTRA_DIST += sys_socket.in.h + +## end gnulib module sys_socket + +## begin gnulib module sys_stat + +BUILT_SOURCES += $(SYS_STAT_H) + +# We need the following in order to create when the system +# has one that is incomplete. +sys/stat.h: sys_stat.in.h + @MKDIR_P@ sys + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ + -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ + < $(srcdir)/sys_stat.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t +MOSTLYCLEANDIRS += sys + +EXTRA_DIST += sys_stat.in.h + +## end gnulib module sys_stat + +## begin gnulib module time + +BUILT_SOURCES += time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +time.h: time.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ + -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ + -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ + -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ + -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + < $(srcdir)/time.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += time.h time.h-t + +EXTRA_DIST += time.in.h + +## end gnulib module time + +## begin gnulib module time_r + + +EXTRA_DIST += time_r.c + +EXTRA_liblgnu_la_SOURCES += time_r.c + +## end gnulib module time_r + +## begin gnulib module unistd + +BUILT_SOURCES += unistd.h + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +unistd.h: unistd.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ + -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ + -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ + -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ + -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ + -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ + -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ + -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ + -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ + -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ + -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ + -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ + -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ + -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ + -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ + -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ + -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ + -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ + -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ + -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ + -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ + -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ + -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ + -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ + -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + < $(srcdir)/unistd.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += unistd.h unistd.h-t + +EXTRA_DIST += unistd.in.h + +## end gnulib module unistd + +## begin gnulib module vasnprintf + + +EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h + +EXTRA_liblgnu_la_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c + +## end gnulib module vasnprintf + +## begin gnulib module vasprintf + + +EXTRA_DIST += asprintf.c vasprintf.c + +EXTRA_liblgnu_la_SOURCES += asprintf.c vasprintf.c + +## end gnulib module vasprintf + +## begin gnulib module wchar + +BUILT_SOURCES += $(WCHAR_H) + +# We need the following in order to create when the system +# version does not work standalone. +wchar.h: wchar.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ + -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ + -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ + -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/wchar.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += wchar.h wchar.h-t + +EXTRA_DIST += wchar.in.h + +## end gnulib module wchar + +## begin gnulib module xsize + +liblgnu_la_SOURCES += xsize.h + +## end gnulib module xsize + + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff -Nru gnutls26-2.8.6/lgl/Makefile.in gnutls26-2.4.1/lgl/Makefile.in --- gnutls26-2.8.6/lgl/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/Makefile.in 2008-06-30 22:07:52.000000000 +0100 @@ -0,0 +1,1260 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ + +# Copyright (C) 2002-2008 Free Software Foundation, 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. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --dir=. --local-dir=lgl/override --lib=liblgnu --source-base=lgl --m4-base=lgl/m4 --doc-base=doc --aux-dir=build-aux --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files c-ctype crypto/gc crypto/gc-arcfour crypto/gc-arctwo crypto/gc-camellia crypto/gc-des crypto/gc-hmac-md5 crypto/gc-md2 crypto/gc-md4 crypto/gc-md5 crypto/gc-pbkdf2-sha1 crypto/gc-random crypto/gc-rijndael crypto/gc-sha1 fseeko func gettext memmem-simple memmove minmax read-file snprintf socklen stdint strcase strverscmp sys_socket sys_stat time_r unistd vasprintf + + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +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 = : +build_triplet = @build@ +host_triplet = @host@ +@GL_COND_LIBTOOL_TRUE@am__append_1 = $(LTLIBGCRYPT) +subdir = lgl +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/extensions.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ + $(top_srcdir)/gl/m4/gnulib-common.m4 \ + $(top_srcdir)/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/gl/m4/include_next.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +am_liblgnu_la_OBJECTS = c-ctype.lo +liblgnu_la_OBJECTS = $(am_liblgnu_la_OBJECTS) +liblgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(liblgnu_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(liblgnu_la_SOURCES) $(EXTRA_liblgnu_la_SOURCES) +DIST_SOURCES = $(liblgnu_la_SOURCES) $(EXTRA_liblgnu_la_SOURCES) +HEADERS = $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ +AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EOVERFLOW = @EOVERFLOW@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FLOAT_H = @FLOAT_H@ +GAA = @GAA@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ +GNULIB_CHOWN = @GNULIB_CHOWN@ +GNULIB_DUP2 = @GNULIB_DUP2@ +GNULIB_ENVIRON = @GNULIB_ENVIRON@ +GNULIB_FCHDIR = @GNULIB_FCHDIR@ +GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FOPEN = @GNULIB_FOPEN@ +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ +GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSEEK = @GNULIB_FSEEK@ +GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FTELL = @GNULIB_FTELL@ +GNULIB_FTELLO = @GNULIB_FTELLO@ +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ +GNULIB_GETCWD = @GNULIB_GETCWD@ +GNULIB_GETDELIM = @GNULIB_GETDELIM@ +GNULIB_GETLINE = @GNULIB_GETLINE@ +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ +GNULIB_LCHOWN = @GNULIB_LCHOWN@ +GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PUTENV = @GNULIB_PUTENV@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READLINK = @GNULIB_READLINK@ +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ +GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SLEEP = @GNULIB_SLEEP@ +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_UNSETENV = @GNULIB_UNSETENV@ +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ +GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DUP2 = @HAVE_DUP2@ +HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FTELLO = @HAVE_FTELLO@ +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ +HAVE_LIBZ = @HAVE_LIBZ@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_OS_H = @HAVE_OS_H@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READLINK = @HAVE_READLINK@ +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRNDUP = @HAVE_STRNDUP@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNSETENV = @HAVE_UNSETENV@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_VASPRINTF = @HAVE_VASPRINTF@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ +HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ +LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ +LIBS = @LIBS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ +LN_S = @LN_S@ +LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBREADLINE = @LTLIBREADLINE@ +LTLIBZ = @LTLIBZ@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_REVISION = @LT_REVISION@ +LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDIO_H = @NEXT_STDIO_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ +NEXT_TIME_H = @NEXT_TIME_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ +NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +REPLACE_CHOWN = @REPLACE_CHOWN@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ +REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FPRINTF = @REPLACE_FPRINTF@ +REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FSEEK = @REPLACE_FSEEK@ +REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FTELL = @REPLACE_FTELL@ +REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ +REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ +REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ +REPLACE_VPRINTF = @REPLACE_VPRINTF@ +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +SYS_SOCKET_H = @SYS_SOCKET_H@ +SYS_STAT_H = @SYS_STAT_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +VOID_UNSETENV = @VOID_UNSETENV@ +WCHAR_H = @WCHAR_H@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = 1.5 gnits +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = liblgnu.la +EXTRA_DIST = alloca.in.h gc-gnulib.c gc-libgcrypt.c gc.h arcfour.c \ + arcfour.h arctwo.c arctwo.h des.c des.h hmac-md5.c hmac.h \ + md5.c md5.h memxor.c memxor.h hmac-sha1.c hmac.h memxor.c \ + memxor.h sha1.c sha1.h md4.c md4.h md5.c gc-pbkdf2-sha1.c \ + rijndael-alg-fst.c rijndael-alg-fst.h rijndael-api-fst.c \ + rijndael-api-fst.h sha1.c sha1.h md2.c md2.h float.in.h \ + fseeko.c stdio-impl.h $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/link-warning.h lseek.c memchr.c \ + memcmp.c memmem.c str-two-way.h memmove.c read-file.c \ + read-file.h realloc.c snprintf.c stdbool.in.h stdint.in.h \ + stdio.in.h stdlib.in.h strcasecmp.c strncasecmp.c string.in.h \ + strings.in.h strverscmp.c strverscmp.h sys_socket.in.h \ + sys_stat.in.h time.in.h time_r.c unistd.in.h asnprintf.c \ + float+.h printf-args.c printf-args.h printf-parse.c \ + printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \ + vasprintf.c wchar.in.h +BUILT_SOURCES = $(ALLOCA_H) $(FLOAT_H) $(STDBOOL_H) $(STDINT_H) \ + stdio.h stdlib.h string.h strings.h $(SYS_SOCKET_H) \ + $(SYS_STAT_H) time.h unistd.h $(WCHAR_H) +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t float.h \ + float.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t stdio.h \ + stdio.h-t stdlib.h stdlib.h-t string.h string.h-t strings.h \ + strings.h-t sys/socket.h sys/socket.h-t sys/stat.h \ + sys/stat.h-t time.h time.h-t unistd.h unistd.h-t wchar.h \ + wchar.h-t +MOSTLYCLEANDIRS = sys sys +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +# This is for those projects which use "gettextize --intl" to put a source-code +# copy of libintl into their package. In such projects, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# For the Makefile.ams in other directories it is the maintainer's +# responsibility; for the one from gnulib we do it here. +# This option has no effect when the user disables NLS (because then the intl +# directory contains no libintl.h file) or when the project does not use +# "gettextize --intl". +AM_CPPFLAGS = -I$(top_builddir)/intl +liblgnu_la_SOURCES = c-ctype.h c-ctype.c md5.h gettext.h minmax.h \ + size_max.h xsize.h +liblgnu_la_LIBADD = $(lgl_LTLIBOBJS) +liblgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS) +EXTRA_liblgnu_la_SOURCES = gc-gnulib.c gc-libgcrypt.c arcfour.c \ + arctwo.c des.c hmac-md5.c md5.c memxor.c hmac-sha1.c memxor.c \ + sha1.c md4.c md5.c gc-pbkdf2-sha1.c rijndael-alg-fst.c \ + rijndael-api-fst.c sha1.c md2.c fseeko.c lseek.c memchr.c \ + memcmp.c memmem.c memmove.c read-file.c realloc.c snprintf.c \ + strcasecmp.c strncasecmp.c strverscmp.c time_r.c asnprintf.c \ + printf-args.c printf-parse.c vasnprintf.c asprintf.c \ + vasprintf.c +liblgnu_la_LDFLAGS = $(AM_LDFLAGS) $(am__append_1) +LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lgl/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnits lgl/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +liblgnu.la: $(liblgnu_la_OBJECTS) $(liblgnu_la_DEPENDENCIES) + $(liblgnu_la_LINK) $(liblgnu_la_OBJECTS) $(liblgnu_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arcfour.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arctwo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/des.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc-gnulib.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc-libgcrypt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc-pbkdf2-sha1.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hmac-md5.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hmac-sha1.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md2.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md4.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memxor.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-file.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rijndael-alg-fst.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rijndael-api-fst.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strncasecmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasprintf.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +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; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +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; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + 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; nonempty = 1; } \ + END { if (nonempty) { 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 + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + 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: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) 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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ + clean-noinstLTLIBRARIES 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: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +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 \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ + ctags distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am + + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +alloca.h: alloca.in.h + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/alloca.in.h; \ + } > $@-t + mv -f $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +float.h: float.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ + < $(srcdir)/float.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works. +stdbool.h: stdbool.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdint.h: stdint.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ + -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ + -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ + -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ + -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ + -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ + -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ + -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ + -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ + -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ + -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ + -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdio.h: stdio.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ + -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ + -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ + -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ + -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ + -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ + -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ + -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ + -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ + -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ + -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ + -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ + -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ + -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ + -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ + -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ + -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ + -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ + -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ + -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ + -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ + -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ + -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ + -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ + -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ + -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ + -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ + -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ + -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ + -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ + -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ + -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ + -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ + -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ + -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ + -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ + -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ + -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/stdio.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdlib.h: stdlib.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ + -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ + -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ + -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ + -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ + -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ + -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ + -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ + -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ + -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ + -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ + -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ + -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ + -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ + -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ + -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ + -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ + -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ + -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ + -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/stdlib.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +string.h: string.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ + -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ + -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ + -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ + -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ + -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ + -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ + -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ + -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ + -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ + -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ + -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ + -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ + -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ + -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ + -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ + -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ + -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ + -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ + -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ + -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ + -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ + -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ + -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ + -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ + -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ + -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ + -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ + -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ + -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ + -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ + -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ + -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ + -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ + -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ + -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ + -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ + -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ + -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ + -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ + -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ + -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ + -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ + -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ + -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ + -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/string.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +strings.h: strings.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ + -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ + -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/strings.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/socket.h: sys_socket.in.h + @MKDIR_P@ sys + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ + -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ + < $(srcdir)/sys_socket.in.h; \ + } > $@-t + mv -f $@-t $@ + +# We need the following in order to create when the system +# has one that is incomplete. +sys/stat.h: sys_stat.in.h + @MKDIR_P@ sys + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ + -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ + < $(srcdir)/sys_stat.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +time.h: time.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ + -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ + -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ + -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ + -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + < $(srcdir)/time.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +unistd.h: unistd.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ + -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ + -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ + -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ + -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ + -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ + -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ + -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ + -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ + -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ + -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ + -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ + -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ + -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ + -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ + -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ + -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ + -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ + -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ + -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ + -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ + -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ + -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ + -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ + -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + < $(srcdir)/unistd.in.h; \ + } > $@-t + mv $@-t $@ + +# We need the following in order to create when the system +# version does not work standalone. +wchar.h: wchar.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ + -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ + -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ + -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ + -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ + < $(srcdir)/wchar.in.h; \ + } > $@-t + mv $@-t $@ + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : +# 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: diff -Nru gnutls26-2.8.6/lgl/md2.c gnutls26-2.4.1/lgl/md2.c --- gnutls26-2.8.6/lgl/md2.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md2.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,267 @@ +/* Functions to compute MD2 message digest of files or memory blocks. + according to the definition of MD2 in RFC 1319 from April 1992. + Copyright (C) 1995,1996,1997,1999,2000,2001,2002,2003,2005,2006,2008 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Adapted by Simon Josefsson from public domain Libtomcrypt 1.06 by + Tom St Denis. */ + +#include + +#include "md2.h" + +#include +#include + +#include + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +#endif + +#define BLOCKSIZE 4096 +#if BLOCKSIZE % 64 != 0 +# error "invalid BLOCKSIZE" +#endif + +static void md2_update_chksum (struct md2_ctx *md); +static void md2_compress (struct md2_ctx *md); + +/* Initialize structure containing state of computation. + (RFC 1319, 3.3: Step 3) */ +void +md2_init_ctx (struct md2_ctx *ctx) +{ + memset (ctx->X, 0, sizeof (ctx->X)); + memset (ctx->chksum, 0, sizeof (ctx->chksum)); + memset (ctx->buf, 0, sizeof (ctx->buf)); + ctx->curlen = 0; +} + +/* Put result from CTX in first 16 bytes following RESBUF. The result + must be in little endian byte order. */ +void * +md2_read_ctx (const struct md2_ctx *ctx, void *resbuf) +{ + memcpy (resbuf, ctx->X, 16); + + return resbuf; +} + +/* Process the remaining bytes in the internal buffer and the usual + prolog according to the standard and write the result to RESBUF. */ +void * +md2_finish_ctx (struct md2_ctx *ctx, void *resbuf) +{ + unsigned long i, k; + + /* pad the message */ + k = 16 - ctx->curlen; + for (i = ctx->curlen; i < 16; i++) + { + ctx->buf[i] = (unsigned char) k; + } + + /* hash and update */ + md2_compress (ctx); + md2_update_chksum (ctx); + + /* hash checksum */ + memcpy (ctx->buf, ctx->chksum, 16); + md2_compress (ctx); + + return md2_read_ctx (ctx, resbuf); +} + +/* Compute MD2 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +int +md2_stream (FILE *stream, void *resblock) +{ + struct md2_ctx ctx; + char buffer[BLOCKSIZE + 72]; + size_t sum; + + /* Initialize the computation context. */ + md2_init_ctx (&ctx); + + /* Iterate over full file contents. */ + while (1) + { + /* We read the file in blocks of BLOCKSIZE bytes. One call of the + computation function processes the whole buffer so that with the + next round of the loop another block can be read. */ + size_t n; + sum = 0; + + /* Read block. Take care for partial reads. */ + while (1) + { + n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); + + sum += n; + + if (sum == BLOCKSIZE) + break; + + if (n == 0) + { + /* Check for the error flag IFF N == 0, so that we don't + exit the loop after a partial read due to e.g., EAGAIN + or EWOULDBLOCK. */ + if (ferror (stream)) + return 1; + goto process_partial_block; + } + + /* We've read at least one byte, so ignore errors. But always + check for EOF, since feof may be true even though N > 0. + Otherwise, we could end up calling fread after EOF. */ + if (feof (stream)) + goto process_partial_block; + } + + /* Process buffer with BLOCKSIZE bytes. Note that + BLOCKSIZE % 64 == 0 + */ + md2_process_block (buffer, BLOCKSIZE, &ctx); + } + +process_partial_block:; + + /* Process any remaining bytes. */ + if (sum > 0) + md2_process_bytes (buffer, sum, &ctx); + + /* Construct result in desired memory. */ + md2_finish_ctx (&ctx, resblock); + return 0; +} + +/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +void * +md2_buffer (const char *buffer, size_t len, void *resblock) +{ + struct md2_ctx ctx; + + /* Initialize the computation context. */ + md2_init_ctx (&ctx); + + /* Process whole buffer but last len % 64 bytes. */ + md2_process_block (buffer, len, &ctx); + + /* Put result in desired memory area. */ + return md2_finish_ctx (&ctx, resblock); +} + +void +md2_process_bytes (const void *buffer, size_t len, struct md2_ctx *ctx) +{ + const char *in = buffer; + unsigned long n; + + while (len > 0) + { + n = MIN (len, (16 - ctx->curlen)); + memcpy (ctx->buf + ctx->curlen, in, (size_t) n); + ctx->curlen += n; + in += n; + len -= n; + + /* is 16 bytes full? */ + if (ctx->curlen == 16) + { + md2_compress (ctx); + md2_update_chksum (ctx); + ctx->curlen = 0; + } + } +} + +static const unsigned char PI_SUBST[256] = { + 41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, + 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, + 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, + 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, + 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, + 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, + 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, + 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, + 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, + 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, + 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, + 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, + 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, + 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, + 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, + 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, + 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, + 31, 26, 219, 153, 141, 51, 159, 17, 131, 20 +}; + +/* adds 16 bytes to the checksum */ +static void +md2_update_chksum (struct md2_ctx *ctx) +{ + int j; + unsigned char L; + + L = ctx->chksum[15]; + for (j = 0; j < 16; j++) + { + /* caution, the RFC says its "C[j] = S[M[i*16+j] xor L]" but the + reference source code [and test vectors] say otherwise. */ + L = (ctx->chksum[j] ^= PI_SUBST[(int) (ctx->buf[j] ^ L)] & 255); + } +} + +static void +md2_compress (struct md2_ctx *ctx) +{ + size_t j, k; + unsigned char t; + + /* copy block */ + for (j = 0; j < 16; j++) + { + ctx->X[16 + j] = ctx->buf[j]; + ctx->X[32 + j] = ctx->X[j] ^ ctx->X[16 + j]; + } + + t = (unsigned char) 0; + + /* do 18 rounds */ + for (j = 0; j < 18; j++) + { + for (k = 0; k < 48; k++) + { + t = (ctx->X[k] ^= PI_SUBST[(int) (t & 255)]); + } + t = (t + (unsigned char) j) & 255; + } +} + +/* Process LEN bytes of BUFFER, accumulating context into CTX. */ +void +md2_process_block (const void *buffer, size_t len, struct md2_ctx *ctx) +{ + md2_process_bytes (buffer, len, ctx); +} diff -Nru gnutls26-2.8.6/lgl/md2.h gnutls26-2.4.1/lgl/md2.h --- gnutls26-2.8.6/lgl/md2.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md2.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,76 @@ +/* Declarations of functions and data types used for MD2 sum + library functions. + Copyright (C) 2000, 2001, 2003, 2005, 2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef MD2_H +# define MD2_H 1 + +# include +# include + +# define MD2_DIGEST_SIZE 16 + +/* Structure to save state of computation between the single steps. */ +struct md2_ctx +{ + unsigned char chksum[16], X[48], buf[16]; + size_t curlen; +}; + + +/* Initialize structure containing state of computation. */ +extern void md2_init_ctx (struct md2_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is NOT required that LEN is a multiple of 64. */ +extern void md2_process_block (const void *buffer, size_t len, + struct md2_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is NOT required that LEN is a multiple of 64. */ +extern void md2_process_bytes (const void *buffer, size_t len, + struct md2_ctx *ctx); + +/* Process the remaining bytes in the buffer and put result from CTX + in first 16 bytes following RESBUF. The result is always in little + endian byte order, so that a byte-wise output yields to the wanted + ASCII representation of the message digest. */ +extern void *md2_finish_ctx (struct md2_ctx *ctx, void *resbuf); + + +/* Put result from CTX in first 16 bytes following RESBUF. The result is + always in little endian byte order, so that a byte-wise output yields + to the wanted ASCII representation of the message digest. */ +extern void *md2_read_ctx (const struct md2_ctx *ctx, void *resbuf); + + +/* Compute MD2 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +extern int md2_stream (FILE *stream, void *resblock); + +/* Compute MD2 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +extern void *md2_buffer (const char *buffer, size_t len, void *resblock); + +#endif diff -Nru gnutls26-2.8.6/lgl/md4.c gnutls26-2.4.1/lgl/md4.c --- gnutls26-2.8.6/lgl/md4.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md4.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,382 @@ +/* Functions to compute MD4 message digest of files or memory blocks. + according to the definition of MD4 in RFC 1320 from April 1992. + Copyright (C) 1995,1996,1997,1999,2000,2001,2002,2003,2005,2006,2008 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Adapted by Simon Josefsson from gnulib md5.? and Libgcrypt + cipher/md4.c . */ + +#include + +#include "md4.h" + +#include +#include +#include +#include + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +#endif + +#ifdef WORDS_BIGENDIAN +# define SWAP(n) \ + (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) +#else +# define SWAP(n) (n) +#endif + +#define BLOCKSIZE 4096 +#if BLOCKSIZE % 64 != 0 +# error "invalid BLOCKSIZE" +#endif + +/* This array contains the bytes used to pad the buffer to the next + 64-byte boundary. (RFC 1320, 3.1: Step 1) */ +static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; + + +/* Initialize structure containing state of computation. + (RFC 1320, 3.3: Step 3) */ +void +md4_init_ctx (struct md4_ctx *ctx) +{ + ctx->A = 0x67452301; + ctx->B = 0xefcdab89; + ctx->C = 0x98badcfe; + ctx->D = 0x10325476; + + ctx->total[0] = ctx->total[1] = 0; + ctx->buflen = 0; +} + +/* Copy the 4 byte value from v into the memory location pointed to by *cp, + If your architecture allows unaligned access this is equivalent to + * (uint32_t *) cp = v */ +static inline void +set_uint32 (char *cp, uint32_t v) +{ + memcpy (cp, &v, sizeof v); +} + +/* Put result from CTX in first 16 bytes following RESBUF. The result + must be in little endian byte order. */ +void * +md4_read_ctx (const struct md4_ctx *ctx, void *resbuf) +{ + char *r = resbuf; + set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); + set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); + set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); + set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); + + return resbuf; +} + +/* Process the remaining bytes in the internal buffer and the usual + prolog according to the standard and write the result to RESBUF. */ +void * +md4_finish_ctx (struct md4_ctx *ctx, void *resbuf) +{ + /* Take yet unprocessed bytes into account. */ + uint32_t bytes = ctx->buflen; + size_t pad; + + /* Now count remaining bytes. */ + ctx->total[0] += bytes; + if (ctx->total[0] < bytes) + ++ctx->total[1]; + + pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes; + memcpy (&((char*)ctx->buffer)[bytes], fillbuf, pad); + + /* Put the 64-bit file length in *bits* at the end of the buffer. */ + ctx->buffer[(bytes + pad) / 4] = SWAP (ctx->total[0] << 3); + ctx->buffer[(bytes + pad) / 4 + 1] = SWAP ((ctx->total[1] << 3) | + (ctx->total[0] >> 29)); + + /* Process last bytes. */ + md4_process_block (ctx->buffer, bytes + pad + 8, ctx); + + return md4_read_ctx (ctx, resbuf); +} + +/* Compute MD4 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +int +md4_stream (FILE * stream, void *resblock) +{ + struct md4_ctx ctx; + char buffer[BLOCKSIZE + 72]; + size_t sum; + + /* Initialize the computation context. */ + md4_init_ctx (&ctx); + + /* Iterate over full file contents. */ + while (1) + { + /* We read the file in blocks of BLOCKSIZE bytes. One call of the + computation function processes the whole buffer so that with the + next round of the loop another block can be read. */ + size_t n; + sum = 0; + + /* Read block. Take care for partial reads. */ + while (1) + { + n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); + + sum += n; + + if (sum == BLOCKSIZE) + break; + + if (n == 0) + { + /* Check for the error flag IFF N == 0, so that we don't + exit the loop after a partial read due to e.g., EAGAIN + or EWOULDBLOCK. */ + if (ferror (stream)) + return 1; + goto process_partial_block; + } + + /* We've read at least one byte, so ignore errors. But always + check for EOF, since feof may be true even though N > 0. + Otherwise, we could end up calling fread after EOF. */ + if (feof (stream)) + goto process_partial_block; + } + + /* Process buffer with BLOCKSIZE bytes. Note that + BLOCKSIZE % 64 == 0 + */ + md4_process_block (buffer, BLOCKSIZE, &ctx); + } + +process_partial_block:; + + /* Process any remaining bytes. */ + if (sum > 0) + md4_process_bytes (buffer, sum, &ctx); + + /* Construct result in desired memory. */ + md4_finish_ctx (&ctx, resblock); + return 0; +} + +/* Compute MD4 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +void * +md4_buffer (const char *buffer, size_t len, void *resblock) +{ + struct md4_ctx ctx; + + /* Initialize the computation context. */ + md4_init_ctx (&ctx); + + /* Process whole buffer but last len % 64 bytes. */ + md4_process_bytes (buffer, len, &ctx); + + /* Put result in desired memory area. */ + return md4_finish_ctx (&ctx, resblock); +} + +void +md4_process_bytes (const void *buffer, size_t len, struct md4_ctx *ctx) +{ + /* When we already have some bits in our internal buffer concatenate + both inputs first. */ + if (ctx->buflen != 0) + { + size_t left_over = ctx->buflen; + size_t add = 128 - left_over > len ? len : 128 - left_over; + + memcpy (&((char*)ctx->buffer)[left_over], buffer, add); + ctx->buflen += add; + + if (ctx->buflen > 64) + { + md4_process_block (ctx->buffer, ctx->buflen & ~63, ctx); + + ctx->buflen &= 63; + /* The regions in the following copy operation cannot overlap. */ + memcpy (ctx->buffer, &((char*)ctx->buffer)[(left_over + add) & ~63], + ctx->buflen); + } + + buffer = (const char *) buffer + add; + len -= add; + } + + /* Process available complete blocks. */ + if (len >= 64) + { +#if !_STRING_ARCH_unaligned + /* To check alignment gcc has an appropriate operator. Other + compilers don't. */ +# if __GNUC__ >= 2 +# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0) +# else +# define alignof(type) offsetof (struct { char c; type x; }, x) +# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) +# endif + if (UNALIGNED_P (buffer)) + while (len > 64) + { + md4_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); + buffer = (const char *) buffer + 64; + len -= 64; + } + else +#endif + { + md4_process_block (buffer, len & ~63, ctx); + buffer = (const char *) buffer + (len & ~63); + len &= 63; + } + } + + /* Move remaining bytes in internal buffer. */ + if (len > 0) + { + size_t left_over = ctx->buflen; + + memcpy (&((char*)ctx->buffer)[left_over], buffer, len); + left_over += len; + if (left_over >= 64) + { + md4_process_block (ctx->buffer, 64, ctx); + left_over -= 64; + memcpy (ctx->buffer, &ctx->buffer[16], left_over); + } + ctx->buflen = left_over; + } +} + +/* --- Code below is the primary difference between md5.c and md4.c --- */ + +/* MD4 round constants */ +#define K1 0x5a827999 +#define K2 0x6ed9eba1 + +/* Round functions. */ +#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) +#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n)))) +#define R1(a,b,c,d,k,s) a=rol(a+F(b,c,d)+x[k],s); +#define R2(a,b,c,d,k,s) a=rol(a+G(b,c,d)+x[k]+K1,s); +#define R3(a,b,c,d,k,s) a=rol(a+H(b,c,d)+x[k]+K2,s); + +/* Process LEN bytes of BUFFER, accumulating context into CTX. + It is assumed that LEN % 64 == 0. */ + +void +md4_process_block (const void *buffer, size_t len, struct md4_ctx *ctx) +{ + const uint32_t *words = buffer; + size_t nwords = len / sizeof (uint32_t); + const uint32_t *endp = words + nwords; + uint32_t x[16]; + uint32_t A = ctx->A; + uint32_t B = ctx->B; + uint32_t C = ctx->C; + uint32_t D = ctx->D; + + /* First increment the byte count. RFC 1320 specifies the possible + length of the file up to 2^64 bits. Here we only compute the + number of bytes. Do a double word increment. */ + ctx->total[0] += len; + if (ctx->total[0] < len) + ++ctx->total[1]; + + /* Process all bytes in the buffer with 64 bytes in each round of + the loop. */ + while (words < endp) + { + int t; + for (t = 0; t < 16; t++) + { + x[t] = SWAP (*words); + words++; + } + + /* Round 1. */ + R1 (A, B, C, D, 0, 3); + R1 (D, A, B, C, 1, 7); + R1 (C, D, A, B, 2, 11); + R1 (B, C, D, A, 3, 19); + R1 (A, B, C, D, 4, 3); + R1 (D, A, B, C, 5, 7); + R1 (C, D, A, B, 6, 11); + R1 (B, C, D, A, 7, 19); + R1 (A, B, C, D, 8, 3); + R1 (D, A, B, C, 9, 7); + R1 (C, D, A, B, 10, 11); + R1 (B, C, D, A, 11, 19); + R1 (A, B, C, D, 12, 3); + R1 (D, A, B, C, 13, 7); + R1 (C, D, A, B, 14, 11); + R1 (B, C, D, A, 15, 19); + + /* Round 2. */ + R2 (A, B, C, D, 0, 3); + R2 (D, A, B, C, 4, 5); + R2 (C, D, A, B, 8, 9); + R2 (B, C, D, A, 12, 13); + R2 (A, B, C, D, 1, 3); + R2 (D, A, B, C, 5, 5); + R2 (C, D, A, B, 9, 9); + R2 (B, C, D, A, 13, 13); + R2 (A, B, C, D, 2, 3); + R2 (D, A, B, C, 6, 5); + R2 (C, D, A, B, 10, 9); + R2 (B, C, D, A, 14, 13); + R2 (A, B, C, D, 3, 3); + R2 (D, A, B, C, 7, 5); + R2 (C, D, A, B, 11, 9); + R2 (B, C, D, A, 15, 13); + + /* Round 3. */ + R3 (A, B, C, D, 0, 3); + R3 (D, A, B, C, 8, 9); + R3 (C, D, A, B, 4, 11); + R3 (B, C, D, A, 12, 15); + R3 (A, B, C, D, 2, 3); + R3 (D, A, B, C, 10, 9); + R3 (C, D, A, B, 6, 11); + R3 (B, C, D, A, 14, 15); + R3 (A, B, C, D, 1, 3); + R3 (D, A, B, C, 9, 9); + R3 (C, D, A, B, 5, 11); + R3 (B, C, D, A, 13, 15); + R3 (A, B, C, D, 3, 3); + R3 (D, A, B, C, 11, 9); + R3 (C, D, A, B, 7, 11); + R3 (B, C, D, A, 15, 15); + + A = ctx->A += A; + B = ctx->B += B; + C = ctx->C += C; + D = ctx->D += D; + } +} diff -Nru gnutls26-2.8.6/lgl/md4.h gnutls26-2.4.1/lgl/md4.h --- gnutls26-2.8.6/lgl/md4.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md4.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,82 @@ +/* Declarations of functions and data types used for MD4 sum + library functions. + Copyright (C) 2000, 2001, 2003, 2005, 2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef MD4_H +# define MD4_H 1 + +# include +# include + +# define MD4_DIGEST_SIZE 16 + +/* Structure to save state of computation between the single steps. */ +struct md4_ctx +{ + uint32_t A; + uint32_t B; + uint32_t C; + uint32_t D; + + uint32_t total[2]; + uint32_t buflen; + uint32_t buffer[32]; +}; + + +/* Initialize structure containing state of computation. */ +extern void md4_init_ctx (struct md4_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is necessary that LEN is a multiple of 64!!! */ +extern void md4_process_block (const void *buffer, size_t len, + struct md4_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is NOT required that LEN is a multiple of 64. */ +extern void md4_process_bytes (const void *buffer, size_t len, + struct md4_ctx *ctx); + +/* Process the remaining bytes in the buffer and put result from CTX + in first 16 bytes following RESBUF. The result is always in little + endian byte order, so that a byte-wise output yields to the wanted + ASCII representation of the message digest. */ +extern void *md4_finish_ctx (struct md4_ctx *ctx, void *resbuf); + + +/* Put result from CTX in first 16 bytes following RESBUF. The result is + always in little endian byte order, so that a byte-wise output yields + to the wanted ASCII representation of the message digest. */ +extern void *md4_read_ctx (const struct md4_ctx *ctx, void *resbuf); + + +/* Compute MD4 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +extern int md4_stream (FILE * stream, void *resblock); + +/* Compute MD4 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +extern void *md4_buffer (const char *buffer, size_t len, void *resblock); + +#endif diff -Nru gnutls26-2.8.6/lgl/md5.c gnutls26-2.4.1/lgl/md5.c --- gnutls26-2.8.6/lgl/md5.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md5.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,455 @@ +/* Functions to compute MD5 message digest of files or memory blocks. + according to the definition of MD5 in RFC 1321 from April 1992. + Copyright (C) 1995,1996,1997,1999,2000,2001,2005,2006,2008 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Ulrich Drepper , 1995. */ + +#include + +#include "md5.h" + +#include +#include +#include +#include + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +#endif + +#ifdef _LIBC +# include +# if __BYTE_ORDER == __BIG_ENDIAN +# define WORDS_BIGENDIAN 1 +# endif +/* We need to keep the namespace clean so define the MD5 function + protected using leading __ . */ +# define md5_init_ctx __md5_init_ctx +# define md5_process_block __md5_process_block +# define md5_process_bytes __md5_process_bytes +# define md5_finish_ctx __md5_finish_ctx +# define md5_read_ctx __md5_read_ctx +# define md5_stream __md5_stream +# define md5_buffer __md5_buffer +#endif + +#ifdef WORDS_BIGENDIAN +# define SWAP(n) \ + (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) +#else +# define SWAP(n) (n) +#endif + +#define BLOCKSIZE 4096 +#if BLOCKSIZE % 64 != 0 +# error "invalid BLOCKSIZE" +#endif + +/* This array contains the bytes used to pad the buffer to the next + 64-byte boundary. (RFC 1321, 3.1: Step 1) */ +static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; + + +/* Initialize structure containing state of computation. + (RFC 1321, 3.3: Step 3) */ +void +md5_init_ctx (struct md5_ctx *ctx) +{ + ctx->A = 0x67452301; + ctx->B = 0xefcdab89; + ctx->C = 0x98badcfe; + ctx->D = 0x10325476; + + ctx->total[0] = ctx->total[1] = 0; + ctx->buflen = 0; +} + +/* Copy the 4 byte value from v into the memory location pointed to by *cp, + If your architecture allows unaligned access this is equivalent to + * (uint32_t *) cp = v */ +static inline void +set_uint32 (char *cp, uint32_t v) +{ + memcpy (cp, &v, sizeof v); +} + +/* Put result from CTX in first 16 bytes following RESBUF. The result + must be in little endian byte order. */ +void * +md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) +{ + char *r = resbuf; + set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); + set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); + set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); + set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); + + return resbuf; +} + +/* Process the remaining bytes in the internal buffer and the usual + prolog according to the standard and write the result to RESBUF. */ +void * +md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) +{ + /* Take yet unprocessed bytes into account. */ + uint32_t bytes = ctx->buflen; + size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; + + /* Now count remaining bytes. */ + ctx->total[0] += bytes; + if (ctx->total[0] < bytes) + ++ctx->total[1]; + + /* Put the 64-bit file length in *bits* at the end of the buffer. */ + ctx->buffer[size - 2] = SWAP (ctx->total[0] << 3); + ctx->buffer[size - 1] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); + + memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); + + /* Process last bytes. */ + md5_process_block (ctx->buffer, size * 4, ctx); + + return md5_read_ctx (ctx, resbuf); +} + +/* Compute MD5 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +int +md5_stream (FILE *stream, void *resblock) +{ + struct md5_ctx ctx; + char buffer[BLOCKSIZE + 72]; + size_t sum; + + /* Initialize the computation context. */ + md5_init_ctx (&ctx); + + /* Iterate over full file contents. */ + while (1) + { + /* We read the file in blocks of BLOCKSIZE bytes. One call of the + computation function processes the whole buffer so that with the + next round of the loop another block can be read. */ + size_t n; + sum = 0; + + /* Read block. Take care for partial reads. */ + while (1) + { + n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); + + sum += n; + + if (sum == BLOCKSIZE) + break; + + if (n == 0) + { + /* Check for the error flag IFF N == 0, so that we don't + exit the loop after a partial read due to e.g., EAGAIN + or EWOULDBLOCK. */ + if (ferror (stream)) + return 1; + goto process_partial_block; + } + + /* We've read at least one byte, so ignore errors. But always + check for EOF, since feof may be true even though N > 0. + Otherwise, we could end up calling fread after EOF. */ + if (feof (stream)) + goto process_partial_block; + } + + /* Process buffer with BLOCKSIZE bytes. Note that + BLOCKSIZE % 64 == 0 + */ + md5_process_block (buffer, BLOCKSIZE, &ctx); + } + +process_partial_block: + + /* Process any remaining bytes. */ + if (sum > 0) + md5_process_bytes (buffer, sum, &ctx); + + /* Construct result in desired memory. */ + md5_finish_ctx (&ctx, resblock); + return 0; +} + +/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +void * +md5_buffer (const char *buffer, size_t len, void *resblock) +{ + struct md5_ctx ctx; + + /* Initialize the computation context. */ + md5_init_ctx (&ctx); + + /* Process whole buffer but last len % 64 bytes. */ + md5_process_bytes (buffer, len, &ctx); + + /* Put result in desired memory area. */ + return md5_finish_ctx (&ctx, resblock); +} + + +void +md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) +{ + /* When we already have some bits in our internal buffer concatenate + both inputs first. */ + if (ctx->buflen != 0) + { + size_t left_over = ctx->buflen; + size_t add = 128 - left_over > len ? len : 128 - left_over; + + memcpy (&((char *) ctx->buffer)[left_over], buffer, add); + ctx->buflen += add; + + if (ctx->buflen > 64) + { + md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx); + + ctx->buflen &= 63; + /* The regions in the following copy operation cannot overlap. */ + memcpy (ctx->buffer, + &((char *) ctx->buffer)[(left_over + add) & ~63], + ctx->buflen); + } + + buffer = (const char *) buffer + add; + len -= add; + } + + /* Process available complete blocks. */ + if (len >= 64) + { +#if !_STRING_ARCH_unaligned +# define alignof(type) offsetof (struct { char c; type x; }, x) +# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) + if (UNALIGNED_P (buffer)) + while (len > 64) + { + md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); + buffer = (const char *) buffer + 64; + len -= 64; + } + else +#endif + { + md5_process_block (buffer, len & ~63, ctx); + buffer = (const char *) buffer + (len & ~63); + len &= 63; + } + } + + /* Move remaining bytes in internal buffer. */ + if (len > 0) + { + size_t left_over = ctx->buflen; + + memcpy (&((char *) ctx->buffer)[left_over], buffer, len); + left_over += len; + if (left_over >= 64) + { + md5_process_block (ctx->buffer, 64, ctx); + left_over -= 64; + memcpy (ctx->buffer, &ctx->buffer[16], left_over); + } + ctx->buflen = left_over; + } +} + + +/* These are the four functions used in the four steps of the MD5 algorithm + and defined in the RFC 1321. The first function is a little bit optimized + (as found in Colin Plumbs public domain implementation). */ +/* #define FF(b, c, d) ((b & c) | (~b & d)) */ +#define FF(b, c, d) (d ^ (b & (c ^ d))) +#define FG(b, c, d) FF (d, b, c) +#define FH(b, c, d) (b ^ c ^ d) +#define FI(b, c, d) (c ^ (b | ~d)) + +/* Process LEN bytes of BUFFER, accumulating context into CTX. + It is assumed that LEN % 64 == 0. */ + +void +md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) +{ + uint32_t correct_words[16]; + const uint32_t *words = buffer; + size_t nwords = len / sizeof (uint32_t); + const uint32_t *endp = words + nwords; + uint32_t A = ctx->A; + uint32_t B = ctx->B; + uint32_t C = ctx->C; + uint32_t D = ctx->D; + + /* First increment the byte count. RFC 1321 specifies the possible + length of the file up to 2^64 bits. Here we only compute the + number of bytes. Do a double word increment. */ + ctx->total[0] += len; + if (ctx->total[0] < len) + ++ctx->total[1]; + + /* Process all bytes in the buffer with 64 bytes in each round of + the loop. */ + while (words < endp) + { + uint32_t *cwp = correct_words; + uint32_t A_save = A; + uint32_t B_save = B; + uint32_t C_save = C; + uint32_t D_save = D; + + /* First round: using the given function, the context and a constant + the next context is computed. Because the algorithms processing + unit is a 32-bit word and it is determined to work on words in + little endian byte order we perhaps have to change the byte order + before the computation. To reduce the work for the next steps + we store the swapped words in the array CORRECT_WORDS. */ + +#define OP(a, b, c, d, s, T) \ + do \ + { \ + a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ + ++words; \ + CYCLIC (a, s); \ + a += b; \ + } \ + while (0) + + /* It is unfortunate that C does not provide an operator for + cyclic rotation. Hope the C compiler is smart enough. */ +#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) + + /* Before we start, one word to the strange constants. + They are defined in RFC 1321 as + + T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 + + Here is an equivalent invocation using Perl: + + perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}' + */ + + /* Round 1. */ + OP (A, B, C, D, 7, 0xd76aa478); + OP (D, A, B, C, 12, 0xe8c7b756); + OP (C, D, A, B, 17, 0x242070db); + OP (B, C, D, A, 22, 0xc1bdceee); + OP (A, B, C, D, 7, 0xf57c0faf); + OP (D, A, B, C, 12, 0x4787c62a); + OP (C, D, A, B, 17, 0xa8304613); + OP (B, C, D, A, 22, 0xfd469501); + OP (A, B, C, D, 7, 0x698098d8); + OP (D, A, B, C, 12, 0x8b44f7af); + OP (C, D, A, B, 17, 0xffff5bb1); + OP (B, C, D, A, 22, 0x895cd7be); + OP (A, B, C, D, 7, 0x6b901122); + OP (D, A, B, C, 12, 0xfd987193); + OP (C, D, A, B, 17, 0xa679438e); + OP (B, C, D, A, 22, 0x49b40821); + + /* For the second to fourth round we have the possibly swapped words + in CORRECT_WORDS. Redefine the macro to take an additional first + argument specifying the function to use. */ +#undef OP +#define OP(f, a, b, c, d, k, s, T) \ + do \ + { \ + a += f (b, c, d) + correct_words[k] + T; \ + CYCLIC (a, s); \ + a += b; \ + } \ + while (0) + + /* Round 2. */ + OP (FG, A, B, C, D, 1, 5, 0xf61e2562); + OP (FG, D, A, B, C, 6, 9, 0xc040b340); + OP (FG, C, D, A, B, 11, 14, 0x265e5a51); + OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); + OP (FG, A, B, C, D, 5, 5, 0xd62f105d); + OP (FG, D, A, B, C, 10, 9, 0x02441453); + OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); + OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); + OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); + OP (FG, D, A, B, C, 14, 9, 0xc33707d6); + OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); + OP (FG, B, C, D, A, 8, 20, 0x455a14ed); + OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); + OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); + OP (FG, C, D, A, B, 7, 14, 0x676f02d9); + OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); + + /* Round 3. */ + OP (FH, A, B, C, D, 5, 4, 0xfffa3942); + OP (FH, D, A, B, C, 8, 11, 0x8771f681); + OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); + OP (FH, B, C, D, A, 14, 23, 0xfde5380c); + OP (FH, A, B, C, D, 1, 4, 0xa4beea44); + OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); + OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); + OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); + OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); + OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); + OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); + OP (FH, B, C, D, A, 6, 23, 0x04881d05); + OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); + OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); + OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); + OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); + + /* Round 4. */ + OP (FI, A, B, C, D, 0, 6, 0xf4292244); + OP (FI, D, A, B, C, 7, 10, 0x432aff97); + OP (FI, C, D, A, B, 14, 15, 0xab9423a7); + OP (FI, B, C, D, A, 5, 21, 0xfc93a039); + OP (FI, A, B, C, D, 12, 6, 0x655b59c3); + OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); + OP (FI, C, D, A, B, 10, 15, 0xffeff47d); + OP (FI, B, C, D, A, 1, 21, 0x85845dd1); + OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); + OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); + OP (FI, C, D, A, B, 6, 15, 0xa3014314); + OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); + OP (FI, A, B, C, D, 4, 6, 0xf7537e82); + OP (FI, D, A, B, C, 11, 10, 0xbd3af235); + OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); + OP (FI, B, C, D, A, 9, 21, 0xeb86d391); + + /* Add the starting values of the context. */ + A += A_save; + B += B_save; + C += C_save; + D += D_save; + } + + /* Put checksum in context given as argument. */ + ctx->A = A; + ctx->B = B; + ctx->C = C; + ctx->D = D; +} diff -Nru gnutls26-2.8.6/lgl/md5.h gnutls26-2.4.1/lgl/md5.h --- gnutls26-2.8.6/lgl/md5.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/md5.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,118 @@ +/* Declaration of functions and data types used for MD5 sum computing + library functions. + Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2006,2008 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _MD5_H +#define _MD5_H 1 + +#include +#include + +#define MD5_DIGEST_SIZE 16 +#define MD5_BLOCK_SIZE 64 + +#ifndef __GNUC_PREREQ +# if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GNUC_PREREQ(maj, min) 0 +# endif +#endif + +#ifndef __THROW +# if defined __cplusplus && __GNUC_PREREQ (2,8) +# define __THROW throw () +# else +# define __THROW +# endif +#endif + +#ifndef _LIBC +# define __md5_buffer md5_buffer +# define __md5_finish_ctx md5_finish_ctx +# define __md5_init_ctx md5_init_ctx +# define __md5_process_block md5_process_block +# define __md5_process_bytes md5_process_bytes +# define __md5_read_ctx md5_read_ctx +# define __md5_stream md5_stream +#endif + +/* Structure to save state of computation between the single steps. */ +struct md5_ctx +{ + uint32_t A; + uint32_t B; + uint32_t C; + uint32_t D; + + uint32_t total[2]; + uint32_t buflen; + uint32_t buffer[32]; +}; + +/* + * The following three functions are build up the low level used in + * the functions `md5_stream' and `md5_buffer'. + */ + +/* Initialize structure containing state of computation. + (RFC 1321, 3.3: Step 3) */ +extern void __md5_init_ctx (struct md5_ctx *ctx) __THROW; + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is necessary that LEN is a multiple of 64!!! */ +extern void __md5_process_block (const void *buffer, size_t len, + struct md5_ctx *ctx) __THROW; + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is NOT required that LEN is a multiple of 64. */ +extern void __md5_process_bytes (const void *buffer, size_t len, + struct md5_ctx *ctx) __THROW; + +/* Process the remaining bytes in the buffer and put result from CTX + in first 16 bytes following RESBUF. The result is always in little + endian byte order, so that a byte-wise output yields to the wanted + ASCII representation of the message digest. */ +extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW; + + +/* Put result from CTX in first 16 bytes following RESBUF. The result is + always in little endian byte order, so that a byte-wise output yields + to the wanted ASCII representation of the message digest. */ +extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW; + + +/* Compute MD5 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +extern int __md5_stream (FILE *stream, void *resblock) __THROW; + +/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +extern void *__md5_buffer (const char *buffer, size_t len, + void *resblock) __THROW; + +#endif /* md5.h */ diff -Nru gnutls26-2.8.6/lgl/memchr.c gnutls26-2.4.1/lgl/memchr.c --- gnutls26-2.8.6/lgl/memchr.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memchr.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,172 @@ +/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006, 2008 + Free Software Foundation, Inc. + + Based on strlen implementation by Torbjorn Granlund (tege@sics.se), + with help from Dan Sahlin (dan@sics.se) and + commentary by Jim Blandy (jimb@ai.mit.edu); + adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), + and implemented by Roland McGrath (roland@ai.mit.edu). + +NOTE: The canonical source of this file is maintained with the GNU C Library. +Bugs can be reported to bug-glibc@prep.ai.mit.edu. + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation; either version 2.1 of the License, or 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . */ + +#ifndef _LIBC +# include +#endif + +#include + +#include + +#if defined _LIBC +# include +#else +# define reg_char char +#endif + +#include + +#if HAVE_BP_SYM_H || defined _LIBC +# include +#else +# define BP_SYM(sym) sym +#endif + +#undef __memchr +#ifdef _LIBC +# undef memchr +#endif + +#ifndef weak_alias +# define __memchr memchr +#endif + +/* Search no more than N bytes of S for C. */ +void * +__memchr (void const *s, int c_in, size_t n) +{ + /* On 32-bit hardware, choosing longword to be a 32-bit unsigned + long instead of a 64-bit uintmax_t tends to give better + performance. On 64-bit hardware, unsigned long is generally 64 + bits already. Change this typedef to experiment with + performance. */ + typedef unsigned long int longword; + + const unsigned char *char_ptr; + const longword *longword_ptr; + longword repeated_one; + longword repeated_c; + unsigned reg_char c; + + c = (unsigned char) c_in; + + /* Handle the first few bytes by reading one byte at a time. + Do this until CHAR_PTR is aligned on a longword boundary. */ + for (char_ptr = (const unsigned char *) s; + n > 0 && (size_t) char_ptr % sizeof (longword) != 0; + --n, ++char_ptr) + if (*char_ptr == c) + return (void *) char_ptr; + + longword_ptr = (const longword *) char_ptr; + + /* All these elucidatory comments refer to 4-byte longwords, + but the theory applies equally well to any size longwords. */ + + /* Compute auxiliary longword values: + repeated_one is a value which has a 1 in every byte. + repeated_c has c in every byte. */ + repeated_one = 0x01010101; + repeated_c = c | (c << 8); + repeated_c |= repeated_c << 16; + if (0xffffffffU < (longword) -1) + { + repeated_one |= repeated_one << 31 << 1; + repeated_c |= repeated_c << 31 << 1; + if (8 < sizeof (longword)) + { + size_t i; + + for (i = 64; i < sizeof (longword) * 8; i *= 2) + { + repeated_one |= repeated_one << i; + repeated_c |= repeated_c << i; + } + } + } + + /* Instead of the traditional loop which tests each byte, we will test a + longword at a time. The tricky part is testing if *any of the four* + bytes in the longword in question are equal to c. We first use an xor + with repeated_c. This reduces the task to testing whether *any of the + four* bytes in longword1 is zero. + + We compute tmp = + ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). + That is, we perform the following operations: + 1. Subtract repeated_one. + 2. & ~longword1. + 3. & a mask consisting of 0x80 in every byte. + Consider what happens in each byte: + - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, + and step 3 transforms it into 0x80. A carry can also be propagated + to more significant bytes. + - If a byte of longword1 is nonzero, let its lowest 1 bit be at + position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, + the byte ends in a single bit of value 0 and k bits of value 1. + After step 2, the result is just k bits of value 1: 2^k - 1. After + step 3, the result is 0. And no carry is produced. + So, if longword1 has only non-zero bytes, tmp is zero. + Whereas if longword1 has a zero byte, call j the position of the least + significant zero byte. Then the result has a zero at positions 0, ..., + j-1 and a 0x80 at position j. We cannot predict the result at the more + significant bytes (positions j+1..3), but it does not matter since we + already have a non-zero bit at position 8*j+7. + + So, the test whether any byte in longword1 is zero is equivalent to + testing whether tmp is nonzero. */ + + while (n >= sizeof (longword)) + { + longword longword1 = *longword_ptr ^ repeated_c; + + if ((((longword1 - repeated_one) & ~longword1) + & (repeated_one << 7)) != 0) + break; + longword_ptr++; + n -= sizeof (longword); + } + + char_ptr = (const unsigned char *) longword_ptr; + + /* At this point, we know that either n < sizeof (longword), or one of the + sizeof (longword) bytes starting at char_ptr is == c. On little-endian + machines, we could determine the first such byte without any further + memory accesses, just by looking at the tmp result from the last loop + iteration. But this does not work on big-endian machines. Choose code + that works in both cases. */ + + for (; n > 0; --n, ++char_ptr) + { + if (*char_ptr == c) + return (void *) char_ptr; + } + + return NULL; +} +#ifdef weak_alias +weak_alias (__memchr, BP_SYM (memchr)) +#endif diff -Nru gnutls26-2.8.6/lgl/memcmp.c gnutls26-2.4.1/lgl/memcmp.c --- gnutls26-2.8.6/lgl/memcmp.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memcmp.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,361 @@ +/* Copyright (C) 1991, 1993, 1995, 1997, 1998, 2003, 2006 Free Software + Foundation, Inc. + + Contributed by Torbjorn Granlund (tege@sics.se). + + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1 of the License, or 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _LIBC +# include +#endif + +#include + +#undef memcmp + +#ifdef _LIBC + +# include +# include + +# if __BYTE_ORDER == __BIG_ENDIAN +# define WORDS_BIGENDIAN +# endif + +#else /* Not in the GNU C library. */ + +# include + +/* Type to use for aligned memory operations. + This should normally be the biggest type supported by a single load + and store. Must be an unsigned type. */ +# define op_t unsigned long int +# define OPSIZ (sizeof(op_t)) + +/* Threshold value for when to enter the unrolled loops. */ +# define OP_T_THRES 16 + +/* Type to use for unaligned operations. */ +typedef unsigned char byte; + +# ifndef WORDS_BIGENDIAN +# define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2))) +# else +# define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2))) +# endif + +#endif /* In the GNU C library. */ + +#ifdef WORDS_BIGENDIAN +# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1) +#else +# define CMP_LT_OR_GT(a, b) memcmp_bytes ((a), (b)) +#endif + +/* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */ + +/* The strategy of this memcmp is: + + 1. Compare bytes until one of the block pointers is aligned. + + 2. Compare using memcmp_common_alignment or + memcmp_not_common_alignment, regarding the alignment of the other + block after the initial byte operations. The maximum number of + full words (of type op_t) are compared in this way. + + 3. Compare the few remaining bytes. */ + +#ifndef WORDS_BIGENDIAN +/* memcmp_bytes -- Compare A and B bytewise in the byte order of the machine. + A and B are known to be different. + This is needed only on little-endian machines. */ + +# ifdef __GNUC__ +__inline +# endif +static int +memcmp_bytes (long unsigned int a, long unsigned int b) +{ + long int srcp1 = (long int) &a; + long int srcp2 = (long int) &b; + op_t a0, b0; + + do + { + a0 = ((byte *) srcp1)[0]; + b0 = ((byte *) srcp2)[0]; + srcp1 += 1; + srcp2 += 1; + } + while (a0 == b0); + return a0 - b0; +} +#endif + +/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t' + objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for + memory operations on `op_t's. */ +#ifdef __GNUC__ +__inline +#endif +static int +memcmp_common_alignment (long int srcp1, long int srcp2, size_t len) +{ + op_t a0, a1; + op_t b0, b1; + + switch (len % 4) + { + default: /* Avoid warning about uninitialized local variables. */ + case 2: + a0 = ((op_t *) srcp1)[0]; + b0 = ((op_t *) srcp2)[0]; + srcp1 -= 2 * OPSIZ; + srcp2 -= 2 * OPSIZ; + len += 2; + goto do1; + case 3: + a1 = ((op_t *) srcp1)[0]; + b1 = ((op_t *) srcp2)[0]; + srcp1 -= OPSIZ; + srcp2 -= OPSIZ; + len += 1; + goto do2; + case 0: + if (OP_T_THRES <= 3 * OPSIZ && len == 0) + return 0; + a0 = ((op_t *) srcp1)[0]; + b0 = ((op_t *) srcp2)[0]; + goto do3; + case 1: + a1 = ((op_t *) srcp1)[0]; + b1 = ((op_t *) srcp2)[0]; + srcp1 += OPSIZ; + srcp2 += OPSIZ; + len -= 1; + if (OP_T_THRES <= 3 * OPSIZ && len == 0) + goto do0; + /* Fall through. */ + } + + do + { + a0 = ((op_t *) srcp1)[0]; + b0 = ((op_t *) srcp2)[0]; + if (a1 != b1) + return CMP_LT_OR_GT (a1, b1); + + do3: + a1 = ((op_t *) srcp1)[1]; + b1 = ((op_t *) srcp2)[1]; + if (a0 != b0) + return CMP_LT_OR_GT (a0, b0); + + do2: + a0 = ((op_t *) srcp1)[2]; + b0 = ((op_t *) srcp2)[2]; + if (a1 != b1) + return CMP_LT_OR_GT (a1, b1); + + do1: + a1 = ((op_t *) srcp1)[3]; + b1 = ((op_t *) srcp2)[3]; + if (a0 != b0) + return CMP_LT_OR_GT (a0, b0); + + srcp1 += 4 * OPSIZ; + srcp2 += 4 * OPSIZ; + len -= 4; + } + while (len != 0); + + /* This is the right position for do0. Please don't move + it into the loop. */ + do0: + if (a1 != b1) + return CMP_LT_OR_GT (a1, b1); + return 0; +} + +/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN + `op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory + operations on `op_t', but SRCP1 *should be unaligned*. */ +#ifdef __GNUC__ +__inline +#endif +static int +memcmp_not_common_alignment (long int srcp1, long int srcp2, size_t len) +{ + op_t a0, a1, a2, a3; + op_t b0, b1, b2, b3; + op_t x; + int shl, shr; + + /* Calculate how to shift a word read at the memory operation + aligned srcp1 to make it aligned for comparison. */ + + shl = 8 * (srcp1 % OPSIZ); + shr = 8 * OPSIZ - shl; + + /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t' + it points in the middle of. */ + srcp1 &= -OPSIZ; + + switch (len % 4) + { + default: /* Avoid warning about uninitialized local variables. */ + case 2: + a1 = ((op_t *) srcp1)[0]; + a2 = ((op_t *) srcp1)[1]; + b2 = ((op_t *) srcp2)[0]; + srcp1 -= 1 * OPSIZ; + srcp2 -= 2 * OPSIZ; + len += 2; + goto do1; + case 3: + a0 = ((op_t *) srcp1)[0]; + a1 = ((op_t *) srcp1)[1]; + b1 = ((op_t *) srcp2)[0]; + srcp2 -= 1 * OPSIZ; + len += 1; + goto do2; + case 0: + if (OP_T_THRES <= 3 * OPSIZ && len == 0) + return 0; + a3 = ((op_t *) srcp1)[0]; + a0 = ((op_t *) srcp1)[1]; + b0 = ((op_t *) srcp2)[0]; + srcp1 += 1 * OPSIZ; + goto do3; + case 1: + a2 = ((op_t *) srcp1)[0]; + a3 = ((op_t *) srcp1)[1]; + b3 = ((op_t *) srcp2)[0]; + srcp1 += 2 * OPSIZ; + srcp2 += 1 * OPSIZ; + len -= 1; + if (OP_T_THRES <= 3 * OPSIZ && len == 0) + goto do0; + /* Fall through. */ + } + + do + { + a0 = ((op_t *) srcp1)[0]; + b0 = ((op_t *) srcp2)[0]; + x = MERGE(a2, shl, a3, shr); + if (x != b3) + return CMP_LT_OR_GT (x, b3); + + do3: + a1 = ((op_t *) srcp1)[1]; + b1 = ((op_t *) srcp2)[1]; + x = MERGE(a3, shl, a0, shr); + if (x != b0) + return CMP_LT_OR_GT (x, b0); + + do2: + a2 = ((op_t *) srcp1)[2]; + b2 = ((op_t *) srcp2)[2]; + x = MERGE(a0, shl, a1, shr); + if (x != b1) + return CMP_LT_OR_GT (x, b1); + + do1: + a3 = ((op_t *) srcp1)[3]; + b3 = ((op_t *) srcp2)[3]; + x = MERGE(a1, shl, a2, shr); + if (x != b2) + return CMP_LT_OR_GT (x, b2); + + srcp1 += 4 * OPSIZ; + srcp2 += 4 * OPSIZ; + len -= 4; + } + while (len != 0); + + /* This is the right position for do0. Please don't move + it into the loop. */ + do0: + x = MERGE(a2, shl, a3, shr); + if (x != b3) + return CMP_LT_OR_GT (x, b3); + return 0; +} + +int +rpl_memcmp (const void *s1, const void *s2, size_t len) +{ + op_t a0; + op_t b0; + long int srcp1 = (long int) s1; + long int srcp2 = (long int) s2; + op_t res; + + if (len >= OP_T_THRES) + { + /* There are at least some bytes to compare. No need to test + for LEN == 0 in this alignment loop. */ + while (srcp2 % OPSIZ != 0) + { + a0 = ((byte *) srcp1)[0]; + b0 = ((byte *) srcp2)[0]; + srcp1 += 1; + srcp2 += 1; + res = a0 - b0; + if (res != 0) + return res; + len -= 1; + } + + /* SRCP2 is now aligned for memory operations on `op_t'. + SRCP1 alignment determines if we can do a simple, + aligned compare or need to shuffle bits. */ + + if (srcp1 % OPSIZ == 0) + res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ); + else + res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ); + if (res != 0) + return res; + + /* Number of bytes remaining in the interval [0..OPSIZ-1]. */ + srcp1 += len & -OPSIZ; + srcp2 += len & -OPSIZ; + len %= OPSIZ; + } + + /* There are just a few bytes to compare. Use byte memory operations. */ + while (len != 0) + { + a0 = ((byte *) srcp1)[0]; + b0 = ((byte *) srcp2)[0]; + srcp1 += 1; + srcp2 += 1; + res = a0 - b0; + if (res != 0) + return res; + len -= 1; + } + + return 0; +} + +#ifdef weak_alias +# undef bcmp +weak_alias (memcmp, bcmp) +#endif diff -Nru gnutls26-2.8.6/lgl/memmem.c gnutls26-2.4.1/lgl/memmem.c --- gnutls26-2.8.6/lgl/memmem.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memmem.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,76 @@ +/* Copyright (C) 1991,92,93,94,96,97,98,2000,2004,2007,2008 Free Software + Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* This particular implementation was written by Eric Blake, 2008. */ + +#ifndef _LIBC +# include +#endif + +/* Specification of memmem. */ +#include + +#ifndef _LIBC +# define __builtin_expect(expr, val) (expr) +#endif + +#define RETURN_TYPE void * +#define AVAILABLE(h, h_l, j, n_l) ((j) <= (h_l) - (n_l)) +#include "str-two-way.h" + +/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK + if NEEDLE_LEN is 0, otherwise NULL if NEEDLE is not found in + HAYSTACK. */ +void * +memmem (const void *haystack_start, size_t haystack_len, + const void *needle_start, size_t needle_len) +{ + /* Abstract memory is considered to be an array of 'unsigned char' values, + not an array of 'char' values. See ISO C 99 section 6.2.6.1. */ + const unsigned char *haystack = (const unsigned char *) haystack_start; + const unsigned char *needle = (const unsigned char *) needle_start; + + if (needle_len == 0) + /* The first occurrence of the empty string is deemed to occur at + the beginning of the string. */ + return (void *) haystack; + + /* Sanity check, otherwise the loop might search through the whole + memory. */ + if (__builtin_expect (haystack_len < needle_len, 0)) + return NULL; + + /* Use optimizations in memchr when possible, to reduce the search + size of haystack using a linear algorithm with a smaller + coefficient. However, avoid memchr for long needles, since we + can often achieve sublinear performance. */ + if (needle_len < LONG_NEEDLE_THRESHOLD) + { + haystack = memchr (haystack, *needle, haystack_len); + if (!haystack || __builtin_expect (needle_len == 1, 0)) + return (void *) haystack; + haystack_len -= haystack - (const unsigned char *) haystack_start; + if (haystack_len < needle_len) + return NULL; + return two_way_short_needle (haystack, haystack_len, needle, needle_len); + } + else + return two_way_long_needle (haystack, haystack_len, needle, needle_len); +} + +#undef LONG_NEEDLE_THRESHOLD diff -Nru gnutls26-2.8.6/lgl/memmove.c gnutls26-2.4.1/lgl/memmove.c --- gnutls26-2.8.6/lgl/memmove.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memmove.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,26 @@ +/* memmove.c -- copy memory. + Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate. + In the public domain. + By David MacKenzie . */ + +#include + +#include + +void * +memmove (void *dest0, void const *source0, size_t length) +{ + char *dest = dest0; + char const *source = source0; + if (source < dest) + /* Moving from low mem to hi mem; start at end. */ + for (source += length, dest += length; length; --length) + *--dest = *--source; + else if (source != dest) + { + /* Moving from hi mem to low mem; start at beginning. */ + for (; length; --length) + *dest++ = *source++; + } + return dest0; +} diff -Nru gnutls26-2.8.6/lgl/memxor.c gnutls26-2.4.1/lgl/memxor.c --- gnutls26-2.8.6/lgl/memxor.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memxor.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,35 @@ +/* memxor.c -- perform binary exclusive OR operation of two memory blocks. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. The interface was inspired by memxor + in Niels Möller's Nettle. */ + +#include + +#include "memxor.h" + +void * +memxor (void *restrict dest, const void *restrict src, size_t n) +{ + char const *s = src; + char *d = dest; + + for (; n > 0; n--) + *d++ ^= *s++; + + return dest; +} diff -Nru gnutls26-2.8.6/lgl/memxor.h gnutls26-2.4.1/lgl/memxor.h --- gnutls26-2.8.6/lgl/memxor.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/memxor.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,31 @@ +/* memxor.h -- perform binary exclusive OR operation on memory blocks. + Copyright (C) 2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Simon Josefsson. The interface was inspired by memxor + in Niels Möller's Nettle. */ + +#ifndef MEMXOR_H +# define MEMXOR_H + +#include + +/* Compute binary exclusive OR of memory areas DEST and SRC, putting + the result in DEST, of length N bytes. Returns a pointer to + DEST. */ +void *memxor (void *restrict dest, const void *restrict src, size_t n); + +#endif /* MEMXOR_H */ diff -Nru gnutls26-2.8.6/lgl/minmax.h gnutls26-2.4.1/lgl/minmax.h --- gnutls26-2.8.6/lgl/minmax.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/minmax.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,60 @@ +/* MIN, MAX macros. + Copyright (C) 1995, 1998, 2001, 2003, 2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _MINMAX_H +#define _MINMAX_H + +/* Note: MIN, MAX are also defined in on some systems + (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about + MIN, MAX macro redefinitions on some systems; the workaround is to + #include this file as the last one among the #include list. */ + +/* Before we define the following symbols we get the file + since otherwise we get redefinitions on some systems if is + included after this file. Likewise for . + If more than one of these system headers define MIN and MAX, pick just + one of the headers (because the definitions most likely are the same). */ +#if HAVE_MINMAX_IN_LIMITS_H +# include +#elif HAVE_MINMAX_IN_SYS_PARAM_H +# include +#endif + +/* Note: MIN and MAX should be used with two arguments of the + same type. They might not return the minimum and maximum of their two + arguments, if the arguments have different types or have unusual + floating-point values. For example, on a typical host with 32-bit 'int', + 64-bit 'long long', and 64-bit IEEE 754 'double' types: + + MAX (-1, 2147483648) returns 4294967295. + MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. + MAX (NaN, 0.0) returns 0.0. + MAX (+0.0, -0.0) returns -0.0. + + and in each case the answer is in some sense bogus. */ + +/* MAX(a,b) returns the maximum of A and B. */ +#ifndef MAX +# define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +/* MIN(a,b) returns the minimum of A and B. */ +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#endif /* _MINMAX_H */ diff -Nru gnutls26-2.8.6/lgl/printf-args.c gnutls26-2.4.1/lgl/printf-args.c --- gnutls26-2.8.6/lgl/printf-args.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/printf-args.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,187 @@ +/* Decomposed printf argument list. + Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* This file can be parametrized with the following macros: + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. + PRINTF_FETCHARGS Name of the function to be defined. + STATIC Set to 'static' to declare the function static. */ + +#ifndef PRINTF_FETCHARGS +# include +#endif + +/* Specification. */ +#ifndef PRINTF_FETCHARGS +# include "printf-args.h" +#endif + +#ifdef STATIC +STATIC +#endif +int +PRINTF_FETCHARGS (va_list args, arguments *a) +{ + size_t i; + argument *ap; + + for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) + switch (ap->type) + { + case TYPE_SCHAR: + ap->a.a_schar = va_arg (args, /*signed char*/ int); + break; + case TYPE_UCHAR: + ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); + break; + case TYPE_SHORT: + ap->a.a_short = va_arg (args, /*short*/ int); + break; + case TYPE_USHORT: + ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); + break; + case TYPE_INT: + ap->a.a_int = va_arg (args, int); + break; + case TYPE_UINT: + ap->a.a_uint = va_arg (args, unsigned int); + break; + case TYPE_LONGINT: + ap->a.a_longint = va_arg (args, long int); + break; + case TYPE_ULONGINT: + ap->a.a_ulongint = va_arg (args, unsigned long int); + break; +#if HAVE_LONG_LONG_INT + case TYPE_LONGLONGINT: + ap->a.a_longlongint = va_arg (args, long long int); + break; + case TYPE_ULONGLONGINT: + ap->a.a_ulonglongint = va_arg (args, unsigned long long int); + break; +#endif + case TYPE_DOUBLE: + ap->a.a_double = va_arg (args, double); + break; + case TYPE_LONGDOUBLE: + ap->a.a_longdouble = va_arg (args, long double); + break; + case TYPE_CHAR: + ap->a.a_char = va_arg (args, int); + break; +#if HAVE_WINT_T + case TYPE_WIDE_CHAR: + /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by + default argument promotions", this is not the case in mingw32, + where wint_t is 'unsigned short'. */ + ap->a.a_wide_char = + (sizeof (wint_t) < sizeof (int) + ? va_arg (args, int) + : va_arg (args, wint_t)); + break; +#endif + case TYPE_STRING: + ap->a.a_string = va_arg (args, const char *); + /* A null pointer is an invalid argument for "%s", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_string == NULL) + ap->a.a_string = "(NULL)"; + break; +#if HAVE_WCHAR_T + case TYPE_WIDE_STRING: + ap->a.a_wide_string = va_arg (args, const wchar_t *); + /* A null pointer is an invalid argument for "%ls", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_wide_string == NULL) + { + static const wchar_t wide_null_string[] = + { + (wchar_t)'(', + (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', + (wchar_t)')', + (wchar_t)0 + }; + ap->a.a_wide_string = wide_null_string; + } + break; +#endif + case TYPE_POINTER: + ap->a.a_pointer = va_arg (args, void *); + break; + case TYPE_COUNT_SCHAR_POINTER: + ap->a.a_count_schar_pointer = va_arg (args, signed char *); + break; + case TYPE_COUNT_SHORT_POINTER: + ap->a.a_count_short_pointer = va_arg (args, short *); + break; + case TYPE_COUNT_INT_POINTER: + ap->a.a_count_int_pointer = va_arg (args, int *); + break; + case TYPE_COUNT_LONGINT_POINTER: + ap->a.a_count_longint_pointer = va_arg (args, long int *); + break; +#if HAVE_LONG_LONG_INT + case TYPE_COUNT_LONGLONGINT_POINTER: + ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); + break; +#endif +#if ENABLE_UNISTDIO + /* The unistdio extensions. */ + case TYPE_U8_STRING: + ap->a.a_u8_string = va_arg (args, const uint8_t *); + /* A null pointer is an invalid argument for "%U", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u8_string == NULL) + { + static const uint8_t u8_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u8_string = u8_null_string; + } + break; + case TYPE_U16_STRING: + ap->a.a_u16_string = va_arg (args, const uint16_t *); + /* A null pointer is an invalid argument for "%lU", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u16_string == NULL) + { + static const uint16_t u16_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u16_string = u16_null_string; + } + break; + case TYPE_U32_STRING: + ap->a.a_u32_string = va_arg (args, const uint32_t *); + /* A null pointer is an invalid argument for "%llU", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u32_string == NULL) + { + static const uint32_t u32_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u32_string = u32_null_string; + } + break; +#endif + default: + /* Unknown type. */ + return -1; + } + return 0; +} diff -Nru gnutls26-2.8.6/lgl/printf-args.h gnutls26-2.4.1/lgl/printf-args.h --- gnutls26-2.8.6/lgl/printf-args.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/printf-args.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,154 @@ +/* Decomposed printf argument list. + Copyright (C) 1999, 2002-2003, 2006-2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _PRINTF_ARGS_H +#define _PRINTF_ARGS_H + +/* This file can be parametrized with the following macros: + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. + PRINTF_FETCHARGS Name of the function to be declared. + STATIC Set to 'static' to declare the function static. */ + +/* Default parameters. */ +#ifndef PRINTF_FETCHARGS +# define PRINTF_FETCHARGS printf_fetchargs +#endif + +/* Get size_t. */ +#include + +/* Get wchar_t. */ +#if HAVE_WCHAR_T +# include +#endif + +/* Get wint_t. */ +#if HAVE_WINT_T +# include +#endif + +/* Get va_list. */ +#include + + +/* Argument types */ +typedef enum +{ + TYPE_NONE, + TYPE_SCHAR, + TYPE_UCHAR, + TYPE_SHORT, + TYPE_USHORT, + TYPE_INT, + TYPE_UINT, + TYPE_LONGINT, + TYPE_ULONGINT, +#if HAVE_LONG_LONG_INT + TYPE_LONGLONGINT, + TYPE_ULONGLONGINT, +#endif + TYPE_DOUBLE, + TYPE_LONGDOUBLE, + TYPE_CHAR, +#if HAVE_WINT_T + TYPE_WIDE_CHAR, +#endif + TYPE_STRING, +#if HAVE_WCHAR_T + TYPE_WIDE_STRING, +#endif + TYPE_POINTER, + TYPE_COUNT_SCHAR_POINTER, + TYPE_COUNT_SHORT_POINTER, + TYPE_COUNT_INT_POINTER, + TYPE_COUNT_LONGINT_POINTER +#if HAVE_LONG_LONG_INT +, TYPE_COUNT_LONGLONGINT_POINTER +#endif +#if ENABLE_UNISTDIO + /* The unistdio extensions. */ +, TYPE_U8_STRING +, TYPE_U16_STRING +, TYPE_U32_STRING +#endif +} arg_type; + +/* Polymorphic argument */ +typedef struct +{ + arg_type type; + union + { + signed char a_schar; + unsigned char a_uchar; + short a_short; + unsigned short a_ushort; + int a_int; + unsigned int a_uint; + long int a_longint; + unsigned long int a_ulongint; +#if HAVE_LONG_LONG_INT + long long int a_longlongint; + unsigned long long int a_ulonglongint; +#endif + float a_float; + double a_double; + long double a_longdouble; + int a_char; +#if HAVE_WINT_T + wint_t a_wide_char; +#endif + const char* a_string; +#if HAVE_WCHAR_T + const wchar_t* a_wide_string; +#endif + void* a_pointer; + signed char * a_count_schar_pointer; + short * a_count_short_pointer; + int * a_count_int_pointer; + long int * a_count_longint_pointer; +#if HAVE_LONG_LONG_INT + long long int * a_count_longlongint_pointer; +#endif +#if ENABLE_UNISTDIO + /* The unistdio extensions. */ + const uint8_t * a_u8_string; + const uint16_t * a_u16_string; + const uint32_t * a_u32_string; +#endif + } + a; +} +argument; + +typedef struct +{ + size_t count; + argument *arg; +} +arguments; + + +/* Fetch the arguments, putting them into a. */ +#ifdef STATIC +STATIC +#else +extern +#endif +int PRINTF_FETCHARGS (va_list args, arguments *a); + +#endif /* _PRINTF_ARGS_H */ diff -Nru gnutls26-2.8.6/lgl/printf-parse.c gnutls26-2.4.1/lgl/printf-parse.c --- gnutls26-2.8.6/lgl/printf-parse.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/printf-parse.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,627 @@ +/* Formatted output to strings. + Copyright (C) 1999-2000, 2002-2003, 2006-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* This file can be parametrized with the following macros: + CHAR_T The element type of the format string. + CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters + in the format string are ASCII. + DIRECTIVE Structure denoting a format directive. + Depends on CHAR_T. + DIRECTIVES Structure denoting the set of format directives of a + format string. Depends on CHAR_T. + PRINTF_PARSE Function that parses a format string. + Depends on CHAR_T. + STATIC Set to 'static' to declare the function static. + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ + +#ifndef PRINTF_PARSE +# include +#endif + +/* Specification. */ +#ifndef PRINTF_PARSE +# include "printf-parse.h" +#endif + +/* Default parameters. */ +#ifndef PRINTF_PARSE +# define PRINTF_PARSE printf_parse +# define CHAR_T char +# define DIRECTIVE char_directive +# define DIRECTIVES char_directives +#endif + +/* Get size_t, NULL. */ +#include + +/* Get intmax_t. */ +#if defined IN_LIBINTL || defined IN_LIBASPRINTF +# if HAVE_STDINT_H_WITH_UINTMAX +# include +# endif +# if HAVE_INTTYPES_H_WITH_UINTMAX +# include +# endif +#else +# include +#endif + +/* malloc(), realloc(), free(). */ +#include + +/* errno. */ +#include + +/* Checked size_t computations. */ +#include "xsize.h" + +#if CHAR_T_ONLY_ASCII +/* c_isascii(). */ +# include "c-ctype.h" +#endif + +#ifdef STATIC +STATIC +#endif +int +PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) +{ + const CHAR_T *cp = format; /* pointer into format */ + size_t arg_posn = 0; /* number of regular arguments consumed */ + size_t d_allocated; /* allocated elements of d->dir */ + size_t a_allocated; /* allocated elements of a->arg */ + size_t max_width_length = 0; + size_t max_precision_length = 0; + + d->count = 0; + d_allocated = 1; + d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); + if (d->dir == NULL) + /* Out of memory. */ + goto out_of_memory_1; + + a->count = 0; + a_allocated = 0; + a->arg = NULL; + +#define REGISTER_ARG(_index_,_type_) \ + { \ + size_t n = (_index_); \ + if (n >= a_allocated) \ + { \ + size_t memory_size; \ + argument *memory; \ + \ + a_allocated = xtimes (a_allocated, 2); \ + if (a_allocated <= n) \ + a_allocated = xsum (n, 1); \ + memory_size = xtimes (a_allocated, sizeof (argument)); \ + if (size_overflow_p (memory_size)) \ + /* Overflow, would lead to out of memory. */ \ + goto out_of_memory; \ + memory = (argument *) (a->arg \ + ? realloc (a->arg, memory_size) \ + : malloc (memory_size)); \ + if (memory == NULL) \ + /* Out of memory. */ \ + goto out_of_memory; \ + a->arg = memory; \ + } \ + while (a->count <= n) \ + a->arg[a->count++].type = TYPE_NONE; \ + if (a->arg[n].type == TYPE_NONE) \ + a->arg[n].type = (_type_); \ + else if (a->arg[n].type != (_type_)) \ + /* Ambiguous type for positional argument. */ \ + goto error; \ + } + + while (*cp != '\0') + { + CHAR_T c = *cp++; + if (c == '%') + { + size_t arg_index = ARG_NONE; + DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ + + /* Initialize the next directive. */ + dp->dir_start = cp - 1; + dp->flags = 0; + dp->width_start = NULL; + dp->width_end = NULL; + dp->width_arg_index = ARG_NONE; + dp->precision_start = NULL; + dp->precision_end = NULL; + dp->precision_arg_index = ARG_NONE; + dp->arg_index = ARG_NONE; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory later. */ + goto error; + arg_index = n - 1; + cp = np + 1; + } + } + + /* Read the flags. */ + for (;;) + { + if (*cp == '\'') + { + dp->flags |= FLAG_GROUP; + cp++; + } + else if (*cp == '-') + { + dp->flags |= FLAG_LEFT; + cp++; + } + else if (*cp == '+') + { + dp->flags |= FLAG_SHOWSIGN; + cp++; + } + else if (*cp == ' ') + { + dp->flags |= FLAG_SPACE; + cp++; + } + else if (*cp == '#') + { + dp->flags |= FLAG_ALT; + cp++; + } + else if (*cp == '0') + { + dp->flags |= FLAG_ZERO; + cp++; + } + else + break; + } + + /* Parse the field width. */ + if (*cp == '*') + { + dp->width_start = cp; + cp++; + dp->width_end = cp; + if (max_width_length < 1) + max_width_length = 1; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory later. */ + goto error; + dp->width_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->width_arg_index == ARG_NONE) + { + dp->width_arg_index = arg_posn++; + if (dp->width_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->width_arg_index, TYPE_INT); + } + else if (*cp >= '0' && *cp <= '9') + { + size_t width_length; + + dp->width_start = cp; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->width_end = cp; + width_length = dp->width_end - dp->width_start; + if (max_width_length < width_length) + max_width_length = width_length; + } + + /* Parse the precision. */ + if (*cp == '.') + { + cp++; + if (*cp == '*') + { + dp->precision_start = cp - 1; + cp++; + dp->precision_end = cp; + if (max_precision_length < 2) + max_precision_length = 2; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory + later. */ + goto error; + dp->precision_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->precision_arg_index == ARG_NONE) + { + dp->precision_arg_index = arg_posn++; + if (dp->precision_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->precision_arg_index, TYPE_INT); + } + else + { + size_t precision_length; + + dp->precision_start = cp - 1; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->precision_end = cp; + precision_length = dp->precision_end - dp->precision_start; + if (max_precision_length < precision_length) + max_precision_length = precision_length; + } + } + + { + arg_type type; + + /* Parse argument type/size specifiers. */ + { + int flags = 0; + + for (;;) + { + if (*cp == 'h') + { + flags |= (1 << (flags & 1)); + cp++; + } + else if (*cp == 'L') + { + flags |= 4; + cp++; + } + else if (*cp == 'l') + { + flags += 8; + cp++; + } + else if (*cp == 'j') + { + if (sizeof (intmax_t) > sizeof (long)) + { + /* intmax_t = long long */ + flags += 16; + } + else if (sizeof (intmax_t) > sizeof (int)) + { + /* intmax_t = long */ + flags += 8; + } + cp++; + } + else if (*cp == 'z' || *cp == 'Z') + { + /* 'z' is standardized in ISO C 99, but glibc uses 'Z' + because the warning facility in gcc-2.95.2 understands + only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ + if (sizeof (size_t) > sizeof (long)) + { + /* size_t = long long */ + flags += 16; + } + else if (sizeof (size_t) > sizeof (int)) + { + /* size_t = long */ + flags += 8; + } + cp++; + } + else if (*cp == 't') + { + if (sizeof (ptrdiff_t) > sizeof (long)) + { + /* ptrdiff_t = long long */ + flags += 16; + } + else if (sizeof (ptrdiff_t) > sizeof (int)) + { + /* ptrdiff_t = long */ + flags += 8; + } + cp++; + } +#if defined __APPLE__ && defined __MACH__ + /* On MacOS X 10.3, PRIdMAX is defined as "qd". + We cannot change it to "lld" because PRIdMAX must also + be understood by the system's printf routines. */ + else if (*cp == 'q') + { + if (64 / 8 > sizeof (long)) + { + /* int64_t = long long */ + flags += 16; + } + else + { + /* int64_t = long */ + flags += 8; + } + cp++; + } +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* On native Win32, PRIdMAX is defined as "I64d". + We cannot change it to "lld" because PRIdMAX must also + be understood by the system's printf routines. */ + else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') + { + if (64 / 8 > sizeof (long)) + { + /* __int64 = long long */ + flags += 16; + } + else + { + /* __int64 = long */ + flags += 8; + } + cp += 3; + } +#endif + else + break; + } + + /* Read the conversion character. */ + c = *cp++; + switch (c) + { + case 'd': case 'i': +#if HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGLONGINT; + else +#endif + /* If 'long long' exists and is the same as 'long', we parse + "lld" into TYPE_LONGINT. */ + if (flags >= 8) + type = TYPE_LONGINT; + else if (flags & 2) + type = TYPE_SCHAR; + else if (flags & 1) + type = TYPE_SHORT; + else + type = TYPE_INT; + break; + case 'o': case 'u': case 'x': case 'X': +#if HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_ULONGLONGINT; + else +#endif + /* If 'unsigned long long' exists and is the same as + 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ + if (flags >= 8) + type = TYPE_ULONGINT; + else if (flags & 2) + type = TYPE_UCHAR; + else if (flags & 1) + type = TYPE_USHORT; + else + type = TYPE_UINT; + break; + case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': + case 'a': case 'A': + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGDOUBLE; + else + type = TYPE_DOUBLE; + break; + case 'c': + if (flags >= 8) +#if HAVE_WINT_T + type = TYPE_WIDE_CHAR; +#else + goto error; +#endif + else + type = TYPE_CHAR; + break; +#if HAVE_WINT_T + case 'C': + type = TYPE_WIDE_CHAR; + c = 'c'; + break; +#endif + case 's': + if (flags >= 8) +#if HAVE_WCHAR_T + type = TYPE_WIDE_STRING; +#else + goto error; +#endif + else + type = TYPE_STRING; + break; +#if HAVE_WCHAR_T + case 'S': + type = TYPE_WIDE_STRING; + c = 's'; + break; +#endif + case 'p': + type = TYPE_POINTER; + break; + case 'n': +#if HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_COUNT_LONGLONGINT_POINTER; + else +#endif + /* If 'long long' exists and is the same as 'long', we parse + "lln" into TYPE_COUNT_LONGINT_POINTER. */ + if (flags >= 8) + type = TYPE_COUNT_LONGINT_POINTER; + else if (flags & 2) + type = TYPE_COUNT_SCHAR_POINTER; + else if (flags & 1) + type = TYPE_COUNT_SHORT_POINTER; + else + type = TYPE_COUNT_INT_POINTER; + break; +#if ENABLE_UNISTDIO + /* The unistdio extensions. */ + case 'U': + if (flags >= 16) + type = TYPE_U32_STRING; + else if (flags >= 8) + type = TYPE_U16_STRING; + else + type = TYPE_U8_STRING; + break; +#endif + case '%': + type = TYPE_NONE; + break; + default: + /* Unknown conversion character. */ + goto error; + } + } + + if (type != TYPE_NONE) + { + dp->arg_index = arg_index; + if (dp->arg_index == ARG_NONE) + { + dp->arg_index = arg_posn++; + if (dp->arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->arg_index, type); + } + dp->conversion = c; + dp->dir_end = cp; + } + + d->count++; + if (d->count >= d_allocated) + { + size_t memory_size; + DIRECTIVE *memory; + + d_allocated = xtimes (d_allocated, 2); + memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); + if (size_overflow_p (memory_size)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + memory = (DIRECTIVE *) realloc (d->dir, memory_size); + if (memory == NULL) + /* Out of memory. */ + goto out_of_memory; + d->dir = memory; + } + } +#if CHAR_T_ONLY_ASCII + else if (!c_isascii (c)) + { + /* Non-ASCII character. Not supported. */ + goto error; + } +#endif + } + d->dir[d->count].dir_start = cp; + + d->max_width_length = max_width_length; + d->max_precision_length = max_precision_length; + return 0; + +error: + if (a->arg) + free (a->arg); + if (d->dir) + free (d->dir); + errno = EINVAL; + return -1; + +out_of_memory: + if (a->arg) + free (a->arg); + if (d->dir) + free (d->dir); +out_of_memory_1: + errno = ENOMEM; + return -1; +} + +#undef PRINTF_PARSE +#undef DIRECTIVES +#undef DIRECTIVE +#undef CHAR_T_ONLY_ASCII +#undef CHAR_T diff -Nru gnutls26-2.8.6/lgl/printf-parse.h gnutls26-2.4.1/lgl/printf-parse.h --- gnutls26-2.8.6/lgl/printf-parse.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/printf-parse.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,179 @@ +/* Parse printf format string. + Copyright (C) 1999, 2002-2003, 2005, 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _PRINTF_PARSE_H +#define _PRINTF_PARSE_H + +/* This file can be parametrized with the following macros: + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. + STATIC Set to 'static' to declare the function static. */ + +#include "printf-args.h" + + +/* Flags */ +#define FLAG_GROUP 1 /* ' flag */ +#define FLAG_LEFT 2 /* - flag */ +#define FLAG_SHOWSIGN 4 /* + flag */ +#define FLAG_SPACE 8 /* space flag */ +#define FLAG_ALT 16 /* # flag */ +#define FLAG_ZERO 32 + +/* arg_index value indicating that no argument is consumed. */ +#define ARG_NONE (~(size_t)0) + +/* xxx_directive: A parsed directive. + xxx_directives: A parsed format string. */ + +/* A parsed directive. */ +typedef struct +{ + const char* dir_start; + const char* dir_end; + int flags; + const char* width_start; + const char* width_end; + size_t width_arg_index; + const char* precision_start; + const char* precision_end; + size_t precision_arg_index; + char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ + size_t arg_index; +} +char_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + char_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +char_directives; + +#if ENABLE_UNISTDIO + +/* A parsed directive. */ +typedef struct +{ + const uint8_t* dir_start; + const uint8_t* dir_end; + int flags; + const uint8_t* width_start; + const uint8_t* width_end; + size_t width_arg_index; + const uint8_t* precision_start; + const uint8_t* precision_end; + size_t precision_arg_index; + uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ + size_t arg_index; +} +u8_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + u8_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +u8_directives; + +/* A parsed directive. */ +typedef struct +{ + const uint16_t* dir_start; + const uint16_t* dir_end; + int flags; + const uint16_t* width_start; + const uint16_t* width_end; + size_t width_arg_index; + const uint16_t* precision_start; + const uint16_t* precision_end; + size_t precision_arg_index; + uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ + size_t arg_index; +} +u16_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + u16_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +u16_directives; + +/* A parsed directive. */ +typedef struct +{ + const uint32_t* dir_start; + const uint32_t* dir_end; + int flags; + const uint32_t* width_start; + const uint32_t* width_end; + size_t width_arg_index; + const uint32_t* precision_start; + const uint32_t* precision_end; + size_t precision_arg_index; + uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ + size_t arg_index; +} +u32_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + u32_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +u32_directives; + +#endif + + +/* Parses the format string. Fills in the number N of directives, and fills + in directives[0], ..., directives[N-1], and sets directives[N].dir_start + to the end of the format string. Also fills in the arg_type fields of the + arguments and the needed count of arguments. */ +#if ENABLE_UNISTDIO +extern int + ulc_printf_parse (const char *format, char_directives *d, arguments *a); +extern int + u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a); +extern int + u16_printf_parse (const uint16_t *format, u16_directives *d, + arguments *a); +extern int + u32_printf_parse (const uint32_t *format, u32_directives *d, + arguments *a); +#else +# ifdef STATIC +STATIC +# else +extern +# endif +int printf_parse (const char *format, char_directives *d, arguments *a); +#endif + +#endif /* _PRINTF_PARSE_H */ diff -Nru gnutls26-2.8.6/lgl/read-file.c gnutls26-2.4.1/lgl/read-file.c --- gnutls26-2.8.6/lgl/read-file.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/read-file.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,136 @@ +/* read-file.c -- read file contents into a string + Copyright (C) 2006 Free Software Foundation, Inc. + Written by Simon Josefsson and Bruno Haible. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#include "read-file.h" + +/* Get realloc, free. */ +#include + +/* Get errno. */ +#include + +/* Read a STREAM and return a newly allocated string with the content, + and set *LENGTH to the length of the string. The string is + zero-terminated, but the terminating zero byte is not counted in + *LENGTH. On errors, *LENGTH is undefined, errno preserves the + values set by system functions (if any), and NULL is returned. */ +char * +fread_file (FILE * stream, size_t * length) +{ + char *buf = NULL; + size_t alloc = 0; + size_t size = 0; + int save_errno; + + for (;;) + { + size_t count; + size_t requested; + + if (size + BUFSIZ + 1 > alloc) + { + char *new_buf; + + alloc += alloc / 2; + if (alloc < size + BUFSIZ + 1) + alloc = size + BUFSIZ + 1; + + new_buf = realloc (buf, alloc); + if (!new_buf) + { + save_errno = errno; + break; + } + + buf = new_buf; + } + + requested = alloc - size - 1; + count = fread (buf + size, 1, requested, stream); + size += count; + + if (count != requested) + { + save_errno = errno; + if (ferror (stream)) + break; + buf[size] = '\0'; + *length = size; + return buf; + } + } + + free (buf); + errno = save_errno; + return NULL; +} + +static char * +internal_read_file (const char *filename, size_t * length, const char *mode) +{ + FILE *stream = fopen (filename, mode); + char *out; + int save_errno; + + if (!stream) + return NULL; + + out = fread_file (stream, length); + + save_errno = errno; + + if (fclose (stream) != 0) + { + if (out) + { + save_errno = errno; + free (out); + } + errno = save_errno; + return NULL; + } + + return out; +} + +/* Open and read the contents of FILENAME, and return a newly + allocated string with the content, and set *LENGTH to the length of + the string. The string is zero-terminated, but the terminating + zero byte is not counted in *LENGTH. On errors, *LENGTH is + undefined, errno preserves the values set by system functions (if + any), and NULL is returned. */ +char * +read_file (const char *filename, size_t * length) +{ + return internal_read_file (filename, length, "r"); +} + +/* Open (on non-POSIX systems, in binary mode) and read the contents + of FILENAME, and return a newly allocated string with the content, + and set LENGTH to the length of the string. The string is + zero-terminated, but the terminating zero byte is not counted in + the LENGTH variable. On errors, *LENGTH is undefined, errno + preserves the values set by system functions (if any), and NULL is + returned. */ +char * +read_binary_file (const char *filename, size_t * length) +{ + return internal_read_file (filename, length, "rb"); +} diff -Nru gnutls26-2.8.6/lgl/read-file.h gnutls26-2.4.1/lgl/read-file.h --- gnutls26-2.8.6/lgl/read-file.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/read-file.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,34 @@ +/* read-file.h -- read file contents into a string + Copyright (C) 2006 Free Software Foundation, Inc. + Written by Simon Josefsson. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef READ_FILE_H +#define READ_FILE_H + +/* Get size_t. */ +#include + +/* Get FILE. */ +#include + +extern char *fread_file (FILE * stream, size_t * length); + +extern char *read_file (const char *filename, size_t * length); + +extern char *read_binary_file (const char *filename, size_t * length); + +#endif /* READ_FILE_H */ diff -Nru gnutls26-2.8.6/lgl/realloc.c gnutls26-2.4.1/lgl/realloc.c --- gnutls26-2.8.6/lgl/realloc.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/realloc.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,87 @@ +/* realloc() function that is glibc compatible. + + Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering and Bruno Haible */ + +#include + +/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ +#ifdef realloc +# define NEED_REALLOC_GNU 1 +#endif + +/* Infer the properties of the system's malloc function. + Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ +#if GNULIB_MALLOC_GNU && !defined malloc +# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 +#endif + +/* Below we want to call the system's malloc and realloc. + Undefine the symbols here so that including provides a + declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ +#undef malloc +#undef realloc + +/* Specification. */ +#include + +#include + +/* Below we want to call the system's malloc and realloc. + Undefine the symbols, if they were defined by gnulib's + replacement. */ +#undef malloc +#undef realloc + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. If N is zero, change it to 1. If P is NULL, + use malloc. */ + +void * +rpl_realloc (void *p, size_t n) +{ + void *result; + +#if NEED_REALLOC_GNU + if (n == 0) + { + n = 1; + + /* In theory realloc might fail, so don't rely on it to free. */ + free (p); + p = NULL; + } +#endif + + if (p == NULL) + { +#if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE + if (n == 0) + n = 1; +#endif + result = malloc (n); + } + else + result = realloc (p, n); + +#if !HAVE_REALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +#endif + + return result; +} diff -Nru gnutls26-2.8.6/lgl/rijndael-alg-fst.c gnutls26-2.4.1/lgl/rijndael-alg-fst.c --- gnutls26-2.8.6/lgl/rijndael-alg-fst.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/rijndael-alg-fst.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,1083 @@ +/* rijndael-alg-fst.c --- Rijndael cipher implementation. + * Copyright (C) 2005, 2006 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson. + * + * Based on public domain "Optimised C code" retrieved from (SHA1 + * 7c8e4b00d06685d1dbc6724a9e0d502353de339e): + * http://www.iaik.tu-graz.ac.at/research/krypto/AES/old/~rijmen/rijndael/rijndael-fst-3.0.zip + */ + +#include + +/** + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "rijndael-alg-fst.h" + +/* +Te0[x] = S [x].[02, 01, 01, 03]; +Te1[x] = S [x].[03, 02, 01, 01]; +Te2[x] = S [x].[01, 03, 02, 01]; +Te3[x] = S [x].[01, 01, 03, 02]; +Te4[x] = S [x].[01, 01, 01, 01]; + +Td0[x] = Si[x].[0e, 09, 0d, 0b]; +Td1[x] = Si[x].[0b, 0e, 09, 0d]; +Td2[x] = Si[x].[0d, 0b, 0e, 09]; +Td3[x] = Si[x].[09, 0d, 0b, 0e]; +Td4[x] = Si[x].[01, 01, 01, 01]; +*/ + +static const uint32_t Te0[256] = { + 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, + 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, + 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, + 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, + 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, + 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, + 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, + 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, + 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, + 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, + 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, + 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, + 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, + 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, + 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, + 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, + 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, + 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, + 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, + 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, + 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, + 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, + 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, + 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, + 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, + 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, + 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, + 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, + 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, + 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, + 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, + 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, + 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, + 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, + 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, + 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, + 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, + 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, + 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, + 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, + 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, + 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, + 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, + 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, + 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, + 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, + 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, + 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, + 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, + 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, + 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, + 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, + 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, + 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, + 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, + 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, + 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, + 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, + 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, + 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, + 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, + 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, + 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, + 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a, +}; +static const uint32_t Te1[256] = { + 0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, + 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, + 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, + 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, + 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, + 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, + 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, + 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, + 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, + 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, + 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, + 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, + 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, + 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, + 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, + 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, + 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, + 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, + 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, + 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, + 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, + 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, + 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, + 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, + 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, + 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, + 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, + 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, + 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, + 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, + 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, + 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, + 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, + 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, + 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, + 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, + 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, + 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, + 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, + 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, + 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, + 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, + 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, + 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, + 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, + 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, + 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, + 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, + 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, + 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, + 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, + 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, + 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, + 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, + 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, + 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, + 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, + 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, + 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, + 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, + 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, + 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, + 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, + 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616, +}; +static const uint32_t Te2[256] = { + 0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, + 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, + 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, + 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, + 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, + 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, + 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, + 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, + 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, + 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, + 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, + 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, + 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, + 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, + 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, + 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, + 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, + 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, + 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, + 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, + 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, + 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, + 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, + 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, + 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, + 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, + 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, + 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, + 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, + 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, + 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, + 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, + 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, + 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, + 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, + 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, + 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, + 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, + 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, + 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, + 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, + 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, + 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, + 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, + 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, + 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, + 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, + 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, + 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, + 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, + 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, + 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, + 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, + 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, + 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, + 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, + 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, + 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, + 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, + 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, + 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, + 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, + 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, + 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16, +}; +static const uint32_t Te3[256] = { + 0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, + 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, + 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, + 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, + 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, + 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, + 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, + 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, + 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, + 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, + 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, + 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, + 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, + 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, + 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, + 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, + 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, + 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, + 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, + 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, + 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, + 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, + 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, + 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, + 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, + 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, + 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, + 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, + 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, + 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, + 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, + 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, + 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, + 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, + 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, + 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, + 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, + 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, + 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, + 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, + 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, + 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, + 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, + 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, + 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, + 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, + 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, + 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, + 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, + 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, + 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, + 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, + 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, + 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, + 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, + 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, + 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, + 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, + 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, + 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, + 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, + 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, + 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, + 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c, +}; +static const uint32_t Te4[256] = { + 0x63636363, 0x7c7c7c7c, 0x77777777, 0x7b7b7b7b, + 0xf2f2f2f2, 0x6b6b6b6b, 0x6f6f6f6f, 0xc5c5c5c5, + 0x30303030, 0x01010101, 0x67676767, 0x2b2b2b2b, + 0xfefefefe, 0xd7d7d7d7, 0xabababab, 0x76767676, + 0xcacacaca, 0x82828282, 0xc9c9c9c9, 0x7d7d7d7d, + 0xfafafafa, 0x59595959, 0x47474747, 0xf0f0f0f0, + 0xadadadad, 0xd4d4d4d4, 0xa2a2a2a2, 0xafafafaf, + 0x9c9c9c9c, 0xa4a4a4a4, 0x72727272, 0xc0c0c0c0, + 0xb7b7b7b7, 0xfdfdfdfd, 0x93939393, 0x26262626, + 0x36363636, 0x3f3f3f3f, 0xf7f7f7f7, 0xcccccccc, + 0x34343434, 0xa5a5a5a5, 0xe5e5e5e5, 0xf1f1f1f1, + 0x71717171, 0xd8d8d8d8, 0x31313131, 0x15151515, + 0x04040404, 0xc7c7c7c7, 0x23232323, 0xc3c3c3c3, + 0x18181818, 0x96969696, 0x05050505, 0x9a9a9a9a, + 0x07070707, 0x12121212, 0x80808080, 0xe2e2e2e2, + 0xebebebeb, 0x27272727, 0xb2b2b2b2, 0x75757575, + 0x09090909, 0x83838383, 0x2c2c2c2c, 0x1a1a1a1a, + 0x1b1b1b1b, 0x6e6e6e6e, 0x5a5a5a5a, 0xa0a0a0a0, + 0x52525252, 0x3b3b3b3b, 0xd6d6d6d6, 0xb3b3b3b3, + 0x29292929, 0xe3e3e3e3, 0x2f2f2f2f, 0x84848484, + 0x53535353, 0xd1d1d1d1, 0x00000000, 0xedededed, + 0x20202020, 0xfcfcfcfc, 0xb1b1b1b1, 0x5b5b5b5b, + 0x6a6a6a6a, 0xcbcbcbcb, 0xbebebebe, 0x39393939, + 0x4a4a4a4a, 0x4c4c4c4c, 0x58585858, 0xcfcfcfcf, + 0xd0d0d0d0, 0xefefefef, 0xaaaaaaaa, 0xfbfbfbfb, + 0x43434343, 0x4d4d4d4d, 0x33333333, 0x85858585, + 0x45454545, 0xf9f9f9f9, 0x02020202, 0x7f7f7f7f, + 0x50505050, 0x3c3c3c3c, 0x9f9f9f9f, 0xa8a8a8a8, + 0x51515151, 0xa3a3a3a3, 0x40404040, 0x8f8f8f8f, + 0x92929292, 0x9d9d9d9d, 0x38383838, 0xf5f5f5f5, + 0xbcbcbcbc, 0xb6b6b6b6, 0xdadadada, 0x21212121, + 0x10101010, 0xffffffff, 0xf3f3f3f3, 0xd2d2d2d2, + 0xcdcdcdcd, 0x0c0c0c0c, 0x13131313, 0xecececec, + 0x5f5f5f5f, 0x97979797, 0x44444444, 0x17171717, + 0xc4c4c4c4, 0xa7a7a7a7, 0x7e7e7e7e, 0x3d3d3d3d, + 0x64646464, 0x5d5d5d5d, 0x19191919, 0x73737373, + 0x60606060, 0x81818181, 0x4f4f4f4f, 0xdcdcdcdc, + 0x22222222, 0x2a2a2a2a, 0x90909090, 0x88888888, + 0x46464646, 0xeeeeeeee, 0xb8b8b8b8, 0x14141414, + 0xdededede, 0x5e5e5e5e, 0x0b0b0b0b, 0xdbdbdbdb, + 0xe0e0e0e0, 0x32323232, 0x3a3a3a3a, 0x0a0a0a0a, + 0x49494949, 0x06060606, 0x24242424, 0x5c5c5c5c, + 0xc2c2c2c2, 0xd3d3d3d3, 0xacacacac, 0x62626262, + 0x91919191, 0x95959595, 0xe4e4e4e4, 0x79797979, + 0xe7e7e7e7, 0xc8c8c8c8, 0x37373737, 0x6d6d6d6d, + 0x8d8d8d8d, 0xd5d5d5d5, 0x4e4e4e4e, 0xa9a9a9a9, + 0x6c6c6c6c, 0x56565656, 0xf4f4f4f4, 0xeaeaeaea, + 0x65656565, 0x7a7a7a7a, 0xaeaeaeae, 0x08080808, + 0xbabababa, 0x78787878, 0x25252525, 0x2e2e2e2e, + 0x1c1c1c1c, 0xa6a6a6a6, 0xb4b4b4b4, 0xc6c6c6c6, + 0xe8e8e8e8, 0xdddddddd, 0x74747474, 0x1f1f1f1f, + 0x4b4b4b4b, 0xbdbdbdbd, 0x8b8b8b8b, 0x8a8a8a8a, + 0x70707070, 0x3e3e3e3e, 0xb5b5b5b5, 0x66666666, + 0x48484848, 0x03030303, 0xf6f6f6f6, 0x0e0e0e0e, + 0x61616161, 0x35353535, 0x57575757, 0xb9b9b9b9, + 0x86868686, 0xc1c1c1c1, 0x1d1d1d1d, 0x9e9e9e9e, + 0xe1e1e1e1, 0xf8f8f8f8, 0x98989898, 0x11111111, + 0x69696969, 0xd9d9d9d9, 0x8e8e8e8e, 0x94949494, + 0x9b9b9b9b, 0x1e1e1e1e, 0x87878787, 0xe9e9e9e9, + 0xcececece, 0x55555555, 0x28282828, 0xdfdfdfdf, + 0x8c8c8c8c, 0xa1a1a1a1, 0x89898989, 0x0d0d0d0d, + 0xbfbfbfbf, 0xe6e6e6e6, 0x42424242, 0x68686868, + 0x41414141, 0x99999999, 0x2d2d2d2d, 0x0f0f0f0f, + 0xb0b0b0b0, 0x54545454, 0xbbbbbbbb, 0x16161616, +}; +static const uint32_t Td0[256] = { + 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, + 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, + 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, + 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, + 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, + 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, + 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, + 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, + 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, + 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, + 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, + 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, + 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, + 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, + 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, + 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, + 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, + 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, + 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, + 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, + 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, + 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, + 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, + 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, + 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, + 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, + 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, + 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, + 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, + 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, + 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, + 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, + 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, + 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, + 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, + 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, + 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, + 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, + 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, + 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, + 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, + 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, + 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, + 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, + 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, + 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, + 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, + 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, + 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, + 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, + 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, + 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, + 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, + 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, + 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, + 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, + 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, + 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, + 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, + 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, + 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, + 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, + 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, + 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742, +}; +static const uint32_t Td1[256] = { + 0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, + 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, + 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, + 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, + 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, + 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, + 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, + 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, + 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, + 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, + 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, + 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, + 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, + 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, + 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, + 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, + 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, + 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, + 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, + 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, + 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, + 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, + 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, + 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, + 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, + 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, + 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, + 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, + 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, + 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, + 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, + 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, + 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, + 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, + 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, + 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, + 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, + 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, + 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, + 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, + 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, + 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, + 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, + 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, + 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, + 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, + 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, + 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, + 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, + 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, + 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, + 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, + 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, + 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, + 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, + 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, + 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, + 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, + 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, + 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, + 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, + 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, + 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, + 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857, +}; +static const uint32_t Td2[256] = { + 0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, + 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, + 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, + 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, + 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, + 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, + 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, + 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, + 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, + 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, + 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, + 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, + 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, + 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, + 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, + 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, + 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, + 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, + 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, + 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, + 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, + 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, + 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, + 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, + 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, + 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, + 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, + 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, + 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, + 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, + 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, + 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, + 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, + 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, + 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, + 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, + 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, + 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, + 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, + 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, + 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, + 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, + 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, + 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, + 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, + 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, + 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, + 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, + 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, + 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, + 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, + 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, + 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, + 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, + 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, + 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, + 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, + 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, + 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, + 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, + 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, + 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, + 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, + 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8, +}; +static const uint32_t Td3[256] = { + 0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, + 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, + 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, + 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, + 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, + 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, + 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, + 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, + 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, + 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, + 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, + 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, + 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, + 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, + 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, + 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, + 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, + 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, + 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, + 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, + 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, + 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, + 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, + 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, + 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, + 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, + 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, + 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, + 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, + 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, + 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, + 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, + 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, + 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, + 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, + 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, + 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, + 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, + 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, + 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, + 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, + 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, + 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, + 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, + 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, + 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, + 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, + 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, + 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, + 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, + 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, + 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, + 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, + 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, + 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, + 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, + 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, + 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, + 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, + 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, + 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, + 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, + 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, + 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0, +}; +static const uint32_t Td4[256] = { + 0x52525252, 0x09090909, 0x6a6a6a6a, 0xd5d5d5d5, + 0x30303030, 0x36363636, 0xa5a5a5a5, 0x38383838, + 0xbfbfbfbf, 0x40404040, 0xa3a3a3a3, 0x9e9e9e9e, + 0x81818181, 0xf3f3f3f3, 0xd7d7d7d7, 0xfbfbfbfb, + 0x7c7c7c7c, 0xe3e3e3e3, 0x39393939, 0x82828282, + 0x9b9b9b9b, 0x2f2f2f2f, 0xffffffff, 0x87878787, + 0x34343434, 0x8e8e8e8e, 0x43434343, 0x44444444, + 0xc4c4c4c4, 0xdededede, 0xe9e9e9e9, 0xcbcbcbcb, + 0x54545454, 0x7b7b7b7b, 0x94949494, 0x32323232, + 0xa6a6a6a6, 0xc2c2c2c2, 0x23232323, 0x3d3d3d3d, + 0xeeeeeeee, 0x4c4c4c4c, 0x95959595, 0x0b0b0b0b, + 0x42424242, 0xfafafafa, 0xc3c3c3c3, 0x4e4e4e4e, + 0x08080808, 0x2e2e2e2e, 0xa1a1a1a1, 0x66666666, + 0x28282828, 0xd9d9d9d9, 0x24242424, 0xb2b2b2b2, + 0x76767676, 0x5b5b5b5b, 0xa2a2a2a2, 0x49494949, + 0x6d6d6d6d, 0x8b8b8b8b, 0xd1d1d1d1, 0x25252525, + 0x72727272, 0xf8f8f8f8, 0xf6f6f6f6, 0x64646464, + 0x86868686, 0x68686868, 0x98989898, 0x16161616, + 0xd4d4d4d4, 0xa4a4a4a4, 0x5c5c5c5c, 0xcccccccc, + 0x5d5d5d5d, 0x65656565, 0xb6b6b6b6, 0x92929292, + 0x6c6c6c6c, 0x70707070, 0x48484848, 0x50505050, + 0xfdfdfdfd, 0xedededed, 0xb9b9b9b9, 0xdadadada, + 0x5e5e5e5e, 0x15151515, 0x46464646, 0x57575757, + 0xa7a7a7a7, 0x8d8d8d8d, 0x9d9d9d9d, 0x84848484, + 0x90909090, 0xd8d8d8d8, 0xabababab, 0x00000000, + 0x8c8c8c8c, 0xbcbcbcbc, 0xd3d3d3d3, 0x0a0a0a0a, + 0xf7f7f7f7, 0xe4e4e4e4, 0x58585858, 0x05050505, + 0xb8b8b8b8, 0xb3b3b3b3, 0x45454545, 0x06060606, + 0xd0d0d0d0, 0x2c2c2c2c, 0x1e1e1e1e, 0x8f8f8f8f, + 0xcacacaca, 0x3f3f3f3f, 0x0f0f0f0f, 0x02020202, + 0xc1c1c1c1, 0xafafafaf, 0xbdbdbdbd, 0x03030303, + 0x01010101, 0x13131313, 0x8a8a8a8a, 0x6b6b6b6b, + 0x3a3a3a3a, 0x91919191, 0x11111111, 0x41414141, + 0x4f4f4f4f, 0x67676767, 0xdcdcdcdc, 0xeaeaeaea, + 0x97979797, 0xf2f2f2f2, 0xcfcfcfcf, 0xcececece, + 0xf0f0f0f0, 0xb4b4b4b4, 0xe6e6e6e6, 0x73737373, + 0x96969696, 0xacacacac, 0x74747474, 0x22222222, + 0xe7e7e7e7, 0xadadadad, 0x35353535, 0x85858585, + 0xe2e2e2e2, 0xf9f9f9f9, 0x37373737, 0xe8e8e8e8, + 0x1c1c1c1c, 0x75757575, 0xdfdfdfdf, 0x6e6e6e6e, + 0x47474747, 0xf1f1f1f1, 0x1a1a1a1a, 0x71717171, + 0x1d1d1d1d, 0x29292929, 0xc5c5c5c5, 0x89898989, + 0x6f6f6f6f, 0xb7b7b7b7, 0x62626262, 0x0e0e0e0e, + 0xaaaaaaaa, 0x18181818, 0xbebebebe, 0x1b1b1b1b, + 0xfcfcfcfc, 0x56565656, 0x3e3e3e3e, 0x4b4b4b4b, + 0xc6c6c6c6, 0xd2d2d2d2, 0x79797979, 0x20202020, + 0x9a9a9a9a, 0xdbdbdbdb, 0xc0c0c0c0, 0xfefefefe, + 0x78787878, 0xcdcdcdcd, 0x5a5a5a5a, 0xf4f4f4f4, + 0x1f1f1f1f, 0xdddddddd, 0xa8a8a8a8, 0x33333333, + 0x88888888, 0x07070707, 0xc7c7c7c7, 0x31313131, + 0xb1b1b1b1, 0x12121212, 0x10101010, 0x59595959, + 0x27272727, 0x80808080, 0xecececec, 0x5f5f5f5f, + 0x60606060, 0x51515151, 0x7f7f7f7f, 0xa9a9a9a9, + 0x19191919, 0xb5b5b5b5, 0x4a4a4a4a, 0x0d0d0d0d, + 0x2d2d2d2d, 0xe5e5e5e5, 0x7a7a7a7a, 0x9f9f9f9f, + 0x93939393, 0xc9c9c9c9, 0x9c9c9c9c, 0xefefefef, + 0xa0a0a0a0, 0xe0e0e0e0, 0x3b3b3b3b, 0x4d4d4d4d, + 0xaeaeaeae, 0x2a2a2a2a, 0xf5f5f5f5, 0xb0b0b0b0, + 0xc8c8c8c8, 0xebebebeb, 0xbbbbbbbb, 0x3c3c3c3c, + 0x83838383, 0x53535353, 0x99999999, 0x61616161, + 0x17171717, 0x2b2b2b2b, 0x04040404, 0x7e7e7e7e, + 0xbabababa, 0x77777777, 0xd6d6d6d6, 0x26262626, + 0xe1e1e1e1, 0x69696969, 0x14141414, 0x63636363, + 0x55555555, 0x21212121, 0x0c0c0c0c, 0x7d7d7d7d, +}; +static const uint32_t rcon[] = { + 0x01000000, 0x02000000, 0x04000000, 0x08000000, + 0x10000000, 0x20000000, 0x40000000, 0x80000000, + 0x1B000000, 0x36000000 + /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */ +}; + +#define GETU32(pt) (((uint32_t)((pt)[0] & 0xFF) << 24) ^ \ + ((uint32_t)((pt)[1] & 0xFF) << 16) ^ \ + ((uint32_t)((pt)[2] & 0xFF) << 8) ^ \ + ((uint32_t)((pt)[3] & 0xFF))) +#define PUTU32(ct, st) { \ + (ct)[0] = (char)((st) >> 24); \ + (ct)[1] = (char)((st) >> 16); \ + (ct)[2] = (char)((st) >> 8); \ + (ct)[3] = (char)(st); } + +/** + * Expand the cipher key into the encryption key schedule. + * + * @return the number of rounds for the given cipher key size. + */ +int +rijndaelKeySetupEnc (uint32_t rk[ /*4*(Nr + 1) */ ], + const char cipherKey[], size_t keyBits) +{ + size_t i = 0; + uint32_t temp; + + rk[0] = GETU32 (cipherKey); + rk[1] = GETU32 (cipherKey + 4); + rk[2] = GETU32 (cipherKey + 8); + rk[3] = GETU32 (cipherKey + 12); + if (keyBits == 128) + { + for (;;) + { + temp = rk[3]; + rk[4] = rk[0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24)] & 0x000000ff) ^ rcon[i]; + rk[5] = rk[1] ^ rk[4]; + rk[6] = rk[2] ^ rk[5]; + rk[7] = rk[3] ^ rk[6]; + if (++i == 10) + { + return 10; + } + rk += 4; + } + } + rk[4] = GETU32 (cipherKey + 16); + rk[5] = GETU32 (cipherKey + 20); + if (keyBits == 192) + { + for (;;) + { + temp = rk[5]; + rk[6] = rk[0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24)] & 0x000000ff) ^ rcon[i]; + rk[7] = rk[1] ^ rk[6]; + rk[8] = rk[2] ^ rk[7]; + rk[9] = rk[3] ^ rk[8]; + if (++i == 8) + { + return 12; + } + rk[10] = rk[4] ^ rk[9]; + rk[11] = rk[5] ^ rk[10]; + rk += 6; + } + } + rk[6] = GETU32 (cipherKey + 24); + rk[7] = GETU32 (cipherKey + 28); + if (keyBits == 256) + { + for (;;) + { + temp = rk[7]; + rk[8] = rk[0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24)] & 0x000000ff) ^ rcon[i]; + rk[9] = rk[1] ^ rk[8]; + rk[10] = rk[2] ^ rk[9]; + rk[11] = rk[3] ^ rk[10]; + if (++i == 7) + { + return 14; + } + temp = rk[11]; + rk[12] = rk[4] ^ + (Te4[(temp >> 24)] & 0xff000000) ^ + (Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(temp) & 0xff] & 0x000000ff); + rk[13] = rk[5] ^ rk[12]; + rk[14] = rk[6] ^ rk[13]; + rk[15] = rk[7] ^ rk[14]; + + rk += 8; + } + } + return 0; +} + +/** + * Expand the cipher key into the decryption key schedule. + * + * @return the number of rounds for the given cipher key size. + */ +int +rijndaelKeySetupDec (uint32_t rk[ /*4*(Nr + 1) */ ], + const char cipherKey[], size_t keyBits) +{ + size_t Nr, i, j; + uint32_t temp; + + /* expand the cipher key: */ + Nr = rijndaelKeySetupEnc (rk, cipherKey, keyBits); + /* invert the order of the round keys: */ + for (i = 0, j = 4 * Nr; i < j; i += 4, j -= 4) + { + temp = rk[i]; + rk[i] = rk[j]; + rk[j] = temp; + temp = rk[i + 1]; + rk[i + 1] = rk[j + 1]; + rk[j + 1] = temp; + temp = rk[i + 2]; + rk[i + 2] = rk[j + 2]; + rk[j + 2] = temp; + temp = rk[i + 3]; + rk[i + 3] = rk[j + 3]; + rk[j + 3] = temp; + } + /* apply the inverse MixColumn transform to all round keys but the + first and the last: */ + for (i = 1; i < Nr; i++) + { + rk += 4; + rk[0] = + Td0[Te4[(rk[0] >> 24)] & 0xff] ^ + Td1[Te4[(rk[0] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[0] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[0]) & 0xff] & 0xff]; + rk[1] = + Td0[Te4[(rk[1] >> 24)] & 0xff] ^ + Td1[Te4[(rk[1] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[1] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[1]) & 0xff] & 0xff]; + rk[2] = + Td0[Te4[(rk[2] >> 24)] & 0xff] ^ + Td1[Te4[(rk[2] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[2] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[2]) & 0xff] & 0xff]; + rk[3] = + Td0[Te4[(rk[3] >> 24)] & 0xff] ^ + Td1[Te4[(rk[3] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[3] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[3]) & 0xff] & 0xff]; + } + return Nr; +} + +void +rijndaelEncrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t Nr, + const char pt[16], char ct[16]) +{ + uint32_t s0, s1, s2, s3, t0, t1, t2, t3; + size_t r; + + /* + * map byte array block to cipher state + * and add initial round key: + */ + s0 = GETU32 (pt) ^ rk[0]; + s1 = GETU32 (pt + 4) ^ rk[1]; + s2 = GETU32 (pt + 8) ^ rk[2]; + s3 = GETU32 (pt + 12) ^ rk[3]; + /* + * Nr - 1 full rounds: + */ + r = Nr >> 1; + for (;;) + { + t0 = + Te0[(s0 >> 24)] ^ + Te1[(s1 >> 16) & 0xff] ^ + Te2[(s2 >> 8) & 0xff] ^ Te3[(s3) & 0xff] ^ rk[4]; + t1 = + Te0[(s1 >> 24)] ^ + Te1[(s2 >> 16) & 0xff] ^ + Te2[(s3 >> 8) & 0xff] ^ Te3[(s0) & 0xff] ^ rk[5]; + t2 = + Te0[(s2 >> 24)] ^ + Te1[(s3 >> 16) & 0xff] ^ + Te2[(s0 >> 8) & 0xff] ^ Te3[(s1) & 0xff] ^ rk[6]; + t3 = + Te0[(s3 >> 24)] ^ + Te1[(s0 >> 16) & 0xff] ^ + Te2[(s1 >> 8) & 0xff] ^ Te3[(s2) & 0xff] ^ rk[7]; + + rk += 8; + if (--r == 0) + { + break; + } + + s0 = + Te0[(t0 >> 24)] ^ + Te1[(t1 >> 16) & 0xff] ^ + Te2[(t2 >> 8) & 0xff] ^ Te3[(t3) & 0xff] ^ rk[0]; + s1 = + Te0[(t1 >> 24)] ^ + Te1[(t2 >> 16) & 0xff] ^ + Te2[(t3 >> 8) & 0xff] ^ Te3[(t0) & 0xff] ^ rk[1]; + s2 = + Te0[(t2 >> 24)] ^ + Te1[(t3 >> 16) & 0xff] ^ + Te2[(t0 >> 8) & 0xff] ^ Te3[(t1) & 0xff] ^ rk[2]; + s3 = + Te0[(t3 >> 24)] ^ + Te1[(t0 >> 16) & 0xff] ^ + Te2[(t1 >> 8) & 0xff] ^ Te3[(t2) & 0xff] ^ rk[3]; + } + /* + * apply last round and + * map cipher state to byte array block: + */ + s0 = + (Te4[(t0 >> 24)] & 0xff000000) ^ + (Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t3) & 0xff] & 0x000000ff) ^ rk[0]; + PUTU32 (ct, s0); + s1 = + (Te4[(t1 >> 24)] & 0xff000000) ^ + (Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t0) & 0xff] & 0x000000ff) ^ rk[1]; + PUTU32 (ct + 4, s1); + s2 = + (Te4[(t2 >> 24)] & 0xff000000) ^ + (Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t1) & 0xff] & 0x000000ff) ^ rk[2]; + PUTU32 (ct + 8, s2); + s3 = + (Te4[(t3 >> 24)] & 0xff000000) ^ + (Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t2) & 0xff] & 0x000000ff) ^ rk[3]; + PUTU32 (ct + 12, s3); +} + +void +rijndaelDecrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t Nr, + const char ct[16], char pt[16]) +{ + uint32_t s0, s1, s2, s3, t0, t1, t2, t3; + size_t r; + + /* + * map byte array block to cipher state + * and add initial round key: + */ + s0 = GETU32 (ct) ^ rk[0]; + s1 = GETU32 (ct + 4) ^ rk[1]; + s2 = GETU32 (ct + 8) ^ rk[2]; + s3 = GETU32 (ct + 12) ^ rk[3]; + /* + * Nr - 1 full rounds: + */ + r = Nr >> 1; + for (;;) + { + t0 = + Td0[(s0 >> 24)] ^ + Td1[(s3 >> 16) & 0xff] ^ + Td2[(s2 >> 8) & 0xff] ^ Td3[(s1) & 0xff] ^ rk[4]; + t1 = + Td0[(s1 >> 24)] ^ + Td1[(s0 >> 16) & 0xff] ^ + Td2[(s3 >> 8) & 0xff] ^ Td3[(s2) & 0xff] ^ rk[5]; + t2 = + Td0[(s2 >> 24)] ^ + Td1[(s1 >> 16) & 0xff] ^ + Td2[(s0 >> 8) & 0xff] ^ Td3[(s3) & 0xff] ^ rk[6]; + t3 = + Td0[(s3 >> 24)] ^ + Td1[(s2 >> 16) & 0xff] ^ + Td2[(s1 >> 8) & 0xff] ^ Td3[(s0) & 0xff] ^ rk[7]; + + rk += 8; + if (--r == 0) + { + break; + } + + s0 = + Td0[(t0 >> 24)] ^ + Td1[(t3 >> 16) & 0xff] ^ + Td2[(t2 >> 8) & 0xff] ^ Td3[(t1) & 0xff] ^ rk[0]; + s1 = + Td0[(t1 >> 24)] ^ + Td1[(t0 >> 16) & 0xff] ^ + Td2[(t3 >> 8) & 0xff] ^ Td3[(t2) & 0xff] ^ rk[1]; + s2 = + Td0[(t2 >> 24)] ^ + Td1[(t1 >> 16) & 0xff] ^ + Td2[(t0 >> 8) & 0xff] ^ Td3[(t3) & 0xff] ^ rk[2]; + s3 = + Td0[(t3 >> 24)] ^ + Td1[(t2 >> 16) & 0xff] ^ + Td2[(t1 >> 8) & 0xff] ^ Td3[(t0) & 0xff] ^ rk[3]; + } + /* + * apply last round and + * map cipher state to byte array block: + */ + s0 = + (Td4[(t0 >> 24)] & 0xff000000) ^ + (Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t1) & 0xff] & 0x000000ff) ^ rk[0]; + PUTU32 (pt, s0); + s1 = + (Td4[(t1 >> 24)] & 0xff000000) ^ + (Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t2) & 0xff] & 0x000000ff) ^ rk[1]; + PUTU32 (pt + 4, s1); + s2 = + (Td4[(t2 >> 24)] & 0xff000000) ^ + (Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t3) & 0xff] & 0x000000ff) ^ rk[2]; + PUTU32 (pt + 8, s2); + s3 = + (Td4[(t3 >> 24)] & 0xff000000) ^ + (Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t0) & 0xff] & 0x000000ff) ^ rk[3]; + PUTU32 (pt + 12, s3); +} diff -Nru gnutls26-2.8.6/lgl/rijndael-alg-fst.h gnutls26-2.4.1/lgl/rijndael-alg-fst.h --- gnutls26-2.8.6/lgl/rijndael-alg-fst.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/rijndael-alg-fst.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,67 @@ +/* rijndael-alg-fst.h --- Rijndael cipher implementation. + * Copyright (C) 2005 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson. */ + +/** + * rijndael-alg-fst.h + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef __RIJNDAEL_ALG_FST_H +#define __RIJNDAEL_ALG_FST_H + +#include +#include + +#define RIJNDAEL_MAXKC (256/32) +#define RIJNDAEL_MAXKB (256/8) +#define RIJNDAEL_MAXNR 14 + +int rijndaelKeySetupEnc (uint32_t rk[ /*4*(Nr + 1) */ ], + const char cipherKey[], size_t keyBits); +int rijndaelKeySetupDec (uint32_t rk[ /*4*(Nr + 1) */ ], + const char cipherKey[], size_t keyBits); +void rijndaelEncrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t Nr, + const char pt[16], char ct[16]); +void rijndaelDecrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t Nr, + const char ct[16], char pt[16]); + +#endif /* __RIJNDAEL_ALG_FST_H */ diff -Nru gnutls26-2.8.6/lgl/rijndael-api-fst.c gnutls26-2.4.1/lgl/rijndael-api-fst.c --- gnutls26-2.8.6/lgl/rijndael-api-fst.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/rijndael-api-fst.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,521 @@ +/* rijndael-api-fst.c --- Rijndael cipher implementation. + * Copyright (C) 2005, 2006 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson. + * + * Based on public domain "Optimised C code" retrieved from (SHA1 + * 7c8e4b00d06685d1dbc6724a9e0d502353de339e): + * http://www.iaik.tu-graz.ac.at/research/krypto/AES/old/~rijmen/rijndael/rijndael-fst-3.0.zip + */ + +#include + +/** + * rijndael-api-fst.c + * + * @version 2.9 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Acknowledgements: + * + * We are deeply indebted to the following people for their bug reports, + * fixes, and improvement suggestions to this implementation. Though we + * tried to list all contributions, we apologise in advance for any + * missing reference. + * + * Andrew Bales + * Markus Friedl + * John Skodon + */ + +#include "rijndael-alg-fst.h" +#include "rijndael-api-fst.h" + +#include +#include +#include + +rijndael_rc +rijndaelMakeKey (rijndaelKeyInstance *key, rijndael_direction direction, + size_t keyLen, const char *keyMaterial) +{ + size_t i; + char *keyMat; + char cipherKey[RIJNDAEL_MAXKB]; + + if (key == NULL) + { + return RIJNDAEL_BAD_KEY_INSTANCE; + } + + if ((direction == RIJNDAEL_DIR_ENCRYPT) + || (direction == RIJNDAEL_DIR_DECRYPT)) + { + key->direction = direction; + } + else + { + return RIJNDAEL_BAD_KEY_DIR; + } + + if ((keyLen == 128) || (keyLen == 192) || (keyLen == 256)) + { + key->keyLen = keyLen; + } + else + { + return RIJNDAEL_BAD_KEY_MAT; + } + + if (keyMaterial != NULL) + { + strncpy (key->keyMaterial, keyMaterial, keyLen / 4); + } + + /* initialize key schedule: */ + keyMat = key->keyMaterial; + for (i = 0; i < key->keyLen / 8; i++) + { + char t, v; + + t = *keyMat++; + if ((t >= '0') && (t <= '9')) + v = (t - '0') << 4; + else if ((t >= 'a') && (t <= 'f')) + v = (t - 'a' + 10) << 4; + else if ((t >= 'A') && (t <= 'F')) + v = (t - 'A' + 10) << 4; + else + return RIJNDAEL_BAD_KEY_MAT; + + t = *keyMat++; + if ((t >= '0') && (t <= '9')) + v ^= (t - '0'); + else if ((t >= 'a') && (t <= 'f')) + v ^= (t - 'a' + 10); + else if ((t >= 'A') && (t <= 'F')) + v ^= (t - 'A' + 10); + else + return RIJNDAEL_BAD_KEY_MAT; + + cipherKey[i] = v; + } + if (direction == RIJNDAEL_DIR_ENCRYPT) + { + key->Nr = rijndaelKeySetupEnc (key->rk, cipherKey, keyLen); + } + else + { + key->Nr = rijndaelKeySetupDec (key->rk, cipherKey, keyLen); + } + rijndaelKeySetupEnc (key->ek, cipherKey, keyLen); + return 0; +} + +rijndael_rc +rijndaelCipherInit (rijndaelCipherInstance *cipher, rijndael_mode mode, + const char *IV) +{ + if ((mode == RIJNDAEL_MODE_ECB) || (mode == RIJNDAEL_MODE_CBC) + || (mode == RIJNDAEL_MODE_CFB1)) + { + cipher->mode = mode; + } + else + { + return RIJNDAEL_BAD_CIPHER_MODE; + } + if (IV != NULL) + { + int i; + for (i = 0; i < RIJNDAEL_MAX_IV_SIZE; i++) + { + int t, j; + + t = IV[2 * i]; + if ((t >= '0') && (t <= '9')) + j = (t - '0') << 4; + else if ((t >= 'a') && (t <= 'f')) + j = (t - 'a' + 10) << 4; + else if ((t >= 'A') && (t <= 'F')) + j = (t - 'A' + 10) << 4; + else + return RIJNDAEL_BAD_CIPHER_INSTANCE; + + t = IV[2 * i + 1]; + if ((t >= '0') && (t <= '9')) + j ^= (t - '0'); + else if ((t >= 'a') && (t <= 'f')) + j ^= (t - 'a' + 10); + else if ((t >= 'A') && (t <= 'F')) + j ^= (t - 'A' + 10); + else + return RIJNDAEL_BAD_CIPHER_INSTANCE; + + cipher->IV[i] = (uint8_t) j; + } + } + else + { + memset (cipher->IV, 0, RIJNDAEL_MAX_IV_SIZE); + } + return 0; +} + +int +rijndaelBlockEncrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, + size_t inputLen, char *outBuffer) +{ + size_t i, k, t, numBlocks; + char block[16], *iv; + + if (cipher == NULL || key == NULL || key->direction == RIJNDAEL_DIR_DECRYPT) + { + return RIJNDAEL_BAD_CIPHER_STATE; + } + if (input == NULL || inputLen <= 0) + { + return 0; /* nothing to do */ + } + + numBlocks = inputLen / 128; + + switch (cipher->mode) + { + case RIJNDAEL_MODE_ECB: + for (i = numBlocks; i > 0; i--) + { + rijndaelEncrypt (key->rk, key->Nr, input, outBuffer); + input += 16; + outBuffer += 16; + } + break; + + case RIJNDAEL_MODE_CBC: + iv = cipher->IV; + for (i = numBlocks; i > 0; i--) + { + ((uint32_t *) block)[0] = ((uint32_t *) input)[0] ^ + ((uint32_t *) iv)[0]; + ((uint32_t *) block)[1] = ((uint32_t *) input)[1] ^ + ((uint32_t *) iv)[1]; + ((uint32_t *) block)[2] = ((uint32_t *) input)[2] ^ + ((uint32_t *) iv)[2]; + ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ + ((uint32_t *) iv)[3]; + rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + memcpy (cipher->IV, outBuffer, 16); + input += 16; + outBuffer += 16; + } + break; + + case RIJNDAEL_MODE_CFB1: + iv = cipher->IV; + for (i = numBlocks; i > 0; i--) + { + memcpy (outBuffer, input, 16); + for (k = 0; k < 128; k++) + { + rijndaelEncrypt (key->ek, key->Nr, iv, block); + outBuffer[k >> 3] ^= (block[0] & 0x80U) >> (k & 7); + for (t = 0; t < 15; t++) + { + iv[t] = (iv[t] << 1) | (iv[t + 1] >> 7); + } + iv[15] = (iv[15] << 1) | + ((outBuffer[k >> 3] >> (7 - (k & 7))) & 1); + } + outBuffer += 16; + input += 16; + } + break; + + default: + return RIJNDAEL_BAD_CIPHER_STATE; + } + + return 128 * numBlocks; +} + +int +rijndaelPadEncrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, + size_t inputOctets, char *outBuffer) +{ + size_t i, numBlocks, padLen; + char block[16], *iv; + + if (cipher == NULL || key == NULL || key->direction == RIJNDAEL_DIR_DECRYPT) + { + return RIJNDAEL_BAD_CIPHER_STATE; + } + if (input == NULL || inputOctets <= 0) + { + return 0; /* nothing to do */ + } + + numBlocks = inputOctets / 16; + + switch (cipher->mode) + { + case RIJNDAEL_MODE_ECB: + for (i = numBlocks; i > 0; i--) + { + rijndaelEncrypt (key->rk, key->Nr, input, outBuffer); + input += 16; + outBuffer += 16; + } + padLen = 16 - (inputOctets - 16 * numBlocks); + assert (padLen > 0 && padLen <= 16); + memcpy (block, input, 16 - padLen); + memset (block + 16 - padLen, padLen, padLen); + rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + break; + + case RIJNDAEL_MODE_CBC: + iv = cipher->IV; + for (i = numBlocks; i > 0; i--) + { + ((uint32_t *) block)[0] = ((uint32_t *) input)[0] ^ + ((uint32_t *) iv)[0]; + ((uint32_t *) block)[1] = ((uint32_t *) input)[1] ^ + ((uint32_t *) iv)[1]; + ((uint32_t *) block)[2] = ((uint32_t *) input)[2] ^ + ((uint32_t *) iv)[2]; + ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ + ((uint32_t *) iv)[3]; + rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + memcpy (cipher->IV, outBuffer, 16); + input += 16; + outBuffer += 16; + } + padLen = 16 - (inputOctets - 16 * numBlocks); + assert (padLen > 0 && padLen <= 16); + for (i = 0; i < 16 - padLen; i++) + { + block[i] = input[i] ^ iv[i]; + } + for (i = 16 - padLen; i < 16; i++) + { + block[i] = (char) padLen ^ iv[i]; + } + rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + memcpy (cipher->IV, outBuffer, 16); + break; + + default: + return RIJNDAEL_BAD_CIPHER_STATE; + } + + return 16 * (numBlocks + 1); +} + +int +rijndaelBlockDecrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, + size_t inputLen, char *outBuffer) +{ + size_t i, k, t, numBlocks; + char block[16], *iv; + + if (cipher == NULL + || key == NULL + || (cipher->mode != RIJNDAEL_MODE_CFB1 + && key->direction == RIJNDAEL_DIR_ENCRYPT)) + { + return RIJNDAEL_BAD_CIPHER_STATE; + } + if (input == NULL || inputLen <= 0) + { + return 0; /* nothing to do */ + } + + numBlocks = inputLen / 128; + + switch (cipher->mode) + { + case RIJNDAEL_MODE_ECB: + for (i = numBlocks; i > 0; i--) + { + rijndaelDecrypt (key->rk, key->Nr, input, outBuffer); + input += 16; + outBuffer += 16; + } + break; + + case RIJNDAEL_MODE_CBC: + iv = cipher->IV; + for (i = numBlocks; i > 0; i--) + { + rijndaelDecrypt (key->rk, key->Nr, input, block); + ((uint32_t *) block)[0] ^= ((uint32_t *) iv)[0]; + ((uint32_t *) block)[1] ^= ((uint32_t *) iv)[1]; + ((uint32_t *) block)[2] ^= ((uint32_t *) iv)[2]; + ((uint32_t *) block)[3] ^= ((uint32_t *) iv)[3]; + memcpy (cipher->IV, input, 16); + memcpy (outBuffer, block, 16); + input += 16; + outBuffer += 16; + } + break; + + case RIJNDAEL_MODE_CFB1: + iv = cipher->IV; + for (i = numBlocks; i > 0; i--) + { + memcpy (outBuffer, input, 16); + for (k = 0; k < 128; k++) + { + rijndaelEncrypt (key->ek, key->Nr, iv, block); + for (t = 0; t < 15; t++) + { + iv[t] = (iv[t] << 1) | (iv[t + 1] >> 7); + } + iv[15] = (iv[15] << 1) | ((input[k >> 3] >> (7 - (k & 7))) & 1); + outBuffer[k >> 3] ^= (block[0] & 0x80U) >> (k & 7); + } + outBuffer += 16; + input += 16; + } + break; + + default: + return RIJNDAEL_BAD_CIPHER_STATE; + } + + return 128 * numBlocks; +} + +int +rijndaelPadDecrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, + size_t inputOctets, char *outBuffer) +{ + size_t i, numBlocks, padLen; + char block[16]; + + if (cipher == NULL || key == NULL || key->direction == RIJNDAEL_DIR_ENCRYPT) + { + return RIJNDAEL_BAD_CIPHER_STATE; + } + if (input == NULL || inputOctets <= 0) + { + return 0; /* nothing to do */ + } + if (inputOctets % 16 != 0) + { + return RIJNDAEL_BAD_DATA; + } + + numBlocks = inputOctets / 16; + + switch (cipher->mode) + { + case RIJNDAEL_MODE_ECB: + /* all blocks but last */ + for (i = numBlocks - 1; i > 0; i--) + { + rijndaelDecrypt (key->rk, key->Nr, input, outBuffer); + input += 16; + outBuffer += 16; + } + /* last block */ + rijndaelDecrypt (key->rk, key->Nr, input, block); + padLen = block[15]; + if (padLen >= 16) + { + return RIJNDAEL_BAD_DATA; + } + for (i = 16 - padLen; i < 16; i++) + { + if (block[i] != padLen) + { + return RIJNDAEL_BAD_DATA; + } + } + memcpy (outBuffer, block, 16 - padLen); + break; + + case RIJNDAEL_MODE_CBC: + /* all blocks but last */ + for (i = numBlocks - 1; i > 0; i--) + { + rijndaelDecrypt (key->rk, key->Nr, input, block); + ((uint32_t *) block)[0] ^= ((uint32_t *) cipher->IV)[0]; + ((uint32_t *) block)[1] ^= ((uint32_t *) cipher->IV)[1]; + ((uint32_t *) block)[2] ^= ((uint32_t *) cipher->IV)[2]; + ((uint32_t *) block)[3] ^= ((uint32_t *) cipher->IV)[3]; + memcpy (cipher->IV, input, 16); + memcpy (outBuffer, block, 16); + input += 16; + outBuffer += 16; + } + /* last block */ + rijndaelDecrypt (key->rk, key->Nr, input, block); + ((uint32_t *) block)[0] ^= ((uint32_t *) cipher->IV)[0]; + ((uint32_t *) block)[1] ^= ((uint32_t *) cipher->IV)[1]; + ((uint32_t *) block)[2] ^= ((uint32_t *) cipher->IV)[2]; + ((uint32_t *) block)[3] ^= ((uint32_t *) cipher->IV)[3]; + padLen = block[15]; + if (padLen <= 0 || padLen > 16) + { + return RIJNDAEL_BAD_DATA; + } + for (i = 16 - padLen; i < 16; i++) + { + if (block[i] != padLen) + { + return RIJNDAEL_BAD_DATA; + } + } + memcpy (outBuffer, block, 16 - padLen); + break; + + default: + return RIJNDAEL_BAD_CIPHER_STATE; + } + + return 16 * numBlocks - padLen; +} diff -Nru gnutls26-2.8.6/lgl/rijndael-api-fst.h gnutls26-2.4.1/lgl/rijndael-api-fst.h --- gnutls26-2.8.6/lgl/rijndael-api-fst.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/rijndael-api-fst.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,207 @@ +/* rijndael-api-fst.h --- Rijndael cipher implementation. + * Copyright (C) 2005 Free Software Foundation, Inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1, or (at your + * option) any later version. + * + * This file 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 Lesser General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + */ + +/* Adapted for gnulib by Simon Josefsson. */ + +/** + * rijndael-api-fst.h + * + * @version 2.9 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Acknowledgements: + * + * We are deeply indebted to the following people for their bug reports, + * fixes, and improvement suggestions to this implementation. Though we + * tried to list all contributions, we apologise in advance for any + * missing reference. + * + * Andrew Bales + * Markus Friedl + * John Skodon + */ + +#ifndef __RIJNDAEL_API_FST_H +#define __RIJNDAEL_API_FST_H + +#include "rijndael-alg-fst.h" + +#include + +/* Default number of bits in a cipher block */ +#define RIJNDAEL_BITSPERBLOCK 128 + +/* Number of ASCII char's needed to represent a key */ +#define RIJNDAEL_MAX_KEY_SIZE 64 + +/* Number bytes needed to represent an IV */ +#define RIJNDAEL_MAX_IV_SIZE 16 + +typedef enum +{ + /* Key direction is invalid, e.g., unknown value */ + RIJNDAEL_BAD_KEY_DIR = -1, + /* Key material not of correct length */ + RIJNDAEL_BAD_KEY_MAT = -2, + /* Key passed is not valid */ + RIJNDAEL_BAD_KEY_INSTANCE = -3, + /* Params struct passed to cipherInit invalid */ + RIJNDAEL_BAD_CIPHER_MODE = -4, + /* Cipher in wrong state (e.g., not initialized) */ + RIJNDAEL_BAD_CIPHER_STATE = -5, + RIJNDAEL_BAD_BLOCK_LENGTH = -6, + RIJNDAEL_BAD_CIPHER_INSTANCE = -7, + /* Data contents are invalid, e.g., invalid padding */ + RIJNDAEL_BAD_DATA = -8, + /* Unknown error */ + RIJNDAEL_BAD_OTHER = -9 +} rijndael_rc; + +typedef enum +{ + RIJNDAEL_DIR_ENCRYPT = 0, /* Are we encrypting? */ + RIJNDAEL_DIR_DECRYPT = 1 /* Are we decrypting? */ +} rijndael_direction; + +typedef enum +{ + RIJNDAEL_MODE_ECB = 1, /* Are we ciphering in ECB mode? */ + RIJNDAEL_MODE_CBC = 2, /* Are we ciphering in CBC mode? */ + RIJNDAEL_MODE_CFB1 = 3 /* Are we ciphering in 1-bit CFB mode? */ +} rijndael_mode; + +/* The structure for key information */ +typedef struct +{ + /* Key used for encrypting or decrypting? */ + rijndael_direction direction; + /* Length of the key */ + size_t keyLen; + /* Raw key data in ASCII, e.g., user input or KAT values */ + char keyMaterial[RIJNDAEL_MAX_KEY_SIZE + 1]; + /* key-length-dependent number of rounds */ + int Nr; + /* key schedule */ + uint32_t rk[4 * (RIJNDAEL_MAXNR + 1)]; + /* CFB1 key schedule (encryption only) */ + uint32_t ek[4 * (RIJNDAEL_MAXNR + 1)]; +} rijndaelKeyInstance; + +/* The structure for cipher information */ +typedef struct +{ /* changed order of the components */ + rijndael_mode mode; /* MODE_ECB, MODE_CBC, or MODE_CFB1 */ + /* A possible Initialization Vector for ciphering */ + char IV[RIJNDAEL_MAX_IV_SIZE]; +} rijndaelCipherInstance; + +/* Function prototypes */ + +/* Create KEY, for encryption or decryption depending on DIRECTION, + from KEYMATERIAL, a hex string, of KEYLEN size. KEYLEN should be + 128, 192 or 256. Returns 0 on success, or an error code. */ +extern rijndael_rc +rijndaelMakeKey (rijndaelKeyInstance *key, rijndael_direction direction, + size_t keyLen, const char *keyMaterial); + +/* Initialize cipher state CIPHER for encryption MODE (e.g., + RIJNDAEL_MODE_CBC) with initialization vector IV, a hex string of + 2*RIJNDAEL_MAX_IV_SIZE length. IV may be NULL for modes that do + not need an IV (i.e., RIJNDAEL_MODE_ECB). */ +extern rijndael_rc +rijndaelCipherInit (rijndaelCipherInstance *cipher, + rijndael_mode mode, const char *IV); + +/* Encrypt data in INPUT, of INPUTLEN/8 bytes length, placing the + output in the pre-allocated OUTBUFFER which must hold at least + INPUTLEN/8 bytes of data. The CIPHER is used as state, and must be + initialized with rijndaelCipherInit before calling this function. + The encryption KEY must be initialized with rijndaelMakeKey before + calling this function. Return the number of bits written, or a + negative rijndael_rc error code. */ +extern int +rijndaelBlockEncrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, size_t inputLen, + char *outBuffer); + +/* Encrypt data in INPUT, of INPUTOCTETS bytes length, placing the + output in the pre-allocated OUTBUFFER which must hold at least + INPUTOCTETS aligned to the next block size boundary. + Ciphertext-Stealing as described in RFC 2040 is used to encrypt + partial blocks. The CIPHER is used as state, and must be + initialized with rijndaelCipherInit before calling this function. + The encryption KEY must be initialized with rijndaelMakeKey before + calling this function. Return the number of bits written, or a + negative rijndael_rc error code. */ +extern int +rijndaelPadEncrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, size_t inputOctets, + char *outBuffer); + +/* Decrypt data in INPUT, of INPUTLEN/8 bytes length, placing the + output in the pre-allocated OUTBUFFER which must hold at least + INPUTLEN/8 bytes of data. The CIPHER is used as state, and must be + initialized with rijndaelCipherInit before calling this function. + The encryption KEY must be initialized with rijndaelMakeKey before + calling this function. Return the number of bits written, or a + negative rijndael_rc error code. */ +extern int +rijndaelBlockDecrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, size_t inputLen, + char *outBuffer); + +/* Decrypt data in INPUT, of INPUTOCTETS bytes length, placing the + output in the pre-allocated OUTBUFFER which must hold at least + INPUTOCTETS aligned to the next block size boundary. + Ciphertext-Stealing as described in RFC 2040 is used to encrypt + partial blocks. The CIPHER is used as state, and must be + initialized with rijndaelCipherInit before calling this function. + The encryption KEY must be initialized with rijndaelMakeKey before + calling this function. Return the number of bits written, or a + negative rijndael_rc error code. */ +extern int +rijndaelPadDecrypt (rijndaelCipherInstance *cipher, + const rijndaelKeyInstance *key, + const char *input, size_t inputOctets, + char *outBuffer); + +#endif /* __RIJNDAEL_API_FST_H */ diff -Nru gnutls26-2.8.6/lgl/sha1.c gnutls26-2.4.1/lgl/sha1.c --- gnutls26-2.8.6/lgl/sha1.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/sha1.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,420 @@ +/* sha1.c - Functions to compute SHA1 message digest of files or + memory blocks according to the NIST specification FIPS-180-1. + + Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2008 Free Software + Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Scott G. Miller + Credits: + Robert Klep -- Expansion function fix +*/ + +#include + +#include "sha1.h" + +#include +#include + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +#endif + +#ifdef WORDS_BIGENDIAN +# define SWAP(n) (n) +#else +# define SWAP(n) \ + (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) +#endif + +#define BLOCKSIZE 4096 +#if BLOCKSIZE % 64 != 0 +# error "invalid BLOCKSIZE" +#endif + +/* This array contains the bytes used to pad the buffer to the next + 64-byte boundary. (RFC 1321, 3.1: Step 1) */ +static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; + + +/* Take a pointer to a 160 bit block of data (five 32 bit ints) and + initialize it to the start constants of the SHA1 algorithm. This + must be called before using hash in the call to sha1_hash. */ +void +sha1_init_ctx (struct sha1_ctx *ctx) +{ + ctx->A = 0x67452301; + ctx->B = 0xefcdab89; + ctx->C = 0x98badcfe; + ctx->D = 0x10325476; + ctx->E = 0xc3d2e1f0; + + ctx->total[0] = ctx->total[1] = 0; + ctx->buflen = 0; +} + +/* Copy the 4 byte value from v into the memory location pointed to by *cp, + If your architecture allows unaligned access this is equivalent to + * (uint32_t *) cp = v */ +static inline void +set_uint32 (char *cp, uint32_t v) +{ + memcpy (cp, &v, sizeof v); +} + +/* Put result from CTX in first 20 bytes following RESBUF. The result + must be in little endian byte order. */ +void * +sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf) +{ + char *r = resbuf; + set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); + set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); + set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); + set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); + set_uint32 (r + 4 * sizeof ctx->E, SWAP (ctx->E)); + + return resbuf; +} + +/* Process the remaining bytes in the internal buffer and the usual + prolog according to the standard and write the result to RESBUF. */ +void * +sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf) +{ + /* Take yet unprocessed bytes into account. */ + uint32_t bytes = ctx->buflen; + size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; + + /* Now count remaining bytes. */ + ctx->total[0] += bytes; + if (ctx->total[0] < bytes) + ++ctx->total[1]; + + /* Put the 64-bit file length in *bits* at the end of the buffer. */ + ctx->buffer[size - 2] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); + ctx->buffer[size - 1] = SWAP (ctx->total[0] << 3); + + memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); + + /* Process last bytes. */ + sha1_process_block (ctx->buffer, size * 4, ctx); + + return sha1_read_ctx (ctx, resbuf); +} + +/* Compute SHA1 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 16 bytes + beginning at RESBLOCK. */ +int +sha1_stream (FILE *stream, void *resblock) +{ + struct sha1_ctx ctx; + char buffer[BLOCKSIZE + 72]; + size_t sum; + + /* Initialize the computation context. */ + sha1_init_ctx (&ctx); + + /* Iterate over full file contents. */ + while (1) + { + /* We read the file in blocks of BLOCKSIZE bytes. One call of the + computation function processes the whole buffer so that with the + next round of the loop another block can be read. */ + size_t n; + sum = 0; + + /* Read block. Take care for partial reads. */ + while (1) + { + n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); + + sum += n; + + if (sum == BLOCKSIZE) + break; + + if (n == 0) + { + /* Check for the error flag IFF N == 0, so that we don't + exit the loop after a partial read due to e.g., EAGAIN + or EWOULDBLOCK. */ + if (ferror (stream)) + return 1; + goto process_partial_block; + } + + /* We've read at least one byte, so ignore errors. But always + check for EOF, since feof may be true even though N > 0. + Otherwise, we could end up calling fread after EOF. */ + if (feof (stream)) + goto process_partial_block; + } + + /* Process buffer with BLOCKSIZE bytes. Note that + BLOCKSIZE % 64 == 0 + */ + sha1_process_block (buffer, BLOCKSIZE, &ctx); + } + + process_partial_block:; + + /* Process any remaining bytes. */ + if (sum > 0) + sha1_process_bytes (buffer, sum, &ctx); + + /* Construct result in desired memory. */ + sha1_finish_ctx (&ctx, resblock); + return 0; +} + +/* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +void * +sha1_buffer (const char *buffer, size_t len, void *resblock) +{ + struct sha1_ctx ctx; + + /* Initialize the computation context. */ + sha1_init_ctx (&ctx); + + /* Process whole buffer but last len % 64 bytes. */ + sha1_process_bytes (buffer, len, &ctx); + + /* Put result in desired memory area. */ + return sha1_finish_ctx (&ctx, resblock); +} + +void +sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx) +{ + /* When we already have some bits in our internal buffer concatenate + both inputs first. */ + if (ctx->buflen != 0) + { + size_t left_over = ctx->buflen; + size_t add = 128 - left_over > len ? len : 128 - left_over; + + memcpy (&((char *) ctx->buffer)[left_over], buffer, add); + ctx->buflen += add; + + if (ctx->buflen > 64) + { + sha1_process_block (ctx->buffer, ctx->buflen & ~63, ctx); + + ctx->buflen &= 63; + /* The regions in the following copy operation cannot overlap. */ + memcpy (ctx->buffer, + &((char *) ctx->buffer)[(left_over + add) & ~63], + ctx->buflen); + } + + buffer = (const char *) buffer + add; + len -= add; + } + + /* Process available complete blocks. */ + if (len >= 64) + { +#if !_STRING_ARCH_unaligned +# define alignof(type) offsetof (struct { char c; type x; }, x) +# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) + if (UNALIGNED_P (buffer)) + while (len > 64) + { + sha1_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); + buffer = (const char *) buffer + 64; + len -= 64; + } + else +#endif + { + sha1_process_block (buffer, len & ~63, ctx); + buffer = (const char *) buffer + (len & ~63); + len &= 63; + } + } + + /* Move remaining bytes in internal buffer. */ + if (len > 0) + { + size_t left_over = ctx->buflen; + + memcpy (&((char *) ctx->buffer)[left_over], buffer, len); + left_over += len; + if (left_over >= 64) + { + sha1_process_block (ctx->buffer, 64, ctx); + left_over -= 64; + memcpy (ctx->buffer, &ctx->buffer[16], left_over); + } + ctx->buflen = left_over; + } +} + +/* --- Code below is the primary difference between md5.c and sha1.c --- */ + +/* SHA1 round constants */ +#define K1 0x5a827999 +#define K2 0x6ed9eba1 +#define K3 0x8f1bbcdc +#define K4 0xca62c1d6 + +/* Round functions. Note that F2 is the same as F4. */ +#define F1(B,C,D) ( D ^ ( B & ( C ^ D ) ) ) +#define F2(B,C,D) (B ^ C ^ D) +#define F3(B,C,D) ( ( B & C ) | ( D & ( B | C ) ) ) +#define F4(B,C,D) (B ^ C ^ D) + +/* Process LEN bytes of BUFFER, accumulating context into CTX. + It is assumed that LEN % 64 == 0. + Most of this code comes from GnuPG's cipher/sha1.c. */ + +void +sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx) +{ + const uint32_t *words = buffer; + size_t nwords = len / sizeof (uint32_t); + const uint32_t *endp = words + nwords; + uint32_t x[16]; + uint32_t a = ctx->A; + uint32_t b = ctx->B; + uint32_t c = ctx->C; + uint32_t d = ctx->D; + uint32_t e = ctx->E; + + /* First increment the byte count. RFC 1321 specifies the possible + length of the file up to 2^64 bits. Here we only compute the + number of bytes. Do a double word increment. */ + ctx->total[0] += len; + if (ctx->total[0] < len) + ++ctx->total[1]; + +#define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n)))) + +#define M(I) ( tm = x[I&0x0f] ^ x[(I-14)&0x0f] \ + ^ x[(I-8)&0x0f] ^ x[(I-3)&0x0f] \ + , (x[I&0x0f] = rol(tm, 1)) ) + +#define R(A,B,C,D,E,F,K,M) do { E += rol( A, 5 ) \ + + F( B, C, D ) \ + + K \ + + M; \ + B = rol( B, 30 ); \ + } while(0) + + while (words < endp) + { + uint32_t tm; + int t; + for (t = 0; t < 16; t++) + { + x[t] = SWAP (*words); + words++; + } + + R( a, b, c, d, e, F1, K1, x[ 0] ); + R( e, a, b, c, d, F1, K1, x[ 1] ); + R( d, e, a, b, c, F1, K1, x[ 2] ); + R( c, d, e, a, b, F1, K1, x[ 3] ); + R( b, c, d, e, a, F1, K1, x[ 4] ); + R( a, b, c, d, e, F1, K1, x[ 5] ); + R( e, a, b, c, d, F1, K1, x[ 6] ); + R( d, e, a, b, c, F1, K1, x[ 7] ); + R( c, d, e, a, b, F1, K1, x[ 8] ); + R( b, c, d, e, a, F1, K1, x[ 9] ); + R( a, b, c, d, e, F1, K1, x[10] ); + R( e, a, b, c, d, F1, K1, x[11] ); + R( d, e, a, b, c, F1, K1, x[12] ); + R( c, d, e, a, b, F1, K1, x[13] ); + R( b, c, d, e, a, F1, K1, x[14] ); + R( a, b, c, d, e, F1, K1, x[15] ); + R( e, a, b, c, d, F1, K1, M(16) ); + R( d, e, a, b, c, F1, K1, M(17) ); + R( c, d, e, a, b, F1, K1, M(18) ); + R( b, c, d, e, a, F1, K1, M(19) ); + R( a, b, c, d, e, F2, K2, M(20) ); + R( e, a, b, c, d, F2, K2, M(21) ); + R( d, e, a, b, c, F2, K2, M(22) ); + R( c, d, e, a, b, F2, K2, M(23) ); + R( b, c, d, e, a, F2, K2, M(24) ); + R( a, b, c, d, e, F2, K2, M(25) ); + R( e, a, b, c, d, F2, K2, M(26) ); + R( d, e, a, b, c, F2, K2, M(27) ); + R( c, d, e, a, b, F2, K2, M(28) ); + R( b, c, d, e, a, F2, K2, M(29) ); + R( a, b, c, d, e, F2, K2, M(30) ); + R( e, a, b, c, d, F2, K2, M(31) ); + R( d, e, a, b, c, F2, K2, M(32) ); + R( c, d, e, a, b, F2, K2, M(33) ); + R( b, c, d, e, a, F2, K2, M(34) ); + R( a, b, c, d, e, F2, K2, M(35) ); + R( e, a, b, c, d, F2, K2, M(36) ); + R( d, e, a, b, c, F2, K2, M(37) ); + R( c, d, e, a, b, F2, K2, M(38) ); + R( b, c, d, e, a, F2, K2, M(39) ); + R( a, b, c, d, e, F3, K3, M(40) ); + R( e, a, b, c, d, F3, K3, M(41) ); + R( d, e, a, b, c, F3, K3, M(42) ); + R( c, d, e, a, b, F3, K3, M(43) ); + R( b, c, d, e, a, F3, K3, M(44) ); + R( a, b, c, d, e, F3, K3, M(45) ); + R( e, a, b, c, d, F3, K3, M(46) ); + R( d, e, a, b, c, F3, K3, M(47) ); + R( c, d, e, a, b, F3, K3, M(48) ); + R( b, c, d, e, a, F3, K3, M(49) ); + R( a, b, c, d, e, F3, K3, M(50) ); + R( e, a, b, c, d, F3, K3, M(51) ); + R( d, e, a, b, c, F3, K3, M(52) ); + R( c, d, e, a, b, F3, K3, M(53) ); + R( b, c, d, e, a, F3, K3, M(54) ); + R( a, b, c, d, e, F3, K3, M(55) ); + R( e, a, b, c, d, F3, K3, M(56) ); + R( d, e, a, b, c, F3, K3, M(57) ); + R( c, d, e, a, b, F3, K3, M(58) ); + R( b, c, d, e, a, F3, K3, M(59) ); + R( a, b, c, d, e, F4, K4, M(60) ); + R( e, a, b, c, d, F4, K4, M(61) ); + R( d, e, a, b, c, F4, K4, M(62) ); + R( c, d, e, a, b, F4, K4, M(63) ); + R( b, c, d, e, a, F4, K4, M(64) ); + R( a, b, c, d, e, F4, K4, M(65) ); + R( e, a, b, c, d, F4, K4, M(66) ); + R( d, e, a, b, c, F4, K4, M(67) ); + R( c, d, e, a, b, F4, K4, M(68) ); + R( b, c, d, e, a, F4, K4, M(69) ); + R( a, b, c, d, e, F4, K4, M(70) ); + R( e, a, b, c, d, F4, K4, M(71) ); + R( d, e, a, b, c, F4, K4, M(72) ); + R( c, d, e, a, b, F4, K4, M(73) ); + R( b, c, d, e, a, F4, K4, M(74) ); + R( a, b, c, d, e, F4, K4, M(75) ); + R( e, a, b, c, d, F4, K4, M(76) ); + R( d, e, a, b, c, F4, K4, M(77) ); + R( c, d, e, a, b, F4, K4, M(78) ); + R( b, c, d, e, a, F4, K4, M(79) ); + + a = ctx->A += a; + b = ctx->B += b; + c = ctx->C += c; + d = ctx->D += d; + e = ctx->E += e; + } +} diff -Nru gnutls26-2.8.6/lgl/sha1.h gnutls26-2.4.1/lgl/sha1.h --- gnutls26-2.8.6/lgl/sha1.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/sha1.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,84 @@ +/* Declarations of functions and data types used for SHA1 sum + library functions. + Copyright (C) 2000, 2001, 2003, 2005, 2006, 2008 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef SHA1_H +# define SHA1_H 1 + +# include +# include + +#define SHA1_DIGEST_SIZE 20 + +/* Structure to save state of computation between the single steps. */ +struct sha1_ctx +{ + uint32_t A; + uint32_t B; + uint32_t C; + uint32_t D; + uint32_t E; + + uint32_t total[2]; + uint32_t buflen; + uint32_t buffer[32]; +}; + + +/* Initialize structure containing state of computation. */ +extern void sha1_init_ctx (struct sha1_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is necessary that LEN is a multiple of 64!!! */ +extern void sha1_process_block (const void *buffer, size_t len, + struct sha1_ctx *ctx); + +/* Starting with the result of former calls of this function (or the + initialization function update the context for the next LEN bytes + starting at BUFFER. + It is NOT required that LEN is a multiple of 64. */ +extern void sha1_process_bytes (const void *buffer, size_t len, + struct sha1_ctx *ctx); + +/* Process the remaining bytes in the buffer and put result from CTX + in first 20 bytes following RESBUF. The result is always in little + endian byte order, so that a byte-wise output yields to the wanted + ASCII representation of the message digest. */ +extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf); + + +/* Put result from CTX in first 20 bytes following RESBUF. The result is + always in little endian byte order, so that a byte-wise output yields + to the wanted ASCII representation of the message digest. */ +extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf); + + +/* Compute SHA1 message digest for bytes read from STREAM. The + resulting message digest number will be written into the 20 bytes + beginning at RESBLOCK. */ +extern int sha1_stream (FILE *stream, void *resblock); + +/* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The + result is always in little endian byte order, so that a byte-wise + output yields to the wanted ASCII representation of the message + digest. */ +extern void *sha1_buffer (const char *buffer, size_t len, void *resblock); + +#endif diff -Nru gnutls26-2.8.6/lgl/size_max.h gnutls26-2.4.1/lgl/size_max.h --- gnutls26-2.8.6/lgl/size_max.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/size_max.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,31 @@ +/* size_max.h -- declare SIZE_MAX through system headers + Copyright (C) 2005-2006 Free Software Foundation, Inc. + Written by Simon Josefsson. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef GNULIB_SIZE_MAX_H +#define GNULIB_SIZE_MAX_H + +/* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */ +# include +/* Get SIZE_MAX declaration on systems like glibc 2. */ +# if HAVE_STDINT_H +# include +# endif +/* On systems where these include files don't define it, SIZE_MAX is defined + in config.h. */ + +#endif /* GNULIB_SIZE_MAX_H */ diff -Nru gnutls26-2.8.6/lgl/snprintf.c gnutls26-2.4.1/lgl/snprintf.c --- gnutls26-2.8.6/lgl/snprintf.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/snprintf.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,72 @@ +/* Formatted output to strings. + Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. + Written by Simon Josefsson and Paul Eggert. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include + +#include +#include +#include +#include +#include + +#include "vasnprintf.h" + +/* Print formatted output to string STR. Similar to sprintf, but + additional length SIZE limit how much is written into STR. Returns + string length of formatted string (which may be larger than SIZE). + STR may be NULL, in which case nothing will be written. On error, + return a negative value. */ +int +snprintf (char *str, size_t size, const char *format, ...) +{ + char *output; + size_t len; + size_t lenbuf = size; + va_list args; + + va_start (args, format); + output = vasnprintf (str, &lenbuf, format, args); + len = lenbuf; + va_end (args); + + if (!output) + return -1; + + if (output != str) + { + if (size) + { + size_t pruned_len = (len < size ? len : size - 1); + memcpy (str, output, pruned_len); + str[pruned_len] = '\0'; + } + + free (output); + } + + if (INT_MAX < len) + { + errno = EOVERFLOW; + return -1; + } + + return len; +} diff -Nru gnutls26-2.8.6/lgl/stdbool.in.h gnutls26-2.4.1/lgl/stdbool.in.h --- gnutls26-2.8.6/lgl/stdbool.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/stdbool.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,119 @@ +/* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _GL_STDBOOL_H +#define _GL_STDBOOL_H + +/* ISO C 99 for platforms that lack it. */ + +/* Usage suggestions: + + Programs that use should be aware of some limitations + and standards compliance issues. + + Standards compliance: + + - must be #included before 'bool', 'false', 'true' + can be used. + + - You cannot assume that sizeof (bool) == 1. + + - Programs should not undefine the macros bool, true, and false, + as C99 lists that as an "obsolescent feature". + + Limitations of this substitute, when used in a C89 environment: + + - must be #included before the '_Bool' type can be used. + + - You cannot assume that _Bool is a typedef; it might be a macro. + + - Bit-fields of type 'bool' are not supported. Portable code + should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. + + - In C99, casts and automatic conversions to '_Bool' or 'bool' are + performed in such a way that every nonzero value gets converted + to 'true', and zero gets converted to 'false'. This doesn't work + with this substitute. With this substitute, only the values 0 and 1 + give the expected result when converted to _Bool' or 'bool'. + + Also, it is suggested that programs use 'bool' rather than '_Bool'; + this isn't required, but 'bool' is more common. */ + + +/* 7.16. Boolean type and values */ + +/* BeOS already #defines false 0, true 1. We use the same + definitions below, but temporarily we have to #undef them. */ +#if defined __BEOS__ && !defined __HAIKU__ +# include /* defines bool but not _Bool */ +# undef false +# undef true +#endif + +/* For the sake of symbolic names in gdb, we define true and false as + enum constants, not only as macros. + It is tempting to write + typedef enum { false = 0, true = 1 } _Bool; + so that gdb prints values of type 'bool' symbolically. But if we do + this, values of type '_Bool' may promote to 'int' or 'unsigned int' + (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' + (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the + enum; this ensures that '_Bool' promotes to 'int'. */ +#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) + /* A compiler known to have 'bool'. */ + /* If the compiler already has both 'bool' and '_Bool', we can assume they + are the same types. */ +# if !@HAVE__BOOL@ +typedef bool _Bool; +# endif +#else +# if !defined __GNUC__ + /* If @HAVE__BOOL@: + Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when + the built-in _Bool type is used. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + Similar bugs are likely with other compilers as well; this file + wouldn't be used if was working. + So we override the _Bool type. + If !@HAVE__BOOL@: + Need to define _Bool ourselves. As 'signed char' or as an enum type? + Use of a typedef, with SunPRO C, leads to a stupid + "warning: _Bool is a keyword in ISO C99". + Use of an enum type, with IRIX cc, leads to a stupid + "warning(1185): enumerated type mixed with another type". + Even the existence of an enum type, without a typedef, + "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. + The only benefit of the enum, debuggability, is not important + with these compilers. So use 'signed char' and no enum. */ +# define _Bool signed char +# else + /* With this compiler, trust the _Bool type if the compiler has it. */ +# if !@HAVE__BOOL@ +typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; +# endif +# endif +#endif +#define bool _Bool + +/* The other macros must be usable in preprocessor directives. */ +#define false 0 +#define true 1 +#define __bool_true_false_are_defined 1 + +#endif /* _GL_STDBOOL_H */ diff -Nru gnutls26-2.8.6/lgl/stdint.in.h gnutls26-2.4.1/lgl/stdint.in.h --- gnutls26-2.8.6/lgl/stdint.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/stdint.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,522 @@ +/* Copyright (C) 2001-2002, 2004-2007 Free Software Foundation, Inc. + Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. + This file is part of gnulib. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* + * ISO C 99 for platforms that lack it. + * + */ + +#ifndef _GL_STDINT_H + +/* When including a system file that in turn includes , + use the system , not our substitute. This avoids + problems with (for example) VMS, whose includes + . */ +#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H + +/* Get those types that are already defined in other system include + files, so that we can "#define int8_t signed char" below without + worrying about a later system include file containing a "typedef + signed char int8_t;" that will get messed up by our macro. Our + macros should all be consistent with the system versions, except + for the "fast" types and macros, which we recommend against using + in public interfaces due to compiler differences. */ + +#if @HAVE_STDINT_H@ +# if defined __sgi && ! defined __c99 + /* Bypass IRIX's if in C89 mode, since it merely annoys users + with "This header file is to be used only for c99 mode compilations" + diagnostics. */ +# define __STDINT_H__ +# endif + /* Other systems may have an incomplete or buggy . + Include it before , since any "#include " + in would reinclude us, skipping our contents because + _GL_STDINT_H is defined. + The include_next requires a split double-inclusion guard. */ +# @INCLUDE_NEXT@ @NEXT_STDINT_H@ +#endif + +#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H +#define _GL_STDINT_H + +/* defines some of the stdint.h types as well, on glibc, + IRIX 6.5, and OpenBSD 3.8 (via ). + AIX 5.2 isn't needed and causes troubles. + MacOS X 10.4.6 includes (which is us), but + relies on the system definitions, so include + after @NEXT_STDINT_H@. */ +#if @HAVE_SYS_TYPES_H@ && ! defined _AIX +# include +#endif + +/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ +#include + +#if @HAVE_INTTYPES_H@ + /* In OpenBSD 3.8, includes , which defines + int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. + also defines intptr_t and uintptr_t. */ +# include +#elif @HAVE_SYS_INTTYPES_H@ + /* Solaris 7 has the types except the *_fast*_t types, and + the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ +# include +#endif + +#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ + /* Linux libc4 >= 4.6.7 and libc5 have a that defines + int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is + included by . */ +# include +#endif + +#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS + +/* Get WCHAR_MIN, WCHAR_MAX. */ +# if ! (defined WCHAR_MIN && defined WCHAR_MAX) +# include +# endif + +#endif + +#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H + +/* Minimum and maximum values for a integer type under the usual assumption. + Return an unspecified value if BITS == 0, adding a check to pacify + picky compilers. */ + +#define _STDINT_MIN(signed, bits, zero) \ + ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) + +#define _STDINT_MAX(signed, bits, zero) \ + ((signed) \ + ? ~ _STDINT_MIN (signed, bits, zero) \ + : /* The expression for the unsigned case. The subtraction of (signed) \ + is a nop in the unsigned case and avoids "signed integer overflow" \ + warnings in the signed case. */ \ + ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) + +/* 7.18.1.1. Exact-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. */ + +#undef int8_t +#undef uint8_t +#define int8_t signed char +#define uint8_t unsigned char + +#undef int16_t +#undef uint16_t +#define int16_t short int +#define uint16_t unsigned short int + +#undef int32_t +#undef uint32_t +#define int32_t int +#define uint32_t unsigned int + +/* Do not undefine int64_t if gnulib is not being used with 64-bit + types, since otherwise it breaks platforms like Tandem/NSK. */ +#if LONG_MAX >> 31 >> 31 == 1 +# undef int64_t +# define int64_t long int +# define GL_INT64_T +#elif defined _MSC_VER +# undef int64_t +# define int64_t __int64 +# define GL_INT64_T +#elif @HAVE_LONG_LONG_INT@ +# undef int64_t +# define int64_t long long int +# define GL_INT64_T +#endif + +#if ULONG_MAX >> 31 >> 31 >> 1 == 1 +# undef uint64_t +# define uint64_t unsigned long int +# define GL_UINT64_T +#elif defined _MSC_VER +# undef uint64_t +# define uint64_t unsigned __int64 +# define GL_UINT64_T +#elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# undef uint64_t +# define uint64_t unsigned long long int +# define GL_UINT64_T +#endif + +/* Avoid collision with Solaris 2.5.1 etc. */ +#define _UINT8_T +#define _UINT32_T +#define _UINT64_T + + +/* 7.18.1.2. Minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types + are the same as the corresponding N_t types. */ + +#undef int_least8_t +#undef uint_least8_t +#undef int_least16_t +#undef uint_least16_t +#undef int_least32_t +#undef uint_least32_t +#undef int_least64_t +#undef uint_least64_t +#define int_least8_t int8_t +#define uint_least8_t uint8_t +#define int_least16_t int16_t +#define uint_least16_t uint16_t +#define int_least32_t int32_t +#define uint_least32_t uint32_t +#ifdef GL_INT64_T +# define int_least64_t int64_t +#endif +#ifdef GL_UINT64_T +# define uint_least64_t uint64_t +#endif + +/* 7.18.1.3. Fastest minimum-width integer types */ + +/* Note: Other substitutes may define these types differently. + It is not recommended to use these types in public header files. */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types + are taken from the same list of types. Assume that 'long int' + is fast enough for all narrower integers. */ + +#undef int_fast8_t +#undef uint_fast8_t +#undef int_fast16_t +#undef uint_fast16_t +#undef int_fast32_t +#undef uint_fast32_t +#undef int_fast64_t +#undef uint_fast64_t +#define int_fast8_t long int +#define uint_fast8_t unsigned int_fast8_t +#define int_fast16_t long int +#define uint_fast16_t unsigned int_fast16_t +#define int_fast32_t long int +#define uint_fast32_t unsigned int_fast32_t +#ifdef GL_INT64_T +# define int_fast64_t int64_t +#endif +#ifdef GL_UINT64_T +# define uint_fast64_t uint64_t +#endif + +/* 7.18.1.4. Integer types capable of holding object pointers */ + +#undef intptr_t +#undef uintptr_t +#define intptr_t long int +#define uintptr_t unsigned long int + +/* 7.18.1.5. Greatest-width integer types */ + +/* Note: These types are compiler dependent. It may be unwise to use them in + public header files. */ + +#undef intmax_t +#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define intmax_t long long int +#elif defined GL_INT64_T +# define intmax_t int64_t +#else +# define intmax_t long int +#endif + +#undef uintmax_t +#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define uintmax_t unsigned long long int +#elif defined GL_UINT64_T +# define uintmax_t uint64_t +#else +# define uintmax_t unsigned long int +#endif + +/* Verify that intmax_t and uintmax_t have the same size. Too much code + breaks if this is not the case. If this check fails, the reason is likely + to be found in the autoconf macros. */ +typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; + +/* 7.18.2. Limits of specified-width integer types */ + +#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS + +/* 7.18.2.1. Limits of exact-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. */ + +#undef INT8_MIN +#undef INT8_MAX +#undef UINT8_MAX +#define INT8_MIN (~ INT8_MAX) +#define INT8_MAX 127 +#define UINT8_MAX 255 + +#undef INT16_MIN +#undef INT16_MAX +#undef UINT16_MAX +#define INT16_MIN (~ INT16_MAX) +#define INT16_MAX 32767 +#define UINT16_MAX 65535 + +#undef INT32_MIN +#undef INT32_MAX +#undef UINT32_MAX +#define INT32_MIN (~ INT32_MAX) +#define INT32_MAX 2147483647 +#define UINT32_MAX 4294967295U + +#undef INT64_MIN +#undef INT64_MAX +#ifdef GL_INT64_T +/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 + evaluates the latter incorrectly in preprocessor expressions. */ +# define INT64_MIN (- INTMAX_C (1) << 63) +# define INT64_MAX INTMAX_C (9223372036854775807) +#endif + +#undef UINT64_MAX +#ifdef GL_UINT64_T +# define UINT64_MAX UINTMAX_C (18446744073709551615) +#endif + +/* 7.18.2.2. Limits of minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types + are the same as the corresponding N_t types. */ + +#undef INT_LEAST8_MIN +#undef INT_LEAST8_MAX +#undef UINT_LEAST8_MAX +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define UINT_LEAST8_MAX UINT8_MAX + +#undef INT_LEAST16_MIN +#undef INT_LEAST16_MAX +#undef UINT_LEAST16_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define UINT_LEAST16_MAX UINT16_MAX + +#undef INT_LEAST32_MIN +#undef INT_LEAST32_MAX +#undef UINT_LEAST32_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define UINT_LEAST32_MAX UINT32_MAX + +#undef INT_LEAST64_MIN +#undef INT_LEAST64_MAX +#ifdef GL_INT64_T +# define INT_LEAST64_MIN INT64_MIN +# define INT_LEAST64_MAX INT64_MAX +#endif + +#undef UINT_LEAST64_MAX +#ifdef GL_UINT64_T +# define UINT_LEAST64_MAX UINT64_MAX +#endif + +/* 7.18.2.3. Limits of fastest minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types + are taken from the same list of types. */ + +#undef INT_FAST8_MIN +#undef INT_FAST8_MAX +#undef UINT_FAST8_MAX +#define INT_FAST8_MIN LONG_MIN +#define INT_FAST8_MAX LONG_MAX +#define UINT_FAST8_MAX ULONG_MAX + +#undef INT_FAST16_MIN +#undef INT_FAST16_MAX +#undef UINT_FAST16_MAX +#define INT_FAST16_MIN LONG_MIN +#define INT_FAST16_MAX LONG_MAX +#define UINT_FAST16_MAX ULONG_MAX + +#undef INT_FAST32_MIN +#undef INT_FAST32_MAX +#undef UINT_FAST32_MAX +#define INT_FAST32_MIN LONG_MIN +#define INT_FAST32_MAX LONG_MAX +#define UINT_FAST32_MAX ULONG_MAX + +#undef INT_FAST64_MIN +#undef INT_FAST64_MAX +#ifdef GL_INT64_T +# define INT_FAST64_MIN INT64_MIN +# define INT_FAST64_MAX INT64_MAX +#endif + +#undef UINT_FAST64_MAX +#ifdef GL_UINT64_T +# define UINT_FAST64_MAX UINT64_MAX +#endif + +/* 7.18.2.4. Limits of integer types capable of holding object pointers */ + +#undef INTPTR_MIN +#undef INTPTR_MAX +#undef UINTPTR_MAX +#define INTPTR_MIN LONG_MIN +#define INTPTR_MAX LONG_MAX +#define UINTPTR_MAX ULONG_MAX + +/* 7.18.2.5. Limits of greatest-width integer types */ + +#undef INTMAX_MIN +#undef INTMAX_MAX +#ifdef INT64_MAX +# define INTMAX_MIN INT64_MIN +# define INTMAX_MAX INT64_MAX +#else +# define INTMAX_MIN INT32_MIN +# define INTMAX_MAX INT32_MAX +#endif + +#undef UINTMAX_MAX +#ifdef UINT64_MAX +# define UINTMAX_MAX UINT64_MAX +#else +# define UINTMAX_MAX UINT32_MAX +#endif + +/* 7.18.3. Limits of other integer types */ + +/* ptrdiff_t limits */ +#undef PTRDIFF_MIN +#undef PTRDIFF_MAX +#define PTRDIFF_MIN \ + _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) +#define PTRDIFF_MAX \ + _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) + +/* sig_atomic_t limits */ +#undef SIG_ATOMIC_MIN +#undef SIG_ATOMIC_MAX +#define SIG_ATOMIC_MIN \ + _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ + 0@SIG_ATOMIC_T_SUFFIX@) +#define SIG_ATOMIC_MAX \ + _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ + 0@SIG_ATOMIC_T_SUFFIX@) + + +/* size_t limit */ +#undef SIZE_MAX +#define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) + +/* wchar_t limits */ +#undef WCHAR_MIN +#undef WCHAR_MAX +#define WCHAR_MIN \ + _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) +#define WCHAR_MAX \ + _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) + +/* wint_t limits */ +#undef WINT_MIN +#undef WINT_MAX +#define WINT_MIN \ + _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) +#define WINT_MAX \ + _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) + +#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ + +/* 7.18.4. Macros for integer constants */ + +#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS + +/* 7.18.4.1. Macros for minimum-width integer constants */ +/* According to ISO C 99 Technical Corrigendum 1 */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ + +#undef INT8_C +#undef UINT8_C +#define INT8_C(x) x +#define UINT8_C(x) x + +#undef INT16_C +#undef UINT16_C +#define INT16_C(x) x +#define UINT16_C(x) x + +#undef INT32_C +#undef UINT32_C +#define INT32_C(x) x +#define UINT32_C(x) x ## U + +#undef INT64_C +#undef UINT64_C +#if LONG_MAX >> 31 >> 31 == 1 +# define INT64_C(x) x##L +#elif defined _MSC_VER +# define INT64_C(x) x##i64 +#elif @HAVE_LONG_LONG_INT@ +# define INT64_C(x) x##LL +#endif +#if ULONG_MAX >> 31 >> 31 >> 1 == 1 +# define UINT64_C(x) x##UL +#elif defined _MSC_VER +# define UINT64_C(x) x##ui64 +#elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# define UINT64_C(x) x##ULL +#endif + +/* 7.18.4.2. Macros for greatest-width integer constants */ + +#undef INTMAX_C +#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define INTMAX_C(x) x##LL +#elif defined GL_INT64_T +# define INTMAX_C(x) INT64_C(x) +#else +# define INTMAX_C(x) x##L +#endif + +#undef UINTMAX_C +#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define UINTMAX_C(x) x##ULL +#elif defined GL_UINT64_T +# define UINTMAX_C(x) UINT64_C(x) +#else +# define UINTMAX_C(x) x##UL +#endif + +#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ + +#endif /* _GL_STDINT_H */ +#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ diff -Nru gnutls26-2.8.6/lgl/stdio-impl.h gnutls26-2.4.1/lgl/stdio-impl.h --- gnutls26-2.8.6/lgl/stdio-impl.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/stdio-impl.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,94 @@ +/* Implementation details of FILE streams. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Many stdio implementations have the same logic and therefore can share + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + + +/* BSD stdio derived implementations. */ + +#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + +# if defined __DragonFly__ /* DragonFly */ + /* See . */ +# define fp_ ((struct { struct __FILE_public pub; \ + struct { unsigned char *_base; int _size; } _bf; \ + void *cookie; \ + void *_close; \ + void *_read; \ + void *_seek; \ + void *_write; \ + struct { unsigned char *_base; int _size; } _ub; \ + int _ur; \ + unsigned char _ubuf[3]; \ + unsigned char _nbuf[1]; \ + struct { unsigned char *_base; int _size; } _lb; \ + int _blksize; \ + fpos_t _offset; \ + /* More fields, not relevant here. */ \ + } *) fp) + /* See . */ +# define _p pub._p +# define _flags pub._flags +# define _r pub._r +# define _w pub._w +# else +# define fp_ fp +# endif + +# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */ + /* See + and */ + struct __sfileext + { + struct __sbuf _ub; /* ungetc buffer */ + /* More fields, not relevant here. */ + }; +# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub +# else /* FreeBSD, DragonFly, MacOS X, Cygwin */ +# define fp_ub fp_->_ub +# endif + +# define HASUB(fp) (fp_ub._base != NULL) + +#endif + + +/* SystemV derived implementations. */ + +#if defined _IOERR + +# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ +# define fp_ ((struct { unsigned char *_ptr; \ + unsigned char *_base; \ + unsigned char *_end; \ + long _cnt; \ + int _file; \ + unsigned int _flag; \ + } *) fp) +# else +# define fp_ fp +# endif + +# if defined _SCO_DS /* OpenServer */ +# define _cnt __cnt +# define _ptr __ptr +# define _base __base +# define _flag __flag +# endif + +#endif diff -Nru gnutls26-2.8.6/lgl/stdio.in.h gnutls26-2.4.1/lgl/stdio.in.h --- gnutls26-2.8.6/lgl/stdio.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/stdio.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,402 @@ +/* A GNU-like . + + Copyright (C) 2004, 2007-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#if defined __need_FILE || defined __need___FILE +/* Special invocation convention inside glibc header files. */ + +#@INCLUDE_NEXT@ @NEXT_STDIO_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _GL_STDIO_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_STDIO_H@ + +#ifndef _GL_STDIO_H +#define _GL_STDIO_H + +#include +#include + +#if (@GNULIB_FSEEKO@ && @REPLACE_FSEEKO@) \ + || (@GNULIB_FTELLO@ && @REPLACE_FTELLO@) \ + || (@GNULIB_GETDELIM@ && !@HAVE_DECL_GETDELIM@) \ + || (@GNULIB_GETLINE@ && (!@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@)) +/* Get off_t and ssize_t. */ +# include +#endif + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + + +/* The definition of GL_LINK_WARNING is copied here. */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +#if @GNULIB_FPRINTF_POSIX@ +# if @REPLACE_FPRINTF@ +# define fprintf rpl_fprintf +extern int fprintf (FILE *fp, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef fprintf +# define fprintf \ + (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \ + "use gnulib module fprintf-posix for portable " \ + "POSIX compliance"), \ + fprintf) +#endif + +#if @GNULIB_VFPRINTF_POSIX@ +# if @REPLACE_VFPRINTF@ +# define vfprintf rpl_vfprintf +extern int vfprintf (FILE *fp, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 2, 0))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef vfprintf +# define vfprintf(s,f,a) \ + (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \ + "use gnulib module vfprintf-posix for portable " \ + "POSIX compliance"), \ + vfprintf (s, f, a)) +#endif + +#if @GNULIB_PRINTF_POSIX@ +# if @REPLACE_PRINTF@ +/* Don't break __attribute__((format(printf,M,N))). */ +# define printf __printf__ +extern int printf (const char *format, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef printf +# define printf \ + (GL_LINK_WARNING ("printf is not always POSIX compliant - " \ + "use gnulib module printf-posix for portable " \ + "POSIX compliance"), \ + printf) +/* Don't break __attribute__((format(printf,M,N))). */ +# define format(kind,m,n) format (__##kind##__, m, n) +# define __format__(kind,m,n) __format__ (__##kind##__, m, n) +# define ____printf____ __printf__ +# define ____scanf____ __scanf__ +# define ____strftime____ __strftime__ +# define ____strfmon____ __strfmon__ +#endif + +#if @GNULIB_VPRINTF_POSIX@ +# if @REPLACE_VPRINTF@ +# define vprintf rpl_vprintf +extern int vprintf (const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 1, 0))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef vprintf +# define vprintf(f,a) \ + (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \ + "use gnulib module vprintf-posix for portable " \ + "POSIX compliance"), \ + vprintf (f, a)) +#endif + +#if @GNULIB_SNPRINTF@ +# if @REPLACE_SNPRINTF@ +# define snprintf rpl_snprintf +# endif +# if @REPLACE_SNPRINTF@ || !@HAVE_DECL_SNPRINTF@ +extern int snprintf (char *str, size_t size, const char *format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef snprintf +# define snprintf \ + (GL_LINK_WARNING ("snprintf is unportable - " \ + "use gnulib module snprintf for portability"), \ + snprintf) +#endif + +#if @GNULIB_VSNPRINTF@ +# if @REPLACE_VSNPRINTF@ +# define vsnprintf rpl_vsnprintf +# endif +# if @REPLACE_VSNPRINTF@ || !@HAVE_DECL_VSNPRINTF@ +extern int vsnprintf (char *str, size_t size, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 3, 0))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef vsnprintf +# define vsnprintf(b,s,f,a) \ + (GL_LINK_WARNING ("vsnprintf is unportable - " \ + "use gnulib module vsnprintf for portability"), \ + vsnprintf (b, s, f, a)) +#endif + +#if @GNULIB_SPRINTF_POSIX@ +# if @REPLACE_SPRINTF@ +# define sprintf rpl_sprintf +extern int sprintf (char *str, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef sprintf +# define sprintf \ + (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \ + "use gnulib module sprintf-posix for portable " \ + "POSIX compliance"), \ + sprintf) +#endif + +#if @GNULIB_VSPRINTF_POSIX@ +# if @REPLACE_VSPRINTF@ +# define vsprintf rpl_vsprintf +extern int vsprintf (char *str, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 2, 0))); +# endif +#elif defined GNULIB_POSIXCHECK +# undef vsprintf +# define vsprintf(b,f,a) \ + (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \ + "use gnulib module vsprintf-posix for portable " \ + "POSIX compliance"), \ + vsprintf (b, f, a)) +#endif + +#if @GNULIB_VASPRINTF@ +# if @REPLACE_VASPRINTF@ +# define asprintf rpl_asprintf +# define vasprintf rpl_vasprintf +# endif +# if @REPLACE_VASPRINTF@ || !@HAVE_VASPRINTF@ + /* Write formatted output to a string dynamically allocated with malloc(). + If the memory allocation succeeds, store the address of the string in + *RESULT and return the number of resulting bytes, excluding the trailing + NUL. Upon memory allocation error, or some other error, return -1. */ + extern int asprintf (char **result, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + extern int vasprintf (char **result, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 2, 0))); +# endif +#endif + +#if @GNULIB_OBSTACK_PRINTF@ +# if @REPLACE_OBSTACK_PRINTF@ +# define obstack_printf rpl_osbtack_printf +# define obstack_vprintf rpl_obstack_vprintf +# endif +# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@ + struct obstack; + /* Grow an obstack with formatted output. Return the number of + bytes added to OBS. No trailing nul byte is added, and the + object should be closed with obstack_finish before use. Upon + memory allocation error, call obstack_alloc_failed_handler. Upon + other error, return -1. */ + extern int obstack_printf (struct obstack *obs, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + extern int obstack_vprintf (struct obstack *obs, const char *format, + va_list args) + __attribute__ ((__format__ (__printf__, 2, 0))); +# endif +#endif + +#if @GNULIB_FOPEN@ +# if @REPLACE_FOPEN@ +# define fopen rpl_fopen +extern FILE * fopen (const char *filename, const char *mode); +# endif +#elif defined GNULIB_POSIXCHECK +# undef fopen +# define fopen(f,m) \ + (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \ + "use gnulib module fopen for portability"), \ + fopen (f, m)) +#endif + +#if @GNULIB_FREOPEN@ +# if @REPLACE_FREOPEN@ +# define freopen rpl_freopen +extern FILE * freopen (const char *filename, const char *mode, FILE *stream); +# endif +#elif defined GNULIB_POSIXCHECK +# undef freopen +# define freopen(f,m,s) \ + (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \ + "use gnulib module freopen for portability"), \ + freopen (f, m, s)) +#endif + +#if @GNULIB_FSEEKO@ +# if @REPLACE_FSEEKO@ +/* Provide fseek, fseeko functions that are aware of a preceding + fflush(), and which detect pipes. */ +# define fseeko rpl_fseeko +extern int fseeko (FILE *fp, off_t offset, int whence); +# define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence) +# endif +#elif defined GNULIB_POSIXCHECK +# undef fseeko +# define fseeko(f,o,w) \ + (GL_LINK_WARNING ("fseeko is unportable - " \ + "use gnulib module fseeko for portability"), \ + fseeko (f, o, w)) +#endif + +#if @GNULIB_FSEEK@ && @REPLACE_FSEEK@ +extern int rpl_fseek (FILE *fp, long offset, int whence); +# undef fseek +# if defined GNULIB_POSIXCHECK +# define fseek(f,o,w) \ + (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ + "on 32-bit platforms - " \ + "use fseeko function for handling of large files"), \ + rpl_fseek (f, o, w)) +# else +# define fseek rpl_fseek +# endif +#elif defined GNULIB_POSIXCHECK +# ifndef fseek +# define fseek(f,o,w) \ + (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ + "on 32-bit platforms - " \ + "use fseeko function for handling of large files"), \ + fseek (f, o, w)) +# endif +#endif + +#if @GNULIB_FTELLO@ +# if @REPLACE_FTELLO@ +# define ftello rpl_ftello +extern off_t ftello (FILE *fp); +# define ftell(fp) ftello (fp) +# endif +#elif defined GNULIB_POSIXCHECK +# undef ftello +# define ftello(f) \ + (GL_LINK_WARNING ("ftello is unportable - " \ + "use gnulib module ftello for portability"), \ + ftello (f)) +#endif + +#if @GNULIB_FTELL@ && @REPLACE_FTELL@ +extern long rpl_ftell (FILE *fp); +# undef ftell +# if GNULIB_POSIXCHECK +# define ftell(f) \ + (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ + "on 32-bit platforms - " \ + "use ftello function for handling of large files"), \ + rpl_ftell (f)) +# else +# define ftell rpl_ftell +# endif +#elif defined GNULIB_POSIXCHECK +# ifndef ftell +# define ftell(f) \ + (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ + "on 32-bit platforms - " \ + "use ftello function for handling of large files"), \ + ftell (f)) +# endif +#endif + +#if @GNULIB_FFLUSH@ +# if @REPLACE_FFLUSH@ +# define fflush rpl_fflush + /* Flush all pending data on STREAM according to POSIX rules. Both + output and seekable input streams are supported. + Note! LOSS OF DATA can occur if fflush is applied on an input stream + that is _not_seekable_ or on an update stream that is _not_seekable_ + and in which the most recent operation was input. Seekability can + be tested with lseek(fileno(fp),0,SEEK_CUR). */ + extern int fflush (FILE *gl_stream); +# endif +#elif defined GNULIB_POSIXCHECK +# undef fflush +# define fflush(f) \ + (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \ + "use gnulib module fflush for portable " \ + "POSIX compliance"), \ + fflush (f)) +#endif + +#if @GNULIB_GETDELIM@ +# if !@HAVE_DECL_GETDELIM@ +/* Read input, up to (and including) the next occurrence of DELIMITER, from + STREAM, store it in *LINEPTR (and NUL-terminate it). + *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE + bytes of space. It is realloc'd as necessary. + Return the number of bytes read and stored at *LINEPTR (not including the + NUL terminator), or -1 on error or EOF. */ +extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter, + FILE *stream); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getdelim +# define getdelim(l, s, d, f) \ + (GL_LINK_WARNING ("getdelim is unportable - " \ + "use gnulib module getdelim for portability"), \ + getdelim (l, s, d, f)) +#endif + +#if @GNULIB_GETLINE@ +# if @REPLACE_GETLINE@ +# undef getline +# define getline rpl_getline +# endif +# if !@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@ +/* Read a line, up to (and including) the next newline, from STREAM, store it + in *LINEPTR (and NUL-terminate it). + *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE + bytes of space. It is realloc'd as necessary. + Return the number of bytes read and stored at *LINEPTR (not including the + NUL terminator), or -1 on error or EOF. */ +extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getline +# define getline(l, s, f) \ + (GL_LINK_WARNING ("getline is unportable - " \ + "use gnulib module getline for portability"), \ + getline (l, s, f)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_STDIO_H */ +#endif /* _GL_STDIO_H */ +#endif diff -Nru gnutls26-2.8.6/lgl/stdlib.in.h gnutls26-2.4.1/lgl/stdlib.in.h --- gnutls26-2.8.6/lgl/stdlib.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/stdlib.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,240 @@ +/* A GNU-like . + + Copyright (C) 1995, 2001-2004, 2006-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#if defined __need_malloc_and_calloc +/* Special invocation convention inside glibc header files. */ + +#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _GL_STDLIB_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ + +#ifndef _GL_STDLIB_H +#define _GL_STDLIB_H + + +/* The definition of GL_LINK_WARNING is copied here. */ + + +/* Some systems do not define EXIT_*, despite otherwise supporting C89. */ +#ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +#endif +/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere + with proper operation of xargs. */ +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +#elif EXIT_FAILURE != 1 +# undef EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + +#if @GNULIB_MALLOC_POSIX@ +# if !@HAVE_MALLOC_POSIX@ +# undef malloc +# define malloc rpl_malloc +extern void * malloc (size_t size); +# endif +#elif defined GNULIB_POSIXCHECK +# undef malloc +# define malloc(s) \ + (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \ + "use gnulib module malloc-posix for portability"), \ + malloc (s)) +#endif + + +#if @GNULIB_REALLOC_POSIX@ +# if !@HAVE_REALLOC_POSIX@ +# undef realloc +# define realloc rpl_realloc +extern void * realloc (void *ptr, size_t size); +# endif +#elif defined GNULIB_POSIXCHECK +# undef realloc +# define realloc(p,s) \ + (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \ + "use gnulib module realloc-posix for portability"), \ + realloc (p, s)) +#endif + + +#if @GNULIB_CALLOC_POSIX@ +# if !@HAVE_CALLOC_POSIX@ +# undef calloc +# define calloc rpl_calloc +extern void * calloc (size_t nmemb, size_t size); +# endif +#elif defined GNULIB_POSIXCHECK +# undef calloc +# define calloc(n,s) \ + (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \ + "use gnulib module calloc-posix for portability"), \ + calloc (n, s)) +#endif + + +#if @GNULIB_GETSUBOPT@ +/* Assuming *OPTIONP is a comma separated list of elements of the form + "token" or "token=value", getsubopt parses the first of these elements. + If the first element refers to a "token" that is member of the given + NULL-terminated array of tokens: + - It replaces the comma with a NUL byte, updates *OPTIONP to point past + the first option and the comma, sets *VALUEP to the value of the + element (or NULL if it doesn't contain an "=" sign), + - It returns the index of the "token" in the given array of tokens. + Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. + For more details see the POSIX:2001 specification. + http://www.opengroup.org/susv3xsh/getsubopt.html */ +# if !@HAVE_GETSUBOPT@ +extern int getsubopt (char **optionp, char *const *tokens, char **valuep); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getsubopt +# define getsubopt(o,t,v) \ + (GL_LINK_WARNING ("getsubopt is unportable - " \ + "use gnulib module getsubopt for portability"), \ + getsubopt (o, t, v)) +#endif + + +#if @GNULIB_MKDTEMP@ +# if !@HAVE_MKDTEMP@ +/* Create a unique temporary directory from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the directory name unique. + Returns TEMPLATE, or a null pointer if it cannot get a unique name. + The directory is created mode 700. */ +extern char * mkdtemp (char * /*template*/); +# endif +#elif defined GNULIB_POSIXCHECK +# undef mkdtemp +# define mkdtemp(t) \ + (GL_LINK_WARNING ("mkdtemp is unportable - " \ + "use gnulib module mkdtemp for portability"), \ + mkdtemp (t)) +#endif + + +#if @GNULIB_MKSTEMP@ +# if @REPLACE_MKSTEMP@ +/* Create a unique temporary file from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the file name unique. + The file is then created, ensuring it didn't exist before. + The file is created read-write (mask at least 0600 & ~umask), but it may be + world-readable and world-writable (mask 0666 & ~umask), depending on the + implementation. + Returns the open file descriptor if successful, otherwise -1 and errno + set. */ +# define mkstemp rpl_mkstemp +extern int mkstemp (char * /*template*/); +# else +/* On MacOS X 10.3, only declares mkstemp. */ +# include +# endif +#elif defined GNULIB_POSIXCHECK +# undef mkstemp +# define mkstemp(t) \ + (GL_LINK_WARNING ("mkstemp is unportable - " \ + "use gnulib module mkstemp for portability"), \ + mkstemp (t)) +#endif + + +#if @GNULIB_PUTENV@ +# if @REPLACE_PUTENV@ +# undef putenv +# define putenv rpl_putenv +extern int putenv (char *string); +# endif +#endif + + +#if @GNULIB_RPMATCH@ +# if !@HAVE_RPMATCH@ +/* Test a user response to a question. + Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ +extern int rpmatch (const char *response); +# endif +#elif defined GNULIB_POSIXCHECK +# undef rpmatch +# define rpmatch(r) \ + (GL_LINK_WARNING ("rpmatch is unportable - " \ + "use gnulib module rpmatch for portability"), \ + rpmatch (r)) +#endif + + +#if @GNULIB_SETENV@ +# if !@HAVE_SETENV@ +/* Set NAME to VALUE in the environment. + If REPLACE is nonzero, overwrite an existing value. */ +extern int setenv (const char *name, const char *value, int replace); +# endif +#endif + + +#if @GNULIB_UNSETENV@ +# if @HAVE_UNSETENV@ +# if @VOID_UNSETENV@ +/* On some systems, unsetenv() returns void. + This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ +# define unsetenv(name) ((unsetenv)(name), 0) +# endif +# else +/* Remove the variable NAME from the environment. */ +extern int unsetenv (const char *name); +# endif +#endif + + +#if @GNULIB_STRTOD@ +# if @REPLACE_STRTOD@ +# define strtod rpl_strtod +# endif +# if !@HAVE_STRTOD@ || @REPLACE_STRTOD@ + /* Parse a double from STRING, updating ENDP if appropriate. */ +extern double strtod (const char *str, char **endp); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strtod +# define strtod(s, e) \ + (GL_LINK_WARNING ("strtod is unportable - " \ + "use gnulib module strtod for portability"), \ + strtod (s, e)) +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_STDLIB_H */ +#endif /* _GL_STDLIB_H */ +#endif diff -Nru gnutls26-2.8.6/lgl/strcasecmp.c gnutls26-2.4.1/lgl/strcasecmp.c --- gnutls26-2.8.6/lgl/strcasecmp.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/strcasecmp.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,63 @@ +/* Case-insensitive string comparison function. + Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include + +#include +#include + +#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) + +/* Compare strings S1 and S2, ignoring case, returning less than, equal to or + greater than zero if S1 is lexicographically less than, equal to or greater + than S2. + Note: This function does not work with multibyte strings! */ + +int +strcasecmp (const char *s1, const char *s2) +{ + const unsigned char *p1 = (const unsigned char *) s1; + const unsigned char *p2 = (const unsigned char *) s2; + unsigned char c1, c2; + + if (p1 == p2) + return 0; + + do + { + c1 = TOLOWER (*p1); + c2 = TOLOWER (*p2); + + if (c1 == '\0') + break; + + ++p1; + ++p2; + } + while (c1 == c2); + + if (UCHAR_MAX <= INT_MAX) + return c1 - c2; + else + /* On machines where 'char' and 'int' are types of the same size, the + difference of two 'unsigned char' values - including the sign bit - + doesn't fit in an 'int'. */ + return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); +} diff -Nru gnutls26-2.8.6/lgl/string.in.h gnutls26-2.4.1/lgl/string.in.h --- gnutls26-2.8.6/lgl/string.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/string.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,585 @@ +/* A GNU-like . + + Copyright (C) 1995-1996, 2001-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _GL_STRING_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_STRING_H@ + +#ifndef _GL_STRING_H +#define _GL_STRING_H + + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The attribute __pure__ was added in gcc 2.96. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) +# define __pure__ /* empty */ +# endif +#endif + + +/* The definition of GL_LINK_WARNING is copied here. */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Return the first occurrence of NEEDLE in HAYSTACK. */ +#if @GNULIB_MEMMEM@ +# if @REPLACE_MEMMEM@ +# define memmem rpl_memmem +# endif +# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@ +extern void *memmem (void const *__haystack, size_t __haystack_len, + void const *__needle, size_t __needle_len) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +# undef memmem +# define memmem(a,al,b,bl) \ + (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \ + "use gnulib module memmem-simple for portability, " \ + "and module memmem for speed" ), \ + memmem (a, al, b, bl)) +#endif + +/* Copy N bytes of SRC to DEST, return pointer to bytes after the + last written byte. */ +#if @GNULIB_MEMPCPY@ +# if ! @HAVE_MEMPCPY@ +extern void *mempcpy (void *restrict __dest, void const *restrict __src, + size_t __n); +# endif +#elif defined GNULIB_POSIXCHECK +# undef mempcpy +# define mempcpy(a,b,n) \ + (GL_LINK_WARNING ("mempcpy is unportable - " \ + "use gnulib module mempcpy for portability"), \ + mempcpy (a, b, n)) +#endif + +/* Search backwards through a block for a byte (specified as an int). */ +#if @GNULIB_MEMRCHR@ +# if ! @HAVE_DECL_MEMRCHR@ +extern void *memrchr (void const *, int, size_t) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +# undef memrchr +# define memrchr(a,b,c) \ + (GL_LINK_WARNING ("memrchr is unportable - " \ + "use gnulib module memrchr for portability"), \ + memrchr (a, b, c)) +#endif + +/* Find the first occurrence of C in S. More efficient than + memchr(S,C,N), at the expense of undefined behavior if C does not + occur within N bytes. */ +#if @GNULIB_RAWMEMCHR@ +# if ! @HAVE_RAWMEMCHR@ +extern void *rawmemchr (void const *__s, int __c_in) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +# undef rawmemchr +# define rawmemchr(a,b) \ + (GL_LINK_WARNING ("rawmemchr is unportable - " \ + "use gnulib module rawmemchr for portability"), \ + rawmemchr (a, b)) +#endif + +/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ +#if @GNULIB_STPCPY@ +# if ! @HAVE_STPCPY@ +extern char *stpcpy (char *restrict __dst, char const *restrict __src); +# endif +#elif defined GNULIB_POSIXCHECK +# undef stpcpy +# define stpcpy(a,b) \ + (GL_LINK_WARNING ("stpcpy is unportable - " \ + "use gnulib module stpcpy for portability"), \ + stpcpy (a, b)) +#endif + +/* Copy no more than N bytes of SRC to DST, returning a pointer past the + last non-NUL byte written into DST. */ +#if @GNULIB_STPNCPY@ +# if ! @HAVE_STPNCPY@ +# define stpncpy gnu_stpncpy +extern char *stpncpy (char *restrict __dst, char const *restrict __src, + size_t __n); +# endif +#elif defined GNULIB_POSIXCHECK +# undef stpncpy +# define stpncpy(a,b,n) \ + (GL_LINK_WARNING ("stpncpy is unportable - " \ + "use gnulib module stpncpy for portability"), \ + stpncpy (a, b, n)) +#endif + +#if defined GNULIB_POSIXCHECK +/* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +# undef strchr +# define strchr(s,c) \ + (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \ + "in some multibyte locales - " \ + "use mbschr if you care about internationalization"), \ + strchr (s, c)) +#endif + +/* Find the first occurrence of C in S or the final NUL byte. */ +#if @GNULIB_STRCHRNUL@ +# if ! @HAVE_STRCHRNUL@ +extern char *strchrnul (char const *__s, int __c_in) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strchrnul +# define strchrnul(a,b) \ + (GL_LINK_WARNING ("strchrnul is unportable - " \ + "use gnulib module strchrnul for portability"), \ + strchrnul (a, b)) +#endif + +/* Duplicate S, returning an identical malloc'd string. */ +#if @GNULIB_STRDUP@ +# if ! @HAVE_DECL_STRDUP@ && ! defined strdup +extern char *strdup (char const *__s); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strdup +# define strdup(a) \ + (GL_LINK_WARNING ("strdup is unportable - " \ + "use gnulib module strdup for portability"), \ + strdup (a)) +#endif + +/* Return a newly allocated copy of at most N bytes of STRING. */ +#if @GNULIB_STRNDUP@ +# if ! @HAVE_STRNDUP@ +# undef strndup +# define strndup rpl_strndup +# endif +# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@ +extern char *strndup (char const *__string, size_t __n); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strndup +# define strndup(a,n) \ + (GL_LINK_WARNING ("strndup is unportable - " \ + "use gnulib module strndup for portability"), \ + strndup (a, n)) +#endif + +/* Find the length (number of bytes) of STRING, but scan at most + MAXLEN bytes. If no '\0' terminator is found in that many bytes, + return MAXLEN. */ +#if @GNULIB_STRNLEN@ +# if ! @HAVE_DECL_STRNLEN@ +extern size_t strnlen (char const *__string, size_t __maxlen) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strnlen +# define strnlen(a,n) \ + (GL_LINK_WARNING ("strnlen is unportable - " \ + "use gnulib module strnlen for portability"), \ + strnlen (a, n)) +#endif + +#if defined GNULIB_POSIXCHECK +/* strcspn() assumes the second argument is a list of single-byte characters. + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +# undef strcspn +# define strcspn(s,a) \ + (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbscspn if you care about internationalization"), \ + strcspn (s, a)) +#endif + +/* Find the first occurrence in S of any character in ACCEPT. */ +#if @GNULIB_STRPBRK@ +# if ! @HAVE_STRPBRK@ +extern char *strpbrk (char const *__s, char const *__accept) + __attribute__ ((__pure__)); +# endif +# if defined GNULIB_POSIXCHECK +/* strpbrk() assumes the second argument is a list of single-byte characters. + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +# undef strpbrk +# define strpbrk(s,a) \ + (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbspbrk if you care about internationalization"), \ + strpbrk (s, a)) +# endif +#elif defined GNULIB_POSIXCHECK +# undef strpbrk +# define strpbrk(s,a) \ + (GL_LINK_WARNING ("strpbrk is unportable - " \ + "use gnulib module strpbrk for portability"), \ + strpbrk (s, a)) +#endif + +#if defined GNULIB_POSIXCHECK +/* strspn() assumes the second argument is a list of single-byte characters. + Even in this simple case, it cannot work with multibyte strings. */ +# undef strspn +# define strspn(s,a) \ + (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbsspn if you care about internationalization"), \ + strspn (s, a)) +#endif + +#if defined GNULIB_POSIXCHECK +/* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +# undef strrchr +# define strrchr(s,c) \ + (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \ + "in some multibyte locales - " \ + "use mbsrchr if you care about internationalization"), \ + strrchr (s, c)) +#endif + +/* Search the next delimiter (char listed in DELIM) starting at *STRINGP. + If one is found, overwrite it with a NUL, and advance *STRINGP + to point to the next char after it. Otherwise, set *STRINGP to NULL. + If *STRINGP was already NULL, nothing happens. + Return the old value of *STRINGP. + + This is a variant of strtok() that is multithread-safe and supports + empty fields. + + Caveat: It modifies the original string. + Caveat: These functions cannot be used on constant strings. + Caveat: The identity of the delimiting character is lost. + Caveat: It doesn't work with multibyte strings unless all of the delimiter + characters are ASCII characters < 0x30. + + See also strtok_r(). */ +#if @GNULIB_STRSEP@ +# if ! @HAVE_STRSEP@ +extern char *strsep (char **restrict __stringp, char const *restrict __delim); +# endif +# if defined GNULIB_POSIXCHECK +# undef strsep +# define strsep(s,d) \ + (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbssep if you care about internationalization"), \ + strsep (s, d)) +# endif +#elif defined GNULIB_POSIXCHECK +# undef strsep +# define strsep(s,d) \ + (GL_LINK_WARNING ("strsep is unportable - " \ + "use gnulib module strsep for portability"), \ + strsep (s, d)) +#endif + +#if @GNULIB_STRSTR@ +# if @REPLACE_STRSTR@ +# define strstr rpl_strstr +char *strstr (const char *haystack, const char *needle) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +/* strstr() does not work with multibyte strings if the locale encoding is + different from UTF-8: + POSIX says that it operates on "strings", and "string" in POSIX is defined + as a sequence of bytes, not of characters. */ +# undef strstr +# define strstr(a,b) \ + (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \ + "work correctly on character strings in most " \ + "multibyte locales - " \ + "use mbsstr if you care about internationalization, " \ + "or use strstr if you care about speed"), \ + strstr (a, b)) +#endif + +/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive + comparison. */ +#if @GNULIB_STRCASESTR@ +# if @REPLACE_STRCASESTR@ +# define strcasestr rpl_strcasestr +# endif +# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@ +extern char *strcasestr (const char *haystack, const char *needle) + __attribute__ ((__pure__)); +# endif +#elif defined GNULIB_POSIXCHECK +/* strcasestr() does not work with multibyte strings: + It is a glibc extension, and glibc implements it only for unibyte + locales. */ +# undef strcasestr +# define strcasestr(a,b) \ + (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \ + "in multibyte locales - " \ + "use mbscasestr if you care about " \ + "internationalization, or use c-strcasestr if you want " \ + "a locale independent function"), \ + strcasestr (a, b)) +#endif + +/* Parse S into tokens separated by characters in DELIM. + If S is NULL, the saved pointer in SAVE_PTR is used as + the next starting point. For example: + char s[] = "-abc-=-def"; + char *sp; + x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" + x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL + x = strtok_r(NULL, "=", &sp); // x = NULL + // s = "abc\0-def\0" + + This is a variant of strtok() that is multithread-safe. + + For the POSIX documentation for this function, see: + http://www.opengroup.org/susv3xsh/strtok.html + + Caveat: It modifies the original string. + Caveat: These functions cannot be used on constant strings. + Caveat: The identity of the delimiting character is lost. + Caveat: It doesn't work with multibyte strings unless all of the delimiter + characters are ASCII characters < 0x30. + + See also strsep(). */ +#if @GNULIB_STRTOK_R@ +# if ! @HAVE_DECL_STRTOK_R@ +extern char *strtok_r (char *restrict s, char const *restrict delim, + char **restrict save_ptr); +# endif +# if defined GNULIB_POSIXCHECK +# undef strtok_r +# define strtok_r(s,d,p) \ + (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbstok_r if you care about internationalization"), \ + strtok_r (s, d, p)) +# endif +#elif defined GNULIB_POSIXCHECK +# undef strtok_r +# define strtok_r(s,d,p) \ + (GL_LINK_WARNING ("strtok_r is unportable - " \ + "use gnulib module strtok_r for portability"), \ + strtok_r (s, d, p)) +#endif + + +/* The following functions are not specified by POSIX. They are gnulib + extensions. */ + +#if @GNULIB_MBSLEN@ +/* Return the number of multibyte characters in the character string STRING. + This considers multibyte characters, unlike strlen, which counts bytes. */ +extern size_t mbslen (const char *string); +#endif + +#if @GNULIB_MBSNLEN@ +/* Return the number of multibyte characters in the character string starting + at STRING and ending at STRING + LEN. */ +extern size_t mbsnlen (const char *string, size_t len); +#endif + +#if @GNULIB_MBSCHR@ +/* Locate the first single-byte character C in the character string STRING, + and return a pointer to it. Return NULL if C is not found in STRING. + Unlike strchr(), this function works correctly in multibyte locales with + encodings such as GB18030. */ +# define mbschr rpl_mbschr /* avoid collision with HP-UX function */ +extern char * mbschr (const char *string, int c); +#endif + +#if @GNULIB_MBSRCHR@ +/* Locate the last single-byte character C in the character string STRING, + and return a pointer to it. Return NULL if C is not found in STRING. + Unlike strrchr(), this function works correctly in multibyte locales with + encodings such as GB18030. */ +# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ +extern char * mbsrchr (const char *string, int c); +#endif + +#if @GNULIB_MBSSTR@ +/* Find the first occurrence of the character string NEEDLE in the character + string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. + Unlike strstr(), this function works correctly in multibyte locales with + encodings different from UTF-8. */ +extern char * mbsstr (const char *haystack, const char *needle); +#endif + +#if @GNULIB_MBSCASECMP@ +/* Compare the character strings S1 and S2, ignoring case, returning less than, + equal to or greater than zero if S1 is lexicographically less than, equal to + or greater than S2. + Note: This function may, in multibyte locales, return 0 for strings of + different lengths! + Unlike strcasecmp(), this function works correctly in multibyte locales. */ +extern int mbscasecmp (const char *s1, const char *s2); +#endif + +#if @GNULIB_MBSNCASECMP@ +/* Compare the initial segment of the character string S1 consisting of at most + N characters with the initial segment of the character string S2 consisting + of at most N characters, ignoring case, returning less than, equal to or + greater than zero if the initial segment of S1 is lexicographically less + than, equal to or greater than the initial segment of S2. + Note: This function may, in multibyte locales, return 0 for initial segments + of different lengths! + Unlike strncasecmp(), this function works correctly in multibyte locales. + But beware that N is not a byte count but a character count! */ +extern int mbsncasecmp (const char *s1, const char *s2, size_t n); +#endif + +#if @GNULIB_MBSPCASECMP@ +/* Compare the initial segment of the character string STRING consisting of + at most mbslen (PREFIX) characters with the character string PREFIX, + ignoring case, returning less than, equal to or greater than zero if this + initial segment is lexicographically less than, equal to or greater than + PREFIX. + Note: This function may, in multibyte locales, return 0 if STRING is of + smaller length than PREFIX! + Unlike strncasecmp(), this function works correctly in multibyte + locales. */ +extern char * mbspcasecmp (const char *string, const char *prefix); +#endif + +#if @GNULIB_MBSCASESTR@ +/* Find the first occurrence of the character string NEEDLE in the character + string HAYSTACK, using case-insensitive comparison. + Note: This function may, in multibyte locales, return success even if + strlen (haystack) < strlen (needle) ! + Unlike strcasestr(), this function works correctly in multibyte locales. */ +extern char * mbscasestr (const char *haystack, const char *needle); +#endif + +#if @GNULIB_MBSCSPN@ +/* Find the first occurrence in the character string STRING of any character + in the character string ACCEPT. Return the number of bytes from the + beginning of the string to this occurrence, or to the end of the string + if none exists. + Unlike strcspn(), this function works correctly in multibyte locales. */ +extern size_t mbscspn (const char *string, const char *accept); +#endif + +#if @GNULIB_MBSPBRK@ +/* Find the first occurrence in the character string STRING of any character + in the character string ACCEPT. Return the pointer to it, or NULL if none + exists. + Unlike strpbrk(), this function works correctly in multibyte locales. */ +# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ +extern char * mbspbrk (const char *string, const char *accept); +#endif + +#if @GNULIB_MBSSPN@ +/* Find the first occurrence in the character string STRING of any character + not in the character string REJECT. Return the number of bytes from the + beginning of the string to this occurrence, or to the end of the string + if none exists. + Unlike strspn(), this function works correctly in multibyte locales. */ +extern size_t mbsspn (const char *string, const char *reject); +#endif + +#if @GNULIB_MBSSEP@ +/* Search the next delimiter (multibyte character listed in the character + string DELIM) starting at the character string *STRINGP. + If one is found, overwrite it with a NUL, and advance *STRINGP to point + to the next multibyte character after it. Otherwise, set *STRINGP to NULL. + If *STRINGP was already NULL, nothing happens. + Return the old value of *STRINGP. + + This is a variant of mbstok_r() that supports empty fields. + + Caveat: It modifies the original string. + Caveat: These functions cannot be used on constant strings. + Caveat: The identity of the delimiting character is lost. + + See also mbstok_r(). */ +extern char * mbssep (char **stringp, const char *delim); +#endif + +#if @GNULIB_MBSTOK_R@ +/* Parse the character string STRING into tokens separated by characters in + the character string DELIM. + If STRING is NULL, the saved pointer in SAVE_PTR is used as + the next starting point. For example: + char s[] = "-abc-=-def"; + char *sp; + x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" + x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL + x = mbstok_r(NULL, "=", &sp); // x = NULL + // s = "abc\0-def\0" + + Caveat: It modifies the original string. + Caveat: These functions cannot be used on constant strings. + Caveat: The identity of the delimiting character is lost. + + See also mbssep(). */ +extern char * mbstok_r (char *string, const char *delim, char **save_ptr); +#endif + +/* Map any int, typically from errno, into an error message. */ +#if @GNULIB_STRERROR@ +# if @REPLACE_STRERROR@ +# undef strerror +# define strerror rpl_strerror +extern char *strerror (int); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strerror +# define strerror(e) \ + (GL_LINK_WARNING ("strerror is unportable - " \ + "use gnulib module strerror to guarantee non-NULL result"), \ + strerror (e)) +#endif + +#if @GNULIB_STRSIGNAL@ +# if @REPLACE_STRSIGNAL@ +# define strsignal rpl_strsignal +# endif +# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@ +extern char *strsignal (int __sig); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strsignal +# define strsignal(a) \ + (GL_LINK_WARNING ("strsignal is unportable - " \ + "use gnulib module strsignal for portability"), \ + strsignal (a)) +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_STRING_H */ +#endif /* _GL_STRING_H */ diff -Nru gnutls26-2.8.6/lgl/strings.in.h gnutls26-2.4.1/lgl/strings.in.h --- gnutls26-2.8.6/lgl/strings.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/strings.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,86 @@ +/* A substitute . + + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _GL_STRINGS_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_STRINGS_H@ + +#ifndef _GL_STRINGS_H +#define _GL_STRINGS_H + + +/* The definition of GL_LINK_WARNING is copied here. */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Compare strings S1 and S2, ignoring case, returning less than, equal to or + greater than zero if S1 is lexicographically less than, equal to or greater + than S2. + Note: This function does not work in multibyte locales. */ +#if ! @HAVE_STRCASECMP@ +extern int strcasecmp (char const *s1, char const *s2); +#endif +#if defined GNULIB_POSIXCHECK +/* strcasecmp() does not work with multibyte strings: + POSIX says that it operates on "strings", and "string" in POSIX is defined + as a sequence of bytes, not of characters. */ +# undef strcasecmp +# define strcasecmp(a,b) \ + (GL_LINK_WARNING ("strcasecmp cannot work correctly on character strings " \ + "in multibyte locales - " \ + "use mbscasecmp if you care about " \ + "internationalization, or use c_strcasecmp (from " \ + "gnulib module c-strcase) if you want a locale " \ + "independent function"), \ + strcasecmp (a, b)) +#endif + +/* Compare no more than N bytes of strings S1 and S2, ignoring case, + returning less than, equal to or greater than zero if S1 is + lexicographically less than, equal to or greater than S2. + Note: This function cannot work correctly in multibyte locales. */ +#if ! @HAVE_DECL_STRNCASECMP@ +extern int strncasecmp (char const *s1, char const *s2, size_t n); +#endif +#if defined GNULIB_POSIXCHECK +/* strncasecmp() does not work with multibyte strings: + POSIX says that it operates on "strings", and "string" in POSIX is defined + as a sequence of bytes, not of characters. */ +# undef strncasecmp +# define strncasecmp(a,b,n) \ + (GL_LINK_WARNING ("strncasecmp cannot work correctly on character " \ + "strings in multibyte locales - " \ + "use mbsncasecmp or mbspcasecmp if you care about " \ + "internationalization, or use c_strncasecmp (from " \ + "gnulib module c-strcase) if you want a locale " \ + "independent function"), \ + strncasecmp (a, b, n)) +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_STRING_H */ +#endif /* _GL_STRING_H */ diff -Nru gnutls26-2.8.6/lgl/strncasecmp.c gnutls26-2.4.1/lgl/strncasecmp.c --- gnutls26-2.8.6/lgl/strncasecmp.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/strncasecmp.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,63 @@ +/* strncasecmp.c -- case insensitive string comparator + Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include + +#include +#include + +#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) + +/* Compare no more than N bytes of strings S1 and S2, ignoring case, + returning less than, equal to or greater than zero if S1 is + lexicographically less than, equal to or greater than S2. + Note: This function cannot work correctly in multibyte locales. */ + +int +strncasecmp (const char *s1, const char *s2, size_t n) +{ + register const unsigned char *p1 = (const unsigned char *) s1; + register const unsigned char *p2 = (const unsigned char *) s2; + unsigned char c1, c2; + + if (p1 == p2 || n == 0) + return 0; + + do + { + c1 = TOLOWER (*p1); + c2 = TOLOWER (*p2); + + if (--n == 0 || c1 == '\0') + break; + + ++p1; + ++p2; + } + while (c1 == c2); + + if (UCHAR_MAX <= INT_MAX) + return c1 - c2; + else + /* On machines where 'char' and 'int' are types of the same size, the + difference of two 'unsigned char' values - including the sign bit - + doesn't fit in an 'int'. */ + return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); +} diff -Nru gnutls26-2.8.6/lgl/str-two-way.h gnutls26-2.4.1/lgl/str-two-way.h --- gnutls26-2.8.6/lgl/str-two-way.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/str-two-way.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,429 @@ +/* Byte-wise substring search, using the Two-Way algorithm. + Copyright (C) 2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Eric Blake , 2008. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Before including this file, you need to include and + , and define: + RESULT_TYPE A macro that expands to the return type. + AVAILABLE(h, h_l, j, n_l) + A macro that returns nonzero if there are + at least N_L bytes left starting at H[J]. + H is 'unsigned char *', H_L, J, and N_L + are 'size_t'; H_L is an lvalue. For + NUL-terminated searches, H_L can be + modified each iteration to avoid having + to compute the end of H up front. + + For case-insensitivity, you may optionally define: + CMP_FUNC(p1, p2, l) A macro that returns 0 iff the first L + characters of P1 and P2 are equal. + CANON_ELEMENT(c) A macro that canonicalizes an element right after + it has been fetched from one of the two strings. + The argument is an 'unsigned char'; the result + must be an 'unsigned char' as well. + + This file undefines the macros documented above, and defines + LONG_NEEDLE_THRESHOLD. +*/ + +#include +#include + +/* We use the Two-Way string matching algorithm, which guarantees + linear complexity with constant space. Additionally, for long + needles, we also use a bad character shift table similar to the + Boyer-Moore algorithm to achieve improved (potentially sub-linear) + performance. + + See http://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260 + and http://en.wikipedia.org/wiki/Boyer-Moore_string_search_algorithm +*/ + +/* Point at which computing a bad-byte shift table is likely to be + worthwhile. Small needles should not compute a table, since it + adds (1 << CHAR_BIT) + NEEDLE_LEN computations of preparation for a + speedup no greater than a factor of NEEDLE_LEN. The larger the + needle, the better the potential performance gain. On the other + hand, on non-POSIX systems with CHAR_BIT larger than eight, the + memory required for the table is prohibitive. */ +#if CHAR_BIT < 10 +# define LONG_NEEDLE_THRESHOLD 32U +#else +# define LONG_NEEDLE_THRESHOLD SIZE_MAX +#endif + +#ifndef MAX +# define MAX(a, b) ((a < b) ? (b) : (a)) +#endif + +#ifndef CANON_ELEMENT +# define CANON_ELEMENT(c) c +#endif +#ifndef CMP_FUNC +# define CMP_FUNC memcmp +#endif + +/* Perform a critical factorization of NEEDLE, of length NEEDLE_LEN. + Return the index of the first byte in the right half, and set + *PERIOD to the global period of the right half. + + The global period of a string is the smallest index (possibly its + length) at which all remaining bytes in the string are repetitions + of the prefix (the last repetition may be a subset of the prefix). + + When NEEDLE is factored into two halves, a local period is the + length of the smallest word that shares a suffix with the left half + and shares a prefix with the right half. All factorizations of a + non-empty NEEDLE have a local period of at least 1 and no greater + than NEEDLE_LEN. + + A critical factorization has the property that the local period + equals the global period. All strings have at least one critical + factorization with the left half smaller than the global period. + + Given an ordered alphabet, a critical factorization can be computed + in linear time, with 2 * NEEDLE_LEN comparisons, by computing the + larger of two ordered maximal suffixes. The ordered maximal + suffixes are determined by lexicographic comparison of + periodicity. */ +static size_t +critical_factorization (const unsigned char *needle, size_t needle_len, + size_t *period) +{ + /* Index of last byte of left half, or SIZE_MAX. */ + size_t max_suffix, max_suffix_rev; + size_t j; /* Index into NEEDLE for current candidate suffix. */ + size_t k; /* Offset into current period. */ + size_t p; /* Intermediate period. */ + unsigned char a, b; /* Current comparison bytes. */ + + /* Invariants: + 0 <= j < NEEDLE_LEN - 1 + -1 <= max_suffix{,_rev} < j (treating SIZE_MAX as if it were signed) + min(max_suffix, max_suffix_rev) < global period of NEEDLE + 1 <= p <= global period of NEEDLE + p == global period of the substring NEEDLE[max_suffix{,_rev}+1...j] + 1 <= k <= p + */ + + /* Perform lexicographic search. */ + max_suffix = SIZE_MAX; + j = 0; + k = p = 1; + while (j + k < needle_len) + { + a = CANON_ELEMENT (needle[j + k]); + b = CANON_ELEMENT (needle[max_suffix + k]); + if (a < b) + { + /* Suffix is smaller, period is entire prefix so far. */ + j += k; + k = 1; + p = j - max_suffix; + } + else if (a == b) + { + /* Advance through repetition of the current period. */ + if (k != p) + ++k; + else + { + j += p; + k = 1; + } + } + else /* b < a */ + { + /* Suffix is larger, start over from current location. */ + max_suffix = j++; + k = p = 1; + } + } + *period = p; + + /* Perform reverse lexicographic search. */ + max_suffix_rev = SIZE_MAX; + j = 0; + k = p = 1; + while (j + k < needle_len) + { + a = CANON_ELEMENT (needle[j + k]); + b = CANON_ELEMENT (needle[max_suffix_rev + k]); + if (b < a) + { + /* Suffix is smaller, period is entire prefix so far. */ + j += k; + k = 1; + p = j - max_suffix_rev; + } + else if (a == b) + { + /* Advance through repetition of the current period. */ + if (k != p) + ++k; + else + { + j += p; + k = 1; + } + } + else /* a < b */ + { + /* Suffix is larger, start over from current location. */ + max_suffix_rev = j++; + k = p = 1; + } + } + + /* Choose the longer suffix. Return the first byte of the right + half, rather than the last byte of the left half. */ + if (max_suffix_rev + 1 < max_suffix + 1) + return max_suffix + 1; + *period = p; + return max_suffix_rev + 1; +} + +/* Return the first location of non-empty NEEDLE within HAYSTACK, or + NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This + method is optimized for NEEDLE_LEN < LONG_NEEDLE_THRESHOLD. + Performance is guaranteed to be linear, with an initialization cost + of 2 * NEEDLE_LEN comparisons. + + If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at + most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. + If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * + HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ +static RETURN_TYPE +two_way_short_needle (const unsigned char *haystack, size_t haystack_len, + const unsigned char *needle, size_t needle_len) +{ + size_t i; /* Index into current byte of NEEDLE. */ + size_t j; /* Index into current window of HAYSTACK. */ + size_t period; /* The period of the right half of needle. */ + size_t suffix; /* The index of the right half of needle. */ + + /* Factor the needle into two halves, such that the left half is + smaller than the global period, and the right half is + periodic (with a period as large as NEEDLE_LEN - suffix). */ + suffix = critical_factorization (needle, needle_len, &period); + + /* Perform the search. Each iteration compares the right half + first. */ + if (CMP_FUNC (needle, needle + period, suffix) == 0) + { + /* Entire needle is periodic; a mismatch can only advance by the + period, so use memory to avoid rescanning known occurrences + of the period. */ + size_t memory = 0; + j = 0; + while (AVAILABLE (haystack, haystack_len, j, needle_len)) + { + /* Scan for matches in right half. */ + i = MAX (suffix, memory); + while (i < needle_len && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + ++i; + if (needle_len <= i) + { + /* Scan for matches in left half. */ + i = suffix - 1; + while (memory < i + 1 && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + --i; + if (i + 1 < memory + 1) + return (RETURN_TYPE) (haystack + j); + /* No match, so remember how many repetitions of period + on the right half were scanned. */ + j += period; + memory = needle_len - period; + } + else + { + j += i - suffix + 1; + memory = 0; + } + } + } + else + { + /* The two halves of needle are distinct; no extra memory is + required, and any mismatch results in a maximal shift. */ + period = MAX (suffix, needle_len - suffix) + 1; + j = 0; + while (AVAILABLE (haystack, haystack_len, j, needle_len)) + { + /* Scan for matches in right half. */ + i = suffix; + while (i < needle_len && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + ++i; + if (needle_len <= i) + { + /* Scan for matches in left half. */ + i = suffix - 1; + while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + --i; + if (i == SIZE_MAX) + return (RETURN_TYPE) (haystack + j); + j += period; + } + else + j += i - suffix + 1; + } + } + return NULL; +} + +/* Return the first location of non-empty NEEDLE within HAYSTACK, or + NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This + method is optimized for LONG_NEEDLE_THRESHOLD <= NEEDLE_LEN. + Performance is guaranteed to be linear, with an initialization cost + of 3 * NEEDLE_LEN + (1 << CHAR_BIT) operations. + + If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at + most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, + and sublinear performance O(HAYSTACK_LEN / NEEDLE_LEN) is possible. + If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * + HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and + sublinear performance is not possible. */ +static RETURN_TYPE +two_way_long_needle (const unsigned char *haystack, size_t haystack_len, + const unsigned char *needle, size_t needle_len) +{ + size_t i; /* Index into current byte of NEEDLE. */ + size_t j; /* Index into current window of HAYSTACK. */ + size_t period; /* The period of the right half of needle. */ + size_t suffix; /* The index of the right half of needle. */ + size_t shift_table[1U << CHAR_BIT]; /* See below. */ + + /* Factor the needle into two halves, such that the left half is + smaller than the global period, and the right half is + periodic (with a period as large as NEEDLE_LEN - suffix). */ + suffix = critical_factorization (needle, needle_len, &period); + + /* Populate shift_table. For each possible byte value c, + shift_table[c] is the distance from the last occurrence of c to + the end of NEEDLE, or NEEDLE_LEN if c is absent from the NEEDLE. + shift_table[NEEDLE[NEEDLE_LEN - 1]] contains the only 0. */ + for (i = 0; i < 1U << CHAR_BIT; i++) + shift_table[i] = needle_len; + for (i = 0; i < needle_len; i++) + shift_table[CANON_ELEMENT (needle[i])] = needle_len - i - 1; + + /* Perform the search. Each iteration compares the right half + first. */ + if (CMP_FUNC (needle, needle + period, suffix) == 0) + { + /* Entire needle is periodic; a mismatch can only advance by the + period, so use memory to avoid rescanning known occurrences + of the period. */ + size_t memory = 0; + size_t shift; + j = 0; + while (AVAILABLE (haystack, haystack_len, j, needle_len)) + { + /* Check the last byte first; if it does not match, then + shift to the next possible match location. */ + shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; + if (0 < shift) + { + if (memory && shift < period) + { + /* Since needle is periodic, but the last period has + a byte out of place, there can be no match until + after the mismatch. */ + shift = needle_len - period; + memory = 0; + } + j += shift; + continue; + } + /* Scan for matches in right half. The last byte has + already been matched, by virtue of the shift table. */ + i = MAX (suffix, memory); + while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + ++i; + if (needle_len - 1 <= i) + { + /* Scan for matches in left half. */ + i = suffix - 1; + while (memory < i + 1 && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + --i; + if (i + 1 < memory + 1) + return (RETURN_TYPE) (haystack + j); + /* No match, so remember how many repetitions of period + on the right half were scanned. */ + j += period; + memory = needle_len - period; + } + else + { + j += i - suffix + 1; + memory = 0; + } + } + } + else + { + /* The two halves of needle are distinct; no extra memory is + required, and any mismatch results in a maximal shift. */ + size_t shift; + period = MAX (suffix, needle_len - suffix) + 1; + j = 0; + while (AVAILABLE (haystack, haystack_len, j, needle_len)) + { + /* Check the last byte first; if it does not match, then + shift to the next possible match location. */ + shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; + if (0 < shift) + { + j += shift; + continue; + } + /* Scan for matches in right half. The last byte has + already been matched, by virtue of the shift table. */ + i = suffix; + while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + ++i; + if (needle_len - 1 <= i) + { + /* Scan for matches in left half. */ + i = suffix - 1; + while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) + == CANON_ELEMENT (haystack[i + j]))) + --i; + if (i == SIZE_MAX) + return (RETURN_TYPE) (haystack + j); + j += period; + } + else + j += i - suffix + 1; + } + } + return NULL; +} + +#undef AVAILABLE +#undef CANON_ELEMENT +#undef CMP_FUNC +#undef MAX +#undef RETURN_TYPE diff -Nru gnutls26-2.8.6/lgl/strverscmp.c gnutls26-2.4.1/lgl/strverscmp.c --- gnutls26-2.8.6/lgl/strverscmp.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/strverscmp.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,131 @@ +/* Compare strings while treating digits characters numerically. + Copyright (C) 1997, 2000, 2002, 2004, 2006 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jean-François Bignolles , 1997. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#if !_LIBC +# include +#endif + +#include +#include + +/* states: S_N: normal, S_I: comparing integral part, S_F: comparing + fractional parts, S_Z: idem but with leading Zeroes only */ +#define S_N 0x0 +#define S_I 0x4 +#define S_F 0x8 +#define S_Z 0xC + +/* result_type: CMP: return diff; LEN: compare using len_diff/diff */ +#define CMP 2 +#define LEN 3 + + +/* ISDIGIT differs from isdigit, as follows: + - Its arg may be any int or unsigned int; it need not be an unsigned char + or EOF. + - It's typically faster. + POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to + isdigit unless it's important to use the locale's definition + of `digit' even when the host does not conform to POSIX. */ +#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) + +#undef __strverscmp +#undef strverscmp + +#ifndef weak_alias +# define __strverscmp strverscmp +#endif + +/* Compare S1 and S2 as strings holding indices/version numbers, + returning less than, equal to or greater than zero if S1 is less than, + equal to or greater than S2 (for more info, see the texinfo doc). +*/ + +int +__strverscmp (const char *s1, const char *s2) +{ + const unsigned char *p1 = (const unsigned char *) s1; + const unsigned char *p2 = (const unsigned char *) s2; + unsigned char c1, c2; + int state; + int diff; + + /* Symbol(s) 0 [1-9] others (padding) + Transition (10) 0 (01) d (00) x (11) - */ + static const unsigned int next_state[] = + { + /* state x d 0 - */ + /* S_N */ S_N, S_I, S_Z, S_N, + /* S_I */ S_N, S_I, S_I, S_I, + /* S_F */ S_N, S_F, S_F, S_F, + /* S_Z */ S_N, S_F, S_Z, S_Z + }; + + static const int result_type[] = + { + /* state x/x x/d x/0 x/- d/x d/d d/0 d/- + 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */ + + /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, + CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, + /* S_I */ CMP, -1, -1, CMP, 1, LEN, LEN, CMP, + 1, LEN, LEN, CMP, CMP, CMP, CMP, CMP, + /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, + CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, + /* S_Z */ CMP, 1, 1, CMP, -1, CMP, CMP, CMP, + -1, CMP, CMP, CMP + }; + + if (p1 == p2) + return 0; + + c1 = *p1++; + c2 = *p2++; + /* Hint: '0' is a digit too. */ + state = S_N | ((c1 == '0') + (ISDIGIT (c1) != 0)); + + while ((diff = c1 - c2) == 0 && c1 != '\0') + { + state = next_state[state]; + c1 = *p1++; + c2 = *p2++; + state |= (c1 == '0') + (ISDIGIT (c1) != 0); + } + + state = result_type[state << 2 | ((c2 == '0') + (ISDIGIT (c2) != 0))]; + + switch (state) + { + case CMP: + return diff; + + case LEN: + while (ISDIGIT (*p1++)) + if (!ISDIGIT (*p2++)) + return 1; + + return ISDIGIT (*p2) ? -1 : diff; + + default: + return state; + } +} +#ifdef weak_alias +weak_alias (__strverscmp, strverscmp) +#endif diff -Nru gnutls26-2.8.6/lgl/strverscmp.h gnutls26-2.4.1/lgl/strverscmp.h --- gnutls26-2.8.6/lgl/strverscmp.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/strverscmp.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,24 @@ +/* Compare strings while treating digits characters numerically. + + Copyright (C) 1997, 2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef STRVERSCMP_H_ +# define STRVERSCMP_H_ + +int strverscmp (const char *, const char *); + +#endif /* not STRVERSCMP_H_ */ diff -Nru gnutls26-2.8.6/lgl/sys_socket.in.h gnutls26-2.4.1/lgl/sys_socket.in.h --- gnutls26-2.8.6/lgl/sys_socket.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/sys_socket.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,118 @@ +/* Provide a sys/socket header file for systems lacking it (read: MinGW) + and for systems where it is incomplete. + Copyright (C) 2005-2008 Free Software Foundation, Inc. + Written by Simon Josefsson. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* This file is supposed to be used on platforms that lack , + on platforms where cannot be included standalone, and on + platforms where does not provide all necessary definitions. + It is intended to provide definitions and prototypes needed by an + application. */ + +#ifndef _GL_SYS_SOCKET_H + +#if @HAVE_SYS_SOCKET_H@ + +/* On many platforms, assumes prior inclusion of + . */ +# include + +/* The include_next requires a split double-inclusion guard. */ +# @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ + +#endif + +#ifndef _GL_SYS_SOCKET_H +#define _GL_SYS_SOCKET_H + +#if @HAVE_SYS_SOCKET_H@ + +/* A platform that has . */ + +/* For shutdown(). */ +# if !defined SHUT_RD +# define SHUT_RD 0 +# endif +# if !defined SHUT_WR +# define SHUT_WR 1 +# endif +# if !defined SHUT_RDWR +# define SHUT_RDWR 2 +# endif + +#else + +/* A platform that lacks . + + Currently only MinGW is supported. See the gnulib manual regarding + Windows sockets. MinGW has the header files winsock2.h and + ws2tcpip.h that declare the sys/socket.h definitions we need. Note + that you can influence which definitions you get by setting the + WINVER symbol before including these two files. For example, + getaddrinfo is only available if _WIN32_WINNT >= 0x0501 (that + symbol is set indiriectly through WINVER). You can set this by + adding AC_DEFINE(WINVER, 0x0501) to configure.ac. Note that your + code may not run on older Windows releases then. My Windows 2000 + box was not able to run the code, for example. The situation is + slightly confusing because: + http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/getaddrinfo_2.asp + suggests that getaddrinfo should be available on all Windows + releases. */ + + +# if @HAVE_WINSOCK2_H@ +# include +# endif +# if @HAVE_WS2TCPIP_H@ +# include +# endif + +/* For shutdown(). */ +# if !defined SHUT_RD && defined SD_RECEIVE +# define SHUT_RD SD_RECEIVE +# endif +# if !defined SHUT_WR && defined SD_SEND +# define SHUT_WR SD_SEND +# endif +# if !defined SHUT_RDWR && defined SD_BOTH +# define SHUT_RDWR SD_BOTH +# endif + +# if defined _WIN32 || defined __WIN32__ +# define ENOTSOCK WSAENOTSOCK +# define EADDRINUSE WSAEADDRINUSE +# define ENETRESET WSAENETRESET +# define ECONNABORTED WSAECONNABORTED +# define ECONNRESET WSAECONNRESET +# define ENOTCONN WSAENOTCONN +# define ESHUTDOWN WSAESHUTDOWN +# endif + +# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# define setsockopt(a,b,c,d,e) rpl_setsockopt(a,b,c,d,e) +static inline int +rpl_setsockopt(int socket, int level, int optname, const void *optval, + socklen_t optlen) +{ + return (setsockopt)(socket, level, optname, optval, optlen); +} +# endif + +#endif /* HAVE_SYS_SOCKET_H */ + +#endif /* _GL_SYS_SOCKET_H */ +#endif /* _GL_SYS_SOCKET_H */ diff -Nru gnutls26-2.8.6/lgl/sys_stat.in.h gnutls26-2.4.1/lgl/sys_stat.in.h --- gnutls26-2.8.6/lgl/sys_stat.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/sys_stat.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,291 @@ +/* Provide a more complete sys/stat header file. + Copyright (C) 2006-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ + +/* This file is supposed to be used on platforms where is + incomplete. It is intended to provide definitions and prototypes + needed by an application. Start with what the system provides. */ + +#ifndef _GL_SYS_STAT_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ + +#ifndef _GL_SYS_STAT_H +#define _GL_SYS_STAT_H + +/* Before doing "#define mkdir rpl_mkdir" below, we need to include all + headers that may declare mkdir(). */ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +#endif + +#ifndef S_IFMT +# define S_IFMT 0170000 +#endif + +#if STAT_MACROS_BROKEN +# undef S_ISBLK +# undef S_ISCHR +# undef S_ISDIR +# undef S_ISFIFO +# undef S_ISLNK +# undef S_ISNAM +# undef S_ISMPB +# undef S_ISMPC +# undef S_ISNWK +# undef S_ISREG +# undef S_ISSOCK +#endif + +#ifndef S_ISBLK +# ifdef S_IFBLK +# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +# else +# define S_ISBLK(m) 0 +# endif +#endif + +#ifndef S_ISCHR +# ifdef S_IFCHR +# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +# else +# define S_ISCHR(m) 0 +# endif +#endif + +#ifndef S_ISDIR +# ifdef S_IFDIR +# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +# else +# define S_ISDIR(m) 0 +# endif +#endif + +#ifndef S_ISDOOR /* Solaris 2.5 and up */ +# define S_ISDOOR(m) 0 +#endif + +#ifndef S_ISFIFO +# ifdef S_IFIFO +# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +# else +# define S_ISFIFO(m) 0 +# endif +#endif + +#ifndef S_ISLNK +# ifdef S_IFLNK +# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +# else +# define S_ISLNK(m) 0 +# endif +#endif + +#ifndef S_ISMPB /* V7 */ +# ifdef S_IFMPB +# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) +# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) +# else +# define S_ISMPB(m) 0 +# define S_ISMPC(m) 0 +# endif +#endif + +#ifndef S_ISNAM /* Xenix */ +# ifdef S_IFNAM +# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) +# else +# define S_ISNAM(m) 0 +# endif +#endif + +#ifndef S_ISNWK /* HP/UX */ +# ifdef S_IFNWK +# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) +# else +# define S_ISNWK(m) 0 +# endif +#endif + +#ifndef S_ISPORT /* Solaris 10 and up */ +# define S_ISPORT(m) 0 +#endif + +#ifndef S_ISREG +# ifdef S_IFREG +# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +# else +# define S_ISREG(m) 0 +# endif +#endif + +#ifndef S_ISSOCK +# ifdef S_IFSOCK +# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) +# else +# define S_ISSOCK(m) 0 +# endif +#endif + + +#ifndef S_TYPEISMQ +# define S_TYPEISMQ(p) 0 +#endif + +#ifndef S_TYPEISTMO +# define S_TYPEISTMO(p) 0 +#endif + + +#ifndef S_TYPEISSEM +# ifdef S_INSEM +# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) +# else +# define S_TYPEISSEM(p) 0 +# endif +#endif + +#ifndef S_TYPEISSHM +# ifdef S_INSHD +# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) +# else +# define S_TYPEISSHM(p) 0 +# endif +#endif + +/* high performance ("contiguous data") */ +#ifndef S_ISCTG +# define S_ISCTG(p) 0 +#endif + +/* Cray DMF (data migration facility): off line, with data */ +#ifndef S_ISOFD +# define S_ISOFD(p) 0 +#endif + +/* Cray DMF (data migration facility): off line, with no data */ +#ifndef S_ISOFL +# define S_ISOFL(p) 0 +#endif + +/* 4.4BSD whiteout */ +#ifndef S_ISWHT +# define S_ISWHT(m) 0 +#endif + +/* If any of the following are undefined, + define them to their de facto standard values. */ +#if !S_ISUID +# define S_ISUID 04000 +#endif +#if !S_ISGID +# define S_ISGID 02000 +#endif + +/* S_ISVTX is a common extension to POSIX. */ +#ifndef S_ISVTX +# define S_ISVTX 01000 +#endif + +#if !S_IRUSR && S_IREAD +# define S_IRUSR S_IREAD +#endif +#if !S_IRUSR +# define S_IRUSR 00400 +#endif +#if !S_IRGRP +# define S_IRGRP (S_IRUSR >> 3) +#endif +#if !S_IROTH +# define S_IROTH (S_IRUSR >> 6) +#endif + +#if !S_IWUSR && S_IWRITE +# define S_IWUSR S_IWRITE +#endif +#if !S_IWUSR +# define S_IWUSR 00200 +#endif +#if !S_IWGRP +# define S_IWGRP (S_IWUSR >> 3) +#endif +#if !S_IWOTH +# define S_IWOTH (S_IWUSR >> 6) +#endif + +#if !S_IXUSR && S_IEXEC +# define S_IXUSR S_IEXEC +#endif +#if !S_IXUSR +# define S_IXUSR 00100 +#endif +#if !S_IXGRP +# define S_IXGRP (S_IXUSR >> 3) +#endif +#if !S_IXOTH +# define S_IXOTH (S_IXUSR >> 6) +#endif + +#if !S_IRWXU +# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) +#endif +#if !S_IRWXG +# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) +#endif +#if !S_IRWXO +# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) +#endif + +/* S_IXUGO is a common extension to POSIX. */ +#if !S_IXUGO +# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) +#endif + +#ifndef S_IRWXUGO +# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) +#endif + +/* mingw does not support symlinks, therefore it does not have lstat. But + without links, stat does just fine. */ +#if ! @HAVE_LSTAT@ +# define lstat stat +#endif + +#if @REPLACE_MKDIR@ +# undef mkdir +# define mkdir rpl_mkdir +extern int mkdir (char const *name, mode_t mode); +#else +/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. + Additionally, it declares _mkdir (and depending on compile flags, an + alias mkdir), only in the nonstandard , which is included above. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +static inline int +rpl_mkdir (char const *name, mode_t mode) +{ + return _mkdir (name); +} + +# define mkdir rpl_mkdir +# endif +#endif + +#endif /* _GL_SYS_STAT_H */ +#endif /* _GL_SYS_STAT_H */ diff -Nru gnutls26-2.8.6/lgl/time.in.h gnutls26-2.4.1/lgl/time.in.h --- gnutls26-2.8.6/lgl/time.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/time.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,114 @@ +/* A more-standard . + + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Don't get in the way of glibc when it includes time.h merely to + declare a few standard symbols, rather than to declare all the + symbols. Also, Solaris 8 eventually includes itself + recursively; if that is happening, just include the system + without adding our own declarations. */ +#if (defined __need_time_t || defined __need_clock_t \ + || defined __need_timespec \ + || defined _GL_TIME_H) + +# @INCLUDE_NEXT@ @NEXT_TIME_H@ + +#else + +# define _GL_TIME_H + +# @INCLUDE_NEXT@ @NEXT_TIME_H@ + +# ifdef __cplusplus +extern "C" { +# endif + +/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). + Or they define it with the wrong member names or define it in + (e.g., FreeBSD circa 1997). */ +# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ +# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +# include +# else +# undef timespec +# define timespec rpl_timespec +struct timespec +{ + time_t tv_sec; + long int tv_nsec; +}; +# endif +# endif + +/* Sleep for at least RQTP seconds unless interrupted, If interrupted, + return -1 and store the remaining time into RMTP. See + . */ +# if @REPLACE_NANOSLEEP@ +# define nanosleep rpl_nanosleep +int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp); +# endif + +/* Convert TIMER to RESULT, assuming local time and UTC respectively. See + and + . */ +# if @REPLACE_LOCALTIME_R@ +# undef localtime_r +# define localtime_r rpl_localtime_r +# undef gmtime_r +# define gmtime_r rpl_gmtime_r +struct tm *localtime_r (time_t const *restrict __timer, + struct tm *restrict __result); +struct tm *gmtime_r (time_t const *restrict __timer, + struct tm *restrict __result); +# endif + +/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store + the resulting broken-down time into TM. See + . */ +# if @REPLACE_STRPTIME@ +# undef strptime +# define strptime rpl_strptime +char *strptime (char const *restrict __buf, char const *restrict __format, + struct tm *restrict __tm); +# endif + +/* Convert TM to a time_t value, assuming UTC. */ +# if @REPLACE_TIMEGM@ +# undef timegm +# define timegm rpl_timegm +time_t timegm (struct tm *__tm); +# endif + +/* Encourage applications to avoid unsafe functions that can overrun + buffers when given outlandish struct tm values. Portable + applications should use strftime (or even sprintf) instead. */ +# if GNULIB_PORTCHECK +# undef asctime +# define asctime eschew_asctime +# undef asctime_r +# define asctime_r eschew_asctime_r +# undef ctime +# define ctime eschew_ctime +# undef ctime_r +# define ctime_r eschew_ctime_r +# endif + +# ifdef __cplusplus +} +# endif + +#endif diff -Nru gnutls26-2.8.6/lgl/time_r.c gnutls26-2.4.1/lgl/time_r.c --- gnutls26-2.8.6/lgl/time_r.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/time_r.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,47 @@ +/* Reentrant time functions like localtime_r. + + Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Paul Eggert. */ + +#include + +#include + +#include + +static struct tm * +copy_tm_result (struct tm *dest, struct tm const *src) +{ + if (! src) + return 0; + *dest = *src; + return dest; +} + + +struct tm * +gmtime_r (time_t const * restrict t, struct tm * restrict tp) +{ + return copy_tm_result (tp, gmtime (t)); +} + +struct tm * +localtime_r (time_t const * restrict t, struct tm * restrict tp) +{ + return copy_tm_result (tp, localtime (t)); +} diff -Nru gnutls26-2.8.6/lgl/unistd.in.h gnutls26-2.4.1/lgl/unistd.in.h --- gnutls26-2.8.6/lgl/unistd.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/unistd.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,340 @@ +/* Substitute for and wrapper around . + Copyright (C) 2004-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _GL_UNISTD_H + +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_UNISTD_H@ +# @INCLUDE_NEXT@ @NEXT_UNISTD_H@ +#endif + +#ifndef _GL_UNISTD_H +#define _GL_UNISTD_H + +/* mingw doesn't define the SEEK_* macros in . */ +#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) +# include +#endif + +/* mingw fails to declare _exit in . */ +#include + +/* The definition of GL_LINK_WARNING is copied here. */ + + +/* Declare overridden functions. */ + +#ifdef __cplusplus +extern "C" { +#endif + + +#if @GNULIB_CHOWN@ +# if @REPLACE_CHOWN@ +# ifndef REPLACE_CHOWN +# define REPLACE_CHOWN 1 +# endif +# if REPLACE_CHOWN +/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE + to GID (if GID is not -1). Follow symbolic links. + Return 0 if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +# define chown rpl_chown +extern int chown (const char *file, uid_t uid, gid_t gid); +# endif +# endif +#elif defined GNULIB_POSIXCHECK +# undef chown +# define chown(f,u,g) \ + (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \ + "doesn't treat a uid or gid of -1 on some systems - " \ + "use gnulib module chown for portability"), \ + chown (f, u, g)) +#endif + + +#if @GNULIB_DUP2@ +# if !@HAVE_DUP2@ +/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if + NEWFD = OLDFD, otherwise close NEWFD first if it is open. + Return 0 if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +extern int dup2 (int oldfd, int newfd); +# endif +#elif defined GNULIB_POSIXCHECK +# undef dup2 +# define dup2(o,n) \ + (GL_LINK_WARNING ("dup2 is unportable - " \ + "use gnulib module dup2 for portability"), \ + dup2 (o, n)) +#endif + + +#if @GNULIB_ENVIRON@ +# if !@HAVE_DECL_ENVIRON@ +/* Set of environment variables and values. An array of strings of the form + "VARIABLE=VALUE", terminated with a NULL. */ +# if defined __APPLE__ && defined __MACH__ +# include +# define environ (*_NSGetEnviron ()) +# else +extern char **environ; +# endif +# endif +#elif defined GNULIB_POSIXCHECK +# undef environ +# define environ \ + (GL_LINK_WARNING ("environ is unportable - " \ + "use gnulib module environ for portability"), \ + environ) +#endif + + +#if @GNULIB_FCHDIR@ +# if @REPLACE_FCHDIR@ + +/* Change the process' current working directory to the directory on which + the given file descriptor is open. + Return 0 if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +extern int fchdir (int /*fd*/); + +# define close rpl_close +extern int close (int); +# define dup rpl_dup +extern int dup (int); +# define dup2 rpl_dup2 +extern int dup2 (int, int); + +# endif +#elif defined GNULIB_POSIXCHECK +# undef fchdir +# define fchdir(f) \ + (GL_LINK_WARNING ("fchdir is unportable - " \ + "use gnulib module fchdir for portability"), \ + fchdir (f)) +#endif + + +#if @GNULIB_FTRUNCATE@ +# if !@HAVE_FTRUNCATE@ +/* Change the size of the file to which FD is opened to become equal to LENGTH. + Return 0 if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +extern int ftruncate (int fd, off_t length); +# endif +#elif defined GNULIB_POSIXCHECK +# undef ftruncate +# define ftruncate(f,l) \ + (GL_LINK_WARNING ("ftruncate is unportable - " \ + "use gnulib module ftruncate for portability"), \ + ftruncate (f, l)) +#endif + + +#if @GNULIB_GETCWD@ +/* Include the headers that might declare getcwd so that they will not + cause confusion if included after this file. */ +# include +# if @REPLACE_GETCWD@ +/* Get the name of the current working directory, and put it in SIZE bytes + of BUF. + Return BUF if successful, or NULL if the directory couldn't be determined + or SIZE was too small. + See the POSIX:2001 specification + . + Additionally, the gnulib module 'getcwd' guarantees the following GNU + extension: If BUF is NULL, an array is allocated with 'malloc'; the array + is SIZE bytes long, unless SIZE == 0, in which case it is as big as + necessary. */ +# define getcwd rpl_getcwd +extern char * getcwd (char *buf, size_t size); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getcwd +# define getcwd(b,s) \ + (GL_LINK_WARNING ("getcwd is unportable - " \ + "use gnulib module getcwd for portability"), \ + getcwd (b, s)) +#endif + + +#if @GNULIB_GETLOGIN_R@ +/* Copies the user's login name to NAME. + The array pointed to by NAME has room for SIZE bytes. + + Returns 0 if successful. Upon error, an error number is returned, or -1 in + the case that the login name cannot be found but no specific error is + provided (this case is hopefully rare but is left open by the POSIX spec). + + See . + */ +# if !@HAVE_DECL_GETLOGIN_R@ +# include +extern int getlogin_r (char *name, size_t size); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getlogin_r +# define getlogin_r(n,s) \ + (GL_LINK_WARNING ("getlogin_r is unportable - " \ + "use gnulib module getlogin_r for portability"), \ + getlogin_r (n, s)) +#endif + + +#if @GNULIB_GETPAGESIZE@ +# if @REPLACE_GETPAGESIZE@ +# define getpagesize rpl_getpagesize +extern int getpagesize (void); +# elif !@HAVE_GETPAGESIZE@ +/* This is for POSIX systems. */ +# if !defined getpagesize && defined _SC_PAGESIZE +# if ! (defined __VMS && __VMS_VER < 70000000) +# define getpagesize() sysconf (_SC_PAGESIZE) +# endif +# endif +/* This is for older VMS. */ +# if !defined getpagesize && defined __VMS +# ifdef __ALPHA +# define getpagesize() 8192 +# else +# define getpagesize() 512 +# endif +# endif +/* This is for BeOS. */ +# if !defined getpagesize && @HAVE_OS_H@ +# include +# if defined B_PAGE_SIZE +# define getpagesize() B_PAGE_SIZE +# endif +# endif +/* This is for AmigaOS4.0. */ +# if !defined getpagesize && defined __amigaos4__ +# define getpagesize() 2048 +# endif +/* This is for older Unix systems. */ +# if !defined getpagesize && @HAVE_SYS_PARAM_H@ +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else +# ifdef NBPG +# ifndef CLSIZE +# define CLSIZE 1 +# endif +# define getpagesize() (NBPG * CLSIZE) +# else +# ifdef NBPC +# define getpagesize() NBPC +# endif +# endif +# endif +# endif +# endif +#elif defined GNULIB_POSIXCHECK +# undef getpagesize +# define getpagesize() \ + (GL_LINK_WARNING ("getpagesize is unportable - " \ + "use gnulib module getpagesize for portability"), \ + getpagesize ()) +#endif + + +#if @GNULIB_LCHOWN@ +# if @REPLACE_LCHOWN@ +/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE + to GID (if GID is not -1). Do not follow symbolic links. + Return 0 if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +# define lchown rpl_lchown +extern int lchown (char const *file, uid_t owner, gid_t group); +# endif +#elif defined GNULIB_POSIXCHECK +# undef lchown +# define lchown(f,u,g) \ + (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \ + "systems - use gnulib module lchown for portability"), \ + lchown (f, u, g)) +#endif + + +#if @GNULIB_LSEEK@ +# if @REPLACE_LSEEK@ +/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. + Return the new offset if successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +# define lseek rpl_lseek + extern off_t lseek (int fd, off_t offset, int whence); +# endif +#elif defined GNULIB_POSIXCHECK +# undef lseek +# define lseek(f,o,w) \ + (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \ + "systems - use gnulib module lseek for portability"), \ + lseek (f, o, w)) +#endif + + +#if @GNULIB_READLINK@ +/* Read the contents of the symbolic link FILE and place the first BUFSIZE + bytes of it into BUF. Return the number of bytes placed into BUF if + successful, otherwise -1 and errno set. + See the POSIX:2001 specification + . */ +# if !@HAVE_READLINK@ +# include +extern int readlink (const char *file, char *buf, size_t bufsize); +# endif +#elif defined GNULIB_POSIXCHECK +# undef readlink +# define readlink(f,b,s) \ + (GL_LINK_WARNING ("readlink is unportable - " \ + "use gnulib module readlink for portability"), \ + readlink (f, b, s)) +#endif + + +#if @GNULIB_SLEEP@ +/* Pause the execution of the current thread for N seconds. + Returns the number of seconds left to sleep. + See the POSIX:2001 specification + . */ +# if !@HAVE_SLEEP@ +extern unsigned int sleep (unsigned int n); +# endif +#elif defined GNULIB_POSIXCHECK +# undef sleep +# define sleep(n) \ + (GL_LINK_WARNING ("sleep is unportable - " \ + "use gnulib module sleep for portability"), \ + sleep (n)) +#endif + + +#ifdef __cplusplus +} +#endif + + +#endif /* _GL_UNISTD_H */ +#endif /* _GL_UNISTD_H */ diff -Nru gnutls26-2.8.6/lgl/vasnprintf.c gnutls26-2.4.1/lgl/vasnprintf.c --- gnutls26-2.8.6/lgl/vasnprintf.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/vasnprintf.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,4825 @@ +/* vsprintf with automatic memory allocation. + Copyright (C) 1999, 2002-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* This file can be parametrized with the following macros: + VASNPRINTF The name of the function being defined. + FCHAR_T The element type of the format string. + DCHAR_T The element type of the destination (result) string. + FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters + in the format string are ASCII. MUST be set if + FCHAR_T and DCHAR_T are not the same type. + DIRECTIVE Structure denoting a format directive. + Depends on FCHAR_T. + DIRECTIVES Structure denoting the set of format directives of a + format string. Depends on FCHAR_T. + PRINTF_PARSE Function that parses a format string. + Depends on FCHAR_T. + DCHAR_CPY memcpy like function for DCHAR_T[] arrays. + DCHAR_SET memset like function for DCHAR_T[] arrays. + DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. + SNPRINTF The system's snprintf (or similar) function. + This may be either snprintf or swprintf. + TCHAR_T The element type of the argument and result string + of the said SNPRINTF function. This may be either + char or wchar_t. The code exploits that + sizeof (TCHAR_T) | sizeof (DCHAR_T) and + alignof (TCHAR_T) <= alignof (DCHAR_T). + DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. + DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. + DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. + DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. + DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ + +/* Tell glibc's to provide a prototype for snprintf(). + This must come before because may include + , and once has been included, it's too late. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#ifndef VASNPRINTF +# include +#endif +#ifndef IN_LIBINTL +# include +#endif + +/* Specification. */ +#ifndef VASNPRINTF +# if WIDE_CHAR_VERSION +# include "vasnwprintf.h" +# else +# include "vasnprintf.h" +# endif +#endif + +#include /* localeconv() */ +#include /* snprintf(), sprintf() */ +#include /* abort(), malloc(), realloc(), free() */ +#include /* memcpy(), strlen() */ +#include /* errno */ +#include /* CHAR_BIT */ +#include /* DBL_MAX_EXP, LDBL_MAX_EXP */ +#if HAVE_NL_LANGINFO +# include +#endif +#ifndef VASNPRINTF +# if WIDE_CHAR_VERSION +# include "wprintf-parse.h" +# else +# include "printf-parse.h" +# endif +#endif + +/* Checked size_t computations. */ +#include "xsize.h" + +#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL +# include +# include "float+.h" +#endif + +#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL +# include +# include "isnand.h" +#endif + +#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL +# include +# include "isnanl-nolibm.h" +# include "fpucw.h" +#endif + +#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL +# include +# include "isnand.h" +# include "printf-frexp.h" +#endif + +#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL +# include +# include "isnanl-nolibm.h" +# include "printf-frexpl.h" +# include "fpucw.h" +#endif + +#if HAVE_WCHAR_T +# if HAVE_WCSLEN +# define local_wcslen wcslen +# else + /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid + a dependency towards this library, here is a local substitute. + Define this substitute only once, even if this file is included + twice in the same compilation unit. */ +# ifndef local_wcslen_defined +# define local_wcslen_defined 1 +static size_t +local_wcslen (const wchar_t *s) +{ + const wchar_t *ptr; + + for (ptr = s; *ptr != (wchar_t) 0; ptr++) + ; + return ptr - s; +} +# endif +# endif +#endif + +/* Default parameters. */ +#ifndef VASNPRINTF +# if WIDE_CHAR_VERSION +# define VASNPRINTF vasnwprintf +# define FCHAR_T wchar_t +# define DCHAR_T wchar_t +# define TCHAR_T wchar_t +# define DCHAR_IS_TCHAR 1 +# define DIRECTIVE wchar_t_directive +# define DIRECTIVES wchar_t_directives +# define PRINTF_PARSE wprintf_parse +# define DCHAR_CPY wmemcpy +# else +# define VASNPRINTF vasnprintf +# define FCHAR_T char +# define DCHAR_T char +# define TCHAR_T char +# define DCHAR_IS_TCHAR 1 +# define DIRECTIVE char_directive +# define DIRECTIVES char_directives +# define PRINTF_PARSE printf_parse +# define DCHAR_CPY memcpy +# endif +#endif +#if WIDE_CHAR_VERSION + /* TCHAR_T is wchar_t. */ +# define USE_SNPRINTF 1 +# if HAVE_DECL__SNWPRINTF + /* On Windows, the function swprintf() has a different signature than + on Unix; we use the _snwprintf() function instead. */ +# define SNPRINTF _snwprintf +# else + /* Unix. */ +# define SNPRINTF swprintf +# endif +#else + /* TCHAR_T is char. */ + /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. + But don't use it on BeOS, since BeOS snprintf produces no output if the + size argument is >= 0x3000000. + Also don't use it on Linux libc5, since there snprintf with size = 1 + writes any output without bounds, like sprintf. */ +# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1) +# define USE_SNPRINTF 1 +# else +# define USE_SNPRINTF 0 +# endif +# if HAVE_DECL__SNPRINTF + /* Windows. */ +# define SNPRINTF _snprintf +# else + /* Unix. */ +# define SNPRINTF snprintf + /* Here we need to call the native snprintf, not rpl_snprintf. */ +# undef snprintf +# endif +#endif +/* Here we need to call the native sprintf, not rpl_sprintf. */ +#undef sprintf + +/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized" + warnings in this file. Use -Dlint to suppress them. */ +#ifdef lint +# define IF_LINT(Code) Code +#else +# define IF_LINT(Code) /* empty */ +#endif + +/* Avoid some warnings from "gcc -Wshadow". + This file doesn't use the exp() and remainder() functions. */ +#undef exp +#define exp expo +#undef remainder +#define remainder rem + +#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL +/* Determine the decimal-point character according to the current locale. */ +# ifndef decimal_point_char_defined +# define decimal_point_char_defined 1 +static char +decimal_point_char () +{ + const char *point; + /* Determine it in a multithread-safe way. We know nl_langinfo is + multithread-safe on glibc systems, but is not required to be multithread- + safe by POSIX. sprintf(), however, is multithread-safe. localeconv() + is rarely multithread-safe. */ +# if HAVE_NL_LANGINFO && __GLIBC__ + point = nl_langinfo (RADIXCHAR); +# elif 1 + char pointbuf[5]; + sprintf (pointbuf, "%#.0f", 1.0); + point = &pointbuf[1]; +# else + point = localeconv () -> decimal_point; +# endif + /* The decimal point is always a single byte: either '.' or ','. */ + return (point[0] != '\0' ? point[0] : '.'); +} +# endif +#endif + +#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL + +/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ +static int +is_infinite_or_zero (double x) +{ + return isnand (x) || x + x == x; +} + +#endif + +#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL + +/* Equivalent to !isfinite(x), but does not require libm. */ +static int +is_infinitel (long double x) +{ + return isnanl (x) || (x + x == x && x != 0.0L); +} + +#endif + +#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL + +/* Converting 'long double' to decimal without rare rounding bugs requires + real bignums. We use the naming conventions of GNU gmp, but vastly simpler + (and slower) algorithms. */ + +typedef unsigned int mp_limb_t; +# define GMP_LIMB_BITS 32 +typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; + +typedef unsigned long long mp_twolimb_t; +# define GMP_TWOLIMB_BITS 64 +typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; + +/* Representation of a bignum >= 0. */ +typedef struct +{ + size_t nlimbs; + mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ +} mpn_t; + +/* Compute the product of two bignums >= 0. + Return the allocated memory in case of success, NULL in case of memory + allocation failure. */ +static void * +multiply (mpn_t src1, mpn_t src2, mpn_t *dest) +{ + const mp_limb_t *p1; + const mp_limb_t *p2; + size_t len1; + size_t len2; + + if (src1.nlimbs <= src2.nlimbs) + { + len1 = src1.nlimbs; + p1 = src1.limbs; + len2 = src2.nlimbs; + p2 = src2.limbs; + } + else + { + len1 = src2.nlimbs; + p1 = src2.limbs; + len2 = src1.nlimbs; + p2 = src1.limbs; + } + /* Now 0 <= len1 <= len2. */ + if (len1 == 0) + { + /* src1 or src2 is zero. */ + dest->nlimbs = 0; + dest->limbs = (mp_limb_t *) malloc (1); + } + else + { + /* Here 1 <= len1 <= len2. */ + size_t dlen; + mp_limb_t *dp; + size_t k, i, j; + + dlen = len1 + len2; + dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); + if (dp == NULL) + return NULL; + for (k = len2; k > 0; ) + dp[--k] = 0; + for (i = 0; i < len1; i++) + { + mp_limb_t digit1 = p1[i]; + mp_twolimb_t carry = 0; + for (j = 0; j < len2; j++) + { + mp_limb_t digit2 = p2[j]; + carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; + carry += dp[i + j]; + dp[i + j] = (mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; + } + dp[i + len2] = (mp_limb_t) carry; + } + /* Normalise. */ + while (dlen > 0 && dp[dlen - 1] == 0) + dlen--; + dest->nlimbs = dlen; + dest->limbs = dp; + } + return dest->limbs; +} + +/* Compute the quotient of a bignum a >= 0 and a bignum b > 0. + a is written as a = q * b + r with 0 <= r < b. q is the quotient, r + the remainder. + Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, + q is incremented. + Return the allocated memory in case of success, NULL in case of memory + allocation failure. */ +static void * +divide (mpn_t a, mpn_t b, mpn_t *q) +{ + /* Algorithm: + First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] + with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). + If m=n=1, perform a single-precision division: + r:=0, j:=m, + while j>0 do + {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = + = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: + We have a/b < beta^(m-n+1). + s:=intDsize-1-(hightest bit in b[n-1]), 0<=s=beta/2. + For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} + Compute q* : + q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). + In case of overflow (q* >= beta) set q* := beta-1. + Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] + and c3 := b[n-2] * q*. + {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow + occurred. Furthermore 0 <= c3 < beta^2. + If there was overflow and + r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, + the next test can be skipped.} + While c3 > c2, {Here 0 <= c2 < c3 < beta^2} + Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. + If q* > 0: + Put r := r - b * q* * beta^j. In detail: + [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. + hence: u:=0, for i:=0 to n-1 do + u := u + q* * b[i], + r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), + u:=u div beta (+ 1, if carry in subtraction) + r[n+j]:=r[n+j]-u. + {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 + < q* + 1 <= beta, + the carry u does not overflow.} + If a negative carry occurs, put q* := q* - 1 + and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. + Set q[j] := q*. + Normalise [q[m-n],..,q[0]]; this yields the quotient q. + Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the + rest r. + The room for q[j] can be allocated at the memory location of r[n+j]. + Finally, round-to-even: + Shift r left by 1 bit. + If r > b or if r = b and q[0] is odd, q := q+1. + */ + const mp_limb_t *a_ptr = a.limbs; + size_t a_len = a.nlimbs; + const mp_limb_t *b_ptr = b.limbs; + size_t b_len = b.nlimbs; + mp_limb_t *roomptr; + mp_limb_t *tmp_roomptr = NULL; + mp_limb_t *q_ptr; + size_t q_len; + mp_limb_t *r_ptr; + size_t r_len; + + /* Allocate room for a_len+2 digits. + (Need a_len+1 digits for the real division and 1 more digit for the + final rounding of q.) */ + roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); + if (roomptr == NULL) + return NULL; + + /* Normalise a. */ + while (a_len > 0 && a_ptr[a_len - 1] == 0) + a_len--; + + /* Normalise b. */ + for (;;) + { + if (b_len == 0) + /* Division by zero. */ + abort (); + if (b_ptr[b_len - 1] == 0) + b_len--; + else + break; + } + + /* Here m = a_len >= 0 and n = b_len > 0. */ + + if (a_len < b_len) + { + /* m beta^(m-2) <= a/b < beta^m */ + r_ptr = roomptr; + q_ptr = roomptr + 1; + { + mp_limb_t den = b_ptr[0]; + mp_limb_t remainder = 0; + const mp_limb_t *sourceptr = a_ptr + a_len; + mp_limb_t *destptr = q_ptr + a_len; + size_t count; + for (count = a_len; count > 0; count--) + { + mp_twolimb_t num = + ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; + *--destptr = num / den; + remainder = num % den; + } + /* Normalise and store r. */ + if (remainder > 0) + { + r_ptr[0] = remainder; + r_len = 1; + } + else + r_len = 0; + /* Normalise q. */ + q_len = a_len; + if (q_ptr[q_len - 1] == 0) + q_len--; + } + } + else + { + /* n>1: multiple precision division. + beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> + beta^(m-n-1) <= a/b < beta^(m-n+1). */ + /* Determine s. */ + size_t s; + { + mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ + s = 31; + if (msd >= 0x10000) + { + msd = msd >> 16; + s -= 16; + } + if (msd >= 0x100) + { + msd = msd >> 8; + s -= 8; + } + if (msd >= 0x10) + { + msd = msd >> 4; + s -= 4; + } + if (msd >= 0x4) + { + msd = msd >> 2; + s -= 2; + } + if (msd >= 0x2) + { + msd = msd >> 1; + s -= 1; + } + } + /* 0 <= s < GMP_LIMB_BITS. + Copy b, shifting it left by s bits. */ + if (s > 0) + { + tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); + if (tmp_roomptr == NULL) + { + free (roomptr); + return NULL; + } + { + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = tmp_roomptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = b_len; count > 0; count--) + { + accu += (mp_twolimb_t) *sourceptr++ << s; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + /* accu must be zero, since that was how s was determined. */ + if (accu != 0) + abort (); + } + b_ptr = tmp_roomptr; + } + /* Copy a, shifting it left by s bits, yields r. + Memory layout: + At the beginning: r = roomptr[0..a_len], + at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ + r_ptr = roomptr; + if (s == 0) + { + memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); + r_ptr[a_len] = 0; + } + else + { + const mp_limb_t *sourceptr = a_ptr; + mp_limb_t *destptr = r_ptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = a_len; count > 0; count--) + { + accu += (mp_twolimb_t) *sourceptr++ << s; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + *destptr++ = (mp_limb_t) accu; + } + q_ptr = roomptr + b_len; + q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ + { + size_t j = a_len - b_len; /* m-n */ + mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ + mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ + mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ + ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; + /* Division loop, traversed m-n+1 times. + j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ + for (;;) + { + mp_limb_t q_star; + mp_limb_t c1; + if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ + { + /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ + mp_twolimb_t num = + ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) + | r_ptr[j + b_len - 1]; + q_star = num / b_msd; + c1 = num % b_msd; + } + else + { + /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ + q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ + /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta + <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta + <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) + {<= beta !}. + If yes, jump directly to the subtraction loop. + (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta + <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ + if (r_ptr[j + b_len] > b_msd + || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) + /* r[j+n] >= b[n-1]+1 or + r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a + carry. */ + goto subtract; + } + /* q_star = q*, + c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by + b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 + this can happen only twice. */ + if (c3 > c2) + { + q_star = q_star - 1; /* q* := q* - 1 */ + if (c3 - c2 > b_msdd) + q_star = q_star - 1; /* q* := q* - 1 */ + } + } + if (q_star > 0) + subtract: + { + /* Subtract r := r - b * q* * beta^j. */ + mp_limb_t cr; + { + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = r_ptr + j; + mp_twolimb_t carry = 0; + size_t count; + for (count = b_len; count > 0; count--) + { + /* Here 0 <= carry <= q*. */ + carry = + carry + + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ + + (mp_limb_t) ~(*destptr); + /* Here 0 <= carry <= beta*q* + beta-1. */ + *destptr++ = ~(mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; /* <= q* */ + } + cr = (mp_limb_t) carry; + } + /* Subtract cr from r_ptr[j + b_len], then forget about + r_ptr[j + b_len]. */ + if (cr > r_ptr[j + b_len]) + { + /* Subtraction gave a carry. */ + q_star = q_star - 1; /* q* := q* - 1 */ + /* Add b back. */ + { + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = r_ptr + j; + mp_limb_t carry = 0; + size_t count; + for (count = b_len; count > 0; count--) + { + mp_limb_t source1 = *sourceptr++; + mp_limb_t source2 = *destptr; + *destptr++ = source1 + source2 + carry; + carry = + (carry + ? source1 >= (mp_limb_t) ~source2 + : source1 > (mp_limb_t) ~source2); + } + } + /* Forget about the carry and about r[j+n]. */ + } + } + /* q* is determined. Store it as q[j]. */ + q_ptr[j] = q_star; + if (j == 0) + break; + j--; + } + } + r_len = b_len; + /* Normalise q. */ + if (q_ptr[q_len - 1] == 0) + q_len--; +# if 0 /* Not needed here, since we need r only to compare it with b/2, and + b is shifted left by s bits. */ + /* Shift r right by s bits. */ + if (s > 0) + { + mp_limb_t ptr = r_ptr + r_len; + mp_twolimb_t accu = 0; + size_t count; + for (count = r_len; count > 0; count--) + { + accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; + accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); + *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); + } + } +# endif + /* Normalise r. */ + while (r_len > 0 && r_ptr[r_len - 1] == 0) + r_len--; + } + /* Compare r << 1 with b. */ + if (r_len > b_len) + goto increment_q; + { + size_t i; + for (i = b_len;;) + { + mp_limb_t r_i = + (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) + | (i < r_len ? r_ptr[i] << 1 : 0); + mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); + if (r_i > b_i) + goto increment_q; + if (r_i < b_i) + goto keep_q; + if (i == 0) + break; + i--; + } + } + if (q_len > 0 && ((q_ptr[0] & 1) != 0)) + /* q is odd. */ + increment_q: + { + size_t i; + for (i = 0; i < q_len; i++) + if (++(q_ptr[i]) != 0) + goto keep_q; + q_ptr[q_len++] = 1; + } + keep_q: + if (tmp_roomptr != NULL) + free (tmp_roomptr); + q->limbs = q_ptr; + q->nlimbs = q_len; + return roomptr; +} + +/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal + representation. + Destroys the contents of a. + Return the allocated memory - containing the decimal digits in low-to-high + order, terminated with a NUL character - in case of success, NULL in case + of memory allocation failure. */ +static char * +convert_to_decimal (mpn_t a, size_t extra_zeroes) +{ + mp_limb_t *a_ptr = a.limbs; + size_t a_len = a.nlimbs; + /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ + size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); + char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); + if (c_ptr != NULL) + { + char *d_ptr = c_ptr; + for (; extra_zeroes > 0; extra_zeroes--) + *d_ptr++ = '0'; + while (a_len > 0) + { + /* Divide a by 10^9, in-place. */ + mp_limb_t remainder = 0; + mp_limb_t *ptr = a_ptr + a_len; + size_t count; + for (count = a_len; count > 0; count--) + { + mp_twolimb_t num = + ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; + *ptr = num / 1000000000; + remainder = num % 1000000000; + } + /* Store the remainder as 9 decimal digits. */ + for (count = 9; count > 0; count--) + { + *d_ptr++ = '0' + (remainder % 10); + remainder = remainder / 10; + } + /* Normalize a. */ + if (a_ptr[a_len - 1] == 0) + a_len--; + } + /* Remove leading zeroes. */ + while (d_ptr > c_ptr && d_ptr[-1] == '0') + d_ptr--; + /* But keep at least one zero. */ + if (d_ptr == c_ptr) + *d_ptr++ = '0'; + /* Terminate the string. */ + *d_ptr = '\0'; + } + return c_ptr; +} + +# if NEED_PRINTF_LONG_DOUBLE + +/* Assuming x is finite and >= 0: + write x as x = 2^e * m, where m is a bignum. + Return the allocated memory in case of success, NULL in case of memory + allocation failure. */ +static void * +decode_long_double (long double x, int *ep, mpn_t *mp) +{ + mpn_t m; + int exp; + long double y; + size_t i; + + /* Allocate memory for result. */ + m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; + m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); + if (m.limbs == NULL) + return NULL; + /* Split into exponential part and mantissa. */ + y = frexpl (x, &exp); + if (!(y >= 0.0L && y < 1.0L)) + abort (); + /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the + latter is an integer. */ + /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. + I'm not sure whether it's safe to cast a 'long double' value between + 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only + 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', + doesn't matter). */ +# if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 +# if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); + hi = (int) y; + y -= hi; + if (!(y >= 0.0L && y < 1.0L)) + abort (); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0L && y < 1.0L)) + abort (); + m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } +# else + { + mp_limb_t d; + y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); + d = (int) y; + y -= d; + if (!(y >= 0.0L && y < 1.0L)) + abort (); + m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; + } +# endif +# endif + for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + hi = (int) y; + y -= hi; + if (!(y >= 0.0L && y < 1.0L)) + abort (); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0L && y < 1.0L)) + abort (); + m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } +#if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess + precision. */ + if (!(y == 0.0L)) + abort (); +#endif + /* Normalise. */ + while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) + m.nlimbs--; + *mp = m; + *ep = exp - LDBL_MANT_BIT; + return m.limbs; +} + +# endif + +# if NEED_PRINTF_DOUBLE + +/* Assuming x is finite and >= 0: + write x as x = 2^e * m, where m is a bignum. + Return the allocated memory in case of success, NULL in case of memory + allocation failure. */ +static void * +decode_double (double x, int *ep, mpn_t *mp) +{ + mpn_t m; + int exp; + double y; + size_t i; + + /* Allocate memory for result. */ + m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; + m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); + if (m.limbs == NULL) + return NULL; + /* Split into exponential part and mantissa. */ + y = frexp (x, &exp); + if (!(y >= 0.0 && y < 1.0)) + abort (); + /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the + latter is an integer. */ + /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. + I'm not sure whether it's safe to cast a 'double' value between + 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only + 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', + doesn't matter). */ +# if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 +# if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); + hi = (int) y; + y -= hi; + if (!(y >= 0.0 && y < 1.0)) + abort (); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0 && y < 1.0)) + abort (); + m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } +# else + { + mp_limb_t d; + y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); + d = (int) y; + y -= d; + if (!(y >= 0.0 && y < 1.0)) + abort (); + m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; + } +# endif +# endif + for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + hi = (int) y; + y -= hi; + if (!(y >= 0.0 && y < 1.0)) + abort (); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0 && y < 1.0)) + abort (); + m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } + if (!(y == 0.0)) + abort (); + /* Normalise. */ + while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) + m.nlimbs--; + *mp = m; + *ep = exp - DBL_MANT_BIT; + return m.limbs; +} + +# endif + +/* Assuming x = 2^e * m is finite and >= 0, and n is an integer: + Returns the decimal representation of round (x * 10^n). + Return the allocated memory - containing the decimal digits in low-to-high + order, terminated with a NUL character - in case of success, NULL in case + of memory allocation failure. */ +static char * +scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) +{ + int s; + size_t extra_zeroes; + unsigned int abs_n; + unsigned int abs_s; + mp_limb_t *pow5_ptr; + size_t pow5_len; + unsigned int s_limbs; + unsigned int s_bits; + mpn_t pow5; + mpn_t z; + void *z_memory; + char *digits; + + if (memory == NULL) + return NULL; + /* x = 2^e * m, hence + y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) + = round (2^s * 5^n * m). */ + s = e + n; + extra_zeroes = 0; + /* Factor out a common power of 10 if possible. */ + if (s > 0 && n > 0) + { + extra_zeroes = (s < n ? s : n); + s -= extra_zeroes; + n -= extra_zeroes; + } + /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. + Before converting to decimal, we need to compute + z = round (2^s * 5^n * m). */ + /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same + sign. 2.322 is slightly larger than log(5)/log(2). */ + abs_n = (n >= 0 ? n : -n); + abs_s = (s >= 0 ? s : -s); + pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 + + abs_s / GMP_LIMB_BITS + 1) + * sizeof (mp_limb_t)); + if (pow5_ptr == NULL) + { + free (memory); + return NULL; + } + /* Initialize with 1. */ + pow5_ptr[0] = 1; + pow5_len = 1; + /* Multiply with 5^|n|. */ + if (abs_n > 0) + { + static mp_limb_t const small_pow5[13 + 1] = + { + 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, + 48828125, 244140625, 1220703125 + }; + unsigned int n13; + for (n13 = 0; n13 <= abs_n; n13 += 13) + { + mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; + size_t j; + mp_twolimb_t carry = 0; + for (j = 0; j < pow5_len; j++) + { + mp_limb_t digit2 = pow5_ptr[j]; + carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; + pow5_ptr[j] = (mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; + } + if (carry > 0) + pow5_ptr[pow5_len++] = (mp_limb_t) carry; + } + } + s_limbs = abs_s / GMP_LIMB_BITS; + s_bits = abs_s % GMP_LIMB_BITS; + if (n >= 0 ? s >= 0 : s <= 0) + { + /* Multiply with 2^|s|. */ + if (s_bits > 0) + { + mp_limb_t *ptr = pow5_ptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = pow5_len; count > 0; count--) + { + accu += (mp_twolimb_t) *ptr << s_bits; + *ptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + if (accu > 0) + { + *ptr = (mp_limb_t) accu; + pow5_len++; + } + } + if (s_limbs > 0) + { + size_t count; + for (count = pow5_len; count > 0;) + { + count--; + pow5_ptr[s_limbs + count] = pow5_ptr[count]; + } + for (count = s_limbs; count > 0;) + { + count--; + pow5_ptr[count] = 0; + } + pow5_len += s_limbs; + } + pow5.limbs = pow5_ptr; + pow5.nlimbs = pow5_len; + if (n >= 0) + { + /* Multiply m with pow5. No division needed. */ + z_memory = multiply (m, pow5, &z); + } + else + { + /* Divide m by pow5 and round. */ + z_memory = divide (m, pow5, &z); + } + } + else + { + pow5.limbs = pow5_ptr; + pow5.nlimbs = pow5_len; + if (n >= 0) + { + /* n >= 0, s < 0. + Multiply m with pow5, then divide by 2^|s|. */ + mpn_t numerator; + mpn_t denominator; + void *tmp_memory; + tmp_memory = multiply (m, pow5, &numerator); + if (tmp_memory == NULL) + { + free (pow5_ptr); + free (memory); + return NULL; + } + /* Construct 2^|s|. */ + { + mp_limb_t *ptr = pow5_ptr + pow5_len; + size_t i; + for (i = 0; i < s_limbs; i++) + ptr[i] = 0; + ptr[s_limbs] = (mp_limb_t) 1 << s_bits; + denominator.limbs = ptr; + denominator.nlimbs = s_limbs + 1; + } + z_memory = divide (numerator, denominator, &z); + free (tmp_memory); + } + else + { + /* n < 0, s > 0. + Multiply m with 2^s, then divide by pow5. */ + mpn_t numerator; + mp_limb_t *num_ptr; + num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) + * sizeof (mp_limb_t)); + if (num_ptr == NULL) + { + free (pow5_ptr); + free (memory); + return NULL; + } + { + mp_limb_t *destptr = num_ptr; + { + size_t i; + for (i = 0; i < s_limbs; i++) + *destptr++ = 0; + } + if (s_bits > 0) + { + const mp_limb_t *sourceptr = m.limbs; + mp_twolimb_t accu = 0; + size_t count; + for (count = m.nlimbs; count > 0; count--) + { + accu += (mp_twolimb_t) *sourceptr++ << s_bits; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + if (accu > 0) + *destptr++ = (mp_limb_t) accu; + } + else + { + const mp_limb_t *sourceptr = m.limbs; + size_t count; + for (count = m.nlimbs; count > 0; count--) + *destptr++ = *sourceptr++; + } + numerator.limbs = num_ptr; + numerator.nlimbs = destptr - num_ptr; + } + z_memory = divide (numerator, pow5, &z); + free (num_ptr); + } + } + free (pow5_ptr); + free (memory); + + /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ + + if (z_memory == NULL) + return NULL; + digits = convert_to_decimal (z, extra_zeroes); + free (z_memory); + return digits; +} + +# if NEED_PRINTF_LONG_DOUBLE + +/* Assuming x is finite and >= 0, and n is an integer: + Returns the decimal representation of round (x * 10^n). + Return the allocated memory - containing the decimal digits in low-to-high + order, terminated with a NUL character - in case of success, NULL in case + of memory allocation failure. */ +static char * +scale10_round_decimal_long_double (long double x, int n) +{ + int e IF_LINT(= 0); + mpn_t m; + void *memory = decode_long_double (x, &e, &m); + return scale10_round_decimal_decoded (e, m, memory, n); +} + +# endif + +# if NEED_PRINTF_DOUBLE + +/* Assuming x is finite and >= 0, and n is an integer: + Returns the decimal representation of round (x * 10^n). + Return the allocated memory - containing the decimal digits in low-to-high + order, terminated with a NUL character - in case of success, NULL in case + of memory allocation failure. */ +static char * +scale10_round_decimal_double (double x, int n) +{ + int e IF_LINT(= 0); + mpn_t m; + void *memory = decode_double (x, &e, &m); + return scale10_round_decimal_decoded (e, m, memory, n); +} + +# endif + +# if NEED_PRINTF_LONG_DOUBLE + +/* Assuming x is finite and > 0: + Return an approximation for n with 10^n <= x < 10^(n+1). + The approximation is usually the right n, but may be off by 1 sometimes. */ +static int +floorlog10l (long double x) +{ + int exp; + long double y; + double z; + double l; + + /* Split into exponential part and mantissa. */ + y = frexpl (x, &exp); + if (!(y >= 0.0L && y < 1.0L)) + abort (); + if (y == 0.0L) + return INT_MIN; + if (y < 0.5L) + { + while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) + { + y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); + exp -= GMP_LIMB_BITS; + } + if (y < (1.0L / (1 << 16))) + { + y *= 1.0L * (1 << 16); + exp -= 16; + } + if (y < (1.0L / (1 << 8))) + { + y *= 1.0L * (1 << 8); + exp -= 8; + } + if (y < (1.0L / (1 << 4))) + { + y *= 1.0L * (1 << 4); + exp -= 4; + } + if (y < (1.0L / (1 << 2))) + { + y *= 1.0L * (1 << 2); + exp -= 2; + } + if (y < (1.0L / (1 << 1))) + { + y *= 1.0L * (1 << 1); + exp -= 1; + } + } + if (!(y >= 0.5L && y < 1.0L)) + abort (); + /* Compute an approximation for l = log2(x) = exp + log2(y). */ + l = exp; + z = y; + if (z < 0.70710678118654752444) + { + z *= 1.4142135623730950488; + l -= 0.5; + } + if (z < 0.8408964152537145431) + { + z *= 1.1892071150027210667; + l -= 0.25; + } + if (z < 0.91700404320467123175) + { + z *= 1.0905077326652576592; + l -= 0.125; + } + if (z < 0.9576032806985736469) + { + z *= 1.0442737824274138403; + l -= 0.0625; + } + /* Now 0.95 <= z <= 1.01. */ + z = 1 - z; + /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) + Four terms are enough to get an approximation with error < 10^-7. */ + l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); + /* Finally multiply with log(2)/log(10), yields an approximation for + log10(x). */ + l *= 0.30102999566398119523; + /* Round down to the next integer. */ + return (int) l + (l < 0 ? -1 : 0); +} + +# endif + +# if NEED_PRINTF_DOUBLE + +/* Assuming x is finite and > 0: + Return an approximation for n with 10^n <= x < 10^(n+1). + The approximation is usually the right n, but may be off by 1 sometimes. */ +static int +floorlog10 (double x) +{ + int exp; + double y; + double z; + double l; + + /* Split into exponential part and mantissa. */ + y = frexp (x, &exp); + if (!(y >= 0.0 && y < 1.0)) + abort (); + if (y == 0.0) + return INT_MIN; + if (y < 0.5) + { + while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) + { + y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); + exp -= GMP_LIMB_BITS; + } + if (y < (1.0 / (1 << 16))) + { + y *= 1.0 * (1 << 16); + exp -= 16; + } + if (y < (1.0 / (1 << 8))) + { + y *= 1.0 * (1 << 8); + exp -= 8; + } + if (y < (1.0 / (1 << 4))) + { + y *= 1.0 * (1 << 4); + exp -= 4; + } + if (y < (1.0 / (1 << 2))) + { + y *= 1.0 * (1 << 2); + exp -= 2; + } + if (y < (1.0 / (1 << 1))) + { + y *= 1.0 * (1 << 1); + exp -= 1; + } + } + if (!(y >= 0.5 && y < 1.0)) + abort (); + /* Compute an approximation for l = log2(x) = exp + log2(y). */ + l = exp; + z = y; + if (z < 0.70710678118654752444) + { + z *= 1.4142135623730950488; + l -= 0.5; + } + if (z < 0.8408964152537145431) + { + z *= 1.1892071150027210667; + l -= 0.25; + } + if (z < 0.91700404320467123175) + { + z *= 1.0905077326652576592; + l -= 0.125; + } + if (z < 0.9576032806985736469) + { + z *= 1.0442737824274138403; + l -= 0.0625; + } + /* Now 0.95 <= z <= 1.01. */ + z = 1 - z; + /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) + Four terms are enough to get an approximation with error < 10^-7. */ + l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); + /* Finally multiply with log(2)/log(10), yields an approximation for + log10(x). */ + l *= 0.30102999566398119523; + /* Round down to the next integer. */ + return (int) l + (l < 0 ? -1 : 0); +} + +# endif + +/* Tests whether a string of digits consists of exactly PRECISION zeroes and + a single '1' digit. */ +static int +is_borderline (const char *digits, size_t precision) +{ + for (; precision > 0; precision--, digits++) + if (*digits != '0') + return 0; + if (*digits != '1') + return 0; + digits++; + return *digits == '\0'; +} + +#endif + +DCHAR_T * +VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + const FCHAR_T *format, va_list args) +{ + DIRECTIVES d; + arguments a; + + if (PRINTF_PARSE (format, &d, &a) < 0) + /* errno is already set. */ + return NULL; + +#define CLEANUP() \ + free (d.dir); \ + if (a.arg) \ + free (a.arg); + + if (PRINTF_FETCHARGS (args, &a) < 0) + { + CLEANUP (); + errno = EINVAL; + return NULL; + } + + { + size_t buf_neededlength; + TCHAR_T *buf; + TCHAR_T *buf_malloced; + const FCHAR_T *cp; + size_t i; + DIRECTIVE *dp; + /* Output string accumulator. */ + DCHAR_T *result; + size_t allocated; + size_t length; + + /* Allocate a small buffer that will hold a directive passed to + sprintf or snprintf. */ + buf_neededlength = + xsum4 (7, d.max_width_length, d.max_precision_length, 6); +#if HAVE_ALLOCA + if (buf_neededlength < 4000 / sizeof (TCHAR_T)) + { + buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); + buf_malloced = NULL; + } + else +#endif + { + size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); + if (size_overflow_p (buf_memsize)) + goto out_of_memory_1; + buf = (TCHAR_T *) malloc (buf_memsize); + if (buf == NULL) + goto out_of_memory_1; + buf_malloced = buf; + } + + if (resultbuf != NULL) + { + result = resultbuf; + allocated = *lengthp; + } + else + { + result = NULL; + allocated = 0; + } + length = 0; + /* Invariants: + result is either == resultbuf or == NULL or malloc-allocated. + If length > 0, then result != NULL. */ + + /* Ensures that allocated >= needed. Aborts through a jump to + out_of_memory if needed is SIZE_MAX or otherwise too big. */ +#define ENSURE_ALLOCATION(needed) \ + if ((needed) > allocated) \ + { \ + size_t memory_size; \ + DCHAR_T *memory; \ + \ + allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ + if ((needed) > allocated) \ + allocated = (needed); \ + memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ + if (size_overflow_p (memory_size)) \ + goto out_of_memory; \ + if (result == resultbuf || result == NULL) \ + memory = (DCHAR_T *) malloc (memory_size); \ + else \ + memory = (DCHAR_T *) realloc (result, memory_size); \ + if (memory == NULL) \ + goto out_of_memory; \ + if (result == resultbuf && length > 0) \ + DCHAR_CPY (memory, result, length); \ + result = memory; \ + } + + for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) + { + if (cp != dp->dir_start) + { + size_t n = dp->dir_start - cp; + size_t augmented_length = xsum (length, n); + + ENSURE_ALLOCATION (augmented_length); + /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we + need that the format string contains only ASCII characters + if FCHAR_T and DCHAR_T are not the same type. */ + if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) + { + DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); + length = augmented_length; + } + else + { + do + result[length++] = (unsigned char) *cp++; + while (--n > 0); + } + } + if (i == d.count) + break; + + /* Execute a single directive. */ + if (dp->conversion == '%') + { + size_t augmented_length; + + if (!(dp->arg_index == ARG_NONE)) + abort (); + augmented_length = xsum (length, 1); + ENSURE_ALLOCATION (augmented_length); + result[length] = '%'; + length = augmented_length; + } + else + { + if (!(dp->arg_index != ARG_NONE)) + abort (); + + if (dp->conversion == 'n') + { + switch (a.arg[dp->arg_index].type) + { + case TYPE_COUNT_SCHAR_POINTER: + *a.arg[dp->arg_index].a.a_count_schar_pointer = length; + break; + case TYPE_COUNT_SHORT_POINTER: + *a.arg[dp->arg_index].a.a_count_short_pointer = length; + break; + case TYPE_COUNT_INT_POINTER: + *a.arg[dp->arg_index].a.a_count_int_pointer = length; + break; + case TYPE_COUNT_LONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longint_pointer = length; + break; +#if HAVE_LONG_LONG_INT + case TYPE_COUNT_LONGLONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; + break; +#endif + default: + abort (); + } + } +#if ENABLE_UNISTDIO + /* The unistdio extensions. */ + else if (dp->conversion == 'U') + { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) + { + if (dp->width_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) + { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int) (-arg); + } + else + width = arg; + } + else + { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum (xtimes (width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) + { + if (dp->precision_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) + { + precision = arg; + has_precision = 1; + } + } + else + { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum (xtimes (precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + switch (type) + { + case TYPE_U8_STRING: + { + const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; + const uint8_t *arg_end; + size_t characters; + + if (has_precision) + { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) + { + int count = u8_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else if (has_width) + { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) + { + int count = u8_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else + { + /* Use the entire string. */ + arg_end = arg + u8_strlen (arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + +# if DCHAR_IS_UINT8_T + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_CPY (result + length, arg, n); + length += n; + } +# else + { /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; +# if DCHAR_IS_TCHAR + /* Convert from UTF-8 to locale encoding. */ + if (u8_conv_to_encoding (locale_charset (), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) +# else + /* Convert from UTF-8 to UTF-16/UTF-32. */ + converted = + U8_TO_DCHAR (arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) +# endif + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = saved_errno; + return NULL; + } + if (converted != result + length) + { + ENSURE_ALLOCATION (xsum (length, converted_len)); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + } + break; + + case TYPE_U16_STRING: + { + const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; + const uint16_t *arg_end; + size_t characters; + + if (has_precision) + { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) + { + int count = u16_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else if (has_width) + { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) + { + int count = u16_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else + { + /* Use the entire string. */ + arg_end = arg + u16_strlen (arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + +# if DCHAR_IS_UINT16_T + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_CPY (result + length, arg, n); + length += n; + } +# else + { /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; +# if DCHAR_IS_TCHAR + /* Convert from UTF-16 to locale encoding. */ + if (u16_conv_to_encoding (locale_charset (), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) +# else + /* Convert from UTF-16 to UTF-8/UTF-32. */ + converted = + U16_TO_DCHAR (arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) +# endif + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = saved_errno; + return NULL; + } + if (converted != result + length) + { + ENSURE_ALLOCATION (xsum (length, converted_len)); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + } + break; + + case TYPE_U32_STRING: + { + const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; + const uint32_t *arg_end; + size_t characters; + + if (has_precision) + { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) + { + int count = u32_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else if (has_width) + { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) + { + int count = u32_strmblen (arg_end); + if (count == 0) + break; + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } + else + { + /* Use the entire string. */ + arg_end = arg + u32_strlen (arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + +# if DCHAR_IS_UINT32_T + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_CPY (result + length, arg, n); + length += n; + } +# else + { /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; +# if DCHAR_IS_TCHAR + /* Convert from UTF-32 to locale encoding. */ + if (u32_conv_to_encoding (locale_charset (), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) +# else + /* Convert from UTF-32 to UTF-8/UTF-16. */ + converted = + U32_TO_DCHAR (arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) +# endif + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = saved_errno; + return NULL; + } + if (converted != result + length) + { + ENSURE_ALLOCATION (xsum (length, converted_len)); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) + { + size_t n = width - characters; + ENSURE_ALLOCATION (xsum (length, n)); + DCHAR_SET (result + length, ' ', n); + length += n; + } + } + break; + + default: + abort (); + } + } +#endif +#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL + else if ((dp->conversion == 'a' || dp->conversion == 'A') +# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) + && (0 +# if NEED_PRINTF_DOUBLE + || a.arg[dp->arg_index].type == TYPE_DOUBLE +# endif +# if NEED_PRINTF_LONG_DOUBLE + || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE +# endif + ) +# endif + ) + { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + size_t tmp_length; + DCHAR_T tmpbuf[700]; + DCHAR_T *tmp; + DCHAR_T *pad_ptr; + DCHAR_T *p; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) + { + if (dp->width_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) + { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int) (-arg); + } + else + width = arg; + } + else + { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum (xtimes (width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) + { + if (dp->precision_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) + { + precision = arg; + has_precision = 1; + } + } + else + { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum (xtimes (precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + /* Allocate a temporary buffer of sufficient size. */ + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int) ((LDBL_DIG + 1) + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int) ((DBL_DIG + 1) + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Account for sign, decimal point etc. */ + tmp_length = xsum (tmp_length, 12); + + if (tmp_length < width) + tmp_length = width; + + tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ + + if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) + tmp = tmpbuf; + else + { + size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); + + if (size_overflow_p (tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (DCHAR_T *) malloc (tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } + + pad_ptr = NULL; + p = tmp; + if (type == TYPE_LONGDOUBLE) + { +# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE + long double arg = a.arg[dp->arg_index].a.a_longdouble; + + if (isnanl (arg)) + { + if (dp->conversion == 'A') + { + *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; + } + else + { + *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; + } + } + else + { + int sign = 0; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + if (signbit (arg)) /* arg < 0.0L or negative zero */ + { + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0L && arg + arg == arg) + { + if (dp->conversion == 'A') + { + *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; + } + else + { + *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; + } + } + else + { + int exponent; + long double mantissa; + + if (arg > 0.0L) + mantissa = printf_frexpl (arg, &exponent); + else + { + exponent = 0; + mantissa = 0.0L; + } + + if (has_precision + && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) + { + /* Round the mantissa. */ + long double tail = mantissa; + size_t q; + + for (q = precision; ; q--) + { + int digit = (int) tail; + tail -= digit; + if (q == 0) + { + if (digit & 1 ? tail >= 0.5L : tail > 0.5L) + tail = 1 - tail; + else + tail = - tail; + break; + } + tail *= 16.0L; + } + if (tail != 0.0L) + for (q = precision; q > 0; q--) + tail *= 0.0625L; + mantissa += tail; + } + + *p++ = '0'; + *p++ = dp->conversion - 'A' + 'X'; + pad_ptr = p; + { + int digit; + + digit = (int) mantissa; + mantissa -= digit; + *p++ = '0' + digit; + if ((flags & FLAG_ALT) + || mantissa > 0.0L || precision > 0) + { + *p++ = decimal_point_char (); + /* This loop terminates because we assume + that FLT_RADIX is a power of 2. */ + while (mantissa > 0.0L) + { + mantissa *= 16.0L; + digit = (int) mantissa; + mantissa -= digit; + *p++ = digit + + (digit < 10 + ? '0' + : dp->conversion - 10); + if (precision > 0) + precision--; + } + while (precision > 0) + { + *p++ = '0'; + precision--; + } + } + } + *p++ = dp->conversion - 'A' + 'P'; +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + { '%', '+', 'd', '\0' }; + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, "%+d", exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, "%+d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } +# endif + } + + END_LONG_DOUBLE_ROUNDING (); + } +# else + abort (); +# endif + } + else + { +# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE + double arg = a.arg[dp->arg_index].a.a_double; + + if (isnand (arg)) + { + if (dp->conversion == 'A') + { + *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; + } + else + { + *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; + } + } + else + { + int sign = 0; + + if (signbit (arg)) /* arg < 0.0 or negative zero */ + { + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0 && arg + arg == arg) + { + if (dp->conversion == 'A') + { + *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; + } + else + { + *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; + } + } + else + { + int exponent; + double mantissa; + + if (arg > 0.0) + mantissa = printf_frexp (arg, &exponent); + else + { + exponent = 0; + mantissa = 0.0; + } + + if (has_precision + && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) + { + /* Round the mantissa. */ + double tail = mantissa; + size_t q; + + for (q = precision; ; q--) + { + int digit = (int) tail; + tail -= digit; + if (q == 0) + { + if (digit & 1 ? tail >= 0.5 : tail > 0.5) + tail = 1 - tail; + else + tail = - tail; + break; + } + tail *= 16.0; + } + if (tail != 0.0) + for (q = precision; q > 0; q--) + tail *= 0.0625; + mantissa += tail; + } + + *p++ = '0'; + *p++ = dp->conversion - 'A' + 'X'; + pad_ptr = p; + { + int digit; + + digit = (int) mantissa; + mantissa -= digit; + *p++ = '0' + digit; + if ((flags & FLAG_ALT) + || mantissa > 0.0 || precision > 0) + { + *p++ = decimal_point_char (); + /* This loop terminates because we assume + that FLT_RADIX is a power of 2. */ + while (mantissa > 0.0) + { + mantissa *= 16.0; + digit = (int) mantissa; + mantissa -= digit; + *p++ = digit + + (digit < 10 + ? '0' + : dp->conversion - 10); + if (precision > 0) + precision--; + } + while (precision > 0) + { + *p++ = '0'; + precision--; + } + } + } + *p++ = dp->conversion - 'A' + 'P'; +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + { '%', '+', 'd', '\0' }; + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, "%+d", exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, "%+d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } +# endif + } + } +# else + abort (); +# endif + } + /* The generated string now extends from tmp to p, with the + zero padding insertion point being at pad_ptr. */ + if (has_width && p - tmp < width) + { + size_t pad = width - (p - tmp); + DCHAR_T *end = p + pad; + + if (flags & FLAG_LEFT) + { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } + else if ((flags & FLAG_ZERO) && pad_ptr != NULL) + { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } + else + { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > tmp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + + p = end; + } + + { + size_t count = p - tmp; + + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); + + /* Make room for the result. */ + if (count >= allocated - length) + { + size_t n = xsum (length, count); + + ENSURE_ALLOCATION (n); + } + + /* Append the result. */ + memcpy (result + length, tmp, count * sizeof (DCHAR_T)); + if (tmp != tmpbuf) + free (tmp); + length += count; + } + } +#endif +#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL + else if ((dp->conversion == 'f' || dp->conversion == 'F' + || dp->conversion == 'e' || dp->conversion == 'E' + || dp->conversion == 'g' || dp->conversion == 'G' + || dp->conversion == 'a' || dp->conversion == 'A') + && (0 +# if NEED_PRINTF_DOUBLE + || a.arg[dp->arg_index].type == TYPE_DOUBLE +# elif NEED_PRINTF_INFINITE_DOUBLE + || (a.arg[dp->arg_index].type == TYPE_DOUBLE + /* The systems (mingw) which produce wrong output + for Inf, -Inf, and NaN also do so for -0.0. + Therefore we treat this case here as well. */ + && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) +# endif +# if NEED_PRINTF_LONG_DOUBLE + || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE +# elif NEED_PRINTF_INFINITE_LONG_DOUBLE + || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE + /* Some systems produce wrong output for Inf, + -Inf, and NaN. */ + && is_infinitel (a.arg[dp->arg_index].a.a_longdouble)) +# endif + )) + { +# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) + arg_type type = a.arg[dp->arg_index].type; +# endif + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + size_t tmp_length; + DCHAR_T tmpbuf[700]; + DCHAR_T *tmp; + DCHAR_T *pad_ptr; + DCHAR_T *p; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) + { + if (dp->width_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) + { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int) (-arg); + } + else + width = arg; + } + else + { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum (xtimes (width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) + { + if (dp->precision_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) + { + precision = arg; + has_precision = 1; + } + } + else + { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum (xtimes (precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + /* POSIX specifies the default precision to be 6 for %f, %F, + %e, %E, but not for %g, %G. Implementations appear to use + the same default precision also for %g, %G. */ + if (!has_precision) + precision = 6; + + /* Allocate a temporary buffer of sufficient size. */ +# if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE + tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); +# elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE + tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); +# elif NEED_PRINTF_LONG_DOUBLE + tmp_length = LDBL_DIG + 1; +# elif NEED_PRINTF_DOUBLE + tmp_length = DBL_DIG + 1; +# else + tmp_length = 0; +# endif + if (tmp_length < precision) + tmp_length = precision; +# if NEED_PRINTF_LONG_DOUBLE +# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE + if (type == TYPE_LONGDOUBLE) +# endif + if (dp->conversion == 'f' || dp->conversion == 'F') + { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + if (!(isnanl (arg) || arg + arg == arg)) + { + /* arg is finite and nonzero. */ + int exponent = floorlog10l (arg < 0 ? -arg : arg); + if (exponent >= 0 && tmp_length < exponent + precision) + tmp_length = exponent + precision; + } + } +# endif +# if NEED_PRINTF_DOUBLE +# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE + if (type == TYPE_DOUBLE) +# endif + if (dp->conversion == 'f' || dp->conversion == 'F') + { + double arg = a.arg[dp->arg_index].a.a_double; + if (!(isnand (arg) || arg + arg == arg)) + { + /* arg is finite and nonzero. */ + int exponent = floorlog10 (arg < 0 ? -arg : arg); + if (exponent >= 0 && tmp_length < exponent + precision) + tmp_length = exponent + precision; + } + } +# endif + /* Account for sign, decimal point etc. */ + tmp_length = xsum (tmp_length, 12); + + if (tmp_length < width) + tmp_length = width; + + tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ + + if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) + tmp = tmpbuf; + else + { + size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); + + if (size_overflow_p (tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (DCHAR_T *) malloc (tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } + + pad_ptr = NULL; + p = tmp; + +# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE +# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE + if (type == TYPE_LONGDOUBLE) +# endif + { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + + if (isnanl (arg)) + { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') + { + *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; + } + else + { + *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; + } + } + else + { + int sign = 0; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + if (signbit (arg)) /* arg < 0.0L or negative zero */ + { + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0L && arg + arg == arg) + { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') + { + *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; + } + else + { + *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; + } + } + else + { +# if NEED_PRINTF_LONG_DOUBLE + pad_ptr = p; + + if (dp->conversion == 'f' || dp->conversion == 'F') + { + char *digits; + size_t ndigits; + + digits = + scale10_round_decimal_long_double (arg, precision); + if (digits == NULL) + { + END_LONG_DOUBLE_ROUNDING (); + goto out_of_memory; + } + ndigits = strlen (digits); + + if (ndigits > precision) + do + { + --ndigits; + *p++ = digits[ndigits]; + } + while (ndigits > precision); + else + *p++ = '0'; + /* Here ndigits <= precision. */ + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > ndigits; precision--) + *p++ = '0'; + while (ndigits > 0) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free (digits); + } + else if (dp->conversion == 'e' || dp->conversion == 'E') + { + int exponent; + + if (arg == 0.0L) + { + exponent = 0; + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > 0; precision--) + *p++ = '0'; + } + } + else + { + /* arg > 0.0L. */ + int adjusted; + char *digits; + size_t ndigits; + + exponent = floorlog10l (arg); + adjusted = 0; + for (;;) + { + digits = + scale10_round_decimal_long_double (arg, + (int)precision - exponent); + if (digits == NULL) + { + END_LONG_DOUBLE_ROUNDING (); + goto out_of_memory; + } + ndigits = strlen (digits); + + if (ndigits == precision + 1) + break; + if (ndigits < precision + || ndigits > precision + 2) + /* The exponent was not guessed + precisely enough. */ + abort (); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort (); + free (digits); + if (ndigits == precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision+1. */ + if (is_borderline (digits, precision)) + { + /* Maybe the exponent guess was too high + and a smaller exponent can be reached + by turning a 10...0 into 9...9x. */ + char *digits2 = + scale10_round_decimal_long_double (arg, + (int)precision - exponent + 1); + if (digits2 == NULL) + { + free (digits); + END_LONG_DOUBLE_ROUNDING (); + goto out_of_memory; + } + if (strlen (digits2) == precision + 1) + { + free (digits); + digits = digits2; + exponent -= 1; + } + else + free (digits2); + } + /* Here ndigits = precision+1. */ + + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + while (ndigits > 0) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free (digits); + } + + *p++ = dp->conversion; /* 'e' or 'E' */ +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + { '%', '+', '.', '2', 'd', '\0' }; + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, "%+.2d", exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, "%+.2d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } +# endif + } + else if (dp->conversion == 'g' || dp->conversion == 'G') + { + if (precision == 0) + precision = 1; + /* precision >= 1. */ + + if (arg == 0.0L) + /* The exponent is 0, >= -4, < precision. + Use fixed-point notation. */ + { + size_t ndigits = precision; + /* Number of trailing zeroes that have to be + dropped. */ + size_t nzeroes = + (flags & FLAG_ALT ? 0 : precision - 1); + + --ndigits; + *p++ = '0'; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = '0'; + } + } + } + else + { + /* arg > 0.0L. */ + int exponent; + int adjusted; + char *digits; + size_t ndigits; + size_t nzeroes; + + exponent = floorlog10l (arg); + adjusted = 0; + for (;;) + { + digits = + scale10_round_decimal_long_double (arg, + (int)(precision - 1) - exponent); + if (digits == NULL) + { + END_LONG_DOUBLE_ROUNDING (); + goto out_of_memory; + } + ndigits = strlen (digits); + + if (ndigits == precision) + break; + if (ndigits < precision - 1 + || ndigits > precision + 1) + /* The exponent was not guessed + precisely enough. */ + abort (); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort (); + free (digits); + if (ndigits < precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision. */ + if (is_borderline (digits, precision - 1)) + { + /* Maybe the exponent guess was too high + and a smaller exponent can be reached + by turning a 10...0 into 9...9x. */ + char *digits2 = + scale10_round_decimal_long_double (arg, + (int)(precision - 1) - exponent + 1); + if (digits2 == NULL) + { + free (digits); + END_LONG_DOUBLE_ROUNDING (); + goto out_of_memory; + } + if (strlen (digits2) == precision) + { + free (digits); + digits = digits2; + exponent -= 1; + } + else + free (digits2); + } + /* Here ndigits = precision. */ + + /* Determine the number of trailing zeroes + that have to be dropped. */ + nzeroes = 0; + if ((flags & FLAG_ALT) == 0) + while (nzeroes < ndigits + && digits[nzeroes] == '0') + nzeroes++; + + /* The exponent is now determined. */ + if (exponent >= -4 + && exponent < (long)precision) + { + /* Fixed-point notation: + max(exponent,0)+1 digits, then the + decimal point, then the remaining + digits without trailing zeroes. */ + if (exponent >= 0) + { + size_t count = exponent + 1; + /* Note: count <= precision = ndigits. */ + for (; count > 0; count--) + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + } + else + { + size_t count = -exponent - 1; + *p++ = '0'; + *p++ = decimal_point_char (); + for (; count > 0; count--) + *p++ = '0'; + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + } + else + { + /* Exponential notation. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + { '%', '+', '.', '2', 'd', '\0' }; + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, "%+.2d", exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, "%+.2d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } +# endif + } + + free (digits); + } + } + else + abort (); +# else + /* arg is finite. */ + abort (); +# endif + } + + END_LONG_DOUBLE_ROUNDING (); + } + } +# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE + else +# endif +# endif +# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE + { + double arg = a.arg[dp->arg_index].a.a_double; + + if (isnand (arg)) + { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') + { + *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; + } + else + { + *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; + } + } + else + { + int sign = 0; + + if (signbit (arg)) /* arg < 0.0 or negative zero */ + { + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0 && arg + arg == arg) + { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') + { + *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; + } + else + { + *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; + } + } + else + { +# if NEED_PRINTF_DOUBLE + pad_ptr = p; + + if (dp->conversion == 'f' || dp->conversion == 'F') + { + char *digits; + size_t ndigits; + + digits = + scale10_round_decimal_double (arg, precision); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen (digits); + + if (ndigits > precision) + do + { + --ndigits; + *p++ = digits[ndigits]; + } + while (ndigits > precision); + else + *p++ = '0'; + /* Here ndigits <= precision. */ + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > ndigits; precision--) + *p++ = '0'; + while (ndigits > 0) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free (digits); + } + else if (dp->conversion == 'e' || dp->conversion == 'E') + { + int exponent; + + if (arg == 0.0) + { + exponent = 0; + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > 0; precision--) + *p++ = '0'; + } + } + else + { + /* arg > 0.0. */ + int adjusted; + char *digits; + size_t ndigits; + + exponent = floorlog10 (arg); + adjusted = 0; + for (;;) + { + digits = + scale10_round_decimal_double (arg, + (int)precision - exponent); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen (digits); + + if (ndigits == precision + 1) + break; + if (ndigits < precision + || ndigits > precision + 2) + /* The exponent was not guessed + precisely enough. */ + abort (); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort (); + free (digits); + if (ndigits == precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision+1. */ + if (is_borderline (digits, precision)) + { + /* Maybe the exponent guess was too high + and a smaller exponent can be reached + by turning a 10...0 into 9...9x. */ + char *digits2 = + scale10_round_decimal_double (arg, + (int)precision - exponent + 1); + if (digits2 == NULL) + { + free (digits); + goto out_of_memory; + } + if (strlen (digits2) == precision + 1) + { + free (digits); + digits = digits2; + exponent -= 1; + } + else + free (digits2); + } + /* Here ndigits = precision+1. */ + + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + while (ndigits > 0) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free (digits); + } + + *p++ = dp->conversion; /* 'e' or 'E' */ +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + { '%', '+', '.', '3', 'd', '\0' }; +# else + { '%', '+', '.', '2', 'd', '\0' }; +# endif + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + { + static const char decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + "%+.3d"; +# else + "%+.2d"; +# endif + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, decimal_format, exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, decimal_format, exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } + } +# endif + } + else if (dp->conversion == 'g' || dp->conversion == 'G') + { + if (precision == 0) + precision = 1; + /* precision >= 1. */ + + if (arg == 0.0) + /* The exponent is 0, >= -4, < precision. + Use fixed-point notation. */ + { + size_t ndigits = precision; + /* Number of trailing zeroes that have to be + dropped. */ + size_t nzeroes = + (flags & FLAG_ALT ? 0 : precision - 1); + + --ndigits; + *p++ = '0'; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = '0'; + } + } + } + else + { + /* arg > 0.0. */ + int exponent; + int adjusted; + char *digits; + size_t ndigits; + size_t nzeroes; + + exponent = floorlog10 (arg); + adjusted = 0; + for (;;) + { + digits = + scale10_round_decimal_double (arg, + (int)(precision - 1) - exponent); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen (digits); + + if (ndigits == precision) + break; + if (ndigits < precision - 1 + || ndigits > precision + 1) + /* The exponent was not guessed + precisely enough. */ + abort (); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort (); + free (digits); + if (ndigits < precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision. */ + if (is_borderline (digits, precision - 1)) + { + /* Maybe the exponent guess was too high + and a smaller exponent can be reached + by turning a 10...0 into 9...9x. */ + char *digits2 = + scale10_round_decimal_double (arg, + (int)(precision - 1) - exponent + 1); + if (digits2 == NULL) + { + free (digits); + goto out_of_memory; + } + if (strlen (digits2) == precision) + { + free (digits); + digits = digits2; + exponent -= 1; + } + else + free (digits2); + } + /* Here ndigits = precision. */ + + /* Determine the number of trailing zeroes + that have to be dropped. */ + nzeroes = 0; + if ((flags & FLAG_ALT) == 0) + while (nzeroes < ndigits + && digits[nzeroes] == '0') + nzeroes++; + + /* The exponent is now determined. */ + if (exponent >= -4 + && exponent < (long)precision) + { + /* Fixed-point notation: + max(exponent,0)+1 digits, then the + decimal point, then the remaining + digits without trailing zeroes. */ + if (exponent >= 0) + { + size_t count = exponent + 1; + /* Note: count <= precision = ndigits. */ + for (; count > 0; count--) + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + } + else + { + size_t count = -exponent - 1; + *p++ = '0'; + *p++ = decimal_point_char (); + for (; count > 0; count--) + *p++ = '0'; + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + } + else + { + /* Exponential notation. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) + { + *p++ = decimal_point_char (); + while (ndigits > nzeroes) + { + --ndigits; + *p++ = digits[ndigits]; + } + } + *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ +# if WIDE_CHAR_VERSION + { + static const wchar_t decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + { '%', '+', '.', '3', 'd', '\0' }; +# else + { '%', '+', '.', '2', 'd', '\0' }; +# endif + SNPRINTF (p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; +# else + { + static const char decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + "%+.3d"; +# else + "%+.2d"; +# endif + if (sizeof (DCHAR_T) == 1) + { + sprintf ((char *) p, decimal_format, exponent); + while (*p != '\0') + p++; + } + else + { + char expbuf[6 + 1]; + const char *ep; + sprintf (expbuf, decimal_format, exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } + } +# endif + } + + free (digits); + } + } + else + abort (); +# else + /* arg is finite. */ + if (!(arg == 0.0)) + abort (); + + pad_ptr = p; + + if (dp->conversion == 'f' || dp->conversion == 'F') + { + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > 0; precision--) + *p++ = '0'; + } + } + else if (dp->conversion == 'e' || dp->conversion == 'E') + { + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) + { + *p++ = decimal_point_char (); + for (; precision > 0; precision--) + *p++ = '0'; + } + *p++ = dp->conversion; /* 'e' or 'E' */ + *p++ = '+'; + /* Produce the same number of exponent digits as + the native printf implementation. */ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + *p++ = '0'; +# endif + *p++ = '0'; + *p++ = '0'; + } + else if (dp->conversion == 'g' || dp->conversion == 'G') + { + *p++ = '0'; + if (flags & FLAG_ALT) + { + size_t ndigits = + (precision > 0 ? precision - 1 : 0); + *p++ = decimal_point_char (); + for (; ndigits > 0; --ndigits) + *p++ = '0'; + } + } + else + abort (); +# endif + } + } + } +# endif + + /* The generated string now extends from tmp to p, with the + zero padding insertion point being at pad_ptr. */ + if (has_width && p - tmp < width) + { + size_t pad = width - (p - tmp); + DCHAR_T *end = p + pad; + + if (flags & FLAG_LEFT) + { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } + else if ((flags & FLAG_ZERO) && pad_ptr != NULL) + { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } + else + { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > tmp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + + p = end; + } + + { + size_t count = p - tmp; + + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); + + /* Make room for the result. */ + if (count >= allocated - length) + { + size_t n = xsum (length, count); + + ENSURE_ALLOCATION (n); + } + + /* Append the result. */ + memcpy (result + length, tmp, count * sizeof (DCHAR_T)); + if (tmp != tmpbuf) + free (tmp); + length += count; + } + } +#endif + else + { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; +#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION + int has_width; + size_t width; +#endif +#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION + int has_precision; + size_t precision; +#endif +#if NEED_PRINTF_UNBOUNDED_PRECISION + int prec_ourselves; +#else +# define prec_ourselves 0 +#endif +#if NEED_PRINTF_FLAG_LEFTADJUST +# define pad_ourselves 1 +#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION + int pad_ourselves; +#else +# define pad_ourselves 0 +#endif + TCHAR_T *fbp; + unsigned int prefix_count; + int prefixes[2] IF_LINT (= { 0 }); +#if !USE_SNPRINTF + size_t tmp_length; + TCHAR_T tmpbuf[700]; + TCHAR_T *tmp; +#endif + +#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) + { + if (dp->width_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) + { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int) (-arg); + } + else + width = arg; + } + else + { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum (xtimes (width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } +#endif + +#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION + has_precision = 0; + precision = 6; + if (dp->precision_start != dp->precision_end) + { + if (dp->precision_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) + { + precision = arg; + has_precision = 1; + } + } + else + { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum (xtimes (precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } +#endif + + /* Decide whether to handle the precision ourselves. */ +#if NEED_PRINTF_UNBOUNDED_PRECISION + switch (dp->conversion) + { + case 'd': case 'i': case 'u': + case 'o': + case 'x': case 'X': case 'p': + prec_ourselves = has_precision && (precision > 0); + break; + default: + prec_ourselves = 0; + break; + } +#endif + + /* Decide whether to perform the padding ourselves. */ +#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION) + switch (dp->conversion) + { +# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO + /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need + to perform the padding after this conversion. Functions + with unistdio extensions perform the padding based on + character count rather than element count. */ + case 'c': case 's': +# endif +# if NEED_PRINTF_FLAG_ZERO + case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': + case 'a': case 'A': +# endif + pad_ourselves = 1; + break; + default: + pad_ourselves = prec_ourselves; + break; + } +#endif + +#if !USE_SNPRINTF + /* Allocate a temporary buffer of sufficient size for calling + sprintf. */ + { + switch (dp->conversion) + { + + case 'd': case 'i': case 'u': +# if HAVE_LONG_LONG_INT + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Multiply by 2, as an estimate for FLAG_GROUP. */ + tmp_length = xsum (tmp_length, tmp_length); + /* Add 1, to account for a leading sign. */ + tmp_length = xsum (tmp_length, 1); + break; + + case 'o': +# if HAVE_LONG_LONG_INT + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Add 1, to account for a leading sign. */ + tmp_length = xsum (tmp_length, 1); + break; + + case 'x': case 'X': +# if HAVE_LONG_LONG_INT + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Add 2, to account for a leading sign or alternate form. */ + tmp_length = xsum (tmp_length, 2); + break; + + case 'f': case 'F': + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int) (LDBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + else + tmp_length = + (unsigned int) (DBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + tmp_length = xsum (tmp_length, precision); + break; + + case 'e': case 'E': case 'g': case 'G': + tmp_length = + 12; /* sign, decimal point, exponent etc. */ + tmp_length = xsum (tmp_length, precision); + break; + + case 'a': case 'A': + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int) (LDBL_DIG + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int) (DBL_DIG + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Account for sign, decimal point etc. */ + tmp_length = xsum (tmp_length, 12); + break; + + case 'c': +# if HAVE_WINT_T && !WIDE_CHAR_VERSION + if (type == TYPE_WIDE_CHAR) + tmp_length = MB_CUR_MAX; + else +# endif + tmp_length = 1; + break; + + case 's': +# if HAVE_WCHAR_T + if (type == TYPE_WIDE_STRING) + { + tmp_length = + local_wcslen (a.arg[dp->arg_index].a.a_wide_string); + +# if !WIDE_CHAR_VERSION + tmp_length = xtimes (tmp_length, MB_CUR_MAX); +# endif + } + else +# endif + tmp_length = strlen (a.arg[dp->arg_index].a.a_string); + break; + + case 'p': + tmp_length = + (unsigned int) (sizeof (void *) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading 0x */ + break; + + default: + abort (); + } + + if (!pad_ourselves) + { +# if ENABLE_UNISTDIO + /* Padding considers the number of characters, therefore + the number of elements after padding may be + > max (tmp_length, width) + but is certainly + <= tmp_length + width. */ + tmp_length = xsum (tmp_length, width); +# else + /* Padding considers the number of elements, + says POSIX. */ + if (tmp_length < width) + tmp_length = width; +# endif + } + + tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ + } + + if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) + tmp = tmpbuf; + else + { + size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); + + if (size_overflow_p (tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (TCHAR_T *) malloc (tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } +#endif + + /* Construct the format string for calling snprintf or + sprintf. */ + fbp = buf; + *fbp++ = '%'; +#if NEED_PRINTF_FLAG_GROUPING + /* The underlying implementation doesn't support the ' flag. + Produce no grouping characters in this case; this is + acceptable because the grouping is locale dependent. */ +#else + if (flags & FLAG_GROUP) + *fbp++ = '\''; +#endif + if (flags & FLAG_LEFT) + *fbp++ = '-'; + if (flags & FLAG_SHOWSIGN) + *fbp++ = '+'; + if (flags & FLAG_SPACE) + *fbp++ = ' '; + if (flags & FLAG_ALT) + *fbp++ = '#'; + if (!pad_ourselves) + { + if (flags & FLAG_ZERO) + *fbp++ = '0'; + if (dp->width_start != dp->width_end) + { + size_t n = dp->width_end - dp->width_start; + /* The width specification is known to consist only + of standard ASCII characters. */ + if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) + { + memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); + fbp += n; + } + else + { + const FCHAR_T *mp = dp->width_start; + do + *fbp++ = (unsigned char) *mp++; + while (--n > 0); + } + } + } + if (!prec_ourselves) + { + if (dp->precision_start != dp->precision_end) + { + size_t n = dp->precision_end - dp->precision_start; + /* The precision specification is known to consist only + of standard ASCII characters. */ + if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) + { + memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); + fbp += n; + } + else + { + const FCHAR_T *mp = dp->precision_start; + do + *fbp++ = (unsigned char) *mp++; + while (--n > 0); + } + } + } + + switch (type) + { +#if HAVE_LONG_LONG_INT + case TYPE_LONGLONGINT: + case TYPE_ULONGLONGINT: +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + *fbp++ = 'I'; + *fbp++ = '6'; + *fbp++ = '4'; + break; +# else + *fbp++ = 'l'; + /*FALLTHROUGH*/ +# endif +#endif + case TYPE_LONGINT: + case TYPE_ULONGINT: +#if HAVE_WINT_T + case TYPE_WIDE_CHAR: +#endif +#if HAVE_WCHAR_T + case TYPE_WIDE_STRING: +#endif + *fbp++ = 'l'; + break; + case TYPE_LONGDOUBLE: + *fbp++ = 'L'; + break; + default: + break; + } +#if NEED_PRINTF_DIRECTIVE_F + if (dp->conversion == 'F') + *fbp = 'f'; + else +#endif + *fbp = dp->conversion; +#if USE_SNPRINTF +# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) + fbp[1] = '%'; + fbp[2] = 'n'; + fbp[3] = '\0'; +# else + /* On glibc2 systems from glibc >= 2.3 - probably also older + ones - we know that snprintf's returns value conforms to + ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. + Therefore we can avoid using %n in this situation. + On glibc2 systems from 2004-10-18 or newer, the use of %n + in format strings in writable memory may crash the program + (if compiled with _FORTIFY_SOURCE=2), so we should avoid it + in this situation. */ + /* On native Win32 systems (such as mingw), we can avoid using + %n because: + - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, + snprintf does not write more than the specified number + of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes + '4', '5', '6' into buf, not '4', '5', '\0'.) + - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf + allows us to recognize the case of an insufficient + buffer size: it returns -1 in this case. + On native Win32 systems (such as mingw) where the OS is + Windows Vista, the use of %n in format strings by default + crashes the program. See + and + + So we should avoid %n in this situation. */ + fbp[1] = '\0'; +# endif +#else + fbp[1] = '\0'; +#endif + + /* Construct the arguments for calling snprintf or sprintf. */ + prefix_count = 0; + if (!pad_ourselves && dp->width_arg_index != ARG_NONE) + { + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; + } + if (dp->precision_arg_index != ARG_NONE) + { + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; + } + +#if USE_SNPRINTF + /* The SNPRINTF result is appended after result[0..length]. + The latter is an array of DCHAR_T; SNPRINTF appends an + array of TCHAR_T to it. This is possible because + sizeof (TCHAR_T) divides sizeof (DCHAR_T) and + alignof (TCHAR_T) <= alignof (DCHAR_T). */ +# define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) + /* Ensure that maxlen below will be >= 2. Needed on BeOS, + where an snprintf() with maxlen==1 acts like sprintf(). */ + ENSURE_ALLOCATION (xsum (length, + (2 + TCHARS_PER_DCHAR - 1) + / TCHARS_PER_DCHAR)); + /* Prepare checking whether snprintf returns the count + via %n. */ + *(TCHAR_T *) (result + length) = '\0'; +#endif + + for (;;) + { + int count = -1; + +#if USE_SNPRINTF + int retcount = 0; + size_t maxlen = allocated - length; + /* SNPRINTF can fail if its second argument is + > INT_MAX. */ + if (maxlen > INT_MAX / TCHARS_PER_DCHAR) + maxlen = INT_MAX / TCHARS_PER_DCHAR; + maxlen = maxlen * TCHARS_PER_DCHAR; +# define SNPRINTF_BUF(arg) \ + switch (prefix_count) \ + { \ + case 0: \ + retcount = SNPRINTF ((TCHAR_T *) (result + length), \ + maxlen, buf, \ + arg, &count); \ + break; \ + case 1: \ + retcount = SNPRINTF ((TCHAR_T *) (result + length), \ + maxlen, buf, \ + prefixes[0], arg, &count); \ + break; \ + case 2: \ + retcount = SNPRINTF ((TCHAR_T *) (result + length), \ + maxlen, buf, \ + prefixes[0], prefixes[1], arg, \ + &count); \ + break; \ + default: \ + abort (); \ + } +#else +# define SNPRINTF_BUF(arg) \ + switch (prefix_count) \ + { \ + case 0: \ + count = sprintf (tmp, buf, arg); \ + break; \ + case 1: \ + count = sprintf (tmp, buf, prefixes[0], arg); \ + break; \ + case 2: \ + count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ + arg); \ + break; \ + default: \ + abort (); \ + } +#endif + + switch (type) + { + case TYPE_SCHAR: + { + int arg = a.arg[dp->arg_index].a.a_schar; + SNPRINTF_BUF (arg); + } + break; + case TYPE_UCHAR: + { + unsigned int arg = a.arg[dp->arg_index].a.a_uchar; + SNPRINTF_BUF (arg); + } + break; + case TYPE_SHORT: + { + int arg = a.arg[dp->arg_index].a.a_short; + SNPRINTF_BUF (arg); + } + break; + case TYPE_USHORT: + { + unsigned int arg = a.arg[dp->arg_index].a.a_ushort; + SNPRINTF_BUF (arg); + } + break; + case TYPE_INT: + { + int arg = a.arg[dp->arg_index].a.a_int; + SNPRINTF_BUF (arg); + } + break; + case TYPE_UINT: + { + unsigned int arg = a.arg[dp->arg_index].a.a_uint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_LONGINT: + { + long int arg = a.arg[dp->arg_index].a.a_longint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_ULONGINT: + { + unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; + SNPRINTF_BUF (arg); + } + break; +#if HAVE_LONG_LONG_INT + case TYPE_LONGLONGINT: + { + long long int arg = a.arg[dp->arg_index].a.a_longlongint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_ULONGLONGINT: + { + unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_DOUBLE: + { + double arg = a.arg[dp->arg_index].a.a_double; + SNPRINTF_BUF (arg); + } + break; + case TYPE_LONGDOUBLE: + { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + SNPRINTF_BUF (arg); + } + break; + case TYPE_CHAR: + { + int arg = a.arg[dp->arg_index].a.a_char; + SNPRINTF_BUF (arg); + } + break; +#if HAVE_WINT_T + case TYPE_WIDE_CHAR: + { + wint_t arg = a.arg[dp->arg_index].a.a_wide_char; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_STRING: + { + const char *arg = a.arg[dp->arg_index].a.a_string; + SNPRINTF_BUF (arg); + } + break; +#if HAVE_WCHAR_T + case TYPE_WIDE_STRING: + { + const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_POINTER: + { + void *arg = a.arg[dp->arg_index].a.a_pointer; + SNPRINTF_BUF (arg); + } + break; + default: + abort (); + } + +#if USE_SNPRINTF + /* Portability: Not all implementations of snprintf() + are ISO C 99 compliant. Determine the number of + bytes that snprintf() has produced or would have + produced. */ + if (count >= 0) + { + /* Verify that snprintf() has NUL-terminated its + result. */ + if (count < maxlen + && ((TCHAR_T *) (result + length)) [count] != '\0') + abort (); + /* Portability hack. */ + if (retcount > count) + count = retcount; + } + else + { + /* snprintf() doesn't understand the '%n' + directive. */ + if (fbp[1] != '\0') + { + /* Don't use the '%n' directive; instead, look + at the snprintf() return value. */ + fbp[1] = '\0'; + continue; + } + else + { + /* Look at the snprintf() return value. */ + if (retcount < 0) + { + /* HP-UX 10.20 snprintf() is doubly deficient: + It doesn't understand the '%n' directive, + *and* it returns -1 (rather than the length + that would have been required) when the + buffer is too small. */ + size_t bigger_need = + xsum (xtimes (allocated, 2), 12); + ENSURE_ALLOCATION (bigger_need); + continue; + } + else + count = retcount; + } + } +#endif + + /* Attempt to handle failure. */ + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EINVAL; + return NULL; + } + +#if USE_SNPRINTF + /* Handle overflow of the allocated buffer. + If such an overflow occurs, a C99 compliant snprintf() + returns a count >= maxlen. However, a non-compliant + snprintf() function returns only count = maxlen - 1. To + cover both cases, test whether count >= maxlen - 1. */ + if ((unsigned int) count + 1 >= maxlen) + { + /* If maxlen already has attained its allowed maximum, + allocating more memory will not increase maxlen. + Instead of looping, bail out. */ + if (maxlen == INT_MAX / TCHARS_PER_DCHAR) + goto overflow; + else + { + /* Need at least (count + 1) * sizeof (TCHAR_T) + bytes. (The +1 is for the trailing NUL.) + But ask for (count + 2) * sizeof (TCHAR_T) + bytes, so that in the next round, we likely get + maxlen > (unsigned int) count + 1 + and so we don't get here again. + And allocate proportionally, to avoid looping + eternally if snprintf() reports a too small + count. */ + size_t n = + xmax (xsum (length, + ((unsigned int) count + 2 + + TCHARS_PER_DCHAR - 1) + / TCHARS_PER_DCHAR), + xtimes (allocated, 2)); + + ENSURE_ALLOCATION (n); + continue; + } + } +#endif + +#if NEED_PRINTF_UNBOUNDED_PRECISION + if (prec_ourselves) + { + /* Handle the precision. */ + TCHAR_T *prec_ptr = +# if USE_SNPRINTF + (TCHAR_T *) (result + length); +# else + tmp; +# endif + size_t prefix_count; + size_t move; + + prefix_count = 0; + /* Put the additional zeroes after the sign. */ + if (count >= 1 + && (*prec_ptr == '-' || *prec_ptr == '+' + || *prec_ptr == ' ')) + prefix_count = 1; + /* Put the additional zeroes after the 0x prefix if + (flags & FLAG_ALT) || (dp->conversion == 'p'). */ + else if (count >= 2 + && prec_ptr[0] == '0' + && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) + prefix_count = 2; + + move = count - prefix_count; + if (precision > move) + { + /* Insert zeroes. */ + size_t insert = precision - move; + TCHAR_T *prec_end; + +# if USE_SNPRINTF + size_t n = + xsum (length, + (count + insert + TCHARS_PER_DCHAR - 1) + / TCHARS_PER_DCHAR); + length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; + ENSURE_ALLOCATION (n); + length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; + prec_ptr = (TCHAR_T *) (result + length); +# endif + + prec_end = prec_ptr + count; + prec_ptr += prefix_count; + + while (prec_end > prec_ptr) + { + prec_end--; + prec_end[insert] = prec_end[0]; + } + + prec_end += insert; + do + *--prec_end = '0'; + while (prec_end > prec_ptr); + + count += insert; + } + } +#endif + +#if !USE_SNPRINTF + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); +#endif + +#if !DCHAR_IS_TCHAR + /* Convert from TCHAR_T[] to DCHAR_T[]. */ + if (dp->conversion == 'c' || dp->conversion == 's') + { + /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING + TYPE_WIDE_STRING. + The result string is not certainly ASCII. */ + const TCHAR_T *tmpsrc; + DCHAR_T *tmpdst; + size_t tmpdst_len; + /* This code assumes that TCHAR_T is 'char'. */ + typedef int TCHAR_T_verify + [2 * (sizeof (TCHAR_T) == 1) - 1]; +# if USE_SNPRINTF + tmpsrc = (TCHAR_T *) (result + length); +# else + tmpsrc = tmp; +# endif + tmpdst = NULL; + tmpdst_len = 0; + if (DCHAR_CONV_FROM_ENCODING (locale_charset (), + iconveh_question_mark, + tmpsrc, count, + NULL, + &tmpdst, &tmpdst_len) + < 0) + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = saved_errno; + return NULL; + } + ENSURE_ALLOCATION (xsum (length, tmpdst_len)); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + count = tmpdst_len; + } + else + { + /* The result string is ASCII. + Simple 1:1 conversion. */ +# if USE_SNPRINTF + /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a + no-op conversion, in-place on the array starting + at (result + length). */ + if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) +# endif + { + const TCHAR_T *tmpsrc; + DCHAR_T *tmpdst; + size_t n; + +# if USE_SNPRINTF + if (result == resultbuf) + { + tmpsrc = (TCHAR_T *) (result + length); + /* ENSURE_ALLOCATION will not move tmpsrc + (because it's part of resultbuf). */ + ENSURE_ALLOCATION (xsum (length, count)); + } + else + { + /* ENSURE_ALLOCATION will move the array + (because it uses realloc(). */ + ENSURE_ALLOCATION (xsum (length, count)); + tmpsrc = (TCHAR_T *) (result + length); + } +# else + tmpsrc = tmp; + ENSURE_ALLOCATION (xsum (length, count)); +# endif + tmpdst = result + length; + /* Copy backwards, because of overlapping. */ + tmpsrc += count; + tmpdst += count; + for (n = count; n > 0; n--) + *--tmpdst = (unsigned char) *--tmpsrc; + } + } +#endif + +#if DCHAR_IS_TCHAR && !USE_SNPRINTF + /* Make room for the result. */ + if (count > allocated - length) + { + /* Need at least count elements. But allocate + proportionally. */ + size_t n = + xmax (xsum (length, count), xtimes (allocated, 2)); + + ENSURE_ALLOCATION (n); + } +#endif + + /* Here count <= allocated - length. */ + + /* Perform padding. */ +#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION + if (pad_ourselves && has_width) + { + size_t w; +# if ENABLE_UNISTDIO + /* Outside POSIX, it's preferrable to compare the width + against the number of _characters_ of the converted + value. */ + w = DCHAR_MBSNLEN (result + length, count); +# else + /* The width is compared against the number of _bytes_ + of the converted value, says POSIX. */ + w = count; +# endif + if (w < width) + { + size_t pad = width - w; + + /* Make room for the result. */ + if (xsum (count, pad) > allocated - length) + { + /* Need at least count + pad elements. But + allocate proportionally. */ + size_t n = + xmax (xsum3 (length, count, pad), + xtimes (allocated, 2)); + +# if USE_SNPRINTF + length += count; + ENSURE_ALLOCATION (n); + length -= count; +# else + ENSURE_ALLOCATION (n); +# endif + } + /* Here count + pad <= allocated - length. */ + + { +# if !DCHAR_IS_TCHAR || USE_SNPRINTF + DCHAR_T * const rp = result + length; +# else + DCHAR_T * const rp = tmp; +# endif + DCHAR_T *p = rp + count; + DCHAR_T *end = p + pad; + DCHAR_T *pad_ptr; +# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO + if (dp->conversion == 'c' + || dp->conversion == 's') + /* No zero-padding for string directives. */ + pad_ptr = NULL; + else +# endif + { + pad_ptr = (*rp == '-' ? rp + 1 : rp); + /* No zero-padding of "inf" and "nan". */ + if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') + || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) + pad_ptr = NULL; + } + /* The generated string now extends from rp to p, + with the zero padding insertion point being at + pad_ptr. */ + + count = count + pad; /* = end - rp */ + + if (flags & FLAG_LEFT) + { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } + else if ((flags & FLAG_ZERO) && pad_ptr != NULL) + { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } + else + { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > rp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + } + } + } +#endif + + /* Here still count <= allocated - length. */ + +#if !DCHAR_IS_TCHAR || USE_SNPRINTF + /* The snprintf() result did fit. */ +#else + /* Append the sprintf() result. */ + memcpy (result + length, tmp, count * sizeof (DCHAR_T)); +#endif +#if !USE_SNPRINTF + if (tmp != tmpbuf) + free (tmp); +#endif + +#if NEED_PRINTF_DIRECTIVE_F + if (dp->conversion == 'F') + { + /* Convert the %f result to upper case for %F. */ + DCHAR_T *rp = result + length; + size_t rc; + for (rc = count; rc > 0; rc--, rp++) + if (*rp >= 'a' && *rp <= 'z') + *rp = *rp - 'a' + 'A'; + } +#endif + + length += count; + break; + } + } + } + } + + /* Add the final NUL. */ + ENSURE_ALLOCATION (xsum (length, 1)); + result[length] = '\0'; + + if (result != resultbuf && length + 1 < allocated) + { + /* Shrink the allocated memory if possible. */ + DCHAR_T *memory; + + memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); + if (memory != NULL) + result = memory; + } + + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + *lengthp = length; + /* Note that we can produce a big string of a length > INT_MAX. POSIX + says that snprintf() fails with errno = EOVERFLOW in this case, but + that's only because snprintf() returns an 'int'. This function does + not have this limitation. */ + return result; + +#if USE_SNPRINTF + overflow: + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EOVERFLOW; + return NULL; +#endif + + out_of_memory: + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + out_of_memory_1: + CLEANUP (); + errno = ENOMEM; + return NULL; + } +} + +#undef TCHARS_PER_DCHAR +#undef SNPRINTF +#undef USE_SNPRINTF +#undef DCHAR_CPY +#undef PRINTF_PARSE +#undef DIRECTIVES +#undef DIRECTIVE +#undef DCHAR_IS_TCHAR +#undef TCHAR_T +#undef DCHAR_T +#undef FCHAR_T +#undef VASNPRINTF diff -Nru gnutls26-2.8.6/lgl/vasnprintf.h gnutls26-2.4.1/lgl/vasnprintf.h --- gnutls26-2.8.6/lgl/vasnprintf.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/vasnprintf.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,81 @@ +/* vsprintf with automatic memory allocation. + Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _VASNPRINTF_H +#define _VASNPRINTF_H + +/* Get va_list. */ +#include + +/* Get size_t. */ +#include + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Write formatted output to a string dynamically allocated with malloc(). + You can pass a preallocated buffer for the result in RESULTBUF and its + size in *LENGTHP; otherwise you pass RESULTBUF = NULL. + If successful, return the address of the string (this may be = RESULTBUF + if no dynamic memory allocation was necessary) and set *LENGTHP to the + number of resulting bytes, excluding the trailing NUL. Upon error, set + errno and return NULL. + + When dynamic memory allocation occurs, the preallocated buffer is left + alone (with possibly modified contents). This makes it possible to use + a statically allocated or stack-allocated buffer, like this: + + char buf[100]; + size_t len = sizeof (buf); + char *output = vasnprintf (buf, &len, format, args); + if (output == NULL) + ... error handling ...; + else + { + ... use the output string ...; + if (output != buf) + free (output); + } + */ +#if REPLACE_VASNPRINTF +# define asnprintf rpl_asnprintf +# define vasnprintf rpl_vasnprintf +#endif +extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 3, 0))); + +#ifdef __cplusplus +} +#endif + +#endif /* _VASNPRINTF_H */ diff -Nru gnutls26-2.8.6/lgl/vasprintf.c gnutls26-2.4.1/lgl/vasprintf.c --- gnutls26-2.8.6/lgl/vasprintf.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/vasprintf.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,51 @@ +/* Formatted output to strings. + Copyright (C) 1999, 2002, 2006-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#ifdef IN_LIBASPRINTF +# include "vasprintf.h" +#else +# include +#endif + +#include +#include +#include + +#include "vasnprintf.h" + +int +vasprintf (char **resultp, const char *format, va_list args) +{ + size_t length; + char *result = vasnprintf (NULL, &length, format, args); + if (result == NULL) + return -1; + + if (length > INT_MAX) + { + free (result); + errno = EOVERFLOW; + return -1; + } + + *resultp = result; + /* Return the number of resulting bytes, excluding the trailing NUL. */ + return length; +} diff -Nru gnutls26-2.8.6/lgl/wchar.in.h gnutls26-2.4.1/lgl/wchar.in.h --- gnutls26-2.8.6/lgl/wchar.in.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/wchar.in.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,91 @@ +/* A substitute for ISO C99 , for platforms that have issues. + + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Eric Blake. */ + +/* + * ISO C 99 for platforms that have issues. + * + * + * For now, this just ensures proper prerequisite inclusion order and + * the declaration of wcwidth(). + */ + +#ifdef __need_mbstate_t +/* Special invocation convention inside uClibc header files. */ + +#@INCLUDE_NEXT@ @NEXT_WCHAR_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _GL_WCHAR_H + +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include + +/* Include the original if it exists. + Some builds of uClibc lack it. */ +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_WCHAR_H@ +# @INCLUDE_NEXT@ @NEXT_WCHAR_H@ +#endif + +#ifndef _GL_WCHAR_H +#define _GL_WCHAR_H + +/* The definition of GL_LINK_WARNING is copied here. */ + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Return the number of screen columns needed for WC. */ +#if @GNULIB_WCWIDTH@ +# if @REPLACE_WCWIDTH@ +# undef wcwidth +# define wcwidth rpl_wcwidth +extern int wcwidth (wchar_t); +# else +# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@ +/* wcwidth exists but is not declared. */ +extern int wcwidth (int /* actually wchar_t */); +# endif +# endif +#elif defined GNULIB_POSIXCHECK +# undef wcwidth +# define wcwidth(w) \ + (GL_LINK_WARNING ("wcwidth is unportable - " \ + "use gnulib module wcwidth for portability"), \ + wcwidth (w)) +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_WCHAR_H */ +#endif /* _GL_WCHAR_H */ +#endif diff -Nru gnutls26-2.8.6/lgl/xsize.h gnutls26-2.4.1/lgl/xsize.h --- gnutls26-2.8.6/lgl/xsize.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lgl/xsize.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,108 @@ +/* xsize.h -- Checked size_t computations. + + Copyright (C) 2003, 2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _XSIZE_H +#define _XSIZE_H + +/* Get size_t. */ +#include + +/* Get SIZE_MAX. */ +#include +#if HAVE_STDINT_H +# include +#endif + +/* The size of memory objects is often computed through expressions of + type size_t. Example: + void* p = malloc (header_size + n * element_size). + These computations can lead to overflow. When this happens, malloc() + returns a piece of memory that is way too small, and the program then + crashes while attempting to fill the memory. + To avoid this, the functions and macros in this file check for overflow. + The convention is that SIZE_MAX represents overflow. + malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc + implementation that uses mmap --, it's recommended to use size_overflow_p() + or size_in_bounds_p() before invoking malloc(). + The example thus becomes: + size_t size = xsum (header_size, xtimes (n, element_size)); + void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); +*/ + +/* Convert an arbitrary value >= 0 to type size_t. */ +#define xcast_size_t(N) \ + ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) + +/* Sum of two sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum (size_t size1, size_t size2) +{ + size_t sum = size1 + size2; + return (sum >= size1 ? sum : SIZE_MAX); +} + +/* Sum of three sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum3 (size_t size1, size_t size2, size_t size3) +{ + return xsum (xsum (size1, size2), size3); +} + +/* Sum of four sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) +{ + return xsum (xsum (xsum (size1, size2), size3), size4); +} + +/* Maximum of two sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xmax (size_t size1, size_t size2) +{ + /* No explicit check is needed here, because for any n: + max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ + return (size1 >= size2 ? size1 : size2); +} + +/* Multiplication of a count with an element size, with overflow check. + The count must be >= 0 and the element size must be > 0. + This is a macro, not an inline function, so that it works correctly even + when N is of a wider type and N > SIZE_MAX. */ +#define xtimes(N, ELSIZE) \ + ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) + +/* Check for overflow. */ +#define size_overflow_p(SIZE) \ + ((SIZE) == SIZE_MAX) +/* Check against overflow. */ +#define size_in_bounds_p(SIZE) \ + ((SIZE) != SIZE_MAX) + +#endif /* _XSIZE_H */ diff -Nru gnutls26-2.8.6/lib/ABOUT-NLS gnutls26-2.4.1/lib/ABOUT-NLS --- gnutls26-2.8.6/lib/ABOUT-NLS 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/ABOUT-NLS 1970-01-01 01:00:00.000000000 +0100 @@ -1,1068 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is -a way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -1.1 Quick configuration advice -============================== - -If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias, message inheritance, automatic -charset conversion or plural form handling) as the implementation here. -It is also not possible to offer this additional functionality on top -of a `catgets' implementation. Future versions of GNU `gettext' will -very likely convey even more functionality. So it might be a good idea -to change to GNU `gettext' as soon as possible. - - So you need _not_ provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -1.2 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU `gettext'. Other packages have their own ways to -internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU `gettext' functions. If not, the included GNU -`gettext' library will be used. This library is wholly contained -within this package, usually in the `intl/' subdirectory, so prior -installation of the GNU `gettext' package is _not_ required. -Installers may use special options at configuration time for changing -the default behaviour. The commands: - - ./configure --with-included-gettext - ./configure --disable-nls - -will, respectively, bypass any pre-existing `gettext' to use the -internationalizing routines provided within this package, or else, -_totally_ disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might not be desirable. You should use -the more recent version of the GNU `gettext' library. I.e. if the file -`intl/VERSION' shows that the library which comes with this package is -more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - The configuration process will not test for the `catgets' function -and therefore it will not be used. The reason is that even an -emulation of `gettext' on top of `catgets' could not provide all the -extensions of the GNU `gettext' library. - - Internationalized packages usually have many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.3 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -`LL_CC' combination. If you happen to have the `LC_ALL' or some other -`LC_xxx' environment variables set, you should unset them before -setting `LANG', otherwise the setting of `LANG' will not have the -desired effect. Here `LL' is an ISO 639 two-letter language code, and -`CC' is an ISO 3166 two-letter country code. For example, let's -suppose that you speak German and live in Germany. At the shell -prompt, merely execute `setenv LANG de_DE' (in `csh'), -`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). -This can be done from your `.login' or `.profile' file, once and for -all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of `LL_CC', with `LL' denoting the -language and `CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are -used, such as `LL' or `LL_CC.ENCODING'. You can get the list of -locales supported by your system for your language by running the -command `locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' -for the purpose of message handling, but you still need to have `LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather -read translations in German than English for when Swedish is not -available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from `no' to `nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under `nb' and some older ones under `no', it's recommended -for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and -older translations are used. - - In the `LANGUAGE' environment variable, but not in the `LANG' -environment variable, `LL_CC' combinations can be abbreviated as `LL' -to denote the language's main dialect. For example, `de' is equivalent -to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' -(Portuguese as spoken in Portugal) in this context. - -1.4 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -`http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -_actively_ in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `coordinator@translationproject.org' to -reach the coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.5 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of November -2007. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo - +----------------------------------------------------+ - Compendium | [] [] [] [] | - a2ps | [] [] [] [] [] | - aegis | () | - ant-phone | () | - anubis | [] | - ap-utils | | - aspell | [] [] [] [] [] | - bash | [] | - bfd | | - bibshelf | [] | - binutils | | - bison | [] [] | - bison-runtime | [] | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] [] | - console-tools | [] [] | - coreutils | [] [] [] [] | - cpio | | - cpplib | [] [] [] | - cryptonit | [] | - dialog | | - diffutils | [] [] [] [] [] [] | - doodle | [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - fetchmail | [] [] () [] [] | - findutils | [] | - findutils_stable | [] [] [] | - flex | [] [] [] | - fslint | | - gas | | - gawk | [] [] [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] | - gip | [] | - gliv | [] [] | - glunarclock | [] | - gmult | [] [] | - gnubiff | () | - gnucash | [] [] () () [] | - gnuedu | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gnutls | [] | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] | - gpe-conf | [] [] | - gpe-contacts | | - gpe-edit | [] | - gpe-filemanager | | - gpe-go | [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] | - gpe-package | | - gpe-sketchbook | [] [] | - gpe-su | [] [] | - gpe-taskmanager | [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | | - gphoto2 | [] [] [] [] | - gprof | [] [] | - gpsdrive | | - gramadoir | [] [] | - grep | [] [] | - gretl | () | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | () | - gtkam | [] [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] | - herrie | [] | - hylafax | | - idutils | [] [] | - indent | [] [] [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] [] | - iso_639 | [] [] [] [] | - jpilot | [] | - jtag | | - jwhois | | - kbd | [] [] [] [] | - keytouch | [] [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | () | - ld | [] | - leafpad | [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] | - libgpg-error | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | | - libiconv | [] [] | - libidn | [] [] [] | - lifelines | [] () | - lilypond | [] | - lingoteach | | - lprng | | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailfromd | | - mailutils | [] | - make | [] [] | - man-db | [] [] [] | - minicom | [] [] [] | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pilot-qof | | - popt | [] [] [] | - psmisc | [] | - pwdutils | | - qof | | - radius | [] | - recode | [] [] [] [] [] [] | - rpm | [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] [] | - sed | [] [] [] | - shared-mime-info | [] [] [] [] () [] [] [] | - sharutils | [] [] [] [] [] [] | - shishi | | - skencil | [] () | - solfege | | - soundtracker | [] [] | - sp | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] | - texinfo | [] [] [] | - tin | () () | - tuxpaint | [] [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - util-linux-ng | [] [] [] [] | - vorbis-tools | [] | - wastesedge | () | - wdiff | [] [] [] [] | - wget | [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] | - xpad | [] [] [] | - +----------------------------------------------------+ - af am ar az be bg bs ca cs cy da de el en en_GB eo - 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 - - es et eu fa fi fr ga gl gu he hi hr hu id is it - +--------------------------------------------------+ - Compendium | [] [] [] [] [] | - a2ps | [] [] [] () | - aegis | | - ant-phone | [] | - anubis | [] | - ap-utils | [] [] | - aspell | [] [] [] | - bash | [] | - bfd | [] [] | - bibshelf | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] | - console-tools | | - coreutils | [] [] [] [] [] [] | - cpio | [] [] [] | - cpplib | [] [] | - cryptonit | [] | - dialog | [] [] [] | - diffutils | [] [] [] [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] [] | - enscript | [] [] [] | - fetchmail | [] | - findutils | [] [] [] | - findutils_stable | [] [] [] [] | - flex | [] [] [] | - fslint | | - gas | [] [] | - gawk | [] [] [] [] () | - gcal | [] [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] | - gip | [] [] [] [] | - gliv | () | - glunarclock | [] [] [] | - gmult | [] [] [] | - gnubiff | () () | - gnucash | () () () | - gnuedu | [] | - gnulib | [] [] [] | - gnunet | | - gnunet-gtk | | - gnutls | | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] [] [] | - gpe-conf | [] | - gpe-contacts | [] [] | - gpe-edit | [] [] [] [] | - gpe-filemanager | [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] [] [] [] | - gpe-package | [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] [] | - gpe-taskmanager | [] [] [] | - gpe-timesheet | [] [] [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] [] | - gpsdrive | [] | - gramadoir | [] [] | - grep | [] [] [] | - gretl | [] [] [] () | - gsasl | [] [] | - gss | [] [] | - gst-plugins-bad | [] [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | - herrie | [] | - hylafax | | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] [] [] [] | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] | - jpilot | [] [] | - jtag | [] | - jwhois | [] [] [] [] [] | - kbd | [] [] | - keytouch | [] [] [] | - keytouch-editor | [] | - keytouch-keyboa... | [] [] | - latrine | [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] [] [] | - libgpg-error | [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] | - libiconv | [] [] [] | - libidn | [] [] | - lifelines | () | - lilypond | [] [] [] | - lingoteach | [] [] [] | - lprng | | - lynx | [] [] [] | - m4 | [] [] [] [] | - mailfromd | | - mailutils | [] [] | - make | [] [] [] [] [] [] [] [] | - man-db | [] | - minicom | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] | - parted | [] [] [] | - pilot-qof | | - popt | [] [] [] [] | - psmisc | [] [] | - pwdutils | | - qof | [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - rpm | [] [] | - screem | | - scrollkeeper | [] [] [] | - sed | [] [] [] [] [] | - shared-mime-info | [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] [] | - shishi | [] | - skencil | [] [] | - solfege | [] | - soundtracker | [] [] [] | - sp | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - tin | [] () | - tuxpaint | [] [] | - unicode-han-tra... | | - unicode-transla... | [] [] | - util-linux | [] [] [] [] [] [] [] | - util-linux-ng | [] [] [] [] [] [] [] | - vorbis-tools | | - wastesedge | () | - wdiff | [] [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - es et eu fa fi fr ga gl gu he hi hr hu id is it - 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 - - ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn - +--------------------------------------------------+ - Compendium | [] | - a2ps | () [] [] | - aegis | () | - ant-phone | [] | - anubis | [] [] [] | - ap-utils | [] | - aspell | [] [] | - bash | [] | - bfd | | - bibshelf | [] | - binutils | | - bison | [] [] [] | - bison-runtime | [] [] [] | - bluez-pin | [] [] [] | - cflow | | - clisp | [] | - console-tools | | - coreutils | [] | - cpio | [] | - cpplib | [] | - cryptonit | [] | - dialog | [] [] | - diffutils | [] [] [] | - doodle | | - e2fsprogs | [] | - enscript | [] | - fetchmail | [] [] | - findutils | [] | - findutils_stable | [] | - flex | [] [] | - fslint | | - gas | | - gawk | [] [] | - gcal | | - gcc | | - gettext-examples | [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gip | [] [] | - gliv | [] | - glunarclock | [] [] | - gmult | [] [] [] | - gnubiff | | - gnucash | () () () | - gnuedu | | - gnulib | [] [] | - gnunet | | - gnunet-gtk | | - gnutls | [] | - gpe-aerial | [] | - gpe-beam | [] | - gpe-calendar | [] | - gpe-clock | [] [] [] | - gpe-conf | [] [] [] | - gpe-contacts | [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] | - gpe-taskmanager | [] [] [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | [] | - gphoto2 | [] [] | - gprof | [] | - gpsdrive | [] | - gramadoir | () | - grep | [] [] | - gretl | | - gsasl | [] | - gss | | - gst-plugins-bad | [] | - gst-plugins-base | [] | - gst-plugins-good | [] | - gst-plugins-ugly | [] | - gstreamer | [] | - gtick | [] | - gtkam | [] [] | - gtkorphan | [] | - gtkspell | [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] | - herrie | [] | - hylafax | | - idutils | [] | - indent | [] [] | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] | - iso_639 | [] [] [] [] | - jpilot | () () | - jtag | | - jwhois | [] | - kbd | [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | | - latrine | [] | - ld | | - leafpad | [] [] | - libc | [] [] [] | - libexif | | - libextractor | | - libgpewidget | [] | - libgpg-error | | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] | - libidn | [] [] | - lifelines | [] | - lilypond | [] | - lingoteach | [] | - lprng | | - lynx | [] [] | - m4 | [] [] | - mailfromd | | - mailutils | | - make | [] [] [] | - man-db | | - minicom | [] | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pilot-qof | | - popt | [] [] [] | - psmisc | [] [] [] | - pwdutils | | - qof | | - radius | | - recode | [] | - rpm | [] [] | - screem | [] | - scrollkeeper | [] [] [] [] | - sed | [] [] | - shared-mime-info | [] [] [] [] [] [] [] | - sharutils | [] [] | - shishi | | - skencil | | - solfege | () () | - soundtracker | | - sp | () | - system-tools-ba... | [] [] [] [] | - tar | [] [] [] | - texinfo | [] [] | - tin | | - tuxpaint | () [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] | - util-linux-ng | [] [] | - vorbis-tools | | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] | - xchat | [] [] [] [] | - xkeyboard-config | [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn - 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 - - or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - +--------------------------------------------------+ - Compendium | [] [] [] [] [] | - a2ps | () [] [] [] [] [] [] | - aegis | () () | - ant-phone | [] [] | - anubis | [] [] [] | - ap-utils | () | - aspell | [] [] [] | - bash | [] [] | - bfd | | - bibshelf | [] | - binutils | [] [] | - bison | [] [] [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] [] | - cflow | [] | - clisp | [] | - console-tools | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cpplib | [] | - cryptonit | [] [] | - dialog | [] | - diffutils | [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] | - findutils_stable | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - fslint | [] | - gas | | - gawk | [] [] [] [] | - gcal | [] | - gcc | [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gip | [] [] [] [] | - gliv | [] [] [] [] [] [] | - glunarclock | [] [] [] [] [] [] | - gmult | [] [] [] [] | - gnubiff | () [] | - gnucash | () [] | - gnuedu | | - gnulib | [] [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gpe-aerial | [] [] [] [] [] [] [] | - gpe-beam | [] [] [] [] [] [] [] | - gpe-calendar | [] [] [] [] | - gpe-clock | [] [] [] [] [] [] [] [] | - gpe-conf | [] [] [] [] [] [] [] | - gpe-contacts | [] [] [] [] [] | - gpe-edit | [] [] [] [] [] [] [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] [] [] [] [] [] | - gpe-login | [] [] [] [] [] [] [] [] | - gpe-ownerinfo | [] [] [] [] [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] [] [] [] [] [] | - gpe-su | [] [] [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] [] | - gpe-todo | [] [] [] [] | - gphoto2 | [] [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] | - gramadoir | [] [] | - grep | [] [] [] [] | - gretl | [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] [] [] [] | - gtkorphan | [] | - gtkspell | [] [] [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] | - herrie | [] [] [] | - hylafax | | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] | - jpilot | | - jtag | [] | - jwhois | [] [] [] [] | - kbd | [] [] [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | | - ld | [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] [] | - libextractor | [] [] | - libgpewidget | [] [] [] [] [] [] [] [] | - libgpg-error | [] [] [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] | - libidn | [] [] () | - lifelines | [] [] | - lilypond | | - lingoteach | [] | - lprng | [] | - lynx | [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] | - make | [] [] [] [] | - man-db | [] [] [] [] | - minicom | [] [] [] [] [] | - nano | [] [] [] [] | - opcodes | [] [] | - parted | [] | - pilot-qof | | - popt | [] [] [] [] | - psmisc | [] [] | - pwdutils | [] [] | - qof | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - rpm | [] [] [] [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - shared-mime-info | [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] | - skencil | [] [] [] | - solfege | [] | - soundtracker | [] [] | - sp | | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] [] [] | - texinfo | [] [] [] [] | - tin | () | - tuxpaint | [] [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - util-linux-ng | [] [] [] [] | - vorbis-tools | [] | - wastesedge | | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 - - tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu - +---------------------------------------------------+ - Compendium | [] [] [] [] | 19 - a2ps | [] [] [] | 19 - aegis | [] | 1 - ant-phone | [] [] | 6 - anubis | [] [] [] | 11 - ap-utils | () [] | 4 - aspell | [] [] [] | 16 - bash | [] | 6 - bfd | | 2 - bibshelf | [] | 7 - binutils | [] [] [] [] | 9 - bison | [] [] [] [] | 20 - bison-runtime | [] [] [] [] | 18 - bluez-pin | [] [] [] [] [] [] | 28 - cflow | [] [] | 5 - clisp | | 9 - console-tools | [] [] | 5 - coreutils | [] [] [] | 18 - cpio | [] [] [] [] | 11 - cpplib | [] [] [] [] [] | 12 - cryptonit | [] | 6 - dialog | [] [] [] | 9 - diffutils | [] [] [] [] [] | 29 - doodle | [] | 6 - e2fsprogs | [] [] | 10 - enscript | [] [] [] | 16 - fetchmail | [] [] | 12 - findutils | [] [] [] | 11 - findutils_stable | [] [] [] [] | 18 - flex | [] [] | 15 - fslint | [] | 2 - gas | [] | 3 - gawk | [] [] [] | 16 - gcal | [] | 5 - gcc | [] [] [] | 7 - gettext-examples | [] [] [] [] [] [] | 29 - gettext-runtime | [] [] [] [] [] [] | 28 - gettext-tools | [] [] [] [] [] | 20 - gip | [] [] | 13 - gliv | [] [] | 11 - glunarclock | [] [] [] | 15 - gmult | [] [] [] [] | 16 - gnubiff | [] | 2 - gnucash | () [] | 5 - gnuedu | [] | 2 - gnulib | [] | 10 - gnunet | | 0 - gnunet-gtk | [] [] | 3 - gnutls | | 4 - gpe-aerial | [] [] | 14 - gpe-beam | [] [] | 14 - gpe-calendar | [] [] | 7 - gpe-clock | [] [] [] [] | 21 - gpe-conf | [] [] [] | 16 - gpe-contacts | [] [] | 10 - gpe-edit | [] [] [] [] [] | 22 - gpe-filemanager | [] [] | 7 - gpe-go | [] [] [] [] | 19 - gpe-login | [] [] [] [] [] | 21 - gpe-ownerinfo | [] [] [] [] | 21 - gpe-package | [] | 6 - gpe-sketchbook | [] [] | 16 - gpe-su | [] [] [] [] | 21 - gpe-taskmanager | [] [] [] [] | 21 - gpe-timesheet | [] [] [] [] | 18 - gpe-today | [] [] [] [] [] | 21 - gpe-todo | [] [] | 8 - gphoto2 | [] [] [] [] | 21 - gprof | [] [] | 13 - gpsdrive | [] | 5 - gramadoir | [] | 7 - grep | [] | 12 - gretl | | 6 - gsasl | [] [] [] | 9 - gss | [] | 7 - gst-plugins-bad | [] [] [] | 13 - gst-plugins-base | [] [] | 11 - gst-plugins-good | [] [] [] [] [] | 16 - gst-plugins-ugly | [] [] [] | 13 - gstreamer | [] [] [] | 18 - gtick | [] [] | 7 - gtkam | [] | 16 - gtkorphan | [] | 7 - gtkspell | [] [] [] [] [] [] | 27 - gutenprint | | 4 - hello | [] [] [] [] [] | 38 - herrie | [] [] | 8 - hylafax | | 0 - idutils | [] [] | 15 - indent | [] [] [] [] [] | 28 - iso_15924 | [] [] | 4 - iso_3166 | [] [] [] [] [] [] [] [] [] | 54 - iso_3166_2 | [] [] | 4 - iso_4217 | [] [] [] [] [] | 24 - iso_639 | [] [] [] [] [] | 26 - jpilot | [] [] [] [] | 7 - jtag | [] | 3 - jwhois | [] [] [] | 13 - kbd | [] [] [] | 13 - keytouch | [] | 8 - keytouch-editor | [] | 5 - keytouch-keyboa... | [] | 5 - latrine | [] [] | 5 - ld | [] [] [] [] | 10 - leafpad | [] [] [] [] [] | 24 - libc | [] [] [] | 19 - libexif | [] | 5 - libextractor | [] | 5 - libgpewidget | [] [] [] | 20 - libgpg-error | [] | 6 - libgphoto2 | [] [] | 9 - libgphoto2_port | [] [] [] | 11 - libgsasl | [] | 8 - libiconv | [] [] | 11 - libidn | [] [] | 11 - lifelines | | 4 - lilypond | [] | 6 - lingoteach | [] | 6 - lprng | [] | 2 - lynx | [] [] [] | 15 - m4 | [] [] [] | 18 - mailfromd | [] [] | 3 - mailutils | [] [] | 8 - make | [] [] [] | 20 - man-db | [] | 9 - minicom | [] | 14 - nano | [] [] [] | 20 - opcodes | [] [] | 10 - parted | [] [] [] | 11 - pilot-qof | [] | 1 - popt | [] [] [] [] | 18 - psmisc | [] [] | 10 - pwdutils | [] | 3 - qof | [] | 4 - radius | [] [] | 7 - recode | [] [] [] | 25 - rpm | [] [] [] [] | 13 - screem | [] | 2 - scrollkeeper | [] [] [] [] | 26 - sed | [] [] [] [] | 23 - shared-mime-info | [] [] [] | 29 - sharutils | [] [] [] | 23 - shishi | [] | 3 - skencil | [] | 7 - solfege | [] | 3 - soundtracker | [] [] | 9 - sp | [] | 3 - system-tools-ba... | [] [] [] [] [] [] [] | 38 - tar | [] [] [] | 17 - texinfo | [] [] [] | 15 - tin | | 1 - tuxpaint | [] [] [] | 19 - unicode-han-tra... | | 0 - unicode-transla... | | 2 - util-linux | [] [] [] | 20 - util-linux-ng | [] [] [] | 20 - vorbis-tools | [] [] | 4 - wastesedge | | 1 - wdiff | [] [] | 23 - wget | [] [] [] | 20 - xchat | [] [] [] [] | 29 - xkeyboard-config | [] [] [] | 14 - xpad | [] [] [] | 15 - +---------------------------------------------------+ - 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu - 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If November 2007 seems to be old, you may fetch a more recent copy -of this `ABOUT-NLS' file on most GNU archive sites. The most -up-to-date matrix with full percentage details can be found at -`http://translationproject.org/extra/matrix.html'. - -1.6 Using `gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU `gettext' in your -package. Of course you have to respect the GNU Library General Public -License which covers the use of the GNU `gettext' library. This means -in particular that even non-free programs can use `libintl' as a shared -library, whereas only free software can use `libintl' as a static -library or use modified versions of `libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of `gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -`coordinator@translationproject.org' to make the `.pot' files available -to the translation teams. - diff -Nru gnutls26-2.8.6/lib/aclocal.m4 gnutls26-2.4.1/lib/aclocal.m4 --- gnutls26-2.8.6/lib/aclocal.m4 2010-03-15 10:28:35.000000000 +0000 +++ gnutls26-2.4.1/lib/aclocal.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,1030 +0,0 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 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. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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. - -# 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. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 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. - -# 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. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# 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. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -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])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# 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. - -# serial 10 - -# 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], UPC, [depcc="$UPC" am_compiler_list=], - [$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 - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' 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 build - --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])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# 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. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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"]) -]) - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 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. - -# serial 16 - -# 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. - -# 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_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -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 -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])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) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# 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([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_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 -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# 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_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008 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. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 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. - -# serial 2 - -# 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])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 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. - -# serial 4 - -# 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 this is the am__doit target -.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 -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# 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. - -# serial 6 - -# 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 -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# 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 -]) - -# Copyright (C) 2003, 2004, 2005, 2006 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. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008 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. - -# serial 4 - -# _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], -[m4_foreach_w([_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. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# 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. - -# serial 5 - -# 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 -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# 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)]) - -# Copyright (C) 2001, 2003, 2005 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. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# 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="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008 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. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 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. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([gl/m4/00gnulib.m4]) -m4_include([gl/m4/alloca.m4]) -m4_include([gl/m4/byteswap.m4]) -m4_include([gl/m4/errno_h.m4]) -m4_include([gl/m4/extensions.m4]) -m4_include([gl/m4/float_h.m4]) -m4_include([gl/m4/fseeko.m4]) -m4_include([gl/m4/func.m4]) -m4_include([gl/m4/gnulib-common.m4]) -m4_include([gl/m4/gnulib-comp.m4]) -m4_include([gl/m4/include_next.m4]) -m4_include([gl/m4/intmax_t.m4]) -m4_include([gl/m4/ld-output-def.m4]) -m4_include([gl/m4/ld-version-script.m4]) -m4_include([gl/m4/lseek.m4]) -m4_include([gl/m4/malloc.m4]) -m4_include([gl/m4/memmem.m4]) -m4_include([gl/m4/memmove.m4]) -m4_include([gl/m4/minmax.m4]) -m4_include([gl/m4/multiarch.m4]) -m4_include([gl/m4/netdb_h.m4]) -m4_include([gl/m4/printf.m4]) -m4_include([gl/m4/read-file.m4]) -m4_include([gl/m4/realloc.m4]) -m4_include([gl/m4/snprintf.m4]) -m4_include([gl/m4/sockets.m4]) -m4_include([gl/m4/socklen.m4]) -m4_include([gl/m4/stdbool.m4]) -m4_include([gl/m4/stdint.m4]) -m4_include([gl/m4/stdio_h.m4]) -m4_include([gl/m4/stdlib_h.m4]) -m4_include([gl/m4/strcase.m4]) -m4_include([gl/m4/string_h.m4]) -m4_include([gl/m4/strings_h.m4]) -m4_include([gl/m4/strverscmp.m4]) -m4_include([gl/m4/sys_socket_h.m4]) -m4_include([gl/m4/sys_stat_h.m4]) -m4_include([gl/m4/time_h.m4]) -m4_include([gl/m4/time_r.m4]) -m4_include([gl/m4/ungetc.m4]) -m4_include([gl/m4/unistd_h.m4]) -m4_include([gl/m4/vasnprintf.m4]) -m4_include([gl/m4/vasprintf.m4]) -m4_include([gl/m4/vsnprintf.m4]) -m4_include([gl/m4/wchar.m4]) -m4_include([m4/gettext.m4]) -m4_include([m4/hooks.m4]) -m4_include([m4/iconv.m4]) -m4_include([m4/intlmacosx.m4]) -m4_include([m4/inttypes_h.m4]) -m4_include([m4/lib-ld.m4]) -m4_include([m4/lib-link.m4]) -m4_include([m4/lib-prefix.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/longlong.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) -m4_include([m4/nls.m4]) -m4_include([m4/po.m4]) -m4_include([m4/progtest.m4]) -m4_include([m4/size_max.m4]) -m4_include([m4/stdint_h.m4]) -m4_include([m4/wchar_t.m4]) -m4_include([m4/wint_t.m4]) -m4_include([m4/xsize.m4]) diff -Nru gnutls26-2.8.6/lib/auth_anon.c gnutls26-2.4.1/lib/auth_anon.c --- gnutls26-2.8.6/lib/auth_anon.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_anon.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,7 +22,7 @@ * */ -/* This file contains the Anonymous Diffie-Hellman key exchange part of +/* This file contains the Anonymous Diffie Hellman key exchange part of * the anonymous authentication. The functions here are used in the * handshake. */ @@ -31,7 +31,7 @@ #ifdef ENABLE_ANON -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "auth_anon.h" @@ -64,8 +64,8 @@ static int gen_anon_server_kx (gnutls_session_t session, opaque ** data) { - bigint_t g, p; - const bigint_t *mpis; + mpi_t g, p; + const mpi_t *mpis; int ret; gnutls_dh_params_t dh_params; gnutls_anon_server_credentials_t cred; @@ -115,10 +115,13 @@ size_t _data_size) { gnutls_anon_server_credentials_t cred; + int bits; int ret; - bigint_t p, g; + mpi_t p, g; gnutls_dh_params_t dh_params; - const bigint_t *mpis; + const mpi_t *mpis; + + bits = _gnutls_dh_get_allowed_prime_bits (session); cred = (gnutls_anon_server_credentials_t) _gnutls_get_cred (session->key, GNUTLS_CRD_ANON, NULL); diff -Nru gnutls26-2.8.6/lib/auth_cert.c gnutls26-2.4.1/lib/auth_cert.c --- gnutls26-2.8.6/lib/auth_cert.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/lib/auth_cert.c 2008-06-19 11:00:10.000000000 +0100 @@ -27,7 +27,7 @@ */ #include -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include #include @@ -48,9 +48,10 @@ #ifdef ENABLE_OPENPGP # include "openpgp/gnutls_openpgp.h" -static gnutls_privkey *alloc_and_load_pgp_key (const gnutls_openpgp_privkey_t - key); -static gnutls_cert *alloc_and_load_pgp_certs (gnutls_openpgp_crt_t cert); +static gnutls_privkey * +alloc_and_load_pgp_key (const gnutls_openpgp_privkey_t key); +static gnutls_cert * +alloc_and_load_pgp_certs (gnutls_openpgp_crt_t cert); #endif @@ -65,20 +66,11 @@ */ static int _gnutls_copy_certificate_auth_info (cert_auth_info_t info, - gnutls_cert * cert, - size_t ncerts) + gnutls_cert * cert, int ncerts) { /* Copy peer's information to auth_info_t */ - int ret; - size_t i, j; - - if (info->raw_certificate_list != NULL) - { - for (j = 0; j < info->ncerts; j++) - _gnutls_free_datum (&info->raw_certificate_list[j]); - gnutls_free (info->raw_certificate_list); - } + int ret, i, j; if (ncerts == 0) { @@ -88,7 +80,7 @@ } info->raw_certificate_list = - gnutls_calloc (ncerts, sizeof (gnutls_datum_t)); + gnutls_calloc (1, sizeof (gnutls_datum_t) * ncerts); if (info->raw_certificate_list == NULL) { gnutls_assert (); @@ -100,7 +92,8 @@ if (cert->raw.size > 0) { ret = - _gnutls_set_datum (&info->raw_certificate_list[i], + _gnutls_set_datum (&info-> + raw_certificate_list[i], cert[i].raw.data, cert[i].raw.size); if (ret < 0) { @@ -116,7 +109,7 @@ if (cert[0].cert_type == GNUTLS_CRT_OPENPGP) { info->use_subkey = cert[0].use_subkey; - memcpy (info->subkey_id, cert[0].subkey_id, sizeof (info->subkey_id)); + memcpy( info->subkey_id, cert[0].subkey_id, sizeof(info->subkey_id)); } #endif @@ -237,8 +230,8 @@ for (j = 0; j < cred->cert_list_length[i]; j++) { if ((result = - _gnutls_cert_get_issuer_dn (&cred->cert_list[i][j], - &odn)) < 0) + _gnutls_cert_get_issuer_dn (&cred-> + cert_list[i][j], &odn)) < 0) { gnutls_assert (); return result; @@ -418,7 +411,7 @@ gnutls_cert *local_certs = NULL; gnutls_privkey *local_key = NULL; gnutls_retr_st st; - int ret = GNUTLS_E_INTERNAL_ERROR; + int ret; gnutls_certificate_type_t type = gnutls_certificate_type_get (session); gnutls_certificate_credentials_t cred; @@ -434,20 +427,10 @@ if (session->security_parameters.entity == GNUTLS_SERVER) { - if (cred->server_get_cert_callback == NULL) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } ret = cred->server_get_cert_callback (session, &st); } else { /* CLIENT */ - if (cred->client_get_cert_callback == NULL) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } ret = cred->client_get_cert_callback (session, issuers_dn, issuers_dn_length, @@ -473,16 +456,16 @@ if (type == GNUTLS_CRT_X509) { local_certs = alloc_and_load_x509_certs (st.cert.x509, st.ncerts); - if (local_certs != NULL && st.key.x509 != NULL) - { + if (local_certs != NULL && st.key.x509 != NULL) + { local_key = alloc_and_load_x509_key (st.key.x509); - if (local_key == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; + if (local_key == NULL) + { + gnutls_assert(); + ret = GNUTLS_E_INTERNAL_ERROR; goto cleanup; - } - } + } + } } else @@ -496,17 +479,17 @@ #ifdef ENABLE_OPENPGP { - local_certs = alloc_and_load_pgp_certs (st.cert.pgp); - if (local_certs != NULL && st.key.pgp != NULL) - { - local_key = alloc_and_load_pgp_key (st.key.pgp); - if (local_key == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - } + local_certs = alloc_and_load_pgp_certs (st.cert.pgp); + if (local_certs != NULL && st.key.pgp != NULL) + { + local_key = alloc_and_load_pgp_key (st.key.pgp); + if (local_key == NULL) + { + gnutls_assert(); + ret = GNUTLS_E_INTERNAL_ERROR; + goto cleanup; + } + } } #endif } @@ -662,7 +645,7 @@ /* Generate client certificate */ -static int +int _gnutls_gen_x509_crt (gnutls_session_t session, opaque ** data) { int ret, i; @@ -721,7 +704,7 @@ { PGP_KEY_FINGERPRINT, PGP_KEY, PGP_KEY_SUBKEY, PGP_KEY_FINGERPRINT_SUBKEY }; #ifdef ENABLE_OPENPGP -static int +int _gnutls_gen_openpgp_certificate (gnutls_session_t session, opaque ** data) { int ret; @@ -745,7 +728,7 @@ if (apr_cert_list_length > 0) { if (apr_cert_list[0].use_subkey != 0) - ret += 1 + sizeof (apr_cert_list[0].subkey_id); /* for the keyid */ + ret += 1 + sizeof(apr_cert_list[0].subkey_id); /* for the keyid */ ret += apr_cert_list[0].raw.size; } @@ -765,26 +748,25 @@ if (apr_cert_list_length > 0) { - if (apr_cert_list[0].use_subkey != 0) - { - *pdata = PGP_KEY_SUBKEY; - pdata++; - *pdata = sizeof (apr_cert_list[0].subkey_id); - pdata++; - memcpy (pdata, apr_cert_list[0].subkey_id, - sizeof (apr_cert_list[0].subkey_id)); - pdata += sizeof (apr_cert_list[0].subkey_id); - } - else - { - *pdata = PGP_KEY; - pdata++; - } + if (apr_cert_list[0].use_subkey != 0) + { + *pdata = PGP_KEY_SUBKEY; + pdata++; + *pdata = sizeof(apr_cert_list[0].subkey_id); + pdata++; + memcpy( pdata, apr_cert_list[0].subkey_id, sizeof(apr_cert_list[0].subkey_id)); + pdata += sizeof(apr_cert_list[0].subkey_id); + } + else + { + *pdata = PGP_KEY; + pdata++; + } _gnutls_write_datum24 (pdata, apr_cert_list[0].raw); pdata += (3 + apr_cert_list[0].raw.size); } - else /* empty - no certificate */ + else /* empty - no certificate */ { *pdata = PGP_KEY; pdata++; @@ -794,7 +776,7 @@ return ret; } -static int +int _gnutls_gen_openpgp_certificate_fpr (gnutls_session_t session, opaque ** data) { int ret, packet_size; @@ -816,7 +798,7 @@ packet_size = 3 + 1; if (apr_cert_list[0].use_subkey) - packet_size += 1 + sizeof (apr_cert_list[0].subkey_id); /* for the keyid */ + packet_size += 1 + sizeof(apr_cert_list[0].subkey_id); /* for the keyid */ /* Only v4 fingerprints are sent */ @@ -837,17 +819,16 @@ _gnutls_write_uint24 (packet_size - 3, pdata); pdata += 3; - if (apr_cert_list[0].use_subkey) + if (apr_cert_list[0].use_subkey) { *pdata = PGP_KEY_FINGERPRINT_SUBKEY; pdata++; - *pdata = sizeof (apr_cert_list[0].subkey_id); + *pdata = sizeof(apr_cert_list[0].subkey_id); pdata++; - memcpy (pdata, apr_cert_list[0].subkey_id, - sizeof (apr_cert_list[0].subkey_id)); - pdata += sizeof (apr_cert_list[0].subkey_id); - } - else + memcpy( pdata, apr_cert_list[0].subkey_id, sizeof(apr_cert_list[0].subkey_id)); + pdata += sizeof(apr_cert_list[0].subkey_id); + } + else { *pdata = PGP_KEY_FINGERPRINT; /* key fingerprint */ pdata++; @@ -860,7 +841,7 @@ if ((ret = _gnutls_openpgp_fingerprint (&apr_cert_list[0].raw, pdata, - &fpr_size)) < 0) + &fpr_size)) < 0) { gnutls_assert (); return ret; @@ -913,7 +894,7 @@ */ #define CLEAR_CERTS for(x=0;xsecurity_parameters.cert_type == GNUTLS_CRT_OPENPGP - && size != 0) + if (session->security_parameters.cert_type == GNUTLS_CRT_OPENPGP && size != 0) { - gnutls_assert (); + gnutls_assert(); // size should be zero return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; } @@ -1477,8 +1455,8 @@ sig.size = size; ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_NO_COPY); + session->security_parameters.cert_type, + info, CERT_NO_COPY); if (ret < 0) { @@ -1561,7 +1539,7 @@ } else { - _gnutls_write_uint16 (0, pdata); + _gnutls_write_uint16( 0, pdata); /* pdata+=2; */ } @@ -1720,12 +1698,11 @@ return NULL; } - ret = - gnutls_openpgp_crt_get_preferred_key_id (cert, local_certs->subkey_id); + ret = gnutls_openpgp_crt_get_preferred_key_id( cert, local_certs->subkey_id); if (ret < 0) - local_certs->use_subkey = 0; - else - local_certs->use_subkey = 1; + local_certs->use_subkey = 0; + else + local_certs->use_subkey = 1; return local_certs; } @@ -1816,7 +1793,7 @@ gnutls_pk_algorithm_t requested_algo) { unsigned i; - int idx; + int idx, ret; gnutls_certificate_credentials_t cred; cred = (gnutls_certificate_credentials_t) @@ -1835,6 +1812,7 @@ /* Otherwise... */ + ret = 0; idx = -1; /* default is use no certificate */ @@ -1859,7 +1837,7 @@ /* store the certificate pointer for future use, in the handshake. * (This will allow not calling this callback again.) */ - if (idx >= 0) + if (idx >= 0 && ret == 0) { _gnutls_selected_certs_set (session, &cred->cert_list[idx][0], @@ -1868,9 +1846,9 @@ } else /* Certificate does not support REQUESTED_ALGO. */ - return GNUTLS_E_INSUFFICIENT_CREDENTIALS; + ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS; - return 0; + return ret; } /* Frees the rsa_info_st structure. diff -Nru gnutls26-2.8.6/lib/auth_cert.h gnutls26-2.4.1/lib/auth_cert.h --- gnutls26-2.8.6/lib/auth_cert.h 2009-07-29 19:59:36.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_cert.h 2008-06-19 11:00:10.000000000 +0100 @@ -105,6 +105,10 @@ */ typedef struct cert_auth_info_st { + int certificate_requested; /* if the peer requested certificate + * this is non zero; + */ + /* These (dh/rsa) are just copies from the credentials_t structure. * They must be freed. */ diff -Nru gnutls26-2.8.6/lib/auth_dh_common.c gnutls26-2.4.1/lib/auth_dh_common.c --- gnutls26-2.8.6/lib/auth_dh_common.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_dh_common.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,13 +22,13 @@ * */ -/* This file contains common stuff in Ephemeral Diffie-Hellman (DHE) - * and Anonymous DH key exchange(DHA). These are used in the handshake - * procedure of the certificate and anoymous authentication. +/* This file contains common stuff in Ephemeral Diffie Hellman (DHE) and + * Anonymous DH key exchange(DHA). These are used in the handshake procedure + * of the certificate and anoymous authentication. */ #include "gnutls_int.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "gnutls_num.h" @@ -54,7 +54,7 @@ int _gnutls_proc_dh_common_client_kx (gnutls_session_t session, opaque * data, size_t _data_size, - bigint_t g, bigint_t p) + mpi_t g, mpi_t p) { uint16_t n_Y; size_t _n_Y; @@ -67,7 +67,7 @@ _n_Y = n_Y; DECR_LEN (data_size, n_Y); - if (_gnutls_mpi_scan_nz (&session->key->client_Y, &data[2], _n_Y)) + if (_gnutls_mpi_scan_nz (&session->key->client_Y, &data[2], &_n_Y)) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -92,12 +92,12 @@ (&session->security_parameters.current_cipher_suite) != GNUTLS_KX_DHE_PSK) { - ret = _gnutls_mpi_dprint (session->key->KEY, &session->key->key); + ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); } else /* In DHE_PSK the key is set differently */ { gnutls_datum_t tmp_dh_key; - ret = _gnutls_mpi_dprint (session->key->KEY, &tmp_dh_key); + ret = _gnutls_mpi_dprint (&tmp_dh_key, session->key->KEY); if (ret < 0) { gnutls_assert (); @@ -122,7 +122,7 @@ int _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data) { - bigint_t x = NULL, X = NULL; + mpi_t x = NULL, X = NULL; size_t n_X; int ret; @@ -139,7 +139,7 @@ _gnutls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x)); - _gnutls_mpi_print (X, NULL, &n_X); + _gnutls_mpi_print (NULL, &n_X, X); (*data) = gnutls_malloc (n_X + 2); if (*data == NULL) { @@ -147,7 +147,7 @@ goto error; } - _gnutls_mpi_print (X, &(*data)[2], &n_X); + _gnutls_mpi_print (&(*data)[2], &n_X, X); _gnutls_mpi_release (&X); _gnutls_write_uint16 (n_X, &(*data)[0]); @@ -173,12 +173,12 @@ (&session->security_parameters.current_cipher_suite) != GNUTLS_KX_DHE_PSK) { - ret = _gnutls_mpi_dprint (session->key->KEY, &session->key->key); + ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); } else /* In DHE_PSK the key is set differently */ { gnutls_datum_t tmp_dh_key; - ret = _gnutls_mpi_dprint (session->key->KEY, &tmp_dh_key); + ret = _gnutls_mpi_dprint (&tmp_dh_key, session->key->KEY); if (ret < 0) { gnutls_assert (); @@ -258,18 +258,18 @@ _n_g = n_g; _n_p = n_p; - if (_gnutls_mpi_scan_nz (&session->key->client_Y, data_Y, _n_Y) != 0) + if (_gnutls_mpi_scan_nz (&session->key->client_Y, data_Y, &_n_Y) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } - if (_gnutls_mpi_scan_nz (&session->key->client_g, data_g, _n_g) != 0) + if (_gnutls_mpi_scan_nz (&session->key->client_g, data_g, &_n_g) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } - if (_gnutls_mpi_scan_nz (&session->key->client_p, data_p, _n_p) != 0) + if (_gnutls_mpi_scan_nz (&session->key->client_p, data_p, &_n_p) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -305,10 +305,9 @@ * be inserted */ int _gnutls_dh_common_print_server_kx (gnutls_session_t session, - bigint_t g, bigint_t p, opaque ** data, - int psk) + mpi_t g, mpi_t p, opaque ** data, int psk) { - bigint_t x, X; + mpi_t x, X; size_t n_X, n_g, n_p; int ret, data_size, pos; uint8_t *pdata; @@ -323,9 +322,9 @@ session->key->dh_secret = x; _gnutls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x)); - _gnutls_mpi_print (g, NULL, &n_g); - _gnutls_mpi_print (p, NULL, &n_p); - _gnutls_mpi_print (X, NULL, &n_X); + _gnutls_mpi_print (NULL, &n_g, g); + _gnutls_mpi_print (NULL, &n_p, p); + _gnutls_mpi_print (NULL, &n_X, X); data_size = n_g + n_p + n_X + 6; if (psk != 0) @@ -347,17 +346,17 @@ pos += 2; } - _gnutls_mpi_print (p, &pdata[pos + 2], &n_p); + _gnutls_mpi_print (&pdata[pos + 2], &n_p, p); _gnutls_write_uint16 (n_p, &pdata[pos]); pos += n_p + 2; - _gnutls_mpi_print (g, &pdata[pos + 2], &n_g); + _gnutls_mpi_print (&pdata[pos + 2], &n_g, g); _gnutls_write_uint16 (n_g, &pdata[pos]); pos += n_g + 2; - _gnutls_mpi_print (X, &pdata[pos + 2], &n_X); + _gnutls_mpi_print (&pdata[pos + 2], &n_X, X); _gnutls_mpi_release (&X); _gnutls_write_uint16 (n_X, &pdata[pos]); diff -Nru gnutls26-2.8.6/lib/auth_dh_common.h gnutls26-2.4.1/lib/auth_dh_common.h --- gnutls26-2.8.6/lib/auth_dh_common.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_dh_common.h 2008-06-30 21:45:51.000000000 +0100 @@ -38,8 +38,8 @@ int _gnutls_gen_dh_common_client_kx (gnutls_session_t, opaque **); int _gnutls_proc_dh_common_client_kx (gnutls_session_t session, opaque * data, size_t _data_size, - bigint_t p, bigint_t g); -int _gnutls_dh_common_print_server_kx (gnutls_session_t, bigint_t g, bigint_t p, + mpi_t p, mpi_t g); +int _gnutls_dh_common_print_server_kx (gnutls_session_t, mpi_t g, mpi_t p, opaque ** data, int psk); int _gnutls_proc_dh_common_server_kx (gnutls_session_t session, opaque * data, size_t _data_size, diff -Nru gnutls26-2.8.6/lib/auth_dhe.c gnutls26-2.4.1/lib/auth_dhe.c --- gnutls26-2.8.6/lib/auth_dhe.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_dhe.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,13 +22,13 @@ * */ -/* This file contains everything for the Ephemeral Diffie-Hellman - * (DHE) key exchange. This is used in the handshake procedure of the - * certificate authentication. +/* This file contains everything for the Ephemeral Diffie Hellman (DHE) + * key exchange. This is used in the handshake procedure of the certificate + * authentication. */ #include "gnutls_int.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "gnutls_num.h" @@ -81,9 +81,10 @@ static int gen_dhe_server_kx (gnutls_session_t session, opaque ** data) { - bigint_t g, p; - const bigint_t *mpis; + mpi_t g, p; + const mpi_t *mpis; int ret = 0, data_size; + int bits; gnutls_cert *apr_cert_list; gnutls_privkey *apr_pkey; int apr_cert_list_length; @@ -99,6 +100,8 @@ return GNUTLS_E_INSUFFICIENT_CREDENTIALS; } + bits = _gnutls_dh_get_allowed_prime_bits (session); + /* find the appropriate certificate */ if ((ret = _gnutls_get_selected_cert (session, &apr_cert_list, @@ -214,8 +217,9 @@ if ((ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_NO_COPY)) < 0) + session->security_parameters.cert_type, + info, + CERT_NO_COPY)) < 0) { gnutls_assert (); return ret; @@ -241,8 +245,8 @@ { gnutls_certificate_credentials_t cred; int ret; - bigint_t p, g; - const bigint_t *mpis; + mpi_t p, g; + const mpi_t *mpis; gnutls_dh_params_t dh_params; cred = (gnutls_certificate_credentials_t) diff -Nru gnutls26-2.8.6/lib/auth_dhe_psk.c gnutls26-2.4.1/lib/auth_dhe_psk.c --- gnutls26-2.8.6/lib/auth_dhe_psk.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_dhe_psk.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2007, 2009 Free Software Foundation + * Copyright (C) 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,15 +22,16 @@ * */ -/* This file contains the PSK Diffie-Hellman key exchange part of the - * PSK authentication. The functions here are used in the handshake. +/* This file contains the PSK Diffie Hellman key exchange part of + * the PSK authentication. The functions here are used in the + * handshake. */ #include #ifdef ENABLE_PSK -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "auth_psk.h" @@ -118,8 +119,8 @@ static int gen_psk_server_kx (gnutls_session_t session, opaque ** data) { - bigint_t g, p; - const bigint_t *mpis; + mpi_t g, p; + const mpi_t *mpis; int ret; gnutls_dh_params_t dh_params; gnutls_psk_server_credentials_t cred; @@ -168,10 +169,11 @@ proc_psk_client_kx (gnutls_session_t session, opaque * data, size_t _data_size) { + int bits; int ret; - bigint_t p, g; + mpi_t p, g; gnutls_dh_params_t dh_params; - const bigint_t *mpis; + const mpi_t *mpis; gnutls_psk_server_credentials_t cred; psk_auth_info_t info; gnutls_datum_t username; @@ -186,6 +188,8 @@ return GNUTLS_E_INSUFFICIENT_CREDENTIALS; } + bits = _gnutls_dh_get_allowed_prime_bits (session); + if ((ret = _gnutls_auth_info_set (session, GNUTLS_CRD_PSK, sizeof (psk_auth_info_st), 1)) < 0) diff -Nru gnutls26-2.8.6/lib/AUTHORS gnutls26-2.4.1/lib/AUTHORS --- gnutls26-2.8.6/lib/AUTHORS 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/AUTHORS 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../AUTHORS. diff -Nru gnutls26-2.8.6/lib/auth_psk.c gnutls26-2.4.1/lib/auth_psk.c --- gnutls26-2.8.6/lib/auth_psk.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_psk.c 2008-06-19 11:00:10.000000000 +0100 @@ -28,7 +28,7 @@ #include "gnutls_errors.h" #include "gnutls_auth.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "debug.h" #include "gnutls_num.h" #include @@ -395,7 +395,7 @@ ret = 0; -error: + error: return ret; } diff -Nru gnutls26-2.8.6/lib/auth_psk_passwd.c gnutls26-2.4.1/lib/auth_psk_passwd.c --- gnutls26-2.8.6/lib/auth_psk_passwd.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_psk_passwd.c 2008-06-19 11:00:10.000000000 +0100 @@ -32,7 +32,7 @@ #include "gnutls_errors.h" #include #include "auth_psk.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_dh.h" #include "debug.h" #include @@ -79,7 +79,7 @@ } ret = _gnutls_hex2bin ((opaque *) p, len, psk->data, &size); - psk->size = (unsigned int) size; + psk->size = (unsigned int)size; if (ret < 0) { gnutls_assert (); @@ -99,7 +99,7 @@ _randomize_psk (gnutls_datum_t * psk) { int ret; - + psk->data = gnutls_malloc (16); if (psk->data == NULL) { @@ -108,14 +108,14 @@ } psk->size = 16; - - ret = _gnutls_rnd (GNUTLS_RND_NONCE, (char *) psk->data, 16); - if (ret < 0) + + ret = _gnutls_rnd (RND_NONCE, (char *) psk->data, 16); + if ( ret < 0) { - gnutls_assert (); + gnutls_assert(); return ret; } - + return 0; } diff -Nru gnutls26-2.8.6/lib/auth_rsa.c gnutls26-2.4.1/lib/auth_rsa.c --- gnutls26-2.8.6/lib/auth_rsa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_rsa.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -27,10 +27,11 @@ */ #include "gnutls_int.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "gnutls_num.h" +#include "libtasn1.h" #include "gnutls_datum.h" #include "auth_cert.h" #include @@ -40,7 +41,6 @@ #include #include #include -#include int _gnutls_gen_rsa_client_kx (gnutls_session_t, opaque **); int _gnutls_proc_rsa_client_kx (gnutls_session_t, opaque *, size_t); @@ -64,9 +64,9 @@ /* This function reads the RSA parameters from peer's certificate; */ -static int +int _gnutls_get_public_rsa_params (gnutls_session_t session, - bigint_t params[MAX_PUBLIC_PARAMS_SIZE], + mpi_t params[MAX_PUBLIC_PARAMS_SIZE], int *params_len) { int ret; @@ -86,8 +86,8 @@ ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_ONLY_PUBKEY | CERT_NO_COPY); + session->security_parameters.cert_type, + info, CERT_ONLY_PUBKEY | CERT_NO_COPY); if (ret < 0) { @@ -98,8 +98,8 @@ /* EXPORT case: */ if (_gnutls_cipher_suite_get_kx_algo - (&session->security_parameters.current_cipher_suite) == - GNUTLS_KX_RSA_EXPORT + (&session->security_parameters.current_cipher_suite) + == GNUTLS_KX_RSA_EXPORT && _gnutls_mpi_get_nbits (peer_cert.params[0]) > 512) { @@ -145,9 +145,9 @@ /* This function reads the RSA parameters from the private key */ -static int +int _gnutls_get_private_rsa_params (gnutls_session_t session, - bigint_t ** params, int *params_size) + mpi_t ** params, int *params_size) { int bits; gnutls_certificate_credentials_t cred; @@ -211,7 +211,7 @@ gnutls_datum_t plaintext; gnutls_datum_t ciphertext; int ret, dsize; - bigint_t *params; + mpi_t *params; int params_len; int randomize_key = 0; ssize_t data_size = _data_size; @@ -248,7 +248,7 @@ ret = _gnutls_pkcs1_rsa_decrypt (&plaintext, &ciphertext, params, params_len, 2); /* btype==2 */ - if (ret < 0 || plaintext.size != GNUTLS_MASTER_SIZE) + if (ret < 0 || plaintext.size != TLS_MASTER_SIZE) { /* In case decryption fails then don't inform * the peer. Just use a random key. (in order to avoid @@ -280,7 +280,7 @@ if (randomize_key != 0) { - session->key->key.size = GNUTLS_MASTER_SIZE; + session->key->key.size = TLS_MASTER_SIZE; session->key->key.data = gnutls_malloc (session->key->key.size); if (session->key->key.data == NULL) { @@ -290,8 +290,7 @@ /* we do not need strong random numbers here. */ - ret = _gnutls_rnd (GNUTLS_RND_NONCE, session->key->key.data, - session->key->key.size); + ret = _gnutls_rnd (RND_NONCE, session->key->key.data, session->key->key.size); if (ret < 0) { gnutls_assert (); @@ -323,7 +322,7 @@ { cert_auth_info_t auth = session->key->auth_info; gnutls_datum_t sdata; /* data to send */ - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; int params_len = MAX_PUBLIC_PARAMS_SIZE; int ret, i; gnutls_protocol_t ver; @@ -337,7 +336,7 @@ return GNUTLS_E_INSUFFICIENT_CREDENTIALS; } - session->key->key.size = GNUTLS_MASTER_SIZE; + session->key->key.size = TLS_MASTER_SIZE; session->key->key.data = gnutls_secure_malloc (session->key->key.size); if (session->key->key.data == NULL) @@ -346,9 +345,8 @@ return GNUTLS_E_MEMORY_ERROR; } - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, session->key->key.data, - session->key->key.size); - if (ret < 0) + ret = _gnutls_rnd( RND_RANDOM, session->key->key.data, session->key->key.size); + if ( ret < 0) { gnutls_assert (); return ret; diff -Nru gnutls26-2.8.6/lib/auth_rsa_export.c gnutls26-2.4.1/lib/auth_rsa_export.c --- gnutls26-2.8.6/lib/auth_rsa_export.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_rsa_export.c 2008-06-30 21:45:51.000000000 +0100 @@ -27,10 +27,11 @@ */ #include "gnutls_int.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_dh.h" #include "gnutls_num.h" +#include "libtasn1.h" #include "gnutls_datum.h" #include "auth_cert.h" #include @@ -68,7 +69,7 @@ gen_rsa_export_server_kx (gnutls_session_t session, opaque ** data) { gnutls_rsa_params_t rsa_params; - const bigint_t *rsa_mpis; + const mpi_t *rsa_mpis; size_t n_e, n_m; uint8_t *data_e, *data_m; int ret = 0, data_size; @@ -125,8 +126,8 @@ info = _gnutls_get_auth_info (session); _gnutls_rsa_export_set_pubkey (session, rsa_mpis[1], rsa_mpis[0]); - _gnutls_mpi_print (rsa_mpis[0], NULL, &n_m); - _gnutls_mpi_print (rsa_mpis[1], NULL, &n_e); + _gnutls_mpi_print (NULL, &n_m, rsa_mpis[0]); + _gnutls_mpi_print (NULL, &n_e, rsa_mpis[1]); (*data) = gnutls_malloc (n_e + n_m + 4); if (*data == NULL) @@ -135,12 +136,12 @@ } data_m = &(*data)[0]; - _gnutls_mpi_print (rsa_mpis[0], &data_m[2], &n_m); + _gnutls_mpi_print (&data_m[2], &n_m, rsa_mpis[0]); _gnutls_write_uint16 (n_m, data_m); data_e = &data_m[2 + n_m]; - _gnutls_mpi_print (rsa_mpis[1], &data_e[2], &n_e); + _gnutls_mpi_print (&data_e[2], &n_e, rsa_mpis[1]); _gnutls_write_uint16 (n_e, data_e); @@ -204,8 +205,8 @@ if ((ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_NO_COPY)) < 0) + session->security_parameters.cert_type, + info, CERT_NO_COPY)) < 0) { gnutls_assert (); return 0; @@ -274,13 +275,13 @@ _n_e = n_e; _n_m = n_m; - if (_gnutls_mpi_scan_nz (&session->key->rsa[0], data_m, _n_m) != 0) + if (_gnutls_mpi_scan_nz (&session->key->rsa[0], data_m, &_n_m) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } - if (_gnutls_mpi_scan_nz (&session->key->rsa[1], data_e, _n_e) != 0) + if (_gnutls_mpi_scan_nz (&session->key->rsa[1], data_e, &_n_e) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -303,8 +304,8 @@ if ((ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_NO_COPY)) < 0) + session->security_parameters.cert_type, + info, CERT_NO_COPY)) < 0) { gnutls_assert (); return ret; diff -Nru gnutls26-2.8.6/lib/auth_srp.c gnutls26-2.4.1/lib/auth_srp.c --- gnutls26-2.8.6/lib/auth_srp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -29,7 +29,7 @@ #include "gnutls_errors.h" #include "auth_srp_passwd.h" #include "gnutls_auth.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_srp.h" #include "debug.h" #include "gnutls_num.h" @@ -37,6 +37,12 @@ #include #include +int _gnutls_gen_srp_server_kx (gnutls_session_t, opaque **); +int _gnutls_gen_srp_client_kx (gnutls_session_t, opaque **); + +int _gnutls_proc_srp_server_kx (gnutls_session_t, opaque *, size_t); +int _gnutls_proc_srp_client_kx (gnutls_session_t, opaque *, size_t); + const mod_auth_st srp_auth_struct = { "SRP", NULL, @@ -69,12 +75,10 @@ * all are ok. */ inline static int -check_b_mod_n (bigint_t b, bigint_t n) +check_b_mod_n (mpi_t b, mpi_t n) { int ret; - bigint_t r; - - r = _gnutls_mpi_mod (b, n); + mpi_t r = _gnutls_mpi_alloc_like (b); if (r == NULL) { @@ -82,6 +86,7 @@ return GNUTLS_E_MEMORY_ERROR; } + _gnutls_mpi_mod (r, b, n); ret = _gnutls_mpi_cmp_ui (r, 0); _gnutls_mpi_release (&r); @@ -100,18 +105,18 @@ * all are ok. */ inline static int -check_a_mod_n (bigint_t a, bigint_t n) +check_a_mod_n (mpi_t a, mpi_t n) { int ret; - bigint_t r; + mpi_t r = _gnutls_mpi_alloc_like (a); - r = _gnutls_mpi_mod (a, n); if (r == NULL) { gnutls_assert (); return GNUTLS_E_MEMORY_ERROR; } + _gnutls_mpi_mod (r, a, n); ret = _gnutls_mpi_cmp_ui (r, 0); _gnutls_mpi_release (&r); @@ -167,21 +172,21 @@ /* copy from pwd_entry to local variables (actually in session) */ tmp_size = pwd_entry->g.size; - if (_gnutls_mpi_scan_nz (&G, pwd_entry->g.data, tmp_size) < 0) + if (_gnutls_mpi_scan_nz (&G, pwd_entry->g.data, &tmp_size) < 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } tmp_size = pwd_entry->n.size; - if (_gnutls_mpi_scan_nz (&N, pwd_entry->n.data, tmp_size) < 0) + if (_gnutls_mpi_scan_nz (&N, pwd_entry->n.data, &tmp_size) < 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } tmp_size = pwd_entry->v.size; - if (_gnutls_mpi_scan_nz (&V, pwd_entry->v.data, tmp_size) < 0) + if (_gnutls_mpi_scan_nz (&V, pwd_entry->v.data, &tmp_size) < 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -196,7 +201,7 @@ return GNUTLS_E_MEMORY_ERROR; } - if (_gnutls_mpi_print (B, NULL, &n_b) != 0) + if (_gnutls_mpi_print (NULL, &n_b, B) != 0) { gnutls_assert (); return GNUTLS_E_MPI_PRINT_FAILED; @@ -238,9 +243,9 @@ */ data_b = &data_s[1 + pwd_entry->salt.size]; - if (_gnutls_mpi_print (B, &data_b[2], &n_b) != 0) + if (_gnutls_mpi_print (&data_b[2], &n_b, B) != 0) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_MPI_PRINT_FAILED; } @@ -335,16 +340,16 @@ _gnutls_mpi_release (&session->key->u); _gnutls_mpi_release (&B); - ret = _gnutls_mpi_dprint (session->key->KEY, &session->key->key); + ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); _gnutls_mpi_release (&S); - if (ret < 0) + if (ret < 0) { - gnutls_assert (); + gnutls_assert(); return ret; } - if (_gnutls_mpi_print (A, NULL, &n_a) != 0) + if (_gnutls_mpi_print (NULL, &n_a, A) != 0) { gnutls_assert (); return GNUTLS_E_MPI_PRINT_FAILED; @@ -359,7 +364,7 @@ /* copy A */ data_a = (*data); - if (_gnutls_mpi_print (A, &data_a[2], &n_a) != 0) + if (_gnutls_mpi_print (&data_a[2], &n_a, A) != 0) { gnutls_free (*data); return GNUTLS_E_MPI_PRINT_FAILED; @@ -389,7 +394,7 @@ _n_A = _gnutls_read_uint16 (&data[0]); DECR_LEN (data_size, _n_A); - if (_gnutls_mpi_scan_nz (&A, &data[2], _n_A) || A == NULL) + if (_gnutls_mpi_scan_nz (&A, &data[2], &_n_A) || A == NULL) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -435,7 +440,7 @@ _gnutls_mpi_release (&session->key->u); _gnutls_mpi_release (&B); - ret = _gnutls_mpi_dprint (session->key->KEY, &session->key->key); + ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); _gnutls_mpi_release (&S); if (ret < 0) @@ -477,7 +482,6 @@ const gnutls_datum_t gnutls_srp_1024_group_prime = { (void *) srp_params_1024, sizeof (srp_params_1024) }; - const gnutls_datum_t gnutls_srp_1024_group_generator = { (void *) &srp_generator, sizeof (srp_generator) }; @@ -510,7 +514,6 @@ const gnutls_datum_t gnutls_srp_1536_group_prime = { (void *) srp_params_1536, sizeof (srp_params_1536) }; - const gnutls_datum_t gnutls_srp_1536_group_generator = { (void *) &srp_generator, sizeof (srp_generator) }; @@ -550,7 +553,6 @@ const gnutls_datum_t gnutls_srp_2048_group_prime = { (void *) srp_params_2048, sizeof (srp_params_2048) }; - const gnutls_datum_t gnutls_srp_2048_group_generator = { (void *) &srp_generator, sizeof (srp_generator) }; @@ -564,7 +566,7 @@ if (n_g != 1 || g[0] != srp_generator) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; } @@ -586,7 +588,7 @@ return 0; } - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; } @@ -595,14 +597,12 @@ * Otherwise only the included parameters must be used. */ static int -group_check_g_n (gnutls_session_t session, bigint_t g, bigint_t n) +group_check_g_n (mpi_t g, mpi_t n) { - bigint_t q = NULL, two = NULL, w = NULL; + mpi_t q = NULL, two = NULL, w = NULL; int ret; - if (_gnutls_mpi_get_nbits (n) < (session->internals.srp_prime_bits - ? session->internals.srp_prime_bits - : 2048)) + if (_gnutls_mpi_get_nbits (n) < 2048) { gnutls_assert (); return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; @@ -611,7 +611,7 @@ /* N must be of the form N=2q+1 * where q is also a prime. */ - if (_gnutls_prime_check (n) != 0) + if (_gnutls_prime_check (n, 0) != 0) { _gnutls_dump_mpi ("no prime N: ", n); gnutls_assert (); @@ -640,9 +640,9 @@ /* q = q/2, remember that q is divisible by 2 (prime - 1) */ _gnutls_mpi_set_ui (two, 2); - _gnutls_mpi_div (q, q, two); + _gnutls_mpi_div (q, NULL, q, two, 0); - if (_gnutls_prime_check (q) != 0) + if (_gnutls_prime_check (q, 0) != 0) { /* N was not on the form N=2q+1, where q = prime */ @@ -790,19 +790,19 @@ _n_n = n_n; _n_b = n_b; - if (_gnutls_mpi_scan_nz (&N, data_n, _n_n) != 0) + if (_gnutls_mpi_scan_nz (&N, data_n, &_n_n) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } - if (_gnutls_mpi_scan_nz (&G, data_g, _n_g) != 0) + if (_gnutls_mpi_scan_nz (&G, data_g, &_n_g) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } - if (_gnutls_mpi_scan_nz (&B, data_b, _n_b) != 0) + if (_gnutls_mpi_scan_nz (&B, data_b, &_n_b) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -816,7 +816,7 @@ if ((ret = check_g_n (data_g, _n_g, data_n, _n_n)) < 0) { _gnutls_x509_log ("Checking the SRP group parameters.\n"); - if ((ret = group_check_g_n (session, G, N)) < 0) + if ((ret = group_check_g_n (G, N)) < 0) { gnutls_assert (); return ret; @@ -843,7 +843,7 @@ return ret; } - if (_gnutls_mpi_scan_nz (&session->key->x, hd, _n_g) != 0) + if (_gnutls_mpi_scan_nz (&session->key->x, hd, &_n_g) != 0) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; diff -Nru gnutls26-2.8.6/lib/auth_srp.h gnutls26-2.4.1/lib/auth_srp.h --- gnutls26-2.8.6/lib/auth_srp.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -50,6 +50,14 @@ char username[MAX_SRP_USERNAME + 1]; } *srp_server_auth_info_t; +extern const gnutls_datum_t gnutls_srp_1024_group_prime; +extern const gnutls_datum_t gnutls_srp_1024_group_generator; +extern const gnutls_datum_t gnutls_srp_1536_group_prime; +extern const gnutls_datum_t gnutls_srp_1536_group_generator; +extern const gnutls_datum_t gnutls_srp_2048_group_prime; +extern const gnutls_datum_t gnutls_srp_2048_group_generator; + + #ifdef ENABLE_SRP int _gnutls_proc_srp_server_hello (gnutls_session_t state, diff -Nru gnutls26-2.8.6/lib/auth_srp_passwd.c gnutls26-2.4.1/lib/auth_srp_passwd.c --- gnutls26-2.8.6/lib/auth_srp_passwd.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp_passwd.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -32,7 +32,7 @@ #include "gnutls_errors.h" #include #include "auth_srp.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_srp.h" #include "gnutls_dh.h" #include "debug.h" @@ -286,7 +286,7 @@ ret = _randomize_pwd_entry (entry); if (ret < 0) { - gnutls_assert (); + gnutls_assert(); _gnutls_srp_entry_free (entry); return ret; } @@ -405,7 +405,7 @@ return GNUTLS_E_INTERNAL_ERROR; } - ret = _gnutls_rnd (GNUTLS_RND_NONCE, &rnd, 1); + ret = _gnutls_rnd (RND_NONCE, &rnd, 1); if (ret < 0) { gnutls_assert (); @@ -422,8 +422,8 @@ return GNUTLS_E_MEMORY_ERROR; } - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, entry->v.data, 20); - if (ret < 0) + ret = _gnutls_rnd (RND_RANDOM, entry->v.data, 20); + if ( ret < 0) { gnutls_assert (); return ret; @@ -436,13 +436,13 @@ return GNUTLS_E_MEMORY_ERROR; } - ret = _gnutls_rnd (GNUTLS_RND_NONCE, entry->salt.data, entry->salt.size); + ret = _gnutls_rnd (RND_NONCE, entry->salt.data, entry->salt.size); if (ret < 0) { - gnutls_assert (); + gnutls_assert(); return ret; } - + return 0; } diff -Nru gnutls26-2.8.6/lib/auth_srp_passwd.h gnutls26-2.4.1/lib/auth_srp_passwd.h --- gnutls26-2.8.6/lib/auth_srp_passwd.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp_passwd.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -38,6 +38,8 @@ int _gnutls_srp_pwd_read_entry (gnutls_session_t state, char *username, SRP_PWD_ENTRY **); void _gnutls_srp_entry_free (SRP_PWD_ENTRY * entry); +int _gnutls_sbase64_encode (uint8_t * data, size_t data_size, + uint8_t ** result); int _gnutls_sbase64_decode (uint8_t * data, size_t data_size, uint8_t ** result); diff -Nru gnutls26-2.8.6/lib/auth_srp_rsa.c gnutls26-2.4.1/lib/auth_srp_rsa.c --- gnutls26-2.8.6/lib/auth_srp_rsa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp_rsa.c 2008-06-19 11:00:10.000000000 +0100 @@ -29,7 +29,7 @@ #include "gnutls_errors.h" #include "auth_srp_passwd.h" #include "gnutls_auth.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_srp.h" #include "debug.h" #include "gnutls_num.h" @@ -182,8 +182,8 @@ ret = _gnutls_get_auth_info_gcert (&peer_cert, - session->security_parameters.cert_type, - info, CERT_NO_COPY); + session->security_parameters.cert_type, + info, CERT_NO_COPY); if (ret < 0) { diff -Nru gnutls26-2.8.6/lib/auth_srp_sb64.c gnutls26-2.4.1/lib/auth_srp_sb64.c --- gnutls26-2.8.6/lib/auth_srp_sb64.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/auth_srp_sb64.c 2008-06-19 11:00:10.000000000 +0100 @@ -25,7 +25,6 @@ #include #include #include -#include #ifdef ENABLE_SRP @@ -148,7 +147,7 @@ /* encodes data and puts the result into result (locally allocated) * The result_size is the return value */ -static int +int _gnutls_sbase64_encode (uint8_t * data, size_t data_size, uint8_t ** result) { unsigned i, j; diff -Nru gnutls26-2.8.6/lib/build-aux/config.guess gnutls26-2.4.1/lib/build-aux/config.guess --- gnutls26-2.8.6/lib/build-aux/config.guess 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/build-aux/config.guess 1970-01-01 01:00:00.000000000 +0100 @@ -1,1502 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. - -timestamp='2009-12-30' - -# 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, 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 Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. -# -# 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. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - -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, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # 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 - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - 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 ; set_cc_for_build= ;' - -# 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. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - 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 - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # 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 ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # 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. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - 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 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - 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 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - 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 ;; - 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 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /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 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # 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 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - 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 -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - 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 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????: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 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - 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 ;; - *: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 - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - 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 ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | 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 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 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]) - 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" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - 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 -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 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 -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - 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 i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - 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 -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - 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 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - 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 ;; - 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 ;; - 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 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - 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 ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - 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 ;; - 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|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - 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 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*: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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *: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 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - 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 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *: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 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -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\n"); 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 -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# 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 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - 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: diff -Nru gnutls26-2.8.6/lib/build-aux/config.rpath gnutls26-2.4.1/lib/build-aux/config.rpath --- gnutls26-2.8.6/lib/build-aux/config.rpath 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/build-aux/config.rpath 1970-01-01 01:00:00.000000000 +0100 @@ -1,672 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2008 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# 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. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - pgcc | pgf77 | pgf90) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if test "$GCC" = yes ; then - : - else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - library_names_spec='$libname.a' - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd1*) - ;; - freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - nto-qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context -# diff and a properly formatted GNU ChangeLog entry. -# -# 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. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# 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, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # 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 ;; - - * ) - 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* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - 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 | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -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 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -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/'` - ;; - -sco5v6*) - # 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] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # 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]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # 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 - ;; - abacus) - basic_machine=abacus-unknown - ;; - 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 - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - 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 - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - 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 | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - 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 - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze) - basic_machine=microblaze-xilinx - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - 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 - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - 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 - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`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 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-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=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - 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 - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-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 - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - 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 - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - 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 - ;; - *-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. - -auroraux) - os=-auroraux - ;; - -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* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -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 - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -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 - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -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 - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - 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 - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-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 - ;; - -cnk*|-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 - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - 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 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru gnutls26-2.8.6/lib/build-aux/depcomp gnutls26-2.4.1/lib/build-aux/depcomp --- gnutls26-2.8.6/lib/build-aux/depcomp 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/build-aux/depcomp 1970-01-01 01:00:00.000000000 +0100 @@ -1,630 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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, see . - -# 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 . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -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 - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -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 - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp -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. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - 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. In older versions, 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. - # Version 6 uses the directory in both cases. - 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$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - 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,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - 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$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -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 - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space 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 preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--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 - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $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 $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - 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 preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [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 preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # 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 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/lib/build-aux/install-sh gnutls26-2.4.1/lib/build-aux/install-sh --- gnutls26-2.8.6/lib/build-aux/install-sh 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/build-aux/install-sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,520 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2009-04-28.21; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# 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. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # 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 $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/lib/build-aux/link-warning.h gnutls26-2.4.1/lib/build-aux/link-warning.h --- gnutls26-2.8.6/lib/build-aux/link-warning.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/build-aux/link-warning.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -/* GL_LINK_WARNING("literal string") arranges to emit the literal string as - a linker warning on most glibc systems. - We use a linker warning rather than a preprocessor warning, because - #warning cannot be used inside macros. */ -#ifndef GL_LINK_WARNING - /* This works on platforms with GNU ld and ELF object format. - Testing __GLIBC__ is sufficient for asserting that GNU ld is in use. - Testing __ELF__ guarantees the ELF object format. - Testing __GNUC__ is necessary for the compound expression syntax. */ -# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__ -# define GL_LINK_WARNING(message) \ - GL_LINK_WARNING1 (__FILE__, __LINE__, message) -# define GL_LINK_WARNING1(file, line, message) \ - GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */ -# define GL_LINK_WARNING2(file, line, message) \ - GL_LINK_WARNING3 (file ":" #line ": warning: " message) -# define GL_LINK_WARNING3(message) \ - ({ static const char warning[sizeof (message)] \ - __attribute__ ((__unused__, \ - __section__ (".gnu.warning"), \ - __aligned__ (1))) \ - = message "\n"; \ - (void)0; \ - }) -# else -# define GL_LINK_WARNING(message) ((void) 0) -# endif -#endif diff -Nru gnutls26-2.8.6/lib/build-aux/ltmain.sh gnutls26-2.4.1/lib/build-aux/ltmain.sh --- gnutls26-2.8.6/lib/build-aux/ltmain.sh 2010-03-15 10:28:24.000000000 +0000 +++ gnutls26-2.4.1/lib/build-aux/ltmain.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,8413 +0,0 @@ -# Generated from ltmain.m4sh. - -# ltmain.sh (GNU libtool) 2.2.6b -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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. - -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print informational messages (default) -# --version print version information -# -h, --help print short or long help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2" -TIMESTAMP="" -package_revision=1.3017 - -# 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+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# NLS nuisances: We save the old values to restore during execute mode. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done - -$lt_unset CDPATH - - - - - -: ${CP="cp -f"} -: ${ECHO="echo"} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/bin/sed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -# Generated shell functions inserted here. - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -# In the unlikely event $progname began with a '-', it would play havoc with -# func_echo (imagine progname=-n), so we prepend ./ in that case: -func_dirname_and_basename "$progpath" -progname=$func_basename_result -case $progname in - -*) progname=./$progname ;; -esac - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname${mode+: }$mode: $*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` - done - my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "X$my_tmpdir" | $Xsed -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "X$1" | $Xsed \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - - - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $SED -n '/^# Usage:/,/# -h/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - $ECHO - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help -# Echo long help message to standard output and exit. -func_help () -{ - $SED -n '/^# Usage:/,/# Report bugs to/ { - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - }' < "$progpath" - exit $? -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit -} - -exit_cmd=: - - - - - -# Check that we have a working $ECHO. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell, and then maybe $ECHO will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# Parse options once, thoroughly. This comes as soon as possible in -# the script to make things like `libtool --version' happen quickly. -{ - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Parse non-mode specific arguments: - while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --config) func_config ;; - - --debug) preserve_args="$preserve_args $opt" - func_echo "enabling shell trace mode" - opt_debug='set -x' - $opt_debug - ;; - - -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break - execute_dlfiles="$execute_dlfiles $1" - shift - ;; - - --dry-run | -n) opt_dry_run=: ;; - --features) func_features ;; - --finish) mode="finish" ;; - - --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break - case $1 in - # Valid mode arguments: - clean) ;; - compile) ;; - execute) ;; - finish) ;; - install) ;; - link) ;; - relink) ;; - uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; - esac - - mode="$1" - shift - ;; - - --preserve-dup-deps) - opt_duplicate_deps=: ;; - - --quiet|--silent) preserve_args="$preserve_args $opt" - opt_silent=: - ;; - - --verbose| -v) preserve_args="$preserve_args $opt" - opt_silent=false - ;; - - --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break - preserve_args="$preserve_args $opt $1" - func_enable_tag "$1" # tagname is set here - shift - ;; - - # Separate optargs to long options: - -dlopen=*|--mode=*|--tag=*) - func_opt_split "$opt" - set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} - shift - ;; - - -\?|-h) func_usage ;; - --help) opt_help=: ;; - --version) func_version ;; - - -*) func_fatal_help "unrecognized option \`$opt'" ;; - - *) nonopt="$opt" - break - ;; - esac - done - - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_duplicate_deps - ;; - esac - - # Having warned about all mis-specified options, bail out if - # anything was wrong. - $exit_cmd $EXIT_FAILURE -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -## ----------- ## -## Main. ## -## ----------- ## - -$opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - test -z "$mode" && func_fatal_error "error: you must specify a MODE." - - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$mode' for more information." -} - - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_ltwrapper_scriptname_result="" - if func_ltwrapper_executable_p "$1"; then - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" - fi -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case "$@ " in - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - removelist="$removelist $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - removelist="$removelist $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { -test "$mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$mode'" - ;; - esac - - $ECHO - $ECHO "Try \`$progname --help' for more information about other modes." - - exit $? -} - - # Now that we've collected a possible --mode arg, show help if necessary - $opt_help && func_mode_help - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_quote_for_eval "$file" - args="$args $func_quote_for_eval_result" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - $ECHO "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - $ECHO "X----------------------------------------------------------------------" | $Xsed - $ECHO "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - $ECHO - $ECHO "If you ever happen to want to link against installed libraries" - $ECHO "in a given directory, LIBDIR, you must either use libtool, and" - $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" - $ECHO "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" - $ECHO " during execution" - fi - if test -n "$runpath_var"; then - $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" - $ECHO " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $ECHO - - $ECHO "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" - $ECHO "pages." - ;; - *) - $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - $ECHO "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS -} - -test "$mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $ECHO "X$nonopt" | $GREP shtool >/dev/null; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog="$install_prog$func_quote_for_eval_result" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog="$install_prog $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_verbose "extracting global C symbols from \`$progfile'" - $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - $ECHO >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -" - case $host in - *cygwin* | *mingw* | *cegcc* ) - $ECHO >> "$output_objdir/$my_dlsyms" "\ -/* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs. */" - lt_dlsym_const= ;; - *osf5*) - echo >> "$output_objdir/$my_dlsyms" "\ -/* This system does not cope well with relocations in const data */" - lt_dlsym_const= ;; - *) - lt_dlsym_const=const ;; - esac - - $ECHO >> "$output_objdir/$my_dlsyms" "\ -extern $lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -$lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - $ECHO >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags="$symtab_cflags $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - - -# func_emit_wrapper_part1 [arg=no] -# -# Emit the first part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part1 () -{ - func_emit_wrapper_part1_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part1_arg1=$1 - fi - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# 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+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - ECHO=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$ECHO works! - : - else - # Restart under the correct shell, and then maybe \$ECHO will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $ECHO "\ - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done -" -} -# end: func_emit_wrapper_part1 - -# func_emit_wrapper_part2 [arg=no] -# -# Emit the second part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part2 () -{ - func_emit_wrapper_part2_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part2_arg1=$1 - fi - - $ECHO "\ - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} -# end: func_emit_wrapper_part2 - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=no - if test -n "$1" ; then - func_emit_wrapper_arg1=$1 - fi - - # split this up so that func_emit_cwrapperexe_src - # can call each part independently. - func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" - func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" -} - - -# func_to_host_path arg -# -# Convert paths to host format when used with build tools. -# Intended for use with "native" mingw (where libtool itself -# is running under the msys shell), or in the following cross- -# build environments: -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# where wine is equipped with the `winepath' executable. -# In the native mingw case, the (msys) shell automatically -# converts paths for any non-msys applications it launches, -# but that facility isn't available from inside the cwrapper. -# Similar accommodations are necessary for $host mingw and -# $build cygwin. Calling this function does no harm for other -# $host/$build combinations not listed above. -# -# ARG is the path (on $build) that should be converted to -# the proper representation for $host. The result is stored -# in $func_to_host_path_result. -func_to_host_path () -{ - func_to_host_path_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - case $build in - *mingw* ) # actually, msys - # awkward: cmd appends spaces to result - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_path_tmp1=`( cmd //c echo "$1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_path_tmp1=`cygpath -w "$1"` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # Unfortunately, winepath does not exit with a non-zero - # error code, so we are forced to check the contents of - # stdout. On the other hand, if the command is not - # found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both - # error code of zero AND non-empty stdout, which explains - # the odd construction: - func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - else - # Allow warning below. - func_to_host_path_result="" - fi - ;; - esac - if test -z "$func_to_host_path_result" ; then - func_error "Could not determine host path corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_path_result="$1" - fi - ;; - esac - fi -} -# end: func_to_host_path - -# func_to_host_pathlist arg -# -# Convert pathlists to host format when used with build tools. -# See func_to_host_path(), above. This function supports the -# following $build/$host combinations (but does no harm for -# combinations not listed here): -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# -# Path separators are also converted from $build format to -# $host format. If ARG begins or ends with a path separator -# character, it is preserved (but converted to $host format) -# on output. -# -# ARG is a pathlist (on $build) that should be converted to -# the proper representation on $host. The result is stored -# in $func_to_host_pathlist_result. -func_to_host_pathlist () -{ - func_to_host_pathlist_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_to_host_pathlist_tmp2="$1" - # Once set for this call, this variable should not be - # reassigned. It is used in tha fallback case. - func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e 's|^:*||' -e 's|:*$||'` - case $build in - *mingw* ) # Actually, msys. - # Awkward: cmd appends spaces to result. - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # unfortunately, winepath doesn't convert pathlists - func_to_host_pathlist_result="" - func_to_host_pathlist_oldIFS=$IFS - IFS=: - for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do - IFS=$func_to_host_pathlist_oldIFS - if test -n "$func_to_host_pathlist_f" ; then - func_to_host_path "$func_to_host_pathlist_f" - if test -n "$func_to_host_path_result" ; then - if test -z "$func_to_host_pathlist_result" ; then - func_to_host_pathlist_result="$func_to_host_path_result" - else - func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" - fi - fi - fi - IFS=: - done - IFS=$func_to_host_pathlist_oldIFS - ;; - esac - if test -z "$func_to_host_pathlist_result" ; then - func_error "Could not determine the host path(s) corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This may break if $1 contains DOS-style drive - # specifications. The fix is not to complicate the expression - # below, but for the user to provide a working wine installation - # with winepath so that path translation in the cross-to-mingw - # case works properly. - lt_replace_pathsep_nix_to_dos="s|:|;|g" - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_replace_pathsep_nix_to_dos"` - fi - # Now, add the leading and trailing path separators back - case "$1" in - :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" - ;; - esac - case "$1" in - *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" - ;; - esac - ;; - esac - fi -} -# end: func_to_host_pathlist - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -# define setmode _setmode -#else -# include -# include -# ifdef __CYGWIN__ -# include -# define HAVE_SETENV -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -#ifdef _MSC_VER -# define S_IXUSR _S_IEXEC -# define stat _stat -# ifndef _INTPTR_T_DEFINED -# define intptr_t int -# endif -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifdef __CYGWIN__ -# define FOPEN_WB "wb" -#endif - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#undef LTWRAPPER_DEBUGPRINTF -#if defined DEBUGWRAPPER -# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args -static void -ltwrapper_debugprintf (const char *fmt, ...) -{ - va_list args; - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); -} -#else -# define LTWRAPPER_DEBUGPRINTF(args) -#endif - -const char *program_name = NULL; - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_fatal (const char *message, ...); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_opt_process_env_set (const char *arg); -void lt_opt_process_env_prepend (const char *arg); -void lt_opt_process_env_append (const char *arg); -int lt_split_name_value (const char *arg, char** name, char** value); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); - -static const char *script_text_part1 = -EOF - - func_emit_wrapper_part1 yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ "/' -e 's/$/\\n"/' - echo ";" - cat <"))); - for (i = 0; i < newargc; i++) - { - LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", - wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", - tmp_pathspec)); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - char *errstr = strerror (errno); - lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal ("Could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} - -void -lt_setenv (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", - (name ? name : ""), - (value ? value : ""))); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -int -lt_split_name_value (const char *arg, char** name, char** value) -{ - const char *p; - int len; - if (!arg || !*arg) - return 1; - - p = strchr (arg, (int)'='); - - if (!p) - return 1; - - *value = xstrdup (++p); - - len = strlen (arg) - strlen (*value); - *name = XMALLOC (char, len); - strncpy (*name, arg, len-1); - (*name)[len - 1] = '\0'; - - return 0; -} - -void -lt_opt_process_env_set (const char *arg) -{ - char *name = NULL; - char *value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); - } - - lt_setenv (name, value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_prepend (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_append (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 1); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - - -EOF -} -# end: func_emit_cwrapperexe_src - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs="$weak_libs $arg" - prev= - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname '-L' '' "$arg" - dir=$func_stripname_result - if test -z "$dir"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" - linker_flags="$linker_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_duplicate_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - case $lib in - *.la) func_source "$lib" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs="$deplibs $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - dir=$func_stripname_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $ECHO - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because the file extensions .$libext of this argument makes me believe" - $ECHO "*** that it is just a static archive that I should not use here." - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath="$temp_rpath$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - $ECHO - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $ECHO - $ECHO "*** And there doesn't seem to be a static archive available" - $ECHO "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $ECHO - $ECHO "*** Warning: This system can not link to static lib archive $lib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $ECHO "*** But as you try to build a module library, libtool will still create " - $ECHO "*** a static module, that should work as long as the dlopening application" - $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_dirname "$deplib" "" "." - dir="$func_dirname_result" - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs="$libobjs $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` - # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` - # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ - -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` - done - fi - if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | - $GREP . >/dev/null; then - $ECHO - if test "X$deplibs_check_method" = "Xnone"; then - $ECHO "*** Warning: inter-library dependencies are not supported in this platform." - else - $ECHO "*** Warning: inter-library dependencies are not known to be supported." - fi - $ECHO "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $ECHO - $ECHO "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - $ECHO "*** a static module, that should work as long as the dlopening" - $ECHO "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $ECHO "*** The inter-library dependencies that have been dropped here will be" - $ECHO "*** automatically added whenever a program is linked with this library" - $ECHO "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $ECHO - $ECHO "*** Since this library must not contain undefined symbols," - $ECHO "*** because either the platform does not support them or" - $ECHO "*** it was explicitly requested with -no-undefined," - $ECHO "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles="$delfiles $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - func_len " $cmd" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$ECHO "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - $ECHO 'INPUT (' > $output - for obj in $save_libobjs - do - $ECHO "$obj" >> $output - done - $ECHO ')' >> $output - delfiles="$delfiles $output" - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - $ECHO "$obj" >> $output - done - delfiles="$delfiles $output" - output=$firstobj\"$file_list_spec$output\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - delfiles="$delfiles $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *cegcc) - # Disable wrappers for cegcc, we are cross compiling anyway. - wrappers_required=no - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $ECHO for shipping. - if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs="$oldobjs $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $ECHO "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles="$newdlfiles $libdir/$name" - ;; - *) newdlfiles="$newdlfiles $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles="$newdlprefiles $libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$mode" = link || test "$mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) RM="$RM $arg"; rmforce=yes ;; - -*) RM="$RM $arg" ;; - *) files="$files $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles="$rmfiles $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$mode" = uninstall || test "$mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff -Nru gnutls26-2.8.6/lib/build-aux/missing gnutls26-2.4.1/lib/build-aux/missing --- gnutls26-2.8.6/lib/build-aux/missing 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/build-aux/missing 1970-01-01 01:00:00.000000000 +0100 @@ -1,376 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 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, see . - -# 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=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# 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 - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -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' - autom4te touch the output file, or create a stub one - 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] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - 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' $msg. 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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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 "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # 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 is $msg. - 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 prerequisites 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 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/lib/cipher-libgcrypt.c gnutls26-2.4.1/lib/cipher-libgcrypt.c --- gnutls26-2.8.6/lib/cipher-libgcrypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/cipher-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,164 +0,0 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -/* Here lie everything that has to do with large numbers, libgcrypt and - * other stuff that didn't fit anywhere else. - */ - -#include -#include -#include -#include - -/* Functions that refer to the libgcrypt library. - */ - -static int -wrap_gcry_cipher_init (gnutls_cipher_algorithm_t algo, void **ctx) -{ - int err; - - switch (algo) - { - case GNUTLS_CIPHER_AES_128_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_AES128, - GCRY_CIPHER_MODE_CBC, 0); - break; - - case GNUTLS_CIPHER_AES_256_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_AES256, - GCRY_CIPHER_MODE_CBC, 0); - break; - - case GNUTLS_CIPHER_3DES_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_3DES, - GCRY_CIPHER_MODE_CBC, 0); - break; - - case GNUTLS_CIPHER_DES_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_DES, - GCRY_CIPHER_MODE_CBC, 0); - break; - - case GNUTLS_CIPHER_ARCFOUR_128: - case GNUTLS_CIPHER_ARCFOUR_40: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_ARCFOUR, - GCRY_CIPHER_MODE_STREAM, 0); - break; - - case GNUTLS_CIPHER_RC2_40_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_RFC2268_40, - GCRY_CIPHER_MODE_CBC, 0); - break; - -#ifdef ENABLE_CAMELLIA - case GNUTLS_CIPHER_CAMELLIA_128_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_CAMELLIA128, - GCRY_CIPHER_MODE_CBC, 0); - break; - - case GNUTLS_CIPHER_CAMELLIA_256_CBC: - err = - gcry_cipher_open ((gcry_cipher_hd_t *) ctx, GCRY_CIPHER_CAMELLIA256, - GCRY_CIPHER_MODE_CBC, 0); - break; -#endif - default: - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (err == 0) - return 0; - - gnutls_assert (); - return GNUTLS_E_ENCRYPTION_FAILED; -} - -static int -wrap_gcry_cipher_setkey (void *ctx, const void *key, size_t keysize) -{ - gcry_cipher_setkey (ctx, key, keysize); - return 0; -} - -static int -wrap_gcry_cipher_setiv (void *ctx, const void *iv, size_t ivsize) -{ - gcry_cipher_setiv (ctx, iv, ivsize); - return 0; -} - -static int -wrap_gcry_cipher_decrypt (void *ctx, const void *encr, size_t encrsize, - void *plain, size_t plainsize) -{ - int err; - - err = gcry_cipher_decrypt (ctx, plain, plainsize, encr, encrsize); - if (err == 0) - return 0; - - gnutls_assert (); - return GNUTLS_E_ENCRYPTION_FAILED; -} - -static int -wrap_gcry_cipher_encrypt (void *ctx, const void *plain, size_t plainsize, - void *encr, size_t encrsize) -{ - int err; - - err = gcry_cipher_encrypt (ctx, encr, encrsize, plain, plainsize); - if (err == 0) - return 0; - - gnutls_assert (); - return GNUTLS_E_ENCRYPTION_FAILED; -} - -static void -wrap_gcry_cipher_close (void *h) -{ - gcry_cipher_close (h); -} - - -int crypto_cipher_prio = INT_MAX; - -gnutls_crypto_cipher_st _gnutls_cipher_ops = { - .init = wrap_gcry_cipher_init, - .setkey = wrap_gcry_cipher_setkey, - .setiv = wrap_gcry_cipher_setiv, - .encrypt = wrap_gcry_cipher_encrypt, - .decrypt = wrap_gcry_cipher_decrypt, - .deinit = wrap_gcry_cipher_close, -}; diff -Nru gnutls26-2.8.6/lib/config.h.in gnutls26-2.4.1/lib/config.h.in --- gnutls26-2.8.6/lib/config.h.in 2010-03-15 10:28:39.000000000 +0000 +++ gnutls26-2.4.1/lib/config.h.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,509 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if the compiler is building for multiple architectures of Apple - platforms at once. */ -#undef AA_APPLE_UNIVERSAL_BUILD - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Define to the number of bits in type 'ptrdiff_t'. */ -#undef BITSIZEOF_PTRDIFF_T - -/* Define to the number of bits in type 'sig_atomic_t'. */ -#undef BITSIZEOF_SIG_ATOMIC_T - -/* Define to the number of bits in type 'size_t'. */ -#undef BITSIZEOF_SIZE_T - -/* Define to the number of bits in type 'wchar_t'. */ -#undef BITSIZEOF_WCHAR_T - -/* Define to the number of bits in type 'wint_t'. */ -#undef BITSIZEOF_WINT_T - -/* C99 macros are supported */ -#undef C99_MACROS - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* enable anonymous authentication */ -#undef ENABLE_ANON - -/* enable camellia block cipher */ -#undef ENABLE_CAMELLIA - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* use openpgp authentication */ -#undef ENABLE_OPENPGP - -/* enable Opaque PRF Input */ -#undef ENABLE_OPRFI - -/* whether to include all the PKCS/PKI stuff */ -#undef ENABLE_PKI - -/* enable PSK authentication */ -#undef ENABLE_PSK - -/* enable SRP authentication */ -#undef ENABLE_SRP - -/* Define to 1 if ungetc is broken when used on arbitrary bytes. */ -#undef FUNC_UNGETC_BROKEN - -/* Additional cast to bring void* to a type castable to int. */ -#undef GNUTLS_POINTER_TO_INT_CAST - -/* Define to 1 if you have 'alloca' after including , a header that - may be supplied by this distribution. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_BYTESWAP_H - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't. - */ -#undef HAVE_DECL_MEMMEM - -/* Define to 1 if you have the declaration of `snprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_SNPRINTF - -/* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you - don't. */ -#undef HAVE_DECL_STRNCASECMP - -/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_VSNPRINTF - -/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you - don't. */ -#undef HAVE_DECL__SNPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_FLOAT_H - -/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ -#undef HAVE_FSEEKO - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define if you have the 'intmax_t' type in or . */ -#undef HAVE_INTMAX_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define if exists, doesn't clash with , and - declares uintmax_t. */ -#undef HAVE_INTTYPES_H_WITH_UINTMAX - -/* Define if you have the gcrypt library. */ -#undef HAVE_LIBGCRYPT - -/* Define if you have the tasn1 library. */ -#undef HAVE_LIBTASN1 - -/* Define if you have the z library. */ -#undef HAVE_LIBZ - -/* Define to 1 if the system has the type `long long int'. */ -#undef HAVE_LONG_LONG_INT - -/* Define to 1 if you have the `lstat' function. */ -#undef HAVE_LSTAT - -/* Define to 1 if you have the header file. */ -#undef HAVE_LZO1X_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LZO_LZO1X_H - -/* Define to 1 if you have the `mbrtowc' function. */ -#undef HAVE_MBRTOWC - -/* Define to 1 if you have the `memmem' function. */ -#undef HAVE_MEMMEM - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if defines the MIN and MAX macros. */ -#undef HAVE_MINMAX_IN_LIMITS_H - -/* Define to 1 if defines the MIN and MAX macros. */ -#undef HAVE_MINMAX_IN_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETDB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_RANDOM_H - -/* Define if the 'realloc' function is POSIX compliant. */ -#undef HAVE_REALLOC_POSIX - -/* Define to 1 if the system has the type `sa_family_t'. */ -#undef HAVE_SA_FAMILY_T - -/* Define to 1 if you have the `shutdown' function. */ -#undef HAVE_SHUTDOWN - -/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ -#undef HAVE_SIGNED_SIG_ATOMIC_T - -/* Define to 1 if 'wchar_t' is a signed integer type. */ -#undef HAVE_SIGNED_WCHAR_T - -/* Define to 1 if 'wint_t' is a signed integer type. */ -#undef HAVE_SIGNED_WINT_T - -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define if exists, doesn't clash with , and declares - uintmax_t. */ -#undef HAVE_STDINT_H_WITH_UINTMAX - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* 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 `strncasecmp' function. */ -#undef HAVE_STRNCASECMP - -/* Define to 1 if you have the `strnlen' function. */ -#undef HAVE_STRNLEN - -/* Define to 1 if the system has the type `struct random_data'. */ -#undef HAVE_STRUCT_RANDOM_DATA - -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ -#undef HAVE_STRUCT_SOCKADDR_STORAGE - -/* Define to 1 if you have the `strverscmp' function. */ -#undef HAVE_STRVERSCMP - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_BITYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_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_TIME_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_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if the system has the type `unsigned long long int'. */ -#undef HAVE_UNSIGNED_LONG_LONG_INT - -/* Define to 1 if you have the `vasnprintf' function. */ -#undef HAVE_VASNPRINTF - -/* Define to 1 if you have the `vasprintf' function. */ -#undef HAVE_VASPRINTF - -/* Define to 1 if you have the `vsnprintf' function. */ -#undef HAVE_VSNPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_WCHAR_H - -/* Define if you have the 'wchar_t' type. */ -#undef HAVE_WCHAR_T - -/* Define to 1 if you have the `wcrtomb' function. */ -#undef HAVE_WCRTOMB - -/* Define to 1 if you have the `wcslen' function. */ -#undef HAVE_WCSLEN - -/* Define to 1 if you have the `wcsnlen' function. */ -#undef HAVE_WCSNLEN - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINSOCK2_H - -/* Define if you have the 'wint_t' type. */ -#undef HAVE_WINT_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_WS2TCPIP_H - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Define to 1 if lseek does not detect pipes. */ -#undef LSEEK_PIPE_BROKEN - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* no ssize_t type was found */ -#undef NO_SSIZE_T - -/* 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 home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'ptrdiff_t'. */ -#undef PTRDIFF_T_SUFFIX - -/* Define if vasnprintf exists but is overridden by gnulib. */ -#undef REPLACE_VASNPRINTF - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'sig_atomic_t'. */ -#undef SIG_ATOMIC_T_SUFFIX - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `unsigned int', as computed by sizeof. */ -#undef SIZEOF_UNSIGNED_INT - -/* The size of `unsigned long int', as computed by sizeof. */ -#undef SIZEOF_UNSIGNED_LONG_INT - -/* The size of `void *', as computed by sizeof. */ -#undef SIZEOF_VOID_P - -/* Define as the maximum value of type 'size_t', if the system doesn't define - it. */ -#undef SIZE_MAX - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'size_t'. */ -#undef SIZE_T_SUFFIX - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* whether to use the LZO compression */ -#undef USE_LZO - -/* Version number of package */ -#undef VERSION - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wchar_t'. */ -#undef WCHAR_T_SUFFIX - -/* Define if WSAStartup is needed. */ -#undef WINDOWS_SOCKETS - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wint_t'. */ -#undef WINT_T_SUFFIX - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -#undef _LARGEFILE_SOURCE - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to 500 only on HP-UX. */ -#undef _XOPEN_SOURCE - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Define as a replacement for the ISO C99 __func__ variable. */ -#undef __func__ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to long or long long if and don't define. */ -#undef intmax_t - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* Define to the type of st_nlink in struct stat, or a supertype. */ -#undef nlink_t - -/* Define as the type of the result of subtracting two pointers, if the system - doesn't define it. */ -#undef ptrdiff_t - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -#endif - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* type to use in place of socklen_t if not defined */ -#undef socklen_t - -/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif - diff -Nru gnutls26-2.8.6/lib/configure gnutls26-2.4.1/lib/configure --- gnutls26-2.8.6/lib/configure 2010-03-15 10:28:38.000000000 +0000 +++ gnutls26-2.4.1/lib/configure 1970-01-01 01:00:00.000000000 +0100 @@ -1,28007 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for libgnutls 2.8.6. -# -# Report bugs to . -# -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 -IFS=$as_save_IFS - - ;; -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 - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-gnutls@gnu.org -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; 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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# 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 - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_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 sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval 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="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -$* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -test -n "$DJDIR" || exec 7<&0 &1 - -# 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` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='libgnutls' -PACKAGE_TARNAME='libgnutls' -PACKAGE_VERSION='2.8.6' -PACKAGE_STRING='libgnutls 2.8.6' -PACKAGE_BUGREPORT='bug-gnutls@gnu.org' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -gt_needs= -ac_header_list= -ac_func_list= -ac_subst_vars='lgltests_LTLIBOBJS -lgltests_LIBOBJS -lgl_LTLIBOBJS -lgl_LIBOBJS -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -ENABLE_CXX_FALSE -ENABLE_CXX_TRUE -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -WERROR_CFLAGS -WARN_CFLAGS -LIBGNUTLS_CFLAGS -LIBGNUTLS_LIBS -LIBTESTS_LIBDEPS -NEXT_WCHAR_H -HAVE_WCHAR_H -HAVE_WINT_T -WCHAR_H -REPLACE_WCWIDTH -REPLACE_WCSNRTOMBS -REPLACE_WCSRTOMBS -REPLACE_WCRTOMB -REPLACE_MBSNRTOWCS -REPLACE_MBSRTOWCS -REPLACE_MBRLEN -REPLACE_MBRTOWC -REPLACE_MBSINIT -REPLACE_WCTOB -REPLACE_BTOWC -REPLACE_MBSTATE_T -HAVE_DECL_WCWIDTH -HAVE_DECL_WCTOB -HAVE_WCSNRTOMBS -HAVE_WCSRTOMBS -HAVE_WCRTOMB -HAVE_MBSNRTOWCS -HAVE_MBSRTOWCS -HAVE_MBRLEN -HAVE_MBRTOWC -HAVE_MBSINIT -HAVE_BTOWC -GNULIB_WCWIDTH -GNULIB_WCSNRTOMBS -GNULIB_WCSRTOMBS -GNULIB_WCRTOMB -GNULIB_MBSNRTOWCS -GNULIB_MBSRTOWCS -GNULIB_MBRLEN -GNULIB_MBRTOWC -GNULIB_MBSINIT -GNULIB_WCTOB -GNULIB_BTOWC -HAVE_UNISTD_H -NEXT_UNISTD_H -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC -TIME_H_DEFINES_STRUCT_TIMESPEC -NEXT_TIME_H -REPLACE_TIMEGM -REPLACE_STRPTIME -REPLACE_NANOSLEEP -REPLACE_LOCALTIME_R -SYS_STAT_H -NEXT_SYS_STAT_H -HAVE_LSTAT -REPLACE_MKDIR -REPLACE_LSTAT -HAVE_LCHMOD -GNULIB_LSTAT -GNULIB_LCHMOD -NEXT_STRINGS_H -NEXT_STRING_H -HAVE_DECL_STRNCASECMP -HAVE_STRCASECMP -HAVE_RANDOM_H -NEXT_STDLIB_H -NEXT_STDIO_H -STDINT_H -WINT_T_SUFFIX -WCHAR_T_SUFFIX -SIG_ATOMIC_T_SUFFIX -SIZE_T_SUFFIX -PTRDIFF_T_SUFFIX -HAVE_SIGNED_WINT_T -HAVE_SIGNED_WCHAR_T -HAVE_SIGNED_SIG_ATOMIC_T -BITSIZEOF_WINT_T -BITSIZEOF_WCHAR_T -BITSIZEOF_SIG_ATOMIC_T -BITSIZEOF_SIZE_T -BITSIZEOF_PTRDIFF_T -HAVE_SYS_BITYPES_H -HAVE_SYS_INTTYPES_H -HAVE_STDINT_H -NEXT_STDINT_H -HAVE_SYS_TYPES_H -HAVE_INTTYPES_H -HAVE_UNSIGNED_LONG_LONG_INT -HAVE_LONG_LONG_INT -HAVE__BOOL -STDBOOL_H -SYS_SOCKET_H -HAVE_WS2TCPIP_H -HAVE_SYS_SOCKET_H -NEXT_SYS_SOCKET_H -HAVE_SA_FAMILY_T -HAVE_STRUCT_SOCKADDR_STORAGE -GNULIB_SHUTDOWN -GNULIB_SETSOCKOPT -GNULIB_SENDTO -GNULIB_RECVFROM -GNULIB_SEND -GNULIB_RECV -GNULIB_LISTEN -GNULIB_GETSOCKOPT -GNULIB_GETSOCKNAME -GNULIB_GETPEERNAME -GNULIB_BIND -GNULIB_ACCEPT -GNULIB_CONNECT -GNULIB_SOCKET -LIBSOCKET -HAVE_WINSOCK2_H -VOID_UNSETENV -REPLACE_STRTOD -REPLACE_PUTENV -REPLACE_MKSTEMP -HAVE_DECL_GETLOADAVG -HAVE_UNSETENV -HAVE_SYS_LOADAVG_H -HAVE_STRUCT_RANDOM_DATA -HAVE_STRTOULL -HAVE_STRTOLL -HAVE_STRTOD -HAVE_SETENV -HAVE_RPMATCH -HAVE_RANDOM_R -HAVE_MKDTEMP -HAVE_MALLOC_POSIX -HAVE_GETSUBOPT -HAVE_CALLOC_POSIX -HAVE_ATOLL -GNULIB_UNSETENV -GNULIB_STRTOULL -GNULIB_STRTOLL -GNULIB_STRTOD -GNULIB_SETENV -GNULIB_RPMATCH -GNULIB_RANDOM_R -GNULIB_PUTENV -GNULIB_MKSTEMP -GNULIB_MKDTEMP -GNULIB_GETSUBOPT -GNULIB_GETLOADAVG -GNULIB_ATOLL -GNULIB_CALLOC_POSIX -GNULIB_REALLOC_POSIX -GNULIB_MALLOC_POSIX -HAVE_REALLOC_POSIX -NETDB_H -HAVE_NETDB_H -NEXT_NETDB_H -HAVE_DECL_GETNAMEINFO -HAVE_DECL_GETADDRINFO -HAVE_DECL_GAI_STRERROR -HAVE_DECL_FREEADDRINFO -HAVE_STRUCT_ADDRINFO -GNULIB_GETADDRINFO -APPLE_UNIVERSAL_BUILD -REPLACE_STRSIGNAL -REPLACE_STRERROR -REPLACE_STRCASESTR -REPLACE_STRSTR -REPLACE_STRDUP -REPLACE_MEMMEM -HAVE_STRVERSCMP -HAVE_DECL_STRSIGNAL -HAVE_DECL_STRERROR -HAVE_DECL_STRTOK_R -HAVE_STRCASESTR -HAVE_STRSEP -HAVE_STRPBRK -HAVE_DECL_STRNLEN -HAVE_DECL_STRNDUP -HAVE_STRNDUP -HAVE_DECL_STRDUP -HAVE_STRCHRNUL -HAVE_STPNCPY -HAVE_STPCPY -HAVE_RAWMEMCHR -HAVE_DECL_MEMRCHR -HAVE_MEMPCPY -HAVE_DECL_MEMMEM -GNULIB_STRVERSCMP -GNULIB_STRSIGNAL -GNULIB_STRERROR -GNULIB_MBSTOK_R -GNULIB_MBSSEP -GNULIB_MBSSPN -GNULIB_MBSPBRK -GNULIB_MBSCSPN -GNULIB_MBSCASESTR -GNULIB_MBSPCASECMP -GNULIB_MBSNCASECMP -GNULIB_MBSCASECMP -GNULIB_MBSSTR -GNULIB_MBSRCHR -GNULIB_MBSCHR -GNULIB_MBSNLEN -GNULIB_MBSLEN -GNULIB_STRTOK_R -GNULIB_STRCASESTR -GNULIB_STRSTR -GNULIB_STRSEP -GNULIB_STRPBRK -GNULIB_STRNLEN -GNULIB_STRNDUP -GNULIB_STRDUP -GNULIB_STRCHRNUL -GNULIB_STPNCPY -GNULIB_STPCPY -GNULIB_RAWMEMCHR -GNULIB_MEMRCHR -GNULIB_MEMPCPY -GNULIB_MEMMEM -UNISTD_H_HAVE_WINSOCK2_H -REPLACE_WRITE -REPLACE_LSEEK -REPLACE_LCHOWN -REPLACE_GETPAGESIZE -REPLACE_GETCWD -REPLACE_FCHDIR -REPLACE_CLOSE -REPLACE_CHOWN -HAVE_SYS_PARAM_H -HAVE_OS_H -HAVE_DECL_GETLOGIN_R -HAVE_DECL_ENVIRON -HAVE_SLEEP -HAVE_READLINK -HAVE_LINK -HAVE_GETUSERSHELL -HAVE_GETPAGESIZE -HAVE_GETHOSTNAME -HAVE_GETDTABLESIZE -HAVE_GETDOMAINNAME -HAVE_FTRUNCATE -HAVE_FSYNC -HAVE_EUIDACCESS -HAVE_DUP2 -GNULIB_WRITE -GNULIB_UNISTD_H_SIGPIPE -GNULIB_SLEEP -GNULIB_READLINK -GNULIB_LSEEK -GNULIB_LINK -GNULIB_LCHOWN -GNULIB_GETUSERSHELL -GNULIB_GETPAGESIZE -GNULIB_GETLOGIN_R -GNULIB_GETHOSTNAME -GNULIB_GETDTABLESIZE -GNULIB_GETDOMAINNAME -GNULIB_GETCWD -GNULIB_FTRUNCATE -GNULIB_FSYNC -GNULIB_FCHDIR -GNULIB_EUIDACCESS -GNULIB_ENVIRON -GNULIB_DUP2 -GNULIB_CLOSE -GNULIB_CHOWN -HAVE_LD_VERSION_SCRIPT_FALSE -HAVE_LD_VERSION_SCRIPT_TRUE -HAVE_LD_OUTPUT_DEF_FALSE -HAVE_LD_OUTPUT_DEF_TRUE -REPLACE_PERROR -REPLACE_GETLINE -HAVE_DECL_GETLINE -HAVE_DECL_GETDELIM -REPLACE_FCLOSE -REPLACE_FFLUSH -REPLACE_FTELL -REPLACE_FTELLO -HAVE_FTELLO -REPLACE_FSEEK -REPLACE_FSEEKO -HAVE_FSEEKO -REPLACE_FREOPEN -REPLACE_FOPEN -REPLACE_OBSTACK_PRINTF -HAVE_DECL_OBSTACK_PRINTF -REPLACE_VASPRINTF -HAVE_VASPRINTF -REPLACE_VDPRINTF -HAVE_VDPRINTF -REPLACE_DPRINTF -HAVE_DPRINTF -REPLACE_VSPRINTF -REPLACE_SPRINTF -HAVE_DECL_VSNPRINTF -REPLACE_VSNPRINTF -HAVE_DECL_SNPRINTF -REPLACE_SNPRINTF -REPLACE_VPRINTF -REPLACE_PRINTF -REPLACE_VFPRINTF -REPLACE_FPRINTF -REPLACE_STDIO_WRITE_FUNCS -GNULIB_STDIO_H_SIGPIPE -GNULIB_PERROR -GNULIB_GETLINE -GNULIB_GETDELIM -GNULIB_FWRITE -GNULIB_PUTS -GNULIB_FPUTS -GNULIB_PUTCHAR -GNULIB_PUTC -GNULIB_FPUTC -GNULIB_FCLOSE -GNULIB_FFLUSH -GNULIB_FTELLO -GNULIB_FTELL -GNULIB_FSEEKO -GNULIB_FSEEK -GNULIB_FREOPEN -GNULIB_FOPEN -GNULIB_OBSTACK_PRINTF_POSIX -GNULIB_OBSTACK_PRINTF -GNULIB_VASPRINTF -GNULIB_VDPRINTF -GNULIB_DPRINTF -GNULIB_VSPRINTF_POSIX -GNULIB_VSNPRINTF -GNULIB_VPRINTF_POSIX -GNULIB_VPRINTF -GNULIB_VFPRINTF_POSIX -GNULIB_VFPRINTF -GNULIB_SPRINTF_POSIX -GNULIB_SNPRINTF -GNULIB_PRINTF_POSIX -GNULIB_PRINTF -GNULIB_FPRINTF_POSIX -GNULIB_FPRINTF -FLOAT_H -NEXT_FLOAT_H -EOVERFLOW_VALUE -EOVERFLOW_HIDDEN -ENOLINK_VALUE -ENOLINK_HIDDEN -EMULTIHOP_VALUE -EMULTIHOP_HIDDEN -ERRNO_H -NEXT_ERRNO_H -PRAGMA_SYSTEM_HEADER -INCLUDE_NEXT_AS_FIRST_DIRECTIVE -INCLUDE_NEXT -BYTESWAP_H -ALLOCA_H -ALLOCA -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -LIBZ_PREFIX -LTLIBZ -LIBZ -HAVE_LIBZ -DEFINE_SSIZE_T -NUMBER_VERSION -PATCH_VERSION -MINOR_VERSION -MAJOR_VERSION -POSUB -LTLIBINTL -LIBINTL -INTLLIBS -LTLIBICONV -LIBICONV -INTL_MACOSX_LIBS -XGETTEXT_EXTRA_OPTIONS -MSGMERGE -XGETTEXT_015 -XGETTEXT -GMSGFMT_015 -MSGFMT_015 -GMSGFMT -MSGFMT -GETTEXT_MACRO_VERSION -USE_NLS -ENABLE_OPENPGP_FALSE -ENABLE_OPENPGP_TRUE -ENABLE_PKI_FALSE -ENABLE_PKI_TRUE -ENABLE_ANON_FALSE -ENABLE_ANON_TRUE -ENABLE_PSK_FALSE -ENABLE_PSK_TRUE -ENABLE_SRP_FALSE -ENABLE_SRP_TRUE -ENABLE_OPRFI_FALSE -ENABLE_OPRFI_TRUE -USE_LZO_FALSE -USE_LZO_TRUE -LZO_LIBS -ENABLE_MINITASN1_FALSE -ENABLE_MINITASN1_TRUE -LIBTASN1_PREFIX -LTLIBTASN1 -LIBTASN1 -HAVE_LIBTASN1 -LIBGCRYPT_PREFIX -LTLIBGCRYPT -LIBGCRYPT -HAVE_LIBGCRYPT -DLL_VERSION -LT_AGE -LT_REVISION -LT_CURRENT -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -lt_ECHO -AR -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -EGREP -GREP -CPP -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -RANLIB -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_gnu_ld -enable_libtool_lock -enable_rpath -with_libgcrypt_prefix -with_included_libtasn1 -with_libtasn1_prefix -with_lzo -enable_opaque_prf_input -enable_srp_authentication -enable_psk_authentication -enable_anon_authentication -enable_camellia -enable_extra_pki -enable_openpgp_authentication -enable_nls -with_libiconv_prefix -with_libintl_prefix -with_zlib -with_libz_prefix -enable_ld_version_script -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# 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. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -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 - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -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) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$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 ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$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 ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - 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 ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=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 ;; - - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_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'` - as_fn_error "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" -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 - $as_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 - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" - - -# 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 the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - 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 - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# 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 libgnutls 2.8.6 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 \`..'] - -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] - --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] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libgnutls] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_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 - case $ac_init_help in - short | recursive ) echo "Configuration of libgnutls 2.8.6:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-rpath do not hardcode runtime library paths - --enable-opaque-prf-input=DD - enable Opaque PRF input using DD as extension type - --disable-srp-authentication - disable the SRP authentication support - --disable-psk-authentication - disable the PSK authentication support - --disable-anon-authentication - disable the anonymous authentication support - --disable-camellia disable Camellia cipher - --disable-extra-pki only enable the basic PKI stuff - --disable-openpgp-authentication - disable the OpenPGP authentication support - --disable-nls do not use Native Language Support - --enable-ld-version-script - enable linker version script (default is enabled - when possible) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libgcrypt-prefix[=DIR] search for libgcrypt in DIR/include and DIR/lib - --without-libgcrypt-prefix don't search for libgcrypt in includedir and libdir - --with-included-libtasn1 - use the included libtasn1 - --with-libtasn1-prefix[=DIR] search for libtasn1 in DIR/include and DIR/lib - --without-libtasn1-prefix don't search for libtasn1 in includedir and libdir - --with-lzo use experimental LZO compression - --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib - --without-libiconv-prefix don't search for libiconv in includedir and libdir - --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib - --without-libintl-prefix don't search for libintl in includedir and libdir - --without-zlib disable zlib compression support - --with-libz-prefix[=DIR] search for libz in DIR/include and DIR/lib - --without-libz-prefix don't search for libz in includedir and libdir - -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 - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP 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. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested 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 - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -libgnutls configure 2.8.6 -generated by GNU Autoconf 2.65 - -Copyright (C) 2009 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 -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## --------------------------------- ## -## Report this to bug-gnutls@gnu.org ## -## --------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* 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_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_func - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_type - -# ac_fn_c_check_decl LINENO SYMBOL VAR -# ------------------------------------ -# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 -$as_echo_n "checking whether $2 is declared... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $2 - (void) $2; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_decl - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libgnutls $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -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` -/usr/bin/hostinfo = `(/usr/bin/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=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&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_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=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append 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 - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset 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: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -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, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > 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 - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -gt_needs="$gt_needs " -as_fn_append ac_header_list " errno.h" -as_fn_append ac_header_list " float.h" -as_fn_append ac_header_list " netdb.h" -as_fn_append ac_header_list " sys/socket.h" -as_fn_append ac_header_list " stdint.h" -as_fn_append ac_header_list " wchar.h" -as_fn_append ac_header_list " stdio.h" -as_fn_append ac_header_list " stdlib.h" -as_fn_append ac_header_list " string.h" -as_fn_append ac_header_list " strings.h" -as_fn_append ac_func_list " lstat" -as_fn_append ac_header_list " sys/stat.h" -as_fn_append ac_header_list " time.h" -as_fn_append ac_header_list " sys/time.h" -as_fn_append ac_header_list " unistd.h" -as_fn_append ac_func_list " vasnprintf" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; 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,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_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 - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -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 - - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done -done -if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - - -am__api_version='1.11' - -# 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" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : - $as_echo_n "(cached) " >&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/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -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. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$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' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac - -# 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". - as_fn_error "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "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 $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -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='libgnutls' - VERSION='2.8.6' - - -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"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - -ac_config_headers="$ac_config_headers config.h" - - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -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 -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -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 -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-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 - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&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 - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$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 - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&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 : - $as_echo_n "(cached) " >&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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } -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 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# 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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - case "$host_os" in - hpux*) - -$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h - - ;; - esac - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include /* for off_t */ - #include -int -main () -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_sys_largefile_source=no; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include -int -main () -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_sys_largefile_source=1; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_cv_sys_largefile_source=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 -$as_echo "$ac_cv_sys_largefile_source" >&6; } -case $ac_cv_sys_largefile_source in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source -_ACEOF -;; -esac -rm -rf conftest* - -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -if test $ac_cv_sys_largefile_source != unknown; then - -$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h - -fi - - - - - - - -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DLLTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.2.6b' -macro_revision='1.3017' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - 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_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6174: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:6177: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:6180: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru - - - - - - - - - - - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - - - - - - - - - - - - - - - - - - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 7382 "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - 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 - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext 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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - -# Set options - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - - - - - - - - - - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -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 - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8642: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8646: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } - - - - - - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8981: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8985: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9086: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:9090: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9141: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:9145: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo(void) {} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 11525 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 11621 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -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 - -CC="$lt_save_CC" - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${acl_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - acl_libdirstem=lib - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - - - # Library code modified: REVISION++ - # Interfaces changed/added/removed: CURRENT++ REVISION=0 - # Interfaces added: AGE++ - # Interfaces removed: AGE=0 - LT_CURRENT=40 - - LT_REVISION=12 - - LT_AGE=14 - - - # Used when creating the Windows libgnutls-XX.def files. - DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libgcrypt-prefix was given. -if test "${with_libgcrypt_prefix+set}" = set; then : - withval=$with_libgcrypt_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi - -fi - - LIBGCRYPT= - LTLIBGCRYPT= - INCGCRYPT= - LIBGCRYPT_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='gcrypt gpg-error' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_a" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIBGCRYPT_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCGCRYPT="${INCGCRYPT}${INCGCRYPT:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$dep" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$dep" - ;; - esac - done - fi - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-R$found_dir" - done - fi - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCGCRYPT; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcrypt" >&5 -$as_echo_n "checking for libgcrypt... " >&6; } -if test "${ac_cv_libgcrypt+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBGCRYPT" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libgcrypt=yes -else - ac_cv_libgcrypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgcrypt" >&5 -$as_echo "$ac_cv_libgcrypt" >&6; } - if test "$ac_cv_libgcrypt" = yes; then - HAVE_LIBGCRYPT=yes - -$as_echo "#define HAVE_LIBGCRYPT 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgcrypt" >&5 -$as_echo_n "checking how to link with libgcrypt... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGCRYPT" >&5 -$as_echo "$LIBGCRYPT" >&6; } - else - HAVE_LIBGCRYPT=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBGCRYPT= - LTLIBGCRYPT= - LIBGCRYPT_PREFIX= - fi - - - - - - - - if test "$ac_cv_libgcrypt" != yes; then - as_fn_error " -*** -*** libgcrypt was not found. You may want to get it from -*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ -*** - " "$LINENO" 5 - fi - - -# Check whether --with-included-libtasn1 was given. -if test "${with_included_libtasn1+set}" = set; then : - withval=$with_included_libtasn1; included_libtasn1=$withval -else - included_libtasn1=no -fi - - if test "$included_libtasn1" = "no"; then - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libtasn1-prefix was given. -if test "${with_libtasn1_prefix+set}" = set; then : - withval=$with_libtasn1_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi - -fi - - LIBTASN1= - LTLIBTASN1= - INCTASN1= - LIBTASN1_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='tasn1 ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_a" - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIBTASN1_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCTASN1="${INCTASN1}${INCTASN1:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$dep" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$dep" - ;; - esac - done - fi - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-R$found_dir" - done - fi - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCTASN1; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libtasn1" >&5 -$as_echo_n "checking for libtasn1... " >&6; } -if test "${ac_cv_libtasn1+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBTASN1" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -asn1_check_version (NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libtasn1=yes -else - ac_cv_libtasn1=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libtasn1" >&5 -$as_echo "$ac_cv_libtasn1" >&6; } - if test "$ac_cv_libtasn1" = yes; then - HAVE_LIBTASN1=yes - -$as_echo "#define HAVE_LIBTASN1 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libtasn1" >&5 -$as_echo_n "checking how to link with libtasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBTASN1" >&5 -$as_echo "$LIBTASN1" >&6; } - else - HAVE_LIBTASN1=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBTASN1= - LTLIBTASN1= - LIBTASN1_PREFIX= - fi - - - - - - - - if test "$ac_cv_libtasn1" != yes; then - included_libtasn1=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&5 -$as_echo "$as_me: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the included minitasn1" >&5 -$as_echo_n "checking whether to use the included minitasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $included_libtasn1" >&5 -$as_echo "$included_libtasn1" >&6; } - if test "$included_libtasn1" = "yes"; then - ENABLE_MINITASN1_TRUE= - ENABLE_MINITASN1_FALSE='#' -else - ENABLE_MINITASN1_TRUE='#' - ENABLE_MINITASN1_FALSE= -fi - - - -# Check whether --with-lzo was given. -if test "${with_lzo+set}" = set; then : - withval=$with_lzo; use_lzo=$withval -else - use_lzo=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include LZO compression support" >&5 -$as_echo_n "checking whether to include LZO compression support... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_lzo" >&5 -$as_echo "$use_lzo" >&6; } - LZO_LIBS= - if test "$use_lzo" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo2" >&5 -$as_echo_n "checking for lzo1x_1_compress in -llzo2... " >&6; } -if test "${ac_cv_lib_lzo2_lzo1x_1_compress+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llzo2 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char lzo1x_1_compress (); -int -main () -{ -return lzo1x_1_compress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lzo2_lzo1x_1_compress=yes -else - ac_cv_lib_lzo2_lzo1x_1_compress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_1_compress" >&5 -$as_echo "$ac_cv_lib_lzo2_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo2_lzo1x_1_compress" = x""yes; then : - LZO_LIBS=-llzo2 -fi - - if test "$LZO_LIBS" = ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo" >&5 -$as_echo_n "checking for lzo1x_1_compress in -llzo... " >&6; } -if test "${ac_cv_lib_lzo_lzo1x_1_compress+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llzo $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char lzo1x_1_compress (); -int -main () -{ -return lzo1x_1_compress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lzo_lzo1x_1_compress=yes -else - ac_cv_lib_lzo_lzo1x_1_compress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo_lzo1x_1_compress" >&5 -$as_echo "$ac_cv_lib_lzo_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo_lzo1x_1_compress" = x""yes; then : - LZO_LIBS=-llzo -else - - use_lzo=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&5 -$as_echo "$as_me: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&2;} - -fi - - fi - fi - - if test "$use_lzo" = "yes"; then - -$as_echo "#define USE_LZO 1" >>confdefs.h - - if test "$LZO_LIBS" = "-llzo"; then - for ac_header in lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo1x.h" "ac_cv_header_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo1x_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LZO1X_H 1 -_ACEOF - -fi - -done - - elif test "$LZO_LIBS" = "-llzo2"; then - for ac_header in lzo/lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo/lzo1x.h" "ac_cv_header_lzo_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo_lzo1x_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LZO_LZO1X_H 1 -_ACEOF - -fi - -done - - fi - fi - if test "$use_lzo" = "yes"; then - USE_LZO_TRUE= - USE_LZO_FALSE='#' -else - USE_LZO_TRUE='#' - USE_LZO_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C99 macros are supported" >&5 -$as_echo_n "checking whether C99 macros are supported... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - #define test_mac(...) - int z,y,x; - test_mac(x,y,z); - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - -$as_echo "#define C99_MACROS 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C99 macros not supported. This may affect compiling." >&5 -$as_echo "$as_me: WARNING: C99 macros not supported. This may affect compiling." >&2;} - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Opaque PRF input support" >&5 -$as_echo_n "checking whether to enable Opaque PRF input support... " >&6; } - # Check whether --enable-opaque-prf-input was given. -if test "${enable_opaque_prf_input+set}" = set; then : - enableval=$enable_opaque_prf_input; ac_opaque_prf_input=$enableval -else - ac_opaque_prf_input=no -fi - - if test "$ac_opaque_prf_input" != "no"; then - if ! echo $ac_opaque_prf_input | egrep -q '^[0-9]+$'; then - ac_opaque_prf_input=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&5 -$as_echo "$as_me: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&2;} - fi - fi - if test "$ac_opaque_prf_input" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (extension value $ac_opaque_prf_input)" >&5 -$as_echo "yes (extension value $ac_opaque_prf_input)" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ENABLE_OPRFI $ac_opaque_prf_input -_ACEOF - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_opaque_prf_input" != "no"; then - ENABLE_OPRFI_TRUE= - ENABLE_OPRFI_FALSE='#' -else - ENABLE_OPRFI_TRUE='#' - ENABLE_OPRFI_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable SRP authentication support" >&5 -$as_echo_n "checking whether to disable SRP authentication support... " >&6; } - # Check whether --enable-srp-authentication was given. -if test "${enable_srp_authentication+set}" = set; then : - enableval=$enable_srp_authentication; ac_enable_srp=no -fi - - if test x$ac_enable_srp != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_SRP 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_srp" != "no"; then - ENABLE_SRP_TRUE= - ENABLE_SRP_FALSE='#' -else - ENABLE_SRP_TRUE='#' - ENABLE_SRP_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable PSK authentication support" >&5 -$as_echo_n "checking whether to disable PSK authentication support... " >&6; } - # Check whether --enable-psk-authentication was given. -if test "${enable_psk_authentication+set}" = set; then : - enableval=$enable_psk_authentication; ac_enable_psk=no -fi - - if test x$ac_enable_psk != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_PSK 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_psk" != "no"; then - ENABLE_PSK_TRUE= - ENABLE_PSK_FALSE='#' -else - ENABLE_PSK_TRUE='#' - ENABLE_PSK_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable anonymous authentication support" >&5 -$as_echo_n "checking whether to disable anonymous authentication support... " >&6; } - # Check whether --enable-anon-authentication was given. -if test "${enable_anon_authentication+set}" = set; then : - enableval=$enable_anon_authentication; ac_enable_anon=no -fi - - if test x$ac_enable_anon != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_ANON 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_anon" != "no"; then - ENABLE_ANON_TRUE= - ENABLE_ANON_FALSE='#' -else - ENABLE_ANON_TRUE='#' - ENABLE_ANON_FALSE= -fi - - - # Allow disabling Camellia - # Check whether --enable-camellia was given. -if test "${enable_camellia+set}" = set; then : - enableval=$enable_camellia; enable_camellia=$enableval -else - enable_camellia=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable Camellia cipher" >&5 -$as_echo_n "checking whether to disable Camellia cipher... " >&6; } - if test "$enable_camellia" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_CAMELLIA 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable extra PKI stuff" >&5 -$as_echo_n "checking whether to disable extra PKI stuff... " >&6; } - # Check whether --enable-extra-pki was given. -if test "${enable_extra_pki+set}" = set; then : - enableval=$enable_extra_pki; enable_pki=$enableval -else - enable_pki=yes -fi - - if test "$enable_pki" != "yes"; then - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_PKI 1" >>confdefs.h - - fi - if test "$enable_pki" = "yes"; then - ENABLE_PKI_TRUE= - ENABLE_PKI_FALSE='#' -else - ENABLE_PKI_TRUE='#' - ENABLE_PKI_FALSE= -fi - - - ac_enable_openpgp=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenPGP Certificate authentication support" >&5 -$as_echo_n "checking whether to disable OpenPGP Certificate authentication support... " >&6; } - # Check whether --enable-openpgp-authentication was given. -if test "${enable_openpgp_authentication+set}" = set; then : - enableval=$enable_openpgp_authentication; ac_enable_openpgp=no -fi - - if test x$ac_enable_openpgp = xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ac_full=0 - else - -$as_echo "#define ENABLE_OPENPGP 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_enable_openpgp" = "yes"; then - ENABLE_OPENPGP_TRUE= - ENABLE_OPENPGP_FALSE='#' -else - ENABLE_OPENPGP_TRUE='#' - ENABLE_OPENPGP_FALSE= -fi - - - # For storing integers in pointers without warnings - # http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (void *) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_long=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (int) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF - - - case $ac_cv_sizeof_void_p in - $ac_cv_sizeof_long) - -$as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long)" >>confdefs.h - - ;; - *) - $as_echo "#define GNUTLS_POINTER_TO_INT_CAST /**/" >>confdefs.h - - ;; - esac - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - GETTEXT_MACRO_VERSION=0.17 - - - - -# Prepare PATH_SEPARATOR. -# 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 - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac - - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# 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 - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# 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 - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGMERGE+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$localedir" || localedir='${datadir}/locale' - - - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - - ac_config_commands="$ac_config_commands po-directories" - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIBICONV_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFLocaleCopyCurrent(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFLocaleCopyCurrent=yes -else - gt_cv_func_CFLocaleCopyCurrent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$gt_func_gnugettext_libc - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if test "${am_cv_func_iconv_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - LIBINTL_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIBINTL_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -eval ac_res=\$$gt_func_gnugettext_libintl - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - fi - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - -# For includes/gnutls/gnutls.h.in. -MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'` - -MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'` - -PATCH_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'` - -NUMBER_VERSION=`printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION` - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" " - #include - -" -if test "x$ac_cv_type_ssize_t" = x""yes; then : - - DEFINE_SSIZE_T="#include " - - -else - - -$as_echo "#define NO_SSIZE_T 1" >>confdefs.h - - DEFINE_SSIZE_T="typedef int ssize_t;" - - -fi - - -# For minitasn1. -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long int" >&5 -$as_echo_n "checking size of unsigned long int... " >&6; } -if test "${ac_cv_sizeof_unsigned_long_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long int))" "ac_cv_sizeof_unsigned_long_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_long_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (unsigned long int) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_unsigned_long_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_long_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG_INT $ac_cv_sizeof_unsigned_long_int -_ACEOF - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 -$as_echo_n "checking size of unsigned int... " >&6; } -if test "${ac_cv_sizeof_unsigned_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (unsigned int) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_unsigned_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int -_ACEOF - - - - -# Check whether --with-zlib was given. -if test "${with_zlib+set}" = set; then : - withval=$with_zlib; ac_zlib=$withval -else - ac_zlib=yes -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include zlib compression support" >&5 -$as_echo_n "checking whether to include zlib compression support... " >&6; } -if test x$ac_zlib != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libz-prefix was given. -if test "${with_libz_prefix+set}" = set; then : - withval=$with_libz_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi - -fi - - LIBZ= - LTLIBZ= - INCZ= - LIBZ_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='z ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBZ="${LIBZ}${LIBZ:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - LIBZ="${LIBZ}${LIBZ:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBZ="${LIBZ}${LIBZ:+ }$found_a" - else - LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIBZ_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCZ="${INCZ}${INCZ:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBZ="${LIBZ}${LIBZ:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBZ="${LIBZ}${LIBZ:+ }$dep" - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$dep" - ;; - esac - done - fi - else - LIBZ="${LIBZ}${LIBZ:+ }-l$name" - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBZ="${LIBZ}${LIBZ:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBZ="${LIBZ}${LIBZ:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-R$found_dir" - done - fi - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCZ; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libz" >&5 -$as_echo_n "checking for libz... " >&6; } -if test "${ac_cv_libz+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBZ" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -compress (0, 0, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libz=yes -else - ac_cv_libz=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libz" >&5 -$as_echo "$ac_cv_libz" >&6; } - if test "$ac_cv_libz" = yes; then - HAVE_LIBZ=yes - -$as_echo "#define HAVE_LIBZ 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libz" >&5 -$as_echo_n "checking how to link with libz... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBZ" >&5 -$as_echo "$LIBZ" >&6; } - else - HAVE_LIBZ=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBZ= - LTLIBZ= - LIBZ_PREFIX= - fi - - - - - - - - if test "$ac_cv_libz" != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** -*** ZLIB was not found. You will not be able to use ZLIB compression." >&5 -$as_echo "$as_me: WARNING: *** -*** ZLIB was not found. You will not be able to use ZLIB compression." >&2;} - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes -else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then - -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - - - - - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - -$as_echo "#define C_ALLOCA 1" >>confdefs.h - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - - done -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction () -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} - -int -main () -{ - return find_stack_direction () < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 -$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } -if test "${gl_cv_have_include_next+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - cat < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd2/conftest.h -#ifndef DEFINED_IN_CONFTESTD1 -#error "include_next test doesn't work" -#endif -#define DEFINED_IN_CONFTESTD2 -EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=yes -else - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=buggy -else - gl_cv_have_include_next=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 -$as_echo "$gl_cv_have_include_next" >&6; } - PRAGMA_SYSTEM_HEADER= - if test $gl_cv_have_include_next = yes; then - INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi - else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi - fi - - - - - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 -$as_echo_n "checking for complete errno.h... " >&6; } -if test "${gl_cv_header_errno_h_complete+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if !defined ENOMSG -booboo -#endif -#if !defined EIDRM -booboo -#endif -#if !defined ENOLINK -booboo -#endif -#if !defined EPROTO -booboo -#endif -#if !defined EMULTIHOP -booboo -#endif -#if !defined EBADMSG -booboo -#endif -#if !defined EOVERFLOW -booboo -#endif -#if !defined ENOTSUP -booboo -#endif -#if !defined ECANCELED -booboo -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1; then : - gl_cv_header_errno_h_complete=no -else - gl_cv_header_errno_h_complete=yes -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 -$as_echo "$gl_cv_header_errno_h_complete" >&6; } - if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' - else - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_errno_h='<'errno.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_errno_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_errno_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/errno.h#{ - s#.*"\(.*/errno.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_errno_h='<'errno.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 -$as_echo "$gl_cv_next_errno_h" >&6; } - fi - NEXT_ERRNO_H=$gl_cv_next_errno_h - - - - ERRNO_H='errno.h' - fi - - - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 -$as_echo_n "checking for EMULTIHOP value... " >&6; } -if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef EMULTIHOP -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=yes -else - gl_cv_header_errno_h_EMULTIHOP=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EMULTIHOP = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EMULTIHOP -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=hidden -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then - if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : - -fi - - fi - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 -$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } - case $gl_cv_header_errno_h_EMULTIHOP in - yes | no) - EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= - ;; - *) - EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" - ;; - esac - - - fi - - - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 -$as_echo_n "checking for ENOLINK value... " >&6; } -if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef ENOLINK -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=yes -else - gl_cv_header_errno_h_ENOLINK=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ENOLINK -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=hidden -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = hidden; then - if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : - -fi - - fi - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 -$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } - case $gl_cv_header_errno_h_ENOLINK in - yes | no) - ENOLINK_HIDDEN=0; ENOLINK_VALUE= - ;; - *) - ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" - ;; - esac - - - fi - - - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 -$as_echo_n "checking for EOVERFLOW value... " >&6; } -if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef EOVERFLOW -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=yes -else - gl_cv_header_errno_h_EOVERFLOW=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EOVERFLOW = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EOVERFLOW -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=hidden -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then - if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : - -fi - - fi - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 -$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } - case $gl_cv_header_errno_h_EOVERFLOW in - yes | no) - EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= - ;; - *) - EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" - ;; - esac - - - fi - - - - - - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - GNULIB_DPRINTF=0; - GNULIB_VDPRINTF=0; - GNULIB_VASPRINTF=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_FOPEN=0; - GNULIB_FREOPEN=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FFLUSH=0; - GNULIB_FCLOSE=0; - GNULIB_FPUTC=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_FPUTS=0; - GNULIB_PUTS=0; - GNULIB_FWRITE=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_PERROR=0; - GNULIB_STDIO_H_SIGPIPE=0; - REPLACE_STDIO_WRITE_FUNCS=0; - REPLACE_FPRINTF=0; - REPLACE_VFPRINTF=0; - REPLACE_PRINTF=0; - REPLACE_VPRINTF=0; - REPLACE_SNPRINTF=0; - HAVE_DECL_SNPRINTF=1; - REPLACE_VSNPRINTF=0; - HAVE_DECL_VSNPRINTF=1; - REPLACE_SPRINTF=0; - REPLACE_VSPRINTF=0; - HAVE_DPRINTF=1; - REPLACE_DPRINTF=0; - HAVE_VDPRINTF=1; - REPLACE_VDPRINTF=0; - HAVE_VASPRINTF=1; - REPLACE_VASPRINTF=0; - HAVE_DECL_OBSTACK_PRINTF=1; - REPLACE_OBSTACK_PRINTF=0; - REPLACE_FOPEN=0; - REPLACE_FREOPEN=0; - HAVE_FSEEKO=1; - REPLACE_FSEEKO=0; - REPLACE_FSEEK=0; - HAVE_FTELLO=1; - REPLACE_FTELLO=0; - REPLACE_FTELL=0; - REPLACE_FFLUSH=0; - REPLACE_FCLOSE=0; - HAVE_DECL_GETDELIM=1; - HAVE_DECL_GETLINE=1; - REPLACE_GETLINE=0; - REPLACE_PERROR=0; - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 -$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } -if test "${gl_cv_var_stdin_large_offset+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_var_stdin_large_offset=yes -else - gl_cv_var_stdin_large_offset=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 -$as_echo "$gl_cv_var_stdin_large_offset" >&6; } - - - GNULIB_CHOWN=0; - GNULIB_CLOSE=0; - GNULIB_DUP2=0; - GNULIB_ENVIRON=0; - GNULIB_EUIDACCESS=0; - GNULIB_FCHDIR=0; - GNULIB_FSYNC=0; - GNULIB_FTRUNCATE=0; - GNULIB_GETCWD=0; - GNULIB_GETDOMAINNAME=0; - GNULIB_GETDTABLESIZE=0; - GNULIB_GETHOSTNAME=0; - GNULIB_GETLOGIN_R=0; - GNULIB_GETPAGESIZE=0; - GNULIB_GETUSERSHELL=0; - GNULIB_LCHOWN=0; - GNULIB_LINK=0; - GNULIB_LSEEK=0; - GNULIB_READLINK=0; - GNULIB_SLEEP=0; - GNULIB_UNISTD_H_SIGPIPE=0; - GNULIB_WRITE=0; - HAVE_DUP2=1; - HAVE_EUIDACCESS=1; - HAVE_FSYNC=1; - HAVE_FTRUNCATE=1; - HAVE_GETDOMAINNAME=1; - HAVE_GETDTABLESIZE=1; - HAVE_GETHOSTNAME=1; - HAVE_GETPAGESIZE=1; - HAVE_GETUSERSHELL=1; - HAVE_LINK=1; - HAVE_READLINK=1; - HAVE_SLEEP=1; - HAVE_DECL_ENVIRON=1; - HAVE_DECL_GETLOGIN_R=1; - HAVE_OS_H=0; - HAVE_SYS_PARAM_H=0; - REPLACE_CHOWN=0; - REPLACE_CLOSE=0; - REPLACE_FCHDIR=0; - REPLACE_GETCWD=0; - REPLACE_GETPAGESIZE=0; - REPLACE_LCHOWN=0; - REPLACE_LSEEK=0; - REPLACE_WRITE=0; - UNISTD_H_HAVE_WINSOCK2_H=0; - - - GNULIB_MEMMEM=0; - GNULIB_MEMPCPY=0; - GNULIB_MEMRCHR=0; - GNULIB_RAWMEMCHR=0; - GNULIB_STPCPY=0; - GNULIB_STPNCPY=0; - GNULIB_STRCHRNUL=0; - GNULIB_STRDUP=0; - GNULIB_STRNDUP=0; - GNULIB_STRNLEN=0; - GNULIB_STRPBRK=0; - GNULIB_STRSEP=0; - GNULIB_STRSTR=0; - GNULIB_STRCASESTR=0; - GNULIB_STRTOK_R=0; - GNULIB_MBSLEN=0; - GNULIB_MBSNLEN=0; - GNULIB_MBSCHR=0; - GNULIB_MBSRCHR=0; - GNULIB_MBSSTR=0; - GNULIB_MBSCASECMP=0; - GNULIB_MBSNCASECMP=0; - GNULIB_MBSPCASECMP=0; - GNULIB_MBSCASESTR=0; - GNULIB_MBSCSPN=0; - GNULIB_MBSPBRK=0; - GNULIB_MBSSPN=0; - GNULIB_MBSSEP=0; - GNULIB_MBSTOK_R=0; - GNULIB_STRERROR=0; - GNULIB_STRSIGNAL=0; - GNULIB_STRVERSCMP=0; - HAVE_DECL_MEMMEM=1; - HAVE_MEMPCPY=1; - HAVE_DECL_MEMRCHR=1; - HAVE_RAWMEMCHR=1; - HAVE_STPCPY=1; - HAVE_STPNCPY=1; - HAVE_STRCHRNUL=1; - HAVE_DECL_STRDUP=1; - HAVE_STRNDUP=1; - HAVE_DECL_STRNDUP=1; - HAVE_DECL_STRNLEN=1; - HAVE_STRPBRK=1; - HAVE_STRSEP=1; - HAVE_STRCASESTR=1; - HAVE_DECL_STRTOK_R=1; - HAVE_DECL_STRERROR=1; - HAVE_DECL_STRSIGNAL=1; - HAVE_STRVERSCMP=1; - REPLACE_MEMMEM=0; - REPLACE_STRDUP=0; - REPLACE_STRSTR=0; - REPLACE_STRCASESTR=0; - REPLACE_STRERROR=0; - REPLACE_STRSIGNAL=0; - -ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default" -if test "x$ac_cv_have_decl_memmem" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MEMMEM $ac_have_decl -_ACEOF - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if test "${gl_cv_minmax_in_limits_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int x = MIN (42, 17); -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_limits_h=yes -else - gl_cv_minmax_in_limits_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5 -$as_echo "$gl_cv_minmax_in_limits_h" >&6; } - if test $gl_cv_minmax_in_limits_h = yes; then - -$as_echo "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h - - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if test "${gl_cv_minmax_in_sys_param_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int x = MIN (42, 17); -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_sys_param_h=yes -else - gl_cv_minmax_in_sys_param_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5 -$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; } - if test $gl_cv_minmax_in_sys_param_h = yes; then - -$as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h - - fi - - - - - - gl_cv_c_multiarch=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_c_multiarch = yes; then - -$as_echo "#define AA_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - - - - GNULIB_GETADDRINFO=0; - HAVE_STRUCT_ADDRINFO=1; - HAVE_DECL_FREEADDRINFO=1; - HAVE_DECL_GAI_STRERROR=1; - HAVE_DECL_GETADDRINFO=1; - HAVE_DECL_GETNAMEINFO=1; - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 -$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } -if test "${gl_cv_func_malloc_posix+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_malloc_posix=yes -else - gl_cv_func_malloc_posix=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 -$as_echo "$gl_cv_func_malloc_posix" >&6; } - - - GNULIB_MALLOC_POSIX=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_CALLOC_POSIX=0; - GNULIB_ATOLL=0; - GNULIB_GETLOADAVG=0; - GNULIB_GETSUBOPT=0; - GNULIB_MKDTEMP=0; - GNULIB_MKSTEMP=0; - GNULIB_PUTENV=0; - GNULIB_RANDOM_R=0; - GNULIB_RPMATCH=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_UNSETENV=0; - HAVE_ATOLL=1; - HAVE_CALLOC_POSIX=1; - HAVE_GETSUBOPT=1; - HAVE_MALLOC_POSIX=1; - HAVE_MKDTEMP=1; - HAVE_REALLOC_POSIX=1; - HAVE_RANDOM_R=1; - HAVE_RPMATCH=1; - HAVE_SETENV=1; - HAVE_STRTOD=1; - HAVE_STRTOLL=1; - HAVE_STRTOULL=1; - HAVE_STRUCT_RANDOM_DATA=1; - HAVE_SYS_LOADAVG_H=0; - HAVE_UNSETENV=1; - HAVE_DECL_GETLOADAVG=1; - REPLACE_MKSTEMP=0; - REPLACE_PUTENV=0; - REPLACE_STRTOD=0; - VOID_UNSETENV=0; - -ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_snprintf" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF $ac_have_decl -_ACEOF - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - - - - GNULIB_SOCKET=0; - GNULIB_CONNECT=0; - GNULIB_ACCEPT=0; - GNULIB_BIND=0; - GNULIB_GETPEERNAME=0; - GNULIB_GETSOCKNAME=0; - GNULIB_GETSOCKOPT=0; - GNULIB_LISTEN=0; - GNULIB_RECV=0; - GNULIB_SEND=0; - GNULIB_RECVFROM=0; - GNULIB_SENDTO=0; - GNULIB_SETSOCKOPT=0; - GNULIB_SHUTDOWN=0; - HAVE_STRUCT_SOCKADDR_STORAGE=1; - HAVE_SA_FAMILY_T=1; - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF - -fi -done - - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' - fi - # We need to check for ws2tcpip.h now. - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_socket_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_sys_socket_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/socket.h#{ - s#.*"\(.*/sys/socket.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h - - - - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - - - - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_struct_sockaddr_storage" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_sa_family_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 -_ACEOF - - -fi - - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - #if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); - #endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - - if test $ac_cv_header_stdbool_h = yes; then - -$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if test "${ac_cv_type_long_long_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* Test preprocessor. */ - #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - error in preprocessor; - #endif - #if ! (18446744073709551615ULL <= -1ull) - error in preprocessor; - #endif - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; -int -main () -{ -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test "$cross_compiling" = yes; then : - ac_cv_type_long_long_int=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif -int -main () -{ -long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_type_long_long_int=yes -else - ac_cv_type_long_long_int=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -else - ac_cv_type_long_long_int=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 -$as_echo "$ac_cv_type_long_long_int" >&6; } - if test $ac_cv_type_long_long_int = yes; then - -$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 -$as_echo_n "checking for unsigned long long int... " >&6; } -if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* Test preprocessor. */ - #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - error in preprocessor; - #endif - #if ! (18446744073709551615ULL <= -1ull) - error in preprocessor; - #endif - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; -int -main () -{ -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_type_unsigned_long_long_int=yes -else - ac_cv_type_unsigned_long_long_int=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 -$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } - if test $ac_cv_type_unsigned_long_long_int = yes; then - -$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - - fi - - - - - - - - - - - HAVE_STRCASECMP=1; - HAVE_DECL_STRNCASECMP=1; - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if test "${ac_cv_c_restrict+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } -int -main () -{ -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } - - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_string_h='<'string.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_string_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_string_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/string.h#{ - s#.*"\(.*/string.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_string_h='<'string.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 -$as_echo "$gl_cv_next_string_h" >&6; } - fi - NEXT_STRING_H=$gl_cv_next_string_h - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_strings_h='<'strings.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_strings_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_strings_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/strings.h#{ - s#.*"\(.*/strings.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_strings_h='<'strings.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5 -$as_echo "$gl_cv_next_strings_h" >&6; } - fi - NEXT_STRINGS_H=$gl_cv_next_strings_h - - - - - - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - HAVE_LCHMOD=1; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - - - - - for ac_func in $ac_func_list -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif - -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no -else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - - - - - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_STRPTIME=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_time_h=yes -else - gl_cv_sys_struct_timespec_in_time_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_sys_time_h=yes -else - gl_cv_sys_struct_timespec_in_sys_time_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - fi - fi - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_time_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_time_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/time.h#{ - s#.*"\(.*/time.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_time_h='<'time.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 -$as_echo "$gl_cv_next_time_h" >&6; } - fi - NEXT_TIME_H=$gl_cv_next_time_h - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then - -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wint_t=yes -else - gt_cv_c_wint_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then - -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - - fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if test "${gl_cv_header_inttypes_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_inttypes_h=yes -else - gl_cv_header_inttypes_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if test "${gl_cv_header_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_h=yes -else - gl_cv_header_stdint_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF - - fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 -$as_echo_n "checking for intmax_t... " >&6; } -if test "${gt_cv_c_intmax_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif - -int -main () -{ -intmax_t x = -1; return !x; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_intmax_t=yes -else - gt_cv_c_intmax_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 -$as_echo "$gt_cv_c_intmax_t" >&6; } - if test $gt_cv_c_intmax_t = yes; then - -$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h - - else - - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - -cat >>confdefs.h <<_ACEOF -#define intmax_t $ac_type -_ACEOF - - fi - - - - - - - for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include -" -if test "x$ac_cv_have_decl__snprintf" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF $ac_have_decl -_ACEOF - - - - XGETTEXT_EXTRA_OPTIONS= - -ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF $ac_have_decl -_ACEOF - - - GNULIB_BTOWC=0; - GNULIB_WCTOB=0; - GNULIB_MBSINIT=0; - GNULIB_MBRTOWC=0; - GNULIB_MBRLEN=0; - GNULIB_MBSRTOWCS=0; - GNULIB_MBSNRTOWCS=0; - GNULIB_WCRTOMB=0; - GNULIB_WCSRTOMBS=0; - GNULIB_WCSNRTOMBS=0; - GNULIB_WCWIDTH=0; - HAVE_BTOWC=1; - HAVE_MBSINIT=1; - HAVE_MBRTOWC=1; - HAVE_MBRLEN=1; - HAVE_MBSRTOWCS=1; - HAVE_MBSNRTOWCS=1; - HAVE_WCRTOMB=1; - HAVE_WCSRTOMBS=1; - HAVE_WCSNRTOMBS=1; - HAVE_DECL_WCTOB=1; - HAVE_DECL_WCWIDTH=1; - REPLACE_MBSTATE_T=0; - REPLACE_BTOWC=0; - REPLACE_WCTOB=0; - REPLACE_MBSINIT=0; - REPLACE_MBRTOWC=0; - REPLACE_MBRLEN=0; - REPLACE_MBSRTOWCS=0; - REPLACE_MBSNRTOWCS=0; - REPLACE_WCRTOMB=0; - REPLACE_WCSRTOMBS=0; - REPLACE_WCSNRTOMBS=0; - REPLACE_WCWIDTH=0; - WCHAR_H=''; - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 -$as_echo_n "checking whether ungetc works on arbitrary bytes... " >&6; } -if test "${gl_cv_func_ungetc_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_func_ungetc_works='guessing no' -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include - -int -main () -{ -FILE *f; long l; - if (!(f = fopen ("conftest.tmp", "w+"))) return 1; - if (fputs ("abc", f) < 0) return 2; - rewind (f); - if (fgetc (f) != 'a') return 3; - if (fgetc (f) != 'b') return 4; - if (ungetc ('d', f) != 'd') return 5; - if (ftell (f) != 1) return 6; - if (fgetc (f) != 'd') return 7; - if (ftell (f) != 2) return 8; - if (fseek (f, 0, SEEK_CUR) != 0) return 9; - if (ftell (f) != 2) return 10; - if (fgetc (f) != 'c') return 11; - fclose (f); remove ("conftest.tmp"); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ungetc_works=yes -else - gl_cv_func_ungetc_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 -$as_echo "$gl_cv_func_ungetc_works" >&6; } - if test "$gl_cv_func_ungetc_works" != yes; then - -$as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h - - fi - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=true - - - - - - - - - - gl_source_base='gl' - - - - - - if test $ac_cv_func_alloca_works = no; then - : - fi - - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if test "${gl_cv_rpl_alloca+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - gl_cv_rpl_alloca=yes -else - gl_cv_rpl_alloca=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h - fi - - - - for ac_header in byteswap.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default" -if test "x$ac_cv_header_byteswap_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_BYTESWAP_H 1 -_ACEOF - - BYTESWAP_H='' - -else - - BYTESWAP_H='byteswap.h' - -fi - -done - - - - - - - - FLOAT_H= - case "$host_os" in - beos* | openbsd*) - FLOAT_H=float.h - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_float_h='<'float.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_float_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_float_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/float.h#{ - s#.*"\(.*/float.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_float_h='<'float.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 -$as_echo "$gl_cv_next_float_h" >&6; } - fi - NEXT_FLOAT_H=$gl_cv_next_float_h - - - - ;; - esac - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 -$as_echo_n "checking for fseeko... " >&6; } -if test "${gl_cv_func_fseeko+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -fseeko (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_fseeko=yes -else - gl_cv_func_fseeko=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 -$as_echo "$gl_cv_func_fseeko" >&6; } - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS fseeko.$ac_objext" - - - REPLACE_FSEEKO=1 - - elif test $gl_cv_var_stdin_large_offset = no; then - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS fseeko.$ac_objext" - - - REPLACE_FSEEKO=1 - - fi - - - - GNULIB_FSEEKO=1 - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __func__ is available" >&5 -$as_echo_n "checking whether __func__ is available... " >&6; } -if test "${gl_cv_var_func+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -const char *str = __func__; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_var_func=yes -else - gl_cv_var_func=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_func" >&5 -$as_echo "$gl_cv_var_func" >&6; } - if test "$gl_cv_var_func" != yes; then - -$as_echo "#define __func__ \"\"" >>confdefs.h - - fi - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5 -$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; } -if test "${gl_cv_ld_output_def+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_ld_output_def=yes -else - gl_cv_ld_output_def=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5 -$as_echo "$gl_cv_ld_output_def" >&6; } - if test "x$gl_cv_ld_output_def" = "xyes"; then - HAVE_LD_OUTPUT_DEF_TRUE= - HAVE_LD_OUTPUT_DEF_FALSE='#' -else - HAVE_LD_OUTPUT_DEF_TRUE='#' - HAVE_LD_OUTPUT_DEF_FALSE= -fi - - - - # Check whether --enable-ld-version-script was given. -if test "${enable_ld_version_script+set}" = set; then : - enableval=$enable_ld_version_script; have_ld_version_script=$enableval -fi - - if test -z "$have_ld_version_script"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5 -$as_echo_n "checking if LD -Wl,--version-script works... " >&6; } - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map <conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - have_ld_version_script=yes -else - have_ld_version_script=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.map - LDFLAGS="$save_LDFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5 -$as_echo "$have_ld_version_script" >&6; } - fi - if test "$have_ld_version_script" = "yes"; then - HAVE_LD_VERSION_SCRIPT_TRUE= - HAVE_LD_VERSION_SCRIPT_FALSE='#' -else - HAVE_LD_VERSION_SCRIPT_TRUE='#' - HAVE_LD_VERSION_SCRIPT_FALSE= -fi - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 -$as_echo_n "checking whether lseek detects pipes... " >&6; } -if test "${gl_cv_func_lseek_pipe+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test $cross_compiling = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include /* for off_t */ -#include /* for SEEK_CUR */ -#include -int main () -{ - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi -else - gl_cv_func_lseek_pipe=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_lseek_pipe=yes -else - gl_cv_func_lseek_pipe=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 -$as_echo "$gl_cv_func_lseek_pipe" >&6; } - if test $gl_cv_func_lseek_pipe = no; then - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS lseek.$ac_objext" - - - REPLACE_LSEEK=1 - -$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h - - - fi - - - - GNULIB_LSEEK=1 - - - - - - - - - - - - - - for ac_func in memmem -do : - ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem" -if test "x$ac_cv_func_memmem" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MEMMEM 1 -_ACEOF - -else - - lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - - if test $ac_cv_have_decl_memmem = no; then - HAVE_DECL_MEMMEM=0 - fi - : - - - - GNULIB_MEMMEM=1 - - - - - - - - - - - for ac_func in memmove -do : - ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove" -if test "x$ac_cv_func_memmove" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MEMMOVE 1 -_ACEOF - -else - - lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - if test $ac_cv_func_memmove = no; then - - : - - fi - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netdb_h='<'netdb.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_netdb_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/netdb.h#{ - s#.*"\(.*/netdb.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_netdb_h='<'netdb.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 -$as_echo "$gl_cv_next_netdb_h" >&6; } - fi - NEXT_NETDB_H=$gl_cv_next_netdb_h - - - - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - struct addrinfo a; - int b = EAI_OVERFLOW; - int c = AI_NUMERICSERV; - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - NETDB_H='' -else - NETDB_H='netdb.h' -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - HAVE_NETDB_H=1 - else - NETDB_H='netdb.h' - HAVE_NETDB_H=0 - fi - - - - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS read-file.$ac_objext" - - : - - - - if test $gl_cv_func_malloc_posix = yes; then - HAVE_REALLOC_POSIX=1 - -$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h - - else - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS realloc.$ac_objext" - - HAVE_REALLOC_POSIX=0 - fi - - - - - GNULIB_REALLOC_POSIX=1 - - - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF - -fi - -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 -$as_echo_n "checking for SIZE_MAX... " >&6; } - if test "${gl_cv_size_max+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - gl_cv_size_max= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Found it" >/dev/null 2>&1; then : - gl_cv_size_max=yes -fi -rm -f conftest* - - if test -z "$gl_cv_size_max"; then - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include -#include "; then : - -else - size_t_bits_minus_1= -fi - - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : - -else - fits_in_uint= -fi - - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - extern size_t foo; - extern unsigned long foo; - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - fits_in_uint=0 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 -$as_echo "$gl_cv_size_max" >&6; } - if test "$gl_cv_size_max" != yes; then - -cat >>confdefs.h <<_ACEOF -#define SIZE_MAX $gl_cv_size_max -_ACEOF - - fi - - - - gl_cv_func_snprintf_usable=no - for ac_func in snprintf -do : - ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SNPRINTF 1 -_ACEOF - -fi -done - - if test $ac_cv_func_snprintf = yes; then - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if test "${gl_cv_func_snprintf_size1+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - gl_cv_func_snprintf_size1="guessing yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_size1=yes -else - gl_cv_func_snprintf_size1=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } - - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_snprintf_usable = no; then - - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS snprintf.$ac_objext" - - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - : - - fi - - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 - fi - - - - GNULIB_SNPRINTF=1 - - - - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_func_wsastartup+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -# include -#endif -int -main () -{ - - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_wsastartup=yes -else - gl_cv_func_wsastartup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 -$as_echo "$gl_cv_func_wsastartup" >&6; } - if test "$gl_cv_func_wsastartup" = "yes"; then - -$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h - - LIBSOCKET='-lws2_32' - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${gl_cv_lib_socket+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - gl_cv_lib_socket= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lsocket" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnetwork" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnet" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - fi - LIBS="$gl_save_LIBS" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 -$as_echo "$gl_cv_lib_socket" >&6; } - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi - - - : - - - ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include - #if HAVE_SYS_SOCKET_H - # include - #elif HAVE_WS2TCPIP_H - # include - #endif -" -if test "x$ac_cv_type_socklen_t" = x""yes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 -$as_echo_n "checking for socklen_t equivalent... " >&6; } - if test "${gl_cv_socklen_t_equiv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - gl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t "unsigned int" "long int" "unsigned long int"; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - - int getpeername (int, $arg2 *, $t *); -int -main () -{ -$t len; - getpeername (0, 0, &len); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socklen_t_equiv="$t" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done - -fi - - if test "$gl_cv_socklen_t_equiv" = ""; then - as_fn_error "Cannot find a type to use in place of socklen_t" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 -$as_echo "$gl_cv_socklen_t_equiv" >&6; } - -cat >>confdefs.h <<_ACEOF -#define socklen_t $gl_cv_socklen_t_equiv -_ACEOF - -fi - - - - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - - - - - - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - - - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi - - - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - - - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_stdint_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdint.h#{ - s#.*"\(.*/stdint.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } - fi - NEXT_STDINT_H=$gl_cv_next_stdint_h - - - - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - - - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; - -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if test "$cross_compiling" = yes; then : - gl_cv_header_working_stdint_h=yes - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; - -int -main () -{ - - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return 1; - } - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_header_working_stdint_h=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } - fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - for ac_header in sys/inttypes.h sys/bitypes.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - - - - - - - if test $APPLE_UNIVERSAL_BUILD = 0; then - - - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include "; then : - -else - result=unknown -fi - - eval gl_cv_bitsizeof_${gltype}=\$result - -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - - fi - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include "; then : - -else - result=unknown -fi - - eval gl_cv_bitsizeof_${gltype}=\$result - -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - result=yes -else - result=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result - -fi -eval ac_res=\$gl_cv_type_${gltype}_signed - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 -_ACEOF - - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done - - - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - - - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - fi - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - - STDINT_H=stdint.h - fi - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdio_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_stdio_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdio.h#{ - s#.*"\(.*/stdio.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdio_h='<'stdio.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 -$as_echo "$gl_cv_next_stdio_h" >&6; } - fi - NEXT_STDIO_H=$gl_cv_next_stdio_h - - - - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdlib_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_stdlib_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdlib.h#{ - s#.*"\(.*/stdlib.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdlib_h='<'stdlib.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 -$as_echo "$gl_cv_next_stdlib_h" >&6; } - fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_h - - - - for ac_header in random.h -do : - ac_fn_c_check_header_compile "$LINENO" "random.h" "ac_cv_header_random_h" "$ac_includes_default -" -if test "x$ac_cv_header_random_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RANDOM_H 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_random_h = yes; then - HAVE_RANDOM_H=1 - else - HAVE_RANDOM_H=0 - fi - - ac_fn_c_check_type "$LINENO" "struct random_data" "ac_cv_type_struct_random_data" "#include - #if HAVE_RANDOM_H - # include - #endif - -" -if test "x$ac_cv_type_struct_random_data" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RANDOM_DATA 1 -_ACEOF - - -else - HAVE_STRUCT_RANDOM_DATA=0 -fi - - - - - - - - - - - - - - for ac_func in strcasecmp -do : - ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" -if test "x$ac_cv_func_strcasecmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRCASECMP 1 -_ACEOF - -else - - lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - if test $ac_cv_func_strcasecmp = no; then - HAVE_STRCASECMP=0 - - : - - fi - - - - - - - - - - - - for ac_func in strncasecmp -do : - ac_fn_c_check_func "$LINENO" "strncasecmp" "ac_cv_func_strncasecmp" -if test "x$ac_cv_func_strncasecmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRNCASECMP 1 -_ACEOF - -else - - lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - if test $ac_cv_func_strncasecmp = no; then - - : - - fi - ac_fn_c_check_decl "$LINENO" "strncasecmp" "ac_cv_have_decl_strncasecmp" "$ac_includes_default" -if test "x$ac_cv_have_decl_strncasecmp" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNCASECMP $ac_have_decl -_ACEOF - - if test $ac_cv_have_decl_strncasecmp = no; then - HAVE_DECL_STRNCASECMP=0 - fi - - - - - - - - - - - - - - - - - - - - - for ac_func in strverscmp -do : - ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp" -if test "x$ac_cv_func_strverscmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRVERSCMP 1 -_ACEOF - -else - - lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - if test $ac_cv_func_strverscmp = no; then - - : - - HAVE_STRVERSCMP=0 - fi - - - - GNULIB_STRVERSCMP=1 - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF - -fi -done - - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' - fi - # We need to check for ws2tcpip.h now. - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_socket_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_sys_socket_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/socket.h#{ - s#.*"\(.*/sys/socket.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h - - - - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - - - - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_struct_sockaddr_storage" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_sa_family_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 -_ACEOF - - -fi - - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - fi - - - - - - - - if test $ac_cv_func_lstat = yes; then - HAVE_LSTAT=1 - else - HAVE_LSTAT=0 - fi - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_stat_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_sys_stat_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/stat.h#{ - s#.*"\(.*/sys/stat.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -$as_echo "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h - - - - SYS_STAT_H='sys/stat.h' - - - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = x""yes; then : - -else - -$as_echo "#define nlink_t int" >>confdefs.h - -fi - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 -$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } -if test "${gl_cv_time_r_posix+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -/* We don't need to append 'restrict's to the argument types, - even though the POSIX signature has the 'restrict's, - since C99 says they can't affect type compatibility. */ - struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; - if (ptr) return 0; - /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ - *localtime_r (0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_time_r_posix=yes -else - gl_cv_time_r_posix=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 -$as_echo "$gl_cv_time_r_posix" >&6; } - if test $gl_cv_time_r_posix = yes; then - REPLACE_LOCALTIME_R=0 - else - REPLACE_LOCALTIME_R=1 - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS time_r.$ac_objext" - - - : - - fi - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_unistd_h='<'unistd.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_unistd_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_unistd_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/unistd.h#{ - s#.*"\(.*/unistd.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_unistd_h='<'unistd.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 -$as_echo "$gl_cv_next_unistd_h" >&6; } - fi - NEXT_UNISTD_H=$gl_cv_next_unistd_h - - - - - - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi - - - - - if test $ac_cv_func_vasnprintf = no; then - - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS vasnprintf.$ac_objext" - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS printf-args.$ac_objext" - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS printf-parse.$ac_objext" - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS asnprintf.$ac_objext" - - if test $ac_cv_func_vasnprintf = yes; then - -$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h - - fi - - - - - - - - - - - ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : - -else - -$as_echo "#define ptrdiff_t long" >>confdefs.h - - -fi - - - - - - - - fi - - - for ac_func in vasprintf -do : - ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" -if test "x$ac_cv_func_vasprintf" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VASPRINTF 1 -_ACEOF - -fi -done - - if test $ac_cv_func_vasprintf = no; then - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS vasprintf.$ac_objext" - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS asprintf.$ac_objext" - - - if test $ac_cv_func_vasprintf = yes; then - REPLACE_VASPRINTF=1 - else - HAVE_VASPRINTF=0 - fi - - - - - - - - - fi - - - - GNULIB_VASPRINTF=1 - - - - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" - - - - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" - - - - gl_cv_func_vsnprintf_usable=no - for ac_func in vsnprintf -do : - ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" -if test "x$ac_cv_func_vsnprintf" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSNPRINTF 1 -_ACEOF - -fi -done - - if test $ac_cv_func_vsnprintf = yes; then - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if test "${gl_cv_func_snprintf_size1+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - gl_cv_func_snprintf_size1="guessing yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_size1=yes -else - gl_cv_func_snprintf_size1=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } - - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_vsnprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_vsnprintf_usable = no; then - - - - - - - - - - - lgl_LIBOBJS="$lgl_LIBOBJS vsnprintf.$ac_objext" - - if test $ac_cv_func_vsnprintf = yes; then - REPLACE_VSNPRINTF=1 - fi - : - - fi - - if test $ac_cv_have_decl_vsnprintf = no; then - HAVE_DECL_VSNPRINTF=0 - fi - - - - GNULIB_VSNPRINTF=1 - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is standalone" >&5 -$as_echo_n "checking whether is standalone... " >&6; } -if test "${gl_cv_header_wchar_h_standalone+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -wchar_t w; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_wchar_h_standalone=yes -else - gl_cv_header_wchar_h_standalone=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_standalone" >&5 -$as_echo "$gl_cv_header_wchar_h_standalone" >&6; } - - - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - - - if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then - WCHAR_H=wchar.h - fi - - - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_wchar_h='<'wchar.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_wchar_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_wchar_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/wchar.h#{ - s#.*"\(.*/wchar.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_wchar_h='<'wchar.h'>' - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 -$as_echo "$gl_cv_next_wchar_h" >&6; } - fi - NEXT_WCHAR_H=$gl_cv_next_wchar_h - - - - - - - - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF - -fi - -done - - - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - gl_source_base='gl/tests' - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then - -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wint_t=yes -else - gt_cv_c_wint_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then - -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - - fi - - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF - -fi -done - - - - - - - - - LIBTESTS_LIBDEPS="$gltests_libdeps" - - - -LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBS" -LIBGNUTLS_CFLAGS="-I${includedir}" - - - -# Finish things from ../configure.ac. - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -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 - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&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_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -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 - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&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_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -_lt_caught_CXX_error=yes; } -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 - -else - _lt_caught_CXX_error=yes -fi - - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec_CXX='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - gnu*) - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5]* | *pgcpp\ [1-5]*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no - - GCC_CXX="$GXX" - LD_CXX="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_prog_compiler_pic_CXX" >&6; } - - - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:24087: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:24091: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:24186: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:24190: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:24238: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:24242: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - linux* | k*bsd*-gnu) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 -$as_echo "$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -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 "$use_cxx" != "no"; then - ENABLE_CXX_TRUE= - ENABLE_CXX_FALSE='#' -else - ENABLE_CXX_TRUE='#' - ENABLE_CXX_FALSE= -fi - - -ac_config_files="$ac_config_files Makefile gnutls.pc gl/Makefile gl/tests/Makefile includes/Makefile includes/gnutls/gnutls.h minitasn1/Makefile opencdk/Makefile openpgp/Makefile po/Makefile.in x509/Makefile" - -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, we kill variables containing newlines. -# 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. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - 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" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - 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}' - -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_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_MINITASN1_TRUE}" && test -z "${ENABLE_MINITASN1_FALSE}"; then - as_fn_error "conditional \"ENABLE_MINITASN1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_LZO_TRUE}" && test -z "${USE_LZO_FALSE}"; then - as_fn_error "conditional \"USE_LZO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPRFI_TRUE}" && test -z "${ENABLE_OPRFI_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPRFI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_SRP_TRUE}" && test -z "${ENABLE_SRP_FALSE}"; then - as_fn_error "conditional \"ENABLE_SRP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PSK_TRUE}" && test -z "${ENABLE_PSK_FALSE}"; then - as_fn_error "conditional \"ENABLE_PSK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_ANON_TRUE}" && test -z "${ENABLE_ANON_FALSE}"; then - as_fn_error "conditional \"ENABLE_ANON\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PKI_TRUE}" && test -z "${ENABLE_PKI_FALSE}"; then - as_fn_error "conditional \"ENABLE_PKI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPENPGP_TRUE}" && test -z "${ENABLE_OPENPGP_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPENPGP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then - as_fn_error "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then - as_fn_error "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - - lgl_libobjs= - lgl_ltlibobjs= - if test -n "$lgl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - lgl_libobjs="$lgl_libobjs $i.$ac_objext" - lgl_ltlibobjs="$lgl_ltlibobjs $i.lo" - done - fi - lgl_LIBOBJS=$lgl_libobjs - - lgl_LTLIBOBJS=$lgl_ltlibobjs - - - - lgltests_libobjs= - lgltests_ltlibobjs= - if test -n "$lgltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - lgltests_libobjs="$lgltests_libobjs $i.$ac_objext" - lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo" - done - fi - lgltests_LIBOBJS=$lgltests_libobjs - - lgltests_LTLIBOBJS=$lgltests_ltlibobjs - - -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_CXX_TRUE}" && test -z "${ENABLE_CXX_FALSE}"; then - as_fn_error "conditional \"ENABLE_CXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $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} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 -IFS=$as_save_IFS - - ;; -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 - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; 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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# 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 - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval 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="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libgnutls $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - 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_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -libgnutls config.status 2.8.6 -configured by $0, generated by GNU Autoconf 2.65, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2009 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -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 - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - 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 || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' -predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' -predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' -postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_ld_CXX \ -hardcode_libdir_separator_CXX \ -fix_srcfile_path_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - - -# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "gnutls.pc") CONFIG_FILES="$CONFIG_FILES gnutls.pc" ;; - "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;; - "gl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gl/tests/Makefile" ;; - "includes/Makefile") CONFIG_FILES="$CONFIG_FILES includes/Makefile" ;; - "includes/gnutls/gnutls.h") CONFIG_FILES="$CONFIG_FILES includes/gnutls/gnutls.h" ;; - "minitasn1/Makefile") CONFIG_FILES="$CONFIG_FILES minitasn1/Makefile" ;; - "opencdk/Makefile") CONFIG_FILES="$CONFIG_FILES opencdk/Makefile" ;; - "openpgp/Makefile") CONFIG_FILES="$CONFIG_FILES openpgp/Makefile" ;; - "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - "x509/Makefile") CONFIG_FILES="$CONFIG_FILES x509/Makefile" ;; - - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - 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 against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# 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 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #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. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # 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. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;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&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_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 - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="CXX " - -# ### BEGIN LIBTOOL CONFIG - -# Assembler program. -AS=$AS - -# DLL creation program. -DLLTOOL=$DLLTOOL - -# Object dumper program. -OBJDUMP=$OBJDUMP - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} - -_LT_EOF - ;; - esac - - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - "po-directories":C) - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; 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 - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# 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 || as_fn_exit $? -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff -Nru gnutls26-2.8.6/lib/configure.ac gnutls26-2.4.1/lib/configure.ac --- gnutls26-2.8.6/lib/configure.ac 2009-11-02 12:08:07.000000000 +0000 +++ gnutls26-2.4.1/lib/configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. -# -# Author: Nikos Mavrogiannopoulos, Simon Josefsson -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -AC_PREREQ(2.61) -AC_INIT([libgnutls], [2.8.6], [bug-gnutls@gnu.org]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) - -AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override]) -AM_CONFIG_HEADER(config.h) - -AC_PROG_CC -lgl_EARLY - -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL - -LIBGNUTLS_HOOKS - -AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.17]) - -AC_C_BIGENDIAN - -# For includes/gnutls/gnutls.h.in. -AC_SUBST(MAJOR_VERSION, `echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'`) -AC_SUBST(MINOR_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'`) -AC_SUBST(PATCH_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'`) -AC_SUBST(NUMBER_VERSION, `printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION`) -AC_CHECK_TYPE(ssize_t, - [ - DEFINE_SSIZE_T="#include " - AC_SUBST(DEFINE_SSIZE_T) - ], [ - AC_DEFINE(NO_SSIZE_T, 1, [no ssize_t type was found]) - DEFINE_SSIZE_T="typedef int ssize_t;" - AC_SUBST(DEFINE_SSIZE_T) - ], [ - #include - ]) - -# For minitasn1. -AC_CHECK_SIZEOF(unsigned long int, 4) -AC_CHECK_SIZEOF(unsigned int, 4) - -AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib], - [disable zlib compression support]), - ac_zlib=$withval, ac_zlib=yes) -AC_MSG_CHECKING([whether to include zlib compression support]) -if test x$ac_zlib != xno; then - AC_MSG_RESULT(yes) - AC_LIB_HAVE_LINKFLAGS(z,, [#include ], [compress (0, 0, 0, 0);]) - if test "$ac_cv_libz" != yes; then - AC_MSG_WARN( -*** -*** ZLIB was not found. You will not be able to use ZLIB compression.) - fi -else - AC_MSG_RESULT(no) -fi - -lgl_INIT - -LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBS" -LIBGNUTLS_CFLAGS="-I${includedir}" -AC_SUBST(LIBGNUTLS_LIBS) -AC_SUBST(LIBGNUTLS_CFLAGS) - -# Finish things from ../configure.ac. -AC_SUBST([WARN_CFLAGS]) -AC_SUBST([WERROR_CFLAGS]) -AC_PROG_CXX -AM_CONDITIONAL(ENABLE_CXX, test "$use_cxx" != "no") - -AC_CONFIG_FILES([ - Makefile - gnutls.pc - gl/Makefile - gl/tests/Makefile - includes/Makefile - includes/gnutls/gnutls.h - minitasn1/Makefile - opencdk/Makefile - openpgp/Makefile - po/Makefile.in - x509/Makefile -]) -AC_OUTPUT diff -Nru gnutls26-2.8.6/lib/COPYING gnutls26-2.4.1/lib/COPYING --- gnutls26-2.8.6/lib/COPYING 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/COPYING 1970-01-01 01:00:00.000000000 +0100 @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -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 and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, 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 library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete 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 distribute a copy of this License along with the -Library. - - 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 Library or any portion -of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -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 Library, 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 Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you 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. - - If distribution of 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 satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be 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. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library 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. - - 9. 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 Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -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 with -this License. - - 11. 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 Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library 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 Library. - -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. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library 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. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser 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 Library -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 Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -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 - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "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 -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. 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 LIBRARY 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 -LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), 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 Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. 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 library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff -Nru gnutls26-2.8.6/lib/crypto.c gnutls26-2.4.1/lib/crypto.c --- gnutls26-2.8.6/lib/crypto.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/crypto.c 2008-06-30 21:45:51.000000000 +0100 @@ -26,63 +26,51 @@ #include #include #include -#include -#include -#include -#include -typedef struct algo_list -{ +typedef struct algo_list { int algorithm; int priority; - void *alg_data; - struct algo_list *next; + void* alg_data; + struct algo_list* next; } algo_list; #define cipher_list algo_list #define mac_list algo_list #define digest_list algo_list +#define rnd_list algo_list -static int -_algo_register (algo_list * al, int algorithm, int priority, void *s) +static int _algo_register( algo_list* al, int algorithm, int priority, void* s) { - algo_list *cl; - algo_list *last_cl = al; +algo_list* cl; +algo_list* last_cl = al; /* look if there is any cipher with lowest priority. In that case do not add. */ cl = al; - while (cl && cl->alg_data) - { - if (cl->algorithm == algorithm) - { - if (cl->priority < priority) - { - gnutls_assert (); - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; - } - else - { - /* the current has higher priority -> overwrite */ - cl->algorithm = algorithm; - cl->priority = priority; - cl->alg_data = s; - return 0; - } - } - cl = cl->next; - if (cl) - last_cl = cl; - } - - cl = gnutls_malloc (sizeof (cipher_list)); - - if (cl == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - + while( cl && cl->alg_data) { + if (cl->algorithm == algorithm) { + if (cl->priority < priority) { + gnutls_assert(); + return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; + } else { + /* the current has higher priority -> overwrite */ + cl->algorithm = algorithm; + cl->priority = priority; + cl->alg_data = s; + return 0; + } + } + cl = cl->next; + if (cl) last_cl = cl; + } + + cl = gnutls_malloc(sizeof(cipher_list)); + + if (cl == NULL) { + gnutls_assert(); + return GNUTLS_E_MEMORY_ERROR; + } + cl->algorithm = algorithm; cl->priority = priority; cl->alg_data = s; @@ -93,428 +81,155 @@ } -static void * -_get_algo (algo_list * al, int algo) +static void *_get_algo( algo_list* al, int algo) { - cipher_list *cl; +cipher_list* cl; /* look if there is any cipher with lowest priority. In that case do not add. */ cl = al->next; - while (cl && cl->alg_data) - { - if (cl->algorithm == algo) - { - return cl->alg_data; - } - cl = cl->next; - } - + while( cl && cl->alg_data) { + if (cl->algorithm == algo) { + return cl->alg_data; + } + cl = cl->next; + } + return NULL; } static cipher_list glob_cl = { GNUTLS_CIPHER_NULL, 0, NULL, NULL }; static mac_list glob_ml = { GNUTLS_MAC_NULL, 0, NULL, NULL }; static digest_list glob_dl = { GNUTLS_MAC_NULL, 0, NULL, NULL }; +static rnd_list glob_rnd = { 0, 0, NULL, NULL }; -static void -_deregister (algo_list * cl) +static void _deregister(algo_list* cl) { - algo_list *next; +algo_list* next; next = cl->next; cl->next = NULL; cl = next; - while (cl) + while( cl) { next = cl->next; - gnutls_free (cl); + gnutls_free(cl); cl = next; } } -void -_gnutls_crypto_deregister (void) +void _gnutls_crypto_deregister(void) { - _deregister (&glob_cl); - _deregister (&glob_ml); - _deregister (&glob_dl); + _deregister( &glob_cl); + _deregister( &glob_ml); + _deregister( &glob_dl); + _deregister( &glob_rnd); } /** - * gnutls_crypto_single_cipher_register2 - register a cipher algorithm - * @algorithm: is the gnutls algorithm identifier - * @priority: is the priority of the algorithm - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new cipher's data - * - * This function will register a cipher algorithm to be used by - * gnutls. Any algorithm registered will override the included - * algorithms and by convention kernel implemented algorithms have - * priority of 90. The algorithm with the lowest priority will be - * used by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_single_cipher_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_single_cipher_register2 (gnutls_cipher_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_cipher_st * s) + * gnutls_crypto_cipher_register - register a cipher algorithm + * @algorithm: is the gnutls algorithm identifier + * @priority: is the priority of the algorithm + * @s: is a structure holding new cipher's data + * + * This function will register a cipher algorithm to be used + * by gnutls. Any algorithm registered will override + * the included algorithms and by convention kernel implemented + * algorithms have priority of 90. The algorithm with the lowest + * priority will be used by gnutls. + * + * This function should be called before gnutls_global_init(). + * + * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. + * + **/ +int gnutls_crypto_cipher_register( gnutls_cipher_algorithm_t algorithm, int priority, gnutls_crypto_cipher_st* s) { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - return _algo_register (&glob_cl, algorithm, priority, s); + return _algo_register( &glob_cl, algorithm, priority, s); } -gnutls_crypto_single_cipher_st * -_gnutls_get_crypto_cipher (gnutls_cipher_algorithm_t algo) +gnutls_crypto_cipher_st *_gnutls_get_crypto_cipher( gnutls_cipher_algorithm_t algo) { - return _get_algo (&glob_cl, algo); + return _get_algo( &glob_cl, algo); } /** - * gnutls_crypto_rnd_register2 - register a random generator - * @priority: is the priority of the generator - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new generator's data - * - * This function will register a random generator to be used by - * gnutls. Any generator registered will override the included - * generator and by convention kernel implemented generators have - * priority of 90. The generator with the lowest priority will be - * used by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_rnd_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_rnd_register2 (int priority, int version, - gnutls_crypto_rnd_st * s) + * gnutls_crypto_rnd_register - register a random generator + * @priority: is the priority of the generator + * @s: is a structure holding new generator's data + * + * This function will register a random generator to be used + * by gnutls. Any generator registered will override + * the included generator and by convention kernel implemented + * generators have priority of 90. The generator with the lowest + * priority will be used by gnutls. + * + * This function should be called before gnutls_global_init(). + * + * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. + * + **/ +int gnutls_crypto_rnd_register( int priority, gnutls_crypto_rnd_st* s) { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_rnd_prio > priority) - { - memcpy (&_gnutls_rnd_ops, s, sizeof (*s)); - crypto_rnd_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; + return _algo_register( &glob_rnd, 1, priority, s); } -/** - * gnutls_crypto_single_mac_register2 - register a MAC algorithm - * @algorithm: is the gnutls algorithm identifier - * @priority: is the priority of the algorithm - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new algorithms's data - * - * This function will register a MAC algorithm to be used by gnutls. - * Any algorithm registered will override the included algorithms and - * by convention kernel implemented algorithms have priority of 90. - * The algorithm with the lowest priority will be used by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_single_mac_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_mac_st * s) +gnutls_crypto_rnd_st *_gnutls_get_crypto_rnd() { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - return _algo_register (&glob_ml, algorithm, priority, s); -} - -gnutls_crypto_single_mac_st * -_gnutls_get_crypto_mac (gnutls_mac_algorithm_t algo) -{ - return _get_algo (&glob_ml, algo); + return _get_algo( &glob_rnd, 1); } /** - * gnutls_crypto_single_digest_register2 - register a digest algorithm - * @algorithm: is the gnutls algorithm identifier - * @priority: is the priority of the algorithm - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new algorithms's data - * - * This function will register a digest (hash) algorithm to be used by - * gnutls. Any algorithm registered will override the included - * algorithms and by convention kernel implemented algorithms have - * priority of 90. The algorithm with the lowest priority will be - * used by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_single_digest_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_single_digest_register2 (gnutls_digest_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_digest_st * s) + * gnutls_crypto_mac_register - register a MAC algorithm + * @algorithm: is the gnutls algorithm identifier + * @priority: is the priority of the algorithm + * @s: is a structure holding new algorithms's data + * + * This function will register a MAC algorithm to be used + * by gnutls. Any algorithm registered will override + * the included algorithms and by convention kernel implemented + * algorithms have priority of 90. The algorithm with the lowest + * priority will be used by gnutls. + * + * This function should be called before gnutls_global_init(). + * + * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. + * + **/ +int gnutls_crypto_mac_register( gnutls_mac_algorithm_t algorithm, int priority, gnutls_crypto_mac_st* s) { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - return _algo_register (&glob_dl, algorithm, priority, s); + return _algo_register( &glob_ml, algorithm, priority, s); } -gnutls_crypto_single_digest_st * -_gnutls_get_crypto_digest (gnutls_digest_algorithm_t algo) +gnutls_crypto_mac_st *_gnutls_get_crypto_mac( gnutls_mac_algorithm_t algo) { - return _get_algo (&glob_dl, algo); + return _get_algo( &glob_ml, algo); } /** - * gnutls_crypto_bigint_register2 - register a bigint interface - * @priority: is the priority of the interface - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new interface's data - * - * This function will register an interface for gnutls to operate - * on big integers. Any interface registered will override - * the included interface. The interface with the lowest - * priority will be used by gnutls. - * - * Note that the bigint interface must interoperate with the public - * key interface. Thus if this interface is updated the - * gnutls_crypto_pk_register() should also be used. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience gnutls_crypto_bigint_register() - * macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_bigint_register2 (int priority, int version, - gnutls_crypto_bigint_st * s) + * gnutls_crypto_digest_register - register a digest algorithm + * @algorithm: is the gnutls algorithm identifier + * @priority: is the priority of the algorithm + * @s: is a structure holding new algorithms's data + * + * This function will register a digest (hash) algorithm to be used + * by gnutls. Any algorithm registered will override + * the included algorithms and by convention kernel implemented + * algorithms have priority of 90. The algorithm with the lowest + * priority will be used by gnutls. + * + * This function should be called before gnutls_global_init(). + * + * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. + * + **/ +int gnutls_crypto_digest_register( gnutls_digest_algorithm_t algorithm, int priority, gnutls_crypto_digest_st* s) { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_bigint_prio > priority) - { - memcpy (&_gnutls_mpi_ops, s, sizeof (*s)); - crypto_bigint_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; + return _algo_register( &glob_dl, algorithm, priority, s); } -/** - * gnutls_crypto_pk_register2 - register a public key interface - * @priority: is the priority of the interface - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new interface's data - * - * This function will register an interface for gnutls to operate - * on public key operations. Any interface registered will override - * the included interface. The interface with the lowest - * priority will be used by gnutls. - * - * Note that the bigint interface must interoperate with the bigint - * interface. Thus if this interface is updated the - * gnutls_crypto_bigint_register() should also be used. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience gnutls_crypto_pk_register() - * macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_pk_register2 (int priority, int version, - gnutls_crypto_pk_st * s) +gnutls_crypto_digest_st *_gnutls_get_crypto_digest( gnutls_digest_algorithm_t algo) { - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_pk_prio > priority) - { - memcpy (&_gnutls_pk_ops, s, sizeof (*s)); - crypto_pk_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; -} - -/** - * gnutls_crypto_cipher_register2 - register a cipher interface - * @priority: is the priority of the cipher interface - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new interface's data - * - * This function will register a cipher interface to be used by - * gnutls. Any interface registered will override the included engine - * and by convention kernel implemented interfaces should have - * priority of 90. The interface with the lowest priority will be used - * by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_cipher_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_cipher_register2 (int priority, int version, - gnutls_crypto_cipher_st * s) -{ - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_cipher_prio > priority) - { - memcpy (&_gnutls_cipher_ops, s, sizeof (*s)); - crypto_cipher_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; -} - -/** - * gnutls_crypto_mac_register2 - register a mac interface - * @priority: is the priority of the mac interface - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new interface's data - * - * This function will register a mac interface to be used by - * gnutls. Any interface registered will override the included engine - * and by convention kernel implemented interfaces should have - * priority of 90. The interface with the lowest priority will be used - * by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_mac_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_mac_register2 (int priority, int version, - gnutls_crypto_mac_st * s) -{ - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_mac_prio > priority) - { - memcpy (&_gnutls_mac_ops, s, sizeof (*s)); - crypto_mac_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; -} - -/** - * gnutls_crypto_digest_register2 - register a digest interface - * @priority: is the priority of the digest interface - * @version: should be set to %GNUTLS_CRYPTO_API_VERSION - * @s: is a structure holding new interface's data - * - * This function will register a digest interface to be used by - * gnutls. Any interface registered will override the included engine - * and by convention kernel implemented interfaces should have - * priority of 90. The interface with the lowest priority will be used - * by gnutls. - * - * This function should be called before gnutls_global_init(). - * - * For simplicity you can use the convenience - * gnutls_crypto_digest_register() macro. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_crypto_digest_register2 (int priority, int version, - gnutls_crypto_digest_st * s) -{ - if (version != GNUTLS_CRYPTO_API_VERSION) - { - gnutls_assert (); - return GNUTLS_E_UNIMPLEMENTED_FEATURE; - } - - if (crypto_digest_prio > priority) - { - memcpy (&_gnutls_digest_ops, s, sizeof (*s)); - crypto_digest_prio = priority; - return 0; - } - - return GNUTLS_E_CRYPTO_ALREADY_REGISTERED; + return _get_algo( &glob_dl, algo); } diff -Nru gnutls26-2.8.6/lib/crypto.h gnutls26-2.4.1/lib/crypto.h --- gnutls26-2.8.6/lib/crypto.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/crypto.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,33 +1,5 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -#ifndef CRYPTO_H -# define CRYPTO_H - -gnutls_crypto_single_cipher_st *_gnutls_get_crypto_cipher( gnutls_cipher_algorithm_t algo); -gnutls_crypto_single_digest_st *_gnutls_get_crypto_digest( gnutls_digest_algorithm_t algo); -gnutls_crypto_single_mac_st *_gnutls_get_crypto_mac( gnutls_mac_algorithm_t algo); +gnutls_crypto_cipher_st *_gnutls_get_crypto_cipher( gnutls_cipher_algorithm_t algo); +gnutls_crypto_digest_st *_gnutls_get_crypto_digest( gnutls_digest_algorithm_t algo); +gnutls_crypto_mac_st *_gnutls_get_crypto_mac( gnutls_mac_algorithm_t algo); +gnutls_crypto_rnd_st *_gnutls_get_crypto_rnd( void ); void _gnutls_crypto_deregister(void); - -#endif /* CRYPTO_H */ diff -Nru gnutls26-2.8.6/lib/debug.c gnutls26-2.4.1/lib/debug.c --- gnutls26-2.8.6/lib/debug.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/debug.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -26,7 +26,7 @@ #include "gnutls_errors.h" #include #include -#include "debug.h" +#include #ifdef DEBUG @@ -117,15 +117,12 @@ } void -_gnutls_dump_mpi (const char *prefix, bigint_t a) +_gnutls_dump_mpi (const char *prefix, mpi_t a) { - opaque mpi_buf[1024]; opaque buf[1024]; size_t n = sizeof buf; - if (_gnutls_mpi_print (a, mpi_buf, &n) < 0) + if (gcry_mpi_print (GCRYMPI_FMT_HEX, buf, n, &n, a)) strcpy (buf, "[can't print value]"); /* Flawfinder: ignore */ - else - _gnutls_bin2hex (mpi_buf, n, buf, sizeof (buf)); - _gnutls_hard_log ("MPI: length: %d\n\t%s%s\n", n, prefix, buf); + _gnutls_hard_log ("MPI: length: %d\n\t%s%s\n", (n - 1) / 2, prefix, buf); } diff -Nru gnutls26-2.8.6/lib/debug.h gnutls26-2.4.1/lib/debug.h --- gnutls26-2.8.6/lib/debug.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/debug.h 2008-06-30 21:45:51.000000000 +0100 @@ -27,4 +27,4 @@ #endif const char *_gnutls_packet2str (content_type_t packet); const char *_gnutls_handshake2str (gnutls_handshake_description_t handshake); -void _gnutls_dump_mpi (const char *prefix, bigint_t a); +void _gnutls_dump_mpi (const char *prefix, mpi_t a); diff -Nru gnutls26-2.8.6/lib/defines.h gnutls26-2.4.1/lib/defines.h --- gnutls26-2.8.6/lib/defines.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/defines.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#ifndef DEFINES_H +# define DEFINES_H + +#if HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef NO_SSIZE_T +# define HAVE_SSIZE_T +typedef int ssize_t; +#endif + +#include +#include +#include +#include +#include + +/* some systems had problems with long long int, thus, + * it is not used. + */ +typedef struct +{ + unsigned char i[8]; +} uint64; + +#endif /* defines_h */ diff -Nru gnutls26-2.8.6/lib/ext_cert_type.c gnutls26-2.4.1/lib/ext_cert_type.c --- gnutls26-2.8.6/lib/ext_cert_type.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_cert_type.c 2008-06-19 11:00:10.000000000 +0100 @@ -177,9 +177,9 @@ for (i = 0; i < len; i++) { - data[i + 1] = - _gnutls_cert_type2num (session->internals. - priorities.cert_type.priority[i]); + data[i + 1] = _gnutls_cert_type2num (session->internals. + priorities.cert_type. + priority[i]); } return len + 1; } diff -Nru gnutls26-2.8.6/lib/ext_inner_application.c gnutls26-2.4.1/lib/ext_inner_application.c --- gnutls26-2.8.6/lib/ext_inner_application.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_inner_application.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2005, 2006 Free Software Foundation + * + * Author: Simon Josefsson + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA + * + */ + +#include "gnutls_int.h" +#include "gnutls_auth_int.h" +#include "gnutls_errors.h" +#include "gnutls_num.h" +#include "ext_inner_application.h" + +#define NO 0 +#define YES 1 + +int +_gnutls_inner_application_recv_params (gnutls_session_t session, + const opaque * data, size_t data_size) +{ + tls_ext_st *ext = &session->security_parameters.extensions; + + if (data_size != 1) + { + gnutls_assert (); + return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; + } + + ext->gnutls_ia_peer_enable = 1; + ext->gnutls_ia_peer_allowskip = 0; + + switch ((unsigned char) *data) + { + case NO: /* Peer's ia_on_resume == no */ + ext->gnutls_ia_peer_allowskip = 1; + break; + + case YES: + break; + + default: + gnutls_assert (); + } + + return 0; +} + + +/* returns data_size or a negative number on failure + */ +int +_gnutls_inner_application_send_params (gnutls_session_t session, + opaque * data, size_t data_size) +{ + tls_ext_st *ext = &session->security_parameters.extensions; + + /* Set ext->gnutls_ia_enable depending on whether we have a TLS/IA + credential in the session. */ + + if (session->security_parameters.entity == GNUTLS_CLIENT) + { + gnutls_ia_client_credentials_t cred = (gnutls_ia_client_credentials_t) + _gnutls_get_cred (session->key, GNUTLS_CRD_IA, NULL); + + if (cred) + ext->gnutls_ia_enable = 1; + } + else + { + gnutls_ia_server_credentials_t cred = (gnutls_ia_server_credentials_t) + _gnutls_get_cred (session->key, GNUTLS_CRD_IA, NULL); + + if (cred) + ext->gnutls_ia_enable = 1; + } + + /* If we don't want gnutls_ia locally, or we are a server and the + * client doesn't want it, don't advertise TLS/IA support at all, as + * required. */ + + if (!ext->gnutls_ia_enable) + return 0; + + if (session->security_parameters.entity == GNUTLS_SERVER && + !ext->gnutls_ia_peer_enable) + return 0; + + /* We'll advertise. Check if there's room in the hello buffer. */ + + if (data_size < 1) + { + gnutls_assert (); + return GNUTLS_E_SHORT_MEMORY_BUFFER; + } + + /* default: require new application phase */ + + *data = YES; + + if (session->security_parameters.entity == GNUTLS_CLIENT) + { + + /* Client: value follows local setting */ + + if (ext->gnutls_ia_allowskip) + *data = NO; + } + else + { + + /* Server: value follows local setting and client's setting, but only + * if we are resuming. + * + * XXX Can server test for resumption at this stage? + * + * Ai! It seems that read_client_hello only calls parse_extensions if + * we're NOT resuming! That would make us automatically violate the IA + * draft; if we're resuming, we must first learn what the client wants + * -- IA or no IA -- and then prepare our response. Right now we'll + * always skip IA on resumption, because recv_ext isn't even called + * to record the peer's support for IA at all. Simon? */ + + if (ext->gnutls_ia_allowskip && + ext->gnutls_ia_peer_allowskip && + session->internals.resumed == RESUME_TRUE) + *data = NO; + } + + return 1; +} diff -Nru gnutls26-2.8.6/lib/ext_inner_application.h gnutls26-2.4.1/lib/ext_inner_application.h --- gnutls26-2.8.6/lib/ext_inner_application.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_inner_application.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2005 Free Software Foundation + * + * Author: Simon Josefsson + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +int _gnutls_inner_application_recv_params (gnutls_session_t session, + const opaque * data, + size_t data_size); +int _gnutls_inner_application_send_params (gnutls_session_t session, + opaque * data, size_t); diff -Nru gnutls26-2.8.6/lib/ext_max_record.c gnutls26-2.4.1/lib/ext_max_record.c --- gnutls26-2.8.6/lib/ext_max_record.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_max_record.c 2008-06-19 11:00:10.000000000 +0100 @@ -140,9 +140,9 @@ } data[0] = - (uint8_t) - _gnutls_mre_record2num - (session->security_parameters.max_record_recv_size); + (uint8_t) _gnutls_mre_record2num (session-> + security_parameters. + max_record_recv_size); return len; } diff -Nru gnutls26-2.8.6/lib/ext_oprfi.c gnutls26-2.4.1/lib/ext_oprfi.c --- gnutls26-2.8.6/lib/ext_oprfi.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_oprfi.c 2008-06-19 11:00:10.000000000 +0100 @@ -34,7 +34,8 @@ int oprfi_recv_server (gnutls_session_t session, - const opaque * data, size_t _data_size) + const opaque * data, + size_t _data_size) { ssize_t data_size = _data_size; uint16_t len; @@ -71,7 +72,8 @@ int oprfi_recv_client (gnutls_session_t session, - const opaque * data, size_t _data_size) + const opaque * data, + size_t _data_size) { ssize_t data_size = _data_size; uint16_t len; @@ -114,7 +116,8 @@ int _gnutls_oprfi_recv_params (gnutls_session_t session, - const opaque * data, size_t data_size) + const opaque * data, + size_t data_size) { if (session->security_parameters.entity == GNUTLS_CLIENT) return oprfi_recv_client (session, data, data_size); @@ -123,7 +126,9 @@ } int -oprfi_send_client (gnutls_session_t session, opaque * data, size_t _data_size) +oprfi_send_client (gnutls_session_t session, + opaque * data, + size_t _data_size) { opaque *p = data; ssize_t data_size = _data_size; @@ -144,7 +149,9 @@ } int -oprfi_send_server (gnutls_session_t session, opaque * data, size_t _data_size) +oprfi_send_server (gnutls_session_t session, + opaque * data, + size_t _data_size) { opaque *p = data; int ret; @@ -184,9 +191,8 @@ extensions.oprfi_server_len, p); p += 2; - DECR_LENGTH_RET (data_size, - session->security_parameters.extensions.oprfi_server_len, - GNUTLS_E_SHORT_MEMORY_BUFFER); + DECR_LENGTH_RET (data_size, session->security_parameters. + extensions.oprfi_server_len, GNUTLS_E_SHORT_MEMORY_BUFFER); memcpy (p, session->security_parameters.extensions.oprfi_server, session->security_parameters.extensions.oprfi_server_len); @@ -196,7 +202,8 @@ int _gnutls_oprfi_send_params (gnutls_session_t session, - opaque * data, size_t data_size) + opaque * data, + size_t data_size) { if (session->security_parameters.entity == GNUTLS_CLIENT) return oprfi_send_client (session, data, data_size); @@ -219,7 +226,8 @@ **/ void gnutls_oprfi_enable_client (gnutls_session_t session, - size_t len, unsigned char *data) + size_t len, + unsigned char *data) { session->security_parameters.extensions.oprfi_client_len = len; session->security_parameters.extensions.oprfi_client = data; @@ -247,7 +255,8 @@ **/ void gnutls_oprfi_enable_server (gnutls_session_t session, - gnutls_oprfi_callback_func cb, void *userdata) + gnutls_oprfi_callback_func cb, + void *userdata) { session->security_parameters.extensions.oprfi_cb = cb; session->security_parameters.extensions.oprfi_userdata = userdata; diff -Nru gnutls26-2.8.6/lib/ext_server_name.c gnutls26-2.4.1/lib/ext_server_name.c --- gnutls26-2.8.6/lib/ext_server_name.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_server_name.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -23,18 +23,18 @@ */ #include "gnutls_int.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include "gnutls_num.h" #include -/* - * In case of a server: if a NAME_DNS extension type is received then - * it stores into the session the value of NAME_DNS. The server may - * use gnutls_ext_get_server_name(), in order to access it. +/* + * In case of a server: if a NAME_DNS extension type is received then it stores + * into the session the value of NAME_DNS. The server may use gnutls_ext_get_server_name(), + * in order to access it. * - * In case of a client: If a proper NAME_DNS extension type is found - * in the session then it sends the extension to the peer. + * In case of a client: If a proper NAME_DNS extension type is found in the session then + * it sends the extension to the peer. * */ @@ -82,7 +82,7 @@ } else _gnutls_handshake_log - ("HSK[%p]: Received zero size server name (under attack?)\n", + ("HSK[%x]: Received zero size server name (under attack?)\n", session); } @@ -92,7 +92,7 @@ if (server_names > MAX_SERVER_NAME_EXTENSIONS) { _gnutls_handshake_log - ("HSK[%p]: Too many server names received (under attack?)\n", + ("HSK[%x]: Too many server names received (under attack?)\n", session); server_names = MAX_SERVER_NAME_EXTENSIONS; } @@ -146,7 +146,7 @@ ssize_t data_size = _data_size; int total_size = 0; - /* this function sends the client extension data (dnsname) + /* this function sends the client extension data (dnsname) */ if (session->security_parameters.entity == GNUTLS_CLIENT) { @@ -154,26 +154,26 @@ if (session->security_parameters.extensions.server_names_size == 0) return 0; - /* uint16_t + /* uint16_t */ total_size = 2; for (i = 0; i < session->security_parameters.extensions.server_names_size; i++) { - /* count the total size + /* count the total size */ len = session->security_parameters.extensions.server_names[i]. name_length; - /* uint8_t + uint16_t + size + /* uint8_t + uint16_t + size */ total_size += 1 + 2 + len; } p = data; - /* UINT16: write total size of all names + /* UINT16: write total size of all names */ DECR_LENGTH_RET (data_size, 2, GNUTLS_E_SHORT_MEMORY_BUFFER); _gnutls_write_uint16 (total_size - 2, p); @@ -223,33 +223,28 @@ } /** - * gnutls_server_name_get - Used to get the server name indicator send by a client - * @session: is a #gnutls_session_t structure. - * @data: will hold the data - * @data_length: will hold the data length. Must hold the maximum size of data. - * @type: will hold the server name indicator type - * @indx: is the index of the server_name - * - * This function will allow you to get the name indication (if any), a - * client has sent. The name indication may be any of the enumeration - * gnutls_server_name_type_t. - * - * If @type is GNUTLS_NAME_DNS, then this function is to be used by - * servers that support virtual hosting, and the data will be a null - * terminated UTF-8 string. - * - * If @data has not enough size to hold the server name - * GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and @data_length will - * hold the required size. - * - * @index is used to retrieve more than one server names (if sent by - * the client). The first server name has an index of 0, the second 1 - * and so on. If no name with the given index exists - * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_server_name_get - Used to get the server name indicator send by a client + * @session: is a #gnutls_session_t structure. + * @data: will hold the data + * @data_length: will hold the data length. Must hold the maximum size of data. + * @type: will hold the server name indicator type + * @indx: is the index of the server_name + * + * This function will allow you to get the name indication (if any), + * a client has sent. The name indication may be any of the enumeration + * gnutls_server_name_type_t. + * + * If @type is GNUTLS_NAME_DNS, then this function is to be used by servers + * that support virtual hosting, and the data will be a null terminated UTF-8 string. + * + * If @data has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER + * is returned, and @data_length will hold the required size. + * + * @index is used to retrieve more than one server names (if sent by the client). + * The first server name has an index of 0, the second 1 and so on. If no name with the given + * index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. + * + **/ int gnutls_server_name_get (gnutls_session_t session, void *data, size_t * data_length, @@ -277,8 +272,8 @@ session->security_parameters.extensions.server_names[indx]. name_length; memcpy (data, - session->security_parameters.extensions.server_names[indx].name, - *data_length); + session->security_parameters.extensions.server_names[indx]. + name, *data_length); if (*type == GNUTLS_NAME_DNS) /* null terminate */ _data[(*data_length)] = 0; @@ -296,25 +291,22 @@ } /** - * gnutls_server_name_set - set a name indicator to be sent as an extension - * @session: is a #gnutls_session_t structure. - * @type: specifies the indicator type - * @name: is a string that contains the server name. - * @name_length: holds the length of name - * - * This function is to be used by clients that want to inform (via a - * TLS extension mechanism) the server of the name they connected to. - * This should be used by clients that connect to servers that do - * virtual hosting. - * - * The value of @name depends on the @ind type. In case of - * GNUTLS_NAME_DNS, an ASCII or UTF-8 null terminated string, without - * the trailing dot, is expected. IPv4 or IPv6 addresses are not - * permitted. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_server_name_set - Used to set a name indicator to be sent as an extension + * @session: is a #gnutls_session_t structure. + * @type: specifies the indicator type + * @name: is a string that contains the server name. + * @name_length: holds the length of name + * + * This function is to be used by clients that want to inform + * (via a TLS extension mechanism) the server of the name they + * connected to. This should be used by clients that connect + * to servers that do virtual hosting. + * + * The value of @name depends on the @ind type. In case of GNUTLS_NAME_DNS, + * an ASCII or UTF-8 null terminated string, without the trailing dot, is expected. + * IPv4 or IPv6 addresses are not permitted. + * + **/ int gnutls_server_name_set (gnutls_session_t session, gnutls_server_name_type_t type, @@ -331,17 +323,19 @@ if (name_length > MAX_SERVER_NAME_SIZE) return GNUTLS_E_SHORT_MEMORY_BUFFER; - server_names = session->security_parameters.extensions.server_names_size + 1; + server_names = + session->security_parameters.extensions.server_names_size + 1; if (server_names > MAX_SERVER_NAME_EXTENSIONS) server_names = MAX_SERVER_NAME_EXTENSIONS; - session->security_parameters.extensions.server_names - [server_names - 1].type = type; + session->security_parameters.extensions.server_names[server_names - + 1].type = type; memcpy (session->security_parameters.extensions. server_names[server_names - 1].name, name, name_length); - session->security_parameters.extensions.server_names - [server_names - 1].name_length = name_length; + session->security_parameters.extensions.server_names[server_names - + 1].name_length = + name_length; session->security_parameters.extensions.server_names_size++; diff -Nru gnutls26-2.8.6/lib/ext_srp.c gnutls26-2.4.1/lib/ext_srp.c --- gnutls26-2.8.6/lib/ext_srp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/ext_srp.c 2008-06-19 11:00:10.000000000 +0100 @@ -27,7 +27,7 @@ #ifdef ENABLE_SRP -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "auth_srp.h" #include "gnutls_errors.h" #include "gnutls_algorithms.h" @@ -111,8 +111,8 @@ if (cred->get_function (session, &username, &password) < 0 || username == NULL || password == NULL) { - gnutls_assert (); - return GNUTLS_E_ILLEGAL_SRP_USERNAME; + gnutls_assert (); + return GNUTLS_E_ILLEGAL_SRP_USERNAME; } len = MIN (strlen (username), 255); diff -Nru gnutls26-2.8.6/lib/gl/alignof.h gnutls26-2.4.1/lib/gl/alignof.h --- gnutls26-2.8.6/lib/gl/alignof.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/alignof.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -/* Determine alignment of types. - Copyright (C) 2003-2004, 2006, 2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _ALIGNOF_H -#define _ALIGNOF_H - -#include - -/* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ -# define alignof __alignof__ -#elif defined __cplusplus - template struct alignof_helper { char __slot1; type __slot2; }; -# define alignof(type) offsetof (alignof_helper, __slot2) -#else -# define alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) -#endif - -#endif /* _ALIGNOF_H */ diff -Nru gnutls26-2.8.6/lib/gl/alloca.in.h gnutls26-2.4.1/lib/gl/alloca.in.h --- gnutls26-2.8.6/lib/gl/alloca.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/alloca.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -/* Memory allocation on the stack. - - Copyright (C) 1995, 1999, 2001-2004, 2006-2008 Free Software - Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 2.1, 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 Lesser General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H - means there is a real alloca function. */ -#ifndef _GL_ALLOCA_H -#define _GL_ALLOCA_H - -/* alloca (N) returns a pointer to N bytes of memory - allocated on the stack, which will last until the function returns. - Use of alloca should be avoided: - - inside arguments of function calls - undefined behaviour, - - in inline functions - the allocation may actually last until the - calling function returns, - - for huge N (say, N >= 65536) - you never know how large (or small) - the stack is, and when the stack cannot fulfill the memory allocation - request, the program just crashes. - */ - -#ifndef alloca -# ifdef __GNUC__ -# define alloca __builtin_alloca -# elif defined _AIX -# define alloca __alloca -# elif defined _MSC_VER -# include -# define alloca _alloca -# elif defined __DECC && defined __VMS -# define alloca __ALLOCA -# else -# include -# ifdef __cplusplus -extern "C" -# endif -void *alloca (size_t); -# endif -#endif - -#endif /* _GL_ALLOCA_H */ diff -Nru gnutls26-2.8.6/lib/gl/asnprintf.c gnutls26-2.4.1/lib/gl/asnprintf.c --- gnutls26-2.8.6/lib/gl/asnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/asnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999, 2002, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include "vasnprintf.h" - -#include - -char * -asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) -{ - va_list args; - char *result; - - va_start (args, format); - result = vasnprintf (resultbuf, lengthp, format, args); - va_end (args); - return result; -} diff -Nru gnutls26-2.8.6/lib/gl/asprintf.c gnutls26-2.4.1/lib/gl/asprintf.c --- gnutls26-2.8.6/lib/gl/asprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/asprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,39 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#ifdef IN_LIBASPRINTF -# include "vasprintf.h" -#else -# include -#endif - -#include - -int -asprintf (char **resultp, const char *format, ...) -{ - va_list args; - int result; - - va_start (args, format); - result = vasprintf (resultp, format, args); - va_end (args); - return result; -} diff -Nru gnutls26-2.8.6/lib/gl/byteswap.in.h gnutls26-2.4.1/lib/gl/byteswap.in.h --- gnutls26-2.8.6/lib/gl/byteswap.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/byteswap.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -/* byteswap.h - Byte swapping - Copyright (C) 2005, 2007 Free Software Foundation, Inc. - Written by Oskar Liljeblad , 2005. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#ifndef _GL_BYTESWAP_H -#define _GL_BYTESWAP_H - -/* Given an unsigned 16-bit argument X, return the value corresponding to - X with reversed byte order. */ -#define bswap_16(x) ((((x) & 0x00FF) << 8) | \ - (((x) & 0xFF00) >> 8)) - -/* Given an unsigned 32-bit argument X, return the value corresponding to - X with reversed byte order. */ -#define bswap_32(x) ((((x) & 0x000000FF) << 24) | \ - (((x) & 0x0000FF00) << 8) | \ - (((x) & 0x00FF0000) >> 8) | \ - (((x) & 0xFF000000) >> 24)) - -/* Given an unsigned 64-bit argument X, return the value corresponding to - X with reversed byte order. */ -#define bswap_64(x) ((((x) & 0x00000000000000FFULL) << 56) | \ - (((x) & 0x000000000000FF00ULL) << 40) | \ - (((x) & 0x0000000000FF0000ULL) << 24) | \ - (((x) & 0x00000000FF000000ULL) << 8) | \ - (((x) & 0x000000FF00000000ULL) >> 8) | \ - (((x) & 0x0000FF0000000000ULL) >> 24) | \ - (((x) & 0x00FF000000000000ULL) >> 40) | \ - (((x) & 0xFF00000000000000ULL) >> 56)) - -#endif /* _GL_BYTESWAP_H */ diff -Nru gnutls26-2.8.6/lib/gl/c-ctype.c gnutls26-2.4.1/lib/gl/c-ctype.c --- gnutls26-2.8.6/lib/gl/c-ctype.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/c-ctype.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,396 +0,0 @@ -/* Character handling in C locale. - - Copyright 2000-2003, 2006 Free Software Foundation, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#define NO_C_CTYPE_MACROS -#include "c-ctype.h" - -/* The function isascii is not locale dependent. Its use in EBCDIC is - questionable. */ -bool -c_isascii (int c) -{ - return (c >= 0x00 && c <= 0x7f); -} - -bool -c_isalnum (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')); -#else - return ((c >= '0' && c <= '9') - || (c >= 'A' && c <= 'Z') - || (c >= 'a' && c <= 'z')); -#endif -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isalpha (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'); -#else - return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); -#endif -#else - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isblank (int c) -{ - return (c == ' ' || c == '\t'); -} - -bool -c_iscntrl (int c) -{ -#if C_CTYPE_ASCII - return ((c & ~0x1f) == 0 || c == 0x7f); -#else - switch (c) - { - case ' ': case '!': case '"': case '#': case '$': case '%': - case '&': case '\'': case '(': case ')': case '*': case '+': - case ',': case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 0; - default: - return 1; - } -#endif -} - -bool -c_isdigit (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS - return (c >= '0' && c <= '9'); -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - return 1; - default: - return 0; - } -#endif -} - -bool -c_islower (int c) -{ -#if C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'a' && c <= 'z'); -#else - switch (c) - { - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isgraph (int c) -{ -#if C_CTYPE_ASCII - return (c >= '!' && c <= '~'); -#else - switch (c) - { - case '!': case '"': case '#': case '$': case '%': case '&': - case '\'': case '(': case ')': case '*': case '+': case ',': - case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isprint (int c) -{ -#if C_CTYPE_ASCII - return (c >= ' ' && c <= '~'); -#else - switch (c) - { - case ' ': case '!': case '"': case '#': case '$': case '%': - case '&': case '\'': case '(': case ')': case '*': case '+': - case ',': case '-': case '.': case '/': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case '[': case '\\': case ']': case '^': case '_': case '`': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_ispunct (int c) -{ -#if C_CTYPE_ASCII - return ((c >= '!' && c <= '~') - && !((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'))); -#else - switch (c) - { - case '!': case '"': case '#': case '$': case '%': case '&': - case '\'': case '(': case ')': case '*': case '+': case ',': - case '-': case '.': case '/': - case ':': case ';': case '<': case '=': case '>': case '?': - case '@': - case '[': case '\\': case ']': case '^': case '_': case '`': - case '{': case '|': case '}': case '~': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isspace (int c) -{ - return (c == ' ' || c == '\t' - || c == '\n' || c == '\v' || c == '\f' || c == '\r'); -} - -bool -c_isupper (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE - return (c >= 'A' && c <= 'Z'); -#else - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - return 1; - default: - return 0; - } -#endif -} - -bool -c_isxdigit (int c) -{ -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII - return ((c >= '0' && c <= '9') - || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F')); -#else - return ((c >= '0' && c <= '9') - || (c >= 'A' && c <= 'F') - || (c >= 'a' && c <= 'f')); -#endif -#else - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - return 1; - default: - return 0; - } -#endif -} - -int -c_tolower (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c); -#else - switch (c) - { - case 'A': return 'a'; - case 'B': return 'b'; - case 'C': return 'c'; - case 'D': return 'd'; - case 'E': return 'e'; - case 'F': return 'f'; - case 'G': return 'g'; - case 'H': return 'h'; - case 'I': return 'i'; - case 'J': return 'j'; - case 'K': return 'k'; - case 'L': return 'l'; - case 'M': return 'm'; - case 'N': return 'n'; - case 'O': return 'o'; - case 'P': return 'p'; - case 'Q': return 'q'; - case 'R': return 'r'; - case 'S': return 's'; - case 'T': return 't'; - case 'U': return 'u'; - case 'V': return 'v'; - case 'W': return 'w'; - case 'X': return 'x'; - case 'Y': return 'y'; - case 'Z': return 'z'; - default: return c; - } -#endif -} - -int -c_toupper (int c) -{ -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE - return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); -#else - switch (c) - { - case 'a': return 'A'; - case 'b': return 'B'; - case 'c': return 'C'; - case 'd': return 'D'; - case 'e': return 'E'; - case 'f': return 'F'; - case 'g': return 'G'; - case 'h': return 'H'; - case 'i': return 'I'; - case 'j': return 'J'; - case 'k': return 'K'; - case 'l': return 'L'; - case 'm': return 'M'; - case 'n': return 'N'; - case 'o': return 'O'; - case 'p': return 'P'; - case 'q': return 'Q'; - case 'r': return 'R'; - case 's': return 'S'; - case 't': return 'T'; - case 'u': return 'U'; - case 'v': return 'V'; - case 'w': return 'W'; - case 'x': return 'X'; - case 'y': return 'Y'; - case 'z': return 'Z'; - default: return c; - } -#endif -} diff -Nru gnutls26-2.8.6/lib/gl/c-ctype.h gnutls26-2.4.1/lib/gl/c-ctype.h --- gnutls26-2.8.6/lib/gl/c-ctype.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/c-ctype.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,295 +0,0 @@ -/* Character handling in C locale. - - These functions work like the corresponding functions in , - except that they have the C (POSIX) locale hardwired, whereas the - functions' behaviour depends on the current locale set via - setlocale. - - Copyright (C) 2000-2003, 2006, 2008 Free Software Foundation, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef C_CTYPE_H -#define C_CTYPE_H - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* The functions defined in this file assume the "C" locale and a character - set without diacritics (ASCII-US or EBCDIC-US or something like that). - Even if the "C" locale on a particular system is an extension of the ASCII - character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it - is ISO-8859-1), the functions in this file recognize only the ASCII - characters. */ - - -/* Check whether the ASCII optimizations apply. */ - -/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that - '0', '1', ..., '9' have consecutive integer values. */ -#define C_CTYPE_CONSECUTIVE_DIGITS 1 - -#if ('A' <= 'Z') \ - && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \ - && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \ - && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \ - && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \ - && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \ - && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \ - && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \ - && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \ - && ('Y' + 1 == 'Z') -#define C_CTYPE_CONSECUTIVE_UPPERCASE 1 -#endif - -#if ('a' <= 'z') \ - && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \ - && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \ - && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \ - && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \ - && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \ - && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \ - && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \ - && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \ - && ('y' + 1 == 'z') -#define C_CTYPE_CONSECUTIVE_LOWERCASE 1 -#endif - -#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) -/* The character set is ASCII or one of its variants or extensions, not EBCDIC. - Testing the value of '\n' and '\r' is not relevant. */ -#define C_CTYPE_ASCII 1 -#endif - - -/* Function declarations. */ - -/* Unlike the functions in , which require an argument in the range - of the 'unsigned char' type, the functions here operate on values that are - in the 'unsigned char' range or in the 'char' range. In other words, - when you have a 'char' value, you need to cast it before using it as - argument to a function: - - const char *s = ...; - if (isalpha ((unsigned char) *s)) ... - - but you don't need to cast it for the functions defined in this file: - - const char *s = ...; - if (c_isalpha (*s)) ... - */ - -extern bool c_isascii (int c); /* not locale dependent */ - -extern bool c_isalnum (int c); -extern bool c_isalpha (int c); -extern bool c_isblank (int c); -extern bool c_iscntrl (int c); -extern bool c_isdigit (int c); -extern bool c_islower (int c); -extern bool c_isgraph (int c); -extern bool c_isprint (int c); -extern bool c_ispunct (int c); -extern bool c_isspace (int c); -extern bool c_isupper (int c); -extern bool c_isxdigit (int c); - -extern int c_tolower (int c); -extern int c_toupper (int c); - - -#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS - -/* ASCII optimizations. */ - -#undef c_isascii -#define c_isascii(c) \ - ({ int __c = (c); \ - (__c >= 0x00 && __c <= 0x7f); \ - }) - -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isalnum -#define c_isalnum(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \ - }) -#else -#undef c_isalnum -#define c_isalnum(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || (__c >= 'A' && __c <= 'Z') \ - || (__c >= 'a' && __c <= 'z')); \ - }) -#endif -#endif - -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isalpha -#define c_isalpha(c) \ - ({ int __c = (c); \ - ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \ - }) -#else -#undef c_isalpha -#define c_isalpha(c) \ - ({ int __c = (c); \ - ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \ - }) -#endif -#endif - -#undef c_isblank -#define c_isblank(c) \ - ({ int __c = (c); \ - (__c == ' ' || __c == '\t'); \ - }) - -#if C_CTYPE_ASCII -#undef c_iscntrl -#define c_iscntrl(c) \ - ({ int __c = (c); \ - ((__c & ~0x1f) == 0 || __c == 0x7f); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_DIGITS -#undef c_isdigit -#define c_isdigit(c) \ - ({ int __c = (c); \ - (__c >= '0' && __c <= '9'); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_LOWERCASE -#undef c_islower -#define c_islower(c) \ - ({ int __c = (c); \ - (__c >= 'a' && __c <= 'z'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_isgraph -#define c_isgraph(c) \ - ({ int __c = (c); \ - (__c >= '!' && __c <= '~'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_isprint -#define c_isprint(c) \ - ({ int __c = (c); \ - (__c >= ' ' && __c <= '~'); \ - }) -#endif - -#if C_CTYPE_ASCII -#undef c_ispunct -#define c_ispunct(c) \ - ({ int _c = (c); \ - (c_isgraph (_c) && ! c_isalnum (_c)); \ - }) -#endif - -#undef c_isspace -#define c_isspace(c) \ - ({ int __c = (c); \ - (__c == ' ' || __c == '\t' \ - || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \ - }) - -#if C_CTYPE_CONSECUTIVE_UPPERCASE -#undef c_isupper -#define c_isupper(c) \ - ({ int __c = (c); \ - (__c >= 'A' && __c <= 'Z'); \ - }) -#endif - -#if C_CTYPE_CONSECUTIVE_DIGITS \ - && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#if C_CTYPE_ASCII -#undef c_isxdigit -#define c_isxdigit(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \ - }) -#else -#undef c_isxdigit -#define c_isxdigit(c) \ - ({ int __c = (c); \ - ((__c >= '0' && __c <= '9') \ - || (__c >= 'A' && __c <= 'F') \ - || (__c >= 'a' && __c <= 'f')); \ - }) -#endif -#endif - -#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE -#undef c_tolower -#define c_tolower(c) \ - ({ int __c = (c); \ - (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \ - }) -#undef c_toupper -#define c_toupper(c) \ - ({ int __c = (c); \ - (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \ - }) -#endif - -#endif /* optimizing for speed */ - - -#ifdef __cplusplus -} -#endif - -#endif /* C_CTYPE_H */ diff -Nru gnutls26-2.8.6/lib/gl/close-hook.c gnutls26-2.4.1/lib/gl/close-hook.c --- gnutls26-2.8.6/lib/gl/close-hook.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/close-hook.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,91 +0,0 @@ -/* Hook for making the close() function extensible. - Copyright (C) 2009 Free Software Foundation, Inc. - Written by Bruno Haible , 2009. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#include - -/* Specification. */ -#include "close-hook.h" - -#include -#include - -#undef close - - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - -/* The first and last link in the doubly linked list. - Initially the list is empty. */ -static struct close_hook anchor = { &anchor, &anchor, NULL }; - -int -execute_close_hooks (int fd, const struct close_hook *remaining_list) -{ - if (remaining_list == &anchor) - /* End of list reached. */ - return close (fd); - else - return remaining_list->private_fn (fd, remaining_list->private_next); -} - -int -execute_all_close_hooks (int fd) -{ - return execute_close_hooks (fd, anchor.private_next); -} - -void -register_close_hook (close_hook_fn hook, struct close_hook *link) -{ - if (link->private_next == NULL && link->private_prev == NULL) - { - /* Add the link to the doubly linked list. */ - link->private_next = anchor.private_next; - link->private_prev = &anchor; - link->private_fn = hook; - anchor.private_next->private_prev = link; - anchor.private_next = link; - } - else - { - /* The link is already in use. */ - if (link->private_fn != hook) - abort (); - } -} - -void -unregister_close_hook (struct close_hook *link) -{ - struct close_hook *next = link->private_next; - struct close_hook *prev = link->private_prev; - - if (next != NULL && prev != NULL) - { - /* The link is in use. Remove it from the doubly linked list. */ - prev->private_next = next; - next->private_prev = prev; - /* Clear the link, to mark it unused. */ - link->private_next = NULL; - link->private_prev = NULL; - link->private_fn = NULL; - } -} - -#endif diff -Nru gnutls26-2.8.6/lib/gl/close-hook.h gnutls26-2.4.1/lib/gl/close-hook.h --- gnutls26-2.8.6/lib/gl/close-hook.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/close-hook.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Hook for making the close() function extensible. - Copyright (C) 2009 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - - -#ifndef CLOSE_HOOK_H -#define CLOSE_HOOK_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - - -/* An element of the list of close hooks. - The fields of this structure are considered private. */ -struct close_hook -{ - /* Doubly linked list. */ - struct close_hook *private_next; - struct close_hook *private_prev; - /* Function that treats the types of FD that it knows about and calls - execute_close_hooks (FD, REMAINING_LIST) as a fallback. */ - int (*private_fn) (int fd, const struct close_hook *remaining_list); -}; - -/* This type of function closes FD, applying special knowledge for the FD - types it knows about, and calls execute_close_hooks (FD, REMAINING_LIST) - for the other FD types. */ -typedef int (*close_hook_fn) (int fd, const struct close_hook *remaining_list); - -/* Execute the close hooks in REMAINING_LIST. - Return 0 or -1, like close() would do. */ -extern int execute_close_hooks (int fd, const struct close_hook *remaining_list); - -/* Execute all close hooks. - Return 0 or -1, like close() would do. */ -extern int execute_all_close_hooks (int fd); - -/* Add a function to the list of close hooks. - The LINK variable points to a piece of memory which is guaranteed to be - accessible until the corresponding call to unregister_close_hook. */ -extern void register_close_hook (close_hook_fn hook, struct close_hook *link); - -/* Removes a function from the list of close hooks. */ -extern void unregister_close_hook (struct close_hook *link); - - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* CLOSE_HOOK_H */ diff -Nru gnutls26-2.8.6/lib/gl/errno.in.h gnutls26-2.4.1/lib/gl/errno.in.h --- gnutls26-2.8.6/lib/gl/errno.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/errno.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,155 +0,0 @@ -/* A POSIX-like . - - Copyright (C) 2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_ERRNO_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_ERRNO_H@ - -#ifndef _GL_ERRNO_H -#define _GL_ERRNO_H - - -/* On native Windows platforms, many macros are not defined. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ -# define EWOULDBLOCK EAGAIN - -/* Values >= 100 seem safe to use. */ -# define ETXTBSY 100 -# define GNULIB_defined_ETXTBSY 1 - -/* These are intentionally the same values as the WSA* error numbers, defined - in . */ -# define EINPROGRESS 10036 -# define EALREADY 10037 -# define ENOTSOCK 10038 -# define EDESTADDRREQ 10039 -# define EMSGSIZE 10040 -# define EPROTOTYPE 10041 -# define ENOPROTOOPT 10042 -# define EPROTONOSUPPORT 10043 -# define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ -# define EOPNOTSUPP 10045 -# define EPFNOSUPPORT 10046 /* not required by POSIX */ -# define EAFNOSUPPORT 10047 -# define EADDRINUSE 10048 -# define EADDRNOTAVAIL 10049 -# define ENETDOWN 10050 -# define ENETUNREACH 10051 -# define ENETRESET 10052 -# define ECONNABORTED 10053 -# define ECONNRESET 10054 -# define ENOBUFS 10055 -# define EISCONN 10056 -# define ENOTCONN 10057 -# define ESHUTDOWN 10058 /* not required by POSIX */ -# define ETOOMANYREFS 10059 /* not required by POSIX */ -# define ETIMEDOUT 10060 -# define ECONNREFUSED 10061 -# define ELOOP 10062 -# define EHOSTDOWN 10064 /* not required by POSIX */ -# define EHOSTUNREACH 10065 -# define EPROCLIM 10067 /* not required by POSIX */ -# define EUSERS 10068 /* not required by POSIX */ -# define EDQUOT 10069 -# define ESTALE 10070 -# define EREMOTE 10071 /* not required by POSIX */ -# define GNULIB_defined_ESOCK 1 - -# endif - - -/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros - EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ -# if @EMULTIHOP_HIDDEN@ -# define EMULTIHOP @EMULTIHOP_VALUE@ -# define GNULIB_defined_EMULTIHOP 1 -# endif -# if @ENOLINK_HIDDEN@ -# define ENOLINK @ENOLINK_VALUE@ -# define GNULIB_defined_ENOLINK 1 -# endif -# if @EOVERFLOW_HIDDEN@ -# define EOVERFLOW @EOVERFLOW_VALUE@ -# define GNULIB_defined_EOVERFLOW 1 -# endif - - -/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, - EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. - Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, - HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. - - Note: When one of these systems defines some of these macros some day, - binaries will have to be recompiled so that they recognizes the new - errno values from the system. */ - -# ifndef ENOMSG -# define ENOMSG 2000 -# define GNULIB_defined_ENOMSG 1 -# endif - -# ifndef EIDRM -# define EIDRM 2001 -# define GNULIB_defined_EIDRM 1 -# endif - -# ifndef ENOLINK -# define ENOLINK 2002 -# define GNULIB_defined_ENOLINK 1 -# endif - -# ifndef EPROTO -# define EPROTO 2003 -# define GNULIB_defined_EPROTO 1 -# endif - -# ifndef EMULTIHOP -# define EMULTIHOP 2004 -# define GNULIB_defined_EMULTIHOP 1 -# endif - -# ifndef EBADMSG -# define EBADMSG 2005 -# define GNULIB_defined_EBADMSG 1 -# endif - -# ifndef EOVERFLOW -# define EOVERFLOW 2006 -# define GNULIB_defined_EOVERFLOW 1 -# endif - -# ifndef ENOTSUP -# define ENOTSUP 2007 -# define GNULIB_defined_ENOTSUP 1 -# endif - -# ifndef ECANCELED -# define ECANCELED 2008 -# define GNULIB_defined_ECANCELED 1 -# endif - - -#endif /* _GL_ERRNO_H */ -#endif /* _GL_ERRNO_H */ diff -Nru gnutls26-2.8.6/lib/gl/float+.h gnutls26-2.4.1/lib/gl/float+.h --- gnutls26-2.8.6/lib/gl/float+.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/float+.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,148 +0,0 @@ -/* Supplemental information about the floating-point formats. - Copyright (C) 2007 Free Software Foundation, Inc. - Written by Bruno Haible , 2007. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _FLOATPLUS_H -#define _FLOATPLUS_H - -#include -#include - -/* Number of bits in the mantissa of a floating-point number, including the - "hidden bit". */ -#if FLT_RADIX == 2 -# define FLT_MANT_BIT FLT_MANT_DIG -# define DBL_MANT_BIT DBL_MANT_DIG -# define LDBL_MANT_BIT LDBL_MANT_DIG -#elif FLT_RADIX == 4 -# define FLT_MANT_BIT (FLT_MANT_DIG * 2) -# define DBL_MANT_BIT (DBL_MANT_DIG * 2) -# define LDBL_MANT_BIT (LDBL_MANT_DIG * 2) -#elif FLT_RADIX == 16 -# define FLT_MANT_BIT (FLT_MANT_DIG * 4) -# define DBL_MANT_BIT (DBL_MANT_DIG * 4) -# define LDBL_MANT_BIT (LDBL_MANT_DIG * 4) -#endif - -/* Bit mask that can be used to mask the exponent, as an unsigned number. */ -#define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7) -#define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) -#define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7) - -/* Number of bits used for the exponent of a floating-point number, including - the exponent's sign. */ -#define FLT_EXP_BIT \ - (FLT_EXP_MASK < 0x100 ? 8 : \ - FLT_EXP_MASK < 0x200 ? 9 : \ - FLT_EXP_MASK < 0x400 ? 10 : \ - FLT_EXP_MASK < 0x800 ? 11 : \ - FLT_EXP_MASK < 0x1000 ? 12 : \ - FLT_EXP_MASK < 0x2000 ? 13 : \ - FLT_EXP_MASK < 0x4000 ? 14 : \ - FLT_EXP_MASK < 0x8000 ? 15 : \ - FLT_EXP_MASK < 0x10000 ? 16 : \ - FLT_EXP_MASK < 0x20000 ? 17 : \ - FLT_EXP_MASK < 0x40000 ? 18 : \ - FLT_EXP_MASK < 0x80000 ? 19 : \ - FLT_EXP_MASK < 0x100000 ? 20 : \ - FLT_EXP_MASK < 0x200000 ? 21 : \ - FLT_EXP_MASK < 0x400000 ? 22 : \ - FLT_EXP_MASK < 0x800000 ? 23 : \ - FLT_EXP_MASK < 0x1000000 ? 24 : \ - FLT_EXP_MASK < 0x2000000 ? 25 : \ - FLT_EXP_MASK < 0x4000000 ? 26 : \ - FLT_EXP_MASK < 0x8000000 ? 27 : \ - FLT_EXP_MASK < 0x10000000 ? 28 : \ - FLT_EXP_MASK < 0x20000000 ? 29 : \ - FLT_EXP_MASK < 0x40000000 ? 30 : \ - FLT_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) -#define DBL_EXP_BIT \ - (DBL_EXP_MASK < 0x100 ? 8 : \ - DBL_EXP_MASK < 0x200 ? 9 : \ - DBL_EXP_MASK < 0x400 ? 10 : \ - DBL_EXP_MASK < 0x800 ? 11 : \ - DBL_EXP_MASK < 0x1000 ? 12 : \ - DBL_EXP_MASK < 0x2000 ? 13 : \ - DBL_EXP_MASK < 0x4000 ? 14 : \ - DBL_EXP_MASK < 0x8000 ? 15 : \ - DBL_EXP_MASK < 0x10000 ? 16 : \ - DBL_EXP_MASK < 0x20000 ? 17 : \ - DBL_EXP_MASK < 0x40000 ? 18 : \ - DBL_EXP_MASK < 0x80000 ? 19 : \ - DBL_EXP_MASK < 0x100000 ? 20 : \ - DBL_EXP_MASK < 0x200000 ? 21 : \ - DBL_EXP_MASK < 0x400000 ? 22 : \ - DBL_EXP_MASK < 0x800000 ? 23 : \ - DBL_EXP_MASK < 0x1000000 ? 24 : \ - DBL_EXP_MASK < 0x2000000 ? 25 : \ - DBL_EXP_MASK < 0x4000000 ? 26 : \ - DBL_EXP_MASK < 0x8000000 ? 27 : \ - DBL_EXP_MASK < 0x10000000 ? 28 : \ - DBL_EXP_MASK < 0x20000000 ? 29 : \ - DBL_EXP_MASK < 0x40000000 ? 30 : \ - DBL_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) -#define LDBL_EXP_BIT \ - (LDBL_EXP_MASK < 0x100 ? 8 : \ - LDBL_EXP_MASK < 0x200 ? 9 : \ - LDBL_EXP_MASK < 0x400 ? 10 : \ - LDBL_EXP_MASK < 0x800 ? 11 : \ - LDBL_EXP_MASK < 0x1000 ? 12 : \ - LDBL_EXP_MASK < 0x2000 ? 13 : \ - LDBL_EXP_MASK < 0x4000 ? 14 : \ - LDBL_EXP_MASK < 0x8000 ? 15 : \ - LDBL_EXP_MASK < 0x10000 ? 16 : \ - LDBL_EXP_MASK < 0x20000 ? 17 : \ - LDBL_EXP_MASK < 0x40000 ? 18 : \ - LDBL_EXP_MASK < 0x80000 ? 19 : \ - LDBL_EXP_MASK < 0x100000 ? 20 : \ - LDBL_EXP_MASK < 0x200000 ? 21 : \ - LDBL_EXP_MASK < 0x400000 ? 22 : \ - LDBL_EXP_MASK < 0x800000 ? 23 : \ - LDBL_EXP_MASK < 0x1000000 ? 24 : \ - LDBL_EXP_MASK < 0x2000000 ? 25 : \ - LDBL_EXP_MASK < 0x4000000 ? 26 : \ - LDBL_EXP_MASK < 0x8000000 ? 27 : \ - LDBL_EXP_MASK < 0x10000000 ? 28 : \ - LDBL_EXP_MASK < 0x20000000 ? 29 : \ - LDBL_EXP_MASK < 0x40000000 ? 30 : \ - LDBL_EXP_MASK <= 0x7fffffff ? 31 : \ - 32) - -/* Number of bits used for a floating-point number: the mantissa (not - counting the "hidden bit", since it may or may not be explicit), the - exponent, and the sign. */ -#define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1) -#define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1) -#define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1) - -/* Number of bytes used for a floating-point number. - This can be smaller than the 'sizeof'. For example, on i386 systems, - 'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence - LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but - sizeof (long double) = 12 or = 16. */ -#define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) -#define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) -#define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) - -/* Verify that SIZEOF_FLT <= sizeof (float) etc. */ -typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1]; -typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1]; -typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1]; - -#endif /* _FLOATPLUS_H */ diff -Nru gnutls26-2.8.6/lib/gl/float.in.h gnutls26-2.4.1/lib/gl/float.in.h --- gnutls26-2.8.6/lib/gl/float.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/float.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* A correct . - - Copyright (C) 2007-2008 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#ifndef _GL_FLOAT_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_FLOAT_H@ - -#ifndef _GL_FLOAT_H -#define _GL_FLOAT_H - -/* 'long double' properties. */ -#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) -/* Number of mantissa units, in base FLT_RADIX. */ -# undef LDBL_MANT_DIG -# define LDBL_MANT_DIG 64 -/* Number of decimal digits that is sufficient for representing a number. */ -# undef LDBL_DIG -# define LDBL_DIG 18 -/* x-1 where x is the smallest representable number > 1. */ -# undef LDBL_EPSILON -# define LDBL_EPSILON 1.0842021724855044340E-19L -/* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) -/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ -# undef LDBL_MAX_EXP -# define LDBL_MAX_EXP 16384 -/* Minimum positive normalized number. */ -# undef LDBL_MIN -# define LDBL_MIN 3.3621031431120935063E-4932L -/* Maximum representable finite number. */ -# undef LDBL_MAX -# define LDBL_MAX 1.1897314953572317650E+4932L -/* Minimum e such that 10^e is in the range of normalized numbers. */ -# undef LDBL_MIN_10_EXP -# define LDBL_MIN_10_EXP (-4931) -/* Maximum e such that 10^e is in the range of representable finite numbers. */ -# undef LDBL_MAX_10_EXP -# define LDBL_MAX_10_EXP 4932 -#endif - -#endif /* _GL_FLOAT_H */ -#endif /* _GL_FLOAT_H */ diff -Nru gnutls26-2.8.6/lib/gl/fseeko.c gnutls26-2.4.1/lib/gl/fseeko.c --- gnutls26-2.8.6/lib/gl/fseeko.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/fseeko.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,130 +0,0 @@ -/* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -/* Get off_t and lseek. */ -#include - -#include "stdio-impl.h" - -#undef fseeko -#if !HAVE_FSEEKO -# undef fseek -# define fseeko fseek -#endif - -int -rpl_fseeko (FILE *fp, off_t offset, int whence) -{ -#if LSEEK_PIPE_BROKEN - /* mingw gives bogus answers rather than failure on non-seekable files. */ - if (lseek (fileno (fp), 0, SEEK_CUR) == -1) - return EOF; -#endif - - /* These tests are based on fpurge.c. */ -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ -# if defined __SL64 && defined __SCLE /* Cygwin */ - if ((fp->_flags & __SL64) == 0) - { - /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit - mode; but has an fseeko that requires 64-bit mode. */ - FILE *tmp = fopen ("/dev/null", "r"); - if (!tmp) - return -1; - fp->_flags |= __SL64; - fp->_seek64 = tmp->_seek64; - fclose (tmp); - } -# endif - if (fp_->_p == fp_->_bf._base - && fp_->_r == 0 - && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ - ? fp_->_bf._size - : 0) - && fp_ub._base == NULL) -#elif defined __EMX__ /* emx+gcc */ - if (fp->_ptr == fp->_buffer - && fp->_rcount == 0 - && fp->_wcount == 0 - && fp->_ungetc_count == 0) -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ - if (fp_->_ptr == fp_->_base - && (fp_->_ptr == NULL || fp_->_cnt == 0)) -#elif defined __UCLIBC__ /* uClibc */ - if (((fp->__modeflags & __FLAG_WRITING) == 0 - || fp->__bufpos == fp->__bufstart) - && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 - || fp->__bufpos == fp->__bufread)) -#elif defined __QNX__ /* QNX */ - if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend) - && fp->_Rback == fp->_Back + sizeof (fp->_Back) - && fp->_Rsave == NULL) -#elif defined __MINT__ /* Atari FreeMiNT */ - if (fp->__bufp == fp->__buffer - && fp->__get_limit == fp->__bufp - && fp->__put_limit == fp->__bufp - && !fp->__pushed_back) -#else - #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." -#endif - { - /* We get here when an fflush() call immediately preceded this one. We - know there are no buffers. - POSIX requires us to modify the file descriptor's position. - But we cannot position beyond end of file here. */ - off_t pos = - lseek (fileno (fp), - whence == SEEK_END && offset > 0 ? 0 : offset, - whence); - if (pos == -1) - { -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_flags &= ~__SOFF; -#endif - return -1; - } - -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_offset = pos; - fp_->_flags |= __SOFF; - fp_->_flags &= ~__SEOF; -#elif defined __EMX__ /* emx+gcc */ - fp->_flags &= ~_IOEOF; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ - fp->_flag &= ~_IOEOF; -#elif defined __MINT__ /* Atari FreeMiNT */ - fp->__offset = pos; - fp->__eof = 0; -#endif - /* If we were not requested to position beyond end of file, we're - done. */ - if (!(whence == SEEK_END && offset > 0)) - return 0; - } - return fseeko (fp, offset, whence); -} diff -Nru gnutls26-2.8.6/lib/gl/gettext.h gnutls26-2.4.1/lib/gl/gettext.h --- gnutls26-2.8.6/lib/gl/gettext.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/gettext.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,174 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by - the gettext() and ngettext() macros. This is an alternative to calling - textdomain(), and is useful for libraries. */ -# ifdef DEFAULT_TEXT_DOMAIN -# undef gettext -# define gettext(Msgid) \ - dgettext (DEFAULT_TEXT_DOMAIN, Msgid) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) -# endif - -#else - -/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which - chokes if dcgettext is defined as a macro. So include it now, to make - later inclusions of a NOP. We don't include - as well because people using "gettext.h" will not include , - and also including would fail on SunOS 4, whereas - is OK. */ -#if defined(__sun) -# include -#endif - -/* Many header files from the libstdc++ coming with g++ 3.3 or newer include - , which chokes if dcgettext is defined as a macro. So include - it now, to make later inclusions of a NOP. */ -#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) -# include -# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H -# include -# endif -#endif - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to - contain "#define const". */ -# undef gettext -# define gettext(Msgid) ((const char *) (Msgid)) -# undef dgettext -# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) -# undef dcgettext -# define dcgettext(Domainname, Msgid, Category) \ - ((void) (Category), dgettext (Domainname, Msgid)) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 \ - ? ((void) (Msgid2), (const char *) (Msgid1)) \ - : ((void) (Msgid1), (const char *) (Msgid2))) -# undef dngettext -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) -# undef dcngettext -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) -# undef textdomain -# define textdomain(Domainname) ((const char *) (Domainname)) -# undef bindtextdomain -# define bindtextdomain(Domainname, Dirname) \ - ((void) (Domainname), (const char *) (Dirname)) -# undef bind_textdomain_codeset -# define bind_textdomain_codeset(Domainname, Codeset) \ - ((void) (Domainname), (const char *) (Codeset)) - -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strings - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -/* The separator between msgctxt and msgid in a .mo file. */ -#define GETTEXT_CONTEXT_GLUE "\004" - -/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a - MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be - short and rarely need to change. - The letter 'p' stands for 'particular' or 'special'. */ -#ifdef DEFAULT_TEXT_DOMAIN -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#else -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#endif -#define dpgettext(Domainname, Msgctxt, Msgid) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) -#ifdef DEFAULT_TEXT_DOMAIN -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#else -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#endif -#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -pgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - int category) -{ - const char *translation = dcgettext (domain, msg_ctxt_id, category); - if (translation == msg_ctxt_id) - return msgid; - else - return translation; -} - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -npgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - const char *msgid_plural, unsigned long int n, - int category) -{ - const char *translation = - dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); - if (translation == msg_ctxt_id || translation == msgid_plural) - return (n == 1 ? msgid : msgid_plural); - else - return translation; -} - -#endif /* _LIBGETTEXT_H */ diff -Nru gnutls26-2.8.6/lib/gl/lseek.c gnutls26-2.4.1/lib/gl/lseek.c --- gnutls26-2.8.6/lib/gl/lseek.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/lseek.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* An lseek() function that detects pipes. - Copyright (C) 2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Windows platforms. */ -/* Get GetFileType. */ -# include -#else -# include -#endif -#include - -#undef lseek - -off_t -rpl_lseek (int fd, off_t offset, int whence) -{ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ - HANDLE h = (HANDLE) _get_osfhandle (fd); - if (h == INVALID_HANDLE_VALUE) - { - errno = EBADF; - return -1; - } - if (GetFileType (h) != FILE_TYPE_DISK) - { - errno = ESPIPE; - return -1; - } -#else - /* BeOS lseek mistakenly succeeds on pipes... */ - struct stat statbuf; - if (fstat (fd, &statbuf) < 0) - return -1; - if (!S_ISREG (statbuf.st_mode)) - { - errno = ESPIPE; - return -1; - } -#endif - return lseek (fd, offset, whence); -} diff -Nru gnutls26-2.8.6/lib/gl/m4/00gnulib.m4 gnutls26-2.4.1/lib/gl/m4/00gnulib.m4 --- gnutls26-2.8.6/lib/gl/m4/00gnulib.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/00gnulib.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -# 00gnulib.m4 serial 2 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. It is needed until such time as we can -dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. - -# AC_DEFUN_ONCE([NAME], VALUE) -# ---------------------------- -# Define NAME to expand to VALUE on the first use (whether by direct -# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. -# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This -# definition is slower than the version in Autoconf 2.64, because it -# can only use interfaces that existed since 2.59; but it achieves the -# same effect. Quoting is necessary to avoid confusing Automake. -m4_version_prereq([2.63.263], [], -[m4_define([AC][_DEFUN_ONCE], - [AC][_DEFUN([$1], - [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], - [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl -[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) - -# gl_00GNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file prior to all other gnulib .m4 files. -AC_DEFUN([gl_00GNULIB]) diff -Nru gnutls26-2.8.6/lib/gl/m4/alloca.m4 gnutls26-2.4.1/lib/gl/m4/alloca.m4 --- gnutls26-2.8.6/lib/gl/m4/alloca.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/alloca.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -# alloca.m4 serial 9 -dnl Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_ALLOCA], -[ - dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. - AC_REQUIRE([AC_PROG_CPP]) - AC_REQUIRE([AC_PROG_EGREP]) - - AC_REQUIRE([AC_FUNC_ALLOCA]) - if test $ac_cv_func_alloca_works = no; then - gl_PREREQ_ALLOCA - fi - - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ - AC_EGREP_CPP([Need own alloca], [ -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif - ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) - ]) - if test $gl_cv_rpl_alloca = yes; then - dnl OK, alloca can be implemented through a compiler built-in. - AC_DEFINE([HAVE_ALLOCA], [1], - [Define to 1 if you have 'alloca' after including , - a header that may be supplied by this distribution.]) - ALLOCA_H=alloca.h - else - dnl alloca exists as a library function, i.e. it is slow and probably - dnl a memory leak. Don't define HAVE_ALLOCA in this case. - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h - fi - AC_SUBST([ALLOCA_H]) -]) - -# Prerequisites of lib/alloca.c. -# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. -AC_DEFUN([gl_PREREQ_ALLOCA], [:]) diff -Nru gnutls26-2.8.6/lib/gl/m4/byteswap.m4 gnutls26-2.4.1/lib/gl/m4/byteswap.m4 --- gnutls26-2.8.6/lib/gl/m4/byteswap.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/byteswap.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -# byteswap.m4 serial 3 -dnl Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Oskar Liljeblad. - -AC_DEFUN([gl_BYTESWAP], -[ - dnl Prerequisites of lib/byteswap.in.h. - AC_CHECK_HEADERS([byteswap.h], [ - BYTESWAP_H='' - ], [ - BYTESWAP_H='byteswap.h' - ]) - AC_SUBST([BYTESWAP_H]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/errno_h.m4 gnutls26-2.4.1/lib/gl/m4/errno_h.m4 --- gnutls26-2.8.6/lib/gl/m4/errno_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/errno_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,112 +0,0 @@ -# errno_h.m4 serial 5 -dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ - AC_EGREP_CPP([booboo],[ -#include -#if !defined ENOMSG -booboo -#endif -#if !defined EIDRM -booboo -#endif -#if !defined ENOLINK -booboo -#endif -#if !defined EPROTO -booboo -#endif -#if !defined EMULTIHOP -booboo -#endif -#if !defined EBADMSG -booboo -#endif -#if !defined EOVERFLOW -booboo -#endif -#if !defined ENOTSUP -booboo -#endif -#if !defined ECANCELED -booboo -#endif - ], - [gl_cv_header_errno_h_complete=no], - [gl_cv_header_errno_h_complete=yes]) - ]) - if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' - else - gl_CHECK_NEXT_HEADERS([errno.h]) - ERRNO_H='errno.h' - fi - AC_SUBST([ERRNO_H]) - gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) - gl_REPLACE_ERRNO_VALUE([ENOLINK]) - gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) -]) - -# Assuming $1 = EOVERFLOW. -# The EOVERFLOW errno value ought to be defined in , according to -# POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and -# some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. -# Check for the value of EOVERFLOW. -# Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. -AC_DEFUN([gl_REPLACE_ERRNO_VALUE], -[ - if test -n "$ERRNO_H"; then - AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ - AC_EGREP_CPP([yes],[ -#include -#ifdef ]$1[ -yes -#endif - ], - [gl_cv_header_errno_h_]$1[=yes], - [gl_cv_header_errno_h_]$1[=no]) - if test $gl_cv_header_errno_h_]$1[ = no; then - AC_EGREP_CPP([yes],[ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ]$1[ -yes -#endif - ], [gl_cv_header_errno_h_]$1[=hidden]) - if test $gl_cv_header_errno_h_]$1[ = hidden; then - dnl The macro exists but is hidden. - dnl Define it to the same value. - AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -]) - fi - fi - ]) - case $gl_cv_header_errno_h_]$1[ in - yes | no) - ]$1[_HIDDEN=0; ]$1[_VALUE= - ;; - *) - ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" - ;; - esac - AC_SUBST($1[_HIDDEN]) - AC_SUBST($1[_VALUE]) - fi -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/extensions.m4 gnutls26-2.4.1/lib/gl/m4/extensions.m4 --- gnutls26-2.8.6/lib/gl/m4/extensions.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/extensions.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,104 +0,0 @@ -# serial 8 -*- Autoconf -*- -# Enable extensions on systems that normally disable them. - -# Copyright (C) 2003, 2006-2009 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 definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS -# Autoconf. Perhaps we can remove this once we can assume Autoconf -# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly -# enough in this area it's likely we'll need to redefine -# AC_USE_SYSTEM_EXTENSIONS for quite some time. - -# AC_USE_SYSTEM_EXTENSIONS -# ------------------------ -# Enable extensions on systems that normally disable them, -# typically due to standards-conformance issues. -# Remember that #undef in AH_VERBATIM gets replaced with #define by -# AC_DEFINE. The goal here is to define all known feature-enabling -# macros, then, if reports of conflicts are made, disable macros that -# cause problems on some platforms (such as __EXTENSIONS__). -AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], -[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl -AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - - AC_REQUIRE([AC_CANONICAL_HOST]) - - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) - if test "$MINIX" = yes; then - AC_DEFINE([_POSIX_SOURCE], [1], - [Define to 1 if you need to in order for `stat' and other - things to work.]) - AC_DEFINE([_POSIX_1_SOURCE], [2], - [Define to 2 if the system does not provide POSIX.1 features - except with this defined.]) - AC_DEFINE([_MINIX], [1], - [Define to 1 if on MINIX.]) - fi - - dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, - dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already - dnl provided. - case "$host_os" in - hpux*) - AC_DEFINE([_XOPEN_SOURCE], [500], - [Define to 500 only on HP-UX.]) - ;; - esac - - AH_VERBATIM([__EXTENSIONS__], -[/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif -]) - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], - [ac_cv_safe_to_define___extensions__], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ -# define __EXTENSIONS__ 1 - ]AC_INCLUDES_DEFAULT])], - [ac_cv_safe_to_define___extensions__=yes], - [ac_cv_safe_to_define___extensions__=no])]) - test $ac_cv_safe_to_define___extensions__ = yes && - AC_DEFINE([__EXTENSIONS__]) - AC_DEFINE([_ALL_SOURCE]) - AC_DEFINE([_GNU_SOURCE]) - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) - AC_DEFINE([_TANDEM_SOURCE]) -])# AC_USE_SYSTEM_EXTENSIONS - -# gl_USE_SYSTEM_EXTENSIONS -# ------------------------ -# Enable extensions on systems that normally disable them, -# typically due to standards-conformance issues. -AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], -[ - dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. - dnl gnulib does not need it. But if it gets required by third-party macros - dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a - dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, - dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. - AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/float_h.m4 gnutls26-2.4.1/lib/gl/m4/float_h.m4 --- gnutls26-2.8.6/lib/gl/m4/float_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/float_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -# float_h.m4 serial 3 -dnl Copyright (C) 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FLOAT_H], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - FLOAT_H= - case "$host_os" in - beos* | openbsd*) - FLOAT_H=float.h - gl_CHECK_NEXT_HEADERS([float.h]) - ;; - esac - AC_SUBST([FLOAT_H]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/fseeko.m4 gnutls26-2.4.1/lib/gl/m4/fseeko.m4 --- gnutls26-2.8.6/lib/gl/m4/fseeko.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/fseeko.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -# fseeko.m4 serial 4 -dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_FSEEKO], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) - - dnl Persuade glibc to declare fseeko(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], - [ - AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], - [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) - ]) - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - gl_REPLACE_FSEEKO - elif test $gl_cv_var_stdin_large_offset = no; then - gl_REPLACE_FSEEKO - fi -]) - -AC_DEFUN([gl_REPLACE_FSEEKO], -[ - AC_LIBOBJ([fseeko]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - REPLACE_FSEEKO=1 -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/func.m4 gnutls26-2.4.1/lib/gl/m4/func.m4 --- gnutls26-2.8.6/lib/gl/m4/func.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/func.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# func.m4 serial 2 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Written by Simon Josefsson - -AC_DEFUN([gl_FUNC], -[ - AC_CACHE_CHECK([whether __func__ is available], [gl_cv_var_func], - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[]], [[const char *str = __func__;]])], - [gl_cv_var_func=yes], - [gl_cv_var_func=no])) - if test "$gl_cv_var_func" != yes; then - AC_DEFINE([__func__], [""], - [Define as a replacement for the ISO C99 __func__ variable.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/gnulib-cache.m4 gnutls26-2.4.1/lib/gl/m4/gnulib-cache.m4 --- gnutls26-2.8.6/lib/gl/m4/gnulib-cache.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/gnulib-cache.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,61 +0,0 @@ -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# -# This file represents the specification of how gnulib-tool is used. -# It acts as a cache: It is written and read by gnulib-tool. -# In projects using CVS, this file is meant to be stored in CVS, -# like the configure.ac and various Makefile.am files. - - -# Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --local-dir=gl/override --lib=liblgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --avoid=lseek-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files byteswap c-ctype fseeko func gettext lib-msvc-compat lib-symbol-versions memmem-simple memmove minmax netdb read-file snprintf sockets socklen stdint strcase strverscmp sys_socket sys_stat time_r unistd vasprintf vsnprintf - -# Specification in the form of a few gnulib-tool.m4 macro invocations: -gl_LOCAL_DIR([gl/override]) -gl_MODULES([ - byteswap - c-ctype - fseeko - func - gettext - lib-msvc-compat - lib-symbol-versions - memmem-simple - memmove - minmax - netdb - read-file - snprintf - sockets - socklen - stdint - strcase - strverscmp - sys_socket - sys_stat - time_r - unistd - vasprintf - vsnprintf -]) -gl_AVOID([alignof-tests lseek-tests]) -gl_SOURCE_BASE([gl]) -gl_M4_BASE([gl/m4]) -gl_PO_BASE([]) -gl_DOC_BASE([doc]) -gl_TESTS_BASE([gl/tests]) -gl_WITH_TESTS -gl_LIB([liblgnu]) -gl_LGPL([2]) -gl_MAKEFILE_NAME([]) -gl_LIBTOOL -gl_MACRO_PREFIX([lgl]) -gl_PO_DOMAIN([]) -gl_VC_FILES([false]) diff -Nru gnutls26-2.8.6/lib/gl/m4/gnulib-common.m4 gnutls26-2.4.1/lib/gl/m4/gnulib-common.m4 --- gnutls26-2.8.6/lib/gl/m4/gnulib-common.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/gnulib-common.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,124 +0,0 @@ -# gnulib-common.m4 serial 11 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_COMMON -# is expanded unconditionally through gnulib-tool magic. -AC_DEFUN([gl_COMMON], [ - dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) - AC_REQUIRE([gl_COMMON_BODY]) -]) -AC_DEFUN([gl_COMMON_BODY], [ - AH_VERBATIM([isoc99_inline], -[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) - AH_VERBATIM([unused_parameter], -[/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif -]) -]) - -# gl_MODULE_INDICATOR([modulename]) -# defines a C macro indicating the presence of the given module. -AC_DEFUN([gl_MODULE_INDICATOR], -[ - AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], - [Define to 1 when using the gnulib module ]$1[.]) -]) - -# m4_foreach_w -# is a backport of autoconf-2.59c's m4_foreach_w. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifndef([m4_foreach_w], - [m4_define([m4_foreach_w], - [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) - -# AC_PROG_MKDIR_P -# is a backport of autoconf-2.60's AC_PROG_MKDIR_P. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifdef([AC_PROG_MKDIR_P], [], [ - AC_DEFUN_ONCE([AC_PROG_MKDIR_P], - [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - MKDIR_P='$(mkdir_p)' - AC_SUBST([MKDIR_P])])]) - -# AC_C_RESTRICT -# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, -# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ -# works. -# This definition can be removed once autoconf >= 2.62 can be assumed. -AC_DEFUN([AC_C_RESTRICT], -[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], - [ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - }]], - [[int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t)]])], - [ac_cv_c_restrict=$ac_kw]) - test "$ac_cv_c_restrict" != no && break - done - ]) - AH_VERBATIM([restrict], -[/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -#endif]) - case $ac_cv_c_restrict in - restrict) ;; - no) AC_DEFINE([restrict], []) ;; - *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; - esac -]) - -# gl_BIGENDIAN -# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. -# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some -# macros invoke AC_C_BIGENDIAN with arguments. -AC_DEFUN([gl_BIGENDIAN], -[ - AC_C_BIGENDIAN -]) - -# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) -# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not -# output a spurious "(cached)" mark in the midst of other configure output. -# This macro should be used instead of AC_CACHE_VAL when it is not surrounded -# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. -AC_DEFUN([gl_CACHE_VAL_SILENT], -[ - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - AC_CACHE_VAL([$1], [$2]) - as_echo_n="$saved_as_echo_n" -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/gnulib-comp.m4 gnutls26-2.4.1/lib/gl/m4/gnulib-comp.m4 --- gnutls26-2.8.6/lib/gl/m4/gnulib-comp.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/gnulib-comp.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,395 +0,0 @@ -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# -# This file represents the compiled summary of the specification in -# gnulib-cache.m4. It lists the computed macro invocations that need -# to be invoked from configure.ac. -# In projects using CVS, this file can be treated like other built files. - - -# This macro should be invoked from ./configure.ac, in the section -# "Checks for programs", right after AC_PROG_CC, and certainly before -# any checks for libraries, header files, types and library functions. -AC_DEFUN([lgl_EARLY], -[ - m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace - m4_pattern_allow([^gl_ES$])dnl a valid locale name - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([AC_FUNC_FSEEKO]) -]) - -# This macro should be invoked from ./configure.ac, in the section -# "Check for header files, types and library functions". -AC_DEFUN([lgl_INIT], -[ - AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) - gl_cond_libtool=true - m4_pushdef([AC_LIBOBJ], m4_defn([lgl_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([lgl_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([lgl_LIBSOURCES])) - m4_pushdef([lgl_LIBSOURCES_LIST], []) - m4_pushdef([lgl_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='gl' - gl_FUNC_ALLOCA - gl_BYTESWAP - gl_HEADER_ERRNO_H - gl_FLOAT_H - gl_FUNC_FSEEKO - gl_STDIO_MODULE_INDICATOR([fseeko]) - gl_FUNC - dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. - AM_GNU_GETTEXT_VERSION([0.17]) - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - gl_LD_OUTPUT_DEF - gl_LD_VERSION_SCRIPT - gl_FUNC_LSEEK - gl_UNISTD_MODULE_INDICATOR([lseek]) - gl_FUNC_MEMMEM_SIMPLE - gl_STRING_MODULE_INDICATOR([memmem]) - gl_FUNC_MEMMOVE - gl_MINMAX - gl_MULTIARCH - gl_HEADER_NETDB - gl_FUNC_READ_FILE - gl_FUNC_REALLOC_POSIX - gl_STDLIB_MODULE_INDICATOR([realloc-posix]) - gl_SIZE_MAX - gl_FUNC_SNPRINTF - gl_STDIO_MODULE_INDICATOR([snprintf]) - gl_SOCKETS - gl_TYPE_SOCKLEN_T - AM_STDBOOL_H - gl_STDINT_H - gl_STDIO_H - gl_STDLIB_H - gl_STRCASE - gl_HEADER_STRING_H - gl_HEADER_STRINGS_H - gl_FUNC_STRVERSCMP - gl_STRING_MODULE_INDICATOR([strverscmp]) - gl_HEADER_SYS_SOCKET - AC_PROG_MKDIR_P - gl_HEADER_SYS_STAT_H - AC_PROG_MKDIR_P - gl_HEADER_TIME_H - gl_TIME_R - gl_UNISTD_H - gl_FUNC_VASNPRINTF - gl_FUNC_VASPRINTF - gl_STDIO_MODULE_INDICATOR([vasprintf]) - m4_ifdef([AM_XGETTEXT_OPTION], - [AM_XGETTEXT_OPTION([--flag=asprintf:2:c-format]) - AM_XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) - gl_FUNC_VSNPRINTF - gl_STDIO_MODULE_INDICATOR([vsnprintf]) - gl_WCHAR_H - gl_XSIZE - m4_ifval(lgl_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([lgl_LIBSOURCES_DIR])[ || - for gl_file in ]lgl_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([lgl_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([lgl_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([lgl_LIBSOURCES_DIR]) - m4_popdef([lgl_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - lgl_libobjs= - lgl_ltlibobjs= - if test -n "$lgl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - lgl_libobjs="$lgl_libobjs $i.$ac_objext" - lgl_ltlibobjs="$lgl_ltlibobjs $i.lo" - done - fi - AC_SUBST([lgl_LIBOBJS], [$lgl_libobjs]) - AC_SUBST([lgl_LTLIBOBJS], [$lgl_ltlibobjs]) - ]) - gltests_libdeps= - gltests_ltlibdeps= - m4_pushdef([AC_LIBOBJ], m4_defn([lgltests_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([lgltests_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([lgltests_LIBSOURCES])) - m4_pushdef([lgltests_LIBSOURCES_LIST], []) - m4_pushdef([lgltests_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='gl/tests' - gl_FUNC_UNGETC_WORKS - gt_TYPE_WCHAR_T - gt_TYPE_WINT_T - AC_CHECK_FUNCS([shutdown]) - m4_ifval(lgltests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([lgltests_LIBSOURCES_DIR])[ || - for gl_file in ]lgltests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([lgltests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([lgltests_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([lgltests_LIBSOURCES_DIR]) - m4_popdef([lgltests_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - lgltests_libobjs= - lgltests_ltlibobjs= - if test -n "$lgltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - lgltests_libobjs="$lgltests_libobjs $i.$ac_objext" - lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo" - done - fi - AC_SUBST([lgltests_LIBOBJS], [$lgltests_libobjs]) - AC_SUBST([lgltests_LTLIBOBJS], [$lgltests_ltlibobjs]) - ]) - LIBTESTS_LIBDEPS="$gltests_libdeps" - AC_SUBST([LIBTESTS_LIBDEPS]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into lgl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([lgl_LIBOBJ], [ - AS_LITERAL_IF([$1], [lgl_LIBSOURCES([$1.c])])dnl - lgl_LIBOBJS="$lgl_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into lgl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([lgl_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [lgl_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([lgl_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([lgl_LIBSOURCES_DIR], [gl]) - m4_append([lgl_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into lgltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([lgltests_LIBOBJ], [ - AS_LITERAL_IF([$1], [lgltests_LIBSOURCES([$1.c])])dnl - lgltests_LIBOBJS="$lgltests_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into lgltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([lgltests_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [lgltests_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([lgltests_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([lgltests_LIBSOURCES_DIR], [gl/tests]) - m4_append([lgltests_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# This macro records the list of files which have been installed by -# gnulib-tool and may be removed by future gnulib-tool invocations. -AC_DEFUN([lgl_FILE_LIST], [ - build-aux/config.rpath - build-aux/link-warning.h - lib/alignof.h - lib/alloca.in.h - lib/asnprintf.c - lib/asprintf.c - lib/byteswap.in.h - lib/c-ctype.c - lib/c-ctype.h - lib/close-hook.c - lib/close-hook.h - lib/errno.in.h - lib/float+.h - lib/float.in.h - lib/fseeko.c - lib/gettext.h - lib/lseek.c - lib/memmem.c - lib/memmove.c - lib/minmax.h - lib/netdb.in.h - lib/printf-args.c - lib/printf-args.h - lib/printf-parse.c - lib/printf-parse.h - lib/read-file.c - lib/read-file.h - lib/realloc.c - lib/size_max.h - lib/snprintf.c - lib/sockets.c - lib/sockets.h - lib/stdbool.in.h - lib/stdint.in.h - lib/stdio-impl.h - lib/stdio-write.c - lib/stdio.in.h - lib/stdlib.in.h - lib/str-two-way.h - lib/strcasecmp.c - lib/string.in.h - lib/strings.in.h - lib/strncasecmp.c - lib/strverscmp.c - lib/sys_socket.in.h - lib/sys_stat.in.h - lib/time.in.h - lib/time_r.c - lib/unistd.in.h - lib/vasnprintf.c - lib/vasnprintf.h - lib/vasprintf.c - lib/vsnprintf.c - lib/w32sock.h - lib/wchar.in.h - lib/xsize.h - m4/00gnulib.m4 - m4/alloca.m4 - m4/byteswap.m4 - m4/codeset.m4 - m4/errno_h.m4 - m4/extensions.m4 - m4/float_h.m4 - m4/fseeko.m4 - m4/func.m4 - m4/gettext.m4 - m4/glibc2.m4 - m4/glibc21.m4 - m4/gnulib-common.m4 - m4/iconv.m4 - m4/include_next.m4 - m4/intdiv0.m4 - m4/intl.m4 - m4/intldir.m4 - m4/intlmacosx.m4 - m4/intmax.m4 - m4/intmax_t.m4 - m4/inttypes-pri.m4 - m4/inttypes_h.m4 - m4/lcmessage.m4 - m4/ld-output-def.m4 - m4/ld-version-script.m4 - m4/lib-ld.m4 - m4/lib-link.m4 - m4/lib-prefix.m4 - m4/lock.m4 - m4/longlong.m4 - m4/lseek.m4 - m4/malloc.m4 - m4/memmem.m4 - m4/memmove.m4 - m4/minmax.m4 - m4/multiarch.m4 - m4/netdb_h.m4 - m4/nls.m4 - m4/po.m4 - m4/printf-posix.m4 - m4/printf.m4 - m4/progtest.m4 - m4/read-file.m4 - m4/realloc.m4 - m4/size_max.m4 - m4/snprintf.m4 - m4/sockets.m4 - m4/socklen.m4 - m4/sockpfaf.m4 - m4/stdbool.m4 - m4/stdint.m4 - m4/stdint_h.m4 - m4/stdio_h.m4 - m4/stdlib_h.m4 - m4/strcase.m4 - m4/string_h.m4 - m4/strings_h.m4 - m4/strverscmp.m4 - m4/sys_socket_h.m4 - m4/sys_stat_h.m4 - m4/threadlib.m4 - m4/time_h.m4 - m4/time_r.m4 - m4/uintmax_t.m4 - m4/ungetc.m4 - m4/unistd_h.m4 - m4/vasnprintf.m4 - m4/vasprintf.m4 - m4/visibility.m4 - m4/vsnprintf.m4 - m4/wchar.m4 - m4/wchar_t.m4 - m4/wint_t.m4 - m4/xsize.m4 - tests/test-alloca-opt.c - tests/test-byteswap.c - tests/test-c-ctype.c - tests/test-errno.c - tests/test-fseeko.c - tests/test-fseeko.sh - tests/test-fseeko2.sh - tests/test-func.c - tests/test-netdb.c - tests/test-read-file.c - tests/test-snprintf.c - tests/test-sockets.c - tests/test-stdbool.c - tests/test-stdint.c - tests/test-stdio.c - tests/test-stdlib.c - tests/test-string.c - tests/test-strings.c - tests/test-strverscmp.c - tests/test-sys_socket.c - tests/test-sys_stat.c - tests/test-time.c - tests/test-unistd.c - tests/test-vasnprintf.c - tests/test-vasprintf.c - tests/test-vsnprintf.c - tests/test-wchar.c - tests=lib/dummy.c - tests=lib/intprops.h - tests=lib/verify.h -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/include_next.m4 gnutls26-2.4.1/lib/gl/m4/include_next.m4 --- gnutls26-2.8.6/lib/gl/m4/include_next.m4 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/include_next.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,171 +0,0 @@ -# include_next.m4 serial 12 -dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert and Derek Price. - -dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. -dnl -dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to -dnl 'include' otherwise. -dnl -dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler -dnl supports it in the special case that it is the first include directive in -dnl the given file, or to 'include' otherwise. -dnl -dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, -dnl so as to avoid GCC warnings when the gcc option -pedantic is used. -dnl '#pragma GCC system_header' has the same effect as if the file was found -dnl through the include search path specified with '-isystem' options (as -dnl opposed to the search path specified with '-I' options). Namely, gcc -dnl does not warn about some things, and on some systems (Solaris and Interix) -dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side -dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead -dnl of plain '__STDC__'. - -AC_DEFUN([gl_INCLUDE_NEXT], -[ - AC_LANG_PREPROC_REQUIRE() - AC_CACHE_CHECK([whether the preprocessor supports include_next], - [gl_cv_have_include_next], - [rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on - dnl AIX 6.1 support include_next when used as first preprocessor directive - dnl in a file, but not when preceded by another include directive. Check - dnl for this bug by including . - dnl Additionally, with this same compiler, include_next is a no-op when - dnl used in a header file that was included by specifying its absolute - dnl file name. Despite these two bugs, include_next is used in the - dnl compiler's . By virtue of the second bug, we need to use - dnl include_next as well in this case. - cat < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd2/conftest.h -#ifndef DEFINED_IN_CONFTESTD1 -#error "include_next test doesn't work" -#endif -#define DEFINED_IN_CONFTESTD2 -EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - AC_COMPILE_IFELSE([#include ], - [gl_cv_have_include_next=yes], - [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - AC_COMPILE_IFELSE([#include ], - [gl_cv_have_include_next=buggy], - [gl_cv_have_include_next=no]) - ]) - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 - ]) - PRAGMA_SYSTEM_HEADER= - if test $gl_cv_have_include_next = yes; then - INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi - else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi - fi - AC_SUBST([INCLUDE_NEXT]) - AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) - AC_SUBST([PRAGMA_SYSTEM_HEADER]) -]) - -# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) -# ------------------------------------------ -# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be -# ''; otherwise define it to be -# '"///usr/include/foo.h"', or whatever other absolute file name is suitable. -# That way, a header file with the following line: -# #@INCLUDE_NEXT@ @NEXT_FOO_H@ -# behaves (after sed substitution) as if it contained -# #include_next -# even if the compiler does not support include_next. -# The three "///" are to pacify Sun C 5.8, which otherwise would say -# "warning: #include of /usr/include/... may be non-portable". -# Use `""', not `<>', so that the /// cannot be confused with a C99 comment. -# Note: This macro assumes that the header file is not empty after -# preprocessing, i.e. it does not only define preprocessor macros but also -# provides some type/enum definitions or function/variable declarations. -AC_DEFUN([gl_CHECK_NEXT_HEADERS], -[ - AC_REQUIRE([gl_INCLUDE_NEXT]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CHECK_HEADERS_ONCE([$1]) - - m4_foreach_w([gl_HEADER_NAME], [$1], - [AS_VAR_PUSHDEF([gl_next_header], - [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) - if test $gl_cv_have_include_next = yes; then - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) - else - AC_CACHE_CHECK( - [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], - m4_quote(m4_defn([gl_next_header])), - [AS_VAR_PUSHDEF([gl_header_exists], - [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME]))) - if test AS_VAR_GET(gl_header_exists) = yes; then - AC_LANG_CONFTEST( - [AC_LANG_SOURCE( - [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] - )]) - dnl AIX "xlc -E" and "cc -E" omit #line directives for header files - dnl that contain only a #include of other header files and no - dnl non-comment tokens of their own. This leads to a failure to - dnl detect the absolute name of , , - dnl and others. The workaround is to force preservation of comments - dnl through option -C. This ensures all necessary #line directives - dnl are present. GCC supports option -C as well. - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - dnl eval is necessary to expand gl_absname_cpp. - dnl Ultrix and Pyramid sh refuse to redirect output of eval, - dnl so use subshell. - AS_VAR_SET([gl_next_header], - ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ - s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"']) - else - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) - fi - AS_VAR_POPDEF([gl_header_exists])]) - fi - AC_SUBST( - AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))), - [AS_VAR_GET([gl_next_header])]) - AS_VAR_POPDEF([gl_next_header])]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/intmax_t.m4 gnutls26-2.4.1/lib/gl/m4/intmax_t.m4 --- gnutls26-2.8.6/lib/gl/m4/intmax_t.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/intmax_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,61 +0,0 @@ -# intmax_t.m4 serial 7 -dnl Copyright (C) 1997-2004, 2006-2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -AC_PREREQ([2.13]) - -# Define intmax_t to 'long' or 'long long' -# if it is not already defined in or . - -AC_DEFUN([gl_AC_TYPE_INTMAX_T], -[ - dnl For simplicity, we assume that a header file defines 'intmax_t' if and - dnl only if it defines 'uintmax_t'. - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], - [Define to long or long long if and don't define.]) - else - AC_DEFINE([HAVE_INTMAX_T], [1], - [Define if you have the 'intmax_t' type in or .]) - fi -]) - -dnl An alternative would be to explicitly test for 'intmax_t'. - -AC_DEFUN([gt_AC_TYPE_INTMAX_T], -[ - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], - [AC_TRY_COMPILE([ -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif -], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) - if test $gt_cv_c_intmax_t = yes; then - AC_DEFINE([HAVE_INTMAX_T], [1], - [Define if you have the 'intmax_t' type in or .]) - else - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], - [Define to long or long long if and don't define.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/ld-output-def.m4 gnutls26-2.4.1/lib/gl/m4/ld-output-def.m4 --- gnutls26-2.8.6/lib/gl/m4/ld-output-def.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/ld-output-def.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -# ld-output-def.m4 serial 2 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# gl_LD_OUTPUT_DEF() -# ------------- -# Check if linker supports -Wl,--output-def and define automake -# conditional HAVE_LD_OUTPUT_DEF if it is. -AC_DEFUN([gl_LD_OUTPUT_DEF], -[ - AC_CACHE_CHECK([if gcc/ld supports -Wl,--output-def], - [gl_cv_ld_output_def], - [if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [gl_cv_ld_output_def=yes], - [gl_cv_ld_output_def=no]) - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi]) - AM_CONDITIONAL([HAVE_LD_OUTPUT_DEF], test "x$gl_cv_ld_output_def" = "xyes") -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/ld-version-script.m4 gnutls26-2.4.1/lib/gl/m4/ld-version-script.m4 --- gnutls26-2.8.6/lib/gl/m4/ld-version-script.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/ld-version-script.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -# ld-version-script.m4 serial 1 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# FIXME: The test below returns a false positive for mingw -# cross-compiles, 'local:' statements does not reduce number of -# exported symbols in a DLL. Use --disable-ld-version-script to work -# around the problem. - -# gl_LD_VERSION_SCRIPT -# -------------------- -# Check if LD supports linker scripts, and define automake conditional -# HAVE_LD_VERSION_SCRIPT if so. -AC_DEFUN([gl_LD_VERSION_SCRIPT], -[ - AC_ARG_ENABLE([ld-version-script], - AS_HELP_STRING([--enable-ld-version-script], - [enable linker version script (default is enabled when possible)]), - [have_ld_version_script=$enableval], []) - if test -z "$have_ld_version_script"; then - AC_MSG_CHECKING([if LD -Wl,--version-script works]) - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map < /* for off_t */ -#include /* for SEEK_CUR */ -#include -int main () -{ - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; -}], - [if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi], - [gl_cv_func_lseek_pipe=no]) - else - AC_COMPILE_IFELSE([ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif], - [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) - fi]) - if test $gl_cv_func_lseek_pipe = no; then - gl_REPLACE_LSEEK - fi -]) - -AC_DEFUN([gl_REPLACE_LSEEK], -[ - AC_LIBOBJ([lseek]) - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - REPLACE_LSEEK=1 - AC_DEFINE([LSEEK_PIPE_BROKEN], [1], - [Define to 1 if lseek does not detect pipes.]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/malloc.m4 gnutls26-2.4.1/lib/gl/m4/malloc.m4 --- gnutls26-2.8.6/lib/gl/m4/malloc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/malloc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# malloc.m4 serial 9 -dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_FUNC_MALLOC_POSIX -# -------------------- -# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace malloc if it is not. -AC_DEFUN([gl_FUNC_MALLOC_POSIX], -[ - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then - HAVE_MALLOC_POSIX=1 - AC_DEFINE([HAVE_MALLOC_POSIX], [1], - [Define if the 'malloc' function is POSIX compliant.]) - else - AC_LIBOBJ([malloc]) - HAVE_MALLOC_POSIX=0 - fi - AC_SUBST([HAVE_MALLOC_POSIX]) -]) - -# Test whether malloc, realloc, calloc are POSIX compliant, -# Set gl_cv_func_malloc_posix to yes or no accordingly. -AC_DEFUN([gl_CHECK_MALLOC_POSIX], -[ - AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], - [gl_cv_func_malloc_posix], - [ - dnl It is too dangerous to try to allocate a large amount of memory: - dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_TRY_COMPILE([], - [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) - ]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/memmem.m4 gnutls26-2.4.1/lib/gl/m4/memmem.m4 --- gnutls26-2.8.6/lib/gl/m4/memmem.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/memmem.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,83 +0,0 @@ -# memmem.m4 serial 14 -dnl Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Check that memmem is present. -AC_DEFUN([gl_FUNC_MEMMEM_SIMPLE], -[ - dnl Persuade glibc to declare memmem(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([memmem]) - AC_CHECK_DECLS_ONCE([memmem]) - if test $ac_cv_have_decl_memmem = no; then - HAVE_DECL_MEMMEM=0 - fi - gl_PREREQ_MEMMEM -]) # gl_FUNC_MEMMEM_SIMPLE - -dnl Additionally, check that memmem is efficient and handles empty needles. -AC_DEFUN([gl_FUNC_MEMMEM], -[ - AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE]) - if test $ac_cv_have_decl_memmem = yes; then - AC_CACHE_CHECK([whether memmem works in linear time], - [gl_cv_func_memmem_works], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include /* for signal */ -#include /* for memmem */ -#include /* for malloc */ -#include /* for alarm */ -]], [[size_t m = 1000000; - char *haystack = (char *) malloc (2 * m + 1); - char *needle = (char *) malloc (m + 1); - void *result = 0; - /* Failure to compile this test due to missing alarm is okay, - since all such platforms (mingw) also lack memmem. */ - signal (SIGALRM, SIG_DFL); - alarm (5); - /* Check for quadratic performance. */ - if (haystack && needle) - { - memset (haystack, 'A', 2 * m); - haystack[2 * m] = 'B'; - memset (needle, 'A', m); - needle[m] = 'B'; - result = memmem (haystack, 2 * m + 1, needle, m + 1); - } - /* Check for empty needle behavior. */ - return !result || !memmem ("a", 1, 0, 0);]])], - [gl_cv_func_memmem_works=yes], [gl_cv_func_memmem_works=no], - [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a - dnl memmem that works in linear time. - AC_EGREP_CPP([Lucky user], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) - Lucky user - #endif -#endif -#ifdef __CYGWIN__ - #include - #if CYGWIN_VERSION_DLL_MAJOR >= 1007 - Lucky user - #endif -#endif - ], - [gl_cv_func_memmem_works=yes], - [gl_cv_func_memmem_works="guessing no"]) - ]) - ]) - if test "$gl_cv_func_memmem_works" != yes; then - REPLACE_MEMMEM=1 - AC_LIBOBJ([memmem]) - fi - fi -]) # gl_FUNC_MEMMEM - -# Prerequisites of lib/memmem.c. -AC_DEFUN([gl_PREREQ_MEMMEM], [:]) diff -Nru gnutls26-2.8.6/lib/gl/m4/memmove.m4 gnutls26-2.4.1/lib/gl/m4/memmove.m4 --- gnutls26-2.8.6/lib/gl/m4/memmove.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/memmove.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -# memmove.m4 serial 3 -dnl Copyright (C) 2002, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_MEMMOVE], -[ - AC_REPLACE_FUNCS([memmove]) - if test $ac_cv_func_memmove = no; then - gl_PREREQ_MEMMOVE - fi -]) - -# Prerequisites of lib/memmove.c. -AC_DEFUN([gl_PREREQ_MEMMOVE], [ - : -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/minmax.m4 gnutls26-2.4.1/lib/gl/m4/minmax.m4 --- gnutls26-2.8.6/lib/gl/m4/minmax.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/minmax.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# minmax.m4 serial 3 -dnl Copyright (C) 2005, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_PREREQ([2.52]) - -AC_DEFUN([gl_MINMAX], -[ - AC_REQUIRE([gl_PREREQ_MINMAX]) -]) - -# Prerequisites of lib/minmax.h. -AC_DEFUN([gl_PREREQ_MINMAX], -[ - gl_MINMAX_IN_HEADER([limits.h]) - gl_MINMAX_IN_HEADER([sys/param.h]) -]) - -dnl gl_MINMAX_IN_HEADER(HEADER) -dnl The parameter has to be a literal header name; it cannot be macro, -dnl nor a shell variable. (Because autoheader collects only AC_DEFINE -dnl invocations with a literal macro name.) -AC_DEFUN([gl_MINMAX_IN_HEADER], -[ - m4_pushdef([header], AS_TR_SH([$1])) - m4_pushdef([HEADER], AS_TR_CPP([$1])) - AC_CACHE_CHECK([whether <$1> defines MIN and MAX], - [gl_cv_minmax_in_]header, - [AC_TRY_COMPILE([#include <$1> -int x = MIN (42, 17);], [], - [gl_cv_minmax_in_]header[=yes], - [gl_cv_minmax_in_]header[=no])]) - if test $gl_cv_minmax_in_[]header = yes; then - AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, - [Define to 1 if <$1> defines the MIN and MAX macros.]) - fi - m4_popdef([HEADER]) - m4_popdef([header]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/multiarch.m4 gnutls26-2.4.1/lib/gl/m4/multiarch.m4 --- gnutls26-2.8.6/lib/gl/m4/multiarch.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/multiarch.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -# multiarch.m4 serial 5 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Determine whether the compiler is or may be producing universal binaries. -# -# On MacOS X 10.5 and later systems, the user can create libraries and -# executables that work on multiple system types--known as "fat" or -# "universal" binaries--by specifying multiple '-arch' options to the -# compiler but only a single '-arch' option to the preprocessor. Like -# this: -# -# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -# CPP="gcc -E" CXXCPP="g++ -E" -# -# Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the -# beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly. - -AC_DEFUN_ONCE([gl_MULTIARCH], -[ - dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. - gl_cv_c_multiarch=no - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( - [[#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - ]])], - [ - dnl Check for potential -arch flags. It is not universal unless - dnl there are at least two -arch flags with different values. - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - ]) - if test $gl_cv_c_multiarch = yes; then - AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], - [Define if the compiler is building for multiple architectures of Apple platforms at once.]) - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - AC_SUBST([APPLE_UNIVERSAL_BUILD]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/netdb_h.m4 gnutls26-2.4.1/lib/gl/m4/netdb_h.m4 --- gnutls26-2.8.6/lib/gl/m4/netdb_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/netdb_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -# netdb_h.m4 serial 5 -dnl Copyright (C) 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_HEADER_NETDB], -[ - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([netdb.h]) - if test $ac_cv_header_netdb_h = yes; then - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #include - struct addrinfo a; - int b = EAI_OVERFLOW; - int c = AI_NUMERICSERV; - ]])], - [NETDB_H=''], [NETDB_H='netdb.h']) - HAVE_NETDB_H=1 - else - NETDB_H='netdb.h' - HAVE_NETDB_H=0 - fi - AC_SUBST([HAVE_NETDB_H]) - AC_SUBST([NETDB_H]) -]) - -AC_DEFUN([gl_NETDB_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_NETDB_H_DEFAULTS], -[ - GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_STRUCT_ADDRINFO=1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) - HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) - HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) - HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) - HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/po.m4 gnutls26-2.4.1/lib/gl/m4/po.m4 --- gnutls26-2.8.6/lib/gl/m4/po.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/po.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,449 +0,0 @@ -# po.m4 serial 17 (gettext-0.18) -dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; 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 - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" < -#include -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -# include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -# include -#endif -static char buf[100]; -int main () -{ -#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX - buf[0] = '\0'; - if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 - || strcmp (buf, "12345671 33") != 0) - return 1; -#endif - buf[0] = '\0'; - if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 - || strcmp (buf, "12345672 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 - || strcmp (buf, "12345673 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 - || strcmp (buf, "1.5 33") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; - darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_printf_sizes_c99="guessing no";; - openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; - solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_sizes_c99="guessing no";; - netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_sizes_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports 'long double' -dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_long_double. - -AC_DEFUN([gl_PRINTF_LONG_DOUBLE], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports 'long double' arguments], - [gl_cv_func_printf_long_double], - [ - AC_TRY_RUN([ -#include -#include -static char buf[10000]; -int main () -{ - buf[0] = '\0'; - if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000e+00 33") != 0) - return 1; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.75 33") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], - [ -changequote(,)dnl - case "$host_os" in - beos*) gl_cv_func_printf_long_double="guessing no";; - mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; - *) gl_cv_func_printf_long_double="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports infinite and NaN -dnl 'double' arguments and negative zero arguments in the %f, %e, %g -dnl directives. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_infinite. - -AC_DEFUN([gl_PRINTF_INFINITE], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], - [gl_cv_func_printf_infinite], - [ - AC_TRY_RUN([ -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static int -have_minus_zero () -{ - static double plus_zero = 0.0; - double minus_zero = - plus_zero; - return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; -} -static char buf[10000]; -static double zero = 0.0; -int main () -{ - if (sprintf (buf, "%f", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%f", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%f", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%e", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%e", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%e", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%g", 1.0 / 0.0) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%g", -1.0 / 0.0) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%g", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - /* This test fails on HP-UX 10.20. */ - if (have_minus_zero ()) - if (sprintf (buf, "%g", - zero) < 0 - || strcmp (buf, "-0") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; - darwin*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; - hpux*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_infinite="guessing no";; - netbsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_infinite="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports infinite and NaN -dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_infinite_long_double. - -AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_BIGENDIAN]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - dnl The user can set or unset the variable gl_printf_safe to indicate - dnl that he wishes a safe handling of non-IEEE-754 'long double' values. - if test -n "$gl_printf_safe"; then - AC_DEFINE([CHECK_PRINTF_SAFE], [1], - [Define if you wish *printf() functions that have a safe handling of - non-IEEE-754 'long double' values.]) - fi - case "$gl_cv_func_printf_long_double" in - *yes) - AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], - [gl_cv_func_printf_infinite_long_double], - [ - AC_TRY_RUN([ -]GL_NOCRASH[ -#include -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static char buf[10000]; -static long double zeroL = 0.0L; -int main () -{ - nocrash_init(); - if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Le", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - return 1; - if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - return 1; - if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) -/* Representation of an 80-bit 'long double' as an initializer for a sequence - of 'unsigned int' words. */ -# ifdef WORDS_BIGENDIAN -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ - ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ - (unsigned int) (mantlo) << 16 \ - } -# else -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { mantlo, manthi, exponent } -# endif - { /* Quiet NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { - /* Signalling NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Infinity. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Zero. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Unnormalized number. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } - { /* Pseudo-Denormal. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - return 1; - } -#endif - return 0; -}], - [gl_cv_func_printf_infinite_long_double=yes], - [gl_cv_func_printf_infinite_long_double=no], - [ -changequote(,)dnl - case "$host_cpu" in - # Guess no on ia64, x86_64, i386. - ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; - *) - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; - darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; - hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_infinite_long_double="guessing no";; - netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite_long_double="guessing no";; - esac - ;; - esac -changequote([,])dnl - ]) - ]) - ;; - *) - gl_cv_func_printf_infinite_long_double="irrelevant" - ;; - esac -]) - -dnl Test whether the *printf family of functions supports the 'a' and 'A' -dnl conversion specifier for hexadecimal output of floating-point numbers. -dnl (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_a. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_A], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], - [gl_cv_func_printf_directive_a], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.922p+1 33") != 0 - && strcmp (buf, "0x3.244p+0 33") != 0 - && strcmp (buf, "0x6.488p-1 33") != 0 - && strcmp (buf, "0xc.91p-2 33") != 0)) - return 1; - if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "-0X1.922P+1 33") != 0 - && strcmp (buf, "-0X3.244P+0 33") != 0 - && strcmp (buf, "-0X6.488P-1 33") != 0 - && strcmp (buf, "-0XC.91P-2 33") != 0)) - return 1; - /* This catches a FreeBSD 6.1 bug: it doesn't round. */ - if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.83p+0 33") != 0 - && strcmp (buf, "0x3.05p-1 33") != 0 - && strcmp (buf, "0x6.0ap-2 33") != 0 - && strcmp (buf, "0xc.14p-3 33") != 0)) - return 1; - /* This catches a FreeBSD 6.1 bug. See - */ - if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 - || buf[0] == '0') - return 1; - /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ - if (sprintf (buf, "%.1a", 1.999) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - return 1; - /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a - glibc 2.4 bug . */ - if (sprintf (buf, "%.1La", 1.999L) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - return 1; - return 0; -}], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], - [ - case "$host_os" in - # Guess yes on glibc >= 2.5 systems. - *-gnu*) - AC_EGREP_CPP([BZ2908], [ - #include - #ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) - BZ2908 - #endif - #endif - ], - [gl_cv_func_printf_directive_a="guessing yes"], - [gl_cv_func_printf_directive_a="guessing no"]) - ;; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_a="guessing no";; - esac - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %F format -dnl directive. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_f. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_F], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'F' directive], - [gl_cv_func_printf_directive_f], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 - || strcmp (buf, "1234567.000000 33") != 0) - return 1; - if (sprintf (buf, "%F", 1.0 / 0.0) < 0 - || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) - return 1; - /* This catches a Cygwin 1.5.x bug. */ - if (sprintf (buf, "%.F", 1234.0) < 0 - || strcmp (buf, "1234") != 0) - return 1; - return 0; -}], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; - darwin*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; - solaris*) gl_cv_func_printf_directive_f="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_f="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %n format -dnl directive. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_printf_directive_n. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_N], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'n' directive], - [gl_cv_func_printf_directive_n], - [ - AC_TRY_RUN([ -#include -#include -static char fmtstring[10]; -static char buf[100]; -int main () -{ - int count = -1; - /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) - support %n in format strings in read-only memory but not in writable - memory. */ - strcpy (fmtstring, "%d %n"); - if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 - || strcmp (buf, "123 ") != 0 - || count != 4) - return 1; - return 0; -}], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], - [ -changequote(,)dnl - case "$host_os" in - *) gl_cv_func_printf_directive_n="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the %ls format -dnl directive and in particular, when a precision is specified, whether -dnl the functions stop converting the wide string argument when the number -dnl of bytes that have been produced by this conversion equals or exceeds -dnl the precision. -dnl Result is gl_cv_func_printf_directive_ls. - -AC_DEFUN([gl_PRINTF_DIRECTIVE_LS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the 'ls' directive], - [gl_cv_func_printf_directive_ls], - [ - AC_TRY_RUN([ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -#include -int main () -{ - char buf[100]; - /* Test whether %ls works at all. - This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on - Cygwin 1.5. */ - { - static const wchar_t wstring[] = { 'a', 'b', 'c', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "abc") != 0) - return 1; - } - /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an - assertion failure inside libc), but not on OpenBSD 4.0. */ - { - static const wchar_t wstring[] = { 'a', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "a") != 0) - return 1; - } - /* Test whether precisions in %ls are supported as specified in ISO C 99 - section 7.19.6.1: - "If a precision is specified, no more than that many bytes are written - (including shift sequences, if any), and the array shall contain a - null wide character if, to equal the multibyte character sequence - length given by the precision, the function would need to access a - wide character one past the end of the array." - This test fails on Solaris 10. */ - { - static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%.2ls", wstring) < 0 - || strcmp (buf, "ab") != 0) - return 1; - } - return 0; -}], [gl_cv_func_printf_directive_ls=yes], [gl_cv_func_printf_directive_ls=no], - [ -changequote(,)dnl - case "$host_os" in - openbsd*) gl_cv_func_printf_directive_ls="guessing no";; - irix*) gl_cv_func_printf_directive_ls="guessing no";; - solaris*) gl_cv_func_printf_directive_ls="guessing no";; - cygwin*) gl_cv_func_printf_directive_ls="guessing no";; - beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; - *) gl_cv_func_printf_directive_ls="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports POSIX/XSI format -dnl strings with positions. (POSIX:2001) -dnl Result is gl_cv_func_printf_positions. - -AC_DEFUN([gl_PRINTF_POSITIONS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], - [gl_cv_func_printf_positions], - [ - AC_TRY_RUN([ -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () -{ - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 0); -}], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], - [ -changequote(,)dnl - case "$host_os" in - netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) - gl_cv_func_printf_positions="guessing no";; - beos*) gl_cv_func_printf_positions="guessing no";; - mingw* | pw*) gl_cv_func_printf_positions="guessing no";; - *) gl_cv_func_printf_positions="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports POSIX/XSI format -dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) -dnl Result is gl_cv_func_printf_flag_grouping. - -AC_DEFUN([gl_PRINTF_FLAG_GROUPING], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the grouping flag], - [gl_cv_func_printf_flag_grouping], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%'d %d", 1234567, 99) < 0 - || buf[strlen (buf) - 1] != '9') - return 1; - return 0; -}], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], - [ -changequote(,)dnl - case "$host_os" in - cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; - netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; - mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; - *) gl_cv_func_printf_flag_grouping="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports the - flag correctly. -dnl (ISO C99.) See -dnl -dnl Result is gl_cv_func_printf_flag_leftadjust. - -AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], - [gl_cv_func_printf_flag_leftadjust], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - /* Check that a '-' flag is not annihilated by a negative width. */ - if (sprintf (buf, "a%-*sc", -3, "b") < 0 - || strcmp (buf, "ab c") != 0) - return 1; - return 0; -}], - [gl_cv_func_printf_flag_leftadjust=yes], - [gl_cv_func_printf_flag_leftadjust=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on HP-UX 11. - hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; - # Guess no on HP-UX 10 and older. - hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_printf_flag_leftadjust="guessing yes";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports padding of non-finite -dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See -dnl -dnl Result is gl_cv_func_printf_flag_zero. - -AC_DEFUN([gl_PRINTF_FLAG_ZERO], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports the zero flag correctly], - [gl_cv_func_printf_flag_zero], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 - || (strcmp (buf, " inf") != 0 - && strcmp (buf, " infinity") != 0)) - return 1; - return 0; -}], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_flag_zero="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_flag_zero="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions supports large precisions. -dnl On mingw, precisions larger than 512 are treated like 512, in integer, -dnl floating-point or pointer output. On BeOS, precisions larger than 1044 -dnl crash the program. -dnl Result is gl_cv_func_printf_precision. - -AC_DEFUN([gl_PRINTF_PRECISION], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf supports large precisions], - [gl_cv_func_printf_precision], - [ - AC_TRY_RUN([ -#include -#include -static char buf[5000]; -int main () -{ -#ifdef __BEOS__ - /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ - return 1; -#endif - if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) - return 1; - return 0; -}], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess no only on native Win32 and BeOS systems. - mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; - beos*) gl_cv_func_printf_precision="guessing no" ;; - *) gl_cv_func_printf_precision="guessing yes" ;; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the *printf family of functions recovers gracefully in case -dnl of an out-of-memory condition, or whether it crashes the entire program. -dnl Result is gl_cv_func_printf_enomem. - -AC_DEFUN([gl_PRINTF_ENOMEM], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_MULTIARCH]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether printf survives out-of-memory conditions], - [gl_cv_func_printf_enomem], - [ - gl_cv_func_printf_enomem="guessing no" - if test "$cross_compiling" = no; then - if test $APPLE_UNIVERSAL_BUILD = 0; then - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -]GL_NOCRASH[ -changequote(,)dnl -#include -#include -#include -#include -#include -int main() -{ - struct rlimit limit; - int ret; - nocrash_init (); - /* Some printf implementations allocate temporary space with malloc. */ - /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ -#ifdef RLIMIT_DATA - if (getrlimit (RLIMIT_DATA, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_DATA, &limit) < 0) - return 77; -#endif - /* On Linux systems, malloc() is limited by RLIMIT_AS. */ -#ifdef RLIMIT_AS - if (getrlimit (RLIMIT_AS, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_AS, &limit) < 0) - return 77; -#endif - /* Some printf implementations allocate temporary space on the stack. */ -#ifdef RLIMIT_STACK - if (getrlimit (RLIMIT_STACK, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_STACK, &limit) < 0) - return 77; -#endif - ret = printf ("%.5000000f", 1.0); - return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); -} -changequote([,])dnl - ])]) - if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then - (./conftest - result=$? - if test $result != 0 && test $result != 77; then result=1; fi - exit $result - ) >/dev/null 2>/dev/null - case $? in - 0) gl_cv_func_printf_enomem="yes" ;; - 77) gl_cv_func_printf_enomem="guessing no" ;; - *) gl_cv_func_printf_enomem="no" ;; - esac - else - gl_cv_func_printf_enomem="guessing no" - fi - rm -fr conftest* - else - dnl A universal build on Apple MacOS X platforms. - dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. - dnl But we need a configuration result that is valid in both modes. - gl_cv_func_printf_enomem="guessing no" - fi - fi - if test "$gl_cv_func_printf_enomem" = "guessing no"; then -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Solaris. - solaris*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on AIX. - aix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on HP-UX/hppa. - hpux*) case "$host_cpu" in - hppa*) gl_cv_func_printf_enomem="guessing yes";; - *) gl_cv_func_printf_enomem="guessing no";; - esac - ;; - # Guess yes on IRIX. - irix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on OSF/1. - osf*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Haiku. - haiku*) gl_cv_func_printf_enomem="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_enomem="guessing no";; - esac -changequote([,])dnl - fi - ]) -]) - -dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) -dnl Result is ac_cv_func_snprintf. - -AC_DEFUN([gl_SNPRINTF_PRESENCE], -[ - AC_CHECK_FUNCS_ONCE([snprintf]) -]) - -dnl Test whether the string produced by the snprintf function is always NUL -dnl terminated. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_snprintf_truncation_c99. - -AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf truncates the result as in C99], - [gl_cv_func_snprintf_truncation_c99], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - snprintf (buf, 3, "%d %d", 4567, 89); - if (memcmp (buf, "45\0DEF", 6) != 0) - return 1; - return 0; -}], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; - darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_truncation_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; - hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on OSF/1 >= 5. - osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; - osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_truncation_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_truncation_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the return value of the snprintf function is the number -dnl of bytes (excluding the terminating NUL) that would have been produced -dnl if the buffer had been large enough. (ISO C99, POSIX:2001) -dnl For example, this test program fails on IRIX 6.5: -dnl --------------------------------------------------------------------- -dnl #include -dnl int main() -dnl { -dnl static char buf[8]; -dnl int retval = snprintf (buf, 3, "%d", 12345); -dnl return retval >= 0 && retval < 3; -dnl } -dnl --------------------------------------------------------------------- -dnl Result is gl_cv_func_snprintf_retval_c99. - -AC_DEFUN([gl_SNPRINTF_RETVAL_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], - [gl_cv_func_snprintf_retval_c99], - [ - AC_TRY_RUN([ -#include -#include -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) - return 1; - return 0; -}], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; - darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_retval_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; - solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; - aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_retval_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_retval_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the snprintf function supports the %n format directive -dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) -dnl Result is gl_cv_func_snprintf_directive_n. - -AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], - [gl_cv_func_snprintf_directive_n], - [ - AC_TRY_RUN([ -#include -#include -static char fmtstring[10]; -static char buf[100]; -int main () -{ - int count = -1; - /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) - support %n in format strings in read-only memory but not in writable - memory. */ - strcpy (fmtstring, "%d %n"); - snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); - if (count != 6) - return 1; - return 0; -}], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; - darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; - solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; - aix*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on OSF/1 >= 5. - osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; - osf*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_directive_n="guessing no";; - netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_directive_n="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_directive_n="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl Test whether the snprintf function, when passed a size = 1, writes any -dnl output without bounds in this case, behaving like sprintf. This is the -dnl case on Linux libc5. -dnl Result is gl_cv_func_snprintf_size1. - -AC_DEFUN([gl_SNPRINTF_SIZE1], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether snprintf respects a size of 1], - [gl_cv_func_snprintf_size1], - [ - AC_TRY_RUN([ -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -}], - [gl_cv_func_snprintf_size1=yes], - [gl_cv_func_snprintf_size1=no], - [gl_cv_func_snprintf_size1="guessing yes"]) - ]) -]) - -dnl Test whether the vsnprintf function, when passed a zero size, produces no -dnl output. (ISO C99, POSIX:2001) -dnl For example, snprintf nevertheless writes a NUL byte in this case -dnl on OSF/1 5.1: -dnl --------------------------------------------------------------------- -dnl #include -dnl int main() -dnl { -dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; -dnl snprintf (buf, 0, "%d", 12345); -dnl return buf[0] != 'D'; -dnl } -dnl --------------------------------------------------------------------- -dnl And vsnprintf writes any output without bounds in this case, behaving like -dnl vsprintf, on HP-UX 11 and OSF/1 5.1: -dnl --------------------------------------------------------------------- -dnl #include -dnl #include -dnl static int my_snprintf (char *buf, int size, const char *format, ...) -dnl { -dnl va_list args; -dnl int ret; -dnl va_start (args, format); -dnl ret = vsnprintf (buf, size, format, args); -dnl va_end (args); -dnl return ret; -dnl } -dnl int main() -dnl { -dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; -dnl my_snprintf (buf, 0, "%d", 12345); -dnl return buf[0] != 'D'; -dnl } -dnl --------------------------------------------------------------------- -dnl Result is gl_cv_func_vsnprintf_zerosize_c99. - -AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], - [gl_cv_func_vsnprintf_zerosize_c99], - [ - AC_TRY_RUN([ -#include -#include -static int my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - my_snprintf (buf, 0, "%d", 12345); - return buf[0] != 'D'; -}], - [gl_cv_func_vsnprintf_zerosize_c99=yes], - [gl_cv_func_vsnprintf_zerosize_c99=no], - [ -changequote(,)dnl - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on Solaris >= 2.6. - solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on IRIX >= 6.5. - irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on mingw. - mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; - esac -changequote([,])dnl - ]) - ]) -]) - -dnl The results of these tests on various platforms are: -dnl -dnl 1 = gl_PRINTF_SIZES_C99 -dnl 2 = gl_PRINTF_LONG_DOUBLE -dnl 3 = gl_PRINTF_INFINITE -dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE -dnl 5 = gl_PRINTF_DIRECTIVE_A -dnl 6 = gl_PRINTF_DIRECTIVE_F -dnl 7 = gl_PRINTF_DIRECTIVE_N -dnl 8 = gl_PRINTF_DIRECTIVE_LS -dnl 9 = gl_PRINTF_POSITIONS -dnl 10 = gl_PRINTF_FLAG_GROUPING -dnl 11 = gl_PRINTF_FLAG_LEFTADJUST -dnl 12 = gl_PRINTF_FLAG_ZERO -dnl 13 = gl_PRINTF_PRECISION -dnl 14 = gl_PRINTF_ENOMEM -dnl 15 = gl_SNPRINTF_PRESENCE -dnl 16 = gl_SNPRINTF_TRUNCATION_C99 -dnl 17 = gl_SNPRINTF_RETVAL_C99 -dnl 18 = gl_SNPRINTF_DIRECTIVE_N -dnl 19 = gl_SNPRINTF_SIZE1 -dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99 -dnl -dnl 1 = checking whether printf supports size specifiers as in C99... -dnl 2 = checking whether printf supports 'long double' arguments... -dnl 3 = checking whether printf supports infinite 'double' arguments... -dnl 4 = checking whether printf supports infinite 'long double' arguments... -dnl 5 = checking whether printf supports the 'a' and 'A' directives... -dnl 6 = checking whether printf supports the 'F' directive... -dnl 7 = checking whether printf supports the 'n' directive... -dnl 8 = checking whether printf supports the 'ls' directive... -dnl 9 = checking whether printf supports POSIX/XSI format strings with positions... -dnl 10 = checking whether printf supports the grouping flag... -dnl 11 = checking whether printf supports the left-adjust flag correctly... -dnl 12 = checking whether printf supports the zero flag correctly... -dnl 13 = checking whether printf supports large precisions... -dnl 14 = checking whether printf survives out-of-memory conditions... -dnl 15 = checking for snprintf... -dnl 16 = checking whether snprintf truncates the result as in C99... -dnl 17 = checking whether snprintf returns a byte count as in C99... -dnl 18 = checking whether snprintf fully supports the 'n' directive... -dnl 19 = checking whether snprintf respects a size of 1... -dnl 20 = checking whether vsnprintf respects a zero size as in C99... -dnl -dnl . = yes, # = no. -dnl -dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . -dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . -dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . -dnl MacOS X 10.3.9 . . . . # . . . . . . # . # . . . . . . -dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . -dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . -dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . -dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . -dnl Solaris 10 . . # # # . . # . . . # . . . . . . . . -dnl Solaris 2.6 ... 9 # . # # # # . # . . . # . . . . . . . . -dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # -dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . -dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . . . . . -dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . -dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # -dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # -dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . -dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # -dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # -dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? -dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . -dnl Haiku . . . # # # . # . . . . . ? . . . . . . -dnl BeOS # # . # # # . ? # . ? . # ? . . . . . . -dnl mingw # # # # # # . . # # . # # ? . # # # . . diff -Nru gnutls26-2.8.6/lib/gl/m4/read-file.m4 gnutls26-2.4.1/lib/gl/m4/read-file.m4 --- gnutls26-2.8.6/lib/gl/m4/read-file.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/read-file.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -# read-file.m4 serial 2 -dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_READ_FILE], -[ - AC_LIBOBJ([read-file]) - gl_PREREQ_READ_FILE -]) - -# Prerequisites of lib/read-file.c. -AC_DEFUN([gl_PREREQ_READ_FILE], [:]) diff -Nru gnutls26-2.8.6/lib/gl/m4/realloc.m4 gnutls26-2.4.1/lib/gl/m4/realloc.m4 --- gnutls26-2.8.6/lib/gl/m4/realloc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/realloc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# realloc.m4 serial 9 -dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_FUNC_REALLOC_POSIX -# --------------------- -# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace realloc if it is not. -AC_DEFUN([gl_FUNC_REALLOC_POSIX], -[ - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then - HAVE_REALLOC_POSIX=1 - AC_DEFINE([HAVE_REALLOC_POSIX], [1], - [Define if the 'realloc' function is POSIX compliant.]) - else - AC_LIBOBJ([realloc]) - HAVE_REALLOC_POSIX=0 - fi - AC_SUBST([HAVE_REALLOC_POSIX]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/snprintf.m4 gnutls26-2.4.1/lib/gl/m4/snprintf.m4 --- gnutls26-2.8.6/lib/gl/m4/snprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/snprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -# snprintf.m4 serial 5 -dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_SNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - gl_cv_func_snprintf_usable=no - AC_CHECK_FUNCS([snprintf]) - if test $ac_cv_func_snprintf = yes; then - gl_SNPRINTF_SIZE1 - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_snprintf_usable = no; then - gl_REPLACE_SNPRINTF - fi - AC_CHECK_DECLS_ONCE([snprintf]) - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 - fi -]) - -AC_DEFUN([gl_REPLACE_SNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_LIBOBJ([snprintf]) - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - gl_PREREQ_SNPRINTF -]) - -# Prerequisites of lib/snprintf.c. -AC_DEFUN([gl_PREREQ_SNPRINTF], [:]) diff -Nru gnutls26-2.8.6/lib/gl/m4/sockets.m4 gnutls26-2.4.1/lib/gl/m4/sockets.m4 --- gnutls26-2.8.6/lib/gl/m4/sockets.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/sockets.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,90 +0,0 @@ -# sockets.m4 serial 5 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_SOCKETS], -[ - AC_REQUIRE([AC_C_INLINE]) - - gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - dnl Native Windows API (not Cygwin). - AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], - [gl_cv_func_wsastartup], [ - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_TRY_LINK([ -#ifdef HAVE_WINSOCK2_H -# include -#endif], [ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup ();], - gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) - LIBS="$gl_save_LIBS" - ]) - if test "$gl_cv_func_wsastartup" = "yes"; then - AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) - LIBSOCKET='-lws2_32' - fi - else - dnl Unix API. - dnl Solaris has most socket functions in libsocket. - dnl Haiku has most socket functions in libnetwork. - dnl BeOS has most socket functions in libnet. - AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ - gl_cv_lib_socket= - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [], - [gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lsocket"]) - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lnetwork"]) - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - AC_TRY_LINK([extern -#ifdef __cplusplus -"C" -#endif -char setsockopt();], [setsockopt();], - [gl_cv_lib_socket="-lnet"]) - fi - fi - LIBS="$gl_save_LIBS" - ]) - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi - ]) - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi - AC_SUBST([LIBSOCKET]) - gl_PREREQ_SOCKETS -]) - -# Prerequisites of lib/sockets.c. -AC_DEFUN([gl_PREREQ_SOCKETS], [ - : -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/socklen.m4 gnutls26-2.4.1/lib/gl/m4/socklen.m4 --- gnutls26-2.8.6/lib/gl/m4/socklen.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/socklen.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -# socklen.m4 serial 6 -dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Albert Chin, Windows fixes from Simon Josefsson. - -dnl Check for socklen_t: historically on BSD it is an int, and in -dnl POSIX 1g it is a type of its own, but some platforms use different -dnl types for the argument to getsockopt, getpeername, etc. So we -dnl have to test to find something that will work. - -dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find -dnl it there first. That file is included by gnulib's sys_socket.in.h, which -dnl all users of this module should include. Cygwin must not include -dnl ws2tcpip.h. -AC_DEFUN([gl_TYPE_SOCKLEN_T], - [AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl - AC_CHECK_TYPE([socklen_t], , - [AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([gl_cv_socklen_t_equiv], - [# Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - gl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t "unsigned int" "long int" "unsigned long int"; do - AC_TRY_COMPILE( - [#include - #include - - int getpeername (int, $arg2 *, $t *);], - [$t len; - getpeername (0, 0, &len);], - [gl_cv_socklen_t_equiv="$t"]) - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done - ]) - if test "$gl_cv_socklen_t_equiv" = ""; then - AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) - fi - AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) - AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], - [type to use in place of socklen_t if not defined])], - [#include - #if HAVE_SYS_SOCKET_H - # include - #elif HAVE_WS2TCPIP_H - # include - #endif])]) diff -Nru gnutls26-2.8.6/lib/gl/m4/stdbool.m4 gnutls26-2.4.1/lib/gl/m4/stdbool.m4 --- gnutls26-2.8.6/lib/gl/m4/stdbool.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/stdbool.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,115 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. -AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) - -# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - #if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); - #endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - ], - [ - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - ], - [ac_cv_header_stdbool_h=yes], - [ac_cv_header_stdbool_h=no])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h = yes; then - AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) - fi]) diff -Nru gnutls26-2.8.6/lib/gl/m4/stdint.m4 gnutls26-2.4.1/lib/gl/m4/stdint.m4 --- gnutls26-2.8.6/lib/gl/m4/stdint.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/stdint.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,472 +0,0 @@ -# stdint.m4 serial 34 -dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert and Bruno Haible. -dnl Test whether is supported or must be substituted. - -AC_DEFUN([gl_STDINT_H], -[ - AC_PREREQ([2.59])dnl - - dnl Check for long long int and unsigned long long int. - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - AC_SUBST([HAVE_LONG_LONG_INT]) - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi - AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) - - dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - AC_SUBST([HAVE_INTTYPES_H]) - - dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi - AC_SUBST([HAVE_SYS_TYPES_H]) - - gl_CHECK_NEXT_HEADERS([stdint.h]) - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - AC_SUBST([HAVE_STDINT_H]) - - dnl Now see whether we need a substitute . - if test $ac_cv_header_stdint_h = yes; then - AC_CACHE_CHECK([whether stdint.h conforms to C99], - [gl_cv_header_working_stdint_h], - [gl_cv_header_working_stdint_h=no - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif -] -gl_STDINT_INCLUDES -[ -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; - -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; - ]])], - [dnl Determine whether the various *_MIN, *_MAX macros are usable - dnl in preprocessor expression. We could do it by compiling a test - dnl program for each of these macros. It is faster to run a program - dnl that inspects the macro expansion. - dnl This detects a bug on HP-UX 11.23/ia64. - AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -] -gl_STDINT_INCLUDES -[ -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; -]], [[ - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return 1; - } - return 0; -]])], - [gl_cv_header_working_stdint_h=yes], - [], - [dnl When cross-compiling, assume it works. - gl_cv_header_working_stdint_h=yes - ]) - ]) - ]) - fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - dnl Check for , and for - dnl (used in Linux libc4 >= 4.6.7 and libc5). - AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - AC_SUBST([HAVE_SYS_INTTYPES_H]) - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - AC_SUBST([HAVE_SYS_BITYPES_H]) - - dnl Check for (missing in Linux uClibc when built without wide - dnl character support). - AC_CHECK_HEADERS_ONCE([wchar.h]) - - gl_STDINT_TYPE_PROPERTIES - STDINT_H=stdint.h - fi - AC_SUBST([STDINT_H]) -]) - -dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) -dnl Determine the size of each of the given types in bits. -AC_DEFUN([gl_STDINT_BITSIZEOF], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), - [Define to the number of bits in type ']gltype['.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], - [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], - [$2 -#include ], [result=unknown]) - eval gl_cv_bitsizeof_${gltype}=\$result - ]) - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, - dnl do a syntax check even on unused #if conditions and give an error - dnl on valid C code like this: - dnl #if 0 - dnl # if > 32 - dnl # endif - dnl #endif - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) - eval BITSIZEOF_${GLTYPE}=\$result - done - m4_foreach_w([gltype], [$1], - [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) -]) - -dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) -dnl Determine the signedness of each of the given types. -dnl Define HAVE_SIGNED_TYPE if type is signed. -AC_DEFUN([gl_CHECK_TYPES_SIGNED], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), - [Define to 1 if ']gltype[' is a signed integer type.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([$2[ - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], - result=yes, result=no) - eval gl_cv_type_${gltype}_signed=\$result - ]) - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done - m4_foreach_w([gltype], [$1], - [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) -]) - -dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) -dnl Determine the suffix to use for integer constants of the given types. -dnl Define t_SUFFIX for each such type. -AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], -[ - dnl Use a shell loop, to avoid bloating configure, and - dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into - dnl config.h.in, - dnl - extra AC_SUBST calls, so that the right substitutions are made. - m4_foreach_w([gltype], [$1], - [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], - [Define to l, ll, u, ul, ull, etc., as suitable for - constants of type ']gltype['.])]) - for gltype in $1 ; do - AC_CACHE_CHECK([for $gltype integer literal suffix], - [gl_cv_type_${gltype}_suffix], - [eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([$2[ - extern $gltype foo; - extern $gltype1 foo;]])], - [eval gl_cv_type_${gltype}_suffix=\$glsuf]) - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done]) - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) - done - m4_foreach_w([gltype], [$1], - [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) -]) - -dnl gl_STDINT_INCLUDES -AC_DEFUN([gl_STDINT_INCLUDES], -[[ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -]]) - -dnl gl_STDINT_TYPE_PROPERTIES -dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t -dnl of interest to stdint.in.h. -AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], -[ - AC_REQUIRE([gl_MULTIARCH]) - if test $APPLE_UNIVERSAL_BUILD = 0; then - gl_STDINT_BITSIZEOF([ptrdiff_t size_t], - [gl_STDINT_INCLUDES]) - fi - gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) - gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], - [gl_STDINT_INCLUDES]) - fi - gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], - [gl_STDINT_INCLUDES]) -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) - -# Hey Emacs! -# Local Variables: -# indent-tabs-mode: nil -# End: diff -Nru gnutls26-2.8.6/lib/gl/m4/stdio_h.m4 gnutls26-2.4.1/lib/gl/m4/stdio_h.m4 --- gnutls26-2.8.6/lib/gl/m4/stdio_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/stdio_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,133 +0,0 @@ -# stdio_h.m4 serial 15 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_STDIO_H], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([stdio.h]) - dnl No need to create extra modules for these functions. Everyone who uses - dnl likely needs them. - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 - dnl This ifdef is just an optimization, to avoid performing a configure - dnl check whose result is not used. It does not make the test of - dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. - m4_ifdef([gl_SIGNAL_SIGPIPE], [ - gl_SIGNAL_SIGPIPE - if test $gl_cv_header_signal_h_SIGPIPE != yes; then - REPLACE_STDIO_WRITE_FUNCS=1 - AC_LIBOBJ([stdio-write]) - fi - ]) -]) - -AC_DEFUN([gl_STDIO_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_STDIO_H_DEFAULTS], -[ - GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) - GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) - GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) - GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) - GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) - GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) - GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) - GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) - GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) - GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) - GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) - GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) - GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) - GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) - GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) - GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) - GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) - GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) - GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) - GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) - GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) - GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) - GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) - GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) - GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) - GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) - GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) - GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) - GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) - GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) - GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) - GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) - GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) - GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) - dnl Assume proper GNU behavior unless another module says otherwise. - REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) - REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) - REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) - REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) - REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) - REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) - HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) - REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) - HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) - REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) - REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) - HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) - REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) - HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) - REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) - HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) - REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) - HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) - REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) - REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) - REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) - HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) - REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) - REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) - HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) - REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) - REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) - REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) - REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) - HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) - HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) - REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) - REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) -]) - -dnl Code shared by fseeko and ftello. Determine if large files are supported, -dnl but stdin does not start as a large file by default. -AC_DEFUN([gl_STDIN_LARGE_OFFSET], - [ - AC_CACHE_CHECK([whether stdin defaults to large file offsets], - [gl_cv_var_stdin_large_offset], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], -[[#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif]])], - [gl_cv_var_stdin_large_offset=yes], - [gl_cv_var_stdin_large_offset=no])]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/stdlib_h.m4 gnutls26-2.4.1/lib/gl/m4/stdlib_h.m4 --- gnutls26-2.8.6/lib/gl/m4/stdlib_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/stdlib_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,73 +0,0 @@ -# stdlib_h.m4 serial 15 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_STDLIB_H], -[ - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([stdlib.h]) - AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT]) - if test $ac_cv_header_random_h = yes; then - HAVE_RANDOM_H=1 - else - HAVE_RANDOM_H=0 - fi - AC_SUBST([HAVE_RANDOM_H]) - AC_CHECK_TYPES([struct random_data], - [], [HAVE_STRUCT_RANDOM_DATA=0], - [[#include - #if HAVE_RANDOM_H - # include - #endif - ]]) -]) - -AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_STDLIB_H_DEFAULTS], -[ - GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) - GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) - GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) - GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) - GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) - GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) - GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) - GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) - GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) - GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) - GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) - GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) - GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) - GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) - GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) - GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) - HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) - HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) - HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) - HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) - HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) - HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) - HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) - HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) - HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) - HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) - HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) - HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) - HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) - HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) - HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) - REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) - REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) - REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) - VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/strcase.m4 gnutls26-2.4.1/lib/gl/m4/strcase.m4 --- gnutls26-2.8.6/lib/gl/m4/strcase.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/strcase.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -# strcase.m4 serial 10 -dnl Copyright (C) 2002, 2005-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_STRCASE], -[ - gl_FUNC_STRCASECMP - gl_FUNC_STRNCASECMP -]) - -AC_DEFUN([gl_FUNC_STRCASECMP], -[ - AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - AC_REPLACE_FUNCS([strcasecmp]) - if test $ac_cv_func_strcasecmp = no; then - HAVE_STRCASECMP=0 - gl_PREREQ_STRCASECMP - fi -]) - -AC_DEFUN([gl_FUNC_STRNCASECMP], -[ - AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - AC_REPLACE_FUNCS([strncasecmp]) - if test $ac_cv_func_strncasecmp = no; then - gl_PREREQ_STRNCASECMP - fi - AC_CHECK_DECLS([strncasecmp]) - if test $ac_cv_have_decl_strncasecmp = no; then - HAVE_DECL_STRNCASECMP=0 - fi -]) - -# Prerequisites of lib/strcasecmp.c. -AC_DEFUN([gl_PREREQ_STRCASECMP], [ - : -]) - -# Prerequisites of lib/strncasecmp.c. -AC_DEFUN([gl_PREREQ_STRNCASECMP], [ - : -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/string_h.m4 gnutls26-2.4.1/lib/gl/m4/string_h.m4 --- gnutls26-2.8.6/lib/gl/m4/string_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/string_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# Configure a GNU-like replacement for . - -# Copyright (C) 2007, 2008 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. - -# serial 6 - -# Written by Paul Eggert. - -AC_DEFUN([gl_HEADER_STRING_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_STRING_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_STRING_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([string.h]) -]) - -AC_DEFUN([gl_STRING_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], -[ - GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) - GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) - GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) - GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) - GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) - GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) - GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) - GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) - GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) - GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) - GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) - GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) - GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) - GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) - GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) - GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) - GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) - GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) - GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) - GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) - GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) - GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) - GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) - GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) - GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) - GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) - GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) - GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) - GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) - GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) - GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) - GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) - HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) - HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) - HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) - HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) - HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) - HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) - HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) - HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) - HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) - HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) - HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) - HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) - HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) - HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) - HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) - HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) - HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) - REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) - REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) - REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) - REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) - REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) - REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/strings_h.m4 gnutls26-2.4.1/lib/gl/m4/strings_h.m4 --- gnutls26-2.8.6/lib/gl/m4/strings_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/strings_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -# Configure a replacement for . - -# Copyright (C) 2007 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. - -AC_DEFUN([gl_HEADER_STRINGS_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_STRINGS_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_STRINGS_H_BODY], -[ - AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([strings.h]) -]) - -AC_DEFUN([gl_STRINGS_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS], -[ - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP]) - HAVE_DECL_STRNCASECMP=1; AC_SUBST([HAVE_DECL_STRNCASECMP]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/strverscmp.m4 gnutls26-2.4.1/lib/gl/m4/strverscmp.m4 --- gnutls26-2.8.6/lib/gl/m4/strverscmp.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/strverscmp.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# strverscmp.m4 serial 7 -dnl Copyright (C) 2002, 2005-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_STRVERSCMP], -[ - dnl Persuade glibc to declare strverscmp(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([strverscmp]) - if test $ac_cv_func_strverscmp = no; then - gl_PREREQ_STRVERSCMP - HAVE_STRVERSCMP=0 - fi -]) - -# Prerequisites of lib/strverscmp.c. -AC_DEFUN([gl_PREREQ_STRVERSCMP], [ - : -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/sys_socket_h.m4 gnutls26-2.4.1/lib/gl/m4/sys_socket_h.m4 --- gnutls26-2.8.6/lib/gl/m4/sys_socket_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/sys_socket_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,145 +0,0 @@ -# sys_socket_h.m4 serial 12 -dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson. - -AC_DEFUN([gl_HEADER_SYS_SOCKET], -[ - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) - AC_REQUIRE([AC_C_INLINE]) - - AC_CACHE_CHECK([whether is self-contained], - [gl_cv_header_sys_socket_h_selfcontained], - [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], - [gl_cv_header_sys_socket_h_selfcontained=yes], - [gl_cv_header_sys_socket_h_selfcontained=no]) - ]) - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - SYS_SOCKET_H='' - dnl If the shutdown function exists, should define - dnl SHUT_RD, SHUT_WR, SHUT_RDWR. - AC_CHECK_FUNCS([shutdown]) - if test $ac_cv_func_shutdown = yes; then - AC_CACHE_CHECK([whether defines the SHUT_* macros], - [gl_cv_header_sys_socket_h_shut], - [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], - [gl_cv_header_sys_socket_h_shut=yes], - [gl_cv_header_sys_socket_h_shut=no]) - ]) - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - else - SYS_SOCKET_H='sys/socket.h' - fi - # We need to check for ws2tcpip.h now. - gl_PREREQ_SYS_H_SOCKET - AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[ - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -]) - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - SYS_SOCKET_H='sys/socket.h' - fi - if test -n "$SYS_SOCKET_H"; then - gl_PREREQ_SYS_H_WINSOCK2 - fi - AC_SUBST([SYS_SOCKET_H]) -]) - -AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], -[ - dnl Check prerequisites of the replacement. - gl_CHECK_NEXT_HEADERS([sys/socket.h]) - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([ws2tcpip.h]) - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - AC_SUBST([HAVE_SYS_SOCKET_H]) - AC_SUBST([HAVE_WS2TCPIP_H]) -]) - -# Common prerequisites of of the replacement and of the -# replacement. -# Sets and substitutes HAVE_WINSOCK2_H. -AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], -[ - m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) - m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) - AC_CHECK_HEADERS_ONCE([sys/socket.h]) - if test $ac_cv_header_sys_socket_h != yes; then - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([winsock2.h]) - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - AC_SUBST([HAVE_WINSOCK2_H]) -]) - -AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], -[ - GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) - GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) - GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) - GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) - GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) - GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) - GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) - GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) - GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) - GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) - GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) - GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) - GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) - GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) - HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) - HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/sys_stat_h.m4 gnutls26-2.4.1/lib/gl/m4/sys_stat_h.m4 --- gnutls26-2.8.6/lib/gl/m4/sys_stat_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/sys_stat_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -# sys_stat_h.m4 serial 10 -*- Autoconf -*- -dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Eric Blake. -dnl Test whether contains lstat and mkdir or must be substituted. - -AC_DEFUN([gl_HEADER_SYS_STAT_H], -[ - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - - dnl Check for lstat. Systems that lack it (mingw) also lack symlinks, so - dnl stat is a good replacement. - AC_CHECK_FUNCS_ONCE([lstat]) - if test $ac_cv_func_lstat = yes; then - HAVE_LSTAT=1 - else - HAVE_LSTAT=0 - fi - AC_SUBST([HAVE_LSTAT]) - - dnl For the mkdir substitute. - AC_REQUIRE([AC_C_INLINE]) - - dnl Check for broken stat macros. - AC_REQUIRE([AC_HEADER_STAT]) - - gl_CHECK_NEXT_HEADERS([sys/stat.h]) - SYS_STAT_H='sys/stat.h' - AC_SUBST([SYS_STAT_H]) - - dnl Define types that are supposed to be defined in or - dnl . - AC_CHECK_TYPE([nlink_t], [], - [AC_DEFINE([nlink_t], [int], - [Define to the type of st_nlink in struct stat, or a supertype.])], - [#include - #include ]) - -]) # gl_HEADER_SYS_STAT_H - -AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], -[ - GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) - GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) - REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) - REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/time_h.m4 gnutls26-2.4.1/lib/gl/m4/time_h.m4 --- gnutls26-2.8.6/lib/gl/m4/time_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/time_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,74 +0,0 @@ -# Configure a more-standard replacement for . - -# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 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. - -# Written by Paul Eggert and Jim Meyering. - -AC_DEFUN([gl_HEADER_TIME_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_TIME_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_TIME_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) - gl_CHECK_NEXT_HEADERS([time.h]) - AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) -]) - -AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], -[ - dnl If another module says to replace or to not replace, do that. - dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; - dnl this lets maintainers check for portability. - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) - REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME]) - REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) -]) - -dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared -dnl in time.h or sys/time.h. - -AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], -[ - AC_CHECK_HEADERS_ONCE([sys/time.h]) - AC_CACHE_CHECK([for struct timespec in ], - [gl_cv_sys_struct_timespec_in_time_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - ]], - [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], - [gl_cv_sys_struct_timespec_in_time_h=yes], - [gl_cv_sys_struct_timespec_in_time_h=no])]) - - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - AC_CACHE_CHECK([for struct timespec in ], - [gl_cv_sys_struct_timespec_in_sys_time_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - ]], - [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], - [gl_cv_sys_struct_timespec_in_sys_time_h=yes], - [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - fi - fi - AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) - AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/time_r.m4 gnutls26-2.4.1/lib/gl/m4/time_r.m4 --- gnutls26-2.8.6/lib/gl/m4/time_r.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/time_r.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -dnl Reentrant time functions like localtime_r. - -dnl Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Paul Eggert. - -AC_DEFUN([gl_TIME_R], -[ - dnl Persuade glibc and Solaris to declare localtime_r. - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) - AC_REQUIRE([AC_C_RESTRICT]) - - AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], - [gl_cv_time_r_posix], - [AC_TRY_COMPILE( - [#include ], - [/* We don't need to append 'restrict's to the argument types, - even though the POSIX signature has the 'restrict's, - since C99 says they can't affect type compatibility. */ - struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; - if (ptr) return 0; - /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ - *localtime_r (0, 0);], - [gl_cv_time_r_posix=yes], - [gl_cv_time_r_posix=no])]) - if test $gl_cv_time_r_posix = yes; then - REPLACE_LOCALTIME_R=0 - else - REPLACE_LOCALTIME_R=1 - AC_LIBOBJ([time_r]) - gl_PREREQ_TIME_R - fi -]) - -# Prerequisites of lib/time_r.c. -AC_DEFUN([gl_PREREQ_TIME_R], [ - : -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/ungetc.m4 gnutls26-2.4.1/lib/gl/m4/ungetc.m4 --- gnutls26-2.8.6/lib/gl/m4/ungetc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/ungetc.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -# ungetc.m4 serial 1 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS], -[ - AC_REQUIRE([AC_PROG_CC]) - - AC_CACHE_CHECK([whether ungetc works on arbitrary bytes], - [gl_cv_func_ungetc_works], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include - ]], [FILE *f; long l; - if (!(f = fopen ("conftest.tmp", "w+"))) return 1; - if (fputs ("abc", f) < 0) return 2; - rewind (f); - if (fgetc (f) != 'a') return 3; - if (fgetc (f) != 'b') return 4; - if (ungetc ('d', f) != 'd') return 5; - if (ftell (f) != 1) return 6; - if (fgetc (f) != 'd') return 7; - if (ftell (f) != 2) return 8; - if (fseek (f, 0, SEEK_CUR) != 0) return 9; - if (ftell (f) != 2) return 10; - if (fgetc (f) != 'c') return 11; - fclose (f); remove ("conftest.tmp");])], - [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], - [gl_cv_func_ungetc_works='guessing no']) - ]) - if test "$gl_cv_func_ungetc_works" != yes; then - AC_DEFINE([FUNC_UNGETC_BROKEN], [1], - [Define to 1 if ungetc is broken when used on arbitrary bytes.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/unistd_h.m4 gnutls26-2.4.1/lib/gl/m4/unistd_h.m4 --- gnutls26-2.8.6/lib/gl/m4/unistd_h.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/unistd_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,83 +0,0 @@ -# unistd_h.m4 serial 17 -dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Simon Josefsson, Bruno Haible. - -AC_DEFUN([gl_UNISTD_H], -[ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - - gl_CHECK_NEXT_HEADERS([unistd.h]) - - AC_CHECK_HEADERS_ONCE([unistd.h]) - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi - AC_SUBST([HAVE_UNISTD_H]) -]) - -AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_UNISTD_H_DEFAULTS], -[ - GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) - GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) - GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) - GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) - GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) - GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) - GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) - GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) - GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) - GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) - GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) - GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) - GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) - GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) - GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) - GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) - GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) - GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) - GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) - GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) - GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) - GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) - HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) - HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) - HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) - HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) - HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) - HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) - HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) - HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL]) - HAVE_LINK=1; AC_SUBST([HAVE_LINK]) - HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) - HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) - HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) - HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) - HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) - HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) - REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) - REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) - REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) - REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) - REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) - REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) - REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) - REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) - UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/vasnprintf.m4 gnutls26-2.4.1/lib/gl/m4/vasnprintf.m4 --- gnutls26-2.8.6/lib/gl/m4/vasnprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/vasnprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,276 +0,0 @@ -# vasnprintf.m4 serial 29 -dnl Copyright (C) 2002-2004, 2006-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_VASNPRINTF], -[ - AC_CHECK_FUNCS_ONCE([vasnprintf]) - if test $ac_cv_func_vasnprintf = no; then - gl_REPLACE_VASNPRINTF - fi -]) - -AC_DEFUN([gl_REPLACE_VASNPRINTF], -[ - AC_CHECK_FUNCS_ONCE([vasnprintf]) - AC_LIBOBJ([vasnprintf]) - AC_LIBOBJ([printf-args]) - AC_LIBOBJ([printf-parse]) - AC_LIBOBJ([asnprintf]) - if test $ac_cv_func_vasnprintf = yes; then - AC_DEFINE([REPLACE_VASNPRINTF], [1], - [Define if vasnprintf exists but is overridden by gnulib.]) - fi - gl_PREREQ_PRINTF_ARGS - gl_PREREQ_PRINTF_PARSE - gl_PREREQ_VASNPRINTF - gl_PREREQ_ASNPRINTF -]) - -# Prequisites of lib/printf-args.h, lib/printf-args.c. -AC_DEFUN([gl_PREREQ_PRINTF_ARGS], -[ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) -]) - -# Prequisites of lib/printf-parse.h, lib/printf-parse.c. -AC_DEFUN([gl_PREREQ_PRINTF_PARSE], -[ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) - AC_REQUIRE([AC_TYPE_SIZE_T]) - AC_CHECK_TYPE([ptrdiff_t], , - [AC_DEFINE([ptrdiff_t], [long], - [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) - ]) - AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) -]) - -# Prerequisites of lib/vasnprintf.c. -AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], -[ - AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) - AC_REQUIRE([gt_TYPE_WINT_T]) - AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) - dnl Use the _snprintf function only if it is declared (because on NetBSD it - dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf], , , [#include ]) -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting 'long double' -# arguments. -AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) - case "$gl_cv_func_printf_long_double" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double' -# arguments. -AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_INFINITE]) - case "$gl_cv_func_printf_infinite" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - infinite 'double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double' -# arguments. -AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], -[ - AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) - dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if - dnl NEED_PRINTF_LONG_DOUBLE is already set. - AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE]) - case "$gl_cv_func_printf_long_double" in - *yes) - case "$gl_cv_func_printf_infinite_long_double" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - infinite 'long double' arguments.]) - ;; - esac - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) - case "$gl_cv_func_printf_directive_a" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], - [Define if the vasnprintf implementation needs special code for - the 'a' and 'A' directives.]) - AC_CHECK_FUNCS([nl_langinfo]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) - case "$gl_cv_func_printf_directive_f" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], [1], - [Define if the vasnprintf implementation needs special code for - the 'F' directive.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 'ls' directive. -AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS], -[ - AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) - case "$gl_cv_func_printf_directive_ls" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_DIRECTIVE_LS], [1], - [Define if the vasnprintf implementation needs special code for - the 'ls' directive.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], -[ - AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) - case "$gl_cv_func_printf_flag_grouping" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], [1], - [Define if the vasnprintf implementation needs special code for the - ' flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], -[ - AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) - case "$gl_cv_func_printf_flag_leftadjust" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], [1], - [Define if the vasnprintf implementation needs special code for the - '-' flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag. -AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], -[ - AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) - case "$gl_cv_func_printf_flag_zero" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_FLAG_ZERO], [1], - [Define if the vasnprintf implementation needs special code for the - 0 flag.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for supporting large precisions. -AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], -[ - AC_REQUIRE([gl_PRINTF_PRECISION]) - case "$gl_cv_func_printf_precision" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], [1], - [Define if the vasnprintf implementation needs special code for - supporting large precisions without arbitrary bounds.]) - AC_DEFINE([NEED_PRINTF_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'double' arguments.]) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory -# conditions. -AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], -[ - AC_REQUIRE([gl_PRINTF_ENOMEM]) - case "$gl_cv_func_printf_enomem" in - *yes) - ;; - *) - AC_DEFINE([NEED_PRINTF_ENOMEM], [1], - [Define if the vasnprintf implementation needs special code for - surviving out-of-memory conditions.]) - AC_DEFINE([NEED_PRINTF_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'double' arguments.]) - AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], - [Define if the vasnprintf implementation needs special code for - 'long double' arguments.]) - ;; - esac -]) - -# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. -AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], -[ - AC_REQUIRE([gl_PREREQ_VASNPRINTF]) - gl_PREREQ_VASNPRINTF_LONG_DOUBLE - gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE - gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE - gl_PREREQ_VASNPRINTF_DIRECTIVE_A - gl_PREREQ_VASNPRINTF_DIRECTIVE_F - gl_PREREQ_VASNPRINTF_DIRECTIVE_LS - gl_PREREQ_VASNPRINTF_FLAG_GROUPING - gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST - gl_PREREQ_VASNPRINTF_FLAG_ZERO - gl_PREREQ_VASNPRINTF_PRECISION - gl_PREREQ_VASNPRINTF_ENOMEM -]) - -# Prerequisites of lib/asnprintf.c. -AC_DEFUN([gl_PREREQ_ASNPRINTF], -[ -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/vasprintf.m4 gnutls26-2.4.1/lib/gl/m4/vasprintf.m4 --- gnutls26-2.8.6/lib/gl/m4/vasprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/vasprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -# vasprintf.m4 serial 6 -dnl Copyright (C) 2002-2003, 2006-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_VASPRINTF], -[ - AC_CHECK_FUNCS([vasprintf]) - if test $ac_cv_func_vasprintf = no; then - gl_REPLACE_VASPRINTF - fi -]) - -AC_DEFUN([gl_REPLACE_VASPRINTF], -[ - AC_LIBOBJ([vasprintf]) - AC_LIBOBJ([asprintf]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - if test $ac_cv_func_vasprintf = yes; then - REPLACE_VASPRINTF=1 - else - HAVE_VASPRINTF=0 - fi - gl_PREREQ_VASPRINTF_H - gl_PREREQ_VASPRINTF - gl_PREREQ_ASPRINTF -]) - -# Prerequisites of the vasprintf portion of lib/stdio.h. -AC_DEFUN([gl_PREREQ_VASPRINTF_H], -[ - dnl Persuade glibc to declare asprintf() and vasprintf(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -]) - -# Prerequisites of lib/vasprintf.c. -AC_DEFUN([gl_PREREQ_VASPRINTF], -[ -]) - -# Prerequisites of lib/asprintf.c. -AC_DEFUN([gl_PREREQ_ASPRINTF], -[ -]) diff -Nru gnutls26-2.8.6/lib/gl/m4/vsnprintf.m4 gnutls26-2.4.1/lib/gl/m4/vsnprintf.m4 --- gnutls26-2.8.6/lib/gl/m4/vsnprintf.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/vsnprintf.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -# vsnprintf.m4 serial 5 -dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_VSNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - gl_cv_func_vsnprintf_usable=no - AC_CHECK_FUNCS([vsnprintf]) - if test $ac_cv_func_vsnprintf = yes; then - gl_SNPRINTF_SIZE1 - case "$gl_cv_func_snprintf_size1" in - *yes) - gl_cv_func_vsnprintf_usable=yes - ;; - esac - fi - if test $gl_cv_func_vsnprintf_usable = no; then - gl_REPLACE_VSNPRINTF - fi - AC_CHECK_DECLS_ONCE([vsnprintf]) - if test $ac_cv_have_decl_vsnprintf = no; then - HAVE_DECL_VSNPRINTF=0 - fi -]) - -AC_DEFUN([gl_REPLACE_VSNPRINTF], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_LIBOBJ([vsnprintf]) - if test $ac_cv_func_vsnprintf = yes; then - REPLACE_VSNPRINTF=1 - fi - gl_PREREQ_VSNPRINTF -]) - -# Prerequisites of lib/vsnprintf.c. -AC_DEFUN([gl_PREREQ_VSNPRINTF], [:]) diff -Nru gnutls26-2.8.6/lib/gl/m4/wchar.m4 gnutls26-2.4.1/lib/gl/m4/wchar.m4 --- gnutls26-2.8.6/lib/gl/m4/wchar.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/m4/wchar.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,100 +0,0 @@ -dnl A placeholder for ISO C99 , for platforms that have issues. - -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Written by Eric Blake. - -# wchar.m4 serial 23 - -AC_DEFUN([gl_WCHAR_H], -[ - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CACHE_CHECK([whether is standalone], - [gl_cv_header_wchar_h_standalone], - [AC_COMPILE_IFELSE([[#include -wchar_t w;]], - [gl_cv_header_wchar_h_standalone=yes], - [gl_cv_header_wchar_h_standalone=no])]) - - AC_REQUIRE([gt_TYPE_WINT_T]) - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - AC_SUBST([HAVE_WINT_T]) - - if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then - WCHAR_H=wchar.h - fi - - dnl Prepare for creating substitute . - dnl Do it always: WCHAR_H may be empty here but can be set later. - dnl Check for (missing in Linux uClibc when built without wide - dnl character support). - AC_CHECK_HEADERS_ONCE([wchar.h]) - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - AC_SUBST([HAVE_WCHAR_H]) - gl_CHECK_NEXT_HEADERS([wchar.h]) -]) - -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_WCHAR_H], -[ - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - WCHAR_H=wchar.h -]) - -AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 -]) - -AC_DEFUN([gl_WCHAR_H_DEFAULTS], -[ - GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) - GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) - GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) - GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) - GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) - GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) - GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) - GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) - GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) - GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) - GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) - HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) - HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) - HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) - HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS]) - HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS]) - HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) - HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) - HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) - HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) - HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) - REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) - REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) - REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB]) - REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT]) - REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC]) - REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN]) - REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS]) - REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS]) - REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB]) - REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) - REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) - REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) - WCHAR_H=''; AC_SUBST([WCHAR_H]) -]) diff -Nru gnutls26-2.8.6/lib/gl/Makefile.am gnutls26-2.4.1/lib/gl/Makefile.am --- gnutls26-2.8.6/lib/gl/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,899 +0,0 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=liblgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --avoid=lseek-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files byteswap c-ctype fseeko func gettext lib-msvc-compat lib-symbol-versions memmem-simple memmove minmax netdb read-file snprintf sockets socklen stdint strcase strverscmp sys_socket sys_stat time_r unistd vasprintf vsnprintf - -AUTOMAKE_OPTIONS = 1.5 gnits - -SUBDIRS = -noinst_HEADERS = -noinst_LIBRARIES = -noinst_LTLIBRARIES = -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -SUBDIRS += tests -EXTRA_DIST += m4/gnulib-cache.m4 - -AM_CPPFLAGS = -AM_CFLAGS = - -noinst_LTLIBRARIES += liblgnu.la - -liblgnu_la_SOURCES = -liblgnu_la_LIBADD = $(lgl_LTLIBOBJS) -liblgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS) -EXTRA_liblgnu_la_SOURCES = -liblgnu_la_LDFLAGS = $(AM_LDFLAGS) - -## begin gnulib module alignof - - -EXTRA_DIST += alignof.h - -## end gnulib module alignof - -## begin gnulib module alloca-opt - -BUILT_SOURCES += $(ALLOCA_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t - mv -f $@-t $@ -MOSTLYCLEANFILES += alloca.h alloca.h-t - -EXTRA_DIST += alloca.in.h - -## end gnulib module alloca-opt - -## begin gnulib module byteswap - -BUILT_SOURCES += $(BYTESWAP_H) - -# We need the following in order to create when the system -# doesn't have one. -byteswap.h: byteswap.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/byteswap.in.h; \ - } > $@-t - mv -f $@-t $@ -MOSTLYCLEANFILES += byteswap.h byteswap.h-t - -EXTRA_DIST += byteswap.in.h - -## end gnulib module byteswap - -## begin gnulib module c-ctype - -liblgnu_la_SOURCES += c-ctype.h c-ctype.c - -## end gnulib module c-ctype - -## begin gnulib module close-hook - -liblgnu_la_SOURCES += close-hook.c - -EXTRA_DIST += close-hook.h - -## end gnulib module close-hook - -## begin gnulib module errno - -BUILT_SOURCES += $(ERRNO_H) - -# We need the following in order to create when the system -# doesn't have one that is POSIX compliant. -errno.h: errno.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += errno.h errno.h-t - -EXTRA_DIST += errno.in.h - -## end gnulib module errno - -## begin gnulib module float - -BUILT_SOURCES += $(FLOAT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -float.h: float.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += float.h float.h-t - -EXTRA_DIST += float.in.h - -## end gnulib module float - -## begin gnulib module fseeko - - -EXTRA_DIST += fseeko.c stdio-impl.h - -EXTRA_liblgnu_la_SOURCES += fseeko.c - -## end gnulib module fseeko - -## begin gnulib module gettext - -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs -# -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS += -I$(top_builddir)/intl - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module gettext - -## begin gnulib module gettext-h - -liblgnu_la_SOURCES += gettext.h - -## end gnulib module gettext-h - -## begin gnulib module havelib - - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module havelib - -## begin gnulib module link-warning - -LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h - -EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h - -## end gnulib module link-warning - -## begin gnulib module lseek - - -EXTRA_DIST += lseek.c - -EXTRA_liblgnu_la_SOURCES += lseek.c - -## end gnulib module lseek - -## begin gnulib module memmem-simple - - -EXTRA_DIST += memmem.c str-two-way.h - -EXTRA_liblgnu_la_SOURCES += memmem.c - -## end gnulib module memmem-simple - -## begin gnulib module memmove - - -EXTRA_DIST += memmove.c - -EXTRA_liblgnu_la_SOURCES += memmove.c - -## end gnulib module memmove - -## begin gnulib module minmax - -liblgnu_la_SOURCES += minmax.h - -## end gnulib module minmax - -## begin gnulib module netdb - -BUILT_SOURCES += $(NETDB_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -netdb.h: netdb.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ - -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ - -e 's|@''GNULIB_GETADDRINFO''@|$(GNULIB_GETADDRINFO)|g' \ - -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ - -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ - -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ - < $(srcdir)/netdb.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += netdb.h netdb.h-t - -EXTRA_DIST += netdb.in.h - -## end gnulib module netdb - -## begin gnulib module read-file - - -EXTRA_DIST += read-file.c read-file.h - -EXTRA_liblgnu_la_SOURCES += read-file.c - -## end gnulib module read-file - -## begin gnulib module realloc-posix - - -EXTRA_DIST += realloc.c - -EXTRA_liblgnu_la_SOURCES += realloc.c - -## end gnulib module realloc-posix - -## begin gnulib module size_max - -liblgnu_la_SOURCES += size_max.h - -## end gnulib module size_max - -## begin gnulib module snprintf - - -EXTRA_DIST += snprintf.c - -EXTRA_liblgnu_la_SOURCES += snprintf.c - -## end gnulib module snprintf - -## begin gnulib module sockets - -liblgnu_la_SOURCES += sockets.h sockets.c - -EXTRA_DIST += w32sock.h - -## end gnulib module sockets - -## begin gnulib module stdbool - -BUILT_SOURCES += $(STDBOOL_H) - -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdbool.h stdbool.h-t - -EXTRA_DIST += stdbool.in.h - -## end gnulib module stdbool - -## begin gnulib module stdint - -BUILT_SOURCES += $(STDINT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ - -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ - -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ - -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ - -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdint.h stdint.h-t - -EXTRA_DIST += stdint.in.h - -## end gnulib module stdint - -## begin gnulib module stdio - -BUILT_SOURCES += stdio.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdio.h: stdio.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ - -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ - -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ - -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ - -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ - -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ - -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ - -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ - -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ - -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ - -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ - -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ - -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ - -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ - -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ - -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ - -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ - -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ - -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ - -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ - -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ - -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ - -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ - -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ - -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ - -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ - -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ - -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ - -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ - -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ - -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdio.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdio.h stdio.h-t - -EXTRA_DIST += stdio-write.c stdio.in.h - -EXTRA_liblgnu_la_SOURCES += stdio-write.c - -## end gnulib module stdio - -## begin gnulib module stdlib - -BUILT_SOURCES += stdlib.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ - -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ - -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ - -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ - -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ - -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ - -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ - -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ - -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ - -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ - -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ - -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ - -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ - -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ - -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ - -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ - -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ - -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ - -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ - -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdlib.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += stdlib.h stdlib.h-t - -EXTRA_DIST += stdlib.in.h - -## end gnulib module stdlib - -## begin gnulib module strcase - - -EXTRA_DIST += strcasecmp.c strncasecmp.c - -EXTRA_liblgnu_la_SOURCES += strcasecmp.c strncasecmp.c - -## end gnulib module strcase - -## begin gnulib module string - -BUILT_SOURCES += string.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -string.h: string.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ - -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ - -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ - -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ - -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ - -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ - -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ - -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ - -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ - -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ - -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ - -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ - -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ - -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ - -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ - -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ - -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ - -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ - -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ - -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ - -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ - -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ - -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ - -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ - -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ - -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ - -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ - -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ - -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ - -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ - -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ - -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ - -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ - -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ - -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ - -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ - -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ - -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ - -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ - -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ - -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ - -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ - -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/string.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += string.h string.h-t - -EXTRA_DIST += string.in.h - -## end gnulib module string - -## begin gnulib module strings - -BUILT_SOURCES += strings.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -strings.h: strings.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ - -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ - -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/strings.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += strings.h strings.h-t - -EXTRA_DIST += strings.in.h - -## end gnulib module strings - -## begin gnulib module strverscmp - - -EXTRA_DIST += strverscmp.c - -EXTRA_liblgnu_la_SOURCES += strverscmp.c - -## end gnulib module strverscmp - -## begin gnulib module sys_socket - -BUILT_SOURCES += $(SYS_SOCKET_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/socket.h: sys_socket.in.h - @MKDIR_P@ sys - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ - -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_SOCKET''@|$(GNULIB_SOCKET)|g' \ - -e 's|@''GNULIB_CONNECT''@|$(GNULIB_CONNECT)|g' \ - -e 's|@''GNULIB_ACCEPT''@|$(GNULIB_ACCEPT)|g' \ - -e 's|@''GNULIB_BIND''@|$(GNULIB_BIND)|g' \ - -e 's|@''GNULIB_GETPEERNAME''@|$(GNULIB_GETPEERNAME)|g' \ - -e 's|@''GNULIB_GETSOCKNAME''@|$(GNULIB_GETSOCKNAME)|g' \ - -e 's|@''GNULIB_GETSOCKOPT''@|$(GNULIB_GETSOCKOPT)|g' \ - -e 's|@''GNULIB_LISTEN''@|$(GNULIB_LISTEN)|g' \ - -e 's|@''GNULIB_RECV''@|$(GNULIB_RECV)|g' \ - -e 's|@''GNULIB_SEND''@|$(GNULIB_SEND)|g' \ - -e 's|@''GNULIB_RECVFROM''@|$(GNULIB_RECVFROM)|g' \ - -e 's|@''GNULIB_SENDTO''@|$(GNULIB_SENDTO)|g' \ - -e 's|@''GNULIB_SETSOCKOPT''@|$(GNULIB_SETSOCKOPT)|g' \ - -e 's|@''GNULIB_SHUTDOWN''@|$(GNULIB_SHUTDOWN)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ - -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ - -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_socket.in.h; \ - } > $@-t - mv -f $@-t $@ -MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_socket.in.h - -## end gnulib module sys_socket - -## begin gnulib module sys_stat - -BUILT_SOURCES += $(SYS_STAT_H) - -# We need the following in order to create when the system -# has one that is incomplete. -sys/stat.h: sys_stat.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ - -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ - -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ - -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_stat.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_stat.in.h - -## end gnulib module sys_stat - -## begin gnulib module time - -BUILT_SOURCES += time.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -time.h: time.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ - -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ - -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ - -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ - -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ - -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ - < $(srcdir)/time.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += time.h time.h-t - -EXTRA_DIST += time.in.h - -## end gnulib module time - -## begin gnulib module time_r - - -EXTRA_DIST += time_r.c - -EXTRA_liblgnu_la_SOURCES += time_r.c - -## end gnulib module time_r - -## begin gnulib module unistd - -BUILT_SOURCES += unistd.h - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -unistd.h: unistd.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ - -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ - -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ - -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ - -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ - -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ - -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ - -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ - -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \ - -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ - -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ - -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ - -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ - -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ - -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ - -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ - -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ - -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ - -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ - -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ - -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ - -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ - -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/unistd.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += unistd.h unistd.h-t - -EXTRA_DIST += unistd.in.h - -## end gnulib module unistd - -## begin gnulib module vasnprintf - - -EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h - -EXTRA_liblgnu_la_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c - -## end gnulib module vasnprintf - -## begin gnulib module vasprintf - - -EXTRA_DIST += asprintf.c vasprintf.c - -EXTRA_liblgnu_la_SOURCES += asprintf.c vasprintf.c - -## end gnulib module vasprintf - -## begin gnulib module vsnprintf - - -EXTRA_DIST += vsnprintf.c - -EXTRA_liblgnu_la_SOURCES += vsnprintf.c - -## end gnulib module vsnprintf - -## begin gnulib module wchar - -BUILT_SOURCES += $(WCHAR_H) - -# We need the following in order to create when the system -# version does not work standalone. -wchar.h: wchar.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ - -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ - -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ - -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ - -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ - -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ - -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ - -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ - -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ - -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ - -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ - -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ - -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ - -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ - -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ - -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ - -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ - -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ - -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ - -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ - -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ - -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ - -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ - -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/wchar.in.h; \ - } > $@-t - mv $@-t $@ -MOSTLYCLEANFILES += wchar.h wchar.h-t - -EXTRA_DIST += wchar.in.h - -## end gnulib module wchar - -## begin gnulib module xsize - -liblgnu_la_SOURCES += xsize.h - -## end gnulib module xsize - - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : diff -Nru gnutls26-2.8.6/lib/gl/Makefile.in gnutls26-2.4.1/lib/gl/Makefile.in --- gnutls26-2.8.6/lib/gl/Makefile.in 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/gl/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,1668 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=liblgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --with-tests --avoid=alignof-tests --avoid=lseek-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files byteswap c-ctype fseeko func gettext lib-msvc-compat lib-symbol-versions memmem-simple memmove minmax netdb read-file snprintf sockets socklen stdint strcase strverscmp sys_socket sys_stat time_r unistd vasprintf vsnprintf - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = gl -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -LTLIBRARIES = $(noinst_LTLIBRARIES) -am__DEPENDENCIES_1 = -am_liblgnu_la_OBJECTS = c-ctype.lo close-hook.lo sockets.lo -liblgnu_la_OBJECTS = $(am_liblgnu_la_OBJECTS) -liblgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(liblgnu_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(liblgnu_la_SOURCES) $(EXTRA_liblgnu_la_SOURCES) -DIST_SOURCES = $(liblgnu_la_SOURCES) $(EXTRA_liblgnu_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FLOAT_H = @FLOAT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ -HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ -HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ -HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ -HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ -HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASECMP = @HAVE_STRCASECMP@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSETENV = @HAVE_UNSETENV@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ -HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ -LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTOOL = @LIBTOOL@ -LIBZ = @LIBZ@ -LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ -LTLIBZ = @LTLIBZ@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAJOR_VERSION = @MAJOR_VERSION@ -MAKEINFO = @MAKEINFO@ -MINOR_VERSION = @MINOR_VERSION@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ -NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ -NEXT_STRINGS_H = @NEXT_STRINGS_H@ -NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ -NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATCH_VERSION = @PATCH_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ -REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ -REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ -REPLACE_STRERROR = @REPLACE_STRERROR@ -REPLACE_STRPTIME = @REPLACE_STRPTIME@ -REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ -REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ -REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.5 gnits -SUBDIRS = tests -noinst_HEADERS = -noinst_LIBRARIES = -noinst_LTLIBRARIES = liblgnu.la -EXTRA_DIST = m4/gnulib-cache.m4 alignof.h alloca.in.h byteswap.in.h \ - close-hook.h errno.in.h float.in.h fseeko.c stdio-impl.h \ - $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/link-warning.h lseek.c memmem.c \ - str-two-way.h memmove.c netdb.in.h read-file.c read-file.h \ - realloc.c snprintf.c w32sock.h stdbool.in.h stdint.in.h \ - stdio-write.c stdio.in.h stdlib.in.h strcasecmp.c \ - strncasecmp.c string.in.h strings.in.h strverscmp.c \ - sys_socket.in.h sys_stat.in.h time.in.h time_r.c unistd.in.h \ - asnprintf.c float+.h printf-args.c printf-args.h \ - printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \ - asprintf.c vasprintf.c vsnprintf.c wchar.in.h -BUILT_SOURCES = $(ALLOCA_H) $(BYTESWAP_H) $(ERRNO_H) $(FLOAT_H) \ - $(NETDB_H) $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h string.h \ - strings.h $(SYS_SOCKET_H) $(SYS_STAT_H) time.h unistd.h \ - $(WCHAR_H) -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t byteswap.h \ - byteswap.h-t errno.h errno.h-t float.h float.h-t netdb.h \ - netdb.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t stdio.h \ - stdio.h-t stdlib.h stdlib.h-t string.h string.h-t strings.h \ - strings.h-t sys/socket.h sys/socket.h-t sys/stat.h \ - sys/stat.h-t time.h time.h-t unistd.h unistd.h-t wchar.h \ - wchar.h-t -MOSTLYCLEANDIRS = sys sys -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs -# -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS = -I$(top_builddir)/intl -AM_CFLAGS = -liblgnu_la_SOURCES = c-ctype.h c-ctype.c close-hook.c gettext.h \ - minmax.h size_max.h sockets.h sockets.c xsize.h -liblgnu_la_LIBADD = $(lgl_LTLIBOBJS) -liblgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS) -EXTRA_liblgnu_la_SOURCES = fseeko.c lseek.c memmem.c memmove.c \ - read-file.c realloc.c snprintf.c stdio-write.c strcasecmp.c \ - strncasecmp.c strverscmp.c time_r.c asnprintf.c printf-args.c \ - printf-parse.c vasnprintf.c asprintf.c vasprintf.c vsnprintf.c -liblgnu_la_LDFLAGS = $(AM_LDFLAGS) -LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gl/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits gl/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -liblgnu.la: $(liblgnu_la_OBJECTS) $(liblgnu_la_DEPENDENCIES) - $(liblgnu_la_LINK) $(liblgnu_la_OBJECTS) $(liblgnu_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-hook.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-file.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strncasecmp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vsnprintf.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-local - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \ - ctags-recursive distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am - - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t - mv -f $@-t $@ - -# We need the following in order to create when the system -# doesn't have one. -byteswap.h: byteswap.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/byteswap.in.h; \ - } > $@-t - mv -f $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that is POSIX compliant. -errno.h: errno.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -float.h: float.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -netdb.h: netdb.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ - -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ - -e 's|@''GNULIB_GETADDRINFO''@|$(GNULIB_GETADDRINFO)|g' \ - -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ - -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ - -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ - -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ - < $(srcdir)/netdb.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ - -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ - -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ - -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ - -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdio.h: stdio.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ - -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ - -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ - -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ - -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ - -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ - -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ - -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ - -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ - -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ - -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ - -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ - -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ - -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ - -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ - -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ - -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ - -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ - -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ - -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ - -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ - -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ - -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ - -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ - -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ - -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ - -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ - -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ - -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ - -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ - -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdio.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ - -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ - -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ - -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ - -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ - -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ - -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ - -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ - -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ - -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ - -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ - -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ - -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ - -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ - -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ - -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ - -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ - -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ - -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ - -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/stdlib.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -string.h: string.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ - -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ - -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ - -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ - -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ - -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ - -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ - -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ - -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ - -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ - -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ - -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ - -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ - -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ - -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ - -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ - -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ - -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ - -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ - -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ - -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ - -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ - -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ - -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ - -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ - -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ - -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ - -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ - -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ - -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ - -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ - -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ - -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ - -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ - -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ - -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ - -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ - -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ - -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ - -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ - -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ - -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ - -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ - -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/string.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -strings.h: strings.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ - -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ - -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/strings.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/socket.h: sys_socket.in.h - @MKDIR_P@ sys - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ - -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_SOCKET''@|$(GNULIB_SOCKET)|g' \ - -e 's|@''GNULIB_CONNECT''@|$(GNULIB_CONNECT)|g' \ - -e 's|@''GNULIB_ACCEPT''@|$(GNULIB_ACCEPT)|g' \ - -e 's|@''GNULIB_BIND''@|$(GNULIB_BIND)|g' \ - -e 's|@''GNULIB_GETPEERNAME''@|$(GNULIB_GETPEERNAME)|g' \ - -e 's|@''GNULIB_GETSOCKNAME''@|$(GNULIB_GETSOCKNAME)|g' \ - -e 's|@''GNULIB_GETSOCKOPT''@|$(GNULIB_GETSOCKOPT)|g' \ - -e 's|@''GNULIB_LISTEN''@|$(GNULIB_LISTEN)|g' \ - -e 's|@''GNULIB_RECV''@|$(GNULIB_RECV)|g' \ - -e 's|@''GNULIB_SEND''@|$(GNULIB_SEND)|g' \ - -e 's|@''GNULIB_RECVFROM''@|$(GNULIB_RECVFROM)|g' \ - -e 's|@''GNULIB_SENDTO''@|$(GNULIB_SENDTO)|g' \ - -e 's|@''GNULIB_SETSOCKOPT''@|$(GNULIB_SETSOCKOPT)|g' \ - -e 's|@''GNULIB_SHUTDOWN''@|$(GNULIB_SHUTDOWN)|g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ - -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ - -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_socket.in.h; \ - } > $@-t - mv -f $@-t $@ - -# We need the following in order to create when the system -# has one that is incomplete. -sys/stat.h: sys_stat.in.h - @MKDIR_P@ sys - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ - -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ - -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ - -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/sys_stat.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -time.h: time.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ - -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ - -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ - -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ - -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ - -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ - < $(srcdir)/time.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -unistd.h: unistd.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ - -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ - -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ - -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ - -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ - -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ - -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ - -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ - -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \ - -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ - -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ - -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ - -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ - -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ - -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ - -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ - -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ - -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ - -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ - -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ - -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ - -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ - -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/unistd.in.h; \ - } > $@-t - mv $@-t $@ - -# We need the following in order to create when the system -# version does not work standalone. -wchar.h: wchar.in.h - rm -f $@-t $@ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ - -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ - -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ - -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ - -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ - -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ - -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ - -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ - -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ - -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ - -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ - -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ - -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ - -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ - -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ - -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ - -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ - -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ - -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ - -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ - -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ - -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ - -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ - -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/wchar.in.h; \ - } > $@-t - mv $@-t $@ - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : - -# 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: diff -Nru gnutls26-2.8.6/lib/gl/memmem.c gnutls26-2.4.1/lib/gl/memmem.c --- gnutls26-2.8.6/lib/gl/memmem.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/memmem.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,76 +0,0 @@ -/* Copyright (C) 1991,92,93,94,96,97,98,2000,2004,2007,2008 Free Software - Foundation, Inc. - This file is part of the GNU C Library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This particular implementation was written by Eric Blake, 2008. */ - -#ifndef _LIBC -# include -#endif - -/* Specification of memmem. */ -#include - -#ifndef _LIBC -# define __builtin_expect(expr, val) (expr) -#endif - -#define RETURN_TYPE void * -#define AVAILABLE(h, h_l, j, n_l) ((j) <= (h_l) - (n_l)) -#include "str-two-way.h" - -/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK - if NEEDLE_LEN is 0, otherwise NULL if NEEDLE is not found in - HAYSTACK. */ -void * -memmem (const void *haystack_start, size_t haystack_len, - const void *needle_start, size_t needle_len) -{ - /* Abstract memory is considered to be an array of 'unsigned char' values, - not an array of 'char' values. See ISO C 99 section 6.2.6.1. */ - const unsigned char *haystack = (const unsigned char *) haystack_start; - const unsigned char *needle = (const unsigned char *) needle_start; - - if (needle_len == 0) - /* The first occurrence of the empty string is deemed to occur at - the beginning of the string. */ - return (void *) haystack; - - /* Sanity check, otherwise the loop might search through the whole - memory. */ - if (__builtin_expect (haystack_len < needle_len, 0)) - return NULL; - - /* Use optimizations in memchr when possible, to reduce the search - size of haystack using a linear algorithm with a smaller - coefficient. However, avoid memchr for long needles, since we - can often achieve sublinear performance. */ - if (needle_len < LONG_NEEDLE_THRESHOLD) - { - haystack = memchr (haystack, *needle, haystack_len); - if (!haystack || __builtin_expect (needle_len == 1, 0)) - return (void *) haystack; - haystack_len -= haystack - (const unsigned char *) haystack_start; - if (haystack_len < needle_len) - return NULL; - return two_way_short_needle (haystack, haystack_len, needle, needle_len); - } - else - return two_way_long_needle (haystack, haystack_len, needle, needle_len); -} - -#undef LONG_NEEDLE_THRESHOLD diff -Nru gnutls26-2.8.6/lib/gl/memmove.c gnutls26-2.4.1/lib/gl/memmove.c --- gnutls26-2.8.6/lib/gl/memmove.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/memmove.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -/* memmove.c -- copy memory. - Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate. - In the public domain. - By David MacKenzie . */ - -#include - -#include - -void * -memmove (void *dest0, void const *source0, size_t length) -{ - char *dest = dest0; - char const *source = source0; - if (source < dest) - /* Moving from low mem to hi mem; start at end. */ - for (source += length, dest += length; length; --length) - *--dest = *--source; - else if (source != dest) - { - /* Moving from hi mem to low mem; start at beginning. */ - for (; length; --length) - *dest++ = *source++; - } - return dest0; -} diff -Nru gnutls26-2.8.6/lib/gl/minmax.h gnutls26-2.4.1/lib/gl/minmax.h --- gnutls26-2.8.6/lib/gl/minmax.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/minmax.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ -/* MIN, MAX macros. - Copyright (C) 1995, 1998, 2001, 2003, 2005 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _MINMAX_H -#define _MINMAX_H - -/* Note: MIN, MAX are also defined in on some systems - (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about - MIN, MAX macro redefinitions on some systems; the workaround is to - #include this file as the last one among the #include list. */ - -/* Before we define the following symbols we get the file - since otherwise we get redefinitions on some systems if is - included after this file. Likewise for . - If more than one of these system headers define MIN and MAX, pick just - one of the headers (because the definitions most likely are the same). */ -#if HAVE_MINMAX_IN_LIMITS_H -# include -#elif HAVE_MINMAX_IN_SYS_PARAM_H -# include -#endif - -/* Note: MIN and MAX should be used with two arguments of the - same type. They might not return the minimum and maximum of their two - arguments, if the arguments have different types or have unusual - floating-point values. For example, on a typical host with 32-bit 'int', - 64-bit 'long long', and 64-bit IEEE 754 'double' types: - - MAX (-1, 2147483648) returns 4294967295. - MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. - MAX (NaN, 0.0) returns 0.0. - MAX (+0.0, -0.0) returns -0.0. - - and in each case the answer is in some sense bogus. */ - -/* MAX(a,b) returns the maximum of A and B. */ -#ifndef MAX -# define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - -/* MIN(a,b) returns the minimum of A and B. */ -#ifndef MIN -# define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#endif /* _MINMAX_H */ diff -Nru gnutls26-2.8.6/lib/gl/netdb.in.h gnutls26-2.4.1/lib/gl/netdb.in.h --- gnutls26-2.8.6/lib/gl/netdb.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/netdb.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,182 +0,0 @@ -/* Provide a netdb.h header file for systems lacking it (read: MinGW). - Copyright (C) 2008 Free Software Foundation, Inc. - Written by Simon Josefsson. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file is supposed to be used on platforms that lack . - It is intended to provide definitions and prototypes needed by an - application. */ - -#ifndef _GL_NETDB_H - -#if @HAVE_NETDB_H@ - -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - -/* The include_next requires a split double-inclusion guard. */ -# @INCLUDE_NEXT@ @NEXT_NETDB_H@ - -#endif - -#ifndef _GL_NETDB_H -#define _GL_NETDB_H - -/* Get netdb.h definitions such as struct hostent for MinGW. */ -#include - -/* Declarations for a platform that lacks , or where it is - incomplete. */ - -#if @GNULIB_GETADDRINFO@ - -# if !@HAVE_STRUCT_ADDRINFO@ - -/* Structure to contain information about address of a service provider. */ -struct addrinfo -{ - int ai_flags; /* Input flags. */ - int ai_family; /* Protocol family for socket. */ - int ai_socktype; /* Socket type. */ - int ai_protocol; /* Protocol for socket. */ - socklen_t ai_addrlen; /* Length of socket address. */ - struct sockaddr *ai_addr; /* Socket address for socket. */ - char *ai_canonname; /* Canonical name for service location. */ - struct addrinfo *ai_next; /* Pointer to next in list. */ -}; -# endif - -/* Possible values for `ai_flags' field in `addrinfo' structure. */ -# ifndef AI_PASSIVE -# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ -# endif -# ifndef AI_CANONNAME -# define AI_CANONNAME 0x0002 /* Request for canonical name. */ -# endif -# ifndef AI_NUMERICSERV -# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ -# endif - -# if 0 -/* The commented out definitions below are not yet implemented in the - GNULIB getaddrinfo() replacement, so are not yet needed and may, in fact, - cause conflicts on systems with a getaddrinfo() function which does not - define them. - - If they are restored, be sure to protect the definitions with #ifndef. */ -# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ -# define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ -# define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ -# define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose - returned address type.. */ -# endif /* 0 */ - -/* Error values for `getaddrinfo' function. */ -# ifndef EAI_BADFLAGS -# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ -# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ -# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ -# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ -# define EAI_NODATA -5 /* No address associated with NAME. */ -# define EAI_FAMILY -6 /* `ai_family' not supported. */ -# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ -# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ -# define EAI_MEMORY -10 /* Memory allocation failure. */ -# endif - -/* Since EAI_NODATA is deprecated by RFC3493, some systems (at least - FreeBSD, which does define EAI_BADFLAGS) have removed the definition - in favor of EAI_NONAME. */ -# if !defined EAI_NODATA && defined EAI_NONAME -# define EAI_NODATA EAI_NONAME -# endif - -# ifndef EAI_OVERFLOW -/* Not defined on mingw32 and Haiku. */ -# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ -# endif -# ifndef EAI_ADDRFAMILY -/* Not defined on mingw32. */ -# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ -# endif -# ifndef EAI_SYSTEM -/* Not defined on mingw32. */ -# define EAI_SYSTEM -11 /* System error returned in `errno'. */ -# endif - -# if 0 -/* The commented out definitions below are not yet implemented in the - GNULIB getaddrinfo() replacement, so are not yet needed. - - If they are restored, be sure to protect the definitions with #ifndef. */ -# ifndef EAI_INPROGRESS -# define EAI_INPROGRESS -100 /* Processing request in progress. */ -# define EAI_CANCELED -101 /* Request canceled. */ -# define EAI_NOTCANCELED -102 /* Request not canceled. */ -# define EAI_ALLDONE -103 /* All requests done. */ -# define EAI_INTR -104 /* Interrupted by a signal. */ -# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ -# endif -# endif - -# if !@HAVE_DECL_GETADDRINFO@ -/* Translate name of a service location and/or a service name to set of - socket addresses. - For more details, see the POSIX:2001 specification - . */ -extern int getaddrinfo (const char *restrict nodename, - const char *restrict servname, - const struct addrinfo *restrict hints, - struct addrinfo **restrict res); -# endif - -# if !@HAVE_DECL_FREEADDRINFO@ -/* Free `addrinfo' structure AI including associated storage. - For more details, see the POSIX:2001 specification - . */ -extern void freeaddrinfo (struct addrinfo *ai); -# endif - -# if !@HAVE_DECL_GAI_STRERROR@ -/* Convert error return from getaddrinfo() to a string. - For more details, see the POSIX:2001 specification - . */ -extern const char *gai_strerror (int ecode); -# endif - -# if !@HAVE_DECL_GETNAMEINFO@ -/* Convert socket address to printable node and service names. - For more details, see the POSIX:2001 specification - . */ -extern int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen, - char *restrict node, socklen_t nodelen, - char *restrict service, socklen_t servicelen, - int flags); -# endif - -/* Possible flags for getnameinfo. */ -# ifndef NI_NUMERICHOST -# define NI_NUMERICHOST 1 -# endif -# ifndef NI_NUMERICSERV -# define NI_NUMERICSERV 2 -# endif - -#endif /* @GNULIB_GETADDRINFO@ */ - -#endif /* _GL_NETDB_H */ -#endif /* _GL_NETDB_H */ diff -Nru gnutls26-2.8.6/lib/gl/printf-args.c gnutls26-2.4.1/lib/gl/printf-args.c --- gnutls26-2.8.6/lib/gl/printf-args.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/printf-args.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,187 +0,0 @@ -/* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - PRINTF_FETCHARGS Name of the function to be defined. - STATIC Set to 'static' to declare the function static. */ - -#ifndef PRINTF_FETCHARGS -# include -#endif - -/* Specification. */ -#ifndef PRINTF_FETCHARGS -# include "printf-args.h" -#endif - -#ifdef STATIC -STATIC -#endif -int -PRINTF_FETCHARGS (va_list args, arguments *a) -{ - size_t i; - argument *ap; - - for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) - switch (ap->type) - { - case TYPE_SCHAR: - ap->a.a_schar = va_arg (args, /*signed char*/ int); - break; - case TYPE_UCHAR: - ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); - break; - case TYPE_SHORT: - ap->a.a_short = va_arg (args, /*short*/ int); - break; - case TYPE_USHORT: - ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); - break; - case TYPE_INT: - ap->a.a_int = va_arg (args, int); - break; - case TYPE_UINT: - ap->a.a_uint = va_arg (args, unsigned int); - break; - case TYPE_LONGINT: - ap->a.a_longint = va_arg (args, long int); - break; - case TYPE_ULONGINT: - ap->a.a_ulongint = va_arg (args, unsigned long int); - break; -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - ap->a.a_longlongint = va_arg (args, long long int); - break; - case TYPE_ULONGLONGINT: - ap->a.a_ulonglongint = va_arg (args, unsigned long long int); - break; -#endif - case TYPE_DOUBLE: - ap->a.a_double = va_arg (args, double); - break; - case TYPE_LONGDOUBLE: - ap->a.a_longdouble = va_arg (args, long double); - break; - case TYPE_CHAR: - ap->a.a_char = va_arg (args, int); - break; -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: - /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by - default argument promotions", this is not the case in mingw32, - where wint_t is 'unsigned short'. */ - ap->a.a_wide_char = - (sizeof (wint_t) < sizeof (int) - ? va_arg (args, int) - : va_arg (args, wint_t)); - break; -#endif - case TYPE_STRING: - ap->a.a_string = va_arg (args, const char *); - /* A null pointer is an invalid argument for "%s", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_string == NULL) - ap->a.a_string = "(NULL)"; - break; -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - ap->a.a_wide_string = va_arg (args, const wchar_t *); - /* A null pointer is an invalid argument for "%ls", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_wide_string == NULL) - { - static const wchar_t wide_null_string[] = - { - (wchar_t)'(', - (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', - (wchar_t)')', - (wchar_t)0 - }; - ap->a.a_wide_string = wide_null_string; - } - break; -#endif - case TYPE_POINTER: - ap->a.a_pointer = va_arg (args, void *); - break; - case TYPE_COUNT_SCHAR_POINTER: - ap->a.a_count_schar_pointer = va_arg (args, signed char *); - break; - case TYPE_COUNT_SHORT_POINTER: - ap->a.a_count_short_pointer = va_arg (args, short *); - break; - case TYPE_COUNT_INT_POINTER: - ap->a.a_count_int_pointer = va_arg (args, int *); - break; - case TYPE_COUNT_LONGINT_POINTER: - ap->a.a_count_longint_pointer = va_arg (args, long int *); - break; -#if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); - break; -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case TYPE_U8_STRING: - ap->a.a_u8_string = va_arg (args, const uint8_t *); - /* A null pointer is an invalid argument for "%U", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u8_string == NULL) - { - static const uint8_t u8_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u8_string = u8_null_string; - } - break; - case TYPE_U16_STRING: - ap->a.a_u16_string = va_arg (args, const uint16_t *); - /* A null pointer is an invalid argument for "%lU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u16_string == NULL) - { - static const uint16_t u16_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u16_string = u16_null_string; - } - break; - case TYPE_U32_STRING: - ap->a.a_u32_string = va_arg (args, const uint32_t *); - /* A null pointer is an invalid argument for "%llU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u32_string == NULL) - { - static const uint32_t u32_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u32_string = u32_null_string; - } - break; -#endif - default: - /* Unknown type. */ - return -1; - } - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/printf-args.h gnutls26-2.4.1/lib/gl/printf-args.h --- gnutls26-2.8.6/lib/gl/printf-args.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/printf-args.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,154 +0,0 @@ -/* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2006-2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _PRINTF_ARGS_H -#define _PRINTF_ARGS_H - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - PRINTF_FETCHARGS Name of the function to be declared. - STATIC Set to 'static' to declare the function static. */ - -/* Default parameters. */ -#ifndef PRINTF_FETCHARGS -# define PRINTF_FETCHARGS printf_fetchargs -#endif - -/* Get size_t. */ -#include - -/* Get wchar_t. */ -#if HAVE_WCHAR_T -# include -#endif - -/* Get wint_t. */ -#if HAVE_WINT_T -# include -#endif - -/* Get va_list. */ -#include - - -/* Argument types */ -typedef enum -{ - TYPE_NONE, - TYPE_SCHAR, - TYPE_UCHAR, - TYPE_SHORT, - TYPE_USHORT, - TYPE_INT, - TYPE_UINT, - TYPE_LONGINT, - TYPE_ULONGINT, -#if HAVE_LONG_LONG_INT - TYPE_LONGLONGINT, - TYPE_ULONGLONGINT, -#endif - TYPE_DOUBLE, - TYPE_LONGDOUBLE, - TYPE_CHAR, -#if HAVE_WINT_T - TYPE_WIDE_CHAR, -#endif - TYPE_STRING, -#if HAVE_WCHAR_T - TYPE_WIDE_STRING, -#endif - TYPE_POINTER, - TYPE_COUNT_SCHAR_POINTER, - TYPE_COUNT_SHORT_POINTER, - TYPE_COUNT_INT_POINTER, - TYPE_COUNT_LONGINT_POINTER -#if HAVE_LONG_LONG_INT -, TYPE_COUNT_LONGLONGINT_POINTER -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ -, TYPE_U8_STRING -, TYPE_U16_STRING -, TYPE_U32_STRING -#endif -} arg_type; - -/* Polymorphic argument */ -typedef struct -{ - arg_type type; - union - { - signed char a_schar; - unsigned char a_uchar; - short a_short; - unsigned short a_ushort; - int a_int; - unsigned int a_uint; - long int a_longint; - unsigned long int a_ulongint; -#if HAVE_LONG_LONG_INT - long long int a_longlongint; - unsigned long long int a_ulonglongint; -#endif - float a_float; - double a_double; - long double a_longdouble; - int a_char; -#if HAVE_WINT_T - wint_t a_wide_char; -#endif - const char* a_string; -#if HAVE_WCHAR_T - const wchar_t* a_wide_string; -#endif - void* a_pointer; - signed char * a_count_schar_pointer; - short * a_count_short_pointer; - int * a_count_int_pointer; - long int * a_count_longint_pointer; -#if HAVE_LONG_LONG_INT - long long int * a_count_longlongint_pointer; -#endif -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - const uint8_t * a_u8_string; - const uint16_t * a_u16_string; - const uint32_t * a_u32_string; -#endif - } - a; -} -argument; - -typedef struct -{ - size_t count; - argument *arg; -} -arguments; - - -/* Fetch the arguments, putting them into a. */ -#ifdef STATIC -STATIC -#else -extern -#endif -int PRINTF_FETCHARGS (va_list args, arguments *a); - -#endif /* _PRINTF_ARGS_H */ diff -Nru gnutls26-2.8.6/lib/gl/printf-parse.c gnutls26-2.4.1/lib/gl/printf-parse.c --- gnutls26-2.8.6/lib/gl/printf-parse.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/printf-parse.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,627 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999-2000, 2002-2003, 2006-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - CHAR_T The element type of the format string. - CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters - in the format string are ASCII. - DIRECTIVE Structure denoting a format directive. - Depends on CHAR_T. - DIRECTIVES Structure denoting the set of format directives of a - format string. Depends on CHAR_T. - PRINTF_PARSE Function that parses a format string. - Depends on CHAR_T. - STATIC Set to 'static' to declare the function static. - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ - -#ifndef PRINTF_PARSE -# include -#endif - -/* Specification. */ -#ifndef PRINTF_PARSE -# include "printf-parse.h" -#endif - -/* Default parameters. */ -#ifndef PRINTF_PARSE -# define PRINTF_PARSE printf_parse -# define CHAR_T char -# define DIRECTIVE char_directive -# define DIRECTIVES char_directives -#endif - -/* Get size_t, NULL. */ -#include - -/* Get intmax_t. */ -#if defined IN_LIBINTL || defined IN_LIBASPRINTF -# if HAVE_STDINT_H_WITH_UINTMAX -# include -# endif -# if HAVE_INTTYPES_H_WITH_UINTMAX -# include -# endif -#else -# include -#endif - -/* malloc(), realloc(), free(). */ -#include - -/* errno. */ -#include - -/* Checked size_t computations. */ -#include "xsize.h" - -#if CHAR_T_ONLY_ASCII -/* c_isascii(). */ -# include "c-ctype.h" -#endif - -#ifdef STATIC -STATIC -#endif -int -PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) -{ - const CHAR_T *cp = format; /* pointer into format */ - size_t arg_posn = 0; /* number of regular arguments consumed */ - size_t d_allocated; /* allocated elements of d->dir */ - size_t a_allocated; /* allocated elements of a->arg */ - size_t max_width_length = 0; - size_t max_precision_length = 0; - - d->count = 0; - d_allocated = 1; - d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); - if (d->dir == NULL) - /* Out of memory. */ - goto out_of_memory_1; - - a->count = 0; - a_allocated = 0; - a->arg = NULL; - -#define REGISTER_ARG(_index_,_type_) \ - { \ - size_t n = (_index_); \ - if (n >= a_allocated) \ - { \ - size_t memory_size; \ - argument *memory; \ - \ - a_allocated = xtimes (a_allocated, 2); \ - if (a_allocated <= n) \ - a_allocated = xsum (n, 1); \ - memory_size = xtimes (a_allocated, sizeof (argument)); \ - if (size_overflow_p (memory_size)) \ - /* Overflow, would lead to out of memory. */ \ - goto out_of_memory; \ - memory = (argument *) (a->arg \ - ? realloc (a->arg, memory_size) \ - : malloc (memory_size)); \ - if (memory == NULL) \ - /* Out of memory. */ \ - goto out_of_memory; \ - a->arg = memory; \ - } \ - while (a->count <= n) \ - a->arg[a->count++].type = TYPE_NONE; \ - if (a->arg[n].type == TYPE_NONE) \ - a->arg[n].type = (_type_); \ - else if (a->arg[n].type != (_type_)) \ - /* Ambiguous type for positional argument. */ \ - goto error; \ - } - - while (*cp != '\0') - { - CHAR_T c = *cp++; - if (c == '%') - { - size_t arg_index = ARG_NONE; - DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ - - /* Initialize the next directive. */ - dp->dir_start = cp - 1; - dp->flags = 0; - dp->width_start = NULL; - dp->width_end = NULL; - dp->width_arg_index = ARG_NONE; - dp->precision_start = NULL; - dp->precision_end = NULL; - dp->precision_arg_index = ARG_NONE; - dp->arg_index = ARG_NONE; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - arg_index = n - 1; - cp = np + 1; - } - } - - /* Read the flags. */ - for (;;) - { - if (*cp == '\'') - { - dp->flags |= FLAG_GROUP; - cp++; - } - else if (*cp == '-') - { - dp->flags |= FLAG_LEFT; - cp++; - } - else if (*cp == '+') - { - dp->flags |= FLAG_SHOWSIGN; - cp++; - } - else if (*cp == ' ') - { - dp->flags |= FLAG_SPACE; - cp++; - } - else if (*cp == '#') - { - dp->flags |= FLAG_ALT; - cp++; - } - else if (*cp == '0') - { - dp->flags |= FLAG_ZERO; - cp++; - } - else - break; - } - - /* Parse the field width. */ - if (*cp == '*') - { - dp->width_start = cp; - cp++; - dp->width_end = cp; - if (max_width_length < 1) - max_width_length = 1; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - dp->width_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->width_arg_index == ARG_NONE) - { - dp->width_arg_index = arg_posn++; - if (dp->width_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->width_arg_index, TYPE_INT); - } - else if (*cp >= '0' && *cp <= '9') - { - size_t width_length; - - dp->width_start = cp; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->width_end = cp; - width_length = dp->width_end - dp->width_start; - if (max_width_length < width_length) - max_width_length = width_length; - } - - /* Parse the precision. */ - if (*cp == '.') - { - cp++; - if (*cp == '*') - { - dp->precision_start = cp - 1; - cp++; - dp->precision_end = cp; - if (max_precision_length < 2) - max_precision_length = 2; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory - later. */ - goto error; - dp->precision_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->precision_arg_index == ARG_NONE) - { - dp->precision_arg_index = arg_posn++; - if (dp->precision_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->precision_arg_index, TYPE_INT); - } - else - { - size_t precision_length; - - dp->precision_start = cp - 1; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->precision_end = cp; - precision_length = dp->precision_end - dp->precision_start; - if (max_precision_length < precision_length) - max_precision_length = precision_length; - } - } - - { - arg_type type; - - /* Parse argument type/size specifiers. */ - { - int flags = 0; - - for (;;) - { - if (*cp == 'h') - { - flags |= (1 << (flags & 1)); - cp++; - } - else if (*cp == 'L') - { - flags |= 4; - cp++; - } - else if (*cp == 'l') - { - flags += 8; - cp++; - } - else if (*cp == 'j') - { - if (sizeof (intmax_t) > sizeof (long)) - { - /* intmax_t = long long */ - flags += 16; - } - else if (sizeof (intmax_t) > sizeof (int)) - { - /* intmax_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 'z' || *cp == 'Z') - { - /* 'z' is standardized in ISO C 99, but glibc uses 'Z' - because the warning facility in gcc-2.95.2 understands - only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ - if (sizeof (size_t) > sizeof (long)) - { - /* size_t = long long */ - flags += 16; - } - else if (sizeof (size_t) > sizeof (int)) - { - /* size_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 't') - { - if (sizeof (ptrdiff_t) > sizeof (long)) - { - /* ptrdiff_t = long long */ - flags += 16; - } - else if (sizeof (ptrdiff_t) > sizeof (int)) - { - /* ptrdiff_t = long */ - flags += 8; - } - cp++; - } -#if defined __APPLE__ && defined __MACH__ - /* On MacOS X 10.3, PRIdMAX is defined as "qd". - We cannot change it to "lld" because PRIdMAX must also - be understood by the system's printf routines. */ - else if (*cp == 'q') - { - if (64 / 8 > sizeof (long)) - { - /* int64_t = long long */ - flags += 16; - } - else - { - /* int64_t = long */ - flags += 8; - } - cp++; - } -#endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* On native Win32, PRIdMAX is defined as "I64d". - We cannot change it to "lld" because PRIdMAX must also - be understood by the system's printf routines. */ - else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') - { - if (64 / 8 > sizeof (long)) - { - /* __int64 = long long */ - flags += 16; - } - else - { - /* __int64 = long */ - flags += 8; - } - cp += 3; - } -#endif - else - break; - } - - /* Read the conversion character. */ - c = *cp++; - switch (c) - { - case 'd': case 'i': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGLONGINT; - else -#endif - /* If 'long long' exists and is the same as 'long', we parse - "lld" into TYPE_LONGINT. */ - if (flags >= 8) - type = TYPE_LONGINT; - else if (flags & 2) - type = TYPE_SCHAR; - else if (flags & 1) - type = TYPE_SHORT; - else - type = TYPE_INT; - break; - case 'o': case 'u': case 'x': case 'X': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_ULONGLONGINT; - else -#endif - /* If 'unsigned long long' exists and is the same as - 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ - if (flags >= 8) - type = TYPE_ULONGINT; - else if (flags & 2) - type = TYPE_UCHAR; - else if (flags & 1) - type = TYPE_USHORT; - else - type = TYPE_UINT; - break; - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGDOUBLE; - else - type = TYPE_DOUBLE; - break; - case 'c': - if (flags >= 8) -#if HAVE_WINT_T - type = TYPE_WIDE_CHAR; -#else - goto error; -#endif - else - type = TYPE_CHAR; - break; -#if HAVE_WINT_T - case 'C': - type = TYPE_WIDE_CHAR; - c = 'c'; - break; -#endif - case 's': - if (flags >= 8) -#if HAVE_WCHAR_T - type = TYPE_WIDE_STRING; -#else - goto error; -#endif - else - type = TYPE_STRING; - break; -#if HAVE_WCHAR_T - case 'S': - type = TYPE_WIDE_STRING; - c = 's'; - break; -#endif - case 'p': - type = TYPE_POINTER; - break; - case 'n': -#if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_COUNT_LONGLONGINT_POINTER; - else -#endif - /* If 'long long' exists and is the same as 'long', we parse - "lln" into TYPE_COUNT_LONGINT_POINTER. */ - if (flags >= 8) - type = TYPE_COUNT_LONGINT_POINTER; - else if (flags & 2) - type = TYPE_COUNT_SCHAR_POINTER; - else if (flags & 1) - type = TYPE_COUNT_SHORT_POINTER; - else - type = TYPE_COUNT_INT_POINTER; - break; -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case 'U': - if (flags >= 16) - type = TYPE_U32_STRING; - else if (flags >= 8) - type = TYPE_U16_STRING; - else - type = TYPE_U8_STRING; - break; -#endif - case '%': - type = TYPE_NONE; - break; - default: - /* Unknown conversion character. */ - goto error; - } - } - - if (type != TYPE_NONE) - { - dp->arg_index = arg_index; - if (dp->arg_index == ARG_NONE) - { - dp->arg_index = arg_posn++; - if (dp->arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->arg_index, type); - } - dp->conversion = c; - dp->dir_end = cp; - } - - d->count++; - if (d->count >= d_allocated) - { - size_t memory_size; - DIRECTIVE *memory; - - d_allocated = xtimes (d_allocated, 2); - memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); - if (size_overflow_p (memory_size)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - memory = (DIRECTIVE *) realloc (d->dir, memory_size); - if (memory == NULL) - /* Out of memory. */ - goto out_of_memory; - d->dir = memory; - } - } -#if CHAR_T_ONLY_ASCII - else if (!c_isascii (c)) - { - /* Non-ASCII character. Not supported. */ - goto error; - } -#endif - } - d->dir[d->count].dir_start = cp; - - d->max_width_length = max_width_length; - d->max_precision_length = max_precision_length; - return 0; - -error: - if (a->arg) - free (a->arg); - if (d->dir) - free (d->dir); - errno = EINVAL; - return -1; - -out_of_memory: - if (a->arg) - free (a->arg); - if (d->dir) - free (d->dir); -out_of_memory_1: - errno = ENOMEM; - return -1; -} - -#undef PRINTF_PARSE -#undef DIRECTIVES -#undef DIRECTIVE -#undef CHAR_T_ONLY_ASCII -#undef CHAR_T diff -Nru gnutls26-2.8.6/lib/gl/printf-parse.h gnutls26-2.4.1/lib/gl/printf-parse.h --- gnutls26-2.8.6/lib/gl/printf-parse.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/printf-parse.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,179 +0,0 @@ -/* Parse printf format string. - Copyright (C) 1999, 2002-2003, 2005, 2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _PRINTF_PARSE_H -#define _PRINTF_PARSE_H - -/* This file can be parametrized with the following macros: - ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. - STATIC Set to 'static' to declare the function static. */ - -#include "printf-args.h" - - -/* Flags */ -#define FLAG_GROUP 1 /* ' flag */ -#define FLAG_LEFT 2 /* - flag */ -#define FLAG_SHOWSIGN 4 /* + flag */ -#define FLAG_SPACE 8 /* space flag */ -#define FLAG_ALT 16 /* # flag */ -#define FLAG_ZERO 32 - -/* arg_index value indicating that no argument is consumed. */ -#define ARG_NONE (~(size_t)0) - -/* xxx_directive: A parsed directive. - xxx_directives: A parsed format string. */ - -/* A parsed directive. */ -typedef struct -{ - const char* dir_start; - const char* dir_end; - int flags; - const char* width_start; - const char* width_end; - size_t width_arg_index; - const char* precision_start; - const char* precision_end; - size_t precision_arg_index; - char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -char_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - char_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -char_directives; - -#if ENABLE_UNISTDIO - -/* A parsed directive. */ -typedef struct -{ - const uint8_t* dir_start; - const uint8_t* dir_end; - int flags; - const uint8_t* width_start; - const uint8_t* width_end; - size_t width_arg_index; - const uint8_t* precision_start; - const uint8_t* precision_end; - size_t precision_arg_index; - uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u8_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u8_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u8_directives; - -/* A parsed directive. */ -typedef struct -{ - const uint16_t* dir_start; - const uint16_t* dir_end; - int flags; - const uint16_t* width_start; - const uint16_t* width_end; - size_t width_arg_index; - const uint16_t* precision_start; - const uint16_t* precision_end; - size_t precision_arg_index; - uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u16_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u16_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u16_directives; - -/* A parsed directive. */ -typedef struct -{ - const uint32_t* dir_start; - const uint32_t* dir_end; - int flags; - const uint32_t* width_start; - const uint32_t* width_end; - size_t width_arg_index; - const uint32_t* precision_start; - const uint32_t* precision_end; - size_t precision_arg_index; - uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ - size_t arg_index; -} -u32_directive; - -/* A parsed format string. */ -typedef struct -{ - size_t count; - u32_directive *dir; - size_t max_width_length; - size_t max_precision_length; -} -u32_directives; - -#endif - - -/* Parses the format string. Fills in the number N of directives, and fills - in directives[0], ..., directives[N-1], and sets directives[N].dir_start - to the end of the format string. Also fills in the arg_type fields of the - arguments and the needed count of arguments. */ -#if ENABLE_UNISTDIO -extern int - ulc_printf_parse (const char *format, char_directives *d, arguments *a); -extern int - u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a); -extern int - u16_printf_parse (const uint16_t *format, u16_directives *d, - arguments *a); -extern int - u32_printf_parse (const uint32_t *format, u32_directives *d, - arguments *a); -#else -# ifdef STATIC -STATIC -# else -extern -# endif -int printf_parse (const char *format, char_directives *d, arguments *a); -#endif - -#endif /* _PRINTF_PARSE_H */ diff -Nru gnutls26-2.8.6/lib/gl/read-file.c gnutls26-2.4.1/lib/gl/read-file.c --- gnutls26-2.8.6/lib/gl/read-file.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/read-file.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,136 +0,0 @@ -/* read-file.c -- read file contents into a string - Copyright (C) 2006 Free Software Foundation, Inc. - Written by Simon Josefsson and Bruno Haible. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -#include "read-file.h" - -/* Get realloc, free. */ -#include - -/* Get errno. */ -#include - -/* Read a STREAM and return a newly allocated string with the content, - and set *LENGTH to the length of the string. The string is - zero-terminated, but the terminating zero byte is not counted in - *LENGTH. On errors, *LENGTH is undefined, errno preserves the - values set by system functions (if any), and NULL is returned. */ -char * -fread_file (FILE * stream, size_t * length) -{ - char *buf = NULL; - size_t alloc = 0; - size_t size = 0; - int save_errno; - - for (;;) - { - size_t count; - size_t requested; - - if (size + BUFSIZ + 1 > alloc) - { - char *new_buf; - - alloc += alloc / 2; - if (alloc < size + BUFSIZ + 1) - alloc = size + BUFSIZ + 1; - - new_buf = realloc (buf, alloc); - if (!new_buf) - { - save_errno = errno; - break; - } - - buf = new_buf; - } - - requested = alloc - size - 1; - count = fread (buf + size, 1, requested, stream); - size += count; - - if (count != requested) - { - save_errno = errno; - if (ferror (stream)) - break; - buf[size] = '\0'; - *length = size; - return buf; - } - } - - free (buf); - errno = save_errno; - return NULL; -} - -static char * -internal_read_file (const char *filename, size_t * length, const char *mode) -{ - FILE *stream = fopen (filename, mode); - char *out; - int save_errno; - - if (!stream) - return NULL; - - out = fread_file (stream, length); - - save_errno = errno; - - if (fclose (stream) != 0) - { - if (out) - { - save_errno = errno; - free (out); - } - errno = save_errno; - return NULL; - } - - return out; -} - -/* Open and read the contents of FILENAME, and return a newly - allocated string with the content, and set *LENGTH to the length of - the string. The string is zero-terminated, but the terminating - zero byte is not counted in *LENGTH. On errors, *LENGTH is - undefined, errno preserves the values set by system functions (if - any), and NULL is returned. */ -char * -read_file (const char *filename, size_t * length) -{ - return internal_read_file (filename, length, "r"); -} - -/* Open (on non-POSIX systems, in binary mode) and read the contents - of FILENAME, and return a newly allocated string with the content, - and set LENGTH to the length of the string. The string is - zero-terminated, but the terminating zero byte is not counted in - the LENGTH variable. On errors, *LENGTH is undefined, errno - preserves the values set by system functions (if any), and NULL is - returned. */ -char * -read_binary_file (const char *filename, size_t * length) -{ - return internal_read_file (filename, length, "rb"); -} diff -Nru gnutls26-2.8.6/lib/gl/read-file.h gnutls26-2.4.1/lib/gl/read-file.h --- gnutls26-2.8.6/lib/gl/read-file.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/read-file.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -/* read-file.h -- read file contents into a string - Copyright (C) 2006 Free Software Foundation, Inc. - Written by Simon Josefsson. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef READ_FILE_H -#define READ_FILE_H - -/* Get size_t. */ -#include - -/* Get FILE. */ -#include - -extern char *fread_file (FILE * stream, size_t * length); - -extern char *read_file (const char *filename, size_t * length); - -extern char *read_binary_file (const char *filename, size_t * length); - -#endif /* READ_FILE_H */ diff -Nru gnutls26-2.8.6/lib/gl/realloc.c gnutls26-2.4.1/lib/gl/realloc.c --- gnutls26-2.8.6/lib/gl/realloc.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/realloc.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,87 +0,0 @@ -/* realloc() function that is glibc compatible. - - Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -/* written by Jim Meyering and Bruno Haible */ - -#include - -/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ -#ifdef realloc -# define NEED_REALLOC_GNU 1 -#endif - -/* Infer the properties of the system's malloc function. - Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ -#if GNULIB_MALLOC_GNU && !defined malloc -# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 -#endif - -/* Below we want to call the system's malloc and realloc. - Undefine the symbols here so that including provides a - declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ -#undef malloc -#undef realloc - -/* Specification. */ -#include - -#include - -/* Below we want to call the system's malloc and realloc. - Undefine the symbols, if they were defined by gnulib's - replacement. */ -#undef malloc -#undef realloc - -/* Change the size of an allocated block of memory P to N bytes, - with error checking. If N is zero, change it to 1. If P is NULL, - use malloc. */ - -void * -rpl_realloc (void *p, size_t n) -{ - void *result; - -#if NEED_REALLOC_GNU - if (n == 0) - { - n = 1; - - /* In theory realloc might fail, so don't rely on it to free. */ - free (p); - p = NULL; - } -#endif - - if (p == NULL) - { -#if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE - if (n == 0) - n = 1; -#endif - result = malloc (n); - } - else - result = realloc (p, n); - -#if !HAVE_REALLOC_POSIX - if (result == NULL) - errno = ENOMEM; -#endif - - return result; -} diff -Nru gnutls26-2.8.6/lib/gl/size_max.h gnutls26-2.4.1/lib/gl/size_max.h --- gnutls26-2.8.6/lib/gl/size_max.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/size_max.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* size_max.h -- declare SIZE_MAX through system headers - Copyright (C) 2005-2006 Free Software Foundation, Inc. - Written by Simon Josefsson. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef GNULIB_SIZE_MAX_H -#define GNULIB_SIZE_MAX_H - -/* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */ -# include -/* Get SIZE_MAX declaration on systems like glibc 2. */ -# if HAVE_STDINT_H -# include -# endif -/* On systems where these include files don't define it, SIZE_MAX is defined - in config.h. */ - -#endif /* GNULIB_SIZE_MAX_H */ diff -Nru gnutls26-2.8.6/lib/gl/snprintf.c gnutls26-2.4.1/lib/gl/snprintf.c --- gnutls26-2.8.6/lib/gl/snprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/snprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. - Written by Simon Josefsson and Paul Eggert. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#include -#include -#include -#include -#include - -#include "vasnprintf.h" - -/* Print formatted output to string STR. Similar to sprintf, but - additional length SIZE limit how much is written into STR. Returns - string length of formatted string (which may be larger than SIZE). - STR may be NULL, in which case nothing will be written. On error, - return a negative value. */ -int -snprintf (char *str, size_t size, const char *format, ...) -{ - char *output; - size_t len; - size_t lenbuf = size; - va_list args; - - va_start (args, format); - output = vasnprintf (str, &lenbuf, format, args); - len = lenbuf; - va_end (args); - - if (!output) - return -1; - - if (output != str) - { - if (size) - { - size_t pruned_len = (len < size ? len : size - 1); - memcpy (str, output, pruned_len); - str[pruned_len] = '\0'; - } - - free (output); - } - - if (INT_MAX < len) - { - errno = EOVERFLOW; - return -1; - } - - return len; -} diff -Nru gnutls26-2.8.6/lib/gl/sockets.c gnutls26-2.4.1/lib/gl/sockets.c --- gnutls26-2.8.6/lib/gl/sockets.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/sockets.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -/* sockets.c --- wrappers for Windows socket functions - - Copyright (C) 2008-2009 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -/* Written by Simon Josefsson */ - -#include - -/* Specification. */ -#include "sockets.h" - -#if WINDOWS_SOCKETS - -/* This includes winsock2.h on MinGW. */ -#include - -#include "close-hook.h" - -/* Get set_winsock_errno, FD_TO_SOCKET etc. */ -#include "w32sock.h" - -static int -close_fd_maybe_socket (int fd, const struct close_hook *remaining_list) -{ - SOCKET sock; - WSANETWORKEVENTS ev; - - /* Test whether fd refers to a socket. */ - sock = FD_TO_SOCKET (fd); - ev.lNetworkEvents = 0xDEADBEEF; - WSAEnumNetworkEvents (sock, NULL, &ev); - if (ev.lNetworkEvents != 0xDEADBEEF) - { - /* fd refers to a socket. */ - /* FIXME: other applications, like squid, use an undocumented - _free_osfhnd free function. But this is not enough: The 'osfile' - flags for fd also needs to be cleared, but it is hard to access it. - Instead, here we just close twice the file descriptor. */ - if (closesocket (sock)) - { - set_winsock_errno (); - return -1; - } - else - { - /* This call frees the file descriptor and does a - CloseHandle ((HANDLE) _get_osfhandle (fd)), which fails. */ - _close (fd); - return 0; - } - } - else - /* Some other type of file descriptor. */ - return execute_close_hooks (fd, remaining_list); -} - -static struct close_hook close_sockets_hook; - -#endif - -int -gl_sockets_startup (int version) -{ -#if WINDOWS_SOCKETS - WSADATA data; - int err; - - err = WSAStartup (version, &data); - if (err != 0) - return 1; - - if (data.wVersion < version) - return 2; - - register_close_hook (close_fd_maybe_socket, &close_sockets_hook); -#endif - - return 0; -} - -int -gl_sockets_cleanup (void) -{ -#if WINDOWS_SOCKETS - int err; - - unregister_close_hook (&close_sockets_hook); - - err = WSACleanup (); - if (err != 0) - return 1; -#endif - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/sockets.h gnutls26-2.4.1/lib/gl/sockets.h --- gnutls26-2.8.6/lib/gl/sockets.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/sockets.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* sockets.h - wrappers for Windows socket functions - - Copyright (C) 2008, 2009 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -/* Written by Simon Josefsson */ - -#ifndef SOCKETS_H -# define SOCKETS_H 1 - -#define SOCKETS_1_0 0x100 /* don't use - does not work on Windows XP */ -#define SOCKETS_1_1 0x101 -#define SOCKETS_2_0 0x200 /* don't use - does not work on Windows XP */ -#define SOCKETS_2_1 0x201 -#define SOCKETS_2_2 0x202 - -int gl_sockets_startup (int version); -int gl_sockets_cleanup (void); - -/* This function is useful it you create a socket using gnulib's - Winsock wrappers but needs to pass on the socket handle to some - other library that only accepts sockets. */ -#if WINDOWS_SOCKETS - -#include - -static inline SOCKET -gl_fd_to_handle (int fd) -{ - return _get_osfhandle (fd); -} - -#else - -#define gl_fd_to_handle(x) (x) - -#endif /* WINDOWS_SOCKETS */ - -#endif /* SOCKETS_H */ diff -Nru gnutls26-2.8.6/lib/gl/stdbool.in.h gnutls26-2.4.1/lib/gl/stdbool.in.h --- gnutls26-2.8.6/lib/gl/stdbool.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdbool.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,119 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) == 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be used. - - - You cannot assume that _Bool is a typedef; it might be a macro. - - - Bit-fields of type 'bool' are not supported. Portable code - should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - - - In C99, casts and automatic conversions to '_Bool' or 'bool' are - performed in such a way that every nonzero value gets converted - to 'true', and zero gets converted to 'false'. This doesn't work - with this substitute. With this substitute, only the values 0 and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the same - definitions below, but temporarily we have to #undef them. */ -#if defined __BEOS__ && !defined __HAIKU__ -# include /* defines bool but not _Bool */ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) - /* A compiler known to have 'bool'. */ - /* If the compiler already has both 'bool' and '_Bool', we can assume they - are the same types. */ -# if !@HAVE__BOOL@ -typedef bool _Bool; -# endif -#else -# if !defined __GNUC__ - /* If @HAVE__BOOL@: - Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when - the built-in _Bool type is used. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - Similar bugs are likely with other compilers as well; this file - wouldn't be used if was working. - So we override the _Bool type. - If !@HAVE__BOOL@: - Need to define _Bool ourselves. As 'signed char' or as an enum type? - Use of a typedef, with SunPRO C, leads to a stupid - "warning: _Bool is a keyword in ISO C99". - Use of an enum type, with IRIX cc, leads to a stupid - "warning(1185): enumerated type mixed with another type". - Even the existence of an enum type, without a typedef, - "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. - The only benefit of the enum, debuggability, is not important - with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else - /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ -typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; -# endif -# endif -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _GL_STDBOOL_H */ diff -Nru gnutls26-2.8.6/lib/gl/stdint.in.h gnutls26-2.4.1/lib/gl/stdint.in.h --- gnutls26-2.8.6/lib/gl/stdint.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdint.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,567 +0,0 @@ -/* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc. - Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. - This file is part of gnulib. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* - * ISO C 99 for platforms that lack it. - * - */ - -#ifndef _GL_STDINT_H - -/* When including a system file that in turn includes , - use the system , not our substitute. This avoids - problems with (for example) VMS, whose includes - . */ -#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H - -/* Get those types that are already defined in other system include - files, so that we can "#define int8_t signed char" below without - worrying about a later system include file containing a "typedef - signed char int8_t;" that will get messed up by our macro. Our - macros should all be consistent with the system versions, except - for the "fast" types and macros, which we recommend against using - in public interfaces due to compiler differences. */ - -#if @HAVE_STDINT_H@ -# if defined __sgi && ! defined __c99 - /* Bypass IRIX's if in C89 mode, since it merely annoys users - with "This header file is to be used only for c99 mode compilations" - diagnostics. */ -# define __STDINT_H__ -# endif - /* Other systems may have an incomplete or buggy . - Include it before , since any "#include " - in would reinclude us, skipping our contents because - _GL_STDINT_H is defined. - The include_next requires a split double-inclusion guard. */ -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif -# @INCLUDE_NEXT@ @NEXT_STDINT_H@ -#endif - -#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H -#define _GL_STDINT_H - -/* defines some of the stdint.h types as well, on glibc, - IRIX 6.5, and OpenBSD 3.8 (via ). - AIX 5.2 isn't needed and causes troubles. - MacOS X 10.4.6 includes (which is us), but - relies on the system definitions, so include - after @NEXT_STDINT_H@. */ -#if @HAVE_SYS_TYPES_H@ && ! defined _AIX -# include -#endif - -/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ -#include - -#if @HAVE_INTTYPES_H@ - /* In OpenBSD 3.8, includes , which defines - int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. - also defines intptr_t and uintptr_t. */ -# include -#elif @HAVE_SYS_INTTYPES_H@ - /* Solaris 7 has the types except the *_fast*_t types, and - the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ -# include -#endif - -#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ - /* Linux libc4 >= 4.6.7 and libc5 have a that defines - int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is - included by . */ -# include -#endif - -#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H - -/* Minimum and maximum values for a integer type under the usual assumption. - Return an unspecified value if BITS == 0, adding a check to pacify - picky compilers. */ - -#define _STDINT_MIN(signed, bits, zero) \ - ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) - -#define _STDINT_MAX(signed, bits, zero) \ - ((signed) \ - ? ~ _STDINT_MIN (signed, bits, zero) \ - : /* The expression for the unsigned case. The subtraction of (signed) \ - is a nop in the unsigned case and avoids "signed integer overflow" \ - warnings in the signed case. */ \ - ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) - -/* 7.18.1.1. Exact-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. */ - -#undef int8_t -#undef uint8_t -typedef signed char gl_int8_t; -typedef unsigned char gl_uint8_t; -#define int8_t gl_int8_t -#define uint8_t gl_uint8_t - -#undef int16_t -#undef uint16_t -typedef short int gl_int16_t; -typedef unsigned short int gl_uint16_t; -#define int16_t gl_int16_t -#define uint16_t gl_uint16_t - -#undef int32_t -#undef uint32_t -typedef int gl_int32_t; -typedef unsigned int gl_uint32_t; -#define int32_t gl_int32_t -#define uint32_t gl_uint32_t - -/* Do not undefine int64_t if gnulib is not being used with 64-bit - types, since otherwise it breaks platforms like Tandem/NSK. */ -#if LONG_MAX >> 31 >> 31 == 1 -# undef int64_t -typedef long int gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#elif defined _MSC_VER -# undef int64_t -typedef __int64 gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#elif @HAVE_LONG_LONG_INT@ -# undef int64_t -typedef long long int gl_int64_t; -# define int64_t gl_int64_t -# define GL_INT64_T -#endif - -#if ULONG_MAX >> 31 >> 31 >> 1 == 1 -# undef uint64_t -typedef unsigned long int gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#elif defined _MSC_VER -# undef uint64_t -typedef unsigned __int64 gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#elif @HAVE_UNSIGNED_LONG_LONG_INT@ -# undef uint64_t -typedef unsigned long long int gl_uint64_t; -# define uint64_t gl_uint64_t -# define GL_UINT64_T -#endif - -/* Avoid collision with Solaris 2.5.1 etc. */ -#define _UINT8_T -#define _UINT32_T -#define _UINT64_T - - -/* 7.18.1.2. Minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types - are the same as the corresponding N_t types. */ - -#undef int_least8_t -#undef uint_least8_t -#undef int_least16_t -#undef uint_least16_t -#undef int_least32_t -#undef uint_least32_t -#undef int_least64_t -#undef uint_least64_t -#define int_least8_t int8_t -#define uint_least8_t uint8_t -#define int_least16_t int16_t -#define uint_least16_t uint16_t -#define int_least32_t int32_t -#define uint_least32_t uint32_t -#ifdef GL_INT64_T -# define int_least64_t int64_t -#endif -#ifdef GL_UINT64_T -# define uint_least64_t uint64_t -#endif - -/* 7.18.1.3. Fastest minimum-width integer types */ - -/* Note: Other substitutes may define these types differently. - It is not recommended to use these types in public header files. */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types - are taken from the same list of types. Assume that 'long int' - is fast enough for all narrower integers. */ - -#undef int_fast8_t -#undef uint_fast8_t -#undef int_fast16_t -#undef uint_fast16_t -#undef int_fast32_t -#undef uint_fast32_t -#undef int_fast64_t -#undef uint_fast64_t -typedef long int gl_int_fast8_t; -typedef unsigned long int gl_uint_fast8_t; -typedef long int gl_int_fast16_t; -typedef unsigned long int gl_uint_fast16_t; -typedef long int gl_int_fast32_t; -typedef unsigned long int gl_uint_fast32_t; -#define int_fast8_t gl_int_fast8_t -#define uint_fast8_t gl_uint_fast8_t -#define int_fast16_t gl_int_fast16_t -#define uint_fast16_t gl_uint_fast16_t -#define int_fast32_t gl_int_fast32_t -#define uint_fast32_t gl_uint_fast32_t -#ifdef GL_INT64_T -# define int_fast64_t int64_t -#endif -#ifdef GL_UINT64_T -# define uint_fast64_t uint64_t -#endif - -/* 7.18.1.4. Integer types capable of holding object pointers */ - -#undef intptr_t -#undef uintptr_t -typedef long int gl_intptr_t; -typedef unsigned long int gl_uintptr_t; -#define intptr_t gl_intptr_t -#define uintptr_t gl_uintptr_t - -/* 7.18.1.5. Greatest-width integer types */ - -/* Note: These types are compiler dependent. It may be unwise to use them in - public header files. */ - -#undef intmax_t -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -typedef long long int gl_intmax_t; -# define intmax_t gl_intmax_t -#elif defined GL_INT64_T -# define intmax_t int64_t -#else -typedef long int gl_intmax_t; -# define intmax_t gl_intmax_t -#endif - -#undef uintmax_t -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -typedef unsigned long long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t -#elif defined GL_UINT64_T -# define uintmax_t uint64_t -#else -typedef unsigned long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t -#endif - -/* Verify that intmax_t and uintmax_t have the same size. Too much code - breaks if this is not the case. If this check fails, the reason is likely - to be found in the autoconf macros. */ -typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; - -/* 7.18.2. Limits of specified-width integer types */ - -#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS - -/* 7.18.2.1. Limits of exact-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. */ - -#undef INT8_MIN -#undef INT8_MAX -#undef UINT8_MAX -#define INT8_MIN (~ INT8_MAX) -#define INT8_MAX 127 -#define UINT8_MAX 255 - -#undef INT16_MIN -#undef INT16_MAX -#undef UINT16_MAX -#define INT16_MIN (~ INT16_MAX) -#define INT16_MAX 32767 -#define UINT16_MAX 65535 - -#undef INT32_MIN -#undef INT32_MAX -#undef UINT32_MAX -#define INT32_MIN (~ INT32_MAX) -#define INT32_MAX 2147483647 -#define UINT32_MAX 4294967295U - -#undef INT64_MIN -#undef INT64_MAX -#ifdef GL_INT64_T -/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 - evaluates the latter incorrectly in preprocessor expressions. */ -# define INT64_MIN (- INTMAX_C (1) << 63) -# define INT64_MAX INTMAX_C (9223372036854775807) -#endif - -#undef UINT64_MAX -#ifdef GL_UINT64_T -# define UINT64_MAX UINTMAX_C (18446744073709551615) -#endif - -/* 7.18.2.2. Limits of minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types - are the same as the corresponding N_t types. */ - -#undef INT_LEAST8_MIN -#undef INT_LEAST8_MAX -#undef UINT_LEAST8_MAX -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define UINT_LEAST8_MAX UINT8_MAX - -#undef INT_LEAST16_MIN -#undef INT_LEAST16_MAX -#undef UINT_LEAST16_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define UINT_LEAST16_MAX UINT16_MAX - -#undef INT_LEAST32_MIN -#undef INT_LEAST32_MAX -#undef UINT_LEAST32_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define UINT_LEAST32_MAX UINT32_MAX - -#undef INT_LEAST64_MIN -#undef INT_LEAST64_MAX -#ifdef GL_INT64_T -# define INT_LEAST64_MIN INT64_MIN -# define INT_LEAST64_MAX INT64_MAX -#endif - -#undef UINT_LEAST64_MAX -#ifdef GL_UINT64_T -# define UINT_LEAST64_MAX UINT64_MAX -#endif - -/* 7.18.2.3. Limits of fastest minimum-width integer types */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types - are taken from the same list of types. */ - -#undef INT_FAST8_MIN -#undef INT_FAST8_MAX -#undef UINT_FAST8_MAX -#define INT_FAST8_MIN LONG_MIN -#define INT_FAST8_MAX LONG_MAX -#define UINT_FAST8_MAX ULONG_MAX - -#undef INT_FAST16_MIN -#undef INT_FAST16_MAX -#undef UINT_FAST16_MAX -#define INT_FAST16_MIN LONG_MIN -#define INT_FAST16_MAX LONG_MAX -#define UINT_FAST16_MAX ULONG_MAX - -#undef INT_FAST32_MIN -#undef INT_FAST32_MAX -#undef UINT_FAST32_MAX -#define INT_FAST32_MIN LONG_MIN -#define INT_FAST32_MAX LONG_MAX -#define UINT_FAST32_MAX ULONG_MAX - -#undef INT_FAST64_MIN -#undef INT_FAST64_MAX -#ifdef GL_INT64_T -# define INT_FAST64_MIN INT64_MIN -# define INT_FAST64_MAX INT64_MAX -#endif - -#undef UINT_FAST64_MAX -#ifdef GL_UINT64_T -# define UINT_FAST64_MAX UINT64_MAX -#endif - -/* 7.18.2.4. Limits of integer types capable of holding object pointers */ - -#undef INTPTR_MIN -#undef INTPTR_MAX -#undef UINTPTR_MAX -#define INTPTR_MIN LONG_MIN -#define INTPTR_MAX LONG_MAX -#define UINTPTR_MAX ULONG_MAX - -/* 7.18.2.5. Limits of greatest-width integer types */ - -#undef INTMAX_MIN -#undef INTMAX_MAX -#ifdef INT64_MAX -# define INTMAX_MIN INT64_MIN -# define INTMAX_MAX INT64_MAX -#else -# define INTMAX_MIN INT32_MIN -# define INTMAX_MAX INT32_MAX -#endif - -#undef UINTMAX_MAX -#ifdef UINT64_MAX -# define UINTMAX_MAX UINT64_MAX -#else -# define UINTMAX_MAX UINT32_MAX -#endif - -/* 7.18.3. Limits of other integer types */ - -/* ptrdiff_t limits */ -#undef PTRDIFF_MIN -#undef PTRDIFF_MAX -#if @APPLE_UNIVERSAL_BUILD@ -# ifdef _LP64 -# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) -# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) -# else -# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) -# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) -# endif -#else -# define PTRDIFF_MIN \ - _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) -# define PTRDIFF_MAX \ - _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) -#endif - -/* sig_atomic_t limits */ -#undef SIG_ATOMIC_MIN -#undef SIG_ATOMIC_MAX -#define SIG_ATOMIC_MIN \ - _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ - 0@SIG_ATOMIC_T_SUFFIX@) -#define SIG_ATOMIC_MAX \ - _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ - 0@SIG_ATOMIC_T_SUFFIX@) - - -/* size_t limit */ -#undef SIZE_MAX -#if @APPLE_UNIVERSAL_BUILD@ -# ifdef _LP64 -# define SIZE_MAX _STDINT_MAX (0, 64, 0ul) -# else -# define SIZE_MAX _STDINT_MAX (0, 32, 0ul) -# endif -#else -# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) -#endif - -/* wchar_t limits */ -/* Get WCHAR_MIN, WCHAR_MAX. - This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested - includes -> -> -> , and the latter includes - and assumes its types are already defined. */ -#if ! (defined WCHAR_MIN && defined WCHAR_MAX) -# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H -# include -# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H -#endif -#undef WCHAR_MIN -#undef WCHAR_MAX -#define WCHAR_MIN \ - _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) -#define WCHAR_MAX \ - _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) - -/* wint_t limits */ -#undef WINT_MIN -#undef WINT_MAX -#define WINT_MIN \ - _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) -#define WINT_MAX \ - _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) - -#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ - -/* 7.18.4. Macros for integer constants */ - -#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS - -/* 7.18.4.1. Macros for minimum-width integer constants */ -/* According to ISO C 99 Technical Corrigendum 1 */ - -/* Here we assume a standard architecture where the hardware integer - types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ - -#undef INT8_C -#undef UINT8_C -#define INT8_C(x) x -#define UINT8_C(x) x - -#undef INT16_C -#undef UINT16_C -#define INT16_C(x) x -#define UINT16_C(x) x - -#undef INT32_C -#undef UINT32_C -#define INT32_C(x) x -#define UINT32_C(x) x ## U - -#undef INT64_C -#undef UINT64_C -#if LONG_MAX >> 31 >> 31 == 1 -# define INT64_C(x) x##L -#elif defined _MSC_VER -# define INT64_C(x) x##i64 -#elif @HAVE_LONG_LONG_INT@ -# define INT64_C(x) x##LL -#endif -#if ULONG_MAX >> 31 >> 31 >> 1 == 1 -# define UINT64_C(x) x##UL -#elif defined _MSC_VER -# define UINT64_C(x) x##ui64 -#elif @HAVE_UNSIGNED_LONG_LONG_INT@ -# define UINT64_C(x) x##ULL -#endif - -/* 7.18.4.2. Macros for greatest-width integer constants */ - -#undef INTMAX_C -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -# define INTMAX_C(x) x##LL -#elif defined GL_INT64_T -# define INTMAX_C(x) INT64_C(x) -#else -# define INTMAX_C(x) x##L -#endif - -#undef UINTMAX_C -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -# define UINTMAX_C(x) x##ULL -#elif defined GL_UINT64_T -# define UINTMAX_C(x) UINT64_C(x) -#else -# define UINTMAX_C(x) x##UL -#endif - -#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ - -#endif /* _GL_STDINT_H */ -#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ diff -Nru gnutls26-2.8.6/lib/gl/stdio-impl.h gnutls26-2.4.1/lib/gl/stdio-impl.h --- gnutls26-2.8.6/lib/gl/stdio-impl.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdio-impl.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,94 +0,0 @@ -/* Implementation details of FILE streams. - Copyright (C) 2007-2008 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -/* Many stdio implementations have the same logic and therefore can share - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - - -/* BSD stdio derived implementations. */ - -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - -# if defined __DragonFly__ /* DragonFly */ - /* See . */ -# define fp_ ((struct { struct __FILE_public pub; \ - struct { unsigned char *_base; int _size; } _bf; \ - void *cookie; \ - void *_close; \ - void *_read; \ - void *_seek; \ - void *_write; \ - struct { unsigned char *_base; int _size; } _ub; \ - int _ur; \ - unsigned char _ubuf[3]; \ - unsigned char _nbuf[1]; \ - struct { unsigned char *_base; int _size; } _lb; \ - int _blksize; \ - fpos_t _offset; \ - /* More fields, not relevant here. */ \ - } *) fp) - /* See . */ -# define _p pub._p -# define _flags pub._flags -# define _r pub._r -# define _w pub._w -# else -# define fp_ fp -# endif - -# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */ - /* See - and */ - struct __sfileext - { - struct __sbuf _ub; /* ungetc buffer */ - /* More fields, not relevant here. */ - }; -# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub -# else /* FreeBSD, DragonFly, MacOS X, Cygwin */ -# define fp_ub fp_->_ub -# endif - -# define HASUB(fp) (fp_ub._base != NULL) - -#endif - - -/* SystemV derived implementations. */ - -#if defined _IOERR - -# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ -# define fp_ ((struct { unsigned char *_ptr; \ - unsigned char *_base; \ - unsigned char *_end; \ - long _cnt; \ - int _file; \ - unsigned int _flag; \ - } *) fp) -# else -# define fp_ fp -# endif - -# if defined _SCO_DS /* OpenServer */ -# define _cnt __cnt -# define _ptr __ptr -# define _base __base -# define _flag __flag -# endif - -#endif diff -Nru gnutls26-2.8.6/lib/gl/stdio.in.h gnutls26-2.4.1/lib/gl/stdio.in.h --- gnutls26-2.8.6/lib/gl/stdio.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdio.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,524 +0,0 @@ -/* A GNU-like . - - Copyright (C) 2004, 2007-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_FILE || defined __need___FILE -/* Special invocation convention inside glibc header files. */ - -#@INCLUDE_NEXT@ @NEXT_STDIO_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_STDIO_H - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STDIO_H@ - -#ifndef _GL_STDIO_H -#define _GL_STDIO_H - -#include -#include - -#if (@GNULIB_FSEEKO@ && @REPLACE_FSEEKO@) \ - || (@GNULIB_FTELLO@ && @REPLACE_FTELLO@) \ - || (@GNULIB_GETDELIM@ && !@HAVE_DECL_GETDELIM@) \ - || (@GNULIB_GETLINE@ && (!@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@)) -/* Get off_t and ssize_t. */ -# include -#endif - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_FPRINTF_POSIX@ -# if @REPLACE_FPRINTF@ -# define fprintf rpl_fprintf -extern int fprintf (FILE *fp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif @GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define fprintf rpl_fprintf -extern int fprintf (FILE *fp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -#elif defined GNULIB_POSIXCHECK -# undef fprintf -# define fprintf \ - (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \ - "use gnulib module fprintf-posix for portable " \ - "POSIX compliance"), \ - fprintf) -#endif - -#if @GNULIB_VFPRINTF_POSIX@ -# if @REPLACE_VFPRINTF@ -# define vfprintf rpl_vfprintf -extern int vfprintf (FILE *fp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif @GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define vfprintf rpl_vfprintf -extern int vfprintf (FILE *fp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -#elif defined GNULIB_POSIXCHECK -# undef vfprintf -# define vfprintf(s,f,a) \ - (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \ - "use gnulib module vfprintf-posix for portable " \ - "POSIX compliance"), \ - vfprintf (s, f, a)) -#endif - -#if @GNULIB_PRINTF_POSIX@ -# if @REPLACE_PRINTF@ -/* Don't break __attribute__((format(printf,M,N))). */ -# define printf __printf__ -extern int printf (const char *format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -# endif -#elif @GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -/* Don't break __attribute__((format(printf,M,N))). */ -# define printf __printf__ -extern int printf (const char *format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -#elif defined GNULIB_POSIXCHECK -# undef printf -# define printf \ - (GL_LINK_WARNING ("printf is not always POSIX compliant - " \ - "use gnulib module printf-posix for portable " \ - "POSIX compliance"), \ - printf) -/* Don't break __attribute__((format(printf,M,N))). */ -# define format(kind,m,n) format (__##kind##__, m, n) -# define __format__(kind,m,n) __format__ (__##kind##__, m, n) -# define ____printf____ __printf__ -# define ____scanf____ __scanf__ -# define ____strftime____ __strftime__ -# define ____strfmon____ __strfmon__ -#endif - -#if @GNULIB_VPRINTF_POSIX@ -# if @REPLACE_VPRINTF@ -# define vprintf rpl_vprintf -extern int vprintf (const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 1, 0))); -# endif -#elif @GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# define vprintf rpl_vprintf -extern int vprintf (const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 1, 0))); -#elif defined GNULIB_POSIXCHECK -# undef vprintf -# define vprintf(f,a) \ - (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \ - "use gnulib module vprintf-posix for portable " \ - "POSIX compliance"), \ - vprintf (f, a)) -#endif - -#if @GNULIB_SNPRINTF@ -# if @REPLACE_SNPRINTF@ -# define snprintf rpl_snprintf -# endif -# if @REPLACE_SNPRINTF@ || !@HAVE_DECL_SNPRINTF@ -extern int snprintf (char *str, size_t size, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef snprintf -# define snprintf \ - (GL_LINK_WARNING ("snprintf is unportable - " \ - "use gnulib module snprintf for portability"), \ - snprintf) -#endif - -#if @GNULIB_VSNPRINTF@ -# if @REPLACE_VSNPRINTF@ -# define vsnprintf rpl_vsnprintf -# endif -# if @REPLACE_VSNPRINTF@ || !@HAVE_DECL_VSNPRINTF@ -extern int vsnprintf (char *str, size_t size, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 3, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vsnprintf -# define vsnprintf(b,s,f,a) \ - (GL_LINK_WARNING ("vsnprintf is unportable - " \ - "use gnulib module vsnprintf for portability"), \ - vsnprintf (b, s, f, a)) -#endif - -#if @GNULIB_SPRINTF_POSIX@ -# if @REPLACE_SPRINTF@ -# define sprintf rpl_sprintf -extern int sprintf (char *str, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef sprintf -# define sprintf \ - (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \ - "use gnulib module sprintf-posix for portable " \ - "POSIX compliance"), \ - sprintf) -#endif - -#if @GNULIB_VSPRINTF_POSIX@ -# if @REPLACE_VSPRINTF@ -# define vsprintf rpl_vsprintf -extern int vsprintf (char *str, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vsprintf -# define vsprintf(b,f,a) \ - (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \ - "use gnulib module vsprintf-posix for portable " \ - "POSIX compliance"), \ - vsprintf (b, f, a)) -#endif - -#if @GNULIB_DPRINTF@ -# if @REPLACE_DPRINTF@ -# define dprintf rpl_dprintf -# endif -# if @REPLACE_DPRINTF@ || !@HAVE_DPRINTF@ -extern int dprintf (int fd, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef dprintf -# define dprintf(d,f,a) \ - (GL_LINK_WARNING ("dprintf is unportable - " \ - "use gnulib module dprintf for portability"), \ - dprintf (d, f, a)) -#endif - -#if @GNULIB_VDPRINTF@ -# if @REPLACE_VDPRINTF@ -# define vdprintf rpl_vdprintf -# endif -# if @REPLACE_VDPRINTF@ || !@HAVE_VDPRINTF@ -extern int vdprintf (int fd, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#elif defined GNULIB_POSIXCHECK -# undef vdprintf -# define vdprintf(d,f,a) \ - (GL_LINK_WARNING ("vdprintf is unportable - " \ - "use gnulib module vdprintf for portability"), \ - vdprintf (d, f, a)) -#endif - -#if @GNULIB_VASPRINTF@ -# if @REPLACE_VASPRINTF@ -# define asprintf rpl_asprintf -# define vasprintf rpl_vasprintf -# endif -# if @REPLACE_VASPRINTF@ || !@HAVE_VASPRINTF@ - /* Write formatted output to a string dynamically allocated with malloc(). - If the memory allocation succeeds, store the address of the string in - *RESULT and return the number of resulting bytes, excluding the trailing - NUL. Upon memory allocation error, or some other error, return -1. */ - extern int asprintf (char **result, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - extern int vasprintf (char **result, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#endif - -#if @GNULIB_OBSTACK_PRINTF@ -# if @REPLACE_OBSTACK_PRINTF@ -# define obstack_printf rpl_osbtack_printf -# define obstack_vprintf rpl_obstack_vprintf -# endif -# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@ - struct obstack; - /* Grow an obstack with formatted output. Return the number of - bytes added to OBS. No trailing nul byte is added, and the - object should be closed with obstack_finish before use. Upon - memory allocation error, call obstack_alloc_failed_handler. Upon - other error, return -1. */ - extern int obstack_printf (struct obstack *obs, const char *format, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - extern int obstack_vprintf (struct obstack *obs, const char *format, - va_list args) - __attribute__ ((__format__ (__printf__, 2, 0))); -# endif -#endif - -#if @GNULIB_FOPEN@ -# if @REPLACE_FOPEN@ -# undef fopen -# define fopen rpl_fopen -extern FILE * fopen (const char *filename, const char *mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fopen -# define fopen(f,m) \ - (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \ - "use gnulib module fopen for portability"), \ - fopen (f, m)) -#endif - -#if @GNULIB_FREOPEN@ -# if @REPLACE_FREOPEN@ -# undef freopen -# define freopen rpl_freopen -extern FILE * freopen (const char *filename, const char *mode, FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef freopen -# define freopen(f,m,s) \ - (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \ - "use gnulib module freopen for portability"), \ - freopen (f, m, s)) -#endif - -#if @GNULIB_FSEEKO@ -# if @REPLACE_FSEEKO@ -/* Provide fseek, fseeko functions that are aware of a preceding - fflush(), and which detect pipes. */ -# define fseeko rpl_fseeko -extern int fseeko (FILE *fp, off_t offset, int whence); -# define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence) -# endif -#elif defined GNULIB_POSIXCHECK -# undef fseeko -# define fseeko(f,o,w) \ - (GL_LINK_WARNING ("fseeko is unportable - " \ - "use gnulib module fseeko for portability"), \ - fseeko (f, o, w)) -#endif - -#if @GNULIB_FSEEK@ && @REPLACE_FSEEK@ -extern int rpl_fseek (FILE *fp, long offset, int whence); -# undef fseek -# if defined GNULIB_POSIXCHECK -# define fseek(f,o,w) \ - (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use fseeko function for handling of large files"), \ - rpl_fseek (f, o, w)) -# else -# define fseek rpl_fseek -# endif -#elif defined GNULIB_POSIXCHECK -# ifndef fseek -# define fseek(f,o,w) \ - (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use fseeko function for handling of large files"), \ - fseek (f, o, w)) -# endif -#endif - -#if @GNULIB_FTELLO@ -# if @REPLACE_FTELLO@ -# define ftello rpl_ftello -extern off_t ftello (FILE *fp); -# define ftell(fp) ftello (fp) -# endif -#elif defined GNULIB_POSIXCHECK -# undef ftello -# define ftello(f) \ - (GL_LINK_WARNING ("ftello is unportable - " \ - "use gnulib module ftello for portability"), \ - ftello (f)) -#endif - -#if @GNULIB_FTELL@ && @REPLACE_FTELL@ -extern long rpl_ftell (FILE *fp); -# undef ftell -# if GNULIB_POSIXCHECK -# define ftell(f) \ - (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use ftello function for handling of large files"), \ - rpl_ftell (f)) -# else -# define ftell rpl_ftell -# endif -#elif defined GNULIB_POSIXCHECK -# ifndef ftell -# define ftell(f) \ - (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ - "on 32-bit platforms - " \ - "use ftello function for handling of large files"), \ - ftell (f)) -# endif -#endif - -#if @GNULIB_FFLUSH@ -# if @REPLACE_FFLUSH@ -# define fflush rpl_fflush - /* Flush all pending data on STREAM according to POSIX rules. Both - output and seekable input streams are supported. - Note! LOSS OF DATA can occur if fflush is applied on an input stream - that is _not_seekable_ or on an update stream that is _not_seekable_ - and in which the most recent operation was input. Seekability can - be tested with lseek(fileno(fp),0,SEEK_CUR). */ - extern int fflush (FILE *gl_stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fflush -# define fflush(f) \ - (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \ - "use gnulib module fflush for portable " \ - "POSIX compliance"), \ - fflush (f)) -#endif - -#if @GNULIB_FCLOSE@ -# if @REPLACE_FCLOSE@ -# define fclose rpl_fclose - /* Close STREAM and its underlying file descriptor. */ -extern int fclose (FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fclose -# define fclose(f) \ - (GL_LINK_WARNING ("fclose is not always POSIX compliant - " \ - "use gnulib module fclose for portable " \ - "POSIX compliance"), \ - fclose (f)) -#endif - -#if @GNULIB_FPUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fputc -# define fputc rpl_fputc -extern int fputc (int c, FILE *stream); -#endif - -#if @GNULIB_PUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef putc -# define putc rpl_fputc -extern int putc (int c, FILE *stream); -#endif - -#if @GNULIB_PUTCHAR@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef putchar -# define putchar rpl_putchar -extern int putchar (int c); -#endif - -#if @GNULIB_FPUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fputs -# define fputs rpl_fputs -extern int fputs (const char *string, FILE *stream); -#endif - -#if @GNULIB_PUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef puts -# define puts rpl_puts -extern int puts (const char *string); -#endif - -#if @GNULIB_FWRITE@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ -# undef fwrite -# define fwrite rpl_fwrite -extern size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream); -#endif - -#if @GNULIB_GETDELIM@ -# if !@HAVE_DECL_GETDELIM@ -/* Read input, up to (and including) the next occurrence of DELIMITER, from - STREAM, store it in *LINEPTR (and NUL-terminate it). - *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE - bytes of space. It is realloc'd as necessary. - Return the number of bytes read and stored at *LINEPTR (not including the - NUL terminator), or -1 on error or EOF. */ -extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter, - FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdelim -# define getdelim(l, s, d, f) \ - (GL_LINK_WARNING ("getdelim is unportable - " \ - "use gnulib module getdelim for portability"), \ - getdelim (l, s, d, f)) -#endif - -#if @GNULIB_GETLINE@ -# if @REPLACE_GETLINE@ -# undef getline -# define getline rpl_getline -# endif -# if !@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@ -/* Read a line, up to (and including) the next newline, from STREAM, store it - in *LINEPTR (and NUL-terminate it). - *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE - bytes of space. It is realloc'd as necessary. - Return the number of bytes read and stored at *LINEPTR (not including the - NUL terminator), or -1 on error or EOF. */ -extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getline -# define getline(l, s, f) \ - (GL_LINK_WARNING ("getline is unportable - " \ - "use gnulib module getline for portability"), \ - getline (l, s, f)) -#endif - -#if @GNULIB_PERROR@ -# if @REPLACE_PERROR@ -# define perror rpl_perror -/* Print a message to standard error, describing the value of ERRNO, - (if STRING is not NULL and not empty) prefixed with STRING and ": ", - and terminated with a newline. */ -extern void perror (const char *string); -# endif -#elif defined GNULIB_POSIXCHECK -# undef perror -# define perror(s) \ - (GL_LINK_WARNING ("perror is not always POSIX compliant - " \ - "use gnulib module perror for portability"), \ - perror (s)) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STDIO_H */ -#endif /* _GL_STDIO_H */ -#endif diff -Nru gnutls26-2.8.6/lib/gl/stdio-write.c gnutls26-2.4.1/lib/gl/stdio-write.c --- gnutls26-2.8.6/lib/gl/stdio-write.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdio-write.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,148 +0,0 @@ -/* POSIX compatible FILE stream write function. - Copyright (C) 2008 Free Software Foundation, Inc. - Written by Bruno Haible , 2008. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#include - -/* Specification. */ -#include - -/* Replace these functions only if module 'sigpipe' is requested. */ -#if GNULIB_SIGPIPE - -/* On native Windows platforms, SIGPIPE does not exist. When write() is - called on a pipe with no readers, WriteFile() fails with error - GetLastError() = ERROR_NO_DATA, and write() in consequence fails with - error EINVAL. This write() function is at the basis of the function - which flushes the buffer of a FILE stream. */ - -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -# include -# include -# include - -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include - -# define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \ - if (ferror (stream)) \ - return (EXPRESSION); \ - else \ - { \ - RETTYPE ret; \ - SetLastError (0); \ - ret = (EXPRESSION); \ - if (FAILED && GetLastError () == ERROR_NO_DATA && ferror (stream)) \ - { \ - int fd = fileno (stream); \ - if (fd >= 0 \ - && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE)\ - { \ - /* Try to raise signal SIGPIPE. */ \ - raise (SIGPIPE); \ - /* If it is currently blocked or ignored, change errno from \ - EINVAL to EPIPE. */ \ - errno = EPIPE; \ - } \ - } \ - return ret; \ - } - -# if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ -int -printf (const char *format, ...) -{ - int retval; - va_list args; - - va_start (args, format); - retval = vfprintf (stdout, format, args); - va_end (args); - - return retval; -} -# endif - -# if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ -int -fprintf (FILE *stream, const char *format, ...) -{ - int retval; - va_list args; - - va_start (args, format); - retval = vfprintf (stream, format, args); - va_end (args); - - return retval; -} -# endif - -# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vprintf.c */ -int -vprintf (const char *format, va_list args) -{ - return vfprintf (stdout, format, args); -} -# endif - -# if !REPLACE_VPRINTF_POSIX /* avoid collision with vfprintf.c */ -int -vfprintf (FILE *stream, const char *format, va_list args) -#undef vfprintf -{ - CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF) -} -# endif - -int -putchar (int c) -{ - return fputc (c, stdout); -} - -int -fputc (int c, FILE *stream) -#undef fputc -{ - CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF) -} - -int -fputs (const char *string, FILE *stream) -#undef fputs -{ - CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF) -} - -int -puts (const char *string) -#undef puts -{ - FILE *stream = stdout; - CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF) -} - -size_t -fwrite (const void *ptr, size_t s, size_t n, FILE *stream) -#undef fwrite -{ - CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n) -} - -# endif -#endif diff -Nru gnutls26-2.8.6/lib/gl/stdlib.in.h gnutls26-2.4.1/lib/gl/stdlib.in.h --- gnutls26-2.8.6/lib/gl/stdlib.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/stdlib.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,383 +0,0 @@ -/* A GNU-like . - - Copyright (C) 1995, 2001-2004, 2006-2009 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_malloc_and_calloc -/* Special invocation convention inside glibc header files. */ - -#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_STDLIB_H - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STDLIB_H@ - -#ifndef _GL_STDLIB_H -#define _GL_STDLIB_H - - -/* Solaris declares getloadavg() in . */ -#if @GNULIB_GETLOADAVG@ && @HAVE_SYS_LOADAVG_H@ -# include -#endif - -/* OSF/1 5.1 declares 'struct random_data' in , which is included - from if _REENTRANT is defined. Include it always. */ -#if @HAVE_RANDOM_H@ -# include -#endif - -#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@ -# include -#endif - -#if !@HAVE_STRUCT_RANDOM_DATA@ -struct random_data -{ - int32_t *fptr; /* Front pointer. */ - int32_t *rptr; /* Rear pointer. */ - int32_t *state; /* Array of state values. */ - int rand_type; /* Type of random number generator. */ - int rand_deg; /* Degree of random number generator. */ - int rand_sep; /* Distance between front and rear. */ - int32_t *end_ptr; /* Pointer behind state table. */ -}; -#endif - -/* The definition of GL_LINK_WARNING is copied here. */ - - -/* Some systems do not define EXIT_*, despite otherwise supporting C89. */ -#ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -#endif -/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere - with proper operation of xargs. */ -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -#elif EXIT_FAILURE != 1 -# undef EXIT_FAILURE -# define EXIT_FAILURE 1 -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_MALLOC_POSIX@ -# if !@HAVE_MALLOC_POSIX@ -# undef malloc -# define malloc rpl_malloc -extern void * malloc (size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef malloc -# define malloc(s) \ - (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \ - "use gnulib module malloc-posix for portability"), \ - malloc (s)) -#endif - - -#if @GNULIB_REALLOC_POSIX@ -# if !@HAVE_REALLOC_POSIX@ -# undef realloc -# define realloc rpl_realloc -extern void * realloc (void *ptr, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef realloc -# define realloc(p,s) \ - (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \ - "use gnulib module realloc-posix for portability"), \ - realloc (p, s)) -#endif - - -#if @GNULIB_CALLOC_POSIX@ -# if !@HAVE_CALLOC_POSIX@ -# undef calloc -# define calloc rpl_calloc -extern void * calloc (size_t nmemb, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef calloc -# define calloc(n,s) \ - (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \ - "use gnulib module calloc-posix for portability"), \ - calloc (n, s)) -#endif - - -#if @GNULIB_ATOLL@ -# if !@HAVE_ATOLL@ -/* Parse a signed decimal integer. - Returns the value of the integer. Errors are not detected. */ -extern long long atoll (const char *string); -# endif -#elif defined GNULIB_POSIXCHECK -# undef atoll -# define atoll(s) \ - (GL_LINK_WARNING ("atoll is unportable - " \ - "use gnulib module atoll for portability"), \ - atoll (s)) -#endif - - -#if @GNULIB_GETLOADAVG@ -# if !@HAVE_DECL_GETLOADAVG@ -/* Store max(NELEM,3) load average numbers in LOADAVG[]. - The three numbers are the load average of the last 1 minute, the last 5 - minutes, and the last 15 minutes, respectively. - LOADAVG is an array of NELEM numbers. */ -extern int getloadavg (double loadavg[], int nelem); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getloadavg -# define getloadavg(l,n) \ - (GL_LINK_WARNING ("getloadavg is not portable - " \ - "use gnulib module getloadavg for portability"), \ - getloadavg (l, n)) -#endif - - -#if @GNULIB_GETSUBOPT@ -/* Assuming *OPTIONP is a comma separated list of elements of the form - "token" or "token=value", getsubopt parses the first of these elements. - If the first element refers to a "token" that is member of the given - NULL-terminated array of tokens: - - It replaces the comma with a NUL byte, updates *OPTIONP to point past - the first option and the comma, sets *VALUEP to the value of the - element (or NULL if it doesn't contain an "=" sign), - - It returns the index of the "token" in the given array of tokens. - Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. - For more details see the POSIX:2001 specification. - http://www.opengroup.org/susv3xsh/getsubopt.html */ -# if !@HAVE_GETSUBOPT@ -extern int getsubopt (char **optionp, char *const *tokens, char **valuep); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getsubopt -# define getsubopt(o,t,v) \ - (GL_LINK_WARNING ("getsubopt is unportable - " \ - "use gnulib module getsubopt for portability"), \ - getsubopt (o, t, v)) -#endif - - -#if @GNULIB_MKDTEMP@ -# if !@HAVE_MKDTEMP@ -/* Create a unique temporary directory from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the directory name unique. - Returns TEMPLATE, or a null pointer if it cannot get a unique name. - The directory is created mode 700. */ -extern char * mkdtemp (char * /*template*/); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mkdtemp -# define mkdtemp(t) \ - (GL_LINK_WARNING ("mkdtemp is unportable - " \ - "use gnulib module mkdtemp for portability"), \ - mkdtemp (t)) -#endif - - -#if @GNULIB_MKSTEMP@ -# if @REPLACE_MKSTEMP@ -/* Create a unique temporary file from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the file name unique. - The file is then created, ensuring it didn't exist before. - The file is created read-write (mask at least 0600 & ~umask), but it may be - world-readable and world-writable (mask 0666 & ~umask), depending on the - implementation. - Returns the open file descriptor if successful, otherwise -1 and errno - set. */ -# define mkstemp rpl_mkstemp -extern int mkstemp (char * /*template*/); -# else -/* On MacOS X 10.3, only declares mkstemp. */ -# include -# endif -#elif defined GNULIB_POSIXCHECK -# undef mkstemp -# define mkstemp(t) \ - (GL_LINK_WARNING ("mkstemp is unportable - " \ - "use gnulib module mkstemp for portability"), \ - mkstemp (t)) -#endif - - -#if @GNULIB_PUTENV@ -# if @REPLACE_PUTENV@ -# undef putenv -# define putenv rpl_putenv -extern int putenv (char *string); -# endif -#endif - - -#if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ - -# ifndef RAND_MAX -# define RAND_MAX 2147483647 -# endif - -int srandom_r (unsigned int seed, struct random_data *rand_state); -int initstate_r (unsigned int seed, char *buf, size_t buf_size, - struct random_data *rand_state); -int setstate_r (char *arg_state, struct random_data *rand_state); -int random_r (struct random_data *buf, int32_t *result); -# endif -#elif defined GNULIB_POSIXCHECK -# undef random_r -# define random_r(b,r) \ - (GL_LINK_WARNING ("random_r is unportable - " \ - "use gnulib module random_r for portability"), \ - random_r (b,r)) -# undef initstate_r -# define initstate_r(s,b,sz,r) \ - (GL_LINK_WARNING ("initstate_r is unportable - " \ - "use gnulib module random_r for portability"), \ - initstate_r (s,b,sz,r)) -# undef srandom_r -# define srandom_r(s,r) \ - (GL_LINK_WARNING ("srandom_r is unportable - " \ - "use gnulib module random_r for portability"), \ - srandom_r (s,r)) -# undef setstate_r -# define setstate_r(a,r) \ - (GL_LINK_WARNING ("setstate_r is unportable - " \ - "use gnulib module random_r for portability"), \ - setstate_r (a,r)) -#endif - - -#if @GNULIB_RPMATCH@ -# if !@HAVE_RPMATCH@ -/* Test a user response to a question. - Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ -extern int rpmatch (const char *response); -# endif -#elif defined GNULIB_POSIXCHECK -# undef rpmatch -# define rpmatch(r) \ - (GL_LINK_WARNING ("rpmatch is unportable - " \ - "use gnulib module rpmatch for portability"), \ - rpmatch (r)) -#endif - - -#if @GNULIB_SETENV@ -# if !@HAVE_SETENV@ -/* Set NAME to VALUE in the environment. - If REPLACE is nonzero, overwrite an existing value. */ -extern int setenv (const char *name, const char *value, int replace); -# endif -#endif - - -#if @GNULIB_UNSETENV@ -# if @HAVE_UNSETENV@ -# if @VOID_UNSETENV@ -/* On some systems, unsetenv() returns void. - This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ -# define unsetenv(name) ((unsetenv)(name), 0) -# endif -# else -/* Remove the variable NAME from the environment. */ -extern int unsetenv (const char *name); -# endif -#endif - - -#if @GNULIB_STRTOD@ -# if @REPLACE_STRTOD@ -# define strtod rpl_strtod -# endif -# if !@HAVE_STRTOD@ || @REPLACE_STRTOD@ - /* Parse a double from STRING, updating ENDP if appropriate. */ -extern double strtod (const char *str, char **endp); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtod -# define strtod(s, e) \ - (GL_LINK_WARNING ("strtod is unportable - " \ - "use gnulib module strtod for portability"), \ - strtod (s, e)) -#endif - - -#if @GNULIB_STRTOLL@ -# if !@HAVE_STRTOLL@ -/* Parse a signed integer whose textual representation starts at STRING. - The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, - it may be decimal or octal (with prefix "0") or hexadecimal (with prefix - "0x"). - If ENDPTR is not NULL, the address of the first byte after the integer is - stored in *ENDPTR. - Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set - to ERANGE. */ -extern long long strtoll (const char *string, char **endptr, int base); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtoll -# define strtoll(s,e,b) \ - (GL_LINK_WARNING ("strtoll is unportable - " \ - "use gnulib module strtoll for portability"), \ - strtoll (s, e, b)) -#endif - - -#if @GNULIB_STRTOULL@ -# if !@HAVE_STRTOULL@ -/* Parse an unsigned integer whose textual representation starts at STRING. - The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, - it may be decimal or octal (with prefix "0") or hexadecimal (with prefix - "0x"). - If ENDPTR is not NULL, the address of the first byte after the integer is - stored in *ENDPTR. - Upon overflow, the return value is ULLONG_MAX, and errno is set to - ERANGE. */ -extern unsigned long long strtoull (const char *string, char **endptr, int base); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtoull -# define strtoull(s,e,b) \ - (GL_LINK_WARNING ("strtoull is unportable - " \ - "use gnulib module strtoull for portability"), \ - strtoull (s, e, b)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STDLIB_H */ -#endif /* _GL_STDLIB_H */ -#endif diff -Nru gnutls26-2.8.6/lib/gl/strcasecmp.c gnutls26-2.4.1/lib/gl/strcasecmp.c --- gnutls26-2.8.6/lib/gl/strcasecmp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/strcasecmp.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ -/* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#include -#include - -#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) - -/* Compare strings S1 and S2, ignoring case, returning less than, equal to or - greater than zero if S1 is lexicographically less than, equal to or greater - than S2. - Note: This function does not work with multibyte strings! */ - -int -strcasecmp (const char *s1, const char *s2) -{ - const unsigned char *p1 = (const unsigned char *) s1; - const unsigned char *p2 = (const unsigned char *) s2; - unsigned char c1, c2; - - if (p1 == p2) - return 0; - - do - { - c1 = TOLOWER (*p1); - c2 = TOLOWER (*p2); - - if (c1 == '\0') - break; - - ++p1; - ++p2; - } - while (c1 == c2); - - if (UCHAR_MAX <= INT_MAX) - return c1 - c2; - else - /* On machines where 'char' and 'int' are types of the same size, the - difference of two 'unsigned char' values - including the sign bit - - doesn't fit in an 'int'. */ - return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); -} diff -Nru gnutls26-2.8.6/lib/gl/string.in.h gnutls26-2.4.1/lib/gl/string.in.h --- gnutls26-2.8.6/lib/gl/string.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/string.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,605 +0,0 @@ -/* A GNU-like . - - Copyright (C) 1995-1996, 2001-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_STRING_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STRING_H@ - -#ifndef _GL_STRING_H -#define _GL_STRING_H - - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The attribute __pure__ was added in gcc 2.96. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -# define __pure__ /* empty */ -# endif -#endif - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Return the first occurrence of NEEDLE in HAYSTACK. */ -#if @GNULIB_MEMMEM@ -# if @REPLACE_MEMMEM@ -# define memmem rpl_memmem -# endif -# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@ -extern void *memmem (void const *__haystack, size_t __haystack_len, - void const *__needle, size_t __needle_len) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef memmem -# define memmem(a,al,b,bl) \ - (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \ - "use gnulib module memmem-simple for portability, " \ - "and module memmem for speed" ), \ - memmem (a, al, b, bl)) -#endif - -/* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ -#if @GNULIB_MEMPCPY@ -# if ! @HAVE_MEMPCPY@ -extern void *mempcpy (void *restrict __dest, void const *restrict __src, - size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mempcpy -# define mempcpy(a,b,n) \ - (GL_LINK_WARNING ("mempcpy is unportable - " \ - "use gnulib module mempcpy for portability"), \ - mempcpy (a, b, n)) -#endif - -/* Search backwards through a block for a byte (specified as an int). */ -#if @GNULIB_MEMRCHR@ -# if ! @HAVE_DECL_MEMRCHR@ -extern void *memrchr (void const *, int, size_t) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef memrchr -# define memrchr(a,b,c) \ - (GL_LINK_WARNING ("memrchr is unportable - " \ - "use gnulib module memrchr for portability"), \ - memrchr (a, b, c)) -#endif - -/* Find the first occurrence of C in S. More efficient than - memchr(S,C,N), at the expense of undefined behavior if C does not - occur within N bytes. */ -#if @GNULIB_RAWMEMCHR@ -# if ! @HAVE_RAWMEMCHR@ -extern void *rawmemchr (void const *__s, int __c_in) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef rawmemchr -# define rawmemchr(a,b) \ - (GL_LINK_WARNING ("rawmemchr is unportable - " \ - "use gnulib module rawmemchr for portability"), \ - rawmemchr (a, b)) -#endif - -/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ -#if @GNULIB_STPCPY@ -# if ! @HAVE_STPCPY@ -extern char *stpcpy (char *restrict __dst, char const *restrict __src); -# endif -#elif defined GNULIB_POSIXCHECK -# undef stpcpy -# define stpcpy(a,b) \ - (GL_LINK_WARNING ("stpcpy is unportable - " \ - "use gnulib module stpcpy for portability"), \ - stpcpy (a, b)) -#endif - -/* Copy no more than N bytes of SRC to DST, returning a pointer past the - last non-NUL byte written into DST. */ -#if @GNULIB_STPNCPY@ -# if ! @HAVE_STPNCPY@ -# define stpncpy gnu_stpncpy -extern char *stpncpy (char *restrict __dst, char const *restrict __src, - size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef stpncpy -# define stpncpy(a,b,n) \ - (GL_LINK_WARNING ("stpncpy is unportable - " \ - "use gnulib module stpncpy for portability"), \ - stpncpy (a, b, n)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strchr() does not work with multibyte strings if the locale encoding is - GB18030 and the character to be searched is a digit. */ -# undef strchr -# define strchr(s,c) \ - (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \ - "in some multibyte locales - " \ - "use mbschr if you care about internationalization"), \ - strchr (s, c)) -#endif - -/* Find the first occurrence of C in S or the final NUL byte. */ -#if @GNULIB_STRCHRNUL@ -# if ! @HAVE_STRCHRNUL@ -extern char *strchrnul (char const *__s, int __c_in) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strchrnul -# define strchrnul(a,b) \ - (GL_LINK_WARNING ("strchrnul is unportable - " \ - "use gnulib module strchrnul for portability"), \ - strchrnul (a, b)) -#endif - -/* Duplicate S, returning an identical malloc'd string. */ -#if @GNULIB_STRDUP@ -# if @REPLACE_STRDUP@ -# undef strdup -# define strdup rpl_strdup -# endif -# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@ -extern char *strdup (char const *__s); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strdup -# define strdup(a) \ - (GL_LINK_WARNING ("strdup is unportable - " \ - "use gnulib module strdup for portability"), \ - strdup (a)) -#endif - -/* Return a newly allocated copy of at most N bytes of STRING. */ -#if @GNULIB_STRNDUP@ -# if ! @HAVE_STRNDUP@ -# undef strndup -# define strndup rpl_strndup -# endif -# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@ -extern char *strndup (char const *__string, size_t __n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strndup -# define strndup(a,n) \ - (GL_LINK_WARNING ("strndup is unportable - " \ - "use gnulib module strndup for portability"), \ - strndup (a, n)) -#endif - -/* Find the length (number of bytes) of STRING, but scan at most - MAXLEN bytes. If no '\0' terminator is found in that many bytes, - return MAXLEN. */ -#if @GNULIB_STRNLEN@ -# if ! @HAVE_DECL_STRNLEN@ -extern size_t strnlen (char const *__string, size_t __maxlen) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strnlen -# define strnlen(a,n) \ - (GL_LINK_WARNING ("strnlen is unportable - " \ - "use gnulib module strnlen for portability"), \ - strnlen (a, n)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strcspn() assumes the second argument is a list of single-byte characters. - Even in this simple case, it does not work with multibyte strings if the - locale encoding is GB18030 and one of the characters to be searched is a - digit. */ -# undef strcspn -# define strcspn(s,a) \ - (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbscspn if you care about internationalization"), \ - strcspn (s, a)) -#endif - -/* Find the first occurrence in S of any character in ACCEPT. */ -#if @GNULIB_STRPBRK@ -# if ! @HAVE_STRPBRK@ -extern char *strpbrk (char const *__s, char const *__accept) - __attribute__ ((__pure__)); -# endif -# if defined GNULIB_POSIXCHECK -/* strpbrk() assumes the second argument is a list of single-byte characters. - Even in this simple case, it does not work with multibyte strings if the - locale encoding is GB18030 and one of the characters to be searched is a - digit. */ -# undef strpbrk -# define strpbrk(s,a) \ - (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbspbrk if you care about internationalization"), \ - strpbrk (s, a)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strpbrk -# define strpbrk(s,a) \ - (GL_LINK_WARNING ("strpbrk is unportable - " \ - "use gnulib module strpbrk for portability"), \ - strpbrk (s, a)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strspn() assumes the second argument is a list of single-byte characters. - Even in this simple case, it cannot work with multibyte strings. */ -# undef strspn -# define strspn(s,a) \ - (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbsspn if you care about internationalization"), \ - strspn (s, a)) -#endif - -#if defined GNULIB_POSIXCHECK -/* strrchr() does not work with multibyte strings if the locale encoding is - GB18030 and the character to be searched is a digit. */ -# undef strrchr -# define strrchr(s,c) \ - (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \ - "in some multibyte locales - " \ - "use mbsrchr if you care about internationalization"), \ - strrchr (s, c)) -#endif - -/* Search the next delimiter (char listed in DELIM) starting at *STRINGP. - If one is found, overwrite it with a NUL, and advance *STRINGP - to point to the next char after it. Otherwise, set *STRINGP to NULL. - If *STRINGP was already NULL, nothing happens. - Return the old value of *STRINGP. - - This is a variant of strtok() that is multithread-safe and supports - empty fields. - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - Caveat: It doesn't work with multibyte strings unless all of the delimiter - characters are ASCII characters < 0x30. - - See also strtok_r(). */ -#if @GNULIB_STRSEP@ -# if ! @HAVE_STRSEP@ -extern char *strsep (char **restrict __stringp, char const *restrict __delim); -# endif -# if defined GNULIB_POSIXCHECK -# undef strsep -# define strsep(s,d) \ - (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbssep if you care about internationalization"), \ - strsep (s, d)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strsep -# define strsep(s,d) \ - (GL_LINK_WARNING ("strsep is unportable - " \ - "use gnulib module strsep for portability"), \ - strsep (s, d)) -#endif - -#if @GNULIB_STRSTR@ -# if @REPLACE_STRSTR@ -# define strstr rpl_strstr -char *strstr (const char *haystack, const char *needle) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -/* strstr() does not work with multibyte strings if the locale encoding is - different from UTF-8: - POSIX says that it operates on "strings", and "string" in POSIX is defined - as a sequence of bytes, not of characters. */ -# undef strstr -# define strstr(a,b) \ - (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \ - "work correctly on character strings in most " \ - "multibyte locales - " \ - "use mbsstr if you care about internationalization, " \ - "or use strstr if you care about speed"), \ - strstr (a, b)) -#endif - -/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive - comparison. */ -#if @GNULIB_STRCASESTR@ -# if @REPLACE_STRCASESTR@ -# define strcasestr rpl_strcasestr -# endif -# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@ -extern char *strcasestr (const char *haystack, const char *needle) - __attribute__ ((__pure__)); -# endif -#elif defined GNULIB_POSIXCHECK -/* strcasestr() does not work with multibyte strings: - It is a glibc extension, and glibc implements it only for unibyte - locales. */ -# undef strcasestr -# define strcasestr(a,b) \ - (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \ - "in multibyte locales - " \ - "use mbscasestr if you care about " \ - "internationalization, or use c-strcasestr if you want " \ - "a locale independent function"), \ - strcasestr (a, b)) -#endif - -/* Parse S into tokens separated by characters in DELIM. - If S is NULL, the saved pointer in SAVE_PTR is used as - the next starting point. For example: - char s[] = "-abc-=-def"; - char *sp; - x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" - x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL - x = strtok_r(NULL, "=", &sp); // x = NULL - // s = "abc\0-def\0" - - This is a variant of strtok() that is multithread-safe. - - For the POSIX documentation for this function, see: - http://www.opengroup.org/susv3xsh/strtok.html - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - Caveat: It doesn't work with multibyte strings unless all of the delimiter - characters are ASCII characters < 0x30. - - See also strsep(). */ -#if @GNULIB_STRTOK_R@ -# if ! @HAVE_DECL_STRTOK_R@ -extern char *strtok_r (char *restrict s, char const *restrict delim, - char **restrict save_ptr); -# endif -# if defined GNULIB_POSIXCHECK -# undef strtok_r -# define strtok_r(s,d,p) \ - (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbstok_r if you care about internationalization"), \ - strtok_r (s, d, p)) -# endif -#elif defined GNULIB_POSIXCHECK -# undef strtok_r -# define strtok_r(s,d,p) \ - (GL_LINK_WARNING ("strtok_r is unportable - " \ - "use gnulib module strtok_r for portability"), \ - strtok_r (s, d, p)) -#endif - - -/* The following functions are not specified by POSIX. They are gnulib - extensions. */ - -#if @GNULIB_MBSLEN@ -/* Return the number of multibyte characters in the character string STRING. - This considers multibyte characters, unlike strlen, which counts bytes. */ -extern size_t mbslen (const char *string); -#endif - -#if @GNULIB_MBSNLEN@ -/* Return the number of multibyte characters in the character string starting - at STRING and ending at STRING + LEN. */ -extern size_t mbsnlen (const char *string, size_t len); -#endif - -#if @GNULIB_MBSCHR@ -/* Locate the first single-byte character C in the character string STRING, - and return a pointer to it. Return NULL if C is not found in STRING. - Unlike strchr(), this function works correctly in multibyte locales with - encodings such as GB18030. */ -# define mbschr rpl_mbschr /* avoid collision with HP-UX function */ -extern char * mbschr (const char *string, int c); -#endif - -#if @GNULIB_MBSRCHR@ -/* Locate the last single-byte character C in the character string STRING, - and return a pointer to it. Return NULL if C is not found in STRING. - Unlike strrchr(), this function works correctly in multibyte locales with - encodings such as GB18030. */ -# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ -extern char * mbsrchr (const char *string, int c); -#endif - -#if @GNULIB_MBSSTR@ -/* Find the first occurrence of the character string NEEDLE in the character - string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. - Unlike strstr(), this function works correctly in multibyte locales with - encodings different from UTF-8. */ -extern char * mbsstr (const char *haystack, const char *needle); -#endif - -#if @GNULIB_MBSCASECMP@ -/* Compare the character strings S1 and S2, ignoring case, returning less than, - equal to or greater than zero if S1 is lexicographically less than, equal to - or greater than S2. - Note: This function may, in multibyte locales, return 0 for strings of - different lengths! - Unlike strcasecmp(), this function works correctly in multibyte locales. */ -extern int mbscasecmp (const char *s1, const char *s2); -#endif - -#if @GNULIB_MBSNCASECMP@ -/* Compare the initial segment of the character string S1 consisting of at most - N characters with the initial segment of the character string S2 consisting - of at most N characters, ignoring case, returning less than, equal to or - greater than zero if the initial segment of S1 is lexicographically less - than, equal to or greater than the initial segment of S2. - Note: This function may, in multibyte locales, return 0 for initial segments - of different lengths! - Unlike strncasecmp(), this function works correctly in multibyte locales. - But beware that N is not a byte count but a character count! */ -extern int mbsncasecmp (const char *s1, const char *s2, size_t n); -#endif - -#if @GNULIB_MBSPCASECMP@ -/* Compare the initial segment of the character string STRING consisting of - at most mbslen (PREFIX) characters with the character string PREFIX, - ignoring case, returning less than, equal to or greater than zero if this - initial segment is lexicographically less than, equal to or greater than - PREFIX. - Note: This function may, in multibyte locales, return 0 if STRING is of - smaller length than PREFIX! - Unlike strncasecmp(), this function works correctly in multibyte - locales. */ -extern char * mbspcasecmp (const char *string, const char *prefix); -#endif - -#if @GNULIB_MBSCASESTR@ -/* Find the first occurrence of the character string NEEDLE in the character - string HAYSTACK, using case-insensitive comparison. - Note: This function may, in multibyte locales, return success even if - strlen (haystack) < strlen (needle) ! - Unlike strcasestr(), this function works correctly in multibyte locales. */ -extern char * mbscasestr (const char *haystack, const char *needle); -#endif - -#if @GNULIB_MBSCSPN@ -/* Find the first occurrence in the character string STRING of any character - in the character string ACCEPT. Return the number of bytes from the - beginning of the string to this occurrence, or to the end of the string - if none exists. - Unlike strcspn(), this function works correctly in multibyte locales. */ -extern size_t mbscspn (const char *string, const char *accept); -#endif - -#if @GNULIB_MBSPBRK@ -/* Find the first occurrence in the character string STRING of any character - in the character string ACCEPT. Return the pointer to it, or NULL if none - exists. - Unlike strpbrk(), this function works correctly in multibyte locales. */ -# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ -extern char * mbspbrk (const char *string, const char *accept); -#endif - -#if @GNULIB_MBSSPN@ -/* Find the first occurrence in the character string STRING of any character - not in the character string REJECT. Return the number of bytes from the - beginning of the string to this occurrence, or to the end of the string - if none exists. - Unlike strspn(), this function works correctly in multibyte locales. */ -extern size_t mbsspn (const char *string, const char *reject); -#endif - -#if @GNULIB_MBSSEP@ -/* Search the next delimiter (multibyte character listed in the character - string DELIM) starting at the character string *STRINGP. - If one is found, overwrite it with a NUL, and advance *STRINGP to point - to the next multibyte character after it. Otherwise, set *STRINGP to NULL. - If *STRINGP was already NULL, nothing happens. - Return the old value of *STRINGP. - - This is a variant of mbstok_r() that supports empty fields. - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - - See also mbstok_r(). */ -extern char * mbssep (char **stringp, const char *delim); -#endif - -#if @GNULIB_MBSTOK_R@ -/* Parse the character string STRING into tokens separated by characters in - the character string DELIM. - If STRING is NULL, the saved pointer in SAVE_PTR is used as - the next starting point. For example: - char s[] = "-abc-=-def"; - char *sp; - x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" - x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL - x = mbstok_r(NULL, "=", &sp); // x = NULL - // s = "abc\0-def\0" - - Caveat: It modifies the original string. - Caveat: These functions cannot be used on constant strings. - Caveat: The identity of the delimiting character is lost. - - See also mbssep(). */ -extern char * mbstok_r (char *string, const char *delim, char **save_ptr); -#endif - -/* Map any int, typically from errno, into an error message. */ -#if @GNULIB_STRERROR@ -# if @REPLACE_STRERROR@ -# undef strerror -# define strerror rpl_strerror -extern char *strerror (int); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strerror -# define strerror(e) \ - (GL_LINK_WARNING ("strerror is unportable - " \ - "use gnulib module strerror to guarantee non-NULL result"), \ - strerror (e)) -#endif - -#if @GNULIB_STRSIGNAL@ -# if @REPLACE_STRSIGNAL@ -# define strsignal rpl_strsignal -# endif -# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@ -extern char *strsignal (int __sig); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strsignal -# define strsignal(a) \ - (GL_LINK_WARNING ("strsignal is unportable - " \ - "use gnulib module strsignal for portability"), \ - strsignal (a)) -#endif - -#if @GNULIB_STRVERSCMP@ -# if !@HAVE_STRVERSCMP@ -extern int strverscmp (const char *, const char *); -# endif -#elif defined GNULIB_POSIXCHECK -# undef strverscmp -# define strverscmp(a, b) \ - (GL_LINK_WARNING ("strverscmp is unportable - " \ - "use gnulib module strverscmp for portability"), \ - strverscmp (a, b)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STRING_H */ -#endif /* _GL_STRING_H */ diff -Nru gnutls26-2.8.6/lib/gl/strings.in.h gnutls26-2.4.1/lib/gl/strings.in.h --- gnutls26-2.8.6/lib/gl/strings.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/strings.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,90 +0,0 @@ -/* A substitute . - - Copyright (C) 2007-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_STRINGS_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STRINGS_H@ - -#ifndef _GL_STRINGS_H -#define _GL_STRINGS_H - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Compare strings S1 and S2, ignoring case, returning less than, equal to or - greater than zero if S1 is lexicographically less than, equal to or greater - than S2. - Note: This function does not work in multibyte locales. */ -#if ! @HAVE_STRCASECMP@ -extern int strcasecmp (char const *s1, char const *s2); -#endif -#if defined GNULIB_POSIXCHECK -/* strcasecmp() does not work with multibyte strings: - POSIX says that it operates on "strings", and "string" in POSIX is defined - as a sequence of bytes, not of characters. */ -# undef strcasecmp -# define strcasecmp(a,b) \ - (GL_LINK_WARNING ("strcasecmp cannot work correctly on character strings " \ - "in multibyte locales - " \ - "use mbscasecmp if you care about " \ - "internationalization, or use c_strcasecmp (from " \ - "gnulib module c-strcase) if you want a locale " \ - "independent function"), \ - strcasecmp (a, b)) -#endif - -/* Compare no more than N bytes of strings S1 and S2, ignoring case, - returning less than, equal to or greater than zero if S1 is - lexicographically less than, equal to or greater than S2. - Note: This function cannot work correctly in multibyte locales. */ -#if ! @HAVE_DECL_STRNCASECMP@ -extern int strncasecmp (char const *s1, char const *s2, size_t n); -#endif -#if defined GNULIB_POSIXCHECK -/* strncasecmp() does not work with multibyte strings: - POSIX says that it operates on "strings", and "string" in POSIX is defined - as a sequence of bytes, not of characters. */ -# undef strncasecmp -# define strncasecmp(a,b,n) \ - (GL_LINK_WARNING ("strncasecmp cannot work correctly on character " \ - "strings in multibyte locales - " \ - "use mbsncasecmp or mbspcasecmp if you care about " \ - "internationalization, or use c_strncasecmp (from " \ - "gnulib module c-strcase) if you want a locale " \ - "independent function"), \ - strncasecmp (a, b, n)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_STRING_H */ -#endif /* _GL_STRING_H */ diff -Nru gnutls26-2.8.6/lib/gl/strncasecmp.c gnutls26-2.4.1/lib/gl/strncasecmp.c --- gnutls26-2.8.6/lib/gl/strncasecmp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/strncasecmp.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ -/* strncasecmp.c -- case insensitive string comparator - Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#include - -#include -#include - -#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) - -/* Compare no more than N bytes of strings S1 and S2, ignoring case, - returning less than, equal to or greater than zero if S1 is - lexicographically less than, equal to or greater than S2. - Note: This function cannot work correctly in multibyte locales. */ - -int -strncasecmp (const char *s1, const char *s2, size_t n) -{ - register const unsigned char *p1 = (const unsigned char *) s1; - register const unsigned char *p2 = (const unsigned char *) s2; - unsigned char c1, c2; - - if (p1 == p2 || n == 0) - return 0; - - do - { - c1 = TOLOWER (*p1); - c2 = TOLOWER (*p2); - - if (--n == 0 || c1 == '\0') - break; - - ++p1; - ++p2; - } - while (c1 == c2); - - if (UCHAR_MAX <= INT_MAX) - return c1 - c2; - else - /* On machines where 'char' and 'int' are types of the same size, the - difference of two 'unsigned char' values - including the sign bit - - doesn't fit in an 'int'. */ - return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); -} diff -Nru gnutls26-2.8.6/lib/gl/str-two-way.h gnutls26-2.4.1/lib/gl/str-two-way.h --- gnutls26-2.8.6/lib/gl/str-two-way.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/str-two-way.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,429 +0,0 @@ -/* Byte-wise substring search, using the Two-Way algorithm. - Copyright (C) 2008 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Written by Eric Blake , 2008. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Before including this file, you need to include and - , and define: - RESULT_TYPE A macro that expands to the return type. - AVAILABLE(h, h_l, j, n_l) - A macro that returns nonzero if there are - at least N_L bytes left starting at H[J]. - H is 'unsigned char *', H_L, J, and N_L - are 'size_t'; H_L is an lvalue. For - NUL-terminated searches, H_L can be - modified each iteration to avoid having - to compute the end of H up front. - - For case-insensitivity, you may optionally define: - CMP_FUNC(p1, p2, l) A macro that returns 0 iff the first L - characters of P1 and P2 are equal. - CANON_ELEMENT(c) A macro that canonicalizes an element right after - it has been fetched from one of the two strings. - The argument is an 'unsigned char'; the result - must be an 'unsigned char' as well. - - This file undefines the macros documented above, and defines - LONG_NEEDLE_THRESHOLD. -*/ - -#include -#include - -/* We use the Two-Way string matching algorithm, which guarantees - linear complexity with constant space. Additionally, for long - needles, we also use a bad character shift table similar to the - Boyer-Moore algorithm to achieve improved (potentially sub-linear) - performance. - - See http://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260 - and http://en.wikipedia.org/wiki/Boyer-Moore_string_search_algorithm -*/ - -/* Point at which computing a bad-byte shift table is likely to be - worthwhile. Small needles should not compute a table, since it - adds (1 << CHAR_BIT) + NEEDLE_LEN computations of preparation for a - speedup no greater than a factor of NEEDLE_LEN. The larger the - needle, the better the potential performance gain. On the other - hand, on non-POSIX systems with CHAR_BIT larger than eight, the - memory required for the table is prohibitive. */ -#if CHAR_BIT < 10 -# define LONG_NEEDLE_THRESHOLD 32U -#else -# define LONG_NEEDLE_THRESHOLD SIZE_MAX -#endif - -#ifndef MAX -# define MAX(a, b) ((a < b) ? (b) : (a)) -#endif - -#ifndef CANON_ELEMENT -# define CANON_ELEMENT(c) c -#endif -#ifndef CMP_FUNC -# define CMP_FUNC memcmp -#endif - -/* Perform a critical factorization of NEEDLE, of length NEEDLE_LEN. - Return the index of the first byte in the right half, and set - *PERIOD to the global period of the right half. - - The global period of a string is the smallest index (possibly its - length) at which all remaining bytes in the string are repetitions - of the prefix (the last repetition may be a subset of the prefix). - - When NEEDLE is factored into two halves, a local period is the - length of the smallest word that shares a suffix with the left half - and shares a prefix with the right half. All factorizations of a - non-empty NEEDLE have a local period of at least 1 and no greater - than NEEDLE_LEN. - - A critical factorization has the property that the local period - equals the global period. All strings have at least one critical - factorization with the left half smaller than the global period. - - Given an ordered alphabet, a critical factorization can be computed - in linear time, with 2 * NEEDLE_LEN comparisons, by computing the - larger of two ordered maximal suffixes. The ordered maximal - suffixes are determined by lexicographic comparison of - periodicity. */ -static size_t -critical_factorization (const unsigned char *needle, size_t needle_len, - size_t *period) -{ - /* Index of last byte of left half, or SIZE_MAX. */ - size_t max_suffix, max_suffix_rev; - size_t j; /* Index into NEEDLE for current candidate suffix. */ - size_t k; /* Offset into current period. */ - size_t p; /* Intermediate period. */ - unsigned char a, b; /* Current comparison bytes. */ - - /* Invariants: - 0 <= j < NEEDLE_LEN - 1 - -1 <= max_suffix{,_rev} < j (treating SIZE_MAX as if it were signed) - min(max_suffix, max_suffix_rev) < global period of NEEDLE - 1 <= p <= global period of NEEDLE - p == global period of the substring NEEDLE[max_suffix{,_rev}+1...j] - 1 <= k <= p - */ - - /* Perform lexicographic search. */ - max_suffix = SIZE_MAX; - j = 0; - k = p = 1; - while (j + k < needle_len) - { - a = CANON_ELEMENT (needle[j + k]); - b = CANON_ELEMENT (needle[max_suffix + k]); - if (a < b) - { - /* Suffix is smaller, period is entire prefix so far. */ - j += k; - k = 1; - p = j - max_suffix; - } - else if (a == b) - { - /* Advance through repetition of the current period. */ - if (k != p) - ++k; - else - { - j += p; - k = 1; - } - } - else /* b < a */ - { - /* Suffix is larger, start over from current location. */ - max_suffix = j++; - k = p = 1; - } - } - *period = p; - - /* Perform reverse lexicographic search. */ - max_suffix_rev = SIZE_MAX; - j = 0; - k = p = 1; - while (j + k < needle_len) - { - a = CANON_ELEMENT (needle[j + k]); - b = CANON_ELEMENT (needle[max_suffix_rev + k]); - if (b < a) - { - /* Suffix is smaller, period is entire prefix so far. */ - j += k; - k = 1; - p = j - max_suffix_rev; - } - else if (a == b) - { - /* Advance through repetition of the current period. */ - if (k != p) - ++k; - else - { - j += p; - k = 1; - } - } - else /* a < b */ - { - /* Suffix is larger, start over from current location. */ - max_suffix_rev = j++; - k = p = 1; - } - } - - /* Choose the longer suffix. Return the first byte of the right - half, rather than the last byte of the left half. */ - if (max_suffix_rev + 1 < max_suffix + 1) - return max_suffix + 1; - *period = p; - return max_suffix_rev + 1; -} - -/* Return the first location of non-empty NEEDLE within HAYSTACK, or - NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This - method is optimized for NEEDLE_LEN < LONG_NEEDLE_THRESHOLD. - Performance is guaranteed to be linear, with an initialization cost - of 2 * NEEDLE_LEN comparisons. - - If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at - most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. - If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * - HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ -static RETURN_TYPE -two_way_short_needle (const unsigned char *haystack, size_t haystack_len, - const unsigned char *needle, size_t needle_len) -{ - size_t i; /* Index into current byte of NEEDLE. */ - size_t j; /* Index into current window of HAYSTACK. */ - size_t period; /* The period of the right half of needle. */ - size_t suffix; /* The index of the right half of needle. */ - - /* Factor the needle into two halves, such that the left half is - smaller than the global period, and the right half is - periodic (with a period as large as NEEDLE_LEN - suffix). */ - suffix = critical_factorization (needle, needle_len, &period); - - /* Perform the search. Each iteration compares the right half - first. */ - if (CMP_FUNC (needle, needle + period, suffix) == 0) - { - /* Entire needle is periodic; a mismatch can only advance by the - period, so use memory to avoid rescanning known occurrences - of the period. */ - size_t memory = 0; - j = 0; - while (AVAILABLE (haystack, haystack_len, j, needle_len)) - { - /* Scan for matches in right half. */ - i = MAX (suffix, memory); - while (i < needle_len && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - ++i; - if (needle_len <= i) - { - /* Scan for matches in left half. */ - i = suffix - 1; - while (memory < i + 1 && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - --i; - if (i + 1 < memory + 1) - return (RETURN_TYPE) (haystack + j); - /* No match, so remember how many repetitions of period - on the right half were scanned. */ - j += period; - memory = needle_len - period; - } - else - { - j += i - suffix + 1; - memory = 0; - } - } - } - else - { - /* The two halves of needle are distinct; no extra memory is - required, and any mismatch results in a maximal shift. */ - period = MAX (suffix, needle_len - suffix) + 1; - j = 0; - while (AVAILABLE (haystack, haystack_len, j, needle_len)) - { - /* Scan for matches in right half. */ - i = suffix; - while (i < needle_len && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - ++i; - if (needle_len <= i) - { - /* Scan for matches in left half. */ - i = suffix - 1; - while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - --i; - if (i == SIZE_MAX) - return (RETURN_TYPE) (haystack + j); - j += period; - } - else - j += i - suffix + 1; - } - } - return NULL; -} - -/* Return the first location of non-empty NEEDLE within HAYSTACK, or - NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This - method is optimized for LONG_NEEDLE_THRESHOLD <= NEEDLE_LEN. - Performance is guaranteed to be linear, with an initialization cost - of 3 * NEEDLE_LEN + (1 << CHAR_BIT) operations. - - If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at - most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, - and sublinear performance O(HAYSTACK_LEN / NEEDLE_LEN) is possible. - If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * - HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and - sublinear performance is not possible. */ -static RETURN_TYPE -two_way_long_needle (const unsigned char *haystack, size_t haystack_len, - const unsigned char *needle, size_t needle_len) -{ - size_t i; /* Index into current byte of NEEDLE. */ - size_t j; /* Index into current window of HAYSTACK. */ - size_t period; /* The period of the right half of needle. */ - size_t suffix; /* The index of the right half of needle. */ - size_t shift_table[1U << CHAR_BIT]; /* See below. */ - - /* Factor the needle into two halves, such that the left half is - smaller than the global period, and the right half is - periodic (with a period as large as NEEDLE_LEN - suffix). */ - suffix = critical_factorization (needle, needle_len, &period); - - /* Populate shift_table. For each possible byte value c, - shift_table[c] is the distance from the last occurrence of c to - the end of NEEDLE, or NEEDLE_LEN if c is absent from the NEEDLE. - shift_table[NEEDLE[NEEDLE_LEN - 1]] contains the only 0. */ - for (i = 0; i < 1U << CHAR_BIT; i++) - shift_table[i] = needle_len; - for (i = 0; i < needle_len; i++) - shift_table[CANON_ELEMENT (needle[i])] = needle_len - i - 1; - - /* Perform the search. Each iteration compares the right half - first. */ - if (CMP_FUNC (needle, needle + period, suffix) == 0) - { - /* Entire needle is periodic; a mismatch can only advance by the - period, so use memory to avoid rescanning known occurrences - of the period. */ - size_t memory = 0; - size_t shift; - j = 0; - while (AVAILABLE (haystack, haystack_len, j, needle_len)) - { - /* Check the last byte first; if it does not match, then - shift to the next possible match location. */ - shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; - if (0 < shift) - { - if (memory && shift < period) - { - /* Since needle is periodic, but the last period has - a byte out of place, there can be no match until - after the mismatch. */ - shift = needle_len - period; - memory = 0; - } - j += shift; - continue; - } - /* Scan for matches in right half. The last byte has - already been matched, by virtue of the shift table. */ - i = MAX (suffix, memory); - while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - ++i; - if (needle_len - 1 <= i) - { - /* Scan for matches in left half. */ - i = suffix - 1; - while (memory < i + 1 && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - --i; - if (i + 1 < memory + 1) - return (RETURN_TYPE) (haystack + j); - /* No match, so remember how many repetitions of period - on the right half were scanned. */ - j += period; - memory = needle_len - period; - } - else - { - j += i - suffix + 1; - memory = 0; - } - } - } - else - { - /* The two halves of needle are distinct; no extra memory is - required, and any mismatch results in a maximal shift. */ - size_t shift; - period = MAX (suffix, needle_len - suffix) + 1; - j = 0; - while (AVAILABLE (haystack, haystack_len, j, needle_len)) - { - /* Check the last byte first; if it does not match, then - shift to the next possible match location. */ - shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; - if (0 < shift) - { - j += shift; - continue; - } - /* Scan for matches in right half. The last byte has - already been matched, by virtue of the shift table. */ - i = suffix; - while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - ++i; - if (needle_len - 1 <= i) - { - /* Scan for matches in left half. */ - i = suffix - 1; - while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) - == CANON_ELEMENT (haystack[i + j]))) - --i; - if (i == SIZE_MAX) - return (RETURN_TYPE) (haystack + j); - j += period; - } - else - j += i - suffix + 1; - } - } - return NULL; -} - -#undef AVAILABLE -#undef CANON_ELEMENT -#undef CMP_FUNC -#undef MAX -#undef RETURN_TYPE diff -Nru gnutls26-2.8.6/lib/gl/strverscmp.c gnutls26-2.4.1/lib/gl/strverscmp.c --- gnutls26-2.8.6/lib/gl/strverscmp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/strverscmp.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,131 +0,0 @@ -/* Compare strings while treating digits characters numerically. - Copyright (C) 1997, 2000, 2002, 2004, 2006 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jean-François Bignolles , 1997. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#if !_LIBC -# include -#endif - -#include -#include - -/* states: S_N: normal, S_I: comparing integral part, S_F: comparing - fractional parts, S_Z: idem but with leading Zeroes only */ -#define S_N 0x0 -#define S_I 0x4 -#define S_F 0x8 -#define S_Z 0xC - -/* result_type: CMP: return diff; LEN: compare using len_diff/diff */ -#define CMP 2 -#define LEN 3 - - -/* ISDIGIT differs from isdigit, as follows: - - Its arg may be any int or unsigned int; it need not be an unsigned char - or EOF. - - It's typically faster. - POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to - isdigit unless it's important to use the locale's definition - of `digit' even when the host does not conform to POSIX. */ -#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) - -#undef __strverscmp -#undef strverscmp - -#ifndef weak_alias -# define __strverscmp strverscmp -#endif - -/* Compare S1 and S2 as strings holding indices/version numbers, - returning less than, equal to or greater than zero if S1 is less than, - equal to or greater than S2 (for more info, see the texinfo doc). -*/ - -int -__strverscmp (const char *s1, const char *s2) -{ - const unsigned char *p1 = (const unsigned char *) s1; - const unsigned char *p2 = (const unsigned char *) s2; - unsigned char c1, c2; - int state; - int diff; - - /* Symbol(s) 0 [1-9] others (padding) - Transition (10) 0 (01) d (00) x (11) - */ - static const unsigned int next_state[] = - { - /* state x d 0 - */ - /* S_N */ S_N, S_I, S_Z, S_N, - /* S_I */ S_N, S_I, S_I, S_I, - /* S_F */ S_N, S_F, S_F, S_F, - /* S_Z */ S_N, S_F, S_Z, S_Z - }; - - static const int result_type[] = - { - /* state x/x x/d x/0 x/- d/x d/d d/0 d/- - 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */ - - /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, - CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, - /* S_I */ CMP, -1, -1, CMP, 1, LEN, LEN, CMP, - 1, LEN, LEN, CMP, CMP, CMP, CMP, CMP, - /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, - CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, - /* S_Z */ CMP, 1, 1, CMP, -1, CMP, CMP, CMP, - -1, CMP, CMP, CMP - }; - - if (p1 == p2) - return 0; - - c1 = *p1++; - c2 = *p2++; - /* Hint: '0' is a digit too. */ - state = S_N | ((c1 == '0') + (ISDIGIT (c1) != 0)); - - while ((diff = c1 - c2) == 0 && c1 != '\0') - { - state = next_state[state]; - c1 = *p1++; - c2 = *p2++; - state |= (c1 == '0') + (ISDIGIT (c1) != 0); - } - - state = result_type[state << 2 | ((c2 == '0') + (ISDIGIT (c2) != 0))]; - - switch (state) - { - case CMP: - return diff; - - case LEN: - while (ISDIGIT (*p1++)) - if (!ISDIGIT (*p2++)) - return 1; - - return ISDIGIT (*p2) ? -1 : diff; - - default: - return state; - } -} -#ifdef weak_alias -weak_alias (__strverscmp, strverscmp) -#endif diff -Nru gnutls26-2.8.6/lib/gl/sys_socket.in.h gnutls26-2.4.1/lib/gl/sys_socket.in.h --- gnutls26-2.8.6/lib/gl/sys_socket.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/sys_socket.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,427 +0,0 @@ -/* Provide a sys/socket header file for systems lacking it (read: MinGW) - and for systems where it is incomplete. - Copyright (C) 2005-2009 Free Software Foundation, Inc. - Written by Simon Josefsson. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file is supposed to be used on platforms that lack , - on platforms where cannot be included standalone, and on - platforms where does not provide all necessary definitions. - It is intended to provide definitions and prototypes needed by an - application. */ - -#ifndef _GL_SYS_SOCKET_H - -#if @HAVE_SYS_SOCKET_H@ - -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif - -/* On many platforms, assumes prior inclusion of - . */ -# include - -/* The include_next requires a split double-inclusion guard. */ -# @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ - -#endif - -#ifndef _GL_SYS_SOCKET_H -#define _GL_SYS_SOCKET_H - -#if !@HAVE_SA_FAMILY_T@ -typedef unsigned short sa_family_t; -#endif - -#if !@HAVE_STRUCT_SOCKADDR_STORAGE@ -# include -/* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on - 2009-05-08, licensed under LGPLv2.1+, plus portability fixes. */ -# define __ss_aligntype unsigned long int -# define _SS_SIZE 256 -# define _SS_PADSIZE \ - (_SS_SIZE - ((sizeof (sa_family_t) >= alignof (__ss_aligntype) \ - ? sizeof (sa_family_t) \ - : alignof (__ss_aligntype)) \ - + sizeof (__ss_aligntype))) - -struct sockaddr_storage -{ - sa_family_t ss_family; /* Address family, etc. */ - __ss_aligntype __ss_align; /* Force desired alignment. */ - char __ss_padding[_SS_PADSIZE]; -}; -#endif - -#if @HAVE_SYS_SOCKET_H@ - -/* A platform that has . */ - -/* For shutdown(). */ -# if !defined SHUT_RD -# define SHUT_RD 0 -# endif -# if !defined SHUT_WR -# define SHUT_WR 1 -# endif -# if !defined SHUT_RDWR -# define SHUT_RDWR 2 -# endif - -#else - -# ifdef __CYGWIN__ -# error "Cygwin does have a sys/socket.h, doesn't it?!?" -# endif - -/* A platform that lacks . - - Currently only MinGW is supported. See the gnulib manual regarding - Windows sockets. MinGW has the header files winsock2.h and - ws2tcpip.h that declare the sys/socket.h definitions we need. Note - that you can influence which definitions you get by setting the - WINVER symbol before including these two files. For example, - getaddrinfo is only available if _WIN32_WINNT >= 0x0501 (that - symbol is set indiriectly through WINVER). You can set this by - adding AC_DEFINE(WINVER, 0x0501) to configure.ac. Note that your - code may not run on older Windows releases then. My Windows 2000 - box was not able to run the code, for example. The situation is - slightly confusing because: - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/getaddrinfo_2.asp - suggests that getaddrinfo should be available on all Windows - releases. */ - - -# if @HAVE_WINSOCK2_H@ -# include -# endif -# if @HAVE_WS2TCPIP_H@ -# include -# endif - -/* For shutdown(). */ -# if !defined SHUT_RD && defined SD_RECEIVE -# define SHUT_RD SD_RECEIVE -# endif -# if !defined SHUT_WR && defined SD_SEND -# define SHUT_WR SD_SEND -# endif -# if !defined SHUT_RDWR && defined SD_BOTH -# define SHUT_RDWR SD_BOTH -# endif - -/* The definition of GL_LINK_WARNING is copied here. */ - -# if @HAVE_WINSOCK2_H@ -/* Include headers needed by the emulation code. */ -# include -# include - -typedef int socklen_t; - -# endif - -# ifdef __cplusplus -extern "C" { -# endif - -# if @HAVE_WINSOCK2_H@ - -/* Re-define FD_ISSET to avoid a WSA call while we are not using - network sockets. */ -static inline int -rpl_fd_isset (SOCKET fd, fd_set * set) -{ - u_int i; - if (set == NULL) - return 0; - - for (i = 0; i < set->fd_count; i++) - if (set->fd_array[i] == fd) - return 1; - - return 0; -} - -# undef FD_ISSET -# define FD_ISSET(fd, set) rpl_fd_isset(fd, set) - -# endif - -/* Wrap everything else to use libc file descriptors for sockets. */ - -# if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H -# undef close -# define close close_used_without_including_unistd_h -# endif - -# if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H -# undef gethostname -# define gethostname gethostname_used_without_including_unistd_h -# endif - -# if @GNULIB_SOCKET@ -# if @HAVE_WINSOCK2_H@ -# undef socket -# define socket rpl_socket -extern int rpl_socket (int, int, int protocol); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef socket -# define socket socket_used_without_requesting_gnulib_module_socket -# elif defined GNULIB_POSIXCHECK -# undef socket -# define socket(d,t,p) \ - (GL_LINK_WARNING ("socket is not always POSIX compliant - " \ - "use gnulib module socket for portability"), \ - socket (d, t, p)) -# endif - -# if @GNULIB_CONNECT@ -# if @HAVE_WINSOCK2_H@ -# undef connect -# define connect rpl_connect -extern int rpl_connect (int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef connect -# define connect socket_used_without_requesting_gnulib_module_connect -# elif defined GNULIB_POSIXCHECK -# undef connect -# define connect(s,a,l) \ - (GL_LINK_WARNING ("connect is not always POSIX compliant - " \ - "use gnulib module connect for portability"), \ - connect (s, a, l)) -# endif - -# if @GNULIB_ACCEPT@ -# if @HAVE_WINSOCK2_H@ -# undef accept -# define accept rpl_accept -extern int rpl_accept (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef accept -# define accept accept_used_without_requesting_gnulib_module_accept -# elif defined GNULIB_POSIXCHECK -# undef accept -# define accept(s,a,l) \ - (GL_LINK_WARNING ("accept is not always POSIX compliant - " \ - "use gnulib module accept for portability"), \ - accept (s, a, l)) -# endif - -# if @GNULIB_BIND@ -# if @HAVE_WINSOCK2_H@ -# undef bind -# define bind rpl_bind -extern int rpl_bind (int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef bind -# define bind bind_used_without_requesting_gnulib_module_bind -# elif defined GNULIB_POSIXCHECK -# undef bind -# define bind(s,a,l) \ - (GL_LINK_WARNING ("bind is not always POSIX compliant - " \ - "use gnulib module bind for portability"), \ - bind (s, a, l)) -# endif - -# if @GNULIB_GETPEERNAME@ -# if @HAVE_WINSOCK2_H@ -# undef getpeername -# define getpeername rpl_getpeername -extern int rpl_getpeername (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getpeername -# define getpeername getpeername_used_without_requesting_gnulib_module_getpeername -# elif defined GNULIB_POSIXCHECK -# undef getpeername -# define getpeername(s,a,l) \ - (GL_LINK_WARNING ("getpeername is not always POSIX compliant - " \ - "use gnulib module getpeername for portability"), \ - getpeername (s, a, l)) -# endif - -# if @GNULIB_GETSOCKNAME@ -# if @HAVE_WINSOCK2_H@ -# undef getsockname -# define getsockname rpl_getsockname -extern int rpl_getsockname (int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getsockname -# define getsockname getsockname_used_without_requesting_gnulib_module_getsockname -# elif defined GNULIB_POSIXCHECK -# undef getsockname -# define getsockname(s,a,l) \ - (GL_LINK_WARNING ("getsockname is not always POSIX compliant - " \ - "use gnulib module getsockname for portability"), \ - getsockname (s, a, l)) -# endif - -# if @GNULIB_GETSOCKOPT@ -# if @HAVE_WINSOCK2_H@ -# undef getsockopt -# define getsockopt rpl_getsockopt -extern int rpl_getsockopt (int, int, int, void *, socklen_t *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef getsockopt -# define getsockopt getsockopt_used_without_requesting_gnulib_module_getsockopt -# elif defined GNULIB_POSIXCHECK -# undef getsockopt -# define getsockopt(s,lvl,o,v,l) \ - (GL_LINK_WARNING ("getsockopt is not always POSIX compliant - " \ - "use gnulib module getsockopt for portability"), \ - getsockopt (s, lvl, o, v, l)) -# endif - -# if @GNULIB_LISTEN@ -# if @HAVE_WINSOCK2_H@ -# undef listen -# define listen rpl_listen -extern int rpl_listen (int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef listen -# define listen listen_used_without_requesting_gnulib_module_listen -# elif defined GNULIB_POSIXCHECK -# undef listen -# define listen(s,b) \ - (GL_LINK_WARNING ("listen is not always POSIX compliant - " \ - "use gnulib module listen for portability"), \ - listen (s, b)) -# endif - -# if @GNULIB_RECV@ -# if @HAVE_WINSOCK2_H@ -# undef recv -# define recv rpl_recv -extern int rpl_recv (int, void *, int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef recv -# define recv recv_used_without_requesting_gnulib_module_recv -# elif defined GNULIB_POSIXCHECK -# undef recv -# define recv(s,b,n,f) \ - (GL_LINK_WARNING ("recv is not always POSIX compliant - " \ - "use gnulib module recv for portability"), \ - recv (s, b, n, f)) -# endif - -# if @GNULIB_SEND@ -# if @HAVE_WINSOCK2_H@ -# undef send -# define send rpl_send -extern int rpl_send (int, const void *, int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef send -# define send send_used_without_requesting_gnulib_module_send -# elif defined GNULIB_POSIXCHECK -# undef send -# define send(s,b,n,f) \ - (GL_LINK_WARNING ("send is not always POSIX compliant - " \ - "use gnulib module send for portability"), \ - send (s, b, n, f)) -# endif - -# if @GNULIB_RECVFROM@ -# if @HAVE_WINSOCK2_H@ -# undef recvfrom -# define recvfrom rpl_recvfrom -extern int rpl_recvfrom (int, void *, int, int, struct sockaddr *, int *); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef recvfrom -# define recvfrom recvfrom_used_without_requesting_gnulib_module_recvfrom -# elif defined GNULIB_POSIXCHECK -# undef recvfrom -# define recvfrom(s,b,n,f,a,l) \ - (GL_LINK_WARNING ("recvfrom is not always POSIX compliant - " \ - "use gnulib module recvfrom for portability"), \ - recvfrom (s, b, n, f, a, l)) -# endif - -# if @GNULIB_SENDTO@ -# if @HAVE_WINSOCK2_H@ -# undef sendto -# define sendto rpl_sendto -extern int rpl_sendto (int, const void *, int, int, struct sockaddr *, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef sendto -# define sendto sendto_used_without_requesting_gnulib_module_sendto -# elif defined GNULIB_POSIXCHECK -# undef sendto -# define sendto(s,b,n,f,a,l) \ - (GL_LINK_WARNING ("sendto is not always POSIX compliant - " \ - "use gnulib module sendto for portability"), \ - sendto (s, b, n, f, a, l)) -# endif - -# if @GNULIB_SETSOCKOPT@ -# if @HAVE_WINSOCK2_H@ -# undef setsockopt -# define setsockopt rpl_setsockopt -extern int rpl_setsockopt (int, int, int, const void *, socklen_t); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef setsockopt -# define setsockopt setsockopt_used_without_requesting_gnulib_module_setsockopt -# elif defined GNULIB_POSIXCHECK -# undef setsockopt -# define setsockopt(s,lvl,o,v,l) \ - (GL_LINK_WARNING ("setsockopt is not always POSIX compliant - " \ - "use gnulib module setsockopt for portability"), \ - setsockopt (s, lvl, o, v, l)) -# endif - -# if @GNULIB_SHUTDOWN@ -# if @HAVE_WINSOCK2_H@ -# undef shutdown -# define shutdown rpl_shutdown -extern int rpl_shutdown (int, int); -# endif -# elif @HAVE_WINSOCK2_H@ -# undef shutdown -# define shutdown shutdown_used_without_requesting_gnulib_module_shutdown -# elif defined GNULIB_POSIXCHECK -# undef shutdown -# define shutdown(s,h) \ - (GL_LINK_WARNING ("shutdown is not always POSIX compliant - " \ - "use gnulib module shutdown for portability"), \ - shutdown (s, h)) -# endif - -# if @HAVE_WINSOCK2_H@ -# undef select -# define select select_used_without_including_sys_select_h -# endif - -# ifdef __cplusplus -} -# endif - -#endif /* HAVE_SYS_SOCKET_H */ - -#endif /* _GL_SYS_SOCKET_H */ -#endif /* _GL_SYS_SOCKET_H */ diff -Nru gnutls26-2.8.6/lib/gl/sys_stat.in.h gnutls26-2.4.1/lib/gl/sys_stat.in.h --- gnutls26-2.8.6/lib/gl/sys_stat.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/sys_stat.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,361 +0,0 @@ -/* Provide a more complete sys/stat header file. - Copyright (C) 2005-2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ - -/* This file is supposed to be used on platforms where is - incomplete. It is intended to provide definitions and prototypes - needed by an application. Start with what the system provides. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_system_sys_stat_h -/* Special invocation convention. */ - -#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_SYS_STAT_H - -/* Get nlink_t. */ -#include - -/* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ - -#ifndef _GL_SYS_STAT_H -#define _GL_SYS_STAT_H - -/* The definition of GL_LINK_WARNING is copied here. */ - -/* Before doing "#define mkdir rpl_mkdir" below, we need to include all - headers that may declare mkdir(). */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# include -#endif - -#ifndef S_IFMT -# define S_IFMT 0170000 -#endif - -#if STAT_MACROS_BROKEN -# undef S_ISBLK -# undef S_ISCHR -# undef S_ISDIR -# undef S_ISFIFO -# undef S_ISLNK -# undef S_ISNAM -# undef S_ISMPB -# undef S_ISMPC -# undef S_ISNWK -# undef S_ISREG -# undef S_ISSOCK -#endif - -#ifndef S_ISBLK -# ifdef S_IFBLK -# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) -# else -# define S_ISBLK(m) 0 -# endif -#endif - -#ifndef S_ISCHR -# ifdef S_IFCHR -# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -# else -# define S_ISCHR(m) 0 -# endif -#endif - -#ifndef S_ISDIR -# ifdef S_IFDIR -# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -# else -# define S_ISDIR(m) 0 -# endif -#endif - -#ifndef S_ISDOOR /* Solaris 2.5 and up */ -# define S_ISDOOR(m) 0 -#endif - -#ifndef S_ISFIFO -# ifdef S_IFIFO -# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) -# else -# define S_ISFIFO(m) 0 -# endif -#endif - -#ifndef S_ISLNK -# ifdef S_IFLNK -# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -# else -# define S_ISLNK(m) 0 -# endif -#endif - -#ifndef S_ISMPB /* V7 */ -# ifdef S_IFMPB -# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) -# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) -# else -# define S_ISMPB(m) 0 -# define S_ISMPC(m) 0 -# endif -#endif - -#ifndef S_ISNAM /* Xenix */ -# ifdef S_IFNAM -# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) -# else -# define S_ISNAM(m) 0 -# endif -#endif - -#ifndef S_ISNWK /* HP/UX */ -# ifdef S_IFNWK -# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) -# else -# define S_ISNWK(m) 0 -# endif -#endif - -#ifndef S_ISPORT /* Solaris 10 and up */ -# define S_ISPORT(m) 0 -#endif - -#ifndef S_ISREG -# ifdef S_IFREG -# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -# else -# define S_ISREG(m) 0 -# endif -#endif - -#ifndef S_ISSOCK -# ifdef S_IFSOCK -# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) -# else -# define S_ISSOCK(m) 0 -# endif -#endif - - -#ifndef S_TYPEISMQ -# define S_TYPEISMQ(p) 0 -#endif - -#ifndef S_TYPEISTMO -# define S_TYPEISTMO(p) 0 -#endif - - -#ifndef S_TYPEISSEM -# ifdef S_INSEM -# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) -# else -# define S_TYPEISSEM(p) 0 -# endif -#endif - -#ifndef S_TYPEISSHM -# ifdef S_INSHD -# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) -# else -# define S_TYPEISSHM(p) 0 -# endif -#endif - -/* high performance ("contiguous data") */ -#ifndef S_ISCTG -# define S_ISCTG(p) 0 -#endif - -/* Cray DMF (data migration facility): off line, with data */ -#ifndef S_ISOFD -# define S_ISOFD(p) 0 -#endif - -/* Cray DMF (data migration facility): off line, with no data */ -#ifndef S_ISOFL -# define S_ISOFL(p) 0 -#endif - -/* 4.4BSD whiteout */ -#ifndef S_ISWHT -# define S_ISWHT(m) 0 -#endif - -/* If any of the following are undefined, - define them to their de facto standard values. */ -#if !S_ISUID -# define S_ISUID 04000 -#endif -#if !S_ISGID -# define S_ISGID 02000 -#endif - -/* S_ISVTX is a common extension to POSIX. */ -#ifndef S_ISVTX -# define S_ISVTX 01000 -#endif - -#if !S_IRUSR && S_IREAD -# define S_IRUSR S_IREAD -#endif -#if !S_IRUSR -# define S_IRUSR 00400 -#endif -#if !S_IRGRP -# define S_IRGRP (S_IRUSR >> 3) -#endif -#if !S_IROTH -# define S_IROTH (S_IRUSR >> 6) -#endif - -#if !S_IWUSR && S_IWRITE -# define S_IWUSR S_IWRITE -#endif -#if !S_IWUSR -# define S_IWUSR 00200 -#endif -#if !S_IWGRP -# define S_IWGRP (S_IWUSR >> 3) -#endif -#if !S_IWOTH -# define S_IWOTH (S_IWUSR >> 6) -#endif - -#if !S_IXUSR && S_IEXEC -# define S_IXUSR S_IEXEC -#endif -#if !S_IXUSR -# define S_IXUSR 00100 -#endif -#if !S_IXGRP -# define S_IXGRP (S_IXUSR >> 3) -#endif -#if !S_IXOTH -# define S_IXOTH (S_IXUSR >> 6) -#endif - -#if !S_IRWXU -# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) -#endif -#if !S_IRWXG -# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) -#endif -#if !S_IRWXO -# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) -#endif - -/* S_IXUGO is a common extension to POSIX. */ -#if !S_IXUGO -# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) -#endif - -#ifndef S_IRWXUGO -# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_LSTAT@ -# if ! @HAVE_LSTAT@ -/* mingw does not support symlinks, therefore it does not have lstat. But - without links, stat does just fine. */ -# define lstat stat -# elif @REPLACE_LSTAT@ -# undef lstat -# define lstat rpl_lstat -extern int rpl_lstat (const char *name, struct stat *buf); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lstat -# define lstat(p,b) \ - (GL_LINK_WARNING ("lstat is unportable - " \ - "use gnulib module lstat for portability"), \ - lstat (p, b)) -#endif - - -#if @REPLACE_MKDIR@ -# undef mkdir -# define mkdir rpl_mkdir -extern int mkdir (char const *name, mode_t mode); -#else -/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. - Additionally, it declares _mkdir (and depending on compile flags, an - alias mkdir), only in the nonstandard , which is included above. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - -static inline int -rpl_mkdir (char const *name, mode_t mode) -{ - return _mkdir (name); -} - -# define mkdir rpl_mkdir -# endif -#endif - - -/* Declare BSD extensions. */ - -#if @GNULIB_LCHMOD@ -/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME - denotes a symbolic link. */ -# if !@HAVE_LCHMOD@ -/* The lchmod replacement follows symbolic links. Callers should take - this into account; lchmod should be applied only to arguments that - are known to not be symbolic links. On hosts that lack lchmod, - this can lead to race conditions between the check and the - invocation of lchmod, but we know of no workarounds that are - reliable in general. You might try requesting support for lchmod - from your operating system supplier. */ -# define lchmod chmod -# endif -# if 0 /* assume already declared */ -extern int lchmod (const char *filename, mode_t mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lchmod -# define lchmod(f,m) \ - (GL_LINK_WARNING ("lchmod is unportable - " \ - "use gnulib module lchmod for portability"), \ - lchmod (f, m)) -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _GL_SYS_STAT_H */ -#endif /* _GL_SYS_STAT_H */ -#endif diff -Nru gnutls26-2.8.6/lib/gl/tests/dummy.c gnutls26-2.4.1/lib/gl/tests/dummy.c --- gnutls26-2.8.6/lib/gl/tests/dummy.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/dummy.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -/* A dummy file, to prevent empty libraries from breaking builds. - Copyright (C) 2004, 2007 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 3 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, see . */ - -/* Some systems, reportedly OpenBSD and Mac OS X, refuse to create - libraries without any object files. You might get an error like: - - > ar cru .libs/libgl.a - > ar: no archive members specified - - Compiling this file, and adding its object file to the library, will - prevent the library from being empty. */ - -/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries - that don't export any symbol. You might get an error like: - - > cc ... libgnu.a - > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a - - Compiling this file, and adding its object file to the library, will - prevent the library from exporting no symbols. */ - -#ifdef __sun -/* This declaration ensures that the library will export at least 1 symbol. */ -int gl_dummy_symbol; -#else -/* This declaration is solely to ensure that after preprocessing - this file is never empty. */ -typedef int dummy; -#endif diff -Nru gnutls26-2.8.6/lib/gl/tests/intprops.h gnutls26-2.4.1/lib/gl/tests/intprops.h --- gnutls26-2.8.6/lib/gl/tests/intprops.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/intprops.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,77 +0,0 @@ -/* intprops.h -- properties of integer types - - Copyright (C) 2001, 2002, 2003, 2004, 2005 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 3 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, see . */ - -/* Written by Paul Eggert. */ - -#include - -/* The extra casts in the following macros work around compiler bugs, - e.g., in Cray C 5.0.3.0. */ - -/* True if the arithmetic type T is an integer type. bool counts as - an integer. */ -#define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) - -/* True if negative values of the signed integer type T use two's - complement, ones' complement, or signed magnitude representation, - respectively. Much GNU code assumes two's complement, but some - people like to be portable to all possible C hosts. */ -#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) -#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) -#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) - -/* True if the arithmetic type T is signed. */ -#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) - -/* The maximum and minimum values for the integer type T. These - macros have undefined behavior if T is signed and has padding bits. - If this is a problem for you, please let us know how to fix it for - your host. */ -#define TYPE_MINIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) 0 \ - : TYPE_SIGNED_MAGNITUDE (t) \ - ? ~ (t) 0 \ - : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) -#define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ - : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) - -/* Return zero if T can be determined to be an unsigned type. - Otherwise, return 1. - When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a - tighter bound. Otherwise, it overestimates the true bound by one byte - when applied to unsigned types of size 2, 4, 16, ... bytes. - The symbol signed_type_or_expr__ is private to this header file. */ -#if __GNUC__ >= 2 -# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t)) -#else -# define signed_type_or_expr__(t) 1 -#endif - -/* Bound on length of the string representing an integer type or expression T. - Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485; - add 1 for integer division truncation; add 1 more for a minus sign - if needed. */ -#define INT_STRLEN_BOUND(t) \ - ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \ - + signed_type_or_expr__ (t) + 1) - -/* Bound on buffer size needed to represent an integer type or expression T, - including the terminating null. */ -#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) diff -Nru gnutls26-2.8.6/lib/gl/tests/Makefile.am gnutls26-2.4.1/lib/gl/tests/Makefile.am --- gnutls26-2.8.6/lib/gl/tests/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,296 +0,0 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. - -AUTOMAKE_OPTIONS = 1.5 foreign - -SUBDIRS = -TESTS = -TESTS_ENVIRONMENT = -noinst_PROGRAMS = -check_PROGRAMS = -noinst_HEADERS = -noinst_LIBRARIES = -check_LIBRARIES = libtests.a -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -AM_CPPFLAGS = \ - -I. -I$(srcdir) \ - -I../.. -I$(srcdir)/../.. \ - -I../../gl -I$(srcdir)/../../gl - -LDADD = libtests.a ../../gl/liblgnu.la libtests.a $(LIBTESTS_LIBDEPS) - -libtests_a_SOURCES = -libtests_a_LIBADD = $(lgltests_LIBOBJS) -libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS) -EXTRA_libtests_a_SOURCES = -AM_LIBTOOLFLAGS = --preserve-dup-deps - -## begin gnulib module alloca-opt-tests - -TESTS += test-alloca-opt -check_PROGRAMS += test-alloca-opt - -EXTRA_DIST += test-alloca-opt.c - -## end gnulib module alloca-opt-tests - -## begin gnulib module byteswap-tests - -TESTS += test-byteswap -check_PROGRAMS += test-byteswap - -EXTRA_DIST += test-byteswap.c - -## end gnulib module byteswap-tests - -## begin gnulib module c-ctype-tests - -TESTS += test-c-ctype -check_PROGRAMS += test-c-ctype - -EXTRA_DIST += test-c-ctype.c - -## end gnulib module c-ctype-tests - -## begin gnulib module errno-tests - -TESTS += test-errno -check_PROGRAMS += test-errno - -EXTRA_DIST += test-errno.c - -## end gnulib module errno-tests - -## begin gnulib module fseeko-tests - -TESTS += test-fseeko.sh test-fseeko2.sh -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' -check_PROGRAMS += test-fseeko -EXTRA_DIST += test-fseeko.c test-fseeko.sh test-fseeko2.sh - -## end gnulib module fseeko-tests - -## begin gnulib module func-tests - -TESTS += test-func -check_PROGRAMS += test-func -EXTRA_DIST += test-func.c - -## end gnulib module func-tests - -## begin gnulib module intprops - - -EXTRA_DIST += intprops.h - -## end gnulib module intprops - -## begin gnulib module netdb-tests - -TESTS += test-netdb -check_PROGRAMS += test-netdb - -EXTRA_DIST += test-netdb.c - -## end gnulib module netdb-tests - -## begin gnulib module read-file-tests - -TESTS += test-read-file -check_PROGRAMS += test-read-file -EXTRA_DIST += test-read-file.c - -## end gnulib module read-file-tests - -## begin gnulib module snprintf-tests - -TESTS += test-snprintf -check_PROGRAMS += test-snprintf - -EXTRA_DIST += test-snprintf.c - -## end gnulib module snprintf-tests - -## begin gnulib module sockets-tests - -TESTS += test-sockets -check_PROGRAMS += test-sockets -test_sockets_LDADD = $(LDADD) @LIBSOCKET@ -EXTRA_DIST += test-sockets.c - -## end gnulib module sockets-tests - -## begin gnulib module stdbool-tests - -TESTS += test-stdbool -check_PROGRAMS += test-stdbool - -EXTRA_DIST += test-stdbool.c - -## end gnulib module stdbool-tests - -## begin gnulib module stdint-tests - -TESTS += test-stdint -check_PROGRAMS += test-stdint - -EXTRA_DIST += test-stdint.c - -## end gnulib module stdint-tests - -## begin gnulib module stdio-tests - -TESTS += test-stdio -check_PROGRAMS += test-stdio - -EXTRA_DIST += test-stdio.c - -## end gnulib module stdio-tests - -## begin gnulib module stdlib-tests - -TESTS += test-stdlib -check_PROGRAMS += test-stdlib - -EXTRA_DIST += test-stdlib.c - -## end gnulib module stdlib-tests - -## begin gnulib module string-tests - -TESTS += test-string -check_PROGRAMS += test-string - -EXTRA_DIST += test-string.c - -## end gnulib module string-tests - -## begin gnulib module strings-tests - -TESTS += test-strings -check_PROGRAMS += test-strings - -EXTRA_DIST += test-strings.c - -## end gnulib module strings-tests - -## begin gnulib module strverscmp-tests - -TESTS += test-strverscmp -check_PROGRAMS += test-strverscmp -EXTRA_DIST += test-strverscmp.c - -## end gnulib module strverscmp-tests - -## begin gnulib module sys_socket-tests - -TESTS += test-sys_socket -check_PROGRAMS += test-sys_socket - -EXTRA_DIST += test-sys_socket.c - -## end gnulib module sys_socket-tests - -## begin gnulib module sys_stat-tests - -TESTS += test-sys_stat -check_PROGRAMS += test-sys_stat - -EXTRA_DIST += test-sys_stat.c - -## end gnulib module sys_stat-tests - -## begin gnulib module time-tests - -TESTS += test-time -check_PROGRAMS += test-time - -EXTRA_DIST += test-time.c - -## end gnulib module time-tests - -## begin gnulib module unistd-tests - -TESTS += test-unistd -check_PROGRAMS += test-unistd - -EXTRA_DIST += test-unistd.c - -## end gnulib module unistd-tests - -## begin gnulib module vasnprintf-tests - -TESTS += test-vasnprintf -check_PROGRAMS += test-vasnprintf - -EXTRA_DIST += test-vasnprintf.c - -## end gnulib module vasnprintf-tests - -## begin gnulib module vasprintf-tests - -TESTS += test-vasprintf -check_PROGRAMS += test-vasprintf - -EXTRA_DIST += test-vasprintf.c - -## end gnulib module vasprintf-tests - -## begin gnulib module verify - -libtests_a_SOURCES += verify.h - -## end gnulib module verify - -## begin gnulib module vsnprintf-tests - -TESTS += test-vsnprintf -check_PROGRAMS += test-vsnprintf - -EXTRA_DIST += test-vsnprintf.c - -## end gnulib module vsnprintf-tests - -## begin gnulib module wchar-tests - -TESTS += test-wchar -check_PROGRAMS += test-wchar - -EXTRA_DIST += test-wchar.c - -## end gnulib module wchar-tests - -## begin gnulib module dummy - -libtests_a_SOURCES += dummy.c - -## end gnulib module dummy - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : diff -Nru gnutls26-2.8.6/lib/gl/tests/Makefile.in gnutls26-2.4.1/lib/gl/tests/Makefile.in --- gnutls26-2.8.6/lib/gl/tests/Makefile.in 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/gl/tests/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,1501 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -TESTS = test-alloca-opt$(EXEEXT) test-byteswap$(EXEEXT) \ - test-c-ctype$(EXEEXT) test-errno$(EXEEXT) test-fseeko.sh \ - test-fseeko2.sh test-func$(EXEEXT) test-netdb$(EXEEXT) \ - test-read-file$(EXEEXT) test-snprintf$(EXEEXT) \ - test-sockets$(EXEEXT) test-stdbool$(EXEEXT) \ - test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ - test-string$(EXEEXT) test-strings$(EXEEXT) \ - test-strverscmp$(EXEEXT) test-sys_socket$(EXEEXT) \ - test-sys_stat$(EXEEXT) test-time$(EXEEXT) test-unistd$(EXEEXT) \ - test-vasnprintf$(EXEEXT) test-vasprintf$(EXEEXT) \ - test-vsnprintf$(EXEEXT) test-wchar$(EXEEXT) -noinst_PROGRAMS = -check_PROGRAMS = test-alloca-opt$(EXEEXT) test-byteswap$(EXEEXT) \ - test-c-ctype$(EXEEXT) test-errno$(EXEEXT) test-fseeko$(EXEEXT) \ - test-func$(EXEEXT) test-netdb$(EXEEXT) test-read-file$(EXEEXT) \ - test-snprintf$(EXEEXT) test-sockets$(EXEEXT) \ - test-stdbool$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \ - test-stdlib$(EXEEXT) test-string$(EXEEXT) \ - test-strings$(EXEEXT) test-strverscmp$(EXEEXT) \ - test-sys_socket$(EXEEXT) test-sys_stat$(EXEEXT) \ - test-time$(EXEEXT) test-unistd$(EXEEXT) \ - test-vasnprintf$(EXEEXT) test-vasprintf$(EXEEXT) \ - test-vsnprintf$(EXEEXT) test-wchar$(EXEEXT) -subdir = gl/tests -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -libtests_a_AR = $(AR) $(ARFLAGS) -am__DEPENDENCIES_1 = -am_libtests_a_OBJECTS = dummy.$(OBJEXT) -libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) -PROGRAMS = $(noinst_PROGRAMS) -test_alloca_opt_SOURCES = test-alloca-opt.c -test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT) -test_alloca_opt_LDADD = $(LDADD) -test_alloca_opt_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_byteswap_SOURCES = test-byteswap.c -test_byteswap_OBJECTS = test-byteswap.$(OBJEXT) -test_byteswap_LDADD = $(LDADD) -test_byteswap_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_c_ctype_SOURCES = test-c-ctype.c -test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT) -test_c_ctype_LDADD = $(LDADD) -test_c_ctype_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_errno_SOURCES = test-errno.c -test_errno_OBJECTS = test-errno.$(OBJEXT) -test_errno_LDADD = $(LDADD) -test_errno_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_fseeko_SOURCES = test-fseeko.c -test_fseeko_OBJECTS = test-fseeko.$(OBJEXT) -test_fseeko_LDADD = $(LDADD) -test_fseeko_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_func_SOURCES = test-func.c -test_func_OBJECTS = test-func.$(OBJEXT) -test_func_LDADD = $(LDADD) -test_func_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_netdb_SOURCES = test-netdb.c -test_netdb_OBJECTS = test-netdb.$(OBJEXT) -test_netdb_LDADD = $(LDADD) -test_netdb_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_read_file_SOURCES = test-read-file.c -test_read_file_OBJECTS = test-read-file.$(OBJEXT) -test_read_file_LDADD = $(LDADD) -test_read_file_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_snprintf_SOURCES = test-snprintf.c -test_snprintf_OBJECTS = test-snprintf.$(OBJEXT) -test_snprintf_LDADD = $(LDADD) -test_snprintf_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_sockets_SOURCES = test-sockets.c -test_sockets_OBJECTS = test-sockets.$(OBJEXT) -am__DEPENDENCIES_2 = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_sockets_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_stdbool_SOURCES = test-stdbool.c -test_stdbool_OBJECTS = test-stdbool.$(OBJEXT) -test_stdbool_LDADD = $(LDADD) -test_stdbool_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdint_SOURCES = test-stdint.c -test_stdint_OBJECTS = test-stdint.$(OBJEXT) -test_stdint_LDADD = $(LDADD) -test_stdint_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdio_SOURCES = test-stdio.c -test_stdio_OBJECTS = test-stdio.$(OBJEXT) -test_stdio_LDADD = $(LDADD) -test_stdio_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_stdlib_SOURCES = test-stdlib.c -test_stdlib_OBJECTS = test-stdlib.$(OBJEXT) -test_stdlib_LDADD = $(LDADD) -test_stdlib_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_string_SOURCES = test-string.c -test_string_OBJECTS = test-string.$(OBJEXT) -test_string_LDADD = $(LDADD) -test_string_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_strings_SOURCES = test-strings.c -test_strings_OBJECTS = test-strings.$(OBJEXT) -test_strings_LDADD = $(LDADD) -test_strings_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_strverscmp_SOURCES = test-strverscmp.c -test_strverscmp_OBJECTS = test-strverscmp.$(OBJEXT) -test_strverscmp_LDADD = $(LDADD) -test_strverscmp_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_sys_socket_SOURCES = test-sys_socket.c -test_sys_socket_OBJECTS = test-sys_socket.$(OBJEXT) -test_sys_socket_LDADD = $(LDADD) -test_sys_socket_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_sys_stat_SOURCES = test-sys_stat.c -test_sys_stat_OBJECTS = test-sys_stat.$(OBJEXT) -test_sys_stat_LDADD = $(LDADD) -test_sys_stat_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_time_SOURCES = test-time.c -test_time_OBJECTS = test-time.$(OBJEXT) -test_time_LDADD = $(LDADD) -test_time_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_unistd_SOURCES = test-unistd.c -test_unistd_OBJECTS = test-unistd.$(OBJEXT) -test_unistd_LDADD = $(LDADD) -test_unistd_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -test_vasnprintf_SOURCES = test-vasnprintf.c -test_vasnprintf_OBJECTS = test-vasnprintf.$(OBJEXT) -test_vasnprintf_LDADD = $(LDADD) -test_vasnprintf_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_vasprintf_SOURCES = test-vasprintf.c -test_vasprintf_OBJECTS = test-vasprintf.$(OBJEXT) -test_vasprintf_LDADD = $(LDADD) -test_vasprintf_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_vsnprintf_SOURCES = test-vsnprintf.c -test_vsnprintf_OBJECTS = test-vsnprintf.$(OBJEXT) -test_vsnprintf_LDADD = $(LDADD) -test_vsnprintf_DEPENDENCIES = libtests.a ../../gl/liblgnu.la \ - libtests.a $(am__DEPENDENCIES_1) -test_wchar_SOURCES = test-wchar.c -test_wchar_OBJECTS = test-wchar.$(OBJEXT) -test_wchar_LDADD = $(LDADD) -test_wchar_DEPENDENCIES = libtests.a ../../gl/liblgnu.la libtests.a \ - $(am__DEPENDENCIES_1) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - test-alloca-opt.c test-byteswap.c test-c-ctype.c test-errno.c \ - test-fseeko.c test-func.c test-netdb.c test-read-file.c \ - test-snprintf.c test-sockets.c test-stdbool.c test-stdint.c \ - test-stdio.c test-stdlib.c test-string.c test-strings.c \ - test-strverscmp.c test-sys_socket.c test-sys_stat.c \ - test-time.c test-unistd.c test-vasnprintf.c test-vasprintf.c \ - test-vsnprintf.c test-wchar.c -DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - test-alloca-opt.c test-byteswap.c test-c-ctype.c test-errno.c \ - test-fseeko.c test-func.c test-netdb.c test-read-file.c \ - test-snprintf.c test-sockets.c test-stdbool.c test-stdint.c \ - test-stdio.c test-stdlib.c test-string.c test-strings.c \ - test-strverscmp.c test-sys_socket.c test-sys_stat.c \ - test-time.c test-unistd.c test-vasnprintf.c test-vasprintf.c \ - test-vsnprintf.c test-wchar.c -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -am__tty_colors = \ -red=; grn=; lgn=; blu=; std= -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FLOAT_H = @FLOAT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ -HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ -HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ -HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ -HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ -HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASECMP = @HAVE_STRCASECMP@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSETENV = @HAVE_UNSETENV@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ -HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ -LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTOOL = @LIBTOOL@ -LIBZ = @LIBZ@ -LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ -LTLIBZ = @LTLIBZ@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAJOR_VERSION = @MAJOR_VERSION@ -MAKEINFO = @MAKEINFO@ -MINOR_VERSION = @MINOR_VERSION@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ -NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ -NEXT_STRINGS_H = @NEXT_STRINGS_H@ -NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ -NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATCH_VERSION = @PATCH_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ -REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ -REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ -REPLACE_STRERROR = @REPLACE_STRERROR@ -REPLACE_STRPTIME = @REPLACE_STRPTIME@ -REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ -REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ -REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.5 foreign -SUBDIRS = -TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' -noinst_HEADERS = -noinst_LIBRARIES = -check_LIBRARIES = libtests.a -EXTRA_DIST = test-alloca-opt.c test-byteswap.c test-c-ctype.c \ - test-errno.c test-fseeko.c test-fseeko.sh test-fseeko2.sh \ - test-func.c intprops.h test-netdb.c test-read-file.c \ - test-snprintf.c test-sockets.c test-stdbool.c test-stdint.c \ - test-stdio.c test-stdlib.c test-string.c test-strings.c \ - test-strverscmp.c test-sys_socket.c test-sys_stat.c \ - test-time.c test-unistd.c test-vasnprintf.c test-vasprintf.c \ - test-vsnprintf.c test-wchar.c -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -AM_CPPFLAGS = \ - -I. -I$(srcdir) \ - -I../.. -I$(srcdir)/../.. \ - -I../../gl -I$(srcdir)/../../gl - -LDADD = libtests.a ../../gl/liblgnu.la libtests.a $(LIBTESTS_LIBDEPS) -libtests_a_SOURCES = verify.h dummy.c -libtests_a_LIBADD = $(lgltests_LIBOBJS) -libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS) -EXTRA_libtests_a_SOURCES = -AM_LIBTOOLFLAGS = --preserve-dup-deps -test_sockets_LDADD = $(LDADD) @LIBSOCKET@ -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gl/tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign gl/tests/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkLIBRARIES: - -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) - -rm -f libtests.a - $(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) - $(RANLIB) libtests.a - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) - @rm -f test-alloca-opt$(EXEEXT) - $(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS) -test-byteswap$(EXEEXT): $(test_byteswap_OBJECTS) $(test_byteswap_DEPENDENCIES) - @rm -f test-byteswap$(EXEEXT) - $(LINK) $(test_byteswap_OBJECTS) $(test_byteswap_LDADD) $(LIBS) -test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) - @rm -f test-c-ctype$(EXEEXT) - $(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS) -test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) - @rm -f test-errno$(EXEEXT) - $(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS) -test-fseeko$(EXEEXT): $(test_fseeko_OBJECTS) $(test_fseeko_DEPENDENCIES) - @rm -f test-fseeko$(EXEEXT) - $(LINK) $(test_fseeko_OBJECTS) $(test_fseeko_LDADD) $(LIBS) -test-func$(EXEEXT): $(test_func_OBJECTS) $(test_func_DEPENDENCIES) - @rm -f test-func$(EXEEXT) - $(LINK) $(test_func_OBJECTS) $(test_func_LDADD) $(LIBS) -test-netdb$(EXEEXT): $(test_netdb_OBJECTS) $(test_netdb_DEPENDENCIES) - @rm -f test-netdb$(EXEEXT) - $(LINK) $(test_netdb_OBJECTS) $(test_netdb_LDADD) $(LIBS) -test-read-file$(EXEEXT): $(test_read_file_OBJECTS) $(test_read_file_DEPENDENCIES) - @rm -f test-read-file$(EXEEXT) - $(LINK) $(test_read_file_OBJECTS) $(test_read_file_LDADD) $(LIBS) -test-snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES) - @rm -f test-snprintf$(EXEEXT) - $(LINK) $(test_snprintf_OBJECTS) $(test_snprintf_LDADD) $(LIBS) -test-sockets$(EXEEXT): $(test_sockets_OBJECTS) $(test_sockets_DEPENDENCIES) - @rm -f test-sockets$(EXEEXT) - $(LINK) $(test_sockets_OBJECTS) $(test_sockets_LDADD) $(LIBS) -test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) - @rm -f test-stdbool$(EXEEXT) - $(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS) -test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) - @rm -f test-stdint$(EXEEXT) - $(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS) -test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES) - @rm -f test-stdio$(EXEEXT) - $(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS) -test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) - @rm -f test-stdlib$(EXEEXT) - $(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS) -test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES) - @rm -f test-string$(EXEEXT) - $(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS) -test-strings$(EXEEXT): $(test_strings_OBJECTS) $(test_strings_DEPENDENCIES) - @rm -f test-strings$(EXEEXT) - $(LINK) $(test_strings_OBJECTS) $(test_strings_LDADD) $(LIBS) -test-strverscmp$(EXEEXT): $(test_strverscmp_OBJECTS) $(test_strverscmp_DEPENDENCIES) - @rm -f test-strverscmp$(EXEEXT) - $(LINK) $(test_strverscmp_OBJECTS) $(test_strverscmp_LDADD) $(LIBS) -test-sys_socket$(EXEEXT): $(test_sys_socket_OBJECTS) $(test_sys_socket_DEPENDENCIES) - @rm -f test-sys_socket$(EXEEXT) - $(LINK) $(test_sys_socket_OBJECTS) $(test_sys_socket_LDADD) $(LIBS) -test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES) - @rm -f test-sys_stat$(EXEEXT) - $(LINK) $(test_sys_stat_OBJECTS) $(test_sys_stat_LDADD) $(LIBS) -test-time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES) - @rm -f test-time$(EXEEXT) - $(LINK) $(test_time_OBJECTS) $(test_time_LDADD) $(LIBS) -test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) - @rm -f test-unistd$(EXEEXT) - $(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS) -test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES) - @rm -f test-vasnprintf$(EXEEXT) - $(LINK) $(test_vasnprintf_OBJECTS) $(test_vasnprintf_LDADD) $(LIBS) -test-vasprintf$(EXEEXT): $(test_vasprintf_OBJECTS) $(test_vasprintf_DEPENDENCIES) - @rm -f test-vasprintf$(EXEEXT) - $(LINK) $(test_vasprintf_OBJECTS) $(test_vasprintf_LDADD) $(LIBS) -test-vsnprintf$(EXEEXT): $(test_vsnprintf_OBJECTS) $(test_vsnprintf_DEPENDENCIES) - @rm -f test-vsnprintf$(EXEEXT) - $(LINK) $(test_vsnprintf_OBJECTS) $(test_vsnprintf_LDADD) $(LIBS) -test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES) - @rm -f test-wchar$(EXEEXT) - $(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-byteswap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-func.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netdb.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-read-file.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-snprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sockets.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strings.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strverscmp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_socket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasnprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vsnprintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - 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; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - echo "$$grn$$dashes"; \ - else \ - echo "$$red$$dashes"; \ - fi; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes$$std"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-local - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - check-am ctags-recursive install install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-TESTS check-am clean \ - clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES \ - clean-noinstPROGRAMS ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am - - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : - -# 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: diff -Nru gnutls26-2.8.6/lib/gl/tests/test-alloca-opt.c gnutls26-2.4.1/lib/gl/tests/test-alloca-opt.c --- gnutls26-2.8.6/lib/gl/tests/test-alloca-opt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-alloca-opt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* Test of optional automatic memory allocation. - Copyright (C) 2005, 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#if HAVE_ALLOCA - -static void -do_allocation (int n) -{ - void *ptr = alloca (n); - (void) ptr; -} - -void (*func) (int) = do_allocation; - -#endif - -int -main () -{ -#if HAVE_ALLOCA - int i; - - /* Repeat a lot of times, to make sure there's no memory leak. */ - for (i = 0; i < 100000; i++) - { - /* Try various values. - n = 0 gave a crash on Alpha with gcc-2.5.8. - Some versions of MacOS X have a stack size limit of 512 KB. */ - func (34); - func (134); - func (399); - func (510823); - func (129321); - func (0); - func (4070); - func (4095); - func (1); - func (16582); - } -#endif - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-byteswap.c gnutls26-2.4.1/lib/gl/tests/test-byteswap.c --- gnutls26-2.8.6/lib/gl/tests/test-byteswap.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-byteswap.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main () -{ - ASSERT (bswap_16 (0xABCD) == 0xCDAB); - ASSERT (bswap_32 (0xDEADBEEF) == 0xEFBEADDE); - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-c-ctype.c gnutls26-2.4.1/lib/gl/tests/test-c-ctype.c --- gnutls26-2.8.6/lib/gl/tests/test-c-ctype.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-c-ctype.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,398 +0,0 @@ -/* Test of character handling in C locale. - Copyright (C) 2005, 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "c-ctype.h" - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static void -test_all (void) -{ - int c; - - for (c = -0x80; c < 0x100; c++) - { - ASSERT (c_isascii (c) == (c >= 0 && c < 0x80)); - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - ASSERT (c_isalnum (c) == 1); - break; - default: - ASSERT (c_isalnum (c) == 0); - break; - } - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - ASSERT (c_isalpha (c) == 1); - break; - default: - ASSERT (c_isalpha (c) == 0); - break; - } - - switch (c) - { - case '\t': case ' ': - ASSERT (c_isblank (c) == 1); - break; - default: - ASSERT (c_isblank (c) == 0); - break; - } - - ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f)); - - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - ASSERT (c_isdigit (c) == 1); - break; - default: - ASSERT (c_isdigit (c) == 0); - break; - } - - switch (c) - { - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - ASSERT (c_islower (c) == 1); - break; - default: - ASSERT (c_islower (c) == 0); - break; - } - - ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' ')); - - ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f)); - - ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c))); - - switch (c) - { - case ' ': case '\t': case '\n': case '\v': case '\f': case '\r': - ASSERT (c_isspace (c) == 1); - break; - default: - ASSERT (c_isspace (c) == 0); - break; - } - - switch (c) - { - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - ASSERT (c_isupper (c) == 1); - break; - default: - ASSERT (c_isupper (c) == 0); - break; - } - - switch (c) - { - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - ASSERT (c_isxdigit (c) == 1); - break; - default: - ASSERT (c_isxdigit (c) == 0); - break; - } - - switch (c) - { - case 'A': - ASSERT (c_tolower (c) == 'a'); - ASSERT (c_toupper (c) == c); - break; - case 'B': - ASSERT (c_tolower (c) == 'b'); - ASSERT (c_toupper (c) == c); - break; - case 'C': - ASSERT (c_tolower (c) == 'c'); - ASSERT (c_toupper (c) == c); - break; - case 'D': - ASSERT (c_tolower (c) == 'd'); - ASSERT (c_toupper (c) == c); - break; - case 'E': - ASSERT (c_tolower (c) == 'e'); - ASSERT (c_toupper (c) == c); - break; - case 'F': - ASSERT (c_tolower (c) == 'f'); - ASSERT (c_toupper (c) == c); - break; - case 'G': - ASSERT (c_tolower (c) == 'g'); - ASSERT (c_toupper (c) == c); - break; - case 'H': - ASSERT (c_tolower (c) == 'h'); - ASSERT (c_toupper (c) == c); - break; - case 'I': - ASSERT (c_tolower (c) == 'i'); - ASSERT (c_toupper (c) == c); - break; - case 'J': - ASSERT (c_tolower (c) == 'j'); - ASSERT (c_toupper (c) == c); - break; - case 'K': - ASSERT (c_tolower (c) == 'k'); - ASSERT (c_toupper (c) == c); - break; - case 'L': - ASSERT (c_tolower (c) == 'l'); - ASSERT (c_toupper (c) == c); - break; - case 'M': - ASSERT (c_tolower (c) == 'm'); - ASSERT (c_toupper (c) == c); - break; - case 'N': - ASSERT (c_tolower (c) == 'n'); - ASSERT (c_toupper (c) == c); - break; - case 'O': - ASSERT (c_tolower (c) == 'o'); - ASSERT (c_toupper (c) == c); - break; - case 'P': - ASSERT (c_tolower (c) == 'p'); - ASSERT (c_toupper (c) == c); - break; - case 'Q': - ASSERT (c_tolower (c) == 'q'); - ASSERT (c_toupper (c) == c); - break; - case 'R': - ASSERT (c_tolower (c) == 'r'); - ASSERT (c_toupper (c) == c); - break; - case 'S': - ASSERT (c_tolower (c) == 's'); - ASSERT (c_toupper (c) == c); - break; - case 'T': - ASSERT (c_tolower (c) == 't'); - ASSERT (c_toupper (c) == c); - break; - case 'U': - ASSERT (c_tolower (c) == 'u'); - ASSERT (c_toupper (c) == c); - break; - case 'V': - ASSERT (c_tolower (c) == 'v'); - ASSERT (c_toupper (c) == c); - break; - case 'W': - ASSERT (c_tolower (c) == 'w'); - ASSERT (c_toupper (c) == c); - break; - case 'X': - ASSERT (c_tolower (c) == 'x'); - ASSERT (c_toupper (c) == c); - break; - case 'Y': - ASSERT (c_tolower (c) == 'y'); - ASSERT (c_toupper (c) == c); - break; - case 'Z': - ASSERT (c_tolower (c) == 'z'); - ASSERT (c_toupper (c) == c); - break; - case 'a': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'A'); - break; - case 'b': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'B'); - break; - case 'c': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'C'); - break; - case 'd': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'D'); - break; - case 'e': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'E'); - break; - case 'f': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'F'); - break; - case 'g': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'G'); - break; - case 'h': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'H'); - break; - case 'i': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'I'); - break; - case 'j': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'J'); - break; - case 'k': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'K'); - break; - case 'l': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'L'); - break; - case 'm': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'M'); - break; - case 'n': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'N'); - break; - case 'o': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'O'); - break; - case 'p': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'P'); - break; - case 'q': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Q'); - break; - case 'r': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'R'); - break; - case 's': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'S'); - break; - case 't': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'T'); - break; - case 'u': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'U'); - break; - case 'v': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'V'); - break; - case 'w': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'W'); - break; - case 'x': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'X'); - break; - case 'y': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Y'); - break; - case 'z': - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == 'Z'); - break; - default: - ASSERT (c_tolower (c) == c); - ASSERT (c_toupper (c) == c); - break; - } - } -} - -int -main () -{ - test_all (); - - setlocale (LC_ALL, "de_DE"); - test_all (); - - setlocale (LC_ALL, "ja_JP.EUC-JP"); - test_all (); - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-errno.c gnutls26-2.4.1/lib/gl/tests/test-errno.c --- gnutls26-2.8.6/lib/gl/tests/test-errno.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-errno.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,117 +0,0 @@ -/* Test of substitute. - Copyright (C) 2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include - -/* Verify that the POSIX mandated errno values exist and can be used as - initializers outside of a function. - The variable names happen to match the Linux/x86 error numbers. */ -int e1 = EPERM; -int e2 = ENOENT; -int e3 = ESRCH; -int e4 = EINTR; -int e5 = EIO; -int e6 = ENXIO; -int e7 = E2BIG; -int e8 = ENOEXEC; -int e9 = EBADF; -int e10 = ECHILD; -int e11 = EAGAIN; -int e11a = EWOULDBLOCK; -int e12 = ENOMEM; -int e13 = EACCES; -int e14 = EFAULT; -int e16 = EBUSY; -int e17 = EEXIST; -int e18 = EXDEV; -int e19 = ENODEV; -int e20 = ENOTDIR; -int e21 = EISDIR; -int e22 = EINVAL; -int e23 = ENFILE; -int e24 = EMFILE; -int e25 = ENOTTY; -int e26 = ETXTBSY; -int e27 = EFBIG; -int e28 = ENOSPC; -int e29 = ESPIPE; -int e30 = EROFS; -int e31 = EMLINK; -int e32 = EPIPE; -int e33 = EDOM; -int e34 = ERANGE; -int e35 = EDEADLK; -int e36 = ENAMETOOLONG; -int e37 = ENOLCK; -int e38 = ENOSYS; -int e39 = ENOTEMPTY; -int e40 = ELOOP; -int e42 = ENOMSG; -int e43 = EIDRM; -int e67 = ENOLINK; -int e71 = EPROTO; -int e72 = EMULTIHOP; -int e74 = EBADMSG; -int e75 = EOVERFLOW; -int e84 = EILSEQ; -int e88 = ENOTSOCK; -int e89 = EDESTADDRREQ; -int e90 = EMSGSIZE; -int e91 = EPROTOTYPE; -int e92 = ENOPROTOOPT; -int e93 = EPROTONOSUPPORT; -int e95 = EOPNOTSUPP; -int e95a = ENOTSUP; -int e97 = EAFNOSUPPORT; -int e98 = EADDRINUSE; -int e99 = EADDRNOTAVAIL; -int e100 = ENETDOWN; -int e101 = ENETUNREACH; -int e102 = ENETRESET; -int e103 = ECONNABORTED; -int e104 = ECONNRESET; -int e105 = ENOBUFS; -int e106 = EISCONN; -int e107 = ENOTCONN; -int e110 = ETIMEDOUT; -int e111 = ECONNREFUSED; -int e113 = EHOSTUNREACH; -int e114 = EALREADY; -int e115 = EINPROGRESS; -int e116 = ESTALE; -int e122 = EDQUOT; -int e125 = ECANCELED; - -/* Don't verify that these errno values are all different, except for possibly - EWOULDBLOCK == EAGAIN. Even Linux/x86 does not pass this check: it has - ENOTSUP == EOPNOTSUPP. */ - -int -main () -{ - /* Verify that errno can be assigned. */ - errno = EOVERFLOW; - - /* snprintf() callers want to distinguish EINVAL and EOVERFLOW. */ - if (errno == EINVAL) - return 1; - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-fseeko2.sh gnutls26-2.4.1/lib/gl/tests/test-fseeko2.sh --- gnutls26-2.8.6/lib/gl/tests/test-fseeko2.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-fseeko2.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -#!/bin/sh - -exec ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh" diff -Nru gnutls26-2.8.6/lib/gl/tests/test-fseeko.c gnutls26-2.4.1/lib/gl/tests/test-fseeko.c --- gnutls26-2.8.6/lib/gl/tests/test-fseeko.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-fseeko.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,78 +0,0 @@ -/* Test of fseeko() function. - Copyright (C) 2007, 2008, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -#ifndef FUNC_UNGETC_BROKEN -# define FUNC_UNGETC_BROKEN 0 -#endif - -int -main (int argc, char **argv) -{ - /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh' - iff argc > 1. */ - int expected = argc > 1 ? 0 : -1; - /* Exit with success only if fseek/fseeko agree. */ - int r1 = fseeko (stdin, 0, SEEK_CUR); - int r2 = fseek (stdin, 0, SEEK_CUR); - ASSERT (r1 == r2 && r1 == expected); - if (argc > 1) - { - /* Test that fseek discards previously read ungetc data. */ - int ch = fgetc (stdin); - ASSERT (ch == '#'); - ASSERT (ungetc (ch, stdin) == ch); - ASSERT (fseeko (stdin, 2, SEEK_SET) == 0); - ch = fgetc (stdin); - ASSERT (ch == '/'); - if (2 < argc) - { - if (FUNC_UNGETC_BROKEN) - { - fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", - stderr); - return 77; - } - /* Test that fseek discards random ungetc data. */ - ASSERT (ungetc (ch ^ 0xff, stdin) == (ch ^ 0xff)); - } - ASSERT (fseeko (stdin, 0, SEEK_END) == 0); - ASSERT (fgetc (stdin) == EOF); - /* Test that fseek resets end-of-file marker. */ - ASSERT (feof (stdin)); - ASSERT (fseeko (stdin, 0, SEEK_END) == 0); - ASSERT (!feof (stdin)); - } - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-fseeko.sh gnutls26-2.4.1/lib/gl/tests/test-fseeko.sh --- gnutls26-2.8.6/lib/gl/tests/test-fseeko.sh 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-fseeko.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -#!/bin/sh - -./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1 -echo hi | ./test-fseeko${EXEEXT} || exit 1 -exit 0 diff -Nru gnutls26-2.8.6/lib/gl/tests/test-func.c gnutls26-2.4.1/lib/gl/tests/test-func.c --- gnutls26-2.8.6/lib/gl/tests/test-func.c 2009-11-05 13:25:28.000000000 +0000 +++ gnutls26-2.4.1/lib/gl/tests/test-func.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -/* Test whether __func__ is available - Copyright (C) 2008-2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main () -{ - ASSERT (strlen (__func__) > 0); - - /* On SunPRO C 5.9, sizeof __func__ evaluates to 0. The compiler warns: - "warning: null dimension: sizeof()". */ -#if !defined __SUNPRO_C - ASSERT (strlen (__func__) + 1 == sizeof __func__); -#endif - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-netdb.c gnutls26-2.4.1/lib/gl/tests/test-netdb.c --- gnutls26-2.8.6/lib/gl/tests/test-netdb.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-netdb.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Simon Josefsson , 2008. */ - -#include -#include - -/* Check that the 'struct hostent' type is defined. */ -struct hostent t1; - -int -main (void) -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-read-file.c gnutls26-2.4.1/lib/gl/tests/test-read-file.c --- gnutls26-2.8.6/lib/gl/tests/test-read-file.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-read-file.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2006-2007 Free Software Foundation - * Written by Simon Josefsson - * - * 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 3 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, see . */ - -#include - -#include "read-file.h" - -#include -#include -#include - -#define FILE1 "/etc/resolv.conf" -#define FILE2 "/dev/null" - -int -main (void) -{ - struct stat statbuf; - int err = 0; - - /* We can perform the test only if the file exists and is readable. - Test whether it exists, then assume it is world-readable. */ - if (stat (FILE1, &statbuf) >= 0) - { - size_t len; - char *out = read_file (FILE1, &len); - - if (!out) - { - perror ("Could not read file"); - err = 1; - } - else - { - if (out[len] != '\0') - { - perror ("BAD: out[len] not zero"); - err = 1; - } - - /* Assume FILE1 is a regular file or a symlink to a regular file. */ - if (len != statbuf.st_size) - { - fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE1); - err = 1; - } - free (out); - } - } - - /* We can perform the test only if the file exists and is readable. - Test whether it exists, then assume it is world-readable. */ - if (stat (FILE2, &statbuf) >= 0) - { - size_t len; - char *out = read_file (FILE2, &len); - - if (!out) - { - perror ("Could not read file"); - err = 1; - } - else - { - if (out[len] != '\0') - { - perror ("BAD: out[len] not zero"); - err = 1; - } - - /* /dev/null should always be empty. Ignore statbuf.st_size, since it - is not a regular file. */ - if (len != 0) - { - fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE2); - err = 1; - } - free (out); - } - } - - return err; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-snprintf.c gnutls26-2.4.1/lib/gl/tests/test-snprintf.c --- gnutls26-2.8.6/lib/gl/tests/test-snprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-snprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -/* Test of snprintf() function. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char *argv[]) -{ - char buf[8]; - int size; - int retval; - - for (size = 0; size <= 8; size++) - { - memcpy (buf, "DEADBEEF", 8); - retval = snprintf (buf, size, "%d", 12345); - if (size < 6) - { -#if CHECK_SNPRINTF_POSIX - ASSERT (retval < 0 || retval >= size); -#endif - if (size > 0) - { - ASSERT (memcmp (buf, "12345", size - 1) == 0); - ASSERT (buf[size - 1] == '\0' || buf[size - 1] == '0' + size); - } -#if !CHECK_SNPRINTF_POSIX - if (size > 0) -#endif - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - } - else - { - ASSERT (retval == 5); - ASSERT (memcmp (buf, "12345\0EF", 8) == 0); - } - } - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-sockets.c gnutls26-2.4.1/lib/gl/tests/test-sockets.c --- gnutls26-2.8.6/lib/gl/tests/test-sockets.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-sockets.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Free Software Foundation - * Written by Simon Josefsson. - * - * 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 3 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, see . */ - -#include - -#include - -#include "sockets.h" - -int -main (int argc, char *argv[]) -{ - int err; - - err = gl_sockets_startup (SOCKETS_1_1); - if (err != 0) - { - printf ("wsastartup failed %d\n", err); - return 1; - } - - err = gl_sockets_cleanup (); - if (err != 0) - { - printf ("wsacleanup failed %d\n", err); - return 1; - } - - (void) gl_fd_to_handle (0); - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-stdbool.c gnutls26-2.4.1/lib/gl/tests/test-stdbool.c --- gnutls26-2.8.6/lib/gl/tests/test-stdbool.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-stdbool.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,95 +0,0 @@ -/* Test of substitute. - Copyright (C) 2002-2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif - -#if 0 /* Cannot be guaranteed with gnulib's . */ -struct s { _Bool s: 1; _Bool t; } s; -#endif - -char a[true == 1 ? 1 : -1]; -char b[false == 0 ? 1 : -1]; -char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -#if 0 /* Cannot be guaranteed with gnulib's . */ -char d[(bool) 0.5 == true ? 1 : -1]; -bool e = &s; -#endif -char f[(_Bool) 0.0 == false ? 1 : -1]; -char g[true]; -char h[sizeof (_Bool)]; -#if 0 /* See above. */ -char i[sizeof s.t]; -#endif -enum { j = false, k = true, l = false * true, m = true * 256 }; -_Bool n[m]; -char o[sizeof n == m * sizeof n[0] ? 1 : -1]; -char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -#if 0 /* Cannot be guaranteed with gnulib's . */ -#if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a run-time - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -#endif -#endif -/* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ -_Bool q = true; -_Bool *pq = &q; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-stdint.c gnutls26-2.4.1/lib/gl/tests/test-stdint.c --- gnutls26-2.8.6/lib/gl/tests/test-stdint.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-stdint.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,360 +0,0 @@ -/* Test of substitute. - Copyright (C) 2006-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2006. */ - -#include - -/* Whether to enable pedantic checks. */ -#define DO_PEDANTIC 0 - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#include - -#include "verify.h" -#include "intprops.h" - -#if __GNUC__ >= 2 && DO_PEDANTIC -# define verify_same_types(expr1,expr2) \ - extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \ - extern void _verify_func(__LINE__) (__typeof__ (expr2) *); -# define _verify_func(line) _verify_func2(line) -# define _verify_func2(line) verify_func_ ## line -#else -# define verify_same_types(expr1,expr2) extern void verify_func (int) -#endif - -/* 7.18.1.1. Exact-width integer types */ -/* 7.18.2.1. Limits of exact-width integer types */ - -int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX }; -verify (TYPE_MINIMUM (int8_t) == INT8_MIN); -verify (TYPE_MAXIMUM (int8_t) == INT8_MAX); -verify_same_types (INT8_MIN, (int8_t) 0 + 0); -verify_same_types (INT8_MAX, (int8_t) 0 + 0); - -int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX }; -verify (TYPE_MINIMUM (int16_t) == INT16_MIN); -verify (TYPE_MAXIMUM (int16_t) == INT16_MAX); -verify_same_types (INT16_MIN, (int16_t) 0 + 0); -verify_same_types (INT16_MAX, (int16_t) 0 + 0); - -int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX }; -verify (TYPE_MINIMUM (int32_t) == INT32_MIN); -verify (TYPE_MAXIMUM (int32_t) == INT32_MAX); -verify_same_types (INT32_MIN, (int32_t) 0 + 0); -verify_same_types (INT32_MAX, (int32_t) 0 + 0); - -#ifdef INT64_MAX -int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX }; -verify (TYPE_MINIMUM (int64_t) == INT64_MIN); -verify (TYPE_MAXIMUM (int64_t) == INT64_MAX); -verify_same_types (INT64_MIN, (int64_t) 0 + 0); -verify_same_types (INT64_MAX, (int64_t) 0 + 0); -#endif - -uint8_t b1[2] = { UINT8_C (17), UINT8_MAX }; -verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX); -verify_same_types (UINT8_MAX, (uint8_t) 0 + 0); - -uint16_t b2[2] = { UINT16_C (17), UINT16_MAX }; -verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX); -verify_same_types (UINT16_MAX, (uint16_t) 0 + 0); - -uint32_t b3[2] = { UINT32_C (17), UINT32_MAX }; -verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX); -verify_same_types (UINT32_MAX, (uint32_t) 0 + 0); - -#ifdef UINT64_MAX -uint64_t b4[2] = { UINT64_C (17), UINT64_MAX }; -verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX); -verify_same_types (UINT64_MAX, (uint64_t) 0 + 0); -#endif - -#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT8_MAX && UINT16_MAX && UINT32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.2. Minimum-width integer types */ -/* 7.18.2.2. Limits of minimum-width integer types */ - -int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX }; -verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN); -verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX); -verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0); -verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0); - -int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX }; -verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN); -verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX); -verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0); -verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0); - -int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX }; -verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN); -verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX); -verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0); -verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0); - -#ifdef INT_LEAST64_MAX -int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX }; -verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN); -verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX); -verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0); -verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0); -#endif - -uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX }; -verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX); -verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0); - -uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX }; -verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX); -verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0); - -uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX }; -verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX); -verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0); - -#ifdef UINT_LEAST64_MAX -uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX }; -verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX); -verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0); -#endif - -#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.3. Fastest minimum-width integer types */ -/* 7.18.2.3. Limits of fastest minimum-width integer types */ - -int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX }; -verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN); -verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX); -verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0); -verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0); - -int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX }; -verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN); -verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX); -verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0); -verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0); - -int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX }; -verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN); -verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX); -verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0); -verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0); - -#ifdef INT_FAST64_MAX -int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX }; -verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN); -verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX); -verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0); -verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0); -#endif - -uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX }; -verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX); -verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0); - -uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX }; -verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX); -verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0); - -uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX }; -verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX); -verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0); - -#ifdef UINT_FAST64_MAX -uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX }; -verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX); -verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0); -#endif - -#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX -/* ok */ -#else -err or; -#endif - -#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.4. Integer types capable of holding object pointers */ -/* 7.18.2.4. Limits of integer types capable of holding object pointers */ - -intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX }; -verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN); -verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX); -verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0); -verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0); - -uintptr_t h[2] = { 17, UINTPTR_MAX }; -verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX); -verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0); - -#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX -/* ok */ -#else -err or; -#endif - -/* 7.18.1.5. Greatest-width integer types */ -/* 7.18.2.5. Limits of greatest-width integer types */ - -intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX }; -verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); -verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); -verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0); -verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0); - -uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX }; -verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); -verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0); - -/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in - the preprocessor. */ -#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__)) -#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX -/* ok */ -#else -err or; -#endif -#endif - -/* 7.18.3. Limits of other integer types */ - -#include - -verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN); -verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX); -verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0); -verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0); - -#if PTRDIFF_MIN && PTRDIFF_MAX -/* ok */ -#else -err or; -#endif - -#include - -verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN); -verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX); -verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0); -verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0); - -#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX -/* ok */ -#else -err or; -#endif - -verify (TYPE_MAXIMUM (size_t) == SIZE_MAX); -verify_same_types (SIZE_MAX, (size_t) 0 + 0); - -#if SIZE_MAX -/* ok */ -#else -err or; -#endif - -#if HAVE_WCHAR_T -verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN); -verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX); -verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0); -verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0); - -# if WCHAR_MIN != 17 && WCHAR_MAX -/* ok */ -# else -err or; -# endif -#endif - -#if HAVE_WINT_T -# include - -verify (TYPE_MINIMUM (wint_t) == WINT_MIN); -verify (TYPE_MAXIMUM (wint_t) == WINT_MAX); -verify_same_types (WINT_MIN, (wint_t) 0 + 0); -verify_same_types (WINT_MAX, (wint_t) 0 + 0); - -# if WINT_MIN != 17 && WINT_MAX -/* ok */ -# else -err or; -# endif -#endif - -/* 7.18.4. Macros for integer constants */ - -verify (INT8_C (17) == 17); -verify_same_types (INT8_C (17), (int_least8_t)0 + 0); -verify (UINT8_C (17) == 17); -verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0); - -verify (INT16_C (17) == 17); -verify_same_types (INT16_C (17), (int_least16_t)0 + 0); -verify (UINT16_C (17) == 17); -verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0); - -verify (INT32_C (17) == 17); -verify_same_types (INT32_C (17), (int_least32_t)0 + 0); -verify (UINT32_C (17) == 17); -verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0); - -#ifdef INT64_C -verify (INT64_C (17) == 17); -verify_same_types (INT64_C (17), (int_least64_t)0 + 0); -#endif -#ifdef UINT64_C -verify (UINT64_C (17) == 17); -verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0); -#endif - -verify (INTMAX_C (17) == 17); -verify_same_types (INTMAX_C (17), (intmax_t)0 + 0); -verify (UINTMAX_C (17) == 17); -verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0); - - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-stdio.c gnutls26-2.4.1/lib/gl/tests/test-stdio.c --- gnutls26-2.8.6/lib/gl/tests/test-stdio.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-stdio.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the various SEEK_* macros are defined. */ -int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-stdlib.c gnutls26-2.4.1/lib/gl/tests/test-stdlib.c --- gnutls26-2.8.6/lib/gl/tests/test-stdlib.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-stdlib.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int exitcode; - -int -main () -{ - /* Check that some macros are defined and different integer constants. */ - switch (exitcode) - { - case EXIT_SUCCESS: - case EXIT_FAILURE: - break; - } - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-string.c gnutls26-2.4.1/lib/gl/tests/test-string.c --- gnutls26-2.8.6/lib/gl/tests/test-string.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-string.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-strings.c gnutls26-2.4.1/lib/gl/tests/test-strings.c --- gnutls26-2.8.6/lib/gl/tests/test-strings.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-strings.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-strverscmp.c gnutls26-2.4.1/lib/gl/tests/test-strverscmp.c --- gnutls26-2.8.6/lib/gl/tests/test-strverscmp.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-strverscmp.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -/* Test of strverscmp() function. - Copyright (C) 2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake , 2008. */ - -#include - -#include - -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main (int argc, char **argv) -{ - ASSERT (strverscmp ("", "") == 0); - ASSERT (strverscmp ("a", "a") == 0); - ASSERT (strverscmp ("a", "b") < 0); - ASSERT (strverscmp ("b", "a") > 0); - ASSERT (strverscmp ("000", "00") < 0); - ASSERT (strverscmp ("00", "000") > 0); - ASSERT (strverscmp ("a0", "a") > 0); - ASSERT (strverscmp ("00", "01") < 0); - ASSERT (strverscmp ("01", "010") < 0); - ASSERT (strverscmp ("010", "09") < 0); - ASSERT (strverscmp ("09", "0") < 0); - ASSERT (strverscmp ("9", "10") < 0); - ASSERT (strverscmp ("0a", "0") > 0); - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-sys_socket.c gnutls26-2.4.1/lib/gl/tests/test-sys_socket.c --- gnutls26-2.8.6/lib/gl/tests/test-sys_socket.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-sys_socket.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include - -#if HAVE_SHUTDOWN -/* Check some integer constant expressions. */ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; -#endif - -int -main () -{ - struct sockaddr_storage x; - sa_family_t i; - - /* Check some errno values. */ - switch (0) - { - case ENOTSOCK: - case EADDRINUSE: - case ENETRESET: - case ECONNABORTED: - case ECONNRESET: - case ENOTCONN: - case ESHUTDOWN: - break; - } - - x.ss_family = 42; - i = 4711; - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-sys_stat.c gnutls26-2.4.1/lib/gl/tests/test-sys_stat.c --- gnutls26-2.8.6/lib/gl/tests/test-sys_stat.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-sys_stat.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,263 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include "verify.h" - -/* Check the existence of some macros. */ -int a[] = - { - S_IFMT, - S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG, -#ifdef S_IFLNK /* missing on mingw and djgpp */ - S_IFLNK, -#endif -#ifdef S_IFSOCK /* missing on mingw and djgpp */ - S_IFSOCK, -#endif - S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, - S_IRWXG, S_IRGRP, S_IWGRP, S_IXGRP, - S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH, - S_ISUID, S_ISGID, S_ISVTX, - S_ISBLK (S_IFREG), - S_ISCHR (S_IFREG), - S_ISDIR (S_IFREG), - S_ISFIFO (S_IFREG), - S_ISREG (S_IFREG), - S_ISLNK (S_IFREG), - S_ISSOCK (S_IFREG), - S_ISDOOR (S_IFREG), - S_ISMPB (S_IFREG), - S_ISNAM (S_IFREG), - S_ISNWK (S_IFREG), - S_ISPORT (S_IFREG), - S_ISCTG (S_IFREG), - S_ISOFD (S_IFREG), - S_ISOFL (S_IFREG), - S_ISWHT (S_IFREG) - }; - -/* Sanity checks. */ - -verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); -verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); -verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); - -verify (S_ISBLK (S_IFBLK)); -verify (!S_ISBLK (S_IFCHR)); -verify (!S_ISBLK (S_IFDIR)); -verify (!S_ISBLK (S_IFIFO)); -verify (!S_ISBLK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISBLK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISBLK (S_IFSOCK)); -#endif - -verify (!S_ISCHR (S_IFBLK)); -verify (S_ISCHR (S_IFCHR)); -verify (!S_ISCHR (S_IFDIR)); -verify (!S_ISCHR (S_IFIFO)); -verify (!S_ISCHR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISCHR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISCHR (S_IFSOCK)); -#endif - -verify (!S_ISDIR (S_IFBLK)); -verify (!S_ISDIR (S_IFCHR)); -verify (S_ISDIR (S_IFDIR)); -verify (!S_ISDIR (S_IFIFO)); -verify (!S_ISDIR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISDIR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISDIR (S_IFSOCK)); -#endif - -verify (!S_ISFIFO (S_IFBLK)); -verify (!S_ISFIFO (S_IFCHR)); -verify (!S_ISFIFO (S_IFDIR)); -verify (S_ISFIFO (S_IFIFO)); -verify (!S_ISFIFO (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISFIFO (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISFIFO (S_IFSOCK)); -#endif - -verify (!S_ISREG (S_IFBLK)); -verify (!S_ISREG (S_IFCHR)); -verify (!S_ISREG (S_IFDIR)); -verify (!S_ISREG (S_IFIFO)); -verify (S_ISREG (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISREG (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISREG (S_IFSOCK)); -#endif - -verify (!S_ISLNK (S_IFBLK)); -verify (!S_ISLNK (S_IFCHR)); -verify (!S_ISLNK (S_IFDIR)); -verify (!S_ISLNK (S_IFIFO)); -verify (!S_ISLNK (S_IFREG)); -#ifdef S_IFLNK -verify (S_ISLNK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISLNK (S_IFSOCK)); -#endif - -verify (!S_ISSOCK (S_IFBLK)); -verify (!S_ISSOCK (S_IFCHR)); -verify (!S_ISSOCK (S_IFDIR)); -verify (!S_ISSOCK (S_IFIFO)); -verify (!S_ISSOCK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISSOCK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (S_ISSOCK (S_IFSOCK)); -#endif - -verify (!S_ISDOOR (S_IFBLK)); -verify (!S_ISDOOR (S_IFCHR)); -verify (!S_ISDOOR (S_IFDIR)); -verify (!S_ISDOOR (S_IFIFO)); -verify (!S_ISDOOR (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISDOOR (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISDOOR (S_IFSOCK)); -#endif - -verify (!S_ISMPB (S_IFBLK)); -verify (!S_ISMPB (S_IFCHR)); -verify (!S_ISMPB (S_IFDIR)); -verify (!S_ISMPB (S_IFIFO)); -verify (!S_ISMPB (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISMPB (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISMPB (S_IFSOCK)); -#endif - -verify (!S_ISNAM (S_IFBLK)); -verify (!S_ISNAM (S_IFCHR)); -verify (!S_ISNAM (S_IFDIR)); -verify (!S_ISNAM (S_IFIFO)); -verify (!S_ISNAM (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISNAM (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISNAM (S_IFSOCK)); -#endif - -verify (!S_ISNWK (S_IFBLK)); -verify (!S_ISNWK (S_IFCHR)); -verify (!S_ISNWK (S_IFDIR)); -verify (!S_ISNWK (S_IFIFO)); -verify (!S_ISNWK (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISNWK (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISNWK (S_IFSOCK)); -#endif - -verify (!S_ISPORT (S_IFBLK)); -verify (!S_ISPORT (S_IFCHR)); -verify (!S_ISPORT (S_IFDIR)); -verify (!S_ISPORT (S_IFIFO)); -verify (!S_ISPORT (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISPORT (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISPORT (S_IFSOCK)); -#endif - -verify (!S_ISCTG (S_IFBLK)); -verify (!S_ISCTG (S_IFCHR)); -verify (!S_ISCTG (S_IFDIR)); -verify (!S_ISCTG (S_IFIFO)); -verify (!S_ISCTG (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISCTG (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISCTG (S_IFSOCK)); -#endif - -verify (!S_ISOFD (S_IFBLK)); -verify (!S_ISOFD (S_IFCHR)); -verify (!S_ISOFD (S_IFDIR)); -verify (!S_ISOFD (S_IFIFO)); -verify (!S_ISOFD (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISOFD (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISOFD (S_IFSOCK)); -#endif - -verify (!S_ISOFL (S_IFBLK)); -verify (!S_ISOFL (S_IFCHR)); -verify (!S_ISOFL (S_IFDIR)); -verify (!S_ISOFL (S_IFIFO)); -verify (!S_ISOFL (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISOFL (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISOFL (S_IFSOCK)); -#endif - -verify (!S_ISWHT (S_IFBLK)); -verify (!S_ISWHT (S_IFCHR)); -verify (!S_ISWHT (S_IFDIR)); -verify (!S_ISWHT (S_IFIFO)); -verify (!S_ISWHT (S_IFREG)); -#ifdef S_IFLNK -verify (!S_ISWHT (S_IFLNK)); -#endif -#ifdef S_IFSOCK -verify (!S_ISWHT (S_IFSOCK)); -#endif - -/* Check the existence of some types. */ -nlink_t t1; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-time.c gnutls26-2.4.1/lib/gl/tests/test-time.c --- gnutls26-2.8.6/lib/gl/tests/test-time.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-time.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -struct timespec a; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-unistd.c gnutls26-2.4.1/lib/gl/tests/test-unistd.c --- gnutls26-2.8.6/lib/gl/tests/test-unistd.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-unistd.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007, 2009 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the various SEEK_* macros are defined. */ -int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; - -/* Check that the various *_FILENO macros are defined. */ -#if ! (defined STDIN_FILENO \ - && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3)) -missing or broken *_FILENO macros -#endif - -/* Check that the types are all defined. */ -size_t t1; -ssize_t t2; -#ifdef TODO /* Not implemented in gnulib yet */ -uid_t t3; -gid_t t4; -#endif -off_t t5; -pid_t t6; -#ifdef TODO -useconds_t t7; -intptr_t t8; -#endif - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-vasnprintf.c gnutls26-2.4.1/lib/gl/tests/test-vasnprintf.c --- gnutls26-2.8.6/lib/gl/tests/test-vasnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-vasnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,128 +0,0 @@ -/* Test of vasnprintf() and asnprintf() functions. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "vasnprintf.h" - -#include -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static char * -my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) -{ - va_list args; - char *ret; - - va_start (args, format); - ret = vasnprintf (resultbuf, lengthp, format, args); - va_end (args); - return ret; -} - -static void -test_vasnprintf () -{ - char buf[8]; - int size; - - for (size = 0; size <= 8; size++) - { - size_t length = size; - char *result = my_asnprintf (NULL, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - free (result); - } - - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; - - memcpy (buf, "DEADBEEF", 8); - length = size; - result = my_asnprintf (buf, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - if (size < 6) - ASSERT (result != buf); - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - if (result != buf) - free (result); - } -} - -static void -test_asnprintf () -{ - char buf[8]; - int size; - - for (size = 0; size <= 8; size++) - { - size_t length = size; - char *result = asnprintf (NULL, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - free (result); - } - - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; - - memcpy (buf, "DEADBEEF", 8); - length = size; - result = asnprintf (buf, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - if (size < 6) - ASSERT (result != buf); - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - if (result != buf) - free (result); - } -} - -int -main (int argc, char *argv[]) -{ - test_vasnprintf (); - test_asnprintf (); - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-vasprintf.c gnutls26-2.4.1/lib/gl/tests/test-vasprintf.c --- gnutls26-2.8.6/lib/gl/tests/test-vasprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-vasprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,89 +0,0 @@ -/* Test of vasprintf() and asprintf() functions. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static int -my_asprintf (char **result, const char *format, ...) -{ - va_list args; - int ret; - - va_start (args, format); - ret = vasprintf (result, format, args); - va_end (args); - return ret; -} - -static void -test_vasprintf () -{ - int repeat; - - for (repeat = 0; repeat <= 8; repeat++) - { - char *result; - int retval = my_asprintf (&result, "%d", 12345); - ASSERT (retval == 5); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - free (result); - } -} - -static void -test_asprintf () -{ - int repeat; - - for (repeat = 0; repeat <= 8; repeat++) - { - char *result; - int retval = asprintf (&result, "%d", 12345); - ASSERT (retval == 5); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - free (result); - } -} - -int -main (int argc, char *argv[]) -{ - test_vasprintf (); - test_asprintf (); - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-vsnprintf.c gnutls26-2.4.1/lib/gl/tests/test-vsnprintf.c --- gnutls26-2.8.6/lib/gl/tests/test-vsnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-vsnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,85 +0,0 @@ -/* Test of vsnprintf() function. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include -#include -#include - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static int -my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} - -int -main (int argc, char *argv[]) -{ - char buf[8]; - int size; - int retval; - - for (size = 0; size <= 8; size++) - { - memcpy (buf, "DEADBEEF", 8); - retval = my_snprintf (buf, size, "%d", 12345); - if (size < 6) - { -#if CHECK_VSNPRINTF_POSIX - ASSERT (retval < 0 || retval >= size); -#endif - if (size > 0) - { - ASSERT (memcmp (buf, "12345", size - 1) == 0); - ASSERT (buf[size - 1] == '\0' || buf[size - 1] == '0' + size); - } -#if !CHECK_VSNPRINTF_POSIX - if (size > 0) -#endif - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - } - else - { - ASSERT (retval == 5); - ASSERT (memcmp (buf, "12345\0EF", 8) == 0); - } - } - - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/test-wchar.c gnutls26-2.4.1/lib/gl/tests/test-wchar.c --- gnutls26-2.8.6/lib/gl/tests/test-wchar.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/test-wchar.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* Test of substitute. - Copyright (C) 2007-2008 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 3 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, see . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -/* Check that the types wchar_t and wint_t are defined. */ -wchar_t a = 'c'; -wint_t b = 'x'; - -int -main () -{ - return 0; -} diff -Nru gnutls26-2.8.6/lib/gl/tests/verify.h gnutls26-2.4.1/lib/gl/tests/verify.h --- gnutls26-2.8.6/lib/gl/tests/verify.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/tests/verify.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,140 +0,0 @@ -/* Compile-time assert-like macros. - - Copyright (C) 2005, 2006 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 3 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, see . */ - -/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ - -#ifndef VERIFY_H -# define VERIFY_H 1 - -/* Each of these macros verifies that its argument R is nonzero. To - be portable, R should be an integer constant expression. Unlike - assert (R), there is no run-time overhead. - - There are two macros, since no single macro can be used in all - contexts in C. verify_true (R) is for scalar contexts, including - integer constant expression contexts. verify (R) is for declaration - contexts, e.g., the top level. - - Symbols ending in "__" are private to this header. - - The code below uses several ideas. - - * The first step is ((R) ? 1 : -1). Given an expression R, of - integral or boolean or floating-point type, this yields an - expression of integral type, whose value is later verified to be - constant and nonnegative. - - * Next this expression W is wrapped in a type - struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }. - If W is negative, this yields a compile-time error. No compiler can - deal with a bit-field of negative size. - - One might think that an array size check would have the same - effect, that is, that the type struct { unsigned int dummy[W]; } - would work as well. However, inside a function, some compilers - (such as C++ compilers and GNU C) allow local parameters and - variables inside array size expressions. With these compilers, - an array size check would not properly diagnose this misuse of - the verify macro: - - void function (int n) { verify (n < 0); } - - * For the verify macro, the struct verify_type__ will need to - somehow be embedded into a declaration. To be portable, this - declaration must declare an object, a constant, a function, or a - typedef name. If the declared entity uses the type directly, - such as in - - struct dummy {...}; - typedef struct {...} dummy; - extern struct {...} *dummy; - extern void dummy (struct {...} *); - extern struct {...} *dummy (void); - - two uses of the verify macro would yield colliding declarations - if the entity names are not disambiguated. A workaround is to - attach the current line number to the entity name: - - #define GL_CONCAT0(x, y) x##y - #define GL_CONCAT(x, y) GL_CONCAT0 (x, y) - extern struct {...} * GL_CONCAT(dummy,__LINE__); - - But this has the problem that two invocations of verify from - within the same macro would collide, since the __LINE__ value - would be the same for both invocations. - - A solution is to use the sizeof operator. It yields a number, - getting rid of the identity of the type. Declarations like - - extern int dummy [sizeof (struct {...})]; - extern void dummy (int [sizeof (struct {...})]); - extern int (*dummy (void)) [sizeof (struct {...})]; - - can be repeated. - - * Should the implementation use a named struct or an unnamed struct? - Which of the following alternatives can be used? - - extern int dummy [sizeof (struct {...})]; - extern int dummy [sizeof (struct verify_type__ {...})]; - extern void dummy (int [sizeof (struct {...})]); - extern void dummy (int [sizeof (struct verify_type__ {...})]); - extern int (*dummy (void)) [sizeof (struct {...})]; - extern int (*dummy (void)) [sizeof (struct verify_type__ {...})]; - - In the second and sixth case, the struct type is exported to the - outer scope; two such declarations therefore collide. GCC warns - about the first, third, and fourth cases. So the only remaining - possibility is the fifth case: - - extern int (*dummy (void)) [sizeof (struct {...})]; - - * This implementation exploits the fact that GCC does not warn about - the last declaration mentioned above. If a future version of GCC - introduces a warning for this, the problem could be worked around - by using code specialized to GCC, e.g.,: - - #if 4 <= __GNUC__ - # define verify(R) \ - extern int (* verify_function__ (void)) \ - [__builtin_constant_p (R) && (R) ? 1 : -1] - #endif - - * In C++, any struct definition inside sizeof is invalid. - Use a template type to work around the problem. */ - - -/* Verify requirement R at compile-time, as an integer constant expression. - Return 1. */ - -# ifdef __cplusplus -template - struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; -# define verify_true(R) \ - (!!sizeof (verify_type__<(R) ? 1 : -1>)) -# else -# define verify_true(R) \ - (!!sizeof \ - (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) -# endif - -/* Verify requirement R at compile-time, as a declaration without a - trailing ';'. */ - -# define verify(R) extern int (* verify_function__ (void)) [verify_true (R)] - -#endif diff -Nru gnutls26-2.8.6/lib/gl/time.in.h gnutls26-2.4.1/lib/gl/time.in.h --- gnutls26-2.8.6/lib/gl/time.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/time.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,118 +0,0 @@ -/* A more-standard . - - Copyright (C) 2007-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* Don't get in the way of glibc when it includes time.h merely to - declare a few standard symbols, rather than to declare all the - symbols. Also, Solaris 8 eventually includes itself - recursively; if that is happening, just include the system - without adding our own declarations. */ -#if (defined __need_time_t || defined __need_clock_t \ - || defined __need_timespec \ - || defined _GL_TIME_H) - -# @INCLUDE_NEXT@ @NEXT_TIME_H@ - -#else - -# define _GL_TIME_H - -# @INCLUDE_NEXT@ @NEXT_TIME_H@ - -# ifdef __cplusplus -extern "C" { -# endif - -/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). - Or they define it with the wrong member names or define it in - (e.g., FreeBSD circa 1997). */ -# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ -# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -# include -# else -# undef timespec -# define timespec rpl_timespec -struct timespec -{ - time_t tv_sec; - long int tv_nsec; -}; -# endif -# endif - -/* Sleep for at least RQTP seconds unless interrupted, If interrupted, - return -1 and store the remaining time into RMTP. See - . */ -# if @REPLACE_NANOSLEEP@ -# define nanosleep rpl_nanosleep -int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp); -# endif - -/* Convert TIMER to RESULT, assuming local time and UTC respectively. See - and - . */ -# if @REPLACE_LOCALTIME_R@ -# undef localtime_r -# define localtime_r rpl_localtime_r -# undef gmtime_r -# define gmtime_r rpl_gmtime_r -struct tm *localtime_r (time_t const *restrict __timer, - struct tm *restrict __result); -struct tm *gmtime_r (time_t const *restrict __timer, - struct tm *restrict __result); -# endif - -/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store - the resulting broken-down time into TM. See - . */ -# if @REPLACE_STRPTIME@ -# undef strptime -# define strptime rpl_strptime -char *strptime (char const *restrict __buf, char const *restrict __format, - struct tm *restrict __tm); -# endif - -/* Convert TM to a time_t value, assuming UTC. */ -# if @REPLACE_TIMEGM@ -# undef timegm -# define timegm rpl_timegm -time_t timegm (struct tm *__tm); -# endif - -/* Encourage applications to avoid unsafe functions that can overrun - buffers when given outlandish struct tm values. Portable - applications should use strftime (or even sprintf) instead. */ -# if GNULIB_PORTCHECK -# undef asctime -# define asctime eschew_asctime -# undef asctime_r -# define asctime_r eschew_asctime_r -# undef ctime -# define ctime eschew_ctime -# undef ctime_r -# define ctime_r eschew_ctime_r -# endif - -# ifdef __cplusplus -} -# endif - -#endif diff -Nru gnutls26-2.8.6/lib/gl/time_r.c gnutls26-2.4.1/lib/gl/time_r.c --- gnutls26-2.8.6/lib/gl/time_r.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/time_r.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -/* Reentrant time functions like localtime_r. - - Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Paul Eggert. */ - -#include - -#include - -#include - -static struct tm * -copy_tm_result (struct tm *dest, struct tm const *src) -{ - if (! src) - return 0; - *dest = *src; - return dest; -} - - -struct tm * -gmtime_r (time_t const * restrict t, struct tm * restrict tp) -{ - return copy_tm_result (tp, gmtime (t)); -} - -struct tm * -localtime_r (time_t const * restrict t, struct tm * restrict tp) -{ - return copy_tm_result (tp, localtime (t)); -} diff -Nru gnutls26-2.8.6/lib/gl/unistd.in.h gnutls26-2.4.1/lib/gl/unistd.in.h --- gnutls26-2.8.6/lib/gl/unistd.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/unistd.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,578 +0,0 @@ -/* Substitute for and wrapper around . - Copyright (C) 2003-2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_UNISTD_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_UNISTD_H@ -# @INCLUDE_NEXT@ @NEXT_UNISTD_H@ -#endif - -#ifndef _GL_UNISTD_H -#define _GL_UNISTD_H - -/* mingw doesn't define the SEEK_* or *_FILENO macros in . */ -#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) -# include -#endif - -/* mingw fails to declare _exit in . */ -/* mingw, BeOS, Haiku declare environ in , not in . */ -#include - -#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ -/* Get ssize_t. */ -# include -#endif - -#if @GNULIB_GETHOSTNAME@ -/* Get all possible declarations of gethostname(). */ -# if @UNISTD_H_HAVE_WINSOCK2_H@ -# include -# if !defined _GL_SYS_SOCKET_H -# undef socket -# define socket socket_used_without_including_sys_socket_h -# undef connect -# define connect connect_used_without_including_sys_socket_h -# undef accept -# define accept accept_used_without_including_sys_socket_h -# undef bind -# define bind bind_used_without_including_sys_socket_h -# undef getpeername -# define getpeername getpeername_used_without_including_sys_socket_h -# undef getsockname -# define getsockname getsockname_used_without_including_sys_socket_h -# undef getsockopt -# define getsockopt getsockopt_used_without_including_sys_socket_h -# undef listen -# define listen listen_used_without_including_sys_socket_h -# undef recv -# define recv recv_used_without_including_sys_socket_h -# undef send -# define send send_used_without_including_sys_socket_h -# undef recvfrom -# define recvfrom recvfrom_used_without_including_sys_socket_h -# undef sendto -# define sendto sendto_used_without_including_sys_socket_h -# undef setsockopt -# define setsockopt setsockopt_used_without_including_sys_socket_h -# undef shutdown -# define shutdown shutdown_used_without_including_sys_socket_h -# endif -# if !defined _GL_SYS_SELECT_H -# undef select -# define select select_used_without_including_sys_select_h -# endif -# endif -#endif - -/* The definition of GL_LINK_WARNING is copied here. */ - - -/* OS/2 EMX lacks these macros. */ -#ifndef STDIN_FILENO -# define STDIN_FILENO 0 -#endif -#ifndef STDOUT_FILENO -# define STDOUT_FILENO 1 -#endif -#ifndef STDERR_FILENO -# define STDERR_FILENO 2 -#endif - -/* Declare overridden functions. */ - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_CHOWN@ -# if @REPLACE_CHOWN@ -# ifndef REPLACE_CHOWN -# define REPLACE_CHOWN 1 -# endif -# if REPLACE_CHOWN -/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE - to GID (if GID is not -1). Follow symbolic links. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define chown rpl_chown -extern int chown (const char *file, uid_t uid, gid_t gid); -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef chown -# define chown(f,u,g) \ - (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \ - "doesn't treat a uid or gid of -1 on some systems - " \ - "use gnulib module chown for portability"), \ - chown (f, u, g)) -#endif - - -#if @GNULIB_CLOSE@ -# if @REPLACE_CLOSE@ -/* Automatically included by modules that need a replacement for close. */ -# undef close -# define close rpl_close -extern int close (int); -# endif -#elif @UNISTD_H_HAVE_WINSOCK2_H@ -# undef close -# define close close_used_without_requesting_gnulib_module_close -#elif defined GNULIB_POSIXCHECK -# undef close -# define close(f) \ - (GL_LINK_WARNING ("close does not portably work on sockets - " \ - "use gnulib module close for portability"), \ - close (f)) -#endif - - -#if @GNULIB_DUP2@ -# if !@HAVE_DUP2@ -/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if - NEWFD = OLDFD, otherwise close NEWFD first if it is open. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int dup2 (int oldfd, int newfd); -# endif -#elif defined GNULIB_POSIXCHECK -# undef dup2 -# define dup2(o,n) \ - (GL_LINK_WARNING ("dup2 is unportable - " \ - "use gnulib module dup2 for portability"), \ - dup2 (o, n)) -#endif - - -#if @GNULIB_ENVIRON@ -# if !@HAVE_DECL_ENVIRON@ -/* Set of environment variables and values. An array of strings of the form - "VARIABLE=VALUE", terminated with a NULL. */ -# if defined __APPLE__ && defined __MACH__ -# include -# define environ (*_NSGetEnviron ()) -# else -extern char **environ; -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef environ -# define environ \ - (GL_LINK_WARNING ("environ is unportable - " \ - "use gnulib module environ for portability"), \ - environ) -#endif - - -#if @GNULIB_EUIDACCESS@ -# if !@HAVE_EUIDACCESS@ -/* Like access(), except that is uses the effective user id and group id of - the current process. */ -extern int euidaccess (const char *filename, int mode); -# endif -#elif defined GNULIB_POSIXCHECK -# undef euidaccess -# define euidaccess(f,m) \ - (GL_LINK_WARNING ("euidaccess is unportable - " \ - "use gnulib module euidaccess for portability"), \ - euidaccess (f, m)) -#endif - - -#if @GNULIB_FCHDIR@ -# if @REPLACE_FCHDIR@ - -/* Change the process' current working directory to the directory on which - the given file descriptor is open. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int fchdir (int /*fd*/); - -# define dup rpl_dup -extern int dup (int); -# define dup2 rpl_dup2 -extern int dup2 (int, int); - -# endif -#elif defined GNULIB_POSIXCHECK -# undef fchdir -# define fchdir(f) \ - (GL_LINK_WARNING ("fchdir is unportable - " \ - "use gnulib module fchdir for portability"), \ - fchdir (f)) -#endif - - -#if @GNULIB_FSYNC@ -/* Synchronize changes to a file. - Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ -# if !@HAVE_FSYNC@ -extern int fsync (int fd); -# endif -#elif defined GNULIB_POSIXCHECK -# undef fsync -# define fsync(fd) \ - (GL_LINK_WARNING ("fsync is unportable - " \ - "use gnulib module fsync for portability"), \ - fsync (fd)) -#endif - - -#if @GNULIB_FTRUNCATE@ -# if !@HAVE_FTRUNCATE@ -/* Change the size of the file to which FD is opened to become equal to LENGTH. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -extern int ftruncate (int fd, off_t length); -# endif -#elif defined GNULIB_POSIXCHECK -# undef ftruncate -# define ftruncate(f,l) \ - (GL_LINK_WARNING ("ftruncate is unportable - " \ - "use gnulib module ftruncate for portability"), \ - ftruncate (f, l)) -#endif - - -#if @GNULIB_GETCWD@ -/* Include the headers that might declare getcwd so that they will not - cause confusion if included after this file. */ -# include -# if @REPLACE_GETCWD@ -/* Get the name of the current working directory, and put it in SIZE bytes - of BUF. - Return BUF if successful, or NULL if the directory couldn't be determined - or SIZE was too small. - See the POSIX:2001 specification - . - Additionally, the gnulib module 'getcwd' guarantees the following GNU - extension: If BUF is NULL, an array is allocated with 'malloc'; the array - is SIZE bytes long, unless SIZE == 0, in which case it is as big as - necessary. */ -# define getcwd rpl_getcwd -extern char * getcwd (char *buf, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getcwd -# define getcwd(b,s) \ - (GL_LINK_WARNING ("getcwd is unportable - " \ - "use gnulib module getcwd for portability"), \ - getcwd (b, s)) -#endif - - -#if @GNULIB_GETDOMAINNAME@ -/* Return the NIS domain name of the machine. - WARNING! The NIS domain name is unrelated to the fully qualified host name - of the machine. It is also unrelated to email addresses. - WARNING! The NIS domain name is usually the empty string or "(none)" when - not using NIS. - - Put up to LEN bytes of the NIS domain name into NAME. - Null terminate it if the name is shorter than LEN. - If the NIS domain name is longer than LEN, set errno = EINVAL and return -1. - Return 0 if successful, otherwise set errno and return -1. */ -# if !@HAVE_GETDOMAINNAME@ -extern int getdomainname(char *name, size_t len); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdomainname -# define getdomainname(n,l) \ - (GL_LINK_WARNING ("getdomainname is unportable - " \ - "use gnulib module getdomainname for portability"), \ - getdomainname (n, l)) -#endif - - -#if @GNULIB_GETDTABLESIZE@ -# if !@HAVE_GETDTABLESIZE@ -/* Return the maximum number of file descriptors in the current process. */ -extern int getdtablesize (void); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getdtablesize -# define getdtablesize() \ - (GL_LINK_WARNING ("getdtablesize is unportable - " \ - "use gnulib module getdtablesize for portability"), \ - getdtablesize ()) -#endif - - -#if @GNULIB_GETHOSTNAME@ -/* Return the standard host name of the machine. - WARNING! The host name may or may not be fully qualified. - - Put up to LEN bytes of the host name into NAME. - Null terminate it if the name is shorter than LEN. - If the host name is longer than LEN, set errno = EINVAL and return -1. - Return 0 if successful, otherwise set errno and return -1. */ -# if @UNISTD_H_HAVE_WINSOCK2_H@ -# undef gethostname -# define gethostname rpl_gethostname -# endif -# if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@ -extern int gethostname(char *name, size_t len); -# endif -#elif @UNISTD_H_HAVE_WINSOCK2_H@ -# undef gethostname -# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname -#elif defined GNULIB_POSIXCHECK -# undef gethostname -# define gethostname(n,l) \ - (GL_LINK_WARNING ("gethostname is unportable - " \ - "use gnulib module gethostname for portability"), \ - gethostname (n, l)) -#endif - - -#if @GNULIB_GETLOGIN_R@ -/* Copies the user's login name to NAME. - The array pointed to by NAME has room for SIZE bytes. - - Returns 0 if successful. Upon error, an error number is returned, or -1 in - the case that the login name cannot be found but no specific error is - provided (this case is hopefully rare but is left open by the POSIX spec). - - See . - */ -# if !@HAVE_DECL_GETLOGIN_R@ -# include -extern int getlogin_r (char *name, size_t size); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getlogin_r -# define getlogin_r(n,s) \ - (GL_LINK_WARNING ("getlogin_r is unportable - " \ - "use gnulib module getlogin_r for portability"), \ - getlogin_r (n, s)) -#endif - - -#if @GNULIB_GETPAGESIZE@ -# if @REPLACE_GETPAGESIZE@ -# define getpagesize rpl_getpagesize -extern int getpagesize (void); -# elif !@HAVE_GETPAGESIZE@ -/* This is for POSIX systems. */ -# if !defined getpagesize && defined _SC_PAGESIZE -# if ! (defined __VMS && __VMS_VER < 70000000) -# define getpagesize() sysconf (_SC_PAGESIZE) -# endif -# endif -/* This is for older VMS. */ -# if !defined getpagesize && defined __VMS -# ifdef __ALPHA -# define getpagesize() 8192 -# else -# define getpagesize() 512 -# endif -# endif -/* This is for BeOS. */ -# if !defined getpagesize && @HAVE_OS_H@ -# include -# if defined B_PAGE_SIZE -# define getpagesize() B_PAGE_SIZE -# endif -# endif -/* This is for AmigaOS4.0. */ -# if !defined getpagesize && defined __amigaos4__ -# define getpagesize() 2048 -# endif -/* This is for older Unix systems. */ -# if !defined getpagesize && @HAVE_SYS_PARAM_H@ -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else -# ifdef NBPG -# ifndef CLSIZE -# define CLSIZE 1 -# endif -# define getpagesize() (NBPG * CLSIZE) -# else -# ifdef NBPC -# define getpagesize() NBPC -# endif -# endif -# endif -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef getpagesize -# define getpagesize() \ - (GL_LINK_WARNING ("getpagesize is unportable - " \ - "use gnulib module getpagesize for portability"), \ - getpagesize ()) -#endif - - -#if @GNULIB_GETUSERSHELL@ -# if !@HAVE_GETUSERSHELL@ -/* Return the next valid login shell on the system, or NULL when the end of - the list has been reached. */ -extern char *getusershell (void); -/* Rewind to pointer that is advanced at each getusershell() call. */ -extern void setusershell (void); -/* Free the pointer that is advanced at each getusershell() call and - associated resources. */ -extern void endusershell (void); -# endif -#elif defined GNULIB_POSIXCHECK -# undef getusershell -# define getusershell() \ - (GL_LINK_WARNING ("getusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - getusershell ()) -# undef setusershell -# define setusershell() \ - (GL_LINK_WARNING ("setusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - setusershell ()) -# undef endusershell -# define endusershell() \ - (GL_LINK_WARNING ("endusershell is unportable - " \ - "use gnulib module getusershell for portability"), \ - endusershell ()) -#endif - - -#if @GNULIB_LCHOWN@ -# if @REPLACE_LCHOWN@ -/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE - to GID (if GID is not -1). Do not follow symbolic links. - Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define lchown rpl_lchown -extern int lchown (char const *file, uid_t owner, gid_t group); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lchown -# define lchown(f,u,g) \ - (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \ - "systems - use gnulib module lchown for portability"), \ - lchown (f, u, g)) -#endif - - -#if @GNULIB_LINK@ -/* Create a new hard link for an existing file. - Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ -# if !@HAVE_LINK@ -extern int link (const char *path1, const char *path2); -# endif -#elif defined GNULIB_POSIXCHECK -# undef link -# define link(path1,path2) \ - (GL_LINK_WARNING ("link is unportable - " \ - "use gnulib module link for portability"), \ - link (path1, path2)) -#endif - - -#if @GNULIB_LSEEK@ -# if @REPLACE_LSEEK@ -/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. - Return the new offset if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# define lseek rpl_lseek - extern off_t lseek (int fd, off_t offset, int whence); -# endif -#elif defined GNULIB_POSIXCHECK -# undef lseek -# define lseek(f,o,w) \ - (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \ - "systems - use gnulib module lseek for portability"), \ - lseek (f, o, w)) -#endif - - -#if @GNULIB_READLINK@ -/* Read the contents of the symbolic link FILE and place the first BUFSIZE - bytes of it into BUF. Return the number of bytes placed into BUF if - successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# if !@HAVE_READLINK@ -# include -extern int readlink (const char *file, char *buf, size_t bufsize); -# endif -#elif defined GNULIB_POSIXCHECK -# undef readlink -# define readlink(f,b,s) \ - (GL_LINK_WARNING ("readlink is unportable - " \ - "use gnulib module readlink for portability"), \ - readlink (f, b, s)) -#endif - - -#if @GNULIB_SLEEP@ -/* Pause the execution of the current thread for N seconds. - Returns the number of seconds left to sleep. - See the POSIX:2001 specification - . */ -# if !@HAVE_SLEEP@ -extern unsigned int sleep (unsigned int n); -# endif -#elif defined GNULIB_POSIXCHECK -# undef sleep -# define sleep(n) \ - (GL_LINK_WARNING ("sleep is unportable - " \ - "use gnulib module sleep for portability"), \ - sleep (n)) -#endif - - -#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ -/* Write up to COUNT bytes starting at BUF to file descriptor FD. - See the POSIX:2001 specification - . */ -# undef write -# define write rpl_write -extern ssize_t write (int fd, const void *buf, size_t count); -#endif - - -#ifdef FCHDIR_REPLACEMENT -/* gnulib internal function. */ -extern void _gl_unregister_fd (int fd); -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _GL_UNISTD_H */ -#endif /* _GL_UNISTD_H */ diff -Nru gnutls26-2.8.6/lib/gl/vasnprintf.c gnutls26-2.4.1/lib/gl/vasnprintf.c --- gnutls26-2.8.6/lib/gl/vasnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/vasnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,5487 +0,0 @@ -/* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* This file can be parametrized with the following macros: - VASNPRINTF The name of the function being defined. - FCHAR_T The element type of the format string. - DCHAR_T The element type of the destination (result) string. - FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters - in the format string are ASCII. MUST be set if - FCHAR_T and DCHAR_T are not the same type. - DIRECTIVE Structure denoting a format directive. - Depends on FCHAR_T. - DIRECTIVES Structure denoting the set of format directives of a - format string. Depends on FCHAR_T. - PRINTF_PARSE Function that parses a format string. - Depends on FCHAR_T. - DCHAR_CPY memcpy like function for DCHAR_T[] arrays. - DCHAR_SET memset like function for DCHAR_T[] arrays. - DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. - SNPRINTF The system's snprintf (or similar) function. - This may be either snprintf or swprintf. - TCHAR_T The element type of the argument and result string - of the said SNPRINTF function. This may be either - char or wchar_t. The code exploits that - sizeof (TCHAR_T) | sizeof (DCHAR_T) and - alignof (TCHAR_T) <= alignof (DCHAR_T). - DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. - DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. - DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. - DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. - DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ - -/* Tell glibc's to provide a prototype for snprintf(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifndef VASNPRINTF -# include -#endif -#ifndef IN_LIBINTL -# include -#endif - -/* Specification. */ -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# include "vasnwprintf.h" -# else -# include "vasnprintf.h" -# endif -#endif - -#include /* localeconv() */ -#include /* snprintf(), sprintf() */ -#include /* abort(), malloc(), realloc(), free() */ -#include /* memcpy(), strlen() */ -#include /* errno */ -#include /* CHAR_BIT */ -#include /* DBL_MAX_EXP, LDBL_MAX_EXP */ -#if HAVE_NL_LANGINFO -# include -#endif -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# include "wprintf-parse.h" -# else -# include "printf-parse.h" -# endif -#endif - -/* Checked size_t computations. */ -#include "xsize.h" - -#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "float+.h" -#endif - -#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnand-nolibm.h" -#endif - -#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnanl-nolibm.h" -# include "fpucw.h" -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnand-nolibm.h" -# include "printf-frexp.h" -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL -# include -# include "isnanl-nolibm.h" -# include "printf-frexpl.h" -# include "fpucw.h" -#endif - -/* Default parameters. */ -#ifndef VASNPRINTF -# if WIDE_CHAR_VERSION -# define VASNPRINTF vasnwprintf -# define FCHAR_T wchar_t -# define DCHAR_T wchar_t -# define TCHAR_T wchar_t -# define DCHAR_IS_TCHAR 1 -# define DIRECTIVE wchar_t_directive -# define DIRECTIVES wchar_t_directives -# define PRINTF_PARSE wprintf_parse -# define DCHAR_CPY wmemcpy -# define DCHAR_SET wmemset -# else -# define VASNPRINTF vasnprintf -# define FCHAR_T char -# define DCHAR_T char -# define TCHAR_T char -# define DCHAR_IS_TCHAR 1 -# define DIRECTIVE char_directive -# define DIRECTIVES char_directives -# define PRINTF_PARSE printf_parse -# define DCHAR_CPY memcpy -# define DCHAR_SET memset -# endif -#endif -#if WIDE_CHAR_VERSION - /* TCHAR_T is wchar_t. */ -# define USE_SNPRINTF 1 -# if HAVE_DECL__SNWPRINTF - /* On Windows, the function swprintf() has a different signature than - on Unix; we use the _snwprintf() function instead. */ -# define SNPRINTF _snwprintf -# else - /* Unix. */ -# define SNPRINTF swprintf -# endif -#else - /* TCHAR_T is char. */ - /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. - But don't use it on BeOS, since BeOS snprintf produces no output if the - size argument is >= 0x3000000. - Also don't use it on Linux libc5, since there snprintf with size = 1 - writes any output without bounds, like sprintf. */ -# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1) -# define USE_SNPRINTF 1 -# else -# define USE_SNPRINTF 0 -# endif -# if HAVE_DECL__SNPRINTF - /* Windows. */ -# define SNPRINTF _snprintf -# else - /* Unix. */ -# define SNPRINTF snprintf - /* Here we need to call the native snprintf, not rpl_snprintf. */ -# undef snprintf -# endif -#endif -/* Here we need to call the native sprintf, not rpl_sprintf. */ -#undef sprintf - -/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized" - warnings in this file. Use -Dlint to suppress them. */ -#ifdef lint -# define IF_LINT(Code) Code -#else -# define IF_LINT(Code) /* empty */ -#endif - -/* Avoid some warnings from "gcc -Wshadow". - This file doesn't use the exp() and remainder() functions. */ -#undef exp -#define exp expo -#undef remainder -#define remainder rem - -#if !USE_SNPRINTF && !WIDE_CHAR_VERSION -# if (HAVE_STRNLEN && !defined _AIX) -# define local_strnlen strnlen -# else -# ifndef local_strnlen_defined -# define local_strnlen_defined 1 -static size_t -local_strnlen (const char *string, size_t maxlen) -{ - const char *end = memchr (string, '\0', maxlen); - return end ? (size_t) (end - string) : maxlen; -} -# endif -# endif -#endif - -#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T && (WIDE_CHAR_VERSION || DCHAR_IS_TCHAR) -# if HAVE_WCSLEN -# define local_wcslen wcslen -# else - /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid - a dependency towards this library, here is a local substitute. - Define this substitute only once, even if this file is included - twice in the same compilation unit. */ -# ifndef local_wcslen_defined -# define local_wcslen_defined 1 -static size_t -local_wcslen (const wchar_t *s) -{ - const wchar_t *ptr; - - for (ptr = s; *ptr != (wchar_t) 0; ptr++) - ; - return ptr - s; -} -# endif -# endif -#endif - -#if !USE_SNPRINTF && HAVE_WCHAR_T && WIDE_CHAR_VERSION -# if HAVE_WCSNLEN -# define local_wcsnlen wcsnlen -# else -# ifndef local_wcsnlen_defined -# define local_wcsnlen_defined 1 -static size_t -local_wcsnlen (const wchar_t *s, size_t maxlen) -{ - const wchar_t *ptr; - - for (ptr = s; maxlen > 0 && *ptr != (wchar_t) 0; ptr++, maxlen--) - ; - return ptr - s; -} -# endif -# endif -#endif - -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL -/* Determine the decimal-point character according to the current locale. */ -# ifndef decimal_point_char_defined -# define decimal_point_char_defined 1 -static char -decimal_point_char () -{ - const char *point; - /* Determine it in a multithread-safe way. We know nl_langinfo is - multithread-safe on glibc systems, but is not required to be multithread- - safe by POSIX. sprintf(), however, is multithread-safe. localeconv() - is rarely multithread-safe. */ -# if HAVE_NL_LANGINFO && __GLIBC__ - point = nl_langinfo (RADIXCHAR); -# elif 1 - char pointbuf[5]; - sprintf (pointbuf, "%#.0f", 1.0); - point = &pointbuf[1]; -# else - point = localeconv () -> decimal_point; -# endif - /* The decimal point is always a single byte: either '.' or ','. */ - return (point[0] != '\0' ? point[0] : '.'); -} -# endif -#endif - -#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL - -/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ -static int -is_infinite_or_zero (double x) -{ - return isnand (x) || x + x == x; -} - -#endif - -#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL - -/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ -static int -is_infinite_or_zerol (long double x) -{ - return isnanl (x) || x + x == x; -} - -#endif - -#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL - -/* Converting 'long double' to decimal without rare rounding bugs requires - real bignums. We use the naming conventions of GNU gmp, but vastly simpler - (and slower) algorithms. */ - -typedef unsigned int mp_limb_t; -# define GMP_LIMB_BITS 32 -typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; - -typedef unsigned long long mp_twolimb_t; -# define GMP_TWOLIMB_BITS 64 -typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; - -/* Representation of a bignum >= 0. */ -typedef struct -{ - size_t nlimbs; - mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ -} mpn_t; - -/* Compute the product of two bignums >= 0. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -multiply (mpn_t src1, mpn_t src2, mpn_t *dest) -{ - const mp_limb_t *p1; - const mp_limb_t *p2; - size_t len1; - size_t len2; - - if (src1.nlimbs <= src2.nlimbs) - { - len1 = src1.nlimbs; - p1 = src1.limbs; - len2 = src2.nlimbs; - p2 = src2.limbs; - } - else - { - len1 = src2.nlimbs; - p1 = src2.limbs; - len2 = src1.nlimbs; - p2 = src1.limbs; - } - /* Now 0 <= len1 <= len2. */ - if (len1 == 0) - { - /* src1 or src2 is zero. */ - dest->nlimbs = 0; - dest->limbs = (mp_limb_t *) malloc (1); - } - else - { - /* Here 1 <= len1 <= len2. */ - size_t dlen; - mp_limb_t *dp; - size_t k, i, j; - - dlen = len1 + len2; - dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); - if (dp == NULL) - return NULL; - for (k = len2; k > 0; ) - dp[--k] = 0; - for (i = 0; i < len1; i++) - { - mp_limb_t digit1 = p1[i]; - mp_twolimb_t carry = 0; - for (j = 0; j < len2; j++) - { - mp_limb_t digit2 = p2[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - carry += dp[i + j]; - dp[i + j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - dp[i + len2] = (mp_limb_t) carry; - } - /* Normalise. */ - while (dlen > 0 && dp[dlen - 1] == 0) - dlen--; - dest->nlimbs = dlen; - dest->limbs = dp; - } - return dest->limbs; -} - -/* Compute the quotient of a bignum a >= 0 and a bignum b > 0. - a is written as a = q * b + r with 0 <= r < b. q is the quotient, r - the remainder. - Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, - q is incremented. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -divide (mpn_t a, mpn_t b, mpn_t *q) -{ - /* Algorithm: - First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] - with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). - If m=n=1, perform a single-precision division: - r:=0, j:=m, - while j>0 do - {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = - = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: - We have a/b < beta^(m-n+1). - s:=intDsize-1-(highest bit in b[n-1]), 0<=s=beta/2. - For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} - Compute q* : - q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). - In case of overflow (q* >= beta) set q* := beta-1. - Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] - and c3 := b[n-2] * q*. - {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow - occurred. Furthermore 0 <= c3 < beta^2. - If there was overflow and - r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, - the next test can be skipped.} - While c3 > c2, {Here 0 <= c2 < c3 < beta^2} - Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. - If q* > 0: - Put r := r - b * q* * beta^j. In detail: - [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. - hence: u:=0, for i:=0 to n-1 do - u := u + q* * b[i], - r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), - u:=u div beta (+ 1, if carry in subtraction) - r[n+j]:=r[n+j]-u. - {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 - < q* + 1 <= beta, - the carry u does not overflow.} - If a negative carry occurs, put q* := q* - 1 - and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. - Set q[j] := q*. - Normalise [q[m-n],..,q[0]]; this yields the quotient q. - Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the - rest r. - The room for q[j] can be allocated at the memory location of r[n+j]. - Finally, round-to-even: - Shift r left by 1 bit. - If r > b or if r = b and q[0] is odd, q := q+1. - */ - const mp_limb_t *a_ptr = a.limbs; - size_t a_len = a.nlimbs; - const mp_limb_t *b_ptr = b.limbs; - size_t b_len = b.nlimbs; - mp_limb_t *roomptr; - mp_limb_t *tmp_roomptr = NULL; - mp_limb_t *q_ptr; - size_t q_len; - mp_limb_t *r_ptr; - size_t r_len; - - /* Allocate room for a_len+2 digits. - (Need a_len+1 digits for the real division and 1 more digit for the - final rounding of q.) */ - roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); - if (roomptr == NULL) - return NULL; - - /* Normalise a. */ - while (a_len > 0 && a_ptr[a_len - 1] == 0) - a_len--; - - /* Normalise b. */ - for (;;) - { - if (b_len == 0) - /* Division by zero. */ - abort (); - if (b_ptr[b_len - 1] == 0) - b_len--; - else - break; - } - - /* Here m = a_len >= 0 and n = b_len > 0. */ - - if (a_len < b_len) - { - /* m beta^(m-2) <= a/b < beta^m */ - r_ptr = roomptr; - q_ptr = roomptr + 1; - { - mp_limb_t den = b_ptr[0]; - mp_limb_t remainder = 0; - const mp_limb_t *sourceptr = a_ptr + a_len; - mp_limb_t *destptr = q_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; - *--destptr = num / den; - remainder = num % den; - } - /* Normalise and store r. */ - if (remainder > 0) - { - r_ptr[0] = remainder; - r_len = 1; - } - else - r_len = 0; - /* Normalise q. */ - q_len = a_len; - if (q_ptr[q_len - 1] == 0) - q_len--; - } - } - else - { - /* n>1: multiple precision division. - beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> - beta^(m-n-1) <= a/b < beta^(m-n+1). */ - /* Determine s. */ - size_t s; - { - mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ - s = 31; - if (msd >= 0x10000) - { - msd = msd >> 16; - s -= 16; - } - if (msd >= 0x100) - { - msd = msd >> 8; - s -= 8; - } - if (msd >= 0x10) - { - msd = msd >> 4; - s -= 4; - } - if (msd >= 0x4) - { - msd = msd >> 2; - s -= 2; - } - if (msd >= 0x2) - { - msd = msd >> 1; - s -= 1; - } - } - /* 0 <= s < GMP_LIMB_BITS. - Copy b, shifting it left by s bits. */ - if (s > 0) - { - tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); - if (tmp_roomptr == NULL) - { - free (roomptr); - return NULL; - } - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = tmp_roomptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - /* accu must be zero, since that was how s was determined. */ - if (accu != 0) - abort (); - } - b_ptr = tmp_roomptr; - } - /* Copy a, shifting it left by s bits, yields r. - Memory layout: - At the beginning: r = roomptr[0..a_len], - at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ - r_ptr = roomptr; - if (s == 0) - { - memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); - r_ptr[a_len] = 0; - } - else - { - const mp_limb_t *sourceptr = a_ptr; - mp_limb_t *destptr = r_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = a_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - *destptr++ = (mp_limb_t) accu; - } - q_ptr = roomptr + b_len; - q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ - { - size_t j = a_len - b_len; /* m-n */ - mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ - mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ - mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ - ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; - /* Division loop, traversed m-n+1 times. - j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ - for (;;) - { - mp_limb_t q_star; - mp_limb_t c1; - if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ - { - /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ - mp_twolimb_t num = - ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) - | r_ptr[j + b_len - 1]; - q_star = num / b_msd; - c1 = num % b_msd; - } - else - { - /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ - q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ - /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta - <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta - <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) - {<= beta !}. - If yes, jump directly to the subtraction loop. - (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta - <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ - if (r_ptr[j + b_len] > b_msd - || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) - /* r[j+n] >= b[n-1]+1 or - r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a - carry. */ - goto subtract; - } - /* q_star = q*, - c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by - b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 - this can happen only twice. */ - if (c3 > c2) - { - q_star = q_star - 1; /* q* := q* - 1 */ - if (c3 - c2 > b_msdd) - q_star = q_star - 1; /* q* := q* - 1 */ - } - } - if (q_star > 0) - subtract: - { - /* Subtract r := r - b * q* * beta^j. */ - mp_limb_t cr; - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_twolimb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - /* Here 0 <= carry <= q*. */ - carry = - carry - + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ - + (mp_limb_t) ~(*destptr); - /* Here 0 <= carry <= beta*q* + beta-1. */ - *destptr++ = ~(mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; /* <= q* */ - } - cr = (mp_limb_t) carry; - } - /* Subtract cr from r_ptr[j + b_len], then forget about - r_ptr[j + b_len]. */ - if (cr > r_ptr[j + b_len]) - { - /* Subtraction gave a carry. */ - q_star = q_star - 1; /* q* := q* - 1 */ - /* Add b back. */ - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_limb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - mp_limb_t source1 = *sourceptr++; - mp_limb_t source2 = *destptr; - *destptr++ = source1 + source2 + carry; - carry = - (carry - ? source1 >= (mp_limb_t) ~source2 - : source1 > (mp_limb_t) ~source2); - } - } - /* Forget about the carry and about r[j+n]. */ - } - } - /* q* is determined. Store it as q[j]. */ - q_ptr[j] = q_star; - if (j == 0) - break; - j--; - } - } - r_len = b_len; - /* Normalise q. */ - if (q_ptr[q_len - 1] == 0) - q_len--; -# if 0 /* Not needed here, since we need r only to compare it with b/2, and - b is shifted left by s bits. */ - /* Shift r right by s bits. */ - if (s > 0) - { - mp_limb_t ptr = r_ptr + r_len; - mp_twolimb_t accu = 0; - size_t count; - for (count = r_len; count > 0; count--) - { - accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; - accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); - *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); - } - } -# endif - /* Normalise r. */ - while (r_len > 0 && r_ptr[r_len - 1] == 0) - r_len--; - } - /* Compare r << 1 with b. */ - if (r_len > b_len) - goto increment_q; - { - size_t i; - for (i = b_len;;) - { - mp_limb_t r_i = - (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) - | (i < r_len ? r_ptr[i] << 1 : 0); - mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); - if (r_i > b_i) - goto increment_q; - if (r_i < b_i) - goto keep_q; - if (i == 0) - break; - i--; - } - } - if (q_len > 0 && ((q_ptr[0] & 1) != 0)) - /* q is odd. */ - increment_q: - { - size_t i; - for (i = 0; i < q_len; i++) - if (++(q_ptr[i]) != 0) - goto keep_q; - q_ptr[q_len++] = 1; - } - keep_q: - if (tmp_roomptr != NULL) - free (tmp_roomptr); - q->limbs = q_ptr; - q->nlimbs = q_len; - return roomptr; -} - -/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal - representation. - Destroys the contents of a. - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -convert_to_decimal (mpn_t a, size_t extra_zeroes) -{ - mp_limb_t *a_ptr = a.limbs; - size_t a_len = a.nlimbs; - /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ - size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); - char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); - if (c_ptr != NULL) - { - char *d_ptr = c_ptr; - for (; extra_zeroes > 0; extra_zeroes--) - *d_ptr++ = '0'; - while (a_len > 0) - { - /* Divide a by 10^9, in-place. */ - mp_limb_t remainder = 0; - mp_limb_t *ptr = a_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; - *ptr = num / 1000000000; - remainder = num % 1000000000; - } - /* Store the remainder as 9 decimal digits. */ - for (count = 9; count > 0; count--) - { - *d_ptr++ = '0' + (remainder % 10); - remainder = remainder / 10; - } - /* Normalize a. */ - if (a_ptr[a_len - 1] == 0) - a_len--; - } - /* Remove leading zeroes. */ - while (d_ptr > c_ptr && d_ptr[-1] == '0') - d_ptr--; - /* But keep at least one zero. */ - if (d_ptr == c_ptr) - *d_ptr++ = '0'; - /* Terminate the string. */ - *d_ptr = '\0'; - } - return c_ptr; -} - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and >= 0: - write x as x = 2^e * m, where m is a bignum. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -decode_long_double (long double x, int *ep, mpn_t *mp) -{ - mpn_t m; - int exp; - long double y; - size_t i; - - /* Allocate memory for result. */ - m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); - if (m.limbs == NULL) - return NULL; - /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); - if (!(y >= 0.0L && y < 1.0L)) - abort (); - /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the - latter is an integer. */ - /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. - I'm not sure whether it's safe to cast a 'long double' value between - 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only - 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', - doesn't matter). */ -# if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 -# if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -# else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; - } -# endif -# endif - for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -#if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess - precision. */ - if (!(y == 0.0L)) - abort (); -#endif - /* Normalise. */ - while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) - m.nlimbs--; - *mp = m; - *ep = exp - LDBL_MANT_BIT; - return m.limbs; -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and >= 0: - write x as x = 2^e * m, where m is a bignum. - Return the allocated memory in case of success, NULL in case of memory - allocation failure. */ -static void * -decode_double (double x, int *ep, mpn_t *mp) -{ - mpn_t m; - int exp; - double y; - size_t i; - - /* Allocate memory for result. */ - m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); - if (m.limbs == NULL) - return NULL; - /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); - if (!(y >= 0.0 && y < 1.0)) - abort (); - /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the - latter is an integer. */ - /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. - I'm not sure whether it's safe to cast a 'double' value between - 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only - 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', - doesn't matter). */ -# if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 -# if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } -# else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; - } -# endif -# endif - for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } - if (!(y == 0.0)) - abort (); - /* Normalise. */ - while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) - m.nlimbs--; - *mp = m; - *ep = exp - DBL_MANT_BIT; - return m.limbs; -} - -# endif - -/* Assuming x = 2^e * m is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) -{ - int s; - size_t extra_zeroes; - unsigned int abs_n; - unsigned int abs_s; - mp_limb_t *pow5_ptr; - size_t pow5_len; - unsigned int s_limbs; - unsigned int s_bits; - mpn_t pow5; - mpn_t z; - void *z_memory; - char *digits; - - if (memory == NULL) - return NULL; - /* x = 2^e * m, hence - y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) - = round (2^s * 5^n * m). */ - s = e + n; - extra_zeroes = 0; - /* Factor out a common power of 10 if possible. */ - if (s > 0 && n > 0) - { - extra_zeroes = (s < n ? s : n); - s -= extra_zeroes; - n -= extra_zeroes; - } - /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. - Before converting to decimal, we need to compute - z = round (2^s * 5^n * m). */ - /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same - sign. 2.322 is slightly larger than log(5)/log(2). */ - abs_n = (n >= 0 ? n : -n); - abs_s = (s >= 0 ? s : -s); - pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 - + abs_s / GMP_LIMB_BITS + 1) - * sizeof (mp_limb_t)); - if (pow5_ptr == NULL) - { - free (memory); - return NULL; - } - /* Initialize with 1. */ - pow5_ptr[0] = 1; - pow5_len = 1; - /* Multiply with 5^|n|. */ - if (abs_n > 0) - { - static mp_limb_t const small_pow5[13 + 1] = - { - 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, - 48828125, 244140625, 1220703125 - }; - unsigned int n13; - for (n13 = 0; n13 <= abs_n; n13 += 13) - { - mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; - size_t j; - mp_twolimb_t carry = 0; - for (j = 0; j < pow5_len; j++) - { - mp_limb_t digit2 = pow5_ptr[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - pow5_ptr[j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - if (carry > 0) - pow5_ptr[pow5_len++] = (mp_limb_t) carry; - } - } - s_limbs = abs_s / GMP_LIMB_BITS; - s_bits = abs_s % GMP_LIMB_BITS; - if (n >= 0 ? s >= 0 : s <= 0) - { - /* Multiply with 2^|s|. */ - if (s_bits > 0) - { - mp_limb_t *ptr = pow5_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = pow5_len; count > 0; count--) - { - accu += (mp_twolimb_t) *ptr << s_bits; - *ptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - { - *ptr = (mp_limb_t) accu; - pow5_len++; - } - } - if (s_limbs > 0) - { - size_t count; - for (count = pow5_len; count > 0;) - { - count--; - pow5_ptr[s_limbs + count] = pow5_ptr[count]; - } - for (count = s_limbs; count > 0;) - { - count--; - pow5_ptr[count] = 0; - } - pow5_len += s_limbs; - } - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* Multiply m with pow5. No division needed. */ - z_memory = multiply (m, pow5, &z); - } - else - { - /* Divide m by pow5 and round. */ - z_memory = divide (m, pow5, &z); - } - } - else - { - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* n >= 0, s < 0. - Multiply m with pow5, then divide by 2^|s|. */ - mpn_t numerator; - mpn_t denominator; - void *tmp_memory; - tmp_memory = multiply (m, pow5, &numerator); - if (tmp_memory == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - /* Construct 2^|s|. */ - { - mp_limb_t *ptr = pow5_ptr + pow5_len; - size_t i; - for (i = 0; i < s_limbs; i++) - ptr[i] = 0; - ptr[s_limbs] = (mp_limb_t) 1 << s_bits; - denominator.limbs = ptr; - denominator.nlimbs = s_limbs + 1; - } - z_memory = divide (numerator, denominator, &z); - free (tmp_memory); - } - else - { - /* n < 0, s > 0. - Multiply m with 2^s, then divide by pow5. */ - mpn_t numerator; - mp_limb_t *num_ptr; - num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) - * sizeof (mp_limb_t)); - if (num_ptr == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - { - mp_limb_t *destptr = num_ptr; - { - size_t i; - for (i = 0; i < s_limbs; i++) - *destptr++ = 0; - } - if (s_bits > 0) - { - const mp_limb_t *sourceptr = m.limbs; - mp_twolimb_t accu = 0; - size_t count; - for (count = m.nlimbs; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s_bits; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - *destptr++ = (mp_limb_t) accu; - } - else - { - const mp_limb_t *sourceptr = m.limbs; - size_t count; - for (count = m.nlimbs; count > 0; count--) - *destptr++ = *sourceptr++; - } - numerator.limbs = num_ptr; - numerator.nlimbs = destptr - num_ptr; - } - z_memory = divide (numerator, pow5, &z); - free (num_ptr); - } - } - free (pow5_ptr); - free (memory); - - /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ - - if (z_memory == NULL) - return NULL; - digits = convert_to_decimal (z, extra_zeroes); - free (z_memory); - return digits; -} - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_long_double (long double x, int n) -{ - int e IF_LINT(= 0); - mpn_t m; - void *memory = decode_long_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and >= 0, and n is an integer: - Returns the decimal representation of round (x * 10^n). - Return the allocated memory - containing the decimal digits in low-to-high - order, terminated with a NUL character - in case of success, NULL in case - of memory allocation failure. */ -static char * -scale10_round_decimal_double (double x, int n) -{ - int e IF_LINT(= 0); - mpn_t m; - void *memory = decode_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); -} - -# endif - -# if NEED_PRINTF_LONG_DOUBLE - -/* Assuming x is finite and > 0: - Return an approximation for n with 10^n <= x < 10^(n+1). - The approximation is usually the right n, but may be off by 1 sometimes. */ -static int -floorlog10l (long double x) -{ - int exp; - long double y; - double z; - double l; - - /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); - if (!(y >= 0.0L && y < 1.0L)) - abort (); - if (y == 0.0L) - return INT_MIN; - if (y < 0.5L) - { - while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0L / (1 << 16))) - { - y *= 1.0L * (1 << 16); - exp -= 16; - } - if (y < (1.0L / (1 << 8))) - { - y *= 1.0L * (1 << 8); - exp -= 8; - } - if (y < (1.0L / (1 << 4))) - { - y *= 1.0L * (1 << 4); - exp -= 4; - } - if (y < (1.0L / (1 << 2))) - { - y *= 1.0L * (1 << 2); - exp -= 2; - } - if (y < (1.0L / (1 << 1))) - { - y *= 1.0L * (1 << 1); - exp -= 1; - } - } - if (!(y >= 0.5L && y < 1.0L)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; - } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; - } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; - } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; - } - /* Now 0.95 <= z <= 1.01. */ - z = 1 - z; - /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) - Four terms are enough to get an approximation with error < 10^-7. */ - l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); - /* Finally multiply with log(2)/log(10), yields an approximation for - log10(x). */ - l *= 0.30102999566398119523; - /* Round down to the next integer. */ - return (int) l + (l < 0 ? -1 : 0); -} - -# endif - -# if NEED_PRINTF_DOUBLE - -/* Assuming x is finite and > 0: - Return an approximation for n with 10^n <= x < 10^(n+1). - The approximation is usually the right n, but may be off by 1 sometimes. */ -static int -floorlog10 (double x) -{ - int exp; - double y; - double z; - double l; - - /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); - if (!(y >= 0.0 && y < 1.0)) - abort (); - if (y == 0.0) - return INT_MIN; - if (y < 0.5) - { - while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0 / (1 << 16))) - { - y *= 1.0 * (1 << 16); - exp -= 16; - } - if (y < (1.0 / (1 << 8))) - { - y *= 1.0 * (1 << 8); - exp -= 8; - } - if (y < (1.0 / (1 << 4))) - { - y *= 1.0 * (1 << 4); - exp -= 4; - } - if (y < (1.0 / (1 << 2))) - { - y *= 1.0 * (1 << 2); - exp -= 2; - } - if (y < (1.0 / (1 << 1))) - { - y *= 1.0 * (1 << 1); - exp -= 1; - } - } - if (!(y >= 0.5 && y < 1.0)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; - } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; - } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; - } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; - } - /* Now 0.95 <= z <= 1.01. */ - z = 1 - z; - /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) - Four terms are enough to get an approximation with error < 10^-7. */ - l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); - /* Finally multiply with log(2)/log(10), yields an approximation for - log10(x). */ - l *= 0.30102999566398119523; - /* Round down to the next integer. */ - return (int) l + (l < 0 ? -1 : 0); -} - -# endif - -/* Tests whether a string of digits consists of exactly PRECISION zeroes and - a single '1' digit. */ -static int -is_borderline (const char *digits, size_t precision) -{ - for (; precision > 0; precision--, digits++) - if (*digits != '0') - return 0; - if (*digits != '1') - return 0; - digits++; - return *digits == '\0'; -} - -#endif - -DCHAR_T * -VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - const FCHAR_T *format, va_list args) -{ - DIRECTIVES d; - arguments a; - - if (PRINTF_PARSE (format, &d, &a) < 0) - /* errno is already set. */ - return NULL; - -#define CLEANUP() \ - free (d.dir); \ - if (a.arg) \ - free (a.arg); - - if (PRINTF_FETCHARGS (args, &a) < 0) - { - CLEANUP (); - errno = EINVAL; - return NULL; - } - - { - size_t buf_neededlength; - TCHAR_T *buf; - TCHAR_T *buf_malloced; - const FCHAR_T *cp; - size_t i; - DIRECTIVE *dp; - /* Output string accumulator. */ - DCHAR_T *result; - size_t allocated; - size_t length; - - /* Allocate a small buffer that will hold a directive passed to - sprintf or snprintf. */ - buf_neededlength = - xsum4 (7, d.max_width_length, d.max_precision_length, 6); -#if HAVE_ALLOCA - if (buf_neededlength < 4000 / sizeof (TCHAR_T)) - { - buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); - buf_malloced = NULL; - } - else -#endif - { - size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); - if (size_overflow_p (buf_memsize)) - goto out_of_memory_1; - buf = (TCHAR_T *) malloc (buf_memsize); - if (buf == NULL) - goto out_of_memory_1; - buf_malloced = buf; - } - - if (resultbuf != NULL) - { - result = resultbuf; - allocated = *lengthp; - } - else - { - result = NULL; - allocated = 0; - } - length = 0; - /* Invariants: - result is either == resultbuf or == NULL or malloc-allocated. - If length > 0, then result != NULL. */ - - /* Ensures that allocated >= needed. Aborts through a jump to - out_of_memory if needed is SIZE_MAX or otherwise too big. */ -#define ENSURE_ALLOCATION(needed) \ - if ((needed) > allocated) \ - { \ - size_t memory_size; \ - DCHAR_T *memory; \ - \ - allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ - if ((needed) > allocated) \ - allocated = (needed); \ - memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ - if (size_overflow_p (memory_size)) \ - goto out_of_memory; \ - if (result == resultbuf || result == NULL) \ - memory = (DCHAR_T *) malloc (memory_size); \ - else \ - memory = (DCHAR_T *) realloc (result, memory_size); \ - if (memory == NULL) \ - goto out_of_memory; \ - if (result == resultbuf && length > 0) \ - DCHAR_CPY (memory, result, length); \ - result = memory; \ - } - - for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) - { - if (cp != dp->dir_start) - { - size_t n = dp->dir_start - cp; - size_t augmented_length = xsum (length, n); - - ENSURE_ALLOCATION (augmented_length); - /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we - need that the format string contains only ASCII characters - if FCHAR_T and DCHAR_T are not the same type. */ - if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) - { - DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); - length = augmented_length; - } - else - { - do - result[length++] = (unsigned char) *cp++; - while (--n > 0); - } - } - if (i == d.count) - break; - - /* Execute a single directive. */ - if (dp->conversion == '%') - { - size_t augmented_length; - - if (!(dp->arg_index == ARG_NONE)) - abort (); - augmented_length = xsum (length, 1); - ENSURE_ALLOCATION (augmented_length); - result[length] = '%'; - length = augmented_length; - } - else - { - if (!(dp->arg_index != ARG_NONE)) - abort (); - - if (dp->conversion == 'n') - { - switch (a.arg[dp->arg_index].type) - { - case TYPE_COUNT_SCHAR_POINTER: - *a.arg[dp->arg_index].a.a_count_schar_pointer = length; - break; - case TYPE_COUNT_SHORT_POINTER: - *a.arg[dp->arg_index].a.a_count_short_pointer = length; - break; - case TYPE_COUNT_INT_POINTER: - *a.arg[dp->arg_index].a.a_count_int_pointer = length; - break; - case TYPE_COUNT_LONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longint_pointer = length; - break; -#if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; - break; -#endif - default: - abort (); - } - } -#if ENABLE_UNISTDIO - /* The unistdio extensions. */ - else if (dp->conversion == 'U') - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - switch (type) - { - case TYPE_U8_STRING: - { - const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; - const uint8_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u8_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT8_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-8 to locale encoding. */ - converted = - u8_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-8 to UTF-16/UTF-32. */ - converted = - U8_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U16_STRING: - { - const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; - const uint16_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u16_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT16_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-16 to locale encoding. */ - converted = - u16_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-16 to UTF-8/UTF-32. */ - converted = - U16_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U32_STRING: - { - const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; - const uint32_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u32_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_UINT32_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } -# else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; -# if DCHAR_IS_TCHAR - /* Convert from UTF-32 to locale encoding. */ - converted = - u32_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - converted, &converted_len); -# else - /* Convert from UTF-32 to UTF-8/UTF-16. */ - converted = - U32_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); -# endif - if (converted == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - default: - abort (); - } - } -#endif -#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T - else if (dp->conversion == 's' -# if WIDE_CHAR_VERSION - && a.arg[dp->arg_index].type != TYPE_WIDE_STRING -# else - && a.arg[dp->arg_index].type == TYPE_WIDE_STRING -# endif - ) - { - /* The normal handling of the 's' directive below requires - allocating a temporary buffer. The determination of its - length (tmp_length), in the case when a precision is - specified, below requires a conversion between a char[] - string and a wchar_t[] wide string. It could be done, but - we have no guarantee that the implementation of sprintf will - use the exactly same algorithm. Without this guarantee, it - is possible to have buffer overrun bugs. In order to avoid - such bugs, we implement the entire processing of the 's' - directive ourselves. */ - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 6; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - -# if WIDE_CHAR_VERSION - /* %s in vasnwprintf. See the specification of fwprintf. */ - { - const char *arg = a.arg[dp->arg_index].a.a_string; - const char *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only as many bytes as needed to produce PRECISION - wide characters, from the left. */ -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count; -# if HAVE_MBRTOWC - count = mbrlen (arg_end, MB_CUR_MAX, &state); -# else - count = mblen (arg_end, MB_CUR_MAX); -# endif - if (count == 0) - /* Found the terminating NUL. */ - break; - if (count < 0) - { - /* Invalid or incomplete multibyte character. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of wide - characters. */ -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (;;) - { - int count; -# if HAVE_MBRTOWC - count = mbrlen (arg_end, MB_CUR_MAX, &state); -# else - count = mblen (arg_end, MB_CUR_MAX); -# endif - if (count == 0) - /* Found the terminating NUL. */ - break; - if (count < 0) - { - /* Invalid or incomplete multibyte character. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - - if (has_precision || has_width) - { - /* We know the number of wide characters in advance. */ - size_t remaining; -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - ENSURE_ALLOCATION (xsum (length, characters)); - for (remaining = characters; remaining > 0; remaining--) - { - wchar_t wc; - int count; -# if HAVE_MBRTOWC - count = mbrtowc (&wc, arg, arg_end - arg, &state); -# else - count = mbtowc (&wc, arg, arg_end - arg); -# endif - if (count <= 0) - /* mbrtowc not consistent with mbrlen, or mbtowc - not consistent with mblen. */ - abort (); - result[length++] = wc; - arg += count; - } - if (!(arg == arg_end)) - abort (); - } - else - { -# if HAVE_MBRTOWC - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - while (arg < arg_end) - { - wchar_t wc; - int count; -# if HAVE_MBRTOWC - count = mbrtowc (&wc, arg, arg_end - arg, &state); -# else - count = mbtowc (&wc, arg, arg_end - arg); -# endif - if (count <= 0) - /* mbrtowc not consistent with mbrlen, or mbtowc - not consistent with mblen. */ - abort (); - ENSURE_ALLOCATION (xsum (length, 1)); - result[length++] = wc; - arg += count; - } - } - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } -# else - /* %ls in vasnprintf. See the specification of fprintf. */ - { - const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; - const wchar_t *arg_end; - size_t characters; -# if !DCHAR_IS_TCHAR - /* This code assumes that TCHAR_T is 'char'. */ - typedef int TCHAR_T_verify[2 * (sizeof (TCHAR_T) == 1) - 1]; - TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t tmpdst_len; -# endif - size_t w; - - if (has_precision) - { - /* Use only as many wide characters as needed to produce - at most PRECISION bytes, from the left. */ -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - while (precision > 0) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg_end == 0) - /* Found the terminating null wide character. */ - break; -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg_end, &state); -# else - count = wctomb (buf, *arg_end); -# endif - if (count < 0) - { - /* Cannot convert. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - if (precision < count) - break; - arg_end++; - characters += count; - precision -= count; - } - } -# if DCHAR_IS_TCHAR - else if (has_width) -# else - else -# endif - { - /* Use the entire string, and count the number of - bytes. */ -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - arg_end = arg; - characters = 0; - for (;;) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg_end == 0) - /* Found the terminating null wide character. */ - break; -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg_end, &state); -# else - count = wctomb (buf, *arg_end); -# endif - if (count < 0) - { - /* Cannot convert. */ - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end++; - characters += count; - } - } -# if DCHAR_IS_TCHAR - else - { - /* Use the entire string. */ - arg_end = arg + local_wcslen (arg); - /* The number of bytes doesn't matter. */ - characters = 0; - } -# endif - -# if !DCHAR_IS_TCHAR - /* Convert the string into a piece of temporary memory. */ - tmpsrc = (TCHAR_T *) malloc (characters * sizeof (TCHAR_T)); - if (tmpsrc == NULL) - goto out_of_memory; - { - TCHAR_T *tmpptr = tmpsrc; - size_t remaining; -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - for (remaining = characters; remaining > 0; ) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - memcpy (tmpptr, buf, count); - tmpptr += count; - arg++; - remaining -= count; - } - if (!(arg == arg_end)) - abort (); - } - - /* Convert from TCHAR_T[] to DCHAR_T[]. */ - tmpdst = - DCHAR_CONV_FROM_ENCODING (locale_charset (), - iconveh_question_mark, - tmpsrc, characters, - NULL, - NULL, &tmpdst_len); - if (tmpdst == NULL) - { - int saved_errno = errno; - free (tmpsrc); - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - free (tmpsrc); -# endif - - if (has_width) - { -# if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width - against the number of _characters_ of the converted - value. */ - w = DCHAR_MBSNLEN (result + length, characters); -# else - /* The width is compared against the number of _bytes_ - of the converted value, says POSIX. */ - w = characters; -# endif - } - else - /* w doesn't matter. */ - w = 0; - - if (has_width && width > w - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - w; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - -# if DCHAR_IS_TCHAR - if (has_precision || has_width) - { - /* We know the number of bytes in advance. */ - size_t remaining; -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - ENSURE_ALLOCATION (xsum (length, characters)); - for (remaining = characters; remaining > 0; ) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - memcpy (result + length, buf, count); - length += count; - arg++; - remaining -= count; - } - if (!(arg == arg_end)) - abort (); - } - else - { -# if HAVE_WCRTOMB - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); -# endif - while (arg < arg_end) - { - char buf[64]; /* Assume MB_CUR_MAX <= 64. */ - int count; - - if (*arg == 0) - abort (); -# if HAVE_WCRTOMB - count = wcrtomb (buf, *arg, &state); -# else - count = wctomb (buf, *arg); -# endif - if (count <= 0) - /* Inconsistency. */ - abort (); - ENSURE_ALLOCATION (xsum (length, count)); - memcpy (result + length, buf, count); - length += count; - arg++; - } - } -# else - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); - DCHAR_CPY (result + length, tmpdst, tmpdst_len); - free (tmpdst); - length += tmpdst_len; -# endif - - if (has_width && width > w - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - w; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - } -# endif -#endif -#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'a' || dp->conversion == 'A') -# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) - && (0 -# if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE -# endif -# if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE -# endif - ) -# endif - ) - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* Allocate a temporary buffer of sufficient size. */ - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) ((LDBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) ((DBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } - - pad_ptr = NULL; - p = tmp; - if (type == TYPE_LONGDOUBLE) - { -# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE - long double arg = a.arg[dp->arg_index].a.a_longdouble; - - if (isnanl (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - long double mantissa; - - if (arg > 0.0L) - mantissa = printf_frexpl (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0L; - } - - if (has_precision - && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - long double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5L : tail > 0.5L) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0L; - } - if (tail != 0.0L) - for (q = precision; q > 0; q--) - tail *= 0.0625L; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0L || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0L) - { - mantissa *= 16.0L; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - - END_LONG_DOUBLE_ROUNDING (); - } -# else - abort (); -# endif - } - else - { -# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE - double arg = a.arg[dp->arg_index].a.a_double; - - if (isnand (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - double mantissa; - - if (arg > 0.0) - mantissa = printf_frexp (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0; - } - - if (has_precision - && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5 : tail > 0.5) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0; - } - if (tail != 0.0) - for (q = precision; q > 0; q--) - tail *= 0.0625; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0 || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0) - { - mantissa *= 16.0; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - } -# else - abort (); -# endif - } - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } -#endif -#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'f' || dp->conversion == 'F' - || dp->conversion == 'e' || dp->conversion == 'E' - || dp->conversion == 'g' || dp->conversion == 'G' - || dp->conversion == 'a' || dp->conversion == 'A') - && (0 -# if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE -# elif NEED_PRINTF_INFINITE_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_DOUBLE - /* The systems (mingw) which produce wrong output - for Inf, -Inf, and NaN also do so for -0.0. - Therefore we treat this case here as well. */ - && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) -# endif -# if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE -# elif NEED_PRINTF_INFINITE_LONG_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE - /* Some systems produce wrong output for Inf, - -Inf, and NaN. Some systems in this category - (IRIX 5.3) also do so for -0.0. Therefore we - treat this case here as well. */ - && is_infinite_or_zerol (a.arg[dp->arg_index].a.a_longdouble)) -# endif - )) - { -# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) - arg_type type = a.arg[dp->arg_index].type; -# endif - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* POSIX specifies the default precision to be 6 for %f, %F, - %e, %E, but not for %g, %G. Implementations appear to use - the same default precision also for %g, %G. But for %a, %A, - the default precision is 0. */ - if (!has_precision) - if (!(dp->conversion == 'a' || dp->conversion == 'A')) - precision = 6; - - /* Allocate a temporary buffer of sufficient size. */ -# if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); -# elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); -# elif NEED_PRINTF_LONG_DOUBLE - tmp_length = LDBL_DIG + 1; -# elif NEED_PRINTF_DOUBLE - tmp_length = DBL_DIG + 1; -# else - tmp_length = 0; -# endif - if (tmp_length < precision) - tmp_length = precision; -# if NEED_PRINTF_LONG_DOUBLE -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) -# endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - if (!(isnanl (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10l (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } -# endif -# if NEED_PRINTF_DOUBLE -# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE - if (type == TYPE_DOUBLE) -# endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - double arg = a.arg[dp->arg_index].a.a_double; - if (!(isnand (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10 (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } -# endif - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } - - pad_ptr = NULL; - p = tmp; - -# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) -# endif - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - - if (isnanl (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { -# if NEED_PRINTF_LONG_DOUBLE - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_long_double (arg, precision); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0L) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0L. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)precision - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision+1. */ - if (is_borderline (digits, precision)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_long_double (arg, - (int)precision - exponent + 1); - if (digits2 == NULL) - { - free (digits); - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - if (strlen (digits2) == precision + 1) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision+1. */ - - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - - *p++ = dp->conversion; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0L) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0L. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - if (is_borderline (digits, precision - 1)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_long_double (arg, - (int)(precision - 1) - exponent + 1); - if (digits2 == NULL) - { - free (digits); - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - if (strlen (digits2) == precision) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } -# endif - } - - free (digits); - } - } - else - abort (); -# else - /* arg is finite. */ - if (!(arg == 0.0L)) - abort (); - - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion; /* 'e' or 'E' */ - *p++ = '+'; - *p++ = '0'; - *p++ = '0'; - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - *p++ = '0'; - if (flags & FLAG_ALT) - { - size_t ndigits = - (precision > 0 ? precision - 1 : 0); - *p++ = decimal_point_char (); - for (; ndigits > 0; --ndigits) - *p++ = '0'; - } - } - else if (dp->conversion == 'a' || dp->conversion == 'A') - { - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion - 'A' + 'P'; - *p++ = '+'; - *p++ = '0'; - } - else - abort (); -# endif - } - - END_LONG_DOUBLE_ROUNDING (); - } - } -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - else -# endif -# endif -# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - { - double arg = a.arg[dp->arg_index].a.a_double; - - if (isnand (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { -# if NEED_PRINTF_DOUBLE - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_double (arg, precision); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)precision - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision+1. */ - if (is_borderline (digits, precision)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_double (arg, - (int)precision - exponent + 1); - if (digits2 == NULL) - { - free (digits); - goto out_of_memory; - } - if (strlen (digits2) == precision + 1) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision+1. */ - - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - - *p++ = dp->conversion; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; -# else - { '%', '+', '.', '2', 'd', '\0' }; -# endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; -# else - "%+.2d"; -# endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } -# endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - if (is_borderline (digits, precision - 1)) - { - /* Maybe the exponent guess was too high - and a smaller exponent can be reached - by turning a 10...0 into 9...9x. */ - char *digits2 = - scale10_round_decimal_double (arg, - (int)(precision - 1) - exponent + 1); - if (digits2 == NULL) - { - free (digits); - goto out_of_memory; - } - if (strlen (digits2) == precision) - { - free (digits); - digits = digits2; - exponent -= 1; - } - else - free (digits2); - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ -# if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; -# else - { '%', '+', '.', '2', 'd', '\0' }; -# endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; -# else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; -# else - "%+.2d"; -# endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } -# endif - } - - free (digits); - } - } - else - abort (); -# else - /* arg is finite. */ - if (!(arg == 0.0)) - abort (); - - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion; /* 'e' or 'E' */ - *p++ = '+'; - /* Produce the same number of exponent digits as - the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *p++ = '0'; -# endif - *p++ = '0'; - *p++ = '0'; - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - *p++ = '0'; - if (flags & FLAG_ALT) - { - size_t ndigits = - (precision > 0 ? precision - 1 : 0); - *p++ = decimal_point_char (); - for (; ndigits > 0; --ndigits) - *p++ = '0'; - } - } - else - abort (); -# endif - } - } - } -# endif - - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } -#endif - else - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; -#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int has_width; - size_t width; -#endif -#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - int has_precision; - size_t precision; -#endif -#if NEED_PRINTF_UNBOUNDED_PRECISION - int prec_ourselves; -#else -# define prec_ourselves 0 -#endif -#if NEED_PRINTF_FLAG_LEFTADJUST -# define pad_ourselves 1 -#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int pad_ourselves; -#else -# define pad_ourselves 0 -#endif - TCHAR_T *fbp; - unsigned int prefix_count; - int prefixes[2] IF_LINT (= { 0 }); -#if !USE_SNPRINTF - size_t tmp_length; - TCHAR_T tmpbuf[700]; - TCHAR_T *tmp; -#endif - -#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } -#endif - -#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - has_precision = 0; - precision = 6; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } -#endif - - /* Decide whether to handle the precision ourselves. */ -#if NEED_PRINTF_UNBOUNDED_PRECISION - switch (dp->conversion) - { - case 'd': case 'i': case 'u': - case 'o': - case 'x': case 'X': case 'p': - prec_ourselves = has_precision && (precision > 0); - break; - default: - prec_ourselves = 0; - break; - } -#endif - - /* Decide whether to perform the padding ourselves. */ -#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION) - switch (dp->conversion) - { -# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO - /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need - to perform the padding after this conversion. Functions - with unistdio extensions perform the padding based on - character count rather than element count. */ - case 'c': case 's': -# endif -# if NEED_PRINTF_FLAG_ZERO - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': -# endif - pad_ourselves = 1; - break; - default: - pad_ourselves = prec_ourselves; - break; - } -#endif - -#if !USE_SNPRINTF - /* Allocate a temporary buffer of sufficient size for calling - sprintf. */ - { - switch (dp->conversion) - { - - case 'd': case 'i': case 'u': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Multiply by 2, as an estimate for FLAG_GROUP. */ - tmp_length = xsum (tmp_length, tmp_length); - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; - - case 'o': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; - - case 'x': case 'X': -# if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 2, to account for a leading sign or alternate form. */ - tmp_length = xsum (tmp_length, 2); - break; - - case 'f': case 'F': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - else - tmp_length = - (unsigned int) (DBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'e': case 'E': case 'g': case 'G': - tmp_length = - 12; /* sign, decimal point, exponent etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'a': case 'A': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (DBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - break; - - case 'c': -# if HAVE_WINT_T && !WIDE_CHAR_VERSION - if (type == TYPE_WIDE_CHAR) - tmp_length = MB_CUR_MAX; - else -# endif - tmp_length = 1; - break; - - case 's': -# if HAVE_WCHAR_T - if (type == TYPE_WIDE_STRING) - { -# if WIDE_CHAR_VERSION - /* ISO C says about %ls in fwprintf: - "If the precision is not specified or is greater - than the size of the array, the array shall - contain a null wide character." - So if there is a precision, we must not use - wcslen. */ - const wchar_t *arg = - a.arg[dp->arg_index].a.a_wide_string; - - if (has_precision) - tmp_length = local_wcsnlen (arg, precision); - else - tmp_length = local_wcslen (arg); -# else - /* ISO C says about %ls in fprintf: - "If a precision is specified, no more than that - many bytes are written (including shift - sequences, if any), and the array shall contain - a null wide character if, to equal the - multibyte character sequence length given by - the precision, the function would need to - access a wide character one past the end of the - array." - So if there is a precision, we must not use - wcslen. */ - /* This case has already been handled above. */ - abort (); -# endif - } - else -# endif - { -# if WIDE_CHAR_VERSION - /* ISO C says about %s in fwprintf: - "If the precision is not specified or is greater - than the size of the converted array, the - converted array shall contain a null wide - character." - So if there is a precision, we must not use - strlen. */ - /* This case has already been handled above. */ - abort (); -# else - /* ISO C says about %s in fprintf: - "If the precision is not specified or greater - than the size of the array, the array shall - contain a null character." - So if there is a precision, we must not use - strlen. */ - const char *arg = a.arg[dp->arg_index].a.a_string; - - if (has_precision) - tmp_length = local_strnlen (arg, precision); - else - tmp_length = strlen (arg); -# endif - } - break; - - case 'p': - tmp_length = - (unsigned int) (sizeof (void *) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1 /* turn floor into ceil */ - + 2; /* account for leading 0x */ - break; - - default: - abort (); - } - - if (!pad_ourselves) - { -# if ENABLE_UNISTDIO - /* Padding considers the number of characters, therefore - the number of elements after padding may be - > max (tmp_length, width) - but is certainly - <= tmp_length + width. */ - tmp_length = xsum (tmp_length, width); -# else - /* Padding considers the number of elements, - says POSIX. */ - if (tmp_length < width) - tmp_length = width; -# endif - } - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - } - - if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (TCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } -#endif - - /* Construct the format string for calling snprintf or - sprintf. */ - fbp = buf; - *fbp++ = '%'; -#if NEED_PRINTF_FLAG_GROUPING - /* The underlying implementation doesn't support the ' flag. - Produce no grouping characters in this case; this is - acceptable because the grouping is locale dependent. */ -#else - if (flags & FLAG_GROUP) - *fbp++ = '\''; -#endif - if (flags & FLAG_LEFT) - *fbp++ = '-'; - if (flags & FLAG_SHOWSIGN) - *fbp++ = '+'; - if (flags & FLAG_SPACE) - *fbp++ = ' '; - if (flags & FLAG_ALT) - *fbp++ = '#'; - if (!pad_ourselves) - { - if (flags & FLAG_ZERO) - *fbp++ = '0'; - if (dp->width_start != dp->width_end) - { - size_t n = dp->width_end - dp->width_start; - /* The width specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->width_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } - if (!prec_ourselves) - { - if (dp->precision_start != dp->precision_end) - { - size_t n = dp->precision_end - dp->precision_start; - /* The precision specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->precision_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } - - switch (type) - { -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - case TYPE_ULONGLONGINT: -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *fbp++ = 'I'; - *fbp++ = '6'; - *fbp++ = '4'; - break; -# else - *fbp++ = 'l'; - /*FALLTHROUGH*/ -# endif -#endif - case TYPE_LONGINT: - case TYPE_ULONGINT: -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: -#endif -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: -#endif - *fbp++ = 'l'; - break; - case TYPE_LONGDOUBLE: - *fbp++ = 'L'; - break; - default: - break; - } -#if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - *fbp = 'f'; - else -#endif - *fbp = dp->conversion; -#if USE_SNPRINTF -# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; -# else - /* On glibc2 systems from glibc >= 2.3 - probably also older - ones - we know that snprintf's returns value conforms to - ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. - Therefore we can avoid using %n in this situation. - On glibc2 systems from 2004-10-18 or newer, the use of %n - in format strings in writable memory may crash the program - (if compiled with _FORTIFY_SOURCE=2), so we should avoid it - in this situation. */ - /* On native Win32 systems (such as mingw), we can avoid using - %n because: - - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, - snprintf does not write more than the specified number - of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes - '4', '5', '6' into buf, not '4', '5', '\0'.) - - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf - allows us to recognize the case of an insufficient - buffer size: it returns -1 in this case. - On native Win32 systems (such as mingw) where the OS is - Windows Vista, the use of %n in format strings by default - crashes the program. See - and - - So we should avoid %n in this situation. */ - fbp[1] = '\0'; -# endif -#else - fbp[1] = '\0'; -#endif - - /* Construct the arguments for calling snprintf or sprintf. */ - prefix_count = 0; - if (!pad_ourselves && dp->width_arg_index != ARG_NONE) - { - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; - } - if (!prec_ourselves && dp->precision_arg_index != ARG_NONE) - { - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; - } - -#if USE_SNPRINTF - /* The SNPRINTF result is appended after result[0..length]. - The latter is an array of DCHAR_T; SNPRINTF appends an - array of TCHAR_T to it. This is possible because - sizeof (TCHAR_T) divides sizeof (DCHAR_T) and - alignof (TCHAR_T) <= alignof (DCHAR_T). */ -# define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) - /* Ensure that maxlen below will be >= 2. Needed on BeOS, - where an snprintf() with maxlen==1 acts like sprintf(). */ - ENSURE_ALLOCATION (xsum (length, - (2 + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR)); - /* Prepare checking whether snprintf returns the count - via %n. */ - *(TCHAR_T *) (result + length) = '\0'; -#endif - - for (;;) - { - int count = -1; - -#if USE_SNPRINTF - int retcount = 0; - size_t maxlen = allocated - length; - /* SNPRINTF can fail if its second argument is - > INT_MAX. */ - if (maxlen > INT_MAX / TCHARS_PER_DCHAR) - maxlen = INT_MAX / TCHARS_PER_DCHAR; - maxlen = maxlen * TCHARS_PER_DCHAR; -# define SNPRINTF_BUF(arg) \ - switch (prefix_count) \ - { \ - case 0: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - arg, &count); \ - break; \ - case 1: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - prefixes[0], arg, &count); \ - break; \ - case 2: \ - retcount = SNPRINTF ((TCHAR_T *) (result + length), \ - maxlen, buf, \ - prefixes[0], prefixes[1], arg, \ - &count); \ - break; \ - default: \ - abort (); \ - } -#else -# define SNPRINTF_BUF(arg) \ - switch (prefix_count) \ - { \ - case 0: \ - count = sprintf (tmp, buf, arg); \ - break; \ - case 1: \ - count = sprintf (tmp, buf, prefixes[0], arg); \ - break; \ - case 2: \ - count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ - arg); \ - break; \ - default: \ - abort (); \ - } -#endif - - switch (type) - { - case TYPE_SCHAR: - { - int arg = a.arg[dp->arg_index].a.a_schar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UCHAR: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uchar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_SHORT: - { - int arg = a.arg[dp->arg_index].a.a_short; - SNPRINTF_BUF (arg); - } - break; - case TYPE_USHORT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_ushort; - SNPRINTF_BUF (arg); - } - break; - case TYPE_INT: - { - int arg = a.arg[dp->arg_index].a.a_int; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UINT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGINT: - { - long int arg = a.arg[dp->arg_index].a.a_longint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGINT: - { - unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - { - long long int arg = a.arg[dp->arg_index].a.a_longlongint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGLONGINT: - { - unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_DOUBLE: - { - double arg = a.arg[dp->arg_index].a.a_double; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGDOUBLE: - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - SNPRINTF_BUF (arg); - } - break; - case TYPE_CHAR: - { - int arg = a.arg[dp->arg_index].a.a_char; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_WINT_T - case TYPE_WIDE_CHAR: - { - wint_t arg = a.arg[dp->arg_index].a.a_wide_char; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_STRING: - { - const char *arg = a.arg[dp->arg_index].a.a_string; - SNPRINTF_BUF (arg); - } - break; -#if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - { - const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_POINTER: - { - void *arg = a.arg[dp->arg_index].a.a_pointer; - SNPRINTF_BUF (arg); - } - break; - default: - abort (); - } - -#if USE_SNPRINTF - /* Portability: Not all implementations of snprintf() - are ISO C 99 compliant. Determine the number of - bytes that snprintf() has produced or would have - produced. */ - if (count >= 0) - { - /* Verify that snprintf() has NUL-terminated its - result. */ - if (count < maxlen - && ((TCHAR_T *) (result + length)) [count] != '\0') - abort (); - /* Portability hack. */ - if (retcount > count) - count = retcount; - } - else - { - /* snprintf() doesn't understand the '%n' - directive. */ - if (fbp[1] != '\0') - { - /* Don't use the '%n' directive; instead, look - at the snprintf() return value. */ - fbp[1] = '\0'; - continue; - } - else - { - /* Look at the snprintf() return value. */ - if (retcount < 0) - { - /* HP-UX 10.20 snprintf() is doubly deficient: - It doesn't understand the '%n' directive, - *and* it returns -1 (rather than the length - that would have been required) when the - buffer is too small. */ - size_t bigger_need = - xsum (xtimes (allocated, 2), 12); - ENSURE_ALLOCATION (bigger_need); - continue; - } - else - count = retcount; - } - } -#endif - - /* Attempt to handle failure. */ - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EINVAL; - return NULL; - } - -#if USE_SNPRINTF - /* Handle overflow of the allocated buffer. - If such an overflow occurs, a C99 compliant snprintf() - returns a count >= maxlen. However, a non-compliant - snprintf() function returns only count = maxlen - 1. To - cover both cases, test whether count >= maxlen - 1. */ - if ((unsigned int) count + 1 >= maxlen) - { - /* If maxlen already has attained its allowed maximum, - allocating more memory will not increase maxlen. - Instead of looping, bail out. */ - if (maxlen == INT_MAX / TCHARS_PER_DCHAR) - goto overflow; - else - { - /* Need at least (count + 1) * sizeof (TCHAR_T) - bytes. (The +1 is for the trailing NUL.) - But ask for (count + 2) * sizeof (TCHAR_T) - bytes, so that in the next round, we likely get - maxlen > (unsigned int) count + 1 - and so we don't get here again. - And allocate proportionally, to avoid looping - eternally if snprintf() reports a too small - count. */ - size_t n = - xmax (xsum (length, - ((unsigned int) count + 2 - + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR), - xtimes (allocated, 2)); - - ENSURE_ALLOCATION (n); - continue; - } - } -#endif - -#if NEED_PRINTF_UNBOUNDED_PRECISION - if (prec_ourselves) - { - /* Handle the precision. */ - TCHAR_T *prec_ptr = -# if USE_SNPRINTF - (TCHAR_T *) (result + length); -# else - tmp; -# endif - size_t prefix_count; - size_t move; - - prefix_count = 0; - /* Put the additional zeroes after the sign. */ - if (count >= 1 - && (*prec_ptr == '-' || *prec_ptr == '+' - || *prec_ptr == ' ')) - prefix_count = 1; - /* Put the additional zeroes after the 0x prefix if - (flags & FLAG_ALT) || (dp->conversion == 'p'). */ - else if (count >= 2 - && prec_ptr[0] == '0' - && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) - prefix_count = 2; - - move = count - prefix_count; - if (precision > move) - { - /* Insert zeroes. */ - size_t insert = precision - move; - TCHAR_T *prec_end; - -# if USE_SNPRINTF - size_t n = - xsum (length, - (count + insert + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR); - length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - ENSURE_ALLOCATION (n); - length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - prec_ptr = (TCHAR_T *) (result + length); -# endif - - prec_end = prec_ptr + count; - prec_ptr += prefix_count; - - while (prec_end > prec_ptr) - { - prec_end--; - prec_end[insert] = prec_end[0]; - } - - prec_end += insert; - do - *--prec_end = '0'; - while (prec_end > prec_ptr); - - count += insert; - } - } -#endif - -#if !USE_SNPRINTF - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); -#endif - -#if !DCHAR_IS_TCHAR - /* Convert from TCHAR_T[] to DCHAR_T[]. */ - if (dp->conversion == 'c' || dp->conversion == 's') - { - /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING - TYPE_WIDE_STRING. - The result string is not certainly ASCII. */ - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t tmpdst_len; - /* This code assumes that TCHAR_T is 'char'. */ - typedef int TCHAR_T_verify - [2 * (sizeof (TCHAR_T) == 1) - 1]; -# if USE_SNPRINTF - tmpsrc = (TCHAR_T *) (result + length); -# else - tmpsrc = tmp; -# endif - tmpdst = - DCHAR_CONV_FROM_ENCODING (locale_charset (), - iconveh_question_mark, - tmpsrc, count, - NULL, - NULL, &tmpdst_len); - if (tmpdst == NULL) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); - DCHAR_CPY (result + length, tmpdst, tmpdst_len); - free (tmpdst); - count = tmpdst_len; - } - else - { - /* The result string is ASCII. - Simple 1:1 conversion. */ -# if USE_SNPRINTF - /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a - no-op conversion, in-place on the array starting - at (result + length). */ - if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) -# endif - { - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t n; - -# if USE_SNPRINTF - if (result == resultbuf) - { - tmpsrc = (TCHAR_T *) (result + length); - /* ENSURE_ALLOCATION will not move tmpsrc - (because it's part of resultbuf). */ - ENSURE_ALLOCATION (xsum (length, count)); - } - else - { - /* ENSURE_ALLOCATION will move the array - (because it uses realloc(). */ - ENSURE_ALLOCATION (xsum (length, count)); - tmpsrc = (TCHAR_T *) (result + length); - } -# else - tmpsrc = tmp; - ENSURE_ALLOCATION (xsum (length, count)); -# endif - tmpdst = result + length; - /* Copy backwards, because of overlapping. */ - tmpsrc += count; - tmpdst += count; - for (n = count; n > 0; n--) - *--tmpdst = (unsigned char) *--tmpsrc; - } - } -#endif - -#if DCHAR_IS_TCHAR && !USE_SNPRINTF - /* Make room for the result. */ - if (count > allocated - length) - { - /* Need at least count elements. But allocate - proportionally. */ - size_t n = - xmax (xsum (length, count), xtimes (allocated, 2)); - - ENSURE_ALLOCATION (n); - } -#endif - - /* Here count <= allocated - length. */ - - /* Perform padding. */ -#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - if (pad_ourselves && has_width) - { - size_t w; -# if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width - against the number of _characters_ of the converted - value. */ - w = DCHAR_MBSNLEN (result + length, count); -# else - /* The width is compared against the number of _bytes_ - of the converted value, says POSIX. */ - w = count; -# endif - if (w < width) - { - size_t pad = width - w; - - /* Make room for the result. */ - if (xsum (count, pad) > allocated - length) - { - /* Need at least count + pad elements. But - allocate proportionally. */ - size_t n = - xmax (xsum3 (length, count, pad), - xtimes (allocated, 2)); - -# if USE_SNPRINTF - length += count; - ENSURE_ALLOCATION (n); - length -= count; -# else - ENSURE_ALLOCATION (n); -# endif - } - /* Here count + pad <= allocated - length. */ - - { -# if !DCHAR_IS_TCHAR || USE_SNPRINTF - DCHAR_T * const rp = result + length; -# else - DCHAR_T * const rp = tmp; -# endif - DCHAR_T *p = rp + count; - DCHAR_T *end = p + pad; - DCHAR_T *pad_ptr; -# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO - if (dp->conversion == 'c' - || dp->conversion == 's') - /* No zero-padding for string directives. */ - pad_ptr = NULL; - else -# endif - { - pad_ptr = (*rp == '-' ? rp + 1 : rp); - /* No zero-padding of "inf" and "nan". */ - if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') - || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) - pad_ptr = NULL; - } - /* The generated string now extends from rp to p, - with the zero padding insertion point being at - pad_ptr. */ - - count = count + pad; /* = end - rp */ - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > rp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - } - } - } -#endif - - /* Here still count <= allocated - length. */ - -#if !DCHAR_IS_TCHAR || USE_SNPRINTF - /* The snprintf() result did fit. */ -#else - /* Append the sprintf() result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); -#endif -#if !USE_SNPRINTF - if (tmp != tmpbuf) - free (tmp); -#endif - -#if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - { - /* Convert the %f result to upper case for %F. */ - DCHAR_T *rp = result + length; - size_t rc; - for (rc = count; rc > 0; rc--, rp++) - if (*rp >= 'a' && *rp <= 'z') - *rp = *rp - 'a' + 'A'; - } -#endif - - length += count; - break; - } - } - } - } - - /* Add the final NUL. */ - ENSURE_ALLOCATION (xsum (length, 1)); - result[length] = '\0'; - - if (result != resultbuf && length + 1 < allocated) - { - /* Shrink the allocated memory if possible. */ - DCHAR_T *memory; - - memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); - if (memory != NULL) - result = memory; - } - - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - *lengthp = length; - /* Note that we can produce a big string of a length > INT_MAX. POSIX - says that snprintf() fails with errno = EOVERFLOW in this case, but - that's only because snprintf() returns an 'int'. This function does - not have this limitation. */ - return result; - -#if USE_SNPRINTF - overflow: - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EOVERFLOW; - return NULL; -#endif - - out_of_memory: - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - out_of_memory_1: - CLEANUP (); - errno = ENOMEM; - return NULL; - } -} - -#undef TCHARS_PER_DCHAR -#undef SNPRINTF -#undef USE_SNPRINTF -#undef DCHAR_CPY -#undef PRINTF_PARSE -#undef DIRECTIVES -#undef DIRECTIVE -#undef DCHAR_IS_TCHAR -#undef TCHAR_T -#undef DCHAR_T -#undef FCHAR_T -#undef VASNPRINTF diff -Nru gnutls26-2.8.6/lib/gl/vasnprintf.h gnutls26-2.4.1/lib/gl/vasnprintf.h --- gnutls26-2.8.6/lib/gl/vasnprintf.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/vasnprintf.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,81 +0,0 @@ -/* vsprintf with automatic memory allocation. - Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _VASNPRINTF_H -#define _VASNPRINTF_H - -/* Get va_list. */ -#include - -/* Get size_t. */ -#include - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Write formatted output to a string dynamically allocated with malloc(). - You can pass a preallocated buffer for the result in RESULTBUF and its - size in *LENGTHP; otherwise you pass RESULTBUF = NULL. - If successful, return the address of the string (this may be = RESULTBUF - if no dynamic memory allocation was necessary) and set *LENGTHP to the - number of resulting bytes, excluding the trailing NUL. Upon error, set - errno and return NULL. - - When dynamic memory allocation occurs, the preallocated buffer is left - alone (with possibly modified contents). This makes it possible to use - a statically allocated or stack-allocated buffer, like this: - - char buf[100]; - size_t len = sizeof (buf); - char *output = vasnprintf (buf, &len, format, args); - if (output == NULL) - ... error handling ...; - else - { - ... use the output string ...; - if (output != buf) - free (output); - } - */ -#if REPLACE_VASNPRINTF -# define asnprintf rpl_asnprintf -# define vasnprintf rpl_vasnprintf -#endif -extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 3, 0))); - -#ifdef __cplusplus -} -#endif - -#endif /* _VASNPRINTF_H */ diff -Nru gnutls26-2.8.6/lib/gl/vasprintf.c gnutls26-2.4.1/lib/gl/vasprintf.c --- gnutls26-2.8.6/lib/gl/vasprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/vasprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#include - -/* Specification. */ -#ifdef IN_LIBASPRINTF -# include "vasprintf.h" -#else -# include -#endif - -#include -#include -#include - -#include "vasnprintf.h" - -int -vasprintf (char **resultp, const char *format, va_list args) -{ - size_t length; - char *result = vasnprintf (NULL, &length, format, args); - if (result == NULL) - return -1; - - if (length > INT_MAX) - { - free (result); - errno = EOVERFLOW; - return -1; - } - - *resultp = result; - /* Return the number of resulting bytes, excluding the trailing NUL. */ - return length; -} diff -Nru gnutls26-2.8.6/lib/gl/vsnprintf.c gnutls26-2.4.1/lib/gl/vsnprintf.c --- gnutls26-2.8.6/lib/gl/vsnprintf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/vsnprintf.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,71 +0,0 @@ -/* Formatted output to strings. - Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. - Written by Simon Josefsson and Yoann Vandoorselaere . - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -/* Specification. */ -#include - -#include -#include -#include -#include -#include - -#include "vasnprintf.h" - -/* Print formatted output to string STR. Similar to vsprintf, but - additional length SIZE limit how much is written into STR. Returns - string length of formatted string (which may be larger than SIZE). - STR may be NULL, in which case nothing will be written. On error, - return a negative value. */ -int -vsnprintf (char *str, size_t size, const char *format, va_list args) -{ - char *output; - size_t len; - size_t lenbuf = size; - - output = vasnprintf (str, &lenbuf, format, args); - len = lenbuf; - - if (!output) - return -1; - - if (output != str) - { - if (size) - { - size_t pruned_len = (len < size ? len : size - 1); - memcpy (str, output, pruned_len); - str[pruned_len] = '\0'; - } - - free (output); - } - - if (len > INT_MAX) - { - errno = EOVERFLOW; - return -1; - } - - return len; -} diff -Nru gnutls26-2.8.6/lib/gl/w32sock.h gnutls26-2.4.1/lib/gl/w32sock.h --- gnutls26-2.8.6/lib/gl/w32sock.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/w32sock.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* w32sock.h --- internal auxilliary functions for Windows socket functions - - Copyright (C) 2008 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -/* Written by Paolo Bonzini */ - -#include - -/* Get O_RDWR and O_BINARY. */ -#include - -/* Get _get_osfhandle() and _open_osfhandle(). */ -#include - -#define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) -#define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) - -static inline void -set_winsock_errno (void) -{ - int err = WSAGetLastError (); - WSASetLastError (0); - - /* Map some WSAE* errors to the runtime library's error codes. */ - switch (err) - { - case WSA_INVALID_HANDLE: - errno = EBADF; - break; - case WSA_NOT_ENOUGH_MEMORY: - errno = ENOMEM; - break; - case WSA_INVALID_PARAMETER: - errno = EINVAL; - break; - case WSAEWOULDBLOCK: - errno = EWOULDBLOCK; - break; - case WSAENAMETOOLONG: - errno = ENAMETOOLONG; - break; - case WSAENOTEMPTY: - errno = ENOTEMPTY; - break; - default: - errno = (err > 10000 && err < 10025) ? err - 10000 : err; - break; - } -} diff -Nru gnutls26-2.8.6/lib/gl/wchar.in.h gnutls26-2.4.1/lib/gl/wchar.in.h --- gnutls26-2.8.6/lib/gl/wchar.in.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/wchar.in.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,310 +0,0 @@ -/* A substitute for ISO C99 , for platforms that have issues. - - Copyright (C) 2007-2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Eric Blake. */ - -/* - * ISO C 99 for platforms that have issues. - * - * - * For now, this just ensures proper prerequisite inclusion order and - * the declaration of wcwidth(). - */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif - -#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H -/* Special invocation convention: - - Inside uClibc header files. - - On HP-UX 11.00 we have a sequence of nested includes - -> -> , and the latter includes , - once indirectly -> -> -> - and once directly. In both situations 'wint_t' is not yet defined, - therefore we cannot provide the function overrides; instead include only - the system's . - - On IRIX 6.5, similarly, we have an include -> , and - the latter includes . But here, we have no way to detect whether - is completely included or is still being included. */ - -#@INCLUDE_NEXT@ @NEXT_WCHAR_H@ - -#else -/* Normal invocation convention. */ - -#ifndef _GL_WCHAR_H - -#define _GL_ALREADY_INCLUDING_WCHAR_H - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include - -/* Include the original if it exists. - Some builds of uClibc lack it. */ -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_WCHAR_H@ -# @INCLUDE_NEXT@ @NEXT_WCHAR_H@ -#endif - -#undef _GL_ALREADY_INCLUDING_WCHAR_H - -#ifndef _GL_WCHAR_H -#define _GL_WCHAR_H - -/* The definition of GL_LINK_WARNING is copied here. */ - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Define wint_t. (Also done in wctype.in.h.) */ -#if !@HAVE_WINT_T@ && !defined wint_t -# define wint_t int -# ifndef WEOF -# define WEOF -1 -# endif -#endif - - -/* Override mbstate_t if it is too small. - On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for - implementing mbrtowc for encodings like UTF-8. */ -#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@ -typedef int rpl_mbstate_t; -# undef mbstate_t -# define mbstate_t rpl_mbstate_t -# define GNULIB_defined_mbstate_t 1 -#endif - - -/* Convert a single-byte character to a wide character. */ -#if @GNULIB_BTOWC@ -# if @REPLACE_BTOWC@ -# undef btowc -# define btowc rpl_btowc -# endif -# if !@HAVE_BTOWC@ || @REPLACE_BTOWC@ -extern wint_t btowc (int c); -# endif -#elif defined GNULIB_POSIXCHECK -# undef btowc -# define btowc(c) \ - (GL_LINK_WARNING ("btowc is unportable - " \ - "use gnulib module btowc for portability"), \ - btowc (c)) -#endif - - -/* Convert a wide character to a single-byte character. */ -#if @GNULIB_WCTOB@ -# if @REPLACE_WCTOB@ -# undef wctob -# define wctob rpl_wctob -# endif -# if (!defined wctob && !@HAVE_DECL_WCTOB@) || @REPLACE_WCTOB@ -/* wctob is provided by gnulib, or wctob exists but is not declared. */ -extern int wctob (wint_t wc); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wctob -# define wctob(w) \ - (GL_LINK_WARNING ("wctob is unportable - " \ - "use gnulib module wctob for portability"), \ - wctob (w)) -#endif - - -/* Test whether *PS is in the initial state. */ -#if @GNULIB_MBSINIT@ -# if @REPLACE_MBSINIT@ -# undef mbsinit -# define mbsinit rpl_mbsinit -# endif -# if !@HAVE_MBSINIT@ || @REPLACE_MBSINIT@ -extern int mbsinit (const mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsinit -# define mbsinit(p) \ - (GL_LINK_WARNING ("mbsinit is unportable - " \ - "use gnulib module mbsinit for portability"), \ - mbsinit (p)) -#endif - - -/* Convert a multibyte character to a wide character. */ -#if @GNULIB_MBRTOWC@ -# if @REPLACE_MBRTOWC@ -# undef mbrtowc -# define mbrtowc rpl_mbrtowc -# endif -# if !@HAVE_MBRTOWC@ || @REPLACE_MBRTOWC@ -extern size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbrtowc -# define mbrtowc(w,s,n,p) \ - (GL_LINK_WARNING ("mbrtowc is unportable - " \ - "use gnulib module mbrtowc for portability"), \ - mbrtowc (w, s, n, p)) -#endif - - -/* Recognize a multibyte character. */ -#if @GNULIB_MBRLEN@ -# if @REPLACE_MBRLEN@ -# undef mbrlen -# define mbrlen rpl_mbrlen -# endif -# if !@HAVE_MBRLEN@ || @REPLACE_MBRLEN@ -extern size_t mbrlen (const char *s, size_t n, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbrlen -# define mbrlen(s,n,p) \ - (GL_LINK_WARNING ("mbrlen is unportable - " \ - "use gnulib module mbrlen for portability"), \ - mbrlen (s, n, p)) -#endif - - -/* Convert a string to a wide string. */ -#if @GNULIB_MBSRTOWCS@ -# if @REPLACE_MBSRTOWCS@ -# undef mbsrtowcs -# define mbsrtowcs rpl_mbsrtowcs -# endif -# if !@HAVE_MBSRTOWCS@ || @REPLACE_MBSRTOWCS@ -extern size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsrtowcs -# define mbsrtowcs(d,s,l,p) \ - (GL_LINK_WARNING ("mbsrtowcs is unportable - " \ - "use gnulib module mbsrtowcs for portability"), \ - mbsrtowcs (d, s, l, p)) -#endif - - -/* Convert a string to a wide string. */ -#if @GNULIB_MBSNRTOWCS@ -# if @REPLACE_MBSNRTOWCS@ -# undef mbsnrtowcs -# define mbsnrtowcs rpl_mbsnrtowcs -# endif -# if !@HAVE_MBSNRTOWCS@ || @REPLACE_MBSNRTOWCS@ -extern size_t mbsnrtowcs (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef mbsnrtowcs -# define mbsnrtowcs(d,s,n,l,p) \ - (GL_LINK_WARNING ("mbsnrtowcs is unportable - " \ - "use gnulib module mbsnrtowcs for portability"), \ - mbsnrtowcs (d, s, n, l, p)) -#endif - - -/* Convert a wide character to a multibyte character. */ -#if @GNULIB_WCRTOMB@ -# if @REPLACE_WCRTOMB@ -# undef wcrtomb -# define wcrtomb rpl_wcrtomb -# endif -# if !@HAVE_WCRTOMB@ || @REPLACE_WCRTOMB@ -extern size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcrtomb -# define wcrtomb(s,w,p) \ - (GL_LINK_WARNING ("wcrtomb is unportable - " \ - "use gnulib module wcrtomb for portability"), \ - wcrtomb (s, w, p)) -#endif - - -/* Convert a wide string to a string. */ -#if @GNULIB_WCSRTOMBS@ -# if @REPLACE_WCSRTOMBS@ -# undef wcsrtombs -# define wcsrtombs rpl_wcsrtombs -# endif -# if !@HAVE_WCSRTOMBS@ || @REPLACE_WCSRTOMBS@ -extern size_t wcsrtombs (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcsrtombs -# define wcsrtombs(d,s,l,p) \ - (GL_LINK_WARNING ("wcsrtombs is unportable - " \ - "use gnulib module wcsrtombs for portability"), \ - wcsrtombs (d, s, l, p)) -#endif - - -/* Convert a wide string to a string. */ -#if @GNULIB_WCSNRTOMBS@ -# if @REPLACE_WCSNRTOMBS@ -# undef wcsnrtombs -# define wcsnrtombs rpl_wcsnrtombs -# endif -# if !@HAVE_WCSNRTOMBS@ || @REPLACE_WCSNRTOMBS@ -extern size_t wcsnrtombs (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps); -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcsnrtombs -# define wcsnrtombs(d,s,n,l,p) \ - (GL_LINK_WARNING ("wcsnrtombs is unportable - " \ - "use gnulib module wcsnrtombs for portability"), \ - wcsnrtombs (d, s, n, l, p)) -#endif - - -/* Return the number of screen columns needed for WC. */ -#if @GNULIB_WCWIDTH@ -# if @REPLACE_WCWIDTH@ -# undef wcwidth -# define wcwidth rpl_wcwidth -extern int wcwidth (wchar_t); -# else -# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@ -/* wcwidth exists but is not declared. */ -extern int wcwidth (int /* actually wchar_t */); -# endif -# endif -#elif defined GNULIB_POSIXCHECK -# undef wcwidth -# define wcwidth(w) \ - (GL_LINK_WARNING ("wcwidth is unportable - " \ - "use gnulib module wcwidth for portability"), \ - wcwidth (w)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_WCHAR_H */ -#endif /* _GL_WCHAR_H */ -#endif diff -Nru gnutls26-2.8.6/lib/gl/xsize.h gnutls26-2.4.1/lib/gl/xsize.h --- gnutls26-2.8.6/lib/gl/xsize.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gl/xsize.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -/* xsize.h -- Checked size_t computations. - - Copyright (C) 2003, 2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _XSIZE_H -#define _XSIZE_H - -/* Get size_t. */ -#include - -/* Get SIZE_MAX. */ -#include -#if HAVE_STDINT_H -# include -#endif - -/* The size of memory objects is often computed through expressions of - type size_t. Example: - void* p = malloc (header_size + n * element_size). - These computations can lead to overflow. When this happens, malloc() - returns a piece of memory that is way too small, and the program then - crashes while attempting to fill the memory. - To avoid this, the functions and macros in this file check for overflow. - The convention is that SIZE_MAX represents overflow. - malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc - implementation that uses mmap --, it's recommended to use size_overflow_p() - or size_in_bounds_p() before invoking malloc(). - The example thus becomes: - size_t size = xsum (header_size, xtimes (n, element_size)); - void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); -*/ - -/* Convert an arbitrary value >= 0 to type size_t. */ -#define xcast_size_t(N) \ - ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) - -/* Sum of two sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum (size_t size1, size_t size2) -{ - size_t sum = size1 + size2; - return (sum >= size1 ? sum : SIZE_MAX); -} - -/* Sum of three sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum3 (size_t size1, size_t size2, size_t size3) -{ - return xsum (xsum (size1, size2), size3); -} - -/* Sum of four sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) -{ - return xsum (xsum (xsum (size1, size2), size3), size4); -} - -/* Maximum of two sizes, with overflow check. */ -static inline size_t -#if __GNUC__ >= 3 -__attribute__ ((__pure__)) -#endif -xmax (size_t size1, size_t size2) -{ - /* No explicit check is needed here, because for any n: - max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ - return (size1 >= size2 ? size1 : size2); -} - -/* Multiplication of a count with an element size, with overflow check. - The count must be >= 0 and the element size must be > 0. - This is a macro, not an inline function, so that it works correctly even - when N is of a wider type and N > SIZE_MAX. */ -#define xtimes(N, ELSIZE) \ - ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) - -/* Check for overflow. */ -#define size_overflow_p(SIZE) \ - ((SIZE) == SIZE_MAX) -/* Check against overflow. */ -#define size_in_bounds_p(SIZE) \ - ((SIZE) != SIZE_MAX) - -#endif /* _XSIZE_H */ diff -Nru gnutls26-2.8.6/lib/gnutls_alert.c gnutls26-2.4.1/lib/gnutls_alert.c --- gnutls26-2.8.6/lib/gnutls_alert.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_alert.c 2008-06-19 11:00:10.000000000 +0100 @@ -27,11 +27,6 @@ #include #include -/* I18n of error codes. */ -#include "gettext.h" -#define _(String) dgettext (PACKAGE, String) -#define N_(String) gettext_noop (String) - typedef struct { gnutls_alert_description_t alert; @@ -39,62 +34,66 @@ } gnutls_alert_entry; static const gnutls_alert_entry sup_alerts[] = { - {GNUTLS_A_CLOSE_NOTIFY, N_("Close notify")}, - {GNUTLS_A_UNEXPECTED_MESSAGE, N_("Unexpected message")}, - {GNUTLS_A_BAD_RECORD_MAC, N_("Bad record MAC")}, - {GNUTLS_A_DECRYPTION_FAILED, N_("Decryption failed")}, - {GNUTLS_A_RECORD_OVERFLOW, N_("Record overflow")}, - {GNUTLS_A_DECOMPRESSION_FAILURE, N_("Decompression failed")}, - {GNUTLS_A_HANDSHAKE_FAILURE, N_("Handshake failed")}, - {GNUTLS_A_BAD_CERTIFICATE, N_("Certificate is bad")}, - {GNUTLS_A_UNSUPPORTED_CERTIFICATE, N_("Certificate is not supported")}, - {GNUTLS_A_CERTIFICATE_REVOKED, N_("Certificate was revoked")}, - {GNUTLS_A_CERTIFICATE_EXPIRED, N_("Certificate is expired")}, - {GNUTLS_A_CERTIFICATE_UNKNOWN, N_("Unknown certificate")}, - {GNUTLS_A_ILLEGAL_PARAMETER, N_("Illegal parameter")}, - {GNUTLS_A_UNKNOWN_CA, N_("CA is unknown")}, - {GNUTLS_A_ACCESS_DENIED, N_("Access was denied")}, - {GNUTLS_A_DECODE_ERROR, N_("Decode error")}, - {GNUTLS_A_DECRYPT_ERROR, N_("Decrypt error")}, - {GNUTLS_A_EXPORT_RESTRICTION, N_("Export restriction")}, - {GNUTLS_A_PROTOCOL_VERSION, N_("Error in protocol version")}, - {GNUTLS_A_INSUFFICIENT_SECURITY, N_("Insufficient security")}, - {GNUTLS_A_USER_CANCELED, N_("User canceled")}, - {GNUTLS_A_INTERNAL_ERROR, N_("Internal error")}, - {GNUTLS_A_NO_RENEGOTIATION, N_("No renegotiation is allowed")}, + {GNUTLS_A_CLOSE_NOTIFY, "Close notify"}, + {GNUTLS_A_UNEXPECTED_MESSAGE, "Unexpected message"}, + {GNUTLS_A_BAD_RECORD_MAC, "Bad record MAC"}, + {GNUTLS_A_DECRYPTION_FAILED, "Decryption failed"}, + {GNUTLS_A_RECORD_OVERFLOW, "Record overflow"}, + {GNUTLS_A_DECOMPRESSION_FAILURE, "Decompression failed"}, + {GNUTLS_A_HANDSHAKE_FAILURE, "Handshake failed"}, + {GNUTLS_A_BAD_CERTIFICATE, "Certificate is bad"}, + {GNUTLS_A_UNSUPPORTED_CERTIFICATE, "Certificate is not supported"}, + {GNUTLS_A_CERTIFICATE_REVOKED, "Certificate was revoked"}, + {GNUTLS_A_CERTIFICATE_EXPIRED, "Certificate is expired"}, + {GNUTLS_A_CERTIFICATE_UNKNOWN, "Unknown certificate"}, + {GNUTLS_A_ILLEGAL_PARAMETER, "Illegal parameter"}, + {GNUTLS_A_UNKNOWN_CA, "CA is unknown"}, + {GNUTLS_A_ACCESS_DENIED, "Access was denied"}, + {GNUTLS_A_DECODE_ERROR, "Decode error"}, + {GNUTLS_A_DECRYPT_ERROR, "Decrypt error"}, + {GNUTLS_A_EXPORT_RESTRICTION, "Export restriction"}, + {GNUTLS_A_PROTOCOL_VERSION, "Error in protocol version"}, + {GNUTLS_A_INSUFFICIENT_SECURITY, "Insufficient security"}, + {GNUTLS_A_USER_CANCELED, "User canceled"}, + {GNUTLS_A_INTERNAL_ERROR, "Internal error"}, + {GNUTLS_A_NO_RENEGOTIATION, "No renegotiation is allowed"}, {GNUTLS_A_CERTIFICATE_UNOBTAINABLE, - N_("Could not retrieve the specified certificate")}, - {GNUTLS_A_UNSUPPORTED_EXTENSION, N_("An unsupported extension was sent")}, + "Could not retrieve the specified certificate"}, + {GNUTLS_A_UNSUPPORTED_EXTENSION, "An unsupported extension was sent"}, {GNUTLS_A_UNRECOGNIZED_NAME, - N_("The server name sent was not recognized")}, - {GNUTLS_A_UNKNOWN_PSK_IDENTITY, - N_("The SRP/PSK username is missing or not known")}, + "The server name sent was not recognized"}, + {GNUTLS_A_UNKNOWN_PSK_IDENTITY, "The SRP/PSK username is missing or not known"}, {GNUTLS_A_INNER_APPLICATION_FAILURE, - N_("Inner application negotiation failed")}, + "Inner application negotiation failed"}, {GNUTLS_A_INNER_APPLICATION_VERIFICATION, - N_("Inner application verification failed")}, + "Inner application verification failed"}, {0, NULL} }; +#define GNUTLS_ALERT_LOOP(b) \ + const gnutls_alert_entry *p; \ + for(p = sup_alerts; p->desc != NULL; p++) { b ; } + +#define GNUTLS_ALERT_ID_LOOP(a) \ + GNUTLS_ALERT_LOOP( if(p->alert == alert) { a; break; }) + /** - * gnutls_alert_get_name - Returns a string describing the alert number given - * @alert: is an alert number #gnutls_session_t structure. - * - * This function will return a string that describes the given alert - * number, or %NULL. See gnutls_alert_get(). - * - * Returns: string corresponding to #gnutls_alert_description_t value. - **/ + * gnutls_alert_get_name - Returns a string describing the alert number given + * @alert: is an alert number #gnutls_session_t structure. + * + * This function will return a string that describes the given alert + * number, or %NULL. See gnutls_alert_get(). + * + * Returns: string corresponding to #gnutls_alert_description_t value. + **/ const char * gnutls_alert_get_name (gnutls_alert_description_t alert) { - const gnutls_alert_entry *p; + const char *ret = NULL; - for (p = sup_alerts; p->desc != NULL; p++) - if (p->alert == alert) - return _(p->desc); + GNUTLS_ALERT_ID_LOOP (ret = p->desc); - return NULL; + return ret; } /** @@ -165,7 +164,7 @@ /* GNUTLS_A_DECRYPTION_FAILED is not sent, because * it is not defined in SSL3. Note that we must * not distinguish Decryption failures from mac - * check failures, due to the possibility of some + * check failures, due to the possibility of some * attacks. */ ret = GNUTLS_A_BAD_RECORD_MAC; @@ -255,7 +254,7 @@ } /** - * gnutls_alert_send_appropriate - send alert to peer depending on error code + * gnutls_alert_send_appropriate - send an alert to the peer depending on the error code * @session: is a #gnutls_session_t structure. * @err: is an integer * diff -Nru gnutls26-2.8.6/lib/gnutls_algorithms.c gnutls26-2.4.1/lib/gnutls_algorithms.c --- gnutls26-2.8.6/lib/gnutls_algorithms.c 2009-08-12 07:58:22.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_algorithms.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -63,6 +63,9 @@ #define GNUTLS_KX_MAP_ALG_LOOP_SERVER(a) \ GNUTLS_KX_MAP_LOOP( if(p->server_type == type) { a; break; }) +#define GNUTLS_KX_MAP_ALG_LOOP_CLIENT(a) \ + GNUTLS_KX_MAP_LOOP( if(p->client_type == type) { a; break; }) + /* KX mappings to PK algorithms */ typedef struct { @@ -153,8 +156,6 @@ * Do not add any algorithms in other modes (avoid modified algorithms). * View first: "The order of encryption and authentication for * protecting communications" by Hugo Krawczyk - CRYPTO 2001 - * - * Make sure to updated MAX_CIPHER_BLOCK_SIZE and MAX_CIPHER_KEY_SIZE as well. */ static const gnutls_cipher_entry algorithms[] = { {"AES-256-CBC", GNUTLS_CIPHER_AES_256_CBC, 16, 32, CIPHER_BLOCK, 16, 0}, @@ -170,24 +171,6 @@ {"CAMELLIA-128-CBC", GNUTLS_CIPHER_CAMELLIA_128_CBC, 16, 16, CIPHER_BLOCK, 16, 0}, #endif - -#ifdef ENABLE_OPENPGP - {"IDEA-PGP-CFB", GNUTLS_CIPHER_IDEA_PGP_CFB, 8, 16, CIPHER_BLOCK, 8, 0}, - {"3DES-PGP-CFB", GNUTLS_CIPHER_3DES_PGP_CFB, 8, 24, CIPHER_BLOCK, 8, 0}, - {"CAST5-PGP-CFB", GNUTLS_CIPHER_CAST5_PGP_CFB, 8, 16, CIPHER_BLOCK, 8, 0}, - {"BLOWFISH-PGP-CFB", GNUTLS_CIPHER_BLOWFISH_PGP_CFB, 8, - 16 /*actually unlimited */ , CIPHER_BLOCK, 8, 0}, - {"SAFER-SK128-PGP-CFB", GNUTLS_CIPHER_SAFER_SK128_PGP_CFB, 8, 16, - CIPHER_BLOCK, 8, 0}, - {"AES-128-PGP-CFB", GNUTLS_CIPHER_AES128_PGP_CFB, 16, 16, CIPHER_BLOCK, 16, - 0}, - {"AES-192-PGP-CFB", GNUTLS_CIPHER_AES192_PGP_CFB, 16, 24, CIPHER_BLOCK, 16, - 0}, - {"AES-256-PGP-CFB", GNUTLS_CIPHER_AES256_PGP_CFB, 16, 32, CIPHER_BLOCK, 16, - 0}, - {"TWOFISH-PGP-CFB", GNUTLS_CIPHER_TWOFISH_PGP_CFB, 16, 16, CIPHER_BLOCK, 16, - 0}, -#endif {"NULL", GNUTLS_CIPHER_NULL, 1, 0, CIPHER_STREAM, 0, 0}, {0, 0, 0, 0, 0, 0, 0} }; @@ -222,7 +205,7 @@ const char *name; const char *oid; gnutls_mac_algorithm_t id; - size_t key_size; /* in case of mac */ + size_t key_size; /* in case of mac */ }; typedef struct gnutls_hash_entry gnutls_hash_entry; @@ -232,7 +215,7 @@ {"SHA256", HASH_OID_SHA256, GNUTLS_MAC_SHA256, 32}, {"SHA384", HASH_OID_SHA384, GNUTLS_MAC_SHA384, 48}, {"SHA512", HASH_OID_SHA512, GNUTLS_MAC_SHA512, 64}, - {"MD2", HASH_OID_MD2, GNUTLS_MAC_MD2, 0}, /* not used as MAC */ + {"MD2", HASH_OID_MD2, GNUTLS_MAC_MD2, 0}, /* not used as MAC */ {"RIPEMD160", HASH_OID_RMD160, GNUTLS_MAC_RMD160, 20}, {"NULL", NULL, GNUTLS_MAC_NULL, 0}, {0, 0, 0, 0} @@ -258,6 +241,46 @@ #define GNUTLS_HASH_ALG_LOOP(a) \ GNUTLS_HASH_LOOP( if(p->id == algorithm) { a; break; } ) + +/* Compression Section */ +#define GNUTLS_COMPRESSION_ENTRY(name, id, wb, ml, cl) \ + { #name, name, id, wb, ml, cl} + + +#define MAX_COMP_METHODS 5 +const int _gnutls_comp_algorithms_size = MAX_COMP_METHODS; + +/* the compression entry is defined in gnutls_algorithms.h */ + +gnutls_compression_entry _gnutls_compression_algorithms[MAX_COMP_METHODS] = { + GNUTLS_COMPRESSION_ENTRY (GNUTLS_COMP_NULL, 0x00, 0, 0, 0), +#ifdef HAVE_LIBZ + /* draft-ietf-tls-compression-02 */ + GNUTLS_COMPRESSION_ENTRY (GNUTLS_COMP_DEFLATE, 0x01, 15, 8, 3), +#endif + {0, 0, 0, 0, 0, 0} +}; + +static const gnutls_compression_method_t supported_compressions[] = { +#ifdef USE_LZO + GNUTLS_COMP_LZO, +#endif +#ifdef HAVE_LIBZ + GNUTLS_COMP_DEFLATE, +#endif + GNUTLS_COMP_NULL, + 0 +}; + +#define GNUTLS_COMPRESSION_LOOP(b) \ + const gnutls_compression_entry *p; \ + for(p = _gnutls_compression_algorithms; p->name != NULL; p++) { b ; } +#define GNUTLS_COMPRESSION_ALG_LOOP(a) \ + GNUTLS_COMPRESSION_LOOP( if(p->id == algorithm) { a; break; } ) +#define GNUTLS_COMPRESSION_ALG_LOOP_NUM(a) \ + GNUTLS_COMPRESSION_LOOP( if(p->num == num) { a; break; } ) + + /* Key Exchange Section */ @@ -368,10 +391,8 @@ #define GNUTLS_ANON_DH_AES_256_CBC_SHA1 { 0x00, 0x3A } /* rfc4132 */ -#ifdef ENABLE_CAMELLIA #define GNUTLS_ANON_DH_CAMELLIA_128_CBC_SHA1 { 0x00,0x46 } #define GNUTLS_ANON_DH_CAMELLIA_256_CBC_SHA1 { 0x00,0x89 } -#endif /* PSK (not in TLS 1.0) * draft-ietf-tls-psk: @@ -415,10 +436,8 @@ #define GNUTLS_RSA_AES_256_CBC_SHA1 { 0x00, 0x35 } /* rfc4132 */ -#ifdef ENABLE_CAMELLIA #define GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 { 0x00,0x41 } #define GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 { 0x00,0x84 } -#endif /* DHE DSS */ @@ -437,10 +456,8 @@ #define GNUTLS_DHE_DSS_AES_128_CBC_SHA1 { 0x00, 0x32 } /* rfc4132 */ -#ifdef ENABLE_CAMELLIA #define GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 { 0x00,0x44 } #define GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 { 0x00,0x87 } -#endif /* DHE RSA */ @@ -452,10 +469,8 @@ #define GNUTLS_DHE_RSA_AES_256_CBC_SHA1 { 0x00, 0x39 } /* rfc4132 */ -#ifdef ENABLE_CAMELLIA #define GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 { 0x00,0x45 } #define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 { 0x00,0x88 } -#endif #define CIPHER_SUITES_COUNT sizeof(cs_algorithms)/sizeof(gnutls_cipher_suite_entry)-1 @@ -673,20 +688,20 @@ /** * gnutls_mac_get_id - Returns the gnutls id of the specified in string algorithm - * @name: is a MAC algorithm name + * @algorithm: is a MAC algorithm name * * Convert a string to a #gnutls_mac_algorithm_t value. The names are * compared in a case insensitive way. * - * Returns: a #gnutls_mac_algorithm_t id of the specified MAC - * algorithm string, or %GNUTLS_MAC_UNKNOWN on failures. + * Returns: an #gnutls_mac_algorithm_tid of the specified in a string + * MAC algorithm, or %GNUTLS_MAC_UNKNOWN on failures. **/ gnutls_mac_algorithm_t -gnutls_mac_get_id (const char *name) +gnutls_mac_get_id (const char* name) { gnutls_mac_algorithm_t ret = GNUTLS_MAC_UNKNOWN; - GNUTLS_HASH_LOOP (if (strcasecmp (p->name, name) == 0) ret = p->id); + GNUTLS_HASH_LOOP( if (strcasecmp( p->name, name)==0) ret = p->id); return ret; } @@ -767,6 +782,144 @@ return ret; } +/* Compression Functions */ +int +_gnutls_compression_priority (gnutls_session_t session, + gnutls_compression_method_t algorithm) +{ /* actually returns the priority */ + unsigned int i; + for (i = 0; + i < session->internals.priorities.compression.algorithms; i++) + { + if (session->internals.priorities. + compression.priority[i] == algorithm) + return i; + } + return -1; +} + +/** + * gnutls_compression_get_name - Returns a string with the name of the specified compression algorithm + * @algorithm: is a Compression algorithm + * + * Convert a #gnutls_compression_method_t value to a string. + * + * Returns: a pointer to a string that contains the name of the + * specified compression algorithm, or %NULL. + **/ +const char * +gnutls_compression_get_name (gnutls_compression_method_t algorithm) +{ + const char *ret = NULL; + + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->name + sizeof ("GNUTLS_COMP_") - 1); + + return ret; +} + +/** + * gnutls_compression_get_id - Returns the gnutls id of the specified in string algorithm + * @algorithm: is a compression method name + * + * The names are compared in a case insensitive way. + * + * Returns: an id of the specified in a string compression method, or + * %GNUTLS_COMP_UNKNOWN on error. + **/ +gnutls_compression_method_t +gnutls_compression_get_id (const char* name) +{ + gnutls_compression_method_t ret = GNUTLS_COMP_UNKNOWN; + + GNUTLS_COMPRESSION_LOOP( if (strcasecmp( p->name+sizeof("GNUTLS_COMP_")-1, name)==0) ret = p->id); + + return ret; +} + +/** + * gnutls_compression_list - Get a list of supported compression methods + * + * Get a list of compression methods. Note that to be able to use LZO + * compression, you must link to libgnutls-extra and call + * gnutls_global_init_extra(). + * + * Returns: a zero-terminated list of #gnutls_compression_method_t + * integers indicating the available compression methods. + **/ +const gnutls_compression_method_t * +gnutls_compression_list (void) +{ + return supported_compressions; +} + +/* return the tls number of the specified algorithm */ +int +_gnutls_compression_get_num (gnutls_compression_method_t algorithm) +{ + int ret = -1; + + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->num); + + return ret; +} + +int +_gnutls_compression_get_wbits (gnutls_compression_method_t algorithm) +{ + int ret = -1; + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->window_bits); + return ret; +} + +int +_gnutls_compression_get_mem_level (gnutls_compression_method_t algorithm) +{ + int ret = -1; + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->mem_level); + return ret; +} + +int +_gnutls_compression_get_comp_level (gnutls_compression_method_t algorithm) +{ + int ret = -1; + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->comp_level); + return ret; +} + +/* returns the gnutls internal ID of the TLS compression + * method num + */ +gnutls_compression_method_t +_gnutls_compression_get_id (int num) +{ + gnutls_compression_method_t ret = -1; + + /* avoid prefix */ + GNUTLS_COMPRESSION_ALG_LOOP_NUM (ret = p->id); + + return ret; +} + +int +_gnutls_compression_is_ok (gnutls_compression_method_t algorithm) +{ + ssize_t ret = -1; + GNUTLS_COMPRESSION_ALG_LOOP (ret = p->id); + if (ret >= 0) + ret = 0; + else + ret = 1; + return ret; +} + + + /* CIPHER functions */ int _gnutls_cipher_get_block_size (gnutls_cipher_algorithm_t algorithm) @@ -783,9 +936,11 @@ gnutls_cipher_algorithm_t algorithm) { unsigned int i; - for (i = 0; i < session->internals.priorities.cipher.algorithms; i++) + for (i = 0; + i < session->internals.priorities.cipher.algorithms; i++) { - if (session->internals.priorities.cipher.priority[i] == algorithm) + if (session->internals.priorities. + cipher.priority[i] == algorithm) return i; } return -1; @@ -860,7 +1015,7 @@ /** * gnutls_cipher_get_id - Returns the gnutls id of the specified in string algorithm - * @name: is a MAC algorithm name + * @algorithm: is a MAC algorithm name * * The names are compared in a case insensitive way. * @@ -868,11 +1023,11 @@ * the specified cipher, or %GNUTLS_CIPHER_UNKNOWN on error. **/ gnutls_cipher_algorithm_t -gnutls_cipher_get_id (const char *name) +gnutls_cipher_get_id (const char* name) { gnutls_cipher_algorithm_t ret = GNUTLS_CIPHER_UNKNOWN; - GNUTLS_LOOP (if (strcasecmp (p->name, name) == 0) ret = p->id); + GNUTLS_LOOP( if (strcasecmp( p->name, name)==0) ret = p->id); return ret; } @@ -953,7 +1108,7 @@ /** * gnutls_kx_get_id - Returns the gnutls id of the specified in string algorithm - * @name: is a KX name + * @algorithm: is a KX name * * Convert a string to a #gnutls_kx_algorithm_t value. The names are * compared in a case insensitive way. @@ -962,11 +1117,11 @@ * on error. **/ gnutls_kx_algorithm_t -gnutls_kx_get_id (const char *name) +gnutls_kx_get_id (const char* name) { gnutls_cipher_algorithm_t ret = GNUTLS_KX_UNKNOWN; - GNUTLS_KX_LOOP (if (strcasecmp (p->name, name) == 0) ret = p->algorithm); + GNUTLS_KX_LOOP( if (strcasecmp( p->name, name)==0) ret = p->algorithm); return ret; } @@ -1099,20 +1254,20 @@ } /** - * gnutls_protocol_get_id - Returns the gnutls id of the specified in string protocol - * @name: is a protocol name - * - * The names are compared in a case insensitive way. - * - * Returns: an id of the specified protocol, or - * %GNUTLS_VERSION_UNKNOWN on error. - **/ + * gnutls_protocol_get_id - Returns the gnutls id of the specified in string protocol + * @algorithm: is a protocol name + * + * The names are compared in a case insensitive way. + * + * Returns: an id of the specified protocol, or + * %GNUTLS_VERSION_UNKNOWN on error. + **/ gnutls_protocol_t -gnutls_protocol_get_id (const char *name) +gnutls_protocol_get_id (const char* name) { gnutls_protocol_t ret = GNUTLS_VERSION_UNKNOWN; - GNUTLS_VERSION_LOOP (if (strcasecmp (p->name, name) == 0) ret = p->id); + GNUTLS_VERSION_LOOP( if (strcasecmp( p->name, name)==0) ret = p->id); return ret; } @@ -1262,17 +1417,17 @@ } /** - * gnutls_cipher_suite_get_name - get name of the specified cipher suite - * @kx_algorithm: is a Key exchange algorithm - * @cipher_algorithm: is a cipher algorithm - * @mac_algorithm: is a MAC algorithm - * - * Note that the full cipher suite name must be prepended by TLS or - * SSL depending of the protocol in use. - * - * Returns: a string that contains the name of a TLS cipher suite, - * specified by the given algorithms, or %NULL. - **/ + * gnutls_cipher_suite_get_name - Returns a string with the name of the specified cipher suite + * @kx_algorithm: is a Key exchange algorithm + * @cipher_algorithm: is a cipher algorithm + * @mac_algorithm: is a MAC algorithm + * + * Note that the full cipher suite name must be prepended by TLS or + * SSL depending of the protocol in use. + * + * Returns: a string that contains the name of a TLS cipher suite, + * specified by the given algorithms, or %NULL. + **/ const char * gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, gnutls_cipher_algorithm_t cipher_algorithm, @@ -1627,6 +1782,52 @@ return ret_count; } + +/* For compression */ + +#define MIN_PRIVATE_COMP_ALGO 0xEF + +/* returns the TLS numbers of the compression methods we support + */ +#define SUPPORTED_COMPRESSION_METHODS session->internals.priorities.compression.algorithms +int +_gnutls_supported_compression_methods (gnutls_session_t session, + uint8_t ** comp) +{ + unsigned int i, j; + + *comp = gnutls_malloc (sizeof (uint8_t) * SUPPORTED_COMPRESSION_METHODS); + if (*comp == NULL) + return GNUTLS_E_MEMORY_ERROR; + + for (i = j = 0; i < SUPPORTED_COMPRESSION_METHODS; i++) + { + int tmp = _gnutls_compression_get_num (session->internals.priorities. + compression.priority[i]); + + /* remove private compression algorithms, if requested. + */ + if (tmp == -1 || (tmp >= MIN_PRIVATE_COMP_ALGO && + session->internals.enable_private == 0)) + { + gnutls_assert (); + continue; + } + + (*comp)[j] = (uint8_t) tmp; + j++; + } + + if (j == 0) + { + gnutls_assert (); + gnutls_free (*comp); + *comp = NULL; + return GNUTLS_E_NO_COMPRESSION_ALGORITHMS; + } + return j; +} + /** * gnutls_certificate_type_get_name - Returns a string with the name of the specified certificate type * @type: is a certificate type @@ -1650,24 +1851,24 @@ } /** - * gnutls_certificate_type_get_id - Returns the gnutls id of the specified in string type - * @name: is a certificate type name - * - * The names are compared in a case insensitive way. - * - * Returns: a #gnutls_certificate_type_t for the specified in a - * string certificate type, or %GNUTLS_CRT_UNKNOWN on error. - **/ + * gnutls_certificate_type_get_id - Returns the gnutls id of the specified in string type + * @name: is a certificate type name + * + * The names are compared in a case insensitive way. + * + * Returns: an id of the specified in a string certificate type, or + * %GNUTLS_CRT_UNKNOWN on error. + **/ gnutls_certificate_type_t -gnutls_certificate_type_get_id (const char *name) +gnutls_certificate_type_get_id (const char* name) { gnutls_certificate_type_t ret = GNUTLS_CRT_UNKNOWN; - if (strcasecmp (name, "X.509") == 0 || strcasecmp (name, "X509") == 0) + if (strcasecmp( name, "X.509")==0 || strcasecmp( name, "X509")==0) return GNUTLS_CRT_X509; - if (strcasecmp (name, "OPENPGP") == 0) + if (strcasecmp( name, "OPENPGP")==0) return GNUTLS_CRT_OPENPGP; - + return ret; } @@ -1751,19 +1952,6 @@ {0, 0, 0, 0, 0} }; -/* Keep the contents of this struct the same as the previous one. */ -static const gnutls_sign_algorithm_t supported_sign[] = { - GNUTLS_SIGN_RSA_SHA1, - GNUTLS_SIGN_RSA_SHA256, - GNUTLS_SIGN_RSA_SHA384, - GNUTLS_SIGN_RSA_SHA512, - GNUTLS_SIGN_RSA_RMD160, - GNUTLS_SIGN_DSA_SHA1, - GNUTLS_SIGN_RSA_MD5, - GNUTLS_SIGN_RSA_MD2, - 0 -}; - #define GNUTLS_SIGN_LOOP(b) \ do { \ const gnutls_sign_entry *p; \ @@ -1775,7 +1963,7 @@ /** * gnutls_sign_algorithm_get_name - Returns a string with the name of the specified sign algorithm - * @sign: is a sign algorithm + * @algorithm: is a sign algorithm * * Convert a #gnutls_sign_algorithm_t value to a string. * @@ -1793,62 +1981,6 @@ return ret; } -/** - * gnutls_sign_list - Get a list of supported public key signature algorithms - * - * Get a list of supported public key signature algorithms. - * - * Returns: a zero-terminated list of #gnutls_sign_algorithm_t - * integers indicating the available ciphers. - * - **/ -const gnutls_sign_algorithm_t * -gnutls_sign_list (void) -{ - return supported_sign; -} - -/** - * gnutls_sign_get_id - Returns the gnutls id of the specified in signature algorithm - * @name: is a MAC algorithm name - * - * The names are compared in a case insensitive way. - * - * Returns: return a #gnutls_sign_algorithm_t value corresponding to - * the specified cipher, or %GNUTLS_SIGN_UNKNOWN on error. - **/ -gnutls_sign_algorithm_t -gnutls_sign_get_id (const char *name) -{ - gnutls_sign_algorithm_t ret = GNUTLS_SIGN_UNKNOWN; - - GNUTLS_SIGN_LOOP (if (strcasecmp (p->name, name) == 0) ret = p->id); - - return ret; - -} - -/** - * gnutls_sign_get_name - Get name string for a #gnutls_sign_algorithm_t - * @algorithm: is a public key signature algorithm - * - * Convert a #gnutls_sign_algorithm_t value to a string. - * - * Returns: a pointer to a string that contains the name of the - * specified public key signature algorithm, or %NULL. - * - * Since: 2.6.0 - **/ -const char * -gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm) -{ - const char *ret = "SIGN_UNKNOWN"; - - GNUTLS_SIGN_LOOP (if (p->id == algorithm) ret = p->name); - - return ret; -} - gnutls_sign_algorithm_t _gnutls_x509_oid2sign_algorithm (const char *oid) { @@ -1917,14 +2049,14 @@ }; /** - * gnutls_pk_algorithm_get_name - Get string with name of public key algorithm - * @algorithm: is a pk algorithm - * - * Convert a #gnutls_pk_algorithm_t value to a string. - * - * Returns: a string that contains the name of the specified public - * key algorithm, or %NULL. - **/ + * gnutls_pk_algorithm_get_name - Returns a string with the name of the specified public key algorithm + * @algorithm: is a pk algorithm + * + * Convert a #gnutls_pk_algorithm_t value to a string. + * + * Returns: a string that contains the name of the specified public + * key algorithm, or %NULL. + **/ const char * gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm) { @@ -1941,87 +2073,6 @@ return ret; } -/** - * gnutls_pk_list - Get a list of supported public key algorithms - * - * Get a list of supported public key algorithms. - * - * Returns: a zero-terminated list of #gnutls_pk_algorithm_t integers - * indicating the available ciphers. - * - * Since: 2.6.0 - **/ -const gnutls_pk_algorithm_t * -gnutls_pk_list (void) -{ - static const gnutls_pk_algorithm_t supported_pks[] = { - GNUTLS_PK_RSA, - GNUTLS_PK_DSA, - 0 - }; - - return supported_pks; -} - -/** - * gnutls_pk_get_id - Get #gnutls_pk_algorithm_t from a string - * @name: is a string containing a public key algorithm name. - * - * Convert a string to a #gnutls_pk_algorithm_t value. The names are - * compared in a case insensitive way. For example, - * gnutls_pk_get_id("RSA") will return %GNUTLS_PK_RSA. - * - * Returns: a #gnutls_pk_algorithm_t id of the specified public key - * algorithm string, or %GNUTLS_PK_UNKNOWN on failures. - * - * Since: 2.6.0 - **/ -gnutls_pk_algorithm_t -gnutls_pk_get_id (const char *name) -{ - if (strcasecmp (name, "RSA") == 0) - return GNUTLS_PK_RSA; - else if (strcasecmp (name, "DSA") == 0) - return GNUTLS_PK_DSA; - - return GNUTLS_PK_UNKNOWN; -} - -/** - * gnutls_pk_get_name - Get name string with #gnutls_pk_algorithm_t algorithm - * @algorithm: is a public key algorithm - * - * Convert a #gnutls_pk_algorithm_t value to a string. - * - * Returns: a pointer to a string that contains the name of the - * specified public key algorithm, or %NULL. - * - * Since: 2.6.0 - **/ -const char * -gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm) -{ - const char *p; - - switch (algorithm) - { - case GNUTLS_PK_RSA: - p = "RSA"; - break; - - case GNUTLS_PK_DSA: - p = "DSA"; - break; - - default: - case GNUTLS_PK_UNKNOWN: - p = "PK_UNKNOWN"; - break; - } - - return p; -} - gnutls_pk_algorithm_t _gnutls_x509_oid2pk_algorithm (const char *oid) { @@ -2053,3 +2104,4 @@ return ret; } + diff -Nru gnutls26-2.8.6/lib/gnutls_algorithms.h gnutls26-2.4.1/lib/gnutls_algorithms.h --- gnutls26-2.8.6/lib/gnutls_algorithms.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_algorithms.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -48,6 +48,8 @@ cipher_suite_st ** ciphers); int _gnutls_supported_ciphersuites_sorted (gnutls_session_t session, cipher_suite_st ** ciphers); +int _gnutls_supported_compression_methods (gnutls_session_t session, + uint8_t ** comp); const char *_gnutls_cipher_suite_get_name (cipher_suite_st * algorithm); gnutls_cipher_algorithm_t _gnutls_cipher_suite_get_cipher_algo (const cipher_suite_st @@ -75,6 +77,15 @@ mod_auth_st *_gnutls_kx_auth_struct (gnutls_kx_algorithm_t algorithm); int _gnutls_kx_is_ok (gnutls_kx_algorithm_t algorithm); +/* Functions for compression. */ +int _gnutls_compression_is_ok (gnutls_compression_method_t algorithm); +int _gnutls_compression_get_num (gnutls_compression_method_t algorithm); +gnutls_compression_method_t _gnutls_compression_get_id (int num); +int _gnutls_compression_get_mem_level (gnutls_compression_method_t algorithm); +int _gnutls_compression_get_comp_level (gnutls_compression_method_t + algorithm); +int _gnutls_compression_get_wbits (gnutls_compression_method_t algorithm); + /* Type to KX mappings. */ gnutls_kx_algorithm_t _gnutls_map_kx_get_kx (gnutls_credentials_type_t type, int server); @@ -92,6 +103,19 @@ enum encipher_type _gnutls_kx_encipher_type (gnutls_kx_algorithm_t algorithm); +struct gnutls_compression_entry +{ + const char *name; + gnutls_compression_method_t id; + int num; /* the number reserved in TLS for the specific compression method */ + + /* used in zlib compressor */ + int window_bits; + int mem_level; + int comp_level; +}; +typedef struct gnutls_compression_entry gnutls_compression_entry; + /* Functions for sign algorithms. */ gnutls_sign_algorithm_t _gnutls_x509_oid2sign_algorithm (const char *oid); gnutls_sign_algorithm_t _gnutls_x509_pk_to_sign (gnutls_pk_algorithm_t pk, @@ -105,5 +129,13 @@ gnutls_cipher_algorithm_t algorithm); int _gnutls_kx_priority (gnutls_session_t session, gnutls_kx_algorithm_t algorithm); +int _gnutls_compression_priority (gnutls_session_t session, + gnutls_compression_method_t algorithm); + +gnutls_mac_algorithm_t gnutls_mac_get_id (const char* name); +gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char* name); +gnutls_kx_algorithm_t gnutls_kx_get_id (const char* name); +gnutls_protocol_t gnutls_protocol_get_id (const char* name); +gnutls_certificate_type_t gnutls_certificate_type_get_id (const char* name); #endif diff -Nru gnutls26-2.8.6/lib/gnutls_anon_cred.c gnutls26-2.4.1/lib/gnutls_anon_cred.c --- gnutls26-2.8.6/lib/gnutls_anon_cred.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_anon_cred.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -28,14 +28,16 @@ #include "gnutls_errors.h" #include "auth_anon.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_dh.h" #include "gnutls_num.h" #include "gnutls_mpi.h" +static const int anon_dummy; + /** * gnutls_anon_free_server_credentials - Used to free an allocated gnutls_anon_server_credentials_t structure - * @sc: is a #gnutls_anon_server_credentials_t structure. + * @sc: is an #gnutls_anon_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -49,7 +51,7 @@ /** * gnutls_anon_allocate_server_credentials - Used to allocate an gnutls_anon_server_credentials_t structure - * @sc: is a pointer to a #gnutls_anon_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_anon_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -57,8 +59,7 @@ * Returns: %GNUTLS_E_SUCCESS on success, or an error code. **/ int -gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * - sc) +gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t *sc) { *sc = gnutls_calloc (1, sizeof (anon_server_credentials_st)); @@ -69,7 +70,7 @@ /** * gnutls_anon_free_client_credentials - Used to free an allocated gnutls_anon_client_credentials_t structure - * @sc: is a #gnutls_anon_client_credentials_t structure. + * @sc: is an #gnutls_anon_client_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -79,12 +80,9 @@ { } -static struct gnutls_anon_client_credentials_st anon_dummy_struct; -static const gnutls_anon_client_credentials_t anon_dummy = &anon_dummy_struct; - /** * gnutls_anon_allocate_client_credentials - Used to allocate a credentials structure - * @sc: is a pointer to a #gnutls_anon_client_credentials_t structure. + * @sc: is a pointer to an #gnutls_anon_client_credentials_t structure. * * This structure is complex enough to manipulate directly thus * this helper function is provided in order to allocate it. @@ -92,13 +90,12 @@ * Returns: %GNUTLS_E_SUCCESS on success, or an error code. **/ int -gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t * - sc) +gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t *sc) { /* anon_dummy is only there for *sc not to be null. * it is not used at all; */ - *sc = anon_dummy; + *sc = (void *) &anon_dummy; return 0; } @@ -106,11 +103,11 @@ /** * gnutls_anon_set_server_dh_params - set the DH parameters for a server to use * @res: is a gnutls_anon_server_credentials_t structure - * @dh_params: is a structure that holds Diffie-Hellman parameters. + * @dh_params: is a structure that holds diffie hellman parameters. * - * This function will set the Diffie-Hellman parameters for an + * This function will set the diffie hellman parameters for an * anonymous server to use. These parameters will be used in - * Anonymous Diffie-Hellman cipher suites. + * Anonymous Diffie Hellman cipher suites. **/ void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, @@ -125,7 +122,7 @@ * @func: is the function to be called * * This function will set a callback in order for the server to get - * the Diffie-Hellman parameters for anonymous authentication. The + * the diffie hellman parameters for anonymous authentication. The * callback should return zero on success. **/ void diff -Nru gnutls26-2.8.6/lib/gnutls-api.texi gnutls26-2.4.1/lib/gnutls-api.texi --- gnutls26-2.8.6/lib/gnutls-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -136,8 +136,8 @@ @var{sizeofdata}: is the length of the data -This function has the similar semantics with @code{send()}. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with @code{send()}. The only +difference is that is accepts a GNUTLS session, and uses different error codes. Note that if the send buffer is full, @code{send()} will block this @@ -168,15 +168,15 @@ @var{sizeofdata}: the number of requested bytes -This function has the similar semantics with @code{recv()}. The only -difference is that it accepts a GnuTLS session, and uses different +This function has the similar semantics with @code{recv()}. The only +difference is that is accepts a GNUTLS session, and uses different error codes. In the special case that a server requests a renegotiation, the client may receive an error code of @code{GNUTLS_E_REHANDSHAKE}. This -message may be simply ignored, replied with an alert -@code{GNUTLS_A_NO_RENEGOTIATION}, or replied with a new handshake, -depending on the client's will. +message may be simply ignored, replied with an alert containing +NO_RENEGOTIATION, or replied with a new handshake, depending on +the client's will. If @code{EINTR} is returned by the internal push function (the default is @code{recv()}) then @code{GNUTLS_E_INTERRUPTED} will be returned. If @@ -198,10 +198,9 @@ @deftypefun {size_t} {gnutls_record_get_max_size} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} structure. -Get the record size. The maximum record size is negotiated by the -client after the first handshake message. - -@strong{Returns:} The maximum record packet size in this connection. +This function returns the maximum record packet size in this +connection. The maximum record size is negotiated by the client +after the first handshake message. @end deftypefun @subheading gnutls_record_set_max_size @@ -216,49 +215,12 @@ may choose not to accept the requested size. Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and -4096(=2^12). The requested record size does get in effect -immediately only while sending data. The receive part will take -effect after a successful handshake. +4096(=2^12). Returns 0 on success. The requested record size does +get in effect immediately only while sending data. The receive +part will take effect after a successful handshake. This function uses a TLS extension called 'max record size'. Not all TLS implementations use or even understand this extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. -@end deftypefun - -@subheading gnutls_compression_get_name -@anchor{gnutls_compression_get_name} -@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) -@var{algorithm}: is a Compression algorithm - -Convert a @code{gnutls_compression_method_t} value to a string. - -@strong{Returns:} a pointer to a string that contains the name of the -specified compression algorithm, or @code{NULL}. -@end deftypefun - -@subheading gnutls_compression_get_id -@anchor{gnutls_compression_get_id} -@deftypefun {gnutls_compression_method_t} {gnutls_compression_get_id} (const char * @var{name}) -@var{name}: is a compression method name - -The names are compared in a case insensitive way. - -@strong{Returns:} an id of the specified in a string compression method, or -@code{GNUTLS_COMP_UNKNOWN} on error. -@end deftypefun - -@subheading gnutls_compression_list -@anchor{gnutls_compression_list} -@deftypefun {const gnutls_compression_method_t *} {gnutls_compression_list} ( @var{void}) - -Get a list of compression methods. Note that to be able to use LZO -compression, you must link to libgnutls-extra and call -@code{gnutls_global_init_extra()}. - -@strong{Returns:} a zero-terminated list of @code{gnutls_compression_method_t} -integers indicating the available compression methods. @end deftypefun @subheading gnutls_transport_set_errno @@ -311,14 +273,12 @@ @deftypefun {size_t} {gnutls_record_check_pending} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} structure. -This function checks if there are any data to receive in the gnutls -buffers. - -Notice that you may also use @code{select()} to check for data in a TCP -connection, instead of this function. GnuTLS leaves some data in -the tcp buffer in order for select to work. - -@strong{Returns:} the size of that data or 0. +This function checks if there are any data to receive +in the gnutls buffers. Returns the size of that data or 0. +Notice that you may also use @code{select()} to check for data in +a TCP connection, instead of this function. +(gnutls leaves some data in the tcp buffer in order for select +to work). @end deftypefun @subheading gnutls_rehandshake @@ -425,57 +385,37 @@ @subheading gnutls_error_is_fatal @anchor{gnutls_error_is_fatal} @deftypefun {int} {gnutls_error_is_fatal} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value - -If a GnuTLS function returns a negative value you may feed that -value to this function to see if the error condition is fatal. +@var{error}: is an error returned by a gnutls function. Error should be a negative value. -Note that you may want to check the error code manually, since some -non-fatal errors to the protocol may be fatal for you program. +If a function returns a negative value you may feed that value +to this function to see if it is fatal. Returns 1 for a fatal +error 0 otherwise. However you may want to check the +error code manually, since some non-fatal errors to the protocol +may be fatal for you (your program). -This function is only useful if you are dealing with errors from -the record layer or the handshake layer. +This is only useful if you are dealing with errors from the +record layer or the handshake layer. -@strong{Returns:} 1 if the error code is fatal, for positive @code{error} values, -0 is returned. For unknown @code{error} values, -1 is returned. +For positive @code{error} values, 0 is returned. @end deftypefun @subheading gnutls_perror @anchor{gnutls_perror} @deftypefun {void} {gnutls_perror} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value +@var{error}: is an error returned by a gnutls function. Error is always a negative value. -This function is like @code{perror()}. The only difference is that it -accepts an error number returned by a gnutls function. +This function is like @code{perror()}. The only difference is that it accepts an +error number returned by a gnutls function. @end deftypefun @subheading gnutls_strerror @anchor{gnutls_strerror} @deftypefun {const char *} {gnutls_strerror} (int @var{error}) -@var{error}: is a GnuTLS error code, a negative value - -This function is similar to @code{strerror()}. Differences: it accepts an -error number returned by a gnutls function; In case of an unknown -error a descriptive string is sent instead of NULL. - -Error codes are always a negative value. +@var{error}: is an error returned by a gnutls function. Error is always a negative value. -@strong{Returns:} A string explaining the GnuTLS error message. -@end deftypefun - -@subheading gnutls_strerror_name -@anchor{gnutls_strerror_name} -@deftypefun {const char *} {gnutls_strerror_name} (int @var{error}) -@var{error}: is an error returned by a gnutls function. - -Return the GnuTLS error code define as a string. For example, -gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return -the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - -@strong{Returns:} A string corresponding to the symbol name of the error -code. - -@strong{Since:} 2.6.0 +This function is similar to @code{strerror()}. Differences: it accepts an error +number returned by a gnutls function; In case of an unknown error +a descriptive string is sent instead of NULL. @end deftypefun @subheading gnutls_mac_get_name @@ -491,14 +431,12 @@ @subheading gnutls_mac_get_id @anchor{gnutls_mac_get_id} -@deftypefun {gnutls_mac_algorithm_t} {gnutls_mac_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - +@deftypefun {gnutls_mac_algorithm_t} {gnutls_mac_get_id} (const char* @var{name}) Convert a string to a @code{gnutls_mac_algorithm_t} value. The names are compared in a case insensitive way. -@strong{Returns:} a @code{gnutls_mac_algorithm_t} id of the specified MAC -algorithm string, or @code{GNUTLS_MAC_UNKNOWN} on failures. +@strong{Returns:} an @code{gnutls_mac_algorithm_tid} of the specified in a string +MAC algorithm, or @code{GNUTLS_MAC_UNKNOWN} on failures. @end deftypefun @subheading gnutls_mac_get_key_size @@ -525,6 +463,38 @@ integers indicating the available MACs. @end deftypefun +@subheading gnutls_compression_get_name +@anchor{gnutls_compression_get_name} +@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) +@var{algorithm}: is a Compression algorithm + +Convert a @code{gnutls_compression_method_t} value to a string. + +@strong{Returns:} a pointer to a string that contains the name of the +specified compression algorithm, or @code{NULL}. +@end deftypefun + +@subheading gnutls_compression_get_id +@anchor{gnutls_compression_get_id} +@deftypefun {gnutls_compression_method_t} {gnutls_compression_get_id} (const char* @var{name}) +The names are compared in a case insensitive way. + +@strong{Returns:} an id of the specified in a string compression method, or +@code{GNUTLS_COMP_UNKNOWN} on error. +@end deftypefun + +@subheading gnutls_compression_list +@anchor{gnutls_compression_list} +@deftypefun {const gnutls_compression_method_t *} {gnutls_compression_list} ( @var{void}) + +Get a list of compression methods. Note that to be able to use LZO +compression, you must link to libgnutls-extra and call +@code{gnutls_global_init_extra()}. + +@strong{Returns:} a zero-terminated list of @code{gnutls_compression_method_t} +integers indicating the available compression methods. +@end deftypefun + @subheading gnutls_cipher_get_key_size @anchor{gnutls_cipher_get_key_size} @deftypefun {size_t} {gnutls_cipher_get_key_size} (gnutls_cipher_algorithm_t @var{algorithm}) @@ -549,9 +519,7 @@ @subheading gnutls_cipher_get_id @anchor{gnutls_cipher_get_id} -@deftypefun {gnutls_cipher_algorithm_t} {gnutls_cipher_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - +@deftypefun {gnutls_cipher_algorithm_t} {gnutls_cipher_get_id} (const char* @var{name}) The names are compared in a case insensitive way. @strong{Returns:} return a @code{gnutls_cipher_algorithm_t} value corresponding to @@ -584,9 +552,7 @@ @subheading gnutls_kx_get_id @anchor{gnutls_kx_get_id} -@deftypefun {gnutls_kx_algorithm_t} {gnutls_kx_get_id} (const char * @var{name}) -@var{name}: is a KX name - +@deftypefun {gnutls_kx_algorithm_t} {gnutls_kx_get_id} (const char* @var{name}) Convert a string to a @code{gnutls_kx_algorithm_t} value. The names are compared in a case insensitive way. @@ -617,9 +583,7 @@ @subheading gnutls_protocol_get_id @anchor{gnutls_protocol_get_id} -@deftypefun {gnutls_protocol_t} {gnutls_protocol_get_id} (const char * @var{name}) -@var{name}: is a protocol name - +@deftypefun {gnutls_protocol_t} {gnutls_protocol_get_id} (const char* @var{name}) The names are compared in a case insensitive way. @strong{Returns:} an id of the specified protocol, or @@ -690,13 +654,13 @@ @subheading gnutls_certificate_type_get_id @anchor{gnutls_certificate_type_get_id} -@deftypefun {gnutls_certificate_type_t} {gnutls_certificate_type_get_id} (const char * @var{name}) +@deftypefun {gnutls_certificate_type_t} {gnutls_certificate_type_get_id} (const char* @var{name}) @var{name}: is a certificate type name The names are compared in a case insensitive way. -@strong{Returns:} a @code{gnutls_certificate_type_t} for the specified in a -string certificate type, or @code{GNUTLS_CRT_UNKNOWN} on error. +@strong{Returns:} an id of the specified in a string certificate type, or +@code{GNUTLS_CRT_UNKNOWN} on error. @end deftypefun @subheading gnutls_certificate_type_list @@ -714,48 +678,12 @@ @subheading gnutls_sign_algorithm_get_name @anchor{gnutls_sign_algorithm_get_name} @deftypefun {const char *} {gnutls_sign_algorithm_get_name} (gnutls_sign_algorithm_t @var{sign}) -@var{sign}: is a sign algorithm - Convert a @code{gnutls_sign_algorithm_t} value to a string. @strong{Returns:} a string that contains the name of the specified sign algorithm, or @code{NULL}. @end deftypefun -@subheading gnutls_sign_list -@anchor{gnutls_sign_list} -@deftypefun {const gnutls_sign_algorithm_t *} {gnutls_sign_list} ( @var{void}) - -Get a list of supported public key signature algorithms. - -@strong{Returns:} a zero-terminated list of @code{gnutls_sign_algorithm_t} -integers indicating the available ciphers. -@end deftypefun - -@subheading gnutls_sign_get_id -@anchor{gnutls_sign_get_id} -@deftypefun {gnutls_sign_algorithm_t} {gnutls_sign_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name - -The names are compared in a case insensitive way. - -@strong{Returns:} return a @code{gnutls_sign_algorithm_t} value corresponding to -the specified cipher, or @code{GNUTLS_SIGN_UNKNOWN} on error. -@end deftypefun - -@subheading gnutls_sign_get_name -@anchor{gnutls_sign_get_name} -@deftypefun {const char *} {gnutls_sign_get_name} (gnutls_sign_algorithm_t @var{algorithm}) -@var{algorithm}: is a public key signature algorithm - -Convert a @code{gnutls_sign_algorithm_t} value to a string. - -@strong{Returns:} a pointer to a string that contains the name of the -specified public key signature algorithm, or @code{NULL}. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_pk_algorithm_get_name @anchor{gnutls_pk_algorithm_get_name} @deftypefun {const char *} {gnutls_pk_algorithm_get_name} (gnutls_pk_algorithm_t @var{algorithm}) @@ -767,46 +695,6 @@ key algorithm, or @code{NULL}. @end deftypefun -@subheading gnutls_pk_list -@anchor{gnutls_pk_list} -@deftypefun {const gnutls_pk_algorithm_t *} {gnutls_pk_list} ( @var{void}) - -Get a list of supported public key algorithms. - -@strong{Returns:} a zero-terminated list of @code{gnutls_pk_algorithm_t} integers -indicating the available ciphers. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_pk_get_id -@anchor{gnutls_pk_get_id} -@deftypefun {gnutls_pk_algorithm_t} {gnutls_pk_get_id} (const char * @var{name}) -@var{name}: is a string containing a public key algorithm name. - -Convert a string to a @code{gnutls_pk_algorithm_t} value. The names are -compared in a case insensitive way. For example, -gnutls_pk_get_id("RSA") will return @code{GNUTLS_PK_RSA}. - -@strong{Returns:} a @code{gnutls_pk_algorithm_t} id of the specified public key -algorithm string, or @code{GNUTLS_PK_UNKNOWN} on failures. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_pk_get_name -@anchor{gnutls_pk_get_name} -@deftypefun {const char *} {gnutls_pk_get_name} (gnutls_pk_algorithm_t @var{algorithm}) -@var{algorithm}: is a public key algorithm - -Convert a @code{gnutls_pk_algorithm_t} value to a string. - -@strong{Returns:} a pointer to a string that contains the name of the -specified public key algorithm, or @code{NULL}. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_cipher_set_priority @anchor{gnutls_cipher_set_priority} @deftypefun {int} {gnutls_cipher_set_priority} (gnutls_session_t @var{session}, const int * @var{list}) @@ -918,7 +806,7 @@ @var{priority}: is a @code{gnutls_priority_t} structure. Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. +macs and compression methods. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @@ -939,71 +827,56 @@ The @code{priorities} option allows you to specify a semi-colon separated list of the cipher priorities to enable. -Unless the first keyword is "NONE" the defaults (in preference -order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for -compression NULL; for certificate types X.509, OpenPGP. - -For key exchange algorithms when in NORMAL or SECURE levels the -perfect forward secrecy algorithms take precendence of the other -protocols. In all cases all the supported key exchange algorithms -are enabled (except for the RSA-EXPORT which is only enabled in -EXPORT level). +Unless the first keyword is "NONE" the defaults are: -Note that although one can select very long key sizes (such as 256 bits) -for symmetric algorithms, to actually increase security the public key -algorithms have to use longer key sizes as well. +@strong{Protocols:} TLS1.1, TLS1.0, and SSL3.0. -For all the current available algorithms and protocols use -"gnutls-cli -l" to get a listing. +@strong{Compression:} NULL. -@strong{Common keywords:} Some keywords are defined to provide quick access -to common preferences. +@strong{Certificate types:} X.509, OpenPGP. -"PERFORMANCE" means all the "secure" ciphersuites are enabled, -limited to 128 bit ciphers and sorted by terms of speed -performance. +@strong{You can also use predefined sets of ciphersuites:} "PERFORMANCE" +all the "secure" ciphersuites are enabled, limited to 128 bit +ciphers and sorted by terms of speed performance. -"NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are -included as a fallback only. The ciphers are sorted by security -margin. +"NORMAL" option enables all "secure" ciphersuites. The 256-bit ciphers +are included as a fallback only. The ciphers are sorted by security margin. -"SECURE128" means all "secure" ciphersuites with ciphers up to 128 -bits, sorted by security margin. +"SECURE128" flag enables all "secure" ciphersuites with ciphers up to +128 bits, sorted by security margin. -"SECURE256" means all "secure" ciphersuites including the 256 bit +"SECURE256" flag enables all "secure" ciphersuites including the 256 bit ciphers, sorted by security margin. -"EXPORT" means all ciphersuites are enabled, including the +"EXPORT" all the ciphersuites are enabled, including the low-security 40 bit ciphers. -"NONE" means nothing is enabled. This disables even protocols and +"NONE" nothing is enabled. This disables even protocols and compression methods. -@strong{Special keywords:} "!" or "-" appended with an algorithm will remove this algorithm. - -"+" appended with an algorithm will add this algorithm. - -"%COMPAT" will enable compatibility features for a server. - -"%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello. - -"%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in -certificate chains. +@strong{Special keywords:} '!' or '-' appended with an algorithm will remove this algorithm. +'+' appended with an algorithm will add this algorithm. +'@code{COMPAT}' will enable compatibility features for a server. -"%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. - -@strong{Namespace concern:} To avoid collisions in order to specify a compression algorithm in +To avoid collisions in order to specify a compression algorithm in this string you have to prefix it with "COMP-", protocol versions with "VERS-" and certificate types with "CTYPE-". All other algorithms don't need a prefix. -@strong{Examples:} "NORMAL:!AES-128-CBC" means normal ciphers except for AES-128. +For key exchange algorithms when in NORMAL or SECURE levels the +perfect forward secrecy algorithms take precendence of the other +protocols. In all cases all the supported key exchange algorithms +are enabled (except for the RSA-EXPORT which is only enabled in +EXPORT level). -"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are -enabled, TLS 1.0 is disabled, and libz compression enabled. +Note that although one can select very long key sizes (such as 256 bits) +for symmetric algorithms, to actually increase security the public key +algorithms have to use longer key sizes as well. +@strong{Examples:} "NORMAL:!AES-128-CBC", +"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", -"%COMPAT". +"NORMAL:@code{COMPAT}". @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. @@ -1027,7 +900,7 @@ @var{err_pos}: In case of an error this will have the position in the string the error occured Sets the priorities to use on the ciphers, key exchange methods, -macs and compression methods. This function avoids keeping a +macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the @code{gnutls_priority_init()}. @@ -1102,14 +975,11 @@ @deftypefun {int} {gnutls_session_get_data2} (gnutls_session_t @var{session}, gnutls_datum_t * @var{data}) @var{session}: is a @code{gnutls_session_t} structure. -@var{data}: is a pointer to a datum that will hold the session. - -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -@code{gnutls_session_set_data()}. This function must be called after a -successful handshake. The returned datum must be freed with -@code{gnutls_free()}. +Returns all session parameters, in order to support resuming. +The client should call this, and keep the returned session, if he wants to +resume that current version later by calling @code{gnutls_session_set_data()} +This function must be called after a successful handshake. The returned +datum must be freed with @code{gnutls_free()}. Resuming sessions is really useful and speedups connections after a succesful one. @@ -1355,26 +1225,6 @@ an error code is returned. @end deftypefun -@subheading gnutls_ext_register -@anchor{gnutls_ext_register} -@deftypefun {int} {gnutls_ext_register} (int @var{type}, const char * @var{name}, gnutls_ext_parse_type_t @var{parse_type}, gnutls_ext_recv_func @var{recv_func}, gnutls_ext_send_func @var{send_func}) -@var{type}: the 16-bit integer referring to the extension type - -@var{name}: human printable name of the extension used for debugging - -@var{parse_type}: either @code{GNUTLS_EXT_TLS} or @code{GNUTLS_EXT_APPLICATION}. - -@var{recv_func}: a function to receive extension data - -@var{send_func}: a function to send extension data - -This function is used to register a new TLS extension handler. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_credentials_clear @anchor{gnutls_credentials_clear} @deftypefun {void} {gnutls_credentials_clear} (gnutls_session_t @var{session}) @@ -1392,29 +1242,23 @@ @var{cred}: is a pointer to a structure. -Sets the needed credentials for the specified type. Eg username, -password - or public and private keys etc. The @code{cred} parameter is -a structure that depends on the specified type and on the current -session (client or server). - -In order to minimize memory usage, and share credentials between -several threads gnutls keeps a pointer to cred, and not the whole -cred structure. Thus you will have to keep the structure allocated -until you call @code{gnutls_deinit()}. - -For @code{GNUTLS_CRD_ANON}, @code{cred} should be -@code{gnutls_anon_client_credentials_t} in case of a client. In case of -a server it should be @code{gnutls_anon_server_credentials_t}. +Sets the needed credentials for the specified type. +Eg username, password - or public and private keys etc. +The (void* cred) parameter is a structure that depends on the +specified type and on the current session (client or server). +[ In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole cred +structure. Thus you will have to keep the structure allocated until +you call @code{gnutls_deinit()}. ] -For @code{GNUTLS_CRD_SRP}, @code{cred} should be @code{gnutls_srp_client_credentials_t} -in case of a client, and @code{gnutls_srp_server_credentials_t}, in case -of a server. +For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. +In case of a server it should be gnutls_anon_server_credentials_t. -For @code{GNUTLS_CRD_CERTIFICATE}, @code{cred} should be -@code{gnutls_certificate_credentials_t}. +For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t +in case of a client, and gnutls_srp_server_credentials_t, in case +of a server. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t. @end deftypefun @subheading gnutls_auth_get_type @@ -1426,12 +1270,12 @@ The returned information is to be used to distinguish the function used to access authentication data. -Eg. for CERTIFICATE ciphersuites (key exchange algorithms: -@code{GNUTLS_KX_RSA}, @code{GNUTLS_KX_DHE_RSA}), the same function are to be -used to access the authentication data. +Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, +KX_DHE_RSA), the same function are to be used to access the +authentication data. @strong{Returns:} The type of credentials for the current authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_auth_server_get_type @@ -1444,7 +1288,7 @@ to access authentication data. @strong{Returns:} The type of credentials for the server authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_auth_client_get_type @@ -1457,13 +1301,13 @@ to access authentication data. @strong{Returns:} The type of credentials for the client authentication -schema, a @code{gnutls_credentials_type_t} type. +schema, an @code{gnutls_credentials_type_t} type. @end deftypefun @subheading gnutls_certificate_free_keys @anchor{gnutls_certificate_free_keys} @deftypefun {void} {gnutls_certificate_free_keys} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the keys and the certificates associated with the given credentials. This function must not be called when a @@ -1473,7 +1317,7 @@ @subheading gnutls_certificate_free_cas @anchor{gnutls_certificate_free_cas} @deftypefun {void} {gnutls_certificate_free_cas} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CAs associated with the given credentials. Servers that do not use @@ -1483,8 +1327,8 @@ @subheading gnutls_certificate_get_x509_cas @anchor{gnutls_certificate_get_x509_cas} -@deftypefun {void} {gnutls_certificate_get_x509_cas} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t ** @var{x509_ca_list}, unsigned int * @var{ncas}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {void} {gnutls_certificate_get_x509_cas} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t ** @var{x509_ca_list}, unsigned int* @var{ncas}) +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. @var{x509_ca_list}: will point to the CA list. Should be treated as constant @@ -1498,8 +1342,8 @@ @subheading gnutls_certificate_get_x509_crls @anchor{gnutls_certificate_get_x509_crls} -@deftypefun {void} {gnutls_certificate_get_x509_crls} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crl_t ** @var{x509_crl_list}, unsigned int * @var{ncrls}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {void} {gnutls_certificate_get_x509_crls} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crl_t ** @var{x509_crl_list}, unsigned int* @var{ncrls}) +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. @var{x509_crl_list}: the exported CRL list. Should be treated as constant @@ -1514,9 +1358,7 @@ @subheading gnutls_certificate_get_openpgp_keyring @anchor{gnutls_certificate_get_openpgp_keyring} @deftypefun {void} {gnutls_certificate_get_openpgp_keyring} (gnutls_certificate_credentials_t @var{sc}, gnutls_openpgp_keyring_t * @var{keyring}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. - -@var{keyring}: the exported keyring. Should be treated as constant +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will export the OpenPGP keyring associated with the given credentials. @@ -1527,7 +1369,7 @@ @subheading gnutls_certificate_free_ca_names @anchor{gnutls_certificate_free_ca_names} @deftypefun {void} {gnutls_certificate_free_ca_names} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CA name in the given credentials. Clients may call this to save some memory @@ -1540,7 +1382,7 @@ @subheading gnutls_certificate_free_credentials @anchor{gnutls_certificate_free_credentials} @deftypefun {void} {gnutls_certificate_free_credentials} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -1553,7 +1395,7 @@ @subheading gnutls_certificate_allocate_credentials @anchor{gnutls_certificate_allocate_credentials} @deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) -@var{res}: is a pointer to a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is a pointer to an @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -1564,7 +1406,7 @@ @subheading gnutls_certificate_server_set_request @anchor{gnutls_certificate_server_set_request} @deftypefun {void} {gnutls_certificate_server_set_request} (gnutls_session_t @var{session}, gnutls_certificate_request_t @var{req}) -@var{session}: is a @code{gnutls_session_t} structure. +@var{session}: is an @code{gnutls_session_t} structure. @var{req}: is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE @@ -1649,8 +1491,8 @@ Note that you must also check the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses @code{gnutls_x509_crt_list_verify()} with the CAs in -the credentials as trusted CAs. +This is the same as @code{gnutls_x509_crt_list_verify()} and uses the +loaded CAs in the credentials as trusted CAs. Note that some commonly used X.509 Certificate Authorities are still using Version 1 certificates. If you want to accept them, @@ -1670,10 +1512,11 @@ the peer's name in order to check if the verified certificate belongs to the actual peer. -This function uses @code{gnutls_x509_crt_list_verify()}. +The return value should be one or more of the +gnutls_certificate_status_t enumerated elements bitwise or'd, or a +negative value on error. -@strong{Returns:} one or more of the @code{gnutls_certificate_status_t} -enumerated elements bitwise or'd, or a negative value on error. +This is the same as @code{gnutls_x509_crt_list_verify()}. @strong{Deprecated:} Use @code{gnutls_certificate_verify_peers2()} instead. @end deftypefun @@ -1686,8 +1529,6 @@ This function will return the peer's certificate expiration time. @strong{Returns:} (time_t)-1 on error. - -@strong{Deprecated:} @code{gnutls_certificate_verify_peers2()} now verifies expiration times. @end deftypefun @subheading gnutls_certificate_activation_time_peers @@ -1699,8 +1540,6 @@ This is the creation time for openpgp keys. @strong{Returns:} (time_t)-1 on error. - -@strong{Deprecated:} @code{gnutls_certificate_verify_peers2()} now verifies activation times. @end deftypefun @subheading gnutls_sign_callback_set @@ -1744,31 +1583,31 @@ @deftypefun {void} {gnutls_global_set_log_function} (gnutls_log_func @var{log_func}) @var{log_func}: it's a log function -This is the function where you set the logging function gnutls is -going to use. This function only accepts a character array. -Normally you may not use this function since it is only used for -debugging purposes. +This is the function where you set the logging function gnutls +is going to use. This function only accepts a character array. +Normally you may not use this function since it is only used +for debugging purposes. -gnutls_log_func is of the form, +gnutls_log_func is of the form, void (*gnutls_log_func)( int level, const char*); @end deftypefun @subheading gnutls_global_set_log_level @anchor{gnutls_global_set_log_level} @deftypefun {void} {gnutls_global_set_log_level} (int @var{level}) -@var{level}: it's an integer from 0 to 9. +@var{level}: it's an integer from 0 to 9. -This is the function that allows you to set the log level. The -level is an integer between 0 and 9. Higher values mean more -verbosity. The default value is 0. Larger values should only be -used with care, since they may reveal sensitive information. +This is the function that allows you to set the log level. +The level is an integer between 0 and 9. Higher values mean +more verbosity. The default value is 0. Larger values should +only be used with care, since they may reveal sensitive information. Use a log level over 10 to enable all debugging options. @end deftypefun @subheading gnutls_global_set_mem_functions @anchor{gnutls_global_set_mem_functions} -@deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) +@deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) @var{alloc_func}: it's the default memory allocation function. Like @code{malloc()}. @var{secure_alloc_func}: This is the memory allocation function that will be used for sensitive data. @@ -1779,15 +1618,13 @@ @var{free_func}: The function that frees allocated data. Must accept a NULL pointer. -This is the function were you set the memory allocation functions -gnutls is going to use. By default the libc's allocation functions -(@code{malloc()}, @code{free()}), are used by gnutls, to allocate both sensitive -and not sensitive data. This function is provided to set the -memory allocation functions to something other than the defaults -(ie the gcrypt allocation functions). +This is the function were you set the memory allocation functions gnutls +is going to use. By default the libc's allocation functions (@code{malloc()}, @code{free()}), +are used by gnutls, to allocate both sensitive and not sensitive data. +This function is provided to set the memory allocation functions to +something other than the defaults (ie the gcrypt allocation functions). This function must be called before @code{gnutls_global_init()} is called. -This function is not thread safe. @end deftypefun @subheading gnutls_global_init @@ -1842,11 +1679,12 @@ @var{pull_func}: a callback function similar to @code{read()} -This is the function where you set a function for gnutls to receive -data. Normally, if you use berkeley style sockets, do not need to -use this function since the default (recv(2)) will probably be ok. +This is the function where you set a function for gnutls +to receive data. Normally, if you use berkeley style sockets, +do not need to use this function since the default (recv(2)) will +probably be ok. -PULL_FUNC is of the form, +PULL_FUNC is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); @end deftypefun @@ -1857,36 +1695,38 @@ @var{push_func}: a callback function similar to @code{write()} -This is the function where you set a push function for gnutls to -use in order to send data. If you are going to use berkeley style -sockets, you do not need to use this function since the default -(send(2)) will probably be ok. Otherwise you should specify this -function for gnutls to be able to send data. +This is the function where you set a push function for gnutls +to use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since +the default (send(2)) will probably be ok. Otherwise you should +specify this function for gnutls to be able to send data. -PUSH_FUNC is of the form, +PUSH_FUNC is of the form, ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t); @end deftypefun @subheading gnutls_check_version @anchor{gnutls_check_version} @deftypefun {const char *} {gnutls_check_version} (const char * @var{req_version}) -@var{req_version}: version string to compare with, or @code{NULL}. - -Check GnuTLS Library version. - -See @code{GNUTLS_VERSION} for a suitable @code{req_version} string. +@var{req_version}: the version to check -@strong{Return value:} Check that the version of the library is at -minimum the one given as a string in @code{req_version} and return the -actual version string of the library; return @code{NULL} if the -condition is not met. If @code{NULL} is passed to this function no -check is done and only the version string is returned. +Check that the version of the library is at minimum the requested one +and return the version string; return NULL if the condition is not +satisfied. If a NULL is passed to this function, no check is done, +but the version string is simply returned. + +See @code{LIBGNUTLS_VERSION} for a suitable @code{req_version} string. + +@strong{Return value:} Version string of run-time library, or NULL if the +run-time library does not meet the required version number. If +@code{NULL} is passed to this function no check is done and only the +version string is returned. @end deftypefun @subheading gnutls_anon_free_server_credentials @anchor{gnutls_anon_free_server_credentials} @deftypefun {void} {gnutls_anon_free_server_credentials} (gnutls_anon_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_anon_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -1894,8 +1734,8 @@ @subheading gnutls_anon_allocate_server_credentials @anchor{gnutls_anon_allocate_server_credentials} -@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_anon_server_credentials_t} structure. +@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) +@var{sc}: is a pointer to an @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -1906,7 +1746,7 @@ @subheading gnutls_anon_free_client_credentials @anchor{gnutls_anon_free_client_credentials} @deftypefun {void} {gnutls_anon_free_client_credentials} (gnutls_anon_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_anon_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -1914,8 +1754,8 @@ @subheading gnutls_anon_allocate_client_credentials @anchor{gnutls_anon_allocate_client_credentials} -@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_anon_client_credentials_t} structure. +@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) +@var{sc}: is a pointer to an @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -1928,11 +1768,11 @@ @deftypefun {void} {gnutls_anon_set_server_dh_params} (gnutls_anon_server_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_anon_server_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for an +This function will set the diffie hellman parameters for an anonymous server to use. These parameters will be used in -Anonymous Diffie-Hellman cipher suites. +Anonymous Diffie Hellman cipher suites. @end deftypefun @subheading gnutls_anon_set_server_params_function @@ -1943,7 +1783,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman parameters for anonymous authentication. The +the diffie hellman parameters for anonymous authentication. The callback should return zero on success. @end deftypefun @@ -1973,7 +1813,7 @@ @var{bits}: is the number of bits -This function sets the number of bits, for use in an Diffie-Hellman +This function sets the number of bits, for use in an Diffie Hellman key exchange. This is used both in DH ephemeral and DH anonymous cipher suites. This will set the minimum size of the prime that will be used for the handshake. @@ -1981,8 +1821,6 @@ In the client side it sets the minimum accepted number of bits. If a server sends a prime with less bits than that @code{GNUTLS_E_DH_PRIME_UNACCEPTABLE} will be returned by the handshake. - -This function has no effect in server side. @end deftypefun @subheading gnutls_dh_get_group @@ -1995,9 +1833,9 @@ @var{raw_prime}: will hold the prime. This function will return the group parameters used in the last -Diffie-Hellman authentication with the peer. These are the prime +Diffie Hellman authentication with the peer. These are the prime and the generator used. This function should be used for both -anonymous and ephemeral Diffie-Hellman. The output parameters must +anonymous and ephemeral diffie Hellman. The output parameters must be freed with @code{gnutls_free()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise @@ -2012,9 +1850,9 @@ @var{raw_key}: will hold the public key. This function will return the peer's public key used in the last -Diffie-Hellman authentication. This function should be used for -both anonymous and ephemeral Diffie-Hellman. The output parameters -must be freed with @code{gnutls_free()}. +Diffie Hellman authentication. This function should be used for +both anonymous and ephemeral diffie Hellman. The output +parameters must be freed with @code{gnutls_free()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @@ -2042,9 +1880,9 @@ @deftypefun {int} {gnutls_dh_get_secret_bits} (gnutls_session_t @var{session}) @var{session}: is a gnutls session -This function will return the bits used in the last Diffie-Hellman +This function will return the bits used in the last Diffie Hellman authentication with the peer. Should be used for both anonymous -and ephemeral Diffie-Hellman. +and ephemeral diffie Hellman. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @@ -2056,14 +1894,11 @@ @var{session}: is a gnutls session This function will return the bits of the prime used in the last -Diffie-Hellman authentication with the peer. Should be used for -both anonymous and ephemeral Diffie-Hellman. Note that some -ciphers, like RSA and DSA without DHE, does not use a -Diffie-Hellman exchange, and then this function will return 0. - -@strong{Returns:} The Diffie-Hellman bit strength is returned, or 0 if no -Diffie-Hellman exchange was done, or a negative error code on -failure. +Diffie Hellman authentication with the peer. Should be used for +both anonymous and ephemeral diffie Hellman. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. @end deftypefun @subheading gnutls_rsa_export_get_modulus_bits @@ -2083,10 +1918,11 @@ @var{session}: is a gnutls session Get the Diffie-Hellman public key bit size. Can be used for both -anonymous and ephemeral Diffie-Hellman. +anonymous and ephemeral diffie Hellman. -@strong{Returns:} the public key bit size used in the last Diffie-Hellman -authentication with the peer, or a negative value in case of error. +@strong{Returns:} the public key bit size used in the last Diffie Hellman +authentication with the peer, or a negative value in case of +error. @end deftypefun @subheading gnutls_certificate_get_ours @@ -2166,11 +2002,11 @@ @deftypefun {void} {gnutls_certificate_set_dh_params} (gnutls_certificate_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_certificate_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for a +This function will set the diffie hellman parameters for a certificate server to use. These parameters will be used in -Ephemeral Diffie-Hellman cipher suites. Note that only a pointer +Ephemeral Diffie Hellman cipher suites. Note that only a pointer to the parameters are stored in the certificate handle, so if you deallocate the parameters before the certificate is deallocated, you must change the parameters stored in the certificate first. @@ -2184,7 +2020,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for certificate +the diffie hellman or RSA parameters for certificate authentication. The callback should return zero on success. @end deftypefun @@ -2202,7 +2038,7 @@ @subheading gnutls_certificate_set_verify_limits @anchor{gnutls_certificate_set_verify_limits} -@deftypefun {void} {gnutls_certificate_set_verify_limits} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{max_bits}, unsigned int @var{max_depth}) +@deftypefun {void} {gnutls_certificate_set_verify_limits} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{max_bits}, unsigned int @var{max_depth}) @var{res}: is a gnutls_certificate_credentials structure @var{max_bits}: is the number of bits of an acceptable certificate (default 8200) @@ -2235,7 +2071,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for psk authentication. The +the diffie hellman or RSA parameters for psk authentication. The callback should return zero on success. @end deftypefun @@ -2247,7 +2083,7 @@ @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman or RSA parameters for anonymous authentication. +the diffie hellman or RSA parameters for anonymous authentication. The callback should return zero on success. @end deftypefun @@ -2260,12 +2096,9 @@ @var{generator}: holds the new generator -This function will replace the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters should be -stored in the appropriate gnutls_datum. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will replace the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters should be stored in the +appropriate gnutls_datum. @end deftypefun @subheading gnutls_dh_params_init @@ -2274,9 +2107,6 @@ @var{dh_params}: Is a structure that will hold the prime numbers This function will initialize the DH parameters structure. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_params_deinit @@ -2296,9 +2126,6 @@ This function will copy the DH parameters structure from source to destination. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_params_generate2 @@ -2308,18 +2135,15 @@ @var{bits}: is the prime's number of bits -This function will generate a new pair of prime and generator for use in +This function will generate a new pair of prime and generator for use in the Diffie-Hellman key exchange. The new parameters will be allocated using @code{gnutls_malloc()} and will be stored in the appropriate datum. -This function is normally slow. +This function is normally slow. Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of no use to call this in client side. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_dh_params_import_pkcs3 @@ -2337,8 +2161,8 @@ If the structure is PEM encoded, it should have a header of "BEGIN DH PARAMETERS". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_dh_params_export_pkcs3 @@ -2360,8 +2184,8 @@ If the structure is PEM encoded, it will have a header of "BEGIN DH PARAMETERS". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_dh_params_export_raw @@ -2375,13 +2199,9 @@ @var{bits}: if non null will hold is the prime's number of bits -This function will export the pair of prime and generator for use -in the Diffie-Hellman key exchange. The new parameters will be -allocated using @code{gnutls_malloc()} and will be stored in the -appropriate datum. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function will export the pair of prime and generator for use in +the Diffie-Hellman key exchange. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. @end deftypefun @subheading gnutls_alert_get_name @@ -2500,7 +2320,7 @@ Get currently used cipher. -@strong{Returns:} the currently used cipher, a @code{gnutls_cipher_algorithm_t} +@strong{Returns:} the currently used cipher, an @code{gnutls_cipher_algorithm_t} type. @end deftypefun @@ -2748,33 +2568,6 @@ @strong{Returns:} pointer to master secret data. @end deftypefun -@subheading gnutls_session_set_finished_function -@anchor{gnutls_session_set_finished_function} -@deftypefun {void} {gnutls_session_set_finished_function} (gnutls_session_t @var{session}, gnutls_finished_callback_func @var{func}) -@var{session}: is a @code{gnutls_session_t} structure. - -@var{func}: a @code{gnutls_finished_callback_func} callback. - -Register a callback function for the session that will be called -when a TLS Finished message has been generated. The function is -typically used to copy away the TLS finished message for later use -as a channel binding or similar purpose. - -@strong{The callback should follow this prototype:} -void callback (gnutls_session_t @code{session}, const void *@code{finished}, size_t @code{len}); - -The @code{finished} parameter will contain the binary TLS finished -message, and @code{len} will contains its length. For SSLv3 connections, -the @code{len} parameter will be 36 and for TLS connections it will be -12. - -It is recommended that the function returns quickly in order to not -delay the handshake. Use the function to store a copy of the TLS -finished message for later use. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_session_is_resumed @anchor{gnutls_session_is_resumed} @deftypefun {int} {gnutls_session_is_resumed} (gnutls_session_t @var{session}) @@ -2832,8 +2625,6 @@ @subheading gnutls_handshake_set_post_client_hello_function @anchor{gnutls_handshake_set_post_client_hello_function} @deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) -@var{session}: is a @code{gnutls_session_t} structure. - @var{func}: is the function to be called This function will set a callback to be called after the client @@ -2869,8 +2660,8 @@ @subheading gnutls_certificate_set_x509_key_mem @anchor{gnutls_certificate_set_x509_key_mem} -@deftypefun {int} {gnutls_certificate_set_x509_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cert}: contains a certificate list (path) for the specified private key @@ -2878,18 +2669,18 @@ @var{type}: is PEM or DER -This function sets a certificate/private key pair in the +This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). -@strong{Currently are supported:} RSA PKCS-1 encoded private keys, +@strong{Currently are supported:} RSA PKCS-1 encoded private keys, DSA private keys. DSA private keys are encoded the OpenSSL way, which is an ASN.1 DER sequence of 6 INTEGERs - version, p, q, g, pub, priv. -Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates is supported. This means that certificates intended for signing cannot be used for ciphersuites that require encryption. @@ -2905,7 +2696,7 @@ @subheading gnutls_certificate_set_x509_key @anchor{gnutls_certificate_set_x509_key} @deftypefun {int} {gnutls_certificate_set_x509_key} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crt_t * @var{cert_list}, int @var{cert_list_size}, gnutls_x509_privkey_t @var{key}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cert_list}: contains a certificate list (path) for the specified private key @@ -2925,13 +2716,13 @@ @subheading gnutls_certificate_set_x509_key_file @anchor{gnutls_certificate_set_x509_key_file} -@deftypefun {int} {gnutls_certificate_set_x509_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{CERTFILE}, const char * @var{KEYFILE}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. -@var{certfile}: is a file that containing the certificate list (path) for +@var{CERTFILE}: is a file that containing the certificate list (path) for the specified private key, in PKCS7 format, or a list of certificates -@var{keyfile}: is a file that contains the private key +@var{KEYFILE}: is a file that contains the private key @var{type}: is PEM or DER @@ -2948,8 +2739,8 @@ @subheading gnutls_certificate_set_x509_trust_mem @anchor{gnutls_certificate_set_x509_trust_mem} -@deftypefun {int} {gnutls_certificate_set_x509_trust_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{ca}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_trust_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{ca}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{ca}: is a list of trusted CAs or a DER certificate @@ -2972,7 +2763,7 @@ @subheading gnutls_certificate_set_x509_trust @anchor{gnutls_certificate_set_x509_trust} @deftypefun {int} {gnutls_certificate_set_x509_trust} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crt_t * @var{ca_list}, int @var{ca_list_size}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{ca_list}: is a list of trusted CAs @@ -2995,8 +2786,8 @@ @subheading gnutls_certificate_set_x509_trust_file @anchor{gnutls_certificate_set_x509_trust_file} -@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{cafile}: is a file containing the list of trusted CAs (DER or PEM list) @@ -3018,8 +2809,8 @@ @subheading gnutls_certificate_set_x509_crl_mem @anchor{gnutls_certificate_set_x509_crl_mem} -@deftypefun {int} {gnutls_certificate_set_x509_crl_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{CRL}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_crl_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{CRL}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{CRL}: is a list of trusted CRLs. They should have been verified before. @@ -3037,7 +2828,7 @@ @subheading gnutls_certificate_set_x509_crl @anchor{gnutls_certificate_set_x509_crl} @deftypefun {int} {gnutls_certificate_set_x509_crl} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crl_t * @var{crl_list}, int @var{crl_list_size}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{crl_list}: is a list of trusted CRLs. They should have been verified before. @@ -3056,8 +2847,8 @@ @subheading gnutls_certificate_set_x509_crl_file @anchor{gnutls_certificate_set_x509_crl_file} -@deftypefun {int} {gnutls_certificate_set_x509_crl_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{crlfile}, gnutls_x509_crt_fmt_t @var{type}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@deftypefun {int} {gnutls_certificate_set_x509_crl_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{crlfile}, gnutls_x509_crt_fmt_t @var{type}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{crlfile}: is a file containing the list of verified CRLs (DER or PEM list) @@ -3075,7 +2866,7 @@ @subheading gnutls_certificate_set_x509_simple_pkcs12_file @anchor{gnutls_certificate_set_x509_simple_pkcs12_file} @deftypefun {int} {gnutls_certificate_set_x509_simple_pkcs12_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{pkcs12file}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{password}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. @var{pkcs12file}: filename of file containing PKCS@code{12} blob. @@ -3109,49 +2900,10 @@ @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun -@subheading gnutls_certificate_set_x509_simple_pkcs12_mem -@anchor{gnutls_certificate_set_x509_simple_pkcs12_mem} -@deftypefun {int} {gnutls_certificate_set_x509_simple_pkcs12_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum * @var{p12blob}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{password}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. - -@var{p12blob}: the PKCS@code{12} blob. - -@var{type}: is PEM or DER of the @code{pkcs12file}. - -@var{password}: optional password used to decrypt PKCS@code{12} file, bags and keys. - -This function sets a certificate/private key pair and/or a CRL in -the gnutls_certificate_credentials_t structure. This function may -be called more than once (in case multiple keys/certificates exist -for the server). - -@strong{MAC:} ed PKCS@code{12} files are supported. Encrypted PKCS@code{12} bags are -supported. Encrypted PKCS@code{8} private keys are supported. However, -only password based security, and the same password for all -operations, are supported. - -The private keys may be RSA PKCS@code{1} or DSA private keys encoded in -the OpenSSL way. - -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. - -It is believed that the limitations of this function is acceptable -for most usage, and that any more flexibility would introduce -complexity that would make it harder to use this functionality at -all. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. - -@strong{Since:} 2.8.0 -@end deftypefun - @subheading gnutls_certificate_free_crls @anchor{gnutls_certificate_free_crls} @deftypefun {void} {gnutls_certificate_free_crls} (gnutls_certificate_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. +@var{sc}: is an @code{gnutls_certificate_credentials_t} structure. This function will delete all the CRLs associated with the given credentials. @@ -3175,10 +2927,7 @@ @var{u}: holds the coefficient This function will replace the parameters in the given structure. -The new parameters should be stored in the appropriate -gnutls_datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +The new parameters should be stored in the appropriate gnutls_datum. @end deftypefun @subheading gnutls_rsa_params_init @@ -3187,8 +2936,6 @@ @var{rsa_params}: Is a structure that will hold the parameters This function will initialize the temporary RSA parameters structure. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_deinit @@ -3208,8 +2955,6 @@ This function will copy the RSA parameters structure from source to destination. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_generate2 @@ -3219,16 +2964,14 @@ @var{bits}: is the prime's number of bits -This function will generate new temporary RSA parameters for use in -RSA-EXPORT ciphersuites. This function is normally slow. +This function will generate new temporary RSA parameters for use in +RSA-EXPORT ciphersuites. This function is normally slow. -Note that if the parameters are to be used in export cipher suites the +Note that if the parameters are to be used in export cipher suites the bits value should be 512 or less. Also note that the generation of new RSA parameters is only useful to servers. Clients use the parameters sent by the server, thus it's no use calling this in client side. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_rsa_params_import_pkcs1 @@ -3241,12 +2984,13 @@ @var{format}: the format of params. PEM or DER. This function will extract the RSAPublicKey found in a PKCS1 formatted -structure. +structure. If the structure is PEM encoded, it should have a header of "BEGIN RSA PRIVATE KEY". -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_rsa_params_export_pkcs1 @@ -3261,13 +3005,14 @@ @var{params_data_size}: holds the size of params_data (and will be replaced by the actual size of parameters) This function will export the given RSA parameters to a PKCS1 -RSAPublicKey structure. If the buffer provided is not long enough to +RSAPublicKey structure. If the buffer provided is not long enough to hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. If the structure is PEM encoded, it will have a header of "BEGIN RSA PRIVATE KEY". -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. +In case of failure a negative value will be returned, and +0 on success. @end deftypefun @subheading gnutls_rsa_params_export_raw @@ -3292,8 +3037,6 @@ This function will export the RSA parameters found in the given structure. The new parameters will be allocated using @code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code. @end deftypefun @subheading gnutls_server_name_get @@ -3309,25 +3052,19 @@ @var{indx}: is the index of the server_name -This function will allow you to get the name indication (if any), a -client has sent. The name indication may be any of the enumeration +This function will allow you to get the name indication (if any), +a client has sent. The name indication may be any of the enumeration gnutls_server_name_type_t. -If @code{type} is GNUTLS_NAME_DNS, then this function is to be used by -servers that support virtual hosting, and the data will be a null -terminated UTF-8 string. - -If @code{data} has not enough size to hold the server name -GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and @code{data_length} will -hold the required size. - -@code{index} is used to retrieve more than one server names (if sent by -the client). The first server name has an index of 0, the second 1 -and so on. If no name with the given index exists -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. +If @code{type} is GNUTLS_NAME_DNS, then this function is to be used by servers +that support virtual hosting, and the data will be a null terminated UTF-8 string. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +If @code{data} has not enough size to hold the server name GNUTLS_E_SHORT_MEMORY_BUFFER +is returned, and @code{data_length} will hold the required size. + +@code{index} is used to retrieve more than one server names (if sent by the client). +The first server name has an index of 0, the second 1 and so on. If no name with the given +index exists GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. @end deftypefun @subheading gnutls_server_name_set @@ -3341,260 +3078,98 @@ @var{name_length}: holds the length of name -This function is to be used by clients that want to inform (via a -TLS extension mechanism) the server of the name they connected to. -This should be used by clients that connect to servers that do -virtual hosting. - -The value of @code{name} depends on the @code{ind} type. In case of -GNUTLS_NAME_DNS, an ASCII or UTF-8 null terminated string, without -the trailing dot, is expected. IPv4 or IPv6 addresses are not -permitted. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +This function is to be used by clients that want to inform +(via a TLS extension mechanism) the server of the name they +connected to. This should be used by clients that connect +to servers that do virtual hosting. + +The value of @code{name} depends on the @code{ind} type. In case of GNUTLS_NAME_DNS, +an ASCII or UTF-8 null terminated string, without the trailing dot, is expected. +IPv4 or IPv6 addresses are not permitted. @end deftypefun -@subheading gnutls_crypto_single_cipher_register2 -@anchor{gnutls_crypto_single_cipher_register2} -@deftypefun {int} {gnutls_crypto_single_cipher_register2} (gnutls_cipher_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_cipher_st * @var{s}) +@subheading gnutls_crypto_cipher_register +@anchor{gnutls_crypto_cipher_register} +@deftypefun {int} {gnutls_crypto_cipher_register} (gnutls_cipher_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_cipher_st* @var{s}) @var{algorithm}: is the gnutls algorithm identifier @var{priority}: is the priority of the algorithm -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - @var{s}: is a structure holding new cipher's data -This function will register a cipher algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. +This function will register a cipher algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_single_cipher_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_rnd_register2 -@anchor{gnutls_crypto_rnd_register2} -@deftypefun {int} {gnutls_crypto_rnd_register2} (int @var{priority}, int @var{version}, gnutls_crypto_rnd_st * @var{s}) +@subheading gnutls_crypto_rnd_register +@anchor{gnutls_crypto_rnd_register} +@deftypefun {int} {gnutls_crypto_rnd_register} (int @var{priority}, gnutls_crypto_rnd_st* @var{s}) @var{priority}: is the priority of the generator -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - @var{s}: is a structure holding new generator's data -This function will register a random generator to be used by -gnutls. Any generator registered will override the included -generator and by convention kernel implemented generators have -priority of 90. The generator with the lowest priority will be -used by gnutls. +This function will register a random generator to be used +by gnutls. Any generator registered will override +the included generator and by convention kernel implemented +generators have priority of 90. The generator with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_rnd_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_single_mac_register2 -@anchor{gnutls_crypto_single_mac_register2} -@deftypefun {int} {gnutls_crypto_single_mac_register2} (gnutls_mac_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_mac_st * @var{s}) +@subheading gnutls_crypto_mac_register +@anchor{gnutls_crypto_mac_register} +@deftypefun {int} {gnutls_crypto_mac_register} (gnutls_mac_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_mac_st* @var{s}) @var{algorithm}: is the gnutls algorithm identifier @var{priority}: is the priority of the algorithm -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - @var{s}: is a structure holding new algorithms's data -This function will register a MAC algorithm to be used by gnutls. -Any algorithm registered will override the included algorithms and -by convention kernel implemented algorithms have priority of 90. -The algorithm with the lowest priority will be used by gnutls. +This function will register a MAC algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest +priority will be used by gnutls. This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience -@code{gnutls_crypto_single_mac_register()} macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun -@subheading gnutls_crypto_single_digest_register2 -@anchor{gnutls_crypto_single_digest_register2} -@deftypefun {int} {gnutls_crypto_single_digest_register2} (gnutls_digest_algorithm_t @var{algorithm}, int @var{priority}, int @var{version}, gnutls_crypto_single_digest_st * @var{s}) +@subheading gnutls_crypto_digest_register +@anchor{gnutls_crypto_digest_register} +@deftypefun {int} {gnutls_crypto_digest_register} (gnutls_digest_algorithm_t @var{algorithm}, int @var{priority}, gnutls_crypto_digest_st* @var{s}) @var{algorithm}: is the gnutls algorithm identifier @var{priority}: is the priority of the algorithm -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - @var{s}: is a structure holding new algorithms's data -This function will register a digest (hash) algorithm to be used by -gnutls. Any algorithm registered will override the included -algorithms and by convention kernel implemented algorithms have -priority of 90. The algorithm with the lowest priority will be -used by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_single_digest_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_bigint_register2 -@anchor{gnutls_crypto_bigint_register2} -@deftypefun {int} {gnutls_crypto_bigint_register2} (int @var{priority}, int @var{version}, gnutls_crypto_bigint_st * @var{s}) -@var{priority}: is the priority of the interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register an interface for gnutls to operate -on big integers. Any interface registered will override -the included interface. The interface with the lowest +This function will register a digest (hash) algorithm to be used +by gnutls. Any algorithm registered will override +the included algorithms and by convention kernel implemented +algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls. -Note that the bigint interface must interoperate with the public -key interface. Thus if this interface is updated the -@code{gnutls_crypto_pk_register()} should also be used. - This function should be called before @code{gnutls_global_init()}. -For simplicity you can use the convenience @code{gnutls_crypto_bigint_register()} -macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_pk_register2 -@anchor{gnutls_crypto_pk_register2} -@deftypefun {int} {gnutls_crypto_pk_register2} (int @var{priority}, int @var{version}, gnutls_crypto_pk_st * @var{s}) -@var{priority}: is the priority of the interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register an interface for gnutls to operate -on public key operations. Any interface registered will override -the included interface. The interface with the lowest -priority will be used by gnutls. - -Note that the bigint interface must interoperate with the bigint -interface. Thus if this interface is updated the -@code{gnutls_crypto_bigint_register()} should also be used. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience @code{gnutls_crypto_pk_register()} -macro. - @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_cipher_register2 -@anchor{gnutls_crypto_cipher_register2} -@deftypefun {int} {gnutls_crypto_cipher_register2} (int @var{priority}, int @var{version}, gnutls_crypto_cipher_st * @var{s}) -@var{priority}: is the priority of the cipher interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a cipher interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_cipher_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_mac_register2 -@anchor{gnutls_crypto_mac_register2} -@deftypefun {int} {gnutls_crypto_mac_register2} (int @var{priority}, int @var{version}, gnutls_crypto_mac_st * @var{s}) -@var{priority}: is the priority of the mac interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a mac interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_mac_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 -@end deftypefun - -@subheading gnutls_crypto_digest_register2 -@anchor{gnutls_crypto_digest_register2} -@deftypefun {int} {gnutls_crypto_digest_register2} (int @var{priority}, int @var{version}, gnutls_crypto_digest_st * @var{s}) -@var{priority}: is the priority of the digest interface - -@var{version}: should be set to @code{GNUTLS_CRYPTO_API_VERSION} - -@var{s}: is a structure holding new interface's data - -This function will register a digest interface to be used by -gnutls. Any interface registered will override the included engine -and by convention kernel implemented interfaces should have -priority of 90. The interface with the lowest priority will be used -by gnutls. - -This function should be called before @code{gnutls_global_init()}. - -For simplicity you can use the convenience -@code{gnutls_crypto_digest_register()} macro. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. - -@strong{Since:} 2.6.0 @end deftypefun @subheading gnutls_srp_free_client_credentials @anchor{gnutls_srp_free_client_credentials} @deftypefun {void} {gnutls_srp_free_client_credentials} (gnutls_srp_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_srp_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_srp_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3603,7 +3178,7 @@ @subheading gnutls_srp_allocate_client_credentials @anchor{gnutls_srp_allocate_client_credentials} @deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3615,7 +3190,7 @@ @subheading gnutls_srp_set_client_credentials @anchor{gnutls_srp_set_client_credentials} @deftypefun {int} {gnutls_srp_set_client_credentials} (gnutls_srp_client_credentials_t @var{res}, const char * @var{username}, const char * @var{password}) -@var{res}: is a @code{gnutls_srp_client_credentials_t} structure. +@var{res}: is an @code{gnutls_srp_client_credentials_t} structure. @var{username}: is the user's userid @@ -3634,7 +3209,7 @@ @subheading gnutls_srp_free_server_credentials @anchor{gnutls_srp_free_server_credentials} @deftypefun {void} {gnutls_srp_free_server_credentials} (gnutls_srp_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3643,7 +3218,7 @@ @subheading gnutls_srp_allocate_server_credentials @anchor{gnutls_srp_allocate_server_credentials} @deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3654,8 +3229,8 @@ @subheading gnutls_srp_set_server_credentials_file @anchor{gnutls_srp_set_server_credentials_file} -@deftypefun {int} {gnutls_srp_set_server_credentials_file} (gnutls_srp_server_credentials_t @var{res}, const char * @var{password_file}, const char * @var{password_conf_file}) -@var{res}: is a @code{gnutls_srp_server_credentials_t} structure. +@deftypefun {int} {gnutls_srp_set_server_credentials_file} (gnutls_srp_server_credentials_t @var{res}, const char * @var{password_file}, const char * @var{password_conf_file}) +@var{res}: is an @code{gnutls_srp_server_credentials_t} structure. @var{password_file}: is the SRP password file (tpasswd) @@ -3703,7 +3278,7 @@ @subheading gnutls_srp_set_client_credentials_function @anchor{gnutls_srp_set_client_credentials_function} -@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function @@ -3770,26 +3345,6 @@ error code. @end deftypefun -@subheading gnutls_srp_set_prime_bits -@anchor{gnutls_srp_set_prime_bits} -@deftypefun {void} {gnutls_srp_set_prime_bits} (gnutls_session_t @var{session}, unsigned int @var{bits}) -@var{session}: is a @code{gnutls_session_t} structure. - -@var{bits}: is the number of bits - -This function sets the minimum accepted number of bits, for use in -an SRP key exchange. If zero, the default 2048 bits will be used. - -In the client side it sets the minimum accepted number of bits. If -a server sends a prime with less bits than that -@code{GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER} will be returned by the -handshake. - -This function has no effect in server side. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_srp_base64_encode @anchor{gnutls_srp_base64_encode} @deftypefun {int} {gnutls_srp_base64_encode} (const gnutls_datum_t * @var{data}, char * @var{result}, size_t * @var{result_size}) @@ -3874,7 +3429,7 @@ @subheading gnutls_psk_free_client_credentials @anchor{gnutls_psk_free_client_credentials} @deftypefun {void} {gnutls_psk_free_client_credentials} (gnutls_psk_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_psk_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_psk_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3883,7 +3438,7 @@ @subheading gnutls_psk_allocate_client_credentials @anchor{gnutls_psk_allocate_client_credentials} @deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3894,7 +3449,7 @@ @subheading gnutls_psk_set_client_credentials @anchor{gnutls_psk_set_client_credentials} @deftypefun {int} {gnutls_psk_set_client_credentials} (gnutls_psk_client_credentials_t @var{res}, const char * @var{username}, const gnutls_datum_t * @var{key}, gnutls_psk_key_flags @var{flags}) -@var{res}: is a @code{gnutls_psk_client_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_client_credentials_t} structure. @var{username}: is the user's zero-terminated userid @@ -3913,7 +3468,7 @@ @subheading gnutls_psk_free_server_credentials @anchor{gnutls_psk_free_server_credentials} @deftypefun {void} {gnutls_psk_free_server_credentials} (gnutls_psk_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -3922,7 +3477,7 @@ @subheading gnutls_psk_allocate_server_credentials @anchor{gnutls_psk_allocate_server_credentials} @deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -3933,7 +3488,7 @@ @subheading gnutls_psk_set_server_credentials_file @anchor{gnutls_psk_set_server_credentials_file} @deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) -@var{res}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_server_credentials_t} structure. @var{password_file}: is the PSK password file (passwd.psk) @@ -3947,7 +3502,7 @@ @subheading gnutls_psk_set_server_credentials_hint @anchor{gnutls_psk_set_server_credentials_hint} @deftypefun {int} {gnutls_psk_set_server_credentials_hint} (gnutls_psk_server_credentials_t @var{res}, const char * @var{hint}) -@var{res}: is a @code{gnutls_psk_server_credentials_t} structure. +@var{res}: is an @code{gnutls_psk_server_credentials_t} structure. @var{hint}: is the PSK identity hint string @@ -4071,22 +3626,22 @@ @deftypefun {void} {gnutls_psk_set_server_dh_params} (gnutls_psk_server_credentials_t @var{res}, gnutls_dh_params_t @var{dh_params}) @var{res}: is a gnutls_psk_server_credentials_t structure -@var{dh_params}: is a structure that holds Diffie-Hellman parameters. +@var{dh_params}: is a structure that holds diffie hellman parameters. -This function will set the Diffie-Hellman parameters for an -anonymous server to use. These parameters will be used in -Diffie-Hellman exchange with PSK cipher suites. +This function will set the diffie hellman parameters for an +anonymous server to use. These parameters will be used in Diffie +Hellman with PSK cipher suites. @end deftypefun @subheading gnutls_psk_set_server_params_function @anchor{gnutls_psk_set_server_params_function} @deftypefun {void} {gnutls_psk_set_server_params_function} (gnutls_psk_server_credentials_t @var{res}, gnutls_params_function * @var{func}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure +@var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called This function will set a callback in order for the server to get -the Diffie-Hellman parameters for PSK authentication. The callback +the diffie hellman parameters for PSK authentication. The callback should return zero on success. @end deftypefun diff -Nru gnutls26-2.8.6/lib/gnutls.asn gnutls26-2.4.1/lib/gnutls.asn --- gnutls26-2.8.6/lib/gnutls.asn 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls.asn 2008-06-19 11:00:10.000000000 +0100 @@ -17,27 +17,27 @@ -- CRT algorithm. -- RSAPrivateKey ::= SEQUENCE { - version Version, - modulus INTEGER, -- (Usually large) n - publicExponent INTEGER, -- (Usually small) e - privateExponent INTEGER, -- (Usually large) d - prime1 INTEGER, -- (Usually large) p - prime2 INTEGER, -- (Usually large) q - exponent1 INTEGER, -- (Usually large) d mod (p-1) - exponent2 INTEGER, -- (Usually large) d mod (q-1) - coefficient INTEGER, -- (Usually large) (inverse of q) mod p - otherPrimeInfos OtherPrimeInfos OPTIONAL + version Version, + modulus INTEGER, -- (Usually large) n + publicExponent INTEGER, -- (Usually small) e + privateExponent INTEGER, -- (Usually large) d + prime1 INTEGER, -- (Usually large) p + prime2 INTEGER, -- (Usually large) q + exponent1 INTEGER, -- (Usually large) d mod (p-1) + exponent2 INTEGER, -- (Usually large) d mod (q-1) + coefficient INTEGER, -- (Usually large) (inverse of q) mod p + otherPrimeInfos OtherPrimeInfos OPTIONAL } Version ::= INTEGER { two-prime(0), multi(1) } --- (CONSTRAINED BY { version must be multi if otherPrimeInfos present }) -- +-- (CONSTRAINED BY { version must be multi if otherPrimeInfos present }) -- OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo OtherPrimeInfo ::= SEQUENCE { - prime INTEGER, -- ri - exponent INTEGER, -- di - coefficient INTEGER -- ti + prime INTEGER, -- ri + exponent INTEGER, -- di + coefficient INTEGER -- ti } -- for signature calculation @@ -74,19 +74,19 @@ } DSAPrivateKey ::= SEQUENCE { - version INTEGER, -- should be zero - p INTEGER, - q INTEGER, - g INTEGER, - Y INTEGER, -- public - priv INTEGER + version INTEGER, -- should be zero + p INTEGER, + q INTEGER, + g INTEGER, + Y INTEGER, -- public + priv INTEGER } -- from PKCS#3 DHParameter ::= SEQUENCE { - prime INTEGER, -- p - base INTEGER, -- g - privateValueLength INTEGER OPTIONAL + prime INTEGER, -- p + base INTEGER, -- g + privateValueLength INTEGER OPTIONAL } diff -Nru gnutls26-2.8.6/lib/gnutls_auth.c gnutls26-2.4.1/lib/gnutls_auth.c --- gnutls26-2.8.6/lib/gnutls_auth.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_auth.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -25,10 +25,9 @@ #include "gnutls_int.h" #include "gnutls_errors.h" #include "gnutls_auth.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_algorithms.h" #include "auth_cert.h" -#include "auth_psk.h" #include #include "auth_anon.h" @@ -66,35 +65,30 @@ * { algorithm, credentials, pointer to next } */ /** - * gnutls_credentials_set - Sets the needed credentials for the specified authentication algorithm. - * @session: is a #gnutls_session_t structure. - * @type: is the type of the credentials - * @cred: is a pointer to a structure. - * - * Sets the needed credentials for the specified type. Eg username, - * password - or public and private keys etc. The @cred parameter is - * a structure that depends on the specified type and on the current - * session (client or server). - * - * In order to minimize memory usage, and share credentials between - * several threads gnutls keeps a pointer to cred, and not the whole - * cred structure. Thus you will have to keep the structure allocated - * until you call gnutls_deinit(). - * - * For %GNUTLS_CRD_ANON, @cred should be - * #gnutls_anon_client_credentials_t in case of a client. In case of - * a server it should be #gnutls_anon_server_credentials_t. - * - * For %GNUTLS_CRD_SRP, @cred should be #gnutls_srp_client_credentials_t - * in case of a client, and #gnutls_srp_server_credentials_t, in case - * of a server. - * - * For %GNUTLS_CRD_CERTIFICATE, @cred should be - * #gnutls_certificate_credentials_t. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_credentials_set - Sets the needed credentials for the specified authentication algorithm. + * @session: is a #gnutls_session_t structure. + * @type: is the type of the credentials + * @cred: is a pointer to a structure. + * + * Sets the needed credentials for the specified type. + * Eg username, password - or public and private keys etc. + * The (void* cred) parameter is a structure that depends on the + * specified type and on the current session (client or server). + * [ In order to minimize memory usage, and share credentials between + * several threads gnutls keeps a pointer to cred, and not the whole cred + * structure. Thus you will have to keep the structure allocated until + * you call gnutls_deinit(). ] + * + * For GNUTLS_CRD_ANON cred should be gnutls_anon_client_credentials_t in case of a client. + * In case of a server it should be gnutls_anon_server_credentials_t. + * + * For GNUTLS_CRD_SRP cred should be gnutls_srp_client_credentials_t + * in case of a client, and gnutls_srp_server_credentials_t, in case + * of a server. + * + * For GNUTLS_CRD_CERTIFICATE cred should be gnutls_certificate_credentials_t. + * + **/ int gnutls_credentials_set (gnutls_session_t session, gnutls_credentials_type_t type, void *cred) @@ -147,6 +141,7 @@ } else { /* modify existing entry */ + gnutls_free (ccred->credentials); ccred->credentials = cred; } } @@ -162,12 +157,12 @@ * The returned information is to be used to distinguish the function used * to access authentication data. * - * Eg. for CERTIFICATE ciphersuites (key exchange algorithms: - * %GNUTLS_KX_RSA, %GNUTLS_KX_DHE_RSA), the same function are to be - * used to access the authentication data. + * Eg. for CERTIFICATE ciphersuites (key exchange algorithms: KX_RSA, + * KX_DHE_RSA), the same function are to be used to access the + * authentication data. * * Returns: The type of credentials for the current authentication - * schema, a #gnutls_credentials_type_t type. + * schema, an #gnutls_credentials_type_t type. **/ gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session) @@ -192,7 +187,7 @@ * to access authentication data. * * Returns: The type of credentials for the server authentication - * schema, a #gnutls_credentials_type_t type. + * schema, an #gnutls_credentials_type_t type. **/ gnutls_credentials_type_t gnutls_auth_server_get_type (gnutls_session_t session) @@ -212,7 +207,7 @@ * to access authentication data. * * Returns: The type of credentials for the client authentication - * schema, a #gnutls_credentials_type_t type. + * schema, an #gnutls_credentials_type_t type. **/ gnutls_credentials_type_t gnutls_auth_client_get_type (gnutls_session_t session) @@ -323,17 +318,6 @@ _gnutls_free_dh_info (dh_info); } break; - case GNUTLS_CRD_PSK: - { - psk_auth_info_t info = _gnutls_get_auth_info (session); - - if (info == NULL) - break; - - dh_info = &info->dh; - _gnutls_free_dh_info (dh_info); - } - break; case GNUTLS_CRD_CERTIFICATE: { unsigned int i; @@ -418,10 +402,11 @@ */ if (gnutls_auth_get_type (session) != session->key->auth_info_type) { - + _gnutls_free_auth_info (session); - - session->key->auth_info = calloc (1, size); + + session->key->auth_info = + calloc( 1, size); if (session->key->auth_info == NULL) { gnutls_assert (); diff -Nru gnutls26-2.8.6/lib/gnutls_auth.h gnutls26-2.4.1/lib/gnutls_auth.h --- gnutls26-2.8.6/lib/gnutls_auth.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_auth.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -47,13 +47,4 @@ opaque *, size_t); } mod_auth_st; -const void *_gnutls_get_cred (gnutls_key_st key, - gnutls_credentials_type_t kx, int *err); -const void *_gnutls_get_kx_cred (gnutls_session_t session, - gnutls_kx_algorithm_t algo, int *err); -void *_gnutls_get_auth_info (gnutls_session_t session); -int _gnutls_auth_info_set (gnutls_session_t session, - gnutls_credentials_type_t type, int size, - int allow_change); - #endif diff -Nru gnutls26-2.8.6/lib/gnutls_auth_int.h gnutls26-2.4.1/lib/gnutls_auth_int.h --- gnutls26-2.8.6/lib/gnutls_auth_int.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_auth_int.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +const void *_gnutls_get_cred (gnutls_key_st key, + gnutls_credentials_type_t kx, int *err); +const void *_gnutls_get_kx_cred (gnutls_session_t session, + gnutls_kx_algorithm_t algo, int *err); +void *_gnutls_get_auth_info (gnutls_session_t session); +int _gnutls_auth_info_set (gnutls_session_t session, + gnutls_credentials_type_t type, int size, + int allow_change); diff -Nru gnutls26-2.8.6/lib/gnutls_buffer.h gnutls26-2.4.1/lib/gnutls_buffer.h --- gnutls26-2.8.6/lib/gnutls_buffer.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_buffer.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#include + +typedef gnutls_string gnutls_buffer; + +#define _gnutls_buffer_init(buf) _gnutls_string_init(buf, gnutls_malloc, gnutls_realloc, gnutls_free); +#define _gnutls_buffer_clear _gnutls_string_clear +#define _gnutls_buffer_append _gnutls_string_append_data diff -Nru gnutls26-2.8.6/lib/gnutls_buffers.c gnutls26-2.4.1/lib/gnutls_buffers.c --- gnutls26-2.8.6/lib/gnutls_buffers.c 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_buffers.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -55,10 +55,9 @@ #include -/* We need to disable gnulib's replacement wrappers to get native - Windows interfaces. */ -#undef recv -#undef send +#ifdef _WIN32 +# include +#endif #ifndef EAGAIN # define EAGAIN EWOULDBLOCK @@ -187,18 +186,16 @@ } /** - * gnutls_record_check_pending - checks if there are any data to receive in gnutls buffers. - * @session: is a #gnutls_session_t structure. - * - * This function checks if there are any data to receive in the gnutls - * buffers. - * - * Notice that you may also use select() to check for data in a TCP - * connection, instead of this function. GnuTLS leaves some data in - * the tcp buffer in order for select to work. - * - * Returns: the size of that data or 0. - **/ + * gnutls_record_check_pending - checks if there are any data to receive in gnutls buffers. + * @session: is a #gnutls_session_t structure. + * + * This function checks if there are any data to receive + * in the gnutls buffers. Returns the size of that data or 0. + * Notice that you may also use select() to check for data in + * a TCP connection, instead of this function. + * (gnutls leaves some data in the tcp buffer in order for select + * to work). + **/ size_t gnutls_record_check_pending (gnutls_session_t session) { @@ -219,22 +216,63 @@ switch (type) { case GNUTLS_APPLICATION_DATA: - _gnutls_buffer_get_data( &session->internals.application_data_buffer, data, &length); + + if (length > session->internals.application_data_buffer.length) + { + length = session->internals.application_data_buffer.length; + } + _gnutls_buffers_log ("BUFFER[REC][AD]: Read %d bytes of Data(%d)\n", length, type); + + session->internals.application_data_buffer.length -= length; + memcpy (data, session->internals.application_data_buffer.data, length); + + /* overwrite buffer */ + memmove (session->internals.application_data_buffer.data, + &session->internals.application_data_buffer.data[length], + session->internals.application_data_buffer.length); + + /* we do no longer realloc the application_data_buffer.data, + * since it serves no practical reason. It also decreases + * performance. + */ break; case GNUTLS_HANDSHAKE: - _gnutls_buffer_get_data( &session->internals.handshake_data_buffer, data, &length); + if (length > session->internals.handshake_data_buffer.length) + { + length = session->internals.handshake_data_buffer.length; + } + _gnutls_buffers_log ("BUF[REC][HD]: Read %d bytes of Data(%d)\n", length, type); + + session->internals.handshake_data_buffer.length -= length; + memcpy (data, session->internals.handshake_data_buffer.data, length); + + /* overwrite buffer */ + memmove (session->internals.handshake_data_buffer.data, + &session->internals.handshake_data_buffer.data[length], + session->internals.handshake_data_buffer.length); + break; case GNUTLS_INNER_APPLICATION: + if (length > session->internals.ia_data_buffer.length) + length = session->internals.ia_data_buffer.length; - _gnutls_buffer_get_data( &session->internals.ia_data_buffer, data, &length); _gnutls_buffers_log ("BUF[REC][IA]: Read %d bytes of Data(%d)\n", length, type); + + session->internals.ia_data_buffer.length -= length; + memcpy (data, session->internals.ia_data_buffer.data, length); + + /* overwrite buffer */ + memmove (session->internals.ia_data_buffer.data, + &session->internals.ia_data_buffer.data[length], + session->internals.ia_data_buffer.length); + break; default: @@ -272,12 +310,12 @@ if (session->internals._gnutls_pull_func == NULL) { - i = recv (GNUTLS_POINTER_TO_INT (fd), &ptr[sizeOfPtr - left], + i = recv (GNUTLS_POINTER_TO_INT(fd), &ptr[sizeOfPtr - left], left, flags); -#if HAVE_WINSOCK2_H +#if HAVE_WINSOCK if (i < 0) { - int tmperr = WSAGetLastError (); + int tmperr = WSAGetLastError(); switch (tmperr) { case WSAEWOULDBLOCK: @@ -292,7 +330,7 @@ session->internals.errnum = EIO; break; } - WSASetLastError (tmperr); + WSASetLastError(tmperr); } #endif } @@ -306,7 +344,7 @@ int err = session->internals.errnum ? session->internals.errnum : errno; - _gnutls_read_log ("READ: %d returned from %p, errno=%d gerrno=%d\n", + _gnutls_read_log ("READ: %d returned from %d, errno=%d gerrno=%d\n", i, fd, errno, session->internals.errnum); if (err == EAGAIN || err == EINTR) @@ -314,7 +352,7 @@ if (sizeOfPtr - left > 0) { - _gnutls_read_log ("READ: returning %d bytes from %p\n", + _gnutls_read_log ("READ: returning %d bytes from %d\n", sizeOfPtr - left, fd); goto finish; @@ -334,7 +372,7 @@ else { - _gnutls_read_log ("READ: Got %d bytes from %p\n", i, fd); + _gnutls_read_log ("READ: Got %d bytes from %d\n", i, fd); if (i == 0) break; /* EOF */ @@ -352,7 +390,7 @@ char tmp[16]; - _gnutls_read_log ("READ: read %d bytes from %p\n", + _gnutls_read_log ("READ: read %d bytes from %d\n", (sizeOfPtr - left), fd); for (x = 0; x < ((sizeOfPtr - left) / 16) + 1; x++) @@ -448,7 +486,7 @@ int buf_pos; opaque *buf; int recvlowat; - int recvdata; + int recvdata, alloc_size; *iptr = session->internals.record_recv_buffer.data; @@ -512,13 +550,14 @@ /* Allocate the data required to store the new packet. */ - ret = _gnutls_buffer_resize( &session->internals.record_recv_buffer, - recvdata + session->internals.record_recv_buffer.length); - - if (ret < 0) + alloc_size = recvdata + session->internals.record_recv_buffer.length; + session->internals.record_recv_buffer.data = + gnutls_realloc_fast (session->internals.record_recv_buffer.data, + alloc_size); + if (session->internals.record_recv_buffer.data == NULL) { - gnutls_assert(); - return ret; + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; } buf_pos = session->internals.record_recv_buffer.length; @@ -614,6 +653,64 @@ } } + +/* These two functions are used to insert data to the send buffer of the handshake or + * record protocol. The send buffer is kept if a send is interrupted and we need to keep + * the data left to sent, in order to send them later. + */ + +#define MEMSUB(x,y) ((ssize_t)((ptrdiff_t)x-(ptrdiff_t)y)) + +inline static int +_gnutls_buffer_insert (gnutls_buffer * buffer, + const opaque * _data, size_t data_size) +{ + + if ((MEMSUB (_data, buffer->data) >= 0) + && (MEMSUB (_data, buffer->data) < (ssize_t) buffer->length)) + { + /* the given _data is part of the buffer. + */ + if (data_size > buffer->length) + { + gnutls_assert (); + /* this shouldn't have happened */ + return GNUTLS_E_INTERNAL_ERROR; + } + + if (_data == buffer->data) + { /* then don't even memmove */ + buffer->length = data_size; + return 0; + } + + memmove (buffer->data, _data, data_size); + buffer->length = data_size; + + return 0; + + } + + if (_gnutls_buffer_append (buffer, _data, data_size) < 0) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + return 0; +} + +inline static int +_gnutls_buffer_get (gnutls_buffer * buffer, + const opaque ** ptr, size_t * ptr_size) +{ + *ptr_size = buffer->length; + *ptr = buffer->data; + + return 0; +} + + /* This function is like write. But it does not return -1 on error. * It does return gnutls_errno instead. * @@ -633,6 +730,7 @@ unsigned j, x, sum = 0; ssize_t retval, i; const opaque *ptr; + int ret; gnutls_transport_ptr_t fd = session->internals.transport_send_ptr; /* to know where the procedure was interrupted. @@ -655,18 +753,20 @@ */ if (iptr == NULL) { - gnutls_datum bdata; /* checking is handled above */ - _gnutls_buffer_get_datum (&session->internals.record_send_buffer, &bdata, session->internals.record_send_buffer.length); - - ptr = bdata.data; - n = bdata.size; + ret = + _gnutls_buffer_get (&session->internals.record_send_buffer, &ptr, &n); + if (ret < 0) + { + gnutls_assert (); + return ret; + } _gnutls_write_log ("WRITE: Restoring old write. (%d bytes to send)\n", n); } - _gnutls_write_log ("WRITE: Will write %d bytes to %p.\n", n, fd); + _gnutls_write_log ("WRITE: Will write %d bytes to %d.\n", n, fd); i = 0; left = n; @@ -677,11 +777,11 @@ if (session->internals._gnutls_push_func == NULL) { - i = send (GNUTLS_POINTER_TO_INT (fd), &ptr[n - left], left, 0); -#if HAVE_WINSOCK2_H + i = send (GNUTLS_POINTER_TO_INT(fd), &ptr[n - left], left, 0); +#if HAVE_WINSOCK if (i < 0) { - int tmperr = WSAGetLastError (); + int tmperr = WSAGetLastError(); switch (tmperr) { case WSAEWOULDBLOCK: @@ -696,7 +796,7 @@ session->internals.errnum = EIO; break; } - WSASetLastError (tmperr); + WSASetLastError(tmperr); } #endif } @@ -713,7 +813,8 @@ session->internals.record_send_buffer_prev_size += n - left; retval = - _gnutls_buffer_append (&session->internals.record_send_buffer, + _gnutls_buffer_insert (&session->internals. + record_send_buffer, &ptr[n - left], left); if (retval < 0) { @@ -745,7 +846,7 @@ _gnutls_write_log - ("WRITE: wrote %d bytes to %p. Left %d bytes. Total %d bytes.\n", + ("WRITE: wrote %d bytes to %d. Left %d bytes. Total %d bytes.\n", i, fd, left, n); for (x = 0; x < (unsigned) ((i) / 16) + 1; x++) { @@ -761,8 +862,7 @@ { if (sum < n - left) { - sprintf (tmp, "%.2x ", - ((const unsigned char *) ptr)[sum++]); + sprintf (tmp, "%.2x ", ((unsigned char *) ptr)[sum++]); _gnutls_str_cat (line, sizeof (line), tmp); } else @@ -847,17 +947,17 @@ if (session->internals.handshake_send_buffer.length > 0 && ptr == NULL && n == 0) { - gnutls_datum bdata; - /* resuming previously interrupted write */ gnutls_assert (); - - /* checking is handled above */ - _gnutls_buffer_get_datum (&session->internals.handshake_send_buffer, &bdata, session->internals.handshake_send_buffer.length); - - ptr = bdata.data; - n = bdata.size; + ret = + _gnutls_buffer_get (&session->internals.handshake_send_buffer, + &ptr, &n); + if (ret < 0) + { + gnutls_assert (); + return retval; + } type = session->internals.handshake_send_buffer_type; htype = session->internals.handshake_send_buffer_htype; @@ -927,9 +1027,9 @@ gnutls_assert (); retval = - _gnutls_buffer_append (&session->internals. - handshake_send_buffer, &ptr[n - left], - left); + _gnutls_buffer_insert (&session->internals. + handshake_send_buffer, + &ptr[n - left], left); if (retval < 0) { gnutls_assert (); @@ -988,27 +1088,34 @@ if (session->internals.handshake_recv_buffer.length > 0) { - size_t tmp; - /* if we have already received some data */ if (sizeOfPtr <= session->internals.handshake_recv_buffer.length) { /* if requested less data then return it. */ gnutls_assert (); - - tmp = sizeOfPtr; - _gnutls_string_get_data( &session->internals.handshake_recv_buffer, iptr, &tmp); - return tmp; + memcpy (iptr, session->internals.handshake_recv_buffer.data, + sizeOfPtr); + + session->internals.handshake_recv_buffer.length -= sizeOfPtr; + + memmove (session->internals.handshake_recv_buffer.data, + &session->internals.handshake_recv_buffer. + data[sizeOfPtr], + session->internals.handshake_recv_buffer.length); + + return sizeOfPtr; } gnutls_assert (); - - tmp = sizeOfPtr; - _gnutls_string_get_data( &session->internals.handshake_recv_buffer, iptr, &tmp); - left -= tmp; + memcpy (iptr, session->internals.handshake_recv_buffer.data, + session->internals.handshake_recv_buffer.length); htype = session->internals.handshake_recv_buffer_htype; type = session->internals.handshake_recv_buffer_type; + + left -= session->internals.handshake_recv_buffer.length; + + session->internals.handshake_recv_buffer.length = 0; } while (left > 0) @@ -1022,12 +1129,25 @@ { gnutls_assert (); - _gnutls_buffer_append (&session->internals.handshake_recv_buffer, iptr, + session->internals.handshake_recv_buffer.data = + gnutls_realloc_fast (session->internals. + handshake_recv_buffer.data, dsize); + if (session->internals.handshake_recv_buffer.data == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + memcpy (session->internals.handshake_recv_buffer.data, iptr, dsize); session->internals.handshake_recv_buffer_htype = htype; session->internals.handshake_recv_buffer_type = type; + + session->internals.handshake_recv_buffer.length = dsize; } + else + session->internals.handshake_recv_buffer.length = 0; gnutls_assert (); @@ -1115,7 +1235,7 @@ if (length != NULL) *length = session->internals.handshake_hash_buffer.length; - _gnutls_buffers_log ("BUF[HSK]: Peeked %d bytes of Data\n", (int)session->internals.handshake_hash_buffer.length); + _gnutls_buffers_log ("BUF[HSK]: Peeked %d bytes of Data\n", *length); if (data_ptr != NULL) *data_ptr = session->internals.handshake_hash_buffer.data; diff -Nru gnutls26-2.8.6/lib/gnutls_buffers.h gnutls26-2.4.1/lib/gnutls_buffers.h --- gnutls26-2.8.6/lib/gnutls_buffers.h 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_buffers.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -63,3 +63,5 @@ const void *, size_t); ssize_t _gnutls_io_write_flush (gnutls_session_t session); ssize_t _gnutls_handshake_io_write_flush (gnutls_session_t session); + +size_t gnutls_record_check_pending (gnutls_session_t session); diff -Nru gnutls26-2.8.6/lib/gnutls_cert.c gnutls26-2.4.1/lib/gnutls_cert.c --- gnutls26-2.8.6/lib/gnutls_cert.c 2010-01-13 09:21:26.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_cert.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -37,7 +38,7 @@ #include #include #include -#include +#include #include #include "x509/x509_int.h" #ifdef ENABLE_OPENPGP @@ -46,7 +47,7 @@ /** * gnutls_certificate_free_keys - Used to free all the keys from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * * This function will delete all the keys and the certificates associated * with the given credentials. This function must not be called when a @@ -87,7 +88,7 @@ /** * gnutls_certificate_free_cas - Used to free all the CAs from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * * This function will delete all the CAs associated * with the given credentials. Servers that do not use @@ -114,7 +115,7 @@ /** * gnutls_certificate_get_x509_cas - Used to export all the CAs from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * @x509_ca_list: will point to the CA list. Should be treated as constant * @ncas: the number of CAs * @@ -124,9 +125,8 @@ * Since: 2.4.0 **/ void -gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, - gnutls_x509_crt_t ** x509_ca_list, - unsigned int *ncas) +gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, + gnutls_x509_crt_t **x509_ca_list, unsigned int* ncas) { *x509_ca_list = sc->x509_ca_list; *ncas = sc->x509_ncas; @@ -134,7 +134,7 @@ /** * gnutls_certificate_get_x509_crls - Used to export all the CRLs from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * @x509_crl_list: the exported CRL list. Should be treated as constant * @ncrls: the number of exported CRLs * @@ -144,9 +144,8 @@ * Since: 2.4.0 **/ void -gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, - gnutls_x509_crl_t ** x509_crl_list, - unsigned int *ncrls) +gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, + gnutls_x509_crl_t **x509_crl_list, unsigned int* ncrls) { *x509_crl_list = sc->x509_crl_list; *ncrls = sc->x509_ncrls; @@ -155,18 +154,18 @@ #ifdef ENABLE_OPENPGP /** - * gnutls_certificate_get_openpgp_keyring - export keyring from a #gnutls_certificate_credentials_t - * @sc: is a #gnutls_certificate_credentials_t structure. - * @keyring: the exported keyring. Should be treated as constant - * - * This function will export the OpenPGP keyring associated with the - * given credentials. - * - * Since: 2.4.0 - **/ + * gnutls_certificate_get_openpgp_keyring - Used to export the keyring from a gnutls_certificate_credentials_t structure + * @sc: is an #gnutls_certificate_credentials_t structure. + * @ring: the exported keyring. Should be treated as constant + * + * This function will export the OpenPGP keyring associated with the + * given credentials. + * + * Since: 2.4.0 + **/ void -gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, - gnutls_openpgp_keyring_t * keyring) +gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, + gnutls_openpgp_keyring_t *keyring) { *keyring = sc->keyring; } @@ -175,7 +174,7 @@ /** * gnutls_certificate_free_ca_names - Used to free all the CA names from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * * This function will delete all the CA name in the * given credentials. Clients may call this to save some memory @@ -233,7 +232,7 @@ /** * gnutls_certificate_free_credentials - Used to free an allocated gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * * This structure is complex enough to manipulate directly thus * this helper function is provided in order to free (deallocate) it. @@ -253,7 +252,7 @@ #endif #ifdef ENABLE_OPENPGP - gnutls_openpgp_keyring_deinit (sc->keyring); + gnutls_openpgp_keyring_deinit( sc->keyring); #endif gnutls_free (sc); @@ -262,7 +261,7 @@ /** * gnutls_certificate_allocate_credentials - Used to allocate a gnutls_certificate_credentials_t structure - * @res: is a pointer to a #gnutls_certificate_credentials_t structure. + * @res: is a pointer to an #gnutls_certificate_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -332,7 +331,7 @@ return GNUTLS_E_INVALID_REQUEST; } - *alg = gnutls_calloc (i, sizeof (gnutls_kx_algorithm_t)); + *alg = gnutls_calloc (1, sizeof (gnutls_kx_algorithm_t) * i); if (*alg == NULL) return GNUTLS_E_MEMORY_ERROR; @@ -346,7 +345,7 @@ /** * gnutls_certificate_server_set_request - Used to set whether to request a client certificate - * @session: is a #gnutls_session_t structure. + * @session: is an #gnutls_session_t structure. * @req: is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE * * This function specifies if we (in case of a server) are going @@ -503,9 +502,9 @@ * Returns a negative error code in case of an error, or GNUTLS_E_NO_CERTIFICATE_FOUND if no certificate was sent. * -*/ -static int +int _gnutls_openpgp_crt_verify_peers (gnutls_session_t session, - unsigned int *status) + unsigned int *status) { cert_auth_info_t info; gnutls_certificate_credentials_t cred; @@ -546,7 +545,7 @@ */ ret = _gnutls_openpgp_verify_key (cred, &info->raw_certificate_list[0], - peer_certificate_list_size, status); + peer_certificate_list_size, status); if (ret < 0) { @@ -574,8 +573,8 @@ * Note that you must also check the peer's name in order to check if * the verified certificate belongs to the actual peer. * - * This function uses gnutls_x509_crt_list_verify() with the CAs in - * the credentials as trusted CAs. + * This is the same as gnutls_x509_crt_list_verify() and uses the + * loaded CAs in the credentials as trusted CAs. * * Note that some commonly used X.509 Certificate Authorities are * still using Version 1 certificates. If you want to accept them, @@ -623,10 +622,11 @@ * the peer's name in order to check if the verified certificate * belongs to the actual peer. * - * This function uses gnutls_x509_crt_list_verify(). + * The return value should be one or more of the + * gnutls_certificate_status_t enumerated elements bitwise or'd, or a + * negative value on error. * - * Returns: one or more of the #gnutls_certificate_status_t - * enumerated elements bitwise or'd, or a negative value on error. + * This is the same as gnutls_x509_crt_list_verify(). * * Deprecated: Use gnutls_certificate_verify_peers2() instead. **/ @@ -654,8 +654,6 @@ * This function will return the peer's certificate expiration time. * * Returns: (time_t)-1 on error. - * - * Deprecated: gnutls_certificate_verify_peers2() now verifies expiration times. **/ time_t gnutls_certificate_expiration_time_peers (gnutls_session_t session) @@ -679,14 +677,14 @@ switch (gnutls_certificate_type_get (session)) { case GNUTLS_CRT_X509: - return - _gnutls_x509_get_raw_crt_expiration_time (&info->raw_certificate_list - [0]); + return _gnutls_x509_get_raw_crt_expiration_time (&info-> + raw_certificate_list + [0]); #ifdef ENABLE_OPENPGP case GNUTLS_CRT_OPENPGP: - return - _gnutls_openpgp_get_raw_key_expiration_time - (&info->raw_certificate_list[0]); + return _gnutls_openpgp_get_raw_key_expiration_time (&info-> + raw_certificate_list + [0]); #endif default: return (time_t) - 1; @@ -701,8 +699,6 @@ * This is the creation time for openpgp keys. * * Returns: (time_t)-1 on error. - * - * Deprecated: gnutls_certificate_verify_peers2() now verifies activation times. **/ time_t gnutls_certificate_activation_time_peers (gnutls_session_t session) @@ -726,14 +722,14 @@ switch (gnutls_certificate_type_get (session)) { case GNUTLS_CRT_X509: - return - _gnutls_x509_get_raw_crt_activation_time (&info->raw_certificate_list - [0]); + return _gnutls_x509_get_raw_crt_activation_time (&info-> + raw_certificate_list + [0]); #ifdef ENABLE_OPENPGP case GNUTLS_CRT_OPENPGP: - return - _gnutls_openpgp_get_raw_key_creation_time (&info->raw_certificate_list - [0]); + return _gnutls_openpgp_get_raw_key_creation_time (&info-> + raw_certificate_list + [0]); #endif default: return (time_t) - 1; @@ -745,23 +741,17 @@ */ int _gnutls_get_auth_info_gcert (gnutls_cert * gcert, - gnutls_certificate_type_t type, - cert_auth_info_t info, - int flags /* OR of ConvFlags */ ) + gnutls_certificate_type_t type, + cert_auth_info_t info, + int flags /* OR of ConvFlags */ ) { switch (type) { case GNUTLS_CRT_X509: - return _gnutls_x509_raw_cert_to_gcert (gcert, - &info->raw_certificate_list[0], - flags); + return _gnutls_x509_raw_cert_to_gcert (gcert, &info->raw_certificate_list[0], flags); #ifdef ENABLE_OPENPGP case GNUTLS_CRT_OPENPGP: - return _gnutls_openpgp_raw_crt_to_gcert (gcert, - &info->raw_certificate_list[0], - info-> - use_subkey ? info->subkey_id : - NULL); + return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], info->use_subkey?info->subkey_id:NULL); #endif default: gnutls_assert (); @@ -931,7 +921,8 @@ **/ void gnutls_sign_callback_set (gnutls_session_t session, - gnutls_sign_func sign_func, void *userdata) + gnutls_sign_func sign_func, + void *userdata) { session->internals.sign_func = sign_func; session->internals.sign_func_userdata = userdata; @@ -948,7 +939,8 @@ * if not set, %NULL. **/ gnutls_sign_func -gnutls_sign_callback_get (gnutls_session_t session, void **userdata) +gnutls_sign_callback_get (gnutls_session_t session, + void **userdata) { if (userdata) *userdata = session->internals.sign_func_userdata; diff -Nru gnutls26-2.8.6/lib/gnutls_cert.h gnutls26-2.4.1/lib/gnutls_cert.h --- gnutls26-2.8.6/lib/gnutls_cert.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_cert.h 2008-06-30 21:45:51.000000000 +0100 @@ -26,6 +26,7 @@ # define GNUTLS_CERT_H #include +#include #include "x509/x509_int.h" #include @@ -38,7 +39,7 @@ /* For key Usage, test as: * if (st.key_usage & KEY_DIGITAL_SIGNATURE) ... */ -#define KEY_DIGITAL_SIGNATURE 128 +#define KEY_DIGITAL_SIGNATURE 128 #define KEY_NON_REPUDIATION 64 #define KEY_KEY_ENCIPHERMENT 32 #define KEY_DATA_ENCIPHERMENT 16 @@ -50,21 +51,20 @@ typedef struct gnutls_cert { - /* the size of params depends on the public - * key algorithm - * RSA: [0] is modulus - * [1] is public exponent - * DSA: [0] is p - * [1] is q - * [2] is g - * [3] is public key - */ - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; /* the size of params depends on the public + * key algorithm + * RSA: [0] is modulus + * [1] is public exponent + * DSA: [0] is p + * [1] is q + * [2] is g + * [3] is public key + */ int params_size; /* holds the size of MPI params */ gnutls_pk_algorithm_t subject_pk_algorithm; - unsigned int key_usage; /* bits from KEY_* + unsigned int key_usage; /* bits from KEY_* */ unsigned int version; @@ -82,8 +82,10 @@ typedef struct gnutls_privkey_int { - /* the size of params depends on the public - * key algorithm + mpi_t params[MAX_PRIV_PARAMS_SIZE]; /* the size of params depends on the public + * key algorithm + */ + /* * RSA: [0] is modulus * [1] is public exponent * [2] is private exponent @@ -96,14 +98,12 @@ * [3] is y (public key) * [4] is x (private key) */ - bigint_t params[MAX_PRIV_PARAMS_SIZE]; int params_size; /* holds the number of params */ gnutls_pk_algorithm_t pk_algorithm; } gnutls_privkey; -/* because gnutls_session_t is not defined when this file is included */ -struct gnutls_session_int; +struct gnutls_session_int; /* because gnutls_session_t is not defined when this file is included */ typedef enum ConvFlags { diff -Nru gnutls26-2.8.6/lib/gnutls_cipher.c gnutls26-2.4.1/lib/gnutls_cipher.c --- gnutls26-2.8.6/lib/gnutls_cipher.c 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_cipher.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -40,6 +40,7 @@ #include "gnutls_record.h" #include "gnutls_constate.h" #include +#include inline static int is_write_comp_null (gnutls_session_t session) @@ -177,12 +178,12 @@ } /* This check is not really needed */ - if (max_data_size < MAX_RECORD_RECV_SIZE) - { - gnutls_assert (); - _gnutls_free_datum (>xt); - return GNUTLS_E_INTERNAL_ERROR; - } + if (max_data_size < MAX_RECORD_RECV_SIZE) + { + gnutls_assert(); + _gnutls_free_datum (>xt); + return GNUTLS_E_INTERNAL_ERROR; + } memcpy (data, gtxt.data, gtxt.size); ret = gtxt.size; @@ -194,14 +195,14 @@ } inline static int -mac_init (digest_hd_st * td, gnutls_mac_algorithm_t mac, opaque * secret, - int secret_size, int ver) +mac_init (digest_hd_st* td, gnutls_mac_algorithm_t mac, opaque * secret, int secret_size, + int ver) { - int ret = 0; +int ret = 0; if (mac == GNUTLS_MAC_NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_HASH_FAILED; } @@ -218,7 +219,7 @@ } inline static void -mac_deinit (digest_hd_st * td, opaque * res, int ver) +mac_deinit (digest_hd_st *td, opaque * res, int ver) { if (ver == GNUTLS_SSL3) { /* SSL 3.0 */ @@ -247,8 +248,8 @@ break; case CIPHER_BLOCK: - ret = _gnutls_rnd (GNUTLS_RND_NONCE, &rnd, 1); - if (ret < 0) + ret =_gnutls_rnd (RND_NONCE, &rnd, 1); + if ( ret < 0) { gnutls_assert (); return ret; @@ -325,11 +326,10 @@ /* Initialize MAC */ ret = mac_init (&td, session->security_parameters.write_mac_algorithm, - session->connection_state.write_mac_secret.data, - session->connection_state.write_mac_secret.size, ver); + session->connection_state.write_mac_secret.data, + session->connection_state.write_mac_secret.size, ver); - if (ret < 0 - && session->security_parameters.write_mac_algorithm != GNUTLS_MAC_NULL) + if (ret < 0 && session->security_parameters.write_mac_algorithm != GNUTLS_MAC_NULL) { gnutls_assert (); return ret; @@ -380,7 +380,7 @@ { /* copy the random IV. */ - ret = _gnutls_rnd (GNUTLS_RND_NONCE, data_ptr, blocksize); + ret = _gnutls_rnd (RND_NONCE, data_ptr, blocksize); if (ret < 0) { gnutls_assert (); @@ -406,9 +406,8 @@ /* Actual encryption (inplace). */ - ret = - _gnutls_cipher_encrypt (&session->connection_state.write_cipher_state, - cipher_data, length); + ret = _gnutls_cipher_encrypt (&session->connection_state. + write_cipher_state, cipher_data, length); if (ret < 0) { gnutls_assert (); @@ -444,15 +443,14 @@ minor = _gnutls_version_get_minor (ver); major = _gnutls_version_get_major (ver); - blocksize = - _gnutls_cipher_get_block_size (session->security_parameters. - read_bulk_cipher_algorithm); + blocksize = _gnutls_cipher_get_block_size (session->security_parameters. + read_bulk_cipher_algorithm); /* initialize MAC */ ret = mac_init (&td, session->security_parameters.read_mac_algorithm, - session->connection_state.read_mac_secret.data, - session->connection_state.read_mac_secret.size, ver); + session->connection_state.read_mac_secret.data, + session->connection_state.read_mac_secret.size, ver); if (ret < 0 && session->security_parameters.read_mac_algorithm != GNUTLS_MAC_NULL) @@ -467,10 +465,10 @@ (session->security_parameters.read_bulk_cipher_algorithm)) { case CIPHER_STREAM: - if ((ret = - _gnutls_cipher_decrypt (&session->connection_state. - read_cipher_state, ciphertext.data, - ciphertext.size)) < 0) + if ((ret = _gnutls_cipher_decrypt (&session->connection_state. + read_cipher_state, + ciphertext.data, + ciphertext.size)) < 0) { gnutls_assert (); return ret; @@ -486,10 +484,10 @@ return GNUTLS_E_DECRYPTION_FAILED; } - if ((ret = - _gnutls_cipher_decrypt (&session->connection_state. - read_cipher_state, ciphertext.data, - ciphertext.size)) < 0) + if ((ret = _gnutls_cipher_decrypt (&session->connection_state. + read_cipher_state, + ciphertext.data, + ciphertext.size)) < 0) { gnutls_assert (); return ret; @@ -511,11 +509,11 @@ pad = ciphertext.data[ciphertext.size - 1] + 1; /* pad */ - if ((int) pad > (int) ciphertext.size - hash_size) + if ((int)pad > (int)ciphertext.size - hash_size) { gnutls_assert (); _gnutls_record_log - ("REC[%p]: Short record length %d > %d - %d (under attack?)\n", + ("REC[%x]: Short record length %d > %d - %d (under attack?)\n", session, pad, ciphertext.size, hash_size); /* We do not fail here. We check below for the * the pad_failed. If zero means success. diff -Nru gnutls26-2.8.6/lib/gnutls_cipher_int.c gnutls26-2.4.1/lib/gnutls_cipher_int.c --- gnutls26-2.8.6/lib/gnutls_cipher_int.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_cipher_int.c 2008-06-30 21:45:51.000000000 +0100 @@ -31,118 +31,151 @@ #define SR(x, cleanup) if ( (x)<0 ) { \ gnutls_assert(); \ - ret = GNUTLS_E_INTERNAL_ERROR; \ + err = GNUTLS_E_INTERNAL_ERROR; \ goto cleanup; \ } int -_gnutls_cipher_init (cipher_hd_st * handle, gnutls_cipher_algorithm_t cipher, +_gnutls_cipher_init (cipher_hd_st* handle, gnutls_cipher_algorithm_t cipher, const gnutls_datum_t * key, const gnutls_datum_t * iv) { - int ret = GNUTLS_E_INTERNAL_ERROR; - gnutls_crypto_single_cipher_st *cc = NULL; + int err = GC_INVALID_CIPHER; /* doesn't matter */ + gnutls_crypto_cipher_st * cc = NULL; - /* check if a cipher has been registered + /* check if a cipher has been registered */ - cc = _gnutls_get_crypto_cipher (cipher); - if (cc != NULL) - { - handle->registered = 1; - handle->hd.rh.cc = cc; - SR (cc->init (&handle->hd.rh.ctx), cc_cleanup); - SR (cc->setkey (handle->hd.rh.ctx, key->data, key->size), cc_cleanup); - if (iv->data && iv->size && cc->setiv) - SR (cc->setiv (handle->hd.rh.ctx, iv->data, iv->size), cc_cleanup); - return 0; - } - - handle->registered = 0; + cc = _gnutls_get_crypto_cipher( cipher); + if (cc != NULL) { + handle->registered = 1; + handle->hd.rh.cc = cc; + SR( cc->init(&handle->hd.rh.ctx), cc_cleanup ); + SR(cc->setkey( handle->hd.rh.ctx, key->data, key->size), cc_cleanup); + if (iv->data && iv->size && cc->setiv) + SR(cc->setiv( handle->hd.rh.ctx, iv->data, iv->size), cc_cleanup); + return 0; + } - /* otherwise use generic cipher interface + handle->registered = 0; + /* otherwise use included ciphers */ - ret = _gnutls_cipher_ops.init (cipher, &handle->hd.gc); - if (ret < 0) + switch (cipher) { - gnutls_assert (); - return ret; + case GNUTLS_CIPHER_AES_128_CBC: + err = gc_cipher_open (GC_AES128, GC_CBC, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_AES_256_CBC: + err = gc_cipher_open (GC_AES256, GC_CBC, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_3DES_CBC: + err = gc_cipher_open (GC_3DES, GC_CBC, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_DES_CBC: + err = gc_cipher_open (GC_DES, GC_CBC, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_ARCFOUR_128: + err = gc_cipher_open (GC_ARCFOUR128, GC_STREAM, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_ARCFOUR_40: + err = gc_cipher_open (GC_ARCFOUR40, GC_STREAM, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_RC2_40_CBC: + err = gc_cipher_open (GC_ARCTWO40, GC_CBC, &handle->hd.gc); + break; + +#ifdef ENABLE_CAMELLIA + case GNUTLS_CIPHER_CAMELLIA_128_CBC: + err = gc_cipher_open (GC_CAMELLIA128, GC_CBC, &handle->hd.gc); + break; + + case GNUTLS_CIPHER_CAMELLIA_256_CBC: + err = gc_cipher_open (GC_CAMELLIA256, GC_CBC, &handle->hd.gc); + break; +#endif + + default: + gnutls_assert(); + return GNUTLS_E_INVALID_REQUEST; } - ret = _gnutls_cipher_ops.setkey (handle->hd.gc, key->data, key->size); - if (ret < 0) + if (err == 0) + { + gc_cipher_setkey (handle->hd.gc, key->size, key->data); + if (iv->data != NULL && iv->size > 0) + gc_cipher_setiv (handle->hd.gc, iv->size, iv->data); + } + else if (cipher != GNUTLS_CIPHER_NULL) { - _gnutls_cipher_ops.deinit (handle->hd.gc); gnutls_assert (); - return ret; + _gnutls_x509_log ("Crypto cipher[%d] error: %d\n", cipher, err); + return GNUTLS_E_INTERNAL_ERROR; + /* FIXME: gc_strerror */ } - if (iv->data != NULL && iv->size > 0) - _gnutls_cipher_ops.setiv (handle->hd.gc, iv->data, iv->size); - return 0; cc_cleanup: if (handle->hd.rh.cc) - cc->deinit (handle->hd.rh.ctx); - - return ret; + cc->deinit(handle->hd.rh.ctx); + + return err; } int -_gnutls_cipher_encrypt (const cipher_hd_st * handle, void *text, int textlen) +_gnutls_cipher_encrypt (const cipher_hd_st* handle, void *text, int textlen) { if (handle != NULL) { - if (handle->registered) + if (handle->registered) { + if (handle->hd.rh.ctx == NULL) return 0; + return handle->hd.rh.cc->encrypt( handle->hd.rh.ctx, text, textlen, text, textlen); + } + + if (handle->hd.gc == NULL) return 0; + if (gc_cipher_encrypt_inline (handle->hd.gc, textlen, text) != 0) { - if (handle->hd.rh.ctx == NULL) - return 0; - return handle->hd.rh.cc->encrypt (handle->hd.rh.ctx, text, textlen, - text, textlen); + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; } - - if (handle->hd.gc == NULL) - return 0; - return _gnutls_cipher_ops.encrypt (handle->hd.gc, text, textlen, text, - textlen); } return 0; } int -_gnutls_cipher_decrypt (const cipher_hd_st * handle, void *ciphertext, +_gnutls_cipher_decrypt (const cipher_hd_st *handle, void *ciphertext, int ciphertextlen) { if (handle != NULL) { - if (handle->registered) + if (handle->registered) { + if (handle->hd.rh.ctx == NULL) return 0; + return handle->hd.rh.cc->decrypt( handle->hd.rh.ctx, ciphertext, ciphertextlen, ciphertext, ciphertextlen); + } + + if (handle->hd.gc == NULL) return 0; + if (gc_cipher_decrypt_inline (handle->hd.gc, ciphertextlen, ciphertext) != 0) { - if (handle->hd.rh.ctx == NULL) - return 0; - return handle->hd.rh.cc->decrypt (handle->hd.rh.ctx, ciphertext, - ciphertextlen, ciphertext, - ciphertextlen); + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; } - - if (handle->hd.gc == NULL) - return 0; - return _gnutls_cipher_ops.decrypt (handle->hd.gc, ciphertext, - ciphertextlen, ciphertext, - ciphertextlen); } return 0; } void -_gnutls_cipher_deinit (cipher_hd_st * handle) +_gnutls_cipher_deinit (cipher_hd_st* handle) { if (handle != NULL) { - if (handle->registered && handle->hd.rh.ctx != NULL) - { - handle->hd.rh.cc->deinit (handle->hd.rh.ctx); - return; - } - _gnutls_cipher_ops.deinit (handle->hd.gc); + if (handle->registered && handle->hd.rh.ctx != NULL) { + return handle->hd.rh.cc->deinit( handle->hd.rh.ctx); + } + gc_cipher_close (handle->hd.gc); } } diff -Nru gnutls26-2.8.6/lib/gnutls_cipher_int.h gnutls26-2.4.1/lib/gnutls_cipher_int.h --- gnutls26-2.8.6/lib/gnutls_cipher_int.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_cipher_int.h 2008-06-30 21:45:51.000000000 +0100 @@ -27,18 +27,15 @@ #include -extern int crypto_cipher_prio; -extern gnutls_crypto_cipher_st _gnutls_cipher_ops; - typedef struct { - gnutls_crypto_single_cipher_st* cc; + gnutls_crypto_cipher_st* cc; void* ctx; } reg_hd; typedef struct { int registered; /* true or false(0) */ union { - void* gc; /* when not registered */ + gc_cipher_handle gc; /* when not registered */ reg_hd rh; /* when registered */ } hd; } cipher_hd_st; diff -Nru gnutls26-2.8.6/lib/gnutls_compress.c gnutls26-2.4.1/lib/gnutls_compress.c --- gnutls26-2.8.6/lib/gnutls_compress.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_compress.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2000, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -29,15 +29,14 @@ #include "gnutls_int.h" #include "gnutls_compress.h" #include "gnutls_errors.h" -#include -#include +#include "gnutls_compress_int.h" /* These functions allocate the return value internally */ int _gnutls_m_plaintext2compressed (gnutls_session_t session, gnutls_datum_t * compressed, - const gnutls_datum_t * plaintext) + const gnutls_datum_t* plaintext) { int size; opaque *data; @@ -60,15 +59,15 @@ int _gnutls_m_compressed2plaintext (gnutls_session_t session, gnutls_datum_t * plain, - const gnutls_datum_t * compressed) + const gnutls_datum_t* compressed) { int size; opaque *data; size = - _gnutls_decompress (session->connection_state.read_compression_state, - compressed->data, compressed->size, &data, - MAX_RECORD_RECV_SIZE); + _gnutls_decompress (session->connection_state. + read_compression_state, compressed->data, + compressed->size, &data, MAX_RECORD_RECV_SIZE); if (size < 0) { gnutls_assert (); @@ -79,607 +78,3 @@ return 0; } - - -/* Compression Section */ -#define GNUTLS_COMPRESSION_ENTRY(name, id, wb, ml, cl) \ - { #name, name, id, wb, ml, cl} - - -#define MAX_COMP_METHODS 5 -const int _gnutls_comp_algorithms_size = MAX_COMP_METHODS; - -gnutls_compression_entry _gnutls_compression_algorithms[MAX_COMP_METHODS] = { - GNUTLS_COMPRESSION_ENTRY (GNUTLS_COMP_NULL, 0x00, 0, 0, 0), -#ifdef HAVE_LIBZ - /* draft-ietf-tls-compression-02 */ - GNUTLS_COMPRESSION_ENTRY (GNUTLS_COMP_DEFLATE, 0x01, 15, 8, 3), -#endif - {0, 0, 0, 0, 0, 0} -}; - -static const gnutls_compression_method_t supported_compressions[] = { -#ifdef USE_LZO - GNUTLS_COMP_LZO, -#endif -#ifdef HAVE_LIBZ - GNUTLS_COMP_DEFLATE, -#endif - GNUTLS_COMP_NULL, - 0 -}; - -#define GNUTLS_COMPRESSION_LOOP(b) \ - const gnutls_compression_entry *p; \ - for(p = _gnutls_compression_algorithms; p->name != NULL; p++) { b ; } -#define GNUTLS_COMPRESSION_ALG_LOOP(a) \ - GNUTLS_COMPRESSION_LOOP( if(p->id == algorithm) { a; break; } ) -#define GNUTLS_COMPRESSION_ALG_LOOP_NUM(a) \ - GNUTLS_COMPRESSION_LOOP( if(p->num == num) { a; break; } ) - -/* Compression Functions */ - -/** - * gnutls_compression_get_name - Returns a string with the name of the specified compression algorithm - * @algorithm: is a Compression algorithm - * - * Convert a #gnutls_compression_method_t value to a string. - * - * Returns: a pointer to a string that contains the name of the - * specified compression algorithm, or %NULL. - **/ -const char * -gnutls_compression_get_name (gnutls_compression_method_t algorithm) -{ - const char *ret = NULL; - - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->name + sizeof ("GNUTLS_COMP_") - 1); - - return ret; -} - -/** - * gnutls_compression_get_id - Returns the gnutls id of the specified in string algorithm - * @name: is a compression method name - * - * The names are compared in a case insensitive way. - * - * Returns: an id of the specified in a string compression method, or - * %GNUTLS_COMP_UNKNOWN on error. - **/ -gnutls_compression_method_t -gnutls_compression_get_id (const char *name) -{ - gnutls_compression_method_t ret = GNUTLS_COMP_UNKNOWN; - - GNUTLS_COMPRESSION_LOOP (if - (strcasecmp - (p->name + sizeof ("GNUTLS_COMP_") - 1, - name) == 0) ret = p->id); - - return ret; -} - -/** - * gnutls_compression_list - Get a list of supported compression methods - * - * Get a list of compression methods. Note that to be able to use LZO - * compression, you must link to libgnutls-extra and call - * gnutls_global_init_extra(). - * - * Returns: a zero-terminated list of #gnutls_compression_method_t - * integers indicating the available compression methods. - **/ -const gnutls_compression_method_t * -gnutls_compression_list (void) -{ - return supported_compressions; -} - -/* return the tls number of the specified algorithm */ -int -_gnutls_compression_get_num (gnutls_compression_method_t algorithm) -{ - int ret = -1; - - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->num); - - return ret; -} - -#ifdef HAVE_LIBZ - -static int -get_wbits (gnutls_compression_method_t algorithm) -{ - int ret = -1; - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->window_bits); - return ret; -} - -static int -get_mem_level (gnutls_compression_method_t algorithm) -{ - int ret = -1; - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->mem_level); - return ret; -} - -static int -get_comp_level (gnutls_compression_method_t algorithm) -{ - int ret = -1; - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->comp_level); - return ret; -} - -#endif - -/* returns the gnutls internal ID of the TLS compression - * method num - */ -gnutls_compression_method_t -_gnutls_compression_get_id (int num) -{ - gnutls_compression_method_t ret = -1; - - /* avoid prefix */ - GNUTLS_COMPRESSION_ALG_LOOP_NUM (ret = p->id); - - return ret; -} - -int -_gnutls_compression_is_ok (gnutls_compression_method_t algorithm) -{ - ssize_t ret = -1; - GNUTLS_COMPRESSION_ALG_LOOP (ret = p->id); - if (ret >= 0) - ret = 0; - else - ret = 1; - return ret; -} - - - -/* For compression */ - -#define MIN_PRIVATE_COMP_ALGO 0xEF - -/* returns the TLS numbers of the compression methods we support - */ -#define SUPPORTED_COMPRESSION_METHODS session->internals.priorities.compression.algorithms -int -_gnutls_supported_compression_methods (gnutls_session_t session, - uint8_t ** comp) -{ - unsigned int i, j; - - *comp = gnutls_malloc (sizeof (uint8_t) * SUPPORTED_COMPRESSION_METHODS); - if (*comp == NULL) - return GNUTLS_E_MEMORY_ERROR; - - for (i = j = 0; i < SUPPORTED_COMPRESSION_METHODS; i++) - { - int tmp = - _gnutls_compression_get_num (session->internals.priorities. - compression.priority[i]); - - /* remove private compression algorithms, if requested. - */ - if (tmp == -1 || (tmp >= MIN_PRIVATE_COMP_ALGO && - session->internals.enable_private == 0)) - { - gnutls_assert (); - continue; - } - - (*comp)[j] = (uint8_t) tmp; - j++; - } - - if (j == 0) - { - gnutls_assert (); - gnutls_free (*comp); - *comp = NULL; - return GNUTLS_E_NO_COMPRESSION_ALGORITHMS; - } - return j; -} - - -#ifdef USE_LZO -# ifdef USE_MINILZO -/* Get the prototypes only. Since LZO is a GPLed library, the - * gnutls_global_init_extra() has to be called, before LZO compression - * can be used. - */ -# include "../libextra/minilzo/minilzo.h" -# elif HAVE_LZO_LZO1X_H -# include -# elif HAVE_LZO1X_H -# include -# endif - -typedef int (*LZO_FUNC) (); - -LZO_FUNC _gnutls_lzo1x_decompress_safe = NULL; -LZO_FUNC _gnutls_lzo1x_1_compress = NULL; - -#endif - -/* The flag d is the direction (compress, decompress). Non zero is - * decompress. - */ -comp_hd_t -_gnutls_comp_init (gnutls_compression_method_t method, int d) -{ - comp_hd_t ret; - - ret = gnutls_malloc (sizeof (struct comp_hd_t_STRUCT)); - if (ret == NULL) - { - gnutls_assert (); - return NULL; - } - - ret->algo = method; - ret->handle = NULL; - - switch (method) - { - case GNUTLS_COMP_DEFLATE: -#ifdef HAVE_LIBZ - { - int window_bits, mem_level; - int comp_level; - z_stream *zhandle; - int err; - - window_bits = get_wbits (method); - mem_level = get_mem_level (method); - comp_level = get_comp_level (method); - - ret->handle = gnutls_malloc (sizeof (z_stream)); - if (ret->handle == NULL) - { - gnutls_assert (); - goto cleanup_ret; - } - - zhandle = ret->handle; - - zhandle->zalloc = (alloc_func) 0; - zhandle->zfree = (free_func) 0; - zhandle->opaque = (voidpf) 0; - - if (d) - err = inflateInit2 (zhandle, window_bits); - else - { - err = deflateInit2 (zhandle, - comp_level, Z_DEFLATED, - window_bits, mem_level, Z_DEFAULT_STRATEGY); - } - if (err != Z_OK) - { - gnutls_assert (); - gnutls_free (ret->handle); - goto cleanup_ret; - } - } - break; -#endif - case GNUTLS_COMP_LZO: -#ifdef USE_LZO - /* LZO does not use memory on decompressor */ - if (!d) - { - ret->handle = gnutls_malloc (LZO1X_1_MEM_COMPRESS); - - if (ret->handle == NULL) - { - gnutls_assert (); - goto cleanup_ret; - } - } - break; -#endif - case GNUTLS_COMP_NULL: - case GNUTLS_COMP_UNKNOWN: - break; - } - - return ret; - -cleanup_ret: - gnutls_free (ret); - return NULL; -} - -/* The flag d is the direction (compress, decompress). Non zero is - * decompress. - */ -void -_gnutls_comp_deinit (comp_hd_t handle, int d) -{ - if (handle != NULL) - { - switch (handle->algo) - { -#ifdef HAVE_LIBZ - case GNUTLS_COMP_DEFLATE: - { - int err; - - if (d) - err = inflateEnd (handle->handle); - else - err = deflateEnd (handle->handle); - break; - } -#endif - default: - break; - } - gnutls_free (handle->handle); - gnutls_free (handle); - - } -} - -/* These functions are memory consuming - */ - -int -_gnutls_compress (comp_hd_t handle, const opaque * plain, - size_t plain_size, opaque ** compressed, - size_t max_comp_size) -{ - int compressed_size = GNUTLS_E_COMPRESSION_FAILED; - - /* NULL compression is not handled here - */ - if (handle == NULL) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - switch (handle->algo) - { -#ifdef USE_LZO - case GNUTLS_COMP_LZO: - { - lzo_uint out_len; - size_t size; - int err; - - if (_gnutls_lzo1x_1_compress == NULL) - return GNUTLS_E_COMPRESSION_FAILED; - - size = plain_size + plain_size / 64 + 16 + 3; - *compressed = gnutls_malloc (size); - if (*compressed == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - err = _gnutls_lzo1x_1_compress (plain, plain_size, *compressed, - &out_len, handle->handle); - - if (err != LZO_E_OK) - { - gnutls_assert (); - gnutls_free (*compressed); - *compressed = NULL; - return GNUTLS_E_COMPRESSION_FAILED; - } - - compressed_size = out_len; - break; - } -#endif -#ifdef HAVE_LIBZ - case GNUTLS_COMP_DEFLATE: - { - uLongf size; - z_stream *zhandle; - int err; - - size = (plain_size + plain_size) + 10; - *compressed = gnutls_malloc (size); - if (*compressed == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - zhandle = handle->handle; - - zhandle->next_in = (Bytef *) plain; - zhandle->avail_in = plain_size; - zhandle->next_out = (Bytef *) * compressed; - zhandle->avail_out = size; - - err = deflate (zhandle, Z_SYNC_FLUSH); - - if (err != Z_OK || zhandle->avail_in != 0) - { - gnutls_assert (); - gnutls_free (*compressed); - *compressed = NULL; - return GNUTLS_E_COMPRESSION_FAILED; - } - - compressed_size = size - zhandle->avail_out; - break; - } -#endif - default: - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } /* switch */ - -#ifdef COMPRESSION_DEBUG - _gnutls_debug_log ("Compression ratio: %f\n", - (float) ((float) compressed_size / (float) plain_size)); -#endif - - if ((size_t) compressed_size > max_comp_size) - { - gnutls_free (*compressed); - *compressed = NULL; - return GNUTLS_E_COMPRESSION_FAILED; - } - - return compressed_size; -} - - - -int -_gnutls_decompress (comp_hd_t handle, opaque * compressed, - size_t compressed_size, opaque ** plain, - size_t max_record_size) -{ - int plain_size = GNUTLS_E_DECOMPRESSION_FAILED; - - if (compressed_size > max_record_size + EXTRA_COMP_SIZE) - { - gnutls_assert (); - return GNUTLS_E_DECOMPRESSION_FAILED; - } - - /* NULL compression is not handled here - */ - - if (handle == NULL) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - switch (handle->algo) - { -#ifdef USE_LZO - case GNUTLS_COMP_LZO: - { - lzo_uint out_size; - lzo_uint new_size; - int err; - - if (_gnutls_lzo1x_decompress_safe == NULL) - return GNUTLS_E_DECOMPRESSION_FAILED; - - *plain = NULL; - out_size = compressed_size + compressed_size; - plain_size = 0; - - do - { - out_size += 512; - *plain = gnutls_realloc_fast (*plain, out_size); - if (*plain == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - new_size = out_size; - err = - _gnutls_lzo1x_decompress_safe (compressed, - compressed_size, *plain, - &new_size, NULL); - - } - while ((err == LZO_E_OUTPUT_OVERRUN && out_size < max_record_size)); - - if (err != LZO_E_OK) - { - gnutls_assert (); - gnutls_free (*plain); - *plain = NULL; - return GNUTLS_E_DECOMPRESSION_FAILED; - } - - plain_size = new_size; - break; - } -#endif -#ifdef HAVE_LIBZ - case GNUTLS_COMP_DEFLATE: - { - uLongf out_size; - z_stream *zhandle; - int cur_pos; - int err; - - *plain = NULL; - out_size = compressed_size + compressed_size; - plain_size = 0; - - zhandle = handle->handle; - - zhandle->next_in = (Bytef *) compressed; - zhandle->avail_in = compressed_size; - - cur_pos = 0; - - do - { - out_size += 512; - *plain = gnutls_realloc_fast (*plain, out_size); - if (*plain == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - zhandle->next_out = (Bytef *) (*plain + cur_pos); - zhandle->avail_out = out_size - cur_pos; - - err = inflate (zhandle, Z_SYNC_FLUSH); - - cur_pos = out_size - zhandle->avail_out; - - } - while ((err == Z_BUF_ERROR && zhandle->avail_out == 0 - && out_size < max_record_size) - || (err == Z_OK && zhandle->avail_in != 0)); - - if (err != Z_OK) - { - gnutls_assert (); - gnutls_free (*plain); - *plain = NULL; - return GNUTLS_E_DECOMPRESSION_FAILED; - } - - plain_size = out_size - zhandle->avail_out; - break; - } -#endif - default: - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } /* switch */ - - if ((size_t) plain_size > max_record_size) - { - gnutls_assert (); - gnutls_free (*plain); - *plain = NULL; - return GNUTLS_E_DECOMPRESSION_FAILED; - } - - return plain_size; -} diff -Nru gnutls26-2.8.6/lib/gnutls_compress.h gnutls26-2.4.1/lib/gnutls_compress.h --- gnutls26-2.8.6/lib/gnutls_compress.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_compress.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -21,8 +21,6 @@ * USA * */ -#ifndef GNUTLS_COMPRESS_H -# define GNUTLS_COMPRESS_H int _gnutls_m_plaintext2compressed (gnutls_session_t session, gnutls_datum_t * compressed, @@ -30,47 +28,3 @@ int _gnutls_m_compressed2plaintext (gnutls_session_t session, gnutls_datum_t * plain, const gnutls_datum_t* compressed); - -/* Algorithm handling. */ -int _gnutls_supported_compression_methods (gnutls_session_t session, - uint8_t ** comp); -int _gnutls_compression_is_ok (gnutls_compression_method_t algorithm); -int _gnutls_compression_get_num (gnutls_compression_method_t algorithm); -gnutls_compression_method_t _gnutls_compression_get_id (int num); - -#ifdef HAVE_LIBZ -# include -#endif - -#define GNUTLS_COMP_FAILED NULL - -typedef struct comp_hd_t_STRUCT -{ - void *handle; - gnutls_compression_method_t algo; -} *comp_hd_t; - -comp_hd_t _gnutls_comp_init (gnutls_compression_method_t, int d); -void _gnutls_comp_deinit (comp_hd_t handle, int d); - -int _gnutls_decompress (comp_hd_t handle, opaque * compressed, - size_t compressed_size, opaque ** plain, - size_t max_record_size); -int _gnutls_compress (comp_hd_t, const opaque * plain, size_t plain_size, - opaque ** compressed, size_t max_comp_size); - -struct gnutls_compression_entry -{ - const char *name; - gnutls_compression_method_t id; - /* the number reserved in TLS for the specific compression method */ - int num; - - /* used in zlib compressor */ - int window_bits; - int mem_level; - int comp_level; -}; -typedef struct gnutls_compression_entry gnutls_compression_entry; - -#endif diff -Nru gnutls26-2.8.6/lib/gnutls_compress_int.c gnutls26-2.4.1/lib/gnutls_compress_int.c --- gnutls26-2.8.6/lib/gnutls_compress_int.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_compress_int.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,413 @@ +/* + * Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#include +#include +#include +#include "gnutls_errors.h" + +#ifdef USE_LZO +# ifdef USE_MINILZO +/* Get the prototypes only. Since LZO is a GPLed library, the + * gnutls_global_init_extra() has to be called, before LZO compression + * can be used. + */ +# include "../libextra/minilzo/minilzo.h" +# elif HAVE_LZO_LZO1X_H +# include +# elif HAVE_LZO1X_H +# include +# endif + +typedef int (*LZO_FUNC) (); + +LZO_FUNC _gnutls_lzo1x_decompress_safe = NULL; +LZO_FUNC _gnutls_lzo1x_1_compress = NULL; + +#endif + +/* The flag d is the direction (compress, decompress). Non zero is + * decompress. + */ +comp_hd_t +_gnutls_comp_init (gnutls_compression_method_t method, int d) +{ + comp_hd_t ret; + int err; + + ret = gnutls_malloc (sizeof (struct comp_hd_t_STRUCT)); + if (ret == NULL) + { + gnutls_assert (); + return NULL; + } + + ret->algo = method; + ret->handle = NULL; + + switch (method) + { +#ifdef HAVE_LIBZ + case GNUTLS_COMP_DEFLATE: + { + int window_bits, mem_level; + int comp_level; + z_stream *zhandle; + + window_bits = _gnutls_compression_get_wbits (method); + mem_level = _gnutls_compression_get_mem_level (method); + comp_level = _gnutls_compression_get_comp_level (method); + + ret->handle = gnutls_malloc (sizeof (z_stream)); + if (ret->handle == NULL) + { + gnutls_assert (); + goto cleanup_ret; + } + + zhandle = ret->handle; + + zhandle->zalloc = (alloc_func) 0; + zhandle->zfree = (free_func) 0; + zhandle->opaque = (voidpf) 0; + + if (d) + err = inflateInit2 (zhandle, window_bits); + else + { + err = deflateInit2 (zhandle, + comp_level, Z_DEFLATED, + window_bits, mem_level, Z_DEFAULT_STRATEGY); + } + if (err != Z_OK) + { + gnutls_assert (); + gnutls_free (ret->handle); + goto cleanup_ret; + } + break; + } +#endif + case GNUTLS_COMP_LZO: +#ifdef USE_LZO + if (d) + { /* LZO does not use memory on decompressor *//* ret->handle = NULL; */ + } + else + { + ret->handle = gnutls_malloc (LZO1X_1_MEM_COMPRESS); + + if (ret->handle == NULL) + { + gnutls_assert (); + goto cleanup_ret; + } + } +#endif + break; + case GNUTLS_COMP_NULL: + case GNUTLS_COMP_UNKNOWN: + break; + } + return ret; + +cleanup_ret: + gnutls_free (ret); + return NULL; +} + +/* The flag d is the direction (compress, decompress). Non zero is + * decompress. + */ +void +_gnutls_comp_deinit (comp_hd_t handle, int d) +{ + int err; + + if (handle != NULL) + { + switch (handle->algo) + { +#ifdef HAVE_LIBZ + case GNUTLS_COMP_DEFLATE: + if (d) + err = inflateEnd (handle->handle); + else + err = deflateEnd (handle->handle); + break; +#endif + default: + break; + } + gnutls_free (handle->handle); + gnutls_free (handle); + + } +} + +/* These functions are memory consuming + */ + +int +_gnutls_compress (comp_hd_t handle, const opaque * plain, + size_t plain_size, opaque ** compressed, + size_t max_comp_size) +{ + int compressed_size = GNUTLS_E_COMPRESSION_FAILED; + int err; + + /* NULL compression is not handled here + */ + if (handle == NULL) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + switch (handle->algo) + { +#ifdef USE_LZO + case GNUTLS_COMP_LZO: + { + lzo_uint out_len; + size_t size; + + if (_gnutls_lzo1x_1_compress == NULL) + return GNUTLS_E_COMPRESSION_FAILED; + + size = plain_size + plain_size / 64 + 16 + 3; + *compressed = gnutls_malloc (size); + if (*compressed == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + err = _gnutls_lzo1x_1_compress (plain, plain_size, *compressed, + &out_len, handle->handle); + + if (err != LZO_E_OK) + { + gnutls_assert (); + gnutls_free (*compressed); + *compressed = NULL; + return GNUTLS_E_COMPRESSION_FAILED; + } + + compressed_size = out_len; + break; + } +#endif +#ifdef HAVE_LIBZ + case GNUTLS_COMP_DEFLATE: + { + uLongf size; + z_stream *zhandle; + + size = (plain_size + plain_size) + 10; + *compressed = gnutls_malloc (size); + if (*compressed == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + zhandle = handle->handle; + + zhandle->next_in = (Bytef *) plain; + zhandle->avail_in = plain_size; + zhandle->next_out = (Bytef *) * compressed; + zhandle->avail_out = size; + + err = deflate (zhandle, Z_SYNC_FLUSH); + + if (err != Z_OK || zhandle->avail_in != 0) + { + gnutls_assert (); + gnutls_free (*compressed); + *compressed = NULL; + return GNUTLS_E_COMPRESSION_FAILED; + } + + compressed_size = size - zhandle->avail_out; + break; + } +#endif + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } /* switch */ + +#ifdef COMPRESSION_DEBUG + _gnutls_debug_log ("Compression ratio: %f\n", + (float) ((float) compressed_size / (float) plain_size)); +#endif + + if ((size_t) compressed_size > max_comp_size) + { + gnutls_free (*compressed); + *compressed = NULL; + return GNUTLS_E_COMPRESSION_FAILED; + } + + return compressed_size; +} + + + +int +_gnutls_decompress (comp_hd_t handle, opaque * compressed, + size_t compressed_size, opaque ** plain, + size_t max_record_size) +{ + int plain_size = GNUTLS_E_DECOMPRESSION_FAILED, err; + int cur_pos; + + if (compressed_size > max_record_size + EXTRA_COMP_SIZE) + { + gnutls_assert (); + return GNUTLS_E_DECOMPRESSION_FAILED; + } + + /* NULL compression is not handled here + */ + + if (handle == NULL) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + switch (handle->algo) + { +#ifdef USE_LZO + case GNUTLS_COMP_LZO: + { + lzo_uint out_size; + lzo_uint new_size; + + if (_gnutls_lzo1x_decompress_safe == NULL) + return GNUTLS_E_DECOMPRESSION_FAILED; + + *plain = NULL; + out_size = compressed_size + compressed_size; + plain_size = 0; + + do + { + out_size += 512; + *plain = gnutls_realloc_fast (*plain, out_size); + if (*plain == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + new_size = out_size; + err = + _gnutls_lzo1x_decompress_safe (compressed, + compressed_size, *plain, + &new_size, NULL); + + } + while ((err == LZO_E_OUTPUT_OVERRUN && out_size < max_record_size)); + + if (err != LZO_E_OK) + { + gnutls_assert (); + gnutls_free (*plain); + *plain = NULL; + return GNUTLS_E_DECOMPRESSION_FAILED; + } + + plain_size = new_size; + break; + } +#endif +#ifdef HAVE_LIBZ + case GNUTLS_COMP_DEFLATE: + { + uLongf out_size; + z_stream *zhandle; + + *plain = NULL; + out_size = compressed_size + compressed_size; + plain_size = 0; + + zhandle = handle->handle; + + zhandle->next_in = (Bytef *) compressed; + zhandle->avail_in = compressed_size; + + cur_pos = 0; + + do + { + out_size += 512; + *plain = gnutls_realloc_fast (*plain, out_size); + if (*plain == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + zhandle->next_out = (Bytef *) (*plain + cur_pos); + zhandle->avail_out = out_size - cur_pos; + + err = inflate (zhandle, Z_SYNC_FLUSH); + + cur_pos = out_size - zhandle->avail_out; + + } + while ((err == Z_BUF_ERROR && zhandle->avail_out == 0 + && out_size < max_record_size) + || (err == Z_OK && zhandle->avail_in != 0)); + + if (err != Z_OK) + { + gnutls_assert (); + gnutls_free (*plain); + *plain = NULL; + return GNUTLS_E_DECOMPRESSION_FAILED; + } + + plain_size = out_size - zhandle->avail_out; + break; + } +#endif + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } /* switch */ + + if ((size_t) plain_size > max_record_size) + { + gnutls_assert (); + gnutls_free (*plain); + *plain = NULL; + return GNUTLS_E_DECOMPRESSION_FAILED; + } + + return plain_size; +} diff -Nru gnutls26-2.8.6/lib/gnutls_compress_int.h gnutls26-2.4.1/lib/gnutls_compress_int.h --- gnutls26-2.8.6/lib/gnutls_compress_int.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_compress_int.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#ifndef GNUTLS_COMP_INT +# define GNUTLS_COMP_INT + +#ifdef HAVE_LIBZ +# include +#endif + +#define GNUTLS_COMP_FAILED NULL + +typedef struct comp_hd_t_STRUCT +{ + void *handle; + gnutls_compression_method_t algo; +} *comp_hd_t; + +comp_hd_t _gnutls_comp_init (gnutls_compression_method_t, int d); +void _gnutls_comp_deinit (comp_hd_t handle, int d); + +int _gnutls_decompress (comp_hd_t handle, opaque * compressed, + size_t compressed_size, opaque ** plain, + size_t max_record_size); +int _gnutls_compress (comp_hd_t, const opaque * plain, size_t plain_size, + opaque ** compressed, size_t max_comp_size); + +#endif diff -Nru gnutls26-2.8.6/lib/gnutls_constate.c gnutls26-2.4.1/lib/gnutls_constate.c --- gnutls26-2.8.6/lib/gnutls_constate.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_constate.c 2008-06-19 11:00:10.000000000 +0100 @@ -54,20 +54,19 @@ * This function creates the keys and stores them into pending session. * (session->cipher_specs) */ -static int +int _gnutls_set_keys (gnutls_session_t session, int hash_size, int IV_size, int key_size, int export_flag) { - /* FIXME: This function is too long - */ - opaque rnd[2 * GNUTLS_RANDOM_SIZE]; - opaque rrnd[2 * GNUTLS_RANDOM_SIZE]; + +/* FIXME: This function is too long + */ + opaque *key_block; + opaque rnd[2 * TLS_RANDOM_SIZE]; + opaque rrnd[2 * TLS_RANDOM_SIZE]; int pos, ret; int block_size; char buf[65]; - /* avoid using malloc */ - opaque key_block[2 * MAX_HASH_SIZE + 2 * MAX_CIPHER_KEY_SIZE + - 2 * MAX_CIPHER_BLOCK_SIZE]; if (session->cipher_specs.generated_keys != 0) { @@ -82,34 +81,43 @@ if (export_flag == 0) block_size += 2 * IV_size; - memcpy (rnd, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); - memcpy (&rnd[GNUTLS_RANDOM_SIZE], - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); - - memcpy (rrnd, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); - memcpy (&rrnd[GNUTLS_RANDOM_SIZE], - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); + key_block = gnutls_secure_malloc (block_size); + if (key_block == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + memcpy (rnd, session->security_parameters.server_random, TLS_RANDOM_SIZE); + memcpy (&rnd[TLS_RANDOM_SIZE], + session->security_parameters.client_random, TLS_RANDOM_SIZE); + + memcpy (rrnd, session->security_parameters.client_random, TLS_RANDOM_SIZE); + memcpy (&rrnd[TLS_RANDOM_SIZE], + session->security_parameters.server_random, TLS_RANDOM_SIZE); if (session->security_parameters.version == GNUTLS_SSL3) { /* SSL 3 */ ret = - _gnutls_ssl3_generate_random - (session->security_parameters.master_secret, GNUTLS_MASTER_SIZE, rnd, - 2 * GNUTLS_RANDOM_SIZE, block_size, key_block); + _gnutls_ssl3_generate_random (session-> + security_parameters. + master_secret, + TLS_MASTER_SIZE, rnd, + 2 * TLS_RANDOM_SIZE, + block_size, key_block); } else { /* TLS 1.0 */ ret = _gnutls_PRF (session, session->security_parameters.master_secret, - GNUTLS_MASTER_SIZE, keyexp, keyexp_length, - rnd, 2 * GNUTLS_RANDOM_SIZE, block_size, key_block); + TLS_MASTER_SIZE, keyexp, keyexp_length, + rnd, 2 * TLS_RANDOM_SIZE, block_size, key_block); } if (ret < 0) { gnutls_assert (); + gnutls_free (key_block); return ret; } @@ -117,22 +125,14 @@ _gnutls_bin2hex (key_block, block_size, buf, sizeof (buf))); - _gnutls_free_datum (&session->cipher_specs.server_write_mac_secret); - _gnutls_free_datum (&session->cipher_specs.client_write_mac_secret); - _gnutls_free_datum (&session->cipher_specs.server_write_IV); - _gnutls_free_datum (&session->cipher_specs.client_write_IV); - _gnutls_free_datum (&session->cipher_specs.server_write_key); - _gnutls_free_datum (&session->cipher_specs.client_write_key); - pos = 0; if (hash_size > 0) { - if (_gnutls_sset_datum (&session->cipher_specs.client_write_mac_secret, &key_block[pos], hash_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } pos += hash_size; @@ -141,7 +141,7 @@ (&session->cipher_specs.server_write_mac_secret, &key_block[pos], hash_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } pos += hash_size; @@ -149,10 +149,9 @@ if (key_size > 0) { - opaque key1[EXPORT_FINAL_KEY_SIZE]; - opaque key2[EXPORT_FINAL_KEY_SIZE]; opaque *client_write_key, *server_write_key; int client_write_key_size, server_write_key_size; + int free_keys = 0; if (export_flag == 0) { @@ -169,8 +168,24 @@ } else { /* export */ - client_write_key = key1; - server_write_key = key2; + free_keys = 1; + + client_write_key = gnutls_secure_malloc (EXPORT_FINAL_KEY_SIZE); + if (client_write_key == NULL) + { + gnutls_assert (); + gnutls_free (key_block); + return GNUTLS_E_MEMORY_ERROR; + } + + server_write_key = gnutls_secure_malloc (EXPORT_FINAL_KEY_SIZE); + if (server_write_key == NULL) + { + gnutls_assert (); + gnutls_free (key_block); + gnutls_free (client_write_key); + return GNUTLS_E_MEMORY_ERROR; + } /* generate the final keys */ @@ -179,7 +194,7 @@ ret = _gnutls_ssl3_hash_md5 (&key_block[pos], key_size, rrnd, - 2 * GNUTLS_RANDOM_SIZE, + 2 * TLS_RANDOM_SIZE, EXPORT_FINAL_KEY_SIZE, client_write_key); @@ -190,13 +205,16 @@ _gnutls_PRF (session, &key_block[pos], key_size, cliwrite, cliwrite_length, rrnd, - 2 * GNUTLS_RANDOM_SIZE, + 2 * TLS_RANDOM_SIZE, EXPORT_FINAL_KEY_SIZE, client_write_key); } if (ret < 0) { gnutls_assert (); + gnutls_free (key_block); + gnutls_free (server_write_key); + gnutls_free (client_write_key); return ret; } @@ -207,7 +225,7 @@ { /* SSL 3 */ ret = _gnutls_ssl3_hash_md5 (&key_block[pos], key_size, - rnd, 2 * GNUTLS_RANDOM_SIZE, + rnd, 2 * TLS_RANDOM_SIZE, EXPORT_FINAL_KEY_SIZE, server_write_key); } @@ -216,13 +234,16 @@ ret = _gnutls_PRF (session, &key_block[pos], key_size, servwrite, servwrite_length, - rrnd, 2 * GNUTLS_RANDOM_SIZE, + rrnd, 2 * TLS_RANDOM_SIZE, EXPORT_FINAL_KEY_SIZE, server_write_key); } if (ret < 0) { gnutls_assert (); + gnutls_free (key_block); + gnutls_free (server_write_key); + gnutls_free (client_write_key); return ret; } @@ -234,7 +255,9 @@ (&session->cipher_specs.client_write_key, client_write_key, client_write_key_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); + gnutls_free (server_write_key); + gnutls_free (client_write_key); return GNUTLS_E_MEMORY_ERROR; } _gnutls_hard_log ("INT: CLIENT WRITE KEY [%d]: %s\n", @@ -247,7 +270,9 @@ (&session->cipher_specs.server_write_key, server_write_key, server_write_key_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); + gnutls_free (server_write_key); + gnutls_free (client_write_key); return GNUTLS_E_MEMORY_ERROR; } @@ -257,6 +282,11 @@ server_write_key_size, buf, sizeof (buf))); + if (free_keys != 0) + { + gnutls_free (server_write_key); + gnutls_free (client_write_key); + } } @@ -268,7 +298,7 @@ (&session->cipher_specs.client_write_IV, &key_block[pos], IV_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } pos += IV_size; @@ -277,7 +307,7 @@ (&session->cipher_specs.server_write_IV, &key_block[pos], IV_size) < 0) { - gnutls_assert (); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } pos += IV_size; @@ -285,22 +315,30 @@ } else if (IV_size > 0 && export_flag != 0) { - opaque iv_block[MAX_CIPHER_BLOCK_SIZE * 2]; + opaque *iv_block = gnutls_malloc (IV_size * 2); + if (iv_block == NULL) + { + gnutls_assert (); + gnutls_free (key_block); + return GNUTLS_E_MEMORY_ERROR; + } if (session->security_parameters.version == GNUTLS_SSL3) { /* SSL 3 */ ret = _gnutls_ssl3_hash_md5 ("", 0, - rrnd, GNUTLS_RANDOM_SIZE * 2, + rrnd, TLS_RANDOM_SIZE * 2, IV_size, iv_block); if (ret < 0) { gnutls_assert (); + gnutls_free (key_block); + gnutls_free (iv_block); return ret; } ret = _gnutls_ssl3_hash_md5 ("", 0, rnd, - GNUTLS_RANDOM_SIZE * 2, + TLS_RANDOM_SIZE * 2, IV_size, &iv_block[IV_size]); } @@ -308,19 +346,22 @@ { /* TLS 1.0 */ ret = _gnutls_PRF (session, "", 0, ivblock, ivblock_length, rrnd, - 2 * GNUTLS_RANDOM_SIZE, IV_size * 2, iv_block); + 2 * TLS_RANDOM_SIZE, IV_size * 2, iv_block); } if (ret < 0) { gnutls_assert (); + gnutls_free (iv_block); + gnutls_free (key_block); return ret; } if (_gnutls_sset_datum (&session->cipher_specs.client_write_IV, iv_block, IV_size) < 0) { - gnutls_assert (); + gnutls_free (iv_block); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } @@ -328,17 +369,22 @@ (&session->cipher_specs.server_write_IV, &iv_block[IV_size], IV_size) < 0) { - gnutls_assert (); + gnutls_free (iv_block); + gnutls_free (key_block); return GNUTLS_E_MEMORY_ERROR; } + + gnutls_free (iv_block); } + gnutls_free (key_block); + session->cipher_specs.generated_keys = 1; return 0; } -static int +int _gnutls_set_read_keys (gnutls_session_t session) { int hash_size; @@ -359,7 +405,7 @@ export_flag); } -static int +int _gnutls_set_write_keys (gnutls_session_t session) { int hash_size; @@ -383,9 +429,9 @@ #define CPY_COMMON dst->entity = src->entity; \ dst->kx_algorithm = src->kx_algorithm; \ memcpy( &dst->current_cipher_suite, &src->current_cipher_suite, sizeof(cipher_suite_st)); \ - memcpy( dst->master_secret, src->master_secret, GNUTLS_MASTER_SIZE); \ - memcpy( dst->client_random, src->client_random, GNUTLS_RANDOM_SIZE); \ - memcpy( dst->server_random, src->server_random, GNUTLS_RANDOM_SIZE); \ + memcpy( dst->master_secret, src->master_secret, TLS_MASTER_SIZE); \ + memcpy( dst->client_random, src->client_random, TLS_RANDOM_SIZE); \ + memcpy( dst->server_random, src->server_random, TLS_RANDOM_SIZE); \ memcpy( dst->session_id, src->session_id, TLS_MAX_SESSION_ID_SIZE); \ dst->session_id_size = src->session_id_size; \ dst->cert_type = src->cert_type; \ @@ -394,7 +440,7 @@ dst->max_record_send_size = src->max_record_send_size; \ dst->version = src->version; \ memcpy( &dst->extensions, &src->extensions, sizeof(tls_ext_st)); \ - memcpy( &dst->inner_secret, &src->inner_secret, GNUTLS_MASTER_SIZE); + memcpy( &dst->inner_secret, &src->inner_secret, TLS_MASTER_SIZE); static void _gnutls_cpy_read_security_parameters (security_parameters_st * @@ -431,7 +477,7 @@ /* Setup the master secret */ - if ((ret = _gnutls_generate_master (session, 0)) < 0) + if ((ret = _gnutls_generate_master (session, 0), 0) < 0) { gnutls_assert (); return ret; @@ -486,8 +532,10 @@ } else { /* RESUME_TRUE */ - _gnutls_cpy_read_security_parameters (&session->security_parameters, - &session->internals. + _gnutls_cpy_read_security_parameters (&session-> + security_parameters, + &session-> + internals. resumed_security_parameters); } @@ -496,11 +544,10 @@ if (rc < 0) return rc; - _gnutls_handshake_log ("HSK[%p]: Cipher Suite: %s\n", - session, - _gnutls_cipher_suite_get_name - (&session->security_parameters. - current_cipher_suite)); + _gnutls_handshake_log ("HSK[%x]: Cipher Suite: %s\n", + session, _gnutls_cipher_suite_get_name (&session-> + security_parameters. + current_cipher_suite)); if (_gnutls_compression_is_ok (session->security_parameters.read_compression_algorithm) != 0) @@ -532,7 +579,7 @@ read_mac_algorithm); _gnutls_handshake_log - ("HSK[%p]: Initializing internal [read] cipher sessions\n", session); + ("HSK[%x]: Initializing internal [read] cipher sessions\n", session); switch (session->security_parameters.entity) { @@ -540,13 +587,11 @@ /* initialize cipher session */ rc = _gnutls_cipher_init (&session->connection_state.read_cipher_state, - session-> - security_parameters.read_bulk_cipher_algorithm, - &session->cipher_specs.client_write_key, - &session->cipher_specs.client_write_IV); - if (rc < 0 - && session->security_parameters.read_bulk_cipher_algorithm != - GNUTLS_CIPHER_NULL) + session->security_parameters.read_bulk_cipher_algorithm, + &session->cipher_specs.client_write_key, + &session->cipher_specs.client_write_IV); + if (rc < 0 && session->security_parameters. + read_bulk_cipher_algorithm != GNUTLS_CIPHER_NULL) { gnutls_assert (); return rc; @@ -557,7 +602,8 @@ */ if (mac_size > 0) { - if (_gnutls_sset_datum (&session->connection_state.read_mac_secret, + if (_gnutls_sset_datum (&session->connection_state. + read_mac_secret, session->cipher_specs. client_write_mac_secret.data, session->cipher_specs. @@ -572,15 +618,13 @@ break; case GNUTLS_CLIENT: - rc = _gnutls_cipher_init (&session->connection_state.read_cipher_state, - session-> - security_parameters.read_bulk_cipher_algorithm, - &session->cipher_specs.server_write_key, - &session->cipher_specs.server_write_IV); - - if (rc < 0 - && session->security_parameters.read_bulk_cipher_algorithm != - GNUTLS_CIPHER_NULL) + rc = _gnutls_cipher_init (&session->connection_state.read_cipher_state, + session->security_parameters.read_bulk_cipher_algorithm, + &session->cipher_specs.server_write_key, + &session->cipher_specs.server_write_IV); + + if (rc < 0 && session->security_parameters. + read_bulk_cipher_algorithm != GNUTLS_CIPHER_NULL) { gnutls_assert (); return GNUTLS_E_INTERNAL_ERROR; @@ -591,7 +635,8 @@ */ if (mac_size > 0) { - if (_gnutls_sset_datum (&session->connection_state.read_mac_secret, + if (_gnutls_sset_datum (&session->connection_state. + read_mac_secret, session->cipher_specs. server_write_mac_secret.data, session->cipher_specs. @@ -668,8 +713,10 @@ } else { /* RESUME_TRUE */ - _gnutls_cpy_write_security_parameters (&session->security_parameters, - &session->internals. + _gnutls_cpy_write_security_parameters (&session-> + security_parameters, + &session-> + internals. resumed_security_parameters); } @@ -677,10 +724,10 @@ if (rc < 0) return rc; - _gnutls_handshake_log ("HSK[%p]: Cipher Suite: %s\n", session, - _gnutls_cipher_suite_get_name - (&session->security_parameters. - current_cipher_suite)); + _gnutls_handshake_log ("HSK[%x]: Cipher Suite: %s\n", session, + _gnutls_cipher_suite_get_name (&session-> + security_parameters. + current_cipher_suite)); if (_gnutls_compression_is_ok (session->security_parameters.write_compression_algorithm) != 0) @@ -706,30 +753,31 @@ _gnutls_cipher_deinit (&session->connection_state.write_cipher_state); if (session->connection_state.write_compression_state != NULL) - _gnutls_comp_deinit (session->connection_state.write_compression_state, - 0); + _gnutls_comp_deinit (session->connection_state. + write_compression_state, 0); mac_size = _gnutls_hash_get_algo_len (session->security_parameters. write_mac_algorithm); _gnutls_handshake_log - ("HSK[%p]: Initializing internal [write] cipher sessions\n", session); + ("HSK[%x]: Initializing internal [write] cipher sessions\n", session); switch (session->security_parameters.entity) { case GNUTLS_SERVER: /* initialize cipher session */ - rc = _gnutls_cipher_init (&session->connection_state.write_cipher_state, - session->security_parameters. - write_bulk_cipher_algorithm, - &session->cipher_specs.server_write_key, - &session->cipher_specs.server_write_IV); - - if (rc < 0 - && session->security_parameters.write_bulk_cipher_algorithm != - GNUTLS_CIPHER_NULL) + rc = _gnutls_cipher_init ( + &session->connection_state.write_cipher_state, + session->security_parameters. + write_bulk_cipher_algorithm, + &session->cipher_specs. + server_write_key, + &session->cipher_specs.server_write_IV); + + if (rc < 0 && session->security_parameters. + write_bulk_cipher_algorithm != GNUTLS_CIPHER_NULL) { gnutls_assert (); return GNUTLS_E_INTERNAL_ERROR; @@ -741,7 +789,8 @@ */ if (mac_size > 0) { - if (_gnutls_sset_datum (&session->connection_state.write_mac_secret, + if (_gnutls_sset_datum (&session->connection_state. + write_mac_secret, session->cipher_specs. server_write_mac_secret.data, session->cipher_specs. @@ -757,15 +806,15 @@ break; case GNUTLS_CLIENT: - rc = _gnutls_cipher_init (&session->connection_state.write_cipher_state, - session->security_parameters. - write_bulk_cipher_algorithm, - &session->cipher_specs.client_write_key, - &session->cipher_specs.client_write_IV); - - if (rc < 0 - && session->security_parameters.write_bulk_cipher_algorithm != - GNUTLS_CIPHER_NULL) + rc = _gnutls_cipher_init (&session->connection_state.write_cipher_state, + session->security_parameters. + write_bulk_cipher_algorithm, + &session->cipher_specs. + client_write_key, + &session->cipher_specs.client_write_IV); + + if (rc < 0 && session->security_parameters. + write_bulk_cipher_algorithm != GNUTLS_CIPHER_NULL) { gnutls_assert (); return GNUTLS_E_INTERNAL_ERROR; @@ -775,7 +824,8 @@ */ if (mac_size > 0) { - if (_gnutls_sset_datum (&session->connection_state.write_mac_secret, + if (_gnutls_sset_datum (&session->connection_state. + write_mac_secret, session->cipher_specs. client_write_mac_secret.data, session->cipher_specs. diff -Nru gnutls26-2.8.6/lib/gnutls_datum.h gnutls26-2.4.1/lib/gnutls_datum.h --- gnutls26-2.8.6/lib/gnutls_datum.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_datum.h 2008-06-30 21:45:51.000000000 +0100 @@ -22,9 +22,6 @@ * */ -#ifndef GNUTLS_DATUM_H -# define GNUTLS_DATUM_H - void _gnutls_write_datum16 (opaque * dest, gnutls_datum_t dat); void _gnutls_write_datum24 (opaque * dest, gnutls_datum_t dat); void _gnutls_write_datum32 (opaque * dest, gnutls_datum_t dat); @@ -41,5 +38,3 @@ void _gnutls_free_datum_m (gnutls_datum_t * dat, gnutls_free_function); #define _gnutls_free_datum(x) _gnutls_free_datum_m(x, gnutls_free) - -#endif diff -Nru gnutls26-2.8.6/lib/gnutls_db.c gnutls26-2.4.1/lib/gnutls_db.c --- gnutls26-2.8.6/lib/gnutls_db.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_db.c 2008-06-19 11:00:10.000000000 +0100 @@ -159,8 +159,8 @@ if (timestamp - ((security_parameters_st *) (session_entry.data))->timestamp <= session->internals.expire_time - || ((security_parameters_st *) (session_entry.data))->timestamp > - timestamp + || ((security_parameters_st *) (session_entry.data))-> + timestamp > timestamp || ((security_parameters_st *) (session_entry.data))->timestamp == 0) return GNUTLS_E_EXPIRED; diff -Nru gnutls26-2.8.6/lib/gnutls_dh.c gnutls26-2.4.1/lib/gnutls_dh.c --- gnutls26-2.8.6/lib/gnutls_dh.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_dh.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -24,7 +24,6 @@ #include #include -#include /* @@ -47,10 +46,10 @@ /* returns the public value (X), and the secret (ret_x). */ -bigint_t -gnutls_calc_dh_secret (bigint_t * ret_x, bigint_t g, bigint_t prime) +mpi_t +gnutls_calc_dh_secret (mpi_t * ret_x, mpi_t g, mpi_t prime) { - bigint_t e, x = NULL; + mpi_t e, x; int x_size = _gnutls_mpi_get_nbits (prime) - 1; /* The size of the secret key is less than * prime/2 @@ -62,13 +61,27 @@ return NULL; } - x = _gnutls_mpi_randomize (NULL, x_size, GNUTLS_RND_RANDOM); + x = _gnutls_mpi_new (x_size); if (x == NULL) { gnutls_assert (); + if (ret_x) + *ret_x = NULL; + return NULL; } + /* FIXME: (x_size/8)*8 is there to overcome a bug in libgcrypt + * which does not really check the bits given but the bytes. + */ + do + { + _gnutls_mpi_randomize (x, (x_size / 8) * 8, GCRY_STRONG_RANDOM); + /* Check whether x is zero. + */ + } + while (_gnutls_mpi_cmp_ui (x, 0) == 0); + e = _gnutls_mpi_alloc_like (prime); if (e == NULL) { @@ -90,10 +103,10 @@ } -bigint_t -gnutls_calc_dh_key (bigint_t f, bigint_t x, bigint_t prime) +mpi_t +gnutls_calc_dh_key (mpi_t f, mpi_t x, mpi_t prime) { - bigint_t k; + mpi_t k; int bits; bits = _gnutls_mpi_get_nbits (prime); diff -Nru gnutls26-2.8.6/lib/gnutls_dh.h gnutls26-2.4.1/lib/gnutls_dh.h --- gnutls26-2.8.6/lib/gnutls_dh.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_dh.h 2008-06-30 21:45:51.000000000 +0100 @@ -25,9 +25,10 @@ #ifndef GNUTLS_DH_H # define GNUTLS_DH_H -const bigint_t *_gnutls_dh_params_to_mpi (gnutls_dh_params_t); -bigint_t gnutls_calc_dh_secret (bigint_t * ret_x, bigint_t g, bigint_t prime); -bigint_t gnutls_calc_dh_key (bigint_t f, bigint_t x, bigint_t prime); +const mpi_t *_gnutls_dh_params_to_mpi (gnutls_dh_params_t); +mpi_t gnutls_calc_dh_secret (mpi_t * ret_x, mpi_t g, mpi_t prime); +mpi_t gnutls_calc_dh_key (mpi_t f, mpi_t x, mpi_t prime); +int _gnutls_dh_generate_prime (mpi_t * ret_g, mpi_t * ret_n, unsigned bits); gnutls_dh_params_t _gnutls_get_dh_params (gnutls_dh_params_t dh_params, diff -Nru gnutls26-2.8.6/lib/gnutls_dh_primes.c gnutls26-2.4.1/lib/gnutls_dh_primes.c --- gnutls26-2.8.6/lib/gnutls_dh_primes.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_dh_primes.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -28,15 +28,13 @@ #include /* for PKCS3 PEM decoding */ #include #include -#include -#include #include "x509/x509_int.h" #include "debug.h" /* returns the prime and the generator of DH params. */ -const bigint_t * +const mpi_t * _gnutls_dh_params_to_mpi (gnutls_dh_params_t dh_primes) { if (dh_primes == NULL || dh_primes->params[1] == NULL || @@ -48,6 +46,94 @@ return dh_primes->params; } +int +_gnutls_dh_generate_prime (mpi_t * ret_g, mpi_t * ret_n, unsigned int bits) +{ + mpi_t g = NULL, prime = NULL; + gcry_error_t err; + int result, times = 0, qbits; + mpi_t *factors = NULL; + + /* Calculate the size of a prime factor of (prime-1)/2. + * This is an emulation of the values in "Selecting Cryptographic Key Sizes" paper. + */ + if (bits < 256) + qbits = bits / 2; + else + { + qbits = (bits/40) + 105; + } + + if (qbits & 1) /* better have an even number */ + qbits++; + + /* find a prime number of size bits. + */ + do + { + + if (times) + { + _gnutls_mpi_release (&prime); + gcry_prime_release_factors (factors); + } + + err = gcry_prime_generate (&prime, bits, qbits, + &factors, NULL, NULL, GCRY_STRONG_RANDOM, + GCRY_PRIME_FLAG_SPECIAL_FACTOR); + + if (err != 0) + { + gnutls_assert (); + result = GNUTLS_E_INTERNAL_ERROR; + goto cleanup; + } + + err = gcry_prime_check (prime, 0); + + times++; + } + while (err != 0 && times < 10); + + if (err != 0) + { + gnutls_assert (); + result = GNUTLS_E_INTERNAL_ERROR; + goto cleanup; + } + + /* generate the group generator. + */ + err = gcry_prime_group_generator (&g, prime, factors, NULL); + if (err != 0) + { + gnutls_assert (); + result = GNUTLS_E_INTERNAL_ERROR; + goto cleanup; + } + + gcry_prime_release_factors (factors); + factors = NULL; + + if (ret_g) + *ret_g = g; + else + _gnutls_mpi_release (&g); + if (ret_n) + *ret_n = prime; + else + _gnutls_mpi_release (&prime); + + return 0; + +cleanup: + gcry_prime_release_factors (factors); + _gnutls_mpi_release (&g); + _gnutls_mpi_release (&prime); + + return result; + +} /* Replaces the prime in the static DH parameters, with a randomly * generated one. @@ -58,30 +144,28 @@ * @prime: holds the new prime * @generator: holds the new generator * - * This function will replace the pair of prime and generator for use - * in the Diffie-Hellman key exchange. The new parameters should be - * stored in the appropriate gnutls_datum. + * This function will replace the pair of prime and generator for use in + * the Diffie-Hellman key exchange. The new parameters should be stored in the + * appropriate gnutls_datum. * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. **/ int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, const gnutls_datum_t * prime, const gnutls_datum_t * generator) { - bigint_t tmp_prime, tmp_g; + mpi_t tmp_prime, tmp_g; size_t siz; siz = prime->size; - if (_gnutls_mpi_scan_nz (&tmp_prime, prime->data, siz)) + if (_gnutls_mpi_scan_nz (&tmp_prime, prime->data, &siz)) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } siz = generator->size; - if (_gnutls_mpi_scan_nz (&tmp_g, generator->data, siz)) + if (_gnutls_mpi_scan_nz (&tmp_g, generator->data, &siz)) { _gnutls_mpi_release (&tmp_prime); gnutls_assert (); @@ -98,14 +182,12 @@ } /** - * gnutls_dh_params_init - initialize the DH parameters - * @dh_params: Is a structure that will hold the prime numbers - * - * This function will initialize the DH parameters structure. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_init - initialize the DH parameters + * @dh_params: Is a structure that will hold the prime numbers + * + * This function will initialize the DH parameters structure. + * + **/ int gnutls_dh_params_init (gnutls_dh_params_t * dh_params) { @@ -122,11 +204,12 @@ } /** - * gnutls_dh_params_deinit - deinitialize the DH parameters - * @dh_params: Is a structure that holds the prime numbers - * - * This function will deinitialize the DH parameters structure. - **/ + * gnutls_dh_params_deinit - deinitialize the DH parameters + * @dh_params: Is a structure that holds the prime numbers + * + * This function will deinitialize the DH parameters structure. + * + **/ void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params) { @@ -141,16 +224,14 @@ } /** - * gnutls_dh_params_cpy - copy a DH parameters structure - * @dst: Is the destination structure, which should be initialized. - * @src: Is the source structure - * - * This function will copy the DH parameters structure from source - * to destination. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_cpy - copy a DH parameters structure + * @dst: Is the destination structure, which should be initialized. + * @src: Is the source structure + * + * This function will copy the DH parameters structure from source + * to destination. + * + **/ int gnutls_dh_params_cpy (gnutls_dh_params_t dst, gnutls_dh_params_t src) { @@ -168,57 +249,53 @@ /** - * gnutls_dh_params_generate2 - generate new DH parameters - * @params: Is the structure that the DH parameters will be stored - * @bits: is the prime's number of bits - * - * This function will generate a new pair of prime and generator for use in - * the Diffie-Hellman key exchange. The new parameters will be allocated using - * gnutls_malloc() and will be stored in the appropriate datum. - * This function is normally slow. - * - * Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. - * Also note that the DH parameters are only useful to servers. - * Since clients use the parameters sent by the server, it's of - * no use to call this in client side. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_generate2 - generate new DH parameters + * @params: Is the structure that the DH parameters will be stored + * @bits: is the prime's number of bits + * + * This function will generate a new pair of prime and generator for use in + * the Diffie-Hellman key exchange. The new parameters will be allocated using + * gnutls_malloc() and will be stored in the appropriate datum. + * This function is normally slow. + * + * Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096. + * Also note that the DH parameters are only useful to servers. + * Since clients use the parameters sent by the server, it's of + * no use to call this in client side. + * + **/ int gnutls_dh_params_generate2 (gnutls_dh_params_t params, unsigned int bits) { int ret; - gnutls_group_st group; - ret = _gnutls_mpi_generate_group (&group, bits); + ret = _gnutls_dh_generate_prime (¶ms->params[1], + ¶ms->params[0], bits); if (ret < 0) { gnutls_assert (); return ret; } - params->params[0] = group.p; - params->params[1] = group.g; - return 0; } /** - * gnutls_dh_params_import_pkcs3 - import DH params from a pkcs3 structure - * @params: A structure where the parameters will be copied to - * @pkcs3_params: should contain a PKCS3 DHParams structure PEM or DER encoded - * @format: the format of params. PEM or DER. - * - * This function will extract the DHParams found in a PKCS3 formatted - * structure. This is the format generated by "openssl dhparam" tool. - * - * If the structure is PEM encoded, it should have a header - * of "BEGIN DH PARAMETERS". - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_import_pkcs3 - import DH params from a pkcs3 structure + * @params: A structure where the parameters will be copied to + * @pkcs3_params: should contain a PKCS3 DHParams structure PEM or DER encoded + * @format: the format of params. PEM or DER. + * + * This function will extract the DHParams found in a PKCS3 formatted + * structure. This is the format generated by "openssl dhparam" tool. + * + * If the structure is PEM encoded, it should have a header + * of "BEGIN DH PARAMETERS". + * + * In case of failure a negative value will be returned, and + * 0 on success. + * + **/ int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, const gnutls_datum_t * pkcs3_params, @@ -314,23 +391,24 @@ } /** - * gnutls_dh_params_export_pkcs3 - export DH params to a pkcs3 structure - * @params: Holds the DH parameters - * @format: the format of output params. One of PEM or DER. - * @params_data: will contain a PKCS3 DHParams structure PEM or DER encoded - * @params_data_size: holds the size of params_data (and will be replaced by the actual size of parameters) - * - * This function will export the given dh parameters to a PKCS3 - * DHParams structure. This is the format generated by "openssl dhparam" tool. - * If the buffer provided is not long enough to hold the output, then - * GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. - * - * If the structure is PEM encoded, it will have a header - * of "BEGIN DH PARAMETERS". - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_export_pkcs3 - export DH params to a pkcs3 structure + * @params: Holds the DH parameters + * @format: the format of output params. One of PEM or DER. + * @params_data: will contain a PKCS3 DHParams structure PEM or DER encoded + * @params_data_size: holds the size of params_data (and will be replaced by the actual size of parameters) + * + * This function will export the given dh parameters to a PKCS3 + * DHParams structure. This is the format generated by "openssl dhparam" tool. + * If the buffer provided is not long enough to hold the output, then + * GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. + * + * If the structure is PEM encoded, it will have a header + * of "BEGIN DH PARAMETERS". + * + * In case of failure a negative value will be returned, and + * 0 on success. + * + **/ int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, gnutls_x509_crt_fmt_t format, @@ -343,8 +421,8 @@ opaque *p_data, *g_data; opaque *all_data; - _gnutls_mpi_print_lz (params->params[1], NULL, &g_size); - _gnutls_mpi_print_lz (params->params[0], NULL, &p_size); + _gnutls_mpi_print_lz (NULL, &g_size, params->params[1]); + _gnutls_mpi_print_lz (NULL, &p_size, params->params[0]); all_data = gnutls_malloc (g_size + p_size); if (all_data == NULL) @@ -356,8 +434,8 @@ p_data = &all_data[0]; g_data = &all_data[p_size]; - _gnutls_mpi_print_lz (params->params[0], p_data, &p_size); - _gnutls_mpi_print_lz (params->params[1], g_data, &g_size); + _gnutls_mpi_print_lz (p_data, &p_size, params->params[0]); + _gnutls_mpi_print_lz (g_data, &g_size, params->params[1]); /* Ok. Now we have the data. Create the asn1 structures */ @@ -469,19 +547,21 @@ return GNUTLS_E_INTERNAL_ERROR; } - if ((unsigned) result > *params_data_size) + if ((unsigned) result + 1 > *params_data_size) { gnutls_assert (); gnutls_free (out); - *params_data_size = result; + *params_data_size = result + 1; return GNUTLS_E_SHORT_MEMORY_BUFFER; } - *params_data_size = result - 1; + *params_data_size = result; if (params_data) - memcpy (params_data, out, result); - + { + memcpy (params_data, out, result); + params_data[result] = 0; + } gnutls_free (out); } @@ -490,26 +570,24 @@ } /** - * gnutls_dh_params_export_raw - export the raw DH parameters - * @params: Holds the DH parameters - * @prime: will hold the new prime - * @generator: will hold the new generator - * @bits: if non null will hold is the prime's number of bits - * - * This function will export the pair of prime and generator for use - * in the Diffie-Hellman key exchange. The new parameters will be - * allocated using gnutls_malloc() and will be stored in the - * appropriate datum. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_dh_params_export_raw - export the raw DH parameters + * @params: Holds the DH parameters + * @prime: will hold the new prime + * @generator: will hold the new generator + * @bits: if non null will hold is the prime's number of bits + * + * This function will export the pair of prime and generator for use in + * the Diffie-Hellman key exchange. The new parameters will be allocated using + * gnutls_malloc() and will be stored in the appropriate datum. + * + **/ int gnutls_dh_params_export_raw (gnutls_dh_params_t params, gnutls_datum_t * prime, gnutls_datum_t * generator, unsigned int *bits) { - int ret; + + size_t size; if (params->params[1] == NULL || params->params[0] == NULL) { @@ -517,20 +595,31 @@ return GNUTLS_E_INVALID_REQUEST; } - ret = _gnutls_mpi_dprint (params->params[1], generator); - if (ret < 0) + size = 0; + _gnutls_mpi_print (NULL, &size, params->params[1]); + + generator->data = gnutls_malloc (size); + if (generator->data == NULL) { - gnutls_assert (); - return ret; + return GNUTLS_E_MEMORY_ERROR; } - ret = _gnutls_mpi_dprint (params->params[0], prime); - if (ret < 0) + generator->size = size; + _gnutls_mpi_print (generator->data, &size, params->params[1]); + + + size = 0; + _gnutls_mpi_print (NULL, &size, params->params[0]); + + prime->data = gnutls_malloc (size); + if (prime->data == NULL) { - gnutls_assert (); - _gnutls_free_datum (generator); - return ret; + gnutls_free (generator->data); + generator->data = NULL; + return GNUTLS_E_MEMORY_ERROR; } + prime->size = size; + _gnutls_mpi_print (prime->data, &size, params->params[0]); if (bits) *bits = _gnutls_mpi_get_nbits (params->params[0]); diff -Nru gnutls26-2.8.6/lib/gnutls_errors.c gnutls26-2.4.1/lib/gnutls_errors.c --- gnutls26-2.8.6/lib/gnutls_errors.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_errors.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -34,6 +34,8 @@ #define _(String) dgettext (PACKAGE, String) #define N_(String) gettext_noop (String) +extern LOG_FUNC _gnutls_log_func; + #define ERROR_ENTRY(desc, name, fatal) \ { desc, #name, name, fatal} @@ -66,13 +68,11 @@ GNUTLS_E_LARGE_PACKET, 1), ERROR_ENTRY (N_("A record packet with illegal version was received."), GNUTLS_E_UNSUPPORTED_VERSION_PACKET, 1), - ERROR_ENTRY (N_ - ("The Diffie-Hellman prime sent by the server is not acceptable (not long enough)."), - GNUTLS_E_DH_PRIME_UNACCEPTABLE, 1), + ERROR_ENTRY (N_("The Diffie Hellman prime sent by the server is not acceptable (not long enough)."), + GNUTLS_E_DH_PRIME_UNACCEPTABLE, 1), ERROR_ENTRY (N_("A TLS packet with unexpected length was received."), GNUTLS_E_UNEXPECTED_PACKET_LENGTH, 1), - ERROR_ENTRY (N_ - ("The specified session has been invalidated for some reason."), + ERROR_ENTRY (N_("The specified session has been invalidated for some reason."), GNUTLS_E_INVALID_SESSION, 1), ERROR_ENTRY (N_("GnuTLS internal error."), GNUTLS_E_INTERNAL_ERROR, 1), @@ -84,9 +84,8 @@ GNUTLS_E_UNEXPECTED_PACKET, 1), ERROR_ENTRY (N_("A TLS warning alert has been received."), GNUTLS_E_WARNING_ALERT_RECEIVED, 0), - ERROR_ENTRY (N_ - ("An error was encountered at the TLS Finished packet calculation."), - GNUTLS_E_ERROR_IN_FINISHED_PACKET, 1), + ERROR_ENTRY (N_("An error was encountered at the TLS Finished packet calculation."), + GNUTLS_E_ERROR_IN_FINISHED_PACKET, 1), ERROR_ENTRY (N_("The peer did not send any certificate."), GNUTLS_E_NO_CERTIFICATE_FOUND, 1), @@ -131,8 +130,7 @@ ERROR_ENTRY (N_("Hashing has failed."), GNUTLS_E_HASH_FAILED, 1), ERROR_ENTRY (N_("Base64 decoding error."), GNUTLS_E_BASE64_DECODING_ERROR, 1), - ERROR_ENTRY (N_("Base64 unexpected header error."), - GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR, + ERROR_ENTRY (N_("Base64 unexpected header error."), GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR, 1), ERROR_ENTRY (N_("Base64 encoding error."), GNUTLS_E_BASE64_ENCODING_ERROR, 1), @@ -142,9 +140,8 @@ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE, 0), ERROR_ENTRY (N_("Error in the pull function."), GNUTLS_E_PULL_ERROR, 1), ERROR_ENTRY (N_("Error in the push function."), GNUTLS_E_PUSH_ERROR, 1), - ERROR_ENTRY (N_ - ("The upper limit of record packet sequence numbers has been reached. Wow!"), - GNUTLS_E_RECORD_LIMIT_REACHED, 1), + ERROR_ENTRY (N_("The upper limit of record packet sequence numbers has been reached. Wow!"), + GNUTLS_E_RECORD_LIMIT_REACHED, 1), ERROR_ENTRY (N_("Error in the certificate."), GNUTLS_E_CERTIFICATE_ERROR, 1), ERROR_ENTRY (N_("Unknown Subject Alternative name in X.509 certificate."), @@ -154,14 +151,12 @@ GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION, 1), ERROR_ENTRY (N_("Key usage violation in certificate has been detected."), GNUTLS_E_KEY_USAGE_VIOLATION, 1), - ERROR_ENTRY (N_("Resource temporarily unavailable, try again."), - GNUTLS_E_AGAIN, 0), + ERROR_ENTRY (N_("Function was interrupted."), GNUTLS_E_AGAIN, 0), ERROR_ENTRY (N_("Function was interrupted."), GNUTLS_E_INTERRUPTED, 0), ERROR_ENTRY (N_("Rehandshake was requested by the peer."), GNUTLS_E_REHANDSHAKE, 0), - ERROR_ENTRY (N_ - ("TLS Application data were received, while expecting handshake data."), - GNUTLS_E_GOT_APPLICATION_DATA, 1), + ERROR_ENTRY (N_("TLS Application data were received, while expecting handshake data."), + GNUTLS_E_GOT_APPLICATION_DATA, 1), ERROR_ENTRY (N_("Error in Database backend."), GNUTLS_E_DB_ERROR, 1), ERROR_ENTRY (N_("The certificate type is not supported."), GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE, 1), @@ -198,9 +193,8 @@ GNUTLS_E_TOO_MANY_EMPTY_PACKETS, 1), ERROR_ENTRY (N_("The initialization of GnuTLS-extra has failed."), GNUTLS_E_INIT_LIBEXTRA, 1), - ERROR_ENTRY (N_ - ("The GnuTLS library version does not match the GnuTLS-extra library version."), - GNUTLS_E_LIBRARY_VERSION_MISMATCH, 1), + ERROR_ENTRY (N_("The GnuTLS library version does not match the GnuTLS-extra library version."), + GNUTLS_E_LIBRARY_VERSION_MISMATCH, 1), ERROR_ENTRY (N_("The gcrypt library version is too old."), GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY, 1), @@ -262,122 +256,98 @@ {NULL, NULL, 0, 0} }; +#define GNUTLS_ERROR_LOOP(b) \ + const gnutls_error_entry *p; \ + for(p = error_algorithms; p->desc != NULL; p++) { b ; } + +#define GNUTLS_ERROR_ALG_LOOP(a) \ + GNUTLS_ERROR_LOOP( if(p->number == error) { a; break; } ) + + + /** - * gnutls_error_is_fatal - Returns non-zero in case of a fatal error - * @error: is a GnuTLS error code, a negative value - * - * If a GnuTLS function returns a negative value you may feed that - * value to this function to see if the error condition is fatal. - * - * Note that you may want to check the error code manually, since some - * non-fatal errors to the protocol may be fatal for you program. - * - * This function is only useful if you are dealing with errors from - * the record layer or the handshake layer. - * - * Returns: 1 if the error code is fatal, for positive @error values, - * 0 is returned. For unknown @error values, -1 is returned. - **/ + * gnutls_error_is_fatal - Returns non-zero in case of a fatal error + * @error: is an error returned by a gnutls function. Error should be a negative value. + * + * If a function returns a negative value you may feed that value + * to this function to see if it is fatal. Returns 1 for a fatal + * error 0 otherwise. However you may want to check the + * error code manually, since some non-fatal errors to the protocol + * may be fatal for you (your program). + * + * This is only useful if you are dealing with errors from the + * record layer or the handshake layer. + * + * For positive @error values, 0 is returned. + * + **/ int gnutls_error_is_fatal (int error) { int ret = 1; - const gnutls_error_entry *p; /* Input sanitzation. Positive values are not errors at all, and definitely not fatal. */ if (error > 0) return 0; - for (p = error_algorithms; p->desc != NULL; p++) - { - if (p->number == error) - { - ret = p->fatal; - break; - } - } + GNUTLS_ERROR_ALG_LOOP (ret = p->fatal); return ret; } /** - * gnutls_perror - prints a string to stderr with a description of an error - * @error: is a GnuTLS error code, a negative value - * - * This function is like perror(). The only difference is that it - * accepts an error number returned by a gnutls function. - **/ + * gnutls_perror - prints a string to stderr with a description of an error + * @error: is an error returned by a gnutls function. Error is always a negative value. + * + * This function is like perror(). The only difference is that it accepts an + * error number returned by a gnutls function. + **/ void gnutls_perror (int error) { - fprintf (stderr, "GNUTLS ERROR: %s\n", gnutls_strerror (error)); + const char *ret = NULL; + + /* avoid prefix */ + GNUTLS_ERROR_ALG_LOOP (ret = p->desc); + if (ret == NULL) + ret = "(unknown)"; + fprintf (stderr, "GNUTLS ERROR: %s\n", _(ret)); } /** - * gnutls_strerror - Returns a string with a description of an error - * @error: is a GnuTLS error code, a negative value - * - * This function is similar to strerror(). Differences: it accepts an - * error number returned by a gnutls function; In case of an unknown - * error a descriptive string is sent instead of NULL. - * - * Error codes are always a negative value. - * - * Returns: A string explaining the GnuTLS error message. - **/ + * gnutls_strerror - Returns a string with a description of an error + * @error: is an error returned by a gnutls function. Error is always a negative value. + * + * This function is similar to strerror(). Differences: it accepts an error + * number returned by a gnutls function; In case of an unknown error + * a descriptive string is sent instead of NULL. + **/ const char * gnutls_strerror (int error) { const char *ret = NULL; - const gnutls_error_entry *p; - - for (p = error_algorithms; p->desc != NULL; p++) - { - if (p->number == error) - { - ret = p->desc; - break; - } - } /* avoid prefix */ + GNUTLS_ERROR_ALG_LOOP (ret = p->desc); if (ret == NULL) - return _("(unknown error code)"); - + return "(unknown error code)"; return _(ret); } -/** - * gnutls_strerror_name: - * @error: is an error returned by a gnutls function. - * - * Return the GnuTLS error code define as a string. For example, - * gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return - * the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE". - * - * Returns: A string corresponding to the symbol name of the error - * code. - * - * Since: 2.6.0 - **/ +/* This will print the actual define of the + * given error code. + */ const char * -gnutls_strerror_name (int error) +_gnutls_strerror (int error) { const char *ret = NULL; - const gnutls_error_entry *p; - for (p = error_algorithms; p->desc != NULL; p++) - { - if (p->number == error) - { - ret = p->_name; - break; - } - } + /* avoid prefix */ + GNUTLS_ERROR_ALG_LOOP (ret = p->_name); - return ret; + return _(ret); } int @@ -427,6 +397,7 @@ { va_list args; char str[MAX_LOG_SIZE]; + void (*log_func) (int, const char *) = _gnutls_log_func; if (_gnutls_log_func == NULL) return; @@ -435,7 +406,7 @@ vsnprintf (str, MAX_LOG_SIZE - 1, fmt, args); /* Flawfinder: ignore */ va_end (args); - _gnutls_log_func (level, str); + log_func (level, str); } #ifndef DEBUG diff -Nru gnutls26-2.8.6/lib/gnutls_errors.h gnutls26-2.4.1/lib/gnutls_errors.h --- gnutls26-2.8.6/lib/gnutls_errors.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_errors.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,11 +22,7 @@ * */ -#ifndef GNUTLS_ERRORS_H -# define GNUTLS_ERRORS_H - -#include -#include +#include #define GNUTLS_E_INT_RET_0 -1251 @@ -41,12 +37,9 @@ #endif int _gnutls_asn2err (int asn_err); -void _gnutls_log (int, const char *fmt, ...) -#ifdef __GNUC__ -__attribute__ ((format (printf, 2, 3))); -#else -; -#endif +void _gnutls_log (int, const char *fmt, ...); + +extern int _gnutls_log_level; #ifdef C99_MACROS #define LEVEL(l, ...) if (_gnutls_log_level >= l || _gnutls_log_level > 9) \ @@ -78,5 +71,3 @@ void _gnutls_null_log (void *, ...); #endif /* C99_MACROS */ - -#endif /* GNUTLS_ERRORS_H */ diff -Nru gnutls26-2.8.6/lib/gnutls_extensions.c gnutls26-2.4.1/lib/gnutls_extensions.c --- gnutls26-2.8.6/lib/gnutls_extensions.c 2009-06-08 18:11:03.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_extensions.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,7 +1,7 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation * - * Author: Nikos Mavrogiannopoulos, Simon Josefsson + * Author: Nikos Mavrogiannopoulos * * This file is part of GNUTLS. * @@ -35,43 +35,86 @@ #include #include #include +#include #include -typedef struct -{ - const char *name; - uint16_t type; - gnutls_ext_parse_type_t parse_type; - gnutls_ext_recv_func recv_func; - gnutls_ext_send_func send_func; -} gnutls_extension_entry; +/* Key Exchange Section */ +#define GNUTLS_EXTENSION_ENTRY(type, parse_type, ext_func_recv, ext_func_send) \ + { #type, type, parse_type, ext_func_recv, ext_func_send } + + +#define MAX_EXT_SIZE 10 +const int _gnutls_extensions_size = MAX_EXT_SIZE; + +gnutls_extension_entry _gnutls_extensions[MAX_EXT_SIZE] = { + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_MAX_RECORD_SIZE, + EXTENSION_TLS, + _gnutls_max_record_recv_params, + _gnutls_max_record_send_params), + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_CERT_TYPE, + EXTENSION_TLS, + _gnutls_cert_type_recv_params, + _gnutls_cert_type_send_params), + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_SERVER_NAME, + EXTENSION_APPLICATION, + _gnutls_server_name_recv_params, + _gnutls_server_name_send_params), +#ifdef ENABLE_OPRFI + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_OPAQUE_PRF_INPUT, + EXTENSION_TLS, + _gnutls_oprfi_recv_params, + _gnutls_oprfi_send_params), +#endif +#ifdef ENABLE_SRP + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_SRP, + EXTENSION_TLS, + _gnutls_srp_recv_params, + _gnutls_srp_send_params), +#endif + GNUTLS_EXTENSION_ENTRY (GNUTLS_EXTENSION_INNER_APPLICATION, + EXTENSION_TLS, + _gnutls_inner_application_recv_params, + _gnutls_inner_application_send_params), + {NULL, 0, 0, NULL, NULL} +}; -static size_t extfunc_size = 0; -static gnutls_extension_entry *extfunc = NULL; +#define GNUTLS_EXTENSION_LOOP2(b) \ + gnutls_extension_entry *p; \ + for(p = _gnutls_extensions; p->name != NULL; p++) { b ; } -static gnutls_ext_recv_func -_gnutls_ext_func_recv (uint16_t type, gnutls_ext_parse_type_t parse_type) +#define GNUTLS_EXTENSION_LOOP(a) \ + GNUTLS_EXTENSION_LOOP2( if(p->type == type) { a; break; } ) + + +/* EXTENSION functions */ + +ext_recv_func +_gnutls_ext_func_recv (uint16_t type, tls_ext_parse_type_t parse_type) { - size_t i; + ext_recv_func ret = NULL; + GNUTLS_EXTENSION_LOOP (if (parse_type == EXTENSION_ANY || p->parse_type == parse_type) ret = p->gnutls_ext_func_recv); + return ret; - for (i = 0; i < extfunc_size; i++) - if (extfunc[i].type == type) - if (parse_type == GNUTLS_EXT_ANY || extfunc[i].parse_type == parse_type) - return extfunc[i].recv_func; +} + +ext_send_func +_gnutls_ext_func_send (uint16_t type) +{ + ext_send_func ret = NULL; + GNUTLS_EXTENSION_LOOP (ret = p->gnutls_ext_func_send); + return ret; - return NULL; } -static const char * +const char * _gnutls_extension_get_name (uint16_t type) { - size_t i; + const char *ret = NULL; - for (i = 0; i < extfunc_size; i++) - if (extfunc[i].type == type) - return extfunc[i].name; + /* avoid prefix */ + GNUTLS_EXTENSION_LOOP (ret = p->name + sizeof ("GNUTLS_EXTENSION_") - 1); - return NULL; + return ret; } /* Checks if the extension we just received is one of the @@ -83,13 +126,11 @@ if (session->security_parameters.entity == GNUTLS_CLIENT) { int i; - for (i = 0; i < session->internals.extensions_sent_size; i++) { if (type == session->internals.extensions_sent[i]) return 0; /* ok found */ } - return GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION; } @@ -97,15 +138,14 @@ } int -_gnutls_parse_extensions (gnutls_session_t session, - gnutls_ext_parse_type_t parse_type, - const opaque * data, int data_size) +_gnutls_parse_extensions (gnutls_session_t session, tls_ext_parse_type_t parse_type, + const opaque * data, int data_size) { int next, ret; int pos = 0; uint16_t type; const opaque *sdata; - gnutls_ext_recv_func ext_recv; + ext_recv_func ext_recv; uint16_t size; #ifdef DEBUG @@ -116,8 +156,9 @@ { _gnutls_debug_log ("EXT[%d]: expecting extension '%s'\n", session, - _gnutls_extension_get_name - (session->internals.extensions_sent[i])); + _gnutls_extension_get_name (session-> + internals. + extensions_sent[i])); } #endif @@ -133,8 +174,8 @@ type = _gnutls_read_uint16 (&data[pos]); pos += 2; - _gnutls_debug_log ("EXT[%p]: Received extension '%s/%d'\n", session, - _gnutls_extension_get_name (type), type); + _gnutls_debug_log ("EXT[%x]: Received extension '%s/%d'\n", session, + _gnutls_extension_get_name (type),type); if ((ret = _gnutls_extension_list_check (session, type)) < 0) { @@ -178,9 +219,8 @@ { if (session->internals.extensions_sent_size < MAX_EXT_TYPES) { - session->internals.extensions_sent[session-> - internals.extensions_sent_size] = - type; + session->internals.extensions_sent[session->internals. + extensions_sent_size] = type; session->internals.extensions_sent_size++; } else @@ -198,7 +238,8 @@ uint16_t pos = 0; opaque *sdata; int sdata_size; - size_t i; + ext_send_func ext_send; + gnutls_extension_entry *p; if (data_size < 2) { @@ -217,14 +258,12 @@ } pos += 2; - for (i = 0; i < extfunc_size; i++) + for (p = _gnutls_extensions; p->name != NULL; p++) { - gnutls_extension_entry *p = &extfunc[i]; - - if (p->send_func == NULL) + ext_send = _gnutls_ext_func_send (p->type); + if (ext_send == NULL) continue; - - size = p->send_func (session, sdata, sdata_size); + size = ext_send (session, sdata, sdata_size); if (size > 0) { if (data_size < pos + (size_t) size + 4) @@ -249,8 +288,8 @@ */ _gnutls_extension_list_add (session, p->type); - _gnutls_debug_log ("EXT[%p]: Sending extension %s\n", - session, p->name); + _gnutls_debug_log ("EXT[%x]: Sending extension %s\n", session, + _gnutls_extension_get_name (p->type)); } else if (size < 0) { @@ -274,105 +313,3 @@ return size; } - -int -_gnutls_ext_init (void) -{ - int ret; - - ret = gnutls_ext_register (GNUTLS_EXTENSION_MAX_RECORD_SIZE, - "MAX_RECORD_SIZE", - GNUTLS_EXT_TLS, - _gnutls_max_record_recv_params, - _gnutls_max_record_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; - - ret = gnutls_ext_register (GNUTLS_EXTENSION_CERT_TYPE, - "CERT_TYPE", - GNUTLS_EXT_TLS, - _gnutls_cert_type_recv_params, - _gnutls_cert_type_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; - - ret = gnutls_ext_register (GNUTLS_EXTENSION_SERVER_NAME, - "SERVER_NAME", - GNUTLS_EXT_APPLICATION, - _gnutls_server_name_recv_params, - _gnutls_server_name_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; - -#ifdef ENABLE_OPRFI - ret = gnutls_ext_register (GNUTLS_EXTENSION_OPAQUE_PRF_INPUT, - "OPAQUE_PRF_INPUT", - GNUTLS_EXT_TLS, - _gnutls_oprfi_recv_params, - _gnutls_oprfi_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; -#endif - -#ifdef ENABLE_SRP - ret = gnutls_ext_register (GNUTLS_EXTENSION_SRP, - "SRP", - GNUTLS_EXT_TLS, - _gnutls_srp_recv_params, - _gnutls_srp_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; -#endif - - return GNUTLS_E_SUCCESS; -} - -void -_gnutls_ext_deinit (void) -{ - gnutls_free (extfunc); - extfunc = NULL; - extfunc_size = 0; -} - -/** - * gnutls_ext_register - Register a handler for a TLS extension - * @type: the 16-bit integer referring to the extension type - * @name: human printable name of the extension used for debugging - * @parse_type: either #GNUTLS_EXT_TLS or %GNUTLS_EXT_APPLICATION. - * @recv_func: a function to receive extension data - * @send_func: a function to send extension data - * - * This function is used to register a new TLS extension handler. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an error code. - * - * Since: 2.6.0 - **/ -int -gnutls_ext_register (int type, - const char *name, - gnutls_ext_parse_type_t parse_type, - gnutls_ext_recv_func recv_func, - gnutls_ext_send_func send_func) -{ - gnutls_extension_entry *p; - - p = gnutls_realloc (extfunc, sizeof (*extfunc) * (extfunc_size + 1)); - if (!p) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - extfunc = p; - - extfunc[extfunc_size].type = type; - extfunc[extfunc_size].name = name; - extfunc[extfunc_size].parse_type = parse_type; - extfunc[extfunc_size].recv_func = recv_func; - extfunc[extfunc_size].send_func = send_func; - - extfunc_size++; - - return GNUTLS_E_SUCCESS; -} diff -Nru gnutls26-2.8.6/lib/gnutls_extensions.h gnutls26-2.4.1/lib/gnutls_extensions.h --- gnutls26-2.8.6/lib/gnutls_extensions.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_extensions.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,10 +22,24 @@ * */ -int _gnutls_parse_extensions (gnutls_session_t session, - gnutls_ext_parse_type_t parse_type, - const opaque *data, int data_size); +#include + +const char *_gnutls_extension_get_name (uint16_t type); +int _gnutls_parse_extensions (gnutls_session_t, tls_ext_parse_type_t, const opaque *, int); int _gnutls_gen_extensions (gnutls_session_t session, opaque * data, size_t data_size); -int _gnutls_ext_init (void); -void _gnutls_ext_deinit (void); + +typedef int (*ext_recv_func) (gnutls_session_t, const opaque *, size_t); /* recv data */ +typedef int (*ext_send_func) (gnutls_session_t, opaque *, size_t); /* send data */ + +ext_send_func _gnutls_ext_func_send (uint16_t type); +ext_recv_func _gnutls_ext_func_recv (uint16_t type, tls_ext_parse_type_t); + +typedef struct +{ + const char *name; + uint16_t type; + tls_ext_parse_type_t parse_type; + ext_recv_func gnutls_ext_func_recv; + ext_send_func gnutls_ext_func_send; +} gnutls_extension_entry; diff -Nru gnutls26-2.8.6/lib/gnutls_global.c gnutls26-2.4.1/lib/gnutls_global.c --- gnutls26-2.8.6/lib/gnutls_global.c 2009-08-10 13:16:34.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_global.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -27,44 +27,37 @@ #include #include #include -#include -#include /* for _gnutls_ext_init */ +#ifdef HAVE_WINSOCK +# include +#endif -#include "sockets.h" #include "gettext.h" -/* Minimum library versions we accept. */ -#define GNUTLS_MIN_LIBGCRYPT_VERSION "1.2.4" -#define GNUTLS_MIN_LIBTASN1_VERSION "0.3.4" - -/* Remove this when we require libtasn1 v1.6 or later. */ -#ifndef ASN1_VERSION -# define ASN1_VERSION LIBTASN1_VERSION -#endif +#define gnutls_log_func LOG_FUNC /* created by asn1c */ extern const ASN1_ARRAY_TYPE gnutls_asn1_tab[]; extern const ASN1_ARRAY_TYPE pkix_asn1_tab[]; +LOG_FUNC _gnutls_log_func; +int _gnutls_log_level = 0; /* default log level */ + ASN1_TYPE _gnutls_pkix1_asn; ASN1_TYPE _gnutls_gnutls_asn; -gnutls_log_func _gnutls_log_func; -int _gnutls_log_level = 0; /* default log level */ - /** - * gnutls_global_set_log_function - set the logging function - * @log_func: it's a log function - * - * This is the function where you set the logging function gnutls is - * going to use. This function only accepts a character array. - * Normally you may not use this function since it is only used for - * debugging purposes. - * - * gnutls_log_func is of the form, - * void (*gnutls_log_func)( int level, const char*); - **/ + * gnutls_global_set_log_function - set the logging function + * @log_func: it's a log function + * + * This is the function where you set the logging function gnutls + * is going to use. This function only accepts a character array. + * Normally you may not use this function since it is only used + * for debugging purposes. + * + * gnutls_log_func is of the form, + * void (*gnutls_log_func)( int level, const char*); + **/ void gnutls_global_set_log_function (gnutls_log_func log_func) { @@ -72,44 +65,66 @@ } /** - * gnutls_global_set_log_level - set the logging level - * @level: it's an integer from 0 to 9. - * - * This is the function that allows you to set the log level. The - * level is an integer between 0 and 9. Higher values mean more - * verbosity. The default value is 0. Larger values should only be - * used with care, since they may reveal sensitive information. - * - * Use a log level over 10 to enable all debugging options. - **/ + * gnutls_global_set_log_level - set the logging level + * @level: it's an integer from 0 to 9. + * + * This is the function that allows you to set the log level. + * The level is an integer between 0 and 9. Higher values mean + * more verbosity. The default value is 0. Larger values should + * only be used with care, since they may reveal sensitive information. + * + * Use a log level over 10 to enable all debugging options. + * + **/ void gnutls_global_set_log_level (int level) { _gnutls_log_level = level; } + +#ifdef DEBUG +/* default logging function */ +static void +dlog (int level, const char *str) +{ + fputs (str, stderr); +} +#endif + +extern gnutls_alloc_function gnutls_secure_malloc; +extern gnutls_alloc_function gnutls_malloc; +extern gnutls_free_function gnutls_free; +extern int (*_gnutls_is_secure_memory) (const void *); +extern gnutls_realloc_function gnutls_realloc; +extern char *(*gnutls_strdup) (const char *); +extern void *(*gnutls_calloc) (size_t, size_t); + +int _gnutls_is_secure_mem_null (const void *); + /** - * gnutls_global_set_mem_functions - set the memory allocation functions - * @alloc_func: it's the default memory allocation function. Like malloc(). - * @secure_alloc_func: This is the memory allocation function that will be used for sensitive data. - * @is_secure_func: a function that returns 0 if the memory given is not secure. May be NULL. - * @realloc_func: A realloc function - * @free_func: The function that frees allocated data. Must accept a NULL pointer. - * - * This is the function were you set the memory allocation functions - * gnutls is going to use. By default the libc's allocation functions - * (malloc(), free()), are used by gnutls, to allocate both sensitive - * and not sensitive data. This function is provided to set the - * memory allocation functions to something other than the defaults - * (ie the gcrypt allocation functions). - * - * This function must be called before gnutls_global_init() is called. - * This function is not thread safe. - **/ + * gnutls_global_set_mem_functions - set the memory allocation functions + * @alloc_func: it's the default memory allocation function. Like malloc(). + * @secure_alloc_func: This is the memory allocation function that will be used for sensitive data. + * @is_secure_func: a function that returns 0 if the memory given is not secure. May be NULL. + * @realloc_func: A realloc function + * @free_func: The function that frees allocated data. Must accept a NULL pointer. + * + * This is the function were you set the memory allocation functions gnutls + * is going to use. By default the libc's allocation functions (malloc(), free()), + * are used by gnutls, to allocate both sensitive and not sensitive data. + * This function is provided to set the memory allocation functions to + * something other than the defaults (ie the gcrypt allocation functions). + * + * This function must be called before gnutls_global_init() is called. + * + **/ void gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, - gnutls_alloc_function secure_alloc_func, - gnutls_is_secure_function is_secure_func, + gnutls_alloc_function + secure_alloc_func, + gnutls_is_secure_function + is_secure_func, gnutls_realloc_function realloc_func, gnutls_free_function free_func) { @@ -138,40 +153,49 @@ } +#ifdef DEBUG +static void +_gnutls_gcry_log_handler (void *dummy, int level, + const char *fmt, va_list list) +{ + _gnutls_log (fmt, list); +} +#endif + static int _gnutls_init = 0; /** - * gnutls_global_init - initialize the global data to defaults. - * - * This function initializes the global data to defaults. Every - * gnutls application has a global data which holds common parameters - * shared by gnutls session structures. You should call - * gnutls_global_deinit() when gnutls usage is no longer needed - * - * Note that this function will also initialize libgcrypt, if it has - * not been initialized before. Thus if you want to manually - * initialize libgcrypt you must do it before calling this function. - * This is useful in cases you want to disable libgcrypt's internal - * lockings etc. - * - * This function increment a global counter, so that - * gnutls_global_deinit() only releases resources when it has been - * called as many times as gnutls_global_init(). This is useful when - * GnuTLS is used by more than one library in an application. This - * function can be called many times, but will only do something the - * first time. - * - * Note! This function is not thread safe. If two threads call this - * function simultaneously, they can cause a race between checking - * the global counter and incrementing it, causing both threads to - * execute the library initialization code. That would lead to a - * memory leak. To handle this, your application could invoke this - * function after aquiring a thread mutex. To ignore the potential - * memory leak is also an option. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_global_init - initialize the global data to defaults. + * + * This function initializes the global data to defaults. Every + * gnutls application has a global data which holds common parameters + * shared by gnutls session structures. You should call + * gnutls_global_deinit() when gnutls usage is no longer needed + * + * Note that this function will also initialize libgcrypt, if it has + * not been initialized before. Thus if you want to manually + * initialize libgcrypt you must do it before calling this function. + * This is useful in cases you want to disable libgcrypt's internal + * lockings etc. + * + * This function increment a global counter, so that + * gnutls_global_deinit() only releases resources when it has been + * called as many times as gnutls_global_init(). This is useful when + * GnuTLS is used by more than one library in an application. This + * function can be called many times, but will only do something the + * first time. + * + * Note! This function is not thread safe. If two threads call this + * function simultaneously, they can cause a race between checking + * the global counter and incrementing it, causing both threads to + * execute the library initialization code. That would lead to a + * memory leak. To handle this, your application could invoke this + * function after aquiring a thread mutex. To ignore the potential + * memory leak is also an option. + * + * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, + * otherwise an error code is returned. + **/ int gnutls_global_init (void) { @@ -181,43 +205,88 @@ if (_gnutls_init++) goto out; - if (gl_sockets_startup (SOCKETS_1_1)) - return GNUTLS_E_LIBRARY_VERSION_MISMATCH; +#if HAVE_WINSOCK + { + WORD requested; + WSADATA data; + int err; + + requested = MAKEWORD (1, 1); + err = WSAStartup (requested, &data); + if (err != 0) + { + _gnutls_debug_log ("WSAStartup failed: %d.\n", err); + return GNUTLS_E_LIBRARY_VERSION_MISMATCH; + } + + if (data.wVersion < requested) + { + _gnutls_debug_log ("WSAStartup version check failed (%d < %d).\n", + data.wVersion, requested); + WSACleanup (); + return GNUTLS_E_LIBRARY_VERSION_MISMATCH; + } + } +#endif bindtextdomain (PACKAGE, LOCALEDIR); - /* Initialize libgcrypt if it hasn't already been initialized. */ if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P) == 0) { const char *p; - - p = gcry_check_version (GNUTLS_MIN_LIBGCRYPT_VERSION); - + p = strchr (GNUTLS_GCRYPT_VERSION, ':'); if (p == NULL) + p = GNUTLS_GCRYPT_VERSION; + else + p++; + + if (gcry_check_version (p) == NULL) { gnutls_assert (); - _gnutls_debug_log ("Checking for libgcrypt failed: %s < %s\n", - gcry_check_version (NULL), - GNUTLS_MIN_LIBGCRYPT_VERSION); + _gnutls_debug_log ("Checking for libgcrypt failed '%s'\n", p); return GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY; } /* for gcrypt in order to be able to allocate memory */ - gcry_control (GCRYCTL_DISABLE_SECMEM, NULL, 0); + gcry_set_allocation_handler (gnutls_malloc, gnutls_secure_malloc, + _gnutls_is_secure_memory, gnutls_realloc, + gnutls_free); + + /* gcry_control (GCRYCTL_DISABLE_INTERNAL_LOCKING, NULL, 0); */ gcry_control (GCRYCTL_INITIALIZATION_FINISHED, NULL, 0); + +#ifdef DEBUG + /* applications may want to override that, so we only use + * it in debugging mode. + */ + gcry_set_log_handler (_gnutls_gcry_log_handler, NULL); +#endif } - /* initialize ASN.1 parser + if (gc_init () != GC_OK) + { + gnutls_assert (); + _gnutls_debug_log ("Initializing crypto backend failed\n"); + return GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY; + } + + /* for gcrypt in order to be able to allocate memory */ + gc_set_allocators (gnutls_malloc, gnutls_secure_malloc, + _gnutls_is_secure_memory, gnutls_realloc, gnutls_free); + +#ifdef DEBUG + gnutls_global_set_log_function (dlog); +#endif + + /* initialize parser * This should not deal with files in the final * version. */ - if (asn1_check_version (GNUTLS_MIN_LIBTASN1_VERSION) == NULL) + + if (asn1_check_version (GNUTLS_LIBTASN1_VERSION) == NULL) { gnutls_assert (); - _gnutls_debug_log ("Checking for libtasn1 failed: %s < %s\n", - asn1_check_version (NULL), - GNUTLS_MIN_LIBTASN1_VERSION); return GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY; } @@ -237,18 +306,10 @@ } /* Initialize the random generator */ - result = _gnutls_rnd_init (); - if (result < 0) - { - gnutls_assert (); - goto out; - } - - /* Initialize the default TLS extensions */ - result = _gnutls_ext_init (); + result = _gnutls_rnd_init(); if (result < 0) { - gnutls_assert (); + gnutls_assert(); goto out; } @@ -257,45 +318,50 @@ } /** - * gnutls_global_deinit - deinitialize the global data - * - * This function deinitializes the global data, that were initialized - * using gnutls_global_init(). - * - * Note! This function is not thread safe. See the discussion for - * gnutls_global_init() for more information. - **/ + * gnutls_global_deinit - deinitialize the global data + * + * This function deinitializes the global data, that were initialized + * using gnutls_global_init(). + * + * Note! This function is not thread safe. See the discussion for + * gnutls_global_init() for more information. + * + **/ void gnutls_global_deinit (void) { if (_gnutls_init == 1) { - gl_sockets_cleanup (); - _gnutls_rnd_deinit (); - _gnutls_ext_deinit (); +#if HAVE_WINSOCK + WSACleanup (); +#endif + _gnutls_rnd_deinit(); asn1_delete_structure (&_gnutls_gnutls_asn); asn1_delete_structure (&_gnutls_pkix1_asn); - _gnutls_crypto_deregister (); + _gnutls_crypto_deregister(); + gc_done (); } _gnutls_init--; } -/* These functions should be elsewere. Kept here for + +/* These functions should be elsewere. Kept here for * historical reasons. */ /** - * gnutls_transport_set_pull_function - set a read like function - * @pull_func: a callback function similar to read() - * @session: gnutls session - * - * This is the function where you set a function for gnutls to receive - * data. Normally, if you use berkeley style sockets, do not need to - * use this function since the default (recv(2)) will probably be ok. - * - * PULL_FUNC is of the form, - * ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); - **/ + * gnutls_transport_set_pull_function - set a read like function + * @pull_func: a callback function similar to read() + * @session: gnutls session + * + * This is the function where you set a function for gnutls + * to receive data. Normally, if you use berkeley style sockets, + * do not need to use this function since the default (recv(2)) will + * probably be ok. + * + * PULL_FUNC is of the form, + * ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); + **/ void gnutls_transport_set_pull_function (gnutls_session_t session, gnutls_pull_func pull_func) @@ -304,19 +370,19 @@ } /** - * gnutls_transport_set_push_function - set the function to send data - * @push_func: a callback function similar to write() - * @session: gnutls session - * - * This is the function where you set a push function for gnutls to - * use in order to send data. If you are going to use berkeley style - * sockets, you do not need to use this function since the default - * (send(2)) will probably be ok. Otherwise you should specify this - * function for gnutls to be able to send data. - * - * PUSH_FUNC is of the form, - * ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t); - **/ + * gnutls_transport_set_push_function - set the function to send data + * @push_func: a callback function similar to write() + * @session: gnutls session + * + * This is the function where you set a push function for gnutls + * to use in order to send data. If you are going to use berkeley style + * sockets, you do not need to use this function since + * the default (send(2)) will probably be ok. Otherwise you should + * specify this function for gnutls to be able to send data. + * + * PUSH_FUNC is of the form, + * ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t); + **/ void gnutls_transport_set_push_function (gnutls_session_t session, gnutls_push_func push_func) @@ -324,19 +390,23 @@ session->internals._gnutls_push_func = push_func; } +#include + /** - * gnutls_check_version - checks the libgnutls version - * @req_version: version string to compare with, or %NULL. - * - * Check GnuTLS Library version. - * - * See %GNUTLS_VERSION for a suitable @req_version string. - * - * Return value: Check that the version of the library is at - * minimum the one given as a string in @req_version and return the - * actual version string of the library; return %NULL if the - * condition is not met. If %NULL is passed to this function no - * check is done and only the version string is returned. + * gnutls_check_version - check the library's version + * @req_version: the version to check + * + * Check that the version of the library is at minimum the requested one + * and return the version string; return NULL if the condition is not + * satisfied. If a NULL is passed to this function, no check is done, + * but the version string is simply returned. + * + * See %LIBGNUTLS_VERSION for a suitable @req_version string. + * + * Return value: Version string of run-time library, or NULL if the + * run-time library does not meet the required version number. If + * %NULL is passed to this function no check is done and only the + * version string is returned. **/ const char * gnutls_check_version (const char *req_version) diff -Nru gnutls26-2.8.6/lib/gnutls_global.h gnutls26-2.4.1/lib/gnutls_global.h --- gnutls26-2.8.6/lib/gnutls_global.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_global.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -32,14 +32,11 @@ extern ASN1_TYPE _gnutls_pkix1_asn; extern ASN1_TYPE _gnutls_gnutls_asn; -/* removed const from node_asn* to +/* removed const from node_asn* to * prevent warnings, since libtasn1 doesn't * use the const keywork in its functions. */ -#define _gnutls_get_gnutls_asn() ((ASN1_TYPE) _gnutls_gnutls_asn) -#define _gnutls_get_pkix() ((ASN1_TYPE) _gnutls_pkix1_asn) - -extern gnutls_log_func _gnutls_log_func; -extern int _gnutls_log_level; +#define _gnutls_get_gnutls_asn() ((node_asn*) _gnutls_gnutls_asn) +#define _gnutls_get_pkix() ((node_asn*) _gnutls_pkix1_asn) #endif diff -Nru gnutls26-2.8.6/lib/gnutls_handshake.c gnutls26-2.4.1/lib/gnutls_handshake.c --- gnutls26-2.8.6/lib/gnutls_handshake.c 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_handshake.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -40,7 +40,7 @@ #include "gnutls_db.h" #include "gnutls_extensions.h" #include "gnutls_supplemental.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_v2_compat.h" #include "auth_cert.h" #include "gnutls_cert.h" @@ -51,10 +51,11 @@ #include /* for gnutls_get_rsa_params() */ #include /* for gnutls_anon_server_credentials_t */ #include /* for gnutls_psk_server_credentials_t */ +#include #include #ifdef HANDSHAKE_DEBUG -#define ERR(x, y) _gnutls_handshake_log("HSK[%p]: %s (%d)\n", session, x,y) +#define ERR(x, y) _gnutls_handshake_log( "HSK[%x]: %s (%d)\n", session, x,y) #else #define ERR(x, y) #endif @@ -85,16 +86,19 @@ resume_copy_required_values (gnutls_session_t session) { /* get the new random values */ - memcpy (session->internals.resumed_security_parameters.server_random, - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - memcpy (session->internals.resumed_security_parameters.client_random, - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); + memcpy (session->internals.resumed_security_parameters. + server_random, + session->security_parameters.server_random, TLS_RANDOM_SIZE); + memcpy (session->internals.resumed_security_parameters. + client_random, + session->security_parameters.client_random, TLS_RANDOM_SIZE); /* keep the ciphersuite and compression * That is because the client must see these in our * hello message. */ - memcpy (session->security_parameters.current_cipher_suite.suite, + memcpy (session->security_parameters.current_cipher_suite. + suite, session->internals.resumed_security_parameters. current_cipher_suite.suite, 2); @@ -115,8 +119,8 @@ session->internals.resumed_security_parameters.cert_type; memcpy (session->security_parameters.session_id, - session->internals.resumed_security_parameters.session_id, - sizeof (session->security_parameters.session_id)); + session->internals.resumed_security_parameters. + session_id, sizeof (session->security_parameters.session_id)); session->security_parameters.session_id_size = session->internals.resumed_security_parameters.session_id_size; } @@ -124,15 +128,13 @@ void _gnutls_set_server_random (gnutls_session_t session, uint8_t * rnd) { - memcpy (session->security_parameters.server_random, rnd, - GNUTLS_RANDOM_SIZE); + memcpy (session->security_parameters.server_random, rnd, TLS_RANDOM_SIZE); } void _gnutls_set_client_random (gnutls_session_t session, uint8_t * rnd) { - memcpy (session->security_parameters.client_random, rnd, - GNUTLS_RANDOM_SIZE); + memcpy (session->security_parameters.client_random, rnd, TLS_RANDOM_SIZE); } /* Calculate The SSL3 Finished message @@ -149,16 +151,14 @@ const char *mesg; int rc; - rc = - _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); + rc = _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); if (rc < 0) { gnutls_assert (); return rc; } - rc = - _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); + rc = _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); if (rc < 0) { gnutls_assert (); @@ -180,10 +180,10 @@ _gnutls_mac_deinit_ssl3_handshake (&td_md5, ret, session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); _gnutls_mac_deinit_ssl3_handshake (&td_sha, &ret[16], session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); return 0; } @@ -193,7 +193,7 @@ #define SERVER_MSG "server finished" #define CLIENT_MSG "client finished" #define TLS_MSG_LEN 15 -static int +int _gnutls_finished (gnutls_session_t session, int type, void *ret) { const int siz = TLS_MSG_LEN; @@ -207,9 +207,7 @@ if (ver < GNUTLS_TLS1_2) { - rc = - _gnutls_hash_copy (&td_md5, - &session->internals.handshake_mac_handle_md5); + rc = _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); if (rc < 0) { gnutls_assert (); @@ -217,8 +215,7 @@ } } - rc = - _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); + rc = _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); if (rc < 0) { gnutls_assert (); @@ -248,10 +245,10 @@ } return _gnutls_PRF (session, session->security_parameters.master_secret, - GNUTLS_MASTER_SIZE, mesg, siz, concat, len, 12, ret); + TLS_MASTER_SIZE, mesg, siz, concat, len, 12, ret); } -/* this function will produce GNUTLS_RANDOM_SIZE==32 bytes of random data +/* this function will produce TLS_RANDOM_SIZE==32 bytes of random data * and put it to dst. */ int @@ -269,7 +266,7 @@ /* generate server random value */ _gnutls_write_uint32 (tim, dst); - ret = _gnutls_rnd (GNUTLS_RND_NONCE, &dst[4], GNUTLS_RANDOM_SIZE - 4); + ret = _gnutls_rnd (RND_NONCE, &dst[4], TLS_RANDOM_SIZE - 4); if (ret < 0) { gnutls_assert (); @@ -281,11 +278,9 @@ /* returns the 0 on success or a negative value. */ -int -_gnutls_negotiate_version (gnutls_session_t session, - gnutls_protocol_t adv_version) +int _gnutls_negotiate_version( gnutls_session_t session, gnutls_protocol_t adv_version) { - int ret; +int ret; /* if we do not support that version */ if (_gnutls_version_is_supported (session, adv_version) == 0) @@ -308,33 +303,30 @@ } _gnutls_set_current_version (session, ret); - + return ret; } -int -_gnutls_user_hello_func (gnutls_session session, - gnutls_protocol_t adv_version) +int _gnutls_user_hello_func( gnutls_session session, gnutls_protocol_t adv_version) { - int ret; +int ret; - if (session->internals.user_hello_func != NULL) + if (session->internals.user_hello_func != NULL) { - ret = session->internals.user_hello_func (session); - if (ret < 0) - { - gnutls_assert (); - return ret; - } + ret = session->internals.user_hello_func( session); + if (ret < 0) + { + gnutls_assert(); + return ret; + } /* Here we need to renegotiate the version since the callee might * have disabled some TLS versions. */ - ret = _gnutls_negotiate_version (session, adv_version); - if (ret < 0) - { - gnutls_assert (); - return ret; - } + ret = _gnutls_negotiate_version( session, adv_version); + if (ret < 0) { + gnutls_assert(); + return ret; + } } return 0; } @@ -344,7 +336,7 @@ * or version 2.0 client hello (only for compatibility * since SSL version 2.0 is not supported). */ -static int +int _gnutls_read_client_hello (gnutls_session_t session, opaque * data, int datalen) { @@ -354,7 +346,7 @@ gnutls_protocol_t adv_version; int neg_version; int len = datalen; - opaque rnd[GNUTLS_RANDOM_SIZE], *suite_ptr, *comp_ptr; + opaque rnd[TLS_RANDOM_SIZE], *suite_ptr, *comp_ptr; if (session->internals.v2_hello != 0) { /* version 2.0 */ @@ -362,25 +354,25 @@ } DECR_LEN (len, 2); - _gnutls_handshake_log ("HSK[%p]: Client's version: %d.%d\n", session, + _gnutls_handshake_log ("HSK[%x]: Client's version: %d.%d\n", session, data[pos], data[pos + 1]); adv_version = _gnutls_version_get (data[pos], data[pos + 1]); set_adv_version (session, data[pos], data[pos + 1]); pos += 2; - neg_version = _gnutls_negotiate_version (session, adv_version); + neg_version = _gnutls_negotiate_version( session, adv_version); if (neg_version < 0) { - gnutls_assert (); + gnutls_assert(); return neg_version; } /* Read client random value. */ - DECR_LEN (len, GNUTLS_RANDOM_SIZE); + DECR_LEN (len, TLS_RANDOM_SIZE); _gnutls_set_client_random (session, &data[pos]); - pos += GNUTLS_RANDOM_SIZE; + pos += TLS_RANDOM_SIZE; _gnutls_tls_create_random (rnd); _gnutls_set_server_random (session, rnd); @@ -398,7 +390,7 @@ return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; } DECR_LEN (len, session_id_len); - + ret = _gnutls_server_restore_session (session, &data[pos], session_id_len); pos += session_id_len; @@ -406,11 +398,12 @@ { /* resumed! */ resume_copy_required_values (session); session->internals.resumed = RESUME_TRUE; - return _gnutls_user_hello_func (session, adv_version); + return _gnutls_user_hello_func( session, adv_version); } else { - _gnutls_generate_session_id (session->security_parameters.session_id, + _gnutls_generate_session_id (session->security_parameters. + session_id, &session->security_parameters. session_id_size); @@ -430,7 +423,7 @@ /* Point to the compression methods */ DECR_LEN (len, 1); - comp_size = data[pos++]; /* z is the number of compression methods */ + comp_size = data[pos++]; /* z is the number of compression methods */ DECR_LEN (len, comp_size); comp_ptr = &data[pos]; @@ -440,9 +433,7 @@ */ if (neg_version >= GNUTLS_TLS1) { - ret = _gnutls_parse_extensions (session, GNUTLS_EXT_APPLICATION, - &data[pos], len); - /* len is the rest of the parsed length */ + ret = _gnutls_parse_extensions (session, EXTENSION_APPLICATION, &data[pos], len); /* len is the rest of the parsed length */ if (ret < 0) { gnutls_assert (); @@ -450,18 +441,16 @@ } } - ret = _gnutls_user_hello_func (session, adv_version); - if (ret < 0) + ret = _gnutls_user_hello_func( session, adv_version); + if (ret < 0) { - gnutls_assert (); + gnutls_assert(); return ret; } - + if (neg_version >= GNUTLS_TLS1) { - ret = _gnutls_parse_extensions (session, GNUTLS_EXT_TLS, - &data[pos], len); - /* len is the rest of the parsed length */ + ret = _gnutls_parse_extensions (session, EXTENSION_TLS, &data[pos], len); /* len is the rest of the parsed length */ if (ret < 0) { gnutls_assert (); @@ -528,7 +517,7 @@ * and initializing encryption. This is the first encrypted message * we send. */ -static int +int _gnutls_send_finished (gnutls_session_t session, int again) { uint8_t data[36]; @@ -557,8 +546,9 @@ } else { /* TLS 1.0 */ - ret = _gnutls_finished (session, - session->security_parameters.entity, data); + ret = + _gnutls_finished (session, + session->security_parameters.entity, data); data_size = 12; } @@ -568,12 +558,10 @@ return ret; } - if (session->internals.finished_func) - session->internals.finished_func (session, data, data_size); } ret = - _gnutls_send_handshake (session, data_size ? data : NULL, data_size, + _gnutls_send_handshake (session, data, data_size, GNUTLS_HANDSHAKE_FINISHED); return ret; @@ -582,7 +570,7 @@ /* This is to be called after sending our finished message. If everything * went fine we have negotiated a secure connection */ -static int +int _gnutls_recv_finished (gnutls_session_t session) { uint8_t data[36], *vrfy; @@ -621,8 +609,8 @@ { ret = _gnutls_ssl3_finished (session, - (session->security_parameters.entity + 1) % 2, - data); + (session->security_parameters. + entity + 1) % 2, data); } else { /* TLS 1.0 */ @@ -654,9 +642,9 @@ */ static int _gnutls_server_find_pk_algos_in_ciphersuites (const opaque * - data, unsigned int datalen) + data, int datalen) { - unsigned int j; + int j; gnutls_pk_algorithm_t algo = GNUTLS_PK_NONE, prev_algo = 0; gnutls_kx_algorithm_t kx; cipher_suite_st cs; @@ -735,13 +723,13 @@ } #ifdef HANDSHAKE_DEBUG - _gnutls_handshake_log ("HSK[%p]: Requested cipher suites: \n", session); + _gnutls_handshake_log ("HSK[%x]: Requested cipher suites: \n", session); for (j = 0; j < datalen; j += 2) { memcpy (&cs.suite, &data[j], 2); _gnutls_handshake_log ("\t%s\n", _gnutls_cipher_suite_get_name (&cs)); } - _gnutls_handshake_log ("HSK[%p]: Supported cipher suites: \n", session); + _gnutls_handshake_log ("HSK[%x]: Supported cipher suites: \n", session); for (j = 0; j < x; j++) _gnutls_handshake_log ("\t%s\n", _gnutls_cipher_suite_get_name (&ciphers[j])); @@ -759,10 +747,10 @@ memcpy (&cs.suite, &data[j], 2); _gnutls_handshake_log - ("HSK[%p]: Selected cipher suite: %s\n", session, + ("HSK[%x]: Selected cipher suite: %s\n", session, _gnutls_cipher_suite_get_name (&cs)); - memcpy (session->security_parameters.current_cipher_suite.suite, - ciphers[i].suite, 2); + memcpy (session->security_parameters.current_cipher_suite. + suite, ciphers[i].suite, 2); retval = 0; goto finish; } @@ -783,8 +771,8 @@ if (_gnutls_get_kx_cred (session, _gnutls_cipher_suite_get_kx_algo (&session->security_parameters. - current_cipher_suite), &err) == NULL - && err != 0) + current_cipher_suite), + &err) == NULL && err != 0) { gnutls_assert (); return GNUTLS_E_INSUFFICIENT_CREDENTIALS; @@ -803,7 +791,7 @@ { _gnutls_handshake_log - ("HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n", + ("HSK[%x]: Cannot find the appropriate handler for the KX algorithm\n", session); gnutls_assert (); return GNUTLS_E_INTERNAL_ERROR; @@ -846,7 +834,7 @@ gnutls_free (comps); _gnutls_handshake_log - ("HSK[%p]: Selected Compression Method: %s\n", session, + ("HSK[%x]: Selected Compression Method: %s\n", session, gnutls_compression_get_name (session->internals. compression_method)); @@ -870,7 +858,7 @@ * GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED, then it must be called again * (until it returns ok), with NULL parameters. */ -static int +int _gnutls_send_empty_handshake (gnutls_session_t session, gnutls_handshake_description_t type, int again) { @@ -960,9 +948,8 @@ if (i_datasize > 0) memcpy (&data[pos], i_data, i_datasize); - _gnutls_handshake_log ("HSK[%p]: %s was send [%ld bytes]\n", - session, _gnutls_handshake2str (type), - (long) datasize); + _gnutls_handshake_log ("HSK[%x]: %s was send [%ld bytes]\n", + session, _gnutls_handshake2str (type), datasize); /* Here we keep the handshake messages in order to hash them... @@ -1021,7 +1008,7 @@ { gnutls_assert (); _gnutls_handshake_log - ("HSK[%p]: Handshake type mismatch (under attack?)\n", session); + ("HSK[%x]: Handshake type mismatch (under attack?)\n", session); return GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET; } @@ -1062,9 +1049,10 @@ ret = _gnutls_handshake_io_recv_int (session, GNUTLS_HANDSHAKE, type, - &dataptr - [session->internals. - handshake_header_buffer.header_size], + &dataptr[session-> + internals. + handshake_header_buffer. + header_size], HANDSHAKE_HEADER_SIZE - session->internals. handshake_header_buffer.header_size); @@ -1088,9 +1076,9 @@ length32 = _gnutls_read_uint24 (&dataptr[1]); handshake_header_size = HANDSHAKE_HEADER_SIZE; - _gnutls_handshake_log ("HSK[%p]: %s was received [%ld bytes]\n", + _gnutls_handshake_log ("HSK[%x]: %s was received [%ld bytes]\n", session, _gnutls_handshake2str (dataptr[0]), - (long int) (length32 + HANDSHAKE_HEADER_SIZE)); + length32 + HANDSHAKE_HEADER_SIZE); } else @@ -1101,9 +1089,9 @@ *recv_type = dataptr[0]; - _gnutls_handshake_log ("HSK[%p]: %s(v2) was received [%ld bytes]\n", + _gnutls_handshake_log ("HSK[%x]: %s(v2) was received [%ld bytes]\n", session, _gnutls_handshake2str (*recv_type), - (long int) (length32 + handshake_header_size)); + length32 + handshake_header_size); if (*recv_type != GNUTLS_HANDSHAKE_CLIENT_HELLO) { /* it should be one or nothing */ @@ -1252,8 +1240,8 @@ session->internals. handshake_header_buffer.header, session->internals. - handshake_header_buffer.header_size, - dataptr, length32); + handshake_header_buffer. + header_size, dataptr, length32); if (ret < 0) { gnutls_assert (); @@ -1342,20 +1330,20 @@ memcpy (session->security_parameters.current_cipher_suite.suite, suite, 2); - _gnutls_handshake_log ("HSK[%p]: Selected cipher suite: %s\n", session, - _gnutls_cipher_suite_get_name - (&session->security_parameters. - current_cipher_suite)); + _gnutls_handshake_log ("HSK[%x]: Selected cipher suite: %s\n", session, + _gnutls_cipher_suite_get_name (&session-> + security_parameters. + current_cipher_suite)); /* check if the credentials (username, public key etc.) are ok. * Actually checks if they exist. */ if (_gnutls_get_kx_cred - (session, - _gnutls_cipher_suite_get_kx_algo - (&session->security_parameters.current_cipher_suite), &err) == NULL - && err != 0) + (session, _gnutls_cipher_suite_get_kx_algo (&session-> + security_parameters. + current_cipher_suite), + &err) == NULL && err != 0) { gnutls_assert (); return GNUTLS_E_INSUFFICIENT_CREDENTIALS; @@ -1375,7 +1363,7 @@ { _gnutls_handshake_log - ("HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n", + ("HSK[%x]: Cannot find the appropriate handler for the KX algorithm\n", session); gnutls_assert (); return GNUTLS_E_INTERNAL_ERROR; @@ -1436,9 +1424,9 @@ { opaque buf[2 * TLS_MAX_SESSION_ID_SIZE + 1]; - _gnutls_handshake_log ("HSK[%p]: SessionID length: %d\n", session, + _gnutls_handshake_log ("HSK[%x]: SessionID length: %d\n", session, session_id_len); - _gnutls_handshake_log ("HSK[%p]: SessionID: %s\n", session, + _gnutls_handshake_log ("HSK[%x]: SessionID: %s\n", session, _gnutls_bin2hex (session_id, session_id_len, buf, sizeof (buf))); @@ -1446,14 +1434,16 @@ session->internals.resumed_security_parameters.session_id_size == session_id_len && memcmp (session_id, - session->internals.resumed_security_parameters.session_id, - session_id_len) == 0) + session->internals.resumed_security_parameters. + session_id, session_id_len) == 0) { /* resume session */ - memcpy (session->internals.resumed_security_parameters.server_random, - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - memcpy (session->internals.resumed_security_parameters.client_random, - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); + memcpy (session->internals. + resumed_security_parameters.server_random, + session->security_parameters.server_random, TLS_RANDOM_SIZE); + memcpy (session->internals. + resumed_security_parameters.client_random, + session->security_parameters.client_random, TLS_RANDOM_SIZE); session->internals.resumed = RESUME_TRUE; /* we are resuming */ return 0; @@ -1491,7 +1481,7 @@ return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; } - _gnutls_handshake_log ("HSK[%p]: Server's version: %d.%d\n", + _gnutls_handshake_log ("HSK[%x]: Server's version: %d.%d\n", session, data[pos], data[pos + 1]); DECR_LEN (len, 2); @@ -1508,9 +1498,9 @@ pos += 2; - DECR_LEN (len, GNUTLS_RANDOM_SIZE); + DECR_LEN (len, TLS_RANDOM_SIZE); _gnutls_set_server_random (session, &data[pos]); - pos += GNUTLS_RANDOM_SIZE; + pos += TLS_RANDOM_SIZE; /* Read session ID @@ -1565,9 +1555,7 @@ */ if (version >= GNUTLS_TLS1) { - ret = _gnutls_parse_extensions (session, GNUTLS_EXT_ANY, - &data[pos], len); - /* len is the rest of the parsed length */ + ret = _gnutls_parse_extensions (session, EXTENSION_ANY, &data[pos], len); /* len is the rest of the parsed length */ if (ret < 0) { gnutls_assert (); @@ -1702,19 +1690,15 @@ int extdatalen; int pos = 0; int datalen = 0, ret = 0; - opaque rnd[GNUTLS_RANDOM_SIZE]; + opaque rnd[TLS_RANDOM_SIZE]; gnutls_protocol_t hver; opaque extdata[MAX_EXT_DATA_LENGTH]; - int rehandshake = 0; opaque *SessionID = session->internals.resumed_security_parameters.session_id; uint8_t session_id_len = session->internals.resumed_security_parameters.session_id_size; - if (session->security_parameters.session_id_size) - rehandshake = 1; - if (SessionID == NULL) session_id_len = 0; else if (session_id_len == 0) @@ -1723,8 +1707,8 @@ if (again == 0) { - datalen = 2 + (session_id_len + 1) + GNUTLS_RANDOM_SIZE; - /* 2 for version, (4 for unix time + 28 for random bytes==GNUTLS_RANDOM_SIZE) + datalen = 2 + (session_id_len + 1) + TLS_RANDOM_SIZE; + /* 2 for version, (4 for unix time + 28 for random bytes==TLS_RANDOM_SIZE) */ data = gnutls_malloc (datalen); @@ -1738,12 +1722,7 @@ * version number to the previously established. */ if (SessionID == NULL) - { - if (rehandshake) /* already negotiated version thus version_max == negotiated version */ - hver = session->security_parameters.version; - else - hver = _gnutls_version_max (session); - } + hver = _gnutls_version_max (session); else { /* we are resuming a session */ hver = session->internals.resumed_security_parameters.version; @@ -1764,24 +1743,15 @@ */ _gnutls_set_adv_version (session, hver); - if (session->internals.priorities.ssl3_record_version) - { - /* Honor the SSL3_RECORD_VERSION option - */ - _gnutls_set_current_version (session, GNUTLS_SSL3); - } - else - { - /* Some old implementations do not interoperate if we send a - * different version in the record layer. - * It seems they prefer to read the record's version - * as the one we actually requested. - * The proper behaviour is to use the one in the client hello - * handshake packet and ignore the one in the packet's record - * header. - */ - _gnutls_set_current_version (session, hver); - } + /* Some old implementations do not interoperate if we send a + * different version in the record layer. + * It seems they prefer to read the record's version + * as the one we actually requested. + * The proper behaviour is to use the one in the client hello + * handshake packet and ignore the one in the packet's record + * header. + */ + _gnutls_set_current_version (session, hver); /* In order to know when this session was initiated. */ @@ -1792,8 +1762,8 @@ _gnutls_tls_create_random (rnd); _gnutls_set_client_random (session, rnd); - memcpy (&data[pos], rnd, GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + memcpy (&data[pos], rnd, TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; /* Copy the Session ID */ @@ -1947,7 +1917,7 @@ if (again == 0) { - datalen = 2 + session_id_len + 1 + GNUTLS_RANDOM_SIZE + 3; + datalen = 2 + session_id_len + 1 + TLS_RANDOM_SIZE + 3; extdatalen = _gnutls_gen_extensions (session, extdata, sizeof (extdata)); @@ -1970,8 +1940,8 @@ _gnutls_version_get_minor (session->security_parameters.version); memcpy (&data[pos], - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + session->security_parameters.server_random, TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; data[pos++] = session_id_len; if (session_id_len > 0) @@ -1980,7 +1950,7 @@ } pos += session_id_len; - _gnutls_handshake_log ("HSK[%p]: SessionID: %s\n", session, + _gnutls_handshake_log ("HSK[%x]: SessionID: %s\n", session, _gnutls_bin2hex (SessionID, session_id_len, buf, sizeof (buf))); @@ -2153,8 +2123,7 @@ if (session->internals.handshake_mac_handle_init == 0) { int ret = - _gnutls_hash_init (&session->internals.handshake_mac_handle_md5, - GNUTLS_MAC_MD5); + _gnutls_hash_init (&session->internals.handshake_mac_handle_md5, GNUTLS_MAC_MD5); if (ret < 0) { @@ -2162,27 +2131,25 @@ return ret; } - ret = - _gnutls_hash_init (&session->internals.handshake_mac_handle_sha, - GNUTLS_MAC_SHA1); + ret = _gnutls_hash_init(&session->internals.handshake_mac_handle_sha, GNUTLS_MAC_SHA1); if (ret < 0) { gnutls_assert (); return GNUTLS_E_MEMORY_ERROR; } - + session->internals.handshake_mac_handle_init = 1; } return 0; } -static int +int _gnutls_send_supplemental (gnutls_session_t session, int again) { int ret = 0; - _gnutls_debug_log ("EXT[%p]: Sending supplemental data\n", session); + _gnutls_debug_log ("EXT[%x]: Sending supplemental data\n", session); if (again) ret = _gnutls_send_handshake (session, NULL, 0, @@ -2207,14 +2174,14 @@ return ret; } -static int +int _gnutls_recv_supplemental (gnutls_session_t session) { uint8_t *data = NULL; int datalen = 0; int ret; - _gnutls_debug_log ("EXT[%p]: Expecting supplemental data\n", session); + _gnutls_debug_log ("EXT[%x]: Expecting supplemental data\n", session); ret = _gnutls_recv_handshake (session, &data, &datalen, GNUTLS_HANDSHAKE_SUPPLEMENTAL, @@ -2336,7 +2303,7 @@ char buf[64]; if (session->internals.resumed_security_parameters.session_id_size > 0) - _gnutls_handshake_log ("HSK[%p]: Ask to resume: %s\n", session, + _gnutls_handshake_log ("HSK[%x]: Ask to resume: %s\n", session, _gnutls_bin2hex (session->internals. resumed_security_parameters. session_id, @@ -2686,13 +2653,6 @@ ret = _gnutls_send_handshake_final (session, FALSE); IMED_RET ("send handshake final", ret); - - /* only store if we are not resuming */ - if (session->security_parameters.entity == GNUTLS_SERVER) - { - /* in order to support session resuming */ - _gnutls_server_register_current_session (session); - } } else { /* if we are a client not resuming - or we are a server resuming */ @@ -2704,6 +2664,12 @@ IMED_RET ("recv handshake final 2", ret); } + if (session->security_parameters.entity == GNUTLS_SERVER) + { + /* in order to support session resuming */ + _gnutls_server_register_current_session (session); + } + /* clear handshake buffer */ _gnutls_handshake_hash_buffers_clear (session); return ret; @@ -2713,11 +2679,10 @@ int _gnutls_generate_session_id (opaque * session_id, uint8_t * len) { - int ret; - *len = TLS_MAX_SESSION_ID_SIZE; + int ret; - ret = _gnutls_rnd (GNUTLS_RND_NONCE, session_id, *len); + ret = _gnutls_rnd (RND_NONCE, session_id, *len); if (ret < 0) { gnutls_assert (); @@ -2768,7 +2733,7 @@ cred_type = _gnutls_map_kx_get_cred (kx, 1); - /* Read the Diffie-Hellman parameters, if any. + /* Read the Diffie Hellman parameters, if any. */ if (cred_type == GNUTLS_CRD_CERTIFICATE) { @@ -2909,8 +2874,7 @@ if (ret < 0) { gnutls_assert (); - _gnutls_x509_log ("Could not find an appropriate certificate: %s\n", - gnutls_strerror (ret)); + _gnutls_x509_log("Could not find an appropriate certificate: %s\n", gnutls_strerror(ret)); cert_cred = NULL; } } @@ -2959,9 +2923,9 @@ } /* These two SRP kx's are marked to require a CRD_CERTIFICATE, - (see cred_mappings in gnutls_algorithms.c), but it also - requires a SRP credential. Don't use SRP kx unless we have a - SRP credential too. */ + (see cred_mappings in gnutls_algorithms.c), but it also + requires a SRP credential. Don't use SRP kx unless we have a + SRP credential too. */ if (kx == GNUTLS_KX_SRP_RSA || kx == GNUTLS_KX_SRP_DSS) { if (!_gnutls_get_cred (session->key, GNUTLS_CRD_SRP, NULL)) @@ -2973,7 +2937,7 @@ if (delete == 0) { - _gnutls_handshake_log ("HSK[%p]: Keeping ciphersuite: %s\n", + _gnutls_handshake_log ("HSK[%x]: Keeping ciphersuite: %s\n", session, _gnutls_cipher_suite_get_name (&cs)); @@ -2982,7 +2946,7 @@ } else { - _gnutls_handshake_log ("HSK[%p]: Removing ciphersuite: %s\n", + _gnutls_handshake_log ("HSK[%x]: Removing ciphersuite: %s\n", session, _gnutls_cipher_suite_get_name (&cs)); diff -Nru gnutls26-2.8.6/lib/gnutls_hash_int.c gnutls26-2.4.1/lib/gnutls_hash_int.c --- gnutls26-2.8.6/lib/gnutls_hash_int.c 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_hash_int.c 2008-06-30 21:45:51.000000000 +0100 @@ -30,92 +30,98 @@ #include #include -static int -digest_length (gnutls_digest_algorithm_t algo) +static inline Gc_hash _gnutls_mac2gc (gnutls_mac_algorithm_t mac) { - switch (algo) + switch (mac) { - case GNUTLS_DIG_NULL: - return 0; - case GNUTLS_DIG_MD5: - case GNUTLS_DIG_MD2: - return 16; - case GNUTLS_DIG_SHA1: - case GNUTLS_DIG_RMD160: - return 20; - case GNUTLS_DIG_SHA256: - return 32; - case GNUTLS_DIG_SHA384: - return 48; - case GNUTLS_DIG_SHA512: - return 64; - case GNUTLS_DIG_SHA224: - return 28; + case GNUTLS_MAC_NULL: + return -1; + break; + case GNUTLS_MAC_SHA1: + return GC_SHA1; + break; + case GNUTLS_MAC_SHA256: + return GC_SHA256; + break; + case GNUTLS_MAC_SHA384: + return GC_SHA384; + break; + case GNUTLS_MAC_SHA512: + return GC_SHA512; + break; + case GNUTLS_MAC_MD5: + return GC_MD5; + break; + case GNUTLS_MAC_RMD160: + return GC_RMD160; + break; + case GNUTLS_MAC_MD2: + return GC_MD2; + break; default: gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; + return -1; } + return -1; } int -_gnutls_hash_init (digest_hd_st * dig, gnutls_digest_algorithm_t algorithm) +_gnutls_hash_init (digest_hd_st* dig, gnutls_mac_algorithm_t algorithm) { int result; - gnutls_crypto_single_digest_st *cc = NULL; + gnutls_crypto_digest_st * cc = NULL; dig->algorithm = algorithm; /* check if a digest has been registered */ - cc = _gnutls_get_crypto_digest (algorithm); - if (cc != NULL) - { - dig->registered = 1; - dig->hd.rh.cc = cc; - if (cc->init (&dig->hd.rh.ctx) < 0) - { - gnutls_assert (); - return GNUTLS_E_HASH_FAILED; - } - return 0; + cc = _gnutls_get_crypto_digest( algorithm); + if (cc != NULL) { + dig->registered = 1; + dig->hd.rh.cc = cc; + if (cc->init(& dig->hd.rh.ctx) < 0) { + gnutls_assert(); + return GNUTLS_E_HASH_FAILED; } + return 0; + } - dig->registered = 0; + dig->registered = 0; - result = _gnutls_digest_ops.init (algorithm, &dig->hd.gc); - if (result < 0) + result = gc_hash_open (_gnutls_mac2gc (algorithm), 0, &dig->hd.gc); + if (result) { gnutls_assert (); - return result; + return GNUTLS_E_HASH_FAILED; } return 0; } -/* returns the output size of the given hash/mac algorithm - */ int -_gnutls_hash_get_algo_len (gnutls_digest_algorithm_t algorithm) +_gnutls_hash_get_algo_len (gnutls_mac_algorithm_t algorithm) { - return digest_length (algorithm); + int ret; + + ret = gc_hash_digest_length (_gnutls_mac2gc (algorithm)); + + return ret; + } int -_gnutls_hash (const digest_hd_st * handle, const void *text, size_t textlen) +_gnutls_hash (const digest_hd_st* handle, const void *text, size_t textlen) { - if (textlen > 0) - { - if (handle->registered) - { - return handle->hd.rh.cc->hash (handle->hd.rh.ctx, text, textlen); - } - return _gnutls_digest_ops.hash (handle->hd.gc, text, textlen); + if (textlen > 0) { + if (handle->registered) { + return handle->hd.rh.cc->hash( handle->hd.rh.ctx, text, textlen); } + gc_hash_write (handle->hd.gc, textlen, text); + } return 0; } -int -_gnutls_hash_copy (digest_hd_st * dst, digest_hd_st * src) +int _gnutls_hash_copy (digest_hd_st* dst, digest_hd_st* src) { int result; @@ -124,125 +130,47 @@ dst->keysize = 0; dst->registered = src->registered; - if (src->registered) - { - dst->hd.rh.cc = src->hd.rh.cc; - return src->hd.rh.cc->copy (&dst->hd.rh.ctx, src->hd.rh.ctx); - } + if (src->registered) { + return src->hd.rh.cc->copy( &dst->hd.rh.ctx, src->hd.rh.ctx); + } - result = _gnutls_digest_ops.copy (&dst->hd.gc, src->hd.gc); - if (result < 0) + result = gc_hash_clone (src->hd.gc, &dst->hd.gc); + + if (result) { - gnutls_assert (); - return result; + return GNUTLS_E_HASH_FAILED; } return 0; } -/* when the current output is needed without calling deinit - */ void -_gnutls_hash_output (digest_hd_st * handle, void *digest) +_gnutls_hash_deinit (digest_hd_st* handle, void *digest) { - size_t maclen; + const opaque *mac; + int maclen; maclen = _gnutls_hash_get_algo_len (handle->algorithm); - if (handle->registered && handle->hd.rh.ctx != NULL) - { - if (digest != NULL) - handle->hd.rh.cc->output (handle->hd.rh.ctx, digest, maclen); - return; - } + if (handle->registered && handle->hd.rh.ctx != NULL) { + handle->hd.rh.cc->output( handle->hd.rh.ctx, digest, maclen); + handle->hd.rh.cc->deinit( handle->hd.rh.ctx); + return; + } + mac = gc_hash_read (handle->hd.gc); if (digest != NULL) - { - _gnutls_digest_ops.output (handle->hd.gc, digest, maclen); - } -} - -void -_gnutls_hash_deinit (digest_hd_st * handle, void *digest) -{ - _gnutls_hash_output (handle, digest); - - if (handle->registered && handle->hd.rh.ctx != NULL) - { - handle->hd.rh.cc->deinit (handle->hd.rh.ctx); - return; - } + memcpy (digest, mac, maclen); - _gnutls_digest_ops.deinit (handle->hd.gc); + gc_hash_close (handle->hd.gc); } -int -_gnutls_hash_fast (gnutls_digest_algorithm_t algorithm, - const void *text, size_t textlen, void *digest) -{ - digest_hd_st dig; - int ret; - - ret = _gnutls_hash_init (&dig, algorithm); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - ret = _gnutls_hash (&dig, text, textlen); - if (ret < 0) - { - gnutls_assert (); - _gnutls_hash_deinit (&dig, NULL); - return ret; - } - - _gnutls_hash_deinit (&dig, digest); - return 0; -} - - -/* HMAC interface */ - -int -_gnutls_hmac_get_algo_len (gnutls_mac_algorithm_t algorithm) -{ - return digest_length (algorithm); -} - -int -_gnutls_hmac_fast (gnutls_mac_algorithm_t algorithm, const void *key, - int keylen, const void *text, size_t textlen, void *digest) -{ - digest_hd_st dig; - int ret; - - ret = _gnutls_hmac_init (&dig, algorithm, key, keylen); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - ret = _gnutls_hmac (&dig, text, textlen); - if (ret < 0) - { - gnutls_assert (); - _gnutls_hmac_deinit (&dig, NULL); - return ret; - } - - _gnutls_hmac_deinit (&dig, digest); - return 0; -} - -int -_gnutls_hmac_init (digest_hd_st * dig, gnutls_mac_algorithm_t algorithm, +int _gnutls_hmac_init (digest_hd_st *dig, gnutls_mac_algorithm_t algorithm, const void *key, int keylen) { int result; - gnutls_crypto_single_mac_st *cc = NULL; + gnutls_crypto_digest_st * cc = NULL; dig->algorithm = algorithm; dig->key = key; @@ -250,88 +178,59 @@ /* check if a digest has been registered */ - cc = _gnutls_get_crypto_mac (algorithm); - if (cc != NULL) - { - dig->registered = 1; - - dig->hd.rh.cc = cc; - if (cc->init (&dig->hd.rh.ctx) < 0) - { - gnutls_assert (); - return GNUTLS_E_HASH_FAILED; - } - - if (cc->setkey (dig->hd.rh.ctx, key, keylen) < 0) - { - gnutls_assert (); - cc->deinit (dig->hd.rh.ctx); - return GNUTLS_E_HASH_FAILED; - } - - return 0; + cc = _gnutls_get_crypto_mac( algorithm); + if (cc != NULL) { + dig->registered = 1; + + dig->hd.rh.cc = cc; + if (cc->init(&dig->hd.rh.ctx) < 0) { + gnutls_assert(); + return GNUTLS_E_HASH_FAILED; } - dig->registered = 0; - - result = _gnutls_mac_ops.init (algorithm, &dig->hd.gc); - if (result < 0) - { - gnutls_assert (); - return result; + if (cc->setkey( dig->hd.rh.ctx, key, keylen) < 0) { + gnutls_assert(); + cc->deinit(dig->hd.rh.ctx); + return GNUTLS_E_HASH_FAILED; } - _gnutls_mac_ops.setkey (dig->hd.gc, key, keylen); + return 0; + } - return 0; -} + dig->registered = 0; -int -_gnutls_hmac (const digest_hd_st * handle, const void *text, size_t textlen) -{ - if (textlen > 0) + result = gc_hash_open (_gnutls_mac2gc (algorithm), GC_HMAC, &dig->hd.gc); + if (result) { - if (handle->registered) - { - return handle->hd.rh.cc->hash (handle->hd.rh.ctx, text, textlen); - } - return _gnutls_mac_ops.hash (handle->hd.gc, text, textlen); + return GNUTLS_E_HASH_FAILED; } + + gc_hash_hmac_setkey (dig->hd.gc, keylen, key); + return 0; } void -_gnutls_hmac_output (digest_hd_st * handle, void *digest) +_gnutls_hmac_deinit (digest_hd_st* handle, void *digest) { + const opaque *mac; int maclen; - maclen = _gnutls_hmac_get_algo_len (handle->algorithm); + maclen = _gnutls_hash_get_algo_len (handle->algorithm); - if (handle->registered && handle->hd.rh.ctx != NULL) - { - if (digest != NULL) - handle->hd.rh.cc->output (handle->hd.rh.ctx, digest, maclen); - return; - } + if (handle->registered && handle->hd.rh.ctx != NULL) { + handle->hd.rh.cc->output( handle->hd.rh.ctx, digest, maclen); + handle->hd.rh.cc->deinit( handle->hd.rh.ctx); + return; + } - if (digest != NULL) - { - _gnutls_mac_ops.output (handle->hd.gc, digest, maclen); - } -} + mac = gc_hash_read (handle->hd.gc); -void -_gnutls_hmac_deinit (digest_hd_st * handle, void *digest) -{ - _gnutls_hmac_output (handle, digest); + if (digest != NULL) + memcpy (digest, mac, maclen); - if (handle->registered && handle->hd.rh.ctx != NULL) - { - handle->hd.rh.cc->deinit (handle->hd.rh.ctx); - return; - } + gc_hash_close (handle->hd.gc); - _gnutls_mac_ops.deinit (handle->hd.gc); } inline static int @@ -348,13 +247,8 @@ } } - -/* Special functions for SSL3 MAC - */ - -int -_gnutls_mac_init_ssl3 (digest_hd_st * ret, gnutls_mac_algorithm_t algorithm, - void *key, int keylen) +int _gnutls_mac_init_ssl3 (digest_hd_st* ret, gnutls_mac_algorithm_t algorithm, void *key, + int keylen) { opaque ipad[48]; int padsize, result; @@ -371,22 +265,22 @@ result = _gnutls_hash_init (ret, algorithm); if (result < 0) { - gnutls_assert (); + gnutls_assert(); return result; } - ret->key = key; - ret->keysize = keylen; + ret->key = key; + ret->keysize = keylen; - if (keylen > 0) - _gnutls_hash (ret, key, keylen); - _gnutls_hash (ret, ipad, padsize); + if (keylen > 0) + _gnutls_hash (ret, key, keylen); + _gnutls_hash (ret, ipad, padsize); return 0; } void -_gnutls_mac_deinit_ssl3 (digest_hd_st * handle, void *digest) +_gnutls_mac_deinit_ssl3 (digest_hd_st* handle, void *digest) { opaque ret[MAX_HASH_SIZE]; digest_hd_st td; @@ -406,25 +300,25 @@ rc = _gnutls_hash_init (&td, handle->algorithm); if (rc < 0) { - gnutls_assert (); + gnutls_assert(); return; } - if (handle->keysize > 0) - _gnutls_hash (&td, handle->key, handle->keysize); - - _gnutls_hash (&td, opad, padsize); - block = _gnutls_hmac_get_algo_len (handle->algorithm); - _gnutls_hash_deinit (handle, ret); /* get the previous hash */ - _gnutls_hash (&td, ret, block); + if (handle->keysize > 0) + _gnutls_hash (&td, handle->key, handle->keysize); - _gnutls_hash_deinit (&td, digest); - - return; + _gnutls_hash (&td, opad, padsize); + block = _gnutls_hmac_get_algo_len (handle->algorithm); + _gnutls_hash_deinit (handle, ret); /* get the previous hash */ + _gnutls_hash (&td, ret, block); + + _gnutls_hash_deinit (&td, digest); + + return; } void -_gnutls_mac_deinit_ssl3_handshake (digest_hd_st * handle, +_gnutls_mac_deinit_ssl3_handshake (digest_hd_st* handle, void *digest, opaque * key, uint32_t key_size) { @@ -448,26 +342,26 @@ rc = _gnutls_hash_init (&td, handle->algorithm); if (rc < 0) { - gnutls_assert (); + gnutls_assert(); return; } - if (key_size > 0) - _gnutls_hash (&td, key, key_size); + if (key_size > 0) + _gnutls_hash (&td, key, key_size); - _gnutls_hash (&td, opad, padsize); - block = _gnutls_hmac_get_algo_len (handle->algorithm); + _gnutls_hash (&td, opad, padsize); + block = _gnutls_hmac_get_algo_len (handle->algorithm); - if (key_size > 0) - _gnutls_hash (handle, key, key_size); - _gnutls_hash (handle, ipad, padsize); - _gnutls_hash_deinit (handle, ret); /* get the previous hash */ + if (key_size > 0) + _gnutls_hash (handle, key, key_size); + _gnutls_hash (handle, ipad, padsize); + _gnutls_hash_deinit (handle, ret); /* get the previous hash */ - _gnutls_hash (&td, ret, block); + _gnutls_hash (&td, ret, block); - _gnutls_hash_deinit (&td, digest); + _gnutls_hash_deinit (&td, digest); - return; + return; } static int @@ -531,9 +425,9 @@ } int -_gnutls_ssl3_hash_md5 (const void *first, int first_len, - const void *second, int second_len, - int ret_len, opaque * ret) +_gnutls_ssl3_hash_md5 (void *first, int first_len, + void *second, int second_len, int ret_len, + opaque * ret) { opaque digest[MAX_HASH_SIZE]; digest_hd_st td; diff -Nru gnutls26-2.8.6/lib/gnutls_hash_int.h gnutls26-2.4.1/lib/gnutls_hash_int.h --- gnutls26-2.8.6/lib/gnutls_hash_int.h 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_hash_int.h 2008-06-30 21:45:51.000000000 +0100 @@ -31,14 +31,8 @@ /* for message digests */ -extern int crypto_mac_prio; -extern gnutls_crypto_mac_st _gnutls_mac_ops; - -extern int crypto_digest_prio; -extern gnutls_crypto_digest_st _gnutls_digest_ops; - typedef struct { - gnutls_crypto_single_mac_st* cc; + gnutls_crypto_mac_st* cc; void* ctx; } digest_reg_hd; @@ -46,7 +40,7 @@ { int registered; /* true or false(0) */ union { - void* gc; /* when not registered */ + gc_hash_handle gc; /* when not registered */ digest_reg_hd rh; /* when registered */ } hd; gnutls_mac_algorithm_t algorithm; @@ -56,36 +50,25 @@ int _gnutls_hmac_init (digest_hd_st*, gnutls_mac_algorithm_t algorithm, const void *key, int keylen); -int _gnutls_hmac_get_algo_len (gnutls_mac_algorithm_t algorithm); -int _gnutls_hmac (const digest_hd_st* handle, const void *text, - size_t textlen); - -int _gnutls_hmac_fast( gnutls_mac_algorithm_t algorithm, const void* key, int keylen, - const void* text, size_t textlen, void* digest); - +#define _gnutls_hmac_get_algo_len _gnutls_hash_get_algo_len +#define _gnutls_hmac _gnutls_hash void _gnutls_hmac_deinit (digest_hd_st* handle, void *digest); -void _gnutls_hmac_output (digest_hd_st* handle, void *digest); int _gnutls_mac_init_ssl3 (digest_hd_st*, gnutls_mac_algorithm_t algorithm, void *key, int keylen); void _gnutls_mac_deinit_ssl3 (digest_hd_st* handle, void *digest); -int _gnutls_hash_init (digest_hd_st*, gnutls_digest_algorithm_t algorithm); -int _gnutls_hash_get_algo_len (gnutls_digest_algorithm_t algorithm); +int _gnutls_hash_init (digest_hd_st*, gnutls_mac_algorithm_t algorithm); +int _gnutls_hash_get_algo_len (gnutls_mac_algorithm_t algorithm); int _gnutls_hash (const digest_hd_st* handle, const void *text, size_t textlen); void _gnutls_hash_deinit (digest_hd_st* handle, void *digest); -void _gnutls_hash_output (digest_hd_st* handle, void *digest); - -int _gnutls_hash_fast( gnutls_digest_algorithm_t algorithm, - const void* text, size_t textlen, void* digest); int _gnutls_ssl3_generate_random (void *secret, int secret_len, void *rnd, int random_len, int bytes, opaque * ret); -int _gnutls_ssl3_hash_md5 (const void *first, int first_len, - const void *second, int second_len, - int ret_len, opaque * ret); +int _gnutls_ssl3_hash_md5 (void *first, int first_len, void *second, + int second_len, int ret_len, opaque * ret); void _gnutls_mac_deinit_ssl3_handshake (digest_hd_st* handle, void *digest, opaque * key, uint32_t key_size); diff -Nru gnutls26-2.8.6/lib/gnutls_helper.c gnutls26-2.4.1/lib/gnutls_helper.c --- gnutls26-2.8.6/lib/gnutls_helper.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_helper.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2008 Free Software Foundation + * Copyright (C) 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -23,7 +23,6 @@ */ #include -#include int _gnutls_file_exists (const char *file) diff -Nru gnutls26-2.8.6/lib/gnutls_int.h gnutls26-2.4.1/lib/gnutls_int.h --- gnutls26-2.8.6/lib/gnutls_int.h 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_int.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -23,40 +23,13 @@ */ #ifndef GNUTLS_INT_H -# define GNUTLS_INT_H -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#ifdef NO_SSIZE_T -# define HAVE_SSIZE_T -typedef int ssize_t; -#endif - -#include -#include -#include -#include -#include +#define GNUTLS_INT_H -/* some systems had problems with long long int, thus, - * it is not used. - */ -typedef struct -{ - unsigned char i[8]; -} uint64; +#include #include +#include /* * They are not needed any more. You can simply enable @@ -76,13 +49,13 @@ */ #define MAX_HANDSHAKE_PACKET_SIZE 48*1024 +#define TLS_RANDOM_SIZE 32 #define TLS_MAX_SESSION_ID_SIZE 32 +#define TLS_MASTER_SIZE 48 /* The maximum digest size of hash algorithms. */ #define MAX_HASH_SIZE 64 -#define MAX_CIPHER_BLOCK_SIZE 16 -#define MAX_CIPHER_KEY_SIZE 32 #define MAX_LOG_SIZE 1024 /* maximum size of log message */ #define MAX_SRP_USERNAME 128 @@ -123,8 +96,6 @@ #include -#define MEMSUB(x,y) ((ssize_t)((ptrdiff_t)x-(ptrdiff_t)y)) - #define DECR_LEN(len, x) do { len-=x; if (len<0) {gnutls_assert(); return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;} } while (0) #define DECR_LENGTH_RET(len, x, RET) do { len-=x; if (len<0) {gnutls_assert(); return RET;} } while (0) #define DECR_LENGTH_COM(len, x, COM) do { len-=x; if (len<0) {gnutls_assert(); COM;} } while (0) @@ -154,7 +125,7 @@ STATE70, STATE71 } handshake_state_t; -#include +#include /* This is the maximum number of algorithms (ciphers or macs etc). * keep it synced with GNUTLS_MAX_ALGORITHM_NUM in gnutls.h @@ -195,6 +166,11 @@ #define GNUTLS_PK_ANY (gnutls_pk_algorithm_t)-1 #define GNUTLS_PK_NONE (gnutls_pk_algorithm_t)-2 +/* STATE (stop) */ + +typedef void (*LOG_FUNC) (int, const char *); + + /* Store & Retrieve functions defines: */ @@ -213,21 +189,21 @@ { /* For DH KX */ gnutls_datum_t key; - bigint_t KEY; - bigint_t client_Y; - bigint_t client_g; - bigint_t client_p; - bigint_t dh_secret; + mpi_t KEY; + mpi_t client_Y; + mpi_t client_g; + mpi_t client_p; + mpi_t dh_secret; /* for SRP */ - bigint_t A; - bigint_t B; - bigint_t u; - bigint_t b; - bigint_t a; - bigint_t x; + mpi_t A; + mpi_t B; + mpi_t u; + mpi_t b; + mpi_t a; + mpi_t x; /* RSA: e, m */ - bigint_t rsa[2]; + mpi_t rsa[2]; /* this is used to hold the peers authentication data */ @@ -260,7 +236,7 @@ #include #include -#include +#include #include typedef struct @@ -306,6 +282,18 @@ uint16_t oprfi_server_len; } tls_ext_st; +/* This flag indicates for an extension whether + * it is useful to application level or TLS level only. + * This is used to parse the application level extensions + * before the user_hello callback is called. + */ +typedef enum tls_ext_parse_type_t +{ + EXTENSION_ANY, + EXTENSION_APPLICATION, + EXTENSION_TLS +} tls_ext_parse_type_t; + /* auth_info_t structures now MAY contain malloced * elements. */ @@ -345,9 +333,9 @@ * on resume; */ cipher_suite_st current_cipher_suite; - opaque master_secret[GNUTLS_MASTER_SIZE]; - opaque client_random[GNUTLS_RANDOM_SIZE]; - opaque server_random[GNUTLS_RANDOM_SIZE]; + opaque master_secret[TLS_MASTER_SIZE]; + opaque client_random[TLS_RANDOM_SIZE]; + opaque server_random[TLS_RANDOM_SIZE]; opaque session_id[TLS_MAX_SESSION_ID_SIZE]; uint8_t session_id_size; time_t timestamp; @@ -362,7 +350,7 @@ gnutls_certificate_type_t cert_type; gnutls_protocol_t version; /* moved here */ /* For TLS/IA. XXX: Move to IA credential? */ - opaque inner_secret[GNUTLS_MASTER_SIZE]; + opaque inner_secret[TLS_MASTER_SIZE]; } security_parameters_st; /* This structure holds the generated keys @@ -412,8 +400,6 @@ /* to disable record padding */ int no_padding; - int ssl3_record_version; - int additional_verify_flags; }; @@ -423,7 +409,7 @@ { /* [0] is the prime, [1] is the generator. */ - bigint_t params[2]; + mpi_t params[2]; } dh_params_st; typedef struct @@ -665,14 +651,6 @@ gnutls_sign_func sign_func; void *sign_func_userdata; - /* Callback to extract TLS Finished message. */ - gnutls_finished_callback_func finished_func; - - /* minimum bits to allow for SRP - * use gnutls_srp_set_prime_bits() to adjust it. - */ - uint16_t srp_prime_bits; - /* If you add anything here, check _gnutls_handshake_internal_state_clear(). */ } internals_st; @@ -710,6 +688,4 @@ void _gnutls_set_adv_version (gnutls_session_t, gnutls_protocol_t); gnutls_protocol_t _gnutls_get_adv_version (gnutls_session_t); -int _gnutls_is_secure_mem_null (const void *); - #endif /* GNUTLS_INT_H */ diff -Nru gnutls26-2.8.6/lib/gnutls_kx.c gnutls26-2.4.1/lib/gnutls_kx.c --- gnutls26-2.8.6/lib/gnutls_kx.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_kx.c 2008-06-19 11:00:10.000000000 +0100 @@ -73,17 +73,16 @@ if (gnutls_protocol_get_version (session) == GNUTLS_SSL3) { - opaque rnd[2 * GNUTLS_RANDOM_SIZE + 1]; + opaque rnd[2 * TLS_RANDOM_SIZE + 1]; - memcpy (rnd, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); - memcpy (&rnd[GNUTLS_RANDOM_SIZE], - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); + memcpy (rnd, session->security_parameters.client_random, TLS_RANDOM_SIZE); + memcpy (&rnd[TLS_RANDOM_SIZE], + session->security_parameters.server_random, TLS_RANDOM_SIZE); ret = _gnutls_ssl3_generate_random (PREMASTER.data, PREMASTER.size, - rnd, 2 * GNUTLS_RANDOM_SIZE, - GNUTLS_MASTER_SIZE, + rnd, 2 * TLS_RANDOM_SIZE, + TLS_MASTER_SIZE, session->security_parameters. master_secret); @@ -92,7 +91,7 @@ session->security_parameters.extensions.oprfi_server_len > 0) { opaque *rnd; - size_t rndlen = 2 * GNUTLS_RANDOM_SIZE; + size_t rndlen = 2 * TLS_RANDOM_SIZE; rndlen += session->security_parameters.extensions.oprfi_client_len; rndlen += session->security_parameters.extensions.oprfi_server_len; @@ -110,57 +109,57 @@ _gnutls_bin2hex (session->security_parameters. extensions.oprfi_client, session->security_parameters. - extensions.oprfi_client_len, buf, - sizeof (buf))); + extensions.oprfi_client_len, + buf, sizeof (buf))); _gnutls_hard_log ("INT: SERVER OPRFI[%d]: %s\n", session->security_parameters. extensions.oprfi_server_len, _gnutls_bin2hex (session->security_parameters. extensions.oprfi_server, session->security_parameters. - extensions.oprfi_server_len, buf, - sizeof (buf))); + extensions.oprfi_server_len, + buf, sizeof (buf))); memcpy (rnd, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); - memcpy (rnd + GNUTLS_RANDOM_SIZE, + TLS_RANDOM_SIZE); + memcpy (rnd + TLS_RANDOM_SIZE, session->security_parameters.extensions.oprfi_client, session->security_parameters.extensions.oprfi_client_len); - memcpy (rnd + GNUTLS_RANDOM_SIZE + + memcpy (rnd + TLS_RANDOM_SIZE + session->security_parameters.extensions.oprfi_client_len, - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - memcpy (rnd + GNUTLS_RANDOM_SIZE + + session->security_parameters.server_random, + TLS_RANDOM_SIZE); + memcpy (rnd + TLS_RANDOM_SIZE + session->security_parameters.extensions.oprfi_client_len + - GNUTLS_RANDOM_SIZE, + TLS_RANDOM_SIZE, session->security_parameters.extensions.oprfi_server, session->security_parameters.extensions.oprfi_server_len); ret = _gnutls_PRF (session, PREMASTER.data, PREMASTER.size, MASTER_SECRET, strlen (MASTER_SECRET), - rnd, rndlen, GNUTLS_MASTER_SIZE, + rnd, rndlen, TLS_MASTER_SIZE, session->security_parameters.master_secret); gnutls_free (rnd); } else { - opaque rnd[2 * GNUTLS_RANDOM_SIZE + 1]; + opaque rnd[2 * TLS_RANDOM_SIZE + 1]; - memcpy (rnd, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); - memcpy (&rnd[GNUTLS_RANDOM_SIZE], - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); + memcpy (rnd, session->security_parameters.client_random, TLS_RANDOM_SIZE); + memcpy (&rnd[TLS_RANDOM_SIZE], + session->security_parameters.server_random, TLS_RANDOM_SIZE); ret = _gnutls_PRF (session, PREMASTER.data, PREMASTER.size, MASTER_SECRET, strlen (MASTER_SECRET), - rnd, 2 * GNUTLS_RANDOM_SIZE, GNUTLS_MASTER_SIZE, + rnd, 2 * TLS_RANDOM_SIZE, TLS_MASTER_SIZE, session->security_parameters.master_secret); } /* TLS/IA inner secret is derived from the master secret. */ memcpy (session->security_parameters.inner_secret, - session->security_parameters.master_secret, GNUTLS_MASTER_SIZE); + session->security_parameters.master_secret, TLS_MASTER_SIZE); if (!keep_premaster) _gnutls_free_datum (&PREMASTER); @@ -170,7 +169,7 @@ _gnutls_hard_log ("INT: MASTER SECRET: %s\n", _gnutls_bin2hex (session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE, buf, + master_secret, TLS_MASTER_SIZE, buf, sizeof (buf))); return ret; @@ -197,8 +196,8 @@ if (again == 0) { data_size = - session->internals.auth_struct->gnutls_generate_server_kx (session, - &data); + session->internals.auth_struct-> + gnutls_generate_server_kx (session, &data); if (data_size == GNUTLS_E_INT_RET_0) { @@ -292,8 +291,8 @@ if (again == 0) { data_size = - session->internals.auth_struct->gnutls_generate_client_kx (session, - &data); + session->internals.auth_struct-> + gnutls_generate_client_kx (session, &data); if (data_size < 0) { gnutls_assert (); @@ -405,9 +404,8 @@ } ret = - session->internals.auth_struct->gnutls_process_server_kx (session, - data, - datasize); + session->internals.auth_struct-> + gnutls_process_server_kx (session, data, datasize); gnutls_free (data); if (ret < 0) @@ -474,9 +472,8 @@ return ret; ret = - session->internals.auth_struct->gnutls_process_client_kx (session, - data, - datasize); + session->internals.auth_struct-> + gnutls_process_client_kx (session, data, datasize); gnutls_free (data); if (ret < 0) return ret; @@ -500,8 +497,8 @@ if (session->key->certificate_requested == 0) return 0; - if (session->internals.auth_struct->gnutls_generate_client_certificate == - NULL) + if (session->internals.auth_struct-> + gnutls_generate_client_certificate == NULL) return 0; data = NULL; @@ -567,8 +564,8 @@ int ret = 0; - if (session->internals.auth_struct->gnutls_generate_server_certificate == - NULL) + if (session->internals.auth_struct-> + gnutls_generate_server_certificate == NULL) return 0; data = NULL; @@ -609,8 +606,8 @@ int ret = 0; int optional; - if (session->internals.auth_struct->gnutls_process_client_certificate != - NULL) + if (session->internals.auth_struct-> + gnutls_process_client_certificate != NULL) { /* if we have not requested a certificate then just return @@ -651,8 +648,8 @@ /* certificate was required */ - if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED - || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) + if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED + || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) && optional == MANDATORY_PACKET) { gnutls_assert (); @@ -701,8 +698,8 @@ opaque *data; int ret = 0; - if (session->internals.auth_struct->gnutls_process_server_certificate != - NULL) + if (session->internals.auth_struct-> + gnutls_process_server_certificate != NULL) { ret = diff -Nru gnutls26-2.8.6/lib/gnutls_mem.c gnutls26-2.4.1/lib/gnutls_mem.c --- gnutls26-2.8.6/lib/gnutls_mem.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_mem.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -25,7 +25,6 @@ #include #include #include -#include gnutls_alloc_function gnutls_secure_malloc = malloc; gnutls_alloc_function gnutls_malloc = malloc; @@ -48,8 +47,8 @@ _gnutls_calloc (size_t nmemb, size_t size) { void *ret; - size_t n = xtimes (nmemb, size); - ret = (size_in_bounds_p (n) ? gnutls_malloc (n) : NULL); + size *= nmemb; + ret = gnutls_malloc (size); if (ret != NULL) memset (ret, 0, size); return ret; @@ -59,8 +58,8 @@ gnutls_secure_calloc (size_t nmemb, size_t size) { svoid *ret; - size_t n = xtimes (nmemb, size); - ret = (size_in_bounds_p (n) ? gnutls_secure_malloc (n) : NULL); + size *= nmemb; + ret = gnutls_secure_malloc (size); if (ret != NULL) memset (ret, 0, size); return ret; diff -Nru gnutls26-2.8.6/lib/gnutls_mem.h gnutls26-2.4.1/lib/gnutls_mem.h --- gnutls26-2.8.6/lib/gnutls_mem.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_mem.h 2008-06-19 11:00:10.000000000 +0100 @@ -25,6 +25,10 @@ #ifndef GNUTLS_MEM_H # define GNUTLS_MEM_H +#ifdef USE_DMALLOC +# include +#endif + typedef void svoid; /* for functions that allocate using gnutls_secure_malloc */ extern int (*_gnutls_is_secure_memory) (const void *); diff -Nru gnutls26-2.8.6/lib/gnutls_mpi.c gnutls26-2.4.1/lib/gnutls_mpi.c --- gnutls26-2.8.6/lib/gnutls_mpi.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_mpi.c 2008-06-30 21:45:51.000000000 +0100 @@ -30,112 +30,29 @@ #include #include #include -#include -#include -/* Functions that refer to the mpi library. +/* Functions that refer to the libgcrypt library. */ -#define clearbit(v,n) ((unsigned char)(v) & ~( (unsigned char)(1) << (unsigned)(n))) - -bigint_t -_gnutls_mpi_randomize (bigint_t r, unsigned int bits, - gnutls_rnd_level_t level) -{ - size_t size = 1 + (bits / 8); - int ret; - int rem, i; - bigint_t tmp; - char tmpbuf[512]; - opaque *buf; - int buf_release = 0; - - if (size < sizeof (tmpbuf)) - { - buf = tmpbuf; - } - else - { - buf = gnutls_malloc (size); - if (buf == NULL) - { - gnutls_assert (); - goto cleanup; - } - buf_release = 1; - } - - - ret = _gnutls_rnd (level, buf, size); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - - /* mask the bits that weren't requested */ - rem = bits % 8; - - if (rem == 0) - { - buf[0] = 0; - } - else - { - for (i = 8; i >= rem; i--) - buf[0] = clearbit (buf[0], i); - } - - ret = _gnutls_mpi_scan (&tmp, buf, size); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - - if (buf_release != 0) - { - gnutls_free (buf); - buf = NULL; - } - - if (r != NULL) - { - _gnutls_mpi_set (r, tmp); - _gnutls_mpi_release (&tmp); - return r; - } - - return tmp; - -cleanup: - if (buf_release != 0) - gnutls_free (buf); - return NULL; -} - void -_gnutls_mpi_release (bigint_t * x) +_gnutls_mpi_release (mpi_t * x) { if (*x == NULL) return; - - _gnutls_mpi_ops.bigint_release (*x); + gcry_mpi_release (*x); *x = NULL; } /* returns zero on success */ int -_gnutls_mpi_scan (bigint_t * ret_mpi, const void *buffer, size_t nbytes) +_gnutls_mpi_scan (mpi_t * ret_mpi, const opaque * buffer, size_t * nbytes) { - *ret_mpi = - _gnutls_mpi_ops.bigint_scan (buffer, nbytes, GNUTLS_MPI_FORMAT_USG); - if (*ret_mpi == NULL) - { - gnutls_assert (); - return GNUTLS_E_MPI_SCAN_FAILED; - } + int ret; + + ret = gcry_mpi_scan (ret_mpi, GCRYMPI_FMT_USG, buffer, *nbytes, nbytes); + if (ret) + return GNUTLS_E_MPI_SCAN_FAILED; return 0; } @@ -143,13 +60,13 @@ /* returns zero on success. Fails if the number is zero. */ int -_gnutls_mpi_scan_nz (bigint_t * ret_mpi, const void *buffer, size_t nbytes) +_gnutls_mpi_scan_nz (mpi_t * ret_mpi, const opaque * buffer, size_t * nbytes) { int ret; - ret = _gnutls_mpi_scan (ret_mpi, buffer, nbytes); - if (ret < 0) - return ret; + ret = gcry_mpi_scan (ret_mpi, GCRYMPI_FMT_USG, buffer, *nbytes, nbytes); + if (ret) + return GNUTLS_E_MPI_SCAN_FAILED; /* MPIs with 0 bits are illegal */ @@ -163,51 +80,58 @@ } int -_gnutls_mpi_scan_pgp (bigint_t * ret_mpi, const void *buffer, size_t nbytes) +_gnutls_mpi_scan_pgp (mpi_t * ret_mpi, const opaque * buffer, size_t * nbytes) { - *ret_mpi = - _gnutls_mpi_ops.bigint_scan (buffer, nbytes, GNUTLS_MPI_FORMAT_PGP); - if (*ret_mpi == NULL) + int ret; + ret = gcry_mpi_scan (ret_mpi, GCRYMPI_FMT_PGP, buffer, *nbytes, nbytes); + if (ret) + return GNUTLS_E_MPI_SCAN_FAILED; + + /* MPIs with 0 bits are illegal + */ + if (_gnutls_mpi_get_nbits (*ret_mpi) == 0) { - gnutls_assert (); + _gnutls_mpi_release (ret_mpi); return GNUTLS_E_MPI_SCAN_FAILED; } return 0; } -/* Always has the first bit zero */ int -_gnutls_mpi_dprint_lz (const bigint_t a, gnutls_datum_t * dest) +_gnutls_mpi_print (void *buffer, size_t * nbytes, const mpi_t a) { int ret; - opaque *buf = NULL; - size_t bytes = 0; - if (dest == NULL || a == NULL) + if (nbytes == NULL || a == NULL) return GNUTLS_E_INVALID_REQUEST; - _gnutls_mpi_print_lz (a, NULL, &bytes); + ret = gcry_mpi_print (GCRYMPI_FMT_USG, buffer, *nbytes, nbytes, a); + if (!ret) + return 0; - if (bytes != 0) - buf = gnutls_malloc (bytes); - if (buf == NULL) - return GNUTLS_E_MEMORY_ERROR; + return GNUTLS_E_MPI_PRINT_FAILED; +} - ret = _gnutls_mpi_print_lz (a, buf, &bytes); - if (ret < 0) - { - gnutls_free (buf); - return ret; - } +/* Always has the first bit zero */ +int +_gnutls_mpi_print_lz (void *buffer, size_t * nbytes, const mpi_t a) +{ + int ret; - dest->data = buf; - dest->size = bytes; - return 0; + if (nbytes == NULL || a == NULL) + return GNUTLS_E_INVALID_REQUEST; + + ret = gcry_mpi_print (GCRYMPI_FMT_STD, buffer, *nbytes, nbytes, a); + if (!ret) + return 0; + + return GNUTLS_E_MPI_PRINT_FAILED; } +/* Always has the first bit zero */ int -_gnutls_mpi_dprint (const bigint_t a, gnutls_datum_t * dest) +_gnutls_mpi_dprint_lz (gnutls_datum_t * dest, const mpi_t a) { int ret; opaque *buf = NULL; @@ -216,78 +140,64 @@ if (dest == NULL || a == NULL) return GNUTLS_E_INVALID_REQUEST; - _gnutls_mpi_print (a, NULL, &bytes); + gcry_mpi_print (GCRYMPI_FMT_STD, NULL, 0, &bytes, a); + if (bytes != 0) buf = gnutls_malloc (bytes); if (buf == NULL) return GNUTLS_E_MEMORY_ERROR; - ret = _gnutls_mpi_print (a, buf, &bytes); - if (ret < 0) + ret = gcry_mpi_print (GCRYMPI_FMT_STD, buf, bytes, &bytes, a); + if (!ret) { - gnutls_free (buf); - return ret; + dest->data = buf; + dest->size = bytes; + return 0; } - dest->data = buf; - dest->size = bytes; - return 0; + gnutls_free (buf); + return GNUTLS_E_MPI_PRINT_FAILED; } -/* This function will copy the mpi data into a datum, - * but will set minimum size to 'size'. That means that - * the output value is left padded with zeros. - */ int -_gnutls_mpi_dprint_size (const bigint_t a, gnutls_datum_t * dest, size_t size) +_gnutls_mpi_dprint (gnutls_datum_t * dest, const mpi_t a) { int ret; opaque *buf = NULL; size_t bytes = 0; - unsigned int i; if (dest == NULL || a == NULL) return GNUTLS_E_INVALID_REQUEST; - _gnutls_mpi_print (a, NULL, &bytes); + gcry_mpi_print (GCRYMPI_FMT_USG, NULL, 0, &bytes, a); + if (bytes != 0) - buf = gnutls_malloc (MAX (size, bytes)); + buf = gnutls_malloc (bytes); if (buf == NULL) return GNUTLS_E_MEMORY_ERROR; - dest->size = MAX (size, bytes); - - if (bytes <= size) - { - size_t diff = size - bytes; - for (i = 0; i < diff; i++) - buf[i] = 0; - ret = _gnutls_mpi_print (a, &buf[diff], &bytes); - } - else - { - ret = _gnutls_mpi_print (a, buf, &bytes); - } - - if (ret < 0) + ret = gcry_mpi_print (GCRYMPI_FMT_USG, buf, bytes, &bytes, a); + if (!ret) { - gnutls_free (buf); - return ret; + dest->data = buf; + dest->size = bytes; + return 0; } - dest->data = buf; - dest->size = MAX (size, bytes); - return 0; + gnutls_free (buf); + return GNUTLS_E_MPI_PRINT_FAILED; } + /* this function reads an integer * from asn1 structs. Combines the read and mpi_scan * steps. */ int -_gnutls_x509_read_int (ASN1_TYPE node, const char *value, bigint_t * ret_mpi) +_gnutls_x509_read_int (ASN1_TYPE node, const char *value, mpi_t * ret_mpi) { int result; + size_t s_len; opaque *tmpstr = NULL; int tmpstr_size; @@ -314,23 +224,23 @@ return _gnutls_asn2err (result); } - result = _gnutls_mpi_scan (ret_mpi, tmpstr, tmpstr_size); - gnutls_free (tmpstr); - - if (result < 0) + s_len = tmpstr_size; + if (_gnutls_mpi_scan (ret_mpi, tmpstr, &s_len) != 0) { gnutls_assert (); - return result; + gnutls_free (tmpstr); + return GNUTLS_E_MPI_SCAN_FAILED; } + gnutls_free (tmpstr); + return 0; } /* Writes the specified integer into the specified node. */ int -_gnutls_x509_write_int (ASN1_TYPE node, const char *value, bigint_t mpi, - int lz) +_gnutls_x509_write_int (ASN1_TYPE node, const char *value, mpi_t mpi, int lz) { opaque *tmpstr; size_t s_len; @@ -338,15 +248,9 @@ s_len = 0; if (lz) - result = _gnutls_mpi_print_lz (mpi, NULL, &s_len); + result = _gnutls_mpi_print_lz (NULL, &s_len, mpi); else - result = _gnutls_mpi_print (mpi, NULL, &s_len); - - if (result != 0) - { - gnutls_assert(); - return result; - } + result = _gnutls_mpi_print (NULL, &s_len, mpi); tmpstr = gnutls_malloc (s_len); if (tmpstr == NULL) @@ -356,9 +260,9 @@ } if (lz) - result = _gnutls_mpi_print_lz (mpi, tmpstr, &s_len); + result = _gnutls_mpi_print_lz (tmpstr, &s_len, mpi); else - result = _gnutls_mpi_print (mpi, tmpstr, &s_len); + result = _gnutls_mpi_print (tmpstr, &s_len, mpi); if (result != 0) { diff -Nru gnutls26-2.8.6/lib/gnutls_mpi.h gnutls26-2.4.1/lib/gnutls_mpi.h --- gnutls26-2.8.6/lib/gnutls_mpi.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_mpi.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -26,49 +26,52 @@ # define GNUTLS_MPI_H # include +# include +# include +# include + +typedef gcry_mpi_t mpi_t; + +#define _gnutls_mpi_cmp gcry_mpi_cmp +#define _gnutls_mpi_cmp_ui gcry_mpi_cmp_ui +#define _gnutls_mpi_mod gcry_mpi_mod +#define _gnutls_mpi_new gcry_mpi_new +#define _gnutls_mpi_snew gcry_mpi_snew +#define _gnutls_mpi_copy gcry_mpi_copy +#define _gnutls_mpi_set_ui gcry_mpi_set_ui +#define _gnutls_mpi_set gcry_mpi_set +#define _gnutls_mpi_randomize gcry_mpi_randomize +#define _gnutls_mpi_get_nbits gcry_mpi_get_nbits +#define _gnutls_mpi_powm gcry_mpi_powm +#define _gnutls_mpi_invm gcry_mpi_invm +#define _gnutls_mpi_addm gcry_mpi_addm +#define _gnutls_mpi_subm gcry_mpi_subm +#define _gnutls_mpi_sub_ui gcry_mpi_sub_ui +#define _gnutls_mpi_mulm gcry_mpi_mulm +#define _gnutls_mpi_mul gcry_mpi_mul +#define _gnutls_mpi_add gcry_mpi_add +#define _gnutls_mpi_add_ui gcry_mpi_add_ui +#define _gnutls_mpi_sub_ui gcry_mpi_sub_ui +#define _gnutls_mpi_mul_ui gcry_mpi_mul_ui +#define _gnutls_prime_check gcry_prime_check +#define _gnutls_mpi_div gcry_mpi_div + +# define _gnutls_mpi_alloc_like(x) _gnutls_mpi_new(_gnutls_mpi_get_nbits(x)) +# define _gnutls_mpi_salloc_like(x) _gnutls_mpi_snew(_gnutls_mpi_get_nbits(x)) + +void _gnutls_mpi_release (mpi_t * x); + +int _gnutls_mpi_scan_nz (mpi_t * ret_mpi, const opaque * buffer, + size_t * nbytes); +int _gnutls_mpi_scan (mpi_t * ret_mpi, const opaque * buffer, + size_t * nbytes); +int _gnutls_mpi_scan_pgp (mpi_t * ret_mpi, const opaque * buffer, + size_t * nbytes); -# include +int _gnutls_mpi_print (void *buffer, size_t * nbytes, const mpi_t a); +int _gnutls_mpi_print_lz (void *buffer, size_t * nbytes, const mpi_t a); -extern int crypto_bigint_prio; -extern gnutls_crypto_bigint_st _gnutls_mpi_ops; - -bigint_t _gnutls_mpi_randomize( bigint_t, unsigned int bits, gnutls_rnd_level_t level); - -#define _gnutls_mpi_new(x) _gnutls_mpi_ops.bigint_new(x) -#define _gnutls_mpi_cmp(x,y) _gnutls_mpi_ops.bigint_cmp(x,y) -#define _gnutls_mpi_cmp_ui(x,y) _gnutls_mpi_ops.bigint_cmp_ui(x,y) -#define _gnutls_mpi_mod(x,y) _gnutls_mpi_ops.bigint_mod(x,y) -#define _gnutls_mpi_set(x,y) _gnutls_mpi_ops.bigint_set(x,y) -#define _gnutls_mpi_set_ui(x,y) _gnutls_mpi_ops.bigint_set_ui(x,y) -#define _gnutls_mpi_get_nbits(x) _gnutls_mpi_ops.bigint_get_nbits(x) -#define _gnutls_mpi_alloc_like(x) _gnutls_mpi_new(_gnutls_mpi_get_nbits(x)) -#define _gnutls_mpi_powm(x,y,z,w) _gnutls_mpi_ops.bigint_powm(x,y,z,w) -#define _gnutls_mpi_addm(x,y,z,w) _gnutls_mpi_ops.bigint_addm(x,y,z,w) -#define _gnutls_mpi_subm(x,y,z,w) _gnutls_mpi_ops.bigint_subm(x,y,z,w) -#define _gnutls_mpi_mulm(x,y,z,w) _gnutls_mpi_ops.bigint_mulm(x,y,z,w) -#define _gnutls_mpi_add(x,y,z) _gnutls_mpi_ops.bigint_add(x,y,z) -#define _gnutls_mpi_sub(x,y,z) _gnutls_mpi_ops.bigint_sub(x,y,z) -#define _gnutls_mpi_mul(x,y,z) _gnutls_mpi_ops.bigint_mul(x,y,z) -#define _gnutls_mpi_div(x,y,z) _gnutls_mpi_ops.bigint_div(x,y,z) -#define _gnutls_mpi_add_ui(x,y,z) _gnutls_mpi_ops.bigint_add_ui(x,y,z) -#define _gnutls_mpi_sub_ui(x,y,z) _gnutls_mpi_ops.bigint_sub_ui(x,y,z) -#define _gnutls_mpi_mul_ui(x,y,z) _gnutls_mpi_ops.bigint_mul_ui(x,y,z) -#define _gnutls_prime_check(z) _gnutls_mpi_ops.bigint_prime_check(z) -#define _gnutls_mpi_print(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_USG) -#define _gnutls_mpi_print_lz(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_STD) -#define _gnutls_mpi_print_pgp(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_PGP) -#define _gnutls_mpi_copy( a) _gnutls_mpi_set( NULL, a) - -void _gnutls_mpi_release (bigint_t * x); - -int _gnutls_mpi_scan (bigint_t * ret_mpi, const void * buffer, size_t nbytes); -int _gnutls_mpi_scan_nz (bigint_t * ret_mpi, const void * buffer, size_t nbytes); -int _gnutls_mpi_scan_pgp (bigint_t * ret_mpi, const void * buffer, size_t nbytes); - -int _gnutls_mpi_dprint_lz ( const bigint_t a, gnutls_datum_t * dest); -int _gnutls_mpi_dprint ( const bigint_t a, gnutls_datum_t * dest); -int _gnutls_mpi_dprint_size (const bigint_t a, gnutls_datum_t * dest, size_t size); - -#define _gnutls_mpi_generate_group( gg, bits) _gnutls_mpi_ops.bigint_generate_group( gg, bits) +int _gnutls_mpi_dprint_lz (gnutls_datum_t * dest, const mpi_t a); +int _gnutls_mpi_dprint (gnutls_datum_t * dest, const mpi_t a); #endif diff -Nru gnutls26-2.8.6/lib/gnutls_num.c gnutls26-2.4.1/lib/gnutls_num.c --- gnutls26-2.8.6/lib/gnutls_num.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_num.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -30,8 +30,6 @@ #include #include -#include - /* This function will add one to uint64 x. * Returns 0 on success, or -1 if the uint64 max limit * has been reached. @@ -97,7 +95,7 @@ res = _gnutls_uint24touint32 (num); #ifndef WORDS_BIGENDIAN - res = bswap_32 (res); + res = byteswap32 (res); #endif return res; } @@ -108,7 +106,7 @@ uint24 tmp; #ifndef WORDS_BIGENDIAN - num = bswap_32 (num); + num = byteswap32 (num); #endif tmp = _gnutls_uint32touint24 (num); @@ -124,7 +122,7 @@ memcpy (&res, data, sizeof (uint32_t)); #ifndef WORDS_BIGENDIAN - res = bswap_32 (res); + res = byteswap32 (res); #endif return res; } @@ -134,7 +132,7 @@ { #ifndef WORDS_BIGENDIAN - num = bswap_32 (num); + num = byteswap32 (num); #endif memcpy (data, &num, sizeof (uint32_t)); } @@ -145,7 +143,7 @@ uint16_t res; memcpy (&res, data, sizeof (uint16_t)); #ifndef WORDS_BIGENDIAN - res = bswap_16 (res); + res = byteswap16 (res); #endif return res; } @@ -155,7 +153,7 @@ { #ifndef WORDS_BIGENDIAN - num = bswap_16 (num); + num = byteswap16 (num); #endif memcpy (data, &num, sizeof (uint16_t)); } @@ -164,7 +162,7 @@ _gnutls_conv_uint32 (uint32_t data) { #ifndef WORDS_BIGENDIAN - return bswap_32 (data); + return byteswap32 (data); #else return data; #endif @@ -174,7 +172,7 @@ _gnutls_conv_uint16 (uint16_t data) { #ifndef WORDS_BIGENDIAN - return bswap_16 (data); + return byteswap16 (data); #else return data; #endif @@ -187,7 +185,7 @@ memcpy (&ret, &num->i[4], 4); #ifndef WORDS_BIGENDIAN - ret = bswap_32 (ret); + ret = byteswap32 (ret); #endif return ret; diff -Nru gnutls26-2.8.6/lib/gnutls_num.h gnutls26-2.4.1/lib/gnutls_num.h --- gnutls26-2.8.6/lib/gnutls_num.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_num.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -22,13 +22,18 @@ * */ -#ifndef GNUTLS_NUM_H -# define GNUTLS_NUM_H - #include #include +#define rotl32(x,n) (((x) << ((uint16_t)(n))) | ((x) >> (32 - (uint16_t)(n)))) +#define rotr32(x,n) (((x) >> ((uint16_t)(n))) | ((x) << (32 - (uint16_t)(n)))) +#define rotl16(x,n) (((x) << ((uint16_t)(n))) | ((x) >> (16 - (uint16_t)(n)))) +#define rotr16(x,n) (((x) >> ((uint16_t)(n))) | ((x) << (16 - (uint16_t)(n)))) + +#define byteswap16(x) ((rotl16(x, 8) & 0x00ff) | (rotr16(x, 8) & 0xff00)) +#define byteswap32(x) ((rotl32(x, 8) & 0x00ff00ffUL) | (rotr32(x, 8) & 0xff00ff00UL)) + uint32_t _gnutls_uint24touint32 (uint24 num); uint24 _gnutls_uint32touint24 (uint32_t num); uint32_t _gnutls_read_uint32 (const opaque * data); @@ -44,5 +49,3 @@ int _gnutls_uint64pp (uint64 *); # define _gnutls_uint64zero(x) x.i[0] = x.i[1] = x.i[2] = x.i[3] = x.i[4] = x.i[5] = x.i[6] = x.i[7] = 0 # define UINT64DATA(x) x.i - -#endif /* GNUTLS_NUM_H */ diff -Nru gnutls26-2.8.6/lib/gnutls_openpgp.c gnutls26-2.4.1/lib/gnutls_openpgp.c --- gnutls26-2.8.6/lib/gnutls_openpgp.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_openpgp.c 2008-06-30 21:45:51.000000000 +0100 @@ -0,0 +1,943 @@ +/* + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + * + * Author: Timo Schulz, Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +#include "gnutls_int.h" +#include "gnutls_errors.h" +#include "gnutls_mpi.h" +#include "gnutls_num.h" +#include "gnutls_cert.h" +#include "gnutls_datum.h" +#include "gnutls_global.h" +#include "openpgp/gnutls_openpgp.h" +#include "read-file.h" +#include +#include +#include +#include +#include +#include + +#define datum_append(x, y, z) _gnutls_datum_append_m (x, y, z, gnutls_realloc) + +/* Map an OpenCDK error type to a GnuTLS error type. */ +int +_gnutls_map_cdk_rc (int rc) +{ + switch (rc) + { + case CDK_Success: + return 0; + case CDK_Too_Short: + return GNUTLS_E_SHORT_MEMORY_BUFFER; + case CDK_General_Error: + return GNUTLS_E_INTERNAL_ERROR; + case CDK_File_Error: + return GNUTLS_E_FILE_ERROR; + case CDK_MPI_Error: + return GNUTLS_E_MPI_SCAN_FAILED; + case CDK_Error_No_Key: + return GNUTLS_E_OPENPGP_GETKEY_FAILED; + case CDK_Armor_Error: + return GNUTLS_E_BASE64_DECODING_ERROR; + case CDK_Inv_Value: + return GNUTLS_E_INVALID_REQUEST; + default: + return GNUTLS_E_INTERNAL_ERROR; + } +} + +/*- + * _gnutls_openpgp_raw_crt_to_gcert - Converts raw OpenPGP data to GnuTLS certs + * @cert: the certificate to store the data. + * @raw: the buffer which contains the whole OpenPGP key packets. + * + * The RFC2440 (OpenPGP Message Format) data is converted to a GnuTLS + * specific certificate. + -*/ +int +_gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * gcert, + const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t keyid) +{ + gnutls_openpgp_crt_t pcrt; + int ret; + + ret = gnutls_openpgp_crt_init (&pcrt); + if (ret < 0) + { + gnutls_assert (); + return ret; + } + + ret = gnutls_openpgp_crt_import (pcrt, raw, GNUTLS_OPENPGP_FMT_RAW); + if (ret < 0) + { + gnutls_assert (); + gnutls_openpgp_crt_deinit (pcrt); + return ret; + } + + if (keyid != NULL) + { + ret = gnutls_openpgp_crt_set_preferred_key_id( pcrt, keyid); + if (ret < 0) + { + gnutls_assert(); + gnutls_openpgp_crt_deinit (pcrt); + return ret; + } + } + + ret = _gnutls_openpgp_crt_to_gcert (gcert, pcrt); + gnutls_openpgp_crt_deinit (pcrt); + + return ret; +} + +/** + * gnutls_certificate_set_openpgp_key - Used to set keys in a gnutls_certificate_credentials_t structure + * @res: is an #gnutls_certificate_credentials_t structure. + * @key: contains an openpgp public key + * @pkey: is an openpgp private key + * + * This function sets a certificate/private key pair in the + * gnutls_certificate_credentials_t structure. This function may be called + * more than once (in case multiple keys/certificates exist for the + * server). + * + * With this function the subkeys of the certificate are not used. + * + **/ +int +gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t + res, gnutls_openpgp_crt_t crt, + gnutls_openpgp_privkey_t pkey) +{ + int ret; + + /* this should be first */ + + res->pkey = gnutls_realloc_fast (res->pkey, + (res->ncerts + 1) * + sizeof (gnutls_privkey)); + if (res->pkey == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + ret = _gnutls_openpgp_privkey_to_gkey (&res->pkey[res->ncerts], pkey); + if (ret < 0) + { + gnutls_assert (); + return ret; + } + + res->cert_list = gnutls_realloc_fast (res->cert_list, + (1 + + res->ncerts) * + sizeof (gnutls_cert *)); + if (res->cert_list == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + res->cert_list_length = gnutls_realloc_fast (res->cert_list_length, + (1 + + res->ncerts) * sizeof (int)); + if (res->cert_list_length == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + res->cert_list[res->ncerts] = gnutls_calloc (1, sizeof (gnutls_cert)); + if (res->cert_list[res->ncerts] == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + res->cert_list_length[res->ncerts] = 1; + + ret = _gnutls_openpgp_crt_to_gcert (res->cert_list[res->ncerts], crt); + if (ret < 0) + { + gnutls_assert (); + return ret; + } + + res->ncerts++; + + /* FIXME: Check if the keys match. */ + + return 0; +} + +/*- + * gnutls_openpgp_get_key - Retrieve a key from the keyring. + * @key: the destination context to save the key. + * @keyring: the datum struct that contains all keyring information. + * @attr: The attribute (keyid, fingerprint, ...). + * @by: What attribute is used. + * + * This function can be used to retrieve keys by different pattern + * from a binary or a file keyring. + -*/ +int +gnutls_openpgp_get_key (gnutls_datum_t * key, + gnutls_openpgp_keyring_t keyring, key_attr_t by, + opaque * pattern) +{ + cdk_kbnode_t knode = NULL; + unsigned long keyid[2]; + unsigned char *buf; + void *desc; + size_t len; + int rc = 0; + cdk_keydb_search_t st; + + if (!key || !keyring || by == KEY_ATTR_NONE) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + memset (key, 0, sizeof *key); + + if (by == KEY_ATTR_SHORT_KEYID) + { + keyid[0] = _gnutls_read_uint32(pattern); + desc = keyid; + } + else if (by == KEY_ATTR_KEYID) + { + keyid[0] = _gnutls_read_uint32(pattern); + keyid[1] = _gnutls_read_uint32(pattern + 4); + desc = keyid; + } + else + desc = pattern; + rc = cdk_keydb_search_start (&st, keyring->db, by, desc); + if (!rc) + rc = cdk_keydb_search (st, keyring->db, &knode); + + cdk_keydb_search_release( st); + + if (rc) + { + rc = _gnutls_map_cdk_rc (rc); + goto leave; + } + + if (!cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY)) + { + rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; + goto leave; + } + + /* We let the function allocate the buffer to avoid + to call the function twice. */ + rc = cdk_kbnode_write_to_mem_alloc (knode, &buf, &len); + if (!rc) + datum_append (key, buf, len); + cdk_free (buf); + +leave: + cdk_kbnode_release (knode); + return rc; +} + +/** + * gnutls_certificate_set_openpgp_key_mem - Used to set OpenPGP keys + * @res: the destination context to save the data. + * @cert: the datum that contains the public key. + * @key: the datum that contains the secret key. + * @format: the format of the keys + * + * This funtion is used to load OpenPGP keys into the GnuTLS credential + * structure. The files should contain non encrypted keys. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + **/ +int +gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * icert, + const gnutls_datum_t * ikey, + gnutls_openpgp_crt_fmt_t format) +{ + return gnutls_certificate_set_openpgp_key_mem2 (res, icert, ikey, + NULL, format); +} + + +/** + * gnutls_certificate_set_openpgp_key_file - Used to set OpenPGP keys + * @res: the destination context to save the data. + * @certfile: the file that contains the public key. + * @keyfile: the file that contains the secret key. + * @format: the format of the keys + * + * This funtion is used to load OpenPGP keys into the GnuTLS + * credentials structure. The files should only contain one key which + * is not encrypted. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + **/ +int +gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t + res, const char *certfile, + const char *keyfile, + gnutls_openpgp_crt_fmt_t format) +{ + return gnutls_certificate_set_openpgp_key_file2 (res, certfile, + keyfile, NULL, format); +} + +static int get_keyid( gnutls_openpgp_keyid_t keyid, const char* str) +{ + size_t keyid_size = sizeof(keyid); + + if (strlen(str) != 16) + { + _gnutls_debug_log("The OpenPGP subkey ID has to be 16 hexadecimal characters.\n"); + return GNUTLS_E_INVALID_REQUEST; + } + + if (_gnutls_hex2bin (str, strlen(str), keyid, &keyid_size) < 0) + { + _gnutls_debug_log("Error converting hex string: %s.\n", str); + return GNUTLS_E_INVALID_REQUEST; + } + + return 0; +} + +/** + * gnutls_certificate_set_openpgp_key_mem2 - Used to set OpenPGP keys + * @res: the destination context to save the data. + * @cert: the datum that contains the public key. + * @key: the datum that contains the secret key. + * @subkey_id: a hex encoded subkey id + * @format: the format of the keys + * + * This funtion is used to load OpenPGP keys into the GnuTLS + * credentials structure. The files should only contain one key which + * is not encrypted. + * + * The special keyword "auto" is also accepted as &subkey_id. In that + * case the gnutls_openpgp_crt_get_auth_subkey() will be used to + * retrieve the subkey. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + * + * Since: 2.4.0 + **/ +int +gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t + res, const gnutls_datum_t * icert, + const gnutls_datum_t * ikey, + const char* subkey_id, + gnutls_openpgp_crt_fmt_t format) +{ + gnutls_openpgp_privkey_t key; + gnutls_openpgp_crt_t cert; + int ret; + + ret = gnutls_openpgp_privkey_init( &key); + if (ret < 0) { + gnutls_assert(); + return ret; + } + + ret = gnutls_openpgp_privkey_import( key, ikey, format, NULL, 0); + if (ret < 0) { + gnutls_assert(); + gnutls_openpgp_privkey_deinit( key); + return ret; + } + + ret = gnutls_openpgp_crt_init( &cert); + if (ret < 0) { + gnutls_assert(); + gnutls_openpgp_privkey_deinit( key); + return ret; + } + + ret = gnutls_openpgp_crt_import( cert, icert, format); + if (ret < 0) { + gnutls_assert(); + gnutls_openpgp_privkey_deinit( key); + gnutls_openpgp_crt_deinit( cert); + return ret; + } + + if (subkey_id != NULL) + { + gnutls_openpgp_keyid_t keyid; + + if (strcasecmp( subkey_id, "auto")==0) + ret = gnutls_openpgp_crt_get_auth_subkey( cert, keyid, 1); + else + ret = get_keyid( keyid, subkey_id); + + if (ret >= 0) + { + ret = gnutls_openpgp_crt_set_preferred_key_id( cert, keyid); + if (ret >= 0) + ret = gnutls_openpgp_privkey_set_preferred_key_id( key, keyid); + } + + if (ret < 0) + { + gnutls_assert(); + gnutls_openpgp_privkey_deinit( key); + gnutls_openpgp_crt_deinit( cert); + return ret; + } + } + + ret = gnutls_certificate_set_openpgp_key( res, cert, key); + + gnutls_openpgp_privkey_deinit( key); + gnutls_openpgp_crt_deinit( cert); + + return ret; +} + + +/** + * gnutls_certificate_set_openpgp_key_file2 - Used to set OpenPGP keys + * @res: the destination context to save the data. + * @certfile: the file that contains the public key. + * @keyfile: the file that contains the secret key. + * @subkey_id: a hex encoded subkey id + * @format: the format of the keys + * + * This funtion is used to load OpenPGP keys into the GnuTLS credential + * structure. The files should contain non encrypted keys. + * + * The special keyword "auto" is also accepted as &subkey_id. In that case + * the gnutls_openpgp_crt_get_auth_subkey() will be used to retrieve the subkey. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + * + * Since: 2.4.0 + **/ +int +gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t + res, const char *certfile, + const char *keyfile, + const char* subkey_id, + gnutls_openpgp_crt_fmt_t format) +{ + struct stat statbuf; + gnutls_datum_t key, cert; + int rc; + size_t size; + + if (!res || !keyfile || !certfile) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + if (stat (certfile, &statbuf) || stat (keyfile, &statbuf)) + { + gnutls_assert (); + return GNUTLS_E_FILE_ERROR; + } + + cert.data = read_binary_file (certfile, &size); + cert.size = (unsigned int)size; + if (cert.data == NULL) + { + gnutls_assert (); + return GNUTLS_E_FILE_ERROR; + } + + key.data = read_binary_file (keyfile, &size); + key.size = (unsigned int)size; + if (key.data == NULL) + { + gnutls_assert (); + free (cert.data); + return GNUTLS_E_FILE_ERROR; + } + + rc = gnutls_certificate_set_openpgp_key_mem2 (res, &cert, &key, subkey_id, format); + + free (cert.data); + free (key.data); + + if (rc < 0) + { + gnutls_assert (); + return rc; + } + + return 0; +} + + +int +gnutls_openpgp_count_key_names (const gnutls_datum_t * cert) +{ + cdk_kbnode_t knode, p, ctx; + cdk_packet_t pkt; + int nuids; + + if (cert == NULL) + { + gnutls_assert (); + return 0; + } + + if (cdk_kbnode_read_from_mem (&knode, cert->data, cert->size)) + { + gnutls_assert (); + return 0; + } + + ctx = NULL; + for (nuids = 0;;) + { + p = cdk_kbnode_walk (knode, &ctx, 0); + if (!p) + break; + pkt = cdk_kbnode_get_packet (p); + if (pkt->pkttype == CDK_PKT_USER_ID) + nuids++; + } + + cdk_kbnode_release (knode); + return nuids; +} + + +/** + * gnutls_certificate_set_openpgp_keyring_file - Sets a keyring file for OpenPGP + * @c: A certificate credentials structure + * @file: filename of the keyring. + * + * The function is used to set keyrings that will be used internally + * by various OpenPGP functions. For example to find a key when it + * is needed for an operations. The keyring will also be used at the + * verification functions. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + **/ +int +gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, + const char *file, + gnutls_openpgp_crt_fmt_t format) +{ + gnutls_datum_t ring; + size_t size; + int rc; + + if (!c || !file) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + ring.data = read_binary_file (file, &size); + ring.size = (unsigned int)size; + if (ring.data == NULL) + { + gnutls_assert (); + return GNUTLS_E_FILE_ERROR; + } + + rc = gnutls_certificate_set_openpgp_keyring_mem (c, ring.data, ring.size, format); + + free( ring.data); + + return rc; +} + +/** + * gnutls_certificate_set_openpgp_keyring_mem - Add keyring data for OpenPGP + * @c: A certificate credentials structure + * @data: buffer with keyring data. + * @dlen: length of data buffer. + * + * The function is used to set keyrings that will be used internally + * by various OpenPGP functions. For example to find a key when it + * is needed for an operations. The keyring will also be used at the + * verification functions. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + **/ +int +gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t + c, const opaque * data, + size_t dlen, gnutls_openpgp_crt_fmt_t format) +{ + gnutls_datum ddata; + int rc; + + ddata.data = (void*)data; + ddata.size = dlen; + + if (!c || !data || !dlen) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + rc = gnutls_openpgp_keyring_init( &c->keyring); + if (rc < 0) { + gnutls_assert(); + return rc; + } + + rc = gnutls_openpgp_keyring_import( c->keyring, &ddata, format); + if ( rc < 0) { + gnutls_assert(); + gnutls_openpgp_keyring_deinit( c->keyring); + return rc; + } + + return 0; +} + +/*- + * _gnutls_openpgp_request_key - Receives a key from a database, key server etc + * @ret - a pointer to gnutls_datum_t structure. + * @cred - a gnutls_certificate_credentials_t structure. + * @key_fingerprint - The keyFingerprint + * @key_fingerprint_size - the size of the fingerprint + * + * Retrieves a key from a local database, keyring, or a key server. The + * return value is locally allocated. + * + -*/ +int +_gnutls_openpgp_request_key (gnutls_session_t session, gnutls_datum_t * ret, + const gnutls_certificate_credentials_t cred, + opaque * key_fpr, int key_fpr_size) +{ + int rc = 0; + + if (!ret || !cred || !key_fpr) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + if (key_fpr_size != 16 && key_fpr_size != 20) + return GNUTLS_E_HASH_FAILED; /* only MD5 and SHA1 are supported */ + + rc = gnutls_openpgp_get_key (ret, cred->keyring, KEY_ATTR_FPR, key_fpr); + + if (rc >= 0) /* key was found */ + { + rc = 0; + goto error; + } + else + rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; + + /* If the callback function was set, then try this one. */ + if (session->internals.openpgp_recv_key_func != NULL) + { + rc = session->internals.openpgp_recv_key_func (session, + key_fpr, + key_fpr_size, ret); + if (rc < 0) + { + gnutls_assert (); + rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; + goto error; + } + } + + error: + + return rc; +} + +/** + * gnutls_openpgp_set_recv_key_function - Used to set a key retrieval callback for PGP keys + * @session: a TLS session + * @func: the callback + * + * This funtion will set a key retrieval function for OpenPGP keys. This + * callback is only useful in server side, and will be used if the peer + * sent a key fingerprint instead of a full key. + * + **/ +void +gnutls_openpgp_set_recv_key_function (gnutls_session_t session, + gnutls_openpgp_recv_key_func func) +{ + session->internals.openpgp_recv_key_func = func; +} + + +/* Copies a gnutls_openpgp_privkey_t to a gnutls_privkey structure. */ +int +_gnutls_openpgp_privkey_to_gkey (gnutls_privkey * dest, + gnutls_openpgp_privkey_t src) +{ + int ret = 0; + gnutls_openpgp_keyid_t keyid; + char err_buf[33]; + + if (dest==NULL || src == NULL) + { + gnutls_assert (); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + dest->params_size = MAX_PRIV_PARAMS_SIZE; + + ret = gnutls_openpgp_privkey_get_preferred_key_id( src, keyid); + + if (ret == 0) + { + int idx; + uint32_t kid32[2]; + + _gnutls_debug_log("Importing Openpgp key and using openpgp sub key: %s\n", + _gnutls_bin2hex( keyid, sizeof(keyid), err_buf, sizeof(err_buf))); + + KEYID_IMPORT(kid32, keyid); + + idx = gnutls_openpgp_privkey_get_subkey_idx( src, keyid); + if (idx < 0) + { + gnutls_assert(); + return idx; + } + + dest->pk_algorithm = gnutls_openpgp_privkey_get_subkey_pk_algorithm( src, idx, NULL); + + ret = _gnutls_openpgp_privkey_get_mpis( src, kid32, dest->params, &dest->params_size); + } + else + { + _gnutls_debug_log("Importing Openpgp key and using main openpgp key.\n"); + + dest->pk_algorithm = gnutls_openpgp_privkey_get_pk_algorithm( src, NULL); + ret = _gnutls_openpgp_privkey_get_mpis( src, NULL, dest->params, &dest->params_size); + } + + + if (ret < 0) + { + gnutls_assert(); + return ret; + } + + return 0; + +} + +/* Converts a parsed gnutls_openpgp_crt_t to a gnutls_cert structure. + */ +int +_gnutls_openpgp_crt_to_gcert (gnutls_cert * gcert, gnutls_openpgp_crt_t cert) +{ + int ret; + gnutls_openpgp_keyid_t keyid; + char err_buf[33]; + + memset (gcert, 0, sizeof (gnutls_cert)); + gcert->cert_type = GNUTLS_CRT_OPENPGP; + gcert->version = gnutls_openpgp_crt_get_version( cert); + gcert->params_size = MAX_PUBLIC_PARAMS_SIZE; + + ret = gnutls_openpgp_crt_get_preferred_key_id( cert, keyid); + + if (ret == 0) + { + int idx; + uint32_t kid32[2]; + + _gnutls_debug_log("Importing Openpgp cert and using openpgp sub key: %s\n", + _gnutls_bin2hex( keyid, sizeof(keyid), err_buf, sizeof(err_buf))); + + KEYID_IMPORT(kid32, keyid); + + idx = gnutls_openpgp_crt_get_subkey_idx( cert, keyid); + if (idx < 0) + { + gnutls_assert(); + return idx; + } + + gcert->subject_pk_algorithm = gnutls_openpgp_crt_get_subkey_pk_algorithm( cert, idx, NULL); + + gnutls_openpgp_crt_get_subkey_usage( cert, idx, &gcert->key_usage); + gcert->use_subkey = 1; + + memcpy(gcert->subkey_id, keyid, sizeof(keyid)); + + ret = _gnutls_openpgp_crt_get_mpis( cert, kid32, gcert->params, &gcert->params_size); + } + else + { + _gnutls_debug_log("Importing Openpgp cert and using main openpgp key\n"); + gcert->subject_pk_algorithm = gnutls_openpgp_crt_get_pk_algorithm( cert, NULL); + + gnutls_openpgp_crt_get_key_usage( cert, &gcert->key_usage); + ret = _gnutls_openpgp_crt_get_mpis( cert, NULL, gcert->params, &gcert->params_size); + gcert->use_subkey = 0; + } + + if (ret < 0) + { + gnutls_assert(); + return ret; + } + + { /* copy the raw certificate */ +#define SMALL_RAW 512 + opaque *raw; + size_t raw_size = SMALL_RAW; + + /* initially allocate a bogus size, just in case the certificate + * fits in it. That way we minimize the DER encodings performed. + */ + raw = gnutls_malloc (raw_size); + if (raw == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + ret = + gnutls_openpgp_crt_export (cert, GNUTLS_OPENPGP_FMT_RAW, raw, &raw_size); + if (ret < 0 && ret != GNUTLS_E_SHORT_MEMORY_BUFFER) + { + gnutls_assert (); + gnutls_free (raw); + return ret; + } + + if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) + { + raw = gnutls_realloc (raw, raw_size); + if (raw == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + + ret = + gnutls_openpgp_crt_export (cert, GNUTLS_OPENPGP_FMT_RAW, raw, + &raw_size); + if (ret < 0) + { + gnutls_assert (); + gnutls_free (raw); + return ret; + } + } + + gcert->raw.data = raw; + gcert->raw.size = raw_size; + } + + return 0; + +} + + +/** + * gnutls_openpgp_privkey_sign_hash - sign the given data using the private key params + * @key: Holds the key + * @hash: holds the data to be signed + * @signature: will contain newly allocated signature + * + * This function will sign the given hash using the private key. You + * should use gnutls_openpgp_privkey_set_subkey() before calling this + * function to set the subkey to use. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + **/ +int +gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, + const gnutls_datum_t * hash, + gnutls_datum_t * signature) +{ + int result, i; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; + int params_size = MAX_PUBLIC_PARAMS_SIZE; + int pk_algorithm; + gnutls_openpgp_keyid_t keyid; + + if (key == NULL) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + result = gnutls_openpgp_privkey_get_preferred_key_id( key, keyid); + if (result == 0) + { + uint32_t kid[2]; + + KEYID_IMPORT( kid, keyid); + result = _gnutls_openpgp_privkey_get_mpis (key, kid, + params, ¶ms_size); + } + else + { + result = _gnutls_openpgp_privkey_get_mpis (key, NULL, + params, ¶ms_size); + } + + if (result < 0) + { + gnutls_assert (); + return result; + } + + pk_algorithm = gnutls_openpgp_privkey_get_pk_algorithm (key, NULL); + + result = _gnutls_sign (pk_algorithm, params, + params_size, hash, signature); + + for (i=0;i #include +static int _gnutls_pk_encrypt (int algo, mpi_t * resarr, mpi_t data, + mpi_t * pkey, int pkey_len); +static int _gnutls_pk_sign (int algo, mpi_t * data, mpi_t hash, + mpi_t * pkey, int); +static int _gnutls_pk_verify (int algo, mpi_t hash, mpi_t * data, + mpi_t * pkey, int); +static int _gnutls_pk_decrypt (int algo, mpi_t * resarr, mpi_t data, + mpi_t * pkey, int); + + /* Do PKCS-1 RSA encryption. * params is modulus, public exp. */ int _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext, const gnutls_datum_t * plaintext, - bigint_t * params, unsigned params_len, + mpi_t * params, unsigned params_len, unsigned btype) { unsigned int i, pad; int ret; + mpi_t m, res; opaque *edata, *ps; size_t k, psize; size_t mod_bits; - gnutls_pk_params_st pk_params; - gnutls_datum to_encrypt, encrypted; - - for (i = 0; i < params_len; i++) - pk_params.params[i] = params[i]; - pk_params.params_nr = params_len; mod_bits = _gnutls_mpi_get_nbits (params[0]); k = mod_bits / 8; @@ -97,8 +102,8 @@ return GNUTLS_E_INTERNAL_ERROR; } - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, ps, psize); - if (ret < 0) + ret = _gnutls_rnd (RND_RANDOM, ps, psize); + if ( ret < 0) { gnutls_assert (); gnutls_free (edata); @@ -107,7 +112,7 @@ for (i = 0; i < psize; i++) while (ps[i] == 0) { - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, &ps[i], 1); + ret = _gnutls_rnd (RND_RANDOM, &ps[i], 1); if (ret < 0) { gnutls_assert (); @@ -138,17 +143,20 @@ ps[psize] = 0; memcpy (&ps[psize + 1], plaintext->data, plaintext->size); - to_encrypt.data = edata; - to_encrypt.size = k; + if (_gnutls_mpi_scan_nz (&m, edata, &k) != 0) + { + gnutls_assert (); + gnutls_free (edata); + return GNUTLS_E_MPI_SCAN_FAILED; + } + gnutls_free (edata); if (btype == 2) /* encrypt */ - ret = - _gnutls_pk_encrypt (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params); + ret = _gnutls_pk_encrypt (GCRY_PK_RSA, &res, m, params, params_len); else /* sign */ - ret = - _gnutls_pk_sign (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params); + ret = _gnutls_pk_sign (GCRY_PK_RSA, &res, m, params, params_len); - gnutls_free (edata); + _gnutls_mpi_release (&m); if (ret < 0) { @@ -156,7 +164,8 @@ return ret; } - psize = encrypted.size; + _gnutls_mpi_print (NULL, &psize, res); + if (psize < k) { /* padding psize */ @@ -165,18 +174,13 @@ } else if (psize == k) { - /* pad = 0; - * no need to do anything else - */ - ciphertext->data = encrypted.data; - ciphertext->size = encrypted.size; - return 0; + pad = 0; } else { /* psize > k !!! */ /* This is an impossible situation */ gnutls_assert (); - _gnutls_free_datum (&encrypted); + _gnutls_mpi_release (&res); return GNUTLS_E_INTERNAL_ERROR; } @@ -184,17 +188,16 @@ if (ciphertext->data == NULL) { gnutls_assert (); - _gnutls_free_datum (&encrypted); + _gnutls_mpi_release (&res); return GNUTLS_E_MEMORY_ERROR; } - - memcpy (&ciphertext->data[pad], encrypted.data, encrypted.size); + _gnutls_mpi_print (&ciphertext->data[pad], &psize, res); for (i = 0; i < pad; i++) ciphertext->data[i] = 0; ciphertext->size = k; - _gnutls_free_datum (&encrypted); + _gnutls_mpi_release (&res); return 0; } @@ -207,17 +210,14 @@ int _gnutls_pkcs1_rsa_decrypt (gnutls_datum_t * plaintext, const gnutls_datum_t * ciphertext, - bigint_t * params, unsigned params_len, + mpi_t * params, unsigned params_len, unsigned btype) { - unsigned int k, i; + unsigned k, i; int ret; + mpi_t c, res; + opaque *edata; size_t esize, mod_bits; - gnutls_pk_params_st pk_params; - - for (i = 0; i < params_len; i++) - pk_params.params[i] = params[i]; - pk_params.params_nr = params_len; mod_bits = _gnutls_mpi_get_nbits (params[0]); k = mod_bits / 8; @@ -232,19 +232,22 @@ return GNUTLS_E_PK_DECRYPTION_FAILED; } + if (_gnutls_mpi_scan_nz (&c, ciphertext->data, &esize) != 0) + { + gnutls_assert (); + return GNUTLS_E_MPI_SCAN_FAILED; + } + /* we can use btype to see if the private key is * available. */ if (btype == 2) - { - ret = - _gnutls_pk_decrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params); - } + ret = _gnutls_pk_decrypt (GCRY_PK_RSA, &res, c, params, params_len); else { - ret = - _gnutls_pk_encrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params); + ret = _gnutls_pk_encrypt (GCRY_PK_RSA, &res, c, params, params_len); } + _gnutls_mpi_release (&c); if (ret < 0) { @@ -252,6 +255,18 @@ return ret; } + _gnutls_mpi_print (NULL, &esize, res); + edata = gnutls_malloc (esize + 1); + if (edata == NULL) + { + gnutls_assert (); + _gnutls_mpi_release (&res); + return GNUTLS_E_MEMORY_ERROR; + } + _gnutls_mpi_print (&edata[1], &esize, res); + + _gnutls_mpi_release (&res); + /* EB = 00||BT||PS||00||D * (use block type 'btype') * @@ -260,9 +275,15 @@ * "Chosen Ciphertext Attacks against Protocols Based on RSA * Encryption Standard PKCS #1". */ - if (plaintext->data[0] != 0 || plaintext->data[1] != btype) + + + edata[0] = 0; + esize++; + + if (edata[0] != 0 || edata[1] != btype) { gnutls_assert (); + gnutls_free (edata); return GNUTLS_E_DECRYPTION_FAILED; } @@ -270,9 +291,9 @@ switch (btype) { case 2: - for (i = 2; i < plaintext->size; i++) + for (i = 2; i < esize; i++) { - if (plaintext->data[i] == 0) + if (edata[i] == 0) { ret = 0; break; @@ -280,26 +301,25 @@ } break; case 1: - for (i = 2; i < plaintext->size; i++) + for (i = 2; i < esize; i++) { - if (plaintext->data[i] == 0 && i > 2) + if (edata[i] == 0 && i > 2) { ret = 0; break; } - if (plaintext->data[i] != 0xff) + if (edata[i] != 0xff) { _gnutls_handshake_log ("PKCS #1 padding error"); - _gnutls_free_datum (plaintext); /* PKCS #1 padding error. Don't use - GNUTLS_E_PKCS1_WRONG_PAD here. */ + GNUTLS_E_PKCS1_WRONG_PAD here. */ break; } } break; default: gnutls_assert (); - _gnutls_free_datum (plaintext); + gnutls_free (edata); break; } i++; @@ -307,12 +327,18 @@ if (ret < 0) { gnutls_assert (); - _gnutls_free_datum (plaintext); + gnutls_free (edata); return GNUTLS_E_DECRYPTION_FAILED; } - memmove (plaintext->data, &plaintext->data[i], esize - i); - plaintext->size = esize - i; + if (_gnutls_sset_datum (plaintext, &edata[i], esize - i) < 0) + { + gnutls_assert (); + gnutls_free (edata); + return GNUTLS_E_MEMORY_ERROR; + } + + gnutls_free (edata); return 0; } @@ -320,7 +346,7 @@ int _gnutls_rsa_verify (const gnutls_datum_t * vdata, - const gnutls_datum_t * ciphertext, bigint_t * params, + const gnutls_datum_t * ciphertext, mpi_t * params, int params_len, int btype) { @@ -357,11 +383,11 @@ /* encodes the Dss-Sig-Value structure */ -int -_gnutls_encode_ber_rs (gnutls_datum_t * sig_value, bigint_t r, bigint_t s) +static int +encode_ber_rs (gnutls_datum_t * sig_value, mpi_t r, mpi_t s) { ASN1_TYPE sig; - int result; + int result, tot_len; if ((result = asn1_create_element (_gnutls_get_gnutls_asn (), @@ -388,6 +414,8 @@ return result; } + tot_len = 0; + result = _gnutls_x509_der_encode (sig, "", sig_value, 0); asn1_delete_structure (&sig); @@ -406,17 +434,12 @@ */ int _gnutls_dsa_sign (gnutls_datum_t * signature, - const gnutls_datum_t * hash, bigint_t * params, - unsigned int params_len) + const gnutls_datum_t * hash, mpi_t * params, + unsigned params_len) { + mpi_t rs[2], mdata; int ret; - size_t i; size_t k; - gnutls_pk_params_st pk_params; - - for (i = 0; i < params_len; i++) - pk_params.params[i] = params[i]; - pk_params.params_nr = params_len; k = hash->size; if (k < 20) @@ -425,8 +448,15 @@ return GNUTLS_E_PK_SIGN_FAILED; } - ret = _gnutls_pk_sign (GNUTLS_PK_DSA, signature, hash, &pk_params); + if (_gnutls_mpi_scan_nz (&mdata, hash->data, &k) != 0) + { + gnutls_assert (); + return GNUTLS_E_MPI_SCAN_FAILED; + } + + ret = _gnutls_pk_sign (GCRY_PK_DSA, rs, mdata, params, params_len); /* rs[0], rs[1] now hold r,s */ + _gnutls_mpi_release (&mdata); if (ret < 0) { @@ -434,14 +464,25 @@ return ret; } + ret = encode_ber_rs (signature, rs[0], rs[1]); + + /* free r,s */ + _gnutls_mpi_release (&rs[0]); + _gnutls_mpi_release (&rs[1]); + + if (ret != 0) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + return 0; } /* decodes the Dss-Sig-Value structure */ -int -_gnutls_decode_ber_rs (const gnutls_datum_t * sig_value, bigint_t * r, - bigint_t * s) +static int +decode_ber_rs (const gnutls_datum_t * sig_value, mpi_t * r, mpi_t * s) { ASN1_TYPE sig; int result; @@ -489,16 +530,14 @@ */ int _gnutls_dsa_verify (const gnutls_datum_t * vdata, - const gnutls_datum_t * sig_value, bigint_t * params, + const gnutls_datum_t * sig_value, mpi_t * params, int params_len) { - int ret, i; - gnutls_pk_params_st pk_params; - - for (i = 0; i < params_len; i++) - pk_params.params[i] = params[i]; - pk_params.params_nr = params_len; + mpi_t mdata; + int ret; + size_t k; + mpi_t rs[2]; if (vdata->size != 20) { /* sha-1 only */ @@ -506,8 +545,26 @@ return GNUTLS_E_PK_SIG_VERIFY_FAILED; } + if (decode_ber_rs (sig_value, &rs[0], &rs[1]) != 0) + { + gnutls_assert (); + return GNUTLS_E_MPI_SCAN_FAILED; + } + + k = vdata->size; + if (_gnutls_mpi_scan_nz (&mdata, vdata->data, &k) != 0) + { + gnutls_assert (); + _gnutls_mpi_release (&rs[0]); + _gnutls_mpi_release (&rs[1]); + return GNUTLS_E_MPI_SCAN_FAILED; + } + /* decrypt signature */ - ret = _gnutls_pk_verify (GNUTLS_PK_DSA, vdata, sig_value, &pk_params); + ret = _gnutls_pk_verify (GCRY_PK_DSA, mdata, rs, params, params_len); + _gnutls_mpi_release (&mdata); + _gnutls_mpi_release (&rs[0]); + _gnutls_mpi_release (&rs[1]); if (ret < 0) { @@ -518,93 +575,341 @@ return 0; /* ok */ } -/* some generic pk functions */ + +/* this is taken from gnupg + */ + +/**************** + * Emulate our old PK interface here - sometime in the future we might + * change the internal design to directly fit to libgcrypt. + */ static int -_generate_params (int algo, bigint_t * resarr, unsigned int *resarr_len, - int bits) +_gnutls_pk_encrypt (int algo, mpi_t * resarr, mpi_t data, + mpi_t * pkey, int pkey_len) { - gnutls_pk_params_st params; - int ret; - unsigned int i; + gcry_sexp_t s_ciph, s_data, s_pkey; + int rc = -1; - ret = _gnutls_pk_ops.generate (algo, bits, ¶ms); + /* make a sexp from pkey */ + switch (algo) + { + case GCRY_PK_RSA: + if (pkey_len >= 2) + rc = gcry_sexp_build (&s_pkey, NULL, + "(public-key(rsa(n%m)(e%m)))", + pkey[0], pkey[1]); + break; - if (ret < 0) + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + if (rc != 0) { gnutls_assert (); - return ret; + return GNUTLS_E_INTERNAL_ERROR; } - if (resarr && resarr_len && *resarr_len >= params.params_nr) + /* put the data into a simple list */ + if (gcry_sexp_build (&s_data, NULL, "%m", data)) { - *resarr_len = params.params_nr; - for (i = 0; i < params.params_nr; i++) - resarr[i] = params.params[i]; + gnutls_assert (); + gcry_sexp_release (s_pkey); + return GNUTLS_E_INTERNAL_ERROR; } - else + + /* pass it to libgcrypt */ + rc = gcry_pk_encrypt (&s_ciph, s_data, s_pkey); + gcry_sexp_release (s_data); + gcry_sexp_release (s_pkey); + + if (rc != 0) { gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; + return GNUTLS_E_PK_ENCRYPTION_FAILED; + } - return 0; -} + else + { /* add better error handling or make gnupg use S-Exp directly */ + gcry_sexp_t list = gcry_sexp_find_token (s_ciph, "a", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_ciph); + return GNUTLS_E_INTERNAL_ERROR; + } + resarr[0] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + if (resarr[0] == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_ciph); + return GNUTLS_E_INTERNAL_ERROR; + } + } -int -_gnutls_rsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, - int bits) -{ - return _generate_params (GNUTLS_PK_RSA, resarr, resarr_len, bits); + gcry_sexp_release (s_ciph); + return rc; } -int -_gnutls_dsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, - int bits) +static int +_gnutls_pk_decrypt (int algo, mpi_t * resarr, mpi_t data, mpi_t * pkey, + int pkey_len) { - return _generate_params (GNUTLS_PK_DSA, resarr, resarr_len, bits); + gcry_sexp_t s_plain, s_data, s_pkey; + int rc = -1; + + /* make a sexp from pkey */ + switch (algo) + { + case GCRY_PK_RSA: + if (pkey_len >= 6) + rc = gcry_sexp_build (&s_pkey, NULL, + "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))", + pkey[0], pkey[1], pkey[2], pkey[3], + pkey[4], pkey[5]); + break; + + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + if (rc != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* put the data into a simple list */ + if (gcry_sexp_build (&s_data, NULL, "(enc-val(rsa(a%m)))", data)) + { + gnutls_assert (); + gcry_sexp_release (s_pkey); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* pass it to libgcrypt */ + rc = gcry_pk_decrypt (&s_plain, s_data, s_pkey); + gcry_sexp_release (s_data); + gcry_sexp_release (s_pkey); + + if (rc != 0) + { + gnutls_assert (); + return GNUTLS_E_PK_DECRYPTION_FAILED; + + } + else + { /* add better error handling or make gnupg use S-Exp directly */ + resarr[0] = gcry_sexp_nth_mpi (s_plain, 0, 0); + + if (resarr[0] == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_plain); + return GNUTLS_E_INTERNAL_ERROR; + } + } + + gcry_sexp_release (s_plain); + return rc; } -int -_gnutls_pk_params_copy (gnutls_pk_params_st * dst, bigint_t * params, - int params_len) + +/* in case of DSA puts into data, r,s + */ +static int +_gnutls_pk_sign (int algo, mpi_t * data, mpi_t hash, mpi_t * pkey, + int pkey_len) { - int i, j; - dst->params_nr = 0; + gcry_sexp_t s_hash, s_key, s_sig; + int rc = -1; - if (params_len == 0 || params == NULL) + /* make a sexp from pkey */ + switch (algo) + { + case GCRY_PK_DSA: + if (pkey_len >= 5) + rc = gcry_sexp_build (&s_key, NULL, + "(private-key(dsa(p%m)(q%m)(g%m)(y%m)(x%m)))", + pkey[0], pkey[1], pkey[2], pkey[3], pkey[4]); + else + { + gnutls_assert (); + } + + break; + case GCRY_PK_RSA: + if (pkey_len >= 6) + rc = gcry_sexp_build (&s_key, NULL, + "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))", + pkey[0], pkey[1], pkey[2], pkey[3], + pkey[4], pkey[5]); + else + { + gnutls_assert (); + } + break; + + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + if (rc != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* put the data into a simple list */ + if (gcry_sexp_build (&s_hash, NULL, "%m", hash)) { gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; + return GNUTLS_E_INTERNAL_ERROR; } - for (i = 0; i < params_len; i++) + /* pass it to libgcrypt */ + rc = gcry_pk_sign (&s_sig, s_hash, s_key); + gcry_sexp_release (s_hash); + gcry_sexp_release (s_key); + + if (rc != 0) { - dst->params[i] = _gnutls_mpi_set (NULL, params[i]); - if (dst->params[i] == NULL) + gnutls_assert (); + return GNUTLS_E_PK_SIGN_FAILED; + + } + else + { + gcry_sexp_t list; + + if (algo == GCRY_PK_DSA) { - for (j = 0; j < i; j++) - _gnutls_mpi_release (&dst->params[j]); - return GNUTLS_E_MEMORY_ERROR; + list = gcry_sexp_find_token (s_sig, "r", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_sig); + return GNUTLS_E_INTERNAL_ERROR; + } + + data[0] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (s_sig, "s", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_sig); + return GNUTLS_E_INTERNAL_ERROR; + } + + data[1] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + } + else + { /* GCRY_PK_RSA */ + list = gcry_sexp_find_token (s_sig, "s", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (s_sig); + return GNUTLS_E_INTERNAL_ERROR; + } + + data[0] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); } - dst->params_nr++; } + gcry_sexp_release (s_sig); return 0; } -void -gnutls_pk_params_init (gnutls_pk_params_st * p) -{ - memset (p, 0, sizeof (gnutls_pk_params_st)); -} -void -gnutls_pk_params_release (gnutls_pk_params_st * p) +static int +_gnutls_pk_verify (int algo, mpi_t hash, mpi_t * data, + mpi_t * pkey, int pkey_len) { - unsigned int i; - for (i = 0; i < p->params_nr; i++) + gcry_sexp_t s_sig, s_hash, s_pkey; + int rc = -1; + + /* make a sexp from pkey */ + switch (algo) + { + case GCRY_PK_DSA: + if (pkey_len >= 4) + rc = gcry_sexp_build (&s_pkey, NULL, + "(public-key(dsa(p%m)(q%m)(g%m)(y%m)))", + pkey[0], pkey[1], pkey[2], pkey[3]); + break; + case GCRY_PK_RSA: + if (pkey_len >= 2) + rc = gcry_sexp_build (&s_pkey, NULL, + "(public-key(rsa(n%m)(e%m)))", + pkey[0], pkey[1]); + break; + + default: + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + if (rc != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* put the data into a simple list */ + if (gcry_sexp_build (&s_hash, NULL, "%m", hash)) + { + gnutls_assert (); + gcry_sexp_release (s_pkey); + return GNUTLS_E_INTERNAL_ERROR; + } + + switch (algo) + { + case GCRY_PK_DSA: + rc = gcry_sexp_build (&s_sig, NULL, + "(sig-val(dsa(r%m)(s%m)))", data[0], data[1]); + break; + case GCRY_PK_RSA: + rc = gcry_sexp_build (&s_sig, NULL, "(sig-val(rsa(s%m)))", data[0]); + break; + + default: + gnutls_assert (); + gcry_sexp_release (s_pkey); + gcry_sexp_release (s_hash); + return GNUTLS_E_INTERNAL_ERROR; + } + + if (rc != 0) + { + gnutls_assert (); + gcry_sexp_release (s_pkey); + gcry_sexp_release (s_hash); + return GNUTLS_E_INTERNAL_ERROR; + } + + rc = gcry_pk_verify (s_sig, s_hash, s_pkey); + + gcry_sexp_release (s_sig); + gcry_sexp_release (s_hash); + gcry_sexp_release (s_pkey); + + if (rc != 0) { - _gnutls_mpi_release (&p->params[i]); + gnutls_assert (); + return GNUTLS_E_PK_SIG_VERIFY_FAILED; } + + return 0; } diff -Nru gnutls26-2.8.6/lib/gnutls_pk.h gnutls26-2.4.1/lib/gnutls_pk.h --- gnutls26-2.8.6/lib/gnutls_pk.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_pk.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -25,49 +25,22 @@ #ifndef GNUTLS_PK_H # define GNUTLS_PK_H -extern int crypto_pk_prio; -extern gnutls_crypto_pk_st _gnutls_pk_ops; - -#define _gnutls_pk_encrypt( algo, ciphertext, plaintext, params) _gnutls_pk_ops.encrypt( algo, ciphertext, plaintext, params) -#define _gnutls_pk_decrypt( algo, ciphertext, plaintext, params) _gnutls_pk_ops.decrypt( algo, ciphertext, plaintext, params) -#define _gnutls_pk_sign( algo, sig, data, params) _gnutls_pk_ops.sign( algo, sig, data, params) -#define _gnutls_pk_verify( algo, data, sig, params) _gnutls_pk_ops.verify( algo, data, sig, params) - -inline static int -_gnutls_pk_fixup( gnutls_pk_algorithm_t algo, gnutls_direction_t direction, gnutls_pk_params_st* params) -{ - if (_gnutls_pk_ops.pk_fixup_private_params) return _gnutls_pk_ops.pk_fixup_private_params(algo, direction, params); - return 0; -} - -int _gnutls_pk_params_copy( gnutls_pk_params_st* dst, bigint_t* params, int params_len); - -int _gnutls_rsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, int bits); -int _gnutls_dsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, int bits); - -/* The internal PK interface */ int _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext, const gnutls_datum_t * plaintext, - bigint_t * params, unsigned params_len, + mpi_t * params, unsigned params_len, unsigned btype); int _gnutls_dsa_sign (gnutls_datum_t * signature, - const gnutls_datum_t * plaintext, bigint_t * params, + const gnutls_datum_t * plaintext, mpi_t * params, unsigned params_len); int _gnutls_pkcs1_rsa_decrypt (gnutls_datum_t * plaintext, const gnutls_datum_t * ciphertext, - bigint_t * params, unsigned params_len, + mpi_t * params, unsigned params_len, unsigned btype); int _gnutls_rsa_verify (const gnutls_datum_t * vdata, - const gnutls_datum_t * ciphertext, bigint_t * params, + const gnutls_datum_t * ciphertext, mpi_t * params, int params_len, int btype); int _gnutls_dsa_verify (const gnutls_datum_t * vdata, - const gnutls_datum_t * sig_value, bigint_t * params, + const gnutls_datum_t * sig_value, mpi_t * params, int params_len); -int -_gnutls_encode_ber_rs (gnutls_datum_t * sig_value, bigint_t r, bigint_t s); - -int -_gnutls_decode_ber_rs (const gnutls_datum_t * sig_value, bigint_t * r, bigint_t * s); - #endif /* GNUTLS_PK_H */ diff -Nru gnutls26-2.8.6/lib/gnutls_priority.c gnutls26-2.4.1/lib/gnutls_priority.c --- gnutls26-2.8.6/lib/gnutls_priority.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_priority.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -357,10 +357,10 @@ 0 }; -typedef void (rmadd_func) (priority_st * priority_list, unsigned int alg); +typedef void (rmadd_func) (priority_st * priority_list, int alg); static void -prio_remove (priority_st * priority_list, unsigned int algo) +prio_remove (priority_st * priority_list, int algo) { int i = 0; int pos = -1; /* the position of the cipher to remove */ @@ -383,7 +383,7 @@ } static void -prio_add (priority_st * priority_list, unsigned int algo) +prio_add (priority_st * priority_list, int algo) { register int i = 0; while (priority_list->priority[i] != 0) @@ -404,21 +404,21 @@ /** - * gnutls_priority_set - Sets priorities for the cipher suites supported by gnutls. - * @session: is a #gnutls_session_t structure. - * @priority: is a #gnutls_priority_t structure. - * - * Sets the priorities to use on the ciphers, key exchange methods, - * macs and compression methods. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an error code. - **/ + * gnutls_priority_set - Sets priorities for the cipher suites supported by gnutls. + * @session: is a #gnutls_session_t structure. + * @priority: is a #gnutls_priority_t structure. + * + * Sets the priorities to use on the ciphers, key exchange methods, + * macs and compression methods. + * + * Returns: %GNUTLS_E_SUCCESS on success, or an error code. + **/ int gnutls_priority_set (gnutls_session_t session, gnutls_priority_t priority) { if (priority == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_NO_CIPHER_SUITES; } @@ -432,94 +432,73 @@ #define MAX_ELEMENTS 48 /** - * gnutls_priority_init - Sets priorities for the cipher suites supported by gnutls. - * @priority_cache: is a #gnutls_prioritity_t structure. - * @priorities: is a string describing priorities - * @err_pos: In case of an error this will have the position in the string the error occured - * - * Sets priorities for the ciphers, key exchange methods, macs and - * compression methods. This is to avoid using the - * gnutls_*_priority() functions. - * - * The #priorities option allows you to specify a semi-colon - * separated list of the cipher priorities to enable. - * - * Unless the first keyword is "NONE" the defaults (in preference - * order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for - * compression NULL; for certificate types X.509, OpenPGP. - * - * For key exchange algorithms when in NORMAL or SECURE levels the - * perfect forward secrecy algorithms take precendence of the other - * protocols. In all cases all the supported key exchange algorithms - * are enabled (except for the RSA-EXPORT which is only enabled in - * EXPORT level). - * - * Note that although one can select very long key sizes (such as 256 bits) - * for symmetric algorithms, to actually increase security the public key - * algorithms have to use longer key sizes as well. - * - * For all the current available algorithms and protocols use - * "gnutls-cli -l" to get a listing. - * - * Common keywords: Some keywords are defined to provide quick access - * to common preferences. - * - * "PERFORMANCE" means all the "secure" ciphersuites are enabled, - * limited to 128 bit ciphers and sorted by terms of speed - * performance. - * - * "NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are - * included as a fallback only. The ciphers are sorted by security - * margin. - * - * "SECURE128" means all "secure" ciphersuites with ciphers up to 128 - * bits, sorted by security margin. - * - * "SECURE256" means all "secure" ciphersuites including the 256 bit - * ciphers, sorted by security margin. - * - * "EXPORT" means all ciphersuites are enabled, including the - * low-security 40 bit ciphers. - * - * "NONE" means nothing is enabled. This disables even protocols and - * compression methods. - * - * Special keywords: - * "!" or "-" appended with an algorithm will remove this algorithm. - * - * "+" appended with an algorithm will add this algorithm. - * - * "%COMPAT" will enable compatibility features for a server. - * - * "%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello. - * - * "%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in - * certificate chains. - * - * "%VERIFY_ALLOW_X509_V1_CA_CRT" will allow V1 CAs in chains. - * - * Namespace concern: - * To avoid collisions in order to specify a compression algorithm in - * this string you have to prefix it with "COMP-", protocol versions - * with "VERS-" and certificate types with "CTYPE-". All other - * algorithms don't need a prefix. - * - * Examples: - * "NORMAL:!AES-128-CBC" means normal ciphers except for AES-128. - * - * "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are - * enabled, TLS 1.0 is disabled, and libz compression enabled. - * - * "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", - * "%COMPAT". - * - * Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned, - * %GNUTLS_E_SUCCESS on success, or an error code. - **/ + * gnutls_priority_init - Sets priorities for the cipher suites supported by gnutls. + * @priority_cache: is a #gnutls_prioritity_t structure. + * @priorities: is a string describing priorities + * @err_pos: In case of an error this will have the position in the string the error occured + * + * Sets priorities for the ciphers, key exchange methods, macs and + * compression methods. This is to avoid using the + * gnutls_*_priority() functions. + * + * The #priorities option allows you to specify a semi-colon + * separated list of the cipher priorities to enable. + * + * Unless the first keyword is "NONE" the defaults are: + * Protocols: TLS1.1, TLS1.0, and SSL3.0. + * Compression: NULL. + * Certificate types: X.509, OpenPGP. + * + * You can also use predefined sets of ciphersuites: "PERFORMANCE" + * all the "secure" ciphersuites are enabled, limited to 128 bit + * ciphers and sorted by terms of speed performance. + * + * "NORMAL" option enables all "secure" ciphersuites. The 256-bit ciphers + * are included as a fallback only. The ciphers are sorted by security margin. + * + * "SECURE128" flag enables all "secure" ciphersuites with ciphers up to + * 128 bits, sorted by security margin. + * + * "SECURE256" flag enables all "secure" ciphersuites including the 256 bit + * ciphers, sorted by security margin. + * + * "EXPORT" all the ciphersuites are enabled, including the + * low-security 40 bit ciphers. + * + * "NONE" nothing is enabled. This disables even protocols and + * compression methods. + * + * Special keywords: + * '!' or '-' appended with an algorithm will remove this algorithm. + * '+' appended with an algorithm will add this algorithm. + * '%COMPAT' will enable compatibility features for a server. + * + * To avoid collisions in order to specify a compression algorithm in + * this string you have to prefix it with "COMP-", protocol versions + * with "VERS-" and certificate types with "CTYPE-". All other + * algorithms don't need a prefix. + * + * For key exchange algorithms when in NORMAL or SECURE levels the + * perfect forward secrecy algorithms take precendence of the other + * protocols. In all cases all the supported key exchange algorithms + * are enabled (except for the RSA-EXPORT which is only enabled in + * EXPORT level). + * + * Note that although one can select very long key sizes (such as 256 bits) + * for symmetric algorithms, to actually increase security the public key + * algorithms have to use longer key sizes as well. + * + * Examples: "NORMAL:!AES-128-CBC", + * "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE:+CTYPE-OPENPGP", + * "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL", + * "NORMAL:%COMPAT". + * + * Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned, + * %GNUTLS_E_SUCCESS on success, or an error code. + **/ int gnutls_priority_init (gnutls_priority_t * priority_cache, - const char *priorities, - const char **err_pos) + const char *priorities, const char **err_pos) { char *broken_list[MAX_ELEMENTS]; int broken_list_size, i, j; @@ -554,8 +533,8 @@ _set_priority (&(*priority_cache)->compression, comp_priority); _set_priority (&(*priority_cache)->cert_type, cert_type_priority); i = 0; - } - else + } + else { i = 1; } @@ -575,18 +554,15 @@ _set_priority (&(*priority_cache)->kx, kx_priority_secure); _set_priority (&(*priority_cache)->mac, mac_priority_secure); } - else if (strcasecmp (broken_list[i], "SECURE256") == 0 - || strcasecmp (broken_list[i], "SECURE") == 0) + else if (strcasecmp (broken_list[i], "SECURE256") == 0 || strcasecmp (broken_list[i], "SECURE") == 0) { - _set_priority (&(*priority_cache)->cipher, - cipher_priority_secure256); + _set_priority (&(*priority_cache)->cipher, cipher_priority_secure256); _set_priority (&(*priority_cache)->kx, kx_priority_secure); _set_priority (&(*priority_cache)->mac, mac_priority_secure); } else if (strcasecmp (broken_list[i], "SECURE128") == 0) { - _set_priority (&(*priority_cache)->cipher, - cipher_priority_secure128); + _set_priority (&(*priority_cache)->cipher, cipher_priority_secure128); _set_priority (&(*priority_cache)->kx, kx_priority_secure); _set_priority (&(*priority_cache)->mac, mac_priority_secure); } @@ -641,17 +617,6 @@ { if (strcasecmp (&broken_list[i][1], "COMPAT") == 0) (*priority_cache)->no_padding = 1; - else if (strcasecmp (&broken_list[i][1], - "VERIFY_ALLOW_SIGN_RSA_MD5") == 0) - (*priority_cache)->additional_verify_flags |= - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5; - else if (strcasecmp (&broken_list[i][1], - "SSL3_RECORD_VERSION") == 0) - (*priority_cache)->ssl3_record_version = 1; - else if (strcasecmp (&broken_list[i][1], - "VERIFY_ALLOW_X509_V1_CA_CRT") == 0) - (*priority_cache)->additional_verify_flags |= - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT; else goto error; } @@ -678,11 +643,12 @@ } /** - * gnutls_priority_deinit - deinitialize the priorities cache - * @priority_cache: is a #gnutls_prioritity_t structure. - * - * Deinitializes the priority cache. - **/ + * gnutls_priority_deinit - Deinitialize the priorities cache for the cipher suites supported by gnutls. + * @priority_cache: is a #gnutls_prioritity_t structure. + * + * Deinitializes the priority cache. + * + **/ void gnutls_priority_deinit (gnutls_priority_t priority_cache) { @@ -691,22 +657,21 @@ /** - * gnutls_priority_set_direct - Sets priorities for the cipher suites supported by gnutls. - * @session: is a #gnutls_session_t structure. - * @priorities: is a string describing priorities - * @err_pos: In case of an error this will have the position in the string the error occured - * - * Sets the priorities to use on the ciphers, key exchange methods, - * macs and compression methods. This function avoids keeping a - * priority cache and is used to directly set string priorities to a - * TLS session. For documentation check the gnutls_priority_init(). - * - * Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned, - * %GNUTLS_E_SUCCESS on success, or an error code. - **/ + * gnutls_priority_set_direct - Sets priorities for the cipher suites supported by gnutls. + * @session: is a #gnutls_session_t structure. + * @priorities: is a string describing priorities + * @err_pos: In case of an error this will have the position in the string the error occured + * + * Sets the priorities to use on the ciphers, key exchange methods, + * macs and compression methods. This function avoids keeping a + * priority cache and is used to directly set string priorities to a + * TLS session. For documentation check the gnutls_priority_init(). + * + * Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned, + * %GNUTLS_E_SUCCESS on success, or an error code. + **/ int -gnutls_priority_set_direct (gnutls_session_t session, - const char *priorities, +gnutls_priority_set_direct (gnutls_session_t session, const char *priorities, const char **err_pos) { gnutls_priority_t prio; diff -Nru gnutls26-2.8.6/lib/gnutls_psk.c gnutls26-2.4.1/lib/gnutls_psk.c --- gnutls26-2.8.6/lib/gnutls_psk.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_psk.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -39,7 +39,7 @@ /** * gnutls_psk_free_client_credentials - Used to free an allocated gnutls_psk_client_credentials_t structure - * @sc: is a #gnutls_psk_client_credentials_t structure. + * @sc: is an #gnutls_psk_client_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -54,7 +54,7 @@ /** * gnutls_psk_allocate_client_credentials - Used to allocate an gnutls_psk_server_credentials_t structure - * @sc: is a pointer to a #gnutls_psk_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_psk_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -74,7 +74,7 @@ /** * gnutls_psk_set_client_credentials - Used to set the username/password, in a gnutls_psk_client_credentials_t structure - * @res: is a #gnutls_psk_client_credentials_t structure. + * @res: is an #gnutls_psk_client_credentials_t structure. * @username: is the user's zero-terminated userid * @key: is the user's key * @format: indicate the format of the key, either @@ -129,7 +129,7 @@ } ret = gnutls_hex_decode (key, (char *) res->key.data, &size); - res->key.size = (unsigned int) size; + res->key.size = (unsigned int)size; if (ret < 0) { gnutls_assert (); @@ -148,7 +148,7 @@ /** * gnutls_psk_free_server_credentials - Used to free an allocated gnutls_psk_server_credentials_t structure - * @sc: is a #gnutls_psk_server_credentials_t structure. + * @sc: is an #gnutls_psk_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -162,7 +162,7 @@ /** * gnutls_psk_allocate_server_credentials - Used to allocate an gnutls_psk_server_credentials_t structure - * @sc: is a pointer to a #gnutls_psk_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_psk_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -183,7 +183,7 @@ /** * gnutls_psk_set_server_credentials_file - Used to set the password files, in a gnutls_psk_server_credentials_t structure - * @res: is a #gnutls_psk_server_credentials_t structure. + * @res: is an #gnutls_psk_server_credentials_t structure. * @password_file: is the PSK password file (passwd.psk) * * This function sets the password file, in a @@ -222,7 +222,7 @@ /** * gnutls_psk_set_server_credentials_hint - Set a identity hint, in a %gnutls_psk_server_credentials_t structure - * @res: is a #gnutls_psk_server_credentials_t structure. + * @res: is an #gnutls_psk_server_credentials_t structure. * @hint: is the PSK identity hint string * * This function sets the identity hint, in a @@ -407,28 +407,25 @@ gnutls_hex_encode (const gnutls_datum_t * data, char *result, size_t * result_size) { -size_t res = data->size + data->size + 1; - - if (*result_size < res) + if (*result_size < data->size + data->size + 1) { gnutls_assert (); return GNUTLS_E_SHORT_MEMORY_BUFFER; } _gnutls_bin2hex (data->data, data->size, result, *result_size); - *result_size = res; - + return 0; } /** * gnutls_psk_set_server_dh_params - set the DH parameters for a server to use * @res: is a gnutls_psk_server_credentials_t structure - * @dh_params: is a structure that holds Diffie-Hellman parameters. + * @dh_params: is a structure that holds diffie hellman parameters. * - * This function will set the Diffie-Hellman parameters for an - * anonymous server to use. These parameters will be used in - * Diffie-Hellman exchange with PSK cipher suites. + * This function will set the diffie hellman parameters for an + * anonymous server to use. These parameters will be used in Diffie + * Hellman with PSK cipher suites. **/ void gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, @@ -438,14 +435,14 @@ } /** - * gnutls_psk_set_server_params_function - set the DH parameters callback - * @res: is a #gnutls_certificate_credentials_t structure - * @func: is the function to be called - * - * This function will set a callback in order for the server to get - * the Diffie-Hellman parameters for PSK authentication. The callback - * should return zero on success. - **/ + * gnutls_psk_set_server_params_function - set the DH parameters callback + * @res: is a gnutls_certificate_credentials_t structure + * @func: is the function to be called + * + * This function will set a callback in order for the server to get + * the diffie hellman parameters for PSK authentication. The callback + * should return zero on success. + **/ void gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t res, gnutls_params_function * func) diff -Nru gnutls26-2.8.6/lib/gnutls_psk_netconf.c gnutls26-2.4.1/lib/gnutls_psk_netconf.c --- gnutls26-2.8.6/lib/gnutls_psk_netconf.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_psk_netconf.c 2008-06-30 21:45:51.000000000 +0100 @@ -49,7 +49,7 @@ gnutls_psk_netconf_derive_key (const char *password, const char *psk_identity, const char *psk_identity_hint, - gnutls_datum_t * output_key) + gnutls_datum_t *output_key) { const char netconf_key_pad[] = "Key Pad for Netconf"; size_t sha1len = _gnutls_hash_get_algo_len (GNUTLS_DIG_SHA1); @@ -66,14 +66,14 @@ */ rc = _gnutls_hash_init (&dig, GNUTLS_DIG_SHA1); - if (rc < 0) + if (rc) { gnutls_assert (); return rc; } rc = _gnutls_hash (&dig, psk_identity, strlen (psk_identity)); - if (rc < 0) + if (rc) { gnutls_assert (); _gnutls_hash_deinit (&dig, NULL); @@ -81,7 +81,7 @@ } rc = _gnutls_hash (&dig, netconf_key_pad, strlen (netconf_key_pad)); - if (rc < 0) + if (rc) { gnutls_assert (); _gnutls_hash_deinit (&dig, NULL); @@ -89,7 +89,7 @@ } rc = _gnutls_hash (&dig, password, strlen (password)); - if (rc < 0) + if (rc) { gnutls_assert (); _gnutls_hash_deinit (&dig, NULL); @@ -108,7 +108,7 @@ memcpy (inner + sha1len, psk_identity_hint, hintlen); rc = _gnutls_hash_init (&dig, GNUTLS_DIG_SHA1); - if (rc < 0) + if (rc) { gnutls_assert (); gnutls_free (inner); @@ -117,7 +117,7 @@ rc = _gnutls_hash (&dig, inner, innerlen); gnutls_free (inner); - if (rc < 0) + if (rc) { gnutls_assert (); _gnutls_hash_deinit (&dig, NULL); diff -Nru gnutls26-2.8.6/lib/gnutls_record.c gnutls26-2.4.1/lib/gnutls_record.c --- gnutls26-2.8.6/lib/gnutls_record.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_record.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -36,7 +36,7 @@ #include "gnutls_cipher_int.h" #include "gnutls_algorithms.h" #include "gnutls_db.h" -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_num.h" #include "gnutls_record.h" #include "gnutls_datum.h" @@ -370,7 +370,7 @@ _gnutls_record_log - ("REC[%p]: Sending Packet[%d] %s(%d) with length: %d\n", session, + ("REC[%x]: Sending Packet[%d] %s(%d) with length: %d\n", session, (int) _gnutls_uint64touint32 (&session->connection_state. write_sequence_number), _gnutls_packet2str (type), type, sizeofdata); @@ -410,9 +410,7 @@ cipher_size = _gnutls_encrypt (session, headers, RECORD_HEADER_SIZE, data, - data2send_size, cipher, cipher_size, type, - (session->internals.priorities.no_padding == - 0) ? 1 : 0); + data2send_size, cipher, cipher_size, type, (session->internals.priorities.no_padding==0)?1:0); if (cipher_size <= 0) { gnutls_assert (); @@ -436,7 +434,8 @@ return GNUTLS_E_RECORD_LIMIT_REACHED; } - ret = _gnutls_io_write_buffered (session, cipher, cipher_size); + ret = + _gnutls_io_write_buffered (session, cipher, cipher_size); gnutls_free (cipher); } @@ -464,11 +463,11 @@ session->internals.record_send_buffer_user_size = 0; - _gnutls_record_log ("REC[%p]: Sent Packet[%d] %s(%d) with length: %d\n", + _gnutls_record_log ("REC[%x]: Sent Packet[%d] %s(%d) with length: %d\n", session, - (int) - _gnutls_uint64touint32 - (&session->connection_state.write_sequence_number), + (int) _gnutls_uint64touint32 (&session-> + connection_state. + write_sequence_number), _gnutls_packet2str (type), type, cipher_size); return retval; @@ -482,7 +481,7 @@ { static const opaque data[1] = { GNUTLS_TYPE_CHANGE_CIPHER_SPEC }; - _gnutls_handshake_log ("REC[%p]: Sent ChangeCipherSpec\n", session); + _gnutls_handshake_log ("REC[%x]: Sent ChangeCipherSpec\n", session); if (again == 0) return _gnutls_send_int (session, GNUTLS_CHANGE_CIPHER_SPEC, -1, data, 1); @@ -587,7 +586,7 @@ */ session->internals.v2_hello = *length; - _gnutls_record_log ("REC[%p]: V2 packet received. Length: %d\n", + _gnutls_record_log ("REC[%x]: V2 packet received. Length: %d\n", session, *length); } @@ -622,7 +621,7 @@ { gnutls_assert (); _gnutls_record_log - ("REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n", session, + ("REC[%x]: INVALID VERSION PACKET: (%d) %d.%d\n", session, htype, version[0], version[1]); return GNUTLS_E_UNSUPPORTED_VERSION_PACKET; } @@ -636,7 +635,7 @@ * mac. I don't really think that this check serves any purpose. */ gnutls_assert (); - _gnutls_record_log ("REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n", + _gnutls_record_log ("REC[%x]: INVALID VERSION PACKET: (%d) %d.%d\n", session, htype, version[0], version[1]); return GNUTLS_E_UNSUPPORTED_VERSION_PACKET; @@ -670,7 +669,7 @@ case GNUTLS_ALERT: _gnutls_record_log - ("REC[%p]: Alert[%d|%d] - %s - was received\n", session, + ("REC[%x]: Alert[%d|%d] - %s - was received\n", session, data[0], data[1], gnutls_alert_get_name ((int) data[1])); session->internals.last_alert = data[1]; @@ -771,7 +770,7 @@ default: _gnutls_record_log - ("REC[%p]: Received Unknown packet %d expecting %d\n", + ("REC[%x]: Received Unknown packet %d expecting %d\n", session, recv_type, type); gnutls_assert (); @@ -791,9 +790,9 @@ inline static int get_temp_recv_buffer (gnutls_session_t session, gnutls_datum_t * tmp) { - size_t max_record_size; +size_t max_record_size; - if (gnutls_compression_get (session) != GNUTLS_COMP_NULL) + if (gnutls_compression_get(session) != GNUTLS_COMP_NULL) max_record_size = MAX_RECORD_RECV_SIZE + EXTRA_COMP_SIZE; else max_record_size = MAX_RECORD_RECV_SIZE; @@ -810,7 +809,8 @@ /* Initialize the internal buffer. */ session->internals.recv_buffer.data = - gnutls_realloc (session->internals.recv_buffer.data, max_record_size); + gnutls_realloc (session->internals.recv_buffer.data, + max_record_size); if (session->internals.recv_buffer.data == NULL) { @@ -938,21 +938,20 @@ } _gnutls_record_log - ("REC[%p]: Expected Packet[%d] %s(%d) with length: %d\n", session, + ("REC[%x]: Expected Packet[%d] %s(%d) with length: %d\n", session, (int) _gnutls_uint64touint32 (&session->connection_state. read_sequence_number), _gnutls_packet2str (type), type, sizeofdata); - _gnutls_record_log ("REC[%p]: Received Packet[%d] %s(%d) with length: %d\n", - session, - (int) - _gnutls_uint64touint32 (&session->connection_state. - read_sequence_number), - _gnutls_packet2str (recv_type), recv_type, length); + _gnutls_record_log + ("REC[%x]: Received Packet[%d] %s(%d) with length: %d\n", session, + (int) _gnutls_uint64touint32 (&session->connection_state. + read_sequence_number), + _gnutls_packet2str (recv_type), recv_type, length); if (length > MAX_RECV_SIZE) { _gnutls_record_log - ("REC[%p]: FATAL ERROR: Received packet with length: %d\n", + ("REC[%x]: FATAL ERROR: Received packet with length: %d\n", session, length); session_unresumable (session); @@ -1011,7 +1010,7 @@ { _gnutls_record_log - ("REC[%p]: ChangeCipherSpec Packet was received\n", session); + ("REC[%x]: ChangeCipherSpec Packet was received\n", session); if ((size_t) ret != sizeofdata) { /* sizeofdata should be 1 */ @@ -1024,7 +1023,7 @@ } _gnutls_record_log - ("REC[%p]: Decrypted Packet[%d] %s(%d) with length: %d\n", session, + ("REC[%x]: Decrypted Packet[%d] %s(%d) with length: %d\n", session, (int) _gnutls_uint64touint32 (&session->connection_state. read_sequence_number), _gnutls_packet2str (recv_type), recv_type, decrypted_length); @@ -1105,8 +1104,8 @@ * @data: contains the data to send * @sizeofdata: is the length of the data * - * This function has the similar semantics with send(). The only - * difference is that it accepts a GnuTLS session, and uses different + * This function has the similar semantics with send(). The only + * difference is that is accepts a GNUTLS session, and uses different * error codes. * * Note that if the send buffer is full, send() will block this @@ -1141,15 +1140,15 @@ * @data: the buffer that the data will be read into * @sizeofdata: the number of requested bytes * - * This function has the similar semantics with recv(). The only - * difference is that it accepts a GnuTLS session, and uses different + * This function has the similar semantics with recv(). The only + * difference is that is accepts a GNUTLS session, and uses different * error codes. * * In the special case that a server requests a renegotiation, the * client may receive an error code of %GNUTLS_E_REHANDSHAKE. This - * message may be simply ignored, replied with an alert - * %GNUTLS_A_NO_RENEGOTIATION, or replied with a new handshake, - * depending on the client's will. + * message may be simply ignored, replied with an alert containing + * NO_RENEGOTIATION, or replied with a new handshake, depending on + * the client's will. * * If %EINTR is returned by the internal push function (the default * is recv()) then %GNUTLS_E_INTERRUPTED will be returned. If @@ -1176,10 +1175,9 @@ * gnutls_record_get_max_size - returns the maximum record size * @session: is a #gnutls_session_t structure. * - * Get the record size. The maximum record size is negotiated by the - * client after the first handshake message. - * - * Returns: The maximum record packet size in this connection. + * This function returns the maximum record packet size in this + * connection. The maximum record size is negotiated by the client + * after the first handshake message. **/ size_t gnutls_record_get_max_size (gnutls_session_t session) @@ -1192,25 +1190,22 @@ /** - * gnutls_record_set_max_size - sets the maximum record size - * @session: is a #gnutls_session_t structure. - * @size: is the new size - * - * This function sets the maximum record packet size in this - * connection. This property can only be set to clients. The server - * may choose not to accept the requested size. - * - * Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and - * 4096(=2^12). The requested record size does get in effect - * immediately only while sending data. The receive part will take - * effect after a successful handshake. - * - * This function uses a TLS extension called 'max record size'. Not - * all TLS implementations use or even understand this extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_record_set_max_size - sets the maximum record size + * @session: is a #gnutls_session_t structure. + * @size: is the new size + * + * This function sets the maximum record packet size in this + * connection. This property can only be set to clients. The server + * may choose not to accept the requested size. + * + * Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and + * 4096(=2^12). Returns 0 on success. The requested record size does + * get in effect immediately only while sending data. The receive + * part will take effect after a successful handshake. + * + * This function uses a TLS extension called 'max record size'. Not + * all TLS implementations use or even understand this extension. + **/ ssize_t gnutls_record_set_max_size (gnutls_session_t session, size_t size) { diff -Nru gnutls26-2.8.6/lib/gnutls_record.h gnutls26-2.4.1/lib/gnutls_record.h --- gnutls26-2.8.6/lib/gnutls_record.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_record.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -29,3 +29,4 @@ gnutls_handshake_description_t, opaque * data, size_t sizeofdata); ssize_t _gnutls_send_change_cipher_spec (gnutls_session_t session, int again); +void gnutls_transport_set_lowat (gnutls_session_t session, int num); diff -Nru gnutls26-2.8.6/lib/gnutls_rsa_export.c gnutls26-2.4.1/lib/gnutls_rsa_export.c --- gnutls26-2.8.6/lib/gnutls_rsa_export.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_rsa_export.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -33,10 +33,17 @@ #include "x509/x509_int.h" #include "debug.h" +/* This function takes a number of bits and returns a supported + * number of bits. Ie a number of bits that we have a prime in the + * dh_primes structure. + */ + +#define MAX_SUPPORTED_BITS 512 + /* returns e and m, depends on the requested bits. * We only support limited key sizes. */ -const bigint_t * +const mpi_t * _gnutls_rsa_params_to_mpi (gnutls_rsa_params_t rsa_params) { if (rsa_params == NULL) @@ -45,24 +52,134 @@ } return rsa_params->params; + } +/* resarr will contain: modulus(0), public exponent(1), private exponent(2), + * prime1 - p (3), prime2 - q(4), u (5). + */ +int +_gnutls_rsa_generate_params (mpi_t * resarr, int *resarr_len, int bits) +{ + + int ret; + gcry_sexp_t parms, key, list; + + ret = gcry_sexp_build (&parms, NULL, "(genkey(rsa(nbits %d)))", bits); + if (ret != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* generate the RSA key */ + ret = gcry_pk_genkey (&key, parms); + gcry_sexp_release (parms); + + if (ret != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + list = gcry_sexp_find_token (key, "n", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[0] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "e", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[1] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "d", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[2] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "p", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[3] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + + list = gcry_sexp_find_token (key, "q", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[4] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + + list = gcry_sexp_find_token (key, "u", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[5] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + gcry_sexp_release (key); + + _gnutls_dump_mpi ("n: ", resarr[0]); + _gnutls_dump_mpi ("e: ", resarr[1]); + _gnutls_dump_mpi ("d: ", resarr[2]); + _gnutls_dump_mpi ("p: ", resarr[3]); + _gnutls_dump_mpi ("q: ", resarr[4]); + _gnutls_dump_mpi ("u: ", resarr[5]); + + *resarr_len = 6; + + return 0; + +} + + /** - * gnutls_rsa_params_import_raw - set the RSA parameters - * @rsa_params: Is a structure will hold the parameters - * @m: holds the modulus - * @e: holds the public exponent - * @d: holds the private exponent - * @p: holds the first prime (p) - * @q: holds the second prime (q) - * @u: holds the coefficient - * - * This function will replace the parameters in the given structure. - * The new parameters should be stored in the appropriate - * gnutls_datum. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_import_raw - set the RSA parameters + * @rsa_params: Is a structure will hold the parameters + * @m: holds the modulus + * @e: holds the public exponent + * @d: holds the private exponent + * @p: holds the first prime (p) + * @q: holds the second prime (q) + * @u: holds the coefficient + * + * This function will replace the parameters in the given structure. + * The new parameters should be stored in the appropriate gnutls_datum. + * + **/ int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, const gnutls_datum_t * m, @@ -76,13 +193,12 @@ } /** - * gnutls_rsa_params_init - initialize the temporary RSA parameters - * @rsa_params: Is a structure that will hold the parameters - * - * This function will initialize the temporary RSA parameters structure. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_init - initialize the temporary RSA parameters + * @rsa_params: Is a structure that will hold the parameters + * + * This function will initialize the temporary RSA parameters structure. + * + **/ int gnutls_rsa_params_init (gnutls_rsa_params_t * rsa_params) { @@ -101,11 +217,12 @@ } /** - * gnutls_rsa_params_deinit - deinitialize the RSA parameters - * @rsa_params: Is a structure that holds the parameters - * - * This function will deinitialize the RSA parameters structure. - **/ + * gnutls_rsa_params_deinit - deinitialize the RSA parameters + * @rsa_params: Is a structure that holds the parameters + * + * This function will deinitialize the RSA parameters structure. + * + **/ void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params) { @@ -113,15 +230,14 @@ } /** - * gnutls_rsa_params_cpy - copy an RSA parameters structure - * @dst: Is the destination structure, which should be initialized. - * @src: Is the source structure - * - * This function will copy the RSA parameters structure from source - * to destination. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_cpy - copy an RSA parameters structure + * @dst: Is the destination structure, which should be initialized. + * @src: Is the source structure + * + * This function will copy the RSA parameters structure from source + * to destination. + * + **/ int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, gnutls_rsa_params_t src) { @@ -129,21 +245,20 @@ } /** - * gnutls_rsa_params_generate2 - generate temporary RSA parameters - * @params: The structure where the parameters will be stored - * @bits: is the prime's number of bits - * - * This function will generate new temporary RSA parameters for use in - * RSA-EXPORT ciphersuites. This function is normally slow. - * - * Note that if the parameters are to be used in export cipher suites the - * bits value should be 512 or less. - * Also note that the generation of new RSA parameters is only useful - * to servers. Clients use the parameters sent by the server, thus it's - * no use calling this in client side. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_generate2 - generate temporary RSA parameters + * @params: The structure where the parameters will be stored + * @bits: is the prime's number of bits + * + * This function will generate new temporary RSA parameters for use in + * RSA-EXPORT ciphersuites. This function is normally slow. + * + * Note that if the parameters are to be used in export cipher suites the + * bits value should be 512 or less. + * Also note that the generation of new RSA parameters is only useful + * to servers. Clients use the parameters sent by the server, thus it's + * no use calling this in client side. + * + **/ int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, unsigned int bits) { @@ -151,19 +266,21 @@ } /** - * gnutls_rsa_params_import_pkcs1 - import RSA params from a pkcs1 structure - * @params: A structure where the parameters will be copied to - * @pkcs1_params: should contain a PKCS1 RSAPublicKey structure PEM or DER encoded - * @format: the format of params. PEM or DER. - * - * This function will extract the RSAPublicKey found in a PKCS1 formatted - * structure. - * - * If the structure is PEM encoded, it should have a header - * of "BEGIN RSA PRIVATE KEY". - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_import_pkcs1 - import RSA params from a pkcs1 structure + * @params: A structure where the parameters will be copied to + * @pkcs1_params: should contain a PKCS1 RSAPublicKey structure PEM or DER encoded + * @format: the format of params. PEM or DER. + * + * This function will extract the RSAPublicKey found in a PKCS1 formatted + * structure. + * + * If the structure is PEM encoded, it should have a header + * of "BEGIN RSA PRIVATE KEY". + * + * In case of failure a negative value will be returned, and + * 0 on success. + * + **/ int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, const gnutls_datum_t * pkcs1_params, @@ -172,22 +289,25 @@ return gnutls_x509_privkey_import (params, pkcs1_params, format); } + /** - * gnutls_rsa_params_export_pkcs1 - export RSA params to a pkcs1 structure - * @params: Holds the RSA parameters - * @format: the format of output params. One of PEM or DER. - * @params_data: will contain a PKCS1 RSAPublicKey structure PEM or DER encoded - * @params_data_size: holds the size of params_data (and will be replaced by the actual size of parameters) - * - * This function will export the given RSA parameters to a PKCS1 - * RSAPublicKey structure. If the buffer provided is not long enough to - * hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. - * - * If the structure is PEM encoded, it will have a header - * of "BEGIN RSA PRIVATE KEY". - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_export_pkcs1 - export RSA params to a pkcs1 structure + * @params: Holds the RSA parameters + * @format: the format of output params. One of PEM or DER. + * @params_data: will contain a PKCS1 RSAPublicKey structure PEM or DER encoded + * @params_data_size: holds the size of params_data (and will be replaced by the actual size of parameters) + * + * This function will export the given RSA parameters to a PKCS1 + * RSAPublicKey structure. If the buffer provided is not long enough to + * hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. + * + * If the structure is PEM encoded, it will have a header + * of "BEGIN RSA PRIVATE KEY". + * + * In case of failure a negative value will be returned, and + * 0 on success. + * + **/ int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, gnutls_x509_crt_fmt_t format, @@ -198,23 +318,23 @@ params_data, params_data_size); } + /** - * gnutls_rsa_params_export_raw - export the RSA parameters - * @params: a structure that holds the rsa parameters - * @m: will hold the modulus - * @e: will hold the public exponent - * @d: will hold the private exponent - * @p: will hold the first prime (p) - * @q: will hold the second prime (q) - * @u: will hold the coefficient - * @bits: if non null will hold the prime's number of bits - * - * This function will export the RSA parameters found in the given - * structure. The new parameters will be allocated using - * gnutls_malloc() and will be stored in the appropriate datum. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an negative error code. - **/ + * gnutls_rsa_params_export_raw - export the RSA parameters + * @params: a structure that holds the rsa parameters + * @m: will hold the modulus + * @e: will hold the public exponent + * @d: will hold the private exponent + * @p: will hold the first prime (p) + * @q: will hold the second prime (q) + * @u: will hold the coefficient + * @bits: if non null will hold the prime's number of bits + * + * This function will export the RSA parameters found in the given + * structure. The new parameters will be allocated using + * gnutls_malloc() and will be stored in the appropriate datum. + * + **/ int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, gnutls_datum_t * m, gnutls_datum_t * e, @@ -235,4 +355,5 @@ *bits = _gnutls_mpi_get_nbits (params->params[3]); return 0; + } diff -Nru gnutls26-2.8.6/lib/gnutls_rsa_export.h gnutls26-2.4.1/lib/gnutls_rsa_export.h --- gnutls26-2.8.6/lib/gnutls_rsa_export.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_rsa_export.h 2008-06-30 21:45:51.000000000 +0100 @@ -22,5 +22,6 @@ * */ -const bigint_t *_gnutls_rsa_params_to_mpi (gnutls_rsa_params_t); +const mpi_t *_gnutls_rsa_params_to_mpi (gnutls_rsa_params_t); int _gnutls_peers_cert_less_512 (gnutls_session_t session); +int _gnutls_rsa_generate_params (mpi_t * resarr, int *resarr_len, int bits); diff -Nru gnutls26-2.8.6/lib/gnutls_session.c gnutls26-2.4.1/lib/gnutls_session.c --- gnutls26-2.8.6/lib/gnutls_session.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_session.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -78,28 +78,27 @@ ret = 0; error: - _gnutls_free_datum (&psession); + _gnutls_free_datum( &psession); return ret; } /** - * gnutls_session_get_data2 - Returns all session parameters. - * @session: is a #gnutls_session_t structure. - * @data: is a pointer to a datum that will hold the session. - * - * Returns all session parameters, in order to support resuming. The - * client should call this, and keep the returned session, if he wants - * to resume that current version later by calling - * gnutls_session_set_data(). This function must be called after a - * successful handshake. The returned datum must be freed with - * gnutls_free(). - * - * Resuming sessions is really useful and speedups connections after - * a succesful one. - * - * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise - * an error code is returned. - **/ + * gnutls_session_get_data2 - Returns all session parameters. + * @session: is a #gnutls_session_t structure. + * @session_data: is a pointer to a datum that will hold the session. + * + * Returns all session parameters, in order to support resuming. + * The client should call this, and keep the returned session, if he wants to + * resume that current version later by calling gnutls_session_set_data() + * This function must be called after a successful handshake. The returned + * datum must be freed with gnutls_free(). + * + * Resuming sessions is really useful and speedups connections after + * a succesful one. + * + * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise + * an error code is returned. + **/ int gnutls_session_get_data2 (gnutls_session_t session, gnutls_datum_t * data) { diff -Nru gnutls26-2.8.6/lib/gnutls_session_pack.c gnutls26-2.4.1/lib/gnutls_session_pack.c --- gnutls26-2.8.6/lib/gnutls_session_pack.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_session_pack.c 2008-06-19 11:00:10.000000000 +0100 @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include #include @@ -165,7 +165,7 @@ return GNUTLS_E_INTERNAL_ERROR; } - if (_gnutls_get_auth_info (session) != NULL) + if (_gnutls_get_auth_info(session) != NULL) { _gnutls_free_auth_info (session); } @@ -442,7 +442,7 @@ if (info->ncerts > 0) { info->raw_certificate_list = - gnutls_calloc (info->ncerts, sizeof (gnutls_datum_t)); + gnutls_calloc (1, sizeof (gnutls_datum_t) * info->ncerts); if (info->raw_certificate_list == NULL) { gnutls_assert (); @@ -600,8 +600,7 @@ * x bytes the public key */ static int -pack_anon_auth_info (gnutls_session_t session, - gnutls_datum_t * packed_session) +pack_anon_auth_info (gnutls_session_t session, gnutls_datum_t * packed_session) { anon_auth_info_t info = _gnutls_get_auth_info (session); int pos = 0; @@ -767,8 +766,8 @@ if (info) { - username_size = strlen (info->username) + 1; /* include the terminating null */ - hint_size = strlen (info->hint) + 1; /* include the terminating null */ + username_size = strlen (info->username) + 1; /* include the terminating null */ + hint_size = strlen (info->hint) + 1; /* include the terminating null */ pack_size = username_size + hint_size + 2 + 4 * 3 + info->dh.prime.size + info->dh.generator.size + info->dh.public_key.size; @@ -1019,15 +1018,15 @@ packed_session->data[pos++] = session->security_parameters.version; memcpy (&packed_session->data[pos], - session->security_parameters.master_secret, GNUTLS_MASTER_SIZE); - pos += GNUTLS_MASTER_SIZE; + session->security_parameters.master_secret, TLS_MASTER_SIZE); + pos += TLS_MASTER_SIZE; memcpy (&packed_session->data[pos], - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + session->security_parameters.client_random, TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; memcpy (&packed_session->data[pos], - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + session->security_parameters.server_random, TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; packed_session->data[pos++] = session->security_parameters.session_id_size; memcpy (&packed_session->data[pos], session->security_parameters.session_id, @@ -1142,15 +1141,15 @@ packed_session->data[pos++]; memcpy (session->internals.resumed_security_parameters.master_secret, - &packed_session->data[pos], GNUTLS_MASTER_SIZE); - pos += GNUTLS_MASTER_SIZE; + &packed_session->data[pos], TLS_MASTER_SIZE); + pos += TLS_MASTER_SIZE; memcpy (session->internals.resumed_security_parameters.client_random, - &packed_session->data[pos], GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + &packed_session->data[pos], TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; memcpy (session->internals.resumed_security_parameters.server_random, - &packed_session->data[pos], GNUTLS_RANDOM_SIZE); - pos += GNUTLS_RANDOM_SIZE; + &packed_session->data[pos], TLS_RANDOM_SIZE); + pos += TLS_RANDOM_SIZE; session->internals.resumed_security_parameters.session_id_size = packed_session->data[pos++]; diff -Nru gnutls26-2.8.6/lib/gnutls_sig.c gnutls26-2.4.1/lib/gnutls_sig.c --- gnutls26-2.8.6/lib/gnutls_sig.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_sig.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + * Copyright (C) 2001, 2004, 2005, 2006, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -58,8 +59,7 @@ digest_hd_st td_sha; gnutls_protocol_t ver = gnutls_protocol_get_version (session); - ret = - _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); + ret = _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); if (ret < 0) { gnutls_assert (); @@ -77,7 +77,7 @@ _gnutls_mac_deinit_ssl3_handshake (&td_sha, &concat[16], session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); } else _gnutls_hash_deinit (&td_sha, &concat[16]); @@ -85,9 +85,7 @@ switch (cert->subject_pk_algorithm) { case GNUTLS_PK_RSA: - ret = - _gnutls_hash_copy (&td_md5, - &session->internals.handshake_mac_handle_md5); + ret = _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); if (ret < 0) { gnutls_assert (); @@ -97,7 +95,7 @@ if (ver == GNUTLS_SSL3) _gnutls_mac_deinit_ssl3_handshake (&td_md5, concat, session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); else _gnutls_hash_deinit (&td_md5, concat); @@ -145,9 +143,9 @@ } _gnutls_hash (&td_sha, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_sha, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_sha, params->data, params->size); switch (cert->subject_pk_algorithm) @@ -157,7 +155,7 @@ { digest_hd_st td_md5; - ret = _gnutls_hash_init (&td_md5, GNUTLS_MAC_MD5); + ret =_gnutls_hash_init (&td_md5, GNUTLS_MAC_MD5); if (ret < 0) { gnutls_assert (); @@ -165,9 +163,9 @@ } _gnutls_hash (&td_md5, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_md5, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_md5, params->data, params->size); _gnutls_hash_deinit (&td_md5, concat); @@ -187,7 +185,8 @@ #else /* No parameters field. */ memcpy (concat, - "\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14", 13); + "\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14", + 13); _gnutls_hash_deinit (&td_sha, &concat[13]); dconcat.size = 33; #endif @@ -220,7 +219,7 @@ * given data. The output will be allocated and be put in signature. */ int -_gnutls_sign (gnutls_pk_algorithm_t algo, bigint_t * params, +_gnutls_sign (gnutls_pk_algorithm_t algo, mpi_t * params, int params_size, const gnutls_datum_t * data, gnutls_datum_t * signature) { @@ -270,24 +269,23 @@ */ if (cert != NULL) + if (cert->key_usage != 0) + if (!(cert->key_usage & KEY_DIGITAL_SIGNATURE)) + { + gnutls_assert (); + return GNUTLS_E_KEY_USAGE_VIOLATION; + } + + /* External signing. */ + if (!pkey || pkey->params_size == 0) { - if (cert->key_usage != 0) - if (!(cert->key_usage & KEY_DIGITAL_SIGNATURE)) - { - gnutls_assert (); - return GNUTLS_E_KEY_USAGE_VIOLATION; - } - - /* External signing. */ - if (!pkey || pkey->params_size == 0) - { - if (!session->internals.sign_func) - return GNUTLS_E_INSUFFICIENT_CREDENTIALS; - - return (*session->internals.sign_func) - (session, session->internals.sign_func_userdata, - cert->cert_type, &cert->raw, hash_concat, signature); - } + if (!session->internals.sign_func) + return GNUTLS_E_INSUFFICIENT_CREDENTIALS; + + return (*session->internals.sign_func) + (session, session->internals.sign_func_userdata, + cert->cert_type, &cert->raw, + hash_concat, signature); } return _gnutls_sign (pkey->pk_algorithm, pkey->params, @@ -297,12 +295,13 @@ static int _gnutls_verify_sig (gnutls_cert * cert, const gnutls_datum_t * hash_concat, - gnutls_datum_t * signature, size_t sha1pos) + gnutls_datum_t * signature, + size_t sha1pos) { int ret; gnutls_datum_t vdata; - if (cert == NULL || cert->version == 0) + if (cert->version == 0 || cert == NULL) { /* this is the only way to check * if it is initialized */ @@ -312,7 +311,8 @@ /* If the certificate supports signing continue. */ - if (cert->key_usage != 0) + if (cert != NULL) + if (cert->key_usage != 0) if (!(cert->key_usage & KEY_DIGITAL_SIGNATURE)) { gnutls_assert (); @@ -375,16 +375,14 @@ gnutls_datum_t dconcat; gnutls_protocol_t ver = gnutls_protocol_get_version (session); - ret = - _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); + ret = _gnutls_hash_copy (&td_md5, &session->internals.handshake_mac_handle_md5); if (ret < 0) { gnutls_assert (); return ret; } - ret = - _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); + ret = _gnutls_hash_copy (&td_sha, &session->internals.handshake_mac_handle_sha); if (ret < 0) { gnutls_assert (); @@ -403,10 +401,10 @@ _gnutls_mac_deinit_ssl3_handshake (&td_md5, concat, session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); _gnutls_mac_deinit_ssl3_handshake (&td_sha, &concat[16], session->security_parameters. - master_secret, GNUTLS_MASTER_SIZE); + master_secret, TLS_MASTER_SIZE); } else { @@ -453,9 +451,9 @@ } _gnutls_hash (&td_md5, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_md5, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_md5, params->data, params->size); } @@ -464,14 +462,14 @@ { gnutls_assert (); if (ver < GNUTLS_TLS1_2) - _gnutls_hash_deinit (&td_md5, NULL); + _gnutls_hash_deinit (&td_md5, NULL); return ret; } _gnutls_hash (&td_sha, session->security_parameters.client_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_sha, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); + TLS_RANDOM_SIZE); _gnutls_hash (&td_sha, params->data, params->size); if (ver < GNUTLS_TLS1_2) @@ -492,7 +490,8 @@ #else /* No parameters field. */ memcpy (concat, - "\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14", 13); + "\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14", + 13); _gnutls_hash_deinit (&td_sha, &concat[13]); dconcat.size = 33; #endif diff -Nru gnutls26-2.8.6/lib/gnutls_sig.h gnutls26-2.4.1/lib/gnutls_sig.h --- gnutls26-2.8.6/lib/gnutls_sig.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_sig.h 2008-06-30 21:45:51.000000000 +0100 @@ -45,7 +45,7 @@ gnutls_datum_t * signature); int _gnutls_sign (gnutls_pk_algorithm_t algo, - bigint_t * params, int params_size, + mpi_t * params, int params_size, const gnutls_datum_t * data, gnutls_datum_t * signature); #endif diff -Nru gnutls26-2.8.6/lib/gnutls_srp.c gnutls26-2.4.1/lib/gnutls_srp.c --- gnutls26-2.8.6/lib/gnutls_srp.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_srp.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -43,12 +43,12 @@ int _gnutls_srp_gx (opaque * text, size_t textsize, opaque ** result, - bigint_t g, bigint_t prime, gnutls_alloc_function galloc_func) + mpi_t g, mpi_t prime, gnutls_alloc_function galloc_func) { - bigint_t x, e; + mpi_t x, e; size_t result_size; - if (_gnutls_mpi_scan_nz (&x, text, textsize)) + if (_gnutls_mpi_scan_nz (&x, text, &textsize)) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -66,14 +66,14 @@ _gnutls_mpi_powm (e, g, x, prime); _gnutls_mpi_release (&x); - _gnutls_mpi_print (e, NULL, &result_size); + _gnutls_mpi_print (NULL, &result_size, e); if (result != NULL) { *result = galloc_func (result_size); if ((*result) == NULL) return GNUTLS_E_MEMORY_ERROR; - _gnutls_mpi_print (e, *result, &result_size); + _gnutls_mpi_print (*result, &result_size, e); } _gnutls_mpi_release (&e); @@ -88,17 +88,23 @@ * where k == SHA1(N|g) * Return: B and if ret_b is not NULL b. */ -bigint_t -_gnutls_calc_srp_B (bigint_t * ret_b, bigint_t g, bigint_t n, bigint_t v) +mpi_t +_gnutls_calc_srp_B (mpi_t * ret_b, mpi_t g, mpi_t n, mpi_t v) { - bigint_t tmpB = NULL, tmpV = NULL; - bigint_t b = NULL, B = NULL, k = NULL; + mpi_t tmpB = NULL, tmpV = NULL; + mpi_t b = NULL, B = NULL, k = NULL; int bits; /* calculate: B = (k*v + g^b) % N */ bits = _gnutls_mpi_get_nbits (n); + b = _gnutls_mpi_snew (bits); + if (b == NULL) + { + gnutls_assert (); + return NULL; + } tmpV = _gnutls_mpi_alloc_like (n); @@ -108,16 +114,16 @@ goto error; } - b = _gnutls_mpi_randomize (NULL, bits, GNUTLS_RND_RANDOM); + _gnutls_mpi_randomize (b, bits, GCRY_STRONG_RANDOM); - tmpB = _gnutls_mpi_new (bits); + tmpB = _gnutls_mpi_snew (bits); if (tmpB == NULL) { gnutls_assert (); goto error; } - B = _gnutls_mpi_new (bits); + B = _gnutls_mpi_snew (bits); if (B == NULL) { gnutls_assert (); @@ -160,21 +166,21 @@ /* This calculates the SHA1(A | B) * A and B will be left-padded with zeros to fill n_size. */ -bigint_t -_gnutls_calc_srp_u (bigint_t A, bigint_t B, bigint_t n) +mpi_t +_gnutls_calc_srp_u (mpi_t A, mpi_t B, mpi_t n) { size_t b_size, a_size; opaque *holder, hd[MAX_HASH_SIZE]; size_t holder_size, hash_size, n_size; digest_hd_st td; int ret; - bigint_t res; + mpi_t res; /* get the size of n in bytes */ - _gnutls_mpi_print (n, NULL, &n_size); + _gnutls_mpi_print (NULL, &n_size, n); - _gnutls_mpi_print (A, NULL, &a_size); - _gnutls_mpi_print (B, NULL, &b_size); + _gnutls_mpi_print (NULL, &a_size, A); + _gnutls_mpi_print (NULL, &b_size, B); if (a_size > n_size || b_size > n_size) { @@ -188,8 +194,8 @@ if (holder == NULL) return NULL; - _gnutls_mpi_print (A, &holder[n_size - a_size], &a_size); - _gnutls_mpi_print (B, &holder[n_size + n_size - b_size], &b_size); + _gnutls_mpi_print (&holder[n_size - a_size], &a_size, A); + _gnutls_mpi_print (&holder[n_size + n_size - b_size], &b_size, B); ret = _gnutls_hash_init (&td, GNUTLS_MAC_SHA1); if (ret < 0) @@ -204,7 +210,7 @@ /* convert the bytes of hd to integer */ hash_size = 20; /* SHA */ - ret = _gnutls_mpi_scan_nz (&res, hd, hash_size); + ret = _gnutls_mpi_scan_nz (&res, hd, &hash_size); gnutls_free (holder); if (ret < 0) @@ -219,12 +225,11 @@ /* S = (A * v^u) ^ b % N * this is our shared key (server premaster secret) */ -bigint_t -_gnutls_calc_srp_S1 (bigint_t A, bigint_t b, bigint_t u, bigint_t v, - bigint_t n) +mpi_t +_gnutls_calc_srp_S1 (mpi_t A, mpi_t b, mpi_t u, mpi_t v, mpi_t n) { - bigint_t tmp1 = NULL, tmp2 = NULL; - bigint_t S = NULL; + mpi_t tmp1 = NULL, tmp2 = NULL; + mpi_t S = NULL; S = _gnutls_mpi_alloc_like (n); if (S == NULL) @@ -254,17 +259,24 @@ /* A = g^a % N * returns A and a (which is random) */ -bigint_t -_gnutls_calc_srp_A (bigint_t * a, bigint_t g, bigint_t n) +mpi_t +_gnutls_calc_srp_A (mpi_t * a, mpi_t g, mpi_t n) { - bigint_t tmpa; - bigint_t A; + mpi_t tmpa; + mpi_t A; int bits; bits = _gnutls_mpi_get_nbits (n); - tmpa = _gnutls_mpi_randomize (NULL, bits, GNUTLS_RND_RANDOM); + tmpa = _gnutls_mpi_snew (bits); + if (tmpa == NULL) + { + gnutls_assert (); + return NULL; + } + + _gnutls_mpi_randomize (tmpa, bits, GCRY_STRONG_RANDOM); - A = _gnutls_mpi_new (bits); + A = _gnutls_mpi_snew (bits); if (A == NULL) { gnutls_assert (); @@ -284,7 +296,7 @@ /* generate x = SHA(s | SHA(U | ":" | p)) * The output is exactly 20 bytes */ -static int +int _gnutls_calc_srp_sha (const char *username, const char *password, opaque * salt, int salt_size, size_t * size, void *digest) @@ -292,7 +304,7 @@ digest_hd_st td; opaque res[MAX_HASH_SIZE]; int ret; - + *size = 20; ret = _gnutls_hash_init (&td, GNUTLS_MAC_SHA1); @@ -333,12 +345,11 @@ /* S = (B - k*g^x) ^ (a + u * x) % N * this is our shared key (client premaster secret) */ -bigint_t -_gnutls_calc_srp_S2 (bigint_t B, bigint_t g, bigint_t x, bigint_t a, - bigint_t u, bigint_t n) +mpi_t +_gnutls_calc_srp_S2 (mpi_t B, mpi_t g, mpi_t x, mpi_t a, mpi_t u, mpi_t n) { - bigint_t S = NULL, tmp1 = NULL, tmp2 = NULL; - bigint_t tmp4 = NULL, tmp3 = NULL, k = NULL; + mpi_t S = NULL, tmp1 = NULL, tmp2 = NULL; + mpi_t tmp4 = NULL, tmp3 = NULL, k = NULL; S = _gnutls_mpi_alloc_like (n); if (S == NULL) @@ -391,7 +402,7 @@ /** * gnutls_srp_free_client_credentials - Used to free an allocated gnutls_srp_client_credentials_t structure - * @sc: is a #gnutls_srp_client_credentials_t structure. + * @sc: is an #gnutls_srp_client_credentials_t structure. * * This structure is complex enough to manipulate directly thus * this helper function is provided in order to free (deallocate) it. @@ -407,7 +418,7 @@ /** * gnutls_srp_allocate_client_credentials - Used to allocate an gnutls_srp_server_credentials_t structure - * @sc: is a pointer to a #gnutls_srp_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_srp_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus * this helper function is provided in order to allocate it. @@ -428,7 +439,7 @@ /** * gnutls_srp_set_client_credentials - Used to set the username/password, in a gnutls_srp_client_credentials_t structure - * @res: is a #gnutls_srp_client_credentials_t structure. + * @res: is an #gnutls_srp_client_credentials_t structure. * @username: is the user's userid * @password: is the user's password * @@ -468,7 +479,7 @@ /** * gnutls_srp_free_server_credentials - Used to free an allocated gnutls_srp_server_credentials_t structure - * @sc: is a #gnutls_srp_server_credentials_t structure. + * @sc: is an #gnutls_srp_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus * this helper function is provided in order to free (deallocate) it. @@ -485,7 +496,7 @@ /** * gnutls_srp_allocate_server_credentials - Used to allocate an gnutls_srp_server_credentials_t structure - * @sc: is a pointer to a #gnutls_srp_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_srp_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -506,7 +517,7 @@ /** * gnutls_srp_set_server_credentials_file - Used to set the password files, in a gnutls_srp_server_credentials_t structure - * @res: is a #gnutls_srp_server_credentials_t structure. + * @res: is an #gnutls_srp_server_credentials_t structure. * @password_file: is the SRP password file (tpasswd) * @password_conf_file: is the SRP password conf file (tpasswd.conf) * @@ -519,8 +530,8 @@ * error code. **/ int -gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t res, - const char *password_file, +gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t + res, const char *password_file, const char *password_conf_file) { @@ -628,10 +639,8 @@ * -1 indicates an error. **/ void -gnutls_srp_set_client_credentials_function (gnutls_srp_client_credentials_t - cred, - gnutls_srp_client_credentials_function - * func) +gnutls_srp_set_client_credentials_function (gnutls_srp_client_credentials_t cred, + gnutls_srp_client_credentials_function * func) { cred->get_function = func; } @@ -687,7 +696,7 @@ const gnutls_datum_t * generator, const gnutls_datum_t * prime, gnutls_datum_t * res) { - bigint_t _n, _g; + mpi_t _n, _g; int ret; size_t digest_size = 20, size; opaque digest[20]; @@ -701,14 +710,14 @@ } size = prime->size; - if (_gnutls_mpi_scan_nz (&_n, prime->data, size)) + if (_gnutls_mpi_scan_nz (&_n, prime->data, &size)) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; } size = generator->size; - if (_gnutls_mpi_scan_nz (&_g, generator->data, size)) + if (_gnutls_mpi_scan_nz (&_g, generator->data, &size)) { gnutls_assert (); return GNUTLS_E_MPI_SCAN_FAILED; @@ -725,27 +734,4 @@ return 0; } -/** - * gnutls_srp_set_prime_bits - set the minimum bits for a SRP ciphersuite - * @session: is a #gnutls_session_t structure. - * @bits: is the number of bits - * - * This function sets the minimum accepted number of bits, for use in - * an SRP key exchange. If zero, the default 2048 bits will be used. - * - * In the client side it sets the minimum accepted number of bits. If - * a server sends a prime with less bits than that - * %GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER will be returned by the - * handshake. - * - * This function has no effect in server side. - * - * Since: 2.6.0 - **/ -void -gnutls_srp_set_prime_bits (gnutls_session_t session, unsigned int bits) -{ - session->internals.srp_prime_bits = bits; -} - #endif /* ENABLE_SRP */ diff -Nru gnutls26-2.8.6/lib/gnutls_srp.h gnutls26-2.4.1/lib/gnutls_srp.h --- gnutls26-2.8.6/lib/gnutls_srp.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_srp.h 2008-06-30 21:45:51.000000000 +0100 @@ -25,13 +25,13 @@ #ifdef ENABLE_SRP int _gnutls_srp_gx (opaque * text, size_t textsize, opaque ** result, - bigint_t g, bigint_t prime, gnutls_alloc_function); -bigint_t _gnutls_calc_srp_B (bigint_t * ret_b, bigint_t g, bigint_t n, bigint_t v); -bigint_t _gnutls_calc_srp_u (bigint_t A, bigint_t B, bigint_t N); -bigint_t _gnutls_calc_srp_S1 (bigint_t A, bigint_t b, bigint_t u, bigint_t v, bigint_t n); -bigint_t _gnutls_calc_srp_A (bigint_t * a, bigint_t g, bigint_t n); -bigint_t _gnutls_calc_srp_S2 (bigint_t B, bigint_t g, bigint_t x, bigint_t a, bigint_t u, - bigint_t n); + mpi_t g, mpi_t prime, gnutls_alloc_function); +mpi_t _gnutls_calc_srp_B (mpi_t * ret_b, mpi_t g, mpi_t n, mpi_t v); +mpi_t _gnutls_calc_srp_u (mpi_t A, mpi_t B, mpi_t N); +mpi_t _gnutls_calc_srp_S1 (mpi_t A, mpi_t b, mpi_t u, mpi_t v, mpi_t n); +mpi_t _gnutls_calc_srp_A (mpi_t * a, mpi_t g, mpi_t n); +mpi_t _gnutls_calc_srp_S2 (mpi_t B, mpi_t g, mpi_t x, mpi_t a, mpi_t u, + mpi_t n); int _gnutls_calc_srp_x (char *username, char *password, opaque * salt, size_t salt_size, size_t * size, void *digest); int _gnutls_srp_gn (opaque ** ret_g, opaque ** ret_n, int bits); diff -Nru gnutls26-2.8.6/lib/gnutls_state.c gnutls26-2.4.1/lib/gnutls_state.c --- gnutls26-2.8.6/lib/gnutls_state.c 2009-11-02 10:30:39.000000000 +0000 +++ gnutls26-2.4.1/lib/gnutls_state.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include #include @@ -44,15 +44,6 @@ #include #include -/* These should really be static, but src/tests.c calls them. Make - them public functions? */ -void -_gnutls_record_set_default_version (gnutls_session_t session, - unsigned char major, unsigned char minor); -void -_gnutls_rsa_pms_set_version (gnutls_session_t session, - unsigned char major, unsigned char minor); - void _gnutls_session_cert_type_set (gnutls_session_t session, gnutls_certificate_type_t ct) @@ -66,7 +57,7 @@ * * Get currently used cipher. * - * Returns: the currently used cipher, a #gnutls_cipher_algorithm_t + * Returns: the currently used cipher, an #gnutls_cipher_algorithm_t * type. **/ gnutls_cipher_algorithm_t @@ -156,23 +147,23 @@ if (cred == NULL) return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; - if (cred->server_get_cert_callback == NULL) - { - for (i = 0; i < cred->ncerts; i++) - { + if( cred->server_get_cert_callback == NULL) + { + for (i = 0; i < cred->ncerts; i++) + { if (cred->cert_list[i][0].cert_type == cert_type) - { - cert_found = 1; - break; - } - } + { + cert_found = 1; + break; + } + } - if (cert_found == 0) + if (cert_found == 0) /* no certificate is of that type. */ return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; - } - } + } + } if (session->internals.priorities.cert_type.algorithms == 0 && cert_type == DEFAULT_CERT_TYPE) @@ -309,12 +300,13 @@ gnutls_handshake_set_max_packet_length ((*session), MAX_HANDSHAKE_PACKET_SIZE); - /* Allocate a minimum size for recv_data + /* Allocate a minimum size for recv_data * This is allocated in order to avoid small messages, making * the receive procedure slow. */ - if (_gnutls_buffer_resize (&(*session)->internals.record_recv_buffer, - INITIAL_RECV_BUFFER_SIZE)) + (*session)->internals.record_recv_buffer.data = + gnutls_malloc (INITIAL_RECV_BUFFER_SIZE); + if ((*session)->internals.record_recv_buffer.data == NULL) { gnutls_free ((*session)->key); goto cleanup_session; @@ -390,8 +382,8 @@ if (session->connection_state.read_compression_state != NULL) _gnutls_comp_deinit (session->connection_state.read_compression_state, 1); if (session->connection_state.write_compression_state != NULL) - _gnutls_comp_deinit (session->connection_state.write_compression_state, - 0); + _gnutls_comp_deinit (session->connection_state. + write_compression_state, 0); _gnutls_free_datum (&session->cipher_specs.server_write_mac_secret); _gnutls_free_datum (&session->cipher_specs.client_write_mac_secret); @@ -446,7 +438,7 @@ } int -_gnutls_dh_set_peer_public (gnutls_session_t session, bigint_t public) +_gnutls_dh_set_peer_public (gnutls_session_t session, mpi_t public) { dh_info_st *dh; int ret; @@ -490,9 +482,9 @@ } if (dh->public_key.data) - _gnutls_free_datum (&dh->public_key); + _gnutls_free_datum(&dh->public_key); - ret = _gnutls_mpi_dprint_lz (public, &dh->public_key); + ret = _gnutls_mpi_dprint_lz (&dh->public_key, public); if (ret < 0) { gnutls_assert (); @@ -549,7 +541,7 @@ */ int _gnutls_rsa_export_set_pubkey (gnutls_session_t session, - bigint_t exponent, bigint_t modulus) + mpi_t exponent, mpi_t modulus) { cert_auth_info_t info; int ret; @@ -559,19 +551,19 @@ return GNUTLS_E_INTERNAL_ERROR; if (info->rsa_export.modulus.data) - _gnutls_free_datum (&info->rsa_export.modulus); + _gnutls_free_datum(&info->rsa_export.modulus); if (info->rsa_export.exponent.data) - _gnutls_free_datum (&info->rsa_export.exponent); + _gnutls_free_datum(&info->rsa_export.exponent); - ret = _gnutls_mpi_dprint_lz (modulus, &info->rsa_export.modulus); + ret = _gnutls_mpi_dprint_lz (&info->rsa_export.modulus, modulus); if (ret < 0) { gnutls_assert (); return ret; } - ret = _gnutls_mpi_dprint_lz (exponent, &info->rsa_export.exponent); + ret = _gnutls_mpi_dprint_lz (&info->rsa_export.exponent, exponent); if (ret < 0) { gnutls_assert (); @@ -586,7 +578,7 @@ /* Sets the prime and the generator in the auth info structure. */ int -_gnutls_dh_set_group (gnutls_session_t session, bigint_t gen, bigint_t prime) +_gnutls_dh_set_group (gnutls_session_t session, mpi_t gen, mpi_t prime) { dh_info_st *dh; int ret; @@ -630,14 +622,14 @@ } if (dh->prime.data) - _gnutls_free_datum (&dh->prime); + _gnutls_free_datum(&dh->prime); if (dh->generator.data) - _gnutls_free_datum (&dh->generator); + _gnutls_free_datum(&dh->generator); /* prime */ - ret = _gnutls_mpi_dprint_lz (prime, &dh->prime); + ret = _gnutls_mpi_dprint_lz (&dh->prime, prime); if (ret < 0) { gnutls_assert (); @@ -646,7 +638,7 @@ /* generator */ - ret = _gnutls_mpi_dprint_lz (gen, &dh->generator); + ret = _gnutls_mpi_dprint_lz (&dh->generator, gen); if (ret < 0) { gnutls_assert (); @@ -670,7 +662,7 @@ **/ void gnutls_openpgp_send_cert (gnutls_session_t session, - gnutls_openpgp_crt_status_t status) + gnutls_openpgp_crt_status_t status) { session->internals.pgp_fingerprint = status; } @@ -903,7 +895,8 @@ { result = _gnutls_P_hash (GNUTLS_MAC_SHA1, secret, secret_size, - s_seed, s_seed_size, total_bytes, ret); + s_seed, s_seed_size, + total_bytes, ret); if (result < 0) { gnutls_assert (); @@ -988,7 +981,7 @@ ret = _gnutls_PRF (session, session->security_parameters.master_secret, - GNUTLS_MASTER_SIZE, + TLS_MASTER_SIZE, label, label_size, (opaque *) seed, seed_size, outsize, out); @@ -1033,7 +1026,7 @@ { int ret; opaque *seed; - size_t seedsize = 2 * GNUTLS_RANDOM_SIZE + extra_size; + size_t seedsize = 2 * TLS_RANDOM_SIZE + extra_size; seed = gnutls_malloc (seedsize); if (!seed) @@ -1044,15 +1037,15 @@ memcpy (seed, server_random_first ? session->security_parameters.server_random : - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); - memcpy (seed + GNUTLS_RANDOM_SIZE, server_random_first ? + session->security_parameters.client_random, TLS_RANDOM_SIZE); + memcpy (seed + TLS_RANDOM_SIZE, server_random_first ? session->security_parameters.client_random : - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); + session->security_parameters.server_random, TLS_RANDOM_SIZE); - memcpy (seed + 2 * GNUTLS_RANDOM_SIZE, extra, extra_size); + memcpy (seed + 2 * TLS_RANDOM_SIZE, extra, extra_size); ret = _gnutls_PRF (session, session->security_parameters.master_secret, - GNUTLS_MASTER_SIZE, + TLS_MASTER_SIZE, label, label_size, seed, seedsize, outsize, out); gnutls_free (seed); @@ -1121,38 +1114,6 @@ } /** - * gnutls_session_set_finished_function: - * @session: is a #gnutls_session_t structure. - * @func: a #gnutls_finished_callback_func callback. - * - * Register a callback function for the session that will be called - * when a TLS Finished message has been generated. The function is - * typically used to copy away the TLS finished message for later use - * as a channel binding or similar purpose. - * - * The callback should follow this prototype: - * - * void callback (gnutls_session_t @session, const void *@finished, size_t @len); - * - * The @finished parameter will contain the binary TLS finished - * message, and @len will contains its length. For SSLv3 connections, - * the @len parameter will be 36 and for TLS connections it will be - * 12. - * - * It is recommended that the function returns quickly in order to not - * delay the handshake. Use the function to store a copy of the TLS - * finished message for later use. - * - * Since: 2.6.0 - **/ -void -gnutls_session_set_finished_function (gnutls_session_t session, - gnutls_finished_callback_func func) -{ - session->internals.finished_func = func; -} - -/** * gnutls_session_is_resumed - check whether this session is a resumed one * @session: is a #gnutls_session_t structure. * @@ -1219,9 +1180,8 @@ { gnutls_kx_algorithm_t kx; - kx = - _gnutls_cipher_suite_get_kx_algo (&session->security_parameters. - current_cipher_suite); + kx = _gnutls_cipher_suite_get_kx_algo (&session->security_parameters. + current_cipher_suite); if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK) return 1; @@ -1304,7 +1264,7 @@ /** * gnutls_handshake_set_post_client_hello_function - set callback to be called after the client hello is received - * @session: is a #gnutls_session_t structure. + * @res: is a gnutls_anon_server_credentials_t structure * @func: is the function to be called * * This function will set a callback to be called after the client @@ -1345,5 +1305,5 @@ void gnutls_session_enable_compatibility_mode (gnutls_session_t session) { - gnutls_record_disable_padding (session); + gnutls_record_disable_padding( session); } diff -Nru gnutls26-2.8.6/lib/gnutls_state.h gnutls26-2.4.1/lib/gnutls_state.h --- gnutls26-2.8.6/lib/gnutls_state.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_state.h 2008-06-30 21:45:51.000000000 +0100 @@ -29,8 +29,11 @@ void _gnutls_session_cert_type_set (gnutls_session_t session, gnutls_certificate_type_t); +gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session); +gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session); +gnutls_certificate_type_t gnutls_certificate_type_get (gnutls_session_t); -#include +#include #define CHECK_AUTH(auth, ret) if (gnutls_auth_get_type(session) != auth) { \ gnutls_assert(); \ @@ -44,14 +47,14 @@ int _gnutls_dh_set_secret_bits (gnutls_session_t session, unsigned bits); -int _gnutls_dh_set_peer_public (gnutls_session_t session, bigint_t public); -int _gnutls_dh_set_group (gnutls_session_t session, bigint_t gen, bigint_t prime); +int _gnutls_dh_set_peer_public (gnutls_session_t session, mpi_t public); +int _gnutls_dh_set_group (gnutls_session_t session, mpi_t gen, mpi_t prime); int _gnutls_dh_get_allowed_prime_bits (gnutls_session_t session); void _gnutls_handshake_internal_state_clear (gnutls_session_t); int _gnutls_rsa_export_set_pubkey (gnutls_session_t session, - bigint_t exponent, bigint_t modulus); + mpi_t exponent, mpi_t modulus); int _gnutls_session_is_resumable (gnutls_session_t session); int _gnutls_session_is_export (gnutls_session_t session); @@ -66,4 +69,6 @@ const opaque * seed, int seed_size, int total_bytes, void *ret); +int gnutls_init (gnutls_session_t * session, gnutls_connection_end_t con_end); + #define DEFAULT_CERT_TYPE GNUTLS_CRT_X509 diff -Nru gnutls26-2.8.6/lib/gnutls_str.c gnutls26-2.4.1/lib/gnutls_str.c --- gnutls26-2.8.6/lib/gnutls_str.c 2009-08-07 00:52:46.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_str.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -26,7 +26,6 @@ #include #include #include -#include /* These function are like strcat, strcpy. They only * do bound checking (they shouldn't cause buffer overruns), @@ -97,7 +96,7 @@ gnutls_realloc_function realloc_func, gnutls_free_function free_func) { - str->data = str->allocd = NULL; + str->data = NULL; str->max_length = 0; str->length = 0; @@ -109,156 +108,123 @@ void _gnutls_string_clear (gnutls_string * str) { - if (str == NULL || str->allocd == NULL) + if (str == NULL || str->data == NULL) return; - str->free_func (str->allocd); + str->free_func (str->data); - str->data = str->allocd = NULL; + str->data = NULL; str->max_length = 0; str->length = 0; } +/* This one does not copy the string. + */ +gnutls_datum_t +_gnutls_string2datum (gnutls_string * str) +{ + gnutls_datum_t ret; + + ret.data = str->data; + ret.size = str->length; + + return ret; +} + #define MIN_CHUNK 256 int -_gnutls_string_append_data (gnutls_string * dest, const void *data, - size_t data_size) +_gnutls_string_copy_str (gnutls_string * dest, const char *src) { - size_t tot_len = data_size + dest->length; + size_t src_len = strlen (src); - if (dest->max_length >= tot_len) + if (dest->max_length >= src_len) { - size_t unused = MEMSUB(dest->data, dest->allocd); - - if (dest->max_length - unused <= tot_len) - { - if (dest->length && dest->data) - memmove(dest->allocd, dest->data, dest->length); - - dest->data = dest->allocd; - } - memmove (&dest->data[dest->length], data, data_size); - dest->length = tot_len; + memcpy (dest->data, src, src_len); + dest->length = src_len; - return tot_len; + return src_len; } else { - size_t unused = MEMSUB(dest->data, dest->allocd); - size_t new_len = - MAX (data_size, MIN_CHUNK) + MAX (dest->max_length, MIN_CHUNK); - - dest->allocd = dest->realloc_func (dest->allocd, new_len); - if (dest->allocd == NULL) + dest->data = dest->realloc_func (dest->data, MAX (src_len, MIN_CHUNK)); + if (dest->data == NULL) { gnutls_assert (); return GNUTLS_E_MEMORY_ERROR; } - dest->max_length = new_len; - dest->data = dest->allocd + unused; + dest->max_length = MAX (MIN_CHUNK, src_len); - if (dest->length && dest->data) - memmove(dest->allocd, dest->data, dest->length); - dest->data = dest->allocd; + memcpy (dest->data, src, src_len); + dest->length = src_len; - memcpy (&dest->data[dest->length], data, data_size); - dest->length = tot_len; - - return tot_len; + return src_len; } } int -_gnutls_string_resize (gnutls_string * dest, size_t new_size) +_gnutls_string_append_str (gnutls_string * dest, const char *src) { - if (dest->max_length >= new_size) + size_t src_len = strlen (src); + size_t tot_len = src_len + dest->length; + + if (dest->max_length >= tot_len) { - size_t unused = MEMSUB(dest->data, dest->allocd); - if (dest->max_length - unused <= new_size) - { - if (dest->length && dest->data) - memmove(dest->allocd, dest->data, dest->length); - dest->data = dest->allocd; - } + memcpy (&dest->data[dest->length], src, src_len); + dest->length = tot_len; - return 0; + return tot_len; } else { - size_t unused = MEMSUB(dest->data, dest->allocd); - size_t alloc_len = - MAX (new_size, MIN_CHUNK) + MAX (dest->max_length, MIN_CHUNK); + size_t new_len = + MAX (src_len, MIN_CHUNK) + MAX (dest->max_length, MIN_CHUNK); - dest->allocd = dest->realloc_func (dest->allocd, alloc_len); - if (dest->allocd == NULL) + dest->data = dest->realloc_func (dest->data, new_len); + if (dest->data == NULL) { gnutls_assert (); return GNUTLS_E_MEMORY_ERROR; } - dest->max_length = alloc_len; - dest->data = dest->allocd + unused; + dest->max_length = new_len; - if (dest->length && dest->data) - memmove(dest->allocd, dest->data, dest->length); - dest->data = dest->allocd; + memcpy (&dest->data[dest->length], src, src_len); + dest->length = tot_len; - return 0; + return tot_len; } } int -_gnutls_string_append_str (gnutls_string * dest, const char *src) -{ - return _gnutls_string_append_data (dest, src, strlen(src)); -} - -/* returns data from a string in a constant buffer. - * The data will NOT be valid if buffer is released or - * data are appended in the buffer. - */ -void -_gnutls_string_get_datum (gnutls_string * str, gnutls_datum *data, - size_t req_size) +_gnutls_string_append_data (gnutls_string * dest, const void *data, + size_t data_size) { + size_t tot_len = data_size + dest->length; - if (str->length == 0) { - data->data = NULL; - data->size = 0; - return; - } - - if (req_size > str->length) - req_size = str->length; - - data->data = str->data; - data->size = req_size; - - str->data += req_size; - str->length -= req_size; + if (dest->max_length >= tot_len) + { + memcpy (&dest->data[dest->length], data, data_size); + dest->length = tot_len; - /* if string becomes empty start from begining */ - if (str->length == 0) { - str->data = str->allocd; - } - - return; - -} + return tot_len; + } + else + { + size_t new_len = + MAX (data_size, MIN_CHUNK) + MAX (dest->max_length, MIN_CHUNK); -/* returns data from a string in a constant buffer. - */ -void -_gnutls_string_get_data (gnutls_string * str, void *data, - size_t *req_size) -{ -gnutls_datum tdata; + dest->data = dest->realloc_func (dest->data, new_len); + if (dest->data == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } + dest->max_length = new_len; - _gnutls_string_get_datum( str, &tdata, *req_size); + memcpy (&dest->data[dest->length], data, data_size); + dest->length = tot_len; - *req_size = tdata.size; - memcpy( data, tdata.data, tdata.size); - - return; + return tot_len; + } } int @@ -319,10 +285,12 @@ * Since: 2.4.0 **/ int -gnutls_hex2bin (const char *hex_data, - size_t hex_size, char *bin_data, size_t * bin_size) +gnutls_hex2bin (const char * hex_data, + size_t hex_size, + char * bin_data, + size_t * bin_size) { - return _gnutls_hex2bin (hex_data, (int) hex_size, bin_data, bin_size); + return _gnutls_hex2bin (hex_data, (int)hex_size, bin_data, bin_size); } int @@ -363,42 +331,35 @@ /* compare hostname against certificate, taking account of wildcards * return 1 on success or 0 on error - * - * note: certnamesize is required as X509 certs can contain embedded NULs in - * the strings such as CN or subjectAltName */ int -_gnutls_hostname_compare (const char *certname, - size_t certnamesize, - const char *hostname) -{ - /* find the first different character */ - for (; *certname && *hostname && toupper (*certname) == toupper (*hostname); - certname++, hostname++, certnamesize--) +_gnutls_hostname_compare (const char *certname, const char *hostname) +{ + /* find the first different character */ + for (; *certname && *hostname && toupper(*certname) == toupper(*hostname); certname++, hostname++) ; - - /* the strings are the same */ - if (certnamesize == 0 && *hostname == '\0') + + /* the strings are the same */ + if (strlen (certname) == 0 && strlen (hostname) == 0) return 1; - + if (*certname == '*') { /* a wildcard certificate */ certname++; - certnamesize--; - + while (1) - { + { /* Use a recursive call to allow multiple wildcards */ - if (_gnutls_hostname_compare (certname, certnamesize, hostname)) - return 1; - - /* wildcards are only allowed to match a single domain - component or component fragment */ - if (*hostname == '\0' || *hostname == '.') - break; - hostname++; + if (_gnutls_hostname_compare (certname, hostname)) + { + return 1; + } + /* wildcards are only allowed to match a single domain component or component fragment */ + if (*hostname == '\0' || *hostname == '.') + break; + hostname++; } return 0; diff -Nru gnutls26-2.8.6/lib/gnutls_str.h gnutls26-2.4.1/lib/gnutls_str.h --- gnutls26-2.8.6/lib/gnutls_str.h 2009-08-07 00:02:26.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_str.h 2008-06-19 11:00:10.000000000 +0100 @@ -34,10 +34,9 @@ typedef struct { - opaque *allocd; /* pointer to allocated data */ - opaque *data; /* API: pointer to data to copy from */ + opaque *data; size_t max_length; - size_t length; /* API: current length */ + size_t length; gnutls_realloc_function realloc_func; gnutls_alloc_function alloc_func; gnutls_free_function free_func; @@ -46,40 +45,24 @@ void _gnutls_string_init (gnutls_string *, gnutls_alloc_function, gnutls_realloc_function, gnutls_free_function); void _gnutls_string_clear (gnutls_string *); -int _gnutls_string_resize (gnutls_string *, size_t new_size); +/* Beware, do not clear the string, after calling this + * function + */ +gnutls_datum_t _gnutls_string2datum (gnutls_string * str); + +int _gnutls_string_copy_str (gnutls_string * dest, const char *src); int _gnutls_string_append_str (gnutls_string *, const char *str); int _gnutls_string_append_data (gnutls_string *, const void *data, size_t data_size); - -void _gnutls_string_get_data( gnutls_string *, void*, size_t *size); -void _gnutls_string_get_datum( gnutls_string *, gnutls_datum*, size_t max_size); - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -#endif - -int _gnutls_string_append_printf (gnutls_string * dest, const char *fmt, ...) - __attribute__ ((format (printf, 2, 3))); - -typedef gnutls_string gnutls_buffer; - -#define _gnutls_buffer_init(buf) _gnutls_string_init(buf, gnutls_malloc, gnutls_realloc, gnutls_free); -#define _gnutls_buffer_clear _gnutls_string_clear -#define _gnutls_buffer_append _gnutls_string_append_data -#define _gnutls_buffer_get_datum _gnutls_string_get_datum -#define _gnutls_buffer_get_data _gnutls_string_get_data -#define _gnutls_buffer_resize _gnutls_string_resize +int _gnutls_string_append_printf (gnutls_string * dest, const char *fmt, ...); char *_gnutls_bin2hex (const void *old, size_t oldlen, char *buffer, size_t buffer_size); int _gnutls_hex2bin (const opaque * hex_data, int hex_size, opaque * bin_data, size_t * bin_size); -int _gnutls_hostname_compare (const char *certname, size_t certnamesize, const char *hostname); +int _gnutls_hostname_compare (const char *certname, const char *hostname); #define MAX_CN 256 #endif diff -Nru gnutls26-2.8.6/lib/gnutls_supplemental.c gnutls26-2.4.1/lib/gnutls_supplemental.c --- gnutls26-2.8.6/lib/gnutls_supplemental.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_supplemental.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008 Free Software Foundation + * Copyright (C) 2007 Free Software Foundation * * Author: Simon Josefsson * @@ -51,8 +51,10 @@ #include "gnutls_num.h" typedef int (*supp_recv_func) (gnutls_session_t session, - const opaque * data, size_t data_size); -typedef int (*supp_send_func) (gnutls_session_t session, gnutls_buffer * buf); + const opaque *data, + size_t data_size); +typedef int (*supp_send_func) (gnutls_session_t session, + gnutls_buffer *buf); typedef struct { @@ -63,7 +65,7 @@ } gnutls_supplemental_entry; gnutls_supplemental_entry _gnutls_supplemental[] = { - {0, 0, 0, 0} + { 0, 0, 0, 0 } }; const char * @@ -71,8 +73,8 @@ { gnutls_supplemental_entry *p; - for (p = _gnutls_supplemental; p->name != NULL; p++) - if (p->type == type) + for(p = _gnutls_supplemental; p->name != NULL; p++) + if(p->type == type) return p->name; return NULL; @@ -83,15 +85,15 @@ { gnutls_supplemental_entry *p; - for (p = _gnutls_supplemental; p->name != NULL; p++) - if (p->type == type) + for(p = _gnutls_supplemental; p->name != NULL; p++) + if(p->type == type) return p->supp_recv_func; return NULL; } int -_gnutls_gen_supplemental (gnutls_session_t session, gnutls_buffer * buf) +_gnutls_gen_supplemental (gnutls_session_t session, gnutls_buffer *buf) { gnutls_supplemental_entry *p; int ret; @@ -104,10 +106,11 @@ return ret; } - for (p = _gnutls_supplemental; p->name; p++) + for(p = _gnutls_supplemental; p->name; p++) { supp_send_func supp_send = p->supp_send_func; size_t sizepos = buf->length; + int ret; /* Make room for supplement type and length byte length field. */ ret = _gnutls_buffer_append (buf, "\0\0\0\0", 4); @@ -130,7 +133,7 @@ buf->data[sizepos] = 0; buf->data[sizepos + 1] = p->type; buf->data[sizepos + 2] = ((buf->length - sizepos - 4) >> 8) & 0xFF; - buf->data[sizepos + 3] = (buf->length - sizepos - 4) & 0xFF; + buf->data[sizepos + 3] = (buf->length - sizepos -4) & 0xFF; } else buf->length -= 4; @@ -140,7 +143,7 @@ buf->data[1] = ((buf->length - 3) >> 8) & 0xFF; buf->data[2] = (buf->length - 3) & 0xFF; - _gnutls_debug_log ("EXT[%p]: Sending %d bytes of supplemental data\n", + _gnutls_debug_log ("EXT[%x]: Sending %d bytes of supplemental data\n", session, buf->length); return buf->length; @@ -148,7 +151,8 @@ int _gnutls_parse_supplemental (gnutls_session_t session, - const uint8_t * data, int datalen) + const uint8_t * data, + int datalen) { const opaque *p = data; ssize_t dsize = datalen; @@ -158,9 +162,9 @@ total_size = _gnutls_read_uint24 (p); p += 3; - if (dsize != (ssize_t) total_size) + if (dsize != total_size) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; } @@ -178,7 +182,7 @@ supp_data_length = _gnutls_read_uint16 (p); p += 2; - _gnutls_debug_log ("EXT[%p]: Got supplemental type=%02x length=%d\n", + _gnutls_debug_log ("EXT[%x]: Got supplemental type=%02x length=%d\n", session, supp_data_type, supp_data_length); recv_func = get_supp_func_recv (supp_data_type); diff -Nru gnutls26-2.8.6/lib/gnutls_ui.c gnutls26-2.4.1/lib/gnutls_ui.c --- gnutls26-2.8.6/lib/gnutls_ui.c 2009-08-07 00:01:38.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_ui.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -43,7 +43,7 @@ * @session: is a #gnutls_session_t structure. * @bits: is the number of bits * - * This function sets the number of bits, for use in an Diffie-Hellman + * This function sets the number of bits, for use in an Diffie Hellman * key exchange. This is used both in DH ephemeral and DH anonymous * cipher suites. This will set the minimum size of the prime that * will be used for the handshake. @@ -51,9 +51,6 @@ * In the client side it sets the minimum accepted number of bits. If * a server sends a prime with less bits than that * %GNUTLS_E_DH_PRIME_UNACCEPTABLE will be returned by the handshake. - * - * This function has no effect in server side. - * **/ void gnutls_dh_set_prime_bits (gnutls_session_t session, unsigned int bits) @@ -69,9 +66,9 @@ * @raw_prime: will hold the prime. * * This function will return the group parameters used in the last - * Diffie-Hellman authentication with the peer. These are the prime + * Diffie Hellman authentication with the peer. These are the prime * and the generator used. This function should be used for both - * anonymous and ephemeral Diffie-Hellman. The output parameters must + * anonymous and ephemeral diffie Hellman. The output parameters must * be freed with gnutls_free(). * * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise @@ -136,9 +133,9 @@ * @raw_key: will hold the public key. * * This function will return the peer's public key used in the last - * Diffie-Hellman authentication. This function should be used for - * both anonymous and ephemeral Diffie-Hellman. The output parameters - * must be freed with gnutls_free(). + * Diffie Hellman authentication. This function should be used for + * both anonymous and ephemeral diffie Hellman. The output + * parameters must be freed with gnutls_free(). * * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise * an error code is returned. @@ -242,9 +239,9 @@ * gnutls_dh_get_secret_bits - return the bits used in DH authentication * @session: is a gnutls session * - * This function will return the bits used in the last Diffie-Hellman + * This function will return the bits used in the last Diffie Hellman * authentication with the peer. Should be used for both anonymous - * and ephemeral Diffie-Hellman. + * and ephemeral diffie Hellman. * * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise * an error code is returned. @@ -288,38 +285,17 @@ } } -static int -mpi_buf2bits (gnutls_datum_t *mpi_buf) -{ - bigint_t mpi; - int rc; - - rc = _gnutls_mpi_scan_nz (&mpi, mpi_buf->data, mpi_buf->size); - if (rc) - { - gnutls_assert (); - return rc; - } - - rc = _gnutls_mpi_get_nbits (mpi); - _gnutls_mpi_release (&mpi); - - return rc; -} /** * gnutls_dh_get_prime_bits - return the bits used in DH authentication * @session: is a gnutls session * * This function will return the bits of the prime used in the last - * Diffie-Hellman authentication with the peer. Should be used for - * both anonymous and ephemeral Diffie-Hellman. Note that some - * ciphers, like RSA and DSA without DHE, does not use a - * Diffie-Hellman exchange, and then this function will return 0. - * - * Returns: The Diffie-Hellman bit strength is returned, or 0 if no - * Diffie-Hellman exchange was done, or a negative error code on - * failure. + * Diffie Hellman authentication with the peer. Should be used for + * both anonymous and ephemeral diffie Hellman. + * + * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise + * an error code is returned. **/ int gnutls_dh_get_prime_bits (gnutls_session_t session) @@ -364,7 +340,8 @@ return GNUTLS_E_INVALID_REQUEST; } - return mpi_buf2bits (&dh->prime); + return (dh->prime.size) * 8; + } /** @@ -385,7 +362,7 @@ if (info == NULL) return GNUTLS_E_INTERNAL_ERROR; - return mpi_buf2bits (&info->rsa_export.modulus); + return info->rsa_export.modulus.size * 8; } /** @@ -393,10 +370,11 @@ * @session: is a gnutls session * * Get the Diffie-Hellman public key bit size. Can be used for both - * anonymous and ephemeral Diffie-Hellman. + * anonymous and ephemeral diffie Hellman. * - * Returns: the public key bit size used in the last Diffie-Hellman - * authentication with the peer, or a negative value in case of error. + * Returns: the public key bit size used in the last Diffie Hellman + * authentication with the peer, or a negative value in case of + * error. **/ int gnutls_dh_get_peers_public_bits (gnutls_session_t session) @@ -443,7 +421,8 @@ return GNUTLS_E_INVALID_REQUEST; } - return mpi_buf2bits (&dh->public_key); + return dh->public_key.size * 8; + } /* CERTIFICATE STUFF */ @@ -529,7 +508,14 @@ int gnutls_certificate_client_get_request_status (gnutls_session_t session) { - return session->key->certificate_requested; + cert_auth_info_t info; + + CHECK_AUTH (GNUTLS_CRD_CERTIFICATE, 0); + + info = _gnutls_get_auth_info (session); + if (info == NULL) + return GNUTLS_E_INTERNAL_ERROR; + return info->certificate_requested; } /** @@ -570,11 +556,10 @@ if (result) { int ret = _gnutls_hash_init (&td, HASH2MAC (algo)); - if (ret < 0) - { - gnutls_assert (); - return ret; - } + if (ret < 0) { + gnutls_assert(); + return ret; + } _gnutls_hash (&td, data->data, data->size); @@ -588,11 +573,11 @@ /** * gnutls_certificate_set_dh_params - set the DH parameters for a server to use * @res: is a gnutls_certificate_credentials_t structure - * @dh_params: is a structure that holds Diffie-Hellman parameters. + * @dh_params: is a structure that holds diffie hellman parameters. * - * This function will set the Diffie-Hellman parameters for a + * This function will set the diffie hellman parameters for a * certificate server to use. These parameters will be used in - * Ephemeral Diffie-Hellman cipher suites. Note that only a pointer + * Ephemeral Diffie Hellman cipher suites. Note that only a pointer * to the parameters are stored in the certificate handle, so if you * deallocate the parameters before the certificate is deallocated, * you must change the parameters stored in the certificate first. @@ -611,7 +596,7 @@ * @func: is the function to be called * * This function will set a callback in order for the server to get - * the Diffie-Hellman or RSA parameters for certificate + * the diffie hellman or RSA parameters for certificate * authentication. The callback should return zero on success. * **/ @@ -652,8 +637,8 @@ * limits. **/ void -gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t res, - unsigned int max_bits, +gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t + res, unsigned int max_bits, unsigned int max_depth) { res->verify_depth = max_depth; @@ -682,7 +667,7 @@ * @func: is the function to be called * * This function will set a callback in order for the server to get - * the Diffie-Hellman or RSA parameters for psk authentication. The + * the diffie hellman or RSA parameters for psk authentication. The * callback should return zero on success. **/ void @@ -698,7 +683,7 @@ * @func: is the function to be called * * This function will set a callback in order for the server to get - * the Diffie-Hellman or RSA parameters for anonymous authentication. + * the diffie hellman or RSA parameters for anonymous authentication. * The callback should return zero on success. **/ void diff -Nru gnutls26-2.8.6/lib/gnutls_v2_compat.c gnutls26-2.4.1/lib/gnutls_v2_compat.c --- gnutls26-2.8.6/lib/gnutls_v2_compat.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_v2_compat.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2004, 2005, 2006, 2008 Free Software Foundation + * Copyright (C) 2001, 2004, 2005, 2006 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -39,8 +39,7 @@ #include "gnutls_hash_int.h" #include "gnutls_db.h" #include "gnutls_extensions.h" -#include "gnutls_auth.h" -#include "gnutls_v2_compat.h" +#include "gnutls_auth_int.h" /* This selects the best supported ciphersuite from the ones provided */ static int @@ -51,7 +50,7 @@ opaque *_data; int _datalen; - _gnutls_handshake_log ("HSK[%p]: Parsing a version 2.0 client hello.\n", + _gnutls_handshake_log ("HSK[%x]: Parsing a version 2.0 client hello.\n", session); _data = gnutls_malloc (datalen); @@ -98,7 +97,7 @@ int ret = 0; uint16_t sizeOfSuites; gnutls_protocol_t adv_version; - opaque rnd[GNUTLS_RANDOM_SIZE]; + opaque rnd[TLS_RANDOM_SIZE]; int len = datalen; int err; uint16_t challenge; @@ -110,15 +109,15 @@ DECR_LEN (len, 2); _gnutls_handshake_log - ("HSK[%p]: SSL 2.0 Hello: Client's version: %d.%d\n", session, + ("HSK[%x]: SSL 2.0 Hello: Client's version: %d.%d\n", session, data[pos], data[pos + 1]); set_adv_version (session, data[pos], data[pos + 1]); adv_version = _gnutls_version_get (data[pos], data[pos + 1]); - ret = _gnutls_negotiate_version (session, adv_version); - if (ret < 0) + ret = _gnutls_negotiate_version( session, adv_version); + if (ret < 0) { gnutls_assert (); return ret; @@ -147,7 +146,7 @@ challenge = _gnutls_read_uint16 (&data[pos]); pos += 2; - if (challenge < 16 || challenge > GNUTLS_RANDOM_SIZE) + if (challenge < 16 || challenge > TLS_RANDOM_SIZE) { gnutls_assert (); return GNUTLS_E_UNSUPPORTED_VERSION_PACKET; @@ -155,10 +154,10 @@ /* call the user hello callback */ - ret = _gnutls_user_hello_func (session, adv_version); - if (ret < 0) + ret = _gnutls_user_hello_func( session, adv_version); + if (ret < 0) { - gnutls_assert (); + gnutls_assert(); return ret; } @@ -179,8 +178,8 @@ if (_gnutls_get_kx_cred (session, _gnutls_cipher_suite_get_kx_algo (&session->security_parameters. - current_cipher_suite), &err) == NULL - && err != 0) + current_cipher_suite), + &err) == NULL && err != 0) { gnutls_assert (); return GNUTLS_E_INSUFFICIENT_CREDENTIALS; @@ -198,7 +197,7 @@ { _gnutls_handshake_log - ("HSK[%p]: SSL 2.0 Hello: Cannot find the appropriate handler for the KX algorithm\n", + ("HSK[%x]: SSL 2.0 Hello: Cannot find the appropriate handler for the KX algorithm\n", session); gnutls_assert (); @@ -213,9 +212,9 @@ pos += session_id_len; DECR_LEN (len, challenge); - memset (rnd, 0, GNUTLS_RANDOM_SIZE); + memset (rnd, 0, TLS_RANDOM_SIZE); - memcpy (&rnd[GNUTLS_RANDOM_SIZE - challenge], &data[pos], challenge); + memcpy (&rnd[TLS_RANDOM_SIZE - challenge], &data[pos], challenge); _gnutls_set_client_random (session, rnd); @@ -233,19 +232,22 @@ ret = _gnutls_server_restore_session (session, session_id, session_id_len); if (ret == 0) - { /* resumed! */ + { /* resumed! */ /* get the new random values */ - memcpy (session->internals.resumed_security_parameters.server_random, - session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); - memcpy (session->internals.resumed_security_parameters.client_random, - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); + memcpy (session->internals.resumed_security_parameters. + server_random, session->security_parameters.server_random, + TLS_RANDOM_SIZE); + memcpy (session->internals.resumed_security_parameters. + client_random, session->security_parameters.client_random, + TLS_RANDOM_SIZE); session->internals.resumed = RESUME_TRUE; return 0; } else { - _gnutls_generate_session_id (session->security_parameters.session_id, + _gnutls_generate_session_id (session->security_parameters. + session_id, &session->security_parameters. session_id_size); session->internals.resumed = RESUME_FALSE; diff -Nru gnutls26-2.8.6/lib/gnutls_x509.c gnutls26-2.4.1/lib/gnutls_x509.c --- gnutls26-2.8.6/lib/gnutls_x509.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_x509.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -23,12 +23,13 @@ */ #include -#include "gnutls_auth.h" +#include "gnutls_auth_int.h" #include "gnutls_errors.h" #include #include #include "gnutls_dh.h" #include "gnutls_num.h" +#include "libtasn1.h" #include "gnutls_datum.h" #include #include @@ -131,7 +132,8 @@ */ peer_certificate_list_size = info->ncerts; peer_certificate_list = - gnutls_calloc (peer_certificate_list_size, sizeof (gnutls_x509_crt_t)); + gnutls_calloc (1, + peer_certificate_list_size * sizeof (gnutls_x509_crt_t)); if (peer_certificate_list == NULL) { gnutls_assert (); @@ -171,12 +173,12 @@ /* Verify certificate */ - ret = gnutls_x509_crt_list_verify (peer_certificate_list, - peer_certificate_list_size, - cred->x509_ca_list, cred->x509_ncas, - cred->x509_crl_list, cred->x509_ncrls, - cred->verify_flags | session->internals.priorities.additional_verify_flags, - status); + ret = + gnutls_x509_crt_list_verify (peer_certificate_list, + peer_certificate_list_size, + cred->x509_ca_list, cred->x509_ncas, + cred->x509_crl_list, cred->x509_ncrls, + cred->verify_flags, status); CLEAR_CERTS; @@ -255,8 +257,9 @@ return 0; } -/* Reads a DER encoded certificate list from memory and stores it to a - * gnutls_cert structure. Returns the number of certificates parsed. +/* Reads a DER encoded certificate list from memory and stores it to + * a gnutls_cert structure. This is only called if PKCS7 read fails. + * returns the number of certificates parsed (1) */ static int parse_crt_mem (gnutls_cert ** cert_list, unsigned *ncerts, @@ -289,8 +292,9 @@ return 1; /* one certificate parsed */ } -/* Reads a DER encoded certificate list from memory and stores it to a - * gnutls_cert structure. Returns the number of certificates parsed. +/* Reads a DER encoded certificate list from memory and stores it to + * a gnutls_cert structure. This is only called if PKCS7 read fails. + * returns the number of certificates parsed (1) */ static int parse_der_cert_mem (gnutls_cert ** cert_list, unsigned *ncerts, @@ -324,6 +328,133 @@ return ret; } +#define CERT_PEM 1 + + +/* Reads a PKCS7 base64 encoded certificate list from memory and stores it to + * a gnutls_cert structure. + * returns the number of certificate parsed + */ +static int +parse_pkcs7_cert_mem (gnutls_cert ** cert_list, unsigned *ncerts, const + void *input_cert, int input_cert_size, int flags) +{ +#ifdef ENABLE_PKI + int i, j, count; + gnutls_datum_t tmp, tmp2; + int ret; + opaque *pcert = NULL; + size_t pcert_size; + gnutls_pkcs7_t pkcs7; + + ret = gnutls_pkcs7_init (&pkcs7); + if (ret < 0) + { + gnutls_assert (); + return ret; + } + + if (flags & CERT_PEM) + ret = gnutls_pkcs7_import (pkcs7, &tmp, GNUTLS_X509_FMT_PEM); + else + ret = gnutls_pkcs7_import (pkcs7, &tmp, GNUTLS_X509_FMT_DER); + if (ret < 0) + { + /* if we failed to read the structure, + * then just try to decode a plain DER + * certificate. + */ + gnutls_assert (); + gnutls_pkcs7_deinit (pkcs7); +#endif + return parse_der_cert_mem (cert_list, ncerts, + input_cert, input_cert_size); +#ifdef ENABLE_PKI + } + + i = *ncerts + 1; + + /* tmp now contains the decoded certificate list */ + tmp.data = (opaque *) input_cert; + tmp.size = input_cert_size; + + ret = gnutls_pkcs7_get_crt_count (pkcs7); + + if (ret < 0) + { + gnutls_assert (); + gnutls_pkcs7_deinit (pkcs7); + return ret; + } + count = ret; + + j = count - 1; + do + { + pcert_size = 0; + ret = gnutls_pkcs7_get_crt_raw (pkcs7, j, NULL, &pcert_size); + if (ret != GNUTLS_E_MEMORY_ERROR) + { + count--; + continue; + } + + pcert = gnutls_malloc (pcert_size); + if (ret == GNUTLS_E_MEMORY_ERROR) + { + gnutls_assert (); + count--; + continue; + } + + /* read the certificate + */ + ret = gnutls_pkcs7_get_crt_raw (pkcs7, j, pcert, &pcert_size); + + j--; + + if (ret >= 0) + { + *cert_list = + (gnutls_cert *) gnutls_realloc_fast (*cert_list, + i * sizeof (gnutls_cert)); + + if (*cert_list == NULL) + { + gnutls_assert (); + gnutls_free (pcert); + return GNUTLS_E_MEMORY_ERROR; + } + + tmp2.data = pcert; + tmp2.size = pcert_size; + + ret = + _gnutls_x509_raw_cert_to_gcert (&cert_list[0][i - 1], &tmp2, 0); + + if (ret < 0) + { + gnutls_assert (); + gnutls_pkcs7_deinit (pkcs7); + gnutls_free (pcert); + return ret; + } + + i++; + } + + gnutls_free (pcert); + + } + while (ret >= 0 && j >= 0); + + *ncerts = i - 1; + + gnutls_pkcs7_deinit (pkcs7); + return count; +#endif +} + /* Reads a base64 encoded certificate list from memory and stores it to * a gnutls_cert structure. Returns the number of certificate parsed. */ @@ -337,6 +468,18 @@ gnutls_datum_t tmp; int ret, count; +#ifdef ENABLE_PKI + if ((ptr = memmem (input_cert, input_cert_size, + PEM_PKCS7_SEP, sizeof (PEM_PKCS7_SEP) - 1)) != NULL) + { + size = strlen (ptr); + + ret = parse_pkcs7_cert_mem (cert_list, ncerts, ptr, size, CERT_PEM); + + return ret; + } +#endif + /* move to the certificate */ ptr = memmem (input_cert, input_cert_size, @@ -454,13 +597,14 @@ res->cert_list_length[res->ncerts] = 0; if (type == GNUTLS_X509_FMT_DER) - ret = parse_der_cert_mem (&res->cert_list[res->ncerts], - &res->cert_list_length[res->ncerts], - cert, cert_size); + ret = parse_pkcs7_cert_mem (&res->cert_list[res->ncerts], + &res->cert_list_length[res->ncerts], + cert, cert_size, 0); else - ret = parse_pem_cert_mem (&res->cert_list[res->ncerts], - &res->cert_list_length[res->ncerts], cert, - cert_size); + ret = + parse_pem_cert_mem (&res->cert_list[res->ncerts], + &res->cert_list_length[res->ncerts], cert, + cert_size); if (ret < 0) { @@ -535,12 +679,9 @@ ret = gnutls_x509_privkey_import (tmpkey, raw_key, type); -#ifdef ENABLE_PKI /* If normal key decoding doesn't work try decoding a plain PKCS #8 key */ if (ret < 0) - ret = gnutls_x509_privkey_import_pkcs8 (tmpkey, raw_key, type, - NULL, GNUTLS_PKCS_PLAIN); -#endif + ret = gnutls_x509_privkey_import_pkcs8( tmpkey, raw_key, type, NULL, GNUTLS_PKCS_PLAIN); if (ret < 0) { @@ -590,8 +731,7 @@ tmp.size = key_size; ret = - _gnutls_x509_raw_privkey_to_gkey (&res->pkey[res->ncerts], &tmp, - type); + _gnutls_x509_raw_privkey_to_gkey (&res->pkey[res->ncerts], &tmp, type); if (ret < 0) { gnutls_assert (); @@ -653,44 +793,44 @@ } /** - * gnutls_certificate_set_x509_key_mem - Used to set keys in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. - * @cert: contains a certificate list (path) for the specified private key - * @key: is the private key, or %NULL - * @type: is PEM or DER - * - * This function sets a certificate/private key pair in the - * gnutls_certificate_credentials_t structure. This function may be called - * more than once (in case multiple keys/certificates exist for the - * server). - * - * Currently are supported: RSA PKCS-1 encoded private keys, - * DSA private keys. - * - * DSA private keys are encoded the OpenSSL way, which is an ASN.1 - * DER sequence of 6 INTEGERs - version, p, q, g, pub, priv. - * - * Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates - * is supported. This means that certificates intended for signing cannot - * be used for ciphersuites that require encryption. - * - * If the certificate and the private key are given in PEM encoding - * then the strings that hold their values must be null terminated. - * - * The @key may be %NULL if you are using a sign callback, see - * gnutls_sign_callback_set(). - * - * Returns: %GNUTLS_E_SUCCESS on success, or an error code. - **/ + * gnutls_certificate_set_x509_key_mem - Used to set keys in a gnutls_certificate_credentials_t structure + * @res: is an #gnutls_certificate_credentials_t structure. + * @cert: contains a certificate list (path) for the specified private key + * @key: is the private key, or %NULL + * @type: is PEM or DER + * + * This function sets a certificate/private key pair in the + * gnutls_certificate_credentials_t structure. This function may be called + * more than once (in case multiple keys/certificates exist for the + * server). + * + * Currently are supported: RSA PKCS-1 encoded private keys, + * DSA private keys. + * + * DSA private keys are encoded the OpenSSL way, which is an ASN.1 + * DER sequence of 6 INTEGERs - version, p, q, g, pub, priv. + * + * Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates + * is supported. This means that certificates intended for signing cannot + * be used for ciphersuites that require encryption. + * + * If the certificate and the private key are given in PEM encoding + * then the strings that hold their values must be null terminated. + * + * The @key may be %NULL if you are using a sign callback, see + * gnutls_sign_callback_set(). + * + * Returns: %GNUTLS_E_SUCCESS on success, or an error code. + **/ int -gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, +gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * cert, const gnutls_datum_t * key, gnutls_x509_crt_fmt_t type) { int ret; - /* this should be first + /* this should be first */ if ((ret = read_key_mem (res, key ? key->data : NULL, key ? key->size : 0, type)) < 0) @@ -712,7 +852,7 @@ /** * gnutls_certificate_set_x509_key - Used to set keys in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @cert_list: contains a certificate list (path) for the specified private key * @cert_list_size: holds the size of the certificate list * @key: is a gnutls_x509_privkey_t key @@ -798,37 +938,37 @@ } /** - * gnutls_certificate_set_x509_key_file - Used to set keys in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. - * @certfile: is a file that containing the certificate list (path) for - * the specified private key, in PKCS7 format, or a list of certificates - * @keyfile: is a file that contains the private key - * @type: is PEM or DER - * - * This function sets a certificate/private key pair in the - * gnutls_certificate_credentials_t structure. This function may be - * called more than once (in case multiple keys/certificates exist - * for the server). - * - * Currently only PKCS-1 encoded RSA and DSA private keys are accepted by - * this function. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an error code. - **/ + * gnutls_certificate_set_x509_key_file - Used to set keys in a gnutls_certificate_credentials_t structure + * @res: is an #gnutls_certificate_credentials_t structure. + * @CERTFILE: is a file that containing the certificate list (path) for + * the specified private key, in PKCS7 format, or a list of certificates + * @KEYFILE: is a file that contains the private key + * @type: is PEM or DER + * + * This function sets a certificate/private key pair in the + * gnutls_certificate_credentials_t structure. This function may be + * called more than once (in case multiple keys/certificates exist + * for the server). + * + * Currently only PKCS-1 encoded RSA and DSA private keys are accepted by + * this function. + * + * Returns: %GNUTLS_E_SUCCESS on success, or an error code. + **/ int -gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, +gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t + res, const char *CERTFILE, + const char *KEYFILE, gnutls_x509_crt_fmt_t type) { int ret; /* this should be first */ - if ((ret = read_key_file (res, keyfile, type)) < 0) + if ((ret = read_key_file (res, KEYFILE, type)) < 0) return ret; - if ((ret = read_cert_file (res, certfile, type)) < 0) + if ((ret = read_cert_file (res, CERTFILE, type)) < 0) return ret; res->ncerts++; @@ -1031,7 +1171,7 @@ ptr3 = memmem (ptr, size, PEM_CERT_SEP, sizeof (PEM_CERT_SEP) - 1); if (ptr3 == NULL) ptr3 = memmem (ptr, size, - PEM_CERT_SEP2, sizeof (PEM_CERT_SEP2) - 1); + PEM_CERT_SEP2, sizeof (PEM_CERT_SEP2) - 1); ptr = ptr3; size = input_cert_size - (ptr - input_cert); @@ -1050,8 +1190,9 @@ return count; } -/* Reads a DER encoded certificate list from memory and stores it to a - * gnutls_cert structure. Returns the number of certificates parsed. +/* Reads a DER encoded certificate list from memory and stores it to + * a gnutls_cert structure. This is only called if PKCS7 read fails. + * returns the number of certificates parsed (1) */ static int parse_der_ca_mem (gnutls_x509_crt_t ** cert_list, unsigned *ncerts, @@ -1099,7 +1240,7 @@ /** * gnutls_certificate_set_x509_trust_mem - Used to add trusted CAs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @ca: is a list of trusted CAs or a DER certificate * @type: is DER or PEM * @@ -1117,8 +1258,8 @@ * on error. **/ int -gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * ca, +gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * ca, gnutls_x509_crt_fmt_t type) { int ret, ret2; @@ -1138,7 +1279,7 @@ /** * gnutls_certificate_set_x509_trust - Used to add trusted CAs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @ca_list: is a list of trusted CAs * @ca_list_size: holds the size of the CA list * @@ -1175,19 +1316,19 @@ for (i = 0; i < ca_list_size; i++) { - ret = gnutls_x509_crt_init (&res->x509_ca_list[res->x509_ncas]); + ret = gnutls_x509_crt_init (&res->x509_ca_list[ res->x509_ncas]); if (ret < 0) { gnutls_assert (); return ret; } - ret = _gnutls_x509_crt_cpy (res->x509_ca_list[res->x509_ncas], + ret = _gnutls_x509_crt_cpy (res->x509_ca_list[ res->x509_ncas], ca_list[i]); if (ret < 0) { gnutls_assert (); - gnutls_x509_crt_deinit (res->x509_ca_list[res->x509_ncas]); + gnutls_x509_crt_deinit (res->x509_ca_list[ res->x509_ncas]); return ret; } res->x509_ncas++; @@ -1201,7 +1342,7 @@ /** * gnutls_certificate_set_x509_trust_file - Used to add trusted CAs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @cafile: is a file containing the list of trusted CAs (DER or PEM list) * @type: is PEM or DER * @@ -1219,8 +1360,8 @@ * error. **/ int -gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t res, - const char *cafile, +gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t + res, const char *cafile, gnutls_x509_crt_fmt_t type) { int ret, ret2; @@ -1234,9 +1375,11 @@ } if (type == GNUTLS_X509_FMT_DER) - ret = parse_der_ca_mem (&res->x509_ca_list, &res->x509_ncas, data, size); + ret = parse_der_ca_mem (&res->x509_ca_list, &res->x509_ncas, + data, size); else - ret = parse_pem_ca_mem (&res->x509_ca_list, &res->x509_ncas, data, size); + ret = parse_pem_ca_mem (&res->x509_ca_list, &res->x509_ncas, + data, size); free (data); @@ -1335,8 +1478,9 @@ return count; } -/* Reads a DER encoded certificate list from memory and stores it to a - * gnutls_cert structure. Returns the number of certificates parsed. +/* Reads a DER encoded certificate list from memory and stores it to + * a gnutls_cert structure. This is only called if PKCS7 read fails. + * returns the number of certificates parsed (1) */ static int parse_der_crl_mem (gnutls_x509_crl_t ** crl_list, unsigned *ncrls, @@ -1421,7 +1565,7 @@ /** * gnutls_certificate_set_x509_crl_mem - Used to add CRLs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @CRL: is a list of trusted CRLs. They should have been verified before. * @type: is DER or PEM * @@ -1434,8 +1578,8 @@ * Returns: number of CRLs processed, or a negative value on error. **/ int -gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * CRL, +gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t + res, const gnutls_datum_t * CRL, gnutls_x509_crt_fmt_t type) { int ret; @@ -1448,7 +1592,7 @@ /** * gnutls_certificate_set_x509_crl - Used to add CRLs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @crl_list: is a list of trusted CRLs. They should have been verified before. * @crl_list_size: holds the size of the crl_list * @@ -1503,7 +1647,7 @@ /** * gnutls_certificate_set_x509_crl_file - Used to add CRLs in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @crlfile: is a file containing the list of verified CRLs (DER or PEM list) * @type: is PEM or DER * @@ -1516,8 +1660,8 @@ * Returns: number of CRLs processed or a negative value on error. **/ int -gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t res, - const char *crlfile, +gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t + res, const char *crlfile, gnutls_x509_crt_fmt_t type) { int ret; @@ -1558,19 +1702,9 @@ gnutls_x509_crt_t * cert, gnutls_x509_crl_t * crl) { gnutls_pkcs12_bag_t bag = NULL; - int idx = 0; + int index = 0; int ret; - size_t cert_id_size = 0; - size_t key_id_size = 0; - opaque cert_id[20]; - opaque key_id[20]; - int privkey_ok = 0; - - *cert = NULL; - *key = NULL; - *crl = NULL; - /* find the first private key */ for (;;) { int elements_in_bag; @@ -1584,7 +1718,7 @@ goto done; } - ret = gnutls_pkcs12_get_bag (p12, idx, bag); + ret = gnutls_pkcs12_get_bag (p12, index, bag); if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) break; if (ret < 0) @@ -1640,12 +1774,6 @@ { case GNUTLS_BAG_PKCS8_ENCRYPTED_KEY: case GNUTLS_BAG_PKCS8_KEY: - if (*key != NULL) /* too simple to continue */ - { - gnutls_assert(); - break; - } - ret = gnutls_x509_privkey_init (key); if (ret < 0) { @@ -1659,117 +1787,11 @@ if (ret < 0) { gnutls_assert (); - gnutls_x509_privkey_deinit( *key); goto done; } - - key_id_size = sizeof(key_id); - ret = gnutls_x509_privkey_get_key_id( *key, 0, key_id, &key_id_size); - if (ret < 0) - { - gnutls_assert (); - gnutls_x509_privkey_deinit( *key); - goto done; - } - - privkey_ok = 1; /* break */ - break; - default: break; - } - } - - idx++; - gnutls_pkcs12_bag_deinit (bag); - - if (privkey_ok != 0) /* private key was found */ - break; - } - - if (privkey_ok == 0) /* no private key */ - { - gnutls_assert(); - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - /* now find the corresponding certificate - */ - idx = 0; - bag = NULL; - for (;;) - { - int elements_in_bag; - int i; - - ret = gnutls_pkcs12_bag_init (&bag); - if (ret < 0) - { - bag = NULL; - gnutls_assert (); - goto done; - } - - ret = gnutls_pkcs12_get_bag (p12, idx, bag); - if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - if (ret < 0) - { - gnutls_assert (); - goto done; - } - - ret = gnutls_pkcs12_bag_get_type (bag, 0); - if (ret < 0) - { - gnutls_assert (); - goto done; - } - - if (ret == GNUTLS_BAG_ENCRYPTED) - { - ret = gnutls_pkcs12_bag_decrypt (bag, password); - if (ret < 0) - { - gnutls_assert (); - goto done; - } - } - - elements_in_bag = gnutls_pkcs12_bag_get_count (bag); - if (elements_in_bag < 0) - { - gnutls_assert (); - goto done; - } - - for (i = 0; i < elements_in_bag; i++) - { - int type; - gnutls_datum_t data; - - type = gnutls_pkcs12_bag_get_type (bag, i); - if (type < 0) - { - gnutls_assert (); - goto done; - } - - ret = gnutls_pkcs12_bag_get_data (bag, i, &data); - if (ret < 0) - { - gnutls_assert (); - goto done; - } - - switch (type) - { case GNUTLS_BAG_CERTIFICATE: - if (*cert != NULL) /* no need to set it again */ - { - gnutls_assert(); - break; - } - ret = gnutls_x509_crt_init (cert); if (ret < 0) { @@ -1782,34 +1804,11 @@ if (ret < 0) { gnutls_assert (); - gnutls_x509_crt_deinit( *cert); - goto done; - } - - /* check if the key id match */ - cert_id_size = sizeof(cert_id); - ret = gnutls_x509_crt_get_key_id( *cert, 0, cert_id, &cert_id_size); - if (ret < 0) - { - gnutls_assert (); - gnutls_x509_crt_deinit( *cert); goto done; } - - if (memcmp( cert_id, key_id, cert_id_size) != 0) - { /* they don't match - skip the certificate */ - gnutls_x509_crt_deinit( *cert); - *cert = NULL; - } break; case GNUTLS_BAG_CRL: - if (*crl != NULL) - { - gnutls_assert(); - break; - } - ret = gnutls_x509_crl_init (crl); if (ret < 0) { @@ -1821,7 +1820,6 @@ if (ret < 0) { gnutls_assert (); - gnutls_x509_crl_deinit( *crl); goto done; } break; @@ -1835,7 +1833,7 @@ } } - idx++; + index++; gnutls_pkcs12_bag_deinit (bag); } @@ -1850,7 +1848,7 @@ /** * gnutls_certificate_set_x509_simple_pkcs12_file: - * @res: is a #gnutls_certificate_credentials_t structure. + * @res: is an #gnutls_certificate_credentials_t structure. * @pkcs12file: filename of file containing PKCS#12 blob. * @type: is PEM or DER of the @pkcs12file. * @password: optional password used to decrypt PKCS#12 file, bags and keys. @@ -1881,72 +1879,17 @@ * Returns: %GNUTLS_E_SUCCESS on success, or an error code. **/ int - gnutls_certificate_set_x509_simple_pkcs12_file - (gnutls_certificate_credentials_t res, const char *pkcs12file, - gnutls_x509_crt_fmt_t type, const char *password) -{ - gnutls_datum_t p12blob; - size_t size; - int ret; - - p12blob.data = read_binary_file (pkcs12file, &size); - p12blob.size = (unsigned int) size; - if (p12blob.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_FILE_ERROR; - } - - ret = gnutls_certificate_set_x509_simple_pkcs12_mem(res, &p12blob, type, password); - free(p12blob.data); - - return ret; -} - -/** - * gnutls_certificate_set_x509_simple_pkcs12_mem: - * @res: is a #gnutls_certificate_credentials_t structure. - * @p12blob: the PKCS#12 blob. - * @type: is PEM or DER of the @pkcs12file. - * @password: optional password used to decrypt PKCS#12 file, bags and keys. - * - * This function sets a certificate/private key pair and/or a CRL in - * the gnutls_certificate_credentials_t structure. This function may - * be called more than once (in case multiple keys/certificates exist - * for the server). - * - * MAC:ed PKCS#12 files are supported. Encrypted PKCS#12 bags are - * supported. Encrypted PKCS#8 private keys are supported. However, - * only password based security, and the same password for all - * operations, are supported. - * - * The private keys may be RSA PKCS#1 or DSA private keys encoded in - * the OpenSSL way. - * - * PKCS#12 file may contain many keys and/or certificates, and there - * is no way to identify which key/certificate pair you want. You - * should make sure the PKCS#12 file only contain one key/certificate - * pair and/or one CRL. - * - * It is believed that the limitations of this function is acceptable - * for most usage, and that any more flexibility would introduce - * complexity that would make it harder to use this functionality at - * all. - * - * Returns: %GNUTLS_E_SUCCESS on success, or an error code. - * - * Since: 2.8.0 - **/ -int - gnutls_certificate_set_x509_simple_pkcs12_mem - (gnutls_certificate_credentials_t res, const gnutls_datum *p12blob, - gnutls_x509_crt_fmt_t type, const char *password) +gnutls_certificate_set_x509_simple_pkcs12_file +(gnutls_certificate_credentials_t res, const char *pkcs12file, + gnutls_x509_crt_fmt_t type, const char *password) { gnutls_pkcs12_t p12; + gnutls_datum_t p12blob; gnutls_x509_privkey_t key = NULL; gnutls_x509_crt_t cert = NULL; gnutls_x509_crl_t crl = NULL; int ret; + size_t size; ret = gnutls_pkcs12_init (&p12); if (ret < 0) @@ -1955,7 +1898,17 @@ return ret; } - ret = gnutls_pkcs12_import (p12, p12blob, type, 0); + p12blob.data = read_binary_file (pkcs12file, &size); + p12blob.size = (unsigned int)size; + if (p12blob.data == NULL) + { + gnutls_assert (); + gnutls_pkcs12_deinit (p12); + return GNUTLS_E_FILE_ERROR; + } + + ret = gnutls_pkcs12_import (p12, &p12blob, type, 0); + free (p12blob.data); if (ret < 0) { gnutls_assert (); @@ -2002,13 +1955,6 @@ } } - /* check if the key and certificate found match */ - if (key && (ret = _gnutls_check_key_cert_match (res)) < 0) - { - gnutls_assert (); - goto done; - } - ret = 0; done: @@ -2023,10 +1969,9 @@ } - /** * gnutls_certificate_free_crls - Used to free all the CRLs from a gnutls_certificate_credentials_t structure - * @sc: is a #gnutls_certificate_credentials_t structure. + * @sc: is an #gnutls_certificate_credentials_t structure. * * This function will delete all the CRLs associated * with the given credentials. diff -Nru gnutls26-2.8.6/lib/gnutls_x509.h gnutls26-2.4.1/lib/gnutls_x509.h --- gnutls26-2.8.6/lib/gnutls_x509.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutls_x509.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -29,6 +29,7 @@ #define PEM_CERT_SEP2 "-----BEGIN X509 CERTIFICATE" #define PEM_CERT_SEP "-----BEGIN CERTIFICATE" +#define PEM_PKCS7_SEP "-----BEGIN PKCS7" #define PEM_CRL_SEP "-----BEGIN X509 CRL" @@ -38,6 +39,9 @@ int _gnutls_check_key_usage (const gnutls_cert * cert, gnutls_kx_algorithm_t alg); +int _gnutls_x509_read_rsa_params (opaque * der, int dersize, mpi_t * params); +int _gnutls_x509_read_dsa_pubkey (opaque * der, int dersize, mpi_t * params); + int _gnutls_x509_raw_privkey_to_gkey (gnutls_privkey * privkey, const gnutls_datum_t * raw_key, gnutls_x509_crt_fmt_t type); diff -Nru gnutls26-2.8.6/lib/gnutlsxx.cpp gnutls26-2.4.1/lib/gnutlsxx.cpp --- gnutls26-2.8.6/lib/gnutlsxx.cpp 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/gnutlsxx.cpp 2008-06-19 11:00:10.000000000 +0100 @@ -398,11 +398,7 @@ const char* server_session::get_srp_username() const { -#ifdef ENABLE_SRP - return gnutls_srp_server_get_username( s); -#else - return NULL; -#endif + return gnutls_srp_server_get_username( s); } const char* server_session::get_psk_username() const @@ -460,9 +456,7 @@ void session::send_openpgp_cert( gnutls_openpgp_crt_status_t status) { -#ifdef ENABLE_OPENPGP - gnutls_openpgp_send_cert(s, status); -#endif + gnutls_openpgp_send_cert(s, status); } @@ -684,8 +678,6 @@ // SRP -#ifdef ENABLE_SRP - srp_server_credentials::srp_server_credentials() : credentials(GNUTLS_CRD_SRP) { RETWRAP(gnutls_srp_allocate_server_credentials( &cred)); @@ -730,8 +722,6 @@ gnutls_srp_set_client_credentials_function( cred, func); } -#endif /* ENABLE_SRP */ - // PSK psk_server_credentials::psk_server_credentials() : credentials(GNUTLS_CRD_PSK) diff -Nru gnutls26-2.8.6/lib/includes/gnutls/compat.h gnutls26-2.4.1/lib/includes/gnutls/compat.h --- gnutls26-2.8.6/lib/includes/gnutls/compat.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/compat.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -/* Typedefs for more compatibility with older GnuTLS. */ - -#ifndef GNUTLS_COMPAT_H -# define GNUTLS_COMPAT_H - -#define gnutls_cipher_algorithm gnutls_cipher_algorithm_t -#define gnutls_kx_algorithm gnutls_kx_algorithm_t -#define gnutls_paramsype gnutls_paramsype_t -#define gnutls_mac_algorithm gnutls_mac_algorithm_t -#define gnutls_digest_algorithm gnutls_digest_algorithm_t -#define gnutls_compression_method gnutls_compression_method_t -#define gnutls_connection_end gnutls_connection_end_t -#define gnutls_credentialsype gnutls_credentialsype_t -#define gnutls_certificateype gnutls_certificateype_t -#define gnutls_x509_crt_fmt gnutls_x509_crt_fmt_t -#define gnutls_openpgp_key_fmt gnutls_openpgp_key_fmt_t -#define gnutls_pk_algorithm gnutls_pk_algorithm_t -#define gnutls_sign_algorithm gnutls_sign_algorithm_t -#define gnutls_server_name gnutls_server_nameype_t -#define gnutls_protocol gnutls_protocol_version_t -#define gnutls_close_request gnutls_close_request_t -#define gnutls_openpgp_key_status gnutls_openpgp_key_status_t -#define gnutls_certificate_request gnutls_certificate_request_t -#define gnutls_certificate_status gnutls_certificate_status_t -#define gnutls_session gnutls_session_t -#define gnutls_alert_level gnutls_alert_level_t -#define gnutls_alert_description gnutls_alert_description_t -#define gnutls_x509_subject_alt_name gnutls_x509_subject_alt_name_t -#define gnutls_openpgp_key gnutls_openpgp_key_t -#define gnutls_openpgp_privkey gnutls_openpgp_privkey_t -#define gnutls_openpgp_keyring gnutls_openpgp_keyring_t -#define gnutls_x509_crt gnutls_x509_crt_t -#define gnutls_x509_privkey gnutls_x509_privkey_t -#define gnutls_x509_crl gnutls_x509_crl_t -#define gnutls_pkcs7 gnutls_pkcs7_t -#define gnutls_x509_crq gnutls_x509_crq_t -#define gnutls_pkcs_encrypt_flags gnutls_pkcs_encrypt_flags_t -#define gnutls_pkcs12_bag_type gnutls_pkcs12_bag_type_t -#define gnutls_pkcs12_bag gnutls_pkcs12_bag_t -#define gnutls_pkcs12 gnutls_pkcs12_t -#define gnutls_certificate_credentials gnutls_certificate_credentials_t -#define gnutls_anon_server_credentials gnutls_anon_server_credentials_t -#define gnutls_anon_client_credentials gnutls_anon_client_credentials_t -#define gnutls_srp_client_credentials gnutls_srp_client_credentials_t -#define gnutls_srp_server_credentials gnutls_srp_server_credentials_t -#define gnutls_dh_params gnutls_dh_params_t -#define gnutls_rsa_params gnutls_rsa_params_t -#define gnutls_params_type gnutls_params_type_t -#define gnutls_credentials_type gnutls_credentials_type_t -#define gnutls_certificate_type gnutls_certificate_type_t -#define gnutls_datum gnutls_datum_t -#define gnutls_transport_ptr gnutls_transport_ptr_t - -/* Old SRP alerts removed in 2.1.x because the TLS-SRP RFC was - modified to use the PSK alert. */ -#define GNUTLS_A_MISSING_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY -#define GNUTLS_A_UNKNOWN_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY - -/* OpenPGP stuff renamed in 2.1.x. */ -#define gnutls_openpgp_key_fmt_t gnutls_openpgp_crt_fmt_t -#define GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT -#define GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT -#define gnutls_openpgp_send_key gnutls_openpgp_send_cert -#define gnutls_openpgp_key_status_t gnutls_openpgp_crt_status_t -#define gnutls_openpgp_key_t gnutls_openpgp_crt_t -#define gnutls_openpgp_key_init gnutls_openpgp_crt_init -#define gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit -#define gnutls_openpgp_key_import gnutls_openpgp_crt_import -#define gnutls_openpgp_key_export gnutls_openpgp_crt_export -#define gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage -#define gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint -#define gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm -#define gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name -#define gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version -#define gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time -#define gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time -#define gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id -#define gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname - -/* OpenPGP stuff renamed in 2.3.x. */ -#define gnutls_openpgp_crt_get_id gnutls_openpgp_crt_get_key_id - -/* New better names renamed in 2.3.x, add these for backwards - compatibility with old poor names.*/ -#define GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL -#define GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE -#define GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL - -/* These old #define's violate the gnutls_* namespace. */ -#define TLS_MASTER_SIZE GNUTLS_MASTER_SIZE -#define TLS_RANDOM_SIZE GNUTLS_RANDOM_SIZE - -/* Namespace problems. */ -#define LIBGNUTLS_VERSION GNUTLS_VERSION -#define LIBGNUTLS_VERSION_MAJOR GNUTLS_VERSION_MAJOR -#define LIBGNUTLS_VERSION_MINOR GNUTLS_VERSION_MINOR -#define LIBGNUTLS_VERSION_PATCH GNUTLS_VERSION_PATCH -#define LIBGNUTLS_VERSION_NUMBER GNUTLS_VERSION_NUMBER -#define LIBGNUTLS_EXTRA_VERSION GNUTLS_VERSION - -#endif /* GNUTLS_COMPAT_H */ diff -Nru gnutls26-2.8.6/lib/includes/gnutls/crypto.h gnutls26-2.4.1/lib/includes/gnutls/crypto.h --- gnutls26-2.8.6/lib/includes/gnutls/crypto.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/crypto.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,295 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -#ifndef GNUTLS_CRYPTO_H -# define GNUTLS_CRYPTO_H - -# define GNUTLS_CRYPTO_API_VERSION 0x01 - -typedef struct -{ - int (*init) (void **ctx); - int (*setkey) (void *ctx, const void *key, size_t keysize); - int (*setiv) (void *ctx, const void *iv, size_t ivsize); - int (*encrypt) (void *ctx, const void *plain, size_t plainsize, - void *encr, size_t encrsize); - int (*decrypt) (void *ctx, const void *encr, size_t encrsize, - void *plain, size_t plainsize); - void (*deinit) (void *ctx); -} gnutls_crypto_single_cipher_st; - -typedef struct -{ - int (*init) (void **ctx); - int (*setkey) (void *ctx, const void *key, size_t keysize); - int (*hash) (void *ctx, const void *text, size_t textsize); - int (*copy) (void **dst_ctx, void *src_ctx); - int (*output) (void *src_ctx, void *digest, size_t digestsize); - void (*deinit) (void *ctx); -} gnutls_crypto_single_mac_st; - -typedef struct -{ - int (*init) (gnutls_cipher_algorithm_t, void **ctx); - int (*setkey) (void *ctx, const void *key, size_t keysize); - int (*setiv) (void *ctx, const void *iv, size_t ivsize); - int (*encrypt) (void *ctx, const void *plain, size_t plainsize, - void *encr, size_t encrsize); - int (*decrypt) (void *ctx, const void *encr, size_t encrsize, - void *plain, size_t plainsize); - void (*deinit) (void *ctx); -} gnutls_crypto_cipher_st; - -typedef struct -{ - int (*init) (gnutls_mac_algorithm_t, void **ctx); - int (*setkey) (void *ctx, const void *key, size_t keysize); - int (*hash) (void *ctx, const void *text, size_t textsize); - int (*copy) (void **dst_ctx, void *src_ctx); - int (*output) (void *src_ctx, void *digest, size_t digestsize); - void (*deinit) (void *ctx); -} gnutls_crypto_mac_st; - -/* the same... setkey should be null */ -typedef gnutls_crypto_single_mac_st gnutls_crypto_single_digest_st; -typedef gnutls_crypto_mac_st gnutls_crypto_digest_st; - -typedef enum gnutls_rnd_level -{ - /* fatal in parts of session if broken, i.e., vulnerable to - statistical analysis */ - GNUTLS_RND_NONCE = 0, - /* fatal in session if broken */ - GNUTLS_RND_RANDOM = 1, - /* fatal in many sessions if broken */ - GNUTLS_RND_KEY = 2 -} gnutls_rnd_level_t; - -typedef enum -{ - GNUTLS_PK_FLAG_NONE = 0 -} gnutls_pk_flag_t; - -typedef struct gnutls_crypto_rnd -{ - int (*init) (void **ctx); - int (*rnd) (void *ctx, int /* gnutls_rnd_level_t */ level, - void *data, size_t datasize); - void (*deinit) (void *ctx); -} gnutls_crypto_rnd_st; - -typedef void *bigint_t; - -typedef enum -{ - /* raw unsigned integer format */ - GNUTLS_MPI_FORMAT_USG = 0, - /* raw signed integer format - always a leading zero when positive */ - GNUTLS_MPI_FORMAT_STD = 1, - /* the pgp integer format */ - GNUTLS_MPI_FORMAT_PGP = 2 -} gnutls_bigint_format_t; - -typedef struct -{ - bigint_t g; /* group generator */ - bigint_t p; /* prime */ -} gnutls_group_st; - -/* Multi precision integer arithmetic */ -typedef struct gnutls_crypto_bigint -{ - bigint_t (*bigint_new) (int nbits); - void (*bigint_release) (bigint_t n); - /* 0 for equality, > 0 for m1>m2, < 0 for m1 ret == a */ - bigint_t (*bigint_set) (bigint_t a, const bigint_t b); - /* a = b -> ret == a */ - bigint_t (*bigint_set_ui) (bigint_t a, unsigned long b); - unsigned int (*bigint_get_nbits) (const bigint_t a); - /* w = b ^ e mod m */ - bigint_t (*bigint_powm) (bigint_t w, const bigint_t b, - const bigint_t e, const bigint_t m); - /* w = a + b mod m */ - bigint_t (*bigint_addm) (bigint_t w, const bigint_t a, - const bigint_t b, const bigint_t m); - /* w = a - b mod m */ - bigint_t (*bigint_subm) (bigint_t w, const bigint_t a, const bigint_t b, - const bigint_t m); - /* w = a * b mod m */ - bigint_t (*bigint_mulm) (bigint_t w, const bigint_t a, const bigint_t b, - const bigint_t m); - /* w = a + b */ bigint_t (*bigint_add) (bigint_t w, const bigint_t a, - const bigint_t b); - /* w = a - b */ bigint_t (*bigint_sub) (bigint_t w, const bigint_t a, - const bigint_t b); - /* w = a * b */ - bigint_t (*bigint_mul) (bigint_t w, const bigint_t a, const bigint_t b); - /* w = a + b */ - bigint_t (*bigint_add_ui) (bigint_t w, const bigint_t a, unsigned long b); - /* w = a - b */ - bigint_t (*bigint_sub_ui) (bigint_t w, const bigint_t a, unsigned long b); - /* w = a * b */ - bigint_t (*bigint_mul_ui) (bigint_t w, const bigint_t a, unsigned long b); - /* q = a / b */ - bigint_t (*bigint_div) (bigint_t q, const bigint_t a, const bigint_t b); - /* 0 if prime */ - int (*bigint_prime_check) (const bigint_t pp); - int (*bigint_generate_group) (gnutls_group_st * gg, unsigned int bits); - - /* reads an bigint from a buffer */ - /* stores an bigint into the buffer. returns - * GNUTLS_E_SHORT_MEMORY_BUFFER if buf_size is not sufficient to - * store this integer, and updates the buf_size; - */ - bigint_t (*bigint_scan) (const void *buf, size_t buf_size, - gnutls_bigint_format_t format); - int (*bigint_print) (const bigint_t a, void *buf, size_t * buf_size, - gnutls_bigint_format_t format); -} gnutls_crypto_bigint_st; - -#define GNUTLS_MAX_PK_PARAMS 6 - -typedef struct -{ - bigint_t params[GNUTLS_MAX_PK_PARAMS]; - unsigned int params_nr; /* the number of parameters */ - unsigned int flags; -} gnutls_pk_params_st; - -void gnutls_pk_params_release (gnutls_pk_params_st * p); -void gnutls_pk_params_init (gnutls_pk_params_st * p); - -/* params are: - * RSA: - * [0] is modulus - * [1] is public exponent - * [2] is private exponent (private key only) - * [3] is prime1 (p) (private key only) - * [4] is prime2 (q) (private key only) - * [5] is coefficient (u == inverse of p mod q) (private key only) - * - * note that other packages use inverse of q mod p, - * so we need to perform conversions using fixup_params(). - * - * DSA: - * [0] is p - * [1] is q - * [2] is g - * [3] is y (public key) - * [4] is x (private key only) - */ - -typedef enum -{ - GNUTLS_IMPORT, - GNUTLS_EXPORT -} gnutls_direction_t; - -/* Public key algorithms */ -typedef struct gnutls_crypto_pk -{ - /* The params structure should contain the private or public key - * parameters, depending on the operation */ - int (*encrypt) (gnutls_pk_algorithm_t, gnutls_datum_t * ciphertext, - const gnutls_datum_t * plaintext, - const gnutls_pk_params_st * /* public */ ); - int (*decrypt) (gnutls_pk_algorithm_t, gnutls_datum_t * plaintext, - const gnutls_datum_t * ciphertext, - const gnutls_pk_params_st * /* private */ ); - - int (*sign) (gnutls_pk_algorithm_t, gnutls_datum_t * signature, - const gnutls_datum_t * data, - const gnutls_pk_params_st * /* private */ ); - int (*verify) (gnutls_pk_algorithm_t, const gnutls_datum_t * data, - const gnutls_datum_t * signature, - const gnutls_pk_params_st * /* public */ ); - - int (*generate) (gnutls_pk_algorithm_t, unsigned int level /*bits */ , - gnutls_pk_params_st *); - /* this function should convert params to ones suitable - * for the above functions - */ - int (*pk_fixup_private_params) (gnutls_pk_algorithm_t, gnutls_direction_t, - gnutls_pk_params_st *); - -} gnutls_crypto_pk_st; - -/* priority: infinity for backend algorithms, 90 for kernel - algorithms, lowest wins - */ -# define gnutls_crypto_single_cipher_register(algo, prio, st) \ - gnutls_crypto_single_cipher_register2 (algo, prio, \ - GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_single_mac_register(algo, prio, st) \ - gnutls_crypto_single_mac_register2 (algo, prio, \ - GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_single_digest_register(algo, prio, st) \ - gnutls_crypto_single_digest_register2(algo, prio, \ - GNUTLS_CRYPTO_API_VERSION, st) - -int gnutls_crypto_single_cipher_register2 (gnutls_cipher_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_cipher_st *s); -int gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_mac_st * s); -int gnutls_crypto_single_digest_register2 (gnutls_digest_algorithm_t algorithm, - int priority, int version, - gnutls_crypto_single_digest_st *s); - -# define gnutls_crypto_cipher_register(prio, st) \ - gnutls_crypto_cipher_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_mac_register(prio, st) \ - gnutls_crypto_mac_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_digest_register(prio, st) \ - gnutls_crypto_digest_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) - -int gnutls_crypto_cipher_register2 (int priority, int version, - gnutls_crypto_cipher_st * s); -int gnutls_crypto_mac_register2 (int priority, int version, - gnutls_crypto_mac_st * s); -int gnutls_crypto_digest_register2 (int priority, int version, - gnutls_crypto_digest_st * s); - -# define gnutls_crypto_rnd_register(prio, st) \ - gnutls_crypto_rnd_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_pk_register(prio, st) \ - gnutls_crypto_pk_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) -# define gnutls_crypto_bigint_register(prio, st) \ - gnutls_crypto_bigint_register2 (prio, GNUTLS_CRYPTO_API_VERSION, st) - -int gnutls_crypto_rnd_register2 (int priority, int version, - gnutls_crypto_rnd_st * s); -int gnutls_crypto_pk_register2 (int priority, int version, - gnutls_crypto_pk_st * s); -int gnutls_crypto_bigint_register2 (int priority, int version, - gnutls_crypto_bigint_st * s); - -#endif diff -Nru gnutls26-2.8.6/lib/includes/gnutls/gnutls.h.in gnutls26-2.4.1/lib/includes/gnutls/gnutls.h.in --- gnutls26-2.8.6/lib/includes/gnutls/gnutls.h.in 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/gnutls.h.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,1398 +0,0 @@ -/* -*- c -*- - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavroyanopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - */ - -/* This file contains the types and prototypes for all the - * high level functionality of gnutls main library. For the - * extra functionality (which is under the GNU GPL license) check - * the gnutls/extra.h header. The openssl compatibility layer is - * in gnutls/openssl.h. - * - * The low level cipher functionality is in libgcrypt. Check - * gcrypt.h - */ - - -#ifndef GNUTLS_H -# define GNUTLS_H - -/* Get size_t. */ -#include -/* Get ssize_t. */ -#ifndef HAVE_SSIZE_T -# define HAVE_SSIZE_T -@DEFINE_SSIZE_T@ -#endif -/* Get time_t. */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define GNUTLS_VERSION "@VERSION@" - -#define GNUTLS_VERSION_MAJOR @MAJOR_VERSION@ -#define GNUTLS_VERSION_MINOR @MINOR_VERSION@ -#define GNUTLS_VERSION_PATCH @PATCH_VERSION@ - -#define GNUTLS_VERSION_NUMBER @NUMBER_VERSION@ - -#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC -#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC -#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC -#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128 - - typedef enum gnutls_cipher_algorithm - { - GNUTLS_CIPHER_UNKNOWN = 0, - GNUTLS_CIPHER_NULL = 1, - GNUTLS_CIPHER_ARCFOUR_128, - GNUTLS_CIPHER_3DES_CBC, - GNUTLS_CIPHER_AES_128_CBC, - GNUTLS_CIPHER_AES_256_CBC, - GNUTLS_CIPHER_ARCFOUR_40, - GNUTLS_CIPHER_CAMELLIA_128_CBC, - GNUTLS_CIPHER_CAMELLIA_256_CBC, - GNUTLS_CIPHER_RC2_40_CBC = 90, - GNUTLS_CIPHER_DES_CBC, - - /* used only for PGP internals. Ignored in TLS/SSL - */ - GNUTLS_CIPHER_IDEA_PGP_CFB = 200, - GNUTLS_CIPHER_3DES_PGP_CFB, - GNUTLS_CIPHER_CAST5_PGP_CFB, - GNUTLS_CIPHER_BLOWFISH_PGP_CFB, - GNUTLS_CIPHER_SAFER_SK128_PGP_CFB, - GNUTLS_CIPHER_AES128_PGP_CFB, - GNUTLS_CIPHER_AES192_PGP_CFB, - GNUTLS_CIPHER_AES256_PGP_CFB, - GNUTLS_CIPHER_TWOFISH_PGP_CFB - } gnutls_cipher_algorithm_t; - - typedef enum - { - GNUTLS_KX_UNKNOWN = 0, - GNUTLS_KX_RSA = 1, - GNUTLS_KX_DHE_DSS, - GNUTLS_KX_DHE_RSA, - GNUTLS_KX_ANON_DH, - GNUTLS_KX_SRP, - GNUTLS_KX_RSA_EXPORT, - GNUTLS_KX_SRP_RSA, - GNUTLS_KX_SRP_DSS, - GNUTLS_KX_PSK, - GNUTLS_KX_DHE_PSK - } gnutls_kx_algorithm_t; - - typedef enum - { - GNUTLS_PARAMS_RSA_EXPORT = 1, - GNUTLS_PARAMS_DH - } gnutls_params_type_t; - - typedef enum - { - GNUTLS_CRD_CERTIFICATE = 1, - GNUTLS_CRD_ANON, - GNUTLS_CRD_SRP, - GNUTLS_CRD_PSK, - GNUTLS_CRD_IA - } gnutls_credentials_type_t; - -#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1 -#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1 - - typedef enum - { - GNUTLS_MAC_UNKNOWN = 0, - GNUTLS_MAC_NULL = 1, - GNUTLS_MAC_MD5, - GNUTLS_MAC_SHA1, - GNUTLS_MAC_RMD160, - GNUTLS_MAC_MD2, - GNUTLS_MAC_SHA256, - GNUTLS_MAC_SHA384, - GNUTLS_MAC_SHA512 - /* If you add anything here, make sure you align with - gnutls_digest_algorithm_t, in particular SHA-224. */ - } gnutls_mac_algorithm_t; - - /* The enumerations here should have the same value with - gnutls_mac_algorithm_t. - */ - typedef enum - { - GNUTLS_DIG_NULL = GNUTLS_MAC_NULL, - GNUTLS_DIG_MD5 = GNUTLS_MAC_MD5, - GNUTLS_DIG_SHA1 = GNUTLS_MAC_SHA1, - GNUTLS_DIG_RMD160 = GNUTLS_MAC_RMD160, - GNUTLS_DIG_MD2 = GNUTLS_MAC_MD2, - GNUTLS_DIG_SHA256 = GNUTLS_MAC_SHA256, - GNUTLS_DIG_SHA384 = GNUTLS_MAC_SHA384, - GNUTLS_DIG_SHA512 = GNUTLS_MAC_SHA512, - GNUTLS_DIG_SHA224 - } gnutls_digest_algorithm_t; - - /* exported for other gnutls headers. This is the maximum number of - * algorithms (ciphers, kx or macs). - */ -#define GNUTLS_MAX_ALGORITHM_NUM 16 - -#define GNUTLS_COMP_ZLIB GNUTLS_COMP_DEFLATE - typedef enum - { - GNUTLS_COMP_UNKNOWN = 0, - GNUTLS_COMP_NULL = 1, - GNUTLS_COMP_DEFLATE, - GNUTLS_COMP_LZO /* only available if gnutls-extra has - been initialized - */ - } gnutls_compression_method_t; - - typedef enum - { - GNUTLS_SERVER = 1, - GNUTLS_CLIENT - } gnutls_connection_end_t; - - typedef enum - { - GNUTLS_AL_WARNING = 1, - GNUTLS_AL_FATAL - } gnutls_alert_level_t; - - typedef enum - { - GNUTLS_A_CLOSE_NOTIFY, - GNUTLS_A_UNEXPECTED_MESSAGE = 10, - GNUTLS_A_BAD_RECORD_MAC = 20, - GNUTLS_A_DECRYPTION_FAILED, - GNUTLS_A_RECORD_OVERFLOW, - GNUTLS_A_DECOMPRESSION_FAILURE = 30, - GNUTLS_A_HANDSHAKE_FAILURE = 40, - GNUTLS_A_SSL3_NO_CERTIFICATE = 41, - GNUTLS_A_BAD_CERTIFICATE = 42, - GNUTLS_A_UNSUPPORTED_CERTIFICATE, - GNUTLS_A_CERTIFICATE_REVOKED, - GNUTLS_A_CERTIFICATE_EXPIRED, - GNUTLS_A_CERTIFICATE_UNKNOWN, - GNUTLS_A_ILLEGAL_PARAMETER, - GNUTLS_A_UNKNOWN_CA, - GNUTLS_A_ACCESS_DENIED, - GNUTLS_A_DECODE_ERROR = 50, - GNUTLS_A_DECRYPT_ERROR, - GNUTLS_A_EXPORT_RESTRICTION = 60, - GNUTLS_A_PROTOCOL_VERSION = 70, - GNUTLS_A_INSUFFICIENT_SECURITY, - GNUTLS_A_INTERNAL_ERROR = 80, - GNUTLS_A_USER_CANCELED = 90, - GNUTLS_A_NO_RENEGOTIATION = 100, - GNUTLS_A_UNSUPPORTED_EXTENSION = 110, - GNUTLS_A_CERTIFICATE_UNOBTAINABLE = 111, - GNUTLS_A_UNRECOGNIZED_NAME = 112, - GNUTLS_A_UNKNOWN_PSK_IDENTITY = 115, - GNUTLS_A_INNER_APPLICATION_FAILURE = 208, - GNUTLS_A_INNER_APPLICATION_VERIFICATION = 209 - } gnutls_alert_description_t; - - typedef enum - { GNUTLS_HANDSHAKE_HELLO_REQUEST = 0, - GNUTLS_HANDSHAKE_CLIENT_HELLO = 1, - GNUTLS_HANDSHAKE_SERVER_HELLO = 2, - GNUTLS_HANDSHAKE_CERTIFICATE_PKT = 11, - GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE = 12, - GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST = 13, - GNUTLS_HANDSHAKE_SERVER_HELLO_DONE = 14, - GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY = 15, - GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE = 16, - GNUTLS_HANDSHAKE_FINISHED = 20, - GNUTLS_HANDSHAKE_SUPPLEMENTAL = 23 - } gnutls_handshake_description_t; - -/* Note that the status bits have different meanings - * in openpgp keys and x.509 certificate verification. - */ - typedef enum - { - GNUTLS_CERT_INVALID = 2, /* will be set if the certificate - * was not verified. - */ - GNUTLS_CERT_REVOKED = 32, /* in X.509 this will be set only if CRLs are checked - */ - - /* Those are extra information about the verification - * process. Will be set only if the certificate was - * not verified. - */ - GNUTLS_CERT_SIGNER_NOT_FOUND = 64, - GNUTLS_CERT_SIGNER_NOT_CA = 128, - GNUTLS_CERT_INSECURE_ALGORITHM = 256, - - /* Time verification. - */ - GNUTLS_CERT_NOT_ACTIVATED = 512, - GNUTLS_CERT_EXPIRED = 1024 - - } gnutls_certificate_status_t; - - typedef enum - { - GNUTLS_CERT_IGNORE, - GNUTLS_CERT_REQUEST = 1, - GNUTLS_CERT_REQUIRE - } gnutls_certificate_request_t; - - typedef enum - { GNUTLS_OPENPGP_CERT, - GNUTLS_OPENPGP_CERT_FINGERPRINT - } gnutls_openpgp_crt_status_t; - - typedef enum - { - GNUTLS_SHUT_RDWR = 0, - GNUTLS_SHUT_WR = 1 - } gnutls_close_request_t; - -#define GNUTLS_TLS1 GNUTLS_TLS1_0 - typedef enum - { - GNUTLS_SSL3 = 1, - GNUTLS_TLS1_0, - GNUTLS_TLS1_1, - GNUTLS_TLS1_2, - GNUTLS_VERSION_UNKNOWN = 0xff - } gnutls_protocol_t; - - typedef enum - { - GNUTLS_CRT_UNKNOWN = 0, - GNUTLS_CRT_X509 = 1, - GNUTLS_CRT_OPENPGP - } gnutls_certificate_type_t; - - typedef enum - { - GNUTLS_X509_FMT_DER, - GNUTLS_X509_FMT_PEM - } gnutls_x509_crt_fmt_t; - - typedef enum gnutls_certificate_print_formats - { - GNUTLS_CRT_PRINT_FULL, - GNUTLS_CRT_PRINT_ONELINE, - GNUTLS_CRT_PRINT_UNSIGNED_FULL - } gnutls_certificate_print_formats_t; - - typedef enum - { - GNUTLS_PK_UNKNOWN = 0, - GNUTLS_PK_RSA = 1, - GNUTLS_PK_DSA - } gnutls_pk_algorithm_t; - - const char *gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm); - -#define GNUTLS_SIGN_RSA_SHA GNUTLS_SIGN_RSA_SHA1 -#define GNUTLS_SIGN_DSA_SHA GNUTLS_SIGN_DSA_SHA1 - typedef enum - { - GNUTLS_SIGN_UNKNOWN = 0, - GNUTLS_SIGN_RSA_SHA1 = 1, - GNUTLS_SIGN_DSA_SHA1, - GNUTLS_SIGN_RSA_MD5, - GNUTLS_SIGN_RSA_MD2, - GNUTLS_SIGN_RSA_RMD160, - GNUTLS_SIGN_RSA_SHA256, - GNUTLS_SIGN_RSA_SHA384, - GNUTLS_SIGN_RSA_SHA512, - GNUTLS_SIGN_RSA_SHA224 - } gnutls_sign_algorithm_t; - - const char * - gnutls_sign_algorithm_get_name (gnutls_sign_algorithm_t sign); - -/* If you want to change this, then also change the define in - * gnutls_int.h, and recompile. - */ - typedef void *gnutls_transport_ptr_t; - - struct gnutls_session_int; - typedef struct gnutls_session_int *gnutls_session_t; - - struct gnutls_dh_params_int; - typedef struct gnutls_dh_params_int *gnutls_dh_params_t; - - /* XXX ugly. */ - struct gnutls_x509_privkey_int; - typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t; - - struct gnutls_priority_st; - typedef struct gnutls_priority_st *gnutls_priority_t; - - typedef struct - { - unsigned char *data; - unsigned int size; - } gnutls_datum_t; - - - typedef struct gnutls_params_st - { - gnutls_params_type_t type; - union params - { - gnutls_dh_params_t dh; - gnutls_rsa_params_t rsa_export; - } params; - int deinit; - } gnutls_params_st; - - typedef int gnutls_params_function (gnutls_session_t, gnutls_params_type_t, - gnutls_params_st *); - -/* internal functions */ - - int gnutls_init (gnutls_session_t * session, - gnutls_connection_end_t con_end); - void gnutls_deinit (gnutls_session_t session); -#define _gnutls_deinit(x) gnutls_deinit(x) - - int gnutls_bye (gnutls_session_t session, gnutls_close_request_t how); - - int gnutls_handshake (gnutls_session_t session); - int gnutls_rehandshake (gnutls_session_t session); - - gnutls_alert_description_t gnutls_alert_get (gnutls_session_t session); - int gnutls_alert_send (gnutls_session_t session, - gnutls_alert_level_t level, - gnutls_alert_description_t desc); - int gnutls_alert_send_appropriate (gnutls_session_t session, int err); - const char *gnutls_alert_get_name (gnutls_alert_description_t alert); - -/* get information on the current session */ - gnutls_cipher_algorithm_t gnutls_cipher_get (gnutls_session_t session); - gnutls_kx_algorithm_t gnutls_kx_get (gnutls_session_t session); - gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session); - gnutls_compression_method_t - gnutls_compression_get (gnutls_session_t session); - gnutls_certificate_type_t - gnutls_certificate_type_get (gnutls_session_t session); - - size_t gnutls_cipher_get_key_size (gnutls_cipher_algorithm_t algorithm); - size_t gnutls_mac_get_key_size (gnutls_mac_algorithm_t algorithm); - -/* the name of the specified algorithms */ - const char *gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm); - const char *gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm); - const char * - gnutls_compression_get_name (gnutls_compression_method_t algorithm); - const char *gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm); - const char * - gnutls_certificate_type_get_name (gnutls_certificate_type_t type); - const char *gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm); - const char *gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm); - - gnutls_mac_algorithm_t gnutls_mac_get_id (const char* name); - gnutls_compression_method_t gnutls_compression_get_id (const char* name); - gnutls_cipher_algorithm_t gnutls_cipher_get_id (const char* name); - gnutls_kx_algorithm_t gnutls_kx_get_id (const char* name); - gnutls_protocol_t gnutls_protocol_get_id (const char* name); - gnutls_certificate_type_t gnutls_certificate_type_get_id (const char* name); - gnutls_pk_algorithm_t gnutls_pk_get_id (const char *name); - gnutls_sign_algorithm_t gnutls_sign_get_id (const char *name); - - /* list supported algorithms */ - const gnutls_cipher_algorithm_t *gnutls_cipher_list (void); - const gnutls_mac_algorithm_t *gnutls_mac_list (void); - const gnutls_compression_method_t *gnutls_compression_list (void); - const gnutls_protocol_t *gnutls_protocol_list (void); - const gnutls_certificate_type_t *gnutls_certificate_type_list (void); - const gnutls_kx_algorithm_t *gnutls_kx_list (void); - const gnutls_pk_algorithm_t *gnutls_pk_list (void); - const gnutls_sign_algorithm_t *gnutls_sign_list (void); - const char *gnutls_cipher_suite_info (size_t idx, - char *cs_id, - gnutls_kx_algorithm_t *kx, - gnutls_cipher_algorithm_t *cipher, - gnutls_mac_algorithm_t *mac, - gnutls_protocol_t *version); - - /* error functions */ - int gnutls_error_is_fatal (int error); - int gnutls_error_to_alert (int err, int *level); - - void gnutls_perror (int error); - const char *gnutls_strerror (int error); - const char *gnutls_strerror_name (int error); - -/* Semi-internal functions. - */ - void gnutls_handshake_set_private_extensions (gnutls_session_t session, - int allow); - gnutls_handshake_description_t - gnutls_handshake_get_last_out (gnutls_session_t session); - gnutls_handshake_description_t - gnutls_handshake_get_last_in (gnutls_session_t session); - -/* Record layer functions. - */ - ssize_t gnutls_record_send (gnutls_session_t session, const void *data, - size_t sizeofdata); - ssize_t gnutls_record_recv (gnutls_session_t session, void *data, - size_t sizeofdata); -#define gnutls_read gnutls_record_recv -#define gnutls_write gnutls_record_send - - void gnutls_session_enable_compatibility_mode (gnutls_session_t session); - - void gnutls_record_disable_padding (gnutls_session_t session); - - int gnutls_record_get_direction (gnutls_session_t session); - - size_t gnutls_record_get_max_size (gnutls_session_t session); - ssize_t gnutls_record_set_max_size (gnutls_session_t session, size_t size); - - size_t gnutls_record_check_pending (gnutls_session_t session); - - int gnutls_prf (gnutls_session_t session, - size_t label_size, const char *label, - int server_random_first, - size_t extra_size, const char *extra, - size_t outsize, char *out); - - int gnutls_prf_raw (gnutls_session_t session, - size_t label_size, const char *label, - size_t seed_size, const char *seed, - size_t outsize, char *out); - -/* TLS Extensions */ - - typedef int (*gnutls_ext_recv_func) (gnutls_session_t session, - const unsigned char *data, size_t len); - typedef int (*gnutls_ext_send_func) (gnutls_session_t session, - unsigned char *data, size_t len); - - /* This flag indicates for an extension whether - * it is useful to application level or TLS level only. - * This is (only) used to parse the application level extensions - * before the user_hello callback is called. - */ - typedef enum - { - GNUTLS_EXT_ANY, - GNUTLS_EXT_APPLICATION, - GNUTLS_EXT_TLS - } gnutls_ext_parse_type_t; - - int gnutls_ext_register (int type, - const char *name, - gnutls_ext_parse_type_t parse_type, - gnutls_ext_recv_func recv_func, - gnutls_ext_send_func send_func); - - typedef enum - { - GNUTLS_NAME_DNS = 1 - } gnutls_server_name_type_t; - - int gnutls_server_name_set (gnutls_session_t session, - gnutls_server_name_type_t type, - const void *name, size_t name_length); - - int gnutls_server_name_get (gnutls_session_t session, - void *data, size_t * data_length, - unsigned int *type, unsigned int indx); - - /* Opaque PRF Input - * http://tools.ietf.org/id/draft-rescorla-tls-opaque-prf-input-00.txt - */ - - void - gnutls_oprfi_enable_client (gnutls_session_t session, - size_t len, - unsigned char *data); - - typedef int (*gnutls_oprfi_callback_func) (gnutls_session_t session, - void *userdata, - size_t oprfi_len, - const unsigned char *in_oprfi, - unsigned char *out_oprfi); - - void - gnutls_oprfi_enable_server (gnutls_session_t session, - gnutls_oprfi_callback_func cb, - void *userdata); - - /* Supplemental data, RFC 4680. */ - typedef enum - { - GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0 - } gnutls_supplemental_data_format_type_t; - - const char *gnutls_supplemental_get_name - (gnutls_supplemental_data_format_type_t type); - -/* functions to set priority of cipher suites - */ - int gnutls_cipher_set_priority (gnutls_session_t session, const int *list); - int gnutls_mac_set_priority (gnutls_session_t session, const int *list); - int gnutls_compression_set_priority (gnutls_session_t session, - const int *list); - int gnutls_kx_set_priority (gnutls_session_t session, const int *list); - int gnutls_protocol_set_priority (gnutls_session_t session, - const int *list); - int gnutls_certificate_type_set_priority (gnutls_session_t session, - const int *list); - -/* if you just want some defaults, use the following. - */ - int gnutls_priority_init (gnutls_priority_t *priority_cache, - const char *priorities, - const char** err_pos); - void gnutls_priority_deinit (gnutls_priority_t priority_cache); - - int gnutls_priority_set (gnutls_session_t session, - gnutls_priority_t priority); - int gnutls_priority_set_direct (gnutls_session_t session, - const char *priorities, - const char** err_pos); - - /* for compatibility - */ - int gnutls_set_default_priority (gnutls_session_t session); - int gnutls_set_default_export_priority (gnutls_session_t session); - -/* Returns the name of a cipher suite */ - const char * - gnutls_cipher_suite_get_name (gnutls_kx_algorithm_t kx_algorithm, - gnutls_cipher_algorithm_t cipher_algorithm, - gnutls_mac_algorithm_t mac_algorithm); - -/* get the currently used protocol version */ - gnutls_protocol_t gnutls_protocol_get_version (gnutls_session_t session); - - const char *gnutls_protocol_get_name (gnutls_protocol_t version); - - -/* get/set session - */ - int gnutls_session_set_data (gnutls_session_t session, - const void *session_data, - size_t session_data_size); - int gnutls_session_get_data (gnutls_session_t session, void *session_data, - size_t * session_data_size); - int gnutls_session_get_data2 (gnutls_session_t session, - gnutls_datum_t * data); - -/* returns the session ID */ -#define GNUTLS_MAX_SESSION_ID 32 - int gnutls_session_get_id (gnutls_session_t session, void *session_id, - size_t * session_id_size); - -/* returns security values. - * Do not use them unless you know what you're doing. - */ -#define GNUTLS_MASTER_SIZE 48 -#define GNUTLS_RANDOM_SIZE 32 - const void *gnutls_session_get_server_random (gnutls_session_t session); - const void *gnutls_session_get_client_random (gnutls_session_t session); - const void *gnutls_session_get_master_secret (gnutls_session_t session); - - typedef void (*gnutls_finished_callback_func) (gnutls_session_t session, - const void *finished, - size_t len); - void - gnutls_session_set_finished_function (gnutls_session_t session, - gnutls_finished_callback_func func); - -/* checks if this session is a resumed one - */ - int gnutls_session_is_resumed (gnutls_session_t session); - - typedef int (*gnutls_db_store_func) (void *, gnutls_datum_t key, - gnutls_datum_t data); - typedef int (*gnutls_db_remove_func) (void *, gnutls_datum_t key); - typedef gnutls_datum_t (*gnutls_db_retr_func) (void *, gnutls_datum_t key); - - void gnutls_db_set_cache_expiration (gnutls_session_t session, int seconds); - - void gnutls_db_remove_session (gnutls_session_t session); - void gnutls_db_set_retrieve_function (gnutls_session_t session, - gnutls_db_retr_func retr_func); - void gnutls_db_set_remove_function (gnutls_session_t session, - gnutls_db_remove_func rem_func); - void gnutls_db_set_store_function (gnutls_session_t session, - gnutls_db_store_func store_func); - void gnutls_db_set_ptr (gnutls_session_t session, void *ptr); - void *gnutls_db_get_ptr (gnutls_session_t session); - int gnutls_db_check_entry (gnutls_session_t session, - gnutls_datum_t session_entry); - - typedef int (*gnutls_handshake_post_client_hello_func)(gnutls_session_t); - void - gnutls_handshake_set_post_client_hello_function(gnutls_session_t session, - gnutls_handshake_post_client_hello_func func); - - void gnutls_handshake_set_max_packet_length (gnutls_session_t session, - size_t max); - -/* returns libgnutls version (call it with a NULL argument) - */ - const char *gnutls_check_version (const char *req_version); - -/* Functions for setting/clearing credentials - */ - void gnutls_credentials_clear (gnutls_session_t session); - -/* cred is a structure defined by the kx algorithm - */ - int gnutls_credentials_set (gnutls_session_t session, - gnutls_credentials_type_t type, void *cred); -#define gnutls_cred_set gnutls_credentials_set - -/* Credential structures - used in gnutls_credentials_set(); */ - - struct gnutls_certificate_credentials_st; - typedef struct gnutls_certificate_credentials_st - *gnutls_certificate_credentials_t; - typedef gnutls_certificate_credentials_t - gnutls_certificate_server_credentials; - typedef gnutls_certificate_credentials_t - gnutls_certificate_client_credentials; - - typedef struct gnutls_anon_server_credentials_st - *gnutls_anon_server_credentials_t; - typedef struct gnutls_anon_client_credentials_st - *gnutls_anon_client_credentials_t; - - void gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc); - int gnutls_anon_allocate_server_credentials (gnutls_anon_server_credentials_t * sc); - - void gnutls_anon_set_server_dh_params (gnutls_anon_server_credentials_t res, - gnutls_dh_params_t dh_params); - - void - gnutls_anon_set_server_params_function (gnutls_anon_server_credentials_t res, - gnutls_params_function * func); - - void - gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc); - int - gnutls_anon_allocate_client_credentials (gnutls_anon_client_credentials_t * sc); - -/* CERTFILE is an x509 certificate in PEM form. - * KEYFILE is a pkcs-1 private key in PEM form (for RSA keys). - */ - void - gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc); - int - gnutls_certificate_allocate_credentials (gnutls_certificate_credentials_t *res); - - void gnutls_certificate_free_keys (gnutls_certificate_credentials_t sc); - void gnutls_certificate_free_cas (gnutls_certificate_credentials_t sc); - void gnutls_certificate_free_ca_names (gnutls_certificate_credentials_t sc); - void gnutls_certificate_free_crls (gnutls_certificate_credentials_t sc); - - void gnutls_certificate_set_dh_params (gnutls_certificate_credentials_t res, - gnutls_dh_params_t dh_params); - void - gnutls_certificate_set_rsa_export_params (gnutls_certificate_credentials_t res, - gnutls_rsa_params_t rsa_params); - void - gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res, - unsigned int flags); - void - gnutls_certificate_set_verify_limits (gnutls_certificate_credentials_t res, - unsigned int max_bits, - unsigned int max_depth); - - int - gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t res, - const char *cafile, - gnutls_x509_crt_fmt_t type); - int - gnutls_certificate_set_x509_trust_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * ca, - gnutls_x509_crt_fmt_t type); - - int - gnutls_certificate_set_x509_crl_file (gnutls_certificate_credentials_t res, - const char *crlfile, - gnutls_x509_crt_fmt_t type); - int - gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * CRL, - gnutls_x509_crt_fmt_t type); - - int - gnutls_certificate_set_x509_key_file (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_x509_crt_fmt_t type); - int - gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, - const gnutls_datum_t * key, - gnutls_x509_crt_fmt_t type); - - void gnutls_certificate_send_x509_rdn_sequence (gnutls_session_t session, - int status); - - int gnutls_certificate_set_x509_simple_pkcs12_file - (gnutls_certificate_credentials_t res, const char *pkcs12file, - gnutls_x509_crt_fmt_t type, const char *password); - int gnutls_certificate_set_x509_simple_pkcs12_mem - (gnutls_certificate_credentials_t res, const gnutls_datum *p12blob, - gnutls_x509_crt_fmt_t type, const char *password); - -/* New functions to allow setting already parsed X.509 stuff. - */ - struct gnutls_x509_privkey_int; - typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t; - - struct gnutls_x509_crl_int; - typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t; - - struct gnutls_x509_crt_int; - typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t; - - struct gnutls_openpgp_keyring_int; - typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t; - - int gnutls_certificate_set_x509_key (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t * cert_list, - int cert_list_size, - gnutls_x509_privkey_t key); - int gnutls_certificate_set_x509_trust (gnutls_certificate_credentials_t res, - gnutls_x509_crt_t * ca_list, - int ca_list_size); - int gnutls_certificate_set_x509_crl (gnutls_certificate_credentials_t res, - gnutls_x509_crl_t * crl_list, - int crl_list_size); - - void gnutls_certificate_get_x509_cas (gnutls_certificate_credentials_t sc, - gnutls_x509_crt_t **x509_ca_list, - unsigned int* ncas); - - void gnutls_certificate_get_x509_crls (gnutls_certificate_credentials_t sc, - gnutls_x509_crl_t **x509_crl_list, - unsigned int* ncrls); - - void gnutls_certificate_get_openpgp_keyring (gnutls_certificate_credentials_t sc, - gnutls_openpgp_keyring_t *keyring); - -/* global state functions - */ - int gnutls_global_init (void); - void gnutls_global_deinit (void); - - typedef void *(*gnutls_alloc_function) (size_t); - typedef void *(*gnutls_calloc_function) (size_t, size_t); - typedef int (*gnutls_is_secure_function) (const void *); - typedef void (*gnutls_free_function) (void *); - typedef void *(*gnutls_realloc_function) (void *, size_t); - - void - gnutls_global_set_mem_functions (gnutls_alloc_function alloc_func, - gnutls_alloc_function secure_alloc_func, - gnutls_is_secure_function is_secure_func, - gnutls_realloc_function realloc_func, - gnutls_free_function free_func); - -/* For use in callbacks */ - extern gnutls_alloc_function gnutls_malloc; - extern gnutls_alloc_function gnutls_secure_malloc; - extern gnutls_realloc_function gnutls_realloc; - extern gnutls_calloc_function gnutls_calloc; - extern gnutls_free_function gnutls_free; - - extern char *(*gnutls_strdup) (const char *); - - typedef void (*gnutls_log_func) (int, const char *); - void gnutls_global_set_log_function (gnutls_log_func log_func); - void gnutls_global_set_log_level (int level); - -/* Diffie-Hellman parameter handling. - */ - int gnutls_dh_params_init (gnutls_dh_params_t * dh_params); - void gnutls_dh_params_deinit (gnutls_dh_params_t dh_params); - int gnutls_dh_params_import_raw (gnutls_dh_params_t dh_params, - const gnutls_datum_t * prime, - const gnutls_datum_t * generator); - int gnutls_dh_params_import_pkcs3 (gnutls_dh_params_t params, - const gnutls_datum_t * pkcs3_params, - gnutls_x509_crt_fmt_t format); - int gnutls_dh_params_generate2 (gnutls_dh_params_t params, - unsigned int bits); - int gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t * params_data_size); - int gnutls_dh_params_export_raw (gnutls_dh_params_t params, - gnutls_datum_t * prime, - gnutls_datum_t * generator, - unsigned int *bits); - int gnutls_dh_params_cpy (gnutls_dh_params_t dst, gnutls_dh_params_t src); - - -/* RSA params - */ - int gnutls_rsa_params_init (gnutls_rsa_params_t * rsa_params); - void gnutls_rsa_params_deinit (gnutls_rsa_params_t rsa_params); - int gnutls_rsa_params_cpy (gnutls_rsa_params_t dst, - gnutls_rsa_params_t src); - int gnutls_rsa_params_import_raw (gnutls_rsa_params_t rsa_params, - const gnutls_datum_t * m, - const gnutls_datum_t * e, - const gnutls_datum_t * d, - const gnutls_datum_t * p, - const gnutls_datum_t * q, - const gnutls_datum_t * u); - int gnutls_rsa_params_generate2 (gnutls_rsa_params_t params, - unsigned int bits); - int gnutls_rsa_params_export_raw (gnutls_rsa_params_t params, - gnutls_datum_t * m, gnutls_datum_t * e, - gnutls_datum_t * d, gnutls_datum_t * p, - gnutls_datum_t * q, gnutls_datum_t * u, - unsigned int *bits); - int gnutls_rsa_params_export_pkcs1 (gnutls_rsa_params_t params, - gnutls_x509_crt_fmt_t format, - unsigned char *params_data, - size_t * params_data_size); - int gnutls_rsa_params_import_pkcs1 (gnutls_rsa_params_t params, - const gnutls_datum_t * pkcs1_params, - gnutls_x509_crt_fmt_t format); - -/* Session stuff - */ - typedef ssize_t (*gnutls_pull_func) (gnutls_transport_ptr_t, void *, - size_t); - typedef ssize_t (*gnutls_push_func) (gnutls_transport_ptr_t, const void *, - size_t); - void gnutls_transport_set_ptr (gnutls_session_t session, - gnutls_transport_ptr_t ptr); - void gnutls_transport_set_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t recv_ptr, - gnutls_transport_ptr_t send_ptr); - - gnutls_transport_ptr_t gnutls_transport_get_ptr (gnutls_session_t session); - void gnutls_transport_get_ptr2 (gnutls_session_t session, - gnutls_transport_ptr_t * recv_ptr, - gnutls_transport_ptr_t * send_ptr); - - void gnutls_transport_set_lowat (gnutls_session_t session, int num); - - - void gnutls_transport_set_push_function (gnutls_session_t session, - gnutls_push_func push_func); - void gnutls_transport_set_pull_function (gnutls_session_t session, - gnutls_pull_func pull_func); - - void gnutls_transport_set_errno (gnutls_session_t session, int err); - void gnutls_transport_set_global_errno (int err); - -/* session specific - */ - void gnutls_session_set_ptr (gnutls_session_t session, void *ptr); - void *gnutls_session_get_ptr (gnutls_session_t session); - - void gnutls_openpgp_send_cert (gnutls_session_t session, - gnutls_openpgp_crt_status_t status); - -/* fingerprint - * Actually this function returns the hash of the given data. - */ - int gnutls_fingerprint (gnutls_digest_algorithm_t algo, - const gnutls_datum_t * data, void *result, - size_t * result_size); - - -/* SRP - */ - - typedef struct gnutls_srp_server_credentials_st - *gnutls_srp_server_credentials_t; - typedef struct gnutls_srp_client_credentials_st - *gnutls_srp_client_credentials_t; - - void - gnutls_srp_free_client_credentials (gnutls_srp_client_credentials_t sc); - int - gnutls_srp_allocate_client_credentials (gnutls_srp_client_credentials_t * sc); - int - gnutls_srp_set_client_credentials (gnutls_srp_client_credentials_t res, - const char *username, - const char *password); - - void - gnutls_srp_free_server_credentials (gnutls_srp_server_credentials_t sc); - int - gnutls_srp_allocate_server_credentials (gnutls_srp_server_credentials_t *sc); - int - gnutls_srp_set_server_credentials_file (gnutls_srp_server_credentials_t res, - const char *password_file, - const char *password_conf_file); - - const char *gnutls_srp_server_get_username (gnutls_session_t session); - - extern void gnutls_srp_set_prime_bits (gnutls_session_t session, - unsigned int bits); - - int gnutls_srp_verifier (const char *username, - const char *password, - const gnutls_datum_t * salt, - const gnutls_datum_t * generator, - const gnutls_datum_t * prime, - gnutls_datum_t * res); - -/* The static parameters defined in draft-ietf-tls-srp-05 - * Those should be used as input to gnutls_srp_verifier(). - */ - extern const gnutls_datum_t gnutls_srp_2048_group_prime; - extern const gnutls_datum_t gnutls_srp_2048_group_generator; - - extern const gnutls_datum_t gnutls_srp_1536_group_prime; - extern const gnutls_datum_t gnutls_srp_1536_group_generator; - - extern const gnutls_datum_t gnutls_srp_1024_group_prime; - extern const gnutls_datum_t gnutls_srp_1024_group_generator; - - typedef int gnutls_srp_server_credentials_function (gnutls_session_t, - const char *username, - gnutls_datum_t * salt, - gnutls_datum_t * - verifier, - gnutls_datum_t * - generator, - gnutls_datum_t * prime); - void - gnutls_srp_set_server_credentials_function - (gnutls_srp_server_credentials_t cred, - gnutls_srp_server_credentials_function * func); - - typedef int gnutls_srp_client_credentials_function (gnutls_session_t, - char **, char **); - void - gnutls_srp_set_client_credentials_function - (gnutls_srp_client_credentials_t cred, - gnutls_srp_client_credentials_function * func); - - int gnutls_srp_base64_encode (const gnutls_datum_t * data, char *result, - size_t * result_size); - int gnutls_srp_base64_encode_alloc (const gnutls_datum_t * data, - gnutls_datum_t * result); - - int gnutls_srp_base64_decode (const gnutls_datum_t * b64_data, char *result, - size_t * result_size); - int gnutls_srp_base64_decode_alloc (const gnutls_datum_t * b64_data, - gnutls_datum_t * result); - -/* PSK stuff */ - typedef struct gnutls_psk_server_credentials_st - *gnutls_psk_server_credentials_t; - typedef struct gnutls_psk_client_credentials_st - *gnutls_psk_client_credentials_t; - - typedef enum gnutls_psk_key_flags - { - GNUTLS_PSK_KEY_RAW = 0, - GNUTLS_PSK_KEY_HEX - } gnutls_psk_key_flags; - - void - gnutls_psk_free_client_credentials (gnutls_psk_client_credentials_t sc); - int - gnutls_psk_allocate_client_credentials (gnutls_psk_client_credentials_t * sc); - int gnutls_psk_set_client_credentials (gnutls_psk_client_credentials_t res, - const char *username, - const gnutls_datum_t * key, - gnutls_psk_key_flags format); - - void - gnutls_psk_free_server_credentials (gnutls_psk_server_credentials_t sc); - int - gnutls_psk_allocate_server_credentials (gnutls_psk_server_credentials_t * sc); - int - gnutls_psk_set_server_credentials_file (gnutls_psk_server_credentials_t res, - const char *password_file); - - int - gnutls_psk_set_server_credentials_hint (gnutls_psk_server_credentials_t res, - const char *hint); - - const char *gnutls_psk_server_get_username (gnutls_session_t session); - const char *gnutls_psk_client_get_hint (gnutls_session_t session); - - typedef int gnutls_psk_server_credentials_function (gnutls_session_t, - const char *username, - gnutls_datum_t * key); - void - gnutls_psk_set_server_credentials_function - (gnutls_psk_server_credentials_t cred, - gnutls_psk_server_credentials_function * func); - - typedef int gnutls_psk_client_credentials_function (gnutls_session_t, - char **username, - gnutls_datum_t * key); - void - gnutls_psk_set_client_credentials_function - (gnutls_psk_client_credentials_t cred, - gnutls_psk_client_credentials_function * func); - - int gnutls_hex_encode (const gnutls_datum_t * data, char *result, - size_t * result_size); - int gnutls_hex_decode (const gnutls_datum_t * hex_data, char *result, - size_t * result_size); - - void - gnutls_psk_set_server_dh_params (gnutls_psk_server_credentials_t res, - gnutls_dh_params_t dh_params); - - void - gnutls_psk_set_server_params_function (gnutls_psk_server_credentials_t res, - gnutls_params_function * func); - - int gnutls_psk_netconf_derive_key (const char *password, - const char *psk_identity, - const char *psk_identity_hint, - gnutls_datum_t *output_key); - - - typedef enum gnutls_x509_subject_alt_name_t - { - GNUTLS_SAN_DNSNAME = 1, - GNUTLS_SAN_RFC822NAME, - GNUTLS_SAN_URI, - GNUTLS_SAN_IPADDRESS, - GNUTLS_SAN_OTHERNAME, - GNUTLS_SAN_DN, - /* The following are "virtual" subject alternative name types, in - that they are represented by an otherName value and an OID. - Used by gnutls_x509_crt_get_subject_alt_othername_oid(). */ - GNUTLS_SAN_OTHERNAME_XMPP = 1000 - } gnutls_x509_subject_alt_name_t; - - struct gnutls_openpgp_crt_int; - typedef struct gnutls_openpgp_crt_int *gnutls_openpgp_crt_t; - - struct gnutls_openpgp_privkey_int; - typedef struct gnutls_openpgp_privkey_int *gnutls_openpgp_privkey_t; - - typedef struct gnutls_retr_st - { - gnutls_certificate_type_t type; - union cert - { - gnutls_x509_crt_t *x509; - gnutls_openpgp_crt_t pgp; - } cert; - unsigned int ncerts; /* one for pgp keys */ - - union key - { - gnutls_x509_privkey_t x509; - gnutls_openpgp_privkey_t pgp; - } key; - - unsigned int deinit_all; /* if non zero all keys will be deinited */ - } gnutls_retr_st; - - typedef int gnutls_certificate_client_retrieve_function (gnutls_session_t, - const - gnutls_datum_t * - req_ca_rdn, - int nreqs, - const - gnutls_pk_algorithm_t - * pk_algos, - int - pk_algos_length, - gnutls_retr_st *); - typedef int gnutls_certificate_server_retrieve_function (gnutls_session_t, - gnutls_retr_st *); - - - /* Functions that allow auth_info_t structures handling - */ - - gnutls_credentials_type_t gnutls_auth_get_type (gnutls_session_t session); - gnutls_credentials_type_t - gnutls_auth_server_get_type (gnutls_session_t session); - gnutls_credentials_type_t - gnutls_auth_client_get_type (gnutls_session_t session); - - /* DH */ - - void gnutls_dh_set_prime_bits (gnutls_session_t session, unsigned int bits); - int gnutls_dh_get_secret_bits (gnutls_session_t session); - int gnutls_dh_get_peers_public_bits (gnutls_session_t session); - int gnutls_dh_get_prime_bits (gnutls_session_t session); - - int gnutls_dh_get_group (gnutls_session_t session, gnutls_datum_t * raw_gen, - gnutls_datum_t * raw_prime); - int gnutls_dh_get_pubkey (gnutls_session_t session, - gnutls_datum_t * raw_key); - - /* RSA */ - int gnutls_rsa_export_get_pubkey (gnutls_session_t session, - gnutls_datum_t * exponent, - gnutls_datum_t * modulus); - int gnutls_rsa_export_get_modulus_bits (gnutls_session_t session); - - /* X509PKI */ - - /* External signing callback. Experimental. */ - typedef int (*gnutls_sign_func) (gnutls_session_t session, - void *userdata, - gnutls_certificate_type_t cert_type, - const gnutls_datum_t * cert, - const gnutls_datum_t * hash, - gnutls_datum_t * signature); - - void gnutls_sign_callback_set (gnutls_session_t session, - gnutls_sign_func sign_func, - void *userdata); - gnutls_sign_func - gnutls_sign_callback_get (gnutls_session_t session, - void **userdata); - - /* These are set on the credentials structure. - */ - void gnutls_certificate_client_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_client_retrieve_function * func); - void gnutls_certificate_server_set_retrieve_function - (gnutls_certificate_credentials_t cred, - gnutls_certificate_server_retrieve_function * func); - - void - gnutls_certificate_server_set_request (gnutls_session_t session, - gnutls_certificate_request_t req); - - /* get data from the session - */ - const gnutls_datum_t * - gnutls_certificate_get_peers (gnutls_session_t session, - unsigned int *list_size); - const gnutls_datum_t * - gnutls_certificate_get_ours (gnutls_session_t session); - - time_t gnutls_certificate_activation_time_peers (gnutls_session_t session); - time_t gnutls_certificate_expiration_time_peers (gnutls_session_t session); - - int gnutls_certificate_client_get_request_status (gnutls_session_t session); - int gnutls_certificate_verify_peers2 (gnutls_session_t session, - unsigned int *status); - - /* this is obsolete (?). */ - int gnutls_certificate_verify_peers (gnutls_session_t session); - - int gnutls_pem_base64_encode (const char *msg, const gnutls_datum_t * data, - char *result, size_t * result_size); - int gnutls_pem_base64_decode (const char *header, - const gnutls_datum_t * b64_data, - unsigned char *result, size_t * result_size); - - int gnutls_pem_base64_encode_alloc (const char *msg, - const gnutls_datum_t * data, - gnutls_datum_t * result); - int gnutls_pem_base64_decode_alloc (const char *header, - const gnutls_datum_t * b64_data, - gnutls_datum_t * result); - - /* key_usage will be an OR of the following values: - */ - - /* when the key is to be used for signing: */ -#define GNUTLS_KEY_DIGITAL_SIGNATURE 128 -#define GNUTLS_KEY_NON_REPUDIATION 64 - /* when the key is to be used for encryption: */ -#define GNUTLS_KEY_KEY_ENCIPHERMENT 32 -#define GNUTLS_KEY_DATA_ENCIPHERMENT 16 -#define GNUTLS_KEY_KEY_AGREEMENT 8 -#define GNUTLS_KEY_KEY_CERT_SIGN 4 -#define GNUTLS_KEY_CRL_SIGN 2 -#define GNUTLS_KEY_ENCIPHER_ONLY 1 -#define GNUTLS_KEY_DECIPHER_ONLY 32768 - - void - gnutls_certificate_set_params_function (gnutls_certificate_credentials_t res, - gnutls_params_function * func); - void gnutls_anon_set_params_function (gnutls_anon_server_credentials_t res, - gnutls_params_function * func); - void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res, - gnutls_params_function * func); - - int gnutls_hex2bin (const char * hex_data, size_t hex_size, - char * bin_data, size_t * bin_size); - - /* Gnutls error codes. The mapping to a TLS alert is also shown in - * comments. - */ - -#define GNUTLS_E_SUCCESS 0 -#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3 -#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6 -#define GNUTLS_E_LARGE_PACKET -7 -#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */ -#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_RECORD_OVERFLOW */ -#define GNUTLS_E_INVALID_SESSION -10 -#define GNUTLS_E_FATAL_ALERT_RECEIVED -12 -#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */ -#define GNUTLS_E_WARNING_ALERT_RECEIVED -16 -#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18 -#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19 -#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */ -#define GNUTLS_E_UNWANTED_ALGORITHM -22 -#define GNUTLS_E_MPI_SCAN_FAILED -23 -#define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */ -#define GNUTLS_E_MEMORY_ERROR -25 -#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */ -#define GNUTLS_E_COMPRESSION_FAILED -27 -#define GNUTLS_E_AGAIN -28 -#define GNUTLS_E_EXPIRED -29 -#define GNUTLS_E_DB_ERROR -30 -#define GNUTLS_E_SRP_PWD_ERROR -31 -#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32 -#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ -#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS -#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ - -#define GNUTLS_E_HASH_FAILED -33 -#define GNUTLS_E_BASE64_DECODING_ERROR -34 - -#define GNUTLS_E_MPI_PRINT_FAILED -35 -#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */ -#define GNUTLS_E_GOT_APPLICATION_DATA -38 -#define GNUTLS_E_RECORD_LIMIT_REACHED -39 -#define GNUTLS_E_ENCRYPTION_FAILED -40 - -#define GNUTLS_E_PK_ENCRYPTION_FAILED -44 -#define GNUTLS_E_PK_DECRYPTION_FAILED -45 -#define GNUTLS_E_PK_SIGN_FAILED -46 -#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47 -#define GNUTLS_E_KEY_USAGE_VIOLATION -48 -#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */ -#define GNUTLS_E_INVALID_REQUEST -50 -#define GNUTLS_E_SHORT_MEMORY_BUFFER -51 -#define GNUTLS_E_INTERRUPTED -52 -#define GNUTLS_E_PUSH_ERROR -53 -#define GNUTLS_E_PULL_ERROR -54 -#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */ -#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56 -#define GNUTLS_E_PKCS1_WRONG_PAD -57 -#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58 -#define GNUTLS_E_INTERNAL_ERROR -59 -#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63 -#define GNUTLS_E_FILE_ERROR -64 -#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78 -#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80 - - - /* returned if libextra functionality was requested but - * gnutls_global_init_extra() was not called. - */ -#define GNUTLS_E_INIT_LIBEXTRA -82 -#define GNUTLS_E_LIBRARY_VERSION_MISMATCH -83 - - - /* returned if you need to generate temporary RSA - * parameters. These are needed for export cipher suites. - */ -#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84 - -#define GNUTLS_E_LZO_INIT_FAILED -85 -#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86 -#define GNUTLS_E_NO_CIPHER_SUITES -87 - -#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88 -#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89 - -#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90 -#define GNUTLS_E_SRP_PWD_PARSING_ERROR -91 -#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93 - - /* For certificate and key stuff - */ -#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67 -#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68 -#define GNUTLS_E_ASN1_DER_ERROR -69 -#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70 -#define GNUTLS_E_ASN1_GENERIC_ERROR -71 -#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72 -#define GNUTLS_E_ASN1_TAG_ERROR -73 -#define GNUTLS_E_ASN1_TAG_IMPLICIT -74 -#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75 -#define GNUTLS_E_ASN1_SYNTAX_ERROR -76 -#define GNUTLS_E_ASN1_DER_OVERFLOW -77 -#define GNUTLS_E_OPENPGP_UID_REVOKED -79 -#define GNUTLS_E_CERTIFICATE_ERROR -43 -#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR -#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60 -#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */ -#define GNUTLS_E_X509_UNKNOWN_SAN -62 -#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94 -#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95 -#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96 -#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97 -#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98 -#define GNUTLS_E_INVALID_PASSWORD -99 -#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */ -#define GNUTLS_E_CONSTRAINT_ERROR -101 - -#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102 -#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103 - -#define GNUTLS_E_IA_VERIFY_FAILED -104 - -#define GNUTLS_E_UNKNOWN_ALGORITHM -105 - -#define GNUTLS_E_BASE64_ENCODING_ERROR -201 -#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */ -#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202 -#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203 - -#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204 -#define GNUTLS_E_X509_UNSUPPORTED_OID -205 - -#define GNUTLS_E_RANDOM_FAILED -206 -#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207 - -#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208 - -#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -209 - -#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210 - -#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 - -#define GNUTLS_E_APPLICATION_ERROR_MAX -65000 -#define GNUTLS_E_APPLICATION_ERROR_MIN -65500 - -#ifdef __cplusplus -} -#endif - -#endif /* GNUTLS_H */ diff -Nru gnutls26-2.8.6/lib/includes/gnutls/gnutlsxx.h gnutls26-2.4.1/lib/includes/gnutls/gnutlsxx.h --- gnutls26-2.8.6/lib/includes/gnutls/gnutlsxx.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/gnutlsxx.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,412 +0,0 @@ -#ifndef GNUTLSXX_H -# define GNUTLSXX_H - -#include -#include -#include - -namespace gnutls -{ - - class noncopyable - { - protected: - noncopyable () - { - } - ~noncopyable () - { - } - - private: - // These are non-implemented. - noncopyable (const noncopyable &); - noncopyable & operator= (const noncopyable &); - }; - - - class exception:public std::exception - { - public: - exception (int x); - const char *what () const throw (); - int get_code (); - protected: - int retcode; - }; - - - class dh_params:private noncopyable - { - public: - dh_params (); - ~dh_params (); - void import_raw (const gnutls_datum_t & prime, - const gnutls_datum_t & generator); - void import_pkcs3 (const gnutls_datum_t & pkcs3_params, - gnutls_x509_crt_fmt_t format); - void generate (unsigned int bits); - - void export_pkcs3 (gnutls_x509_crt_fmt_t format, - unsigned char *params_data, size_t * params_data_size); - void export_raw (gnutls_datum_t & prime, gnutls_datum_t & generator); - - gnutls_dh_params_t get_params_t () const; - dh_params & operator= (const dh_params & src); - protected: - gnutls_dh_params_t params; - }; - - - class rsa_params:private noncopyable - { - public: - rsa_params (); - ~rsa_params (); - void import_raw (const gnutls_datum_t & m, - const gnutls_datum_t & e, - const gnutls_datum_t & d, - const gnutls_datum_t & p, - const gnutls_datum_t & q, const gnutls_datum_t & u); - void import_pkcs1 (const gnutls_datum_t & pkcs1_params, - gnutls_x509_crt_fmt_t format); - void generate (unsigned int bits); - - void export_pkcs1 (gnutls_x509_crt_fmt_t format, - unsigned char *params_data, size_t * params_data_size); - void export_raw (gnutls_datum_t & m, gnutls_datum_t & e, - gnutls_datum_t & d, gnutls_datum_t & p, - gnutls_datum_t & q, gnutls_datum_t & u); - gnutls_rsa_params_t get_params_t () const; - rsa_params & operator= (const rsa_params & src); - - protected: - gnutls_rsa_params_t params; - }; - - class session:private noncopyable - { - protected: - gnutls_session_t s; - public: - session (gnutls_connection_end_t); - virtual ~ session (); - - int bye (gnutls_close_request_t how); - int handshake (); - - gnutls_alert_description_t get_alert () const; - - int send_alert (gnutls_alert_level_t level, - gnutls_alert_description_t desc); - int send_appropriate_alert (int err); - - gnutls_cipher_algorithm_t get_cipher () const; - gnutls_kx_algorithm_t get_kx () const; - gnutls_mac_algorithm_t get_mac () const; - gnutls_compression_method_t get_compression () const; - gnutls_certificate_type_t get_certificate_type () const; - - // for the handshake - void set_private_extensions (bool allow); - - gnutls_handshake_description_t get_handshake_last_out () const; - gnutls_handshake_description_t get_handshake_last_in () const; - - ssize_t send (const void *data, size_t sizeofdata); - ssize_t recv (void *data, size_t sizeofdata); - - bool get_record_direction () const; - - // maximum packet size - size_t get_max_size () const; - void set_max_size (size_t size); - - size_t check_pending () const; - - void prf (size_t label_size, const char *label, - int server_random_first, - size_t extra_size, const char *extra, - size_t outsize, char *out); - - void prf_raw (size_t label_size, const char *label, - size_t seed_size, const char *seed, - size_t outsize, char *out); - - void set_cipher_priority (const int *list); - void set_mac_priority (const int *list); - void set_compression_priority (const int *list); - void set_kx_priority (const int *list); - void set_protocol_priority (const int *list); - void set_certificate_type_priority (const int *list); - - /* if you just want some defaults, use the following. - */ - void set_priority (const char *prio, const char **err_pos); - void set_priority (gnutls_priority_t p); - - gnutls_protocol_t get_protocol_version () const; - - // for resuming sessions - void set_data (const void *session_data, size_t session_data_size); - void get_data (void *session_data, size_t * session_data_size) const; - void get_data (gnutls_session_t session, gnutls_datum_t & data) const; - void get_id (void *session_id, size_t * session_id_size) const; - - bool is_resumed () const; - - void set_max_handshake_packet_length (size_t max); - - void clear_credentials (); - void set_credentials (class credentials & cred); - - void set_transport_ptr (gnutls_transport_ptr_t ptr); - void set_transport_ptr (gnutls_transport_ptr_t recv_ptr, - gnutls_transport_ptr_t send_ptr); - gnutls_transport_ptr_t get_transport_ptr () const; - void get_transport_ptr (gnutls_transport_ptr_t & recv_ptr, - gnutls_transport_ptr_t & send_ptr) const; - - void set_transport_lowat (size_t num); - void set_transport_push_function (gnutls_push_func push_func); - void set_transport_pull_function (gnutls_pull_func pull_func); - - void set_user_ptr (void *ptr); - void *get_user_ptr () const; - - void send_openpgp_cert (gnutls_openpgp_crt_status_t status); - - gnutls_credentials_type_t get_auth_type () const; - gnutls_credentials_type_t get_server_auth_type () const; - gnutls_credentials_type_t get_client_auth_type () const; - - // informational stuff - void set_dh_prime_bits (unsigned int bits); - unsigned int get_dh_secret_bits () const; - unsigned int get_dh_peers_public_bits () const; - unsigned int get_dh_prime_bits () const; - void get_dh_group (gnutls_datum_t & gen, gnutls_datum_t & prime) const; - void get_dh_pubkey (gnutls_datum_t & raw_key) const; - void get_rsa_export_pubkey (gnutls_datum_t & exponent, - gnutls_datum_t & modulus) const; - unsigned int get_rsa_export_modulus_bits () const; - - void get_our_certificate (gnutls_datum_t & cert) const; - bool get_peers_certificate (std::vector < gnutls_datum_t > - &out_certs) const; - bool get_peers_certificate (const gnutls_datum_t ** certs, - unsigned int *certs_size) const; - - time_t get_peers_certificate_activation_time () const; - time_t get_peers_certificate_expiration_time () const; - void verify_peers_certificate (unsigned int &status) const; - - }; - -// interface for databases - class DB:private noncopyable - { - public: - virtual ~ DB () = 0; - virtual bool store (const gnutls_datum_t & key, - const gnutls_datum_t & data) = 0; - virtual bool retrieve (const gnutls_datum_t & key, - gnutls_datum_t & data) = 0; - virtual bool remove (const gnutls_datum_t & key) = 0; - }; - - class server_session:public session - { - public: - server_session (); - ~server_session (); - void db_remove () const; - - void set_db_cache_expiration (unsigned int seconds); - void set_db (const DB & db); - - // returns true if session is expired - bool db_check_entry (gnutls_datum_t & session_data) const; - - // server side only - const char *get_srp_username () const; - const char *get_psk_username () const; - - void get_server_name (void *data, size_t * data_length, - unsigned int *type, unsigned int indx) const; - - int rehandshake (); - void set_certificate_request (gnutls_certificate_request_t); - }; - - class client_session:public session - { - public: - client_session (); - ~client_session (); - - void set_server_name (gnutls_server_name_type_t type, - const void *name, size_t name_length); - - bool get_request_status (); - }; - - - class credentials:private noncopyable - { - public: - virtual ~ credentials () - { - } - gnutls_credentials_type_t get_type () const; - protected: - friend class session; - credentials (gnutls_credentials_type_t t); - void *ptr () const; - void set_ptr (void *ptr); - gnutls_credentials_type_t type; - private: - void *cred; - }; - - class certificate_credentials:public credentials - { - public: - ~certificate_credentials (); - certificate_credentials (); - - void free_keys (); - void free_cas (); - void free_ca_names (); - void free_crls (); - - void set_dh_params (const dh_params & params); - void set_rsa_export_params (const rsa_params & params); - void set_verify_flags (unsigned int flags); - void set_verify_limits (unsigned int max_bits, unsigned int max_depth); - - void set_x509_trust_file (const char *cafile, gnutls_x509_crt_fmt_t type); - void set_x509_trust (const gnutls_datum_t & CA, - gnutls_x509_crt_fmt_t type); - // FIXME: use classes instead of gnutls_x509_crt_t - void set_x509_trust (gnutls_x509_crt_t * ca_list, int ca_list_size); - - void set_x509_crl_file (const char *crlfile, gnutls_x509_crt_fmt_t type); - void set_x509_crl (const gnutls_datum_t & CRL, - gnutls_x509_crt_fmt_t type); - void set_x509_crl (gnutls_x509_crl_t * crl_list, int crl_list_size); - - void set_x509_key_file (const char *certfile, const char *KEYFILE, - gnutls_x509_crt_fmt_t type); - void set_x509_key (const gnutls_datum_t & CERT, - const gnutls_datum_t & KEY, - gnutls_x509_crt_fmt_t type); - // FIXME: use classes - void set_x509_key (gnutls_x509_crt_t * cert_list, int cert_list_size, - gnutls_x509_privkey_t key); - - - void set_simple_pkcs12_file (const char *pkcs12file, - gnutls_x509_crt_fmt_t type, - const char *password); - - protected: - gnutls_certificate_credentials_t cred; - }; - - class certificate_server_credentials:public certificate_credentials - { - public: - void set_retrieve_function (gnutls_certificate_server_retrieve_function * - func); - void set_params_function (gnutls_params_function * func); - }; - - class certificate_client_credentials:public certificate_credentials - { - public: - void set_retrieve_function (gnutls_certificate_client_retrieve_function * - func); - }; - - - - - class anon_server_credentials:public credentials - { - public: - anon_server_credentials (); - ~anon_server_credentials (); - void set_dh_params (const dh_params & params); - void set_params_function (gnutls_params_function * func); - protected: - gnutls_anon_server_credentials_t cred; - }; - - class anon_client_credentials:public credentials - { - public: - anon_client_credentials (); - ~anon_client_credentials (); - protected: - gnutls_anon_client_credentials_t cred; - }; - - - class srp_server_credentials:public credentials - { - public: - srp_server_credentials (); - ~srp_server_credentials (); - void set_credentials_file (const char *password_file, - const char *password_conf_file); - void set_credentials_function (gnutls_srp_server_credentials_function * - func); - protected: - gnutls_srp_server_credentials_t cred; - }; - - class srp_client_credentials:public credentials - { - public: - srp_client_credentials (); - ~srp_client_credentials (); - void set_credentials (const char *username, const char *password); - void set_credentials_function (gnutls_srp_client_credentials_function * - func); - protected: - gnutls_srp_client_credentials_t cred; - }; - - - class psk_server_credentials:public credentials - { - public: - psk_server_credentials (); - ~psk_server_credentials (); - void set_credentials_file (const char *password_file); - void set_credentials_function (gnutls_psk_server_credentials_function * - func); - void set_dh_params (const dh_params & params); - void set_params_function (gnutls_params_function * func); - protected: - gnutls_psk_server_credentials_t cred; - }; - - class psk_client_credentials:public credentials - { - public: - psk_client_credentials (); - ~psk_client_credentials (); - void set_credentials (const char *username, const gnutls_datum_t & key, - gnutls_psk_key_flags flags); - void set_credentials_function (gnutls_psk_client_credentials_function * - func); - protected: - gnutls_psk_client_credentials_t cred; - }; - - -} /* namespace */ - -#endif /* GNUTLSXX_H */ diff -Nru gnutls26-2.8.6/lib/includes/gnutls/openpgp.h gnutls26-2.4.1/lib/includes/gnutls/openpgp.h --- gnutls26-2.8.6/lib/includes/gnutls/openpgp.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/openpgp.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,350 +0,0 @@ -/* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - */ - -/* This file contains the types and prototypes for the OpenPGP - * key and private key parsing functions. - */ - -#ifndef GNUTLS_OPENPGP_H -# define GNUTLS_OPENPGP_H - -# include - -# ifdef __cplusplus -extern "C" -{ -# endif - -/* Openpgp certificate stuff - */ - - typedef enum gnutls_openpgp_crt_fmt - { GNUTLS_OPENPGP_FMT_RAW, - GNUTLS_OPENPGP_FMT_BASE64 - } gnutls_openpgp_crt_fmt_t; - - typedef unsigned char gnutls_openpgp_keyid_t[8]; - -/* gnutls_openpgp_cert_t should be defined in gnutls.h - */ - - /* initializes the memory for gnutls_openpgp_crt_t struct */ - int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t * key); - /* frees all memory */ - void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key); - - int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, - const gnutls_datum_t * data, - gnutls_openpgp_crt_fmt_t format); - int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, - gnutls_openpgp_crt_fmt_t format, - void *output_data, - size_t * output_data_size); - - int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out); - -/* The key_usage flags are defined in gnutls.h. They are - * the GNUTLS_KEY_* definitions. - */ - int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, - unsigned int *key_usage); - int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, void *fpr, - size_t * fprlen); - int gnutls_openpgp_crt_get_subkey_fingerprint (gnutls_openpgp_crt_t key, - unsigned int idx, - void *fpr, size_t * fprlen); - - int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, - int idx, char *buf, size_t * sizeof_buf); - - gnutls_pk_algorithm_t - gnutls_openpgp_crt_get_pk_algorithm (gnutls_openpgp_crt_t key, - unsigned int *bits); - - int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key); - - time_t gnutls_openpgp_crt_get_creation_time (gnutls_openpgp_crt_t key); - time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key); - - int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); - - int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, - const char *hostname); - - int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key); - - int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key); - int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); - int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, - unsigned int idx); - gnutls_pk_algorithm_t - gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *bits); - time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, - unsigned int idx); - time_t - gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, - unsigned int idx); - int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); - int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *key_usage); - - int gnutls_openpgp_crt_get_subkey_pk_dsa_raw (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, - gnutls_datum_t * y); - int gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t * m, - gnutls_datum_t * e); - int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, - gnutls_datum_t * y); - int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t * m, - gnutls_datum_t * e); - - int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyid_t keyid); - int - gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, - const gnutls_openpgp_keyid_t keyid); - -/* privkey stuff. - */ - int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t * key); - void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key); - gnutls_pk_algorithm_t - gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, - unsigned int *bits); - int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, - const gnutls_datum_t * data, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags); - int gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, - const gnutls_datum_t * hash, - gnutls_datum_t * signature); - int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, - void *fpr, size_t * fprlen); - int - gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, - unsigned int idx, - void *fpr, - size_t * fprlen); - int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); - int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key); - int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); - - int - gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, - unsigned int idx); - - int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key); - - gnutls_pk_algorithm_t - gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, - unsigned int idx, - unsigned int *bits); - - time_t - gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, - unsigned int idx); - - int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, - unsigned int idx, - gnutls_openpgp_keyid_t keyid); - - time_t - gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, - unsigned int idx); - - int - gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, - gnutls_datum_t * y, - gnutls_datum_t * x); - int - gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t * m, - gnutls_datum_t * e, - gnutls_datum_t * d, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * u); - - int gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, - gnutls_datum_t * y, - gnutls_datum_t * x); - int gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t * m, - gnutls_datum_t * e, - gnutls_datum_t * d, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * u); - - int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, - gnutls_openpgp_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t * output_data_size); - - int - gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t keyid); - int - gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, - gnutls_openpgp_keyid_t keyid); - - int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, - gnutls_openpgp_keyid_t keyid, - unsigned int flag); - -/* Keyring stuff. - */ - - int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t * keyring); - void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring); - - int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, - const gnutls_datum_t * data, - gnutls_openpgp_crt_fmt_t format); - - int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, - const gnutls_openpgp_keyid_t keyid, - unsigned int flags); - - - int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, - gnutls_openpgp_keyring_t keyring, - unsigned int flags, unsigned int *verify - /* the output of the verification */ ); - - int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, - unsigned int flags, - unsigned int *verify); - - int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, - unsigned int idx, - gnutls_openpgp_crt_t * cert); - - int gnutls_openpgp_keyring_get_crt_count (gnutls_openpgp_keyring_t ring); - - - -/** - * gnutls_openpgp_recv_key_func - Callback prototype to get OpenPGP keys - * @session: a TLS session - * @keyfpr: key fingerprint - * @keyfpr_length: length of key fingerprint - * @key: output key. - * - * A callback of this type is used to retrieve OpenPGP keys. Only - * useful on the server, and will only be used if the peer send a key - * fingerprint instead of a full key. See also - * gnutls_openpgp_set_recv_key_function(). - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - */ - typedef int (*gnutls_openpgp_recv_key_func) (gnutls_session_t session, - const unsigned char *keyfpr, - unsigned int keyfpr_length, - gnutls_datum_t * key); - - void - gnutls_openpgp_set_recv_key_function (gnutls_session_t session, - gnutls_openpgp_recv_key_func func); - - - -/* certificate authentication stuff. - */ - int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, - gnutls_openpgp_crt_t key, - gnutls_openpgp_privkey_t pkey); - - int - gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_openpgp_crt_fmt_t format); - int - gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, - const gnutls_datum_t * key, - gnutls_openpgp_crt_fmt_t format); - - int - gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); - int - gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, - const gnutls_datum_t * key, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format); - - int - gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, - const unsigned char *data, - size_t dlen, - gnutls_openpgp_crt_fmt_t format); - - int - gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, - const char *file, - gnutls_openpgp_crt_fmt_t format); - -# ifdef __cplusplus -} -# endif - -#endif /* GNUTLS_OPENPGP_H */ diff -Nru gnutls26-2.8.6/lib/includes/gnutls/pkcs12.h gnutls26-2.4.1/lib/includes/gnutls/pkcs12.h --- gnutls26-2.8.6/lib/includes/gnutls/pkcs12.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/pkcs12.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - */ - -#ifndef GNUTLS_PKCS12_H -# define GNUTLS_PKCS12_H - -# include - -# ifdef __cplusplus -extern "C" -{ -# endif - - /* PKCS12 structures handling - */ - struct gnutls_pkcs12_int; - typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t; - - struct gnutls_pkcs12_bag_int; - typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t; - - int gnutls_pkcs12_init (gnutls_pkcs12_t * pkcs12); - void gnutls_pkcs12_deinit (gnutls_pkcs12_t pkcs12); - int gnutls_pkcs12_import (gnutls_pkcs12_t pkcs12, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format, unsigned int flags); - int gnutls_pkcs12_export (gnutls_pkcs12_t pkcs12, - gnutls_x509_crt_fmt_t format, - void *output_data, size_t * output_data_size); - - int gnutls_pkcs12_get_bag (gnutls_pkcs12_t pkcs12, - int indx, gnutls_pkcs12_bag_t bag); - int gnutls_pkcs12_set_bag (gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag); - - int gnutls_pkcs12_generate_mac (gnutls_pkcs12_t pkcs12, const char *pass); - int gnutls_pkcs12_verify_mac (gnutls_pkcs12_t pkcs12, const char *pass); - - int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, const char *pass); - int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, const char *pass, - unsigned int flags); - - typedef enum gnutls_pkcs12_bag_type_t - { - GNUTLS_BAG_EMPTY = 0, - - GNUTLS_BAG_PKCS8_ENCRYPTED_KEY = 1, - GNUTLS_BAG_PKCS8_KEY, - GNUTLS_BAG_CERTIFICATE, - GNUTLS_BAG_CRL, - GNUTLS_BAG_ENCRYPTED = 10, - GNUTLS_BAG_UNKNOWN = 20 - } gnutls_pkcs12_bag_type_t; - - gnutls_pkcs12_bag_type_t - gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, - int indx); - int gnutls_pkcs12_bag_get_data (gnutls_pkcs12_bag_t bag, int indx, - gnutls_datum_t * data); - int gnutls_pkcs12_bag_set_data (gnutls_pkcs12_bag_t bag, - gnutls_pkcs12_bag_type_t type, - const gnutls_datum_t * data); - int gnutls_pkcs12_bag_set_crl (gnutls_pkcs12_bag_t bag, - gnutls_x509_crl_t crl); - int gnutls_pkcs12_bag_set_crt (gnutls_pkcs12_bag_t bag, - gnutls_x509_crt_t crt); - - int gnutls_pkcs12_bag_init (gnutls_pkcs12_bag_t * bag); - void gnutls_pkcs12_bag_deinit (gnutls_pkcs12_bag_t bag); - int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag); - - int gnutls_pkcs12_bag_get_key_id (gnutls_pkcs12_bag_t bag, int indx, - gnutls_datum_t * id); - int gnutls_pkcs12_bag_set_key_id (gnutls_pkcs12_bag_t bag, int indx, - const gnutls_datum_t * id); - - int gnutls_pkcs12_bag_get_friendly_name (gnutls_pkcs12_bag_t bag, int indx, - char **name); - int gnutls_pkcs12_bag_set_friendly_name (gnutls_pkcs12_bag_t bag, int indx, - const char *name); - -# ifdef __cplusplus -} -# endif - -#endif /* GNUTLS_PKCS12_H */ diff -Nru gnutls26-2.8.6/lib/includes/gnutls/x509.h gnutls26-2.4.1/lib/includes/gnutls/x509.h --- gnutls26-2.8.6/lib/includes/gnutls/x509.h 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/gnutls/x509.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,789 +0,0 @@ -/* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - */ - -/* This file contains the types and prototypes for the X.509 - * certificate and CRL handling functions. - */ - -#ifndef GNUTLS_X509_H -# define GNUTLS_X509_H - -# include - -# ifdef __cplusplus -extern "C" -{ -# endif - -/* Some OIDs usually found in Distinguished names, or - * in Subject Directory Attribute extensions. - */ -#define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6" -#define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10" -#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" -#define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3" -#define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7" -#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" - -#define GNUTLS_OID_X520_INITIALS "2.5.4.43" -#define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44" -#define GNUTLS_OID_X520_SURNAME "2.5.4.4" -#define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42" -#define GNUTLS_OID_X520_TITLE "2.5.4.12" -#define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46" -#define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65" - -#define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25" -#define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1" - -/* The following should not be included in DN. - */ -#define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" - -#define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1" -#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2" -#define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3" -#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4" -#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5" - -/* Key purpose Object Identifiers. - */ -#define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1" -#define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2" -#define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3" -#define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4" -#define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8" -#define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9" -#define GNUTLS_KP_ANY "2.5.29.37.0" - -#define GNUTLS_FSAN_SET 0 -#define GNUTLS_FSAN_APPEND 1 - -/* Certificate handling functions. - */ - typedef enum gnutls_certificate_import_flags - { - /* Fail if the certificates in the buffer are more than the space - * allocated for certificates. The error code will be - * GNUTLS_E_SHORT_MEMORY_BUFFER. - */ - GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED = 1 - } gnutls_certificate_import_flags; - - int gnutls_x509_crt_init (gnutls_x509_crt_t * cert); - void gnutls_x509_crt_deinit (gnutls_x509_crt_t cert); - int gnutls_x509_crt_import (gnutls_x509_crt_t cert, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format); - int gnutls_x509_crt_list_import (gnutls_x509_crt_t * certs, - unsigned int *cert_max, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format, - unsigned int flags); - int gnutls_x509_crt_export (gnutls_x509_crt_t cert, - gnutls_x509_crt_fmt_t format, - void *output_data, size_t * output_data_size); - int gnutls_x509_crt_get_issuer_dn (gnutls_x509_crt_t cert, char *buf, - size_t * sizeof_buf); - int gnutls_x509_crt_get_issuer_dn_oid (gnutls_x509_crt_t cert, int indx, - void *oid, size_t * sizeof_oid); - int gnutls_x509_crt_get_issuer_dn_by_oid (gnutls_x509_crt_t cert, - const char *oid, int indx, - unsigned int raw_flag, - void *buf, size_t * sizeof_buf); - int gnutls_x509_crt_get_dn (gnutls_x509_crt_t cert, char *buf, - size_t * sizeof_buf); - int gnutls_x509_crt_get_dn_oid (gnutls_x509_crt_t cert, int indx, - void *oid, size_t * sizeof_oid); - int gnutls_x509_crt_get_dn_by_oid (gnutls_x509_crt_t cert, - const char *oid, int indx, - unsigned int raw_flag, void *buf, - size_t * sizeof_buf); - int gnutls_x509_crt_check_hostname (gnutls_x509_crt_t cert, - const char *hostname); - - int gnutls_x509_crt_get_signature_algorithm (gnutls_x509_crt_t cert); - int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, - char *sig, size_t * sizeof_sig); - int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert); - int gnutls_x509_crt_get_key_id (gnutls_x509_crt_t crt, - unsigned int flags, - unsigned char *output_data, - size_t * output_data_size); - - int gnutls_x509_crt_set_authority_key_id (gnutls_x509_crt_t cert, - const void *id, size_t id_size); - int gnutls_x509_crt_get_authority_key_id (gnutls_x509_crt_t cert, - void *ret, size_t * ret_size, - unsigned int *critical); - - int gnutls_x509_crt_get_subject_key_id (gnutls_x509_crt_t cert, - void *ret, size_t * ret_size, - unsigned int *critical); - -#define GNUTLS_CRL_REASON_UNUSED 128 -#define GNUTLS_CRL_REASON_KEY_COMPROMISE 64 -#define GNUTLS_CRL_REASON_CA_COMPROMISE 32 -#define GNUTLS_CRL_REASON_AFFILIATION_CHANGED 16 -#define GNUTLS_CRL_REASON_SUPERSEEDED 8 -#define GNUTLS_CRL_REASON_CESSATION_OF_OPERATION 4 -#define GNUTLS_CRL_REASON_CERTIFICATE_HOLD 2 -#define GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN 1 -#define GNUTLS_CRL_REASON_AA_COMPROMISE 32768 - - int gnutls_x509_crt_get_crl_dist_points (gnutls_x509_crt_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *reason_flags, - unsigned int *critical); - int gnutls_x509_crt_set_crl_dist_points2 (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int reason_flags); - int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data_string, - unsigned int reason_flags); - int gnutls_x509_crt_cpy_crl_dist_points (gnutls_x509_crt_t dst, - gnutls_x509_crt_t src); - - time_t gnutls_x509_crt_get_activation_time (gnutls_x509_crt_t cert); - time_t gnutls_x509_crt_get_expiration_time (gnutls_x509_crt_t cert); - int gnutls_x509_crt_get_serial (gnutls_x509_crt_t cert, void *result, - size_t * result_size); - - int gnutls_x509_crt_get_pk_algorithm (gnutls_x509_crt_t cert, - unsigned int *bits); - int gnutls_x509_crt_get_pk_rsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t * m, gnutls_datum_t * e); - int gnutls_x509_crt_get_pk_dsa_raw (gnutls_x509_crt_t crt, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, gnutls_datum_t * y); - - int gnutls_x509_crt_get_subject_alt_name (gnutls_x509_crt_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *critical); - int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *ret_type, - unsigned int *critical); - - int gnutls_x509_crt_get_subject_alt_othername_oid (gnutls_x509_crt_t cert, - unsigned int seq, - void *ret, - size_t * ret_size); - - int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, - unsigned int *critical); - int gnutls_x509_crt_get_basic_constraints (gnutls_x509_crt_t cert, - unsigned int *critical, - int *ca, int *pathlen); - -/* The key_usage flags are defined in gnutls.h. They are the - * GNUTLS_KEY_* definitions. - */ - int gnutls_x509_crt_get_key_usage (gnutls_x509_crt_t cert, - unsigned int *key_usage, - unsigned int *critical); - int gnutls_x509_crt_set_key_usage (gnutls_x509_crt_t crt, - unsigned int usage); - - int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, - unsigned int *critical, - int *pathlen, - char **policyLanguage, - char **policy, size_t * sizeof_policy); - - int gnutls_x509_dn_oid_known (const char *oid); - - /* Read extensions by OID. */ - int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, int indx, - void *oid, size_t * sizeof_oid); - int gnutls_x509_crt_get_extension_by_oid (gnutls_x509_crt_t cert, - const char *oid, int indx, - void *buf, - size_t * sizeof_buf, - unsigned int *critical); - - /* Read extensions by sequence number. */ - int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, int indx, - void *oid, size_t * sizeof_oid, - int *critical); - int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, int indx, - void *data, size_t * sizeof_data); - - int gnutls_x509_crt_set_extension_by_oid (gnutls_x509_crt_t crt, - const char *oid, - const void *buf, - size_t sizeof_buf, - unsigned int critical); - -/* X.509 Certificate writing. - */ - int gnutls_x509_crt_set_dn_by_oid (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - int gnutls_x509_crt_set_issuer_dn_by_oid (gnutls_x509_crt_t crt, - const char *oid, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - int gnutls_x509_crt_set_version (gnutls_x509_crt_t crt, - unsigned int version); - int gnutls_x509_crt_set_key (gnutls_x509_crt_t crt, - gnutls_x509_privkey_t key); - int gnutls_x509_crt_set_ca_status (gnutls_x509_crt_t crt, unsigned int ca); - int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t crt, - unsigned int ca, - int pathLenConstraint); - int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const char *data_string); - int gnutls_x509_crt_set_subject_alt_name (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int flags); - int gnutls_x509_crt_sign (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); - int gnutls_x509_crt_sign2 (gnutls_x509_crt_t crt, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - int gnutls_x509_crt_set_activation_time (gnutls_x509_crt_t cert, - time_t act_time); - int gnutls_x509_crt_set_expiration_time (gnutls_x509_crt_t cert, - time_t exp_time); - int gnutls_x509_crt_set_serial (gnutls_x509_crt_t cert, const void *serial, - size_t serial_size); - - int gnutls_x509_crt_set_subject_key_id (gnutls_x509_crt_t cert, - const void *id, size_t id_size); - - int gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, - gnutls_x509_crt_t eecrt, - unsigned int raw_flag, - const void *name, - unsigned int sizeof_name); - int gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, - int pathLenConstraint, - const char *policyLanguage, - const char *policy, size_t sizeof_policy); - - int gnutls_x509_crt_print (gnutls_x509_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out); - int gnutls_x509_crl_print (gnutls_x509_crl_t crl, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out); - - /* Access to internal Certificate fields. - */ - int gnutls_x509_crt_get_raw_issuer_dn (gnutls_x509_crt_t cert, - gnutls_datum_t * start); - int gnutls_x509_crt_get_raw_dn (gnutls_x509_crt_t cert, - gnutls_datum_t * start); - -/* RDN handling. - */ - int gnutls_x509_rdn_get (const gnutls_datum_t * idn, - char *buf, size_t * sizeof_buf); - int gnutls_x509_rdn_get_oid (const gnutls_datum_t * idn, - int indx, void *buf, size_t * sizeof_buf); - - int gnutls_x509_rdn_get_by_oid (const gnutls_datum_t * idn, - const char *oid, int indx, - unsigned int raw_flag, void *buf, - size_t * sizeof_buf); - - typedef void *gnutls_x509_dn_t; - - typedef struct gnutls_x509_ava_st - { - gnutls_datum_t oid; - gnutls_datum_t value; - unsigned long value_tag; - } gnutls_x509_ava_st; - - int gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, - gnutls_x509_dn_t * dn); - int gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, - gnutls_x509_dn_t * dn); - int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, int irdn, - int iava, gnutls_x509_ava_st * ava); - - int gnutls_x509_dn_init (gnutls_x509_dn_t * dn); - - int gnutls_x509_dn_import (gnutls_x509_dn_t dn, - const gnutls_datum_t * data); - - int gnutls_x509_dn_export (gnutls_x509_dn_t dn, - gnutls_x509_crt_fmt_t format, void *output_data, - size_t * output_data_size); - - void gnutls_x509_dn_deinit (gnutls_x509_dn_t dn); - - -/* CRL handling functions. - */ - int gnutls_x509_crl_init (gnutls_x509_crl_t * crl); - void gnutls_x509_crl_deinit (gnutls_x509_crl_t crl); - - int gnutls_x509_crl_import (gnutls_x509_crl_t crl, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format); - int gnutls_x509_crl_export (gnutls_x509_crl_t crl, - gnutls_x509_crt_fmt_t format, - void *output_data, size_t * output_data_size); - - int gnutls_x509_crl_get_issuer_dn (const gnutls_x509_crl_t crl, - char *buf, size_t * sizeof_buf); - int gnutls_x509_crl_get_issuer_dn_by_oid (gnutls_x509_crl_t crl, - const char *oid, int indx, - unsigned int raw_flag, - void *buf, size_t * sizeof_buf); - int gnutls_x509_crl_get_dn_oid (gnutls_x509_crl_t crl, int indx, - void *oid, size_t * sizeof_oid); - - int gnutls_x509_crl_get_signature_algorithm (gnutls_x509_crl_t crl); - int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, - char *sig, size_t * sizeof_sig); - int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl); - - time_t gnutls_x509_crl_get_this_update (gnutls_x509_crl_t crl); - time_t gnutls_x509_crl_get_next_update (gnutls_x509_crl_t crl); - - int gnutls_x509_crl_get_crt_count (gnutls_x509_crl_t crl); - int gnutls_x509_crl_get_crt_serial (gnutls_x509_crl_t crl, int indx, - unsigned char *serial, - size_t * serial_size, time_t * t); -#define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count -#define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial - - int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer); - -/* CRL writing. - */ - int gnutls_x509_crl_set_version (gnutls_x509_crl_t crl, - unsigned int version); - int gnutls_x509_crl_sign (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key); - int gnutls_x509_crl_sign2 (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer, - gnutls_x509_privkey_t issuer_key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - int gnutls_x509_crl_set_this_update (gnutls_x509_crl_t crl, - time_t act_time); - int gnutls_x509_crl_set_next_update (gnutls_x509_crl_t crl, - time_t exp_time); - int gnutls_x509_crl_set_crt_serial (gnutls_x509_crl_t crl, - const void *serial, - size_t serial_size, - time_t revocation_time); - int gnutls_x509_crl_set_crt (gnutls_x509_crl_t crl, - gnutls_x509_crt_t crt, time_t revocation_time); - - int gnutls_x509_crl_get_authority_key_id (gnutls_x509_crl_t crl, void *ret, - size_t * ret_size, - unsigned int *critical); - - int gnutls_x509_crl_get_number (gnutls_x509_crl_t crl, void *ret, - size_t * ret_size, unsigned int *critical); - - int gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, int indx, - void *oid, size_t * sizeof_oid); - - int gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t crl, int indx, - void *oid, size_t * sizeof_oid, - int *critical); - - int gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t crl, int indx, - void *data, size_t * sizeof_data); - - int gnutls_x509_crl_set_authority_key_id (gnutls_x509_crl_t crl, - const void *id, size_t id_size); - - int gnutls_x509_crl_set_number (gnutls_x509_crl_t crl, - const void *nr, size_t nr_size); - - -/* PKCS7 structures handling - */ - struct gnutls_pkcs7_int; - typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t; - - int gnutls_pkcs7_init (gnutls_pkcs7_t * pkcs7); - void gnutls_pkcs7_deinit (gnutls_pkcs7_t pkcs7); - int gnutls_pkcs7_import (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format); - int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, - gnutls_x509_crt_fmt_t format, - void *output_data, size_t * output_data_size); - - int gnutls_pkcs7_get_crt_count (gnutls_pkcs7_t pkcs7); - int gnutls_pkcs7_get_crt_raw (gnutls_pkcs7_t pkcs7, int indx, - void *certificate, size_t * certificate_size); - - int gnutls_pkcs7_set_crt_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t * crt); - int gnutls_pkcs7_set_crt (gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt); - int gnutls_pkcs7_delete_crt (gnutls_pkcs7_t pkcs7, int indx); - - int gnutls_pkcs7_get_crl_raw (gnutls_pkcs7_t pkcs7, - int indx, void *crl, size_t * crl_size); - int gnutls_pkcs7_get_crl_count (gnutls_pkcs7_t pkcs7); - - int gnutls_pkcs7_set_crl_raw (gnutls_pkcs7_t pkcs7, - const gnutls_datum_t * crl); - int gnutls_pkcs7_set_crl (gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl); - int gnutls_pkcs7_delete_crl (gnutls_pkcs7_t pkcs7, int indx); - -/* X.509 Certificate verification functions. - */ - typedef enum gnutls_certificate_verify_flags - { - /* If set a signer does not have to be a certificate authority. This - * flag should normaly be disabled, unless you know what this means. - */ - GNUTLS_VERIFY_DISABLE_CA_SIGN = 1, - - /* Allow only trusted CA certificates that have version 1. This is - * safer than GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT, and should be - * used instead. That way only signers in your trusted list will be - * allowed to have certificates of version 1. - */ - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT = 2, - - /* If a certificate is not signed by anyone trusted but exists in - * the trusted CA list do not treat it as trusted. - */ - GNUTLS_VERIFY_DO_NOT_ALLOW_SAME = 4, - - /* Allow CA certificates that have version 1 (both root and - * intermediate). This might be dangerous since those haven't the - * basicConstraints extension. Must be used in combination with - * GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT. - */ - GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT = 8, - - /* Allow certificates to be signed using the broken MD2 algorithm. - */ - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2 = 16, - - /* Allow certificates to be signed using the broken MD5 algorithm. - */ - GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5 = 32, - - /* Disable checking of activation and expiration validity - * periods of certificate chains. Don't set this unless you - * understand the security implications. - */ - GNUTLS_VERIFY_DISABLE_TIME_CHECKS = 64 - } gnutls_certificate_verify_flags; - - int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer); - - int gnutls_x509_crt_list_verify (const gnutls_x509_crt_t * cert_list, - int cert_list_length, - const gnutls_x509_crt_t * CA_list, - int CA_list_length, - const gnutls_x509_crl_t * CRL_list, - int CRL_list_length, - unsigned int flags, unsigned int *verify); - - int gnutls_x509_crt_verify (gnutls_x509_crt_t cert, - const gnutls_x509_crt_t * CA_list, - int CA_list_length, unsigned int flags, - unsigned int *verify); - int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, - const gnutls_x509_crt_t * CA_list, - int CA_list_length, unsigned int flags, - unsigned int *verify); - - int gnutls_x509_crt_check_revocation (gnutls_x509_crt_t cert, - const gnutls_x509_crl_t * - crl_list, int crl_list_length); - - int gnutls_x509_crt_get_fingerprint (gnutls_x509_crt_t cert, - gnutls_digest_algorithm_t algo, - void *buf, size_t * sizeof_buf); - - int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, - int indx, void *oid, - size_t * sizeof_oid, - unsigned int *critical); - int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, - const void *oid, - unsigned int critical); - -/* Private key handling. - */ - -/* Flags for the gnutls_x509_privkey_export_pkcs8() function. - */ - typedef enum gnutls_pkcs_encrypt_flags_t - { - GNUTLS_PKCS_PLAIN = 1, /* if set the private key will not - * be encrypted. - */ - GNUTLS_PKCS_USE_PKCS12_3DES = 2, - GNUTLS_PKCS_USE_PKCS12_ARCFOUR = 4, - GNUTLS_PKCS_USE_PKCS12_RC2_40 = 8, - GNUTLS_PKCS_USE_PBES2_3DES = 16 - } gnutls_pkcs_encrypt_flags_t; - -#define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN -#define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_USE_PKCS12_3DES -#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_USE_PKCS12_ARCFOUR -#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_USE_PKCS12_RC2_40 - - int gnutls_x509_privkey_init (gnutls_x509_privkey_t * key); - void gnutls_x509_privkey_deinit (gnutls_x509_privkey_t key); - int gnutls_x509_privkey_cpy (gnutls_x509_privkey_t dst, - gnutls_x509_privkey_t src); - int gnutls_x509_privkey_import (gnutls_x509_privkey_t key, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format); - int gnutls_x509_privkey_import_pkcs8 (gnutls_x509_privkey_t key, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags); - int gnutls_x509_privkey_import_rsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t * m, - const gnutls_datum_t * e, - const gnutls_datum_t * d, - const gnutls_datum_t * p, - const gnutls_datum_t * q, - const gnutls_datum_t * u); - int gnutls_x509_privkey_fix (gnutls_x509_privkey_t key); - - int gnutls_x509_privkey_export_dsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * g, - gnutls_datum_t * y, - gnutls_datum_t * x); - int gnutls_x509_privkey_import_dsa_raw (gnutls_x509_privkey_t key, - const gnutls_datum_t * p, - const gnutls_datum_t * q, - const gnutls_datum_t * g, - const gnutls_datum_t * y, - const gnutls_datum_t * x); - - int gnutls_x509_privkey_get_pk_algorithm (gnutls_x509_privkey_t key); - int gnutls_x509_privkey_get_key_id (gnutls_x509_privkey_t key, - unsigned int flags, - unsigned char *output_data, - size_t * output_data_size); - - int gnutls_x509_privkey_generate (gnutls_x509_privkey_t key, - gnutls_pk_algorithm_t algo, - unsigned int bits, unsigned int flags); - - int gnutls_x509_privkey_export (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - void *output_data, - size_t * output_data_size); - int gnutls_x509_privkey_export_pkcs8 (gnutls_x509_privkey_t key, - gnutls_x509_crt_fmt_t format, - const char *password, - unsigned int flags, - void *output_data, - size_t * output_data_size); - int gnutls_x509_privkey_export_rsa_raw (gnutls_x509_privkey_t key, - gnutls_datum_t * m, - gnutls_datum_t * e, - gnutls_datum_t * d, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * u); - -/* Signing stuff. - */ - int gnutls_x509_privkey_sign_data (gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t digest, - unsigned int flags, - const gnutls_datum_t * data, - void *signature, - size_t * signature_size); - int gnutls_x509_privkey_verify_data (gnutls_x509_privkey_t key, - unsigned int flags, - const gnutls_datum_t * data, - const gnutls_datum_t * signature); - int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t * data, - const gnutls_datum_t * signature); - int gnutls_x509_crt_verify_hash (gnutls_x509_crt_t crt, - unsigned int flags, - const gnutls_datum_t * hash, - const gnutls_datum_t * signature); - - int gnutls_x509_crt_get_verify_algorithm(gnutls_x509_crt_t crt, - const gnutls_datum_t * signature, gnutls_digest_algorithm_t *hash); - - int gnutls_x509_privkey_sign_hash (gnutls_x509_privkey_t key, - const gnutls_datum_t * hash, - gnutls_datum_t * signature); - - -/* Certificate request stuff. - */ - struct gnutls_x509_crq_int; - typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t; - - int gnutls_x509_crq_print (gnutls_x509_crq_t crq, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out); - - int gnutls_x509_crq_init (gnutls_x509_crq_t * crq); - void gnutls_x509_crq_deinit (gnutls_x509_crq_t crq); - int gnutls_x509_crq_import (gnutls_x509_crq_t crq, - const gnutls_datum_t * data, - gnutls_x509_crt_fmt_t format); - int gnutls_x509_crq_get_dn (gnutls_x509_crq_t crq, char *buf, - size_t * sizeof_buf); - int gnutls_x509_crq_get_dn_oid (gnutls_x509_crq_t crq, int indx, - void *oid, size_t * sizeof_oid); - int gnutls_x509_crq_get_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, int indx, - unsigned int raw_flag, void *buf, - size_t * sizeof_buf); - int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, - const char *oid, - unsigned int raw_flag, - const void *data, - unsigned int sizeof_data); - int gnutls_x509_crq_set_version (gnutls_x509_crq_t crq, - unsigned int version); - int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq); - int gnutls_x509_crq_set_key (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key); - int gnutls_x509_crq_sign2 (gnutls_x509_crq_t crq, - gnutls_x509_privkey_t key, - gnutls_digest_algorithm_t dig, - unsigned int flags); - int gnutls_x509_crq_sign (gnutls_x509_crq_t crq, gnutls_x509_privkey_t key); - - int gnutls_x509_crq_set_challenge_password (gnutls_x509_crq_t crq, - const char *pass); - int gnutls_x509_crq_get_challenge_password (gnutls_x509_crq_t crq, - char *pass, - size_t * sizeof_pass); - - int gnutls_x509_crq_set_attribute_by_oid (gnutls_x509_crq_t crq, - const char *oid, void *buf, - size_t sizeof_buf); - int gnutls_x509_crq_get_attribute_by_oid (gnutls_x509_crq_t crq, - const char *oid, int indx, - void *buf, size_t * sizeof_buf); - - int gnutls_x509_crq_export (gnutls_x509_crq_t crq, - gnutls_x509_crt_fmt_t format, - void *output_data, size_t * output_data_size); - - int gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq); - int gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq); - - int gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t crq, - const gnutls_datum_t * m, - const gnutls_datum_t * e); - int gnutls_x509_crq_set_subject_alt_name (gnutls_x509_crq_t crq, - gnutls_x509_subject_alt_name_t nt, - const void *data, - unsigned int data_size, - unsigned int flags); - - int gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t crq, - unsigned int usage); - int gnutls_x509_crq_set_basic_constraints (gnutls_x509_crq_t crq, - unsigned int ca, - int pathLenConstraint); - int gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert, - const void *oid, - unsigned int critical); - int gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert, int indx, - void *oid, size_t * sizeof_oid, - unsigned int *critical); - - int gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t cert, int indx, - void *data, size_t * sizeof_data); - int gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t cert, int indx, - void *oid, size_t * sizeof_oid, - int *critical); - int gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t cert, int indx, - void *data, size_t * sizeof_data); - int gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t cert, int indx, - void *oid, size_t * sizeof_oid); - int gnutls_x509_crq_get_pk_algorithm (gnutls_x509_crq_t crq, - unsigned int *bits); - - int gnutls_x509_crq_get_key_id (gnutls_x509_crq_t crq, unsigned int flags, - unsigned char *output_data, - size_t * output_data_size); - int gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t crq, - gnutls_datum_t * m, - gnutls_datum_t * e); - - int gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t cert, - unsigned int *key_usage, - unsigned int *critical); - int gnutls_x509_crq_get_basic_constraints (gnutls_x509_crq_t cert, - unsigned int *critical, - int *ca, int *pathlen); - int gnutls_x509_crq_get_subject_alt_name (gnutls_x509_crq_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *ret_type, - unsigned int *critical); - int gnutls_x509_crq_get_subject_alt_othername_oid (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, - size_t * ret_size); - - int gnutls_x509_crq_get_extension_by_oid (gnutls_x509_crq_t cert, - const char *oid, int indx, - void *buf, size_t * sizeof_buf, - unsigned int *critical); - -# ifdef __cplusplus -} -# endif - -#endif /* GNUTLS_X509_H */ diff -Nru gnutls26-2.8.6/lib/includes/Makefile.am gnutls26-2.4.1/lib/includes/Makefile.am --- gnutls26-2.8.6/lib/includes/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/includes/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -nobase_include_HEADERS = gnutls/x509.h gnutls/pkcs12.h gnutls/compat.h \ - gnutls/openpgp.h gnutls/crypto.h - -if ENABLE_CXX -nobase_include_HEADERS += gnutls/gnutlsxx.h -endif - -nobase_nodist_include_HEADERS = gnutls/gnutls.h diff -Nru gnutls26-2.8.6/lib/includes/Makefile.in gnutls26-2.4.1/lib/includes/Makefile.in --- gnutls26-2.8.6/lib/includes/Makefile.in 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/includes/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,941 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -@ENABLE_CXX_TRUE@am__append_1 = gnutls/gnutlsxx.h -subdir = includes -DIST_COMMON = $(am__nobase_include_HEADERS_DIST) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -am__nobase_include_HEADERS_DIST = gnutls/x509.h gnutls/pkcs12.h \ - gnutls/compat.h gnutls/openpgp.h gnutls/crypto.h \ - gnutls/gnutlsxx.h -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" -HEADERS = $(nobase_include_HEADERS) $(nobase_nodist_include_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FLOAT_H = @FLOAT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ -HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ -HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ -HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ -HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ -HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASECMP = @HAVE_STRCASECMP@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSETENV = @HAVE_UNSETENV@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ -HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ -LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTOOL = @LIBTOOL@ -LIBZ = @LIBZ@ -LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ -LTLIBZ = @LTLIBZ@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAJOR_VERSION = @MAJOR_VERSION@ -MAKEINFO = @MAKEINFO@ -MINOR_VERSION = @MINOR_VERSION@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ -NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ -NEXT_STRINGS_H = @NEXT_STRINGS_H@ -NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ -NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATCH_VERSION = @PATCH_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ -REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ -REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ -REPLACE_STRERROR = @REPLACE_STRERROR@ -REPLACE_STRPTIME = @REPLACE_STRPTIME@ -REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ -REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ -REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -nobase_include_HEADERS = gnutls/x509.h gnutls/pkcs12.h gnutls/compat.h \ - gnutls/openpgp.h gnutls/crypto.h $(am__append_1) -nobase_nodist_include_HEADERS = gnutls/gnutls.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu includes/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu includes/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files -install-nobase_nodist_includeHEADERS: $(nobase_nodist_include_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" - @list='$(nobase_nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_nodist_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$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 $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS \ - install-nobase_nodist_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nobase_includeHEADERS \ - uninstall-nobase_nodist_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool ctags distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-nobase_includeHEADERS \ - install-nobase_nodist_includeHEADERS install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-nobase_includeHEADERS \ - uninstall-nobase_nodist_includeHEADERS - - -# 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: diff -Nru gnutls26-2.8.6/lib/INSTALL gnutls26-2.4.1/lib/INSTALL --- gnutls26-2.8.6/lib/INSTALL 2010-03-15 10:28:41.000000000 +0000 +++ gnutls26-2.4.1/lib/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,365 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff -Nru gnutls26-2.8.6/lib/libgnutls-config.in gnutls26-2.4.1/lib/libgnutls-config.in --- gnutls26-2.8.6/lib/libgnutls-config.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutls-config.in 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,104 @@ +#!/bin/sh + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +exec_prefix_set=no + +gnutls_libs="@LIBGNUTLS_LIBS@" +gnutls_cflags="@LIBGNUTLS_CFLAGS@" +gnutls_la_file="@libdir@/libgnutls.la" + +usage() +{ + cat <&2 +fi + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo "@VERSION@" + exit 0 + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + --la-file) + echo_la_file=yes + ;; + --help) + usage 0 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi + +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi + +if test "$echo_cflags" = "yes"; then + if test "@includedir@" != "/usr/include" ; then + includes="-I@includedir@" + for i in $gnutls_cflags ; do + if test "$i" = "-I@includedir@" ; then + includes="" + fi + done + fi + echo $includes $gnutls_cflags +fi + +if test "$echo_la_file" = "yes"; then + echo ${gnutls_la_file} +fi + +if test "$echo_libs" = "yes"; then + echo ${gnutls_libs} +fi + + + diff -Nru gnutls26-2.8.6/lib/libgnutls.m4 gnutls26-2.4.1/lib/libgnutls.m4 --- gnutls26-2.8.6/lib/libgnutls.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutls.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,160 @@ +dnl Autoconf macros for libgnutls +dnl $id$ + +# Modified for LIBGNUTLS -- nmav +# Configure paths for LIBGCRYPT +# Shamelessly stolen from the one of XDELTA by Owen Taylor +# Werner Koch 99-12-09 + +dnl AM_PATH_LIBGNUTLS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libgnutls, and define LIBGNUTLS_CFLAGS and LIBGNUTLS_LIBS +dnl +AC_DEFUN([AM_PATH_LIBGNUTLS], +[dnl +dnl Get the cflags and libraries from the libgnutls-config script +dnl +AC_ARG_WITH(libgnutls-prefix, + [ --with-libgnutls-prefix=PFX Prefix where libgnutls is installed (optional)], + libgnutls_config_prefix="$withval", libgnutls_config_prefix="") + + if test x$libgnutls_config_prefix != x ; then + if test x${LIBGNUTLS_CONFIG+set} != xset ; then + LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config + fi + fi + + AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no) + min_libgnutls_version=ifelse([$1], ,0.1.0,$1) + AC_MSG_CHECKING(for libgnutls - version >= $min_libgnutls_version) + no_libgnutls="" + if test "$LIBGNUTLS_CONFIG" = "no" ; then + no_libgnutls=yes + else + LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags` + LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs` + libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version` + + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" + LIBS="$LIBS $LIBGNUTLS_LIBS" +dnl +dnl Now check if the installed libgnutls is sufficiently new. Also sanity +dnl checks the results of libgnutls-config to some extent +dnl + rm -f conf.libgnutlstest + AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + system ("touch conf.libgnutlstest"); + + if( strcmp( gnutls_check_version(NULL), "$libgnutls_config_version" ) ) + { + printf("\n*** 'libgnutls-config --version' returned %s, but LIBGNUTLS (%s)\n", + "$libgnutls_config_version", gnutls_check_version(NULL) ); + printf("*** was found! If libgnutls-config was correct, then it is best\n"); + printf("*** to remove the old version of LIBGNUTLS. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If libgnutls-config was wrong, set the environment variable LIBGNUTLS_CONFIG\n"); + printf("*** to point to the correct copy of libgnutls-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ( strcmp(gnutls_check_version(NULL), LIBGNUTLS_VERSION ) ) + { + printf("\n*** LIBGNUTLS header file (version %s) does not match\n", LIBGNUTLS_VERSION); + printf("*** library (version %s)\n", gnutls_check_version(NULL) ); + } + else + { + if ( gnutls_check_version( "$min_libgnutls_version" ) ) + { + return 0; + } + else + { + printf("no\n*** An old version of LIBGNUTLS (%s) was found.\n", + gnutls_check_version(NULL) ); + printf("*** You need a version of LIBGNUTLS newer than %s. The latest version of\n", + "$min_libgnutls_version" ); + printf("*** LIBGNUTLS is always available from ftp://gnutls.hellug.gr/pub/gnutls.\n"); + printf("*** \n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libgnutls-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of LIBGNUTLS, but you can also set the LIBGNUTLS_CONFIG environment to point to the\n"); + printf("*** correct copy of libgnutls-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_libgnutls=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_libgnutls" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + if test -f conf.libgnutlstest ; then + : + else + AC_MSG_RESULT(no) + fi + if test "$LIBGNUTLS_CONFIG" = "no" ; then + echo "*** The libgnutls-config script installed by LIBGNUTLS could not be found" + echo "*** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBGNUTLS_CONFIG environment variable to the" + echo "*** full path to libgnutls-config." + else + if test -f conf.libgnutlstest ; then + : + else + echo "*** Could not run libgnutls test program, checking why..." + CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" + LIBS="$LIBS $LIBGNUTLS_LIBS" + AC_TRY_LINK([ +#include +#include +#include +#include +], [ return !!gnutls_check_version(NULL); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding LIBGNUTLS or finding the wrong" + echo "*** version of LIBGNUTLS. If it is not finding LIBGNUTLS, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means LIBGNUTLS was incorrectly installed" + echo "*** or that you have moved LIBGNUTLS since it was installed. In the latter case, you" + echo "*** may want to edit the libgnutls-config script: $LIBGNUTLS_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + LIBGNUTLS_CFLAGS="" + LIBGNUTLS_LIBS="" + ifelse([$3], , :, [$3]) + fi + rm -f conf.libgnutlstest + AC_SUBST(LIBGNUTLS_CFLAGS) + AC_SUBST(LIBGNUTLS_LIBS) +]) + +dnl *-*wedit:notab*-* Please keep this as the last line. diff -Nru gnutls26-2.8.6/lib/libgnutls.map gnutls26-2.4.1/lib/libgnutls.map --- gnutls26-2.8.6/lib/libgnutls.map 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutls.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,611 +0,0 @@ -# libgnutls.map -- libgnutls linker version script. -*- ld-script -*- -# Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -#Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -GNUTLS_1_4 -{ - global: - gnutls_alert_get; - gnutls_alert_get_name; - gnutls_alert_send; - gnutls_alert_send_appropriate; - gnutls_anon_allocate_client_credentials; - gnutls_anon_allocate_server_credentials; - gnutls_anon_free_client_credentials; - gnutls_anon_free_server_credentials; - gnutls_anon_set_params_function; - gnutls_anon_set_server_dh_params; - gnutls_anon_set_server_params_function; - gnutls_auth_client_get_type; - gnutls_auth_get_type; - gnutls_auth_server_get_type; - gnutls_bye; - gnutls_calc_dh_key; - gnutls_calc_dh_secret; - gnutls_calloc; - gnutls_certificate_activation_time_peers; - gnutls_certificate_allocate_credentials; - gnutls_certificate_client_get_request_status; - gnutls_certificate_client_set_retrieve_function; - gnutls_certificate_expiration_time_peers; - gnutls_certificate_free_ca_names; - gnutls_certificate_free_cas; - gnutls_certificate_free_credentials; - gnutls_certificate_free_crls; - gnutls_certificate_free_keys; - gnutls_certificate_get_openpgp_keyring; - gnutls_certificate_get_ours; - gnutls_certificate_get_peers; - gnutls_certificate_get_x509_cas; - gnutls_certificate_get_x509_crls; - gnutls_certificate_send_x509_rdn_sequence; - gnutls_certificate_server_set_request; - gnutls_certificate_server_set_retrieve_function; - gnutls_certificate_set_dh_params; - gnutls_certificate_set_openpgp_key; - gnutls_certificate_set_openpgp_key_file2; - gnutls_certificate_set_openpgp_key_file; - gnutls_certificate_set_openpgp_key_mem2; - gnutls_certificate_set_openpgp_key_mem; - gnutls_certificate_set_openpgp_keyring_file; - gnutls_certificate_set_openpgp_keyring_mem; - gnutls_certificate_set_params_function; - gnutls_certificate_set_rsa_export_params; - gnutls_certificate_set_verify_flags; - gnutls_certificate_set_verify_limits; - gnutls_certificate_set_x509_crl; - gnutls_certificate_set_x509_crl_file; - gnutls_certificate_set_x509_crl_mem; - gnutls_certificate_set_x509_key; - gnutls_certificate_set_x509_key_file; - gnutls_certificate_set_x509_key_mem; - gnutls_certificate_set_x509_simple_pkcs12_file; - gnutls_certificate_set_x509_trust; - gnutls_certificate_set_x509_trust_file; - gnutls_certificate_set_x509_trust_mem; - gnutls_certificate_type_get; - gnutls_certificate_type_get_id; - gnutls_certificate_type_get_name; - gnutls_certificate_type_list; - gnutls_certificate_type_set_priority; - gnutls_certificate_verify_peers2; - gnutls_certificate_verify_peers; - gnutls_check_version; - gnutls_cipher_get; - gnutls_cipher_get_id; - gnutls_cipher_get_key_size; - gnutls_cipher_get_name; - gnutls_cipher_list; - gnutls_cipher_set_priority; - gnutls_cipher_suite_get_name; - gnutls_cipher_suite_info; - gnutls_compression_get; - gnutls_compression_get_id; - gnutls_compression_get_name; - gnutls_compression_list; - gnutls_compression_set_priority; - gnutls_credentials_clear; - gnutls_credentials_set; - gnutls_crypto_bigint_register2; - gnutls_crypto_cipher_register2; - gnutls_crypto_digest_register2; - gnutls_crypto_mac_register2; - gnutls_crypto_pk_register2; - gnutls_crypto_rnd_register2; - gnutls_crypto_single_cipher_register2; - gnutls_crypto_single_digest_register2; - gnutls_crypto_single_mac_register2; - gnutls_db_check_entry; - gnutls_db_get_ptr; - gnutls_db_remove_session; - gnutls_db_set_cache_expiration; - gnutls_db_set_ptr; - gnutls_db_set_remove_function; - gnutls_db_set_retrieve_function; - gnutls_db_set_store_function; - gnutls_deinit; - gnutls_dh_get_group; - gnutls_dh_get_peers_public_bits; - gnutls_dh_get_prime_bits; - gnutls_dh_get_pubkey; - gnutls_dh_get_secret_bits; - gnutls_dh_params_cpy; - gnutls_dh_params_deinit; - gnutls_dh_params_export_pkcs3; - gnutls_dh_params_export_raw; - gnutls_dh_params_generate2; - gnutls_dh_params_import_pkcs3; - gnutls_dh_params_import_raw; - gnutls_dh_params_init; - gnutls_dh_set_prime_bits; - gnutls_error_is_fatal; - gnutls_error_to_alert; - gnutls_ext_register; - gnutls_fingerprint; - gnutls_free; - gnutls_global_deinit; - gnutls_global_init; - gnutls_global_set_log_function; - gnutls_global_set_log_level; - gnutls_global_set_mem_functions; - gnutls_handshake; - gnutls_handshake_get_last_in; - gnutls_handshake_get_last_out; - gnutls_handshake_set_max_packet_length; - gnutls_handshake_set_post_client_hello_function; - gnutls_handshake_set_private_extensions; - gnutls_hex2bin; - gnutls_hex_decode; - gnutls_hex_encode; - gnutls_init; - gnutls_kx_get; - gnutls_kx_get_id; - gnutls_kx_get_name; - gnutls_kx_list; - gnutls_kx_set_priority; - gnutls_mac_get; - gnutls_mac_get_id; - gnutls_mac_get_key_size; - gnutls_mac_get_name; - gnutls_mac_list; - gnutls_mac_set_priority; - gnutls_malloc; - gnutls_openpgp_count_key_names; - gnutls_openpgp_crt_check_hostname; - gnutls_openpgp_crt_deinit; - gnutls_openpgp_crt_export; - gnutls_openpgp_crt_get_auth_subkey; - gnutls_openpgp_crt_get_creation_time; - gnutls_openpgp_crt_get_expiration_time; - gnutls_openpgp_crt_get_fingerprint; - gnutls_openpgp_crt_get_key_id; - gnutls_openpgp_crt_get_key_usage; - gnutls_openpgp_crt_get_name; - gnutls_openpgp_crt_get_pk_algorithm; - gnutls_openpgp_crt_get_pk_dsa_raw; - gnutls_openpgp_crt_get_pk_rsa_raw; - gnutls_openpgp_crt_get_preferred_key_id; - gnutls_openpgp_crt_get_revoked_status; - gnutls_openpgp_crt_get_subkey_count; - gnutls_openpgp_crt_get_subkey_creation_time; - gnutls_openpgp_crt_get_subkey_expiration_time; - gnutls_openpgp_crt_get_subkey_fingerprint; - gnutls_openpgp_crt_get_subkey_id; - gnutls_openpgp_crt_get_subkey_idx; - gnutls_openpgp_crt_get_subkey_pk_algorithm; - gnutls_openpgp_crt_get_subkey_pk_dsa_raw; - gnutls_openpgp_crt_get_subkey_pk_rsa_raw; - gnutls_openpgp_crt_get_subkey_revoked_status; - gnutls_openpgp_crt_get_subkey_usage; - gnutls_openpgp_crt_get_version; - gnutls_openpgp_crt_import; - gnutls_openpgp_crt_init; - gnutls_openpgp_crt_print; - gnutls_openpgp_crt_set_preferred_key_id; - gnutls_openpgp_crt_verify_ring; - gnutls_openpgp_crt_verify_self; - gnutls_openpgp_get_key; - gnutls_openpgp_keyring_check_id; - gnutls_openpgp_keyring_deinit; - gnutls_openpgp_keyring_get_crt; - gnutls_openpgp_keyring_get_crt_count; - gnutls_openpgp_keyring_import; - gnutls_openpgp_keyring_init; - gnutls_openpgp_privkey_deinit; - gnutls_openpgp_privkey_export; - gnutls_openpgp_privkey_export_dsa_raw; - gnutls_openpgp_privkey_export_rsa_raw; - gnutls_openpgp_privkey_export_subkey_dsa_raw; - gnutls_openpgp_privkey_export_subkey_rsa_raw; - gnutls_openpgp_privkey_get_fingerprint; - gnutls_openpgp_privkey_get_key_id; - gnutls_openpgp_privkey_get_pk_algorithm; - gnutls_openpgp_privkey_get_preferred_key_id; - gnutls_openpgp_privkey_get_revoked_status; - gnutls_openpgp_privkey_get_subkey_count; - gnutls_openpgp_privkey_get_subkey_creation_time; - gnutls_openpgp_privkey_get_subkey_expiration_time; - gnutls_openpgp_privkey_get_subkey_fingerprint; - gnutls_openpgp_privkey_get_subkey_id; - gnutls_openpgp_privkey_get_subkey_idx; - gnutls_openpgp_privkey_get_subkey_pk_algorithm; - gnutls_openpgp_privkey_get_subkey_revoked_status; - gnutls_openpgp_privkey_import; - gnutls_openpgp_privkey_init; - gnutls_openpgp_privkey_set_preferred_key_id; - gnutls_openpgp_privkey_sign_hash; - gnutls_openpgp_send_cert; - gnutls_openpgp_set_recv_key_function; - gnutls_oprfi_enable_client; - gnutls_oprfi_enable_server; - gnutls_pem_base64_decode; - gnutls_pem_base64_decode_alloc; - gnutls_pem_base64_encode; - gnutls_pem_base64_encode_alloc; - gnutls_perror; - gnutls_pk_algorithm_get_name; - gnutls_pk_get_id; - gnutls_pk_get_name; - gnutls_pk_list; - gnutls_pk_params_init; - gnutls_pk_params_release; - gnutls_pkcs12_bag_decrypt; - gnutls_pkcs12_bag_deinit; - gnutls_pkcs12_bag_encrypt; - gnutls_pkcs12_bag_get_count; - gnutls_pkcs12_bag_get_data; - gnutls_pkcs12_bag_get_friendly_name; - gnutls_pkcs12_bag_get_key_id; - gnutls_pkcs12_bag_get_type; - gnutls_pkcs12_bag_init; - gnutls_pkcs12_bag_set_crl; - gnutls_pkcs12_bag_set_crt; - gnutls_pkcs12_bag_set_data; - gnutls_pkcs12_bag_set_friendly_name; - gnutls_pkcs12_bag_set_key_id; - gnutls_pkcs12_deinit; - gnutls_pkcs12_export; - gnutls_pkcs12_generate_mac; - gnutls_pkcs12_get_bag; - gnutls_pkcs12_import; - gnutls_pkcs12_init; - gnutls_pkcs12_set_bag; - gnutls_pkcs12_verify_mac; - gnutls_pkcs7_deinit; - gnutls_pkcs7_delete_crl; - gnutls_pkcs7_delete_crt; - gnutls_pkcs7_export; - gnutls_pkcs7_get_crl_count; - gnutls_pkcs7_get_crl_raw; - gnutls_pkcs7_get_crt_count; - gnutls_pkcs7_get_crt_raw; - gnutls_pkcs7_import; - gnutls_pkcs7_init; - gnutls_pkcs7_set_crl; - gnutls_pkcs7_set_crl_raw; - gnutls_pkcs7_set_crt; - gnutls_pkcs7_set_crt_raw; - gnutls_prf; - gnutls_prf_raw; - gnutls_priority_deinit; - gnutls_priority_init; - gnutls_priority_set; - gnutls_priority_set_direct; - gnutls_protocol_get_id; - gnutls_protocol_get_name; - gnutls_protocol_get_version; - gnutls_protocol_list; - gnutls_protocol_set_priority; - gnutls_psk_allocate_client_credentials; - gnutls_psk_allocate_server_credentials; - gnutls_psk_client_get_hint; - gnutls_psk_free_client_credentials; - gnutls_psk_free_server_credentials; - gnutls_psk_netconf_derive_key; - gnutls_psk_server_get_username; - gnutls_psk_set_client_credentials; - gnutls_psk_set_client_credentials_function; - gnutls_psk_set_params_function; - gnutls_psk_set_server_credentials_file; - gnutls_psk_set_server_credentials_function; - gnutls_psk_set_server_credentials_hint; - gnutls_psk_set_server_dh_params; - gnutls_psk_set_server_params_function; - gnutls_realloc; - gnutls_realloc_fast; - gnutls_record_check_pending; - gnutls_record_disable_padding; - gnutls_record_get_direction; - gnutls_record_get_max_size; - gnutls_record_recv; - gnutls_record_send; - gnutls_record_set_max_size; - gnutls_rehandshake; - gnutls_rsa_export_get_modulus_bits; - gnutls_rsa_export_get_pubkey; - gnutls_rsa_params_cpy; - gnutls_rsa_params_deinit; - gnutls_rsa_params_export_pkcs1; - gnutls_rsa_params_export_raw; - gnutls_rsa_params_generate2; - gnutls_rsa_params_import_pkcs1; - gnutls_rsa_params_import_raw; - gnutls_rsa_params_init; - gnutls_secure_calloc; - gnutls_secure_malloc; - gnutls_server_name_get; - gnutls_server_name_set; - gnutls_session_enable_compatibility_mode; - gnutls_session_get_client_random; - gnutls_session_get_data2; - gnutls_session_get_data; - gnutls_session_get_id; - gnutls_session_get_master_secret; - gnutls_session_get_ptr; - gnutls_session_get_server_random; - gnutls_session_is_resumed; - gnutls_session_set_data; - gnutls_session_set_finished_function; - gnutls_session_set_ptr; - gnutls_set_default_export_priority; - gnutls_set_default_priority; - gnutls_sign_algorithm_get_name; - gnutls_sign_callback_get; - gnutls_sign_callback_set; - gnutls_sign_get_id; - gnutls_sign_get_name; - gnutls_sign_list; - gnutls_srp_1024_group_generator; - gnutls_srp_1024_group_prime; - gnutls_srp_1536_group_generator; - gnutls_srp_1536_group_prime; - gnutls_srp_2048_group_generator; - gnutls_srp_2048_group_prime; - gnutls_srp_allocate_client_credentials; - gnutls_srp_allocate_server_credentials; - gnutls_srp_base64_decode; - gnutls_srp_base64_decode_alloc; - gnutls_srp_base64_encode; - gnutls_srp_base64_encode_alloc; - gnutls_srp_free_client_credentials; - gnutls_srp_free_server_credentials; - gnutls_srp_server_get_username; - gnutls_srp_set_client_credentials; - gnutls_srp_set_client_credentials_function; - gnutls_srp_set_prime_bits; - gnutls_srp_set_server_credentials_file; - gnutls_srp_set_server_credentials_function; - gnutls_srp_verifier; - gnutls_strdup; - gnutls_strerror; - gnutls_strerror_name; - gnutls_supplemental_get_name; - gnutls_transport_get_ptr2; - gnutls_transport_get_ptr; - gnutls_transport_set_errno; - gnutls_transport_set_global_errno; - gnutls_transport_set_lowat; - gnutls_transport_set_ptr2; - gnutls_transport_set_ptr; - gnutls_transport_set_pull_function; - gnutls_transport_set_push_function; - gnutls_x509_crl_check_issuer; - gnutls_x509_crl_deinit; - gnutls_x509_crl_export; - gnutls_x509_crl_get_crt_count; - gnutls_x509_crl_get_crt_serial; - gnutls_x509_crl_get_dn_oid; - gnutls_x509_crl_get_issuer_dn; - gnutls_x509_crl_get_issuer_dn_by_oid; - gnutls_x509_crl_get_next_update; - gnutls_x509_crl_get_signature; - gnutls_x509_crl_get_signature_algorithm; - gnutls_x509_crl_get_this_update; - gnutls_x509_crl_get_version; - gnutls_x509_crl_import; - gnutls_x509_crl_init; - gnutls_x509_crl_print; - gnutls_x509_crl_set_crt; - gnutls_x509_crl_set_crt_serial; - gnutls_x509_crl_set_next_update; - gnutls_x509_crl_set_this_update; - gnutls_x509_crl_set_version; - gnutls_x509_crl_sign2; - gnutls_x509_crl_sign; - gnutls_x509_crl_verify; - gnutls_x509_crq_deinit; - gnutls_x509_crq_export; - gnutls_x509_crq_get_attribute_by_oid; - gnutls_x509_crq_get_challenge_password; - gnutls_x509_crq_get_dn; - gnutls_x509_crq_get_dn_by_oid; - gnutls_x509_crq_get_dn_oid; - gnutls_x509_crq_get_pk_algorithm; - gnutls_x509_crq_get_version; - gnutls_x509_crq_import; - gnutls_x509_crq_init; - gnutls_x509_crq_set_attribute_by_oid; - gnutls_x509_crq_set_challenge_password; - gnutls_x509_crq_set_dn_by_oid; - gnutls_x509_crq_set_key; - gnutls_x509_crq_set_key_rsa_raw; - gnutls_x509_crq_set_version; - gnutls_x509_crq_sign2; - gnutls_x509_crq_sign; - gnutls_x509_crt_check_hostname; - gnutls_x509_crt_check_issuer; - gnutls_x509_crt_check_revocation; - gnutls_x509_crt_cpy_crl_dist_points; - gnutls_x509_crt_deinit; - gnutls_x509_crt_export; - gnutls_x509_crt_get_activation_time; - gnutls_x509_crt_get_authority_key_id; - gnutls_x509_crt_get_basic_constraints; - gnutls_x509_crt_get_ca_status; - gnutls_x509_crt_get_crl_dist_points; - gnutls_x509_crt_get_dn; - gnutls_x509_crt_get_dn_by_oid; - gnutls_x509_crt_get_dn_oid; - gnutls_x509_crt_get_expiration_time; - gnutls_x509_crt_get_extension_by_oid; - gnutls_x509_crt_get_extension_data; - gnutls_x509_crt_get_extension_info; - gnutls_x509_crt_get_extension_oid; - gnutls_x509_crt_get_fingerprint; - gnutls_x509_crt_get_issuer; - gnutls_x509_crt_get_issuer_dn; - gnutls_x509_crt_get_issuer_dn_by_oid; - gnutls_x509_crt_get_issuer_dn_oid; - gnutls_x509_crt_get_key_id; - gnutls_x509_crt_get_key_purpose_oid; - gnutls_x509_crt_get_key_usage; - gnutls_x509_crt_get_pk_algorithm; - gnutls_x509_crt_get_pk_dsa_raw; - gnutls_x509_crt_get_pk_rsa_raw; - gnutls_x509_crt_get_proxy; - gnutls_x509_crt_get_raw_dn; - gnutls_x509_crt_get_raw_issuer_dn; - gnutls_x509_crt_get_serial; - gnutls_x509_crt_get_signature; - gnutls_x509_crt_get_signature_algorithm; - gnutls_x509_crt_get_subject; - gnutls_x509_crt_get_subject_alt_name2; - gnutls_x509_crt_get_subject_alt_name; - gnutls_x509_crt_get_subject_alt_othername_oid; - gnutls_x509_crt_get_subject_key_id; - gnutls_x509_crt_get_version; - gnutls_x509_crt_import; - gnutls_x509_crt_init; - gnutls_x509_crt_list_import; - gnutls_x509_crt_list_verify; - gnutls_x509_crt_print; - gnutls_x509_crt_set_activation_time; - gnutls_x509_crt_set_authority_key_id; - gnutls_x509_crt_set_basic_constraints; - gnutls_x509_crt_set_ca_status; - gnutls_x509_crt_set_crl_dist_points2; - gnutls_x509_crt_set_crl_dist_points; - gnutls_x509_crt_set_crq; - gnutls_x509_crt_set_dn_by_oid; - gnutls_x509_crt_set_expiration_time; - gnutls_x509_crt_set_extension_by_oid; - gnutls_x509_crt_set_issuer_dn_by_oid; - gnutls_x509_crt_set_key; - gnutls_x509_crt_set_key_purpose_oid; - gnutls_x509_crt_set_key_usage; - gnutls_x509_crt_set_proxy; - gnutls_x509_crt_set_proxy_dn; - gnutls_x509_crt_set_serial; - gnutls_x509_crt_set_subject_alt_name; - gnutls_x509_crt_set_subject_alternative_name; - gnutls_x509_crt_set_subject_key_id; - gnutls_x509_crt_set_version; - gnutls_x509_crt_sign2; - gnutls_x509_crt_sign; - gnutls_x509_crt_verify; - gnutls_x509_crt_verify_data; - gnutls_x509_dn_deinit; - gnutls_x509_dn_export; - gnutls_x509_dn_get_rdn_ava; - gnutls_x509_dn_import; - gnutls_x509_dn_init; - gnutls_x509_dn_oid_known; - gnutls_x509_privkey_cpy; - gnutls_x509_privkey_deinit; - gnutls_x509_privkey_export; - gnutls_x509_privkey_export_dsa_raw; - gnutls_x509_privkey_export_pkcs8; - gnutls_x509_privkey_export_rsa_raw; - gnutls_x509_privkey_fix; - gnutls_x509_privkey_generate; - gnutls_x509_privkey_get_key_id; - gnutls_x509_privkey_get_pk_algorithm; - gnutls_x509_privkey_import; - gnutls_x509_privkey_import_dsa_raw; - gnutls_x509_privkey_import_pkcs8; - gnutls_x509_privkey_import_rsa_raw; - gnutls_x509_privkey_init; - gnutls_x509_privkey_sign_data; - gnutls_x509_privkey_sign_hash; - gnutls_x509_privkey_verify_data; - gnutls_x509_rdn_get; - gnutls_x509_rdn_get_by_oid; - gnutls_x509_rdn_get_oid; - - local: - *; -}; - -GNUTLS_2_8 -{ - global: - gnutls_certificate_set_x509_simple_pkcs12_mem; - gnutls_x509_crl_get_authority_key_id; - gnutls_x509_crl_get_extension_data; - gnutls_x509_crl_get_extension_info; - gnutls_x509_crl_get_extension_oid; - gnutls_x509_crl_get_number; - gnutls_x509_crl_set_authority_key_id; - gnutls_x509_crl_set_number; - gnutls_x509_crq_get_attribute_data; - gnutls_x509_crq_get_attribute_info; - gnutls_x509_crq_get_basic_constraints; - gnutls_x509_crq_get_extension_by_oid; - gnutls_x509_crq_get_extension_data; - gnutls_x509_crq_get_extension_info; - gnutls_x509_crq_get_key_id; - gnutls_x509_crq_get_key_purpose_oid; - gnutls_x509_crq_get_key_rsa_raw; - gnutls_x509_crq_get_key_usage; - gnutls_x509_crq_get_subject_alt_name; - gnutls_x509_crq_get_subject_alt_othername_oid; - gnutls_x509_crq_print; - gnutls_x509_crq_set_basic_constraints; - gnutls_x509_crq_set_key_purpose_oid; - gnutls_x509_crq_set_key_usage; - gnutls_x509_crq_set_subject_alt_name; - gnutls_x509_crt_get_verify_algorithm; - gnutls_x509_crt_set_crq_extensions; - gnutls_x509_crt_verify_hash; -} GNUTLS_1_4; - -GNUTLS_PRIVATE { - global: - # Internal symbols needed by libgnutls-extra: - _gnutls_log_level; - _gnutls_write_uint24; - _gnutls_log; - _gnutls_PRF; - _gnutls_send_int; - _gnutls_read_uint24; - _gnutls_get_cred; - _gnutls_recv_int; - # Internal symbols needed by libgnutls-extra for LZO: - _gnutls_compression_algorithms; - _gnutls_comp_algorithms_size; - _gnutls_lzo1x_decompress_safe; - _gnutls_lzo1x_1_compress; - # Internal symbols needed by libgnutls-openssl: - _gnutls_pkix1_asn; - _gnutls_x509_parse_dn_oid; - _gnutls_hash_fast; - _gnutls_asn2err; - _gnutls_hash_init; - _gnutls_hash_deinit; - _gnutls_hash; - - # Internal symbols needed by psktool: - _gnutls_rnd; - # Internal symbols needed by gnutls-cli-debug: - _gnutls_rsa_pms_set_version; - _gnutls_record_set_default_version; - _gnutls_record_set_default_version; - # Internal symbols needed by tests/gc: - _gnutls_hmac_fast; - _gnutls_pbkdf2_sha1; - # Internal symbols needed by tests/mpi: - _gnutls_mpi_ops; - _gnutls_mpi_randomize; - _gnutls_dump_mpi; - # Internal symbols needed by tests/pkcs12_s2k: - _gnutls_pkcs12_string_to_key; - _gnutls_bin2hex; -}; diff -Nru gnutls26-2.8.6/lib/libgnutls.vers gnutls26-2.4.1/lib/libgnutls.vers --- gnutls26-2.8.6/lib/libgnutls.vers 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutls.vers 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,27 @@ +# libgnutls.vers -- linker script for libgnutls. -*- ld-script -*- +# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation +# +# Author: Simon Josefsson +# +# This file is part of GNUTLS. +# +# The GNUTLS library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The GNUTLS library 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 +#Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNUTLS library; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA + +GNUTLS_1_4 +{ + global: _gnutls*; gnutls*; + local: *; +}; diff -Nru gnutls26-2.8.6/lib/libgnutlsxx.map gnutls26-2.4.1/lib/libgnutlsxx.map --- gnutls26-2.8.6/lib/libgnutlsxx.map 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutlsxx.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -# libgnutlsxx.map -- linker script for libgnutls. -*- ld-script -*- -# Copyright (C) 2005, 2006, 2009 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -#Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -GNUTLS_1_6 -{ - global: - extern "C++" { - gnutls*; - }; - local: *; -}; diff -Nru gnutls26-2.8.6/lib/libgnutlsxx.vers gnutls26-2.4.1/lib/libgnutlsxx.vers --- gnutls26-2.8.6/lib/libgnutlsxx.vers 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/libgnutlsxx.vers 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,30 @@ +# libgnutlsxx.vers -- Versioning script to control what symbols to export. +# Copyright (C) 2005, 2006 Free Software Foundation +# +# Author: Simon Josefsson +# +# This file is part of GNUTLS. +# +# The GNUTLS library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The GNUTLS library 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 +#Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNUTLS library; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA + +GNUTLS_1_6 +{ + global: + extern "C++" { + gnutls*; + }; + local: *; +}; diff -Nru gnutls26-2.8.6/lib/m4/gettext.m4 gnutls26-2.4.1/lib/m4/gettext.m4 --- gnutls26-2.8.6/lib/m4/gettext.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/gettext.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,381 +0,0 @@ -# gettext.m4 serial 60 (gettext-0.17) -dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings;], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE(HAVE_DCGETTEXT, 1, - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST(BUILD_INCLUDED_LIBINTL) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATOBJEXT) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST(DATADIRNAME) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST(INSTOBJEXT) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST(GENCAT) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST(INTLOBJS) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST(INTLLIBS) - - dnl Make all documented variables known to autoconf. - AC_SUBST(LIBINTL) - AC_SUBST(LTLIBINTL) - AC_SUBST(POSUB) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff -Nru gnutls26-2.8.6/lib/m4/hooks.m4 gnutls26-2.4.1/lib/m4/hooks.m4 --- gnutls26-2.8.6/lib/m4/hooks.m4 2010-01-20 15:26:53.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/hooks.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,231 +0,0 @@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. -# -# Author: Nikos Mavrogiannopoulos, Simon Josefsson -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -AC_DEFUN([LIBGNUTLS_HOOKS], -[ - # Library code modified: REVISION++ - # Interfaces changed/added/removed: CURRENT++ REVISION=0 - # Interfaces added: AGE++ - # Interfaces removed: AGE=0 - AC_SUBST(LT_CURRENT, 40) - AC_SUBST(LT_REVISION, 12) - AC_SUBST(LT_AGE, 14) - - # Used when creating the Windows libgnutls-XX.def files. - DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` - AC_SUBST(DLL_VERSION) - - AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include ], - [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128]) - if test "$ac_cv_libgcrypt" != yes; then - AC_MSG_ERROR([[ -*** -*** libgcrypt was not found. You may want to get it from -*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ -*** - ]]) - fi - - AC_ARG_WITH(included-libtasn1, - AS_HELP_STRING([--with-included-libtasn1], [use the included libtasn1]), - included_libtasn1=$withval, - included_libtasn1=no) - if test "$included_libtasn1" = "no"; then - AC_LIB_HAVE_LINKFLAGS(tasn1,, [#include ], - [asn1_check_version (NULL)]) - if test "$ac_cv_libtasn1" != yes; then - included_libtasn1=yes - AC_MSG_WARN([[ - *** - *** Libtasn1 was not found. Will use the included one. - ]]) - fi - fi - AC_MSG_CHECKING([whether to use the included minitasn1]) - AC_MSG_RESULT($included_libtasn1) - AM_CONDITIONAL(ENABLE_MINITASN1, test "$included_libtasn1" = "yes") - - AC_ARG_WITH(lzo, - AS_HELP_STRING([--with-lzo], [use experimental LZO compression]), - use_lzo=$withval, use_lzo=no) - AC_MSG_CHECKING([whether to include LZO compression support]) - AC_MSG_RESULT($use_lzo) - LZO_LIBS= - if test "$use_lzo" = "yes"; then - AC_CHECK_LIB(lzo2, lzo1x_1_compress, LZO_LIBS=-llzo2) - if test "$LZO_LIBS" = ""; then - AC_CHECK_LIB(lzo, lzo1x_1_compress, LZO_LIBS=-llzo, [ - use_lzo=no - AC_MSG_WARN( - *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - ) - ]) - fi - fi - AC_SUBST(LZO_LIBS) - if test "$use_lzo" = "yes"; then - AC_DEFINE([USE_LZO], 1, [whether to use the LZO compression]) - if test "$LZO_LIBS" = "-llzo"; then - AC_CHECK_HEADERS(lzo1x.h) - elif test "$LZO_LIBS" = "-llzo2"; then - AC_CHECK_HEADERS(lzo/lzo1x.h) - fi - fi - AM_CONDITIONAL(USE_LZO, test "$use_lzo" = "yes") - - AC_MSG_CHECKING([whether C99 macros are supported]) - AC_TRY_COMPILE(, - [ - #define test_mac(...) - int z,y,x; - test_mac(x,y,z); - return 0; - ], [ - AC_DEFINE([C99_MACROS], 1, [C99 macros are supported]) - AC_MSG_RESULT(yes) - ], [ - AC_MSG_RESULT(no) - AC_MSG_WARN([C99 macros not supported. This may affect compiling.]) - ]) - - AC_MSG_CHECKING([whether to enable Opaque PRF input support]) - AC_ARG_ENABLE(opaque-prf-input, - AS_HELP_STRING([--enable-opaque-prf-input=DD], - [enable Opaque PRF input using DD as extension type]), - ac_opaque_prf_input=$enableval, ac_opaque_prf_input=no) - if test "$ac_opaque_prf_input" != "no"; then - if ! echo $ac_opaque_prf_input | egrep -q '^[[0-9]]+$'; then - ac_opaque_prf_input=no - AC_MSG_WARN([[ - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42]]) - fi - fi - if test "$ac_opaque_prf_input" != "no"; then - AC_MSG_RESULT([yes (extension value $ac_opaque_prf_input)]) - AC_DEFINE_UNQUOTED([ENABLE_OPRFI], $ac_opaque_prf_input, - [enable Opaque PRF Input]) - else - AC_MSG_RESULT(no) - fi - AM_CONDITIONAL(ENABLE_OPRFI, test "$ac_opaque_prf_input" != "no") - - AC_MSG_CHECKING([whether to disable SRP authentication support]) - AC_ARG_ENABLE(srp-authentication, - AS_HELP_STRING([--disable-srp-authentication], - [disable the SRP authentication support]), - ac_enable_srp=no) - if test x$ac_enable_srp != xno; then - AC_MSG_RESULT(no) - AC_DEFINE([ENABLE_SRP], 1, [enable SRP authentication]) - else - ac_full=0 - AC_MSG_RESULT(yes) - fi - AM_CONDITIONAL(ENABLE_SRP, test "$ac_enable_srp" != "no") - - AC_MSG_CHECKING([whether to disable PSK authentication support]) - AC_ARG_ENABLE(psk-authentication, - AS_HELP_STRING([--disable-psk-authentication], - [disable the PSK authentication support]), - ac_enable_psk=no) - if test x$ac_enable_psk != xno; then - AC_MSG_RESULT(no) - AC_DEFINE([ENABLE_PSK], 1, [enable PSK authentication]) - else - ac_full=0 - AC_MSG_RESULT(yes) - fi - AM_CONDITIONAL(ENABLE_PSK, test "$ac_enable_psk" != "no") - - AC_MSG_CHECKING([whether to disable anonymous authentication support]) - AC_ARG_ENABLE(anon-authentication, - AS_HELP_STRING([--disable-anon-authentication], - [disable the anonymous authentication support]), - ac_enable_anon=no) - if test x$ac_enable_anon != xno; then - AC_MSG_RESULT(no) - AC_DEFINE([ENABLE_ANON], 1, [enable anonymous authentication]) - else - ac_full=0 - AC_MSG_RESULT(yes) - fi - AM_CONDITIONAL(ENABLE_ANON, test "$ac_enable_anon" != "no") - - # Allow disabling Camellia - AC_ARG_ENABLE(camellia, - AS_HELP_STRING([--disable-camellia], [disable Camellia cipher]), - enable_camellia=$enableval, enable_camellia=yes) - AC_MSG_CHECKING([whether to disable Camellia cipher]) - if test "$enable_camellia" != "no"; then - AC_MSG_RESULT([no]) - AC_DEFINE([ENABLE_CAMELLIA], 1, [enable camellia block cipher]) - else - AC_MSG_RESULT([yes]) - fi - - AC_MSG_CHECKING([whether to disable extra PKI stuff]) - AC_ARG_ENABLE(extra-pki, - AS_HELP_STRING([--disable-extra-pki], - [only enable the basic PKI stuff]), - enable_pki=$enableval, enable_pki=yes) - if test "$enable_pki" != "yes"; then - ac_full=0 - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - AC_DEFINE([ENABLE_PKI], 1, [whether to include all the PKCS/PKI stuff]) - fi - AM_CONDITIONAL(ENABLE_PKI, test "$enable_pki" = "yes") - - ac_enable_openpgp=yes - AC_MSG_CHECKING([whether to disable OpenPGP Certificate authentication support]) - AC_ARG_ENABLE(openpgp-authentication, - AS_HELP_STRING([--disable-openpgp-authentication], - [disable the OpenPGP authentication support]), - ac_enable_openpgp=no) - if test x$ac_enable_openpgp = xno; then - AC_MSG_RESULT(yes) - ac_full=0 - else - AC_DEFINE([ENABLE_OPENPGP], 1, [use openpgp authentication]) - AC_MSG_RESULT(no) - fi - AM_CONDITIONAL(ENABLE_OPENPGP, test "$ac_enable_openpgp" = "yes") - - # For storing integers in pointers without warnings - # http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc - AC_CHECK_SIZEOF(void *) - AC_CHECK_SIZEOF(long) - AC_CHECK_SIZEOF(int) - case $ac_cv_sizeof_void_p in - $ac_cv_sizeof_long) - AC_DEFINE([GNUTLS_POINTER_TO_INT_CAST], [(long)], - [Additional cast to bring void* to a type castable to int.]) - ;; - *) - AC_DEFINE([GNUTLS_POINTER_TO_INT_CAST], []) - ;; - esac -]) diff -Nru gnutls26-2.8.6/lib/m4/iconv.m4 gnutls26-2.4.1/lib/m4/iconv.m4 --- gnutls26-2.8.6/lib/m4/iconv.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/iconv.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,180 +0,0 @@ -# iconv.m4 serial AM6 (gettext-0.17) -dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ - dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - AC_TRY_RUN([ -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST(LIBICONV) - AC_SUBST(LTLIBICONV) -]) - -AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/intlmacosx.m4 gnutls26-2.4.1/lib/m4/intlmacosx.m4 --- gnutls26-2.8.6/lib/m4/intlmacosx.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/intlmacosx.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -# intlmacosx.m4 serial 1 (gettext-0.17) -dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on MacOS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in MacOS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - gt_cv_func_CFPreferencesCopyAppValue, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], - [CFPreferencesCopyAppValue(NULL, NULL)], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, - [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in MacOS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, - [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) diff -Nru gnutls26-2.8.6/lib/m4/inttypes_h.m4 gnutls26-2.4.1/lib/m4/inttypes_h.m4 --- gnutls26-2.8.6/lib/m4/inttypes_h.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/inttypes_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -# inttypes_h.m4 serial 7 -dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - gl_cv_header_inttypes_h=yes, - gl_cv_header_inttypes_h=no)]) - if test $gl_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/lib-ld.m4 gnutls26-2.4.1/lib/m4/lib-ld.m4 --- gnutls26-2.8.6/lib/m4/lib-ld.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/lib-ld.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,110 +0,0 @@ -# lib-ld.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(acl_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff -Nru gnutls26-2.8.6/lib/m4/lib-link.m4 gnutls26-2.4.1/lib/m4/lib-link.m4 --- gnutls26-2.8.6/lib/m4/lib-link.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/lib-link.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,709 +0,0 @@ -# lib-link.m4 serial 13 (gettext-0.17) -dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_PREREQ(2.54) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - undefine([Name]) - undefine([NAME]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. If found, it -dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - undefine([Name]) - undefine([NAME]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - dnl Autoconf >= 2.61 supports dots in --with options. - define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], -[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib - --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIB[]NAME[]_PREFIX="$basedir" - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff -Nru gnutls26-2.8.6/lib/m4/lib-prefix.m4 gnutls26-2.4.1/lib/m4/lib-prefix.m4 --- gnutls26-2.8.6/lib/m4/lib-prefix.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/lib-prefix.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,185 +0,0 @@ -# lib-prefix.m4 serial 5 (gettext-0.15) -dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing -dnl the basename of the libdir, either "lib" or "lib64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. The current - dnl practice is that on a system supporting 32-bit and 64-bit instruction - dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit - dnl libraries go under $prefix/lib. We determine the compiler's default - dnl mode by looking at the compiler's library search path. If at least - dnl of its elements ends in /lib64 or points to a directory whose absolute - dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the - dnl default, namely "lib". - acl_libdirstem=lib - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/libtool.m4 gnutls26-2.4.1/lib/m4/libtool.m4 --- gnutls26-2.8.6/lib/m4/libtool.m4 2010-03-15 10:28:24.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/libtool.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,7377 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# 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. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 56 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; -esac - -_LT_OUTPUT_LIBTOOL_INIT -]) - - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -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 - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(lt_ECHO) -]) -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${F77-"f77"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${FC-"f95"} - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC="$lt_save_CC" -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC="$lt_save_CC" -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF - ;; - esac -]) diff -Nru gnutls26-2.8.6/lib/m4/longlong.m4 gnutls26-2.4.1/lib/m4/longlong.m4 --- gnutls26-2.8.6/lib/m4/longlong.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/longlong.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,109 +0,0 @@ -# longlong.m4 serial 13 -dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_LONG_LONG_INT if 'long long int' works. -# This fixes a bug in Autoconf 2.61, but can be removed once we -# assume 2.62 everywhere. - -# Note: If the type 'long long int' exists but is only 32 bits large -# (as on some very old compilers), HAVE_LONG_LONG_INT will not be -# defined. In this case you can treat 'long long int' like 'long int'. - -AC_DEFUN([AC_TYPE_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], - [AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. - dnl If cross compiling, assume the bug isn't important, since - dnl nobody cross compiles for this platform as far as we know. - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[@%:@include - @%:@ifndef LLONG_MAX - @%:@ define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - @%:@ define LLONG_MAX (HALF - 1 + HALF) - @%:@endif]], - [[long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0;]])], - [ac_cv_type_long_long_int=yes], - [ac_cv_type_long_long_int=no], - [ac_cv_type_long_long_int=yes])], - [ac_cv_type_long_long_int=no])]) - if test $ac_cv_type_long_long_int = yes; then - AC_DEFINE([HAVE_LONG_LONG_INT], 1, - [Define to 1 if the system has the type `long long int'.]) - fi -]) - -# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -# This fixes a bug in Autoconf 2.61, but can be removed once we -# assume 2.62 everywhere. - -# Note: If the type 'unsigned long long int' exists but is only 32 bits -# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT -# will not be defined. In this case you can treat 'unsigned long long int' -# like 'unsigned long int'. - -AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for unsigned long long int], - [ac_cv_type_unsigned_long_long_int], - [AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [ac_cv_type_unsigned_long_long_int=yes], - [ac_cv_type_unsigned_long_long_int=no])]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, - [Define to 1 if the system has the type `unsigned long long int'.]) - fi -]) - -# Expands to a C program that can be used to test for simultaneous support -# of 'long long' and 'unsigned long long'. We don't want to say that -# 'long long' is available if 'unsigned long long' is not, or vice versa, -# because too many programs rely on the symmetry between signed and unsigned -# integer types (excluding 'bool'). -AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], -[ - AC_LANG_PROGRAM( - [[/* Test preprocessor. */ - #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - error in preprocessor; - #endif - #if ! (18446744073709551615ULL <= -1ull) - error in preprocessor; - #endif - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63;]], - [[/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull));]]) -]) diff -Nru gnutls26-2.8.6/lib/m4/lt~obsolete.m4 gnutls26-2.4.1/lib/m4/lt~obsolete.m4 --- gnutls26-2.8.6/lib/m4/lt~obsolete.m4 2010-03-15 10:28:25.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/lt~obsolete.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# 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. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) diff -Nru gnutls26-2.8.6/lib/m4/ltoptions.m4 gnutls26-2.4.1/lib/m4/ltoptions.m4 --- gnutls26-2.8.6/lib/m4/ltoptions.m4 2010-03-15 10:28:24.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/ltoptions.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,368 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru gnutls26-2.8.6/lib/m4/ltsugar.m4 gnutls26-2.4.1/lib/m4/ltsugar.m4 --- gnutls26-2.8.6/lib/m4/ltsugar.m4 2010-03-15 10:28:24.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/ltsugar.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff -Nru gnutls26-2.8.6/lib/m4/ltversion.m4 gnutls26-2.4.1/lib/m4/ltversion.m4 --- gnutls26-2.8.6/lib/m4/ltversion.m4 2010-03-15 10:28:25.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/ltversion.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# 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. - -# Generated from ltversion.in. - -# serial 3017 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.2.6b]) -m4_define([LT_PACKAGE_REVISION], [1.3017]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6b' -macro_revision='1.3017' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff -Nru gnutls26-2.8.6/lib/m4/nls.m4 gnutls26-2.4.1/lib/m4/nls.m4 --- gnutls26-2.8.6/lib/m4/nls.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/nls.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -# nls.m4 serial 3 (gettext-0.15) -dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ(2.50) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) -]) diff -Nru gnutls26-2.8.6/lib/m4/po.m4 gnutls26-2.4.1/lib/m4/po.m4 --- gnutls26-2.8.6/lib/m4/po.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/po.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,449 +0,0 @@ -# po.m4 serial 15 (gettext-0.17) -dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ(2.50) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; 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 - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. - -AC_PREREQ(2.50) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# 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 - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# 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. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - 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 -]) diff -Nru gnutls26-2.8.6/lib/m4/size_max.m4 gnutls26-2.4.1/lib/m4/size_max.m4 --- gnutls26-2.8.6/lib/m4/size_max.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/size_max.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,68 +0,0 @@ -# size_max.m4 serial 6 -dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([gl_SIZE_MAX], -[ - AC_CHECK_HEADERS(stdint.h) - dnl First test whether the system already has SIZE_MAX. - AC_MSG_CHECKING([for SIZE_MAX]) - AC_CACHE_VAL([gl_cv_size_max], [ - gl_cv_size_max= - AC_EGREP_CPP([Found it], [ -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif -], gl_cv_size_max=yes) - if test -z "$gl_cv_size_max"; then - dnl Define it ourselves. Here we assume that the type 'size_t' is not wider - dnl than the type 'unsigned long'. Try hard to find a definition that can - dnl be used in a preprocessor #if, i.e. doesn't contain a cast. - AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], - [#include -#include ], size_t_bits_minus_1=) - AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], - [#include ], fits_in_uint=) - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - dnl Even though SIZE_MAX fits in an unsigned int, it must be of type - dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. - AC_TRY_COMPILE([#include - extern size_t foo; - extern unsigned long foo; - ], [], fits_in_uint=0) - fi - dnl We cannot use 'expr' to simplify this expression, because 'expr' - dnl works only with 'long' integers in the host environment, while we - dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - dnl Shouldn't happen, but who knows... - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi - ]) - AC_MSG_RESULT([$gl_cv_size_max]) - if test "$gl_cv_size_max" != yes; then - AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], - [Define as the maximum value of type 'size_t', if the system doesn't define it.]) - fi -]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru gnutls26-2.8.6/lib/m4/stdint_h.m4 gnutls26-2.4.1/lib/m4/stdint_h.m4 --- gnutls26-2.8.6/lib/m4/stdint_h.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/stdint_h.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -# stdint_h.m4 serial 6 -dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_STDINT_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_STDINT_H], -[ - AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - gl_cv_header_stdint_h=yes, - gl_cv_header_stdint_h=no)]) - if test $gl_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/wchar_t.m4 gnutls26-2.4.1/lib/m4/wchar_t.m4 --- gnutls26-2.8.6/lib/m4/wchar_t.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/wchar_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# wchar_t.m4 serial 1 (gettext-0.12) -dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. -dnl Test whether has the 'wchar_t' type. -dnl Prerequisite: AC_PROG_CC - -AC_DEFUN([gt_TYPE_WCHAR_T], -[ - AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, - [AC_TRY_COMPILE([#include - wchar_t foo = (wchar_t)'\0';], , - gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) - if test $gt_cv_c_wchar_t = yes; then - AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/wint_t.m4 gnutls26-2.4.1/lib/m4/wint_t.m4 --- gnutls26-2.8.6/lib/m4/wint_t.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/wint_t.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -# wint_t.m4 serial 2 (gettext-0.17) -dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. -dnl Test whether has the 'wint_t' type. -dnl Prerequisite: AC_PROG_CC - -AC_DEFUN([gt_TYPE_WINT_T], -[ - AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, - [AC_TRY_COMPILE([ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0';], , - gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) - if test $gt_cv_c_wint_t = yes; then - AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) - fi -]) diff -Nru gnutls26-2.8.6/lib/m4/xsize.m4 gnutls26-2.4.1/lib/m4/xsize.m4 --- gnutls26-2.8.6/lib/m4/xsize.m4 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/m4/xsize.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -# xsize.m4 serial 3 -dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_XSIZE], -[ - dnl Prerequisites of lib/xsize.h. - AC_REQUIRE([gl_SIZE_MAX]) - AC_REQUIRE([AC_C_INLINE]) - AC_CHECK_HEADERS(stdint.h) -]) diff -Nru gnutls26-2.8.6/lib/mac-libgcrypt.c gnutls26-2.4.1/lib/mac-libgcrypt.c --- gnutls26-2.8.6/lib/mac-libgcrypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/mac-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -/* This file provides is the backend hash/mac API for libgcrypt. - */ - -#include -#include -#include -#include - -static int -wrap_gcry_mac_init (gnutls_mac_algorithm_t algo, void **ctx) -{ - int err; - unsigned int flags = GCRY_MD_FLAG_HMAC; - - switch (algo) - { - case GNUTLS_MAC_MD5: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_MD5, flags); - break; - case GNUTLS_MAC_SHA1: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA1, flags); - break; - case GNUTLS_MAC_RMD160: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_RMD160, flags); - break; - case GNUTLS_MAC_MD2: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_MD2, flags); - break; - case GNUTLS_MAC_SHA256: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA256, flags); - break; - case GNUTLS_MAC_SHA384: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA384, flags); - break; - case GNUTLS_MAC_SHA512: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA512, flags); - break; - default: - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (err == 0) - return 0; - - gnutls_assert (); - return GNUTLS_E_ENCRYPTION_FAILED; -} - -static int -wrap_gcry_md_setkey (void *ctx, const void *key, size_t keylen) -{ - return gcry_md_setkey ((gcry_md_hd_t) ctx, key, keylen); -} - -static int -wrap_gcry_md_write (void *ctx, const void *text, size_t textsize) -{ - gcry_md_write (ctx, text, textsize); - return GNUTLS_E_SUCCESS; -} - -static int -wrap_gcry_md_copy (void **bhd, void *ahd) -{ - return gcry_md_copy ((gcry_md_hd_t *) bhd, (gcry_md_hd_t) ahd); -} - -static void -wrap_gcry_md_close (void *hd) -{ - gcry_md_close (hd); -} - -static int -wrap_gcry_hash_init (gnutls_mac_algorithm_t algo, void **ctx) -{ - int err; - unsigned int flags = 0; - - switch (algo) - { - case GNUTLS_DIG_MD5: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_MD5, flags); - break; - case GNUTLS_DIG_SHA1: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA1, flags); - break; - case GNUTLS_DIG_RMD160: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_RMD160, flags); - break; - case GNUTLS_DIG_MD2: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_MD2, flags); - break; - case GNUTLS_DIG_SHA256: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA256, flags); - break; - case GNUTLS_DIG_SHA224: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA224, flags); - break; - case GNUTLS_DIG_SHA384: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA384, flags); - break; - case GNUTLS_DIG_SHA512: - err = gcry_md_open ((gcry_md_hd_t *) ctx, GCRY_MD_SHA512, flags); - break; - default: - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (err == 0) - return 0; - - gnutls_assert (); - return GNUTLS_E_ENCRYPTION_FAILED; -} - -static int -wrap_gcry_mac_output (void *src_ctx, void *digest, size_t digestsize) -{ - opaque *_digest = gcry_md_read (src_ctx, 0); - - if (_digest != NULL) - { - unsigned int len = gcry_md_get_algo_dlen (gcry_md_get_algo (src_ctx)); - - if (len <= digestsize && digest != NULL) - memcpy (digest, _digest, len); - - return 0; - } - - gnutls_assert (); - return GNUTLS_E_HASH_FAILED; -} - -int crypto_mac_prio = INT_MAX; - -gnutls_crypto_mac_st _gnutls_mac_ops = { - .init = wrap_gcry_mac_init, - .setkey = wrap_gcry_md_setkey, - .hash = wrap_gcry_md_write, - .copy = wrap_gcry_md_copy, - .output = wrap_gcry_mac_output, - .deinit = wrap_gcry_md_close, -}; - -int crypto_digest_prio = INT_MAX; - -gnutls_crypto_digest_st _gnutls_digest_ops = { - .init = wrap_gcry_hash_init, - .setkey = NULL, - .hash = wrap_gcry_md_write, - .copy = wrap_gcry_md_copy, - .output = wrap_gcry_mac_output, - .deinit = wrap_gcry_md_close, -}; diff -Nru gnutls26-2.8.6/lib/Makefile.am gnutls26-2.4.1/lib/Makefile.am --- gnutls26-2.8.6/lib/Makefile.am 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/Makefile.am 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -20,34 +20,39 @@ # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 - -SUBDIRS = gl po includes x509 +SUBDIRS = x509 if ENABLE_MINITASN1 SUBDIRS += minitasn1 endif localedir = $(datadir)/locale -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -DLOCALEDIR=\"$(localedir)\" \ - -I$(srcdir)/gl \ - -I$(builddir)/gl \ - -I$(srcdir)/includes \ - -I$(builddir)/includes \ - -I$(srcdir)/x509 +AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/includes -I../includes \ + -I$(srcdir)/x509 \ + -I$(top_srcdir)/libextra -I$(top_srcdir)/lib/openpgp/ if ENABLE_OPENPGP SUBDIRS += opencdk SUBDIRS += openpgp -AM_CPPFLAGS += -I$(srcdir)/opencdk +AM_CPPFLAGS += -I$(srcdir)/opencdk -I$(top_srcdir)/lib/opencdk endif if ENABLE_MINITASN1 AM_CPPFLAGS += -I$(srcdir)/minitasn1 +else +AM_CPPFLAGS += $(LIBTASN1_CFLAGS) endif +# Make sure this comes after any -I's for internal headers. +AM_CPPFLAGS += $(LIBGCRYPT_CFLAGS) + +bin_SCRIPTS = libgnutls-config + +m4datadir = $(datadir)/aclocal +dist_m4data_DATA = libgnutls.m4 + # Pkg-config script. pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gnutls.pc @@ -68,70 +73,75 @@ gnutls_buffers.c gnutls_handshake.c gnutls_num.c \ gnutls_errors.c gnutls_algorithms.c gnutls_dh.c gnutls_kx.c \ gnutls_priority.c gnutls_hash_int.c gnutls_cipher_int.c \ - gnutls_session.c gnutls_db.c x509_b64.c auth_anon.c \ - gnutls_extensions.c gnutls_auth.c gnutls_v2_compat.c \ - gnutls_datum.c auth_rsa.c gnutls_session_pack.c gnutls_mpi.c \ - gnutls_pk.c gnutls_cert.c gnutls_global.c gnutls_constate.c \ - gnutls_anon_cred.c pkix_asn1_tab.c gnutls_asn1_tab.c \ - gnutls_mem.c auth_cert.c gnutls_ui.c gnutls_sig.c auth_dhe.c \ - gnutls_dh_primes.c ext_max_record.c gnutls_alert.c \ - gnutls_str.c gnutls_state.c gnutls_x509.c ext_cert_type.c \ - gnutls_rsa_export.c auth_rsa_export.c ext_server_name.c \ - auth_dh_common.c gnutls_helper.c gnutls_supplemental.c \ - crypto.c random.c pk-libgcrypt.c mpi-libgcrypt.c \ - rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c + gnutls_compress_int.c gnutls_session.c gnutls_db.c x509_b64.c \ + auth_anon.c gnutls_extensions.c gnutls_auth.c \ + gnutls_v2_compat.c gnutls_datum.c auth_rsa.c \ + gnutls_session_pack.c gnutls_mpi.c gnutls_pk.c gnutls_cert.c \ + gnutls_global.c gnutls_constate.c gnutls_anon_cred.c \ + pkix_asn1_tab.c gnutls_asn1_tab.c gnutls_mem.c auth_cert.c \ + gnutls_ui.c gnutls_sig.c auth_dhe.c gnutls_dh_primes.c \ + ext_max_record.c gnutls_alert.c gnutls_str.c gnutls_state.c \ + gnutls_x509.c ext_cert_type.c gnutls_rsa_export.c \ + auth_rsa_export.c ext_server_name.c auth_dh_common.c \ + gnutls_helper.c ext_inner_application.c \ + gnutls_supplemental.c crypto.c random.c if ENABLE_OPRFI COBJECTS += $(OPRFI_COBJECTS) endif -HFILES = debug.h gnutls_compress.h gnutls_cipher.h gnutls_buffers.h \ - gnutls_errors.h gnutls_int.h gnutls_handshake.h gnutls_num.h \ - gnutls_algorithms.h gnutls_dh.h gnutls_kx.h gnutls_hash_int.h \ - gnutls_cipher_int.h gnutls_db.h gnutls_auth.h auth_anon.h \ - gnutls_extensions.h x509_b64.h gnutls_v2_compat.h \ - gnutls_datum.h auth_cert.h gnutls_mpi.h gnutls_pk.h \ - gnutls_record.h gnutls_cert.h gnutls_constate.h \ - gnutls_global.h gnutls_sig.h gnutls_mem.h io_debug.h \ - ext_max_record.h gnutls_session_pack.h gnutls_str.h \ +HFILES = debug.h gnutls_compress.h defines.h gnutls_cipher.h \ + gnutls_buffers.h gnutls_errors.h gnutls_int.h \ + gnutls_handshake.h gnutls_num.h gnutls_algorithms.h \ + gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \ + gnutls_db.h gnutls_compress_int.h gnutls_auth.h auth_anon.h \ + gnutls_extensions.h gnutls_buffer.h gnutls_auth_int.h \ + x509_b64.h gnutls_v2_compat.h gnutls_datum.h auth_cert.h \ + gnutls_mpi.h gnutls_pk.h gnutls_record.h gnutls_cert.h \ + gnutls_constate.h gnutls_global.h gnutls_sig.h gnutls_mem.h \ + io_debug.h ext_max_record.h gnutls_session_pack.h gnutls_str.h \ gnutls_state.h gnutls_x509.h ext_cert_type.h \ gnutls_rsa_export.h ext_server_name.h auth_dh_common.h \ ext_srp.h gnutls_srp.h auth_srp.h auth_srp_passwd.h \ gnutls_helper.h auth_psk.h auth_psk_passwd.h \ - gnutls_supplemental.h ext_oprfi.h crypto.h random.h + ext_inner_application.h gnutls_supplemental.h ext_oprfi.h \ + crypto.h random.h # Separate so we can create the documentation libgnutls_la_SOURCES = $(HFILES) $(COBJECTS) $(SRP_COBJECTS) \ - $(PSK_COBJECTS) gnutls.asn pkix.asn libgnutls.map + $(PSK_COBJECTS) gnutls.asn pkix.asn libgnutls.vers libgnutls_la_LDFLAGS = -no-undefined \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -libgnutls_la_LIBADD = gl/liblgnu.la x509/libgnutls_x509.la \ - $(LTLIBZ) $(LTLIBGCRYPT) $(LTLIBINTL) $(LIBSOCKET) +libgnutls_la_LIBADD = ../lgl/liblgnu.la x509/libgnutls_x509.la \ + @LTLIBZ@ $(LIBGCRYPT_LIBS) @LTLIBINTL@ + +if NEED_WS2_32 +libgnutls_la_LIBADD += -lws2_32 +endif if ENABLE_OPENPGP +libgnutls_la_SOURCES += gnutls_openpgp.c libgnutls_la_LIBADD += openpgp/libgnutls_openpgp.la libgnutls_la_LIBADD += opencdk/libminiopencdk.la endif if HAVE_LD_VERSION_SCRIPT -libgnutls_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutls.map -else -libgnutls_la_LDFLAGS += -export-symbols-regex '^(gnutls|_gnutls).*' +libgnutls_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutls.vers endif if ENABLE_MINITASN1 libgnutls_la_LIBADD += minitasn1/libminitasn1.la else -libgnutls_la_LDFLAGS += $(LTLIBTASN1) +libgnutls_la_LDFLAGS += $(LIBTASN1_LIBS) endif if HAVE_LD_OUTPUT_DEF -libgnutls_la_LDFLAGS += -Wl,--output-def,libgnutls-$(DLL_VERSION).def +libgnutls_la_LDFLAGS += -Wl,--output-def,libgnutls-$(SOVERSION).def defexecdir = $(bindir) -defexec_DATA = libgnutls-$(DLL_VERSION).def +defexec_DATA = libgnutls-$(SOVERSION).def DISTCLEANFILES += $(defexec_DATA) endif @@ -144,7 +154,7 @@ lib_LTLIBRARIES += libgnutlsxx.la -libgnutlsxx_la_SOURCES = gnutlsxx.cpp libgnutlsxx.map +libgnutlsxx_la_SOURCES = gnutlsxx.cpp libgnutlsxx.vers libgnutlsxx_la_LDFLAGS = -no-undefined \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) @@ -152,7 +162,7 @@ libgnutlsxx_la_LIBADD = libgnutls.la if HAVE_LD_VERSION_SCRIPT -libgnutlsxx_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutlsxx.map +libgnutlsxx_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutlsxx.vers endif endif @@ -166,7 +176,7 @@ @echo "" > gnutls-api.texi @for i in $(COBJECTS) $(SRP_COBJECTS) $(PSK_COBJECTS) $(OPRFI_COBJECTS); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> gnutls-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> gnutls-api.texi && \ echo "ok"; \ done diff -Nru gnutls26-2.8.6/lib/Makefile.in gnutls26-2.4.1/lib/Makefile.in --- gnutls26-2.8.6/lib/Makefile.in 2010-03-15 10:28:41.000000000 +0000 +++ gnutls26-2.4.1/lib/Makefile.in 2008-06-30 22:07:52.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -37,11 +36,11 @@ # MA 02110-1301, USA + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -58,113 +57,125 @@ host_triplet = @host@ @ENABLE_MINITASN1_TRUE@am__append_1 = minitasn1 @ENABLE_OPENPGP_TRUE@am__append_2 = opencdk openpgp -@ENABLE_OPENPGP_TRUE@am__append_3 = -I$(srcdir)/opencdk +@ENABLE_OPENPGP_TRUE@am__append_3 = -I$(srcdir)/opencdk -I$(top_srcdir)/lib/opencdk @ENABLE_MINITASN1_TRUE@am__append_4 = -I$(srcdir)/minitasn1 -@ENABLE_OPRFI_TRUE@am__append_5 = $(OPRFI_COBJECTS) -@ENABLE_OPENPGP_TRUE@am__append_6 = openpgp/libgnutls_openpgp.la \ +@ENABLE_MINITASN1_FALSE@am__append_5 = $(LIBTASN1_CFLAGS) +@ENABLE_OPRFI_TRUE@am__append_6 = $(OPRFI_COBJECTS) +@NEED_WS2_32_TRUE@am__append_7 = -lws2_32 +@ENABLE_OPENPGP_TRUE@am__append_8 = gnutls_openpgp.c +@ENABLE_OPENPGP_TRUE@am__append_9 = openpgp/libgnutls_openpgp.la \ @ENABLE_OPENPGP_TRUE@ opencdk/libminiopencdk.la -@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_7 = -Wl,--version-script=$(srcdir)/libgnutls.map -@HAVE_LD_VERSION_SCRIPT_FALSE@am__append_8 = -export-symbols-regex '^(gnutls|_gnutls).*' -@ENABLE_MINITASN1_TRUE@am__append_9 = minitasn1/libminitasn1.la -@ENABLE_MINITASN1_FALSE@am__append_10 = $(LTLIBTASN1) -@HAVE_LD_OUTPUT_DEF_TRUE@am__append_11 = -Wl,--output-def,libgnutls-$(DLL_VERSION).def -@HAVE_LD_OUTPUT_DEF_TRUE@am__append_12 = $(defexec_DATA) -@ENABLE_CXX_TRUE@am__append_13 = libgnutlsxx.la -@ENABLE_CXX_TRUE@@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_14 = -Wl,--version-script=$(srcdir)/libgnutlsxx.map -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/gnutls.pc.in $(top_srcdir)/configure \ - $(top_srcdir)/includes/gnutls/gnutls.h.in ABOUT-NLS AUTHORS \ - COPYING ChangeLog INSTALL NEWS build-aux/config.guess \ - build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/ltmain.sh build-aux/missing +@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_10 = -Wl,--version-script=$(srcdir)/libgnutls.vers +@ENABLE_MINITASN1_TRUE@am__append_11 = minitasn1/libminitasn1.la +@ENABLE_MINITASN1_FALSE@am__append_12 = $(LIBTASN1_LIBS) +@HAVE_LD_OUTPUT_DEF_TRUE@am__append_13 = -Wl,--output-def,libgnutls-$(SOVERSION).def +@HAVE_LD_OUTPUT_DEF_TRUE@am__append_14 = $(defexec_DATA) +@ENABLE_CXX_TRUE@am__append_15 = libgnutlsxx.la +@ENABLE_CXX_TRUE@@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_16 = -Wl,--version-script=$(srcdir)/libgnutlsxx.vers +subdir = lib +DIST_COMMON = $(dist_m4data_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/gnutls.pc.in \ + $(srcdir)/libgnutls-config.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = gnutls.pc includes/gnutls/gnutls.h -CONFIG_CLEAN_VPATH_FILES = +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = libgnutls-config gnutls.pc am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" \ +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(m4datadir)" \ "$(DESTDIR)$(pkgconfigdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = -libgnutls_la_DEPENDENCIES = gl/liblgnu.la x509/libgnutls_x509.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_6) \ - $(am__append_9) -am__libgnutls_la_SOURCES_DIST = debug.h gnutls_compress.h \ +libgnutls_la_DEPENDENCIES = ../lgl/liblgnu.la x509/libgnutls_x509.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_9) \ + $(am__append_11) +am__libgnutls_la_SOURCES_DIST = debug.h gnutls_compress.h defines.h \ gnutls_cipher.h gnutls_buffers.h gnutls_errors.h gnutls_int.h \ gnutls_handshake.h gnutls_num.h gnutls_algorithms.h \ gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \ - gnutls_db.h gnutls_auth.h auth_anon.h gnutls_extensions.h \ + gnutls_db.h gnutls_compress_int.h gnutls_auth.h auth_anon.h \ + gnutls_extensions.h gnutls_buffer.h gnutls_auth_int.h \ x509_b64.h gnutls_v2_compat.h gnutls_datum.h auth_cert.h \ gnutls_mpi.h gnutls_pk.h gnutls_record.h gnutls_cert.h \ gnutls_constate.h gnutls_global.h gnutls_sig.h gnutls_mem.h \ @@ -173,27 +184,27 @@ gnutls_rsa_export.h ext_server_name.h auth_dh_common.h \ ext_srp.h gnutls_srp.h auth_srp.h auth_srp_passwd.h \ gnutls_helper.h auth_psk.h auth_psk_passwd.h \ - gnutls_supplemental.h ext_oprfi.h crypto.h random.h \ - gnutls_record.c gnutls_compress.c debug.c gnutls_cipher.c \ - gnutls_buffers.c gnutls_handshake.c gnutls_num.c \ - gnutls_errors.c gnutls_algorithms.c gnutls_dh.c gnutls_kx.c \ - gnutls_priority.c gnutls_hash_int.c gnutls_cipher_int.c \ - gnutls_session.c gnutls_db.c x509_b64.c auth_anon.c \ - gnutls_extensions.c gnutls_auth.c gnutls_v2_compat.c \ - gnutls_datum.c auth_rsa.c gnutls_session_pack.c gnutls_mpi.c \ - gnutls_pk.c gnutls_cert.c gnutls_global.c gnutls_constate.c \ - gnutls_anon_cred.c pkix_asn1_tab.c gnutls_asn1_tab.c \ - gnutls_mem.c auth_cert.c gnutls_ui.c gnutls_sig.c auth_dhe.c \ - gnutls_dh_primes.c ext_max_record.c gnutls_alert.c \ - gnutls_str.c gnutls_state.c gnutls_x509.c ext_cert_type.c \ - gnutls_rsa_export.c auth_rsa_export.c ext_server_name.c \ - auth_dh_common.c gnutls_helper.c gnutls_supplemental.c \ - crypto.c random.c pk-libgcrypt.c mpi-libgcrypt.c \ - rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c ext_oprfi.c \ - ext_srp.c gnutls_srp.c auth_srp.c auth_srp_passwd.c \ - auth_srp_sb64.c auth_srp_rsa.c auth_psk.c auth_psk_passwd.c \ - gnutls_psk.c auth_dhe_psk.c gnutls_psk_netconf.c gnutls.asn \ - pkix.asn libgnutls.map + ext_inner_application.h gnutls_supplemental.h ext_oprfi.h \ + crypto.h random.h gnutls_record.c gnutls_compress.c debug.c \ + gnutls_cipher.c gnutls_buffers.c gnutls_handshake.c \ + gnutls_num.c gnutls_errors.c gnutls_algorithms.c gnutls_dh.c \ + gnutls_kx.c gnutls_priority.c gnutls_hash_int.c \ + gnutls_cipher_int.c gnutls_compress_int.c gnutls_session.c \ + gnutls_db.c x509_b64.c auth_anon.c gnutls_extensions.c \ + gnutls_auth.c gnutls_v2_compat.c gnutls_datum.c auth_rsa.c \ + gnutls_session_pack.c gnutls_mpi.c gnutls_pk.c gnutls_cert.c \ + gnutls_global.c gnutls_constate.c gnutls_anon_cred.c \ + pkix_asn1_tab.c gnutls_asn1_tab.c gnutls_mem.c auth_cert.c \ + gnutls_ui.c gnutls_sig.c auth_dhe.c gnutls_dh_primes.c \ + ext_max_record.c gnutls_alert.c gnutls_str.c gnutls_state.c \ + gnutls_x509.c ext_cert_type.c gnutls_rsa_export.c \ + auth_rsa_export.c ext_server_name.c auth_dh_common.c \ + gnutls_helper.c ext_inner_application.c gnutls_supplemental.c \ + crypto.c random.c ext_oprfi.c ext_srp.c gnutls_srp.c \ + auth_srp.c auth_srp_passwd.c auth_srp_sb64.c auth_srp_rsa.c \ + auth_psk.c auth_psk_passwd.c gnutls_psk.c auth_dhe_psk.c \ + gnutls_psk_netconf.c gnutls.asn pkix.asn libgnutls.vers \ + gnutls_openpgp.c am__objects_1 = am__objects_2 = ext_oprfi.lo @ENABLE_OPRFI_TRUE@am__objects_3 = $(am__objects_2) @@ -201,32 +212,32 @@ gnutls_cipher.lo gnutls_buffers.lo gnutls_handshake.lo \ gnutls_num.lo gnutls_errors.lo gnutls_algorithms.lo \ gnutls_dh.lo gnutls_kx.lo gnutls_priority.lo \ - gnutls_hash_int.lo gnutls_cipher_int.lo gnutls_session.lo \ - gnutls_db.lo x509_b64.lo auth_anon.lo gnutls_extensions.lo \ - gnutls_auth.lo gnutls_v2_compat.lo gnutls_datum.lo auth_rsa.lo \ - gnutls_session_pack.lo gnutls_mpi.lo gnutls_pk.lo \ - gnutls_cert.lo gnutls_global.lo gnutls_constate.lo \ - gnutls_anon_cred.lo pkix_asn1_tab.lo gnutls_asn1_tab.lo \ - gnutls_mem.lo auth_cert.lo gnutls_ui.lo gnutls_sig.lo \ - auth_dhe.lo gnutls_dh_primes.lo ext_max_record.lo \ - gnutls_alert.lo gnutls_str.lo gnutls_state.lo gnutls_x509.lo \ - ext_cert_type.lo gnutls_rsa_export.lo auth_rsa_export.lo \ - ext_server_name.lo auth_dh_common.lo gnutls_helper.lo \ - gnutls_supplemental.lo crypto.lo random.lo pk-libgcrypt.lo \ - mpi-libgcrypt.lo rnd-libgcrypt.lo cipher-libgcrypt.lo \ - mac-libgcrypt.lo $(am__objects_3) + gnutls_hash_int.lo gnutls_cipher_int.lo gnutls_compress_int.lo \ + gnutls_session.lo gnutls_db.lo x509_b64.lo auth_anon.lo \ + gnutls_extensions.lo gnutls_auth.lo gnutls_v2_compat.lo \ + gnutls_datum.lo auth_rsa.lo gnutls_session_pack.lo \ + gnutls_mpi.lo gnutls_pk.lo gnutls_cert.lo gnutls_global.lo \ + gnutls_constate.lo gnutls_anon_cred.lo pkix_asn1_tab.lo \ + gnutls_asn1_tab.lo gnutls_mem.lo auth_cert.lo gnutls_ui.lo \ + gnutls_sig.lo auth_dhe.lo gnutls_dh_primes.lo \ + ext_max_record.lo gnutls_alert.lo gnutls_str.lo \ + gnutls_state.lo gnutls_x509.lo ext_cert_type.lo \ + gnutls_rsa_export.lo auth_rsa_export.lo ext_server_name.lo \ + auth_dh_common.lo gnutls_helper.lo ext_inner_application.lo \ + gnutls_supplemental.lo crypto.lo random.lo $(am__objects_3) am__objects_5 = ext_srp.lo gnutls_srp.lo auth_srp.lo \ auth_srp_passwd.lo auth_srp_sb64.lo auth_srp_rsa.lo am__objects_6 = auth_psk.lo auth_psk_passwd.lo gnutls_psk.lo \ auth_dhe_psk.lo gnutls_psk_netconf.lo +@ENABLE_OPENPGP_TRUE@am__objects_7 = gnutls_openpgp.lo am_libgnutls_la_OBJECTS = $(am__objects_1) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) + $(am__objects_5) $(am__objects_6) $(am__objects_7) libgnutls_la_OBJECTS = $(am_libgnutls_la_OBJECTS) libgnutls_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libgnutls_la_LDFLAGS) $(LDFLAGS) -o $@ @ENABLE_CXX_TRUE@libgnutlsxx_la_DEPENDENCIES = libgnutls.la -am__libgnutlsxx_la_SOURCES_DIST = gnutlsxx.cpp libgnutlsxx.map +am__libgnutlsxx_la_SOURCES_DIST = gnutlsxx.cpp libgnutlsxx.vers @ENABLE_CXX_TRUE@am_libgnutlsxx_la_OBJECTS = \ @ENABLE_CXX_TRUE@ libgnutlsxx_la-gnutlsxx.lo libgnutlsxx_la_OBJECTS = $(am_libgnutlsxx_la_OBJECTS) @@ -234,10 +245,11 @@ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libgnutlsxx_la_LDFLAGS) $(LDFLAGS) -o $@ @ENABLE_CXX_TRUE@am_libgnutlsxx_la_rpath = -rpath $(libdir) -DEFAULT_INCLUDES = -I.@am__isrc@ +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -266,57 +278,23 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive -DATA = $(defexec_DATA) $(pkgconfig_DATA) +defexecDATA_INSTALL = $(INSTALL_DATA) +dist_m4dataDATA_INSTALL = $(INSTALL_DATA) +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(defexec_DATA) $(dist_m4data_DATA) $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = gl po includes x509 minitasn1 opencdk openpgp +DIST_SUBDIRS = x509 minitasn1 opencdk openpgp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -327,7 +305,6 @@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -342,91 +319,56 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ +GAA = @GAA@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -438,30 +380,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -476,38 +404,29 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ @@ -520,46 +439,27 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -575,15 +475,8 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ @@ -591,17 +484,12 @@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -609,30 +497,33 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ @@ -645,10 +536,11 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ @@ -659,32 +551,25 @@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -699,26 +584,16 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ @@ -726,22 +601,18 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -749,14 +620,12 @@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -767,7 +636,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -785,6 +654,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -802,7 +676,6 @@ libexecdir = @libexecdir@ localedir = $(datadir)/locale localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -818,19 +691,24 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -SUBDIRS = gl po includes x509 $(am__append_1) $(am__append_2) -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(srcdir)/gl \ - -I$(builddir)/gl -I$(srcdir)/includes -I$(builddir)/includes \ - -I$(srcdir)/x509 $(am__append_3) $(am__append_4) +SUBDIRS = x509 $(am__append_1) $(am__append_2) + +# Make sure this comes after any -I's for internal headers. +AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/lgl \ + -I$(top_builddir)/lgl -I$(top_srcdir)/includes -I../includes \ + -I$(srcdir)/x509 -I$(top_srcdir)/libextra \ + -I$(top_srcdir)/lib/openpgp/ $(am__append_3) $(am__append_4) \ + $(am__append_5) $(LIBGCRYPT_CFLAGS) +bin_SCRIPTS = libgnutls-config +m4datadir = $(datadir)/aclocal +dist_m4data_DATA = libgnutls.m4 # Pkg-config script. pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gnutls.pc -DISTCLEANFILES = $(pkgconfig_DATA) $(am__append_12) +DISTCLEANFILES = $(pkgconfig_DATA) $(am__append_14) EXTRA_DIST = gnutls-api.texi -lib_LTLIBRARIES = libgnutls.la $(am__append_13) +lib_LTLIBRARIES = libgnutls.la $(am__append_15) SRP_COBJECTS = ext_srp.c gnutls_srp.c auth_srp.c auth_srp_passwd.c \ auth_srp_sb64.c auth_srp_rsa.c @@ -842,137 +720,111 @@ gnutls_buffers.c gnutls_handshake.c gnutls_num.c \ gnutls_errors.c gnutls_algorithms.c gnutls_dh.c gnutls_kx.c \ gnutls_priority.c gnutls_hash_int.c gnutls_cipher_int.c \ - gnutls_session.c gnutls_db.c x509_b64.c auth_anon.c \ - gnutls_extensions.c gnutls_auth.c gnutls_v2_compat.c \ - gnutls_datum.c auth_rsa.c gnutls_session_pack.c gnutls_mpi.c \ - gnutls_pk.c gnutls_cert.c gnutls_global.c gnutls_constate.c \ - gnutls_anon_cred.c pkix_asn1_tab.c gnutls_asn1_tab.c \ - gnutls_mem.c auth_cert.c gnutls_ui.c gnutls_sig.c auth_dhe.c \ - gnutls_dh_primes.c ext_max_record.c gnutls_alert.c \ - gnutls_str.c gnutls_state.c gnutls_x509.c ext_cert_type.c \ - gnutls_rsa_export.c auth_rsa_export.c ext_server_name.c \ - auth_dh_common.c gnutls_helper.c gnutls_supplemental.c \ - crypto.c random.c pk-libgcrypt.c mpi-libgcrypt.c \ - rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c \ - $(am__append_5) -HFILES = debug.h gnutls_compress.h gnutls_cipher.h gnutls_buffers.h \ - gnutls_errors.h gnutls_int.h gnutls_handshake.h gnutls_num.h \ - gnutls_algorithms.h gnutls_dh.h gnutls_kx.h gnutls_hash_int.h \ - gnutls_cipher_int.h gnutls_db.h gnutls_auth.h auth_anon.h \ - gnutls_extensions.h x509_b64.h gnutls_v2_compat.h \ - gnutls_datum.h auth_cert.h gnutls_mpi.h gnutls_pk.h \ - gnutls_record.h gnutls_cert.h gnutls_constate.h \ - gnutls_global.h gnutls_sig.h gnutls_mem.h io_debug.h \ - ext_max_record.h gnutls_session_pack.h gnutls_str.h \ + gnutls_compress_int.c gnutls_session.c gnutls_db.c x509_b64.c \ + auth_anon.c gnutls_extensions.c gnutls_auth.c \ + gnutls_v2_compat.c gnutls_datum.c auth_rsa.c \ + gnutls_session_pack.c gnutls_mpi.c gnutls_pk.c gnutls_cert.c \ + gnutls_global.c gnutls_constate.c gnutls_anon_cred.c \ + pkix_asn1_tab.c gnutls_asn1_tab.c gnutls_mem.c auth_cert.c \ + gnutls_ui.c gnutls_sig.c auth_dhe.c gnutls_dh_primes.c \ + ext_max_record.c gnutls_alert.c gnutls_str.c gnutls_state.c \ + gnutls_x509.c ext_cert_type.c gnutls_rsa_export.c \ + auth_rsa_export.c ext_server_name.c auth_dh_common.c \ + gnutls_helper.c ext_inner_application.c gnutls_supplemental.c \ + crypto.c random.c $(am__append_6) +HFILES = debug.h gnutls_compress.h defines.h gnutls_cipher.h \ + gnutls_buffers.h gnutls_errors.h gnutls_int.h \ + gnutls_handshake.h gnutls_num.h gnutls_algorithms.h \ + gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \ + gnutls_db.h gnutls_compress_int.h gnutls_auth.h auth_anon.h \ + gnutls_extensions.h gnutls_buffer.h gnutls_auth_int.h \ + x509_b64.h gnutls_v2_compat.h gnutls_datum.h auth_cert.h \ + gnutls_mpi.h gnutls_pk.h gnutls_record.h gnutls_cert.h \ + gnutls_constate.h gnutls_global.h gnutls_sig.h gnutls_mem.h \ + io_debug.h ext_max_record.h gnutls_session_pack.h gnutls_str.h \ gnutls_state.h gnutls_x509.h ext_cert_type.h \ gnutls_rsa_export.h ext_server_name.h auth_dh_common.h \ ext_srp.h gnutls_srp.h auth_srp.h auth_srp_passwd.h \ gnutls_helper.h auth_psk.h auth_psk_passwd.h \ - gnutls_supplemental.h ext_oprfi.h crypto.h random.h + ext_inner_application.h gnutls_supplemental.h ext_oprfi.h \ + crypto.h random.h # Separate so we can create the documentation -libgnutls_la_SOURCES = $(HFILES) $(COBJECTS) $(SRP_COBJECTS) \ - $(PSK_COBJECTS) gnutls.asn pkix.asn libgnutls.map - +libgnutls_la_SOURCES = $(HFILES) $(COBJECTS) $(SRP_COBJECTS) \ + $(PSK_COBJECTS) gnutls.asn pkix.asn libgnutls.vers \ + $(am__append_8) libgnutls_la_LDFLAGS = -no-undefined -version-info \ - $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) $(am__append_7) \ - $(am__append_8) $(am__append_10) $(am__append_11) -libgnutls_la_LIBADD = gl/liblgnu.la x509/libgnutls_x509.la $(LTLIBZ) \ - $(LTLIBGCRYPT) $(LTLIBINTL) $(LIBSOCKET) $(am__append_6) \ - $(am__append_9) + $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) $(am__append_10) \ + $(am__append_12) $(am__append_13) +libgnutls_la_LIBADD = ../lgl/liblgnu.la x509/libgnutls_x509.la \ + @LTLIBZ@ $(LIBGCRYPT_LIBS) @LTLIBINTL@ $(am__append_7) \ + $(am__append_9) $(am__append_11) @HAVE_LD_OUTPUT_DEF_TRUE@defexecdir = $(bindir) -@HAVE_LD_OUTPUT_DEF_TRUE@defexec_DATA = libgnutls-$(DLL_VERSION).def +@HAVE_LD_OUTPUT_DEF_TRUE@defexec_DATA = libgnutls-$(SOVERSION).def # C++ library @ENABLE_CXX_TRUE@libgnutlsxx_la_CPPFLAGS = -I$(top_srcdir)/includes -I../includes @ENABLE_CXX_TRUE@AM_CXXFLAGS = -I$(top_srcdir)/includes/ -@ENABLE_CXX_TRUE@libgnutlsxx_la_SOURCES = gnutlsxx.cpp libgnutlsxx.map +@ENABLE_CXX_TRUE@libgnutlsxx_la_SOURCES = gnutlsxx.cpp libgnutlsxx.vers @ENABLE_CXX_TRUE@libgnutlsxx_la_LDFLAGS = -no-undefined -version-info \ @ENABLE_CXX_TRUE@ $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ -@ENABLE_CXX_TRUE@ $(am__append_14) +@ENABLE_CXX_TRUE@ $(am__append_16) @ENABLE_CXX_TRUE@libgnutlsxx_la_LIBADD = libgnutls.la -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive +all: all-recursive .SUFFIXES: .SUFFIXES: .c .cpp .lo .o .obj -am--refresh: - @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) 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: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +libgnutls-config: $(top_builddir)/config.status $(srcdir)/libgnutls-config.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gnutls.pc: $(top_builddir)/config.status $(srcdir)/gnutls.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -includes/gnutls/gnutls.h: $(top_builddir)/config.status $(top_srcdir)/includes/gnutls/gnutls.h.in - cd $(top_builddir) && $(SHELL) ./config.status $@ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - list2="$$list2 $$p"; \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } + done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: @@ -987,6 +839,25 @@ $(libgnutls_la_LINK) -rpath $(libdir) $(libgnutls_la_OBJECTS) $(libgnutls_la_LIBADD) $(LIBS) libgnutlsxx.la: $(libgnutlsxx_la_OBJECTS) $(libgnutlsxx_la_DEPENDENCIES) $(libgnutlsxx_la_LINK) $(am_libgnutlsxx_la_rpath) $(libgnutlsxx_la_OBJECTS) $(libgnutlsxx_la_LIBADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -1007,10 +878,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_srp_passwd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_srp_rsa.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_srp_sb64.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cipher-libgcrypt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypto.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_cert_type.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_inner_application.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_max_record.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_oprfi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_server_name.Plo@am__quote@ @@ -1025,6 +896,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_cipher.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_cipher_int.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_compress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_compress_int.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_constate.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_datum.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_db.Plo@am__quote@ @@ -1040,6 +912,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_mem.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_mpi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_num.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_openpgp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_pk.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_priority.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_psk.Plo@am__quote@ @@ -1057,111 +930,115 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_v2_compat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_x509.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnutlsxx_la-gnutlsxx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac-libgcrypt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi-libgcrypt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pk-libgcrypt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkix_asn1_tab.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rnd-libgcrypt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509_b64.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libgnutlsxx_la-gnutlsxx.lo: gnutlsxx.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgnutlsxx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgnutlsxx_la-gnutlsxx.lo -MD -MP -MF $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Tpo -c -o libgnutlsxx_la-gnutlsxx.lo `test -f 'gnutlsxx.cpp' || echo '$(srcdir)/'`gnutlsxx.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Tpo $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Plo +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgnutlsxx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgnutlsxx_la-gnutlsxx.lo -MD -MP -MF $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Tpo -c -o libgnutlsxx_la-gnutlsxx.lo `test -f 'gnutlsxx.cpp' || echo '$(srcdir)/'`gnutlsxx.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Tpo $(DEPDIR)/libgnutlsxx_la-gnutlsxx.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gnutlsxx.cpp' object='libgnutlsxx_la-gnutlsxx.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgnutlsxx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgnutlsxx_la-gnutlsxx.lo `test -f 'gnutlsxx.cpp' || echo '$(srcdir)/'`gnutlsxx.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgnutlsxx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgnutlsxx_la-gnutlsxx.lo `test -f 'gnutlsxx.cpp' || echo '$(srcdir)/'`gnutlsxx.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt install-defexecDATA: $(defexec_DATA) @$(NORMAL_INSTALL) test -z "$(defexecdir)" || $(MKDIR_P) "$(DESTDIR)$(defexecdir)" - @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \ - for p in $$list; do \ + @list='$(defexec_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(defexecdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(defexecdir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(defexecDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(defexecdir)/$$f'"; \ + $(defexecDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(defexecdir)/$$f"; \ done uninstall-defexecDATA: @$(NORMAL_UNINSTALL) - @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(defexecdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(defexecdir)" && rm -f $$files + @list='$(defexec_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(defexecdir)/$$f'"; \ + rm -f "$(DESTDIR)$(defexecdir)/$$f"; \ + done +install-dist_m4dataDATA: $(dist_m4data_DATA) + @$(NORMAL_INSTALL) + test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)" + @list='$(dist_m4data_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_m4dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4datadir)/$$f'"; \ + $(dist_m4dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4datadir)/$$f"; \ + done + +uninstall-dist_m4dataDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_m4data_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \ + rm -f "$(DESTDIR)$(m4datadir)/$$f"; \ + done install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - for p in $$list; do \ + @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -1170,7 +1047,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1187,7 +1064,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -1195,7 +1072,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1221,16 +1098,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -1238,14 +1115,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -1257,50 +1134,43 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + tags=; \ + 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1316,44 +1186,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -1361,127 +1216,12 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -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 $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | 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 - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__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 ../.. && umask 077 && mkdir "$$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 \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @$(am__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 $(LTLIBRARIES) $(DATA) config.h +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive @@ -1504,7 +1244,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -1516,11 +1255,10 @@ mostlyclean-am distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags + distclean-tags dvi: dvi-recursive @@ -1528,43 +1266,30 @@ html: html-recursive -html-am: - info: info-recursive info-am: -install-data-am: install-pkgconfigDATA +install-data-am: install-dist_m4dataDATA install-pkgconfigDATA install-dvi: install-dvi-recursive -install-dvi-am: - -install-exec-am: install-defexecDATA install-libLTLIBRARIES +install-exec-am: install-binSCRIPTS install-defexecDATA \ + install-libLTLIBRARIES install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1582,31 +1307,32 @@ ps-am: -uninstall-am: uninstall-defexecDATA uninstall-libLTLIBRARIES \ +uninstall-am: uninstall-binSCRIPTS uninstall-defexecDATA \ + uninstall-dist_m4dataDATA uninstall-libLTLIBRARIES \ uninstall-pkgconfigDATA -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool ctags ctags-recursive dist \ - dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-defexecDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-defexecDATA \ - uninstall-libLTLIBRARIES uninstall-pkgconfigDATA + all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ + dist-hook distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binSCRIPTS \ + install-data install-data-am install-defexecDATA \ + install-dist_m4dataDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-libLTLIBRARIES \ + install-man install-pdf install-pdf-am install-pkgconfigDATA \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binSCRIPTS uninstall-defexecDATA \ + uninstall-dist_m4dataDATA uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA pkix_asn1_tab.c: pkix.asn @@ -1619,12 +1345,11 @@ @echo "" > gnutls-api.texi @for i in $(COBJECTS) $(SRP_COBJECTS) $(PSK_COBJECTS) $(OPRFI_COBJECTS); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> gnutls-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> gnutls-api.texi && \ echo "ok"; \ done dist-hook: gnutls-api.texi - # 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: diff -Nru gnutls26-2.8.6/lib/minitasn1/coding.c gnutls26-2.4.1/lib/minitasn1/coding.c --- gnutls26-2.8.6/lib/minitasn1/coding.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/coding.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2006, 2008 Free Software Foundation * Copyright (C) 2002 Fabio Fiorina * * This file is part of LIBTASN1. @@ -28,6 +28,7 @@ /*****************************************************/ #include +#include #include "parser_aux.h" #include #include "element.h" @@ -44,8 +45,8 @@ /* ErrorDescription: string returned. */ /* Return: */ /******************************************************/ -static void -_asn1_error_description_value_not_found (ASN1_TYPE node, +void +_asn1_error_description_value_not_found (node_asn * node, char *ErrorDescription) { @@ -54,7 +55,7 @@ Estrcpy (ErrorDescription, ":: value of element '"); _asn1_hierarchical_name (node, ErrorDescription + strlen (ErrorDescription), - ASN1_MAX_ERROR_DESCRIPTION_SIZE - 40); + MAX_ERROR_DESCRIPTION_SIZE - 40); Estrcat (ErrorDescription, "' not found"); } @@ -112,7 +113,7 @@ /* (ans[0]..ans[ans_len-1]). */ /* Return: */ /******************************************************/ -static void +void _asn1_tag_der (unsigned char class, unsigned int tag_value, unsigned char *ans, int *ans_len) { @@ -178,7 +179,7 @@ /* ASN1_MEM_ERROR when DER isn't big enough */ /* ASN1_SUCCESS otherwise */ /******************************************************/ -static asn1_retCode +asn1_retCode _asn1_time_der (unsigned char *str, unsigned char *der, int *der_len) { int len_len; @@ -249,7 +250,7 @@ /* ASN1_MEM_ERROR when DER isn't big enough */ /* ASN1_SUCCESS otherwise */ /******************************************************/ -static asn1_retCode +asn1_retCode _asn1_objectid_der (unsigned char *str, unsigned char *der, int *der_len) { int len_len, counter, k, first, max_len; @@ -369,11 +370,11 @@ /* ASN1_MEM_ERROR if der vector isn't big enough, */ /* otherwise ASN1_SUCCESS. */ /******************************************************/ -static asn1_retCode -_asn1_complete_explicit_tag (ASN1_TYPE node, unsigned char *der, +asn1_retCode +_asn1_complete_explicit_tag (node_asn * node, unsigned char *der, int *counter, int *max_len) { - ASN1_TYPE p; + node_asn *p; int is_tag_implicit, len2, len3; unsigned char temp[SIZEOF_UNSIGNED_INT]; @@ -442,11 +443,11 @@ /* ASN1_MEM_ERROR if der vector isn't big enough, */ /* otherwise ASN1_SUCCESS. */ /******************************************************/ -static asn1_retCode -_asn1_insert_tag_der (ASN1_TYPE node, unsigned char *der, int *counter, +asn1_retCode +_asn1_insert_tag_der (node_asn * node, unsigned char *der, int *counter, int *max_len) { - ASN1_TYPE p; + node_asn *p; int tag_len, is_tag_implicit; unsigned char class, class_implicit = 0, temp[SIZEOF_UNSIGNED_INT * 3 + 1]; unsigned long tag_implicit = 0; @@ -603,8 +604,8 @@ /* node: pointer to the SET element. */ /* Return: */ /******************************************************/ -static void -_asn1_ordering_set (unsigned char *der, int der_len, ASN1_TYPE node) +void +_asn1_ordering_set (unsigned char *der, int der_len, node_asn * node) { struct vet { @@ -615,7 +616,7 @@ int counter, len, len2; struct vet *first, *last, *p_vet, *p2_vet; - ASN1_TYPE p; + node_asn *p; unsigned char class, *temp; unsigned long tag; @@ -717,8 +718,8 @@ /* node: pointer to the SET OF element. */ /* Return: */ /******************************************************/ -static void -_asn1_ordering_set_of (unsigned char *der, int der_len, ASN1_TYPE node) +void +_asn1_ordering_set_of (unsigned char *der, int der_len, node_asn * node) { struct vet { @@ -728,7 +729,7 @@ int counter, len, len2, change; struct vet *first, *last, *p_vet, *p2_vet; - ASN1_TYPE p; + node_asn *p; unsigned char *temp, class; unsigned long k, max; @@ -873,7 +874,7 @@ asn1_der_coding (ASN1_TYPE element, const char *name, void *ider, int *len, char *ErrorDescription) { - ASN1_TYPE node, p, p2; + node_asn *node, *p, *p2; char temp[SIZEOF_UNSIGNED_LONG_INT * 3 + 1]; int counter, counter_old, len2, len3, tlen, move, max_len, max_len_old; asn1_retCode err; diff -Nru gnutls26-2.8.6/lib/minitasn1/decoding.c gnutls26-2.4.1/lib/minitasn1/decoding.c --- gnutls26-2.8.6/lib/minitasn1/decoding.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/decoding.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2006, 2008 Free Software Foundation * Copyright (C) 2002 Fabio Fiorina * * This file is part of LIBTASN1. @@ -27,21 +27,20 @@ /*****************************************************/ #include +#include #include "parser_aux.h" #include #include "structure.h" #include "element.h" -static asn1_retCode -_asn1_get_indefinite_length_string (const unsigned char *der, int *len); -static void -_asn1_error_description_tag_error (ASN1_TYPE node, char *ErrorDescription) +void +_asn1_error_description_tag_error (node_asn * node, char *ErrorDescription) { Estrcpy (ErrorDescription, ":: tag error near element '"); _asn1_hierarchical_name (node, ErrorDescription + strlen (ErrorDescription), - ASN1_MAX_ERROR_DESCRIPTION_SIZE - 40); + MAX_ERROR_DESCRIPTION_SIZE - 40); Estrcat (ErrorDescription, "'"); } @@ -102,6 +101,8 @@ } + + /** * asn1_get_tag_der: * @der: DER data to decode. @@ -120,7 +121,7 @@ { int punt, ris; - if (der == NULL || der_len < 2 || len == NULL) + if (der == NULL || der_len <= 0 || len == NULL) return ASN1_DER_ERROR; *cls = der[0] & 0xE0; @@ -159,38 +160,8 @@ return ASN1_SUCCESS; } -/** - * asn1_get_length_ber: - * @ber: BER data to decode. - * @ber_len: Length of BER data to decode. - * @len: Output variable containing the length of the BER length field. - * - * Extract a length field from BER data. The difference to - * asn1_get_length_der() is that this function will return a length - * even if the value has indefinite encoding. - * - * Return value: Return the decoded length value, or negative value - * when the value was too big. - * - * Since: 2.0 - **/ -signed long -asn1_get_length_ber (const unsigned char *ber, int ber_len, int *len) -{ - int ret; - long err; - ret = asn1_get_length_der (ber, ber_len, len); - if (ret == -1) - { /* indefinite length method */ - ret = ber_len; - err = _asn1_get_indefinite_length_string (ber + 1, &ret); - if (err != ASN1_SUCCESS) - return -3; - } - return ret; -} /** * asn1_get_octet_der: @@ -236,7 +207,7 @@ /* Returns ASN1_SUCCESS on success or an error code on error. */ -static int +int _asn1_get_time_der (const unsigned char *der, int der_len, int *ret_len, char *str, int str_size) { @@ -256,25 +227,24 @@ -static int +void _asn1_get_objectid_der (const unsigned char *der, int der_len, int *ret_len, char *str, int str_size) { int len_len, len, k; - int leading; char temp[20]; - unsigned long val, val1, prev_val; + unsigned long val, val1; *ret_len = 0; if (str && str_size > 0) str[0] = 0; /* no oid */ if (str == NULL || der_len <= 0) - return ASN1_GENERIC_ERROR; + return; len = asn1_get_length_der (der, der_len, &len_len); if (len < 0 || len > der_len || len_len > der_len) - return ASN1_DER_ERROR; + return; val1 = der[len_len] / 40; val = der[len_len] - val1 * 40; @@ -283,40 +253,24 @@ _asn1_str_cat (str, str_size, "."); _asn1_str_cat (str, str_size, _asn1_ltostr (val, temp)); - prev_val = 0; val = 0; - leading = 1; for (k = 1; k < len; k++) { - - - /* X.690 mandates that the leading byte must never be 0x80 - */ - if (leading != 0 && der[len_len + k] == 0x80) return ASN1_DER_ERROR; - leading = 0; - - /* check for wrap around */ val = val << 7; val |= der[len_len + k] & 0x7F; - - if (val < prev_val) return ASN1_DER_ERROR; - - prev_val = val; - if (!(der[len_len + k] & 0x80)) { _asn1_str_cat (str, str_size, "."); _asn1_str_cat (str, str_size, _asn1_ltostr (val, temp)); val = 0; - prev_val = 0; - leading = 1; } } *ret_len = len + len_len; - - return ASN1_SUCCESS; } + + + /** * asn1_get_bit_der: * @der: DER data to decode containing the BIT SEQUENCE. @@ -359,11 +313,11 @@ -static int -_asn1_extract_tag_der (ASN1_TYPE node, const unsigned char *der, int der_len, +int +_asn1_extract_tag_der (node_asn * node, const unsigned char *der, int der_len, int *ret_len) { - ASN1_TYPE p; + node_asn *p; int counter, len2, len3, is_tag_implicit; unsigned long tag, tag_implicit = 0; unsigned char class, class2, class_implicit = 0; @@ -395,21 +349,15 @@ (der + counter, der_len - counter, &class, &len2, &tag) != ASN1_SUCCESS) return ASN1_DER_ERROR; - if (counter + len2 > der_len) return ASN1_DER_ERROR; counter += len2; - len3 = - asn1_get_length_ber (der + counter, der_len - counter, + asn1_get_length_der (der + counter, der_len - counter, &len2); if (len3 < 0) return ASN1_DER_ERROR; - counter += len2; - if (counter > der_len) - return ASN1_DER_ERROR; - if (!is_tag_implicit) { if ((class != (class2 | ASN1_CLASS_STRUCTURED)) || @@ -421,6 +369,7 @@ if ((class != class_implicit) || (tag != tag_implicit)) return ASN1_TAG_ERROR; } + is_tag_implicit = 0; } else @@ -476,7 +425,6 @@ (der + counter, der_len - counter, &class, &len2, &tag) != ASN1_SUCCESS) return ASN1_DER_ERROR; - if (counter + len2 > der_len) return ASN1_DER_ERROR; @@ -558,10 +506,10 @@ } -static int -_asn1_delete_not_used (ASN1_TYPE node) +int +_asn1_delete_not_used (node_asn * node) { - ASN1_TYPE p, p2; + node_asn *p, *p2; if (node == NULL) return ASN1_ELEMENT_NOT_FOUND; @@ -617,56 +565,12 @@ return ASN1_SUCCESS; } -static asn1_retCode -_asn1_extract_der_octet (ASN1_TYPE node, const unsigned char *der, - int der_len) -{ - int len2, len3; - int counter2, counter_end; - - len2 = asn1_get_length_der (der, der_len, &len3); - if (len2 < -1) - return ASN1_DER_ERROR; - - counter2 = len3 + 1; - if (len2 == -1) - counter_end = der_len - 2; - else - counter_end = der_len; - - while (counter2 < counter_end) - { - len2 = asn1_get_length_der (der + counter2, der_len - counter2, &len3); - - if (len2 < -1) - return ASN1_DER_ERROR; - - if (len2 > 0) - { - _asn1_append_value (node, der + counter2 + len3, len2); - } - else - { /* indefinite */ - - len2 = - _asn1_extract_der_octet (node, der + counter2 + len3, - der_len - counter2 - len3); - if (len2 < 0) - return len2; - } - - counter2 += len2 + len3 + 1; - } - - return ASN1_SUCCESS; -} - - -static asn1_retCode -_asn1_get_octet_string (const unsigned char *der, ASN1_TYPE node, int *len) +asn1_retCode +_asn1_get_octet_string (const unsigned char *der, node_asn * node, int *len) { - int len2, len3, counter, tot_len, indefinite; + int len2, len3, counter, counter2, counter_end, tot_len, indefinite; + unsigned char *temp, *temp2; counter = 0; @@ -713,20 +617,43 @@ /* copy */ if (node) { - unsigned char temp[DER_LEN]; - int ret; - - len2 = sizeof (temp); + asn1_length_der (tot_len, NULL, &len2); + temp = _asn1_malloc (len2 + tot_len); + if (temp == NULL) + { + return ASN1_MEM_ALLOC_ERROR; + } asn1_length_der (tot_len, temp, &len2); - _asn1_set_value (node, temp, len2); - tot_len += len2; + temp2 = temp + len2; + len2 = asn1_get_length_der (der, *len, &len3); + if (len2 < -1) + return ASN1_DER_ERROR; + counter2 = len3 + 1; + + if (indefinite == -1) + counter_end = counter - 2; + else + counter_end = counter; + + while (counter2 < counter_end) + { + len2 = + asn1_get_length_der (der + counter2, *len - counter, &len3); + if (len2 < -1) + return ASN1_DER_ERROR; - ret = _asn1_extract_der_octet (node, der, *len); - if (ret != ASN1_SUCCESS) - return ret; + /* FIXME: to be checked. Is this ok? Has the + * size been checked before? + */ + memcpy (temp2, der + counter2 + len3, len2); + temp2 += len2; + counter2 += len2 + len3 + 1; + } + _asn1_set_value (node, temp, tot_len); + _asn1_free (temp); } } else @@ -746,7 +673,8 @@ } -static asn1_retCode + +asn1_retCode _asn1_get_indefinite_length_string (const unsigned char *der, int *len) { int len2, len3, counter, indefinite; @@ -825,10 +753,10 @@ asn1_der_decoding (ASN1_TYPE * element, const void *ider, int len, char *errorDescription) { - ASN1_TYPE node, p, p2, p3; + node_asn *node, *p, *p2, *p3; char temp[128]; int counter, len2, len3, len4, move, ris, tlen; - unsigned char class; + unsigned char class, *temp2; unsigned long tag; int indefinite, result; const unsigned char *der = ider; @@ -1054,14 +982,8 @@ move = RIGHT; break; case TYPE_OBJECT_ID: - result = _asn1_get_objectid_der (der + counter, len - counter, &len2, + _asn1_get_objectid_der (der + counter, len - counter, &len2, temp, sizeof (temp)); - if (result != ASN1_SUCCESS) - { - asn1_delete_structure (element); - return result; - } - tlen = strlen (temp); if (tlen > 0) _asn1_set_value (p, temp, tlen + 1); @@ -1270,7 +1192,17 @@ if (len4 != -1) { len2 += len4; - _asn1_set_value_octet (p, der + counter, len2 + len3); + asn1_length_der (len2 + len3, NULL, &len4); + temp2 = (unsigned char *) _asn1_malloc (len2 + len3 + len4); + if (temp2 == NULL) + { + asn1_delete_structure (element); + return ASN1_MEM_ALLOC_ERROR; + } + + asn1_octet_der (der + counter, len2 + len3, temp2, &len4); + _asn1_set_value (p, temp2, len4); + _asn1_free (temp2); counter += len2 + len3; } else @@ -1289,8 +1221,17 @@ asn1_delete_structure (element); return ris; } + asn1_length_der (len2, NULL, &len4); + temp2 = (unsigned char *) _asn1_malloc (len2 + len4); + if (temp2 == NULL) + { + asn1_delete_structure (element); + return ASN1_MEM_ALLOC_ERROR; + } - _asn1_set_value_octet (p, der + counter, len2); + asn1_octet_der (der + counter, len2, temp2, &len4); + _asn1_set_value (p, temp2, len4); + _asn1_free (temp2); counter += len2; /* Check if a couple of 0x00 are present due to an EXPLICIT TAG with @@ -1385,9 +1326,9 @@ asn1_der_decoding_element (ASN1_TYPE * structure, const char *elementName, const void *ider, int len, char *errorDescription) { - ASN1_TYPE node, p, p2, p3, nodeFound = ASN1_TYPE_EMPTY; - char temp[128], currentName[ASN1_MAX_NAME_SIZE * 10], *dot_p, *char_p; - int nameLen = ASN1_MAX_NAME_SIZE * 10 - 1, state; + node_asn *node, *p, *p2, *p3, *nodeFound = ASN1_TYPE_EMPTY; + char temp[128], currentName[MAX_NAME_SIZE * 10], *dot_p, *char_p; + int nameLen = MAX_NAME_SIZE * 10 - 1, state; int counter, len2, len3, len4, move, ris, tlen; unsigned char class, *temp2; unsigned long tag; @@ -1670,13 +1611,8 @@ case TYPE_OBJECT_ID: if (state == FOUND) { - result = _asn1_get_objectid_der (der + counter, len - counter, &len2, + _asn1_get_objectid_der (der + counter, len - counter, &len2, temp, sizeof (temp)); - if (result != ASN1_SUCCESS) - { - return result; - } - tlen = strlen (temp); if (tlen > 0) @@ -1941,8 +1877,19 @@ len2 += len4; if (state == FOUND) { - _asn1_set_value_octet (p, der + counter, len2 + len3); - temp2 = NULL; + asn1_length_der (len2 + len3, NULL, &len4); + temp2 = + (unsigned char *) _asn1_malloc (len2 + len3 + len4); + if (temp2 == NULL) + { + asn1_delete_structure (structure); + return ASN1_MEM_ALLOC_ERROR; + } + + asn1_octet_der (der + counter, len2 + len3, temp2, + &len4); + _asn1_set_value (p, temp2, len4); + _asn1_free (temp2); if (p == nodeFound) state = EXIT; @@ -1968,7 +1915,17 @@ if (state == FOUND) { - _asn1_set_value_octet (p, der + counter, len2); + asn1_length_der (len2, NULL, &len4); + temp2 = (unsigned char *) _asn1_malloc (len2 + len4); + if (temp2 == NULL) + { + asn1_delete_structure (structure); + return ASN1_MEM_ALLOC_ERROR; + } + + asn1_octet_der (der + counter, len2, temp2, &len4); + _asn1_set_value (p, temp2, len4); + _asn1_free (temp2); if (p == nodeFound) state = EXIT; @@ -2161,7 +2118,7 @@ asn1_der_decoding_startEnd (ASN1_TYPE element, const void *ider, int len, const char *name_element, int *start, int *end) { - ASN1_TYPE node, node_to_find, p, p2, p3; + node_asn *node, *node_to_find, *p, *p2, *p3; int counter, len2, len3, len4, move, ris; unsigned char class; unsigned long tag; @@ -2504,12 +2461,12 @@ asn1_retCode asn1_expand_any_defined_by (ASN1_TYPE definitions, ASN1_TYPE * element) { - char definitionsName[ASN1_MAX_NAME_SIZE], name[2 * ASN1_MAX_NAME_SIZE + 1], - value[ASN1_MAX_NAME_SIZE]; + char definitionsName[MAX_NAME_SIZE], name[2 * MAX_NAME_SIZE + 1], + value[MAX_NAME_SIZE]; asn1_retCode retCode = ASN1_SUCCESS, result; int len, len2, len3; ASN1_TYPE p, p2, p3, aux = ASN1_TYPE_EMPTY; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + char errorDescription[MAX_ERROR_DESCRIPTION_SIZE]; if ((definitions == ASN1_TYPE_EMPTY) || (*element == ASN1_TYPE_EMPTY)) return ASN1_ELEMENT_NOT_FOUND; @@ -2593,7 +2550,7 @@ strcpy (name, definitionsName); strcat (name, p2->name); - len = ASN1_MAX_NAME_SIZE; + len = MAX_NAME_SIZE; result = asn1_read_value (definitions, name, value, &len); @@ -2743,12 +2700,12 @@ asn1_expand_octet_string (ASN1_TYPE definitions, ASN1_TYPE * element, const char *octetName, const char *objectName) { - char name[2 * ASN1_MAX_NAME_SIZE + 1], value[ASN1_MAX_NAME_SIZE]; + char name[2 * MAX_NAME_SIZE + 1], value[MAX_NAME_SIZE]; asn1_retCode retCode = ASN1_SUCCESS, result; int len, len2, len3; ASN1_TYPE p2, aux = ASN1_TYPE_EMPTY; ASN1_TYPE octetNode = ASN1_TYPE_EMPTY, objectNode = ASN1_TYPE_EMPTY; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + char errorDescription[MAX_ERROR_DESCRIPTION_SIZE]; if ((definitions == ASN1_TYPE_EMPTY) || (*element == ASN1_TYPE_EMPTY)) return ASN1_ELEMENT_NOT_FOUND; diff -Nru gnutls26-2.8.6/lib/minitasn1/element.c gnutls26-2.4.1/lib/minitasn1/element.c --- gnutls26-2.8.6/lib/minitasn1/element.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/element.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2006, 2008 Free Software Foundation * Copyright (C) 2000, 2001, 2002, 2003 Fabio Fiorina * * This file is part of LIBTASN1. @@ -28,16 +28,15 @@ #include +#include #include "parser_aux.h" #include #include "structure.h" -#include "element.h" - void -_asn1_hierarchical_name (ASN1_TYPE node, char *name, int name_size) +_asn1_hierarchical_name (node_asn * node, char *name, int name_size) { - ASN1_TYPE p; + node_asn *p; char tmp_name[64]; p = node; @@ -116,21 +115,23 @@ for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++) value_out[k2 - k] = val[k2]; -#if 0 - printf ("_asn1_convert_integer: valueIn=%s, lenOut=%d", value, *len); + +#ifdef LIBTASN1_DEBUG_INTEGER + _libtasn1_log ("_asn1_convert_integer: valueIn=%s, lenOut=%d", value, *len); for (k = 0; k < SIZEOF_UNSIGNED_LONG_INT; k++) - printf (", vOut[%d]=%d", k, value_out[k]); - printf ("\n"); + _libtasn1_log (", vOut[%d]=%d", k, value_out[k]); + _libtasn1_log ("\n"); #endif + return ASN1_SUCCESS; } int -_asn1_append_sequence_set (ASN1_TYPE node) +_asn1_append_sequence_set (node_asn * node) { - ASN1_TYPE p, p2; + node_asn *p, *p2; char temp[10]; long n; @@ -277,10 +278,9 @@ asn1_write_value (ASN1_TYPE node_root, const char *name, const void *ivalue, int len) { - ASN1_TYPE node, p, p2; + node_asn *node, *p, *p2; unsigned char *temp, *value_temp = NULL, *default_temp = NULL; int len2, k, k2, negative; - size_t i; const unsigned char *value = ivalue; node = asn1_find_node (node_root, name); @@ -417,7 +417,16 @@ (!negative && (value_temp[k] & 0x80))) k--; - _asn1_set_value_octet (node, value_temp + k, len - k); + asn1_length_der (len - k, NULL, &len2); + temp = (unsigned char *) _asn1_malloc (len - k + len2); + if (temp == NULL) + return ASN1_MEM_ALLOC_ERROR; + + asn1_octet_der (value_temp + k, len - k, temp, &len2); + _asn1_set_value (node, temp, len2); + + _asn1_free (temp); + if (node->type & CONST_DEFAULT) { @@ -429,10 +438,7 @@ default_temp = (unsigned char *) _asn1_malloc (SIZEOF_UNSIGNED_LONG_INT); if (default_temp == NULL) - { - _asn1_free (value_temp); - return ASN1_MEM_ALLOC_ERROR; - } + return ASN1_MEM_ALLOC_ERROR; _asn1_convert_integer (p->value, default_temp, SIZEOF_UNSIGNED_LONG_INT, &len2); @@ -440,10 +446,7 @@ else { /* is an identifier like v1 */ if (!(node->type & CONST_LIST)) - { - _asn1_free (value_temp); - return ASN1_VALUE_NOT_VALID; - } + return ASN1_VALUE_NOT_VALID; p2 = node->down; while (p2) { @@ -455,10 +458,7 @@ (unsigned char *) _asn1_malloc (SIZEOF_UNSIGNED_LONG_INT); if (default_temp == NULL) - { - _asn1_free (value_temp); - return ASN1_MEM_ALLOC_ERROR; - } + return ASN1_MEM_ALLOC_ERROR; _asn1_convert_integer (p2->value, default_temp, @@ -470,10 +470,7 @@ p2 = p2->right; } if (p2 == NULL) - { - _asn1_free (value_temp); - return ASN1_VALUE_NOT_VALID; - } + return ASN1_VALUE_NOT_VALID; } @@ -492,8 +489,8 @@ _asn1_free (value_temp); break; case TYPE_OBJECT_ID: - for (i = 0; i < strlen (value); i++) - if ((!isdigit (value[i])) && (value[i] != '.') && (value[i] != '+')) + for (k = 0; k < strlen (value); k++) + if ((!isdigit (value[k])) && (value[k] != '.') && (value[k] != '+')) return ASN1_VALUE_NOT_VALID; if (node->type & CONST_DEFAULT) { @@ -557,12 +554,26 @@ case TYPE_OCTET_STRING: if (len == 0) len = strlen (value); - _asn1_set_value_octet (node, value, len); + asn1_length_der (len, NULL, &len2); + temp = (unsigned char *) _asn1_malloc (len + len2); + if (temp == NULL) + return ASN1_MEM_ALLOC_ERROR; + + asn1_octet_der (value, len, temp, &len2); + _asn1_set_value (node, temp, len2); + _asn1_free (temp); break; case TYPE_GENERALSTRING: if (len == 0) len = strlen (value); - _asn1_set_value_octet (node, value, len); + asn1_length_der (len, NULL, &len2); + temp = (unsigned char *) _asn1_malloc (len + len2); + if (temp == NULL) + return ASN1_MEM_ALLOC_ERROR; + + asn1_octet_der (value, len, temp, &len2); + _asn1_set_value (node, temp, len2); + _asn1_free (temp); break; case TYPE_BIT_STRING: if (len == 0) @@ -573,8 +584,8 @@ return ASN1_MEM_ALLOC_ERROR; asn1_bit_der (value, len, temp, &len2); - _asn1_set_value_m (node, temp, len2); - temp = NULL; + _asn1_set_value (node, temp, len2); + _asn1_free (temp); break; case TYPE_CHOICE: p = node->down; @@ -601,7 +612,14 @@ return ASN1_ELEMENT_NOT_FOUND; break; case TYPE_ANY: - _asn1_set_value_octet (node, value, len); + asn1_length_der (len, NULL, &len2); + temp = (unsigned char *) _asn1_malloc (len + len2); + if (temp == NULL) + return ASN1_MEM_ALLOC_ERROR; + + asn1_octet_der (value, len, temp, &len2); + _asn1_set_value (node, temp, len2); + _asn1_free (temp); break; case TYPE_SEQUENCE_OF: case TYPE_SET_OF: @@ -636,8 +654,8 @@ } #define ADD_STR_VALUE( ptr, ptr_size, data) \ - *len = (int) strlen(data) + 1; \ - if (ptr_size < (int) strlen(ptr)+(*len)) { \ + *len = strlen(data) + 1; \ + if (ptr_size < strlen(ptr)+(*len)) { \ return ASN1_MEM_ERROR; \ } else { \ /* this strcat is checked */ \ @@ -713,7 +731,7 @@ asn1_retCode asn1_read_value (ASN1_TYPE root, const char *name, void *ivalue, int *len) { - ASN1_TYPE node, p, p2; + node_asn *node, *p, *p2; int len2, len3; int value_size = *len; unsigned char *value = ivalue; @@ -893,10 +911,10 @@ * **/ asn1_retCode -asn1_read_tag (ASN1_TYPE root, const char *name, int *tagValue, +asn1_read_tag (node_asn * root, const char *name, int *tagValue, int *classValue) { - ASN1_TYPE node, p, pTag; + node_asn *node, *p, *pTag; node = asn1_find_node (root, name); if (node == NULL) diff -Nru gnutls26-2.8.6/lib/minitasn1/element.h gnutls26-2.4.1/lib/minitasn1/element.h --- gnutls26-2.8.6/lib/minitasn1/element.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/element.h 2008-06-19 11:00:10.000000000 +0100 @@ -3,12 +3,11 @@ #define _ELEMENT_H -asn1_retCode _asn1_append_sequence_set (ASN1_TYPE node); +asn1_retCode _asn1_append_sequence_set(node_asn *node); -asn1_retCode _asn1_convert_integer (const char *value, - unsigned char *value_out, - int value_out_size, int *len); +asn1_retCode _asn1_convert_integer(const char *value,unsigned char *value_out, + int value_out_size, int *len); -void _asn1_hierarchical_name (ASN1_TYPE node, char *name, int name_size); +void _asn1_hierarchical_name(node_asn *node,char *name,int name_size); #endif diff -Nru gnutls26-2.8.6/lib/minitasn1/errors.c gnutls26-2.4.1/lib/minitasn1/errors.c --- gnutls26-2.8.6/lib/minitasn1/errors.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/errors.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. + * Copyright (C) 2006 Free Software Foundation, Inc. * Copyright (C) 2002, 2005 Fabio Fiorina * * This file is part of LIBTASN1. @@ -21,11 +21,14 @@ */ #include +#include "errors.h" #ifdef STDC_HEADERS # include #endif -#define LIBTASN1_ERROR_ENTRY(name) { #name, name } + +#define LIBTASN1_ERROR_ENTRY(name) \ + { #name, name } struct libtasn1_error_entry { @@ -53,88 +56,80 @@ LIBTASN1_ERROR_ENTRY (ASN1_NAME_TOO_LONG), LIBTASN1_ERROR_ENTRY (ASN1_ARRAY_ERROR), LIBTASN1_ERROR_ENTRY (ASN1_ELEMENT_NOT_EMPTY), - {0, 0} + {0} }; +#define LIBTASN1_ERROR_LOOP(b) \ + const libtasn1_error_entry *p; \ + for(p = error_algorithms; p->name != NULL; p++) { b ; } + +#define LIBTASN1_ERROR_ALG_LOOP(a) \ + LIBTASN1_ERROR_LOOP( if(p->number == error) { a; break; } ) + + + /** - * asn1_perror - prints a string to stderr with a description of an error - * @error: is an error returned by a libtasn1 function. - * - * This function is like perror(). The only difference is that it - * accepts an error returned by a libtasn1 function. - * - * This function replaces libtasn1_perror() in older libtasn1. - * - * Since: 1.6 - **/ + * libtasn1_perror - prints a string to stderr with a description of an error + * @error: is an error returned by a libtasn1 function. + * + * This function is like perror(). The only difference is that it + * accepts an error returned by a libtasn1 function. + **/ void -asn1_perror (asn1_retCode error) +libtasn1_perror (asn1_retCode error) { - const char *str = asn1_strerror (error); - fprintf (stderr, "LIBTASN1 ERROR: %s\n", str ? str : "(null)"); + const char *ret = NULL; + + /* avoid prefix */ + LIBTASN1_ERROR_ALG_LOOP (ret = p->name + sizeof ("ASN1_") - 1); + + fprintf (stderr, "LIBTASN1 ERROR: %s\n", ret); + } + /** - * asn1_strerror - Returns a string with a description of an error - * @error: is an error returned by a libtasn1 function. - * - * This function is similar to strerror. The only difference is that - * it accepts an error (number) returned by a libtasn1 function. - * - * This function replaces libtasn1_strerror() in older libtasn1. - * - * Returns: Pointer to static zero-terminated string describing error - * code. - * - * Since: 1.6 - **/ + * libtasn1_strerror - Returns a string with a description of an error + * @error: is an error returned by a libtasn1 function. + * + * This function is similar to strerror(). The only difference is + * that it accepts an error (number) returned by a libtasn1 function. + * + * Returns: Pointer to static zero-terminated string describing error + * code. + **/ const char * -asn1_strerror (asn1_retCode error) +libtasn1_strerror (asn1_retCode error) { - const libtasn1_error_entry *p; + const char *ret = NULL; - for (p = error_algorithms; p->name != NULL; p++) - if (p->number == error) - return p->name + sizeof ("ASN1_") - 1; + /* avoid prefix */ + LIBTASN1_ERROR_ALG_LOOP (ret = p->name + sizeof ("ASN1_") - 1); - return NULL; + return ret; } -#ifndef ASN1_DISABLE_DEPRECATED - -/* Compatibility mappings to preserve ABI. */ - -/** - * libtasn1_perror - prints a string to stderr with a description of an error - * @error: is an error returned by a libtasn1 function. - * - * This function is like perror(). The only difference is that it - * accepts an error returned by a libtasn1 function. - * - * Deprecated: Use asn1_perror() instead. - **/ +/* this function will output a message. + */ +#ifdef LIBTASN1_DEBUG void -libtasn1_perror (asn1_retCode error) +_libtasn1_log (const char *fmt, ...) { - asn1_perror (error); -} + va_list args; + char str[MAX_LOG_SIZE]; -/** - * libtasn1_strerror - Returns a string with a description of an error - * @error: is an error returned by a libtasn1 function. - * - * This function is similar to strerror. The only difference is that - * it accepts an error (number) returned by a libtasn1 function. - * - * Returns: Pointer to static zero-terminated string describing error - * code. - * - * Deprecated: Use asn1_strerror() instead. - **/ -const char * -libtasn1_strerror (asn1_retCode error) + va_start (args, fmt); + vsprintf (str, fmt, args); /* Flawfinder: ignore */ + va_end (args); + + fprintf (stderr, str); + + return; +} +#else /* not DEBUG */ +void +_libtasn1_log (const char *fmt, ...) { - return asn1_strerror (error); + return; } - -#endif +#endif /* DEBUG */ diff -Nru gnutls26-2.8.6/lib/minitasn1/errors.h gnutls26-2.4.1/lib/minitasn1/errors.h --- gnutls26-2.8.6/lib/minitasn1/errors.h 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/errors.h 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2004, 2006 Free Software Foundation, Inc. + * Copyright (C) 2002 Fabio Fiorina + * + * This file is part of LIBTASN1. + * + * The LIBTASN1 library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA + */ + +#ifndef ERRORS_H +#define ERRORS_H + +#include "int.h" + +void _libtasn1_log( const char *fmt, ...); + +#endif /* ERRORS_H */ diff -Nru gnutls26-2.8.6/lib/minitasn1/gstr.c gnutls26-2.4.1/lib/minitasn1/gstr.c --- gnutls26-2.8.6/lib/minitasn1/gstr.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/gstr.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* - * Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation - * Copyright (C) 2002 Nikos Mavroyanopoulos + * Copyright (C) 2006 Free Software Foundation + * Copyright (C) 2002 Nikos Mavroyanopoulos * * This file is part of LIBTASN1. * @@ -21,7 +21,6 @@ */ #include -#include "gstr.h" /* These function are like strcat, strcpy. They only * do bounds checking (they shouldn't cause buffer overruns), diff -Nru gnutls26-2.8.6/lib/minitasn1/gstr.h gnutls26-2.4.1/lib/minitasn1/gstr.h --- gnutls26-2.8.6/lib/minitasn1/gstr.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/gstr.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ -void _asn1_str_cpy (char *dest, size_t dest_tot_size, const char *src); -void _asn1_str_cat (char *dest, size_t dest_tot_size, const char *src); +void _asn1_str_cpy( char* dest, size_t dest_tot_size, const char* src); +void _asn1_str_cat( char* dest, size_t dest_tot_size, const char* src); -#define Estrcpy(x,y) _asn1_str_cpy(x,ASN1_MAX_ERROR_DESCRIPTION_SIZE,y) -#define Estrcat(x,y) _asn1_str_cat(x,ASN1_MAX_ERROR_DESCRIPTION_SIZE,y) +#define Estrcpy(x,y) _asn1_str_cpy(x,MAX_ERROR_DESCRIPTION_SIZE,y) +#define Estrcat(x,y) _asn1_str_cat(x,MAX_ERROR_DESCRIPTION_SIZE,y) diff -Nru gnutls26-2.8.6/lib/minitasn1/int.h gnutls26-2.4.1/lib/minitasn1/int.h --- gnutls26-2.8.6/lib/minitasn1/int.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/int.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. - * Copyright (C) 2002 Fabio Fiorina + * Copyright (C) 2004, 2006, 2008 Free Software Foundation, Inc. + * Copyright (C) 2002 Fabio Fiorina * * This file is part of LIBTASN1. * @@ -39,24 +39,11 @@ #include -#define ASN1_SMALL_VALUE_SIZE 16 - -/* This structure is also in libtasn1.h, but then contains less - fields. You cannot make any modifications to these first fields - without breaking ABI. */ -struct node_asn_struct -{ - /* public fields: */ - char *name; /* Node name */ - unsigned int type; /* Node type */ - unsigned char *value; /* Node value */ - int value_len; - ASN1_TYPE down; /* Pointer to the son node */ - ASN1_TYPE right; /* Pointer to the brother node */ - ASN1_TYPE left; /* Pointer to the next list element */ - /* private fields: */ - unsigned char small_value[ASN1_SMALL_VALUE_SIZE]; /* For small values */ -}; +/* +#define LIBTASN1_DEBUG +#define LIBTASN1_DEBUG_PARSER +#define LIBTASN1_DEBUG_INTEGER +*/ #define _asn1_malloc malloc #define _asn1_free free @@ -64,7 +51,7 @@ #define _asn1_realloc realloc #define _asn1_strdup strdup -#define MAX_LOG_SIZE 1024 /* maximum number of characters of a log message */ +#define MAX_LOG_SIZE 1024 /* maximum number of characters of a log message */ /* Define used for visiting trees. */ #define UP 1 @@ -112,13 +99,13 @@ #define CONST_EXPLICIT (1<<11) #define CONST_IMPLICIT (1<<12) -#define CONST_TAG (1<<13) /* Used in ASN.1 assignement */ +#define CONST_TAG (1<<13) /* Used in ASN.1 assignement */ #define CONST_OPTION (1<<14) #define CONST_DEFAULT (1<<15) #define CONST_TRUE (1<<16) #define CONST_FALSE (1<<17) -#define CONST_LIST (1<<18) /* Used with TYPE_INTEGER and TYPE_BIT_STRING */ +#define CONST_LIST (1<<18) /* Used with TYPE_INTEGER and TYPE_BIT_STRING */ #define CONST_MIN_MAX (1<<19) #define CONST_1_PARAM (1<<20) diff -Nru gnutls26-2.8.6/lib/minitasn1/libtasn1.h gnutls26-2.4.1/lib/minitasn1/libtasn1.h --- gnutls26-2.8.6/lib/minitasn1/libtasn1.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/libtasn1.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation - * Copyright (C) 2002 Fabio Fiorina + * Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation + * Copyright (C) 2002 Fabio Fiorina * * This file is part of LIBTASN1. * @@ -24,95 +24,87 @@ #ifndef LIBTASN1_H # define LIBTASN1_H -# ifndef ASN1_API -# if defined ASN1_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY -# define ASN1_API __attribute__((__visibility__("default"))) -# elif defined ASN1_BUILDING && defined _MSC_VER && ! defined ASN1_STATIC -# define ASN1_API __declspec(dllexport) -# elif defined _MSC_VER && ! defined ASN1_STATIC -# define ASN1_API __declspec(dllimport) -# else -# define ASN1_API -# endif -# endif - #include /* for FILE* */ -#include -#include #ifdef __cplusplus extern "C" { #endif -#define ASN1_VERSION "2.3" +#define LIBTASN1_VERSION "1.4" - typedef int asn1_retCode; /* type returned by libtasn1 functions */ +#include +#include - /*****************************************/ - /* Errors returned by libtasn1 functions */ - /*****************************************/ -#define ASN1_SUCCESS 0 -#define ASN1_FILE_NOT_FOUND 1 -#define ASN1_ELEMENT_NOT_FOUND 2 -#define ASN1_IDENTIFIER_NOT_FOUND 3 -#define ASN1_DER_ERROR 4 -#define ASN1_VALUE_NOT_FOUND 5 -#define ASN1_GENERIC_ERROR 6 -#define ASN1_VALUE_NOT_VALID 7 -#define ASN1_TAG_ERROR 8 -#define ASN1_TAG_IMPLICIT 9 -#define ASN1_ERROR_TYPE_ANY 10 -#define ASN1_SYNTAX_ERROR 11 -#define ASN1_MEM_ERROR 12 -#define ASN1_MEM_ALLOC_ERROR 13 -#define ASN1_DER_OVERFLOW 14 -#define ASN1_NAME_TOO_LONG 15 -#define ASN1_ARRAY_ERROR 16 -#define ASN1_ELEMENT_NOT_EMPTY 17 - - /*************************************/ - /* Constants used in asn1_visit_tree */ - /*************************************/ -#define ASN1_PRINT_NAME 1 -#define ASN1_PRINT_NAME_TYPE 2 -#define ASN1_PRINT_NAME_TYPE_VALUE 3 -#define ASN1_PRINT_ALL 4 +#define MAX_NAME_SIZE 128 /* maximum number of characters of a name */ + /* inside a file with ASN1 definitons */ +#define MAX_ERROR_DESCRIPTION_SIZE 128 /* maximum number of characters */ + /* of a description message */ + /* (null character included) */ - /*****************************************/ - /* Constants returned by asn1_read_tag */ - /*****************************************/ -#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */ -#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */ -#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */ -#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */ -#define ASN1_CLASS_STRUCTURED 0x20 + + typedef int asn1_retCode; /* type returned by libtasn1 functions */ /*****************************************/ - /* Constants returned by asn1_read_tag */ + /* Errors returned by libtasn1 functions */ /*****************************************/ -#define ASN1_TAG_BOOLEAN 0x01 -#define ASN1_TAG_INTEGER 0x02 -#define ASN1_TAG_SEQUENCE 0x10 -#define ASN1_TAG_SET 0x11 -#define ASN1_TAG_OCTET_STRING 0x04 -#define ASN1_TAG_BIT_STRING 0x03 -#define ASN1_TAG_UTCTime 0x17 -#define ASN1_TAG_GENERALIZEDTime 0x18 -#define ASN1_TAG_OBJECT_ID 0x06 -#define ASN1_TAG_ENUMERATED 0x0A -#define ASN1_TAG_NULL 0x05 -#define ASN1_TAG_GENERALSTRING 0x1B - - /******************************************************/ - /* Structure definition used for the node of the tree */ - /* that represent an ASN.1 DEFINITION. */ - /******************************************************/ - -#if !defined ASN1_BUILDING - /* This structure is also in internal.h, but then contains more - fields. You cannot make any modifications to these fields - without breaking ABI. */ +#define ASN1_SUCCESS 0 +#define ASN1_FILE_NOT_FOUND 1 +#define ASN1_ELEMENT_NOT_FOUND 2 +#define ASN1_IDENTIFIER_NOT_FOUND 3 +#define ASN1_DER_ERROR 4 +#define ASN1_VALUE_NOT_FOUND 5 +#define ASN1_GENERIC_ERROR 6 +#define ASN1_VALUE_NOT_VALID 7 +#define ASN1_TAG_ERROR 8 +#define ASN1_TAG_IMPLICIT 9 +#define ASN1_ERROR_TYPE_ANY 10 +#define ASN1_SYNTAX_ERROR 11 +#define ASN1_MEM_ERROR 12 +#define ASN1_MEM_ALLOC_ERROR 13 +#define ASN1_DER_OVERFLOW 14 +#define ASN1_NAME_TOO_LONG 15 +#define ASN1_ARRAY_ERROR 16 +#define ASN1_ELEMENT_NOT_EMPTY 17 + +/*************************************/ +/* Constants used in asn1_visit_tree */ +/*************************************/ +#define ASN1_PRINT_NAME 1 +#define ASN1_PRINT_NAME_TYPE 2 +#define ASN1_PRINT_NAME_TYPE_VALUE 3 +#define ASN1_PRINT_ALL 4 + +/*****************************************/ +/* Constants returned by asn1_read_tag */ +/*****************************************/ +#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */ +#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */ +#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */ +#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */ +#define ASN1_CLASS_STRUCTURED 0x20 + +/*****************************************/ +/* Constants returned by asn1_read_tag */ +/*****************************************/ +#define ASN1_TAG_BOOLEAN 0x01 +#define ASN1_TAG_INTEGER 0x02 +#define ASN1_TAG_SEQUENCE 0x10 +#define ASN1_TAG_SET 0x11 +#define ASN1_TAG_OCTET_STRING 0x04 +#define ASN1_TAG_BIT_STRING 0x03 +#define ASN1_TAG_UTCTime 0x17 +#define ASN1_TAG_GENERALIZEDTime 0x18 +#define ASN1_TAG_OBJECT_ID 0x06 +#define ASN1_TAG_ENUMERATED 0x0A +#define ASN1_TAG_NULL 0x05 +#define ASN1_TAG_GENERALSTRING 0x1B + +/******************************************************/ +/* Structure definition used for the node of the tree */ +/* that represent an ASN.1 DEFINITION. */ +/******************************************************/ + struct node_asn_struct { char *name; /* Node name */ @@ -123,7 +115,6 @@ struct node_asn_struct *right; /* Pointer to the brother node */ struct node_asn_struct *left; /* Pointer to the next list element */ }; -#endif typedef struct node_asn_struct node_asn; @@ -131,199 +122,122 @@ #define ASN1_TYPE_EMPTY NULL - /*****************************************/ - /* For the on-disk format of ASN.1 trees */ - /*****************************************/ struct static_struct_asn { - const char *name; /* Node name */ + const char *name; /* Node name */ unsigned int type; /* Node type */ - const void *value; /* Node value */ + const void *value; /* Node value */ }; - typedef struct static_struct_asn ASN1_ARRAY_TYPE; - /***********************************/ - /* Fixed constants */ - /***********************************/ + typedef struct static_struct_asn ASN1_ARRAY_TYPE; - /* maximum number of characters of a name */ - /* inside a file with ASN1 definitons */ -#define ASN1_MAX_NAME_SIZE 128 - /* maximum number of characters */ - /* of a description message */ - /* (null character included) */ -#define ASN1_MAX_ERROR_DESCRIPTION_SIZE 128 /***********************************/ /* Functions definitions */ /***********************************/ - ASN1_API asn1_retCode - asn1_parser2tree (const char *file_name, - ASN1_TYPE * definitions, - char *errorDescription); - - ASN1_API asn1_retCode - asn1_parser2array (const char *inputFileName, - const char *outputFileName, - const char *vectorName, - char *errorDescription); - - ASN1_API asn1_retCode - asn1_array2tree (const ASN1_ARRAY_TYPE * array, - ASN1_TYPE * definitions, - char *errorDescription); - - ASN1_API void - asn1_print_structure (FILE * out, ASN1_TYPE structure, - const char *name, int mode); - - ASN1_API asn1_retCode - asn1_create_element (ASN1_TYPE definitions, - const char *source_name, - ASN1_TYPE * element); - - ASN1_API asn1_retCode - asn1_delete_structure (ASN1_TYPE * structure); - - ASN1_API asn1_retCode - asn1_delete_element (ASN1_TYPE structure, - const char *element_name); - - ASN1_API asn1_retCode - asn1_write_value (ASN1_TYPE node_root, const char *name, - const void *ivalue, int len); - - ASN1_API asn1_retCode - asn1_read_value (ASN1_TYPE root, const char *name, - void *ivalue, int *len); - - ASN1_API asn1_retCode - asn1_number_of_elements (ASN1_TYPE element, const char *name, int *num); - - ASN1_API asn1_retCode - asn1_der_coding (ASN1_TYPE element, const char *name, - void *ider, int *len, - char *ErrorDescription); - - ASN1_API asn1_retCode - asn1_der_decoding (ASN1_TYPE * element, const void *ider, - int len, char *errorDescription); - - ASN1_API asn1_retCode - asn1_der_decoding_element (ASN1_TYPE * structure, - const char *elementName, - const void *ider, int len, - char *errorDescription); - - ASN1_API asn1_retCode - asn1_der_decoding_startEnd (ASN1_TYPE element, - const void *ider, int len, - const char *name_element, - int *start, int *end); - - ASN1_API asn1_retCode - asn1_expand_any_defined_by (ASN1_TYPE definitions, - ASN1_TYPE * element); - - ASN1_API asn1_retCode - asn1_expand_octet_string (ASN1_TYPE definitions, - ASN1_TYPE * element, - const char *octetName, - const char *objectName); - - ASN1_API asn1_retCode - asn1_read_tag (ASN1_TYPE root, const char *name, - int *tagValue, int *classValue); - - ASN1_API const char * - asn1_find_structure_from_oid (ASN1_TYPE definitions, - const char *oidValue); + asn1_retCode asn1_parser2tree (const char *file_name, + ASN1_TYPE * definitions, + char *errorDescription); - ASN1_API const char * - asn1_check_version (const char *req_version); + asn1_retCode asn1_parser2array (const char *inputFileName, + const char *outputFileName, + const char *vectorName, + char *errorDescription); - ASN1_API const char * - asn1_strerror (asn1_retCode error); + asn1_retCode asn1_array2tree (const ASN1_ARRAY_TYPE * array, + ASN1_TYPE * definitions, + char *errorDescription); - ASN1_API void - asn1_perror (asn1_retCode error); + void asn1_print_structure (FILE *out, ASN1_TYPE structure, const char *name, + int mode); - /* DER utility functions. */ + asn1_retCode asn1_create_element (ASN1_TYPE definitions, + const char *source_name, + ASN1_TYPE * element); - ASN1_API int - asn1_get_tag_der (const unsigned char *der, int der_len, - unsigned char *cls, int *len, - unsigned long *tag); - - ASN1_API void - asn1_octet_der (const unsigned char *str, int str_len, - unsigned char *der, int *der_len); - - ASN1_API asn1_retCode - asn1_get_octet_der (const unsigned char *der, int der_len, - int *ret_len, unsigned char *str, - int str_size, int *str_len); - - ASN1_API void asn1_bit_der (const unsigned char *str, int bit_len, - unsigned char *der, int *der_len); - - ASN1_API asn1_retCode - asn1_get_bit_der (const unsigned char *der, int der_len, - int *ret_len, unsigned char *str, - int str_size, int *bit_len); + asn1_retCode asn1_delete_structure (ASN1_TYPE * structure); - ASN1_API signed long - asn1_get_length_der (const unsigned char *der, int der_len, int *len); + asn1_retCode asn1_delete_element (ASN1_TYPE structure, + const char *element_name); - ASN1_API signed long - asn1_get_length_ber (const unsigned char *ber, int ber_len, int *len); + asn1_retCode asn1_write_value (ASN1_TYPE node_root, const char *name, + const void *ivalue, int len); - ASN1_API void - asn1_length_der (unsigned long int len, unsigned char *ans, int *ans_len); + asn1_retCode asn1_read_value (ASN1_TYPE root, const char *name, + void *ivalue, int *len); - /* Other utility functions. */ + asn1_retCode asn1_number_of_elements (ASN1_TYPE element, const char *name, + int *num); - ASN1_API ASN1_TYPE - asn1_find_node (ASN1_TYPE pointer, const char *name); + asn1_retCode asn1_der_coding (ASN1_TYPE element, const char *name, + void *ider, int *len, char *ErrorDescription); - ASN1_API asn1_retCode - asn1_copy_node (ASN1_TYPE dst, const char *dst_name, - ASN1_TYPE src, const char *src_name); + asn1_retCode asn1_der_decoding (ASN1_TYPE * element, const void *ider, + int len, char *errorDescription); - /* Deprecated stuff. */ + asn1_retCode asn1_der_decoding_element (ASN1_TYPE * structure, + const char *elementName, + const void *ider, int len, + char *errorDescription); -#ifndef ASN1_DISABLE_DEPRECATED + asn1_retCode asn1_der_decoding_startEnd (ASN1_TYPE element, + const void *ider, int len, + const char *name_element, + int *start, int *end); -#define LIBTASN1_VERSION ASN1_VERSION + asn1_retCode asn1_expand_any_defined_by (ASN1_TYPE definitions, + ASN1_TYPE * element); -#ifndef MAX_NAME_SIZE -# define MAX_NAME_SIZE ASN1_MAX_NAME_SIZE -#endif + asn1_retCode asn1_expand_octet_string (ASN1_TYPE definitions, + ASN1_TYPE * element, + const char *octetName, + const char *objectName); -#ifndef MAX_ERROR_DESCRIPTION_SIZE -# define MAX_ERROR_DESCRIPTION_SIZE ASN1_MAX_ERROR_DESCRIPTION_SIZE -#endif + asn1_retCode asn1_read_tag (node_asn * root, const char *name, + int *tagValue, int *classValue); -#ifndef __attribute__ - /* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -#endif + const char *asn1_find_structure_from_oid (ASN1_TYPE definitions, + const char *oidValue); - /* Use asn1_strerror instead. */ - ASN1_API const char * - libtasn1_strerror (asn1_retCode error) - __attribute__ ((deprecated)); - - /* Use asn1_perror instead. */ - ASN1_API void - libtasn1_perror (asn1_retCode error) - __attribute__ ((deprecated)); + const char *asn1_check_version (const char *req_version); -#endif + const char *libtasn1_strerror (asn1_retCode error); + + void libtasn1_perror (asn1_retCode error); + + /* DER utility functions. */ + + int asn1_get_tag_der (const unsigned char *der, int der_len, + unsigned char *cls, int *len, unsigned long *tag); + + void asn1_octet_der (const unsigned char *str, int str_len, + unsigned char *der, int *der_len); + + asn1_retCode asn1_get_octet_der (const unsigned char *der, int der_len, + int *ret_len, unsigned char *str, + int str_size, int *str_len); + + void asn1_bit_der (const unsigned char *str, int bit_len, + unsigned char *der, int *der_len); + + asn1_retCode asn1_get_bit_der (const unsigned char *der, int der_len, + int *ret_len, unsigned char *str, + int str_size, int *bit_len); + + signed long asn1_get_length_der (const unsigned char *der, int der_len, + int *len); + + void asn1_length_der (unsigned long int len, unsigned char *ans, + int *ans_len); + + /* Other utility functions. */ + + ASN1_TYPE asn1_find_node (ASN1_TYPE pointer, const char *name); + + asn1_retCode asn1_copy_node (ASN1_TYPE dst, const char *dst_name, + ASN1_TYPE src, const char *src_name); #ifdef __cplusplus } diff -Nru gnutls26-2.8.6/lib/minitasn1/Makefile.am gnutls26-2.4.1/lib/minitasn1/Makefile.am --- gnutls26-2.8.6/lib/minitasn1/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,34 +1,9 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - -AM_CPPFLAGS = -DASN1_BUILDING \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(srcdir)/.. +INCLUDES = -I$(top_srcdir)/lib -I$(top_srcdir)/lgl -I$(top_builddir)/lgl noinst_LTLIBRARIES = libminitasn1.la -libminitasn1_la_SOURCES = libtasn1.h gstr.h int.h parser_aux.h \ - structure.h element.h decoding.c gstr.c errors.c parser_aux.c \ - structure.c element.c coding.c +libminitasn1_la_SOURCES = libtasn1.h gstr.h errors.h int.h \ + parser_aux.h structure.h element.h decoding.c gstr.c errors.c \ + parser_aux.c structure.c element.c coding.c EXTRA_DIST = README diff -Nru gnutls26-2.8.6/lib/minitasn1/Makefile.in gnutls26-2.4.1/lib/minitasn1/Makefile.in --- gnutls26-2.8.6/lib/minitasn1/Makefile.in 2010-03-15 10:28:40.000000000 +0000 +++ gnutls26-2.4.1/lib/minitasn1/Makefile.in 2008-06-30 22:07:52.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,32 +14,10 @@ @SET_MAKE@ -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS. -# -# The GNUTLS library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# The GNUTLS library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with the GNUTLS library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA - VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -55,58 +32,87 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -subdir = minitasn1 +subdir = lib/minitasn1 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libminitasn1_la_LIBADD = am_libminitasn1_la_OBJECTS = decoding.lo gstr.lo errors.lo \ @@ -115,7 +121,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -134,8 +139,9 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -146,7 +152,6 @@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -161,91 +166,56 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ +GAA = @GAA@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -257,30 +227,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -295,38 +251,29 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ @@ -339,46 +286,27 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -394,15 +322,8 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ @@ -410,17 +331,12 @@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -428,30 +344,33 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ @@ -464,10 +383,11 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ @@ -478,32 +398,25 @@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -518,26 +431,16 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ @@ -545,22 +448,18 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -568,14 +467,12 @@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -586,7 +483,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,6 +501,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -621,7 +523,6 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -637,15 +538,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -DASN1_BUILDING \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(srcdir)/.. - +INCLUDES = -I$(top_srcdir)/lib -I$(top_srcdir)/lgl -I$(top_builddir)/lgl noinst_LTLIBRARIES = libminitasn1.la -libminitasn1_la_SOURCES = libtasn1.h gstr.h int.h parser_aux.h \ - structure.h element.h decoding.c gstr.c errors.c parser_aux.c \ - structure.c element.c coding.c +libminitasn1_la_SOURCES = libtasn1.h gstr.h errors.h int.h \ + parser_aux.h structure.h element.h decoding.c gstr.c errors.c \ + parser_aux.c structure.c element.c coding.c EXTRA_DIST = README all: all-am @@ -656,14 +553,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu minitasn1/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu minitasn1/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/minitasn1/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/minitasn1/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -681,7 +578,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -710,21 +606,21 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -740,14 +636,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -755,34 +651,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -803,17 +694,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -841,7 +728,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -863,8 +749,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -873,28 +757,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -932,7 +806,6 @@ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/lib/minitasn1/parser_aux.c gnutls26-2.4.1/lib/minitasn1/parser_aux.c --- gnutls26-2.8.6/lib/minitasn1/parser_aux.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/parser_aux.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* - * Copyright (C) 2004, 2006, 2007, 2008, 2009 Free Software Foundation - * Copyright (C) 2000,2001 Fabio Fiorina + * Copyright (C) 2004, 2006, 2007 Free Software Foundation + * Copyright (C) 2000,2001 Fabio Fiorina * * This file is part of LIBTASN1. * @@ -21,12 +21,13 @@ */ #include +#include #include "parser_aux.h" #include "gstr.h" #include "structure.h" #include "element.h" -char _asn1_identifierMissing[ASN1_MAX_NAME_SIZE + 1]; /* identifier name not found */ +char _asn1_identifierMissing[MAX_NAME_SIZE + 1]; /* identifier name not found */ /***********************************************/ /* Type: list_type */ @@ -35,7 +36,7 @@ /***********************************************/ typedef struct list_struct { - ASN1_TYPE node; + node_asn *node; struct list_struct *next; } list_type; @@ -52,13 +53,13 @@ /* and CONST_ constants). */ /* Return: pointer to the new element. */ /******************************************************/ -ASN1_TYPE +node_asn * _asn1_add_node (unsigned int type) { list_type *listElement; - ASN1_TYPE punt; + node_asn *punt; - punt = (ASN1_TYPE) _asn1_calloc (1, sizeof (struct node_asn_struct)); + punt = (node_asn *) _asn1_calloc (1, sizeof (node_asn)); if (punt == NULL) return NULL; @@ -93,8 +94,8 @@ ASN1_TYPE asn1_find_node (ASN1_TYPE pointer, const char *name) { - ASN1_TYPE p; - char *n_end, n[ASN1_MAX_NAME_SIZE + 1]; + node_asn *p; + char *n_end, n[MAX_NAME_SIZE + 1]; const char *n_start; if (pointer == NULL) @@ -197,144 +198,31 @@ /* len: character number of value. */ /* Return: pointer to the NODE_ASN element. */ /******************************************************************/ -ASN1_TYPE -_asn1_set_value (ASN1_TYPE node, const void *value, unsigned int len) -{ - if (node == NULL) - return node; - if (node->value) - { - if (node->value != node->small_value) - _asn1_free (node->value); - node->value = NULL; - node->value_len = 0; - } - - if (!len) - return node; - - if (len < sizeof (node->small_value)) - { - node->value = node->small_value; - } - else - { - node->value = _asn1_malloc (len); - if (node->value == NULL) - return NULL; - } - node->value_len = len; - - memcpy (node->value, value, len); - return node; -} - -/******************************************************************/ -/* Function : _asn1_set_value_octet */ -/* Description: sets the field VALUE in a NODE_ASN element. The */ -/* previous value (if exist) will be lost. The value */ -/* given is stored as an octet string. */ -/* Parameters: */ -/* node: element pointer. */ -/* value: pointer to the value that you want to set. */ -/* len: character number of value. */ -/* Return: pointer to the NODE_ASN element. */ -/******************************************************************/ -ASN1_TYPE -_asn1_set_value_octet (ASN1_TYPE node, const void *value, unsigned int len) +node_asn * +_asn1_set_value (node_asn * node, const void *_value, unsigned int len) { - int len2; - void *temp; - - if (node == NULL) - return node; - - asn1_length_der (len, NULL, &len2); - temp = (unsigned char *) _asn1_malloc (len + len2); - if (temp == NULL) - return NULL; + const unsigned char *value = _value; - asn1_octet_der (value, len, temp, &len2); - return _asn1_set_value_m (node, temp, len2); -} - -/* the same as _asn1_set_value except that it sets an already malloc'ed - * value. - */ -ASN1_TYPE -_asn1_set_value_m (ASN1_TYPE node, void *value, unsigned int len) -{ if (node == NULL) return node; - if (node->value) { - if (node->value != node->small_value) - _asn1_free (node->value); + _asn1_free (node->value); node->value = NULL; node->value_len = 0; } - if (!len) return node; - - node->value = value; + node->value = (unsigned char *) _asn1_malloc (len); + if (node->value == NULL) + return NULL; node->value_len = len; + memcpy (node->value, value, len); return node; } /******************************************************************/ -/* Function : _asn1_append_value */ -/* Description: appends to the field VALUE in a NODE_ASN element. */ -/* */ -/* Parameters: */ -/* node: element pointer. */ -/* value: pointer to the value that you want to be appended. */ -/* len: character number of value. */ -/* Return: pointer to the NODE_ASN element. */ -/******************************************************************/ -ASN1_TYPE -_asn1_append_value (ASN1_TYPE node, const void *value, unsigned int len) -{ - if (node == NULL) - return node; - if (node->value != NULL && node->value != node->small_value) - { - /* value is allocated */ - int prev_len = node->value_len; - node->value_len += len; - node->value = _asn1_realloc (node->value, node->value_len); - if (node->value == NULL) - { - node->value_len = 0; - return NULL; - } - memcpy (&node->value[prev_len], value, len); - - return node; - } - else if (node->value == node->small_value) - { - /* value is in node */ - int prev_len = node->value_len; - node->value_len += len; - node->value = _asn1_malloc (node->value_len); - if (node->value == NULL) - { - node->value_len = 0; - return NULL; - } - memcpy (node->value, node->small_value, prev_len); - memcpy (&node->value[prev_len], value, len); - - return node; - } - else /* node->value == NULL */ - return _asn1_set_value (node, value, len); -} - -/******************************************************************/ /* Function : _asn1_set_name */ /* Description: sets the field NAME in a NODE_ASN element. The */ /* previous value (if exist) will be lost */ @@ -344,8 +232,8 @@ /* to set. */ /* Return: pointer to the NODE_ASN element. */ /******************************************************************/ -ASN1_TYPE -_asn1_set_name (ASN1_TYPE node, const char *name) +node_asn * +_asn1_set_name (node_asn * node, const char *name) { if (node == NULL) return node; @@ -379,8 +267,8 @@ /* by NODE. */ /* Return: pointer to *NODE. */ /******************************************************************/ -ASN1_TYPE -_asn1_set_right (ASN1_TYPE node, ASN1_TYPE right) +node_asn * +_asn1_set_right (node_asn * node, node_asn * right) { if (node == NULL) return node; @@ -398,8 +286,8 @@ /* node: NODE_ASN element pointer. */ /* Return: field RIGHT of NODE. */ /******************************************************************/ -ASN1_TYPE -_asn1_get_right (ASN1_TYPE node) +node_asn * +_asn1_get_right (node_asn * node) { if (node == NULL) return NULL; @@ -413,10 +301,10 @@ /* node: starting element pointer. */ /* Return: pointer to the last element along the right chain. */ /******************************************************************/ -ASN1_TYPE -_asn1_get_last_right (ASN1_TYPE node) +node_asn * +_asn1_get_last_right (node_asn * node) { - ASN1_TYPE p; + node_asn *p; if (node == NULL) return NULL; @@ -435,8 +323,8 @@ /* by NODE. */ /* Return: pointer to *NODE. */ /******************************************************************/ -ASN1_TYPE -_asn1_set_down (ASN1_TYPE node, ASN1_TYPE down) +node_asn * +_asn1_set_down (node_asn * node, node_asn * down) { if (node == NULL) return node; @@ -454,8 +342,8 @@ /* node: NODE_ASN element pointer. */ /* Return: field DOWN of NODE. */ /******************************************************************/ -ASN1_TYPE -_asn1_get_down (ASN1_TYPE node) +node_asn * +_asn1_get_down (node_asn * node) { if (node == NULL) return NULL; @@ -470,7 +358,7 @@ /* Return: a null terminated string. */ /******************************************************************/ char * -_asn1_get_name (ASN1_TYPE node) +_asn1_get_name (node_asn * node) { if (node == NULL) return NULL; @@ -488,8 +376,8 @@ /* value of field TYPE. */ /* Return: NODE pointer. */ /******************************************************************/ -ASN1_TYPE -_asn1_mod_type (ASN1_TYPE node, unsigned int value) +node_asn * +_asn1_mod_type (node_asn * node, unsigned int value) { if (node == NULL) return node; @@ -506,14 +394,14 @@ /* node: NODE_ASN element pointer. */ /******************************************************************/ void -_asn1_remove_node (ASN1_TYPE node) +_asn1_remove_node (node_asn * node) { if (node == NULL) return; if (node->name != NULL) _asn1_free (node->name); - if (node->value != NULL && node->value != node->small_value) + if (node->value != NULL) _asn1_free (node->value); _asn1_free (node); } @@ -525,10 +413,10 @@ /* node: NODE_ASN element pointer. */ /* Return: Null if not found. */ /******************************************************************/ -ASN1_TYPE -_asn1_find_up (ASN1_TYPE node) +node_asn * +_asn1_find_up (node_asn * node) { - ASN1_TYPE p; + node_asn *p; if (node == NULL) return NULL; @@ -626,7 +514,7 @@ asn1_retCode _asn1_change_integer_value (ASN1_TYPE node) { - ASN1_TYPE p; + node_asn *p; unsigned char val[SIZEOF_UNSIGNED_LONG_INT]; unsigned char val2[SIZEOF_UNSIGNED_LONG_INT + 1]; int len; @@ -693,8 +581,8 @@ asn1_retCode _asn1_expand_object_id (ASN1_TYPE node) { - ASN1_TYPE p, p2, p3, p4, p5; - char name_root[ASN1_MAX_NAME_SIZE], name2[2 * ASN1_MAX_NAME_SIZE + 1]; + node_asn *p, *p2, *p3, *p4, *p5; + char name_root[MAX_NAME_SIZE], name2[2 * MAX_NAME_SIZE + 1]; int move, tlen; if (node == NULL) @@ -874,7 +762,7 @@ asn1_retCode _asn1_type_set_config (ASN1_TYPE node) { - ASN1_TYPE p, p2; + node_asn *p, *p2; int move; if (node == NULL) @@ -947,8 +835,8 @@ asn1_retCode _asn1_check_identifier (ASN1_TYPE node) { - ASN1_TYPE p, p2; - char name2[ASN1_MAX_NAME_SIZE * 2 + 2]; + node_asn *p, *p2; + char name2[MAX_NAME_SIZE * 2 + 2]; if (node == NULL) return ASN1_ELEMENT_NOT_FOUND; @@ -1051,7 +939,7 @@ asn1_retCode _asn1_set_default_tag (ASN1_TYPE node) { - ASN1_TYPE p; + node_asn *p; if ((node == NULL) || (type_field (node->type) != TYPE_DEFINITIONS)) return ASN1_ELEMENT_NOT_FOUND; @@ -1142,12 +1030,12 @@ * asn1_check_version - check for library version * @req_version: Required version number, or NULL. * - * Check that the version of the library is at minimum the + * Check that the the version of the library is at minimum the * requested one and return the version string; return %NULL if the * condition is not satisfied. If a %NULL is passed to this function, * no check is done, but the version string is simply returned. * - * See %ASN1_VERSION for a suitable @req_version string. + * See %LIBTASN1_VERSION for a suitable @req_version string. * * Return value: Version string of run-time library, or %NULL if the * run-time library does not meet the required version number. @@ -1155,7 +1043,7 @@ const char * asn1_check_version (const char *req_version) { - const char *ver = ASN1_VERSION; + const char *ver = LIBTASN1_VERSION; int my_major, my_minor, my_micro; int rq_major, rq_minor, rq_micro; const char *my_plvl, *rq_plvl; diff -Nru gnutls26-2.8.6/lib/minitasn1/parser_aux.h gnutls26-2.4.1/lib/minitasn1/parser_aux.h --- gnutls26-2.8.6/lib/minitasn1/parser_aux.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/parser_aux.h 2008-06-19 11:00:10.000000000 +0100 @@ -2,58 +2,62 @@ #ifndef _PARSER_AUX_H #define _PARSER_AUX_H -#define DER_LEN 16 /***************************************/ /* Functions used by ASN.1 parser */ /***************************************/ -ASN1_TYPE _asn1_add_node (unsigned int type); +node_asn * +_asn1_add_node(unsigned int type); -ASN1_TYPE -_asn1_set_value (ASN1_TYPE node, const void *value, unsigned int len); +node_asn * +_asn1_set_value(node_asn *node,const void *value,unsigned int len); -ASN1_TYPE _asn1_set_value_m (ASN1_TYPE node, void *value, unsigned int len); +node_asn * +_asn1_set_name(node_asn *node,const char *name); -ASN1_TYPE -_asn1_set_value_octet (ASN1_TYPE node, const void *value, unsigned int len); +node_asn * +_asn1_set_right(node_asn *node,node_asn *right); -ASN1_TYPE -_asn1_append_value (ASN1_TYPE node, const void *value, unsigned int len); +node_asn * +_asn1_get_right(node_asn *node); -ASN1_TYPE _asn1_set_name (ASN1_TYPE node, const char *name); +node_asn * +_asn1_get_last_right(node_asn *node); -ASN1_TYPE _asn1_set_right (ASN1_TYPE node, ASN1_TYPE right); +node_asn * +_asn1_set_down(node_asn *node,node_asn *down); -ASN1_TYPE _asn1_get_right (ASN1_TYPE node); +char * +_asn1_get_name(node_asn *node); -ASN1_TYPE _asn1_get_last_right (ASN1_TYPE node); +node_asn * +_asn1_get_down(node_asn *node); -ASN1_TYPE _asn1_set_down (ASN1_TYPE node, ASN1_TYPE down); +node_asn * +_asn1_mod_type(node_asn *node,unsigned int value); -char *_asn1_get_name (ASN1_TYPE node); +void +_asn1_remove_node(node_asn *node); -ASN1_TYPE _asn1_get_down (ASN1_TYPE node); +void _asn1_delete_list(void); -ASN1_TYPE _asn1_mod_type (ASN1_TYPE node, unsigned int value); +void _asn1_delete_list_and_nodes(void); -void _asn1_remove_node (ASN1_TYPE node); +char * _asn1_ltostr(long v,char *str); -void _asn1_delete_list (void); +node_asn * _asn1_find_up(node_asn *node); -void _asn1_delete_list_and_nodes (void); +asn1_retCode _asn1_change_integer_value(ASN1_TYPE node); -char *_asn1_ltostr (long v, char *str); +asn1_retCode _asn1_expand_object_id(ASN1_TYPE node); -ASN1_TYPE _asn1_find_up (ASN1_TYPE node); +asn1_retCode _asn1_type_set_config(ASN1_TYPE node); -asn1_retCode _asn1_change_integer_value (ASN1_TYPE node); +asn1_retCode _asn1_check_identifier(ASN1_TYPE node); -asn1_retCode _asn1_expand_object_id (ASN1_TYPE node); +asn1_retCode _asn1_set_default_tag(ASN1_TYPE node); -asn1_retCode _asn1_type_set_config (ASN1_TYPE node); +#endif -asn1_retCode _asn1_check_identifier (ASN1_TYPE node); -asn1_retCode _asn1_set_default_tag (ASN1_TYPE node); -#endif diff -Nru gnutls26-2.8.6/lib/minitasn1/structure.c gnutls26-2.4.1/lib/minitasn1/structure.c --- gnutls26-2.8.6/lib/minitasn1/structure.c 2009-07-29 21:44:08.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/structure.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,6 @@ /* - * Copyright (C) 2004, 2006, 2007, 2008, 2009 Free Software Foundation - * Copyright (C) 2002 Fabio Fiorina + * Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation + * Copyright (C) 2002 Fabio Fiorina * * This file is part of LIBTASN1. * @@ -29,6 +29,7 @@ #include +#include #include #include "parser_aux.h" #include @@ -45,12 +46,12 @@ /* and CONST_ constants). */ /* Return: pointer to the new element. */ /******************************************************/ -ASN1_TYPE +node_asn * _asn1_add_node_only (unsigned int type) { - ASN1_TYPE punt; + node_asn *punt; - punt = (ASN1_TYPE) _asn1_calloc (1, sizeof (struct node_asn_struct)); + punt = (node_asn *) _asn1_calloc (1, sizeof (node_asn)); if (punt == NULL) return NULL; @@ -68,8 +69,8 @@ /* node: NODE_ASN element pointer. */ /* Return: NULL if not found. */ /******************************************************************/ -ASN1_TYPE -_asn1_find_left (ASN1_TYPE node) +node_asn * +_asn1_find_left (node_asn * node) { if ((node == NULL) || (node->left == NULL) || (node->left->down == node)) return NULL; @@ -83,7 +84,7 @@ char *vector_name) { FILE *file; - ASN1_TYPE p; + node_asn *p; unsigned long t; file = fopen (output_file_name, "w"); @@ -183,7 +184,7 @@ asn1_array2tree (const ASN1_ARRAY_TYPE * array, ASN1_TYPE * definitions, char *errorDescription) { - ASN1_TYPE p, p_last = NULL; + node_asn *p, *p_last = NULL; unsigned long k; int move; asn1_retCode result; @@ -294,7 +295,7 @@ asn1_retCode asn1_delete_structure (ASN1_TYPE * structure) { - ASN1_TYPE p, p2, p3; + node_asn *p, *p2, *p3; if (*structure == ASN1_TYPE_EMPTY) return ASN1_ELEMENT_NOT_FOUND; @@ -362,7 +363,7 @@ asn1_retCode asn1_delete_element (ASN1_TYPE structure, const char *element_name) { - ASN1_TYPE p2, p3, source_node; + node_asn *p2, *p3, *source_node; source_node = asn1_find_node (structure, element_name); @@ -385,10 +386,10 @@ return asn1_delete_structure (&source_node); } -ASN1_TYPE -_asn1_copy_structure3 (ASN1_TYPE source_node) +node_asn * +_asn1_copy_structure3 (node_asn * source_node) { - ASN1_TYPE dest_node, p_s, p_d, p_d_prev; + node_asn *dest_node, *p_s, *p_d, *p_d_prev; int move; if (source_node == NULL) @@ -408,7 +409,7 @@ if (p_s->name) _asn1_set_name (p_d, p_s->name); if (p_s->value) - _asn1_set_value (p_d, p_s->value, p_s->value_len); + _asn1_set_value (p_d, p_s->value, p_s->value_len); move = DOWN; } else @@ -454,10 +455,10 @@ } -static ASN1_TYPE -_asn1_copy_structure2 (ASN1_TYPE root, const char *source_name) +node_asn * +_asn1_copy_structure2 (node_asn * root, const char *source_name) { - ASN1_TYPE source_node; + node_asn *source_node; source_node = asn1_find_node (root, source_name); @@ -466,10 +467,10 @@ } -static asn1_retCode -_asn1_type_choice_config (ASN1_TYPE node) +asn1_retCode +_asn1_type_choice_config (node_asn * node) { - ASN1_TYPE p, p2, p3, p4; + node_asn *p, *p2, *p3, *p4; int move, tlen; if (node == NULL) @@ -551,11 +552,11 @@ } -static asn1_retCode -_asn1_expand_identifier (ASN1_TYPE * node, ASN1_TYPE root) +asn1_retCode +_asn1_expand_identifier (node_asn ** node, node_asn * root) { - ASN1_TYPE p, p2, p3; - char name2[ASN1_MAX_NAME_SIZE + 2]; + node_asn *p, *p2, *p3; + char name2[MAX_NAME_SIZE + 2]; int move; if (node == NULL) @@ -683,7 +684,7 @@ asn1_create_element (ASN1_TYPE definitions, const char *source_name, ASN1_TYPE * element) { - ASN1_TYPE dest_node; + node_asn *dest_node; int res; dest_node = _asn1_copy_structure2 (definitions, source_name); @@ -718,7 +719,7 @@ asn1_print_structure (FILE * out, ASN1_TYPE structure, const char *name, int mode) { - ASN1_TYPE p, root; + node_asn *p, *root; int k, indent = 0, len, len2, len3; if (out == NULL) @@ -1087,7 +1088,7 @@ asn1_retCode asn1_number_of_elements (ASN1_TYPE element, const char *name, int *num) { - ASN1_TYPE node, p; + node_asn *node, *p; if (num == NULL) return ASN1_GENERIC_ERROR; @@ -1126,8 +1127,8 @@ const char * asn1_find_structure_from_oid (ASN1_TYPE definitions, const char *oidValue) { - char definitionsName[ASN1_MAX_NAME_SIZE], name[2 * ASN1_MAX_NAME_SIZE + 1]; - char value[ASN1_MAX_NAME_SIZE]; + char definitionsName[MAX_NAME_SIZE], name[2 * MAX_NAME_SIZE + 1]; + char value[MAX_NAME_SIZE]; ASN1_TYPE p; int len; asn1_retCode result; @@ -1149,7 +1150,7 @@ strcpy (name, definitionsName); strcat (name, p->name); - len = ASN1_MAX_NAME_SIZE; + len = MAX_NAME_SIZE; result = asn1_read_value (definitions, name, value, &len); if ((result == ASN1_SUCCESS) && (!strcmp (oidValue, value))) diff -Nru gnutls26-2.8.6/lib/minitasn1/structure.h gnutls26-2.4.1/lib/minitasn1/structure.h --- gnutls26-2.8.6/lib/minitasn1/structure.h 2009-07-29 21:44:07.000000000 +0100 +++ gnutls26-2.4.1/lib/minitasn1/structure.h 2008-06-19 11:00:10.000000000 +0100 @@ -8,14 +8,16 @@ #ifndef _STRUCTURE_H #define _STRUCTURE_H -asn1_retCode _asn1_create_static_structure (ASN1_TYPE pointer, - char *output_file_name, - char *vector_name); +asn1_retCode _asn1_create_static_structure(node_asn *pointer, + char* output_file_name,char *vector_name); -ASN1_TYPE _asn1_copy_structure3 (ASN1_TYPE source_node); +node_asn* _asn1_copy_structure3(node_asn *source_node); -ASN1_TYPE _asn1_add_node_only (unsigned int type); +node_asn* _asn1_copy_structure2(node_asn *root,const char *source_name); -ASN1_TYPE _asn1_find_left (ASN1_TYPE node); +node_asn * _asn1_add_node_only(unsigned int type); + +node_asn * _asn1_find_left(node_asn *node); #endif + diff -Nru gnutls26-2.8.6/lib/mpi-libgcrypt.c gnutls26-2.4.1/lib/mpi-libgcrypt.c --- gnutls26-2.8.6/lib/mpi-libgcrypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/mpi-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,403 +0,0 @@ -/* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -/* Here lie everything that has to do with large numbers, libgcrypt and - * other stuff that didn't fit anywhere else. - */ - -#include -#include -#include -#include -#include - -/* Functions that refer to the libgcrypt library. - */ - -static inline int -_format_conv (gnutls_bigint_format_t format) -{ - if (format == GNUTLS_MPI_FORMAT_USG) - return GCRYMPI_FMT_USG; - else if (format == GNUTLS_MPI_FORMAT_STD) - return GCRYMPI_FMT_STD; - else - return GCRYMPI_FMT_PGP; -} - -/* returns zero on success - */ -static bigint_t -wrap_gcry_mpi_scan (const void *buffer, size_t nbytes, - gnutls_bigint_format_t format) -{ - gcry_mpi_t ret_mpi = NULL; - int ret; - - ret = gcry_mpi_scan (&ret_mpi, _format_conv (format), buffer, nbytes, NULL); - if (ret != 0) - return NULL; - - return ret_mpi; -} - -static int -wrap_gcry_mpi_print (const bigint_t a, void *buffer, size_t * nbytes, - gnutls_bigint_format_t format) -{ - int ret; - - format = _format_conv (format); - - if (nbytes == NULL || a == NULL) - return GNUTLS_E_INVALID_REQUEST; - - ret = gcry_mpi_print (format, buffer, *nbytes, nbytes, a); - if (!ret) - return 0; - - return GNUTLS_E_MPI_PRINT_FAILED; -} - -static bigint_t -wrap_gcry_mpi_new (int nbits) -{ - return gcry_mpi_new (nbits); -} - -static int -wrap_gcry_mpi_cmp (const bigint_t u, const bigint_t v) -{ - return gcry_mpi_cmp (u, v); -} - -static int -wrap_gcry_mpi_cmp_ui (const bigint_t u, unsigned long v) -{ - return gcry_mpi_cmp_ui (u, v); -} - -static bigint_t -wrap_gcry_mpi_set (bigint_t w, const bigint_t u) -{ - return gcry_mpi_set (w, u); -} - -static bigint_t -wrap_gcry_mpi_set_ui (bigint_t w, unsigned long u) -{ - return gcry_mpi_set_ui (w, u); -} - -static unsigned int -wrap_gcry_mpi_get_nbits (bigint_t a) -{ - return gcry_mpi_get_nbits (a); -} - -static void -wrap_gcry_mpi_release (bigint_t a) -{ - gcry_mpi_release (a); -} - -#undef _gnutls_mpi_alloc_like -#define _gnutls_mpi_alloc_like(x) gcry_mpi_new(gcry_mpi_get_nbits(x)) - -static bigint_t -wrap_gcry_mpi_mod (const bigint_t a, const bigint_t b) -{ - bigint_t r = _gnutls_mpi_alloc_like (b); - - if (r == NULL) - return NULL; - - gcry_mpi_mod (r, a, b); - - return r; -} - -static bigint_t -wrap_gcry_mpi_powm (bigint_t w, const bigint_t b, const bigint_t e, - const bigint_t m) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (m); - - if (w == NULL) - return NULL; - - gcry_mpi_powm (w, b, e, m); - - return w; -} - -static bigint_t -wrap_gcry_mpi_addm (bigint_t w, const bigint_t a, const bigint_t b, - const bigint_t m) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (m); - - if (w == NULL) - return NULL; - - gcry_mpi_addm (w, a, b, m); - - return w; -} - -static bigint_t -wrap_gcry_mpi_subm (bigint_t w, const bigint_t a, const bigint_t b, - const bigint_t m) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (m); - - if (w == NULL) - return NULL; - - gcry_mpi_subm (w, a, b, m); - - return w; -} - -static bigint_t -wrap_gcry_mpi_mulm (bigint_t w, const bigint_t a, const bigint_t b, - const bigint_t m) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (m); - - if (w == NULL) - return NULL; - - gcry_mpi_mulm (w, a, b, m); - - return w; -} - -static bigint_t -wrap_gcry_mpi_add (bigint_t w, const bigint_t a, const bigint_t b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (b); - - if (w == NULL) - return NULL; - - gcry_mpi_add (w, a, b); - - return w; -} - -static bigint_t -wrap_gcry_mpi_sub (bigint_t w, const bigint_t a, const bigint_t b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (b); - - if (w == NULL) - return NULL; - - gcry_mpi_sub (w, a, b); - - return w; -} - -static bigint_t -wrap_gcry_mpi_mul (bigint_t w, const bigint_t a, const bigint_t b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (b); - - if (w == NULL) - return NULL; - - gcry_mpi_mul (w, a, b); - - return w; -} - -/* q = a / b */ -static bigint_t -wrap_gcry_mpi_div (bigint_t q, const bigint_t a, const bigint_t b) -{ - if (q == NULL) - q = _gnutls_mpi_alloc_like (a); - - if (q == NULL) - return NULL; - - gcry_mpi_div (q, NULL, a, b, 0); - - return q; -} - -static bigint_t -wrap_gcry_mpi_add_ui (bigint_t w, const bigint_t a, unsigned long b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (a); - - if (w == NULL) - return NULL; - - gcry_mpi_add_ui (w, a, b); - - return w; -} - -static bigint_t -wrap_gcry_mpi_sub_ui (bigint_t w, const bigint_t a, unsigned long b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (a); - - if (w == NULL) - return NULL; - - gcry_mpi_sub_ui (w, a, b); - - return w; -} - -static bigint_t -wrap_gcry_mpi_mul_ui (bigint_t w, const bigint_t a, unsigned long b) -{ - if (w == NULL) - w = _gnutls_mpi_alloc_like (a); - - if (w == NULL) - return NULL; - - gcry_mpi_mul_ui (w, a, b); - - return w; -} - -static int -wrap_gcry_prime_check (bigint_t pp) -{ - return gcry_prime_check (pp, 0); -} - -static int -wrap_gcry_generate_group (gnutls_group_st * group, unsigned int bits) -{ - gcry_mpi_t g = NULL, prime = NULL; - gcry_error_t err; - int times = 0, qbits; - gcry_mpi_t *factors = NULL; - - /* Calculate the size of a prime factor of (prime-1)/2. - * This is an emulation of the values in "Selecting Cryptographic Key Sizes" paper. - */ - if (bits < 256) - qbits = bits / 2; - else - { - qbits = (bits / 40) + 105; - } - - if (qbits & 1) /* better have an even number */ - qbits++; - - /* find a prime number of size bits. - */ - do - { - if (times) - { - gcry_mpi_release (prime); - gcry_prime_release_factors (factors); - } - - err = gcry_prime_generate (&prime, bits, qbits, &factors, - NULL, NULL, GCRY_STRONG_RANDOM, - GCRY_PRIME_FLAG_SPECIAL_FACTOR); - if (err != 0) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - err = gcry_prime_check (prime, 0); - - times++; - } - while (err != 0 && times < 10); - - if (err != 0) - { - gnutls_assert (); - gcry_mpi_release (prime); - gcry_prime_release_factors (factors); - return GNUTLS_E_INTERNAL_ERROR; - } - - /* generate the group generator. - */ - err = gcry_prime_group_generator (&g, prime, factors, NULL); - gcry_prime_release_factors (factors); - if (err != 0) - { - gnutls_assert (); - gcry_mpi_release (prime); - return GNUTLS_E_INTERNAL_ERROR; - } - - group->g = g; - group->p = prime; - - return 0; -} - -int crypto_bigint_prio = INT_MAX; - -gnutls_crypto_bigint_st _gnutls_mpi_ops = { - .bigint_new = wrap_gcry_mpi_new, - .bigint_cmp = wrap_gcry_mpi_cmp, - .bigint_cmp_ui = wrap_gcry_mpi_cmp_ui, - .bigint_mod = wrap_gcry_mpi_mod, - .bigint_set = wrap_gcry_mpi_set, - .bigint_set_ui = wrap_gcry_mpi_set_ui, - .bigint_get_nbits = wrap_gcry_mpi_get_nbits, - .bigint_powm = wrap_gcry_mpi_powm, - .bigint_addm = wrap_gcry_mpi_addm, - .bigint_subm = wrap_gcry_mpi_subm, - .bigint_add = wrap_gcry_mpi_add, - .bigint_sub = wrap_gcry_mpi_sub, - .bigint_add_ui = wrap_gcry_mpi_add_ui, - .bigint_sub_ui = wrap_gcry_mpi_sub_ui, - .bigint_mul = wrap_gcry_mpi_mul, - .bigint_mulm = wrap_gcry_mpi_mulm, - .bigint_mul_ui = wrap_gcry_mpi_mul_ui, - .bigint_div = wrap_gcry_mpi_div, - .bigint_prime_check = wrap_gcry_prime_check, - .bigint_release = wrap_gcry_mpi_release, - .bigint_print = wrap_gcry_mpi_print, - .bigint_scan = wrap_gcry_mpi_scan, - .bigint_generate_group = wrap_gcry_generate_group -}; diff -Nru gnutls26-2.8.6/lib/NEWS gnutls26-2.4.1/lib/NEWS --- gnutls26-2.8.6/lib/NEWS 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/NEWS 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../NEWS. diff -Nru gnutls26-2.8.6/lib/opencdk/armor.c gnutls26-2.4.1/lib/opencdk/armor.c --- gnutls26-2.8.6/lib/opencdk/armor.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/armor.c 2008-06-30 21:45:51.000000000 +0100 @@ -31,6 +31,7 @@ #endif #include #include +#include #include #include "opencdk.h" @@ -49,124 +50,89 @@ #define b64val(c) index64[(unsigned int)(c)] static u32 crc_table[] = { - 0x000000, 0x864CFB, 0x8AD50D, 0x0C99F6, 0x93E6E1, 0x15AA1A, 0x1933EC, - 0x9F7F17, - 0xA18139, 0x27CDC2, 0x2B5434, 0xAD18CF, 0x3267D8, 0xB42B23, 0xB8B2D5, - 0x3EFE2E, - 0xC54E89, 0x430272, 0x4F9B84, 0xC9D77F, 0x56A868, 0xD0E493, 0xDC7D65, - 0x5A319E, - 0x64CFB0, 0xE2834B, 0xEE1ABD, 0x685646, 0xF72951, 0x7165AA, 0x7DFC5C, - 0xFBB0A7, - 0x0CD1E9, 0x8A9D12, 0x8604E4, 0x00481F, 0x9F3708, 0x197BF3, 0x15E205, - 0x93AEFE, - 0xAD50D0, 0x2B1C2B, 0x2785DD, 0xA1C926, 0x3EB631, 0xB8FACA, 0xB4633C, - 0x322FC7, - 0xC99F60, 0x4FD39B, 0x434A6D, 0xC50696, 0x5A7981, 0xDC357A, 0xD0AC8C, - 0x56E077, - 0x681E59, 0xEE52A2, 0xE2CB54, 0x6487AF, 0xFBF8B8, 0x7DB443, 0x712DB5, - 0xF7614E, - 0x19A3D2, 0x9FEF29, 0x9376DF, 0x153A24, 0x8A4533, 0x0C09C8, 0x00903E, - 0x86DCC5, - 0xB822EB, 0x3E6E10, 0x32F7E6, 0xB4BB1D, 0x2BC40A, 0xAD88F1, 0xA11107, - 0x275DFC, - 0xDCED5B, 0x5AA1A0, 0x563856, 0xD074AD, 0x4F0BBA, 0xC94741, 0xC5DEB7, - 0x43924C, - 0x7D6C62, 0xFB2099, 0xF7B96F, 0x71F594, 0xEE8A83, 0x68C678, 0x645F8E, - 0xE21375, - 0x15723B, 0x933EC0, 0x9FA736, 0x19EBCD, 0x8694DA, 0x00D821, 0x0C41D7, - 0x8A0D2C, - 0xB4F302, 0x32BFF9, 0x3E260F, 0xB86AF4, 0x2715E3, 0xA15918, 0xADC0EE, - 0x2B8C15, - 0xD03CB2, 0x567049, 0x5AE9BF, 0xDCA544, 0x43DA53, 0xC596A8, 0xC90F5E, - 0x4F43A5, - 0x71BD8B, 0xF7F170, 0xFB6886, 0x7D247D, 0xE25B6A, 0x641791, 0x688E67, - 0xEEC29C, - 0x3347A4, 0xB50B5F, 0xB992A9, 0x3FDE52, 0xA0A145, 0x26EDBE, 0x2A7448, - 0xAC38B3, - 0x92C69D, 0x148A66, 0x181390, 0x9E5F6B, 0x01207C, 0x876C87, 0x8BF571, - 0x0DB98A, - 0xF6092D, 0x7045D6, 0x7CDC20, 0xFA90DB, 0x65EFCC, 0xE3A337, 0xEF3AC1, - 0x69763A, - 0x578814, 0xD1C4EF, 0xDD5D19, 0x5B11E2, 0xC46EF5, 0x42220E, 0x4EBBF8, - 0xC8F703, - 0x3F964D, 0xB9DAB6, 0xB54340, 0x330FBB, 0xAC70AC, 0x2A3C57, 0x26A5A1, - 0xA0E95A, - 0x9E1774, 0x185B8F, 0x14C279, 0x928E82, 0x0DF195, 0x8BBD6E, 0x872498, - 0x016863, - 0xFAD8C4, 0x7C943F, 0x700DC9, 0xF64132, 0x693E25, 0xEF72DE, 0xE3EB28, - 0x65A7D3, - 0x5B59FD, 0xDD1506, 0xD18CF0, 0x57C00B, 0xC8BF1C, 0x4EF3E7, 0x426A11, - 0xC426EA, - 0x2AE476, 0xACA88D, 0xA0317B, 0x267D80, 0xB90297, 0x3F4E6C, 0x33D79A, - 0xB59B61, - 0x8B654F, 0x0D29B4, 0x01B042, 0x87FCB9, 0x1883AE, 0x9ECF55, 0x9256A3, - 0x141A58, - 0xEFAAFF, 0x69E604, 0x657FF2, 0xE33309, 0x7C4C1E, 0xFA00E5, 0xF69913, - 0x70D5E8, - 0x4E2BC6, 0xC8673D, 0xC4FECB, 0x42B230, 0xDDCD27, 0x5B81DC, 0x57182A, - 0xD154D1, - 0x26359F, 0xA07964, 0xACE092, 0x2AAC69, 0xB5D37E, 0x339F85, 0x3F0673, - 0xB94A88, - 0x87B4A6, 0x01F85D, 0x0D61AB, 0x8B2D50, 0x145247, 0x921EBC, 0x9E874A, - 0x18CBB1, - 0xE37B16, 0x6537ED, 0x69AE1B, 0xEFE2E0, 0x709DF7, 0xF6D10C, 0xFA48FA, - 0x7C0401, - 0x42FA2F, 0xC4B6D4, 0xC82F22, 0x4E63D9, 0xD11CCE, 0x575035, 0x5BC9C3, - 0xDD8538 +0x000000, 0x864CFB, 0x8AD50D, 0x0C99F6, 0x93E6E1, 0x15AA1A, 0x1933EC, 0x9F7F17, +0xA18139, 0x27CDC2, 0x2B5434, 0xAD18CF, 0x3267D8, 0xB42B23, 0xB8B2D5, 0x3EFE2E, +0xC54E89, 0x430272, 0x4F9B84, 0xC9D77F, 0x56A868, 0xD0E493, 0xDC7D65, 0x5A319E, +0x64CFB0, 0xE2834B, 0xEE1ABD, 0x685646, 0xF72951, 0x7165AA, 0x7DFC5C, 0xFBB0A7, +0x0CD1E9, 0x8A9D12, 0x8604E4, 0x00481F, 0x9F3708, 0x197BF3, 0x15E205, 0x93AEFE, +0xAD50D0, 0x2B1C2B, 0x2785DD, 0xA1C926, 0x3EB631, 0xB8FACA, 0xB4633C, 0x322FC7, +0xC99F60, 0x4FD39B, 0x434A6D, 0xC50696, 0x5A7981, 0xDC357A, 0xD0AC8C, 0x56E077, +0x681E59, 0xEE52A2, 0xE2CB54, 0x6487AF, 0xFBF8B8, 0x7DB443, 0x712DB5, 0xF7614E, +0x19A3D2, 0x9FEF29, 0x9376DF, 0x153A24, 0x8A4533, 0x0C09C8, 0x00903E, 0x86DCC5, +0xB822EB, 0x3E6E10, 0x32F7E6, 0xB4BB1D, 0x2BC40A, 0xAD88F1, 0xA11107, 0x275DFC, +0xDCED5B, 0x5AA1A0, 0x563856, 0xD074AD, 0x4F0BBA, 0xC94741, 0xC5DEB7, 0x43924C, +0x7D6C62, 0xFB2099, 0xF7B96F, 0x71F594, 0xEE8A83, 0x68C678, 0x645F8E, 0xE21375, +0x15723B, 0x933EC0, 0x9FA736, 0x19EBCD, 0x8694DA, 0x00D821, 0x0C41D7, 0x8A0D2C, +0xB4F302, 0x32BFF9, 0x3E260F, 0xB86AF4, 0x2715E3, 0xA15918, 0xADC0EE, 0x2B8C15, +0xD03CB2, 0x567049, 0x5AE9BF, 0xDCA544, 0x43DA53, 0xC596A8, 0xC90F5E, 0x4F43A5, +0x71BD8B, 0xF7F170, 0xFB6886, 0x7D247D, 0xE25B6A, 0x641791, 0x688E67, 0xEEC29C, +0x3347A4, 0xB50B5F, 0xB992A9, 0x3FDE52, 0xA0A145, 0x26EDBE, 0x2A7448, 0xAC38B3, +0x92C69D, 0x148A66, 0x181390, 0x9E5F6B, 0x01207C, 0x876C87, 0x8BF571, 0x0DB98A, +0xF6092D, 0x7045D6, 0x7CDC20, 0xFA90DB, 0x65EFCC, 0xE3A337, 0xEF3AC1, 0x69763A, +0x578814, 0xD1C4EF, 0xDD5D19, 0x5B11E2, 0xC46EF5, 0x42220E, 0x4EBBF8, 0xC8F703, +0x3F964D, 0xB9DAB6, 0xB54340, 0x330FBB, 0xAC70AC, 0x2A3C57, 0x26A5A1, 0xA0E95A, +0x9E1774, 0x185B8F, 0x14C279, 0x928E82, 0x0DF195, 0x8BBD6E, 0x872498, 0x016863, +0xFAD8C4, 0x7C943F, 0x700DC9, 0xF64132, 0x693E25, 0xEF72DE, 0xE3EB28, 0x65A7D3, +0x5B59FD, 0xDD1506, 0xD18CF0, 0x57C00B, 0xC8BF1C, 0x4EF3E7, 0x426A11, 0xC426EA, +0x2AE476, 0xACA88D, 0xA0317B, 0x267D80, 0xB90297, 0x3F4E6C, 0x33D79A, 0xB59B61, +0x8B654F, 0x0D29B4, 0x01B042, 0x87FCB9, 0x1883AE, 0x9ECF55, 0x9256A3, 0x141A58, +0xEFAAFF, 0x69E604, 0x657FF2, 0xE33309, 0x7C4C1E, 0xFA00E5, 0xF69913, 0x70D5E8, +0x4E2BC6, 0xC8673D, 0xC4FECB, 0x42B230, 0xDDCD27, 0x5B81DC, 0x57182A, 0xD154D1, +0x26359F, 0xA07964, 0xACE092, 0x2AAC69, 0xB5D37E, 0x339F85, 0x3F0673, 0xB94A88, +0x87B4A6, 0x01F85D, 0x0D61AB, 0x8B2D50, 0x145247, 0x921EBC, 0x9E874A, 0x18CBB1, +0xE37B16, 0x6537ED, 0x69AE1B, 0xEFE2E0, 0x709DF7, 0xF6D10C, 0xFA48FA, 0x7C0401, +0x42FA2F, 0xC4B6D4, 0xC82F22, 0x4E63D9, 0xD11CCE, 0x575035, 0x5BC9C3, 0xDD8538 }; static const char *armor_begin[] = { - "BEGIN PGP MESSAGE", - "BEGIN PGP PUBLIC KEY BLOCK", - "BEGIN PGP PRIVATE KEY BLOCK", - "BEGIN PGP SIGNATURE", - NULL + "BEGIN PGP MESSAGE", + "BEGIN PGP PUBLIC KEY BLOCK", + "BEGIN PGP PRIVATE KEY BLOCK", + "BEGIN PGP SIGNATURE", + NULL }; static const char *armor_end[] = { - "END PGP MESSAGE", - "END PGP PUBLIC KEY BLOCK", - "END PGP PRIVATE KEY BLOCK", - "END PGP SIGNATURE", - NULL + "END PGP MESSAGE", + "END PGP PUBLIC KEY BLOCK", + "END PGP PRIVATE KEY BLOCK", + "END PGP SIGNATURE", + NULL }; static const char *valid_headers[] = { - "Comment", - "Version", - "MessageID", - "Hash", - "Charset", - NULL + "Comment", + "Version", + "MessageID", + "Hash", + "Charset", + NULL }; static char b64chars[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static int index64[128] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, - -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 }; /* encode a raw binary buffer to a null-terminated base64 strings */ static int -base64_encode (char *out, const byte * in, size_t len, size_t olen) +base64_encode (char *out, const byte *in, size_t len, size_t olen) { if (!out || !in) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + while (len >= 3 && olen > 10) - { + { *out++ = b64chars[in[0] >> 2]; *out++ = b64chars[((in[0] << 4) & 0x30) | (in[1] >> 4)]; *out++ = b64chars[((in[1] << 2) & 0x3c) | (in[2] >> 6)]; @@ -175,7 +141,7 @@ len -= 3; in += 3; } - + /* clean up remainder */ if (len > 0 && olen > 4) { @@ -196,50 +162,35 @@ /* Convert '\0'-terminated base64 string to raw byte buffer. Returns length of returned buffer, or -1 on error. */ static int -base64_decode (byte * out, const char *in) +base64_decode (byte *out, const char *in) { size_t len; byte digit1, digit2, digit3, digit4; - + if (!out || !in) - { - gnutls_assert (); - return -1; - } + return -1; len = 0; - do + do { digit1 = in[0]; if (digit1 > 127 || b64val (digit1) == BAD) - { - gnutls_assert (); - return -1; - } + return -1; digit2 = in[1]; - if (digit2 > 127 || b64val (digit2) == BAD) - { - gnutls_assert (); - return -1; - } + if( digit2 > 127 || b64val (digit2) == BAD ) + return -1; digit3 = in[2]; if (digit3 > 127 || ((digit3 != '=') && (b64val (digit3) == BAD))) - { - gnutls_assert (); - return -1; - } + return -1; digit4 = in[3]; if (digit4 > 127 || ((digit4 != '=') && (b64val (digit4) == BAD))) - { - gnutls_assert (); - return -1; - } + return -1; in += 4; - + /* digits are already sanity-checked */ *out++ = (b64val (digit1) << 2) | (b64val (digit2) >> 4); len++; - if (digit3 != '=') + if (digit3 != '=') { *out++ = ((b64val (digit2) << 4) & 0xf0) | (b64val (digit3) >> 2); len++; @@ -249,9 +200,9 @@ len++; } } - } + } while (*in && digit4 != '='); - + return len; } @@ -260,7 +211,8 @@ If the parameter is not set after execution, the stream is not compressed. */ static int -compress_get_algo (cdk_stream_t inp, int *r_zipalgo) +compress_get_algo (cdk_stream_t inp, int *r_zipalgo) + { byte plain[512]; char buf[128]; @@ -268,13 +220,13 @@ *r_zipalgo = 0; cdk_stream_seek (inp, 0); - while (!cdk_stream_eof (inp)) - { - nread = _cdk_stream_gets (inp, buf, DIM (buf) - 1); + while (!cdk_stream_eof (inp)) + { + nread = _cdk_stream_gets (inp, buf, DIM (buf)-1); if (!nread || nread == -1) break; if (nread == 1 && !cdk_stream_eof (inp) - && (nread = _cdk_stream_gets (inp, buf, DIM (buf) - 1)) > 0) + && (nread = _cdk_stream_gets (inp, buf, DIM (buf)-1)) > 0) { base64_decode (plain, buf); if (!(*plain & 0x80)) @@ -282,7 +234,7 @@ pkttype = *plain & 0x40 ? (*plain & 0x3f) : ((*plain >> 2) & 0xf); if (pkttype == CDK_PKT_COMPRESSED && r_zipalgo) { - _cdk_log_debug ("armor compressed (algo=%d)\n", *(plain + 1)); + _cdk_log_debug ("armor compressed (algo=%d)\n", *(plain+1)); *r_zipalgo = *(plain + 1); } break; @@ -298,9 +250,9 @@ char buf[4096]; size_t nread; int check; - + check = 0; - nread = cdk_stream_read (inp, buf, DIM (buf) - 1); + nread = cdk_stream_read (inp, buf, DIM (buf)-1); if (nread > 0) { buf[nread] = '\0'; @@ -309,7 +261,7 @@ compress_get_algo (inp, r_zipalgo); check = 1; } - cdk_stream_seek (inp, 0); + cdk_stream_seek (inp, 0); } return check; } @@ -321,14 +273,12 @@ int pkttype = 0; if (!(ctb & 0x80)) - { - gnutls_assert (); - return 1; /* invalid packet: assume it is armored */ - } - pkttype = ctb & 0x40 ? (ctb & 0x3f) : ((ctb >> 2) & 0xf); + return 1; /* invalid packet: assume it is armored */ + pkttype = ctb & 0x40 ? (ctb & 0x3f) : ((ctb >> 2) & 0xf); switch (pkttype) { case CDK_PKT_MARKER: + case CDK_PKT_SYMKEY_ENC: case CDK_PKT_ONEPASS_SIG: case CDK_PKT_PUBLIC_KEY: case CDK_PKT_SECRET_KEY: @@ -336,20 +286,21 @@ case CDK_PKT_SIGNATURE: case CDK_PKT_LITERAL: case CDK_PKT_COMPRESSED: - return 0; /* seems to be a regular packet: not armored */ + case CDK_PKT_ENCRYPTED: + return 0; /* seems to be a regular packet: not armored */ } return 1; } static u32 -update_crc (u32 crc, const byte * buf, size_t buflen) +update_crc (u32 crc, const byte *buf, size_t buflen) { - unsigned int j; - + int j; + if (!crc) crc = CRCINIT; - + for (j = 0; j < buflen; j++) crc = (crc << 8) ^ crc_table[0xff & ((crc >> 16) ^ buf[j])]; crc &= 0xffffff; @@ -358,56 +309,44 @@ static cdk_error_t -armor_encode (void *data, FILE * in, FILE * out) +armor_encode (void *opaque, FILE *in, FILE *out) { - armor_filter_t *afx = data; + armor_filter_t * afx = opaque; struct stat statbuf; char crcbuf[5], buf[128], raw[49]; byte crcbuf2[3]; size_t nread = 0; - const char *lf; - + const char * lf; + if (!afx) - { - gnutls_assert (); - return CDK_Inv_Value; - } - if (afx->idx < 0 || afx->idx > (int) DIM (armor_begin) || - afx->idx2 < 0 || afx->idx2 > (int) DIM (armor_end)) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; + if (afx->idx < 0 || afx->idx > DIM (armor_begin) || + afx->idx2 < 0 || afx->idx2 > DIM (armor_end)) + return CDK_Inv_Value; _cdk_log_debug ("armor filter: encode\n"); - + memset (crcbuf, 0, sizeof (crcbuf)); lf = afx->le ? afx->le : LF; fprintf (out, "-----%s-----%s", armor_begin[afx->idx], lf); - fprintf (out, "Version: OpenPrivacy " PACKAGE_VERSION "%s", lf); + fprintf (out, "Version: OpenPrivacy "PACKAGE_VERSION"%s", lf); if (afx->hdrlines) fwrite (afx->hdrlines, 1, strlen (afx->hdrlines), out); fprintf (out, "%s", lf); - + if (fstat (fileno (in), &statbuf)) - { - gnutls_assert (); - return CDK_General_Error; - } + return CDK_General_Error; while (!feof (in)) { - nread = fread (raw, 1, DIM (raw) - 1, in); + nread = fread (raw, 1, DIM (raw)-1, in); if (!nread) break; if (ferror (in)) - { - gnutls_assert (); - return CDK_File_Error; - } - afx->crc = update_crc (afx->crc, (byte *) raw, nread); - base64_encode (buf, (byte *) raw, nread, DIM (buf) - 1); + return CDK_File_Error; + afx->crc = update_crc (afx->crc, (byte*)raw, nread); + base64_encode (buf, (byte*)raw, nread, DIM (buf)-1); fprintf (out, "%s%s", buf, lf); } @@ -415,12 +354,12 @@ crcbuf2[1] = afx->crc >> 8; crcbuf2[2] = afx->crc; crcbuf[0] = b64chars[crcbuf2[0] >> 2]; - crcbuf[1] = b64chars[((crcbuf2[0] << 4) & 0x30) | (crcbuf2[1] >> 4)]; - crcbuf[2] = b64chars[((crcbuf2[1] << 2) & 0x3c) | (crcbuf2[2] >> 6)]; + crcbuf[1] = b64chars[((crcbuf2[0] << 4) & 0x30) |(crcbuf2[1] >> 4)]; + crcbuf[2] = b64chars[((crcbuf2[1] << 2) & 0x3c) |(crcbuf2[2] >> 6)]; crcbuf[3] = b64chars[crcbuf2[2] & 0x3f]; fprintf (out, "=%s%s", crcbuf, lf); fprintf (out, "-----%s-----%s", armor_end[afx->idx2], lf); - + return 0; } @@ -440,7 +379,7 @@ zipalgo = 0; c = cdk_stream_getc (inp); if (c == EOF) - return 0; /* EOF, doesn't matter whether armored or not */ + return 0; /* EOF, doesn't matter whether armored or not */ cdk_stream_seek (inp, 0); check = is_armored (c); if (check) @@ -458,12 +397,9 @@ { const char *s; int i; - + if (strlen (buf) < 5 || strncmp (buf, "-----", 5)) - { - gnutls_assert (); - return -1; - } + return -1; for (i = 0; (s = array[i]); i++) { if (!strncmp (s, buf + 5, strlen (s))) @@ -473,77 +409,68 @@ } -const char * -_cdk_armor_get_lineend (void) +const char* +_cdk_armor_get_lineend( void ) { return LF; } static cdk_error_t -armor_decode (void *data, FILE * in, FILE * out) +armor_decode (void *opaque, FILE *in, FILE *out) { - armor_filter_t *afx = data; + armor_filter_t * afx = opaque; const char *s; char buf[127]; byte raw[128], crcbuf[4]; u32 crc2 = 0; - ssize_t nread = 0; + size_t nread = 0; int i, pgp_data = 0; cdk_error_t rc = 0; - + if (!afx) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + _cdk_log_debug ("armor filter: decode\n"); - + fseek (in, 0, SEEK_SET); /* Search the begin of the message */ while (!feof (in) && !pgp_data) { - s = fgets (buf, DIM (buf) - 1, in); + s = fgets (buf, DIM (buf)-1, in); if (!s) break; afx->idx = search_header (buf, armor_begin); if (afx->idx >= 0) pgp_data = 1; } - - if (feof (in) || !pgp_data) - { - gnutls_assert (); - return CDK_Armor_Error; /* no data found */ - } - + + if (feof (in) || !pgp_data) + return CDK_Armor_Error; /* no data found */ + /* Parse header until the empty line is reached */ - while (!feof (in)) + while (!feof (in)) { - s = fgets (buf, DIM (buf) - 1, in); + s = fgets (buf, DIM (buf)-1, in); if (!s) return CDK_EOF; - if (strlen (s) == strlen (LF)) + if (strlen (s) == strlen (LF)) { rc = 0; - break; /* empty line */ + break; /* empty line */ } /* From RFC2440: OpenPGP should consider improperly formatted Armor Headers to be corruption of the ASCII Armor. A colon and a single space separate the key and value. */ if (!strstr (buf, ": ")) - { - gnutls_assert (); - return CDK_Armor_Error; - } + return CDK_Armor_Error; rc = CDK_General_Error; for (i = 0; (s = valid_headers[i]); i++) - { + { if (!strncmp (s, buf, strlen (s))) rc = 0; } - if (rc) + if (rc) { /* From RFC2440: Unknown keys should be reported to the user, but OpenPGP should continue to process the message. */ @@ -553,32 +480,32 @@ } /* Read the data body */ - while (!feof (in)) + while (!feof (in)) { - s = fgets (buf, DIM (buf) - 1, in); + s = fgets (buf, DIM (buf)-1, in); if (!s) break; buf[strlen (buf) - strlen (LF)] = '\0'; - if (buf[0] == '=' && strlen (s) == 5) - { /* CRC */ + if (buf[0] == '=' && strlen (s) == 5) + { /* CRC */ memset (crcbuf, 0, sizeof (crcbuf)); base64_decode (crcbuf, buf + 1); crc2 = (crcbuf[0] << 16) | (crcbuf[1] << 8) | crcbuf[2]; - break; /* stop here */ + break; /* stop here */ } else { - nread = base64_decode (raw, buf); + nread = base64_decode(raw, buf); if (nread == -1 || nread == 0) break; afx->crc = update_crc (afx->crc, raw, nread); fwrite (raw, 1, nread, out); } } - + /* Search the tail of the message */ - s = fgets (buf, DIM (buf) - 1, in); - if (s) + s = fgets (buf, DIM (buf)-1, in); + if (s) { buf[strlen (buf) - strlen (LF)] = '\0'; rc = CDK_General_Error; @@ -586,19 +513,19 @@ if (afx->idx2 >= 0) rc = 0; } - + /* This catches error when no tail was found or the header is different then the tail line. */ if (rc || afx->idx != afx->idx2) rc = CDK_Armor_Error; - + afx->crc_okay = (afx->crc == crc2) ? 1 : 0; - if (!afx->crc_okay && !rc) + if (!afx->crc_okay && !rc) { _cdk_log_debug ("file crc=%08lX afx_crc=%08lX\n", crc2, afx->crc); rc = CDK_Armor_CRC_Error; } - + return rc; } @@ -612,30 +539,26 @@ * Protect a file with ASCII armor. **/ cdk_error_t -cdk_file_armor (cdk_ctx_t hd, const char *file, const char *output) +cdk_file_armor (cdk_ctx_t hd, const char * file, const char * output) { cdk_stream_t inp, out; cdk_error_t rc; - + rc = _cdk_check_args (hd->opt.overwrite, file, output); if (rc) return rc; - + rc = cdk_stream_open (file, &inp); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + rc = cdk_stream_new (output, &out); - if (rc) + if (rc) { cdk_stream_close (inp); - gnutls_assert (); return rc; } - + cdk_stream_set_armor_flag (out, CDK_ARMOR_MESSAGE); if (hd->opt.compress) rc = cdk_stream_set_compress_flag (out, hd->compress.algo, @@ -646,7 +569,7 @@ rc = cdk_stream_kick_off (inp, out); if (!rc) rc = _cdk_stream_get_errno (out); - + cdk_stream_close (out); cdk_stream_close (inp); return rc; @@ -661,7 +584,7 @@ * Remove ASCII armor from a file. **/ cdk_error_t -cdk_file_dearmor (const char *file, const char *output) +cdk_file_dearmor (const char * file, const char * output) { cdk_stream_t inp, out; cdk_error_t rc; @@ -669,26 +592,19 @@ rc = _cdk_check_args (1, file, output); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + rc = cdk_stream_open (file, &inp); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + rc = cdk_stream_create (output, &out); if (rc) - { - cdk_stream_close (inp); - gnutls_assert (); + { + cdk_stream_close( inp ); return rc; } - + if (cdk_armor_filter_use (inp)) { rc = cdk_stream_set_literal_flag (inp, 0, NULL); @@ -702,24 +618,23 @@ if (!rc) rc = _cdk_stream_get_errno (inp); } - + cdk_stream_close (inp); cdk_stream_close (out); - gnutls_assert (); return rc; } int -_cdk_filter_armor (void *data, int ctl, FILE * in, FILE * out) +_cdk_filter_armor (void *opaque, int ctl, FILE * in, FILE *out) { if (ctl == STREAMCTL_READ) - return armor_decode (data, in, out); + return armor_decode (opaque, in, out); else if (ctl == STREAMCTL_WRITE) - return armor_encode (data, in, out); + return armor_encode (opaque, in, out); else if (ctl == STREAMCTL_FREE) { - armor_filter_t *afx = data; + armor_filter_t * afx = opaque; if (afx) { _cdk_log_debug ("free armor filter\n"); @@ -728,8 +643,6 @@ return 0; } } - - gnutls_assert (); return CDK_Inv_Mode; } @@ -746,89 +659,69 @@ * Encode the given buffer into base64 format. **/ cdk_error_t -cdk_armor_encode_buffer (const byte * inbuf, size_t inlen, - char *outbuf, size_t outlen, - size_t * nwritten, int type) +cdk_armor_encode_buffer (const byte *inbuf, size_t inlen, + char *outbuf, size_t outlen, + size_t *nwritten, int type) { const char *head, *tail, *le; byte tempbuf[48]; char tempout[128]; size_t pos, off, len, rest; - + if (!inbuf || !nwritten) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (type > CDK_ARMOR_SIGNATURE) - { - gnutls_assert (); - return CDK_Inv_Mode; - } - - head = armor_begin[type]; - tail = armor_end[type]; + return CDK_Inv_Mode; + + head = armor_begin [type]; + tail = armor_end [type]; le = _cdk_armor_get_lineend (); - pos = strlen (head) + 10 + 2 + 2 + strlen (tail) + 10 + 2 + 5 + 2; + pos = strlen (head) + 10 + 2 + 2 + strlen (tail) + 10 + 2 + 5 + 2; /* The output data is 4/3 times larger, plus a line end for each line. */ - pos += (4 * inlen / 3) + 2 * (4 * inlen / 3 / 64); - + pos += (4*inlen/3) + 2*(4*inlen/3/64); + if (outbuf && outlen < pos) - { - gnutls_assert (); - return CDK_Too_Short; - } - + return CDK_Too_Short; + /* Only return the size of the output. */ if (!outbuf) { *nwritten = pos; return 0; - } - + } + pos = 0; memset (outbuf, 0, outlen); - memcpy (outbuf + pos, "-----", 5); - pos += 5; - memcpy (outbuf + pos, head, strlen (head)); - pos += strlen (head); - memcpy (outbuf + pos, "-----", 5); - pos += 5; - memcpy (outbuf + pos, le, strlen (le)); - pos += strlen (le); - memcpy (outbuf + pos, le, strlen (le)); - pos += strlen (le); + memcpy (outbuf+pos, "-----", 5); pos += 5; + memcpy (outbuf+pos, head, strlen (head)); pos += strlen (head); + memcpy (outbuf+pos, "-----", 5); pos += 5; + memcpy (outbuf+pos, le, strlen (le)); pos += strlen (le); + memcpy (outbuf+pos, le, strlen (le)); pos += strlen (le); rest = inlen; for (off = 0; off < inlen;) { if (rest > 48) - { - memcpy (tempbuf, inbuf + off, 48); + { + memcpy (tempbuf, inbuf+off, 48); off += 48; len = 48; } else { - memcpy (tempbuf, inbuf + off, rest); + memcpy (tempbuf, inbuf+off, rest); off += rest; len = rest; } rest -= len; - base64_encode (tempout, tempbuf, len, DIM (tempout) - 1); - memcpy (outbuf + pos, tempout, strlen (tempout)); - pos += strlen (tempout); - memcpy (outbuf + pos, le, strlen (le)); - pos += strlen (le); - } - - memcpy (outbuf + pos, "-----", 5); - pos += 5; - memcpy (outbuf + pos, tail, strlen (tail)); - pos += strlen (tail); - memcpy (outbuf + pos, "-----", 5); - pos += 5; - memcpy (outbuf + pos, le, strlen (le)); - pos += strlen (le); + base64_encode (tempout, tempbuf, len, DIM (tempout)-1); + memcpy (outbuf+pos, tempout, strlen (tempout)); pos += strlen (tempout); + memcpy (outbuf+pos, le, strlen (le)); pos += strlen (le); + } + + memcpy (outbuf+pos, "-----", 5); pos += 5; + memcpy (outbuf+pos, tail, strlen (tail)); pos += strlen (tail); + memcpy (outbuf+pos, "-----", 5); pos += 5; + memcpy (outbuf+pos, le, strlen (le)); pos += strlen (le); *nwritten = pos; return 0; } diff -Nru gnutls26-2.8.6/lib/opencdk/context.h gnutls26-2.4.1/lib/opencdk/context.h --- gnutls26-2.8.6/lib/opencdk/context.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/context.h 2008-06-30 21:45:51.000000000 +0100 @@ -74,6 +74,7 @@ cdk_pkt_seckey_t sk; unsigned on:1; } cache; + cdk_dek_t dek; struct { cdk_keydb_hd_t sec; cdk_keydb_hd_t pub; @@ -99,7 +100,7 @@ struct cdk_subpkt_s * next; u32 size; byte type; - byte *d; + byte d[1]; }; struct cdk_keylist_s { @@ -121,7 +122,7 @@ struct cdk_strlist_s { struct cdk_strlist_s * next; - char *d; + char d[1]; }; #endif /* CDK_CONTEXT_H */ diff -Nru gnutls26-2.8.6/lib/opencdk/dummy.c gnutls26-2.4.1/lib/opencdk/dummy.c --- gnutls26-2.8.6/lib/opencdk/dummy.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/dummy.c 2008-06-30 21:45:51.000000000 +0100 @@ -9,7 +9,8 @@ cdk_error_t _cdk_proc_packets (cdk_ctx_t hd, cdk_stream_t inp, cdk_stream_t data, const char *output, cdk_stream_t outstream, - digest_hd_st * md) + gcry_md_hd_t md) { return 0; } + diff -Nru gnutls26-2.8.6/lib/opencdk/filters.h gnutls26-2.4.1/lib/opencdk/filters.h --- gnutls26-2.8.6/lib/opencdk/filters.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/filters.h 2008-06-30 21:45:51.000000000 +0100 @@ -31,9 +31,10 @@ }; typedef struct { - cipher_hd_st hd; - digest_hd_st mdc; + gcry_cipher_hd_t hd; + gcry_md_hd_t mdc; int mdc_method; + cdk_dek_t dek; u32 datalen; struct { size_t on; @@ -45,8 +46,7 @@ typedef struct { int digest_algo; - digest_hd_st md; - int md_initialized; + gcry_md_hd_t md; } md_filter_t; typedef struct { @@ -61,8 +61,7 @@ cdk_lit_format_t mode; char *orig_filename; /* This original name of the input file. */ char *filename; - digest_hd_st md; - int md_initialized; + gcry_md_hd_t md; struct { size_t on; off_t size; diff -Nru gnutls26-2.8.6/lib/opencdk/hash.c gnutls26-2.4.1/lib/opencdk/hash.c --- gnutls26-2.8.6/lib/opencdk/hash.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/hash.c 2008-06-30 21:45:51.000000000 +0100 @@ -25,6 +25,7 @@ # include #endif #include +#include #include #include "opencdk.h" @@ -32,62 +33,52 @@ #include "filters.h" static cdk_error_t -hash_encode (void *data, FILE * in, FILE * out) +hash_encode (void *opaque, FILE *in, FILE *out) { - md_filter_t *mfx = data; + md_filter_t *mfx = opaque; byte buf[BUFSIZE]; - int err; + gcry_error_t err; int nread; - + if (!mfx) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + _cdk_log_debug ("hash filter: encode algo=%d\n", mfx->digest_algo); - - if (!mfx->md_initialized) + + if (!mfx->md) { - err = _gnutls_hash_init (&mfx->md, mfx->digest_algo); - if (err < 0) - { - gnutls_assert (); - return map_gnutls_error (err); - } - - mfx->md_initialized = 1; + err = gcry_md_open (&mfx->md, mfx->digest_algo, 0); + if (err) + return map_gcry_error (err); } - + while (!feof (in)) { nread = fread (buf, 1, BUFSIZE, in); if (!nread) break; - _gnutls_hash (&mfx->md, buf, nread); + gcry_md_write (mfx->md, buf, nread); } - + wipemem (buf, sizeof (buf)); return 0; } cdk_error_t -_cdk_filter_hash (void *data, int ctl, FILE * in, FILE * out) +_cdk_filter_hash (void *opaque, int ctl, FILE *in, FILE *out) { if (ctl == STREAMCTL_READ) - return hash_encode (data, in, out); + return hash_encode (opaque, in, out); else if (ctl == STREAMCTL_FREE) { - md_filter_t *mfx = data; - if (mfx) + md_filter_t *mfx = opaque; + if (mfx) { _cdk_log_debug ("free hash filter\n"); - _gnutls_hash_deinit (&mfx->md, NULL); - mfx->md_initialized = 0; + gcry_md_close (mfx->md); + mfx->md = NULL; return 0; - } + } } - - gnutls_assert (); return CDK_Inv_Mode; } diff -Nru gnutls26-2.8.6/lib/opencdk/kbnode.c gnutls26-2.4.1/lib/opencdk/kbnode.c --- gnutls26-2.8.6/lib/opencdk/kbnode.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/kbnode.c 2008-06-30 21:45:51.000000000 +0100 @@ -27,6 +27,7 @@ #include #include #include +#include #include "opencdk.h" #include "main.h" @@ -43,7 +44,7 @@ cdk_kbnode_new (cdk_packet_t pkt) { cdk_kbnode_t n; - + n = cdk_calloc (1, sizeof *n); if (!n) return NULL; @@ -72,8 +73,8 @@ cdk_kbnode_release (cdk_kbnode_t node) { cdk_kbnode_t n2; - - while (node) + + while (node) { n2 = node->next; if (!node->is_cloned) @@ -103,7 +104,7 @@ _cdk_kbnode_add (cdk_kbnode_t root, cdk_kbnode_t node) { cdk_kbnode_t n1; - + for (n1 = root; n1->next; n1 = n1->next) ; n1->next = node; @@ -120,20 +121,19 @@ * type @pkttype (only if @pkttype != 0). **/ void -cdk_kbnode_insert (cdk_kbnode_t root, cdk_kbnode_t node, - cdk_packet_type_t pkttype) +cdk_kbnode_insert (cdk_kbnode_t root, cdk_kbnode_t node, int pkttype) { if (!pkttype) { node->next = root->next; root->next = node; } - else + else { cdk_kbnode_t n1; - + for (n1 = root; n1->next; n1 = n1->next) - if (pkttype != n1->next->pkt->pkttype) + if (pkttype != n1->next->pkt->pkttype) { node->next = n1->next; n1->next = node; @@ -156,11 +156,10 @@ * with pkttype @pkttype in the list starting with @root of @node. **/ cdk_kbnode_t -cdk_kbnode_find_prev (cdk_kbnode_t root, cdk_kbnode_t node, - cdk_packet_type_t pkttype) +cdk_kbnode_find_prev (cdk_kbnode_t root, cdk_kbnode_t node, int pkttype) { cdk_kbnode_t n1; - + for (n1 = NULL; root && root != node; root = root->next) { if (!pkttype || root->pkt->pkttype == pkttype) @@ -183,7 +182,7 @@ * a user-id. **/ cdk_kbnode_t -cdk_kbnode_find_next (cdk_kbnode_t node, cdk_packet_type_t pkttype) +cdk_kbnode_find_next (cdk_kbnode_t node, int pkttype) { for (node = node->next; node; node = node->next) { @@ -213,7 +212,7 @@ * Tries to find the next node with the packettype @pkttype. **/ cdk_kbnode_t -cdk_kbnode_find (cdk_kbnode_t node, cdk_packet_type_t pkttype) +cdk_kbnode_find (cdk_kbnode_t node, int pkttype) { for (; node; node = node->next) { @@ -232,12 +231,12 @@ * Same as cdk_kbnode_find but it returns the packet instead of the node. **/ cdk_packet_t -cdk_kbnode_find_packet (cdk_kbnode_t node, cdk_packet_type_t pkttype) +cdk_kbnode_find_packet (cdk_kbnode_t node, int pkttype) { cdk_kbnode_t res; - + res = cdk_kbnode_find (node, pkttype); - return res ? res->pkt : NULL; + return res? res->pkt : NULL; } @@ -250,18 +249,18 @@ * to start with ROOT). */ cdk_kbnode_t -cdk_kbnode_walk (cdk_kbnode_t root, cdk_kbnode_t * ctx, int all) +cdk_kbnode_walk (cdk_kbnode_t root, cdk_kbnode_t *ctx, int all) { cdk_kbnode_t n; - - do + + do { - if (!*ctx) + if (! *ctx) { *ctx = root; n = root; } - else + else { n = (*ctx)->next; *ctx = n; @@ -283,11 +282,11 @@ * Returns: true if any node has been changed */ int -cdk_kbnode_commit (cdk_kbnode_t * root) +cdk_kbnode_commit (cdk_kbnode_t *root) { cdk_kbnode_t n, nl; int changed = 0; - + for (n = *root, nl = NULL; n; n = nl->next) { if (n->is_deleted) @@ -316,10 +315,10 @@ * Removes a node from the root node. */ void -cdk_kbnode_remove (cdk_kbnode_t * root, cdk_kbnode_t node) +cdk_kbnode_remove (cdk_kbnode_t *root, cdk_kbnode_t node) { cdk_kbnode_t n, nl; - + for (n = *root, nl = NULL; n; n = nl->next) { if (n == node) @@ -351,16 +350,16 @@ cdk_kbnode_move (cdk_kbnode_t * root, cdk_kbnode_t node, cdk_kbnode_t where) { cdk_kbnode_t tmp, prev; - + if (!root || !*root || !node) return; for (prev = *root; prev && prev->next != node; prev = prev->next) ; if (!prev) - return; /* Node is not in the list */ - - if (!where) - { /* Move node before root */ + return; /* Node is not in the list */ + + if (!where) + { /* Move node before root */ if (node == *root) return; prev->next = node->next; @@ -368,7 +367,7 @@ *root = node; return; } - if (node == where) /* Move it after where. */ + if (node == where) /* Move it after where. */ return; tmp = node->next; node->next = where->next; @@ -403,25 +402,23 @@ * Tries to read a key node from the memory buffer @buf. **/ cdk_error_t -cdk_kbnode_read_from_mem (cdk_kbnode_t * ret_node, - const byte * buf, size_t buflen) +cdk_kbnode_read_from_mem (cdk_kbnode_t *ret_node, + const byte *buf, size_t buflen) { cdk_stream_t inp; cdk_error_t rc; - + if (!ret_node || !buf) return CDK_Inv_Value; - + *ret_node = NULL; if (!buflen) - return CDK_Too_Short; - + return CDK_Too_Short; + rc = cdk_stream_tmp_from_mem (buf, buflen, &inp); if (rc) return rc; rc = cdk_keydb_get_keyblock (inp, ret_node); - if (rc) - gnutls_assert (); cdk_stream_close (inp); return rc; } @@ -437,30 +434,24 @@ * it allocates the buffer to avoid the lengthy second run. */ cdk_error_t -cdk_kbnode_write_to_mem_alloc (cdk_kbnode_t node, - byte ** r_buf, size_t * r_buflen) +cdk_kbnode_write_to_mem_alloc (cdk_kbnode_t node, + byte **r_buf, size_t *r_buflen) { cdk_kbnode_t n; cdk_stream_t s; cdk_error_t rc; size_t len; - + if (!node || !r_buf || !r_buflen) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + *r_buf = NULL; *r_buflen = 0; - + rc = cdk_stream_tmp_new (&s); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + for (n = node; n; n = n->next) { /* Skip all packets which cannot occur in a key composition. */ @@ -476,20 +467,19 @@ if (rc) { cdk_stream_close (s); - gnutls_assert (); return rc; } } - + cdk_stream_seek (s, 0); - len = cdk_stream_get_length (s); + len = cdk_stream_get_length (s); *r_buf = cdk_calloc (1, len); *r_buflen = cdk_stream_read (s, *r_buf, len); cdk_stream_close (s); return 0; } - - + + /** * cdk_kbnode_write_to_mem: * @node: the key node @@ -502,26 +492,20 @@ * Whenever it is possible, the cdk_kbnode_write_to_mem_alloc should be used. **/ cdk_error_t -cdk_kbnode_write_to_mem (cdk_kbnode_t node, byte * buf, size_t * r_nbytes) +cdk_kbnode_write_to_mem (cdk_kbnode_t node, byte *buf, size_t *r_nbytes) { cdk_kbnode_t n; - cdk_stream_t s; + cdk_stream_t s; cdk_error_t rc; size_t len; - + if (!node || !r_nbytes) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + rc = cdk_stream_tmp_new (&s); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + for (n = node; n; n = n->next) { /* Skip all packets which cannot occur in a key composition. */ @@ -537,28 +521,25 @@ if (rc) { cdk_stream_close (s); - gnutls_assert (); return rc; } } - + cdk_stream_seek (s, 0); len = cdk_stream_get_length (s); - if (!buf) + if (!buf) { - *r_nbytes = len; /* Only return the length of the buffer */ + *r_nbytes = len; /* Only return the length of the buffer */ cdk_stream_close (s); return 0; } if (*r_nbytes < len) - { + { *r_nbytes = len; rc = CDK_Too_Short; } if (!rc) *r_nbytes = cdk_stream_read (s, buf, len); - else - gnutls_assert (); cdk_stream_close (s); return rc; } @@ -578,48 +559,41 @@ * is extracted from it. **/ cdk_error_t -cdk_kbnode_hash (cdk_kbnode_t node, digest_hd_st * md, int is_v4, - cdk_packet_type_t pkttype, int flags) +cdk_kbnode_hash (cdk_kbnode_t node, gcry_md_hd_t md, int is_v4, + int pkttype, int flags) { cdk_packet_t pkt; - + if (!node || !md) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!pkttype) - { + { pkt = cdk_kbnode_get_packet (node); pkttype = pkt->pkttype; - } + } else - { + { pkt = cdk_kbnode_find_packet (node, pkttype); if (!pkt) - { - gnutls_assert (); - return CDK_Inv_Packet; - } + return CDK_Inv_Packet; } - - switch (pkttype) + + switch (pkttype) { case CDK_PKT_PUBLIC_KEY: case CDK_PKT_PUBLIC_SUBKEY: _cdk_hash_pubkey (pkt->pkt.public_key, md, flags & 1); break; - + case CDK_PKT_USER_ID: - _cdk_hash_userid (pkt->pkt.user_id, is_v4, md); + _cdk_hash_userid (pkt->pkt.user_id, is_v4, md); break; - + case CDK_PKT_SIGNATURE: _cdk_hash_sig_data (pkt->pkt.signature, md); break; - + default: - gnutls_assert (); return CDK_Inv_Mode; } return 0; diff -Nru gnutls26-2.8.6/lib/opencdk/keydb.c gnutls26-2.4.1/lib/opencdk/keydb.c --- gnutls26-2.8.6/lib/opencdk/keydb.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/keydb.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* keydb.c - Key database routines - * Copyright (C) 2002, 2003, 2007, 2008, 2009 Free Software Foundation, Inc. + * Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc. * * Author: Timo Schulz * @@ -42,21 +42,20 @@ #define KEYDB_CACHE_ENTRIES 8 static void keydb_cache_free (key_table_t cache); +static int keydb_search_copy (cdk_keydb_search_t *r_dst, cdk_keydb_search_t src); static int classify_data (const byte * buf, size_t len); static cdk_kbnode_t find_selfsig_node (cdk_kbnode_t key, cdk_pkt_pubkey_t pk); - -static char * + +static char* keydb_idx_mkname (const char *file) { - static const char *fmt = "%s.idx"; - char *fname; - size_t len = strlen (file) + strlen (fmt); - - fname = cdk_calloc (1, len + 1); + char *fname, *fmt; + + fmt = "%s.idx"; + fname = cdk_calloc (1, strlen (file) + strlen (fmt) + 1); if (!fname) return NULL; - if (snprintf (fname, len, fmt, file) <= 0) - return NULL; + sprintf (fname, fmt, file); return fname; } @@ -77,52 +76,44 @@ { cdk_packet_t pkt; cdk_stream_t inp, out = NULL; - byte buf[4 + 8 + KEY_FPR_LEN]; + byte buf[4+8+KEY_FPR_LEN]; char *idx_name; u32 keyid[2]; cdk_error_t rc; - + if (!file) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + rc = cdk_stream_open (file, &inp); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + idx_name = keydb_idx_mkname (file); if (!idx_name) { cdk_stream_close (inp); - gnutls_assert (); return CDK_Out_Of_Core; - } + } rc = cdk_stream_create (idx_name, &out); cdk_free (idx_name); if (rc) { cdk_stream_close (inp); - gnutls_assert (); return rc; } cdk_pkt_new (&pkt); - while (!cdk_stream_eof (inp)) + while (!cdk_stream_eof (inp)) { off_t pos = cdk_stream_tell (inp); - + rc = cdk_pkt_read (inp, pkt); if (rc) { _cdk_log_debug ("index build failed packet off=%lu\n", pos); /* FIXME: The index is incomplete */ break; - } + } if (pkt->pkttype == CDK_PKT_PUBLIC_KEY || pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY) { @@ -130,17 +121,16 @@ cdk_pk_get_keyid (pkt->pkt.public_key, keyid); _cdk_u32tobuf (keyid[0], buf + 4); _cdk_u32tobuf (keyid[1], buf + 8); - cdk_pk_get_fingerprint (pkt->pkt.public_key, buf + 12); - cdk_stream_write (out, buf, 4 + 8 + KEY_FPR_LEN); - } + cdk_pk_get_fingerprint (pkt->pkt.public_key, buf+12); + cdk_stream_write (out, buf, 4+8+KEY_FPR_LEN); + } cdk_pkt_free (pkt); } - + cdk_pkt_release (pkt); - + cdk_stream_close (out); cdk_stream_close (inp); - gnutls_assert (); return rc; } @@ -158,123 +148,99 @@ char *tmp_idx_name; cdk_error_t rc; int err; - - if (!db || !db->name || !dbs) - { - gnutls_assert (); - return CDK_Inv_Value; - } + + if (!db || !db->name|| !dbs) + return CDK_Inv_Value; if (db->secret) return 0; - + tmp_idx_name = keydb_idx_mkname (db->name); if (!tmp_idx_name) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; err = stat (tmp_idx_name, &stbuf); cdk_free (tmp_idx_name); /* This function expects an existing index which can be rebuild, if no index exists we do not build one and just return. */ if (err) - return 0; - + return 0; + cdk_stream_close (dbs->idx); dbs->idx = NULL; - if (!dbs->idx_name) + if (!dbs->idx_name) { dbs->idx_name = keydb_idx_mkname (db->name); if (!dbs->idx_name) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; } rc = keydb_idx_build (db->name); if (!rc) rc = cdk_stream_open (dbs->idx_name, &dbs->idx); - else - gnutls_assert (); return rc; } static cdk_error_t -keydb_idx_parse (cdk_stream_t inp, key_idx_t * r_idx) +keydb_idx_parse (cdk_stream_t inp, key_idx_t *r_idx) { key_idx_t idx; byte buf[4]; - + if (!inp || !r_idx) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + idx = cdk_calloc (1, sizeof *idx); if (!idx) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } - - while (!cdk_stream_eof (inp)) + return CDK_Out_Of_Core; + + while (!cdk_stream_eof (inp)) { if (cdk_stream_read (inp, buf, 4) == CDK_EOF) break; idx->offset = _cdk_buftou32 (buf); cdk_stream_read (inp, buf, 4); idx->keyid[0] = _cdk_buftou32 (buf); - cdk_stream_read (inp, buf, 4); + cdk_stream_read (inp, buf, 4); idx->keyid[1] = _cdk_buftou32 (buf); cdk_stream_read (inp, idx->fpr, KEY_FPR_LEN); - break; + break; } *r_idx = idx; - return cdk_stream_eof (inp) ? CDK_EOF : 0; + return cdk_stream_eof (inp)? CDK_EOF : 0; } static cdk_error_t -keydb_idx_search (cdk_stream_t inp, u32 * keyid, const byte * fpr, - off_t * r_off) +keydb_idx_search (cdk_stream_t inp, u32 *keyid, const byte *fpr, off_t *r_off) { key_idx_t idx; if (!inp || !r_off) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if ((keyid && fpr) || (!keyid && !fpr)) - { - gnutls_assert (); - return CDK_Inv_Mode; - } + return CDK_Inv_Mode; /* We need an initialize the offset var with a value because it might be possible the returned offset will be 0 and then we cannot differ between the begin and an EOF. */ *r_off = 0xFFFFFFFF; cdk_stream_seek (inp, 0); - while (keydb_idx_parse (inp, &idx) != CDK_EOF) + while (keydb_idx_parse (inp, &idx) != CDK_EOF) { if (keyid && KEYID_CMP (keyid, idx->keyid)) { *r_off = idx->offset; - break; + break; } else if (fpr && !memcmp (idx->fpr, fpr, KEY_FPR_LEN)) { *r_off = idx->offset; - break; - } + break; + } cdk_free (idx); - idx = NULL; + idx = NULL; } cdk_free (idx); - return *r_off != 0xFFFFFFFF ? 0 : CDK_EOF; + return *r_off != 0xFFFFFFFF? 0 : CDK_EOF; } @@ -287,24 +253,20 @@ * Create a new keyring db handle from the contents of a buffer. */ cdk_error_t -cdk_keydb_new_from_mem (cdk_keydb_hd_t * r_db, int secret, +cdk_keydb_new_from_mem (cdk_keydb_hd_t *r_db, int secret, const void *data, size_t datlen) { cdk_keydb_hd_t db; cdk_error_t rc; - + if (!r_db) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; *r_db = NULL; db = calloc (1, sizeof *db); rc = cdk_stream_tmp_from_mem (data, datlen, &db->fp); if (!db->fp) - { + { cdk_free (db); - gnutls_assert (); return rc; } if (cdk_armor_filter_use (db->fp)) @@ -326,58 +288,52 @@ * stream. The stream is not closed in cdk_keydb_free() and it * is up to the caller to close it. No decoding is done. */ -cdk_error_t -cdk_keydb_new_from_stream (cdk_keydb_hd_t * r_hd, int secret, cdk_stream_t in) +cdk_error_t +cdk_keydb_new_from_stream (cdk_keydb_hd_t *r_hd, int secret, + cdk_stream_t in) { cdk_keydb_hd_t hd; - + if (!r_hd) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; *r_hd = NULL; - + hd = calloc (1, sizeof *hd); hd->fp = in; hd->fp_ref = 1; hd->type = CDK_DBTYPE_STREAM; hd->secret = secret; *r_hd = hd; - + /* We do not push any filters and thus we expect that the format of the stream has the format the user wanted. */ - + return 0; } - + cdk_error_t -cdk_keydb_new_from_file (cdk_keydb_hd_t * r_hd, int secret, const char *fname) +cdk_keydb_new_from_file (cdk_keydb_hd_t *r_hd, int secret, const char *fname) { cdk_keydb_hd_t hd; - + if (!r_hd) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; *r_hd = NULL; hd = calloc (1, sizeof *hd); hd->name = cdk_strdup (fname); if (!hd->name) { cdk_free (hd); - gnutls_assert (); return CDK_Out_Of_Core; } - hd->type = secret ? CDK_DBTYPE_SK_KEYRING : CDK_DBTYPE_PK_KEYRING; + hd->type = secret? CDK_DBTYPE_SK_KEYRING : CDK_DBTYPE_PK_KEYRING; hd->secret = secret; *r_hd = hd; return 0; } - + /** * cdk_keydb_new: @@ -389,26 +345,24 @@ * Create a new keydb object **/ cdk_error_t -cdk_keydb_new (cdk_keydb_hd_t * r_hd, int type, void *data, size_t count) +cdk_keydb_new (cdk_keydb_hd_t *r_hd, int type, void *data, size_t count) { - switch (type) + switch (type) { case CDK_DBTYPE_PK_KEYRING: case CDK_DBTYPE_SK_KEYRING: - return cdk_keydb_new_from_file (r_hd, type == CDK_DBTYPE_SK_KEYRING, - (const char *) data); - + return cdk_keydb_new_from_file (r_hd, type == CDK_DBTYPE_SK_KEYRING, + (const char*)data); + case CDK_DBTYPE_DATA: return cdk_keydb_new_from_mem (r_hd, 0, data, count); - + case CDK_DBTYPE_STREAM: - return cdk_keydb_new_from_stream (r_hd, 0, (cdk_stream_t) data); - + return cdk_keydb_new_from_stream (r_hd, 0, (cdk_stream_t)data); + default: - gnutls_assert (); return CDK_Inv_Mode; } - gnutls_assert (); return CDK_Inv_Mode; } @@ -430,37 +384,34 @@ cdk_free (hd->name); hd->name = NULL; } - + if (hd->fp && !hd->fp_ref) { cdk_stream_close (hd->fp); hd->fp = NULL; } - - + + hd->isopen = 0; hd->secret = 0; cdk_free (hd); } -static cdk_error_t -_cdk_keydb_open (cdk_keydb_hd_t hd, cdk_stream_t * ret_kr) +cdk_error_t +_cdk_keydb_open (cdk_keydb_hd_t hd, cdk_stream_t *ret_kr) { - cdk_error_t rc; + cdk_error_t rc, ec; cdk_stream_t kr; if (!hd || !ret_kr) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + rc = 0; - if ((hd->type == CDK_DBTYPE_DATA || hd->type == CDK_DBTYPE_STREAM) + if ((hd->type == CDK_DBTYPE_DATA || hd->type == CDK_DBTYPE_STREAM) && hd->fp) { - kr = hd->fp; + kr = hd->fp; cdk_stream_seek (kr, 0); } else if (hd->type == CDK_DBTYPE_PK_KEYRING || @@ -469,18 +420,15 @@ rc = cdk_stream_open (hd->name, &kr); if (rc) - goto leave; + goto leave; if (cdk_armor_filter_use (kr)) - cdk_stream_set_armor_flag (kr, 0); + cdk_stream_set_armor_flag (kr, 0); } else - { - gnutls_assert (); - return CDK_Inv_Mode; - } - -leave: + return CDK_Inv_Mode; + + leave: *ret_kr = kr; return rc; @@ -507,17 +455,17 @@ if (keyid[1] == ks->u.keyid[1]) return 1; break; - + case CDK_DBSEARCH_KEYID: - if (KEYID_CMP (keyid, ks->u.keyid)) + if (KEYID_CMP (keyid, ks->u.keyid)) return 1; break; - + default: _cdk_log_debug ("find_by_keyid: invalid mode = %d\n", ks->type); return 0; - } - } + } + } } return 0; } @@ -528,10 +476,10 @@ { cdk_kbnode_t node; byte fpr[KEY_FPR_LEN]; - + if (ks->type != CDK_DBSEARCH_FPR) return 0; - + for (node = knode; node; node = node->next) { if (node->pkt->pkttype == CDK_PKT_PUBLIC_KEY || @@ -545,7 +493,7 @@ break; } } - + return 0; } @@ -556,24 +504,24 @@ cdk_kbnode_t node; size_t uidlen; char *name; - + for (node = knode; node; node = node->next) { if (node->pkt->pkttype != CDK_PKT_USER_ID) continue; if (node->pkt->pkt.user_id->attrib_img != NULL) - continue; /* Skip attribute packets. */ + continue; /* Skip attribute packets. */ uidlen = node->pkt->pkt.user_id->len; name = node->pkt->pkt.user_id->name; switch (ks->type) { case CDK_DBSEARCH_EXACT: - if (name && + if (name && (strlen (ks->u.pattern) == uidlen && !strncmp (ks->u.pattern, name, uidlen))) return 1; break; - + case CDK_DBSEARCH_SUBSTR: if (uidlen > 65536) break; @@ -582,10 +530,10 @@ if (name && _cdk_memistr (name, uidlen, ks->u.pattern)) return 1; break; - - default: /* Invalid mode */ + + default: /* Invalid mode */ return 0; - } + } } return 0; } @@ -595,7 +543,7 @@ keydb_cache_free (key_table_t cache) { key_table_t c2; - + while (cache) { c2 = cache->next; @@ -607,11 +555,11 @@ static key_table_t -keydb_cache_find (cdk_keydb_search_t desc) +keydb_cache_find ( cdk_keydb_search_t desc) { key_table_t cache = desc->cache; key_table_t t; - + for (t = cache; t; t = t->next) { switch (desc->type) @@ -632,31 +580,28 @@ if (strstr (desc->u.pattern, desc->u.pattern)) return t; break; - + case CDK_DBSEARCH_FPR: if (!memcmp (desc->u.fpr, desc->u.fpr, KEY_FPR_LEN)) return t; break; - } + } } - + return NULL; } - + static cdk_error_t -keydb_cache_add (cdk_keydb_search_t dbs, off_t offset) +keydb_cache_add ( cdk_keydb_search_t dbs, off_t offset) { key_table_t k; if (dbs->ncache > KEYDB_CACHE_ENTRIES) - return 0; /* FIXME: we should replace the last entry. */ + return 0; /* FIXME: we should replace the last entry. */ k = cdk_calloc (1, sizeof *k); if (!k) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; k->offset = offset; @@ -667,44 +612,80 @@ return 0; } + static cdk_error_t -idx_init (cdk_keydb_hd_t db, cdk_keydb_search_t dbs) +keydb_search_copy (cdk_keydb_search_t *r_dst, cdk_keydb_search_t src) { - cdk_error_t ec, rc = 0; - - if (cdk_stream_get_length (db->fp) < 524288) + cdk_keydb_search_t dst; + + if (!r_dst || !src) + return CDK_Inv_Value; + + *r_dst = NULL; + dst = cdk_calloc (1, sizeof *dst); + if (!dst) + return CDK_Out_Of_Core; + + dst->off = src->off; + dst->type = src->type; + switch (src->type) { - dbs->no_cache = 1; - goto leave; + case CDK_DBSEARCH_EXACT: + case CDK_DBSEARCH_SUBSTR: + dst->u.pattern = cdk_strdup (src->u.pattern); + if (!dst->u.pattern) + return CDK_Out_Of_Core; + break; + + case CDK_DBSEARCH_SHORT_KEYID: + case CDK_DBSEARCH_KEYID: + dst->u.keyid[0] = src->u.keyid[0]; + dst->u.keyid[1] = src->u.keyid[1]; + break; + + case CDK_DBSEARCH_FPR: + memcpy (dst->u.fpr, src->u.fpr, KEY_FPR_LEN); + break; } + *r_dst = dst; + return 0; +} - dbs->idx_name = keydb_idx_mkname (db->name); - if (!dbs->idx_name) - { - rc = CDK_Out_Of_Core; - goto leave; - } - ec = cdk_stream_open (dbs->idx_name, &dbs->idx); +static cdk_error_t idx_init( cdk_keydb_hd_t db, cdk_keydb_search_t dbs) +{ +cdk_error_t ec, rc = 0; - if (ec && !db->secret) - { - rc = keydb_idx_build (db->name); - if (!rc) - rc = cdk_stream_open (dbs->idx_name, &dbs->idx); - if (!rc) - { - _cdk_log_debug ("create key index table\n"); - } - else - { - /* This is no real error, it just means we can't create - the index at the given directory. maybe we've no write - access. in this case, we simply disable the index. */ - _cdk_log_debug ("disable key index table err=%d\n", rc); - rc = 0; - dbs->no_cache = 1; - } - } + if (cdk_stream_get_length (db->fp) < 524288) + { + dbs->no_cache = 1; + goto leave; + } + + dbs->idx_name = keydb_idx_mkname (db->name); + if (!dbs->idx_name) + { + rc = CDK_Out_Of_Core; + goto leave; + } + ec = cdk_stream_open (dbs->idx_name, &dbs->idx); + + if (ec && !db->secret) + { + rc = keydb_idx_build (db->name); + if (!rc) + rc = cdk_stream_open (dbs->idx_name, &dbs->idx); + if (!rc) + _cdk_log_debug ("create key index table\n"); + else + { + /* This is no real error, it just means we can't create + the index at the given directory. maybe we've no write + access. in this case, we simply disable the index. */ + _cdk_log_debug ("disable key index table err=%d\n", rc); + rc = 0; + dbs->no_cache = 1; + } + } leave: @@ -721,42 +702,31 @@ * Create a new keydb search object. **/ cdk_error_t -cdk_keydb_search_start (cdk_keydb_search_t * st, cdk_keydb_hd_t db, int type, - void *desc) +cdk_keydb_search_start (cdk_keydb_search_t* st, cdk_keydb_hd_t db, int type, void *desc) { u32 *keyid; char *p, tmp[3]; int i; cdk_error_t rc; - + if (!db) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (type != CDK_DBSEARCH_NEXT && !desc) - { - gnutls_assert (); - return CDK_Inv_Mode; - } - - *st = cdk_calloc (1, sizeof (cdk_keydb_search_s)); + return CDK_Inv_Mode; + + *st = cdk_calloc (1, sizeof(cdk_keydb_search_s)); if (!(*st)) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; - rc = idx_init (db, *st); + rc = idx_init( db, *st); if (rc != CDK_Success) { - free (*st); - gnutls_assert (); + free(*st); return rc; } (*st)->type = type; - switch (type) + switch (type) { case CDK_DBSEARCH_EXACT: case CDK_DBSEARCH_SUBSTR: @@ -765,29 +735,28 @@ if (!(*st)->u.pattern) { cdk_free (*st); - gnutls_assert (); return CDK_Out_Of_Core; } break; - + case CDK_DBSEARCH_SHORT_KEYID: keyid = desc; (*st)->u.keyid[1] = keyid[0]; break; - + case CDK_DBSEARCH_KEYID: keyid = desc; (*st)->u.keyid[0] = keyid[0]; (*st)->u.keyid[1] = keyid[1]; break; - + case CDK_DBSEARCH_FPR: memcpy ((*st)->u.fpr, desc, KEY_FPR_LEN); break; - + case CDK_DBSEARCH_NEXT: break; - + case CDK_DBSEARCH_AUTO: /* Override the type with the actual db search type. */ (*st)->type = classify_data (desc, strlen (desc)); @@ -797,14 +766,13 @@ case CDK_DBSEARCH_EXACT: cdk_free ((*st)->u.pattern); p = (*st)->u.pattern = cdk_strdup (desc); - if (!p) + if (!p) { cdk_free (*st); - gnutls_assert (); return CDK_Out_Of_Core; } break; - + case CDK_DBSEARCH_SHORT_KEYID: case CDK_DBSEARCH_KEYID: p = desc; @@ -817,95 +785,83 @@ } else if (strlen (p) == 16) { - (*st)->u.keyid[0] = strtoul (p, NULL, 16); + (*st)->u.keyid[0] = strtoul (p , NULL, 16); (*st)->u.keyid[1] = strtoul (p + 8, NULL, 16); } - else - { /* Invalid key ID object. */ + else + { /* Invalid key ID object. */ cdk_free (*st); - gnutls_assert (); return CDK_Inv_Mode; - } + } break; - + case CDK_DBSEARCH_FPR: p = desc; - if (strlen (p) != 2 * KEY_FPR_LEN) + if (strlen (p) != 2*KEY_FPR_LEN) { cdk_free (*st); - gnutls_assert (); return CDK_Inv_Mode; } for (i = 0; i < KEY_FPR_LEN; i++) { - tmp[0] = p[2 * i]; - tmp[1] = p[2 * i + 1]; + tmp[0] = p[2*i]; + tmp[1] = p[2*i+1]; tmp[2] = 0x00; (*st)->u.fpr[i] = strtoul (tmp, NULL, 16); } break; } break; - + default: cdk_free (*st); _cdk_log_debug ("cdk_keydb_search_start: invalid mode = %d\n", type); - gnutls_assert (); return CDK_Inv_Mode; } - + return 0; } static cdk_error_t keydb_pos_from_cache (cdk_keydb_hd_t hd, cdk_keydb_search_t ks, - int *r_cache_hit, off_t * r_off) + int *r_cache_hit, off_t *r_off) { key_table_t c; if (!hd || !r_cache_hit || !r_off) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + /* Reset the values. */ *r_cache_hit = 0; *r_off = 0; - - c = keydb_cache_find (ks); + + c = keydb_cache_find ( ks); if (c != NULL) - { + { _cdk_log_debug ("cache: found entry in cache.\n"); *r_cache_hit = 1; *r_off = c->offset; return 0; } - + /* No index cache available so we just return here. */ if (!ks->idx) return 0; - + if (ks->idx) { if (ks->type == CDK_DBSEARCH_KEYID) { if (keydb_idx_search (ks->idx, ks->u.keyid, NULL, r_off)) - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; _cdk_log_debug ("cache: found keyid entry in idx table.\n"); *r_cache_hit = 1; - } + } else if (ks->type == CDK_DBSEARCH_FPR) { if (keydb_idx_search (ks->idx, NULL, ks->u.fpr, r_off)) - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; _cdk_log_debug ("cache: found fpr entry in idx table.\n"); *r_cache_hit = 1; } @@ -914,17 +870,17 @@ return 0; } -void -cdk_keydb_search_release (cdk_keydb_search_t st) +void cdk_keydb_search_release( cdk_keydb_search_t st) { - keydb_cache_free (st->cache); + keydb_cache_free ( st->cache); if (st->idx) cdk_stream_close (st->idx); if (!st) return; - if (st->type == CDK_DBSEARCH_EXACT || st->type == CDK_DBSEARCH_SUBSTR) + if (st->type == CDK_DBSEARCH_EXACT || + st->type == CDK_DBSEARCH_SUBSTR) cdk_free (st->u.pattern); cdk_free (st); @@ -940,31 +896,24 @@ * via @ks. If the key was found, @ret_key contains the key data. **/ cdk_error_t -cdk_keydb_search (cdk_keydb_search_t st, cdk_keydb_hd_t hd, - cdk_kbnode_t * ret_key) +cdk_keydb_search (cdk_keydb_search_t st, cdk_keydb_hd_t hd, cdk_kbnode_t *ret_key) { cdk_stream_t kr; cdk_kbnode_t knode; cdk_error_t rc = 0; off_t pos = 0, off = 0; - int key_found = 0, cache_hit = 0; - + int key_found = 0, cache_hit = 0; + if (!hd || !ret_key || !st) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + *ret_key = NULL; kr = NULL; rc = _cdk_keydb_open (hd, &kr); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + if (!st->no_cache) { /* It is possible the index is not up-to-date and thus we do @@ -974,60 +923,57 @@ if (rc) cache_hit = 0; } - + knode = NULL; while (!key_found && !rc) { if (cache_hit && st->type != CDK_DBSEARCH_NEXT) cdk_stream_seek (kr, off); - else if (st->type == CDK_DBSEARCH_NEXT) - cdk_stream_seek (kr, st->off); + else if ( st->type == CDK_DBSEARCH_NEXT) + cdk_stream_seek (kr, st->off); pos = cdk_stream_tell (kr); rc = cdk_keydb_get_keyblock (kr, &knode); - if (rc) + if (rc) { if (rc == CDK_EOF) break; else - { - gnutls_assert (); - return rc; - } + return rc; } - + switch (st->type) { case CDK_DBSEARCH_SHORT_KEYID: case CDK_DBSEARCH_KEYID: key_found = find_by_keyid (knode, st); break; - + case CDK_DBSEARCH_FPR: key_found = find_by_fpr (knode, st); break; - + case CDK_DBSEARCH_EXACT: case CDK_DBSEARCH_SUBSTR: key_found = find_by_pattern (knode, st); break; - + case CDK_DBSEARCH_NEXT: st->off = cdk_stream_tell (kr); - key_found = knode ? 1 : 0; + key_found = knode? 1 : 0; break; } - + if (key_found) { - if (!keydb_cache_find (st)) - keydb_cache_add (st, pos); + if (!keydb_cache_find ( st)) + keydb_cache_add ( st, pos); break; - } - + } + cdk_kbnode_release (knode); knode = NULL; } @@ -1035,53 +981,43 @@ if (key_found && rc == CDK_EOF) rc = 0; else if (rc == CDK_EOF && !key_found) - { - gnutls_assert (); - rc = CDK_Error_No_Key; - } - *ret_key = key_found ? knode : NULL; + rc = CDK_Error_No_Key; + *ret_key = key_found? knode : NULL; return rc; } cdk_error_t -cdk_keydb_get_bykeyid (cdk_keydb_hd_t hd, u32 * keyid, cdk_kbnode_t * ret_key) +cdk_keydb_get_bykeyid (cdk_keydb_hd_t hd, u32 *keyid, cdk_kbnode_t *ret_key) { cdk_error_t rc; cdk_keydb_search_t st; - + if (!hd || !keyid || !ret_key) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_KEYID, keyid); if (!rc) rc = cdk_keydb_search (st, hd, ret_key); - - cdk_keydb_search_release (st); + + cdk_keydb_search_release( st); return rc; } cdk_error_t -cdk_keydb_get_byfpr (cdk_keydb_hd_t hd, const byte * fpr, - cdk_kbnode_t * r_key) +cdk_keydb_get_byfpr (cdk_keydb_hd_t hd, const byte *fpr, cdk_kbnode_t *r_key) { cdk_error_t rc; cdk_keydb_search_t st; if (!hd || !fpr || !r_key) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_FPR, (byte *) fpr); + return CDK_Inv_Value; + + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_FPR, (byte *)fpr); if (!rc) rc = cdk_keydb_search (st, hd, r_key); - - cdk_keydb_search_release (st); + + cdk_keydb_search_release( st); return rc; } @@ -1094,19 +1030,13 @@ cdk_keydb_search_t st; if (!hd || !patt || !ret_key) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_SUBSTR, (char *) patt); + return CDK_Inv_Value; + + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_SUBSTR, (char *)patt); if (!rc) rc = cdk_keydb_search (st, hd, ret_key); - - if (rc) - gnutls_assert (); - - cdk_keydb_search_release (st); + + cdk_keydb_search_release( st); return rc; } @@ -1116,20 +1046,20 @@ { cdk_pkt_pubkey_t pk; int is_sk, valid; - + if (pkt->pkttype == CDK_PKT_PUBLIC_KEY || pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY) - { + { pk = pkt->pkt.public_key; is_sk = 0; - } + } else if (pkt->pkttype == CDK_PKT_SECRET_KEY || pkt->pkttype == CDK_PKT_SECRET_SUBKEY) { pk = pkt->pkt.secret_key->pk; is_sk = 1; } - else /* No key object. */ + else /* No key object. */ return 0; valid = !pk->is_revoked && !pk->has_expired; if (is_sk) @@ -1141,18 +1071,18 @@ /* Find the first kbnode with the requested packet type that represents a valid key. */ static cdk_kbnode_t -kbnode_find_valid (cdk_kbnode_t root, cdk_packet_type_t pkttype) +kbnode_find_valid (cdk_kbnode_t root, int pkttype) { cdk_kbnode_t n; - - for (n = root; n; n = n->next) + + for (n = root; n ; n = n->next) { if (n->pkt->pkttype != pkttype) continue; if (keydb_check_key (n->pkt)) return n; } - + return NULL; } @@ -1163,15 +1093,15 @@ cdk_kbnode_t node, key; int req_type; long timestamp; - - req_type = is_pk ? CDK_PKT_PUBLIC_KEY : CDK_PKT_SECRET_KEY; + + req_type = is_pk? CDK_PKT_PUBLIC_KEY : CDK_PKT_SECRET_KEY; if (!req_usage) return kbnode_find_valid (root, req_type); - + node = cdk_kbnode_find (root, req_type); if (node && !keydb_check_key (node->pkt)) return NULL; - + key = NULL; timestamp = 0; /* We iteratre over the all nodes and search for keys or @@ -1195,23 +1125,24 @@ if (node->pkt->pkt.secret_key->pk->timestamp > timestamp) key = node; } - + } return key; } static cdk_kbnode_t -keydb_find_bykeyid (cdk_kbnode_t root, const u32 * keyid, int search_mode) +keydb_find_bykeyid (cdk_kbnode_t root, const u32 *keyid, int search_mode) { cdk_kbnode_t node; u32 kid[2]; - + for (node = root; node; node = node->next) { if (!_cdk_pkt_get_keyid (node->pkt, kid)) continue; - if (search_mode == CDK_DBSEARCH_SHORT_KEYID && kid[1] == keyid[1]) + if (search_mode == CDK_DBSEARCH_SHORT_KEYID && + kid[1] == keyid[1]) return node; else if (kid[0] == keyid[0] && kid[1] == keyid[1]) return node; @@ -1222,7 +1153,7 @@ cdk_error_t _cdk_keydb_get_sk_byusage (cdk_keydb_hd_t hd, const char *name, - cdk_seckey_t * ret_sk, int usage) + cdk_seckey_t* ret_sk, int usage) { cdk_kbnode_t knode = NULL; cdk_kbnode_t node, sk_node, pk_node; @@ -1233,57 +1164,43 @@ cdk_keydb_search_t st; if (!ret_sk || !usage) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; if (!hd) - { - gnutls_assert (); - return CDK_Error_No_Keyring; - } - + return CDK_Error_No_Keyring; + *ret_sk = NULL; - rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_AUTO, (char *) name); + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_AUTO, (char *)name); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + rc = cdk_keydb_search (st, hd, &knode); if (rc) - { - gnutls_assert (); - return rc; - } - - cdk_keydb_search_release (st); + return rc; + cdk_keydb_search_release( st); + sk_node = keydb_find_byusage (knode, usage, 0); if (!sk_node) { cdk_kbnode_release (knode); - gnutls_assert (); return CDK_Unusable_Key; - } - + } + /* We clone the node with the secret key to avoid that the packet will be released. */ _cdk_kbnode_clone (sk_node); - sk = sk_node->pkt->pkt.secret_key; + sk = sk_node->pkt->pkt.secret_key; for (node = knode; node; node = node->next) { - if (node->pkt->pkttype == CDK_PKT_USER_ID) + if (node->pkt->pkttype == CDK_PKT_USER_ID) { s = node->pkt->pkt.user_id->name; if (sk && !sk->pk->uid && _cdk_memistr (s, strlen (s), name)) { _cdk_copy_userid (&sk->pk->uid, node->pkt->pkt.user_id); break; - } + } } } @@ -1293,15 +1210,14 @@ if (!pk_node) { cdk_kbnode_release (knode); - gnutls_assert (); return CDK_Unusable_Key; - } + } node = find_selfsig_node (knode, pk_node->pkt->pkt.secret_key->pk); if (sk->pk->uid && node) _cdk_copy_signature (&sk->pk->uid->selfsig, node->pkt->pkt.signature); /* We only release the outer packet. */ - _cdk_pkt_detach_free (sk_node->pkt, &pkttype, (void *) &sk); + _cdk_pkt_detach_free (sk_node->pkt, &pkttype, (void*)&sk); cdk_kbnode_release (knode); *ret_sk = sk; return rc; @@ -1310,7 +1226,7 @@ cdk_error_t _cdk_keydb_get_pk_byusage (cdk_keydb_hd_t hd, const char *name, - cdk_pubkey_t * ret_pk, int usage) + cdk_pubkey_t *ret_pk, int usage) { cdk_kbnode_t knode, node, pk_node; cdk_pkt_pubkey_t pk; @@ -1319,39 +1235,29 @@ cdk_keydb_search_t st; if (!ret_pk || !usage) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!hd) - { - gnutls_assert (); - return CDK_Error_No_Keyring; - } - + return CDK_Error_No_Keyring; + *ret_pk = NULL; - rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_AUTO, (char *) name); + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_AUTO, (char *)name); if (!rc) rc = cdk_keydb_search (st, hd, &knode); if (rc) - { - gnutls_assert (); - return rc; - } - - cdk_keydb_search_release (st); - + return rc; + + cdk_keydb_search_release( st); + node = keydb_find_byusage (knode, usage, 1); - if (!node) + if (!node) { cdk_kbnode_release (knode); - gnutls_assert (); return CDK_Unusable_Key; - } - + } + pk = NULL; _cdk_copy_pubkey (&pk, node->pkt->pkt.public_key); - for (node = knode; node; node = node->next) + for (node = knode; node; node = node->next) { if (node->pkt->pkttype == CDK_PKT_USER_ID) { @@ -1363,14 +1269,13 @@ } } } - + /* Same as in the sk code, the selected key can be a sub key and thus we need the primary key to find the self sig. */ pk_node = cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY); if (!pk_node) { cdk_kbnode_release (knode); - gnutls_assert (); return CDK_Unusable_Key; } node = find_selfsig_node (knode, pk_node->pkt->pkt.public_key); @@ -1393,7 +1298,7 @@ * key without any signatures or user id's. **/ cdk_error_t -cdk_keydb_get_pk (cdk_keydb_hd_t hd, u32 * keyid, cdk_pubkey_t * r_pk) +cdk_keydb_get_pk (cdk_keydb_hd_t hd, u32 *keyid, cdk_pubkey_t *r_pk) { cdk_kbnode_t knode = NULL, node; cdk_pubkey_t pk; @@ -1403,43 +1308,30 @@ cdk_keydb_search_t st; if (!keyid || !r_pk) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!hd) - { - gnutls_assert (); - return CDK_Error_No_Keyring; - } - + return CDK_Error_No_Keyring; + *r_pk = NULL; - s_type = !keyid[0] ? CDK_DBSEARCH_SHORT_KEYID : CDK_DBSEARCH_KEYID; + s_type = !keyid[0]? CDK_DBSEARCH_SHORT_KEYID : CDK_DBSEARCH_KEYID; rc = cdk_keydb_search_start (&st, hd, s_type, keyid); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; rc = cdk_keydb_search (st, hd, &knode); if (rc) - { - gnutls_assert (); - return rc; - } - - cdk_keydb_search_release (st); - + return rc; + + cdk_keydb_search_release( st); + node = keydb_find_bykeyid (knode, keyid, s_type); - if (!node) + if (!node) { cdk_kbnode_release (knode); - gnutls_assert (); return CDK_Error_No_Key; } - + /* See comment in cdk_keydb_get_sk() */ - _cdk_pkt_detach_free (node->pkt, &pkttype, (void *) &pk); + _cdk_pkt_detach_free (node->pkt, &pkttype, (void*)&pk); *r_pk = pk; _cdk_kbnode_clone (node); cdk_kbnode_release (knode); @@ -1459,7 +1351,7 @@ * like the user id or the signatures. **/ cdk_error_t -cdk_keydb_get_sk (cdk_keydb_hd_t hd, u32 * keyid, cdk_seckey_t * ret_sk) +cdk_keydb_get_sk (cdk_keydb_hd_t hd, u32 *keyid, cdk_seckey_t *ret_sk) { cdk_kbnode_t snode, node; cdk_seckey_t sk; @@ -1467,55 +1359,45 @@ int pkttype; if (!keyid || !ret_sk) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!hd) - { - gnutls_assert (); - return CDK_Error_No_Keyring; - } + return CDK_Error_No_Keyring; *ret_sk = NULL; rc = cdk_keydb_get_bykeyid (hd, keyid, &snode); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; node = keydb_find_bykeyid (snode, keyid, CDK_DBSEARCH_KEYID); if (!node) { cdk_kbnode_release (snode); - gnutls_assert (); return CDK_Error_No_Key; } /* We need to release the packet itself but not its contents and thus we detach the openpgp packet and release the structure. */ - _cdk_pkt_detach_free (node->pkt, &pkttype, (void *) &sk); + _cdk_pkt_detach_free (node->pkt, &pkttype, (void*)&sk); _cdk_kbnode_clone (node); cdk_kbnode_release (snode); - + *ret_sk = sk; return 0; } static int -is_selfsig (cdk_kbnode_t node, const u32 * keyid) +is_selfsig (cdk_kbnode_t node, const u32 *keyid) { cdk_pkt_signature_t sig; - + if (node->pkt->pkttype != CDK_PKT_SIGNATURE) return 0; sig = node->pkt->pkt.signature; if ((sig->sig_class >= 0x10 && sig->sig_class <= 0x13) && sig->keyid[0] == keyid[0] && sig->keyid[1] == keyid[1]) return 1; - + return 0; } @@ -1528,47 +1410,48 @@ cdk_kbnode_t n, sig; unsigned int ts; u32 keyid[2]; - + cdk_pk_get_keyid (pk, keyid); sig = NULL; ts = 0; for (n = key; n; n = n->next) { - if (is_selfsig (n, keyid) && n->pkt->pkt.signature->timestamp > ts) + if (is_selfsig (n, keyid) && + n->pkt->pkt.signature->timestamp > ts) { ts = n->pkt->pkt.signature->timestamp; sig = n; } } - + return sig; } -static unsigned int -key_usage_to_cdk_usage (unsigned int usage) +static +unsigned int key_usage_to_cdk_usage( unsigned int usage) { - unsigned key_usage = 0; +unsigned key_usage = 0; - if (usage & 0x01) /* cert + sign data */ - key_usage |= CDK_KEY_USG_CERT_SIGN; - if (usage & 0x02) /* cert + sign data */ - key_usage |= CDK_KEY_USG_DATA_SIGN; - if (usage & 0x04) /* encrypt comm. + storage */ - key_usage |= CDK_KEY_USG_COMM_ENCR; - if (usage & 0x08) /* encrypt comm. + storage */ - key_usage |= CDK_KEY_USG_STORAGE_ENCR; - if (usage & 0x10) /* encrypt comm. + storage */ - key_usage |= CDK_KEY_USG_SPLIT_KEY; - if (usage & 0x20) - key_usage |= CDK_KEY_USG_AUTH; - if (usage & 0x80) /* encrypt comm. + storage */ - key_usage |= CDK_KEY_USG_SHARED_KEY; + if (usage & 0x01) /* cert + sign data */ + key_usage |= CDK_KEY_USG_CERT_SIGN; + if (usage & 0x02) /* cert + sign data */ + key_usage |= CDK_KEY_USG_DATA_SIGN; + if (usage & 0x04) /* encrypt comm. + storage */ + key_usage |= CDK_KEY_USG_COMM_ENCR; + if (usage & 0x08) /* encrypt comm. + storage */ + key_usage |= CDK_KEY_USG_STORAGE_ENCR; + if (usage & 0x10) /* encrypt comm. + storage */ + key_usage |= CDK_KEY_USG_SPLIT_KEY; + if (usage & 0x20) + key_usage |= CDK_KEY_USG_AUTH; + if (usage & 0x80) /* encrypt comm. + storage */ + key_usage |= CDK_KEY_USG_SHARED_KEY; - return key_usage; + return key_usage; } static cdk_error_t -keydb_merge_selfsig (cdk_kbnode_t key, u32 * keyid) +keydb_merge_selfsig (cdk_kbnode_t key, u32 *keyid) { cdk_kbnode_t node, kbnode, unode; cdk_subpkt_t s = NULL; @@ -1579,10 +1462,7 @@ size_t key_expire = 0; if (!key) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; for (node = key; node; node = node->next) { @@ -1590,10 +1470,7 @@ continue; unode = cdk_kbnode_find_prev (key, node, CDK_PKT_USER_ID); if (!unode) - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; uid = unode->pkt->pkt.user_id; sig = node->pkt->pkt.signature; s = cdk_subpkt_find (sig->hashed, CDK_SIGSUBPKT_PRIMARY_UID); @@ -1606,61 +1483,58 @@ if (s && s->size == 4) key_expire = _cdk_buftou32 (s->d); s = cdk_subpkt_find (sig->hashed, CDK_SIGSUBPKT_PREFS_SYM); - if (s) + if (s) { symalg = s->d; nsymalg = s->size; n += s->size + 1; - } + } s = cdk_subpkt_find (sig->hashed, CDK_SIGSUBPKT_PREFS_HASH); - if (s) + if (s) { hashalg = s->d; nhashalg = s->size; n += s->size + 1; - } + } s = cdk_subpkt_find (sig->hashed, CDK_SIGSUBPKT_PREFS_ZIP); if (s) { compalg = s->d; ncompalg = s->size; n += s->size + 1; - } + } if (uid->prefs != NULL) cdk_free (uid->prefs); if (!n || !hashalg || !compalg || !symalg) uid->prefs = NULL; - else + else { uid->prefs = cdk_calloc (1, sizeof (*uid->prefs) * (n + 1)); if (!uid->prefs) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; n = 0; for (; nsymalg; nsymalg--, n++) { uid->prefs[n].type = CDK_PREFTYPE_SYM; uid->prefs[n].value = *symalg++; - } + } for (; nhashalg; nhashalg--, n++) { uid->prefs[n].type = CDK_PREFTYPE_HASH; uid->prefs[n].value = *hashalg++; - } + } for (; ncompalg; ncompalg--, n++) { uid->prefs[n].type = CDK_PREFTYPE_ZIP; uid->prefs[n].value = *compalg++; - } + } - uid->prefs[n].type = CDK_PREFTYPE_NONE; /* end of list marker */ + uid->prefs[n].type = CDK_PREFTYPE_NONE; /* end of list marker */ uid->prefs[n].value = 0; uid->prefs_size = n; } } - + /* Now we add the extracted information to the primary key. */ kbnode = cdk_kbnode_find (key, CDK_PKT_PUBLIC_KEY); if (kbnode) @@ -1676,12 +1550,12 @@ if (key_expire) { pk->expiredate = pk->timestamp + key_expire; - pk->has_expired = pk->expiredate > (u32) time (NULL) ? 0 : 1; + pk->has_expired = pk->expiredate> (u32)time (NULL)?0 :1; } - + pk->is_invalid = 0; } - + return 0; } @@ -1692,20 +1566,14 @@ cdk_kbnode_t node, kb; cdk_pkt_signature_t sig; cdk_pkt_pubkey_t pk; - cdk_subpkt_t s = NULL; - u32 expiredate = 0, curtime = (u32) time (NULL); + cdk_subpkt_t s=NULL; + u32 expiredate = 0, curtime = (u32)time (NULL); u32 keyid[2]; if (!knode) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (check && !hd) - { - gnutls_assert (); - return CDK_Inv_Mode; - } + return CDK_Inv_Mode; kb = cdk_kbnode_find (knode, CDK_PKT_SECRET_KEY); if (kb) @@ -1720,16 +1588,13 @@ node->pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY) node->pkt->pkt.public_key->is_revoked = 0; } - + kb = cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY); if (!kb) - { - gnutls_assert (); - return CDK_Wrong_Format; - } + return CDK_Wrong_Format; cdk_pk_get_keyid (kb->pkt->pkt.public_key, keyid); - - for (node = knode; node; node = node->next) + + for (node = knode; node; node = node->next) { if (node->pkt->pkttype == CDK_PKT_SIGNATURE) { @@ -1745,95 +1610,80 @@ _cdk_pk_check_sig (hd, kb, node, NULL, NULL); } else - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; } /* Revocation certificates for subkeys */ else if (sig->sig_class == 0x28) { kb = cdk_kbnode_find_prev (knode, node, CDK_PKT_PUBLIC_SUBKEY); - if (kb) + if (kb) { kb->pkt->pkt.public_key->is_revoked = 1; if (check) _cdk_pk_check_sig (hd, kb, node, NULL, NULL); } else - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; } /* Revocation certifcates for user ID's */ else if (sig->sig_class == 0x30) { - if (sig->keyid[0] != keyid[0] || sig->keyid[1] != keyid[1]) - continue; /* revokes an earlier signature, no userID. */ + if( sig->keyid[0] != keyid[0] || sig->keyid[1] != keyid[1] ) + continue; /* revokes an earlier signature, no userID. */ kb = cdk_kbnode_find_prev (knode, node, CDK_PKT_USER_ID); - if (kb) + if (kb) { kb->pkt->pkt.user_id->is_revoked = 1; if (check) _cdk_pk_check_sig (hd, kb, node, NULL, NULL); } else - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; } /* Direct certificates for primary keys */ else if (sig->sig_class == 0x1F) { kb = cdk_kbnode_find_prev (knode, node, CDK_PKT_PUBLIC_KEY); - if (kb) + if (kb) { pk = kb->pkt->pkt.public_key; pk->is_invalid = 0; s = cdk_subpkt_find (node->pkt->pkt.signature->hashed, CDK_SIGSUBPKT_KEY_EXPIRE); - if (s) + if (s) { - expiredate = _cdk_buftou32 (s->d); + expiredate = _cdk_buftou32( s->d ); pk->expiredate = pk->timestamp + expiredate; - pk->has_expired = pk->expiredate > curtime ? 0 : 1; + pk->has_expired = pk->expiredate > curtime? 0 : 1; } if (check) _cdk_pk_check_sig (hd, kb, node, NULL, NULL); } else - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; } /* Direct certificates for subkeys */ - else if (sig->sig_class == 0x18) + else if( sig->sig_class == 0x18 ) { kb = cdk_kbnode_find_prev (knode, node, CDK_PKT_PUBLIC_SUBKEY); - if (kb) + if (kb) { pk = kb->pkt->pkt.public_key; pk->is_invalid = 0; s = cdk_subpkt_find (node->pkt->pkt.signature->hashed, CDK_SIGSUBPKT_KEY_EXPIRE); - if (s) + if (s) { expiredate = _cdk_buftou32 (s->d); pk->expiredate = pk->timestamp + expiredate; - pk->has_expired = pk->expiredate > curtime ? 0 : 1; + pk->has_expired = pk->expiredate > curtime? 0 : 1; } if (check) _cdk_pk_check_sig (hd, kb, node, NULL, NULL); } - else - { - gnutls_assert (); - return CDK_Error_No_Key; - } - } + else + return CDK_Error_No_Key; + } } } node = cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY); @@ -1852,7 +1702,7 @@ } } if (node && (node->pkt->pkt.public_key->is_revoked || - node->pkt->pkt.public_key->has_expired)) + node->pkt->pkt.public_key->has_expired) ) { /* If the primary key has been revoked, mark all subkeys as invalid because without a primary key they are not useable */ @@ -1862,24 +1712,22 @@ node->pkt->pkt.public_key->is_invalid = 1; } } - + return 0; } -static void -add_key_usage (cdk_kbnode_t knode, u32 keyid[2], unsigned int usage) +void add_key_usage( cdk_kbnode_t knode, u32 keyid[2], unsigned int usage) { - cdk_kbnode_t p, ctx; - cdk_packet_t pkt; + cdk_kbnode_t p, ctx; + cdk_packet_t pkt; ctx = NULL; while ((p = cdk_kbnode_walk (knode, &ctx, 0))) { pkt = cdk_kbnode_get_packet (p); - if ((pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY - || pkt->pkttype == CDK_PKT_PUBLIC_KEY) - && pkt->pkt.public_key->keyid[0] == keyid[0] - && pkt->pkt.public_key->keyid[1] == keyid[1]) + if ((pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY || pkt->pkttype == CDK_PKT_PUBLIC_KEY) && \ + pkt->pkt.public_key->keyid[0] == keyid[0] && \ + pkt->pkt.public_key->keyid[1] == keyid[1]) { pkt->pkt.public_key->pubkey_usage = usage; return; @@ -1889,7 +1737,7 @@ } cdk_error_t -cdk_keydb_get_keyblock (cdk_stream_t inp, cdk_kbnode_t * r_knode) +cdk_keydb_get_keyblock (cdk_stream_t inp, cdk_kbnode_t *r_knode) { cdk_packet_t pkt; cdk_kbnode_t knode, node; @@ -1897,21 +1745,18 @@ cdk_error_t rc; u32 keyid[2], main_keyid[2]; off_t old_off; - int key_seen, got_key; + int key_seen, got_key; if (!inp || !r_knode) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; /* Reset all values. */ keyid[0] = keyid[1] = 0; main_keyid[0] = main_keyid[1] = 0; - revkeys = NULL; + revkeys = NULL; knode = NULL; key_seen = got_key = 0; - + *r_knode = NULL; rc = CDK_EOF; while (!cdk_stream_eof (inp)) @@ -1925,18 +1770,17 @@ if (rc == CDK_EOF) break; else - { /* Release all packets we reached so far. */ + { /* Release all packets we reached so far. */ _cdk_log_debug ("keydb_get_keyblock: error %d\n", rc); cdk_kbnode_release (knode); - gnutls_assert (); return rc; } } - if (pkt->pkttype == CDK_PKT_PUBLIC_KEY || + if (pkt->pkttype == CDK_PKT_PUBLIC_KEY || pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY || - pkt->pkttype == CDK_PKT_SECRET_KEY || - pkt->pkttype == CDK_PKT_SECRET_SUBKEY) + pkt->pkttype == CDK_PKT_SECRET_KEY || + pkt->pkttype == CDK_PKT_SECRET_SUBKEY) { if (key_seen && (pkt->pkttype == CDK_PKT_PUBLIC_KEY || pkt->pkttype == CDK_PKT_SECRET_KEY)) @@ -1955,18 +1799,18 @@ } else if (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY || pkt->pkttype == CDK_PKT_SECRET_SUBKEY) - { - if (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY) - { - pkt->pkt.public_key->main_keyid[0] = main_keyid[0]; - pkt->pkt.public_key->main_keyid[1] = main_keyid[1]; - } - else - { - pkt->pkt.secret_key->main_keyid[0] = main_keyid[0]; - pkt->pkt.secret_key->main_keyid[1] = main_keyid[1]; - } - } + { + if (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY) + { + pkt->pkt.public_key->main_keyid[0] = main_keyid[0]; + pkt->pkt.public_key->main_keyid[1] = main_keyid[1]; + } + else + { + pkt->pkt.secret_key->main_keyid[0] = main_keyid[0]; + pkt->pkt.secret_key->main_keyid[1] = main_keyid[1]; + } + } /* We save this for the signature */ _cdk_pkt_get_keyid (pkt, keyid); got_key = 1; @@ -1983,13 +1827,11 @@ pkt->pkt.signature->revkeys) revkeys = pkt->pkt.signature->revkeys; - s = - cdk_subpkt_find (pkt->pkt.signature->hashed, - CDK_SIGSUBPKT_KEY_FLAGS); + s = cdk_subpkt_find (pkt->pkt.signature->hashed, CDK_SIGSUBPKT_KEY_FLAGS); if (s) { - unsigned int key_usage = key_usage_to_cdk_usage (s->d[0]); - add_key_usage (knode, pkt->pkt.signature->key, key_usage); + unsigned int key_usage = key_usage_to_cdk_usage( s->d[0]); + add_key_usage( knode, pkt->pkt.signature->key, key_usage); } } node = cdk_kbnode_new (pkt); @@ -2003,17 +1845,17 @@ { keydb_merge_selfsig (knode, main_keyid); rc = keydb_parse_allsigs (knode, NULL, 0); - if (revkeys) + if (revkeys) { node = cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY); if (node) node->pkt->pkt.public_key->revkeys = revkeys; - } + } } else cdk_kbnode_release (knode); - *r_knode = got_key ? knode : NULL; - + *r_knode = got_key? knode : NULL; + /* It is possible that we are in an EOF condition after we successfully read a keyblock. For example if the requested key is the last in the file. */ @@ -2026,44 +1868,36 @@ /* Return the type of the given data. In case it cannot be classified, a substring search will be performed. */ static int -classify_data (const byte * buf, size_t len) +classify_data (const byte *buf, size_t len) { int type; - unsigned int i; - + int i; + if (buf[0] == '0' && (buf[1] == 'x' || buf[1] == 'X')) - { /* Skip hex prefix. */ + { /* Skip hex prefix. */ buf += 2; len -= 2; } - + /* The length of the data does not match either a keyid or a fingerprint. */ if (len != 8 && len != 16 && len != 40) return CDK_DBSEARCH_SUBSTR; - - for (i = 0; i < len; i++) + + for (i = 0; i < len; i++) { if (!isxdigit (buf[i])) return CDK_DBSEARCH_SUBSTR; } if (i != len) return CDK_DBSEARCH_SUBSTR; - switch (len) + switch (len) { - case 8: - type = CDK_DBSEARCH_SHORT_KEYID; - break; - case 16: - type = CDK_DBSEARCH_KEYID; - break; - case 40: - type = CDK_DBSEARCH_FPR; - break; - default: - type = CDK_DBSEARCH_SUBSTR; - break; + case 8: type = CDK_DBSEARCH_SHORT_KEYID; break; + case 16: type = CDK_DBSEARCH_KEYID; break; + case 40: type = CDK_DBSEARCH_FPR; break; + default: type = CDK_DBSEARCH_SUBSTR; break; } - + return type; } @@ -2091,34 +1925,25 @@ { rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_AUTO, r->d); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; rc = cdk_keydb_search (st, hd, &knode); - cdk_keydb_search_release (st); - + cdk_keydb_search_release( st); + if (rc) - { - gnutls_assert (); - return rc; - } + return rc; node = cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY); if (!node) - { - gnutls_assert (); - return CDK_Error_No_Key; - } - + return CDK_Error_No_Key; + /* If the key is a version 3 key, use the old packet format for the output. */ if (node->pkt->pkt.public_key->version == 3) old_ctb = 1; else old_ctb = 0; - - for (node = knode; node; node = node->next) + + for (node = knode; node; node = node->next) { /* No specified format; skip them */ if (node->pkt->pkttype == CDK_PKT_RING_TRUST) @@ -2129,7 +1954,7 @@ continue; /* Filter out invalid signatures */ if (node->pkt->pkttype == CDK_PKT_SIGNATURE && - (!KEY_CAN_SIGN (node->pkt->pkt.signature->pubkey_algo))) + !KEY_CAN_SIGN (node->pkt->pkt.signature->pubkey_algo)) continue; /* Adjust the ctb flag if needed. */ @@ -2138,9 +1963,8 @@ if (rc) { cdk_kbnode_release (knode); - gnutls_assert (); return rc; - } + } } cdk_kbnode_release (knode); knode = NULL; @@ -2153,13 +1977,13 @@ find_key_packet (cdk_kbnode_t knode, int *r_is_sk) { cdk_packet_t pkt; - + pkt = cdk_kbnode_find_packet (knode, CDK_PKT_PUBLIC_KEY); - if (!pkt) + if (!pkt) { pkt = cdk_kbnode_find_packet (knode, CDK_PKT_SECRET_KEY); if (r_is_sk) - *r_is_sk = pkt ? 1 : 0; + *r_is_sk = pkt? 1 : 0; } return pkt; } @@ -2179,11 +2003,11 @@ case CDK_PKT_USER_ID: case CDK_PKT_ATTRIBUTE: return 1; - + default: return 0; } - + return 0; } @@ -2193,32 +2017,26 @@ { cdk_kbnode_t node, chk; cdk_packet_t pkt; - cdk_stream_t out; + cdk_stream_t out; cdk_error_t rc; u32 keyid[2]; - + if (!hd || !knode) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + pkt = find_key_packet (knode, NULL); if (!pkt) - { - gnutls_assert (); - return CDK_Inv_Packet; - } - + return CDK_Inv_Packet; + _cdk_pkt_get_keyid (pkt, keyid); chk = NULL; cdk_keydb_get_bykeyid (hd, keyid, &chk); if (chk) - { /* FIXME: search for new signatures */ + { /* FIXME: search for new signatures */ cdk_kbnode_release (chk); return 0; } - + /* We append data to the stream so we need to close the stream here to re-open it later. */ if (hd->fp) @@ -2226,104 +2044,90 @@ cdk_stream_close (hd->fp); hd->fp = NULL; } - + rc = _cdk_stream_append (hd->name, &out); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + for (node = knode; node; node = node->next) { if (node->pkt->pkttype == CDK_PKT_RING_TRUST) - continue; /* No uniformed syntax for this packet */ + continue; /* No uniformed syntax for this packet */ if (node->pkt->pkttype == CDK_PKT_SIGNATURE && !node->pkt->pkt.signature->flags.exportable) { _cdk_log_debug ("key db import: skip local signature\n"); continue; } - + if (!is_key_node (node)) { _cdk_log_debug ("key db import: skip invalid node of type %d\n", node->pkt->pkttype); continue; } - + rc = cdk_pkt_write (out, node->pkt); if (rc) { cdk_stream_close (out); - gnutls_assert (); return rc; } } - + cdk_stream_close (out); hd->stats.new_keys++; - + return 0; } cdk_error_t -_cdk_keydb_check_userid (cdk_keydb_hd_t hd, u32 * keyid, const char *id) +_cdk_keydb_check_userid (cdk_keydb_hd_t hd, u32 *keyid, const char *id) { - cdk_kbnode_t knode = NULL, unode = NULL; + cdk_kbnode_t knode = NULL, unode = NULL; cdk_error_t rc; int check; cdk_keydb_search_t st; if (!hd) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_KEYID, keyid); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; rc = cdk_keydb_search (st, hd, &knode); - cdk_keydb_search_release (st); - + cdk_keydb_search_release( st); + if (rc) - { - gnutls_assert (); - return rc; - } + return rc; - rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_EXACT, (char *) id); - if (!rc) + rc = cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_EXACT, (char *)id); + if (!rc) { rc = cdk_keydb_search (st, hd, &unode); - cdk_keydb_search_release (st); + cdk_keydb_search_release( st); } if (rc) { cdk_kbnode_release (knode); - gnutls_assert (); return rc; } - + check = 0; cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_KEYID, keyid); if (unode && find_by_keyid (unode, st)) check++; - cdk_keydb_search_release (st); + cdk_keydb_search_release( st); cdk_kbnode_release (unode); - - cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_EXACT, (char *) id); + + cdk_keydb_search_start (&st, hd, CDK_DBSEARCH_EXACT, (char *)id); if (knode && find_by_pattern (knode, st)) check++; - cdk_keydb_search_release (st); + cdk_keydb_search_release( st); cdk_kbnode_release (knode); - - return check == 2 ? 0 : CDK_Inv_Value; + + return check==2 ? 0 : CDK_Inv_Value; } @@ -2336,32 +2140,23 @@ * in the key database. **/ cdk_error_t -cdk_keydb_check_sk (cdk_keydb_hd_t hd, u32 * keyid) +cdk_keydb_check_sk (cdk_keydb_hd_t hd, u32 *keyid) { cdk_stream_t db; - cdk_packet_t pkt; + cdk_packet_t pkt; cdk_error_t rc; u32 kid[2]; - + if (!hd || !keyid) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!hd->secret) - { - gnutls_assert (); - return CDK_Inv_Mode; - } - + return CDK_Inv_Mode; + rc = _cdk_keydb_open (hd, &db); - if (rc) - { - gnutls_assert (); - return rc; - } + if (rc) + return rc; cdk_pkt_new (&pkt); - while (!cdk_pkt_read (db, pkt)) + while (!cdk_pkt_read (db, pkt)) { if (pkt->pkttype != CDK_PKT_SECRET_KEY && pkt->pkttype != CDK_PKT_SECRET_SUBKEY) @@ -2370,15 +2165,14 @@ continue; } cdk_sk_get_keyid (pkt->pkt.secret_key, kid); - if (KEYID_CMP (kid, keyid)) + if (KEYID_CMP (kid, keyid)) { cdk_pkt_release (pkt); return 0; - } + } cdk_pkt_free (pkt); } cdk_pkt_release (pkt); - gnutls_assert (); return CDK_Error_No_Key; } @@ -2397,44 +2191,29 @@ **/ cdk_error_t cdk_listkey_start (cdk_listkey_t * r_ctx, cdk_keydb_hd_t db, - const char *patt, cdk_strlist_t fpatt) + const char * patt, cdk_strlist_t fpatt) { cdk_listkey_t ctx; cdk_stream_t inp; cdk_error_t rc; - + if (!r_ctx || !db) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if ((patt && fpatt) || (!patt && !fpatt)) - { - gnutls_assert (); - return CDK_Inv_Mode; - } + return CDK_Inv_Mode; rc = _cdk_keydb_open (db, &inp); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; ctx = cdk_calloc (1, sizeof *ctx); if (!ctx) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; ctx->db = db; ctx->inp = inp; if (patt) { ctx->u.patt = cdk_strdup (patt); if (!ctx->u.patt) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; } else if (fpatt) { @@ -2442,7 +2221,7 @@ for (l = fpatt; l; l = l->next) cdk_strlist_add (&ctx->u.fpatt, l->d); } - ctx->type = patt ? 1 : 0; + ctx->type = patt? 1 : 0; ctx->init = 1; *r_ctx = ctx; return 0; @@ -2460,7 +2239,7 @@ { if (!ctx) return; - + if (ctx->type) cdk_free (ctx->u.patt); else @@ -2477,19 +2256,13 @@ * Retrieve the next key from the pattern of the key list context. **/ cdk_error_t -cdk_listkey_next (cdk_listkey_t ctx, cdk_kbnode_t * ret_key) +cdk_listkey_next (cdk_listkey_t ctx, cdk_kbnode_t *ret_key) { if (!ctx || !ret_key) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!ctx->init) - { - gnutls_assert (); - return CDK_Inv_Mode; - } - + return CDK_Inv_Mode; + if (ctx->type && ctx->u.patt[0] == '*') return cdk_keydb_get_keyblock (ctx->inp, ret_key); else if (ctx->type) @@ -2497,15 +2270,12 @@ cdk_kbnode_t node; struct cdk_keydb_search_s ks; cdk_error_t rc; - + for (;;) { rc = cdk_keydb_get_keyblock (ctx->inp, &node); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; memset (&ks, 0, sizeof (ks)); ks.type = CDK_DBSEARCH_SUBSTR; ks.u.pattern = ctx->u.patt; @@ -2516,9 +2286,9 @@ } cdk_kbnode_release (node); node = NULL; - } + } } - else + else { if (!ctx->t) ctx->t = ctx->u.fpatt; @@ -2528,7 +2298,6 @@ return CDK_EOF; return cdk_keydb_get_bypattern (ctx->db, ctx->t->d, ret_key); } - gnutls_assert (); return CDK_General_Error; } diff -Nru gnutls26-2.8.6/lib/opencdk/literal.c gnutls26-2.4.1/lib/opencdk/literal.c --- gnutls26-2.8.6/lib/opencdk/literal.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/literal.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* literal.c - Literal packet filters - * Copyright (C) 2002, 2003, 2008, 2009 Free Software Foundation, Inc. + * Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc. * * Author: Timo Schulz * @@ -34,11 +34,11 @@ /* Duplicate the string @s but strip of possible relative folder names of it. */ -static char * +static char* dup_trim_filename (const char *s) { char *p = NULL; - + p = strrchr (s, '/'); if (!p) p = strrchr (s, '\\'); @@ -47,45 +47,45 @@ return cdk_strdup (p + 1); } - + static cdk_error_t -literal_decode (void *data, FILE * in, FILE * out) +literal_decode (void *opaque, FILE *in, FILE *out) { - literal_filter_t *pfx = data; + literal_filter_t *pfx = opaque; cdk_stream_t si, so; cdk_packet_t pkt; cdk_pkt_literal_t pt; byte buf[BUFSIZE]; - ssize_t nread; + size_t nread; int bufsize; cdk_error_t rc; _cdk_log_debug ("literal filter: decode\n"); - + if (!pfx || !in || !out) return CDK_Inv_Value; - + rc = _cdk_stream_fpopen (in, STREAMCTL_READ, &si); if (rc) return rc; - + cdk_pkt_new (&pkt); rc = cdk_pkt_read (si, pkt); if (rc || pkt->pkttype != CDK_PKT_LITERAL) { cdk_pkt_release (pkt); cdk_stream_close (si); - return !rc ? CDK_Inv_Packet : rc; + return !rc? CDK_Inv_Packet: rc; } - + rc = _cdk_stream_fpopen (out, STREAMCTL_WRITE, &so); if (rc) { cdk_pkt_release (pkt); cdk_stream_close (si); return rc; - } - + } + pt = pkt->pkt.literal; pfx->mode = pt->mode; @@ -109,43 +109,42 @@ cdk_pkt_release (pkt); cdk_stream_close (si); cdk_stream_close (so); - _cdk_log_debug - ("literal filter: no file name and no PGP extension\n"); + _cdk_log_debug ("literal filter: no file name and no PGP extension\n"); return CDK_Inv_Mode; } _cdk_log_debug ("literal filter: derrive file name from original\n"); pfx->filename = dup_trim_filename (pfx->orig_filename); - pfx->filename[strlen (pfx->filename) - 4] = '\0'; + pfx->filename[strlen (pfx->filename)-4] = '\0'; } - + while (!feof (in)) - { + { _cdk_log_debug ("literal_decode: part on %d size %lu\n", pfx->blkmode.on, pfx->blkmode.size); if (pfx->blkmode.on) bufsize = pfx->blkmode.size; else - bufsize = pt->len < DIM (buf) ? pt->len : DIM (buf); + bufsize = pt->len < DIM (buf)? pt->len : DIM (buf); nread = cdk_stream_read (pt->buf, buf, bufsize); - if (nread == EOF) + if (nread == EOF) { rc = CDK_File_Error; break; } - if (pfx->md_initialized) - _gnutls_hash (&pfx->md, buf, nread); + if (pfx->md) + gcry_md_write (pfx->md, buf, nread); cdk_stream_write (so, buf, nread); pt->len -= nread; if (pfx->blkmode.on) - { + { pfx->blkmode.size = _cdk_pkt_read_len (in, &pfx->blkmode.on); - if ((ssize_t) pfx->blkmode.size == EOF) + if (pfx->blkmode.size == (size_t)EOF) return CDK_Inv_Packet; - } + } if (pt->len <= 0 && !pfx->blkmode.on) break; } - + cdk_stream_close (si); cdk_stream_close (so); cdk_pkt_release (pkt); @@ -158,40 +157,36 @@ { switch (mode) { - case CDK_LITFMT_BINARY: - return 'b'; - case CDK_LITFMT_TEXT: - return 't'; - case CDK_LITFMT_UNICODE: - return 'u'; - default: - return 'b'; + case CDK_LITFMT_BINARY: return 'b'; + case CDK_LITFMT_TEXT: return 't'; + case CDK_LITFMT_UNICODE:return 'u'; + default: return 'b'; } - + return 'b'; } - - + + static cdk_error_t -literal_encode (void *data, FILE * in, FILE * out) +literal_encode (void *opaque, FILE *in, FILE *out) { - literal_filter_t *pfx = data; + literal_filter_t *pfx = opaque; cdk_pkt_literal_t pt; cdk_stream_t si; cdk_packet_t pkt; size_t filelen; cdk_error_t rc; - + _cdk_log_debug ("literal filter: encode\n"); - + if (!pfx || !in || !out) - return CDK_Inv_Value; - if (!pfx->filename) + return CDK_Inv_Value; + if (!pfx->filename) { pfx->filename = cdk_strdup ("_CONSOLE"); if (!pfx->filename) return CDK_Out_Of_Core; - } + } rc = _cdk_stream_fpopen (in, STREAMCTL_READ, &si); if (rc) @@ -199,18 +194,17 @@ filelen = strlen (pfx->filename); cdk_pkt_new (&pkt); - pt = pkt->pkt.literal = cdk_calloc (1, sizeof *pt + filelen); - pt->name = (char*) pt + sizeof(*pt); + pt = pkt->pkt.literal = cdk_calloc (1, sizeof *pt + filelen - 1); if (!pt) { cdk_pkt_release (pkt); cdk_stream_close (si); return CDK_Out_Of_Core; - } + } memcpy (pt->name, pfx->filename, filelen); pt->namelen = filelen; pt->name[pt->namelen] = '\0'; - pt->timestamp = (u32) time (NULL); + pt->timestamp = (u32)time (NULL); pt->mode = intmode_to_char (pfx->mode); pt->len = cdk_stream_get_length (si); pt->buf = si; @@ -218,7 +212,7 @@ pkt->pkttype = CDK_PKT_LITERAL; pkt->pkt.literal = pt; rc = _cdk_pkt_write_fp (out, pkt); - + cdk_pkt_release (pkt); cdk_stream_close (si); return rc; @@ -226,15 +220,15 @@ int -_cdk_filter_literal (void *data, int ctl, FILE * in, FILE * out) +_cdk_filter_literal (void * opaque, int ctl, FILE * in, FILE * out) { if (ctl == STREAMCTL_READ) - return literal_decode (data, in, out); + return literal_decode( opaque, in, out ); else if (ctl == STREAMCTL_WRITE) - return literal_encode (data, in, out); + return literal_encode (opaque, in, out); else if (ctl == STREAMCTL_FREE) { - literal_filter_t *pfx = data; + literal_filter_t *pfx = opaque; if (pfx) { _cdk_log_debug ("free literal filter\n"); @@ -250,63 +244,63 @@ static int -text_encode (void *data, FILE * in, FILE * out) +text_encode (void *opaque, FILE *in, FILE *out) { const char *s; char buf[2048]; - + if (!in || !out) return CDK_Inv_Value; - + /* FIXME: This code does not work for very long lines. */ - while (!feof (in)) + while (!feof (in)) { - s = fgets (buf, DIM (buf) - 1, in); + s = fgets (buf, DIM (buf)-1, in); if (!s) break; _cdk_trim_string (buf, 1); fwrite (buf, 1, strlen (buf), out); } - + return 0; } - + static int -text_decode (void *data, FILE * in, FILE * out) +text_decode (void * opaque, FILE * in, FILE * out) { - text_filter_t *tfx = data; + text_filter_t *tfx = opaque; const char *s; char buf[2048]; - + if (!tfx || !in || !out) return CDK_Inv_Value; - - while (!feof (in)) + + while (!feof (in)) { - s = fgets (buf, DIM (buf) - 1, in); + s = fgets (buf, DIM (buf)-1, in); if (!s) break; _cdk_trim_string (buf, 0); fwrite (buf, 1, strlen (buf), out); fwrite (tfx->lf, 1, strlen (tfx->lf), out); } - + return 0; } int -_cdk_filter_text (void *data, int ctl, FILE * in, FILE * out) +_cdk_filter_text (void *opaque, int ctl, FILE *in, FILE *out) { if (ctl == STREAMCTL_READ) - return text_encode (data, in, out); + return text_encode (opaque, in, out); else if (ctl == STREAMCTL_WRITE) - return text_decode (data, in, out); + return text_decode (opaque, in, out); else if (ctl == STREAMCTL_FREE) { - text_filter_t *tfx = data; - if (tfx) + text_filter_t * tfx = opaque; + if (tfx) { _cdk_log_debug ("free text filter\n"); tfx->lf = NULL; diff -Nru gnutls26-2.8.6/lib/opencdk/main.c gnutls26-2.4.1/lib/opencdk/main.c --- gnutls26-2.8.6/lib/opencdk/main.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/main.c 2008-06-30 21:45:51.000000000 +0100 @@ -41,11 +41,379 @@ /* Set a default cipher algorithm and a digest algorithm. Even if AES and SHA-256 are not 'MUST' in the latest OpenPGP draft, AES seems to be a good choice. */ -#define DEFAULT_DIGEST_ALGO GNUTLS_DIG_SHA256 +#define DEFAULT_CIPHER_ALGO GCRY_CIPHER_AES +#define DEFAULT_DIGEST_ALGO GCRY_MD_SHA256 + +/* The site of the secure memory which is allocated in gcrypt. */ +#define SECMEM_SIZE 16384 + + +/* Hooks to custom memory allocation functions. */ +static void *(*alloc_func) (size_t n) = gcry_xmalloc; +static void *(*alloc_secure_func) (size_t n) = gcry_malloc_secure; +static void *(*realloc_func) (void *p, size_t n) = gcry_realloc; +static void *(*calloc_func) (size_t m, size_t n) = gcry_calloc; +static void (*free_func) (void *) = gcry_free; +static int malloc_hooks = 0; +static int secmem_init = 0; + +/* Global settings for the logging. */ +static cdk_log_fnc_t log_handler = NULL; +static void *log_handler_value = NULL; +static int log_level = CDK_LOG_NONE; + + +/** + * cdk_strerror: + * @ec: the error number + * + * Return an error text for the given id. + **/ +const char* +cdk_strerror (int ec) +{ + static char buf[20]; + + switch (ec) + { + case CDK_EOF: return "End Of File"; + case CDK_Success: return "No error"; + case CDK_General_Error: return "General error"; + case CDK_File_Error: return strerror (errno); + case CDK_Bad_Sig: return "Bad signature"; + case CDK_Inv_Packet: return "Invalid packet"; + case CDK_Inv_Algo: return "Invalid algorithm"; + case CDK_Not_Implemented: return "This is not implemented yet"; + case CDK_Armor_Error: return "ASCII armor error"; + case CDK_Armor_CRC_Error: return "ASCII armored damaged (CRC error)"; + case CDK_MPI_Error: return "Invalid or missformed MPI"; + case CDK_Inv_Value: return "Invalid parameter or value"; + case CDK_Error_No_Key: return "No key available or not found"; + case CDK_Chksum_Error: return "Check for key does not match"; + case CDK_Time_Conflict: return "Time conflict"; + case CDK_Zlib_Error: return "ZLIB error"; + case CDK_Weak_Key: return "Weak key was detected"; + case CDK_Out_Of_Core: return "Out of core!!"; + case CDK_Wrong_Seckey: return "Wrong secret key"; + case CDK_Wrong_Format: return "Data has wrong format"; + case CDK_Bad_MDC: return "Manipulated MDC detected"; + case CDK_Inv_Mode: return "Invalid mode"; + case CDK_Error_No_Keyring: return "No keyring available"; + case CDK_Inv_Packet_Ver: return "Invalid version for packet"; + case CDK_Too_Short: return "Buffer or object is too short"; + case CDK_Unusable_Key: return "Unusable public key"; + case CDK_No_Data: return "No data"; + case CDK_No_Passphrase: return "No passphrase supplied"; + case CDK_Network_Error: return "A network error occurred"; + default: sprintf (buf, "ec=%d", ec); return buf; + } + return NULL; +} + + +static void +out_of_core (size_t n) +{ + fprintf (stderr, "\n ** fatal error: out of memory (%d bytes) **\n", n); +} + + +/** + * cdk_set_malloc_hooks: + * @new_alloc_func: malloc replacement + * @new_alloc_secure_func: secure malloc replacement + * @new_realloc_func: realloc replacement + * @new_calloc_func: calloc replacement + * @new_free_func: free replacement + * + * Set private memory hooks for the library. + */ +void +cdk_set_malloc_hooks (void *(*new_alloc_func) (size_t n), + void *(*new_alloc_secure_func) (size_t n), + void *(*new_realloc_func) (void *p, size_t n), + void *(*new_calloc_func) (size_t m, size_t n), + void (*new_free_func) (void *)) +{ + alloc_func = new_alloc_func; + alloc_secure_func = new_alloc_secure_func; + realloc_func = new_realloc_func; + calloc_func = new_calloc_func; + free_func = new_free_func; + malloc_hooks = 1; +} + + +/** + * cdk_malloc_hook_initialized: + * + * Return if the malloc hooks are already initialized. + **/ +int +cdk_malloc_hook_initialized (void) +{ + return malloc_hooks; +} + + +void* +cdk_malloc (size_t size) +{ + void *p = alloc_func (size); + if (!p) + out_of_core (size); + return p; +} + + +/** + * cdk_calloc: + * @n: amount of elements + * @m: size of one element + * + * Safe wrapper around the c-function calloc. + **/ +void* +cdk_calloc (size_t n, size_t m) +{ + void * p = calloc_func (n, m); + if (!p) + out_of_core (m); + return p; +} + + +/* Things which need to be done after the secure memory initialisation. */ +static void +_secmem_finish (void) +{ + gcry_control (GCRYCTL_DROP_PRIVS); +} + + +/* Initialize the secure memory. */ +static void +_secmem_init (size_t size) +{ + if (secmem_init == 1) + return; + if (size >= SECMEM_SIZE) + size = SECMEM_SIZE; + + /* Check if no other library has already initialized gcrypt. */ + if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) + { + _cdk_log_debug ("init: libgcrypt initialize.\n"); + gcry_control (GCRYCTL_INIT_SECMEM, size, 0); + gcry_control (GCRYCTL_USE_SECURE_RNDPOOL); + gcry_control (GCRYCTL_DISABLE_SECMEM_WARN); + gcry_control (GCRYCTL_INITIALIZATION_FINISHED, NULL, 0); + secmem_init = 1; + } +} + + +/* Things which needs to be done to deinit the secure memory. */ +static void +_secmem_end (void) +{ + gcry_control (GCRYCTL_TERM_SECMEM); + secmem_init = 0; +} + + +/* The Windows system needs to startup the Winsock interface first + before we can use any socket related function. */ +#ifdef _WIN32 +static void +init_sockets (void) +{ + static int initialized = 0; + WSADATA wsdata; + + if (initialized) + return; + if (WSAStartup (0x202, &wsdata)) + _cdk_log_debug ("winsock init failed.\n"); + + initialized = 1; +} + +static void +deinit_sockets (void) +{ + WSACleanup (); +} +#else +void init_sockets (void) {} +void deinit_sockets (void) {} +#endif + + +/** + * cdk_lib_startup: + * + * Prepare the internal structures of the library. + * This function should be called before any other CDK function. + */ +void +cdk_lib_startup (void) +{ + _secmem_init (SECMEM_SIZE); + _secmem_finish (); + init_sockets (); +} + + +/** + * cdk_lib_shutdown: + * + * Shutdown the library and free all internal and globally used + * memory and structures. This function should be called in the + * exit handler of the calling program. + */ +void +cdk_lib_shutdown (void) +{ + deinit_sockets (); + _secmem_end (); +} + +/** + * cdk_salloc: + * @size: how much bytes should be allocated. + * @clear: shall the buffer cleared after the allocation? + * + * Allocated the requested amount of bytes in 'secure' memory. + */ +void* +cdk_salloc (size_t size, int clear) +{ + void *p; + + if (!secmem_init) + _secmem_init (SECMEM_SIZE); + + p = alloc_secure_func (size); + if (!p) + out_of_core (size); + if (clear) + memset (p, 0, size); + return p; +} + + +void * +cdk_realloc (void *ptr, size_t size) +{ + void * p = realloc_func (ptr, size); + if (!p) + out_of_core (size); + return p; +} + + +char * +cdk_strdup (const char * ptr) +{ + char * p = cdk_malloc (strlen (ptr) + 1); + if (p) + strcpy (p, ptr); + return p; +} + + +void +cdk_free (void * ptr) +{ + if (ptr) + free_func (ptr); +} + + +/* Internal logging routine. */ +static void +_cdk_logv (int level, const char *fmt, va_list arg_ptr) +{ + + if (log_handler) + log_handler (log_handler_value, level, fmt, arg_ptr); + else + { + if (level == CDK_LOG_NONE) + return; + if (level == CDK_LOG_DEBUG) + fputs ("DBG: ", stderr); + vfprintf (stderr, fmt, arg_ptr); + } +} + + +/** + * cdk_set_log_handler: + * @logfnc: the function pointer + * @opaque: a private values for the function + * + * Set a custom handler for logging. + **/ +void +cdk_set_log_handler (cdk_log_fnc_t logfnc, void *opaque) +{ + log_handler = logfnc; + log_handler_value = opaque; +} + + +/** + * cdk_set_log_level: + * @lvl: the level + * + * Set the verbosity level. + **/ +void +cdk_set_log_level (int level) +{ + log_level = level; +} + + +/* Return the current log level of the lib. */ +int +_cdk_get_log_level (void) +{ + return log_level; +} + + +void +_cdk_log_info (const char *fmt, ...) +{ + va_list arg; + + if (log_level == CDK_LOG_NONE) + return; + va_start (arg, fmt); + _cdk_logv (CDK_LOG_INFO, fmt, arg); + va_end (arg); +} + + +void +_cdk_log_debug (const char *fmt, ...) +{ + va_list arg; + + if (log_level < CDK_LOG_DEBUG) + return; + va_start (arg, fmt); + _cdk_logv (CDK_LOG_DEBUG, fmt, arg); + va_end (arg); +} + /* Use the passphrase callback in the handle HD or return NULL if there is no valid callback. */ -char * +char* _cdk_passphrase_get (cdk_ctx_t hd, const char *prompt) { if (!hd || !hd->passphrase_cb) @@ -55,25 +423,39 @@ static void +handle_set_cipher (cdk_ctx_t hd, int cipher) +{ + if (!hd) + return; + if (gcry_cipher_test_algo (cipher)) + cipher = DEFAULT_CIPHER_ALGO; + hd->cipher_algo = cipher; +} + + +static void handle_set_digest (cdk_ctx_t hd, int digest) { if (!hd) return; - if (_gnutls_hash_get_algo_len (digest) <= 0) + if (gcry_md_test_algo (digest)) digest = DEFAULT_DIGEST_ALGO; - hd->digest_algo = digest; + hd->digest_algo = digest; } static void -handle_set_s2k (cdk_ctx_t hd, int mode, int digest) +handle_set_s2k (cdk_ctx_t hd, int mode, int digest, int cipher) { if (!hd) return; - if (_gnutls_hash_get_algo_len (digest) <= 0) + if (gcry_cipher_test_algo (cipher)) + cipher = DEFAULT_CIPHER_ALGO; + if (gcry_md_test_algo (digest)) digest = DEFAULT_DIGEST_ALGO; if (mode != CDK_S2K_SIMPLE && - mode != CDK_S2K_SALTED && mode != CDK_S2K_ITERSALTED) + mode != CDK_S2K_SALTED && + mode != CDK_S2K_ITERSALTED) mode = CDK_S2K_ITERSALTED; hd->_s2k.mode = mode; hd->_s2k.digest_algo = digest; @@ -90,7 +472,7 @@ hd->compress.algo = algo; if (!algo) hd->opt.compress = 0; - else + else { if (level > 0 && level < 10) hd->compress.level = level; @@ -113,38 +495,45 @@ { va_list arg_ptr; int set = action == CDK_CTLF_SET, val = 0; - + if (!hd) return -1; - + if (action != CDK_CTLF_SET && action != CDK_CTLF_GET) return -1; va_start (arg_ptr, cmd); - switch (cmd) + switch( cmd ) { case CDK_CTL_ARMOR: if (set) - hd->opt.armor = va_arg (arg_ptr, int); + hd->opt.armor = va_arg( arg_ptr, int ); else val = hd->opt.armor; break; + case CDK_CTL_CIPHER: + if (set) + handle_set_cipher (hd, va_arg (arg_ptr, int)); + else + val = hd->cipher_algo; + break; + case CDK_CTL_DIGEST: if (set) - handle_set_digest (hd, va_arg (arg_ptr, int)); + handle_set_digest( hd, va_arg( arg_ptr, int ) ); else val = hd->digest_algo; break; - + case CDK_CTL_OVERWRITE: if (set) hd->opt.overwrite = va_arg (arg_ptr, int); else val = hd->opt.overwrite; break; - + case CDK_CTL_COMPRESS: - if (set) + if (set) { int algo = va_arg (arg_ptr, int); int level = va_arg (arg_ptr, int); @@ -153,41 +542,41 @@ else val = hd->compress.algo; break; - + case CDK_CTL_S2K: - if (set) - { - int mode = va_arg (arg_ptr, int); - int digest = va_arg (arg_ptr, int); - handle_set_s2k (hd, mode, digest); - } + if( set ) { + int mode = va_arg( arg_ptr, int ); + int digest = va_arg( arg_ptr, int ); + int cipher = va_arg( arg_ptr, int ); + handle_set_s2k( hd, mode, digest, cipher ); + } else val = hd->_s2k.mode; break; - + case CDK_CTL_FORCE_DIGEST: if (set) hd->opt.force_digest = va_arg (arg_ptr, int); else val = hd->opt.force_digest; break; - + case CDK_CTL_BLOCKMODE_ON: - if (set) - hd->opt.blockmode = va_arg (arg_ptr, int); + if( set ) + hd->opt.blockmode = va_arg( arg_ptr, int ); else val = hd->opt.blockmode; break; - + default: val = -1; - break; + break; } va_end (arg_ptr); return val; } - + /** * cdk_handle_new: @@ -196,31 +585,32 @@ * create a new session handle. **/ cdk_error_t -cdk_handle_new (cdk_ctx_t * r_ctx) +cdk_handle_new (cdk_ctx_t *r_ctx) { cdk_ctx_t c; - + if (!r_ctx) return CDK_Inv_Value; - + c = cdk_calloc (1, sizeof *c); if (!c) return CDK_Out_Of_Core; - + /* For S2K use the iterated and salted mode and use the default digest and cipher algorithms. Because the MDC feature will be used, the default cipher should use a blocksize of 128 bits. */ c->_s2k.mode = CDK_S2K_ITERSALTED; c->_s2k.digest_algo = DEFAULT_DIGEST_ALGO; - + c->opt.mdc = 1; c->opt.compress = 1; c->opt.armor = 0; c->opt.textmode = 0; - + c->digest_algo = DEFAULT_DIGEST_ALGO; - + c->cipher_algo = DEFAULT_CIPHER_ALGO; + c->compress.algo = CDK_COMPRESS_ZIP; c->compress.level = 6; @@ -242,11 +632,11 @@ { cdk_keydb_hd_t db; cdk_error_t err; - + err = cdk_keydb_new_from_file (&db, type, kringname); if (err) return err; - + if (!type) hd->db.pub = db; else @@ -255,7 +645,7 @@ return 0; } - + /** * cdk_handle_set_keydb: * @hd: session handle @@ -306,15 +696,14 @@ * * set the passphrase callback. **/ -void -cdk_handle_set_passphrase_cb (cdk_ctx_t hd, - char *(*cb) (void *opa, const char *prompt), - void *cb_value) -{ - if (!hd) - return; - hd->passphrase_cb = cb; - hd->passphrase_cb_value = cb_value; +void cdk_handle_set_passphrase_cb (cdk_ctx_t hd, + char *(*cb) (void *opa, const char *prompt), + void * cb_value) +{ + if (!hd) + return; + hd->passphrase_cb = cb; + hd->passphrase_cb_value = cb_value; } @@ -325,7 +714,7 @@ * Return the verify result for the current session. * Do not free the pointer. **/ -cdk_verify_result_t +cdk_verify_result_t cdk_handle_verify_get_result (cdk_ctx_t hd) { return hd->result.verify; @@ -354,6 +743,7 @@ if (hd->db.sec) cdk_keydb_free (hd->db.sec); hd->db.pub = hd->db.sec = NULL; - } + } + cdk_free (hd->dek); cdk_free (hd); } diff -Nru gnutls26-2.8.6/lib/opencdk/main.h gnutls26-2.4.1/lib/opencdk/main.h --- gnutls26-2.8.6/lib/opencdk/main.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/main.h 2008-06-30 21:45:51.000000000 +0100 @@ -24,23 +24,9 @@ #ifndef CDK_MAIN_H #define CDK_MAIN_H +#include #include "types.h" -#define _cdk_log_debug _gnutls_debug_log -#define _cdk_log_info _gnutls_x509_log -#define _cdk_get_log_level() _gnutls_log_level - -#define cdk_malloc gnutls_malloc -#define cdk_free gnutls_free -#define cdk_calloc gnutls_calloc -#define cdk_realloc gnutls_realloc_fast -#define cdk_strdup gnutls_strdup -#define cdk_salloc gnutls_secure_calloc - -#define map_gnutls_error _cdk_map_gnutls_error - -cdk_error_t map_gnutls_error(int err); - /* The general size of a buffer for the variou modules. */ #define BUFSIZE 8192 @@ -72,9 +58,9 @@ #define DEBUG_PKT (_cdk_get_log_level () == (CDK_LOG_DEBUG+1)) /* Helper to find out if a key has the requested capability. */ -#define KEY_CAN_ENCRYPT(a) ((_cdk_pk_algo_usage ((a))) & CDK_KEY_USG_ENCR) -#define KEY_CAN_SIGN(a) ((_cdk_pk_algo_usage ((a))) & CDK_KEY_USG_SIGN) -#define KEY_CAN_AUTH(a) ((_cdk_pk_algo_usage ((a))) & CDK_KEY_USG_AUTH) +#define KEY_CAN_ENCRYPT(a) (_cdk_pk_algo_usage ((a)) & CDK_KEY_USG_ENCR) +#define KEY_CAN_SIGN(a) (_cdk_pk_algo_usage ((a)) & CDK_KEY_USG_SIGN) +#define KEY_CAN_AUTH(a) (_cdk_pk_algo_usage ((a)) & CDK_KEY_USG_AUTH) /* Helper macro to make sure the buffer is overwritten. */ #define wipemem(_ptr,_len) do { \ @@ -91,6 +77,9 @@ const char * _cdk_armor_get_lineend (void); /*-- main.c --*/ +int _cdk_get_log_level (void); +void _cdk_log_info (const char * fmt, ...); +void _cdk_log_debug (const char * fmt, ...); char * _cdk_passphrase_get (cdk_ctx_t hd, const char *prompt); /*-- misc.c --*/ @@ -98,7 +87,8 @@ u32 _cdk_buftou32 (const byte * buf); void _cdk_u32tobuf (u32 u, byte * buf); const char *_cdk_memistr (const char * buf, size_t buflen, const char * sub); -FILE *_cdk_tmpfile (void); +cdk_error_t _cdk_map_gcry_error (gcry_error_t err); +#define map_gcry_error(err) _cdk_map_gcry_error (err) /* Helper to provide case insentensive strstr version. */ #define stristr(haystack, needle) \ @@ -108,7 +98,7 @@ cdk_error_t _cdk_proc_packets (cdk_ctx_t hd, cdk_stream_t inp, cdk_stream_t data, const char *output, cdk_stream_t outstream, - digest_hd_st*md); + gcry_md_hd_t md); cdk_error_t _cdk_pkt_write2 (cdk_stream_t out, int pkttype, void *pktctx); /*-- pubkey.c --*/ @@ -125,10 +115,10 @@ /*-- sig-check.c --*/ cdk_error_t _cdk_sig_check (cdk_pkt_pubkey_t pk, cdk_pkt_signature_t sig, - digest_hd_st*digest, int * r_expired); -cdk_error_t _cdk_hash_sig_data (cdk_pkt_signature_t sig, digest_hd_st*hd); -cdk_error_t _cdk_hash_userid (cdk_pkt_userid_t uid, int sig_version, digest_hd_st*md); -cdk_error_t _cdk_hash_pubkey (cdk_pkt_pubkey_t pk, digest_hd_st *md, + gcry_md_hd_t digest, int * r_expired); +cdk_error_t _cdk_hash_sig_data (cdk_pkt_signature_t sig, gcry_md_hd_t hd); +cdk_error_t _cdk_hash_userid (cdk_pkt_userid_t uid, int sig_version, gcry_md_hd_t md); +cdk_error_t _cdk_hash_pubkey (cdk_pkt_pubkey_t pk, gcry_md_hd_t md, int use_fpr); cdk_error_t _cdk_pk_check_sig (cdk_keydb_hd_t hd, cdk_kbnode_t knode, @@ -159,7 +149,7 @@ void _cdk_trim_string (char * s, int canon); cdk_error_t _cdk_sig_create (cdk_pkt_pubkey_t pk, cdk_pkt_signature_t sig); cdk_error_t _cdk_sig_complete (cdk_pkt_signature_t sig, cdk_pkt_seckey_t sk, - digest_hd_st *hd); + gcry_md_hd_t hd); /*-- stream.c --*/ void _cdk_stream_set_compress_algo (cdk_stream_t s, int algo); @@ -190,12 +180,12 @@ /*-- seskey.c --*/ cdk_error_t _cdk_s2k_copy (cdk_s2k_t *r_dst, cdk_s2k_t src); - -#define _cdk_pub_algo_to_pgp(algo) (algo) -#define _pgp_pub_algo_to_cdk(algo) (algo) -int _gnutls_hash_algo_to_pgp(int algo); -int _pgp_hash_algo_to_gnutls(int algo); -int _gnutls_cipher_to_pgp(int cipher); -int _pgp_cipher_to_gnutls(int cipher); + +cdk_error_t cdk_dek_encode_pkcs1 (cdk_dek_t dek, size_t nbits, + gcry_mpi_t *r_enc); +cdk_error_t cdk_dek_decode_pkcs1 (cdk_dek_t * ret_dek, gcry_mpi_t esk); +cdk_error_t cdk_dek_extract (cdk_dek_t * ret_dek, cdk_ctx_t hd, + cdk_pkt_pubkey_enc_t enc, + cdk_pkt_seckey_t sk ); #endif /* CDK_MAIN_H */ diff -Nru gnutls26-2.8.6/lib/opencdk/Makefile.am gnutls26-2.4.1/lib/opencdk/Makefile.am --- gnutls26-2.8.6/lib/opencdk/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/Makefile.am 2008-06-30 21:45:51.000000000 +0100 @@ -20,16 +20,8 @@ # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA -AM_CPPFLAGS = \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(srcdir)/../includes \ - -I$(builddir)/../includes \ - -I$(srcdir)/.. - -if ENABLE_MINITASN1 -AM_CPPFLAGS += -I$(srcdir)/../minitasn1 -endif +INCLUDES = -I$(top_srcdir)/lib \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl noinst_LTLIBRARIES = libminiopencdk.la diff -Nru gnutls26-2.8.6/lib/opencdk/Makefile.in gnutls26-2.4.1/lib/opencdk/Makefile.in --- gnutls26-2.8.6/lib/opencdk/Makefile.in 2010-03-15 10:28:41.000000000 +0000 +++ gnutls26-2.4.1/lib/opencdk/Makefile.in 2008-06-30 22:07:52.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -38,9 +37,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -55,59 +53,87 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(srcdir)/../minitasn1 -subdir = opencdk +subdir = lib/opencdk DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libminiopencdk_la_LIBADD = am_libminiopencdk_la_OBJECTS = armor.lo main.lo kbnode.lo dummy.lo \ @@ -118,7 +144,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -137,8 +162,9 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -149,7 +175,6 @@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -164,91 +189,56 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ +GAA = @GAA@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -260,30 +250,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -298,38 +274,29 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ @@ -342,46 +309,27 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -397,15 +345,8 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ @@ -413,17 +354,12 @@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -431,30 +367,33 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ @@ -467,10 +406,11 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ @@ -481,32 +421,25 @@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -521,26 +454,16 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ @@ -548,22 +471,18 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -571,14 +490,12 @@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -589,7 +506,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -607,6 +524,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -624,7 +546,6 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -640,9 +561,9 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I$(srcdir)/../gl -I$(builddir)/../gl \ - -I$(srcdir)/../includes -I$(builddir)/../includes \ - -I$(srcdir)/.. $(am__append_1) +INCLUDES = -I$(top_srcdir)/lib \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl + noinst_LTLIBRARIES = libminiopencdk.la libminiopencdk_la_SOURCES = armor.c filters.h keydb.h main.c types.h \ kbnode.c main.h packet.h dummy.c sig-check.c verify.c hash.c \ @@ -658,14 +579,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu opencdk/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu opencdk/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/opencdk/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/opencdk/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -683,7 +604,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -721,21 +641,21 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -751,14 +671,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -766,34 +686,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -814,17 +729,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -852,7 +763,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -874,8 +784,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -884,28 +792,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -943,7 +841,6 @@ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/lib/opencdk/misc.c gnutls26-2.4.1/lib/opencdk/misc.c --- gnutls26-2.8.6/lib/opencdk/misc.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/misc.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* misc.c - * Copyright (C) 1998-2002, 2003, 2007, 2008, 2009 Free Software Foundation, Inc. + * Copyright (C) 1998-2002, 2003, 2007, 2008 Free Software Foundation, Inc. * * Author: Timo Schulz * @@ -31,33 +31,32 @@ #include "opencdk.h" #include "main.h" -#include "../random.h" u32 -_cdk_buftou32 (const byte * buf) +_cdk_buftou32 (const byte *buf) { u32 u; - + if (!buf) return 0; - u = buf[0] << 24; + u = buf[0] << 24; u |= buf[1] << 16; - u |= buf[2] << 8; + u |= buf[2] << 8; u |= buf[3]; return u; } void -_cdk_u32tobuf (u32 u, byte * buf) +_cdk_u32tobuf (u32 u, byte *buf) { if (!buf) return; buf[0] = u >> 24; buf[1] = u >> 16; - buf[2] = u >> 8; - buf[3] = u; + buf[2] = u >> 8; + buf[3] = u ; } /** @@ -70,8 +69,8 @@ cdk_strlist_free (cdk_strlist_t sl) { cdk_strlist_t sl2; - - for (; sl; sl = sl2) + + for(; sl; sl = sl2) { sl2 = sl->next; cdk_free (sl); @@ -87,17 +86,16 @@ * Add the given list to the string list. **/ cdk_strlist_t -cdk_strlist_add (cdk_strlist_t * list, const char *string) +cdk_strlist_add (cdk_strlist_t *list, const char *string) { cdk_strlist_t sl; - + if (!string) return NULL; - - sl = cdk_calloc (1, sizeof *sl + strlen (string) + 2); + + sl = cdk_calloc (1, sizeof *sl + strlen (string) + 1); if (!sl) return NULL; - sl->d = (char*) sl + sizeof(*sl); strcpy (sl->d, string); sl->next = *list; *list = sl; @@ -127,42 +125,53 @@ } -const char * +const char* _cdk_memistr (const char *buf, size_t buflen, const char *sub) { const byte *t, *s; size_t n; - - for (t = (byte *) buf, n = buflen, s = (byte *) sub; n; t++, n--) + + for (t = (byte*)buf, n = buflen, s = (byte*)sub ; n ; t++, n--) { - if (toupper (*t) == toupper (*s)) + if (toupper (*t) == toupper (*s)) { for (buf = t++, buflen = n--, s++; - n && toupper (*t) == toupper ((byte) * s); t++, s++, n--) + n && toupper (*t) == toupper ((byte)*s); t++, s++, n--) ; if (!*s) return buf; - t = (byte *) buf; + t = (byte*)buf; n = buflen; - s = (byte *) sub; - } + s = (byte*)sub; + } } - + return NULL; } + +/* Map the gcrypt error to a valid opencdk error constant. */ cdk_error_t -_cdk_map_gnutls_error (int err) +_cdk_map_gcry_error (gcry_error_t err) { - switch (err) + /* FIXME: We need to catch them all. */ + switch (gpg_err_code (err)) { - case 0: - return CDK_Success; - case GNUTLS_E_INVALID_REQUEST: - return CDK_Inv_Value; + case GPG_ERR_NO_ERROR: return CDK_Success; + case GPG_ERR_INV_VALUE: return CDK_Inv_Value; + case GPG_ERR_GENERAL: return CDK_General_Error; + case GPG_ERR_INV_PACKET: return CDK_Inv_Packet; + case GPG_ERR_TOO_SHORT: return CDK_Too_Short; + case GPG_ERR_TOO_LARGE: return CDK_Inv_Value; + case GPG_ERR_NO_PUBKEY: + case GPG_ERR_NO_SECKEY: return CDK_Error_No_Key; + case GPG_ERR_BAD_SIGNATURE: return CDK_Bad_Sig; + case GPG_ERR_NO_DATA: return CDK_No_Data; default: - return CDK_General_Error; + break; } + + return (cdk_error_t)err; } @@ -171,10 +180,11 @@ _cdk_trim_string (char *s, int canon) { while (s && *s && - (s[strlen (s) - 1] == '\t' || - s[strlen (s) - 1] == '\r' || - s[strlen (s) - 1] == '\n' || s[strlen (s) - 1] == ' ')) - s[strlen (s) - 1] = '\0'; + (s[strlen (s)-1] == '\t' || + s[strlen (s)-1] == '\r' || + s[strlen (s)-1] == '\n' || + s[strlen (s)-1] == ' ')) + s[strlen (s) -1] = '\0'; if (canon) strcat (s, "\r\n"); } @@ -184,7 +194,7 @@ _cdk_check_args (int overwrite, const char *in, const char *out) { struct stat stbuf; - + if (!in || !out) return CDK_Inv_Value; if (strlen (in) == strlen (out) && strcmp (in, out) == 0) @@ -199,7 +209,7 @@ #include FILE * -_cdk_tmpfile (void) +my_tmpfile (void) { /* Because the tmpfile() version of wine is not really useful, we implement our own version to avoid problems with 'make check'. */ @@ -207,19 +217,19 @@ char buf[512], rnd[24]; FILE *fp; int fd, i; - - _gnutls_rnd (GNUTLS_RND_NONCE, rnd, DIM (rnd)); - for (i = 0; i < DIM (rnd) - 1; i++) + + gcry_create_nonce (rnd, DIM (rnd)); + for (i=0; i < DIM (rnd)-1; i++) { - char c = letters[(unsigned char) rnd[i] % 26]; + char c = letters[(unsigned char)rnd[i] % 26]; rnd[i] = c; } - rnd[DIM (rnd) - 1] = 0; + rnd[DIM (rnd)-1]=0; if (!GetTempPath (464, buf)) return NULL; strcat (buf, "_cdk_"); strcat (buf, rnd); - + /* We need to make sure the file will be deleted when it is closed. */ fd = _open (buf, _O_CREAT | _O_EXCL | _O_TEMPORARY | _O_RDWR | _O_BINARY, _S_IREAD | _S_IWRITE); @@ -232,123 +242,9 @@ return NULL; } #else -FILE * -_cdk_tmpfile (void) +FILE* +my_tmpfile (void) { return tmpfile (); } #endif - -int -_gnutls_hash_algo_to_pgp (int algo) -{ - switch (algo) - { - case GNUTLS_DIG_MD5: - return 0x01; - case GNUTLS_DIG_MD2: - return 0x05; - case GNUTLS_DIG_SHA1: - return 0x02; - case GNUTLS_DIG_RMD160: - return 0x03; - case GNUTLS_DIG_SHA256: - return 0x08; - case GNUTLS_DIG_SHA384: - return 0x09; - case GNUTLS_DIG_SHA512: - return 0x0A; - case GNUTLS_DIG_SHA224: - return 0x0B; - default: - gnutls_assert (); - return 0x00; - } -} - -int -_pgp_hash_algo_to_gnutls (int algo) -{ - switch (algo) - { - case 0x01: - return GNUTLS_DIG_MD5; - case 0x02: - return GNUTLS_DIG_SHA1; - case 0x03: - return GNUTLS_DIG_RMD160; - case 0x05: - return GNUTLS_DIG_MD2; - case 0x08: - return GNUTLS_DIG_SHA256; - case 0x09: - return GNUTLS_DIG_SHA384; - case 0x0A: - return GNUTLS_DIG_SHA512; - case 0x0B: - return GNUTLS_DIG_SHA224; - default: - gnutls_assert (); - return GNUTLS_DIG_NULL; - } -} - -int -_pgp_cipher_to_gnutls (int cipher) -{ - switch (cipher) - { - case 1: - return GNUTLS_CIPHER_IDEA_PGP_CFB; - case 2: - return GNUTLS_CIPHER_3DES_PGP_CFB; - case 3: - return GNUTLS_CIPHER_CAST5_PGP_CFB; - case 4: - return GNUTLS_CIPHER_BLOWFISH_PGP_CFB; - case 5: - return GNUTLS_CIPHER_SAFER_SK128_PGP_CFB; - case 7: - return GNUTLS_CIPHER_AES128_PGP_CFB; - case 8: - return GNUTLS_CIPHER_AES192_PGP_CFB; - case 9: - return GNUTLS_CIPHER_AES256_PGP_CFB; - case 10: - return GNUTLS_CIPHER_TWOFISH_PGP_CFB; - - default: - gnutls_assert (); - return GNUTLS_CIPHER_NULL; - } -} - -int -_gnutls_cipher_to_pgp (int cipher) -{ - switch (cipher) - { - - case GNUTLS_CIPHER_IDEA_PGP_CFB: - return 1; - case GNUTLS_CIPHER_3DES_PGP_CFB: - return 2; - case GNUTLS_CIPHER_CAST5_PGP_CFB: - return 3; - case GNUTLS_CIPHER_BLOWFISH_PGP_CFB: - return 4; - case GNUTLS_CIPHER_SAFER_SK128_PGP_CFB: - return 5; - case GNUTLS_CIPHER_AES128_PGP_CFB: - return 7; - case GNUTLS_CIPHER_AES192_PGP_CFB: - return 8; - case GNUTLS_CIPHER_AES256_PGP_CFB: - return 9; - case GNUTLS_CIPHER_TWOFISH_PGP_CFB: - return 10; - default: - gnutls_assert (); - return 0; - } -} diff -Nru gnutls26-2.8.6/lib/opencdk/new-packet.c gnutls26-2.4.1/lib/opencdk/new-packet.c --- gnutls26-2.8.6/lib/opencdk/new-packet.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/new-packet.c 2008-06-30 21:45:51.000000000 +0100 @@ -26,6 +26,7 @@ #endif #include #include +#include #include "opencdk.h" #include "main.h" @@ -34,11 +35,12 @@ /* Release an array of MPI values. */ void -_cdk_free_mpibuf (size_t n, bigint_t * array) +_cdk_free_mpibuf (size_t n, gcry_mpi_t *array) { - while (n--) + while (n--) { - _gnutls_mpi_release (&array[n]); + gcry_mpi_release (array[n]); + array[n] = NULL; } } @@ -50,10 +52,10 @@ * Allocate a new packet. **/ cdk_error_t -cdk_pkt_new (cdk_packet_t * r_pkt) +cdk_pkt_new (cdk_packet_t *r_pkt) { cdk_packet_t pkt; - + if (!r_pkt) return CDK_Inv_Value; pkt = cdk_calloc (1, sizeof *pkt); @@ -65,13 +67,23 @@ static void +free_symkey_enc (cdk_pkt_symkey_enc_t enc) +{ + if (!enc) + return; + cdk_s2k_free (enc->s2k); + cdk_free (enc); +} + + +static void free_pubkey_enc (cdk_pkt_pubkey_enc_t enc) { size_t nenc; - + if (!enc) return; - + nenc = cdk_pk_get_nenc (enc->pubkey_algo); _cdk_free_mpibuf (nenc, enc->mpi); cdk_free (enc); @@ -94,11 +106,11 @@ { if (!uid) return; - + cdk_free (uid->prefs); uid->prefs = NULL; cdk_free (uid->attrib_img); - uid->attrib_img = NULL; + uid->attrib_img = NULL; cdk_free (uid); } @@ -108,10 +120,10 @@ { cdk_desig_revoker_t r; size_t nsig; - + if (!sig) return; - + nsig = cdk_pk_get_nsig (sig->pubkey_algo); _cdk_free_mpibuf (nsig, sig->mpi); @@ -133,10 +145,10 @@ cdk_pk_release (cdk_pubkey_t pk) { size_t npkey; - + if (!pk) return; - + npkey = cdk_pk_get_npkey (pk->pubkey_algo); _cdk_free_userid (pk->uid); pk->uid = NULL; @@ -151,10 +163,10 @@ cdk_sk_release (cdk_seckey_t sk) { size_t nskey; - + if (!sk) return; - + nskey = cdk_pk_get_nskey (sk->pubkey_algo); _cdk_free_mpibuf (nskey, sk->mpi); cdk_free (sk->encdata); @@ -167,6 +179,21 @@ } +static void +free_encrypted (cdk_pkt_encrypted_t enc) +{ + if (!enc) + return; + + /* This is just a reference for the filters to know where + the encrypted data starts and to read from the sream. It + us closed elsewhere and to close it here would double close it. */ + /*cdk_stream_close (enc->buf);*/ + enc->buf = NULL; + cdk_free (enc); +} + + /* Detach the openpgp packet from the packet structure and release the packet structure itself. */ void @@ -179,22 +206,22 @@ case CDK_PKT_PUBLIC_SUBKEY: *ctx = pkt->pkt.public_key; break; - + case CDK_PKT_SECRET_KEY: case CDK_PKT_SECRET_SUBKEY: *ctx = pkt->pkt.secret_key; break; - + default: *r_pkttype = 0; return; } - + /* The caller might expect a specific packet type and is not interested to store it for later use. */ if (r_pkttype) *r_pkttype = pkt->pkttype; - + cdk_free (pkt); } @@ -204,43 +231,27 @@ { if (!pkt) return; - - switch (pkt->pkttype) + + switch (pkt->pkttype) { - case CDK_PKT_ATTRIBUTE: - case CDK_PKT_USER_ID: - _cdk_free_userid (pkt->pkt.user_id); - break; - case CDK_PKT_PUBLIC_KEY: - case CDK_PKT_PUBLIC_SUBKEY: - cdk_pk_release (pkt->pkt.public_key); - break; - case CDK_PKT_SECRET_KEY: - case CDK_PKT_SECRET_SUBKEY: - cdk_sk_release (pkt->pkt.secret_key); - break; - case CDK_PKT_SIGNATURE: - _cdk_free_signature (pkt->pkt.signature); - break; - case CDK_PKT_PUBKEY_ENC: - free_pubkey_enc (pkt->pkt.pubkey_enc); - break; - case CDK_PKT_MDC: - cdk_free (pkt->pkt.mdc); - break; - case CDK_PKT_ONEPASS_SIG: - cdk_free (pkt->pkt.onepass_sig); - break; - case CDK_PKT_LITERAL: - free_literal (pkt->pkt.literal); - break; - case CDK_PKT_COMPRESSED: - cdk_free (pkt->pkt.compressed); - break; - default: - break; + case CDK_PKT_ATTRIBUTE : + case CDK_PKT_USER_ID : _cdk_free_userid (pkt->pkt.user_id); break; + case CDK_PKT_PUBLIC_KEY : + case CDK_PKT_PUBLIC_SUBKEY: cdk_pk_release (pkt->pkt.public_key); break; + case CDK_PKT_SECRET_KEY : + case CDK_PKT_SECRET_SUBKEY: cdk_sk_release (pkt->pkt.secret_key); break; + case CDK_PKT_SIGNATURE : _cdk_free_signature (pkt->pkt.signature);break; + case CDK_PKT_PUBKEY_ENC : free_pubkey_enc (pkt->pkt.pubkey_enc); break; + case CDK_PKT_SYMKEY_ENC : free_symkey_enc (pkt->pkt.symkey_enc); break; + case CDK_PKT_MDC : cdk_free (pkt->pkt.mdc); break; + case CDK_PKT_ENCRYPTED : + case CDK_PKT_ENCRYPTED_MDC: free_encrypted (pkt->pkt.encrypted); break; + case CDK_PKT_ONEPASS_SIG : cdk_free (pkt->pkt.onepass_sig); break; + case CDK_PKT_LITERAL : free_literal (pkt->pkt.literal); break; + case CDK_PKT_COMPRESSED : cdk_free (pkt->pkt.compressed); break; + default : break; } - + /* Reset the packet type to avoid, when cdk_pkt_release() will be used, that the second cdk_pkt_free() call will double free the data. */ pkt->pkttype = 0; @@ -272,34 +283,33 @@ * Allocate a new packet structure with the given packet type. **/ cdk_error_t -cdk_pkt_alloc (cdk_packet_t * r_pkt, cdk_packet_type_t pkttype) +cdk_pkt_alloc (cdk_packet_t *r_pkt, int pkttype) { cdk_packet_t pkt; int rc; if (!r_pkt) return CDK_Inv_Value; - + rc = cdk_pkt_new (&pkt); if (rc) return rc; - switch (pkttype) + switch (pkttype) { case CDK_PKT_USER_ID: pkt->pkt.user_id = cdk_calloc (1, sizeof pkt->pkt.user_id); if (!pkt->pkt.user_id) return CDK_Out_Of_Core; - pkt->pkt.user_id->name = NULL; break; - + case CDK_PKT_PUBLIC_KEY: case CDK_PKT_PUBLIC_SUBKEY: pkt->pkt.public_key = cdk_calloc (1, sizeof *pkt->pkt.public_key); if (!pkt->pkt.public_key) return CDK_Out_Of_Core; break; - + case CDK_PKT_SECRET_KEY: case CDK_PKT_SECRET_SUBKEY: pkt->pkt.secret_key = cdk_calloc (1, sizeof *pkt->pkt.secret_key); @@ -308,42 +318,51 @@ if (!pkt->pkt.secret_key || !pkt->pkt.secret_key->pk) return CDK_Out_Of_Core; break; - + case CDK_PKT_SIGNATURE: pkt->pkt.signature = cdk_calloc (1, sizeof *pkt->pkt.signature); if (!pkt->pkt.signature) return CDK_Out_Of_Core; break; - + + case CDK_PKT_SYMKEY_ENC: + pkt->pkt.symkey_enc = cdk_calloc (1, sizeof *pkt->pkt.symkey_enc); + if (!pkt->pkt.symkey_enc) + return CDK_Out_Of_Core; + break; + case CDK_PKT_PUBKEY_ENC: pkt->pkt.pubkey_enc = cdk_calloc (1, sizeof *pkt->pkt.pubkey_enc); if (!pkt->pkt.pubkey_enc) return CDK_Out_Of_Core; break; - + case CDK_PKT_MDC: pkt->pkt.mdc = cdk_calloc (1, sizeof *pkt->pkt.mdc); if (!pkt->pkt.mdc) return CDK_Out_Of_Core; break; - + + case CDK_PKT_ENCRYPTED_MDC: + case CDK_PKT_ENCRYPTED: + pkt->pkt.symkey_enc = cdk_calloc (1, sizeof *pkt->pkt.symkey_enc); + if (!pkt->pkt.symkey_enc) + return CDK_Out_Of_Core; + break; + case CDK_PKT_ONEPASS_SIG: pkt->pkt.onepass_sig = cdk_calloc (1, sizeof *pkt->pkt.onepass_sig); if (!pkt->pkt.onepass_sig) return CDK_Out_Of_Core; break; - + case CDK_PKT_LITERAL: /* FIXME: We would need the size of the file name to allocate extra - bytes, otherwise the result would be useless. */ + bytes, otherwise the result would be useless. */ pkt->pkt.literal = cdk_calloc (1, sizeof *pkt->pkt.literal); if (!pkt->pkt.literal) return CDK_Out_Of_Core; - pkt->pkt.literal->name = NULL; break; - - default: - return CDK_Not_Implemented; } pkt->pkttype = pkttype; *r_pkt = pkt; @@ -356,60 +375,58 @@ { size_t n = 0; struct cdk_prefitem_s *new_prefs; - + if (!prefs) return NULL; - + for (n = 0; prefs[n].type; n++) ; new_prefs = cdk_calloc (1, sizeof *new_prefs * (n + 1)); if (!new_prefs) return NULL; - for (n = 0; prefs[n].type; n++) - { + for (n = 0; prefs[n].type; n++) + { new_prefs[n].type = prefs[n].type; new_prefs[n].value = prefs[n].value; } new_prefs[n].type = CDK_PREFTYPE_NONE; - new_prefs[n].value = 0; + new_prefs[n].value = 0; return new_prefs; } cdk_error_t -_cdk_copy_userid (cdk_pkt_userid_t * dst, cdk_pkt_userid_t src) +_cdk_copy_userid (cdk_pkt_userid_t* dst, cdk_pkt_userid_t src) { cdk_pkt_userid_t u; - + if (!dst || !src) return CDK_Inv_Value; - + *dst = NULL; - u = cdk_calloc (1, sizeof *u + strlen (src->name) + 2); + u = cdk_calloc (1, sizeof *u + strlen (src->name) + 1); if (!u) return CDK_Out_Of_Core; - u->name = (char*)u + sizeof(*u); - memcpy (u, src, sizeof *u); memcpy (u->name, src->name, strlen (src->name)); u->prefs = _cdk_copy_prefs (src->prefs); if (src->selfsig) _cdk_copy_signature (&u->selfsig, src->selfsig); *dst = u; - + return 0; } cdk_error_t -_cdk_copy_pubkey (cdk_pkt_pubkey_t * dst, cdk_pkt_pubkey_t src) +_cdk_copy_pubkey (cdk_pkt_pubkey_t* dst, cdk_pkt_pubkey_t src) { cdk_pkt_pubkey_t k; int i; - + if (!dst || !src) return CDK_Inv_Value; - + *dst = NULL; k = cdk_calloc (1, sizeof *k); if (!k) @@ -420,44 +437,46 @@ if (src->prefs) k->prefs = _cdk_copy_prefs (src->prefs); for (i = 0; i < cdk_pk_get_npkey (src->pubkey_algo); i++) - k->mpi[i] = _gnutls_mpi_copy (src->mpi[i]); + k->mpi[i] = gcry_mpi_copy (src->mpi[i]); *dst = k; - + return 0; } cdk_error_t -_cdk_copy_seckey (cdk_pkt_seckey_t * dst, cdk_pkt_seckey_t src) +_cdk_copy_seckey (cdk_pkt_seckey_t* dst, cdk_pkt_seckey_t src) { cdk_pkt_seckey_t k; int i; - + if (!dst || !src) return CDK_Inv_Value; - + *dst = NULL; k = cdk_calloc (1, sizeof *k); if (!k) return CDK_Out_Of_Core; memcpy (k, src, sizeof *k); _cdk_copy_pubkey (&k->pk, src->pk); - - if (src->encdata) + + if (src->encdata) { k->encdata = cdk_calloc (1, src->enclen + 1); if (!k->encdata) return CDK_Out_Of_Core; memcpy (k->encdata, src->encdata, src->enclen); } - + _cdk_s2k_copy (&k->protect.s2k, src->protect.s2k); - for (i = 0; i < cdk_pk_get_nskey (src->pubkey_algo); i++) + + for (i = 0; i < cdk_pk_get_nskey (src->pubkey_algo); i++) { - k->mpi[i] = _gnutls_mpi_copy (src->mpi[i]); + k->mpi[i] = gcry_mpi_copy (src->mpi[i]); + gcry_mpi_set_flag (k->mpi[i], GCRYMPI_FLAG_SECURE); } - - *dst = k; + + *dst = k; return 0; } @@ -467,17 +486,17 @@ { if (!pk || !sk) return CDK_Inv_Value; - + sk->version = pk->version; sk->expiredate = pk->expiredate; - sk->pubkey_algo = _pgp_pub_algo_to_cdk (pk->pubkey_algo); + sk->pubkey_algo = pk->pubkey_algo; sk->has_expired = pk->has_expired; sk->is_revoked = pk->is_revoked; sk->main_keyid[0] = pk->main_keyid[0]; sk->main_keyid[1] = pk->main_keyid[1]; sk->keyid[0] = pk->keyid[0]; sk->keyid[1] = pk->keyid[1]; - + return 0; } @@ -486,7 +505,7 @@ _cdk_copy_signature (cdk_pkt_signature_t * dst, cdk_pkt_signature_t src) { cdk_pkt_signature_t s; - + if (!dst || !src) return CDK_Inv_Value; @@ -499,7 +518,7 @@ _cdk_subpkt_copy (&s->unhashed, src->unhashed); /* FIXME: Copy MPI parts */ *dst = s; - + return 0; } @@ -508,7 +527,7 @@ _cdk_pubkey_compare (cdk_pkt_pubkey_t a, cdk_pkt_pubkey_t b) { int na, nb, i; - + if (a->timestamp != b->timestamp || a->pubkey_algo != b->pubkey_algo) return -1; if (a->version < 4 && a->expiredate != b->expiredate) @@ -517,13 +536,13 @@ nb = cdk_pk_get_npkey (b->pubkey_algo); if (na != nb) return -1; - - for (i = 0; i < na; i++) + + for (i = 0; i < na; i++) { - if (_gnutls_mpi_cmp (a->mpi[i], b->mpi[i])) + if (gcry_mpi_cmp (a->mpi[i], b->mpi[i])) return -1; } - + return 0; } @@ -538,7 +557,7 @@ cdk_subpkt_free (cdk_subpkt_t ctx) { cdk_subpkt_t s; - + while (ctx) { s = ctx->next; @@ -574,14 +593,14 @@ { cdk_subpkt_t s; size_t count; - + count = 0; for (s = ctx; s; s = s->next) { if (s->type == type) count++; } - + return count; } @@ -599,14 +618,14 @@ { cdk_subpkt_t s; size_t pos; - + pos = 0; for (s = ctx; s; s = s->next) { if (s->type == type && pos++ == idx) return s; } - + return NULL; } @@ -621,14 +640,12 @@ cdk_subpkt_new (size_t size) { cdk_subpkt_t s; - + if (!size) return NULL; - s = cdk_calloc (1, sizeof *s + size + 2); + s = cdk_calloc (1, sizeof *s + size + 1); if (!s) return NULL; - s->d = (char*)s + sizeof(*s); - return s; } @@ -642,8 +659,8 @@ * Extract the data from the given sub packet. The type is returned * in @r_type and the size in @r_nbytes. **/ -const byte * -cdk_subpkt_get_data (cdk_subpkt_t ctx, size_t * r_type, size_t * r_nbytes) +const byte* +cdk_subpkt_get_data (cdk_subpkt_t ctx, size_t *r_type, size_t *r_nbytes) { if (!ctx || !r_nbytes) return NULL; @@ -675,59 +692,59 @@ } -byte * -_cdk_subpkt_get_array (cdk_subpkt_t s, int count, size_t * r_nbytes) +byte* +_cdk_subpkt_get_array (cdk_subpkt_t s, int count, size_t *r_nbytes) { cdk_subpkt_t list; byte *buf; size_t n, nbytes; - - if (!s) + + if (!s) { if (r_nbytes) *r_nbytes = 0; return NULL; } - + for (n = 0, list = s; list; list = list->next) { - n++; /* type */ + n++; /* type */ n += list->size; if (list->size < 192) n++; else if (list->size < 8384) n += 2; - else + else n += 5; } - buf = cdk_calloc (1, n + 1); + buf = cdk_calloc (1, n+1); if (!buf) return NULL; n = 0; for (list = s; list; list = list->next) { - nbytes = 1 + list->size; /* type */ + nbytes = 1 + list->size; /* type */ if (nbytes < 192) buf[n++] = nbytes; else if (nbytes < 8384) { buf[n++] = nbytes / 256 + 192; buf[n++] = nbytes % 256; - } + } else { buf[n++] = 0xFF; buf[n++] = nbytes >> 24; buf[n++] = nbytes >> 16; - buf[n++] = nbytes >> 8; + buf[n++] = nbytes >> 8; buf[n++] = nbytes; - } + } buf[n++] = list->type; memcpy (buf + n, list->d, list->size); n += list->size; } - + if (count) { cdk_free (buf); @@ -740,23 +757,23 @@ cdk_error_t -_cdk_subpkt_copy (cdk_subpkt_t * r_dst, cdk_subpkt_t src) +_cdk_subpkt_copy (cdk_subpkt_t *r_dst, cdk_subpkt_t src) { cdk_subpkt_t root, p, node; - + if (!src || !r_dst) return CDK_Inv_Value; - + root = NULL; - for (p = src; p; p = p->next) + for (p = src; p; p = p->next) { node = cdk_subpkt_new (p->size); - if (node) + if (node) { memcpy (node->d, p->d, p->size); node->type = p->type; node->size = p->size; - } + } if (!root) root = node; else @@ -777,11 +794,11 @@ * Set the packet data of the given root and set the type of it. **/ void -cdk_subpkt_init (cdk_subpkt_t node, size_t type, +cdk_subpkt_init (cdk_subpkt_t node, size_t type, const void *buf, size_t buflen) { if (!node) - return; + return; node->type = type; node->size = buflen; memcpy (node->d, buf, buflen); @@ -789,31 +806,31 @@ /* FIXME: We need to think of a public interface for it. */ -const byte * +const byte* cdk_key_desig_revoker_walk (cdk_desig_revoker_t root, - cdk_desig_revoker_t * ctx, - int *r_class, int *r_algid) + cdk_desig_revoker_t * ctx, + int *r_class, int *r_algid) { cdk_desig_revoker_t n; - - if (!*ctx) + + if (! *ctx) { *ctx = root; n = root; } - else + else { n = (*ctx)->next; *ctx = n; } - + if (n && r_class && r_algid) { *r_class = n->r_class; *r_algid = n->algid; } - - return n ? n->fpr : NULL; + + return n? n->fpr : NULL; } @@ -829,7 +846,7 @@ cdk_subpkt_find_next (cdk_subpkt_t root, size_t type) { cdk_subpkt_t node; - + for (node = root->next; node; node = node->next) { if (!type) @@ -837,6 +854,6 @@ else if (node->type == type) return node; } - + return NULL; } diff -Nru gnutls26-2.8.6/lib/opencdk/opencdk.h gnutls26-2.4.1/lib/opencdk/opencdk.h --- gnutls26-2.8.6/lib/opencdk/opencdk.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/opencdk.h 2008-06-30 21:45:51.000000000 +0100 @@ -25,13 +25,9 @@ #ifndef OPENCDK_H #define OPENCDK_H -#include /* for size_t */ +#include /* for size_t */ #include -#include -#include -#include -#include -#include +#include /* The OpenCDK version as a string. */ #define OPENCDK_VERSION "0.6.6" @@ -43,8 +39,11 @@ #ifdef __cplusplus extern "C" { +#if 0 +} #endif - +#endif + /* General contexts */ /* 'Session' handle to support the various options and run-time @@ -60,6 +59,10 @@ struct cdk_listkey_s; typedef struct cdk_listkey_s *cdk_listkey_t; +/* Opaque Data Encryption Key (DEK) context. */ +struct cdk_dek_s; +typedef struct cdk_dek_s *cdk_dek_t; + /* Opaque String to Key (S2K) handle. */ struct cdk_s2k_s; typedef struct cdk_s2k_s *cdk_s2k_t; @@ -100,276 +103,287 @@ typedef struct cdk_desig_revoker_s *cdk_desig_revoker_t; /* Alias for backward compatibility. */ -typedef bigint_t cdk_mpi_t; +typedef gcry_mpi_t cdk_mpi_t; /* All valid error constants. */ -typedef enum -{ - CDK_EOF = -1, - CDK_Success = 0, - CDK_General_Error = 1, - CDK_File_Error = 2, - CDK_Bad_Sig = 3, - CDK_Inv_Packet = 4, - CDK_Inv_Algo = 5, - CDK_Not_Implemented = 6, - CDK_Armor_Error = 8, - CDK_Armor_CRC_Error = 9, - CDK_MPI_Error = 10, - CDK_Inv_Value = 11, - CDK_Error_No_Key = 12, - CDK_Chksum_Error = 13, - CDK_Time_Conflict = 14, - CDK_Zlib_Error = 15, - CDK_Weak_Key = 16, - CDK_Out_Of_Core = 17, - CDK_Wrong_Seckey = 18, - CDK_Bad_MDC = 19, - CDK_Inv_Mode = 20, - CDK_Error_No_Keyring = 21, - CDK_Wrong_Format = 22, - CDK_Inv_Packet_Ver = 23, - CDK_Too_Short = 24, - CDK_Unusable_Key = 25, - CDK_No_Data = 26, - CDK_No_Passphrase = 27, - CDK_Network_Error = 28 +typedef enum { + CDK_EOF = -1, + CDK_Success = 0, + CDK_General_Error = 1, + CDK_File_Error = 2, + CDK_Bad_Sig = 3, + CDK_Inv_Packet = 4, + CDK_Inv_Algo = 5, + CDK_Not_Implemented = 6, + CDK_Armor_Error = 8, + CDK_Armor_CRC_Error = 9, + CDK_MPI_Error = 10, + CDK_Inv_Value = 11, + CDK_Error_No_Key = 12, + CDK_Chksum_Error = 13, + CDK_Time_Conflict = 14, + CDK_Zlib_Error = 15, + CDK_Weak_Key = 16, + CDK_Out_Of_Core = 17, + CDK_Wrong_Seckey = 18, + CDK_Bad_MDC = 19, + CDK_Inv_Mode = 20, + CDK_Error_No_Keyring = 21, + CDK_Wrong_Format = 22, + CDK_Inv_Packet_Ver = 23, + CDK_Too_Short = 24, + CDK_Unusable_Key = 25, + CDK_No_Data = 26, + CDK_No_Passphrase = 27, + CDK_Network_Error = 28 } cdk_error_t; -enum cdk_control_flags -{ - CDK_CTLF_SET = 0, /* Value to set an option */ - CDK_CTLF_GET = 1, /* Value to get an option */ - CDK_CTL_DIGEST = 10, /* Option to set the digest algorithm. */ - CDK_CTL_ARMOR = 12, /* Option to enable armor output. */ - CDK_CTL_COMPRESS = 13, /* Option to enable compression. */ - CDK_CTL_COMPAT = 14, /* Option to switch in compat mode. */ - CDK_CTL_OVERWRITE = 15, /* Option to enable file overwritting. */ - CDK_CTL_S2K = 16, /* Option to set S2K values. */ - CDK_CTL_FORCE_DIGEST = 19, /* Force the use of a digest algorithm. */ - CDK_CTL_BLOCKMODE_ON = 20 /* Enable partial body lengths */ +enum cdk_control_flags { + CDK_CTLF_SET = 0, /* Value to set an option */ + CDK_CTLF_GET = 1, /* Value to get an option */ + CDK_CTL_DIGEST = 10, /* Option to set the digest algorithm. */ + CDK_CTL_CIPHER = 11, /* Option to set the cipher algorithm. */ + CDK_CTL_ARMOR = 12, /* Option to enable armor output. */ + CDK_CTL_COMPRESS = 13, /* Option to enable compression. */ + CDK_CTL_COMPAT = 14, /* Option to switch in compat mode. */ + CDK_CTL_OVERWRITE = 15, /* Option to enable file overwritting. */ + CDK_CTL_S2K = 16, /* Option to set S2K values. */ + CDK_CTL_FORCE_DIGEST = 19, /* Force the use of a digest algorithm. */ + CDK_CTL_BLOCKMODE_ON = 20 /* Enable partial body lengths */ }; /* Specifies all valid log levels. */ -enum cdk_log_level_t -{ - CDK_LOG_NONE = 0, /* No log message will be shown. */ - CDK_LOG_INFO = 1, - CDK_LOG_DEBUG = 2, - CDK_LOG_DEBUG_PKT = 3 +enum cdk_log_level_t { + CDK_LOG_NONE = 0, /* No log message will be shown. */ + CDK_LOG_INFO = 1, + CDK_LOG_DEBUG = 2, + CDK_LOG_DEBUG_PKT = 3 }; /* All valid compression algorithms in OpenPGP */ -enum cdk_compress_algo_t -{ - CDK_COMPRESS_NONE = 0, - CDK_COMPRESS_ZIP = 1, - CDK_COMPRESS_ZLIB = 2, - CDK_COMPRESS_BZIP2 = 3 /* Not supported in this version */ +enum cdk_compress_algo_t { + CDK_COMPRESS_NONE = 0, + CDK_COMPRESS_ZIP = 1, + CDK_COMPRESS_ZLIB = 2, + CDK_COMPRESS_BZIP2 = 3 /* Not supported in this version */ }; + /* All valid public key algorithms valid in OpenPGP */ -enum cdk_pubkey_algo_t -{ - CDK_PK_UNKNOWN = 0, - CDK_PK_RSA = 1, - CDK_PK_RSA_E = 2, /* RSA-E and RSA-S are deprecated use RSA instead */ - CDK_PK_RSA_S = 3, /* and use the key flags in the self signatures. */ - CDK_PK_ELG_E = 16, - CDK_PK_DSA = 17 +enum cdk_pubkey_algo_t { + CDK_PK_RSA = 1, + CDK_PK_RSA_E = 2, /* RSA-E and RSA-S are deprecated use RSA instead */ + CDK_PK_RSA_S = 3, /* and use the key flags in the self signatures. */ + CDK_PK_ELG_E = 16, + CDK_PK_DSA = 17 }; + +/* All valid message digest algorithms in OpenPGP. */ +enum cdk_digest_algo_t { + CDK_MD_NONE = 0, + CDK_MD_MD5 = 1, + CDK_MD_SHA1 = 2, + CDK_MD_RMD160 = 3, + CDK_MD_SHA256 = 8, + CDK_MD_SHA384 = 9, + CDK_MD_SHA512 = 10, + CDK_MD_SHA224 = 11 /* This algorithm is NOT available. */ +}; + + +/* All valid symmetric cipher algorithms in OpenPGP */ +enum cdk_cipher_algo_t { + CDK_CIPHER_NONE = 0, + CDK_CIPHER_IDEA = 1, /* This algorithm is NOT available */ + CDK_CIPHER_3DES = 2, + CDK_CIPHER_CAST5 = 3, + CDK_CIPHER_BLOWFISH = 4, + CDK_CIPHER_AES = 7, + CDK_CIPHER_AES192 = 8, + CDK_CIPHER_AES256 = 9, + CDK_CIPHER_TWOFISH = 10 +}; + + /* The valid 'String-To-Key' modes */ -enum cdk_s2k_type_t -{ - CDK_S2K_SIMPLE = 0, - CDK_S2K_SALTED = 1, - CDK_S2K_ITERSALTED = 3, - CDK_S2K_GNU_EXT = 101 - /* GNU extensions: refer to DETAILS from GnuPG: - http://cvs.gnupg.org/cgi-bin/viewcvs.cgi/trunk/doc/DETAILS?root=GnuPG - */ +enum cdk_s2k_type_t { + CDK_S2K_SIMPLE = 0, + CDK_S2K_SALTED = 1, + CDK_S2K_ITERSALTED = 3 }; + /* The different kind of user ID preferences. */ -enum cdk_pref_type_t -{ - CDK_PREFTYPE_NONE = 0, - CDK_PREFTYPE_SYM = 1, /* Symmetric ciphers */ - CDK_PREFTYPE_HASH = 2, /* Message digests */ - CDK_PREFTYPE_ZIP = 3 /* Compression algorithms */ +enum cdk_pref_type_t { + CDK_PREFTYPE_NONE = 0, + CDK_PREFTYPE_SYM = 1, /* Symmetric ciphers */ + CDK_PREFTYPE_HASH = 2, /* Message digests */ + CDK_PREFTYPE_ZIP = 3 /* Compression algorithms */ }; /* All valid sub packet types. */ -enum cdk_sig_subpacket_t -{ - CDK_SIGSUBPKT_NONE = 0, - CDK_SIGSUBPKT_SIG_CREATED = 2, - CDK_SIGSUBPKT_SIG_EXPIRE = 3, - CDK_SIGSUBPKT_EXPORTABLE = 4, - CDK_SIGSUBPKT_TRUST = 5, - CDK_SIGSUBPKT_REGEXP = 6, - CDK_SIGSUBPKT_REVOCABLE = 7, - CDK_SIGSUBPKT_KEY_EXPIRE = 9, - CDK_SIGSUBPKT_PREFS_SYM = 11, - CDK_SIGSUBPKT_REV_KEY = 12, - CDK_SIGSUBPKT_ISSUER = 16, - CDK_SIGSUBPKT_NOTATION = 20, - CDK_SIGSUBPKT_PREFS_HASH = 21, - CDK_SIGSUBPKT_PREFS_ZIP = 22, - CDK_SIGSUBPKT_KS_FLAGS = 23, - CDK_SIGSUBPKT_PREF_KS = 24, - CDK_SIGSUBPKT_PRIMARY_UID = 25, - CDK_SIGSUBPKT_POLICY = 26, - CDK_SIGSUBPKT_KEY_FLAGS = 27, - CDK_SIGSUBPKT_SIGNERS_UID = 28, - CDK_SIGSUBPKT_REVOC_REASON = 29, - CDK_SIGSUBPKT_FEATURES = 30 +enum cdk_sig_subpacket_t { + CDK_SIGSUBPKT_NONE = 0, + CDK_SIGSUBPKT_SIG_CREATED = 2, + CDK_SIGSUBPKT_SIG_EXPIRE = 3, + CDK_SIGSUBPKT_EXPORTABLE = 4, + CDK_SIGSUBPKT_TRUST = 5, + CDK_SIGSUBPKT_REGEXP = 6, + CDK_SIGSUBPKT_REVOCABLE = 7, + CDK_SIGSUBPKT_KEY_EXPIRE = 9, + CDK_SIGSUBPKT_PREFS_SYM = 11, + CDK_SIGSUBPKT_REV_KEY = 12, + CDK_SIGSUBPKT_ISSUER = 16, + CDK_SIGSUBPKT_NOTATION = 20, + CDK_SIGSUBPKT_PREFS_HASH = 21, + CDK_SIGSUBPKT_PREFS_ZIP = 22, + CDK_SIGSUBPKT_KS_FLAGS = 23, + CDK_SIGSUBPKT_PREF_KS = 24, + CDK_SIGSUBPKT_PRIMARY_UID = 25, + CDK_SIGSUBPKT_POLICY = 26, + CDK_SIGSUBPKT_KEY_FLAGS = 27, + CDK_SIGSUBPKT_SIGNERS_UID = 28, + CDK_SIGSUBPKT_REVOC_REASON = 29, + CDK_SIGSUBPKT_FEATURES = 30 }; /* All valid armor types. */ -enum cdk_armor_type_t -{ - CDK_ARMOR_MESSAGE = 0, - CDK_ARMOR_PUBKEY = 1, - CDK_ARMOR_SECKEY = 2, - CDK_ARMOR_SIGNATURE = 3, - CDK_ARMOR_CLEARSIG = 4 -}; - -enum cdk_keydb_flag_t -{ - /* Valid database search modes */ - CDK_DBSEARCH_EXACT = 1, /* Exact string search */ - CDK_DBSEARCH_SUBSTR = 2, /* Sub string search */ - CDK_DBSEARCH_SHORT_KEYID = 3, /* 32-bit keyid search */ - CDK_DBSEARCH_KEYID = 4, /* 64-bit keyid search */ - CDK_DBSEARCH_FPR = 5, /* 160-bit fingerprint search */ - CDK_DBSEARCH_NEXT = 6, /* Enumerate all keys */ - CDK_DBSEARCH_AUTO = 7, /* Try to classify the string */ - /* Valid database types */ - CDK_DBTYPE_PK_KEYRING = 100, /* A file with one or more public keys */ - CDK_DBTYPE_SK_KEYRING = 101, /* A file with one or more secret keys */ - CDK_DBTYPE_DATA = 102, /* A buffer with at least one public key */ - CDK_DBTYPE_STREAM = 103 /* A stream is used to read keys from */ +enum cdk_armor_type_t { + CDK_ARMOR_MESSAGE = 0, + CDK_ARMOR_PUBKEY = 1, + CDK_ARMOR_SECKEY = 2, + CDK_ARMOR_SIGNATURE = 3, + CDK_ARMOR_CLEARSIG = 4 +}; + +enum cdk_keydb_flag_t { + /* Valid database search modes */ + CDK_DBSEARCH_EXACT = 1, /* Exact string search */ + CDK_DBSEARCH_SUBSTR = 2, /* Sub string search */ + CDK_DBSEARCH_SHORT_KEYID = 3, /* 32-bit keyid search */ + CDK_DBSEARCH_KEYID = 4, /* 64-bit keyid search */ + CDK_DBSEARCH_FPR = 5, /* 160-bit fingerprint search */ + CDK_DBSEARCH_NEXT = 6, /* Enumerate all keys */ + CDK_DBSEARCH_AUTO = 7, /* Try to classify the string */ + /* Valid database types */ + CDK_DBTYPE_PK_KEYRING = 100, /* A file with one or more public keys */ + CDK_DBTYPE_SK_KEYRING = 101, /* A file with one or more secret keys */ + CDK_DBTYPE_DATA = 102, /* A buffer with at least one public key */ + CDK_DBTYPE_STREAM = 103 /* A stream is used to read keys from */ }; /* All valid modes for cdk_data_transform() */ -enum cdk_crypto_mode_t -{ - CDK_CRYPTYPE_NONE = 0, - CDK_CRYPTYPE_ENCRYPT = 1, - CDK_CRYPTYPE_DECRYPT = 2, - CDK_CRYPTYPE_SIGN = 3, - CDK_CRYPTYPE_VERIFY = 4, - CDK_CRYPTYPE_EXPORT = 5, - CDK_CRYPTYPE_IMPORT = 6 +enum cdk_crypto_mode_t { + CDK_CRYPTYPE_NONE = 0, + CDK_CRYPTYPE_ENCRYPT = 1, + CDK_CRYPTYPE_DECRYPT = 2, + CDK_CRYPTYPE_SIGN = 3, + CDK_CRYPTYPE_VERIFY = 4, + CDK_CRYPTYPE_EXPORT = 5, + CDK_CRYPTYPE_IMPORT = 6 }; -#define CDK_KEY_USG_ENCR (CDK_KEY_USG_COMM_ENCR | CDK_KEY_USG_STORAGE_ENCR) -#define CDK_KEY_USG_SIGN (CDK_KEY_USG_DATA_SIGN | CDK_KEY_USG_CERT_SIGN) +#define CDK_KEY_USG_ENCR CDK_KEY_USG_COMM_ENCR|CDK_KEY_USG_STORAGE_ENCR +#define CDK_KEY_USG_SIGN CDK_KEY_USG_DATA_SIGN|CDK_KEY_USG_CERT_SIGN /* A list of valid public key usages. */ -enum cdk_key_usage_t -{ - CDK_KEY_USG_CERT_SIGN = 1, - CDK_KEY_USG_DATA_SIGN = 2, - CDK_KEY_USG_COMM_ENCR = 4, - CDK_KEY_USG_STORAGE_ENCR = 8, - CDK_KEY_USG_SPLIT_KEY = 16, - CDK_KEY_USG_AUTH = 32, - CDK_KEY_USG_SHARED_KEY = 128 +enum cdk_key_usage_t { + CDK_KEY_USG_CERT_SIGN = 1, + CDK_KEY_USG_DATA_SIGN = 2, + CDK_KEY_USG_COMM_ENCR = 4, + CDK_KEY_USG_STORAGE_ENCR = 8, + CDK_KEY_USG_SPLIT_KEY = 16, + CDK_KEY_USG_AUTH = 32, + CDK_KEY_USG_SHARED_KEY = 128 }; /* Valid flags for keys. */ -enum cdk_key_flag_t -{ - CDK_KEY_VALID = 0, - CDK_KEY_INVALID = 1, /* Missing or wrong self signature */ - CDK_KEY_EXPIRED = 2, /* Key is expired. */ - CDK_KEY_REVOKED = 4, /* Key has been revoked. */ - CDK_KEY_NOSIGNER = 8 +enum cdk_key_flag_t { + CDK_KEY_VALID = 0, + CDK_KEY_INVALID = 1, /* Missing or wrong self signature */ + CDK_KEY_EXPIRED = 2, /* Key is expired. */ + CDK_KEY_REVOKED = 4, /* Key has been revoked. */ + CDK_KEY_NOSIGNER = 8 }; /* Trust values and flags for keys and user IDs */ -enum cdk_trust_flag_t -{ - CDK_TRUST_UNKNOWN = 0, - CDK_TRUST_EXPIRED = 1, - CDK_TRUST_UNDEFINED = 2, - CDK_TRUST_NEVER = 3, - CDK_TRUST_MARGINAL = 4, - CDK_TRUST_FULLY = 5, - CDK_TRUST_ULTIMATE = 6, - /* trust flags */ - CDK_TFLAG_REVOKED = 32, - CDK_TFLAG_SUB_REVOKED = 64, - CDK_TFLAG_DISABLED = 128 +enum cdk_trust_flag_t { + CDK_TRUST_UNKNOWN = 0, + CDK_TRUST_EXPIRED = 1, + CDK_TRUST_UNDEFINED = 2, + CDK_TRUST_NEVER = 3, + CDK_TRUST_MARGINAL = 4, + CDK_TRUST_FULLY = 5, + CDK_TRUST_ULTIMATE = 6, + /* trust flags */ + CDK_TFLAG_REVOKED = 32, + CDK_TFLAG_SUB_REVOKED = 64, + CDK_TFLAG_DISABLED = 128 }; /* Signature states and the signature modes. */ -enum cdk_signature_stat_t -{ - /* Signature status */ - CDK_SIGSTAT_NONE = 0, - CDK_SIGSTAT_GOOD = 1, - CDK_SIGSTAT_BAD = 2, - CDK_SIGSTAT_NOKEY = 3, - CDK_SIGSTAT_VALID = 4, /* True if made with a valid key. */ - /* FIXME: We need indicators for revoked/expires signatures. */ - - /* Signature modes */ - CDK_SIGMODE_NORMAL = 100, - CDK_SIGMODE_DETACHED = 101, - CDK_SIGMODE_CLEAR = 102 +enum cdk_signature_stat_t { + /* Signature status */ + CDK_SIGSTAT_NONE = 0, + CDK_SIGSTAT_GOOD = 1, + CDK_SIGSTAT_BAD = 2, + CDK_SIGSTAT_NOKEY = 3, + CDK_SIGSTAT_VALID = 4, /* True if made with a valid key. */ + /* FIXME: We need indicators for revoked/expires signatures. */ + + /* Signature modes */ + CDK_SIGMODE_NORMAL = 100, + CDK_SIGMODE_DETACHED = 101, + CDK_SIGMODE_CLEAR = 102 }; /* Key flags. */ -typedef enum -{ - CDK_FLAG_KEY_REVOKED = 256, - CDK_FLAG_KEY_EXPIRED = 512, - CDK_FLAG_SIG_EXPIRED = 1024 +typedef enum { + CDK_FLAG_KEY_REVOKED = 256, + CDK_FLAG_KEY_EXPIRED = 512, + CDK_FLAG_SIG_EXPIRED = 1024 } cdk_key_flags_t; /* Possible format for the literal data. */ -typedef enum -{ +typedef enum { CDK_LITFMT_BINARY = 0, - CDK_LITFMT_TEXT = 1, - CDK_LITFMT_UNICODE = 2 -} cdk_lit_format_t; + CDK_LITFMT_TEXT = 1, + CDK_LITFMT_UNICODE= 2 +} cdk_lit_format_t; /* Valid OpenPGP packet types and their IDs */ -typedef enum -{ - CDK_PKT_RESERVED = 0, - CDK_PKT_PUBKEY_ENC = 1, - CDK_PKT_SIGNATURE = 2, - CDK_PKT_ONEPASS_SIG = 4, - CDK_PKT_SECRET_KEY = 5, - CDK_PKT_PUBLIC_KEY = 6, - CDK_PKT_SECRET_SUBKEY = 7, - CDK_PKT_COMPRESSED = 8, - CDK_PKT_MARKER = 10, - CDK_PKT_LITERAL = 11, - CDK_PKT_RING_TRUST = 12, - CDK_PKT_USER_ID = 13, - CDK_PKT_PUBLIC_SUBKEY = 14, - CDK_PKT_OLD_COMMENT = 16, - CDK_PKT_ATTRIBUTE = 17, - CDK_PKT_MDC = 19 +typedef enum { + CDK_PKT_RESERVED = 0, + CDK_PKT_PUBKEY_ENC = 1, + CDK_PKT_SIGNATURE = 2, + CDK_PKT_SYMKEY_ENC = 3, + CDK_PKT_ONEPASS_SIG = 4, + CDK_PKT_SECRET_KEY = 5, + CDK_PKT_PUBLIC_KEY = 6, + CDK_PKT_SECRET_SUBKEY = 7, + CDK_PKT_COMPRESSED = 8, + CDK_PKT_ENCRYPTED = 9, + CDK_PKT_MARKER = 10, + CDK_PKT_LITERAL = 11, + CDK_PKT_RING_TRUST = 12, + CDK_PKT_USER_ID = 13, + CDK_PKT_PUBLIC_SUBKEY = 14, + CDK_PKT_OLD_COMMENT = 16, + CDK_PKT_ATTRIBUTE = 17, + CDK_PKT_ENCRYPTED_MDC = 18, + CDK_PKT_MDC = 19 } cdk_packet_type_t; /* Define the maximal number of multiprecion integers for @@ -385,74 +399,70 @@ #define CDK_PKT_IS_ENCRYPTED(pkttype) (\ ((pkttype)==CDK_PKT_ENCRYPTED_MDC) \ || ((pkttype)==CDK_PKT_ENCRYPTED)) + - -struct cdk_pkt_signature_s -{ - unsigned char version; - unsigned char sig_class; - unsigned int timestamp; - unsigned int expiredate; - unsigned int keyid[2]; - unsigned char pubkey_algo; - unsigned char digest_algo; - unsigned char digest_start[2]; - unsigned short hashed_size; - cdk_subpkt_t hashed; - unsigned short unhashed_size; - cdk_subpkt_t unhashed; - bigint_t mpi[MAX_CDK_DATA_PARTS]; - cdk_desig_revoker_t revkeys; - struct - { - unsigned exportable:1; - unsigned revocable:1; - unsigned policy_url:1; - unsigned notation:1; - unsigned expired:1; - unsigned checked:1; - unsigned valid:1; - unsigned missing_key:1; - } flags; - unsigned int key[2]; /* only valid for key signatures */ +struct cdk_pkt_signature_s { + unsigned char version; + unsigned char sig_class; + unsigned int timestamp; + unsigned int expiredate; + unsigned int keyid[2]; + unsigned char pubkey_algo; + unsigned char digest_algo; + unsigned char digest_start[2]; + unsigned short hashed_size; + cdk_subpkt_t hashed; + unsigned short unhashed_size; + cdk_subpkt_t unhashed; + gcry_mpi_t mpi[MAX_CDK_DATA_PARTS]; + cdk_desig_revoker_t revkeys; + struct { + unsigned exportable:1; + unsigned revocable:1; + unsigned policy_url:1; + unsigned notation:1; + unsigned expired:1; + unsigned checked:1; + unsigned valid:1; + unsigned missing_key:1; + } flags; + unsigned int key[2]; /* only valid for key signatures */ }; typedef struct cdk_pkt_signature_s *cdk_pkt_signature_t; -struct cdk_pkt_userid_s -{ - unsigned int len; - unsigned is_primary:1; - unsigned is_revoked:1; - unsigned mdc_feature:1; - cdk_prefitem_t prefs; - size_t prefs_size; - unsigned char *attrib_img; /* Tag 17 if not null */ - size_t attrib_len; - cdk_pkt_signature_t selfsig; - char *name; +struct cdk_pkt_userid_s { + unsigned int len; + unsigned is_primary:1; + unsigned is_revoked:1; + unsigned mdc_feature:1; + cdk_prefitem_t prefs; + size_t prefs_size; + unsigned char * attrib_img; /* Tag 17 if not null */ + size_t attrib_len; + cdk_pkt_signature_t selfsig; + char name[1]; }; typedef struct cdk_pkt_userid_s *cdk_pkt_userid_t; -struct cdk_pkt_pubkey_s -{ - unsigned char version; - unsigned char pubkey_algo; - unsigned char fpr[20]; - unsigned int keyid[2]; - unsigned int main_keyid[2]; - unsigned int timestamp; - unsigned int expiredate; - bigint_t mpi[MAX_CDK_PK_PARTS]; - unsigned is_revoked:1; - unsigned is_invalid:1; - unsigned has_expired:1; - int pubkey_usage; - cdk_pkt_userid_t uid; - cdk_prefitem_t prefs; - size_t prefs_size; - cdk_desig_revoker_t revkeys; +struct cdk_pkt_pubkey_s { + unsigned char version; + unsigned char pubkey_algo; + unsigned char fpr[20]; + unsigned int keyid[2]; + unsigned int main_keyid[2]; + unsigned int timestamp; + unsigned int expiredate; + gcry_mpi_t mpi[MAX_CDK_PK_PARTS]; + unsigned is_revoked:1; + unsigned is_invalid:1; + unsigned has_expired:1; + int pubkey_usage; + cdk_pkt_userid_t uid; + cdk_prefitem_t prefs; + size_t prefs_size; + cdk_desig_revoker_t revkeys; }; typedef struct cdk_pkt_pubkey_s *cdk_pkt_pubkey_t; @@ -460,31 +470,29 @@ typedef cdk_pkt_pubkey_t cdk_pubkey_t; -struct cdk_pkt_seckey_s -{ - cdk_pkt_pubkey_t pk; - unsigned int expiredate; - int version; - int pubkey_algo; - unsigned int keyid[2]; - unsigned int main_keyid[2]; - unsigned char s2k_usage; - struct - { - unsigned char algo; - unsigned char sha1chk; /* SHA1 is used instead of a 16 bit checksum */ - cdk_s2k_t s2k; - unsigned char iv[16]; - unsigned char ivlen; - } protect; - unsigned short csum; - bigint_t mpi[MAX_CDK_PK_PARTS]; - unsigned char *encdata; - size_t enclen; - unsigned char is_protected; - unsigned is_primary:1; - unsigned has_expired:1; - unsigned is_revoked:1; +struct cdk_pkt_seckey_s { + cdk_pkt_pubkey_t pk; + unsigned int expiredate; + int version; + int pubkey_algo; + unsigned int keyid[2]; + unsigned int main_keyid[2]; + unsigned char s2k_usage; + struct { + unsigned char algo; + unsigned char sha1chk; /* SHA1 is used instead of a 16 bit checksum */ + cdk_s2k_t s2k; + unsigned char iv[16]; + unsigned char ivlen; + } protect; + unsigned short csum; + gcry_mpi_t mpi[MAX_CDK_PK_PARTS]; + unsigned char * encdata; + size_t enclen; + unsigned char is_protected; + unsigned is_primary:1; + unsigned has_expired:1; + unsigned is_revoked:1; }; typedef struct cdk_pkt_seckey_s *cdk_pkt_seckey_t; @@ -492,91 +500,138 @@ typedef cdk_pkt_seckey_t cdk_seckey_t; -struct cdk_pkt_onepass_sig_s -{ - unsigned char version; - unsigned int keyid[2]; - unsigned char sig_class; - unsigned char digest_algo; - unsigned char pubkey_algo; - unsigned char last; +struct cdk_pkt_onepass_sig_s { + unsigned char version; + unsigned int keyid[2]; + unsigned char sig_class; + unsigned char digest_algo; + unsigned char pubkey_algo; + unsigned char last; +}; +typedef struct cdk_pkt_onepass_sig_s * cdk_pkt_onepass_sig_t; + + +struct cdk_pkt_pubkey_enc_s { + unsigned char version; + unsigned int keyid[2]; + int throw_keyid; + unsigned char pubkey_algo; + gcry_mpi_t mpi[MAX_CDK_DATA_PARTS]; +}; +typedef struct cdk_pkt_pubkey_enc_s * cdk_pkt_pubkey_enc_t; + + +struct cdk_pkt_symkey_enc_s { + unsigned char version; + unsigned char cipher_algo; + cdk_s2k_t s2k; + unsigned char seskeylen; + unsigned char seskey[32]; }; -typedef struct cdk_pkt_onepass_sig_s *cdk_pkt_onepass_sig_t; - +typedef struct cdk_pkt_symkey_enc_s *cdk_pkt_symkey_enc_t; -struct cdk_pkt_pubkey_enc_s -{ - unsigned char version; - unsigned int keyid[2]; - int throw_keyid; - unsigned char pubkey_algo; - bigint_t mpi[MAX_CDK_DATA_PARTS]; -}; -typedef struct cdk_pkt_pubkey_enc_s *cdk_pkt_pubkey_enc_t; -struct cdk_pkt_encrypted_s -{ - unsigned int len; - int extralen; - unsigned char mdc_method; - cdk_stream_t buf; +struct cdk_pkt_encrypted_s { + unsigned int len; + int extralen; + unsigned char mdc_method; + cdk_stream_t buf; }; typedef struct cdk_pkt_encrypted_s *cdk_pkt_encrypted_t; -struct cdk_pkt_mdc_s -{ - unsigned char hash[20]; +struct cdk_pkt_mdc_s { + unsigned char hash[20]; }; typedef struct cdk_pkt_mdc_s *cdk_pkt_mdc_t; -struct cdk_pkt_literal_s -{ - unsigned int len; - cdk_stream_t buf; - int mode; - unsigned int timestamp; - int namelen; - char *name; +struct cdk_pkt_literal_s { + unsigned int len; + cdk_stream_t buf; + int mode; + unsigned int timestamp; + int namelen; + char name[1]; }; typedef struct cdk_pkt_literal_s *cdk_pkt_literal_t; -struct cdk_pkt_compressed_s -{ - unsigned int len; - int algorithm; - cdk_stream_t buf; +struct cdk_pkt_compressed_s { + unsigned int len; + int algorithm; + cdk_stream_t buf; }; typedef struct cdk_pkt_compressed_s *cdk_pkt_compressed_t; /* Structure which represents a single OpenPGP packet. */ -struct cdk_packet_s -{ - size_t pktlen; /* real packet length */ - size_t pktsize; /* length with all headers */ - int old_ctb; /* 1 if RFC1991 mode is used */ - cdk_packet_type_t pkttype; - union - { - cdk_pkt_mdc_t mdc; - cdk_pkt_userid_t user_id; - cdk_pkt_pubkey_t public_key; - cdk_pkt_seckey_t secret_key; - cdk_pkt_signature_t signature; - cdk_pkt_pubkey_enc_t pubkey_enc; - cdk_pkt_compressed_t compressed; - cdk_pkt_encrypted_t encrypted; - cdk_pkt_literal_t literal; - cdk_pkt_onepass_sig_t onepass_sig; - } pkt; +struct cdk_packet_s { + size_t pktlen; /* real packet length */ + size_t pktsize; /* length with all headers */ + int old_ctb; /* 1 if RFC1991 mode is used */ + cdk_packet_type_t pkttype; + union { + cdk_pkt_mdc_t mdc; + cdk_pkt_userid_t user_id; + cdk_pkt_pubkey_t public_key; + cdk_pkt_seckey_t secret_key; + cdk_pkt_signature_t signature; + cdk_pkt_pubkey_enc_t pubkey_enc; + cdk_pkt_symkey_enc_t symkey_enc; + cdk_pkt_compressed_t compressed; + cdk_pkt_encrypted_t encrypted; + cdk_pkt_literal_t literal; + cdk_pkt_onepass_sig_t onepass_sig; + } pkt; }; typedef struct cdk_packet_s *cdk_packet_t; +/* memory routines */ +typedef void (*cdk_log_fnc_t) (void *, int, const char *, va_list); + +/* Set the log level. */ +void cdk_set_log_level (int lvl); + +/* Set a custom log handler which is used for logging. */ +void cdk_set_log_handler (cdk_log_fnc_t logfnc, void *opaque); + +/* Return a human readable error description of the given error coe. */ +const char* cdk_strerror (int ec); + +/* Allow the user to set custom hooks for memory allocation. + If this function is not used, the standard allocation functions + will be used. Extra care must be taken for the 'secure' alloc + function. */ +void cdk_set_malloc_hooks (void *(*new_alloc_func) (size_t n), + void *(*new_alloc_secure_func) (size_t n), + void *(*new_realloc_func) (void *p, size_t n), + void *(*new_calloc_func) (size_t m, size_t n), + void (*new_free_func) (void *)); + +/* Return 1 if the malloc hooks were already set via the function above. */ +int cdk_malloc_hook_initialized (void); + +/* Standard memory wrapper. */ +void *cdk_malloc (size_t size); +void *cdk_calloc (size_t n, size_t m); +void *cdk_realloc (void * ptr, size_t size); +void *cdk_salloc (size_t size, int clear); +char *cdk_strdup (const char * ptr); +void cdk_free (void * ptr); + +/* Startup routines. */ + +/* This function has to be called before any other + CDK function is executed. */ +void cdk_lib_startup (void); + +/* This function should be called before the application exists + to allow the lib to cleanup its internal structures. */ +void cdk_lib_shutdown (void); + /* Session handle routines */ -cdk_error_t cdk_handle_new (cdk_ctx_t * r_ctx); +cdk_error_t cdk_handle_new (cdk_ctx_t *r_ctx); void cdk_handle_free (cdk_ctx_t c); /* Set the key database handle for the given session handle. @@ -587,8 +642,8 @@ /* Convenient function to avoid to open a key db first. The user can directly use the file name, the rest is done internally. */ -cdk_error_t cdk_handle_set_keyring (cdk_ctx_t hd, int type, - const char *kringname); +cdk_error_t cdk_handle_set_keyring (cdk_ctx_t hd, int type, + const char *kringname); /* Return keydb handle stored in the session handle. */ cdk_keydb_hd_t cdk_handle_get_keydb (cdk_ctx_t hd, int type); @@ -596,9 +651,8 @@ /* Set a passphrase callback for the given session handle. */ void cdk_handle_set_passphrase_cb (cdk_ctx_t hd, - char *(*cb) (void *opa, - const char *prompt), - void *cb_value); + char *(*cb) (void *opa, const char *prompt), + void *cb_value); /* shortcuts for some controls */ @@ -611,11 +665,15 @@ cdk_handle_control ((a), CDK_CTLF_SET, CDK_CTL_COMPRESS, (algo), (level)) /* Activate partial bodies for the output. This is needed if the length - of the data is not known in advance or for the use with sockets + of the data is not known in advance or for the use with sockets or pipes. */ #define cdk_handle_set_blockmode(a, val) \ cdk_handle_control ((a), CDK_CTLF_SET, CDK_CTL_BLOCKMODE_ON, (val)) +/* Set the symmetric cipher for encryption. */ +#define cdk_handle_set_cipher(a, val) \ + cdk_handle_control ((a), CDK_CTLF_SET, CDK_CTL_CIPHER, (val)) + /* Set the digest for the PK signing operation. */ #define cdk_handle_set_digest(a, val) \ cdk_handle_control ((a), CDK_CTLF_SET, CDK_CTL_DIGEST, (val)) @@ -626,21 +684,20 @@ /* This context holds all information of the verification process. */ -struct cdk_verify_result_s -{ - int sig_ver; /* Version of the signature. */ - int sig_status; /* The status (GOOD, BAD) of the signature */ - int sig_flags; /* May contain expired or revoked flags */ - unsigned int keyid[2]; /* The issuer key ID */ - unsigned int created; /* Timestamp when the sig was created. */ +struct cdk_verify_result_s { + int sig_ver; /* Version of the signature. */ + int sig_status; /* The status (GOOD, BAD) of the signature */ + int sig_flags; /* May contain expired or revoked flags */ + unsigned int keyid[2]; /* The issuer key ID */ + unsigned int created; /* Timestamp when the sig was created. */ unsigned int expires; int pubkey_algo; int digest_algo; - char *user_id; /* NULL or user ID which issued the signature. */ - char *policy_url; /* If set, the policy the sig was created under. */ - size_t sig_len; /* Size of the signature data inbits. */ - unsigned char *sig_data; /* Raw signature data. */ -}; + char *user_id; /* NULL or user ID which issued the signature. */ + char *policy_url; /* If set, the policy the sig was created under. */ + size_t sig_len; /* Size of the signature data inbits. */ + unsigned char *sig_data; /* Raw signature data. */ +}; typedef struct cdk_verify_result_s *cdk_verify_result_t; /* Return the verify result. Do not free the data. */ @@ -649,8 +706,8 @@ /* Raw packet routines. */ /* Allocate a new packet or a new packet with the given packet type. */ -cdk_error_t cdk_pkt_new (cdk_packet_t * r_pkt); -cdk_error_t cdk_pkt_alloc (cdk_packet_t * r_pkt, cdk_packet_type_t pkttype); +cdk_error_t cdk_pkt_new (cdk_packet_t *r_pkt); +cdk_error_t cdk_pkt_alloc (cdk_packet_t *r_pkt, int pkttype); /* Only release the contents of the packet but not @PKT itself. */ void cdk_pkt_free (cdk_packet_t pkt); @@ -668,61 +725,60 @@ cdk_subpkt_t cdk_subpkt_find (cdk_subpkt_t ctx, size_t type); cdk_subpkt_t cdk_subpkt_find_next (cdk_subpkt_t root, size_t type); size_t cdk_subpkt_type_count (cdk_subpkt_t ctx, size_t type); -cdk_subpkt_t cdk_subpkt_find_nth (cdk_subpkt_t ctx, size_t type, - size_t index); +cdk_subpkt_t cdk_subpkt_find_nth (cdk_subpkt_t ctx, size_t type, size_t index); cdk_error_t cdk_subpkt_add (cdk_subpkt_t root, cdk_subpkt_t node); -const unsigned char *cdk_subpkt_get_data (cdk_subpkt_t ctx, - size_t * r_type, size_t * r_nbytes); +const unsigned char * cdk_subpkt_get_data (cdk_subpkt_t ctx, + size_t * r_type, size_t *r_nbytes); void cdk_subpkt_init (cdk_subpkt_t node, size_t type, const void *buf, size_t buflen); /* Designated Revoker routines */ -const unsigned char *cdk_key_desig_revoker_walk (cdk_desig_revoker_t root, - cdk_desig_revoker_t * ctx, - int *r_class, int *r_algid); - -#define is_RSA(a) ((a) == CDK_PK_RSA \ - || (a) == CDK_PK_RSA_E \ - || (a) == CDK_PK_RSA_S) +const unsigned char* cdk_key_desig_revoker_walk (cdk_desig_revoker_t root, + cdk_desig_revoker_t * ctx, + int *r_class, int *r_algid); + +#define is_RSA(a) ((a) == CDK_PK_RSA \ + || (a) == CDK_PK_RSA_E \ + || (a) == CDK_PK_RSA_S) #define is_ELG(a) ((a) == CDK_PK_ELG_E) #define is_DSA(a) ((a) == CDK_PK_DSA) /* Encrypt the given session key @SK with the public key @PK and write the contents into the packet @PKE. */ cdk_error_t cdk_pk_encrypt (cdk_pubkey_t pk, cdk_pkt_pubkey_enc_t pke, - bigint_t sk); - + gcry_mpi_t sk); + /* Decrypt the given encrypted session key in @PKE with the secret key @SK and store it in @R_SK. */ cdk_error_t cdk_pk_decrypt (cdk_seckey_t sk, cdk_pkt_pubkey_enc_t pke, - bigint_t * r_sk); - + gcry_mpi_t *r_sk); + /* Sign the given message digest @MD with the secret key @SK and store the signature in the packet @SIG. */ cdk_error_t cdk_pk_sign (cdk_seckey_t sk, cdk_pkt_signature_t sig, - const unsigned char *md); - + const unsigned char *md); + /* Verify the given signature in @SIG with the public key @PK and compare it against the message digest @MD. */ cdk_error_t cdk_pk_verify (cdk_pubkey_t pk, cdk_pkt_signature_t sig, const unsigned char *md); - + /* Use cdk_pk_get_npkey() and cdk_pk_get_nskey to find out how much multiprecision integers a key consists of. */ - + /* Return a multi precision integer of the public key with the index @IDX in the buffer @BUF. @R_NWRITTEN will contain the length in octets. Optional @R_NBITS may contain the size in bits. */ cdk_error_t cdk_pk_get_mpi (cdk_pubkey_t pk, size_t idx, unsigned char *buf, size_t buflen, - size_t * r_nwritten, size_t * r_nbits); + size_t *r_nwritten, size_t *r_nbits); /* Same as the function above but of the secret key. */ cdk_error_t cdk_sk_get_mpi (cdk_seckey_t sk, size_t idx, - unsigned char *buf, size_t buflen, - size_t * r_nwritten, size_t * r_nbits); - -/* Helper to get the exact number of multi precision integers + unsigned char * buf, size_t buflen, + size_t *r_nwritten, size_t *r_nbits); + +/* Helper to get the exact number of multi precision integers for the given object. */ int cdk_pk_get_nbits (cdk_pubkey_t pk); int cdk_pk_get_npkey (int algo); @@ -738,92 +794,131 @@ /* Same as above, but with additional sanity checks of the buffer size. */ cdk_error_t cdk_pk_to_fingerprint (cdk_pubkey_t pk, - unsigned char *fpr, size_t fprlen, - size_t * r_nout); + unsigned char *fpr, size_t fprlen, + size_t *r_nout); /* Derive the keyid from the fingerprint. This is only possible for modern, version 4 keys. */ unsigned int cdk_pk_fingerprint_get_keyid (const unsigned char *fpr, - size_t fprlen, - unsigned int *keyid); - + size_t fprlen, + unsigned int *keyid); + /* Various functions to get the keyid from the specific packet type. */ unsigned int cdk_pk_get_keyid (cdk_pubkey_t pk, unsigned int *keyid); unsigned int cdk_sk_get_keyid (cdk_seckey_t sk, unsigned int *keyid); -unsigned int cdk_sig_get_keyid (cdk_pkt_signature_t sig, unsigned int *keyid); - +unsigned int cdk_sig_get_keyid (cdk_pkt_signature_t sig, + unsigned int *keyid); + /* Key release functions. */ void cdk_pk_release (cdk_pubkey_t pk); void cdk_sk_release (cdk_seckey_t sk); + +/* Secret key related functions. */ +cdk_error_t cdk_sk_unprotect (cdk_seckey_t sk, const char *pw); +cdk_error_t cdk_sk_protect (cdk_seckey_t sk, const char *pw); /* Create a public key with the data from the secret key @SK. */ -cdk_error_t cdk_pk_from_secret_key (cdk_seckey_t sk, cdk_pubkey_t * ret_pk); +cdk_error_t cdk_pk_from_secret_key (cdk_seckey_t sk, + cdk_pubkey_t *ret_pk); /* Sexp conversion of keys. */ -cdk_error_t cdk_pubkey_to_sexp (cdk_pubkey_t pk, char **sexp, size_t * len); -cdk_error_t cdk_seckey_to_sexp (cdk_seckey_t sk, char **sexp, size_t * len); - +cdk_error_t cdk_pubkey_to_sexp (cdk_pubkey_t pk, + char **sexp, size_t *len); +cdk_error_t cdk_seckey_to_sexp (cdk_seckey_t sk, + char **sexp, size_t *len); + + +/* Data Encryption Key (DEK) routines */ +cdk_error_t cdk_dek_new (cdk_dek_t *r_dek); +void cdk_dek_free (cdk_dek_t dek); + +/* Set the symmetric cipher algorithm which shall be used for this + DEK object. */ +cdk_error_t cdk_dek_set_cipher (cdk_dek_t dek, int cipher_algo); + +/* Return the symmetric cipher which is used for this DEK object. */ +cdk_error_t cdk_dek_get_cipher (cdk_dek_t dek, int *r_cipher_algo); + + +/* Set the session key for the given DEK object. + If @KEY and @KEYLEN are both NULL/0, a random key will be generated + and stored in the DEK object. */ +cdk_error_t cdk_dek_set_key (cdk_dek_t dek, const unsigned char *key, + size_t keylen); + +/* Enable the MDC feature for the current DEK object. */ +void cdk_dek_set_mdc_flag (cdk_dek_t dek, int val); + +/* Return if the MDC feature is enabled for the current DEK object.*/ +int cdk_dek_get_mdc_flag (cdk_dek_t dek); + +/* Transform the given passphrase into a DEK. + If @rndsalt is set, a random salt will be generated. */ +cdk_error_t cdk_dek_from_passphrase (cdk_dek_t *ret_dek, int cipher_algo, + cdk_s2k_t s2k, int rndsalt, + const char *passphrase); /* String to Key routines. */ -cdk_error_t cdk_s2k_new (cdk_s2k_t * ret_s2k, int mode, int digest_algo, - const unsigned char *salt); +cdk_error_t cdk_s2k_new (cdk_s2k_t *ret_s2k, int mode, int digest_algo, + const unsigned char *salt); void cdk_s2k_free (cdk_s2k_t s2k); cdk_error_t cdk_file_armor (cdk_ctx_t hd, const char *file, - const char *output); -cdk_error_t cdk_file_dearmor (const char *file, const char *output); -int cdk_armor_filter_use (cdk_stream_t inp); + const char *output); +cdk_error_t cdk_file_dearmor (const char * file, const char *output); +int cdk_armor_filter_use (cdk_stream_t inp); /* Protect the inbuf with ASCII armor of the specified type. If @outbuf and @outlen are NULL, the function returns the calculated size of the base64 encoded data in @nwritten. */ cdk_error_t cdk_armor_encode_buffer (const unsigned char *inbuf, size_t inlen, - char *outbuf, size_t outlen, - size_t * nwritten, int type); - + char *outbuf, size_t outlen, + size_t *nwritten, int type); + /* This context contain user callbacks for different stream operations. Some of these callbacks might be NULL to indicate that the callback is not used. */ struct cdk_stream_cbs_s { - cdk_error_t (*open) (void *); - cdk_error_t (*release) (void *); - int (*read) (void *, void *buf, size_t); - int (*write) (void *, const void *buf, size_t); - int (*seek) (void *, off_t); + cdk_error_t (*open)(void *); + cdk_error_t (*release)(void *); + int (*read)(void *, void *buf, size_t); + int (*write)(void *, const void *buf, size_t); + int (*seek)(void *, off_t); }; typedef struct cdk_stream_cbs_s *cdk_stream_cbs_t; + int cdk_stream_is_compressed (cdk_stream_t s); /* Return a stream object which is associated to a socket. */ cdk_error_t cdk_stream_sockopen (const char *host, unsigned short port, - cdk_stream_t * ret_out); - + cdk_stream_t *ret_out); + /* Return a stream object which is associated to an existing file. */ -cdk_error_t cdk_stream_open (const char *file, cdk_stream_t * ret_s); +cdk_error_t cdk_stream_open (const char * file, cdk_stream_t * ret_s); /* Return a stream object which is associated to a file which will be created when the stream is closed. */ -cdk_error_t cdk_stream_new (const char *file, cdk_stream_t * ret_s); +cdk_error_t cdk_stream_new (const char * file, cdk_stream_t * ret_s); /* Return a stream object with custom callback functions for the various core operations. */ cdk_error_t cdk_stream_new_from_cbs (cdk_stream_cbs_t cbs, void *opa, - cdk_stream_t * ret_s); -cdk_error_t cdk_stream_create (const char *file, cdk_stream_t * ret_s); -cdk_error_t cdk_stream_tmp_new (cdk_stream_t * r_out); -cdk_error_t cdk_stream_tmp_from_mem (const void *buf, size_t buflen, - cdk_stream_t * r_out); + cdk_stream_t *ret_s); +cdk_error_t cdk_stream_create (const char * file, cdk_stream_t * ret_s); +cdk_error_t cdk_stream_tmp_new (cdk_stream_t *r_out); +cdk_error_t cdk_stream_tmp_from_mem (const void * buf, size_t buflen, + cdk_stream_t *r_out); void cdk_stream_tmp_set_mode (cdk_stream_t s, int val); cdk_error_t cdk_stream_flush (cdk_stream_t s); cdk_error_t cdk_stream_enable_cache (cdk_stream_t s, int val); cdk_error_t cdk_stream_filter_disable (cdk_stream_t s, int type); cdk_error_t cdk_stream_close (cdk_stream_t s); off_t cdk_stream_get_length (cdk_stream_t s); -int cdk_stream_read (cdk_stream_t s, void *buf, size_t count); -int cdk_stream_write (cdk_stream_t s, const void *buf, size_t count); +int cdk_stream_read (cdk_stream_t s, void * buf, size_t count); +int cdk_stream_write (cdk_stream_t s, const void * buf, size_t count); int cdk_stream_putc (cdk_stream_t s, int c); int cdk_stream_getc (cdk_stream_t s); int cdk_stream_eof (cdk_stream_t s); @@ -832,21 +927,21 @@ cdk_error_t cdk_stream_set_armor_flag (cdk_stream_t s, int type); /* Push the literal filter for the given stream. */ -cdk_error_t cdk_stream_set_literal_flag (cdk_stream_t s, - cdk_lit_format_t mode, - const char *fname); - -cdk_error_t cdk_stream_set_compress_flag (cdk_stream_t s, int algo, - int level); +cdk_error_t cdk_stream_set_literal_flag (cdk_stream_t s, + cdk_lit_format_t mode, + const char * fname); + +cdk_error_t cdk_stream_set_cipher_flag (cdk_stream_t s, cdk_dek_t dek, + int use_mdc); +cdk_error_t cdk_stream_set_compress_flag (cdk_stream_t s, int algo, int level); cdk_error_t cdk_stream_set_hash_flag (cdk_stream_t s, int algo); -cdk_error_t cdk_stream_set_text_flag (cdk_stream_t s, const char *lf); +cdk_error_t cdk_stream_set_text_flag (cdk_stream_t s, const char * lf); cdk_error_t cdk_stream_kick_off (cdk_stream_t inp, cdk_stream_t out); cdk_error_t cdk_stream_mmap (cdk_stream_t s, unsigned char **ret_buf, - size_t * ret_buflen); + size_t *ret_buflen); cdk_error_t cdk_stream_mmap_part (cdk_stream_t s, off_t off, size_t len, - unsigned char **ret_buf, - size_t * ret_buflen); - + unsigned char **ret_buf, size_t *ret_buflen); + /* Read from the stream but restore the file pointer after reading the requested amount of bytes. */ int cdk_stream_peek (cdk_stream_t inp, unsigned char *buf, size_t buflen); @@ -854,36 +949,34 @@ /* A wrapper around the various new_from_XXX functions. Because the function does not support all combinations, the dedicated functions should be preferred. */ -cdk_error_t cdk_keydb_new (cdk_keydb_hd_t * r_hd, int type, void *data, - size_t count); +cdk_error_t cdk_keydb_new (cdk_keydb_hd_t *r_hd, int type, void *data, + size_t count); /* Create a new key db handle from a memory buffer. */ -cdk_error_t cdk_keydb_new_from_mem (cdk_keydb_hd_t * r_hd, int secret, - const void *data, size_t datlen); +cdk_error_t cdk_keydb_new_from_mem (cdk_keydb_hd_t *r_hd, int secret, + const void *data, size_t datlen); /* Create a new key db which uses an existing file. */ -cdk_error_t cdk_keydb_new_from_file (cdk_keydb_hd_t * r_hd, int secret, - const char *fname); - +cdk_error_t cdk_keydb_new_from_file (cdk_keydb_hd_t *r_hd, int secret, + const char *fname); + /* Uses a stream as the key db input. For searching it is important that the seek function is supported on the stream. Furthermore, the stream is not closed in cdk_keydb_free(). The caller must do it. */ -cdk_error_t cdk_keydb_new_from_stream (cdk_keydb_hd_t * r_hd, int secret, - cdk_stream_t in); +cdk_error_t cdk_keydb_new_from_stream (cdk_keydb_hd_t *r_hd, int secret, + cdk_stream_t in); /* Check that a secret key with the given key ID is available. */ cdk_error_t cdk_keydb_check_sk (cdk_keydb_hd_t hd, unsigned int *keyid); /* Prepare the key db search. */ -cdk_error_t cdk_keydb_search_start (cdk_keydb_search_t * st, - cdk_keydb_hd_t db, int type, void *desc); +cdk_error_t cdk_keydb_search_start (cdk_keydb_search_t* st, cdk_keydb_hd_t db, int type, void *desc); -void cdk_keydb_search_release (cdk_keydb_search_t st); +void cdk_keydb_search_release( cdk_keydb_search_t st); -/* Return a key which matches a valid description given in +/* Return a key which matches a valid description given in cdk_keydb_search_start(). */ -cdk_error_t cdk_keydb_search (cdk_keydb_search_t st, cdk_keydb_hd_t hd, - cdk_kbnode_t * ret_key); +cdk_error_t cdk_keydb_search (cdk_keydb_search_t st, cdk_keydb_hd_t hd, cdk_kbnode_t *ret_key); /* Release the key db handle and all its resources. */ void cdk_keydb_free (cdk_keydb_hd_t hd); @@ -891,20 +984,20 @@ /* The following functions will try to find a key in the given key db handle either by keyid, by fingerprint or by some pattern. */ cdk_error_t cdk_keydb_get_bykeyid (cdk_keydb_hd_t hd, unsigned int *keyid, - cdk_kbnode_t * ret_pk); + cdk_kbnode_t *ret_pk); cdk_error_t cdk_keydb_get_byfpr (cdk_keydb_hd_t hd, const unsigned char *fpr, - cdk_kbnode_t * ret_pk); + cdk_kbnode_t *ret_pk); cdk_error_t cdk_keydb_get_bypattern (cdk_keydb_hd_t hd, const char *patt, - cdk_kbnode_t * ret_pk); + cdk_kbnode_t *ret_pk); /* These function, in contrast to most other key db functions, only return the public or secret key packet without the additional signatures and user IDs. */ -cdk_error_t cdk_keydb_get_pk (cdk_keydb_hd_t khd, unsigned int *keyid, - cdk_pubkey_t * ret_pk); -cdk_error_t cdk_keydb_get_sk (cdk_keydb_hd_t khd, unsigned int *keyid, - cdk_seckey_t * ret_sk); - +cdk_error_t cdk_keydb_get_pk (cdk_keydb_hd_t khd, unsigned int * keyid, + cdk_pubkey_t *ret_pk); +cdk_error_t cdk_keydb_get_sk (cdk_keydb_hd_t khd, unsigned int * keyid, + cdk_seckey_t *ret_sk); + /* Try to read the next key block from the given input stream. The key will be returned in @RET_KEY on success. */ cdk_error_t cdk_keydb_get_keyblock (cdk_stream_t inp, cdk_kbnode_t * ret_key); @@ -916,7 +1009,7 @@ the stream @OUT. The export is done by substring search and uses the string list @REMUSR for the pattern. */ cdk_error_t cdk_keydb_export (cdk_keydb_hd_t hd, cdk_stream_t out, - cdk_strlist_t remusr); + cdk_strlist_t remusr); /* Import the given key node @knode into the key db. */ cdk_error_t cdk_keydb_import (cdk_keydb_hd_t hd, cdk_kbnode_t knode); @@ -926,137 +1019,168 @@ /* Start the key list process. Either use @PATT for a pattern search or @FPATT for a list of pattern. */ -cdk_error_t cdk_listkey_start (cdk_listkey_t * r_ctx, cdk_keydb_hd_t db, - const char *patt, cdk_strlist_t fpatt); +cdk_error_t cdk_listkey_start (cdk_listkey_t *r_ctx, cdk_keydb_hd_t db, + const char *patt, cdk_strlist_t fpatt); void cdk_listkey_close (cdk_listkey_t ctx); /* Return the next key which matches the pattern. */ -cdk_error_t cdk_listkey_next (cdk_listkey_t ctx, cdk_kbnode_t * ret_key); +cdk_error_t cdk_listkey_next (cdk_listkey_t ctx, cdk_kbnode_t *ret_key); cdk_kbnode_t cdk_kbnode_new (cdk_packet_t pkt); cdk_error_t cdk_kbnode_read_from_mem (cdk_kbnode_t * ret_node, - const unsigned char *buf, - size_t buflen); + const unsigned char * buf, + size_t buflen); cdk_error_t cdk_kbnode_write_to_mem (cdk_kbnode_t node, - unsigned char *buf, size_t * r_nbytes); + unsigned char * buf, size_t * r_nbytes); cdk_error_t cdk_kbnode_write_to_mem_alloc (cdk_kbnode_t node, - unsigned char **r_buf, - size_t * r_buflen); - + unsigned char **r_buf, + size_t *r_buflen); + void cdk_kbnode_release (cdk_kbnode_t node); -void cdk_kbnode_delete (cdk_kbnode_t node); -void cdk_kbnode_insert (cdk_kbnode_t root, cdk_kbnode_t node, - cdk_packet_type_t pkttype); -int cdk_kbnode_commit (cdk_kbnode_t * root); -void cdk_kbnode_remove (cdk_kbnode_t * root, cdk_kbnode_t node); -void cdk_kbnode_move (cdk_kbnode_t * root, cdk_kbnode_t node, - cdk_kbnode_t where); cdk_kbnode_t cdk_kbnode_walk (cdk_kbnode_t root, cdk_kbnode_t * ctx, int all); -cdk_packet_t cdk_kbnode_find_packet (cdk_kbnode_t node, - cdk_packet_type_t pkttype); +cdk_packet_t cdk_kbnode_find_packet (cdk_kbnode_t node, int pkttype); cdk_packet_t cdk_kbnode_get_packet (cdk_kbnode_t node); -cdk_kbnode_t cdk_kbnode_find (cdk_kbnode_t node, cdk_packet_type_t pkttype); +cdk_kbnode_t cdk_kbnode_find (cdk_kbnode_t node, int pkttype); cdk_kbnode_t cdk_kbnode_find_prev (cdk_kbnode_t root, cdk_kbnode_t node, - cdk_packet_type_t pkttype); -cdk_kbnode_t cdk_kbnode_find_next (cdk_kbnode_t node, - cdk_packet_type_t pkttype); -cdk_error_t cdk_kbnode_hash (cdk_kbnode_t node, digest_hd_st * md, int is_v4, - cdk_packet_type_t pkttype, int flags); + int pkttype); +cdk_kbnode_t cdk_kbnode_find_next (cdk_kbnode_t node, int pkttype); +cdk_error_t cdk_kbnode_hash (cdk_kbnode_t node, gcry_md_hd_t md, int is_v4, + int pkttype, int flags); /* Check each signature in the key node and return a summary of the key status in @r_status. Values of cdk_key_flag_t are used. */ cdk_error_t cdk_pk_check_sigs (cdk_kbnode_t knode, cdk_keydb_hd_t hd, - int *r_status); + int *r_status); /* Check the self signature of the key to make sure it is valid. */ cdk_error_t cdk_pk_check_self_sig (cdk_kbnode_t knode, int *r_status); -/* Return a matching algorithm from the given public key list. +/* Return a matching algorithm from the given public key list. @PREFTYPE can be either sym-cipher/compress/digest. */ int cdk_pklist_select_algo (cdk_keylist_t pkl, int preftype); /* Return 0 or 1 if the given key list is able to understand the MDC feature. */ int cdk_pklist_use_mdc (cdk_keylist_t pkl); -cdk_error_t cdk_pklist_build (cdk_keylist_t * ret_pkl, cdk_keydb_hd_t hd, - cdk_strlist_t remusr, int use); +cdk_error_t cdk_pklist_build (cdk_keylist_t *ret_pkl, cdk_keydb_hd_t hd, + cdk_strlist_t remusr, int use); void cdk_pklist_release (cdk_keylist_t pkl); +/* Encrypt the given DEK key with the list of public keys given + in @PKL. The result will be written to the stream output @OUT. */ +cdk_error_t cdk_pklist_encrypt (cdk_keylist_t pkl, cdk_dek_t dek, + cdk_stream_t out); + /* Secret key lists */ cdk_error_t cdk_sklist_build (cdk_keylist_t * ret_skl, - cdk_keydb_hd_t db, cdk_ctx_t hd, - cdk_strlist_t locusr, - int unlock, unsigned int use); + cdk_keydb_hd_t db, cdk_ctx_t hd, + cdk_strlist_t locusr, + int unlock, unsigned int use); void cdk_sklist_release (cdk_keylist_t skl); cdk_error_t cdk_sklist_write (cdk_keylist_t skl, cdk_stream_t outp, - digest_hd_st * mdctx, int sigclass, int sigver); + gcry_md_hd_t mdctx, + int sigclass, int sigver); cdk_error_t cdk_sklist_write_onepass (cdk_keylist_t skl, cdk_stream_t outp, - int sigclass, int mdalgo); + int sigclass, int mdalgo); /* Encrypt the given stream @INP with the recipients given in @REMUSR. If @REMUSR is NULL, symmetric encryption will be used. The output will be written to @OUT. */ cdk_error_t cdk_stream_encrypt (cdk_ctx_t hd, cdk_strlist_t remusr, - cdk_stream_t inp, cdk_stream_t out); - + cdk_stream_t inp, cdk_stream_t out); + /* Decrypt the @INP stream into @OUT. */ -cdk_error_t cdk_stream_decrypt (cdk_ctx_t hd, cdk_stream_t inp, +cdk_error_t cdk_stream_decrypt (cdk_ctx_t hd, cdk_stream_t inp, cdk_stream_t out); /* Same as the function above but it works on files. */ cdk_error_t cdk_file_encrypt (cdk_ctx_t hd, cdk_strlist_t remusr, - const char *file, const char *output); -cdk_error_t cdk_file_decrypt (cdk_ctx_t hd, const char *file, - const char *output); - + const char *file, const char *output); +cdk_error_t cdk_file_decrypt (cdk_ctx_t hd, const char * file, + const char *output); + /* Generic function to transform data. The mode can be either sign, verify, encrypt, decrypt, import or export. The meanings of the parameters are similar to the functions above. @OUTBUF will contain the output and @OUTSIZE the length of it. */ cdk_error_t cdk_data_transform (cdk_ctx_t hd, enum cdk_crypto_mode_t mode, - cdk_strlist_t locusr, cdk_strlist_t remusr, - const void *inbuf, size_t insize, - unsigned char **outbuf, size_t * outsize, - int modval); + cdk_strlist_t locusr, cdk_strlist_t remusr, + const void * inbuf, size_t insize, + unsigned char ** outbuf, size_t * outsize, + int modval); /* Sign the stream @INP. Optionally, the output will be encrypted - if @REMUSR is not NULL and the @ENCRYPTFLAG is set. + if @REMUSR is not NULL and the @ENCRYPTFLAG is set. The output will be written to @OUT. @LOCUSR contains one ore more pattern for the secret key(s) to use. */ cdk_error_t cdk_stream_sign (cdk_ctx_t hd, cdk_stream_t inp, cdk_stream_t out, - cdk_strlist_t locusr, cdk_strlist_t remusr, - int encryptflag, int sigmode); + cdk_strlist_t locusr, cdk_strlist_t remusr, + int encryptflag, int sigmode); /* Same as the function above but it works on files. */ cdk_error_t cdk_file_sign (cdk_ctx_t hd, cdk_strlist_t locusr, - cdk_strlist_t remusr, - const char *file, const char *output, - int sigmode, int encryptflag); + cdk_strlist_t remusr, + const char *file, const char *output, + int sigmode, int encryptflag); cdk_error_t cdk_stream_verify (cdk_ctx_t hd, cdk_stream_t inp, - cdk_stream_t data, cdk_stream_t out); - + cdk_stream_t data, + cdk_stream_t out); + /* Verify the given file @FILE. For a detached signature, @DATA_FILE contains the actual file data and @FILE is only the signature. If the @OUTPUT is not NULL, the plaintext will be written to this file. */ cdk_error_t cdk_file_verify (cdk_ctx_t hd, const char *file, - const char *data_file, const char *output); + const char *data_file, const char *output); int cdk_trustdb_get_validity (cdk_stream_t inp, cdk_pkt_userid_t id, - int *r_val); + int *r_val); int cdk_trustdb_get_ownertrust (cdk_stream_t inp, cdk_pubkey_t pk, - int *r_val, int *r_flags); + int *r_val, int *r_flags); void cdk_strlist_free (cdk_strlist_t sl); -cdk_strlist_t cdk_strlist_add (cdk_strlist_t * list, const char *string); +cdk_strlist_t cdk_strlist_add (cdk_strlist_t * list, const char * string); cdk_strlist_t cdk_strlist_next (cdk_strlist_t root, const char **r_str); -const char *cdk_check_version (const char *req_version); +const char * cdk_check_version (const char * req_version); /* UTF8 */ -char *cdk_utf8_encode (const char *string); -char *cdk_utf8_decode (const char *string, size_t length, int delim); +char* cdk_utf8_encode (const char * string); +char* cdk_utf8_decode (const char * string, size_t length, int delim); + +/* Try to receive the key, which has the key ID @KEYID, from the + keyserver host @HOST and the port @PORT. */ +cdk_error_t cdk_keyserver_recv_key (const char *host, int port, + const unsigned char *keyid, int kid_type, + cdk_kbnode_t *r_key); + +cdk_error_t cdk_keygen_new (cdk_keygen_ctx_t * r_hd); +void cdk_keygen_free (cdk_keygen_ctx_t hd); + +/* Set the preferences of the given type for the new key. + @ARRAY is an array which list of algorithm IDs. */ +cdk_error_t cdk_keygen_set_prefs (cdk_keygen_ctx_t hd, + enum cdk_pref_type_t type, + const unsigned char * array, size_t n); +cdk_error_t cdk_keygen_set_algo_info (cdk_keygen_ctx_t hd, int type, + int usage, enum cdk_pubkey_algo_t algo, + unsigned int bits); +int cdk_keygen_set_keyserver_flags (cdk_keygen_ctx_t hd, int no_modify, + const char *pref_url); +int cdk_keygen_set_expire_date (cdk_keygen_ctx_t hd, int type, + long timestamp); + +/* Set the user ID specifc parts for the new key. + It is suggested to use a name in the form of + 'First Name' 'Last Name' */ +void cdk_keygen_set_name (cdk_keygen_ctx_t hd, const char * name); +void cdk_keygen_set_passphrase (cdk_keygen_ctx_t hd, const char * pass); +cdk_error_t cdk_keygen_start (cdk_keygen_ctx_t hd); +cdk_error_t cdk_keygen_save (cdk_keygen_ctx_t hd, + const char * pubf, + const char * secf); #ifdef __cplusplus } -#endif +#endif #endif /* OPENCDK_H */ + diff -Nru gnutls26-2.8.6/lib/opencdk/packet.h gnutls26-2.4.1/lib/opencdk/packet.h --- gnutls26-2.8.6/lib/opencdk/packet.h 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/packet.h 2008-06-30 21:45:51.000000000 +0100 @@ -33,16 +33,16 @@ }; /*-- new-packet.c --*/ -void _cdk_free_mpibuf (size_t n, bigint_t *array); +void _cdk_free_mpibuf (size_t n, gcry_mpi_t *array); void _cdk_free_userid (cdk_pkt_userid_t uid); void _cdk_free_signature( cdk_pkt_signature_t sig ); cdk_prefitem_t _cdk_copy_prefs( const cdk_prefitem_t prefs ); -cdk_error_t _cdk_copy_userid( cdk_pkt_userid_t *dst, cdk_pkt_userid_t src ); -cdk_error_t _cdk_copy_pubkey( cdk_pkt_pubkey_t* dst, cdk_pkt_pubkey_t src ); -cdk_error_t _cdk_copy_seckey( cdk_pkt_seckey_t* dst, cdk_pkt_seckey_t src ); -cdk_error_t _cdk_copy_pk_to_sk( cdk_pkt_pubkey_t pk, cdk_pkt_seckey_t sk ); -cdk_error_t _cdk_copy_signature( cdk_pkt_signature_t* dst, cdk_pkt_signature_t src ); -cdk_error_t _cdk_pubkey_compare( cdk_pkt_pubkey_t a, cdk_pkt_pubkey_t b ); +int _cdk_copy_userid( cdk_pkt_userid_t *dst, cdk_pkt_userid_t src ); +int _cdk_copy_pubkey( cdk_pkt_pubkey_t* dst, cdk_pkt_pubkey_t src ); +int _cdk_copy_seckey( cdk_pkt_seckey_t* dst, cdk_pkt_seckey_t src ); +int _cdk_copy_pk_to_sk( cdk_pkt_pubkey_t pk, cdk_pkt_seckey_t sk ); +int _cdk_copy_signature( cdk_pkt_signature_t* dst, cdk_pkt_signature_t src ); +int _cdk_pubkey_compare( cdk_pkt_pubkey_t a, cdk_pkt_pubkey_t b ); #endif /* CDK_PACKET_H */ diff -Nru gnutls26-2.8.6/lib/opencdk/pubkey.c gnutls26-2.4.1/lib/opencdk/pubkey.c --- gnutls26-2.8.6/lib/opencdk/pubkey.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/pubkey.c 2008-06-30 21:45:51.000000000 +0100 @@ -24,114 +24,475 @@ #ifdef HAVE_CONFIG_H #include #endif -#include -#include +#include +#include #include "opencdk.h" #include "main.h" #include "packet.h" -/* This function gets the signature parameters and encodes - * them into a way for _gnutls_pk_verify to use. - */ + +/* Convert the given secret key into a gcrypt SEXP object. */ +static int +seckey_to_sexp (gcry_sexp_t *r_skey, cdk_seckey_t sk) +{ + gcry_sexp_t sexp = NULL; + gcry_mpi_t *mpk = NULL, *msk = NULL; + gcry_error_t err; + cdk_pubkey_t pk; + const char *fmt; + + if (!r_skey || !sk || !sk->pk) + return CDK_Inv_Value; + + pk = sk->pk; + mpk = pk->mpi; + msk = sk->mpi; + + *r_skey = NULL; + if (is_RSA (sk->pubkey_algo)) + { + fmt = "(private-key(openpgp-rsa(n%m)(e%m)(d%m)(p%m)(q%m)(u%m)))"; + err = gcry_sexp_build (&sexp, NULL, fmt, mpk[0], mpk[1], + msk[0], msk[1], msk[2], msk[3]); + } + else if (is_ELG (sk->pubkey_algo)) + { + fmt = "(private-key(openpgp-elg(p%m)(g%m)(y%m)(x%m)))"; + err = gcry_sexp_build (&sexp, NULL, fmt, mpk[0], mpk[1], + mpk[2], msk[0]); + } + else if (is_DSA (sk->pubkey_algo)) + { + fmt = "(private-key(openpgp-dsa(p%m)(q%m)(g%m)(y%m)(x%m)))"; + err = gcry_sexp_build (&sexp, NULL, fmt, mpk[0], mpk[1], mpk[2], + mpk[3], msk[0]); + } + else + return CDK_Inv_Algo; + if (err) + return map_gcry_error (err); + *r_skey = sexp; + return 0; +} + + +/* Convert the given public key to a gcrypt SEXP object. */ static cdk_error_t -sig_to_datum (gnutls_datum_t * r_sig, cdk_pkt_signature_t sig) +pubkey_to_sexp (gcry_sexp_t *r_key_sexp, cdk_pubkey_t pk) { - int err; - cdk_error_t rc; + gcry_mpi_t *m; + gcry_error_t err; + const char *fmt = NULL; + cdk_error_t rc = 0; + + if (!r_key_sexp || !pk) + return CDK_Inv_Value; + + m = pk->mpi; + if (is_RSA (pk->pubkey_algo)) + { + fmt = "(public-key(openpgp-rsa(n%m)(e%m)))"; + err = gcry_sexp_build (r_key_sexp, NULL, fmt, m[0], m[1]); + if (err) + rc = map_gcry_error (err); + } + else if (is_ELG (pk->pubkey_algo)) + { + fmt = "(public-key(openpgp-elg(p%m)(g%m)(y%m)))"; + err = gcry_sexp_build (r_key_sexp, NULL, fmt, m[0], m[1], m[2]); + if (err) + rc = map_gcry_error (err); + } + else if (is_DSA (pk->pubkey_algo)) + { + fmt = "(public-key(openpgp-dsa(p%m)(q%m)(g%m)(y%m)))"; + err = gcry_sexp_build (r_key_sexp, NULL, fmt, m[0], m[1], m[2], m[3]); + if (err) + rc = map_gcry_error (err); + } + else + rc = CDK_Inv_Algo; + return rc; +} - if (!r_sig || !sig) + +static cdk_error_t +enckey_to_sexp (gcry_sexp_t *r_sexp, gcry_mpi_t esk) +{ + gcry_error_t err; + + if (!r_sexp || !esk) return CDK_Inv_Value; + err = gcry_sexp_build (r_sexp, NULL, "%m", esk); + if (err) + return map_gcry_error (err); + return 0; +} - rc = 0; + +static cdk_error_t +digest_to_sexp (gcry_sexp_t *r_md_sexp, int digest_algo, + const byte *md, size_t mdlen) +{ + gcry_mpi_t m; + gcry_error_t err; + + if (!r_md_sexp || !md) + return CDK_Inv_Value; + + if (!mdlen) + mdlen = gcry_md_get_algo_dlen (digest_algo); + if (!mdlen) + return CDK_Inv_Algo; + + err = gcry_mpi_scan (&m, GCRYMPI_FMT_USG, md, mdlen, &mdlen); + if (err) + return map_gcry_error (err); + + err = gcry_sexp_build (r_md_sexp, NULL, "%m", m); + gcry_mpi_release (m); + if (err) + return map_gcry_error (err); + return 0; +} + + +static cdk_error_t +sexp_to_mpi (gcry_sexp_t sexp, const char *val, gcry_mpi_t *ret_buf) +{ + gcry_sexp_t list; + + if (!sexp || !val || !ret_buf) + return CDK_Inv_Value; + + list = gcry_sexp_find_token (sexp, val, 0); + if (!list) + return CDK_Inv_Value; + + *ret_buf = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + if (! *ret_buf) + return CDK_Inv_Value; + return 0; +} + + +static cdk_error_t +sexp_to_sig (cdk_pkt_signature_t sig, gcry_sexp_t sexp) +{ + if (!sig || !sexp) + return CDK_Inv_Value; + + /* ElGamal signatures are not supported any longer. */ + if (is_ELG (sig->pubkey_algo)) + { + _cdk_log_debug ("sexp_to_sig: unsupported signature type (ElGamal)\n"); + return CDK_Not_Implemented; + } + if (is_RSA (sig->pubkey_algo)) + return sexp_to_mpi (sexp, "s", &sig->mpi[0]); + else if (is_DSA (sig->pubkey_algo)) { - err = _gnutls_mpi_dprint (sig->mpi[0], r_sig); - if (err < 0) - rc = map_gnutls_error (err); + cdk_error_t rc; + + rc = sexp_to_mpi (sexp, "r", &sig->mpi[0]); + if (!rc) + rc = sexp_to_mpi (sexp, "s", &sig->mpi[1]); + return rc; + } + return CDK_Inv_Algo; +} + + +static cdk_error_t +sig_to_sexp (gcry_sexp_t *r_sig_sexp, cdk_pkt_signature_t sig) +{ + gcry_error_t err; + cdk_error_t rc; + const char *fmt; + + if (!r_sig_sexp || !sig) + return CDK_Inv_Value; + if (is_ELG (sig->pubkey_algo)) + return CDK_Not_Implemented; + + rc = 0; + if (is_RSA (sig->pubkey_algo)) + { + fmt = "(sig-val(openpgp-rsa(s%m)))"; + err = gcry_sexp_build (r_sig_sexp, NULL, fmt, sig->mpi[0]); + if (err) + rc = map_gcry_error (err); } else if (is_DSA (sig->pubkey_algo)) { - err = _gnutls_encode_ber_rs (r_sig, sig->mpi[0], sig->mpi[1]); - if (err < 0) - rc = map_gnutls_error (err); + fmt = "(sig-val(openpgp-dsa(r%m)(s%m)))"; + err = gcry_sexp_build (r_sig_sexp, NULL, fmt, sig->mpi[0], sig->mpi[1]); + if (err) + rc = map_gcry_error (err); } else rc = CDK_Inv_Algo; return rc; } + +static cdk_error_t +sexp_to_pubenc (cdk_pkt_pubkey_enc_t enc, gcry_sexp_t sexp) +{ + if (!sexp || !enc) + return CDK_Inv_Value; + + if (is_RSA (enc->pubkey_algo)) + return sexp_to_mpi (sexp, "a", &enc->mpi[0]); + else if (is_ELG (enc->pubkey_algo)) + { + cdk_error_t rc = sexp_to_mpi (sexp, "a", &enc->mpi[0]); + if (!rc) + rc = sexp_to_mpi (sexp, "b", &enc->mpi[1]); + return rc; + } + return CDK_Inv_Algo; +} + + +static cdk_error_t +pubenc_to_sexp (gcry_sexp_t * r_sexp, cdk_pkt_pubkey_enc_t enc) +{ + gcry_sexp_t sexp = NULL; + gcry_error_t err; + const char *fmt; + + if (!r_sexp || !enc) + return CDK_Inv_Value; + + *r_sexp = NULL; + if (is_RSA (enc->pubkey_algo)) + { + fmt = "(enc-val(openpgp-rsa((a%m))))"; + err = gcry_sexp_build (&sexp, NULL, fmt, enc->mpi[0]); + } + else if (is_ELG (enc->pubkey_algo)) + { + fmt = "(enc-val(openpgp-elg((a%m)(b%m))))"; + err = gcry_sexp_build (&sexp, NULL, fmt, enc->mpi[0], enc->mpi[1]); + } + else + return CDK_Inv_Algo; + if (err) + return map_gcry_error (err); + *r_sexp = sexp; + return 0; +} + + +static int +is_unprotected (cdk_seckey_t sk) +{ + if (sk->is_protected && !sk->mpi[0]) + return 0; + return 1; +} + + /** - * cdk_pk_verify: + * cdk_pk_encrypt: * @pk: the public key - * @sig: signature - * @md: the message digest + * @pke: the public key encrypted packet + * @esk: the actual session key * - * Verify the signature in @sig and compare it with the message digest in @md. + * Encrypt the session key in @esk and write its encrypted content + * into the @pke struct. **/ cdk_error_t -cdk_pk_verify (cdk_pubkey_t pk, cdk_pkt_signature_t sig, const byte * md) +cdk_pk_encrypt (cdk_pubkey_t pk, cdk_pkt_pubkey_enc_t pke, + gcry_mpi_t esk) { - gnutls_datum s_sig; - byte *encmd = NULL; - size_t enclen; + gcry_sexp_t s_data = NULL, s_pkey = NULL, s_ciph = NULL; + gcry_error_t err; cdk_error_t rc; - int ret, algo; - unsigned int i; - gnutls_datum data; - gnutls_pk_params_st params; + + if (!pk || !esk || !pke) + return CDK_Inv_Value; + + if (!KEY_CAN_ENCRYPT (pk->pubkey_algo)) + return CDK_Inv_Algo; + + rc = enckey_to_sexp (&s_data, esk); + if (!rc) + rc = pubkey_to_sexp (&s_pkey, pk); + if (!rc) + { + err = gcry_pk_encrypt (&s_ciph, s_data, s_pkey); + if (err) + return map_gcry_error (err); + } + if (!rc) + rc = sexp_to_pubenc (pke, s_ciph); + + gcry_sexp_release (s_data); + gcry_sexp_release (s_pkey); + gcry_sexp_release (s_ciph); + return rc; +} - if (!pk || !sig || !md) - { - gnutls_assert (); - return CDK_Inv_Value; - } - if (is_DSA (pk->pubkey_algo)) - algo = GNUTLS_PK_DSA; - else if (is_RSA (pk->pubkey_algo)) - algo = GNUTLS_PK_RSA; - else - { - gnutls_assert (); - return CDK_Inv_Value; - } - - rc = sig_to_datum (&s_sig, sig); +/** + * cdk_pk_decrypt: + * @sk: the secret key + * @pke: public key encrypted packet + * @r_sk: the object to store the plain session key + * + * Decrypt the encrypted session key from @pke into @r_sk. + **/ +cdk_error_t +cdk_pk_decrypt (cdk_seckey_t sk, cdk_pkt_pubkey_enc_t pke, + gcry_mpi_t *r_sk) +{ + gcry_sexp_t s_data = NULL, s_skey = NULL, s_plain = NULL; + cdk_error_t rc; + gcry_error_t err; + + if (!sk || !r_sk || !pke) + return CDK_Inv_Value; + + if (!is_unprotected (sk)) + return CDK_Inv_Mode; + + *r_sk = NULL; + rc = seckey_to_sexp (&s_skey, sk); if (rc) - { - gnutls_assert (); - goto leave; - } + return rc; - rc = _cdk_digest_encode_pkcs1 (&encmd, &enclen, pk->pubkey_algo, md, - sig->digest_algo, cdk_pk_get_nbits (pk)); + rc = pubenc_to_sexp (&s_data, pke); if (rc) { - gnutls_assert (); - goto leave; + gcry_sexp_release (s_skey); + return rc; } + + err = gcry_pk_decrypt (&s_plain, s_data, s_skey); + if (err) + rc = map_gcry_error (err); + else + *r_sk = gcry_sexp_nth_mpi (s_plain, 0, 0); + + gcry_sexp_release (s_data); + gcry_sexp_release (s_skey); + gcry_sexp_release (s_plain); + return rc; +} - data.data = encmd; - data.size = enclen; - params.params_nr = cdk_pk_get_npkey (pk->pubkey_algo); - for (i = 0; i < params.params_nr; i++) - params.params[i] = pk->mpi[i]; - params.flags = 0; - ret = _gnutls_pk_verify (algo, &data, &s_sig, ¶ms); +/** + * cdk_pk_sign: + * @sk: secret key + * @sig: signature + * @md: the message digest + * + * Sign the message digest from @md and write the result into @sig. + **/ +cdk_error_t +cdk_pk_sign (cdk_seckey_t sk, cdk_pkt_signature_t sig, const byte *md) +{ + gcry_sexp_t s_skey = NULL, s_sig = NULL, s_hash = NULL; + byte *encmd = NULL; + size_t enclen = 0; + int nbits; + cdk_error_t rc; + gcry_error_t err; + + if (!sk || !sk->pk || !sig || !md) + return CDK_Inv_Value; + + if (!is_unprotected (sk)) + return CDK_Inv_Mode; + + if (!KEY_CAN_SIGN (sig->pubkey_algo)) + return CDK_Inv_Algo; + + nbits = cdk_pk_get_nbits (sk->pk); + rc = _cdk_digest_encode_pkcs1 (&encmd, &enclen, sk->pk->pubkey_algo, md, + sig->digest_algo, nbits); + if (rc) + return rc; - if (ret < 0) + rc = seckey_to_sexp (&s_skey, sk); + if (!rc) + rc = digest_to_sexp (&s_hash, sig->digest_algo, encmd, enclen); + if (rc) { - gnutls_assert (); - rc = map_gnutls_error (ret); - goto leave; + cdk_free (encmd); + gcry_sexp_release (s_skey); + return rc; + } + + err = gcry_pk_sign (&s_sig, s_hash, s_skey); + if (err) + rc = map_gcry_error (err); + else + { + rc = sexp_to_sig (sig, s_sig); + if (!rc) + { + sig->digest_start[0] = md[0]; + sig->digest_start[1] = md[1]; + } } + + gcry_sexp_release (s_skey); + gcry_sexp_release (s_hash); + gcry_sexp_release (s_sig); + cdk_free (encmd); + return rc; +} - rc = 0; -leave: - _gnutls_free_datum (&s_sig); +/** + * cdk_pk_verify: + * @pk: the public key + * @sig: signature + * @md: the message digest + * + * Verify the signature in @sig and compare it with the message digest in @md. + **/ +cdk_error_t +cdk_pk_verify (cdk_pubkey_t pk, cdk_pkt_signature_t sig, const byte *md) +{ + gcry_sexp_t s_pkey = NULL, s_sig = NULL, s_hash = NULL; + byte *encmd = NULL; + size_t enclen; + cdk_error_t rc; + + if (!pk || !sig || !md) + return CDK_Inv_Value; + + rc = pubkey_to_sexp (&s_pkey, pk); + if (rc) + return rc; + + rc = sig_to_sexp (&s_sig, sig); + if (rc) + goto leave; + + rc = _cdk_digest_encode_pkcs1 (&encmd, &enclen, pk->pubkey_algo, md, + sig->digest_algo, cdk_pk_get_nbits (pk)); + if (rc) + goto leave; + + rc = digest_to_sexp (&s_hash, sig->digest_algo, encmd, enclen); + if (rc) + goto leave; + + if (gcry_pk_verify (s_sig, s_hash, s_pkey)) + rc = CDK_Bad_Sig; + + leave: + gcry_sexp_release (s_sig); + gcry_sexp_release (s_hash); + gcry_sexp_release (s_pkey); cdk_free (encmd); return rc; } @@ -151,7 +512,7 @@ { if (!pk || !pk->mpi[0]) return 0; - return _gnutls_mpi_get_nbits (pk->mpi[0]); + return gcry_mpi_get_nbits (pk->mpi[0]); } @@ -165,17 +526,13 @@ int cdk_pk_get_npkey (int algo) { - if (is_RSA (algo)) - return RSA_PUBLIC_PARAMS; - else if (is_DSA (algo)) - return DSA_PUBLIC_PARAMS; - else if (is_ELG (algo)) - return 3; - else - { - gnutls_assert (); - return 0; - } + size_t bytes; + + if (algo == 16) + algo = 20; /* FIXME: libgcrypt returns 0 for 16 */ + if (gcry_pk_algo_info( algo, GCRYCTL_GET_ALGO_NPKEY, NULL, &bytes)) + return 0; + return bytes; } @@ -188,23 +545,13 @@ **/ int cdk_pk_get_nskey (int algo) -{ - int ret; - - if (is_RSA (algo)) - ret = RSA_PRIVATE_PARAMS; - else if (is_DSA (algo)) - ret = DSA_PRIVATE_PARAMS; - else if (is_ELG (algo)) - ret = 4; - else - { - gnutls_assert (); - return 0; - } - - ret -= cdk_pk_get_npkey (algo); - return ret; +{ + size_t bytes; + + if (gcry_pk_algo_info (algo, GCRYCTL_GET_ALGO_NSKEY, NULL, &bytes)) + return 0; + bytes -= cdk_pk_get_npkey (algo); + return bytes; } @@ -217,12 +564,11 @@ int cdk_pk_get_nsig (int algo) { - if (is_RSA (algo)) - return 1; - else if (is_DSA (algo)) - return 2; - else + size_t bytes; + + if (gcry_pk_algo_info (algo, GCRYCTL_GET_ALGO_NSIGN, NULL, &bytes)) return 0; + return bytes; } @@ -235,12 +581,11 @@ int cdk_pk_get_nenc (int algo) { - if (is_RSA (algo)) - return 1; - else if (is_ELG (algo)) - return 2; - else + size_t bytes; + + if (gcry_pk_algo_info (algo, GCRYCTL_GET_ALGO_NENCR, NULL, &bytes)) return 0; + return bytes; } @@ -252,60 +597,39 @@ /* The ElGamal sign+encrypt algorithm is not supported any longer. */ switch (algo) { - case CDK_PK_RSA: - usage = CDK_KEY_USG_SIGN | CDK_KEY_USG_ENCR; - break; - case CDK_PK_RSA_E: - usage = CDK_KEY_USG_ENCR; - break; - case CDK_PK_RSA_S: - usage = CDK_KEY_USG_SIGN; - break; - case CDK_PK_ELG_E: - usage = CDK_KEY_USG_ENCR; - break; - case CDK_PK_DSA: - usage = CDK_KEY_USG_SIGN; - break; - default: - usage = 0; + case CDK_PK_RSA : usage = CDK_KEY_USG_SIGN | CDK_KEY_USG_ENCR; break; + case CDK_PK_RSA_E: usage = CDK_KEY_USG_ENCR; break; + case CDK_PK_RSA_S: usage = CDK_KEY_USG_SIGN; break; + case CDK_PK_ELG_E: usage = CDK_KEY_USG_ENCR; break; + case CDK_PK_DSA : usage = CDK_KEY_USG_SIGN; break; + default: usage = 0; } - return usage; + return usage; } /* You can use a NULL buf to get the output size only */ static cdk_error_t -mpi_to_buffer (bigint_t a, byte * buf, size_t buflen, - size_t * r_nwritten, size_t * r_nbits) +mpi_to_buffer (gcry_mpi_t a, byte *buf, size_t buflen, + size_t *r_nwritten, size_t *r_nbits) { size_t nbits; - int err; - + if (!a || !r_nwritten) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - nbits = _gnutls_mpi_get_nbits (a); + return CDK_Inv_Value; + + nbits = gcry_mpi_get_nbits (a); if (r_nbits) *r_nbits = nbits; if (r_nwritten) - *r_nwritten = (nbits + 7) / 8 + 2; + *r_nwritten = (nbits+7)/8+2; - if ((nbits + 7) / 8 + 2 > buflen) + if ((nbits+7)/8+2 > buflen) return CDK_Too_Short; - *r_nwritten = buflen; - err = _gnutls_mpi_print (a, buf, r_nwritten); - if (err < 0) - { - gnutls_assert (); - return map_gnutls_error (err); - } - + if (gcry_mpi_print (GCRYMPI_FMT_PGP, buf, buflen, r_nwritten, a)) + return CDK_Wrong_Format; return 0; } @@ -322,13 +646,11 @@ **/ cdk_error_t cdk_pk_get_mpi (cdk_pubkey_t pk, size_t idx, - byte * buf, size_t buflen, size_t * r_nwritten, - size_t * r_nbits) + byte *buf, size_t buflen, size_t *r_nwritten, size_t *r_nbits) { if (!pk || !r_nwritten) return CDK_Inv_Value; - - if ((ssize_t) idx > cdk_pk_get_npkey (pk->pubkey_algo)) + if (idx > cdk_pk_get_npkey (pk->pubkey_algo)) return CDK_Inv_Value; return mpi_to_buffer (pk->mpi[idx], buf, buflen, r_nwritten, r_nbits); } @@ -348,36 +670,263 @@ **/ cdk_error_t cdk_sk_get_mpi (cdk_pkt_seckey_t sk, size_t idx, - byte * buf, size_t buflen, size_t * r_nwritten, - size_t * r_nbits) + byte *buf, size_t buflen, size_t *r_nwritten, size_t *r_nbits) { if (!sk || !r_nwritten) return CDK_Inv_Value; - - if ((ssize_t) idx > cdk_pk_get_nskey (sk->pubkey_algo)) + if (idx > cdk_pk_get_nskey (sk->pubkey_algo)) return CDK_Inv_Value; return mpi_to_buffer (sk->mpi[idx], buf, buflen, r_nwritten, r_nbits); } static u16 -checksum_mpi (bigint_t m) +checksum_mpi (gcry_mpi_t m) { - byte buf[MAX_MPI_BYTES + 2]; + byte buf[MAX_MPI_BYTES+2]; size_t nread; - unsigned int i; + int i; u16 chksum = 0; if (!m) return 0; - nread = DIM (buf); - if (_gnutls_mpi_print_pgp (m, buf, &nread) < 0) + if (gcry_mpi_print (GCRYMPI_FMT_PGP, buf, DIM (buf), &nread, m)) return 0; - for (i = 0; i < nread; i++) + for (i=0; i < nread; i++) chksum += buf[i]; return chksum; } + +/** + * cdk_sk_unprotect: + * @sk: the secret key + * @pw: the passphrase + * + * Unprotect the given secret key with the passphrase. + **/ +cdk_error_t +cdk_sk_unprotect (cdk_pkt_seckey_t sk, const char *pw) +{ + gcry_cipher_hd_t hd; + cdk_dek_t dek = NULL; + byte *data = NULL; + u16 chksum = 0; + size_t ndata, nbits, nbytes; + int i, dlen, pos = 0, nskey; + cdk_error_t rc; + gcry_error_t err; + + if (!sk) + return CDK_Inv_Value; + + nskey = cdk_pk_get_nskey (sk->pubkey_algo); + if (!sk->is_protected) + { + chksum = 0; + for (i = 0; i < nskey; i++) + chksum += checksum_mpi (sk->mpi[i]); + if (chksum != sk->csum) + return CDK_Chksum_Error; + } + + rc = cdk_dek_from_passphrase (&dek, sk->protect.algo, + sk->protect.s2k, 0, pw); + if (rc) + return rc; + err = gcry_cipher_open (&hd, sk->protect.algo, GCRY_CIPHER_MODE_CFB, + GCRY_CIPHER_ENABLE_SYNC); + if (!err) + err = gcry_cipher_setiv (hd, sk->protect.iv, sk->protect.ivlen); + if (!err) + err = gcry_cipher_setkey (hd, dek->key, dek->keylen); + if (err) + { + cdk_free (dek); + return map_gcry_error (err); + } + cdk_dek_free (dek); + chksum = 0; + if (sk->version == 4) + { + ndata = sk->enclen; + data = cdk_salloc (ndata, 1); + if (!data) + return CDK_Out_Of_Core; + gcry_cipher_decrypt (hd, data, ndata, sk->encdata, ndata); + if (sk->protect.sha1chk) + { + /* This is the new SHA1 checksum method to detect tampering + with the key as used by the Klima/Rosa attack */ + sk->csum = 0; + chksum = 1; + dlen = gcry_md_get_algo_dlen (GCRY_MD_SHA1); + if (ndata < dlen) + { + cdk_free (data); + return CDK_Inv_Packet; + } + else + { + byte mdcheck[20]; + + gcry_md_hash_buffer (GCRY_MD_SHA1, + mdcheck, data, ndata-dlen); + if (!memcmp (mdcheck, data + ndata - dlen, dlen)) + chksum = 0; /* Digest does match */ + } + } + else + { + for (i = 0; i < ndata - 2; i++) + chksum += data[i]; + sk->csum = data[ndata - 2] << 8 | data[ndata - 1]; + } + if (sk->csum == chksum) + { + for (i = 0; i < nskey; i++) + { + nbits = data[pos] << 8 | data[pos + 1]; + + if (gcry_mpi_scan (&sk->mpi[i], GCRYMPI_FMT_PGP, data, + (nbits+7)/8+2, &nbytes)) + { + wipemem (data, sk->enclen); + cdk_free (data); + return CDK_Wrong_Format; + } + gcry_mpi_set_flag (sk->mpi[i], GCRYMPI_FLAG_SECURE); + pos += (nbits+7)/8+2; + } + } + wipemem (data, sk->enclen); + cdk_free (data); + } + else + { + byte buf[MAX_MPI_BYTES+2]; + + chksum = 0; + for (i = 0; i < nskey; i++) + { + gcry_cipher_sync (hd); + gcry_mpi_print (GCRYMPI_FMT_PGP, buf, DIM (buf), + &nbytes, sk->mpi[i]); + gcry_cipher_decrypt (hd, buf+2, nbytes-2, NULL, 0); + gcry_mpi_release (sk->mpi[i]); + if (gcry_mpi_scan (&sk->mpi[i], GCRYMPI_FMT_PGP, + buf, nbytes, &nbytes)) + return CDK_Wrong_Format; + chksum += checksum_mpi (sk->mpi[i]); + } + } + gcry_cipher_close (hd); + if (chksum != sk->csum) + return CDK_Chksum_Error; + sk->is_protected = 0; + return 0; +} + + +/** + * cdk_sk_protect: + * @sk: the secret key + * @pw: the passphrase to use + * + * Protect the given secret key with a passphrase. + **/ +cdk_error_t +cdk_sk_protect (cdk_pkt_seckey_t sk, const char *pw) +{ + gcry_cipher_hd_t hd = NULL; + cdk_dek_t dek = NULL; + cdk_s2k_t s2k; + byte *p = NULL, buf[MAX_MPI_BYTES+2]; + size_t enclen = 0, nskey, i, nbytes; + size_t dlen = gcry_md_get_algo_dlen (GCRY_MD_SHA1); + gcry_error_t err; + cdk_error_t rc; + + nskey = cdk_pk_get_nskey (sk->pubkey_algo); + if (!nskey) + return CDK_Inv_Algo; + + rc = cdk_s2k_new (&s2k, CDK_S2K_ITERSALTED, GCRY_MD_SHA256, NULL); + if (!rc) + rc = cdk_dek_from_passphrase (&dek, GCRY_CIPHER_AES, s2k, 1, pw); + if (rc) + { + cdk_s2k_free (s2k); + return rc; + } + + for (i = 0; i < nskey; i++) + { + enclen += 2; + enclen += (gcry_mpi_get_nbits (sk->mpi[i])+7)/8; + } + p = sk->encdata = cdk_calloc (1, enclen + dlen + 1); + if (!p) + { + cdk_s2k_free (s2k); + return CDK_Out_Of_Core; + } + + enclen = 0; + for (i = 0; i < nskey; i++) + { + if (gcry_mpi_print (GCRYMPI_FMT_PGP, buf, + DIM (buf), &nbytes, sk->mpi[i])) + { + cdk_free (p); + cdk_s2k_free (s2k); + return CDK_Wrong_Format; + } + memcpy (p + enclen, buf, nbytes); + enclen += nbytes; + } + + enclen += dlen; + sk->enclen = enclen; + sk->protect.s2k = s2k; + sk->protect.algo = GCRY_CIPHER_AES; + sk->protect.ivlen = gcry_cipher_get_algo_blklen (sk->protect.algo); + gcry_randomize (sk->protect.iv, sk->protect.ivlen, GCRY_STRONG_RANDOM); + err = gcry_cipher_open (&hd, sk->protect.algo, GCRY_CIPHER_MODE_CFB, + GCRY_CIPHER_ENABLE_SYNC); + if (err) + { + cdk_dek_free (dek); + rc = map_gcry_error (err); + goto leave; + } + + err = gcry_cipher_setkey (hd, dek->key, dek->keylen); + if (!err) + err = gcry_cipher_setiv (hd, sk->protect.iv, sk->protect.ivlen); + cdk_dek_free (dek); + if (err) + { + rc = map_gcry_error (err); + goto leave; + } + + sk->protect.sha1chk = 1; + sk->is_protected = 1; + sk->csum = 0; + + gcry_md_hash_buffer (GCRY_MD_SHA1, buf, p, enclen-dlen); + memcpy (p + enclen - dlen, buf, dlen); + gcry_cipher_encrypt (hd, p, enclen, NULL, 0); + + /* FIXME: We should release all MPI's and set the elements to NULL. */ + + leave: + gcry_cipher_close (hd); + return rc; +} + + /** * cdk_pk_from_secret_key: * @sk: the secret key @@ -386,7 +935,7 @@ * Create a new public key from a secret key. **/ cdk_error_t -cdk_pk_from_secret_key (cdk_pkt_seckey_t sk, cdk_pubkey_t * ret_pk) +cdk_pk_from_secret_key (cdk_pkt_seckey_t sk, cdk_pubkey_t *ret_pk) { if (!sk) return CDK_Inv_Value; @@ -394,11 +943,69 @@ } +#if 0 /* FIXME: Code is not finished yet. */ +cdk_error_t +cdk_pk_revoke_cert_create (cdk_pkt_seckey_t sk, int code, const char *inf, + char **ret_revcert) +{ + gcry_md_hd_t md; + cdk_subpkt_t node; + cdk_pkt_signature_t sig; + char *p = NULL, *dat; + gcry_error_t err; + cdk_error_t rc = 0; + size_t n; + + if (!sk || !ret_revcert) + return CDK_Inv_Value; + if(code < 0 || code > 3) + return CDK_Inv_Value; + + sig = cdk_calloc (1, sizeof *sig); + if (!sig) + return CDK_Out_Of_Core; + _cdk_sig_create (sk->pk, sig); + n = 1; + if (inf) + { + n += strlen (p); + p = cdk_utf8_encode (inf); + } + dat = cdk_calloc (1, n+1); + if (!dat) + { + _cdk_free_signature (sig); + return CDK_Out_Of_Core; + } + dat[0] = code; + if (inf) + memcpy (dat+1, p, strlen (p)); + cdk_free (p); + + node = cdk_subpkt_new (n); + if (node) + { + cdk_subpkt_init (node, CDK_SIGSUBPKT_REVOC_REASON, dat, n); + cdk_subpkt_add (sig->hashed, node); + } + cdk_free (dat); + + err = gcry_md_open (&md, GCRY_MD_SHA1, 0); + if (err) + rc = map_gcry_error (err); + else + _cdk_hash_pubkey (sk->pk, md, 0); + _cdk_free_signature (sig); + + return rc; +} +#endif + int _cdk_sk_get_csum (cdk_pkt_seckey_t sk) { u16 csum = 0, i; - + if (!sk) return 0; for (i = 0; i < cdk_pk_get_nskey (sk->pubkey_algo); i++) @@ -419,26 +1026,28 @@ * possible to avoid overflows. **/ cdk_error_t -cdk_pk_get_fingerprint (cdk_pubkey_t pk, byte * fpr) +cdk_pk_get_fingerprint (cdk_pubkey_t pk, byte *fpr) { - digest_hd_st hd; + gcry_md_hd_t hd; int md_algo; int dlen = 0; - int err; + gcry_error_t err; if (!pk || !fpr) return CDK_Inv_Value; - + if (pk->version < 4 && is_RSA (pk->pubkey_algo)) - md_algo = GNUTLS_DIG_MD5; /* special */ + md_algo = GCRY_MD_MD5; /* special */ else - md_algo = GNUTLS_DIG_SHA1; - dlen = _gnutls_hash_get_algo_len (md_algo); - err = _gnutls_hash_init (&hd, md_algo); - if (err < 0) - return map_gnutls_error (err); - _cdk_hash_pubkey (pk, &hd, 1); - _gnutls_hash_deinit (&hd, fpr); + md_algo = GCRY_MD_SHA1; + dlen = gcry_md_get_algo_dlen (md_algo); + err = gcry_md_open (&hd, md_algo, 0); + if (err) + return map_gcry_error (err); + _cdk_hash_pubkey (pk, hd, 1); + gcry_md_final (hd); + memcpy (fpr, gcry_md_read (hd, md_algo), dlen); + gcry_md_close (hd); if (dlen == 16) memset (fpr + 16, 0, 4); return 0; @@ -456,34 +1065,34 @@ * return it in the given byte array. **/ cdk_error_t -cdk_pk_to_fingerprint (cdk_pubkey_t pk, - byte * fprbuf, size_t fprbuflen, size_t * r_nout) +cdk_pk_to_fingerprint (cdk_pubkey_t pk, + byte *fprbuf, size_t fprbuflen, size_t *r_nout) { size_t key_fprlen; cdk_error_t err; - + if (!pk) return CDK_Inv_Value; - + if (pk->version < 4) key_fprlen = 16; else key_fprlen = 20; - + /* Only return the required buffer size for the fingerprint. */ if (!fprbuf && !fprbuflen && r_nout) - { + { *r_nout = key_fprlen; return 0; } - + if (!fprbuf || key_fprlen > fprbuflen) return CDK_Too_Short; err = cdk_pk_get_fingerprint (pk, fprbuf); if (r_nout) *r_nout = key_fprlen; - + return err; } @@ -497,9 +1106,9 @@ * For version 3 keys, this is not working. **/ u32 -cdk_pk_fingerprint_get_keyid (const byte * fpr, size_t fprlen, u32 * keyid) +cdk_pk_fingerprint_get_keyid (const byte *fpr, size_t fprlen, u32 *keyid) { - u32 lowbits = 0; + u32 lowbits = 0; /* In this case we say the key is a V3 RSA key and we can't use the fingerprint to get the keyid. */ @@ -529,24 +1138,21 @@ * Calculate the key ID of the given public key. **/ u32 -cdk_pk_get_keyid (cdk_pubkey_t pk, u32 * keyid) +cdk_pk_get_keyid (cdk_pubkey_t pk, u32 *keyid) { u32 lowbits = 0; byte buf[24]; - - if (pk && (!pk->keyid[0] || !pk->keyid[1])) + + if (pk && (!pk->keyid[0] || !pk->keyid[1])) { - if (pk->version < 4 && is_RSA (pk->pubkey_algo)) + if (pk->version < 4 && is_RSA (pk->pubkey_algo)) { byte p[MAX_MPI_BYTES]; size_t n; - - n = MAX_MPI_BYTES; - _gnutls_mpi_print (pk->mpi[0], p, &n); - pk->keyid[0] = - p[n - 8] << 24 | p[n - 7] << 16 | p[n - 6] << 8 | p[n - 5]; - pk->keyid[1] = - p[n - 4] << 24 | p[n - 3] << 16 | p[n - 2] << 8 | p[n - 1]; + + gcry_mpi_print (GCRYMPI_FMT_USG, p, MAX_MPI_BYTES, &n, pk->mpi[0]); + pk->keyid[0] = p[n-8] << 24 | p[n-7] << 16 | p[n-6] << 8 | p[n-5]; + pk->keyid[1] = p[n-4] << 24 | p[n-3] << 16 | p[n-2] << 8 | p[n-1]; } else if (pk->version == 4) { @@ -561,7 +1167,7 @@ keyid[0] = pk->keyid[0]; keyid[1] = pk->keyid[1]; } - + return lowbits; } @@ -574,17 +1180,17 @@ * Calculate the key ID of the secret key, actually the public key. **/ u32 -cdk_sk_get_keyid (cdk_pkt_seckey_t sk, u32 * keyid) +cdk_sk_get_keyid (cdk_pkt_seckey_t sk, u32 *keyid) { u32 lowbits = 0; - + if (sk && sk->pk) { lowbits = cdk_pk_get_keyid (sk->pk, keyid); sk->keyid[0] = sk->pk->keyid[0]; sk->keyid[1] = sk->pk->keyid[1]; } - + return lowbits; } @@ -597,10 +1203,10 @@ * Retrieve the key ID from the given signature. **/ u32 -cdk_sig_get_keyid (cdk_pkt_signature_t sig, u32 * keyid) +cdk_sig_get_keyid (cdk_pkt_signature_t sig, u32 *keyid) { u32 lowbits = sig ? sig->keyid[1] : 0; - + if (keyid && sig) { keyid[0] = sig->keyid[0]; @@ -613,57 +1219,162 @@ /* Return the key ID from the given packet. If this is not possible, 0 is returned */ u32 -_cdk_pkt_get_keyid (cdk_packet_t pkt, u32 * keyid) +_cdk_pkt_get_keyid (cdk_packet_t pkt, u32 *keyid) { u32 lowbits; - + if (!pkt) return 0; - + switch (pkt->pkttype) { case CDK_PKT_PUBLIC_KEY: case CDK_PKT_PUBLIC_SUBKEY: lowbits = cdk_pk_get_keyid (pkt->pkt.public_key, keyid); break; - + case CDK_PKT_SECRET_KEY: case CDK_PKT_SECRET_SUBKEY: lowbits = cdk_sk_get_keyid (pkt->pkt.secret_key, keyid); break; - + case CDK_PKT_SIGNATURE: lowbits = cdk_sig_get_keyid (pkt->pkt.signature, keyid); break; - + default: lowbits = 0; break; } - + return lowbits; } /* Get the fingerprint of the packet if possible. */ -cdk_error_t -_cdk_pkt_get_fingerprint (cdk_packet_t pkt, byte * fpr) +int +_cdk_pkt_get_fingerprint (cdk_packet_t pkt, byte *fpr) { if (!pkt || !fpr) return CDK_Inv_Value; - + switch (pkt->pkttype) { case CDK_PKT_PUBLIC_KEY: case CDK_PKT_PUBLIC_SUBKEY: return cdk_pk_get_fingerprint (pkt->pkt.public_key, fpr); - + case CDK_PKT_SECRET_KEY: case CDK_PKT_SECRET_SUBKEY: return cdk_pk_get_fingerprint (pkt->pkt.secret_key->pk, fpr); - + default: return CDK_Inv_Mode; } return 0; } + + +/** + * cdk_pubkey_to_sexp: + * @pk: the public key + * @sexp: where to store the S-expression + * @len: the length of sexp + * + * Convert a public key to an S-expression. sexp is allocated by this + * function, but you have to cdk_free() it yourself. The S-expression + * is stored in canonical format as used by libgcrypt + * (GCRYSEXP_FMT_CANON). + **/ +cdk_error_t +cdk_pubkey_to_sexp (cdk_pubkey_t pk, char **sexp, size_t * len) +{ + char *buf; + size_t sexp_len; + gcry_sexp_t pk_sexp; + cdk_error_t rc; + + if (!pk || !sexp) + return CDK_Inv_Value; + + rc = pubkey_to_sexp (&pk_sexp, pk); + if (rc) + return rc; + + sexp_len = gcry_sexp_sprint (pk_sexp, GCRYSEXP_FMT_CANON, NULL, 0); + if (!sexp_len) + return CDK_Wrong_Format; + + buf = (char *)cdk_malloc (sexp_len); + if (!buf) + { + gcry_sexp_release (pk_sexp); + return CDK_Out_Of_Core; + } + + sexp_len = gcry_sexp_sprint (pk_sexp, GCRYSEXP_FMT_CANON, buf, sexp_len); + gcry_sexp_release (pk_sexp); + if (!sexp_len) + { + cdk_free (buf); + return CDK_Wrong_Format; + } + + if (len) + *len = sexp_len; + *sexp = buf; + return CDK_Success; +} + + +/** + * cdk_seckey_to_sexp: + * @sk: the secret key + * @sexp: where to store the S-expression + * @len: the length of sexp + * + * Convert a public key to an S-expression. sexp is allocated by this + * function, but you have to cdk_free() it yourself. The S-expression + * is stored in canonical format as used by libgcrypt + * (GCRYSEXP_FMT_CANON). + **/ +cdk_error_t +cdk_seckey_to_sexp (cdk_pkt_seckey_t sk, char **sexp, size_t * len) +{ + char *buf; + size_t sexp_len; + gcry_sexp_t sk_sexp; + cdk_error_t rc; + + if (!sk || !sexp) + return CDK_Inv_Value; + + rc = seckey_to_sexp (&sk_sexp, sk); + if (rc) + return rc; + + sexp_len = gcry_sexp_sprint (sk_sexp, GCRYSEXP_FMT_CANON, NULL, 0); + if (!sexp_len) + return CDK_Wrong_Format; + + buf = (char *) cdk_malloc (sexp_len); + if (!buf) + { + gcry_sexp_release (sk_sexp); + return CDK_Out_Of_Core; + } + + sexp_len = gcry_sexp_sprint (sk_sexp, GCRYSEXP_FMT_CANON, buf, sexp_len); + gcry_sexp_release (sk_sexp); + if (!sexp_len) + { + cdk_free (buf); + return CDK_Wrong_Format; + } + + if (len) + *len = sexp_len; + *sexp = buf; + + return CDK_Success; +} diff -Nru gnutls26-2.8.6/lib/opencdk/read-packet.c gnutls26-2.4.1/lib/opencdk/read-packet.c --- gnutls26-2.8.6/lib/opencdk/read-packet.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/read-packet.c 2008-06-30 21:45:51.000000000 +0100 @@ -33,16 +33,16 @@ #include "main.h" #include "packet.h" #include "types.h" -#include + /* The version of the MDC packet considering the lastest OpenPGP draft. */ #define MDC_PKT_VER 1 static int -stream_read (cdk_stream_t s, void *buf, size_t buflen, size_t * r_nread) +stream_read (cdk_stream_t s, void *buf, size_t buflen, size_t *r_nread) { *r_nread = cdk_stream_read (s, buf, buflen); - return *r_nread > 0 ? 0 : _cdk_stream_get_errno (s); + return *r_nread > 0? 0: _cdk_stream_get_errno (s); } @@ -52,12 +52,12 @@ { byte buf[4]; size_t nread; - + assert (s != NULL); stream_read (s, buf, 4, &nread); if (nread != 4) - return (u32) - 1; + return (u32)-1; return buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]; } @@ -68,85 +68,59 @@ { byte buf[2]; size_t nread; - + assert (s != NULL); - + stream_read (s, buf, 2, &nread); if (nread != 2) - return (u16) - 1; + return (u16)-1; return buf[0] << 8 | buf[1]; } -/* read about S2K at http://tools.ietf.org/html/rfc4880#section-3.7.1 */ -static cdk_error_t +static int read_s2k (cdk_stream_t inp, cdk_s2k_t s2k) { - size_t nread; - - s2k->mode = cdk_stream_getc (inp); - s2k->hash_algo = cdk_stream_getc (inp); - if (s2k->mode == CDK_S2K_SIMPLE) - return 0; - else if (s2k->mode == CDK_S2K_SALTED || s2k->mode == CDK_S2K_ITERSALTED) - { - if (stream_read (inp, s2k->salt, DIM (s2k->salt), &nread)) - return CDK_Inv_Packet; - if (nread != DIM (s2k->salt)) - return CDK_Inv_Packet; - - if (s2k->mode == CDK_S2K_ITERSALTED) - s2k->count = cdk_stream_getc (inp); - } - else if (s2k->mode == CDK_S2K_GNU_EXT) - { - /* GNU extensions to the S2K : read DETAILS from gnupg */ - return 0; - } - else - return CDK_Not_Implemented; - - return 0; + return CDK_Not_Implemented; } static cdk_error_t -read_mpi (cdk_stream_t inp, bigint_t * ret_m, int secure) +read_mpi (cdk_stream_t inp, gcry_mpi_t *ret_m, int secure) { - bigint_t m; - int err; - byte buf[MAX_MPI_BYTES + 2]; + gcry_mpi_t m; + gcry_error_t err; + byte buf[MAX_MPI_BYTES+2]; size_t nread, nbits; cdk_error_t rc; - + if (!inp || !ret_m) return CDK_Inv_Value; - + *ret_m = NULL; nbits = read_16 (inp); - nread = (nbits + 7) / 8; - + nread = (nbits+7)/8; + if (nbits > MAX_MPI_BITS || nbits == 0) { _cdk_log_debug ("read_mpi: too large %d bits\n", nbits); - return CDK_MPI_Error; /* Sanity check */ - } - - rc = stream_read (inp, buf + 2, nread, &nread); - if (!rc && nread != ((nbits + 7) / 8)) + return CDK_MPI_Error; /* Sanity check */ + } + + rc = stream_read (inp, buf+2, nread, &nread); + if (!rc && nread != ((nbits+7)/8)) { - _cdk_log_debug ("read_mpi: too short %d < %d\n", nread, - (nbits + 7) / 8); + _cdk_log_debug ("read_mpi: too short %d < %d\n", nread, (nbits+7)/8); return CDK_MPI_Error; - } - + } + buf[0] = nbits >> 8; buf[1] = nbits >> 0; - nread += 2; - err = _gnutls_mpi_scan_pgp (&m, buf, nread); - if (err < 0) - return map_gnutls_error (err); - + err = gcry_mpi_scan (&m, GCRYMPI_FMT_PGP, buf, nread+2, &nread); + if (err) + return map_gcry_error (err); + if (secure) + gcry_mpi_set_flag (m, GCRYMPI_FLAG_SECURE); *ret_m = m; return rc; } @@ -156,31 +130,31 @@ object INP and return it. Reset RET_PARTIAL if this is the last packet in block mode. */ size_t -_cdk_pkt_read_len (FILE * inp, size_t * ret_partial) +_cdk_pkt_read_len (FILE *inp, size_t *ret_partial) { int c1, c2; size_t pktlen; - + c1 = fgetc (inp); if (c1 == EOF) - return (size_t) EOF; + return (size_t)EOF; if (c1 < 224 || c1 == 255) - *ret_partial = 0; /* End of partial data */ + *ret_partial = 0; /* End of partial data */ if (c1 < 192) pktlen = c1; else if (c1 >= 192 && c1 <= 223) { c2 = fgetc (inp); if (c2 == EOF) - return (size_t) EOF; + return (size_t)EOF; pktlen = ((c1 - 192) << 8) + c2 + 192; } else if (c1 == 255) { - pktlen = fgetc (inp) << 24; + pktlen = fgetc (inp) << 24; pktlen |= fgetc (inp) << 16; - pktlen |= fgetc (inp) << 8; - pktlen |= fgetc (inp) << 0; + pktlen |= fgetc (inp) << 8; + pktlen |= fgetc (inp) << 0; } else pktlen = 1 << (c1 & 0x1f); @@ -189,16 +163,108 @@ static cdk_error_t +read_encrypted (cdk_stream_t inp, size_t pktlen, cdk_pkt_encrypted_t enc, + int is_partial, int is_mdc) +{ + if (!inp || !enc) + return CDK_Inv_Value; + + if (DEBUG_PKT) + _cdk_log_debug ("read_encrypted: %d octets\n", pktlen); + + if (is_mdc) + { + int version = cdk_stream_getc (inp); + if (version != MDC_PKT_VER) + return CDK_Inv_Packet; + enc->mdc_method = CDK_MD_SHA1; + pktlen--; + } + /* The packet must at least contain blocksize + 2 octets. */ + if (pktlen < 10) + return CDK_Inv_Packet; + if (is_partial) + _cdk_stream_set_blockmode (inp, pktlen); + enc->len = pktlen; + enc->buf = inp; + return 0; +} + + +static cdk_error_t +read_symkey_enc (cdk_stream_t inp, size_t pktlen, cdk_pkt_symkey_enc_t ske) +{ + cdk_s2k_t s2k; + size_t minlen; + size_t nread, nleft; + + if (!inp || !ske) + return CDK_Inv_Value; + + if (DEBUG_PKT) + _cdk_log_debug ("read_symkey_enc: %d octets\n", pktlen); + + ske->version = cdk_stream_getc (inp); + if (ske->version != 4 || cdk_stream_eof (inp)) + return CDK_Inv_Packet; + + s2k = ske->s2k = cdk_calloc (1, sizeof *ske->s2k); + if (!ske->s2k) + return CDK_Out_Of_Core; + + ske->cipher_algo = cdk_stream_getc (inp); + s2k->mode = cdk_stream_getc (inp); + switch (s2k->mode) + { + case CDK_S2K_SIMPLE : minlen = 0; break; + case CDK_S2K_SALTED : minlen = 8; break; + case CDK_S2K_ITERSALTED: minlen = 9; break; + + default: + /* Invalid S2K mode. */ + return CDK_Inv_Packet; + } + + s2k->hash_algo = cdk_stream_getc (inp); + if (s2k->mode == CDK_S2K_SALTED || s2k->mode == CDK_S2K_ITERSALTED) + { + if (stream_read (inp, s2k->salt, DIM (s2k->salt), &nread)) + return CDK_Inv_Packet; + if (nread != DIM (s2k->salt)) + return CDK_Inv_Packet; + + if (s2k->mode == CDK_S2K_ITERSALTED) + s2k->count = cdk_stream_getc (inp); + } + + ske->seskeylen = pktlen - 4 - minlen; + /* We check if there is an encrypted session key and if it fits into + the buffer. The maximal key length is 256-bit. */ + if (ske->seskeylen > DIM (ske->seskey)) + return CDK_Inv_Packet; + nleft = ske->seskeylen; + for (nread = 0; nread < ske->seskeylen; nread++) + { + ske->seskey[nread] = cdk_stream_getc (inp); + if (cdk_stream_eof (inp) && --nleft > 0) + return CDK_Inv_Packet; + } + + return 0; +} + + +static cdk_error_t read_pubkey_enc (cdk_stream_t inp, size_t pktlen, cdk_pkt_pubkey_enc_t pke) { size_t i, nenc; if (!inp || !pke) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_pubkey_enc: %d octets\n", pktlen); - + if (pktlen < 12) return CDK_Inv_Packet; pke->version = cdk_stream_getc (inp); @@ -207,18 +273,18 @@ pke->keyid[0] = read_32 (inp); pke->keyid[1] = read_32 (inp); if (!pke->keyid[0] && !pke->keyid[1]) - pke->throw_keyid = 1; /* RFC2440 "speculative" keyID */ - pke->pubkey_algo = _pgp_pub_algo_to_cdk (cdk_stream_getc (inp)); + pke->throw_keyid = 1; /* RFC2440 "speculative" keyID */ + pke->pubkey_algo = cdk_stream_getc (inp); nenc = cdk_pk_get_nenc (pke->pubkey_algo); if (!nenc) return CDK_Inv_Algo; - for (i = 0; i < nenc; i++) + for (i = 0; i < nenc; i++) { cdk_error_t rc = read_mpi (inp, &pke->mpi[i], 0); if (rc) return rc; } - + return 0; } @@ -232,15 +298,15 @@ if (!inp || !mdc) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_mdc:\n"); - + rc = stream_read (inp, mdc->hash, DIM (mdc->hash), &n); if (rc) - return rc; - - return n != DIM (mdc->hash) ? CDK_Inv_Packet : 0; + return rc; + + return n != DIM (mdc->hash)? CDK_Inv_Packet : 0; } @@ -249,21 +315,21 @@ { if (!inp || !c) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_compressed: %d octets\n", pktlen); - + c->algorithm = cdk_stream_getc (inp); if (c->algorithm > 3) return CDK_Inv_Packet; - + /* don't know the size, so we read until EOF */ if (!pktlen) { c->len = 0; c->buf = inp; } - + /* FIXME: Support partial bodies. */ return 0; } @@ -273,17 +339,17 @@ read_public_key (cdk_stream_t inp, size_t pktlen, cdk_pkt_pubkey_t pk) { size_t i, ndays, npkey; - + if (!inp || !pk) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_public_key: %d octets\n", pktlen); - - pk->is_invalid = 1; /* default to detect missing self signatures */ + + pk->is_invalid = 1; /* default to detect missing self signatures */ pk->is_revoked = 0; pk->has_expired = 0; - + pk->version = cdk_stream_getc (inp); if (pk->version < 2 || pk->version > 4) return CDK_Inv_Packet_Ver; @@ -291,25 +357,24 @@ if (pk->version < 4) { ndays = read_16 (inp); - if (ndays) + if (ndays) pk->expiredate = pk->timestamp + ndays * 86400L; } - - pk->pubkey_algo = _pgp_pub_algo_to_cdk (cdk_stream_getc (inp)); + + pk->pubkey_algo = cdk_stream_getc (inp); npkey = cdk_pk_get_npkey (pk->pubkey_algo); if (!npkey) { - gnutls_assert (); _cdk_log_debug ("invalid public key algorithm %d\n", pk->pubkey_algo); return CDK_Inv_Algo; - } + } for (i = 0; i < npkey; i++) { cdk_error_t rc = read_mpi (inp, &pk->mpi[i], 0); if (rc) return rc; } - + /* This value is just for the first run and will be replaced with the actual key flags from the self signature. */ pk->pubkey_usage = 0; @@ -325,6 +390,7 @@ return read_public_key (inp, pktlen, pk); } + static cdk_error_t read_secret_key (cdk_stream_t inp, size_t pktlen, cdk_pkt_seckey_t sk) { @@ -348,40 +414,30 @@ if (sk->s2k_usage == 254 || sk->s2k_usage == 255) { sk->protect.sha1chk = (sk->s2k_usage == 254); - sk->protect.algo = _pgp_cipher_to_gnutls (cdk_stream_getc (inp)); + sk->protect.algo = cdk_stream_getc (inp); sk->protect.s2k = cdk_calloc (1, sizeof *sk->protect.s2k); if (!sk->protect.s2k) return CDK_Out_Of_Core; rc = read_s2k (inp, sk->protect.s2k); + if (rc) + return rc; + sk->protect.ivlen = gcry_cipher_get_algo_blklen (sk->protect.algo); + if (!sk->protect.ivlen) + return CDK_Inv_Packet; + rc = stream_read (inp, sk->protect.iv, sk->protect.ivlen, &nread); if (rc) return rc; - /* refer to --export-secret-subkeys in gpg(1) */ - if (sk->protect.s2k->mode == CDK_S2K_GNU_EXT) - sk->protect.ivlen = 0; - else - { - sk->protect.ivlen = - _gnutls_cipher_get_block_size (sk->protect.algo); - if (!sk->protect.ivlen) - return CDK_Inv_Packet; - rc = stream_read (inp, sk->protect.iv, sk->protect.ivlen, &nread); - if (rc) - return rc; - if (nread != sk->protect.ivlen) - return CDK_Inv_Packet; - } + if (nread != sk->protect.ivlen) + return CDK_Inv_Packet; } else - sk->protect.algo = _pgp_cipher_to_gnutls (sk->s2k_usage); - if (sk->protect.algo == GNUTLS_CIPHER_NULL) + sk->protect.algo = sk->s2k_usage; + if (sk->protect.algo == GCRY_CIPHER_NONE) { sk->csum = 0; nskey = cdk_pk_get_nskey (sk->pk->pubkey_algo); if (!nskey) - { - gnutls_assert (); - return CDK_Inv_Algo; - } + return CDK_Inv_Algo; for (i = 0; i < nskey; i++) { rc = read_mpi (inp, &sk->mpi[i], 1); @@ -391,16 +447,13 @@ sk->csum = read_16 (inp); sk->is_protected = 0; } - else if (sk->pk->version < 4) - { + else if (sk->pk->version < 4) + { /* The length of each multiprecision integer is stored in plaintext. */ nskey = cdk_pk_get_nskey (sk->pk->pubkey_algo); if (!nskey) - { - gnutls_assert (); - return CDK_Inv_Algo; - } - for (i = 0; i < nskey; i++) + return CDK_Inv_Algo; + for (i = 0; i < nskey; i++) { rc = read_mpi (inp, &sk->mpi[i], 1); if (rc) @@ -408,50 +461,30 @@ } sk->csum = read_16 (inp); sk->is_protected = 1; - } - else + } + else { /* We need to read the rest of the packet because we do not - have any information how long the encrypted mpi's are */ + have any information how long the encrypted mpi's are */ p2 = cdk_stream_tell (inp); p2 -= p1; sk->enclen = pktlen - p2; if (sk->enclen < 2) - return CDK_Inv_Packet; /* at least 16 bits for the checksum! */ + return CDK_Inv_Packet; /* at least 16 bits for the checksum! */ sk->encdata = cdk_calloc (1, sk->enclen + 1); if (!sk->encdata) return CDK_Out_Of_Core; if (stream_read (inp, sk->encdata, sk->enclen, &nread)) return CDK_Inv_Packet; - /* Handle the GNU S2K extensions we know (just gnu-dummy right now): */ - if (sk->protect.s2k->mode == CDK_S2K_GNU_EXT) - { - unsigned char gnumode; - if ((sk->enclen < strlen ("GNU") + 1) || - (0 != memcmp ("GNU", sk->encdata, strlen ("GNU")))) - return CDK_Inv_Packet; - gnumode = sk->encdata[strlen ("GNU")]; - /* we only handle gnu-dummy (mode 1). - mode 2 should refer to external smart cards. - */ - if (gnumode != 1) - return CDK_Inv_Packet; - /* gnu-dummy should have no more data */ - if (sk->enclen != strlen ("GNU") + 1) - return CDK_Inv_Packet; - } nskey = cdk_pk_get_nskey (sk->pk->pubkey_algo); if (!nskey) - { - gnutls_assert (); - return CDK_Inv_Algo; - } + return CDK_Inv_Algo; /* We mark each MPI entry with NULL to indicate a protected key. */ for (i = 0; i < nskey; i++) sk->mpi[i] = NULL; sk->is_protected = 1; } - + sk->is_primary = 1; _cdk_copy_pk_to_sk (sk->pk, sk); return 0; @@ -465,7 +498,7 @@ if (!inp || !sk || !sk->pk) return CDK_Inv_Value; - + rc = read_secret_key (inp, pktlen, sk); sk->is_primary = 0; return rc; @@ -479,32 +512,30 @@ byte *buf; size_t len, nread; cdk_error_t rc; - + if (!inp || !attr || !pktlen) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_attribute: %d octets\n", pktlen); - + strcpy (attr->name, "[attribute]"); attr->len = strlen (attr->name); buf = cdk_calloc (1, pktlen); if (!buf) return CDK_Out_Of_Core; rc = stream_read (inp, buf, pktlen, &nread); - if (rc) + if (rc) { cdk_free (buf); return CDK_Inv_Packet; } p = buf; - len = *p++; - pktlen--; + len = *p++; pktlen--; if (len == 255) { len = _cdk_buftou32 (p); - p += 4; - pktlen -= 4; + p += 4; pktlen -= 4; } else if (len >= 192) { @@ -512,28 +543,26 @@ { cdk_free (buf); return CDK_Inv_Packet; - } + } len = ((len - 192) << 8) + *p + 192; - p++; - pktlen--; + p++; pktlen--; } - - if (*p != 1) /* Currently only 1, meaning an image, is defined. */ + + if (*p != 1) /* Currently only 1, meaning an image, is defined. */ { cdk_free (buf); return CDK_Inv_Packet; } - p++; - len--; - - if (pktlen - (len + 1) > 0) + p++; len--; + + if (pktlen - (len+1) > 0) return CDK_Inv_Packet; attr->attrib_img = cdk_calloc (1, len); if (!attr->attrib_img) { cdk_free (buf); return CDK_Out_Of_Core; - } + } attr->attrib_len = len; memcpy (attr->attrib_img, p, len); cdk_free (buf); @@ -546,15 +575,15 @@ { size_t nread; cdk_error_t rc; - + if (!inp || !user_id) return CDK_Inv_Value; if (!pktlen) return CDK_Inv_Packet; - + if (DEBUG_PKT) - _cdk_log_debug ("read_user_id: %lu octets\n", pktlen); - + _cdk_log_debug ("read_user_id: %lu octets\n", pktlen); + user_id->len = pktlen; rc = stream_read (inp, user_id->name, pktlen, &nread); if (rc) @@ -567,19 +596,19 @@ static cdk_error_t -read_subpkt (cdk_stream_t inp, cdk_subpkt_t * r_ctx, size_t * r_nbytes) +read_subpkt( cdk_stream_t inp, cdk_subpkt_t * r_ctx, size_t * r_nbytes ) { byte c, c1; size_t size, nread, n; cdk_subpkt_t node; cdk_error_t rc; - + if (!inp || !r_nbytes) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_subpkt:\n"); - + n = 0; *r_nbytes = 0; c = cdk_stream_getc (inp); @@ -601,10 +630,10 @@ size = c; else return CDK_Inv_Packet; - + node = cdk_subpkt_new (size); if (!node) - return CDK_Out_Of_Core; + return CDK_Out_Of_Core; node->size = size; node->type = cdk_stream_getc (inp); if (DEBUG_PKT) @@ -616,7 +645,7 @@ if (rc) return rc; *r_nbytes = n; - if (!*r_ctx) + if (! *r_ctx) *r_ctx = node; else cdk_subpkt_add (*r_ctx, node); @@ -629,20 +658,20 @@ { if (!inp || !sig) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_onepass_sig: %d octets\n", pktlen); - + if (pktlen != 13) return CDK_Inv_Packet; sig->version = cdk_stream_getc (inp); if (sig->version != 3) return CDK_Inv_Packet_Ver; sig->sig_class = cdk_stream_getc (inp); - sig->digest_algo = _pgp_hash_algo_to_gnutls (cdk_stream_getc (inp)); - sig->pubkey_algo = _pgp_pub_algo_to_cdk (cdk_stream_getc (inp)); + sig->digest_algo = cdk_stream_getc (inp); + sig->pubkey_algo = cdk_stream_getc (inp); sig->keyid[0] = read_32 (inp); - sig->keyid[1] = read_32 (inp); + sig->keyid[1] = read_32 (inp); sig->last = cdk_stream_getc (inp); return 0; } @@ -652,30 +681,32 @@ parse_sig_subpackets (cdk_pkt_signature_t sig) { cdk_subpkt_t node; - + /* Setup the standard packet entries, so we can use V4 signatures similar to V3. */ for (node = sig->unhashed; node; node = node->next) { if (node->type == CDK_SIGSUBPKT_ISSUER && node->size >= 8) { - sig->keyid[0] = _cdk_buftou32 (node->d); + sig->keyid[0] = _cdk_buftou32 (node->d ); sig->keyid[1] = _cdk_buftou32 (node->d + 4); } - else if (node->type == CDK_SIGSUBPKT_EXPORTABLE && node->d[0] == 0) + else if (node->type == CDK_SIGSUBPKT_EXPORTABLE && + node->d[0] == 0) { /* Sometimes this packet might be placed in the unhashed area */ sig->flags.exportable = 0; } } - for (node = sig->hashed; node; node = node->next) + for (node = sig->hashed; node; node = node->next) { if (node->type == CDK_SIGSUBPKT_SIG_CREATED && node->size >= 4) sig->timestamp = _cdk_buftou32 (node->d); else if (node->type == CDK_SIGSUBPKT_SIG_EXPIRE && node->size >= 4) { sig->expiredate = _cdk_buftou32 (node->d); - if (sig->expiredate > 0 && sig->expiredate < (u32) time (NULL)) + if (sig->expiredate > 0 && + sig->expiredate < (u32)time (NULL)) sig->flags.expired = 1; } else if (node->type == CDK_SIGSUBPKT_POLICY) @@ -683,17 +714,17 @@ else if (node->type == CDK_SIGSUBPKT_NOTATION) sig->flags.notation = 1; else if (node->type == CDK_SIGSUBPKT_REVOCABLE && node->d[0] == 0) - sig->flags.revocable = 0; - else if (node->type == CDK_SIGSUBPKT_EXPORTABLE && node->d[0] == 0) + sig->flags.revocable = 0; + else if (node->type == CDK_SIGSUBPKT_EXPORTABLE && node->d[0]== 0) sig->flags.exportable = 0; } if (sig->sig_class == 0x1F) { cdk_desig_revoker_t r, rnode; - + for (node = sig->hashed; node; node = node->next) { - if (node->type == CDK_SIGSUBPKT_REV_KEY) + if (node->type == CDK_SIGSUBPKT_REV_KEY) { if (node->size < 22) continue; @@ -702,10 +733,10 @@ return CDK_Out_Of_Core; rnode->r_class = node->d[0]; rnode->algid = node->d[1]; - memcpy (rnode->fpr, node->d + 2, KEY_FPR_LEN); + memcpy (rnode->fpr, node->d+2, KEY_FPR_LEN); if (!sig->revkeys) - sig->revkeys = rnode; - else + sig->revkeys = rnode; + else { for (r = sig->revkeys; r->next; r = r->next) ; @@ -714,7 +745,7 @@ } } } - + return 0; } @@ -728,20 +759,20 @@ if (!inp || !sig) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_signature: %d octets\n", pktlen); - + if (pktlen < 16) return CDK_Inv_Packet; sig->version = cdk_stream_getc (inp); if (sig->version < 2 || sig->version > 4) return CDK_Inv_Packet_Ver; - + sig->flags.exportable = 1; sig->flags.revocable = 1; - - if (sig->version < 4) + + if (sig->version < 4) { if (cdk_stream_getc (inp) != 5) return CDK_Inv_Packet; @@ -749,8 +780,8 @@ sig->timestamp = read_32 (inp); sig->keyid[0] = read_32 (inp); sig->keyid[1] = read_32 (inp); - sig->pubkey_algo = _pgp_pub_algo_to_cdk (cdk_stream_getc (inp)); - sig->digest_algo = _pgp_hash_algo_to_gnutls (cdk_stream_getc (inp)); + sig->pubkey_algo = cdk_stream_getc (inp); + sig->digest_algo = cdk_stream_getc (inp); sig->digest_start[0] = cdk_stream_getc (inp); sig->digest_start[1] = cdk_stream_getc (inp); nsig = cdk_pk_get_nsig (sig->pubkey_algo); @@ -763,21 +794,21 @@ return rc; } } - else + else { sig->sig_class = cdk_stream_getc (inp); - sig->pubkey_algo = _pgp_pub_algo_to_cdk (cdk_stream_getc (inp)); - sig->digest_algo = _pgp_hash_algo_to_gnutls (cdk_stream_getc (inp)); + sig->pubkey_algo = cdk_stream_getc (inp); + sig->digest_algo = cdk_stream_getc (inp); sig->hashed_size = read_16 (inp); size = sig->hashed_size; sig->hashed = NULL; - while (size > 0) + while (size > 0) { rc = read_subpkt (inp, &sig->hashed, &nbytes); if (rc) return rc; size -= nbytes; - } + } sig->unhashed_size = read_16 (inp); size = sig->unhashed_size; sig->unhashed = NULL; @@ -788,11 +819,11 @@ return rc; size -= nbytes; } - + rc = parse_sig_subpackets (sig); if (rc) return rc; - + sig->digest_start[0] = cdk_stream_getc (inp); sig->digest_start[1] = cdk_stream_getc (inp); nsig = cdk_pk_get_nsig (sig->pubkey_algo); @@ -805,42 +836,41 @@ return rc; } } - + return 0; } static cdk_error_t -read_literal (cdk_stream_t inp, size_t pktlen, - cdk_pkt_literal_t * ret_pt, int is_partial) +read_literal (cdk_stream_t inp, size_t pktlen, + cdk_pkt_literal_t *ret_pt, int is_partial) { cdk_pkt_literal_t pt = *ret_pt; - size_t nread; + size_t nread ; cdk_error_t rc; if (!inp || !pt) return CDK_Inv_Value; - + if (DEBUG_PKT) _cdk_log_debug ("read_literal: %d octets\n", pktlen); - + pt->mode = cdk_stream_getc (inp); if (pt->mode != 0x62 && pt->mode != 0x74 && pt->mode != 0x75) return CDK_Inv_Packet; if (cdk_stream_eof (inp)) return CDK_Inv_Packet; - + pt->namelen = cdk_stream_getc (inp); if (pt->namelen > 0) { - *ret_pt = pt = cdk_realloc (pt, sizeof *pt + pt->namelen + 2); + *ret_pt = pt = cdk_realloc (pt, sizeof * pt + pt->namelen + 1); if (!pt) return CDK_Out_Of_Core; - pt->name = (char*)pt + sizeof(*pt); rc = stream_read (inp, pt->name, pt->namelen, &nread); if (rc) return rc; - if ((int) nread != pt->namelen) + if (nread != pt->namelen) return CDK_Inv_Packet; pt->name[pt->namelen] = '\0'; } @@ -856,10 +886,10 @@ /* Read an old packet CTB and return the length of the body. */ static void -read_old_length (cdk_stream_t inp, int ctb, size_t * r_len, size_t * r_size) +read_old_length (cdk_stream_t inp, int ctb, size_t *r_len, size_t *r_size) { int llen = ctb & 0x03; - + if (llen == 0) { *r_len = cdk_stream_getc (inp); @@ -875,8 +905,8 @@ *r_len = read_32 (inp); (*r_size) += 4; } - else - { + else + { *r_len = 0; *r_size = 0; } @@ -886,10 +916,10 @@ /* Read a new CTB and decode the body length. */ static void read_new_length (cdk_stream_t inp, - size_t * r_len, size_t * r_size, size_t * r_partial) + size_t *r_len, size_t *r_size, size_t *r_partial) { int c, c1; - + c = cdk_stream_getc (inp); (*r_size)++; if (c < 192) @@ -900,16 +930,16 @@ (*r_size)++; *r_len = ((c - 192) << 8) + c1 + 192; } - else if (c == 255) + else if (c == 255) { *r_len = read_32 (inp); - (*r_size) += 4; + (*r_size) += 4; } - else + else { *r_len = 1 << (c & 0x1f); *r_partial = 1; - } + } } @@ -919,10 +949,10 @@ { byte buf[BUFSIZE]; size_t nread, buflen = DIM (buf); - + while (pktlen > 0) { - stream_read (inp, buf, pktlen > buflen ? buflen : pktlen, &nread); + stream_read (inp, buf, pktlen > buflen? buflen : pktlen, &nread); pktlen -= nread; } @@ -940,46 +970,47 @@ cdk_error_t cdk_pkt_read (cdk_stream_t inp, cdk_packet_t pkt) { + int use_mdc = 0; int ctb, is_newctb; int pkttype; size_t pktlen = 0, pktsize = 0, is_partial = 0; cdk_error_t rc; - + if (!inp || !pkt) return CDK_Inv_Value; - + ctb = cdk_stream_getc (inp); if (cdk_stream_eof (inp) || ctb == EOF) return CDK_EOF; else if (!ctb) return CDK_Inv_Packet; - + pktsize++; - if (!(ctb & 0x80)) + if (!(ctb & 0x80)) { _cdk_log_info ("cdk_pkt_read: no openpgp data found. " - "(ctb=%02X; fpos=%02X)\n", ctb, cdk_stream_tell (inp)); + "(ctb=%02X; fpos=%02X)\n",ctb, cdk_stream_tell (inp)); return CDK_Inv_Packet; - } - - if (ctb & 0x40) /* RFC2440 packet format. */ + } + + if (ctb & 0x40) /* RFC2440 packet format. */ { pkttype = ctb & 0x3f; is_newctb = 1; } - else /* the old RFC1991 packet format. */ + else /* the old RFC1991 packet format. */ { pkttype = ctb & 0x3f; pkttype >>= 2; is_newctb = 0; } - + if (pkttype > 63) { _cdk_log_info ("cdk_pkt_read: unknown type %d\n", pkttype); return CDK_Inv_Packet; } - + if (is_newctb) read_new_length (inp, &pktlen, &pktsize, &is_partial); else @@ -988,8 +1019,8 @@ pkt->pkttype = pkttype; pkt->pktlen = pktlen; pkt->pktsize = pktsize + pktlen; - pkt->old_ctb = is_newctb ? 0 : 1; - + pkt->old_ctb = is_newctb? 0 : 1; + rc = 0; switch (pkt->pkttype) { @@ -998,104 +1029,118 @@ + pkt->pktlen + 16 + 1); if (!pkt->pkt.user_id) return CDK_Out_Of_Core; - pkt->pkt.user_id->name = (char*)pkt->pkt.user_id + sizeof(*pkt->pkt.user_id); - rc = read_attribute (inp, pktlen, pkt->pkt.user_id); pkt->pkttype = CDK_PKT_ATTRIBUTE; break; - + case CDK_PKT_USER_ID: pkt->pkt.user_id = cdk_calloc (1, sizeof *pkt->pkt.user_id - + pkt->pktlen + 1); + + pkt->pktlen); if (!pkt->pkt.user_id) return CDK_Out_Of_Core; - pkt->pkt.user_id->name = (char*)pkt->pkt.user_id + sizeof(*pkt->pkt.user_id); rc = read_user_id (inp, pktlen, pkt->pkt.user_id); break; - + case CDK_PKT_PUBLIC_KEY: pkt->pkt.public_key = cdk_calloc (1, sizeof *pkt->pkt.public_key); if (!pkt->pkt.public_key) return CDK_Out_Of_Core; rc = read_public_key (inp, pktlen, pkt->pkt.public_key); break; - + case CDK_PKT_PUBLIC_SUBKEY: pkt->pkt.public_key = cdk_calloc (1, sizeof *pkt->pkt.public_key); if (!pkt->pkt.public_key) return CDK_Out_Of_Core; - rc = read_public_subkey (inp, pktlen, pkt->pkt.public_key); + rc = read_public_subkey (inp, pktlen, pkt->pkt.public_key); break; - + case CDK_PKT_SECRET_KEY: pkt->pkt.secret_key = cdk_calloc (1, sizeof *pkt->pkt.secret_key); if (!pkt->pkt.secret_key) return CDK_Out_Of_Core; - pkt->pkt.secret_key->pk = cdk_calloc (1, - sizeof *pkt->pkt.secret_key->pk); + pkt->pkt.secret_key->pk =cdk_calloc (1, + sizeof *pkt->pkt.secret_key->pk); if (!pkt->pkt.secret_key->pk) return CDK_Out_Of_Core; rc = read_secret_key (inp, pktlen, pkt->pkt.secret_key); break; - + case CDK_PKT_SECRET_SUBKEY: pkt->pkt.secret_key = cdk_calloc (1, sizeof *pkt->pkt.secret_key); if (!pkt->pkt.secret_key) return CDK_Out_Of_Core; - pkt->pkt.secret_key->pk = cdk_calloc (1, + pkt->pkt.secret_key->pk = cdk_calloc (1, sizeof *pkt->pkt.secret_key->pk); if (!pkt->pkt.secret_key->pk) return CDK_Out_Of_Core; rc = read_secret_subkey (inp, pktlen, pkt->pkt.secret_key); break; - + case CDK_PKT_LITERAL: pkt->pkt.literal = cdk_calloc (1, sizeof *pkt->pkt.literal); if (!pkt->pkt.literal) return CDK_Out_Of_Core; rc = read_literal (inp, pktlen, &pkt->pkt.literal, is_partial); break; - + case CDK_PKT_ONEPASS_SIG: pkt->pkt.onepass_sig = cdk_calloc (1, sizeof *pkt->pkt.onepass_sig); if (!pkt->pkt.onepass_sig) return CDK_Out_Of_Core; rc = read_onepass_sig (inp, pktlen, pkt->pkt.onepass_sig); break; - + case CDK_PKT_SIGNATURE: pkt->pkt.signature = cdk_calloc (1, sizeof *pkt->pkt.signature); if (!pkt->pkt.signature) return CDK_Out_Of_Core; rc = read_signature (inp, pktlen, pkt->pkt.signature); break; - + + case CDK_PKT_ENCRYPTED_MDC: + case CDK_PKT_ENCRYPTED: + pkt->pkt.encrypted = cdk_calloc (1, sizeof *pkt->pkt.encrypted); + if (!pkt->pkt.encrypted) + return CDK_Out_Of_Core; + use_mdc = (pkt->pkttype == CDK_PKT_ENCRYPTED_MDC) ? 1 : 0; + rc = read_encrypted (inp, pktlen, pkt->pkt.encrypted, + is_partial, use_mdc); + break; + + case CDK_PKT_SYMKEY_ENC: + pkt->pkt.symkey_enc = cdk_calloc (1, sizeof *pkt->pkt.symkey_enc); + if (!pkt->pkt.symkey_enc) + return CDK_Out_Of_Core; + rc = read_symkey_enc (inp, pktlen, pkt->pkt.symkey_enc); + break; + case CDK_PKT_PUBKEY_ENC: pkt->pkt.pubkey_enc = cdk_calloc (1, sizeof *pkt->pkt.pubkey_enc); if (!pkt->pkt.pubkey_enc) return CDK_Out_Of_Core; rc = read_pubkey_enc (inp, pktlen, pkt->pkt.pubkey_enc); break; - + case CDK_PKT_COMPRESSED: pkt->pkt.compressed = cdk_calloc (1, sizeof *pkt->pkt.compressed); if (!pkt->pkt.compressed) return CDK_Out_Of_Core; rc = read_compressed (inp, pktlen, pkt->pkt.compressed); break; - + case CDK_PKT_MDC: pkt->pkt.mdc = cdk_calloc (1, sizeof *pkt->pkt.mdc); if (!pkt->pkt.mdc) return CDK_Out_Of_Core; rc = read_mdc (inp, pkt->pkt.mdc); break; - + default: /* Skip all packets we don't understand */ skip_packet (inp, pktlen); break; } - + return rc; } diff -Nru gnutls26-2.8.6/lib/opencdk/seskey.c gnutls26-2.4.1/lib/opencdk/seskey.c --- gnutls26-2.8.6/lib/opencdk/seskey.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/seskey.c 2008-06-30 21:45:51.000000000 +0100 @@ -24,7 +24,9 @@ #ifdef HAVE_CONFIG_H # include #endif +#include #include +#include #include "opencdk.h" #include "main.h" @@ -38,27 +40,26 @@ * PAD consists of FF bytes. */ static cdk_error_t -do_encode_md (byte ** r_frame, size_t * r_flen, const byte * md, int algo, - size_t len, unsigned nbits, const byte * asn, size_t asnlen) +do_encode_md (byte **r_frame, size_t *r_flen, const byte *md, int algo, + size_t len, unsigned nbits, const byte *asn, size_t asnlen) { byte *frame = NULL; size_t nframe = (nbits + 7) / 8; - ssize_t i; - size_t n = 0; + size_t i, n = 0; if (!asn || !md || !r_frame || !r_flen) return CDK_Inv_Value; - + if (len + asnlen + 4 > nframe) return CDK_General_Error; - + frame = cdk_calloc (1, nframe); if (!frame) return CDK_Out_Of_Core; frame[n++] = 0; frame[n++] = 1; i = nframe - len - asnlen - 3; - if (i < 0) + if (i < 0) { cdk_free (frame); return CDK_Inv_Value; @@ -70,7 +71,7 @@ n += asnlen; memcpy (frame + n, md, len); n += len; - if (n != nframe) + if (n != nframe) { cdk_free (frame); return CDK_Inv_Value; @@ -80,95 +81,185 @@ return 0; } -static const byte md5_asn[18] = /* Object ID is 1.2.840.113549.2.5 */ -{ 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, - 0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10 -}; - -static const byte sha1_asn[15] = /* Object ID is 1.3.14.3.2.26 */ -{ 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, - 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14 -}; - -static const byte sha224_asn[19] = /* Object ID is 2.16.840.1.101.3.4.2.4 */ -{ 0x30, 0x2D, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, - 0x01, 0x65, 0x03, 0x04, 0x02, 0x04, 0x05, 0x00, 0x04, - 0x1C -}; - -static const byte sha256_asn[19] = /* Object ID is 2.16.840.1.101.3.4.2.1 */ -{ 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, - 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, - 0x00, 0x04, 0x20 -}; - -static const byte sha512_asn[] = /* Object ID is 2.16.840.1.101.3.4.2.3 */ -{ - 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, - 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, - 0x00, 0x04, 0x40 -}; - -static const byte sha384_asn[] = /* Object ID is 2.16.840.1.101.3.4.2.2 */ -{ - 0x30, 0x41, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, - 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, - 0x00, 0x04, 0x30 -}; - -static const byte rmd160_asn[15] = /* Object ID is 1.3.36.3.2.1 */ -{ 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x24, 0x03, - 0x02, 0x01, 0x05, 0x00, 0x04, 0x14 -}; - -static int -_gnutls_get_digest_oid (gnutls_digest_algorithm_t algo, const byte ** data) -{ - switch (algo) - { - case GNUTLS_DIG_MD5: - *data = md5_asn; - return sizeof (md5_asn); - case GNUTLS_DIG_SHA1: - *data = sha1_asn; - return sizeof (sha1_asn); - case GNUTLS_DIG_RMD160: - *data = rmd160_asn; - return sizeof (rmd160_asn); - case GNUTLS_DIG_SHA256: - *data = sha256_asn; - return sizeof (sha256_asn); - case GNUTLS_DIG_SHA384: - *data = sha384_asn; - return sizeof (sha384_asn); - case GNUTLS_DIG_SHA512: - *data = sha512_asn; - return sizeof (sha512_asn); - case GNUTLS_DIG_SHA224: - *data = sha224_asn; - return sizeof (sha224_asn); - default: - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; + + +/* RFC2437 format: + * + * 0 2 RND(n bytes) 0 [A DEK(k bytes) CSUM(2 bytes)] + * + * RND - randomized bytes for padding. + * A - cipher algorithm. + * DEK - random session key. + * CKSUM - algebraic checksum of the DEK. + */ + +/** + * cdk_dek_encode_pkcs1 + * @dek: DEK object + * @nbits: size of the multi precision integer frame + * @r_enc: output of the encoded multiprecision integer + * + * Encode the given random session key in the DEK object + * into a multiprecision integer. + **/ +cdk_error_t +cdk_dek_encode_pkcs1 (cdk_dek_t dek, size_t nbits, gcry_mpi_t *r_enc) +{ + gcry_mpi_t a = NULL; + gcry_error_t err; + byte *p, *frame; + size_t n; + size_t nframe; + size_t i; + u16 chksum; + + if (!r_enc || !dek) + return CDK_Inv_Value; + + *r_enc = NULL; + chksum = 0; + for (i = 0; i < dek->keylen; i++) + chksum += dek->key[i]; + nframe = (nbits + 7) / 8; + frame = cdk_salloc (nframe + 1, 1); + if (!frame) + return CDK_Out_Of_Core; + n = 0; + frame[n++] = 0x00; + frame[n++] = 0x02; + i = nframe - 6 - dek->keylen; + p = gcry_random_bytes (i, GCRY_STRONG_RANDOM); + /* Replace zero bytes by new values */ + for (;;) + { + size_t j, k; + byte *pp; + + /* count the zero bytes */ + for (j = k = 0; j < i; j++) + { + if (!p[j]) + k++; + } + if (!k) + break; /* No zeroes remain. */ + k += k / 128; /* better get some more */ + pp = gcry_random_bytes (k, GCRY_STRONG_RANDOM); + for (j = 0; j < i && k; j++) + { + if (!p[j]) + p[j] = pp[--k]; + } + cdk_free (pp); + } + memcpy (frame + n, p, i); + cdk_free (p); + n += i; + frame[n++] = 0; + frame[n++] = dek->algo; + memcpy (frame + n, dek->key, dek->keylen); + n += dek->keylen; + frame[n++] = chksum >> 8; + frame[n++] = chksum; + err = gcry_mpi_scan (&a, GCRYMPI_FMT_USG, frame, nframe, &nframe); + cdk_free (frame); + if (err) + return map_gcry_error (err); + *r_enc = a; + return 0; +} + + +/** + * cdk_dek_decode_pkcs1: + * @ret_dek: the decoded DEK object + * @esk: the pkcs#1 encoded session key. + * + * Decode the given multi precision integer in pkcs#1 and + * store it into the DEK object. + **/ +cdk_error_t +cdk_dek_decode_pkcs1 (cdk_dek_t *ret_dek, gcry_mpi_t esk) +{ + cdk_dek_t dek; + byte frame[MAX_MPI_BYTES+2+1]; + size_t nframe, n; + u16 csum, csum2; + gcry_error_t err; + + if (!ret_dek || !esk) + return CDK_Inv_Value; + + *ret_dek = NULL; /* reset */ + nframe = DIM (frame)-1; + err = gcry_mpi_print (GCRYMPI_FMT_USG, frame, nframe, &nframe, esk); + if (err) + return map_gcry_error (err); + dek = cdk_salloc (sizeof *dek, 1); + if (!dek) + return CDK_Out_Of_Core; + + /* Now get the DEK (data encryption key) from the frame + * + * 0 2 RND(n bytes) 0 A DEK(k bytes) CSUM(2 bytes) + * + * (gcry_mpi_print already removed the leading zero). + * + * RND are non-zero randow bytes. + * A is the cipher algorithm + * DEK is the encryption key (session key) with length k + * CSUM + */ + n = 0; + if (frame[n] != 2) + { + cdk_free (dek); + return CDK_Inv_Mode; + } + for (n++; n < nframe && frame[n]; n++) + ; + n++; + dek->keylen = nframe - (n + 1) - 2; + dek->algo = frame[n++]; + if (dek->keylen != gcry_cipher_get_algo_keylen (dek->algo)) + { + _cdk_log_debug ("pkcs1 decode: invalid cipher keylen %d\n", dek->keylen); + cdk_free (dek); + return CDK_Inv_Algo; } + csum = frame[nframe-2] << 8; + csum |= frame[nframe-1]; + memcpy (dek->key, frame + n, dek->keylen); + csum2 = 0; + for (n = 0; n < dek->keylen; n++) + csum2 += dek->key[n]; + if (csum != csum2) + { + _cdk_log_debug ("pkcs decode: checksum does not match\n"); + cdk_free (dek); + return CDK_Chksum_Error; + } + *ret_dek = dek; + return 0; } /* Encode the given digest into a pkcs#1 compatible format. */ cdk_error_t -_cdk_digest_encode_pkcs1 (byte ** r_md, size_t * r_mdlen, int pk_algo, - const byte * md, int digest_algo, unsigned nbits) +_cdk_digest_encode_pkcs1 (byte **r_md, size_t *r_mdlen, int pk_algo, + const byte *md, int digest_algo, unsigned nbits) { + gcry_error_t err; size_t dlen; if (!md || !r_md || !r_mdlen) return CDK_Inv_Value; - - dlen = _gnutls_hash_get_algo_len (digest_algo); - if (dlen <= 0) + + dlen = gcry_md_get_algo_dlen (digest_algo); + if (!dlen) return CDK_Inv_Algo; - if (is_DSA (pk_algo)) - { /* DSS does not use a special encoding. */ + if (is_DSA (pk_algo)) /* DSS does not use a special encoding. */ + { *r_md = cdk_malloc (dlen + 1); if (!*r_md) return CDK_Out_Of_Core; @@ -176,24 +267,395 @@ memcpy (*r_md, md, dlen); return 0; } - else + else { - const byte *asn; - int asnlen; + byte *asn; + size_t asnlen; cdk_error_t rc; - - asnlen = _gnutls_get_digest_oid (digest_algo, &asn); - if (asnlen < 0) - return asnlen; - + + err = gcry_md_get_asnoid (digest_algo, NULL, &asnlen); + if (err) + return map_gcry_error (err); + asn = cdk_malloc (asnlen + 1); + if (!asn) + return CDK_Out_Of_Core; + err = gcry_md_get_asnoid (digest_algo, asn, &asnlen); + if (err) + { + cdk_free (asn); + return map_gcry_error (err); + } rc = do_encode_md (r_md, r_mdlen, md, digest_algo, dlen, nbits, asn, asnlen); + cdk_free (asn); return rc; } return 0; } +/* FIXME: The prompt should be provided in a more generic way. + Like: (keyid, algorithm, [user-id]) */ +static char* +passphrase_prompt (cdk_pkt_seckey_t sk) +{ + u32 keyid = cdk_pk_get_keyid (sk->pk, NULL); + int bits = cdk_pk_get_nbits (sk->pk), pk_algo = sk->pubkey_algo; + const char *algo = "???", *fmt; + char *p; + + if (is_RSA (pk_algo)) + algo = "RSA"; + else if (is_ELG (pk_algo)) + algo = "ELG"; + else if (is_DSA (pk_algo)) + algo = "DSA"; + + fmt = "%d-bit %s key, ID %08lX\nEnter Passphrase: "; + p = cdk_calloc (1, 64 + strlen (fmt) + strlen (algo) + 1); + if (!p) + return NULL; + sprintf (p, fmt, bits, algo, keyid); + return p; +} + + +/* Try to unprotect the secret key, if needed, automatically. + The passphrase callback is used to get the passphrase directly + from the user. */ +cdk_error_t +_cdk_sk_unprotect_auto (cdk_ctx_t hd, cdk_pkt_seckey_t sk) +{ + char *pw, *p; + cdk_error_t rc; + + if (!sk->is_protected) + return 0; + + p = passphrase_prompt (sk); + pw = _cdk_passphrase_get (hd, p); + cdk_free (p); + if (!pw) + return CDK_No_Passphrase; + + rc = cdk_sk_unprotect (sk, pw); + + wipemem (pw, strlen (pw)); + cdk_free (pw); + return rc; +} + + +/** + * cdk_dek_extract: + * @ret_dek: the raw DEK object + * @hd: the session handle + * @enc: the public key encrypted packet + * @sk: the secret key. + * + * Try to extract the DEK from the public key encrypted packet. + **/ +cdk_error_t +cdk_dek_extract (cdk_dek_t *ret_dek, cdk_ctx_t hd, + cdk_pkt_pubkey_enc_t enc, cdk_pkt_seckey_t sk) +{ + gcry_mpi_t skey = NULL; + cdk_dek_t dek; + cdk_error_t rc; + + if (!enc || !sk || !ret_dek) + return CDK_Inv_Value; + + /* FIXME: it is not very elegant that we need the session handle here. */ + if (sk->is_protected) + { + rc = _cdk_sk_unprotect_auto (hd, sk); + if (rc) + return rc; + } + + rc = cdk_pk_decrypt (sk, enc, &skey); + if (rc) + return rc; + + rc = cdk_dek_decode_pkcs1 (&dek, skey); + gcry_mpi_release (skey); + if (rc) + { + cdk_dek_free (dek); + dek = NULL; + } + *ret_dek = dek; + return rc; +} + + +/** + * cdk_dek_new: + * @r_dek: the new DEK object + * + * Create a new DEK object. + **/ +cdk_error_t +cdk_dek_new (cdk_dek_t *r_dek) +{ + cdk_dek_t dek; + + if (!r_dek) + return CDK_Inv_Value; + *r_dek = NULL; + dek = cdk_salloc (sizeof *dek, 1); + if (!dek) + return CDK_Out_Of_Core; + *r_dek = dek; + return 0; +} + + +/** + * cdk_dek_set_cipher: + * @dek: the DEK object + * @algo: the cipher algorithm to use + * + * Set the cipher for the given DEK object. + **/ +cdk_error_t +cdk_dek_set_cipher (cdk_dek_t dek, int algo) +{ + if (!dek) + return CDK_Inv_Value; + + if (!algo) + algo = GCRY_CIPHER_AES128; + if (gcry_cipher_test_algo (algo)) + return CDK_Inv_Algo; + dek->algo = algo; + dek->keylen = gcry_cipher_get_algo_keylen (dek->algo); + return 0; +} + +cdk_error_t +cdk_dek_get_cipher (cdk_dek_t dek, int *r_algo) +{ + if (!dek || !r_algo) + return CDK_Inv_Value; + + + *r_algo = dek->algo; + return 0; +} + + +/** + * cdk_dek_set_key: + * @dek: the DEK object + * @key: the random session key + * @keylen: the length of the session key. + * + * Set the random session key for the given DEK object. + * If @key and @keylen is NULL (0) a random key will be generated. + * In any case, cdk_dek_set_cipher must be called first. + **/ +cdk_error_t +cdk_dek_set_key (cdk_dek_t dek, const byte *key, size_t keylen) +{ + gcry_cipher_hd_t hd; + size_t i; + + if (!dek) + return CDK_Inv_Value; + + /* The given key must be compatible with the symmetric + cipher algorithm set before. */ + if (keylen > 0 && keylen != dek->keylen) + return CDK_Inv_Mode; + + if (!key && !keylen) + { + gcry_error_t err; + + /* Used to generate a random session key. The extra code is used + to detect weak keys, if they are possible at all. */ + err = gcry_cipher_open (&hd, dek->algo, GCRY_CIPHER_MODE_CFB, + GCRY_CIPHER_ENABLE_SYNC); + if (err) + return map_gcry_error (err); + gcry_randomize (dek->key, dek->keylen, GCRY_STRONG_RANDOM); + for (i = 0; i < 8; i++) + { + if (!gcry_cipher_setkey (hd, dek->key, dek->keylen)) + { + gcry_cipher_close (hd); + return 0; + } + gcry_randomize (dek->key, dek->keylen, GCRY_STRONG_RANDOM); + } + gcry_cipher_close (hd); + return CDK_Weak_Key; + } + + memcpy (dek->key, key, dek->keylen); + return 0; +} + + +/** + * cdk_dek_set_mdc_flag: + * @dek: the DEK object + * @val: value to enable or disable the use + * + * Enable or disable the MDC flag for the given DEK object. + **/ +void +cdk_dek_set_mdc_flag (cdk_dek_t dek, int val) +{ + if (dek) + dek->use_mdc = val; +} + + +int +cdk_dek_get_mdc_flag (cdk_dek_t dek) +{ + if (!dek) + return 0; + return dek->use_mdc; +} + + +/** + * cdk_dek_free: + * @dek: the DEK object + * + * Release the DEK object. + **/ +void +cdk_dek_free (cdk_dek_t dek) +{ + if (!dek) + return; + + /* Make sure sentensive data is overwritten. */ + wipemem (dek->key, sizeof (dek->key)); + cdk_free (dek); +} + + +/* Hash the passphrase to produce the a DEK. + If create is set, a random salt will be generated. */ +static cdk_error_t +hash_passphrase (cdk_dek_t dek, const char *pw, cdk_s2k_t s2k, int create) +{ + gcry_md_hd_t md; + byte zero[1] = {0x00}; + int pass, i; + int used = 0, pwlen; + gcry_error_t err; + + if (!dek || !pw || !s2k) + return CDK_Inv_Value; + + if (!s2k->hash_algo) + s2k->hash_algo = GCRY_MD_SHA1; + pwlen = strlen (pw); + + dek->keylen = gcry_cipher_get_algo_keylen (dek->algo); + err = gcry_md_open (&md, s2k->hash_algo, 0); + if (err) + return map_gcry_error (err); + + for (pass = 0; used < dek->keylen; pass++) + { + if (pass) + { + gcry_md_reset (md); + for (i = 0; i < pass; i++) /* preset the hash context */ + gcry_md_write (md, zero, 1); + } + if (s2k->mode == CDK_S2K_SALTED || s2k->mode == CDK_S2K_ITERSALTED) + { + int len2 = pwlen + 8; + u32 count = len2; + if (create && !pass) + { + gcry_randomize (s2k->salt, 8, GCRY_STRONG_RANDOM); + if (s2k->mode == 3) + s2k->count = 96; /* 65536 iterations */ + } + if (s2k->mode == 3) + { + count = (16ul + (s2k->count & 15)) << ((s2k->count >> 4) + 6); + if (count < len2) + count = len2; + } + /* a little bit complicated because we need a ulong for count */ + while (count > len2) + { /* maybe iterated+salted */ + gcry_md_write (md, s2k->salt, 8); + gcry_md_write (md, pw, pwlen); + count -= len2; + } + if (count < 8) + gcry_md_write (md, s2k->salt, count); + else + { + gcry_md_write (md, s2k->salt, 8); + count -= 8; + gcry_md_write (md, pw, count); + } + } + else + gcry_md_write (md, pw, pwlen); + gcry_md_final (md); + i = gcry_md_get_algo_dlen (s2k->hash_algo); + if (i > dek->keylen - used) + i = dek->keylen - used; + memcpy (dek->key + used, gcry_md_read (md, s2k->hash_algo), i); + used += i; + } + gcry_md_close (md); + return 0; +} + + +/** + * cdk_dek_from_passphrase: + * @ret_dek: the new DEK. + * @cipher_algo: symmetric key algorithm to use + * @s2k: the S2K to use + * @rndsalt: 1=create random salt + * @pw: the passphrase. + * + * Transform a passphrase into a DEK object. + */ +cdk_error_t +cdk_dek_from_passphrase (cdk_dek_t *ret_dek, int cipher_algo, cdk_s2k_t s2k, + int rndsalt, const char *pw) +{ + cdk_dek_t dek; + cdk_error_t rc; + + if (!ret_dek) + return CDK_Inv_Value; + + *ret_dek = NULL; + rc = cdk_dek_new (&dek); + if (rc) + return rc; + rc = cdk_dek_set_cipher (dek, cipher_algo); + if (!rc) + rc = hash_passphrase (dek, pw, s2k, rndsalt); + if (rc) + { + cdk_dek_free (dek); + return rc; + } + + *ret_dek = dek; + return 0; +} + + /** * cdk_s2k_new: * @ret_s2k: output for the new S2K object @@ -205,8 +667,7 @@ * The @salt parameter must be always 8 octets. **/ cdk_error_t -cdk_s2k_new (cdk_s2k_t * ret_s2k, int mode, int digest_algo, - const byte * salt) +cdk_s2k_new (cdk_s2k_t *ret_s2k, int mode, int digest_algo, const byte *salt) { cdk_s2k_t s2k; @@ -215,10 +676,10 @@ if (mode != 0x00 && mode != 0x01 && mode != 0x03) return CDK_Inv_Mode; - - if (_gnutls_hash_get_algo_len (digest_algo) <= 0) + + if (gcry_md_test_algo (digest_algo)) return CDK_Inv_Algo; - + s2k = cdk_calloc (1, sizeof *s2k); if (!s2k) return CDK_Out_Of_Core; @@ -246,16 +707,16 @@ /* Make a copy of the source s2k into R_DST. */ cdk_error_t -_cdk_s2k_copy (cdk_s2k_t * r_dst, cdk_s2k_t src) +_cdk_s2k_copy (cdk_s2k_t *r_dst, cdk_s2k_t src) { cdk_s2k_t dst; cdk_error_t err; - + err = cdk_s2k_new (&dst, src->mode, src->hash_algo, src->salt); if (err) return err; dst->count = src->count; *r_dst = dst; - + return 0; } diff -Nru gnutls26-2.8.6/lib/opencdk/sig-check.c gnutls26-2.4.1/lib/opencdk/sig-check.c --- gnutls26-2.8.6/lib/opencdk/sig-check.c 2010-01-13 09:21:37.000000000 +0000 +++ gnutls26-2.4.1/lib/opencdk/sig-check.c 2008-06-30 21:45:51.000000000 +0100 @@ -26,6 +26,7 @@ #endif #include #include +#include #include #include "opencdk.h" @@ -36,27 +37,27 @@ /* Hash all multi precision integers of the key PK with the given message digest context MD. */ static int -hash_mpibuf (cdk_pubkey_t pk, digest_hd_st * md, int usefpr) +hash_mpibuf (cdk_pubkey_t pk, gcry_md_hd_t md, int usefpr) { - byte buf[MAX_MPI_BYTES]; /* FIXME: do not use hardcoded length. */ + byte buf[MAX_MPI_BYTES]; /* FIXME: do not use hardcoded length. */ size_t nbytes; size_t i, npkey; - int err; - + gcry_error_t err; + /* We have to differ between two modes for v3 keys. To form the fingerprint, we hash the MPI values without the length prefix. But if we calculate the hash for verifying/signing we use all data. */ npkey = cdk_pk_get_npkey (pk->pubkey_algo); - for (i = 0; i < npkey; i++) + for (i = 0; i < npkey; i++) { - nbytes = MAX_MPI_BYTES; - err = _gnutls_mpi_print_pgp (pk->mpi[i], buf, &nbytes); - if (err < 0) - return map_gnutls_error (err); + err = gcry_mpi_print (GCRYMPI_FMT_PGP, buf, MAX_MPI_BYTES, + &nbytes, pk->mpi[i]); + if (err) + return map_gcry_error (err); if (!usefpr || pk->version == 4) - _gnutls_hash (md, buf, nbytes); - else /* without the prefix. */ - _gnutls_hash (md, buf + 2, nbytes - 2); + gcry_md_write (md, buf, nbytes); + else /* without the prefix. */ + gcry_md_write (md, buf + 2, nbytes - 2); } return 0; } @@ -66,24 +67,24 @@ MD. The @usefpr param is only valid for version 3 keys because of the different way to calculate the fingerprint. */ cdk_error_t -_cdk_hash_pubkey (cdk_pubkey_t pk, digest_hd_st * md, int usefpr) +_cdk_hash_pubkey (cdk_pubkey_t pk, gcry_md_hd_t md, int usefpr) { byte buf[12]; size_t i, n, npkey; - + if (!pk || !md) return CDK_Inv_Value; - - if (usefpr && pk->version < 4 && is_RSA (pk->pubkey_algo)) + + if (usefpr && pk->version < 4 && is_RSA (pk->pubkey_algo)) return hash_mpibuf (pk, md, 1); - + /* The version 4 public key packet does not have the 2 octets for the expiration date. */ - n = pk->version < 4 ? 8 : 6; + n = pk->version < 4? 8 : 6; npkey = cdk_pk_get_npkey (pk->pubkey_algo); - for (i = 0; i < npkey; i++) - n = n + (_gnutls_mpi_get_nbits (pk->mpi[i]) + 7) / 8 + 2; - + for (i = 0; i < npkey; i++) + n = n + (gcry_mpi_get_nbits (pk->mpi[i])+7)/8 + 2; + i = 0; buf[i++] = 0x99; buf[i++] = n >> 8; @@ -91,21 +92,21 @@ buf[i++] = pk->version; buf[i++] = pk->timestamp >> 24; buf[i++] = pk->timestamp >> 16; - buf[i++] = pk->timestamp >> 8; - buf[i++] = pk->timestamp >> 0; - - if (pk->version < 4) - { + buf[i++] = pk->timestamp >> 8; + buf[i++] = pk->timestamp >> 0; + + if (pk->version < 4) + { u16 a = 0; - + /* Convert the expiration date into days. */ if (pk->expiredate) - a = (u16) ((pk->expiredate - pk->timestamp) / 86400L); + a = (u16)((pk->expiredate - pk->timestamp) / 86400L); buf[i++] = a >> 8; buf[i++] = a; } buf[i++] = pk->pubkey_algo; - _gnutls_hash (md, buf, i); + gcry_md_write (md, buf, i); return hash_mpibuf (pk, md, 0); } @@ -113,30 +114,30 @@ /* Hash the user ID @uid with the given message digest @md. Use openpgp mode if @is_v4 is 1. */ cdk_error_t -_cdk_hash_userid (cdk_pkt_userid_t uid, int is_v4, digest_hd_st * md) +_cdk_hash_userid (cdk_pkt_userid_t uid, int is_v4, gcry_md_hd_t md) { const byte *data; byte buf[5]; u32 dlen; - + if (!uid || !md) return CDK_Inv_Value; if (!is_v4) { - _gnutls_hash (md, (byte *) uid->name, uid->len); + gcry_md_write (md, (byte*)uid->name, uid->len); return 0; } - - dlen = uid->attrib_img ? uid->attrib_len : uid->len; - data = uid->attrib_img ? uid->attrib_img : (byte *) uid->name; - buf[0] = uid->attrib_img ? 0xD1 : 0xB4; + + dlen = uid->attrib_img? uid->attrib_len : uid->len; + data = uid->attrib_img? uid->attrib_img : (byte*)uid->name; + buf[0] = uid->attrib_img? 0xD1 : 0xB4; buf[1] = dlen >> 24; buf[2] = dlen >> 16; - buf[3] = dlen >> 8; - buf[4] = dlen >> 0; - _gnutls_hash (md, buf, 5); - _gnutls_hash (md, data, dlen); + buf[3] = dlen >> 8; + buf[4] = dlen >> 0; + gcry_md_write (md, buf, 5); + gcry_md_write (md, data, dlen); return 0; } @@ -144,61 +145,55 @@ /* Hash all parts of the signature which are needed to derive the correct message digest to verify the sig. */ cdk_error_t -_cdk_hash_sig_data (cdk_pkt_signature_t sig, digest_hd_st * md) +_cdk_hash_sig_data (cdk_pkt_signature_t sig, gcry_md_hd_t md) { byte buf[4]; - byte tmp; - + if (!sig || !md) return CDK_Inv_Value; - + if (sig->version == 4) - _gnutls_hash (md, &sig->version, 1); - - _gnutls_hash (md, &sig->sig_class, 1); - if (sig->version < 4) + gcry_md_putc (md, sig->version); + gcry_md_putc (md, sig->sig_class); + if (sig->version < 4) { buf[0] = sig->timestamp >> 24; buf[1] = sig->timestamp >> 16; - buf[2] = sig->timestamp >> 8; - buf[3] = sig->timestamp >> 0; - _gnutls_hash (md, buf, 4); + buf[2] = sig->timestamp >> 8; + buf[3] = sig->timestamp >> 0; + gcry_md_write (md, buf, 4); } else { size_t n; - - tmp = _cdk_pub_algo_to_pgp (sig->pubkey_algo); - _gnutls_hash (md, &tmp, 1); - tmp = _gnutls_hash_algo_to_pgp (sig->digest_algo); - _gnutls_hash (md, &tmp, 1); + + gcry_md_putc (md, sig->pubkey_algo); + gcry_md_putc (md, sig->digest_algo); if (sig->hashed != NULL) { byte *p = _cdk_subpkt_get_array (sig->hashed, 0, &n); assert (p != NULL); buf[0] = n >> 8; buf[1] = n >> 0; - _gnutls_hash (md, buf, 2); - _gnutls_hash (md, p, n); + gcry_md_write (md, buf, 2); + gcry_md_write (md, p, n); cdk_free (p); sig->hashed_size = n; n = sig->hashed_size + 6; } - else + else { - tmp = 0x00; - _gnutls_hash (md, &tmp, 1); - _gnutls_hash (md, &tmp, 1); + gcry_md_putc (md, 0x00); + gcry_md_putc (md, 0x00); n = 6; } - _gnutls_hash (md, &sig->version, 1); - tmp = 0xff; - _gnutls_hash (md, &tmp, 1); + gcry_md_putc (md, sig->version); + gcry_md_putc (md, 0xFF); buf[0] = n >> 24; buf[1] = n >> 16; - buf[2] = n >> 8; - buf[3] = n >> 0; - _gnutls_hash (md, buf, 4); + buf[2] = n >> 8; + buf[3] = n >> 0; + gcry_md_write (md, buf, 4); } return 0; } @@ -215,7 +210,7 @@ sig->flags.checked = 1; sig->flags.valid = 1; } - else if (res == CDK_Bad_Sig) + else if (res == CDK_Bad_Sig) { sig->flags.checked = 1; sig->flags.valid = 0; @@ -227,37 +222,34 @@ Use the digest handle @digest. */ cdk_error_t _cdk_sig_check (cdk_pubkey_t pk, cdk_pkt_signature_t sig, - digest_hd_st * digest, int *r_expired) + gcry_md_hd_t digest, int *r_expired) { cdk_error_t rc; byte md[MAX_DIGEST_LEN]; - time_t cur_time = (u32) time (NULL); + time_t cur_time = (u32)time (NULL); if (!pk || !sig || !digest) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + if (sig->flags.checked) - return sig->flags.valid ? 0 : CDK_Bad_Sig; + return sig->flags.valid ?0 : CDK_Bad_Sig; if (!KEY_CAN_SIGN (pk->pubkey_algo)) return CDK_Inv_Algo; if (pk->timestamp > sig->timestamp || pk->timestamp > cur_time) return CDK_Time_Conflict; - + if (r_expired && pk->expiredate && (pk->expiredate + pk->timestamp) > cur_time) *r_expired = 1; _cdk_hash_sig_data (sig, digest); - _gnutls_hash_output (digest, md); - - if (md[0] != sig->digest_start[0] || md[1] != sig->digest_start[1]) - { - gnutls_assert (); - return CDK_Chksum_Error; - } + gcry_md_final (digest); + memcpy (md, gcry_md_read (digest, sig->digest_algo), + gcry_md_get_algo_dlen (sig->digest_algo)); + + if (md[0] != sig->digest_start[0] || + md[1] != sig->digest_start[1]) + return CDK_Chksum_Error; rc = cdk_pk_verify (pk, sig, md); cache_sig_result (sig, rc); @@ -268,12 +260,11 @@ /* Check the given key signature. @knode is the key node and @snode the signature node. */ cdk_error_t -_cdk_pk_check_sig (cdk_keydb_hd_t keydb, - cdk_kbnode_t knode, cdk_kbnode_t snode, int *is_selfsig, - char **ret_uid) +_cdk_pk_check_sig (cdk_keydb_hd_t keydb, + cdk_kbnode_t knode, cdk_kbnode_t snode, int *is_selfsig, char** ret_uid) { - digest_hd_st md; - int err; + gcry_md_hd_t md; + gcry_error_t err; cdk_pubkey_t pk; cdk_pkt_signature_t sig; cdk_kbnode_t node; @@ -281,175 +272,147 @@ int is_expired; if (!knode || !snode) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + if (is_selfsig) *is_selfsig = 0; - if ((knode->pkt->pkttype != CDK_PKT_PUBLIC_KEY && - knode->pkt->pkttype != CDK_PKT_PUBLIC_SUBKEY) || + if (knode->pkt->pkttype != CDK_PKT_PUBLIC_KEY || snode->pkt->pkttype != CDK_PKT_SIGNATURE) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; pk = knode->pkt->pkt.public_key; sig = snode->pkt->pkt.signature; - - err = _gnutls_hash_init (&md, sig->digest_algo); - if (err < 0) - { - gnutls_assert (); - return map_gnutls_error (err); - } + + err = gcry_md_open (&md, sig->digest_algo, 0); + if (err) + return map_gcry_error (err); is_expired = 0; if (sig->sig_class == 0x20) - { /* key revocation */ - cdk_kbnode_hash (knode, &md, 0, 0, 0); - rc = _cdk_sig_check (pk, sig, &md, &is_expired); + { /* key revocation */ + cdk_kbnode_hash (knode, md, 0, 0, 0); + rc = _cdk_sig_check (pk, sig, md, &is_expired); } else if (sig->sig_class == 0x28) - { /* subkey revocation */ + { /* subkey revocation */ node = cdk_kbnode_find_prev (knode, snode, CDK_PKT_PUBLIC_SUBKEY); - if (!node) - { /* no subkey for subkey revocation packet */ - gnutls_assert (); + if (!node) + { /* no subkey for subkey revocation packet */ rc = CDK_Error_No_Key; goto fail; } - cdk_kbnode_hash (knode, &md, 0, 0, 0); - cdk_kbnode_hash (node, &md, 0, 0, 0); - rc = _cdk_sig_check (pk, sig, &md, &is_expired); + cdk_kbnode_hash (knode, md, 0, 0, 0); + cdk_kbnode_hash (node, md, 0, 0, 0); + rc = _cdk_sig_check (pk, sig, md, &is_expired); } else if (sig->sig_class == 0x18 || sig->sig_class == 0x19) - { /* primary/secondary key binding */ + { /* primary/secondary key binding */ node = cdk_kbnode_find_prev (knode, snode, CDK_PKT_PUBLIC_SUBKEY); - if (!node) - { /* no subkey for subkey binding packet */ - gnutls_assert (); + if (!node) + { /* no subkey for subkey binding packet */ rc = CDK_Error_No_Key; goto fail; } - cdk_kbnode_hash (knode, &md, 0, 0, 0); - cdk_kbnode_hash (node, &md, 0, 0, 0); - rc = _cdk_sig_check (pk, sig, &md, &is_expired); + cdk_kbnode_hash (knode, md, 0, 0, 0); + cdk_kbnode_hash (node, md, 0, 0, 0); + rc = _cdk_sig_check (pk, sig, md, &is_expired); } else if (sig->sig_class == 0x1F) - { /* direct key signature */ - cdk_kbnode_hash (knode, &md, 0, 0, 0); - rc = _cdk_sig_check (pk, sig, &md, &is_expired); + { /* direct key signature */ + cdk_kbnode_hash (knode, md, 0, 0, 0); + rc = _cdk_sig_check (pk, sig, md, &is_expired); } - else - { /* all other classes */ + else + { /* all other classes */ cdk_pkt_userid_t uid; node = cdk_kbnode_find_prev (knode, snode, CDK_PKT_USER_ID); if (!node) - { /* no user ID for key signature packet */ - gnutls_assert (); + { /* no user ID for key signature packet */ rc = CDK_Error_No_Key; goto fail; } - uid = node->pkt->pkt.user_id; - if (ret_uid) - { - *ret_uid = uid->name; - } - cdk_kbnode_hash (knode, &md, 0, 0, 0); - cdk_kbnode_hash (node, &md, sig->version == 4, 0, 0); - + if (ret_uid) { + *ret_uid = uid->name; + } + cdk_kbnode_hash (knode, md, 0, 0, 0); + cdk_kbnode_hash (node, md, sig->version==4, 0, 0); if (pk->keyid[0] == sig->keyid[0] && pk->keyid[1] == sig->keyid[1]) { - rc = _cdk_sig_check (pk, sig, &md, &is_expired); + rc = _cdk_sig_check (pk, sig, md, &is_expired); if (is_selfsig) *is_selfsig = 1; } else if (keydb != NULL) { cdk_pubkey_t sig_pk; + rc = cdk_keydb_get_pk (keydb, sig->keyid, &sig_pk); if (!rc) - rc = _cdk_sig_check (sig_pk, sig, &md, &is_expired); + rc = _cdk_sig_check (sig_pk, sig, md, &is_expired); cdk_pk_release (sig_pk); } } -fail: - _gnutls_hash_deinit (&md, NULL); + fail: + gcry_md_close (md); return rc; } -struct verify_uid -{ - const char *name; +struct verify_uid { + const char* name; int nsigs; - struct verify_uid *next; + struct verify_uid* next; }; -static int -uid_list_add_sig (struct verify_uid **list, const char *uid, - unsigned int flag) +static int uid_list_add_sig( struct verify_uid **list, const char* uid, unsigned int flag) { - if (*list == NULL) - { - *list = cdk_calloc (1, sizeof (struct verify_uid)); - if (*list == NULL) - return CDK_Out_Of_Core; - (*list)->name = uid; - - if (flag != 0) - (*list)->nsigs++; - } - else - { - struct verify_uid *p, *prev_p = NULL; + if (*list == NULL) { + *list = cdk_calloc( 1, sizeof(struct verify_uid)); + if (*list == NULL) + return CDK_Out_Of_Core; + (*list)->name = uid; + + if (flag != 0) + (*list)->nsigs++; + } else { + struct verify_uid* p, *prev_p = NULL; int found = 0; p = *list; - - while (p != NULL) - { - if (strcmp (uid, p->name) == 0) - { - found = 1; - break; - } - prev_p = p; - p = p->next; - } - - if (found == 0) - { /* not found add to the last */ - prev_p->next = cdk_calloc (1, sizeof (struct verify_uid)); - if (prev_p->next == NULL) - return CDK_Out_Of_Core; - prev_p->next->name = uid; - if (flag != 0) - prev_p->next->nsigs++; - } - else - { /* found... increase sigs */ - if (flag != 0) - p->nsigs++; - } - } - - return CDK_Success; -} - -static void -uid_list_free (struct verify_uid *list) -{ - struct verify_uid *p, *p1; - - p = list; - while (p != NULL) - { - p1 = p->next; - cdk_free (p); - p = p1; + + while(p != NULL) { + if (strcmp( uid, p->name) == 0) { + found = 1; + break; + } + prev_p = p; + p = p->next; + } + + if (found == 0) { /* not found add to the last */ + prev_p->next = cdk_calloc( 1, sizeof(struct verify_uid)); + if (prev_p->next==NULL) + return CDK_Out_Of_Core; + prev_p->next->name = uid; + if (flag != 0) + prev_p->next->nsigs++; + } else { /* found... increase sigs */ + if (flag != 0) + p->nsigs++; + } + } + + return CDK_Success; +} + +static void uid_list_free( struct verify_uid * list) +{ +struct verify_uid* p, *p1; + + p = list; + while(p != NULL) { + p1 = p->next; + cdk_free (p); + p = p1; } } @@ -457,24 +420,21 @@ * signature. If the list is empty or no signatures are present * a zero value is returned. */ -static int -uid_list_all_signed (struct verify_uid *list) +static int uid_list_all_signed( struct verify_uid * list) { - struct verify_uid *p; +struct verify_uid* p, *p1; - if (list == NULL) - return 0; + if (list == NULL) + return 0; - p = list; - while (p != NULL) - { - if (p->nsigs == 0) - { - return 0; - } - p = p->next; + p = list; + while(p != NULL) { + if (p->nsigs == 0) { + return 0; + } + p = p->next; } - return 1; /* all signed */ + return 1; /* all signed */ } /** @@ -495,22 +455,16 @@ cdk_error_t rc; u32 keyid; int key_status, is_selfsig = 0; - struct verify_uid *uid_list = NULL; - char *uid_name; - + struct verify_uid* uid_list = NULL; + char* uid_name; + if (!key || !r_status) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + *r_status = 0; node = cdk_kbnode_find (key, CDK_PKT_PUBLIC_KEY); if (!node) - { - gnutls_assert (); - return CDK_Error_No_Key; - } + return CDK_Error_No_Key; key_status = 0; /* Continue with the signature check but adjust the @@ -522,7 +476,7 @@ rc = 0; keyid = cdk_pk_get_keyid (node->pkt->pkt.public_key, NULL); - for (node = key; node; node = node->next) + for (node = key; node; node = node->next) { if (node->pkt->pkttype != CDK_PKT_SIGNATURE) continue; @@ -535,15 +489,15 @@ corrupted, thus we do not consider it a problem when one ore more signatures are bad. But at least the self signature has to be valid. */ - if (is_selfsig) + if (is_selfsig) { key_status |= CDK_KEY_INVALID; break; - } - } + } + } _cdk_log_debug ("signature %s: signer %08lX keyid %08lX\n", - rc == CDK_Bad_Sig ? "BAD" : "good", sig->keyid[1], + rc == CDK_Bad_Sig? "BAD" : "good", sig->keyid[1], keyid); if (IS_UID_SIG (sig) && uid_name != NULL) @@ -552,26 +506,21 @@ * - verification was ok * - not a selfsig */ - rc = - uid_list_add_sig (&uid_list, uid_name, - (rc == CDK_Success && is_selfsig == 0) ? 1 : 0); - if (rc != CDK_Success) - { - gnutls_assert (); - goto exit; - } + rc = uid_list_add_sig( &uid_list, uid_name, (rc == CDK_Success && is_selfsig==0)?1:0); + if (rc != CDK_Success) + goto exit; } } - - if (uid_list_all_signed (uid_list) == 0) - key_status |= CDK_KEY_NOSIGNER; - *r_status = key_status; + + if (uid_list_all_signed(uid_list) == 0) + key_status |= CDK_KEY_NOSIGNER; + *r_status = key_status; if (rc == CDK_Error_No_Key) rc = 0; exit: - uid_list_free (uid_list); + uid_list_free(uid_list); return rc; } @@ -590,58 +539,47 @@ cdk_pkt_signature_t sig; cdk_kbnode_t node; cdk_error_t rc; - u32 keyid[2], sigid[2]; + u32 keyid[2], sigid[2]; int is_selfsig, sig_ok; - cdk_kbnode_t p, ctx = NULL; - cdk_packet_t pkt; - + if (!key || !r_status) return CDK_Inv_Value; - + + node = cdk_kbnode_find (key, CDK_PKT_PUBLIC_KEY); + if (!node) + return CDK_Error_No_Key; + /* FIXME: we should set expire/revoke here also but callers + expect CDK_KEY_VALID=0 if the key is okay. */ cdk_pk_get_keyid (key->pkt->pkt.public_key, keyid); - - while ((p = cdk_kbnode_walk (key, &ctx, 0))) + sig_ok = 0; + for (node = key; node; node = node->next) { - pkt = cdk_kbnode_get_packet (p); - if (pkt->pkttype != CDK_PKT_PUBLIC_SUBKEY && pkt->pkttype != CDK_PKT_PUBLIC_KEY) - continue; - - /* FIXME: we should set expire/revoke here also but callers - expect CDK_KEY_VALID=0 if the key is okay. */ - sig_ok = 0; - for (node = p; node; node = node->next) - { - if (node->pkt->pkttype != CDK_PKT_SIGNATURE) - continue; - sig = node->pkt->pkt.signature; - - cdk_sig_get_keyid (sig, sigid); - if (sigid[0] != keyid[0] || sigid[1] != keyid[1]) - continue; - /* FIXME: Now we check all self signatures. */ - rc = _cdk_pk_check_sig (NULL, p, node, &is_selfsig, NULL); - if (rc) - { - *r_status = CDK_KEY_INVALID; - return rc; - } - else /* For each valid self sig we increase this counter. */ - sig_ok++; - } - - /* A key without a self signature is not valid. At least one - * signature for the given key has to be found. - */ - if (!sig_ok) - { - *r_status = CDK_KEY_INVALID; - return CDK_General_Error; - } - + if (node->pkt->pkttype != CDK_PKT_SIGNATURE) + continue; + sig = node->pkt->pkt.signature; + if (!IS_UID_SIG (sig)) + continue; + cdk_sig_get_keyid (sig, sigid); + if (sigid[0] != keyid[0] || sigid[1] != keyid[1]) + continue; + /* FIXME: Now we check all self signatures. */ + rc = _cdk_pk_check_sig (NULL, key, node, &is_selfsig, NULL); + if (rc) + { + *r_status = CDK_KEY_INVALID; + return rc; + } + else /* For each valid self sig we increase this counter. */ + sig_ok++; } - - /* No flags indicate a valid key. */ - *r_status = CDK_KEY_VALID; - - return 0; + + /* A key without a self signature is not valid. */ + if (!sig_ok) + { + *r_status = CDK_KEY_INVALID; + return CDK_General_Error; + } + /* No flags indicate a valid key. */ + *r_status = CDK_KEY_VALID; + return 0; } diff -Nru gnutls26-2.8.6/lib/opencdk/stream.c gnutls26-2.4.1/lib/opencdk/stream.c --- gnutls26-2.8.6/lib/opencdk/stream.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/stream.c 2008-06-30 21:45:51.000000000 +0100 @@ -43,12 +43,14 @@ /* This is the maximal amount of bytes we map. */ #define MAX_MAP_SIZE 16777216 -static cdk_error_t stream_flush (cdk_stream_t s); -static cdk_error_t stream_filter_write (cdk_stream_t s); -static int stream_cache_flush (cdk_stream_t s, FILE * fp); -struct stream_filter_s *filter_add (cdk_stream_t s, filter_fnct_t fnc, - int type); - +static int stream_flush (cdk_stream_t s); +static int stream_filter_write (cdk_stream_t s); +static int stream_cache_flush (cdk_stream_t s, FILE *fp); +struct stream_filter_s* filter_add (cdk_stream_t s, filter_fnct_t fnc, int type); + +/* Customized tmpfile() version from misc.c */ +FILE *my_tmpfile (void); + /* FIXME: The read/write/putc/getc function cannot directly return an error code. It is stored in an error variable @@ -64,7 +66,7 @@ * opened in read-only mode. **/ cdk_error_t -cdk_stream_open (const char *file, cdk_stream_t * ret_s) +cdk_stream_open (const char *file, cdk_stream_t *ret_s) { return _cdk_stream_open_mode (file, "rb", ret_s); } @@ -72,38 +74,29 @@ /* Helper function to allow to open a stream in different modes. */ cdk_error_t -_cdk_stream_open_mode (const char *file, const char *mode, - cdk_stream_t * ret_s) +_cdk_stream_open_mode (const char *file, const char *mode, cdk_stream_t *ret_s) { cdk_stream_t s; - + if (!file || !ret_s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + _cdk_log_debug ("open stream `%s'\n", file); *ret_s = NULL; s = cdk_calloc (1, sizeof *s); if (!s) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; s->fname = cdk_strdup (file); - if (!s->fname) + if (!s->fname) { cdk_free (s); - gnutls_assert (); return CDK_Out_Of_Core; } s->fp = fopen (file, mode); - if (!s->fp) + if (!s->fp) { cdk_free (s->fname); cdk_free (s); - gnutls_assert (); return CDK_File_Error; } _cdk_log_debug ("open stream fd=%d\n", fileno (s->fp)); @@ -124,24 +117,18 @@ */ cdk_error_t cdk_stream_new_from_cbs (cdk_stream_cbs_t cbs, void *opa, - cdk_stream_t * ret_s) + cdk_stream_t *ret_s) { cdk_stream_t s; if (!cbs || !opa || !ret_s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + *ret_s = NULL; s = cdk_calloc (1, sizeof *s); if (!s) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } - + return CDK_Out_Of_Core; + s->cbs.read = cbs->read; s->cbs.write = cbs->write; s->cbs.seek = cbs->seek; @@ -149,11 +136,11 @@ s->cbs.open = cbs->open; s->cbs_hd = opa; *ret_s = s; - + /* If there is a user callback for open, we need to call it here because read/write expects an open stream. */ if (s->cbs.open) - return s->cbs.open (s->cbs_hd); + return s->cbs.open (s->cbs_hd); return 0; } @@ -166,43 +153,35 @@ * Create a new stream into the given file. **/ cdk_error_t -cdk_stream_new (const char *file, cdk_stream_t * ret_s) +cdk_stream_new (const char *file, cdk_stream_t *ret_s) { cdk_stream_t s; - + if (!ret_s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - _cdk_log_debug ("new stream `%s'\n", file ? file : "[temp]"); + return CDK_Inv_Value; + + _cdk_log_debug ("new stream `%s'\n", file? file : "[temp]"); *ret_s = NULL; s = cdk_calloc (1, sizeof *s); if (!s) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; s->flags.write = 1; if (!file) s->flags.temp = 1; - else + else { s->fname = cdk_strdup (file); - if (!s->fname) + if (!s->fname) { cdk_free (s); - gnutls_assert (); return CDK_Out_Of_Core; } } - s->fp = _cdk_tmpfile (); - if (!s->fp) + s->fp = my_tmpfile (); + if (!s->fp) { cdk_free (s->fname); cdk_free (s); - gnutls_assert (); return CDK_File_Error; } _cdk_log_debug ("new stream fd=%d\n", fileno (s->fp)); @@ -220,31 +199,24 @@ * this kind of stream and everything is written directly to the stream. **/ cdk_error_t -cdk_stream_create (const char *file, cdk_stream_t * ret_s) +cdk_stream_create (const char *file, cdk_stream_t *ret_s) { cdk_stream_t s; - + if (!file || !ret_s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + _cdk_log_debug ("create stream `%s'\n", file); *ret_s = NULL; s = cdk_calloc (1, sizeof *s); if (!s) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; s->flags.write = 1; s->flags.filtrated = 1; s->fname = cdk_strdup (file); if (!s->fname) { cdk_free (s); - gnutls_assert (); return CDK_Out_Of_Core; } s->fp = fopen (file, "w+b"); @@ -252,14 +224,13 @@ { cdk_free (s->fname); cdk_free (s); - gnutls_assert (); return CDK_File_Error; } _cdk_log_debug ("stream create fd=%d\n", fileno (s->fp)); *ret_s = s; return 0; } - + /** * cdk_stream_tmp_new: @@ -268,7 +239,7 @@ * Allocates a new tempory stream which is not associated with a file. */ cdk_error_t -cdk_stream_tmp_new (cdk_stream_t * r_out) +cdk_stream_tmp_new (cdk_stream_t *r_out) { return cdk_stream_new (NULL, r_out); } @@ -284,25 +255,21 @@ * Creates a new tempory stream with the given contests. */ cdk_error_t -cdk_stream_tmp_from_mem (const void *buf, size_t buflen, cdk_stream_t * r_out) +cdk_stream_tmp_from_mem (const void *buf, size_t buflen, cdk_stream_t *r_out) { cdk_stream_t s; cdk_error_t rc; int nwritten; - + *r_out = NULL; rc = cdk_stream_tmp_new (&s); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + nwritten = cdk_stream_write (s, buf, buflen); if (nwritten == EOF) { cdk_stream_close (s); - gnutls_assert (); return s->error; } cdk_stream_seek (s, 0); @@ -310,51 +277,42 @@ return 0; } - + cdk_error_t -_cdk_stream_fpopen (FILE * fp, unsigned write_mode, cdk_stream_t * ret_out) +_cdk_stream_fpopen (FILE *fp, unsigned write_mode, cdk_stream_t *ret_out) { cdk_stream_t s; *ret_out = NULL; s = cdk_calloc (1, sizeof *s); if (!s) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } - + return CDK_Out_Of_Core; + _cdk_log_debug ("stream ref fd=%d\n", fileno (fp)); s->fp = fp; s->fp_ref = 1; s->flags.filtrated = 1; s->flags.write = write_mode; - + *ret_out = s; return 0; } cdk_error_t -_cdk_stream_append (const char *file, cdk_stream_t * ret_s) +_cdk_stream_append (const char *file, cdk_stream_t *ret_s) { cdk_stream_t s; cdk_error_t rc; if (!ret_s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; *ret_s = NULL; - + rc = _cdk_stream_open_mode (file, "a+b", &s); if (rc) - { - gnutls_assert (); - return rc; - } - + return rc; + /* In the append mode, we need to write to the flag. */ s->flags.write = 1; *ret_s = s; @@ -391,21 +349,18 @@ cdk_stream_flush (cdk_stream_t s) { cdk_error_t rc; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + /* The user callback does not support flush */ if (s->cbs_hd) return 0; - + /* For read-only streams, no flush is needed. */ if (!s->flags.write) return 0; - + if (!s->flags.filtrated) { if (!cdk_stream_get_length (s)) @@ -419,9 +374,8 @@ if (rc) { s->error = rc; - gnutls_assert (); return rc; - } + } } return 0; } @@ -450,16 +404,13 @@ { struct stream_filter_s *f, *f2; cdk_error_t rc; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - _cdk_log_debug ("close stream ref=%d `%s'\n", - s->fp_ref, s->fname ? s->fname : "[temp]"); - + return CDK_Inv_Value; + + _cdk_log_debug ("close stream ref=%d `%s'\n", + s->fp_ref, s->fname? s->fname : "[temp]"); + /* In the user callback mode, we call the release cb if possible and just free the stream. */ if (s->cbs_hd) @@ -469,25 +420,24 @@ else rc = 0; cdk_free (s); - gnutls_assert (); return rc; - } - - + } + + rc = 0; if (!s->flags.filtrated && !s->error) rc = cdk_stream_flush (s); if (!s->fp_ref && (s->fname || s->flags.temp)) - { + { int err; - + _cdk_log_debug ("close stream fd=%d\n", fileno (s->fp)); err = fclose (s->fp); s->fp = NULL; if (err) rc = CDK_File_Error; } - + /* Iterate over the filter list and use the cleanup flag to free the allocated internal structures. */ f = s->filters; @@ -499,18 +449,17 @@ cdk_free (f); f = f2; } - + if (s->fname) { cdk_free (s->fname); s->fname = NULL; } - + cdk_free (s->cache.buf); s->cache.alloced = 0; - + cdk_free (s); - gnutls_assert (); return rc; } @@ -524,34 +473,34 @@ int cdk_stream_eof (cdk_stream_t s) { - return s ? s->flags.eof : -1; + return s? s->flags.eof : -1; } -const char * +const char* _cdk_stream_get_fname (cdk_stream_t s) { if (!s) return NULL; if (s->flags.temp) return NULL; - return s->fname ? s->fname : NULL; + return s->fname? s->fname : NULL; } /* Return the underlying FP of the stream. WARNING: This handle should not be closed. */ -FILE * +FILE* _cdk_stream_get_fp (cdk_stream_t s) { - return s ? s->fp : NULL; + return s? s->fp : NULL; } int _cdk_stream_get_errno (cdk_stream_t s) { - return s ? s->error : CDK_Inv_Value; + return s? s->error : CDK_Inv_Value; } @@ -567,43 +516,38 @@ { struct stat statbuf; cdk_error_t rc; - + if (!s) - { - gnutls_assert (); - return (off_t) - 1; - } - + return (off_t)-1; + /* The user callback does not support stat. */ if (s->cbs_hd) - return 0; - + return 0; + rc = stream_flush (s); if (rc) { s->error = rc; - gnutls_assert (); - return (off_t) - 1; + return (off_t)-1; } - + if (fstat (fileno (s->fp), &statbuf)) { s->error = CDK_File_Error; - gnutls_assert (); - return (off_t) - 1; + return (off_t)-1; } - + return statbuf.st_size; } -static struct stream_filter_s * +static struct stream_filter_s* filter_add2 (cdk_stream_t s) { struct stream_filter_s *f; - + assert (s); - + f = cdk_calloc (1, sizeof *f); if (!f) return NULL; @@ -616,55 +560,42 @@ static struct stream_filter_s * filter_search (cdk_stream_t s, filter_fnct_t fnc) { - struct stream_filter_s *f; - + struct stream_filter_s * f; + assert (s); - - for (f = s->filters; f; f = f->next) + + for( f = s->filters; f; f = f->next ) { if (f->fnct == fnc) return f; } - + return NULL; } -static inline void -set_opaque (struct stream_filter_s *f) +static inline +void set_opaque( struct stream_filter_s* f) { - switch (f->type) - { - case fARMOR: - f->opaque = &f->u.afx; - break; - case fCIPHER: - f->opaque = &f->u.cfx; - break; - case fLITERAL: - f->opaque = &f->u.pfx; - break; - case fCOMPRESS: - f->opaque = &f->u.zfx; - break; - case fHASH: - f->opaque = &f->u.mfx; - break; - case fTEXT: - f->opaque = &f->u.tfx; - break; - default: - f->opaque = NULL; + switch (f->type) + { + case fARMOR : f->opaque = &f->u.afx; break; + case fCIPHER : f->opaque = &f->u.cfx; break; + case fLITERAL : f->opaque = &f->u.pfx; break; + case fCOMPRESS: f->opaque = &f->u.zfx; break; + case fHASH : f->opaque = &f->u.mfx; break; + case fTEXT : f->opaque = &f->u.tfx; break; + default : f->opaque = NULL; } } -struct stream_filter_s * +struct stream_filter_s* filter_add (cdk_stream_t s, filter_fnct_t fnc, int type) { struct stream_filter_s *f; - + assert (s); - + s->flags.filtrated = 0; f = filter_search (s, fnc); if (f) @@ -677,7 +608,7 @@ f->tmp = NULL; f->type = type; - set_opaque (f); + set_opaque(f); return f; } @@ -686,7 +617,7 @@ stream_get_mode (cdk_stream_t s) { assert (s); - + if (s->flags.temp) return s->fmode; return s->flags.write; @@ -696,18 +627,14 @@ static filter_fnct_t stream_id_to_filter (int type) { - switch (type) + switch (type) { - case fARMOR: - return _cdk_filter_armor; - case fLITERAL: - return _cdk_filter_literal; - case fTEXT: - return _cdk_filter_text; + case fARMOR : return _cdk_filter_armor; + case fLITERAL : return _cdk_filter_literal; + case fTEXT : return _cdk_filter_text; /* case fCIPHER : return _cdk_filter_cipher; */ /* case fCOMPRESS: return _cdk_filter_compress; */ - default: - return NULL; + default : return NULL; } } @@ -724,19 +651,13 @@ { struct stream_filter_s *f; filter_fnct_t fnc; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + fnc = stream_id_to_filter (type); if (!fnc) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; f = filter_search (s, fnc); if (f) f->flags.enabled = 0; @@ -746,20 +667,17 @@ /* WARNING: tmp should not be closed by the caller. */ static cdk_error_t -stream_fp_replace (cdk_stream_t s, FILE ** tmp) +stream_fp_replace (cdk_stream_t s, FILE **tmp) { int rc; - + assert (s); - - _cdk_log_debug ("replace stream fd=%d with fd=%d\n", + + _cdk_log_debug ("replace stream fd=%d with fd=%d\n", fileno (s->fp), fileno (*tmp)); rc = fclose (s->fp); if (rc) - { - gnutls_assert (); - return CDK_File_Error; - } + return CDK_File_Error; s->fp = *tmp; *tmp = NULL; return 0; @@ -772,43 +690,40 @@ static cdk_error_t stream_filter_write (cdk_stream_t s) { - struct stream_filter_s *f; - cdk_error_t rc = 0; + struct stream_filter_s * f; + cdk_error_t rc = 0; - assert (s); + assert (s); + + if( s->flags.filtrated ) + return CDK_Inv_Value; - if (s->flags.filtrated) - { - gnutls_assert (); - return CDK_Inv_Value; - } - - for (f = s->filters; f; f = f->next) + for( f = s->filters; f; f = f->next ) { if (!f->flags.enabled) continue; /* if there is no next filter, create the final output file */ - _cdk_log_debug ("filter [write]: last filter=%d fname=%s\n", - f->next ? 1 : 0, s->fname); + _cdk_log_debug( "filter [write]: last filter=%d fname=%s\n", + f->next? 1 : 0, s->fname ); if (!f->next && s->fname) f->tmp = fopen (s->fname, "w+b"); else - f->tmp = _cdk_tmpfile (); + f->tmp = my_tmpfile (); if (!f->tmp) { rc = CDK_File_Error; - break; - } + break; + } /* If there is no next filter, flush the cache. We also do this - when the next filter is the armor filter because this filter - is special and before it starts, all data should be written. */ - if ((!f->next || f->next->type == fARMOR) && s->cache.size) + when the next filter is the armor filter because this filter + is special and before it starts, all data should be written. */ + if( (!f->next || f->next->type == fARMOR) && s->cache.size ) { rc = stream_cache_flush (s, f->tmp); if (rc) break; - } - rc = f->fnct (f->opaque, f->ctl, s->fp, f->tmp); + } + rc = f->fnct( f->opaque, f->ctl, s->fp, f->tmp ); _cdk_log_debug ("filter [write]: type=%d rc=%d\n", f->type, rc); if (!rc) rc = stream_fp_replace (s, &f->tmp); @@ -819,7 +734,7 @@ _cdk_log_debug ("filter [close]: fd=%d\n", fileno (f->tmp)); fclose (f->tmp); break; - } + } } return rc; } @@ -837,10 +752,10 @@ cdk_error_t rc = 0; assert (s); - + if (s->flags.filtrated) return 0; - + for (f = s->filters; f; f = f->next) { if (!f->flags.enabled) @@ -848,39 +763,39 @@ if (f->flags.error) { _cdk_log_debug ("filter %s [read]: has the error flag; skipped\n", - s->fname ? s->fname : "[temp]"); + s->fname? s->fname: "[temp]"); continue; } - - f->tmp = _cdk_tmpfile (); + + f->tmp = my_tmpfile (); if (!f->tmp) { rc = CDK_File_Error; break; - } + } rc = f->fnct (f->opaque, f->ctl, s->fp, f->tmp); _cdk_log_debug ("filter %s [read]: type=%d rc=%d\n", - s->fname ? s->fname : "[temp]", f->type, rc); + s->fname? s->fname : "[temp]", f->type, rc); if (rc) { f->flags.error = 1; break; - } - + } + f->flags.error = 0; /* If the filter is read-only, do not replace the FP because the contents were not altered in any way. */ - if (!f->flags.rdonly) + if (!f->flags.rdonly) { rc = stream_fp_replace (s, &f->tmp); if (rc) break; - } - else + } + else { fclose (f->tmp); f->tmp = NULL; - } + } rc = cdk_stream_seek (s, 0); if (rc) break; @@ -891,22 +806,22 @@ not the old because we already used it. */ f->flags.enabled = 0; } - + return rc; } -void * +void* _cdk_stream_get_opaque (cdk_stream_t s, int fid) { - struct stream_filter_s *f; - + struct stream_filter_s * f; + if (!s) return NULL; - + for (f = s->filters; f; f = f->next) { - if ((int) f->type == fid) + if (f->type == fid) return f->opaque; } return NULL; @@ -929,36 +844,34 @@ { int nread; int rc; - + if (!s) { - gnutls_assert (); + s->error = CDK_Inv_Value; return EOF; - } - + } + if (s->cbs_hd) { if (s->cbs.read) return s->cbs.read (s->cbs_hd, buf, buflen); return 0; - } - + } + if (s->flags.write && !s->flags.temp) { s->error = CDK_Inv_Mode; - gnutls_assert (); - return EOF; /* This is a write stream */ - } - + return EOF; /* This is a write stream */ + } + if (!s->flags.no_filter && !s->cache.on && !s->flags.filtrated) { rc = stream_filter_read (s); - if (rc) + if (rc) { s->error = rc; if (feof (s->fp)) s->flags.eof = 1; - gnutls_assert (); return EOF; } s->flags.filtrated = 1; @@ -975,27 +888,26 @@ { s->error = 0; s->flags.eof = 1; - } + } return nread; } - + int cdk_stream_getc (cdk_stream_t s) { unsigned char buf[2]; int nread; - + if (!s) { - gnutls_assert (); + s->error = CDK_Inv_Value; return EOF; - } + } nread = cdk_stream_read (s, buf, 1); - if (nread == EOF) + if (nread == EOF) { s->error = CDK_File_Error; - gnutls_assert (); return EOF; } return buf[0]; @@ -1014,33 +926,32 @@ * partial flushing. **/ int -cdk_stream_write (cdk_stream_t s, const void *buf, size_t count) +cdk_stream_write (cdk_stream_t s, const void * buf, size_t count) { int nwritten; if (!s) { - gnutls_assert (); + s->error = CDK_Inv_Value; return EOF; - } - + } + if (s->cbs_hd) { if (s->cbs.write) return s->cbs.write (s->cbs_hd, buf, count); return 0; - } - + } + if (!s->flags.write) { - s->error = CDK_Inv_Mode; /* this is a read stream */ - gnutls_assert (); + s->error = CDK_Inv_Mode; /* this is a read stream */ return EOF; - } - + } + if (!buf && !count) return stream_flush (s); - + if (s->cache.on) { /* We need to resize the buffer if the additional data wouldn't @@ -1049,23 +960,22 @@ if (s->cache.size + count > s->cache.alloced) { byte *old = s->cache.buf; - - s->cache.buf = - cdk_calloc (1, s->cache.alloced + count + STREAM_BUFSIZE); + + s->cache.buf = cdk_calloc (1, s->cache.alloced+count+STREAM_BUFSIZE); s->cache.alloced += (count + STREAM_BUFSIZE); memcpy (s->cache.buf, old, s->cache.size); cdk_free (old); - _cdk_log_debug ("stream: enlarge cache to %d octets\n", + _cdk_log_debug ("stream: enlarge cache to %d octets\n", s->cache.alloced); - } + } memcpy (s->cache.buf + s->cache.size, buf, count); s->cache.size += count; return count; } - + nwritten = fwrite (buf, 1, count, s->fp); if (!nwritten) - nwritten = EOF; + nwritten = EOF; return nwritten; } @@ -1075,15 +985,15 @@ { byte buf[2]; int nwritten; - + if (!s) { - gnutls_assert (); + s->error = CDK_Inv_Value; return EOF; - } + } buf[0] = c; nwritten = cdk_stream_write (s, buf, 1); - if (nwritten == EOF) + if (nwritten == EOF) return EOF; return 0; } @@ -1091,8 +1001,8 @@ off_t cdk_stream_tell (cdk_stream_t s) -{ - return s ? ftell (s->fp) : (off_t) - 1; +{ + return s? ftell (s->fp): (off_t)-1; } @@ -1100,32 +1010,26 @@ cdk_stream_seek (cdk_stream_t s, off_t offset) { off_t len; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + if (s->cbs_hd) { if (s->cbs.seek) return s->cbs.seek (s->cbs_hd, offset); return 0; - } - + } + /* Set or reset the EOF flag. */ len = cdk_stream_get_length (s); if (len == offset) s->flags.eof = 1; else s->flags.eof = 0; - + if (fseek (s->fp, offset, SEEK_SET)) - { - gnutls_assert (); - return CDK_File_Error; - } + return CDK_File_Error; return 0; } @@ -1134,10 +1038,10 @@ stream_flush (cdk_stream_t s) { assert (s); - + /* For some constellations it cannot be assured that the return value is defined, thus we ignore it for now. */ - (void) fflush (s->fp); + (void)fflush (s->fp); return 0; } @@ -1159,16 +1063,10 @@ struct stream_filter_s *f; if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; f = filter_add (s, _cdk_filter_armor, fARMOR); if (!f) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; f->u.afx.idx = f->u.afx.idx2 = armor_type; f->ctl = stream_get_mode (s); return 0; @@ -1187,30 +1085,24 @@ * into a literal packet with the given mode and file name. **/ cdk_error_t -cdk_stream_set_literal_flag (cdk_stream_t s, cdk_lit_format_t mode, +cdk_stream_set_literal_flag (cdk_stream_t s, cdk_lit_format_t mode, const char *fname) { struct stream_filter_s *f; const char *orig_fname; - + _cdk_log_debug ("stream: enable literal mode.\n"); - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; orig_fname = _cdk_stream_get_fname (s); f = filter_add (s, _cdk_filter_literal, fLITERAL); if (!f) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; f->u.pfx.mode = mode; - f->u.pfx.filename = fname ? cdk_strdup (fname) : NULL; - f->u.pfx.orig_filename = orig_fname ? cdk_strdup (orig_fname) : NULL; + f->u.pfx.filename = fname? cdk_strdup (fname) : NULL; + f->u.pfx.orig_filename = orig_fname? cdk_strdup (orig_fname): NULL; f->ctl = stream_get_mode (s); if (s->blkmode > 0) { @@ -1222,6 +1114,46 @@ /** + * cdk_stream_set_cipher_flag: + * @s: the stream object + * @dek: the data encryption key + * @use_mdc: 1 means to use the MDC mode + * + * In read mode it kicks off the cipher filter to decrypt the data + * from the stream with the key given in @dek. + * In write mode the stream data will be encrypted with the DEK object + * and optionally, the @use_mdc parameter can be used to enable the MDC mode. + **/ +cdk_error_t +cdk_stream_set_cipher_flag (cdk_stream_t s, cdk_dek_t dek, int use_mdc) +{ + struct stream_filter_s * f; + + _cdk_log_debug ("stream: enable cipher mode\n"); + if (!s) + return CDK_Inv_Value; + +#if 0 + f = filter_add (s, _cdk_filter_cipher, fCIPHER); + if (!f) + return CDK_Out_Of_Core; + dek->use_mdc = use_mdc; + f->ctl = stream_get_mode (s); + f->u.cfx.dek = dek; + f->u.cfx.mdc_method = use_mdc? GCRY_MD_SHA1 : 0; + if (s->blkmode > 0) + { + f->u.cfx.blkmode.on = 1; + f->u.cfx.blkmode.size = s->blkmode; + } + return 0; +#endif + + return CDK_Not_Implemented; +} + + +/** * cdk_stream_set_compress_flag: * @s: the stream object * @algo: the compression algo @@ -1235,13 +1167,11 @@ cdk_error_t cdk_stream_set_compress_flag (cdk_stream_t s, int algo, int level) { - - gnutls_assert (); + struct stream_filter_s *f; + return CDK_Not_Implemented; #if 0 - struct stream_filter_s *f; - if (!s) return CDK_Inv_Value; f = filter_add (s, _cdk_filter_compress, fCOMPRESS); @@ -1266,18 +1196,12 @@ cdk_stream_set_text_flag (cdk_stream_t s, const char *lf) { struct stream_filter_s *f; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; f = filter_add (s, _cdk_filter_text, fTEXT); if (!f) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; f->ctl = stream_get_mode (s); f->u.tfx.lf = lf; return 0; @@ -1296,23 +1220,14 @@ cdk_stream_set_hash_flag (cdk_stream_t s, int digest_algo) { struct stream_filter_s *f; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (stream_get_mode (s)) - { - gnutls_assert (); - return CDK_Inv_Mode; - } + return CDK_Inv_Mode; f = filter_add (s, _cdk_filter_hash, fHASH); if (!f) - { - gnutls_assert (); - return CDK_Out_Of_Core; - } + return CDK_Out_Of_Core; f->ctl = stream_get_mode (s); f->u.mfx.digest_algo = digest_algo; f->flags.rdonly = 1; @@ -1331,23 +1246,16 @@ cdk_stream_enable_cache (cdk_stream_t s, int val) { if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; if (!s->flags.write) - { - gnutls_assert (); - return CDK_Inv_Mode; - } + return CDK_Inv_Mode; s->cache.on = val; if (!s->cache.buf) - { + { s->cache.buf = cdk_calloc (1, STREAM_BUFSIZE); s->cache.alloced = STREAM_BUFSIZE; - _cdk_log_debug ("stream: allocate cache of %d octets\n", - STREAM_BUFSIZE); - } + _cdk_log_debug ("stream: allocate cache of %d octets\n", STREAM_BUFSIZE); + } return 0; } @@ -1356,18 +1264,15 @@ stream_cache_flush (cdk_stream_t s, FILE * fp) { int nwritten; - + assert (s); - + /* FIXME: We should find a way to use cdk_stream_write here. */ if (s->cache.size > 0) { nwritten = fwrite (s->cache.buf, 1, s->cache.size, fp); if (!nwritten) - { - gnutls_assert (); - return CDK_File_Error; - } + return CDK_File_Error; s->cache.size = 0; s->cache.on = 0; wipemem (s->cache.buf, s->cache.alloced); @@ -1392,24 +1297,21 @@ cdk_error_t rc; if (!inp || !out) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; rc = CDK_Success; - while (!cdk_stream_eof (inp)) + while (!cdk_stream_eof (inp)) { nread = cdk_stream_read (inp, buf, DIM (buf)); if (!nread || nread == EOF) break; nwritten = cdk_stream_write (out, buf, nread); if (!nwritten || nwritten == EOF) - { /* In case of errors, we leave the loop. */ + { /* In case of errors, we leave the loop. */ rc = inp->error; break; } } - + wipemem (buf, sizeof (buf)); return rc; } @@ -1428,78 +1330,59 @@ **/ cdk_error_t cdk_stream_mmap_part (cdk_stream_t s, off_t off, size_t len, - byte ** ret_buf, size_t * ret_buflen) + byte **ret_buf, size_t *ret_buflen) { cdk_error_t rc; off_t oldpos; - unsigned int n; - + int n; + if (!ret_buf || !ret_buflen) - { - gnutls_assert (); - return CDK_Inv_Value; - } + return CDK_Inv_Value; *ret_buf = NULL; *ret_buflen = 0; - + if (!s) - { - gnutls_assert (); - return CDK_Inv_Value; - } - + return CDK_Inv_Value; + /* Memory mapping is not supported on custom I/O objects. */ if (s->cbs_hd) { _cdk_log_debug ("cdk_stream_mmap_part: not supported on callbacks\n"); - gnutls_assert (); return CDK_Inv_Mode; - } - + } + oldpos = cdk_stream_tell (s); rc = cdk_stream_flush (s); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; rc = cdk_stream_seek (s, off); if (rc) - { - gnutls_assert (); - return rc; - } + return rc; if (!len) len = cdk_stream_get_length (s); if (!len) { _cdk_log_debug ("cdk_stream_mmap_part: invalid file size %lu\n", len); - gnutls_assert (); return s->error; } if (len > MAX_MAP_SIZE) - { - gnutls_assert (); - return CDK_Too_Short; - } - - *ret_buf = cdk_calloc (1, len + 1); + return CDK_Too_Short; + + *ret_buf = cdk_calloc (1, len+1); *ret_buflen = len; n = cdk_stream_read (s, *ret_buf, len); if (n != len) *ret_buflen = n; rc = cdk_stream_seek (s, oldpos); - if (rc) - gnutls_assert (); return rc; } cdk_error_t -cdk_stream_mmap (cdk_stream_t inp, byte ** buf, size_t * buflen) +cdk_stream_mmap (cdk_stream_t inp, byte **buf, size_t *buflen) { off_t len; - + /* We need to make sure all data is flushed before we retrieve the size. */ cdk_stream_flush (inp); len = cdk_stream_get_length (inp); @@ -1517,20 +1400,20 @@ * the file pointer is moved to the old position after the bytes were read. **/ int -cdk_stream_peek (cdk_stream_t inp, byte * buf, size_t buflen) +cdk_stream_peek (cdk_stream_t inp, byte *buf, size_t buflen) { off_t off; int nbytes; - + if (!inp || !buf) return 0; if (inp->cbs_hd) return 0; - + off = cdk_stream_tell (inp); nbytes = cdk_stream_read (inp, buf, buflen); if (nbytes == -1) - return 0; + return 0; if (cdk_stream_seek (inp, off)) return 0; return nbytes; @@ -1539,17 +1422,17 @@ /* Try to read a line from the given stream. */ int -_cdk_stream_gets (cdk_stream_t s, char *buf, size_t count) +_cdk_stream_gets (cdk_stream_t s, char * buf, size_t count) { int c, i; - + assert (s); - + i = 0; while (!cdk_stream_eof (s) && count > 0) { c = cdk_stream_getc (s); - if (c == EOF || c == '\r' || c == '\n') + if (c == EOF || c == '\r' || c == '\n' ) { buf[i++] = '\0'; break; @@ -1574,9 +1457,9 @@ _cdk_stream_set_blockmode (cdk_stream_t s, size_t nbytes) { assert (s); - + _cdk_log_debug ("stream: activate block mode with blocksize %d\n", nbytes); - s->blkmode = nbytes; + s->blkmode = nbytes; return 0; } @@ -1585,5 +1468,5 @@ int _cdk_stream_get_blockmode (cdk_stream_t s) { - return s ? s->blkmode : 0; + return s? s->blkmode : 0; } diff -Nru gnutls26-2.8.6/lib/opencdk/stream.h gnutls26-2.4.1/lib/opencdk/stream.h --- gnutls26-2.8.6/lib/opencdk/stream.h 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/stream.h 2008-06-19 11:00:10.000000000 +0100 @@ -38,7 +38,7 @@ }; /* Type definition for the filter function. */ -typedef cdk_error_t (*filter_fnct_t) (void * opaque, int ctl, FILE * in, FILE * out); +typedef int (*filter_fnct_t) (void * opaque, int ctl, FILE * in, FILE * out); /* The stream filter context structure. */ struct stream_filter_s diff -Nru gnutls26-2.8.6/lib/opencdk/types.h gnutls26-2.4.1/lib/opencdk/types.h --- gnutls26-2.8.6/lib/opencdk/types.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/types.h 2008-06-30 21:45:51.000000000 +0100 @@ -24,6 +24,8 @@ #ifndef CDK_TYPES_H #define CDK_TYPES_H +#include + #ifndef HAVE_BYTE_TYPEDEF # undef byte typedef unsigned char byte; diff -Nru gnutls26-2.8.6/lib/opencdk/verify.c gnutls26-2.4.1/lib/opencdk/verify.c --- gnutls26-2.8.6/lib/opencdk/verify.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/verify.c 2008-06-30 21:45:51.000000000 +0100 @@ -26,6 +26,7 @@ #endif #include #include +#include #include #include "opencdk.h" @@ -35,30 +36,21 @@ /* Table of all supported digest algorithms and their names. */ -struct -{ - const char *name; - int algo; -} digest_table[] = -{ - { - "MD5", GNUTLS_DIG_MD5}, - { - "SHA1", GNUTLS_DIG_SHA1}, - { - "RIPEMD160", GNUTLS_DIG_RMD160}, - { - "SHA256", GNUTLS_DIG_SHA256}, - { - "SHA384", GNUTLS_DIG_SHA384}, - { - "SHA512", GNUTLS_DIG_SHA512}, - { - NULL, 0} +struct { + const char *name; + int algo; +} digest_table[] = { + {"MD5", GCRY_MD_MD5}, + {"SHA1", GCRY_MD_SHA1}, + {"RIPEMD160", GCRY_MD_RMD160}, + {"SHA256", GCRY_MD_SHA256}, + {"SHA384", GCRY_MD_SHA384}, + {"SHA512", GCRY_MD_SHA512}, + {NULL, 0} }; -static cdk_error_t file_verify_clearsign (cdk_ctx_t, const char *, const char *); +static int file_verify_clearsign (cdk_ctx_t, const char *, const char *); /** @@ -98,18 +90,18 @@ char buf[4096]; int n; cdk_error_t rc; - + if (!hd || !file) return CDK_Inv_Value; if (output && !hd->opt.overwrite && !stat (output, &stbuf)) return CDK_Inv_Mode; - + rc = cdk_stream_open (file, &inp); if (rc) return rc; - if (cdk_armor_filter_use (inp)) + if (cdk_armor_filter_use (inp)) { - n = cdk_stream_peek (inp, (byte *) buf, DIM (buf) - 1); + n = cdk_stream_peek (inp, (byte*) buf, DIM (buf)-1); if (!n || n == -1) return CDK_EOF; buf[n] = '\0'; @@ -120,7 +112,7 @@ } cdk_stream_set_armor_flag (inp, 0); } - + if (data_file) { rc = cdk_stream_open (data_file, &data); @@ -129,12 +121,12 @@ cdk_stream_close (inp); return rc; } - } + } else data = NULL; - + rc = _cdk_proc_packets (hd, inp, data, NULL, NULL, NULL); - + if (data != NULL) cdk_stream_close (data); cdk_stream_close (inp); @@ -157,7 +149,7 @@ _cdk_result_verify_new (void) { cdk_verify_result_t res; - + res = cdk_calloc (1, sizeof *res); if (!res) return NULL; @@ -169,110 +161,110 @@ file_verify_clearsign (cdk_ctx_t hd, const char *file, const char *output) { cdk_stream_t inp = NULL, out = NULL, tmp = NULL; - digest_hd_st md; + gcry_md_hd_t md = NULL; char buf[512], chk[512]; const char *s; int i, is_signed = 0, nbytes; int digest_algo = 0; - int err; + gcry_error_t err; cdk_error_t rc; - + if (output) { rc = cdk_stream_create (output, &out); if (rc) return rc; } - + rc = cdk_stream_open (file, &inp); if (rc) { if (output) cdk_stream_close (out); - return rc; - } - + return rc; + } + s = "-----BEGIN PGP SIGNED MESSAGE-----"; - while (!cdk_stream_eof (inp)) + while (!cdk_stream_eof (inp)) { - nbytes = _cdk_stream_gets (inp, buf, DIM (buf) - 1); + nbytes = _cdk_stream_gets (inp, buf, DIM (buf)-1); if (!nbytes || nbytes == -1) break; - if (!strncmp (buf, s, strlen (s))) + if (!strncmp (buf, s, strlen (s))) { is_signed = 1; break; } } - + if (cdk_stream_eof (inp) && !is_signed) { rc = CDK_Armor_Error; goto leave; } - - while (!cdk_stream_eof (inp)) + + while (!cdk_stream_eof (inp)) { - nbytes = _cdk_stream_gets (inp, buf, DIM (buf) - 1); + nbytes = _cdk_stream_gets (inp, buf, DIM (buf)-1); if (!nbytes || nbytes == -1) break; - if (nbytes == 1) /* Empty line */ + if (nbytes == 1) /* Empty line */ break; else if (!strncmp (buf, "Hash: ", 6)) { for (i = 0; digest_table[i].name; i++) { - if (!strcmp (buf + 6, digest_table[i].name)) + if (!strcmp (buf + 6, digest_table[i].name)) { digest_algo = digest_table[i].algo; break; } } - } + } } - - if (digest_algo && _gnutls_hash_get_algo_len (digest_algo) <= 0) + + if (digest_algo && gcry_md_test_algo (digest_algo)) { rc = CDK_Inv_Algo; goto leave; } - + if (!digest_algo) - digest_algo = GNUTLS_DIG_MD5; - - err = _gnutls_hash_init (&md, digest_algo); - if (err < 0) + digest_algo = GCRY_MD_MD5; + + err = gcry_md_open (&md, digest_algo, 0); + if (err) { - rc = map_gnutls_error (err); + rc = map_gcry_error (err); goto leave; - } + } s = "-----BEGIN PGP SIGNATURE-----"; - while (!cdk_stream_eof (inp)) + while (!cdk_stream_eof (inp)) { - nbytes = _cdk_stream_gets (inp, buf, DIM (buf) - 1); + nbytes = _cdk_stream_gets (inp, buf, DIM (buf)-1); if (!nbytes || nbytes == -1) break; if (!strncmp (buf, s, strlen (s))) break; - else + else { - cdk_stream_peek (inp, (byte *) chk, DIM (chk) - 1); + cdk_stream_peek (inp, (byte*)chk, DIM (chk)-1); i = strncmp (chk, s, strlen (s)); if (strlen (buf) == 0 && i == 0) - continue; /* skip last '\n' */ - _cdk_trim_string (buf, i == 0 ? 0 : 1); - _gnutls_hash (&md, buf, strlen (buf)); - } - if (!strncmp (buf, "- ", 2)) /* FIXME: handle it recursive. */ + continue; /* skip last '\n' */ + _cdk_trim_string (buf, i == 0? 0 : 1); + gcry_md_write (md, buf, strlen (buf)); + } + if (!strncmp (buf, "- ", 2)) /* FIXME: handle it recursive. */ memmove (buf, buf + 2, nbytes - 2); - if (out) + if (out) { if (strstr (buf, "\r\n")) - buf[strlen (buf) - 2] = '\0'; + buf[strlen (buf)-2] = '\0'; cdk_stream_write (out, buf, strlen (buf)); _cdk_stream_puts (out, _cdk_armor_get_lineend ()); - } + } } /* We create a temporary stream object to store the @@ -285,12 +277,12 @@ _cdk_stream_puts (tmp, s); while (!cdk_stream_eof (inp)) { - nbytes = _cdk_stream_gets (inp, buf, DIM (buf) - 1); + nbytes = _cdk_stream_gets (inp, buf, DIM (buf)-1); if (!nbytes || nbytes == -1) break; - if (nbytes < (int) (DIM (buf) - 3)) + if (nbytes < (DIM (buf) -3)) { - buf[nbytes - 1] = '\n'; + buf[nbytes-1] = '\n'; buf[nbytes] = '\0'; } cdk_stream_write (tmp, buf, nbytes); @@ -301,12 +293,12 @@ cdk_stream_seek (tmp, 0); cdk_stream_set_armor_flag (tmp, 0); cdk_stream_read (tmp, NULL, 0); - + /* the digest handle will be closed there. */ - rc = _cdk_proc_packets (hd, tmp, NULL, NULL, NULL, &md); - -leave: - _gnutls_hash_deinit (&md, NULL); + rc = _cdk_proc_packets (hd, tmp, NULL, NULL, NULL, md); + + leave: + gcry_md_close (md); cdk_stream_close (out); cdk_stream_close (tmp); cdk_stream_close (inp); diff -Nru gnutls26-2.8.6/lib/opencdk/write-packet.c gnutls26-2.4.1/lib/opencdk/write-packet.c --- gnutls26-2.8.6/lib/opencdk/write-packet.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/lib/opencdk/write-packet.c 2008-06-30 21:45:51.000000000 +0100 @@ -36,16 +36,16 @@ stream_write (cdk_stream_t s, const void *buf, size_t buflen) { int nwritten; - + nwritten = cdk_stream_write (s, buf, buflen); if (nwritten == EOF) return _cdk_stream_get_errno (s); - return 0; + return 0; } static int -stream_read (cdk_stream_t s, void *buf, size_t buflen, size_t * r_nread) +stream_read (cdk_stream_t s, void *buf, size_t buflen, size_t *r_nread) { int nread; @@ -73,7 +73,7 @@ write_32 (cdk_stream_t out, u32 u) { byte buf[4]; - + buf[0] = u >> 24; buf[1] = u >> 16; buf[2] = u >> 8; @@ -86,7 +86,7 @@ write_16 (cdk_stream_t out, u16 u) { byte buf[2]; - + buf[0] = u >> 8; buf[1] = u; return stream_write (out, buf, 2); @@ -94,46 +94,44 @@ static size_t -calc_mpisize (bigint_t mpi[MAX_CDK_PK_PARTS], size_t ncount) +calc_mpisize (gcry_mpi_t mpi[MAX_CDK_PK_PARTS], size_t ncount) { size_t size, i; - + size = 0; for (i = 0; i < ncount; i++) - size += (_gnutls_mpi_get_nbits (mpi[i]) + 7) / 8 + 2; + size += (gcry_mpi_get_nbits (mpi[i]) + 7) / 8 + 2; return size; } static int -write_mpi (cdk_stream_t out, bigint_t m) +write_mpi (cdk_stream_t out, gcry_mpi_t m) { - byte buf[MAX_MPI_BYTES + 2]; + byte buf[MAX_MPI_BYTES+2]; size_t nbits, nread; - int err; - + gcry_error_t err; + if (!out || !m) return CDK_Inv_Value; - nbits = _gnutls_mpi_get_nbits (m); + nbits = gcry_mpi_get_nbits (m); if (nbits > MAX_MPI_BITS || nbits < 1) return CDK_MPI_Error; - - nread = MAX_MPI_BYTES + 2; - err = _gnutls_mpi_print_pgp (m, buf, &nread); - if (err < 0) - return map_gnutls_error (err); + err = gcry_mpi_print (GCRYMPI_FMT_PGP, buf, MAX_MPI_BYTES+2, &nread, m); + if (err) + return map_gcry_error (err); return stream_write (out, buf, nread); } static cdk_error_t -write_mpibuf (cdk_stream_t out, bigint_t mpi[MAX_CDK_PK_PARTS], size_t count) +write_mpibuf (cdk_stream_t out, gcry_mpi_t mpi[MAX_CDK_PK_PARTS], size_t count) { size_t i; cdk_error_t rc; - + for (i = 0; i < count; i++) - { + { rc = write_mpi (out, mpi[i]); if (rc) return rc; @@ -146,31 +144,31 @@ pkt_encode_len (cdk_stream_t out, size_t pktlen) { cdk_error_t rc; - + assert (out); rc = 0; if (!pktlen) { /* Block mode, partial bodies, with 'DEF_BLOCKSIZE' from main.h */ - rc = stream_putc (out, (0xE0 | DEF_BLOCKBITS)); + rc = stream_putc( out, (0xE0|DEF_BLOCKBITS) ); } else if (pktlen < 192) rc = stream_putc (out, pktlen); - else if (pktlen < 8384) + else if (pktlen < 8384) { pktlen -= 192; rc = stream_putc (out, (pktlen / 256) + 192); if (!rc) rc = stream_putc (out, (pktlen % 256)); } - else + else { rc = stream_putc (out, 255); if (!rc) rc = write_32 (out, pktlen); } - + return rc; } @@ -222,7 +220,7 @@ else rc = write_32 (out, size); } - + return rc; } @@ -233,7 +231,7 @@ pkt_write_head2 (cdk_stream_t out, size_t size, int type) { cdk_error_t rc; - + rc = cdk_stream_putc (out, 0x80 | (type << 2) | 1); if (!rc) rc = cdk_stream_putc (out, size >> 8); @@ -252,6 +250,93 @@ } +static cdk_error_t +write_encrypted (cdk_stream_t out, cdk_pkt_encrypted_t enc, int old_ctb) +{ + size_t nbytes; + cdk_error_t rc; + + assert (out); + assert (enc); + + if (DEBUG_PKT) + _cdk_log_debug ("write_encrypted: %lu bytes\n", enc->len); + + nbytes = enc->len ? (enc->len + enc->extralen) : 0; + rc = pkt_write_head (out, old_ctb, nbytes, CDK_PKT_ENCRYPTED); + /* The rest of the packet is ciphertext */ + return rc; +} + + +static int +write_encrypted_mdc (cdk_stream_t out, cdk_pkt_encrypted_t enc) +{ + size_t nbytes; + cdk_error_t rc; + + assert (out); + assert (enc); + + if (!enc->mdc_method) + return CDK_Inv_Packet; + + if (DEBUG_PKT) + _cdk_log_debug ("write_encrypted_mdc: %lu bytes\n", enc->len); + + nbytes = enc->len ? (enc->len + enc->extralen + 1) : 0; + rc = pkt_write_head (out, 0, nbytes, CDK_PKT_ENCRYPTED_MDC); + if (!rc) + rc = stream_putc (out, 1); /* version */ + /* The rest of the packet is ciphertext */ + return rc; +} + + +static cdk_error_t +write_symkey_enc (cdk_stream_t out, cdk_pkt_symkey_enc_t ske) +{ + cdk_s2k_t s2k; + size_t size = 0, s2k_size = 0; + cdk_error_t rc; + + assert (out); + assert (ske); + + if (ske->version != 4) + return CDK_Inv_Packet; + + if (DEBUG_PKT) + _cdk_log_debug ("write_symkey_enc:\n"); + + s2k = ske->s2k; + if (s2k->mode == CDK_S2K_SALTED || s2k->mode == CDK_S2K_ITERSALTED) + s2k_size = 8; + if (s2k->mode == CDK_S2K_ITERSALTED) + s2k_size++; + size = 4 + s2k_size + ske->seskeylen; + rc = pkt_write_head (out, 0, size, CDK_PKT_SYMKEY_ENC); + if (!rc) + rc = stream_putc (out, ske->version); + if (!rc) + rc = stream_putc (out, ske->cipher_algo); + if (!rc) + rc = stream_putc (out, s2k->mode); + if (!rc) + rc = stream_putc (out, s2k->hash_algo); + if (s2k->mode == CDK_S2K_SALTED || s2k->mode == CDK_S2K_ITERSALTED) + { + rc = stream_write (out, s2k->salt, 8); + if (!rc) + { + if (s2k->mode == CDK_S2K_ITERSALTED) + rc = stream_putc (out, s2k->count); + } + } + return rc; +} + + static int write_pubkey_enc (cdk_stream_t out, cdk_pkt_pubkey_enc_t pke, int old_ctb) { @@ -265,7 +350,7 @@ return CDK_Inv_Packet; if (!KEY_CAN_ENCRYPT (pke->pubkey_algo)) return CDK_Inv_Algo; - + if (DEBUG_PKT) _cdk_log_debug ("write_pubkey_enc:\n"); @@ -274,14 +359,14 @@ rc = pkt_write_head (out, old_ctb, size, CDK_PKT_PUBKEY_ENC); if (rc) return rc; - + rc = stream_putc (out, pke->version); if (!rc) rc = write_32 (out, pke->keyid[0]); if (!rc) rc = write_32 (out, pke->keyid[1]); if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (pke->pubkey_algo)); + rc = stream_putc (out, pke->pubkey_algo); if (!rc) rc = write_mpibuf (out, pke->mpi, nenc); return rc; @@ -295,12 +380,12 @@ assert (mdc); assert (out); - + if (DEBUG_PKT) _cdk_log_debug ("write_mdc:\n"); /* This packet requires a fixed header encoding */ - rc = stream_putc (out, 0xD3); /* packet ID and 1 byte length */ + rc = stream_putc (out, 0xD3); /* packet ID and 1 byte length */ if (!rc) rc = stream_putc (out, 0x14); if (!rc) @@ -313,7 +398,7 @@ calc_subpktsize (cdk_subpkt_t s) { size_t nbytes; - + /* In the count mode, no buffer is returned. */ _cdk_subpkt_get_array (s, 1, &nbytes); return nbytes; @@ -325,7 +410,7 @@ { size_t size; cdk_error_t rc; - + size = 19 + calc_mpisize (sig->mpi, nsig); if (is_RSA (sig->pubkey_algo)) rc = pkt_write_head2 (out, size, CDK_PKT_SIGNATURE); @@ -344,9 +429,9 @@ if (!rc) rc = write_32 (out, sig->keyid[1]); if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (sig->pubkey_algo)); + rc = stream_putc (out, sig->pubkey_algo); if (!rc) - rc = stream_putc (out, _gnutls_hash_algo_to_pgp (sig->digest_algo)); + rc = stream_putc (out, sig->digest_algo); if (!rc) rc = stream_putc (out, sig->digest_start[0]); if (!rc) @@ -366,7 +451,7 @@ assert (out); assert (sig); - + if (!KEY_CAN_SIGN (sig->pubkey_algo)) return CDK_Inv_Algo; if (sig->version < 2 || sig->version > 4) @@ -374,7 +459,7 @@ if (DEBUG_PKT) _cdk_log_debug ("write_signature:\n"); - + nsig = cdk_pk_get_nsig (sig->pubkey_algo); if (!nsig) return CDK_Inv_Algo; @@ -382,19 +467,20 @@ return write_v3_sig (out, sig, nsig); size = 10 + calc_subpktsize (sig->hashed) - + calc_subpktsize (sig->unhashed) + calc_mpisize (sig->mpi, nsig); + + calc_subpktsize (sig->unhashed) + + calc_mpisize (sig->mpi, nsig); rc = pkt_write_head (out, 0, size, CDK_PKT_SIGNATURE); if (!rc) rc = stream_putc (out, 4); if (!rc) rc = stream_putc (out, sig->sig_class); if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (sig->pubkey_algo)); + rc = stream_putc (out, sig->pubkey_algo); if (!rc) - rc = stream_putc (out, _gnutls_hash_algo_to_pgp (sig->digest_algo)); + rc = stream_putc (out, sig->digest_algo); if (!rc) rc = write_16 (out, sig->hashed_size); - if (!rc) + if (!rc) { buf = _cdk_subpkt_get_array (sig->hashed, 0, &nbytes); if (!buf) @@ -424,27 +510,27 @@ static cdk_error_t write_public_key (cdk_stream_t out, cdk_pkt_pubkey_t pk, - int is_subkey, int old_ctb) + int is_subkey, int old_ctb) { int pkttype, ndays = 0; size_t npkey = 0, size = 6; cdk_error_t rc; - + assert (out); assert (pk); - + if (pk->version < 2 || pk->version > 4) return CDK_Inv_Packet; - + if (DEBUG_PKT) _cdk_log_debug ("write_public_key: subkey=%d\n", is_subkey); - pkttype = is_subkey ? CDK_PKT_PUBLIC_SUBKEY : CDK_PKT_PUBLIC_KEY; + pkttype = is_subkey? CDK_PKT_PUBLIC_SUBKEY : CDK_PKT_PUBLIC_KEY; npkey = cdk_pk_get_npkey (pk->pubkey_algo); if (!npkey) return CDK_Inv_Algo; if (pk->version < 4) - size += 2; /* expire date */ + size += 2; /* expire date */ if (is_subkey) old_ctb = 0; size += calc_mpisize (pk->mpi, npkey); @@ -457,13 +543,13 @@ if (!rc) rc = write_32 (out, pk->timestamp); if (!rc && pk->version < 4) - { + { if (pk->expiredate) ndays = (u16) ((pk->expiredate - pk->timestamp) / 86400L); rc = write_16 (out, ndays); } if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (pk->pubkey_algo)); + rc = stream_putc (out, pk->pubkey_algo); if (!rc) rc = write_mpibuf (out, pk->mpi, npkey); return rc; @@ -474,30 +560,24 @@ calc_s2ksize (cdk_pkt_seckey_t sk) { size_t nbytes = 0; - + if (!sk->is_protected) return 0; switch (sk->protect.s2k->mode) - { - case CDK_S2K_SIMPLE: - nbytes = 2; - break; - case CDK_S2K_SALTED: - nbytes = 10; - break; - case CDK_S2K_ITERSALTED: - nbytes = 11; - break; + { + case CDK_S2K_SIMPLE : nbytes = 2; break; + case CDK_S2K_SALTED : nbytes = 10; break; + case CDK_S2K_ITERSALTED: nbytes = 11; break; } nbytes += sk->protect.ivlen; - nbytes++; /* single cipher byte */ + nbytes++; /* single cipher byte */ return nbytes; } - + static cdk_error_t -write_secret_key (cdk_stream_t out, cdk_pkt_seckey_t sk, - int is_subkey, int old_ctb) +write_secret_key( cdk_stream_t out, cdk_pkt_seckey_t sk, + int is_subkey, int old_ctb ) { cdk_pkt_pubkey_t pk = NULL; size_t size = 6, npkey, nskey; @@ -506,48 +586,45 @@ assert (out); assert (sk); - + if (!sk->pk) return CDK_Inv_Value; pk = sk->pk; if (pk->version < 2 || pk->version > 4) return CDK_Inv_Packet; - + if (DEBUG_PKT) _cdk_log_debug ("write_secret_key:\n"); - + npkey = cdk_pk_get_npkey (pk->pubkey_algo); nskey = cdk_pk_get_nskey (pk->pubkey_algo); if (!npkey || !nskey) - { - gnutls_assert (); - return CDK_Inv_Algo; - } + return CDK_Inv_Algo; if (pk->version < 4) size += 2; /* If the key is unprotected, the 1 extra byte: 1 octet - cipher algorithm byte (0x00) - the other bytes depend on the mode: + the other bytes depend on the mode: a) simple checksum - 2 octets b) sha-1 checksum - 20 octets */ - size = !sk->is_protected ? size + 1 : size + 1 + calc_s2ksize (sk); + size = !sk->is_protected? size + 1 : size + 1 + calc_s2ksize (sk); size += calc_mpisize (pk->mpi, npkey); - if (sk->version == 3 || !sk->is_protected) + if (sk->version == 3 || !sk->is_protected) { - if (sk->version == 3) + if (sk->version == 3) { - size += 2; /* force simple checksum */ + size += 2; /* force simple checksum */ sk->protect.sha1chk = 0; } else - size += sk->protect.sha1chk ? 20 : 2; + size += sk->protect.sha1chk? 20 : 2; size += calc_mpisize (sk->mpi, nskey); } - else /* We do not know anything about the encrypted mpi's so we - treat the data as opaque. */ + else /* We do not know anything about the encrypted mpi's so we + treat the data as opaque. */ size += sk->enclen; - pkttype = is_subkey ? CDK_PKT_SECRET_SUBKEY : CDK_PKT_SECRET_KEY; + pkttype = is_subkey? CDK_PKT_SECRET_SUBKEY : CDK_PKT_SECRET_KEY; rc = pkt_write_head (out, old_ctb, size, pkttype); if (!rc) rc = stream_putc (out, pk->version); @@ -561,74 +638,68 @@ rc = write_16 (out, ndays); } if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (pk->pubkey_algo)); - - if (!rc) + rc = stream_putc (out, pk->pubkey_algo); + if( !rc ) rc = write_mpibuf (out, pk->mpi, npkey); - - if (!rc) - { - if (sk->is_protected == 0) - rc = stream_putc (out, 0x00); + if (sk->is_protected == 0) + rc = stream_putc (out, 0x00); + else + { + if (is_RSA (pk->pubkey_algo) && pk->version < 4) + stream_putc (out, sk->protect.algo); + else if (sk->protect.s2k) + { + s2k_mode = sk->protect.s2k->mode; + rc = stream_putc (out, sk->protect.sha1chk? 0xFE : 0xFF); + if (!rc) + rc = stream_putc (out, sk->protect.algo); + if (!rc) + rc = stream_putc (out, sk->protect.s2k->mode); + if (!rc) + rc = stream_putc( out, sk->protect.s2k->hash_algo); + if (!rc && (s2k_mode == 1 || s2k_mode == 3)) + { + rc = stream_write (out, sk->protect.s2k->salt, 8); + if (!rc && s2k_mode == 3) + rc = stream_putc (out, sk->protect.s2k->count); + } + } else - { - if (is_RSA (pk->pubkey_algo) && pk->version < 4) - rc = stream_putc (out, _gnutls_cipher_to_pgp (sk->protect.algo)); - else if (sk->protect.s2k) - { - s2k_mode = sk->protect.s2k->mode; - rc = stream_putc (out, sk->protect.sha1chk ? 0xFE : 0xFF); - if (!rc) - rc = stream_putc (out, _gnutls_cipher_to_pgp (sk->protect.algo)); - if (!rc) - rc = stream_putc (out, sk->protect.s2k->mode); - if (!rc) - rc = stream_putc (out, sk->protect.s2k->hash_algo); - if (!rc && (s2k_mode == 1 || s2k_mode == 3)) - { - rc = stream_write (out, sk->protect.s2k->salt, 8); - if (!rc && s2k_mode == 3) - rc = stream_putc (out, sk->protect.s2k->count); - } - } - else - return CDK_Inv_Value; - if (!rc) - rc = stream_write (out, sk->protect.iv, sk->protect.ivlen); - } + return CDK_Inv_Value; + rc = stream_write (out, sk->protect.iv, sk->protect.ivlen); } if (!rc && sk->is_protected && pk->version == 4) { if (sk->encdata && sk->enclen) rc = stream_write (out, sk->encdata, sk->enclen); } - else + else { if (!rc) rc = write_mpibuf (out, sk->mpi, nskey); - if (!rc) + if (!rc) { if (!sk->csum) sk->csum = _cdk_sk_get_csum (sk); rc = write_16 (out, sk->csum); } } - + return rc; } static cdk_error_t -write_compressed (cdk_stream_t out, cdk_pkt_compressed_t cd) +write_compressed (cdk_stream_t out, cdk_pkt_compressed_t cd ) { cdk_error_t rc; assert (out); assert (cd); - + if (DEBUG_PKT) _cdk_log_debug ("packet: write_compressed\n"); - + /* Use an old (RFC1991) header for this packet. */ rc = pkt_write_head (out, 1, 0, CDK_PKT_COMPRESSED); if (!rc) @@ -651,7 +722,7 @@ At least one octet must be present. */ if (!pt->len) return CDK_Inv_Packet; - + if (DEBUG_PKT) _cdk_log_debug ("write_literal:\n"); @@ -666,26 +737,26 @@ rc = stream_putc (out, pt->namelen); if (rc) return rc; - + if (pt->namelen > 0) - rc = stream_write (out, pt->name, pt->namelen); + rc = stream_write (out, pt->name, pt->namelen); if (!rc) rc = write_32 (out, pt->timestamp); if (rc) return rc; - - while (!cdk_stream_eof (pt->buf) && !rc) + + while (!cdk_stream_eof (pt->buf) && !rc) { rc = stream_read (pt->buf, buf, DIM (buf), &size); if (!rc) rc = stream_write (out, buf, size); } - + wipemem (buf, sizeof (buf)); return rc; } - + static cdk_error_t write_onepass_sig (cdk_stream_t out, cdk_pkt_onepass_sig_t sig) { @@ -699,16 +770,16 @@ if (DEBUG_PKT) _cdk_log_debug ("write_onepass_sig:\n"); - + rc = pkt_write_head (out, 0, 13, CDK_PKT_ONEPASS_SIG); if (!rc) rc = stream_putc (out, sig->version); if (!rc) rc = stream_putc (out, sig->sig_class); if (!rc) - rc = stream_putc (out, _gnutls_hash_algo_to_pgp (sig->digest_algo)); + rc = stream_putc (out, sig->digest_algo); if (!rc) - rc = stream_putc (out, _cdk_pub_algo_to_pgp (sig->pubkey_algo)); + rc = stream_putc (out, sig->pubkey_algo); if (!rc) rc = write_32 (out, sig->keyid[0]); if (!rc) @@ -720,29 +791,27 @@ static cdk_error_t -write_user_id (cdk_stream_t out, cdk_pkt_userid_t id, int old_ctb, - int pkttype) +write_user_id (cdk_stream_t out, cdk_pkt_userid_t id, int old_ctb, int pkttype) { cdk_error_t rc; if (!out || !id) return CDK_Inv_Value; - + if (pkttype == CDK_PKT_ATTRIBUTE) { if (!id->attrib_img) return CDK_Inv_Value; - rc = - pkt_write_head (out, old_ctb, id->attrib_len + 6, CDK_PKT_ATTRIBUTE); + rc = pkt_write_head (out, old_ctb, id->attrib_len+6, CDK_PKT_ATTRIBUTE); if (rc) return rc; /* Write subpacket part. */ stream_putc (out, 255); - write_32 (out, id->attrib_len + 1); + write_32 (out, id->attrib_len+1); stream_putc (out, 1); rc = stream_write (out, id->attrib_img, id->attrib_len); - } - else + } + else { if (!id->name) return CDK_Inv_Value; @@ -750,7 +819,7 @@ if (!rc) rc = stream_write (out, id->name, id->len); } - + return rc; } @@ -770,9 +839,9 @@ if (!out || !pkt) return CDK_Inv_Value; - + _cdk_log_debug ("write packet pkttype=%d\n", pkt->pkttype); - switch (pkt->pkttype) + switch (pkt->pkttype) { case CDK_PKT_LITERAL: rc = write_literal (out, pkt->pkt.literal, pkt->old_ctb); @@ -783,6 +852,15 @@ case CDK_PKT_MDC: rc = write_mdc (out, pkt->pkt.mdc); break; + case CDK_PKT_SYMKEY_ENC: + rc = write_symkey_enc (out, pkt->pkt.symkey_enc); + break; + case CDK_PKT_ENCRYPTED: + rc = write_encrypted (out, pkt->pkt.encrypted, pkt->old_ctb); + break; + case CDK_PKT_ENCRYPTED_MDC: + rc = write_encrypted_mdc (out, pkt->pkt.encrypted); + break; case CDK_PKT_PUBKEY_ENC: rc = write_pubkey_enc (out, pkt->pkt.pubkey_enc, pkt->old_ctb); break; @@ -812,7 +890,7 @@ rc = CDK_Inv_Packet; break; } - + if (DEBUG_PKT) _cdk_log_debug ("write_packet rc=%d pkttype=%d\n", rc, pkt->pkttype); return rc; @@ -842,7 +920,7 @@ case CDK_PKT_SECRET_SUBKEY: pkt->pkt.secret_key = pktctx; break; - + case CDK_PKT_USER_ID: pkt->pkt.user_id = pktctx; break; @@ -855,11 +933,11 @@ cdk_error_t -_cdk_pkt_write_fp (FILE * out, cdk_packet_t pkt) +_cdk_pkt_write_fp (FILE *out, cdk_packet_t pkt) { cdk_stream_t so; cdk_error_t rc; - + rc = _cdk_stream_fpopen (out, 1, &so); if (rc) return rc; diff -Nru gnutls26-2.8.6/lib/openpgp/compat.c gnutls26-2.4.1/lib/openpgp/compat.c --- gnutls26-2.8.6/lib/openpgp/compat.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/compat.c 2008-06-19 11:00:10.000000000 +0100 @@ -66,8 +66,7 @@ return ret; } - ret = - gnutls_openpgp_crt_import (key, &cert_list[0], GNUTLS_OPENPGP_FMT_RAW); + ret = gnutls_openpgp_crt_import (key, &cert_list[0], GNUTLS_OPENPGP_FMT_RAW); if (ret < 0) { gnutls_assert (); diff -Nru gnutls26-2.8.6/lib/openpgp/extras.c gnutls26-2.4.1/lib/openpgp/extras.c --- gnutls26-2.8.6/lib/openpgp/extras.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/extras.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos, Timo Schulz * @@ -132,7 +132,7 @@ if (data->data == NULL || data->size == 0) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } @@ -145,8 +145,6 @@ */ if (format == GNUTLS_OPENPGP_FMT_BASE64) { - size_t written = 0; - err = cdk_stream_tmp_from_mem (data->data, data->size, &input); if (!err) err = cdk_stream_set_armor_flag (input, 0); @@ -173,18 +171,27 @@ goto error; } - do - { - err = - cdk_stream_read (input, raw_data + written, raw_len - written); - - if (err > 0) - written += err; - } - while (written < raw_len && err != EOF && err > 0); - +#if 0 + i = 0; + do { + err = cdk_stream_getc( input); + if (err != EOF) raw_data[i++] = err; + } while( err != EOF); + + raw_len = i; +#else + ssize_t written=0; + do + { + err = cdk_stream_read (input, raw_data+written, raw_len-written); + + if (err > 0) written += err; + } + while( written < raw_len && err != EOF && err > 0); + raw_len = written; - +#endif + } else { /* RAW */ @@ -256,9 +263,9 @@ /** * gnutls_openpgp_keyring_get_crt - export an openpgp certificate from a keyring - * @ring: Holds the keyring. + * @key: Holds the key. * @idx: the index of the certificate to export - * @cert: An uninitialized #gnutls_openpgp_crt_t structure + * @crt: An uninitialized &gnutls_openpgp_crt_t structure * * This function will extract an OpenPGP certificate from the given * keyring. If the index given is out of range @@ -269,12 +276,12 @@ **/ int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, - unsigned int idx, gnutls_openpgp_crt_t * cert) + unsigned int idx, + gnutls_openpgp_crt_t * cert) { cdk_kbnode_t knode; cdk_error_t err; - int ret = 0; - unsigned int count = 0; + int ret = 0, count = 0; cdk_keydb_search_t st; err = cdk_keydb_search_start (&st, ring->db, CDK_DBSEARCH_NEXT, NULL); diff -Nru gnutls26-2.8.6/lib/openpgp/gnutls_openpgp.c gnutls26-2.4.1/lib/openpgp/gnutls_openpgp.c --- gnutls26-2.8.6/lib/openpgp/gnutls_openpgp.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/gnutls_openpgp.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,977 +0,0 @@ -/* - * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation - * - * Author: Timo Schulz, Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -#include "gnutls_int.h" -#include "gnutls_errors.h" -#include "gnutls_mpi.h" -#include "gnutls_num.h" -#include "gnutls_cert.h" -#include "gnutls_datum.h" -#include "gnutls_global.h" -#include "gnutls_openpgp.h" -#include "read-file.h" -#include -#include -#include -#include -#include - -#define datum_append(x, y, z) _gnutls_datum_append_m (x, y, z, gnutls_realloc) - -/* Map an OpenCDK error type to a GnuTLS error type. */ -int -_gnutls_map_cdk_rc (int rc) -{ - switch (rc) - { - case CDK_Success: - return 0; - case CDK_Too_Short: - return GNUTLS_E_SHORT_MEMORY_BUFFER; - case CDK_General_Error: - return GNUTLS_E_INTERNAL_ERROR; - case CDK_File_Error: - return GNUTLS_E_FILE_ERROR; - case CDK_MPI_Error: - return GNUTLS_E_MPI_SCAN_FAILED; - case CDK_Error_No_Key: - return GNUTLS_E_OPENPGP_GETKEY_FAILED; - case CDK_Armor_Error: - return GNUTLS_E_BASE64_DECODING_ERROR; - case CDK_Inv_Value: - return GNUTLS_E_INVALID_REQUEST; - default: - return GNUTLS_E_INTERNAL_ERROR; - } -} - -/*- - * _gnutls_openpgp_raw_crt_to_gcert - Converts raw OpenPGP data to GnuTLS certs - * @cert: the certificate to store the data. - * @raw: the buffer which contains the whole OpenPGP key packets. - * - * The RFC2440 (OpenPGP Message Format) data is converted to a GnuTLS - * specific certificate. - -*/ -int -_gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * gcert, - const gnutls_datum_t * raw, - const gnutls_openpgp_keyid_t keyid) -{ - gnutls_openpgp_crt_t pcrt; - int ret; - - ret = gnutls_openpgp_crt_init (&pcrt); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - ret = gnutls_openpgp_crt_import (pcrt, raw, GNUTLS_OPENPGP_FMT_RAW); - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_crt_deinit (pcrt); - return ret; - } - - if (keyid != NULL) - { - ret = gnutls_openpgp_crt_set_preferred_key_id (pcrt, keyid); - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_crt_deinit (pcrt); - return ret; - } - } - - ret = _gnutls_openpgp_crt_to_gcert (gcert, pcrt); - gnutls_openpgp_crt_deinit (pcrt); - - return ret; -} - -/** - * gnutls_certificate_set_openpgp_key - Used to set keys in a gnutls_certificate_credentials_t structure - * @res: is a #gnutls_certificate_credentials_t structure. - * @key: contains an openpgp public key - * @pkey: is an openpgp private key - * - * This function sets a certificate/private key pair in the - * gnutls_certificate_credentials_t structure. This function may be - * called more than once (in case multiple keys/certificates exist - * for the server). - * - * With this function the subkeys of the certificate are not used. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ -int -gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, - gnutls_openpgp_crt_t crt, - gnutls_openpgp_privkey_t pkey) -{ - int ret; - - /* this should be first */ - - res->pkey = gnutls_realloc_fast (res->pkey, - (res->ncerts + 1) * - sizeof (gnutls_privkey)); - if (res->pkey == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - ret = _gnutls_openpgp_privkey_to_gkey (&res->pkey[res->ncerts], pkey); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - res->cert_list = gnutls_realloc_fast (res->cert_list, - (1 + - res->ncerts) * - sizeof (gnutls_cert *)); - if (res->cert_list == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - res->cert_list_length = gnutls_realloc_fast (res->cert_list_length, - (1 + - res->ncerts) * sizeof (int)); - if (res->cert_list_length == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - res->cert_list[res->ncerts] = gnutls_calloc (1, sizeof (gnutls_cert)); - if (res->cert_list[res->ncerts] == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - res->cert_list_length[res->ncerts] = 1; - - ret = _gnutls_openpgp_crt_to_gcert (res->cert_list[res->ncerts], crt); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - res->ncerts++; - - /* FIXME: Check if the keys match. */ - - return 0; -} - -/*- - * gnutls_openpgp_get_key - Retrieve a key from the keyring. - * @key: the destination context to save the key. - * @keyring: the datum struct that contains all keyring information. - * @attr: The attribute (keyid, fingerprint, ...). - * @by: What attribute is used. - * - * This function can be used to retrieve keys by different pattern - * from a binary or a file keyring. - -*/ -int -gnutls_openpgp_get_key (gnutls_datum_t * key, - gnutls_openpgp_keyring_t keyring, key_attr_t by, - opaque * pattern) -{ - cdk_kbnode_t knode = NULL; - unsigned long keyid[2]; - unsigned char *buf; - void *desc; - size_t len; - int rc = 0; - cdk_keydb_search_t st; - - if (!key || !keyring || by == KEY_ATTR_NONE) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - memset (key, 0, sizeof *key); - - if (by == KEY_ATTR_SHORT_KEYID) - { - keyid[0] = _gnutls_read_uint32 (pattern); - desc = keyid; - } - else if (by == KEY_ATTR_KEYID) - { - keyid[0] = _gnutls_read_uint32 (pattern); - keyid[1] = _gnutls_read_uint32 (pattern + 4); - desc = keyid; - } - else - desc = pattern; - rc = cdk_keydb_search_start (&st, keyring->db, by, desc); - if (!rc) - rc = cdk_keydb_search (st, keyring->db, &knode); - - cdk_keydb_search_release (st); - - if (rc) - { - rc = _gnutls_map_cdk_rc (rc); - goto leave; - } - - if (!cdk_kbnode_find (knode, CDK_PKT_PUBLIC_KEY)) - { - rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; - goto leave; - } - - /* We let the function allocate the buffer to avoid - to call the function twice. */ - rc = cdk_kbnode_write_to_mem_alloc (knode, &buf, &len); - if (!rc) - datum_append (key, buf, len); - gnutls_free (buf); - -leave: - cdk_kbnode_release (knode); - return rc; -} - -/** - * gnutls_certificate_set_openpgp_key_mem - Used to set OpenPGP keys - * @res: the destination context to save the data. - * @cert: the datum that contains the public key. - * @key: the datum that contains the secret key. - * @format: the format of the keys - * - * This funtion is used to load OpenPGP keys into the GnuTLS credential - * structure. The files should contain non encrypted keys. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ -int -gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, - const gnutls_datum_t * key, - gnutls_openpgp_crt_fmt_t format) -{ - return gnutls_certificate_set_openpgp_key_mem2 (res, cert, key, - NULL, format); -} - - -/** - * gnutls_certificate_set_openpgp_key_file - Used to set OpenPGP keys - * @res: the destination context to save the data. - * @certfile: the file that contains the public key. - * @keyfile: the file that contains the secret key. - * @format: the format of the keys - * - * This funtion is used to load OpenPGP keys into the GnuTLS - * credentials structure. The files should only contain one key which - * is not encrypted. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ -int -gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - gnutls_openpgp_crt_fmt_t format) -{ - return gnutls_certificate_set_openpgp_key_file2 (res, certfile, - keyfile, NULL, format); -} - -static int -get_keyid (gnutls_openpgp_keyid_t keyid, const char *str) -{ - size_t keyid_size = sizeof (keyid); - - if (strlen (str) != 16) - { - _gnutls_debug_log - ("The OpenPGP subkey ID has to be 16 hexadecimal characters.\n"); - return GNUTLS_E_INVALID_REQUEST; - } - - if (_gnutls_hex2bin (str, strlen (str), keyid, &keyid_size) < 0) - { - _gnutls_debug_log ("Error converting hex string: %s.\n", str); - return GNUTLS_E_INVALID_REQUEST; - } - - return 0; -} - -/** - * gnutls_certificate_set_openpgp_key_mem2 - Used to set OpenPGP keys - * @res: the destination context to save the data. - * @cert: the datum that contains the public key. - * @key: the datum that contains the secret key. - * @subkey_id: a hex encoded subkey id - * @format: the format of the keys - * - * This funtion is used to load OpenPGP keys into the GnuTLS - * credentials structure. The files should only contain one key which - * is not encrypted. - * - * The special keyword "auto" is also accepted as @subkey_id. In that - * case the gnutls_openpgp_crt_get_auth_subkey() will be used to - * retrieve the subkey. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.4.0 - **/ -int -gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t res, - const gnutls_datum_t * cert, - const gnutls_datum_t * key, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format) -{ - gnutls_openpgp_privkey_t pkey; - gnutls_openpgp_crt_t crt; - int ret; - - ret = gnutls_openpgp_privkey_init (&pkey); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - ret = gnutls_openpgp_privkey_import (pkey, key, format, NULL, 0); - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_privkey_deinit (pkey); - return ret; - } - - ret = gnutls_openpgp_crt_init (&crt); - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_privkey_deinit (pkey); - return ret; - } - - ret = gnutls_openpgp_crt_import (crt, cert, format); - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_privkey_deinit (pkey); - gnutls_openpgp_crt_deinit (crt); - return ret; - } - - if (subkey_id != NULL) - { - gnutls_openpgp_keyid_t keyid; - - if (strcasecmp (subkey_id, "auto") == 0) - ret = gnutls_openpgp_crt_get_auth_subkey (crt, keyid, 1); - else - ret = get_keyid (keyid, subkey_id); - - if (ret >= 0) - { - ret = gnutls_openpgp_crt_set_preferred_key_id (crt, keyid); - if (ret >= 0) - ret = gnutls_openpgp_privkey_set_preferred_key_id (pkey, keyid); - } - - if (ret < 0) - { - gnutls_assert (); - gnutls_openpgp_privkey_deinit (pkey); - gnutls_openpgp_crt_deinit (crt); - return ret; - } - } - - ret = gnutls_certificate_set_openpgp_key (res, crt, pkey); - - gnutls_openpgp_privkey_deinit (pkey); - gnutls_openpgp_crt_deinit (crt); - - return ret; -} - - -/** - * gnutls_certificate_set_openpgp_key_file2 - Used to set OpenPGP keys - * @res: the destination context to save the data. - * @certfile: the file that contains the public key. - * @keyfile: the file that contains the secret key. - * @subkey_id: a hex encoded subkey id - * @format: the format of the keys - * - * This funtion is used to load OpenPGP keys into the GnuTLS credential - * structure. The files should contain non encrypted keys. - * - * The special keyword "auto" is also accepted as @subkey_id. In that - * case the gnutls_openpgp_crt_get_auth_subkey() will be used to - * retrieve the subkey. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.4.0 - **/ -int -gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t res, - const char *certfile, - const char *keyfile, - const char *subkey_id, - gnutls_openpgp_crt_fmt_t format) -{ - struct stat statbuf; - gnutls_datum_t key, cert; - int rc; - size_t size; - - if (!res || !keyfile || !certfile) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (stat (certfile, &statbuf) || stat (keyfile, &statbuf)) - { - gnutls_assert (); - return GNUTLS_E_FILE_ERROR; - } - - cert.data = read_binary_file (certfile, &size); - cert.size = (unsigned int) size; - if (cert.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_FILE_ERROR; - } - - key.data = read_binary_file (keyfile, &size); - key.size = (unsigned int) size; - if (key.data == NULL) - { - gnutls_assert (); - free (cert.data); - return GNUTLS_E_FILE_ERROR; - } - - rc = - gnutls_certificate_set_openpgp_key_mem2 (res, &cert, &key, subkey_id, - format); - - free (cert.data); - free (key.data); - - if (rc < 0) - { - gnutls_assert (); - return rc; - } - - return 0; -} - - -int -gnutls_openpgp_count_key_names (const gnutls_datum_t * cert) -{ - cdk_kbnode_t knode, p, ctx; - cdk_packet_t pkt; - int nuids; - - if (cert == NULL) - { - gnutls_assert (); - return 0; - } - - if (cdk_kbnode_read_from_mem (&knode, cert->data, cert->size)) - { - gnutls_assert (); - return 0; - } - - ctx = NULL; - for (nuids = 0;;) - { - p = cdk_kbnode_walk (knode, &ctx, 0); - if (!p) - break; - pkt = cdk_kbnode_get_packet (p); - if (pkt->pkttype == CDK_PKT_USER_ID) - nuids++; - } - - cdk_kbnode_release (knode); - return nuids; -} - - -/** - * gnutls_certificate_set_openpgp_keyring_file - Sets a keyring file for OpenPGP - * @c: A certificate credentials structure - * @file: filename of the keyring. - * @format: format of keyring. - * - * The function is used to set keyrings that will be used internally - * by various OpenPGP functions. For example to find a key when it - * is needed for an operations. The keyring will also be used at the - * verification functions. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ -int -gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, - const char *file, - gnutls_openpgp_crt_fmt_t format) -{ - gnutls_datum_t ring; - size_t size; - int rc; - - if (!c || !file) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - ring.data = read_binary_file (file, &size); - ring.size = (unsigned int) size; - if (ring.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_FILE_ERROR; - } - - rc = - gnutls_certificate_set_openpgp_keyring_mem (c, ring.data, ring.size, - format); - - free (ring.data); - - return rc; -} - -/** - * gnutls_certificate_set_openpgp_keyring_mem - Add keyring data for OpenPGP - * @c: A certificate credentials structure - * @data: buffer with keyring data. - * @dlen: length of data buffer. - * @format: the format of the keyring - * - * The function is used to set keyrings that will be used internally - * by various OpenPGP functions. For example to find a key when it - * is needed for an operations. The keyring will also be used at the - * verification functions. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ -int -gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, - const opaque * data, - size_t dlen, - gnutls_openpgp_crt_fmt_t format) -{ - gnutls_datum ddata; - int rc; - - ddata.data = (void *) data; - ddata.size = dlen; - - if (!c || !data || !dlen) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - rc = gnutls_openpgp_keyring_init (&c->keyring); - if (rc < 0) - { - gnutls_assert (); - return rc; - } - - rc = gnutls_openpgp_keyring_import (c->keyring, &ddata, format); - if (rc < 0) - { - gnutls_assert (); - gnutls_openpgp_keyring_deinit (c->keyring); - return rc; - } - - return 0; -} - -/*- - * _gnutls_openpgp_request_key - Receives a key from a database, key server etc - * @ret - a pointer to gnutls_datum_t structure. - * @cred - a gnutls_certificate_credentials_t structure. - * @key_fingerprint - The keyFingerprint - * @key_fingerprint_size - the size of the fingerprint - * - * Retrieves a key from a local database, keyring, or a key server. The - * return value is locally allocated. - * - -*/ -int -_gnutls_openpgp_request_key (gnutls_session_t session, gnutls_datum_t * ret, - const gnutls_certificate_credentials_t cred, - opaque * key_fpr, int key_fpr_size) -{ - int rc = 0; - - if (!ret || !cred || !key_fpr) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (key_fpr_size != 16 && key_fpr_size != 20) - return GNUTLS_E_HASH_FAILED; /* only MD5 and SHA1 are supported */ - - rc = gnutls_openpgp_get_key (ret, cred->keyring, KEY_ATTR_FPR, key_fpr); - - if (rc >= 0) /* key was found */ - { - rc = 0; - goto error; - } - else - rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; - - /* If the callback function was set, then try this one. */ - if (session->internals.openpgp_recv_key_func != NULL) - { - rc = session->internals.openpgp_recv_key_func (session, - key_fpr, - key_fpr_size, ret); - if (rc < 0) - { - gnutls_assert (); - rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; - goto error; - } - } - -error: - - return rc; -} - -/** - * gnutls_openpgp_set_recv_key_function - Used to set a key retrieval callback for PGP keys - * @session: a TLS session - * @func: the callback - * - * This funtion will set a key retrieval function for OpenPGP keys. This - * callback is only useful in server side, and will be used if the peer - * sent a key fingerprint instead of a full key. - * - **/ -void -gnutls_openpgp_set_recv_key_function (gnutls_session_t session, - gnutls_openpgp_recv_key_func func) -{ - session->internals.openpgp_recv_key_func = func; -} - - -/* Copies a gnutls_openpgp_privkey_t to a gnutls_privkey structure. */ -int -_gnutls_openpgp_privkey_to_gkey (gnutls_privkey * dest, - gnutls_openpgp_privkey_t src) -{ - int ret = 0; - gnutls_openpgp_keyid_t keyid; - char err_buf[33]; - - if (dest == NULL || src == NULL) - { - gnutls_assert (); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - dest->params_size = MAX_PRIV_PARAMS_SIZE; - - ret = gnutls_openpgp_privkey_get_preferred_key_id (src, keyid); - - if (ret == 0) - { - int idx; - uint32_t kid32[2]; - - _gnutls_debug_log - ("Importing Openpgp key and using openpgp sub key: %s\n", - _gnutls_bin2hex (keyid, sizeof (keyid), err_buf, sizeof (err_buf))); - - KEYID_IMPORT (kid32, keyid); - - idx = gnutls_openpgp_privkey_get_subkey_idx (src, keyid); - if (idx < 0) - { - gnutls_assert (); - return idx; - } - - dest->pk_algorithm = - gnutls_openpgp_privkey_get_subkey_pk_algorithm (src, idx, NULL); - - ret = - _gnutls_openpgp_privkey_get_mpis (src, kid32, dest->params, - &dest->params_size); - } - else - { - _gnutls_debug_log - ("Importing Openpgp key and using main openpgp key.\n"); - - dest->pk_algorithm = - gnutls_openpgp_privkey_get_pk_algorithm (src, NULL); - ret = - _gnutls_openpgp_privkey_get_mpis (src, NULL, dest->params, - &dest->params_size); - } - - - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - return 0; - -} - -/* Converts a parsed gnutls_openpgp_crt_t to a gnutls_cert structure. - */ -int -_gnutls_openpgp_crt_to_gcert (gnutls_cert * gcert, gnutls_openpgp_crt_t cert) -{ - int ret; - gnutls_openpgp_keyid_t keyid; - char err_buf[33]; - - memset (gcert, 0, sizeof (gnutls_cert)); - gcert->cert_type = GNUTLS_CRT_OPENPGP; - gcert->version = gnutls_openpgp_crt_get_version (cert); - gcert->params_size = MAX_PUBLIC_PARAMS_SIZE; - - ret = gnutls_openpgp_crt_get_preferred_key_id (cert, keyid); - - if (ret == 0) - { - int idx; - uint32_t kid32[2]; - - _gnutls_debug_log - ("Importing Openpgp cert and using openpgp sub key: %s\n", - _gnutls_bin2hex (keyid, sizeof (keyid), err_buf, sizeof (err_buf))); - - KEYID_IMPORT (kid32, keyid); - - idx = gnutls_openpgp_crt_get_subkey_idx (cert, keyid); - if (idx < 0) - { - gnutls_assert (); - return idx; - } - - gcert->subject_pk_algorithm = - gnutls_openpgp_crt_get_subkey_pk_algorithm (cert, idx, NULL); - - gnutls_openpgp_crt_get_subkey_usage (cert, idx, &gcert->key_usage); - gcert->use_subkey = 1; - - memcpy (gcert->subkey_id, keyid, sizeof (keyid)); - - ret = - _gnutls_openpgp_crt_get_mpis (cert, kid32, gcert->params, - &gcert->params_size); - } - else - { - _gnutls_debug_log - ("Importing Openpgp cert and using main openpgp key\n"); - gcert->subject_pk_algorithm = - gnutls_openpgp_crt_get_pk_algorithm (cert, NULL); - - gnutls_openpgp_crt_get_key_usage (cert, &gcert->key_usage); - ret = - _gnutls_openpgp_crt_get_mpis (cert, NULL, gcert->params, - &gcert->params_size); - gcert->use_subkey = 0; - } - - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - { /* copy the raw certificate */ -#define SMALL_RAW 512 - opaque *raw; - size_t raw_size = SMALL_RAW; - - /* initially allocate a bogus size, just in case the certificate - * fits in it. That way we minimize the DER encodings performed. - */ - raw = gnutls_malloc (raw_size); - if (raw == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - ret = - gnutls_openpgp_crt_export (cert, GNUTLS_OPENPGP_FMT_RAW, raw, - &raw_size); - if (ret < 0 && ret != GNUTLS_E_SHORT_MEMORY_BUFFER) - { - gnutls_assert (); - gnutls_free (raw); - return ret; - } - - if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) - { - raw = gnutls_realloc (raw, raw_size); - if (raw == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - ret = - gnutls_openpgp_crt_export (cert, GNUTLS_OPENPGP_FMT_RAW, raw, - &raw_size); - if (ret < 0) - { - gnutls_assert (); - gnutls_free (raw); - return ret; - } - } - - gcert->raw.data = raw; - gcert->raw.size = raw_size; - } - - return 0; - -} - - -/** - * gnutls_openpgp_privkey_sign_hash - sign the given data using the private key params - * @key: Holds the key - * @hash: holds the data to be signed - * @signature: will contain newly allocated signature - * - * This function will sign the given hash using the private key. You - * should use gnutls_openpgp_privkey_set_subkey() before calling this - * function to set the subkey to use. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ -int -gnutls_openpgp_privkey_sign_hash (gnutls_openpgp_privkey_t key, - const gnutls_datum_t * hash, - gnutls_datum_t * signature) -{ - int result, i; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; - int params_size = MAX_PUBLIC_PARAMS_SIZE; - int pk_algorithm; - gnutls_openpgp_keyid_t keyid; - - if (key == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - result = gnutls_openpgp_privkey_get_preferred_key_id (key, keyid); - if (result == 0) - { - uint32_t kid[2]; - - KEYID_IMPORT (kid, keyid); - result = _gnutls_openpgp_privkey_get_mpis (key, kid, - params, ¶ms_size); - } - else - { - result = _gnutls_openpgp_privkey_get_mpis (key, NULL, - params, ¶ms_size); - } - - if (result < 0) - { - gnutls_assert (); - return result; - } - - pk_algorithm = gnutls_openpgp_privkey_get_pk_algorithm (key, NULL); - - result = _gnutls_sign (pk_algorithm, params, params_size, hash, signature); - - for (i = 0; i < params_size; i++) - _gnutls_mpi_release (¶ms[i]); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} diff -Nru gnutls26-2.8.6/lib/openpgp/Makefile.am gnutls26-2.4.1/lib/openpgp/Makefile.am --- gnutls26-2.8.6/lib/openpgp/Makefile.am 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -20,23 +20,20 @@ # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(srcdir)/../includes \ - -I$(builddir)/../includes \ - -I$(srcdir)/.. \ - -I$(srcdir)/../opencdk +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/crypto -I$(top_srcdir)/lib \ + -I$(top_srcdir)/includes -I../../includes \ + -I$(top_srcdir)/lib/opencdk if ENABLE_MINITASN1 -AM_CPPFLAGS += -I$(srcdir)/../minitasn1 +AM_CPPFLAGS += -I$(top_srcdir)/lib/minitasn1 +else +AM_CPPFLAGS += $(LIBTASN1_CFLAGS) endif noinst_LTLIBRARIES = libgnutls_openpgp.la -COBJECTS = pgp.c pgpverify.c extras.c compat.c privkey.c output.c \ - gnutls_openpgp.c +COBJECTS = pgp.c pgpverify.c extras.c compat.c privkey.c output.c libgnutls_openpgp_la_SOURCES = $(COBJECTS) openpgp_int.h gnutls_openpgp.h @@ -44,9 +41,9 @@ pgp-api.texi: $(COBJECTS) @echo "" > pgp-api.texi - @for i in $(COBJECTS); do \ + @for i in ../gnutls_openpgp.c $(COBJECTS); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../../doc/scripts/gdoc -texinfo $$i >> pgp-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> pgp-api.texi && \ echo "ok"; \ done diff -Nru gnutls26-2.8.6/lib/openpgp/Makefile.in gnutls26-2.4.1/lib/openpgp/Makefile.in --- gnutls26-2.8.6/lib/openpgp/Makefile.in 2010-03-15 10:28:41.000000000 +0000 +++ gnutls26-2.4.1/lib/openpgp/Makefile.in 2008-06-30 22:07:52.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -38,9 +37,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -55,69 +53,98 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(srcdir)/../minitasn1 -subdir = openpgp +@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(top_srcdir)/lib/minitasn1 +@ENABLE_MINITASN1_FALSE@am__append_2 = $(LIBTASN1_CFLAGS) +subdir = lib/openpgp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libgnutls_openpgp_la_LIBADD = am__objects_1 = pgp.lo pgpverify.lo extras.lo compat.lo privkey.lo \ - output.lo gnutls_openpgp.lo + output.lo am_libgnutls_openpgp_la_OBJECTS = $(am__objects_1) libgnutls_openpgp_la_OBJECTS = $(am_libgnutls_openpgp_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -136,8 +163,9 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -148,7 +176,6 @@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -163,91 +190,56 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ +GAA = @GAA@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -259,30 +251,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -297,38 +275,29 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ @@ -341,46 +310,27 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -396,15 +346,8 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ @@ -412,17 +355,12 @@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -430,30 +368,33 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ @@ -466,10 +407,11 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ @@ -480,32 +422,25 @@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -520,26 +455,16 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ @@ -547,22 +472,18 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -570,14 +491,12 @@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -588,7 +507,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -606,6 +525,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -623,7 +547,6 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -639,14 +562,12 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = -I$(srcdir)/../gl -I$(builddir)/../gl \ - -I$(srcdir)/../includes -I$(builddir)/../includes \ - -I$(srcdir)/.. -I$(srcdir)/../opencdk $(am__append_1) +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/crypto -I$(top_srcdir)/lib \ + -I$(top_srcdir)/includes -I../../includes \ + -I$(top_srcdir)/lib/opencdk $(am__append_1) $(am__append_2) noinst_LTLIBRARIES = libgnutls_openpgp.la -COBJECTS = pgp.c pgpverify.c extras.c compat.c privkey.c output.c \ - gnutls_openpgp.c - +COBJECTS = pgp.c pgpverify.c extras.c compat.c privkey.c output.c libgnutls_openpgp_la_SOURCES = $(COBJECTS) openpgp_int.h gnutls_openpgp.h EXTRA_DIST = pgp-api.texi all: all-am @@ -657,14 +578,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu openpgp/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu openpgp/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/openpgp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/openpgp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -682,7 +603,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -703,7 +623,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extras.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_openpgp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgpverify.Plo@am__quote@ @@ -711,21 +630,21 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -741,14 +660,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -756,34 +675,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -804,17 +718,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -845,7 +755,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -867,8 +776,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -877,28 +784,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -940,14 +837,13 @@ pgp-api.texi: $(COBJECTS) @echo "" > pgp-api.texi - @for i in $(COBJECTS); do \ + @for i in ../gnutls_openpgp.c $(COBJECTS); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../../doc/scripts/gdoc -texinfo $$i >> pgp-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> pgp-api.texi && \ echo "ok"; \ done dist-hook: pgp-api.texi - # 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: diff -Nru gnutls26-2.8.6/lib/openpgp/openpgp_int.h gnutls26-2.4.1/lib/openpgp/openpgp_int.h --- gnutls26-2.8.6/lib/openpgp/openpgp_int.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/openpgp_int.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,7 +1,7 @@ #ifndef OPENPGP_LOCAL_H # define OPENPGP_LOCAL_H -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif @@ -53,15 +53,15 @@ int _gnutls_openpgp_crt_get_mpis (gnutls_openpgp_crt_t cert, uint32_t keyid[2], - bigint_t * params, int *params_size); + mpi_t * params, int *params_size); int _gnutls_openpgp_privkey_get_mpis (gnutls_openpgp_privkey_t pkey, uint32_t keyid[2], - bigint_t * params, int *params_size); + mpi_t * params, int *params_size); cdk_packet_t _gnutls_openpgp_find_key( cdk_kbnode_t knode, uint32_t keyid[2], unsigned int priv); -int _gnutls_read_pgp_mpi( cdk_packet_t pkt, unsigned int priv, size_t idx, bigint_t* m); +int _gnutls_read_pgp_mpi( cdk_packet_t pkt, unsigned int priv, size_t idx, mpi_t* m); int _gnutls_openpgp_find_subkey_idx( cdk_kbnode_t knode, uint32_t keyid[2], unsigned int priv); diff -Nru gnutls26-2.8.6/lib/openpgp/output.c gnutls26-2.4.1/lib/openpgp/output.c --- gnutls26-2.8.6/lib/openpgp/output.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/output.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2007, 2008 Free Software Foundation * * Author: Simon Josefsson, Nikos Mavrogiannopoulos * @@ -32,6 +32,7 @@ /* I18n of error codes. */ #include "gettext.h" #define _(String) dgettext (PACKAGE, String) +#define N_(String) gettext_noop (String) #define addf _gnutls_string_append_printf #define adds _gnutls_string_append_str @@ -75,16 +76,15 @@ } static void -print_key_usage (gnutls_string * str, gnutls_openpgp_crt_t cert, - unsigned int idx) +print_key_usage (gnutls_string * str, gnutls_openpgp_crt_t cert, unsigned int idx) { unsigned int key_usage; int err; - adds (str, _("\t\tKey Usage:\n")); + addf (str, _("\t\tKey Usage:\n")); - if (idx == (unsigned int) -1) + if (idx == -1) err = gnutls_openpgp_crt_get_key_usage (cert, &key_usage); else err = gnutls_openpgp_crt_get_subkey_usage (cert, idx, &key_usage); @@ -95,15 +95,15 @@ } if (key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE) - adds (str, _("\t\t\tDigital signatures.\n")); + addf (str, _("\t\t\tDigital signatures.\n")); if (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT) - adds (str, _("\t\t\tCommunications encipherment.\n")); + addf (str, _("\t\t\tCommunications encipherment.\n")); if (key_usage & GNUTLS_KEY_DATA_ENCIPHERMENT) - adds (str, _("\t\t\tStorage data encipherment.\n")); + addf (str, _("\t\t\tStorage data encipherment.\n")); if (key_usage & GNUTLS_KEY_KEY_AGREEMENT) - adds (str, _("\t\t\tAuthentication.\n")); + addf (str, _("\t\t\tAuthentication.\n")); if (key_usage & GNUTLS_KEY_KEY_CERT_SIGN) - adds (str, _("\t\t\tCertificate signing.\n")); + addf (str, _("\t\t\tCertificate signing.\n")); } /* idx == -1 indicates main key @@ -112,22 +112,22 @@ static void print_key_id (gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) { - gnutls_openpgp_keyid_t id; - int err; + gnutls_openpgp_keyid_t id; + int err; - if (idx < 0) - err = gnutls_openpgp_crt_get_key_id (cert, id); - else - err = gnutls_openpgp_crt_get_subkey_id (cert, idx, id); + if (idx < 0) + err = gnutls_openpgp_crt_get_key_id (cert, id); + else + err = gnutls_openpgp_crt_get_subkey_id( cert, idx, id); - if (err < 0) - addf (str, "error: get_key_id: %s\n", gnutls_strerror (err)); - else - { - adds (str, _("\tID (hex): ")); - hexprint (str, id, sizeof (id)); - addf (str, "\n"); - } + if (err < 0) + addf (str, "error: get_key_id: %s\n", gnutls_strerror (err)); + else + { + addf (str, _("\tID (hex): ")); + hexprint (str, id, sizeof(id)); + addf (str, "\n"); + } } /* idx == -1 indicates main key @@ -136,183 +136,181 @@ static void print_key_fingerprint (gnutls_string * str, gnutls_openpgp_crt_t cert) { - char fpr[128]; - size_t fpr_size = sizeof (fpr); - int err; + char fpr[128]; + size_t fpr_size = sizeof (fpr); + int err; - err = gnutls_openpgp_crt_get_fingerprint (cert, fpr, &fpr_size); - if (err < 0) - addf (str, "error: get_fingerprint: %s\n", gnutls_strerror (err)); - else - { - adds (str, _("\tFingerprint (hex): ")); - hexprint (str, fpr, fpr_size); - addf (str, "\n"); - } + err = gnutls_openpgp_crt_get_fingerprint (cert, fpr, &fpr_size); + if (err < 0) + addf (str, "error: get_fingerprint: %s\n", gnutls_strerror (err)); + else + { + addf (str, _("\tFingerprint (hex): ")); + hexprint (str, fpr, fpr_size); + addf (str, "\n"); + } } static void print_key_revoked (gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) { - int err; + int err; - if (idx < 0) - err = gnutls_openpgp_crt_get_revoked_status (cert); - else - err = gnutls_openpgp_crt_get_subkey_revoked_status (cert, idx); + if (idx < 0) + err = gnutls_openpgp_crt_get_revoked_status (cert); + else + err = gnutls_openpgp_crt_get_subkey_revoked_status( cert, idx); - if (err != 0) - adds (str, _("\tRevoked: True\n")); - else - adds (str, _("\tRevoked: False\n")); + if (err != 0) + addf (str, _("\tRevoked: True\n")); + else + addf (str, _("\tRevoked: False\n")); } static void -print_key_times (gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) +print_key_times(gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) { - time_t tim; - - adds (str, _("\tTime stamps:\n")); + time_t tim; - if (idx == -1) - tim = gnutls_openpgp_crt_get_creation_time (cert); - else - tim = gnutls_openpgp_crt_get_subkey_creation_time (cert, idx); + addf (str, _("\tTime stamps:\n")); - { - char s[42]; - size_t max = sizeof (s); - struct tm t; - - if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); - else if (strftime (s, max, "%a %b %e %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + if (idx == -1) + tim = gnutls_openpgp_crt_get_creation_time (cert); else - addf (str, _("\t\tCreation: %s\n"), s); - } + tim = gnutls_openpgp_crt_get_subkey_creation_time (cert, idx); + + { + char s[42]; + size_t max = sizeof (s); + struct tm t; - if (idx == -1) - tim = gnutls_openpgp_crt_get_expiration_time (cert); - else - tim = gnutls_openpgp_crt_get_subkey_expiration_time (cert, idx); - { - char s[42]; - size_t max = sizeof (s); - struct tm t; + if (gmtime_r (&tim, &t) == NULL) + addf (str, "error: gmtime_r (%d)\n", t); + else if (strftime (s, max, "%a %b %e %H:%M:%S UTC %Y", &t) == 0) + addf (str, "error: strftime (%d)\n", t); + else + addf (str, _("\t\tCreation: %s\n"), s); + } - if (tim == 0) - { - adds (str, _("\t\tExpiration: Never\n")); - } + if (idx == -1) + tim = gnutls_openpgp_crt_get_expiration_time (cert); else - { - if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); - else if (strftime (s, max, "%a %b %e %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); - else - addf (str, _("\t\tExpiration: %s\n"), s); - } - } + tim = gnutls_openpgp_crt_get_subkey_expiration_time (cert, idx); + { + char s[42]; + size_t max = sizeof (s); + struct tm t; + + if (tim == 0) + { + addf (str, _("\t\tExpiration: Never\n"), s); + } + else + { + if (gmtime_r (&tim, &t) == NULL) + addf (str, "error: gmtime_r (%d)\n", t); + else if (strftime (s, max, "%a %b %e %H:%M:%S UTC %Y", &t) == 0) + addf (str, "error: strftime (%d)\n", t); + else + addf (str, _("\t\tExpiration: %s\n"), s); + } + } } static void -print_key_info (gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) +print_key_info(gnutls_string * str, gnutls_openpgp_crt_t cert, int idx) { - int err; - unsigned int bits; - - if (idx == -1) - err = gnutls_openpgp_crt_get_pk_algorithm (cert, &bits); - else - err = gnutls_openpgp_crt_get_subkey_pk_algorithm (cert, idx, &bits); - - if (err < 0) - addf (str, "error: get_pk_algorithm: %s\n", gnutls_strerror (err)); - else - { - const char *name = gnutls_pk_algorithm_get_name (err); - if (name == NULL) - name = _("unknown"); - - addf (str, _("\tPublic Key Algorithm: %s\n"), name); - switch (err) - { - case GNUTLS_PK_RSA: - { - gnutls_datum_t m, e; + int err; + unsigned int bits; - if (idx == -1) - err = gnutls_openpgp_crt_get_pk_rsa_raw (cert, &m, &e); - else - err = - gnutls_openpgp_crt_get_subkey_pk_rsa_raw (cert, idx, &m, &e); - - if (err < 0) - addf (str, "error: get_pk_rsa_raw: %s\n", - gnutls_strerror (err)); - else - { - addf (str, _("\t\tModulus (bits %d):\n"), bits); - hexdump (str, m.data, m.size, "\t\t\t"); - adds (str, _("\t\tExponent:\n")); - hexdump (str, e.data, e.size, "\t\t\t"); - - gnutls_free (m.data); - gnutls_free (e.data); - } + if (idx == -1) + err = gnutls_openpgp_crt_get_pk_algorithm (cert, &bits); + else + err = gnutls_openpgp_crt_get_subkey_pk_algorithm (cert, idx, &bits); - } - break; + if (err < 0) + addf (str, "error: get_pk_algorithm: %s\n", gnutls_strerror (err)); + else + { + const char *name = gnutls_pk_algorithm_get_name (err); + if (name == NULL) + name = _("unknown"); - case GNUTLS_PK_DSA: + addf (str, _("\tPublic Key Algorithm: %s\n"), name); + switch (err) { - gnutls_datum_t p, q, g, y; + case GNUTLS_PK_RSA: + { + gnutls_datum_t m, e; + + if (idx == -1) + err = gnutls_openpgp_crt_get_pk_rsa_raw (cert, &m, &e); + else + err = gnutls_openpgp_crt_get_subkey_pk_rsa_raw (cert, idx, &m, &e); + + if (err < 0) + addf (str, "error: get_pk_rsa_raw: %s\n", + gnutls_strerror (err)); + else + { + addf (str, _("\t\tModulus (bits %d):\n"), bits); + hexdump (str, m.data, m.size, "\t\t\t"); + addf (str, _("\t\tExponent:\n")); + hexdump (str, e.data, e.size, "\t\t\t"); + + gnutls_free (m.data); + gnutls_free (e.data); + } + + } + break; + + case GNUTLS_PK_DSA: + { + gnutls_datum_t p, q, g, y; + + if (idx == -1) + err = gnutls_openpgp_crt_get_pk_dsa_raw (cert, &p, &q, &g, &y); + else + err = gnutls_openpgp_crt_get_subkey_pk_dsa_raw (cert, idx, &p, &q, &g, &y); + if (err < 0) + addf (str, "error: get_pk_dsa_raw: %s\n", + gnutls_strerror (err)); + else + { + addf (str, _("\t\tPublic key (bits %d):\n"), bits); + hexdump (str, y.data, y.size, "\t\t\t"); + addf (str, _("\t\tP:\n")); + hexdump (str, p.data, p.size, "\t\t\t"); + addf (str, _("\t\tQ:\n")); + hexdump (str, q.data, q.size, "\t\t\t"); + addf (str, _("\t\tG:\n")); + hexdump (str, g.data, g.size, "\t\t\t"); + + gnutls_free (p.data); + gnutls_free (q.data); + gnutls_free (g.data); + gnutls_free (y.data); + } + } + break; - if (idx == -1) - err = gnutls_openpgp_crt_get_pk_dsa_raw (cert, &p, &q, &g, &y); - else - err = - gnutls_openpgp_crt_get_subkey_pk_dsa_raw (cert, idx, &p, &q, - &g, &y); - if (err < 0) - addf (str, "error: get_pk_dsa_raw: %s\n", - gnutls_strerror (err)); - else - { - addf (str, _("\t\tPublic key (bits %d):\n"), bits); - hexdump (str, y.data, y.size, "\t\t\t"); - adds (str, _("\t\tP:\n")); - hexdump (str, p.data, p.size, "\t\t\t"); - adds (str, _("\t\tQ:\n")); - hexdump (str, q.data, q.size, "\t\t\t"); - adds (str, _("\t\tG:\n")); - hexdump (str, g.data, g.size, "\t\t\t"); - - gnutls_free (p.data); - gnutls_free (q.data); - gnutls_free (g.data); - gnutls_free (y.data); - } + default: + break; } - break; - - default: - break; - } - } + } } + static void -print_cert (gnutls_string * str, gnutls_openpgp_crt_t cert) +print_cert (gnutls_string * str, gnutls_openpgp_crt_t cert, unsigned int format) { - int i, subkeys; - int err; - char dn[1024]; - size_t dn_size; +int i, subkeys; +int err; +char dn[1024]; +size_t dn_size; - print_key_revoked (str, cert, -1); + print_key_revoked( str, cert, -1); /* Version. */ { @@ -324,15 +322,14 @@ } /* ID. */ - print_key_id (str, cert, -1); + print_key_id( str, cert, -1); - print_key_fingerprint (str, cert); + print_key_fingerprint( str, cert); /* Names. */ i = 0; - do - { - dn_size = sizeof (dn); + do { + dn_size = sizeof(dn); err = gnutls_openpgp_crt_get_name (cert, i++, dn, &dn_size); if (err < 0 && err != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE && @@ -343,129 +340,32 @@ } if (err >= 0) - addf (str, _("\tName[%d]: %s\n"), i - 1, dn); - else if (err == GNUTLS_E_OPENPGP_UID_REVOKED) - { - addf (str, _("\tRevoked Name[%d]: %s\n"), i - 1, dn); - } + addf (str, _("\tName[%d]: %s\n"), i-1, dn); + else if (err == GNUTLS_E_OPENPGP_UID_REVOKED) { + addf (str, _("\tRevoked Name[%d]: %s\n"), i-1, dn); + } - } - while (err >= 0); + } while( err >= 0); - print_key_times (str, cert, -1); + print_key_times( str, cert, -1); - print_key_info (str, cert, -1); - print_key_usage (str, cert, -1); + print_key_info( str, cert, -1); + print_key_usage( str, cert, -1); - subkeys = gnutls_openpgp_crt_get_subkey_count (cert); + subkeys = gnutls_openpgp_crt_get_subkey_count( cert); if (subkeys < 0) return; - for (i = 0; i < subkeys; i++) - { - addf (str, _("\n\tSubkey[%d]:\n"), i); - - print_key_revoked (str, cert, i); - print_key_id (str, cert, i); - print_key_times (str, cert, i); - print_key_info (str, cert, i); - print_key_usage (str, cert, i); - } - -} - -static void -print_oneline (gnutls_string * str, gnutls_openpgp_crt_t cert) -{ - int err, i; + for (i=0;i= 0) - addf (str, _("name[%d]: %s, "), i - 1, dn); - else if (err == GNUTLS_E_OPENPGP_UID_REVOKED) - addf (str, _("revoked name[%d]: %s, "), i - 1, dn); - } - while (err >= 0); - - { - char fpr[128]; - size_t fpr_size = sizeof (fpr); - int err; - - err = gnutls_openpgp_crt_get_fingerprint (cert, fpr, &fpr_size); - if (err < 0) - addf (str, "error: get_fingerprint: %s\n", gnutls_strerror (err)); - else - { - adds (str, _("fingerprint: ")); - hexprint (str, fpr, fpr_size); - addf (str, ", "); - } - } - - { - time_t tim; - - tim = gnutls_openpgp_crt_get_creation_time (cert); - { - char s[42]; - size_t max = sizeof (s); - struct tm t; - - if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld), ", (unsigned long) tim); - else if (strftime (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0) - addf (str, "error: strftime (%ld), ", (unsigned long) tim); - else - addf (str, _("created: %s, "), s); - } - - tim = gnutls_openpgp_crt_get_expiration_time (cert); - { - char s[42]; - size_t max = sizeof (s); - struct tm t; - - if (tim == 0) - adds (str, _("never expires, ")); - else - { - if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld), ", (unsigned long) tim); - else if (strftime (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0) - addf (str, "error: strftime (%ld), ", (unsigned long) tim); - else - addf (str, _("expires: %s, "), s); - } - } + print_key_revoked( str, cert, i); + print_key_id( str, cert, i); + print_key_times( str, cert, i); + print_key_info( str, cert, i); + print_key_usage( str, cert, i); } - { - unsigned int bits = 0; - gnutls_pk_algorithm_t algo = - gnutls_openpgp_crt_get_pk_algorithm (cert, &bits); - const char *algostr = gnutls_pk_algorithm_get_name (algo); - - if (algostr) - addf (str, _("key algorithm %s (%d bits)"), algostr, bits); - else - addf (str, _("unknown key algorithm (%d)"), algo); - } } /** @@ -485,25 +385,21 @@ **/ int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out) + gnutls_certificate_print_formats_t format, + gnutls_datum_t *out) { gnutls_string str; _gnutls_string_init (&str, gnutls_malloc, gnutls_realloc, gnutls_free); - if (format == GNUTLS_CRT_PRINT_ONELINE) - print_oneline (&str, cert); - else - { - _gnutls_string_append_str (&str, _("OpenPGP Certificate Information:\n")); - print_cert (&str, cert); - } + _gnutls_string_append_str (&str, _("OpenPGP Certificate Information:\n")); - _gnutls_string_append_data (&str, "\0", 1); + print_cert (&str, cert, format); + _gnutls_string_append_data (&str, "\0", 1); out->data = str.data; out->size = strlen (str.data); return 0; } + diff -Nru gnutls26-2.8.6/lib/openpgp/pgp-api.texi gnutls26-2.4.1/lib/openpgp/pgp-api.texi --- gnutls26-2.8.6/lib/openpgp/pgp-api.texi 2010-03-15 10:35:24.000000000 +0000 +++ gnutls26-2.4.1/lib/openpgp/pgp-api.texi 2008-06-30 22:14:34.000000000 +0100 @@ -1,4 +1,163 @@ +@subheading gnutls_certificate_set_openpgp_key +@anchor{gnutls_certificate_set_openpgp_key} +@deftypefun {int} {gnutls_certificate_set_openpgp_key} (gnutls_certificate_credentials_t @var{res}, gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_privkey_t @var{pkey}) +@var{res}: is an @code{gnutls_certificate_credentials_t} structure. + +@var{pkey}: is an openpgp private key + +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once (in case multiple keys/certificates exist for the +server). + +With this function the subkeys of the certificate are not used. +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_key_mem +@anchor{gnutls_certificate_set_openpgp_key_mem} +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{icert}, const gnutls_datum_t * @var{ikey}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{res}: the destination context to save the data. + +@var{format}: the format of the keys + +This funtion is used to load OpenPGP keys into the GnuTLS credential +structure. The files should contain non encrypted keys. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_key_file +@anchor{gnutls_certificate_set_openpgp_key_file} +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{res}: the destination context to save the data. + +@var{certfile}: the file that contains the public key. + +@var{keyfile}: the file that contains the secret key. + +@var{format}: the format of the keys + +This funtion is used to load OpenPGP keys into the GnuTLS +credentials structure. The files should only contain one key which +is not encrypted. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_key_mem2 +@anchor{gnutls_certificate_set_openpgp_key_mem2} +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{icert}, const gnutls_datum_t * @var{ikey}, const char* @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{res}: the destination context to save the data. + +@var{subkey_id}: a hex encoded subkey id + +@var{format}: the format of the keys + +This funtion is used to load OpenPGP keys into the GnuTLS +credentials structure. The files should only contain one key which +is not encrypted. + +The special keyword "auto" is also accepted as &subkey_id. In that +case the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to +retrieve the subkey. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. + +@strong{Since:} 2.4.0 +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_key_file2 +@anchor{gnutls_certificate_set_openpgp_key_file2} +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char* @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{res}: the destination context to save the data. + +@var{certfile}: the file that contains the public key. + +@var{keyfile}: the file that contains the secret key. + +@var{subkey_id}: a hex encoded subkey id + +@var{format}: the format of the keys + +This funtion is used to load OpenPGP keys into the GnuTLS credential +structure. The files should contain non encrypted keys. + +The special keyword "auto" is also accepted as &subkey_id. In that case +the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to retrieve the subkey. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. + +@strong{Since:} 2.4.0 +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_keyring_file +@anchor{gnutls_certificate_set_openpgp_keyring_file} +@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_file} (gnutls_certificate_credentials_t @var{c}, const char * @var{file}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{c}: A certificate credentials structure + +@var{file}: filename of the keyring. + +The function is used to set keyrings that will be used internally +by various OpenPGP functions. For example to find a key when it +is needed for an operations. The keyring will also be used at the +verification functions. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_certificate_set_openpgp_keyring_mem +@anchor{gnutls_certificate_set_openpgp_keyring_mem} +@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const opaque * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) +@var{c}: A certificate credentials structure + +@var{data}: buffer with keyring data. + +@var{dlen}: length of data buffer. + +The function is used to set keyrings that will be used internally +by various OpenPGP functions. For example to find a key when it +is needed for an operations. The keyring will also be used at the +verification functions. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_openpgp_set_recv_key_function +@anchor{gnutls_openpgp_set_recv_key_function} +@deftypefun {void} {gnutls_openpgp_set_recv_key_function} (gnutls_session_t @var{session}, gnutls_openpgp_recv_key_func @var{func}) +@var{session}: a TLS session + +@var{func}: the callback + +This funtion will set a key retrieval function for OpenPGP keys. This +callback is only useful in server side, and will be used if the peer +sent a key fingerprint instead of a full key. +@end deftypefun + +@subheading gnutls_openpgp_privkey_sign_hash +@anchor{gnutls_openpgp_privkey_sign_hash} +@deftypefun {int} {gnutls_openpgp_privkey_sign_hash} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) +@var{key}: Holds the key + +@var{hash}: holds the data to be signed + +@var{signature}: will contain newly allocated signature + +This function will sign the given hash using the private key. You +should use @code{gnutls_openpgp_privkey_set_subkey()} before calling this +function to set the subkey to use. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + @subheading gnutls_openpgp_crt_init @anchor{gnutls_openpgp_crt_init} @deftypefun {int} {gnutls_openpgp_crt_init} (gnutls_openpgp_crt_t * @var{key}) @@ -165,7 +324,7 @@ @subheading gnutls_openpgp_crt_check_hostname @anchor{gnutls_openpgp_crt_check_hostname} @deftypefun {int} {gnutls_openpgp_crt_check_hostname} (gnutls_openpgp_crt_t @var{key}, const char * @var{hostname}) -@var{key}: should contain a @code{gnutls_openpgp_crt_t} structure +@var{key}: should contain an @code{gnutls_openpgp_crt_t} structure @var{hostname}: A null terminated string that contains a DNS name @@ -442,16 +601,11 @@ This allows setting a preferred key id for the given certificate. This key will be used by functions that involve key handling. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_openpgp_crt_get_auth_subkey @anchor{gnutls_openpgp_crt_get_auth_subkey} @deftypefun {int} {gnutls_openpgp_crt_get_auth_subkey} (gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flag}) -@var{crt}: the structure that contains the OpenPGP public key. - @var{keyid}: the struct to save the keyid. @var{flag}: Non zero indicates that a valid subkey is always returned. @@ -460,10 +614,6 @@ for authentication. If flag is non zero and no authentication subkey exists, then a valid subkey will be returned even if it is not marked for authentication. -Returns the 64-bit keyID of the first valid OpenPGP subkey marked -for authentication. If flag is non zero and no authentication -subkey exists, then a valid subkey will be returned even if it is -not marked for authentication. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @@ -568,12 +718,8 @@ @subheading gnutls_openpgp_keyring_get_crt @anchor{gnutls_openpgp_keyring_get_crt} @deftypefun {int} {gnutls_openpgp_keyring_get_crt} (gnutls_openpgp_keyring_t @var{ring}, unsigned int @var{idx}, gnutls_openpgp_crt_t * @var{cert}) -@var{ring}: Holds the keyring. - @var{idx}: the index of the certificate to export -@var{cert}: An uninitialized @code{gnutls_openpgp_crt_t} structure - This function will extract an OpenPGP certificate from the given keyring. If the index given is out of range @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. The @@ -602,14 +748,14 @@ @subheading gnutls_openpgp_privkey_import @anchor{gnutls_openpgp_privkey_import} -@deftypefun {int} {gnutls_openpgp_privkey_import} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_openpgp_privkey_import} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{pass}, unsigned int @var{flags}) @var{key}: The structure to store the parsed key. @var{data}: The RAW or BASE64 encoded key. -@var{format}: One of @code{gnutls_openpgp_crt_fmt_t} elements. +@var{format}: One of gnutls_openpgp_crt_fmt_t elements. -@var{password}: not used for now +@var{pass}: Unused for now @var{flags}: should be zero @@ -622,12 +768,12 @@ @subheading gnutls_openpgp_privkey_export @anchor{gnutls_openpgp_privkey_export} -@deftypefun {int} {gnutls_openpgp_privkey_export} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) +@deftypefun {int} {gnutls_openpgp_privkey_export} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char* @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) @var{key}: Holds the key. @var{format}: One of gnutls_openpgp_crt_fmt_t elements. -@var{password}: the password that will be used to encrypt the key. (unused for now) +@var{password}: the password that will be used to encrypt the key. @var{flags}: zero for future compatibility @@ -724,7 +870,7 @@ @subheading gnutls_openpgp_privkey_get_subkey_revoked_status @anchor{gnutls_openpgp_privkey_get_subkey_revoked_status} -@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: is the subkey index @@ -789,7 +935,7 @@ @subheading gnutls_openpgp_privkey_get_subkey_expiration_time @anchor{gnutls_openpgp_privkey_get_subkey_expiration_time} -@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: the subkey index @@ -956,7 +1102,7 @@ @subheading gnutls_openpgp_privkey_set_preferred_key_id @anchor{gnutls_openpgp_privkey_set_preferred_key_id} -@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) +@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) @var{key}: the structure that contains the OpenPGP public key. @var{keyid}: the selected keyid @@ -986,178 +1132,3 @@ @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun -@subheading gnutls_certificate_set_openpgp_key -@anchor{gnutls_certificate_set_openpgp_key} -@deftypefun {int} {gnutls_certificate_set_openpgp_key} (gnutls_certificate_credentials_t @var{res}, gnutls_openpgp_crt_t @var{crt}, gnutls_openpgp_privkey_t @var{pkey}) -@var{res}: is a @code{gnutls_certificate_credentials_t} structure. - -@var{pkey}: is an openpgp private key - -This function sets a certificate/private key pair in the -gnutls_certificate_credentials_t structure. This function may be -called more than once (in case multiple keys/certificates exist -for the server). - -With this function the subkeys of the certificate are not used. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_key_mem -@anchor{gnutls_certificate_set_openpgp_key_mem} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{res}: the destination context to save the data. - -@var{cert}: the datum that contains the public key. - -@var{key}: the datum that contains the secret key. - -@var{format}: the format of the keys - -This funtion is used to load OpenPGP keys into the GnuTLS credential -structure. The files should contain non encrypted keys. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_key_file -@anchor{gnutls_certificate_set_openpgp_key_file} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{res}: the destination context to save the data. - -@var{certfile}: the file that contains the public key. - -@var{keyfile}: the file that contains the secret key. - -@var{format}: the format of the keys - -This funtion is used to load OpenPGP keys into the GnuTLS -credentials structure. The files should only contain one key which -is not encrypted. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_key_mem2 -@anchor{gnutls_certificate_set_openpgp_key_mem2} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{res}: the destination context to save the data. - -@var{cert}: the datum that contains the public key. - -@var{key}: the datum that contains the secret key. - -@var{subkey_id}: a hex encoded subkey id - -@var{format}: the format of the keys - -This funtion is used to load OpenPGP keys into the GnuTLS -credentials structure. The files should only contain one key which -is not encrypted. - -The special keyword "auto" is also accepted as @code{subkey_id}. In that -case the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to -retrieve the subkey. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.4.0 -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_key_file2 -@anchor{gnutls_certificate_set_openpgp_key_file2} -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{res}: the destination context to save the data. - -@var{certfile}: the file that contains the public key. - -@var{keyfile}: the file that contains the secret key. - -@var{subkey_id}: a hex encoded subkey id - -@var{format}: the format of the keys - -This funtion is used to load OpenPGP keys into the GnuTLS credential -structure. The files should contain non encrypted keys. - -The special keyword "auto" is also accepted as @code{subkey_id}. In that -case the @code{gnutls_openpgp_crt_get_auth_subkey()} will be used to -retrieve the subkey. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.4.0 -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_keyring_file -@anchor{gnutls_certificate_set_openpgp_keyring_file} -@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_file} (gnutls_certificate_credentials_t @var{c}, const char * @var{file}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{c}: A certificate credentials structure - -@var{file}: filename of the keyring. - -@var{format}: format of keyring. - -The function is used to set keyrings that will be used internally -by various OpenPGP functions. For example to find a key when it -is needed for an operations. The keyring will also be used at the -verification functions. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_certificate_set_openpgp_keyring_mem -@anchor{gnutls_certificate_set_openpgp_keyring_mem} -@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const opaque * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) -@var{c}: A certificate credentials structure - -@var{data}: buffer with keyring data. - -@var{dlen}: length of data buffer. - -@var{format}: the format of the keyring - -The function is used to set keyrings that will be used internally -by various OpenPGP functions. For example to find a key when it -is needed for an operations. The keyring will also be used at the -verification functions. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_openpgp_set_recv_key_function -@anchor{gnutls_openpgp_set_recv_key_function} -@deftypefun {void} {gnutls_openpgp_set_recv_key_function} (gnutls_session_t @var{session}, gnutls_openpgp_recv_key_func @var{func}) -@var{session}: a TLS session - -@var{func}: the callback - -This funtion will set a key retrieval function for OpenPGP keys. This -callback is only useful in server side, and will be used if the peer -sent a key fingerprint instead of a full key. -@end deftypefun - -@subheading gnutls_openpgp_privkey_sign_hash -@anchor{gnutls_openpgp_privkey_sign_hash} -@deftypefun {int} {gnutls_openpgp_privkey_sign_hash} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) -@var{key}: Holds the key - -@var{hash}: holds the data to be signed - -@var{signature}: will contain newly allocated signature - -This function will sign the given hash using the private key. You -should use @code{gnutls_openpgp_privkey_set_subkey()} before calling this -function to set the subkey to use. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - diff -Nru gnutls26-2.8.6/lib/openpgp/pgp.c gnutls26-2.4.1/lib/openpgp/pgp.c --- gnutls26-2.8.6/lib/openpgp/pgp.c 2009-08-20 18:04:26.000000000 +0100 +++ gnutls26-2.4.1/lib/openpgp/pgp.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Timo Schulz, Nikos Mavrogiannopoulos * @@ -47,7 +47,7 @@ *key = gnutls_calloc (1, sizeof (gnutls_openpgp_crt_int)); if (*key) - return 0; /* success */ + return 0; /* success */ return GNUTLS_E_MEMORY_ERROR; } @@ -95,20 +95,12 @@ if (data->data == NULL || data->size == 0) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } if (format == GNUTLS_OPENPGP_FMT_RAW) - { - rc = cdk_kbnode_read_from_mem (&key->knode, data->data, data->size); - if (rc) - { - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } - } + rc = cdk_kbnode_read_from_mem (&key->knode, data->data, data->size); else { rc = cdk_stream_tmp_from_mem (data->data, data->size, &inp); @@ -138,7 +130,7 @@ pkt = cdk_kbnode_find_packet (key->knode, CDK_PKT_PUBLIC_KEY); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } @@ -147,11 +139,11 @@ /* internal version of export */ -int -_gnutls_openpgp_export (cdk_kbnode_t node, - gnutls_openpgp_crt_fmt_t format, - void *output_data, - size_t * output_data_size, int private) +int _gnutls_openpgp_export (cdk_kbnode_t node, + gnutls_openpgp_crt_fmt_t format, + void *output_data, + size_t * output_data_size, + int private) { size_t input_data_size = *output_data_size; size_t calc_size; @@ -169,24 +161,22 @@ */ if (!output_data) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_SHORT_MEMORY_BUFFER; } if (format == GNUTLS_OPENPGP_FMT_BASE64) { - unsigned char *in = gnutls_calloc (1, *output_data_size); + unsigned char *in = cdk_calloc (1, *output_data_size); memcpy (in, output_data, *output_data_size); /* Calculate the size of the encoded data and check if the provided buffer is large enough. */ rc = cdk_armor_encode_buffer (in, *output_data_size, - NULL, 0, &calc_size, - private ? CDK_ARMOR_SECKEY : - CDK_ARMOR_PUBKEY); + NULL, 0, &calc_size, private?CDK_ARMOR_SECKEY:CDK_ARMOR_PUBKEY); if (rc || calc_size > input_data_size) { - gnutls_free (in); + cdk_free (in); *output_data_size = calc_size; gnutls_assert (); return GNUTLS_E_SHORT_MEMORY_BUFFER; @@ -194,17 +184,9 @@ rc = cdk_armor_encode_buffer (in, *output_data_size, output_data, input_data_size, &calc_size, - private ? CDK_ARMOR_SECKEY : - CDK_ARMOR_PUBKEY); - gnutls_free (in); + private?CDK_ARMOR_SECKEY:CDK_ARMOR_PUBKEY); + cdk_free (in); *output_data_size = calc_size; - - if (rc) - { - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } } return 0; @@ -230,7 +212,7 @@ gnutls_openpgp_crt_fmt_t format, void *output_data, size_t * output_data_size) { - return _gnutls_openpgp_export (key->knode, format, output_data, + return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size, 0); } @@ -275,7 +257,7 @@ return 0; } -static int +int _gnutls_openpgp_count_key_names (gnutls_openpgp_crt_t key) { cdk_kbnode_t p, ctx; @@ -337,12 +319,12 @@ while ((p = cdk_kbnode_walk (key->knode, &ctx, 0))) { pkt = cdk_kbnode_get_packet (p); - if (pkt->pkttype == CDK_PKT_USER_ID) - { - if (pos == idx) - break; - pos++; - } + if (pkt->pkttype == CDK_PKT_USER_ID) + { + if (pos == idx) + break; + pos++; + } } if (!pkt) @@ -360,7 +342,7 @@ } memcpy (buf, uid->name, uid->len); - buf[uid->len] = '\0'; /* make sure it's a string */ + buf[uid->len] = '\0'; /* make sure it's a string */ *sizeof_buf = uid->len + 1; if (uid->is_revoked) @@ -393,7 +375,7 @@ if (!key) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_PK_UNKNOWN; } @@ -403,7 +385,7 @@ { if (bits) *bits = cdk_pk_get_nbits (pkt->pkt.public_key); - algo = _gnutls_openpgp_get_algo (pkt->pkt.public_key->pubkey_algo); + algo = _gnutls_openpgp_get_algo(pkt->pkt.public_key->pubkey_algo); } return algo; @@ -520,8 +502,8 @@ return GNUTLS_E_OPENPGP_GETKEY_FAILED; cdk_pk_get_keyid (pkt->pkt.public_key, kid); - _gnutls_write_uint32 (kid[0], keyid); - _gnutls_write_uint32 (kid[1], keyid + 4); + _gnutls_write_uint32( kid[0], keyid); + _gnutls_write_uint32( kid[1], keyid+4); return 0; } @@ -552,14 +534,13 @@ if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; - if (pkt->pkt.public_key->is_revoked != 0) - return 1; + if (pkt->pkt.public_key->is_revoked != 0) return 1; return 0; } /** * gnutls_openpgp_crt_check_hostname - compare hostname with the key's hostname - * @key: should contain a #gnutls_openpgp_crt_t structure + * @key: should contain an #gnutls_openpgp_crt_t structure * @hostname: A null terminated string that contains a DNS name * * This function will check if the given key's owner matches the @@ -582,39 +563,34 @@ { dnsnamesize = sizeof (dnsname); ret = gnutls_openpgp_crt_get_name (key, i, dnsname, &dnsnamesize); - + if (ret == 0) - { - /* Length returned by gnutls_openpgp_crt_get_name includes - the terminating zero. */ - dnsnamesize--; - - if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) - return 1; - } + { + if (_gnutls_hostname_compare (dnsname, hostname)) + return 1; + } } /* not found a matching name */ return 0; } -unsigned int -_gnutls_get_pgp_key_usage (unsigned int cdk_usage) +unsigned int _gnutls_get_pgp_key_usage(unsigned int cdk_usage) { - unsigned int usage = 0; +unsigned int usage = 0; - if (cdk_usage & CDK_KEY_USG_CERT_SIGN) - usage |= GNUTLS_KEY_KEY_CERT_SIGN; - if (cdk_usage & CDK_KEY_USG_DATA_SIGN) - usage |= GNUTLS_KEY_DIGITAL_SIGNATURE; - if (cdk_usage & CDK_KEY_USG_COMM_ENCR) - usage |= GNUTLS_KEY_KEY_ENCIPHERMENT; - if (cdk_usage & CDK_KEY_USG_STORAGE_ENCR) - usage |= GNUTLS_KEY_DATA_ENCIPHERMENT; - if (cdk_usage & CDK_KEY_USG_AUTH) - usage |= GNUTLS_KEY_KEY_AGREEMENT; + if (cdk_usage & CDK_KEY_USG_CERT_SIGN) + usage |= GNUTLS_KEY_KEY_CERT_SIGN; + if (cdk_usage & CDK_KEY_USG_DATA_SIGN) + usage |= GNUTLS_KEY_DIGITAL_SIGNATURE; + if (cdk_usage & CDK_KEY_USG_COMM_ENCR) + usage |= GNUTLS_KEY_KEY_ENCIPHERMENT; + if (cdk_usage & CDK_KEY_USG_STORAGE_ENCR) + usage |= GNUTLS_KEY_DATA_ENCIPHERMENT; + if (cdk_usage & CDK_KEY_USG_AUTH) + usage |= GNUTLS_KEY_KEY_AGREEMENT; - return usage; + return usage; } /** @@ -644,7 +620,7 @@ if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; - *key_usage = _gnutls_get_pgp_key_usage (pkt->pkt.public_key->pubkey_usage); + *key_usage = _gnutls_get_pgp_key_usage(pkt->pkt.public_key->pubkey_usage); return 0; } @@ -686,8 +662,7 @@ } /* returns the subkey with the given index */ -static cdk_packet_t -_get_public_subkey (gnutls_openpgp_crt_t key, unsigned int indx) +static cdk_packet_t _get_public_subkey(gnutls_openpgp_crt_t key, unsigned int indx) { cdk_kbnode_t p, ctx; cdk_packet_t pkt; @@ -698,7 +673,7 @@ gnutls_assert (); return NULL; } - + ctx = NULL; subkeys = 0; while ((p = cdk_kbnode_walk (key->knode, &ctx, 0))) @@ -716,9 +691,8 @@ * pkt->pkt.secret_key; * pkt->pkt.public_key; */ -cdk_packet_t -_gnutls_openpgp_find_key (cdk_kbnode_t knode, uint32_t keyid[2], - unsigned int priv) +cdk_packet_t _gnutls_openpgp_find_key( cdk_kbnode_t knode, uint32_t keyid[2], + unsigned int priv) { cdk_kbnode_t p, ctx; cdk_packet_t pkt; @@ -729,28 +703,23 @@ { pkt = cdk_kbnode_get_packet (p); - if ((priv == 0 - && (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY - || pkt->pkttype == CDK_PKT_PUBLIC_KEY)) || (priv != 0 - && (pkt->pkttype == - CDK_PKT_SECRET_SUBKEY - || pkt->pkttype - == - CDK_PKT_SECRET_KEY))) - { - if (priv == 0) - cdk_pk_get_keyid (pkt->pkt.public_key, local_keyid); - else - cdk_pk_get_keyid (pkt->pkt.secret_key->pk, local_keyid); - - if (local_keyid[0] == keyid[0] && local_keyid[1] == keyid[1]) - { - return pkt; - } - } + if ( (priv == 0 && (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY || pkt->pkttype == CDK_PKT_PUBLIC_KEY)) || \ + (priv != 0 && (pkt->pkttype == CDK_PKT_SECRET_SUBKEY || pkt->pkttype == CDK_PKT_SECRET_KEY))) + { + if (priv == 0) + cdk_pk_get_keyid (pkt->pkt.public_key, local_keyid); + else + cdk_pk_get_keyid (pkt->pkt.secret_key->pk, local_keyid); + + if (local_keyid[0] == keyid[0] && \ + local_keyid[1] == keyid[1]) + { + return pkt; + } + } } - gnutls_assert (); + gnutls_assert(); return NULL; } @@ -759,13 +728,12 @@ * pkt->pkt.secret_key; * pkt->pkt.public_key; */ -int -_gnutls_openpgp_find_subkey_idx (cdk_kbnode_t knode, uint32_t keyid[2], - unsigned int priv) +int _gnutls_openpgp_find_subkey_idx( cdk_kbnode_t knode, uint32_t keyid[2], + unsigned int priv) { cdk_kbnode_t p, ctx; cdk_packet_t pkt; - int i = 0; + int i=0; uint32_t local_keyid[2]; ctx = NULL; @@ -773,23 +741,24 @@ { pkt = cdk_kbnode_get_packet (p); - if ((priv == 0 && (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY)) || - (priv != 0 && (pkt->pkttype == CDK_PKT_SECRET_SUBKEY))) - { - if (priv == 0) - cdk_pk_get_keyid (pkt->pkt.public_key, local_keyid); - else - cdk_pk_get_keyid (pkt->pkt.secret_key->pk, local_keyid); - - if (local_keyid[0] == keyid[0] && local_keyid[1] == keyid[1]) - { - return i; - } - i++; - } + if ( (priv == 0 && (pkt->pkttype == CDK_PKT_PUBLIC_SUBKEY)) || \ + (priv != 0 && (pkt->pkttype == CDK_PKT_SECRET_SUBKEY))) + { + if (priv == 0) + cdk_pk_get_keyid (pkt->pkt.public_key, local_keyid); + else + cdk_pk_get_keyid (pkt->pkt.secret_key->pk, local_keyid); + + if (local_keyid[0] == keyid[0] && \ + local_keyid[1] == keyid[1]) + { + return i; + } + i++; + } } - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_SUBKEY_ERROR; } @@ -817,12 +786,11 @@ return GNUTLS_E_INVALID_REQUEST; } - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; - if (pkt->pkt.public_key->is_revoked != 0) - return 1; + if (pkt->pkt.public_key->is_revoked != 0) return 1; return 0; } @@ -846,26 +814,25 @@ **/ gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, - unsigned int idx, - unsigned int *bits) + unsigned int idx, unsigned int *bits) { cdk_packet_t pkt; int algo; if (!key) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_PK_UNKNOWN; } - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); algo = 0; if (pkt) { if (bits) *bits = cdk_pk_get_nbits (pkt->pkt.public_key); - algo = _gnutls_openpgp_get_algo (pkt->pkt.public_key->pubkey_algo); + algo = _gnutls_openpgp_get_algo(pkt->pkt.public_key->pubkey_algo); } return algo; @@ -892,7 +859,7 @@ if (!key) return (time_t) - 1; - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (pkt) timestamp = pkt->pkt.public_key->timestamp; else @@ -924,7 +891,7 @@ if (!key) return (time_t) - 1; - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (pkt) expiredate = pkt->pkt.public_key->expiredate; else @@ -957,13 +924,13 @@ return GNUTLS_E_INVALID_REQUEST; } - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; cdk_pk_get_keyid (pkt->pkt.public_key, kid); - _gnutls_write_uint32 (kid[0], keyid); - _gnutls_write_uint32 (kid[1], keyid + 4); + _gnutls_write_uint32( kid[0], keyid); + _gnutls_write_uint32( kid[1], keyid+4); return 0; } @@ -998,7 +965,7 @@ *fprlen = 0; - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; @@ -1037,12 +1004,12 @@ return GNUTLS_E_INVALID_REQUEST; } - KEYID_IMPORT (kid, keyid); - ret = _gnutls_openpgp_find_subkey_idx (key->knode, kid, 0); + KEYID_IMPORT( kid, keyid); + ret = _gnutls_openpgp_find_subkey_idx( key->knode, kid, 0); if (ret < 0) { - gnutls_assert (); + gnutls_assert(); } return ret; @@ -1077,94 +1044,80 @@ return GNUTLS_E_INVALID_REQUEST; } - pkt = _get_public_subkey (key, idx); + pkt = _get_public_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_SUBKEY_ERROR; - *key_usage = _gnutls_get_pgp_key_usage (pkt->pkt.public_key->pubkey_usage); + *key_usage = _gnutls_get_pgp_key_usage(pkt->pkt.public_key->pubkey_usage); return 0; } -int -_gnutls_read_pgp_mpi (cdk_packet_t pkt, unsigned int priv, size_t idx, - bigint_t * m) +int _gnutls_read_pgp_mpi( cdk_packet_t pkt, unsigned int priv, size_t idx, mpi_t* m) { - size_t buf_size = 512; - opaque *buf = gnutls_malloc (buf_size); - int err; - unsigned int max_pub_params = 0; +size_t buf_size = 512; +opaque * buf = gnutls_malloc( buf_size); +int err; +unsigned int max_pub_params = 0; - if (priv != 0) - max_pub_params = cdk_pk_get_npkey (pkt->pkt.secret_key->pk->pubkey_algo); + if (priv !=0) + max_pub_params = cdk_pk_get_npkey(pkt->pkt.secret_key->pk->pubkey_algo); - if (buf == NULL) + if (buf == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_MEMORY_ERROR; } /* FIXME: Note that opencdk doesn't like the buf to be NULL. */ if (priv == 0) - err = - cdk_pk_get_mpi (pkt->pkt.public_key, idx, buf, buf_size, &buf_size, - NULL); - else + err = cdk_pk_get_mpi (pkt->pkt.public_key, idx, buf, buf_size, &buf_size, NULL); + else { if (idx < max_pub_params) - err = - cdk_pk_get_mpi (pkt->pkt.secret_key->pk, idx, buf, buf_size, - &buf_size, NULL); + err = cdk_pk_get_mpi (pkt->pkt.secret_key->pk, idx, buf, buf_size, &buf_size, NULL); else - { - err = - cdk_sk_get_mpi (pkt->pkt.secret_key, idx - max_pub_params, buf, - buf_size, &buf_size, NULL); - } + { + err = cdk_sk_get_mpi (pkt->pkt.secret_key, idx-max_pub_params, buf, buf_size, &buf_size, NULL); + } } - - if (err == CDK_Too_Short) + + if (err == CDK_Too_Short) { - buf = gnutls_realloc_fast (buf, buf_size); - if (buf == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } + buf = gnutls_realloc_fast( buf, buf_size); + if (buf == NULL) + { + gnutls_assert(); + return GNUTLS_E_MEMORY_ERROR; + } if (priv == 0) - err = - cdk_pk_get_mpi (pkt->pkt.public_key, idx, buf, buf_size, &buf_size, - NULL); + err = cdk_pk_get_mpi (pkt->pkt.public_key, idx, buf, buf_size, &buf_size, NULL); else - { - if (idx < max_pub_params) - err = - cdk_pk_get_mpi (pkt->pkt.secret_key->pk, idx, buf, buf_size, - &buf_size, NULL); - else - { - err = - cdk_sk_get_mpi (pkt->pkt.secret_key, idx - max_pub_params, - buf, buf_size, &buf_size, NULL); - } - } + { + if (idx < max_pub_params) + err = cdk_pk_get_mpi (pkt->pkt.secret_key->pk, idx, buf, buf_size, &buf_size, NULL); + else + { + err = cdk_sk_get_mpi (pkt->pkt.secret_key, idx-max_pub_params, buf, buf_size, &buf_size, NULL); + } + } } - - if (err != CDK_Success) + + if (err != CDK_Success) { - gnutls_assert (); - gnutls_free (buf); - return _gnutls_map_cdk_rc (err); - } - - err = _gnutls_mpi_scan (m, buf, buf_size); - gnutls_free (buf); - + gnutls_assert(); + gnutls_free( buf); + return _gnutls_map_cdk_rc( err); + } + + err = _gnutls_mpi_scan_pgp (m, buf, &buf_size); + gnutls_free( buf); + if (err < 0) { - gnutls_assert (); + gnutls_assert(); return err; } @@ -1175,9 +1128,8 @@ /* Extracts DSA and RSA parameters from a certificate. */ int -_gnutls_openpgp_crt_get_mpis (gnutls_openpgp_crt_t cert, - uint32_t * keyid /* [2] */ , - bigint_t * params, int *params_size) +_gnutls_openpgp_crt_get_mpis (gnutls_openpgp_crt_t cert, uint32_t *keyid /* [2] */, + mpi_t * params, int *params_size) { int result, i; int pk_algorithm, local_params; @@ -1186,54 +1138,54 @@ if (keyid == NULL) pkt = cdk_kbnode_find_packet (cert->knode, CDK_PKT_PUBLIC_KEY); else - pkt = _gnutls_openpgp_find_key (cert->knode, keyid, 0); + pkt = _gnutls_openpgp_find_key( cert->knode, keyid, 0); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = _gnutls_openpgp_get_algo (pkt->pkt.public_key->pubkey_algo); + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.public_key->pubkey_algo); switch (pk_algorithm) { - case GNUTLS_PK_RSA: - local_params = RSA_PUBLIC_PARAMS; - break; - case GNUTLS_PK_DSA: - local_params = DSA_PUBLIC_PARAMS; - break; - default: - gnutls_assert (); - return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; + case GNUTLS_PK_RSA: + local_params = RSA_PUBLIC_PARAMS; + break; + case GNUTLS_PK_DSA: + local_params = DSA_PUBLIC_PARAMS; + break; + default: + gnutls_assert (); + return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; } - if (*params_size < local_params) + if (*params_size < local_params) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_INTERNAL_ERROR; } - + *params_size = local_params; for (i = 0; i < local_params; i++) { - result = _gnutls_read_pgp_mpi (pkt, 0, i, ¶ms[i]); - if (result < 0) - { - gnutls_assert (); - goto error; - } + result = _gnutls_read_pgp_mpi( pkt, 0, i, ¶ms[i]); + if (result < 0) + { + gnutls_assert(); + goto error; + } } return 0; - + error: { int j; - for (j = 0; j < i; j++) - _gnutls_mpi_release (¶ms[j]); + for (j=0;jknode, kid32, 0); + + KEYID_IMPORT(kid32, keyid); + + pkt = _gnutls_openpgp_find_key( crt->knode, kid32, 0); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = _gnutls_openpgp_get_algo (pkt->pkt.public_key->pubkey_algo); - + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.public_key->pubkey_algo); + if (pk_algorithm != GNUTLS_PK_RSA) { gnutls_assert (); @@ -1281,14 +1233,14 @@ return ret; } - ret = _gnutls_mpi_dprint (params[0], m); + ret = _gnutls_mpi_dprint (m, params[0]); if (ret < 0) { gnutls_assert (); goto cleanup; } - ret = _gnutls_mpi_dprint (params[1], e); + ret = _gnutls_mpi_dprint (e, params[1]); if (ret < 0) { gnutls_assert (); @@ -1306,15 +1258,15 @@ return ret; } -static int -_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, - gnutls_datum_t * p, gnutls_datum_t * q, - gnutls_datum_t * g, gnutls_datum_t * y) +static +int _get_pk_dsa_raw(gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y) { int pk_algorithm, ret, i; cdk_packet_t pkt; uint32_t kid32[2]; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; int params_size = MAX_PUBLIC_PARAMS_SIZE; if (crt == NULL) @@ -1322,25 +1274,25 @@ gnutls_assert (); return GNUTLS_E_INVALID_REQUEST; } - - KEYID_IMPORT (kid32, keyid); - - pkt = _gnutls_openpgp_find_key (crt->knode, kid32, 0); + + KEYID_IMPORT(kid32, keyid); + + pkt = _gnutls_openpgp_find_key( crt->knode, kid32, 0); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = _gnutls_openpgp_get_algo (pkt->pkt.public_key->pubkey_algo); - + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.public_key->pubkey_algo); + if (pk_algorithm != GNUTLS_PK_DSA) { gnutls_assert (); return GNUTLS_E_INVALID_REQUEST; } - ret = _gnutls_openpgp_crt_get_mpis (crt, kid32, params, ¶ms_size); + ret = _gnutls_openpgp_crt_get_mpis(crt, kid32, params, ¶ms_size); if (ret < 0) { gnutls_assert (); @@ -1348,7 +1300,7 @@ } /* P */ - ret = _gnutls_mpi_dprint (params[0], p); + ret = _gnutls_mpi_dprint (p, params[0]); if (ret < 0) { gnutls_assert (); @@ -1356,7 +1308,7 @@ } /* Q */ - ret = _gnutls_mpi_dprint (params[1], q); + ret = _gnutls_mpi_dprint (q, params[1]); if (ret < 0) { gnutls_assert (); @@ -1366,7 +1318,7 @@ /* G */ - ret = _gnutls_mpi_dprint (params[2], g); + ret = _gnutls_mpi_dprint (g, params[2]); if (ret < 0) { gnutls_assert (); @@ -1377,7 +1329,7 @@ /* Y */ - ret = _gnutls_mpi_dprint (params[3], y); + ret = _gnutls_mpi_dprint (y, params[3]); if (ret < 0) { gnutls_assert (); @@ -1413,20 +1365,20 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t * m, gnutls_datum_t * e) +gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, + gnutls_datum_t * m, gnutls_datum_t * e) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_crt_get_key_id (crt, keyid); + ret = gnutls_openpgp_crt_get_key_id( crt, keyid); if (ret < 0) { gnutls_assert (); return ret; } - - return _get_pk_rsa_raw (crt, keyid, m, e); + + return _get_pk_rsa_raw( crt, keyid, m, e); } /** @@ -1446,21 +1398,21 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, - gnutls_datum_t * p, gnutls_datum_t * q, - gnutls_datum_t * g, gnutls_datum_t * y) +gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_crt_get_key_id (crt, keyid); + ret = gnutls_openpgp_crt_get_key_id( crt, keyid); if (ret < 0) { gnutls_assert (); return ret; } - return _get_pk_dsa_raw (crt, keyid, p, q, g, y); + return _get_pk_dsa_raw( crt, keyid, p, q, g, y); } /** @@ -1479,22 +1431,20 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, - unsigned int idx, - gnutls_datum_t * m, - gnutls_datum_t * e) +gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, unsigned int idx, + gnutls_datum_t * m, gnutls_datum_t * e) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_crt_get_subkey_id (crt, idx, keyid); + ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, keyid); if (ret < 0) { gnutls_assert (); return ret; } - return _get_pk_rsa_raw (crt, keyid, m, e); + return _get_pk_rsa_raw( crt, keyid, m, e); } /** @@ -1525,14 +1475,14 @@ gnutls_openpgp_keyid_t keyid; int ret; - ret = gnutls_openpgp_crt_get_subkey_id (crt, idx, keyid); + ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, keyid); if (ret < 0) { gnutls_assert (); return ret; } - return _get_pk_dsa_raw (crt, keyid, p, q, g, y); + return _get_pk_dsa_raw( crt, keyid, p, q, g, y); } /** @@ -1555,7 +1505,7 @@ return GNUTLS_E_INVALID_REQUEST; } - memcpy (keyid, key->preferred_keyid, sizeof (gnutls_openpgp_keyid_t)); + memcpy( keyid, key->preferred_keyid, sizeof(gnutls_openpgp_keyid_t)); return 0; } @@ -1568,14 +1518,12 @@ * This allows setting a preferred key id for the given certificate. * This key will be used by functions that involve key handling. * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. **/ int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid) { - int ret; +int ret; if (!key) { @@ -1584,23 +1532,23 @@ } /* check if the id is valid */ - ret = gnutls_openpgp_crt_get_subkey_idx (key, keyid); + ret = gnutls_openpgp_crt_get_subkey_idx ( key, keyid); if (ret < 0) { - _gnutls_x509_log ("the requested subkey does not exist\n"); - gnutls_assert (); + _gnutls_x509_log("the requested subkey does not exist\n"); + gnutls_assert(); return ret; } key->preferred_set = 1; - memcpy (key->preferred_keyid, keyid, sizeof (gnutls_openpgp_keyid_t)); + memcpy( key->preferred_keyid, keyid, sizeof(gnutls_openpgp_keyid_t)); return 0; } /** * gnutls_openpgp_crt_get_auth_subkey - Gets the keyID of an authentication subkey - * @crt: the structure that contains the OpenPGP public key. + * @key: the structure that contains the OpenPGP public key. * @keyid: the struct to save the keyid. * @flag: Non zero indicates that a valid subkey is always returned. * @@ -1608,72 +1556,66 @@ * for authentication. If flag is non zero and no authentication * subkey exists, then a valid subkey will be returned even if it is * not marked for authentication. - * Returns the 64-bit keyID of the first valid OpenPGP subkey marked - * for authentication. If flag is non zero and no authentication - * subkey exists, then a valid subkey will be returned even if it is - * not marked for authentication. * * Returns: %GNUTLS_E_SUCCESS on success, or an error code. **/ -int -gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, - gnutls_openpgp_keyid_t keyid, - unsigned int flag) +int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, + gnutls_openpgp_keyid_t keyid, + unsigned int flag) { int ret, subkeys, i; unsigned int usage; unsigned int keyid_init = 0; - subkeys = gnutls_openpgp_crt_get_subkey_count (crt); + subkeys = gnutls_openpgp_crt_get_subkey_count( crt); if (subkeys <= 0) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_SUBKEY_ERROR; } /* Try to find a subkey with the authentication flag set. * if none exists use the last one found - */ - for (i = 0; i < subkeys; i++) + */ + for (i=0;idata == NULL || data->size == 0) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - + if (format == GNUTLS_OPENPGP_FMT_RAW) - { - rc = cdk_kbnode_read_from_mem (&key->knode, data->data, data->size); - if (rc != 0) - { - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } - } + rc = cdk_kbnode_read_from_mem (&key->knode, data->data, data->size); else { rc = cdk_stream_tmp_from_mem (data->data, data->size, &inp); - if (rc != 0) + if (rc) { rc = _gnutls_map_cdk_rc (rc); gnutls_assert (); return rc; - } - + } if (cdk_armor_filter_use (inp)) - { - rc = cdk_stream_set_armor_flag (inp, 0); - if (rc != 0) - { - rc = _gnutls_map_cdk_rc (rc); - cdk_stream_close (inp); - gnutls_assert (); - return rc; - } - } - - rc = cdk_keydb_get_keyblock (inp, &key->knode); + rc = cdk_stream_set_armor_flag (inp, 0); + if (!rc) + rc = cdk_keydb_get_keyblock (inp, &key->knode); cdk_stream_close (inp); - - if (rc != 0) + if (rc) { rc = _gnutls_map_cdk_rc (rc); gnutls_assert (); @@ -150,10 +131,10 @@ pkt = cdk_kbnode_find_packet (key->knode, CDK_PKT_SECRET_KEY); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - + return 0; } @@ -161,7 +142,7 @@ * gnutls_openpgp_privkey_export - export a RAW or BASE64 encoded key * @key: Holds the key. * @format: One of gnutls_openpgp_crt_fmt_t elements. - * @password: the password that will be used to encrypt the key. (unused for now) + * @password: the password that will be used to encrypt the key. * @flags: zero for future compatibility * @output_data: will contain the key base64 encoded or raw * @output_data_size: holds the size of output_data (and will be @@ -177,13 +158,12 @@ **/ int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, - gnutls_openpgp_crt_fmt_t format, - const char *password, unsigned int flags, - void *output_data, size_t * output_data_size) + gnutls_openpgp_crt_fmt_t format, + const char* password, unsigned int flags, + void *output_data, size_t * output_data_size) { /* FIXME for now we do not export encrypted keys */ - return _gnutls_openpgp_export (key->knode, format, output_data, - output_data_size, 1); + return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size, 1); } @@ -213,38 +193,36 @@ if (!key) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_PK_UNKNOWN; } - + algo = 0; pkt = cdk_kbnode_find_packet (key->knode, CDK_PKT_SECRET_KEY); if (pkt) { if (bits) *bits = cdk_pk_get_nbits (pkt->pkt.secret_key->pk); - algo = _gnutls_openpgp_get_algo (pkt->pkt.secret_key->pk->pubkey_algo); + algo = _gnutls_openpgp_get_algo(pkt->pkt.secret_key->pk->pubkey_algo); } - + return algo; } -int -_gnutls_openpgp_get_algo (int cdk_algo) +int _gnutls_openpgp_get_algo( int cdk_algo) { - int algo; +int algo; - if (is_RSA (cdk_algo)) - algo = GNUTLS_PK_RSA; - else if (is_DSA (cdk_algo)) - algo = GNUTLS_PK_DSA; - else - { - _gnutls_x509_log ("Unknown OpenPGP algorithm %d\n", cdk_algo); - algo = GNUTLS_PK_UNKNOWN; - } - - return algo; + if (is_RSA (cdk_algo)) + algo = GNUTLS_PK_RSA; + else if (is_DSA (cdk_algo)) + algo = GNUTLS_PK_DSA; + else { + _gnutls_x509_log("Unknown OpenPGP algorithm %d\n", cdk_algo); + algo = GNUTLS_PK_UNKNOWN; + } + + return algo; } /** @@ -273,8 +251,7 @@ if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; - if (pkt->pkt.secret_key->is_revoked != 0) - return 1; + if (pkt->pkt.secret_key->is_revoked != 0) return 1; return 0; } @@ -293,7 +270,7 @@ **/ int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, - void *fpr, size_t * fprlen) + void *fpr, size_t * fprlen) { cdk_packet_t pkt; cdk_pkt_pubkey_t pk = NULL; @@ -307,15 +284,15 @@ *fprlen = 0; pkt = cdk_kbnode_find_packet (key->knode, CDK_PKT_SECRET_KEY); - if (!pkt) + if (!pkt) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } pk = pkt->pkt.secret_key->pk; *fprlen = 20; - + if (is_RSA (pk->pubkey_algo) && pk->version < 4) *fprlen = 16; @@ -353,8 +330,8 @@ return GNUTLS_E_OPENPGP_GETKEY_FAILED; cdk_sk_get_keyid (pkt->pkt.secret_key, kid); - _gnutls_write_uint32 (kid[0], keyid); - _gnutls_write_uint32 (kid[1], keyid + 4); + _gnutls_write_uint32( kid[0], keyid); + _gnutls_write_uint32( kid[1], keyid+4); return 0; } @@ -397,12 +374,11 @@ } /* returns the subkey with the given index */ -static cdk_packet_t -_get_secret_subkey (gnutls_openpgp_privkey_t key, unsigned int indx) +static cdk_packet_t _get_secret_subkey(gnutls_openpgp_privkey_t key, unsigned int indx) { cdk_kbnode_t p, ctx; cdk_packet_t pkt; - unsigned int subkeys; + int subkeys; ctx = NULL; subkeys = 0; @@ -429,8 +405,7 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t - key, unsigned int idx) +gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx) { cdk_packet_t pkt; @@ -440,12 +415,11 @@ return GNUTLS_E_INVALID_REQUEST; } - pkt = _get_secret_subkey (key, idx); + pkt = _get_secret_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; - if (pkt->pkt.secret_key->is_revoked != 0) - return 1; + if (pkt->pkt.secret_key->is_revoked != 0) return 1; return 0; } @@ -469,19 +443,18 @@ **/ gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, - unsigned int idx, - unsigned int *bits) + unsigned int idx, unsigned int *bits) { cdk_packet_t pkt; int algo; if (!key) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_PK_UNKNOWN; } - - pkt = _get_secret_subkey (key, idx); + + pkt = _get_secret_subkey( key, idx); algo = 0; if (pkt) @@ -524,12 +497,12 @@ return GNUTLS_E_INVALID_REQUEST; } - KEYID_IMPORT (kid, keyid); - ret = _gnutls_openpgp_find_subkey_idx (key->knode, kid, 1); + KEYID_IMPORT( kid, keyid); + ret = _gnutls_openpgp_find_subkey_idx( key->knode, kid, 1); if (ret < 0) { - gnutls_assert (); + gnutls_assert(); } return ret; @@ -556,7 +529,7 @@ if (!key) return (time_t) - 1; - pkt = _get_secret_subkey (key, idx); + pkt = _get_secret_subkey( key, idx); if (pkt) timestamp = pkt->pkt.secret_key->pk->timestamp; else @@ -578,8 +551,8 @@ * Since: 2.4.0 **/ time_t -gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t - key, unsigned int idx) +gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, + unsigned int idx) { cdk_packet_t pkt; time_t expiredate; @@ -587,7 +560,7 @@ if (!key) return (time_t) - 1; - pkt = _get_secret_subkey (key, idx); + pkt = _get_secret_subkey( key, idx); if (pkt) expiredate = pkt->pkt.secret_key->expiredate; else @@ -622,13 +595,13 @@ return GNUTLS_E_INVALID_REQUEST; } - pkt = _get_secret_subkey (key, idx); + pkt = _get_secret_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; cdk_sk_get_keyid (pkt->pkt.secret_key, kid); - _gnutls_write_uint32 (kid[0], keyid); - _gnutls_write_uint32 (kid[1], keyid + 4); + _gnutls_write_uint32( kid[0], keyid); + _gnutls_write_uint32( kid[1], keyid+4); return 0; } @@ -663,7 +636,7 @@ *fprlen = 0; - pkt = _get_secret_subkey (key, idx); + pkt = _get_secret_subkey( key, idx); if (!pkt) return GNUTLS_E_OPENPGP_GETKEY_FAILED; @@ -682,9 +655,8 @@ /* Extracts DSA and RSA parameters from a certificate. */ int -_gnutls_openpgp_privkey_get_mpis (gnutls_openpgp_privkey_t pkey, - uint32_t * keyid /*[2] */ , - bigint_t * params, int *params_size) +_gnutls_openpgp_privkey_get_mpis (gnutls_openpgp_privkey_t pkey, uint32_t *keyid /*[2]*/, + mpi_t * params, int *params_size) { int result, i; int pk_algorithm, local_params; @@ -693,56 +665,55 @@ if (keyid == NULL) pkt = cdk_kbnode_find_packet (pkey->knode, CDK_PKT_SECRET_KEY); else - pkt = _gnutls_openpgp_find_key (pkey->knode, keyid, 1); - + pkt = _gnutls_openpgp_find_key( pkey->knode, keyid, 1); + if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = - _gnutls_openpgp_get_algo (pkt->pkt.secret_key->pk->pubkey_algo); + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.secret_key->pk->pubkey_algo); switch (pk_algorithm) { - case GNUTLS_PK_RSA: - local_params = RSA_PRIVATE_PARAMS; - break; - case GNUTLS_PK_DSA: - local_params = DSA_PRIVATE_PARAMS; - break; - default: - gnutls_assert (); - return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; + case GNUTLS_PK_RSA: + local_params = RSA_PRIVATE_PARAMS; + break; + case GNUTLS_PK_DSA: + local_params = DSA_PRIVATE_PARAMS; + break; + default: + gnutls_assert (); + return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE; } - if (*params_size < local_params) + if (*params_size < local_params) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_INTERNAL_ERROR; } - + *params_size = local_params; - + for (i = 0; i < local_params; i++) { - result = _gnutls_read_pgp_mpi (pkt, 1, i, ¶ms[i]); - if (result < 0) - { - gnutls_assert (); - goto error; - } + result = _gnutls_read_pgp_mpi( pkt, 1, i, ¶ms[i]); + if (result < 0) + { + gnutls_assert(); + goto error; + } } return 0; - + error: { int j; - for (j = 0; j < i; j++) - _gnutls_mpi_release (¶ms[j]); + for (j=0;jknode, kid32, 1); + + KEYID_IMPORT(kid32, keyid); + + pkt = _gnutls_openpgp_find_key( pkey->knode, kid32, 1); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = - _gnutls_openpgp_get_algo (pkt->pkt.secret_key->pk->pubkey_algo); - + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.secret_key->pk->pubkey_algo); + if (pk_algorithm != GNUTLS_PK_RSA) { gnutls_assert (); @@ -793,14 +763,14 @@ return ret; } - ret = _gnutls_mpi_dprint (params[0], m); + ret = _gnutls_mpi_dprint (m, params[0]); if (ret < 0) { gnutls_assert (); goto cleanup; } - ret = _gnutls_mpi_dprint (params[1], e); + ret = _gnutls_mpi_dprint (e, params[1]); if (ret < 0) { gnutls_assert (); @@ -808,7 +778,7 @@ goto cleanup; } - ret = _gnutls_mpi_dprint (params[2], d); + ret = _gnutls_mpi_dprint (d, params[2]); if (ret < 0) { gnutls_assert (); @@ -817,7 +787,7 @@ goto cleanup; } - ret = _gnutls_mpi_dprint (params[3], p); + ret = _gnutls_mpi_dprint (p, params[3]); if (ret < 0) { gnutls_assert (); @@ -827,7 +797,7 @@ goto cleanup; } - ret = _gnutls_mpi_dprint (params[4], q); + ret = _gnutls_mpi_dprint (q, params[4]); if (ret < 0) { gnutls_assert (); @@ -838,7 +808,7 @@ goto cleanup; } - ret = _gnutls_mpi_dprint (params[5], u); + ret = _gnutls_mpi_dprint (u, params[5]); if (ret < 0) { gnutls_assert (); @@ -860,15 +830,16 @@ return ret; } -static int -_get_sk_dsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_openpgp_keyid_t keyid, - gnutls_datum_t * p, gnutls_datum_t * q, - gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x) +static +int _get_sk_dsa_raw(gnutls_openpgp_privkey_t pkey, gnutls_openpgp_keyid_t keyid, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y, + gnutls_datum_t * x) { int pk_algorithm, ret, i; cdk_packet_t pkt; uint32_t kid32[2]; - bigint_t params[MAX_PRIV_PARAMS_SIZE]; + mpi_t params[MAX_PRIV_PARAMS_SIZE]; int params_size = MAX_PRIV_PARAMS_SIZE; if (pkey == NULL) @@ -876,19 +847,18 @@ gnutls_assert (); return GNUTLS_E_INVALID_REQUEST; } + + KEYID_IMPORT(kid32, keyid); - KEYID_IMPORT (kid32, keyid); - - pkt = _gnutls_openpgp_find_key (pkey->knode, kid32, 1); + pkt = _gnutls_openpgp_find_key( pkey->knode, kid32, 1); if (pkt == NULL) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - pk_algorithm = - _gnutls_openpgp_get_algo (pkt->pkt.secret_key->pk->pubkey_algo); - + pk_algorithm = _gnutls_openpgp_get_algo( pkt->pkt.secret_key->pk->pubkey_algo); + if (pk_algorithm != GNUTLS_PK_DSA) { gnutls_assert (); @@ -903,7 +873,7 @@ } /* P */ - ret = _gnutls_mpi_dprint (params[0], p); + ret = _gnutls_mpi_dprint (p, params[0]); if (ret < 0) { gnutls_assert (); @@ -911,7 +881,7 @@ } /* Q */ - ret = _gnutls_mpi_dprint (params[1], q); + ret = _gnutls_mpi_dprint (q, params[1]); if (ret < 0) { gnutls_assert (); @@ -921,7 +891,7 @@ /* G */ - ret = _gnutls_mpi_dprint (params[2], g); + ret = _gnutls_mpi_dprint (g, params[2]); if (ret < 0) { gnutls_assert (); @@ -932,7 +902,7 @@ /* Y */ - ret = _gnutls_mpi_dprint (params[3], y); + ret = _gnutls_mpi_dprint (y, params[3]); if (ret < 0) { gnutls_assert (); @@ -942,7 +912,7 @@ goto cleanup; } - ret = _gnutls_mpi_dprint (params[4], x); + ret = _gnutls_mpi_dprint (x, params[4]); if (ret < 0) { gnutls_assert (); @@ -983,22 +953,22 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t * m, gnutls_datum_t * e, - gnutls_datum_t * d, gnutls_datum_t * p, - gnutls_datum_t * q, gnutls_datum_t * u) +gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, + gnutls_datum_t * m, gnutls_datum_t * e, + gnutls_datum_t * d, gnutls_datum_t * p, + gnutls_datum_t * q, gnutls_datum_t * u) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_privkey_get_key_id (pkey, keyid); + ret = gnutls_openpgp_privkey_get_key_id( pkey, keyid); if (ret < 0) { gnutls_assert (); return ret; } - - return _get_sk_rsa_raw (pkey, keyid, m, e, d, p, q, u); + + return _get_sk_rsa_raw( pkey, keyid, m, e, d, p, q, u); } /** @@ -1019,22 +989,22 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, - gnutls_datum_t * p, gnutls_datum_t * q, - gnutls_datum_t * g, gnutls_datum_t * y, - gnutls_datum_t * x) +gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, + gnutls_datum_t * p, gnutls_datum_t * q, + gnutls_datum_t * g, gnutls_datum_t * y, + gnutls_datum_t * x) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_privkey_get_key_id (pkey, keyid); + ret = gnutls_openpgp_privkey_get_key_id( pkey, keyid); if (ret < 0) { gnutls_assert (); return ret; } - - return _get_sk_dsa_raw (pkey, keyid, p, q, g, y, x); + + return _get_sk_dsa_raw( pkey, keyid, p, q, g, y, x); } /** @@ -1057,26 +1027,22 @@ * Since: 2.4.0 **/ int -gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, - unsigned int idx, - gnutls_datum_t * m, - gnutls_datum_t * e, - gnutls_datum_t * d, - gnutls_datum_t * p, - gnutls_datum_t * q, - gnutls_datum_t * u) +gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, + gnutls_datum_t * m, gnutls_datum_t * e, + gnutls_datum_t * d, gnutls_datum_t * p, + gnutls_datum_t * q, gnutls_datum_t * u) { - gnutls_openpgp_keyid_t keyid; - int ret; +gnutls_openpgp_keyid_t keyid; +int ret; - ret = gnutls_openpgp_privkey_get_subkey_id (pkey, idx, keyid); + ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, keyid); if (ret < 0) { gnutls_assert (); return ret; } - - return _get_sk_rsa_raw (pkey, keyid, m, e, d, p, q, u); + + return _get_sk_rsa_raw( pkey, keyid, m, e, d, p, q, u); } /** @@ -1109,14 +1075,14 @@ gnutls_openpgp_keyid_t keyid; int ret; - ret = gnutls_openpgp_privkey_get_subkey_id (pkey, idx, keyid); + ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, keyid); if (ret < 0) { gnutls_assert (); return ret; } - return _get_sk_dsa_raw (pkey, keyid, p, q, g, y, x); + return _get_sk_dsa_raw( pkey, keyid, p, q, g, y, x); } /** @@ -1139,7 +1105,7 @@ return GNUTLS_E_INVALID_REQUEST; } - memcpy (keyid, key->preferred_keyid, sizeof (gnutls_openpgp_keyid_t)); + memcpy( keyid, key->preferred_keyid, sizeof(gnutls_openpgp_keyid_t)); return 0; } @@ -1156,8 +1122,7 @@ **/ int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, - const gnutls_openpgp_keyid_t - keyid) + const gnutls_openpgp_keyid_t keyid) { int ret; @@ -1168,16 +1133,16 @@ } /* check if the id is valid */ - ret = gnutls_openpgp_privkey_get_subkey_idx (key, keyid); + ret = gnutls_openpgp_privkey_get_subkey_idx ( key, keyid); if (ret < 0) { - _gnutls_x509_log ("the requested subkey does not exist\n"); - gnutls_assert (); + _gnutls_x509_log("the requested subkey does not exist\n"); + gnutls_assert(); return ret; } key->preferred_set = 1; - memcpy (key->preferred_keyid, keyid, sizeof (gnutls_openpgp_keyid_t)); + memcpy( key->preferred_keyid, keyid, sizeof(gnutls_openpgp_keyid_t)); return 0; } diff -Nru gnutls26-2.8.6/lib/pkix.asn gnutls26-2.4.1/lib/pkix.asn --- gnutls26-2.8.6/lib/pkix.asn 2009-10-14 16:26:17.000000000 +0100 +++ gnutls26-2.4.1/lib/pkix.asn 2008-06-19 11:00:10.000000000 +0100 @@ -7,14 +7,15 @@ -- This contains both PKIX1Implicit88 and RFC2630 ASN.1 modules. -id-pkix OBJECT IDENTIFIER ::= - { iso(1) identified-organization(3) dod(6) internet(1) - security(5) mechanisms(5) pkix(7) } - -- ISO arc for standard certificate and CRL extensions +id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29} + + -- authority key identifier OID and syntax +id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 } + AuthorityKeyIdentifier ::= SEQUENCE { keyIdentifier [0] KeyIdentifier OPTIONAL, authorityCertIssuer [1] GeneralNames OPTIONAL, @@ -26,11 +27,85 @@ -- subject key identifier OID and syntax +id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 } + SubjectKeyIdentifier ::= KeyIdentifier -- key usage extension OID and syntax -KeyUsage ::= BIT STRING +id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } + +KeyUsage ::= BIT STRING { + digitalSignature (0), + nonRepudiation (1), + keyEncipherment (2), + dataEncipherment (3), + keyAgreement (4), + keyCertSign (5), + cRLSign (6), + encipherOnly (7), + decipherOnly (8) } + +-- private key usage period extension OID and syntax + +id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 } + +PrivateKeyUsagePeriod ::= SEQUENCE { + notBefore [0] GeneralizedTime OPTIONAL, + notAfter [1] GeneralizedTime OPTIONAL } + -- either notBefore or notAfter shall be present + +-- certificate policies extension OID and syntax + +id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 } + +CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation + +PolicyInformation ::= SEQUENCE { + policyIdentifier CertPolicyId, + policyQualifiers SEQUENCE SIZE (1..MAX) OF + PolicyQualifierInfo OPTIONAL } + +CertPolicyId ::= OBJECT IDENTIFIER + +PolicyQualifierInfo ::= SEQUENCE { + policyQualifierId PolicyQualifierId, + qualifier ANY DEFINED BY policyQualifierId } + +-- Implementations that recognize additional policy qualifiers shall +-- augment the following definition for PolicyQualifierId + +PolicyQualifierId ::= + OBJECT IDENTIFIER -- ( id-qt-cps | id-qt-unotice ) + +-- CPS pointer qualifier + +CPSuri ::= IA5String + +-- user notice qualifier + +UserNotice ::= SEQUENCE { + noticeRef NoticeReference OPTIONAL, + explicitText DisplayText OPTIONAL} + +NoticeReference ::= SEQUENCE { + organization DisplayText, + noticeNumbers SEQUENCE OF INTEGER } + +DisplayText ::= CHOICE { + visibleString VisibleString (SIZE (1..200)), + bmpString BMPString (SIZE (1..200)), + utf8String UTF8String (SIZE (1..200)) } + +-- policy mapping extension OID and syntax + +id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 } + +PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { + issuerDomainPolicy CertPolicyId, + subjectDomainPolicy CertPolicyId } + +-- subject alternative name extension OID and syntax -- Directory string type -- @@ -45,6 +120,8 @@ -- so if it causes problems, considering dropping it. -- ia5String IA5String (SIZE(1..MAX)) } +id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 } + SubjectAltName ::= GeneralNames GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName @@ -53,10 +130,10 @@ otherName [0] AnotherName, rfc822Name [1] IA5String, dNSName [2] IA5String, - x400Address [3] ANY, + x400Address [3] ORAddress, -- Changed to work with the libtasn1 parser. directoryName [4] EXPLICIT RDNSequence, --Name, - ediPartyName [5] ANY, --EDIPartyName replaced by ANY to save memory + ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER } @@ -68,18 +145,59 @@ type-id OBJECT IDENTIFIER, value [0] EXPLICIT ANY DEFINED BY type-id } +EDIPartyName ::= SEQUENCE { + nameAssigner [0] DirectoryString OPTIONAL, + partyName [1] DirectoryString } + -- issuer alternative name extension OID and syntax +id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 } + IssuerAltName ::= GeneralNames +id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 } + +SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute + -- basic constraints extension OID and syntax +id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } + BasicConstraints ::= SEQUENCE { cA BOOLEAN DEFAULT FALSE, pathLenConstraint INTEGER (0..MAX) OPTIONAL } +-- name constraints extension OID and syntax + +id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 } + +NameConstraints ::= SEQUENCE { + permittedSubtrees [0] GeneralSubtrees OPTIONAL, + excludedSubtrees [1] GeneralSubtrees OPTIONAL } + +GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree + +GeneralSubtree ::= SEQUENCE { + base GeneralName, + minimum [0] BaseDistance DEFAULT 0, + maximum [1] BaseDistance OPTIONAL } + +BaseDistance ::= INTEGER (0..MAX) + +-- policy constraints extension OID and syntax + +id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 } + +PolicyConstraints ::= SEQUENCE { + requireExplicitPolicy [0] SkipCerts OPTIONAL, + inhibitPolicyMapping [1] SkipCerts OPTIONAL } + +SkipCerts ::= INTEGER (0..MAX) + -- CRL distribution points extension OID and syntax +id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31} + CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint DistributionPoint ::= SEQUENCE { @@ -93,22 +211,117 @@ nameRelativeToCRLIssuer [1] RelativeDistinguishedName } -ReasonFlags ::= BIT STRING +ReasonFlags ::= BIT STRING { + unused (0), + keyCompromise (1), + cACompromise (2), + affiliationChanged (3), + superseded (4), + cessationOfOperation (5), + certificateHold (6), + privilegeWithdrawn (7), + aACompromise (8) } -- extended key usage extension OID and syntax +id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37} + ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId KeyPurposeId ::= OBJECT IDENTIFIER +-- extended key purpose OIDs +id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 } +id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 } +id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 } +id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 } +id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 } +id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 } +id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 } +id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 } + +-- authority info access + +id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } + +AuthorityInfoAccessSyntax ::= + SEQUENCE SIZE (1..MAX) OF AccessDescription + +AccessDescription ::= SEQUENCE { + accessMethod OBJECT IDENTIFIER, + accessLocation GeneralName } + -- CRL number extension OID and syntax +id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 } + CRLNumber ::= INTEGER (0..MAX) +-- issuing distribution point extension OID and syntax + +id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 } + +IssuingDistributionPoint ::= SEQUENCE { + distributionPoint [0] DistributionPointName OPTIONAL, + onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE, + onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE, + onlySomeReasons [3] ReasonFlags OPTIONAL, + indirectCRL [4] BOOLEAN DEFAULT FALSE } + + +id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 } + +-- deltaCRLIndicator ::= BaseCRLNumber + +BaseCRLNumber ::= CRLNumber + +-- CRL reasons extension OID and syntax + +id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 } + +CRLReason ::= ENUMERATED { + unspecified (0), + keyCompromise (1), + cACompromise (2), + affiliationChanged (3), + superseded (4), + cessationOfOperation (5), + certificateHold (6), + removeFromCRL (8) } + -- certificate issuer CRL entry extension OID and syntax +id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 } + CertificateIssuer ::= GeneralNames +-- hold instruction extension OID and syntax + +id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 } + +HoldInstructionCode ::= OBJECT IDENTIFIER + +-- ANSI x9 holdinstructions + +-- ANSI x9 arc holdinstruction arc +holdInstruction OBJECT IDENTIFIER ::= + {joint-iso-itu-t(2) member-body(2) us(840) x9cm(10040) 2} + +-- ANSI X9 holdinstructions referenced by this standard +id-holdinstruction-none OBJECT IDENTIFIER ::= + {holdInstruction 1} -- deprecated +id-holdinstruction-callissuer OBJECT IDENTIFIER ::= + {holdInstruction 2} +id-holdinstruction-reject OBJECT IDENTIFIER ::= + {holdInstruction 3} + +-- invalidity date CRL entry extension OID and syntax + +id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 } + +InvalidityDate ::= GeneralizedTime + + -- -------------------------------------- -- EXPLICIT -- -------------------------------------- @@ -116,6 +329,8 @@ -- UNIVERSAL Types defined in '93 and '98 ASN.1 -- but required by this specification +VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING + NumericString ::= [UNIVERSAL 18] IMPLICIT OCTET STRING IA5String ::= [UNIVERSAL 22] IMPLICIT OCTET STRING @@ -135,6 +350,35 @@ -- The content of this type conforms to RFC 2279. +-- PKIX specific OIDs + +id-pkix OBJECT IDENTIFIER ::= + { iso(1) identified-organization(3) dod(6) internet(1) + security(5) mechanisms(5) pkix(7) } + +-- PKIX arcs + +id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } + -- arc for private certificate extensions +id-qt OBJECT IDENTIFIER ::= { id-pkix 2 } + -- arc for policy qualifier types +id-kp OBJECT IDENTIFIER ::= { id-pkix 3 } + -- arc for extended key purpose OIDS +id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } + -- arc for access descriptors + +-- policyQualifierIds for Internet policy qualifiers + +id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 } + -- OID for CPS qualifier +id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 } + -- OID for user notice qualifier + +-- access descriptor definitions + +id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } +id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } + -- attribute data types -- Attribute ::= SEQUENCE { @@ -162,13 +406,6 @@ id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4} -- Attributes of type NameDirectoryString - --- gnutls: Note that the Object ID (id-at*) is being set just before the --- actual definition. This is done in order for asn1_find_structure_from_oid --- to work (locate structure from OID). --- Maybe this is inefficient and memory consuming. Should we replace with --- a table that maps OIDs to structures? - id-at-initials AttributeType ::= { id-at 43 } X520initials ::= DirectoryString @@ -220,23 +457,31 @@ id-at-facsimileTelephoneNumber AttributeType ::= {id-at 23} X520facsimileTelephoneNumber ::= PrintableString -id-at-pseudonym AttributeType ::= {id-at 65} -X520pseudonym ::= DirectoryString +id-at-pseudonym AttributeType ::= {id-at 65} +X520pseudonym ::= DirectoryString + +id-at-name AttributeType ::= {id-at 41} +X520name ::= DirectoryString -id-at-name AttributeType ::= {id-at 41} -X520name ::= DirectoryString +id-at-streetAddress AttributeType ::= {id-at 9} +X520streetAddress ::= DirectoryString -id-at-streetAddress AttributeType ::= {id-at 9} -X520streetAddress ::= DirectoryString - -id-at-postalAddress AttributeType ::= {id-at 16} +id-at-postalAddress AttributeType ::= {id-at 16} X520postalAddress ::= PostalAddress PostalAddress ::= SEQUENCE OF DirectoryString + -- Legacy attributes -emailAddress AttributeType ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 1 } +pkcs OBJECT IDENTIFIER ::= + { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) } + +pkcs-9 OBJECT IDENTIFIER ::= + { pkcs 9 } + + +emailAddress AttributeType ::= { pkcs-9 1 } Pkcs9email ::= IA5String (SIZE (1..ub-emailaddress-length)) @@ -343,11 +588,28 @@ -- Algorithm OIDs and parameter structures +pkcs-1 OBJECT IDENTIFIER ::= { + pkcs 1 } + +rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } + +md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } + +md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } + +sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } + +id-dsa-with-sha1 OBJECT IDENTIFIER ::= { + iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 } + Dss-Sig-Value ::= SEQUENCE { r INTEGER, s INTEGER } +dhpublicnumber OBJECT IDENTIFIER ::= { + iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 } + DomainParameters ::= SEQUENCE { p INTEGER, -- odd prime, p=jq +1 g INTEGER, -- generator, g @@ -359,6 +621,9 @@ seed BIT STRING, pgenCounter INTEGER } +id-dsa OBJECT IDENTIFIER ::= { + iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 } + Dss-Parms ::= SEQUENCE { p INTEGER, q INTEGER, @@ -367,12 +632,55 @@ -- x400 address syntax starts here -- OR Names +ORAddress ::= SEQUENCE { + built-in-standard-attributes BuiltInStandardAttributes, + built-in-domain-defined-attributes + BuiltInDomainDefinedAttributes OPTIONAL, + -- see also teletex-domain-defined-attributes + extension-attributes ExtensionAttributes OPTIONAL } +-- The OR-address is semantically absent from the OR-name if the +-- built-in-standard-attribute sequence is empty and the +-- built-in-domain-defined-attributes and extension-attributes are +-- both omitted. + +-- Built-in Standard Attributes + +BuiltInStandardAttributes ::= SEQUENCE { + country-name CountryName OPTIONAL, + administration-domain-name AdministrationDomainName OPTIONAL, + network-address [0] EXPLICIT NetworkAddress OPTIONAL, + -- see also extended-network-address + terminal-identifier [1] EXPLICIT TerminalIdentifier OPTIONAL, + private-domain-name [2] EXPLICIT PrivateDomainName OPTIONAL, + organization-name [3] EXPLICIT OrganizationName OPTIONAL, + -- see also teletex-organization-name + numeric-user-identifier [4] EXPLICIT NumericUserIdentifier OPTIONAL, + personal-name [5] EXPLICIT PersonalName OPTIONAL, + -- see also teletex-personal-name + organizational-unit-names [6] EXPLICIT OrganizationalUnitNames OPTIONAL + -- see also teletex-organizational-unit-names -- +} + CountryName ::= [APPLICATION 1] CHOICE { x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)), iso-3166-alpha2-code PrintableString (SIZE (ub-country-name-alpha-length)) } +AdministrationDomainName ::= [APPLICATION 2] EXPLICIT CHOICE { + numeric NumericString (SIZE (0..ub-domain-name-length)), + printable PrintableString (SIZE (0..ub-domain-name-length)) } + +NetworkAddress ::= X121Address -- see also extended-network-address + +X121Address ::= NumericString (SIZE (1..ub-x121-address-length)) + +TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length)) + +PrivateDomainName ::= CHOICE { + numeric NumericString (SIZE (1..ub-domain-name-length)), + printable PrintableString (SIZE (1..ub-domain-name-length)) } + OrganizationName ::= PrintableString (SIZE (1..ub-organization-name-length)) -- see also teletex-organization-name @@ -380,6 +688,13 @@ NumericUserIdentifier ::= NumericString (SIZE (1..ub-numeric-user-id-length)) +PersonalName ::= SET { + surname [0] PrintableString (SIZE (1..ub-surname-length)), + given-name [1] PrintableString + (SIZE (1..ub-given-name-length)) OPTIONAL, + initials [2] PrintableString (SIZE (1..ub-initials-length)) OPTIONAL, + generation-qualifier [3] PrintableString + (SIZE (1..ub-generation-qualifier-length)) OPTIONAL } -- see also teletex-personal-name OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) @@ -389,10 +704,227 @@ OrganizationalUnitName ::= PrintableString (SIZE (1..ub-organizational-unit-name-length)) +-- Built-in Domain-defined Attributes + +BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE + (1..ub-domain-defined-attributes) OF + BuiltInDomainDefinedAttribute + +BuiltInDomainDefinedAttribute ::= SEQUENCE { + type PrintableString (SIZE + (1..ub-domain-defined-attribute-type-length)), + value PrintableString (SIZE + (1..ub-domain-defined-attribute-value-length))} + +-- Extension Attributes + +ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF + ExtensionAttribute + +ExtensionAttribute ::= SEQUENCE { + extension-attribute-type [0] EXPLICIT INTEGER (0..ub-extension-attributes), + extension-attribute-value [1] EXPLICIT + ANY DEFINED BY extension-attribute-type } + -- Extension types and attribute values -- -CommonName ::= PrintableString +common-name INTEGER ::= 1 + +CommonName ::= PrintableString (SIZE (1..ub-common-name-length)) + +teletex-common-name INTEGER ::= 2 + +TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length)) + +teletex-organization-name INTEGER ::= 3 + +TeletexOrganizationName ::= + TeletexString (SIZE (1..ub-organization-name-length)) + +teletex-personal-name INTEGER ::= 4 + +TeletexPersonalName ::= SET { + surname [0] EXPLICIT TeletexString (SIZE (1..ub-surname-length)), + given-name [1] EXPLICIT TeletexString + (SIZE (1..ub-given-name-length)) OPTIONAL, + initials [2] EXPLICIT TeletexString (SIZE (1..ub-initials-length)) OPTIONAL, + generation-qualifier [3] EXPLICIT TeletexString (SIZE + (1..ub-generation-qualifier-length)) OPTIONAL } + +teletex-organizational-unit-names INTEGER ::= 5 + +TeletexOrganizationalUnitNames ::= SEQUENCE SIZE + (1..ub-organizational-units) OF TeletexOrganizationalUnitName + +TeletexOrganizationalUnitName ::= TeletexString + (SIZE (1..ub-organizational-unit-name-length)) + +pds-name INTEGER ::= 7 + +PDSName ::= PrintableString (SIZE (1..ub-pds-name-length)) + +physical-delivery-country-name INTEGER ::= 8 + +PhysicalDeliveryCountryName ::= CHOICE { + x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)), + iso-3166-alpha2-code PrintableString + (SIZE (ub-country-name-alpha-length)) } + +postal-code INTEGER ::= 9 + +PostalCode ::= CHOICE { + numeric-code NumericString (SIZE (1..ub-postal-code-length)), + printable-code PrintableString (SIZE (1..ub-postal-code-length)) } + +physical-delivery-office-name INTEGER ::= 10 + +PhysicalDeliveryOfficeName ::= PDSParameter + +physical-delivery-office-number INTEGER ::= 11 + +PhysicalDeliveryOfficeNumber ::= PDSParameter + +extension-OR-address-components INTEGER ::= 12 + +ExtensionORAddressComponents ::= PDSParameter + +physical-delivery-personal-name INTEGER ::= 13 + +PhysicalDeliveryPersonalName ::= PDSParameter + +physical-delivery-organization-name INTEGER ::= 14 + +PhysicalDeliveryOrganizationName ::= PDSParameter + +extension-physical-delivery-address-components INTEGER ::= 15 + +ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter + +unformatted-postal-address INTEGER ::= 16 + +UnformattedPostalAddress ::= SET { + printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF + PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL, + teletex-string TeletexString + (SIZE (1..ub-unformatted-address-length)) OPTIONAL } + +street-address INTEGER ::= 17 + +StreetAddress ::= PDSParameter + +post-office-box-address INTEGER ::= 18 + +PostOfficeBoxAddress ::= PDSParameter + +poste-restante-address INTEGER ::= 19 + +PosteRestanteAddress ::= PDSParameter + +unique-postal-name INTEGER ::= 20 + +UniquePostalName ::= PDSParameter + +local-postal-attributes INTEGER ::= 21 + +LocalPostalAttributes ::= PDSParameter + +PDSParameter ::= SET { + printable-string PrintableString + (SIZE(1..ub-pds-parameter-length)) OPTIONAL, + teletex-string TeletexString + (SIZE(1..ub-pds-parameter-length)) OPTIONAL } + +extended-network-address INTEGER ::= 22 + +ExtendedNetworkAddress ::= CHOICE { + e163-4-address SEQUENCE { + number [0] EXPLICIT NumericString (SIZE (1..ub-e163-4-number-length)), + sub-address [1] EXPLICIT NumericString + (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL }, + psap-address [0] EXPLICIT PresentationAddress } + +PresentationAddress ::= SEQUENCE { + pSelector [0] EXPLICIT OCTET STRING OPTIONAL, + sSelector [1] EXPLICIT OCTET STRING OPTIONAL, + tSelector [2] EXPLICIT OCTET STRING OPTIONAL, + nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING } + +terminal-type INTEGER ::= 23 + +TerminalType ::= INTEGER { + telex (3), + teletex (4), + g3-facsimile (5), + g4-facsimile (6), + ia5-terminal (7), + videotex (8) } -- (0..ub-integer-options) + +-- Extension Domain-defined Attributes + +teletex-domain-defined-attributes INTEGER ::= 6 + +TeletexDomainDefinedAttributes ::= SEQUENCE SIZE + (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute + +TeletexDomainDefinedAttribute ::= SEQUENCE { + type TeletexString + (SIZE (1..ub-domain-defined-attribute-type-length)), + value TeletexString + (SIZE (1..ub-domain-defined-attribute-value-length)) } + +-- specifications of Upper Bounds shall be regarded as mandatory +-- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter +-- Upper Bounds + +-- Upper Bounds +ub-name INTEGER ::= 32768 +ub-common-name INTEGER ::= 64 +ub-locality-name INTEGER ::= 128 +ub-state-name INTEGER ::= 128 +ub-organization-name INTEGER ::= 64 +ub-organizational-unit-name INTEGER ::= 64 +ub-title INTEGER ::= 64 +ub-match INTEGER ::= 128 + +ub-emailaddress-length INTEGER ::= 128 + +ub-common-name-length INTEGER ::= 64 +ub-country-name-alpha-length INTEGER ::= 2 +ub-country-name-numeric-length INTEGER ::= 3 +ub-domain-defined-attributes INTEGER ::= 4 +ub-domain-defined-attribute-type-length INTEGER ::= 8 +ub-domain-defined-attribute-value-length INTEGER ::= 128 +ub-domain-name-length INTEGER ::= 16 +ub-extension-attributes INTEGER ::= 256 +ub-e163-4-number-length INTEGER ::= 15 +ub-e163-4-sub-address-length INTEGER ::= 40 +ub-generation-qualifier-length INTEGER ::= 3 +ub-given-name-length INTEGER ::= 16 +ub-initials-length INTEGER ::= 5 +ub-integer-options INTEGER ::= 256 +ub-numeric-user-id-length INTEGER ::= 32 +ub-organization-name-length INTEGER ::= 64 +ub-organizational-unit-name-length INTEGER ::= 32 +ub-organizational-units INTEGER ::= 4 +ub-pds-name-length INTEGER ::= 16 +ub-pds-parameter-length INTEGER ::= 30 +ub-pds-physical-address-lines INTEGER ::= 6 +ub-postal-code-length INTEGER ::= 16 +ub-surname-length INTEGER ::= 40 +ub-terminal-id-length INTEGER ::= 24 +ub-unformatted-address-length INTEGER ::= 180 +ub-x121-address-length INTEGER ::= 16 + +-- Note - upper bounds on string types, such as TeletexString, are +-- measured in characters. Excepting PrintableString or IA5String, a +-- significantly greater number of octets will be required to hold +-- such a value. As a minimum, 16 octets, or twice the specified upper +-- bound, whichever is the larger, should be allowed for TeletexString. +-- For UTF8String or UniversalString at least four times the upper +-- bound should be allowed. + + -- END of PKIX1Implicit88 @@ -470,17 +1002,23 @@ -- stuff from PKCS#9 -pkcs-9-at-challengePassword OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 7} +pkcs-9-ub-challengePassword INTEGER ::= 255 + +pkcs-9-certTypes OBJECT IDENTIFIER ::= {pkcs-9 22} +pkcs-9-crlTypes OBJECT IDENTIFIER ::= {pkcs-9 23} + +pkcs-9-at-challengePassword OBJECT IDENTIFIER ::= {pkcs-9 7} pkcs-9-challengePassword ::= CHOICE { - printableString PrintableString, - utf8String UTF8String } + printableString PrintableString (SIZE (1..pkcs-9-ub-challengePassword)), + utf8String UTF8String (SIZE (1..pkcs-9-ub-challengePassword)) } -pkcs-9-at-localKeyId OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 21} +pkcs-9-at-localKeyId OBJECT IDENTIFIER ::= {pkcs-9 21} pkcs-9-localKeyId ::= OCTET STRING -pkcs-9-at-friendlyName OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 20} +pkcs-9-at-friendlyName OBJECT IDENTIFIER ::= {pkcs-9 20} + pkcs-9-friendlyName ::= BMPString (SIZE (1..255)) -- PKCS #8 stuff @@ -510,14 +1048,28 @@ -- PKCS #5 stuff +pkcs-5 OBJECT IDENTIFIER ::= + { pkcs 5 } + +pkcs-5-encryptionAlgorithm OBJECT IDENTIFIER ::= + { iso(1) member-body(2) us(840) rsadsi(113549) 3 } + +pkcs-5-des-EDE3-CBC OBJECT IDENTIFIER ::= {pkcs-5-encryptionAlgorithm 7} + pkcs-5-des-EDE3-CBC-params ::= OCTET STRING (SIZE(8)) +pkcs-5-id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13} + pkcs-5-PBES2-params ::= SEQUENCE { keyDerivationFunc AlgorithmIdentifier, encryptionScheme AlgorithmIdentifier } -- PBKDF2 +pkcs-5-id-PBKDF2 OBJECT IDENTIFIER ::= {pkcs-5 12} + +-- pkcs-5-id-hmacWithSHA1 OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) 2 7} + -- pkcs-5-algid-hmacWithSHA1 AlgorithmIdentifier ::= -- {algorithm pkcs-5-id-hmacWithSHA1, parameters NULL : NULL} @@ -533,40 +1085,50 @@ -- PKCS #12 stuff +pkcs-12 OBJECT IDENTIFIER ::= {pkcs 12} + pkcs-12-PFX ::= SEQUENCE { - version INTEGER {v3(3)}, - authSafe pkcs-7-ContentInfo, - macData pkcs-12-MacData OPTIONAL + version INTEGER {v3(3)}, + authSafe pkcs-7-ContentInfo, + macData pkcs-12-MacData OPTIONAL } pkcs-12-PbeParams ::= SEQUENCE { - salt OCTET STRING, - iterations INTEGER + salt OCTET STRING, + iterations INTEGER } pkcs-12-MacData ::= SEQUENCE { - mac pkcs-7-DigestInfo, - macSalt OCTET STRING, - iterations INTEGER DEFAULT 1 + mac pkcs-7-DigestInfo, + macSalt OCTET STRING, + iterations INTEGER DEFAULT 1 -- Note: The default is for historical reasons and its use is -- deprecated. A higher value, like 1024 is recommended. } pkcs-12-AuthenticatedSafe ::= SEQUENCE OF pkcs-7-ContentInfo - -- Data if unencrypted - -- EncryptedData if password-encrypted - -- EnvelopedData if public key-encrypted + -- Data if unencrypted + -- EncryptedData if password-encrypted + -- EnvelopedData if public key-encrypted pkcs-12-SafeContents ::= SEQUENCE OF pkcs-12-SafeBag pkcs-12-SafeBag ::= SEQUENCE { - bagId OBJECT IDENTIFIER, - bagValue [0] EXPLICIT ANY DEFINED BY badId, - bagAttributes SET OF pkcs-12-PKCS12Attribute OPTIONAL + bagId OBJECT IDENTIFIER, + bagValue [0] EXPLICIT ANY DEFINED BY badId, + bagAttributes SET OF pkcs-12-PKCS12Attribute OPTIONAL } -- Bag types + +pkcs-12-bagtypes OBJECT IDENTIFIER ::= {pkcs-12 10 1} + +pkcs-12-keyBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 1} +pkcs-12-pkcs8ShroudedKeyBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 2} +pkcs-12-certBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 3} +pkcs-12-crlBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 4} + pkcs-12-KeyBag ::= pkcs-8-PrivateKeyInfo -- Shrouded KeyBag @@ -576,25 +1138,32 @@ -- CertBag pkcs-12-CertBag ::= SEQUENCE { - certId OBJECT IDENTIFIER, - certValue [0] EXPLICIT ANY DEFINED BY certId + certId OBJECT IDENTIFIER, + certValue [0] EXPLICIT ANY DEFINED BY certId } -- x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {pkcs-9-certTypes 1}} -- DER-encoded X.509 certificate stored in OCTET STRING pkcs-12-CRLBag ::= SEQUENCE { - crlId OBJECT IDENTIFIER, - crlValue [0] EXPLICIT ANY DEFINED BY crlId + crlId OBJECT IDENTIFIER, + crlValue [0] EXPLICIT ANY DEFINED BY crlId } --- x509CRL BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {pkcs-9-crlTypes 1}} +-- x509CRL BAG-TYPE ::= +-- {OCTET STRING IDENTIFIED BY {pkcs-9-crlTypes 1}} -- DER-encoded X.509 CRL stored in OCTET STRING pkcs-12-PKCS12Attribute ::= Attribute -- PKCS #7 stuff (needed in PKCS 12) +pkcs-7-data OBJECT IDENTIFIER ::= { iso(1) member-body(2) + us(840) rsadsi(113549) pkcs(1) pkcs7(7) 1 } + +pkcs-7-encryptedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) + us(840) rsadsi(113549) pkcs(1) pkcs7(7) 6 } + pkcs-7-Data ::= OCTET STRING pkcs-7-EncryptedData ::= SEQUENCE { @@ -614,45 +1183,58 @@ pkcs-7-UnprotectedAttributes ::= SET SIZE (1..MAX) OF Attribute -- LDAP stuff +-- may not be correct id-at-ldap-DC AttributeType ::= { 0 9 2342 19200300 100 1 25 } + ldap-DC ::= IA5String id-at-ldap-UID AttributeType ::= { 0 9 2342 19200300 100 1 1 } + ldap-UID ::= DirectoryString -- rfc3039 -id-pda-dateOfBirth AttributeType ::= { id-pkix 9 1 } +id-pda OBJECT IDENTIFIER ::= { id-pkix 9 } + +id-pda-dateOfBirth AttributeType ::= { id-pda 1 } DateOfBirth ::= GeneralizedTime -id-pda-placeOfBirth AttributeType ::= { id-pkix 9 2 } +id-pda-placeOfBirth AttributeType ::= { id-pda 2 } PlaceOfBirth ::= DirectoryString -id-pda-gender AttributeType ::= { id-pkix 9 3 } +id-pda-gender AttributeType ::= { id-pda 3 } Gender ::= PrintableString (SIZE(1)) + -- "M", "F", "m" or "f" -id-pda-countryOfCitizenship AttributeType ::= { id-pkix 9 4 } +id-pda-countryOfCitizenship AttributeType ::= { id-pda 4 } CountryOfCitizenship ::= PrintableString (SIZE (2)) -- ISO 3166 Country Code -id-pda-countryOfResidence AttributeType ::= { id-pkix 9 5 } +id-pda-countryOfResidence AttributeType ::= { id-pda 5 } CountryOfResidence ::= PrintableString (SIZE (2)) -- ISO 3166 Country Code -- rfc3820 +id-pe-proxyCertInfo OBJECT IDENTIFIER ::= { id-pe 14 } + +id-ppl-inheritAll OBJECT IDENTIFIER ::= { id-pkix 21 1 } +id-ppl-independent OBJECT IDENTIFIER ::= { id-pkix 21 2 } + ProxyCertInfo ::= SEQUENCE { - pCPathLenConstraint INTEGER (0..MAX) OPTIONAL, - proxyPolicy ProxyPolicy } + pCPathLenConstraint INTEGER (0..MAX) OPTIONAL, + proxyPolicy ProxyPolicy } ProxyPolicy ::= SEQUENCE { - policyLanguage OBJECT IDENTIFIER, - policy OCTET STRING OPTIONAL } + policyLanguage OBJECT IDENTIFIER, + policy OCTET STRING OPTIONAL } -- rfc3920 section 5.1.1 -id-on-xmppAddr OBJECT IDENTIFIER ::= { id-pkix 8 5 } +id-on OBJECT IDENTIFIER ::= { id-pkix 8 } -- other name forms + +id-on-xmppAddr OBJECT IDENTIFIER ::= { id-on 5 } XmppAddr ::= UTF8String diff -Nru gnutls26-2.8.6/lib/pkix_asn1_tab.c gnutls26-2.4.1/lib/pkix_asn1_tab.c --- gnutls26-2.8.6/lib/pkix_asn1_tab.c 2009-10-14 16:26:59.000000000 +0100 +++ gnutls26-2.4.1/lib/pkix_asn1_tab.c 2008-06-19 11:00:10.000000000 +0100 @@ -7,14 +7,13 @@ const ASN1_ARRAY_TYPE pkix_asn1_tab[] = { { "PKIX1", 536875024, NULL }, { NULL, 1073741836, NULL }, - { "id-pkix", 1879048204, NULL }, - { "iso", 1073741825, "1"}, - { "identified-organization", 1073741825, "3"}, - { "dod", 1073741825, "6"}, - { "internet", 1073741825, "1"}, - { "security", 1073741825, "5"}, - { "mechanisms", 1073741825, "5"}, - { "pkix", 1, "7"}, + { "id-ce", 1879048204, NULL }, + { "joint-iso-ccitt", 1073741825, "2"}, + { "ds", 1073741825, "5"}, + { NULL, 1, "29"}, + { "id-ce-authorityKeyIdentifier", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "35"}, { "AuthorityKeyIdentifier", 1610612741, NULL }, { "keyIdentifier", 1610637314, "KeyIdentifier"}, { NULL, 4104, "0"}, @@ -23,8 +22,71 @@ { "authorityCertSerialNumber", 536895490, "CertificateSerialNumber"}, { NULL, 4104, "2"}, { "KeyIdentifier", 1073741831, NULL }, + { "id-ce-subjectKeyIdentifier", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "14"}, { "SubjectKeyIdentifier", 1073741826, "KeyIdentifier"}, - { "KeyUsage", 1073741830, NULL }, + { "id-ce-keyUsage", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "15"}, + { "KeyUsage", 1610874886, NULL }, + { "digitalSignature", 1073741825, "0"}, + { "nonRepudiation", 1073741825, "1"}, + { "keyEncipherment", 1073741825, "2"}, + { "dataEncipherment", 1073741825, "3"}, + { "keyAgreement", 1073741825, "4"}, + { "keyCertSign", 1073741825, "5"}, + { "cRLSign", 1073741825, "6"}, + { "encipherOnly", 1073741825, "7"}, + { "decipherOnly", 1, "8"}, + { "id-ce-privateKeyUsagePeriod", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "16"}, + { "PrivateKeyUsagePeriod", 1610612741, NULL }, + { "notBefore", 1619025937, NULL }, + { NULL, 4104, "0"}, + { "notAfter", 545284113, NULL }, + { NULL, 4104, "1"}, + { "id-ce-certificatePolicies", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "32"}, + { "CertificatePolicies", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "PolicyInformation"}, + { "PolicyInformation", 1610612741, NULL }, + { "policyIdentifier", 1073741826, "CertPolicyId"}, + { "policyQualifiers", 538984459, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "PolicyQualifierInfo"}, + { "CertPolicyId", 1073741836, NULL }, + { "PolicyQualifierInfo", 1610612741, NULL }, + { "policyQualifierId", 1073741826, "PolicyQualifierId"}, + { "qualifier", 541065229, NULL }, + { "policyQualifierId", 1, NULL }, + { "PolicyQualifierId", 1073741836, NULL }, + { "CPSuri", 1073741826, "IA5String"}, + { "UserNotice", 1610612741, NULL }, + { "noticeRef", 1073758210, "NoticeReference"}, + { "explicitText", 16386, "DisplayText"}, + { "NoticeReference", 1610612741, NULL }, + { "organization", 1073741826, "DisplayText"}, + { "noticeNumbers", 536870923, NULL }, + { NULL, 3, NULL }, + { "DisplayText", 1610612754, NULL }, + { "visibleString", 1612709890, "VisibleString"}, + { "200", 524298, "1"}, + { "bmpString", 1612709890, "BMPString"}, + { "200", 524298, "1"}, + { "utf8String", 538968066, "UTF8String"}, + { "200", 524298, "1"}, + { "id-ce-policyMappings", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "33"}, + { "PolicyMappings", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 536870917, NULL }, + { "issuerDomainPolicy", 1073741826, "CertPolicyId"}, + { "subjectDomainPolicy", 2, "CertPolicyId"}, { "DirectoryString", 1610612754, NULL }, { "teletexString", 1612709890, "TeletexString"}, { "MAX", 524298, "1"}, @@ -38,6 +100,9 @@ { "MAX", 524298, "1"}, { "ia5String", 538968066, "IA5String"}, { "MAX", 524298, "1"}, + { "id-ce-subjectAltName", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "17"}, { "SubjectAltName", 1073741826, "GeneralNames"}, { "GeneralNames", 1612709899, NULL }, { "MAX", 1074266122, "1"}, @@ -49,11 +114,11 @@ { NULL, 4104, "1"}, { "dNSName", 1610620930, "IA5String"}, { NULL, 4104, "2"}, - { "x400Address", 1610620941, NULL }, + { "x400Address", 1610620930, "ORAddress"}, { NULL, 4104, "3"}, { "directoryName", 1610620930, "RDNSequence"}, { NULL, 2056, "4"}, - { "ediPartyName", 1610620941, NULL }, + { "ediPartyName", 1610620930, "EDIPartyName"}, { NULL, 4104, "5"}, { "uniformResourceIdentifier", 1610620930, "IA5String"}, { NULL, 4104, "6"}, @@ -66,12 +131,62 @@ { "value", 541073421, NULL }, { NULL, 1073743880, "0"}, { "type-id", 1, NULL }, + { "EDIPartyName", 1610612741, NULL }, + { "nameAssigner", 1610637314, "DirectoryString"}, + { NULL, 4104, "0"}, + { "partyName", 536879106, "DirectoryString"}, + { NULL, 4104, "1"}, + { "id-ce-issuerAltName", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "18"}, { "IssuerAltName", 1073741826, "GeneralNames"}, + { "id-ce-subjectDirectoryAttributes", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "9"}, + { "SubjectDirectoryAttributes", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "Attribute"}, + { "id-ce-basicConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "19"}, { "BasicConstraints", 1610612741, NULL }, { "cA", 1610645508, NULL }, { NULL, 131081, NULL }, { "pathLenConstraint", 537411587, NULL }, { "0", 10, "MAX"}, + { "id-ce-nameConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "30"}, + { "NameConstraints", 1610612741, NULL }, + { "permittedSubtrees", 1610637314, "GeneralSubtrees"}, + { NULL, 4104, "0"}, + { "excludedSubtrees", 536895490, "GeneralSubtrees"}, + { NULL, 4104, "1"}, + { "GeneralSubtrees", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "GeneralSubtree"}, + { "GeneralSubtree", 1610612741, NULL }, + { "base", 1073741826, "GeneralName"}, + { "minimum", 1610653698, "BaseDistance"}, + { NULL, 1073741833, "0"}, + { NULL, 4104, "0"}, + { "maximum", 536895490, "BaseDistance"}, + { NULL, 4104, "1"}, + { "BaseDistance", 1611137027, NULL }, + { "0", 10, "MAX"}, + { "id-ce-policyConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "36"}, + { "PolicyConstraints", 1610612741, NULL }, + { "requireExplicitPolicy", 1610637314, "SkipCerts"}, + { NULL, 4104, "0"}, + { "inhibitPolicyMapping", 536895490, "SkipCerts"}, + { NULL, 4104, "1"}, + { "SkipCerts", 1611137027, NULL }, + { "0", 10, "MAX"}, + { "id-ce-cRLDistributionPoints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "31"}, { "CRLDistributionPoints", 1612709899, NULL }, { "MAX", 1074266122, "1"}, { NULL, 2, "DistributionPoint"}, @@ -87,14 +202,123 @@ { NULL, 4104, "0"}, { "nameRelativeToCRLIssuer", 536879106, "RelativeDistinguishedName"}, { NULL, 4104, "1"}, - { "ReasonFlags", 1073741830, NULL }, + { "ReasonFlags", 1610874886, NULL }, + { "unused", 1073741825, "0"}, + { "keyCompromise", 1073741825, "1"}, + { "cACompromise", 1073741825, "2"}, + { "affiliationChanged", 1073741825, "3"}, + { "superseded", 1073741825, "4"}, + { "cessationOfOperation", 1073741825, "5"}, + { "certificateHold", 1073741825, "6"}, + { "privilegeWithdrawn", 1073741825, "7"}, + { "aACompromise", 1, "8"}, + { "id-ce-extKeyUsage", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "37"}, { "ExtKeyUsageSyntax", 1612709899, NULL }, { "MAX", 1074266122, "1"}, { NULL, 2, "KeyPurposeId"}, { "KeyPurposeId", 1073741836, NULL }, + { "id-kp-serverAuth", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "1"}, + { "id-kp-clientAuth", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "2"}, + { "id-kp-codeSigning", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "3"}, + { "id-kp-emailProtection", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "4"}, + { "id-kp-ipsecEndSystem", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "5"}, + { "id-kp-ipsecTunnel", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "6"}, + { "id-kp-ipsecUser", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "7"}, + { "id-kp-timeStamping", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "8"}, + { "id-pe-authorityInfoAccess", 1879048204, NULL }, + { NULL, 1073741825, "id-pe"}, + { NULL, 1, "1"}, + { "AuthorityInfoAccessSyntax", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "AccessDescription"}, + { "AccessDescription", 1610612741, NULL }, + { "accessMethod", 1073741836, NULL }, + { "accessLocation", 2, "GeneralName"}, + { "id-ce-cRLNumber", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "20"}, { "CRLNumber", 1611137027, NULL }, { "0", 10, "MAX"}, + { "id-ce-issuingDistributionPoint", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "28"}, + { "IssuingDistributionPoint", 1610612741, NULL }, + { "distributionPoint", 1610637314, "DistributionPointName"}, + { NULL, 4104, "0"}, + { "onlyContainsUserCerts", 1610653700, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "1"}, + { "onlyContainsCACerts", 1610653700, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "2"}, + { "onlySomeReasons", 1610637314, "ReasonFlags"}, + { NULL, 4104, "3"}, + { "indirectCRL", 536911876, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "4"}, + { "id-ce-deltaCRLIndicator", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "27"}, + { "BaseCRLNumber", 1073741826, "CRLNumber"}, + { "id-ce-cRLReasons", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "21"}, + { "CRLReason", 1610874901, NULL }, + { "unspecified", 1073741825, "0"}, + { "keyCompromise", 1073741825, "1"}, + { "cACompromise", 1073741825, "2"}, + { "affiliationChanged", 1073741825, "3"}, + { "superseded", 1073741825, "4"}, + { "cessationOfOperation", 1073741825, "5"}, + { "certificateHold", 1073741825, "6"}, + { "removeFromCRL", 1, "8"}, + { "id-ce-certificateIssuer", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "29"}, { "CertificateIssuer", 1073741826, "GeneralNames"}, + { "id-ce-holdInstructionCode", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "23"}, + { "HoldInstructionCode", 1073741836, NULL }, + { "holdInstruction", 1879048204, NULL }, + { "joint-iso-itu-t", 1073741825, "2"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9cm", 1073741825, "10040"}, + { NULL, 1, "2"}, + { "id-holdinstruction-none", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "1"}, + { "id-holdinstruction-callissuer", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "2"}, + { "id-holdinstruction-reject", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "3"}, + { "id-ce-invalidityDate", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "24"}, + { "InvalidityDate", 1082130449, NULL }, + { "VisibleString", 1610620935, NULL }, + { NULL, 4360, "26"}, { "NumericString", 1610620935, NULL }, { NULL, 4360, "18"}, { "IA5String", 1610620935, NULL }, @@ -109,6 +333,38 @@ { NULL, 4360, "30"}, { "UTF8String", 1610620935, NULL }, { NULL, 4360, "12"}, + { "id-pkix", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "identified-organization", 1073741825, "3"}, + { "dod", 1073741825, "6"}, + { "internet", 1073741825, "1"}, + { "security", 1073741825, "5"}, + { "mechanisms", 1073741825, "5"}, + { "pkix", 1, "7"}, + { "id-pe", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "1"}, + { "id-qt", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "2"}, + { "id-kp", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "3"}, + { "id-ad", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "48"}, + { "id-qt-cps", 1879048204, NULL }, + { NULL, 1073741825, "id-qt"}, + { NULL, 1, "1"}, + { "id-qt-unotice", 1879048204, NULL }, + { NULL, 1073741825, "id-qt"}, + { NULL, 1, "2"}, + { "id-ad-ocsp", 1879048204, NULL }, + { NULL, 1073741825, "id-ad"}, + { NULL, 1, "1"}, + { "id-ad-caIssuers", 1879048204, NULL }, + { NULL, 1073741825, "id-ad"}, + { NULL, 1, "2"}, { "Attribute", 1610612741, NULL }, { "type", 1073741826, "AttributeType"}, { "values", 536870927, NULL }, @@ -210,13 +466,17 @@ { "X520postalAddress", 1073741826, "PostalAddress"}, { "PostalAddress", 1610612747, NULL }, { NULL, 2, "DirectoryString"}, - { "emailAddress", 1880096780, "AttributeType"}, + { "pkcs", 1879048204, NULL }, { "iso", 1073741825, "1"}, { "member-body", 1073741825, "2"}, { "us", 1073741825, "840"}, { "rsadsi", 1073741825, "113549"}, - { "pkcs", 1073741825, "1"}, - { NULL, 1073741825, "9"}, + { "pkcs", 1, "1"}, + { "pkcs-9", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "9"}, + { "emailAddress", 1880096780, "AttributeType"}, + { NULL, 1073741825, "pkcs-9"}, { NULL, 1, "1"}, { "Pkcs9email", 1612709890, "IA5String"}, { "ub-emailaddress-length", 524298, "1"}, @@ -292,9 +552,38 @@ { "algorithm", 1073741836, NULL }, { "parameters", 541081613, NULL }, { "algorithm", 1, NULL }, + { "pkcs-1", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "1"}, + { "rsaEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "1"}, + { "md2WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "2"}, + { "md5WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "4"}, + { "sha1WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "5"}, + { "id-dsa-with-sha1", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9-57", 1073741825, "10040"}, + { "x9algorithm", 1073741825, "4"}, + { NULL, 1, "3"}, { "Dss-Sig-Value", 1610612741, NULL }, { "r", 1073741827, NULL }, { "s", 3, NULL }, + { "dhpublicnumber", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "ansi-x942", 1073741825, "10046"}, + { "number-type", 1073741825, "2"}, + { NULL, 1, "1"}, { "DomainParameters", 1610612741, NULL }, { "p", 1073741827, NULL }, { "g", 1073741827, NULL }, @@ -304,26 +593,253 @@ { "ValidationParms", 1610612741, NULL }, { "seed", 1073741830, NULL }, { "pgenCounter", 3, NULL }, + { "id-dsa", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9-57", 1073741825, "10040"}, + { "x9algorithm", 1073741825, "4"}, + { NULL, 1, "1"}, { "Dss-Parms", 1610612741, NULL }, { "p", 1073741827, NULL }, { "q", 1073741827, NULL }, { "g", 3, NULL }, + { "ORAddress", 1610612741, NULL }, + { "built-in-standard-attributes", 1073741826, "BuiltInStandardAttributes"}, + { "built-in-domain-defined-attributes", 1073758210, "BuiltInDomainDefinedAttributes"}, + { "extension-attributes", 16386, "ExtensionAttributes"}, + { "BuiltInStandardAttributes", 1610612741, NULL }, + { "country-name", 1073758210, "CountryName"}, + { "administration-domain-name", 1073758210, "AdministrationDomainName"}, + { "network-address", 1610637314, "NetworkAddress"}, + { NULL, 2056, "0"}, + { "terminal-identifier", 1610637314, "TerminalIdentifier"}, + { NULL, 2056, "1"}, + { "private-domain-name", 1610637314, "PrivateDomainName"}, + { NULL, 2056, "2"}, + { "organization-name", 1610637314, "OrganizationName"}, + { NULL, 2056, "3"}, + { "numeric-user-identifier", 1610637314, "NumericUserIdentifier"}, + { NULL, 2056, "4"}, + { "personal-name", 1610637314, "PersonalName"}, + { NULL, 2056, "5"}, + { "organizational-unit-names", 536895490, "OrganizationalUnitNames"}, + { NULL, 2056, "6"}, { "CountryName", 1610620946, NULL }, { NULL, 1073746952, "1"}, { "x121-dcc-code", 1612709890, "NumericString"}, { NULL, 1048586, "ub-country-name-numeric-length"}, { "iso-3166-alpha2-code", 538968066, "PrintableString"}, { NULL, 1048586, "ub-country-name-alpha-length"}, + { "AdministrationDomainName", 1610620946, NULL }, + { NULL, 1073744904, "2"}, + { "numeric", 1612709890, "NumericString"}, + { "ub-domain-name-length", 524298, "0"}, + { "printable", 538968066, "PrintableString"}, + { "ub-domain-name-length", 524298, "0"}, + { "NetworkAddress", 1073741826, "X121Address"}, + { "X121Address", 1612709890, "NumericString"}, + { "ub-x121-address-length", 524298, "1"}, + { "TerminalIdentifier", 1612709890, "PrintableString"}, + { "ub-terminal-id-length", 524298, "1"}, + { "PrivateDomainName", 1610612754, NULL }, + { "numeric", 1612709890, "NumericString"}, + { "ub-domain-name-length", 524298, "1"}, + { "printable", 538968066, "PrintableString"}, + { "ub-domain-name-length", 524298, "1"}, { "OrganizationName", 1612709890, "PrintableString"}, { "ub-organization-name-length", 524298, "1"}, { "NumericUserIdentifier", 1612709890, "NumericString"}, { "ub-numeric-user-id-length", 524298, "1"}, + { "PersonalName", 1610612750, NULL }, + { "surname", 1814044674, "PrintableString"}, + { NULL, 1073745928, "0"}, + { "ub-surname-length", 524298, "1"}, + { "given-name", 1814061058, "PrintableString"}, + { NULL, 1073745928, "1"}, + { "ub-given-name-length", 524298, "1"}, + { "initials", 1814061058, "PrintableString"}, + { NULL, 1073745928, "2"}, + { "ub-initials-length", 524298, "1"}, + { "generation-qualifier", 740319234, "PrintableString"}, + { NULL, 1073745928, "3"}, + { "ub-generation-qualifier-length", 524298, "1"}, { "OrganizationalUnitNames", 1612709899, NULL }, { "ub-organizational-units", 1074266122, "1"}, { NULL, 2, "OrganizationalUnitName"}, { "OrganizationalUnitName", 1612709890, "PrintableString"}, { "ub-organizational-unit-name-length", 524298, "1"}, - { "CommonName", 1073741826, "PrintableString"}, + { "BuiltInDomainDefinedAttributes", 1612709899, NULL }, + { "ub-domain-defined-attributes", 1074266122, "1"}, + { NULL, 2, "BuiltInDomainDefinedAttribute"}, + { "BuiltInDomainDefinedAttribute", 1610612741, NULL }, + { "type", 1612709890, "PrintableString"}, + { "ub-domain-defined-attribute-type-length", 524298, "1"}, + { "value", 538968066, "PrintableString"}, + { "ub-domain-defined-attribute-value-length", 524298, "1"}, + { "ExtensionAttributes", 1612709903, NULL }, + { "ub-extension-attributes", 1074266122, "1"}, + { NULL, 2, "ExtensionAttribute"}, + { "ExtensionAttribute", 1610612741, NULL }, + { "extension-attribute-type", 1611145219, NULL }, + { NULL, 1073743880, "0"}, + { "0", 10, "ub-extension-attributes"}, + { "extension-attribute-value", 541073421, NULL }, + { NULL, 1073743880, "1"}, + { "extension-attribute-type", 1, NULL }, + { "common-name", 1342177283, "1"}, + { "CommonName", 1612709890, "PrintableString"}, + { "ub-common-name-length", 524298, "1"}, + { "teletex-common-name", 1342177283, "2"}, + { "TeletexCommonName", 1612709890, "TeletexString"}, + { "ub-common-name-length", 524298, "1"}, + { "teletex-organization-name", 1342177283, "3"}, + { "TeletexOrganizationName", 1612709890, "TeletexString"}, + { "ub-organization-name-length", 524298, "1"}, + { "teletex-personal-name", 1342177283, "4"}, + { "TeletexPersonalName", 1610612750, NULL }, + { "surname", 1814044674, "TeletexString"}, + { NULL, 1073743880, "0"}, + { "ub-surname-length", 524298, "1"}, + { "given-name", 1814061058, "TeletexString"}, + { NULL, 1073743880, "1"}, + { "ub-given-name-length", 524298, "1"}, + { "initials", 1814061058, "TeletexString"}, + { NULL, 1073743880, "2"}, + { "ub-initials-length", 524298, "1"}, + { "generation-qualifier", 740319234, "TeletexString"}, + { NULL, 1073743880, "3"}, + { "ub-generation-qualifier-length", 524298, "1"}, + { "teletex-organizational-unit-names", 1342177283, "5"}, + { "TeletexOrganizationalUnitNames", 1612709899, NULL }, + { "ub-organizational-units", 1074266122, "1"}, + { NULL, 2, "TeletexOrganizationalUnitName"}, + { "TeletexOrganizationalUnitName", 1612709890, "TeletexString"}, + { "ub-organizational-unit-name-length", 524298, "1"}, + { "pds-name", 1342177283, "7"}, + { "PDSName", 1612709890, "PrintableString"}, + { "ub-pds-name-length", 524298, "1"}, + { "physical-delivery-country-name", 1342177283, "8"}, + { "PhysicalDeliveryCountryName", 1610612754, NULL }, + { "x121-dcc-code", 1612709890, "NumericString"}, + { NULL, 1048586, "ub-country-name-numeric-length"}, + { "iso-3166-alpha2-code", 538968066, "PrintableString"}, + { NULL, 1048586, "ub-country-name-alpha-length"}, + { "postal-code", 1342177283, "9"}, + { "PostalCode", 1610612754, NULL }, + { "numeric-code", 1612709890, "NumericString"}, + { "ub-postal-code-length", 524298, "1"}, + { "printable-code", 538968066, "PrintableString"}, + { "ub-postal-code-length", 524298, "1"}, + { "physical-delivery-office-name", 1342177283, "10"}, + { "PhysicalDeliveryOfficeName", 1073741826, "PDSParameter"}, + { "physical-delivery-office-number", 1342177283, "11"}, + { "PhysicalDeliveryOfficeNumber", 1073741826, "PDSParameter"}, + { "extension-OR-address-components", 1342177283, "12"}, + { "ExtensionORAddressComponents", 1073741826, "PDSParameter"}, + { "physical-delivery-personal-name", 1342177283, "13"}, + { "PhysicalDeliveryPersonalName", 1073741826, "PDSParameter"}, + { "physical-delivery-organization-name", 1342177283, "14"}, + { "PhysicalDeliveryOrganizationName", 1073741826, "PDSParameter"}, + { "extension-physical-delivery-address-components", 1342177283, "15"}, + { "ExtensionPhysicalDeliveryAddressComponents", 1073741826, "PDSParameter"}, + { "unformatted-postal-address", 1342177283, "16"}, + { "UnformattedPostalAddress", 1610612750, NULL }, + { "printable-address", 1814052875, NULL }, + { "ub-pds-physical-address-lines", 1074266122, "1"}, + { NULL, 538968066, "PrintableString"}, + { "ub-pds-parameter-length", 524298, "1"}, + { "teletex-string", 740311042, "TeletexString"}, + { "ub-unformatted-address-length", 524298, "1"}, + { "street-address", 1342177283, "17"}, + { "StreetAddress", 1073741826, "PDSParameter"}, + { "post-office-box-address", 1342177283, "18"}, + { "PostOfficeBoxAddress", 1073741826, "PDSParameter"}, + { "poste-restante-address", 1342177283, "19"}, + { "PosteRestanteAddress", 1073741826, "PDSParameter"}, + { "unique-postal-name", 1342177283, "20"}, + { "UniquePostalName", 1073741826, "PDSParameter"}, + { "local-postal-attributes", 1342177283, "21"}, + { "LocalPostalAttributes", 1073741826, "PDSParameter"}, + { "PDSParameter", 1610612750, NULL }, + { "printable-string", 1814052866, "PrintableString"}, + { "ub-pds-parameter-length", 524298, "1"}, + { "teletex-string", 740311042, "TeletexString"}, + { "ub-pds-parameter-length", 524298, "1"}, + { "extended-network-address", 1342177283, "22"}, + { "ExtendedNetworkAddress", 1610612754, NULL }, + { "e163-4-address", 1610612741, NULL }, + { "number", 1612718082, "NumericString"}, + { NULL, 1073743880, "0"}, + { "ub-e163-4-number-length", 524298, "1"}, + { "sub-address", 538992642, "NumericString"}, + { NULL, 1073743880, "1"}, + { "ub-e163-4-sub-address-length", 524298, "1"}, + { "psap-address", 536879106, "PresentationAddress"}, + { NULL, 2056, "0"}, + { "PresentationAddress", 1610612741, NULL }, + { "pSelector", 1610637319, NULL }, + { NULL, 2056, "0"}, + { "sSelector", 1610637319, NULL }, + { NULL, 2056, "1"}, + { "tSelector", 1610637319, NULL }, + { NULL, 2056, "2"}, + { "nAddresses", 538976271, NULL }, + { NULL, 1073743880, "3"}, + { "MAX", 1074266122, "1"}, + { NULL, 7, NULL }, + { "terminal-type", 1342177283, "23"}, + { "TerminalType", 1610874883, NULL }, + { "telex", 1073741825, "3"}, + { "teletex", 1073741825, "4"}, + { "g3-facsimile", 1073741825, "5"}, + { "g4-facsimile", 1073741825, "6"}, + { "ia5-terminal", 1073741825, "7"}, + { "videotex", 1, "8"}, + { "teletex-domain-defined-attributes", 1342177283, "6"}, + { "TeletexDomainDefinedAttributes", 1612709899, NULL }, + { "ub-domain-defined-attributes", 1074266122, "1"}, + { NULL, 2, "TeletexDomainDefinedAttribute"}, + { "TeletexDomainDefinedAttribute", 1610612741, NULL }, + { "type", 1612709890, "TeletexString"}, + { "ub-domain-defined-attribute-type-length", 524298, "1"}, + { "value", 538968066, "TeletexString"}, + { "ub-domain-defined-attribute-value-length", 524298, "1"}, + { "ub-name", 1342177283, "32768"}, + { "ub-common-name", 1342177283, "64"}, + { "ub-locality-name", 1342177283, "128"}, + { "ub-state-name", 1342177283, "128"}, + { "ub-organization-name", 1342177283, "64"}, + { "ub-organizational-unit-name", 1342177283, "64"}, + { "ub-title", 1342177283, "64"}, + { "ub-match", 1342177283, "128"}, + { "ub-emailaddress-length", 1342177283, "128"}, + { "ub-common-name-length", 1342177283, "64"}, + { "ub-country-name-alpha-length", 1342177283, "2"}, + { "ub-country-name-numeric-length", 1342177283, "3"}, + { "ub-domain-defined-attributes", 1342177283, "4"}, + { "ub-domain-defined-attribute-type-length", 1342177283, "8"}, + { "ub-domain-defined-attribute-value-length", 1342177283, "128"}, + { "ub-domain-name-length", 1342177283, "16"}, + { "ub-extension-attributes", 1342177283, "256"}, + { "ub-e163-4-number-length", 1342177283, "15"}, + { "ub-e163-4-sub-address-length", 1342177283, "40"}, + { "ub-generation-qualifier-length", 1342177283, "3"}, + { "ub-given-name-length", 1342177283, "16"}, + { "ub-initials-length", 1342177283, "5"}, + { "ub-integer-options", 1342177283, "256"}, + { "ub-numeric-user-id-length", 1342177283, "32"}, + { "ub-organization-name-length", 1342177283, "64"}, + { "ub-organizational-unit-name-length", 1342177283, "32"}, + { "ub-organizational-units", 1342177283, "4"}, + { "ub-pds-name-length", 1342177283, "16"}, + { "ub-pds-parameter-length", 1342177283, "30"}, + { "ub-pds-physical-address-lines", 1342177283, "6"}, + { "ub-postal-code-length", 1342177283, "16"}, + { "ub-surname-length", 1342177283, "40"}, + { "ub-terminal-id-length", 1342177283, "24"}, + { "ub-unformatted-address-length", 1342177283, "180"}, + { "ub-x121-address-length", 1342177283, "16"}, { "pkcs-7-ContentInfo", 1610612741, NULL }, { "contentType", 1073741826, "pkcs-7-ContentType"}, { "content", 541073421, NULL }, @@ -377,33 +893,27 @@ { "certificationRequestInfo", 1073741826, "pkcs-10-CertificationRequestInfo"}, { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, { "signature", 6, NULL }, + { "pkcs-9-ub-challengePassword", 1342177283, "255"}, + { "pkcs-9-certTypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "22"}, + { "pkcs-9-crlTypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "23"}, { "pkcs-9-at-challengePassword", 1879048204, NULL }, - { "iso", 1073741825, "1"}, - { "member-body", 1073741825, "2"}, - { "us", 1073741825, "840"}, - { "rsadsi", 1073741825, "113549"}, - { "pkcs", 1073741825, "1"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "pkcs-9"}, { NULL, 1, "7"}, { "pkcs-9-challengePassword", 1610612754, NULL }, - { "printableString", 1073741826, "PrintableString"}, - { "utf8String", 2, "UTF8String"}, + { "printableString", 1612709890, "PrintableString"}, + { "pkcs-9-ub-challengePassword", 524298, "1"}, + { "utf8String", 538968066, "UTF8String"}, + { "pkcs-9-ub-challengePassword", 524298, "1"}, { "pkcs-9-at-localKeyId", 1879048204, NULL }, - { "iso", 1073741825, "1"}, - { "member-body", 1073741825, "2"}, - { "us", 1073741825, "840"}, - { "rsadsi", 1073741825, "113549"}, - { "pkcs", 1073741825, "1"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "pkcs-9"}, { NULL, 1, "21"}, { "pkcs-9-localKeyId", 1073741831, NULL }, { "pkcs-9-at-friendlyName", 1879048204, NULL }, - { "iso", 1073741825, "1"}, - { "member-body", 1073741825, "2"}, - { "us", 1073741825, "840"}, - { "rsadsi", 1073741825, "113549"}, - { "pkcs", 1073741825, "1"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "pkcs-9"}, { NULL, 1, "20"}, { "pkcs-9-friendlyName", 1612709890, "BMPString"}, { "255", 524298, "1"}, @@ -422,11 +932,29 @@ { "encryptionAlgorithm", 1073741826, "AlgorithmIdentifier"}, { "encryptedData", 2, "pkcs-8-EncryptedData"}, { "pkcs-8-EncryptedData", 1073741831, NULL }, + { "pkcs-5", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "5"}, + { "pkcs-5-encryptionAlgorithm", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "rsadsi", 1073741825, "113549"}, + { NULL, 1, "3"}, + { "pkcs-5-des-EDE3-CBC", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5-encryptionAlgorithm"}, + { NULL, 1, "7"}, { "pkcs-5-des-EDE3-CBC-params", 1612709895, NULL }, { NULL, 1048586, "8"}, + { "pkcs-5-id-PBES2", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5"}, + { NULL, 1, "13"}, { "pkcs-5-PBES2-params", 1610612741, NULL }, { "keyDerivationFunc", 1073741826, "AlgorithmIdentifier"}, { "encryptionScheme", 2, "AlgorithmIdentifier"}, + { "pkcs-5-id-PBKDF2", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5"}, + { NULL, 1, "12"}, { "pkcs-5-PBKDF2-params", 1610612741, NULL }, { "salt", 1610612754, NULL }, { "specified", 1073741831, NULL }, @@ -436,6 +964,9 @@ { "keyLength", 1611153411, NULL }, { "1", 10, "MAX"}, { "prf", 16386, "AlgorithmIdentifier"}, + { "pkcs-12", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "12"}, { "pkcs-12-PFX", 1610612741, NULL }, { "version", 1610874883, NULL }, { "v3", 1, "3"}, @@ -460,6 +991,22 @@ { "badId", 1, NULL }, { "bagAttributes", 536887311, NULL }, { NULL, 2, "pkcs-12-PKCS12Attribute"}, + { "pkcs-12-bagtypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12"}, + { NULL, 1073741825, "10"}, + { NULL, 1, "1"}, + { "pkcs-12-keyBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "1"}, + { "pkcs-12-pkcs8ShroudedKeyBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "2"}, + { "pkcs-12-certBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "3"}, + { "pkcs-12-crlBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "4"}, { "pkcs-12-KeyBag", 1073741826, "pkcs-8-PrivateKeyInfo"}, { "pkcs-12-PKCS8ShroudedKeyBag", 1073741826, "pkcs-8-EncryptedPrivateKeyInfo"}, { "pkcs-12-CertBag", 1610612741, NULL }, @@ -473,6 +1020,22 @@ { NULL, 1073743880, "0"}, { "crlId", 1, NULL }, { "pkcs-12-PKCS12Attribute", 1073741826, "Attribute"}, + { "pkcs-7-data", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "rsadsi", 1073741825, "113549"}, + { "pkcs", 1073741825, "1"}, + { "pkcs7", 1073741825, "7"}, + { NULL, 1, "1"}, + { "pkcs-7-encryptedData", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "rsadsi", 1073741825, "113549"}, + { "pkcs", 1073741825, "1"}, + { "pkcs7", 1073741825, "7"}, + { NULL, 1, "6"}, { "pkcs-7-Data", 1073741831, NULL }, { "pkcs-7-EncryptedData", 1610612741, NULL }, { "version", 1073741826, "pkcs-7-CMSVersion"}, @@ -507,34 +1070,43 @@ { NULL, 1073741825, "1"}, { NULL, 1, "1"}, { "ldap-UID", 1073741826, "DirectoryString"}, - { "id-pda-dateOfBirth", 1880096780, "AttributeType"}, + { "id-pda", 1879048204, NULL }, { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "9"}, + { NULL, 1, "9"}, + { "id-pda-dateOfBirth", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, { NULL, 1, "1"}, { "DateOfBirth", 1082130449, NULL }, { "id-pda-placeOfBirth", 1880096780, "AttributeType"}, - { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "id-pda"}, { NULL, 1, "2"}, { "PlaceOfBirth", 1073741826, "DirectoryString"}, { "id-pda-gender", 1880096780, "AttributeType"}, - { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "id-pda"}, { NULL, 1, "3"}, { "Gender", 1612709890, "PrintableString"}, { NULL, 1048586, "1"}, { "id-pda-countryOfCitizenship", 1880096780, "AttributeType"}, - { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "id-pda"}, { NULL, 1, "4"}, { "CountryOfCitizenship", 1612709890, "PrintableString"}, { NULL, 1048586, "2"}, { "id-pda-countryOfResidence", 1880096780, "AttributeType"}, - { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "9"}, + { NULL, 1073741825, "id-pda"}, { NULL, 1, "5"}, { "CountryOfResidence", 1612709890, "PrintableString"}, { NULL, 1048586, "2"}, + { "id-pe-proxyCertInfo", 1879048204, NULL }, + { NULL, 1073741825, "id-pe"}, + { NULL, 1, "14"}, + { "id-ppl-inheritAll", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1073741825, "21"}, + { NULL, 1, "1"}, + { "id-ppl-independent", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1073741825, "21"}, + { NULL, 1, "2"}, { "ProxyCertInfo", 1610612741, NULL }, { "pCPathLenConstraint", 1611153411, NULL }, { "0", 10, "MAX"}, @@ -542,9 +1114,11 @@ { "ProxyPolicy", 1610612741, NULL }, { "policyLanguage", 1073741836, NULL }, { "policy", 16391, NULL }, - { "id-on-xmppAddr", 1879048204, NULL }, + { "id-on", 1879048204, NULL }, { NULL, 1073741825, "id-pkix"}, - { NULL, 1073741825, "8"}, + { NULL, 1, "8"}, + { "id-on-xmppAddr", 1879048204, NULL }, + { NULL, 1073741825, "id-on"}, { NULL, 1, "5"}, { "XmppAddr", 2, "UTF8String"}, { NULL, 0, NULL } diff -Nru gnutls26-2.8.6/lib/pk-libgcrypt.c gnutls26-2.4.1/lib/pk-libgcrypt.c --- gnutls26-2.8.6/lib/pk-libgcrypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/pk-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,812 +0,0 @@ -/* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -/* This file contains the functions needed for RSA/DSA public key - * encryption and signatures. - */ - -#include -#include -#include -#include -#include -#include -#include -#include "debug.h" -#include -#include -#include -#include -#include - -/* this is based on code from old versions of libgcrypt (centuries ago) - */ - -int (*generate) (gnutls_pk_algorithm_t, unsigned int level /*bits */ , - gnutls_pk_params_st *); - -static int -_wrap_gcry_pk_encrypt (gnutls_pk_algorithm_t algo, - gnutls_datum_t * ciphertext, - const gnutls_datum_t * plaintext, - const gnutls_pk_params_st * pk_params) -{ - gcry_sexp_t s_ciph = NULL, s_data = NULL, s_pkey = NULL; - int rc = -1; - int ret; - bigint_t data, res; - gcry_sexp_t list; - - if (_gnutls_mpi_scan_nz (&data, plaintext->data, plaintext->size) != 0) - { - gnutls_assert (); - return GNUTLS_E_MPI_SCAN_FAILED; - } - - /* make a sexp from pkey */ - switch (algo) - { - case GNUTLS_PK_RSA: - if (pk_params->params_nr >= 2) - rc = gcry_sexp_build (&s_pkey, NULL, - "(public-key(rsa(n%m)(e%m)))", - pk_params->params[0], pk_params->params[1]); - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - /* put the data into a simple list */ - if (gcry_sexp_build (&s_data, NULL, "%m", data)) - { - gnutls_assert (); - ret = GNUTLS_E_MEMORY_ERROR; - goto cleanup; - } - - /* pass it to libgcrypt */ - rc = gcry_pk_encrypt (&s_ciph, s_data, s_pkey); - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_PK_ENCRYPTION_FAILED; - goto cleanup; - } - - list = gcry_sexp_find_token (s_ciph, "a", 0); - if (list == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - res = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - if (res == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - ret = _gnutls_mpi_dprint_size (res, ciphertext, plaintext->size); - _gnutls_mpi_release (&res); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - - ret = 0; - -cleanup: - _gnutls_mpi_release (&data); - if (s_ciph) - gcry_sexp_release (s_ciph); - if (s_data) - gcry_sexp_release (s_data); - if (s_pkey) - gcry_sexp_release (s_pkey); - - return ret; -} - -static int -_wrap_gcry_pk_decrypt (gnutls_pk_algorithm_t algo, - gnutls_datum_t * plaintext, - const gnutls_datum_t * ciphertext, - const gnutls_pk_params_st * pk_params) -{ - gcry_sexp_t s_plain = NULL, s_data = NULL, s_pkey = NULL; - int rc = -1; - int ret; - bigint_t data, res; - - if (_gnutls_mpi_scan_nz (&data, ciphertext->data, ciphertext->size) != 0) - { - gnutls_assert (); - return GNUTLS_E_MPI_SCAN_FAILED; - } - - /* make a sexp from pkey */ - switch (algo) - { - case GNUTLS_PK_RSA: - if (pk_params->params_nr >= 6) - rc = gcry_sexp_build (&s_pkey, NULL, - "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))", - pk_params->params[0], pk_params->params[1], - pk_params->params[2], pk_params->params[3], - pk_params->params[4], pk_params->params[5]); - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - /* put the data into a simple list */ - if (gcry_sexp_build (&s_data, NULL, "(enc-val(rsa(a%m)))", data)) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - /* pass it to libgcrypt */ - rc = gcry_pk_decrypt (&s_plain, s_data, s_pkey); - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_PK_DECRYPTION_FAILED; - goto cleanup; - } - - res = gcry_sexp_nth_mpi (s_plain, 0, 0); - if (res == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - ret = _gnutls_mpi_dprint_size (res, plaintext, ciphertext->size); - _gnutls_mpi_release (&res); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - - ret = 0; - -cleanup: - _gnutls_mpi_release (&data); - if (s_plain) - gcry_sexp_release (s_plain); - if (s_data) - gcry_sexp_release (s_data); - if (s_pkey) - gcry_sexp_release (s_pkey); - - return ret; - -} - - -/* in case of DSA puts into data, r,s - */ -static int -_wrap_gcry_pk_sign (gnutls_pk_algorithm_t algo, gnutls_datum_t * signature, - const gnutls_datum_t * vdata, - const gnutls_pk_params_st * pk_params) -{ - gcry_sexp_t s_hash = NULL, s_key = NULL, s_sig = NULL; - gcry_sexp_t list = NULL; - int rc = -1, ret; - bigint_t hash; - bigint_t res[2] = { NULL, NULL }; - - if (_gnutls_mpi_scan_nz (&hash, vdata->data, vdata->size) != 0) - { - gnutls_assert (); - return GNUTLS_E_MPI_SCAN_FAILED; - } - - /* make a sexp from pkey */ - switch (algo) - { - case GNUTLS_PK_DSA: - if (pk_params->params_nr >= 5) - rc = gcry_sexp_build (&s_key, NULL, - "(private-key(dsa(p%m)(q%m)(g%m)(y%m)(x%m)))", - pk_params->params[0], pk_params->params[1], - pk_params->params[2], pk_params->params[3], - pk_params->params[4]); - else - { - gnutls_assert (); - } - - break; - case GNUTLS_PK_RSA: - if (pk_params->params_nr >= 6) - rc = gcry_sexp_build (&s_key, NULL, - "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))", - pk_params->params[0], pk_params->params[1], - pk_params->params[2], pk_params->params[3], - pk_params->params[4], pk_params->params[5]); - else - { - gnutls_assert (); - } - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - /* put the data into a simple list */ - if (gcry_sexp_build (&s_hash, NULL, "%m", hash)) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - - /* pass it to libgcrypt */ - rc = gcry_pk_sign (&s_sig, s_hash, s_key); - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_PK_SIGN_FAILED; - goto cleanup; - } - - ret = GNUTLS_E_INTERNAL_ERROR; - - switch (algo) - { - case GNUTLS_PK_DSA: - { - list = gcry_sexp_find_token (s_sig, "r", 0); - if (list == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - res[0] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (s_sig, "s", 0); - if (list == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - res[1] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - ret = _gnutls_encode_ber_rs (signature, res[0], res[1]); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - } - break; - - case GNUTLS_PK_RSA: - { - list = gcry_sexp_find_token (s_sig, "s", 0); - if (list == NULL) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - res[0] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - ret = _gnutls_mpi_dprint (res[0], signature); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - } - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - ret = 0; - -cleanup: - _gnutls_mpi_release (&hash); - if (res[0]) - _gnutls_mpi_release (&res[0]); - if (res[1]) - _gnutls_mpi_release (&res[1]); - if (s_sig) - gcry_sexp_release (s_sig); - if (s_hash) - gcry_sexp_release (s_hash); - if (s_key) - gcry_sexp_release (s_key); - - return ret; -} - -static int -_wrap_gcry_pk_verify (gnutls_pk_algorithm_t algo, - const gnutls_datum_t * vdata, - const gnutls_datum_t * signature, - const gnutls_pk_params_st * pk_params) -{ - gcry_sexp_t s_sig = NULL, s_hash = NULL, s_pkey = NULL; - int rc = -1, ret; - bigint_t hash; - bigint_t tmp[2] = { NULL, NULL }; - - if (_gnutls_mpi_scan_nz (&hash, vdata->data, vdata->size) != 0) - { - gnutls_assert (); - return GNUTLS_E_MPI_SCAN_FAILED; - } - - /* make a sexp from pkey */ - switch (algo) - { - case GNUTLS_PK_DSA: - if (pk_params->params_nr >= 4) - rc = gcry_sexp_build (&s_pkey, NULL, - "(public-key(dsa(p%m)(q%m)(g%m)(y%m)))", - pk_params->params[0], pk_params->params[1], - pk_params->params[2], pk_params->params[3]); - break; - case GNUTLS_PK_RSA: - if (pk_params->params_nr >= 2) - rc = gcry_sexp_build (&s_pkey, NULL, - "(public-key(rsa(n%m)(e%m)))", - pk_params->params[0], pk_params->params[1]); - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - /* put the data into a simple list */ - if (gcry_sexp_build (&s_hash, NULL, "%m", hash)) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - switch (algo) - { - case GNUTLS_PK_DSA: - ret = _gnutls_decode_ber_rs (signature, &tmp[0], &tmp[1]); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - rc = gcry_sexp_build (&s_sig, NULL, - "(sig-val(dsa(r%m)(s%m)))", tmp[0], tmp[1]); - _gnutls_mpi_release (&tmp[0]); - _gnutls_mpi_release (&tmp[1]); - break; - - case GNUTLS_PK_RSA: - ret = _gnutls_mpi_scan_nz (&tmp[0], signature->data, signature->size); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - rc = gcry_sexp_build (&s_sig, NULL, "(sig-val(rsa(s%m)))", tmp[0]); - _gnutls_mpi_release (&tmp[0]); - break; - - default: - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_INTERNAL_ERROR; - goto cleanup; - } - - rc = gcry_pk_verify (s_sig, s_hash, s_pkey); - - if (rc != 0) - { - gnutls_assert (); - ret = GNUTLS_E_PK_SIG_VERIFY_FAILED; - goto cleanup; - } - - ret = 0; - -cleanup: - _gnutls_mpi_release (&hash); - if (s_sig) - gcry_sexp_release (s_sig); - if (s_hash) - gcry_sexp_release (s_hash); - if (s_pkey) - gcry_sexp_release (s_pkey); - - return ret; -} - -static int -_dsa_generate_params (bigint_t * resarr, int *resarr_len, int bits) -{ - - int ret; - gcry_sexp_t parms, key, list; - - /* FIXME: Remove me once we depend on 1.3.1 */ - if (bits > 1024 && gcry_check_version ("1.3.1") == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (bits < 512) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - ret = gcry_sexp_build (&parms, NULL, "(genkey(dsa(nbits %d)))", bits); - if (ret != 0) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - /* generate the DSA key - */ - ret = gcry_pk_genkey (&key, parms); - gcry_sexp_release (parms); - - if (ret != 0) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - list = gcry_sexp_find_token (key, "p", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[0] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "q", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[1] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "g", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[2] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "y", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[3] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - - list = gcry_sexp_find_token (key, "x", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[4] = gcry_sexp_nth_mpi (list, 1, 0); - - gcry_sexp_release (list); - gcry_sexp_release (key); - - _gnutls_dump_mpi ("p: ", resarr[0]); - _gnutls_dump_mpi ("q: ", resarr[1]); - _gnutls_dump_mpi ("g: ", resarr[2]); - _gnutls_dump_mpi ("y: ", resarr[3]); - _gnutls_dump_mpi ("x: ", resarr[4]); - - *resarr_len = 5; - - return 0; - -} - -static int -_rsa_generate_params (bigint_t * resarr, int *resarr_len, int bits) -{ - - int ret; - gcry_sexp_t parms, key, list; - - ret = gcry_sexp_build (&parms, NULL, "(genkey(rsa(nbits %d)))", bits); - if (ret != 0) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - /* generate the RSA key */ - ret = gcry_pk_genkey (&key, parms); - gcry_sexp_release (parms); - - if (ret != 0) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - - list = gcry_sexp_find_token (key, "n", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[0] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "e", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[1] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "d", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[2] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - list = gcry_sexp_find_token (key, "p", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[3] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - - list = gcry_sexp_find_token (key, "q", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[4] = gcry_sexp_nth_mpi (list, 1, 0); - gcry_sexp_release (list); - - - list = gcry_sexp_find_token (key, "u", 0); - if (list == NULL) - { - gnutls_assert (); - gcry_sexp_release (key); - return GNUTLS_E_INTERNAL_ERROR; - } - - resarr[5] = gcry_sexp_nth_mpi (list, 1, 0); - - gcry_sexp_release (list); - gcry_sexp_release (key); - - _gnutls_dump_mpi ("n: ", resarr[0]); - _gnutls_dump_mpi ("e: ", resarr[1]); - _gnutls_dump_mpi ("d: ", resarr[2]); - _gnutls_dump_mpi ("p: ", resarr[3]); - _gnutls_dump_mpi ("q: ", resarr[4]); - _gnutls_dump_mpi ("u: ", resarr[5]); - - *resarr_len = 6; - - return 0; -} - - -static int -wrap_gcry_pk_generate_params (gnutls_pk_algorithm_t algo, - unsigned int level /*bits */ , - gnutls_pk_params_st * params) -{ - - switch (algo) - { - - case GNUTLS_PK_DSA: - params->params_nr = DSA_PRIVATE_PARAMS; - if (params->params_nr > GNUTLS_MAX_PK_PARAMS) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - return _dsa_generate_params (params->params, ¶ms->params_nr, level); - - case GNUTLS_PK_RSA: - params->params_nr = RSA_PRIVATE_PARAMS; - if (params->params_nr > GNUTLS_MAX_PK_PARAMS) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - return _rsa_generate_params (params->params, ¶ms->params_nr, level); - - default: - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } -} - - -static int -wrap_gcry_pk_fixup (gnutls_pk_algorithm_t algo, - gnutls_direction_t direction, - gnutls_pk_params_st * params) -{ - int ret; - - /* only for RSA we invert the coefficient --pgp type */ - - if (algo != GNUTLS_PK_RSA) - return 0; - - if (params->params[5]) - _gnutls_mpi_release (¶ms->params[5]); - params->params[5] = - _gnutls_mpi_new (_gnutls_mpi_get_nbits (params->params[0])); - - if (params->params[5] == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - if (direction == GNUTLS_IMPORT) - ret = - gcry_mpi_invm (params->params[5], params->params[3], params->params[4]); - else - ret = - gcry_mpi_invm (params->params[5], params->params[4], params->params[3]); - if (ret == 0) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - return 0; -} - -int crypto_pk_prio = INT_MAX; - -gnutls_crypto_pk_st _gnutls_pk_ops = { - .encrypt = _wrap_gcry_pk_encrypt, - .decrypt = _wrap_gcry_pk_decrypt, - .sign = _wrap_gcry_pk_sign, - .verify = _wrap_gcry_pk_verify, - .generate = wrap_gcry_pk_generate_params, - .pk_fixup_private_params = wrap_gcry_pk_fixup, -}; diff -Nru gnutls26-2.8.6/lib/po/boldquot.sed gnutls26-2.4.1/lib/po/boldquot.sed --- gnutls26-2.8.6/lib/po/boldquot.sed 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/boldquot.sed 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -s/"\([^"]*\)"/“\1â€/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“â€/""/g -s/“/“/g -s/â€/â€/g -s/‘/‘/g -s/’/’/g Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/cs.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/cs.gmo differ diff -Nru gnutls26-2.8.6/lib/po/cs.po gnutls26-2.4.1/lib/po/cs.po --- gnutls26-2.8.6/lib/po/cs.po 2010-03-15 10:43:24.000000000 +0000 +++ gnutls26-2.4.1/lib/po/cs.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1126 +0,0 @@ -# Czech translation of libgnutls. -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Petr Pisar , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.5\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2009-12-27 17:23+0100\n" -"Last-Translator: Petr Pisar \n" -"Language-Team: Czech \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "ÚspÄ›ch." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "NezdaÅ™ilo se vyjednat seznam podporovaných Å¡ifer." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Tento druh Å¡ifry není podporován." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Certifikát a daný klÃ­Ä se k sobÄ› nehodí." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "NezdaÅ™ilo se vyjednat podporovanou kompresní metodu." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Narazil jsem na neznámý algoritmus veÅ™ejného klíÄe." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Byl vyjednán algoritmus, který není povolen." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Byl pÅ™ijat packet s velkou TLS strukturou." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Byl pÅ™ijat packet s neplatnou verzí struktury." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Diffieho-Hellmanovo prvoÄíslo poslané serverem není pÅ™ijatelné (není dost " -"dlouhé)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Byl pÅ™ijat TLS packet s neoÄekávanou délkou." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Zadaná relace byla z nÄ›jakého důvodu zneplatnÄ›na." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "VnitÅ™ní chyba GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "PÅ™ijato neplatné rozšíření TLS." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Bylo pÅ™ijato nepÅ™ekonatelné upozornÄ›ní TLS." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Byl pÅ™ijat neoÄekávaný TLS packet." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Bylo pÅ™ijato varovné upozornÄ›ní TLS." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "PÅ™i výpoÄtu packetu TLS Finished doÅ¡lo k chybÄ›." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Druhá strana neposlala žádný certifikát." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Kryptografický algoritmus s nižší prioritou je již přítomen." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Nebyly nalezeny žádné doÄasné parametry RSA." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Nebyly nalezeny žádné doÄasné parametry DH." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Byl pÅ™ijat neoÄekávaný packet zahajující TLS." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Prohlížení velkého celého Äísla selhalo." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Velké celé Äíslo nebylo možné exportovat." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "DeÅ¡ifrování selhalo." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Å ifrování selhalo." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "DeÅ¡ifrovaní veÅ™ejného klíÄe selhalo." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Å ifrování veÅ™ejného klíÄe selhalo." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Podepisování veÅ™ejného klíÄe selhalo." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Podpis veÅ™ejného klíÄe se nepodaÅ™ilo ověřit." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Dekomprese packetu s TLS strukturou selhala." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Komprese packetu s TLS strukturou selhala." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "VnitÅ™ní chyba pÅ™i alokaci pamÄ›ti." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Byla požadována neimplementovaná nebo zakázaná vlastnost." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Na takový požadavek chybí prokázání totožnosti." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Chyba v souboru s hesly." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Chybná výplň v PKCS1 packetu." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "Požadovaná relace vyprÅ¡ela." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "HaÅ¡ování selhalo." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Chyba pÅ™i dekódování Base64." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "NeoÄekávaná Base64 hlaviÄka (chyba)." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Chyba kódování do Base64." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Chyba pÅ™i rozebírání souboru s hesly." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Požadovaná data nebyla dostupná." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Chyba v pull funkci." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Chyba v push funkci." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" -"Bylo dosaženo horní meze poÅ™adového Äísla packetu se strukturou. Zírám!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Chyba v certifikátu." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Neznámé alternativní jméno subjektu v X.509 certifikátu." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Nepodporované kritické rozšíření v X.509 certifikátu." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Bylo zaznamenáno použití klíÄe v rozporu s pravidly." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Zdroj je doÄasnÄ› nedostupný, zkusí se znovu." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Funkce byla pÅ™eruÅ¡ena." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Druhá strana požádala o znovuzahájení relace." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "Byla pÅ™ijata aplikaÄní data TLS, zatímco mÄ›la pÅ™ijít data zahájení." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Chyba databázovém jádÅ™e." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Tento druh certifikátu není podporován." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Zadaný paměťový buffer je pro uložení parametrů příliÅ¡ malý." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Požadavek je neplatný." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Byl pÅ™ijat neplatný parametr." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Chyba pÅ™i Ätení souboru." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1 parser: Prvek nebyl nalezen." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1 parser: Identifikátor nebyl nalezen." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1 parser: Chyba pÅ™i rozebírání DER." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1 parser: Hodnota nebyla nalezena." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1 parser: Obecná chyba pÅ™i rozebírání." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1 parser: Hodnota není platná." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1 parser: Chyba ve ZNAÄŒCE." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1 parser: chyba v implicitní znaÄce" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1 parser: Chyba v typu „ANY“." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1 parser: Chyba syntaxe." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1 parser: PÅ™eteÄení pÅ™i rozebírání DER." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Bylo pÅ™ijato příliÅ¡ mnoho packetů s prázdnou strukturou." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Inicializace GnuTLS-extra selhala." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "Verze knihovny GnuTLS se neshoduje s verzí knihovny GnuTLS-extra." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Verze knihovny gcrypt je příliÅ¡ stará." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Verze knihovny tasn1 je příliÅ¡ stará." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "ID OpenPGP uživatele bylo odvoláno." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Chyba pÅ™i naÄítání souboru s klíÄi. " - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Inicializace LZO selhala." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Žádné podporované kompresní algoritmy nebyly nalezeny." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Žádné podporované režimy Å¡ifer nebyly nalezeny." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Nebylo možné získat OpenPGP klíÄ." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Nebylo možné najít OpenPGP podklíÄ." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Zadané SRP uživatelské jméno je neplatné." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "OpenPGP otisk není podporován." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Certifikát má nepodporované atributy." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "Tento OID není podporován." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "HaÅ¡ovací algoritmus není znám." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Typ obsahu struktury PKCS není znám." - -# „Bag“ pÅ™ekládá jako „kufřík“ Klíma -# . Jedná se -# o prvek struktury PFX. -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Typ kufříku ve struktuÅ™e PKCS není znám." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Zadané heslo obsahuje neplatné znaky." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "MAC (autentizaÄní kód zprávy) se nepodaÅ™ilo ověřit." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "NÄ›které hranice omezení byly dosaženy." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "NezdaÅ™ilo se získat náhodná data." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "PÅ™ijata TLS/IA zpráva Intermediate Phase Finished" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "PÅ™ijata TLS/IA zpráva Final Phase Finished" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Kontrolní souÄet fáze TLS/IA se nepodaÅ™ilo ověřit" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Zadaný algoritmus nebo protokol není znám." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"Zahajovací data jsou příliÅ¡ velká (DoS?), zkontrolujte " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(neznámý chybový kód)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Oznámení o uzavÅ™ení" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "NeoÄekávaná zpráva" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Chybný MAC zprávy" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "DeÅ¡ifrování selhalo" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "PÅ™eteÄení struktury" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Dekomprese selhala" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Zahájení (handshake) selhalo" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Certifikát je Å¡patný" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Certifikát není podporován" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certifikát byl odvolán" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certifikát vyprÅ¡el" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Neznámý certifikát" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Neplatný parametr" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "Autorita není známa" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Přístup byl zamítnut" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Chyba dekódování" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Chyba deÅ¡ifrování" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Omezení na export" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Chyba ve verzi protokolu" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "NedostateÄné zabezpeÄení" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Uživatel zruÅ¡en" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "VnitÅ™ní chyba" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Znovuvyjednání není dovoleno" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Zadaný certifikát nebylo možné získat" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Bylo odesláno nepodporované rozšíření" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Odeslané jméno serveru nebylo rozpoznáno" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "SRP/PSK jméno uživatele chybí nebo není známo" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Vyjednávání vnitÅ™ní aplikace (IA) selhalo" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Ověření vnitÅ™ní aplikace (IA) selhalo" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tOmezení délky cesty: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tJazyk politiky: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolitika:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tHexavýpis: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tDigitální podpis.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tNepopiratelnost.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tÅ ifrování klíÄů.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tÅ ifrování dat.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tDohodnutí klíÄe.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tPodepisování certifikátu.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tPodepisování CRL.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tPouze Å¡ifrování klíÄů.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tPouze deÅ¡ifrování klíÄů.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "pozor: distribuÄní místo CRL obsahuje znak NULL, bude nahrazen „!“\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW server.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW klient.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tPodepisování kódu.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tOchrana e-mailu.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tÄŒasové razítkování.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tPodepisování OCSP.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tJakýkoliv úÄel.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertifikaÄní autorita (CA): NE\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertifikaÄní autorita (CA): ANO\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tOmezení délky cesty: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "pozor: SAN obsahuje znak NULL, bude nahrazen „!“\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP adresa: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\tOID dalšíhoJména: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\tdalšíJméno v DER: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\tdalšíJméno v ASCII: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tRozšíření:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tZákladní omezení (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "kritické" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "není kritické" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tIdentifikátor klíÄe subjektu (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tIdentifikátor klíÄe autority (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tUžití klíÄe (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tÚÄel klíÄe (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tAlternativní jméno subjektu (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tMísta distribuce CRL (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tInformace o zástupném certifikátu (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tNeznámé rozšíření %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tHexavýpis: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVerze: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSériové Äíslo (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tVydavatel: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tPlatnost:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tNe pÅ™ed: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tNe po: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tSubjekt: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "není známo" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgoritmus veÅ™ejného klíÄe subjektu: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModul (%d bitů:)\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tMocnitel (%d bitů):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tVeÅ™ejný klÃ­Ä (%d bitů):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tAlgoritmus podpisu: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"varování: podepsáno vadným podpisovým algoritmem, kterým lze falÅ¡ovat.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tPodpis:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5 otisk:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1 otisk:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tID veÅ™ejného klíÄe:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "podepsáno pomocí %s (rozbito!), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "podepsáno pomocí %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Informace X.509 certifikátu:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Další Informace:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVerze: 1 (implicitní)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tData aktualizací:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tVydáno: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tDalší v: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tRozšíření:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tČíslo CRL (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tIdentifikátor klíÄe autority (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tNeznámé rozšíření %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tHexavýpis: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tOdvolané certifikáty (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tŽádné odvolané certifikáty.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSériové Äíslo (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tOdvoláno v: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Informace o seznamu odvolaných X.509 certifikátů (CRL):\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tMocnitel:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAtributy:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tHeslo výzvy: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tNeznámý atribut %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Informace PKCS #10 žádosti o certifikát:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tUžití klíÄe:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "chyba: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tDigitální podpisy.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tÅ ifrování komunikace.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tÅ ifrování uložených dat.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAutentizace.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tPodepisování certifikátu.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tOtisk (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tOdvolán: Ano\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tOdvolán: Ne\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tÄŒasová razítka:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tVytvoÅ™ení: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tVyprÅ¡ení: Nikdy\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tVyprÅ¡ení: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgoritmus veÅ™ejného klíÄe: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tJméno[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tOdvolané jméno[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tPodklíÄ[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "jméno[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "odvolané jméno[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "otisk: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "vytvoÅ™en: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "platnost nikdy nevyprší, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "platnost vyprší: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "algoritmus klíÄe %s (%d bitů)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "neznámý algoritmus klíÄe (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Informace o OpenPGP certifikátu:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/de.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/de.gmo differ diff -Nru gnutls26-2.8.6/lib/po/de.po gnutls26-2.4.1/lib/po/de.po --- gnutls26-2.8.6/lib/po/de.po 2010-03-15 10:30:15.000000000 +0000 +++ gnutls26-2.4.1/lib/po/de.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1138 +0,0 @@ -# German gnutls translation. -# Copyright (C) 2006 Free Software Foundation, Inc. -# This file is distributed under the same license as the gnutls package. -# Jens Seidel , 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: gnutls 1.4.0\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2006-12-12 09:37+0100\n" -"Last-Translator: Michael Piefel \n" -"Language-Team: German \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Erfolg." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Konnte keine unterstützte Code-Suite aushandeln." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Der Code-Typ wird nicht unterstützt." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Das Zertifikat und der gegebene Schlüssel passen nicht zueinander." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Konnte keine unterstützte Kompressionsmethode aushandeln." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Ein unbekannter öffentlicher-Schlüssel-Algorithmus trat auf." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Ein nicht aktivierter Algorithmus wurde ausgehandelt." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Ein großes TLS-Datensatzpaket wurde empfangen." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Ein Datensatzpaket mit illegaler Version wurde empfangen." - -#: gnutls_errors.c:70 -#, fuzzy -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Die Diffie-Hellman-Primzahl, die vom Server gesendet wurde, ist nicht " -"akzeptabel (nicht lang genug)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Ein TLS-Paket mit unerwarteter Länge wurde empfangen." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Die angegebene Sitzung wurde aus irgendwelchen Gründen ungültig." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "Interner GnuTLS-Fehler." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Eine illegale TLS-Erweiterung wurde empfangen." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Ein fataler TLS-Alarm wurde empfangen." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Ein unerwartetes TLS-Paket wurde empfangen." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Eine TLS-Warnmeldung wurde empfangen." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Ein Fehler trat bei der fertiggestellten TLS-Paketberechnung auf." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Die Gegenstelle sendete kein Zertifikat." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "" - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Es wurden keine temporären RSA-Parameter gefunden." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Es wurden keine temporären DH-Parameter gefunden." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Ein unerwartetes TLS-Handshake-Paket wurde empfangen." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Das Lesen einer großen Ganzzahl schlug fehl." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Konnte keine große Ganzzahl exportieren." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Die Entschlüsselung schlug fehl." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Die Verschlüsselung schlug fehl." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Die Entschlüsselung mittels öffentlichem Schlüssel schlug fehl." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Die Verschlüsselung mittels öffentlichem Schlüssel schlug fehl." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Das Signieren mittels öffentlichem Schlüssel schlug fehl." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "" -"Die Verifizierung der Signatur mittels öffentlichem Schlüssel schlug fehl." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Die Dekomprimierung des TLS-Datensatzpakets schlug fehl." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Die Komprimierung des TLS-Datensatzpakets schlug fehl." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Interner Fehler bei Speicheranfoderung." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "" -"Eine nicht implementierte oder deaktivierte Eigenschaft wurde abgefragt." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Unzureichende Berechtigungsnachweise für diese Anfrage." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Fehler in Passwortdatei." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Falsche Auffüllung in PKCS1-Paket." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "Die abgefragte Sitzung ist ausgelaufen." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Hashing schlug fehl." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64-Entschlüsselungsfehler." - -#: gnutls_errors.c:134 -#, fuzzy -msgid "Base64 unexpected header error." -msgstr "Base64-Entschlüsselungsfehler." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64-Verschlüsselungsfehler." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Lesefehler in Passwortdatei." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Die abgefragten Daten waren nicht verfügbar." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Fehler in der Pull-Funktion." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Fehler in der Push-Funktion." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "Das obere Limit der Datensatzpaketsequenznummern wurde erreicht. Huch!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Fehler im Zertifikat." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Unbekannter Betreffalternativenname im X.509-Zertifikat." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Nicht unterstützte kritische Erweiterung im X.509-Zertifikat." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Schlüsselverwendungsverletzung im Zertifikat wurde entdeckt." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "" - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Funktion wurde unterbrochen." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Neuer Handshake wurde von der Gegenstelle gefordert." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "" -"TLS-Anwendungsdaten wurden empfangen, während Handshake-Daten erwartet " -"wurden." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Fehler im Datenbank-Backend." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Der Zertifikattyp wird nicht unterstützt." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Der verfügbare Speicherpuffer ist zu kurz, um Parameter aufzunehmen." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Die Anfrage ist ungültig." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Ein illegaler Parameter wurde empfangen." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Fehler beim Dateilesen." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1-Parser: Element wurde nicht gefunden." - -# FIXME: full stop is missing -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1-Parser: Identifikator wurde nicht gefunden." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1-Parser: Fehler im DER-Parsen." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1-Parser: Wert wurde nicht gefunden." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1-Parser: Allgemeiner Verarbeitungsfehler." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1-Parser: Wert ist nicht gültig." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1-Parser: Fehler in TAG." - -# FIXME: capitalisation, full stop -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1-Parser: Fehler in implizitem Tag." - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1-Parser: Fehler im Typ 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1-Parser: Syntaxfehler." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1-Parser: Ãœberlauf beim DER-Parsen." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Zu viele leere Datensatzpakete wurden empfangen." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Die Initialisierung von GnuTLS-extra schlug fehl." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"Die Version der GnuTLS-Bibliothek stimmt nicht mit der Version der GnuTLS-" -"extra-Bibliothek überein." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Die Version der Bibliothek gcrypt ist zu alt." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Die Version der Bibliothek tasn1 ist zu alt." - -#: gnutls_errors.c:209 -#, fuzzy -msgid "The OpenPGP User ID is revoked." -msgstr "Der OpenPGP-Fingerabdruck wird nicht unterstützt." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Fehler beim Laden des Schlüsselrings." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Die Initialisierung von LZO schlug fehl." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Keine unterstützten Kompressionsalgorithmen wurden gefunden." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Keine unterstützten Code-Suites wurden gefunden." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Konnte OpenPGP-Schlüssel nicht bekommen." - -#: gnutls_errors.c:221 -#, fuzzy -msgid "Could not find OpenPGP subkey." -msgstr "Konnte OpenPGP-Schlüssel nicht bekommen." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Der angegebene SRP-Benutzername ist illegal." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "Der OpenPGP-Fingerabdruck wird nicht unterstützt." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Das Zertifikat hat nichtunterstützte Attribute." - -# CHECKME -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "OID wird nicht unterstützt." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Der Hash-Algorithmus ist unbekannt." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Der Inhaltstyp der PKCS-Struktur ist unbekannt." - -# CHECKME -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Der Verpackungstyp der PKCS-Struktur ist unbekannt." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Das angegebene Passwort enthält ungültige Zeichen." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Die Ãœberprüfung des Authentifizierungscodes der Nachricht schlug fehl." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Einige beschränkende Limits wurden erreicht." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Konnte keine zufälligen Daten erhalten." - -# FIXME: missing fullstops in next three msgid's -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Empfing eine »TLS/IA Intermediate Phase Finished«-Mitteilung" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Empfing eine »TLS/IA Final Phase Finished«-Mitteilung" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Verifizierung der TLS/IA-Phasenprüfsumme schlug fehl" - -#: gnutls_errors.c:255 -#, fuzzy -msgid "The specified algorithm or protocol is unknown." -msgstr "Der Hash-Algorithmus ist unbekannt." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "" - -#: gnutls_alert.c:45 -#, fuzzy -msgid "Decryption failed" -msgstr "Die Entschlüsselung schlug fehl." - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "" - -#: gnutls_alert.c:47 -#, fuzzy -msgid "Decompression failed" -msgstr "Die Entschlüsselung schlug fehl." - -#: gnutls_alert.c:48 -#, fuzzy -msgid "Handshake failed" -msgstr "Hashing schlug fehl." - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "" - -#: gnutls_alert.c:50 -#, fuzzy -msgid "Certificate is not supported" -msgstr "Der Zertifikattyp wird nicht unterstützt." - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "" - -#: gnutls_alert.c:52 -#, fuzzy -msgid "Certificate is expired" -msgstr "Der Zertifikattyp wird nicht unterstützt." - -#: gnutls_alert.c:53 -#, fuzzy -msgid "Unknown certificate" -msgstr "Fehler im Zertifikat." - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "" - -#: gnutls_alert.c:63 -#, fuzzy -msgid "Internal error" -msgstr "Interner GnuTLS-Fehler." - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "" - -#: gnutls_alert.c:66 -#, fuzzy -msgid "Could not retrieve the specified certificate" -msgstr "Konnte keine unterstützte Code-Suite aushandeln." - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "" - -#: gnutls_alert.c:75 -#, fuzzy -msgid "Inner application verification failed" -msgstr "Die Ãœberprüfung des Authentifizierungscodes der Nachricht schlug fehl." - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "" - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "" - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "" - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "" - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "" - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "" - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "" - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "" - -#: x509/output.c:1600 -#, fuzzy -msgid "\tNo revoked certificates.\n" -msgstr "Fehler im Zertifikat." - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "" - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "" - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "" - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "" - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "" - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "" - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "" - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "" - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "" - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "" - -#: openpgp/output.c:467 -#, fuzzy, c-format -msgid "unknown key algorithm (%d)" -msgstr "Ein unbekannter öffentlicher-Schlüssel-Algorithmus trat auf." - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "" - -#~ msgid "" -#~ "The specified GnuPG TrustDB version is not supported. TrustDB v4 is " -#~ "supported." -#~ msgstr "" -#~ "Die angegebene Version von GnuPG-TrustDB wird nicht unterstützt. TrustDB " -#~ "Version 4 wird unterstützt." Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/en@boldquot.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/en@boldquot.gmo differ diff -Nru gnutls26-2.8.6/lib/po/en@boldquot.header gnutls26-2.4.1/lib/po/en@boldquot.header --- gnutls26-2.8.6/lib/po/en@boldquot.header 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/en@boldquot.header 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# diff -Nru gnutls26-2.8.6/lib/po/en@boldquot.po gnutls26-2.4.1/lib/po/en@boldquot.po --- gnutls26-2.8.6/lib/po/en@boldquot.po 2010-03-15 10:30:14.000000000 +0000 +++ gnutls26-2.4.1/lib/po/en@boldquot.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1152 +0,0 @@ -# English translations for libgnutls package. -# Copyright (C) 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Automatically generated, 2010. -# -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.6\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2010-03-15 11:30+0100\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Success." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Could not negotiate a supported cipher suite." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "The cipher type is unsupported." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "The certificate and the given key do not match." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Could not negotiate a supported compression method." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "An unknown public key algorithm was encountered." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "An algorithm that is not enabled was negotiated." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "A large TLS record packet was received." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "A record packet with illegal version was received." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "A TLS packet with unexpected length was received." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "The specified session has been invalidated for some reason." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "GnuTLS internal error." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "An illegal TLS extension was received." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "A TLS fatal alert has been received." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "An unexpected TLS packet was received." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "A TLS warning alert has been received." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "An error was encountered at the TLS Finished packet calculation." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "The peer did not send any certificate." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "There is already a crypto algorithm with lower priority." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "No temporary RSA parameters were found." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "No temporary DH parameters were found." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "An unexpected TLS handshake packet was received." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "The scanning of a large integer has failed." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Could not export a large integer." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Decryption has failed." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Encryption has failed." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Public key decryption has failed." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Public key encryption has failed." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Public key signing has failed." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Public key signature verification has failed." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Decompression of the TLS record packet has failed." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Compression of the TLS record packet has failed." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Internal error in memory allocation." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "An unimplemented or disabled feature has been requested." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Insufficient credentials for that request." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Error in password file." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Wrong padding in PKCS1 packet." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "The requested session has expired." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Hashing has failed." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64 decoding error." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Base64 unexpected header error." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64 encoding error." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Parsing error in password file." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "The requested data were not available." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Error in the pull function." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Error in the push function." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" -"The upper limit of record packet sequence numbers has been reached. Wow!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Error in the certificate." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Unknown Subject Alternative name in X.509 certificate." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Unsupported critical extension in X.509 certificate." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Key usage violation in certificate has been detected." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Resource temporarily unavailable, try again." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Function was interrupted." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Rehandshake was requested by the peer." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "TLS Application data were received, while expecting handshake data." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Error in Database backend." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "The certificate type is not supported." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "The given memory buffer is too short to hold parameters." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "The request is invalid." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "An illegal parameter has been received." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Error while reading file." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1 parser: Element was not found." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1 parser: Identifier was not found" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1 parser: Error in DER parsing." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1 parser: Value was not found." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1 parser: Generic parsing error." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1 parser: Value is not valid." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1 parser: Error in TAG." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1 parser: error in implicit tag" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1 parser: Error in type 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1 parser: Syntax error." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1 parser: Overflow in DER parsing." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Too many empty record packets have been received." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "The initialization of GnuTLS-extra has failed." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"The GnuTLS library version does not match the GnuTLS-extra library version." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "The gcrypt library version is too old." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "The tasn1 library version is too old." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "The OpenPGP User ID is revoked." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Error loading the keyring." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "The initialization of LZO has failed." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "No supported compression algorithms have been found." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "No supported cipher suites have been found." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Could not get OpenPGP key." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Could not find OpenPGP subkey." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "The SRP username supplied is illegal." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "The OpenPGP fingerprint is not supported." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "The certificate has unsupported attributes." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "The OID is not supported." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "The hash algorithm is unknown." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "The PKCS structure's content type is unknown." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "The PKCS structure's bag type is unknown." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "The given password contains invalid characters." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "The Message Authentication Code verification failed." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Some constraint limits were reached." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Failed to acquire random data." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Received a TLS/IA Intermediate Phase Finished message" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Received a TLS/IA Final Phase Finished message" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Verifying TLS/IA phase checksum failed" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "The specified algorithm or protocol is unknown." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(unknown error code)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Close notify" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Unexpected message" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Bad record MAC" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Decryption failed" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Record overflow" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Decompression failed" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Handshake failed" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Certificate is bad" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Certificate is not supported" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certificate was revoked" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certificate is expired" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Unknown certificate" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Illegal parameter" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "CA is unknown" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Access was denied" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Decode error" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Decrypt error" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Export restriction" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Error in protocol version" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Insufficient security" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "User canceled" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Internal error" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "No renegotiation is allowed" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Could not retrieve the specified certificate" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "An unsupported extension was sent" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "The server name sent was not recognized" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "The SRP/PSK username is missing or not known" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Inner application negotiation failed" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Inner application verification failed" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tPath Length Constraint: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tPolicy Language: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tHexdump: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tDigital signature.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tNon repudiation.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tKey encipherment.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tData encipherment.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tKey agreement.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tCertificate signing.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tCRL signing.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tKey encipher only.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tKey decipher only.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" -"warning: distributionPoint contains an embedded NUL, replacing with ‘!" -"[0m’\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW Server.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW Client.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tCode signing.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tEmail protection.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tTime stamping.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tOCSP signing.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tAny purpose.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertificate Authority (CA): FALSE\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertificate Authority (CA): TRUE\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tPath Length Constraint: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "warning: SAN contains an embedded NUL, replacing with ‘!’\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP Address: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\totherName OID: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\totherName DER: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\totherName ASCII: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tExtensions:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tBasic Constraints (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "critical" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "not critical" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tSubject Key Identifier (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tAuthority Key Identifier (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tKey Usage (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tKey Purpose (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tSubject Alternative Name (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tCRL Distribution points (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tProxy Certificate Information (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tUnknown extension %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tHexdump: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersion: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSerial Number (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tIssuer: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tValidity:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tNot Before: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tNot After: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tSubject: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "unknown" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tSubject Public Key Algorithm: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModulus (bits %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tExponent (bits %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tPublic key (bits %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tSignature Algorithm: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"warning: signed using a broken signature algorithm that can be forged.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tSignature:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5 fingerprint:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1 fingerprint:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tPublic Key Id:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "signed using %s (broken!), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "signed using %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "X.509 Certificate Information:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Other Information:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersion: 1 (default)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tUpdate dates:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tIssued: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tNext at: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tExtensions:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tCRL Number (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tAuthority Key Identifier (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tUnknown extension %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tHexdump: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tRevoked certificates (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tNo revoked certificates.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSerial Number (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tRevoked at: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "X.509 Certificate Revocation List Information:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tExponent:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAttributes:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tChallenge password: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tUnknown attribute %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "PKCS #10 Certificate Request Information:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tKey Usage:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "error: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tDigital signatures.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tCommunications encipherment.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tStorage data encipherment.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAuthentication.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tCertificate signing.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tFingerprint (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tRevoked: True\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tRevoked: False\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tTime stamps:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tCreation: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tExpiration: Never\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tExpiration: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tPublic Key Algorithm: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tName[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tRevoked Name[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tSubkey[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "name[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "revoked name[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "fingerprint: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "created: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "never expires, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "expires: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "key algorithm %s (%d bits)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "unknown key algorithm (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "OpenPGP Certificate Information:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/en@quot.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/en@quot.gmo differ diff -Nru gnutls26-2.8.6/lib/po/en@quot.header gnutls26-2.4.1/lib/po/en@quot.header --- gnutls26-2.8.6/lib/po/en@quot.header 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/en@quot.header 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# diff -Nru gnutls26-2.8.6/lib/po/en@quot.po gnutls26-2.4.1/lib/po/en@quot.po --- gnutls26-2.8.6/lib/po/en@quot.po 2010-03-15 10:30:15.000000000 +0000 +++ gnutls26-2.4.1/lib/po/en@quot.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1148 +0,0 @@ -# English translations for libgnutls package. -# Copyright (C) 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Automatically generated, 2010. -# -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.6\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2010-03-15 11:30+0100\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Success." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Could not negotiate a supported cipher suite." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "The cipher type is unsupported." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "The certificate and the given key do not match." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Could not negotiate a supported compression method." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "An unknown public key algorithm was encountered." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "An algorithm that is not enabled was negotiated." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "A large TLS record packet was received." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "A record packet with illegal version was received." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "A TLS packet with unexpected length was received." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "The specified session has been invalidated for some reason." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "GnuTLS internal error." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "An illegal TLS extension was received." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "A TLS fatal alert has been received." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "An unexpected TLS packet was received." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "A TLS warning alert has been received." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "An error was encountered at the TLS Finished packet calculation." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "The peer did not send any certificate." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "There is already a crypto algorithm with lower priority." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "No temporary RSA parameters were found." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "No temporary DH parameters were found." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "An unexpected TLS handshake packet was received." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "The scanning of a large integer has failed." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Could not export a large integer." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Decryption has failed." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Encryption has failed." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Public key decryption has failed." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Public key encryption has failed." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Public key signing has failed." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Public key signature verification has failed." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Decompression of the TLS record packet has failed." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Compression of the TLS record packet has failed." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Internal error in memory allocation." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "An unimplemented or disabled feature has been requested." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Insufficient credentials for that request." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Error in password file." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Wrong padding in PKCS1 packet." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "The requested session has expired." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Hashing has failed." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64 decoding error." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Base64 unexpected header error." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64 encoding error." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Parsing error in password file." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "The requested data were not available." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Error in the pull function." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Error in the push function." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" -"The upper limit of record packet sequence numbers has been reached. Wow!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Error in the certificate." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Unknown Subject Alternative name in X.509 certificate." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Unsupported critical extension in X.509 certificate." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Key usage violation in certificate has been detected." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Resource temporarily unavailable, try again." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Function was interrupted." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Rehandshake was requested by the peer." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "TLS Application data were received, while expecting handshake data." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Error in Database backend." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "The certificate type is not supported." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "The given memory buffer is too short to hold parameters." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "The request is invalid." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "An illegal parameter has been received." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Error while reading file." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1 parser: Element was not found." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1 parser: Identifier was not found" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1 parser: Error in DER parsing." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1 parser: Value was not found." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1 parser: Generic parsing error." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1 parser: Value is not valid." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1 parser: Error in TAG." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1 parser: error in implicit tag" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1 parser: Error in type 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1 parser: Syntax error." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1 parser: Overflow in DER parsing." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Too many empty record packets have been received." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "The initialization of GnuTLS-extra has failed." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"The GnuTLS library version does not match the GnuTLS-extra library version." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "The gcrypt library version is too old." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "The tasn1 library version is too old." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "The OpenPGP User ID is revoked." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Error loading the keyring." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "The initialization of LZO has failed." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "No supported compression algorithms have been found." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "No supported cipher suites have been found." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Could not get OpenPGP key." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Could not find OpenPGP subkey." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "The SRP username supplied is illegal." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "The OpenPGP fingerprint is not supported." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "The certificate has unsupported attributes." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "The OID is not supported." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "The hash algorithm is unknown." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "The PKCS structure's content type is unknown." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "The PKCS structure's bag type is unknown." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "The given password contains invalid characters." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "The Message Authentication Code verification failed." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Some constraint limits were reached." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Failed to acquire random data." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Received a TLS/IA Intermediate Phase Finished message" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Received a TLS/IA Final Phase Finished message" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Verifying TLS/IA phase checksum failed" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "The specified algorithm or protocol is unknown." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(unknown error code)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Close notify" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Unexpected message" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Bad record MAC" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Decryption failed" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Record overflow" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Decompression failed" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Handshake failed" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Certificate is bad" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Certificate is not supported" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certificate was revoked" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certificate is expired" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Unknown certificate" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Illegal parameter" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "CA is unknown" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Access was denied" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Decode error" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Decrypt error" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Export restriction" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Error in protocol version" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Insufficient security" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "User canceled" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Internal error" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "No renegotiation is allowed" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Could not retrieve the specified certificate" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "An unsupported extension was sent" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "The server name sent was not recognized" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "The SRP/PSK username is missing or not known" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Inner application negotiation failed" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Inner application verification failed" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tPath Length Constraint: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tPolicy Language: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tHexdump: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tDigital signature.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tNon repudiation.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tKey encipherment.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tData encipherment.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tKey agreement.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tCertificate signing.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tCRL signing.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tKey encipher only.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tKey decipher only.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" -"warning: distributionPoint contains an embedded NUL, replacing with ‘!’\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW Server.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW Client.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tCode signing.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tEmail protection.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tTime stamping.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tOCSP signing.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tAny purpose.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertificate Authority (CA): FALSE\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertificate Authority (CA): TRUE\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tPath Length Constraint: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "warning: SAN contains an embedded NUL, replacing with ‘!’\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP Address: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\totherName OID: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\totherName DER: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\totherName ASCII: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tExtensions:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tBasic Constraints (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "critical" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "not critical" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tSubject Key Identifier (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tAuthority Key Identifier (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tKey Usage (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tKey Purpose (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tSubject Alternative Name (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tCRL Distribution points (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tProxy Certificate Information (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tUnknown extension %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tHexdump: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersion: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSerial Number (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tIssuer: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tValidity:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tNot Before: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tNot After: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tSubject: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "unknown" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tSubject Public Key Algorithm: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModulus (bits %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tExponent (bits %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tPublic key (bits %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tSignature Algorithm: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"warning: signed using a broken signature algorithm that can be forged.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tSignature:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5 fingerprint:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1 fingerprint:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tPublic Key Id:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "signed using %s (broken!), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "signed using %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "X.509 Certificate Information:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Other Information:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersion: 1 (default)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tUpdate dates:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tIssued: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tNext at: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tExtensions:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tCRL Number (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tAuthority Key Identifier (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tUnknown extension %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tHexdump: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tRevoked certificates (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tNo revoked certificates.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSerial Number (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tRevoked at: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "X.509 Certificate Revocation List Information:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tExponent:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAttributes:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tChallenge password: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tUnknown attribute %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "PKCS #10 Certificate Request Information:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tKey Usage:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "error: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tDigital signatures.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tCommunications encipherment.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tStorage data encipherment.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAuthentication.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tCertificate signing.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tFingerprint (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tRevoked: True\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tRevoked: False\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tTime stamps:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tCreation: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tExpiration: Never\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tExpiration: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tPublic Key Algorithm: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tName[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tRevoked Name[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tSubkey[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "name[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "revoked name[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "fingerprint: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "created: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "never expires, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "expires: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "key algorithm %s (%d bits)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "unknown key algorithm (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "OpenPGP Certificate Information:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/fr.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/fr.gmo differ diff -Nru gnutls26-2.8.6/lib/po/fr.po gnutls26-2.4.1/lib/po/fr.po --- gnutls26-2.8.6/lib/po/fr.po 2010-03-15 10:43:24.000000000 +0000 +++ gnutls26-2.4.1/lib/po/fr.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1151 +0,0 @@ -# translation of libgnutls to French -# Copyright (C) 2008 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Nicolas Provost , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.5\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2009-12-29 21:15+0100\n" -"Last-Translator: Nicolas Provost \n" -"Language-Team: French \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Succès." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Impossible de négocier une méthode de chiffrement." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Algorithme de chiffrement non supporté." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Le certificat ne correspond pas avec la clef fournie." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Echec lors de la négociation d'une méthode de compression." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Algorithme de clef publique inconnu." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Un algorithme non encore opérationnel a été négocié." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Un paquet TLS volumineux de données applicatives a été reçu." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "" -"Un paquet de données contenant un numéro de version incorrect a été reçu." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Le nombre de Diffie-Hellman envoyé par le serveur n'est pas suffisamment " -"grand." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Un paquet TLS de longueur incorrecte a été reçu." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "La session courante a été invalidée pour une raison non précisée." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "Erreur interne GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Une extension TLS incorrecte a été reçue." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Une alerte TLS fatale a été reçue." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Un paquet TLS incorrect a été reçu." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Un avertissement TLS a été reçu." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "" -"Erreur durant la préparation du paquet TLS de fin d'établissement de session " -"(\"TLS Finished\")." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "La machine distante n'a pas envoyé de certificat." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "" -"Un algorithme de chiffrement de priorité inférieure a déjà été sélectionné." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Paramètres temporaires RSA non trouvés." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Paramètres temporaires DH non trouvés." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Un paquet de négociation (handshake) TLS incorrect a été reçu." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Echec lors de la recherche d'un grand entier." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Impossible de transmettre un grand nombre entier." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Le décryptage a échoué." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Le chiffrement a échoué." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Le déchiffrement a échoué (clef publique)." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Le chiffrement a échoué (clef publique)." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Echec de la signature (clef publique)." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Echec lors de la vérification de la signature (clef publique)." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "" -"Echec de la décompression d'un paquet TLS de données applicatives (\"TLS " -"Record\")." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "" -"Echec de la compression d'un paquet TLS de données applicatives (\"TLS Record" -"\")." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Erreur interne d'allocation mémoire." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Une fonctionnalité non supportée a été demandée." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Droits insuffisants pour satisfaire cette demande." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Erreur dans le fichier de mots de passe." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Bourrage (padding) PKCS1 incorrect." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "La session a expiré." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Le calcul d'empreinte (hash) a échoué." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Erreur de décodage Base64." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Erreur au niveau de l'entête Base64." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Erreur d'encodage Base64." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Erreur d'analyse du fichier de mots de passe." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Les données demandées ne sont pas disponibles." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Erreur au niveau de la fonction \"pull\"." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Erreur au niveau de la fonction \"push\"." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" -"La valeur maximale des numéros de séquence des paquets de données " -"applicatives \"TLS Record\" a été atteinte !" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Erreur dans le certificat." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "" -"L'entrée \"Subject Alternative Name\" (autre nom du sujet) du certificat " -"X509 est vide." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Une extension critique du certificat X509 n'est pas supportée." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Utilisation de la clef d'un certificat pour un usage non prévu." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Ressource temporairement indisponible, réessayer." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Interruption de fonction." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Une renégociation a été demandée par la machine distante." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "" -"Des données applicatives TLS ont été reçues alors que des données de " -"négociation étaient attendues." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Erreur dans la structure de la base de données." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Ce type de certificat n'est pas supporté." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "" -"Le tampon mémoire donné est trop petit pour contenir tous les paramètres." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Requête incorrecte." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Un paramètre incorrect a été reçu." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Erreur de lecture de fichier." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "Element manquant durant l'analyse ASN1." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "Identifiant non trouvé durant l'analyse ASN1." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "Erreur de décodage DER durant l'analyse ASN1." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "Valeur non trouvée durant l'analyse ASN1." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "Erreur durant l'analyse ASN1." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "Valeur incorrecte détectée durant l'analyse ASN1." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "Erreur d'étiquette (tag) détectée durant l'analyse ASN1." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "Erreur d'étiquette (tag implicite) détectée durant l'analyse ASN1." - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "Erreur dans un type \"ANY\" détectée lors de l'analyse ASN1." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "Erreur de syntaxe détectée lors de l'analyse ASN1." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "Dépassement de capacité lors du décodage DER durant l'analyse ASN1." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "" -"Trop de paquets de données applicatives (\"TLS Record\") vides ont été reçus." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Echec de l'initialisation de GnuTLS-extra." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"La version de la librairie GnuTLS ne correspond pas à celle de la librairie " -"GnuTLS-extra." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "La version utilisée de la librairie gcrypt est trop ancienne." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "La version utilisée de la librairie tasn1 est trop ancienne." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "L'identifiant d'utilisateur OpenPGP (User ID) est révoqué." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Erreur durant le chargement du trousseau de clefs." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Echec de l'initialisation de LZO." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Aucun algorithme de compression n'est disponible." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Aucune méthode de chiffrement n'est disponible." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Impossible d'obtenir la clef OpenPGP." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Impossible de trouver la sous-clef OpenPGP." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Le nom d'utilisateur SRP communiqué est illicite." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "Cette empreinte OpenPGP n'est pas supportée." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Le certificat possède des attributs non supportés." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "Identifiant OID non supporté." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Algorithme d'empreinte (hash) inconnu." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Type de structure PKCS inconnu." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Type de conteneur (bag) PKCS inconnu." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Le mot de passe fourni comporte des caractères invalides." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Echec de la vérification du code d'authentification du message (MAC)." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Certaines valeurs limites ont été atteintes." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Impossible de générer une valeur aléatoire." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "" -"Un message signalant l'avant-dernière étape de l'échange de données et clefs " -"complémentaires (\"TLS/IA Intermediate Phase Finished\") a été reçu." - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "" -"Un message signalant la fin de l'échange de données et clefs complémentaires " -"(\"TLS/IA Final Phase Finished\") a été reçu." - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "" -"Echec de la vérification de la somme de contrôle durant la phase \"TLS/IA" -"\" (échange complémentaire de données et clefs)." - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "L'algorithme ou le protocole demandé est inconnu." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"La taille des données de négociation (handshake) est trop grande (déni de " -"service ?). Contrôlez gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(code d'erreur inconnu)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Notification de fermeture" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Message inattendu" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Mauvais bloc MAC" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Le décryptage a échoué" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Dépassement de taille d'enregistrement" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Echec de décompression" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Echec de négociation" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Mauvais certificat" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Ce certificat n'est pas supporté" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Le certificat est révoqué" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Le certificat a expiré" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Certificat inconnu" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Paramètre illégal" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "Autorité racine CA inconnue" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Accès refusé" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Erreur de décodage" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Erreur de déchiffrage" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Restriction à l'export" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Erreur de version de protocole" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Sécurité insuffisante" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Annulation par l'utilisateur" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Erreur interne" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Renégociation interdite" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Impossible d'obtenir le certificat spécifié" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Une extension non supportée a été transmise" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Le nom de serveur transmis n'est pas reconnu" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "Le nom d'utilisateur SRP/PSK est absent ou inconnu" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Echec de négociation interne à l'application" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "La vérification interne à l'application a échoué" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "" -"\t\t\tProfondeur de chemin de certificats (Path Length Constraint): %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tTermes de politique d'utilisation: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolitique-d'utilisation:\n" -"\t\t\t\tASCII:" - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tCode-hexadécimal :" - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tSignature électronique.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tNon répudiation.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tChiffrement de clef.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tChiffrement de données.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tValidation de clef.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tSignature de certificat.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tSignature de liste de révocation (CRL).\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tChiffrement de clef seulement.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tDéchiffrement de clef seulement.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" -"attention : le point de distribution contient un caractère NUL, remplacé par " -"'!'\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tServeur web TLS.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tClient web TLS.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tSignature de code.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tProtection d'email.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tHorodatage.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tSignature OCSP.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tToutes utilisations.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertificat autorité (CA): NON\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertificat autorité (CA): OUI\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "" -"%s\t\t\tProfondeur de chemin de certificats (Path Length Constraint): %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "attention : le champ SAN contient un caractère NUL, remplacé par '!'\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tAdresse XMPP: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\tautre nom OID: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\tautre Nom DER: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\tautreNom ASCII:" - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tExtensions:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tContraintes de base (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "critique" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "non critique" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tIdentifiant de clef du sujet (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tIdentifiant de la clef de l'autorité (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tUsages possibles de la clef (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tUtilisation prévue de la clef (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tAutre nom du sujet (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tPoints de distribution des listes de révocation (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tDétails du certificat du proxy (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tExtension inconnue %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tCode hexadécimal: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersion: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tNuméro de série (hexadécimal): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tEmetteur: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tValidité:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tPas avant: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tPas après: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tSujet: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "inconnu" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgorithme de clef publique du sujet: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModule (bits %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tExposant (bits %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tClef publique (bits %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tAlgorithme de signature: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"attention : signé en utilisant un algorithme de signature déjà \"cassé" -"\" (faible) potentiellement corruptible.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tSignature:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tEmpreinte MD5:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tEmpreinte SHA-1:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tId de clef publique:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "signé avec %s (cassé !)," - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "signé avec %s," - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Détail du certificat X509:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Autres informations :\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersion: 1 (défaut)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tDates de mise à jour:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tEmis: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tProchainement: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tExtensions:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tNuméro de liste de révoc. CRL (%s):" - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tIdentifiant de la clef de l'autorité (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tExtension inconnue %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tCode hexadécimal: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tCertificats révoqués (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tCertificats non révoqués.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tNuméro de série (hexa): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tRévoqué le : %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Détails sur la liste de révocation du certificat X509 : \n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tExposant:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAttributs:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tMot de passe \"challenge\": %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tAttribut inconnu %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Informations de requête de certificat PKCS10 :\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tUsages possibles de la clef :\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "Erreur: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tSignatures électroniques.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tChiffrement de communications.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tChiffrement de stockage de données.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAuthentification.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tSignature de certificat.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hexa) :" - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tEmpreinte (hexa) : " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tRévoqué: oui\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tRévoqué: non\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tHorodatage:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tCréation: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tExpiration: jamais\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tExpiration: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgorithme de clef publique: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tNom[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tNom révoqué[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tSous-clef[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "nom[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "nom révoqué[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "empreinte: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "créé: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "n'expire jamais, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "expire: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "algorithme de clé %s (%d bits)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "algorithme de clef inconnu (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Détails du certificat OpenPGP :\n" diff -Nru gnutls26-2.8.6/lib/po/insert-header.sin gnutls26-2.4.1/lib/po/insert-header.sin --- gnutls26-2.8.6/lib/po/insert-header.sin 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/insert-header.sin 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# Sed script that inserts the file called HEADER before the header entry. -# -# At each occurrence of a line starting with "msgid ", we execute the following -# commands. At the first occurrence, insert the file. At the following -# occurrences, do nothing. The distinction between the first and the following -# occurrences is achieved by looking at the hold space. -/^msgid /{ -x -# Test if the hold space is empty. -s/m/m/ -ta -# Yes it was empty. First occurrence. Read the file. -r HEADER -# Output the file's contents by reading the next line. But don't lose the -# current line while doing this. -g -N -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff -Nru gnutls26-2.8.6/lib/po/libgnutls.pot gnutls26-2.4.1/lib/po/libgnutls.pot --- gnutls26-2.8.6/lib/po/libgnutls.pot 2010-03-15 10:30:14.000000000 +0000 +++ gnutls26-2.4.1/lib/po/libgnutls.pot 1970-01-01 01:00:00.000000000 +0100 @@ -1,1104 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.6\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\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" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "" - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "" - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "" - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "" - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "" - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "" - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "" - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "" - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "" - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "" - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "" - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "" - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "" - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "" - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "" - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "" - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "" - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "" - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "" - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "" - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "" - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "" - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "" - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "" - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "" - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "" - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "" - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "" - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "" - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "" - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "" - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "" - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "" - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "" - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "" - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "" - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "" - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "" - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "" - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "" - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "" - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "" - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "" - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "" - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "" - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "" - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "" - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "" - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "" - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "" - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "" - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "" - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "" - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "" - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "" - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "" - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "" - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "" - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "" - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "" - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "" - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "" - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "" - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "" - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "" - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "" - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "" - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "" - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "" - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "" - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "" - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "" - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "" - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "" - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "" - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "" - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "" - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "" - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "" - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "" - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "" - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "" - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "" - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "" - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "" - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "" - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "" - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "" - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "" - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "" - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "" - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "" - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "" - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "" - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "" - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "" - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "" - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "" - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "" - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "" - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "" - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "" - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "" - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "" - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "" - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "" - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "" - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "" - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "" diff -Nru gnutls26-2.8.6/lib/po/LINGUAS gnutls26-2.4.1/lib/po/LINGUAS --- gnutls26-2.8.6/lib/po/LINGUAS 2010-03-15 08:29:21.000000000 +0000 +++ gnutls26-2.4.1/lib/po/LINGUAS 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -en@boldquot -en@quot -cs -de -fr -ms -nl -pl -sv -vi -zh_CN diff -Nru gnutls26-2.8.6/lib/po/Makefile.in.in gnutls26-2.4.1/lib/po/Makefile.in.in --- gnutls26-2.8.6/lib/po/Makefile.in.in 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/Makefile.in.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,429 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. -# -# Origin: gettext-0.17 -GETTEXT_MACRO_VERSION = 0.17 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -# We use $(mkdir_p). -# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as -# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, -# @install_sh@ does not start with $(SHELL), so we add it. -# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined -# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake -# versions, $(mkinstalldirs) and $(install_sh) are unused. -mkinstalldirs = $(SHELL) @install_sh@ -d -install_sh = $(SHELL) @install_sh@ -MKDIR_P = @MKDIR_P@ -mkdir_p = @mkdir_p@ - -GMSGFMT_ = @GMSGFMT@ -GMSGFMT_no = @GMSGFMT@ -GMSGFMT_yes = @GMSGFMT_015@ -GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) -XGETTEXT_ = @XGETTEXT@ -XGETTEXT_no = @XGETTEXT@ -XGETTEXT_yes = @XGETTEXT_015@ -XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ - - -all: check-macro-version all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# Ensure that the gettext macros and this Makefile.in.in are in sync. -check-macro-version: - @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ - || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ - exit 1; \ - } - -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ - package_gnu='GNU '; \ - else \ - package_gnu=''; \ - fi; \ - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - *) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --package-name="$${package_gnu}@PACKAGE@" \ - --package-version='@VERSION@' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - esac - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -install-data-no: all -install-data-yes: all - $(mkdir_p) $(DESTDIR)$(datadir) - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ - fi; \ - done; \ - done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - else \ - : ; \ - fi -installdirs-data-no: -installdirs-data-yes: - $(mkdir_p) $(DESTDIR)$(datadir) - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ - done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo - -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 stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - $(MAKE) update-po - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ - done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ - for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ - done - -update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).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; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) - @: - -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ - && $(SHELL) ./config.status $(subdir)/$@.in po-directories - -force: - -# 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: diff -Nru gnutls26-2.8.6/lib/po/Makevars gnutls26-2.4.1/lib/po/Makevars --- gnutls26-2.8.6/lib/po/Makevars 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/po/Makevars 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = Free Software Foundation, Inc. - -# This is the email address or URL to which the translators shall report -# bugs in the untranslated strings: -# - Strings which are not entire sentences, see the maintainer guidelines -# in the GNU gettext documentation, section 'Preparing Strings'. -# - Strings which use unclear terms or require additional context to be -# understood. -# - Strings which make invalid assumptions about notation of date, time or -# money. -# - Pluralisation problems. -# - Incorrect English spelling. -# - Incorrect formatting. -# It can be your email address, or a mailing list address where translators -# can write to without being subscribed, or the URL of a web page through -# which the translators can contact you. -MSGID_BUGS_ADDRESS = bug-gnutls@gnu.org - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/ms.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/ms.gmo differ diff -Nru gnutls26-2.8.6/lib/po/ms.po gnutls26-2.4.1/lib/po/ms.po --- gnutls26-2.8.6/lib/po/ms.po 2010-03-15 10:30:15.000000000 +0000 +++ gnutls26-2.4.1/lib/po/ms.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1128 +0,0 @@ -# gnutls Bahasa Melayu (Malay) (ms) -# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. -# This file is distributed under the same license as the gnutls package. -# Sharuzzaman Ahmat Raslan , 2006, 2007, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: gnutls 2.5.7\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2008-11-01 00:39+0800\n" -"Last-Translator: Sharuzzaman Ahmat Raslan \n" -"Language-Team: Malay \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Berjaya." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Tidak dapat merunding sut cipher yang disokong." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Jenis cipher tidak disokong." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Sijil dan kekunci diberi tidak sepadan." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Tidak dapat merunding kaedah mampatan disokong." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Algoritma kekunci awam tidak diketahui dijumpai." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Algoritma yang tidak dihidupkan telah dirundingkan." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Paket rekod TLS besar telah diterima." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Paket rekod dengan versi tidak sah telah diterima." - -#: gnutls_errors.c:70 -#, fuzzy -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Perdana Diffie Hellman yang dihantar oleh pelayan tidak boleh diterima " -"(tidak cukup panjang)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Paket TLS dengan panjang tidak dijangka telah diterima." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Sesi yang dinyatakan telah dinyahsahkan atas sebab tertentu." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "Ralat dalaman GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Sambungan TLS tidak sah telah diterima." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Amaran teruk TLS telah diterima." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Paket TLS tidak dijangka telah diterima." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Arahan amaran telah diterima." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Ralat ditemui pada pengiraan paket Selesai TLS" - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Rakan tidak menghantar sebarang sijil." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Telah terdapat algoritma kripto dengan keutamaan rendah." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Tiada parameter RSA sementara telah dijumpai." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Tiada parameter DH sementara telah dijumpai." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Paket handshake TLS tidak dijangka telah diterima." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Pengesanan integer besar telah gagal." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Tidak dapat mengeksport integer besar." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Nyahenkripsi telah gagal." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Enkripsi telah gagal." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Nyahenkripsi kekunci awam telah gagal." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Enkripsi kekunci awam telah gagal." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Tandatangan kekunci awam telah gagal." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Pengesahan tandatangan kekunci awam telah gagal." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Nyahmampatan paket rekod TLS telah gagal." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Mampatan paket rekod TLS telah gagal." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Ralat dalaman dalam pengumpukan memori." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Ciri tidak disediakan atau dimatikan telah diminta." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Akuan tidak mencukupi untuk permintaan tersebut." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Ralat dalam fail katalaluan." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Pelapik salah dalam paket PKCS1." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "Sesi diminta telah tamat tempoh." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Menghash telah gagal." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Ralat menyahkod base64." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Ralat pengepala tidak dijangka base64." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Ralat mengenkod base64." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Ralat huraian dalam fail katalaluan." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Data yang diminta tiada." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Ralat dalam fungsi tarik." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Ralat dalam fungsi tolak." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "Had atas nombor jujukan paket rakaman telah dicapai. Wow!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Ralat dalam sijil." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Nama Subjek Alternatif tidak diketahu dalam sijil X.509." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Sambungan kritikal tidak disokong dalam sijil X.509." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Pelanggaran penggunaan kekunci dalam sijik telah dikesan." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "" - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Fungsi telah dibatalkan." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Rehandshake diminta oleh peer." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "Data Aplikasi TLS telah diterima, semasa menjangka data handshake." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Ralat dalam backend Pengkalan Data." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Jenis sijil tidak disokong." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Buffer memori yang diberikan terlalu pendek untuk memegang parameter." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Permintaan tidak sah." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Parameter tidak sah telah diterima." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Ralat apabila membaca fail." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "Penghurai ASN1: Elemen tidak dijumpai." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "Penghurai ASN1: Pengenalan tidak dijumpai" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "Penghurai ASN1: Ralat dalam huraian DER." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "Penghurai ASN1: Nilai tidak dijumpai." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "Penghurai ASN1: Ralat menghurai generik." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "Penghurai ASN1: Nilai tidak sah." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "Penghurai ASN1: Ralat dalam TAG." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "Penghurai ASN1: ralat dalam tag tersirat" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "Penghurai ASN1: Ralat dalam jenis 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "Penghurai ASN1: Ralat sintaks." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "Penghurai ASN1: Limpahan dalam penghuraian DER." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Terlalu banyak paket rekod kosong telah diterima." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Pemulaan GnuTLS-extra telah gagal." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "Versi pustaka GnuTLS tidak sepadan dengan versi pustaka GnuTLS-extra." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Versi pustaka gcrypt terlalu lama." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Versi pustaka tasn1 terlalu lama." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "ID Pengguna OpenPGP telah dibatalkan." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Ralat memuatkan cecincin kunci." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Pemulaan LZO telah gagal." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Tiada algoritma pemampat yang disokong dijumpai." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Tiada sut cipher yang disokong dijumpai." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Tidak dapat memperoleh kekunci OpenPGP." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Tidak dapat mencari subkekunci OpenPGP." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Namapengguna SRP yang diberikan tidak sah." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "Cap jari OpenPGP tidak disokong." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Sijil tidak mempunyai ciri disokong." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "OID tidak disokong." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Algoritma hash tidak diketahui." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Jenis kandungan struktur PKCS tidak diketahui." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Jenis beg struktur PKCS tidak diketahui." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Katalaluan diberikan mengandungi aksara tidak sah." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Pengesahan Message Authentication Code gagal." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Beberapa had kekangan telah dicapai." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Gagal untuk mendapatkan data rawak." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Menerima mesej TLS/IA Intermediate Phase Finished" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Menerima mesej TLS/IA Final Phase Finished" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Pengesahan checksum fasa TLS/IA gagal" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Algoritma atau protokol dinyataka tidak diketahui." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"Saiz data jabat tangan terlalu besar (DoS?), periksa " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(kod ralat tidak diketahui)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Pemberitahuan tutup" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Mesej tidak dijangka" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Rekod MAC buruk" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Nyahenkripsi gagal" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Rekod melimpah" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Nyahmampatan gagal" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Jabat tangan gagal" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Sijil buruk" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Sijil tidak disokong" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Sijil telah dibatalkan" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Sijil tamat tempoh" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Sijil tidak diketahui" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Parameter tidak sah" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "CA tidak diketahui" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Akses telah dihalang" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Ralat decode" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Ralat decrypt" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Halangan eksport" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Ralat dalam versi protokol" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Sekuriti tidak mencukupi" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Pengguna membatalkan" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Ralat dalaman" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Tiada perbincangan semula dibenarkan" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Tidak dapat mendapatkan sijil dinyatakan" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Sambungan tidak disokong telah dihantar" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Nama pelayan dihantar tidak dikenali" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "Nama pengguna SRP/PSK tiada atau tidak diketahui" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Perbincangan aplikasi dalaman gagal" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Pengesahan aplikasi dalaman gagal" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tKekangan Panjang Laluan: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tBahasa Polisi: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolisi:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\tLambakan Hex: " - -#: x509/output.c:295 -#, fuzzy, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "\t\t\tTandatangan digital.\n" - -#: x509/output.c:297 -#, fuzzy, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "\t\t\tTidak ditolak.\n" - -#: x509/output.c:299 -#, fuzzy, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "\t\t\tPenyulitan kekunci.\n" - -#: x509/output.c:301 -#, fuzzy, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "\t\t\tPenyulitan data.\n" - -#: x509/output.c:303 -#, fuzzy, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "\t\t\tPersetujuan kekunci.\n" - -#: x509/output.c:305 -#, fuzzy, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "\t\t\tMenandatangan sijil.\n" - -#: x509/output.c:307 -#, fuzzy, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "\t\t\tMenandatangan CRL.\n" - -#: x509/output.c:309 -#, fuzzy, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "\t\t\tEncipher kekunci sahaja.\n" - -#: x509/output.c:311 -#, fuzzy, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "\t\t\tDecipher kekunci sahaja.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:454 -#, fuzzy, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "\t\t\tPelayan WWW TLS.\n" - -#: x509/output.c:456 -#, fuzzy, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "\t\t\tKlien WWW TLS.\n" - -#: x509/output.c:458 -#, fuzzy, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "\t\t\tMenandatangan kod.\n" - -#: x509/output.c:460 -#, fuzzy, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "\t\t\tPerlindungan emel.\n" - -#: x509/output.c:462 -#, fuzzy, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "\t\t\tCap waktu.\n" - -#: x509/output.c:464 -#, fuzzy, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "\t\t\tMenandatangan OCSP.\n" - -#: x509/output.c:466 -#, fuzzy, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "\t\t\tSebarang tujuan.\n" - -#: x509/output.c:499 -#, fuzzy, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "\t\t\tPihak Berkuasa Sijil (CA): SALAH\n" - -#: x509/output.c:501 -#, fuzzy, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "\t\t\tPenguasa Sijil (CA): BENAR\n" - -#: x509/output.c:504 -#, fuzzy, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tKekangan Panjang Laluan: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:657 -#, fuzzy, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "\t\t\tAlamat XMPP: %.*s\n" - -#: x509/output.c:662 -#, fuzzy, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "\t\t\tnamaLain OID: %.*s\n" - -#: x509/output.c:664 -#, fuzzy, c-format -msgid "%s\t\t\totherName DER: " -msgstr "\t\t\tnamaLain DER:" - -#: x509/output.c:666 -#, fuzzy, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"\t\t\tnamaLain ASCII:" - -#: x509/output.c:728 -#, fuzzy, c-format -msgid "%s\tExtensions:\n" -msgstr "\tSambungan:\n" - -#: x509/output.c:738 -#, fuzzy, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "\t\tKekangan Asas (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "kritikal" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "tidak kritikal" - -#: x509/output.c:753 -#, fuzzy, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "\t\tSubjek Kekunci Pengenalan (%s):\n" - -#: x509/output.c:770 -#, fuzzy, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tPengesahan Kekunci Pengenalan (%s):\n" - -#: x509/output.c:786 -#, fuzzy, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "\t\tPenggunaan Kekunci (%s):\n" - -#: x509/output.c:801 -#, fuzzy, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "\t\tTujuan Kekunci (%s):\n" - -#: x509/output.c:818 -#, fuzzy, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "\t\tNama Alternatif Subjek (%s):\n" - -#: x509/output.c:833 -#, fuzzy, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "\t\tTitik Edaran CRL (%s):\n" - -#: x509/output.c:851 -#, fuzzy, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "\t\tMaklumat Sijil Proksi (%s):\n" - -#: x509/output.c:864 -#, fuzzy, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "\t\tSambungan tidak diketahui %s (%s):\n" - -#: x509/output.c:910 -#, fuzzy, c-format -msgid "%s\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:914 -#, fuzzy, c-format -msgid "%s\t\t\tHexdump: " -msgstr "\t\t\tLambakan Hex: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersi: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tNombor Siri (hex):" - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tPengeluar: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tKesahan:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tTidak Sebelum: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tTidak Selepas: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tSubjek: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "tidak diketahui" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgoritma Kekunci Awam Subjek: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModulus (%d bit):\n" - -#: x509/output.c:1044 -#, fuzzy, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tEksponen:\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tKekunci awam (%d bit):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tAlgoritma tandatangan: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"amaran: ditandatangan menggunakan algoritma tandatangan rosak yang boleh " -"dipalsukan.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tTandatangan:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tCap jari MD5:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tCap jari SHA-1:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tId Kekunci Awam:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "" - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "" - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Maklumat Sijil X.509:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Maklumat Lain:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersi: 1 (default)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tTarikh kemaskini:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tDikeluarkan: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tSeterusnya pada: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tSambungan:\n" - -#: x509/output.c:1513 -#, fuzzy, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tNombor Siri (hex): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tPengesahan Kekunci Pengenalan (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tSambungan tidak diketahui %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tLambakan Hex: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tSijil dibatalkan (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tTiada sijil dibatalkan.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tNombor Siri (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tDibatalkan pada: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Maklumat Senarai Pembatalan Sijil X.509:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tEksponen:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "" - -#: x509/output.c:1886 -#, fuzzy, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tSambungan tidak diketahui %s (%s):\n" - -#: x509/output.c:1989 -#, fuzzy -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Maklumat Sijil X.509:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tPenggunaan Kekunci:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "ralat: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tTandatangan digital.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tPenyulitan komunikasi.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tPenyulitan data simpanan.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tPengesahan.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tMenandatangan sijil.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tCapjari (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tDibatalkan: Betul\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tDibatalkan: Salah\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tCap waktu:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tPenciptaan: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tTamat tempoh: Tiada\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tTamat tempoh: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgoritma Kekunci Awam: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tNama[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tNama Dibatalkan[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tSubkekunci[%d]:\n" - -#: openpgp/output.c:399 -#, fuzzy, c-format -msgid "name[%d]: %s, " -msgstr "\tNama[%d]: %s\n" - -#: openpgp/output.c:401 -#, fuzzy, c-format -msgid "revoked name[%d]: %s, " -msgstr "\tNama Dibatalkan[%d]: %s\n" - -#: openpgp/output.c:415 -#, fuzzy -msgid "fingerprint: " -msgstr "" -"\tCap jari MD5:\n" -"\t\t" - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "" - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "" - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "" - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "" - -#: openpgp/output.c:467 -#, fuzzy, c-format -msgid "unknown key algorithm (%d)" -msgstr "Algoritma kekunci awam tidak diketahui dijumpai." - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Maklumat Sijil OpenPGP:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/nl.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/nl.gmo differ diff -Nru gnutls26-2.8.6/lib/po/nl.po gnutls26-2.4.1/lib/po/nl.po --- gnutls26-2.8.6/lib/po/nl.po 2010-03-15 10:30:16.000000000 +0000 +++ gnutls26-2.4.1/lib/po/nl.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1128 +0,0 @@ -# Dutch translations for libgnutls -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Benno Schulenberg , 2007, 2008. -# Erwin Poeze , 2009 -msgid "" -msgstr "" -"Project-Id-Version: libgnutls-2.8.1\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2009-12-03 15:29+0100\n" -"Last-Translator: Erwin Poeze \n" -"Language-Team: Dutch \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.3.1\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Gelukt." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Kan geen gemeenschappelijke coderingsmethode overeenkomen." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "De coderingsmethode wordt niet ondersteund." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Het certificaat en de gegeven sleutel passen niet bij elkaar." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Kan geen gemeenschappelijke compressiemethode overeenkomen." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Onbekend versleutelingsalgoritme gevonden." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Er werd een uitgeschakeld algoritme overeengekomen." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Er werd een groot TLS-datapakket ontvangen." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Er werd een datapakket met een ongedige versie ontvangen." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Het door de server toegezonden Diffie-Hellman-priemgetal is niet acceptabel " -"(niet lang genoeg)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Er werd een TLS-pakket met een onverwachte lengte ontvangen." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "De aangegeven sessie is om een of andere reden ongeldig geworden." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "**Interne fout** in GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Er werd een ongeldige TLS-uitbreiding ontvangen." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Er werd een ernstig TLS-alarm ontvangen." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Er werd een onverwacht TLS-pakket ontvangen." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Er is een TLS-waarschuwing ontvangen." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Er is een fout opgetreden tijdens de TLS-pakketeinde-berekening." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "De andere computer heeft geen certificaat gestuurd." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Er is al een encryptie-algoritme met een lagere prioriteit." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Er zijn geen tijdelijke RSA-parameters gevonden." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Er zijn geen tijdelijke DH-parameters gevonden." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Er werd een onverwacht TLS-handshake-pakket ontvangen." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Het lezen van een groot geheel getal is mislukt." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Het exporteren van een groot geheel getal is mislukt." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Ontsleuteling is mislukt." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Versleuteling is mislukt." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Ontsleuteling met publieke sleutel is mislukt." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Versleuteling met publieke sleutel is mislukt." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Ondertekenen met publieke sleutel is mislukt." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Controle van ondertekening met publieke sleutel is mislukt." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Decompressie van het TLS-datapakket is mislukt." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Compressie van het TLS-datapakket is mislukt." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "**Interne fout** bij reserveren van geheugen." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Er werd een uitgeschakelde of ongeïmplementeerde functie gevraagd." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Onvoldoende rechten voor dat verzoek." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Fout in wachtwoordenbestand." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Onjuiste opvulbytes in PKCS1-pakket." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "De gevraagde sessie is verlopen." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Hashen is mislukt." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64-decoderingsfout." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Onverwachte fout in base64-kopregel." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64-coderingsfout." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Fout in de indeling van wachtwoordenbestand." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "De gevraagde gegevens zijn niet beschikbaar." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Fout in de 'pull'-functie." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Fout in de 'push'-functie." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "Het hoogste volgnummer voor datapakketten is bereikt. Wauw!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Fout in het certificaat." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Onbekende naam van toegevoegd onderwerp in X.509-certificaat." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Niet-ondersteunde kritieke uitbreiding in X.509-certificaat." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "" -"Er is een overtreding van het sleutelgebruik in het certificaat " -"geconstateerd." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Resource is tijdelijk niet beschikbaar, probeer later nogmaals." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Functie werd onderbroken." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "De andere computer heeft om een hernieuwde handshake gevraagd." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "" -"Er werd TLS-toepassingsdata ontvangen, terwijl handshake-gegevens verwacht " -"werden." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Fout in databank-backend." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Het certificaattype wordt niet ondersteund." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Beschikbare buffer is te klein voor de gegeven parameters." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Het verzoek is ongeldig." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Er werd een ongeoorloofde parameter ontvangen." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Fout tijdens lezen van bestand." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1-parser: Element niet gevonden." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1-parser: Naam niet gevonden." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1-parser: Fout in ontleden van DER." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1-parser: Waarde niet gevonden." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1-parser: Algemene ontledingsfout." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1-parser: Waarde is ongeldig." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1-parser: Fout in TAG." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1-parser: Fout in impliete tag." - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1-parser: Fout in type 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1-parser: Syntaxfout." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1-parser: Overloop in DER-ontleding." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Er zijn te veel lege datapakketten ontvangen." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Het initialiseren van GnuTLS-extra is mislukt." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"De versies van de GnuTLS- en GnuTLS-extra-bibliotheken komen niet overeen." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "De versie van de gcrypt-bibliotheek is te oud." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "De versie van de tasn1-bibliotheek is te oud." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "Het OpenPGP-gebruikers-ID is ingetrokken." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Fout tijdens laden van de sleutelring." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Het initialiseren van LZO is mislukt." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Er is geen ondersteund compressie-algoritme gevonden." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Er is geen ondersteund encryptie-algoritme gevonden." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Kan OpenPGP-sleutel niet verkrijgen." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Kan OpenPGP-subsleutel niet vinden." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "De gegeven SRP-gebruikersnaam is ongeldig." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "De OpenPGP-vingerafdruk wordt niet ondersteund." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Het certificaat heeft niet-ondersteunde eigenschappen." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "Het OID wordt niet ondersteund." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Onbekend hash-algoritme." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Onbekend inhoudstype van PKCS-structuur." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Onbekend buideltype van PKCS-structuur." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Het opgegeven wachtwoord bevat ongeldige tekens." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Verificatie van berichtauthenticatiecode is mislukt." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Sommige beperkingsgrenzen werden bereikt." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Kan geen willekeurige bits verkrijgen." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "TLS/IA-tussenfasebeëindigingsbericht ontvangen" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "TLS/IA-eindfasebeëindigingsbericht ontvangen" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Verificatie van TLS/IA-fasecontrolesom is mislukt" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Het opgegeven algoritme of protocol is onbekend." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"De gegevensgrootte van de handshake is te groot (DoS-aanval?); controleer " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(onbekende foutcode)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Afsluitingsbericht" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Onverwacht bericht" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Record met ongeldige MAC" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Ontsleuteling is mislukt" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Recordoverloop" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Decompressie is mislukt" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Handshake is mislukt" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Certificaat is ongeldig" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Certificaat wordt niet ondersteund" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certificaat is ingetrokken" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certificaat is verlopen" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Onbekend certificaat" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Ongeldige parameter" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "CA is onbekend" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Toegang werd geweigerd" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Decoderingsfout" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Ontsleutelingsfout" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Exportbeperking" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Fout in protocolversie" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Onvoldoende veiligheid" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Door gebruiker geannuleerd" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "**Interne fout**" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Heronderhandeling is niet toegestaan" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Kan het opgegeven certificaat niet ophalen" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Een niet-ondersteunde uitbreiding werd toegezonden" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "De toegezonden servernaam werd niet herkend" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "De SRP/PSK-gebruikersnaam ontbreekt of is onbekend" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Inwendige programmaonderhandeling is mislukt" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Inwendige programmaverificatie is mislukt" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tPadlengtebeperking: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tBeleidstaal: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tBeleid:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tHexdump: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tDigitale ondertekening.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tNiet-herroeping.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tSleutel-encryptie.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tData-encryptie.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tSleutelovereenstemming.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tCertificaatondertekening.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tCRL-ondertekening.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tAlleen sleutel-encryptie.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tAlleen sleutel-decryptie.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW-server.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW-cliënt.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tCode-ondertekening.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tE-mailbescherming.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tTijdsstempels.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tOCSP-ondertekening.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tElk doel.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertificaatautoriteit (CA): ONWAAR\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertificaatautoriteit (CA): WAAR\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tPadlengtebeperking: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP-adres: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\tAndere naam (OID): %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\tAndere naam (DER): " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\tAndere naam (ASCII): " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tUitbreidingen:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tFundamentele beperkingen (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "kritiek" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "niet kritiek" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tOnderwerps-ID van sleutel (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tAutoriteits-ID van sleutel (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tGebruik van sleutel (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tDoel van sleutel (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tToegevoegde onderwerpen (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tCRL-distributiepunten (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tInformatie over proxy-certificaat (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tOnbekende uitbreiding %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tHexdump: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersie: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSerienummer (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tUitgever: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tGeldigheid:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tNiet vóór: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tNiet na: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tOnderwerp: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "onbekend" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgoritme van publieke sleutel: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModulus (bits %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tExponent (bits %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tPublieke sleutel (bits %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tOndertekeningsalgoritme: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "Waarschuwing: ondertekend met een algoritme dat vervalst kan worden.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tOndertekening:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5-vingerafdruk:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1-vingerafdruk:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tID van publieke sleutel:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "Ondertekend met %s (beschadigd!)," - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "ondertekent met %s," - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Informatie over X.509-certificaten:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Andere informatie:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersie: 1 (standaard)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tBijwerkingsdata:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tUitgegeven: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tVolgende op: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tUitbreidingen:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tCRL-nummer (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tAutoriteits-ID van sleutel (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tOnbekende uitbreiding %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tHexdump: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tIngetrokken certificaten (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tGeen ingetrokken certificaten.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSerienummer (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tIngetrokken op: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Informatie over ingetrokken X.509-certificaten:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tExponent:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tEigenschappen:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tTest wachtwoord: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tOnbekende uitbreiding %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Informatieverzoek PKCS #10-certificaat:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tGebruik van sleutel:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "fout in get_key_usage(): %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tDigitale ondertekeningen.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tEncryptie van communicatie.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tEncryptie van opgeslagen data.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAuthenticatie.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tCertificaatondertekening.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tVingerafdruk (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tIngetrokken: Ja\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tIngetrokken: Nee\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tTijdsstempels:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tAangemaakt op: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tVervaldatum: Nooit\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tVervaldatum: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgoritme van publieke sleutel: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tNaam[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tIngetrokken naam[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tSubsleutel[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "naam[%d]: %s," - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "ingetrokken naam[%d]: %s," - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "vingerafdruk:" - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "aangemaakt: %s," - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "verloopt nooit," - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "verloopt: %s," - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "versleutelingsalgoritme %s (%d bits)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "onbekend versleutelingsalgoritme (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Informatie over OpenPGP-certificaten:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/pl.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/pl.gmo differ diff -Nru gnutls26-2.8.6/lib/po/pl.po gnutls26-2.4.1/lib/po/pl.po --- gnutls26-2.8.6/lib/po/pl.po 2010-03-15 10:43:24.000000000 +0000 +++ gnutls26-2.4.1/lib/po/pl.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1124 +0,0 @@ -# Polish translation for gnutls. -# Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Jakub Bogusz , 2006-2010. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls-2.8.5\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2010-01-04 15:09+0100\n" -"Last-Translator: Jakub Bogusz \n" -"Language-Team: Polish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Sukces." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Nie uda³o siê wynegocjowaæ obs³ugiwanego zestawu certyfikatów." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Ten typ certyfikatu nie jest obs³ugiwany." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Certyfikat i dany klucz nie pasuj± do siebie." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Nie uda³o siê wynegocjowaæ obs³ugiwanej metody kompresji." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Napotkano nieznany algorytm klucza publicznego." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Wynegocjowano algorytm, który nie zosta³ w³±czony." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Odebrano du¿y pakiet rekordu TLS." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Odebrano pakiet rekordu o niedozwolonej wersji." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Liczba pierwsza Diffie Hellmana wys³ana przez serwer jest nieakceptowalna " -"(zbyt ma³a)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Odebrano pakiet TLS o nieoczekiwanej d³ugo¶ci." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Podana sesja zosta³a z jakiego¶ powodu uniewa¿niona." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "B³±d wewnêtrzny GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Odebrano niedozwolone rozszerzenie TLS." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Odebrano krytyczny alarm TLS." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Odebrano nieoczekiwany pakiet TLS." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Odebrano ostrzegawczy alarm TLS." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Wykryto b³±d przy obliczaniu pakietu TLS Finished." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Druga strona nie wys³a³a ¿adnego certyfikatu." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Istnieje ju¿ algorytm kryptograficzny z ni¿szym priorytetem." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Nie znaleziono parametrów tymczasowych RSA." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Nie znaleziono parametrów tymczasowych DH." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Odebrano nieoczekiwany pakiet nawi±zania TLS." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Poszukiwanie du¿ej liczby ca³kowitej nie powiod³o siê." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Nie uda³o siê wyeksportowaæ du¿ej liczby ca³kowitej." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Odszyfrowywanie nie powiod³o siê." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Szyfrowanie nie powiod³o siê." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Odszyfrowywanie z kluczem publicznym nie powiod³o siê." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Szyfrowanie z kluczem publicznym nie powiod³o siê." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Podpisywanie z kluczem publicznym nie powiod³o siê." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Sprawdzenie podpisu z kluczem publicznym nie powiod³o siê." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Dekompresja pakietu rekordu TLS nie powiod³a siê." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Kompresja pakietu rekordu TLS nie powiod³a siê." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "B³±d wewnêtrzny przy przydzielaniu pamiêci." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Za¿±dano niezaimplementowanej lub wy³±czonej opcji." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Niewystarczaj±ce uprawnienia dla tego ¿±dania." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "B³±d w pliku hase³." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "B³êdne wyrównanie w pakiecie PKCS1." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "¯±dana sesja wygas³a." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Funkcja skrótu nie powiod³a siê." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "B³±d dekodowania base64." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Nieoczekiwany b³±d nag³ówka base64." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "B³±d kodowania base64." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "B³±d przetwarzania pliku hase³." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "¯±dane dane nie by³y dostêpne." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "B³±d w funkcji pull." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "B³±d w funkcji push." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "" -"Osi±gniêto górne ograniczenie numerów sekwencyjnych pakietów rekordów. Wow!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "B³±d w certyfikacie." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Nieznana nazwa Subject Alternative w certyfikacie X.509." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Nieobs³ugiwane rozszerzenie krytyczne w certyfikacie X.509." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Wykryto naruszenie u¿ycia klucza w certyfikacie." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Zasoby chwilowo niedostêpne, proszê spróbowaæ ponownie." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Funkcja zosta³a przerwana." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Druga strona za¿±da³a ponownego nawi±zania sesji." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "Odebrano dane aplikacji TLS, ale oczekiwano na nawi±zanie sesji." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "B³±d w backendzie bazy danych." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Ten typ certyfikatu nie jest obs³ugiwany." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Przekazany bufor pamiêci jest zbyt ma³y do przechowania parametrów." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "¯±danie jest nieprawid³owe." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Odebrano niedozwolony parametr." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "B³±d podczas odczytu pliku." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "Analiza ASN1: Nie znaleziono elementu." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "Analiza ASN1: Nie znaleziono identyfikatora." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "Analiza ASN1: B³±d przy analizie DER." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "Analiza ASN1: Nie znaleziono warto¶ci." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "Analiza ASN1: Ogólny b³±d przetwarzania." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "Analiza ASN1: Warto¶æ nie jest prawid³owa." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "Analiza ASN1: B³±d w znaczniku." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "Analiza ASN1: b³±d w domy¶lnym znaczniku." - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "Analiza ASN1: B³±d w typie 'ANY'." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "Analiza ASN1: B³±d sk³adni." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "Analiza ASN1: Przepe³nienie przy analizie DER." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Odebrano zbyt du¿o pustych pakietów rekordów." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Inicjalizacja GnuTLS-extra nie powiod³a siê." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"Wersja biblioteki GnuTLS nie zgadza siê z wersj± biblioteki GnuTLS-extra." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Wersja biblioteki gcrypt jest zbyt stara." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Wersja biblioteki tasn1 jest zbyt stara." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "Identyfikator u¿ytkownika OpenPGP jest uniewa¿niony." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "B³±d przy wczytywaniu zbioru kluczy." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Inicjalizacja LZO nie powiod³a siê." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Nie znaleziono obs³ugiwanego algorytmu kompresji." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Nie znaleziono obs³ugiwanego zestawu certyfikatów." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Nie uda³o siê uzyskaæ klucza OpenPGP." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Nie uda³o siê odnale¼æ podklucza OpenPGP." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Podana nazwa u¿ytkownika SRP nie jest dozwolona." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "Odcisk klucza OpenPGP nie jest obs³ugiwany." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Certyfikat ma nieobs³ugiwane atrybuty." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "OID nie jest obs³ugiwany." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Algorytm skrótu jest nieznany." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Typ zawarto¶ci struktury PKCS jest nieznany." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Typ opakowania struktury PKCS jest nieznany." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Podane has³o zawiera nieprawid³owe znaki." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Sprawdzenie kodu autentyczno¶ci wiadomo¶ci (MAC) nie powiod³o siê." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Osi±gniêto niektóre ograniczenia." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Nie uda³o siê pozyskaæ danych losowych." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Odebrano wiadomo¶æ TLS/IA Intermediate Phase Finished" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Odebrano wiadomo¶æ TLS/IA Final Phase Finished" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Sprawdzenie sumy kontrolnej frazy TLS/IA nie powiod³o siê" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Podany algorytm lub protokó³ jest nieznany." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"Rozmiar danych nawi±zania jest zbyt du¿y (DoS?), proszê sprawdziæ " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(nieznany kod b³êdu)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Powiadomienie o zamkniêciu" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Nieoczekiwany komunikat" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "B³êdny MAC rekordu" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Odszyfrowywanie nie powiod³o siê" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Przepe³nienie rekordu" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Dekompresja nie powiod³a siê" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Nawi±zanie komunikacji nie powiod³o siê" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "B³êdny certyfikat" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Nieobs³ugiwany certyfikat" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certyfikat zosta³ anulowany" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certyfikat wygas³" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Nieznany certyfikat" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Niedozwolony parametr" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "Nieznane CA" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Dostêp zabroniony" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "B³±d dekodowania" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "B³±d odszyfrowywania" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Ograniczenia eksportowe" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "B³±d w wersji protoko³u" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Niewystarczaj±ce bezpieczeñstwo" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Anulowane przez u¿ytkownika" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "B³±d wewnêtrzny" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Renegocjacja niedozwolona" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Nie uda³o siê pobraæ wskazanego certyfikatu" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Wys³ano nieobs³ugiwane rozszerzenie" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Nierozpoznana wys³ana nazwa serwera" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "Brak lub nieznana nazwa u¿ytkownika SRP/PSK" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Negocjacja w ramach aplikacji nie powiod³a siê" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Weryfikacja w ramach aplikacji nie powiod³a siê" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tOgraniczenie d³ugo¶ci ¶cie¿ki: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tJêzyk polityki: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolityka:\n" -"\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tZrzut hex: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tPodpis cyfrowy.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tBez odmowy.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tSzyfrowanie klucza.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tSzyfrowanie danych.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tUzgodnienie klucza.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tPodpisanie certyfikatu.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tPodpisanie CRL.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tTylko szyfrowanie klucza.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tTylko deszyfrowanie klucza.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "uwaga: distributionPoint zawiera znak NUL, zast±piono znakiem '!'\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tSerwer WWW TLS.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tKlient WWW TLS.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tPodpisywanie kodu.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tOchrona poczty elektronicznej.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tOznaczanie czasu.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tPodpisywanie OCSP.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tDowolne zastosowanie.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCA: NIE\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCA: TAK\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tOgraniczenie d³ugo¶ci ¶cie¿ki: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "warning: SAN zawiera znak NUL, zast±piono znakiem '!'\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tAdres XMPP: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\tOID otherName: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\tDER otherName: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\tASCII otherName: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tRozszerzenia:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tOgraniczenia podstawowe (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "krytyczny" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "niekrytyczny" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tIdentyfikator klucza przedmiotu (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tIdentyfikator klucza autorytetu (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tU¿ycie klucza (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tPrzeznaczenie klucza (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tAlternatywna nazwa przedmiotu (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tPunkty rozprowadzania CRL (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tInformacja o certyfikacie proxy (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tNieznane rozszerzenie %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tZrzut hex: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tWersja: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tNumer seryjny (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tWystawca: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tWa¿no¶æ:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tNie wcze¶niej ni¿: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tNie pó¼niej ni¿: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tPrzedmiot: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "nieznany" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgorytm klucza publicznego: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tReszta (bitów: %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tWyk³adnik (bitów: %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tKlucz publiczny (bitów: %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tAlgorytm podpisu: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"uwaga: podpisano z³amanym algorytmem podpisu, który mo¿e byæ podrobiony.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tPodpis:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tOdcisk MD5:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tOdcisk SHA-1:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tIdentyfikator klucza publicznego:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "podpisano przy u¿yciu %s (uszkodzonego!), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "podpisano przy u¿yciu %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Informacja o certyfikacie X.509:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Inne informacje:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tWersja: 1 (domy¶lna)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tDaty uaktualnieñ:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tWystawiono: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tNastêpnie: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tRozszerzenia:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tNumer CRL (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tIdentyfikator klucza autorytetu (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tNieznane rozszerzenie %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tZrzut hex: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tUniewa¿nione certyfikaty (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tBrak uniewa¿nionych certyfikatów.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tNumer seryjny (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tUniewa¿niono: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Informacja o li¶cie uniewa¿nieñ certyfikatów X.509:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tWyk³adnik:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAtrybuty:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tHas³o wyzwania: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tNieznane rozszerzenie %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Informacja o ¿±daniu certyfikatu PKCS #10:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tU¿ycie klucza:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "b³±d: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tPodpisy cyfrowe.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tSzyfrowanie komunikacji.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tSzyfrowanie przechowywanych danych.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tUwierzytelnianie.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tPodpisanie certyfikatu.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tOdcisk (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tUniewa¿niony: tak\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tUniewa¿niony: nie\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tOznaczenia czasu:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tUtworzenie: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tWyga¶niêcie: nigdy\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tWyga¶niêcie: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgorytm klucza publicznego: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tNazwa[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tNazwa uniewa¿niona[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tPodklucz[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "nazwa[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "nazwa uniewa¿niona[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "odcisk: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "utworzono: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "nigdy nie wygasa, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "wygasa: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "algorytm klucza publicznego %s (bitów: %d)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "nieznany algorytm klucza publicznego (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Informacja o certyfikacie OpenPGP:\n" diff -Nru gnutls26-2.8.6/lib/po/POTFILES.in gnutls26-2.4.1/lib/po/POTFILES.in --- gnutls26-2.8.6/lib/po/POTFILES.in 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/po/POTFILES.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -# List of source files which contain translatable strings. -gnutls_errors.c -gnutls_alert.c -x509/output.c -openpgp/output.c diff -Nru gnutls26-2.8.6/lib/po/quot.sed gnutls26-2.4.1/lib/po/quot.sed --- gnutls26-2.8.6/lib/po/quot.sed 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/quot.sed 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -s/"\([^"]*\)"/“\1â€/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“â€/""/g diff -Nru gnutls26-2.8.6/lib/po/remove-potcdate.sin gnutls26-2.4.1/lib/po/remove-potcdate.sin --- gnutls26-2.8.6/lib/po/remove-potcdate.sin 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/remove-potcdate.sin 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -# Sed script that remove the POT-Creation-Date line in the header entry -# from a POT file. -# -# The distinction between the first and the following occurrences of the -# pattern is achieved by looking at the hold space. -/^"POT-Creation-Date: .*"$/{ -x -# Test if the hold space is empty. -s/P/P/ -ta -# Yes it was empty. First occurrence. Remove the line. -g -d -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff -Nru gnutls26-2.8.6/lib/po/Rules-quot gnutls26-2.4.1/lib/po/Rules-quot --- gnutls26-2.8.6/lib/po/Rules-quot 2010-03-15 10:28:11.000000000 +0000 +++ gnutls26-2.4.1/lib/po/Rules-quot 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -# Special Makefile rules for English message catalogs with quotation marks. - -DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot - -.SUFFIXES: .insert-header .po-update-en - -en@quot.po-create: - $(MAKE) en@quot.po-update -en@boldquot.po-create: - $(MAKE) en@boldquot.po-update - -en@quot.po-update: en@quot.po-update-en -en@boldquot.po-update: en@boldquot.po-update-en - -.insert-header.po-update-en: - @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - ll=`echo $$lang | sed -e 's/@.*//'`; \ - LC_ALL=C; export LC_ALL; \ - cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$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 "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "creation of $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -en@quot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header - -en@boldquot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header - -mostlyclean: mostlyclean-quot -mostlyclean-quot: - rm -f *.insert-header diff -Nru gnutls26-2.8.6/lib/po/stamp-po gnutls26-2.4.1/lib/po/stamp-po --- gnutls26-2.8.6/lib/po/stamp-po 2010-03-15 10:30:16.000000000 +0000 +++ gnutls26-2.4.1/lib/po/stamp-po 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -timestamp Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/sv.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/sv.gmo differ diff -Nru gnutls26-2.8.6/lib/po/sv.po gnutls26-2.4.1/lib/po/sv.po --- gnutls26-2.8.6/lib/po/sv.po 2010-03-15 10:43:25.000000000 +0000 +++ gnutls26-2.4.1/lib/po/sv.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1138 +0,0 @@ -# Swedish translation of libgnutls. -# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Daniel Nylander , 2006, 2007, 2008, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.5\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2009-12-27 18:01+0100\n" -"Last-Translator: Daniel Nylander \n" -"Language-Team: Swedish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Lyckades." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Kunde inte förhandla fram en krypteringssvit som stöds." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Krypteringstypen stöds inte." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Certifikatet och den angivna nyckeln stämmer inte överens." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Kunde inte förhandla fram en stödd komprimeringsmetod." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "En okänd publik nyckel-algoritm pÃ¥träffades." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "En algoritm som inte är aktiverad blev förhandlad." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Ett stort TLS-journalpaket togs emot." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Ett journalpaket med otillÃ¥ten version togs emot." - -# Stort? -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Diffie-Hellman-primtalet som skickades av servern är inte acceptabelt (inte " -"tillräckligt lÃ¥ngt)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Ett TLS-paket med oväntad längd togs emot." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Angiven session har av nÃ¥gon anledning blivit ogiltigförklarad." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "Internt fel i GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "En otillÃ¥ten TLS-utökning togs emot." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Ett ödesdigert TLS-larm togs emot." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Ett oväntat TLS-paket togs emot." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "En TLS-varning har tagits emot." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Ett fel pÃ¥träffades vid beräkning av TLS Finished-paketet." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Motparten skickade inget certifikat." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Det finns redan en krypteringsalgoritm med lägre prioritet." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Inga temporära RSA-parametrar hittades." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Inga temporära DH-parametrar hittades." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Ett oväntat TLS-handskakningspaket togs emot." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Avsökningen av ett stort heltal misslyckades." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Kunde inte exportera ett stort heltal." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Dekryptering misslyckades." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Kryptering misslyckades." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Dekryptering av publik nyckel misslyckades." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Kryptering av publik nyckel misslyckades." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Signering av publik nyckel misslyckades." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Validering av av publika nyckelns signatur misslyckades." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Dekomprimering av TLS-journalpaketet har misslyckades." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Komprimering av TLS-journalpaketet har misslyckades." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Internt fel i minnesallokering." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "En icke implementerad eller inaktiverad funktion begärdes." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Otillräckliga rättigheter för begäran." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Fel i lösenordsfil." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Fel utfyllnad i PKCS1-paket." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "Den begärda sessionen har tagit slut." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Hashning misslyckades." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64-avkodningsfel." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Oväntat fel i Base64-huvud." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64-kodningsfel." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Tolkningsfel i lösenordsfil." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Begärt data var inte tillgängligt." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Fel i inhämtningsfunktionen." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Fel i utsändningsfunktionen." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "Den övre gränsen för sekvensnummer för journalpaket har nÃ¥tts. Wow!" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Fel i certifikatet." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Okänt alternativt namn för innehavare i X.509-certifikat." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "Icke stödd kritisk utökning i X.509-certifikat." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Överträdelse av nyckelanvändning i certifikat har upptäckts." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Resursen är temporärt otillgänglig, försök igen." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Funktionen avbröts." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Upprepad handskakning begärdes av motparten." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "TLS-programdata togs emot när handskakningsdata förväntades." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Fel i databasbakänden." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Certifikattypen stöds inte." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Den angivna minnesbufferten är för liten för att lagra parametrar." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Begäran är ogiltig." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "En otillÃ¥ten parameter har tagits emot." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Fel vid läsning av fil." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1-tolkare: Elementet hittades inte." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1-tolkare: Identifieraren hittades inte" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1-tolkare: Fel i DER-tolkning." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1-tolkare: Värdet hittades inte." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1-tolkare: Allmänt tolkningsfel." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1-tolkare: Värdet är inte giltigt." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1-tolkare: Fel i TAG." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1-tolkare: fel i implicit tag" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1-tolkare: Fel i typen \"ANY\"." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1-tolkare: Syntaxfel." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1-tolkare: Överflöde i DER-tolkning." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "För mÃ¥nga tom journalpaket har tagits emot." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Initieringen av GnuTLS-extra har misslyckats." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"Versionen av GnuTLS-biblioteket stämmer inte överens med versionen av GnuTLS-" -"extra-biblioteket." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Versionen av gcrypt-biblioteket är för gammal." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Versionen av tasn1-biblioteket är för gammal." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "OpenPGP-användaridentiteten är spärrad." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Fel vid inläsning av nyckelringen." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Initiering av LZO misslyckades." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Inga stödda komprimeringsalgoritmer har hittats." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Inga stödda krypteringssviter har hittats." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Kunde inte hämta OpenPGP-nyckel." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Kunde inte hitta OpenPGP-undernyckel." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Det angivna SRP-användarnamnet är inte tillÃ¥tet." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "OpenPGP-fingeravtrycket stöds inte." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Certifikatet har attribut som inte stöds." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "OID:n stöds inte." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Hashalgoritmen är okänd." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "PKCS-strukturens innehÃ¥llstyp är okänd." - -# Hjälp! -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "PKCS-strukturens väsktyp är okänd." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Det angivna lösenordet innehÃ¥ller ogiltiga tecken." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Validering av meddelandeautentiseringskoden (MAC) misslyckades." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Vissa begränsningar nÃ¥ddes." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Misslyckades med att fÃ¥ tag pÃ¥ slumpmässigt data." - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Tog emot ett TLS/IA Intermediate Phase Finished-meddelande" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Tog emot ett TLS/IA Final Phase Finished-meddelande" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Validering av kontrollsumma för TLS/IA-fas misslyckades" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Angivna algoritmen eller protokollet är okänt." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"Datastorleken för handskakningen är för stor (DoS?), kontrollera " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(okänd felkod)" - -# SSL_shutdown() shuts down an active TLS/SSL connection. It sends the ``close notify'' shutdown alert to the peer. -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Stängningsnotifiering" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Oväntat meddelande" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "Felaktig MAC-post" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Dekryptering misslyckades" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Överflöde i post" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Dekomprimering misslyckades" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Handskakning misslyckades" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Certifikatet är felaktigt" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Certifikatet stöds inte" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Certifikatet var spärrat" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Certifikatet har gÃ¥tt ut" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Okänt certifikat" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "OtillÃ¥ten parameter" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "Certifikatutfärdare är okänd" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Ã…tkomst nekades" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Avkodningsfel" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Dekrypteringsfel" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Exportbegränsning" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Fel i protokollversion" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Otillräcklig säkerhet" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "Användaren avbröt" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Internt fel" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Ingen Ã¥terförhandling tillÃ¥ts" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Kunde inte hämta angivet certifikat" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "En utökning skickades som inte stöds" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Servernamnet som skickades kändes inte igen" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "SRP/PSK-användarnamn saknas eller är inte känt" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Förhandling för inre program misslyckades" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Validering av inre program misslyckades" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tBegränsning för sökvägslängd: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tPolicysprÃ¥k: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tHexdump: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tDigital signatur.\n" - -# Klassisk term inom digitala certifikat. -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tOförnekbarhet.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tNyckelkryptering.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tDatakryptering.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tNyckelförhandling.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tCertifikatsignering.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tCRL-signering.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tEndast nyckelkryptering.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tEndast nyckeldekryptering.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" -"varning: distributionPoint innehÃ¥ller en inbäddad NUL, ersätter med \"!\"\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW-server.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW-klient.\n" - -# Källkodssignering? -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tKodsignering.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tE-postskydd.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tTidsstämpling.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tOCSP-signering.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tValfritt syfte.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tCertifikatutfärdare (CA): FALSKT\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tCertifikatutfärdare (CA): SANT\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tBegränsning för sökvägslängd: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "varning: SAN innehÃ¥ller en inbäddad NUL, ersätter med \"!\"\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP-adress: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\totherName OID: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\totherName DER: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\totherName ASCII: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tTillägg:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tAllmänna begränsningar (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "kritisk" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "ej kritisk" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\t\tInnehavarens nyckelidentifierare (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tUtfärdarens nyckelidentifierare (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tNyckelanvändning (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tNyckelsyfte (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tInnehavarens alternativa namn (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tCRL-distributionspunkter (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tInformation om proxycertifikat (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tOkänt tillägg %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tHexdump: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tVersion: %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSerienummer (hex): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tUtfärdare: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tGiltighet:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tInte före: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tInte efter: %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tInnehavare: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "okänd" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tAlgoritm för innehavarens publika nyckel: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tModulus (bitar %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tExponent (bitar %d):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tPublik nyckel (bitar %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tSignaturalgoritm: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "varning: signerad med en trasig signaturalgoritm som kan förfalskas.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tSignatur:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5-fingeravtryck:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1-fingeravtryck:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tPublik nyckel-identitet:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "signerat med %s (trasig!), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "signerat med %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Information om X.509-certifikat:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Övrig information:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tVersion: 1 (standard)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tUppdateringsdatum:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tUtfärdat: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tNästa den: %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tTillägg:\n" - -# Nummer? Antal? -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tCRL-nummer (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tUtfärdarens nyckelidentifierare (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tOkänt tillägg %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tHexdump: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tSpärrade certifikat (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tInga spärrade certifikat.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSerienummer (hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tSpärrat den: %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Information om spärrlista för X.509-certifikat:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tExponent:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tAttribut:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tMotsvarslösenord: %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tOkänt attribut %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Information om begäran av PKCS #10-certifikat:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tNyckelanvändning:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "fel: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tDigitala signaturer.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tKommunikationskryptering.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tKryptering för datalagring.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tAutentisering.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tCertifikatsignering.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tIdentitet (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tFingeravtryck (hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tSpärrat: Sant\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tSpärrat: Falskt\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tTidsstämplar:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tSkapat den: %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tUtgÃ¥ngsdatum: Aldrig\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tUtgÃ¥ngsdatum: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tAlgoritm för publik nyckel: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tNamn[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tSpärrat namn[%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tUndernyckel[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "namn[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "spärrat namn[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "fingeravtryck: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "skapat: %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "gÃ¥r aldrig ut, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "gÃ¥r ut: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "nyckelalgoritm %s (%d bitar)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "okänd nyckelalgoritm (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Information om OpenPGP-certifikat:\n" - -#~ msgid "" -#~ "The specified GnuPG TrustDB version is not supported. TrustDB v4 is " -#~ "supported." -#~ msgstr "Den angivna GnuPG TrustDB-versionen stöds inte. TrustDB v4 stöds." - -#~ msgid "\t\t\tPolicy Language: %.*s\n" -#~ msgstr "\t\t\tPolicysprÃ¥k: %.*s\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/vi.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/vi.gmo differ diff -Nru gnutls26-2.8.6/lib/po/vi.po gnutls26-2.4.1/lib/po/vi.po --- gnutls26-2.8.6/lib/po/vi.po 2010-03-15 10:43:25.000000000 +0000 +++ gnutls26-2.4.1/lib/po/vi.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1129 +0,0 @@ -# Vietnamese translation for LibGnuTLS. -# Copyright © 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Clytie Siddall , 2008-2010. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.5\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2010-02-11 21:58+0930\n" -"Last-Translator: Clytie Siddall \n" -"Language-Team: Vietnamese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: LocFactoryEditor 1.8\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "Thành công." - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "Không thể thá»a thuận má»™t bá»™ ứng dụng mật mã được há»— trợ." - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "Loại mật mã không được há»— trợ." - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "Chứng nhận và khoá đã cho không tÆ°Æ¡ng ứng vá»›i nhau." - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "Không thể thá»a thuận má»™t phÆ°Æ¡ng pháp nén được há»— trợ." - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "Gặp má»™t thuật toán khoá công không rõ." - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "Äã thá»a thuận má»™t thuật toán chÆ°a được hiệu lá»±c." - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "Nhận được má»™t gói tin mục ghi TLS lá»›n." - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "Nhận được má»™t gói tin mục ghi có phiên bản cấm." - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" -"Máy phục vụ đã gá»­i má»™t nguyên tố Diffie Hellman không thích hợp (quá ngắn)." - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "Nhận được má»™t gói tin TLS có chiá»u dài bất thÆ°á»ng." - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "Buổi hợp đã ghi rõ cÅ©ng bị tắt vì lý do nào." - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "Lá»—i ná»™i bá»™ GnuTLS." - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "Nhận được má»™t phần mở rá»™ng TLS cấm." - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "Nhận được má»™t cảnh giác nghiêm trá»ng TLS." - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "Nhận được má»™t gói tin TLS bất thÆ°á»ng." - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "Nhận được má»™t cảnh giác báo trÆ°á»›c TLS." - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "Gặp lá»—i trong phép tính gói tin đã kết thúc TLS." - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "Äồng đẳng chÆ°a gá»­i chứng nhận." - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "Äã có má»™t thuật toán mật mã có mức Æ°u tiên thấp hÆ¡n." - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "Không tìm thấy tham số RSA tạm thá»i." - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "Không tìm thấy tham số DH tạm thá»i." - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "Nhận được má»™t gói tin thiết lập quan hệ TLS bất thÆ°á»ng." - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "Lá»—i quét má»™t số nguyên lá»›n." - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "Không thể xuất má»™t số nguyên lá»›n." - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "Lá»—i giải mật mã." - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "Lá»—i mật mã hoá." - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "Lá»—i giải mật mã khoá công." - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "Lá»—i mật mã hoá khoá công." - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "Lá»—i ký khoá công." - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "Lá»—i thẩm tra chữ ký khoá công." - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "Lá»—i giải nén gói tin mục ghi TLS." - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "Lá»—i nén gói tin mục ghi TLS." - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "Gặp lá»—i ná»™i bá»™ trong khi cấp phát bá»™ nhá»›." - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "Äã yêu cầu má»™t tính năng bị tắt hoặc chÆ°a được thá»±c hiện." - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "Không đủ thông tin xác thá»±c cho yêu cầu đó." - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "Gặp lá»—i trong tập tin mật khẩu." - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "Sai đệm gói tin PKCS1." - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "Äã yêu cầu má»™t buổi hợp đã hết hạn." - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "Lá»—i chuyển đổi chuá»—i sang má»™t mẫu duy nhất." - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Lá»—i giải mã Base64." - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "Lá»—i phần đầu bất thÆ°á»ng Base64." - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Lá»—i mã hoá Base64." - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "Lá»—i phân tích ngữ pháp trong tập tin mật khẩu." - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "Äã yêu cầu dữ liệu không sẵn sàng." - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "Gặp lá»—i trong hàm pull." - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "Gặp lá»—i trong hàm push." - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "Má»›i tá»›i giá»›i hạn trên của số thứ tá»± gói tin mục ghi !" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "Gặp lá»—i trong chứng nhận." - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "Không rõ tên NgÆ°á»i dân Xen kẽ trong chứng nhận X.509." - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "" -"Gặp phần mở rá»™ng nghiêm trá»ng không được há»— trợ trong chứng nhận X.509." - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "Äã phát hiện sá»± vi phạm cách sá»­ dụng khoá trong chứng nhận." - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "Tài nguyên tạm thá»i không sẵn sàng, hãy thá»­ lại." - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "Hàm đã bị gián Ä‘oạn." - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "Äồng đẳng đã yêu cầu thiết lập lại quan hệ." - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "Nhận được dữ liệu Ứng dụng TLS, còn đợi dữ liệu thiết lập quan hệ." - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "Gặp lá»—i trong hậu phÆ°Æ¡ng cÆ¡ sở dữ liệu." - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "Loại chứng nhận không được há»— trợ." - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "Äã Ä‘Æ°a ra má»™t vùng đệm bá»™ nhá»› quá ngắn để chứa các tham số." - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "Yêu cầu không hợp lệ." - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "Nhận được má»™t tham số cấm." - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "Gặp lá»—i khi Ä‘á»c tập tin." - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "Bá»™ phân tích ASN1: không tìm thấy phần tá»­." - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "Bá»™ phân tích ASN1: không tìm thấy đồ nhận diện." - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "Bá»™ phân tích ASN1: gặp lá»—i khi phân tích ngữ cảnh DER." - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "Bá»™ phân tích ASN1: không tìm thấy giá trị." - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "Bá»™ phân tích ASN1: lá»—i phân tích ngữ cảnh chung." - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "Bá»™ phân tích ASN1: giá trị không hợp lệ." - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong TAG (thẻ)." - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong thẻ dứt khoát." - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong loại « ANY » (bất kỳ)." - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "Bá»™ phân tích ASN1: lá»—i cú pháp." - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "Bá»™ phân tích ASN1: tràn sá»± phân tích ngữ cảnh DER." - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "Nhận được quá nhiá»u gói tin mục ghi trống." - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "Lá»—i sÆ¡ khởi GnuTLS-extra." - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "" -"Phiên bản thÆ° viện GnuTLS không tÆ°Æ¡ng ứng vá»›i phiên bản thÆ° viện GnuTLS-" -"extra." - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "Phiên bản thÆ° viện gcrypt quá cÅ©." - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "Phiên bản thÆ° viện tasn1 quá cÅ©." - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "Mã số ngÆ°á»i dùng OpenPGP bị thu hồi." - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "Gặp lá»—i khi nạp vòng khoá." - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "Lá»—i sÆ¡ khởi LZO." - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "Không tìm thấy thuật toán nén được há»— trợ." - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "Không tìm thấy bá»™ ứng dụng mật mã được há»— trợ." - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "Không thể lấy khoá OpenPGP." - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "Không tìm thấy khoá phụ OpenPGP." - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "Äã cung cấp má»™t tên ngÆ°á»i dùng SRP cấm." - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "Dấu tay OpenPGP không phải được há»— trợ." - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "Chứng nhận có thuá»™c tính không được há»— trợ." - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "IOD không được há»— trợ." - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "Không rõ thuật toán chuyển đổi chuá»—i sang mẫu duy nhất (hash)." - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "Không rõ loại ná»™i dung của cấu trúc PKCS." - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "Không rõ loại bao của cấu trúc PKCS." - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "Äã Ä‘Æ°a ra má»™t mật khẩu chứa ký tá»± không hợp lệ." - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "Lá»—i thẩm tra Mã Xác Thá»±c Thông Äiệp." - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "Äã tá»›i má»™t số giá»›i hạn ràng buá»™c." - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "Lá»—i lấy dữ liệu ngẫu nhiên. " - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "Nhận được má»™t thông Ä‘iệp Giải Ä‘oạn TLS/IA Trung gian đã Kết thúc." - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "Nhận được má»™t thông Ä‘iệp Giải Ä‘oạn TLS/IA Cuối cùng đã Kết thúc." - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "Lá»—i thẩm tra tổng kiểm của giải Ä‘oạn TLS/IA." - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "Không rõ thuật toán hoặc giao thức đã ghi rõ." - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" -"Dữ liệu thiết lập quan hệ có kích cỡ quá lá»›n (DoS?), hãy kiểm tra lại " -"gnutls_handshake_set_max_packet_length()." - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(không rõ mã lá»—i)" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "Äóng thông báo" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "Thông Ä‘iệp bất thÆ°á»ng" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "MAC mục ghi sai" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "Lá»—i giải mật mã" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "Tràn mục ghi" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "Lá»—i giải nén" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "Lá»—i thiết lập quan hệ" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "Chứng nhận sai" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "Chứng nhận không được há»— trợ" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "Chứng nhận bị thu hồi" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "Chứng nhận đã hết hạn" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "Không nhận ra chứng nhận" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "Tham số không được phép" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "Không nhận ra nhà cầm quyá»n cấp chứng nhận (CA)" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "Truy cập bị từ chối" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "Lá»—i giải mã" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "Lá»—i giải mật mã" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "Giá»›i hạn xuất khẩu" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "Lá»—i trong phiên bản giao thức" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "Không đủ bảo mật" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "NgÆ°á»i dùng đã thôi" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "Lá»—i ná»™i bá»™" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "Không cho phép thá»a thuận lại" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "Không thể lấy chứng nhận đã xác định" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "Äã gá»­i má»™t phần mở rá»™ng không được há»— trợ" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "Äã gá»­i má»™t tên máy phục vụ không được nhận ra" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "Tên ngÆ°á»i dùng SRP/PSK bị thiếu hay không được nhận ra" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "Lá»—i thá»a thuận ứng dụng bên trong" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "Không thẩm tra được ứng dụng bên trong" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\tRàng buá»™c Chiá»u dài ÄÆ°á»ng dẫn: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\tNgôn ngữ Chính sách: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\tChính sách:\n" -"\t\t\t\tASCII: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tÄổ thập lục: " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tChữ ký dạng số.\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "%s\t\t\tKhông từ chối.\n" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "%s\t\t\tMật mã hoá khoá.\n" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "%s\t\t\tMật mã hoá dữ liệu.\n" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "%s\t\t\tChấp thuận khoá.\n" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tKý chứng nhận.\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tKý CRL.\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "%s\t\t\tChỉ mật mã hoá khoá.\n" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "%s\t\t\tChỉ giải mật mã khoá.\n" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" -"cảnh báo : distributionPoint (Ä‘iểm phân phối) chứa má»™t NUL nhúng thì thay " -"thế bằng má»™t dấu chấm than « ! »\n" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTrình phục vụ WWW TLS.\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tỨng dụng khách WWW TLS.\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "%s\t\t\tKý mã.\n" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tBảo vệ thÆ° Ä‘iện tá»­.\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\tGhi thá»i gian.\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tKý OCSP.\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "%s\t\t\tBất cứ mục đích nào.\n" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "%s\t\t\tNhà cầm quyá»n chứng nhận (CA): SAI\n" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "%s\t\t\tNhà cầm quyá»n chứng nhận (CA): ÄÚNG\n" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\tRàng buá»™c Chiá»u dài ÄÆ°á»ng dẫn: %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" -"cảnh báo : SAN chứa má»™t NUL nhúng thì thay thế bằng má»™t dấu chấm than « ! »\n" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tÄịa chỉ XMPP: %.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "%s\t\t\tOID tên khác: %.*s\n" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "%s\t\t\tDER tên khác: " - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" -"\n" -"%s\t\t\tASCII tên khác: " - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\tPhần mở rá»™ng:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\tRàng buá»™c CÆ¡ bản (%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "tá»›i hạn" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "không tá»›i hạn" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "%s\tÄồ nhận diện Khoá NgÆ°á»i dân (%s):\n" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "%s\t\tÄồ nhận diện Khoá Nhà cầm quyá»n (%s):\n" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "%s\t\tSá»­ dụng Khoá (%s):\n" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "%s\t\tMục đích Khoá (%s):\n" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "%s\t\tTên Xen kẽ NgÆ°á»i dân (%s):\n" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "%s\t\tÄiểm phân phối CRL (%s):\n" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\tThông tin Chứng nhận Ủy nhiệm (%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\tPhần mở rá»™ng không được nhận ra %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "%s\t\t\tÄổ thập lục: " - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\tPhiên bản %d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tSố sản xuất (thập lục): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tNhà cấp: %s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\tHợp lệ:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tKhông phải trÆ°á»›c: %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tKhông phải sau : %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\tNgÆ°á»i dân: %s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "không rõ" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\tThuật toán Khoá Công NgÆ°á»i dân: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\tGiá trị tuyệt đối (%d bit):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "\t\tMÅ© (%d bit):\n" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\tKhoá công (%d bit):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tThuật toán Chữ ký: %s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "" -"cảnh báo : đã ký dùng má»™t thuật toán chữ ký bị há»ng có thể bị giả mạo.\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tChữ ký:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tDấu tay MD5:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tDấu tay SHA1:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\tMã số Khoá Công:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "đã ký dùng %s (bị há»ng !), " - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "đã ký dùng %s, " - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "Thông tin Chứng nhận X.509:\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "Thông tin khác:\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\tPhiên bản: 1 (mặc định)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\tNgày cập nhật:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tCấp: %s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\tLần sau vào : %s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\tPhần mở rá»™ng:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tSố CRL (%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\tÄồ nhận diện Khoá Nhà cầm quyá»n (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\tPhần mở rá»™ng không được nhận ra %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tÄổ thập lục: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\tChứng nhận bị thu hồi (%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\tKhông có chứng nhận bị thu hồi.\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tSố sản xuất (thập lục): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\tThu hồi vào : %s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "Danh sách Thu hồi Chứng nhận X.509:\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\tMÅ© :\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "\tThuá»™c tính:\n" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "\t\tMật khẩu yêu cầu : %s\n" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "\t\tKhông nhận ra thuá»™c tính %s:\n" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "Thông tin Yêu cầu Chứng nhận PKCS #10:\n" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "\t\tSá»­ dụng Khoá:\n" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "lá»—i: get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tChữ ký thuật số.\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "\t\t\tMật mã hoá giao thông.\n" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "\t\t\tMật mã hoá dữ liệu lÆ°u trữ.\n" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\tXác thá»±c.\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tKý chứng nhận.\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tMã số (thập lục): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\tDấu tay (thập lục):" - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\tThu hồi: Äúng\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\tThu hồi: Sai\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\tNhãn thá»i gian.\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\tTạo : %s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\tHết hạn: Không bao giá»\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\tHết hạn: %s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\tThuật toán Khoá Công: %s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tTên[%d]: %s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tTên bị thu hồi [%d]: %s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" -"\n" -"\tKhoá phụ[%d]:\n" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "tên[%d]: %s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "tên bị thu hồi[%d]: %s, " - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "dấu tay: " - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "tạo : %s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "không bao giá» hết hạn, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "hết hạn: %s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "thuật toán khoá %s (%d bit)" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "không nhận ra thuật toán khoá (%d)" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "Thông tin chứng nhận OpenPGP:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/lib/po/zh_CN.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/lib/po/zh_CN.gmo differ diff -Nru gnutls26-2.8.6/lib/po/zh_CN.po gnutls26-2.4.1/lib/po/zh_CN.po --- gnutls26-2.8.6/lib/po/zh_CN.po 2010-03-15 10:30:16.000000000 +0000 +++ gnutls26-2.4.1/lib/po/zh_CN.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,1114 +0,0 @@ -# Simplified Chinese translation for libgnutls -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the libgnutls package. -# Tao Wei , 2008. -# Aron Xu , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: libgnutls 2.8.1\n" -"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" -"POT-Creation-Date: 2010-03-15 11:30+0100\n" -"PO-Revision-Date: 2009-11-09 19:16+0800\n" -"Last-Translator: Aron Xu \n" -"Language-Team: Chinese (simplified) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gnutls_errors.c:51 -msgid "Success." -msgstr "æˆåŠŸã€‚" - -#: gnutls_errors.c:52 -msgid "Could not negotiate a supported cipher suite." -msgstr "无法å商å—支æŒçš„密ç ç®—法。" - -#: gnutls_errors.c:54 -msgid "The cipher type is unsupported." -msgstr "密ç ç±»åž‹ä¸æ”¯æŒã€‚" - -#: gnutls_errors.c:56 -msgid "The certificate and the given key do not match." -msgstr "è¯ä¹¦ä¸Žå¯†é’¥ä¸åŒ¹é…。" - -#: gnutls_errors.c:58 -msgid "Could not negotiate a supported compression method." -msgstr "无法å商支æŒçš„压缩方法。" - -#: gnutls_errors.c:60 -msgid "An unknown public key algorithm was encountered." -msgstr "é‡åˆ°æœªçŸ¥çš„公钥算法。" - -#: gnutls_errors.c:63 -msgid "An algorithm that is not enabled was negotiated." -msgstr "å商的算法未å¯ç”¨ã€‚" - -#: gnutls_errors.c:65 -msgid "A large TLS record packet was received." -msgstr "收到大 TLS 记录数æ®åŒ…。" - -#: gnutls_errors.c:67 -msgid "A record packet with illegal version was received." -msgstr "收到的记录包版本éžæ³•ã€‚" - -#: gnutls_errors.c:70 -msgid "" -"The Diffie-Hellman prime sent by the server is not acceptable (not long " -"enough)." -msgstr "" - -#: gnutls_errors.c:72 -msgid "A TLS packet with unexpected length was received." -msgstr "收到了æ„外长度的 TLS æ•°æ®åŒ…。" - -#: gnutls_errors.c:75 -msgid "The specified session has been invalidated for some reason." -msgstr "指定的会è¯å·²å› æ•…失效。" - -#: gnutls_errors.c:78 -msgid "GnuTLS internal error." -msgstr "GnuTLS 内部错误。" - -#: gnutls_errors.c:79 -msgid "An illegal TLS extension was received." -msgstr "收到一个éžæ³•çš„ TLS 扩展包。" - -#: gnutls_errors.c:81 -msgid "A TLS fatal alert has been received." -msgstr "收到一个 TLS 致命错误警告。" - -#: gnutls_errors.c:83 -msgid "An unexpected TLS packet was received." -msgstr "收到一个æ„外的 TLS æ•°æ®åŒ…。" - -#: gnutls_errors.c:85 -msgid "A TLS warning alert has been received." -msgstr "收到一个 TLS 警告信æ¯ã€‚" - -#: gnutls_errors.c:88 -msgid "An error was encountered at the TLS Finished packet calculation." -msgstr "åœ¨å®Œæˆ TLS æ•°æ®åŒ…计算时出错。" - -#: gnutls_errors.c:90 -msgid "The peer did not send any certificate." -msgstr "对方未å‘é€ä»»ä½•è¯ä¹¦ã€‚" - -#: gnutls_errors.c:93 -msgid "There is already a crypto algorithm with lower priority." -msgstr "å·²ç»æœ‰ä¸€ä¸ªä½Žä¼˜å…ˆçº§çš„加密算法。" - -#: gnutls_errors.c:96 -msgid "No temporary RSA parameters were found." -msgstr "未å‘现 RSA 临时å‚数。" - -#: gnutls_errors.c:98 -msgid "No temporary DH parameters were found." -msgstr "未å‘现临时 DH å‚数。" - -#: gnutls_errors.c:100 -msgid "An unexpected TLS handshake packet was received." -msgstr "收到æ„外的 TLS æ¡æ‰‹æ•°æ®åŒ…。" - -#: gnutls_errors.c:102 -msgid "The scanning of a large integer has failed." -msgstr "大整数扫æ失败。" - -#: gnutls_errors.c:104 -msgid "Could not export a large integer." -msgstr "无法输出大整数。" - -#: gnutls_errors.c:106 -msgid "Decryption has failed." -msgstr "解密失败。" - -#: gnutls_errors.c:107 -msgid "Encryption has failed." -msgstr "加密失败。" - -#: gnutls_errors.c:108 -msgid "Public key decryption has failed." -msgstr "公钥解密失败。" - -#: gnutls_errors.c:110 -msgid "Public key encryption has failed." -msgstr "公钥加密失败。" - -#: gnutls_errors.c:112 -msgid "Public key signing has failed." -msgstr "公钥签å失败。" - -#: gnutls_errors.c:114 -msgid "Public key signature verification has failed." -msgstr "公钥签å验è¯å¤±è´¥ã€‚" - -#: gnutls_errors.c:116 -msgid "Decompression of the TLS record packet has failed." -msgstr "TLS 记录数æ®åŒ…解压缩失败。" - -#: gnutls_errors.c:118 -msgid "Compression of the TLS record packet has failed." -msgstr "TLS 记录数æ®åŒ…压缩失败。" - -#: gnutls_errors.c:121 -msgid "Internal error in memory allocation." -msgstr "在分é…内存时å‘生内部错误。" - -#: gnutls_errors.c:123 -msgid "An unimplemented or disabled feature has been requested." -msgstr "所请求的特性尚未实现或已被ç¦ç”¨ã€‚" - -#: gnutls_errors.c:125 -msgid "Insufficient credentials for that request." -msgstr "此请求的信任凭è¯ä¸è¶³ã€‚" - -#: gnutls_errors.c:127 -msgid "Error in password file." -msgstr "密ç æ–‡ä»¶é”™è¯¯ã€‚" - -#: gnutls_errors.c:128 -msgid "Wrong padding in PKCS1 packet." -msgstr "PKC51 æ•°æ®åŒ…填充错误。" - -#: gnutls_errors.c:130 -msgid "The requested session has expired." -msgstr "请求的会è¯å·²è¿‡æœŸã€‚" - -#: gnutls_errors.c:131 -msgid "Hashing has failed." -msgstr "散列è¿ç®—失败。" - -#: gnutls_errors.c:132 -msgid "Base64 decoding error." -msgstr "Base64 解ç å‡ºé”™ã€‚" - -#: gnutls_errors.c:134 -msgid "Base64 unexpected header error." -msgstr "" - -#: gnutls_errors.c:137 -msgid "Base64 encoding error." -msgstr "Base64 ç¼–ç å‡ºé”™ã€‚" - -#: gnutls_errors.c:139 -msgid "Parsing error in password file." -msgstr "密ç æ–‡ä»¶è§£æžå‡ºé”™ã€‚" - -#: gnutls_errors.c:141 -msgid "The requested data were not available." -msgstr "请求的数æ®ä¸å¯ç”¨ã€‚" - -#: gnutls_errors.c:143 -msgid "Error in the pull function." -msgstr "在 pull 函数中出错。" - -#: gnutls_errors.c:144 -msgid "Error in the push function." -msgstr "在 push 函数中出错。" - -#: gnutls_errors.c:146 -msgid "" -"The upper limit of record packet sequence numbers has been reached. Wow!" -msgstr "哦ï¼è®°å½•æ•°æ®åŒ…åºåˆ—的上é™å€¼å·²åˆ°ã€‚" - -#: gnutls_errors.c:148 -msgid "Error in the certificate." -msgstr "è¯ä¹¦å‡ºé”™ã€‚" - -#: gnutls_errors.c:150 -msgid "Unknown Subject Alternative name in X.509 certificate." -msgstr "X.509 è¯ä¹¦ä¸­å«æœ‰æœªçŸ¥çš„主体代用å。" - -#: gnutls_errors.c:153 -msgid "Unsupported critical extension in X.509 certificate." -msgstr "X.509 è¯ä¹¦ä¸­å«æœ‰ä¸æ”¯æŒçš„关键性扩展。" - -#: gnutls_errors.c:155 -msgid "Key usage violation in certificate has been detected." -msgstr "在è¯ä¹¦ä¸­æ£€æµ‹åˆ°è¿è§„的密钥用法。" - -#: gnutls_errors.c:157 -msgid "Resource temporarily unavailable, try again." -msgstr "资æºä¸´æ—¶ä¸å¯ç”¨ï¼Œè¯·é‡è¯•ã€‚" - -#: gnutls_errors.c:159 -msgid "Function was interrupted." -msgstr "函数被中断。" - -#: gnutls_errors.c:160 -msgid "Rehandshake was requested by the peer." -msgstr "按对方请求é‡æ–°æ¡æ‰‹ã€‚" - -#: gnutls_errors.c:163 -msgid "TLS Application data were received, while expecting handshake data." -msgstr "在期望接收 TLS æ¡æ‰‹æ•°æ®æ—¶æŽ¥æ”¶åˆ°åº”用数æ®ã€‚" - -#: gnutls_errors.c:165 -msgid "Error in Database backend." -msgstr "æ•°æ®åº“åŽç«¯å‡ºé”™ã€‚" - -#: gnutls_errors.c:166 -msgid "The certificate type is not supported." -msgstr "ä¸æ”¯æŒçš„è¯ä¹¦ç±»åž‹ã€‚" - -#: gnutls_errors.c:168 -msgid "The given memory buffer is too short to hold parameters." -msgstr "给待处ç†å‚数预留的内存缓冲区过短。" - -#: gnutls_errors.c:170 -msgid "The request is invalid." -msgstr "请求无效。" - -#: gnutls_errors.c:171 -msgid "An illegal parameter has been received." -msgstr "收到一个éžæ³•å‚数。" - -#: gnutls_errors.c:173 -msgid "Error while reading file." -msgstr "读å–文件时出错。" - -#: gnutls_errors.c:175 -msgid "ASN1 parser: Element was not found." -msgstr "ASN1 解æžå™¨ï¼šæ‰¾ä¸åˆ°å…ƒç´ ã€‚" - -#: gnutls_errors.c:177 -msgid "ASN1 parser: Identifier was not found" -msgstr "ASN1 解æžå™¨ï¼šæ‰¾ä¸åˆ°æ ‡è¯†ã€‚" - -#: gnutls_errors.c:179 -msgid "ASN1 parser: Error in DER parsing." -msgstr "ASN1 解æžå™¨ï¼šDER 解æžæ—¶å‡ºé”™ã€‚" - -#: gnutls_errors.c:181 -msgid "ASN1 parser: Value was not found." -msgstr "ASN1 解æžå™¨ï¼šæ‰¾ä¸åˆ°å€¼ã€‚" - -#: gnutls_errors.c:183 -msgid "ASN1 parser: Generic parsing error." -msgstr "ASN1 解æžå™¨ï¼šå¸¸è§„解æžä¸­å‡ºé”™ã€‚" - -#: gnutls_errors.c:185 -msgid "ASN1 parser: Value is not valid." -msgstr "ASN1 解æžå™¨ï¼šæ— æ•ˆçš„值。" - -#: gnutls_errors.c:187 -msgid "ASN1 parser: Error in TAG." -msgstr "ASN1 解æžå™¨ï¼šæ ‡ç­¾ä¸­å‡ºé”™ã€‚" - -#: gnutls_errors.c:188 -msgid "ASN1 parser: error in implicit tag" -msgstr "ASN1 解æžå™¨ï¼šéšå¼æ ‡ç­¾ä¸­å‡ºé”™ã€‚" - -#: gnutls_errors.c:190 -msgid "ASN1 parser: Error in type 'ANY'." -msgstr "ASN1 解æžå™¨ï¼šâ€˜ANY’类型中出错。" - -#: gnutls_errors.c:192 -msgid "ASN1 parser: Syntax error." -msgstr "ASN1 解æžå™¨ï¼šè¯­æ³•å‡ºé”™ã€‚" - -#: gnutls_errors.c:194 -msgid "ASN1 parser: Overflow in DER parsing." -msgstr "ASN1 解æžå™¨ï¼šDER 解æžä¸­å‡ºçŽ°æº¢å‡ºã€‚" - -#: gnutls_errors.c:197 -msgid "Too many empty record packets have been received." -msgstr "收到了过多的空记录包。" - -#: gnutls_errors.c:199 -msgid "The initialization of GnuTLS-extra has failed." -msgstr "GnuTLS-extra åˆå§‹åŒ–失败。" - -#: gnutls_errors.c:202 -msgid "" -"The GnuTLS library version does not match the GnuTLS-extra library version." -msgstr "GnuTLS å’Œ GnuTLS-extra 的库版本ä¸ç›¸å»åˆã€‚" - -#: gnutls_errors.c:204 -msgid "The gcrypt library version is too old." -msgstr "gcrypt 库的版本过旧。" - -#: gnutls_errors.c:207 -msgid "The tasn1 library version is too old." -msgstr "tasn1 库的版本过旧。" - -#: gnutls_errors.c:209 -msgid "The OpenPGP User ID is revoked." -msgstr "OpenPGP 用户 ID å·²åŠé”€ã€‚" - -#: gnutls_errors.c:211 -msgid "Error loading the keyring." -msgstr "载入密钥环时出错。" - -#: gnutls_errors.c:213 -msgid "The initialization of LZO has failed." -msgstr "LZO 算法åˆå§‹åŒ–失败。" - -#: gnutls_errors.c:215 -msgid "No supported compression algorithms have been found." -msgstr "找ä¸åˆ°æ”¯æŒçš„压缩算法。" - -#: gnutls_errors.c:217 -msgid "No supported cipher suites have been found." -msgstr "找ä¸åˆ°æ”¯æŒçš„密ç æœºåˆ¶ã€‚" - -#: gnutls_errors.c:219 -msgid "Could not get OpenPGP key." -msgstr "无法获得 OpenPGP 密钥。" - -#: gnutls_errors.c:221 -msgid "Could not find OpenPGP subkey." -msgstr "" - -#: gnutls_errors.c:224 -msgid "The SRP username supplied is illegal." -msgstr "æ供的 SRP 用户åéžæ³•ã€‚" - -#: gnutls_errors.c:227 -msgid "The OpenPGP fingerprint is not supported." -msgstr "ä¸æ”¯æŒ OpenPGP 指纹。" - -#: gnutls_errors.c:229 -msgid "The certificate has unsupported attributes." -msgstr "è¯ä¹¦ä¸­å«æœ‰ä¸æ”¯æŒçš„属性。" - -#: gnutls_errors.c:231 -msgid "The OID is not supported." -msgstr "ä¸æ”¯æŒ OID。" - -#: gnutls_errors.c:233 -msgid "The hash algorithm is unknown." -msgstr "未知的散列算法。" - -#: gnutls_errors.c:235 -msgid "The PKCS structure's content type is unknown." -msgstr "未知的 PKCS 内容类型结构。" - -#: gnutls_errors.c:237 -msgid "The PKCS structure's bag type is unknown." -msgstr "未知的 PKCS 包类型结构。" - -#: gnutls_errors.c:239 -msgid "The given password contains invalid characters." -msgstr "给出的密ç ä¸­åŒ…å«æ— æ•ˆå­—符。" - -#: gnutls_errors.c:241 -msgid "The Message Authentication Code verification failed." -msgstr "消æ¯è®¤è¯ä»£ç ç¡®è®¤å¤±è´¥ã€‚" - -#: gnutls_errors.c:243 -msgid "Some constraint limits were reached." -msgstr "已达到æŸäº›çº¦æŸé™å®šã€‚" - -#: gnutls_errors.c:245 -msgid "Failed to acquire random data." -msgstr "获å–éšæœºæ•°æ®å¤±è´¥ã€‚" - -#: gnutls_errors.c:248 -msgid "Received a TLS/IA Intermediate Phase Finished message" -msgstr "收到 TLS/IA 中间相ä½å®Œæˆä¿¡æ¯ã€‚" - -#: gnutls_errors.c:250 -msgid "Received a TLS/IA Final Phase Finished message" -msgstr "收到 TLS/IA 末尾相ä½å®Œæˆä¿¡æ¯ã€‚" - -#: gnutls_errors.c:252 -msgid "Verifying TLS/IA phase checksum failed" -msgstr "校验 TLS/IA 相ä½å’Œå¤±è´¥ã€‚" - -#: gnutls_errors.c:255 -msgid "The specified algorithm or protocol is unknown." -msgstr "指定的算法或å议未知。" - -#: gnutls_errors.c:258 -msgid "" -"The handshake data size is too large (DoS?), check " -"gnutls_handshake_set_max_packet_length()." -msgstr "" - -#: gnutls_errors.c:347 -msgid "(unknown error code)" -msgstr "(未知错误代ç )" - -#: gnutls_alert.c:42 -msgid "Close notify" -msgstr "" - -#: gnutls_alert.c:43 -msgid "Unexpected message" -msgstr "未预料的消æ¯" - -#: gnutls_alert.c:44 -msgid "Bad record MAC" -msgstr "" - -#: gnutls_alert.c:45 -msgid "Decryption failed" -msgstr "解密失败" - -#: gnutls_alert.c:46 -msgid "Record overflow" -msgstr "记录溢出" - -#: gnutls_alert.c:47 -msgid "Decompression failed" -msgstr "解压缩失败" - -#: gnutls_alert.c:48 -msgid "Handshake failed" -msgstr "æ¡æ‰‹å¤±è´¥" - -#: gnutls_alert.c:49 -msgid "Certificate is bad" -msgstr "è¯ä¹¦æ— æ•ˆ" - -#: gnutls_alert.c:50 -msgid "Certificate is not supported" -msgstr "è¯ä¹¦ä¸è¢«æ”¯æŒ" - -#: gnutls_alert.c:51 -msgid "Certificate was revoked" -msgstr "è¯ä¹¦å·²åŠé”€" - -#: gnutls_alert.c:52 -msgid "Certificate is expired" -msgstr "è¯ä¹¦è¿‡æœŸ" - -#: gnutls_alert.c:53 -msgid "Unknown certificate" -msgstr "未知è¯ä¹¦" - -#: gnutls_alert.c:54 -msgid "Illegal parameter" -msgstr "éžæ³•å‚æ•°" - -#: gnutls_alert.c:55 -msgid "CA is unknown" -msgstr "未知 CA" - -#: gnutls_alert.c:56 -msgid "Access was denied" -msgstr "访问被拒ç»" - -#: gnutls_alert.c:57 -msgid "Decode error" -msgstr "解ç é”™è¯¯" - -#: gnutls_alert.c:58 -msgid "Decrypt error" -msgstr "解密出错" - -#: gnutls_alert.c:59 -msgid "Export restriction" -msgstr "导出å—é™" - -#: gnutls_alert.c:60 -msgid "Error in protocol version" -msgstr "å议版本出错" - -#: gnutls_alert.c:61 -msgid "Insufficient security" -msgstr "ä¸å¤Ÿå®‰å…¨" - -#: gnutls_alert.c:62 -msgid "User canceled" -msgstr "用户已å–消" - -#: gnutls_alert.c:63 -msgid "Internal error" -msgstr "内部错误" - -#: gnutls_alert.c:64 -msgid "No renegotiation is allowed" -msgstr "" - -#: gnutls_alert.c:66 -msgid "Could not retrieve the specified certificate" -msgstr "" - -#: gnutls_alert.c:67 -msgid "An unsupported extension was sent" -msgstr "å‘é€äº†ä¸€ä¸ªä¸æ”¯æŒçš„扩展" - -#: gnutls_alert.c:69 -msgid "The server name sent was not recognized" -msgstr "å‘é€çš„æœåŠ¡å™¨å未被识别" - -#: gnutls_alert.c:71 -msgid "The SRP/PSK username is missing or not known" -msgstr "SRP/PSK 用户å丢失或未知" - -#: gnutls_alert.c:73 -msgid "Inner application negotiation failed" -msgstr "" - -#: gnutls_alert.c:75 -msgid "Inner application verification failed" -msgstr "内部应用程åºéªŒè¯å¤±è´¥" - -#: x509/output.c:156 -#, c-format -msgid "\t\t\tPath Length Constraint: %d\n" -msgstr "\t\t\t路径长度常数: %d\n" - -#: x509/output.c:157 -#, c-format -msgid "\t\t\tPolicy Language: %s" -msgstr "\t\t\t策略语言: %s" - -#: x509/output.c:166 -msgid "" -"\t\t\tPolicy:\n" -"\t\t\t\tASCII: " -msgstr "" -"\t\t\t策略:\n" -"\t\t\t\tASCII:: " - -#: x509/output.c:168 -msgid "" -"\n" -"\t\t\t\tHexdump: " -msgstr "" -"\n" -"\t\t\t\tå六进制输出 " - -#: x509/output.c:295 -#, c-format -msgid "%s\t\t\tDigital signature.\n" -msgstr "%s\t\t\tæ•°å­—ç­¾å。\n" - -#: x509/output.c:297 -#, c-format -msgid "%s\t\t\tNon repudiation.\n" -msgstr "" - -#: x509/output.c:299 -#, c-format -msgid "%s\t\t\tKey encipherment.\n" -msgstr "" - -#: x509/output.c:301 -#, c-format -msgid "%s\t\t\tData encipherment.\n" -msgstr "" - -#: x509/output.c:303 -#, c-format -msgid "%s\t\t\tKey agreement.\n" -msgstr "" - -#: x509/output.c:305 -#, c-format -msgid "%s\t\t\tCertificate signing.\n" -msgstr "%s\t\t\tè¯ä¹¦ç­¾å。\n" - -#: x509/output.c:307 -#, c-format -msgid "%s\t\t\tCRL signing.\n" -msgstr "%s\t\t\tCRL ç­¾å。\n" - -#: x509/output.c:309 -#, c-format -msgid "%s\t\t\tKey encipher only.\n" -msgstr "" - -#: x509/output.c:311 -#, c-format -msgid "%s\t\t\tKey decipher only.\n" -msgstr "" - -#: x509/output.c:362 -msgid "" -"warning: distributionPoint contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:454 -#, c-format -msgid "%s\t\t\tTLS WWW Server.\n" -msgstr "%s\t\t\tTLS WWW æœåŠ¡å™¨ã€‚\n" - -#: x509/output.c:456 -#, c-format -msgid "%s\t\t\tTLS WWW Client.\n" -msgstr "%s\t\t\tTLS WWW 客户端。\n" - -#: x509/output.c:458 -#, c-format -msgid "%s\t\t\tCode signing.\n" -msgstr "" - -#: x509/output.c:460 -#, c-format -msgid "%s\t\t\tEmail protection.\n" -msgstr "%s\t\t\tEmail ä¿æŠ¤ã€‚\n" - -#: x509/output.c:462 -#, c-format -msgid "%s\t\t\tTime stamping.\n" -msgstr "%s\t\t\t时间戳。\n" - -#: x509/output.c:464 -#, c-format -msgid "%s\t\t\tOCSP signing.\n" -msgstr "%s\t\t\tOCSP ç­¾å。\n" - -#: x509/output.c:466 -#, c-format -msgid "%s\t\t\tAny purpose.\n" -msgstr "" - -#: x509/output.c:499 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): FALSE\n" -msgstr "" - -#: x509/output.c:501 -#, c-format -msgid "%s\t\t\tCertificate Authority (CA): TRUE\n" -msgstr "" - -#: x509/output.c:504 -#, c-format -msgid "%s\t\t\tPath Length Constraint: %d\n" -msgstr "%s\t\t\t路径长度é™åˆ¶ï¼š %d\n" - -#: x509/output.c:571 x509/output.c:651 -msgid "warning: SAN contains an embedded NUL, replacing with '!'\n" -msgstr "" - -#: x509/output.c:657 -#, c-format -msgid "%s\t\t\tXMPP Address: %.*s\n" -msgstr "%s\t\t\tXMPP 地å€ï¼š%.*s\n" - -#: x509/output.c:662 -#, c-format -msgid "%s\t\t\totherName OID: %.*s\n" -msgstr "" - -#: x509/output.c:664 -#, c-format -msgid "%s\t\t\totherName DER: " -msgstr "" - -#: x509/output.c:666 -#, c-format -msgid "" -"\n" -"%s\t\t\totherName ASCII: " -msgstr "" - -#: x509/output.c:728 -#, c-format -msgid "%s\tExtensions:\n" -msgstr "%s\t扩展:\n" - -#: x509/output.c:738 -#, c-format -msgid "%s\t\tBasic Constraints (%s):\n" -msgstr "%s\t\t基本é™åˆ¶(%s):\n" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "critical" -msgstr "关键" - -#: x509/output.c:739 x509/output.c:754 x509/output.c:771 x509/output.c:787 -#: x509/output.c:802 x509/output.c:819 x509/output.c:834 x509/output.c:852 -#: x509/output.c:865 x509/output.c:1514 x509/output.c:1537 x509/output.c:1550 -msgid "not critical" -msgstr "éžå…³é”®" - -#: x509/output.c:753 -#, c-format -msgid "%s\t\tSubject Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:770 -#, c-format -msgid "%s\t\tAuthority Key Identifier (%s):\n" -msgstr "" - -#: x509/output.c:786 -#, c-format -msgid "%s\t\tKey Usage (%s):\n" -msgstr "" - -#: x509/output.c:801 -#, c-format -msgid "%s\t\tKey Purpose (%s):\n" -msgstr "" - -#: x509/output.c:818 -#, c-format -msgid "%s\t\tSubject Alternative Name (%s):\n" -msgstr "" - -#: x509/output.c:833 -#, c-format -msgid "%s\t\tCRL Distribution points (%s):\n" -msgstr "" - -#: x509/output.c:851 -#, c-format -msgid "%s\t\tProxy Certificate Information (%s):\n" -msgstr "%s\t\t代ç†è¯ä¹¦ä¿¡æ¯(%s):\n" - -#: x509/output.c:864 -#, c-format -msgid "%s\t\tUnknown extension %s (%s):\n" -msgstr "%s\t\t未知扩展 %s (%s):\n" - -#: x509/output.c:910 -#, c-format -msgid "%s\t\t\tASCII: " -msgstr "%s\t\t\tASCII: " - -#: x509/output.c:914 -#, c-format -msgid "%s\t\t\tHexdump: " -msgstr "" - -#: x509/output.c:932 x509/output.c:1417 x509/output.c:1730 -#: openpgp/output.c:323 -#, c-format -msgid "\tVersion: %d\n" -msgstr "\t版本:%d\n" - -#: x509/output.c:946 -msgid "\tSerial Number (hex): " -msgstr "\tåºåˆ—å·(16进制): " - -#: x509/output.c:963 x509/output.c:1431 -#, c-format -msgid "\tIssuer: %s\n" -msgstr "\tå‘行者:%s\n" - -#: x509/output.c:970 -msgid "\tValidity:\n" -msgstr "\t有效性:\n" - -#: x509/output.c:983 -#, c-format -msgid "\t\tNot Before: %s\n" -msgstr "\t\tä¸æ—©äºŽï¼š %s\n" - -#: x509/output.c:997 -#, c-format -msgid "\t\tNot After: %s\n" -msgstr "\t\tä¸æ™šäºŽï¼š %s\n" - -#: x509/output.c:1011 x509/output.c:1743 -#, c-format -msgid "\tSubject: %s\n" -msgstr "\t主题:%s\n" - -#: x509/output.c:1026 x509/output.c:1113 x509/output.c:1256 x509/output.c:1648 -#: x509/output.c:1758 openpgp/output.c:237 -msgid "unknown" -msgstr "未知" - -#: x509/output.c:1028 x509/output.c:1760 -#, c-format -msgid "\tSubject Public Key Algorithm: %s\n" -msgstr "\t主公钥算法: %s\n" - -#: x509/output.c:1042 x509/output.c:1773 openpgp/output.c:257 -#, c-format -msgid "\t\tModulus (bits %d):\n" -msgstr "\t\t模å—(ä½ %d):\n" - -#: x509/output.c:1044 -#, c-format -msgid "\t\tExponent (bits %d):\n" -msgstr "" - -#: x509/output.c:1064 x509/output.c:1795 openpgp/output.c:284 -#, c-format -msgid "\t\tPublic key (bits %d):\n" -msgstr "\t\t公钥 (ä½ %d):\n" - -#: x509/output.c:1066 x509/output.c:1797 openpgp/output.c:286 -msgid "\t\tP:\n" -msgstr "\t\tP:\n" - -#: x509/output.c:1068 x509/output.c:1799 openpgp/output.c:288 -msgid "\t\tQ:\n" -msgstr "\t\tQ:\n" - -#: x509/output.c:1070 x509/output.c:1801 openpgp/output.c:290 -msgid "\t\tG:\n" -msgstr "\t\tG:\n" - -#: x509/output.c:1114 x509/output.c:1649 -#, c-format -msgid "\tSignature Algorithm: %s\n" -msgstr "\tç­¾å算法:%s\n" - -#: x509/output.c:1118 x509/output.c:1653 -msgid "" -"warning: signed using a broken signature algorithm that can be forged.\n" -msgstr "警告:使用å¯ä¼ªé€ çš„ç­¾å算法进行了签å。\n" - -#: x509/output.c:1144 x509/output.c:1679 -msgid "\tSignature:\n" -msgstr "\tç­¾å:\n" - -#: x509/output.c:1167 -msgid "" -"\tMD5 fingerprint:\n" -"\t\t" -msgstr "" -"\tMD5 指纹:\n" -"\t\t" - -#: x509/output.c:1169 -msgid "" -"\tSHA-1 fingerprint:\n" -"\t\t" -msgstr "" -"\tSHA-1 指纹:\n" -"\t\t" - -#: x509/output.c:1188 x509/output.c:1956 -msgid "" -"\tPublic Key Id:\n" -"\t\t" -msgstr "" -"\t公钥 Id:\n" -"\t\t" - -#: x509/output.c:1258 -#, c-format -msgid "signed using %s (broken!), " -msgstr "" - -#: x509/output.c:1260 -#, c-format -msgid "signed using %s, " -msgstr "" - -#: x509/output.c:1373 -msgid "X.509 Certificate Information:\n" -msgstr "X.509 è¯ä¹¦ä¿¡æ¯ï¼š\n" - -#: x509/output.c:1377 x509/output.c:1993 -msgid "Other Information:\n" -msgstr "其它信æ¯ï¼š\n" - -#: x509/output.c:1413 -msgid "\tVersion: 1 (default)\n" -msgstr "\t版本:1 (默认)\n" - -#: x509/output.c:1438 -msgid "\tUpdate dates:\n" -msgstr "\t更新日期:\n" - -#: x509/output.c:1451 -#, c-format -msgid "\t\tIssued: %s\n" -msgstr "\t\tå‘行:%s\n" - -#: x509/output.c:1467 -#, c-format -msgid "\t\tNext at: %s\n" -msgstr "\t\t下一个ä½äºŽï¼š%s\n" - -#: x509/output.c:1498 -msgid "\tExtensions:\n" -msgstr "\t扩展:\n" - -#: x509/output.c:1513 -#, c-format -msgid "\t\tCRL Number (%s): " -msgstr "\t\tCRL å·(%s): " - -#: x509/output.c:1536 -#, c-format -msgid "\t\tAuthority Key Identifier (%s):\n" -msgstr "\t\t授æƒå¯†é’¥è¯†åˆ«å™¨ (%s):\n" - -#: x509/output.c:1549 -#, c-format -msgid "\t\tUnknown extension %s (%s):\n" -msgstr "\t\t未知扩展 %s (%s):\n" - -#: x509/output.c:1578 x509/output.c:1913 -msgid "\t\t\tASCII: " -msgstr "\t\t\tASCII: " - -#: x509/output.c:1582 x509/output.c:1917 -msgid "\t\t\tHexdump: " -msgstr "\t\t\tå六进制转储: " - -#: x509/output.c:1598 -#, c-format -msgid "\tRevoked certificates (%d):\n" -msgstr "\t撤销的è¯ä¹¦ï¼ˆ%d):\n" - -#: x509/output.c:1600 -msgid "\tNo revoked certificates.\n" -msgstr "\t没有撤销的è¯ä¹¦ã€‚\n" - -#: x509/output.c:1619 -msgid "\t\tSerial Number (hex): " -msgstr "\t\tåºåˆ—å·(hex): " - -#: x509/output.c:1628 -#, c-format -msgid "\t\tRevoked at: %s\n" -msgstr "\t\t撤销于:%s\n" - -#: x509/output.c:1710 -msgid "X.509 Certificate Revocation List Information:\n" -msgstr "X.509 è¯ä¹¦æ’¤é”€åˆ—表信æ¯ï¼š\n" - -#: x509/output.c:1775 openpgp/output.c:259 -msgid "\t\tExponent:\n" -msgstr "\t\t说明:\n" - -#: x509/output.c:1842 -msgid "\tAttributes:\n" -msgstr "" - -#: x509/output.c:1877 -#, c-format -msgid "\t\tChallenge password: %s\n" -msgstr "" - -#: x509/output.c:1886 -#, c-format -msgid "\t\tUnknown attribute %s:\n" -msgstr "" - -#: x509/output.c:1989 -msgid "PKCS #10 Certificate Request Information:\n" -msgstr "" - -#: openpgp/output.c:84 -msgid "\t\tKey Usage:\n" -msgstr "" - -#: openpgp/output.c:93 -#, c-format -msgid "error: get_key_usage: %s\n" -msgstr "错误:get_key_usage: %s\n" - -#: openpgp/output.c:98 -msgid "\t\t\tDigital signatures.\n" -msgstr "\t\t\tæ•°å­—ç­¾å。\n" - -#: openpgp/output.c:100 -msgid "\t\t\tCommunications encipherment.\n" -msgstr "" - -#: openpgp/output.c:102 -msgid "\t\t\tStorage data encipherment.\n" -msgstr "" - -#: openpgp/output.c:104 -msgid "\t\t\tAuthentication.\n" -msgstr "\t\t\t认è¯ã€‚\n" - -#: openpgp/output.c:106 -msgid "\t\t\tCertificate signing.\n" -msgstr "\t\t\tè¯ä¹¦ç­¾å。\n" - -#: openpgp/output.c:127 -msgid "\tID (hex): " -msgstr "\tID (hex): " - -#: openpgp/output.c:148 -msgid "\tFingerprint (hex): " -msgstr "\t指纹(hex): " - -#: openpgp/output.c:165 -msgid "\tRevoked: True\n" -msgstr "\t是å¦è¢«æ’¤é”€ï¼šæ˜¯\n" - -#: openpgp/output.c:167 -msgid "\tRevoked: False\n" -msgstr "\t是å¦è¢«æ’¤é”€ï¼šæ²¡æœ‰\n" - -#: openpgp/output.c:175 -msgid "\tTime stamps:\n" -msgstr "\t时间戳:\n" - -#: openpgp/output.c:192 -#, c-format -msgid "\t\tCreation: %s\n" -msgstr "\t\t创建于:%s\n" - -#: openpgp/output.c:206 -msgid "\t\tExpiration: Never\n" -msgstr "\t\t过期:永ä¸è¿‡æœŸ\n" - -#: openpgp/output.c:215 -#, c-format -msgid "\t\tExpiration: %s\n" -msgstr "\t\t过期:%s\n" - -#: openpgp/output.c:239 -#, c-format -msgid "\tPublic Key Algorithm: %s\n" -msgstr "\t公钥算法:%s\n" - -#: openpgp/output.c:346 -#, c-format -msgid "\tName[%d]: %s\n" -msgstr "\tåå­—[%d]:%s\n" - -#: openpgp/output.c:349 -#, c-format -msgid "\tRevoked Name[%d]: %s\n" -msgstr "\tåŠé”€å称[%d]:%s\n" - -#: openpgp/output.c:366 -#, c-format -msgid "" -"\n" -"\tSubkey[%d]:\n" -msgstr "" - -#: openpgp/output.c:399 -#, c-format -msgid "name[%d]: %s, " -msgstr "å称[%d]:%s, " - -#: openpgp/output.c:401 -#, c-format -msgid "revoked name[%d]: %s, " -msgstr "" - -#: openpgp/output.c:415 -msgid "fingerprint: " -msgstr "指纹:" - -#: openpgp/output.c:435 -#, c-format -msgid "created: %s, " -msgstr "已创建:%s, " - -#: openpgp/output.c:445 -msgid "never expires, " -msgstr "æ°¸ä¸è¿‡æœŸ, " - -#: openpgp/output.c:453 -#, c-format -msgid "expires: %s, " -msgstr "过期:%s, " - -#: openpgp/output.c:465 -#, c-format -msgid "key algorithm %s (%d bits)" -msgstr "" - -#: openpgp/output.c:467 -#, c-format -msgid "unknown key algorithm (%d)" -msgstr "" - -#: openpgp/output.c:499 -msgid "OpenPGP Certificate Information:\n" -msgstr "OpenPGP è¯ä¹¦ä¿¡æ¯ï¼š\n" diff -Nru gnutls26-2.8.6/lib/random.c gnutls26-2.4.1/lib/random.c --- gnutls26-2.8.6/lib/random.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/random.c 2008-06-30 21:45:51.000000000 +0100 @@ -29,40 +29,59 @@ #include #include -static void *rnd_ctx; +static gnutls_crypto_rnd_st * cc = NULL; +static void * rnd_ctx; int -_gnutls_rnd_init (void) +_gnutls_rnd_init () { - if (_gnutls_rnd_ops.init != NULL) - { - if (_gnutls_rnd_ops.init (&rnd_ctx) < 0) - { - gnutls_assert (); - return GNUTLS_E_RANDOM_FAILED; - } - } + int result; + /* check if a digest has been registered + */ + cc = _gnutls_get_crypto_rnd(); + + if (cc != NULL) { + if (cc->init(& rnd_ctx) < 0) { + gnutls_assert(); + return GNUTLS_E_RANDOM_FAILED; + } + } else { + char c; + gc_pseudo_random (&c, 1); + } + return 0; } void -_gnutls_rnd_deinit (void) +_gnutls_rnd_deinit () { - if (_gnutls_rnd_ops.deinit != NULL) - { - _gnutls_rnd_ops.deinit (rnd_ctx); - } - + if (cc != NULL) { + cc->deinit( rnd_ctx); + } + return; } int -_gnutls_rnd (int level, void *data, size_t len) +_gnutls_rnd (int level, void *data, int len) { - if (len > 0) - { - return _gnutls_rnd_ops.rnd (rnd_ctx, level, data, len); +int ret = GC_OK; + + if (len > 0) { + + if (cc != NULL) { + return cc->rnd( rnd_ctx, level, data, len); } - return 0; + + if (level == RND_NONCE) + ret = gc_nonce (data, len); + else + ret = gc_pseudo_random( data, len); + } + + if (ret == GC_OK) return 0; + else return GNUTLS_E_RANDOM_FAILED; } + diff -Nru gnutls26-2.8.6/lib/random.h gnutls26-2.4.1/lib/random.h --- gnutls26-2.8.6/lib/random.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/random.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,36 +1,13 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - #ifndef RANDOM_H # define RANDOM_H #include -extern int crypto_rnd_prio; -extern gnutls_crypto_rnd_st _gnutls_rnd_ops; +#define RND_RANDOM GNUTLS_RND_RANDOM +#define RND_NONCE GNUTLS_RND_NONCE +#define RND_KEY GNUTLS_RND_KEY -int _gnutls_rnd (int level, void *data, size_t len); +int _gnutls_rnd (int level, void *data, int len); void _gnutls_rnd_deinit (void); int _gnutls_rnd_init (void); diff -Nru gnutls26-2.8.6/lib/README gnutls26-2.4.1/lib/README --- gnutls26-2.8.6/lib/README 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/README 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../README. diff -Nru gnutls26-2.8.6/lib/rnd-libgcrypt.c gnutls26-2.4.1/lib/rnd-libgcrypt.c --- gnutls26-2.8.6/lib/rnd-libgcrypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/rnd-libgcrypt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS. - * - * The GNUTLS library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - */ - -/* Here is the libgcrypt random generator layer. - */ - -#include -#include -#include -#include -#include - -static int -wrap_gcry_rnd_init (void **ctx) -{ - char c; - - gcry_create_nonce (&c, 1); - gcry_randomize (&c, 1, GCRY_STRONG_RANDOM); - - return 0; -} - -static int -wrap_gcry_rnd (void *ctx, int level, void *data, size_t datasize) -{ - if (level == GNUTLS_RND_NONCE) - gcry_create_nonce (data, datasize); - else - gcry_randomize (data, datasize, level); - - return 0; -} - -int crypto_rnd_prio = INT_MAX; - -gnutls_crypto_rnd_st _gnutls_rnd_ops = { - .init = wrap_gcry_rnd_init, - .deinit = NULL, - .rnd = wrap_gcry_rnd, -}; diff -Nru gnutls26-2.8.6/lib/x509/common.c gnutls26-2.4.1/lib/x509/common.c --- gnutls26-2.8.6/lib/x509/common.c 2009-08-10 14:49:06.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/common.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -35,18 +35,18 @@ #include #include -struct oid2string +typedef struct _oid2string { const char *oid; const char *ldap_desc; int choice; /* of type DirectoryString */ int printable; -}; +} oid2string; /* This list contains all the OIDs that may be * contained in a rdnSequence and are printable. */ -static const struct oid2string _oid2str[] = { +static const oid2string _oid2str[] = { /* PKIX */ {"1.3.6.1.5.5.7.9.1", "dateOfBirth", 0, 1}, @@ -183,7 +183,7 @@ const char *ANAME = NULL; int CHOICE = -1, len = -1, result; ASN1_TYPE tmpasn = ASN1_TYPE_EMPTY; - char asn1_err[ASN1_MAX_ERROR_DESCRIPTION_SIZE] = ""; + char asn1_err[MAX_ERROR_DESCRIPTION_SIZE] = ""; if (value == NULL || value_size <= 0 || res_size == NULL) { @@ -218,11 +218,10 @@ } if ((result = - asn1_der_decoding (&tmpasn, value, value_size, - asn1_err)) != ASN1_SUCCESS) + asn1_der_decoding (&tmpasn, value, value_size, asn1_err)) != ASN1_SUCCESS) { gnutls_assert (); - _gnutls_x509_log ("asn1_der_decoding: %s:%s\n", str, asn1_err); + _gnutls_x509_log("asn1_der_decoding: %s:%s\n", str, asn1_err); asn1_delete_structure (&tmpasn); return _gnutls_asn2err (result); } @@ -242,10 +241,6 @@ { str[len] = 0; - /* Refuse to deal with strings containing NULs. */ - if (strlen (str) != len) - return GNUTLS_E_ASN1_DER_ERROR; - if (res) _gnutls_str_cpy (res, *res_size, str); *res_size = len; @@ -261,7 +256,8 @@ * UTF-8 (thus ASCII as well). */ if (strcmp (str, "printableString") != 0 && - strcmp (str, "ia5String") != 0 && strcmp (str, "utf8String") != 0) + strcmp (str, "ia5String") != 0 && + strcmp (str, "utf8String") != 0) { non_printable = 1; } @@ -295,27 +291,25 @@ non_printable = 0; } - if (non_printable == 0) - { - str[len] = 0; - - /* Refuse to deal with strings containing NULs. */ - if (strlen (str) != len) - return GNUTLS_E_ASN1_DER_ERROR; - - if (res) - _gnutls_str_cpy (res, *res_size, str); - *res_size = len; - } - else + if (res) { - result = _gnutls_x509_data2hex (str, len, res, res_size); - if (result < 0) + if (non_printable == 0) { - gnutls_assert (); - return result; + str[len] = 0; + _gnutls_str_cpy (res, *res_size, str); + *res_size = len; + } + else + { + result = _gnutls_x509_data2hex (str, len, res, res_size); + if (result < 0) + { + gnutls_assert (); + return result; + } } } + } return 0; @@ -331,7 +325,6 @@ { char *res; char escaped[MAX_STRING_LEN]; - unsigned int size; if (2 * data_size + 1 > MAX_STRING_LEN) { @@ -340,24 +333,29 @@ } res = _gnutls_bin2hex (data, data_size, escaped, sizeof (escaped)); - if (!res) - { - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } - size = strlen (res) + 1; - if (size + 1 > *sizeof_out) + if (res) { - *sizeof_out = size; - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } - *sizeof_out = size; /* -1 for the null +1 for the '#' */ + unsigned int size = strlen (res) + 1; + if (size + 1 > *sizeof_out) + { + *sizeof_out = size; + return GNUTLS_E_SHORT_MEMORY_BUFFER; + } + *sizeof_out = size; /* -1 for the null +1 for the '#' */ - if (out) + if (out) + { + strcpy (out, "#"); + strcat (out, res); + } + + return 0; + } + else { - strcpy (out, "#"); - strcat (out, res); + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; } return 0; @@ -436,10 +434,10 @@ * month|day|hour|minute|sec* (2 chars each) * and year is given. Returns a time_t date. */ -static time_t +time_t _gnutls_x509_time2gtime (const char *ttime, int year) { - char xx[4]; + char xx[3]; struct fake_tm etime; time_t ret; @@ -504,7 +502,7 @@ * * (seconds are optional) */ -static time_t +time_t _gnutls_x509_utcTime2gtime (const char *ttime) { char xx[3]; @@ -534,7 +532,7 @@ * The given time is expressed as: * YEAR(2)|MONTH(2)|DAY(2)|HOUR(2)|MIN(2)|SEC(2) */ -static int +int _gnutls_x509_gtime2utcTime (time_t gtime, char *str_time, int str_time_size) { size_t ret; @@ -567,7 +565,7 @@ * The given time is expressed as: * YEAR(4)|MONTH(2)|DAY(2)|HOUR(2)|MIN(2)|SEC(2)* */ -static time_t +time_t _gnutls_x509_generalTime2gtime (const char *ttime) { char xx[5]; @@ -713,10 +711,8 @@ */ int _gnutls_x509_export_int_named (ASN1_TYPE asn1_data, const char *name, - gnutls_x509_crt_fmt_t format, - const char *pem_header, - unsigned char *output_data, - size_t * output_data_size) + gnutls_x509_crt_fmt_t format, char *pem_header, + unsigned char *output_data, size_t * output_data_size) { int result, len; @@ -749,12 +745,12 @@ opaque *out; gnutls_datum tmp; - result = _gnutls_x509_der_encode (asn1_data, name, &tmp, 0); + result = _gnutls_x509_der_encode( asn1_data, name, &tmp, 0); if (result < 0) - { - gnutls_assert (); - return result; - } + { + gnutls_assert(); + return result; + } result = _gnutls_fbase64_encode (pem_header, tmp.data, tmp.size, &out); @@ -799,14 +795,12 @@ int _gnutls_x509_export_int (ASN1_TYPE asn1_data, - gnutls_x509_crt_fmt_t format, - const char *pem_header, - unsigned char *output_data, - size_t * output_data_size) -{ - return _gnutls_x509_export_int_named (asn1_data, "", - format, pem_header, output_data, - output_data_size); + gnutls_x509_crt_fmt_t format, char *pem_header, + unsigned char *output_data, size_t * output_data_size) +{ + return _gnutls_x509_export_int_named (asn1_data, "", + format, pem_header, output_data, + output_data_size); } /* Decodes an octet string. Leave string_type null for a normal @@ -857,7 +851,7 @@ goto cleanup; } - result = 0; + return 0; cleanup: if (c2) @@ -889,8 +883,7 @@ return result; } - if (flags == 2) - len /= 8; + if (flags==2) len /= 8; tmp = gnutls_malloc (len); if (tmp == NULL) @@ -908,13 +901,12 @@ goto cleanup; } - if (flags == 2) - len /= 8; + if (flags==2) len /= 8; /* Extract the OCTET STRING. */ - if (flags == 1) + if (flags==1) { slen = len; result = _gnutls_x509_decode_octet_string (NULL, tmp, slen, tmp, &slen); @@ -1070,22 +1062,22 @@ int result; int asize; ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - gnutls_datum_t val = { NULL, 0 }; + gnutls_datum_t val; asize = data->size + 16; + val.data = gnutls_malloc (asize); + if (val.data == NULL) + { + gnutls_assert (); + result = GNUTLS_E_MEMORY_ERROR; + goto cleanup; + } + if (str) { /* Convert it to OCTET STRING */ - val.data = gnutls_malloc (asize); - if (val.data == NULL) - { - gnutls_assert (); - result = GNUTLS_E_MEMORY_ERROR; - goto cleanup; - } - if ((result = asn1_create_element (_gnutls_get_pkix (), "PKIX1.pkcs-7-Data", &c2)) != ASN1_SUCCESS) { @@ -1145,7 +1137,7 @@ _gnutls_x509_encode_and_copy_PKI_params (ASN1_TYPE dst, const char *dst_name, gnutls_pk_algorithm_t - pk_algorithm, bigint_t * params, + pk_algorithm, mpi_t * params, int params_size) { const char *pk; @@ -1267,7 +1259,7 @@ int algo; char oid[64]; int len; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; char name[128]; _gnutls_str_cpy (name, sizeof (name), src_name); @@ -1332,39 +1324,38 @@ len /= 8; - switch (algo) + switch (algo) { case GNUTLS_PK_RSA: { - if ((result = _gnutls_x509_read_rsa_params (str, len, params)) < 0) - { - gnutls_assert (); - return result; - } + if ((result = _gnutls_x509_read_rsa_params (str, len, params)) < 0) + { + gnutls_assert (); + return result; + } - bits[0] = _gnutls_mpi_get_nbits (params[0]); + bits[0] = _gnutls_mpi_get_nbits (params[0]); - _gnutls_mpi_release (¶ms[0]); - _gnutls_mpi_release (¶ms[1]); + _gnutls_mpi_release (¶ms[0]); + _gnutls_mpi_release (¶ms[1]); } break; case GNUTLS_PK_DSA: { - if ((result = _gnutls_x509_read_dsa_pubkey (str, len, params)) < 0) - { - gnutls_assert (); - return result; - } + if ((result = _gnutls_x509_read_dsa_pubkey (str, len, params)) < 0) + { + gnutls_assert (); + return result; + } - bits[0] = _gnutls_mpi_get_nbits (params[3]); + bits[0] = _gnutls_mpi_get_nbits (params[3]); - _gnutls_mpi_release (¶ms[3]); + _gnutls_mpi_release (¶ms[3]); } break; default: - _gnutls_x509_log - ("_gnutls_x509_get_pk_algorithm: unhandled algorithm %d\n", algo); + _gnutls_x509_log("_gnutls_x509_get_pk_algorithm: unhandled algorithm %d\n", algo); } gnutls_free (str); diff -Nru gnutls26-2.8.6/lib/x509/common.h gnutls26-2.4.1/lib/x509/common.h --- gnutls26-2.8.6/lib/x509/common.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/common.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -57,6 +57,8 @@ #define SIG_GOST_R3410_94_OID "1.2.643.2.2.4" #define SIG_GOST_R3410_2001_OID "1.2.643.2.2.3" +time_t _gnutls_x509_utcTime2gtime (const char *ttime); +time_t _gnutls_x509_generalTime2gtime (const char *ttime); int _gnutls_x509_set_time (ASN1_TYPE c2, const char *where, time_t tim); int _gnutls_x509_decode_octet_string (const char *string_type, @@ -84,16 +86,14 @@ gnutls_datum_t * res, int str); int _gnutls_x509_export_int (ASN1_TYPE asn1_data, - gnutls_x509_crt_fmt_t format, - const char *pem_header, + gnutls_x509_crt_fmt_t format, char *pem_header, unsigned char *output_data, size_t * output_data_size); int _gnutls_x509_export_int_named (ASN1_TYPE asn1_data, const char *name, - gnutls_x509_crt_fmt_t format, - const char *pem_header, - unsigned char *output_data, - size_t * output_data_size); + gnutls_x509_crt_fmt_t format, char *pem_header, + unsigned char *output_data, + size_t * output_data_size); int _gnutls_x509_read_value (ASN1_TYPE c, const char *root, gnutls_datum_t * ret, int str); @@ -117,7 +117,7 @@ int _gnutls_x509_encode_and_copy_PKI_params (ASN1_TYPE dst, const char *dst_name, gnutls_pk_algorithm_t - pk_algorithm, bigint_t * params, + pk_algorithm, mpi_t * params, int params_size); int _gnutls_asn1_copy_node (ASN1_TYPE * dst, const char *dst_name, ASN1_TYPE src, const char *src_name); diff -Nru gnutls26-2.8.6/lib/x509/crl.c gnutls26-2.4.1/lib/x509/crl.c --- gnutls26-2.8.6/lib/x509/crl.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/crl.c 2008-06-30 21:45:51.000000000 +0100 @@ -324,11 +324,10 @@ **/ int gnutls_x509_crl_get_signature (gnutls_x509_crl_t crl, - char *sig, size_t * sizeof_sig) + char *sig, size_t *sizeof_sig) { int result; - int bits; - unsigned int len; + int bits, len; if (crl == NULL) { @@ -379,7 +378,7 @@ int gnutls_x509_crl_get_version (gnutls_x509_crl_t crl) { - opaque version[8]; + opaque version[5]; int len, result; if (crl == NULL) @@ -497,8 +496,8 @@ { int result, _serial_size; - char serial_name[ASN1_MAX_NAME_SIZE]; - char date_name[ASN1_MAX_NAME_SIZE]; + char serial_name[MAX_NAME_SIZE]; + char date_name[MAX_NAME_SIZE]; if (crl == NULL) { @@ -506,10 +505,8 @@ return GNUTLS_E_INVALID_REQUEST; } - snprintf (serial_name, sizeof (serial_name), - "tbsCertList.revokedCertificates.?%u.userCertificate", indx + 1); - snprintf (date_name, sizeof (date_name), - "tbsCertList.revokedCertificates.?%u.revocationDate", indx + 1); + snprintf( serial_name, sizeof(serial_name), "tbsCertList.revokedCertificates.?%u.userCertificate", indx+1); + snprintf( date_name, sizeof(date_name), "tbsCertList.revokedCertificates.?%u.revocationDate", indx+1); _serial_size = *serial_size; result = asn1_read_value (crl->crl, serial_name, serial, &_serial_size); @@ -641,7 +638,8 @@ } return _gnutls_x509_export_int (crl->crl, format, PEM_CRL, - output_data, output_data_size); + output_data, + output_data_size); } /*- @@ -701,328 +699,4 @@ } -/** - * gnutls_x509_crl_get_authority_key_id - get the CRL authority's identifier - * @crl: should contain a #gnutls_x509_crl_t structure - * @ret: The place where the identifier will be copied - * @ret_size: Holds the size of the result field. - * @critical: will be non zero if the extension is marked as critical - * (may be null) - * - * This function will return the CRL authority's key identifier. This - * is obtained by the X.509 Authority Key identifier extension field - * (2.5.29.35). Note that this function only returns the - * keyIdentifier field of the extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_get_authority_key_id (gnutls_x509_crl_t crl, void *ret, - size_t * ret_size, - unsigned int *critical) -{ - int result, len; - gnutls_datum_t id; - ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - - if (crl == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - - if (ret) - memset (ret, 0, *ret_size); - else - *ret_size = 0; - - if ((result = - _gnutls_x509_crl_get_extension (crl, "2.5.29.35", 0, &id, - critical)) < 0) - { - return result; - } - - if (id.size == 0 || id.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - - result = asn1_create_element - (_gnutls_get_pkix (), "PKIX1.AuthorityKeyIdentifier", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - _gnutls_free_datum (&id); - return _gnutls_asn2err (result); - } - - result = asn1_der_decoding (&c2, id.data, id.size, NULL); - _gnutls_free_datum (&id); - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - len = *ret_size; - result = asn1_read_value (c2, "keyIdentifier", ret, &len); - - *ret_size = len; - asn1_delete_structure (&c2); - - if (result == ASN1_VALUE_NOT_FOUND || result == ASN1_ELEMENT_NOT_FOUND) - { - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; -} - -/** - * gnutls_x509_crl_get_number - get the CRL number (extension) - * @crl: should contain a #gnutls_x509_crl_t structure - * @ret: The place where the number will be copied - * @ret_size: Holds the size of the result field. - * @critical: will be non zero if the extension is marked as critical - * (may be null) - * - * This function will return the CRL number extension. This is - * obtained by the CRL Number extension field (2.5.29.20). - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_get_number (gnutls_x509_crl_t crl, void *ret, - size_t * ret_size, unsigned int *critical) -{ - int result; - gnutls_datum_t id; - - if (crl == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - - if (ret) - memset (ret, 0, *ret_size); - else - *ret_size = 0; - - if ((result = - _gnutls_x509_crl_get_extension (crl, "2.5.29.20", 0, &id, - critical)) < 0) - { - return result; - } - - if (id.size == 0 || id.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - - result = _gnutls_x509_ext_extract_number (ret, ret_size, id.data, id.size); - - _gnutls_free_datum (&id); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -/** - * gnutls_x509_crl_get_extension_oid - get the specified extension OID - * @crl: should contain a #gnutls_x509_crl_t structure - * @indx: Specifies which extension OID to send, use zero to get the first one. - * @oid: a pointer to a structure to hold the OID (may be null) - * @sizeof_oid: initially holds the size of @oid - * - * This function will return the requested extension OID in the CRL. - * The extension OID will be stored as a string in the provided - * buffer. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, int indx, - void *oid, size_t * sizeof_oid) -{ - int result; - - if (crl == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - result = _gnutls_x509_crl_get_extension_oid (crl, indx, oid, sizeof_oid); - if (result < 0) - { - return result; - } - - return 0; - -} - -/** - * gnutls_x509_crl_get_extension_info - Get extension id and criticality - * @crl: should contain a #gnutls_x509_crl_t structure - * @indx: Specifies which extension OID to send, use zero to get the first one. - * @oid: a pointer to a structure to hold the OID - * @sizeof_oid: initially holds the maximum size of @oid, on return - * holds actual size of @oid. - * @critical: output variable with critical flag, may be NULL. - * - * This function will return the requested extension OID in the CRL, - * and the critical flag for it. The extension OID will be stored as - * a string in the provided buffer. Use - * gnutls_x509_crl_get_extension_data() to extract the data. - * - * If the buffer provided is not long enough to hold the output, then - * *@sizeof_oid is updated and %GNUTLS_E_SHORT_MEMORY_BUFFER will be - * returned. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_get_extension_info (gnutls_x509_crl_t crl, int indx, - void *oid, size_t * sizeof_oid, - int *critical) -{ - int result; - char str_critical[10]; - char name[ASN1_MAX_NAME_SIZE]; - int len; - - if (!crl) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - snprintf (name, sizeof (name), "tbsCertList.crlExtensions.?%u.extnID", - indx + 1); - - len = *sizeof_oid; - result = asn1_read_value (crl->crl, name, oid, &len); - *sizeof_oid = len; - - if (result == ASN1_ELEMENT_NOT_FOUND) - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "tbsCertList.crlExtensions.?%u.critical", - indx + 1); - len = sizeof (str_critical); - result = asn1_read_value (crl->crl, name, str_critical, &len); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - if (critical) - { - if (str_critical[0] == 'T') - *critical = 1; - else - *critical = 0; - } - - return 0; - -} - -/** - * gnutls_x509_crl_get_extension_data - Get the specified extension data - * @crl: should contain a #gnutls_x509_crl_t structure - * @indx: Specifies which extension OID to send. Use zero to get the first one. - * @data: a pointer to a structure to hold the data (may be null) - * @sizeof_data: initially holds the size of @oid - * - * This function will return the requested extension data in the CRL. - * The extension data will be stored as a string in the provided - * buffer. - * - * Use gnutls_x509_crl_get_extension_info() to extract the OID and - * critical flag. Use gnutls_x509_crl_get_extension_by_oid() instead, - * if you want to get data indexed by the extension OID rather than - * sequence. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_get_extension_data (gnutls_x509_crl_t crl, int indx, - void *data, size_t * sizeof_data) -{ - int result, len; - char name[ASN1_MAX_NAME_SIZE]; - - if (!crl) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - snprintf (name, sizeof (name), "tbsCertList.crlExtensions.?%u.extnValue", - indx + 1); - - len = *sizeof_data; - result = asn1_read_value (crl->crl, name, data, &len); - *sizeof_data = len; - - if (result == ASN1_ELEMENT_NOT_FOUND) - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result < 0) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; -} - #endif diff -Nru gnutls26-2.8.6/lib/x509/crl_write.c gnutls26-2.4.1/lib/x509/crl_write.c --- gnutls26-2.8.6/lib/x509/crl_write.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/crl_write.c 2008-06-19 11:00:10.000000000 +0100 @@ -259,7 +259,7 @@ /** * gnutls_x509_crl_set_crt - This function will set a revoked certificate's serial number * @crl: should contain a gnutls_x509_crl_t structure - * @crt: a certificate of type #gnutls_x509_crt_t with the revoked certificate + * @crt: should contain a gnutls_x509_crt_t structure with the revoked certificate * @revocation_time: The time this certificate was revoked * * This function will set a revoked certificate's serial number to the CRL. @@ -310,141 +310,9 @@ disable_optional_stuff (gnutls_x509_crl_t crl) { - if (crl->use_extensions == 0) - { - asn1_write_value (crl->crl, "tbsCertList.crlExtensions", NULL, 0); - } + asn1_write_value (crl->crl, "tbsCertList.crlExtensions", NULL, 0); return; } -/** - * gnutls_x509_crl_set_authority_key_id - Set the CRL's authority key id - * @crl: a CRL of type #gnutls_x509_crl_t - * @id: The key ID - * @id_size: Holds the size of the serial field. - * - * This function will set the CRL's authority key ID extension. Only - * the keyIdentifier field can be set with this function. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_set_authority_key_id (gnutls_x509_crl_t crl, - const void *id, size_t id_size) -{ - int result; - gnutls_datum_t old_id, der_data; - unsigned int critical; - - if (crl == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* Check if the extension already exists. - */ - result = - _gnutls_x509_crl_get_extension (crl, "2.5.29.35", 0, &old_id, &critical); - - if (result >= 0) - _gnutls_free_datum (&old_id); - if (result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* generate the extension. - */ - result = _gnutls_x509_ext_gen_auth_key_id (id, id_size, &der_data); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = _gnutls_x509_crl_set_extension (crl, "2.5.29.35", &der_data, 0); - - _gnutls_free_datum (&der_data); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - crl->use_extensions = 1; - - return 0; -} - -/** - * gnutls_x509_crl_set_number - Set the CRL's number extension - * @crl: a CRL of type #gnutls_x509_crl_t - * @nr: The CRL number - * @nr_size: Holds the size of the nr field. - * - * This function will set the CRL's number extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crl_set_number (gnutls_x509_crl_t crl, - const void *nr, size_t nr_size) -{ - int result; - gnutls_datum_t old_id, der_data; - unsigned int critical; - - if (crl == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* Check if the extension already exists. - */ - result = - _gnutls_x509_crl_get_extension (crl, "2.5.29.20", 0, &old_id, &critical); - - if (result >= 0) - _gnutls_free_datum (&old_id); - if (result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* generate the extension. - */ - result = _gnutls_x509_ext_gen_number (nr, nr_size, &der_data); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = _gnutls_x509_crl_set_extension (crl, "2.5.29.20", &der_data, 0); - - _gnutls_free_datum (&der_data); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - crl->use_extensions = 1; - - return 0; -} - #endif /* ENABLE_PKI */ diff -Nru gnutls26-2.8.6/lib/x509/crq.c gnutls26-2.4.1/lib/x509/crq.c --- gnutls26-2.8.6/lib/x509/crq.c 2009-08-28 14:02:04.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/crq.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -290,10 +290,10 @@ int raw, char *buf, size_t * sizeof_buf) { int k1, result; - char tmpbuffer1[ASN1_MAX_NAME_SIZE]; - char tmpbuffer3[ASN1_MAX_NAME_SIZE]; + char tmpbuffer1[MAX_NAME_SIZE]; + char tmpbuffer3[MAX_NAME_SIZE]; char value[200]; - char oid[MAX_OID_SIZE]; + char oid[128]; int len, printable; if (*sizeof_buf == 0) @@ -312,9 +312,9 @@ /* create a string like "attribute.?1" */ if (attr_name[0] != 0) - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", attr_name, k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", attr_name, k1); else - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); len = sizeof (value) - 1; result = asn1_read_value (asn1_struct, tmpbuffer1, value, &len); @@ -356,8 +356,7 @@ /* Read the Value */ - snprintf (tmpbuffer3, sizeof (tmpbuffer3), "%s.values.?%u", - tmpbuffer1, indx + 1); + snprintf( tmpbuffer3, sizeof (tmpbuffer3), "%s.values.?%u", tmpbuffer1, indx+1); len = sizeof (value) - 1; result = asn1_read_value (asn1_struct, tmpbuffer3, value, &len); @@ -445,163 +444,6 @@ "1.2.840.113549.1.9.7", 0, 0, pass, sizeof_pass); } -/* This function will attempt to set the requested attribute in - * the given X509v3 certificate. - * - * Critical will be either 0 or 1. - */ -static int -add_attribute (ASN1_TYPE asn, const char *root, const char *attribute_id, - const gnutls_datum_t * ext_data) -{ - int result; - char name[ASN1_MAX_NAME_SIZE]; - - snprintf (name, sizeof (name), "%s", root); - - /* Add a new attribute in the list. - */ - result = asn1_write_value (asn, name, "NEW", 1); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "%s.?LAST.type", root); - - result = asn1_write_value (asn, name, attribute_id, 1); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "%s.?LAST.values", root); - - result = asn1_write_value (asn, name, "NEW", 1); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "%s.?LAST.values.?LAST", root); - - result = _gnutls_x509_write_value (asn, name, ext_data, 0); - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -/* Overwrite the given attribute (using the index) - * index here starts from one. - */ -static int -overwrite_attribute (ASN1_TYPE asn, const char *root, unsigned int indx, - const gnutls_datum_t * ext_data) -{ - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; - int result; - - snprintf (name, sizeof (name), "%s.?%u", root, indx); - - _gnutls_str_cpy (name2, sizeof (name2), name); - _gnutls_str_cat (name2, sizeof (name2), ".values.?LAST"); - - result = _gnutls_x509_write_value (asn, name2, ext_data, 0); - if (result < 0) - { - gnutls_assert (); - return result; - } - - - return 0; -} - -static int -set_attribute (ASN1_TYPE asn, const char *root, - const char *ext_id, const gnutls_datum_t * ext_data) -{ - int result; - int k, len; - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; - char extnID[MAX_OID_SIZE]; - - /* Find the index of the given attribute. - */ - k = 0; - do - { - k++; - - snprintf (name, sizeof (name), "%s.?%u", root, k); - - len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name, extnID, &len); - - /* move to next - */ - - if (result == ASN1_ELEMENT_NOT_FOUND) - { - break; - } - - do - { - - _gnutls_str_cpy (name2, sizeof (name2), name); - _gnutls_str_cat (name2, sizeof (name2), ".type"); - - len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name2, extnID, &len); - - if (result == ASN1_ELEMENT_NOT_FOUND) - { - gnutls_assert (); - break; - } - else if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - /* Handle Extension - */ - if (strcmp (extnID, ext_id) == 0) - { - /* attribute was found - */ - return overwrite_attribute (asn, root, k, ext_data); - } - - - } - while (0); - } - while (1); - - if (result == ASN1_ELEMENT_NOT_FOUND) - { - return add_attribute (asn, root, ext_id, ext_data); - } - else - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - - return 0; -} - /** * gnutls_x509_crq_set_attribute_by_oid - This function will set an attribute in the request * @crq: should contain a gnutls_x509_crq_t structure @@ -621,9 +463,7 @@ const char *oid, void *buf, size_t sizeof_buf) { - gnutls_datum data; - data.data = buf; - data.size = sizeof_buf; + int result; if (crq == NULL) { @@ -631,8 +471,30 @@ return GNUTLS_E_INVALID_REQUEST; } - return set_attribute (crq->crq, "certificationRequestInfo.attributes", - oid, &data); + /* Add the attribute. + */ + result = + asn1_write_value (crq->crq, "certificationRequestInfo.attributes", + "NEW", 1); + if (result != ASN1_SUCCESS) + { + gnutls_assert (); + return _gnutls_asn2err (result); + } + + result = + _gnutls_x509_encode_and_write_attribute (oid, + crq->crq, + "certificationRequestInfo.attributes.?LAST", + buf, sizeof_buf, 1); + + if (result < 0) + { + gnutls_assert (); + return result; + } + + return 0; } /** @@ -667,26 +529,26 @@ } /** - * gnutls_x509_crq_set_dn_by_oid - This function will set the Certificate request subject's distinguished name - * @crq: should contain a gnutls_x509_crq_t structure - * @oid: holds an Object Identifier in a null terminated string - * @raw_flag: must be 0, or 1 if the data are DER encoded - * @data: a pointer to the input data - * @sizeof_data: holds the size of @data - * - * This function will set the part of the name of the Certificate - * request subject, specified by the given OID. The input string - * should be ASCII or UTF-8 encoded. - * - * Some helper macros with popular OIDs can be found in gnutls/x509.h - * With this function you can only set the known OIDs. You can test - * for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are - * not known (by gnutls) you should properly DER encode your data, - * and call this function with raw_flag set. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ + * gnutls_x509_crq_set_dn_by_oid - This function will set the Certificate request subject's distinguished name + * @crq: should contain a gnutls_x509_crq_t structure + * @oid: holds an Object Identifier in a null terminated string + * @raw_flag: must be 0, or 1 if the data are DER encoded + * @data: a pointer to the input data + * @sizeof_data: holds the size of @data + * + * This function will set the part of the name of the Certificate request subject, specified + * by the given OID. The input string should be ASCII or UTF-8 encoded. + * + * Some helper macros with popular OIDs can be found in gnutls/x509.h + * With this function you can only set the known OIDs. You can test + * for known OIDs using gnutls_x509_dn_oid_known(). For OIDs that are + * not known (by gnutls) you should properly DER encode your data, and + * call this function with raw_flag set. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value. + * + **/ int gnutls_x509_crq_set_dn_by_oid (gnutls_x509_crq_t crq, const char *oid, unsigned int raw_flag, const void *data, @@ -752,7 +614,7 @@ int gnutls_x509_crq_get_version (gnutls_x509_crq_t crq) { - opaque version[8]; + opaque version[5]; int len, result; if (crq == NULL) @@ -815,143 +677,6 @@ } /** - * gnutls_x509_crq_get_key_rsa_raw - export the RSA public key - * @crq: Holds the certificate - * @m: will hold the modulus - * @e: will hold the public exponent - * - * This function will export the RSA public key's parameters found in - * the given structure. The new parameters will be allocated using - * gnutls_malloc() and will be stored in the appropriate datum. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_key_rsa_raw (gnutls_x509_crq_t crq, - gnutls_datum_t * m, gnutls_datum_t * e) -{ - int ret; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; - int params_size = MAX_PUBLIC_PARAMS_SIZE; - int i; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - ret = gnutls_x509_crq_get_pk_algorithm (crq, NULL); - if (ret != GNUTLS_PK_RSA) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - ret = _gnutls_x509_crq_get_mpis (crq, params, ¶ms_size); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - ret = _gnutls_mpi_dprint (params[0], m); - if (ret < 0) - { - gnutls_assert (); - goto cleanup; - } - - ret = _gnutls_mpi_dprint (params[1], e); - if (ret < 0) - { - gnutls_assert (); - _gnutls_free_datum (m); - goto cleanup; - } - - ret = 0; - -cleanup: - for (i = 0; i < params_size; i++) - { - _gnutls_mpi_release (¶ms[i]); - } - return ret; -} - -/** - * gnutls_x509_crq_set_key_rsa_raw - associate Certificate request with a key - * @crq: should contain a #gnutls_x509_crq_t structure - * @m: holds the modulus - * @e: holds the public exponent - * - * This function will set the public parameters from the given private - * key to the request. Only RSA keys are currently supported. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.6.0 - **/ -int -gnutls_x509_crq_set_key_rsa_raw (gnutls_x509_crq_t crq, - const gnutls_datum_t * m, - const gnutls_datum_t * e) -{ - int result, ret; - size_t siz = 0; - bigint_t temp_params[RSA_PUBLIC_PARAMS]; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - memset (temp_params, 0, sizeof (temp_params)); - - siz = m->size; - if (_gnutls_mpi_scan_nz (&temp_params[0], m->data, siz)) - { - gnutls_assert (); - ret = GNUTLS_E_MPI_SCAN_FAILED; - goto error; - } - - siz = e->size; - if (_gnutls_mpi_scan_nz (&temp_params[1], e->data, siz)) - { - gnutls_assert (); - ret = GNUTLS_E_MPI_SCAN_FAILED; - goto error; - } - - result = _gnutls_x509_encode_and_copy_PKI_params (crq->crq, - "certificationRequestInfo.subjectPKInfo", - GNUTLS_PK_RSA, - temp_params, - RSA_PUBLIC_PARAMS); - - if (result < 0) - { - gnutls_assert (); - ret = result; - goto error; - } - - ret = 0; - -error: - _gnutls_mpi_release (&temp_params[0]); - _gnutls_mpi_release (&temp_params[1]); - return ret; -} - -/** * gnutls_x509_crq_set_challenge_password - This function will set a challenge password * @crq: should contain a gnutls_x509_crq_t structure * @pass: holds a null terminated password @@ -1136,7 +861,8 @@ } return _gnutls_x509_export_int (crq->crq, format, PEM_CRQ, - output_data, output_data_size); + output_data, + output_data_size); } /** @@ -1178,1222 +904,4 @@ return result; } -/** - * gnutls_x509_crq_get_attribute_info - Get attribute id - * @cert: should contain a #gnutls_x509_crq_t structure - * @indx: Specifies which attribute OID to send. Use zero to get the first one. - * @oid: a pointer to a structure to hold the OID - * @sizeof_oid: initially holds the maximum size of @oid, on return - * holds actual size of @oid. - * - * This function will return the requested attribute OID in the - * certificate, and the critical flag for it. The attribute OID will - * be stored as a string in the provided buffer. Use - * gnutls_x509_crq_get_attribute_data() to extract the data. - * - * If the buffer provided is not long enough to hold the output, then - * *@sizeof_oid is updated and %GNUTLS_E_SHORT_MEMORY_BUFFER will be - * returned. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_attribute_info (gnutls_x509_crq_t cert, int indx, - void *oid, size_t * sizeof_oid) -{ - int result; - char name[ASN1_MAX_NAME_SIZE]; - int len; - - if (!cert) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - snprintf (name, sizeof (name), - "certificationRequestInfo.attributes.?%u.type", indx + 1); - - len = *sizeof_oid; - result = asn1_read_value (cert->crq, name, oid, &len); - *sizeof_oid = len; - - if (result == ASN1_ELEMENT_NOT_FOUND) - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result < 0) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; - -} - -/** - * gnutls_x509_crq_get_attribute_data - Get the specified attribute data - * @cert: should contain a #gnutls_x509_crq_t structure - * @indx: Specifies which attribute OID to send. Use zero to get the first one. - * @data: a pointer to a structure to hold the data (may be null) - * @sizeof_data: initially holds the size of @oid - * - * This function will return the requested attribute data in the - * certificate request. The attribute data will be stored as a string in the - * provided buffer. - * - * Use gnutls_x509_crq_get_attribute_info() to extract the OID. - * Use gnutls_x509_crq_get_attribute_by_oid() instead, - * if you want to get data indexed by the attribute OID rather than - * sequence. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_attribute_data (gnutls_x509_crq_t cert, int indx, - void *data, size_t * sizeof_data) -{ - int result, len; - char name[ASN1_MAX_NAME_SIZE]; - - if (!cert) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - snprintf (name, sizeof (name), - "certificationRequestInfo.attributes.?%u.values.?1", indx + 1); - - len = *sizeof_data; - result = asn1_read_value (cert->crq, name, data, &len); - *sizeof_data = len; - - if (result == ASN1_ELEMENT_NOT_FOUND) - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result < 0) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; -} - -/** - * gnutls_x509_crq_get_extension_info - Get extension id and criticality - * @cert: should contain a #gnutls_x509_crq_t structure - * @indx: Specifies which extension OID to send. Use zero to get the first one. - * @oid: a pointer to a structure to hold the OID - * @sizeof_oid: initially holds the maximum size of @oid, on return - * holds actual size of @oid. - * @critical: output variable with critical flag, may be NULL. - * - * This function will return the requested extension OID in the - * certificate, and the critical flag for it. The extension OID will - * be stored as a string in the provided buffer. Use - * gnutls_x509_crq_get_extension_data() to extract the data. - * - * If the buffer provided is not long enough to hold the output, then - * *@sizeof_oid is updated and %GNUTLS_E_SHORT_MEMORY_BUFFER will be - * returned. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_extension_info (gnutls_x509_crq_t cert, int indx, - void *oid, size_t * sizeof_oid, - int *critical) -{ - int result; - char str_critical[10]; - char name[ASN1_MAX_NAME_SIZE]; - unsigned char extensions[MAX_CRQ_EXTENSIONS_SIZE]; - size_t extensions_size = sizeof (extensions); - ASN1_TYPE c2; - int len; - - if (!cert) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* read extensionRequest */ - result = - gnutls_x509_crq_get_attribute_by_oid (cert, "1.2.840.113549.1.9.14", 0, - extensions, &extensions_size); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = asn1_create_element (_gnutls_get_pkix (), "PKIX1.Extensions", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = asn1_der_decoding (&c2, extensions, extensions_size, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "?%u.extnID", indx + 1); - - len = *sizeof_oid; - result = asn1_read_value (c2, name, oid, &len); - *sizeof_oid = len; - - if (result == ASN1_ELEMENT_NOT_FOUND) - { - asn1_delete_structure (&c2); - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - else if (result < 0) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "?%u.critical", indx + 1); - len = sizeof (str_critical); - result = asn1_read_value (c2, name, str_critical, &len); - - asn1_delete_structure (&c2); - - if (result < 0) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - if (critical) - { - if (str_critical[0] == 'T') - *critical = 1; - else - *critical = 0; - } - - return 0; - -} - -/** - * gnutls_x509_crq_get_extension_data - Get the specified extension data - * @cert: should contain a #gnutls_x509_crq_t structure - * @indx: Specifies which extension OID to send. Use zero to get the first one. - * @data: a pointer to a structure to hold the data (may be null) - * @sizeof_data: initially holds the size of @oid - * - * This function will return the requested extension data in the - * certificate. The extension data will be stored as a string in the - * provided buffer. - * - * Use gnutls_x509_crq_get_extension_info() to extract the OID and - * critical flag. Use gnutls_x509_crq_get_extension_by_oid() instead, - * if you want to get data indexed by the extension OID rather than - * sequence. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If your have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_extension_data (gnutls_x509_crq_t cert, int indx, - void *data, size_t * sizeof_data) -{ - int result, len; - char name[ASN1_MAX_NAME_SIZE]; - unsigned char extensions[MAX_CRQ_EXTENSIONS_SIZE]; - size_t extensions_size = sizeof (extensions); - ASN1_TYPE c2; - - if (!cert) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* read extensionRequest */ - result = - gnutls_x509_crq_get_attribute_by_oid (cert, "1.2.840.113549.1.9.14", 0, - extensions, &extensions_size); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = asn1_create_element (_gnutls_get_pkix (), "PKIX1.Extensions", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = asn1_der_decoding (&c2, extensions, extensions_size, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - snprintf (name, sizeof (name), "?%u.extnValue", indx + 1); - - len = *sizeof_data; - result = asn1_read_value (c2, name, data, &len); - *sizeof_data = len; - - asn1_delete_structure (&c2); - - if (result == ASN1_ELEMENT_NOT_FOUND) - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result < 0) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; -} - -/** - * gnutls_x509_crq_get_key_usage - return the certificate's key usage - * @cert: should contain a #gnutls_x509_crq_t structure - * @key_usage: where the key usage bits will be stored - * @critical: will be non zero if the extension is marked as critical - * - * This function will return certificate's key usage, by reading the - * keyUsage X.509 extension (2.5.29.15). The key usage value will - * ORed values of the: %GNUTLS_KEY_DIGITAL_SIGNATURE, - * %GNUTLS_KEY_NON_REPUDIATION, %GNUTLS_KEY_KEY_ENCIPHERMENT, - * %GNUTLS_KEY_DATA_ENCIPHERMENT, %GNUTLS_KEY_KEY_AGREEMENT, - * %GNUTLS_KEY_KEY_CERT_SIGN, %GNUTLS_KEY_CRL_SIGN, - * %GNUTLS_KEY_ENCIPHER_ONLY, %GNUTLS_KEY_DECIPHER_ONLY. - * - * Returns: the certificate key usage, or a negative value in case of - * parsing error. If the certificate does not contain the keyUsage - * extension %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be - * returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_key_usage (gnutls_x509_crq_t cert, - unsigned int *key_usage, - unsigned int *critical) -{ - int result; - uint16_t _usage; - opaque buf[128]; - size_t buf_size = sizeof (buf); - - if (cert == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - result = gnutls_x509_crq_get_extension_by_oid (cert, "2.5.29.15", 0, - buf, &buf_size, critical); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = _gnutls_x509_ext_extract_keyUsage (&_usage, buf, buf_size); - - *key_usage = _usage; - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -/** - * gnutls_x509_crq_get_basic_constraints - get certificate's basic constraints - * @cert: should contain a #gnutls_x509_crq_t structure - * @critical: will be non zero if the extension is marked as critical - * @ca: pointer to output integer indicating CA status, may be NULL, - * value is 1 if the certificate CA flag is set, 0 otherwise. - * @pathlen: pointer to output integer indicating path length (may be - * NULL), non-negative values indicate a present pathLenConstraint - * field and the actual value, -1 indicate that the field is absent. - * - * This function will read the certificate's basic constraints, and - * return the certificates CA status. It reads the basicConstraints - * X.509 extension (2.5.29.19). - * - * Return value: If the certificate is a CA a positive value will be - * returned, or zero if the certificate does not have CA flag set. - * A negative value may be returned in case of errors. If the - * certificate does not contain the basicConstraints extension - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_basic_constraints (gnutls_x509_crq_t cert, - unsigned int *critical, - int *ca, int *pathlen) -{ - int result; - int tmp_ca; - opaque buf[256]; - size_t buf_size = sizeof (buf); - - if (cert == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - result = gnutls_x509_crq_get_extension_by_oid (cert, "2.5.29.19", 0, - buf, &buf_size, critical); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = - _gnutls_x509_ext_extract_basicConstraints (&tmp_ca, - pathlen, buf, buf_size); - if (ca) - *ca = tmp_ca; - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return tmp_ca; -} - -static int -get_subject_alt_name (gnutls_x509_crq_t cert, - unsigned int seq, void *ret, - size_t * ret_size, unsigned int *ret_type, - unsigned int *critical, int othername_oid) -{ - int result; - ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - gnutls_x509_subject_alt_name_t type; - opaque dnsname[2048]; - size_t dnsname_size = sizeof (dnsname); - - if (cert == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (ret) - memset (ret, 0, *ret_size); - else - *ret_size = 0; - - if ((result = - gnutls_x509_crq_get_extension_by_oid (cert, "2.5.29.17", 0, - dnsname, &dnsname_size, - critical)) < 0) - { - gnutls_assert (); - return result; - } - - result = asn1_create_element - (_gnutls_get_pkix (), "PKIX1.SubjectAltName", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = asn1_der_decoding (&c2, dnsname, dnsname_size, NULL); - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - result = - _gnutls_parse_general_name (c2, "", seq, ret, ret_size, ret_type, - othername_oid); - - asn1_delete_structure (&c2); - - if (result < 0) - { - return result; - } - - type = result; - - return type; -} - -/** - * gnutls_x509_crq_get_subject_alt_name - Get certificate's alternative name - * @cert: should contain a #gnutls_x509_crq_t structure - * @seq: specifies the sequence number of the alt name, 0 for the - * first one, 1 for the second etc. - * @ret: is the place where the alternative name will be copied to - * @ret_size: holds the size of ret. - * @ret_type: holds the #gnutls_x509_subject_alt_name_t name type - * @critical: will be non zero if the extension is marked as critical - * (may be null) - * - * This function will return the alternative names, contained in the - * given certificate. It is the same as - * gnutls_x509_crq_get_subject_alt_name() except for the fact that it - * will return the type of the alternative name in @ret_type even if - * the function fails for some reason (i.e. the buffer provided is - * not enough). - * - * Returns: the alternative subject name type on success, one of the - * enumerated #gnutls_x509_subject_alt_name_t. It will return - * %GNUTLS_E_SHORT_MEMORY_BUFFER if @ret_size is not large enough to - * hold the value. In that case @ret_size will be updated with the - * required size. If the certificate request does not have an - * Alternative name with the specified sequence number then - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_subject_alt_name (gnutls_x509_crq_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *ret_type, - unsigned int *critical) -{ - return get_subject_alt_name (cert, seq, ret, ret_size, ret_type, critical, - 0); -} - -/** - * gnutls_x509_crq_get_subject_alt_othername_oid - Get SAN otherName OID - * @cert: should contain a #gnutls_x509_crq_t structure - * @seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - * @ret: is the place where the otherName OID will be copied to - * @ret_size: holds the size of ret. - * - * This function will extract the type OID of an otherName Subject - * Alternative Name, contained in the given certificate, and return - * the type as an enumerated element. - * - * This function is only useful if - * gnutls_x509_crq_get_subject_alt_name() returned - * %GNUTLS_SAN_OTHERNAME. - * - * Returns: the alternative subject name type on success, one of the - * enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, - * it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, - * e.g. %GNUTLS_SAN_OTHERNAME_XMPP, and %GNUTLS_SAN_OTHERNAME for - * unknown OIDs. It will return %GNUTLS_E_SHORT_MEMORY_BUFFER if - * @ret_size is not large enough to hold the value. In that case - * @ret_size will be updated with the required size. If the - * certificate does not have an Alternative name with the specified - * sequence number and with the otherName type then - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_subject_alt_othername_oid (gnutls_x509_crq_t cert, - unsigned int seq, - void *ret, size_t * ret_size) -{ - return get_subject_alt_name (cert, seq, ret, ret_size, NULL, NULL, 1); -} - -/** - * gnutls_x509_crq_get_extension_by_oid - get the specified extension - * @cert: should contain a #gnutls_x509_crq_t structure - * @oid: holds an Object Identified in null terminated string - * @indx: In case multiple same OIDs exist in the extensions, this - * specifies which to send. Use zero to get the first one. - * @buf: a pointer to a structure to hold the name (may be null) - * @sizeof_buf: initially holds the size of @buf - * @critical: will be non zero if the extension is marked as critical - * - * This function will return the extension specified by the OID in - * the certificate. The extensions will be returned as binary data - * DER encoded, in the provided buffer. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative value in case of an error. If the certificate does not - * contain the specified extension - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_extension_by_oid (gnutls_x509_crq_t cert, - const char *oid, int indx, - void *buf, size_t * sizeof_buf, - unsigned int *critical) -{ - int result; - unsigned int i; - char _oid[MAX_OID_SIZE]; - size_t oid_size; - - for (i = 0;; i++) - { - oid_size = sizeof (_oid); - result = - gnutls_x509_crq_get_extension_info (cert, i, _oid, &oid_size, - critical); - if (result < 0) - { - gnutls_assert (); - return result; - } - - if (strcmp (oid, _oid) == 0) - { /* found */ - if (indx == 0) - return gnutls_x509_crq_get_extension_data (cert, i, buf, - sizeof_buf); - else - indx--; - } - } - - - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - -} - -/** - * gnutls_x509_crq_set_subject_alt_name - Set the subject Alternative Name - * @crq: a certificate of type #gnutls_x509_crq_t - * @nt: is one of the #gnutls_x509_subject_alt_name_t enumerations - * @data: The data to be set - * @data_size: The size of data to be set - * @flags: %GNUTLS_FSAN_SET to clear previous data or - * %GNUTLS_FSAN_APPEND to append. - * - * This function will set the subject alternative name certificate - * extension. It can set the following types: - * - * &GNUTLS_SAN_DNSNAME: as a text string - * - * &GNUTLS_SAN_RFC822NAME: as a text string - * - * &GNUTLS_SAN_URI: as a text string - * - * &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - * - * Other values can be set as binary values with the proper DER encoding. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_set_subject_alt_name (gnutls_x509_crq_t crq, - gnutls_x509_subject_alt_name_t nt, - const void *data, - unsigned int data_size, - unsigned int flags) -{ - int result = 0; - opaque tmp[MAX_CRQ_EXTENSIONS_SIZE]; - size_t tmp_size; - gnutls_datum_t der_data = { NULL, 0 }; - gnutls_datum_t prev_der_data; - unsigned int critical = 0; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* Check if the extension already exists. - */ - - if (flags == GNUTLS_FSAN_APPEND) - { - tmp_size = sizeof (tmp); - result = gnutls_x509_crq_get_extension_by_oid (crq, "2.5.29.17", 0, - tmp, &tmp_size, - &critical); - if (result < 0 && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return result; - } - } - - /* generate the extension. - */ - if (result < 0) - { - prev_der_data.data = NULL; - prev_der_data.size = 0; - } - else - { - prev_der_data.data = tmp; - prev_der_data.size = tmp_size; - } - - result = _gnutls_x509_ext_gen_subject_alt_name (nt, data, data_size, - &prev_der_data, &der_data); - - if (result < 0) - { - gnutls_assert (); - goto finish; - } - - result = _gnutls_x509_crq_set_extension (crq, "2.5.29.17", &der_data, - critical); - - _gnutls_free_datum (&der_data); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; - -finish: - return result; -} - -/** - * gnutls_x509_crq_set_basic_constraints - Set the basicConstraints extension - * @crq: a certificate of type #gnutls_x509_crq_t - * @ca: true(1) or false(0). Depending on the Certificate authority status. - * @pathLenConstraint: non-negative values indicate maximum length of path, - * and negative values indicate that the pathLenConstraints field should - * not be present. - * - * This function will set the basicConstraints certificate extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_set_basic_constraints (gnutls_x509_crq_t crq, - unsigned int ca, int pathLenConstraint) -{ - int result; - gnutls_datum_t der_data; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* generate the extension. - */ - result = _gnutls_x509_ext_gen_basicConstraints (ca, pathLenConstraint, - &der_data); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = _gnutls_x509_crq_set_extension (crq, "2.5.29.19", &der_data, 1); - - _gnutls_free_datum (&der_data); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -/** - * gnutls_x509_crq_set_key_usage - Set the keyUsage extension - * @crq: a certificate of type #gnutls_x509_crq_t - * @usage: an ORed sequence of the GNUTLS_KEY_* elements. - * - * This function will set the keyUsage certificate extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_set_key_usage (gnutls_x509_crq_t crq, unsigned int usage) -{ - int result; - gnutls_datum_t der_data; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* generate the extension. - */ - result = _gnutls_x509_ext_gen_keyUsage ((uint16_t) usage, &der_data); - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = _gnutls_x509_crq_set_extension (crq, "2.5.29.15", &der_data, 1); - - _gnutls_free_datum (&der_data); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -/** - * gnutls_x509_crq_get_key_purpose_oid - get Certificate's key purpose OIDs - * @cert: should contain a #gnutls_x509_crq_t structure - * @indx: This specifies which OID to return. Use zero to get the first one. - * @oid: a pointer to a buffer to hold the OID (may be null) - * @sizeof_oid: initially holds the size of @oid - * @critical: output variable with critical flag, may be NULL. - * - * This function will extract the key purpose OIDs of the Certificate - * specified by the given index. These are stored in the Extended - * Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions - * for human readable names. - * - * If @oid is null then only the size will be filled. - * - * Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is - * not long enough, and in that case the *sizeof_oid will be - * updated with the required size. On success 0 is returned. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t cert, - int indx, void *oid, size_t * sizeof_oid, - unsigned int *critical) -{ - char tmpstr[ASN1_MAX_NAME_SIZE]; - int result, len; - gnutls_datum_t prev_data; - ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - opaque tmp[MAX_CRQ_EXTENSIONS_SIZE]; - size_t tmp_size; - - if (cert == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (oid) - memset (oid, 0, *sizeof_oid); - else - *sizeof_oid = 0; - - tmp_size = sizeof (tmp); - result = gnutls_x509_crq_get_extension_by_oid (cert, "2.5.29.37", 0, - tmp, &tmp_size, critical); - - if (result < 0 && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return result; - } - - if (result < 0) - { - prev_data.data = NULL; - prev_data.size = 0; - } - else - { - prev_data.data = tmp; - prev_data.size = tmp_size; - } - - result = asn1_create_element - (_gnutls_get_pkix (), "PKIX1.ExtKeyUsageSyntax", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - - if (prev_data.size > 0) - { - result = asn1_der_decoding (&c2, prev_data.data, prev_data.size, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - } - - indx++; - /* create a string like "?1" - */ - snprintf (tmpstr, sizeof (tmpstr), "?%u", indx); - - len = *sizeof_oid; - result = asn1_read_value (c2, tmpstr, oid, &len); - - *sizeof_oid = len; - asn1_delete_structure (&c2); - - if (result == ASN1_VALUE_NOT_FOUND || result == ASN1_ELEMENT_NOT_FOUND) - { - return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - } - - if (result != ASN1_SUCCESS) - { - if (result != ASN1_MEM_ERROR) - gnutls_assert (); - return _gnutls_asn2err (result); - } - - return 0; - -} - -/** - * gnutls_x509_crq_set_key_purpose_oid - Sets the Certificate's key purpose OIDs - * @cert: a certificate of type #gnutls_x509_crq_t - * @oid: a pointer to a null terminated string that holds the OID - * @critical: Whether this extension will be critical or not - * - * This function will set the key purpose OIDs of the Certificate. - * These are stored in the Extended Key Usage extension (2.5.29.37) - * See the GNUTLS_KP_* definitions for human readable names. - * - * Subsequent calls to this function will append OIDs to the OID list. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_set_key_purpose_oid (gnutls_x509_crq_t cert, - const void *oid, unsigned int critical) -{ - int result; - gnutls_datum_t prev_data, der_data; - ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - opaque tmp[MAX_CRQ_EXTENSIONS_SIZE]; - size_t tmp_size; - - if (cert == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* Check if the extension already exists. - */ - tmp_size = sizeof (tmp); - result = gnutls_x509_crq_get_extension_by_oid (cert, "2.5.29.37", 0, - tmp, &tmp_size, NULL); - - if (result < 0 && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return result; - } - - if (result < 0) - { - prev_data.data = NULL; - prev_data.size = 0; - } - else - { - prev_data.data = tmp; - prev_data.size = tmp_size; - } - - result = asn1_create_element - (_gnutls_get_pkix (), "PKIX1.ExtKeyUsageSyntax", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - if (prev_data.size > 0) - { - /* decode it. - */ - result = asn1_der_decoding (&c2, prev_data.data, prev_data.size, NULL); - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - } - - /* generate the extension. - */ - /* 1. create a new element. - */ - result = asn1_write_value (c2, "", "NEW", 1); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - /* 2. Add the OID. - */ - result = asn1_write_value (c2, "?LAST", oid, 1); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - - result = _gnutls_x509_der_encode (c2, "", &der_data, 0); - asn1_delete_structure (&c2); - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = _gnutls_x509_crq_set_extension (cert, "2.5.29.37", - &der_data, critical); - - _gnutls_free_datum (&der_data); - - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - -static int -rsadsa_crq_get_key_id (gnutls_x509_crq_t crq, int pk, - unsigned char *output_data, size_t * output_data_size) -{ - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; - int params_size = MAX_PUBLIC_PARAMS_SIZE; - int i, result = 0; - gnutls_datum_t der = { NULL, 0 }; - digest_hd_st hd; - - result = _gnutls_x509_crq_get_mpis (crq, params, ¶ms_size); - if (result < 0) - { - gnutls_assert (); - return result; - } - - if (pk == GNUTLS_PK_RSA) - { - result = _gnutls_x509_write_rsa_params (params, params_size, &der); - if (result < 0) - { - gnutls_assert (); - goto cleanup; - } - } - else if (pk == GNUTLS_PK_DSA) - { - result = _gnutls_x509_write_dsa_public_key (params, params_size, &der); - if (result < 0) - { - gnutls_assert (); - goto cleanup; - } - } - else - return GNUTLS_E_INTERNAL_ERROR; - - result = _gnutls_hash_init (&hd, GNUTLS_MAC_SHA1); - if (result < 0) - { - gnutls_assert (); - goto cleanup; - } - - _gnutls_hash (&hd, der.data, der.size); - - _gnutls_hash_deinit (&hd, output_data); - *output_data_size = 20; - - result = 0; - -cleanup: - - _gnutls_free_datum (&der); - - /* release all allocated MPIs - */ - for (i = 0; i < params_size; i++) - { - _gnutls_mpi_release (¶ms[i]); - } - return result; -} - -/** - * gnutls_x509_crq_get_key_id - Return unique ID of public key's parameters - * @crq: Holds the certificate signing request - * @flags: should be 0 for now - * @output_data: will contain the key ID - * @output_data_size: holds the size of output_data (and will be - * replaced by the actual size of parameters) - * - * This function will return a unique ID the depends on the public - * key parameters. This ID can be used in checking whether a - * certificate corresponds to the given private key. - * - * If the buffer provided is not long enough to hold the output, then - * *output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will - * be returned. The output will normally be a SHA-1 hash output, - * which is 20 bytes. - * - * Return value: In case of failure a negative value will be - * returned, and 0 on success. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_get_key_id (gnutls_x509_crq_t crq, unsigned int flags, - unsigned char *output_data, - size_t * output_data_size) -{ - int pk, result = 0; - gnutls_datum_t pubkey; - - if (crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (*output_data_size < 20) - { - gnutls_assert (); - *output_data_size = 20; - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } - - pk = gnutls_x509_crq_get_pk_algorithm (crq, NULL); - if (pk < 0) - { - gnutls_assert (); - return pk; - } - - if (pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA) - { - /* This is for compatibility with what GnuTLS has printed for - RSA/DSA before the code below was added. The code below is - applicable to all types, and it would probably be a better - idea to use it for RSA/DSA too, but doing so would break - backwards compatibility. */ - return rsadsa_crq_get_key_id (crq, pk, output_data, output_data_size); - } - - pubkey.size = 0; - result = asn1_der_coding (crq->crq, "certificationRequestInfo.subjectPKInfo", - NULL, &pubkey.size, NULL); - if (result != ASN1_MEM_ERROR) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - pubkey.data = gnutls_malloc (pubkey.size); - if (pubkey.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - result = asn1_der_coding (crq->crq, "certificationRequestInfo.subjectPKInfo", - pubkey.data, &pubkey.size, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - gnutls_free (pubkey.data); - return _gnutls_asn2err (result); - } - - result = gnutls_fingerprint (GNUTLS_DIG_SHA1, &pubkey, - output_data, output_data_size); - - gnutls_free (pubkey.data); - - return result; -} - - #endif /* ENABLE_PKI */ diff -Nru gnutls26-2.8.6/lib/x509/dn.c gnutls26-2.4.1/lib/x509/dn.c --- gnutls26-2.8.6/lib/x509/dn.c 2009-08-06 23:58:23.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/dn.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -36,7 +36,7 @@ */ /* Converts the given OID to an ldap acceptable string or - * a dotted OID. + * a dotted OID. */ static const char * oid2ldap_string (const char *oid) @@ -92,13 +92,13 @@ { gnutls_string out_str; int k2, k1, result; - char tmpbuffer1[ASN1_MAX_NAME_SIZE]; - char tmpbuffer2[ASN1_MAX_NAME_SIZE]; - char tmpbuffer3[ASN1_MAX_NAME_SIZE]; + char tmpbuffer1[MAX_NAME_SIZE]; + char tmpbuffer2[MAX_NAME_SIZE]; + char tmpbuffer3[MAX_NAME_SIZE]; opaque value[MAX_STRING_LEN], *value2 = NULL; char *escaped = NULL; const char *ldap_desc; - char oid[MAX_OID_SIZE]; + char oid[128]; int len, printable; char *string = NULL; size_t sizeof_string, sizeof_escaped; @@ -123,12 +123,11 @@ k1++; /* create a string like "tbsCertList.issuer.rdnSequence.?1" */ - if (asn1_rdn_name[0] != 0) - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, - k1); + if (asn1_rdn_name[0]!=0) + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, k1); else - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); - + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); + len = sizeof (value) - 1; result = asn1_read_value (asn1_struct, tmpbuffer1, value, &len); @@ -151,11 +150,10 @@ */ k2++; - if (tmpbuffer1[0] != 0) - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, - k2); - else - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); + if (tmpbuffer1[0] != 0) + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, k2); + else + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); /* Try to read the RelativeDistinguishedName attributes. */ @@ -240,8 +238,7 @@ ldap_desc = oid2ldap_string (oid); printable = _gnutls_x509_oid_data_printable (oid); - /* leading #, hex encoded value and terminating NULL */ - sizeof_escaped = 2 * len + 2; + sizeof_escaped = 2 * len + 1; escaped = gnutls_malloc (sizeof_escaped); if (escaped == NULL) @@ -264,7 +261,7 @@ STR_APPEND (ldap_desc); STR_APPEND ("="); result = 0; - + if (printable) result = _gnutls_x509_oid_data2string (oid, @@ -308,11 +305,10 @@ if (buf) { - _gnutls_string_get_data( &out_str, buf, sizeof_buf); - buf[*sizeof_buf] = 0; + memcpy (buf, out_str.data, out_str.length); + buf[out_str.length] = 0; } - else - *sizeof_buf = out_str.length; + *sizeof_buf = out_str.length; result = 0; @@ -344,11 +340,11 @@ void *buf, size_t * sizeof_buf) { int k2, k1, result; - char tmpbuffer1[ASN1_MAX_NAME_SIZE]; - char tmpbuffer2[ASN1_MAX_NAME_SIZE]; - char tmpbuffer3[ASN1_MAX_NAME_SIZE]; + char tmpbuffer1[MAX_NAME_SIZE]; + char tmpbuffer2[MAX_NAME_SIZE]; + char tmpbuffer3[MAX_NAME_SIZE]; opaque value[256]; - char oid[MAX_OID_SIZE]; + char oid[128]; int len, printable; int i = 0; char *cbuf = buf; @@ -366,10 +362,9 @@ /* create a string like "tbsCertList.issuer.rdnSequence.?1" */ if (asn1_rdn_name[0] != 0) - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, - k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, k1); else - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); len = sizeof (value) - 1; result = asn1_read_value (asn1_struct, tmpbuffer1, value, &len); @@ -394,11 +389,10 @@ */ k2++; - if (tmpbuffer1[0] != 0) - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, - k2); - else - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); + if (tmpbuffer1[0] != 0) + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, k2); + else + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); /* Try to read the RelativeDistinguishedName attributes. */ @@ -519,11 +513,11 @@ int indx, void *_oid, size_t * sizeof_oid) { int k2, k1, result; - char tmpbuffer1[ASN1_MAX_NAME_SIZE]; - char tmpbuffer2[ASN1_MAX_NAME_SIZE]; - char tmpbuffer3[ASN1_MAX_NAME_SIZE]; + char tmpbuffer1[MAX_NAME_SIZE]; + char tmpbuffer2[MAX_NAME_SIZE]; + char tmpbuffer3[MAX_NAME_SIZE]; char value[256]; - char oid[MAX_OID_SIZE]; + char oid[128]; int len; int i = 0; @@ -535,10 +529,9 @@ /* create a string like "tbsCertList.issuer.rdnSequence.?1" */ if (asn1_rdn_name[0] != 0) - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, - k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "%s.?%u", asn1_rdn_name, k1); else - snprintf (tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); + snprintf( tmpbuffer1, sizeof (tmpbuffer1), "?%u", k1); len = sizeof (value) - 1; result = asn1_read_value (asn1_struct, tmpbuffer1, value, &len); @@ -563,11 +556,10 @@ */ k2++; - if (tmpbuffer1[0] != 0) - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, - k2); - else - snprintf (tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); + if (tmpbuffer1[0] != 0) + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "%s.?%u", tmpbuffer1, k2); + else + snprintf( tmpbuffer2, sizeof (tmpbuffer2), "?%u", k2); /* Try to read the RelativeDistinguishedName attributes. */ @@ -658,7 +650,6 @@ if (val_name == NULL) { gnutls_assert (); - _gnutls_x509_log ("Cannot find OID: %s\n", given_oid); return GNUTLS_E_X509_UNSUPPORTED_OID; } @@ -676,7 +667,7 @@ if ((result = _gnutls_x509_oid_data_choice (given_oid)) > 0) { - const char *string_type; + char *string_type; int i; string_type = "printableString"; @@ -700,8 +691,8 @@ if (result != ASN1_SUCCESS) { gnutls_assert (); - result = _gnutls_asn2err (result); - goto error; + asn1_delete_structure (&c2); + return _gnutls_asn2err (result); } _gnutls_str_cpy (tmp, sizeof (tmp), string_type); @@ -711,8 +702,8 @@ if (result != ASN1_SUCCESS) { gnutls_assert (); - result = _gnutls_asn2err (result); - goto error; + asn1_delete_structure (&c2); + return _gnutls_asn2err (result); } @@ -730,8 +721,7 @@ if (result != ASN1_SUCCESS) { gnutls_assert (); - result = _gnutls_asn2err (result); - goto error; + return _gnutls_asn2err (result); } _gnutls_str_cat (tmp, sizeof (tmp), ".?LAST"); @@ -742,8 +732,7 @@ if (result < 0) { gnutls_assert (); - result = _gnutls_asn2err (result); - goto error; + return result; } /* write the type @@ -755,25 +744,20 @@ if (result != ASN1_SUCCESS) { gnutls_assert (); - result = _gnutls_asn2err (result); - goto error; + return _gnutls_asn2err (result); } - result = 0; - -error: - asn1_delete_structure (&c2); - return result; + return 0; } /* This will write the AttributeTypeAndValue field. The data must be already DER encoded. * 'multi' must be zero if writing an AttributeTypeAndValue, and 1 if Attribute. * In all cases only one value is written. */ -static int +int _gnutls_x509_write_attribute (const char *given_oid, ASN1_TYPE asn1_struct, const char *where, - const void *_data, int sizeof_data) + const void *_data, int sizeof_data, int multi) { char tmp[128]; int result; @@ -784,6 +768,21 @@ _gnutls_str_cpy (tmp, sizeof (tmp), where); _gnutls_str_cat (tmp, sizeof (tmp), ".value"); + if (multi != 0) + { /* if not writing an AttributeTypeAndValue, but an Attribute */ + _gnutls_str_cat (tmp, sizeof (tmp), "s"); /* values */ + + result = asn1_write_value (asn1_struct, tmp, "NEW", 1); + if (result != ASN1_SUCCESS) + { + gnutls_assert (); + return _gnutls_asn2err (result); + } + + _gnutls_str_cat (tmp, sizeof (tmp), ".?LAST"); + + } + result = asn1_write_value (asn1_struct, tmp, _data, sizeof_data); if (result < 0) { @@ -873,7 +872,7 @@ int raw_flag, const char *name, int sizeof_name) { int result; - char tmp[ASN1_MAX_NAME_SIZE], asn1_rdn_name[ASN1_MAX_NAME_SIZE]; + char tmp[MAX_NAME_SIZE], asn1_rdn_name[MAX_NAME_SIZE]; if (sizeof_name == 0 || name == NULL) { @@ -931,7 +930,7 @@ { result = _gnutls_x509_write_attribute (given_oid, asn1_struct, - tmp, name, sizeof_name); + tmp, name, sizeof_name, 0); } if (result < 0) @@ -945,7 +944,7 @@ /** * gnutls_x509_dn_init: initialize an opaque DN object - * @dn: the object to be initialized + * @odn: the object to be initialized * * This function initializes a #gnutls_x509_dn_t structure. * @@ -957,28 +956,28 @@ * * Since: 2.4.0 **/ -int -gnutls_x509_dn_init (gnutls_x509_dn_t * dn) +int gnutls_x509_dn_init (gnutls_x509_dn_t * odn) { int result; - ASN1_TYPE tmpdn = ASN1_TYPE_EMPTY; + ASN1_TYPE dn = ASN1_TYPE_EMPTY; if ((result = asn1_create_element (_gnutls_get_pkix (), - "PKIX1.Name", &tmpdn)) != ASN1_SUCCESS) + "PKIX1.Name", &dn)) != ASN1_SUCCESS) { gnutls_assert (); return _gnutls_asn2err (result); } - *dn = tmpdn; + *odn = dn; return 0; } /** * gnutls_x509_dn_import: get opaque DN object from DER RDN sequence - * @dn: the structure that will hold the imported DN + * + * @odn: the structure that will hold the imported DN * @data: should contain a DER encoded RDN sequence * * This function parses an RDN sequence and stores the result to a @@ -992,17 +991,18 @@ * Since: 2.4.0 **/ int -gnutls_x509_dn_import (gnutls_x509_dn_t dn, const gnutls_datum_t * data) +gnutls_x509_dn_import (gnutls_x509_dn_t odn, + const gnutls_datum_t * data) { int result; - char err[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + char err[MAX_ERROR_DESCRIPTION_SIZE]; + ASN1_TYPE dn = odn; - result = asn1_der_decoding ((ASN1_TYPE *) &dn, - data->data, data->size, err); + result = asn1_der_decoding (&dn, data->data, data->size, err); if (result != ASN1_SUCCESS) { /* couldn't decode DER */ - _gnutls_x509_log ("ASN.1 Decoding error: %s\n", err); + _gnutls_x509_log("ASN.1 Decoding error: %s\n", err); gnutls_assert (); return _gnutls_asn2err (result); } @@ -1012,7 +1012,7 @@ /** * gnutls_x509_dn_deinit: deallocate a DN object - * @dn: a DN opaque object pointer. + * @idn: a DN opaque object pointer. * * This function deallocates the DN object as returned by * gnutls_x509_dn_import(). @@ -1020,9 +1020,11 @@ * Since: 2.4.0 **/ void -gnutls_x509_dn_deinit (gnutls_x509_dn_t dn) +gnutls_x509_dn_deinit (gnutls_x509_dn_t idn) { - asn1_delete_structure ((ASN1_TYPE *) &dn); + ASN1_TYPE dn = idn; + + asn1_delete_structure(&dn); } /** @@ -1143,8 +1145,8 @@ * gnutls_x509_rdn_get_oid - parse an RDN sequence and returns an OID. * @idn: should contain a DER encoded RDN sequence * @indx: Indicates which OID to return. Use 0 for the first one. - * @buf: a pointer to a structure to hold the peer's name OID - * @sizeof_buf: holds the size of @buf + * @oid: a pointer to a structure to hold the peer's name OID + * @sizeof_oid: holds the size of @oid * * This function will return the specified Object identifier, of the * RDN sequence. @@ -1244,7 +1246,7 @@ size_t * output_data_size) { ASN1_TYPE asn1 = dn; - + if (asn1 == NULL) { gnutls_assert (); @@ -1252,6 +1254,7 @@ } return _gnutls_x509_export_int_named (asn1, "rdnSequence", - format, "NAME", - output_data, output_data_size); + format, "NAME", + output_data, + output_data_size); } diff -Nru gnutls26-2.8.6/lib/x509/dsa.c gnutls26-2.4.1/lib/x509/dsa.c --- gnutls26-2.8.6/lib/x509/dsa.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/dsa.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2003, 2004, 2005, 2008 Free Software Foundation + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GNUTLS. + * + * The GNUTLS library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA + * + */ + +/* This file contains code for DSA keys. + */ + +#include +#include +#include +#include +#include + +/* resarr will contain: p(0), q(1), g(2), y(3), x(4). + */ +int +_gnutls_dsa_generate_params (mpi_t * resarr, int *resarr_len, int bits) +{ + + int ret; + gcry_sexp_t parms, key, list; + + /* FIXME: Remove me once we depend on 1.3.1 */ + if (bits > 1024 && gcry_check_version("1.3.1")==NULL) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + if (bits < 512) + { + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; + } + + ret = gcry_sexp_build (&parms, NULL, "(genkey(dsa(nbits %d)))", bits); + if (ret != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + /* generate the DSA key + */ + ret = gcry_pk_genkey (&key, parms); + gcry_sexp_release (parms); + + if (ret != 0) + { + gnutls_assert (); + return GNUTLS_E_INTERNAL_ERROR; + } + + list = gcry_sexp_find_token (key, "p", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[0] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "q", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[1] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "g", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[2] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + list = gcry_sexp_find_token (key, "y", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[3] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + + list = gcry_sexp_find_token (key, "x", 0); + if (list == NULL) + { + gnutls_assert (); + gcry_sexp_release (key); + return GNUTLS_E_INTERNAL_ERROR; + } + + resarr[4] = gcry_sexp_nth_mpi (list, 1, 0); + gcry_sexp_release (list); + + + gcry_sexp_release (key); + + _gnutls_dump_mpi ("p: ", resarr[0]); + _gnutls_dump_mpi ("q: ", resarr[1]); + _gnutls_dump_mpi ("g: ", resarr[2]); + _gnutls_dump_mpi ("y: ", resarr[3]); + _gnutls_dump_mpi ("x: ", resarr[4]); + + *resarr_len = 5; + + return 0; + +} diff -Nru gnutls26-2.8.6/lib/x509/extensions.c gnutls26-2.4.1/lib/x509/extensions.c --- gnutls26-2.8.6/lib/x509/extensions.c 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/extensions.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -33,13 +33,22 @@ #include #include -static int -get_extension (ASN1_TYPE asn, const char *root, - const char *extension_id, int indx, - gnutls_datum_t * ret, unsigned int *_critical) +/* This function will attempt to return the requested extension found in + * the given X509v3 certificate. The return value is allocated and stored into + * ret. + * + * Critical will be either 0 or 1. + * + * If the extension does not exist, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will + * be returned. + */ +int +_gnutls_x509_crt_get_extension (gnutls_x509_crt_t cert, + const char *extension_id, int indx, + gnutls_datum_t * ret, unsigned int *_critical) { int k, result, len; - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE]; char str[1024]; char str_critical[10]; int critical = 0; @@ -55,10 +64,10 @@ { k++; - snprintf (name, sizeof (name), "%s.?%u", root, k); + snprintf( name, sizeof(name), "tbsCertificate.extensions.?%u", k); len = sizeof (str) - 1; - result = asn1_read_value (asn, name, str, &len); + result = asn1_read_value (cert->cert, name, str, &len); /* move to next */ @@ -75,7 +84,7 @@ _gnutls_str_cat (name2, sizeof (name2), ".extnID"); len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name2, extnID, &len); + result = asn1_read_value (cert->cert, name2, extnID, &len); if (result == ASN1_ELEMENT_NOT_FOUND) { @@ -101,7 +110,8 @@ _gnutls_str_cat (name2, sizeof (name2), ".critical"); len = sizeof (str_critical); - result = asn1_read_value (asn, name2, str_critical, &len); + result = + asn1_read_value (cert->cert, name2, str_critical, &len); if (result == ASN1_ELEMENT_NOT_FOUND) { @@ -124,7 +134,7 @@ _gnutls_str_cpy (name2, sizeof (name2), name); _gnutls_str_cat (name2, sizeof (name2), ".extnValue"); - result = _gnutls_x509_read_value (asn, name2, &value, 0); + result = _gnutls_x509_read_value (cert->cert, name2, &value, 0); if (result < 0) { gnutls_assert (); @@ -157,46 +167,18 @@ } } -/* This function will attempt to return the requested extension found in - * the given X509v3 certificate. The return value is allocated and stored into - * ret. - * - * Critical will be either 0 or 1. - * - * If the extension does not exist, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will - * be returned. - */ -int -_gnutls_x509_crt_get_extension (gnutls_x509_crt_t cert, - const char *extension_id, int indx, - gnutls_datum_t * ret, unsigned int *_critical) -{ - return get_extension (cert->cert, "tbsCertificate.extensions", extension_id, - indx, ret, _critical); -} - -int -_gnutls_x509_crl_get_extension (gnutls_x509_crl_t crl, - const char *extension_id, int indx, - gnutls_datum_t * ret, unsigned int *_critical) -{ - return get_extension (crl->crl, "tbsCertList.crlExtensions", extension_id, - indx, ret, _critical); -} - - /* This function will attempt to return the requested extension OID found in * the given X509v3 certificate. * * If you have passed the last extension, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will * be returned. */ -static int -get_extension_oid (ASN1_TYPE asn, const char *root, - int indx, void *oid, size_t * sizeof_oid) +int +_gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, + int indx, void *oid, size_t * sizeof_oid) { int k, result, len; - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE]; char str[1024]; char extnID[128]; int indx_counter = 0; @@ -206,10 +188,10 @@ { k++; - snprintf (name, sizeof (name), "%s.?%u", root, k); + snprintf( name, sizeof(name), "tbsCertificate.extensions.?%u", k); len = sizeof (str) - 1; - result = asn1_read_value (asn, name, str, &len); + result = asn1_read_value (cert->cert, name, str, &len); /* move to next */ @@ -226,7 +208,7 @@ _gnutls_str_cat (name2, sizeof (name2), ".extnID"); len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name2, extnID, &len); + result = asn1_read_value (cert->cert, name2, extnID, &len); if (result == ASN1_ELEMENT_NOT_FOUND) { @@ -275,58 +257,30 @@ } } -/* This function will attempt to return the requested extension OID found in - * the given X509v3 certificate. - * - * If you have passed the last extension, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will - * be returned. - */ -int -_gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, - int indx, void *oid, size_t * sizeof_oid) -{ - return get_extension_oid (cert->cert, "tbsCertificate.extensions", indx, - oid, sizeof_oid); -} - -int -_gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, - int indx, void *oid, size_t * sizeof_oid) -{ - return get_extension_oid (crl->crl, "tbsCertList.crlExtensions", indx, oid, - sizeof_oid); -} - /* This function will attempt to set the requested extension in * the given X509v3 certificate. * * Critical will be either 0 or 1. */ static int -add_extension (ASN1_TYPE asn, const char *root, const char *extension_id, +set_extension (ASN1_TYPE asn, const char *extension_id, const gnutls_datum_t * ext_data, unsigned int critical) { int result; const char *str; - char name[ASN1_MAX_NAME_SIZE]; - - snprintf (name, sizeof (name), "%s", root); /* Add a new extension in the list. */ - result = asn1_write_value (asn, name, "NEW", 1); + result = asn1_write_value (asn, "tbsCertificate.extensions", "NEW", 1); if (result != ASN1_SUCCESS) { gnutls_assert (); return _gnutls_asn2err (result); } - if (root[0] != 0) - snprintf (name, sizeof (name), "%s.?LAST.extnID", root); - else - snprintf (name, sizeof (name), "?LAST.extnID"); - - result = asn1_write_value (asn, name, extension_id, 1); + result = + asn1_write_value (asn, "tbsCertificate.extensions.?LAST.extnID", + extension_id, 1); if (result != ASN1_SUCCESS) { gnutls_assert (); @@ -338,24 +292,20 @@ else str = "TRUE"; - if (root[0] != 0) - snprintf (name, sizeof (name), "%s.?LAST.critical", root); - else - snprintf (name, sizeof (name), "?LAST.critical"); - result = asn1_write_value (asn, name, str, 1); + result = + asn1_write_value (asn, "tbsCertificate.extensions.?LAST.critical", + str, 1); if (result != ASN1_SUCCESS) { gnutls_assert (); return _gnutls_asn2err (result); } - if (root[0] != 0) - snprintf (name, sizeof (name), "%s.?LAST.extnValue", root); - else - snprintf (name, sizeof (name), "?LAST.extnValue"); - - result = _gnutls_x509_write_value (asn, name, ext_data, 0); + result = + _gnutls_x509_write_value (asn, + "tbsCertificate.extensions.?LAST.extnValue", + ext_data, 0); if (result < 0) { gnutls_assert (); @@ -369,17 +319,14 @@ * index here starts from one. */ static int -overwrite_extension (ASN1_TYPE asn, const char *root, unsigned int indx, +overwrite_extension (ASN1_TYPE asn, unsigned int indx, const gnutls_datum_t * ext_data, unsigned int critical) { - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE]; const char *str; int result; - if (root[0] != 0) - snprintf (name, sizeof (name), "%s.?%u", root, indx); - else - snprintf (name, sizeof (name), "?%u", indx); + snprintf( name, sizeof(name), "tbsCertificate.extensions.?%u", indx); if (critical == 0) str = "FALSE"; @@ -409,14 +356,20 @@ return 0; } -static int -set_extension (ASN1_TYPE asn, const char *root, - const char *ext_id, - const gnutls_datum_t * ext_data, unsigned int critical) +/* This function will attempt to overwrite the requested extension with + * the given one. + * + * Critical will be either 0 or 1. + */ +int +_gnutls_x509_crt_set_extension (gnutls_x509_crt_t cert, + const char *ext_id, + const gnutls_datum_t * ext_data, + unsigned int critical) { int result; int k, len; - char name[ASN1_MAX_NAME_SIZE], name2[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE]; char extnID[128]; /* Find the index of the given extension. @@ -426,13 +379,10 @@ { k++; - if (root[0] != 0) - snprintf (name, sizeof (name), "%s.?%u", root, k); - else - snprintf (name, sizeof (name), "?%u", k); + snprintf( name, sizeof(name), "tbsCertificate.extensions.?%u", k); len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name, extnID, &len); + result = asn1_read_value (cert->cert, name, extnID, &len); /* move to next */ @@ -449,7 +399,7 @@ _gnutls_str_cat (name2, sizeof (name2), ".extnID"); len = sizeof (extnID) - 1; - result = asn1_read_value (asn, name2, extnID, &len); + result = asn1_read_value (cert->cert, name2, extnID, &len); if (result == ASN1_ELEMENT_NOT_FOUND) { @@ -468,7 +418,7 @@ { /* extension was found */ - return overwrite_extension (asn, root, k, ext_data, critical); + return overwrite_extension (cert->cert, k, ext_data, critical); } @@ -479,7 +429,7 @@ if (result == ASN1_ELEMENT_NOT_FOUND) { - return add_extension (asn, root, ext_id, ext_data, critical); + return set_extension (cert->cert, ext_id, ext_data, critical); } else { @@ -491,110 +441,6 @@ return 0; } -/* This function will attempt to overwrite the requested extension with - * the given one. - * - * Critical will be either 0 or 1. - */ -int -_gnutls_x509_crt_set_extension (gnutls_x509_crt_t cert, - const char *ext_id, - const gnutls_datum_t * ext_data, - unsigned int critical) -{ - return set_extension (cert->cert, "tbsCertificate.extensions", ext_id, - ext_data, critical); -} - -int -_gnutls_x509_crl_set_extension (gnutls_x509_crl_t crl, - const char *ext_id, - const gnutls_datum_t * ext_data, - unsigned int critical) -{ - return set_extension (crl->crl, "tbsCertList.crlExtensions", ext_id, - ext_data, critical); -} - -#ifdef ENABLE_PKI -int -_gnutls_x509_crq_set_extension (gnutls_x509_crq_t crq, - const char *ext_id, - const gnutls_datum_t * ext_data, - unsigned int critical) -{ - unsigned char extensions[MAX_CRQ_EXTENSIONS_SIZE]; - size_t extensions_size = sizeof (extensions); - gnutls_datum der; - ASN1_TYPE c2; - int result; - - result = gnutls_x509_crq_get_attribute_by_oid (crq, "1.2.840.113549.1.9.14", - 0, extensions, - &extensions_size); - if (result < 0) - { - if (result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - extensions_size = 0; - } - else - { - gnutls_assert (); - return result; - } - } - - result = asn1_create_element (_gnutls_get_pkix (), "PKIX1.Extensions", &c2); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - if (extensions_size > 0) - { - result = asn1_der_decoding (&c2, extensions, extensions_size, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } - } - - result = set_extension (c2, "", ext_id, ext_data, critical); - if (result < 0) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return result; - } - - result = _gnutls_x509_der_encode (c2, "", &der, 0); - - asn1_delete_structure (&c2); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - result = gnutls_x509_crq_set_attribute_by_oid (crq, "1.2.840.113549.1.9.14", - der.data, der.size); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - - return 0; -} - -#endif /* Here we only extract the KeyUsage field, from the DER encoded * extension. @@ -677,7 +523,7 @@ *pathLenConstraint = -1; else if (result != GNUTLS_E_SUCCESS) { - gnutls_assert (); + gnutls_assert(); asn1_delete_structure (&ext); return _gnutls_asn2err (result); } @@ -761,90 +607,6 @@ return 0; } -/* extract an INTEGER from the DER encoded extension - */ -int -_gnutls_x509_ext_extract_number (opaque * number, - size_t * _nr_size, - opaque * extnValue, int extnValueLen) -{ - ASN1_TYPE ext = ASN1_TYPE_EMPTY; - int result; - int nr_size = *_nr_size; - - /* here it doesn't matter so much that we use CertificateSerialNumber. It is equal - * to using INTEGER. - */ - if ((result = asn1_create_element - (_gnutls_get_pkix (), "PKIX1.CertificateSerialNumber", - &ext)) != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = asn1_der_decoding (&ext, extnValue, extnValueLen, NULL); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&ext); - return _gnutls_asn2err (result); - } - - /* the default value of cA is false. - */ - result = asn1_read_value (ext, "", number, &nr_size); - if (result != ASN1_SUCCESS) - result = _gnutls_asn2err (result); - else - result = 0; - - *_nr_size = nr_size; - - asn1_delete_structure (&ext); - - return result; -} - -/* generate an INTEGER in a DER encoded extension - */ -int -_gnutls_x509_ext_gen_number (const opaque * number, size_t nr_size, - gnutls_datum_t * der_ext) -{ - ASN1_TYPE ext = ASN1_TYPE_EMPTY; - int result; - - result = - asn1_create_element (_gnutls_get_pkix (), "PKIX1.CertificateSerialNumber", - &ext); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - return _gnutls_asn2err (result); - } - - result = asn1_write_value (ext, "", number, nr_size); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&ext); - return _gnutls_asn2err (result); - } - - result = _gnutls_x509_der_encode (ext, "", der_ext, 0); - - asn1_delete_structure (&ext); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - return 0; -} - /* generate the keyUsage in a DER encoded extension * Use an ORed SEQUENCE of GNUTLS_KEY_* for usage. */ @@ -889,7 +651,7 @@ static int write_new_general_name (ASN1_TYPE ext, const char *ext_name, gnutls_x509_subject_alt_name_t type, - const void *data, unsigned int data_size) + const char *data_string) { const char *str; int result; @@ -941,7 +703,7 @@ _gnutls_str_cat (name, sizeof (name), "."); _gnutls_str_cat (name, sizeof (name), str); - result = asn1_write_value (ext, name, data, data_size); + result = asn1_write_value (ext, name, data_string, strlen (data_string)); if (result != ASN1_SUCCESS) { gnutls_assert (); @@ -957,9 +719,7 @@ */ int _gnutls_x509_ext_gen_subject_alt_name (gnutls_x509_subject_alt_name_t - type, const void *data, - unsigned int data_size, - gnutls_datum_t * prev_der_ext, + type, const char *data_string, gnutls_datum_t * der_ext) { ASN1_TYPE ext = ASN1_TYPE_EMPTY; @@ -973,22 +733,7 @@ return _gnutls_asn2err (result); } - if (prev_der_ext != NULL && prev_der_ext->data != NULL - && prev_der_ext->size != 0) - { - result = - asn1_der_decoding (&ext, prev_der_ext->data, prev_der_ext->size, - NULL); - - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&ext); - return _gnutls_asn2err (result); - } - } - - result = write_new_general_name (ext, "", type, data, data_size); + result = write_new_general_name (ext, "", type, data_string); if (result < 0) { gnutls_assert (); @@ -1098,8 +843,7 @@ */ int _gnutls_x509_ext_gen_crl_dist_points (gnutls_x509_subject_alt_name_t - type, const void *data, - unsigned int data_size, + type, const void *data_string, unsigned int reason_flags, gnutls_datum_t * der_ext) { @@ -1177,7 +921,7 @@ result = write_new_general_name (ext, "?LAST.distributionPoint.fullName", - type, data, data_size); + type, data_string); if (result < 0) { gnutls_assert (); @@ -1207,8 +951,9 @@ _gnutls_x509_ext_extract_proxyCertInfo (int *pathLenConstraint, char **policyLanguage, char **policy, - size_t * sizeof_policy, - opaque * extnValue, int extnValueLen) + size_t *sizeof_policy, + opaque * extnValue, + int extnValueLen) { ASN1_TYPE ext = ASN1_TYPE_EMPTY; int result; diff -Nru gnutls26-2.8.6/lib/x509/Makefile.am gnutls26-2.4.1/lib/x509/Makefile.am --- gnutls26-2.8.6/lib/x509/Makefile.am 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/Makefile.am 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # This file is part of GNUTLS. # @@ -18,45 +18,21 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(srcdir)/../includes \ - -I$(builddir)/../includes \ - -I$(srcdir)/.. \ - $(LIBOPENCDK_CFLAGS) - -if ENABLE_MINITASN1 -AM_CPPFLAGS += -I$(srcdir)/../minitasn1 -endif +INCLUDES = \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/libextra -I$(top_srcdir)/lib/minitasn1 \ + -I$(top_srcdir)/libextra/openpgp/ \ + -I$(top_srcdir)/libextra/opencdk -I$(top_srcdir)/lib \ + -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + $(LIBOPENCDK_CFLAGS) $(LIBTASN1_CFLAGS) $(LIBGCRYPT_CFLAGS) noinst_LTLIBRARIES = libgnutls_x509.la -libgnutls_x509_la_SOURCES = \ - common.c \ - common.h \ - crl.c \ - crl_write.c \ - crq.c \ - dn.c \ - extensions.c \ - mpi.c \ - output.c \ - pbkdf2-sha1.c \ - pbkdf2-sha1.h \ - pkcs12.c \ - pkcs12_bag.c \ - pkcs12_encr.c \ - pkcs7.c \ - privkey.c \ - privkey_pkcs8.c \ - rfc2818_hostname.c \ - sign.c \ - verify.c \ - x509.c \ - x509_int.h \ - x509_write.c +libgnutls_x509_la_SOURCES = crl.c dn.c common.c x509.c extensions.c \ + dsa.c rfc2818_hostname.c verify.c mpi.c privkey.c pkcs7.c \ + crq.c sign.c privkey_pkcs8.c pkcs12.c pkcs12_bag.c \ + pkcs12_encr.c x509_write.c crl_write.c common.h x509_int.h \ + output.c EXTRA_DIST = x509-api.texi @@ -64,7 +40,7 @@ @echo "" > x509-api.texi @for i in $(libgnutls_x509_la_SOURCES); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../../doc/scripts/gdoc -texinfo $$i >> x509-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> x509-api.texi && \ echo "ok"; \ done diff -Nru gnutls26-2.8.6/lib/x509/Makefile.in gnutls26-2.4.1/lib/x509/Makefile.in --- gnutls26-2.8.6/lib/x509/Makefile.in 2010-03-15 10:28:41.000000000 +0000 +++ gnutls26-2.4.1/lib/x509/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # This file is part of GNUTLS. # @@ -36,9 +35,8 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -53,71 +51,98 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(srcdir)/../minitasn1 -subdir = x509 +subdir = lib/x509 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/func.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/memmove.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 $(top_srcdir)/gl/m4/printf.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/strings_h.m4 \ - $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/vsnprintf.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libgnutls_x509_la_LIBADD = -am_libgnutls_x509_la_OBJECTS = common.lo crl.lo crl_write.lo crq.lo \ - dn.lo extensions.lo mpi.lo output.lo pbkdf2-sha1.lo pkcs12.lo \ - pkcs12_bag.lo pkcs12_encr.lo pkcs7.lo privkey.lo \ - privkey_pkcs8.lo rfc2818_hostname.lo sign.lo verify.lo x509.lo \ - x509_write.lo +am_libgnutls_x509_la_OBJECTS = crl.lo dn.lo common.lo x509.lo \ + extensions.lo dsa.lo rfc2818_hostname.lo verify.lo mpi.lo \ + privkey.lo pkcs7.lo crq.lo sign.lo privkey_pkcs8.lo pkcs12.lo \ + pkcs12_bag.lo pkcs12_encr.lo x509_write.lo crl_write.lo \ + output.lo libgnutls_x509_la_OBJECTS = $(am_libgnutls_x509_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -136,8 +161,9 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -148,7 +174,6 @@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -BYTESWAP_H = @BYTESWAP_H@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -163,91 +188,56 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ +GAA = @GAA@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -259,30 +249,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -297,38 +273,29 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ @@ -341,46 +308,27 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LINK = @HAVE_LINK@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -396,15 +344,8 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ @@ -412,17 +353,12 @@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -430,30 +366,33 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ -LIPO = @LIPO@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ @@ -466,10 +405,11 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ -NETDB_H = @NETDB_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ @@ -480,32 +420,25 @@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ POSUB = @POSUB@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -520,26 +453,16 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ @@ -547,22 +470,18 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -570,14 +489,12 @@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -588,7 +505,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -606,6 +523,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -623,7 +545,6 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -639,35 +560,20 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = -I$(srcdir)/../gl -I$(builddir)/../gl \ - -I$(srcdir)/../includes -I$(builddir)/../includes \ - -I$(srcdir)/.. $(LIBOPENCDK_CFLAGS) $(am__append_1) +INCLUDES = \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/libextra -I$(top_srcdir)/lib/minitasn1 \ + -I$(top_srcdir)/libextra/openpgp/ \ + -I$(top_srcdir)/libextra/opencdk -I$(top_srcdir)/lib \ + -I$(top_srcdir)/includes -I$(top_builddir)/includes \ + $(LIBOPENCDK_CFLAGS) $(LIBTASN1_CFLAGS) $(LIBGCRYPT_CFLAGS) + noinst_LTLIBRARIES = libgnutls_x509.la -libgnutls_x509_la_SOURCES = \ - common.c \ - common.h \ - crl.c \ - crl_write.c \ - crq.c \ - dn.c \ - extensions.c \ - mpi.c \ - output.c \ - pbkdf2-sha1.c \ - pbkdf2-sha1.h \ - pkcs12.c \ - pkcs12_bag.c \ - pkcs12_encr.c \ - pkcs7.c \ - privkey.c \ - privkey_pkcs8.c \ - rfc2818_hostname.c \ - sign.c \ - verify.c \ - x509.c \ - x509_int.h \ - x509_write.c +libgnutls_x509_la_SOURCES = crl.c dn.c common.c x509.c extensions.c \ + dsa.c rfc2818_hostname.c verify.c mpi.c privkey.c pkcs7.c \ + crq.c sign.c privkey_pkcs8.c pkcs12.c pkcs12_bag.c \ + pkcs12_encr.c x509_write.c crl_write.c common.h x509_int.h \ + output.c EXTRA_DIST = x509-api.texi all: all-am @@ -678,14 +584,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu x509/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu x509/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/x509/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/x509/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -703,7 +609,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -727,10 +632,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crl_write.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crq.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsa.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extensions.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pbkdf2-sha1.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkcs12.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkcs12_bag.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkcs12_encr.Plo@am__quote@ @@ -745,21 +650,21 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -775,14 +680,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -790,34 +695,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -838,17 +738,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -879,7 +775,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -901,8 +796,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -911,28 +804,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -976,12 +859,11 @@ @echo "" > x509-api.texi @for i in $(libgnutls_x509_la_SOURCES); do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../../doc/scripts/gdoc -texinfo $$i >> x509-api.texi && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> x509-api.texi && \ echo "ok"; \ done dist-hook: x509-api.texi - # 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: diff -Nru gnutls26-2.8.6/lib/x509/mpi.c gnutls26-2.4.1/lib/x509/mpi.c --- gnutls26-2.8.6/lib/x509/mpi.c 2010-01-20 09:57:09.000000000 +0000 +++ gnutls26-2.4.1/lib/x509/mpi.c 2008-06-30 21:45:51.000000000 +0100 @@ -37,7 +37,7 @@ * Returns 2 parameters (m,e). */ int -_gnutls_x509_read_rsa_params (opaque * der, int dersize, bigint_t * params) +_gnutls_x509_read_rsa_params (opaque * der, int dersize, mpi_t * params) { int result; ASN1_TYPE spk = ASN1_TYPE_EMPTY; @@ -88,7 +88,7 @@ * params[0-2] */ int -_gnutls_x509_read_dsa_params (opaque * der, int dersize, bigint_t * params) +_gnutls_x509_read_dsa_params (opaque * der, int dersize, mpi_t * params) { int result; ASN1_TYPE spk = ASN1_TYPE_EMPTY; @@ -154,7 +154,7 @@ */ int -_gnutls_x509_read_der_int (opaque * der, int dersize, bigint_t * out) +_gnutls_x509_read_der_int (opaque * der, int dersize, mpi_t * out) { int result; ASN1_TYPE spk = ASN1_TYPE_EMPTY; @@ -197,31 +197,34 @@ * only sets params[3] */ int -_gnutls_x509_read_dsa_pubkey (opaque * der, int dersize, bigint_t * params) +_gnutls_x509_read_dsa_pubkey (opaque * der, int dersize, mpi_t * params) { - return _gnutls_x509_read_der_int (der, dersize, ¶ms[3]); + return _gnutls_x509_read_der_int( der, dersize, ¶ms[3]); } /* Extracts DSA and RSA parameters from a certificate. */ -static int -get_mpis (int pk_algorithm, ASN1_TYPE asn, const char *root, - bigint_t * params, int *params_size) +int +_gnutls_x509_crt_get_mpis (gnutls_x509_crt_t cert, + mpi_t * params, int *params_size) { int result; - char name[256]; + int pk_algorithm; gnutls_datum tmp = { NULL, 0 }; + /* Read the algorithm's OID + */ + pk_algorithm = gnutls_x509_crt_get_pk_algorithm (cert, NULL); + /* Read the algorithm's parameters */ - snprintf (name, sizeof (name), "%s.subjectPublicKey", root); - result = _gnutls_x509_read_value (asn, name, &tmp, 2); + result = _gnutls_x509_read_value( cert->cert, + "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey", &tmp, 2); if (result < 0) { gnutls_assert (); - fprintf (stderr, "name: %s\n", name); return result; } @@ -234,13 +237,12 @@ if (*params_size < RSA_PUBLIC_PARAMS) { gnutls_assert (); - /* internal error. Increase the bigint_ts in params */ + /* internal error. Increase the mpi_ts in params */ result = GNUTLS_E_INTERNAL_ERROR; goto error; } - if ((result = - _gnutls_x509_read_rsa_params (tmp.data, tmp.size, params)) < 0) + if ((result = _gnutls_x509_read_rsa_params (tmp.data, tmp.size, params)) < 0) { gnutls_assert (); goto error; @@ -258,13 +260,12 @@ if (*params_size < DSA_PUBLIC_PARAMS) { gnutls_assert (); - /* internal error. Increase the bigint_ts in params */ + /* internal error. Increase the mpi_ts in params */ result = GNUTLS_E_INTERNAL_ERROR; goto error; } - if ((result = - _gnutls_x509_read_dsa_pubkey (tmp.data, tmp.size, params)) < 0) + if ((result = _gnutls_x509_read_dsa_pubkey (tmp.data, tmp.size, params)) < 0) { gnutls_assert (); goto error; @@ -272,10 +273,11 @@ /* Now read the parameters */ - _gnutls_free_datum (&tmp); + _gnutls_free_datum( &tmp); - snprintf (name, sizeof (name), "%s.algorithm.parameters", root); - result = _gnutls_x509_read_value (asn, name, &tmp, 0); + result = _gnutls_x509_read_value (cert->cert, + "tbsCertificate.subjectPublicKeyInfo.algorithm.parameters", + &tmp, 0); /* FIXME: If the parameters are not included in the certificate * then the issuer's parameters should be used. This is not @@ -288,8 +290,7 @@ goto error; } - if ((result = - _gnutls_x509_read_dsa_params (tmp.data, tmp.size, params)) < 0) + if ((result = _gnutls_x509_read_dsa_params (tmp.data, tmp.size, params)) < 0) { gnutls_assert (); goto error; @@ -308,46 +309,12 @@ } result = 0; - + error: - _gnutls_free_datum (&tmp); + _gnutls_free_datum( &tmp); return result; } -/* Extracts DSA and RSA parameters from a certificate. - */ -int -_gnutls_x509_crt_get_mpis (gnutls_x509_crt_t cert, - bigint_t * params, int *params_size) -{ - int pk_algorithm; - - /* Read the algorithm's OID - */ - pk_algorithm = gnutls_x509_crt_get_pk_algorithm (cert, NULL); - - return get_mpis (pk_algorithm, cert->cert, - "tbsCertificate.subjectPublicKeyInfo", params, - params_size); -} - -/* Extracts DSA and RSA parameters from a certificate. - */ -int -_gnutls_x509_crq_get_mpis (gnutls_x509_crq_t cert, - bigint_t * params, int *params_size) -{ - int pk_algorithm; - - /* Read the algorithm's OID - */ - pk_algorithm = gnutls_x509_crq_get_pk_algorithm (cert, NULL); - - return get_mpis (pk_algorithm, cert->crq, - "certificationRequestInfo.subjectPKInfo", params, - params_size); -} - /* * some x509 certificate functions that relate to MPI parameter * setting. This writes the BIT STRING subjectPublicKey. @@ -356,7 +323,7 @@ * Allocates the space used to store the DER data. */ int -_gnutls_x509_write_rsa_params (bigint_t * params, int params_size, +_gnutls_x509_write_rsa_params (mpi_t * params, int params_size, gnutls_datum_t * der) { int result; @@ -380,14 +347,14 @@ return _gnutls_asn2err (result); } - result = _gnutls_x509_write_int (spk, "modulus", params[0], 1); + result = _gnutls_x509_write_int (spk, "modulus", params[0], 0); if (result < 0) { gnutls_assert (); goto cleanup; } - result = _gnutls_x509_write_int (spk, "publicExponent", params[1], 1); + result = _gnutls_x509_write_int (spk, "publicExponent", params[1], 0); if (result < 0) { gnutls_assert (); @@ -417,9 +384,10 @@ int _gnutls_x509_write_sig_params (ASN1_TYPE dst, const char *dst_name, gnutls_pk_algorithm_t pk_algorithm, - gnutls_digest_algorithm_t dig, - bigint_t * params, int params_size) + gnutls_digest_algorithm_t dig, mpi_t * params, + int params_size) { + gnutls_datum_t der; int result; char name[128]; const char *pk; @@ -447,15 +415,36 @@ _gnutls_str_cpy (name, sizeof (name), dst_name); _gnutls_str_cat (name, sizeof (name), ".parameters"); - result = asn1_write_value (dst, name, NULL, 0); - - if (result != ASN1_SUCCESS && result != ASN1_ELEMENT_NOT_FOUND) + if (pk_algorithm == GNUTLS_PK_DSA) { - /* Here we ignore the element not found error, since this - * may have been disabled before. - */ - gnutls_assert (); - return _gnutls_asn2err (result); + result = _gnutls_x509_write_dsa_params (params, params_size, &der); + if (result < 0) + { + gnutls_assert (); + return result; + } + + result = asn1_write_value (dst, name, der.data, der.size); + _gnutls_free_datum (&der); + + if (result != ASN1_SUCCESS) + { + gnutls_assert (); + return _gnutls_asn2err (result); + } + } + else + { /* RSA */ + result = asn1_write_value (dst, name, NULL, 0); + + if (result != ASN1_SUCCESS && result != ASN1_ELEMENT_NOT_FOUND) + { + /* Here we ignore the element not found error, since this + * may have been disabled before. + */ + gnutls_assert (); + return _gnutls_asn2err (result); + } } return 0; @@ -468,7 +457,7 @@ * Allocates the space used to store the DER data. */ int -_gnutls_x509_write_dsa_params (bigint_t * params, int params_size, +_gnutls_x509_write_dsa_params (mpi_t * params, int params_size, gnutls_datum_t * der) { int result; @@ -492,21 +481,21 @@ return _gnutls_asn2err (result); } - result = _gnutls_x509_write_int (spk, "p", params[0], 1); + result = _gnutls_x509_write_int (spk, "p", params[0], 0); if (result < 0) { gnutls_assert (); goto cleanup; } - result = _gnutls_x509_write_int (spk, "q", params[1], 1); + result = _gnutls_x509_write_int (spk, "q", params[1], 0); if (result < 0) { gnutls_assert (); goto cleanup; } - result = _gnutls_x509_write_int (spk, "g", params[2], 1); + result = _gnutls_x509_write_int (spk, "g", params[2], 0); if (result < 0) { gnutls_assert (); @@ -534,7 +523,7 @@ * Allocates the space used to store the DER data. */ int -_gnutls_x509_write_dsa_public_key (bigint_t * params, int params_size, +_gnutls_x509_write_dsa_public_key (mpi_t * params, int params_size, gnutls_datum_t * der) { int result; @@ -558,7 +547,7 @@ return _gnutls_asn2err (result); } - result = _gnutls_x509_write_int (spk, "", params[3], 1); + result = _gnutls_x509_write_int (spk, "", params[3], 0); if (result < 0) { gnutls_assert (); diff -Nru gnutls26-2.8.6/lib/x509/output.c gnutls26-2.4.1/lib/x509/output.c --- gnutls26-2.8.6/lib/x509/output.c 2009-08-07 00:07:56.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/output.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2007, 2008 Free Software Foundation * * Author: Simon Josefsson * @@ -29,19 +29,17 @@ #include #include #include -#include #include #include /* I18n of error codes. */ #include "gettext.h" #define _(String) dgettext (PACKAGE, String) +#define N_(String) gettext_noop (String) #define addf _gnutls_string_append_printf #define adds _gnutls_string_append_str -#define ERROR_STR (char*) "(error)" - static void hexdump (gnutls_string * str, const char *data, size_t len, const char *spc) { @@ -93,47 +91,6 @@ addf (str, "."); } -static char * -ip_to_string (void *_ip, int ip_size, char *string, int string_size) -{ - uint8_t *ip; - - if (ip_size != 4 && ip_size != 16) - { - gnutls_assert (); - return NULL; - } - - if (ip_size == 4 && string_size < 16) - { - gnutls_assert (); - return NULL; - } - - if (ip_size == 16 && string_size < 48) - { - gnutls_assert (); - return NULL; - } - - ip = _ip; - switch (ip_size) - { - case 4: - sprintf (string, "%u.%u.%u.%u", ip[0], ip[1], ip[2], ip[3]); - break; - case 16: - sprintf (string, "%x:%x:%x:%x:%x:%x:%x:%x", - (ip[0] << 8) | ip[1], (ip[2] << 8) | ip[3], - (ip[4] << 8) | ip[5], (ip[6] << 8) | ip[7], - (ip[8] << 8) | ip[9], (ip[10] << 8) | ip[11], - (ip[12] << 8) | ip[13], (ip[14] << 8) | ip[15]); - break; - } - - return string; -} - static void print_proxy (gnutls_string * str, gnutls_x509_crt_t cert) { @@ -207,36 +164,14 @@ gnutls_free (buffer); } -#define TYPE_CRL 1 -#define TYPE_CRT 2 -#define TYPE_CRQ 3 - -typedef union -{ - gnutls_x509_crt_t crt; - gnutls_x509_crq_t crq; - gnutls_x509_crl_t crl; -} cert_type_t; - static void -print_aki (gnutls_string * str, int type, cert_type_t cert) +print_aki (gnutls_string * str, gnutls_x509_crt_t cert) { char *buffer = NULL; size_t size = 0; int err; - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_authority_key_id (cert.crt, buffer, &size, NULL); - else if (type == TYPE_CRL) - err = - gnutls_x509_crl_get_authority_key_id (cert.crl, buffer, &size, NULL); - else - { - gnutls_assert (); - return; - } - + err = gnutls_x509_crt_get_authority_key_id (cert, buffer, &size, NULL); if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) { addf (str, "error: get_authority_key_id: %s\n", gnutls_strerror (err)); @@ -250,13 +185,7 @@ return; } - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_authority_key_id (cert.crt, buffer, &size, NULL); - else - err = - gnutls_x509_crl_get_authority_key_id (cert.crl, buffer, &size, NULL); - + err = gnutls_x509_crt_get_authority_key_id (cert, buffer, &size, NULL); if (err < 0) { gnutls_free (buffer); @@ -272,19 +201,12 @@ } static void -print_key_usage (gnutls_string * str, const char *prefix, int type, - cert_type_t cert) +print_key_usage (gnutls_string * str, gnutls_x509_crt_t cert) { unsigned int key_usage; int err; - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_key_usage (cert.crt, &key_usage, NULL); - else if (type == TYPE_CRQ) - err = gnutls_x509_crq_get_key_usage (cert.crq, &key_usage, NULL); - else - return; - + err = gnutls_x509_crt_get_key_usage (cert, &key_usage, NULL); if (err < 0) { addf (str, "error: get_key_usage: %s\n", gnutls_strerror (err)); @@ -292,34 +214,30 @@ } if (key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE) - addf (str, _("%s\t\t\tDigital signature.\n"), prefix); + addf (str, _("\t\t\tDigital signature.\n")); if (key_usage & GNUTLS_KEY_NON_REPUDIATION) - addf (str, _("%s\t\t\tNon repudiation.\n"), prefix); + addf (str, _("\t\t\tNon repudiation.\n")); if (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT) - addf (str, _("%s\t\t\tKey encipherment.\n"), prefix); + addf (str, _("\t\t\tKey encipherment.\n")); if (key_usage & GNUTLS_KEY_DATA_ENCIPHERMENT) - addf (str, _("%s\t\t\tData encipherment.\n"), prefix); + addf (str, _("\t\t\tData encipherment.\n")); if (key_usage & GNUTLS_KEY_KEY_AGREEMENT) - addf (str, _("%s\t\t\tKey agreement.\n"), prefix); + addf (str, _("\t\t\tKey agreement.\n")); if (key_usage & GNUTLS_KEY_KEY_CERT_SIGN) - addf (str, _("%s\t\t\tCertificate signing.\n"), prefix); + addf (str, _("\t\t\tCertificate signing.\n")); if (key_usage & GNUTLS_KEY_CRL_SIGN) - addf (str, _("%s\t\t\tCRL signing.\n"), prefix); + addf (str, _("\t\t\tCRL signing.\n")); if (key_usage & GNUTLS_KEY_ENCIPHER_ONLY) - addf (str, _("%s\t\t\tKey encipher only.\n"), prefix); + addf (str, _("\t\t\tKey encipher only.\n")); if (key_usage & GNUTLS_KEY_DECIPHER_ONLY) - addf (str, _("%s\t\t\tKey decipher only.\n"), prefix); + addf (str, _("\t\t\tKey decipher only.\n")); } -#ifdef ENABLE_PKI - static void print_crldist (gnutls_string * str, gnutls_x509_crt_t cert) { char *buffer = NULL; size_t size; - char str_ip[64]; - char *p; int err; int indx; @@ -354,40 +272,26 @@ return; } - if ((err == GNUTLS_SAN_DNSNAME - || err == GNUTLS_SAN_RFC822NAME - || err == GNUTLS_SAN_URI) && - strlen (buffer) != size) - { - adds (str, _("warning: distributionPoint contains an embedded NUL, " - "replacing with '!'\n")); - while (strlen (buffer) < size) - buffer[strlen (buffer)] = '!'; - } - switch (err) { case GNUTLS_SAN_DNSNAME: - addf (str, "\t\t\tDNSname: %.*s\n", (int) size, buffer); + addf (str, "\t\t\tDNSname: %.*s\n", size, buffer); break; case GNUTLS_SAN_RFC822NAME: - addf (str, "\t\t\tRFC822name: %.*s\n", (int) size, buffer); + addf (str, "\t\t\tRFC822name: %.*s\n", size, buffer); break; case GNUTLS_SAN_URI: - addf (str, "\t\t\tURI: %.*s\n", (int) size, buffer); + addf (str, "\t\t\tURI: %.*s\n", size, buffer); break; case GNUTLS_SAN_IPADDRESS: - p = ip_to_string (buffer, size, str_ip, sizeof (str_ip)); - if (p == NULL) - p = ERROR_STR; - addf (str, "\t\t\tIPAddress: %s\n", p); + addf (str, "\t\t\tIPAddress: %.*s\n", size, buffer); break; case GNUTLS_SAN_DN: - addf (str, "\t\t\tdirectoryName: %.*s\n", (int) size, buffer); + addf (str, "\t\t\tdirectoryName: %.*s\n", size, buffer); break; default: @@ -399,8 +303,7 @@ } static void -print_key_purpose (gnutls_string * str, const char *prefix, int type, - cert_type_t cert) +print_key_purpose (gnutls_string * str, gnutls_x509_crt_t cert) { int indx; char *buffer = NULL; @@ -410,15 +313,8 @@ for (indx = 0;; indx++) { size = 0; - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_key_purpose_oid (cert.crt, indx, buffer, - &size, NULL); - else if (type == TYPE_CRQ) - err = gnutls_x509_crq_get_key_purpose_oid (cert.crq, indx, buffer, - &size, NULL); - else - return; - + err = gnutls_x509_crt_get_key_purpose_oid (cert, indx, buffer, + &size, NULL); if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) return; if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) @@ -435,13 +331,8 @@ return; } - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_key_purpose_oid (cert.crt, indx, buffer, - &size, NULL); - else - err = gnutls_x509_crq_get_key_purpose_oid (cert.crq, indx, buffer, - &size, NULL); - + err = gnutls_x509_crt_get_key_purpose_oid (cert, indx, buffer, + &size, NULL); if (err < 0) { gnutls_free (buffer); @@ -451,44 +342,33 @@ } if (strcmp (buffer, GNUTLS_KP_TLS_WWW_SERVER) == 0) - addf (str, _("%s\t\t\tTLS WWW Server.\n"), prefix); + addf (str, _("\t\t\tTLS WWW Server.\n")); else if (strcmp (buffer, GNUTLS_KP_TLS_WWW_CLIENT) == 0) - addf (str, _("%s\t\t\tTLS WWW Client.\n"), prefix); + addf (str, _("\t\t\tTLS WWW Client.\n")); else if (strcmp (buffer, GNUTLS_KP_CODE_SIGNING) == 0) - addf (str, _("%s\t\t\tCode signing.\n"), prefix); + addf (str, _("\t\t\tCode signing.\n")); else if (strcmp (buffer, GNUTLS_KP_EMAIL_PROTECTION) == 0) - addf (str, _("%s\t\t\tEmail protection.\n"), prefix); + addf (str, _("\t\t\tEmail protection.\n")); else if (strcmp (buffer, GNUTLS_KP_TIME_STAMPING) == 0) - addf (str, _("%s\t\t\tTime stamping.\n"), prefix); + addf (str, _("\t\t\tTime stamping.\n")); else if (strcmp (buffer, GNUTLS_KP_OCSP_SIGNING) == 0) - addf (str, _("%s\t\t\tOCSP signing.\n"), prefix); + addf (str, _("\t\t\tOCSP signing.\n")); else if (strcmp (buffer, GNUTLS_KP_ANY) == 0) - addf (str, _("%s\t\t\tAny purpose.\n"), prefix); + addf (str, _("\t\t\tAny purpose.\n")); else - addf (str, "%s\t\t\t%s\n", prefix, buffer); + addf (str, "\t\t\t%s\n", buffer); gnutls_free (buffer); } } -#endif - static void -print_basic (gnutls_string * str, const char *prefix, int type, - cert_type_t cert) +print_basic (gnutls_string * str, gnutls_x509_crt_t cert) { int pathlen; int err; - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_basic_constraints (cert.crt, NULL, NULL, &pathlen); - else if (type == TYPE_CRQ) - err = - gnutls_x509_crq_get_basic_constraints (cert.crq, NULL, NULL, &pathlen); - else - return; - + err = gnutls_x509_crt_get_basic_constraints (cert, NULL, NULL, &pathlen); if (err < 0) { addf (str, "error: get_basic_constraints: %s\n", gnutls_strerror (err)); @@ -496,22 +376,18 @@ } if (err == 0) - addf (str, _("%s\t\t\tCertificate Authority (CA): FALSE\n"), prefix); + addf (str, _("\t\t\tCertificate Authority (CA): FALSE\n")); else - addf (str, _("%s\t\t\tCertificate Authority (CA): TRUE\n"), prefix); + addf (str, _("\t\t\tCertificate Authority (CA): TRUE\n")); if (pathlen >= 0) - addf (str, _("%s\t\t\tPath Length Constraint: %d\n"), prefix, pathlen); + addf (str, _("\t\t\tPath Length Constraint: %d\n"), pathlen); } - static void -print_san (gnutls_string * str, const char *prefix, int type, - cert_type_t cert) +print_san (gnutls_string * str, gnutls_x509_crt_t cert) { unsigned int san_idx; - char str_ip[64]; - char *p; for (san_idx = 0;; san_idx++) { @@ -519,17 +395,8 @@ size_t size = 0; int err; - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_subject_alt_name (cert.crt, san_idx, buffer, - &size, NULL); - else if (type == TYPE_CRQ) - err = - gnutls_x509_crq_get_subject_alt_name (cert.crq, san_idx, buffer, - &size, NULL, NULL); - else - return; - + err = gnutls_x509_crt_get_subject_alt_name (cert, san_idx, buffer, &size, + NULL); if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) break; if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) @@ -546,15 +413,8 @@ return; } - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_subject_alt_name (cert.crt, san_idx, buffer, - &size, NULL); - else if (type == TYPE_CRQ) - err = - gnutls_x509_crq_get_subject_alt_name (cert.crq, san_idx, buffer, - &size, NULL, NULL); - + err = gnutls_x509_crt_get_subject_alt_name (cert, san_idx, + buffer, &size, NULL); if (err < 0) { gnutls_free (buffer); @@ -563,41 +423,26 @@ return; } - if ((err == GNUTLS_SAN_DNSNAME - || err == GNUTLS_SAN_RFC822NAME - || err == GNUTLS_SAN_URI) && - strlen (buffer) != size) - { - adds (str, _("warning: SAN contains an embedded NUL, " - "replacing with '!'\n")); - while (strlen (buffer) < size) - buffer[strlen (buffer)] = '!'; - } - switch (err) { case GNUTLS_SAN_DNSNAME: - addf (str, "%s\t\t\tDNSname: %.*s\n", prefix, (int) size, buffer); + addf (str, "\t\t\tDNSname: %.*s\n", size, buffer); break; case GNUTLS_SAN_RFC822NAME: - addf (str, "%s\t\t\tRFC822name: %.*s\n", prefix, (int) size, buffer); + addf (str, "\t\t\tRFC822name: %.*s\n", size, buffer); break; case GNUTLS_SAN_URI: - addf (str, "%s\t\t\tURI: %.*s\n", prefix, (int) size, buffer); + addf (str, "\t\t\tURI: %.*s\n", size, buffer); break; case GNUTLS_SAN_IPADDRESS: - p = ip_to_string (buffer, size, str_ip, sizeof (str_ip)); - if (p == NULL) - p = ERROR_STR; - addf (str, "%s\t\t\tIPAddress: %s\n", prefix, p); + addf (str, "\t\t\tIPAddress: %.*s\n", size, buffer); break; case GNUTLS_SAN_DN: - addf (str, "%s\t\t\tdirectoryName: %.*s\n", prefix, - (int) size, buffer); + addf (str, "\t\t\tdirectoryName: %.*s\n", size, buffer); break; case GNUTLS_SAN_OTHERNAME: @@ -606,13 +451,8 @@ size_t oidsize; oidsize = 0; - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_subject_alt_othername_oid - (cert.crt, san_idx, oid, &oidsize); - else if (type == TYPE_CRQ) - err = gnutls_x509_crq_get_subject_alt_othername_oid - (cert.crq, san_idx, oid, &oidsize); - + err = gnutls_x509_crt_get_subject_alt_othername_oid + (cert, san_idx, oid, &oidsize); if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) { gnutls_free (buffer); @@ -629,12 +469,8 @@ return; } - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_subject_alt_othername_oid - (cert.crt, san_idx, oid, &oidsize); - else if (type == TYPE_CRQ) - err = gnutls_x509_crq_get_subject_alt_othername_oid - (cert.crq, san_idx, oid, &oidsize); + err = gnutls_x509_crt_get_subject_alt_othername_oid + (cert, san_idx, oid, &oidsize); if (err < 0) { gnutls_free (buffer); @@ -645,25 +481,13 @@ } if (err == GNUTLS_SAN_OTHERNAME_XMPP) - { - if (strlen (buffer) != size) - { - adds (str, _("warning: SAN contains an embedded NUL, " - "replacing with '!'\n")); - while (strlen (buffer) < size) - buffer[strlen (buffer)] = '!'; - } - - addf (str, _("%s\t\t\tXMPP Address: %.*s\n"), prefix, - (int) size, buffer); - } + addf (str, _("\t\t\tXMPP Address: %.*s\n"), size, buffer); else { - addf (str, _("%s\t\t\totherName OID: %.*s\n"), prefix, - (int) oidsize, oid); - addf (str, _("%s\t\t\totherName DER: "), prefix); + addf (str, _("\t\t\totherName OID: %.*s\n"), oidsize, oid); + addf (str, _("\t\t\totherName DER: ")); hexprint (str, buffer, size); - addf (str, _("\n%s\t\t\totherName ASCII: "), prefix); + addf (str, _("\n\t\t\totherName ASCII: ")); asciiprint (str, buffer, size); addf (str, "\n"); } @@ -681,246 +505,6 @@ } static void -print_extensions (gnutls_string * str, const char *prefix, int type, - cert_type_t cert) -{ - int i, err; - - for (i = 0;; i++) - { - char oid[MAX_OID_SIZE] = ""; - size_t sizeof_oid = sizeof (oid); - int critical; - size_t san_idx = 0; - size_t proxy_idx = 0; - size_t basic_idx = 0; - size_t keyusage_idx = 0; - size_t keypurpose_idx = 0; - size_t ski_idx = 0; - size_t aki_idx = 0; - size_t crldist_idx = 0; - - if (type == TYPE_CRT) - err = gnutls_x509_crt_get_extension_info (cert.crt, i, - oid, &sizeof_oid, - &critical); - - else if (type == TYPE_CRQ) - err = gnutls_x509_crq_get_extension_info (cert.crq, i, - oid, &sizeof_oid, - &critical); - else - { - gnutls_assert (); - return; - } - - if (err < 0) - { - if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - addf (str, "error: get_extension_info: %s\n", - gnutls_strerror (err)); - continue; - } - - if (i == 0) - addf (str, _("%s\tExtensions:\n"), prefix); - - if (strcmp (oid, "2.5.29.19") == 0) - { - if (basic_idx) - { - addf (str, "error: more than one basic constraint\n"); - continue; - } - - addf (str, _("%s\t\tBasic Constraints (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - print_basic (str, prefix, type, cert); - - basic_idx++; - } - else if (strcmp (oid, "2.5.29.14") == 0) - { - if (ski_idx) - { - addf (str, "error: more than one SKI extension\n"); - continue; - } - - addf (str, _("%s\t\tSubject Key Identifier (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - if (type == TYPE_CRT) - print_ski (str, cert.crt); - - ski_idx++; - } - else if (strcmp (oid, "2.5.29.35") == 0) - { - - if (aki_idx) - { - addf (str, "error: more than one AKI extension\n"); - continue; - } - - addf (str, _("%s\t\tAuthority Key Identifier (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - if (type == TYPE_CRT) - print_aki (str, TYPE_CRT, cert); - - aki_idx++; - } - else if (strcmp (oid, "2.5.29.15") == 0) - { - if (keyusage_idx) - { - addf (str, "error: more than one key usage extension\n"); - continue; - } - - addf (str, _("%s\t\tKey Usage (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - print_key_usage (str, prefix, type, cert); - - keyusage_idx++; - } - else if (strcmp (oid, "2.5.29.37") == 0) - { - if (keypurpose_idx) - { - addf (str, "error: more than one key purpose extension\n"); - continue; - } - - addf (str, _("%s\t\tKey Purpose (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - -#ifdef ENABLE_PKI - print_key_purpose (str, prefix, type, cert); -#endif - - keypurpose_idx++; - } - else if (strcmp (oid, "2.5.29.17") == 0) - { - if (san_idx) - { - addf (str, "error: more than one SKI extension\n"); - continue; - } - - addf (str, _("%s\t\tSubject Alternative Name (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - print_san (str, prefix, type, cert); - - san_idx++; - } - else if (strcmp (oid, "2.5.29.31") == 0) - { - if (crldist_idx) - { - addf (str, "error: more than one CRL distribution point\n"); - continue; - } - - addf (str, _("%s\t\tCRL Distribution points (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - -#ifdef ENABLE_PKI - if (type == TYPE_CRT) - print_crldist (str, cert.crt); -#endif - - crldist_idx++; - } - else if (strcmp (oid, "1.3.6.1.5.5.7.1.14") == 0) - { - if (proxy_idx) - { - addf (str, "error: more than one proxy extension\n"); - continue; - } - - addf (str, _("%s\t\tProxy Certificate Information (%s):\n"), prefix, - critical ? _("critical") : _("not critical")); - - if (type == TYPE_CRT) - print_proxy (str, cert.crt); - - proxy_idx++; - } - else - { - char *buffer; - size_t extlen = 0; - - addf (str, _("%s\t\tUnknown extension %s (%s):\n"), prefix, oid, - critical ? _("critical") : _("not critical")); - - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_extension_data (cert.crt, i, NULL, &extlen); - else if (type == TYPE_CRQ) - err = - gnutls_x509_crq_get_extension_data (cert.crq, i, NULL, &extlen); - else - { - gnutls_assert (); - return; - } - - if (err < 0) - { - addf (str, "error: get_extension_data: %s\n", - gnutls_strerror (err)); - continue; - } - - buffer = gnutls_malloc (extlen); - if (!buffer) - { - addf (str, "error: malloc: %s\n", gnutls_strerror (err)); - continue; - } - - if (type == TYPE_CRT) - err = - gnutls_x509_crt_get_extension_data (cert.crt, i, buffer, - &extlen); - else if (type == TYPE_CRQ) - err = - gnutls_x509_crq_get_extension_data (cert.crq, i, buffer, - &extlen); - - if (err < 0) - { - gnutls_free (buffer); - addf (str, "error: get_extension_data2: %s\n", - gnutls_strerror (err)); - continue; - } - - addf (str, _("%s\t\t\tASCII: "), prefix); - asciiprint (str, buffer, extlen); - addf (str, "\n"); - - addf (str, _("%s\t\t\tHexdump: "), prefix); - hexprint (str, buffer, extlen); - adds (str, "\n"); - - gnutls_free (buffer); - } - } -} - -static void print_cert (gnutls_string * str, gnutls_x509_crt_t cert, int notsigned) { /* Version. */ @@ -943,9 +527,9 @@ addf (str, "error: get_serial: %s\n", gnutls_strerror (err)); else { - adds (str, _("\tSerial Number (hex): ")); + addf (str, _("\tSerial Number (hex): ")); hexprint (str, serial, serial_size); - adds (str, "\n"); + addf (str, "\n"); } } @@ -967,7 +551,7 @@ { time_t tim; - adds (str, _("\tValidity:\n")); + addf (str, _("\tValidity:\n")); tim = gnutls_x509_crt_get_activation_time (cert); { @@ -976,9 +560,9 @@ struct tm t; if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); + addf (str, "error: gmtime_r (%d)\n", t); else if (strftime (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + addf (str, "error: strftime (%d)\n", t); else addf (str, _("\t\tNot Before: %s\n"), s); } @@ -990,9 +574,9 @@ struct tm t; if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); + addf (str, "error: gmtime_r (%d)\n", t); else if (strftime (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + addf (str, "error: strftime (%d)\n", t); else addf (str, _("\t\tNot After: %s\n"), s); } @@ -1026,7 +610,6 @@ name = _("unknown"); addf (str, _("\tSubject Public Key Algorithm: %s\n"), name); -#ifdef ENABLE_PKI switch (err) { case GNUTLS_PK_RSA: @@ -1041,13 +624,12 @@ { addf (str, _("\t\tModulus (bits %d):\n"), bits); hexdump (str, m.data, m.size, "\t\t\t"); - addf (str, _("\t\tExponent (bits %d):\n"), e.size * 8); + addf (str, _("\t\tExponent:\n")); hexdump (str, e.data, e.size, "\t\t\t"); - - gnutls_free (m.data); - gnutls_free (e.data); } + gnutls_free (m.data); + gnutls_free (e.data); } break; @@ -1063,18 +645,12 @@ { addf (str, _("\t\tPublic key (bits %d):\n"), bits); hexdump (str, y.data, y.size, "\t\t\t"); - adds (str, _("\t\tP:\n")); + addf (str, _("\t\tP:\n")); hexdump (str, p.data, p.size, "\t\t\t"); - adds (str, _("\t\tQ:\n")); + addf (str, _("\t\tQ:\n")); hexdump (str, q.data, q.size, "\t\t\t"); - adds (str, _("\t\tG:\n")); + addf (str, _("\t\tG:\n")); hexdump (str, g.data, g.size, "\t\t\t"); - - gnutls_free (p.data); - gnutls_free (q.data); - gnutls_free (g.data); - gnutls_free (y.data); - } } break; @@ -1082,91 +658,282 @@ default: break; } -#endif } } /* Extensions. */ if (gnutls_x509_crt_get_version (cert) >= 3) { - cert_type_t ccert; + size_t i; + int err = 0; - ccert.crt = cert; - print_extensions (str, "", TYPE_CRT, ccert); - } + for (i = 0;; i++) + { + char oid[128] = ""; + size_t sizeof_oid = sizeof (oid); + int critical; + size_t san_idx = 0; + size_t proxy_idx = 0; + size_t basic_idx = 0; + size_t keyusage_idx = 0; + size_t keypurpose_idx = 0; + size_t ski_idx = 0; + size_t aki_idx = 0; + size_t crldist_idx = 0; - /* Signature. */ - if (!notsigned) - { - int err; - size_t size = 0; - char *buffer = NULL; + err = gnutls_x509_crt_get_extension_info (cert, i, + oid, &sizeof_oid, + &critical); + if (err < 0) + { + if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; + addf (str, "error: get_extension_info: %s\n", + gnutls_strerror (err)); + continue; + } - err = gnutls_x509_crt_get_signature_algorithm (cert); - if (err < 0) - addf (str, "error: get_signature_algorithm: %s\n", - gnutls_strerror (err)); - else - { - const char *name = gnutls_sign_algorithm_get_name (err); - if (name == NULL) - name = _("unknown"); - addf (str, _("\tSignature Algorithm: %s\n"), name); - } - if (err == GNUTLS_SIGN_RSA_MD5 || err == GNUTLS_SIGN_RSA_MD2) - { - adds (str, _("warning: signed using a broken signature " - "algorithm that can be forged.\n")); - } + if (i == 0) + addf (str, _("\tExtensions:\n")); - err = gnutls_x509_crt_get_signature (cert, buffer, &size); - if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) - { - addf (str, "error: get_signature: %s\n", gnutls_strerror (err)); - return; - } + if (strcmp (oid, "2.5.29.19") == 0) + { + if (basic_idx) + { + addf (str, "error: more than one basic constraint\n"); + continue; + } - buffer = gnutls_malloc (size); - if (!buffer) - { - addf (str, "error: malloc: %s\n", gnutls_strerror (err)); - return; - } + addf (str, _("\t\tBasic Constraints (%s):\n"), + critical ? _("critical") : _("not critical")); - err = gnutls_x509_crt_get_signature (cert, buffer, &size); - if (err < 0) - { - gnutls_free (buffer); - addf (str, "error: get_signature2: %s\n", gnutls_strerror (err)); - return; - } + print_basic (str, cert); - adds (str, _("\tSignature:\n")); - hexdump (str, buffer, size, "\t\t"); + basic_idx++; + } + else if (strcmp (oid, "2.5.29.14") == 0) + { + if (ski_idx) + { + addf (str, "error: more than one SKI extension\n"); + continue; + } - gnutls_free (buffer); - } -} + addf (str, _("\t\tSubject Key Identifier (%s):\n"), + critical ? _("critical") : _("not critical")); -static void -print_fingerprint (gnutls_string * str, gnutls_x509_crt_t cert, - gnutls_digest_algorithm_t algo) -{ - int err; - char buffer[MAX_HASH_SIZE]; - size_t size = sizeof (buffer); + print_ski (str, cert); - err = gnutls_x509_crt_get_fingerprint (cert, algo, buffer, &size); - if (err < 0) - { + ski_idx++; + } + else if (strcmp (oid, "2.5.29.35") == 0) + { + if (aki_idx) + { + addf (str, "error: more than one AKI extension\n"); + continue; + } + + addf (str, _("\t\tAuthority Key Identifier (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_aki (str, cert); + + aki_idx++; + } + else if (strcmp (oid, "2.5.29.15") == 0) + { + if (keyusage_idx) + { + addf (str, "error: more than one key usage extension\n"); + continue; + } + + addf (str, _("\t\tKey Usage (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_key_usage (str, cert); + + keyusage_idx++; + } + else if (strcmp (oid, "2.5.29.37") == 0) + { + if (keypurpose_idx) + { + addf (str, "error: more than one key purpose extension\n"); + continue; + } + + addf (str, _("\t\tKey Purpose (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_key_purpose (str, cert); + + keypurpose_idx++; + } + else if (strcmp (oid, "2.5.29.17") == 0) + { + if (san_idx) + { + addf (str, "error: more than one SKI extension\n"); + continue; + } + + addf (str, _("\t\tSubject Alternative Name (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_san (str, cert); + + san_idx++; + } + else if (strcmp (oid, "2.5.29.31") == 0) + { + if (crldist_idx) + { + addf (str, "error: more than one CRL distribution point\n"); + continue; + } + + addf (str, _("\t\tCRL Distribution points (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_crldist (str, cert); + + crldist_idx++; + } + else if (strcmp (oid, "1.3.6.1.5.5.7.1.14") == 0) + { + if (proxy_idx) + { + addf (str, "error: more than one proxy extension\n"); + continue; + } + + addf (str, _("\t\tProxy Certificate Information (%s):\n"), + critical ? _("critical") : _("not critical")); + + print_proxy (str, cert); + + proxy_idx++; + } + else + { + char *buffer; + size_t extlen = 0; + + addf (str, _("\t\tUnknown extension %s (%s):\n"), oid, + critical ? _("critical") : _("not critical")); + + err = gnutls_x509_crt_get_extension_data (cert, i, + NULL, &extlen); + if (err < 0) + { + addf (str, "error: get_extension_data: %s\n", + gnutls_strerror (err)); + continue; + } + + buffer = gnutls_malloc (extlen); + if (!buffer) + { + addf (str, "error: malloc: %s\n", gnutls_strerror (err)); + continue; + } + + err = gnutls_x509_crt_get_extension_data (cert, i, + buffer, &extlen); + if (err < 0) + { + gnutls_free (buffer); + addf (str, "error: get_extension_data2: %s\n", + gnutls_strerror (err)); + continue; + } + + addf (str, _("\t\t\tASCII: ")); + asciiprint (str, buffer, extlen); + addf (str, "\n"); + + addf (str, _("\t\t\tHexdump: ")); + hexprint (str, buffer, extlen); + adds (str, "\n"); + + gnutls_free (buffer); + } + } + } + + /* Signature. */ + if (!notsigned) + { + int err; + size_t size = 0; + char *buffer = NULL; + + err = gnutls_x509_crt_get_signature_algorithm (cert); + if (err < 0) + addf (str, "error: get_signature_algorithm: %s\n", + gnutls_strerror (err)); + else + { + const char *name = gnutls_sign_algorithm_get_name (err); + if (name == NULL) + name = _("unknown"); + addf (str, _("\tSignature Algorithm: %s\n"), name); + } + if (err == GNUTLS_SIGN_RSA_MD5 || err == GNUTLS_SIGN_RSA_MD2) + { + addf (str, _("warning: signed using a broken signature algorithm that can be forged.\n")); + } + + err = gnutls_x509_crt_get_signature (cert, buffer, &size); + if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) + { + addf (str, "error: get_signature: %s\n", gnutls_strerror (err)); + return; + } + + buffer = gnutls_malloc (size); + if (!buffer) + { + addf (str, "error: malloc: %s\n", gnutls_strerror (err)); + return; + } + + err = gnutls_x509_crt_get_signature (cert, buffer, &size); + if (err < 0) + { + gnutls_free (buffer); + addf (str, "error: get_signature2: %s\n", gnutls_strerror (err)); + return; + } + + addf (str, _("\tSignature:\n")); + hexdump (str, buffer, size, "\t\t"); + + gnutls_free (buffer); + } +} + +static void +print_fingerprint (gnutls_string * str, gnutls_x509_crt_t cert, + gnutls_digest_algorithm_t algo) +{ + int err; + char buffer[MAX_HASH_SIZE]; + size_t size = sizeof(buffer); + + err = gnutls_x509_crt_get_fingerprint (cert, algo, buffer, &size); + if (err < 0) + { addf (str, "error: get_fingerprint: %s\n", gnutls_strerror (err)); return; } if (algo == GNUTLS_DIG_MD5) - adds (str, _("\tMD5 fingerprint:\n\t\t")); + addf (str, _("\tMD5 fingerprint:\n\t\t")); else - adds (str, _("\tSHA-1 fingerprint:\n\t\t")); + addf (str, _("\tSHA-1 fingerprint:\n\t\t")); hexprint (str, buffer, size); adds (str, "\n"); } @@ -1175,19 +942,36 @@ print_keyid (gnutls_string * str, gnutls_x509_crt_t cert) { int err; - char buffer[20]; - size_t size = 20; + size_t size = 0; + char *buffer = NULL; err = gnutls_x509_crt_get_key_id (cert, 0, buffer, &size); - if (err < 0) + if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) { addf (str, "error: get_key_id: %s\n", gnutls_strerror (err)); return; } - adds (str, _("\tPublic Key Id:\n\t\t")); + buffer = gnutls_malloc (size); + if (!buffer) + { + addf (str, "error: malloc: %s\n", gnutls_strerror (err)); + return; + } + + err = gnutls_x509_crt_get_key_id (cert, 0, buffer, &size); + if (err < 0) + { + gnutls_free (buffer); + addf (str, "error: get_key_id2: %s\n", gnutls_strerror (err)); + return; + } + + addf (str, _("\tPublic Key Id:\n\t\t")); hexprint (str, buffer, size); adds (str, "\n"); + + gnutls_free (buffer); } static void @@ -1231,7 +1015,6 @@ addf (str, "issuer `%s', ", dn); } - /* Key algorithm and size. */ { int bits; const char *name = gnutls_pk_algorithm_get_name @@ -1241,26 +1024,6 @@ addf (str, "%s key %d bits, ", name, bits); } - /* Signature Algorithm. */ - { - int err; - - err = gnutls_x509_crt_get_signature_algorithm (cert); - if (err < 0) - addf (str, "unknown signature algorithm (%s), ", - gnutls_strerror (err)); - else - { - const char *name = gnutls_sign_algorithm_get_name (err); - if (name == NULL) - name = _("unknown"); - if (err == GNUTLS_SIGN_RSA_MD5 || err == GNUTLS_SIGN_RSA_MD2) - addf (str, _("signed using %s (broken!), "), name); - else - addf (str, _("signed using %s, "), name); - } - } - /* Validity. */ { time_t tim; @@ -1272,9 +1035,9 @@ struct tm t; if (gmtime_r (&tim, &t) == NULL) - addf (str, "unknown activation (%ld), ", (unsigned long) tim); + addf (str, "unknown activation (%d), ", t); else if (strftime (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0) - addf (str, "failed activation (%ld), ", (unsigned long) tim); + addf (str, "failed activation (%d), ", t); else addf (str, "activated `%s', ", s); } @@ -1286,9 +1049,9 @@ struct tm t; if (gmtime_r (&tim, &t) == NULL) - addf (str, "unknown expiry (%ld), ", (unsigned long) tim); + addf (str, "unknown expiry (%d), ", t); else if (strftime (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0) - addf (str, "failed expiry (%ld), ", (unsigned long) tim); + addf (str, "failed expiry (%d), ", t); else addf (str, "expires `%s', ", s); } @@ -1300,7 +1063,8 @@ int err; err = gnutls_x509_crt_get_proxy (cert, NULL, - &pathlen, &policyLanguage, NULL, NULL); + &pathlen, &policyLanguage, + NULL, NULL); if (err == 0) { addf (str, "proxy certificate (policy="); @@ -1361,7 +1125,7 @@ int gnutls_x509_crt_print (gnutls_x509_crt_t cert, gnutls_certificate_print_formats_t format, - gnutls_datum_t * out) + gnutls_datum_t *out) { gnutls_string str; @@ -1401,16 +1165,16 @@ return 0; } -#ifdef ENABLE_PKI - static void -print_crl (gnutls_string * str, gnutls_x509_crl_t crl, int notsigned) +print_crl (gnutls_string *str, + gnutls_x509_crl_t crl, + int notsigned) { /* Version. */ { int version = gnutls_x509_crl_get_version (crl); if (version == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) - adds (str, _("\tVersion: 1 (default)\n")); + addf (str, _("\tVersion: 1 (default)\n")); else if (version < 0) addf (str, "error: get_version: %s\n", gnutls_strerror (version)); else @@ -1435,7 +1199,7 @@ { time_t tim; - adds (str, _("\tUpdate dates:\n")); + addf (str, _("\tUpdate dates:\n")); tim = gnutls_x509_crl_get_this_update (crl); { @@ -1444,9 +1208,9 @@ struct tm t; if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); + addf (str, "error: gmtime_r (%d)\n", t); else if (strftime (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + addf (str, "error: strftime (%d)\n", t); else addf (str, _("\t\tIssued: %s\n"), s); } @@ -1460,135 +1224,14 @@ if (tim == -1) addf (str, "\t\tNo next update time.\n"); else if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); + addf (str, "error: gmtime_r (%d)\n", t); else if (strftime (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + addf (str, "error: strftime (%d)\n", t); else addf (str, _("\t\tNext at: %s\n"), s); } } - /* Extensions. */ - if (gnutls_x509_crl_get_version (crl) >= 2) - { - size_t i; - int err = 0; - - for (i = 0;; i++) - { - char oid[MAX_OID_SIZE] = ""; - size_t sizeof_oid = sizeof (oid); - int critical; - int crl_nr = 0; - int aki_idx = 0; - - err = gnutls_x509_crl_get_extension_info (crl, i, - oid, &sizeof_oid, - &critical); - if (err < 0) - { - if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - addf (str, "error: get_extension_info: %s\n", - gnutls_strerror (err)); - continue; - } - - if (i == 0) - adds (str, _("\tExtensions:\n")); - - if (strcmp (oid, "2.5.29.20") == 0) - { - char nr[128]; - size_t nr_size = sizeof (nr); - - if (crl_nr) - { - addf (str, "error: more than one CRL number\n"); - continue; - } - - err = gnutls_x509_crl_get_number (crl, nr, &nr_size, &critical); - - addf (str, _("\t\tCRL Number (%s): "), - critical ? _("critical") : _("not critical")); - - if (err < 0) - addf (str, "error: get_number: %s\n", gnutls_strerror (err)); - else - { - hexprint (str, nr, nr_size); - addf (str, "\n"); - } - - crl_nr++; - } - else if (strcmp (oid, "2.5.29.35") == 0) - { - cert_type_t ccert; - - if (aki_idx) - { - addf (str, "error: more than one AKI extension\n"); - continue; - } - - addf (str, _("\t\tAuthority Key Identifier (%s):\n"), - critical ? _("critical") : _("not critical")); - - ccert.crl = crl; - print_aki (str, TYPE_CRL, ccert); - - aki_idx++; - } - else - { - char *buffer; - size_t extlen = 0; - - addf (str, _("\t\tUnknown extension %s (%s):\n"), oid, - critical ? _("critical") : _("not critical")); - - err = gnutls_x509_crl_get_extension_data (crl, i, - NULL, &extlen); - if (err < 0) - { - addf (str, "error: get_extension_data: %s\n", - gnutls_strerror (err)); - continue; - } - - buffer = gnutls_malloc (extlen); - if (!buffer) - { - addf (str, "error: malloc: %s\n", gnutls_strerror (err)); - continue; - } - - err = gnutls_x509_crl_get_extension_data (crl, i, - buffer, &extlen); - if (err < 0) - { - gnutls_free (buffer); - addf (str, "error: get_extension_data2: %s\n", - gnutls_strerror (err)); - continue; - } - - adds (str, _("\t\t\tASCII: ")); - asciiprint (str, buffer, extlen); - adds (str, "\n"); - - adds (str, _("\t\t\tHexdump: ")); - hexprint (str, buffer, extlen); - adds (str, "\n"); - - gnutls_free (buffer); - } - } - } - - /* Revoked certificates. */ { int num = gnutls_x509_crl_get_crt_count (crl); @@ -1597,7 +1240,7 @@ if (num) addf (str, _("\tRevoked certificates (%d):\n"), num); else - adds (str, _("\tNo revoked certificates.\n")); + addf (str, _("\tNo revoked certificates.\n")); for (j = 0; j < num; j++) { @@ -1616,14 +1259,14 @@ size_t max = sizeof (s); struct tm t; - adds (str, _("\t\tSerial Number (hex): ")); + addf (str, _("\t\tSerial Number (hex): ")); hexprint (str, serial, serial_size); adds (str, "\n"); if (gmtime_r (&tim, &t) == NULL) - addf (str, "error: gmtime_r (%ld)\n", (unsigned long) tim); + addf (str, "error: gmtime_r (%d)\n", t); else if (strftime (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0) - addf (str, "error: strftime (%ld)\n", (unsigned long) tim); + addf (str, "error: strftime (%d)\n", t); else addf (str, _("\t\tRevoked at: %s\n"), s); } @@ -1650,8 +1293,7 @@ } if (err == GNUTLS_SIGN_RSA_MD5 || err == GNUTLS_SIGN_RSA_MD2) { - adds (str, _("warning: signed using a broken signature " - "algorithm that can be forged.\n")); + addf (str, _("warning: signed using a broken signature algorithm that can be forged.\n")); } err = gnutls_x509_crl_get_signature (crl, buffer, &size); @@ -1676,7 +1318,7 @@ return; } - adds (str, _("\tSignature:\n")); + addf (str, _("\tSignature:\n")); hexdump (str, buffer, size, "\t\t"); gnutls_free (buffer); @@ -1700,7 +1342,7 @@ int gnutls_x509_crl_print (gnutls_x509_crl_t crl, gnutls_certificate_print_formats_t format, - gnutls_datum_t * out) + gnutls_datum_t *out) { gnutls_string str; @@ -1717,288 +1359,3 @@ return 0; } - -static void -print_crq (gnutls_string * str, gnutls_x509_crq_t cert) -{ - /* Version. */ - { - int version = gnutls_x509_crq_get_version (cert); - if (version < 0) - addf (str, "error: get_version: %s\n", gnutls_strerror (version)); - else - addf (str, _("\tVersion: %d\n"), version); - } - - /* Subject */ - { - char dn[1024]; - size_t dn_size = sizeof (dn); - int err; - - err = gnutls_x509_crq_get_dn (cert, dn, &dn_size); - if (err < 0) - addf (str, "error: get_dn: %s\n", gnutls_strerror (err)); - else - addf (str, _("\tSubject: %s\n"), dn); - } - - /* SubjectPublicKeyInfo. */ - { - int err; - unsigned int bits; - - err = gnutls_x509_crq_get_pk_algorithm (cert, &bits); - if (err < 0) - addf (str, "error: get_pk_algorithm: %s\n", gnutls_strerror (err)); - else - { - const char *name = gnutls_pk_algorithm_get_name (err); - if (name == NULL) - name = _("unknown"); - - addf (str, _("\tSubject Public Key Algorithm: %s\n"), name); - switch (err) - { - case GNUTLS_PK_RSA: - { - gnutls_datum_t m, e; - - err = gnutls_x509_crq_get_key_rsa_raw (cert, &m, &e); - if (err < 0) - addf (str, "error: get_pk_rsa_raw: %s\n", - gnutls_strerror (err)); - else - { - addf (str, _("\t\tModulus (bits %d):\n"), bits); - hexdump (str, m.data, m.size, "\t\t\t"); - adds (str, _("\t\tExponent:\n")); - hexdump (str, e.data, e.size, "\t\t\t"); - - gnutls_free (m.data); - gnutls_free (e.data); - } - - } - break; -#if 0 /* not implemented yet */ - case GNUTLS_PK_DSA: - { - gnutls_datum_t p, q, g, y; - - err = gnutls_x509_crq_get_key_dsa_raw (cert, &p, &q, &g, &y); - if (err < 0) - addf (str, "error: get_pk_dsa_raw: %s\n", - gnutls_strerror (err)); - else - { - addf (str, _("\t\tPublic key (bits %d):\n"), bits); - hexdump (str, y.data, y.size, "\t\t\t"); - addf (str, _("\t\tP:\n")); - hexdump (str, p.data, p.size, "\t\t\t"); - addf (str, _("\t\tQ:\n")); - hexdump (str, q.data, q.size, "\t\t\t"); - addf (str, _("\t\tG:\n")); - hexdump (str, g.data, g.size, "\t\t\t"); - - gnutls_free (p.data); - gnutls_free (q.data); - gnutls_free (g.data); - gnutls_free (y.data); - - } - } - break; -#endif - default: - break; - } - } - } - - /* parse attributes */ - { - size_t i; - int err = 0; - - for (i = 0;; i++) - { - char oid[MAX_OID_SIZE] = ""; - size_t sizeof_oid = sizeof (oid); - int extensions = 0; - int challenge = 0; - - err = gnutls_x509_crq_get_attribute_info (cert, i, oid, &sizeof_oid); - if (err < 0) - { - if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - addf (str, "error: get_extension_info: %s\n", - gnutls_strerror (err)); - continue; - } - - if (i == 0) - adds (str, _("\tAttributes:\n")); - - if (strcmp (oid, "1.2.840.113549.1.9.14") == 0) - { - cert_type_t ccert; - - if (extensions) - { - addf (str, "error: more than one extensionsRequest\n"); - continue; - } - - ccert.crq = cert; - print_extensions (str, "\t", TYPE_CRQ, ccert); - - extensions++; - } - else if (strcmp (oid, "1.2.840.113549.1.9.7") == 0) - { - char pass[1024]; - size_t pass_size = sizeof (pass); - - if (challenge) - { - addf (str, - "error: more than one Challenge password attribute\n"); - continue; - } - - err = - gnutls_x509_crq_get_challenge_password (cert, pass, &pass_size); - if (err < 0) - addf (str, "error: get_challenge_password: %s\n", - gnutls_strerror (err)); - else - addf (str, _("\t\tChallenge password: %s\n"), pass); - - challenge++; - } - else - { - char *buffer; - size_t extlen = 0; - - addf (str, _("\t\tUnknown attribute %s:\n"), oid); - - err = gnutls_x509_crq_get_attribute_data (cert, i, NULL, &extlen); - if (err < 0) - { - addf (str, "error: get_attribute_data: %s\n", - gnutls_strerror (err)); - continue; - } - - buffer = gnutls_malloc (extlen); - if (!buffer) - { - addf (str, "error: malloc: %s\n", gnutls_strerror (err)); - continue; - } - - err = gnutls_x509_crq_get_attribute_data (cert, i, - buffer, &extlen); - if (err < 0) - { - gnutls_free (buffer); - addf (str, "error: get_attribute_data2: %s\n", - gnutls_strerror (err)); - continue; - } - - adds (str, _("\t\t\tASCII: ")); - asciiprint (str, buffer, extlen); - adds (str, "\n"); - - adds (str, _("\t\t\tHexdump: ")); - hexprint (str, buffer, extlen); - adds (str, "\n"); - - gnutls_free (buffer); - } - } - } -} - -static void -print_crq_other (gnutls_string * str, gnutls_x509_crq_t crq) -{ - int err; - size_t size = 0; - char *buffer = NULL; - - err = gnutls_x509_crq_get_key_id (crq, 0, buffer, &size); - if (err != GNUTLS_E_SHORT_MEMORY_BUFFER) - { - addf (str, "error: get_key_id: %s\n", gnutls_strerror (err)); - return; - } - - buffer = gnutls_malloc (size); - if (!buffer) - { - addf (str, "error: malloc: %s\n", gnutls_strerror (err)); - return; - } - - err = gnutls_x509_crq_get_key_id (crq, 0, buffer, &size); - if (err < 0) - { - gnutls_free (buffer); - addf (str, "error: get_key_id2: %s\n", gnutls_strerror (err)); - return; - } - - adds (str, _("\tPublic Key Id:\n\t\t")); - hexprint (str, buffer, size); - adds (str, "\n"); - - gnutls_free (buffer); -} - -/** - * gnutls_x509_crq_print - Pretty print PKCS 10 certificate request - * @crq: The structure to be printed - * @format: Indicate the format to use - * @out: Newly allocated datum with zero terminated string. - * - * This function will pretty print a certificate request, suitable for - * display to a human. - * - * The output @out needs to be deallocate using gnutls_free(). - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crq_print (gnutls_x509_crq_t crq, - gnutls_certificate_print_formats_t format, - gnutls_datum_t * out) -{ - gnutls_string str; - - _gnutls_string_init (&str, gnutls_malloc, gnutls_realloc, gnutls_free); - - _gnutls_string_append_str - (&str, _("PKCS #10 Certificate Request Information:\n")); - - print_crq (&str, crq); - - _gnutls_string_append_str (&str, _("Other Information:\n")); - - print_crq_other (&str, crq); - - _gnutls_string_append_data (&str, "\0", 1); - out->data = str.data; - out->size = strlen (str.data); - - return 0; -} - -#endif /* ENABLE_PKI */ diff -Nru gnutls26-2.8.6/lib/x509/pbkdf2-sha1.c gnutls26-2.4.1/lib/x509/pbkdf2-sha1.c --- gnutls26-2.8.6/lib/x509/pbkdf2-sha1.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pbkdf2-sha1.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,196 +0,0 @@ -/* gc-pbkdf2-sha1.c --- Password-Based Key Derivation Function a'la PKCS#5 - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Simon Josefsson. The comments in this file are taken - from RFC 2898. */ - -#include -#include -#include -#include -#include - -/* - * 5.2 PBKDF2 - * - * PBKDF2 applies a pseudorandom function (see Appendix B.1 for an - * example) to derive keys. The length of the derived key is essentially - * unbounded. (However, the maximum effective search space for the - * derived key may be limited by the structure of the underlying - * pseudorandom function. See Appendix B.1 for further discussion.) - * PBKDF2 is recommended for new applications. - * - * PBKDF2 (P, S, c, dkLen) - * - * Options: PRF underlying pseudorandom function (hLen - * denotes the length in octets of the - * pseudorandom function output) - * - * Input: P password, an octet string (ASCII or UTF-8) - * S salt, an octet string - * c iteration count, a positive integer - * dkLen intended length in octets of the derived - * key, a positive integer, at most - * (2^32 - 1) * hLen - * - * Output: DK derived key, a dkLen-octet string - */ - -int -_gnutls_pbkdf2_sha1 (const char *P, size_t Plen, - const char *S, size_t Slen, - unsigned int c, char *DK, size_t dkLen) -{ - unsigned int hLen = 20; - char U[20]; - char T[20]; - unsigned int u; - unsigned int l; - unsigned int r; - unsigned int i; - unsigned int k; - int rc; - char *tmp; - size_t tmplen = Slen + 4; - - if (c == 0) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - if (dkLen == 0) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - /* - * - * Steps: - * - * 1. If dkLen > (2^32 - 1) * hLen, output "derived key too long" and - * stop. - */ - - if (dkLen > 4294967295U) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* - * 2. Let l be the number of hLen-octet blocks in the derived key, - * rounding up, and let r be the number of octets in the last - * block: - * - * l = CEIL (dkLen / hLen) , - * r = dkLen - (l - 1) * hLen . - * - * Here, CEIL (x) is the "ceiling" function, i.e. the smallest - * integer greater than, or equal to, x. - */ - - l = ((dkLen - 1) / hLen) + 1; - r = dkLen - (l - 1) * hLen; - - /* - * 3. For each block of the derived key apply the function F defined - * below to the password P, the salt S, the iteration count c, and - * the block index to compute the block: - * - * T_1 = F (P, S, c, 1) , - * T_2 = F (P, S, c, 2) , - * ... - * T_l = F (P, S, c, l) , - * - * where the function F is defined as the exclusive-or sum of the - * first c iterates of the underlying pseudorandom function PRF - * applied to the password P and the concatenation of the salt S - * and the block index i: - * - * F (P, S, c, i) = U_1 \xor U_2 \xor ... \xor U_c - * - * where - * - * U_1 = PRF (P, S || INT (i)) , - * U_2 = PRF (P, U_1) , - * ... - * U_c = PRF (P, U_{c-1}) . - * - * Here, INT (i) is a four-octet encoding of the integer i, most - * significant octet first. - * - * 4. Concatenate the blocks and extract the first dkLen octets to - * produce a derived key DK: - * - * DK = T_1 || T_2 || ... || T_l<0..r-1> - * - * 5. Output the derived key DK. - * - * Note. The construction of the function F follows a "belt-and- - * suspenders" approach. The iterates U_i are computed recursively to - * remove a degree of parallelism from an opponent; they are exclusive- - * ored together to reduce concerns about the recursion degenerating - * into a small set of values. - * - */ - - tmp = gnutls_malloc (tmplen); - if (tmp == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - memcpy (tmp, S, Slen); - - for (i = 1; i <= l; i++) - { - memset (T, 0, hLen); - - for (u = 1; u <= c; u++) - { - if (u == 1) - { - tmp[Slen + 0] = (i & 0xff000000) >> 24; - tmp[Slen + 1] = (i & 0x00ff0000) >> 16; - tmp[Slen + 2] = (i & 0x0000ff00) >> 8; - tmp[Slen + 3] = (i & 0x000000ff) >> 0; - - rc = - _gnutls_hmac_fast (GNUTLS_MAC_SHA1, P, Plen, tmp, tmplen, U); - } - else - rc = _gnutls_hmac_fast (GNUTLS_MAC_SHA1, P, Plen, U, hLen, U); - - if (rc < 0) - { - gnutls_free (tmp); - return rc; - } - - for (k = 0; k < hLen; k++) - T[k] ^= U[k]; - } - - memcpy (DK + (i - 1) * hLen, T, i == l ? r : hLen); - } - - gnutls_free (tmp); - - return 0; -} diff -Nru gnutls26-2.8.6/lib/x509/pbkdf2-sha1.h gnutls26-2.4.1/lib/x509/pbkdf2-sha1.h --- gnutls26-2.8.6/lib/x509/pbkdf2-sha1.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pbkdf2-sha1.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -int _gnutls_pbkdf2_sha1 (const char *P, size_t Plen, - const char *S, size_t Slen, - unsigned int c, - char *DK, size_t dkLen); diff -Nru gnutls26-2.8.6/lib/x509/pkcs12_bag.c gnutls26-2.4.1/lib/x509/pkcs12_bag.c --- gnutls26-2.8.6/lib/x509/pkcs12_bag.c 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pkcs12_bag.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -95,14 +95,14 @@ } /** - * gnutls_pkcs12_bag_get_type - This function returns the bag's type - * @bag: The bag - * @indx: The element of the bag to get the type - * - * This function will return the bag's type. - * - * Returns: One of the #gnutls_pkcs12_bag_type_t enumerations. - **/ + * gnutls_pkcs12_bag_get_type - This function returns the bag's type + * @bag: The bag + * @indx: The element of the bag to get the type + * + * This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t + * enumerations. + * + **/ gnutls_pkcs12_bag_type_t gnutls_pkcs12_bag_get_type (gnutls_pkcs12_bag_t bag, int indx) { @@ -118,14 +118,12 @@ } /** - * gnutls_pkcs12_bag_get_count - This function returns the bag's elements count - * @bag: The bag - * - * This function will return the number of the elements withing the bag. - * - * Returns: Number of elements in bag, or an negative error code on - * error. - **/ + * gnutls_pkcs12_bag_get_count - This function returns the bag's elements count + * @bag: The bag + * + * This function will return the number of the elements withing the bag. + * + **/ int gnutls_pkcs12_bag_get_count (gnutls_pkcs12_bag_t bag) { @@ -624,16 +622,13 @@ /** - * gnutls_pkcs12_bag_decrypt - This function will decrypt an encrypted bag - * @bag: The bag - * @pass: The password used for encryption, must be ASCII. - * - * This function will decrypt the given encrypted bag and return 0 on - * success. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_pkcs12_bag_decrypt - This function will decrypt an encrypted bag + * @bag: The bag + * @pass: The password used for encryption. This can only be ASCII. + * + * This function will decrypt the given encrypted bag and return 0 on success. + * + **/ int gnutls_pkcs12_bag_decrypt (gnutls_pkcs12_bag_t bag, const char *pass) { @@ -680,16 +675,14 @@ } /** - * gnutls_pkcs12_bag_encrypt - This function will encrypt a bag - * @bag: The bag - * @pass: The password used for encryption, must be ASCII - * @flags: should be one of #gnutls_pkcs_encrypt_flags_t elements bitwise or'd - * - * This function will encrypt the given bag. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_pkcs12_bag_encrypt - This function will encrypt a bag + * @bag: The bag + * @pass: The password used for encryption. This can only be ASCII. + * @flags: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd + * + * This function will encrypt the given bag and return 0 on success. + * + **/ int gnutls_pkcs12_bag_encrypt (gnutls_pkcs12_bag_t bag, const char *pass, unsigned int flags) diff -Nru gnutls26-2.8.6/lib/x509/pkcs12.c gnutls26-2.4.1/lib/x509/pkcs12.c --- gnutls26-2.8.6/lib/x509/pkcs12.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pkcs12.c 2008-06-30 21:45:51.000000000 +0100 @@ -47,12 +47,11 @@ _decode_pkcs12_auth_safe (ASN1_TYPE pkcs12, ASN1_TYPE * authen_safe, gnutls_datum_t * raw) { - char oid[MAX_OID_SIZE]; + char oid[128]; ASN1_TYPE c2 = ASN1_TYPE_EMPTY; gnutls_datum_t auth_safe = { NULL, 0 }; int tmp_size, len, result; - char error_str[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - + len = sizeof (oid) - 1; result = asn1_read_value (pkcs12, "authSafe.contentType", oid, &len); if (result != ASN1_SUCCESS) @@ -92,11 +91,10 @@ goto cleanup; } - result = asn1_der_decoding (&c2, auth_safe.data, auth_safe.size, error_str); + result = asn1_der_decoding (&c2, auth_safe.data, auth_safe.size, NULL); if (result != ASN1_SUCCESS) { gnutls_assert (); - _gnutls_x509_log("DER error: %s\n", error_str); result = _gnutls_asn2err (result); goto cleanup; } @@ -200,7 +198,6 @@ { int result = 0, need_free = 0; gnutls_datum_t _data; - char error_str[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; _data.data = data->data; _data.size = data->size; @@ -234,11 +231,10 @@ need_free = 1; } - result = asn1_der_decoding (&pkcs12->pkcs12, _data.data, _data.size, error_str); + result = asn1_der_decoding (&pkcs12->pkcs12, _data.data, _data.size, NULL); if (result != ASN1_SUCCESS) { result = _gnutls_asn2err (result); - _gnutls_x509_log("DER error: %s\n", error_str); gnutls_assert (); goto cleanup; } @@ -288,7 +284,8 @@ } return _gnutls_x509_export_int (pkcs12->pkcs12, format, PEM_PKCS12, - output_data, output_data_size); + output_data, + output_data_size); } static int @@ -348,7 +345,7 @@ _pkcs12_decode_safe_contents (const gnutls_datum_t * content, gnutls_pkcs12_bag_t bag) { - char oid[MAX_OID_SIZE], root[ASN1_MAX_NAME_SIZE]; + char oid[128], root[MAX_NAME_SIZE]; ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int len, result; int bag_type; @@ -391,7 +388,7 @@ for (i = 0; i < bag->bag_elements; i++) { - snprintf (root, sizeof (root), "?%u.bagId", i + 1); + snprintf( root, sizeof (root), "?%u.bagId", i+1); len = sizeof (oid); result = asn1_read_value (c2, root, oid, &len); @@ -415,7 +412,7 @@ /* Read the Bag Value */ - snprintf (root, sizeof (root), "?%u.bagValue", i + 1); + snprintf( root, sizeof (root), "?%u.bagValue", i+1); result = _gnutls_x509_read_value (c2, root, &bag->element[i].data, 0); if (result < 0) @@ -441,7 +438,7 @@ /* read the bag attributes */ - snprintf (root, sizeof (root), "?%u.bagAttributes", i + 1); + snprintf( root, sizeof (root), "?%u.bagAttributes", i+1); result = asn1_number_of_elements (c2, root, &attributes); if (result != ASN1_SUCCESS && result != ASN1_ELEMENT_NOT_FOUND) @@ -458,8 +455,7 @@ for (j = 0; j < attributes; j++) { - snprintf (root, sizeof (root), "?%u.bagAttributes.?%u", i + 1, - j + 1); + snprintf( root, sizeof (root), "?%u.bagAttributes.?%u", i+1, j+1); result = _gnutls_x509_decode_and_read_attribute (c2, root, oid, @@ -589,8 +585,8 @@ { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int result, len; - char root2[ASN1_MAX_NAME_SIZE]; - char oid[MAX_OID_SIZE]; + char root2[MAX_NAME_SIZE]; + char oid[128]; if (pkcs12 == NULL) { @@ -610,7 +606,7 @@ /* Step 2. Parse the AuthenticatedSafe */ - snprintf (root2, sizeof (root2), "?%u.contentType", indx + 1); + snprintf( root2, sizeof (root2), "?%u.contentType", indx+1); len = sizeof (oid) - 1; result = asn1_read_value (c2, root2, oid, &len); @@ -631,7 +627,7 @@ /* Not encrypted Bag */ - snprintf (root2, sizeof (root2), "?%u.content", indx + 1); + snprintf( root2, sizeof (root2), "?%u.content", indx+1); if (strcmp (oid, DATA_OID) == 0) { @@ -878,7 +874,7 @@ /* Generate the salt. */ - result = _gnutls_rnd (GNUTLS_RND_NONCE, salt, sizeof (salt)); + result = _gnutls_rnd (RND_NONCE, salt, sizeof (salt)); if (result < 0) { gnutls_assert (); @@ -913,8 +909,8 @@ /* Generate the key. */ - result = _gnutls_pkcs12_string_to_key (3 /*MAC*/, salt, sizeof (salt), - iter, pass, sizeof (key), key); + result = _pkcs12_string_to_key (3 /*MAC*/, salt, sizeof (salt), + iter, pass, sizeof (key), key); if (result < 0) { gnutls_assert (); @@ -1037,8 +1033,8 @@ /* Generate the key. */ - result = _gnutls_pkcs12_string_to_key (3 /*MAC*/, salt.data, salt.size, - iter, pass, sizeof (key), key); + result = _pkcs12_string_to_key (3 /*MAC*/, salt.data, salt.size, + iter, pass, sizeof (key), key); if (result < 0) { gnutls_assert (); diff -Nru gnutls26-2.8.6/lib/x509/pkcs12_encr.c gnutls26-2.4.1/lib/x509/pkcs12_encr.c --- gnutls26-2.8.6/lib/x509/pkcs12_encr.c 2009-06-10 15:16:18.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pkcs12_encr.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,6 +1,6 @@ /* minip12.c - A mini pkcs-12 implementation (modified for gnutls) * - * Copyright (C) 2002, 2004, 2005, 2009 Free Software Foundation, Inc. + * Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. * * This file is part of GNUTLS. * @@ -25,7 +25,8 @@ #ifdef ENABLE_PKI -#include +#include +#include #include /* Returns 0 if the password is ok, or a negative error @@ -53,28 +54,19 @@ * 1 for encryption key */ int -_gnutls_pkcs12_string_to_key (unsigned int id, const opaque * salt, - unsigned int salt_size, unsigned int iter, - const char *pw, unsigned int req_keylen, - opaque * keybuf) +_pkcs12_string_to_key (unsigned int id, const opaque * salt, + unsigned int salt_size, unsigned int iter, + const char *pw, unsigned int req_keylen, + opaque * keybuf) { int rc; unsigned int i, j; - digest_hd_st md; - bigint_t num_b1 = NULL, num_ij = NULL; - bigint_t mpi512 = NULL; + gc_hash_handle md; + mpi_t num_b1 = NULL; unsigned int pwlen; opaque hash[20], buf_b[64], buf_i[128], *p; size_t cur_keylen; - size_t n, m; - const opaque buf_512[] = /* 2^64 */ - { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + size_t n; cur_keylen = 0; @@ -95,13 +87,6 @@ return rc; } - rc = _gnutls_mpi_scan (&mpi512, buf_512, sizeof (buf_512)); - if (rc < 0) - { - gnutls_assert (); - return rc; - } - /* Store salt and password in BUF_I */ p = buf_i; for (i = 0; i < 64; i++) @@ -121,81 +106,64 @@ for (;;) { - rc = _gnutls_hash_init (&md, GNUTLS_MAC_SHA1); - if (rc < 0) + rc = gc_hash_open (GC_SHA1, 0, &md); + if (rc) { gnutls_assert (); - goto cleanup; + return GNUTLS_E_DECRYPTION_FAILED; } for (i = 0; i < 64; i++) { unsigned char lid = id & 0xFF; - _gnutls_hash (&md, &lid, 1); + gc_hash_write (md, 1, &lid); } - _gnutls_hash (&md, buf_i, pw ? 128 : 64); - _gnutls_hash_deinit (&md, hash); + gc_hash_write (md, pw ? 128 : 64, buf_i); + memcpy (hash, gc_hash_read (md), 20); + gc_hash_close (md); for (i = 1; i < iter; i++) - { - rc = _gnutls_hash_init (&md, GNUTLS_MAC_SHA1); - if (rc < 0) - { - gnutls_assert (); - goto cleanup; - } - _gnutls_hash (&md, hash, 20); - _gnutls_hash_deinit (&md, hash); - } + gc_hash_buffer (GC_SHA1, hash, 20, hash); for (i = 0; i < 20 && cur_keylen < req_keylen; i++) keybuf[cur_keylen++] = hash[i]; if (cur_keylen == req_keylen) { - rc = 0; /* ready */ - goto cleanup; + gcry_mpi_release (num_b1); + return 0; /* ready */ } /* need more bytes. */ for (i = 0; i < 64; i++) buf_b[i] = hash[i % 20]; n = 64; - rc = _gnutls_mpi_scan (&num_b1, buf_b, n); + rc = _gnutls_mpi_scan (&num_b1, buf_b, &n); if (rc < 0) { gnutls_assert (); - goto cleanup; + return rc; } - _gnutls_mpi_add_ui (num_b1, num_b1, 1); + gcry_mpi_add_ui (num_b1, num_b1, 1); for (i = 0; i < 128; i += 64) { + mpi_t num_ij; + n = 64; - rc = _gnutls_mpi_scan (&num_ij, buf_i + i, n); + rc = _gnutls_mpi_scan (&num_ij, buf_i + i, &n); if (rc < 0) { gnutls_assert (); - goto cleanup; + return rc; } - _gnutls_mpi_addm (num_ij, num_ij, num_b1, mpi512); + gcry_mpi_add (num_ij, num_ij, num_b1); + gcry_mpi_clear_highbit (num_ij, 64 * 8); n = 64; -#ifndef PKCS12_BROKEN_KEYGEN - m = (_gnutls_mpi_get_nbits (num_ij) + 7) / 8; -#else - m = n; -#endif - memset (buf_i + i, 0, n - m); - rc = _gnutls_mpi_print (num_ij, buf_i + i + n - m, &n); + rc = _gnutls_mpi_print (buf_i + i, &n, num_ij); if (rc < 0) { gnutls_assert (); - goto cleanup; + return rc; } - _gnutls_mpi_release (&num_ij); + gcry_mpi_release (num_ij); } } -cleanup: - _gnutls_mpi_release (&num_ij); - _gnutls_mpi_release (&num_b1); - _gnutls_mpi_release (&mpi512); - - return rc; } #endif /* ENABLE_PKI */ diff -Nru gnutls26-2.8.6/lib/x509/pkcs7.c gnutls26-2.4.1/lib/x509/pkcs7.c --- gnutls26-2.8.6/lib/x509/pkcs7.c 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/pkcs7.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -46,7 +46,7 @@ _decode_pkcs7_signed_data (ASN1_TYPE pkcs7, ASN1_TYPE * sdata, gnutls_datum_t * raw) { - char oid[MAX_OID_SIZE]; + char oid[128]; ASN1_TYPE c2; opaque *tmp = NULL; int tmp_size, len, result; @@ -260,7 +260,7 @@ /** * gnutls_pkcs7_get_crt_raw - get a certificate from a PKCS7 certificate set - * @pkcs7: should contain a gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * @indx: contains the index of the certificate to extract * @certificate: the contents of the certificate will be copied * there (may be null) @@ -284,8 +284,8 @@ { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int result, len; - char root2[ASN1_MAX_NAME_SIZE]; - char oid[MAX_OID_SIZE]; + char root2[MAX_NAME_SIZE]; + char oid[128]; gnutls_datum_t tmp = { NULL, 0 }; if (certificate_size == NULL || pkcs7 == NULL) @@ -303,7 +303,7 @@ /* Step 2. Parse the CertificateSet */ - snprintf (root2, sizeof (root2), "certificates.?%u", indx + 1); + snprintf( root2, sizeof(root2), "certificates.?%u", indx+1); len = sizeof (oid) - 1; @@ -369,7 +369,7 @@ /** * gnutls_pkcs7_get_crt_count - return the number of certificates in a PKCS7 certificate set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * * This function will return the number of certifcates in the PKCS7 * or RFC2630 certificate set. @@ -428,8 +428,8 @@ * If the structure is PEM encoded, it will have a header * of "BEGIN PKCS7". * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. + * Return value: In case of failure a negative value will be + * returned, and 0 on success. **/ int gnutls_pkcs7_export (gnutls_pkcs7_t pkcs7, @@ -440,7 +440,8 @@ return GNUTLS_E_INVALID_REQUEST; return _gnutls_x509_export_int (pkcs7->pkcs7, format, PEM_PKCS7, - output_data, output_data_size); + output_data, + output_data_size); } /* Creates an empty signed data structure in the pkcs7 @@ -524,7 +525,7 @@ /** * gnutls_pkcs7_set_crt_raw - add a certificate in a PKCS7 certificate set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * @crt: the DER encoded certificate to be added * * This function will add a certificate to the PKCS7 or RFC2630 @@ -618,7 +619,7 @@ /** * gnutls_pkcs7_set_crt - add a parsed certificate in a PKCS7 certificate set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * @crt: the certificate to be copied. * * This function will add a parsed certificate to the PKCS7 or @@ -660,7 +661,7 @@ /** * gnutls_pkcs7_delete_crt - deletes a certificate from a PKCS7 certificate set - * @pkcs7: should contain a gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * @indx: the index of the certificate to delete * * This function will delete a certificate from a PKCS7 or RFC2630 @@ -674,7 +675,7 @@ { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int result; - char root2[ASN1_MAX_NAME_SIZE]; + char root2[MAX_NAME_SIZE]; if (pkcs7 == NULL) return GNUTLS_E_INVALID_REQUEST; @@ -691,7 +692,7 @@ /* Step 2. Delete the certificate. */ - snprintf (root2, sizeof (root2), "certificates.?%u", indx + 1); + snprintf( root2, sizeof(root2), "certificates.?%u", indx+1); result = asn1_write_value (c2, root2, NULL, 0); if (result != ASN1_SUCCESS) @@ -725,8 +726,8 @@ */ /** - * gnutls_pkcs7_get_crl_raw - returns a crl in a PKCS7 crl set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * gnutls_pkcs7_get_crl_raw - This function returns a crl in a PKCS7 crl set + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * @indx: contains the index of the crl to extract * @crl: the contents of the crl will be copied there (may be null) * @crl_size: should hold the size of the crl @@ -745,7 +746,7 @@ { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int result; - char root2[ASN1_MAX_NAME_SIZE]; + char root2[MAX_NAME_SIZE]; gnutls_datum_t tmp = { NULL, 0 }; int start, end; @@ -764,7 +765,7 @@ /* Step 2. Parse the CertificateSet */ - snprintf (root2, sizeof (root2), "crls.?%u", indx + 1); + snprintf( root2, sizeof(root2), "crls.?%u", indx+1); /* Get the raw CRL */ @@ -803,7 +804,7 @@ /** * gnutls_pkcs7_get_crl_count - returns the number of CRLs in a PKCS7 crl set - * @pkcs7: should contain a gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a gnutls_pkcs7_t structure * * This function will return the number of certifcates in the PKCS7 * or RFC2630 crl set. @@ -847,7 +848,7 @@ /** * gnutls_pkcs7_set_crl_raw - add a crl in a PKCS7 crl set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain #a gnutls_pkcs7_t structure * @crl: the DER encoded crl to be added * * This function will add a crl to the PKCS7 or RFC2630 crl set. @@ -930,7 +931,7 @@ /** * gnutls_pkcs7_set_crl - add a parsed crl in a PKCS7 crl set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a #gnutls_pkcs7_t structure * @crl: the DER encoded crl to be added * * This function will add a parsed CRL to the PKCS7 or RFC2630 crl @@ -970,7 +971,7 @@ /** * gnutls_pkcs7_delete_crl - deletes a CRL from a PKCS7 crl set - * @pkcs7: should contain a #gnutls_pkcs7_t structure + * @pkcs7_struct: should contain a #gnutls_pkcs7_t structure * @indx: the index of the crl to delete * * This function will delete a crl from a PKCS7 or RFC2630 crl set. @@ -984,7 +985,7 @@ { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; int result; - char root2[ASN1_MAX_NAME_SIZE]; + char root2[MAX_NAME_SIZE]; if (pkcs7 == NULL) return GNUTLS_E_INVALID_REQUEST; @@ -1001,7 +1002,7 @@ /* Step 2. Delete the crl. */ - snprintf (root2, sizeof (root2), "crls.?%u", indx + 1); + snprintf( root2, sizeof(root2), "crls.?%u", indx+1); result = asn1_write_value (c2, root2, NULL, 0); if (result != ASN1_SUCCESS) diff -Nru gnutls26-2.8.6/lib/x509/privkey.c gnutls26-2.4.1/lib/x509/privkey.c --- gnutls26-2.8.6/lib/x509/privkey.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/privkey.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -32,9 +32,14 @@ #include #include #include -#include -static int _gnutls_asn1_encode_rsa (ASN1_TYPE * c2, bigint_t * params); +static int _gnutls_asn1_encode_rsa (ASN1_TYPE * c2, mpi_t * params); +int _gnutls_asn1_encode_dsa (ASN1_TYPE * c2, mpi_t * params); + +/* remove this when libgcrypt can handle the PKCS #1 coefficients from + * rsa keys + */ +#define CALC_COEFF 1 /** * gnutls_x509_privkey_init - initialize a #gnutls_privkey_t structure @@ -151,10 +156,6 @@ { int result; ASN1_TYPE pkey_asn; - gnutls_pk_params_st pk_params; - - memset (&pk_params, 0, sizeof (pk_params)); - pk_params.params_nr = RSA_PRIVATE_PARAMS; if ((result = asn1_create_element (_gnutls_get_gnutls_asn (), @@ -165,6 +166,13 @@ return NULL; } + if ((sizeof (pkey->params) / sizeof (mpi_t)) < RSA_PRIVATE_PARAMS) + { + gnutls_assert (); + /* internal error. Increase the mpi_ts in params */ + return NULL; + } + result = asn1_der_decoding (&pkey_asn, raw_key->data, raw_key->size, NULL); if (result != ASN1_SUCCESS) { @@ -173,7 +181,7 @@ } if ((result = _gnutls_x509_read_int (pkey_asn, "modulus", - &pk_params.params[0])) < 0) + &pkey->params[0])) < 0) { gnutls_assert (); goto error; @@ -181,7 +189,7 @@ if ((result = _gnutls_x509_read_int (pkey_asn, "publicExponent", - &pk_params.params[1])) < 0) + &pkey->params[1])) < 0) { gnutls_assert (); goto error; @@ -189,54 +197,61 @@ if ((result = _gnutls_x509_read_int (pkey_asn, "privateExponent", - &pk_params.params[2])) < 0) + &pkey->params[2])) < 0) { gnutls_assert (); goto error; } if ((result = _gnutls_x509_read_int (pkey_asn, "prime1", - &pk_params.params[3])) < 0) + &pkey->params[3])) < 0) { gnutls_assert (); goto error; } if ((result = _gnutls_x509_read_int (pkey_asn, "prime2", - &pk_params.params[4])) < 0) + &pkey->params[4])) < 0) { gnutls_assert (); goto error; } - if ((result = _gnutls_x509_read_int (pkey_asn, "coefficient", - &pk_params.params[5])) < 0) +#ifdef CALC_COEFF + /* Calculate the coefficient. This is because the gcrypt + * library is uses the p,q in the reverse order. + */ + pkey->params[5] = + _gnutls_mpi_snew (_gnutls_mpi_get_nbits (pkey->params[0])); + + if (pkey->params[5] == NULL) { gnutls_assert (); goto error; } - - result = _gnutls_pk_fixup (GNUTLS_PK_RSA, GNUTLS_IMPORT, &pk_params); - if (result < 0) + _gnutls_mpi_invm (pkey->params[5], pkey->params[3], pkey->params[4]); + /* p, q */ +#else + if ((result = _gnutls_x509_read_int (pkey_asn, "coefficient", + &pkey->params[5])) < 0) { gnutls_assert (); goto error; } - - pkey->params[0] = pk_params.params[0]; - pkey->params[1] = pk_params.params[1]; - pkey->params[2] = pk_params.params[2]; - pkey->params[3] = pk_params.params[3]; - pkey->params[4] = pk_params.params[4]; - pkey->params[5] = pk_params.params[5]; - pkey->params_size = pk_params.params_nr; +#endif + pkey->params_size = 6; return pkey_asn; error: asn1_delete_structure (&pkey_asn); - gnutls_pk_params_release (&pk_params); + _gnutls_mpi_release (&pkey->params[0]); + _gnutls_mpi_release (&pkey->params[1]); + _gnutls_mpi_release (&pkey->params[2]); + _gnutls_mpi_release (&pkey->params[3]); + _gnutls_mpi_release (&pkey->params[4]); + _gnutls_mpi_release (&pkey->params[5]); return NULL; } @@ -256,6 +271,13 @@ return NULL; } + if ((sizeof (pkey->params) / sizeof (mpi_t)) < DSA_PRIVATE_PARAMS) + { + gnutls_assert (); + /* internal error. Increase the mpi_ts in params */ + return NULL; + } + result = asn1_der_decoding (&dsa_asn, raw_key->data, raw_key->size, NULL); if (result != ASN1_SUCCESS) { @@ -384,14 +406,12 @@ if (key->pk_algorithm == GNUTLS_PK_RSA) { key->key = _gnutls_privkey_decode_pkcs1_rsa_key (&_data, key); - if (key->key == NULL) - gnutls_assert (); + if (key->key == NULL) gnutls_assert(); } else if (key->pk_algorithm == GNUTLS_PK_DSA) { key->key = decode_dsa_key (&_data, key); - if (key->key == NULL) - gnutls_assert (); + if (key->key == NULL) gnutls_assert(); } else { @@ -403,10 +423,9 @@ if (key->key == NULL) { - key->pk_algorithm = GNUTLS_PK_DSA; - key->key = decode_dsa_key (&_data, key); - if (key->key == NULL) - gnutls_assert (); + key->pk_algorithm = GNUTLS_PK_DSA; + key->key = decode_dsa_key (&_data, key); + if (key->key == NULL) gnutls_assert(); } } @@ -473,7 +492,7 @@ } siz = m->size; - if (_gnutls_mpi_scan_nz (&key->params[0], m->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[0], m->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; @@ -481,7 +500,7 @@ } siz = e->size; - if (_gnutls_mpi_scan_nz (&key->params[1], e->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[1], e->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; @@ -489,7 +508,7 @@ } siz = d->size; - if (_gnutls_mpi_scan_nz (&key->params[2], d->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[2], d->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; @@ -497,7 +516,7 @@ } siz = p->size; - if (_gnutls_mpi_scan_nz (&key->params[3], p->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[3], p->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; @@ -505,20 +524,33 @@ } siz = q->size; - if (_gnutls_mpi_scan_nz (&key->params[4], q->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[4], q->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; return GNUTLS_E_MPI_SCAN_FAILED; } +#ifdef CALC_COEFF + key->params[5] = _gnutls_mpi_snew (_gnutls_mpi_get_nbits (key->params[0])); + + if (key->params[5] == NULL) + { + gnutls_assert (); + FREE_RSA_PRIVATE_PARAMS; + return GNUTLS_E_MEMORY_ERROR; + } + + _gnutls_mpi_invm (key->params[5], key->params[3], key->params[4]); +#else siz = u->size; - if (_gnutls_mpi_scan_nz (&key->params[5], u->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[5], u->data, &siz)) { gnutls_assert (); FREE_RSA_PRIVATE_PARAMS; return GNUTLS_E_MPI_SCAN_FAILED; } +#endif if (!key->crippled) { @@ -572,7 +604,7 @@ } siz = p->size; - if (_gnutls_mpi_scan_nz (&key->params[0], p->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[0], p->data, &siz)) { gnutls_assert (); FREE_DSA_PRIVATE_PARAMS; @@ -580,7 +612,7 @@ } siz = q->size; - if (_gnutls_mpi_scan_nz (&key->params[1], q->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[1], q->data, &siz)) { gnutls_assert (); FREE_DSA_PRIVATE_PARAMS; @@ -588,7 +620,7 @@ } siz = g->size; - if (_gnutls_mpi_scan_nz (&key->params[2], g->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[2], g->data, &siz)) { gnutls_assert (); FREE_DSA_PRIVATE_PARAMS; @@ -596,7 +628,7 @@ } siz = y->size; - if (_gnutls_mpi_scan_nz (&key->params[3], y->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[3], y->data, &siz)) { gnutls_assert (); FREE_DSA_PRIVATE_PARAMS; @@ -604,7 +636,7 @@ } siz = x->size; - if (_gnutls_mpi_scan_nz (&key->params[4], x->data, siz)) + if (_gnutls_mpi_scan_nz (&key->params[4], x->data, &siz)) { gnutls_assert (); FREE_DSA_PRIVATE_PARAMS; @@ -679,7 +711,7 @@ gnutls_x509_crt_fmt_t format, void *output_data, size_t * output_data_size) { - const char *msg; + char *msg; int ret; if (key == NULL) @@ -723,7 +755,8 @@ } return _gnutls_x509_export_int (key->key, format, msg, - output_data, output_data_size); + output_data, + output_data_size); } /** @@ -750,7 +783,7 @@ gnutls_datum_t * q, gnutls_datum_t * u) { int ret; - gnutls_pk_params_st pk_params; + mpi_t coeff = NULL; if (key == NULL) { @@ -761,68 +794,73 @@ m->data = e->data = d->data = p->data = q->data = u->data = NULL; m->size = e->size = d->size = p->size = q->size = u->size = 0; - ret = _gnutls_pk_params_copy (&pk_params, key->params, RSA_PRIVATE_PARAMS); + ret = _gnutls_mpi_dprint (m, key->params[0]); if (ret < 0) { gnutls_assert (); - return ret; + goto error; } - ret = _gnutls_pk_fixup (GNUTLS_PK_RSA, GNUTLS_EXPORT, &pk_params); + /* E */ + ret = _gnutls_mpi_dprint (e, key->params[1]); if (ret < 0) { gnutls_assert (); goto error; } - ret = _gnutls_mpi_dprint (pk_params.params[0], m); + /* D */ + ret = _gnutls_mpi_dprint (d, key->params[2]); if (ret < 0) { gnutls_assert (); goto error; } - /* E */ - ret = _gnutls_mpi_dprint (pk_params.params[1], e); + /* P */ + ret = _gnutls_mpi_dprint (p, key->params[3]); if (ret < 0) { gnutls_assert (); goto error; } - /* D */ - ret = _gnutls_mpi_dprint (pk_params.params[2], d); + /* Q */ + ret = _gnutls_mpi_dprint (q, key->params[4]); if (ret < 0) { gnutls_assert (); goto error; } - /* P */ - ret = _gnutls_mpi_dprint (pk_params.params[3], p); - if (ret < 0) +#ifdef CALC_COEFF + coeff = _gnutls_mpi_snew (_gnutls_mpi_get_nbits (key->params[0])); + + if (coeff == NULL) { gnutls_assert (); + ret = GNUTLS_E_MEMORY_ERROR; goto error; } - /* Q */ - ret = _gnutls_mpi_dprint (pk_params.params[4], q); + _gnutls_mpi_invm (coeff, key->params[4], key->params[3]); + ret = _gnutls_mpi_dprint (u, coeff); if (ret < 0) { gnutls_assert (); goto error; } + _gnutls_mpi_release (&coeff); +#else /* U */ - ret = _gnutls_mpi_dprint (key->params[5], u); + ret = _gnutls_mpi_dprint (u, key->params[5]); if (ret < 0) { gnutls_assert (); goto error; } - - gnutls_pk_params_release (&pk_params); +#endif return 0; @@ -832,14 +870,14 @@ _gnutls_free_datum (e); _gnutls_free_datum (p); _gnutls_free_datum (q); - gnutls_pk_params_release (&pk_params); + _gnutls_mpi_release (&coeff); return ret; } /** * gnutls_x509_privkey_export_dsa_raw - export the DSA private key - * @key: a structure that holds the DSA parameters + * @params: a structure that holds the DSA parameters * @p: will hold the p * @q: will hold the q * @g: will hold the g @@ -868,7 +906,7 @@ } /* P */ - ret = _gnutls_mpi_dprint (key->params[0], p); + ret = _gnutls_mpi_dprint (p, key->params[0]); if (ret < 0) { gnutls_assert (); @@ -876,7 +914,7 @@ } /* Q */ - ret = _gnutls_mpi_dprint (key->params[1], q); + ret = _gnutls_mpi_dprint (q, key->params[1]); if (ret < 0) { gnutls_assert (); @@ -886,7 +924,7 @@ /* G */ - ret = _gnutls_mpi_dprint (key->params[2], g); + ret = _gnutls_mpi_dprint (g, key->params[2]); if (ret < 0) { gnutls_assert (); @@ -897,7 +935,7 @@ /* Y */ - ret = _gnutls_mpi_dprint (key->params[3], y); + ret = _gnutls_mpi_dprint (y, key->params[3]); if (ret < 0) { gnutls_assert (); @@ -908,7 +946,7 @@ } /* X */ - ret = _gnutls_mpi_dprint (key->params[4], x); + ret = _gnutls_mpi_dprint (x, key->params[4]); if (ret < 0) { gnutls_assert (); @@ -926,40 +964,43 @@ /* Encodes the RSA parameters into an ASN.1 RSA private key structure. */ static int -_gnutls_asn1_encode_rsa (ASN1_TYPE * c2, bigint_t * params) +_gnutls_asn1_encode_rsa (ASN1_TYPE * c2, mpi_t * params) { int result, i; size_t size[8], total; opaque *m_data, *pube_data, *prie_data; opaque *p1_data, *p2_data, *u_data, *exp1_data, *exp2_data; opaque *all_data = NULL, *p; - bigint_t exp1 = NULL, exp2 = NULL, q1 = NULL, p1 = NULL; + mpi_t exp1 = NULL, exp2 = NULL, q1 = NULL, p1 = NULL, u = NULL; opaque null = '\0'; - gnutls_pk_params_st pk_params; /* Read all the sizes */ total = 0; - for (i = 0; i < RSA_PRIVATE_PARAMS; i++) + for (i = 0; i < 5; i++) { - _gnutls_mpi_print_lz (params[i], NULL, &size[i]); + _gnutls_mpi_print_lz (NULL, &size[i], params[i]); total += size[i]; } - result = _gnutls_pk_params_copy (&pk_params, params, RSA_PRIVATE_PARAMS); - if (result < 0) + /* Now generate exp1 and exp2 + */ + exp1 = _gnutls_mpi_salloc_like (params[0]); /* like modulus */ + if (exp1 == NULL) { gnutls_assert (); - return result; + result = GNUTLS_E_MEMORY_ERROR; + goto cleanup; } - result = _gnutls_pk_fixup (GNUTLS_PK_RSA, GNUTLS_EXPORT, &pk_params); - if (result < 0) + exp2 = _gnutls_mpi_salloc_like (params[0]); + if (exp2 == NULL) { gnutls_assert (); + result = GNUTLS_E_MEMORY_ERROR; goto cleanup; } - q1 = _gnutls_mpi_alloc_like (pk_params.params[4]); + q1 = _gnutls_mpi_salloc_like (params[4]); if (q1 == NULL) { gnutls_assert (); @@ -967,7 +1008,7 @@ goto cleanup; } - p1 = _gnutls_mpi_alloc_like (pk_params.params[3]); + p1 = _gnutls_mpi_salloc_like (params[3]); if (p1 == NULL) { gnutls_assert (); @@ -975,34 +1016,31 @@ goto cleanup; } - /* inverse of q mod p */ - _gnutls_mpi_print_lz (pk_params.params[5], NULL, &size[5]); - total += size[5]; - - _gnutls_mpi_sub_ui (p1, pk_params.params[3], 1); - _gnutls_mpi_sub_ui (q1, pk_params.params[4], 1); - - exp1 = _gnutls_mpi_mod (pk_params.params[2], p1); - if (exp1 == NULL) + u = _gnutls_mpi_salloc_like (params[3]); + if (u == NULL) { gnutls_assert (); result = GNUTLS_E_MEMORY_ERROR; goto cleanup; } - exp2 = _gnutls_mpi_mod (pk_params.params[2], q1); - if (exp2 == NULL) - { - gnutls_assert (); - result = GNUTLS_E_MEMORY_ERROR; - goto cleanup; - } + _gnutls_mpi_invm (u, params[4], params[3]); + /* inverse of q mod p */ + _gnutls_mpi_print_lz (NULL, &size[5], u); + total += size[5]; + + _gnutls_mpi_sub_ui (p1, params[3], 1); + _gnutls_mpi_sub_ui (q1, params[4], 1); + + _gnutls_mpi_mod (exp1, params[2], p1); + _gnutls_mpi_mod (exp2, params[2], q1); + /* calculate exp's size */ - _gnutls_mpi_print_lz (exp1, NULL, &size[6]); + _gnutls_mpi_print_lz (NULL, &size[6], exp1); total += size[6]; - _gnutls_mpi_print_lz (exp2, NULL, &size[7]); + _gnutls_mpi_print_lz (NULL, &size[7], exp2); total += size[7]; /* Encoding phase. @@ -1033,25 +1071,18 @@ p += size[6]; exp2_data = p; - _gnutls_mpi_print_lz (pk_params.params[0], m_data, &size[0]); - _gnutls_mpi_print_lz (pk_params.params[1], pube_data, &size[1]); - _gnutls_mpi_print_lz (pk_params.params[2], prie_data, &size[2]); - _gnutls_mpi_print_lz (pk_params.params[3], p1_data, &size[3]); - _gnutls_mpi_print_lz (pk_params.params[4], p2_data, &size[4]); - _gnutls_mpi_print_lz (pk_params.params[5], u_data, &size[5]); - _gnutls_mpi_print_lz (exp1, exp1_data, &size[6]); - _gnutls_mpi_print_lz (exp2, exp2_data, &size[7]); + _gnutls_mpi_print_lz (m_data, &size[0], params[0]); + _gnutls_mpi_print_lz (pube_data, &size[1], params[1]); + _gnutls_mpi_print_lz (prie_data, &size[2], params[2]); + _gnutls_mpi_print_lz (p1_data, &size[3], params[3]); + _gnutls_mpi_print_lz (p2_data, &size[4], params[4]); + _gnutls_mpi_print_lz (u_data, &size[5], u); + _gnutls_mpi_print_lz (exp1_data, &size[6], exp1); + _gnutls_mpi_print_lz (exp2_data, &size[7], exp2); /* Ok. Now we have the data. Create the asn1 structures */ - /* first make sure that no previously allocated data are leaked */ - if (*c2 != ASN1_TYPE_EMPTY) - { - asn1_delete_structure (c2); - *c2 = ASN1_TYPE_EMPTY; - } - if ((result = asn1_create_element (_gnutls_get_gnutls_asn (), "GNUTLS.RSAPrivateKey", c2)) != ASN1_SUCCESS) @@ -1131,7 +1162,7 @@ _gnutls_mpi_release (&exp2); _gnutls_mpi_release (&q1); _gnutls_mpi_release (&p1); - gnutls_pk_params_release (&pk_params); + _gnutls_mpi_release (&u); gnutls_free (all_data); if ((result = asn1_write_value (*c2, "otherPrimeInfos", @@ -1152,11 +1183,11 @@ return 0; cleanup: + _gnutls_mpi_release (&u); _gnutls_mpi_release (&exp1); _gnutls_mpi_release (&exp2); _gnutls_mpi_release (&q1); _gnutls_mpi_release (&p1); - gnutls_pk_params_release (&pk_params); asn1_delete_structure (c2); gnutls_free (all_data); @@ -1166,7 +1197,7 @@ /* Encodes the DSA parameters into an ASN.1 DSAPrivateKey structure. */ int -_gnutls_asn1_encode_dsa (ASN1_TYPE * c2, bigint_t * params) +_gnutls_asn1_encode_dsa (ASN1_TYPE * c2, mpi_t * params) { int result, i; size_t size[DSA_PRIVATE_PARAMS], total; @@ -1178,7 +1209,7 @@ total = 0; for (i = 0; i < DSA_PRIVATE_PARAMS; i++) { - _gnutls_mpi_print_lz (params[i], NULL, &size[i]); + _gnutls_mpi_print_lz (NULL, &size[i], params[i]); total += size[i]; } @@ -1204,22 +1235,15 @@ p += size[3]; x_data = p; - _gnutls_mpi_print_lz (params[0], p_data, &size[0]); - _gnutls_mpi_print_lz (params[1], q_data, &size[1]); - _gnutls_mpi_print_lz (params[2], g_data, &size[2]); - _gnutls_mpi_print_lz (params[3], y_data, &size[3]); - _gnutls_mpi_print_lz (params[4], x_data, &size[4]); + _gnutls_mpi_print_lz (p_data, &size[0], params[0]); + _gnutls_mpi_print_lz (q_data, &size[1], params[1]); + _gnutls_mpi_print_lz (g_data, &size[2], params[2]); + _gnutls_mpi_print_lz (y_data, &size[3], params[3]); + _gnutls_mpi_print_lz (x_data, &size[4], params[4]); /* Ok. Now we have the data. Create the asn1 structures */ - /* first make sure that no previously allocated data are leaked */ - if (*c2 != ASN1_TYPE_EMPTY) - { - asn1_delete_structure (c2); - *c2 = ASN1_TYPE_EMPTY; - } - if ((result = asn1_create_element (_gnutls_get_gnutls_asn (), "GNUTLS.DSAPrivateKey", c2)) != ASN1_SUCCESS) @@ -1304,9 +1328,8 @@ gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags) { - int ret; - unsigned int params_len = MAX_PRIV_PARAMS_SIZE; - unsigned int i; + int ret, params_len; + int i; if (key == NULL) { @@ -1530,10 +1553,7 @@ * @hash: holds the data to be signed * @signature: will contain newly allocated signature * - * This function will sign the given hash using the private key. Do not - * use this function directly unless you know what it is. Typical signing - * requires the data to be hashed and stored in special formats - * (e.g. BER Digest-Info for RSA). + * This function will sign the given hash using the private key. * * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a * negative error value. diff -Nru gnutls26-2.8.6/lib/x509/privkey_pkcs8.c gnutls26-2.4.1/lib/x509/privkey_pkcs8.c --- gnutls26-2.8.6/lib/x509/privkey_pkcs8.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/privkey_pkcs8.c 2008-06-30 21:45:51.000000000 +0100 @@ -36,8 +36,9 @@ #include "x509_int.h" #include #include +#include #include -#include + #define PBES2_OID "1.2.840.113549.1.5.13" #define PBKDF2_OID "1.2.840.113549.1.5.12" @@ -100,7 +101,7 @@ /* Returns a negative error code if the encryption schema in * the OID is not supported. The schema ID is returned. */ -static int +inline static int check_schema (const char *oid) { @@ -691,11 +692,10 @@ if (enc_params->iv_size) { result = - _gnutls_pkcs12_string_to_key (2 /*IV*/, kdf_params->salt, - kdf_params->salt_size, - kdf_params->iter_count, password, - enc_params->iv_size, - enc_params->iv); + _pkcs12_string_to_key (2 /*IV*/, kdf_params->salt, + kdf_params->salt_size, + kdf_params->iter_count, password, + enc_params->iv_size, enc_params->iv); if (result < 0) { gnutls_assert (); @@ -794,11 +794,6 @@ &raw_key->data[params_start], params_len, &kdf_params, &enc_params); - if (result < 0) - { - gnutls_assert(); - goto error; - } /* Parameters have been decoded. Now * decrypt the EncryptedData. @@ -1495,23 +1490,24 @@ */ if (schema == PBES2) { - result = _gnutls_pbkdf2_sha1 (password, strlen (password), - kdf_params->salt, kdf_params->salt_size, - kdf_params->iter_count, key, key_size); + result = gc_pbkdf2_sha1 (password, strlen (password), + kdf_params->salt, kdf_params->salt_size, + kdf_params->iter_count, key, key_size); - if (result < 0) + if (result != GC_OK) { gnutls_assert (); + result = GNUTLS_E_DECRYPTION_FAILED; goto error; } } else { result = - _gnutls_pkcs12_string_to_key (1 /*KEY*/, kdf_params->salt, - kdf_params->salt_size, - kdf_params->iter_count, password, - key_size, key); + _pkcs12_string_to_key (1 /*KEY*/, kdf_params->salt, + kdf_params->salt_size, + kdf_params->iter_count, password, + key_size, key); if (result < 0) { @@ -1537,7 +1533,7 @@ gnutls_assert (); goto error; } - + ch_init = 1; result = _gnutls_cipher_decrypt (&ch, data, data_size); @@ -1758,7 +1754,7 @@ else if (schema == PKCS12_RC2_40_SHA1) enc_params->cipher = GNUTLS_CIPHER_RC2_40_CBC; - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, rnd, 2); + ret = _gnutls_rnd( RND_RANDOM, rnd, 2); if (ret < 0) { gnutls_assert (); @@ -1773,9 +1769,8 @@ else kdf_params->salt_size = 8; - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, kdf_params->salt, - kdf_params->salt_size); - if (ret < 0) + ret = _gnutls_rnd ( RND_RANDOM, kdf_params->salt, kdf_params->salt_size); + if ( ret < 0) { gnutls_assert (); return GNUTLS_E_RANDOM_FAILED; @@ -1800,34 +1795,33 @@ if (schema == PBES2) { - ret = _gnutls_pbkdf2_sha1 (password, strlen (password), - kdf_params->salt, kdf_params->salt_size, - kdf_params->iter_count, - key->data, kdf_params->key_size); - if (ret < 0) + ret = gc_pbkdf2_sha1 (password, strlen (password), + kdf_params->salt, kdf_params->salt_size, + kdf_params->iter_count, + key->data, kdf_params->key_size); + if (ret != GC_OK) { gnutls_assert (); - return ret; + return GNUTLS_E_ENCRYPTION_FAILED; } if (enc_params->iv_size) - { - ret = _gnutls_rnd (GNUTLS_RND_NONCE, - enc_params->iv, enc_params->iv_size); + { + ret = _gnutls_rnd (RND_NONCE, enc_params->iv, enc_params->iv_size); if (ret < 0) - { + { gnutls_assert (); return ret; } - } + } } else { /* PKCS12 schemas */ ret = - _gnutls_pkcs12_string_to_key (1 /*KEY*/, kdf_params->salt, - kdf_params->salt_size, - kdf_params->iter_count, password, - kdf_params->key_size, key->data); + _pkcs12_string_to_key (1 /*KEY*/, kdf_params->salt, + kdf_params->salt_size, + kdf_params->iter_count, password, + kdf_params->key_size, key->data); if (ret < 0) { gnutls_assert (); @@ -1839,11 +1833,10 @@ if (enc_params->iv_size) { ret = - _gnutls_pkcs12_string_to_key (2 /*IV*/, kdf_params->salt, - kdf_params->salt_size, - kdf_params->iter_count, password, - enc_params->iv_size, - enc_params->iv); + _pkcs12_string_to_key (2 /*IV*/, kdf_params->salt, + kdf_params->salt_size, + kdf_params->iter_count, password, + enc_params->iv_size, enc_params->iv); if (ret < 0) { gnutls_assert (); diff -Nru gnutls26-2.8.6/lib/x509/rfc2818_hostname.c gnutls26-2.4.1/lib/x509/rfc2818_hostname.c --- gnutls26-2.8.6/lib/x509/rfc2818_hostname.c 2009-08-07 00:02:26.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/rfc2818_hostname.c 2008-06-19 11:00:10.000000000 +0100 @@ -74,17 +74,17 @@ if (ret == GNUTLS_SAN_DNSNAME) { found_dnsname = 1; - if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + if (_gnutls_hostname_compare (dnsname, hostname)) { return 1; } } else if (ret == GNUTLS_SAN_IPADDRESS) { - found_dnsname = 1; /* RFC 2818 is unclear whether the CN - should be compared for IP addresses - too, but we won't do it. */ - if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + found_dnsname = 1; /* RFC 2818 is unclear whether the CN + should be compared for IP addresses + too, but we won't do it. */ + if (_gnutls_hostname_compare (dnsname, hostname)) { return 1; } @@ -104,7 +104,7 @@ return 0; } - if (_gnutls_hostname_compare (dnsname, dnsnamesize, hostname)) + if (_gnutls_hostname_compare (dnsname, hostname)) { return 1; } diff -Nru gnutls26-2.8.6/lib/x509/sign.c gnutls26-2.4.1/lib/x509/sign.c --- gnutls26-2.8.6/lib/x509/sign.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/sign.c 2008-06-30 21:45:51.000000000 +0100 @@ -56,7 +56,7 @@ if (algo == NULL) { gnutls_assert (); - _gnutls_x509_log ("Hash algorithm: %d\n", hash); + _gnutls_x509_log("Hash algorithm: %d\n", hash); return GNUTLS_E_UNKNOWN_PK_ALGORITHM; } @@ -129,7 +129,7 @@ */ static int pkcs1_rsa_sign (gnutls_digest_algorithm_t hash, const gnutls_datum_t * text, - bigint_t * params, int params_len, gnutls_datum_t * signature) + mpi_t * params, int params_len, gnutls_datum_t * signature) { int ret; opaque _digest[MAX_HASH_SIZE]; @@ -173,7 +173,7 @@ static int dsa_sign (const gnutls_datum_t * text, - bigint_t * params, int params_len, gnutls_datum_t * signature) + mpi_t * params, int params_len, gnutls_datum_t * signature) { int ret; opaque _digest[MAX_HASH_SIZE]; diff -Nru gnutls26-2.8.6/lib/x509/verify.c gnutls26-2.4.1/lib/x509/verify.c --- gnutls26-2.8.6/lib/x509/verify.c 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/verify.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -42,47 +42,17 @@ const gnutls_x509_crt_t * trusted_cas, int tcas_size, unsigned int flags, unsigned int *output); +int _gnutls_x509_verify_signature (const gnutls_datum_t * signed_data, + const gnutls_datum_t * signature, + gnutls_x509_crt_t issuer); -static int is_crl_issuer (gnutls_x509_crl_t crl, - gnutls_x509_crt_t issuer_cert); - +static + int is_crl_issuer (gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer_cert); static int _gnutls_verify_crl2 (gnutls_x509_crl_t crl, const gnutls_x509_crt_t * trusted_cas, int tcas_size, unsigned int flags, unsigned int *output); -/* Checks if two certs are identical. Return 0 onn match. */ -static int -check_if_same_cert (gnutls_x509_crt_t cert1, gnutls_x509_crt_t cert2) -{ - gnutls_datum_t cert1bin = { NULL, 0 }, cert2bin = { NULL, 0 }; - int result; - - result = _gnutls_x509_der_encode (cert1->cert, "", &cert1bin, 0); - if (result < 0) - { - gnutls_assert (); - goto cleanup; - } - - result = _gnutls_x509_der_encode (cert2->cert, "", &cert2bin, 0); - if (result < 0) - { - gnutls_assert (); - goto cleanup; - } - - if ((cert1bin.size == cert2bin.size) && - (memcmp (cert1bin.data, cert2bin.data, cert1bin.size) == 0)) - result = 0; - else - result = 1; - - cleanup: - _gnutls_free_datum (&cert1bin); - _gnutls_free_datum (&cert2bin); - return result; -} /* Checks if the issuer of a certificate is a * Certificate Authority, or if the certificate is the same @@ -157,23 +127,11 @@ } } - result = gnutls_x509_crt_get_ca_status (issuer, NULL); - if (result == 1) + if (gnutls_x509_crt_get_ca_status (issuer, NULL) == 1) { result = 1; goto cleanup; } - /* Handle V1 CAs that do not have a basicConstraint, but accept - these certs only if the appropriate flags are set. */ - else if ((result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) && - ((flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT) || - ((flags & GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT) && - (gnutls_x509_crt_check_issuer (issuer, issuer) == 1)))) - { - gnutls_assert (); - result = 1; - goto cleanup; - } else gnutls_assert (); @@ -332,7 +290,7 @@ } ret = - _gnutls_x509_verify_signature (&cert_signed_data, NULL, &cert_signature, + _gnutls_x509_verify_signature (&cert_signed_data, &cert_signature, issuer); if (ret < 0) { @@ -364,7 +322,6 @@ { if (output) *output |= GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID; - ret = 0; } } @@ -378,17 +335,17 @@ } /** - * gnutls_x509_crt_check_issuer - check if certificate has given issuer - * @cert: is the certificate to be checked - * @issuer: is the certificate of a possible issuer - * - * This function will check if the given certificate was issued by the - * given issuer. - * - * Returns: It will return true (1) if the given certificate is issued - * by the given issuer, and false (0) if not. A negative value is - * returned in case of an error. - **/ + * gnutls_x509_crt_check_issuer - This function checks if the certificate given has the given issuer + * @cert: is the certificate to be checked + * @issuer: is the certificate of a possible issuer + * + * This function will check if the given certificate was issued by the + * given issuer. It will return true (1) if the given certificate is issued + * by the given issuer, and false (0) if not. + * + * A negative value is returned in case of an error. + * + **/ int gnutls_x509_crt_check_issuer (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer) @@ -397,12 +354,16 @@ } -/* Verify X.509 certificate chain. +/* The algorithm used is: + * 1. Check last certificate in the chain. If it is not verified return. + * 2. Check if any certificates in the chain are revoked. If yes return. + * 3. Try to verify the rest of certificates in the chain. If not verified return. + * 4. Return 0. * * Note that the return value is an OR of GNUTLS_CERT_* elements. * - * This function verifies a X.509 certificate list. The certificate - * list should lead to a trusted certificate in order to be trusted. + * This function verifies a X.509 certificate list. The certificate list should + * lead to a trusted CA in order to be trusted. */ static unsigned int _gnutls_x509_verify_certificate (const gnutls_x509_crt_t * certificate_list, @@ -415,56 +376,16 @@ int i = 0, ret; unsigned int status = 0, output; - if (clist_size > 1) - { - /* Check if the last certificate in the path is self signed. - * In that case ignore it (a certificate is trusted only if it - * leads to a trusted party by us, not the server's). - * - * This prevents from verifying self signed certificates against - * themselves. This (although not bad) caused verification - * failures on some root self signed certificates that use the - * MD2 algorithm. - */ - if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1], - certificate_list[clist_size - 1]) > 0) - { - clist_size--; - } - } - - /* We want to shorten the chain by removing the cert that matches - * one of the certs we trust and all the certs after that i.e. if - * cert chain is A signed-by B signed-by C signed-by D (signed-by - * self-signed E but already removed above), and we trust B, remove - * B, C and D. We must leave the first cert on chain. */ - if (clist_size > 1 && !(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME)) - { - for (i = 1; i < clist_size; i++) - { - int j; - - for (j = 0; j < tcas_size; j++) - { - if (check_if_same_cert (certificate_list[i], - trusted_cas[j]) == 0) - { - clist_size = i; - break; - } - } - /* clist_size may have been changed which gets out of loop */ - } - } - /* Verify the last certificate in the certificate path * against the trusted CA certificate list. * * If no CAs are present returns CERT_INVALID. Thus works * in self signed etc certificates. */ - ret = _gnutls_verify_certificate2 (certificate_list[clist_size - 1], - trusted_cas, tcas_size, flags, &output); + ret = + _gnutls_verify_certificate2 (certificate_list[clist_size - 1], + trusted_cas, tcas_size, flags, &output); + if (ret == 0) { /* if the last certificate in the certificate @@ -493,33 +414,18 @@ } #endif - /* Check activation/expiration times + /* Check if the last certificate in the path is self signed. + * In that case ignore it (a certificate is trusted only if it + * leads to a trusted party by us, not the server's). */ - if (!(flags & GNUTLS_VERIFY_DISABLE_TIME_CHECKS)) + if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1], + certificate_list[clist_size - 1]) > 0 + && clist_size > 0) { - time_t t, now = time (0); - - for (i = 0; i < clist_size; i++) - { - t = gnutls_x509_crt_get_activation_time (certificate_list[i]); - if (t == (time_t) -1 || now < t) - { - status |= GNUTLS_CERT_NOT_ACTIVATED; - status |= GNUTLS_CERT_INVALID; - return status; - } - - t = gnutls_x509_crt_get_expiration_time (certificate_list[i]); - if (t == (time_t) -1 || now > t) - { - status |= GNUTLS_CERT_EXPIRED; - status |= GNUTLS_CERT_INVALID; - return status; - } - } + clist_size--; } - /* Verify the certificate path (chain) + /* Verify the certificate path (chain) */ for (i = clist_size - 1; i > 0; i--) { @@ -530,7 +436,7 @@ * certificates can exist in a supplied chain. */ if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT)) - flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT); + flags ^= GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT; if ((ret = _gnutls_verify_certificate2 (certificate_list[i - 1], &certificate_list[i], 1, flags, @@ -629,13 +535,12 @@ */ static int _pkcs1_rsa_verify_sig (const gnutls_datum_t * text, - const gnutls_datum_t * prehash, - const gnutls_datum_t * signature, bigint_t * params, + const gnutls_datum_t * signature, mpi_t * params, int params_len) { gnutls_mac_algorithm_t hash = GNUTLS_MAC_UNKNOWN; int ret; - opaque digest[MAX_HASH_SIZE], md[MAX_HASH_SIZE], *cmp; + opaque digest[MAX_HASH_SIZE], md[MAX_HASH_SIZE]; int digest_size; digest_hd_st hd; gnutls_datum_t decrypted; @@ -668,32 +573,17 @@ return GNUTLS_E_ASN1_GENERIC_ERROR; } - if (prehash && prehash->data && prehash->size == digest_size) + ret = _gnutls_hash_init (&hd, hash); + if (ret < 0) { - cmp = prehash->data; + gnutls_assert (); + return ret; } - else - { - if (!text) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - ret = _gnutls_hash_init (&hd, hash); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - _gnutls_hash (&hd, text->data, text->size); - _gnutls_hash_deinit (&hd, md); - cmp = md; - } + _gnutls_hash (&hd, text->data, text->size); + _gnutls_hash_deinit (&hd, md); - if (memcmp (cmp, digest, digest_size) != 0) + if (memcmp (md, digest, digest_size) != 0) { gnutls_assert (); return GNUTLS_E_PK_SIG_VERIFY_FAILED; @@ -706,8 +596,7 @@ */ static int dsa_verify_sig (const gnutls_datum_t * text, - const gnutls_datum_t * hash, - const gnutls_datum_t * signature, bigint_t * params, + const gnutls_datum_t * signature, mpi_t * params, int params_len) { int ret; @@ -715,25 +604,18 @@ gnutls_datum_t digest; digest_hd_st hd; - if (hash && hash->data && hash->size == 20) + ret = _gnutls_hash_init (&hd, GNUTLS_MAC_SHA1); + if (ret < 0) { - digest = *hash; + gnutls_assert (); + return ret; } - else - { - ret = _gnutls_hash_init (&hd, GNUTLS_MAC_SHA1); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - _gnutls_hash (&hd, text->data, text->size); - _gnutls_hash_deinit (&hd, _digest); + _gnutls_hash (&hd, text->data, text->size); + _gnutls_hash_deinit (&hd, _digest); - digest.data = _digest; - digest.size = 20; - } + digest.data = _digest; + digest.size = 20; ret = _gnutls_dsa_verify (&digest, signature, params, params_len); @@ -745,9 +627,8 @@ */ static int verify_sig (const gnutls_datum_t * tbs, - const gnutls_datum_t * hash, const gnutls_datum_t * signature, - gnutls_pk_algorithm_t pk, bigint_t * issuer_params, + gnutls_pk_algorithm_t pk, mpi_t * issuer_params, int issuer_params_size) { @@ -756,7 +637,7 @@ case GNUTLS_PK_RSA: if (_pkcs1_rsa_verify_sig - (tbs, hash, signature, issuer_params, issuer_params_size) != 0) + (tbs, signature, issuer_params, issuer_params_size) != 0) { gnutls_assert (); return 0; @@ -767,7 +648,7 @@ case GNUTLS_PK_DSA: if (dsa_verify_sig - (tbs, hash, signature, issuer_params, issuer_params_size) != 0) + (tbs, signature, issuer_params, issuer_params_size) != 0) { gnutls_assert (); return 0; @@ -782,73 +663,6 @@ } } -int -_gnutls_x509_verify_algorithm (gnutls_mac_algorithm_t *hash, - const gnutls_datum_t * signature, - const gnutls_x509_crt_t issuer) -{ - bigint_t issuer_params[MAX_PUBLIC_PARAMS_SIZE]; - opaque digest[MAX_HASH_SIZE]; - gnutls_datum_t decrypted; - int issuer_params_size; - int digest_size; - int ret, i; - - switch (gnutls_x509_crt_get_pk_algorithm (issuer, NULL)) - { - case GNUTLS_PK_DSA: - if (hash) *hash = GNUTLS_MAC_SHA1; - return 0; - - case GNUTLS_PK_RSA: - issuer_params_size = MAX_PUBLIC_PARAMS_SIZE; - ret = _gnutls_x509_crt_get_mpis (issuer, issuer_params, &issuer_params_size); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - ret = - _gnutls_pkcs1_rsa_decrypt (&decrypted, signature, - issuer_params, issuer_params_size, 1); - - /* release allocated mpis */ - for (i = 0; i < issuer_params_size; i++) - { - _gnutls_mpi_release (&issuer_params[i]); - } - - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - digest_size = sizeof (digest); - if ((ret = - decode_ber_digest_info (&decrypted, hash, digest, &digest_size)) != 0) - { - gnutls_assert (); - _gnutls_free_datum (&decrypted); - return ret; - } - - _gnutls_free_datum (&decrypted); - if (digest_size != _gnutls_hash_get_algo_len (*hash)) - { - gnutls_assert (); - return GNUTLS_E_ASN1_GENERIC_ERROR; - } - - return 0; - - default: - gnutls_assert (); - return GNUTLS_E_INTERNAL_ERROR; - } -} - /* verifies if the certificate is properly signed. * returns 0 on failure and 1 on success. * @@ -857,11 +671,10 @@ */ int _gnutls_x509_verify_signature (const gnutls_datum_t * tbs, - const gnutls_datum_t * hash, const gnutls_datum_t * signature, gnutls_x509_crt_t issuer) { - bigint_t issuer_params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t issuer_params[MAX_PUBLIC_PARAMS_SIZE]; int ret, issuer_params_size, i; /* Read the MPI parameters from the issuer's certificate. @@ -876,7 +689,7 @@ } ret = - verify_sig (tbs, hash, signature, + verify_sig (tbs, signature, gnutls_x509_crt_get_pk_algorithm (issuer, NULL), issuer_params, issuer_params_size); if (ret < 0) @@ -907,7 +720,7 @@ { int ret; - ret = verify_sig (tbs, NULL, signature, issuer->pk_algorithm, + ret = verify_sig (tbs, signature, issuer->pk_algorithm, issuer->params, issuer->params_size); if (ret < 0) { @@ -929,6 +742,9 @@ * @verify: will hold the certificate verification output. * * This function will try to verify the given certificate list and return its status. + * Note that expiration and activation dates are not checked + * by this function, you should check them using the appropriate functions. + * * If no flags are specified (0), this function will use the * basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate * authority is allowed to sign a certificate. @@ -1012,17 +828,17 @@ #ifdef ENABLE_PKI /** - * gnutls_x509_crl_check_issuer - checks if CRL has given issuer - * @crl: is the CRL to be checked - * @issuer: is the certificate of a possible issuer - * - * This function will check if the given CRL was issued by the given - * issuer certificate. It will return true (1) if the given CRL was - * issued by the given issuer, and false (0) if not. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ + * gnutls_x509_crl_check_issuer - This function checks if the CRL given has the given issuer + * @crl: is the CRL to be checked + * @issuer: is the certificate of a possible issuer + * + * This function will check if the given CRL was issued by the + * given issuer certificate. It will return true (1) if the given CRL was issued + * by the given issuer, and false (0) if not. + * + * A negative value is returned in case of an error. + * + **/ int gnutls_x509_crl_check_issuer (gnutls_x509_crl_t cert, gnutls_x509_crt_t issuer) @@ -1031,20 +847,21 @@ } /** - * gnutls_x509_crl_verify - This function verifies the given crl against a given trusted one - * @crl: is the crl to be verified - * @CA_list: is a certificate list that is considered to be trusted one - * @CA_list_length: holds the number of CA certificates in CA_list - * @flags: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. - * @verify: will hold the crl verification output. - * - * This function will try to verify the given crl and return its status. - * See gnutls_x509_crt_list_verify() for a detailed description of - * return values. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - **/ + * gnutls_x509_crl_verify - This function verifies the given crl against a given trusted one + * @crl: is the crl to be verified + * @CA_list: is a certificate list that is considered to be trusted one + * @CA_list_length: holds the number of CA certificates in CA_list + * @flags: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. + * @verify: will hold the crl verification output. + * + * This function will try to verify the given crl and return its status. + * See gnutls_x509_crt_list_verify() for a detailed description of + * return values. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value.and a negative value in case of an error. + * + **/ int gnutls_x509_crl_verify (gnutls_x509_crl_t crl, const gnutls_x509_crt_t * CA_list, @@ -1188,7 +1005,7 @@ } ret = - _gnutls_x509_verify_signature (&crl_signed_data, NULL, &crl_signature, issuer); + _gnutls_x509_verify_signature (&crl_signed_data, &crl_signature, issuer); if (ret < 0) { gnutls_assert (); @@ -1214,7 +1031,6 @@ { if (output) *output |= GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID; - ret = 0; } } diff -Nru gnutls26-2.8.6/lib/x509/x509-api.texi gnutls26-2.4.1/lib/x509/x509-api.texi --- gnutls26-2.8.6/lib/x509/x509-api.texi 2010-03-15 10:35:24.000000000 +0000 +++ gnutls26-2.4.1/lib/x509/x509-api.texi 2008-06-30 22:14:34.000000000 +0100 @@ -1,20 +1,4 @@ -@subheading gnutls_x509_dn_oid_known -@anchor{gnutls_x509_dn_oid_known} -@deftypefun {int} {gnutls_x509_dn_oid_known} (const char * @var{oid}) -@var{oid}: holds an Object Identifier in a null terminated string - -This function will inform about known DN OIDs. This is useful since -functions like @code{gnutls_x509_crt_set_dn_by_oid()} use the information -on known OIDs to properly encode their input. Object Identifiers -that are not known are not encoded by these functions, and their -input is stored directly into the ASN.1 structure. In that case of -unknown OIDs, you have the responsibility of DER encoding your -data. - -@strong{Returns:} 1 on known OIDs and 0 otherwise. -@end deftypefun - @subheading gnutls_x509_crl_init @anchor{gnutls_x509_crl_init} @deftypefun {int} {gnutls_x509_crl_init} (gnutls_x509_crl_t * @var{crl}) @@ -245,327 +229,283 @@ negative error value. and a negative value on failure. @end deftypefun -@subheading gnutls_x509_crl_get_authority_key_id -@anchor{gnutls_x509_crl_get_authority_key_id} -@deftypefun {int} {gnutls_x509_crl_get_authority_key_id} (gnutls_x509_crl_t @var{crl}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{ret}: The place where the identifier will be copied - -@var{ret_size}: Holds the size of the result field. +@subheading gnutls_x509_dn_init +@anchor{gnutls_x509_dn_init} +@deftypefun {int} {gnutls_x509_dn_init} (gnutls_x509_dn_t * @var{odn}) +@var{odn}: the object to be initialized -@var{critical}: will be non zero if the extension is marked as critical -(may be null) +This function initializes a @code{gnutls_x509_dn_t} structure. -This function will return the CRL authority's key identifier. This -is obtained by the X.509 Authority Key identifier extension field -(2.5.29.35). Note that this function only returns the -keyIdentifier field of the extension. +The object returned must be deallocated using +@code{gnutls_x509_dn_deinit()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. +negative error value. -@strong{Since:} 2.8.0 +@strong{Since:} 2.4.0 @end deftypefun -@subheading gnutls_x509_crl_get_number -@anchor{gnutls_x509_crl_get_number} -@deftypefun {int} {gnutls_x509_crl_get_number} (gnutls_x509_crl_t @var{crl}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{ret}: The place where the number will be copied - -@var{ret_size}: Holds the size of the result field. +@subheading gnutls_x509_dn_import +@anchor{gnutls_x509_dn_import} +@deftypefun {int} {gnutls_x509_dn_import} (gnutls_x509_dn_t @var{odn}, const gnutls_datum_t * @var{data}) +@var{odn}: the structure that will hold the imported DN -@var{critical}: will be non zero if the extension is marked as critical -(may be null) +@var{data}: should contain a DER encoded RDN sequence -This function will return the CRL number extension. This is -obtained by the CRL Number extension field (2.5.29.20). +This function parses an RDN sequence and stores the result to a +@code{gnutls_x509_dn_t} structure. The structure must have been initialized +with @code{gnutls_x509_dn_init()}. You may use @code{gnutls_x509_dn_get_rdn_ava()} to +decode the DN. +This function parses an RDN sequence and stores the result to a +@code{gnutls_x509_dn_t} structure. The structure must have been initialized +with @code{gnutls_x509_dn_init()}. You may use @code{gnutls_x509_dn_get_rdn_ava()} to +decode the DN. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. +negative error value. -@strong{Since:} 2.8.0 +@strong{Since:} 2.4.0 @end deftypefun -@subheading gnutls_x509_crl_get_extension_oid -@anchor{gnutls_x509_crl_get_extension_oid} -@deftypefun {int} {gnutls_x509_crl_get_extension_oid} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{indx}: Specifies which extension OID to send, use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID (may be null) - -@var{sizeof_oid}: initially holds the size of @code{oid} - -This function will return the requested extension OID in the CRL. -The extension OID will be stored as a string in the provided -buffer. +@subheading gnutls_x509_dn_deinit +@anchor{gnutls_x509_dn_deinit} +@deftypefun {void} {gnutls_x509_dn_deinit} (gnutls_x509_dn_t @var{idn}) +@var{idn}: a DN opaque object pointer. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +This function deallocates the DN object as returned by +@code{gnutls_x509_dn_import()}. -@strong{Since:} 2.8.0 +@strong{Since:} 2.4.0 @end deftypefun -@subheading gnutls_x509_crl_get_extension_info -@anchor{gnutls_x509_crl_get_extension_info} -@deftypefun {int} {gnutls_x509_crl_get_extension_info} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure - -@var{indx}: Specifies which extension OID to send, use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID - -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. - -@var{critical}: output variable with critical flag, may be NULL. +@subheading gnutls_x509_rdn_get +@anchor{gnutls_x509_rdn_get} +@deftypefun {int} {gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{sizeof_buf}) +@var{idn}: should contain a DER encoded RDN sequence -This function will return the requested extension OID in the CRL, -and the critical flag for it. The extension OID will be stored as -a string in the provided buffer. Use -@code{gnutls_x509_crl_get_extension_data()} to extract the data. +@var{buf}: a pointer to a structure to hold the peer's name -If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. +@var{sizeof_buf}: holds the size of @code{buf} -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +This function will return the name of the given RDN sequence. The +name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in +RFC2253. -@strong{Since:} 2.8.0 +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is +updated if the provided buffer is not long enough, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crl_get_extension_data -@anchor{gnutls_x509_crl_get_extension_data} -@deftypefun {int} {gnutls_x509_crl_get_extension_data} (gnutls_x509_crl_t @var{crl}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{crl}: should contain a @code{gnutls_x509_crl_t} structure +@subheading gnutls_x509_rdn_get_by_oid +@anchor{gnutls_x509_rdn_get_by_oid} +@deftypefun {int} {gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{idn}: should contain a DER encoded RDN sequence -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. +@var{oid}: an Object Identifier -@var{data}: a pointer to a structure to hold the data (may be null) +@var{indx}: In case multiple same OIDs exist in the RDN indicates which +to send. Use 0 for the first one. -@var{sizeof_data}: initially holds the size of @code{oid} +@var{raw_flag}: If non zero then the raw DER data are returned. -This function will return the requested extension data in the CRL. -The extension data will be stored as a string in the provided -buffer. +@var{buf}: a pointer to a structure to hold the peer's name -Use @code{gnutls_x509_crl_get_extension_info()} to extract the OID and -critical flag. Use @code{gnutls_x509_crl_get_extension_by_oid()} instead, -if you want to get data indexed by the extension OID rather than -sequence. +@var{sizeof_buf}: holds the size of @code{buf} -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +This function will return the name of the given Object identifier, +of the RDN sequence. The name will be encoded using the rules +from RFC2253. -@strong{Since:} 2.8.0 +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is +updated if the provided buffer is not long enough, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crl_set_version -@anchor{gnutls_x509_crl_set_version} -@deftypefun {int} {gnutls_x509_crl_set_version} (gnutls_x509_crl_t @var{crl}, unsigned int @var{version}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_rdn_get_oid +@anchor{gnutls_x509_rdn_get_oid} +@deftypefun {int} {gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{idn}: should contain a DER encoded RDN sequence -@var{version}: holds the version number. For CRLv1 crls must be 1. +@var{indx}: Indicates which OID to return. Use 0 for the first one. -This function will set the version of the CRL. This -must be one for CRL version 1, and so on. The CRLs generated -by gnutls should have a version number of 2. +This function will return the specified Object identifier, of the +RDN sequence. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is +updated if the provided buffer is not long enough, otherwise a negative error value. + +@strong{Since:} 2.4.0 @end deftypefun -@subheading gnutls_x509_crl_sign2 -@anchor{gnutls_x509_crl_sign2} -@deftypefun {int} {gnutls_x509_crl_sign2} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_dn_export +@anchor{gnutls_x509_dn_export} +@deftypefun {int} {gnutls_x509_dn_export} (gnutls_x509_dn_t @var{dn}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{dn}: Holds the opaque DN object -@var{issuer}: is the certificate of the certificate issuer +@var{format}: the format of output params. One of PEM or DER. -@var{issuer_key}: holds the issuer's private key +@var{output_data}: will contain a DN PEM or DER encoded -@var{dig}: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) -@var{flags}: must be 0 +This function will export the DN to DER or PEM format. -This function will sign the CRL with the issuer's private key, and -will copy the issuer's information into the CRL. +If the buffer provided is not long enough to hold the output, then +*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} +will be returned. -This must be the last step in a certificate CRL since all -the previously set parameters are now signed. +If the structure is PEM encoded, it will have a header +of "BEGIN NAME". @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crl_sign -@anchor{gnutls_x509_crl_sign} -@deftypefun {int} {gnutls_x509_crl_sign} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_dn_oid_known +@anchor{gnutls_x509_dn_oid_known} +@deftypefun {int} {gnutls_x509_dn_oid_known} (const char * @var{oid}) +@var{oid}: holds an Object Identifier in a null terminated string -@var{issuer}: is the certificate of the certificate issuer +This function will inform about known DN OIDs. This is useful since +functions like @code{gnutls_x509_crt_set_dn_by_oid()} use the information +on known OIDs to properly encode their input. Object Identifiers +that are not known are not encoded by these functions, and their +input is stored directly into the ASN.1 structure. In that case of +unknown OIDs, you have the responsibility of DER encoding your +data. -@var{issuer_key}: holds the issuer's private key +@strong{Returns:} 1 on known OIDs and 0 otherwise. +@end deftypefun -This function is the same a @code{gnutls_x509_crl_sign2()} with no flags, and -SHA1 as the hash algorithm. +@subheading gnutls_x509_crt_init +@anchor{gnutls_x509_crt_init} +@deftypefun {int} {gnutls_x509_crt_init} (gnutls_x509_crt_t * @var{cert}) +@var{cert}: The structure to be initialized + +This function will initialize an X.509 certificate structure. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crl_set_this_update -@anchor{gnutls_x509_crl_set_this_update} -@deftypefun {int} {gnutls_x509_crl_set_this_update} (gnutls_x509_crl_t @var{crl}, time_t @var{act_time}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_crt_deinit +@anchor{gnutls_x509_crt_deinit} +@deftypefun {void} {gnutls_x509_crt_deinit} (gnutls_x509_crt_t @var{cert}) +@var{cert}: The structure to be initialized -@var{act_time}: The actual time +This function will deinitialize a CRL structure. +@end deftypefun -This function will set the time this CRL was issued. +@subheading gnutls_x509_crt_import +@anchor{gnutls_x509_crt_import} +@deftypefun {int} {gnutls_x509_crt_import} (gnutls_x509_crt_t @var{cert}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) +@var{cert}: The structure to store the parsed certificate. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun +@var{data}: The DER or PEM encoded certificate. -@subheading gnutls_x509_crl_set_next_update -@anchor{gnutls_x509_crl_set_next_update} -@deftypefun {int} {gnutls_x509_crl_set_next_update} (gnutls_x509_crl_t @var{crl}, time_t @var{exp_time}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@var{format}: One of DER or PEM -@var{exp_time}: The actual time +This function will convert the given DER or PEM encoded Certificate +to the native gnutls_x509_crt_t format. The output will be stored in @code{cert}. -This function will set the time this CRL will be updated. +If the Certificate is PEM encoded it should have a header of "X509 CERTIFICATE", or +"CERTIFICATE". @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crl_set_crt_serial -@anchor{gnutls_x509_crl_set_crt_serial} -@deftypefun {int} {gnutls_x509_crl_set_crt_serial} (gnutls_x509_crl_t @var{crl}, const void * @var{serial}, size_t @var{serial_size}, time_t @var{revocation_time}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_crt_get_issuer_dn +@anchor{gnutls_x509_crt_get_issuer_dn} +@deftypefun {int} {gnutls_x509_crt_get_issuer_dn} (gnutls_x509_crt_t @var{cert}, char * @var{buf}, size_t * @var{sizeof_buf}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{serial}: The revoked certificate's serial number +@var{buf}: a pointer to a structure to hold the name (may be null) -@var{serial_size}: Holds the size of the serial field. +@var{sizeof_buf}: initially holds the size of @code{buf} -@var{revocation_time}: The time this certificate was revoked +This function will copy the name of the Certificate issuer in the +provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data. -This function will set a revoked certificate's serial number to the CRL. +If @code{buf} is null then only the size will be filled. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crl_set_crt -@anchor{gnutls_x509_crl_set_crt} -@deftypefun {int} {gnutls_x509_crl_set_crt} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{crt}, time_t @var{revocation_time}) -@var{crl}: should contain a gnutls_x509_crl_t structure +@subheading gnutls_x509_crt_get_issuer_dn_by_oid +@anchor{gnutls_x509_crt_get_issuer_dn_by_oid} +@deftypefun {int} {gnutls_x509_crt_get_issuer_dn_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} with the revoked certificate +@var{oid}: holds an Object Identified in null terminated string -@var{revocation_time}: The time this certificate was revoked +@var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one. -This function will set a revoked certificate's serial number to the CRL. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crl_set_authority_key_id -@anchor{gnutls_x509_crl_set_authority_key_id} -@deftypefun {int} {gnutls_x509_crl_set_authority_key_id} (gnutls_x509_crl_t @var{crl}, const void * @var{id}, size_t @var{id_size}) -@var{crl}: a CRL of type @code{gnutls_x509_crl_t} - -@var{id}: The key ID - -@var{id_size}: Holds the size of the serial field. - -This function will set the CRL's authority key ID extension. Only -the keyIdentifier field can be set with this function. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.8.0 -@end deftypefun - -@subheading gnutls_x509_crl_set_number -@anchor{gnutls_x509_crl_set_number} -@deftypefun {int} {gnutls_x509_crl_set_number} (gnutls_x509_crl_t @var{crl}, const void * @var{nr}, size_t @var{nr_size}) -@var{crl}: a CRL of type @code{gnutls_x509_crl_t} - -@var{nr}: The CRL number - -@var{nr_size}: Holds the size of the nr field. +@var{raw_flag}: If non zero returns the raw DER data of the DN part. -This function will set the CRL's number extension. +@var{buf}: a pointer to a structure to hold the name (may be null) -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@var{sizeof_buf}: initially holds the size of @code{buf} -@strong{Since:} 2.8.0 -@end deftypefun +This function will extract the part of the name of the Certificate +issuer specified by the given OID. The output, if the raw flag is not +used, will be encoded as described in RFC2253. Thus a string that is +ASCII or UTF-8 encoded, depending on the certificate data. -@subheading gnutls_x509_crq_init -@anchor{gnutls_x509_crq_init} -@deftypefun {int} {gnutls_x509_crq_init} (gnutls_x509_crq_t * @var{crq}) -@var{crq}: The structure to be initialized +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '\#' prefix. You can check about known OIDs +using @code{gnutls_x509_dn_oid_known()}. -This function will initialize a PKCS10 certificate request structure. +If @code{buf} is null then only the size will be filled. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_deinit -@anchor{gnutls_x509_crq_deinit} -@deftypefun {void} {gnutls_x509_crq_deinit} (gnutls_x509_crq_t @var{crq}) -@var{crq}: The structure to be initialized - -This function will deinitialize a CRL structure. -@end deftypefun +@subheading gnutls_x509_crt_get_issuer_dn_oid +@anchor{gnutls_x509_crt_get_issuer_dn_oid} +@deftypefun {int} {gnutls_x509_crt_get_issuer_dn_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@subheading gnutls_x509_crq_import -@anchor{gnutls_x509_crq_import} -@deftypefun {int} {gnutls_x509_crq_import} (gnutls_x509_crq_t @var{crq}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) -@var{crq}: The structure to store the parsed certificate request. +@var{indx}: This specifies which OID to return. Use zero to get the first one. -@var{data}: The DER or PEM encoded certificate. +@var{oid}: a pointer to a buffer to hold the OID (may be null) -@var{format}: One of DER or PEM +@var{sizeof_oid}: initially holds the size of @code{oid} -This function will convert the given DER or PEM encoded Certificate -to the native gnutls_x509_crq_t format. The output will be stored in @code{cert}. +This function will extract the OIDs of the name of the Certificate +issuer specified by the given index. -If the Certificate is PEM encoded it should have a header of "NEW CERTIFICATE REQUEST". +If @code{oid} is null then only the size will be filled. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_oid will be updated with +the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_get_dn -@anchor{gnutls_x509_crq_get_dn} -@deftypefun {int} {gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{sizeof_buf}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_dn +@anchor{gnutls_x509_crt_get_dn} +@deftypefun {int} {gnutls_x509_crt_get_dn} (gnutls_x509_crt_t @var{cert}, char * @var{buf}, size_t * @var{sizeof_buf}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{buf}: a pointer to a structure to hold the name (may be null) @var{sizeof_buf}: initially holds the size of @code{buf} -This function will copy the name of the Certificate request -subject in the provided buffer. The name will be in the form +This function will copy the name of the Certificate in the +provided buffer. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string will be ASCII or UTF-8 encoded, depending on the certificate data. @@ -576,26 +516,25 @@ the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_get_dn_by_oid -@anchor{gnutls_x509_crq_get_dn_by_oid} -@deftypefun {int} {gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_dn_by_oid +@anchor{gnutls_x509_crt_get_dn_by_oid} +@deftypefun {int} {gnutls_x509_crt_get_dn_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{oid}: holds an Object Identified in null terminated string -@var{indx}: In case multiple same OIDs exist in the RDN, this specifies -which to send. Use zero to get the first one. +@var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one. @var{raw_flag}: If non zero returns the raw DER data of the DN part. -@var{buf}: a pointer to a structure to hold the name (may be null) +@var{buf}: a pointer where the DN part will be copied (may be null). @var{sizeof_buf}: initially holds the size of @code{buf} This function will extract the part of the name of the Certificate -request subject, specified by the given OID. The output will be -encoded as described in RFC2253. The output string will be ASCII -or UTF-8 encoded, depending on the certificate data. +subject specified by the given OID. The output, if the raw flag is not +used, will be encoded as described in RFC2253. Thus a string that is +ASCII or UTF-8 encoded, depending on the certificate data. Some helper macros with popular OIDs can be found in gnutls/x509.h If raw flag is zero, this function will only return known OIDs as @@ -610,19 +549,19 @@ the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_get_dn_oid -@anchor{gnutls_x509_crq_get_dn_oid} -@deftypefun {int} {gnutls_x509_crq_get_dn_oid} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_dn_oid +@anchor{gnutls_x509_crt_get_dn_oid} +@deftypefun {int} {gnutls_x509_crt_get_dn_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{indx}: Specifies which DN OID to send. Use zero to get the first one. +@var{indx}: This specifies which OID to return. Use zero to get the first one. -@var{oid}: a pointer to a structure to hold the name (may be null) +@var{oid}: a pointer to a buffer to hold the OID (may be null) @var{sizeof_oid}: initially holds the size of @code{oid} -This function will extract the requested OID of the name of the -Certificate request subject, specified by the given index. +This function will extract the OIDs of the name of the Certificate +subject specified by the given index. If oid is null then only the size will be filled. @@ -631,321 +570,369 @@ the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_get_challenge_password -@anchor{gnutls_x509_crq_get_challenge_password} -@deftypefun {int} {gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{sizeof_pass}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_signature_algorithm +@anchor{gnutls_x509_crt_get_signature_algorithm} +@deftypefun {int} {gnutls_x509_crt_get_signature_algorithm} (gnutls_x509_crt_t @var{cert}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{pass}: will hold a null terminated password +This function will return a value of the @code{gnutls_sign_algorithm_t} +enumeration that is the signature algorithm. -@var{sizeof_pass}: Initially holds the size of @code{pass}. +@strong{Returns:} a @code{gnutls_sign_algorithm_t} value, or a negative value on +error. +@end deftypefun -This function will return the challenge password in the -request. +@subheading gnutls_x509_crt_get_signature +@anchor{gnutls_x509_crt_get_signature} +@deftypefun {int} {gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sizeof_sig}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{sig}: a pointer where the signature part will be copied (may be null). + +@var{sizeof_sig}: initially holds the size of @code{sig} + +This function will extract the signature field of a certificate. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value. and a negative value on error. @end deftypefun -@subheading gnutls_x509_crq_set_attribute_by_oid -@anchor{gnutls_x509_crq_set_attribute_by_oid} -@deftypefun {int} {gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{sizeof_buf}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_version +@anchor{gnutls_x509_crt_get_version} +@deftypefun {int} {gnutls_x509_crt_get_version} (gnutls_x509_crt_t @var{cert}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{oid}: holds an Object Identified in null terminated string +This function will return the version of the specified Certificate. -@var{buf}: a pointer to a structure that holds the attribute data +@strong{Returns:} version of certificate, or a negative value on error. +@end deftypefun -@var{sizeof_buf}: holds the size of @code{buf} +@subheading gnutls_x509_crt_get_activation_time +@anchor{gnutls_x509_crt_get_activation_time} +@deftypefun {time_t} {gnutls_x509_crt_get_activation_time} (gnutls_x509_crt_t @var{cert}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -This function will set the attribute in the certificate request specified -by the given Object ID. The attribute must be be DER encoded. +This function will return the time this Certificate was or will be +activated. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} activation time, or (time_t)-1 on error. @end deftypefun -@subheading gnutls_x509_crq_get_attribute_by_oid -@anchor{gnutls_x509_crq_get_attribute_by_oid} -@deftypefun {int} {gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_expiration_time +@anchor{gnutls_x509_crt_get_expiration_time} +@deftypefun {time_t} {gnutls_x509_crt_get_expiration_time} (gnutls_x509_crt_t @var{cert}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{oid}: holds an Object Identified in null terminated string +This function will return the time this Certificate was or will be +expired. -@var{indx}: In case multiple same OIDs exist in the attribute list, this specifies -which to send. Use zero to get the first one. +@strong{Returns:} expiration time, or (time_t)-1 on error. +@end deftypefun -@var{buf}: a pointer to a structure to hold the attribute data (may be null) +@subheading gnutls_x509_crt_get_serial +@anchor{gnutls_x509_crt_get_serial} +@deftypefun {int} {gnutls_x509_crt_get_serial} (gnutls_x509_crt_t @var{cert}, void * @var{result}, size_t * @var{result_size}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{result}: The place where the serial number will be copied -This function will return the attribute in the certificate request specified -by the given Object ID. The attribute will be DER encoded. +@var{result_size}: Holds the size of the result field. + +This function will return the X.509 certificate's serial number. +This is obtained by the X509 Certificate serialNumber +field. Serial is not always a 32 or 64bit number. Some CAs use +large serial numbers, thus it may be wise to handle it as something +opaque. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_crq_set_dn_by_oid -@anchor{gnutls_x509_crq_set_dn_by_oid} -@deftypefun {int} {gnutls_x509_crq_set_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{data}, unsigned int @var{sizeof_data}) -@var{crq}: should contain a gnutls_x509_crq_t structure - -@var{oid}: holds an Object Identifier in a null terminated string - -@var{raw_flag}: must be 0, or 1 if the data are DER encoded +@subheading gnutls_x509_crt_get_subject_key_id +@anchor{gnutls_x509_crt_get_subject_key_id} +@deftypefun {int} {gnutls_x509_crt_get_subject_key_id} (gnutls_x509_crt_t @var{cert}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{data}: a pointer to the input data +@var{ret}: The place where the identifier will be copied -@var{sizeof_data}: holds the size of @code{data} +@var{ret_size}: Holds the size of the result field. -This function will set the part of the name of the Certificate -request subject, specified by the given OID. The input string -should be ASCII or UTF-8 encoded. +@var{critical}: will be non zero if the extension is marked as critical (may be null) -Some helper macros with popular OIDs can be found in gnutls/x509.h -With this function you can only set the known OIDs. You can test -for known OIDs using @code{gnutls_x509_dn_oid_known()}. For OIDs that are -not known (by gnutls) you should properly DER encode your data, -and call this function with raw_flag set. +This function will return the X.509v3 certificate's subject key identifier. +This is obtained by the X.509 Subject Key identifier extension +field (2.5.29.14). @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_crq_set_version -@anchor{gnutls_x509_crq_set_version} -@deftypefun {int} {gnutls_x509_crq_set_version} (gnutls_x509_crq_t @var{crq}, unsigned int @var{version}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_authority_key_id +@anchor{gnutls_x509_crt_get_authority_key_id} +@deftypefun {int} {gnutls_x509_crt_get_authority_key_id} (gnutls_x509_crt_t @var{cert}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{version}: holds the version number. For v1 Requests must be 1. +@var{critical}: will be non zero if the extension is marked as critical (may be null) -This function will set the version of the certificate request. For -version 1 requests this must be one. +This function will return the X.509v3 certificate authority's key identifier. +This is obtained by the X.509 Authority Key identifier extension +field (2.5.29.35). Note that this function only returns the keyIdentifier +field of the extension. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_crq_get_version -@anchor{gnutls_x509_crq_get_version} -@deftypefun {int} {gnutls_x509_crq_get_version} (gnutls_x509_crq_t @var{crq}) -@var{crq}: should contain a gnutls_x509_crq_t structure - -This function will return the version of the specified Certificate request. - -@strong{Returns:} version of certificate request, or a negative value on -error. -@end deftypefun +@subheading gnutls_x509_crt_get_pk_algorithm +@anchor{gnutls_x509_crt_get_pk_algorithm} +@deftypefun {int} {gnutls_x509_crt_get_pk_algorithm} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{bits}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@subheading gnutls_x509_crq_set_key -@anchor{gnutls_x509_crq_set_key} -@deftypefun {int} {gnutls_x509_crq_set_key} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@var{bits}: if bits is non null it will hold the size of the parameters' in bits -@var{key}: holds a private key +This function will return the public key algorithm of an X.509 +certificate. -This function will set the public parameters from the given private key to the -request. Only RSA keys are currently supported. +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on +success, or a negative value on error. @end deftypefun -@subheading gnutls_x509_crq_get_key_rsa_raw -@anchor{gnutls_x509_crq_get_key_rsa_raw} -@deftypefun {int} {gnutls_x509_crq_get_key_rsa_raw} (gnutls_x509_crq_t @var{crq}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) -@var{crq}: Holds the certificate - -@var{m}: will hold the modulus - -@var{e}: will hold the public exponent +@subheading gnutls_x509_crt_get_subject_alt_name +@anchor{gnutls_x509_crt_get_subject_alt_name} +@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. +@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@var{ret}: is the place where the alternative name will be copied to -@strong{Since:} 2.8.0 -@end deftypefun +@var{ret_size}: holds the size of ret. -@subheading gnutls_x509_crq_set_key_rsa_raw -@anchor{gnutls_x509_crq_set_key_rsa_raw} -@deftypefun {int} {gnutls_x509_crq_set_key_rsa_raw} (gnutls_x509_crq_t @var{crq}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}) -@var{crq}: should contain a @code{gnutls_x509_crq_t} structure +@var{critical}: will be non zero if the extension is marked as critical (may be null) -@var{m}: holds the modulus +This function will return the alternative names, contained in the +given certificate. -@var{e}: holds the public exponent +This is specified in X509v3 Certificate Extensions. GNUTLS will +return the Alternative name (2.5.29.17), or a negative error code. -This function will set the public parameters from the given private -key to the request. Only RSA keys are currently supported. +When the SAN type is otherName, it will extract the data in the +otherName's value field, and @code{GNUTLS_SAN_OTHERNAME} is returned. +You may use @code{gnutls_x509_crt_get_subject_alt_othername_oid()} to get +the corresponding OID and the "virtual" SAN types (e.g., +@code{GNUTLS_SAN_OTHERNAME_XMPP}). -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +If an otherName OID is known, the data will be decoded. Otherwise +the returned data will be DER encoded, and you will have to decode +it yourself. Currently, only the RFC 3920 id-on-xmppAddr SAN is +recognized. -@strong{Since:} 2.6.0 +@strong{Returns:} the alternative subject name type on success, one of the +enumerated @code{gnutls_x509_subject_alt_name_t}. It will return +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough to +hold the value. In that case @code{ret_size} will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then +@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. @end deftypefun -@subheading gnutls_x509_crq_set_challenge_password -@anchor{gnutls_x509_crq_set_challenge_password} -@deftypefun {int} {gnutls_x509_crq_set_challenge_password} (gnutls_x509_crq_t @var{crq}, const char * @var{pass}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_subject_alt_name2 +@anchor{gnutls_x509_crt_get_subject_alt_name2} +@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name2} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int* @var{ret_type}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{pass}: holds a null terminated password +@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) -This function will set a challenge password to be used when revoking the request. +@var{ret}: is the place where the alternative name will be copied to -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun +@var{ret_size}: holds the size of ret. -@subheading gnutls_x509_crq_sign2 -@anchor{gnutls_x509_crq_sign2} -@deftypefun {int} {gnutls_x509_crq_sign2} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) -@var{crq}: should contain a @code{gnutls_x509_crq_t} structure +@var{ret_type}: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). -@var{key}: holds a private key +@var{critical}: will be non zero if the extension is marked as critical (may be null) -@var{dig}: The message digest to use, @code{GNUTLS_DIG_SHA1} is the safe choice unless you know what you're doing. +This function will return the alternative names, contained in the +given certificate. It is the same as @code{gnutls_x509_crt_get_subject_alt_name()} +except for the fact that it will return the type of the alternative +name in @code{ret_type} even if the function fails for some reason (i.e. +the buffer provided is not enough). -@var{flags}: must be 0 +The return values are the same as with @code{gnutls_x509_crt_get_subject_alt_name()}. +@end deftypefun -This function will sign the certificate request with a private key. -This must be the same key as the one used in -@code{gnutls_x509_crt_set_key()} since a certificate request is self -signed. +@subheading gnutls_x509_crt_get_subject_alt_othername_oid +@anchor{gnutls_x509_crt_get_subject_alt_othername_oid} +@deftypefun {int} {gnutls_x509_crt_get_subject_alt_othername_oid} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -This must be the last step in a certificate request generation -since all the previously set parameters are now signed. +@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. -@code{GNUTLS_E_ASN1_VALUE_NOT_FOUND} is returned if you didn't set all -information in the certificate request (e.g., the version using -@code{gnutls_x509_crq_set_version()}). -@end deftypefun +@var{ret}: is the place where the otherName OID will be copied to -@subheading gnutls_x509_crq_sign -@anchor{gnutls_x509_crq_sign} -@deftypefun {int} {gnutls_x509_crq_sign} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@var{ret_size}: holds the size of ret. -@var{key}: holds a private key +This function will extract the type OID of an otherName Subject +Alternative Name, contained in the given certificate, and return +the type as an enumerated element. -This function is the same a @code{gnutls_x509_crq_sign2()} with no flags, and -SHA1 as the hash algorithm. +This function is only useful if +@code{gnutls_x509_crt_get_subject_alt_name()} returned +@code{GNUTLS_SAN_OTHERNAME}. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} the alternative subject name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it +will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, +e.g. @code{GNUTLS_SAN_OTHERNAME_XMPP}, and @code{GNUTLS_SAN_OTHERNAME} for +unknown OIDs. It will return @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if +@code{ret_size} is not large enough to hold the value. In that case +@code{ret_size} will be updated with the required size. If the +certificate does not have an Alternative name with the specified +sequence number and with the otherName type then +@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. @end deftypefun -@subheading gnutls_x509_crq_export -@anchor{gnutls_x509_crq_export} -@deftypefun {int} {gnutls_x509_crq_export} (gnutls_x509_crq_t @var{crq}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{crq}: Holds the request - -@var{format}: the format of output params. One of PEM or DER. - -@var{output_data}: will contain a certificate request PEM or DER encoded +@subheading gnutls_x509_crt_get_basic_constraints +@anchor{gnutls_x509_crt_get_basic_constraints} +@deftypefun {int} {gnutls_x509_crt_get_basic_constraints} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, int * @var{ca}, int * @var{pathlen}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +@var{critical}: will be non zero if the extension is marked as critical -This function will export the certificate request to a PKCS10 +@var{ca}: pointer to output integer indicating CA status, may be NULL, +value is 1 if the certificate CA flag is set, 0 otherwise. -If the buffer provided is not long enough to hold the output, then -GNUTLS_E_SHORT_MEMORY_BUFFER will be returned and -*output_data_size will be updated. +@var{pathlen}: pointer to output integer indicating path length (may be +NULL), non-negative values indicate a present pathLenConstraint +field and the actual value, -1 indicate that the field is absent. -If the structure is PEM encoded, it will have a header of "BEGIN -NEW CERTIFICATE REQUEST". +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19). -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. +@strong{Return value:} If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun -@subheading gnutls_x509_crq_get_pk_algorithm -@anchor{gnutls_x509_crq_get_pk_algorithm} -@deftypefun {int} {gnutls_x509_crq_get_pk_algorithm} (gnutls_x509_crq_t @var{crq}, unsigned int * @var{bits}) -@var{crq}: should contain a gnutls_x509_crq_t structure +@subheading gnutls_x509_crt_get_ca_status +@anchor{gnutls_x509_crt_get_ca_status} +@deftypefun {int} {gnutls_x509_crt_get_ca_status} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{bits}: if bits is non null it will hold the size of the parameters' in bits +@var{critical}: will be non zero if the extension is marked as critical -This function will return the public key algorithm of a PKCS \@code{10} -certificate request. +This function will return certificates CA status, by reading the +basicConstraints X.509 extension (2.5.29.19). If the certificate is +a CA a positive value will be returned, or zero if the certificate +does not have CA flag set. -If bits is non null, it should have enough size to hold the parameters -size in bits. For RSA the bits returned is the modulus. -For DSA the bits returned are of the public -exponent. +Use @code{gnutls_x509_crt_get_basic_constraints()} if you want to read the +pathLenConstraint field too. -@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on -success, or a negative value on error. +A negative value may be returned in case of parsing error. +If the certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun -@subheading gnutls_x509_crq_get_attribute_info -@anchor{gnutls_x509_crq_get_attribute_info} -@deftypefun {int} {gnutls_x509_crq_get_attribute_info} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{indx}: Specifies which attribute OID to send. Use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID +@subheading gnutls_x509_crt_get_key_usage +@anchor{gnutls_x509_crt_get_key_usage} +@deftypefun {int} {gnutls_x509_crt_get_key_usage} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{key_usage}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. +@var{key_usage}: where the key usage bits will be stored -This function will return the requested attribute OID in the -certificate, and the critical flag for it. The attribute OID will -be stored as a string in the provided buffer. Use -@code{gnutls_x509_crq_get_attribute_data()} to extract the data. +@var{critical}: will be non zero if the extension is marked as critical -If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. +This function will return certificate's key usage, by reading the +keyUsage X.509 extension (2.5.29.15). The key usage value will -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +@strong{ORed values of the:} @code{GNUTLS_KEY_DIGITAL_SIGNATURE}, +@code{GNUTLS_KEY_NON_REPUDIATION}, @code{GNUTLS_KEY_KEY_ENCIPHERMENT}, +@code{GNUTLS_KEY_DATA_ENCIPHERMENT}, @code{GNUTLS_KEY_KEY_AGREEMENT}, +@code{GNUTLS_KEY_KEY_CERT_SIGN}, @code{GNUTLS_KEY_CRL_SIGN}, +@code{GNUTLS_KEY_ENCIPHER_ONLY}, @code{GNUTLS_KEY_DECIPHER_ONLY}. -@strong{Since:} 2.8.0 +@strong{Returns:} the certificate key usage, or a negative value in case of +parsing error. If the certificate does not contain the keyUsage +extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. @end deftypefun -@subheading gnutls_x509_crq_get_attribute_data -@anchor{gnutls_x509_crq_get_attribute_data} -@deftypefun {int} {gnutls_x509_crq_get_attribute_data} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@subheading gnutls_x509_crt_get_proxy +@anchor{gnutls_x509_crt_get_proxy} +@deftypefun {int} {gnutls_x509_crt_get_proxy} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, int * @var{pathlen}, char ** @var{policyLanguage}, char ** @var{policy}, size_t * @var{sizeof_policy}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{indx}: Specifies which attribute OID to send. Use zero to get the first one. +@var{critical}: will be non zero if the extension is marked as critical -@var{data}: a pointer to a structure to hold the data (may be null) +@var{pathlen}: pointer to output integer indicating path length (may be +NULL), non-negative values indicate a present pCPathLenConstraint +field and the actual value, -1 indicate that the field is absent. -@var{sizeof_data}: initially holds the size of @code{oid} +This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19). -This function will return the requested attribute data in the -certificate request. The attribute data will be stored as a string in the -provided buffer. +@strong{Return value:} If the certificate is a CA a positive value will be +returned, or zero if the certificate does not have CA flag set. A +negative value may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +@end deftypefun -Use @code{gnutls_x509_crq_get_attribute_info()} to extract the OID. -Use @code{gnutls_x509_crq_get_attribute_by_oid()} instead, -if you want to get data indexed by the attribute OID rather than -sequence. +@subheading gnutls_x509_crt_get_extension_by_oid +@anchor{gnutls_x509_crt_get_extension_by_oid} +@deftypefun {int} {gnutls_x509_crt_get_extension_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +@var{oid}: holds an Object Identified in null terminated string -@strong{Since:} 2.8.0 -@end deftypefun +@var{indx}: In case multiple same OIDs exist in the extensions, this specifies which to send. Use zero to get the first one. -@subheading gnutls_x509_crq_get_extension_info -@anchor{gnutls_x509_crq_get_extension_info} -@deftypefun {int} {gnutls_x509_crq_get_extension_info} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@var{buf}: a pointer to a structure to hold the name (may be null) + +@var{sizeof_buf}: initially holds the size of @code{buf} + +@var{critical}: will be non zero if the extension is marked as critical + +This function will return the extension specified by the OID in the certificate. +The extensions will be returned as binary data DER encoded, in the provided +buffer. + +A negative value may be returned in case of parsing error. +If the certificate does not contain the specified extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +@end deftypefun + +@subheading gnutls_x509_crt_get_extension_oid +@anchor{gnutls_x509_crt_get_extension_oid} +@deftypefun {int} {gnutls_x509_crt_get_extension_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{indx}: Specifies which extension OID to send. Use zero to get the first one. + +@var{oid}: a pointer to a structure to hold the OID (may be null) + +@var{sizeof_oid}: initially holds the size of @code{oid} + +This function will return the requested extension OID in the certificate. +The extension OID will be stored as a string in the provided buffer. + +A negative value may be returned in case of parsing error. +If your have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +@end deftypefun + +@subheading gnutls_x509_crt_get_extension_info +@anchor{gnutls_x509_crt_get_extension_info} +@deftypefun {int} {gnutls_x509_crt_get_extension_info} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{indx}: Specifies which extension OID to send. Use zero to get the first one. @@ -959,24 +946,21 @@ This function will return the requested extension OID in the certificate, and the critical flag for it. The extension OID will be stored as a string in the provided buffer. Use -@code{gnutls_x509_crq_get_extension_data()} to extract the data. +@code{gnutls_x509_crt_get_extension_data()} to extract the data. If the buffer provided is not long enough to hold the output, then *@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be returned. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun -@subheading gnutls_x509_crq_get_extension_data -@anchor{gnutls_x509_crq_get_extension_data} -@deftypefun {int} {gnutls_x509_crq_get_extension_data} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@subheading gnutls_x509_crt_get_extension_data +@anchor{gnutls_x509_crt_get_extension_data} +@deftypefun {int} {gnutls_x509_crt_get_extension_data} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{indx}: Specifies which extension OID to send. Use zero to get the first one. @@ -988,829 +972,753 @@ certificate. The extension data will be stored as a string in the provided buffer. -Use @code{gnutls_x509_crq_get_extension_info()} to extract the OID and -critical flag. Use @code{gnutls_x509_crq_get_extension_by_oid()} instead, +Use @code{gnutls_x509_crt_get_extension_info()} to extract the OID and +critical flag. Use @code{gnutls_x509_crt_get_extension_by_oid()} instead, if you want to get data indexed by the extension OID rather than sequence. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If your have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. - -@strong{Since:} 2.8.0 +Return 0 on success. A negative value may be returned in case of +parsing error. If you have reached the last extension available +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. @end deftypefun -@subheading gnutls_x509_crq_get_key_usage -@anchor{gnutls_x509_crq_get_key_usage} -@deftypefun {int} {gnutls_x509_crq_get_key_usage} (gnutls_x509_crq_t @var{cert}, unsigned int * @var{key_usage}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@subheading gnutls_x509_crt_get_raw_issuer_dn +@anchor{gnutls_x509_crt_get_raw_issuer_dn} +@deftypefun {int} {gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{key_usage}: where the key usage bits will be stored +@var{start}: will hold the starting point of the DN -@var{critical}: will be non zero if the extension is marked as critical +This function will return a pointer to the DER encoded DN structure +and the length. -This function will return certificate's key usage, by reading the -keyUsage X.509 extension (2.5.29.15). The key usage value will +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value.or a negative value on error. +@end deftypefun -@strong{ORed values of the:} @code{GNUTLS_KEY_DIGITAL_SIGNATURE}, -@code{GNUTLS_KEY_NON_REPUDIATION}, @code{GNUTLS_KEY_KEY_ENCIPHERMENT}, -@code{GNUTLS_KEY_DATA_ENCIPHERMENT}, @code{GNUTLS_KEY_KEY_AGREEMENT}, -@code{GNUTLS_KEY_KEY_CERT_SIGN}, @code{GNUTLS_KEY_CRL_SIGN}, -@code{GNUTLS_KEY_ENCIPHER_ONLY}, @code{GNUTLS_KEY_DECIPHER_ONLY}. +@subheading gnutls_x509_crt_get_raw_dn +@anchor{gnutls_x509_crt_get_raw_dn} +@deftypefun {int} {gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@strong{Returns:} the certificate key usage, or a negative value in case of -parsing error. If the certificate does not contain the keyUsage -extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be -returned. +@var{start}: will hold the starting point of the DN -@strong{Since:} 2.8.0 +This function will return a pointer to the DER encoded DN structure and +the length. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. or a negative value on error. @end deftypefun -@subheading gnutls_x509_crq_get_basic_constraints -@anchor{gnutls_x509_crq_get_basic_constraints} -@deftypefun {int} {gnutls_x509_crq_get_basic_constraints} (gnutls_x509_crq_t @var{cert}, unsigned int * @var{critical}, int * @var{ca}, int * @var{pathlen}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@subheading gnutls_x509_crt_get_subject +@anchor{gnutls_x509_crt_get_subject} +@deftypefun {int} {gnutls_x509_crt_get_subject} (gnutls_x509_crt_t @var{cert}, gnutls_x509_dn_t * @var{dn}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{critical}: will be non zero if the extension is marked as critical +@var{dn}: output variable with pointer to opaque DN. -@var{ca}: pointer to output integer indicating CA status, may be NULL, -value is 1 if the certificate CA flag is set, 0 otherwise. +Return the Certificate's Subject DN as an opaque data type. You +may use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. -@var{pathlen}: pointer to output integer indicating path length (may be -NULL), non-negative values indicate a present pathLenConstraint -field and the actual value, -1 indicate that the field is absent. +Note that @code{dn} should be treated as constant. Because points +into the @code{cert} object, you may not deallocate @code{cert} +and continue to access @code{dn}. -This function will read the certificate's basic constraints, and -return the certificates CA status. It reads the basicConstraints -X.509 extension (2.5.29.19). +@strong{Returns:} Returns 0 on success, or an error code. +@end deftypefun -@strong{Return value:} If the certificate is a CA a positive value will be -returned, or zero if the certificate does not have CA flag set. -A negative value may be returned in case of errors. If the -certificate does not contain the basicConstraints extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. +@subheading gnutls_x509_crt_get_issuer +@anchor{gnutls_x509_crt_get_issuer} +@deftypefun {int} {gnutls_x509_crt_get_issuer} (gnutls_x509_crt_t @var{cert}, gnutls_x509_dn_t * @var{dn}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@strong{Since:} 2.8.0 -@end deftypefun +@var{dn}: output variable with pointer to opaque DN -@subheading gnutls_x509_crq_get_subject_alt_name -@anchor{gnutls_x509_crq_get_subject_alt_name} -@deftypefun {int} {gnutls_x509_crq_get_subject_alt_name} (gnutls_x509_crq_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{ret_type}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +Return the Certificate's Issuer DN as an opaque data type. You may +use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. -@var{seq}: specifies the sequence number of the alt name, 0 for the -first one, 1 for the second etc. +Note that @code{dn} should be treated as constant. Because points +into the @code{cert} object, you may not deallocate @code{cert} +and continue to access @code{dn}. -@var{ret}: is the place where the alternative name will be copied to +@strong{Returns:} Returns 0 on success, or an error code. +@end deftypefun -@var{ret_size}: holds the size of ret. +@subheading gnutls_x509_dn_get_rdn_ava +@anchor{gnutls_x509_dn_get_rdn_ava} +@deftypefun {int} {gnutls_x509_dn_get_rdn_ava} (gnutls_x509_dn_t @var{dn}, int @var{irdn}, int @var{iava}, gnutls_x509_ava_st * @var{ava}) +@var{dn}: input variable with opaque DN pointer -@var{ret_type}: holds the @code{gnutls_x509_subject_alt_name_t} name type +@var{irdn}: index of RDN -@var{critical}: will be non zero if the extension is marked as critical -(may be null) +@var{iava}: index of AVA. -This function will return the alternative names, contained in the -given certificate. It is the same as -@code{gnutls_x509_crq_get_subject_alt_name()} except for the fact that it -will return the type of the alternative name in @code{ret_type} even if -the function fails for some reason (i.e. the buffer provided is -not enough). +@var{ava}: Pointer to structure which will hold output information. -@strong{Returns:} the alternative subject name type on success, one of the -enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough to -hold the value. In that case @code{ret_size} will be updated with the -required size. If the certificate request does not have an -Alternative name with the specified sequence number then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. +Get pointers to data within the DN. -@strong{Since:} 2.8.0 -@end deftypefun +Note that @code{ava} will contain pointers into the @code{dn} structure, so you +should not modify any data or deallocate it. Note also that the DN +in turn points into the original certificate structure, and thus +you may not deallocate the certificate and continue to access @code{dn}. -@subheading gnutls_x509_crq_get_subject_alt_othername_oid -@anchor{gnutls_x509_crq_get_subject_alt_othername_oid} -@deftypefun {int} {gnutls_x509_crq_get_subject_alt_othername_oid} (gnutls_x509_crq_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@strong{Returns:} Returns 0 on success, or an error code. +@end deftypefun -@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) +@subheading gnutls_x509_crt_get_fingerprint +@anchor{gnutls_x509_crt_get_fingerprint} +@deftypefun {int} {gnutls_x509_crt_get_fingerprint} (gnutls_x509_crt_t @var{cert}, gnutls_digest_algorithm_t @var{algo}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{ret}: is the place where the otherName OID will be copied to +@var{algo}: is a digest algorithm -@var{ret_size}: holds the size of ret. +@var{buf}: a pointer to a structure to hold the fingerprint (may be null) -This function will extract the type OID of an otherName Subject -Alternative Name, contained in the given certificate, and return -the type as an enumerated element. +@var{sizeof_buf}: initially holds the size of @code{buf} -This function is only useful if -@code{gnutls_x509_crq_get_subject_alt_name()} returned -@code{GNUTLS_SAN_OTHERNAME}. +This function will calculate and copy the certificate's fingerprint +in the provided buffer. -@strong{Returns:} the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, -it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, -e.g. @code{GNUTLS_SAN_OTHERNAME_XMPP}, and @code{GNUTLS_SAN_OTHERNAME} for -unknown OIDs. It will return @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if -@code{ret_size} is not large enough to hold the value. In that case -@code{ret_size} will be updated with the required size. If the -certificate does not have an Alternative name with the specified -sequence number and with the otherName type then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. +If the buffer is null then only the size will be filled. -@strong{Since:} 2.8.0 +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is +not long enough, and in that case the *sizeof_buf will be updated +with the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_get_extension_by_oid -@anchor{gnutls_x509_crq_get_extension_by_oid} -@deftypefun {int} {gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{cert}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure - -@var{oid}: holds an Object Identified in null terminated string +@subheading gnutls_x509_crt_export +@anchor{gnutls_x509_crt_export} +@deftypefun {int} {gnutls_x509_crt_export} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{cert}: Holds the certificate -@var{indx}: In case multiple same OIDs exist in the extensions, this -specifies which to send. Use zero to get the first one. +@var{format}: the format of output params. One of PEM or DER. -@var{buf}: a pointer to a structure to hold the name (may be null) +@var{output_data}: will contain a certificate PEM or DER encoded -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) -@var{critical}: will be non zero if the extension is marked as critical +This function will export the certificate to DER or PEM format. -This function will return the extension specified by the OID in -the certificate. The extensions will be returned as binary data -DER encoded, in the provided buffer. +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative value in case of an error. If the certificate does not -contain the specified extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. +If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE". -@strong{Since:} 2.8.0 +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. @end deftypefun -@subheading gnutls_x509_crq_set_subject_alt_name -@anchor{gnutls_x509_crq_set_subject_alt_name} -@deftypefun {int} {gnutls_x509_crq_set_subject_alt_name} (gnutls_x509_crq_t @var{crq}, gnutls_x509_subject_alt_name_t @var{nt}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} - -@var{nt}: is one of the @code{gnutls_x509_subject_alt_name_t} enumerations +@subheading gnutls_x509_crt_get_key_id +@anchor{gnutls_x509_crt_get_key_id} +@deftypefun {int} {gnutls_x509_crt_get_key_id} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) +@var{crt}: Holds the certificate -@var{data}: The data to be set +@var{flags}: should be 0 for now -@var{data_size}: The size of data to be set +@var{output_data}: will contain the key ID -@var{flags}: @code{GNUTLS_FSAN_SET} to clear previous data or -@code{GNUTLS_FSAN_APPEND} to append. +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) -This function will set the subject alternative name certificate -extension. It can set the following types: +This function will return a unique ID the depends on the public +key parameters. This ID can be used in checking whether a +certificate corresponds to the given private key. -&GNUTLS_SAN_DNSNAME: as a text string +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes. -&GNUTLS_SAN_RFC822NAME: as a text string +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. +@end deftypefun -&GNUTLS_SAN_URI: as a text string +@subheading gnutls_x509_crt_check_revocation +@anchor{gnutls_x509_crt_check_revocation} +@deftypefun {int} {gnutls_x509_crt_check_revocation} (gnutls_x509_crt_t @var{cert}, const gnutls_x509_crl_t * @var{crl_list}, int @var{crl_list_length}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) +@var{crl_list}: should contain a list of gnutls_x509_crl_t structures -Other values can be set as binary values with the proper DER encoding. +@var{crl_list_length}: the length of the crl_list -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +This function will return check if the given certificate is +revoked. It is assumed that the CRLs have been verified before. -@strong{Since:} 2.8.0 +@strong{Returns:} 0 if the certificate is NOT revoked, and 1 if it is. A +negative value is returned on error. @end deftypefun -@subheading gnutls_x509_crq_set_basic_constraints -@anchor{gnutls_x509_crq_set_basic_constraints} -@deftypefun {int} {gnutls_x509_crq_set_basic_constraints} (gnutls_x509_crq_t @var{crq}, unsigned int @var{ca}, int @var{pathLenConstraint}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} +@subheading gnutls_x509_crt_verify_data +@anchor{gnutls_x509_crt_verify_data} +@deftypefun {int} {gnutls_x509_crt_verify_data} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) +@var{crt}: Holds the certificate -@var{ca}: true(1) or false(0). Depending on the Certificate authority status. +@var{flags}: should be 0 for now -@var{pathLenConstraint}: non-negative values indicate maximum length of path, -and negative values indicate that the pathLenConstraints field should -not be present. +@var{data}: holds the data to be signed -This function will set the basicConstraints certificate extension. +@var{signature}: contains the signature -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +This function will verify the given signed data, using the +parameters from the certificate. -@strong{Since:} 2.8.0 +@strong{Returns:} In case of a verification failure 0 is returned, and 1 on +success. @end deftypefun -@subheading gnutls_x509_crq_set_key_usage -@anchor{gnutls_x509_crq_set_key_usage} -@deftypefun {int} {gnutls_x509_crq_set_key_usage} (gnutls_x509_crq_t @var{crq}, unsigned int @var{usage}) -@var{crq}: a certificate of type @code{gnutls_x509_crq_t} - -@var{usage}: an ORed sequence of the GNUTLS_KEY_* elements. +@subheading gnutls_x509_crt_get_crl_dist_points +@anchor{gnutls_x509_crt_get_crl_dist_points} +@deftypefun {int} {gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure -This function will set the keyUsage certificate extension. +@var{seq}: specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.) -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@var{ret}: is the place where the distribution point will be copied to -@strong{Since:} 2.8.0 -@end deftypefun +@var{ret_size}: holds the size of ret. -@subheading gnutls_x509_crq_get_key_purpose_oid -@anchor{gnutls_x509_crq_get_key_purpose_oid} -@deftypefun {int} {gnutls_x509_crq_get_key_purpose_oid} (gnutls_x509_crq_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crq_t} structure +@var{reason_flags}: Revocation reasons flags. -@var{indx}: This specifies which OID to return. Use zero to get the first one. +@var{critical}: will be non zero if the extension is marked as critical (may be null) + +This function will return the CRL distribution points (2.5.29.31), +contained in the given certificate. + +@code{reason_flags} should be an ORed sequence of +GNUTLS_CRL_REASON_UNUSED, GNUTLS_CRL_REASON_KEY_COMPROMISE, +GNUTLS_CRL_REASON_CA_COMPROMISE, +GNUTLS_CRL_REASON_AFFILIATION_CHANGED, +GNUTLS_CRL_REASON_SUPERSEEDED, +GNUTLS_CRL_REASON_CESSATION_OF_OPERATION, +GNUTLS_CRL_REASON_CERTIFICATE_HOLD, +GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN, +GNUTLS_CRL_REASON_AA_COMPROMISE, or zero for all possible reasons. + +This is specified in X509v3 Certificate Extensions. GNUTLS will +return the distribution point type, or a negative error code on +error. + +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} and updates &@code{ret_size} if +&@code{ret_size} is not enough to hold the distribution point, or the +type of the distribution point if everything was ok. The type is +one of the enumerated @code{gnutls_x509_subject_alt_name_t}. If the +certificate does not have an Alternative name with the specified +sequence number then @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is +returned. +@end deftypefun + +@subheading gnutls_x509_crt_get_key_purpose_oid +@anchor{gnutls_x509_crt_get_key_purpose_oid} +@deftypefun {int} {gnutls_x509_crt_get_key_purpose_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, unsigned int * @var{critical}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{indx}: This specifies which OID to return. Use zero to get the first one. @var{oid}: a pointer to a buffer to hold the OID (may be null) @var{sizeof_oid}: initially holds the size of @code{oid} -@var{critical}: output variable with critical flag, may be NULL. - This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions -for human readable names. +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names. If @code{oid} is null then only the size will be filled. @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. - -@strong{Since:} 2.8.0 +not long enough, and in that case the *sizeof_oid will be updated +with the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_crq_set_key_purpose_oid -@anchor{gnutls_x509_crq_set_key_purpose_oid} -@deftypefun {int} {gnutls_x509_crq_set_key_purpose_oid} (gnutls_x509_crq_t @var{cert}, const void * @var{oid}, unsigned int @var{critical}) -@var{cert}: a certificate of type @code{gnutls_x509_crq_t} +@subheading gnutls_x509_crt_get_pk_rsa_raw +@anchor{gnutls_x509_crt_get_pk_rsa_raw} +@deftypefun {int} {gnutls_x509_crt_get_pk_rsa_raw} (gnutls_x509_crt_t @var{crt}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) +@var{crt}: Holds the certificate -@var{oid}: a pointer to a null terminated string that holds the OID +@var{m}: will hold the modulus -@var{critical}: Whether this extension will be critical or not +@var{e}: will hold the public exponent -This function will set the key purpose OIDs of the Certificate. -These are stored in the Extended Key Usage extension (2.5.29.37) -See the GNUTLS_KP_* definitions for human readable names. +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. -Subsequent calls to this function will append OIDs to the OID list. +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. +@end deftypefun -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@subheading gnutls_x509_crt_get_pk_dsa_raw +@anchor{gnutls_x509_crt_get_pk_dsa_raw} +@deftypefun {int} {gnutls_x509_crt_get_pk_dsa_raw} (gnutls_x509_crt_t @var{crt}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) +@var{crt}: Holds the certificate -@strong{Since:} 2.8.0 -@end deftypefun +@var{p}: will hold the p -@subheading gnutls_x509_crq_get_key_id -@anchor{gnutls_x509_crq_get_key_id} -@deftypefun {int} {gnutls_x509_crq_get_key_id} (gnutls_x509_crq_t @var{crq}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) -@var{crq}: Holds the certificate signing request +@var{q}: will hold the q -@var{flags}: should be 0 for now +@var{g}: will hold the g -@var{output_data}: will contain the key ID +@var{y}: will hold the y -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. -This function will return a unique ID the depends on the public -key parameters. This ID can be used in checking whether a -certificate corresponds to the given private key. +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. +@end deftypefun -If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. The output will normally be a SHA-1 hash output, -which is 20 bytes. +@subheading gnutls_x509_crt_list_import +@anchor{gnutls_x509_crt_list_import} +@deftypefun {int} {gnutls_x509_crt_list_import} (gnutls_x509_crt_t * @var{certs}, unsigned int * @var{cert_max}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@var{certs}: The structures to store the parsed certificate. Must not be initialized. -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. +@var{cert_max}: Initially must hold the maximum number of certs. It will be updated with the number of certs available. -@strong{Since:} 2.8.0 -@end deftypefun +@var{data}: The PEM encoded certificate. -@subheading gnutls_x509_dn_init -@anchor{gnutls_x509_dn_init} -@deftypefun {int} {gnutls_x509_dn_init} (gnutls_x509_dn_t * @var{dn}) -@var{dn}: the object to be initialized +@var{format}: One of DER or PEM. -This function initializes a @code{gnutls_x509_dn_t} structure. +@var{flags}: must be zero or an OR'd sequence of gnutls_certificate_import_flags. -The object returned must be deallocated using -@code{gnutls_x509_dn_deinit()}. +This function will convert the given PEM encoded certificate list +to the native gnutls_x509_crt_t format. The output will be stored +in @code{certs}. They will be automatically initialized. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE". -@strong{Since:} 2.4.0 +@strong{Returns:} the number of certificates read or a negative error value. @end deftypefun -@subheading gnutls_x509_dn_import -@anchor{gnutls_x509_dn_import} -@deftypefun {int} {gnutls_x509_dn_import} (gnutls_x509_dn_t @var{dn}, const gnutls_datum_t * @var{data}) -@var{dn}: the structure that will hold the imported DN - -@var{data}: should contain a DER encoded RDN sequence +@subheading gnutls_x509_crt_check_hostname +@anchor{gnutls_x509_crt_check_hostname} +@deftypefun {int} {gnutls_x509_crt_check_hostname} (gnutls_x509_crt_t @var{cert}, const char * @var{hostname}) +@var{cert}: should contain an gnutls_x509_crt_t structure -This function parses an RDN sequence and stores the result to a -@code{gnutls_x509_dn_t} structure. The structure must have been initialized -with @code{gnutls_x509_dn_init()}. You may use @code{gnutls_x509_dn_get_rdn_ava()} to -decode the DN. +@var{hostname}: A null terminated string that contains a DNS name -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +This function will check if the given certificate's subject matches +the given hostname. This is a basic implementation of the matching +described in RFC2818 (HTTPS), which takes into account wildcards, +and the DNSName/IPAddress subject alternative name PKIX extension. -@strong{Since:} 2.4.0 +@strong{Returns:} non zero for a successful match, and zero on failure. @end deftypefun -@subheading gnutls_x509_dn_deinit -@anchor{gnutls_x509_dn_deinit} -@deftypefun {void} {gnutls_x509_dn_deinit} (gnutls_x509_dn_t @var{dn}) -@var{dn}: a DN opaque object pointer. +@subheading gnutls_x509_crt_check_issuer +@anchor{gnutls_x509_crt_check_issuer} +@deftypefun {int} {gnutls_x509_crt_check_issuer} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t @var{issuer}) +@var{cert}: is the certificate to be checked -This function deallocates the DN object as returned by -@code{gnutls_x509_dn_import()}. +@var{issuer}: is the certificate of a possible issuer -@strong{Since:} 2.4.0 +This function will check if the given certificate was issued by the +given issuer. It will return true (1) if the given certificate is issued +by the given issuer, and false (0) if not. + +A negative value is returned in case of an error. @end deftypefun -@subheading gnutls_x509_rdn_get -@anchor{gnutls_x509_rdn_get} -@deftypefun {int} {gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{sizeof_buf}) -@var{idn}: should contain a DER encoded RDN sequence +@subheading gnutls_x509_crt_list_verify +@anchor{gnutls_x509_crt_list_verify} +@deftypefun {int} {gnutls_x509_crt_list_verify} (const gnutls_x509_crt_t * @var{cert_list}, int @var{cert_list_length}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, const gnutls_x509_crl_t * @var{CRL_list}, int @var{CRL_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) +@var{cert_list}: is the certificate list to be verified -@var{buf}: a pointer to a structure to hold the peer's name +@var{cert_list_length}: holds the number of certificate in cert_list -@var{sizeof_buf}: holds the size of @code{buf} +@var{CA_list}: is the CA list which will be used in verification -This function will return the name of the given RDN sequence. The -name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in -RFC2253. +@var{CA_list_length}: holds the number of CA certificate in CA_list -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is -updated if the provided buffer is not long enough, otherwise a -negative error value. -@end deftypefun +@var{CRL_list}: holds a list of CRLs. -@subheading gnutls_x509_rdn_get_by_oid -@anchor{gnutls_x509_rdn_get_by_oid} -@deftypefun {int} {gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{idn}: should contain a DER encoded RDN sequence +@var{CRL_list_length}: the length of CRL list. -@var{oid}: an Object Identifier +@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. -@var{indx}: In case multiple same OIDs exist in the RDN indicates which -to send. Use 0 for the first one. +@var{verify}: will hold the certificate verification output. -@var{raw_flag}: If non zero then the raw DER data are returned. +This function will try to verify the given certificate list and return its status. +Note that expiration and activation dates are not checked +by this function, you should check them using the appropriate functions. -@var{buf}: a pointer to a structure to hold the peer's name +If no flags are specified (0), this function will use the +basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate +authority is allowed to sign a certificate. -@var{sizeof_buf}: holds the size of @code{buf} +You must also check the peer's name in order to check if the verified +certificate belongs to the actual peer. -This function will return the name of the given Object identifier, -of the RDN sequence. The name will be encoded using the rules -from RFC2253. +The certificate verification output will be put in @code{verify} and will be +one or more of the gnutls_certificate_status_t enumerated elements bitwise or'd. +For a more detailed verification status use @code{gnutls_x509_crt_verify()} per list +element. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is -updated if the provided buffer is not long enough, otherwise a -negative error value. +@strong{GNUTLS_CERT_INVALID:} the certificate chain is not valid. + +@strong{GNUTLS_CERT_REVOKED:} a certificate in the chain has been revoked. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_rdn_get_oid -@anchor{gnutls_x509_rdn_get_oid} -@deftypefun {int} {gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{idn}: should contain a DER encoded RDN sequence +@subheading gnutls_x509_crt_verify +@anchor{gnutls_x509_crt_verify} +@deftypefun {int} {gnutls_x509_crt_verify} (gnutls_x509_crt_t @var{cert}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) +@var{cert}: is the certificate to be verified -@var{indx}: Indicates which OID to return. Use 0 for the first one. +@var{CA_list}: is one certificate that is considered to be trusted one -@var{buf}: a pointer to a structure to hold the peer's name OID +@var{CA_list_length}: holds the number of CA certificate in CA_list -@var{sizeof_buf}: holds the size of @code{buf} +@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. -This function will return the specified Object identifier, of the -RDN sequence. +@var{verify}: will hold the certificate verification output. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and *@code{sizeof_buf} is -updated if the provided buffer is not long enough, otherwise a -negative error value. +This function will try to verify the given certificate and return its status. +The verification output in this functions cannot be GNUTLS_CERT_NOT_VALID. -@strong{Since:} 2.4.0 +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_dn_export -@anchor{gnutls_x509_dn_export} -@deftypefun {int} {gnutls_x509_dn_export} (gnutls_x509_dn_t @var{dn}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{dn}: Holds the opaque DN object +@subheading gnutls_x509_crl_check_issuer +@anchor{gnutls_x509_crl_check_issuer} +@deftypefun {int} {gnutls_x509_crl_check_issuer} (gnutls_x509_crl_t @var{cert}, gnutls_x509_crt_t @var{issuer}) +@var{issuer}: is the certificate of a possible issuer -@var{format}: the format of output params. One of PEM or DER. +This function will check if the given CRL was issued by the +given issuer certificate. It will return true (1) if the given CRL was issued +by the given issuer, and false (0) if not. -@var{output_data}: will contain a DN PEM or DER encoded +A negative value is returned in case of an error. +@end deftypefun -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +@subheading gnutls_x509_crl_verify +@anchor{gnutls_x509_crl_verify} +@deftypefun {int} {gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) +@var{crl}: is the crl to be verified -This function will export the DN to DER or PEM format. +@var{CA_list}: is a certificate list that is considered to be trusted one -If the buffer provided is not long enough to hold the output, then -*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} -will be returned. +@var{CA_list_length}: holds the number of CA certificates in CA_list -If the structure is PEM encoded, it will have a header -of "BEGIN NAME". +@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. + +@var{verify}: will hold the crl verification output. + +This function will try to verify the given crl and return its status. +See @code{gnutls_x509_crt_list_verify()} for a detailed description of +return values. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +negative error value.and a negative value in case of an error. @end deftypefun -@subheading gnutls_x509_crt_print -@anchor{gnutls_x509_crt_print} -@deftypefun {int} {gnutls_x509_crt_print} (gnutls_x509_crt_t @var{cert}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) -@var{cert}: The structure to be printed +@subheading gnutls_x509_privkey_init +@anchor{gnutls_x509_privkey_init} +@deftypefun {int} {gnutls_x509_privkey_init} (gnutls_x509_privkey_t * @var{key}) +@var{key}: The structure to be initialized -@var{format}: Indicate the format to use +This function will initialize an private key structure. -@var{out}: Newly allocated datum with zero terminated string. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun -This function will pretty print a X.509 certificate, suitable for -display to a human. +@subheading gnutls_x509_privkey_deinit +@anchor{gnutls_x509_privkey_deinit} +@deftypefun {void} {gnutls_x509_privkey_deinit} (gnutls_x509_privkey_t @var{key}) +@var{key}: The structure to be initialized -If the format is @code{GNUTLS_CRT_PRINT_FULL} then all fields of the -certificate will be output, on multiple lines. The -@code{GNUTLS_CRT_PRINT_ONELINE} format will generate one line with some -selected fields, which is useful for logging purposes. +This function will deinitialize a private key structure. +@end deftypefun -The output @code{out} needs to be deallocate using @code{gnutls_free()}. +@subheading gnutls_x509_privkey_cpy +@anchor{gnutls_x509_privkey_cpy} +@deftypefun {int} {gnutls_x509_privkey_cpy} (gnutls_x509_privkey_t @var{dst}, gnutls_x509_privkey_t @var{src}) +@var{dst}: The destination key, which should be initialized. + +@var{src}: The source key + +This function will copy a private key from source to destination +key. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crl_print -@anchor{gnutls_x509_crl_print} -@deftypefun {int} {gnutls_x509_crl_print} (gnutls_x509_crl_t @var{crl}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) -@var{crl}: The structure to be printed +@subheading gnutls_x509_privkey_import +@anchor{gnutls_x509_privkey_import} +@deftypefun {int} {gnutls_x509_privkey_import} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) +@var{key}: The structure to store the parsed key -@var{format}: Indicate the format to use +@var{data}: The DER or PEM encoded certificate. -@var{out}: Newly allocated datum with zero terminated string. +@var{format}: One of DER or PEM -This function will pretty print a X.509 certificate revocation -list, suitable for display to a human. +This function will convert the given DER or PEM encoded key to the +native @code{gnutls_x509_privkey_t} format. The output will be stored in +@code{key} . -The output @code{out} needs to be deallocate using @code{gnutls_free()}. +If the key is PEM encoded it should have a header of "RSA PRIVATE +KEY", or "DSA PRIVATE KEY". @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crq_print -@anchor{gnutls_x509_crq_print} -@deftypefun {int} {gnutls_x509_crq_print} (gnutls_x509_crq_t @var{crq}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) -@var{crq}: The structure to be printed - -@var{format}: Indicate the format to use +@subheading gnutls_x509_privkey_import_rsa_raw +@anchor{gnutls_x509_privkey_import_rsa_raw} +@deftypefun {int} {gnutls_x509_privkey_import_rsa_raw} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}, const gnutls_datum_t * @var{d}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{u}) +@var{key}: The structure to store the parsed key -@var{out}: Newly allocated datum with zero terminated string. +@var{m}: holds the modulus -This function will pretty print a certificate request, suitable for -display to a human. +@var{e}: holds the public exponent -The output @code{out} needs to be deallocate using @code{gnutls_free()}. +@var{d}: holds the private exponent -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@var{p}: holds the first prime (p) -@strong{Since:} 2.8.0 -@end deftypefun +@var{q}: holds the second prime (q) -@subheading gnutls_pkcs12_init -@anchor{gnutls_pkcs12_init} -@deftypefun {int} {gnutls_pkcs12_init} (gnutls_pkcs12_t * @var{pkcs12}) -@var{pkcs12}: The structure to be initialized +@var{u}: holds the coefficient -This function will initialize a PKCS12 structure. PKCS12 structures -usually contain lists of X.509 Certificates and X.509 Certificate -revocation lists. +This function will convert the given RSA raw parameters to the +native @code{gnutls_x509_privkey_t} format. The output will be stored in +@code{key}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_pkcs12_deinit -@anchor{gnutls_pkcs12_deinit} -@deftypefun {void} {gnutls_pkcs12_deinit} (gnutls_pkcs12_t @var{pkcs12}) -@var{pkcs12}: The structure to be initialized - -This function will deinitialize a PKCS12 structure. -@end deftypefun +@subheading gnutls_x509_privkey_import_dsa_raw +@anchor{gnutls_x509_privkey_import_dsa_raw} +@deftypefun {int} {gnutls_x509_privkey_import_dsa_raw} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{g}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{x}) +@var{key}: The structure to store the parsed key -@subheading gnutls_pkcs12_import -@anchor{gnutls_pkcs12_import} -@deftypefun {int} {gnutls_pkcs12_import} (gnutls_pkcs12_t @var{pkcs12}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) -@var{pkcs12}: The structure to store the parsed PKCS12. +@var{p}: holds the p -@var{data}: The DER or PEM encoded PKCS12. +@var{q}: holds the q -@var{format}: One of DER or PEM +@var{g}: holds the g -@var{flags}: an ORed sequence of gnutls_privkey_pkcs8_flags +@var{y}: holds the y -This function will convert the given DER or PEM encoded PKCS12 -to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'. +@var{x}: holds the x -If the PKCS12 is PEM encoded it should have a header of "PKCS12". +This function will convert the given DSA raw parameters to the +native @code{gnutls_x509_privkey_t} format. The output will be stored +in @code{key}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_pkcs12_export -@anchor{gnutls_pkcs12_export} -@deftypefun {int} {gnutls_pkcs12_export} (gnutls_pkcs12_t @var{pkcs12}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{pkcs12}: Holds the pkcs12 structure +@subheading gnutls_x509_privkey_get_pk_algorithm +@anchor{gnutls_x509_privkey_get_pk_algorithm} +@deftypefun {int} {gnutls_x509_privkey_get_pk_algorithm} (gnutls_x509_privkey_t @var{key}) +@var{key}: should contain a @code{gnutls_x509_privkey_t} structure + +This function will return the public key algorithm of a private +key. + +@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on +success, or a negative value on error. +@end deftypefun + +@subheading gnutls_x509_privkey_export +@anchor{gnutls_x509_privkey_export} +@deftypefun {int} {gnutls_x509_privkey_export} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{key}: Holds the key @var{format}: the format of output params. One of PEM or DER. -@var{output_data}: will contain a structure PEM or DER encoded +@var{output_data}: will contain a private key PEM or DER encoded @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will export the pkcs12 structure to DER or PEM format. +This function will export the private key to a PKCS1 structure for +RSA keys, or an integer sequence for DSA keys. The DSA keys are in +the same format with the parameters used by openssl. If the buffer provided is not long enough to hold the output, then -*output_data_size will be updated and GNUTLS_E_SHORT_MEMORY_BUFFER +*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be returned. If the structure is PEM encoded, it will have a header -of "BEGIN PKCS12". +of "BEGIN RSA PRIVATE KEY". -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_pkcs12_get_bag -@anchor{gnutls_pkcs12_get_bag} -@deftypefun {int} {gnutls_pkcs12_get_bag} (gnutls_pkcs12_t @var{pkcs12}, int @var{indx}, gnutls_pkcs12_bag_t @var{bag}) -@var{pkcs12}: should contain a gnutls_pkcs12_t structure - -@var{indx}: contains the index of the bag to extract +@subheading gnutls_x509_privkey_export_rsa_raw +@anchor{gnutls_x509_privkey_export_rsa_raw} +@deftypefun {int} {gnutls_x509_privkey_export_rsa_raw} (gnutls_x509_privkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}, gnutls_datum_t * @var{d}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{u}) +@var{key}: a structure that holds the rsa parameters -@var{bag}: An initialized bag, where the contents of the bag will be copied +@var{m}: will hold the modulus -This function will return a Bag from the PKCS12 structure. +@var{e}: will hold the public exponent -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@var{d}: will hold the private exponent -After the last Bag has been read GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -will be returned. -@end deftypefun +@var{p}: will hold the first prime (p) -@subheading gnutls_pkcs12_set_bag -@anchor{gnutls_pkcs12_set_bag} -@deftypefun {int} {gnutls_pkcs12_set_bag} (gnutls_pkcs12_t @var{pkcs12}, gnutls_pkcs12_bag_t @var{bag}) -@var{pkcs12}: should contain a gnutls_pkcs12_t structure +@var{q}: will hold the second prime (q) -@var{bag}: An initialized bag +@var{u}: will hold the coefficient -This function will insert a Bag into the PKCS12 structure. +This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_pkcs12_generate_mac -@anchor{gnutls_pkcs12_generate_mac} -@deftypefun {int} {gnutls_pkcs12_generate_mac} (gnutls_pkcs12_t @var{pkcs12}, const char * @var{pass}) -@var{pkcs12}: should contain a gnutls_pkcs12_t structure - -@var{pass}: The password for the MAC +@subheading gnutls_x509_privkey_export_dsa_raw +@anchor{gnutls_x509_privkey_export_dsa_raw} +@deftypefun {int} {gnutls_x509_privkey_export_dsa_raw} (gnutls_x509_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) +@var{p}: will hold the p -This function will generate a MAC for the PKCS12 structure. +@var{q}: will hold the q -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun +@var{g}: will hold the g -@subheading gnutls_pkcs12_verify_mac -@anchor{gnutls_pkcs12_verify_mac} -@deftypefun {int} {gnutls_pkcs12_verify_mac} (gnutls_pkcs12_t @var{pkcs12}, const char * @var{pass}) -@var{pkcs12}: should contain a gnutls_pkcs12_t structure +@var{y}: will hold the y -@var{pass}: The password for the MAC +@var{x}: will hold the x -This function will verify the MAC for the PKCS12 structure. +This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_pkcs12_bag_init -@anchor{gnutls_pkcs12_bag_init} -@deftypefun {int} {gnutls_pkcs12_bag_init} (gnutls_pkcs12_bag_t * @var{bag}) -@var{bag}: The structure to be initialized +@subheading gnutls_x509_privkey_generate +@anchor{gnutls_x509_privkey_generate} +@deftypefun {int} {gnutls_x509_privkey_generate} (gnutls_x509_privkey_t @var{key}, gnutls_pk_algorithm_t @var{algo}, unsigned int @var{bits}, unsigned int @var{flags}) +@var{key}: should contain a @code{gnutls_x509_privkey_t} structure -This function will initialize a PKCS12 bag structure. PKCS12 Bags -usually contain private keys, lists of X.509 Certificates and X.509 Certificate -revocation lists. +@var{algo}: is one of RSA or DSA. + +@var{bits}: the size of the modulus + +@var{flags}: unused for now. Must be 0. + +This function will generate a random private key. Note that this +function must be called on an empty private key. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_pkcs12_bag_deinit -@anchor{gnutls_pkcs12_bag_deinit} -@deftypefun {void} {gnutls_pkcs12_bag_deinit} (gnutls_pkcs12_bag_t @var{bag}) -@var{bag}: The structure to be initialized +@subheading gnutls_x509_privkey_get_key_id +@anchor{gnutls_x509_privkey_get_key_id} +@deftypefun {int} {gnutls_x509_privkey_get_key_id} (gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) +@var{key}: Holds the key -This function will deinitialize a PKCS12 Bag structure. -@end deftypefun +@var{flags}: should be 0 for now -@subheading gnutls_pkcs12_bag_get_type -@anchor{gnutls_pkcs12_bag_get_type} -@deftypefun {gnutls_pkcs12_bag_type_t} {gnutls_pkcs12_bag_get_type} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}) -@var{bag}: The bag +@var{output_data}: will contain the key ID -@var{indx}: The element of the bag to get the type +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) + +This function will return a unique ID the depends on the public key +parameters. This ID can be used in checking whether a certificate +corresponds to the given key. -This function will return the bag's type. +If the buffer provided is not long enough to hold the output, then +*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes. -@strong{Returns:} One of the @code{gnutls_pkcs12_bag_type_t} enumerations. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_pkcs12_bag_get_count -@anchor{gnutls_pkcs12_bag_get_count} -@deftypefun {int} {gnutls_pkcs12_bag_get_count} (gnutls_pkcs12_bag_t @var{bag}) -@var{bag}: The bag - -This function will return the number of the elements withing the bag. - -@strong{Returns:} Number of elements in bag, or an negative error code on -error. -@end deftypefun - -@subheading gnutls_pkcs12_bag_get_data -@anchor{gnutls_pkcs12_bag_get_data} -@deftypefun {int} {gnutls_pkcs12_bag_get_data} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, gnutls_datum_t * @var{data}) -@var{bag}: The bag - -@var{indx}: The element of the bag to get the data from - -@var{data}: where the bag's data will be. Should be treated as constant. - -This function will return the bag's data. The data is a constant -that is stored into the bag. Should not be accessed after the bag -is deleted. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative error code on error. -@end deftypefun - -@subheading gnutls_pkcs12_bag_set_data -@anchor{gnutls_pkcs12_bag_set_data} -@deftypefun {int} {gnutls_pkcs12_bag_set_data} (gnutls_pkcs12_bag_t @var{bag}, gnutls_pkcs12_bag_type_t @var{type}, const gnutls_datum_t * @var{data}) -@var{bag}: The bag - -@var{type}: The data's type - -@var{data}: the data to be copied. - -This function will insert the given data of the given type into -the bag. - -@strong{Returns:} the index of the added bag on success, or a negative -value on error. -@end deftypefun - -@subheading gnutls_pkcs12_bag_set_crt -@anchor{gnutls_pkcs12_bag_set_crt} -@deftypefun {int} {gnutls_pkcs12_bag_set_crt} (gnutls_pkcs12_bag_t @var{bag}, gnutls_x509_crt_t @var{crt}) -@var{bag}: The bag - -@var{crt}: the certificate to be copied. - -This function will insert the given certificate into the -bag. This is just a wrapper over @code{gnutls_pkcs12_bag_set_data()}. - -@strong{Returns:} the index of the added bag on success, or a negative -value on failure. -@end deftypefun - -@subheading gnutls_pkcs12_bag_set_crl -@anchor{gnutls_pkcs12_bag_set_crl} -@deftypefun {int} {gnutls_pkcs12_bag_set_crl} (gnutls_pkcs12_bag_t @var{bag}, gnutls_x509_crl_t @var{crl}) -@var{bag}: The bag - -@var{crl}: the CRL to be copied. - -This function will insert the given CRL into the -bag. This is just a wrapper over @code{gnutls_pkcs12_bag_set_data()}. - -@strong{Returns:} the index of the added bag on success, or a negative value -on failure. -@end deftypefun - -@subheading gnutls_pkcs12_bag_set_key_id -@anchor{gnutls_pkcs12_bag_set_key_id} -@deftypefun {int} {gnutls_pkcs12_bag_set_key_id} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, const gnutls_datum_t * @var{id}) -@var{bag}: The bag - -@var{indx}: The bag's element to add the id +@subheading gnutls_x509_privkey_sign_data +@anchor{gnutls_x509_privkey_sign_data} +@deftypefun {int} {gnutls_x509_privkey_sign_data} (gnutls_x509_privkey_t @var{key}, gnutls_digest_algorithm_t @var{digest}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, void * @var{signature}, size_t * @var{signature_size}) +@var{key}: Holds the key -@var{id}: the ID +@var{digest}: should be MD5 or SHA1 -This function will add the given key ID, to the specified, by the index, bag -element. The key ID will be encoded as a 'Local key identifier' bag attribute, -which is usually used to distinguish the local private key and the certificate pair. +@var{flags}: should be 0 for now -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. or a negative value on error. -@end deftypefun +@var{data}: holds the data to be signed -@subheading gnutls_pkcs12_bag_get_key_id -@anchor{gnutls_pkcs12_bag_get_key_id} -@deftypefun {int} {gnutls_pkcs12_bag_get_key_id} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, gnutls_datum_t * @var{id}) -@var{bag}: The bag +@var{signature}: will contain the signature -@var{indx}: The bag's element to add the id +@var{signature_size}: holds the size of signature (and will be replaced +by the new size) -@var{id}: where the ID will be copied (to be treated as const) +This function will sign the given data using a signature algorithm +supported by the private key. Signature algorithms are always used +together with a hash functions. Different hash functions may be +used for the RSA algorithm, but only SHA-1 for the DSA keys. -This function will return the key ID, of the specified bag element. -The key ID is usually used to distinguish the local private key and the certificate pair. +If the buffer provided is not long enough to hold the output, then +*@code{signature_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will +be returned. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. or a negative value on error. +negative error value. @end deftypefun -@subheading gnutls_pkcs12_bag_get_friendly_name -@anchor{gnutls_pkcs12_bag_get_friendly_name} -@deftypefun {int} {gnutls_pkcs12_bag_get_friendly_name} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, char ** @var{name}) -@var{bag}: The bag +@subheading gnutls_x509_privkey_sign_hash +@anchor{gnutls_x509_privkey_sign_hash} +@deftypefun {int} {gnutls_x509_privkey_sign_hash} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) +@var{key}: Holds the key -@var{indx}: The bag's element to add the id +@var{hash}: holds the data to be signed -@var{name}: will hold a pointer to the name (to be treated as const) +@var{signature}: will contain newly allocated signature -This function will return the friendly name, of the specified bag element. -The key ID is usually used to distinguish the local private key and the certificate pair. +This function will sign the given hash using the private key. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. or a negative value on error. +negative error value. @end deftypefun -@subheading gnutls_pkcs12_bag_set_friendly_name -@anchor{gnutls_pkcs12_bag_set_friendly_name} -@deftypefun {int} {gnutls_pkcs12_bag_set_friendly_name} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, const char * @var{name}) -@var{bag}: The bag - -@var{indx}: The bag's element to add the id - -@var{name}: the name +@subheading gnutls_x509_privkey_verify_data +@anchor{gnutls_x509_privkey_verify_data} +@deftypefun {int} {gnutls_x509_privkey_verify_data} (gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) +@var{key}: Holds the key -This function will add the given key friendly name, to the specified, by the index, bag -element. The name will be encoded as a 'Friendly name' bag attribute, -which is usually used to set a user name to the local private key and the certificate pair. +@var{flags}: should be 0 for now -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. or a negative value on error. -@end deftypefun +@var{data}: holds the data to be signed -@subheading gnutls_pkcs12_bag_decrypt -@anchor{gnutls_pkcs12_bag_decrypt} -@deftypefun {int} {gnutls_pkcs12_bag_decrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}) -@var{bag}: The bag +@var{signature}: contains the signature -@var{pass}: The password used for encryption, must be ASCII. +This function will verify the given signed data, using the +parameters in the private key. -This function will decrypt the given encrypted bag and return 0 on +@strong{Returns:} In case of a verification failure 0 is returned, and 1 on success. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun -@subheading gnutls_pkcs12_bag_encrypt -@anchor{gnutls_pkcs12_bag_encrypt} -@deftypefun {int} {gnutls_pkcs12_bag_encrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}, unsigned int @var{flags}) -@var{bag}: The bag - -@var{pass}: The password used for encryption, must be ASCII - -@var{flags}: should be one of @code{gnutls_pkcs_encrypt_flags_t} elements bitwise or'd +@subheading gnutls_x509_privkey_fix +@anchor{gnutls_x509_privkey_fix} +@deftypefun {int} {gnutls_x509_privkey_fix} (gnutls_x509_privkey_t @var{key}) +@var{key}: Holds the key -This function will encrypt the given bag. +This function will recalculate the secondary parameters in a key. +In RSA keys, this can be the coefficient and exponent1,2. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun @subheading gnutls_pkcs7_init @@ -1856,8 +1764,6 @@ @subheading gnutls_pkcs7_get_crt_raw @anchor{gnutls_pkcs7_get_crt_raw} @deftypefun {int} {gnutls_pkcs7_get_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}, void * @var{certificate}, size_t * @var{certificate_size}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - @var{indx}: contains the index of the certificate to extract @var{certificate}: the contents of the certificate will be copied @@ -1880,8 +1786,6 @@ @subheading gnutls_pkcs7_get_crt_count @anchor{gnutls_pkcs7_get_crt_count} @deftypefun {int} {gnutls_pkcs7_get_crt_count} (gnutls_pkcs7_t @var{pkcs7}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - This function will return the number of certifcates in the PKCS7 or RFC2630 certificate set. @@ -1910,15 +1814,13 @@ If the structure is PEM encoded, it will have a header of "BEGIN PKCS7". -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. @end deftypefun @subheading gnutls_pkcs7_set_crt_raw @anchor{gnutls_pkcs7_set_crt_raw} @deftypefun {int} {gnutls_pkcs7_set_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crt}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crt}: the DER encoded certificate to be added This function will add a certificate to the PKCS7 or RFC2630 @@ -1931,8 +1833,6 @@ @subheading gnutls_pkcs7_set_crt @anchor{gnutls_pkcs7_set_crt} @deftypefun {int} {gnutls_pkcs7_set_crt} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_t @var{crt}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crt}: the certificate to be copied. This function will add a parsed certificate to the PKCS7 or @@ -1946,8 +1846,6 @@ @subheading gnutls_pkcs7_delete_crt @anchor{gnutls_pkcs7_delete_crt} @deftypefun {int} {gnutls_pkcs7_delete_crt} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - @var{indx}: the index of the certificate to delete This function will delete a certificate from a PKCS7 or RFC2630 @@ -1960,8 +1858,6 @@ @subheading gnutls_pkcs7_get_crl_raw @anchor{gnutls_pkcs7_get_crl_raw} @deftypefun {int} {gnutls_pkcs7_get_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}, void * @var{crl}, size_t * @var{crl_size}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{indx}: contains the index of the crl to extract @var{crl}: the contents of the crl will be copied there (may be null) @@ -1980,8 +1876,6 @@ @subheading gnutls_pkcs7_get_crl_count @anchor{gnutls_pkcs7_get_crl_count} @deftypefun {int} {gnutls_pkcs7_get_crl_count} (gnutls_pkcs7_t @var{pkcs7}) -@var{pkcs7}: should contain a gnutls_pkcs7_t structure - This function will return the number of certifcates in the PKCS7 or RFC2630 crl set. @@ -1992,8 +1886,6 @@ @subheading gnutls_pkcs7_set_crl_raw @anchor{gnutls_pkcs7_set_crl_raw} @deftypefun {int} {gnutls_pkcs7_set_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crl}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crl}: the DER encoded crl to be added This function will add a crl to the PKCS7 or RFC2630 crl set. @@ -2005,8 +1897,6 @@ @subheading gnutls_pkcs7_set_crl @anchor{gnutls_pkcs7_set_crl} @deftypefun {int} {gnutls_pkcs7_set_crl} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crl_t @var{crl}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{crl}: the DER encoded crl to be added This function will add a parsed CRL to the PKCS7 or RFC2630 crl @@ -2019,8 +1909,6 @@ @subheading gnutls_pkcs7_delete_crl @anchor{gnutls_pkcs7_delete_crl} @deftypefun {int} {gnutls_pkcs7_delete_crl} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx}) -@var{pkcs7}: should contain a @code{gnutls_pkcs7_t} structure - @var{indx}: the index of the crl to delete This function will delete a crl from a PKCS7 or RFC2630 crl set. @@ -2030,1473 +1918,716 @@ negative error value. @end deftypefun -@subheading gnutls_x509_privkey_init -@anchor{gnutls_x509_privkey_init} -@deftypefun {int} {gnutls_x509_privkey_init} (gnutls_x509_privkey_t * @var{key}) -@var{key}: The structure to be initialized +@subheading gnutls_x509_crq_init +@anchor{gnutls_x509_crq_init} +@deftypefun {int} {gnutls_x509_crq_init} (gnutls_x509_crq_t * @var{crq}) +@var{crq}: The structure to be initialized -This function will initialize an private key structure. +This function will initialize a PKCS10 certificate request structure. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_deinit -@anchor{gnutls_x509_privkey_deinit} -@deftypefun {void} {gnutls_x509_privkey_deinit} (gnutls_x509_privkey_t @var{key}) -@var{key}: The structure to be initialized - -This function will deinitialize a private key structure. -@end deftypefun - -@subheading gnutls_x509_privkey_cpy -@anchor{gnutls_x509_privkey_cpy} -@deftypefun {int} {gnutls_x509_privkey_cpy} (gnutls_x509_privkey_t @var{dst}, gnutls_x509_privkey_t @var{src}) -@var{dst}: The destination key, which should be initialized. - -@var{src}: The source key - -This function will copy a private key from source to destination -key. +@subheading gnutls_x509_crq_deinit +@anchor{gnutls_x509_crq_deinit} +@deftypefun {void} {gnutls_x509_crq_deinit} (gnutls_x509_crq_t @var{crq}) +@var{crq}: The structure to be initialized -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +This function will deinitialize a CRL structure. @end deftypefun -@subheading gnutls_x509_privkey_import -@anchor{gnutls_x509_privkey_import} -@deftypefun {int} {gnutls_x509_privkey_import} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) -@var{key}: The structure to store the parsed key +@subheading gnutls_x509_crq_import +@anchor{gnutls_x509_crq_import} +@deftypefun {int} {gnutls_x509_crq_import} (gnutls_x509_crq_t @var{crq}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) +@var{crq}: The structure to store the parsed certificate request. @var{data}: The DER or PEM encoded certificate. @var{format}: One of DER or PEM -This function will convert the given DER or PEM encoded key to the -native @code{gnutls_x509_privkey_t} format. The output will be stored in -@code{key} . +This function will convert the given DER or PEM encoded Certificate +to the native gnutls_x509_crq_t format. The output will be stored in @code{cert}. -If the key is PEM encoded it should have a header of "RSA PRIVATE -KEY", or "DSA PRIVATE KEY". +If the Certificate is PEM encoded it should have a header of "NEW CERTIFICATE REQUEST". @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_import_rsa_raw -@anchor{gnutls_x509_privkey_import_rsa_raw} -@deftypefun {int} {gnutls_x509_privkey_import_rsa_raw} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}, const gnutls_datum_t * @var{d}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{u}) -@var{key}: The structure to store the parsed key +@subheading gnutls_x509_crq_get_dn +@anchor{gnutls_x509_crq_get_dn} +@deftypefun {int} {gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{sizeof_buf}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{m}: holds the modulus +@var{buf}: a pointer to a structure to hold the name (may be null) -@var{e}: holds the public exponent +@var{sizeof_buf}: initially holds the size of @code{buf} -@var{d}: holds the private exponent +This function will copy the name of the Certificate request +subject in the provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data. -@var{p}: holds the first prime (p) +If @code{buf} is null then only the size will be filled. -@var{q}: holds the second prime (q) +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. +@end deftypefun -@var{u}: holds the coefficient - -This function will convert the given RSA raw parameters to the -native @code{gnutls_x509_privkey_t} format. The output will be stored in -@code{key}. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_privkey_import_dsa_raw -@anchor{gnutls_x509_privkey_import_dsa_raw} -@deftypefun {int} {gnutls_x509_privkey_import_dsa_raw} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{g}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{x}) -@var{key}: The structure to store the parsed key - -@var{p}: holds the p - -@var{q}: holds the q - -@var{g}: holds the g - -@var{y}: holds the y - -@var{x}: holds the x - -This function will convert the given DSA raw parameters to the -native @code{gnutls_x509_privkey_t} format. The output will be stored -in @code{key}. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_privkey_get_pk_algorithm -@anchor{gnutls_x509_privkey_get_pk_algorithm} -@deftypefun {int} {gnutls_x509_privkey_get_pk_algorithm} (gnutls_x509_privkey_t @var{key}) -@var{key}: should contain a @code{gnutls_x509_privkey_t} structure - -This function will return the public key algorithm of a private -key. +@subheading gnutls_x509_crq_get_dn_by_oid +@anchor{gnutls_x509_crq_get_dn_by_oid} +@deftypefun {int} {gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on -success, or a negative value on error. -@end deftypefun +@var{oid}: holds an Object Identified in null terminated string -@subheading gnutls_x509_privkey_export -@anchor{gnutls_x509_privkey_export} -@deftypefun {int} {gnutls_x509_privkey_export} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{key}: Holds the key +@var{indx}: In case multiple same OIDs exist in the RDN, this specifies +which to send. Use zero to get the first one. -@var{format}: the format of output params. One of PEM or DER. +@var{raw_flag}: If non zero returns the raw DER data of the DN part. -@var{output_data}: will contain a private key PEM or DER encoded +@var{buf}: a pointer to a structure to hold the name (may be null) -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +@var{sizeof_buf}: initially holds the size of @code{buf} -This function will export the private key to a PKCS1 structure for -RSA keys, or an integer sequence for DSA keys. The DSA keys are in -the same format with the parameters used by openssl. +This function will extract the part of the name of the Certificate +request subject, specified by the given OID. The output will be +encoded as described in RFC2253. The output string will be ASCII +or UTF-8 encoded, depending on the certificate data. -If the buffer provided is not long enough to hold the output, then -*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} -will be returned. +Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is zero, this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '\#' prefix. You can check about known OIDs +using @code{gnutls_x509_dn_oid_known()}. -If the structure is PEM encoded, it will have a header -of "BEGIN RSA PRIVATE KEY". +If @code{buf} is null then only the size will be filled. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_buf will be updated with +the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_privkey_export_rsa_raw -@anchor{gnutls_x509_privkey_export_rsa_raw} -@deftypefun {int} {gnutls_x509_privkey_export_rsa_raw} (gnutls_x509_privkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}, gnutls_datum_t * @var{d}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{u}) -@var{key}: a structure that holds the rsa parameters - -@var{m}: will hold the modulus - -@var{e}: will hold the public exponent +@subheading gnutls_x509_crq_get_dn_oid +@anchor{gnutls_x509_crq_get_dn_oid} +@deftypefun {int} {gnutls_x509_crq_get_dn_oid} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{d}: will hold the private exponent +@var{indx}: Specifies which DN OID to send. Use zero to get the first one. -@var{p}: will hold the first prime (p) +@var{oid}: a pointer to a structure to hold the name (may be null) -@var{q}: will hold the second prime (q) +@var{sizeof_oid}: initially holds the size of @code{oid} -@var{u}: will hold the coefficient +This function will extract the requested OID of the name of the +Certificate request subject, specified by the given index. -This function will export the RSA private key's parameters found -in the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. +If oid is null then only the size will be filled. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. +@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not +long enough, and in that case the *sizeof_oid will be updated with +the required size. On success 0 is returned. @end deftypefun -@subheading gnutls_x509_privkey_export_dsa_raw -@anchor{gnutls_x509_privkey_export_dsa_raw} -@deftypefun {int} {gnutls_x509_privkey_export_dsa_raw} (gnutls_x509_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) -@var{key}: a structure that holds the DSA parameters - -@var{p}: will hold the p - -@var{q}: will hold the q - -@var{g}: will hold the g +@subheading gnutls_x509_crq_get_challenge_password +@anchor{gnutls_x509_crq_get_challenge_password} +@deftypefun {int} {gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{sizeof_pass}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{y}: will hold the y +@var{pass}: will hold a null terminated password -@var{x}: will hold the x +@var{sizeof_pass}: Initially holds the size of @code{pass}. -This function will export the DSA private key's parameters found -in the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. +This function will return the challenge password in the +request. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_generate -@anchor{gnutls_x509_privkey_generate} -@deftypefun {int} {gnutls_x509_privkey_generate} (gnutls_x509_privkey_t @var{key}, gnutls_pk_algorithm_t @var{algo}, unsigned int @var{bits}, unsigned int @var{flags}) -@var{key}: should contain a @code{gnutls_x509_privkey_t} structure +@subheading gnutls_x509_crq_set_attribute_by_oid +@anchor{gnutls_x509_crq_set_attribute_by_oid} +@deftypefun {int} {gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{sizeof_buf}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{algo}: is one of RSA or DSA. +@var{oid}: holds an Object Identified in null terminated string -@var{bits}: the size of the modulus +@var{buf}: a pointer to a structure that holds the attribute data -@var{flags}: unused for now. Must be 0. +@var{sizeof_buf}: holds the size of @code{buf} -This function will generate a random private key. Note that this -function must be called on an empty private key. +This function will set the attribute in the certificate request specified +by the given Object ID. The attribute must be be DER encoded. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_get_key_id -@anchor{gnutls_x509_privkey_get_key_id} -@deftypefun {int} {gnutls_x509_privkey_get_key_id} (gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) -@var{key}: Holds the key +@subheading gnutls_x509_crq_get_attribute_by_oid +@anchor{gnutls_x509_crq_get_attribute_by_oid} +@deftypefun {int} {gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{flags}: should be 0 for now +@var{oid}: holds an Object Identified in null terminated string -@var{output_data}: will contain the key ID +@var{indx}: In case multiple same OIDs exist in the attribute list, this specifies +which to send. Use zero to get the first one. -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +@var{buf}: a pointer to a structure to hold the attribute data (may be null) -This function will return a unique ID the depends on the public key -parameters. This ID can be used in checking whether a certificate -corresponds to the given key. +@var{sizeof_buf}: initially holds the size of @code{buf} -If the buffer provided is not long enough to hold the output, then -*@code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will -be returned. The output will normally be a SHA-1 hash output, -which is 20 bytes. +This function will return the attribute in the certificate request specified +by the given Object ID. The attribute will be DER encoded. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_sign_data -@anchor{gnutls_x509_privkey_sign_data} -@deftypefun {int} {gnutls_x509_privkey_sign_data} (gnutls_x509_privkey_t @var{key}, gnutls_digest_algorithm_t @var{digest}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, void * @var{signature}, size_t * @var{signature_size}) -@var{key}: Holds the key - -@var{digest}: should be MD5 or SHA1 +@subheading gnutls_x509_crq_set_dn_by_oid +@anchor{gnutls_x509_crq_set_dn_by_oid} +@deftypefun {int} {gnutls_x509_crq_set_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{data}, unsigned int @var{sizeof_data}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{flags}: should be 0 for now +@var{oid}: holds an Object Identifier in a null terminated string -@var{data}: holds the data to be signed +@var{raw_flag}: must be 0, or 1 if the data are DER encoded -@var{signature}: will contain the signature +@var{data}: a pointer to the input data -@var{signature_size}: holds the size of signature (and will be replaced -by the new size) +@var{sizeof_data}: holds the size of @code{data} -This function will sign the given data using a signature algorithm -supported by the private key. Signature algorithms are always used -together with a hash functions. Different hash functions may be -used for the RSA algorithm, but only SHA-1 for the DSA keys. +This function will set the part of the name of the Certificate request subject, specified +by the given OID. The input string should be ASCII or UTF-8 encoded. -If the buffer provided is not long enough to hold the output, then -*@code{signature_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will -be returned. +Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using @code{gnutls_x509_dn_oid_known()}. For OIDs that are +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_sign_hash -@anchor{gnutls_x509_privkey_sign_hash} -@deftypefun {int} {gnutls_x509_privkey_sign_hash} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) -@var{key}: Holds the key - -@var{hash}: holds the data to be signed +@subheading gnutls_x509_crq_set_version +@anchor{gnutls_x509_crq_set_version} +@deftypefun {int} {gnutls_x509_crq_set_version} (gnutls_x509_crq_t @var{crq}, unsigned int @var{version}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{signature}: will contain newly allocated signature +@var{version}: holds the version number. For v1 Requests must be 1. -This function will sign the given hash using the private key. Do not -use this function directly unless you know what it is. Typical signing -requires the data to be hashed and stored in special formats -(e.g. BER Digest-Info for RSA). +This function will set the version of the certificate request. For +version 1 requests this must be one. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_privkey_verify_data -@anchor{gnutls_x509_privkey_verify_data} -@deftypefun {int} {gnutls_x509_privkey_verify_data} (gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) -@var{key}: Holds the key - -@var{flags}: should be 0 for now - -@var{data}: holds the data to be signed - -@var{signature}: contains the signature +@subheading gnutls_x509_crq_get_version +@anchor{gnutls_x509_crq_get_version} +@deftypefun {int} {gnutls_x509_crq_get_version} (gnutls_x509_crq_t @var{crq}) +@var{crq}: should contain a gnutls_x509_crq_t structure -This function will verify the given signed data, using the -parameters in the private key. +This function will return the version of the specified Certificate request. -@strong{Returns:} In case of a verification failure 0 is returned, and 1 on -success. +@strong{Returns:} version of certificate request, or a negative value on +error. @end deftypefun -@subheading gnutls_x509_privkey_fix -@anchor{gnutls_x509_privkey_fix} -@deftypefun {int} {gnutls_x509_privkey_fix} (gnutls_x509_privkey_t @var{key}) -@var{key}: Holds the key +@subheading gnutls_x509_crq_set_key +@anchor{gnutls_x509_crq_set_key} +@deftypefun {int} {gnutls_x509_crq_set_key} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}) +@var{crq}: should contain a gnutls_x509_crq_t structure -This function will recalculate the secondary parameters in a key. -In RSA keys, this can be the coefficient and exponent1,2. +@var{key}: holds a private key -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_privkey_export_pkcs8 -@anchor{gnutls_x509_privkey_export_pkcs8} -@deftypefun {int} {gnutls_x509_privkey_export_pkcs8} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{key}: Holds the key - -@var{format}: the format of output params. One of PEM or DER. - -@var{password}: the password that will be used to encrypt the key. - -@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t - -@var{output_data}: will contain a private key PEM or DER encoded - -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) - -This function will export the private key to a PKCS8 structure. -Both RSA and DSA keys can be exported. For DSA keys we use -PKCS @code{11} definitions. If the flags do not specify the encryption -cipher, then the default 3DES (PBES2) will be used. - -The @code{password} can be either ASCII or UTF-8 in the default PBES2 -encryption schemas, or ASCII for the PKCS12 schemas. - -If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. - -If the structure is PEM encoded, it will have a header -of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if -encryption is not used. - -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. -@end deftypefun - -@subheading gnutls_x509_privkey_import_pkcs8 -@anchor{gnutls_x509_privkey_import_pkcs8} -@deftypefun {int} {gnutls_x509_privkey_import_pkcs8} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) -@var{key}: The structure to store the parsed key - -@var{data}: The DER or PEM encoded key. - -@var{format}: One of DER or PEM - -@var{password}: the password to decrypt the key (if it is encrypted). - -@var{flags}: 0 if encrypted or GNUTLS_PKCS_PLAIN if not encrypted. - -This function will convert the given DER or PEM encoded PKCS8 2.0 encrypted key -to the native gnutls_x509_privkey_t format. The output will be stored in @code{key}. -Both RSA and DSA keys can be imported, and flags can only be used to indicate -an unencrypted key. - -The @code{password} can be either ASCII or UTF-8 in the default PBES2 -encryption schemas, or ASCII for the PKCS12 schemas. - -If the Certificate is PEM encoded it should have a header of "ENCRYPTED PRIVATE KEY", -or "PRIVATE KEY". You only need to specify the flags if the key is DER encoded, since -in that case the encryption status cannot be auto-detected. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crt_check_hostname -@anchor{gnutls_x509_crt_check_hostname} -@deftypefun {int} {gnutls_x509_crt_check_hostname} (gnutls_x509_crt_t @var{cert}, const char * @var{hostname}) -@var{cert}: should contain an gnutls_x509_crt_t structure - -@var{hostname}: A null terminated string that contains a DNS name - -This function will check if the given certificate's subject matches -the given hostname. This is a basic implementation of the matching -described in RFC2818 (HTTPS), which takes into account wildcards, -and the DNSName/IPAddress subject alternative name PKIX extension. - -@strong{Returns:} non zero for a successful match, and zero on failure. -@end deftypefun - -@subheading gnutls_x509_crt_check_issuer -@anchor{gnutls_x509_crt_check_issuer} -@deftypefun {int} {gnutls_x509_crt_check_issuer} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t @var{issuer}) -@var{cert}: is the certificate to be checked - -@var{issuer}: is the certificate of a possible issuer - -This function will check if the given certificate was issued by the -given issuer. - -@strong{Returns:} It will return true (1) if the given certificate is issued -by the given issuer, and false (0) if not. A negative value is -returned in case of an error. -@end deftypefun - -@subheading gnutls_x509_crt_list_verify -@anchor{gnutls_x509_crt_list_verify} -@deftypefun {int} {gnutls_x509_crt_list_verify} (const gnutls_x509_crt_t * @var{cert_list}, int @var{cert_list_length}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, const gnutls_x509_crl_t * @var{CRL_list}, int @var{CRL_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) -@var{cert_list}: is the certificate list to be verified - -@var{cert_list_length}: holds the number of certificate in cert_list - -@var{CA_list}: is the CA list which will be used in verification - -@var{CA_list_length}: holds the number of CA certificate in CA_list - -@var{CRL_list}: holds a list of CRLs. - -@var{CRL_list_length}: the length of CRL list. - -@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. - -@var{verify}: will hold the certificate verification output. - -This function will try to verify the given certificate list and return its status. -If no flags are specified (0), this function will use the -basicConstraints (2.5.29.19) PKIX extension. This means that only a certificate -authority is allowed to sign a certificate. - -You must also check the peer's name in order to check if the verified -certificate belongs to the actual peer. - -The certificate verification output will be put in @code{verify} and will be -one or more of the gnutls_certificate_status_t enumerated elements bitwise or'd. -For a more detailed verification status use @code{gnutls_x509_crt_verify()} per list -element. - -@strong{GNUTLS_CERT_INVALID:} the certificate chain is not valid. - -@strong{GNUTLS_CERT_REVOKED:} a certificate in the chain has been revoked. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative value in case of an error. -@end deftypefun - -@subheading gnutls_x509_crt_verify -@anchor{gnutls_x509_crt_verify} -@deftypefun {int} {gnutls_x509_crt_verify} (gnutls_x509_crt_t @var{cert}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) -@var{cert}: is the certificate to be verified - -@var{CA_list}: is one certificate that is considered to be trusted one - -@var{CA_list_length}: holds the number of CA certificate in CA_list - -@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. - -@var{verify}: will hold the certificate verification output. - -This function will try to verify the given certificate and return its status. -The verification output in this functions cannot be GNUTLS_CERT_NOT_VALID. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative value in case of an error. -@end deftypefun - -@subheading gnutls_x509_crl_check_issuer -@anchor{gnutls_x509_crl_check_issuer} -@deftypefun {int} {gnutls_x509_crl_check_issuer} (gnutls_x509_crl_t @var{cert}, gnutls_x509_crt_t @var{issuer}) -@var{issuer}: is the certificate of a possible issuer - -This function will check if the given CRL was issued by the given -issuer certificate. It will return true (1) if the given CRL was -issued by the given issuer, and false (0) if not. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crl_verify -@anchor{gnutls_x509_crl_verify} -@deftypefun {int} {gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) -@var{crl}: is the crl to be verified - -@var{CA_list}: is a certificate list that is considered to be trusted one - -@var{CA_list_length}: holds the number of CA certificates in CA_list - -@var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. - -@var{verify}: will hold the crl verification output. - -This function will try to verify the given crl and return its status. -See @code{gnutls_x509_crt_list_verify()} for a detailed description of -return values. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crt_init -@anchor{gnutls_x509_crt_init} -@deftypefun {int} {gnutls_x509_crt_init} (gnutls_x509_crt_t * @var{cert}) -@var{cert}: The structure to be initialized - -This function will initialize an X.509 certificate structure. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crt_deinit -@anchor{gnutls_x509_crt_deinit} -@deftypefun {void} {gnutls_x509_crt_deinit} (gnutls_x509_crt_t @var{cert}) -@var{cert}: The structure to be initialized - -This function will deinitialize a CRL structure. -@end deftypefun - -@subheading gnutls_x509_crt_import -@anchor{gnutls_x509_crt_import} -@deftypefun {int} {gnutls_x509_crt_import} (gnutls_x509_crt_t @var{cert}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}) -@var{cert}: The structure to store the parsed certificate. - -@var{data}: The DER or PEM encoded certificate. - -@var{format}: One of DER or PEM - -This function will convert the given DER or PEM encoded Certificate -to the native gnutls_x509_crt_t format. The output will be stored in @code{cert}. - -If the Certificate is PEM encoded it should have a header of "X509 CERTIFICATE", or -"CERTIFICATE". +This function will set the public parameters from the given private key to the +request. Only RSA keys are currently supported. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. @end deftypefun -@subheading gnutls_x509_crt_get_issuer_dn -@anchor{gnutls_x509_crt_get_issuer_dn} -@deftypefun {int} {gnutls_x509_crt_get_issuer_dn} (gnutls_x509_crt_t @var{cert}, char * @var{buf}, size_t * @var{sizeof_buf}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{buf}: a pointer to a structure to hold the name (may be null) - -@var{sizeof_buf}: initially holds the size of @code{buf} - -This function will copy the name of the Certificate issuer in the -provided buffer. The name will be in the form -"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string -will be ASCII or UTF-8 encoded, depending on the certificate data. - -If @code{buf} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_issuer_dn_by_oid -@anchor{gnutls_x509_crt_get_issuer_dn_by_oid} -@deftypefun {int} {gnutls_x509_crt_get_issuer_dn_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{oid}: holds an Object Identified in null terminated string - -@var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one. - -@var{raw_flag}: If non zero returns the raw DER data of the DN part. - -@var{buf}: a pointer to a structure to hold the name (may be null) - -@var{sizeof_buf}: initially holds the size of @code{buf} - -This function will extract the part of the name of the Certificate -issuer specified by the given OID. The output, if the raw flag is not -used, will be encoded as described in RFC2253. Thus a string that is -ASCII or UTF-8 encoded, depending on the certificate data. - -Some helper macros with popular OIDs can be found in gnutls/x509.h -If raw flag is zero, this function will only return known OIDs as -text. Other OIDs will be DER encoded, as described in RFC2253 -- -in hex format with a '\#' prefix. You can check about known OIDs -using @code{gnutls_x509_dn_oid_known()}. - -If @code{buf} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_issuer_dn_oid -@anchor{gnutls_x509_crt_get_issuer_dn_oid} -@deftypefun {int} {gnutls_x509_crt_get_issuer_dn_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{indx}: This specifies which OID to return. Use zero to get the first one. - -@var{oid}: a pointer to a buffer to hold the OID (may be null) - -@var{sizeof_oid}: initially holds the size of @code{oid} - -This function will extract the OIDs of the name of the Certificate -issuer specified by the given index. - -If @code{oid} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_oid will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_dn -@anchor{gnutls_x509_crt_get_dn} -@deftypefun {int} {gnutls_x509_crt_get_dn} (gnutls_x509_crt_t @var{cert}, char * @var{buf}, size_t * @var{sizeof_buf}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{buf}: a pointer to a structure to hold the name (may be null) - -@var{sizeof_buf}: initially holds the size of @code{buf} - -This function will copy the name of the Certificate in the -provided buffer. The name will be in the form -"C=xxxx,O=yyyy,CN=zzzz" as described in RFC2253. The output string -will be ASCII or UTF-8 encoded, depending on the certificate data. - -If @code{buf} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_dn_by_oid -@anchor{gnutls_x509_crt_get_dn_by_oid} -@deftypefun {int} {gnutls_x509_crt_get_dn_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{oid}: holds an Object Identified in null terminated string - -@var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use zero to get the first one. - -@var{raw_flag}: If non zero returns the raw DER data of the DN part. - -@var{buf}: a pointer where the DN part will be copied (may be null). - -@var{sizeof_buf}: initially holds the size of @code{buf} - -This function will extract the part of the name of the Certificate -subject specified by the given OID. The output, if the raw flag is not -used, will be encoded as described in RFC2253. Thus a string that is -ASCII or UTF-8 encoded, depending on the certificate data. - -Some helper macros with popular OIDs can be found in gnutls/x509.h -If raw flag is zero, this function will only return known OIDs as -text. Other OIDs will be DER encoded, as described in RFC2253 -- -in hex format with a '\#' prefix. You can check about known OIDs -using @code{gnutls_x509_dn_oid_known()}. - -If @code{buf} is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_buf will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_dn_oid -@anchor{gnutls_x509_crt_get_dn_oid} -@deftypefun {int} {gnutls_x509_crt_get_dn_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{indx}: This specifies which OID to return. Use zero to get the first one. - -@var{oid}: a pointer to a buffer to hold the OID (may be null) - -@var{sizeof_oid}: initially holds the size of @code{oid} - -This function will extract the OIDs of the name of the Certificate -subject specified by the given index. - -If oid is null then only the size will be filled. - -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the *sizeof_oid will be updated with -the required size. On success 0 is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_signature_algorithm -@anchor{gnutls_x509_crt_get_signature_algorithm} -@deftypefun {int} {gnutls_x509_crt_get_signature_algorithm} (gnutls_x509_crt_t @var{cert}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -This function will return a value of the @code{gnutls_sign_algorithm_t} -enumeration that is the signature algorithm. - -@strong{Returns:} a @code{gnutls_sign_algorithm_t} value, or a negative value on -error. -@end deftypefun - -@subheading gnutls_x509_crt_get_signature -@anchor{gnutls_x509_crt_get_signature} -@deftypefun {int} {gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sizeof_sig}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{sig}: a pointer where the signature part will be copied (may be null). - -@var{sizeof_sig}: initially holds the size of @code{sig} - -This function will extract the signature field of a certificate. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. and a negative value on error. -@end deftypefun - -@subheading gnutls_x509_crt_get_version -@anchor{gnutls_x509_crt_get_version} -@deftypefun {int} {gnutls_x509_crt_get_version} (gnutls_x509_crt_t @var{cert}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -This function will return the version of the specified Certificate. - -@strong{Returns:} version of certificate, or a negative value on error. -@end deftypefun - -@subheading gnutls_x509_crt_get_activation_time -@anchor{gnutls_x509_crt_get_activation_time} -@deftypefun {time_t} {gnutls_x509_crt_get_activation_time} (gnutls_x509_crt_t @var{cert}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -This function will return the time this Certificate was or will be -activated. - -@strong{Returns:} activation time, or (time_t)-1 on error. -@end deftypefun - -@subheading gnutls_x509_crt_get_expiration_time -@anchor{gnutls_x509_crt_get_expiration_time} -@deftypefun {time_t} {gnutls_x509_crt_get_expiration_time} (gnutls_x509_crt_t @var{cert}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -This function will return the time this Certificate was or will be -expired. - -@strong{Returns:} expiration time, or (time_t)-1 on error. -@end deftypefun - -@subheading gnutls_x509_crt_get_serial -@anchor{gnutls_x509_crt_get_serial} -@deftypefun {int} {gnutls_x509_crt_get_serial} (gnutls_x509_crt_t @var{cert}, void * @var{result}, size_t * @var{result_size}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{result}: The place where the serial number will be copied - -@var{result_size}: Holds the size of the result field. - -This function will return the X.509 certificate's serial number. -This is obtained by the X509 Certificate serialNumber -field. Serial is not always a 32 or 64bit number. Some CAs use -large serial numbers, thus it may be wise to handle it as something -opaque. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative value in case of an error. -@end deftypefun - -@subheading gnutls_x509_crt_get_subject_key_id -@anchor{gnutls_x509_crt_get_subject_key_id} -@deftypefun {int} {gnutls_x509_crt_get_subject_key_id} (gnutls_x509_crt_t @var{cert}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{ret}: The place where the identifier will be copied - -@var{ret_size}: Holds the size of the result field. - -@var{critical}: will be non zero if the extension is marked as critical (may be null) - -This function will return the X.509v3 certificate's subject key identifier. -This is obtained by the X.509 Subject Key identifier extension -field (2.5.29.14). - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative value in case of an error. -@end deftypefun - -@subheading gnutls_x509_crt_get_authority_key_id -@anchor{gnutls_x509_crt_get_authority_key_id} -@deftypefun {int} {gnutls_x509_crt_get_authority_key_id} (gnutls_x509_crt_t @var{cert}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{ret}: The place where the identifier will be copied - -@var{ret_size}: Holds the size of the result field. - -@var{critical}: will be non zero if the extension is marked as critical (may be null) - -This function will return the X.509v3 certificate authority's key -identifier. This is obtained by the X.509 Authority Key -identifier extension field (2.5.29.35). Note that this function -only returns the keyIdentifier field of the extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.and a negative value in case of an error. -@end deftypefun - -@subheading gnutls_x509_crt_get_pk_algorithm -@anchor{gnutls_x509_crt_get_pk_algorithm} -@deftypefun {int} {gnutls_x509_crt_get_pk_algorithm} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{bits}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{bits}: if bits is non null it will hold the size of the parameters' in bits - -This function will return the public key algorithm of an X.509 -certificate. - -If bits is non null, it should have enough size to hold the parameters -size in bits. For RSA the bits returned is the modulus. -For DSA the bits returned are of the public -exponent. - -@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on -success, or a negative value on error. -@end deftypefun - -@subheading gnutls_x509_crt_get_subject_alt_name -@anchor{gnutls_x509_crt_get_subject_alt_name} -@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - -@var{ret}: is the place where the alternative name will be copied to - -@var{ret_size}: holds the size of ret. - -@var{critical}: will be non zero if the extension is marked as critical (may be null) - -This function will return the alternative names, contained in the -given certificate. - -This is specified in X509v3 Certificate Extensions. GNUTLS will -return the Alternative name (2.5.29.17), or a negative error code. - -When the SAN type is otherName, it will extract the data in the -otherName's value field, and @code{GNUTLS_SAN_OTHERNAME} is returned. -You may use @code{gnutls_x509_crt_get_subject_alt_othername_oid()} to get -the corresponding OID and the "virtual" SAN types (e.g., -@code{GNUTLS_SAN_OTHERNAME_XMPP}). - -If an otherName OID is known, the data will be decoded. Otherwise -the returned data will be DER encoded, and you will have to decode -it yourself. Currently, only the RFC 3920 id-on-xmppAddr SAN is -recognized. - -@strong{Returns:} the alternative subject name type on success, one of the -enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough -to hold the value. In that case @code{ret_size} will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_subject_alt_name2 -@anchor{gnutls_x509_crt_get_subject_alt_name2} -@deftypefun {int} {gnutls_x509_crt_get_subject_alt_name2} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{ret_type}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - -@var{ret}: is the place where the alternative name will be copied to - -@var{ret_size}: holds the size of ret. - -@var{ret_type}: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). - -@var{critical}: will be non zero if the extension is marked as critical (may be null) - -This function will return the alternative names, contained in the -given certificate. It is the same as -@code{gnutls_x509_crt_get_subject_alt_name()} except for the fact that it -will return the type of the alternative name in @code{ret_type} even if -the function fails for some reason (i.e. the buffer provided is -not enough). - -@strong{Returns:} the alternative subject name type on success, one of the -enumerated @code{gnutls_x509_subject_alt_name_t}. It will return -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} if @code{ret_size} is not large enough -to hold the value. In that case @code{ret_size} will be updated with -the required size. If the certificate does not have an -Alternative name with the specified sequence number then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_subject_alt_othername_oid -@anchor{gnutls_x509_crt_get_subject_alt_othername_oid} -@deftypefun {int} {gnutls_x509_crt_get_subject_alt_othername_oid} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - -@var{ret}: is the place where the otherName OID will be copied to - -@var{ret_size}: holds the size of ret. - -This function will extract the type OID of an otherName Subject -Alternative Name, contained in the given certificate, and return -the type as an enumerated element. - -This function is only useful if -@code{gnutls_x509_crt_get_subject_alt_name()} returned -@code{GNUTLS_SAN_OTHERNAME}. - -@strong{Returns:} the alternative subject name type on success, one of the -enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it -will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, -e.g. @code{GNUTLS_SAN_OTHERNAME_XMPP}, and @code{GNUTLS_SAN_OTHERNAME} for -unknown OIDs. It will return @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if -@code{ret_size} is not large enough to hold the value. In that case -@code{ret_size} will be updated with the required size. If the -certificate does not have an Alternative name with the specified -sequence number and with the otherName type then -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_basic_constraints -@anchor{gnutls_x509_crt_get_basic_constraints} -@deftypefun {int} {gnutls_x509_crt_get_basic_constraints} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, int * @var{ca}, int * @var{pathlen}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{critical}: will be non zero if the extension is marked as critical - -@var{ca}: pointer to output integer indicating CA status, may be NULL, -value is 1 if the certificate CA flag is set, 0 otherwise. - -@var{pathlen}: pointer to output integer indicating path length (may be -NULL), non-negative values indicate a present pathLenConstraint -field and the actual value, -1 indicate that the field is absent. - -This function will read the certificate's basic constraints, and -return the certificates CA status. It reads the basicConstraints -X.509 extension (2.5.29.19). - -@strong{Return value:} If the certificate is a CA a positive value will be -returned, or zero if the certificate does not have CA flag set. A -negative value may be returned in case of errors. If the -certificate does not contain the basicConstraints extension -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_ca_status -@anchor{gnutls_x509_crt_get_ca_status} -@deftypefun {int} {gnutls_x509_crt_get_ca_status} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{critical}: will be non zero if the extension is marked as critical - -This function will return certificates CA status, by reading the -basicConstraints X.509 extension (2.5.29.19). If the certificate is -a CA a positive value will be returned, or zero if the certificate -does not have CA flag set. - -Use @code{gnutls_x509_crt_get_basic_constraints()} if you want to read the -pathLenConstraint field too. - -@strong{Returns:} A negative value may be returned in case of parsing error. -If the certificate does not contain the basicConstraints extension -@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_key_usage -@anchor{gnutls_x509_crt_get_key_usage} -@deftypefun {int} {gnutls_x509_crt_get_key_usage} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{key_usage}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{key_usage}: where the key usage bits will be stored - -@var{critical}: will be non zero if the extension is marked as critical - -This function will return certificate's key usage, by reading the -keyUsage X.509 extension (2.5.29.15). The key usage value will - -@strong{ORed values of the:} @code{GNUTLS_KEY_DIGITAL_SIGNATURE}, -@code{GNUTLS_KEY_NON_REPUDIATION}, @code{GNUTLS_KEY_KEY_ENCIPHERMENT}, -@code{GNUTLS_KEY_DATA_ENCIPHERMENT}, @code{GNUTLS_KEY_KEY_AGREEMENT}, -@code{GNUTLS_KEY_KEY_CERT_SIGN}, @code{GNUTLS_KEY_CRL_SIGN}, -@code{GNUTLS_KEY_ENCIPHER_ONLY}, @code{GNUTLS_KEY_DECIPHER_ONLY}. - -@strong{Returns:} the certificate key usage, or a negative value in case of -parsing error. If the certificate does not contain the keyUsage -extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. -@end deftypefun - -@subheading gnutls_x509_crt_get_proxy -@anchor{gnutls_x509_crt_get_proxy} -@deftypefun {int} {gnutls_x509_crt_get_proxy} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, int * @var{pathlen}, char ** @var{policyLanguage}, char ** @var{policy}, size_t * @var{sizeof_policy}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{critical}: will be non zero if the extension is marked as critical - -@var{pathlen}: pointer to output integer indicating path length (may be -NULL), non-negative values indicate a present pCPathLenConstraint -field and the actual value, -1 indicate that the field is absent. - -@var{policyLanguage}: output variable with OID of policy language - -@var{policy}: output variable with policy data +@subheading gnutls_x509_crq_set_challenge_password +@anchor{gnutls_x509_crq_set_challenge_password} +@deftypefun {int} {gnutls_x509_crq_set_challenge_password} (gnutls_x509_crq_t @var{crq}, const char * @var{pass}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{sizeof_policy}: output variable size of policy data +@var{pass}: holds a null terminated password -This function will get information from a proxy certificate. It -reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). +This function will set a challenge password to be used when revoking the request. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crt_get_extension_by_oid -@anchor{gnutls_x509_crt_get_extension_by_oid} -@deftypefun {int} {gnutls_x509_crt_get_extension_by_oid} (gnutls_x509_crt_t @var{cert}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@subheading gnutls_x509_crq_sign2 +@anchor{gnutls_x509_crq_sign2} +@deftypefun {int} {gnutls_x509_crq_sign2} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) +@var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{oid}: holds an Object Identified in null terminated string +@var{key}: holds a private key -@var{indx}: In case multiple same OIDs exist in the extensions, this specifies which to send. Use zero to get the first one. +@var{dig}: The message digest to use, @code{GNUTLS_DIG_SHA1} is the safe choice unless you know what you're doing. -@var{buf}: a pointer to a structure to hold the name (may be null) +@var{flags}: must be 0 -@var{sizeof_buf}: initially holds the size of @code{buf} +This function will sign the certificate request with a private key. +This must be the same key as the one used in +@code{gnutls_x509_crt_set_key()} since a certificate request is self +signed. -@var{critical}: will be non zero if the extension is marked as critical +This must be the last step in a certificate request generation +since all the previously set parameters are now signed. -This function will return the extension specified by the OID in the -certificate. The extensions will be returned as binary data DER -encoded, in the provided buffer. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If the certificate does not -contain the specified extension -GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. +@code{GNUTLS_E_ASN1_VALUE_NOT_FOUND} is returned if you didn't set all +information in the certificate request (e.g., the version using +@code{gnutls_x509_crq_set_version()}). @end deftypefun -@subheading gnutls_x509_crt_get_extension_oid -@anchor{gnutls_x509_crt_get_extension_oid} -@deftypefun {int} {gnutls_x509_crt_get_extension_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. - -@var{oid}: a pointer to a structure to hold the OID (may be null) +@subheading gnutls_x509_crq_sign +@anchor{gnutls_x509_crq_sign} +@deftypefun {int} {gnutls_x509_crq_sign} (gnutls_x509_crq_t @var{crq}, gnutls_x509_privkey_t @var{key}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{sizeof_oid}: initially holds the size of @code{oid} +@var{key}: holds a private key -This function will return the requested extension OID in the certificate. -The extension OID will be stored as a string in the provided buffer. +This function is the same a @code{gnutls_x509_crq_sign2()} with no flags, and +SHA1 as the hash algorithm. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crt_get_extension_info -@anchor{gnutls_x509_crt_get_extension_info} -@deftypefun {int} {gnutls_x509_crt_get_extension_info} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. +@subheading gnutls_x509_crq_export +@anchor{gnutls_x509_crq_export} +@deftypefun {int} {gnutls_x509_crq_export} (gnutls_x509_crq_t @var{crq}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{crq}: Holds the request -@var{oid}: a pointer to a structure to hold the OID +@var{format}: the format of output params. One of PEM or DER. -@var{sizeof_oid}: initially holds the maximum size of @code{oid}, on return -holds actual size of @code{oid}. +@var{output_data}: will contain a certificate request PEM or DER encoded -@var{critical}: output variable with critical flag, may be NULL. +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) -This function will return the requested extension OID in the -certificate, and the critical flag for it. The extension OID will -be stored as a string in the provided buffer. Use -@code{gnutls_x509_crt_get_extension_data()} to extract the data. +This function will export the certificate request to a PKCS10 If the buffer provided is not long enough to hold the output, then -*@code{sizeof_oid} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be -returned. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. -@end deftypefun +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned and +*output_data_size will be updated. -@subheading gnutls_x509_crt_get_extension_data -@anchor{gnutls_x509_crt_get_extension_data} -@deftypefun {int} {gnutls_x509_crt_get_extension_data} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +If the structure is PEM encoded, it will have a header of "BEGIN +NEW CERTIFICATE REQUEST". -@var{indx}: Specifies which extension OID to send. Use zero to get the first one. +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. +@end deftypefun -@var{data}: a pointer to a structure to hold the data (may be null) +@subheading gnutls_x509_crq_get_pk_algorithm +@anchor{gnutls_x509_crq_get_pk_algorithm} +@deftypefun {int} {gnutls_x509_crq_get_pk_algorithm} (gnutls_x509_crq_t @var{crq}, unsigned int * @var{bits}) +@var{crq}: should contain a gnutls_x509_crq_t structure -@var{sizeof_data}: initially holds the size of @code{oid} +@var{bits}: if bits is non null it will hold the size of the parameters' in bits -This function will return the requested extension data in the -certificate. The extension data will be stored as a string in the -provided buffer. +This function will return the public key algorithm of a PKCS \@code{10} +certificate request. -Use @code{gnutls_x509_crt_get_extension_info()} to extract the OID and -critical flag. Use @code{gnutls_x509_crt_get_extension_by_oid()} instead, -if you want to get data indexed by the extension OID rather than -sequence. +If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. If you have reached the -last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} -will be returned. +@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on +success, or a negative value on error. @end deftypefun -@subheading gnutls_x509_crt_get_raw_issuer_dn -@anchor{gnutls_x509_crt_get_raw_issuer_dn} -@deftypefun {int} {gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@subheading gnutls_x509_privkey_export_pkcs8 +@anchor{gnutls_x509_privkey_export_pkcs8} +@deftypefun {int} {gnutls_x509_privkey_export_pkcs8} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{key}: Holds the key -@var{start}: will hold the starting point of the DN +@var{format}: the format of output params. One of PEM or DER. -This function will return a pointer to the DER encoded DN structure -and the length. +@var{password}: the password that will be used to encrypt the key. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value.or a negative value on error. -@end deftypefun +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t -@subheading gnutls_x509_crt_get_raw_dn -@anchor{gnutls_x509_crt_get_raw_dn} -@deftypefun {int} {gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@var{output_data}: will contain a private key PEM or DER encoded -@var{start}: will hold the starting point of the DN +@var{output_data_size}: holds the size of output_data (and will be +replaced by the actual size of parameters) -This function will return a pointer to the DER encoded DN structure and -the length. +This function will export the private key to a PKCS8 structure. +Both RSA and DSA keys can be exported. For DSA keys we use +PKCS @code{11} definitions. If the flags do not specify the encryption +cipher, then the default 3DES (PBES2) will be used. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. or a negative value on error. -@end deftypefun +The @code{password} can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas. -@subheading gnutls_x509_crt_get_subject -@anchor{gnutls_x509_crt_get_subject} -@deftypefun {int} {gnutls_x509_crt_get_subject} (gnutls_x509_crt_t @var{cert}, gnutls_x509_dn_t * @var{dn}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. -@var{dn}: output variable with pointer to opaque DN. +If the structure is PEM encoded, it will have a header +of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if +encryption is not used. -Return the Certificate's Subject DN as an opaque data type. You -may use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. +@strong{Return value:} In case of failure a negative value will be +returned, and 0 on success. +@end deftypefun -Note that @code{dn} should be treated as constant. Because points -into the @code{cert} object, you may not deallocate @code{cert} -and continue to access @code{dn}. +@subheading gnutls_x509_privkey_import_pkcs8 +@anchor{gnutls_x509_privkey_import_pkcs8} +@deftypefun {int} {gnutls_x509_privkey_import_pkcs8} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@var{key}: The structure to store the parsed key -@strong{Returns:} Returns 0 on success, or an error code. -@end deftypefun +@var{data}: The DER or PEM encoded key. -@subheading gnutls_x509_crt_get_issuer -@anchor{gnutls_x509_crt_get_issuer} -@deftypefun {int} {gnutls_x509_crt_get_issuer} (gnutls_x509_crt_t @var{cert}, gnutls_x509_dn_t * @var{dn}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@var{format}: One of DER or PEM -@var{dn}: output variable with pointer to opaque DN +@var{password}: the password to decrypt the key (if it is encrypted). -Return the Certificate's Issuer DN as an opaque data type. You may -use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. +@var{flags}: 0 if encrypted or GNUTLS_PKCS_PLAIN if not encrypted. -Note that @code{dn} should be treated as constant. Because points -into the @code{cert} object, you may not deallocate @code{cert} -and continue to access @code{dn}. +This function will convert the given DER or PEM encoded PKCS8 2.0 encrypted key +to the native gnutls_x509_privkey_t format. The output will be stored in @code{key}. +Both RSA and DSA keys can be imported, and flags can only be used to indicate +an unencrypted key. -@strong{Returns:} Returns 0 on success, or an error code. -@end deftypefun +The @code{password} can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas. -@subheading gnutls_x509_dn_get_rdn_ava -@anchor{gnutls_x509_dn_get_rdn_ava} -@deftypefun {int} {gnutls_x509_dn_get_rdn_ava} (gnutls_x509_dn_t @var{dn}, int @var{irdn}, int @var{iava}, gnutls_x509_ava_st * @var{ava}) -@var{dn}: input variable with opaque DN pointer +If the Certificate is PEM encoded it should have a header of "ENCRYPTED PRIVATE KEY", +or "PRIVATE KEY". You only need to specify the flags if the key is DER encoded, since +in that case the encryption status cannot be auto-detected. -@var{irdn}: index of RDN +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun -@var{iava}: index of AVA. +@subheading gnutls_pkcs12_init +@anchor{gnutls_pkcs12_init} +@deftypefun {int} {gnutls_pkcs12_init} (gnutls_pkcs12_t * @var{pkcs12}) +@var{pkcs12}: The structure to be initialized -@var{ava}: Pointer to structure which will hold output information. +This function will initialize a PKCS12 structure. PKCS12 structures +usually contain lists of X.509 Certificates and X.509 Certificate +revocation lists. -Get pointers to data within the DN. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun -Note that @code{ava} will contain pointers into the @code{dn} structure, so you -should not modify any data or deallocate it. Note also that the DN -in turn points into the original certificate structure, and thus -you may not deallocate the certificate and continue to access @code{dn}. +@subheading gnutls_pkcs12_deinit +@anchor{gnutls_pkcs12_deinit} +@deftypefun {void} {gnutls_pkcs12_deinit} (gnutls_pkcs12_t @var{pkcs12}) +@var{pkcs12}: The structure to be initialized -@strong{Returns:} Returns 0 on success, or an error code. +This function will deinitialize a PKCS12 structure. @end deftypefun -@subheading gnutls_x509_crt_get_fingerprint -@anchor{gnutls_x509_crt_get_fingerprint} -@deftypefun {int} {gnutls_x509_crt_get_fingerprint} (gnutls_x509_crt_t @var{cert}, gnutls_digest_algorithm_t @var{algo}, void * @var{buf}, size_t * @var{sizeof_buf}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@subheading gnutls_pkcs12_import +@anchor{gnutls_pkcs12_import} +@deftypefun {int} {gnutls_pkcs12_import} (gnutls_pkcs12_t @var{pkcs12}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@var{pkcs12}: The structure to store the parsed PKCS12. -@var{algo}: is a digest algorithm +@var{data}: The DER or PEM encoded PKCS12. -@var{buf}: a pointer to a structure to hold the fingerprint (may be null) +@var{format}: One of DER or PEM -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{flags}: an ORed sequence of gnutls_privkey_pkcs8_flags -This function will calculate and copy the certificate's fingerprint -in the provided buffer. +This function will convert the given DER or PEM encoded PKCS12 +to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'. -If the buffer is null then only the size will be filled. +If the PKCS12 is PEM encoded it should have a header of "PKCS12". -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *sizeof_buf will be updated -with the required size. On success 0 is returned. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crt_export -@anchor{gnutls_x509_crt_export} -@deftypefun {int} {gnutls_x509_crt_export} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) -@var{cert}: Holds the certificate +@subheading gnutls_pkcs12_export +@anchor{gnutls_pkcs12_export} +@deftypefun {int} {gnutls_pkcs12_export} (gnutls_pkcs12_t @var{pkcs12}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size}) +@var{pkcs12}: Holds the pkcs12 structure @var{format}: the format of output params. One of PEM or DER. -@var{output_data}: will contain a certificate PEM or DER encoded +@var{output_data}: will contain a structure PEM or DER encoded @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will export the certificate to DER or PEM format. +This function will export the pkcs12 structure to DER or PEM format. If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. +*output_data_size will be updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned. If the structure is PEM encoded, it will have a header -of "BEGIN CERTIFICATE". +of "BEGIN PKCS12". @strong{Return value:} In case of failure a negative value will be returned, and 0 on success. @end deftypefun -@subheading gnutls_x509_crt_get_key_id -@anchor{gnutls_x509_crt_get_key_id} -@deftypefun {int} {gnutls_x509_crt_get_key_id} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) -@var{crt}: Holds the certificate - -@var{flags}: should be 0 for now +@subheading gnutls_pkcs12_get_bag +@anchor{gnutls_pkcs12_get_bag} +@deftypefun {int} {gnutls_pkcs12_get_bag} (gnutls_pkcs12_t @var{pkcs12}, int @var{indx}, gnutls_pkcs12_bag_t @var{bag}) +@var{pkcs12}: should contain a gnutls_pkcs12_t structure -@var{output_data}: will contain the key ID +@var{indx}: contains the index of the bag to extract -@var{output_data_size}: holds the size of output_data (and will be -replaced by the actual size of parameters) +@var{bag}: An initialized bag, where the contents of the bag will be copied -This function will return a unique ID the depends on the public -key parameters. This ID can be used in checking whether a -certificate corresponds to the given private key. +This function will return a Bag from the PKCS12 structure. -If the buffer provided is not long enough to hold the output, then -*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will -be returned. The output will normally be a SHA-1 hash output, -which is 20 bytes. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. -@strong{Return value:} In case of failure a negative value will be -returned, and 0 on success. +After the last Bag has been read GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE +will be returned. @end deftypefun -@subheading gnutls_x509_crt_check_revocation -@anchor{gnutls_x509_crt_check_revocation} -@deftypefun {int} {gnutls_x509_crt_check_revocation} (gnutls_x509_crt_t @var{cert}, const gnutls_x509_crl_t * @var{crl_list}, int @var{crl_list_length}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure - -@var{crl_list}: should contain a list of gnutls_x509_crl_t structures +@subheading gnutls_pkcs12_set_bag +@anchor{gnutls_pkcs12_set_bag} +@deftypefun {int} {gnutls_pkcs12_set_bag} (gnutls_pkcs12_t @var{pkcs12}, gnutls_pkcs12_bag_t @var{bag}) +@var{pkcs12}: should contain a gnutls_pkcs12_t structure -@var{crl_list_length}: the length of the crl_list +@var{bag}: An initialized bag -This function will return check if the given certificate is -revoked. It is assumed that the CRLs have been verified before. +This function will insert a Bag into the PKCS12 structure. -@strong{Returns:} 0 if the certificate is NOT revoked, and 1 if it is. A -negative value is returned on error. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crt_get_verify_algorithm -@anchor{gnutls_x509_crt_get_verify_algorithm} -@deftypefun {int} {gnutls_x509_crt_get_verify_algorithm} (gnutls_x509_crt_t @var{crt}, const gnutls_datum_t * @var{signature}, gnutls_digest_algorithm_t * @var{hash}) -@var{crt}: Holds the certificate +@subheading gnutls_pkcs12_generate_mac +@anchor{gnutls_pkcs12_generate_mac} +@deftypefun {int} {gnutls_pkcs12_generate_mac} (gnutls_pkcs12_t @var{pkcs12}, const char * @var{pass}) +@var{pkcs12}: should contain a gnutls_pkcs12_t structure -@var{signature}: contains the signature +@var{pass}: The password for the MAC + +This function will generate a MAC for the PKCS12 structure. -@var{hash}: The result of the call with the hash algorithm used for signature +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_pkcs12_verify_mac +@anchor{gnutls_pkcs12_verify_mac} +@deftypefun {int} {gnutls_pkcs12_verify_mac} (gnutls_pkcs12_t @var{pkcs12}, const char * @var{pass}) +@var{pkcs12}: should contain a gnutls_pkcs12_t structure -This function will read the certifcate and the signed data to -determine the hash algorithm used to generate the signature. +@var{pass}: The password for the MAC -@strong{Returns:} the 0 if the hash algorithm is found. A negative value is -returned on error. +This function will verify the MAC for the PKCS12 structure. -@strong{Since:} 2.8.0 +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun -@subheading gnutls_x509_crt_verify_data -@anchor{gnutls_x509_crt_verify_data} -@deftypefun {int} {gnutls_x509_crt_verify_data} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) -@var{crt}: Holds the certificate +@subheading gnutls_pkcs12_bag_init +@anchor{gnutls_pkcs12_bag_init} +@deftypefun {int} {gnutls_pkcs12_bag_init} (gnutls_pkcs12_bag_t * @var{bag}) +@var{bag}: The structure to be initialized -@var{flags}: should be 0 for now +This function will initialize a PKCS12 bag structure. PKCS12 Bags +usually contain private keys, lists of X.509 Certificates and X.509 Certificate +revocation lists. -@var{data}: holds the data to be signed +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun -@var{signature}: contains the signature +@subheading gnutls_pkcs12_bag_deinit +@anchor{gnutls_pkcs12_bag_deinit} +@deftypefun {void} {gnutls_pkcs12_bag_deinit} (gnutls_pkcs12_bag_t @var{bag}) +@var{bag}: The structure to be initialized -This function will verify the given signed data, using the -parameters from the certificate. +This function will deinitialize a PKCS12 Bag structure. +@end deftypefun -@strong{Returns:} In case of a verification failure 0 is returned, and 1 on -success. +@subheading gnutls_pkcs12_bag_get_type +@anchor{gnutls_pkcs12_bag_get_type} +@deftypefun {gnutls_pkcs12_bag_type_t} {gnutls_pkcs12_bag_get_type} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}) +@var{bag}: The bag + +@var{indx}: The element of the bag to get the type + +This function will return the bag's type. One of the gnutls_pkcs12_bag_type_t +enumerations. @end deftypefun -@subheading gnutls_x509_crt_verify_hash -@anchor{gnutls_x509_crt_verify_hash} -@deftypefun {int} {gnutls_x509_crt_verify_hash} (gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}, const gnutls_datum_t * @var{hash}, const gnutls_datum_t * @var{signature}) -@var{crt}: Holds the certificate +@subheading gnutls_pkcs12_bag_get_count +@anchor{gnutls_pkcs12_bag_get_count} +@deftypefun {int} {gnutls_pkcs12_bag_get_count} (gnutls_pkcs12_bag_t @var{bag}) +@var{bag}: The bag -@var{flags}: should be 0 for now +This function will return the number of the elements withing the bag. +@end deftypefun -@var{hash}: holds the hash digest to be verified +@subheading gnutls_pkcs12_bag_get_data +@anchor{gnutls_pkcs12_bag_get_data} +@deftypefun {int} {gnutls_pkcs12_bag_get_data} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, gnutls_datum_t * @var{data}) +@var{bag}: The bag -@var{signature}: contains the signature +@var{indx}: The element of the bag to get the data from -This function will verify the given signed digest, using the -parameters from the certificate. +@var{data}: where the bag's data will be. Should be treated as constant. -@strong{Returns:} In case of a verification failure 0 is returned, and 1 on -success. -@end deftypefun +This function will return the bag's data. The data is a constant +that is stored into the bag. Should not be accessed after the bag +is deleted. -@subheading gnutls_x509_crt_get_crl_dist_points -@anchor{gnutls_x509_crt_get_crl_dist_points} -@deftypefun {int} {gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value.and a negative error code on error. +@end deftypefun -@var{seq}: specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.) +@subheading gnutls_pkcs12_bag_set_data +@anchor{gnutls_pkcs12_bag_set_data} +@deftypefun {int} {gnutls_pkcs12_bag_set_data} (gnutls_pkcs12_bag_t @var{bag}, gnutls_pkcs12_bag_type_t @var{type}, const gnutls_datum_t * @var{data}) +@var{bag}: The bag -@var{ret}: is the place where the distribution point will be copied to +@var{type}: The data's type -@var{ret_size}: holds the size of ret. +@var{data}: the data to be copied. -@var{reason_flags}: Revocation reasons flags. +This function will insert the given data of the given type into +the bag. -@var{critical}: will be non zero if the extension is marked as critical (may be null) +@strong{Returns:} the index of the added bag on success, or a negative +value on error. +@end deftypefun -This function will return the CRL distribution points (2.5.29.31), -contained in the given certificate. +@subheading gnutls_pkcs12_bag_set_crt +@anchor{gnutls_pkcs12_bag_set_crt} +@deftypefun {int} {gnutls_pkcs12_bag_set_crt} (gnutls_pkcs12_bag_t @var{bag}, gnutls_x509_crt_t @var{crt}) +@var{bag}: The bag -@code{reason_flags} should be an ORed sequence of -GNUTLS_CRL_REASON_UNUSED, GNUTLS_CRL_REASON_KEY_COMPROMISE, -GNUTLS_CRL_REASON_CA_COMPROMISE, -GNUTLS_CRL_REASON_AFFILIATION_CHANGED, -GNUTLS_CRL_REASON_SUPERSEEDED, -GNUTLS_CRL_REASON_CESSATION_OF_OPERATION, -GNUTLS_CRL_REASON_CERTIFICATE_HOLD, -GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN, -GNUTLS_CRL_REASON_AA_COMPROMISE, or zero for all possible reasons. +@var{crt}: the certificate to be copied. -This is specified in X509v3 Certificate Extensions. GNUTLS will -return the distribution point type, or a negative error code on -error. +This function will insert the given certificate into the +bag. This is just a wrapper over @code{gnutls_pkcs12_bag_set_data()}. -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} and updates &@code{ret_size} if -&@code{ret_size} is not enough to hold the distribution point, or the -type of the distribution point if everything was ok. The type is -one of the enumerated @code{gnutls_x509_subject_alt_name_t}. If the -certificate does not have an Alternative name with the specified -sequence number then @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is -returned. +@strong{Returns:} the index of the added bag on success, or a negative +value on failure. @end deftypefun -@subheading gnutls_x509_crt_get_key_purpose_oid -@anchor{gnutls_x509_crt_get_key_purpose_oid} -@deftypefun {int} {gnutls_x509_crt_get_key_purpose_oid} (gnutls_x509_crt_t @var{cert}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, unsigned int * @var{critical}) -@var{cert}: should contain a @code{gnutls_x509_crt_t} structure +@subheading gnutls_pkcs12_bag_set_crl +@anchor{gnutls_pkcs12_bag_set_crl} +@deftypefun {int} {gnutls_pkcs12_bag_set_crl} (gnutls_pkcs12_bag_t @var{bag}, gnutls_x509_crl_t @var{crl}) +@var{bag}: The bag -@var{indx}: This specifies which OID to return. Use zero to get the first one. +@var{crl}: the CRL to be copied. -@var{oid}: a pointer to a buffer to hold the OID (may be null) +This function will insert the given CRL into the +bag. This is just a wrapper over @code{gnutls_pkcs12_bag_set_data()}. -@var{sizeof_oid}: initially holds the size of @code{oid} +@strong{Returns:} the index of the added bag on success, or a negative value +on failure. +@end deftypefun -@var{critical}: output flag to indicate criticality of extension +@subheading gnutls_pkcs12_bag_set_key_id +@anchor{gnutls_pkcs12_bag_set_key_id} +@deftypefun {int} {gnutls_pkcs12_bag_set_key_id} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, const gnutls_datum_t * @var{id}) +@var{bag}: The bag -This function will extract the key purpose OIDs of the Certificate -specified by the given index. These are stored in the Extended -Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions -for human readable names. +@var{indx}: The bag's element to add the id -If @code{oid} is null then only the size will be filled. +@var{id}: the ID -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *sizeof_oid will be -updated with the required size. On success 0 is returned. +This function will add the given key ID, to the specified, by the index, bag +element. The key ID will be encoded as a 'Local key identifier' bag attribute, +which is usually used to distinguish the local private key and the certificate pair. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. or a negative value on error. @end deftypefun -@subheading gnutls_x509_crt_get_pk_rsa_raw -@anchor{gnutls_x509_crt_get_pk_rsa_raw} -@deftypefun {int} {gnutls_x509_crt_get_pk_rsa_raw} (gnutls_x509_crt_t @var{crt}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) -@var{crt}: Holds the certificate +@subheading gnutls_pkcs12_bag_get_key_id +@anchor{gnutls_pkcs12_bag_get_key_id} +@deftypefun {int} {gnutls_pkcs12_bag_get_key_id} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, gnutls_datum_t * @var{id}) +@var{bag}: The bag -@var{m}: will hold the modulus +@var{indx}: The bag's element to add the id -@var{e}: will hold the public exponent +@var{id}: where the ID will be copied (to be treated as const) + +This function will return the key ID, of the specified bag element. +The key ID is usually used to distinguish the local private key and the certificate pair. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. or a negative value on error. +@end deftypefun + +@subheading gnutls_pkcs12_bag_get_friendly_name +@anchor{gnutls_pkcs12_bag_get_friendly_name} +@deftypefun {int} {gnutls_pkcs12_bag_get_friendly_name} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, char ** @var{name}) +@var{bag}: The bag -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. +@var{indx}: The bag's element to add the id -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. -@end deftypefun +@var{name}: will hold a pointer to the name (to be treated as const) -@subheading gnutls_x509_crt_get_pk_dsa_raw -@anchor{gnutls_x509_crt_get_pk_dsa_raw} -@deftypefun {int} {gnutls_x509_crt_get_pk_dsa_raw} (gnutls_x509_crt_t @var{crt}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) -@var{crt}: Holds the certificate +This function will return the friendly name, of the specified bag element. +The key ID is usually used to distinguish the local private key and the certificate pair. -@var{p}: will hold the p +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. or a negative value on error. +@end deftypefun -@var{q}: will hold the q +@subheading gnutls_pkcs12_bag_set_friendly_name +@anchor{gnutls_pkcs12_bag_set_friendly_name} +@deftypefun {int} {gnutls_pkcs12_bag_set_friendly_name} (gnutls_pkcs12_bag_t @var{bag}, int @var{indx}, const char * @var{name}) +@var{bag}: The bag -@var{g}: will hold the g +@var{indx}: The bag's element to add the id -@var{y}: will hold the y +@var{name}: the name -This function will export the DSA public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. +This function will add the given key friendly name, to the specified, by the index, bag +element. The name will be encoded as a 'Friendly name' bag attribute, +which is usually used to set a user name to the local private key and the certificate pair. -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise an error. +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. or a negative value on error. @end deftypefun -@subheading gnutls_x509_crt_list_import -@anchor{gnutls_x509_crt_list_import} -@deftypefun {int} {gnutls_x509_crt_list_import} (gnutls_x509_crt_t * @var{certs}, unsigned int * @var{cert_max}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) -@var{certs}: The structures to store the parsed certificate. Must not be initialized. - -@var{cert_max}: Initially must hold the maximum number of certs. It will be updated with the number of certs available. +@subheading gnutls_pkcs12_bag_decrypt +@anchor{gnutls_pkcs12_bag_decrypt} +@deftypefun {int} {gnutls_pkcs12_bag_decrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}) +@var{bag}: The bag -@var{data}: The PEM encoded certificate. +@var{pass}: The password used for encryption. This can only be ASCII. -@var{format}: One of DER or PEM. +This function will decrypt the given encrypted bag and return 0 on success. +@end deftypefun -@var{flags}: must be zero or an OR'd sequence of gnutls_certificate_import_flags. +@subheading gnutls_pkcs12_bag_encrypt +@anchor{gnutls_pkcs12_bag_encrypt} +@deftypefun {int} {gnutls_pkcs12_bag_encrypt} (gnutls_pkcs12_bag_t @var{bag}, const char * @var{pass}, unsigned int @var{flags}) +@var{bag}: The bag -This function will convert the given PEM encoded certificate list -to the native gnutls_x509_crt_t format. The output will be stored -in @code{certs}. They will be automatically initialized. +@var{pass}: The password used for encryption. This can only be ASCII. -If the Certificate is PEM encoded it should have a header of "X509 -CERTIFICATE", or "CERTIFICATE". +@var{flags}: should be one of gnutls_pkcs_encrypt_flags_t elements bitwise or'd -@strong{Returns:} the number of certificates read or a negative error value. +This function will encrypt the given bag and return 0 on success. @end deftypefun @subheading gnutls_x509_crt_set_dn_by_oid @anchor{gnutls_x509_crt_set_dn_by_oid} @deftypefun {int} {gnutls_x509_crt_set_dn_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{name}, unsigned int @var{sizeof_name}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identifier in a null terminated string @@ -3523,7 +2654,7 @@ @subheading gnutls_x509_crt_set_issuer_dn_by_oid @anchor{gnutls_x509_crt_set_issuer_dn_by_oid} @deftypefun {int} {gnutls_x509_crt_set_issuer_dn_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, unsigned int @var{raw_flag}, const void * @var{name}, unsigned int @var{sizeof_name}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identifier in a null terminated string @@ -3577,7 +2708,7 @@ @subheading gnutls_x509_crt_set_version @anchor{gnutls_x509_crt_set_version} @deftypefun {int} {gnutls_x509_crt_set_version} (gnutls_x509_crt_t @var{crt}, unsigned int @var{version}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{version}: holds the version number. For X.509v1 certificates must be 1. @@ -3587,7 +2718,7 @@ To create well-formed certificates, you must specify version 3 if you use any certificate extensions. Extensions are created by -functions such as @code{gnutls_x509_crt_set_subject_alt_name()} +functions such as @code{gnutls_x509_crt_set_subject_alternative_name()} or @code{gnutls_x509_crt_set_key_usage()}. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a @@ -3597,7 +2728,7 @@ @subheading gnutls_x509_crt_set_key @anchor{gnutls_x509_crt_set_key} @deftypefun {int} {gnutls_x509_crt_set_key} (gnutls_x509_crt_t @var{crt}, gnutls_x509_privkey_t @var{key}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{key}: holds a private key @@ -3612,38 +2743,22 @@ @subheading gnutls_x509_crt_set_crq @anchor{gnutls_x509_crt_set_crq} @deftypefun {int} {gnutls_x509_crt_set_crq} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crq_t @var{crq}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{crq}: holds a certificate request - -This function will set the name and public parameters as well as -the extensions from the given certificate request to the certificate. -Only RSA keys are currently supported. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crt_set_crq_extensions -@anchor{gnutls_x509_crt_set_crq_extensions} -@deftypefun {int} {gnutls_x509_crt_set_crq_extensions} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crq_t @var{crq}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{crq}: holds a certificate request -This function will set extensions from the given request to the -certificate. +This function will set the name and public parameters from the +given certificate request to the certificate. Only RSA keys are +currently supported. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. - -@strong{Since:} 2.8.0 @end deftypefun @subheading gnutls_x509_crt_set_extension_by_oid @anchor{gnutls_x509_crt_set_extension_by_oid} @deftypefun {int} {gnutls_x509_crt_set_extension_by_oid} (gnutls_x509_crt_t @var{crt}, const char * @var{oid}, const void * @var{buf}, size_t @var{sizeof_buf}, unsigned int @var{critical}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{oid}: holds an Object Identified in null terminated string @@ -3664,7 +2779,7 @@ @subheading gnutls_x509_crt_set_basic_constraints @anchor{gnutls_x509_crt_set_basic_constraints} @deftypefun {int} {gnutls_x509_crt_set_basic_constraints} (gnutls_x509_crt_t @var{crt}, unsigned int @var{ca}, int @var{pathLenConstraint}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{ca}: true(1) or false(0). Depending on the Certificate authority status. @@ -3681,7 +2796,7 @@ @subheading gnutls_x509_crt_set_ca_status @anchor{gnutls_x509_crt_set_ca_status} @deftypefun {int} {gnutls_x509_crt_set_ca_status} (gnutls_x509_crt_t @var{crt}, unsigned int @var{ca}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{ca}: true(1) or false(0). Depending on the Certificate authority status. @@ -3696,7 +2811,7 @@ @subheading gnutls_x509_crt_set_key_usage @anchor{gnutls_x509_crt_set_key_usage} @deftypefun {int} {gnutls_x509_crt_set_key_usage} (gnutls_x509_crt_t @var{crt}, unsigned int @var{usage}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{usage}: an ORed sequence of the GNUTLS_KEY_* elements. @@ -3708,60 +2823,24 @@ @subheading gnutls_x509_crt_set_subject_alternative_name @anchor{gnutls_x509_crt_set_subject_alternative_name} -@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) +@var{crt}: should contain a gnutls_x509_crt_t structure @var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations @var{data_string}: The data to be set, a zero terminated string This function will set the subject alternative name certificate -extension. This function assumes that data can be expressed as a null -terminated string. - -The name of the function is unfortunate since it is incosistent with -@code{gnutls_x509_crt_get_subject_alt_name()}. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. -@end deftypefun - -@subheading gnutls_x509_crt_set_subject_alt_name -@anchor{gnutls_x509_crt_set_subject_alt_name} -@deftypefun {int} {gnutls_x509_crt_set_subject_alt_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations - -@var{data}: The data to be set - -@var{data_size}: The size of data to be set - -@var{flags}: GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. - -This function will set the subject alternative name certificate -extension. It can set the following types: - -&GNUTLS_SAN_DNSNAME: as a text string - -&GNUTLS_SAN_RFC822NAME: as a text string - -&GNUTLS_SAN_URI: as a text string - -&GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - -Other values can be set as binary values with the proper DER encoding. +extension. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a negative error value. - -@strong{Since:} 2.6.0 @end deftypefun @subheading gnutls_x509_crt_set_proxy @anchor{gnutls_x509_crt_set_proxy} @deftypefun {int} {gnutls_x509_crt_set_proxy} (gnutls_x509_crt_t @var{crt}, int @var{pathLenConstraint}, const char * @var{policyLanguage}, const char * @var{policy}, size_t @var{sizeof_policy}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{pathLenConstraint}: non-negative values indicate maximum length of path, and negative values indicate that the pathLenConstraints field should @@ -3769,7 +2848,7 @@ @var{policyLanguage}: OID describing the language of @code{policy}. -@var{policy}: opaque byte array with policy language, can be @code{NULL} +@var{policy}: opaque byte array with policy language, can be @code{NULL} @var{sizeof_policy}: size of @code{policy}. @@ -3782,13 +2861,13 @@ @subheading gnutls_x509_crt_sign2 @anchor{gnutls_x509_crt_sign2} @deftypefun {int} {gnutls_x509_crt_sign2} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{issuer}: is the certificate of the certificate issuer @var{issuer_key}: holds the issuer's private key -@var{dig}: The message digest to use, @code{GNUTLS_DIG_SHA1} is a safe choice +@var{dig}: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. @var{flags}: must be 0 @@ -3805,7 +2884,7 @@ @subheading gnutls_x509_crt_sign @anchor{gnutls_x509_crt_sign} @deftypefun {int} {gnutls_x509_crt_sign} (gnutls_x509_crt_t @var{crt}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@var{crt}: should contain a gnutls_x509_crt_t structure @var{issuer}: is the certificate of the certificate issuer @@ -3821,7 +2900,7 @@ @subheading gnutls_x509_crt_set_activation_time @anchor{gnutls_x509_crt_set_activation_time} @deftypefun {int} {gnutls_x509_crt_set_activation_time} (gnutls_x509_crt_t @var{cert}, time_t @var{act_time}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{act_time}: The actual time @@ -3835,7 +2914,7 @@ @subheading gnutls_x509_crt_set_expiration_time @anchor{gnutls_x509_crt_set_expiration_time} @deftypefun {int} {gnutls_x509_crt_set_expiration_time} (gnutls_x509_crt_t @var{cert}, time_t @var{exp_time}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{exp_time}: The actual time @@ -3848,7 +2927,7 @@ @subheading gnutls_x509_crt_set_serial @anchor{gnutls_x509_crt_set_serial} @deftypefun {int} {gnutls_x509_crt_set_serial} (gnutls_x509_crt_t @var{cert}, const void * @var{serial}, size_t @var{serial_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{serial}: The serial number @@ -3865,8 +2944,8 @@ @subheading gnutls_x509_crt_set_crl_dist_points @anchor{gnutls_x509_crt_set_crl_dist_points} -@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data_string}, unsigned int @var{reason_flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} +@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data_string}, unsigned int @var{reason_flags}) +@var{crt}: should contain a gnutls_x509_crt_t structure @var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations @@ -3880,31 +2959,10 @@ negative error value. @end deftypefun -@subheading gnutls_x509_crt_set_crl_dist_points2 -@anchor{gnutls_x509_crt_set_crl_dist_points2} -@deftypefun {int} {gnutls_x509_crt_set_crl_dist_points2} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{reason_flags}) -@var{crt}: a certificate of type @code{gnutls_x509_crt_t} - -@var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations - -@var{data}: The data to be set - -@var{data_size}: The data size - -@var{reason_flags}: revocation reasons - -This function will set the CRL distribution points certificate extension. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a -negative error value. - -@strong{Since:} 2.6.0 -@end deftypefun - @subheading gnutls_x509_crt_cpy_crl_dist_points @anchor{gnutls_x509_crt_cpy_crl_dist_points} @deftypefun {int} {gnutls_x509_crt_cpy_crl_dist_points} (gnutls_x509_crt_t @var{dst}, gnutls_x509_crt_t @var{src}) -@var{dst}: a certificate of type @code{gnutls_x509_crt_t} +@var{dst}: should contain a gnutls_x509_crt_t structure @var{src}: the certificate where the dist points will be copied from @@ -3919,7 +2977,7 @@ @subheading gnutls_x509_crt_set_subject_key_id @anchor{gnutls_x509_crt_set_subject_key_id} @deftypefun {int} {gnutls_x509_crt_set_subject_key_id} (gnutls_x509_crt_t @var{cert}, const void * @var{id}, size_t @var{id_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{id}: The key ID @@ -3935,7 +2993,7 @@ @subheading gnutls_x509_crt_set_authority_key_id @anchor{gnutls_x509_crt_set_authority_key_id} @deftypefun {int} {gnutls_x509_crt_set_authority_key_id} (gnutls_x509_crt_t @var{cert}, const void * @var{id}, size_t @var{id_size}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{id}: The key ID @@ -3951,7 +3009,7 @@ @subheading gnutls_x509_crt_set_key_purpose_oid @anchor{gnutls_x509_crt_set_key_purpose_oid} @deftypefun {int} {gnutls_x509_crt_set_key_purpose_oid} (gnutls_x509_crt_t @var{cert}, const void * @var{oid}, unsigned int @var{critical}) -@var{cert}: a certificate of type @code{gnutls_x509_crt_t} +@var{cert}: should contain a gnutls_x509_crt_t structure @var{oid}: a pointer to a null terminated string that holds the OID @@ -3963,7 +3021,159 @@ Subsequent calls to this function will append OIDs to the OID list. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +On success 0 is returned. +@end deftypefun + +@subheading gnutls_x509_crl_set_version +@anchor{gnutls_x509_crl_set_version} +@deftypefun {int} {gnutls_x509_crl_set_version} (gnutls_x509_crl_t @var{crl}, unsigned int @var{version}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{version}: holds the version number. For CRLv1 crls must be 1. + +This function will set the version of the CRL. This +must be one for CRL version 1, and so on. The CRLs generated +by gnutls should have a version number of 2. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_sign2 +@anchor{gnutls_x509_crl_sign2} +@deftypefun {int} {gnutls_x509_crl_sign2} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{issuer}: is the certificate of the certificate issuer + +@var{issuer_key}: holds the issuer's private key + +@var{dig}: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. + +@var{flags}: must be 0 + +This function will sign the CRL with the issuer's private key, and +will copy the issuer's information into the CRL. + +This must be the last step in a certificate CRL since all +the previously set parameters are now signed. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_sign +@anchor{gnutls_x509_crl_sign} +@deftypefun {int} {gnutls_x509_crl_sign} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{issuer}, gnutls_x509_privkey_t @var{issuer_key}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{issuer}: is the certificate of the certificate issuer + +@var{issuer_key}: holds the issuer's private key + +This function is the same a @code{gnutls_x509_crl_sign2()} with no flags, and +SHA1 as the hash algorithm. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_set_this_update +@anchor{gnutls_x509_crl_set_this_update} +@deftypefun {int} {gnutls_x509_crl_set_this_update} (gnutls_x509_crl_t @var{crl}, time_t @var{act_time}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{act_time}: The actual time + +This function will set the time this CRL was issued. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_set_next_update +@anchor{gnutls_x509_crl_set_next_update} +@deftypefun {int} {gnutls_x509_crl_set_next_update} (gnutls_x509_crl_t @var{crl}, time_t @var{exp_time}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{exp_time}: The actual time + +This function will set the time this CRL will be updated. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_set_crt_serial +@anchor{gnutls_x509_crl_set_crt_serial} +@deftypefun {int} {gnutls_x509_crl_set_crt_serial} (gnutls_x509_crl_t @var{crl}, const void * @var{serial}, size_t @var{serial_size}, time_t @var{revocation_time}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{serial}: The revoked certificate's serial number + +@var{serial_size}: Holds the size of the serial field. + +@var{revocation_time}: The time this certificate was revoked + +This function will set a revoked certificate's serial number to the CRL. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_set_crt +@anchor{gnutls_x509_crl_set_crt} +@deftypefun {int} {gnutls_x509_crl_set_crt} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{crt}, time_t @var{revocation_time}) +@var{crl}: should contain a gnutls_x509_crl_t structure + +@var{crt}: should contain a gnutls_x509_crt_t structure with the revoked certificate + +@var{revocation_time}: The time this certificate was revoked + +This function will set a revoked certificate's serial number to the CRL. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crt_print +@anchor{gnutls_x509_crt_print} +@deftypefun {int} {gnutls_x509_crt_print} (gnutls_x509_crt_t @var{cert}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) +@var{cert}: The structure to be printed + +@var{format}: Indicate the format to use + +@var{out}: Newly allocated datum with zero terminated string. + +This function will pretty print a X.509 certificate, suitable for +display to a human. + +If the format is @code{GNUTLS_CRT_PRINT_FULL} then all fields of the +certificate will be output, on multiple lines. The +@code{GNUTLS_CRT_PRINT_ONELINE} format will generate one line with some +selected fields, which is useful for logging purposes. + +The output @code{out} needs to be deallocate using @code{gnutls_free()}. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_x509_crl_print +@anchor{gnutls_x509_crl_print} +@deftypefun {int} {gnutls_x509_crl_print} (gnutls_x509_crl_t @var{crl}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) +@var{crl}: The structure to be printed + +@var{format}: Indicate the format to use + +@var{out}: Newly allocated datum with zero terminated string. + +This function will pretty print a X.509 certificate revocation +list, suitable for display to a human. + +The output @code{out} needs to be deallocate using @code{gnutls_free()}. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} is returned, otherwise a +negative error value. @end deftypefun diff -Nru gnutls26-2.8.6/lib/x509/x509.c gnutls26-2.4.1/lib/x509/x509.c --- gnutls26-2.8.6/lib/x509/x509.c 2009-08-31 20:05:52.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/x509.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * Author: Nikos Mavrogiannopoulos, Simon Josefsson, Howard Chu * * This file is part of GNUTLS. @@ -54,7 +54,8 @@ return GNUTLS_E_MEMORY_ERROR; result = asn1_create_element (_gnutls_get_pkix (), - "PKIX1.Certificate", &tmp->cert); + "PKIX1.Certificate", + &tmp->cert); if (result != ASN1_SUCCESS) { gnutls_assert (); @@ -62,9 +63,6 @@ return _gnutls_asn2err (result); } - /* If you add anything here, be sure to check if it has to be added - to gnutls_x509_crt_import as well. */ - *cert = tmp; return 0; /* success */ @@ -169,6 +167,7 @@ { int result = 0, need_free = 0; gnutls_datum_t _data; + opaque *signature = NULL; if (cert == NULL) { @@ -211,23 +210,6 @@ need_free = 1; } - if (cert->cert) - { - /* Any earlier asn1_der_decoding will modify the ASN.1 - structure, so we need to replace it with a fresh - structure. */ - asn1_delete_structure (&cert->cert); - - result = asn1_create_element (_gnutls_get_pkix (), - "PKIX1.Certificate", &cert->cert); - if (result != ASN1_SUCCESS) - { - result = _gnutls_asn2err (result); - gnutls_assert (); - goto cleanup; - } - } - result = asn1_der_decoding (&cert->cert, _data.data, _data.size, NULL); if (result != ASN1_SUCCESS) { @@ -245,6 +227,7 @@ return 0; cleanup: + gnutls_free (signature); if (need_free) _gnutls_free_datum (&_data); return result; @@ -523,7 +506,7 @@ **/ int gnutls_x509_crt_get_signature (gnutls_x509_crt_t cert, - char *sig, size_t * sizeof_sig) + char *sig, size_t *sizeof_sig) { int result; int bits, len; @@ -550,7 +533,7 @@ len = bits / 8; - if (*sizeof_sig < (unsigned int) len) + if (*sizeof_sig < len) { *sizeof_sig = bits / 8; return GNUTLS_E_SHORT_MEMORY_BUFFER; @@ -577,7 +560,7 @@ int gnutls_x509_crt_get_version (gnutls_x509_crt_t cert) { - opaque version[8]; + opaque version[5]; int len, result; if (cert == NULL) @@ -769,8 +752,7 @@ if (result != ASN1_SUCCESS) { - if (result != ASN1_MEM_ERROR) - gnutls_assert (); + gnutls_assert (); return _gnutls_asn2err (result); } @@ -778,20 +760,21 @@ } /** - * gnutls_x509_crt_get_authority_key_id - This function returns the certificate authority's identifier - * @cert: should contain a #gnutls_x509_crt_t structure - * @ret: The place where the identifier will be copied - * @ret_size: Holds the size of the result field. - * @critical: will be non zero if the extension is marked as critical (may be null) - * - * This function will return the X.509v3 certificate authority's key - * identifier. This is obtained by the X.509 Authority Key - * identifier extension field (2.5.29.35). Note that this function - * only returns the keyIdentifier field of the extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value.and a negative value in case of an error. - **/ + * gnutls_x509_crt_get_authority_key_id - This function returns the certificate authority's identifier + * @cert: should contain a #gnutls_x509_crt_t structure + * @result: The place where the identifier will be copied + * @result_size: Holds the size of the result field. + * @critical: will be non zero if the extension is marked as critical (may be null) + * + * This function will return the X.509v3 certificate authority's key identifier. + * This is obtained by the X.509 Authority Key identifier extension + * field (2.5.29.35). Note that this function only returns the keyIdentifier + * field of the extension. + * + * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a + * negative error value.and a negative value in case of an error. + * + **/ int gnutls_x509_crt_get_authority_key_id (gnutls_x509_crt_t cert, void *ret, size_t * ret_size, @@ -858,8 +841,7 @@ if (result != ASN1_SUCCESS) { - if (result != ASN1_MEM_ERROR) - gnutls_assert (); + gnutls_assert (); return _gnutls_asn2err (result); } @@ -908,14 +890,13 @@ } -inline static int -is_type_printable (int type) +inline static int is_type_printable(int type) { - if (type == GNUTLS_SAN_DNSNAME || type == GNUTLS_SAN_RFC822NAME || - type == GNUTLS_SAN_URI) - return 1; - else - return 0; + if (type == GNUTLS_SAN_DNSNAME || type == GNUTLS_SAN_RFC822NAME || + type == GNUTLS_SAN_URI) + return 1; + else + return 0; } #define XMPP_OID "1.3.6.1.5.5.7.8.5" @@ -923,24 +904,24 @@ /* returns the type and the name on success. * Type is also returned as a parameter in case of an error. */ -int -_gnutls_parse_general_name (ASN1_TYPE src, const char *src_name, - int seq, void *name, size_t * name_size, - unsigned int *ret_type, int othername_oid) +static int +parse_general_name (ASN1_TYPE src, const char *src_name, + int seq, void *name, size_t * name_size, + unsigned int* ret_type, int othername_oid) { - unsigned int len; - char nptr[ASN1_MAX_NAME_SIZE]; + int len; + char nptr[MAX_NAME_SIZE]; int result; opaque choice_type[128]; gnutls_x509_subject_alt_name_t type; seq++; /* 0->1, 1->2 etc */ - if (src_name[0] != 0) - snprintf (nptr, sizeof (nptr), "%s.?%u", src_name, seq); + if ( src_name[0] != 0) + snprintf( nptr, sizeof(nptr), "%s.?%u", src_name, seq); else - snprintf (nptr, sizeof (nptr), "?%u", seq); - + snprintf( nptr, sizeof(nptr), "?%u", seq); + len = sizeof (choice_type); result = asn1_read_value (src, nptr, choice_type, &len); @@ -962,7 +943,7 @@ gnutls_assert (); return GNUTLS_E_X509_UNKNOWN_SAN; } - + if (ret_type) *ret_type = type; @@ -995,11 +976,11 @@ { char oid[42]; - if (src_name[0] != 0) - snprintf (nptr, sizeof (nptr), "%s.?%u.otherName.type-id", + if ( src_name[0] != 0) + snprintf( nptr, sizeof(nptr), "%s.?%u.otherName.type-id", src_name, seq); else - snprintf (nptr, sizeof (nptr), "?%u.otherName.type-id", seq); + snprintf( nptr, sizeof(nptr), "?%u.otherName.type-id", seq); len = sizeof (oid); result = asn1_read_value (src, nptr, oid, &len); @@ -1012,7 +993,6 @@ if (len > strlen (XMPP_OID) && strcmp (oid, XMPP_OID) == 0) { ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - size_t orig_name_size = *name_size; result = asn1_create_element (_gnutls_get_pkix (), "PKIX1.XmppAddr", &c2); @@ -1030,27 +1010,15 @@ return _gnutls_asn2err (result); } - len = *name_size; result = asn1_read_value (c2, "", name, &len); + *name_size = len; if (result != ASN1_SUCCESS) { gnutls_assert (); asn1_delete_structure (&c2); - *name_size = len + 1; return _gnutls_asn2err (result); } asn1_delete_structure (&c2); - - if (len + 1 > orig_name_size) - { - gnutls_assert (); - *name_size = len + 1; - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } - - *name_size = len; - /* null terminate it */ - ((char *) name)[*name_size] = 0; } } } @@ -1069,7 +1037,7 @@ else { size_t orig_name_size = *name_size; - + _gnutls_str_cat (nptr, sizeof (nptr), "."); _gnutls_str_cat (nptr, sizeof (nptr), choice_type); @@ -1077,12 +1045,10 @@ result = asn1_read_value (src, nptr, name, &len); *name_size = len; - if (result == ASN1_MEM_ERROR) - { - if (is_type_printable (type)) - (*name_size)++; - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } + if (result == ASN1_MEM_ERROR) { + if (is_type_printable(type)) (*name_size)++; + return GNUTLS_E_SHORT_MEMORY_BUFFER; + } if (result != ASN1_SUCCESS) { @@ -1090,19 +1056,19 @@ return _gnutls_asn2err (result); } - if (is_type_printable (type)) - { - - if (len + 1 > orig_name_size) - { - gnutls_assert (); - (*name_size)++; - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } - - /* null terminate it */ - ((char *) name)[*name_size] = 0; - } + if (is_type_printable(type)) + { + + if (len+1 > orig_name_size) + { + gnutls_assert(); + (*name_size)++; + return GNUTLS_E_SHORT_MEMORY_BUFFER; + } + + /* null terminate it */ + ((char*)name)[*name_size] = 0; + } } @@ -1113,7 +1079,8 @@ get_subject_alt_name (gnutls_x509_crt_t cert, unsigned int seq, void *ret, size_t * ret_size, unsigned int *ret_type, - unsigned int *critical, int othername_oid) + unsigned int *critical, + int othername_oid) { int result; gnutls_datum_t dnsname; @@ -1163,15 +1130,12 @@ return _gnutls_asn2err (result); } - result = - _gnutls_parse_general_name (c2, "", seq, ret, ret_size, ret_type, - othername_oid); + result = parse_general_name (c2, "", seq, ret, ret_size, ret_type, othername_oid); asn1_delete_structure (&c2); if (result < 0) { - gnutls_assert (); return result; } @@ -1206,12 +1170,12 @@ * recognized. * * Returns: the alternative subject name type on success, one of the - * enumerated #gnutls_x509_subject_alt_name_t. It will return - * %GNUTLS_E_SHORT_MEMORY_BUFFER if @ret_size is not large enough - * to hold the value. In that case @ret_size will be updated with - * the required size. If the certificate does not have an - * Alternative name with the specified sequence number then - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. + * enumerated #gnutls_x509_subject_alt_name_t. It will return + * %GNUTLS_E_SHORT_MEMORY_BUFFER if @ret_size is not large enough to + * hold the value. In that case @ret_size will be updated with the + * required size. If the certificate does not have an Alternative + * name with the specified sequence number then + * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. **/ int gnutls_x509_crt_get_subject_alt_name (gnutls_x509_crt_t cert, @@ -1223,38 +1187,31 @@ } /** - * gnutls_x509_crt_get_subject_alt_name2 - Get certificate's alternative name, if any - * @cert: should contain a #gnutls_x509_crt_t structure - * @seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) - * @ret: is the place where the alternative name will be copied to - * @ret_size: holds the size of ret. - * @ret_type: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). - * @critical: will be non zero if the extension is marked as critical (may be null) - * - * This function will return the alternative names, contained in the - * given certificate. It is the same as - * gnutls_x509_crt_get_subject_alt_name() except for the fact that it - * will return the type of the alternative name in @ret_type even if - * the function fails for some reason (i.e. the buffer provided is - * not enough). - * - * Returns: the alternative subject name type on success, one of the - * enumerated #gnutls_x509_subject_alt_name_t. It will return - * %GNUTLS_E_SHORT_MEMORY_BUFFER if @ret_size is not large enough - * to hold the value. In that case @ret_size will be updated with - * the required size. If the certificate does not have an - * Alternative name with the specified sequence number then - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. - **/ + * gnutls_x509_crt_get_subject_alt_name2 - Get certificate's alternative name, if any + * @cert: should contain a #gnutls_x509_crt_t structure + * @seq: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) + * @ret: is the place where the alternative name will be copied to + * @ret_size: holds the size of ret. + * @ret_type: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). + * @critical: will be non zero if the extension is marked as critical (may be null) + * + * This function will return the alternative names, contained in the + * given certificate. It is the same as gnutls_x509_crt_get_subject_alt_name() + * except for the fact that it will return the type of the alternative + * name in @ret_type even if the function fails for some reason (i.e. + * the buffer provided is not enough). + * + * The return values are the same as with gnutls_x509_crt_get_subject_alt_name(). + * + **/ int gnutls_x509_crt_get_subject_alt_name2 (gnutls_x509_crt_t cert, - unsigned int seq, void *ret, - size_t * ret_size, - unsigned int *ret_type, - unsigned int *critical) + unsigned int seq, void *ret, + size_t * ret_size, + unsigned int* ret_type, + unsigned int *critical) { - return get_subject_alt_name (cert, seq, ret, ret_size, ret_type, critical, - 0); + return get_subject_alt_name (cert, seq, ret, ret_size, ret_type, critical, 0); } /** @@ -1286,7 +1243,8 @@ int gnutls_x509_crt_get_subject_alt_othername_oid (gnutls_x509_crt_t cert, unsigned int seq, - void *ret, size_t * ret_size) + void *ret, + size_t * ret_size) { return get_subject_alt_name (cert, seq, ret, ret_size, NULL, NULL, 1); } @@ -1314,7 +1272,8 @@ int gnutls_x509_crt_get_basic_constraints (gnutls_x509_crt_t cert, unsigned int *critical, - int *ca, int *pathlen) + int *ca, + int *pathlen) { int result; gnutls_datum_t basicConstraints; @@ -1370,16 +1329,16 @@ * Use gnutls_x509_crt_get_basic_constraints() if you want to read the * pathLenConstraint field too. * - * Returns: A negative value may be returned in case of parsing error. + * A negative value may be returned in case of parsing error. * If the certificate does not contain the basicConstraints extension - * %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. + * **/ int gnutls_x509_crt_get_ca_status (gnutls_x509_crt_t cert, unsigned int *critical) { int ca, pathlen; - return gnutls_x509_crt_get_basic_constraints (cert, critical, &ca, - &pathlen); + return gnutls_x509_crt_get_basic_constraints (cert, critical, &ca, &pathlen); } /** @@ -1451,22 +1410,24 @@ * @pathlen: pointer to output integer indicating path length (may be * NULL), non-negative values indicate a present pCPathLenConstraint * field and the actual value, -1 indicate that the field is absent. - * @policyLanguage: output variable with OID of policy language - * @policy: output variable with policy data - * @sizeof_policy: output variable size of policy data * - * This function will get information from a proxy certificate. It - * reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). + * This function will read the certificate's basic constraints, and + * return the certificates CA status. It reads the basicConstraints + * X.509 extension (2.5.29.19). * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. + * Return value: If the certificate is a CA a positive value will be + * returned, or zero if the certificate does not have CA flag set. A + * negative value may be returned in case of errors. If the + * certificate does not contain the basicConstraints extension + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. **/ int gnutls_x509_crt_get_proxy (gnutls_x509_crt_t cert, unsigned int *critical, int *pathlen, char **policyLanguage, - char **policy, size_t * sizeof_policy) + char **policy, + size_t *sizeof_policy) { int result; gnutls_datum_t proxyCertInfo; @@ -1507,23 +1468,23 @@ } /** - * gnutls_x509_crt_get_extension_by_oid - This function returns the specified extension - * @cert: should contain a #gnutls_x509_crt_t structure - * @oid: holds an Object Identified in null terminated string - * @indx: In case multiple same OIDs exist in the extensions, this specifies which to send. Use zero to get the first one. - * @buf: a pointer to a structure to hold the name (may be null) - * @sizeof_buf: initially holds the size of @buf - * @critical: will be non zero if the extension is marked as critical - * - * This function will return the extension specified by the OID in the - * certificate. The extensions will be returned as binary data DER - * encoded, in the provided buffer. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. If the certificate does not - * contain the specified extension - * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. - **/ + * gnutls_x509_crt_get_extension_by_oid - This function returns the specified extension + * @cert: should contain a #gnutls_x509_crt_t structure + * @oid: holds an Object Identified in null terminated string + * @indx: In case multiple same OIDs exist in the extensions, this specifies which to send. Use zero to get the first one. + * @buf: a pointer to a structure to hold the name (may be null) + * @sizeof_buf: initially holds the size of @buf + * @critical: will be non zero if the extension is marked as critical + * + * This function will return the extension specified by the OID in the certificate. + * The extensions will be returned as binary data DER encoded, in the provided + * buffer. + * + * A negative value may be returned in case of parsing error. + * If the certificate does not contain the specified extension + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. + * + **/ int gnutls_x509_crt_get_extension_by_oid (gnutls_x509_crt_t cert, const char *oid, int indx, @@ -1572,20 +1533,20 @@ } /** - * gnutls_x509_crt_get_extension_oid - get the specified extension OID - * @cert: should contain a #gnutls_x509_crt_t structure - * @indx: Specifies which extension OID to send. Use zero to get the first one. - * @oid: a pointer to a structure to hold the OID (may be null) - * @sizeof_oid: initially holds the size of @oid - * - * This function will return the requested extension OID in the certificate. - * The extension OID will be stored as a string in the provided buffer. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. If you have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. - **/ + * gnutls_x509_crt_get_extension_oid - This function returns the specified extension OID + * @cert: should contain a #gnutls_x509_crt_t structure + * @indx: Specifies which extension OID to send. Use zero to get the first one. + * @oid: a pointer to a structure to hold the OID (may be null) + * @sizeof_oid: initially holds the size of @oid + * + * This function will return the requested extension OID in the certificate. + * The extension OID will be stored as a string in the provided buffer. + * + * A negative value may be returned in case of parsing error. + * If your have reached the last extension available + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. + * + **/ int gnutls_x509_crt_get_extension_oid (gnutls_x509_crt_t cert, int indx, void *oid, size_t * sizeof_oid) @@ -1626,10 +1587,10 @@ * *@sizeof_oid is updated and %GNUTLS_E_SHORT_MEMORY_BUFFER will be * returned. * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. If you have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. + * Return 0 on success. A negative value may be returned in case of + * parsing error. If you have reached the last extension available + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. + * **/ int gnutls_x509_crt_get_extension_info (gnutls_x509_crt_t cert, int indx, @@ -1638,7 +1599,7 @@ { int result; char str_critical[10]; - char name[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE]; int len; if (!cert) @@ -1647,26 +1608,26 @@ return GNUTLS_E_INVALID_REQUEST; } - snprintf (name, sizeof (name), "tbsCertificate.extensions.?%u.extnID", + snprintf (name, sizeof(name), "tbsCertificate.extensions.?%u.extnID", indx + 1); len = *sizeof_oid; result = asn1_read_value (cert->cert, name, oid, &len); *sizeof_oid = len; - + if (result == ASN1_ELEMENT_NOT_FOUND) return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; - else if (result != ASN1_SUCCESS) + else if (result < 0) { gnutls_assert (); return _gnutls_asn2err (result); } - snprintf (name, sizeof (name), "tbsCertificate.extensions.?%u.critical", + snprintf (name, sizeof(name), "tbsCertificate.extensions.?%u.critical", indx + 1); len = sizeof (str_critical); result = asn1_read_value (cert->cert, name, str_critical, &len); - if (result != ASN1_SUCCESS) + if (result < 0) { gnutls_assert (); return _gnutls_asn2err (result); @@ -1700,17 +1661,16 @@ * if you want to get data indexed by the extension OID rather than * sequence. * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. If you have reached the - * last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE - * will be returned. + * Return 0 on success. A negative value may be returned in case of + * parsing error. If you have reached the last extension available + * GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned. **/ int gnutls_x509_crt_get_extension_data (gnutls_x509_crt_t cert, int indx, void *data, size_t * sizeof_data) { int result, len; - char name[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE]; if (!cert) { @@ -1718,13 +1678,13 @@ return GNUTLS_E_INVALID_REQUEST; } - snprintf (name, sizeof (name), "tbsCertificate.extensions.?%u.extnValue", + snprintf (name, sizeof(name), "tbsCertificate.extensions.?%u.extnValue", indx + 1); - + len = *sizeof_data; result = asn1_read_value (cert->cert, name, data, &len); *sizeof_data = len; - + if (result == ASN1_ELEMENT_NOT_FOUND) return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; else if (result < 0) @@ -1833,9 +1793,9 @@ } static int -get_dn (gnutls_x509_crt_t cert, const char *whom, gnutls_x509_dn_t * dn) +get_dn (gnutls_x509_crt_t cert, const char *whom, gnutls_x509_dn_t *dn) { - *dn = asn1_find_node (cert->cert, whom); + *dn = asn1_find_node(cert->cert, whom); if (!*dn) return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND; return 0; @@ -1856,7 +1816,8 @@ * Returns: Returns 0 on success, or an error code. **/ int -gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn) +gnutls_x509_crt_get_subject (gnutls_x509_crt_t cert, + gnutls_x509_dn_t *dn) { return get_dn (cert, "tbsCertificate.subject.rdnSequence", dn); } @@ -1876,7 +1837,8 @@ * Returns: Returns 0 on success, or an error code. **/ int -gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn) +gnutls_x509_crt_get_issuer (gnutls_x509_crt_t cert, + gnutls_x509_dn_t *dn) { return get_dn (cert, "tbsCertificate.issuer.rdnSequence", dn); } @@ -1899,26 +1861,27 @@ **/ int gnutls_x509_dn_get_rdn_ava (gnutls_x509_dn_t dn, - int irdn, int iava, gnutls_x509_ava_st * ava) + int irdn, + int iava, + gnutls_x509_ava_st *ava) { ASN1_TYPE rdn, elem; long len; int lenlen, remlen, ret; - char rbuf[ASN1_MAX_NAME_SIZE]; + char rbuf[MAX_NAME_SIZE]; unsigned char cls, *ptr; - iava++; - irdn++; /* 0->1, 1->2 etc */ + iava++; irdn++; /* 0->1, 1->2 etc */ - snprintf (rbuf, sizeof (rbuf), "rdnSequence.?%d.?%d", irdn, iava); + snprintf (rbuf, sizeof(rbuf), "rdnSequence.?%d.?%d", irdn, iava); rdn = asn1_find_node (dn, rbuf); if (!rdn) { - gnutls_assert (); + gnutls_assert(); return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND; } - snprintf (rbuf, sizeof (rbuf), "?%d.type", iava); + snprintf (rbuf, sizeof(rbuf), "?%d.type", iava); elem = asn1_find_node (rdn, rbuf); if (!elem) { @@ -1929,8 +1892,8 @@ ava->oid.data = elem->value; ava->oid.size = elem->value_len; - snprintf (rbuf, sizeof (rbuf), "?%d.value", iava); - elem = asn1_find_node (rdn, rbuf); + snprintf(rbuf, sizeof(rbuf), "?%d.value", iava); + elem = asn1_find_node(rdn, rbuf); if (!elem) { gnutls_assert (); @@ -1943,7 +1906,7 @@ ptr = elem->value; remlen = elem->value_len; - len = asn1_get_length_der (ptr, remlen, &lenlen); + len = asn1_get_length_der(ptr, remlen, &lenlen); if (len < 0) { gnutls_assert (); @@ -1952,7 +1915,7 @@ ptr += lenlen; remlen -= lenlen; - ret = asn1_get_tag_der (ptr, remlen, &cls, &lenlen, &ava->value_tag); + ret = asn1_get_tag_der(ptr, remlen, &cls, &lenlen, &ava->value_tag); if (ret) { gnutls_assert (); @@ -1965,7 +1928,7 @@ { signed long tmp; - tmp = asn1_get_length_der (ptr, remlen, &lenlen); + tmp = asn1_get_length_der(ptr, remlen, &lenlen); if (tmp < 0) { gnutls_assert (); @@ -2069,15 +2032,17 @@ } return _gnutls_x509_export_int (cert->cert, format, "CERTIFICATE", - output_data, output_data_size); + output_data, + output_data_size); } static int rsadsa_get_key_id (gnutls_x509_crt_t crt, int pk, - unsigned char *output_data, size_t * output_data_size) + unsigned char *output_data, + size_t * output_data_size) { - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; int params_size = MAX_PUBLIC_PARAMS_SIZE; int i, result = 0; gnutls_datum_t der = { NULL, 0 }; @@ -2125,7 +2090,7 @@ result = 0; -cleanup: + cleanup: _gnutls_free_datum (&der); @@ -2189,10 +2154,10 @@ if (pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA) { /* This is for compatibility with what GnuTLS has printed for - RSA/DSA before the code below was added. The code below is - applicable to all types, and it would probably be a better - idea to use it for RSA/DSA too, but doing so would break - backwards compatibility. */ + RSA/DSA before the code below was added. The code below is + applicable to all types, and it would probably be a better + idea to use it for RSA/DSA too, but doing so would break + backwards compatibility. */ return rsadsa_get_key_id (crt, pk, output_data, output_data_size); } @@ -2340,47 +2305,18 @@ } /** - * gnutls_x509_crt_get_verify_algorithm - get hash algorithm used to verify signature. - * @crt: Holds the certificate - * @signature: contains the signature - * @hash: The result of the call with the hash algorithm used for signature - * - * This function will read the certifcate and the signed data to - * determine the hash algorithm used to generate the signature. - * - * Returns: the 0 if the hash algorithm is found. A negative value is - * returned on error. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crt_get_verify_algorithm (gnutls_x509_crt_t crt, - const gnutls_datum_t * signature, - gnutls_digest_algorithm_t *hash) -{ - if (crt == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - return _gnutls_x509_verify_algorithm ((gnutls_mac_algorithm_t *) hash, - signature, crt); -} - -/** - * gnutls_x509_crt_verify_data - verify the given signed data. - * @crt: Holds the certificate - * @flags: should be 0 for now - * @data: holds the data to be signed - * @signature: contains the signature - * - * This function will verify the given signed data, using the - * parameters from the certificate. - * - * Returns: In case of a verification failure 0 is returned, and 1 on - * success. - **/ + * gnutls_x509_crt_verify_data - This function will verify the given signed data. + * @crt: Holds the certificate + * @flags: should be 0 for now + * @data: holds the data to be signed + * @signature: contains the signature + * + * This function will verify the given signed data, using the + * parameters from the certificate. + * + * Returns: In case of a verification failure 0 is returned, and 1 on + * success. + **/ int gnutls_x509_crt_verify_data (gnutls_x509_crt_t crt, unsigned int flags, const gnutls_datum_t * data, @@ -2394,43 +2330,7 @@ return GNUTLS_E_INVALID_REQUEST; } - result = _gnutls_x509_verify_signature (data, NULL, signature, crt); - if (result < 0) - { - gnutls_assert (); - return 0; - } - - return result; -} - -/** - * gnutls_x509_crt_verify_hash - verify the given signed digest - * @crt: Holds the certificate - * @flags: should be 0 for now - * @hash: holds the hash digest to be verified - * @signature: contains the signature - * - * This function will verify the given signed digest, using the - * parameters from the certificate. - * - * Returns: In case of a verification failure 0 is returned, and 1 on - * success. - **/ -int -gnutls_x509_crt_verify_hash (gnutls_x509_crt_t crt, unsigned int flags, - const gnutls_datum_t * hash, - const gnutls_datum_t * signature) -{ - int result; - - if (crt == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - result = _gnutls_x509_verify_signature (NULL, hash, signature, crt); + result = _gnutls_x509_verify_signature (data, signature, crt); if (result < 0) { gnutls_assert (); @@ -2484,7 +2384,7 @@ int result; gnutls_datum_t dist_points = { NULL, 0 }; ASN1_TYPE c2 = ASN1_TYPE_EMPTY; - char name[ASN1_MAX_NAME_SIZE]; + char name[MAX_NAME_SIZE]; int len; gnutls_x509_subject_alt_name_t type; uint8_t reasons[2]; @@ -2541,7 +2441,7 @@ */ _gnutls_str_cpy (name, sizeof (name), "?1.distributionPoint.fullName"); - result = _gnutls_parse_general_name (c2, name, seq, ret, ret_size, NULL, 0); + result = parse_general_name (c2, name, seq, ret, ret_size, NULL, 0); if (result < 0) { asn1_delete_structure (&c2); @@ -2555,7 +2455,7 @@ */ if (reason_flags) { - _gnutls_str_cpy (name, sizeof (name), "?1.reasons"); + _gnutls_str_cpy( name, sizeof(name), "?1.reasons"); reasons[0] = reasons[1] = 0; @@ -2581,25 +2481,24 @@ * @indx: This specifies which OID to return. Use zero to get the first one. * @oid: a pointer to a buffer to hold the OID (may be null) * @sizeof_oid: initially holds the size of @oid - * @critical: output flag to indicate criticality of extension * * This function will extract the key purpose OIDs of the Certificate - * specified by the given index. These are stored in the Extended - * Key Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions - * for human readable names. + * specified by the given index. These are stored in the Extended Key + * Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for + * human readable names. * * If @oid is null then only the size will be filled. * * Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is - * not long enough, and in that case the *sizeof_oid will be - * updated with the required size. On success 0 is returned. + * not long enough, and in that case the *sizeof_oid will be updated + * with the required size. On success 0 is returned. **/ int gnutls_x509_crt_get_key_purpose_oid (gnutls_x509_crt_t cert, int indx, void *oid, size_t * sizeof_oid, unsigned int *critical) { - char tmpstr[ASN1_MAX_NAME_SIZE]; + char tmpstr[MAX_NAME_SIZE]; int result, len; gnutls_datum_t id; ASN1_TYPE c2 = ASN1_TYPE_EMPTY; @@ -2650,7 +2549,7 @@ indx++; /* create a string like "?1" */ - snprintf (tmpstr, sizeof (tmpstr), "?%u", indx); + snprintf( tmpstr, sizeof(tmpstr), "?%u", indx); len = *sizeof_oid; result = asn1_read_value (c2, tmpstr, oid, &len); @@ -2690,7 +2589,7 @@ gnutls_datum_t * m, gnutls_datum_t * e) { int ret; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; int params_size = MAX_PUBLIC_PARAMS_SIZE; int i; @@ -2714,14 +2613,14 @@ return ret; } - ret = _gnutls_mpi_dprint (params[0], m); + ret = _gnutls_mpi_dprint (m, params[0]); if (ret < 0) { gnutls_assert (); goto cleanup; } - ret = _gnutls_mpi_dprint (params[1], e); + ret = _gnutls_mpi_dprint (e, params[1]); if (ret < 0) { gnutls_assert (); @@ -2759,7 +2658,7 @@ gnutls_datum_t * g, gnutls_datum_t * y) { int ret; - bigint_t params[MAX_PUBLIC_PARAMS_SIZE]; + mpi_t params[MAX_PUBLIC_PARAMS_SIZE]; int params_size = MAX_PUBLIC_PARAMS_SIZE; int i; @@ -2785,7 +2684,7 @@ /* P */ - ret = _gnutls_mpi_dprint (params[0], p); + ret = _gnutls_mpi_dprint (p, params[0]); if (ret < 0) { gnutls_assert (); @@ -2793,7 +2692,7 @@ } /* Q */ - ret = _gnutls_mpi_dprint (params[1], q); + ret = _gnutls_mpi_dprint (q, params[1]); if (ret < 0) { gnutls_assert (); @@ -2803,7 +2702,7 @@ /* G */ - ret = _gnutls_mpi_dprint (params[2], g); + ret = _gnutls_mpi_dprint (g, params[2]); if (ret < 0) { gnutls_assert (); @@ -2814,7 +2713,7 @@ /* Y */ - ret = _gnutls_mpi_dprint (params[3], y); + ret = _gnutls_mpi_dprint (y, params[3]); if (ret < 0) { gnutls_assert (); @@ -2931,7 +2830,7 @@ } tmp.data = (void *) ptr; - tmp.size = data->size - (ptr - (char *) data->data); + tmp.size = size; ret = gnutls_x509_crt_import (certs[count], &tmp, GNUTLS_X509_FMT_PEM); @@ -2975,7 +2874,7 @@ return GNUTLS_E_SHORT_MEMORY_BUFFER; error: - for (j = 0; j < count; j++) + for (j=0; j < count; j++) gnutls_x509_crt_deinit (certs[j]); return ret; } diff -Nru gnutls26-2.8.6/lib/x509/x509_int.h gnutls26-2.4.1/lib/x509/x509_int.h --- gnutls26-2.8.6/lib/x509/x509_int.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/x509_int.h 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -27,19 +27,6 @@ #include -#include - -/* Remove these when we require libtasn1 v1.6 or later. */ -#ifndef ASN1_MAX_NAME_SIZE -# define ASN1_MAX_NAME_SIZE MAX_NAME_SIZE -#endif -#ifndef ASN1_MAX_ERROR_DESCRIPTION_SIZE -# define ASN1_MAX_ERROR_DESCRIPTION_SIZE MAX_ERROR_DESCRIPTION_SIZE -#endif - -#define MAX_CRQ_EXTENSIONS_SIZE 8*1024 -#define MAX_OID_SIZE 128 - #define HASH_OID_SHA1 "1.3.14.3.2.26" #define HASH_OID_MD5 "1.2.840.113549.2.5" #define HASH_OID_MD2 "1.2.840.113549.2.2" @@ -51,7 +38,6 @@ typedef struct gnutls_x509_crl_int { ASN1_TYPE crl; - int use_extensions; } gnutls_x509_crl_int; typedef struct gnutls_x509_crt_int @@ -70,7 +56,7 @@ ASN1_TYPE pkcs7; } gnutls_pkcs7_int; -#define MAX_PRIV_PARAMS_SIZE GNUTLS_MAX_PK_PARAMS /* ok for RSA and DSA */ +#define MAX_PRIV_PARAMS_SIZE 6 /* ok for RSA and DSA */ /* parameters should not be larger than this limit */ #define DSA_PRIVATE_PARAMS 5 @@ -91,7 +77,7 @@ /* the size of params depends on the public * key algorithm */ - bigint_t params[MAX_PRIV_PARAMS_SIZE]; + mpi_t params[MAX_PRIV_PARAMS_SIZE]; /* * RSA: [0] is modulus @@ -150,12 +136,12 @@ #define OID_X520_COUNTRY_NAME "2.5.4.6" #define OID_X520_ORGANIZATION_NAME "2.5.4.10" #define OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" -#define OID_X520_COMMON_NAME "2.5.4.3" -#define OID_X520_LOCALITY_NAME "2.5.4.7" -#define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" +#define OID_X520_COMMON_NAME "2.5.4.3" +#define OID_X520_LOCALITY_NAME "2.5.4.7" +#define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" #define OID_LDAP_DC "0.9.2342.19200300.100.1.25" #define OID_LDAP_UID "0.9.2342.19200300.100.1.1" -#define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" +#define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" int _gnutls_x509_parse_dn (ASN1_TYPE asn1_struct, const char *asn1_rdn_name, char *buf, @@ -174,21 +160,14 @@ const char *asn1_rdn_name, int indx, void *_oid, size_t * sizeof_oid); -int _gnutls_parse_general_name (ASN1_TYPE src, const char *src_name, - int seq, void *name, size_t * name_size, - unsigned int *ret_type, int othername_oid); - /* dsa.c */ +int _gnutls_dsa_generate_params (mpi_t * resarr, int *resarr_len, int bits); /* verify.c */ int gnutls_x509_crt_is_issuer (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer); -int _gnutls_x509_verify_algorithm(gnutls_mac_algorithm_t *hash, - const gnutls_datum_t * signature, - const gnutls_x509_crt_t crt); int _gnutls_x509_verify_signature (const gnutls_datum_t * tbs, - const gnutls_datum_t * hash, const gnutls_datum_t * signature, gnutls_x509_crt_t issuer); int _gnutls_x509_privkey_verify_signature (const gnutls_datum_t * tbs, @@ -198,21 +177,9 @@ /* privkey.h */ ASN1_TYPE _gnutls_privkey_decode_pkcs1_rsa_key (const gnutls_datum_t *raw_key, gnutls_x509_privkey_t pkey); -int _gnutls_asn1_encode_dsa (ASN1_TYPE * c2, bigint_t * params); +int _gnutls_asn1_encode_dsa (ASN1_TYPE * c2, mpi_t * params); /* extensions.c */ -int _gnutls_x509_crl_get_extension (gnutls_x509_crl_t crl, - const char *extension_id, int indx, - gnutls_datum_t * ret, unsigned int *_critical); - -int _gnutls_x509_crl_get_extension_oid (gnutls_x509_crl_t crl, - int indx, void *oid, size_t * sizeof_oid); - -int _gnutls_x509_crl_set_extension (gnutls_x509_crl_t crl, - const char *ext_id, - const gnutls_datum_t * ext_data, - unsigned int critical); - int _gnutls_x509_crt_get_extension (gnutls_x509_crt_t cert, const char *extension_id, int indx, gnutls_datum_t * ret, @@ -230,27 +197,16 @@ const char *extension_id, const gnutls_datum_t * ext_data, unsigned int critical); - -int -_gnutls_x509_ext_extract_number (opaque *number, - size_t* nr_size, - opaque * extnValue, - int extnValueLen); -int -_gnutls_x509_ext_gen_number (const opaque* nuber, size_t nr_size, gnutls_datum_t * der_ext); - - int _gnutls_x509_ext_gen_basicConstraints (int CA, int pathLenConstraint, gnutls_datum_t * der_ext); int _gnutls_x509_ext_gen_keyUsage (uint16_t usage, gnutls_datum_t * der_ext); int _gnutls_x509_ext_gen_subject_alt_name (gnutls_x509_subject_alt_name_t - type, const void* data, unsigned int data_size, - gnutls_datum_t* prev_der_ext, gnutls_datum_t * der_ext); -int -_gnutls_x509_ext_gen_crl_dist_points (gnutls_x509_subject_alt_name_t - type, const void *data, unsigned int data_size, - unsigned int reason_flags, - gnutls_datum_t * der_ext); + type, const char *data_string, + gnutls_datum_t * der_ext); +int _gnutls_x509_ext_gen_crl_dist_points (gnutls_x509_subject_alt_name_t + type, const void *data_string, + unsigned int reason_flags, + gnutls_datum_t * der_ext); int _gnutls_x509_ext_gen_key_id (const void *id, size_t id_size, gnutls_datum_t * der_data); int _gnutls_x509_ext_gen_auth_key_id (const void *id, size_t id_size, @@ -268,37 +224,35 @@ gnutls_datum_t * der_ext); /* mpi.c */ -int _gnutls_x509_crq_get_mpis (gnutls_x509_crq_t cert, - bigint_t * params, int *params_size); - + int _gnutls_x509_crt_get_mpis (gnutls_x509_crt_t cert, - bigint_t * params, int *params_size); -int _gnutls_x509_read_rsa_params (opaque * der, int dersize, bigint_t * params); -int _gnutls_x509_read_dsa_pubkey (opaque * der, int dersize, bigint_t * params); -int _gnutls_x509_read_dsa_params (opaque * der, int dersize, bigint_t * params); + mpi_t * params, int *params_size); +int _gnutls_x509_read_rsa_params (opaque * der, int dersize, mpi_t * params); +int _gnutls_x509_read_dsa_pubkey (opaque * der, int dersize, mpi_t * params); +int _gnutls_x509_read_dsa_params (opaque * der, int dersize, mpi_t * params); -int _gnutls_x509_write_rsa_params (bigint_t * params, int params_size, +int _gnutls_x509_write_rsa_params (mpi_t * params, int params_size, gnutls_datum_t * der); -int _gnutls_x509_write_dsa_params (bigint_t * params, int params_size, +int _gnutls_x509_write_dsa_params (mpi_t * params, int params_size, gnutls_datum_t * der); -int _gnutls_x509_write_dsa_public_key (bigint_t * params, int params_size, +int _gnutls_x509_write_dsa_public_key (mpi_t * params, int params_size, gnutls_datum_t * der); int _gnutls_x509_read_uint (ASN1_TYPE node, const char *value, unsigned int *ret); -int _gnutls_x509_read_der_int (opaque * der, int dersize, bigint_t* out); +int _gnutls_x509_read_der_int (opaque * der, int dersize, mpi_t* out); int _gnutls_x509_read_int (ASN1_TYPE node, const char *value, - bigint_t * ret_mpi); -int _gnutls_x509_write_int (ASN1_TYPE node, const char *value, bigint_t mpi, + mpi_t * ret_mpi); +int _gnutls_x509_write_int (ASN1_TYPE node, const char *value, mpi_t mpi, int lz); int _gnutls_x509_write_uint32 (ASN1_TYPE node, const char *value, uint32_t num); int _gnutls_x509_write_sig_params (ASN1_TYPE dst, const char *dst_name, gnutls_pk_algorithm_t pk_algorithm, - gnutls_digest_algorithm_t, bigint_t * params, + gnutls_digest_algorithm_t, mpi_t * params, int params_size); /* pkcs12.h */ #include @@ -340,7 +294,7 @@ #define KEY_ID_OID "1.2.840.113549.1.9.21" int -_gnutls_pkcs12_string_to_key (unsigned int id, const opaque * salt, +_pkcs12_string_to_key (unsigned int id, const opaque * salt, unsigned int salt_size, unsigned int iter, const char *pw, unsigned int req_keylen, opaque * keybuf); @@ -371,10 +325,4 @@ int _pkcs12_encode_crt_bag (gnutls_pkcs12_bag_type_t type, const gnutls_datum_t * raw, gnutls_datum_t * out); -/* crq */ -int _gnutls_x509_crq_set_extension (gnutls_x509_crq_t crq, - const char *ext_id, - const gnutls_datum_t * ext_data, - unsigned int critical); - #endif diff -Nru gnutls26-2.8.6/lib/x509/x509_write.c gnutls26-2.4.1/lib/x509/x509_write.c --- gnutls26-2.8.6/lib/x509/x509_write.c 2009-06-02 20:07:14.000000000 +0100 +++ gnutls26-2.4.1/lib/x509/x509_write.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -42,7 +42,7 @@ /** * gnutls_x509_crt_set_dn_by_oid - Set the Certificate request subject's distinguished name - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @oid: holds an Object Identifier in a null terminated string * @raw_flag: must be 0, or 1 if the data are DER encoded * @name: a pointer to the name @@ -77,7 +77,7 @@ /** * gnutls_x509_crt_set_issuer_dn_by_oid - Set the Certificate request issuer's distinguished name - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @oid: holds an Object Identifier in a null terminated string * @raw_flag: must be 0, or 1 if the data are DER encoded * @name: a pointer to the name @@ -134,7 +134,7 @@ * negative error value. **/ int -gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt, gnutls_x509_crt_t eecrt, +gnutls_x509_crt_set_proxy_dn (gnutls_x509_crt_t crt,gnutls_x509_crt_t eecrt, unsigned int raw_flag, const void *name, unsigned int sizeof_name) { @@ -165,7 +165,7 @@ /** * gnutls_x509_crt_set_version - Set the Certificate request version - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @version: holds the version number. For X.509v1 certificates must be 1. * * This function will set the version of the certificate. This must @@ -174,7 +174,7 @@ * * To create well-formed certificates, you must specify version 3 if * you use any certificate extensions. Extensions are created by - * functions such as gnutls_x509_crt_set_subject_alt_name() + * functions such as gnutls_x509_crt_set_subject_alternative_name() * or gnutls_x509_crt_set_key_usage(). * * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a @@ -207,7 +207,7 @@ /** * gnutls_x509_crt_set_key - This function will associate the Certificate with a key - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @key: holds a private key * * This function will set the public parameters from the given @@ -246,12 +246,12 @@ /** * gnutls_x509_crt_set_crq - Associate the Certificate with a request - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @crq: holds a certificate request * - * This function will set the name and public parameters as well as - * the extensions from the given certificate request to the certificate. - * Only RSA keys are currently supported. + * This function will set the name and public parameters from the + * given certificate request to the certificate. Only RSA keys are + * currently supported. * * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a * negative error value. @@ -260,6 +260,7 @@ gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq) { int result; + int pk_algorithm; if (crt == NULL || crq == NULL) { @@ -267,6 +268,8 @@ return GNUTLS_E_INVALID_REQUEST; } + pk_algorithm = gnutls_x509_crq_get_pk_algorithm (crq, NULL); + result = asn1_copy_node (crt->cert, "tbsCertificate.subject", crq->crq, "certificationRequestInfo.subject"); if (result != ASN1_SUCCESS) @@ -288,83 +291,8 @@ } /** - * gnutls_x509_crt_set_crq_extensions - Associate the Certificate with a request - * @crt: a certificate of type #gnutls_x509_crt_t - * @crq: holds a certificate request - * - * This function will set extensions from the given request to the - * certificate. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.8.0 - **/ -int -gnutls_x509_crt_set_crq_extensions (gnutls_x509_crt_t crt, - gnutls_x509_crq_t crq) -{ - int result, i; - char oid[MAX_OID_SIZE]; - size_t oid_size; - opaque extensions[MAX_CRQ_EXTENSIONS_SIZE]; - size_t extensions_size = sizeof (extensions); - unsigned int critical; - gnutls_datum ext; - - if (crt == NULL || crq == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - for (i = 0;; i++) - { - oid_size = sizeof (oid); - result = - gnutls_x509_crq_get_extension_info (crq, i, oid, &oid_size, - &critical); - if (result < 0) - { - if (result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - - gnutls_assert (); - return result; - } - - extensions_size = sizeof (extensions); - result = - gnutls_x509_crq_get_extension_data (crq, i, extensions, - &extensions_size); - - if (result < 0) - { - gnutls_assert (); - return result; - } - - ext.data = extensions; - ext.size = extensions_size; - - result = _gnutls_x509_crt_set_extension (crt, oid, &ext, critical); - if (result < 0) - { - gnutls_assert (); - return result; - } - - } - - if (i > 0) - crt->use_extensions = 1; - - return 0; -} - -/** * gnutls_x509_crt_set_extension_by_oid - Set an arbitrary extension - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @oid: holds an Object Identified in null terminated string * @buf: a pointer to a DER encoded data * @sizeof_buf: holds the size of @buf @@ -410,7 +338,7 @@ /** * gnutls_x509_crt_set_basic_constraints - Set the basicConstraints extension - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @ca: true(1) or false(0). Depending on the Certificate authority status. * @pathLenConstraint: non-negative values indicate maximum length of path, * and negative values indicate that the pathLenConstraints field should @@ -423,7 +351,8 @@ **/ int gnutls_x509_crt_set_basic_constraints (gnutls_x509_crt_t crt, - unsigned int ca, int pathLenConstraint) + unsigned int ca, + int pathLenConstraint) { int result; gnutls_datum_t der_data; @@ -461,7 +390,7 @@ /** * gnutls_x509_crt_set_ca_status - Set the basicConstraints extension - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @ca: true(1) or false(0). Depending on the Certificate authority status. * * This function will set the basicConstraints certificate extension. @@ -479,7 +408,7 @@ /** * gnutls_x509_crt_set_key_usage - Set the keyUsage extension - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @usage: an ORed sequence of the GNUTLS_KEY_* elements. * * This function will set the keyUsage certificate extension. @@ -525,81 +454,25 @@ /** * gnutls_x509_crt_set_subject_alternative_name - Set the subject Alternative Name - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @type: is one of the gnutls_x509_subject_alt_name_t enumerations * @data_string: The data to be set, a zero terminated string * * This function will set the subject alternative name certificate - * extension. This function assumes that data can be expressed as a null - * terminated string. - * - * The name of the function is unfortunate since it is incosistent with - * gnutls_x509_crt_get_subject_alt_name(). + * extension. * * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a * negative error value. **/ int gnutls_x509_crt_set_subject_alternative_name (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const char *data_string) -{ - if (crt == NULL) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - /* only handle text extensions */ - if (type != GNUTLS_SAN_DNSNAME && type != GNUTLS_SAN_RFC822NAME && - type != GNUTLS_SAN_URI) - { - gnutls_assert (); - return GNUTLS_E_INVALID_REQUEST; - } - - return gnutls_x509_crt_set_subject_alt_name (crt, type, data_string, - strlen (data_string), - GNUTLS_FSAN_SET); -} - -/** - * gnutls_x509_crt_set_subject_alt_name - Set the subject Alternative Name - * @crt: a certificate of type #gnutls_x509_crt_t - * @type: is one of the gnutls_x509_subject_alt_name_t enumerations - * @data: The data to be set - * @data_size: The size of data to be set - * @flags: GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. - * - * This function will set the subject alternative name certificate - * extension. It can set the following types: - * - * &GNUTLS_SAN_DNSNAME: as a text string - * - * &GNUTLS_SAN_RFC822NAME: as a text string - * - * &GNUTLS_SAN_URI: as a text string - * - * &GNUTLS_SAN_IPADDRESS: as a binary IP address (4 or 16 bytes) - * - * Other values can be set as binary values with the proper DER encoding. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.6.0 - **/ -int -gnutls_x509_crt_set_subject_alt_name (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int flags) + gnutls_x509_subject_alt_name_t + type, const char *data_string) { int result; - gnutls_datum_t der_data = { NULL, 0 }; - gnutls_datum_t prev_der_data = { NULL, 0 }; - unsigned int critical = 0; + gnutls_datum_t der_data; + gnutls_datum_t dnsname; + unsigned int critical; if (crt == NULL) { @@ -609,34 +482,28 @@ /* Check if the extension already exists. */ + result = + _gnutls_x509_crt_get_extension (crt, "2.5.29.17", 0, &dnsname, &critical); - if (flags == GNUTLS_FSAN_APPEND) + if (result >= 0) + _gnutls_free_datum (&dnsname); + if (result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { - result = _gnutls_x509_crt_get_extension (crt, "2.5.29.17", 0, - &prev_der_data, &critical); - if (result < 0 && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - gnutls_assert (); - return result; - } + gnutls_assert (); + return GNUTLS_E_INVALID_REQUEST; } /* generate the extension. */ - result = _gnutls_x509_ext_gen_subject_alt_name (type, data, data_size, - &prev_der_data, &der_data); - - if (flags == GNUTLS_FSAN_APPEND) - _gnutls_free_datum (&prev_der_data); - + result = + _gnutls_x509_ext_gen_subject_alt_name (type, data_string, &der_data); if (result < 0) { gnutls_assert (); - goto finish; + return result; } - result = _gnutls_x509_crt_set_extension (crt, "2.5.29.17", &der_data, - critical); + result = _gnutls_x509_crt_set_extension (crt, "2.5.29.17", &der_data, 0); _gnutls_free_datum (&der_data); @@ -649,20 +516,16 @@ crt->use_extensions = 1; return 0; - -finish: - _gnutls_free_datum (&prev_der_data); - return result; } /** * gnutls_x509_crt_set_proxy - Set the proxyCertInfo extension - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @pathLenConstraint: non-negative values indicate maximum length of path, * and negative values indicate that the pathLenConstraints field should * not be present. * @policyLanguage: OID describing the language of @policy. - * @policy: opaque byte array with policy language, can be %NULL + * @policy: opaque byte array with policy language, can be %NULL * @sizeof_policy: size of @policy. * * This function will set the proxyCertInfo extension. @@ -674,7 +537,8 @@ gnutls_x509_crt_set_proxy (gnutls_x509_crt_t crt, int pathLenConstraint, const char *policyLanguage, - const char *policy, size_t sizeof_policy) + const char *policy, + size_t sizeof_policy) { int result; gnutls_datum_t der_data; @@ -715,10 +579,10 @@ /** * gnutls_x509_crt_sign2 - Sign a certificate with a key - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @issuer: is the certificate of the certificate issuer * @issuer_key: holds the issuer's private key - * @dig: The message digest to use, %GNUTLS_DIG_SHA1 is a safe choice + * @dig: The message digest to use. GNUTLS_DIG_SHA1 is the safe choice unless you know what you're doing. * @flags: must be 0 * * This function will sign the certificate with the issuer's private key, and @@ -760,7 +624,7 @@ /** * gnutls_x509_crt_sign - Sign a certificate with a key - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @issuer: is the certificate of the certificate issuer * @issuer_key: holds the issuer's private key * @@ -779,7 +643,7 @@ /** * gnutls_x509_crt_set_activation_time - Set the Certificate's activation time - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @act_time: The actual time * * This function will set the time this Certificate was or will be @@ -804,7 +668,7 @@ /** * gnutls_x509_crt_set_expiration_time - Set the Certificate's expiration time - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @exp_time: The actual time * * This function will set the time this Certificate will expire. @@ -826,7 +690,7 @@ /** * gnutls_x509_crt_set_serial - Set the certificate's serial number - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @serial: The serial number * @serial_size: Holds the size of the serial field. * @@ -885,7 +749,7 @@ /** * gnutls_x509_crt_set_crl_dist_points - Set the CRL dist points - * @crt: a certificate of type #gnutls_x509_crt_t + * @crt: should contain a gnutls_x509_crt_t structure * @type: is one of the gnutls_x509_subject_alt_name_t enumerations * @data_string: The data to be set * @reason_flags: revocation reasons @@ -897,40 +761,13 @@ **/ int gnutls_x509_crt_set_crl_dist_points (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data_string, + gnutls_x509_subject_alt_name_t + type, const void *data_string, unsigned int reason_flags) { - return gnutls_x509_crt_set_crl_dist_points2 (crt, type, data_string, - strlen (data_string), - reason_flags); -} - -/** - * gnutls_x509_crt_set_crl_dist_points2 - Set the CRL dist points - * @crt: a certificate of type #gnutls_x509_crt_t - * @type: is one of the gnutls_x509_subject_alt_name_t enumerations - * @data: The data to be set - * @data_size: The data size - * @reason_flags: revocation reasons - * - * This function will set the CRL distribution points certificate extension. - * - * Returns: On success, %GNUTLS_E_SUCCESS is returned, otherwise a - * negative error value. - * - * Since: 2.6.0 - **/ -int -gnutls_x509_crt_set_crl_dist_points2 (gnutls_x509_crt_t crt, - gnutls_x509_subject_alt_name_t type, - const void *data, - unsigned int data_size, - unsigned int reason_flags) -{ int result; - gnutls_datum_t der_data = { NULL, 0 }; - gnutls_datum_t oldname = { NULL, 0 }; + gnutls_datum_t der_data; + gnutls_datum_t oldname; unsigned int critical; if (crt == NULL) @@ -944,8 +781,8 @@ result = _gnutls_x509_crt_get_extension (crt, "2.5.29.31", 0, &oldname, &critical); - _gnutls_free_datum (&oldname); - + if (result >= 0) + _gnutls_free_datum (&oldname); if (result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { gnutls_assert (); @@ -955,7 +792,7 @@ /* generate the extension. */ result = - _gnutls_x509_ext_gen_crl_dist_points (type, data, data_size, + _gnutls_x509_ext_gen_crl_dist_points (type, data_string, reason_flags, &der_data); if (result < 0) { @@ -976,12 +813,11 @@ crt->use_extensions = 1; return 0; - } /** * gnutls_x509_crt_cpy_crl_dist_points - Copy the CRL dist points - * @dst: a certificate of type #gnutls_x509_crt_t + * @dst: should contain a gnutls_x509_crt_t structure * @src: the certificate where the dist points will be copied from * * This function will copy the CRL distribution points certificate @@ -1033,7 +869,7 @@ /** * gnutls_x509_crt_set_subject_key_id - Set the certificate's subject key id - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @id: The key ID * @id_size: Holds the size of the serial field. * @@ -1096,7 +932,7 @@ /** * gnutls_x509_crt_set_authority_key_id - Set the certificate authority's key id - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @id: The key ID * @id_size: Holds the size of the serial field. * @@ -1159,7 +995,7 @@ /** * gnutls_x509_crt_set_key_purpose_oid - Sets the Certificate's key purpose OIDs - * @cert: a certificate of type #gnutls_x509_crt_t + * @cert: should contain a gnutls_x509_crt_t structure * @oid: a pointer to a null terminated string that holds the OID * @critical: Whether this extension will be critical or not * @@ -1169,13 +1005,11 @@ * * Subsequent calls to this function will append OIDs to the OID list. * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. + * On success 0 is returned. **/ int gnutls_x509_crt_set_key_purpose_oid (gnutls_x509_crt_t cert, - const void *oid, - unsigned int critical) + const void *oid, unsigned int critical) { int result; gnutls_datum_t old_id, der_data; diff -Nru gnutls26-2.8.6/libextra/aclocal.m4 gnutls26-2.4.1/libextra/aclocal.m4 --- gnutls26-2.8.6/libextra/aclocal.m4 2010-03-15 10:28:56.000000000 +0000 +++ gnutls26-2.4.1/libextra/aclocal.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,985 +0,0 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 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. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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. - -# 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. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 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. - -# 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. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# 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. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -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])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# 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. - -# serial 10 - -# 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], UPC, [depcc="$UPC" am_compiler_list=], - [$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 - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' 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 build - --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])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# 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. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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"]) -]) - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 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. - -# serial 16 - -# 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. - -# 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_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -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 -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])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) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# 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([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_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 -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# 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_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008 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. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 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. - -# serial 2 - -# 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])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 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. - -# serial 4 - -# 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 this is the am__doit target -.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 -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# 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. - -# serial 6 - -# 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 -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# 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 -]) - -# Copyright (C) 2003, 2004, 2005, 2006 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. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008 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. - -# serial 4 - -# _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], -[m4_foreach_w([_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. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# 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. - -# serial 5 - -# 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 -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# 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)]) - -# Copyright (C) 2001, 2003, 2005 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. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# 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="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008 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. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 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. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([../lib/gl/m4/sockets.m4]) -m4_include([../lib/gl/m4/sys_socket_h.m4]) -m4_include([../lib/gl/m4/unistd_h.m4]) -m4_include([../lib/m4/hooks.m4]) -m4_include([gl/m4/00gnulib.m4]) -m4_include([gl/m4/extensions.m4]) -m4_include([gl/m4/gnulib-common.m4]) -m4_include([gl/m4/gnulib-comp.m4]) -m4_include([gl/m4/hmac-md5.m4]) -m4_include([gl/m4/ld-output-def.m4]) -m4_include([gl/m4/ld-version-script.m4]) -m4_include([gl/m4/lib-ld.m4]) -m4_include([gl/m4/lib-link.m4]) -m4_include([gl/m4/lib-prefix.m4]) -m4_include([gl/m4/md5.m4]) -m4_include([gl/m4/memxor.m4]) -m4_include([m4/hooks.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) diff -Nru gnutls26-2.8.6/libextra/AUTHORS gnutls26-2.4.1/libextra/AUTHORS --- gnutls26-2.8.6/libextra/AUTHORS 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/AUTHORS 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../AUTHORS. diff -Nru gnutls26-2.8.6/libextra/build-aux/config.guess gnutls26-2.4.1/libextra/build-aux/config.guess --- gnutls26-2.8.6/libextra/build-aux/config.guess 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/build-aux/config.guess 1970-01-01 01:00:00.000000000 +0100 @@ -1,1502 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. - -timestamp='2009-12-30' - -# 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, 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 Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. -# -# 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. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - -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, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # 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 - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - 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 ; set_cc_for_build= ;' - -# 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. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - 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 - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # 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 ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # 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. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - 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 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - 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 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - 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 ;; - 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 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /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 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # 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 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - 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 -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - 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 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????: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 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - 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 ;; - *: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 - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - 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 ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | 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 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 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]) - 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" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - 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 -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 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 -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - 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 i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - 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 -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - 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 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - 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 ;; - 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 ;; - 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 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - 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 ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - 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 ;; - 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|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - 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 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*: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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *: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 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - 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 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *: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 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -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\n"); 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 -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# 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 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - 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: diff -Nru gnutls26-2.8.6/libextra/build-aux/config.rpath gnutls26-2.4.1/libextra/build-aux/config.rpath --- gnutls26-2.8.6/libextra/build-aux/config.rpath 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/build-aux/config.rpath 1970-01-01 01:00:00.000000000 +0100 @@ -1,672 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2008 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# 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. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - pgcc | pgf77 | pgf90) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if test "$GCC" = yes ; then - : - else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - library_names_spec='$libname.a' - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd1*) - ;; - freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - nto-qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context -# diff and a properly formatted GNU ChangeLog entry. -# -# 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. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# 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, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # 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 ;; - - * ) - 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* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - 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 | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -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 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -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/'` - ;; - -sco5v6*) - # 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] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # 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]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # 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 - ;; - abacus) - basic_machine=abacus-unknown - ;; - 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 - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - 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 - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - 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 | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - 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 - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze) - basic_machine=microblaze-xilinx - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - 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 - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - 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 - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`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 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-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=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - 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 - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-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 - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - 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 - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - 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 - ;; - *-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. - -auroraux) - os=-auroraux - ;; - -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* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -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 - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -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 - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -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 - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - 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 - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-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 - ;; - -cnk*|-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 - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - 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 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru gnutls26-2.8.6/libextra/build-aux/depcomp gnutls26-2.4.1/libextra/build-aux/depcomp --- gnutls26-2.8.6/libextra/build-aux/depcomp 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/build-aux/depcomp 1970-01-01 01:00:00.000000000 +0100 @@ -1,630 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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, see . - -# 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 . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -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 - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -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 - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp -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. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - 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. In older versions, 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. - # Version 6 uses the directory in both cases. - 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$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - 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,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - 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$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -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 - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space 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 preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--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 - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $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 $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - 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 preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [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 preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # 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 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/libextra/build-aux/install-sh gnutls26-2.4.1/libextra/build-aux/install-sh --- gnutls26-2.8.6/libextra/build-aux/install-sh 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/build-aux/install-sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,520 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2009-04-28.21; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# 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. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # 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 $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/libextra/build-aux/ltmain.sh gnutls26-2.4.1/libextra/build-aux/ltmain.sh --- gnutls26-2.8.6/libextra/build-aux/ltmain.sh 2010-03-15 10:28:49.000000000 +0000 +++ gnutls26-2.4.1/libextra/build-aux/ltmain.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,8413 +0,0 @@ -# Generated from ltmain.m4sh. - -# ltmain.sh (GNU libtool) 2.2.6b -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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. - -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print informational messages (default) -# --version print version information -# -h, --help print short or long help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2" -TIMESTAMP="" -package_revision=1.3017 - -# 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+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# NLS nuisances: We save the old values to restore during execute mode. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done - -$lt_unset CDPATH - - - - - -: ${CP="cp -f"} -: ${ECHO="echo"} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/bin/sed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -# Generated shell functions inserted here. - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -# In the unlikely event $progname began with a '-', it would play havoc with -# func_echo (imagine progname=-n), so we prepend ./ in that case: -func_dirname_and_basename "$progpath" -progname=$func_basename_result -case $progname in - -*) progname=./$progname ;; -esac - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname${mode+: }$mode: $*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` - done - my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "X$my_tmpdir" | $Xsed -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "X$1" | $Xsed \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - - - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $SED -n '/^# Usage:/,/# -h/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - $ECHO - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help -# Echo long help message to standard output and exit. -func_help () -{ - $SED -n '/^# Usage:/,/# Report bugs to/ { - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - }' < "$progpath" - exit $? -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit -} - -exit_cmd=: - - - - - -# Check that we have a working $ECHO. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell, and then maybe $ECHO will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# Parse options once, thoroughly. This comes as soon as possible in -# the script to make things like `libtool --version' happen quickly. -{ - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Parse non-mode specific arguments: - while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --config) func_config ;; - - --debug) preserve_args="$preserve_args $opt" - func_echo "enabling shell trace mode" - opt_debug='set -x' - $opt_debug - ;; - - -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break - execute_dlfiles="$execute_dlfiles $1" - shift - ;; - - --dry-run | -n) opt_dry_run=: ;; - --features) func_features ;; - --finish) mode="finish" ;; - - --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break - case $1 in - # Valid mode arguments: - clean) ;; - compile) ;; - execute) ;; - finish) ;; - install) ;; - link) ;; - relink) ;; - uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; - esac - - mode="$1" - shift - ;; - - --preserve-dup-deps) - opt_duplicate_deps=: ;; - - --quiet|--silent) preserve_args="$preserve_args $opt" - opt_silent=: - ;; - - --verbose| -v) preserve_args="$preserve_args $opt" - opt_silent=false - ;; - - --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break - preserve_args="$preserve_args $opt $1" - func_enable_tag "$1" # tagname is set here - shift - ;; - - # Separate optargs to long options: - -dlopen=*|--mode=*|--tag=*) - func_opt_split "$opt" - set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} - shift - ;; - - -\?|-h) func_usage ;; - --help) opt_help=: ;; - --version) func_version ;; - - -*) func_fatal_help "unrecognized option \`$opt'" ;; - - *) nonopt="$opt" - break - ;; - esac - done - - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_duplicate_deps - ;; - esac - - # Having warned about all mis-specified options, bail out if - # anything was wrong. - $exit_cmd $EXIT_FAILURE -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -## ----------- ## -## Main. ## -## ----------- ## - -$opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - test -z "$mode" && func_fatal_error "error: you must specify a MODE." - - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$mode' for more information." -} - - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_ltwrapper_scriptname_result="" - if func_ltwrapper_executable_p "$1"; then - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" - fi -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case "$@ " in - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - removelist="$removelist $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - removelist="$removelist $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { -test "$mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$mode'" - ;; - esac - - $ECHO - $ECHO "Try \`$progname --help' for more information about other modes." - - exit $? -} - - # Now that we've collected a possible --mode arg, show help if necessary - $opt_help && func_mode_help - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_quote_for_eval "$file" - args="$args $func_quote_for_eval_result" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - $ECHO "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - $ECHO "X----------------------------------------------------------------------" | $Xsed - $ECHO "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - $ECHO - $ECHO "If you ever happen to want to link against installed libraries" - $ECHO "in a given directory, LIBDIR, you must either use libtool, and" - $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" - $ECHO "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" - $ECHO " during execution" - fi - if test -n "$runpath_var"; then - $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" - $ECHO " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $ECHO - - $ECHO "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" - $ECHO "pages." - ;; - *) - $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - $ECHO "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS -} - -test "$mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $ECHO "X$nonopt" | $GREP shtool >/dev/null; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog="$install_prog$func_quote_for_eval_result" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog="$install_prog $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_verbose "extracting global C symbols from \`$progfile'" - $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - $ECHO >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -" - case $host in - *cygwin* | *mingw* | *cegcc* ) - $ECHO >> "$output_objdir/$my_dlsyms" "\ -/* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs. */" - lt_dlsym_const= ;; - *osf5*) - echo >> "$output_objdir/$my_dlsyms" "\ -/* This system does not cope well with relocations in const data */" - lt_dlsym_const= ;; - *) - lt_dlsym_const=const ;; - esac - - $ECHO >> "$output_objdir/$my_dlsyms" "\ -extern $lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -$lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - $ECHO >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags="$symtab_cflags $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - - -# func_emit_wrapper_part1 [arg=no] -# -# Emit the first part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part1 () -{ - func_emit_wrapper_part1_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part1_arg1=$1 - fi - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# 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+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - ECHO=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$ECHO works! - : - else - # Restart under the correct shell, and then maybe \$ECHO will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $ECHO "\ - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done -" -} -# end: func_emit_wrapper_part1 - -# func_emit_wrapper_part2 [arg=no] -# -# Emit the second part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part2 () -{ - func_emit_wrapper_part2_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part2_arg1=$1 - fi - - $ECHO "\ - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} -# end: func_emit_wrapper_part2 - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=no - if test -n "$1" ; then - func_emit_wrapper_arg1=$1 - fi - - # split this up so that func_emit_cwrapperexe_src - # can call each part independently. - func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" - func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" -} - - -# func_to_host_path arg -# -# Convert paths to host format when used with build tools. -# Intended for use with "native" mingw (where libtool itself -# is running under the msys shell), or in the following cross- -# build environments: -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# where wine is equipped with the `winepath' executable. -# In the native mingw case, the (msys) shell automatically -# converts paths for any non-msys applications it launches, -# but that facility isn't available from inside the cwrapper. -# Similar accommodations are necessary for $host mingw and -# $build cygwin. Calling this function does no harm for other -# $host/$build combinations not listed above. -# -# ARG is the path (on $build) that should be converted to -# the proper representation for $host. The result is stored -# in $func_to_host_path_result. -func_to_host_path () -{ - func_to_host_path_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - case $build in - *mingw* ) # actually, msys - # awkward: cmd appends spaces to result - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_path_tmp1=`( cmd //c echo "$1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_path_tmp1=`cygpath -w "$1"` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # Unfortunately, winepath does not exit with a non-zero - # error code, so we are forced to check the contents of - # stdout. On the other hand, if the command is not - # found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both - # error code of zero AND non-empty stdout, which explains - # the odd construction: - func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - else - # Allow warning below. - func_to_host_path_result="" - fi - ;; - esac - if test -z "$func_to_host_path_result" ; then - func_error "Could not determine host path corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_path_result="$1" - fi - ;; - esac - fi -} -# end: func_to_host_path - -# func_to_host_pathlist arg -# -# Convert pathlists to host format when used with build tools. -# See func_to_host_path(), above. This function supports the -# following $build/$host combinations (but does no harm for -# combinations not listed here): -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# -# Path separators are also converted from $build format to -# $host format. If ARG begins or ends with a path separator -# character, it is preserved (but converted to $host format) -# on output. -# -# ARG is a pathlist (on $build) that should be converted to -# the proper representation on $host. The result is stored -# in $func_to_host_pathlist_result. -func_to_host_pathlist () -{ - func_to_host_pathlist_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_to_host_pathlist_tmp2="$1" - # Once set for this call, this variable should not be - # reassigned. It is used in tha fallback case. - func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e 's|^:*||' -e 's|:*$||'` - case $build in - *mingw* ) # Actually, msys. - # Awkward: cmd appends spaces to result. - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # unfortunately, winepath doesn't convert pathlists - func_to_host_pathlist_result="" - func_to_host_pathlist_oldIFS=$IFS - IFS=: - for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do - IFS=$func_to_host_pathlist_oldIFS - if test -n "$func_to_host_pathlist_f" ; then - func_to_host_path "$func_to_host_pathlist_f" - if test -n "$func_to_host_path_result" ; then - if test -z "$func_to_host_pathlist_result" ; then - func_to_host_pathlist_result="$func_to_host_path_result" - else - func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" - fi - fi - fi - IFS=: - done - IFS=$func_to_host_pathlist_oldIFS - ;; - esac - if test -z "$func_to_host_pathlist_result" ; then - func_error "Could not determine the host path(s) corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This may break if $1 contains DOS-style drive - # specifications. The fix is not to complicate the expression - # below, but for the user to provide a working wine installation - # with winepath so that path translation in the cross-to-mingw - # case works properly. - lt_replace_pathsep_nix_to_dos="s|:|;|g" - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_replace_pathsep_nix_to_dos"` - fi - # Now, add the leading and trailing path separators back - case "$1" in - :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" - ;; - esac - case "$1" in - *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" - ;; - esac - ;; - esac - fi -} -# end: func_to_host_pathlist - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -# define setmode _setmode -#else -# include -# include -# ifdef __CYGWIN__ -# include -# define HAVE_SETENV -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -#ifdef _MSC_VER -# define S_IXUSR _S_IEXEC -# define stat _stat -# ifndef _INTPTR_T_DEFINED -# define intptr_t int -# endif -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifdef __CYGWIN__ -# define FOPEN_WB "wb" -#endif - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#undef LTWRAPPER_DEBUGPRINTF -#if defined DEBUGWRAPPER -# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args -static void -ltwrapper_debugprintf (const char *fmt, ...) -{ - va_list args; - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); -} -#else -# define LTWRAPPER_DEBUGPRINTF(args) -#endif - -const char *program_name = NULL; - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_fatal (const char *message, ...); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_opt_process_env_set (const char *arg); -void lt_opt_process_env_prepend (const char *arg); -void lt_opt_process_env_append (const char *arg); -int lt_split_name_value (const char *arg, char** name, char** value); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); - -static const char *script_text_part1 = -EOF - - func_emit_wrapper_part1 yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ "/' -e 's/$/\\n"/' - echo ";" - cat <"))); - for (i = 0; i < newargc; i++) - { - LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", - wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", - tmp_pathspec)); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - char *errstr = strerror (errno); - lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal ("Could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} - -void -lt_setenv (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", - (name ? name : ""), - (value ? value : ""))); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -int -lt_split_name_value (const char *arg, char** name, char** value) -{ - const char *p; - int len; - if (!arg || !*arg) - return 1; - - p = strchr (arg, (int)'='); - - if (!p) - return 1; - - *value = xstrdup (++p); - - len = strlen (arg) - strlen (*value); - *name = XMALLOC (char, len); - strncpy (*name, arg, len-1); - (*name)[len - 1] = '\0'; - - return 0; -} - -void -lt_opt_process_env_set (const char *arg) -{ - char *name = NULL; - char *value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); - } - - lt_setenv (name, value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_prepend (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_append (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 1); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - - -EOF -} -# end: func_emit_cwrapperexe_src - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs="$weak_libs $arg" - prev= - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname '-L' '' "$arg" - dir=$func_stripname_result - if test -z "$dir"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" - linker_flags="$linker_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_duplicate_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - case $lib in - *.la) func_source "$lib" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs="$deplibs $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - dir=$func_stripname_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $ECHO - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because the file extensions .$libext of this argument makes me believe" - $ECHO "*** that it is just a static archive that I should not use here." - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath="$temp_rpath$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - $ECHO - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $ECHO - $ECHO "*** And there doesn't seem to be a static archive available" - $ECHO "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $ECHO - $ECHO "*** Warning: This system can not link to static lib archive $lib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $ECHO "*** But as you try to build a module library, libtool will still create " - $ECHO "*** a static module, that should work as long as the dlopening application" - $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_dirname "$deplib" "" "." - dir="$func_dirname_result" - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs="$libobjs $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` - # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` - # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ - -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` - done - fi - if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | - $GREP . >/dev/null; then - $ECHO - if test "X$deplibs_check_method" = "Xnone"; then - $ECHO "*** Warning: inter-library dependencies are not supported in this platform." - else - $ECHO "*** Warning: inter-library dependencies are not known to be supported." - fi - $ECHO "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $ECHO - $ECHO "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - $ECHO "*** a static module, that should work as long as the dlopening" - $ECHO "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $ECHO "*** The inter-library dependencies that have been dropped here will be" - $ECHO "*** automatically added whenever a program is linked with this library" - $ECHO "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $ECHO - $ECHO "*** Since this library must not contain undefined symbols," - $ECHO "*** because either the platform does not support them or" - $ECHO "*** it was explicitly requested with -no-undefined," - $ECHO "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles="$delfiles $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - func_len " $cmd" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$ECHO "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - $ECHO 'INPUT (' > $output - for obj in $save_libobjs - do - $ECHO "$obj" >> $output - done - $ECHO ')' >> $output - delfiles="$delfiles $output" - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - $ECHO "$obj" >> $output - done - delfiles="$delfiles $output" - output=$firstobj\"$file_list_spec$output\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - delfiles="$delfiles $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *cegcc) - # Disable wrappers for cegcc, we are cross compiling anyway. - wrappers_required=no - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $ECHO for shipping. - if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs="$oldobjs $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $ECHO "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles="$newdlfiles $libdir/$name" - ;; - *) newdlfiles="$newdlfiles $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles="$newdlprefiles $libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$mode" = link || test "$mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) RM="$RM $arg"; rmforce=yes ;; - -*) RM="$RM $arg" ;; - *) files="$files $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles="$rmfiles $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$mode" = uninstall || test "$mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff -Nru gnutls26-2.8.6/libextra/build-aux/missing gnutls26-2.4.1/libextra/build-aux/missing --- gnutls26-2.8.6/libextra/build-aux/missing 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/build-aux/missing 1970-01-01 01:00:00.000000000 +0100 @@ -1,376 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 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, see . - -# 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=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# 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 - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -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' - autom4te touch the output file, or create a stub one - 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] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - 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' $msg. 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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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 "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. 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." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # 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 is $msg. - 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 prerequisites 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 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru gnutls26-2.8.6/libextra/config.h.in gnutls26-2.4.1/libextra/config.h.in --- gnutls26-2.8.6/libextra/config.h.in 2010-03-15 10:28:58.000000000 +0000 +++ gnutls26-2.4.1/libextra/config.h.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,211 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* C99 macros are supported */ -#undef C99_MACROS - -/* enable anonymous authentication */ -#undef ENABLE_ANON - -/* enable camellia block cipher */ -#undef ENABLE_CAMELLIA - -/* use openpgp authentication */ -#undef ENABLE_OPENPGP - -/* enable Opaque PRF Input */ -#undef ENABLE_OPRFI - -/* whether to include all the PKCS/PKI stuff */ -#undef ENABLE_PKI - -/* enable PSK authentication */ -#undef ENABLE_PSK - -/* enable SRP authentication */ -#undef ENABLE_SRP - -/* Additional cast to bring void* to a type castable to int. */ -#undef GNUTLS_POINTER_TO_INT_CAST - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the lib[]gcrypt library. */ -#undef HAVE_LIBGCRYPT - -/* Define if you have the lib[]tasn1 library. */ -#undef HAVE_LIBTASN1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_LZO1X_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LZO_LZO1X_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_SOCKET_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 - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINSOCK2_H - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* 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 home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `void *', as computed by sizeof. */ -#undef SIZEOF_VOID_P - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* whether to use the LZO compression */ -#undef USE_LZO - -/* Version number of package */ -#undef VERSION - -/* Define if WSAStartup is needed. */ -#undef WINDOWS_SOCKETS - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to 500 only on HP-UX. */ -#undef _XOPEN_SOURCE - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -#endif - -/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif - diff -Nru gnutls26-2.8.6/libextra/configure gnutls26-2.4.1/libextra/configure --- gnutls26-2.8.6/libextra/configure 2010-03-15 10:28:58.000000000 +0000 +++ gnutls26-2.4.1/libextra/configure 1970-01-01 01:00:00.000000000 +0100 @@ -1,16296 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for libgnutls-extra 2.8.6. -# -# Report bugs to . -# -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 -IFS=$as_save_IFS - - ;; -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 - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-gnutls@gnu.org -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; 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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# 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 - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_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 sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval 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="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -$* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -test -n "$DJDIR" || exec 7<&0 &1 - -# 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` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='libgnutls-extra' -PACKAGE_TARNAME='libgnutls-extra' -PACKAGE_VERSION='2.8.6' -PACKAGE_STRING='libgnutls-extra 2.8.6' -PACKAGE_BUGREPORT='bug-gnutls@gnu.org' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_list= -ac_subst_vars='xgltests_LTLIBOBJS -xgltests_LIBOBJS -xgl_LTLIBOBJS -xgl_LIBOBJS -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -WERROR_CFLAGS -WARN_CFLAGS -LIBGNUTLS_EXTRA_CFLAGS -LIBGNUTLS_EXTRA_LIBS -HAVE_LD_VERSION_SCRIPT_FALSE -HAVE_LD_VERSION_SCRIPT_TRUE -HAVE_LD_OUTPUT_DEF_FALSE -HAVE_LD_OUTPUT_DEF_TRUE -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -LIBSOCKET -HAVE_WINSOCK2_H -UNISTD_H_HAVE_WINSOCK2_H -REPLACE_WRITE -REPLACE_LSEEK -REPLACE_LCHOWN -REPLACE_GETPAGESIZE -REPLACE_GETCWD -REPLACE_FCHDIR -REPLACE_CLOSE -REPLACE_CHOWN -HAVE_SYS_PARAM_H -HAVE_OS_H -HAVE_DECL_GETLOGIN_R -HAVE_DECL_ENVIRON -HAVE_SLEEP -HAVE_READLINK -HAVE_LINK -HAVE_GETUSERSHELL -HAVE_GETPAGESIZE -HAVE_GETHOSTNAME -HAVE_GETDTABLESIZE -HAVE_GETDOMAINNAME -HAVE_FTRUNCATE -HAVE_FSYNC -HAVE_EUIDACCESS -HAVE_DUP2 -GNULIB_WRITE -GNULIB_UNISTD_H_SIGPIPE -GNULIB_SLEEP -GNULIB_READLINK -GNULIB_LSEEK -GNULIB_LINK -GNULIB_LCHOWN -GNULIB_GETUSERSHELL -GNULIB_GETPAGESIZE -GNULIB_GETLOGIN_R -GNULIB_GETHOSTNAME -GNULIB_GETDTABLESIZE -GNULIB_GETDOMAINNAME -GNULIB_GETCWD -GNULIB_FTRUNCATE -GNULIB_FSYNC -GNULIB_FCHDIR -GNULIB_EUIDACCESS -GNULIB_ENVIRON -GNULIB_DUP2 -GNULIB_CLOSE -GNULIB_CHOWN -ENABLE_OPENSSL_FALSE -ENABLE_OPENSSL_TRUE -ENABLE_OPENPGP_FALSE -ENABLE_OPENPGP_TRUE -ENABLE_PKI_FALSE -ENABLE_PKI_TRUE -ENABLE_ANON_FALSE -ENABLE_ANON_TRUE -ENABLE_PSK_FALSE -ENABLE_PSK_TRUE -ENABLE_SRP_FALSE -ENABLE_SRP_TRUE -ENABLE_OPRFI_FALSE -ENABLE_OPRFI_TRUE -USE_LZO_FALSE -USE_LZO_TRUE -LZO_LIBS -ENABLE_MINITASN1_FALSE -ENABLE_MINITASN1_TRUE -LIBTASN1_PREFIX -LTLIBTASN1 -LIBTASN1 -HAVE_LIBTASN1 -LIBGCRYPT_PREFIX -LTLIBGCRYPT -LIBGCRYPT -HAVE_LIBGCRYPT -DLL_VERSION -LT_AGE -LT_REVISION -LT_CURRENT -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -lt_ECHO -AR -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -EGREP -GREP -CPP -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -RANLIB -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_gnu_ld -enable_libtool_lock -enable_rpath -with_libgcrypt_prefix -with_included_libtasn1 -with_libtasn1_prefix -with_lzo -enable_opaque_prf_input -enable_srp_authentication -enable_psk_authentication -enable_anon_authentication -enable_camellia -enable_extra_pki -enable_openpgp_authentication -enable_openssl_compatibility -enable_ld_version_script -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# 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. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -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 - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -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) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$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 ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$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 ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - 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 ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=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 ;; - - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_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'` - as_fn_error "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" -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 - $as_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 - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" - - -# 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 the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - 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 - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# 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 libgnutls-extra 2.8.6 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 \`..'] - -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] - --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] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libgnutls-extra] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_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 - case $ac_init_help in - short | recursive ) echo "Configuration of libgnutls-extra 2.8.6:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-rpath do not hardcode runtime library paths - --enable-opaque-prf-input=DD - enable Opaque PRF input using DD as extension type - --disable-srp-authentication - disable the SRP authentication support - --disable-psk-authentication - disable the PSK authentication support - --disable-anon-authentication - disable the anonymous authentication support - --disable-camellia disable Camellia cipher - --disable-extra-pki only enable the basic PKI stuff - --disable-openpgp-authentication - disable the OpenPGP authentication support - --disable-openssl-compatibility - disable the OpenSSL compatibility support - --enable-ld-version-script - enable linker version script (default is enabled - when possible) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libgcrypt-prefix[=DIR] search for libgcrypt in DIR/include and DIR/lib - --without-libgcrypt-prefix don't search for libgcrypt in includedir and libdir - --with-included-libtasn1 - use the included libtasn1 - --with-libtasn1-prefix[=DIR] search for libtasn1 in DIR/include and DIR/lib - --without-libtasn1-prefix don't search for libtasn1 in includedir and libdir - --with-lzo use experimental LZO compression - -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 - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) 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. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested 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 - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -libgnutls-extra configure 2.8.6 -generated by GNU Autoconf 2.65 - -Copyright (C) 2009 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 -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## --------------------------------- ## -## Report this to bug-gnutls@gnu.org ## -## --------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* 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_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_func - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libgnutls-extra $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -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` -/usr/bin/hostinfo = `(/usr/bin/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=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&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_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=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append 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 - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset 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: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -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, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > 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 - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -as_fn_append ac_header_list " sys/socket.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; 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,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_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 - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -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 - - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done -done -if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - - -am__api_version='1.11' - -# 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" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : - $as_echo_n "(cached) " >&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/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -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. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$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' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac - -# 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". - as_fn_error "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "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 $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -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='libgnutls-extra' - VERSION='2.8.6' - - -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"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - -ac_config_headers="$ac_config_headers config.h" - - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -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 -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -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 -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-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 - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&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 - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - 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 - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # 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. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - 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 - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj 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 - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$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 - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&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 : - $as_echo_n "(cached) " >&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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # 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 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } -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 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# 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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - case "$host_os" in - hpux*) - -$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h - - ;; - esac - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - - - - - - - - - - - -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DLLTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.2.6b' -macro_revision='1.3017' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - 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_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" - 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5530: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:5533: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:5536: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru - - - - - - - - - - - -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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - - - - - - - - - - - - - - - - - - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 6738 "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - 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 - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext 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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - -# Set options - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - - - - - - - - - - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -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 - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7998: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8002: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } - - - - - - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8337: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8341: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8442: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:8446: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8497: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:8501: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo(void) {} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 10881 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 10977 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -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 - -CC="$lt_save_CC" - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${acl_cv_path_LD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if test "${gl_cv_solaris_64bit+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - # Library code modified: REVISION++ - # Interfaces changed/added/removed: CURRENT++ REVISION=0 - # Interfaces added: AGE++ - # Interfaces removed: AGE=0 - LT_CURRENT=40 - - LT_REVISION=12 - - LT_AGE=14 - - - # Used when creating the Windows libgnutls-XX.def files. - DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` - - - - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libgcrypt-prefix was given. -if test "${with_libgcrypt_prefix+set}" = set; then : - withval=$with_libgcrypt_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBGCRYPT= - LTLIBGCRYPT= - INCGCRYPT= - LIBGCRYPT_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='gcrypt gpg-error' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_so" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$found_a" - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'gcrypt'; then - LIBGCRYPT_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'gcrypt'; then - LIBGCRYPT_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCGCRYPT="${INCGCRYPT}${INCGCRYPT:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBGCRYPT; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$dep" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }$dep" - ;; - esac - done - fi - else - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }-l$name" - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGCRYPT="${LIBGCRYPT}${LIBGCRYPT:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBGCRYPT="${LTLIBGCRYPT}${LTLIBGCRYPT:+ }-R$found_dir" - done - fi - - - - - - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCGCRYPT; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcrypt" >&5 -$as_echo_n "checking for libgcrypt... " >&6; } -if test "${ac_cv_libgcrypt+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBGCRYPT" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libgcrypt=yes -else - ac_cv_libgcrypt='no' -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgcrypt" >&5 -$as_echo "$ac_cv_libgcrypt" >&6; } - if test "$ac_cv_libgcrypt" = yes; then - HAVE_LIBGCRYPT=yes - -$as_echo "#define HAVE_LIBGCRYPT 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgcrypt" >&5 -$as_echo_n "checking how to link with libgcrypt... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGCRYPT" >&5 -$as_echo "$LIBGCRYPT" >&6; } - else - HAVE_LIBGCRYPT=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBGCRYPT= - LTLIBGCRYPT= - LIBGCRYPT_PREFIX= - fi - - - - - - - - if test "$ac_cv_libgcrypt" != yes; then - as_fn_error " -*** -*** libgcrypt was not found. You may want to get it from -*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ -*** - " "$LINENO" 5 - fi - - -# Check whether --with-included-libtasn1 was given. -if test "${with_included_libtasn1+set}" = set; then : - withval=$with_included_libtasn1; included_libtasn1=$withval -else - included_libtasn1=no -fi - - if test "$included_libtasn1" = "no"; then - - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libtasn1-prefix was given. -if test "${with_libtasn1_prefix+set}" = set; then : - withval=$with_libtasn1_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBTASN1= - LTLIBTASN1= - INCTASN1= - LIBTASN1_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='tasn1 ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_so" - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$found_a" - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'tasn1'; then - LIBTASN1_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'tasn1'; then - LIBTASN1_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCTASN1="${INCTASN1}${INCTASN1:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBTASN1; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$dep" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }$dep" - ;; - esac - done - fi - else - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }-l$name" - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBTASN1="${LIBTASN1}${LIBTASN1:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBTASN1="${LTLIBTASN1}${LTLIBTASN1:+ }-R$found_dir" - done - fi - - - - - - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCTASN1; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libtasn1" >&5 -$as_echo_n "checking for libtasn1... " >&6; } -if test "${ac_cv_libtasn1+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBTASN1" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -asn1_check_version (NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libtasn1=yes -else - ac_cv_libtasn1='no' -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libtasn1" >&5 -$as_echo "$ac_cv_libtasn1" >&6; } - if test "$ac_cv_libtasn1" = yes; then - HAVE_LIBTASN1=yes - -$as_echo "#define HAVE_LIBTASN1 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libtasn1" >&5 -$as_echo_n "checking how to link with libtasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBTASN1" >&5 -$as_echo "$LIBTASN1" >&6; } - else - HAVE_LIBTASN1=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBTASN1= - LTLIBTASN1= - LIBTASN1_PREFIX= - fi - - - - - - - - if test "$ac_cv_libtasn1" != yes; then - included_libtasn1=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&5 -$as_echo "$as_me: WARNING: - *** - *** Libtasn1 was not found. Will use the included one. - " >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the included minitasn1" >&5 -$as_echo_n "checking whether to use the included minitasn1... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $included_libtasn1" >&5 -$as_echo "$included_libtasn1" >&6; } - if test "$included_libtasn1" = "yes"; then - ENABLE_MINITASN1_TRUE= - ENABLE_MINITASN1_FALSE='#' -else - ENABLE_MINITASN1_TRUE='#' - ENABLE_MINITASN1_FALSE= -fi - - - -# Check whether --with-lzo was given. -if test "${with_lzo+set}" = set; then : - withval=$with_lzo; use_lzo=$withval -else - use_lzo=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include LZO compression support" >&5 -$as_echo_n "checking whether to include LZO compression support... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_lzo" >&5 -$as_echo "$use_lzo" >&6; } - LZO_LIBS= - if test "$use_lzo" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo2" >&5 -$as_echo_n "checking for lzo1x_1_compress in -llzo2... " >&6; } -if test "${ac_cv_lib_lzo2_lzo1x_1_compress+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llzo2 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char lzo1x_1_compress (); -int -main () -{ -return lzo1x_1_compress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lzo2_lzo1x_1_compress=yes -else - ac_cv_lib_lzo2_lzo1x_1_compress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_1_compress" >&5 -$as_echo "$ac_cv_lib_lzo2_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo2_lzo1x_1_compress" = x""yes; then : - LZO_LIBS=-llzo2 -fi - - if test "$LZO_LIBS" = ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_compress in -llzo" >&5 -$as_echo_n "checking for lzo1x_1_compress in -llzo... " >&6; } -if test "${ac_cv_lib_lzo_lzo1x_1_compress+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llzo $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char lzo1x_1_compress (); -int -main () -{ -return lzo1x_1_compress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lzo_lzo1x_1_compress=yes -else - ac_cv_lib_lzo_lzo1x_1_compress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo_lzo1x_1_compress" >&5 -$as_echo "$ac_cv_lib_lzo_lzo1x_1_compress" >&6; } -if test "x$ac_cv_lib_lzo_lzo1x_1_compress" = x""yes; then : - LZO_LIBS=-llzo -else - - use_lzo=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&5 -$as_echo "$as_me: WARNING: *** - *** Could not find liblzo or liblzo2. Disabling LZO compression. - " >&2;} - -fi - - fi - fi - - if test "$use_lzo" = "yes"; then - -$as_echo "#define USE_LZO 1" >>confdefs.h - - if test "$LZO_LIBS" = "-llzo"; then - for ac_header in lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo1x.h" "ac_cv_header_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo1x_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LZO1X_H 1 -_ACEOF - -fi - -done - - elif test "$LZO_LIBS" = "-llzo2"; then - for ac_header in lzo/lzo1x.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lzo/lzo1x.h" "ac_cv_header_lzo_lzo1x_h" "$ac_includes_default" -if test "x$ac_cv_header_lzo_lzo1x_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LZO_LZO1X_H 1 -_ACEOF - -fi - -done - - fi - fi - if test "$use_lzo" = "yes"; then - USE_LZO_TRUE= - USE_LZO_FALSE='#' -else - USE_LZO_TRUE='#' - USE_LZO_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C99 macros are supported" >&5 -$as_echo_n "checking whether C99 macros are supported... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - #define test_mac(...) - int z,y,x; - test_mac(x,y,z); - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - -$as_echo "#define C99_MACROS 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C99 macros not supported. This may affect compiling." >&5 -$as_echo "$as_me: WARNING: C99 macros not supported. This may affect compiling." >&2;} - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Opaque PRF input support" >&5 -$as_echo_n "checking whether to enable Opaque PRF input support... " >&6; } - # Check whether --enable-opaque-prf-input was given. -if test "${enable_opaque_prf_input+set}" = set; then : - enableval=$enable_opaque_prf_input; ac_opaque_prf_input=$enableval -else - ac_opaque_prf_input=no -fi - - if test "$ac_opaque_prf_input" != "no"; then - if ! echo $ac_opaque_prf_input | egrep -q '^[0-9]+$'; then - ac_opaque_prf_input=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&5 -$as_echo "$as_me: WARNING: - *** Could not parse Opaque PRF Input extension type. - *** Use --enable-opaque-prf-input=XX where XX is decimal, for example - *** to use extension value 42 use --enable-opqaue-prf-input=42" >&2;} - fi - fi - if test "$ac_opaque_prf_input" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (extension value $ac_opaque_prf_input)" >&5 -$as_echo "yes (extension value $ac_opaque_prf_input)" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ENABLE_OPRFI $ac_opaque_prf_input -_ACEOF - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_opaque_prf_input" != "no"; then - ENABLE_OPRFI_TRUE= - ENABLE_OPRFI_FALSE='#' -else - ENABLE_OPRFI_TRUE='#' - ENABLE_OPRFI_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable SRP authentication support" >&5 -$as_echo_n "checking whether to disable SRP authentication support... " >&6; } - # Check whether --enable-srp-authentication was given. -if test "${enable_srp_authentication+set}" = set; then : - enableval=$enable_srp_authentication; ac_enable_srp=no -fi - - if test x$ac_enable_srp != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_SRP 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_srp" != "no"; then - ENABLE_SRP_TRUE= - ENABLE_SRP_FALSE='#' -else - ENABLE_SRP_TRUE='#' - ENABLE_SRP_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable PSK authentication support" >&5 -$as_echo_n "checking whether to disable PSK authentication support... " >&6; } - # Check whether --enable-psk-authentication was given. -if test "${enable_psk_authentication+set}" = set; then : - enableval=$enable_psk_authentication; ac_enable_psk=no -fi - - if test x$ac_enable_psk != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_PSK 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_psk" != "no"; then - ENABLE_PSK_TRUE= - ENABLE_PSK_FALSE='#' -else - ENABLE_PSK_TRUE='#' - ENABLE_PSK_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable anonymous authentication support" >&5 -$as_echo_n "checking whether to disable anonymous authentication support... " >&6; } - # Check whether --enable-anon-authentication was given. -if test "${enable_anon_authentication+set}" = set; then : - enableval=$enable_anon_authentication; ac_enable_anon=no -fi - - if test x$ac_enable_anon != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_ANON 1" >>confdefs.h - - else - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - if test "$ac_enable_anon" != "no"; then - ENABLE_ANON_TRUE= - ENABLE_ANON_FALSE='#' -else - ENABLE_ANON_TRUE='#' - ENABLE_ANON_FALSE= -fi - - - # Allow disabling Camellia - # Check whether --enable-camellia was given. -if test "${enable_camellia+set}" = set; then : - enableval=$enable_camellia; enable_camellia=$enableval -else - enable_camellia=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable Camellia cipher" >&5 -$as_echo_n "checking whether to disable Camellia cipher... " >&6; } - if test "$enable_camellia" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_CAMELLIA 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable extra PKI stuff" >&5 -$as_echo_n "checking whether to disable extra PKI stuff... " >&6; } - # Check whether --enable-extra-pki was given. -if test "${enable_extra_pki+set}" = set; then : - enableval=$enable_extra_pki; enable_pki=$enableval -else - enable_pki=yes -fi - - if test "$enable_pki" != "yes"; then - ac_full=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define ENABLE_PKI 1" >>confdefs.h - - fi - if test "$enable_pki" = "yes"; then - ENABLE_PKI_TRUE= - ENABLE_PKI_FALSE='#' -else - ENABLE_PKI_TRUE='#' - ENABLE_PKI_FALSE= -fi - - - ac_enable_openpgp=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenPGP Certificate authentication support" >&5 -$as_echo_n "checking whether to disable OpenPGP Certificate authentication support... " >&6; } - # Check whether --enable-openpgp-authentication was given. -if test "${enable_openpgp_authentication+set}" = set; then : - enableval=$enable_openpgp_authentication; ac_enable_openpgp=no -fi - - if test x$ac_enable_openpgp = xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ac_full=0 - else - -$as_echo "#define ENABLE_OPENPGP 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - if test "$ac_enable_openpgp" = "yes"; then - ENABLE_OPENPGP_TRUE= - ENABLE_OPENPGP_FALSE='#' -else - ENABLE_OPENPGP_TRUE='#' - ENABLE_OPENPGP_FALSE= -fi - - - # For storing integers in pointers without warnings - # http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (void *) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_long=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (int) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF - - - case $ac_cv_sizeof_void_p in - $ac_cv_sizeof_long) - -$as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long)" >>confdefs.h - - ;; - *) - $as_echo "#define GNUTLS_POINTER_TO_INT_CAST /**/" >>confdefs.h - - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - - GNULIB_CHOWN=0; - GNULIB_CLOSE=0; - GNULIB_DUP2=0; - GNULIB_ENVIRON=0; - GNULIB_EUIDACCESS=0; - GNULIB_FCHDIR=0; - GNULIB_FSYNC=0; - GNULIB_FTRUNCATE=0; - GNULIB_GETCWD=0; - GNULIB_GETDOMAINNAME=0; - GNULIB_GETDTABLESIZE=0; - GNULIB_GETHOSTNAME=0; - GNULIB_GETLOGIN_R=0; - GNULIB_GETPAGESIZE=0; - GNULIB_GETUSERSHELL=0; - GNULIB_LCHOWN=0; - GNULIB_LINK=0; - GNULIB_LSEEK=0; - GNULIB_READLINK=0; - GNULIB_SLEEP=0; - GNULIB_UNISTD_H_SIGPIPE=0; - GNULIB_WRITE=0; - HAVE_DUP2=1; - HAVE_EUIDACCESS=1; - HAVE_FSYNC=1; - HAVE_FTRUNCATE=1; - HAVE_GETDOMAINNAME=1; - HAVE_GETDTABLESIZE=1; - HAVE_GETHOSTNAME=1; - HAVE_GETPAGESIZE=1; - HAVE_GETUSERSHELL=1; - HAVE_LINK=1; - HAVE_READLINK=1; - HAVE_SLEEP=1; - HAVE_DECL_ENVIRON=1; - HAVE_DECL_GETLOGIN_R=1; - HAVE_OS_H=0; - HAVE_SYS_PARAM_H=0; - REPLACE_CHOWN=0; - REPLACE_CLOSE=0; - REPLACE_FCHDIR=0; - REPLACE_GETCWD=0; - REPLACE_GETPAGESIZE=0; - REPLACE_LCHOWN=0; - REPLACE_LSEEK=0; - REPLACE_WRITE=0; - UNISTD_H_HAVE_WINSOCK2_H=0; - - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenSSL compatibility layer" >&5 -$as_echo_n "checking whether to disable OpenSSL compatibility layer... " >&6; } - # Check whether --enable-openssl-compatibility was given. -if test "${enable_openssl_compatibility+set}" = set; then : - enableval=$enable_openssl_compatibility; enable_openssl=$withval -else - enable_openssl=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_openssl" >&5 -$as_echo "$enable_openssl" >&6; } - if test "$enable_openssl" = "yes"; then - ENABLE_OPENSSL_TRUE= - ENABLE_OPENSSL_FALSE='#' -else - ENABLE_OPENSSL_TRUE='#' - ENABLE_OPENSSL_FALSE= -fi - - - # We link to ../lib's gnulib, which needs -lws2_32 via LIBSOCKET in Makefile.am. - - - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } -if test "${gl_cv_func_wsastartup+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -# include -#endif -int -main () -{ - - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_wsastartup=yes -else - gl_cv_func_wsastartup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 -$as_echo "$gl_cv_func_wsastartup" >&6; } - if test "$gl_cv_func_wsastartup" = "yes"; then - -$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h - - LIBSOCKET='-lws2_32' - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${gl_cv_lib_socket+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - gl_cv_lib_socket= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lsocket" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnetwork" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnet" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - fi - LIBS="$gl_save_LIBS" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 -$as_echo "$gl_cv_lib_socket" >&6; } - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi - - - : - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if test "${ac_cv_c_restrict+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } -int -main () -{ -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } - - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=true - - - - - - - - - - gl_source_base='gl' - - - - - - - - - - xgl_LIBOBJS="$xgl_LIBOBJS hmac-md5.$ac_objext" - - - - - - - - - - - - xgl_LIBOBJS="$xgl_LIBOBJS md5.$ac_objext" - - - - - : - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5 -$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; } -if test "${gl_cv_ld_output_def+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_ld_output_def=yes -else - gl_cv_ld_output_def=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5 -$as_echo "$gl_cv_ld_output_def" >&6; } - if test "x$gl_cv_ld_output_def" = "xyes"; then - HAVE_LD_OUTPUT_DEF_TRUE= - HAVE_LD_OUTPUT_DEF_FALSE='#' -else - HAVE_LD_OUTPUT_DEF_TRUE='#' - HAVE_LD_OUTPUT_DEF_FALSE= -fi - - - - # Check whether --enable-ld-version-script was given. -if test "${enable_ld_version_script+set}" = set; then : - enableval=$enable_ld_version_script; have_ld_version_script=$enableval -fi - - if test -z "$have_ld_version_script"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5 -$as_echo_n "checking if LD -Wl,--version-script works... " >&6; } - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map <conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - have_ld_version_script=yes -else - have_ld_version_script=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.map - LDFLAGS="$save_LDFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5 -$as_echo "$have_ld_version_script" >&6; } - fi - if test "$have_ld_version_script" = "yes"; then - HAVE_LD_VERSION_SCRIPT_TRUE= - HAVE_LD_VERSION_SCRIPT_FALSE='#' -else - HAVE_LD_VERSION_SCRIPT_TRUE='#' - HAVE_LD_VERSION_SCRIPT_FALSE= -fi - - - - - - - - - - - - xgl_LIBOBJS="$xgl_LIBOBJS memxor.$ac_objext" - - - - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - gl_source_base='gl/tests' - - - - - - - - - -LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS" -LIBGNUTLS_EXTRA_CFLAGS="-I${includedir}" - - - -# Finish things from ../configure.ac. - - - -ac_config_files="$ac_config_files Makefile gnutls-extra.pc gl/Makefile includes/Makefile" - -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, we kill variables containing newlines. -# 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. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - 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" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - 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}' - -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_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_MINITASN1_TRUE}" && test -z "${ENABLE_MINITASN1_FALSE}"; then - as_fn_error "conditional \"ENABLE_MINITASN1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_LZO_TRUE}" && test -z "${USE_LZO_FALSE}"; then - as_fn_error "conditional \"USE_LZO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPRFI_TRUE}" && test -z "${ENABLE_OPRFI_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPRFI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_SRP_TRUE}" && test -z "${ENABLE_SRP_FALSE}"; then - as_fn_error "conditional \"ENABLE_SRP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PSK_TRUE}" && test -z "${ENABLE_PSK_FALSE}"; then - as_fn_error "conditional \"ENABLE_PSK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_ANON_TRUE}" && test -z "${ENABLE_ANON_FALSE}"; then - as_fn_error "conditional \"ENABLE_ANON\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_PKI_TRUE}" && test -z "${ENABLE_PKI_FALSE}"; then - as_fn_error "conditional \"ENABLE_PKI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPENPGP_TRUE}" && test -z "${ENABLE_OPENPGP_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPENPGP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_OPENSSL_TRUE}" && test -z "${ENABLE_OPENSSL_FALSE}"; then - as_fn_error "conditional \"ENABLE_OPENSSL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then - as_fn_error "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then - as_fn_error "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - - xgl_libobjs= - xgl_ltlibobjs= - if test -n "$xgl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $xgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - xgl_libobjs="$xgl_libobjs $i.$ac_objext" - xgl_ltlibobjs="$xgl_ltlibobjs $i.lo" - done - fi - xgl_LIBOBJS=$xgl_libobjs - - xgl_LTLIBOBJS=$xgl_ltlibobjs - - - - xgltests_libobjs= - xgltests_ltlibobjs= - if test -n "$xgltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $xgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - xgltests_libobjs="$xgltests_libobjs $i.$ac_objext" - xgltests_ltlibobjs="$xgltests_ltlibobjs $i.lo" - done - fi - xgltests_LIBOBJS=$xgltests_libobjs - - xgltests_LTLIBOBJS=$xgltests_ltlibobjs - - - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $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} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 -IFS=$as_save_IFS - - ;; -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 - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; 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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# 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 - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval 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="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libgnutls-extra $as_me 2.8.6, which was -generated by GNU Autoconf 2.65. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - 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_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -libgnutls-extra config.status 2.8.6 -configured by $0, generated by GNU Autoconf 2.65, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2009 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -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 - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - 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 || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "gnutls-extra.pc") CONFIG_FILES="$CONFIG_FILES gnutls-extra.pc" ;; - "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;; - "includes/Makefile") CONFIG_FILES="$CONFIG_FILES includes/Makefile" ;; - - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - 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 against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# 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 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #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. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # 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. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;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&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - 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. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_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 - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. 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 " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/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_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Assembler program. -AS=$AS - -# DLL creation program. -DLLTOOL=$DLLTOOL - -# Object dumper program. -OBJDUMP=$OBJDUMP - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} - -_LT_EOF - ;; - esac - - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# 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 || as_fn_exit $? -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff -Nru gnutls26-2.8.6/libextra/configure.ac gnutls26-2.4.1/libextra/configure.ac --- gnutls26-2.8.6/libextra/configure.ac 2009-11-02 12:08:12.000000000 +0000 +++ gnutls26-2.4.1/libextra/configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. -# -# Author: Nikos Mavrogiannopoulos, Simon Josefsson -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -AC_PREREQ(2.61) -AC_INIT([libgnutls-extra], [2.8.6], [bug-gnutls@gnu.org]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) - -AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override]) -AM_CONFIG_HEADER(config.h) - -AC_PROG_CC -xgl_EARLY - -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL - -LIBGNUTLS_HOOKS -LIBGNUTLS_EXTRA_HOOKS - -xgl_INIT - -LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS" -LIBGNUTLS_EXTRA_CFLAGS="-I${includedir}" -AC_SUBST(LIBGNUTLS_EXTRA_LIBS) -AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) - -# Finish things from ../configure.ac. -AC_SUBST([WARN_CFLAGS]) -AC_SUBST([WERROR_CFLAGS]) - -AC_CONFIG_FILES([ - Makefile - gnutls-extra.pc - gl/Makefile - includes/Makefile -]) -AC_OUTPUT diff -Nru gnutls26-2.8.6/libextra/COPYING gnutls26-2.4.1/libextra/COPYING --- gnutls26-2.8.6/libextra/COPYING 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/COPYING 1970-01-01 01:00:00.000000000 +0100 @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. 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 -them 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 prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. 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. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey 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; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If 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 convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU 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 that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - 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. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -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. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - 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 -state 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 3 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, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program 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, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU 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 Lesser General -Public License instead of this License. But first, please read -. diff -Nru gnutls26-2.8.6/libextra/ext_inner_application.c gnutls26-2.4.1/libextra/ext_inner_application.c --- gnutls26-2.8.6/libextra/ext_inner_application.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/ext_inner_application.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,147 +0,0 @@ -/* - * Copyright (C) 2005, 2006, 2008 Free Software Foundation - * - * Author: Simon Josefsson - * - * This file is part of GNUTLS-EXTRA. - * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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, see - * . - * - */ - -#include "gnutls_int.h" -#include "gnutls_auth.h" -#include "gnutls_errors.h" -#include "gnutls_num.h" -#include "ext_inner_application.h" -#include - -#define NO 0 -#define YES 1 - -int -_gnutls_inner_application_recv_params (gnutls_session_t session, - const opaque * data, size_t data_size) -{ - tls_ext_st *ext = &session->security_parameters.extensions; - - if (data_size != 1) - { - gnutls_assert (); - return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; - } - - ext->gnutls_ia_peer_enable = 1; - ext->gnutls_ia_peer_allowskip = 0; - - switch ((unsigned char) *data) - { - case NO: /* Peer's ia_on_resume == no */ - ext->gnutls_ia_peer_allowskip = 1; - break; - - case YES: - break; - - default: - gnutls_assert (); - } - - return 0; -} - - -/* returns data_size or a negative number on failure - */ -int -_gnutls_inner_application_send_params (gnutls_session_t session, - opaque * data, size_t data_size) -{ - tls_ext_st *ext = &session->security_parameters.extensions; - - /* Set ext->gnutls_ia_enable depending on whether we have a TLS/IA - credential in the session. */ - - if (session->security_parameters.entity == GNUTLS_CLIENT) - { - gnutls_ia_client_credentials_t cred = (gnutls_ia_client_credentials_t) - _gnutls_get_cred (session->key, GNUTLS_CRD_IA, NULL); - - if (cred) - ext->gnutls_ia_enable = 1; - } - else - { - gnutls_ia_server_credentials_t cred = (gnutls_ia_server_credentials_t) - _gnutls_get_cred (session->key, GNUTLS_CRD_IA, NULL); - - if (cred) - ext->gnutls_ia_enable = 1; - } - - /* If we don't want gnutls_ia locally, or we are a server and the - * client doesn't want it, don't advertise TLS/IA support at all, as - * required. */ - - if (!ext->gnutls_ia_enable) - return 0; - - if (session->security_parameters.entity == GNUTLS_SERVER && - !ext->gnutls_ia_peer_enable) - return 0; - - /* We'll advertise. Check if there's room in the hello buffer. */ - - if (data_size < 1) - { - gnutls_assert (); - return GNUTLS_E_SHORT_MEMORY_BUFFER; - } - - /* default: require new application phase */ - - *data = YES; - - if (session->security_parameters.entity == GNUTLS_CLIENT) - { - - /* Client: value follows local setting */ - - if (ext->gnutls_ia_allowskip) - *data = NO; - } - else - { - - /* Server: value follows local setting and client's setting, but only - * if we are resuming. - * - * XXX Can server test for resumption at this stage? - * - * Ai! It seems that read_client_hello only calls parse_extensions if - * we're NOT resuming! That would make us automatically violate the IA - * draft; if we're resuming, we must first learn what the client wants - * -- IA or no IA -- and then prepare our response. Right now we'll - * always skip IA on resumption, because recv_ext isn't even called - * to record the peer's support for IA at all. Simon? */ - - if (ext->gnutls_ia_allowskip && - ext->gnutls_ia_peer_allowskip && - session->internals.resumed == RESUME_TRUE) - *data = NO; - } - - return 1; -} diff -Nru gnutls26-2.8.6/libextra/ext_inner_application.h gnutls26-2.4.1/libextra/ext_inner_application.h --- gnutls26-2.8.6/libextra/ext_inner_application.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/ext_inner_application.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2005, 2008 Free Software Foundation - * - * Author: Simon Josefsson - * - * This file is part of GNUTLS-EXTRA. - * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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, see - * . - * - */ - -int _gnutls_inner_application_recv_params (gnutls_session_t session, - const opaque * data, - size_t data_size); -int _gnutls_inner_application_send_params (gnutls_session_t session, - opaque * data, size_t); diff -Nru gnutls26-2.8.6/libextra/fipsmd5.c gnutls26-2.4.1/libextra/fipsmd5.c --- gnutls26-2.8.6/libextra/fipsmd5.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/fipsmd5.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,242 +0,0 @@ -/* - * Copyright (C) 2008 Free Software Foundation - * - * Author: Simon Josefsson - * - * This file is part of GNUTLS-EXTRA. - * - * 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 3 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, see . - * - */ - -#include -#include -#include - -#include -#include - -static int -md5init (void **ctx) -{ - *ctx = gnutls_malloc (sizeof (struct md5_ctx)); - if (!*ctx) - return GNUTLS_E_MEMORY_ERROR; - md5_init_ctx (*ctx); - return 0; -} - -static int -md5hash (void *ctx, const void *text, size_t textsize) -{ - md5_process_bytes (text, textsize, ctx); - return 0; -} - -static int -md5copy (void **dst_ctx, void *src_ctx) -{ - *dst_ctx = gnutls_malloc (sizeof (struct md5_ctx)); - if (!*dst_ctx) - return GNUTLS_E_MEMORY_ERROR; - memcpy (*dst_ctx, src_ctx, sizeof (struct md5_ctx)); - return 0; -} - -static int -md5output (void *src_ctx, void *digest, size_t digestsize) -{ - char out[MD5_DIGEST_SIZE]; - md5_finish_ctx (src_ctx, out); - memcpy (digest, out, digestsize); - return 0; -} - -static void -md5deinit (void *ctx) -{ - gnutls_free (ctx); -} - -struct hmacctx -{ - char *data; - size_t datasize; - char *key; - size_t keysize; -}; - -static int -hmacmd5init (void **ctx) -{ - struct hmacctx *p; - - p = gnutls_malloc (sizeof (struct hmacctx)); - if (!p) - return -1; - - p->data = NULL; - p->datasize = 0; - p->key = NULL; - p->keysize = 0; - - *ctx = p; - - return 0; -} - -static int -hmacmd5setkey (void *ctx, const void *key, size_t keysize) -{ - struct hmacctx *p = ctx; - - if (p->key) - gnutls_free (p->key); - - p->key = gnutls_malloc (keysize); - if (!p->key) - return -1; - - memcpy (p->key, key, keysize); - p->keysize = keysize; - - return 0; -} - -static int -hmacmd5hash (void *ctx, const void *text, size_t textsize) -{ - struct hmacctx *p = ctx; - char *new; - - new = gnutls_realloc (p->data, p->datasize + textsize); - if (!new) - return -1; - - memcpy (new + p->datasize, text, textsize); - - p->data = new; - p->datasize += textsize; - - return 0; -} - -static int -hmacmd5copy (void **dst_ctx, void *src_ctx) -{ - struct hmacctx *p = src_ctx; - struct hmacctx *q; - - q = gnutls_malloc (sizeof (struct hmacctx)); - if (!q) - return -1; - - q->data = gnutls_malloc (p->datasize); - if (!q->data) - { - gnutls_free (q); - return -1; - } - memcpy (q->data, p->data, p->datasize); - q->datasize = p->datasize; - - q->key = gnutls_malloc (p->keysize); - if (!q->key) - { - gnutls_free (q); - gnutls_free (q->data); - return -1; - } - memcpy (q->key, p->key, p->keysize); - q->keysize = p->keysize; - - *dst_ctx = q; - - return 0; -} - -static int -hmacmd5output (void *ctx, void *digest, size_t digestsize) -{ - struct hmacctx *p = ctx; - char out[MD5_DIGEST_SIZE]; - int ret; - - ret = hmac_md5 (p->key, p->keysize, p->data, p->datasize, out); - if (ret) - return GNUTLS_E_HASH_FAILED; - - memcpy (digest, out, digestsize); - - return 0; -} - -static void -hmacmd5deinit (void *ctx) -{ - struct hmacctx *p = ctx; - - if (p->data) - gnutls_free (p->data); - if (p->key) - gnutls_free (p->key); - - gnutls_free (p); -} - -static gnutls_crypto_single_digest_st dig = { - md5init, - NULL, - md5hash, - md5copy, - md5output, - md5deinit -}; - -static gnutls_crypto_single_mac_st mac = { - hmacmd5init, - hmacmd5setkey, - hmacmd5hash, - hmacmd5copy, - hmacmd5output, - hmacmd5deinit -}; - -/** - * gnutls_register_md5_handler: - * - * Register a non-libgcrypt based MD5 and HMAC-MD5 handler. This is - * useful if you run Libgcrypt in FIPS-mode. Normally TLS requires - * use of MD5, so without this you cannot use GnuTLS with libgcrypt in - * FIPS mode. - * - * Returns: %GNUTLS_E_SUCCESS on success, otherwise an error. - * - * Since: 2.6.0 - **/ -int -gnutls_register_md5_handler (void) -{ - int ret; - - ret = gnutls_crypto_single_digest_register (GNUTLS_DIG_MD5, INT_MAX, &dig); - if (ret) - return ret; - - ret = gnutls_crypto_single_mac_register (GNUTLS_MAC_MD5, INT_MAX, &mac); - if (ret) - return ret; - - return 0; -} diff -Nru gnutls26-2.8.6/libextra/gl/gnulib.mk gnutls26-2.4.1/libextra/gl/gnulib.mk --- gnutls26-2.8.6/libextra/gl/gnulib.mk 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/gnulib.mk 1970-01-01 01:00:00.000000000 +0100 @@ -1,66 +0,0 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libxgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --avoid=dummy --avoid=stdint --makefile-name=gnulib.mk --libtool --macro-prefix=xgl --no-vc-files crypto/hmac-md5 crypto/md5 extensions havelib lib-msvc-compat lib-symbol-versions - - -MOSTLYCLEANFILES += core *.stackdump - -noinst_LTLIBRARIES += libxgnu.la - -libxgnu_la_SOURCES = -libxgnu_la_LIBADD = $(xgl_LTLIBOBJS) -libxgnu_la_DEPENDENCIES = $(xgl_LTLIBOBJS) -EXTRA_libxgnu_la_SOURCES = -libxgnu_la_LDFLAGS = $(AM_LDFLAGS) - -## begin gnulib module crypto/hmac-md5 - - -EXTRA_DIST += hmac-md5.c hmac.h - -EXTRA_libxgnu_la_SOURCES += hmac-md5.c - -## end gnulib module crypto/hmac-md5 - -## begin gnulib module crypto/md5 - - -EXTRA_DIST += md5.c md5.h - -EXTRA_libxgnu_la_SOURCES += md5.c - -## end gnulib module crypto/md5 - -## begin gnulib module havelib - - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module havelib - -## begin gnulib module memxor - - -EXTRA_DIST += memxor.c memxor.h - -EXTRA_libxgnu_la_SOURCES += memxor.c - -## end gnulib module memxor - - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : diff -Nru gnutls26-2.8.6/libextra/gl/hmac.h gnutls26-2.4.1/libextra/gl/hmac.h --- gnutls26-2.8.6/libextra/gl/hmac.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/hmac.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -/* hmac.h -- hashed message authentication codes - Copyright (C) 2005 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Simon Josefsson. */ - -#ifndef HMAC_H -# define HMAC_H 1 - -#include - -/* Compute Hashed Message Authentication Code with MD5, as described - in RFC 2104, over BUFFER data of BUFLEN bytes using the KEY of - KEYLEN bytes, writing the output to pre-allocated 16 byte minimum - RESBUF buffer. Return 0 on success. */ -int -hmac_md5 (const void *key, size_t keylen, - const void *buffer, size_t buflen, void *resbuf); - -/* Compute Hashed Message Authentication Code with SHA-1, over BUFFER - data of BUFLEN bytes using the KEY of KEYLEN bytes, writing the - output to pre-allocated 20 byte minimum RESBUF buffer. Return 0 on - success. */ -int -hmac_sha1 (const void *key, size_t keylen, - const void *in, size_t inlen, void *resbuf); - -#endif /* HMAC_H */ diff -Nru gnutls26-2.8.6/libextra/gl/hmac-md5.c gnutls26-2.4.1/libextra/gl/hmac-md5.c --- gnutls26-2.8.6/libextra/gl/hmac-md5.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/hmac-md5.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,81 +0,0 @@ -/* hmac-md5.c -- hashed message authentication codes - Copyright (C) 2005, 2006 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Simon Josefsson. */ - -#include - -#include "hmac.h" - -#include "memxor.h" -#include "md5.h" - -#include - -#define IPAD 0x36 -#define OPAD 0x5c - -int -hmac_md5 (const void *key, size_t keylen, - const void *in, size_t inlen, void *resbuf) -{ - struct md5_ctx inner; - struct md5_ctx outer; - char optkeybuf[16]; - char block[64]; - char innerhash[16]; - - /* Reduce the key's size, so that it becomes <= 64 bytes large. */ - - if (keylen > 64) - { - struct md5_ctx keyhash; - - md5_init_ctx (&keyhash); - md5_process_bytes (key, keylen, &keyhash); - md5_finish_ctx (&keyhash, optkeybuf); - - key = optkeybuf; - keylen = 16; - } - - /* Compute INNERHASH from KEY and IN. */ - - md5_init_ctx (&inner); - - memset (block, IPAD, sizeof (block)); - memxor (block, key, keylen); - - md5_process_block (block, 64, &inner); - md5_process_bytes (in, inlen, &inner); - - md5_finish_ctx (&inner, innerhash); - - /* Compute result from KEY and INNERHASH. */ - - md5_init_ctx (&outer); - - memset (block, OPAD, sizeof (block)); - memxor (block, key, keylen); - - md5_process_block (block, 64, &outer); - md5_process_bytes (innerhash, 16, &outer); - - md5_finish_ctx (&outer, resbuf); - - return 0; -} diff -Nru gnutls26-2.8.6/libextra/gl/m4/00gnulib.m4 gnutls26-2.4.1/libextra/gl/m4/00gnulib.m4 --- gnutls26-2.8.6/libextra/gl/m4/00gnulib.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/00gnulib.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -# 00gnulib.m4 serial 2 -dnl Copyright (C) 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. It is needed until such time as we can -dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. - -# AC_DEFUN_ONCE([NAME], VALUE) -# ---------------------------- -# Define NAME to expand to VALUE on the first use (whether by direct -# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. -# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This -# definition is slower than the version in Autoconf 2.64, because it -# can only use interfaces that existed since 2.59; but it achieves the -# same effect. Quoting is necessary to avoid confusing Automake. -m4_version_prereq([2.63.263], [], -[m4_define([AC][_DEFUN_ONCE], - [AC][_DEFUN([$1], - [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], - [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl -[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) - -# gl_00GNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file prior to all other gnulib .m4 files. -AC_DEFUN([gl_00GNULIB]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/extensions.m4 gnutls26-2.4.1/libextra/gl/m4/extensions.m4 --- gnutls26-2.8.6/libextra/gl/m4/extensions.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/extensions.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,104 +0,0 @@ -# serial 8 -*- Autoconf -*- -# Enable extensions on systems that normally disable them. - -# Copyright (C) 2003, 2006-2009 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 definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS -# Autoconf. Perhaps we can remove this once we can assume Autoconf -# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly -# enough in this area it's likely we'll need to redefine -# AC_USE_SYSTEM_EXTENSIONS for quite some time. - -# AC_USE_SYSTEM_EXTENSIONS -# ------------------------ -# Enable extensions on systems that normally disable them, -# typically due to standards-conformance issues. -# Remember that #undef in AH_VERBATIM gets replaced with #define by -# AC_DEFINE. The goal here is to define all known feature-enabling -# macros, then, if reports of conflicts are made, disable macros that -# cause problems on some platforms (such as __EXTENSIONS__). -AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], -[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl -AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - - AC_REQUIRE([AC_CANONICAL_HOST]) - - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) - if test "$MINIX" = yes; then - AC_DEFINE([_POSIX_SOURCE], [1], - [Define to 1 if you need to in order for `stat' and other - things to work.]) - AC_DEFINE([_POSIX_1_SOURCE], [2], - [Define to 2 if the system does not provide POSIX.1 features - except with this defined.]) - AC_DEFINE([_MINIX], [1], - [Define to 1 if on MINIX.]) - fi - - dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, - dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already - dnl provided. - case "$host_os" in - hpux*) - AC_DEFINE([_XOPEN_SOURCE], [500], - [Define to 500 only on HP-UX.]) - ;; - esac - - AH_VERBATIM([__EXTENSIONS__], -[/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif -]) - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], - [ac_cv_safe_to_define___extensions__], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ -# define __EXTENSIONS__ 1 - ]AC_INCLUDES_DEFAULT])], - [ac_cv_safe_to_define___extensions__=yes], - [ac_cv_safe_to_define___extensions__=no])]) - test $ac_cv_safe_to_define___extensions__ = yes && - AC_DEFINE([__EXTENSIONS__]) - AC_DEFINE([_ALL_SOURCE]) - AC_DEFINE([_GNU_SOURCE]) - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) - AC_DEFINE([_TANDEM_SOURCE]) -])# AC_USE_SYSTEM_EXTENSIONS - -# gl_USE_SYSTEM_EXTENSIONS -# ------------------------ -# Enable extensions on systems that normally disable them, -# typically due to standards-conformance issues. -AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], -[ - dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. - dnl gnulib does not need it. But if it gets required by third-party macros - dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a - dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, - dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. - AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/gnulib-common.m4 gnutls26-2.4.1/libextra/gl/m4/gnulib-common.m4 --- gnutls26-2.8.6/libextra/gl/m4/gnulib-common.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/gnulib-common.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,124 +0,0 @@ -# gnulib-common.m4 serial 11 -dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_COMMON -# is expanded unconditionally through gnulib-tool magic. -AC_DEFUN([gl_COMMON], [ - dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) - AC_REQUIRE([gl_COMMON_BODY]) -]) -AC_DEFUN([gl_COMMON_BODY], [ - AH_VERBATIM([isoc99_inline], -[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) - AH_VERBATIM([unused_parameter], -[/* Define as a marker that can be attached to function parameter declarations - for parameters that are not used. This helps to reduce warnings, such as - from GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) -#else -# define _UNUSED_PARAMETER_ -#endif -]) -]) - -# gl_MODULE_INDICATOR([modulename]) -# defines a C macro indicating the presence of the given module. -AC_DEFUN([gl_MODULE_INDICATOR], -[ - AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], - [Define to 1 when using the gnulib module ]$1[.]) -]) - -# m4_foreach_w -# is a backport of autoconf-2.59c's m4_foreach_w. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifndef([m4_foreach_w], - [m4_define([m4_foreach_w], - [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) - -# AC_PROG_MKDIR_P -# is a backport of autoconf-2.60's AC_PROG_MKDIR_P. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifdef([AC_PROG_MKDIR_P], [], [ - AC_DEFUN_ONCE([AC_PROG_MKDIR_P], - [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - MKDIR_P='$(mkdir_p)' - AC_SUBST([MKDIR_P])])]) - -# AC_C_RESTRICT -# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, -# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ -# works. -# This definition can be removed once autoconf >= 2.62 can be assumed. -AC_DEFUN([AC_C_RESTRICT], -[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], - [ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - }]], - [[int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t)]])], - [ac_cv_c_restrict=$ac_kw]) - test "$ac_cv_c_restrict" != no && break - done - ]) - AH_VERBATIM([restrict], -[/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -#endif]) - case $ac_cv_c_restrict in - restrict) ;; - no) AC_DEFINE([restrict], []) ;; - *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; - esac -]) - -# gl_BIGENDIAN -# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. -# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some -# macros invoke AC_C_BIGENDIAN with arguments. -AC_DEFUN([gl_BIGENDIAN], -[ - AC_C_BIGENDIAN -]) - -# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) -# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not -# output a spurious "(cached)" mark in the midst of other configure output. -# This macro should be used instead of AC_CACHE_VAL when it is not surrounded -# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. -AC_DEFUN([gl_CACHE_VAL_SILENT], -[ - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - AC_CACHE_VAL([$1], [$2]) - as_echo_n="$saved_as_echo_n" -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/gnulib-comp.m4 gnutls26-2.4.1/libextra/gl/m4/gnulib-comp.m4 --- gnutls26-2.8.6/libextra/gl/m4/gnulib-comp.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/gnulib-comp.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,195 +0,0 @@ -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# -# This file represents the compiled summary of the specification in -# gnulib-cache.m4. It lists the computed macro invocations that need -# to be invoked from configure.ac. -# In projects using CVS, this file can be treated like other built files. - - -# This macro should be invoked from ./configure.ac, in the section -# "Checks for programs", right after AC_PROG_CC, and certainly before -# any checks for libraries, header files, types and library functions. -AC_DEFUN([xgl_EARLY], -[ - m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace - m4_pattern_allow([^gl_ES$])dnl a valid locale name - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) -]) - -# This macro should be invoked from ./configure.ac, in the section -# "Check for header files, types and library functions". -AC_DEFUN([xgl_INIT], -[ - AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) - gl_cond_libtool=true - m4_pushdef([AC_LIBOBJ], m4_defn([xgl_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([xgl_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([xgl_LIBSOURCES])) - m4_pushdef([xgl_LIBSOURCES_LIST], []) - m4_pushdef([xgl_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='gl' - gl_HMAC_MD5 - gl_MD5 - gl_LD_OUTPUT_DEF - gl_LD_VERSION_SCRIPT - gl_MEMXOR - m4_ifval(xgl_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([xgl_LIBSOURCES_DIR])[ || - for gl_file in ]xgl_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([xgl_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([xgl_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([xgl_LIBSOURCES_DIR]) - m4_popdef([xgl_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - xgl_libobjs= - xgl_ltlibobjs= - if test -n "$xgl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $xgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - xgl_libobjs="$xgl_libobjs $i.$ac_objext" - xgl_ltlibobjs="$xgl_ltlibobjs $i.lo" - done - fi - AC_SUBST([xgl_LIBOBJS], [$xgl_libobjs]) - AC_SUBST([xgl_LTLIBOBJS], [$xgl_ltlibobjs]) - ]) - gltests_libdeps= - gltests_ltlibdeps= - m4_pushdef([AC_LIBOBJ], m4_defn([xgltests_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([xgltests_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([xgltests_LIBSOURCES])) - m4_pushdef([xgltests_LIBSOURCES_LIST], []) - m4_pushdef([xgltests_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='gl/tests' - m4_ifval(xgltests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([xgltests_LIBSOURCES_DIR])[ || - for gl_file in ]xgltests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([xgltests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([xgltests_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([xgltests_LIBSOURCES_DIR]) - m4_popdef([xgltests_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - xgltests_libobjs= - xgltests_ltlibobjs= - if test -n "$xgltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $xgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do - xgltests_libobjs="$xgltests_libobjs $i.$ac_objext" - xgltests_ltlibobjs="$xgltests_ltlibobjs $i.lo" - done - fi - AC_SUBST([xgltests_LIBOBJS], [$xgltests_libobjs]) - AC_SUBST([xgltests_LTLIBOBJS], [$xgltests_ltlibobjs]) - ]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into xgl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([xgl_LIBOBJ], [ - AS_LITERAL_IF([$1], [xgl_LIBSOURCES([$1.c])])dnl - xgl_LIBOBJS="$xgl_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into xgl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([xgl_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [xgl_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([xgl_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([xgl_LIBSOURCES_DIR], [gl]) - m4_append([xgl_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into xgltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([xgltests_LIBOBJ], [ - AS_LITERAL_IF([$1], [xgltests_LIBSOURCES([$1.c])])dnl - xgltests_LIBOBJS="$xgltests_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into xgltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([xgltests_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [xgltests_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([xgltests_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([xgltests_LIBSOURCES_DIR], [gl/tests]) - m4_append([xgltests_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# This macro records the list of files which have been installed by -# gnulib-tool and may be removed by future gnulib-tool invocations. -AC_DEFUN([xgl_FILE_LIST], [ - build-aux/config.rpath - lib/hmac-md5.c - lib/hmac.h - lib/md5.c - lib/md5.h - lib/memxor.c - lib/memxor.h - m4/00gnulib.m4 - m4/extensions.m4 - m4/gnulib-common.m4 - m4/hmac-md5.m4 - m4/ld-output-def.m4 - m4/ld-version-script.m4 - m4/lib-ld.m4 - m4/lib-link.m4 - m4/lib-prefix.m4 - m4/md5.m4 - m4/memxor.m4 -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/hmac-md5.m4 gnutls26-2.4.1/libextra/gl/m4/hmac-md5.m4 --- gnutls26-2.8.6/libextra/gl/m4/hmac-md5.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/hmac-md5.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -# hmac-md5.m4 serial 2 -dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_HMAC_MD5], -[ - AC_LIBOBJ([hmac-md5]) -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/ld-output-def.m4 gnutls26-2.4.1/libextra/gl/m4/ld-output-def.m4 --- gnutls26-2.8.6/libextra/gl/m4/ld-output-def.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/ld-output-def.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -# ld-output-def.m4 serial 2 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# gl_LD_OUTPUT_DEF() -# ------------- -# Check if linker supports -Wl,--output-def and define automake -# conditional HAVE_LD_OUTPUT_DEF if it is. -AC_DEFUN([gl_LD_OUTPUT_DEF], -[ - AC_CACHE_CHECK([if gcc/ld supports -Wl,--output-def], - [gl_cv_ld_output_def], - [if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [gl_cv_ld_output_def=yes], - [gl_cv_ld_output_def=no]) - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi]) - AM_CONDITIONAL([HAVE_LD_OUTPUT_DEF], test "x$gl_cv_ld_output_def" = "xyes") -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/ld-version-script.m4 gnutls26-2.4.1/libextra/gl/m4/ld-version-script.m4 --- gnutls26-2.8.6/libextra/gl/m4/ld-version-script.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/ld-version-script.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -# ld-version-script.m4 serial 1 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# FIXME: The test below returns a false positive for mingw -# cross-compiles, 'local:' statements does not reduce number of -# exported symbols in a DLL. Use --disable-ld-version-script to work -# around the problem. - -# gl_LD_VERSION_SCRIPT -# -------------------- -# Check if LD supports linker scripts, and define automake conditional -# HAVE_LD_VERSION_SCRIPT if so. -AC_DEFUN([gl_LD_VERSION_SCRIPT], -[ - AC_ARG_ENABLE([ld-version-script], - AS_HELP_STRING([--enable-ld-version-script], - [enable linker version script (default is enabled when possible)]), - [have_ld_version_script=$enableval], []) - if test -z "$have_ld_version_script"; then - AC_MSG_CHECKING([if LD -Wl,--version-script works]) - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map <&1 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 -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT([$LD]) -else - AC_MSG_RESULT([no]) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/lib-link.m4 gnutls26-2.4.1/libextra/gl/m4/lib-link.m4 --- gnutls26-2.8.6/libextra/gl/m4/lib-link.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/lib-link.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,761 +0,0 @@ -# lib-link.m4 serial 19 (gettext-0.18) -dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_PREREQ([2.54]) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - popdef([NAME]) - popdef([Name]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. The missing-message -dnl defaults to 'no' and may contain additional hints for the user. -dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} -dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], - [ac_cv_lib[]Name=yes], - [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib[]$1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - popdef([NAME]) - popdef([Name]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/lib-prefix.m4 gnutls26-2.4.1/libextra/gl/m4/lib-prefix.m4 --- gnutls26-2.8.6/libextra/gl/m4/lib-prefix.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/lib-prefix.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,224 +0,0 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/md5.m4 gnutls26-2.4.1/libextra/gl/m4/md5.m4 --- gnutls26-2.8.6/libextra/gl/m4/md5.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/md5.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -# md5.m4 serial 11 -dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_MD5], -[ - AC_LIBOBJ([md5]) - - dnl Prerequisites of lib/md5.c. - AC_REQUIRE([gl_BIGENDIAN]) - AC_REQUIRE([AC_C_INLINE]) - : -]) diff -Nru gnutls26-2.8.6/libextra/gl/m4/memxor.m4 gnutls26-2.4.1/libextra/gl/m4/memxor.m4 --- gnutls26-2.8.6/libextra/gl/m4/memxor.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/m4/memxor.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -# memxor.m4 serial 3 -dnl Copyright (C) 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_MEMXOR], -[ - AC_LIBOBJ([memxor]) - AC_REQUIRE([AC_C_RESTRICT]) -]) diff -Nru gnutls26-2.8.6/libextra/gl/Makefile.am gnutls26-2.4.1/libextra/gl/Makefile.am --- gnutls26-2.8.6/libextra/gl/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,39 +0,0 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2006, 2007, 2009 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -AUTOMAKE_OPTIONS = 1.5 gnits - -noinst_HEADERS = -noinst_LIBRARIES = -noinst_LTLIBRARIES = -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -AM_CPPFLAGS = -I$(srcdir)/../../lib/gl -I$(builddir)/../../lib/gl - -include gnulib.mk diff -Nru gnutls26-2.8.6/libextra/gl/Makefile.in gnutls26-2.4.1/libextra/gl/Makefile.in --- gnutls26-2.8.6/libextra/gl/Makefile.in 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/gl/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,630 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2006, 2007, 2009 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# Copyright (C) 2002-2009 Free Software Foundation, 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. -# -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libxgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --avoid=dummy --avoid=stdint --makefile-name=gnulib.mk --libtool --macro-prefix=xgl --no-vc-files crypto/hmac-md5 crypto/md5 extensions havelib lib-msvc-compat lib-symbol-versions - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/gnulib.mk -subdir = gl -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../lib/gl/m4/sockets.m4 \ - $(top_srcdir)/../lib/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/../lib/gl/m4/unistd_h.m4 \ - $(top_srcdir)/../lib/m4/hooks.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hmac-md5.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 $(top_srcdir)/gl/m4/md5.m4 \ - $(top_srcdir)/gl/m4/memxor.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -LTLIBRARIES = $(noinst_LTLIBRARIES) -am__DEPENDENCIES_1 = -am_libxgnu_la_OBJECTS = -libxgnu_la_OBJECTS = $(am_libxgnu_la_OBJECTS) -libxgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libxgnu_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libxgnu_la_SOURCES) $(EXTRA_libxgnu_la_SOURCES) -DIST_SOURCES = $(libxgnu_la_SOURCES) $(EXTRA_libxgnu_la_SOURCES) -HEADERS = $(noinst_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ -LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -VERSION = @VERSION@ -WARN_CFLAGS = @WARN_CFLAGS@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xgl_LIBOBJS = @xgl_LIBOBJS@ -xgl_LTLIBOBJS = @xgl_LTLIBOBJS@ -xgltests_LIBOBJS = @xgltests_LIBOBJS@ -xgltests_LTLIBOBJS = @xgltests_LTLIBOBJS@ -AUTOMAKE_OPTIONS = 1.5 gnits -noinst_HEADERS = -noinst_LIBRARIES = -noinst_LTLIBRARIES = libxgnu.la -EXTRA_DIST = hmac-md5.c hmac.h md5.c md5.h \ - $(top_srcdir)/build-aux/config.rpath memxor.c memxor.h -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -AM_CPPFLAGS = -I$(srcdir)/../../lib/gl -I$(builddir)/../../lib/gl -libxgnu_la_SOURCES = -libxgnu_la_LIBADD = $(xgl_LTLIBOBJS) -libxgnu_la_DEPENDENCIES = $(xgl_LTLIBOBJS) -EXTRA_libxgnu_la_SOURCES = hmac-md5.c md5.c memxor.c -libxgnu_la_LDFLAGS = $(AM_LDFLAGS) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gl/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits gl/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libxgnu.la: $(libxgnu_la_OBJECTS) $(libxgnu_la_DEPENDENCIES) - $(libxgnu_la_LINK) $(libxgnu_la_OBJECTS) $(libxgnu_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hmac-md5.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memxor.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) -installdirs: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - clean-noinstLTLIBRARIES 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: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -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 \ - mostlyclean-libtool mostlyclean-local - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: all check install install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - ctags distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ - pdf-am ps ps-am tags uninstall uninstall-am - - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : - -# 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: diff -Nru gnutls26-2.8.6/libextra/gl/md5.c gnutls26-2.4.1/libextra/gl/md5.c --- gnutls26-2.8.6/libextra/gl/md5.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/md5.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,455 +0,0 @@ -/* Functions to compute MD5 message digest of files or memory blocks. - according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995,1996,1997,1999,2000,2001,2005,2006,2008 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Ulrich Drepper , 1995. */ - -#include - -#include "md5.h" - -#include -#include -#include -#include - -#if USE_UNLOCKED_IO -# include "unlocked-io.h" -#endif - -#ifdef _LIBC -# include -# if __BYTE_ORDER == __BIG_ENDIAN -# define WORDS_BIGENDIAN 1 -# endif -/* We need to keep the namespace clean so define the MD5 function - protected using leading __ . */ -# define md5_init_ctx __md5_init_ctx -# define md5_process_block __md5_process_block -# define md5_process_bytes __md5_process_bytes -# define md5_finish_ctx __md5_finish_ctx -# define md5_read_ctx __md5_read_ctx -# define md5_stream __md5_stream -# define md5_buffer __md5_buffer -#endif - -#ifdef WORDS_BIGENDIAN -# define SWAP(n) \ - (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) -#else -# define SWAP(n) (n) -#endif - -#define BLOCKSIZE 4096 -#if BLOCKSIZE % 64 != 0 -# error "invalid BLOCKSIZE" -#endif - -/* This array contains the bytes used to pad the buffer to the next - 64-byte boundary. (RFC 1321, 3.1: Step 1) */ -static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; - - -/* Initialize structure containing state of computation. - (RFC 1321, 3.3: Step 3) */ -void -md5_init_ctx (struct md5_ctx *ctx) -{ - ctx->A = 0x67452301; - ctx->B = 0xefcdab89; - ctx->C = 0x98badcfe; - ctx->D = 0x10325476; - - ctx->total[0] = ctx->total[1] = 0; - ctx->buflen = 0; -} - -/* Copy the 4 byte value from v into the memory location pointed to by *cp, - If your architecture allows unaligned access this is equivalent to - * (uint32_t *) cp = v */ -static inline void -set_uint32 (char *cp, uint32_t v) -{ - memcpy (cp, &v, sizeof v); -} - -/* Put result from CTX in first 16 bytes following RESBUF. The result - must be in little endian byte order. */ -void * -md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) -{ - char *r = resbuf; - set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); - set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); - set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); - set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); - - return resbuf; -} - -/* Process the remaining bytes in the internal buffer and the usual - prolog according to the standard and write the result to RESBUF. */ -void * -md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) -{ - /* Take yet unprocessed bytes into account. */ - uint32_t bytes = ctx->buflen; - size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; - - /* Now count remaining bytes. */ - ctx->total[0] += bytes; - if (ctx->total[0] < bytes) - ++ctx->total[1]; - - /* Put the 64-bit file length in *bits* at the end of the buffer. */ - ctx->buffer[size - 2] = SWAP (ctx->total[0] << 3); - ctx->buffer[size - 1] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); - - memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); - - /* Process last bytes. */ - md5_process_block (ctx->buffer, size * 4, ctx); - - return md5_read_ctx (ctx, resbuf); -} - -/* Compute MD5 message digest for bytes read from STREAM. The - resulting message digest number will be written into the 16 bytes - beginning at RESBLOCK. */ -int -md5_stream (FILE *stream, void *resblock) -{ - struct md5_ctx ctx; - char buffer[BLOCKSIZE + 72]; - size_t sum; - - /* Initialize the computation context. */ - md5_init_ctx (&ctx); - - /* Iterate over full file contents. */ - while (1) - { - /* We read the file in blocks of BLOCKSIZE bytes. One call of the - computation function processes the whole buffer so that with the - next round of the loop another block can be read. */ - size_t n; - sum = 0; - - /* Read block. Take care for partial reads. */ - while (1) - { - n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); - - sum += n; - - if (sum == BLOCKSIZE) - break; - - if (n == 0) - { - /* Check for the error flag IFF N == 0, so that we don't - exit the loop after a partial read due to e.g., EAGAIN - or EWOULDBLOCK. */ - if (ferror (stream)) - return 1; - goto process_partial_block; - } - - /* We've read at least one byte, so ignore errors. But always - check for EOF, since feof may be true even though N > 0. - Otherwise, we could end up calling fread after EOF. */ - if (feof (stream)) - goto process_partial_block; - } - - /* Process buffer with BLOCKSIZE bytes. Note that - BLOCKSIZE % 64 == 0 - */ - md5_process_block (buffer, BLOCKSIZE, &ctx); - } - -process_partial_block: - - /* Process any remaining bytes. */ - if (sum > 0) - md5_process_bytes (buffer, sum, &ctx); - - /* Construct result in desired memory. */ - md5_finish_ctx (&ctx, resblock); - return 0; -} - -/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The - result is always in little endian byte order, so that a byte-wise - output yields to the wanted ASCII representation of the message - digest. */ -void * -md5_buffer (const char *buffer, size_t len, void *resblock) -{ - struct md5_ctx ctx; - - /* Initialize the computation context. */ - md5_init_ctx (&ctx); - - /* Process whole buffer but last len % 64 bytes. */ - md5_process_bytes (buffer, len, &ctx); - - /* Put result in desired memory area. */ - return md5_finish_ctx (&ctx, resblock); -} - - -void -md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) -{ - /* When we already have some bits in our internal buffer concatenate - both inputs first. */ - if (ctx->buflen != 0) - { - size_t left_over = ctx->buflen; - size_t add = 128 - left_over > len ? len : 128 - left_over; - - memcpy (&((char *) ctx->buffer)[left_over], buffer, add); - ctx->buflen += add; - - if (ctx->buflen > 64) - { - md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx); - - ctx->buflen &= 63; - /* The regions in the following copy operation cannot overlap. */ - memcpy (ctx->buffer, - &((char *) ctx->buffer)[(left_over + add) & ~63], - ctx->buflen); - } - - buffer = (const char *) buffer + add; - len -= add; - } - - /* Process available complete blocks. */ - if (len >= 64) - { -#if !_STRING_ARCH_unaligned -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) - if (UNALIGNED_P (buffer)) - while (len > 64) - { - md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); - buffer = (const char *) buffer + 64; - len -= 64; - } - else -#endif - { - md5_process_block (buffer, len & ~63, ctx); - buffer = (const char *) buffer + (len & ~63); - len &= 63; - } - } - - /* Move remaining bytes in internal buffer. */ - if (len > 0) - { - size_t left_over = ctx->buflen; - - memcpy (&((char *) ctx->buffer)[left_over], buffer, len); - left_over += len; - if (left_over >= 64) - { - md5_process_block (ctx->buffer, 64, ctx); - left_over -= 64; - memcpy (ctx->buffer, &ctx->buffer[16], left_over); - } - ctx->buflen = left_over; - } -} - - -/* These are the four functions used in the four steps of the MD5 algorithm - and defined in the RFC 1321. The first function is a little bit optimized - (as found in Colin Plumbs public domain implementation). */ -/* #define FF(b, c, d) ((b & c) | (~b & d)) */ -#define FF(b, c, d) (d ^ (b & (c ^ d))) -#define FG(b, c, d) FF (d, b, c) -#define FH(b, c, d) (b ^ c ^ d) -#define FI(b, c, d) (c ^ (b | ~d)) - -/* Process LEN bytes of BUFFER, accumulating context into CTX. - It is assumed that LEN % 64 == 0. */ - -void -md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) -{ - uint32_t correct_words[16]; - const uint32_t *words = buffer; - size_t nwords = len / sizeof (uint32_t); - const uint32_t *endp = words + nwords; - uint32_t A = ctx->A; - uint32_t B = ctx->B; - uint32_t C = ctx->C; - uint32_t D = ctx->D; - - /* First increment the byte count. RFC 1321 specifies the possible - length of the file up to 2^64 bits. Here we only compute the - number of bytes. Do a double word increment. */ - ctx->total[0] += len; - if (ctx->total[0] < len) - ++ctx->total[1]; - - /* Process all bytes in the buffer with 64 bytes in each round of - the loop. */ - while (words < endp) - { - uint32_t *cwp = correct_words; - uint32_t A_save = A; - uint32_t B_save = B; - uint32_t C_save = C; - uint32_t D_save = D; - - /* First round: using the given function, the context and a constant - the next context is computed. Because the algorithms processing - unit is a 32-bit word and it is determined to work on words in - little endian byte order we perhaps have to change the byte order - before the computation. To reduce the work for the next steps - we store the swapped words in the array CORRECT_WORDS. */ - -#define OP(a, b, c, d, s, T) \ - do \ - { \ - a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ - ++words; \ - CYCLIC (a, s); \ - a += b; \ - } \ - while (0) - - /* It is unfortunate that C does not provide an operator for - cyclic rotation. Hope the C compiler is smart enough. */ -#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) - - /* Before we start, one word to the strange constants. - They are defined in RFC 1321 as - - T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 - - Here is an equivalent invocation using Perl: - - perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}' - */ - - /* Round 1. */ - OP (A, B, C, D, 7, 0xd76aa478); - OP (D, A, B, C, 12, 0xe8c7b756); - OP (C, D, A, B, 17, 0x242070db); - OP (B, C, D, A, 22, 0xc1bdceee); - OP (A, B, C, D, 7, 0xf57c0faf); - OP (D, A, B, C, 12, 0x4787c62a); - OP (C, D, A, B, 17, 0xa8304613); - OP (B, C, D, A, 22, 0xfd469501); - OP (A, B, C, D, 7, 0x698098d8); - OP (D, A, B, C, 12, 0x8b44f7af); - OP (C, D, A, B, 17, 0xffff5bb1); - OP (B, C, D, A, 22, 0x895cd7be); - OP (A, B, C, D, 7, 0x6b901122); - OP (D, A, B, C, 12, 0xfd987193); - OP (C, D, A, B, 17, 0xa679438e); - OP (B, C, D, A, 22, 0x49b40821); - - /* For the second to fourth round we have the possibly swapped words - in CORRECT_WORDS. Redefine the macro to take an additional first - argument specifying the function to use. */ -#undef OP -#define OP(f, a, b, c, d, k, s, T) \ - do \ - { \ - a += f (b, c, d) + correct_words[k] + T; \ - CYCLIC (a, s); \ - a += b; \ - } \ - while (0) - - /* Round 2. */ - OP (FG, A, B, C, D, 1, 5, 0xf61e2562); - OP (FG, D, A, B, C, 6, 9, 0xc040b340); - OP (FG, C, D, A, B, 11, 14, 0x265e5a51); - OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); - OP (FG, A, B, C, D, 5, 5, 0xd62f105d); - OP (FG, D, A, B, C, 10, 9, 0x02441453); - OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); - OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); - OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); - OP (FG, D, A, B, C, 14, 9, 0xc33707d6); - OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); - OP (FG, B, C, D, A, 8, 20, 0x455a14ed); - OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); - OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); - OP (FG, C, D, A, B, 7, 14, 0x676f02d9); - OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); - - /* Round 3. */ - OP (FH, A, B, C, D, 5, 4, 0xfffa3942); - OP (FH, D, A, B, C, 8, 11, 0x8771f681); - OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); - OP (FH, B, C, D, A, 14, 23, 0xfde5380c); - OP (FH, A, B, C, D, 1, 4, 0xa4beea44); - OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); - OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); - OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); - OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); - OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); - OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); - OP (FH, B, C, D, A, 6, 23, 0x04881d05); - OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); - OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); - OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); - OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); - - /* Round 4. */ - OP (FI, A, B, C, D, 0, 6, 0xf4292244); - OP (FI, D, A, B, C, 7, 10, 0x432aff97); - OP (FI, C, D, A, B, 14, 15, 0xab9423a7); - OP (FI, B, C, D, A, 5, 21, 0xfc93a039); - OP (FI, A, B, C, D, 12, 6, 0x655b59c3); - OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); - OP (FI, C, D, A, B, 10, 15, 0xffeff47d); - OP (FI, B, C, D, A, 1, 21, 0x85845dd1); - OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); - OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); - OP (FI, C, D, A, B, 6, 15, 0xa3014314); - OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); - OP (FI, A, B, C, D, 4, 6, 0xf7537e82); - OP (FI, D, A, B, C, 11, 10, 0xbd3af235); - OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); - OP (FI, B, C, D, A, 9, 21, 0xeb86d391); - - /* Add the starting values of the context. */ - A += A_save; - B += B_save; - C += C_save; - D += D_save; - } - - /* Put checksum in context given as argument. */ - ctx->A = A; - ctx->B = B; - ctx->C = C; - ctx->D = D; -} diff -Nru gnutls26-2.8.6/libextra/gl/md5.h gnutls26-2.4.1/libextra/gl/md5.h --- gnutls26-2.8.6/libextra/gl/md5.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/md5.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,118 +0,0 @@ -/* Declaration of functions and data types used for MD5 sum computing - library functions. - Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2006,2008 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _MD5_H -#define _MD5_H 1 - -#include -#include - -#define MD5_DIGEST_SIZE 16 -#define MD5_BLOCK_SIZE 64 - -#ifndef __GNUC_PREREQ -# if defined __GNUC__ && defined __GNUC_MINOR__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -# else -# define __GNUC_PREREQ(maj, min) 0 -# endif -#endif - -#ifndef __THROW -# if defined __cplusplus && __GNUC_PREREQ (2,8) -# define __THROW throw () -# else -# define __THROW -# endif -#endif - -#ifndef _LIBC -# define __md5_buffer md5_buffer -# define __md5_finish_ctx md5_finish_ctx -# define __md5_init_ctx md5_init_ctx -# define __md5_process_block md5_process_block -# define __md5_process_bytes md5_process_bytes -# define __md5_read_ctx md5_read_ctx -# define __md5_stream md5_stream -#endif - -/* Structure to save state of computation between the single steps. */ -struct md5_ctx -{ - uint32_t A; - uint32_t B; - uint32_t C; - uint32_t D; - - uint32_t total[2]; - uint32_t buflen; - uint32_t buffer[32]; -}; - -/* - * The following three functions are build up the low level used in - * the functions `md5_stream' and `md5_buffer'. - */ - -/* Initialize structure containing state of computation. - (RFC 1321, 3.3: Step 3) */ -extern void __md5_init_ctx (struct md5_ctx *ctx) __THROW; - -/* Starting with the result of former calls of this function (or the - initialization function update the context for the next LEN bytes - starting at BUFFER. - It is necessary that LEN is a multiple of 64!!! */ -extern void __md5_process_block (const void *buffer, size_t len, - struct md5_ctx *ctx) __THROW; - -/* Starting with the result of former calls of this function (or the - initialization function update the context for the next LEN bytes - starting at BUFFER. - It is NOT required that LEN is a multiple of 64. */ -extern void __md5_process_bytes (const void *buffer, size_t len, - struct md5_ctx *ctx) __THROW; - -/* Process the remaining bytes in the buffer and put result from CTX - in first 16 bytes following RESBUF. The result is always in little - endian byte order, so that a byte-wise output yields to the wanted - ASCII representation of the message digest. */ -extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW; - - -/* Put result from CTX in first 16 bytes following RESBUF. The result is - always in little endian byte order, so that a byte-wise output yields - to the wanted ASCII representation of the message digest. */ -extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW; - - -/* Compute MD5 message digest for bytes read from STREAM. The - resulting message digest number will be written into the 16 bytes - beginning at RESBLOCK. */ -extern int __md5_stream (FILE *stream, void *resblock) __THROW; - -/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The - result is always in little endian byte order, so that a byte-wise - output yields to the wanted ASCII representation of the message - digest. */ -extern void *__md5_buffer (const char *buffer, size_t len, - void *resblock) __THROW; - -#endif /* md5.h */ diff -Nru gnutls26-2.8.6/libextra/gl/memxor.c gnutls26-2.4.1/libextra/gl/memxor.c --- gnutls26-2.8.6/libextra/gl/memxor.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/memxor.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -/* memxor.c -- perform binary exclusive OR operation of two memory blocks. - Copyright (C) 2005, 2006 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Simon Josefsson. The interface was inspired by memxor - in Niels Möller's Nettle. */ - -#include - -#include "memxor.h" - -void * -memxor (void *restrict dest, const void *restrict src, size_t n) -{ - char const *s = src; - char *d = dest; - - for (; n > 0; n--) - *d++ ^= *s++; - - return dest; -} diff -Nru gnutls26-2.8.6/libextra/gl/memxor.h gnutls26-2.4.1/libextra/gl/memxor.h --- gnutls26-2.8.6/libextra/gl/memxor.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gl/memxor.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* memxor.h -- perform binary exclusive OR operation on memory blocks. - Copyright (C) 2005 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Written by Simon Josefsson. The interface was inspired by memxor - in Niels Möller's Nettle. */ - -#ifndef MEMXOR_H -# define MEMXOR_H - -#include - -/* Compute binary exclusive OR of memory areas DEST and SRC, putting - the result in DEST, of length N bytes. Returns a pointer to - DEST. */ -void *memxor (void *restrict dest, const void *restrict src, size_t n); - -#endif /* MEMXOR_H */ diff -Nru gnutls26-2.8.6/libextra/gnutls-extra-api.texi gnutls26-2.4.1/libextra/gnutls-extra-api.texi --- gnutls26-2.8.6/libextra/gnutls-extra-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/libextra/gnutls-extra-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -4,32 +4,21 @@ @deftypefun {int} {gnutls_global_init_extra} ( @var{void}) This function initializes the global state of gnutls-extra library -to defaults. +to defaults. Returns zero on success. Note that @code{gnutls_global_init()} has to be called before this function. If this function is not called then the gnutls-extra library will not be usable. - -This function is not thread safe, see the discussion for -@code{gnutls_global_init()} on how to deal with that. - -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. @end deftypefun @subheading gnutls_extra_check_version @anchor{gnutls_extra_check_version} @deftypefun {const char *} {gnutls_extra_check_version} (const char * @var{req_version}) -@var{req_version}: version string to compare with, or @code{NULL}. - -Check GnuTLS Extra Library version. - -See @code{GNUTLS_EXTRA_VERSION} for a suitable @code{req_version} string. +@var{req_version}: the version to check -@strong{Return value:} Check that the version of the library is at -minimum the one given as a string in @code{req_version} and return the -actual version string of the library; return @code{NULL} if the -condition is not met. If @code{NULL} is passed to this function no -check is done and only the version string is returned. +Check that the version of the gnutls-extra library is at minimum +the requested one and return the version string; return NULL if the +condition is not satisfied. If a NULL is passed to this function, +no check is done, but the version string is simply returned. @end deftypefun diff -Nru gnutls26-2.8.6/libextra/gnutls_extra.c gnutls26-2.4.1/libextra/gnutls_extra.c --- gnutls26-2.8.6/libextra/gnutls_extra.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gnutls_extra.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,30 +1,28 @@ /* - * Copyright (C) 2001, 2004, 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2001, 2004, 2005, 2007, 2008 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * * This file is part of GNUTLS-EXTRA. * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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. - * + * GNUTLS-EXTRA 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 3 of the License, or + * (at your option) any later version. + * + * GNUTLS-EXTRA 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, see - * . + * along with this program. If not, see . */ #include #include #include #include -#include #ifdef USE_LZO # ifdef USE_MINILZO # include "minilzo/minilzo.h" @@ -34,16 +32,16 @@ # include # endif #endif -#include -#ifdef USE_LZO -#include /* the number of the compression algorithms available in the compression * structure. */ extern int _gnutls_comp_algorithms_size; +/* Functions in gnutls that have not been initialized. + */ +#ifdef USE_LZO typedef int (*LZO_FUNC) (); extern LZO_FUNC _gnutls_lzo1x_decompress_safe; extern LZO_FUNC _gnutls_lzo1x_1_compress; @@ -86,26 +84,19 @@ static int _gnutls_init_extra = 0; /** - * gnutls_global_init_extra - initializes the global state of gnutls-extra - * - * This function initializes the global state of gnutls-extra library - * to defaults. - * - * Note that gnutls_global_init() has to be called before this - * function. If this function is not called then the gnutls-extra - * library will not be usable. - * - * This function is not thread safe, see the discussion for - * gnutls_global_init() on how to deal with that. - * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. - **/ + * gnutls_global_init_extra - This function initializes the global state of gnutls-extra + * + * This function initializes the global state of gnutls-extra library + * to defaults. Returns zero on success. + * + * Note that gnutls_global_init() has to be called before this + * function. If this function is not called then the gnutls-extra + * library will not be usable. + * + **/ int gnutls_global_init_extra (void) { - int ret; - /* If the version of libgnutls != version of * libextra, then do not initialize the library. * This is because it may break things. @@ -118,49 +109,47 @@ _gnutls_init_extra++; if (_gnutls_init_extra != 1) - return 0; - - ret = gnutls_ext_register (GNUTLS_EXTENSION_INNER_APPLICATION, - "INNER_APPLICATION", - GNUTLS_EXT_TLS, - _gnutls_inner_application_recv_params, - _gnutls_inner_application_send_params); - if (ret != GNUTLS_E_SUCCESS) - return ret; + { + return 0; + } /* Initialize the LZO library */ #ifdef USE_LZO - if (lzo_init () != LZO_E_OK) - return GNUTLS_E_LZO_INIT_FAILED; + { + int ret; - /* Add the LZO compression method in the list of compression - * methods. - */ - ret = _gnutls_add_lzo_comp (); - if (ret < 0) - { - gnutls_assert (); - return ret; - } + if (lzo_init () != LZO_E_OK) + { + return GNUTLS_E_LZO_INIT_FAILED; + } + + /* Add the LZO compression method in the list of compression + * methods. + */ + ret = _gnutls_add_lzo_comp (); + if (ret < 0) + { + gnutls_assert (); + return ret; + } + } #endif return 0; } +#include + /** - * gnutls_extra_check_version - checks the libgnutls-extra version - * @req_version: version string to compare with, or %NULL. - * - * Check GnuTLS Extra Library version. + * gnutls_extra_check_version - This function checks the library's version + * @req_version: the version to check * - * See %GNUTLS_EXTRA_VERSION for a suitable @req_version string. + * Check that the version of the gnutls-extra library is at minimum + * the requested one and return the version string; return NULL if the + * condition is not satisfied. If a NULL is passed to this function, + * no check is done, but the version string is simply returned. * - * Return value: Check that the version of the library is at - * minimum the one given as a string in @req_version and return the - * actual version string of the library; return %NULL if the - * condition is not met. If %NULL is passed to this function no - * check is done and only the version string is returned. **/ const char * gnutls_extra_check_version (const char *req_version) diff -Nru gnutls26-2.8.6/libextra/gnutls-extra.pc.in gnutls26-2.4.1/libextra/gnutls-extra.pc.in --- gnutls26-2.8.6/libextra/gnutls-extra.pc.in 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/gnutls-extra.pc.in 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a pkg-config metadata file. -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation # Author: Simon Josefsson # # This file is free software; as a special exception the author gives @@ -17,7 +17,6 @@ Name: GnuTLS-extra Description: Additional add-ons for GnuTLS licensed under GPL -URL: http://www.gnu.org/software/gnutls/ Requires: gnutls Version: @VERSION@ Libs: -L${libdir} -lgnutls-extra diff -Nru gnutls26-2.8.6/libextra/gnutls_ia.c gnutls26-2.4.1/libextra/gnutls_ia.c --- gnutls26-2.8.6/libextra/gnutls_ia.c 2009-08-12 07:58:13.000000000 +0100 +++ gnutls26-2.4.1/libextra/gnutls_ia.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation + * Copyright (C) 2005, 2006, 2008 Free Software Foundation * * Author: Simon Josefsson * @@ -9,12 +9,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS-EXTRA 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, see . */ @@ -24,7 +24,6 @@ #include "gnutls_errors.h" #include "gnutls_num.h" #include "gnutls_state.h" -#include #define CHECKSUM_SIZE 12 @@ -112,7 +111,6 @@ opaque * data, size_t sizeofdata) { ssize_t len; - uint32_t len24; opaque pkt[4]; len = _gnutls_recv_int (session, GNUTLS_INNER_APPLICATION, -1, pkt, 4); @@ -123,28 +121,28 @@ } *msg_type = pkt[0]; - len24 = _gnutls_read_uint24 (&pkt[1]); + len = _gnutls_read_uint24 (&pkt[1]); - if (*msg_type != GNUTLS_IA_APPLICATION_PAYLOAD && len24 != CHECKSUM_SIZE) + if (*msg_type != GNUTLS_IA_APPLICATION_PAYLOAD && len != CHECKSUM_SIZE) { gnutls_assert (); return GNUTLS_E_UNEXPECTED_PACKET_LENGTH; } - if (sizeofdata < len24) + if (sizeofdata < len) { /* XXX push back pkt to IA buffer? */ gnutls_assert (); return GNUTLS_E_SHORT_MEMORY_BUFFER; } - if (len24 > 0) + if (len > 0) { - uint32_t tmplen = len24; + int tmplen = len; - len24 = _gnutls_recv_int (session, GNUTLS_INNER_APPLICATION, -1, - data, tmplen); - if (len24 != tmplen) + len = _gnutls_recv_int (session, GNUTLS_INNER_APPLICATION, -1, + data, tmplen); + if (len != tmplen) { gnutls_assert (); /* XXX Correct? */ @@ -152,7 +150,7 @@ } } - return len24; + return len; } /* Apply the TLS PRF using the TLS/IA inner secret as keying material, @@ -169,7 +167,7 @@ { int ret; opaque *seed; - size_t seedsize = 2 * GNUTLS_RANDOM_SIZE + extra_size; + size_t seedsize = 2 * TLS_RANDOM_SIZE + extra_size; seed = gnutls_malloc (seedsize); if (!seed) @@ -178,14 +176,13 @@ return GNUTLS_E_MEMORY_ERROR; } - memcpy (seed, session->security_parameters.server_random, - GNUTLS_RANDOM_SIZE); - memcpy (seed + GNUTLS_RANDOM_SIZE, - session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); - memcpy (seed + 2 * GNUTLS_RANDOM_SIZE, extra, extra_size); + memcpy (seed, session->security_parameters.server_random, TLS_RANDOM_SIZE); + memcpy (seed + TLS_RANDOM_SIZE, session->security_parameters.client_random, + TLS_RANDOM_SIZE); + memcpy (seed + 2 * TLS_RANDOM_SIZE, extra, extra_size); ret = _gnutls_PRF (session, session->security_parameters.inner_secret, - GNUTLS_MASTER_SIZE, + TLS_MASTER_SIZE, label, label_size, seed, seedsize, outsize, out); gnutls_free (seed); @@ -217,7 +214,7 @@ inner_permutation_label, session_keys_size, session_keys, - GNUTLS_RANDOM_SIZE, + TLS_RANDOM_SIZE, session->security_parameters.inner_secret); } @@ -260,8 +257,7 @@ void gnutls_ia_extract_inner_secret (gnutls_session_t session, char *buffer) { - memcpy (buffer, session->security_parameters.inner_secret, - GNUTLS_MASTER_SIZE); + memcpy (buffer, session->security_parameters.inner_secret, TLS_MASTER_SIZE); } /** @@ -291,7 +287,7 @@ int ret; ret = _gnutls_PRF (session, session->security_parameters.inner_secret, - GNUTLS_MASTER_SIZE, label, size_of_label - 1, + TLS_MASTER_SIZE, label, size_of_label - 1, /* XXX specification unclear on seed. */ "", 0, CHECKSUM_SIZE, local_checksum); if (ret < 0) @@ -344,7 +340,7 @@ int ret; ret = _gnutls_PRF (session, session->security_parameters.inner_secret, - GNUTLS_MASTER_SIZE, + TLS_MASTER_SIZE, label, size_of_label - 1, "", 0, CHECKSUM_SIZE, local_checksum); if (ret < 0) @@ -376,8 +372,8 @@ * @sizeofdata: is the length of the data * * Send TLS/IA application payload data. This function has the - * similar semantics with send(). The only difference is that it - * accepts a GnuTLS session, and uses different error codes. + * similar semantics with send(). The only difference is that is + * accepts a GNUTLS session, and uses different error codes. * * The TLS/IA protocol is synchronous, so you cannot send more than * one packet at a time. The client always send the first packet. @@ -415,7 +411,7 @@ * @sizeofdata: the number of requested bytes, must be >= 12. * * Receive TLS/IA data. This function has the similar semantics with - * recv(). The only difference is that it accepts a GnuTLS session, + * recv(). The only difference is that is accepts a GNUTLS session, * and uses different error codes. * * If the server attempt to finish an application phase, this function @@ -456,7 +452,7 @@ handle EAGAIN/EINTERRUPTED? just add more problems to callers, though. */ -static int +int _gnutls_ia_client_handshake (gnutls_session_t session) { char *buf = NULL; @@ -525,7 +521,7 @@ return 0; } -static int +int _gnutls_ia_server_handshake (gnutls_session_t session) { gnutls_ia_apptype_t msg_type; @@ -635,8 +631,7 @@ * Perform a TLS/IA handshake. This should be called after * gnutls_handshake() iff gnutls_ia_handshake_p(). * - * Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned, - * otherwise an error code is returned. + * Return 0 on success, or an error code. **/ int gnutls_ia_handshake (gnutls_session_t session) @@ -653,7 +648,7 @@ /** * gnutls_ia_allocate_client_credentials - Used to allocate an gnutls_ia_server_credentials_t structure - * @sc: is a pointer to a #gnutls_ia_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_ia_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -679,7 +674,7 @@ /** * gnutls_ia_free_client_credentials - Used to free an allocated #gnutls_ia_client_credentials_t structure - * @sc: is a #gnutls_ia_client_credentials_t structure. + * @sc: is an #gnutls_ia_client_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -763,7 +758,7 @@ /** * gnutls_ia_allocate_server_credentials - Used to allocate an gnutls_ia_server_credentials_t structure - * @sc: is a pointer to a #gnutls_ia_server_credentials_t structure. + * @sc: is a pointer to an #gnutls_ia_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to allocate it. @@ -789,7 +784,7 @@ /** * gnutls_ia_free_server_credentials - Used to free an allocated #gnutls_ia_server_credentials_t structure - * @sc: is a #gnutls_ia_server_credentials_t structure. + * @sc: is an #gnutls_ia_server_credentials_t structure. * * This structure is complex enough to manipulate directly thus this * helper function is provided in order to free (deallocate) it. @@ -825,7 +820,7 @@ * client, and to get a new AVP to send to the client. It can also be * used to instruct the TLS/IA handshake to do go into the * Intermediate or Final phases. It return a negative error code, or - * a #gnutls_ia_apptype_t message type. + * an #gnutls_ia_apptype_t message type. * * The callback may invoke gnutls_ia_permute_inner_secret() to mix any * generated session keys with the TLS/IA inner secret. diff -Nru gnutls26-2.8.6/libextra/gnutls_openssl.c gnutls26-2.4.1/libextra/gnutls_openssl.c --- gnutls26-2.8.6/libextra/gnutls_openssl.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/libextra/gnutls_openssl.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation + * Copyright (C) 2004, 2005, 2006 Free Software Foundation * Copyright (c) 2002 Andrew McDonald * * This file is part of GNUTLS-EXTRA. @@ -22,17 +22,11 @@ #include #include +#include #include #include #include #include -#include "../lib/gnutls_int.h" -#include "../lib/random.h" -#include "../lib/gnutls_hash_int.h" - -/* Gnulib re-defines shutdown on mingw. We only use it as a variable - name, so restore the original name. */ -#undef shutdown /* XXX: See lib/gnutls_int.h. */ #define GNUTLS_POINTER_TO_INT(_) ((int) GNUTLS_POINTER_TO_INT_CAST (_)) @@ -42,6 +36,7 @@ static int last_error = 0; + /* Library initialisation functions */ int @@ -849,7 +844,7 @@ { if (local_alloc) free (tmpbuf); - return (char*) "Buffer too small"; + return "Buffer too small"; } return tmpbuf; @@ -863,7 +858,7 @@ { gnutls_x509_dn *dn; dn = (gnutls_x509_dn *) calloc (1, sizeof (gnutls_x509_dn)); - if (gnutls_x509_extract_certificate_dn (cert, dn) < 0) + if (gnutls_x509_extract_certificate_dn (&cert[0], dn) < 0) { free (dn); return NULL; @@ -876,7 +871,7 @@ { gnutls_x509_dn *dn; dn = (gnutls_x509_dn *) calloc (1, sizeof (gnutls_x509_dn)); - if (gnutls_x509_extract_certificate_issuer_dn (cert, dn) < 0) + if (gnutls_x509_extract_certificate_dn (&cert[1], dn) < 0) { free (dn); return NULL; @@ -887,10 +882,9 @@ char * X509_NAME_oneline (gnutls_x509_dn * name, char *buf, int len) { - /* XXX openssl allocates buffer if buf == NULL */ + memset (buf, 0, len); if (!buf) return NULL; - memset (buf, 0, len); snprintf (buf, len - 1, "C=%s, ST=%s, L=%s, O=%s, OU=%s, CN=%s/Email=%s", @@ -912,8 +906,7 @@ void BIO_get_fd (gnutls_session_t gnutls_state, int *fd) { - gnutls_transport_ptr_t tmp = gnutls_transport_get_ptr (gnutls_state); - *fd = GNUTLS_POINTER_TO_INT (tmp); + *fd = GNUTLS_POINTER_TO_INT (gnutls_transport_get_ptr (gnutls_state)); } BIO * @@ -967,14 +960,14 @@ int RAND_bytes (unsigned char *buf, int num) { - _gnutls_rnd (GNUTLS_RND_RANDOM, buf, num); + gc_random (buf, num); return 1; } int RAND_pseudo_bytes (unsigned char *buf, int num) { - _gnutls_rnd (GNUTLS_RND_NONCE, buf, num); + gc_pseudo_random (buf, num); return 1; } @@ -1009,23 +1002,24 @@ void MD5_Init (MD5_CTX * ctx) { - ctx->handle = gnutls_malloc (sizeof (digest_hd_st)); - if (!ctx->handle) - abort (); - _gnutls_hash_init (ctx->handle, GNUTLS_DIG_MD5); + gc_hash_open (GC_MD5, 0, &ctx->handle); } void MD5_Update (MD5_CTX * ctx, const void *buf, int len) { - _gnutls_hash (ctx->handle, buf, len); + gc_hash_write (ctx->handle, len, buf); } void MD5_Final (unsigned char *md, MD5_CTX * ctx) { - _gnutls_hash_deinit (ctx->handle, md); - gnutls_free (ctx->handle); + const char *local_md; + + local_md = gc_hash_read (ctx->handle); + if (md) + memcpy (md, local_md, gc_hash_digest_length (GC_MD5)); + gc_hash_close (ctx->handle); } unsigned char * @@ -1034,7 +1028,7 @@ if (!md) return NULL; - _gnutls_hash_fast (GNUTLS_DIG_MD5, buf, len, md); + gc_hash_buffer (GC_MD5, buf, len, md); return md; } @@ -1042,23 +1036,24 @@ void RIPEMD160_Init (RIPEMD160_CTX * ctx) { - ctx->handle = gnutls_malloc (sizeof (digest_hd_st)); - if (!ctx->handle) - abort (); - _gnutls_hash_init (ctx->handle, GNUTLS_DIG_RMD160); + gc_hash_open (GC_RMD160, 0, &ctx->handle); } void RIPEMD160_Update (RIPEMD160_CTX * ctx, const void *buf, int len) { - _gnutls_hash (ctx->handle, buf, len); + gc_hash_write (ctx->handle, len, buf); } void RIPEMD160_Final (unsigned char *md, RIPEMD160_CTX * ctx) { - _gnutls_hash_deinit (ctx->handle, md); - gnutls_free (ctx->handle); + const char *local_md; + + local_md = gc_hash_read (ctx->handle); + if (md) + memcpy (md, local_md, gc_hash_digest_length (GC_RMD160)); + gc_hash_close (ctx->handle); } unsigned char * @@ -1067,7 +1062,7 @@ if (!md) return NULL; - _gnutls_hash_fast (GNUTLS_DIG_RMD160, buf, len, md); + gc_hash_buffer (GC_RMD160, buf, len, md); return md; } diff -Nru gnutls26-2.8.6/libextra/ia-api.texi gnutls26-2.4.1/libextra/ia-api.texi --- gnutls26-2.8.6/libextra/ia-api.texi 2010-03-15 10:35:23.000000000 +0000 +++ gnutls26-2.4.1/libextra/ia-api.texi 2008-06-30 22:14:33.000000000 +0100 @@ -99,8 +99,8 @@ @var{sizeofdata}: is the length of the data Send TLS/IA application payload data. This function has the -similar semantics with @code{send()}. The only difference is that it -accepts a GnuTLS session, and uses different error codes. +similar semantics with @code{send()}. The only difference is that is +accepts a GNUTLS session, and uses different error codes. The TLS/IA protocol is synchronous, so you cannot send more than one packet at a time. The client always send the first packet. @@ -130,7 +130,7 @@ @var{sizeofdata}: the number of requested bytes, must be >= 12. Receive TLS/IA data. This function has the similar semantics with -@code{recv()}. The only difference is that it accepts a GnuTLS session, +@code{recv()}. The only difference is that is accepts a GNUTLS session, and uses different error codes. If the server attempt to finish an application phase, this function @@ -172,14 +172,13 @@ Perform a TLS/IA handshake. This should be called after @code{gnutls_handshake()} iff @code{gnutls_ia_handshake_p()}. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, -otherwise an error code is returned. +Return 0 on success, or an error code. @end deftypefun @subheading gnutls_ia_allocate_client_credentials @anchor{gnutls_ia_allocate_client_credentials} @deftypefun {int} {gnutls_ia_allocate_client_credentials} (gnutls_ia_client_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -196,7 +195,7 @@ @subheading gnutls_ia_free_client_credentials @anchor{gnutls_ia_free_client_credentials} @deftypefun {void} {gnutls_ia_free_client_credentials} (gnutls_ia_client_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_ia_client_credentials_t} structure. +@var{sc}: is an @code{gnutls_ia_client_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -263,7 +262,7 @@ @subheading gnutls_ia_allocate_server_credentials @anchor{gnutls_ia_allocate_server_credentials} @deftypefun {int} {gnutls_ia_allocate_server_credentials} (gnutls_ia_server_credentials_t * @var{sc}) -@var{sc}: is a pointer to a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is a pointer to an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it. @@ -280,7 +279,7 @@ @subheading gnutls_ia_free_server_credentials @anchor{gnutls_ia_free_server_credentials} @deftypefun {void} {gnutls_ia_free_server_credentials} (gnutls_ia_server_credentials_t @var{sc}) -@var{sc}: is a @code{gnutls_ia_server_credentials_t} structure. +@var{sc}: is an @code{gnutls_ia_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this helper function is provided in order to free (deallocate) it. @@ -310,7 +309,7 @@ client, and to get a new AVP to send to the client. It can also be used to instruct the TLS/IA handshake to do go into the Intermediate or Final phases. It return a negative error code, or -a @code{gnutls_ia_apptype_t} message type. +an @code{gnutls_ia_apptype_t} message type. The callback may invoke @code{gnutls_ia_permute_inner_secret()} to mix any generated session keys with the TLS/IA inner secret. diff -Nru gnutls26-2.8.6/libextra/includes/gnutls/extra.h gnutls26-2.4.1/libextra/includes/gnutls/extra.h --- gnutls26-2.8.6/libextra/includes/gnutls/extra.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/includes/gnutls/extra.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation - * - * Author: Nikos Mavrogiannopoulos - * - * This file is part of GNUTLS-EXTRA. - * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - * - */ - -/* Note the libgnutls-extra is not a standalone library. It requires - * to link also against libgnutls. - */ - -#ifndef GNUTLS_EXTRA_H -# define GNUTLS_EXTRA_H - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -#define GNUTLS_EXTRA_VERSION GNUTLS_VERSION - - /* TLS/IA stuff - */ - - typedef enum - { - GNUTLS_IA_APPLICATION_PAYLOAD = 0, - GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED = 1, - GNUTLS_IA_FINAL_PHASE_FINISHED = 2 - } gnutls_ia_apptype_t; - - /* TLS/IA credential - */ - - typedef int (*gnutls_ia_avp_func) (gnutls_session_t session, void *ptr, - const char *last, size_t lastlen, - char **next, size_t * nextlen); - - typedef struct gnutls_ia_server_credentials_st - *gnutls_ia_server_credentials_t; - typedef struct gnutls_ia_client_credentials_st - *gnutls_ia_client_credentials_t; - - /* Allocate and free TLS/IA credentials. */ - extern void - gnutls_ia_free_client_credentials (gnutls_ia_client_credentials_t sc); - extern int - gnutls_ia_allocate_client_credentials (gnutls_ia_client_credentials_t * - sc); - - extern void - gnutls_ia_free_server_credentials (gnutls_ia_server_credentials_t sc); - extern int - gnutls_ia_allocate_server_credentials (gnutls_ia_server_credentials_t * - sc); - - /* Client TLS/IA credential functions. */ - extern void - gnutls_ia_set_client_avp_function (gnutls_ia_client_credentials_t cred, - gnutls_ia_avp_func avp_func); - extern void - gnutls_ia_set_client_avp_ptr (gnutls_ia_client_credentials_t cred, - void *ptr); - extern void * - gnutls_ia_get_client_avp_ptr (gnutls_ia_client_credentials_t cred); - - /* Server TLS/IA credential functions. */ - extern void - gnutls_ia_set_server_avp_function (gnutls_ia_server_credentials_t cred, - gnutls_ia_avp_func avp_func); - extern void - gnutls_ia_set_server_avp_ptr (gnutls_ia_server_credentials_t cred, - void *ptr); - extern void * - gnutls_ia_get_server_avp_ptr (gnutls_ia_server_credentials_t cred); - - /* TLS/IA handshake. */ - extern int gnutls_ia_handshake_p (gnutls_session_t session); - - extern int gnutls_ia_handshake (gnutls_session_t session); - - /* TLS/IA low level interface. */ - extern int - gnutls_ia_permute_inner_secret (gnutls_session_t session, - size_t session_keys_size, - const char *session_keys); - extern int gnutls_ia_endphase_send (gnutls_session_t session, - int final_p); - - extern int gnutls_ia_verify_endphase (gnutls_session_t session, - const char *checksum); - - extern ssize_t gnutls_ia_send (gnutls_session_t session, - const char *data, size_t sizeofdata); - extern ssize_t gnutls_ia_recv (gnutls_session_t session, - char *data, size_t sizeofdata); - - /* Utility stuff. */ - extern int gnutls_ia_generate_challenge (gnutls_session_t session, - size_t buffer_size, - char *buffer); - extern void gnutls_ia_extract_inner_secret (gnutls_session_t session, - char *buffer); - - /* Define whether inner phases are wanted. */ - extern void gnutls_ia_enable (gnutls_session_t session, - int allow_skip_on_resume); - - int gnutls_global_init_extra (void); - - /* Use internal (HMAC-)MD5 code, typically for use if libgcrypt is - in FIPS mode. */ - int gnutls_register_md5_handler (void); - -/* returns libgnutls-extra version (call it with a NULL argument) - */ - const char *gnutls_extra_check_version (const char *req_version); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru gnutls26-2.8.6/libextra/includes/gnutls/openssl.h gnutls26-2.4.1/libextra/includes/gnutls/openssl.h --- gnutls26-2.8.6/libextra/includes/gnutls/openssl.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/includes/gnutls/openssl.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,334 +0,0 @@ -/* - * Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation - * Copyright (c) 2002 Andrew McDonald - * - * This file is part of GNUTLS-EXTRA. - * - * GNUTLS-EXTRA 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 3 of the - * License, or (at your option) any later version. - * - * GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - * - */ - -/* WARNING: Error functions aren't currently thread-safe */ - -/* This file contains prototypes about the OPENSSL compatibility - * layer in GNUTLS. GNUTLS is not a replacement of OPENSSL so - * this compatibility layer only support limited OPENSSL functionality. - * - * New programs should avoid using this compatibility layer, and - * use the native GNUTLS API. - */ - -#ifndef GNUTLS_OPENSSL_H -#define GNUTLS_OPENSSL_H - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include - -/* Extra definitions that do not longer exist in gnutls. - */ -#define GNUTLS_X509_CN_SIZE 256 -#define GNUTLS_X509_C_SIZE 3 -#define GNUTLS_X509_O_SIZE 256 -#define GNUTLS_X509_OU_SIZE 256 -#define GNUTLS_X509_L_SIZE 256 -#define GNUTLS_X509_S_SIZE 256 -#define GNUTLS_X509_EMAIL_SIZE 256 - - typedef struct - { - char common_name[GNUTLS_X509_CN_SIZE]; - char country[GNUTLS_X509_C_SIZE]; - char organization[GNUTLS_X509_O_SIZE]; - char organizational_unit_name[GNUTLS_X509_OU_SIZE]; - char locality_name[GNUTLS_X509_L_SIZE]; - char state_or_province_name[GNUTLS_X509_S_SIZE]; - char email[GNUTLS_X509_EMAIL_SIZE]; - } gnutls_x509_dn; - - -#define OPENSSL_VERSION_NUMBER (0x0090604F) -#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER -#define OPENSSL_VERSION_TEXT ("GNUTLS " GNUTLS_VERSION " ") - -#define SSL_ERROR_NONE (0) -#define SSL_ERROR_SSL (1) -#define SSL_ERROR_WANT_READ (2) -#define SSL_ERROR_WANT_WRITE (3) -#define SSL_ERROR_SYSCALL (5) -#define SSL_ERROR_ZERO_RETURN (6) - -#define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM) - -#define SSL_VERIFY_NONE (0) - -#define SSL_ST_OK (1) - -#define X509_V_ERR_CERT_NOT_YET_VALID (1) -#define X509_V_ERR_CERT_HAS_EXPIRED (2) -#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3) - -#define SSL_OP_ALL (0x000FFFFF) -#define SSL_OP_NO_TLSv1 (0x0400000) - -#define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1) -#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2) -#define SSL_MODE_AUTO_RETRY (0x4) - - typedef gnutls_x509_dn X509_NAME; - typedef gnutls_datum_t X509; - - typedef struct _SSL SSL; - - typedef struct - { - int protocol_priority[GNUTLS_MAX_ALGORITHM_NUM]; - int cipher_priority[GNUTLS_MAX_ALGORITHM_NUM]; - int comp_priority[GNUTLS_MAX_ALGORITHM_NUM]; - int kx_priority[GNUTLS_MAX_ALGORITHM_NUM]; - int mac_priority[GNUTLS_MAX_ALGORITHM_NUM]; - gnutls_connection_end_t connend; - } SSL_METHOD; - - typedef struct - { - gnutls_protocol_t version; - gnutls_cipher_algorithm_t cipher; - gnutls_kx_algorithm_t kx; - gnutls_mac_algorithm_t mac; - gnutls_compression_method_t compression; - gnutls_certificate_type_t cert; - } SSL_CIPHER; - - typedef struct _BIO - { - gnutls_transport_ptr_t fd; - } BIO; - - typedef struct - { - SSL *ssl; - int error; - const gnutls_datum_t *cert_list; -#define current_cert cert_list - } X509_STORE_CTX; - -#define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert) - - typedef struct _SSL_CTX - { - SSL_METHOD *method; - char *certfile; - int certfile_type; - char *keyfile; - int keyfile_type; - unsigned long options; - - int (*verify_callback) (int, X509_STORE_CTX *); - int verify_mode; - - } SSL_CTX; - - struct _SSL - { - gnutls_session_t gnutls_state; - - gnutls_certificate_client_credentials gnutls_cred; - - SSL_CTX *ctx; - SSL_CIPHER ciphersuite; - - int last_error; - int shutdown; - int state; - unsigned long options; - - int (*verify_callback) (int, X509_STORE_CTX *); - int verify_mode; - - gnutls_transport_ptr_t rfd; - gnutls_transport_ptr_t wfd; - }; - -#define rbio gnutls_state - - typedef struct { - void* handle; - } MD_CTX; - - struct rsa_st; - typedef struct rsa_st RSA; - -#define MD5_CTX MD_CTX -#define RIPEMD160_CTX MD_CTX - -#define OpenSSL_add_ssl_algorithms() SSL_library_init() -#define SSLeay_add_ssl_algorithms() SSL_library_init() -#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() - -#define SSL_get_cipher_name(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl)) -#define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl) -#define SSL_get_cipher_bits(ssl,bp) SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl),(bp)) -#define SSL_get_cipher_version(ssl) SSL_CIPHER_get_version(SSL_get_current_cipher(ssl)) - - -/* Library initialisation functions */ - - int SSL_library_init (void); - void OpenSSL_add_all_algorithms (void); - - -/* SSL_CTX structure handling */ - - SSL_CTX *SSL_CTX_new (SSL_METHOD * method); - void SSL_CTX_free (SSL_CTX * ctx); - int SSL_CTX_set_default_verify_paths (SSL_CTX * ctx); - int SSL_CTX_use_certificate_file (SSL_CTX * ctx, const char *certfile, - int type); - int SSL_CTX_use_PrivateKey_file (SSL_CTX * ctx, const char *keyfile, - int type); - void SSL_CTX_set_verify (SSL_CTX * ctx, int verify_mode, - int (*verify_callback) (int, X509_STORE_CTX *)); - unsigned long SSL_CTX_set_options (SSL_CTX * ctx, unsigned long options); - long SSL_CTX_set_mode (SSL_CTX * ctx, long mode); - int SSL_CTX_set_cipher_list (SSL_CTX * ctx, const char *list); - - -/* SSL_CTX statistics */ - - long SSL_CTX_sess_number (SSL_CTX * ctx); - long SSL_CTX_sess_connect (SSL_CTX * ctx); - long SSL_CTX_sess_connect_good (SSL_CTX * ctx); - long SSL_CTX_sess_connect_renegotiate (SSL_CTX * ctx); - long SSL_CTX_sess_accept (SSL_CTX * ctx); - long SSL_CTX_sess_accept_good (SSL_CTX * ctx); - long SSL_CTX_sess_accept_renegotiate (SSL_CTX * ctx); - long SSL_CTX_sess_hits (SSL_CTX * ctx); - long SSL_CTX_sess_misses (SSL_CTX * ctx); - long SSL_CTX_sess_timeouts (SSL_CTX * ctx); - - -/* SSL structure handling */ - - SSL *SSL_new (SSL_CTX * ctx); - void SSL_free (SSL * ssl); - void SSL_load_error_strings (void); - int SSL_get_error (SSL * ssl, int ret); - int SSL_set_fd (SSL * ssl, int fd); - int SSL_set_rfd (SSL * ssl, int fd); - int SSL_set_wfd (SSL * ssl, int fd); - void SSL_set_bio (SSL * ssl, BIO * rbio, BIO * wbio); - void SSL_set_connect_state (SSL * ssl); - int SSL_pending (SSL * ssl); - void SSL_set_verify (SSL * ssl, int verify_mode, - int (*verify_callback) (int, X509_STORE_CTX *)); - const X509 *SSL_get_peer_certificate (SSL * ssl); - -/* SSL connection open/close/read/write functions */ - - int SSL_connect (SSL * ssl); - int SSL_accept (SSL * ssl); - int SSL_shutdown (SSL * ssl); - int SSL_read (SSL * ssl, void *buf, int len); - int SSL_write (SSL * ssl, const void *buf, int len); - - int SSL_want (SSL * ssl); - -#define SSL_NOTHING (1) -#define SSL_WRITING (2) -#define SSL_READING (3) -#define SSL_X509_LOOKUP (4) - -#define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) -#define SSL_want_read(s) (SSL_want(s) == SSL_READING) -#define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) -#define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) - - -/* SSL_METHOD functions */ - - SSL_METHOD *SSLv23_client_method (void); - SSL_METHOD *SSLv23_server_method (void); - SSL_METHOD *SSLv3_client_method (void); - SSL_METHOD *SSLv3_server_method (void); - SSL_METHOD *TLSv1_client_method (void); - SSL_METHOD *TLSv1_server_method (void); - - -/* SSL_CIPHER functions */ - - SSL_CIPHER *SSL_get_current_cipher (SSL * ssl); - const char *SSL_CIPHER_get_name (SSL_CIPHER * cipher); - int SSL_CIPHER_get_bits (SSL_CIPHER * cipher, int *bits); - const char *SSL_CIPHER_get_version (SSL_CIPHER * cipher); - char *SSL_CIPHER_description (SSL_CIPHER * cipher, char *buf, int size); - - -/* X509 functions */ - - X509_NAME *X509_get_subject_name (const X509 * cert); - X509_NAME *X509_get_issuer_name (const X509 * cert); - char *X509_NAME_oneline (gnutls_x509_dn * name, char *buf, int len); - void X509_free (const X509 * cert); - - -/* BIO functions */ - - void BIO_get_fd (gnutls_session_t gnutls_state, int *fd); - BIO *BIO_new_socket (int sock, int close_flag); - -/* error handling */ - - unsigned long ERR_get_error (void); - const char *ERR_error_string (unsigned long e, char *buf); - - -/* RAND functions */ - - int RAND_status (void); - void RAND_seed (const void *buf, int num); - int RAND_bytes (unsigned char *buf, int num); - int RAND_pseudo_bytes (unsigned char *buf, int num); - const char *RAND_file_name (char *buf, size_t len); - int RAND_load_file (const char *name, long maxbytes); - int RAND_write_file (const char *name); - - int RAND_egd_bytes (const char *path, int bytes); -#define RAND_egd(p) RAND_egd_bytes((p), 255) - -/* message digest functions */ - -#define MD5_DIGEST_LENGTH 16 - - void MD5_Init (MD5_CTX * ctx); - void MD5_Update (MD5_CTX * ctx, const void *buf, int len); - void MD5_Final (unsigned char *md, MD5_CTX * ctx); - unsigned char *MD5 (const unsigned char *buf, unsigned long len, - unsigned char *md); - - void RIPEMD160_Init (RIPEMD160_CTX * ctx); - void RIPEMD160_Update (RIPEMD160_CTX * ctx, const void *buf, int len); - void RIPEMD160_Final (unsigned char *md, RIPEMD160_CTX * ctx); - unsigned char *RIPEMD160 (const unsigned char *buf, unsigned long len, - unsigned char *md); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru gnutls26-2.8.6/libextra/includes/Makefile.am gnutls26-2.4.1/libextra/includes/Makefile.am --- gnutls26-2.8.6/libextra/includes/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/includes/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -nobase_include_HEADERS = gnutls/extra.h - -if ENABLE_OPENSSL -nobase_include_HEADERS += gnutls/openssl.h -endif diff -Nru gnutls26-2.8.6/libextra/includes/Makefile.in gnutls26-2.4.1/libextra/includes/Makefile.in --- gnutls26-2.8.6/libextra/includes/Makefile.in 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/includes/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,560 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ - -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation -# -# Author: Nikos Mavrogiannopoulos -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = @build@ -host_triplet = @host@ -@ENABLE_OPENSSL_TRUE@am__append_1 = gnutls/openssl.h -subdir = includes -DIST_COMMON = $(am__nobase_include_HEADERS_DIST) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../lib/gl/m4/sockets.m4 \ - $(top_srcdir)/../lib/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/../lib/gl/m4/unistd_h.m4 \ - $(top_srcdir)/../lib/m4/hooks.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hmac-md5.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 $(top_srcdir)/gl/m4/md5.m4 \ - $(top_srcdir)/gl/m4/memxor.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -am__nobase_include_HEADERS_DIST = gnutls/extra.h gnutls/openssl.h -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(includedir)" -HEADERS = $(nobase_include_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_WRITE = @GNULIB_WRITE@ -GREP = @GREP@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ -HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBGCRYPT = @LIBGCRYPT@ -LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ -LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ -LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBGCRYPT = @LTLIBGCRYPT@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_REVISION = @LT_REVISION@ -LZO_LIBS = @LZO_LIBS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_WRITE = @REPLACE_WRITE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -VERSION = @VERSION@ -WARN_CFLAGS = @WARN_CFLAGS@ -WERROR_CFLAGS = @WERROR_CFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xgl_LIBOBJS = @xgl_LIBOBJS@ -xgl_LTLIBOBJS = @xgl_LTLIBOBJS@ -xgltests_LIBOBJS = @xgltests_LIBOBJS@ -xgltests_LTLIBOBJS = @xgltests_LTLIBOBJS@ -nobase_include_HEADERS = gnutls/extra.h $(am__append_1) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu includes/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu includes/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$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 $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nobase_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool ctags distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-nobase_includeHEADERS \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-nobase_includeHEADERS - - -# 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: diff -Nru gnutls26-2.8.6/libextra/INSTALL gnutls26-2.4.1/libextra/INSTALL --- gnutls26-2.8.6/libextra/INSTALL 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,365 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff -Nru gnutls26-2.8.6/libextra/libgnutls-extra-config.in gnutls26-2.4.1/libextra/libgnutls-extra-config.in --- gnutls26-2.8.6/libextra/libgnutls-extra-config.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/libextra/libgnutls-extra-config.in 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,101 @@ +#!/bin/sh + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +exec_prefix_set=no + +gnutls_libs="@LIBGNUTLS_EXTRA_LIBS@" +gnutls_cflags="@LIBGNUTLS_EXTRA_CFLAGS@" +gnutls_la_file="@libdir@/libgnutls-extra.la" + +usage() +{ + cat <&2 +fi + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo "@VERSION@" + exit 0 + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + --la-file) + echo_la_file=yes + ;; + --help) + usage 0 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi + +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi + +if test "$echo_cflags" = "yes"; then + if test "@includedir@" != "/usr/include" ; then + includes="-I@includedir@" + for i in $gnutls_cflags ; do + if test "$i" = "-I@includedir@" ; then + includes="" + fi + done + fi + echo $includes $gnutls_cflags +fi + +if test "$echo_la_file" = "yes"; then + echo ${gnutls_la_file} +fi + +if test "$echo_libs" = "yes"; then + echo ${gnutls_libs} +fi diff -Nru gnutls26-2.8.6/libextra/libgnutls-extra.m4 gnutls26-2.4.1/libextra/libgnutls-extra.m4 --- gnutls26-2.8.6/libextra/libgnutls-extra.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/libextra/libgnutls-extra.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,161 @@ +dnl Autoconf macros for libgnutls-extra +dnl $id$ + +# Modified for LIBGNUTLS_EXTRA -- nmav +# Configure paths for LIBGCRYPT +# Shamelessly stolen from the one of XDELTA by Owen Taylor +# Werner Koch 99-12-09 + +dnl AM_PATH_LIBGNUTLS_EXTRA([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libgnutls-extra, and define LIBGNUTLS_EXTRA_CFLAGS and LIBGNUTLS_EXTRA_LIBS +dnl +AC_DEFUN([AM_PATH_LIBGNUTLS_EXTRA], +[dnl +dnl Get the cflags and libraries from the libgnutls-extra-config script +dnl +AC_ARG_WITH(libgnutls-extra-prefix, + [ --with-libgnutls-extra-prefix=PFX Prefix where libgnutls-extra is installed (optional)], + libgnutls_extra_config_prefix="$withval", libgnutls_extra_config_prefix="") + + if test x$libgnutls_extra_config_prefix != x ; then + if test x${LIBGNUTLS_EXTRA_CONFIG+set} != xset ; then + LIBGNUTLS_EXTRA_CONFIG=$libgnutls_extra_config_prefix/bin/libgnutls-extra-config + fi + fi + + AC_PATH_PROG(LIBGNUTLS_EXTRA_CONFIG, libgnutls-extra-config, no) + min_libgnutls_version=ifelse([$1], ,0.1.0,$1) + AC_MSG_CHECKING(for libgnutls - version >= $min_libgnutls_version) + no_libgnutls="" + if test "$LIBGNUTLS_EXTRA_CONFIG" = "no" ; then + no_libgnutls=yes + else + LIBGNUTLS_EXTRA_CFLAGS=`$LIBGNUTLS_EXTRA_CONFIG $libgnutls_extra_config_args --cflags` + LIBGNUTLS_EXTRA_LIBS=`$LIBGNUTLS_EXTRA_CONFIG $libgnutls_extra_config_args --libs` + libgnutls_extra_config_version=`$LIBGNUTLS_EXTRA_CONFIG $libgnutls_extra_config_args --version` + + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $LIBGNUTLS_EXTRA_CFLAGS" + LIBS="$LIBS $LIBGNUTLS_EXTRA_LIBS" +dnl +dnl Now check if the installed libgnutls is sufficiently new. Also sanity +dnl checks the results of libgnutls-extra-config to some extent +dnl + rm -f conf.libgnutlstest + AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + system ("touch conf.libgnutlstest"); + + if( strcmp( gnutls_extra_check_version(NULL), "$libgnutls_extra_config_version" ) ) + { + printf("\n*** 'libgnutls-extra-config --version' returned %s, but LIBGNUTLS_EXTRA (%s)\n", + "$libgnutls_extra_config_version", gnutls_extra_check_version(NULL) ); + printf("*** was found! If libgnutls-extra-config was correct, then it is best\n"); + printf("*** to remove the old version of LIBGNUTLS_EXTRA. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If libgnutls-extra-config was wrong, set the environment variable LIBGNUTLS_EXTRA_CONFIG\n"); + printf("*** to point to the correct copy of libgnutls-extra-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ( strcmp(gnutls_extra_check_version(NULL), LIBGNUTLS_EXTRA_VERSION ) ) + { + printf("\n*** LIBGNUTLS_EXTRA header file (version %s) does not match\n", LIBGNUTLS_EXTRA_VERSION); + printf("*** library (version %s). This is may be due to a different version of gnutls\n", gnutls_extra_check_version(NULL) ); + printf("*** and gnutls-extra.\n"); + } + else + { + if ( gnutls_extra_check_version( "$min_libgnutls_version" ) ) + { + return 0; + } + else + { + printf("no\n*** An old version of LIBGNUTLS_EXTRA (%s) was found.\n", + gnutls_extra_check_version(NULL) ); + printf("*** You need a version of LIBGNUTLS_EXTRA newer than %s. The latest version of\n", + "$min_libgnutls_version" ); + printf("*** LIBGNUTLS_EXTRA is always available from ftp://gnutls.hellug.gr/pub/gnutls.\n"); + printf("*** \n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libgnutls-extra-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of LIBGNUTLS_EXTRA, but you can also set the LIBGNUTLS_EXTRA_CONFIG environment to point to the\n"); + printf("*** correct copy of libgnutls-extra-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_libgnutls=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_libgnutls" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + if test -f conf.libgnutlstest ; then + : + else + AC_MSG_RESULT(no) + fi + if test "$LIBGNUTLS_EXTRA_CONFIG" = "no" ; then + echo "*** The libgnutls-extra-config script installed by LIBGNUTLS_EXTRA could not be found" + echo "*** If LIBGNUTLS_EXTRA was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBGNUTLS_EXTRA_CONFIG environment variable to the" + echo "*** full path to libgnutls-extra-config." + else + if test -f conf.libgnutlstest ; then + : + else + echo "*** Could not run libgnutls test program, checking why..." + CFLAGS="$CFLAGS $LIBGNUTLS_EXTRA_CFLAGS" + LIBS="$LIBS $LIBGNUTLS_EXTRA_LIBS" + AC_TRY_LINK([ +#include +#include +#include +#include +], [ return !!gnutls_extra_check_version(NULL); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding LIBGNUTLS_EXTRA or finding the wrong" + echo "*** version of LIBGNUTLS_EXTRA. If it is not finding LIBGNUTLS_EXTRA, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means LIBGNUTLS_EXTRA was incorrectly installed" + echo "*** or that you have moved LIBGNUTLS_EXTRA since it was installed. In the latter case, you" + echo "*** may want to edit the libgnutls-extra-config script: $LIBGNUTLS_EXTRA_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + LIBGNUTLS_EXTRA_CFLAGS="" + LIBGNUTLS_EXTRA_LIBS="" + ifelse([$3], , :, [$3]) + fi + rm -f conf.libgnutlstest + AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) + AC_SUBST(LIBGNUTLS_EXTRA_LIBS) +]) + +dnl *-*wedit:notab*-* Please keep this as the last line. diff -Nru gnutls26-2.8.6/libextra/libgnutls-extra.map gnutls26-2.4.1/libextra/libgnutls-extra.map --- gnutls26-2.8.6/libextra/libgnutls-extra.map 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/libgnutls-extra.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -# libgnutls-extra.map -- libgnutls-extra linker version script-*- ld-script -*- -# Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation -# -# Author: Simon Josefsson -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -GNUTLS_1_4 -{ - global: - gnutls_extra_check_version; - gnutls_global_init_extra; - gnutls_ia_allocate_client_credentials; - gnutls_ia_allocate_server_credentials; - gnutls_ia_enable; - gnutls_ia_endphase_send; - gnutls_ia_extract_inner_secret; - gnutls_ia_free_client_credentials; - gnutls_ia_free_server_credentials; - gnutls_ia_generate_challenge; - gnutls_ia_get_client_avp_ptr; - gnutls_ia_get_server_avp_ptr; - gnutls_ia_handshake; - gnutls_ia_handshake_p; - gnutls_ia_permute_inner_secret; - gnutls_ia_recv; - gnutls_ia_send; - gnutls_ia_set_client_avp_function; - gnutls_ia_set_client_avp_ptr; - gnutls_ia_set_server_avp_function; - gnutls_ia_set_server_avp_ptr; - gnutls_ia_verify_endphase; - gnutls_register_md5_handler; - - local: - *; -}; diff -Nru gnutls26-2.8.6/libextra/libgnutls-extra.vers gnutls26-2.4.1/libextra/libgnutls-extra.vers --- gnutls26-2.8.6/libextra/libgnutls-extra.vers 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/libextra/libgnutls-extra.vers 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,27 @@ +# libgnutls-extra.vers -- linker script for libgnutls-extra. -*- ld-script -*- +# Copyright (C) 2005, 2007, 2008 Free Software Foundation +# +# Author: Simon Josefsson +# +# This file is part of GNUTLS-EXTRA. +# +# GNUTLS-EXTRA 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 3 of the +# License, or (at your option) any later version. +# +# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +GNUTLS_1_4 +{ + global: gnutls*; + local: *; +}; diff -Nru gnutls26-2.8.6/libextra/m4/hooks.m4 gnutls26-2.4.1/libextra/m4/hooks.m4 --- gnutls26-2.8.6/libextra/m4/hooks.m4 2009-08-12 08:17:27.000000000 +0100 +++ gnutls26-2.4.1/libextra/m4/hooks.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. -# -# Author: Nikos Mavrogiannopoulos, Simon Josefsson -# -# This file is part of GNUTLS-EXTRA. -# -# GNUTLS-EXTRA 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 3 of the -# License, or (at your option) any later version. -# -# GNUTLS-EXTRA 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 GNUTLS-EXTRA; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -AC_DEFUN([LIBGNUTLS_EXTRA_HOOKS], -[ - AC_MSG_CHECKING([whether to disable OpenSSL compatibility layer]) - AC_ARG_ENABLE(openssl-compatibility, - AS_HELP_STRING([--disable-openssl-compatibility], - [disable the OpenSSL compatibility support]), - enable_openssl=$withval, enable_openssl=yes) - AC_MSG_RESULT($enable_openssl) - AM_CONDITIONAL(ENABLE_OPENSSL, test "$enable_openssl" = "yes") - - # We link to ../lib's gnulib, which needs -lws2_32 via LIBSOCKET in Makefile.am. - gl_SOCKETS -]) diff -Nru gnutls26-2.8.6/libextra/m4/libtool.m4 gnutls26-2.4.1/libextra/m4/libtool.m4 --- gnutls26-2.8.6/libextra/m4/libtool.m4 2010-03-15 10:28:49.000000000 +0000 +++ gnutls26-2.4.1/libextra/m4/libtool.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,7377 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# 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. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 56 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; -esac - -_LT_OUTPUT_LIBTOOL_INIT -]) - - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -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 - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(lt_ECHO) -]) -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${F77-"f77"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${FC-"f95"} - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC="$lt_save_CC" -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC="$lt_save_CC" -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF - ;; - esac -]) diff -Nru gnutls26-2.8.6/libextra/m4/lt~obsolete.m4 gnutls26-2.4.1/libextra/m4/lt~obsolete.m4 --- gnutls26-2.8.6/libextra/m4/lt~obsolete.m4 2010-03-15 10:28:50.000000000 +0000 +++ gnutls26-2.4.1/libextra/m4/lt~obsolete.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# 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. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) diff -Nru gnutls26-2.8.6/libextra/m4/ltoptions.m4 gnutls26-2.4.1/libextra/m4/ltoptions.m4 --- gnutls26-2.8.6/libextra/m4/ltoptions.m4 2010-03-15 10:28:50.000000000 +0000 +++ gnutls26-2.4.1/libextra/m4/ltoptions.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,368 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru gnutls26-2.8.6/libextra/m4/ltsugar.m4 gnutls26-2.4.1/libextra/m4/ltsugar.m4 --- gnutls26-2.8.6/libextra/m4/ltsugar.m4 2010-03-15 10:28:50.000000000 +0000 +++ gnutls26-2.4.1/libextra/m4/ltsugar.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff -Nru gnutls26-2.8.6/libextra/m4/ltversion.m4 gnutls26-2.4.1/libextra/m4/ltversion.m4 --- gnutls26-2.8.6/libextra/m4/ltversion.m4 2010-03-15 10:28:50.000000000 +0000 +++ gnutls26-2.4.1/libextra/m4/ltversion.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# 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. - -# Generated from ltversion.in. - -# serial 3017 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.2.6b]) -m4_define([LT_PACKAGE_REVISION], [1.3017]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6b' -macro_revision='1.3017' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff -Nru gnutls26-2.8.6/libextra/Makefile.am gnutls26-2.4.1/libextra/Makefile.am --- gnutls26-2.8.6/libextra/Makefile.am 2009-08-13 10:39:48.000000000 +0100 +++ gnutls26-2.4.1/libextra/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -20,23 +20,23 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I ../lib/m4 -I ../lib/gl/m4 - -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(srcdir)/../lib/gl \ - -I$(builddir)/../lib/gl \ - -I$(srcdir)/gl \ - -I$(builddir)/../lib/includes \ - -I$(srcdir)/../lib/includes \ - -I$(srcdir)/includes \ - -I$(srcdir)/../lib +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/lib -I../includes -I$(top_srcdir)/includes \ + -I$(top_srcdir)/lib/minitasn1 \ + $(LIBGCRYPT_CFLAGS) if ENABLE_MINITASN1 -AM_CPPFLAGS += -I$(srcdir)/../lib/minitasn1 +AM_CPPFLAGS += -I$(top_srcdir)/lib/minitasn1 +else +AM_CPPFLAGS += $(LIBTASN1_CFLAGS) endif -SUBDIRS = gl includes +SUBDIRS = + +bin_SCRIPTS = libgnutls-extra-config + +m4datadir = $(datadir)/aclocal +dist_m4data_DATA = libgnutls-extra.m4 # Pkg-config script. pkgconfigdir = $(libdir)/pkgconfig @@ -50,7 +50,7 @@ lib_LTLIBRARIES = libgnutls-extra.la -libgnutls_extra_la_SOURCES = libgnutls-extra.map gnutls_extra.c fipsmd5.c +libgnutls_extra_la_SOURCES = gnutls_extra.c libgnutls_openssl_la_LDFLAGS = -no-undefined @@ -62,40 +62,38 @@ libgnutls_openssl_la_SOURCES = gnutls_openssl.c openssl_compat.h \ openssl_compat.c -libgnutls_openssl_la_LIBADD = ../lib/gl/liblgnu.la $(LIBSOCKET) \ - ../lib/libgnutls.la +libgnutls_openssl_la_LIBADD = ../lgl/liblgnu.la ../lib/libgnutls.la libgnutls_openssl_la_LDFLAGS += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) if ENABLE_MINITASN1 libgnutls_openssl_la_LIBADD += ../lib/minitasn1/libminitasn1.la else -libgnutls_openssl_la_LDFLAGS += $(LTLIBTASN1) +libgnutls_openssl_la_LDFLAGS += $(LIBTASN1_LIBS) endif if HAVE_LD_OUTPUT_DEF libgnutls_openssl_la_LDFLAGS += \ - -Wl,--output-def,libgnutls-openssl-$(DLL_VERSION).def -defexec_DATA += libgnutls-openssl-$(DLL_VERSION).def + -Wl,--output-def,libgnutls-openssl-$(SOVERSION).def +defexec_DATA += libgnutls-openssl-$(SOVERSION).def endif endif # OpenPGP -libgnutls_extra_la_LIBADD = $(LIBSOCKET) +libgnutls_extra_la_LIBADD = libgnutls_extra_la_LDFLAGS = -no-undefined # TLS/IA -libgnutls_extra_la_SOURCES += \ - ext_inner_application.h ext_inner_application.c gnutls_ia.c +libgnutls_extra_la_SOURCES += gnutls_ia.c # Rest if HAVE_LD_OUTPUT_DEF libgnutls_extra_la_LDFLAGS += \ - -Wl,--output-def,libgnutls-extra-$(DLL_VERSION).def -defexec_DATA += libgnutls-extra-$(DLL_VERSION).def + -Wl,--output-def,libgnutls-extra-$(SOVERSION).def +defexec_DATA += libgnutls-extra-$(SOVERSION).def endif DISTCLEANFILES += $(defexec_DATA) @@ -104,21 +102,20 @@ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ $(LZO_LIBS) -libgnutls_extra_la_LIBADD += ../lib/gl/liblgnu.la gl/libxgnu.la \ - ../lib/libgnutls.la +libgnutls_extra_la_SOURCES += libgnutls-extra.vers + +libgnutls_extra_la_LIBADD += ../lgl/liblgnu.la ../lib/libgnutls.la if HAVE_LD_VERSION_SCRIPT libgnutls_extra_la_LDFLAGS += \ - -Wl,--version-script=$(srcdir)/libgnutls-extra.map -else -libgnutls_extra_la_LDFLAGS += -export-symbols-regex '^(gnutls_).*' + -Wl,--version-script=$(srcdir)/libgnutls-extra.vers endif gnutls-extra-api.texi: gnutls_extra.c @echo "" > $@ @for i in $<; do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> $@ && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> $@ && \ echo "ok"; \ done @@ -126,7 +123,7 @@ @echo "" > $@ @for i in $<; do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> $@ && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> $@ && \ echo "ok"; \ done diff -Nru gnutls26-2.8.6/libextra/Makefile.in gnutls26-2.4.1/libextra/Makefile.in --- gnutls26-2.8.6/libextra/Makefile.in 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/libextra/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -37,11 +36,11 @@ # 02110-1301, USA. + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -56,97 +55,131 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(srcdir)/../lib/minitasn1 +@ENABLE_MINITASN1_TRUE@am__append_1 = -I$(top_srcdir)/lib/minitasn1 +@ENABLE_MINITASN1_FALSE@am__append_2 = $(LIBTASN1_CFLAGS) # OpenSSL -@ENABLE_OPENSSL_TRUE@am__append_2 = libgnutls-openssl.la -@ENABLE_OPENSSL_TRUE@am__append_3 = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -@ENABLE_MINITASN1_TRUE@@ENABLE_OPENSSL_TRUE@am__append_4 = ../lib/minitasn1/libminitasn1.la -@ENABLE_MINITASN1_FALSE@@ENABLE_OPENSSL_TRUE@am__append_5 = $(LTLIBTASN1) -@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@am__append_6 = \ -@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@ -Wl,--output-def,libgnutls-openssl-$(DLL_VERSION).def +@ENABLE_OPENSSL_TRUE@am__append_3 = libgnutls-openssl.la +@ENABLE_OPENSSL_TRUE@am__append_4 = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) +@ENABLE_MINITASN1_TRUE@@ENABLE_OPENSSL_TRUE@am__append_5 = ../lib/minitasn1/libminitasn1.la +@ENABLE_MINITASN1_FALSE@@ENABLE_OPENSSL_TRUE@am__append_6 = $(LIBTASN1_LIBS) +@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@am__append_7 = \ +@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@ -Wl,--output-def,libgnutls-openssl-$(SOVERSION).def -@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@am__append_7 = libgnutls-openssl-$(DLL_VERSION).def +@ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@am__append_8 = libgnutls-openssl-$(SOVERSION).def # Rest -@HAVE_LD_OUTPUT_DEF_TRUE@am__append_8 = \ -@HAVE_LD_OUTPUT_DEF_TRUE@ -Wl,--output-def,libgnutls-extra-$(DLL_VERSION).def +@HAVE_LD_OUTPUT_DEF_TRUE@am__append_9 = \ +@HAVE_LD_OUTPUT_DEF_TRUE@ -Wl,--output-def,libgnutls-extra-$(SOVERSION).def -@HAVE_LD_OUTPUT_DEF_TRUE@am__append_9 = libgnutls-extra-$(DLL_VERSION).def -@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_10 = \ -@HAVE_LD_VERSION_SCRIPT_TRUE@ -Wl,--version-script=$(srcdir)/libgnutls-extra.map - -@HAVE_LD_VERSION_SCRIPT_FALSE@am__append_11 = -export-symbols-regex '^(gnutls_).*' -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/gnutls-extra.pc.in $(top_srcdir)/configure AUTHORS \ - COPYING ChangeLog INSTALL NEWS build-aux/config.guess \ - build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/ltmain.sh build-aux/missing +@HAVE_LD_OUTPUT_DEF_TRUE@am__append_10 = libgnutls-extra-$(SOVERSION).def +@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_11 = \ +@HAVE_LD_VERSION_SCRIPT_TRUE@ -Wl,--version-script=$(srcdir)/libgnutls-extra.vers + +subdir = libextra +DIST_COMMON = $(dist_m4data_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/gnutls-extra.pc.in \ + $(srcdir)/libgnutls-extra-config.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../lib/gl/m4/sockets.m4 \ - $(top_srcdir)/../lib/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/../lib/gl/m4/unistd_h.m4 \ - $(top_srcdir)/../lib/m4/hooks.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ + $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ + $(top_srcdir)/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ + $(top_srcdir)/gl/m4/getpass.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hmac-md5.m4 \ - $(top_srcdir)/gl/m4/ld-output-def.m4 \ - $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 $(top_srcdir)/gl/m4/md5.m4 \ - $(top_srcdir)/gl/m4/memxor.m4 $(top_srcdir)/m4/hooks.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/include_next.m4 \ + $(top_srcdir)/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/gl/m4/inet_pton.m4 \ + $(top_srcdir)/gl/m4/netinet_in_h.m4 \ + $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = gnutls-extra.pc -CONFIG_CLEAN_VPATH_FILES = +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = libgnutls-extra-config gnutls-extra.pc am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" \ +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(m4datadir)" \ "$(DESTDIR)$(pkgconfigdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) -am__DEPENDENCIES_1 = -libgnutls_extra_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - ../lib/gl/liblgnu.la gl/libxgnu.la ../lib/libgnutls.la -am_libgnutls_extra_la_OBJECTS = gnutls_extra.lo fipsmd5.lo \ - ext_inner_application.lo gnutls_ia.lo +libgnutls_extra_la_DEPENDENCIES = ../lgl/liblgnu.la \ + ../lib/libgnutls.la +am_libgnutls_extra_la_OBJECTS = gnutls_extra.lo gnutls_ia.lo libgnutls_extra_la_OBJECTS = $(am_libgnutls_extra_la_OBJECTS) libgnutls_extra_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libgnutls_extra_la_LDFLAGS) $(LDFLAGS) -o $@ @ENABLE_OPENSSL_TRUE@libgnutls_openssl_la_DEPENDENCIES = \ -@ENABLE_OPENSSL_TRUE@ ../lib/gl/liblgnu.la \ -@ENABLE_OPENSSL_TRUE@ $(am__DEPENDENCIES_1) ../lib/libgnutls.la \ -@ENABLE_OPENSSL_TRUE@ $(am__append_4) +@ENABLE_OPENSSL_TRUE@ ../lgl/liblgnu.la ../lib/libgnutls.la \ +@ENABLE_OPENSSL_TRUE@ $(am__append_5) am__libgnutls_openssl_la_SOURCES_DIST = gnutls_openssl.c \ openssl_compat.h openssl_compat.c @ENABLE_OPENSSL_TRUE@am_libgnutls_openssl_la_OBJECTS = \ @@ -156,10 +189,11 @@ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libgnutls_openssl_la_LDFLAGS) $(LDFLAGS) -o $@ @ENABLE_OPENSSL_TRUE@am_libgnutls_openssl_la_rpath = -rpath $(libdir) -DEFAULT_INCLUDES = -I.@am__isrc@ +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -180,184 +214,365 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive -DATA = $(defexec_DATA) $(pkgconfig_DATA) +defexecDATA_INSTALL = $(INSTALL_DATA) +dist_m4dataDATA_INSTALL = $(INSTALL_DATA) +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(defexec_DATA) $(dist_m4data_DATA) $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ +ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FLOAT_H = @FLOAT_H@ +GAA = @GAA@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FSYNC = @GNULIB_FSYNC@ +GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FOPEN = @GNULIB_FOPEN@ +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ +GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSEEK = @GNULIB_FSEEK@ +GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FTELL = @GNULIB_FTELL@ +GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ +GNULIB_GETDELIM = @GNULIB_GETDELIM@ +GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ +GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PUTENV = @GNULIB_PUTENV@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ +GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_WRITE = @GNULIB_WRITE@ +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_UNSETENV = @GNULIB_UNSETENV@ +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FSYNC = @HAVE_FSYNC@ +HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRNDUP = @HAVE_STRNDUP@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNSETENV = @HAVE_UNSETENV@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_VASPRINTF = @HAVE_VASPRINTF@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ +HAVE__BOOL = @HAVE__BOOL@ +HTML_DIR = @HTML_DIR@ +INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ +LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBREADLINE = @LTLIBREADLINE@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NM = @NM@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NETINET_IN_H = @NETINET_IN_H@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDIO_H = @NEXT_STDIO_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ +NEXT_TIME_H = @NEXT_TIME_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ +REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FPRINTF = @REPLACE_FPRINTF@ +REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FSEEK = @REPLACE_FSEEK@ +REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FTELL = @REPLACE_FTELL@ +REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ +REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ +REPLACE_VPRINTF = @REPLACE_VPRINTF@ +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ +STDARG_H = @STDARG_H@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ STRIP = @STRIP@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_SOCKET_H = @SYS_SOCKET_H@ +SYS_STAT_H = @SYS_STAT_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ VERSION = @VERSION@ -WARN_CFLAGS = @WARN_CFLAGS@ -WERROR_CFLAGS = @WERROR_CFLAGS@ +VOID_UNSETENV = @VOID_UNSETENV@ +WCHAR_H = @WCHAR_H@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -375,6 +590,11 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +guile_snarf = @guile_snarf@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -384,11 +604,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -404,17 +627,14 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xgl_LIBOBJS = @xgl_LIBOBJS@ -xgl_LTLIBOBJS = @xgl_LTLIBOBJS@ -xgltests_LIBOBJS = @xgltests_LIBOBJS@ -xgltests_LTLIBOBJS = @xgltests_LTLIBOBJS@ -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I ../lib/m4 -I ../lib/gl/m4 -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = -I$(srcdir)/../lib/gl -I$(builddir)/../lib/gl \ - -I$(srcdir)/gl -I$(builddir)/../lib/includes \ - -I$(srcdir)/../lib/includes -I$(srcdir)/includes \ - -I$(srcdir)/../lib $(am__append_1) -SUBDIRS = gl includes +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/lib -I../includes -I$(top_srcdir)/includes \ + -I$(top_srcdir)/lib/minitasn1 $(LIBGCRYPT_CFLAGS) \ + $(am__append_1) $(am__append_2) +SUBDIRS = +bin_SCRIPTS = libgnutls-extra-config +m4datadir = $(datadir)/aclocal +dist_m4data_DATA = libgnutls-extra.m4 # Pkg-config script. pkgconfigdir = $(libdir)/pkgconfig @@ -422,107 +642,79 @@ DISTCLEANFILES = $(pkgconfig_DATA) $(defexec_DATA) EXTRA_DIST = gnutls-extra-api.texi ia-api.texi defexecdir = $(bindir) -defexec_DATA = $(am__append_7) $(am__append_9) -lib_LTLIBRARIES = libgnutls-extra.la $(am__append_2) +defexec_DATA = $(am__append_8) $(am__append_10) +lib_LTLIBRARIES = libgnutls-extra.la $(am__append_3) # TLS/IA -libgnutls_extra_la_SOURCES = libgnutls-extra.map gnutls_extra.c \ - fipsmd5.c ext_inner_application.h ext_inner_application.c \ - gnutls_ia.c -libgnutls_openssl_la_LDFLAGS = -no-undefined $(am__append_3) \ - $(am__append_5) $(am__append_6) +libgnutls_extra_la_SOURCES = gnutls_extra.c gnutls_ia.c \ + libgnutls-extra.vers +libgnutls_openssl_la_LDFLAGS = -no-undefined $(am__append_4) \ + $(am__append_6) $(am__append_7) @ENABLE_OPENSSL_TRUE@libgnutls_openssl_la_SOURCES = gnutls_openssl.c openssl_compat.h \ @ENABLE_OPENSSL_TRUE@ openssl_compat.c -@ENABLE_OPENSSL_TRUE@libgnutls_openssl_la_LIBADD = \ -@ENABLE_OPENSSL_TRUE@ ../lib/gl/liblgnu.la $(LIBSOCKET) \ -@ENABLE_OPENSSL_TRUE@ ../lib/libgnutls.la $(am__append_4) +@ENABLE_OPENSSL_TRUE@libgnutls_openssl_la_LIBADD = ../lgl/liblgnu.la \ +@ENABLE_OPENSSL_TRUE@ ../lib/libgnutls.la $(am__append_5) # OpenPGP -libgnutls_extra_la_LIBADD = $(LIBSOCKET) ../lib/gl/liblgnu.la \ - gl/libxgnu.la ../lib/libgnutls.la -libgnutls_extra_la_LDFLAGS = -no-undefined $(am__append_8) \ +libgnutls_extra_la_LIBADD = ../lgl/liblgnu.la ../lib/libgnutls.la +libgnutls_extra_la_LDFLAGS = -no-undefined $(am__append_9) \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ - $(LZO_LIBS) $(am__append_10) $(am__append_11) -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive + $(LZO_LIBS) $(am__append_11) +all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj -am--refresh: - @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libextra/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu libextra/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) 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: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +libgnutls-extra-config: $(top_builddir)/config.status $(srcdir)/libgnutls-extra-config.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gnutls-extra.pc: $(top_builddir)/config.status $(srcdir)/gnutls-extra.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - list2="$$list2 $$p"; \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } + done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: @@ -537,6 +729,25 @@ $(libgnutls_extra_la_LINK) -rpath $(libdir) $(libgnutls_extra_la_OBJECTS) $(libgnutls_extra_la_LIBADD) $(LIBS) libgnutls-openssl.la: $(libgnutls_openssl_la_OBJECTS) $(libgnutls_openssl_la_DEPENDENCIES) $(libgnutls_openssl_la_LINK) $(am_libgnutls_openssl_la_rpath) $(libgnutls_openssl_la_OBJECTS) $(libgnutls_openssl_la_LIBADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -544,8 +755,6 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_inner_application.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fipsmd5.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_extra.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_ia.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_openssl.Plo@am__quote@ @@ -553,21 +762,21 @@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -577,49 +786,57 @@ clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt install-defexecDATA: $(defexec_DATA) @$(NORMAL_INSTALL) test -z "$(defexecdir)" || $(MKDIR_P) "$(DESTDIR)$(defexecdir)" - @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \ - for p in $$list; do \ + @list='$(defexec_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(defexecdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(defexecdir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(defexecDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(defexecdir)/$$f'"; \ + $(defexecDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(defexecdir)/$$f"; \ done uninstall-defexecDATA: @$(NORMAL_UNINSTALL) - @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(defexecdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(defexecdir)" && rm -f $$files + @list='$(defexec_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(defexecdir)/$$f'"; \ + rm -f "$(DESTDIR)$(defexecdir)/$$f"; \ + done +install-dist_m4dataDATA: $(dist_m4data_DATA) + @$(NORMAL_INSTALL) + test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)" + @list='$(dist_m4data_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_m4dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4datadir)/$$f'"; \ + $(dist_m4dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4datadir)/$$f"; \ + done + +uninstall-dist_m4dataDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_m4data_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \ + rm -f "$(DESTDIR)$(m4datadir)/$$f"; \ + done install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - for p in $$list; do \ + @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -628,7 +845,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -645,7 +862,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -653,7 +870,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -679,16 +896,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -696,14 +913,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -715,50 +932,43 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + tags=; \ + 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -774,44 +984,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -819,127 +1014,12 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -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 $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | 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 - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__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 ../.. && umask 077 && mkdir "$$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 \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @$(am__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 $(LTLIBRARIES) $(DATA) config.h +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive @@ -962,7 +1042,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -974,11 +1053,10 @@ mostlyclean-am distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags + distclean-tags dvi: dvi-recursive @@ -986,43 +1064,30 @@ html: html-recursive -html-am: - info: info-recursive info-am: -install-data-am: install-pkgconfigDATA +install-data-am: install-dist_m4dataDATA install-pkgconfigDATA install-dvi: install-dvi-recursive -install-dvi-am: - -install-exec-am: install-defexecDATA install-libLTLIBRARIES +install-exec-am: install-binSCRIPTS install-defexecDATA \ + install-libLTLIBRARIES install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1040,38 +1105,39 @@ ps-am: -uninstall-am: uninstall-defexecDATA uninstall-libLTLIBRARIES \ +uninstall-am: uninstall-binSCRIPTS uninstall-defexecDATA \ + uninstall-dist_m4dataDATA uninstall-libLTLIBRARIES \ uninstall-pkgconfigDATA -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool ctags ctags-recursive dist \ - dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-defexecDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-defexecDATA \ - uninstall-libLTLIBRARIES uninstall-pkgconfigDATA + all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ + dist-hook distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binSCRIPTS \ + install-data install-data-am install-defexecDATA \ + install-dist_m4dataDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-libLTLIBRARIES \ + install-man install-pdf install-pdf-am install-pkgconfigDATA \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binSCRIPTS uninstall-defexecDATA \ + uninstall-dist_m4dataDATA uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA gnutls-extra-api.texi: gnutls_extra.c @echo "" > $@ @for i in $<; do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> $@ && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> $@ && \ echo "ok"; \ done @@ -1079,12 +1145,11 @@ @echo "" > $@ @for i in $<; do \ echo -n "Creating documentation for file $$i... " && \ - $(srcdir)/../doc/scripts/gdoc -texinfo $$i >> $@ && \ + $(top_srcdir)/doc/scripts/gdoc -texinfo $$i >> $@ && \ echo "ok"; \ done dist-hook: gnutls-extra-api.texi ia-api.texi - # 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: diff -Nru gnutls26-2.8.6/libextra/NEWS gnutls26-2.4.1/libextra/NEWS --- gnutls26-2.8.6/libextra/NEWS 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/NEWS 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../NEWS. diff -Nru gnutls26-2.8.6/libextra/openssl_compat.c gnutls26-2.4.1/libextra/openssl_compat.c --- gnutls26-2.8.6/libextra/openssl_compat.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/openssl_compat.c 2008-06-19 11:00:10.000000000 +0100 @@ -614,7 +614,8 @@ */ peer_certificate_list_size = cert_list_length; peer_certificate_list = - gnutls_calloc (peer_certificate_list_size, sizeof (gnutls_x509_crt_t)); + gnutls_calloc (1, + peer_certificate_list_size * sizeof (gnutls_x509_crt_t)); if (peer_certificate_list == NULL) { gnutls_assert (); @@ -624,7 +625,7 @@ ca_certificate_list_size = CA_list_length; ca_certificate_list = - gnutls_calloc (ca_certificate_list_size, sizeof (gnutls_x509_crt_t)); + gnutls_calloc (1, ca_certificate_list_size * sizeof (gnutls_x509_crt_t)); if (ca_certificate_list == NULL) { gnutls_assert (); @@ -635,7 +636,7 @@ /* allocate memory for CRL */ crl_list_size = CRL_list_length; - crl_list = gnutls_calloc (crl_list_size, sizeof (gnutls_x509_crl_t)); + crl_list = gnutls_calloc (1, crl_list_size * sizeof (gnutls_x509_crl_t)); if (crl_list == NULL) { gnutls_assert (); @@ -840,4 +841,40 @@ return result; } + +/*- + * gnutls_x509_pkcs7_extract_certificate_count - This function returns the number of certificates in a PKCS7 certificate set + * @pkcs7_struct: should contain a PKCS7 DER formatted structure + * + * This function will return the number of certifcates in the PKCS7 or + * RFC2630 certificate set. + * + * Returns a negative value on failure. + * + -*/ +int +gnutls_x509_pkcs7_extract_certificate_count (const gnutls_datum_t * + pkcs7_struct) +{ + gnutls_pkcs7_t pkcs7; + int result; + + result = gnutls_pkcs7_init (&pkcs7); + if (result < 0) + return result; + + result = gnutls_pkcs7_import (pkcs7, pkcs7_struct, GNUTLS_X509_FMT_DER); + if (result < 0) + { + gnutls_pkcs7_deinit (pkcs7); + return result; + } + + result = gnutls_pkcs7_get_crt_count (pkcs7); + + gnutls_pkcs7_deinit (pkcs7); + + return result; +} + #endif diff -Nru gnutls26-2.8.6/libextra/openssl_compat.h gnutls26-2.4.1/libextra/openssl_compat.h --- gnutls26-2.8.6/libextra/openssl_compat.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/openssl_compat.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2008 Free Software Foundation + * Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation * * Author: Nikos Mavrogiannopoulos * @@ -68,6 +68,8 @@ #define gnutls_x509_fingerprint gnutls_fingerprint #define gnutls_x509_certificate_format gnutls_x509_crt_fmt_t +int gnutls_x509_extract_key_pk_algorithm (const gnutls_datum_t * key); + #define gnutls_certificate_set_rsa_params gnutls_certificate_set_rsa_export_params #endif diff -Nru gnutls26-2.8.6/libextra/README gnutls26-2.4.1/libextra/README --- gnutls26-2.8.6/libextra/README 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/libextra/README 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -See ../README. diff -Nru gnutls26-2.8.6/m4/gettext.m4 gnutls26-2.4.1/m4/gettext.m4 --- gnutls26-2.8.6/m4/gettext.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/gettext.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,381 @@ +# gettext.m4 serial 60 (gettext-0.17) +dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff -Nru gnutls26-2.8.6/m4/gtk-doc.m4 gnutls26-2.4.1/m4/gtk-doc.m4 --- gnutls26-2.8.6/m4/gtk-doc.m4 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/m4/gtk-doc.m4 2008-06-19 11:00:10.000000000 +0100 @@ -8,12 +8,6 @@ [ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - - dnl check for tools we added during development - AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check]) - AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) - AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) - dnl for overriding the documentation installation directory AC_ARG_WITH([html-dir], AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, @@ -32,30 +26,14 @@ [PKG_CHECK_EXISTS([gtk-doc],, AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))], [PKG_CHECK_EXISTS([gtk-doc >= $1],, - AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))]) + AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))]) fi AC_MSG_CHECKING([whether to build gtk-doc documentation]) AC_MSG_RESULT($enable_gtk_doc) - dnl enable/disable output formats - AC_ARG_ENABLE([gtk-doc-html], - AS_HELP_STRING([--enable-gtk-doc-html], - [build documentation in html format [[default=yes]]]),, - [enable_gtk_doc_html=yes]) - AC_ARG_ENABLE([gtk-doc-pdf], - AS_HELP_STRING([--enable-gtk-doc-pdf], - [build documentation in pdf format [[default=no]]]),, - [enable_gtk_doc_pdf=no]) - - if test -n "$GTKDOC_MKPDF"; then - enable_gtk_doc_pdf=no - fi - + AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,) AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) - AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) ]) diff -Nru gnutls26-2.8.6/m4/iconv.m4 gnutls26-2.4.1/m4/iconv.m4 --- gnutls26-2.8.6/m4/iconv.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/iconv.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,180 @@ +# iconv.m4 serial AM6 (gettext-0.17) +dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ + dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + AC_TRY_RUN([ +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff -Nru gnutls26-2.8.6/m4/intlmacosx.m4 gnutls26-2.4.1/m4/intlmacosx.m4 --- gnutls26-2.8.6/m4/intlmacosx.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/intlmacosx.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,51 @@ +# intlmacosx.m4 serial 1 (gettext-0.17) +dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + gt_cv_func_CFPreferencesCopyAppValue, + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff -Nru gnutls26-2.8.6/m4/inttypes_h.m4 gnutls26-2.4.1/m4/inttypes_h.m4 --- gnutls26-2.8.6/m4/inttypes_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/inttypes_h.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,26 @@ +# inttypes_h.m4 serial 7 +dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1; return !i;], + gl_cv_header_inttypes_h=yes, + gl_cv_header_inttypes_h=no)]) + if test $gl_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff -Nru gnutls26-2.8.6/m4/libgcrypt.m4 gnutls26-2.4.1/m4/libgcrypt.m4 --- gnutls26-2.8.6/m4/libgcrypt.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/libgcrypt.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,108 @@ +dnl Autoconf macros for libgcrypt +dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. +dnl +dnl This file is free software; as a special exception the author gives +dnl unlimited permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl +dnl This file is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. +dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed +dnl with the API version to also check the API compatibility. Example: +dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed +dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using +dnl this features allows to prevent build against newer versions of libgcrypt +dnl with a changed API. +dnl +AC_DEFUN([AM_PATH_LIBGCRYPT], +[ AC_ARG_WITH(libgcrypt-prefix, + AC_HELP_STRING([--with-libgcrypt-prefix=PFX], + [prefix where LIBGCRYPT is installed (optional)]), + libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") + if test x$libgcrypt_config_prefix != x ; then + if test x${LIBGCRYPT_CONFIG+set} != xset ; then + LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config + fi + fi + + AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no) + tmp=ifelse([$1], ,1:1.2.0,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` + min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` + else + req_libgcrypt_api=0 + min_libgcrypt_version="$tmp" + fi + + AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) + ok=no + if test "$LIBGCRYPT_CONFIG" != "no" ; then + req_major=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + req_micro=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` + libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` + major=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -gt "$req_minor"; then + ok=yes + else + if test "$minor" -eq "$req_minor"; then + if test "$micro" -ge "$req_micro"; then + ok=yes + fi + fi + fi + fi + fi + fi + if test $ok = yes; then + AC_MSG_RESULT([yes ($libgcrypt_config_version)]) + else + AC_MSG_RESULT(no) + fi + if test $ok = yes; then + # If we have a recent libgcrypt, we should also check that the + # API is compatible + if test "$req_libgcrypt_api" -gt 0 ; then + tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + AC_MSG_CHECKING([LIBGCRYPT API version]) + if test "$req_libgcrypt_api" -eq "$tmp" ; then + AC_MSG_RESULT([okay]) + else + ok=no + AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) + fi + fi + fi + fi + if test $ok = yes; then + LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` + LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` + ifelse([$2], , :, [$2]) + else + LIBGCRYPT_CFLAGS="" + LIBGCRYPT_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(LIBGCRYPT_CFLAGS) + AC_SUBST(LIBGCRYPT_LIBS) +]) diff -Nru gnutls26-2.8.6/m4/lib-ld.m4 gnutls26-2.4.1/m4/lib-ld.m4 --- gnutls26-2.8.6/m4/lib-ld.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/lib-ld.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 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 +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff -Nru gnutls26-2.8.6/m4/lib-link.m4 gnutls26-2.4.1/m4/lib-link.m4 --- gnutls26-2.8.6/m4/lib-link.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/lib-link.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,709 @@ +# lib-link.m4 serial 13 (gettext-0.17) +dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ(2.54) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl acl_libext, +dnl acl_shlibext, +dnl acl_hardcode_libdir_flag_spec, +dnl acl_hardcode_libdir_separator, +dnl acl_hardcode_direct, +dnl acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl Autoconf >= 2.61 supports dots in --with options. + define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], +[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + LIB[]NAME[]_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff -Nru gnutls26-2.8.6/m4/lib-prefix.m4 gnutls26-2.4.1/m4/lib-prefix.m4 --- gnutls26-2.8.6/m4/lib-prefix.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/lib-prefix.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,185 @@ +# lib-prefix.m4 serial 5 (gettext-0.15) +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing +dnl the basename of the libdir, either "lib" or "lib64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. The current + dnl practice is that on a system supporting 32-bit and 64-bit instruction + dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit + dnl libraries go under $prefix/lib. We determine the compiler's default + dnl mode by looking at the compiler's library search path. If at least + dnl of its elements ends in /lib64 or points to a directory whose absolute + dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the + dnl default, namely "lib". + acl_libdirstem=lib + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi +]) diff -Nru gnutls26-2.8.6/m4/libtasn1.m4 gnutls26-2.4.1/m4/libtasn1.m4 --- gnutls26-2.8.6/m4/libtasn1.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/libtasn1.m4 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,160 @@ +dnl Autoconf macros for libtasn1 +dnl $id$ + +# Modified for LIBTASN1 -- nmav +# Configure paths for LIBGCRYPT +# Shamelessly stolen from the one of XDELTA by Owen Taylor +# Werner Koch 99-12-09 + +dnl AM_PATH_LIBTASN1([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libtasn1, and define LIBTASN1_CFLAGS and LIBTASN1_LIBS +dnl +AC_DEFUN([AM_PATH_LIBTASN1], +[dnl +dnl Get the cflags and libraries from the libtasn1-config script +dnl +AC_ARG_WITH(libtasn1-prefix, + [ --with-libtasn1-prefix=PFX Prefix where libtasn1 is installed (optional)], + libtasn1_config_prefix="$withval", libtasn1_config_prefix="") + + if test x$libtasn1_config_prefix != x ; then + if test x${LIBTASN1_CONFIG+set} != xset ; then + LIBTASN1_CONFIG=$libtasn1_config_prefix/bin/libtasn1-config + fi + fi + + AC_PATH_PROG(LIBTASN1_CONFIG, libtasn1-config, no) + min_libtasn1_version=ifelse([$1], ,0.1.0,$1) + AC_MSG_CHECKING(for libtasn1 - version >= $min_libtasn1_version) + no_libtasn1="" + if test "$LIBTASN1_CONFIG" = "no" ; then + no_libtasn1=yes + else + LIBTASN1_CFLAGS=`$LIBTASN1_CONFIG $libtasn1_config_args --cflags` + LIBTASN1_LIBS=`$LIBTASN1_CONFIG $libtasn1_config_args --libs` + libtasn1_config_version=`$LIBTASN1_CONFIG $libtasn1_config_args --version` + + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" +dnl +dnl Now check if the installed libtasn1 is sufficiently new. Also sanity +dnl checks the results of libtasn1-config to some extent +dnl + rm -f conf.libtasn1test + AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + system ("touch conf.libtasn1test"); + + if( strcmp( asn1_check_version(NULL), "$libtasn1_config_version" ) ) + { + printf("\n*** 'libtasn1-config --version' returned %s, but LIBTASN1 (%s)\n", + "$libtasn1_config_version", asn1_check_version(NULL) ); + printf("*** was found! If libtasn1-config was correct, then it is best\n"); + printf("*** to remove the old version of LIBTASN1. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If libtasn1-config was wrong, set the environment variable LIBTASN1_CONFIG\n"); + printf("*** to point to the correct copy of libtasn1-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ( strcmp(asn1_check_version(NULL), LIBTASN1_VERSION ) ) + { + printf("\n*** LIBTASN1 header file (version %s) does not match\n", LIBTASN1_VERSION); + printf("*** library (version %s)\n", asn1_check_version(NULL) ); + } + else + { + if ( asn1_check_version( "$min_libtasn1_version" ) ) + { + return 0; + } + else + { + printf("no\n*** An old version of LIBTASN1 (%s) was found.\n", + asn1_check_version(NULL) ); + printf("*** You need a version of LIBTASN1 newer than %s. The latest version of\n", + "$min_libtasn1_version" ); + printf("*** LIBTASN1 is always available from ftp://gnutls.hellug.gr/pub/gnutls/libtasn1.\n"); + printf("*** \n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libtasn1-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of LIBTASN1, but you can also set the LIBTASN1_CONFIG environment to point to the\n"); + printf("*** correct copy of libtasn1-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_libtasn1=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_libtasn1" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + if test -f conf.libtasn1test ; then + : + else + AC_MSG_RESULT(no) + fi + if test "$LIBTASN1_CONFIG" = "no" ; then + echo "*** The libtasn1-config script installed by LIBTASN1 could not be found" + echo "*** If LIBTASN1 was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBTASN1_CONFIG environment variable to the" + echo "*** full path to libtasn1-config." + else + if test -f conf.libtasn1test ; then + : + else + echo "*** Could not run libtasn1 test program, checking why..." + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" + AC_TRY_LINK([ +#include +#include +#include +#include +], [ return !!asn1_check_version(NULL); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding LIBTASN1 or finding the wrong" + echo "*** version of LIBTASN1. If it is not finding LIBTASN1, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means LIBTASN1 was incorrectly installed" + echo "*** or that you have moved LIBTASN1 since it was installed. In the latter case, you" + echo "*** may want to edit the libtasn1-config script: $LIBTASN1_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + LIBTASN1_CFLAGS="" + LIBTASN1_LIBS="" + ifelse([$3], , :, [$3]) + fi + rm -f conf.libtasn1test + AC_SUBST(LIBTASN1_CFLAGS) + AC_SUBST(LIBTASN1_LIBS) +]) + +dnl *-*wedit:notab*-* Please keep this as the last line. diff -Nru gnutls26-2.8.6/m4/libtool.m4 gnutls26-2.4.1/m4/libtool.m4 --- gnutls26-2.8.6/m4/libtool.m4 2010-03-15 10:28:59.000000000 +0000 +++ gnutls26-2.4.1/m4/libtool.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,7377 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# 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. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 56 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; -esac - -_LT_OUTPUT_LIBTOOL_INIT -]) - - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -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 - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(lt_ECHO) -]) -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${F77-"f77"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${FC-"f95"} - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC="$lt_save_CC" -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC="$lt_save_CC" -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF - ;; - esac -]) diff -Nru gnutls26-2.8.6/m4/longlong.m4 gnutls26-2.4.1/m4/longlong.m4 --- gnutls26-2.8.6/m4/longlong.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/longlong.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,109 @@ +# longlong.m4 serial 13 +dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_LONG_LONG_INT if 'long long int' works. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. + +# Note: If the type 'long long int' exists but is only 32 bits large +# (as on some very old compilers), HAVE_LONG_LONG_INT will not be +# defined. In this case you can treat 'long long int' like 'long int'. + +AC_DEFUN([AC_TYPE_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], + [AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. + dnl If cross compiling, assume the bug isn't important, since + dnl nobody cross compiles for this platform as far as we know. + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[@%:@include + @%:@ifndef LLONG_MAX + @%:@ define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + @%:@ define LLONG_MAX (HALF - 1 + HALF) + @%:@endif]], + [[long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0;]])], + [ac_cv_type_long_long_int=yes], + [ac_cv_type_long_long_int=no], + [ac_cv_type_long_long_int=yes])], + [ac_cv_type_long_long_int=no])]) + if test $ac_cv_type_long_long_int = yes; then + AC_DEFINE([HAVE_LONG_LONG_INT], 1, + [Define to 1 if the system has the type `long long int'.]) + fi +]) + +# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. + +# Note: If the type 'unsigned long long int' exists but is only 32 bits +# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT +# will not be defined. In this case you can treat 'unsigned long long int' +# like 'unsigned long int'. + +AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for unsigned long long int], + [ac_cv_type_unsigned_long_long_int], + [AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [ac_cv_type_unsigned_long_long_int=yes], + [ac_cv_type_unsigned_long_long_int=no])]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, + [Define to 1 if the system has the type `unsigned long long int'.]) + fi +]) + +# Expands to a C program that can be used to test for simultaneous support +# of 'long long' and 'unsigned long long'. We don't want to say that +# 'long long' is available if 'unsigned long long' is not, or vice versa, +# because too many programs rely on the symmetry between signed and unsigned +# integer types (excluding 'bool'). +AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], +[ + AC_LANG_PROGRAM( + [[/* Test preprocessor. */ + #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + error in preprocessor; + #endif + #if ! (18446744073709551615ULL <= -1ull) + error in preprocessor; + #endif + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63;]], + [[/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull));]]) +]) diff -Nru gnutls26-2.8.6/m4/lt~obsolete.m4 gnutls26-2.4.1/m4/lt~obsolete.m4 --- gnutls26-2.8.6/m4/lt~obsolete.m4 2010-03-15 10:29:01.000000000 +0000 +++ gnutls26-2.4.1/m4/lt~obsolete.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# 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. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) diff -Nru gnutls26-2.8.6/m4/ltoptions.m4 gnutls26-2.4.1/m4/ltoptions.m4 --- gnutls26-2.8.6/m4/ltoptions.m4 2010-03-15 10:29:00.000000000 +0000 +++ gnutls26-2.4.1/m4/ltoptions.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,368 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru gnutls26-2.8.6/m4/ltsugar.m4 gnutls26-2.4.1/m4/ltsugar.m4 --- gnutls26-2.8.6/m4/ltsugar.m4 2010-03-15 10:29:00.000000000 +0000 +++ gnutls26-2.4.1/m4/ltsugar.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff -Nru gnutls26-2.8.6/m4/ltversion.m4 gnutls26-2.4.1/m4/ltversion.m4 --- gnutls26-2.8.6/m4/ltversion.m4 2010-03-15 10:29:01.000000000 +0000 +++ gnutls26-2.4.1/m4/ltversion.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# 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. - -# Generated from ltversion.in. - -# serial 3017 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.2.6b]) -m4_define([LT_PACKAGE_REVISION], [1.3017]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6b' -macro_revision='1.3017' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff -Nru gnutls26-2.8.6/m4/nls.m4 gnutls26-2.4.1/m4/nls.m4 --- gnutls26-2.8.6/m4/nls.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/nls.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,31 @@ +# nls.m4 serial 3 (gettext-0.15) +dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) diff -Nru gnutls26-2.8.6/m4/po.m4 gnutls26-2.4.1/m4/po.m4 --- gnutls26-2.8.6/m4/po.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/po.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,449 @@ +# po.m4 serial 15 (gettext-0.17) +dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; 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 + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ(2.50) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# 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 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# 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. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + 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 +]) diff -Nru gnutls26-2.8.6/m4/size_max.m4 gnutls26-2.4.1/m4/size_max.m4 --- gnutls26-2.8.6/m4/size_max.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/size_max.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,68 @@ +# size_max.m4 serial 6 +dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([gl_SIZE_MAX], +[ + AC_CHECK_HEADERS(stdint.h) + dnl First test whether the system already has SIZE_MAX. + AC_MSG_CHECKING([for SIZE_MAX]) + AC_CACHE_VAL([gl_cv_size_max], [ + gl_cv_size_max= + AC_EGREP_CPP([Found it], [ +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif +], gl_cv_size_max=yes) + if test -z "$gl_cv_size_max"; then + dnl Define it ourselves. Here we assume that the type 'size_t' is not wider + dnl than the type 'unsigned long'. Try hard to find a definition that can + dnl be used in a preprocessor #if, i.e. doesn't contain a cast. + AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], + [#include +#include ], size_t_bits_minus_1=) + AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], + [#include ], fits_in_uint=) + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + dnl Even though SIZE_MAX fits in an unsigned int, it must be of type + dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. + AC_TRY_COMPILE([#include + extern size_t foo; + extern unsigned long foo; + ], [], fits_in_uint=0) + fi + dnl We cannot use 'expr' to simplify this expression, because 'expr' + dnl works only with 'long' integers in the host environment, while we + dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + dnl Shouldn't happen, but who knows... + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi + ]) + AC_MSG_RESULT([$gl_cv_size_max]) + if test "$gl_cv_size_max" != yes; then + AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], + [Define as the maximum value of type 'size_t', if the system doesn't define it.]) + fi +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) +]) diff -Nru gnutls26-2.8.6/m4/stdint_h.m4 gnutls26-2.4.1/m4/stdint_h.m4 --- gnutls26-2.8.6/m4/stdint_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/stdint_h.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,26 @@ +# stdint_h.m4 serial 6 +dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1; return !i;], + gl_cv_header_stdint_h=yes, + gl_cv_header_stdint_h=no)]) + if test $gl_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff -Nru gnutls26-2.8.6/m4/valgrind.m4 gnutls26-2.4.1/m4/valgrind.m4 --- gnutls26-2.8.6/m4/valgrind.m4 2009-11-06 16:22:23.000000000 +0000 +++ gnutls26-2.4.1/m4/valgrind.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -# valgrind.m4 serial 2 -dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# sj_VALGRIND() -# ------------- -# Check if valgrind is available, and set VALGRIND to it if available. -AC_DEFUN([sj_VALGRIND], -[ - AC_ARG_ENABLE(valgrind-tests, - AS_HELP_STRING([--enable-valgrind-tests], - [run self tests under valgrind]), - [opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes]) - - # Run self-tests under valgrind? - if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then - AC_CHECK_PROGS(VALGRIND, valgrind) - fi - - if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then - opt_valgrind_tests=yes - else - opt_valgrind_tests=no - VALGRIND= - fi - - AC_MSG_CHECKING([whether self tests are run under valgrind]) - AC_MSG_RESULT($opt_valgrind_tests) -]) diff -Nru gnutls26-2.8.6/m4/wchar_t.m4 gnutls26-2.4.1/m4/wchar_t.m4 --- gnutls26-2.8.6/m4/wchar_t.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/wchar_t.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,20 @@ +# wchar_t.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether has the 'wchar_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WCHAR_T], +[ + AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, + [AC_TRY_COMPILE([#include + wchar_t foo = (wchar_t)'\0';], , + gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) + if test $gt_cv_c_wchar_t = yes; then + AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) + fi +]) diff -Nru gnutls26-2.8.6/m4/wint_t.m4 gnutls26-2.4.1/m4/wint_t.m4 --- gnutls26-2.8.6/m4/wint_t.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/wint_t.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,28 @@ +# wint_t.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether has the 'wint_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WINT_T], +[ + AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, + [AC_TRY_COMPILE([ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0';], , + gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) + if test $gt_cv_c_wint_t = yes; then + AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) + fi +]) diff -Nru gnutls26-2.8.6/m4/xsize.m4 gnutls26-2.4.1/m4/xsize.m4 --- gnutls26-2.8.6/m4/xsize.m4 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/m4/xsize.m4 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,13 @@ +# xsize.m4 serial 3 +dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_XSIZE], +[ + dnl Prerequisites of lib/xsize.h. + AC_REQUIRE([gl_SIZE_MAX]) + AC_REQUIRE([AC_C_INLINE]) + AC_CHECK_HEADERS(stdint.h) +]) diff -Nru gnutls26-2.8.6/maint.mk gnutls26-2.4.1/maint.mk --- gnutls26-2.8.6/maint.mk 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/maint.mk 2008-06-19 11:00:10.000000000 +0100 @@ -1,28 +1,31 @@ # -*-Makefile-*- -# This Makefile fragment tries to be general-purpose enough to be -# used by many projects via the gnulib maintainer-makefile module. +# This Makefile fragment is intended to be useful by any GNU-like project. +# This file originate from coreutils, CPPI, Bison, and Autoconf. -## Copyright (C) 2001-2009 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 3 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, see . +# Copyright (C) 2001-2007 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 3 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, see . -# This is reported not to work with make-3.79.1 -# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk -# Override this in cfg.mk if you use a non-standard build-aux directory. -build_aux ?= $(srcdir)/build-aux +# List of all C-like source code files that will be tested for +# stylistic "errors". You may want to define this to something +# more complex in Makefile.cfg. +C_SOURCES ?= $(shell find . -name '*.[chly]') + +# Add some more files to check, typically set in Makefile.cfg. +C_SOURCES += $(C_SOURCES_ADD) # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. @@ -30,728 +33,81 @@ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' -# cfg.mk must define the gpg_key_ID used by this package. -GIT = git -VC = $(GIT) -VC-tag = git tag -s -m '$(VERSION)' -u '$(gpg_key_ID)' - -VC_LIST = $(build_aux)/vc-list-files -C $(srcdir) - -VC_LIST_EXCEPT = \ - $(VC_LIST) | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; else grep -v ChangeLog; fi - -ifeq ($(origin prev_version_file), undefined) - prev_version_file = $(srcdir)/.prev-version -endif - -PREV_VERSION := $(shell cat $(prev_version_file)) -VERSION_REGEXP = $(subst .,\.,$(VERSION)) -PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) - -ifeq ($(VC),$(GIT)) -this-vc-tag = v$(VERSION) -this-vc-tag-regexp = v$(VERSION_REGEXP) -else -tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') -tag-this-version = $(subst .,_,$(VERSION)) -this-vc-tag = $(tag-package)-$(tag-this-version) -this-vc-tag-regexp = $(this-vc-tag) -endif -my_distdir = $(PACKAGE)-$(VERSION) - -# Old releases are stored here. -release_archive_dir ?= ../release - # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C -## --------------- ## -## Sanity checks. ## -## --------------- ## - -# Collect the names of rules starting with `sc_'. -syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ - $(srcdir)/$(ME) $(srcdir)/cfg.mk) -.PHONY: $(syntax-check-rules) - -local-checks-available = \ - $(syntax-check-rules) -.PHONY: $(local-checks-available) - -# Arrange to print the name of each syntax-checking rule just before running it. -$(syntax-check-rules): %: %.m -$(patsubst %, %.m, $(syntax-check-rules)): - @echo $(patsubst sc_%.m, %, $@) - -local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available)) - -syntax-check: $(local-check) -# @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \ -# $$(find -type f -name '*.[chly]') && \ -# { echo '$(ME): found conditional include' 1>&2; \ -# exit 1; } || : - -# grep -nE '^# *include <(string|stdlib)\.h>' \ -# $(srcdir)/{lib,src}/*.[chy] && \ -# { echo '$(ME): FIXME' 1>&2; \ -# exit 1; } || : -# FIXME: don't allow `#include .strings\.h' anywhere - -# By default, _prohibit_regexp does not ignore case. -export ignore_case = -_ignore_case = $$(test -n "$$ignore_case" && echo -i || :) - -# There are many rules below that prohibit constructs in this package. -# If the offending construct can be matched with a grep-E-style regexp, -# use this macro. The shell variables "re" and "msg" must be defined. -define _prohibit_regexp - dummy=; : so we do not need a semicolon before each use; \ - test "x$$re" != x || { echo '$(ME): re not defined' 1>&2; exit 1; }; \ - test "x$$msg" != x || { echo '$(ME): msg not defined' 1>&2; exit 1; };\ - grep $(_ignore_case) -nE "$$re" $$($(VC_LIST_EXCEPT)) && \ - { echo '$(ME): '"$$msg" 1>&2; exit 1; } || : -endef - -sc_avoid_if_before_free: - @$(build_aux)/useless-if-before-free \ - $(useless_free_options) \ - $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ - { echo '$(ME): found useless "if" before "free" above' 1>&2; \ - exit 1; } || : - +# Casting arguments to free is never necessary. sc_cast_of_argument_to_free: - @re='\&2; \ + exit 1; } || : sc_cast_of_x_alloc_return_value: - @re='\*\) *x(m|c|re)alloc\>' \ - msg='don'\''t cast x*alloc return value' \ - $(_prohibit_regexp) + @grep -nE '\*\) *x(m|c|re)alloc\>' $(C_SOURCES) && \ + { echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \ + exit 1; } || : sc_cast_of_alloca_return_value: - @re='\*\) *alloca\>' msg='don'\''t cast alloca return value' \ - $(_prohibit_regexp) + @grep -nE '\*\) *alloca\>' $(C_SOURCES) && \ + { echo '$(ME): don'\''t cast alloca return value' 1>&2; \ + exit 1; } || : sc_space_tab: - @re='[ ] ' msg='found SPACE-TAB sequence; remove the SPACE' \ - $(_prohibit_regexp) + @grep -n '[ ] ' $(C_SOURCES) && \ + { echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \ + 1>&2; exit 1; } || : -# Don't use *scanf or the old ato* functions in `real' code. +# Don't use the old ato* functions in `real' code. # They provide no error checking mechanism. # Instead, use strto* functions. sc_prohibit_atoi_atof: - @re='\<([fs]?scanf|ato([filq]|ll)) *\(' \ - msg='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \ - $(_prohibit_regexp) - -# Use STREQ rather than comparing strcmp == 0, or != 0. -sc_prohibit_strcmp: - @grep -nE '! *str''cmp *\(|\' $(C_SOURCES) && \ + { echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \ 1>&2; exit 1; } || : # Using EXIT_SUCCESS as the first argument to error is misleading, # since when that parameter is 0, error does not exit. Use `0' instead. sc_error_exit_success: - @grep -nE 'error \(EXIT_SUCCESS,' \ - $$($(VC_LIST_EXCEPT) | grep -E '\.[chly]$$') && \ - { echo '$(ME): found error (EXIT_SUCCESS' 1>&2; exit 1; } || : - -# `FATAL:' should be fully upper-cased in error messages -# `WARNING:' should be fully upper-cased, or fully lower-cased -sc_error_message_warn_fatal: - @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \ - | grep -E '"Warning|"Fatal|"fatal' && \ - { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ - exit 1; } || : - -# Error messages should not start with a capital letter -sc_error_message_uppercase: - @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \ - | grep -E '"[A-Z]' \ - | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ - { echo '$(ME): found capitalized error message' 1>&2; \ + @grep -nF 'error (EXIT_SUCCESS,' $(C_SOURCES) && \ + { echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \ exit 1; } || : -# Error messages should not end with a period -sc_error_message_period: - @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \ - | grep -E '[^."]\."' && \ - { echo '$(ME): found error message ending in period' 1>&2; \ - exit 1; } || : - -sc_file_system: - @re=file''system ignore_case=1 \ - msg='found use of "file''system"; spell it "file system"' \ - $(_prohibit_regexp) - -# Don't use cpp tests of this symbol. All code assumes config.h is included. -sc_prohibit_have_config_h: - @grep -n '^# *if.*HAVE''_CONFIG_H' $$($(VC_LIST_EXCEPT)) && \ - { echo '$(ME): found use of HAVE''_CONFIG_H; remove' \ +# Stylistic, use #ifdef instead of #if +sc_no_if_have_config_h: + @grep -n '^# *if HAVE_CONFIG_H' $(C_SOURCES) && \ + { echo '$(ME): found use of #if HAVE_CONFIG_H; use #ifdef' \ 1>&2; exit 1; } || : -# Nearly all .c files must include . However, we also permit this -# via inclusion of a package-specific header, if cfg.mk specified one. -# config_h_header must be suitable for grep -E. -config_h_header ?= -sc_require_config_h: - @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ - grep -EL '^# *include $(config_h_header)' \ - $$($(VC_LIST_EXCEPT) | grep '\.c$$') \ - | grep . && \ - { echo '$(ME): the above files do not include ' \ - 1>&2; exit 1; } || :; \ - else :; \ - fi - -# You must include before including any other header file. -# This can possibly be via a package-specific header, if given by cfg.mk. -sc_require_config_h_first: - @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ - fail=0; \ - for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ - grep '^# *include\>' $$i | sed 1q \ - | grep -E '^# *include $(config_h_header)' > /dev/null \ - || { echo $$i; fail=1; }; \ - done; \ - test $$fail = 1 && \ - { echo '$(ME): the above files include some other header' \ - 'before ' 1>&2; exit 1; } || :; \ - else :; \ - fi - -sc_prohibit_HAVE_MBRTOWC: - @re='\bHAVE_MBRTOWC\b' msg="do not use $$re; it is always defined" \ - $(_prohibit_regexp) - -# To use this "command" macro, you must first define two shell variables: -# h: the header, enclosed in <> or "" -# re: a regular expression that matches IFF something provided by $h is used. -define _header_without_use - h_esc=`echo "$$h"|sed 's/\./\\./g'`; \ - if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ - files=$$(grep -l '^# *include '"$$h_esc" \ - $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ - grep -LE "$$re" $$files | grep . && \ - { echo "$(ME): the above files include $$h but don't use it" \ - 1>&2; exit 1; } || :; \ - else :; \ - fi -endef - # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: - @h='' re='\"]' $(C_SOURCES) \ + | grep '\.[cy]$$') && \ + grep -L '\ but don't use it" \ + 1>&2; exit 1; } || : sc_obsolete_symbols: - @re='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \ - msg='do not use HAVE''_FCNTL_H or O'_NDELAY \ - $(_prohibit_regexp) - -# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ + @grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' $(C_SOURCES) && \ + { echo '$(ME): do not use HAVE''_FCNTL_H or O''_NDELAY' \ + 1>&2; exit 1; } || : -# Each nonempty ChangeLog line must start with a year number, or a TAB. +# Each nonempty line must start with a year number, or a TAB. sc_changelog: - @if $(VC_LIST_EXCEPT) | grep -l '^ChangeLog$$' >/dev/null; then \ - grep -n '^[^12 ]' \ - $$($(VC_LIST_EXCEPT) | grep '^ChangeLog$$') && \ + @grep -n '^[^12 ]' $$(find . -name ChangeLog) && \ { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \ - exit 1; } || :; \ - fi - -# Ensure that each .c file containing a "main" function also -# calls set_program_name. -sc_program_name: - @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ - files=$$(grep -l '^main *(' $$($(VC_LIST_EXCEPT) | grep '\.c$$')); \ - grep -LE 'set_program_name *\(m?argv\[0\]\);' $$files \ - | grep . && \ - { echo '$(ME): the above files do not call set_program_name' \ - 1>&2; exit 1; } || :; \ - else :; \ - fi - -# Require that the final line of each test-lib.sh-using test be this one: -# Exit $fail -# Note: this test requires GNU grep's --label= option. -sc_require_test_exit_idiom: - @if test -f $(srcdir)/tests/test-lib.sh; then \ - die=0; \ - for i in $$(grep -l -F /../test-lib.sh $$($(VC_LIST) tests)); do \ - tail -n1 $$i | grep '^Exit \$$fail$$' > /dev/null \ - && : || { die=1; echo $$i; } \ - done; \ - test $$die = 1 && \ - { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ - echo 1>&2 'Exit $$fail'; \ - exit 1; } || :; \ - fi - -sc_the_the: - @re='\' \ - ignore_case=1 msg='found use of "the ''the";' \ - $(_prohibit_regexp) - -sc_trailing_blank: - @re='[ ]$$' \ - msg='found trailing blank(s)' \ - $(_prohibit_regexp) - -# Match lines like the following, but where there is only one space -# between the options and the description: -# -D, --all-repeated[=delimit-method] print all duplicate lines\n -longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? -sc_two_space_separator_in_usage: - @grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ - $$($(VC_LIST_EXCEPT)) && \ - { echo "$(ME): help2man requires at least two spaces between"; \ - echo "$(ME): an option and its description"; \ - 1>&2; exit 1; } || : - -# Look for diagnostics that aren't marked for translation. -# This won't find any for which error's format string is on a separate line. -sc_unmarked_diagnostics: - @grep -nE \ - '\&2; \ exit 1; } || : -# Avoid useless parentheses like those in this example: -# #if defined (SYMBOL) || defined (SYM2) -sc_useless_cpp_parens: - @grep -n '^# *if .*defined *(' $$($(VC_LIST_EXCEPT)) && \ - { echo '$(ME): found useless parentheses in cpp directive' \ - 1>&2; exit 1; } || : - -# Require the latest GPL. -sc_GPL_version: - @re='either ''version [^3]' msg='GPL vN, N!=3' \ - $(_prohibit_regexp) - -cvs_keywords = \ - Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State - -sc_prohibit_cvs_keyword: - @re='\$$($(cvs_keywords))\$$' \ - msg='do not use CVS keyword expansion' \ - $(_prohibit_regexp) - -# Make sure we don't use st_blocks. Use ST_NBLOCKS instead. -# This is a bit of a kludge, since it prevents use of the string -# even in comments, but for now it does the job with no false positives. -sc_prohibit_stat_st_blocks: - @re='[.>]st_blocks' msg='do not use st_blocks; use ST_NBLOCKS' \ - $(_prohibit_regexp) - -# Make sure we don't define any S_IS* macros in src/*.c files. -# They're already defined via gnulib's sys/stat.h replacement. -sc_prohibit_S_IS_definition: - @re='^ *# *define *S_IS' \ - msg='do not define S_IS* macros; include ' \ - $(_prohibit_regexp) - -# Each program that uses proper_name_utf8 must link with -# one of the ICONV libraries. -sc_proper_name_utf8_requires_ICONV: - @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\ - if test "x$$progs" != x; then \ - fail=0; \ - for p in $$progs; do \ - dir=$$(dirname "$$p"); \ - base=$$(basename "$$p" .c); \ - grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ - || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ - done; \ - test $$fail = 1 && \ - { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ - exit 1; } || :; \ - fi - -# Warn about "c0nst struct Foo const foo[]", -# but not about "char const *const foo" or "#define const const". -sc_redundant_const: - @re='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ - msg='redundant "const" in declarations' \ - $(_prohibit_regexp) - -sc_const_long_option: - @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \ - | grep -Ev 'const struct option|struct option const' && { \ - echo 1>&2 '$(ME): add "const" to the above declarations'; \ - exit 1; } || : - -NEWS_hash = \ - $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ - $(srcdir)/NEWS \ - | grep -v '^Copyright .*Free Software' \ - | md5sum - \ - | sed 's/ .*//') - -# Ensure that we don't accidentally insert an entry into an old NEWS block. -sc_immutable_NEWS: - @if test -f $(srcdir)/NEWS; then \ - test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ - { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ - fi - -# Update the hash stored above. Do this after each release and -# for any corrections to old entries. -update-NEWS-hash: NEWS - perl -pi -e 's/^(old_NEWS_hash = ).*/$${1}'"$(NEWS_hash)/" \ - $(srcdir)/cfg.mk - -# Ensure that we use only the standard $(VAR) notation, -# not @...@ in Makefile.am, now that we can rely on automake -# to emit a definition for each substituted variable. -# We use perl rather than "grep -nE ..." to exempt a single -# use of an @...@-delimited variable name in src/Makefile.am. -sc_makefile_check: - @perl -ne '/\@[A-Z_0-9]+\@/ && !/^cu_install_program =/' \ - -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ - $$($(VC_LIST_EXCEPT) | grep -E '(^|/)Makefile\.am$$') \ - && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : - -news-date-check: NEWS - today=`date +%Y-%m-%d`; \ - if head $(srcdir)/NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \ - >/dev/null; then \ - :; \ - else \ - echo "version or today's date is not in NEWS" 1>&2; \ - exit 1; \ - fi - -sc_makefile_TAB_only_indentation: - @grep -nE '^ [ ]{8}' \ - $$($(VC_LIST_EXCEPT) | grep -E 'akefile|\.mk$$') \ - && { echo '$(ME): found TAB-8-space indentation' 1>&2; \ - exit 1; } || : - -sc_m4_quote_check: - @grep -nE '(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ - $$($(VC_LIST_EXCEPT) | grep -E '(^configure\.ac|\.m4)$$') \ - && { echo '$(ME): quote the first arg to AC_DEF*' 1>&2; \ - exit 1; } || : - -fix_po_file_diag = \ -'you have changed the set of files with translatable diagnostics;\n\ -apply the above patch\n' - -# Verify that all source files using _() are listed in po/POTFILES.in. -po_file = po/POTFILES.in -sc_po_check: - @if test -f $(po_file); then \ - grep -E -v '^(#|$$)' $(po_file) \ - | grep -v '^src/false\.c$$' | sort > $@-1; \ - files=; \ - for file in $$($(VC_LIST_EXCEPT)) lib/*.[ch]; do \ - test -r $$file || continue; \ - case $$file in \ - *.?|*.??) ;; \ - *) continue;; \ - esac; \ - case $$file in \ - *.[ch]) \ - base=`expr " $$file" : ' \(.*\)\..'`; \ - { test -f $$base.l || test -f $$base.y; } && continue;; \ - esac; \ - files="$$files $$file"; \ - done; \ - grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ - | sort -u > $@-2; \ - diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ - || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ - rm -f $@-1 $@-2; \ - fi - -# Sometimes it is useful to change the PATH environment variable -# in Makefiles. When doing so, it's better not to use the Unix-centric -# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'. -msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead' -sc_makefile_path_separator_check: - @grep -nE 'PATH[=].*:' \ - $$($(VC_LIST_EXCEPT) | grep -E 'akefile|\.mk$$') \ - && { echo $(msg) 1>&2; exit 1; } || : - -# Check that `make alpha' will not fail at the end of the process. -writable-files: - if test -d $(release_archive_dir); then :; else \ - for file in $(distdir).tar.gz \ - $(release_archive_dir)/$(distdir).tar.gz; do \ - test -e $$file || continue; \ - test -w $$file \ - || { echo ERROR: $$file is not writable; fail=1; }; \ - done; \ - test "$$fail" && exit 1 || : ; \ - fi - -v_etc_file = lib/version-etc.c -sample-test = tests/sample-test -texi = doc/$(PACKAGE).texi -# Make sure that the copyright date in $(v_etc_file) is up to date. -# Do the same for the $(sample-test) and the main doc/.texi file. -sc_copyright_check: - @if test -f $(v_etc_file); then \ - grep 'enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' $(v_etc_file) \ - >/dev/null \ - || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \ - exit 1; }; \ - fi - @if test -f $(sample-test); then \ - grep '# Copyright (C) '$$(date +%Y)' Free' $(sample-test) \ - >/dev/null \ - || { echo 'out of date copyright in $(sample-test); update it' 1>&2; \ - exit 1; }; \ - fi - @if test -f $(texi); then \ - grep 'Copyright @copyright{} .*'$$(date +%Y)' Free' $(texi) \ - >/dev/null \ - || { echo 'out of date copyright in $(texi); update it' 1>&2; \ - exit 1; }; \ - fi - -vc-diff-check: - (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : - if test -s vc-diffs; then \ - cat vc-diffs; \ - echo "Some files are locally modified:" 1>&2; \ - exit 1; \ - else \ - rm vc-diffs; \ - fi - -cvs-check: vc-diff-check - -ALL_RECURSIVE_TARGETS += maintainer-distcheck -maintainer-distcheck: - $(MAKE) distcheck - $(MAKE) taint-distcheck - $(MAKE) my-distcheck - - -# Don't make a distribution if checks fail. -# Also, make sure the NEWS file is up-to-date. -ALL_RECURSIVE_TARGETS += vc-dist -vc-dist: $(local-check) cvs-check maintainer-distcheck - XZ_OPT=-9ev $(MAKE) dist - -# Use this to make sure we don't run these programs when building -# from a virgin tgz file, below. -null_AM_MAKEFLAGS = \ - ACLOCAL=false \ - AUTOCONF=false \ - AUTOMAKE=false \ - AUTOHEADER=false \ - MAKEINFO=false - -built_programs = $$(cd src && MAKEFLAGS= $(MAKE) -s built_programs.list) - -rel-files = $(DIST_ARCHIVES) - -gnulib_dir ?= $(srcdir)/gnulib -gnulib-version = $$(cd $(gnulib_dir) && git describe) -bootstrap-tools ?= autoconf,automake,gnulib - -announcement: NEWS ChangeLog $(rel-files) - @$(build_aux)/announce-gen \ - --release-type=$(RELEASE_TYPE) \ - --package=$(PACKAGE) \ - --prev=$(PREV_VERSION) \ - --curr=$(VERSION) \ - --gpg-key-id=$(gpg_key_ID) \ - --news=NEWS \ - --bootstrap-tools=$(bootstrap-tools) \ - --gnulib-version=$(gnulib-version) \ - --no-print-checksums \ - $(addprefix --url-dir=, $(url_dir_list)) - -## ---------------- ## -## Updating files. ## -## ---------------- ## - -ftp-gnu = ftp://ftp.gnu.org/gnu -www-gnu = http://www.gnu.org - -emit_upload_commands: - @echo ===================================== - @echo ===================================== - @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\" - @echo " --to $(gnu_rel_host):$(PACKAGE) \\" - @echo " $(rel-files)" - @echo '# send the /tmp/announcement e-mail' - @echo ===================================== - @echo ===================================== - -noteworthy = * Noteworthy changes in release ?.? (????-??-??) [?] -define emit-commit-log - printf '%s\n' 'post-release administrivia' '' \ - '* NEWS: Add header line for next release.' \ - '* .prev-version: Record previous version.' \ - '* cfg.mk (old_NEWS_hash): Auto-update.' -endef - -.PHONY: no-submodule-changes -no-submodule-changes: - if test -d $(srcdir)/.git; then \ - diff=$$(cd $(srcdir) && git submodule -q foreach \ - git diff-index --name-only HEAD) \ - || exit 1; \ - case $$diff in '') ;; \ - *) echo '$(ME): submodule files are locally modified:'; \ - echo "$$diff"; exit 1;; esac; \ - else \ - : ; \ - fi - -.PHONY: alpha beta major -ALL_RECURSIVE_TARGETS += alpha beta major -alpha beta major: $(local-check) writable-files no-submodule-changes - test $@ = major \ - && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ - || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ - || : - $(MAKE) vc-dist - $(MAKE) news-date-check - $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir) - if test -d $(release_archive_dir); then \ - ln $(rel-files) $(release_archive_dir); \ - chmod a-w $(rel-files); \ - fi - $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ - echo $(VERSION) > $(prev_version_file) - $(MAKE) update-NEWS-hash - perl -pi -e '$$. == 3 and print "$(noteworthy)\n\n\n"' NEWS - $(emit-commit-log) > .ci-msg - $(VC) commit -F .ci-msg -a - -.PHONY: web-manual -web-manual: - @test -z "$(manual_title)" \ - && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : - @cd '$(srcdir)/doc'; \ - $(SHELL) ../build-aux/gendocs.sh -o '$(abs_builddir)/doc/manual' \ - --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ - "$(PACKAGE_NAME) - $(manual_title)" - @echo " *** Upload the doc/manual directory to web-cvs." - -# Code Coverage - -init-coverage: - $(MAKE) $(AM_MAKEFLAGS) clean - lcov --directory . --zerocounters - -COVERAGE_CCOPTS ?= "-g --coverage" -COVERAGE_OUT ?= doc/coverage - -build-coverage: - $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) - $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check - mkdir -p $(COVERAGE_OUT) - lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ - --capture - -gen-coverage: - genhtml --output-directory $(COVERAGE_OUT) \ - $(COVERAGE_OUT)/$(PACKAGE).info \ - --highlight --frames --legend \ - --title "$(PACKAGE_NAME)" +# Collect the names of rules starting with `sc_'. +syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME)) +.PHONY: $(syntax-check-rules) -coverage: init-coverage build-coverage gen-coverage +syntax-check: $(syntax-check-rules) # Update gettext files. PACKAGE ?= $(shell basename $(PWD)) -PO_DOMAIN ?= $(PACKAGE) -POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ +POURL = http://translationproject.org/latest/$(PACKAGE)/ PODIR ?= po refresh-po: rm -f $(PODIR)/*.po && \ @@ -759,7 +115,7 @@ wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ echo 'en@boldquot' > $(PODIR)/LINGUAS && \ echo 'en@quot' >> $(PODIR)/LINGUAS && \ - ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS + ls $(PODIR)/*.po | sed 's/.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS INDENT_SOURCES ?= $(C_SOURCES) .PHONY: indent diff -Nru gnutls26-2.8.6/Makefile.am gnutls26-2.4.1/Makefile.am --- gnutls26-2.8.6/Makefile.am 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/Makefile.am 2008-06-30 21:45:51.000000000 +0100 @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009 Free Software Foundation +# 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -22,12 +22,42 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc -SUBDIRS = lib libextra gl src doc tests +SUBDIRS = lgl gl includes lib libextra src doc tests po if HAVE_GUILE SUBDIRS += guile endif -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/gl/m4 -I libextra/gl/m4 -I lib/m4 -I libextra/m4 +ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lgl/m4 EXTRA_DIST = cfg.mk maint.mk .clcopying + +# Maintainer targets + +ChangeLog: + git log --pretty --numstat --summary --since="2005 November 07" -- | git2cl > ChangeLog + cat .clcopying >> ChangeLog + +tag = $(PACKAGE)_`echo $(VERSION) | sed 's/\./_/g'` +htmldir = ../www-$(PACKAGE) + +release: + ! git-tag -l $(tag) | grep $(PACKAGE) > /dev/null + rm -f ChangeLog + $(MAKE) ChangeLog distcheck + cd doc && ../build-aux/gendocs.sh -o ../$(htmldir)/manual/ $(PACKAGE) "GNU TLS" + git commit -m Generated. ChangeLog + git-tag -u b565716f! -m $(VERSION) $(tag) + gpg -b $(distdir).tar.bz2 + gpg --verify $(distdir).tar.bz2.sig + cp -v $(distdir).tar.bz2 $(distdir).tar.bz2.sig $(htmldir)/releases/ + cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.css doc/reference/html/*.devhelp $(htmldir)/reference/ + git-push --tags + git-push + scp $(distdir).tar.bz2 $(distdir).tar.bz2.sig igloo.linux.gr:~ftp/pub/gnutls/ + ssh igloo.linux.gr 'cd ~ftp/pub/gnutls/ && sha1sum *.tar.bz2 > CHECKSUMS' + build-aux/gnupload --to ftp.gnu.org:gnutls $(distdir).tar.bz2 + cd $(htmldir) && \ + cvs add -kb releases/$(distdir).tar.bz2 \ + releases/$(distdir).tar.bz2.sig && \ + cvs commit -m "Update." manual/ reference/ releases/ diff -Nru gnutls26-2.8.6/Makefile.in gnutls26-2.4.1/Makefile.in --- gnutls26-2.8.6/Makefile.in 2010-03-15 10:29:24.000000000 +0000 +++ gnutls26-2.4.1/Makefile.in 2008-06-30 22:07:55.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,7 +15,7 @@ @SET_MAKE@ # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009 Free Software Foundation +# 2006, 2007, 2008 Free Software Foundation # # Author: Nikos Mavrogiannopoulos # @@ -37,9 +36,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -58,79 +56,94 @@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure $(top_srcdir)/doc/doxygen/Doxyfile.in \ - AUTHORS COPYING ChangeLog INSTALL NEWS THANKS \ + $(top_srcdir)/configure \ + $(top_srcdir)/includes/gnutls/gnutls.h.in ABOUT-NLS AUTHORS \ + COPYING COPYING.LIB ChangeLog INSTALL NEWS THANKS \ build-aux/config.guess build-aux/config.rpath \ build-aux/config.sub build-aux/depcomp build-aux/install-sh \ build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \ build-aux/texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = doc/doxygen/Doxyfile -CONFIG_CLEAN_VPATH_FILES = +CONFIG_CLEAN_FILES = includes/gnutls/gnutls.h SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -142,44 +155,16 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = lib libextra gl src doc tests guile +DIST_SUBDIRS = lgl gl includes lib libextra src doc tests po guile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print @@ -188,7 +173,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -211,96 +196,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -312,31 +261,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -351,29 +285,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -381,18 +301,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -401,51 +314,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -454,123 +349,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -582,78 +462,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -681,15 +545,18 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ -htmldir = @htmldir@ +htmldir = ../www-$(PACKAGE) includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -700,16 +567,17 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc -SUBDIRS = lib libextra gl src doc tests $(am__append_1) -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/gl/m4 -I libextra/gl/m4 -I lib/m4 -I libextra/m4 +SUBDIRS = lgl gl includes lib libextra src doc tests po \ + $(am__append_1) +ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lgl/m4 EXTRA_DIST = cfg.mk maint.mk .clcopying +tag = $(PACKAGE)_`echo $(VERSION) | sed 's/\./_/g'` all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -720,15 +588,15 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -744,10 +612,9 @@ $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) + cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ @@ -759,13 +626,13 @@ @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 -doc/doxygen/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/doc/doxygen/Doxyfile.in +includes/gnutls/gnutls.h: $(top_builddir)/config.status $(top_srcdir)/includes/gnutls/gnutls.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: @@ -775,7 +642,7 @@ -rm -rf .libs _libs distclean-libtool: - -rm -f libtool config.lt + -rm -f libtool # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -784,7 +651,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -801,7 +668,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -809,7 +676,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -835,16 +702,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -852,14 +719,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -871,7 +738,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ @@ -880,41 +747,36 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" + test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -930,55 +792,38 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ + -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 $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" + || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) @@ -990,10 +835,6 @@ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) @@ -1018,17 +859,15 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac @@ -1036,11 +875,9 @@ mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ + && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ @@ -1062,15 +899,13 @@ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ + @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ @@ -1112,7 +947,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1133,8 +967,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -1143,28 +975,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -1187,26 +1009,52 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-recursive uninstall uninstall-am - - + dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am + + +# Maintainer targets + +ChangeLog: + git log --pretty --numstat --summary --since="2005 November 07" -- | git2cl > ChangeLog + cat .clcopying >> ChangeLog + +release: + ! git-tag -l $(tag) | grep $(PACKAGE) > /dev/null + rm -f ChangeLog + $(MAKE) ChangeLog distcheck + cd doc && ../build-aux/gendocs.sh -o ../$(htmldir)/manual/ $(PACKAGE) "GNU TLS" + git commit -m Generated. ChangeLog + git-tag -u b565716f! -m $(VERSION) $(tag) + gpg -b $(distdir).tar.bz2 + gpg --verify $(distdir).tar.bz2.sig + cp -v $(distdir).tar.bz2 $(distdir).tar.bz2.sig $(htmldir)/releases/ + cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.css doc/reference/html/*.devhelp $(htmldir)/reference/ + git-push --tags + git-push + scp $(distdir).tar.bz2 $(distdir).tar.bz2.sig igloo.linux.gr:~ftp/pub/gnutls/ + ssh igloo.linux.gr 'cd ~ftp/pub/gnutls/ && sha1sum *.tar.bz2 > CHECKSUMS' + build-aux/gnupload --to ftp.gnu.org:gnutls $(distdir).tar.bz2 + cd $(htmldir) && \ + cvs add -kb releases/$(distdir).tar.bz2 \ + releases/$(distdir).tar.bz2.sig && \ + cvs commit -m "Update." manual/ reference/ releases/ # 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: diff -Nru gnutls26-2.8.6/NEWS gnutls26-2.4.1/NEWS --- gnutls26-2.8.6/NEWS 2010-03-15 12:49:42.000000000 +0000 +++ gnutls26-2.4.1/NEWS 2008-06-30 22:05:02.000000000 +0100 @@ -1,1425 +1,8 @@ GNU TLS NEWS -- History of user-visible changes. -*- outline -*- -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007, 2008, 2009, 2010 Free Software Foundation +Copyright (C) 2004, 2005, 2006, 2007, 2008 Simon Josefsson +Copyright (C) 2000, 2001, 2002, 2003, 2004 Nikos Mavrogiannopoulos See the end for copying conditions. -* Version 2.8.6 (released 2010-03-15) - -** libgnutls: For CSRs, don't null pad integers for RSA/DSA value. -VeriSign rejected CSRs with this padding. Reported by Wilankar Trupti - and Boyan Kasarov . - -Note: As a side effect of this change, the "public key identifier" -value computed for a certificate using this version of GnuTLS will be -different from values computed using earlier versions of GnuTLS. - -** libgnutls: For CSRs on DSA keys, don't add DSA parameters to the -** optional SignatureAlgorithm parameter field. -VeriSign rejected these CSRs. They are stricly speaking not needed -since you need the signer's certificate to verify the certificate -signature anyway. Reported by Wilankar Trupti - and Boyan Kasarov . - -** libgnutls: When checking openpgp self signature also check the signatures -** of all subkeys. -Ilari Liusvaara noticed and reported the issue and provided test -vectors as well. - -** libgnutls: Cleanups and several bug fixes. -Found by Steve Grubb and Tomas Mraz. - -** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv. - -** Fix --disable-valgrind-tests. -Reported by Ingmar Vanhassel in -. - -** examples: Use the new APIs for printing X.509 certificate information. - -** Fix build failures on Solaris. -Thanks to Dagobert Michelsen . - -** i18n: Updated Czech, Dutch, French, Polish, Swedish and Vietnamese -** translations. Added Simplified Chinese translation. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.5 (released 2009-11-02) - -** libgnutls: In server side when resuming a session do not overwrite the -** initial session data with the resumed session data. - -** libgnutls: Fix PKCS#12 encoding. -The error you would get was "The OID is not supported.". Problem -introduced for the v2.8.x branch in 2.7.6. - -** guile: Compatibility with guile 2.x. -By Ludovic Courtes . - -** tests: Fix expired cert in chainverify self-test. - -** tests: Fix time bomb in chainverify self-test. -Reported by Andreas Metzler in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.4 (released 2009-09-18) - -** libgnutls: Enable Camellia ciphers by default. - -** libgnutls: Make OpenPGP hostname checking work again. -The patch to resolve the X.509 CN/SAN issue accidentally broken -OpenPGP hostname comparison. - -** libgnutls: When printing X.509 certificates, handle XMPP SANs better. -Reported by Howard Chu in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.3 (released 2009-08-13) - -** libgnutls: Fix patch for NUL in CN/SAN in last release. -Code intended to be removed would lead to an read-out-bound error in -some situations. Reported by Tomas Hoger . A CVE -code have been allocated for the vulnerability: [CVE-2009-2730]. - -** libgnutls: Fix rare failure in gnutls_x509_crt_import. -The function may fail incorrectly when an earlier certificate was -imported to the same gnutls_x509_crt_t structure. - -** libgnutls-extra, libgnutls-openssl: Fix MinGW cross-compiling build error. - -** tests: Made self-test mini-eagain take less time. - -** doc: Typo fixes. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.2 (released 2009-08-10) - -** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields. -By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS -into 1) not printing the entire CN/SAN field value when printing a -certificate and 2) cause incorrect positive matches when matching a -hostname against a certificate. Some CAs apparently have poor -checking of CN/SAN values and issue these (arguable invalid) -certificates. Combined, this can be used by attackers to become a -MITM on server-authenticated TLS sessions. The problem is mitigated -since attackers needs to get one certificate per site they want to -attack, and the attacker reveals his tracks by applying for a -certificate at the CA. It does not apply to client authenticated TLS -sessions. Research presented independently by Dan Kaminsky and Moxie -Marlinspike at BlackHat09. Thanks to Tomas Hoger -for providing one part of the patch. [GNUTLS-SA-2009-4]. - -** libgnutls: Fix return value of gnutls_certificate_client_get_request_status. -Before it always returned false. Reported by Peter Hendrickson - in -. - -** libgnutls: Fix off-by-one size computation error in unknown DN printing. -The error resulted in truncated strings when printing unknown OIDs in -X.509 certificate DNs. Reported by Tim Kosse - in -. - -** libgnutls: Return correct bit lengths of some MPIs. -gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and -gnutls_dh_get_peers_public_bits. Before the reported value was -overestimated. Reported by Peter Hendrickson in -. - -** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN. -Report and patch by Tim Kosse in - -and -. - -** libgnutls: Relax checking of required libtasn1/libgcrypt versions. -Before we required that the runtime library used the same (or more -recent) libgcrypt/libtasn1 as it was compiled with. Now we just check -that the runtime usage is above the minimum required. Reported by -Marco d'Itri via Andreas Metzler - in . - -** minitasn1: Internal copy updated to libtasn1 v2.3. - -** tests: Fix failure in "chainverify" because a certificate have expired. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.1 (released 2009-06-10) - -** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle. -Forwarded by Martin von Gagern from -. - -** libgnutls: Fix PKCS#12 decryption from password. -The encryption key derived from the password was incorrect for (on -average) 1 in every 128 input for random inputs. Reported by "Kukosa, -Tomas" in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.8.0 (released 2009-05-27) - -** doc: Fix gnutls_dh_get_prime_bits. Fix error codes and algorithm lists. - -** Major changes compared to the v2.4 branch: - -*** lib: Linker version scripts reduces number of exported symbols. - -*** lib: Limit exported symbols on systems without LD linker scripts. - -*** libgnutls: Fix namespace issue with version symbols. - -*** libgnutls: Add functions to verify a hash against a certificate. -gnutls_x509_crt_verify_hash: ADDED -gnutls_x509_crt_get_verify_algorithm: ADDED - -*** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6. - -*** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'. - -*** certtool: Query for multiple dnsName subjectAltName in interactive mode. - -*** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify. - -*** gnutls-serv: No longer disable MAC padding by default. - -*** gnutls-cli: Certificate information output format changed. - -*** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5 -*** and %VERIFY_ALLOW_X509_V1_CA_CRT. - -*** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode. - -*** libgnutls: gnutls_openpgp_crt_print supports oneline mode. - -*** libgnutls: gnutls_handshake when sending client hello during a -rehandshake, will not offer a version number larger than the current. - -*** libgnutls: New interface to get key id for certificate requests. -gnutls_x509_crq_get_key_id: ADDED. - -*** libgnutls: gnutls_x509_crq_print will now also print public key id. - -*** certtool: --verify-chain now prints results of using library verification. - -*** libgnutls: Libgcrypt initialization changed. - -*** libgnutls: Small byte reads via gnutls_record_recv() optimized. - -*** gnutls-cli: Return non-zero exit code on error conditions. - -*** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored. - -*** certtool: allow setting arbitrary key purpose object identifiers. - -*** libgnutls: Change detection of when to use a linker version script. -Use --enable-ld-version-script or --disable-ld-version-script to -override auto-detection logic. - -*** Fix warnings and build GnuTLS with more warnings enabled. - -*** New API to set X.509 credentials from PKCS#12 memory structure. -gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED - -*** Old libgnutls.m4 and libgnutls-config scripts removed. -Please use pkg-config instead. - -*** libgnutls: Added functions to handle CRL extensions. -gnutls_x509_crl_get_authority_key_id: ADDED -gnutls_x509_crl_get_number: ADDED -gnutls_x509_crl_get_extension_oid: ADDED -gnutls_x509_crl_get_extension_info: ADDED -gnutls_x509_crl_get_extension_data: ADDED -gnutls_x509_crl_set_authority_key_id: ADDED -gnutls_x509_crl_set_number: ADDED - -*** libgnutls: Added functions to handle X.509 extensions in Certificate -Requests. -gnutls_x509_crq_get_key_rsa_raw: ADDED -gnutls_x509_crq_get_attribute_info: ADDED -gnutls_x509_crq_get_attribute_data: ADDED -gnutls_x509_crq_get_extension_info: ADDED -gnutls_x509_crq_get_extension_data: ADDED -gnutls_x509_crq_get_key_usage: ADDED -gnutls_x509_crq_get_basic_constraints: ADDED -gnutls_x509_crq_get_subject_alt_name: ADDED -gnutls_x509_crq_get_subject_alt_othername_oid: ADDED -gnutls_x509_crq_get_extension_by_oid: ADDED -gnutls_x509_crq_set_subject_alt_name: ADDED -gnutls_x509_crq_set_basic_constraints: ADDED -gnutls_x509_crq_set_key_usage: ADDED -gnutls_x509_crq_get_key_purpose_oid: ADDED -gnutls_x509_crq_set_key_purpose_oid: ADDED -gnutls_x509_crq_print: ADDED -gnutls_x509_crt_set_crq_extensions: ADDED - -*** certtool: Print and set CRL and CRQ extensions. - -*** minitasn1: Internal copy updated to libtasn1 v2.1. - -*** examples: Now released into the public domain. - -*** The Texinfo and GTK-DOC manuals were improved. - -*** Several self-tests were added and others improved. - -*** API/ABI changes in GnuTLS 2.8 compared to GnuTLS 2.6.x -No offically supported interfaces have been modified or removed. The -library should be completely backwards compatible on both the source -and binary level. - -The shared library no longer exports some symbols that have never been -officially supported, i.e., not mentioned in any of the header files. -The symbols are: - - _gnutls* - gnutls_asn1_tab - -Normally when symbols are removed, the shared library version has to -be incremented. This leads to a significant cost for everyone using -the library. Because none of the above symbols have ever been -intended for use by well-behaved applications, we decided that the it -would be better for those applications to pay the price rather than -incurring problems on the majority of applications. - -If it turns out that applications have been using unofficial -interfaces, we will need to release a follow-on release on the v2.8 -branch to exports additional interfaces. However, initial testing -suggests that few if any applications have been using any of the -internal symbols. - -Although not a new change compared to 2.6.x, we'd like to remind you -interfaces have been modified so that X.509 chain verification now -also checks activation/expiration times on certificates. The affected -functions are: - -gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times. -gnutls_certificate_verify_peers: Likewise. -gnutls_certificate_verify_peers2: Likewise. -GNUTLS_CERT_NOT_ACTIVATED: ADDED. -GNUTLS_CERT_EXPIRED: ADDED. -GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED. - -This change in behaviour was made during the GnuTLS 2.6.x cycle, and -we gave our rationale for it in earlier release notes. - -The following symbols have been added to the library: - -gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED -gnutls_x509_crl_get_authority_key_id: ADDED -gnutls_x509_crl_get_extension_data: ADDED -gnutls_x509_crl_get_extension_info: ADDED -gnutls_x509_crl_get_extension_oid: ADDED -gnutls_x509_crl_get_number: ADDED -gnutls_x509_crl_set_authority_key_id: ADDED -gnutls_x509_crl_set_number: ADDED -gnutls_x509_crq_get_attribute_data: ADDED -gnutls_x509_crq_get_attribute_info: ADDED -gnutls_x509_crq_get_basic_constraints: ADDED -gnutls_x509_crq_get_extension_by_oid: ADDED -gnutls_x509_crq_get_extension_data: ADDED -gnutls_x509_crq_get_extension_info: ADDED -gnutls_x509_crq_get_key_id: ADDED. -gnutls_x509_crq_get_key_purpose_oid: ADDED -gnutls_x509_crq_get_key_rsa_raw: ADDED -gnutls_x509_crq_get_key_usage: ADDED -gnutls_x509_crq_get_subject_alt_name: ADDED -gnutls_x509_crq_get_subject_alt_othername_oid: ADDED -gnutls_x509_crq_print: ADDED -gnutls_x509_crq_set_basic_constraints: ADDED -gnutls_x509_crq_set_key_purpose_oid: ADDED -gnutls_x509_crq_set_key_usage: ADDED -gnutls_x509_crq_set_subject_alt_name: ADDED -gnutls_x509_crt_get_verify_algorithm: ADDED -gnutls_x509_crt_set_crq_extensions: ADDED -gnutls_x509_crt_verify_hash: ADDED - -The following interfaces have been added to the header files: - -GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION. -GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR. -GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR. -GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH. -GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER. -GNUTLS_EXTRA_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION. - -The following interfaces have been deprecated: - -LIBGNUTLS_VERSION: DEPRECATED. -LIBGNUTLS_VERSION_MAJOR: DEPRECATED. -LIBGNUTLS_VERSION_MINOR: DEPRECATED. -LIBGNUTLS_VERSION_PATCH: DEPRECATED. -LIBGNUTLS_VERSION_NUMBER: DEPRECATED. -LIBGNUTLS_EXTRA_VERSION: DEPRECATED. - -* Version 2.7.14 (released 2009-05-26) - -** libgnutls: Fix namespace issue with version symbol for libgnutls-extra. -The symbol LIBGNUTLS_EXTRA_VERSION were renamed to -GNUTLS_EXTRA_VERSION. The old symbol will continue to work but is -deprecated. - -** Doc: Several typo fixes in documentation. -Reported by Peter Hendrickson . - -** API and ABI modifications: -GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION. -LIBGNUTLS_EXTRA_VERSION: DEPRECATED. - -* Version 2.7.13 (released 2009-05-25) - -** libgnutls: Fix version of some exported symbols in the shared library. -Reported by Andreas Metzler in -. - -** tests: Handle recently expired certificates in chainverify self-test. -Reported by Andreas Metzler in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.12 (released 2009-05-20) - -** gnutls-serv, gnutls-cli-debug: Make them work on Windows. - -** tests/crq_key_id: Don't read entropy from /dev/random in self-test. -Reported by Andreas Metzler in -. - -** Fix build failures. -Missing sa_family_t and vsnprintf on IRIX. Reported by "Tom -G. Christensen" in -. - -** minitasn1: Internal copy updated to libtasn1 v2.2. -GnuTLS should work fine with libtasn1 v1.x and that is still -supported. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.11 (released 2009-05-18) - -** minitasn1: Fix build failure when using internal libtasn1. -Reported by "Tom G. Christensen" in -. - -** libgnutls: Fix build failure with --disable-cxx. -Reported by Andreas Metzler in -. - -** gnutls-serv: Fix build failure for unportable NI_MAXHOST/NI_MAXSERV. -Reported by "Tom G. Christensen" in - - -** Building with many warning flags now requires --enable-gcc-warnings. -This avoids crying wolf for normal compiles. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.10 (released 2009-05-13) - -** examples: Now released into the public domain. -This makes the license of the example code compatible with more -licenses, including the (L)GPL. - -** minitasn1: Internal copy updated to libtasn1 v2.1. -GnuTLS should work fine with libtasn1 v1.x and that is still -supported. - -** libgnutls: Fix crash in signature verification -The fix for the CVE-2009-1415 problem wasn't merged completely. - -** doc: Fixes for GTK-DOC output. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.9 (released 2009-05-11) - -** doc: Fix strings in man page of gnutls_priority_init. - -** doc: Fix tables of error codes and supported algorithms. - -** Fix build failure when cross-compiled using MinGW. - -** Fix build failure when LZO is enabled. -Reported by Arfrever Frehtes Taifersar Arahesis - in -. - -** Fix build failure on systems without AF_INET6, e.g., Solaris 2.6. -Reported by "Tom G. Christensen" in -. - -** Fix warnings in self-tests. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.8 (released 2009-05-03) - -** libgnutls: Fix DSA key generation. -Merged from stable branch. [GNUTLS-SA-2009-2] [CVE-2009-1416] - -** libgnutls: Check expiration/activation time on untrusted certificates. -Merged from stable branch. Reported by Romain Francoise -. This changes the semantics of -gnutls_x509_crt_list_verify, which in turn is used by -gnutls_certificate_verify_peers and gnutls_certificate_verify_peers2. -We add two new gnutls_certificate_status_t codes for reporting the new -error condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. -We also add a new gnutls_certificate_verify_flags flag, -GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new -behaviour. [GNUTLS-SA-2009-3] [CVE-2009-1417] - -** lib: Linker version scripts reduces number of exported symbols. -The linker version script now lists all exported ABIs explicitly, to -avoid accidentally exporting unintended functions. Compared to -before, most symbols beginning with _gnutls* are no longer exported. -These functions have never been intended for use by applications, and -there were no prototypes for these function in the public header -files. Thus we believe it is possible to do this without incrementing -the library ABI version which normally has to be done when removing an -interface. - -** lib: Limit exported symbols on systems without LD linker scripts. -Before all symbols were exported. Now we limit the exported symbols -to (for libgnutls and libgnutls-extra) gnutls* and (for libgnutls) -_gnutls*. This is a superset of the actual supported ABI, but still -an improvement compared to before. This is implemented using Libtool --export-symbols-regex. It is more portable than linker version -scripts. - -** libgnutls: Incremented CURRENT/AGE libtool version to reflect new symbols. -This should have been done in the last release. - -** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6. -Reported by Peter Hendrickson in -. - -** doc: Improved sections for the info manual. -We now follow the advice given by the texinfo manual on which -directory categories to use. In particular, libgnutls moved from the -'GNU Libraries' section to the 'Software libraries' and the command -line tools moved from 'Network Applications' to 'System -Administration'. - -** API and ABI modifications: -gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times. -gnutls_certificate_verify_peers: Likewise. -gnutls_certificate_verify_peers2: Likewise. -GNUTLS_CERT_NOT_ACTIVATED: ADDED. -GNUTLS_CERT_EXPIRED: ADDED. -GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED. - -* Version 2.7.7 (released 2009-04-20) - -** libgnutls: Applied patch by Cedric Bail to add functions -gnutls_x509_crt_verify_hash() and gnutls_x509_crt_get_verify_algorithm(). - -** gnutls.pc: Add -ltasn1 to 'pkg-config --libs --static gnutls' output. -Reported by Andreas Metzler in -. - -** minitasn1: Internal copy updated to libtasn1 v1.8. -GnuTLS is also internally ready to be used with libtasn1 v2.0. - -** doc: Fix build failure of errcodes/printlist. -Reported by Roman Bogorodskiy in -. - -** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'. -It is currently only used by the core library. This will enable a new -domain 'gnutls' for translations of the command line tools. - -** Corrected possible memory corruption on signature verification failure. -Reported by Miroslav Kratochvil - -** API and ABI modifications: -gnutls_x509_crt_verify_hash: ADDED -gnutls_x509_crt_get_verify_algorithm: ADDED - -* Version 2.7.6 (released 2009-02-27) - -** certtool: Query for multiple dnsName subjectAltName in interactive mode. -This applies both to generating certificates and certificate requests. - -** pkix.asn: Removed unneeded definitions to reduce memory usage. - -** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify. -Use --priority NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT to permit V1 CAs to -be used for chain verification. - -** gnutls-serv: No longer disable MAC padding by default. -Use --priority NORMAL:%COMPAT to disable MAC padding again. - -** gnutls-cli: Certificate information output format changed. -The tool now uses libgnutls' functions to print certificate -information. This avoids code duplication. - -** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5 -** and %VERIFY_ALLOW_X509_V1_CA_CRT. -They can be used to override the default certificate chain validation -behaviour. - -** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to -specify the client hello message record version. Used to overcome buggy -TLS servers. Report by Martin von Gagern. - -** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode. - -** libgnutls: gnutls_openpgp_crt_print supports oneline mode. - -** doc: Update gnutls-cli and gnutls-serv --help output descriptions. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.5 (released 2009-02-06) - -** libgnutls: Accept chains where intermediary certs are trusted. -Before GnuTLS needed to validate the entire chain back to a -self-signed certificate. GnuTLS will now stop looking when it has -found an intermediary trusted certificate. The new behaviour is -useful when chains, for example, contains a top-level CA, an -intermediary CA signed using RSA-MD5, and an end-entity certificate. -To avoid chain validation errors due to the RSA-MD5 cert, you can -explicitly add the intermediary RSA-MD5 cert to your trusted certs. -The signature on trusted certificates are not checked, so the chain -has a chance to validate correctly. Reported by "Douglas E. Engert" - in -. - -** libgnutls: result_size in gnutls_hex_encode now holds -the size of the result. Report by John Brooks . - -** libgnutls: gnutls_handshake when sending client hello during a -rehandshake, will not offer a version number larger than the current. -Reported by Tristan Hill . - -** libgnutls: Permit V1 Certificate Authorities properly. -Before they were mistakenly rejected even though -GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or -GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by -"Douglas E. Engert" in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.4 (released 2009-01-07) - -** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures. -This is a bugfix -- the previous attempt to do this from internal x509 -certificate verification procedures did not return the correct value -for certificates using a weak hash. Reported by Daniel Kahn Gillmor - in -, -debugged and patch by Tomas Mraz and Daniel Kahn -Gillmor . - -** libgnutls: New interface to get key id for certificate requests. -Patch from David Marín Carreño in -. - -** libgnutls: gnutls_x509_crq_print will now also print public key id. - -** certtool: --verify-chain now prints results of using library verification. -Earlier, certtool --verify-chain used its own validation algorithm -which wasn't guaranteed to give the same result as the libgnutls -internal validation algorithm. Now this command print a new final -line with header 'Chain verification output:' that contains the result -from using the internal verification algorithm on the same chain. - -** tests: Add crq_key_id self-test of gnutls_x509_crq_get_key_id. - -** API and ABI modifications: -gnutls_x509_crq_get_key_id: ADDED. - -* Version 2.7.3 (released 2008-12-10) - -** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs. -Reported by Michael Kiefer in - forwarded by -Andreas Metzler in -. - -** libgnutls: Libgcrypt initialization changed. -If libgcrypt has not already been initialized, GnuTLS will now -initialize libgcrypt with disabled secure memory. Initialize -libgcrypt explicitly in your application if you want to enable secure -memory. Before GnuTLS initialized libgcrypt to use GnuTLS's memory -allocation functions, which doesn't use secure memory, so there is no -real change in behaviour. - -** libgnutls: Fix memory leak in PSK authentication. -Reported by Michael Weiser in -. - -** libgnutls: Small byte reads via gnutls_record_recv() optimized. - -** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier. -It needs to be invoked before libgcrypt is initialized. - -** gnutls-cli: Return non-zero exit code on error conditions. - -** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored. - -** tests: Added chainverify self-test that tests X.509 chain verifications. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.2 (released 2008-11-18) - -** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3] -The flaw makes it possible for man in the middle attackers (i.e., -active attackers) to assume any name and trick GNU TLS clients into -trusting that name. Thanks for report and analysis from Martin von -Gagern . [CVE-2008-4989] - -Any updates with more details about this vulnerability will be added -to - -** libgnutls: Fix namespace issue with version symbols. -The symbols LIBGNUTLS_VERSION, LIBGNUTLS_VERSION_MAJOR, -LIBGNUTLS_VERSION_MINOR, LIBGNUTLS_VERSION_PATCH, and -LIBGNUTLS_VERSION_NUMBER were renamed to GNUTLS_VERSION_NUMBER, -GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MINOR, GNUTLS_VERSION_PATCH, and -GNUTLS_VERSION_NUMBER respectively. The old symbols will continue to -work but are deprecated. - -** certtool: allow setting arbitrary key purpose object identifiers. - -** libgnutls: Fix detection of C99 macros, to make debug logging work again. - -** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits. -Reported by Kevin Quick in -. - -** libgnutls-extra: Make building with LZO compression work again. -Build failure reported by Arfrever Frehtes Taifersar Arahesis - in -. - -** libgnutls: Change detection of when to use a linker version script. -Use --enable-ld-version-script or --disable-ld-version-script to -override auto-detection logic. - -** doc: Change license on the manual to GFDLv1.3+. - -** doc: GTK-DOC fixes for new splitted configuration system. - -** doc: Texinfo stylesheet uses white background. - -** tests: Add cve-2008-4989.c self-test. -Tests regressions of the GNUTLS-SA-2008-3 security problem, and the -follow-on problem with crashes on length 1 certificate chains. - -** gnulib: Deprecated modules removed. -Modules include memchr and memcmp. - -** Fix warnings and build GnuTLS with more warnings enabled. - -** minitasn1: Internal copy updated to libtasn1 v1.7. - -** API and ABI modifications: -gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED -GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION. -GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR. -GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR. -GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH. -GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER. -LIBGNUTLS_VERSION: DEPRECATED. -LIBGNUTLS_VERSION_MAJOR: DEPRECATED. -LIBGNUTLS_VERSION_MINOR: DEPRECATED. -LIBGNUTLS_VERSION_PATCH: DEPRECATED. -LIBGNUTLS_VERSION_NUMBER: DEPRECATED. - -* Version 2.7.1 (released 2008-10-31) - -** certtool: print a PKCS #8 key even if it is not encrypted. - -** Old libgnutls.m4 and libgnutls-config scripts removed. -Please use pkg-config instead. - -** Configuration system modified. -There is now a configure script in lib/ and libextra/ as well, because -gnulib works better with a config.h per gnulib directory. - -** API and ABI modifications: -No changes since last version. - -* Version 2.7.0 (released 2008-10-16) - -** libgnutls: Added functions to handle CRL extensions. - -** libgnutls: Added functions to handle X.509 extensions in Certificate -Requests. - -** libgnutls: Improved error string for GNUTLS_E_AGAIN. -Suggested by "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" . - -** certtool: Print and set CRL and CRQ extensions. - -** libgnutls-extra: Protect internal symbols with static. -Fixes problem when linking certtool statically. Tiny patch from Aaron -Ucko . - -** libgnutls-openssl: fix out of bounds access. -Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch -from Thomas Viehmann . - -** libgnutlsxx: Define server_session::get_srp_username even if no SRP. - -** tests: Make tests compile when using internal libtasn1. -Patch by ludo@gnu.org (Ludovic Courtès). - -** Changed detection of libtasn1 and libgcrypt to avoid depending on *-config. -We now require a libgcrypt that has Camellia constants declared in -gcrypt.h, which means v1.3.0 or later. - -** API and ABI modifications: -gnutls_x509_crl_get_authority_key_id: ADDED -gnutls_x509_crl_get_number: ADDED -gnutls_x509_crl_get_extension_oid: ADDED -gnutls_x509_crl_get_extension_info: ADDED -gnutls_x509_crl_get_extension_data: ADDED -gnutls_x509_crl_set_authority_key_id: ADDED -gnutls_x509_crl_set_number: ADDED -gnutls_x509_crq_get_key_rsa_raw: ADDED -gnutls_x509_crq_get_attribute_info: ADDED -gnutls_x509_crq_get_attribute_data: ADDED -gnutls_x509_crq_get_extension_info: ADDED -gnutls_x509_crq_get_extension_data: ADDED -gnutls_x509_crq_get_key_usage: ADDED -gnutls_x509_crq_get_basic_constraints: ADDED -gnutls_x509_crq_get_subject_alt_name: ADDED -gnutls_x509_crq_get_subject_alt_othername_oid: ADDED -gnutls_x509_crq_get_extension_by_oid: ADDED -gnutls_x509_crq_set_subject_alt_name: ADDED -gnutls_x509_crq_set_basic_constraints: ADDED -gnutls_x509_crq_set_key_usage: ADDED -gnutls_x509_crq_get_key_purpose_oid: ADDED -gnutls_x509_crq_set_key_purpose_oid: ADDED -gnutls_x509_crq_print: ADDED -gnutls_x509_crt_set_crq_extensions: ADDED - -* Version 2.6.6 (released 2009-04-30) - -** libgnutls: Corrected double free on signature verification failure. -Reported by Miroslav Kratochvil . See the advisory -for more details. [GNUTLS-SA-2009-1] [CVE-2009-1415] - -** libgnutls: Fix DSA key generation. -Noticed when investigating the previous GNUTLS-SA-2009-1 problem. All -DSA keys generated using GnuTLS 2.6.x are corrupt. See the advisory -for more details. [GNUTLS-SA-2009-2] [CVE-2009-1416] - -** libgnutls: Check expiration/activation time on untrusted certificates. -Reported by Romain Francoise . Before the -library did not check activation/expiration times on certificates, and -was documented as not doing so. We have realized that many -applications that use libgnutls, including gnutls-cli, fail to perform -proper checks. Implementing similar logic in all applications leads -to code duplication. Hence, we decided to check whether the current -time (as reported by the time function) is within the -activation/expiration period of certificates when verifying untrusted -certificates. - -This changes the semantics of gnutls_x509_crt_list_verify, which in -turn is used by gnutls_certificate_verify_peers and -gnutls_certificate_verify_peers2. We add two new -gnutls_certificate_status_t codes for reporting the new error -condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. We also -add a new gnutls_certificate_verify_flags flag, -GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new -behaviour. - -More details about the vulnerabilities will be posted at -. - -** gnutls-cli, gnutls-cli-debug: Fix AIX build problem. -Reported by LAUPRETRE François (P) in -. - -** tests: Fix linking of tests/openpgp/keyring self-test. -Reported by Daniel Black in . - -** API and ABI modifications: -gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times. -gnutls_certificate_verify_peers: Likewise. -gnutls_certificate_verify_peers2: Likewise. -GNUTLS_CERT_NOT_ACTIVATED: ADDED. -GNUTLS_CERT_EXPIRED: ADDED. -GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED. - -* Version 2.6.5 (released 2009-04-11) - -** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to -specify the client hello message record version. Used to overcome buggy -TLS servers. Report by Martin von Gagern. - -** GnuTLS no longer uses the libtasn1-config script to find libtasn1. -Libtasn1 0.3.4 or later is required. This is to align with the -upcoming libtasn1 v2.0 release that doesn't have a libtasn1-script. - -** API and ABI modifications: -No changes since last version. - -* Version 2.6.4 (released 2009-02-06) - -** libgnutls: Accept chains where intermediary certs are trusted. -Before GnuTLS needed to validate the entire chain back to a -self-signed certificate. GnuTLS will now stop looking when it has -found an intermediary trusted certificate. The new behaviour is -useful when chains, for example, contains a top-level CA, an -intermediary CA signed using RSA-MD5, and an end-entity certificate. -To avoid chain validation errors due to the RSA-MD5 cert, you can -explicitly add the intermediary RSA-MD5 cert to your trusted certs. -The signature on trusted certificates are not checked, so the chain -has a chance to validate correctly. Reported by "Douglas E. Engert" - in -. - -** libgnutls: result_size in gnutls_hex_encode now holds -the size of the result. Report by John Brooks . - -** libgnutls: gnutls_handshake when sending client hello during a -rehandshake, will not offer a version number larger than the current. -Reported by Tristan Hill . - -** libgnutls: Permit V1 Certificate Authorities properly. -Before they were mistakenly rejected even though -GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or -GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by -"Douglas E. Engert" in -. - -** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures. -This is a bugfix -- the previous attempt to do this from internal x509 -certificate verification procedures did not return the correct value -for certificates using a weak hash. Reported by Daniel Kahn Gillmor - in -, -debugged and patch by Tomas Mraz and Daniel Kahn -Gillmor . - -** libgnutls: Fix compile error with Sun CC. -Reported by Jeff Cai in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.6.3 (released 2008-12-12) - -** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs. -Reported by Michael Kiefer in - forwarded by -Andreas Metzler in -. - -** libgnutls: Fix memory leak in PSK authentication. -Reported by Michael Weiser in -. - -** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier. -It needs to be invoked before libgcrypt is initialized. - -** gnutls-cli: Return non-zero exit code on error conditions. - -** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored. - -** API and ABI modifications: -No changes since last version. - -* Version 2.6.2 (released 2008-11-12) - -** libgnutls: Fix crash in X.509 validation code for self-signed certificates. -The patch to fix the security problem GNUTLS-SA-2008-3 introduced a -problem for certificate chains that contained just one self-signed -certificate. Reported by Michael Meskes in -. - -** API and ABI modifications: -No changes since last version. - -* Version 2.6.1 (released 2008-11-10) - -** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3] -The flaw makes it possible for man in the middle attackers (i.e., -active attackers) to assume any name and trick GNU TLS clients into -trusting that name. Thanks for report and analysis from Martin von -Gagern . [CVE-2008-4989] - -Any updates with more details about this vulnerability will be added -to - -** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits. -Reported by Kevin Quick in -. - -** libgnutls-extra: Protect internal symbols with static. -Fixes problem when linking certtool statically. Tiny patch from Aaron -Ucko . - -** libgnutls-openssl: Fix patch against X509_get_issuer_name. -It incorrectly returned the subject DN instead of issuer DN in v2.6.0. -Thanks to Thomas Viehmann for report. - -** certtool: Print a PKCS #8 key even if it is not encrypted. - -** tests: Make tests compile when using internal libtasn1. -Patch by ludo@gnu.org (Ludovic Courtès). - -** API and ABI modifications: -No changes since last version. - -* Version 2.6.0 (released 2008-10-06) - -** libgnutls: Correct printing and parsing of IPv6 addresses. - -** libgnutls-openssl: fix out of bounds access. -Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch -from Thomas Viehmann . - -** certtool: Use inet_pton for parsing IPv6 addresses. - -** Major changes compared to the v2.4 branch: - -*** Added API to replace and update the crypto backend. - -*** certtool: can add several subject alternative names via template file. - -*** opencdk: Parse (but not decrypt) encrypted secret keys. - -*** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can -either set or append alternative names. It can also handle binary structures -such as IP addresses. - -*** libgnutls: New function to set minimum acceptable SRP bits. -The function is gnutls_srp_set_prime_bits. - -*** libgnutls: Add interface to deal with public key and signature algorithms. -The functions are called gnutls_pk_list, gnutls_pk_get_id, -gnutls_sign_list, and gnutls_sign_get_id. - -*** libgnutls: New interfaces to get name of public key and signing algorithms. -The functions are gnutls_sign_get_name and gnutls_pk_get_name. - -*** libgnutls: New API to get a string corresponding to a error symbol. -The function is gnutls_strerror_name. - -*** libgnutls: New API to set the public parameters in a certificate request -*** from a private key. -The function is gnutls_x509_crq_set_key_rsa_raw. - -*** libgnutls: New API to set a callback to extract TLS Finished data. -The function to register is gnutls_session_set_finished_function and -it takes a callback of the gnutls_finished_callback_func type. - -*** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE. - -*** libgnutls: New interface to register a new TLS extension handler. -The new function gnutls_ext_register can be used to register handlers -for specific TLS extension types. The callback functions have the new -types gnutls_ext_recv_func and gnutls_ext_send_func. A type to -classify TLS extensions, gnutls_ext_parse_type_t, has been added as -well. - -*** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode. -The function is gnutls_register_md5_handler. When libgcrypt is in -FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in -the PRF. - -*** API/ABI changes in GnuTLS 2.6 -No functions have been removed or modified. The library should be -fully backwards compatible on both the source and binary level. - -A new header file have been added. It contains -definitions related to replacing the internal crypto functionality. -All definitions and the header itself is experimental but supported. - -We have realized that the symbols TLS_MASTER_SIZE and TLS_RANDOM_SIZE -does not use the normal namespace. We have added GNUTLS_MASTER_SIZE -and GNUTLS_RANDOM_SIZE, but the old symbols are still defined. - -The following functions have been added to libgnutls: - -GNUTLS_MASTER_SIZE -GNUTLS_RANDOM_SIZE -gnutls_crypto_bigint_register2 -gnutls_crypto_cipher_register2 -gnutls_crypto_digest_register2 -gnutls_crypto_mac_register2 -gnutls_crypto_pk_register2 -gnutls_crypto_rnd_register2 -gnutls_crypto_single_cipher_register2 -gnutls_crypto_single_digest_register2 -gnutls_crypto_single_mac_register2 -gnutls_ext_register -gnutls_pk_get_id -gnutls_pk_get_name -gnutls_pk_list -gnutls_session_set_finished_function -gnutls_sign_get_id -gnutls_sign_get_name -gnutls_sign_list -gnutls_srp_set_prime_bits: -gnutls_strerror_name -gnutls_x509_crq_set_key_rsa_raw -gnutls_x509_crt_set_crl_dist_points2 -gnutls_x509_crt_set_subject_alt_name - -The following functions have been added to libgnutls-extra: - -gnutls_register_md5_handler - -** API and ABI modifications: -No changes since last version. - -* Version 2.5.9 (released 2008-09-29) - -** libgnutls: Fix several memory leaks. -Reported by Sam Varshavchik . - -** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import. -Report and patch by Jonathan Manktelow. - -** libgnutls: crypto.h gnutls_pk_params_st changes allocation strategy. -The parameters are now allocated in the structure itself. - -** doc: Texinfo HTML manual uses a stylesheet to improve readability. - -** tests: Scripts now use EXEEXT properly. -Modern libtool doesn't create wrapper script, so the self tests need -to invoke certtool.exe under MinGW32+Wine. - -** Uses autoconf 2.63, automake 1.10.1, libtool 2.2.6a. -Automake warnings are now also enabled. - -** API and ABI modifications: -gnutls_pk_params_st: MODIFIED - -* Version 2.5.8 (released 2008-09-21) - -** certtool: updated so it can add several subject alternative names using -the template file. - -** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can -either set or append alternative names. It can also handle binary structures -such as IP addresses. - -** libgnutls: Fix crash in hashing code when using non-libgcrypt handlers. - -** libgnutls: New function to set minimum acceptable SRP bits. -The function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick - in . - -** libgnutls: Check for overflows in gnutls_calloc and gnutls_secure_calloc. -Also fix overflows in calls to those functions. Reported by Werner -Koch . - -** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode. -The function is gnutls_register_md5_handler. When libgcrypt is in -FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in -the PRF. - -** Opencdk: Add calls to gnutls_assert to ease debugging. - -** Indent code. - -** API and ABI modifications: -gnutls_srp_set_prime_bits: ADDED -gnutls_register_md5_handler: ADDED -gnutls_x509_crt_set_crl_dist_points2: ADDED -gnutls_x509_crt_set_subject_alt_name: ADDED - -* Version 2.5.7 (released 2008-09-16) - -** libgnutls: New interfaces to get name of public key and signing algorithms. -The functions are gnutls_sign_get_name and gnutls_pk_get_name. - -** libgnutls: Don't crash when gnutls_credentials_set is called twice. - -** libgnutls: Fix libgnutls shared library version. -It wasn't properly incremented after adding symbols in the last -release. - -** manual: Now mention supported public key and public key signing algorithms. - -** tests/openssl: initialize gnutls before use. - -** tests/setcredcrash: New test to catch regressions of gnutls_credentials_set. - -** GTK-DOC manual: mention new symbols in 2.6.x. Mention crypto.h functions. - -** API and ABI modifications: -gnutls_sign_get_name: ADDED -gnutls_pk_get_name: ADDED - -* Version 2.5.6 (released 2008-09-08) - -** libgnutls: Add interface to deal with public key and signature algorithms. -The functions are called gnutls_pk_list, gnutls_pk_get_id, -gnutls_sign_list, and gnutls_sign_get_id. Suggested by Sam -Varshavchik . - -** libgnutls: Refactor and clean up some code. - -** libgnutls: Fix compile error with Sun CC. - -** gnutls-cli: Improve --list output to include public key and signature algs. - -** gnutls-cli, gnutls-serv: Remove --copyright parameter. -Use standard --version to get license info. - -** gnutls-cli.1: Document all new parameters. -Thanks to James Westby . - -** tests: New self-test pgps2kgnu to test parsing of encrypted secrets. -Contributed by Daniel Kahn Gillmor . - -** API and ABI modifications: -gnutls_pk_list: ADDED -gnutls_pk_get_id: ADDED -gnutls_sign_list: ADDED -gnutls_sign_get_id: ADDED - -* Version 2.5.5 (released 2008-08-29) - -** libgnutls: New API to get a string corresponding to a error symbol. -The function is gnutls_strerror_name. - -** libgnutls: Fix include paths so that building with internal libtasn1 works. -Reported by "jth.net ApS" . - -** libgnutls: Fix segmentation fault when generating private keys. -Reported by Daniel Kahn Gillmor . - -** libgnutls: Remove code to import certificate chains in PKCS#7 format. -The code has not worked since v0.9.0 and apparently nobody has missed -it, so we decided to remove the code rather than fix it. If you have -old certificate chains stored in PKCS#7 format, you can convert them -to a list of PEM certificates by using 'certtool --p7-info'. Reported -by Christian Grothoff . - -** opencdk: Parse (but not decrypt) encrypted secret keys. -Contributed by Daniel Kahn Gillmor . - -** libgnutls: Fix many warnings. - -** Included copy of libtasn1 is upgraded to version 1.5. - -** Add French translation, thanks to Nicolas Provost. - -** API and ABI modifications: -gnutls_strerror_name: ADDED - -* Version 2.5.4 (released 2008-08-19) - -** Fix secure memory initialization of libgcrypt. -Reported by Joe Orton in -. - -** Doc fixes. -Reference to NIST SP 800-57 in the manual on key size recommendations. -Added 'Since:' tags to new APIs for gtk-doc. - -** API and ABI modifications: -No changes since last version. - -* Version 2.5.3 (released 2008-08-14) - -** libgnutls: New API to set the public parameters in a certificate request -** from a private key. -The function is gnutls_x509_crq_set_key_rsa_raw. Inspired by -discussion with "Zach C." . - -** libgnutls: New API to set a callback to extract TLS Finished data. -The function to register is gnutls_session_set_finished_function and -it takes a callback of the gnutls_finished_callback_func type. - -** libgnutls: Drop final comma after GNUTLS_CRT_PRINT_UNSIGNED_FULL in enum. -Reported in . - -** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE. -The new names are GNUTLS_MASTER_SIZE and GNUTLS_RANDOM_SIZE. The old -names are mapped to the new names in compat.h. These mappings will -likely be removed more quickly than other mappings in that file due to -the namespace violation. - -** libgnutlsxx: Make it build when SRP is disabled. - -** doc: Add doxygen files in doc/doxygen/. - -** API and ABI modifications: -gnutls_x509_crq_set_key_rsa_raw: ADDED -gnutls_session_set_finished_function: ADDED -gnutls_finished_callback_func: ADDED -GNUTLS_MASTER_SIZE: ADDED -GNUTLS_RANDOM_SIZE: ADDED -TLS_MASTER_SIZE: DEPRECATED -TLS_RANDOM_SIZE: DEPRECATED - -* Version 2.5.2 (released 2008-07-08) - -** libgnutls: Fix bug in gnutls_dh_params_generate2. -The prime and generator was swapped. - -** libgnutls: New interface to register a new TLS extension handler. -The new function gnutls_ext_register can be used to register handlers -for specific TLS extension types. The callback functions have the new -types gnutls_ext_recv_func and gnutls_ext_send_func. A type to -classify TLS extensions, gnutls_ext_parse_type_t, has been added as -well. - -** Move more code for TLS/IA extension from libgnutls to libgnutls-extra. -This was made possible by using the new gnutls_ext_register interface. -The TLS/IA functionality has only been supported through the -libgnutls-extra library, so it makes sense for the code to belong -there too. - -** API and ABI modifications: -gnutls_ext_recv_func: ADDED -gnutls_ext_send_func: ADDED -gnutls_ext_parse_type_t: ADDED -gnutls_ext_register: ADDED - -* Version 2.5.1 (released 2008-07-02) - -** Indent code. - -** API and ABI modifications: -No changes since last version. - -* Version 2.5.0 (released 2008-07-02) - -** Port fixes from v2.4.1 release, see below. - -** Added API to replace and update the crypto backend. -The header gnutls/crypto.h is now officially supported, and declares -the symbols below. - -** Rewritten opencdk crypto backend, to use the gnutls internal one. - -** Update gnulib and translations. -The gnulib gc crypto code has been removed since it was never finished -and is no longer even used. An internal non-libgcrypt crypto -implementation may be added in the future, but we'll decide that later -on. - -** API and ABI modifications: -gnutls_crypto_bigint_register2: ADDED. -gnutls_crypto_cipher_register2: ADDED. -gnutls_crypto_digest_register2: ADDED. -gnutls_crypto_mac_register2: ADDED. -gnutls_crypto_pk_register2: ADDED. -gnutls_crypto_rnd_register2: ADDED. -gnutls_crypto_single_cipher_register2: ADDED. -gnutls_crypto_single_digest_register2: ADDED. -gnutls_crypto_single_mac_register2: ADDED. - -* Version 2.4.3 (released 2009-02-06) - -** libgnutls: Accept chains where intermediary certs are trusted. -Before GnuTLS needed to validate the entire chain back to a -self-signed certificate. GnuTLS will now stop looking when it has -found an intermediary trusted certificate. The new behaviour is -useful when chains, for example, contains a top-level CA, an -intermediary CA signed using RSA-MD5, and an end-entity certificate. -To avoid chain validation errors due to the RSA-MD5 cert, you can -explicitly add the intermediary RSA-MD5 cert to your trusted certs. -The signature on trusted certificates are not checked, so the chain -has a chance to validate correctly. Reported by "Douglas E. Engert" - in -. - -** libgnutls: Permit V1 Certificate Authorities properly. -Before they were mistakenly rejected even though -GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or -GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by -"Douglas E. Engert" in -. - -** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures. -This is a bugfix -- the previous attempt to do this from internal x509 -certificate verification procedures did not return the correct value -for certificates using a weak hash. Reported by Daniel Kahn Gillmor - in -, -debugged and patch by Tomas Mraz and Daniel Kahn -Gillmor . - -** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs. -Reported by Michael Kiefer in - forwarded by -Andreas Metzler in -. - -** libgnutls: Fix crash in X.509 validation code for self-signed certificates. -The patch to fix the security problem GNUTLS-SA-2008-3 introduced a -problem for certificate chains that contained just one self-signed -certificate. Reported by Michael Meskes in -. - -** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3] -The flaw makes it possible for man in the middle attackers (i.e., -active attackers) to assume any name and trick GNU TLS clients into -trusting that name. Thanks for report and analysis from Martin von -Gagern . [CVE-2008-4989] - -Any updates with more details about this vulnerability will be added -to - -** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import. -Report and patch by Jonathan Manktelow. - -** libgnutls: Avoid use of non-thread safe strerror. - -** API and ABI modifications: -No changes since last version. - -* Version 2.4.2 (released 2008-09-15) - -** libgnutls: Don't crash when gnutls_credentials_set is called twice. - -** libgnutls: Corrected memory leak in X.509 functions. -Thanks to Colin Leroy . - -** libgnutls: Fix compile error with Sun CC. - -** gnutls-cli.1: Document all new parameters. -Thanks to James Westby . - -** tests/openssl: initialize gnutls before use. -Fixes crash with libgcrypt 1.4.2. Reported by Ludovic Courtes -. - -** doc/: Fix texinfo markup for old texinfo versions. - -** Included copy of libtasn1 is upgraded to version 1.5. - -** API and ABI modifications: -No changes since last version. - * Version 2.4.1 (released 2008-06-30) ** libgnutls: Fix local crash in gnutls_handshake. [GNUTLS-SA-2008-2] @@ -3595,7 +2178,7 @@ ** Fix gnutls-cli-debug regarding resume support detection. Earlier, if the session-id from the server had a length of 0, it would -indicate that the server supports resumption, which isn't the case. +indicate the the server supports resumption, which isn't the case. Reported by Kataja Kai . ** Fix building of examples on FreeBSD by including netinet/in.h. diff -Nru gnutls26-2.8.6/po/boldquot.sed gnutls26-2.4.1/po/boldquot.sed --- gnutls26-2.8.6/po/boldquot.sed 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/boldquot.sed 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1â€/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“â€/""/g +s/“/“/g +s/â€/â€/g +s/‘/‘/g +s/’/’/g Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/de.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/de.gmo differ diff -Nru gnutls26-2.8.6/po/de.po gnutls26-2.4.1/po/de.po --- gnutls26-2.8.6/po/de.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/de.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,864 @@ +# German gnutls translation. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls package. +# Jens Seidel , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 1.4.0\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2006-12-12 09:37+0100\n" +"Last-Translator: Michael Piefel \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Erfolg." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Konnte keine unterstützte Code-Suite aushandeln." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "Der Code-Typ wird nicht unterstützt." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Das Zertifikat und der gegebene Schlüssel passen nicht zueinander." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Konnte keine unterstützte Kompressionsmethode aushandeln." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "Ein unbekannter öffentlicher-Schlüssel-Algorithmus trat auf." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "Ein nicht aktivierter Algorithmus wurde ausgehandelt." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Ein großes TLS-Datensatzpaket wurde empfangen." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Ein Datensatzpaket mit illegaler Version wurde empfangen." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Die Diffie-Hellman-Primzahl, die vom Server gesendet wurde, ist nicht " +"akzeptabel (nicht lang genug)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Ein TLS-Paket mit unerwarteter Länge wurde empfangen." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "Die angegebene Sitzung wurde aus irgendwelchen Gründen ungültig." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "Interner GnuTLS-Fehler." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "Eine illegale TLS-Erweiterung wurde empfangen." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Ein fataler TLS-Alarm wurde empfangen." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Ein unerwartetes TLS-Paket wurde empfangen." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "Eine TLS-Warnmeldung wurde empfangen." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Ein Fehler trat bei der fertiggestellten TLS-Paketberechnung auf." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "Die Gegenstelle sendete kein Zertifikat." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "" + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Es wurden keine temporären RSA-Parameter gefunden." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Es wurden keine temporären DH-Parameter gefunden." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Ein unerwartetes TLS-Handshake-Paket wurde empfangen." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Das Lesen einer großen Ganzzahl schlug fehl." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Konnte keine große Ganzzahl exportieren." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Die Entschlüsselung schlug fehl." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Die Verschlüsselung schlug fehl." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Die Entschlüsselung mittels öffentlichem Schlüssel schlug fehl." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Die Verschlüsselung mittels öffentlichem Schlüssel schlug fehl." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Das Signieren mittels öffentlichem Schlüssel schlug fehl." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "" +"Die Verifizierung der Signatur mittels öffentlichem Schlüssel schlug fehl." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Die Dekomprimierung des TLS-Datensatzpakets schlug fehl." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Die Komprimierung des TLS-Datensatzpakets schlug fehl." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Interner Fehler bei Speicheranfoderung." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "" +"Eine nicht implementierte oder deaktivierte Eigenschaft wurde abgefragt." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Unzureichende Berechtigungsnachweise für diese Anfrage." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Fehler in Passwortdatei." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Falsche Auffüllung in PKCS1-Paket." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "Die abgefragte Sitzung ist ausgelaufen." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Hashing schlug fehl." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Base64-Entschlüsselungsfehler." + +#: lib/gnutls_errors.c:133 +#, fuzzy +msgid "Base64 unexpected header error." +msgstr "Base64-Entschlüsselungsfehler." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Base64-Verschlüsselungsfehler." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Lesefehler in Passwortdatei." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "Die abgefragten Daten waren nicht verfügbar." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Fehler in der Pull-Funktion." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Fehler in der Push-Funktion." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "Das obere Limit der Datensatzpaketsequenznummern wurde erreicht. Huch!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Fehler im Zertifikat." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Unbekannter Betreffalternativenname im X.509-Zertifikat." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Nicht unterstützte kritische Erweiterung im X.509-Zertifikat." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Schlüsselverwendungsverletzung im Zertifikat wurde entdeckt." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Funktion wurde unterbrochen." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Neuer Handshake wurde von der Gegenstelle gefordert." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "" +"TLS-Anwendungsdaten wurden empfangen, während Handshake-Daten erwartet " +"wurden." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Fehler im Datenbank-Backend." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Der Zertifikattyp wird nicht unterstützt." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Der verfügbare Speicherpuffer ist zu kurz, um Parameter aufzunehmen." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "Die Anfrage ist ungültig." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "Ein illegaler Parameter wurde empfangen." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Fehler beim Dateilesen." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "ASN1-Parser: Element wurde nicht gefunden." + +# FIXME: full stop is missing +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "ASN1-Parser: Identifikator wurde nicht gefunden." + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "ASN1-Parser: Fehler im DER-Parsen." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "ASN1-Parser: Wert wurde nicht gefunden." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "ASN1-Parser: Allgemeiner Verarbeitungsfehler." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "ASN1-Parser: Wert ist nicht gültig." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "ASN1-Parser: Fehler in TAG." + +# FIXME: capitalisation, full stop +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "ASN1-Parser: Fehler in implizitem Tag." + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "ASN1-Parser: Fehler im Typ 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "ASN1-Parser: Syntaxfehler." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "ASN1-Parser: Ãœberlauf beim DER-Parsen." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Zu viele leere Datensatzpakete wurden empfangen." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Die Initialisierung von GnuTLS-extra schlug fehl." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"Die Version der GnuTLS-Bibliothek stimmt nicht mit der Version der GnuTLS-" +"extra-Bibliothek überein." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "Die Version der Bibliothek gcrypt ist zu alt." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "Die Version der Bibliothek tasn1 ist zu alt." + +#: lib/gnutls_errors.c:203 +#, fuzzy +msgid "The OpenPGP User ID is revoked." +msgstr "Der OpenPGP-Fingerabdruck wird nicht unterstützt." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Fehler beim Laden des Schlüsselrings." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Die Initialisierung von LZO schlug fehl." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Keine unterstützten Kompressionsalgorithmen wurden gefunden." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Keine unterstützten Code-Suites wurden gefunden." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Konnte OpenPGP-Schlüssel nicht bekommen." + +#: lib/gnutls_errors.c:215 +#, fuzzy +msgid "Could not find OpenPGP subkey." +msgstr "Konnte OpenPGP-Schlüssel nicht bekommen." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "Der angegebene SRP-Benutzername ist illegal." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "Der OpenPGP-Fingerabdruck wird nicht unterstützt." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Das Zertifikat hat nichtunterstützte Attribute." + +# CHECKME +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "OID wird nicht unterstützt." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Der Hash-Algorithmus ist unbekannt." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "Der Inhaltstyp der PKCS-Struktur ist unbekannt." + +# CHECKME +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "Der Verpackungstyp der PKCS-Struktur ist unbekannt." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Das angegebene Passwort enthält ungültige Zeichen." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Die Ãœberprüfung des Authentifizierungscodes der Nachricht schlug fehl." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Einige beschränkende Limits wurden erreicht." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Konnte keine zufälligen Daten erhalten." + +# FIXME: missing fullstops in next three msgid's +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Empfing eine »TLS/IA Intermediate Phase Finished«-Mitteilung" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Empfing eine »TLS/IA Final Phase Finished«-Mitteilung" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Verifizierung der TLS/IA-Phasenprüfsumme schlug fehl" + +#: lib/gnutls_errors.c:249 +#, fuzzy +msgid "The specified algorithm or protocol is unknown." +msgstr "Der Hash-Algorithmus ist unbekannt." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "" + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "" + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "" + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "" + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "" + +#: lib/x509/output.c:1243 +#, fuzzy +msgid "\tNo revoked certificates.\n" +msgstr "Fehler im Zertifikat." + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "" + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "" + +#: lib/openpgp/output.c:84 +msgid "\t\tKey Usage:\n" +msgstr "" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +msgid "\t\t\tDigital signatures.\n" +msgstr "" + +#: lib/openpgp/output.c:100 +msgid "\t\t\tCommunications encipherment.\n" +msgstr "" + +#: lib/openpgp/output.c:102 +msgid "\t\t\tStorage data encipherment.\n" +msgstr "" + +#: lib/openpgp/output.c:104 +msgid "\t\t\tAuthentication.\n" +msgstr "" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +msgid "\tFingerprint (hex): " +msgstr "" + +#: lib/openpgp/output.c:165 +msgid "\tRevoked: True\n" +msgstr "" + +#: lib/openpgp/output.c:167 +msgid "\tRevoked: False\n" +msgstr "" + +#: lib/openpgp/output.c:175 +msgid "\tTime stamps:\n" +msgstr "" + +#: lib/openpgp/output.c:192 +#, c-format +msgid "\t\tCreation: %s\n" +msgstr "" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, c-format +msgid "\t\tExpiration: %s\n" +msgstr "" + +#: lib/openpgp/output.c:239 +#, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +msgid "OpenPGP Certificate Information:\n" +msgstr "" + +#~ msgid "" +#~ "The specified GnuPG TrustDB version is not supported. TrustDB v4 is " +#~ "supported." +#~ msgstr "" +#~ "Die angegebene Version von GnuPG-TrustDB wird nicht unterstützt. TrustDB " +#~ "Version 4 wird unterstützt." Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/en@boldquot.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/en@boldquot.gmo differ diff -Nru gnutls26-2.8.6/po/en@boldquot.header gnutls26-2.4.1/po/en@boldquot.header --- gnutls26-2.8.6/po/en@boldquot.header 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/en@boldquot.header 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff -Nru gnutls26-2.8.6/po/en@boldquot.po gnutls26-2.4.1/po/en@boldquot.po --- gnutls26-2.8.6/po/en@boldquot.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/en@boldquot.po 2008-06-30 22:14:35.000000000 +0100 @@ -0,0 +1,886 @@ +# English translations for GnuTLS package. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the GnuTLS package. +# Automatically generated, 2008. +# +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.4.1\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-06-30 23:14+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Success." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Could not negotiate a supported cipher suite." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "The cipher type is unsupported." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "The certificate and the given key do not match." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Could not negotiate a supported compression method." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "An unknown public key algorithm was encountered." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "An algorithm that is not enabled was negotiated." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "A large TLS record packet was received." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "A record packet with illegal version was received." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "A TLS packet with unexpected length was received." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "The specified session has been invalidated for some reason." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "GnuTLS internal error." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "An illegal TLS extension was received." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "A TLS fatal alert has been received." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "An unexpected TLS packet was received." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "A TLS warning alert has been received." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "An error was encountered at the TLS Finished packet calculation." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "The peer did not send any certificate." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "There is already a crypto algorithm with lower priority." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "No temporary RSA parameters were found." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "No temporary DH parameters were found." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "An unexpected TLS handshake packet was received." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "The scanning of a large integer has failed." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Could not export a large integer." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Decryption has failed." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Encryption has failed." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Public key decryption has failed." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Public key encryption has failed." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Public key signing has failed." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Public key signature verification has failed." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Decompression of the TLS record packet has failed." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Compression of the TLS record packet has failed." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Internal error in memory allocation." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "An unimplemented or disabled feature has been requested." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Insufficient credentials for that request." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Error in password file." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Wrong padding in PKCS1 packet." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "The requested session has expired." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Hashing has failed." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Base64 decoding error." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Base64 unexpected header error." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Base64 encoding error." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Parsing error in password file." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "The requested data were not available." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Error in the pull function." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Error in the push function." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "" +"The upper limit of record packet sequence numbers has been reached. Wow!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Error in the certificate." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Unknown Subject Alternative name in X.509 certificate." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Unsupported critical extension in X.509 certificate." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Key usage violation in certificate has been detected." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Function was interrupted." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Rehandshake was requested by the peer." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "TLS Application data were received, while expecting handshake data." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Error in Database backend." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "The certificate type is not supported." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "The given memory buffer is too short to hold parameters." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "The request is invalid." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "An illegal parameter has been received." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Error while reading file." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "ASN1 parser: Element was not found." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "ASN1 parser: Identifier was not found" + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "ASN1 parser: Error in DER parsing." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "ASN1 parser: Value was not found." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "ASN1 parser: Generic parsing error." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "ASN1 parser: Value is not valid." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "ASN1 parser: Error in TAG." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "ASN1 parser: error in implicit tag" + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "ASN1 parser: Error in type 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "ASN1 parser: Syntax error." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "ASN1 parser: Overflow in DER parsing." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Too many empty record packets have been received." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "The initialization of GnuTLS-extra has failed." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"The GnuTLS library version does not match the GnuTLS-extra library version." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "The gcrypt library version is too old." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "The tasn1 library version is too old." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "The OpenPGP User ID is revoked." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Error loading the keyring." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "The initialization of LZO has failed." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "No supported compression algorithms have been found." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "No supported cipher suites have been found." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Could not get OpenPGP key." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Could not find OpenPGP subkey." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "The SRP username supplied is illegal." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "The OpenPGP fingerprint is not supported." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "The certificate has unsupported attributes." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "The OID is not supported." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "The hash algorithm is unknown." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "The PKCS structure's content type is unknown." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "The PKCS structure's bag type is unknown." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "The given password contains invalid characters." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "The Message Authentication Code verification failed." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Some constraint limits were reached." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Failed to acquire random data." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Received a TLS/IA Intermediate Phase Finished message" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Received a TLS/IA Final Phase Finished message" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Verifying TLS/IA phase checksum failed" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "The specified algorithm or protocol is unknown." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tPath Length Constraint: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tPolicy Language: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tHexdump: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tDigital signature.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tNon repudiation.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tKey encipherment.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tData encipherment.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tKey agreement.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tCertificate signing.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tCRL signing.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tKey encipher only.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tKey decipher only.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tTLS WWW Server.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tTLS WWW Client.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tCode signing.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tEmail protection.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tTime stamping.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tOCSP signing.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tAny purpose.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tCertificate Authority (CA): FALSE\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tCertificate Authority (CA): TRUE\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tXMPP Address: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\totherName OID: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\totherName DER: " + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\totherName ASCII: " + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tVersion: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tSerial Number (hex): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tIssuer: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tValidity:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tNot Before: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tNot After: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tSubject: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "unknown" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tSubject Public Key Algorithm: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tModulus (bits %d):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tExponent:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tPublic key (bits %d):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tExtensions:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tBasic Constraints (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "critical" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "not critical" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tSubject Key Identifier (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tAuthority Key Identifier (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tKey Usage (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tKey Purpose (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tSubject Alternative Name (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tCRL Distribution points (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tProxy Certificate Information (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tUnknown extension %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tHexdump: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tSignature Algorithm: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" +"warning: signed using a broken signature algorithm that can be forged.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tSignature:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tMD5 fingerprint:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tSHA-1 fingerprint:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tPublic Key Id:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "X.509 Certificate Information:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Other Information:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tVersion: 1 (default)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tUpdate dates:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tIssued: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tNext at: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tRevoked certificates (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tNo revoked certificates.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tSerial Number (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tRevoked at: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "X.509 Certificate Revocation List Information:\n" + +#: lib/openpgp/output.c:84 +msgid "\t\tKey Usage:\n" +msgstr "\t\tKey Usage:\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "error: get_key_usage: %s\n" + +#: lib/openpgp/output.c:98 +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tDigital signatures.\n" + +#: lib/openpgp/output.c:100 +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tCommunications encipherment.\n" + +#: lib/openpgp/output.c:102 +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tStorage data encipherment.\n" + +#: lib/openpgp/output.c:104 +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tAuthentication.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "\tID (hex): " + +#: lib/openpgp/output.c:148 +msgid "\tFingerprint (hex): " +msgstr "\tFingerprint (hex): " + +#: lib/openpgp/output.c:165 +msgid "\tRevoked: True\n" +msgstr "\tRevoked: True\n" + +#: lib/openpgp/output.c:167 +msgid "\tRevoked: False\n" +msgstr "\tRevoked: False\n" + +#: lib/openpgp/output.c:175 +msgid "\tTime stamps:\n" +msgstr "\tTime stamps:\n" + +#: lib/openpgp/output.c:192 +#, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tCreation: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "\t\tExpiration: Never\n" + +#: lib/openpgp/output.c:215 +#, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tExpiration: %s\n" + +#: lib/openpgp/output.c:239 +#, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tPublic Key Algorithm: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "\tName[%d]: %s\n" + +#: lib/openpgp/output.c:345 +#, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\tRevoked Name[%d]: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" +"\n" +"\tSubkey[%d]:\n" + +#: lib/openpgp/output.c:395 +msgid "OpenPGP Certificate Information:\n" +msgstr "OpenPGP Certificate Information:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/en@quot.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/en@quot.gmo differ diff -Nru gnutls26-2.8.6/po/en@quot.header gnutls26-2.4.1/po/en@quot.header --- gnutls26-2.8.6/po/en@quot.header 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/en@quot.header 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff -Nru gnutls26-2.8.6/po/en@quot.po gnutls26-2.4.1/po/en@quot.po --- gnutls26-2.8.6/po/en@quot.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/en@quot.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,883 @@ +# English translations for GnuTLS package. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the GnuTLS package. +# Automatically generated, 2008. +# +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.4.1\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-06-30 23:14+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Success." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Could not negotiate a supported cipher suite." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "The cipher type is unsupported." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "The certificate and the given key do not match." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Could not negotiate a supported compression method." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "An unknown public key algorithm was encountered." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "An algorithm that is not enabled was negotiated." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "A large TLS record packet was received." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "A record packet with illegal version was received." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "A TLS packet with unexpected length was received." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "The specified session has been invalidated for some reason." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "GnuTLS internal error." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "An illegal TLS extension was received." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "A TLS fatal alert has been received." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "An unexpected TLS packet was received." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "A TLS warning alert has been received." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "An error was encountered at the TLS Finished packet calculation." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "The peer did not send any certificate." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "There is already a crypto algorithm with lower priority." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "No temporary RSA parameters were found." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "No temporary DH parameters were found." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "An unexpected TLS handshake packet was received." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "The scanning of a large integer has failed." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Could not export a large integer." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Decryption has failed." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Encryption has failed." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Public key decryption has failed." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Public key encryption has failed." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Public key signing has failed." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Public key signature verification has failed." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Decompression of the TLS record packet has failed." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Compression of the TLS record packet has failed." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Internal error in memory allocation." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "An unimplemented or disabled feature has been requested." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Insufficient credentials for that request." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Error in password file." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Wrong padding in PKCS1 packet." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "The requested session has expired." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Hashing has failed." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Base64 decoding error." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Base64 unexpected header error." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Base64 encoding error." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Parsing error in password file." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "The requested data were not available." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Error in the pull function." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Error in the push function." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "" +"The upper limit of record packet sequence numbers has been reached. Wow!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Error in the certificate." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Unknown Subject Alternative name in X.509 certificate." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Unsupported critical extension in X.509 certificate." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Key usage violation in certificate has been detected." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Function was interrupted." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Rehandshake was requested by the peer." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "TLS Application data were received, while expecting handshake data." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Error in Database backend." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "The certificate type is not supported." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "The given memory buffer is too short to hold parameters." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "The request is invalid." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "An illegal parameter has been received." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Error while reading file." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "ASN1 parser: Element was not found." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "ASN1 parser: Identifier was not found" + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "ASN1 parser: Error in DER parsing." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "ASN1 parser: Value was not found." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "ASN1 parser: Generic parsing error." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "ASN1 parser: Value is not valid." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "ASN1 parser: Error in TAG." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "ASN1 parser: error in implicit tag" + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "ASN1 parser: Error in type 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "ASN1 parser: Syntax error." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "ASN1 parser: Overflow in DER parsing." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Too many empty record packets have been received." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "The initialization of GnuTLS-extra has failed." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"The GnuTLS library version does not match the GnuTLS-extra library version." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "The gcrypt library version is too old." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "The tasn1 library version is too old." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "The OpenPGP User ID is revoked." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Error loading the keyring." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "The initialization of LZO has failed." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "No supported compression algorithms have been found." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "No supported cipher suites have been found." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Could not get OpenPGP key." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Could not find OpenPGP subkey." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "The SRP username supplied is illegal." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "The OpenPGP fingerprint is not supported." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "The certificate has unsupported attributes." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "The OID is not supported." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "The hash algorithm is unknown." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "The PKCS structure's content type is unknown." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "The PKCS structure's bag type is unknown." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "The given password contains invalid characters." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "The Message Authentication Code verification failed." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Some constraint limits were reached." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Failed to acquire random data." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Received a TLS/IA Intermediate Phase Finished message" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Received a TLS/IA Final Phase Finished message" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Verifying TLS/IA phase checksum failed" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "The specified algorithm or protocol is unknown." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tPath Length Constraint: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tPolicy Language: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tHexdump: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tDigital signature.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tNon repudiation.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tKey encipherment.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tData encipherment.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tKey agreement.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tCertificate signing.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tCRL signing.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tKey encipher only.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tKey decipher only.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tTLS WWW Server.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tTLS WWW Client.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tCode signing.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tEmail protection.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tTime stamping.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tOCSP signing.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tAny purpose.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tCertificate Authority (CA): FALSE\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tCertificate Authority (CA): TRUE\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tXMPP Address: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\totherName OID: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\totherName DER: " + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\totherName ASCII: " + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tVersion: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tSerial Number (hex): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tIssuer: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tValidity:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tNot Before: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tNot After: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tSubject: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "unknown" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tSubject Public Key Algorithm: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tModulus (bits %d):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tExponent:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tPublic key (bits %d):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tExtensions:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tBasic Constraints (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "critical" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "not critical" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tSubject Key Identifier (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tAuthority Key Identifier (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tKey Usage (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tKey Purpose (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tSubject Alternative Name (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tCRL Distribution points (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tProxy Certificate Information (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tUnknown extension %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tHexdump: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tSignature Algorithm: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" +"warning: signed using a broken signature algorithm that can be forged.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tSignature:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tMD5 fingerprint:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tSHA-1 fingerprint:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tPublic Key Id:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "X.509 Certificate Information:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Other Information:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tVersion: 1 (default)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tUpdate dates:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tIssued: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tNext at: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tRevoked certificates (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tNo revoked certificates.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tSerial Number (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tRevoked at: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "X.509 Certificate Revocation List Information:\n" + +#: lib/openpgp/output.c:84 +msgid "\t\tKey Usage:\n" +msgstr "\t\tKey Usage:\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "error: get_key_usage: %s\n" + +#: lib/openpgp/output.c:98 +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tDigital signatures.\n" + +#: lib/openpgp/output.c:100 +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tCommunications encipherment.\n" + +#: lib/openpgp/output.c:102 +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tStorage data encipherment.\n" + +#: lib/openpgp/output.c:104 +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tAuthentication.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "\tID (hex): " + +#: lib/openpgp/output.c:148 +msgid "\tFingerprint (hex): " +msgstr "\tFingerprint (hex): " + +#: lib/openpgp/output.c:165 +msgid "\tRevoked: True\n" +msgstr "\tRevoked: True\n" + +#: lib/openpgp/output.c:167 +msgid "\tRevoked: False\n" +msgstr "\tRevoked: False\n" + +#: lib/openpgp/output.c:175 +msgid "\tTime stamps:\n" +msgstr "\tTime stamps:\n" + +#: lib/openpgp/output.c:192 +#, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tCreation: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "\t\tExpiration: Never\n" + +#: lib/openpgp/output.c:215 +#, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tExpiration: %s\n" + +#: lib/openpgp/output.c:239 +#, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tPublic Key Algorithm: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "\tName[%d]: %s\n" + +#: lib/openpgp/output.c:345 +#, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\tRevoked Name[%d]: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" +"\n" +"\tSubkey[%d]:\n" + +#: lib/openpgp/output.c:395 +msgid "OpenPGP Certificate Information:\n" +msgstr "OpenPGP Certificate Information:\n" diff -Nru gnutls26-2.8.6/po/gnutls.pot gnutls26-2.4.1/po/gnutls.pot --- gnutls26-2.8.6/po/gnutls.pot 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/gnutls.pot 2008-06-30 22:14:35.000000000 +0100 @@ -0,0 +1,840 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.4.1\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23: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" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "" + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "" + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "" + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "" + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "" + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "" + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "" + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "" + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "" + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "" + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "" + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "" + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "" + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "" + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "" + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "" + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "" + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "" + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "" + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "" + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "" + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "" + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "" + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "" + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "" + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "" + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "" + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "" + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "" + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "" + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "" + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "" + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "" + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "" + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "" + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "" + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "" + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "" + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "" + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "" + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "" + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "" + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "" + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "" + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "" + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "" + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "" + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "" + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "" + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "" + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "" + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "" + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "" + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "" + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "" + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "" + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "" + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "" + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "" + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "" + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "" + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "" + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "" + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "" + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "" + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "" + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "" + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "" + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "" + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "" + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "" + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "" + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "" + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "" + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "" + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "" + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "" + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "" + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "" + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "" + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "" + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "" + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "" + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "" + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "" + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "" + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "" + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "" + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "" + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "" + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "" + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "" + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "" + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "" + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "" + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "" + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "" + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "" + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "" + +#: lib/openpgp/output.c:84 +msgid "\t\tKey Usage:\n" +msgstr "" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +msgid "\t\t\tDigital signatures.\n" +msgstr "" + +#: lib/openpgp/output.c:100 +msgid "\t\t\tCommunications encipherment.\n" +msgstr "" + +#: lib/openpgp/output.c:102 +msgid "\t\t\tStorage data encipherment.\n" +msgstr "" + +#: lib/openpgp/output.c:104 +msgid "\t\t\tAuthentication.\n" +msgstr "" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +msgid "\tFingerprint (hex): " +msgstr "" + +#: lib/openpgp/output.c:165 +msgid "\tRevoked: True\n" +msgstr "" + +#: lib/openpgp/output.c:167 +msgid "\tRevoked: False\n" +msgstr "" + +#: lib/openpgp/output.c:175 +msgid "\tTime stamps:\n" +msgstr "" + +#: lib/openpgp/output.c:192 +#, c-format +msgid "\t\tCreation: %s\n" +msgstr "" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, c-format +msgid "\t\tExpiration: %s\n" +msgstr "" + +#: lib/openpgp/output.c:239 +#, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +msgid "OpenPGP Certificate Information:\n" +msgstr "" diff -Nru gnutls26-2.8.6/po/insert-header.sin gnutls26-2.4.1/po/insert-header.sin --- gnutls26-2.8.6/po/insert-header.sin 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/insert-header.sin 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff -Nru gnutls26-2.8.6/po/LINGUAS gnutls26-2.4.1/po/LINGUAS --- gnutls26-2.8.6/po/LINGUAS 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/LINGUAS 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,8 @@ +en@boldquot +en@quot +de +ms +nl +pl +sv +vi diff -Nru gnutls26-2.8.6/po/Makefile.in.in gnutls26-2.4.1/po/Makefile.in.in --- gnutls26-2.8.6/po/Makefile.in.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/Makefile.in.in 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,429 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. +# +# Origin: gettext-0.17 +GETTEXT_MACRO_VERSION = 0.17 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: check-macro-version all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +check-macro-version: + @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +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 stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + $(MAKE) update-po + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if $(MSGMERGE) $$lang.po $(DOMAIN).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; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && $(SHELL) ./config.status $(subdir)/$@.in po-directories + +force: + +# 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: diff -Nru gnutls26-2.8.6/po/Makevars gnutls26-2.4.1/po/Makevars --- gnutls26-2.8.6/po/Makevars 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/Makevars 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnutls@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/ms.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/ms.gmo differ diff -Nru gnutls26-2.8.6/po/ms.po gnutls26-2.4.1/po/ms.po --- gnutls26-2.8.6/po/ms.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/ms.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,869 @@ +# gnutls Bahasa Melayu (Malay) (ms) +# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls package. +# Sharuzzaman Ahmat Raslan , 2006, 2007, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.3.8\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-06-04 22:51+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Berjaya." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Tidak dapat merunding sut cipher yang disokong." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "Jenis cipher tidak disokong." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Sijil dan kekunci diberi tidak sepadan." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Tidak dapat merunding kaedah mampatan disokong." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "Algoritma kekunci awam tidak diketahui dijumpai." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "Algoritma yang tidak dihidupkan telah dirundingkan." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Paket rekod TLS besar telah diterima." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Paket rekod dengan versi tidak sah telah diterima." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Perdana Diffie Hellman yang dihantar oleh pelayan tidak boleh diterima " +"(tidak cukup panjang)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Paket TLS dengan panjang tidak dijangka telah diterima." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "Sesi yang dinyatakan telah dinyahsahkan atas sebab tertentu." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "Ralat dalaman GnuTLS." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "Sambungan TLS tidak sah telah diterima." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Amaran teruk TLS telah diterima." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Paket TLS tidak dijangka telah diterima." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "Arahan amaran telah diterima." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Ralat ditemui pada pengiraan paket Selesai TLS" + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "Rakan tidak menghantar sebarang sijil." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "Telah terdapat algoritma kripto dengan keutamaan rendah." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Tiada parameter RSA sementara telah dijumpai." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Tiada parameter DH sementara telah dijumpai." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Paket handshake TLS tidak dijangka telah diterima." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Pengesanan integer besar telah gagal." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Tidak dapat mengeksport integer besar." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Nyahenkripsi telah gagal." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Enkripsi telah gagal." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Nyahenkripsi kekunci awam telah gagal." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Enkripsi kekunci awam telah gagal." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Tandatangan kekunci awam telah gagal." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Pengesahan tandatangan kekunci awam telah gagal." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Nyahmampatan paket rekod TLS telah gagal." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Mampatan paket rekod TLS telah gagal." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Ralat dalaman dalam pengumpukan memori." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "Ciri tidak disediakan atau dimatikan telah diminta." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Akuan tidak mencukupi untuk permintaan tersebut." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Ralat dalam fail katalaluan." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Pelapik salah dalam paket PKCS1." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "Sesi diminta telah tamat tempoh." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Menghash telah gagal." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Ralat menyahkod base64." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Ralat pengepala tidak dijangka base64." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Ralat mengenkod base64." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Ralat huraian dalam fail katalaluan." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "Data yang diminta tiada." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Ralat dalam fungsi tarik." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Ralat dalam fungsi tolak." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "Had atas nombor jujukan paket rakaman telah dicapai. Wow!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Ralat dalam sijil." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Nama Subjek Alternatif tidak diketahu dalam sijil X.509." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Sambungan kritikal tidak disokong dalam sijil X.509." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Pelanggaran penggunaan kekunci dalam sijik telah dikesan." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Fungsi telah dibatalkan." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Rehandshake diminta oleh peer." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "Data Aplikasi TLS telah diterima, semasa menjangka data handshake." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Ralat dalam backend Pengkalan Data." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Jenis sijil tidak disokong." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Buffer memori yang diberikan terlalu pendek untuk memegang parameter." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "Permintaan tidak sah." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "Parameter tidak sah telah diterima." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Ralat apabila membaca fail." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "Penghurai ASN1: Elemen tidak dijumpai." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "Penghurai ASN1: Pengenalan tidak dijumpai" + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "Penghurai ASN1: Ralat dalam huraian DER." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "Penghurai ASN1: Nilai tidak dijumpai." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "Penghurai ASN1: Ralat menghurai generik." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "Penghurai ASN1: Nilai tidak sah." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "Penghurai ASN1: Ralat dalam TAG." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "Penghurai ASN1: ralat dalam tag tersirat" + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "Penghurai ASN1: Ralat dalam jenis 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "Penghurai ASN1: Ralat sintaks." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "Penghurai ASN1: Limpahan dalam penghuraian DER." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Terlalu banyak paket rekod kosong telah diterima." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Pemulaan GnuTLS-extra telah gagal." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "Versi pustaka GnuTLS tidak sepadan dengan versi pustaka GnuTLS-extra." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "Versi pustaka gcrypt terlalu lama." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "Versi pustaka tasn1 terlalu lama." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "ID Pengguna OpenPGP telah dibatalkan." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Ralat memuatkan cecincin kunci." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Pemulaan LZO telah gagal." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Tiada algoritma pemampat yang disokong dijumpai." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Tiada sut cipher yang disokong dijumpai." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Tidak dapat memperoleh kekunci OpenPGP." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Tidak dapat mencari subkekunci OpenPGP." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "Namapengguna SRP yang diberikan tidak sah." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "Cap jari OpenPGP tidak disokong." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Sijil tidak mempunyai ciri disokong." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "OID tidak disokong." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Algoritma hash tidak diketahui." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "Jenis kandungan struktur PKCS tidak diketahui." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "Jenis beg struktur PKCS tidak diketahui." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Katalaluan diberikan mengandungi aksara tidak sah." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Pengesahan Message Authentication Code gagal." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Beberapa had kekangan telah dicapai." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Gagal untuk mendapatkan data rawak." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Menerima mesej TLS/IA Intermediate Phase Finished" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Menerima mesej TLS/IA Final Phase Finished" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Pengesahan checksum fasa TLS/IA gagal" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "Algoritma atau protokol dinyataka tidak diketahui." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"Saiz data jabat tangan terlalu besar (DoS?), periksa " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tKekangan Panjang Laluan: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tBahasa Polisi: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tPolisi:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\tLambakan Hex: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tTandatangan digital.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tTidak ditolak.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tPenyulitan kekunci.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tPenyulitan data.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tPersetujuan kekunci.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tMenandatangan sijil.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tMenandatangan CRL.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tEncipher kekunci sahaja.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tDecipher kekunci sahaja.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tPelayan WWW TLS.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tKlien WWW TLS.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tMenandatangan kod.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tPerlindungan emel.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tCap waktu.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tMenandatangan OCSP.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tSebarang tujuan.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tPihak Berkuasa Sijil (CA): SALAH\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tPenguasa Sijil (CA): BENAR\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tAlamat XMPP: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\tnamaLain OID: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\tnamaLain DER:" + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\tnamaLain ASCII:" + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tVersi: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tNombor Siri (hex):" + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tPengeluar: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tKesahan:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tTidak Sebelum: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tTidak Selepas: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tSubjek: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tAlgoritma Kekunci Awam Subjek: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tModulus (%d bit):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tEksponen:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tKekunci awam (%d bit):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tSambungan:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tKekangan Asas (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "kritikal" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "tidak kritikal" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tSubjek Kekunci Pengenalan (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tPengesahan Kekunci Pengenalan (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tPenggunaan Kekunci (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tTujuan Kekunci (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tNama Alternatif Subjek (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tTitik Edaran CRL (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tMaklumat Sijil Proksi (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tSambungan tidak diketahui %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tLambakan Hex: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tAlgoritma tandatangan: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" +"amaran: ditandatangan menggunakan algoritma tandatangan rosak yang boleh " +"dipalsukan.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tTandatangan:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tCap jari MD5:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tCap jari SHA-1:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tId Kekunci Awam:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "Maklumat Sijil X.509:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Maklumat Lain:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tVersi: 1 (default)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tTarikh kemaskini:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tDikeluarkan: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tSeterusnya pada: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tSijil dibatalkan (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tTiada sijil dibatalkan.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tNombor Siri (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tDibatalkan pada: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "Maklumat Senarai Pembatalan Sijil X.509:\n" + +#: lib/openpgp/output.c:84 +#, fuzzy +msgid "\t\tKey Usage:\n" +msgstr "\t\tPenggunaan Kekunci (%s):\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +#, fuzzy +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tTandatangan digital.\n" + +#: lib/openpgp/output.c:100 +#, fuzzy +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tPenyulitan data.\n" + +#: lib/openpgp/output.c:102 +#, fuzzy +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tPenyulitan data.\n" + +#: lib/openpgp/output.c:104 +#, fuzzy +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tTidak ditolak.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +#, fuzzy +msgid "\tFingerprint (hex): " +msgstr "" +"\tCap jari MD5:\n" +"\t\t" + +#: lib/openpgp/output.c:165 +#, fuzzy +msgid "\tRevoked: True\n" +msgstr "\t\tDibatalkan pada: %s\n" + +#: lib/openpgp/output.c:167 +#, fuzzy +msgid "\tRevoked: False\n" +msgstr "\t\tDibatalkan pada: %s\n" + +#: lib/openpgp/output.c:175 +#, fuzzy +msgid "\tTime stamps:\n" +msgstr "\t\t\tCap waktu.\n" + +#: lib/openpgp/output.c:192 +#, fuzzy, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tSeterusnya pada: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, fuzzy, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tSeterusnya pada: %s\n" + +#: lib/openpgp/output.c:239 +#, fuzzy, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tAlgoritma Kekunci Awam Subjek: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, fuzzy, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\t\tDibatalkan pada: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +#, fuzzy +msgid "OpenPGP Certificate Information:\n" +msgstr "Maklumat Sijil X.509:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/nl.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/nl.gmo differ diff -Nru gnutls26-2.8.6/po/nl.po gnutls26-2.4.1/po/nl.po --- gnutls26-2.8.6/po/nl.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/nl.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,872 @@ +# Dutch translations for gnutls. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls package. +# +# Benno Schulenberg , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: gnutls-2.3.8\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-05-05 21:20+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Gelukt." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Kan geen gemeenschappelijke coderingsmethode overeenkomen." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "De coderingsmethode wordt niet ondersteund." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Het certificaat en de gegeven sleutel passen niet bij elkaar." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Kan geen gemeenschappelijke compressiemethode overeenkomen." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "Onbekend versleutelingsalgoritme gevonden." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "Er werd een uitgeschakeld algoritme overeengekomen." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Er werd een groot TLS-datapakket ontvangen." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Er werd een datapakket met een ongedige versie ontvangen." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Het door de server toegezonden Diffie-Hellman-priemgetal is niet acceptabel " +"(niet lang genoeg)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Er werd een TLS-pakket met een onverwachte lengte ontvangen." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "De aangegeven sessie is om een of andere reden ongeldig geworden." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "**Interne fout** in GnuTLS." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "Er werd een ongeldige TLS-uitbreiding ontvangen." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Er werd een ernstig TLS-alarm ontvangen." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Er werd een onverwacht TLS-pakket ontvangen." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "Er is een TLS-waarschuwing ontvangen." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Er is een fout opgetreden tijdens de TLS-pakketeinde-berekening." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "De andere computer heeft geen certificaat gestuurd." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "Er is al een encryptie-algoritme met een lagere prioriteit." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Er zijn geen tijdelijke RSA-parameters gevonden." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Er zijn geen tijdelijke DH-parameters gevonden." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Er werd een onverwacht TLS-handshake-pakket ontvangen." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Het lezen van een groot geheel getal is mislukt." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Het exporteren van een groot geheel getal is mislukt." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Ontsleuteling is mislukt." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Versleuteling is mislukt." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Ontsleuteling met publieke sleutel is mislukt." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Versleuteling met publieke sleutel is mislukt." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Ondertekenen met publieke sleutel is mislukt." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Controle van ondertekening met publieke sleutel is mislukt." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Decompressie van het TLS-datapakket is mislukt." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Compressie van het TLS-datapakket is mislukt." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "**Interne fout** bij reserveren van geheugen." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "Er werd een uitgeschakelde of ongeïmplementeerde functie gevraagd." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Onvoldoende rechten voor dat verzoek." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Fout in wachtwoordenbestand." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Onjuiste opvulbytes in PKCS1-pakket." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "De gevraagde sessie is verlopen." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Hashen is mislukt." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Base64-decoderingsfout." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Onverwachte fout in base64-kopregel." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Base64-coderingsfout." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Fout in de indeling van wachtwoordenbestand." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "De gevraagde gegevens zijn niet beschikbaar." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Fout in de 'pull'-functie." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Fout in de 'push'-functie." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "Het hoogste volgnummer voor datapakketten is bereikt. Wauw!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Fout in het certificaat." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Onbekende naam van toegevoegd onderwerp in X.509-certificaat." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Niet-ondersteunde kritieke uitbreiding in X.509-certificaat." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "" +"Er is een overtreding van het sleutelgebruik in het certificaat " +"geconstateerd." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Functie werd onderbroken." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "De andere computer heeft om een hernieuwde handshake gevraagd." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "" +"Er werd TLS-toepassingsdata ontvangen, terwijl handshake-gegevens verwacht " +"werden." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Fout in databank-backend." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Het certificaattype wordt niet ondersteund." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Beschikbare buffer is te klein voor de gegeven parameters." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "Het verzoek is ongeldig." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "Er werd een ongeoorloofde parameter ontvangen." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Fout tijdens lezen van bestand." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "ASN1-parser: Element niet gevonden." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "ASN1-parser: Naam niet gevonden." + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "ASN1-parser: Fout in ontleden van DER." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "ASN1-parser: Waarde niet gevonden." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "ASN1-parser: Algemene ontledingsfout." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "ASN1-parser: Waarde is ongeldig." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "ASN1-parser: Fout in TAG." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "ASN1-parser: Fout in impliete tag." + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "ASN1-parser: Fout in type 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "ASN1-parser: Syntaxfout." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "ASN1-parser: Overloop in DER-ontleding." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Er zijn te veel lege datapakketten ontvangen." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Het initialiseren van GnuTLS-extra is mislukt." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"De versies van de GnuTLS- en GnuTLS-extra-bibliotheken komen niet overeen." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "De versie van de gcrypt-bibliotheek is te oud." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "De versie van de tasn1-bibliotheek is te oud." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "Het OpenPGP-gebruikers-ID is ingetrokken." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Fout tijdens laden van de sleutelring." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Het initialiseren van LZO is mislukt." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Er is geen ondersteund compressie-algoritme gevonden." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Er is geen ondersteund encryptie-algoritme gevonden." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Kan OpenPGP-sleutel niet verkrijgen." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Kan OpenPGP-subsleutel niet vinden." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "De gegeven SRP-gebruikersnaam is ongeldig." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "De OpenPGP-vingerafdruk wordt niet ondersteund." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Het certificaat heeft niet-ondersteunde eigenschappen." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "Het OID wordt niet ondersteund." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Onbekend hash-algoritme." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "Onbekend inhoudstype van PKCS-structuur." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "Onbekend buideltype van PKCS-structuur." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Het opgegeven wachtwoord bevat ongeldige tekens." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Verificatie van berichtauthenticatiecode is mislukt." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Sommige beperkingsgrenzen werden bereikt." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Kan geen willekeurige bits verkrijgen." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "TLS/IA-tussenfasebeëindigingsbericht ontvangen" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "TLS/IA-eindfasebeëindigingsbericht ontvangen" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Verificatie van TLS/IA-fasecontrolesom is mislukt" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "Het opgegeven algoritme of protocol is onbekend." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"De gegevensgrootte van de handshake is te groot (DoS-aanval?); controleer " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tPadlengtebeperking: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tBeleidstaal: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tBeleid:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tHexdump: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tDigitale ondertekening.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tNiet-herroeping.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tSleutel-encryptie.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tData-encryptie.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tSleutelovereenstemming.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tCertificaatondertekening.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tCRL-ondertekening.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tAlleen sleutel-encryptie.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tAlleen sleutel-decryptie.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tTLS WWW-server.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tTLS WWW-client.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tCode-ondertekening.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tE-mailbescherming.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tTijdsstempels.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tOCSP-ondertekening.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tElk doel.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tCertificaatautoriteit (CA): ONWAAR\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tCertificaatautoriteit (CA): WAAR\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tXMPP-adres: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "" + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tVersie: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tSerienummer (hex): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tUitgever: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tGeldigheid:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tNiet vóór: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tNiet na: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tOnderwerp: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tAlgoritme van publieke sleutel: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tModulus (bits %d):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tExponent:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tPublieke sleutel (bits %d):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tExtensies:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tFundamentele beperkingen (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "kritiek" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "niet kritiek" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tOnderwerps-ID van sleutel (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tAutoriteits-ID van sleutel (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tGebruik van sleutel (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tDoel van sleutel (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tToegevoegde onderwerpen (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tCRL-distributiepunten (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tInformatie over proxy-certificaat (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tOnbekende uitbreiding %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tHexdump: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tOndertekeningsalgoritme: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "Waarschuwing: ondertekend met een algoritme dat vervalst kan worden.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tOndertekening:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tMD5-vingerafdruk:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tSHA-1-vingerafdruk:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tID van publieke sleutel:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "Informatie over X.509-certificaten:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Andere informatie:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tVersie: 1 (standaard)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tBijwerkingsdata:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tUitgegeven: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tVolgende op: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tIngetrokken certificaten (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tGeen ingetrokken certificaten.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tSerienummer (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tIngetrokken op: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "Informatie over ingetrokken X.509-certificaten:\n" + +#: lib/openpgp/output.c:84 +#, fuzzy +msgid "\t\tKey Usage:\n" +msgstr "\t\tGebruik van sleutel (%s):\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +#, fuzzy +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tDigitale ondertekening.\n" + +#: lib/openpgp/output.c:100 +#, fuzzy +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tData-encryptie.\n" + +#: lib/openpgp/output.c:102 +#, fuzzy +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tData-encryptie.\n" + +#: lib/openpgp/output.c:104 +#, fuzzy +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tNiet-herroeping.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +#, fuzzy +msgid "\tFingerprint (hex): " +msgstr "" +"\tMD5-vingerafdruk:\n" +"\t\t" + +#: lib/openpgp/output.c:165 +#, fuzzy +msgid "\tRevoked: True\n" +msgstr "\t\tIngetrokken op: %s\n" + +#: lib/openpgp/output.c:167 +#, fuzzy +msgid "\tRevoked: False\n" +msgstr "\t\tIngetrokken op: %s\n" + +#: lib/openpgp/output.c:175 +#, fuzzy +msgid "\tTime stamps:\n" +msgstr "\t\t\tTijdsstempels.\n" + +#: lib/openpgp/output.c:192 +#, fuzzy, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tVolgende op: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, fuzzy, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tVolgende op: %s\n" + +#: lib/openpgp/output.c:239 +#, fuzzy, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tAlgoritme van publieke sleutel: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, fuzzy, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\t\tIngetrokken op: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +#, fuzzy +msgid "OpenPGP Certificate Information:\n" +msgstr "Informatie over X.509-certificaten:\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/pl.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/pl.gmo differ diff -Nru gnutls26-2.8.6/po/pl.po gnutls26-2.4.1/po/pl.po --- gnutls26-2.8.6/po/pl.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/pl.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,870 @@ +# Polish translation for gnutls. +# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls package. +# Jakub Bogusz , 2006-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls-2.3.8\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-05-05 09:54+0200\n" +"Last-Translator: Jakub Bogusz \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Sukces." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Nie uda³o siê wynegocjowaæ obs³ugiwanego zestawu certyfikatów." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "Ten typ certyfikatu nie jest obs³ugiwany." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Certyfikat i dany klucz nie pasuj± do siebie." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Nie uda³o siê wynegocjowaæ obs³ugiwanej metody kompresji." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "Napotkano nieznany algorytm klucza publicznego." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "Wynegocjowano algorytm, który nie zosta³ w³±czony." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Odebrano du¿y pakiet rekordu TLS." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Odebrano pakiet rekordu o niedozwolonej wersji." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Liczba pierwsza Diffie Hellmana wys³ana przez serwer jest nieakceptowalna " +"(zbyt ma³a)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Odebrano pakiet TLS o nieoczekiwanej d³ugo¶ci." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "Podana sesja zosta³a z jakiego¶ powodu uniewa¿niona." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "B³±d wewnêtrzny GnuTLS." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "Odebrano niedozwolone rozszerzenie TLS." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Odebrano krytyczny alarm TLS." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Odebrano nieoczekiwany pakiet TLS." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "Odebrano ostrzegawczy alarm TLS." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Wykryto b³±d przy obliczaniu pakietu TLS Finished." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "Druga strona nie wys³a³a ¿adnego certyfikatu." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "Istnieje ju¿ algorytm kryptograficzny z ni¿szym priorytetem." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Nie znaleziono parametrów tymczasowych RSA." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Nie znaleziono parametrów tymczasowych DH." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Odebrano nieoczekiwany pakiet nawi±zania TLS." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Poszukiwanie du¿ej liczby ca³kowitej nie powiod³o siê." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Nie uda³o siê wyeksportowaæ du¿ej liczby ca³kowitej." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Odszyfrowywanie nie powiod³o siê." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Szyfrowanie nie powiod³o siê." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Odszyfrowywanie z kluczem publicznym nie powiod³o siê." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Szyfrowanie z kluczem publicznym nie powiod³o siê." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Podpisywanie z kluczem publicznym nie powiod³o siê." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Sprawdzenie podpisu z kluczem publicznym nie powiod³o siê." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Dekompresja pakietu rekordu TLS nie powiod³a siê." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Kompresja pakietu rekordu TLS nie powiod³a siê." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "B³±d wewnêtrzny przy przydzielaniu pamiêci." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "Za¿±dano niezaimplementowanej lub wy³±czonej opcji." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Niewystarczaj±ce uprawnienia dla tego ¿±dania." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "B³±d w pliku hase³." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "B³êdne wyrównanie w pakiecie PKCS1." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "¯±dana sesja wygas³a." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Funkcja skrótu nie powiod³a siê." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "B³±d dekodowania base64." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Nieoczekiwany b³±d nag³ówka base64." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "B³±d kodowania base64." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "B³±d przetwarzania pliku hase³." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "¯±dane dane nie by³y dostêpne." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "B³±d w funkcji pull." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "B³±d w funkcji push." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "" +"Osi±gniêto górne ograniczenie numerów sekwencyjnych pakietów rekordów. Wow!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "B³±d w certyfikacie." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Nieznana nazwa Subject Alternative w certyfikacie X.509." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Nieobs³ugiwane rozszerzenie krytyczne w certyfikacie X.509." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Wykryto naruszenie u¿ycia klucza w certyfikacie." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Funkcja zosta³a przerwana." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Druga strona za¿±da³a ponownego nawi±zania sesji." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "Odebrano dane aplikacji TLS, ale oczekiwano na nawi±zanie sesji." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "B³±d w backendzie bazy danych." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Ten typ certyfikatu nie jest obs³ugiwany." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Przekazany bufor pamiêci jest zbyt ma³y do przechowania parametrów." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "¯±danie jest nieprawid³owe." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "Odebrano niedozwolony parametr." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "B³±d podczas odczytu pliku." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "Analiza ASN1: Nie znaleziono elementu." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "Analiza ASN1: Nie znaleziono identyfikatora." + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "Analiza ASN1: B³±d przy analizie DER." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "Analiza ASN1: Nie znaleziono warto¶ci." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "Analiza ASN1: Ogólny b³±d przetwarzania." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "Analiza ASN1: Warto¶æ nie jest prawid³owa." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "Analiza ASN1: B³±d w znaczniku." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "Analiza ASN1: b³±d w domy¶lnym znaczniku." + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "Analiza ASN1: B³±d w typie 'ANY'." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "Analiza ASN1: B³±d sk³adni." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "Analiza ASN1: Przepe³nienie przy analizie DER." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Odebrano zbyt du¿o pustych pakietów rekordów." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Inicjalizacja GnuTLS-extra nie powiod³a siê." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"Wersja biblioteki GnuTLS nie zgadza siê z wersj± biblioteki GnuTLS-extra." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "Wersja biblioteki gcrypt jest zbyt stara." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "Wersja biblioteki tasn1 jest zbyt stara." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "Identyfikator u¿ytkownika OpenPGP jest uniewa¿niony." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "B³±d przy wczytywaniu zbioru kluczy." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Inicjalizacja LZO nie powiod³a siê." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Nie znaleziono obs³ugiwanego algorytmu kompresji." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Nie znaleziono obs³ugiwanego zestawu certyfikatów." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Nie uda³o siê uzyskaæ klucza OpenPGP." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Nie uda³o siê odnale¼æ podklucza OpenPGP." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "Podana nazwa u¿ytkownika SRP nie jest dozwolona." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "Odcisk klucza OpenPGP nie jest obs³ugiwany." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Certyfikat ma nieobs³ugiwane atrybuty." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "OID nie jest obs³ugiwany." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Algorytm skrótu jest nieznany." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "Typ zawarto¶ci struktury PKCS jest nieznany." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "Typ opakowania struktury PKCS jest nieznany." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Podane has³o zawiera nieprawid³owe znaki." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Sprawdzenie kodu autentyczno¶ci wiadomo¶ci (MAC) nie powiod³o siê." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Osi±gniêto niektóre ograniczenia." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Nie uda³o siê pozyskaæ danych losowych." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Odebrano wiadomo¶æ TLS/IA Intermediate Phase Finished" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Odebrano wiadomo¶æ TLS/IA Final Phase Finished" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Sprawdzenie sumy kontrolnej frazy TLS/IA nie powiod³o siê" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "Podany algorytm lub protokó³ jest nieznany." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"Rozmiar danych nawi±zania jest zbyt du¿y (DoS?), proszê sprawdziæ " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tOgraniczenie d³ugo¶ci ¶cie¿ki: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tJêzyk polityki: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tPolityka:\n" +"\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tZrzut hex: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tPodpis cyfrowy.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tBez odmowy.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tSzyfrowanie klucza.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tSzyfrowanie danych.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tUzgodnienie klucza.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tPodpisanie certyfikatu.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tPodpisanie CRL.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tTylko szyfrowanie klucza.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tTylko deszyfrowanie klucza.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tSerwer WWW TLS.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tKlient WWW TLS.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tPodpisywanie kodu.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tOchrona poczty elektronicznej.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tOznaczanie czasu.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tPodpisywanie OCSP.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tDowolne zastosowanie.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tCA: NIE\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tCA: TAK\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tAdres XMPP: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\tOID otherName: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\tDER otherName: " + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\tASCII otherName: " + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tWersja: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tNumer seryjny (hex): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tWystawca: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tWa¿no¶æ:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tNie wcze¶niej ni¿: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tNie pó¼niej ni¿: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tPrzedmiot: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tAlgorytm klucza publicznego: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tReszta (bitów: %d):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tWyk³adnik:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tKlucz publiczny (bitów: %d):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tRozszerzenia:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tOgraniczenia podstawowe (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "krytyczny" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "niekrytyczny" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tIdentyfikator klucza przedmiotu (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tIdentyfikator klucza autorytetu (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tU¿ycie klucza (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tPrzeznaczenie klucza (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tAlternatywna nazwa przedmiotu (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tPunkty rozproszenia CRL (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tInformacja o certyfikacie proxy (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tNieznane rozszerzenie %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tZrzut hex: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tAlgorytm podpisu: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" +"uwaga: podpisano z³amanym algorytmem podpisu, który mo¿e byæ podrobiony.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tPodpis:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tOdcisk MD5:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tOdcisk SHA-1:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tIdentyfikator klucza publicznego:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "Informacja o certyfikacie X.509:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Inne informacje:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tWersja: 1 (domy¶lna)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tDaty uaktualnieñ:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tWystawiono: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tNastêpnie: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tUniewa¿nione certyfikaty (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tBrak uniewa¿nionych certyfikatów.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tNumer seryjny (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tUniewa¿niono: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "Informacja o li¶cie uniewa¿nieñ certyfikatów X.509:\n" + +#: lib/openpgp/output.c:84 +#, fuzzy +msgid "\t\tKey Usage:\n" +msgstr "\t\tU¿ycie klucza (%s):\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +#, fuzzy +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tPodpis cyfrowy.\n" + +#: lib/openpgp/output.c:100 +#, fuzzy +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tSzyfrowanie danych.\n" + +#: lib/openpgp/output.c:102 +#, fuzzy +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tSzyfrowanie danych.\n" + +#: lib/openpgp/output.c:104 +#, fuzzy +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tBez odmowy.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +#, fuzzy +msgid "\tFingerprint (hex): " +msgstr "" +"\tOdcisk MD5:\n" +"\t\t" + +#: lib/openpgp/output.c:165 +#, fuzzy +msgid "\tRevoked: True\n" +msgstr "\t\tUniewa¿niono: %s\n" + +#: lib/openpgp/output.c:167 +#, fuzzy +msgid "\tRevoked: False\n" +msgstr "\t\tUniewa¿niono: %s\n" + +#: lib/openpgp/output.c:175 +#, fuzzy +msgid "\tTime stamps:\n" +msgstr "\t\t\tOznaczanie czasu.\n" + +#: lib/openpgp/output.c:192 +#, fuzzy, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tNastêpnie: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, fuzzy, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tNastêpnie: %s\n" + +#: lib/openpgp/output.c:239 +#, fuzzy, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tAlgorytm klucza publicznego: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, fuzzy, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\t\tUniewa¿niono: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +#, fuzzy +msgid "OpenPGP Certificate Information:\n" +msgstr "Informacja o certyfikacie X.509:\n" diff -Nru gnutls26-2.8.6/po/POTFILES.in gnutls26-2.4.1/po/POTFILES.in --- gnutls26-2.8.6/po/POTFILES.in 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/POTFILES.in 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,4 @@ +# List of source files which contain translatable strings. +lib/gnutls_errors.c +lib/x509/output.c +lib/openpgp/output.c diff -Nru gnutls26-2.8.6/po/quot.sed gnutls26-2.4.1/po/quot.sed --- gnutls26-2.8.6/po/quot.sed 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/quot.sed 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1â€/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“â€/""/g diff -Nru gnutls26-2.8.6/po/remove-potcdate.sin gnutls26-2.4.1/po/remove-potcdate.sin --- gnutls26-2.8.6/po/remove-potcdate.sin 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/remove-potcdate.sin 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff -Nru gnutls26-2.8.6/po/Rules-quot gnutls26-2.4.1/po/Rules-quot --- gnutls26-2.8.6/po/Rules-quot 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/Rules-quot 2008-06-30 22:07:18.000000000 +0100 @@ -0,0 +1,47 @@ +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$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 "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff -Nru gnutls26-2.8.6/po/stamp-po gnutls26-2.4.1/po/stamp-po --- gnutls26-2.8.6/po/stamp-po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/stamp-po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1 @@ +timestamp Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/sv.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/sv.gmo differ diff -Nru gnutls26-2.8.6/po/sv.po gnutls26-2.4.1/po/sv.po --- gnutls26-2.8.6/po/sv.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/sv.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,882 @@ +# Swedish translation of gnutls. +# Copyright (C) 2007, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls package. +# Daniel Nylander , 2006, 2007, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.3.8\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-04-30 08:04+0100\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Lyckades." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Kunde inte förhandla fram en stödd krypteringssvit." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "Krypteringstypen stöds inte." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Certifikatet och den angivna nyckeln stämmer inte överens." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Kunde inte förhandla fram en stödd komprimeringsmetod." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "En okänd publik nyckelalgoritm pÃ¥träffades." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "En algoritm som inte är aktiverad blev förhandlad." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Ett stort TLS-journalpaket togs emot." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Ett journalpaket med otillÃ¥ten version togs emot." + +# Stort? +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Diffie Hellman-primtalet som skickades av servern är inte acceptabelt (inte " +"tillräckligt lÃ¥ngt)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Ett TLS-paket med oväntad längd togs emot." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "Angiven session har av nÃ¥gon anledning blivit ogiltigförklarad." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "Internt fel i GnuTLS." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "En otillÃ¥ten TLS-utökning togs emot." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Ett ödesdigert TLS-larm togs emot." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Ett oväntat TLS-paket togs emot." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "En TLS-varning har tagits emot." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Ett fel pÃ¥träffades vid beräkning av TLS Finished-paketet." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "Motparten skickade inget certifikat." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "Det finns redan en krypteringsalgoritm med lägre prioritet." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Inga temporära RSA-parametrar hittades." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Inga temporära DH-parametrar hittades." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Ett oväntat TLS-handskakningspaket togs emot." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Avsökningen av ett stort heltal misslyckades." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Kunde inte exportera ett stort heltal." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Dekryptering misslyckades." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Kryptering misslyckades." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Dekryptering av publik nyckel misslyckades." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Kryptering av publik nyckel misslyckades." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Signering av publik nyckel misslyckades." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Validering av av publika nyckelns signatur misslyckades." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Dekomprimering av TLS-journalpaketet har misslyckades." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Komprimering av TLS-journalpaketet har misslyckades." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Internt fel i minnesallokering." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "En icke implementerad eller inaktiverad funktion begärdes." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Otillräckliga rättigheter för begäran." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Fel i lösenordsfil." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Fel utfyllnad i PKCS1-paket." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "Den begärda sessionen har tagit slut." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Hashning misslyckades." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Base64-avkodningsfel." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Oväntat fel i Base64-huvud." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Base64-kodningsfel." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Tolkningsfel i lösenordsfil." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "Begärt data var inte tillgängligt." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Fel i inhämtningsfunktionen." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Fel i utsändningsfunktionen." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "Den övre gränsen för sekvensnummer för journalpaket har nÃ¥tts. Wow!" + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Fel i certifikatet." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Okänt alternativt namn för innehavare i X.509-certifikat." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "Icke stödd kritisk utökning i X.509-certifikat." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Överträdelse av nyckelanvändning i certifikat har upptäckts." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Funktionen avbröts." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Upprepad handskakning begärdes av motparten." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "TLS-programdata togs emot när handskakningsdata förväntades." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Fel i databasbakänden." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Certifikattypen stöds inte." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Den angivna minnesbufferten är för liten för att lagra parametrar." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "Begäran är ogiltig." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "En otillÃ¥ten parameter har tagits emot." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Fel vid läsning av fil." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "ASN1-tolkare: Elementet hittades inte." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "ASN1-tolkare: Identifieraren hittades inte" + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "ASN1-tolkare: Fel i DER-tolkning." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "ASN1-tolkare: Värdet hittades inte." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "ASN1-tolkare: Allmänt tolkningsfel." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "ASN1-tolkare: Värdet är inte giltigt." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "ASN1-tolkare: Fel i TAG." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "ASN1-tolkare: fel i implicit tag" + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "ASN1-tolkare: Fel i typen \"ANY\"." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "ASN1-tolkare: Syntaxfel." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "ASN1-tolkare: Överflöde i DER-tolkning." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "För mÃ¥nga tom journalpaket har tagits emot." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Initieringen av GnuTLS-extra har misslyckats." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"Versionen av GnuTLS-biblioteket stämmer inte överens med versionen av GnuTLS-" +"extra-biblioteket." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "Versionen av gcrypt-biblioteket är för gammal." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "Versionen av tasn1-biblioteket är för gammal." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "OpenPGP-användaridentiteten är spärrad." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Fel vid inläsning av nyckelringen." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Initiering av LZO misslyckades." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Inga stödda komprimeringsalgoritmer har hittats." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Inga stödda krypteringssviter har hittats." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Kunde inte hämta OpenPGP-nyckel." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Kunde inte hitta OpenPGP-undernyckel." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "Det angivna SRP-användarnamnet är inte tillÃ¥tet." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "OpenPGP-fingeravtrycket stöds inte." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Certifikatet har attribut som inte stöds." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "OID:n stöds inte." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Hashalgoritmen är okänd." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "PKCS-strukturens innehÃ¥llstyp är okänd." + +# Hjälp! +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "PKCS-strukturens väsktyp är okänd." + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Det angivna lösenordet innehÃ¥ller ogiltiga tecken." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Validering av meddelandeautentiseringskoden (MAC) misslyckades." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Vissa begränsningar nÃ¥ddes." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Misslyckades med att fÃ¥ tag pÃ¥ slumpmässigt data." + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Tog emot ett TLS/IA Intermediate Phase Finished-meddelande" + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Tog emot ett TLS/IA Final Phase Finished-meddelande" + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Validering av kontrollsumma för TLS/IA-fas misslyckades" + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "Angivna algoritmen eller protokollet är okänt." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"Datastorleken för handskakningen är för stor (DoS?), kontrollera " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tRestriktion för sökvägslängd: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tPolicysprÃ¥k: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tHexdump: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tDigital signatur.\n" + +# Klassisk term inom digitala certifikat. +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tOförnekbarhet.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tNyckelkryptering.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tDatakryptering.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tNyckelförhandling.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tCertifikatsignering.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tCRL-signering.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tEndast nyckelkryptering.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tEndast nyckeldekryptering.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tTLS-webbserver.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tTLS-webbklient.\n" + +# Källkodssignering? +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tKodsignering.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tE-postskydd.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tTidsstämpling.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tOCSP-signering.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tValfritt syfte.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tCertifikatutfärdare (CA): FALSKT\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tCertifikatutfärdare (CA): SANT\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tXMPP-adress: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\totherName OID: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\totherName DER: " + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\totherName ASCII: " + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tVersion: %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tSerienummer (hex): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tUtfärdare: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tGiltighet:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tInte före: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tInte efter: %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tInnehavare: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tAlgoritm för innehavarens publika nyckel: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tModulus (bitar %d):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tExponent:\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tPublik nyckel (bitar %d):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tTillägg:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tAllmänna restriktioner (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "kritisk" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "ej kritisk" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\t\tInnehavarens nyckelidentifierare (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tUtfärdarens nyckelidentifierare (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tNyckelanvändning (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tNyckelsyfte (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tInnehavarens alternativa namn (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tCRL-distributionspunkter (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tInformation om proxycertifikat (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tOkänt tillägg %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tHexdump: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tSignaturalgoritm: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "varning: signerad med en trasig signaturalgoritm som kan förfalskas.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tSignatur:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tMD5-fingeravtryck:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tSHA-1-fingeravtryck:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tPublik nyckel-identitet:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "Information om X.509-certifikat:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Övrig information:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tVersion: 1 (standard)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tUppdateringsdatum:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tUtfärdat: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tNästa den: %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tSpärrade certifikat (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tInga spärrade certifikat.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tSerienummer (hex): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tSpärrat den: %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "Information om spärrlista för X.509-certifikat:\n" + +#: lib/openpgp/output.c:84 +#, fuzzy +msgid "\t\tKey Usage:\n" +msgstr "\t\tNyckelanvändning (%s):\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +#, fuzzy +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tDigital signatur.\n" + +#: lib/openpgp/output.c:100 +#, fuzzy +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tDatakryptering.\n" + +#: lib/openpgp/output.c:102 +#, fuzzy +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tDatakryptering.\n" + +# Klassisk term inom digitala certifikat. +#: lib/openpgp/output.c:104 +#, fuzzy +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tOförnekbarhet.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +#, fuzzy +msgid "\tFingerprint (hex): " +msgstr "" +"\tMD5-fingeravtryck:\n" +"\t\t" + +#: lib/openpgp/output.c:165 +#, fuzzy +msgid "\tRevoked: True\n" +msgstr "\t\tSpärrat den: %s\n" + +#: lib/openpgp/output.c:167 +#, fuzzy +msgid "\tRevoked: False\n" +msgstr "\t\tSpärrat den: %s\n" + +#: lib/openpgp/output.c:175 +#, fuzzy +msgid "\tTime stamps:\n" +msgstr "\t\t\tTidsstämpling.\n" + +#: lib/openpgp/output.c:192 +#, fuzzy, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tNästa den: %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, fuzzy, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tNästa den: %s\n" + +#: lib/openpgp/output.c:239 +#, fuzzy, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tAlgoritm för innehavarens publika nyckel: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, fuzzy, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\t\tSpärrat den: %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +#, fuzzy +msgid "OpenPGP Certificate Information:\n" +msgstr "Information om X.509-certifikat:\n" + +#~ msgid "" +#~ "The specified GnuPG TrustDB version is not supported. TrustDB v4 is " +#~ "supported." +#~ msgstr "Den angivna GnuPG TrustDB-versionen stöds inte. TrustDB v4 stöds." + +#~ msgid "\t\t\tPolicy Language: %.*s\n" +#~ msgstr "\t\t\tPolicysprÃ¥k: %.*s\n" Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/po/vi.gmo and /tmp/5mqzrPKESq/gnutls26-2.4.1/po/vi.gmo differ diff -Nru gnutls26-2.8.6/po/vi.po gnutls26-2.4.1/po/vi.po --- gnutls26-2.8.6/po/vi.po 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/po/vi.po 2008-06-30 22:14:36.000000000 +0100 @@ -0,0 +1,872 @@ +# Vietnamese translation for GnuTLS. +# Copyright © 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnutls-2.3.8 package. +# Clytie Siddall , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: gnutls 2.3.8\n" +"Report-Msgid-Bugs-To: bug-gnutls@gnu.org\n" +"POT-Creation-Date: 2008-06-30 23:14+0200\n" +"PO-Revision-Date: 2008-05-02 16:39+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.7b3\n" + +#: lib/gnutls_errors.c:53 +msgid "Success." +msgstr "Thành công." + +#: lib/gnutls_errors.c:54 +msgid "Could not negotiate a supported cipher suite." +msgstr "Không thể thá»a thuận má»™t bá»™ ứng dụng mật mã được há»— trợ." + +#: lib/gnutls_errors.c:56 +msgid "The cipher type is unsupported." +msgstr "Không há»— trợ kiểu mật mã." + +#: lib/gnutls_errors.c:58 +msgid "The certificate and the given key do not match." +msgstr "Dãy chứng nhận và khoá đã cho không tÆ°Æ¡ng ứng vá»›i nhau." + +#: lib/gnutls_errors.c:60 +msgid "Could not negotiate a supported compression method." +msgstr "Không thể thá»a thuận má»™t phÆ°Æ¡ng pháp nén được há»— trợ." + +#: lib/gnutls_errors.c:62 +msgid "An unknown public key algorithm was encountered." +msgstr "Gặp má»™t thuật toán khoá công không rõ." + +#: lib/gnutls_errors.c:65 +msgid "An algorithm that is not enabled was negotiated." +msgstr "Äã thá»a thuận má»™t thuật toán chÆ°a được hiệu lá»±c." + +#: lib/gnutls_errors.c:67 +msgid "A large TLS record packet was received." +msgstr "Nhận được má»™t gói tin mục ghi TLS lá»›n." + +#: lib/gnutls_errors.c:69 +msgid "A record packet with illegal version was received." +msgstr "Nhận được má»™t gói tin mục ghi có phiên bản cấm." + +#: lib/gnutls_errors.c:71 +msgid "" +"The Diffie Hellman prime sent by the server is not acceptable (not long " +"enough)." +msgstr "" +"Máy phục vụ đã gá»­i má»™t nguyên tố Diffie Hellman không thích hợp (quá ngắn)." + +#: lib/gnutls_errors.c:73 +msgid "A TLS packet with unexpected length was received." +msgstr "Nhận được má»™t gói tin TLS lá»›n có chiá»u dài bất thÆ°á»ng." + +#: lib/gnutls_errors.c:75 +msgid "The specified session has been invalidated for some reason." +msgstr "Phiên chạy đã ghi rõ cÅ©ng bị tắt vì lý do nào." + +#: lib/gnutls_errors.c:78 +msgid "GnuTLS internal error." +msgstr "Lá»—i ná»™i bá»™ GnuTLS." + +#: lib/gnutls_errors.c:79 +msgid "An illegal TLS extension was received." +msgstr "Nhận được má»™t phần mở rá»™ng TLS cấm." + +#: lib/gnutls_errors.c:81 +msgid "A TLS fatal alert has been received." +msgstr "Nhận được má»™t cảnh giác nghiêm trá»ng TLS cấm." + +#: lib/gnutls_errors.c:83 +msgid "An unexpected TLS packet was received." +msgstr "Nhận được má»™t gói tin TLS bất thÆ°á»ng." + +#: lib/gnutls_errors.c:85 +msgid "A TLS warning alert has been received." +msgstr "Nhận được má»™t cảnh giác báo trÆ°á»›c TLS cấm." + +#: lib/gnutls_errors.c:87 +msgid "An error was encountered at the TLS Finished packet calculation." +msgstr "Gặp lá»—i trong phép tính gói tin đã kết thúc TLS." + +#: lib/gnutls_errors.c:89 +msgid "The peer did not send any certificate." +msgstr "Äồng đẳng chÆ°a gá»­i chứng nhận." + +#: lib/gnutls_errors.c:92 +msgid "There is already a crypto algorithm with lower priority." +msgstr "Äã có má»™t thuật toán mã hoá có mức Æ°u tiên thấp hÆ¡n." + +#: lib/gnutls_errors.c:95 +msgid "No temporary RSA parameters were found." +msgstr "Không tìm thấy tham số RSA tạm thá»i." + +#: lib/gnutls_errors.c:97 +msgid "No temporary DH parameters were found." +msgstr "Không tìm thấy tham số DH tạm thá»i." + +#: lib/gnutls_errors.c:99 +msgid "An unexpected TLS handshake packet was received." +msgstr "Nhận được má»™t gói tin thiết lập quan hệ TLS bất thÆ°á»ng." + +#: lib/gnutls_errors.c:101 +msgid "The scanning of a large integer has failed." +msgstr "Lá»—i quét má»™t số nguyên lá»›n." + +#: lib/gnutls_errors.c:103 +msgid "Could not export a large integer." +msgstr "Không thể xuất má»™t số nguyên lá»›n." + +#: lib/gnutls_errors.c:105 +msgid "Decryption has failed." +msgstr "Lá»—i giải mã." + +#: lib/gnutls_errors.c:106 +msgid "Encryption has failed." +msgstr "Lá»—i mã hoá." + +#: lib/gnutls_errors.c:107 +msgid "Public key decryption has failed." +msgstr "Lá»—i giải mã khoá công." + +#: lib/gnutls_errors.c:109 +msgid "Public key encryption has failed." +msgstr "Lá»—i mã hoá khoá công." + +#: lib/gnutls_errors.c:111 +msgid "Public key signing has failed." +msgstr "Lá»—i ký khoá công." + +#: lib/gnutls_errors.c:113 +msgid "Public key signature verification has failed." +msgstr "Lá»—i thẩm tra chữ ký khoá công." + +#: lib/gnutls_errors.c:115 +msgid "Decompression of the TLS record packet has failed." +msgstr "Lá»—i giải nén gói tin mục ghi TLS." + +#: lib/gnutls_errors.c:117 +msgid "Compression of the TLS record packet has failed." +msgstr "Lá»—i nén gói tin mục ghi TLS." + +#: lib/gnutls_errors.c:120 +msgid "Internal error in memory allocation." +msgstr "Gặp lá»—i ná»™i bá»™ trong khi cấp phát bá»™ nhá»›." + +#: lib/gnutls_errors.c:122 +msgid "An unimplemented or disabled feature has been requested." +msgstr "Äã yêu cầu má»™t tính năng bị tắt hoặc chÆ°a được thá»±c hiện." + +#: lib/gnutls_errors.c:124 +msgid "Insufficient credentials for that request." +msgstr "Không đủ thông tin xác thá»±c cho yêu cầu đó." + +#: lib/gnutls_errors.c:126 +msgid "Error in password file." +msgstr "Gặp lá»—i trong tập tin mật khẩu." + +#: lib/gnutls_errors.c:127 +msgid "Wrong padding in PKCS1 packet." +msgstr "Sai đệm gói tin PKCS1." + +#: lib/gnutls_errors.c:129 +msgid "The requested session has expired." +msgstr "Äã yêu cầu má»™t hiên chạy đã hết hạn." + +#: lib/gnutls_errors.c:130 +msgid "Hashing has failed." +msgstr "Lá»—i chuyển đổi chuá»—i sang má»™t mẫu duy nhất." + +#: lib/gnutls_errors.c:131 +msgid "Base64 decoding error." +msgstr "Lá»—i giải mã Base64." + +#: lib/gnutls_errors.c:133 +msgid "Base64 unexpected header error." +msgstr "Lá»—i phần đầu bất thÆ°á»ng Base64." + +#: lib/gnutls_errors.c:135 +msgid "Base64 encoding error." +msgstr "Lá»—i mã hoá Base64." + +#: lib/gnutls_errors.c:137 +msgid "Parsing error in password file." +msgstr "Lá»—i phân tích ngữ pháp trong tập tin mật khẩu." + +#: lib/gnutls_errors.c:139 +msgid "The requested data were not available." +msgstr "Äã yêu cầu dữ liệu không sẵn sàng." + +#: lib/gnutls_errors.c:141 +msgid "Error in the pull function." +msgstr "Gặp lá»—i trong hàm pull." + +#: lib/gnutls_errors.c:142 +msgid "Error in the push function." +msgstr "Gặp lá»—i trong hàm push." + +#: lib/gnutls_errors.c:143 +msgid "" +"The upper limit of record packet sequence numbers has been reached. Wow!" +msgstr "Má»›i tá»›i giá»›i hạn trên của số thứ tá»± gói tin mục ghi." + +#: lib/gnutls_errors.c:145 +msgid "Error in the certificate." +msgstr "Gặp lá»—i trong chứng nhận." + +#: lib/gnutls_errors.c:147 +msgid "Unknown Subject Alternative name in X.509 certificate." +msgstr "Gặp tên NgÆ°á»i dân Xen kẽ không rõ trong chứng nhận X.509." + +#: lib/gnutls_errors.c:150 +msgid "Unsupported critical extension in X.509 certificate." +msgstr "" +"Gặp phần mở rá»™ng nghiêm trá»ng không được há»— trợ trong chứng nhận X.509." + +#: lib/gnutls_errors.c:152 +msgid "Key usage violation in certificate has been detected." +msgstr "Äã phát hiện sá»± vi phạm cách sá»­ dụng khoá trong chứng nhận." + +#: lib/gnutls_errors.c:154 lib/gnutls_errors.c:155 +msgid "Function was interrupted." +msgstr "Hàm đã bị gián Ä‘oạn." + +#: lib/gnutls_errors.c:156 +msgid "Rehandshake was requested by the peer." +msgstr "Äồng đẳng đã yêu cầu thiết lập lại quan hệ." + +#: lib/gnutls_errors.c:158 +msgid "TLS Application data were received, while expecting handshake data." +msgstr "Nhận được dữ liệu Ứng dụng TLS, còn đợi dữ liệu thiết lập quan hệ." + +#: lib/gnutls_errors.c:160 +msgid "Error in Database backend." +msgstr "Gặp lá»—i trong hậu phÆ°Æ¡ng cÆ¡ sở dữ liệu." + +#: lib/gnutls_errors.c:161 +msgid "The certificate type is not supported." +msgstr "Kiểu chứng nhận không được há»— trợ." + +#: lib/gnutls_errors.c:163 +msgid "The given memory buffer is too short to hold parameters." +msgstr "Äã Ä‘Æ°a ra má»™t vùng đệm bá»™ nhá»› quá ngắn để chứa các tham số." + +#: lib/gnutls_errors.c:165 +msgid "The request is invalid." +msgstr "Yêu cầu không hợp lệ." + +#: lib/gnutls_errors.c:166 +msgid "An illegal parameter has been received." +msgstr "Nhận được má»™t tham số cấm." + +#: lib/gnutls_errors.c:168 +msgid "Error while reading file." +msgstr "Gặp lá»—i khi Ä‘á»c tập tin." + +#: lib/gnutls_errors.c:170 +msgid "ASN1 parser: Element was not found." +msgstr "Bá»™ phân tích ASN1: không tìm thấy phần tá»­." + +#: lib/gnutls_errors.c:172 +msgid "ASN1 parser: Identifier was not found" +msgstr "Bá»™ phân tích ASN1: không tìm thấy đồ nhận diện." + +#: lib/gnutls_errors.c:174 +msgid "ASN1 parser: Error in DER parsing." +msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong sá»± phân tích ngữ cảnh DER." + +#: lib/gnutls_errors.c:176 +msgid "ASN1 parser: Value was not found." +msgstr "Bá»™ phân tích ASN1: không tìm thấy giá trị." + +#: lib/gnutls_errors.c:178 +msgid "ASN1 parser: Generic parsing error." +msgstr "Bá»™ phân tích ASN1: lá»—i phân tích ngữ cảnh chung." + +#: lib/gnutls_errors.c:180 +msgid "ASN1 parser: Value is not valid." +msgstr "Bá»™ phân tích ASN1: giá trị không hợp lệ." + +#: lib/gnutls_errors.c:182 +msgid "ASN1 parser: Error in TAG." +msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong TAG (thẻ)." + +#: lib/gnutls_errors.c:183 +msgid "ASN1 parser: error in implicit tag" +msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong thẻ dứt khoát." + +#: lib/gnutls_errors.c:185 +msgid "ASN1 parser: Error in type 'ANY'." +msgstr "Bá»™ phân tích ASN1: gặp lá»—i trong kiểu « ANY » (bất kỳ)." + +#: lib/gnutls_errors.c:187 +msgid "ASN1 parser: Syntax error." +msgstr "Bá»™ phân tích ASN1: lá»—i cú pháp." + +#: lib/gnutls_errors.c:189 +msgid "ASN1 parser: Overflow in DER parsing." +msgstr "Bá»™ phân tích ASN1: tràn sá»± phân tích ngữ cảnh DER." + +#: lib/gnutls_errors.c:192 +msgid "Too many empty record packets have been received." +msgstr "Nhận được quá nhiá»u gói tin mục ghi rá»—ng." + +#: lib/gnutls_errors.c:194 +msgid "The initialization of GnuTLS-extra has failed." +msgstr "Lá»—i sÆ¡ khởi GnuTLS-extra." + +#: lib/gnutls_errors.c:196 +msgid "" +"The GnuTLS library version does not match the GnuTLS-extra library version." +msgstr "" +"Phiên bản thÆ° viện GnuTLS không tÆ°Æ¡ng ứng vá»›i phiên bản thÆ° viện GnuTLS-" +"extra." + +#: lib/gnutls_errors.c:198 +msgid "The gcrypt library version is too old." +msgstr "Phiên bản thÆ° viện gcrypt là quá cÅ©." + +#: lib/gnutls_errors.c:201 +msgid "The tasn1 library version is too old." +msgstr "Phiên bản thÆ° viện tasn1 là quá cÅ©." + +#: lib/gnutls_errors.c:203 +msgid "The OpenPGP User ID is revoked." +msgstr "Mã số ngÆ°á»i dùng OpenPGP bị thu hồi." + +#: lib/gnutls_errors.c:205 +msgid "Error loading the keyring." +msgstr "Gặp lá»—i khi nạp vòng khoá." + +#: lib/gnutls_errors.c:207 +msgid "The initialization of LZO has failed." +msgstr "Lá»—i sÆ¡ khởi LZO." + +#: lib/gnutls_errors.c:209 +msgid "No supported compression algorithms have been found." +msgstr "Không tìm thấy thuật toán nén được há»— trợ." + +#: lib/gnutls_errors.c:211 +msgid "No supported cipher suites have been found." +msgstr "Không tìm thấy bá»™ ứng dụng mật mã được há»— trợ." + +#: lib/gnutls_errors.c:213 +msgid "Could not get OpenPGP key." +msgstr "Không thể lấy khoá OpenPGP." + +#: lib/gnutls_errors.c:215 +msgid "Could not find OpenPGP subkey." +msgstr "Không tìm thấy khoá phụ OpenPGP." + +#: lib/gnutls_errors.c:218 +msgid "The SRP username supplied is illegal." +msgstr "Äã cung cấp má»™t tên ngÆ°á»i dùng SRP cấm." + +#: lib/gnutls_errors.c:221 +msgid "The OpenPGP fingerprint is not supported." +msgstr "Dấu tay OpenPGP không phải được há»— trợ." + +#: lib/gnutls_errors.c:223 +msgid "The certificate has unsupported attributes." +msgstr "Chứng nhận có thuá»™c tính không được há»— trợ." + +#: lib/gnutls_errors.c:225 +msgid "The OID is not supported." +msgstr "IOD không được há»— trợ." + +#: lib/gnutls_errors.c:227 +msgid "The hash algorithm is unknown." +msgstr "Không rõ thuật toán chuyển đổi chuá»—i sang mẫu duy nhất." + +#: lib/gnutls_errors.c:229 +msgid "The PKCS structure's content type is unknown." +msgstr "Không rõ kiểu ná»™i dung của cấu trúc PKCS." + +#: lib/gnutls_errors.c:231 +msgid "The PKCS structure's bag type is unknown." +msgstr "Không rõ kiểu bao của cấu trúc PKC" + +#: lib/gnutls_errors.c:233 +msgid "The given password contains invalid characters." +msgstr "Äã Ä‘Æ°a ra má»™t mật khẩu chứa ký tá»± không hợp lệ." + +#: lib/gnutls_errors.c:235 +msgid "The Message Authentication Code verification failed." +msgstr "Lá»—i thẩm tra Mã Xác Thá»±c Thông Äiệp." + +#: lib/gnutls_errors.c:237 +msgid "Some constraint limits were reached." +msgstr "Äã tá»›i má»™t số giá»›i hạn ràng buá»™c." + +#: lib/gnutls_errors.c:239 +msgid "Failed to acquire random data." +msgstr "Lá»—i lấy dữ liệu ngẫu nhiên. " + +#: lib/gnutls_errors.c:242 +msgid "Received a TLS/IA Intermediate Phase Finished message" +msgstr "Nhận được má»™t thông Ä‘iệp Giải Ä‘oạn Trung gian đã Kết thúc TLS/IA." + +#: lib/gnutls_errors.c:244 +msgid "Received a TLS/IA Final Phase Finished message" +msgstr "Nhận được má»™t thông Ä‘iệp Giải Ä‘oạn Cuối cùng đã Kết thúc TLS/IA." + +#: lib/gnutls_errors.c:246 +msgid "Verifying TLS/IA phase checksum failed" +msgstr "Lá»—i thẩm tra tổng kiểm của giải Ä‘oạn TLS/IA." + +#: lib/gnutls_errors.c:249 +msgid "The specified algorithm or protocol is unknown." +msgstr "Không rõ thuật toán hoặc giao thức đã ghi rõ." + +#: lib/gnutls_errors.c:252 +msgid "" +"The handshake data size is too large (DoS?), check " +"gnutls_handshake_set_max_packet_length()." +msgstr "" +"Dữ liệu thiết lập quan hệ có kích cỡ quá lá»›n (DoS?), hãy kiểm tra lại " +"gnutls_handshake_set_max_packet_length()." + +#: lib/x509/output.c:113 lib/x509/output.c:384 +#, c-format +msgid "\t\t\tPath Length Constraint: %d\n" +msgstr "\t\t\tRàng buá»™c chiá»u dài Ä‘Æ°á»ng dẫn: %d\n" + +#: lib/x509/output.c:114 +#, c-format +msgid "\t\t\tPolicy Language: %s" +msgstr "\t\t\tNgôn ngữ chính sách: %s" + +#: lib/x509/output.c:123 +msgid "" +"\t\t\tPolicy:\n" +"\t\t\t\tASCII: " +msgstr "" +"\t\t\tChính sách:\n" +"\t\t\t\tASCII: " + +#: lib/x509/output.c:125 +msgid "" +"\n" +"\t\t\t\tHexdump: " +msgstr "" +"\n" +"\t\t\t\tÄổ thập lục: " + +#: lib/x509/output.c:217 +msgid "\t\t\tDigital signature.\n" +msgstr "\t\t\tChữ ký dạng số.\n" + +#: lib/x509/output.c:219 +msgid "\t\t\tNon repudiation.\n" +msgstr "\t\t\tKhông từ chối.\n" + +#: lib/x509/output.c:221 +msgid "\t\t\tKey encipherment.\n" +msgstr "\t\t\tMã hoá khoá.\n" + +#: lib/x509/output.c:223 +msgid "\t\t\tData encipherment.\n" +msgstr "\t\t\tMã hoá dữ liệu.\n" + +#: lib/x509/output.c:225 +msgid "\t\t\tKey agreement.\n" +msgstr "\t\t\tChấp thuận khoá.\n" + +#: lib/x509/output.c:227 lib/openpgp/output.c:106 +msgid "\t\t\tCertificate signing.\n" +msgstr "\t\t\tKý chứng nhận.\n" + +#: lib/x509/output.c:229 +msgid "\t\t\tCRL signing.\n" +msgstr "\t\t\tKý CRL.\n" + +#: lib/x509/output.c:231 +msgid "\t\t\tKey encipher only.\n" +msgstr "\t\t\tChỉ mã hoá khoá.\n" + +#: lib/x509/output.c:233 +msgid "\t\t\tKey decipher only.\n" +msgstr "\t\t\tChỉ giải mã khoá.\n" + +#: lib/x509/output.c:345 +msgid "\t\t\tTLS WWW Server.\n" +msgstr "\t\t\tMáy phục vụ WWW TLS.\n" + +#: lib/x509/output.c:347 +msgid "\t\t\tTLS WWW Client.\n" +msgstr "\t\t\tỨng dụng khách WWW TLS.\n" + +#: lib/x509/output.c:349 +msgid "\t\t\tCode signing.\n" +msgstr "\t\t\tKý mã.\n" + +#: lib/x509/output.c:351 +msgid "\t\t\tEmail protection.\n" +msgstr "\t\t\tBảo vệ thÆ° Ä‘iện tá»­.\n" + +#: lib/x509/output.c:353 +msgid "\t\t\tTime stamping.\n" +msgstr "\t\t\tGhi thá»i gian.\n" + +#: lib/x509/output.c:355 +msgid "\t\t\tOCSP signing.\n" +msgstr "\t\t\tKý OCSP.\n" + +#: lib/x509/output.c:357 +msgid "\t\t\tAny purpose.\n" +msgstr "\t\t\tBất cứ mục đích nào.\n" + +#: lib/x509/output.c:379 +msgid "\t\t\tCertificate Authority (CA): FALSE\n" +msgstr "\t\t\tNhà cầm quyá»n chứng nhận (CA): SAI\n" + +#: lib/x509/output.c:381 +msgid "\t\t\tCertificate Authority (CA): TRUE\n" +msgstr "\t\t\tNhà cầm quyá»n chứng nhận (CA): ÄÚNG\n" + +#: lib/x509/output.c:484 +#, c-format +msgid "\t\t\tXMPP Address: %.*s\n" +msgstr "\t\t\tÄịa chỉ XMPP: %.*s\n" + +#: lib/x509/output.c:487 +#, c-format +msgid "\t\t\totherName OID: %.*s\n" +msgstr "\t\t\tOID tên khác: %.*s\n" + +#: lib/x509/output.c:488 +msgid "\t\t\totherName DER: " +msgstr "\t\t\tDER tên khác: " + +#: lib/x509/output.c:490 +msgid "" +"\n" +"\t\t\totherName ASCII: " +msgstr "" +"\n" +"\t\t\tASCII tên khác: " + +#: lib/x509/output.c:516 lib/x509/output.c:1181 lib/openpgp/output.c:321 +#, c-format +msgid "\tVersion: %d\n" +msgstr "\tPhiên bản %d\n" + +#: lib/x509/output.c:530 +msgid "\tSerial Number (hex): " +msgstr "\tSố sản xuất (thập lục): " + +#: lib/x509/output.c:547 lib/x509/output.c:1195 +#, c-format +msgid "\tIssuer: %s\n" +msgstr "\tNhà cấp: %s\n" + +#: lib/x509/output.c:554 +msgid "\tValidity:\n" +msgstr "\tHợp lệ:\n" + +#: lib/x509/output.c:567 +#, c-format +msgid "\t\tNot Before: %s\n" +msgstr "\t\tKhông phải trÆ°á»›c: %s\n" + +#: lib/x509/output.c:581 +#, c-format +msgid "\t\tNot After: %s\n" +msgstr "\t\tKhông phải sau : %s\n" + +#: lib/x509/output.c:595 +#, c-format +msgid "\tSubject: %s\n" +msgstr "\tNgÆ°á»i dân: %s\n" + +#: lib/x509/output.c:610 lib/x509/output.c:881 lib/x509/output.c:1291 +#: lib/openpgp/output.c:237 +msgid "unknown" +msgstr "" + +#: lib/x509/output.c:612 +#, c-format +msgid "\tSubject Public Key Algorithm: %s\n" +msgstr "\tThuật toán khoá công ngÆ°á»i dân: %s\n" + +#: lib/x509/output.c:625 lib/openpgp/output.c:256 +#, c-format +msgid "\t\tModulus (bits %d):\n" +msgstr "\t\tGiá trị tuyệt đối (%d bit):\n" + +#: lib/x509/output.c:627 lib/openpgp/output.c:258 +msgid "\t\tExponent:\n" +msgstr "\t\tMÅ© :\n" + +#: lib/x509/output.c:646 lib/openpgp/output.c:281 +#, c-format +msgid "\t\tPublic key (bits %d):\n" +msgstr "\t\tKhoá công (%d bit):\n" + +#: lib/x509/output.c:648 lib/openpgp/output.c:283 +msgid "\t\tP:\n" +msgstr "\t\tP:\n" + +#: lib/x509/output.c:650 lib/openpgp/output.c:285 +msgid "\t\tQ:\n" +msgstr "\t\tQ:\n" + +#: lib/x509/output.c:652 lib/openpgp/output.c:287 +msgid "\t\tG:\n" +msgstr "\t\tG:\n" + +#: lib/x509/output.c:697 +msgid "\tExtensions:\n" +msgstr "\tPhần mở rá»™ng:\n" + +#: lib/x509/output.c:707 +#, c-format +msgid "\t\tBasic Constraints (%s):\n" +msgstr "\t\tRàng buá»™c cÆ¡ bản (%s):\n" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "critical" +msgstr "tá»›i hạn" + +#: lib/x509/output.c:708 lib/x509/output.c:723 lib/x509/output.c:738 +#: lib/x509/output.c:753 lib/x509/output.c:768 lib/x509/output.c:783 +#: lib/x509/output.c:798 lib/x509/output.c:813 lib/x509/output.c:825 +msgid "not critical" +msgstr "không tá»›i hạn" + +#: lib/x509/output.c:722 +#, c-format +msgid "\t\tSubject Key Identifier (%s):\n" +msgstr "\tÄồ nhận diện khoá ngÆ°á»i dân (%s):\n" + +#: lib/x509/output.c:737 +#, c-format +msgid "\t\tAuthority Key Identifier (%s):\n" +msgstr "\t\tÄồ nhận diện khoá nhà cầm quyá»n (%s):\n" + +#: lib/x509/output.c:752 +#, c-format +msgid "\t\tKey Usage (%s):\n" +msgstr "\t\tSá»­ dụng khoá (%s):\n" + +#: lib/x509/output.c:767 +#, c-format +msgid "\t\tKey Purpose (%s):\n" +msgstr "\t\tMục đích khoá (%s):\n" + +#: lib/x509/output.c:782 +#, c-format +msgid "\t\tSubject Alternative Name (%s):\n" +msgstr "\t\tTên xen kẽ ngÆ°á»i dân (%s):\n" + +#: lib/x509/output.c:797 +#, c-format +msgid "\t\tCRL Distribution points (%s):\n" +msgstr "\t\tÄiểm phân phối CRL (%s):\n" + +#: lib/x509/output.c:812 +#, c-format +msgid "\t\tProxy Certificate Information (%s):\n" +msgstr "\t\tThông tin chứng nhận ủy nhiệm (%s):\n" + +#: lib/x509/output.c:824 +#, c-format +msgid "\t\tUnknown extension %s (%s):\n" +msgstr "\t\tPhần mở rá»™ng lạ %s (%s):\n" + +#: lib/x509/output.c:853 +msgid "\t\t\tASCII: " +msgstr "\t\t\tASCII: " + +#: lib/x509/output.c:857 +msgid "\t\t\tHexdump: " +msgstr "\t\t\tÄổ thập lục: " + +#: lib/x509/output.c:882 lib/x509/output.c:1292 +#, c-format +msgid "\tSignature Algorithm: %s\n" +msgstr "\tThuật toán chữ ký: %s\n" + +#: lib/x509/output.c:886 lib/x509/output.c:1296 +msgid "" +"warning: signed using a broken signature algorithm that can be forged.\n" +msgstr "" +"cảnh báo : đã ký dùng má»™t thuật toán chữ ký bị há»ng có thể bị giả mạo.\n" + +#: lib/x509/output.c:911 lib/x509/output.c:1321 +msgid "\tSignature:\n" +msgstr "\tChữ ký:\n" + +#: lib/x509/output.c:934 +msgid "" +"\tMD5 fingerprint:\n" +"\t\t" +msgstr "" +"\tDấu tay MD5:\n" +"\t\t" + +#: lib/x509/output.c:936 +msgid "" +"\tSHA-1 fingerprint:\n" +"\t\t" +msgstr "" +"\tDấu tay SHA1:\n" +"\t\t" + +#: lib/x509/output.c:970 +msgid "" +"\tPublic Key Id:\n" +"\t\t" +msgstr "" +"\tMã số khoá công:\n" +"\t\t" + +#: lib/x509/output.c:1137 +msgid "X.509 Certificate Information:\n" +msgstr "Thông tin chứng nhận X.509:\n" + +#: lib/x509/output.c:1141 +msgid "Other Information:\n" +msgstr "Thông tin khác:\n" + +#: lib/x509/output.c:1177 +msgid "\tVersion: 1 (default)\n" +msgstr "\tPhiên bản: 1 (mặc định)\n" + +#: lib/x509/output.c:1202 +msgid "\tUpdate dates:\n" +msgstr "\tNgày cập nhật:\n" + +#: lib/x509/output.c:1215 +#, c-format +msgid "\t\tIssued: %s\n" +msgstr "\t\tCấp: %s\n" + +#: lib/x509/output.c:1231 +#, c-format +msgid "\t\tNext at: %s\n" +msgstr "\t\tLần sau vào : %s\n" + +#: lib/x509/output.c:1241 +#, c-format +msgid "\tRevoked certificates (%d):\n" +msgstr "\tChứng nhận bị thu hồi (%d):\n" + +#: lib/x509/output.c:1243 +msgid "\tNo revoked certificates.\n" +msgstr "\tKhông có chứng nhận bị thu hồi.\n" + +#: lib/x509/output.c:1262 +msgid "\t\tSerial Number (hex): " +msgstr "\t\tSố sản xuất (thập lục): " + +#: lib/x509/output.c:1271 +#, c-format +msgid "\t\tRevoked at: %s\n" +msgstr "\t\tThu hồi vào : %s\n" + +#: lib/x509/output.c:1352 +msgid "X.509 Certificate Revocation List Information:\n" +msgstr "Danh sách Thu hồi Chứng nhận X.509:\n" + +#: lib/openpgp/output.c:84 +#, fuzzy +msgid "\t\tKey Usage:\n" +msgstr "\t\tSá»­ dụng khoá (%s):\n" + +#: lib/openpgp/output.c:93 +#, c-format +msgid "error: get_key_usage: %s\n" +msgstr "" + +#: lib/openpgp/output.c:98 +#, fuzzy +msgid "\t\t\tDigital signatures.\n" +msgstr "\t\t\tChữ ký dạng số.\n" + +#: lib/openpgp/output.c:100 +#, fuzzy +msgid "\t\t\tCommunications encipherment.\n" +msgstr "\t\t\tMã hoá dữ liệu.\n" + +#: lib/openpgp/output.c:102 +#, fuzzy +msgid "\t\t\tStorage data encipherment.\n" +msgstr "\t\t\tMã hoá dữ liệu.\n" + +#: lib/openpgp/output.c:104 +#, fuzzy +msgid "\t\t\tAuthentication.\n" +msgstr "\t\t\tKhông từ chối.\n" + +#: lib/openpgp/output.c:127 +msgid "\tID (hex): " +msgstr "" + +#: lib/openpgp/output.c:148 +#, fuzzy +msgid "\tFingerprint (hex): " +msgstr "" +"\tDấu tay MD5:\n" +"\t\t" + +#: lib/openpgp/output.c:165 +#, fuzzy +msgid "\tRevoked: True\n" +msgstr "\t\tThu hồi vào : %s\n" + +#: lib/openpgp/output.c:167 +#, fuzzy +msgid "\tRevoked: False\n" +msgstr "\t\tThu hồi vào : %s\n" + +#: lib/openpgp/output.c:175 +#, fuzzy +msgid "\tTime stamps:\n" +msgstr "\t\t\tGhi thá»i gian.\n" + +#: lib/openpgp/output.c:192 +#, fuzzy, c-format +msgid "\t\tCreation: %s\n" +msgstr "\t\tLần sau vào : %s\n" + +#: lib/openpgp/output.c:206 +msgid "\t\tExpiration: Never\n" +msgstr "" + +#: lib/openpgp/output.c:215 +#, fuzzy, c-format +msgid "\t\tExpiration: %s\n" +msgstr "\t\tLần sau vào : %s\n" + +#: lib/openpgp/output.c:239 +#, fuzzy, c-format +msgid "\tPublic Key Algorithm: %s\n" +msgstr "\tThuật toán khoá công ngÆ°á»i dân: %s\n" + +#: lib/openpgp/output.c:343 +#, c-format +msgid "\tName[%d]: %s\n" +msgstr "" + +#: lib/openpgp/output.c:345 +#, fuzzy, c-format +msgid "\tRevoked Name[%d]: %s\n" +msgstr "\t\tThu hồi vào : %s\n" + +#: lib/openpgp/output.c:360 +#, c-format +msgid "" +"\n" +"\tSubkey[%d]:\n" +msgstr "" + +#: lib/openpgp/output.c:395 +#, fuzzy +msgid "OpenPGP Certificate Information:\n" +msgstr "Thông tin chứng nhận X.509:\n" diff -Nru gnutls26-2.8.6/README gnutls26-2.4.1/README --- gnutls26-2.8.6/README 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/README 2008-06-19 11:00:09.000000000 +0100 @@ -14,7 +14,7 @@ ------------------ The library needs libgcrypt. You can find libgcrypt at -. Note that by +. Note that by compiling libgcrypt with CPU optimizations gnutls' speed will increase. diff -Nru gnutls26-2.8.6/src/certtool.c gnutls26-2.4.1/src/certtool.c --- gnutls26-2.8.6/src/certtool.c 2010-01-13 09:21:37.000000000 +0000 +++ gnutls26-2.4.1/src/certtool.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * This file is part of GNUTLS. * @@ -7,19 +7,18 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS 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, see . */ #include #include -#include #include #include @@ -30,7 +29,6 @@ #include #include #include "certtool-gaa.h" -#include "certtool-common.h" #include #include #include @@ -39,17 +37,16 @@ #include #include #include -#include /* Gnulib portability files. */ #include +#include #include #include static void print_crl_info (gnutls_x509_crl_t crl, FILE * out); int generate_prime (int bits, int how); void pkcs7_info (void); -void crq_info (void); void smime_to_pkcs7 (void); void pkcs12_info (void); void generate_pkcs12 (void); @@ -72,7 +69,7 @@ static void gaa_parser (int argc, char **argv); void generate_self_signed (void); void generate_request (void); -gnutls_x509_crt_t *load_cert_list (int mand, size_t * size); +gnutls_x509_crt_t *load_cert_list (int mand, int *size); static void print_hex_datum (gnutls_datum_t * dat); @@ -82,6 +79,8 @@ FILE *infile; gnutls_digest_algorithm_t dig = GNUTLS_DIG_SHA1; +#define UNKNOWN "Unknown" + /* non interactive operation if set */ int batch; @@ -105,7 +104,7 @@ return 0; } -static const char * +const char * raw_to_string (const unsigned char *raw, size_t raw_size) { static char buf[1024]; @@ -126,7 +125,7 @@ return buf; } -static void +void print_dsa_pkey (gnutls_datum * x, gnutls_datum * y, gnutls_datum * p, gnutls_datum * q, gnutls_datum * g) { @@ -142,7 +141,7 @@ print_hex_datum (g); } -static void +void print_rsa_pkey (gnutls_datum * m, gnutls_datum * e, gnutls_datum * d, gnutls_datum * p, gnutls_datum * q, gnutls_datum * u) { @@ -210,7 +209,8 @@ ret = gnutls_x509_privkey_export (key, info.outcert_format, buffer, &size); if (ret < 0) - error (EXIT_FAILURE, 0, "privkey_export: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "privkey_export: %s", + gnutls_strerror (ret)); } else { @@ -227,17 +227,18 @@ size = sizeof (buffer); ret = - gnutls_x509_privkey_export_pkcs8 (key, info.outcert_format, pass, - flags, buffer, &size); + gnutls_x509_privkey_export_pkcs8 (key, info.outcert_format, pass, + flags, buffer, &size); if (ret < 0) error (EXIT_FAILURE, 0, "privkey_export_pkcs8: %s", gnutls_strerror (ret)); } + fwrite (buffer, 1, size, outfile); } -static void +void generate_private_key (void) { gnutls_x509_privkey_t key; @@ -250,7 +251,7 @@ } -static gnutls_x509_crt_t +gnutls_x509_crt_t generate_certificate (gnutls_x509_privkey_t * ret_key, gnutls_x509_crt_t ca_crt, int proxy) { @@ -258,8 +259,9 @@ gnutls_x509_privkey_t key = NULL; size_t size; int ret; - int client; + int serial, client; int days, result, ca_status = 0, path_len; + const char *str; int vers; unsigned int usage = 0, server; gnutls_x509_crq_t crq; /* request */ @@ -301,7 +303,6 @@ get_cn_crt_set (crt); get_uid_crt_set (crt); get_oid_crt_set (crt); - get_key_purpose_set( crt); if (!batch) fprintf (stderr, @@ -322,20 +323,16 @@ } - { - int serial = get_serial (); - char bin_serial[5]; - - bin_serial[4] = serial & 0xff; - bin_serial[3] = (serial >> 8) & 0xff; - bin_serial[2] = (serial >> 16) & 0xff; - bin_serial[1] = (serial >> 24) & 0xff; - bin_serial[0] = 0; - - result = gnutls_x509_crt_set_serial (crt, bin_serial, 5); - if (result < 0) - error (EXIT_FAILURE, 0, "serial: %s", gnutls_strerror (result)); - } + serial = get_serial (); + buffer[4] = serial & 0xff; + buffer[3] = (serial >> 8) & 0xff; + buffer[2] = (serial >> 16) & 0xff; + buffer[1] = (serial >> 24) & 0xff; + buffer[0] = 0; + + result = gnutls_x509_crt_set_serial (crt, buffer, 5); + if (result < 0) + error (EXIT_FAILURE, 0, "serial: %s", gnutls_strerror (result)); if (!batch) fprintf (stderr, "\n\nActivation/Expiration time.\n"); @@ -345,23 +342,17 @@ days = get_days (); result = - gnutls_x509_crt_set_expiration_time (crt, - time (NULL) + days * 24 * 60 * 60); + gnutls_x509_crt_set_expiration_time (crt, + time (NULL) + + days * 24 * 60 * 60); if (result < 0) - error (EXIT_FAILURE, 0, "set_expiration: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "set_expiration: %s", + gnutls_strerror (result)); if (!batch) fprintf (stderr, "\n\nExtensions.\n"); /* do not allow extensions on a v1 certificate */ - if (crq && get_crq_extensions_status () != 0) - { - result = gnutls_x509_crt_set_crq_extensions (crt, crq); - if (result < 0) - error (EXIT_FAILURE, 0, "set_crq: %s", gnutls_strerror (result)); - } - - /* append additional extensions */ if (info.v1_cert == 0) { @@ -381,8 +372,8 @@ policylanguage = get_proxy_policy (&policy, &policylen); result = - gnutls_x509_crt_set_proxy (crt, proxypathlen, policylanguage, - policy, policylen); + gnutls_x509_crt_set_proxy (crt, proxypathlen, policylanguage, + policy, policylen); if (result < 0) error (EXIT_FAILURE, 0, "set_proxy: %s", gnutls_strerror (result)); @@ -396,7 +387,7 @@ path_len = -1; result = - gnutls_x509_crt_set_basic_constraints (crt, ca_status, path_len); + gnutls_x509_crt_set_basic_constraints (crt, ca_status, path_len); if (result < 0) error (EXIT_FAILURE, 0, "basic_constraints: %s", gnutls_strerror (result)); @@ -408,7 +399,8 @@ GNUTLS_KP_TLS_WWW_CLIENT, 0); if (result < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "key_kp: %s", + gnutls_strerror (result)); } server = get_tls_server_status (); @@ -418,19 +410,47 @@ if (!proxy) { - get_dns_name_set (TYPE_CRT, crt); - get_ip_addr_set (TYPE_CRT, crt); + str = get_dns_name (); + if (str != NULL) + { + result = gnutls_x509_crt_set_subject_alternative_name + (crt, GNUTLS_SAN_DNSNAME, str); + } + else + { + str = get_ip_addr (); + if (str != NULL) + { + result = gnutls_x509_crt_set_subject_alternative_name + (crt, GNUTLS_SAN_IPADDRESS, str); + } + } + + if (result < 0) + error (EXIT_FAILURE, 0, "subject_alt_name: %s", + gnutls_strerror (result)); } result = - gnutls_x509_crt_set_key_purpose_oid (crt, - GNUTLS_KP_TLS_WWW_SERVER, 0); + gnutls_x509_crt_set_key_purpose_oid (crt, + GNUTLS_KP_TLS_WWW_SERVER, + 0); if (result < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "key_kp: %s", + gnutls_strerror (result)); } else if (!proxy) { - get_email_set (TYPE_CRT, crt); + str = get_email (); + + if (str != NULL) + { + result = gnutls_x509_crt_set_subject_alternative_name + (crt, GNUTLS_SAN_RFC822NAME, str); + if (result < 0) + error (EXIT_FAILURE, 0, "subject_alt_name: %s", + gnutls_strerror (result)); + } } if (!ca_status || server) @@ -470,9 +490,9 @@ if (result) { result = - gnutls_x509_crt_set_key_purpose_oid (crt, - GNUTLS_KP_CODE_SIGNING, - 0); + gnutls_x509_crt_set_key_purpose_oid (crt, + GNUTLS_KP_CODE_SIGNING, + 0); if (result < 0) error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result)); @@ -482,9 +502,9 @@ if (result) { result = - gnutls_x509_crt_set_key_purpose_oid (crt, - GNUTLS_KP_OCSP_SIGNING, - 0); + gnutls_x509_crt_set_key_purpose_oid (crt, + GNUTLS_KP_OCSP_SIGNING, + 0); if (result < 0) error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result)); @@ -494,9 +514,9 @@ if (result) { result = - gnutls_x509_crt_set_key_purpose_oid (crt, - GNUTLS_KP_TIME_STAMPING, - 0); + gnutls_x509_crt_set_key_purpose_oid (crt, + GNUTLS_KP_TIME_STAMPING, + 0); if (result < 0) error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result)); @@ -533,12 +553,13 @@ if (result < 0) { size = sizeof (buffer); - result = gnutls_x509_crt_get_key_id (ca_crt, 0, buffer, &size); + result = + gnutls_x509_crt_get_key_id (ca_crt, 0, buffer, &size); } if (result >= 0) { result = - gnutls_x509_crt_set_authority_key_id (crt, buffer, size); + gnutls_x509_crt_set_authority_key_id (crt, buffer, size); if (result < 0) error (EXIT_FAILURE, 0, "set_authority_key_id: %s", gnutls_strerror (result)); @@ -561,14 +582,13 @@ } -static gnutls_x509_crl_t -generate_crl (gnutls_x509_crt_t ca_crt) +gnutls_x509_crl_t +generate_crl (void) { gnutls_x509_crl_t crl; gnutls_x509_crt_t *crts; - size_t size; - int days, result; - unsigned int i; + int size; + int days, result, i; time_t now = time (NULL); result = gnutls_x509_crl_init (&crl); @@ -581,7 +601,8 @@ { result = gnutls_x509_crl_set_crt (crl, crts[i], now); if (result < 0) - error (EXIT_FAILURE, 0, "crl_set_crt: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "crl_set_crt: %s", + gnutls_strerror (result)); } result = gnutls_x509_crl_set_this_update (crl, now); @@ -591,7 +612,8 @@ fprintf (stderr, "Update times.\n"); days = get_crl_next_update (); - result = gnutls_x509_crl_set_next_update (crl, now + days * 24 * 60 * 60); + result = + gnutls_x509_crl_set_next_update (crl, now + days * 24 * 60 * 60); if (result < 0) error (EXIT_FAILURE, 0, "next_update: %s", gnutls_strerror (result)); @@ -599,42 +621,6 @@ if (result < 0) error (EXIT_FAILURE, 0, "set_version: %s", gnutls_strerror (result)); - /* Authority Key ID. - */ - if (ca_crt != NULL) - { - size = sizeof (buffer); - result = gnutls_x509_crt_get_subject_key_id (ca_crt, buffer, - &size, NULL); - if (result < 0) - { - size = sizeof (buffer); - result = gnutls_x509_crt_get_key_id (ca_crt, 0, buffer, &size); - } - if (result >= 0) - { - result = gnutls_x509_crl_set_authority_key_id (crl, buffer, size); - if (result < 0) - error (EXIT_FAILURE, 0, "set_authority_key_id: %s", - gnutls_strerror (result)); - } - } - - { - unsigned int number = get_crl_number (); - char bin_number[5]; - - bin_number[4] = number & 0xff; - bin_number[3] = (number >> 8) & 0xff; - bin_number[2] = (number >> 16) & 0xff; - bin_number[1] = (number >> 24) & 0xff; - bin_number[0] = 0; - - result = gnutls_x509_crl_set_number (crl, bin_number, 5); - if (result < 0) - error (EXIT_FAILURE, 0, "set_number: %s", gnutls_strerror (result)); - } - return crl; } @@ -674,7 +660,8 @@ error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result)); size = sizeof (buffer); - result = gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); + result = + gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result)); @@ -684,7 +671,7 @@ gnutls_x509_privkey_deinit (key); } -static void +void generate_signed_certificate (void) { gnutls_x509_crt_t crt; @@ -716,7 +703,8 @@ error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result)); size = sizeof (buffer); - result = gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); + result = + gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result)); @@ -726,7 +714,7 @@ gnutls_x509_privkey_deinit (key); } -static void +void generate_proxy_certificate (void) { gnutls_x509_crt_t crt, eecrt; @@ -750,7 +738,8 @@ error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result)); size = sizeof (buffer); - result = gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); + result = + gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result)); @@ -760,7 +749,7 @@ gnutls_x509_privkey_deinit (key); } -static void +void generate_signed_crl (void) { gnutls_x509_crl_t crl; @@ -772,7 +761,7 @@ ca_key = load_ca_private_key (); ca_crt = load_ca_cert (); - crl = generate_crl (ca_crt); + crl = generate_crl (); fprintf (stderr, "\n"); @@ -785,7 +774,7 @@ gnutls_x509_crl_deinit (crl); } -static void +void update_signed_certificate (void) { gnutls_x509_crt_t crt; @@ -808,9 +797,10 @@ days = get_days (); result = - gnutls_x509_crt_set_expiration_time (crt, tim + days * 24 * 60 * 60); + gnutls_x509_crt_set_expiration_time (crt, tim + days * 24 * 60 * 60); if (result < 0) - error (EXIT_FAILURE, 0, "set_expiration: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "set_expiration: %s", + gnutls_strerror (result)); fprintf (stderr, "\n\nSigning certificate...\n"); @@ -819,7 +809,8 @@ error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result)); size = sizeof (buffer); - result = gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); + result = + gnutls_x509_crt_export (crt, info.outcert_format, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result)); @@ -828,22 +819,21 @@ gnutls_x509_crt_deinit (crt); } -static FILE * -safe_open_rw (const char *file) +FILE* safe_open_rw(const char* file) { - mode_t omask = 0; + mode_t oldmask; FILE *fh; if (info.privkey_op != 0) { - omask = umask (S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); + oldmask = umask (S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH); } fh = fopen (file, "wb"); if (info.privkey_op != 0) { - umask (omask); + umask (oldmask); } return fh; @@ -918,102 +908,85 @@ template_parse (info.template); } -#ifdef gcry_fips_mode_active - if (gcry_fips_mode_active ()) - { - ret = gnutls_register_md5_handler (); - if (ret) - fprintf (stderr, "gnutls_register_md5_handler: %s\n", - gnutls_strerror (ret)); - } -#endif + if (info.quick_random != 0) + gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); gnutls_global_set_log_function (tls_log_func); gnutls_global_set_log_level (info.debug); - if (info.debug > 1) printf("Setting log level to %d\n", info.debug); if ((ret = gnutls_global_init ()) < 0) error (EXIT_FAILURE, 0, "global_init: %s", gnutls_strerror (ret)); - if ((ret = gnutls_global_init_extra ()) < 0) - error (EXIT_FAILURE, 0, "global_init_extra: %s", gnutls_strerror (ret)); - - if (info.quick_random != 0) - gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); - switch (info.action) { - case ACTION_SELF_SIGNED: + case 0: generate_self_signed (); break; - case ACTION_GENERATE_PRIVKEY: + case 1: generate_private_key (); break; - case ACTION_CERT_INFO: + case 2: certificate_info (); break; - case ACTION_GENERATE_REQUEST: + case 3: generate_request (); break; - case ACTION_GENERATE_CERTIFICATE: + case 4: generate_signed_certificate (); break; - case ACTION_VERIFY_CHAIN: + case 5: verify_chain (); break; - case ACTION_PRIVKEY_INFO: + case 6: privkey_info (); break; - case ACTION_UPDATE_CERTIFICATE: + case 7: update_signed_certificate (); break; - case ACTION_TO_PKCS12: + case 8: generate_pkcs12 (); break; - case ACTION_PKCS12_INFO: + case 9: pkcs12_info (); break; - case ACTION_GENERATE_DH: + case 10: generate_prime (info.bits, 1); break; - case ACTION_GET_DH: + case 16: generate_prime (info.bits, 0); break; - case ACTION_CRL_INFO: + case 11: crl_info (); break; - case ACTION_P7_INFO: + case 12: pkcs7_info (); break; - case ACTION_GENERATE_CRL: + case 13: generate_signed_crl (); break; - case ACTION_VERIFY_CRL: + case 14: verify_crl (); break; - case ACTION_SMIME_TO_P7: + case 15: smime_to_pkcs7 (); break; - case ACTION_GENERATE_PROXY: + case 17: generate_proxy_certificate (); break; - case ACTION_GENERATE_PKCS8: + case 18: generate_pkcs8 (); break; #ifdef ENABLE_OPENPGP - case ACTION_PGP_INFO: + case 19: pgp_certificate_info (); break; - case ACTION_PGP_PRIVKEY_INFO: + case 20: pgp_privkey_info (); break; - case ACTION_RING_INFO: + case 21: pgp_ring_info (); break; #endif - case ACTION_REQUEST: - crq_info (); - break; default: gaa_help (); exit (0); @@ -1036,18 +1009,19 @@ crt_num = MAX_CRTS; ret = - gnutls_x509_crt_list_import (crt, &crt_num, &pem, info.incert_format, - GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED); + gnutls_x509_crt_list_import (crt, &crt_num, &pem, info.incert_format, + GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED); if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) { - error (0, 0, "too many certificates (%d); " - "will only read the first %d", crt_num, MAX_CRTS); + error (0, 0, + "Too many certificates (%d), will only read the first %d.", + crt_num, MAX_CRTS); crt_num = MAX_CRTS; ret = gnutls_x509_crt_list_import (crt, &crt_num, &pem, info.incert_format, 0); } if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); free (pem.data); @@ -1055,8 +1029,8 @@ if (count > 1 && info.outcert_format == GNUTLS_X509_FMT_DER) { - error (0, 0, "cannot output multiple certificates in DER format; " - "using PEM instead"); + error (0, 0, + "Cannot output multiple certificates in DER format, using PEM instead."); info.outcert_format = GNUTLS_X509_FMT_PEM; } @@ -1072,10 +1046,8 @@ ret = gnutls_x509_crt_export (crt[i], info.outcert_format, buffer, &size); if (ret < 0) - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); fwrite (buffer, 1, size, outfile); - - gnutls_x509_crt_deinit (crt[i]); } } @@ -1088,7 +1060,6 @@ size_t size; int ret; gnutls_datum_t pem, out_data; - unsigned int verify_status; pem.data = fread_file (infile, &size); pem.size = size; @@ -1100,7 +1071,7 @@ ret = gnutls_openpgp_crt_import (crt, &pem, info.incert_format); if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); free (pem.data); @@ -1115,31 +1086,17 @@ } } - - ret = gnutls_openpgp_crt_verify_self(crt, 0, &verify_status); - if (ret < 0) - { - error (EXIT_FAILURE, 0, "verify signature error: %s", gnutls_strerror (ret)); - } - - if (verify_status & GNUTLS_CERT_INVALID) - { - fprintf (outfile, "Self Signature verification: failed\n\n"); - } - else - { - fprintf (outfile, "Self Signature verification: ok (%x)\n\n", verify_status); - } - size = sizeof (buffer); - ret = gnutls_openpgp_crt_export (crt, info.outcert_format, buffer, &size); + ret = + gnutls_openpgp_crt_export (crt, info.outcert_format, buffer, &size); if (ret < 0) { - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); fwrite (buffer, 1, size, outfile); } fprintf (outfile, "%s\n", buffer); + gnutls_openpgp_crt_deinit (crt); } @@ -1161,11 +1118,12 @@ pem.data = buffer; pem.size = size; - ret = gnutls_openpgp_privkey_import (key, &pem, info.incert_format, - NULL, 0); + ret = + gnutls_openpgp_privkey_import (key, &pem, info.incert_format, NULL, + 0); if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); /* Public key algorithm */ @@ -1185,13 +1143,17 @@ if (i == -1) ret = gnutls_openpgp_privkey_get_pk_algorithm (key, NULL); else - ret = gnutls_openpgp_privkey_get_subkey_pk_algorithm (key, i, NULL); + ret = + gnutls_openpgp_privkey_get_subkey_pk_algorithm (key, i, NULL); fprintf (outfile, "\tPublic Key Algorithm: "); + cprint = gnutls_pk_algorithm_get_name (ret); - fprintf (outfile, "%s\n", cprint ? cprint : "Unknown"); + if (cprint == NULL) + cprint = UNKNOWN; + fprintf (outfile, "%s\n", cprint); - /* Print the raw public and private keys + /* Print the raw public and private keys */ if (ret == GNUTLS_PK_RSA) @@ -1200,13 +1162,13 @@ if (i == -1) ret = - gnutls_openpgp_privkey_export_rsa_raw (key, &m, &e, &d, &p, - &q, &u); + gnutls_openpgp_privkey_export_rsa_raw (key, &m, &e, &d, &p, + &q, &u); else ret = - gnutls_openpgp_privkey_export_subkey_rsa_raw (key, i, &m, - &e, &d, &p, - &q, &u); + gnutls_openpgp_privkey_export_subkey_rsa_raw (key, i, &m, + &e, &d, &p, + &q, &u); if (ret < 0) fprintf (stderr, "Error in key RSA data export: %s\n", gnutls_strerror (ret)); @@ -1220,11 +1182,13 @@ if (i == -1) ret = - gnutls_openpgp_privkey_export_dsa_raw (key, &p, &q, &g, &y, &x); + gnutls_openpgp_privkey_export_dsa_raw (key, &p, &q, &g, &y, + &x); else ret = - gnutls_openpgp_privkey_export_subkey_dsa_raw (key, i, &p, - &q, &g, &y, &x); + gnutls_openpgp_privkey_export_subkey_dsa_raw (key, i, &p, + &q, &g, &y, + &x); if (ret < 0) fprintf (stderr, "Error in key DSA data export: %s\n", gnutls_strerror (ret)); @@ -1247,20 +1211,20 @@ } else { - fprintf (outfile, "Public Key ID: %s\n", raw_to_string (keyid, 8)); + fprintf (outfile, "Public Key ID: %s\n", + raw_to_string (keyid, 8)); } } size = sizeof (buffer); - ret = gnutls_openpgp_privkey_export (key, GNUTLS_OPENPGP_FMT_BASE64, - NULL, 0, buffer, &size); + ret = + gnutls_openpgp_privkey_export (key, GNUTLS_OPENPGP_FMT_BASE64, + NULL, 0, buffer, &size); if (ret < 0) - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); fprintf (outfile, "\n%s\n", buffer); - - gnutls_openpgp_privkey_deinit (key); } void @@ -1283,27 +1247,34 @@ ret = gnutls_openpgp_keyring_import (ring, &pem, info.incert_format); if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); free (pem.data); count = gnutls_openpgp_keyring_get_crt_count (ring); if (count > 0) - fprintf (outfile, "Keyring contains %d OpenPGP certificates\n\n", count); + fprintf (outfile, "Keyring contains %d OpenPGP certificates\n\n", + count); else - error (EXIT_FAILURE, 0, "keyring error: %s", gnutls_strerror (count)); + error (EXIT_FAILURE, 0, "Keyring error: %s", gnutls_strerror (count)); for (i = 0; i < count; i++) { ret = gnutls_openpgp_keyring_get_crt (ring, i, &crt); + if (ret < 0) - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + { + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); + } size = sizeof (buffer); - ret = gnutls_openpgp_crt_export (crt, info.outcert_format, - buffer, &size); + ret = + gnutls_openpgp_crt_export (crt, info.outcert_format, buffer, + &size); if (ret < 0) - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + { + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); + } fwrite (buffer, 1, size, outfile); fprintf (outfile, "\n\n"); @@ -1336,19 +1307,21 @@ static void -print_certificate_info (gnutls_x509_crt_t crt, FILE * out, unsigned int all) +print_certificate_info (gnutls_x509_crt_t crt, FILE * out, + unsigned int all) { - gnutls_datum_t cinfo; + gnutls_datum_t info; int ret; if (all) - ret = gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_FULL, &cinfo); + ret = gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_FULL, &info); else - ret = gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_UNSIGNED_FULL, &cinfo); + ret = + gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_UNSIGNED_FULL, &info); if (ret == 0) { - fprintf (out, "%s\n", cinfo.data); - gnutls_free (cinfo.data); + fprintf (out, "%s\n", info.data); + gnutls_free (info.data); } if (out == stderr && batch == 0) /* interactive */ @@ -1361,17 +1334,17 @@ static void print_crl_info (gnutls_x509_crl_t crl, FILE * out) { - gnutls_datum_t cinfo; + gnutls_datum_t info; int ret; size_t size; - ret = gnutls_x509_crl_print (crl, GNUTLS_CRT_PRINT_FULL, &cinfo); + ret = gnutls_x509_crl_print (crl, GNUTLS_CRT_PRINT_FULL, &info); if (ret < 0) error (EXIT_FAILURE, 0, "crl_print: %s", gnutls_strerror (ret)); - fprintf (out, "%s\n", cinfo.data); + fprintf (out, "%s\n", info.data); - gnutls_free (cinfo.data); + gnutls_free (info.data); size = sizeof (buffer); ret = gnutls_x509_crl_export (crl, GNUTLS_X509_FMT_PEM, buffer, &size); @@ -1404,64 +1377,9 @@ free (pem.data); if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); print_crl_info (crl, outfile); - - gnutls_x509_crl_deinit (crl); -} - -static void -print_crq_info (gnutls_x509_crq_t crq, FILE * out) -{ - gnutls_datum_t cinfo; - int ret; - size_t size; - - ret = gnutls_x509_crq_print (crq, GNUTLS_CRT_PRINT_FULL, &cinfo); - if (ret < 0) - error (EXIT_FAILURE, 0, "crq_print: %s", gnutls_strerror (ret)); - - fprintf (out, "%s\n", cinfo.data); - - gnutls_free (cinfo.data); - - size = sizeof (buffer); - ret = gnutls_x509_crq_export (crq, GNUTLS_X509_FMT_PEM, buffer, &size); - if (ret < 0) - error (EXIT_FAILURE, 0, "crq_export: %s", gnutls_strerror (ret)); - - fwrite (buffer, 1, size, outfile); -} - -void -crq_info (void) -{ - gnutls_x509_crq_t crq; - int ret; - size_t size; - gnutls_datum_t pem; - - ret = gnutls_x509_crq_init (&crq); - if (ret < 0) - error (EXIT_FAILURE, 0, "crq_init: %s", gnutls_strerror (ret)); - - pem.data = fread_file (infile, &size); - pem.size = size; - - if (!pem.data) - error (EXIT_FAILURE, errno, "%s", info.infile ? info.infile : - "standard input"); - - ret = gnutls_x509_crq_import (crq, &pem, info.incert_format); - - free (pem.data); - if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); - - print_crq_info (crq, outfile); - - gnutls_x509_crq_deinit (crq); } void @@ -1489,23 +1407,16 @@ /* If we failed to import the certificate previously try PKCS #8 */ if (info.pkcs8 || ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) { - /* first try to import the key without asking any password */ - ret = gnutls_x509_privkey_import_pkcs8 (key, &pem, - info.incert_format, - NULL, GNUTLS_PKCS_PLAIN); - if (ret < 0) - { - if (info.pass) - pass = info.pass; - else - pass = get_pass (); - ret = gnutls_x509_privkey_import_pkcs8 (key, &pem, - info.incert_format, - pass, 0); - } + if (info.pass) + pass = info.pass; + else + pass = get_pass (); + ret = + gnutls_x509_privkey_import_pkcs8 (key, &pem, info.incert_format, + pass, 0); } if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); /* Public key algorithm */ @@ -1514,28 +1425,24 @@ fprintf (outfile, "\tPublic Key Algorithm: "); cprint = gnutls_pk_algorithm_get_name (ret); - fprintf (outfile, "%s\n", cprint ? cprint : "Unknown"); + if (cprint == NULL) + cprint = UNKNOWN; + fprintf (outfile, "%s\n", cprint); - /* Print the raw public and private keys + /* Print the raw public and private keys */ if (ret == GNUTLS_PK_RSA) { gnutls_datum_t m, e, d, p, q, u; - ret = gnutls_x509_privkey_export_rsa_raw (key, &m, &e, &d, &p, &q, &u); + ret = + gnutls_x509_privkey_export_rsa_raw (key, &m, &e, &d, &p, &q, &u); if (ret < 0) fprintf (stderr, "Error in key RSA data export: %s\n", gnutls_strerror (ret)); else - { - print_rsa_pkey (&m, &e, &d, &p, &q, &u); - gnutls_free (m.data); - gnutls_free (e.data); - gnutls_free (d.data); - gnutls_free (p.data); - gnutls_free (q.data); - gnutls_free (u.data); - } + print_rsa_pkey (&m, &e, &d, &p, &q, &u); + } else if (ret == GNUTLS_PK_DSA) { @@ -1546,14 +1453,7 @@ fprintf (stderr, "Error in key DSA data export: %s\n", gnutls_strerror (ret)); else - { - print_dsa_pkey (&x, &y, &p, &q, &g); - gnutls_free (x.data); - gnutls_free (y.data); - gnutls_free (p.data); - gnutls_free (q.data); - gnutls_free (g.data); - } + print_dsa_pkey (&x, &y, &p, &q, &g); } fprintf (outfile, "\n"); @@ -1566,7 +1466,8 @@ } else { - fprintf (outfile, "Public Key ID: %s\n", raw_to_string (buffer, size)); + fprintf (outfile, "Public Key ID: %s\n", + raw_to_string (buffer, size)); } if (info.fix_key != 0) @@ -1577,13 +1478,12 @@ } size = sizeof (buffer); - ret = gnutls_x509_privkey_export (key, GNUTLS_X509_FMT_PEM, buffer, &size); + ret = + gnutls_x509_privkey_export (key, GNUTLS_X509_FMT_PEM, buffer, &size); if (ret < 0) - error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Export error: %s", gnutls_strerror (ret)); fprintf (outfile, "\n%s\n", buffer); - - gnutls_x509_privkey_deinit (key); } @@ -1612,14 +1512,15 @@ dat.size = size; if (!dat.data) - error (EXIT_FAILURE, errno, "reading --load-privkey: %s", info.privkey); + error (EXIT_FAILURE, errno, "reading --load-privkey: %s", + info.privkey); if (info.pkcs8) { const char *pass = get_pass (); ret = - gnutls_x509_privkey_import_pkcs8 (key, &dat, info.incert_format, - pass, 0); + gnutls_x509_privkey_import_pkcs8 (key, &dat, info.incert_format, + pass, 0); } else ret = gnutls_x509_privkey_import (key, &dat, info.incert_format); @@ -1629,8 +1530,7 @@ if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) { error (EXIT_FAILURE, 0, - "import error: could not find a valid PEM header; " - "check if your key is PKCS #8 or PKCS #12 encoded"); + "Import error: Could not find a valid PEM header. Check if your key is PKCS #8 or PKCS #12 encoded."); } if (ret < 0) @@ -1661,13 +1561,14 @@ dat.size = size; if (!dat.data) - error (EXIT_FAILURE, errno, "reading --load-request: %s", info.request); + error (EXIT_FAILURE, errno, "reading --load-request: %s", + info.request); ret = gnutls_x509_crq_import (crq, &dat, info.incert_format); if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) { error (EXIT_FAILURE, 0, - "import error: could not find a valid PEM header"); + "Import error: Could not find a valid PEM header."); } free (dat.data); @@ -1706,8 +1607,8 @@ { const char *pass = get_pass (); ret = - gnutls_x509_privkey_import_pkcs8 (key, &dat, info.incert_format, - pass, 0); + gnutls_x509_privkey_import_pkcs8 (key, &dat, info.incert_format, + pass, 0); } else ret = gnutls_x509_privkey_import (key, &dat, info.incert_format); @@ -1740,7 +1641,8 @@ dat.size = size; if (!dat.data) - error (EXIT_FAILURE, errno, "reading --load-ca-certificate: %s", info.ca); + error (EXIT_FAILURE, errno, "reading --load-ca-certificate: %s", + info.ca); ret = gnutls_x509_crt_import (crt, &dat, info.incert_format); free (dat.data); @@ -1759,7 +1661,7 @@ load_cert (int mand) { gnutls_x509_crt_t *crt; - size_t size; + int size; crt = load_cert_list (mand, &size); @@ -1771,7 +1673,7 @@ /* Loads a certificate list */ gnutls_x509_crt_t * -load_cert_list (int mand, size_t * crt_size) +load_cert_list (int mand, int *crt_size) { FILE *fd; static gnutls_x509_crt_t crt[MAX_CERTS]; @@ -1794,7 +1696,7 @@ fd = fopen (info.cert, "r"); if (fd == NULL) - error (EXIT_FAILURE, errno, "%s", info.cert); + error (EXIT_FAILURE, 0, "File %s does not exist", info.cert); size = fread (buffer, 1, sizeof (buffer) - 1, fd); buffer[size] = 0; @@ -1826,14 +1728,15 @@ ptr_size = size; ptr_size -= - (unsigned int) ((unsigned char *) ptr - (unsigned char *) buffer); + (unsigned int) ((unsigned char *) ptr - + (unsigned char *) buffer); if (ptr_size < 0) break; (*crt_size)++; } - fprintf (stderr, "Loaded %d certificates.\n", (int) *crt_size); + fprintf (stderr, "Loaded %d certificates.\n", *crt_size); return crt; } @@ -1846,9 +1749,9 @@ { gnutls_x509_crq_t crq; gnutls_x509_privkey_t key; - int ret, ca_status, path_len; + int ret; const char *pass; - unsigned int usage = 0; + size_t size; fprintf (stderr, "Generating a PKCS #10 certificate request...\n"); @@ -1877,105 +1780,15 @@ get_uid_crq_set (crq); get_oid_crq_set (crq); - get_dns_name_set (TYPE_CRQ, crq); - get_ip_addr_set (TYPE_CRQ, crq); - get_email_set (TYPE_CRQ, crq); - pass = get_challenge_pass (); - if (pass != NULL && pass[0] != 0) + if (pass != NULL) { ret = gnutls_x509_crq_set_challenge_password (crq, pass); if (ret < 0) error (EXIT_FAILURE, 0, "set_pass: %s", gnutls_strerror (ret)); } - ca_status = get_ca_status (); - if (ca_status) - path_len = get_path_len (); - else - path_len = -1; - - ret = gnutls_x509_crq_set_basic_constraints (crq, ca_status, path_len); - if (ret < 0) - error (EXIT_FAILURE, 0, "set_basic_constraints: %s", - gnutls_strerror (ret)); - - - ret = get_sign_status (1); - if (ret) - usage |= GNUTLS_KEY_DIGITAL_SIGNATURE; - - ret = get_encrypt_status (1); - if (ret) - usage |= GNUTLS_KEY_KEY_ENCIPHERMENT; - else - usage |= GNUTLS_KEY_DIGITAL_SIGNATURE; - - if (ca_status) - { - ret = get_cert_sign_status (); - if (ret) - usage |= GNUTLS_KEY_KEY_CERT_SIGN; - - ret = get_crl_sign_status (); - if (ret) - usage |= GNUTLS_KEY_CRL_SIGN; - - ret = get_code_sign_status (); - if (ret) - { - ret = - gnutls_x509_crq_set_key_purpose_oid (crq, - GNUTLS_KP_CODE_SIGNING, 0); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret)); - } - - ret = get_ocsp_sign_status (); - if (ret) - { - ret = - gnutls_x509_crq_set_key_purpose_oid (crq, - GNUTLS_KP_OCSP_SIGNING, 0); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret)); - } - - ret = get_time_stamp_status (); - if (ret) - { - ret = - gnutls_x509_crq_set_key_purpose_oid (crq, - GNUTLS_KP_TIME_STAMPING, 0); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret)); - } - - } - - ret = gnutls_x509_crq_set_key_usage (crq, usage); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_usage: %s", gnutls_strerror (ret)); - - ret = get_tls_client_status (); - if (ret != 0) - { - ret = gnutls_x509_crq_set_key_purpose_oid (crq, - GNUTLS_KP_TLS_WWW_CLIENT, 0); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret)); - } - - ret = get_tls_server_status (); - if (ret != 0) - { - ret = gnutls_x509_crq_set_key_purpose_oid (crq, - GNUTLS_KP_TLS_WWW_SERVER, 0); - if (ret < 0) - error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret)); - } - ret = gnutls_x509_crq_set_key (crq, key); if (ret < 0) error (EXIT_FAILURE, 0, "set_key: %s", gnutls_strerror (ret)); @@ -1984,7 +1797,12 @@ if (ret < 0) error (EXIT_FAILURE, 0, "sign: %s", gnutls_strerror (ret)); - print_crq_info (crq, outfile); + size = sizeof (buffer); + ret = gnutls_x509_crq_export (crq, info.outcert_format, buffer, &size); + if (ret < 0) + error (EXIT_FAILURE, 0, "export: %s", gnutls_strerror (ret)); + + fwrite (buffer, 1, size, outfile); gnutls_x509_crq_deinit (crq); gnutls_x509_privkey_deinit (key); @@ -1998,11 +1816,12 @@ #define CERT_SEP "-----BEGIN CERT" #define CRL_SEP "-----BEGIN X509 CRL" -static int +int _verify_x509_mem (const void *cert, int cert_size) { + int siz, i; const char *ptr; - int ret, i; + int ret; char name[256]; char issuer_name[256]; size_t name_size; @@ -2018,6 +1837,7 @@ /* Decode the CRL list */ + siz = cert_size; ptr = cert; i = 1; @@ -2026,25 +1846,26 @@ do { x509_crl_list = - (gnutls_x509_crl_t *) realloc (x509_crl_list, - i * sizeof (gnutls_x509_crl_t)); + (gnutls_x509_crl_t *) realloc (x509_crl_list, + i * sizeof (gnutls_x509_crl_t)); if (x509_crl_list == NULL) error (EXIT_FAILURE, 0, "memory error"); tmp.data = (char *) ptr; tmp.size = cert_size; tmp.size -= - (unsigned int) ((unsigned char *) ptr - (unsigned char *) cert); + (unsigned int) ((unsigned char *) ptr - + (unsigned char *) cert); ret = gnutls_x509_crl_init (&x509_crl_list[i - 1]); if (ret < 0) - error (EXIT_FAILURE, 0, "error parsing CRL[%d]: %s", i, + error (EXIT_FAILURE, 0, "Error parsing the CRL[%d]: %s", i, gnutls_strerror (ret)); ret = gnutls_x509_crl_import (x509_crl_list[i - 1], &tmp, GNUTLS_X509_FMT_PEM); if (ret < 0) - error (EXIT_FAILURE, 0, "error parsing CRL[%d]: %s", i, + error (EXIT_FAILURE, 0, "Error parsing the CRL[%d]: %s", i, gnutls_strerror (ret)); /* now we move ptr after the pem header */ @@ -2061,6 +1882,7 @@ /* Decode the certificate chain. */ + siz = cert_size; ptr = cert; i = 1; @@ -2068,8 +1890,8 @@ do { x509_cert_list = - (gnutls_x509_crt_t *) realloc (x509_cert_list, - i * sizeof (gnutls_x509_crt_t)); + (gnutls_x509_crt_t *) realloc (x509_cert_list, + i * sizeof (gnutls_x509_crt_t)); if (x509_cert_list == NULL) error (EXIT_FAILURE, 0, "memory error"); @@ -2077,18 +1899,18 @@ tmp.data = (char *) ptr; tmp.size = cert_size; tmp.size -= - (unsigned int) ((unsigned char *) ptr - (unsigned char *) cert); + (unsigned int) ((unsigned char *) ptr - (unsigned char *) cert); ret = gnutls_x509_crt_init (&x509_cert_list[i - 1]); if (ret < 0) - error (EXIT_FAILURE, 0, "error parsing certificate[%d]: %s", i, + error (EXIT_FAILURE, 0, "Error parsing the certificate[%d]: %s", i, gnutls_strerror (ret)); ret = - gnutls_x509_crt_import (x509_cert_list[i - 1], &tmp, - GNUTLS_X509_FMT_PEM); + gnutls_x509_crt_import (x509_cert_list[i - 1], &tmp, + GNUTLS_X509_FMT_PEM); if (ret < 0) - error (EXIT_FAILURE, 0, "error parsing certificate[%d]: %s", i, + error (EXIT_FAILURE, 0, "Error parsing the certificate[%d]: %s", i, gnutls_strerror (ret)); @@ -2100,7 +1922,8 @@ name_size = sizeof (name); ret = - gnutls_x509_crt_get_dn (x509_cert_list[i - 2], name, &name_size); + gnutls_x509_crt_get_dn (x509_cert_list[i - 2], name, + &name_size); if (ret < 0) error (EXIT_FAILURE, 0, "get_dn: %s", gnutls_strerror (ret)); @@ -2110,8 +1933,9 @@ */ issuer_name_size = sizeof (issuer_name); ret = - gnutls_x509_crt_get_issuer_dn (x509_cert_list[i - 2], - issuer_name, &issuer_name_size); + gnutls_x509_crt_get_issuer_dn (x509_cert_list[i - 2], + issuer_name, + &issuer_name_size); if (ret < 0) error (EXIT_FAILURE, 0, "get_issuer_dn: %s", gnutls_strerror (ret)); @@ -2122,17 +1946,19 @@ */ name_size = sizeof (name); ret = - gnutls_x509_crt_get_dn (x509_cert_list[i - 1], name, &name_size); + gnutls_x509_crt_get_dn (x509_cert_list[i - 1], name, + &name_size); if (ret < 0) error (EXIT_FAILURE, 0, "get_dn: %s", gnutls_strerror (ret)); - fprintf (outfile, "\tVerifying against certificate[%d].\n", i - 1); + fprintf (outfile, "\tVerifying against certificate[%d].\n", + i - 1); if (strcmp (issuer_name, name) != 0) { fprintf (stderr, "Error: Issuer's name: %s\n", name); error (EXIT_FAILURE, 0, - "issuer name does not match the next certificate"); + "Issuer's name does not match the next certificate"); } fprintf (outfile, "\tVerification output: "); @@ -2171,15 +1997,16 @@ */ issuer_name_size = sizeof (issuer_name); ret = - gnutls_x509_crt_get_issuer_dn (x509_cert_list[x509_ncerts - 1], - issuer_name, &issuer_name_size); + gnutls_x509_crt_get_issuer_dn (x509_cert_list[x509_ncerts - 1], + issuer_name, &issuer_name_size); if (ret < 0) error (EXIT_FAILURE, 0, "get_issuer_dn: %s", gnutls_strerror (ret)); fprintf (outfile, "\tIssued by: %s\n", name); if (strcmp (issuer_name, name) != 0) - error (EXIT_FAILURE, 0, "the last certificate is not self signed"); + error (EXIT_FAILURE, 0, + "Error: The last certificate is not self signed."); fprintf (outfile, "\tVerification output: "); print_verification_res (x509_cert_list[x509_ncerts - 1], @@ -2188,46 +2015,6 @@ fprintf (outfile, ".\n\n"); - /* Verify using internal algorithm too. */ - { - int verify_status; - - ret = gnutls_x509_crt_list_verify (x509_cert_list, x509_ncerts, - &x509_cert_list[x509_ncerts - 1], 1, - x509_crl_list, - x509_ncrls, - GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, - &verify_status); - if (ret < 0) - error (EXIT_FAILURE, 0, "gnutls_x509_crt_list_verify: %s", - gnutls_strerror (ret)); - - fprintf (outfile, "Chain verification output: "); - - if (verify_status & GNUTLS_CERT_INVALID) - { - fprintf (outfile, "Not verified"); - } - else - { - fprintf (outfile, "Verified"); - } - - if (verify_status & GNUTLS_CERT_SIGNER_NOT_CA) - { - fprintf (outfile, ", "); - fprintf (outfile, "Issuer is not a CA"); - } - - if (verify_status & GNUTLS_CERT_INSECURE_ALGORITHM) - { - fprintf (outfile, ", "); - fprintf (outfile, "Insecure algorithm"); - } - - fprintf (outfile, ".\n"); - } - for (i = 0; i < x509_ncerts; i++) gnutls_x509_crt_deinit (x509_cert_list[i]); @@ -2238,7 +2025,8 @@ free (x509_crl_list); if (ret < 0) - error (EXIT_FAILURE, 0, "verification error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Error in verification: %s", + gnutls_strerror (ret)); return 0; } @@ -2255,7 +2043,7 @@ ret = gnutls_x509_crt_verify (crt, &issuer, 1, 0, &output); if (ret < 0) - error (EXIT_FAILURE, 0, "verification error: %s", + error (EXIT_FAILURE, 0, "Error in verification: %s", gnutls_strerror (ret)); if (output & GNUTLS_CERT_INVALID) @@ -2306,7 +2094,7 @@ ret = gnutls_x509_crt_check_revocation (crt, crl_list, crl_list_size); if (ret < 0) - error (EXIT_FAILURE, 0, "revocation check: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Revocation check: %s", gnutls_strerror (ret)); if (ret == 1) { /* revoked */ @@ -2320,16 +2108,16 @@ void verify_chain (void) { - char *buf; + char *buffer; size_t size; - buf = fread_file (infile, &size); - if (buf == NULL) + buffer = fread_file (infile, &size); + if (buffer == NULL) error (EXIT_FAILURE, errno, "reading chain"); - buf[size] = 0; + buffer[size] = 0; - _verify_x509_mem (buf, size); + _verify_x509_mem (buffer, size); } @@ -2367,14 +2155,15 @@ ret = gnutls_x509_crl_import (crl, &pem, info.incert_format); free (pem.data); if (ret < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (ret)); print_crl_info (crl, outfile); fprintf (outfile, "Verification output: "); ret = gnutls_x509_crl_verify (crl, &issuer, 1, 0, &output); if (ret < 0) - error (EXIT_FAILURE, 0, "verification error: %s", gnutls_strerror (ret)); + error (EXIT_FAILURE, 0, "Verification error: %s", + gnutls_strerror (ret)); if (output & GNUTLS_CERT_INVALID) { @@ -2455,8 +2244,8 @@ size = sizeof (buffer); result = - gnutls_x509_privkey_export_pkcs8 (key, info.outcert_format, - password, flags, buffer, &size); + gnutls_x509_privkey_export_pkcs8 (key, info.outcert_format, + password, flags, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "key_export: %s", gnutls_strerror (result)); @@ -2478,13 +2267,14 @@ int result; size_t size; gnutls_datum_t data; - const char *pass; + const char *password; const char *name; - unsigned int flags, i; + unsigned int flags; gnutls_datum_t key_id; unsigned char _key_id[20]; - int indx; - size_t ncrts; + int index; + int ncrts; + int i; fprintf (stderr, "Generating a PKCS #12 structure...\n"); @@ -2498,9 +2288,9 @@ error (EXIT_FAILURE, 0, "pkcs12_init: %s", gnutls_strerror (result)); if (info.pass) - pass = info.pass; + password = info.pass; else - pass = get_pass (); + password = get_pass (); for (i = 0; i < ncrts; i++) { @@ -2515,9 +2305,9 @@ error (EXIT_FAILURE, 0, "set_crt[%d]: %s", i, gnutls_strerror (result)); - indx = result; + index = result; - result = gnutls_pkcs12_bag_set_friendly_name (bag, indx, name); + result = gnutls_pkcs12_bag_set_friendly_name (bag, index, name); if (result < 0) error (EXIT_FAILURE, 0, "bag_set_friendly_name: %s", gnutls_strerror (result)); @@ -2531,7 +2321,7 @@ key_id.data = _key_id; key_id.size = size; - result = gnutls_pkcs12_bag_set_key_id (bag, indx, &key_id); + result = gnutls_pkcs12_bag_set_key_id (bag, index, &key_id); if (result < 0) error (EXIT_FAILURE, 0, "bag_set_key_id: %s", gnutls_strerror (result)); @@ -2541,9 +2331,10 @@ else flags = GNUTLS_PKCS8_USE_PKCS12_3DES; - result = gnutls_pkcs12_bag_encrypt (bag, pass, flags); + result = gnutls_pkcs12_bag_encrypt (bag, password, flags); if (result < 0) - error (EXIT_FAILURE, 0, "bag_encrypt: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "bag_encrypt: %s", + gnutls_strerror (result)); result = gnutls_pkcs12_set_bag (pkcs12, bag); if (result < 0) @@ -2565,22 +2356,26 @@ size = sizeof (buffer); result = - gnutls_x509_privkey_export_pkcs8 (key, GNUTLS_X509_FMT_DER, - pass, flags, buffer, &size); + gnutls_x509_privkey_export_pkcs8 (key, GNUTLS_X509_FMT_DER, + password, flags, buffer, + &size); if (result < 0) - error (EXIT_FAILURE, 0, "key_export: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "key_export: %s", + gnutls_strerror (result)); data.data = buffer; data.size = size; result = - gnutls_pkcs12_bag_set_data (kbag, - GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, &data); + gnutls_pkcs12_bag_set_data (kbag, + GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, + &data); if (result < 0) - error (EXIT_FAILURE, 0, "bag_set_data: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "bag_set_data: %s", + gnutls_strerror (result)); - indx = result; + index = result; - result = gnutls_pkcs12_bag_set_friendly_name (kbag, indx, name); + result = gnutls_pkcs12_bag_set_friendly_name (kbag, index, name); if (result < 0) error (EXIT_FAILURE, 0, "bag_set_friendly_name: %s", gnutls_strerror (result)); @@ -2593,7 +2388,7 @@ key_id.data = _key_id; key_id.size = size; - result = gnutls_pkcs12_bag_set_key_id (kbag, indx, &key_id); + result = gnutls_pkcs12_bag_set_key_id (kbag, index, &key_id); if (result < 0) error (EXIT_FAILURE, 0, "bag_set_key_id: %s", gnutls_strerror (result)); @@ -2603,12 +2398,13 @@ error (EXIT_FAILURE, 0, "set_bag: %s", gnutls_strerror (result)); } - result = gnutls_pkcs12_generate_mac (pkcs12, pass); + result = gnutls_pkcs12_generate_mac (pkcs12, password); if (result < 0) error (EXIT_FAILURE, 0, "generate_mac: %s", gnutls_strerror (result)); size = sizeof (buffer); - result = gnutls_pkcs12_export (pkcs12, info.outcert_format, buffer, &size); + result = + gnutls_pkcs12_export (pkcs12, info.outcert_format, buffer, &size); if (result < 0) error (EXIT_FAILURE, 0, "pkcs12_export: %s", gnutls_strerror (result)); @@ -2616,7 +2412,7 @@ } -static const char * +const char * BAGTYPE (gnutls_pkcs12_bag_type_t x) { switch (x) @@ -2638,7 +2434,7 @@ } } -static void +void print_bag_data (gnutls_pkcs12_bag_t bag) { int result; @@ -2662,7 +2458,8 @@ fprintf (stderr, "\tType: %s\n", BAGTYPE (type)); name = NULL; - result = gnutls_pkcs12_bag_get_friendly_name (bag, i, (char **) &name); + result = + gnutls_pkcs12_bag_get_friendly_name (bag, i, (char **) &name); if (result < 0) error (EXIT_FAILURE, 0, "get_friendly_name: %s", gnutls_strerror (type)); @@ -2674,7 +2471,8 @@ result = gnutls_pkcs12_bag_get_key_id (bag, i, &id); if (result < 0) error (EXIT_FAILURE, 0, "get_key_id: %s", gnutls_strerror (type)); - fprintf (outfile, "\tKey ID: %s\n", raw_to_string (id.data, id.size)); + fprintf (outfile, "\tKey ID: %s\n", + raw_to_string (id.data, id.size)); result = gnutls_pkcs12_bag_get_data (bag, i, &cdata); if (result < 0) @@ -2719,8 +2517,8 @@ int result; size_t size; gnutls_datum_t data; - const char *pass; - int indx; + const char *password; + int index; result = gnutls_pkcs12_init (&pkcs12); if (result < 0) @@ -2735,23 +2533,23 @@ error (EXIT_FAILURE, 0, "p12_import: %s", gnutls_strerror (result)); if (info.pass) - pass = info.pass; + password = info.pass; else - pass = get_pass (); + password = get_pass (); - result = gnutls_pkcs12_verify_mac (pkcs12, pass); + result = gnutls_pkcs12_verify_mac (pkcs12, password); if (result < 0) - error (0, 0, "verify_mac: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "verify_mac: %s", gnutls_strerror (result)); - indx = 0; + index = 0; - for (indx = 0;; indx++) + for (index = 0;; index++) { result = gnutls_pkcs12_bag_init (&bag); if (result < 0) error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result)); - result = gnutls_pkcs12_get_bag (pkcs12, indx, bag); + result = gnutls_pkcs12_get_bag (pkcs12, index, bag); if (result < 0) break; @@ -2759,7 +2557,7 @@ if (result < 0) error (EXIT_FAILURE, 0, "bag_count: %s", gnutls_strerror (result)); - fprintf (outfile, "BAG #%d\n", indx); + fprintf (outfile, "BAG #%d\n", index); result = gnutls_pkcs12_bag_get_type (bag, 0); if (result < 0) @@ -2770,13 +2568,11 @@ fprintf (stderr, "\tType: %s\n", BAGTYPE (result)); fprintf (stderr, "\n\tDecrypting...\n"); - result = gnutls_pkcs12_bag_decrypt (bag, pass); + result = gnutls_pkcs12_bag_decrypt (bag, password); if (result < 0) - { - error (0, 0, "bag_decrypt: %s", gnutls_strerror (result)); - continue; - } + error (EXIT_FAILURE, 0, "bag_decrypt: %s", + gnutls_strerror (result)); result = gnutls_pkcs12_bag_get_count (bag); if (result < 0) @@ -2797,7 +2593,7 @@ int result; size_t size; gnutls_datum_t data, b64; - int indx, count; + int index, count; result = gnutls_pkcs7_init (&pkcs7); if (result < 0) @@ -2809,7 +2605,7 @@ result = gnutls_pkcs7_import (pkcs7, &data, info.incert_format); free (data.data); if (result < 0) - error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (result)); + error (EXIT_FAILURE, 0, "Import error: %s", gnutls_strerror (result)); /* Read and print the certificates. */ @@ -2822,12 +2618,12 @@ if (count > 0) fprintf (outfile, "Number of certificates: %u\n", count); - for (indx = 0; indx < count; indx++) + for (index = 0; index < count; index++) { fputs ("\n", outfile); size = sizeof (buffer); - result = gnutls_pkcs7_get_crt_raw (pkcs7, indx, buffer, &size); + result = gnutls_pkcs7_get_crt_raw (pkcs7, index, buffer, &size); if (result < 0) break; @@ -2853,12 +2649,12 @@ if (count > 0) fprintf (outfile, "\nNumber of CRLs: %u\n", count); - for (indx = 0; indx < count; indx++) + for (index = 0; index < count; index++) { fputs ("\n", outfile); size = sizeof (buffer); - result = gnutls_pkcs7_get_crl_raw (pkcs7, indx, buffer, &size); + result = gnutls_pkcs7_get_crl_raw (pkcs7, index, buffer, &size); if (result < 0) break; @@ -2887,7 +2683,8 @@ { len = getline (&lineptr, &linesize, infile); if (len == -1) - error (EXIT_FAILURE, 0, "cannot find RFC 2822 header/body separator"); + error (EXIT_FAILURE, 0, + "Cannot find RFC 2822 header/body separator"); } while (strcmp (lineptr, "\r\n") != 0 && strcmp (lineptr, "\n") != 0); @@ -2895,7 +2692,7 @@ { len = getline (&lineptr, &linesize, infile); if (len == -1) - error (EXIT_FAILURE, 0, "message has RFC 2822 header but no body"); + error (EXIT_FAILURE, 0, "Message has RFC 2822 header but no body"); } while (strcmp (lineptr, "\r\n") == 0 && strcmp (lineptr, "\n") == 0); @@ -2920,9 +2717,7 @@ void certtool_version (void) { - const char *p = PACKAGE_NAME; - if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0) - p = PACKAGE_STRING; - version_etc (stdout, program_name, p, gnutls_check_version (NULL), - "Nikos Mavrogiannopoulos", "Simon Josefsson", (char *) NULL); + version_etc (stdout, program_name, PACKAGE_STRING, + gnutls_check_version (NULL), "Nikos Mavrogiannopoulos", + "Simon Josefsson", (char *) NULL); } diff -Nru gnutls26-2.8.6/src/certtool-cfg.c gnutls26-2.4.1/src/certtool-cfg.c --- gnutls26-2.8.6/src/certtool-cfg.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool-cfg.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation * * This file is part of GNUTLS. * @@ -29,15 +29,9 @@ #include #include -/* for inet_pton */ -#include -#include -#include - /* Gnulib portability files. */ #include #include "readline.h" -#include "certtool-common.h" extern int batch; @@ -52,9 +46,9 @@ char *challenge_password; char *pkcs9_email; char *country; - char **dns_name; - char **ip_addr; - char **email; + char *dns_name; + char *ip_addr; + char *email; char **dn_oid; char *crl_dist_points; char *password; @@ -72,10 +66,7 @@ int code_sign_key; int ocsp_sign_key; int time_stamping_key; - char** key_purpose_oids; int crl_next_update; - int crl_number; - int crq_extensions; char *proxy_policy_language; } cfg_ctx; @@ -114,16 +105,12 @@ {NULL, '\0', "password", CFG_STR, (void *) &cfg.password, 0}, {NULL, '\0', "pkcs9_email", CFG_STR, (void *) &cfg.pkcs9_email, 0}, {NULL, '\0', "country", CFG_STR, (void *) &cfg.country, 0}, - {NULL, '\0', "dns_name", CFG_STR | CFG_MULTI_ARRAY, - (void *) &cfg.dns_name, 0}, - {NULL, '\0', "ip_address", CFG_STR | CFG_MULTI_ARRAY, - (void *) &cfg.ip_addr, 0}, - {NULL, '\0', "email", CFG_STR | CFG_MULTI_ARRAY, (void *) &cfg.email, 0}, + {NULL, '\0', "dns_name", CFG_STR, (void *) &cfg.dns_name, 0}, + {NULL, '\0', "ip_address", CFG_STR, (void *) &cfg.ip_addr, 0}, + {NULL, '\0', "email", CFG_STR, (void *) &cfg.email, 0}, {NULL, '\0', "dn_oid", CFG_STR + CFG_MULTI_SEPARATED, (void *) &cfg.dn_oid, 0}, - {NULL, '\0', "key_purpose_oids", CFG_STR + CFG_MULTI_SEPARATED, - (void *) &cfg.key_purpose_oids, 0}, {NULL, '\0', "crl_dist_points", CFG_STR, (void *) &cfg.crl_dist_points, 0}, @@ -137,12 +124,7 @@ {NULL, '\0', "crl_next_update", CFG_INT, (void *) &cfg.crl_next_update, 0}, - {NULL, '\0', "crl_number", CFG_INT, - (void *) &cfg.crl_number, 0}, - {NULL, '\0', "ca", CFG_BOOL, (void *) &cfg.ca, 0}, - {NULL, '\0', "honor_crq_extensions", CFG_BOOL, - (void *) &cfg.crq_extensions, 0}, {NULL, '\0', "path_len", CFG_INT, (void *) &cfg.path_len, 0}, {NULL, '\0', "tls_www_client", CFG_BOOL, (void *) &cfg.tls_www_client, 0}, @@ -235,14 +217,14 @@ /* The input_str should contain %d or %u to print the default. */ -static int +int read_int_with_default (const char *input_str, int def) { char *in; char *endptr; long l; - printf (input_str, def); + printf(input_str, def); in = readline (""); l = strtol (in, &endptr, 0); @@ -340,7 +322,8 @@ if (pass) printf ("Password missmatch, try again.\n"); - free (copy); + if (copy) + free (copy); pass = getpass ("Enter password: "); copy = strdup (pass); @@ -586,28 +569,6 @@ } } } -} - -void -get_key_purpose_set (gnutls_x509_crt_t crt) -{ - int ret, i; - - if (batch) - { - if (!cfg.key_purpose_oids) - return; - for (i = 0; cfg.key_purpose_oids[i] != NULL; i ++) - { - ret = gnutls_x509_crt_set_key_purpose_oid (crt, cfg.key_purpose_oids[i], 0); - - if (ret < 0) - { - fprintf (stderr, "set_key_purpose_oid (%s): %s\n", cfg.key_purpose_oids[i], gnutls_strerror (ret)); - exit (1); - } - } - } } @@ -651,8 +612,7 @@ else { return read_int_with_default - ("Enter the certificate's serial number in decimal (default: %u): ", - default_serial); + ("Enter the certificate's serial number in decimal (default: %u): ", default_serial); } } @@ -694,34 +654,6 @@ } int -get_crq_extensions_status (void) -{ - if (batch) - { - return cfg.crq_extensions; - } - else - { - return - read_yesno - ("Do you want to honour the extensions from the request? (y/N): "); - } -} - -int -get_crl_number (void) -{ - if (batch) - { - return cfg.crl_number; - } - else - { - return read_int_with_default ("CRL Number: ", 1); - } -} - -int get_path_len (void) { if (batch) @@ -784,230 +716,48 @@ } } -#include -#include -#include - -/* convert a printable IP to binary */ -static int -string_to_ip (unsigned char *ip, const char *str) -{ - int len = strlen (str); - int ret; - -#if HAVE_IPV6 - if (strchr (str, ':') != NULL || len > 16) - { /* IPv6 */ - ret = inet_pton (AF_INET6, str, ip); - if (ret <= 0) - { - fprintf (stderr, "Error in IPv6 address %s\n", str); - exit (1); - } - - /* To be done */ - return 16; - } - else -#endif - { /* IPv4 */ - ret = inet_pton (AF_INET, str, ip); - if (ret <= 0) - { - fprintf (stderr, "Error in IPv4 address %s\n", str); - exit (1); - } - - return 4; - } - -} - -void -get_ip_addr_set (int type, void *crt) +const char * +get_dns_name (void) { - int ret = 0, i; - unsigned char ip[16]; - int len; - if (batch) { - if (!cfg.ip_addr) - return; - - for (i = 0; cfg.ip_addr[i] != NULL; i++) - { - len = string_to_ip (ip, cfg.ip_addr[i]); - if (len <= 0) - { - fprintf (stderr, "Error parsing address: %s\n", cfg.ip_addr[i]); - exit (1); - } - - if (type == TYPE_CRT) - ret = - gnutls_x509_crt_set_subject_alt_name (crt, GNUTLS_SAN_IPADDRESS, - ip, len, - GNUTLS_FSAN_APPEND); - else - ret = - gnutls_x509_crq_set_subject_alt_name (crt, GNUTLS_SAN_IPADDRESS, - ip, len, - GNUTLS_FSAN_APPEND); - - if (ret < 0) - break; - } + return cfg.dns_name; } else { - const char *p; - - p = - read_str ("Enter the IP address of the subject of the certificate: "); - if (!p) - return; - - len = string_to_ip (ip, p); - if (len <= 0) - { - fprintf (stderr, "Error parsing address: %s\n", p); - exit (1); - } - - if (type == TYPE_CRT) - ret = gnutls_x509_crt_set_subject_alt_name (crt, GNUTLS_SAN_IPADDRESS, - ip, len, - GNUTLS_FSAN_APPEND); - else - ret = gnutls_x509_crq_set_subject_alt_name (crt, GNUTLS_SAN_IPADDRESS, - ip, len, - GNUTLS_FSAN_APPEND); - } - - if (ret < 0) - { - fprintf (stderr, "set_subject_alt_name: %s\n", gnutls_strerror (ret)); - exit (1); + return + read_str ("Enter the dnsName of the subject of the certificate: "); } } - -void -get_email_set (int type, void *crt) +const char * +get_ip_addr (void) { - int ret = 0, i; - if (batch) { - if (!cfg.email) - return; - - for (i = 0; cfg.email[i] != NULL; i++) - { - if (type == TYPE_CRT) - ret = - gnutls_x509_crt_set_subject_alt_name (crt, - GNUTLS_SAN_RFC822NAME, - cfg.email[i], - strlen (cfg.email[i]), - GNUTLS_FSAN_APPEND); - else - ret = - gnutls_x509_crq_set_subject_alt_name (crt, - GNUTLS_SAN_RFC822NAME, - cfg.email[i], - strlen (cfg.email[i]), - GNUTLS_FSAN_APPEND); - - if (ret < 0) - break; - } + return cfg.ip_addr; } else { - const char *p; - - p = read_str ("Enter the e-mail of the subject of the certificate: "); - if (!p) - return; - - if (type == TYPE_CRT) - ret = - gnutls_x509_crt_set_subject_alt_name (crt, GNUTLS_SAN_RFC822NAME, p, - strlen (p), - GNUTLS_FSAN_APPEND); - else - ret = - gnutls_x509_crq_set_subject_alt_name (crt, GNUTLS_SAN_RFC822NAME, p, - strlen (p), - GNUTLS_FSAN_APPEND); - } - - if (ret < 0) - { - fprintf (stderr, "set_subject_alt_name: %s\n", gnutls_strerror (ret)); - exit (1); + return + read_str ("Enter the IP address of the subject of the certificate: "); } } -void -get_dns_name_set (int type, void *crt) +const char * +get_email (void) { - int ret = 0, i; - if (batch) { - if (!cfg.dns_name) - return; - - for (i = 0; cfg.dns_name[i] != NULL; i++) - { - if (type == TYPE_CRT) - ret = - gnutls_x509_crt_set_subject_alt_name (crt, GNUTLS_SAN_DNSNAME, - cfg.dns_name[i], - strlen (cfg.dns_name[i]), - GNUTLS_FSAN_APPEND); - else - ret = - gnutls_x509_crq_set_subject_alt_name (crt, GNUTLS_SAN_DNSNAME, - cfg.dns_name[i], - strlen (cfg.dns_name[i]), - GNUTLS_FSAN_APPEND); - - if (ret < 0) - break; - } + return cfg.email; } else { - const char *p; - - do - { - p = read_str ("Enter a dnsName of the subject of the certificate: "); - if (!p) - return; - - if (type == TYPE_CRT) - ret = gnutls_x509_crt_set_subject_alt_name - (crt, GNUTLS_SAN_DNSNAME, p, strlen (p), GNUTLS_FSAN_APPEND); - else - ret = gnutls_x509_crq_set_subject_alt_name - (crt, GNUTLS_SAN_DNSNAME, p, strlen (p), GNUTLS_FSAN_APPEND); - } - while (p); - } - - if (ret < 0) - { - fprintf (stderr, "set_subject_alt_name: %s\n", gnutls_strerror (ret)); - exit (1); + return + read_str ("Enter the e-mail of the subject of the certificate: "); } } - int get_sign_status (int server) { @@ -1147,7 +897,7 @@ } const char * -get_proxy_policy (char **policy, size_t * policylen) +get_proxy_policy (char **policy, size_t *policylen) { const char *ret; diff -Nru gnutls26-2.8.6/src/certtool-cfg.h gnutls26-2.4.1/src/certtool-cfg.h --- gnutls26-2.8.6/src/certtool-cfg.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool-cfg.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,6 +1,15 @@ #include #include +extern char *organization, *unit, *locality, *state; +extern char *cn, *challenge_password, *password, *pkcs9_email, *country; +extern char *dns_name, *email, *crl_dist_points, *pkcs12_key_name; +extern int serial, expiration_days, ca, tls_www_client, tls_www_server, + signing_key; +extern int encryption_key, cert_sign_key, crl_sign_key, code_sign_key, + ocsp_sign_key; +extern int time_stamping_key, crl_next_update; + void cfg_init (void); int template_parse (const char *template); @@ -25,13 +34,10 @@ void get_uid_crt_set (gnutls_x509_crt_t crt); void get_pkcs9_email_crt_set (gnutls_x509_crt_t crt); void get_oid_crt_set (gnutls_x509_crt_t crt); -void get_key_purpose_set (gnutls_x509_crt_t crt); int get_serial (void); int get_days (void); int get_ca_status (void); -int get_crl_number (void); int get_path_len (void); -int get_crq_extensions_status(void); const char *get_pkcs12_key_name (void); int get_tls_client_status (void); int get_tls_server_status (void); @@ -43,9 +49,9 @@ int get_cert_sign_status (void); int get_encrypt_status (int server); int get_sign_status (int server); -void get_ip_addr_set (int type, void* crt); -void get_dns_name_set (int type, void* crt); -void get_email_set (int type, void* crt); +const char *get_email (void); +const char *get_dns_name (void); +const char *get_ip_addr (void); void get_cn_crq_set (gnutls_x509_crq_t crq); diff -Nru gnutls26-2.8.6/src/certtool-common.h gnutls26-2.4.1/src/certtool-common.h --- gnutls26-2.8.6/src/certtool-common.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool-common.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -enum { - ACTION_SELF_SIGNED, - ACTION_GENERATE_PRIVKEY, - ACTION_CERT_INFO, - ACTION_GENERATE_REQUEST, - ACTION_GENERATE_CERTIFICATE, - ACTION_VERIFY_CHAIN, - ACTION_PRIVKEY_INFO, - ACTION_UPDATE_CERTIFICATE, - ACTION_TO_PKCS12, - ACTION_PKCS12_INFO, - ACTION_GENERATE_DH, - ACTION_GET_DH, - ACTION_CRL_INFO, - ACTION_P7_INFO, - ACTION_GENERATE_CRL, - ACTION_VERIFY_CRL, - ACTION_SMIME_TO_P7, - ACTION_GENERATE_PROXY, - ACTION_GENERATE_PKCS8, - ACTION_PGP_INFO, - ACTION_PGP_PRIVKEY_INFO, - ACTION_RING_INFO, - ACTION_REQUEST -}; - -#define TYPE_CRT 1 -#define TYPE_CRQ 2 - -void certtool_version(void); diff -Nru gnutls26-2.8.6/src/certtool.gaa gnutls26-2.4.1/src/certtool.gaa --- gnutls26-2.8.6/src/certtool.gaa 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool.gaa 2008-06-19 11:00:10.000000000 +0100 @@ -7,7 +7,7 @@ # include #endif -#include "certtool-common.h" +void certtool_version(void); #} @@ -15,26 +15,26 @@ #int privkey_op; #int action; -option (s, generate-self-signed) { $action=ACTION_SELF_SIGNED; } "Generate a self-signed certificate." +option (s, generate-self-signed) { $action=0; } "Generate a self-signed certificate." -option (c, generate-certificate) { $action=ACTION_GENERATE_CERTIFICATE; } "Generate a signed certificate." +option (c, generate-certificate) { $action=4; } "Generate a signed certificate." -option (generate-proxy) { $action=ACTION_GENERATE_PROXY; } "Generate a proxy certificate." +option (generate-proxy) { $action=17; } "Generate a proxy certificate." -option (generate-crl) { $action=ACTION_GENERATE_CRL; } "Generate a CRL." +option (generate-crl) { $action=13; } "Generate a CRL." -option (u, update-certificate) { $action=ACTION_UPDATE_CERTIFICATE; } "Update a signed certificate." +option (u, update-certificate) { $action=7; } "Update a signed certificate." -option (p, generate-privkey) { $privkey_op=1; $action=ACTION_GENERATE_PRIVKEY; } "Generate a private key." +option (p, generate-privkey) { $privkey_op=1; $action=1; } "Generate a private key." -option (q, generate-request) { $action=ACTION_GENERATE_REQUEST; } "Generate a PKCS #10 certificate request." +option (q, generate-request) { $action=3; } "Generate a PKCS #10 certificate request." -option (e, verify-chain) { $action=ACTION_VERIFY_CHAIN; } "Verify a PEM encoded certificate chain. The last certificate in the chain must be a self signed one." +option (e, verify-chain) { $action=5; } "Verify a PEM encoded certificate chain. The last certificate in the chain must be a self signed one." -option (verify-crl) { $action=ACTION_VERIFY_CRL; } "Verify a CRL." +option (verify-crl) { $action=14; } "Verify a CRL." -option (generate-dh-params) { $action=ACTION_GENERATE_DH; } "Generate PKCS #3 encoded Diffie-Hellman parameters." -option (get-dh-params) { $action=ACTION_GET_DH; } "Get the included PKCS #3 encoded Diffie-Hellman parameters." +option (generate-dh-params) { $action=10; } "Generate PKCS #3 encoded Diffie Hellman parameters." +option (get-dh-params) { $action=16; } "Get the included PKCS #3 encoded Diffie Hellman parameters." #char *privkey; option (load-privkey) STR "FILE" { $privkey = $1 } "Private key file to use." @@ -54,27 +54,25 @@ #char *pass; option (password) STR "PASSWORD" { $pass = $1 } "Password to use." -option (i, certificate-info) { $action = ACTION_CERT_INFO; } "Print information on a certificate." +option (i, certificate-info) { $action = 2; } "Print information on a certificate." -option (pgp-certificate-info) { $action = ACTION_PGP_INFO; } "Print information on a OpenPGP certificate." +option (pgp-certificate-info) { $action = 19; } "Print information on a OpenPGP certificate." -option (pgp-ring-info) { $action = ACTION_RING_INFO; } "Print information on a keyring structure." +option (pgp-ring-info) { $action = 21; } "Print information on a keyring structure." -option (l, crl-info) { $action = ACTION_CRL_INFO; } "Print information on a CRL." +option (l, crl-info) { $action = 11; } "Print information on a CRL." -option (crq-info) { $action = ACTION_REQUEST; } "Print information on a Certificate Request." +option (p12-info) { $action = 9; } "Print information on a PKCS #12 structure." -option (p12-info) { $action = ACTION_PKCS12_INFO; } "Print information on a PKCS #12 structure." +option (p7-info) { $action = 12; } "Print information on a PKCS #7 structure." -option (p7-info) { $action = ACTION_P7_INFO; } "Print information on a PKCS #7 structure." - -option (smime-to-p7) { $action = ACTION_SMIME_TO_P7; } "Convert S/MIME to PKCS #7 structure." +option (smime-to-p7) { $action = 15; } "Convert S/MIME to PKCS #7 structure." /* on private key operations set $privkey_op to != 0 */ -option (k, key-info) { $privkey_op=1; $action = ACTION_PRIVKEY_INFO; } "Print information on a private key." +option (k, key-info) { $privkey_op=1; $action = 6; } "Print information on a private key." -option (pgp-key-info) { $privkey_op=1; $action = ACTION_PGP_PRIVKEY_INFO; } "Print information on a OpenPGP private key." +option (pgp-key-info) { $privkey_op=1; $action = 20; } "Print information on a OpenPGP private key." #int fix_key; option (fix-key) { $privkey_op=1; $fix_key = 1; } "Regenerate the parameters in a private key." @@ -82,9 +80,9 @@ #int v1_cert; option (v1) { $v1_cert = 1; } "Generate an X.509 version 1 certificate (no extensions)." -option (to-p12) { $action = ACTION_TO_PKCS12; } "Generate a PKCS #12 structure." +option (to-p12) { $action = 8; } "Generate a PKCS #12 structure." -option (to-p8) { $action = ACTION_GENERATE_PKCS8; } "Generate a PKCS #8 key structure." +option (to-p8) { $action = 18; } "Generate a PKCS #8 key structure." #int pkcs8; option (8, pkcs8) { $pkcs8=1 } "Use PKCS #8 format for private keys." diff -Nru gnutls26-2.8.6/src/certtool-gaa.c gnutls26-2.4.1/src/certtool-gaa.c --- gnutls26-2.8.6/src/certtool-gaa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool-gaa.c 2008-06-19 11:00:10.000000000 +0100 @@ -11,7 +11,7 @@ # include #endif -#include "certtool-common.h" +void certtool_version(void); #include #include @@ -138,8 +138,8 @@ __gaa_helpsingle('q', "generate-request", "", "Generate a PKCS #10 certificate request."); __gaa_helpsingle('e', "verify-chain", "", "Verify a PEM encoded certificate chain. The last certificate in the chain must be a self signed one."); __gaa_helpsingle(0, "verify-crl", "", "Verify a CRL."); - __gaa_helpsingle(0, "generate-dh-params", "", "Generate PKCS #3 encoded Diffie-Hellman parameters."); - __gaa_helpsingle(0, "get-dh-params", "", "Get the included PKCS #3 encoded Diffie-Hellman parameters."); + __gaa_helpsingle(0, "generate-dh-params", "", "Generate PKCS #3 encoded Diffie Hellman parameters."); + __gaa_helpsingle(0, "get-dh-params", "", "Get the included PKCS #3 encoded Diffie Hellman parameters."); __gaa_helpsingle(0, "load-privkey", "FILE ", "Private key file to use."); __gaa_helpsingle(0, "load-request", "FILE ", "Certificate request file to use."); __gaa_helpsingle(0, "load-certificate", "FILE ", "Certificate file to use."); @@ -150,7 +150,6 @@ __gaa_helpsingle(0, "pgp-certificate-info", "", "Print information on a OpenPGP certificate."); __gaa_helpsingle(0, "pgp-ring-info", "", "Print information on a keyring structure."); __gaa_helpsingle('l', "crl-info", "", "Print information on a CRL."); - __gaa_helpsingle(0, "crq-info", "", "Print information on a Certificate Request."); __gaa_helpsingle(0, "p12-info", "", "Print information on a PKCS #12 structure."); __gaa_helpsingle(0, "p7-info", "", "Print information on a PKCS #7 structure."); __gaa_helpsingle(0, "smime-to-p7", "", "Convert S/MIME to PKCS #7 structure."); @@ -190,33 +189,33 @@ struct _gaainfo { -#line 125 "certtool.gaa" +#line 123 "certtool.gaa" int debug; -#line 121 "certtool.gaa" +#line 119 "certtool.gaa" char *template; -#line 118 "certtool.gaa" +#line 116 "certtool.gaa" char *infile; -#line 115 "certtool.gaa" +#line 113 "certtool.gaa" char *outfile; -#line 112 "certtool.gaa" +#line 110 "certtool.gaa" int quick_random; -#line 109 "certtool.gaa" +#line 107 "certtool.gaa" int bits; -#line 105 "certtool.gaa" +#line 103 "certtool.gaa" int outcert_format; -#line 101 "certtool.gaa" +#line 99 "certtool.gaa" int incert_format; -#line 98 "certtool.gaa" +#line 96 "certtool.gaa" int export; -#line 95 "certtool.gaa" +#line 93 "certtool.gaa" char *hash; -#line 92 "certtool.gaa" +#line 90 "certtool.gaa" int dsa; -#line 89 "certtool.gaa" +#line 87 "certtool.gaa" int pkcs8; -#line 82 "certtool.gaa" +#line 80 "certtool.gaa" int v1_cert; -#line 79 "certtool.gaa" +#line 77 "certtool.gaa" int fix_key; #line 54 "certtool.gaa" char *pass; @@ -288,7 +287,7 @@ #define GAA_MULTIPLE_OPTION 3 #define GAA_REST 0 -#define GAA_NB_OPTION 47 +#define GAA_NB_OPTION 46 #define GAAOPTID_version 1 #define GAAOPTID_help 2 #define GAAOPTID_debug 3 @@ -314,28 +313,27 @@ #define GAAOPTID_smime_to_p7 23 #define GAAOPTID_p7_info 24 #define GAAOPTID_p12_info 25 -#define GAAOPTID_crq_info 26 -#define GAAOPTID_crl_info 27 -#define GAAOPTID_pgp_ring_info 28 -#define GAAOPTID_pgp_certificate_info 29 -#define GAAOPTID_certificate_info 30 -#define GAAOPTID_password 31 -#define GAAOPTID_load_ca_certificate 32 -#define GAAOPTID_load_ca_privkey 33 -#define GAAOPTID_load_certificate 34 -#define GAAOPTID_load_request 35 -#define GAAOPTID_load_privkey 36 -#define GAAOPTID_get_dh_params 37 -#define GAAOPTID_generate_dh_params 38 -#define GAAOPTID_verify_crl 39 -#define GAAOPTID_verify_chain 40 -#define GAAOPTID_generate_request 41 -#define GAAOPTID_generate_privkey 42 -#define GAAOPTID_update_certificate 43 -#define GAAOPTID_generate_crl 44 -#define GAAOPTID_generate_proxy 45 -#define GAAOPTID_generate_certificate 46 -#define GAAOPTID_generate_self_signed 47 +#define GAAOPTID_crl_info 26 +#define GAAOPTID_pgp_ring_info 27 +#define GAAOPTID_pgp_certificate_info 28 +#define GAAOPTID_certificate_info 29 +#define GAAOPTID_password 30 +#define GAAOPTID_load_ca_certificate 31 +#define GAAOPTID_load_ca_privkey 32 +#define GAAOPTID_load_certificate 33 +#define GAAOPTID_load_request 34 +#define GAAOPTID_load_privkey 35 +#define GAAOPTID_get_dh_params 36 +#define GAAOPTID_generate_dh_params 37 +#define GAAOPTID_verify_crl 38 +#define GAAOPTID_verify_chain 39 +#define GAAOPTID_generate_request 40 +#define GAAOPTID_generate_privkey 41 +#define GAAOPTID_update_certificate 42 +#define GAAOPTID_generate_crl 43 +#define GAAOPTID_generate_proxy 44 +#define GAAOPTID_generate_certificate 45 +#define GAAOPTID_generate_self_signed 46 #line 168 "gaa.skel" @@ -495,12 +493,31 @@ return tmp; } +static char gaa_getchar(char *arg) +{ + if(strlen(arg) != 1) + { + printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); + GAAERROR(-1); + } + return arg[0]; +} static char* gaa_getstr(char *arg) { return arg; } - +static float gaa_getfloat(char *arg) +{ + float tmp; + char a; + if(sscanf(arg, "%f%c", &tmp, &a) < 1) + { + printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); + GAAERROR(-1); + } + return tmp; +} /* option structures */ struct GAAOPTION_debug @@ -637,7 +654,6 @@ GAA_CHECK1STR("", GAAOPTID_smime_to_p7); GAA_CHECK1STR("", GAAOPTID_p7_info); GAA_CHECK1STR("", GAAOPTID_p12_info); - GAA_CHECK1STR("", GAAOPTID_crq_info); GAA_CHECK1STR("l", GAAOPTID_crl_info); GAA_CHECK1STR("", GAAOPTID_pgp_ring_info); GAA_CHECK1STR("", GAAOPTID_pgp_certificate_info); @@ -682,7 +698,6 @@ GAA_CHECKSTR("smime-to-p7", GAAOPTID_smime_to_p7); GAA_CHECKSTR("p7-info", GAAOPTID_p7_info); GAA_CHECKSTR("p12-info", GAAOPTID_p12_info); - GAA_CHECKSTR("crq-info", GAAOPTID_crq_info); GAA_CHECKSTR("crl-info", GAAOPTID_crl_info); GAA_CHECKSTR("pgp-ring-info", GAAOPTID_pgp_ring_info); GAA_CHECKSTR("pgp-certificate-info", GAAOPTID_pgp_certificate_info); @@ -750,14 +765,14 @@ { case GAAOPTID_version: OK = 0; -#line 130 "certtool.gaa" +#line 128 "certtool.gaa" { certtool_version(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_help: OK = 0; -#line 128 "certtool.gaa" +#line 126 "certtool.gaa" { gaa_help(); exit(0); ;}; return GAA_OK; @@ -767,7 +782,7 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1); gaa_index++; -#line 126 "certtool.gaa" +#line 124 "certtool.gaa" { gaaval->debug = GAATMP_debug.arg1 ;}; return GAA_OK; @@ -777,7 +792,7 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_template.arg1, gaa_getstr, GAATMP_template.size1); gaa_index++; -#line 122 "certtool.gaa" +#line 120 "certtool.gaa" { gaaval->template = GAATMP_template.arg1 ;}; return GAA_OK; @@ -787,7 +802,7 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_infile.arg1, gaa_getstr, GAATMP_infile.size1); gaa_index++; -#line 119 "certtool.gaa" +#line 117 "certtool.gaa" { gaaval->infile = GAATMP_infile.arg1 ;}; return GAA_OK; @@ -797,14 +812,14 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_outfile.arg1, gaa_getstr, GAATMP_outfile.size1); gaa_index++; -#line 116 "certtool.gaa" +#line 114 "certtool.gaa" { gaaval->outfile = GAATMP_outfile.arg1 ;}; return GAA_OK; break; case GAAOPTID_disable_quick_random: OK = 0; -#line 113 "certtool.gaa" +#line 111 "certtool.gaa" { gaaval->quick_random = 0; ;}; return GAA_OK; @@ -814,42 +829,42 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_bits.arg1, gaa_getint, GAATMP_bits.size1); gaa_index++; -#line 110 "certtool.gaa" +#line 108 "certtool.gaa" { gaaval->bits = GAATMP_bits.arg1 ;}; return GAA_OK; break; case GAAOPTID_outraw: OK = 0; -#line 107 "certtool.gaa" +#line 105 "certtool.gaa" { gaaval->outcert_format=1 ;}; return GAA_OK; break; case GAAOPTID_outder: OK = 0; -#line 106 "certtool.gaa" +#line 104 "certtool.gaa" { gaaval->outcert_format=1 ;}; return GAA_OK; break; case GAAOPTID_inraw: OK = 0; -#line 103 "certtool.gaa" +#line 101 "certtool.gaa" { gaaval->incert_format=1 ;}; return GAA_OK; break; case GAAOPTID_inder: OK = 0; -#line 102 "certtool.gaa" +#line 100 "certtool.gaa" { gaaval->incert_format=1 ;}; return GAA_OK; break; case GAAOPTID_export_ciphers: OK = 0; -#line 99 "certtool.gaa" +#line 97 "certtool.gaa" { gaaval->export=1 ;}; return GAA_OK; @@ -859,120 +874,113 @@ GAA_TESTMOREARGS; GAA_FILL(GAATMP_hash.arg1, gaa_getstr, GAATMP_hash.size1); gaa_index++; -#line 96 "certtool.gaa" +#line 94 "certtool.gaa" { gaaval->hash = GAATMP_hash.arg1 ;}; return GAA_OK; break; case GAAOPTID_dsa: OK = 0; -#line 93 "certtool.gaa" +#line 91 "certtool.gaa" { gaaval->dsa=1 ;}; return GAA_OK; break; case GAAOPTID_pkcs8: OK = 0; -#line 90 "certtool.gaa" +#line 88 "certtool.gaa" { gaaval->pkcs8=1 ;}; return GAA_OK; break; case GAAOPTID_to_p8: OK = 0; -#line 87 "certtool.gaa" -{ gaaval->action = ACTION_GENERATE_PKCS8; ;}; +#line 85 "certtool.gaa" +{ gaaval->action = 18; ;}; return GAA_OK; break; case GAAOPTID_to_p12: OK = 0; -#line 85 "certtool.gaa" -{ gaaval->action = ACTION_TO_PKCS12; ;}; +#line 83 "certtool.gaa" +{ gaaval->action = 8; ;}; return GAA_OK; break; case GAAOPTID_v1: OK = 0; -#line 83 "certtool.gaa" +#line 81 "certtool.gaa" { gaaval->v1_cert = 1; ;}; return GAA_OK; break; case GAAOPTID_fix_key: OK = 0; -#line 80 "certtool.gaa" +#line 78 "certtool.gaa" { gaaval->privkey_op=1; gaaval->fix_key = 1; ;}; return GAA_OK; break; case GAAOPTID_pgp_key_info: OK = 0; -#line 77 "certtool.gaa" -{ gaaval->privkey_op=1; gaaval->action = ACTION_PGP_PRIVKEY_INFO; ;}; +#line 75 "certtool.gaa" +{ gaaval->privkey_op=1; gaaval->action = 20; ;}; return GAA_OK; break; case GAAOPTID_key_info: OK = 0; -#line 75 "certtool.gaa" -{ gaaval->privkey_op=1; gaaval->action = ACTION_PRIVKEY_INFO; ;}; +#line 73 "certtool.gaa" +{ gaaval->privkey_op=1; gaaval->action = 6; ;}; return GAA_OK; break; case GAAOPTID_smime_to_p7: OK = 0; -#line 71 "certtool.gaa" -{ gaaval->action = ACTION_SMIME_TO_P7; ;}; - - return GAA_OK; - break; - case GAAOPTID_p7_info: - OK = 0; #line 69 "certtool.gaa" -{ gaaval->action = ACTION_P7_INFO; ;}; +{ gaaval->action = 15; ;}; return GAA_OK; break; - case GAAOPTID_p12_info: + case GAAOPTID_p7_info: OK = 0; #line 67 "certtool.gaa" -{ gaaval->action = ACTION_PKCS12_INFO; ;}; +{ gaaval->action = 12; ;}; return GAA_OK; break; - case GAAOPTID_crq_info: + case GAAOPTID_p12_info: OK = 0; #line 65 "certtool.gaa" -{ gaaval->action = ACTION_REQUEST; ;}; +{ gaaval->action = 9; ;}; return GAA_OK; break; case GAAOPTID_crl_info: OK = 0; #line 63 "certtool.gaa" -{ gaaval->action = ACTION_CRL_INFO; ;}; +{ gaaval->action = 11; ;}; return GAA_OK; break; case GAAOPTID_pgp_ring_info: OK = 0; #line 61 "certtool.gaa" -{ gaaval->action = ACTION_RING_INFO; ;}; +{ gaaval->action = 21; ;}; return GAA_OK; break; case GAAOPTID_pgp_certificate_info: OK = 0; #line 59 "certtool.gaa" -{ gaaval->action = ACTION_PGP_INFO; ;}; +{ gaaval->action = 19; ;}; return GAA_OK; break; case GAAOPTID_certificate_info: OK = 0; #line 57 "certtool.gaa" -{ gaaval->action = ACTION_CERT_INFO; ;}; +{ gaaval->action = 2; ;}; return GAA_OK; break; @@ -1039,77 +1047,77 @@ case GAAOPTID_get_dh_params: OK = 0; #line 37 "certtool.gaa" -{ gaaval->action=ACTION_GET_DH; ;}; +{ gaaval->action=16; ;}; return GAA_OK; break; case GAAOPTID_generate_dh_params: OK = 0; #line 36 "certtool.gaa" -{ gaaval->action=ACTION_GENERATE_DH; ;}; +{ gaaval->action=10; ;}; return GAA_OK; break; case GAAOPTID_verify_crl: OK = 0; #line 34 "certtool.gaa" -{ gaaval->action=ACTION_VERIFY_CRL; ;}; +{ gaaval->action=14; ;}; return GAA_OK; break; case GAAOPTID_verify_chain: OK = 0; #line 32 "certtool.gaa" -{ gaaval->action=ACTION_VERIFY_CHAIN; ;}; +{ gaaval->action=5; ;}; return GAA_OK; break; case GAAOPTID_generate_request: OK = 0; #line 30 "certtool.gaa" -{ gaaval->action=ACTION_GENERATE_REQUEST; ;}; +{ gaaval->action=3; ;}; return GAA_OK; break; case GAAOPTID_generate_privkey: OK = 0; #line 28 "certtool.gaa" -{ gaaval->privkey_op=1; gaaval->action=ACTION_GENERATE_PRIVKEY; ;}; +{ gaaval->privkey_op=1; gaaval->action=1; ;}; return GAA_OK; break; case GAAOPTID_update_certificate: OK = 0; #line 26 "certtool.gaa" -{ gaaval->action=ACTION_UPDATE_CERTIFICATE; ;}; +{ gaaval->action=7; ;}; return GAA_OK; break; case GAAOPTID_generate_crl: OK = 0; #line 24 "certtool.gaa" -{ gaaval->action=ACTION_GENERATE_CRL; ;}; +{ gaaval->action=13; ;}; return GAA_OK; break; case GAAOPTID_generate_proxy: OK = 0; #line 22 "certtool.gaa" -{ gaaval->action=ACTION_GENERATE_PROXY; ;}; +{ gaaval->action=17; ;}; return GAA_OK; break; case GAAOPTID_generate_certificate: OK = 0; #line 20 "certtool.gaa" -{ gaaval->action=ACTION_GENERATE_CERTIFICATE; ;}; +{ gaaval->action=4; ;}; return GAA_OK; break; case GAAOPTID_generate_self_signed: OK = 0; #line 18 "certtool.gaa" -{ gaaval->action=ACTION_SELF_SIGNED; ;}; +{ gaaval->action=0; ;}; return GAA_OK; break; @@ -1123,24 +1131,21 @@ int gaa(int argc, char **argv, gaainfo *gaaval) { int tmp1, tmp2; - int l; - size_t i, j; + int i, j; char *opt_list; - i = 0; - GAAargv = argv; GAAargc = argc; opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1); - for(l = 0; l < GAA_NB_OPTION + 1; l++) - opt_list[l] = 0; + for(i = 0; i < GAA_NB_OPTION + 1; i++) + opt_list[i] = 0; /* initialization */ if(inited == 0) { -#line 132 "certtool.gaa" +#line 130 "certtool.gaa" { gaaval->bits = 2048; gaaval->pkcs8 = 0; gaaval->privkey = NULL; gaaval->ca=NULL; gaaval->ca_privkey = NULL; gaaval->debug=1; gaaval->request = NULL; gaaval->infile = NULL; gaaval->outfile = NULL; gaaval->cert = NULL; gaaval->incert_format = 0; gaaval->outcert_format = 0; gaaval->action=-1; gaaval->pass = NULL; gaaval->v1_cert = 0; @@ -1156,27 +1161,27 @@ gaa_arg_used = gaa_malloc(argc * sizeof(char)); } - for(l = 1; l < argc; l++) - gaa_arg_used[l] = 0; - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) + gaa_arg_used[i] = 0; + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { j = 0; - tmp1 = gaa_is_an_argument(GAAargv[l]); + tmp1 = gaa_is_an_argument(GAAargv[i]); switch(tmp1) { case GAA_WORD_OPTION: j++; case GAA_LETTER_OPTION: j++; - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%s'\n", argv[l]+j); + printf("Invalid option '%s'\n", argv[i]+j); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -1189,18 +1194,18 @@ default: printf("Unknown error\n"); } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; case GAA_MULTIPLE_OPTION: - for(j = 1; j < strlen(argv[l]); j++) + for(j = 1; j < strlen(argv[i]); j++) { - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%c'\n", *(argv[l]+j)); + printf("Invalid option '%c'\n", *(argv[i]+j)); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -1214,7 +1219,7 @@ printf("Unknown error\n"); } } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; default: break; } @@ -1240,9 +1245,9 @@ } #endif } - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { printf("Too many arguments\n"); return 0; @@ -1293,7 +1298,7 @@ len++; a = fgetc( file); - if(a==EOF) return 0; /* a = ' '; */ + if(a==EOF) return 0; //a = ' '; } len += 1; diff -Nru gnutls26-2.8.6/src/certtool-gaa.h gnutls26-2.4.1/src/certtool-gaa.h --- gnutls26-2.8.6/src/certtool-gaa.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/certtool-gaa.h 2008-06-19 11:00:10.000000000 +0100 @@ -8,33 +8,33 @@ struct _gaainfo { -#line 125 "certtool.gaa" +#line 123 "certtool.gaa" int debug; -#line 121 "certtool.gaa" +#line 119 "certtool.gaa" char *template; -#line 118 "certtool.gaa" +#line 116 "certtool.gaa" char *infile; -#line 115 "certtool.gaa" +#line 113 "certtool.gaa" char *outfile; -#line 112 "certtool.gaa" +#line 110 "certtool.gaa" int quick_random; -#line 109 "certtool.gaa" +#line 107 "certtool.gaa" int bits; -#line 105 "certtool.gaa" +#line 103 "certtool.gaa" int outcert_format; -#line 101 "certtool.gaa" +#line 99 "certtool.gaa" int incert_format; -#line 98 "certtool.gaa" +#line 96 "certtool.gaa" int export; -#line 95 "certtool.gaa" +#line 93 "certtool.gaa" char *hash; -#line 92 "certtool.gaa" +#line 90 "certtool.gaa" int dsa; -#line 89 "certtool.gaa" +#line 87 "certtool.gaa" int pkcs8; -#line 82 "certtool.gaa" +#line 80 "certtool.gaa" int v1_cert; -#line 79 "certtool.gaa" +#line 77 "certtool.gaa" int fix_key; #line 54 "certtool.gaa" char *pass; diff -Nru gnutls26-2.8.6/src/cfg/cfg+.c gnutls26-2.4.1/src/cfg/cfg+.c --- gnutls26-2.8.6/src/cfg/cfg+.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/src/cfg/cfg+.c 2008-06-19 11:00:10.000000000 +0100 @@ -72,7 +72,7 @@ for (i = 0; i < CFG_N_PROPS; i++) { con->prop[i] = PLATON_FUNC(strdyn_create_ar)(cfg_default_properties[i]); if (con->prop[i] == NULL) { - cfg_free_context(con); + /* TODO: possible freeing on failure */ return NULL; } } diff -Nru gnutls26-2.8.6/src/cfg/Makefile.in gnutls26-2.4.1/src/cfg/Makefile.in --- gnutls26-2.8.6/src/cfg/Makefile.in 2010-03-15 10:29:21.000000000 +0000 +++ gnutls26-2.4.1/src/cfg/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = src/cfg DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -111,43 +123,15 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -170,96 +154,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -271,31 +219,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -310,29 +243,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -340,18 +259,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -360,51 +272,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -413,123 +307,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -541,78 +420,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -644,11 +507,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -659,7 +525,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -676,14 +541,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/cfg/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/cfg/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -701,7 +566,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -716,7 +580,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -733,7 +597,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -741,7 +605,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -767,16 +631,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -784,14 +648,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -803,7 +667,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -812,34 +676,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -860,44 +719,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -927,7 +771,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -946,8 +789,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -956,28 +797,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -998,8 +829,8 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ @@ -1015,7 +846,6 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/src/cfg/platon/Makefile.in gnutls26-2.4.1/src/cfg/platon/Makefile.in --- gnutls26-2.8.6/src/cfg/platon/Makefile.in 2010-03-15 10:29:22.000000000 +0000 +++ gnutls26-2.4.1/src/cfg/platon/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = src/cfg/platon DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -111,43 +123,15 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -170,96 +154,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -271,31 +219,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -310,29 +243,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -340,18 +259,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -360,51 +272,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -413,123 +307,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -541,78 +420,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -644,11 +507,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -659,7 +525,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -673,14 +538,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/platon/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/cfg/platon/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/platon/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/cfg/platon/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -698,7 +563,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -713,7 +577,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -730,7 +594,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -738,7 +602,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -764,16 +628,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -781,14 +645,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -800,7 +664,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -809,34 +673,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -857,44 +716,29 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -924,7 +768,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -943,8 +786,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -953,28 +794,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -995,8 +826,8 @@ uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ @@ -1012,7 +843,6 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/src/cfg/platon/str/Makefile.in gnutls26-2.4.1/src/cfg/platon/str/Makefile.in --- gnutls26-2.8.6/src/cfg/platon/str/Makefile.in 2010-03-15 10:29:22.000000000 +0000 +++ gnutls26-2.4.1/src/cfg/platon/str/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -16,9 +15,8 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -36,70 +34,84 @@ subdir = src/cfg/platon/str DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -107,7 +119,7 @@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -130,96 +142,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -231,31 +207,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -270,29 +231,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -300,18 +247,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -320,51 +260,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -373,123 +295,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -501,78 +408,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -604,11 +495,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -619,7 +513,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -635,14 +528,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/platon/str/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/cfg/platon/str/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cfg/platon/str/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/cfg/platon/str/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -660,7 +553,6 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo @@ -690,17 +582,13 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done @@ -728,7 +616,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -747,8 +634,6 @@ html: html-am -html-am: - info: info-am info-am: @@ -757,28 +642,18 @@ install-dvi: install-dvi-am -install-dvi-am: - install-exec-am: install-html: install-html-am -install-html-am: - install-info: install-info-am -install-info-am: - install-man: install-pdf: install-pdf-am -install-pdf-am: - install-ps: install-ps-am -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-am @@ -812,7 +687,6 @@ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - # 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: diff -Nru gnutls26-2.8.6/src/cfg/platon/str/strdyn.c gnutls26-2.4.1/src/cfg/platon/str/strdyn.c --- gnutls26-2.8.6/src/cfg/platon/str/strdyn.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/src/cfg/platon/str/strdyn.c 2008-06-19 11:00:10.000000000 +0100 @@ -316,19 +316,15 @@ s_size = strstr(s, sep) - s; - if ((ar[i] = (char*) malloc((s_size + 1) * sizeof(char))) == NULL) { - PLATON_FUNC(strdyn_free)(ar); + if ((ar[i] = (char*) malloc((s_size + 1) * sizeof(char))) == NULL) return NULL; - } strncpy(ar[i], s, s_size); ar[i][s_size] = '\0'; } - if ((ar[ar_size] = strdup(s)) == NULL) { - PLATON_FUNC(strdyn_free)(ar); + if ((ar[ar_size] = strdup(s)) == NULL) return NULL; - } ar[ar_size + 1] = NULL; diff -Nru gnutls26-2.8.6/src/cfg/platon/str/strplus.c gnutls26-2.4.1/src/cfg/platon/str/strplus.c --- gnutls26-2.8.6/src/cfg/platon/str/strplus.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/cfg/platon/str/strplus.c 2008-06-19 11:00:10.000000000 +0100 @@ -380,7 +380,7 @@ int size; str2 = PLATON_FUNC(str_white_str)(argv[1], argv[2], &size); - /* str2 = str_white_str("telnet \t atlantis.sk 5678", "t a", &size); + /* str2 = str_white_str("telnet \t atlantis.sk 5678", "t a", &size); */ printf(" ptr = [%s], size = %d\n", str2, size); diff -Nru gnutls26-2.8.6/src/cli.c gnutls26-2.4.1/src/cli.c --- gnutls26-2.8.6/src/cli.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/cli.c 2008-06-19 11:35:13.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation * Copyright (C) 2000,2001,2002,2003 Nikos Mavrogiannopoulos * * This file is part of GNUTLS. @@ -8,12 +8,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS 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, see . */ @@ -28,10 +28,8 @@ #include #include #include -#include #include #include -#include #include #include @@ -39,22 +37,26 @@ #include #include -/* Gnulib portability files. */ -#include -#include -#include -#include -#include -#include "sockets.h" +#include "error.h" +#include "read-file.h" +#include "getpass.h" #include "common.h" #include "cli-gaa.h" +#if defined _WIN32 || defined __WIN32__ +int _win_select(int max_fd, fd_set * rfds, fd_set * wfds, fd_set * efds, + const struct timeval *tv); +#define select _win_select +#endif + +#define SA struct sockaddr +#define ERR(err,s) do { if (err==-1) {perror(s);return(1);} } while (0) #define MAX_BUF 4096 /* global stuff here */ int resume, starttls, insecure; -const char *hostname = NULL; +char *hostname = NULL; char *service; int record_max_size; int fingerprint; @@ -117,19 +119,34 @@ static int do_handshake (socket_st * socket); static void init_global_tls_stuff (void); + +#undef MAX +#define MAX(X,Y) (X >= Y ? X : Y); + + /* Helper functions to load a certificate and key * files into memory. */ static gnutls_datum_t load_file (const char *file) { + FILE *f; gnutls_datum_t loaded_file = { NULL, 0 }; - size_t length; + long filelen; + void *ptr; - loaded_file.data = read_binary_file (file, &length); - if (loaded_file.data) - loaded_file.size = (unsigned int) length; + if (!(f = fopen (file, "r")) + || fseek (f, 0, SEEK_END) != 0 + || (filelen = ftell (f)) < 0 + || fseek (f, 0, SEEK_SET) != 0 + || !(ptr = malloc ((size_t) filelen)) + || fread (ptr, 1, (size_t) filelen, f) < (size_t) filelen) + { + return loaded_file; + } + loaded_file.data = ptr; + loaded_file.size = (unsigned int) filelen; return loaded_file; } @@ -147,25 +164,23 @@ static gnutls_openpgp_crt_t pgp_crt = NULL; static gnutls_openpgp_privkey_t pgp_key = NULL; -static void -get_keyid (gnutls_openpgp_keyid_t keyid, const char *str) +static void get_keyid( gnutls_openpgp_keyid_t keyid, const char* str) { - size_t keyid_size = sizeof (keyid); - - if (strlen (str) != 16) - { - fprintf (stderr, - "The OpenPGP subkey ID has to be 16 hexadecimal characters.\n"); - exit (1); - } + size_t keyid_size = sizeof(keyid); - if (gnutls_hex2bin (str, strlen (str), keyid, &keyid_size) < 0) - { - fprintf (stderr, "Error converting hex string: %s.\n", str); - exit (1); - } + if (strlen(str) != 16) + { + fprintf(stderr, "The OpenPGP subkey ID has to be 16 hexadecimal characters.\n"); + exit(1); + } - return; + if (gnutls_hex2bin (str, strlen(str), keyid, &keyid_size) < 0) + { + fprintf(stderr, "Error converting hex string: %s.\n", str); + exit(1); + } + + return; } /* Load the certificate and the private key. @@ -282,35 +297,34 @@ unload_file (data); if (info.pgp_subkey != NULL) - { - gnutls_openpgp_keyid_t keyid; + { + gnutls_openpgp_keyid_t keyid; - if (strcasecmp (info.pgp_subkey, "auto") == 0) - { - ret = gnutls_openpgp_crt_get_auth_subkey (pgp_crt, keyid, 1); - if (ret < 0) - { - fprintf (stderr, - "*** Error setting preferred sub key id (%s): %s\n", - info.pgp_subkey, gnutls_strerror (ret)); - exit (1); - } - } - else - get_keyid (keyid, info.pgp_subkey); - - ret = gnutls_openpgp_crt_set_preferred_key_id (pgp_crt, keyid); - if (ret >= 0) - ret = - gnutls_openpgp_privkey_set_preferred_key_id (pgp_key, keyid); - if (ret < 0) - { - fprintf (stderr, - "*** Error setting preferred sub key id (%s): %s\n", - info.pgp_subkey, gnutls_strerror (ret)); - exit (1); - } - } + if (strcasecmp(info.pgp_subkey, "auto")==0) + { + ret = gnutls_openpgp_crt_get_auth_subkey( pgp_crt, keyid, 1); + if (ret < 0) + { + fprintf (stderr, + "*** Error setting preferred sub key id (%s): %s\n", info.pgp_subkey, + gnutls_strerror (ret)); + exit (1); + } + } + else + get_keyid( keyid, info.pgp_subkey); + + ret = gnutls_openpgp_crt_set_preferred_key_id( pgp_crt, keyid); + if (ret >= 0) + ret = gnutls_openpgp_privkey_set_preferred_key_id( pgp_key, keyid); + if (ret < 0) + { + fprintf (stderr, + "*** Error setting preferred sub key id (%s): %s\n", info.pgp_subkey, + gnutls_strerror (ret)); + exit (1); + } + } fprintf (stderr, "Processed 1 client PGP certificate...\n"); } @@ -406,7 +420,7 @@ static gnutls_session_t init_tls_session (const char *hostname) { - const char *err; +const char *err; gnutls_session_t session; @@ -414,8 +428,8 @@ if (gnutls_priority_set_direct (session, info.priorities, &err) < 0) { - fprintf (stderr, "Syntax error at: %s\n", err); - exit (1); + fprintf(stderr, "Syntax error at: %s\n", err); + exit(1); } /* allow the use of private ciphersuites. @@ -524,14 +538,14 @@ */ } - check_rehandshake (hd, err); + check_rehandshake (hd, ret); return ret; } int starttls_alarmed = 0; -static void +void starttls_alarm (int signum) { starttls_alarmed = 1; @@ -556,35 +570,17 @@ fd_set rset; int maxfd; struct timeval tv; - int user_term = 0, retval = 0; + int user_term = 0; socket_st hd; - set_program_name (argv[0]); - gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); -#ifdef gcry_fips_mode_active - if (gcry_fips_mode_active ()) - { - ret = gnutls_register_md5_handler (); - if (ret) - fprintf (stderr, "gnutls_register_md5_handler: %s\n", - gnutls_strerror (ret)); - } -#endif - if ((ret = gnutls_global_init ()) < 0) { fprintf (stderr, "global_init: %s\n", gnutls_strerror (ret)); exit (1); } - if ((ret = gnutls_global_init_extra ()) < 0) - { - fprintf (stderr, "global_init_extra: %s\n", gnutls_strerror (ret)); - exit (1); - } - gaa_parser (argc, argv); if (hostname == NULL) { @@ -638,6 +634,8 @@ printf ("*** This is a resumed session\n"); } + + if (resume != 0 && i == 0) { @@ -698,7 +696,6 @@ { fprintf (stderr, "*** Handshake has failed\n"); user_term = 1; - retval = 1; break; } } @@ -729,7 +726,6 @@ { fprintf (stderr, "*** Server has terminated the connection abnormally.\n"); - retval = 1; break; } else if (ret > 0) @@ -763,7 +759,6 @@ { fprintf (stderr, "*** Handshake has failed\n"); user_term = 1; - retval = 1; break; } } @@ -820,7 +815,7 @@ gnutls_global_deinit (); - return retval; + return 0; } void @@ -881,16 +876,14 @@ parse_comp (info.comp, info.ncomp, comp_priority); } -void cli_version (void); - void cli_version (void) { - const char *p = PACKAGE_NAME; - if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0) - p = PACKAGE_STRING; - version_etc (stdout, program_name, p, gnutls_check_version (NULL), - "Nikos Mavrogiannopoulos", (char *) NULL); + const char *v = gnutls_check_version (NULL); + + printf ("gnutls-cli (GnuTLS) %s\n", LIBGNUTLS_VERSION); + if (strcmp (v, LIBGNUTLS_VERSION) != 0) + printf ("libgnutls %s\n", v); } @@ -925,10 +918,8 @@ do_handshake (socket_st * socket) { int ret; - gnutls_transport_set_ptr (socket->session, - (gnutls_transport_ptr_t) - gl_fd_to_handle (socket->fd)); + (gnutls_transport_ptr_t) socket->fd); do { ret = gnutls_handshake (socket->session); @@ -980,8 +971,9 @@ return 0; } -static int -psk_callback (gnutls_session_t session, char **username, gnutls_datum_t * key) +static int psk_callback (gnutls_session_t session, + char **username, + gnutls_datum_t * key) { const char *hint = gnutls_psk_client_get_hint (session); char *passwd; @@ -1030,11 +1022,12 @@ } ret = gnutls_psk_netconf_derive_key (passwd, - *username, hint ? hint : "", key); + *username, + hint ? hint : "", + key); if (ret < 0) { - fprintf (stderr, "Error deriving password: %s\n", - gnutls_strerror (ret)); + fprintf (stderr, "Error deriving password: %s\n", gnutls_strerror (ret)); gnutls_free (*username); return ret; } @@ -1064,10 +1057,16 @@ exit (1); } + /* there are some CAs that have a v1 certificate *%&@#*%& + */ + gnutls_certificate_set_verify_flags (xcred, + GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT); + if (x509_cafile != NULL) { - ret = gnutls_certificate_set_x509_trust_file (xcred, - x509_cafile, x509ctype); + ret = + gnutls_certificate_set_x509_trust_file (xcred, + x509_cafile, x509ctype); if (ret < 0) { fprintf (stderr, "Error setting the x509 trust file\n"); @@ -1080,8 +1079,8 @@ #ifdef ENABLE_PKI if (x509_crlfile != NULL) { - ret = gnutls_certificate_set_x509_crl_file (xcred, x509_crlfile, - x509ctype); + ret = + gnutls_certificate_set_x509_crl_file (xcred, x509_crlfile, x509ctype); if (ret < 0) { fprintf (stderr, "Error setting the x509 CRL file\n"); @@ -1098,9 +1097,7 @@ #ifdef ENABLE_OPENPGP if (pgp_keyring != NULL) { - ret = - gnutls_certificate_set_openpgp_keyring_file (xcred, pgp_keyring, - GNUTLS_OPENPGP_FMT_BASE64); + ret = gnutls_certificate_set_openpgp_keyring_file (xcred, pgp_keyring, GNUTLS_OPENPGP_FMT_BASE64); if (ret < 0) { fprintf (stderr, "Error setting the OpenPGP keyring file\n"); diff -Nru gnutls26-2.8.6/src/cli.gaa gnutls26-2.4.1/src/cli.gaa --- gnutls26-2.8.6/src/cli.gaa 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/cli.gaa 2008-06-19 11:00:10.000000000 +0100 @@ -2,9 +2,9 @@ /* C declarations */ -#include #include +void print_license(void); void cli_version(void); #} @@ -117,6 +117,7 @@ option (h, help) { gaa_help(); exit(0); } "prints this help" option (v, version) { cli_version(); exit(0); } "prints the program's version number" +option ( copyright) { print_license(); exit(0); } "prints the program's license" #char *rest_args; rest STR "hostname" { $rest_args = $1; } diff -Nru gnutls26-2.8.6/src/cli-gaa.c gnutls26-2.4.1/src/cli-gaa.c --- gnutls26-2.8.6/src/cli-gaa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/cli-gaa.c 2008-06-19 11:00:10.000000000 +0100 @@ -6,9 +6,9 @@ /* C declarations */ -#include #include +void print_license(void); void cli_version(void); #include @@ -162,6 +162,7 @@ __gaa_helpsingle('l', "list", "", "Print a list of the supported algorithms and modes."); __gaa_helpsingle('h', "help", "", "prints this help"); __gaa_helpsingle('v', "version", "", "prints the program's version number"); + __gaa_helpsingle(0, "copyright", "", "prints the program's license"); #line 100 "gaa.skel" } @@ -176,7 +177,7 @@ struct _gaainfo { -#line 121 "cli.gaa" +#line 122 "cli.gaa" char *rest_args; #line 113 "cli.gaa" int insecure; @@ -308,42 +309,43 @@ #define GAA_MULTIPLE_OPTION 3 #define GAA_REST 0 -#define GAA_NB_OPTION 35 -#define GAAOPTID_version 1 -#define GAAOPTID_help 2 -#define GAAOPTID_list 3 -#define GAAOPTID_insecure 4 -#define GAAOPTID_port 5 -#define GAAOPTID_opaque_prf_input 6 -#define GAAOPTID_pskkey 7 -#define GAAOPTID_pskusername 8 -#define GAAOPTID_srppasswd 9 -#define GAAOPTID_srpusername 10 -#define GAAOPTID_x509certfile 11 -#define GAAOPTID_x509keyfile 12 -#define GAAOPTID_pgpsubkey 13 -#define GAAOPTID_pgpcertfile 14 -#define GAAOPTID_pgpkeyring 15 -#define GAAOPTID_pgpkeyfile 16 -#define GAAOPTID_x509crlfile 17 -#define GAAOPTID_x509cafile 18 -#define GAAOPTID_priority 19 -#define GAAOPTID_ctypes 20 -#define GAAOPTID_kx 21 -#define GAAOPTID_macs 22 -#define GAAOPTID_comp 23 -#define GAAOPTID_protocols 24 -#define GAAOPTID_ciphers 25 -#define GAAOPTID_verbose 26 -#define GAAOPTID_recordsize 27 -#define GAAOPTID_print_cert 28 -#define GAAOPTID_disable_extensions 29 -#define GAAOPTID_fingerprint 30 -#define GAAOPTID_x509fmtder 31 -#define GAAOPTID_crlf 32 -#define GAAOPTID_starttls 33 -#define GAAOPTID_resume 34 -#define GAAOPTID_debug 35 +#define GAA_NB_OPTION 36 +#define GAAOPTID_copyright 1 +#define GAAOPTID_version 2 +#define GAAOPTID_help 3 +#define GAAOPTID_list 4 +#define GAAOPTID_insecure 5 +#define GAAOPTID_port 6 +#define GAAOPTID_opaque_prf_input 7 +#define GAAOPTID_pskkey 8 +#define GAAOPTID_pskusername 9 +#define GAAOPTID_srppasswd 10 +#define GAAOPTID_srpusername 11 +#define GAAOPTID_x509certfile 12 +#define GAAOPTID_x509keyfile 13 +#define GAAOPTID_pgpsubkey 14 +#define GAAOPTID_pgpcertfile 15 +#define GAAOPTID_pgpkeyring 16 +#define GAAOPTID_pgpkeyfile 17 +#define GAAOPTID_x509crlfile 18 +#define GAAOPTID_x509cafile 19 +#define GAAOPTID_priority 20 +#define GAAOPTID_ctypes 21 +#define GAAOPTID_kx 22 +#define GAAOPTID_macs 23 +#define GAAOPTID_comp 24 +#define GAAOPTID_protocols 25 +#define GAAOPTID_ciphers 26 +#define GAAOPTID_verbose 27 +#define GAAOPTID_recordsize 28 +#define GAAOPTID_print_cert 29 +#define GAAOPTID_disable_extensions 30 +#define GAAOPTID_fingerprint 31 +#define GAAOPTID_x509fmtder 32 +#define GAAOPTID_crlf 33 +#define GAAOPTID_starttls 34 +#define GAAOPTID_resume 35 +#define GAAOPTID_debug 36 #line 168 "gaa.skel" @@ -503,12 +505,31 @@ return tmp; } +static char gaa_getchar(char *arg) +{ + if(strlen(arg) != 1) + { + printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); + GAAERROR(-1); + } + return arg[0]; +} static char* gaa_getstr(char *arg) { return arg; } - +static float gaa_getfloat(char *arg) +{ + float tmp; + char a; + if(sscanf(arg, "%f%c", &tmp, &a) < 1) + { + printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); + GAAERROR(-1); + } + return tmp; +} /* option structures */ struct GAAOPTION_port @@ -710,6 +731,7 @@ GAA_CHECK1STR("d", GAAOPTID_debug); case GAA_MULTIPLE_OPTION: #line 375 "gaa.skel" + GAA_CHECK1STR("", GAAOPTID_copyright); GAA_CHECK1STR("v", GAAOPTID_version); GAA_CHECK1STR("h", GAAOPTID_help); GAA_CHECK1STR("l", GAAOPTID_list); @@ -726,6 +748,7 @@ #line 277 "gaa.skel" break; case GAA_WORD_OPTION: + GAA_CHECKSTR("copyright", GAAOPTID_copyright); GAA_CHECKSTR("version", GAAOPTID_version); GAA_CHECKSTR("help", GAAOPTID_help); GAA_CHECKSTR("list", GAAOPTID_list); @@ -816,6 +839,13 @@ switch(gaa_num) { + case GAAOPTID_copyright: + OK = 0; +#line 120 "cli.gaa" +{ print_license(); exit(0); ;}; + + return GAA_OK; + break; case GAAOPTID_version: OK = 0; #line 119 "cli.gaa" @@ -1122,7 +1152,7 @@ GAA_TESTMOREARGS; GAA_FILL(GAAREST_tmp.arg1, gaa_getstr, GAAREST_tmp.size1); gaa_index++; -#line 122 "cli.gaa" +#line 123 "cli.gaa" { gaaval->rest_args = GAAREST_tmp.arg1; ;}; return GAA_OK; @@ -1137,24 +1167,21 @@ int gaa(int argc, char **argv, gaainfo *gaaval) { int tmp1, tmp2; - int l; - size_t i, j; + int i, j; char *opt_list; - i = 0; - GAAargv = argv; GAAargc = argc; opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1); - for(l = 0; l < GAA_NB_OPTION + 1; l++) - opt_list[l] = 0; + for(i = 0; i < GAA_NB_OPTION + 1; i++) + opt_list[i] = 0; /* initialization */ if(inited == 0) { -#line 124 "cli.gaa" +#line 125 "cli.gaa" { gaaval->resume=0; gaaval->port="443"; gaaval->rest_args=NULL; gaaval->ciphers=NULL; gaaval->kx=NULL; gaaval->comp=NULL; gaaval->macs=NULL; gaaval->ctype=NULL; gaaval->nciphers=0; gaaval->nkx=0; gaaval->ncomp=0; gaaval->nmacs=0; gaaval->nctype = 0; gaaval->record_size=0; @@ -1175,27 +1202,27 @@ gaa_arg_used = gaa_malloc(argc * sizeof(char)); } - for(l = 1; l < argc; l++) - gaa_arg_used[l] = 0; - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) + gaa_arg_used[i] = 0; + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { j = 0; - tmp1 = gaa_is_an_argument(GAAargv[l]); + tmp1 = gaa_is_an_argument(GAAargv[i]); switch(tmp1) { case GAA_WORD_OPTION: j++; case GAA_LETTER_OPTION: j++; - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%s'\n", argv[l]+j); + printf("Invalid option '%s'\n", argv[i]+j); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -1208,18 +1235,18 @@ default: printf("Unknown error\n"); } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; case GAA_MULTIPLE_OPTION: - for(j = 1; j < strlen(argv[l]); j++) + for(j = 1; j < strlen(argv[i]); j++) { - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%c'\n", *(argv[l]+j)); + printf("Invalid option '%c'\n", *(argv[i]+j)); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -1233,7 +1260,7 @@ printf("Unknown error\n"); } } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; default: break; } @@ -1259,9 +1286,9 @@ } #endif } - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { printf("Too many arguments\n"); return 0; @@ -1312,7 +1339,7 @@ len++; a = fgetc( file); - if(a==EOF) return 0; /* a = ' '; */ + if(a==EOF) return 0; //a = ' '; } len += 1; diff -Nru gnutls26-2.8.6/src/cli-gaa.h gnutls26-2.4.1/src/cli-gaa.h --- gnutls26-2.8.6/src/cli-gaa.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/cli-gaa.h 2008-06-19 11:00:10.000000000 +0100 @@ -8,7 +8,7 @@ struct _gaainfo { -#line 121 "cli.gaa" +#line 122 "cli.gaa" char *rest_args; #line 113 "cli.gaa" int insecure; diff -Nru gnutls26-2.8.6/src/common.c gnutls26-2.4.1/src/common.c --- gnutls26-2.8.6/src/common.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/common.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation * Author: Nikos Mavrogiannopoulos * * This file is part of GNUTLS. @@ -8,24 +8,17 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS 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, see . */ #include - -/* Work around problem reported in - .*/ -#if GETTIMEOFDAY_CLOBBERS_LOCALTIME -#undef localtime -#endif - #include #include #include @@ -36,6 +29,8 @@ #include #include +#define TEST_STRING + #define SU(x) (x!=NULL?x:"Unknown") int print_cert; @@ -43,6 +38,9 @@ static char buffer[5 * 1024]; +#define PRINTX(x,y) if (y[0]!=0) printf(" # %s %s\n", x, y) +#define PRINT_PGP_NAME(X) PRINTX( "NAME:", name) + const char str_unknown[] = "(unknown)"; /* Hex encodes the given data. @@ -68,27 +66,54 @@ return buf; } -static void +static const char * +my_ctime (const time_t * tv) +{ + static char buf[256]; + struct tm *tp; + + if (((tp = localtime (tv)) == NULL) || + (!strftime (buf, sizeof buf, "%a %b %e %H:%M:%S %Z %Y\n", tp))) + strcpy (buf, str_unknown); /* make sure buf text isn't garbage */ + + return buf; + +} + + +void print_x509_info (gnutls_session_t session, const char *hostname, int insecure) { gnutls_x509_crt_t crt; const gnutls_datum_t *cert_list; - unsigned int cert_list_size = 0, j; - int hostname_ok = 0; + unsigned int cert_list_size = 0; int ret; + char digest[20]; + char serial[40]; + char dn[256]; + size_t dn_size; + size_t digest_size = sizeof (digest); + unsigned int j; + size_t serial_size = sizeof (serial); + const char *print; + const char *cstr; + unsigned int bits, algo; + time_t expiret, activet; cert_list = gnutls_certificate_get_peers (session, &cert_list_size); + + if (cert_list_size == 0) { fprintf (stderr, "No certificates found!\n"); return; } - printf (" - Got a certificate list of %d certificates.\n", cert_list_size); + printf (" - Got a certificate list of %d certificates.\n\n", + cert_list_size); - for (j = 0; j < cert_list_size; j++) + for (j = 0; j < (unsigned int) cert_list_size; j++) { - gnutls_datum_t cinfo; gnutls_x509_crt_init (&crt); ret = gnutls_x509_crt_import (crt, &cert_list[j], GNUTLS_X509_FMT_DER); @@ -98,17 +123,7 @@ return; } - printf (" - Certificate[%d] info:\n - ", j); - - if (verbose) - ret = gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_FULL, &cinfo); - else - ret = gnutls_x509_crt_print (crt, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (ret == 0) - { - printf ("%s\n", cinfo.data); - gnutls_free (cinfo.data); - } + printf (" - Certificate[%d] info:\n", j); if (print_cert) { @@ -116,166 +131,300 @@ size = sizeof (buffer); - ret = gnutls_x509_crt_export (crt, GNUTLS_X509_FMT_PEM, - buffer, &size); + ret = + gnutls_x509_crt_export (crt, GNUTLS_X509_FMT_PEM, buffer, &size); if (ret < 0) { fprintf (stderr, "Encoding error: %s\n", gnutls_strerror (ret)); return; } - fputs ("\n", stdout); fputs (buffer, stdout); fputs ("\n", stdout); } if (j == 0 && hostname != NULL) - { - /* Check the hostname of the first certificate if it matches - * the name of the host we connected to. - */ + { /* Check the hostname of the first certificate + * if it matches the name of the host we + * connected to. + */ if (gnutls_x509_crt_check_hostname (crt, hostname) == 0) - hostname_ok = 1; + { + printf + (" # The hostname in the certificate does NOT match '%s'.\n", + hostname); + if (!insecure) + exit(1); + } else - hostname_ok = 2; + { + printf + (" # The hostname in the certificate matches '%s'.\n", + hostname); + } + } + + + expiret = gnutls_x509_crt_get_expiration_time (crt); + activet = gnutls_x509_crt_get_activation_time (crt); + + printf (" # valid since: %s", my_ctime (&activet)); + printf (" # expires at: %s", my_ctime (&expiret)); + + + /* Print the serial number of the certificate. + */ + if (verbose + && gnutls_x509_crt_get_serial (crt, serial, &serial_size) >= 0) + { + print = raw_to_string (serial, serial_size); + if (print != NULL) + printf (" # serial number: %s\n", print); } + /* Print the fingerprint of the certificate + */ + digest_size = sizeof (digest); + if ((ret = + gnutls_x509_crt_get_fingerprint (crt, + GNUTLS_DIG_MD5, + digest, &digest_size)) < 0) + { + fprintf (stderr, + "Error in fingerprint calculation: %s\n", + gnutls_strerror (ret)); + } + else + { + print = raw_to_string (digest, digest_size); + if (print != NULL) + printf (" # fingerprint: %s\n", print); + } + + /* Print the version of the X.509 + * certificate. + */ + if (verbose) + { + printf (" # version: #%d\n", gnutls_x509_crt_get_version (crt)); + + bits = 0; + algo = gnutls_x509_crt_get_pk_algorithm (crt, &bits); + printf (" # public key algorithm: "); + + cstr = SU (gnutls_pk_algorithm_get_name (algo)); + printf ("%s (%d bits)\n", cstr, bits); + +#ifdef ENABLE_PKI + if (algo == GNUTLS_PK_RSA) + { + gnutls_datum_t e, m; + + ret = gnutls_x509_crt_get_pk_rsa_raw (crt, &m, &e); + if (ret >= 0) + { + print = SU (raw_to_string (e.data, e.size)); + printf (" # e [%d bits]: %s\n", e.size * 8, print); + + print = SU (raw_to_string (m.data, m.size)); + printf (" # m [%d bits]: %s\n", m.size * 8, print); + + gnutls_free (e.data); + gnutls_free (m.data); + } + } + else if (algo == GNUTLS_PK_DSA) + { + gnutls_datum_t p, q, g, y; + + ret = gnutls_x509_crt_get_pk_dsa_raw (crt, &p, &q, &g, &y); + if (ret >= 0) + { + print = SU (raw_to_string (p.data, p.size)); + printf (" # p [%d bits]: %s\n", p.size * 8, print); + + print = SU (raw_to_string (q.data, q.size)); + printf (" # q [%d bits]: %s\n", q.size * 8, print); + + print = SU (raw_to_string (g.data, g.size)); + printf (" # g [%d bits]: %s\n", g.size * 8, print); + + print = SU (raw_to_string (y.data, y.size)); + printf (" # y [%d bits]: %s\n", y.size * 8, print); + + gnutls_free (p.data); + gnutls_free (q.data); + gnutls_free (g.data); + gnutls_free (y.data); + } + } +#endif + } + + dn_size = sizeof (dn); + ret = gnutls_x509_crt_get_dn (crt, dn, &dn_size); + if (ret >= 0) + printf (" # Subject's DN: %s\n", dn); + + dn_size = sizeof (dn); + ret = gnutls_x509_crt_get_issuer_dn (crt, dn, &dn_size); + if (ret >= 0) + printf (" # Issuer's DN: %s\n", dn); + gnutls_x509_crt_deinit (crt); - } - if (hostname_ok == 1) - { - printf ("- The hostname in the certificate does NOT match '%s'\n", - hostname); - if (!insecure) - exit (1); - } - else if (hostname_ok == 2) - { - printf ("- The hostname in the certificate matches '%s'.\n", - hostname); + printf ("\n"); + } + } #ifdef ENABLE_OPENPGP -static void -print_openpgp_info (gnutls_session_t session, const char *hostname, - int insecure) +void +print_openpgp_info (gnutls_session_t session, const char *hostname, int insecure) { + char digest[20]; + size_t digest_size = sizeof (digest); + int ret; + const char *print; + const char *cstr; + char name[256]; + size_t name_len = sizeof (name); gnutls_openpgp_crt_t crt; const gnutls_datum_t *cert_list; int cert_list_size = 0; - int hostname_ok = 0; - int ret; + time_t expiret; + time_t activet; cert_list = gnutls_certificate_get_peers (session, &cert_list_size); if (cert_list_size > 0) { - gnutls_datum_t cinfo; + unsigned int algo, bits; gnutls_openpgp_crt_init (&crt); - ret = gnutls_openpgp_crt_import (crt, &cert_list[0], - GNUTLS_OPENPGP_FMT_RAW); + ret = + gnutls_openpgp_crt_import (crt, &cert_list[0], + GNUTLS_OPENPGP_FMT_RAW); if (ret < 0) { fprintf (stderr, "Decoding error: %s\n", gnutls_strerror (ret)); return; } - if (verbose) - ret = gnutls_openpgp_crt_print (crt, GNUTLS_CRT_PRINT_FULL, &cinfo); - else - ret = gnutls_openpgp_crt_print (crt, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (ret == 0) - { - printf (" - %s\n", cinfo.data); - gnutls_free (cinfo.data); - } - if (print_cert) { size_t size; size = sizeof (buffer); - ret = gnutls_openpgp_crt_export (crt, GNUTLS_OPENPGP_FMT_BASE64, - buffer, &size); + ret = + gnutls_openpgp_crt_export (crt, + GNUTLS_OPENPGP_FMT_BASE64, + buffer, &size); if (ret < 0) { fprintf (stderr, "Encoding error: %s\n", gnutls_strerror (ret)); return; } + fputs ("\n", stdout); fputs (buffer, stdout); fputs ("\n", stdout); } if (hostname != NULL) - { - /* Check the hostname of the first certificate if it matches - * the name of the host we connected to. - */ + { /* Check the hostname of the first certificate + * if it matches the name of the host we + * connected to. + */ if (gnutls_openpgp_crt_check_hostname (crt, hostname) == 0) - hostname_ok = 1; + { + printf + (" # The hostname in the certificate does NOT match '%s'.\n", + hostname); + if (!insecure) + exit(1); + } + else + { + printf (" # The hostname in the certificate matches '%s'.\n", hostname); + } + } + + activet = gnutls_openpgp_crt_get_creation_time (crt); + expiret = gnutls_openpgp_crt_get_expiration_time (crt); + + printf (" # Key was created at: %s", my_ctime (&activet)); + printf (" # Key expires: "); + if (expiret != 0) + printf ("%s", my_ctime (&expiret)); + else + printf ("Never\n"); + + if (gnutls_openpgp_crt_get_fingerprint (crt, digest, &digest_size) >= 0) + { + print = raw_to_string (digest, digest_size); + + printf (" # PGP Key version: %d\n", + gnutls_openpgp_crt_get_version (crt)); + + bits = 0; + algo = gnutls_openpgp_crt_get_pk_algorithm (crt, &bits); + + printf (" # PGP Key public key algorithm: "); + cstr = SU (gnutls_pk_algorithm_get_name (algo)); + printf ("%s (%d bits)\n", cstr, bits); + + if (print != NULL) + printf (" # PGP Key fingerprint: %s\n", print); + + name_len = sizeof (name); + if (gnutls_openpgp_crt_get_name (crt, 0, name, &name_len) < 0) + { + fprintf (stderr, "Could not extract name\n"); + } else - hostname_ok = 2; + { + PRINT_PGP_NAME (name); + } + } gnutls_openpgp_crt_deinit (crt); - } - if (hostname_ok == 1) - { - printf ("- The hostname in the certificate does NOT match '%s'\n", - hostname); - if (!insecure) - exit (1); - } - else if (hostname_ok == 2) - { - printf ("- The hostname in the certificate matches '%s'.\n", - hostname); } } #endif -static void +void print_cert_vrfy (gnutls_session_t session) { int rc; unsigned int status; rc = gnutls_certificate_verify_peers2 (session, &status); - if (rc < 0) + printf ("\n"); + + if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) { - printf ("- Could not verify certificate (err: %s)\n", - gnutls_strerror (rc)); + printf ("- Peer did not send any certificate.\n"); return; } - if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) + if (rc < 0) { - printf ("- Peer did not send any certificate.\n"); + printf ("- Could not verify certificate (err: %s)\n", + gnutls_strerror (rc)); return; } if (gnutls_certificate_type_get (session) == GNUTLS_CRT_X509) { - if (status & GNUTLS_CERT_REVOKED) - printf ("- Peer's certificate chain revoked\n"); if (status & GNUTLS_CERT_SIGNER_NOT_FOUND) printf ("- Peer's certificate issuer is unknown\n"); - if (status & GNUTLS_CERT_SIGNER_NOT_CA) - printf ("- Peer's certificate issuer is not a CA\n"); - if (status & GNUTLS_CERT_INSECURE_ALGORITHM) - printf ("- Peer's certificate chain uses insecure algorithm\n"); - if (status & GNUTLS_CERT_NOT_ACTIVATED) - printf ("- Peer's certificate chain uses not yet valid certificate\n"); - if (status & GNUTLS_CERT_EXPIRED) - printf ("- Peer's certificate chain uses expired certificate\n"); if (status & GNUTLS_CERT_INVALID) printf ("- Peer's certificate is NOT trusted\n"); else @@ -292,12 +441,14 @@ } } -static void +void print_dh_info (gnutls_session_t session, const char *str) { printf ("- %sDiffie-Hellman parameters\n", str); - printf (" - Using prime: %d bits\n", gnutls_dh_get_prime_bits (session)); - printf (" - Secret key: %d bits\n", gnutls_dh_get_secret_bits (session)); + printf (" - Using prime: %d bits\n", + gnutls_dh_get_prime_bits (session)); + printf (" - Secret key: %d bits\n", + gnutls_dh_get_secret_bits (session)); printf (" - Peer's public key: %d bits\n", gnutls_dh_get_peers_public_bits (session)); @@ -324,7 +475,8 @@ goto out; } - ret = gnutls_dh_params_import_raw (dh_params, &raw_prime, &raw_gen); + ret = gnutls_dh_params_import_raw (dh_params, &raw_prime, + &raw_gen); if (ret) { fprintf (stderr, "gnutls_dh_params_import_raw %d\n", ret); @@ -333,7 +485,8 @@ ret = gnutls_dh_params_export_pkcs3 (dh_params, GNUTLS_X509_FMT_PEM, - params_data, ¶ms_data_size); + params_data, + ¶ms_data_size); if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) { fprintf (stderr, "gnutls_dh_params_export_pkcs3 %d\n", ret); @@ -349,15 +502,15 @@ ret = gnutls_dh_params_export_pkcs3 (dh_params, GNUTLS_X509_FMT_PEM, - params_data, ¶ms_data_size); + params_data, + ¶ms_data_size); if (ret) { fprintf (stderr, "gnutls_dh_params_export_pkcs3-2 %d\n", ret); goto out; } - printf (" - PKCS#3 format:\n\n%.*s\n", (int) params_data_size, - params_data); + printf (" - PKCS#3 format:\n\n%.*s\n", params_data_size, params_data); out: gnutls_free (params_data); @@ -453,13 +606,12 @@ tmp = SU (gnutls_compression_get_name (gnutls_compression_get (session))); printf ("- Compression: %s\n", tmp); - if (verbose) - { - char id[32]; - size_t id_size = sizeof (id); - gnutls_session_get_id (session, id, &id_size); - printf ("- Session ID: %s\n", raw_to_string (id, id_size)); - } + if (verbose) { + char id[32]; + size_t id_size = sizeof(id); + gnutls_session_get_id (session, id, &id_size); + printf("- Session ID: %s\n", raw_to_string(id, id_size) ); + } fflush (stdout); @@ -479,9 +631,9 @@ { case GNUTLS_CRT_UNKNOWN: printf ("Unknown\n"); - + if (!insecure) - exit (1); + exit(1); break; case GNUTLS_CRT_X509: printf ("X.509\n"); @@ -606,34 +758,24 @@ printf ("\n"); } } +} - { - const gnutls_pk_algorithm_t *p = gnutls_pk_list (); - - printf ("Public Key Systems: "); - for (; *p; p++) - { - printf ("%s", gnutls_pk_algorithm_get_name (*p)); - if (*(p + 1)) - printf (", "); - else - printf ("\n"); - } - } - - { - const gnutls_sign_algorithm_t *p = gnutls_sign_list (); - - printf ("PK-signatures: "); - for (; *p; p++) - { - printf ("%s", gnutls_sign_algorithm_get_name (*p)); - if (*(p + 1)) - printf (", "); - else - printf ("\n"); - } - } +void +print_license (void) +{ + fputs ("\nCopyright (C) 2004,2005,2006,2007 Free Software Foundation\n" + "This program is free software; you can redistribute it and/or modify \n" + "it under the terms of the GNU General Public License as published by \n" + "the Free Software Foundation; either version 3 of the License, or \n" + "(at your option) any later version. \n" "\n" + "This program is distributed in the hope that it will be useful, \n" + "but WITHOUT ANY WARRANTY; without even the implied warranty of \n" + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \n" + "GNU General Public License for more details. \n" "\n" + "You should have received a copy of the GNU General Public License \n" + "along with this program; if not, write to the Free Software \n" + "Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\n", + stdout); } static int depr_printed = 0; @@ -646,7 +788,7 @@ parse_protocols (char **protocols, int protocols_size, int *protocol_priority) { int i, j; - + if (protocols != NULL && protocols_size > 0) { DEPRECATED; @@ -856,4 +998,5 @@ } return ntohs (server_port->s_port); + } diff -Nru gnutls26-2.8.6/src/common.h gnutls26-2.4.1/src/common.h --- gnutls26-2.8.6/src/common.h 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/common.h 2008-06-19 11:00:10.000000000 +0100 @@ -1,23 +1,20 @@ #define PORT 5556 #define SERVER "127.0.0.1" +#include #include #include #include -#include -#include -#include -#include #ifdef _WIN32 # include # include -#endif - -#ifndef __attribute__ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif +# define close closesocket +#else +# include +# include +# include +# include #endif /* the number of elements in the priority structures. diff -Nru gnutls26-2.8.6/src/crypt.c gnutls26-2.4.1/src/crypt.c --- gnutls26-2.8.6/src/crypt.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/crypt.c 2008-06-30 21:45:57.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Simon Josefsson * Copyright (C) 2001,2003 Nikos Mavrogiannopoulos * Copyright (C) 2004 Free Software Foundation * @@ -21,13 +21,35 @@ #include + + +#ifndef ENABLE_SRP + +#include + +int +main (int argc, char **argv) +{ + printf ("\nSRP not supported. This program is a dummy.\n\n"); + return 1; +}; + +void +srptool_version (void) +{ + fprintf (stderr, "GNU TLS dummy srptool.\n"); +} + +#else + #include #include #include #include #include #include -#include "../lib/random.h" /* for random */ + +#include /* for randomize */ #include #include @@ -41,9 +63,8 @@ /* Gnulib portability files. */ #include -#include -#include -#include + +#define _MAX(x,y) (x>y?x:y) /* This may need some rewrite. A lot of stuff which should be here * are in the library, which is not good. @@ -51,13 +72,23 @@ int crypt_int (const char *username, const char *passwd, int salt, char *tpasswd_conf, char *tpasswd, int uindex); -static int read_conf_values (gnutls_datum_t * g, gnutls_datum_t * n, - char *str); +static int read_conf_values (gnutls_datum_t * g, gnutls_datum_t * n, char *str); static int _verify_passwd_int (const char *username, const char *passwd, char *verifier, char *salt, const gnutls_datum_t * g, const gnutls_datum_t * n); +void +srptool_version (void) +{ + const char *v = gnutls_check_version (NULL); + + printf ("srptool (GnuTLS) %s\n", LIBGNUTLS_VERSION); + if (strcmp (v, LIBGNUTLS_VERSION) != 0) + printf ("libgnutls %s\n", v); +} + + static void print_num (const char *msg, const gnutls_datum_t * num) { @@ -77,7 +108,7 @@ } -static int +int generate_create_conf (char *tpasswd_conf) { FILE *fd; @@ -188,7 +219,7 @@ /* encode the verifier into _salt */ salt_size = sizeof (_salt); - memset (_salt, 0, salt_size); + memset(_salt, 0, salt_size); if (gnutls_srp_base64_encode (&new_verifier, _salt, &salt_size) < 0) { fprintf (stderr, "Encoding error\n"); @@ -272,7 +303,7 @@ { i++; } - if (strncmp (username, line, MAX (i, strlen (username))) == 0) + if (strncmp (username, line, _MAX (i, strlen (username))) == 0) { /* find the index */ pos = strrchr (line, ':'); @@ -289,7 +320,7 @@ /* Parses the tpasswd files, in order to verify the given * username/password pair. */ -static int +int verify_passwd (char *conffile, char *tpasswd, char *username, const char *passwd) { @@ -352,7 +383,7 @@ { i++; } - if (strncmp (username, line, MAX (i, strlen (username))) == 0) + if (strncmp (username, line, _MAX (i, strlen (username))) == 0) { char *verifier_pos, *salt_pos; @@ -397,8 +428,6 @@ int salt, ret; struct passwd *pwd; - set_program_name (argv[0]); - if ((ret = gnutls_global_init ()) < 0) { fprintf (stderr, "global_init: %s\n", gnutls_strerror (ret)); @@ -421,9 +450,9 @@ } if (info.passwd == NULL) - info.passwd = (char*) KPASSWD; + info.passwd = KPASSWD; if (info.passwd_conf == NULL) - info.passwd_conf = (char*) KPASSWD_CONF; + info.passwd_conf = KPASSWD_CONF; if (info.username == NULL) { @@ -465,7 +494,7 @@ } -static char * +char * _srp_crypt (const char *username, const char *passwd, int salt_size, const gnutls_datum_t * g, const gnutls_datum_t * n) { @@ -479,7 +508,7 @@ /* generate the salt */ - if (_gnutls_rnd (GNUTLS_RND_NONCE, salt, salt_size) < 0) + if (gc_nonce (salt, salt_size) != GC_OK) { fprintf (stderr, "Could not create nonce\n"); return NULL; @@ -619,8 +648,9 @@ if (pp == NULL) continue; - if (strncmp (p, username, - MAX (strlen (username), (unsigned int) (pp - p))) == 0) + if (strncmp + (p, username, + _MAX (strlen (username), (unsigned int) (pp - p))) == 0) { put = 1; fprintf (fd, "%s:%s:%u\n", username, cr, iindex); @@ -712,14 +742,4 @@ return index; } -extern void srptool_version(void); - -void -srptool_version (void) -{ - const char *p = PACKAGE_NAME; - if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0) - p = PACKAGE_STRING; - version_etc (stdout, "srptool", p, gnutls_check_version (NULL), - "Nikos Mavrogiannopoulos", (char *) NULL); -} +#endif /* ENABLE_SRP */ diff -Nru gnutls26-2.8.6/src/crypt-gaa.c gnutls26-2.4.1/src/crypt-gaa.c --- gnutls26-2.8.6/src/crypt-gaa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/crypt-gaa.c 2008-06-19 11:00:10.000000000 +0100 @@ -389,12 +389,31 @@ return tmp; } +static char gaa_getchar(char *arg) +{ + if(strlen(arg) != 1) + { + printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); + GAAERROR(-1); + } + return arg[0]; +} static char* gaa_getstr(char *arg) { return arg; } - +static float gaa_getfloat(char *arg) +{ + float tmp; + char a; + if(sscanf(arg, "%f%c", &tmp, &a) < 1) + { + printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); + GAAERROR(-1); + } + return tmp; +} /* option structures */ struct GAAOPTION_create_conf @@ -615,19 +634,16 @@ int gaa(int argc, char **argv, gaainfo *gaaval) { int tmp1, tmp2; - int l; - size_t i, j; + int i, j; char *opt_list; - i = 0; - GAAargv = argv; GAAargc = argc; opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1); - for(l = 0; l < GAA_NB_OPTION + 1; l++) - opt_list[l] = 0; + for(i = 0; i < GAA_NB_OPTION + 1; i++) + opt_list[i] = 0; /* initialization */ if(inited == 0) { @@ -646,27 +662,27 @@ gaa_arg_used = gaa_malloc(argc * sizeof(char)); } - for(l = 1; l < argc; l++) - gaa_arg_used[l] = 0; - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) + gaa_arg_used[i] = 0; + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { j = 0; - tmp1 = gaa_is_an_argument(GAAargv[l]); + tmp1 = gaa_is_an_argument(GAAargv[i]); switch(tmp1) { case GAA_WORD_OPTION: j++; case GAA_LETTER_OPTION: j++; - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%s'\n", argv[l]+j); + printf("Invalid option '%s'\n", argv[i]+j); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -679,18 +695,18 @@ default: printf("Unknown error\n"); } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; case GAA_MULTIPLE_OPTION: - for(j = 1; j < strlen(argv[l]); j++) + for(j = 1; j < strlen(argv[i]); j++) { - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%c'\n", *(argv[l]+j)); + printf("Invalid option '%c'\n", *(argv[i]+j)); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -704,7 +720,7 @@ printf("Unknown error\n"); } } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; default: break; } @@ -730,9 +746,9 @@ } #endif } - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { printf("Too many arguments\n"); return 0; @@ -783,7 +799,7 @@ len++; a = fgetc( file); - if(a==EOF) return 0; /* a = ' '; */ + if(a==EOF) return 0; //a = ' '; } len += 1; diff -Nru gnutls26-2.8.6/src/errcodes.c gnutls26-2.4.1/src/errcodes.c --- gnutls26-2.8.6/src/errcodes.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/src/errcodes.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,65 @@ +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include + +const char *_gnutls_strerror (int); + +typedef struct +{ + char name[128]; + int error_index; +} error_name; + + +static int +compar (const void *_n1, const void *_n2) +{ + const error_name *n1 = (const error_name *) _n1, + *n2 = (const error_name *) _n2; + return strcmp (n1->name, n2->name); +} + +int +main (int argc, char *argv[]) +{ + int i, j; + const char *desc; + const char *_name; + error_name names_to_sort[400]; /* up to 400 names */ + + printf ("@table @code\n"); + + memset (names_to_sort, 0, sizeof (names_to_sort)); + j = 0; + for (i = 0; i > -400; i--) + { + _name = _gnutls_strerror (i); + if (_name == NULL) + continue; + + strcpy (names_to_sort[j].name, _name); + names_to_sort[j].error_index = i; + j++; + } + + qsort (names_to_sort, j, sizeof (error_name), compar); + + for (i = 0; i < j; i++) + { + _name = names_to_sort[i].name; + desc = gnutls_strerror (names_to_sort[i].error_index); + if (desc == NULL || _name == NULL) + continue; + + printf ("@item %s:\n%s\n\n", _name, desc); + } + + printf ("@end table\n"); + + return 0; +} diff -Nru gnutls26-2.8.6/src/Makefile.am gnutls26-2.4.1/src/Makefile.am --- gnutls26-2.8.6/src/Makefile.am 2010-01-24 10:06:21.000000000 +0000 +++ gnutls26-2.4.1/src/Makefile.am 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # This file is part of GNUTLS. # @@ -17,15 +17,13 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +EXTRA_DIST = README README.srptool + SUBDIRS = cfg -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(builddir)/../lib/includes \ - -I$(srcdir)/../lib/includes \ - -I$(srcdir)/../libextra/includes \ +AM_CPPFLAGS = -I../includes -I$(top_srcdir)/includes \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/gl -I$(top_builddir)/gl \ -I$(srcdir)/cfg bin_PROGRAMS = gnutls-serv gnutls-cli psktool gnutls-cli-debug @@ -36,67 +34,53 @@ bin_PROGRAMS += srptool endif -noinst_LTLIBRARIES = - -gnutls_serv_SOURCES = list.h serv.c common.h common.c certtool-common.h -gnutls_serv_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la -gnutls_serv_LDADD += libcmd-serv.la ../gl/libgnu.la -gnutls_serv_LDADD += $(LTLIBGCRYPT) $(LIBSOCKET) $(GETADDRINFO_LIB) -noinst_LTLIBRARIES += libcmd-serv.la -libcmd_serv_la_CFLAGS = -libcmd_serv_la_SOURCES = serv.gaa serv-gaa.h serv-gaa.c +gnutls_serv_SOURCES = serv.gaa serv-gaa.h serv-gaa.c list.h serv.c \ + common.h common.c select.c +gnutls_serv_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) ../gl/libgnu.la if ENABLE_SRP -srptool_SOURCES = crypt.c -srptool_LDADD = ../lib/libgnutls.la libcmd-srp.la ../gl/libgnu.la -noinst_LTLIBRARIES += libcmd-srp.la -libcmd_srp_la_CFLAGS = -libcmd_srp_la_SOURCES = crypt.gaa crypt-gaa.h crypt-gaa.c +srptool_SOURCES = crypt.gaa crypt-gaa.h crypt-gaa.c crypt.c +srptool_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ + ../gl/libgnu.la ../lgl/liblgnu.la endif -psktool_SOURCES = psk.c -psktool_LDADD = ../lib/libgnutls.la libcmd-psk.la ../gl/libgnu.la -noinst_LTLIBRARIES += libcmd-psk.la -libcmd_psk_la_CFLAGS = -libcmd_psk_la_SOURCES = psk.gaa psk-gaa.h psk-gaa.c - -gnutls_cli_SOURCES = cli.c common.h common.c -gnutls_cli_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la -gnutls_cli_LDADD += libcmd-cli.la ../gl/libgnu.la -gnutls_cli_LDADD += $(LTLIBGCRYPT) $(LIBSOCKET) $(GETADDRINFO_LIB) -noinst_LTLIBRARIES += libcmd-cli.la -libcmd_cli_la_CFLAGS = -libcmd_cli_la_SOURCES = cli.gaa cli-gaa.h cli-gaa.c - -gnutls_cli_debug_SOURCES = tls_test.c tests.h tests.c common.h common.c -gnutls_cli_debug_LDADD = ../lib/libgnutls.la libcmd-cli-debug.la -gnutls_cli_debug_LDADD += ../gl/libgnu.la $(LIBSOCKET) $(GETADDRINFO_LIB) -noinst_LTLIBRARIES += libcmd-cli-debug.la -libcmd_cli_debug_la_CFLAGS = -libcmd_cli_debug_la_SOURCES = tls_test.gaa tls_test-gaa.h tls_test-gaa.c - -certtool_SOURCES = certtool.c prime.c -certtool_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la -certtool_LDADD += libcmd-certtool.la ../gl/libgnu.la -certtool_LDADD += $(LTLIBGCRYPT) +psktool_SOURCES = psk.gaa psk-gaa.h psk-gaa.c psk.c +psktool_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ + ../gl/libgnu.la ../lgl/liblgnu.la + +gnutls_cli_SOURCES = cli.gaa cli-gaa.h cli-gaa.c cli.c common.h \ + common.c select.c +gnutls_cli_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) ../gl/libgnu.la + +gnutls_cli_debug_SOURCES = tls_test.gaa tls_test-gaa.h tls_test-gaa.c \ + tls_test.c tests.h tests.c common.h common.c +gnutls_cli_debug_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) \ + $(LIBTASN1_LIBS) ../gl/libgnu.la + +certtool_SOURCES = certtool.gaa certtool-gaa.h certtool-cfg.h \ + certtool-gaa.c certtool.c prime.c certtool-cfg.c +certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) \ + $(LIBTASN1_LIBS) ../gl/libgnu.la @LTLIBREADLINE@ if HAVE_LIBCFG certtool_LDADD += -lcfg+ else -noinst_LTLIBRARIES += libcfg.la -libcfg_la_CFLAGS = -libcfg_la_SOURCES = cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c \ +certtool_SOURCES += cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c \ cfg/props.c cfg/shared.c cfg/platon/str/dynfgets.c \ cfg/platon/str/strctype.c cfg/platon/str/strdyn.c \ cfg/platon/str/strplus.c -certtool_LDADD += libcfg.la endif -noinst_LTLIBRARIES += libcmd-certtool.la -libcmd_certtool_la_CFLAGS = -libcmd_certtool_la_SOURCES = certtool.gaa certtool-gaa.h \ - certtool-gaa.c certtool-cfg.h certtool-cfg.c -libcmd_certtool_la_LIBADD = ../gl/libgnu.la $(LTLIBREADLINE) -libcmd_certtool_la_LIBADD += ../lib/libgnutls.la ../libextra/libgnutls-extra.la -libcmd_certtool_la_LIBADD += ../gl/libgnu.la $(INET_PTON_LIB) + +noinst_PROGRAMS = errcodes +errcodes_SOURCES = errcodes.c +errcodes_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ + ../gl/libgnu.la ../lgl/liblgnu.la + + psk-gaa.c: $(srcdir)/psk.gaa -$(GAA) $< -o psk-gaa.c -i psk-gaa.h @@ -110,3 +94,4 @@ -$(GAA) $< -o tls_test-gaa.c -i tls_test-gaa.h serv-gaa.c: $(srcdir)/serv.gaa -$(GAA) $< -o serv-gaa.c -i serv-gaa.h + diff -Nru gnutls26-2.8.6/src/Makefile.in gnutls26-2.4.1/src/Makefile.in --- gnutls26-2.8.6/src/Makefile.in 2010-03-15 10:29:21.000000000 +0000 +++ gnutls26-2.4.1/src/Makefile.in 2008-06-30 22:07:53.000000000 +0100 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 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. @@ -15,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # This file is part of GNUTLS. # @@ -33,12 +32,10 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -58,181 +55,149 @@ $(am__EXEEXT_2) @ENABLE_PKI_TRUE@am__append_1 = certtool @ENABLE_SRP_TRUE@am__append_2 = srptool -@ENABLE_SRP_TRUE@am__append_3 = libcmd-srp.la -@HAVE_LIBCFG_TRUE@am__append_4 = -lcfg+ -@HAVE_LIBCFG_FALSE@am__append_5 = libcfg.la -@HAVE_LIBCFG_FALSE@am__append_6 = libcfg.la +@HAVE_LIBCFG_TRUE@am__append_3 = -lcfg+ +@HAVE_LIBCFG_FALSE@am__append_4 = cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c \ +@HAVE_LIBCFG_FALSE@ cfg/props.c cfg/shared.c cfg/platon/str/dynfgets.c \ +@HAVE_LIBCFG_FALSE@ cfg/platon/str/strctype.c cfg/platon/str/strdyn.c \ +@HAVE_LIBCFG_FALSE@ cfg/platon/str/strplus.c + +noinst_PROGRAMS = errcodes$(EXEEXT) subdir = src -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \ - $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \ + $(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \ + $(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \ + $(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \ + $(top_srcdir)/lgl/m4/gc-arcfour.m4 \ + $(top_srcdir)/lgl/m4/gc-arctwo.m4 \ + $(top_srcdir)/lgl/m4/gc-camellia.m4 \ + $(top_srcdir)/lgl/m4/gc-des.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \ + $(top_srcdir)/lgl/m4/gc-md5.m4 \ + $(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \ + $(top_srcdir)/lgl/m4/gc-random.m4 \ + $(top_srcdir)/lgl/m4/gc-rijndael.m4 \ + $(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \ + $(top_srcdir)/lgl/m4/gnulib-comp.m4 \ + $(top_srcdir)/lgl/m4/hmac-md5.m4 \ + $(top_srcdir)/lgl/m4/hmac-sha1.m4 \ + $(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \ + $(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \ + $(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \ + $(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \ + $(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \ + $(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \ + $(top_srcdir)/lgl/m4/printf.m4 \ + $(top_srcdir)/lgl/m4/read-file.m4 \ + $(top_srcdir)/lgl/m4/realloc.m4 \ + $(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \ + $(top_srcdir)/lgl/m4/snprintf.m4 \ + $(top_srcdir)/lgl/m4/sockpfaf.m4 \ + $(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \ + $(top_srcdir)/lgl/m4/stdio_h.m4 \ + $(top_srcdir)/lgl/m4/stdlib_h.m4 \ + $(top_srcdir)/lgl/m4/strcase.m4 \ + $(top_srcdir)/lgl/m4/string_h.m4 \ + $(top_srcdir)/lgl/m4/strings_h.m4 \ + $(top_srcdir)/lgl/m4/strverscmp.m4 \ + $(top_srcdir)/lgl/m4/sys_socket_h.m4 \ + $(top_srcdir)/lgl/m4/sys_stat_h.m4 \ + $(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \ + $(top_srcdir)/lgl/m4/unistd_h.m4 \ + $(top_srcdir)/lgl/m4/vasnprintf.m4 \ + $(top_srcdir)/lgl/m4/vasprintf.m4 \ + $(top_srcdir)/lgl/m4/wchar.m4 \ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/autobuild.m4 \ + $(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 \ $(top_srcdir)/gl/m4/getaddrinfo.m4 \ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ $(top_srcdir)/gl/m4/inet_ntop.m4 \ $(top_srcdir)/gl/m4/inet_pton.m4 \ - $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes_h.m4 \ - $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ - $(top_srcdir)/gl/m4/lib-prefix.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pmccabe2html.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \ - $(top_srcdir)/gl/m4/size_max.m4 \ - $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \ - $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/string_h.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/vasnprintf.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \ - $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ - $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libcfg_la_LIBADD = -am__libcfg_la_SOURCES_DIST = cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c \ - cfg/parse.c cfg/props.c cfg/shared.c cfg/platon/str/dynfgets.c \ - cfg/platon/str/strctype.c cfg/platon/str/strdyn.c \ - cfg/platon/str/strplus.c -@HAVE_LIBCFG_FALSE@am_libcfg_la_OBJECTS = libcfg_la-cfg+.lo \ -@HAVE_LIBCFG_FALSE@ libcfg_la-cfgfile.lo libcfg_la-cmdline.lo \ -@HAVE_LIBCFG_FALSE@ libcfg_la-parse.lo libcfg_la-props.lo \ -@HAVE_LIBCFG_FALSE@ libcfg_la-shared.lo libcfg_la-dynfgets.lo \ -@HAVE_LIBCFG_FALSE@ libcfg_la-strctype.lo libcfg_la-strdyn.lo \ -@HAVE_LIBCFG_FALSE@ libcfg_la-strplus.lo -libcfg_la_OBJECTS = $(am_libcfg_la_OBJECTS) -libcfg_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcfg_la_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_LIBCFG_FALSE@am_libcfg_la_rpath = -am__DEPENDENCIES_1 = -libcmd_certtool_la_DEPENDENCIES = ../gl/libgnu.la \ - $(am__DEPENDENCIES_1) ../lib/libgnutls.la \ - ../libextra/libgnutls-extra.la ../gl/libgnu.la \ - $(am__DEPENDENCIES_1) -am_libcmd_certtool_la_OBJECTS = libcmd_certtool_la-certtool-gaa.lo \ - libcmd_certtool_la-certtool-cfg.lo -libcmd_certtool_la_OBJECTS = $(am_libcmd_certtool_la_OBJECTS) -libcmd_certtool_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libcmd_certtool_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libcmd_cli_debug_la_LIBADD = -am_libcmd_cli_debug_la_OBJECTS = libcmd_cli_debug_la-tls_test-gaa.lo -libcmd_cli_debug_la_OBJECTS = $(am_libcmd_cli_debug_la_OBJECTS) -libcmd_cli_debug_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libcmd_cli_debug_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libcmd_cli_la_LIBADD = -am_libcmd_cli_la_OBJECTS = libcmd_cli_la-cli-gaa.lo -libcmd_cli_la_OBJECTS = $(am_libcmd_cli_la_OBJECTS) -libcmd_cli_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcmd_cli_la_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -libcmd_psk_la_LIBADD = -am_libcmd_psk_la_OBJECTS = libcmd_psk_la-psk-gaa.lo -libcmd_psk_la_OBJECTS = $(am_libcmd_psk_la_OBJECTS) -libcmd_psk_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcmd_psk_la_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -libcmd_serv_la_LIBADD = -am_libcmd_serv_la_OBJECTS = libcmd_serv_la-serv-gaa.lo -libcmd_serv_la_OBJECTS = $(am_libcmd_serv_la_OBJECTS) -libcmd_serv_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcmd_serv_la_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -libcmd_srp_la_LIBADD = -am__libcmd_srp_la_SOURCES_DIST = crypt.gaa crypt-gaa.h crypt-gaa.c -@ENABLE_SRP_TRUE@am_libcmd_srp_la_OBJECTS = \ -@ENABLE_SRP_TRUE@ libcmd_srp_la-crypt-gaa.lo -libcmd_srp_la_OBJECTS = $(am_libcmd_srp_la_OBJECTS) -libcmd_srp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcmd_srp_la_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_SRP_TRUE@am_libcmd_srp_la_rpath = @ENABLE_PKI_TRUE@am__EXEEXT_1 = certtool$(EXEEXT) @ENABLE_SRP_TRUE@am__EXEEXT_2 = srptool$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_certtool_OBJECTS = certtool.$(OBJEXT) prime.$(OBJEXT) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +am__certtool_SOURCES_DIST = certtool.gaa certtool-gaa.h certtool-cfg.h \ + certtool-gaa.c certtool.c prime.c certtool-cfg.c cfg/cfg+.c \ + cfg/cfgfile.c cfg/cmdline.c cfg/parse.c cfg/props.c \ + cfg/shared.c cfg/platon/str/dynfgets.c \ + cfg/platon/str/strctype.c cfg/platon/str/strdyn.c \ + cfg/platon/str/strplus.c +@HAVE_LIBCFG_FALSE@am__objects_1 = cfg+.$(OBJEXT) cfgfile.$(OBJEXT) \ +@HAVE_LIBCFG_FALSE@ cmdline.$(OBJEXT) parse.$(OBJEXT) \ +@HAVE_LIBCFG_FALSE@ props.$(OBJEXT) shared.$(OBJEXT) \ +@HAVE_LIBCFG_FALSE@ dynfgets.$(OBJEXT) strctype.$(OBJEXT) \ +@HAVE_LIBCFG_FALSE@ strdyn.$(OBJEXT) strplus.$(OBJEXT) +am_certtool_OBJECTS = certtool-gaa.$(OBJEXT) certtool.$(OBJEXT) \ + prime.$(OBJEXT) certtool-cfg.$(OBJEXT) $(am__objects_1) certtool_OBJECTS = $(am_certtool_OBJECTS) -certtool_DEPENDENCIES = ../lib/libgnutls.la \ - ../libextra/libgnutls-extra.la libcmd-certtool.la \ - ../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__append_6) -am_gnutls_cli_OBJECTS = cli.$(OBJEXT) common.$(OBJEXT) +am__DEPENDENCIES_1 = +certtool_DEPENDENCIES = ../lib/libgnutls.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../gl/libgnu.la $(am__DEPENDENCIES_1) +am_errcodes_OBJECTS = errcodes.$(OBJEXT) +errcodes_OBJECTS = $(am_errcodes_OBJECTS) +errcodes_DEPENDENCIES = ../lib/libgnutls.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../gl/libgnu.la ../lgl/liblgnu.la +am_gnutls_cli_OBJECTS = cli-gaa.$(OBJEXT) cli.$(OBJEXT) \ + common.$(OBJEXT) select.$(OBJEXT) gnutls_cli_OBJECTS = $(am_gnutls_cli_OBJECTS) -gnutls_cli_DEPENDENCIES = ../lib/libgnutls.la \ - ../libextra/libgnutls-extra.la libcmd-cli.la ../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_gnutls_cli_debug_OBJECTS = tls_test.$(OBJEXT) tests.$(OBJEXT) \ - common.$(OBJEXT) +gnutls_cli_DEPENDENCIES = ../lib/libgnutls.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../gl/libgnu.la +am_gnutls_cli_debug_OBJECTS = tls_test-gaa.$(OBJEXT) \ + tls_test.$(OBJEXT) tests.$(OBJEXT) common.$(OBJEXT) gnutls_cli_debug_OBJECTS = $(am_gnutls_cli_debug_OBJECTS) gnutls_cli_debug_DEPENDENCIES = ../lib/libgnutls.la \ - libcmd-cli-debug.la ../gl/libgnu.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_gnutls_serv_OBJECTS = serv.$(OBJEXT) common.$(OBJEXT) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) ../gl/libgnu.la +am_gnutls_serv_OBJECTS = serv-gaa.$(OBJEXT) serv.$(OBJEXT) \ + common.$(OBJEXT) select.$(OBJEXT) gnutls_serv_OBJECTS = $(am_gnutls_serv_OBJECTS) -gnutls_serv_DEPENDENCIES = ../lib/libgnutls.la \ - ../libextra/libgnutls-extra.la libcmd-serv.la ../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_psktool_OBJECTS = psk.$(OBJEXT) +gnutls_serv_DEPENDENCIES = ../lib/libgnutls.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../gl/libgnu.la +am_psktool_OBJECTS = psk-gaa.$(OBJEXT) psk.$(OBJEXT) psktool_OBJECTS = $(am_psktool_OBJECTS) -psktool_DEPENDENCIES = ../lib/libgnutls.la libcmd-psk.la \ - ../gl/libgnu.la -am__srptool_SOURCES_DIST = crypt.c -@ENABLE_SRP_TRUE@am_srptool_OBJECTS = crypt.$(OBJEXT) +psktool_DEPENDENCIES = ../lib/libgnutls.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../gl/libgnu.la ../lgl/liblgnu.la +am__srptool_SOURCES_DIST = crypt.gaa crypt-gaa.h crypt-gaa.c crypt.c +@ENABLE_SRP_TRUE@am_srptool_OBJECTS = crypt-gaa.$(OBJEXT) \ +@ENABLE_SRP_TRUE@ crypt.$(OBJEXT) srptool_OBJECTS = $(am_srptool_OBJECTS) @ENABLE_SRP_TRUE@srptool_DEPENDENCIES = ../lib/libgnutls.la \ -@ENABLE_SRP_TRUE@ libcmd-srp.la ../gl/libgnu.la +@ENABLE_SRP_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ +@ENABLE_SRP_TRUE@ ../gl/libgnu.la ../lgl/liblgnu.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles -am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -242,19 +207,13 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(libcfg_la_SOURCES) $(libcmd_certtool_la_SOURCES) \ - $(libcmd_cli_debug_la_SOURCES) $(libcmd_cli_la_SOURCES) \ - $(libcmd_psk_la_SOURCES) $(libcmd_serv_la_SOURCES) \ - $(libcmd_srp_la_SOURCES) $(certtool_SOURCES) \ +SOURCES = $(certtool_SOURCES) $(errcodes_SOURCES) \ $(gnutls_cli_SOURCES) $(gnutls_cli_debug_SOURCES) \ $(gnutls_serv_SOURCES) $(psktool_SOURCES) $(srptool_SOURCES) -DIST_SOURCES = $(am__libcfg_la_SOURCES_DIST) \ - $(libcmd_certtool_la_SOURCES) $(libcmd_cli_debug_la_SOURCES) \ - $(libcmd_cli_la_SOURCES) $(libcmd_psk_la_SOURCES) \ - $(libcmd_serv_la_SOURCES) $(am__libcmd_srp_la_SOURCES_DIST) \ - $(certtool_SOURCES) $(gnutls_cli_SOURCES) \ - $(gnutls_cli_debug_SOURCES) $(gnutls_serv_SOURCES) \ - $(psktool_SOURCES) $(am__srptool_SOURCES_DIST) +DIST_SOURCES = $(am__certtool_SOURCES_DIST) $(errcodes_SOURCES) \ + $(gnutls_cli_SOURCES) $(gnutls_cli_debug_SOURCES) \ + $(gnutls_serv_SOURCES) $(psktool_SOURCES) \ + $(am__srptool_SOURCES_DIST) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ @@ -264,43 +223,15 @@ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AS = @AS@ @@ -323,96 +254,60 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLL_VERSION = @DLL_VERSION@ DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ +ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ +EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ -FGREP = @FGREP@ +F77 = @F77@ +FFLAGS = @FFLAGS@ FLOAT_H = @FLOAT_H@ GAA = @GAA@ -GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ @@ -424,31 +319,16 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_RECV = @GNULIB_RECV@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -463,29 +343,15 @@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ @@ -493,18 +359,11 @@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ATOLL = @HAVE_ATOLL@ -HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ @@ -513,51 +372,33 @@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@ -HAVE_LIBTASN1 = @HAVE_LIBTASN1@ -HAVE_LINK = @HAVE_LINK@ +HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ -HAVE_MBRLEN = @HAVE_MBRLEN@ -HAVE_MBRTOWC = @HAVE_MBRTOWC@ -HAVE_MBSINIT = @HAVE_MBSINIT@ -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ @@ -566,123 +407,108 @@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ -HAVE_WCRTOMB = @HAVE_WCRTOMB@ -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ -HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ -INET_NTOP_LIB = @INET_NTOP_LIB@ -INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBGCRYPT = @LIBGCRYPT@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@ +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBREADLINE = @LIBREADLINE@ LIBS = @LIBS@ -LIBSOCKET = @LIBSOCKET@ -LIBTASN1 = @LIBTASN1@ -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@ -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ +LIBZ = @LIBZ@ +LIBZ_PREFIX = @LIBZ_PREFIX@ LN_S = @LN_S@ -LTALLOCA = @LTALLOCA@ LTLIBGCRYPT = @LTLIBGCRYPT@ +LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LTLIBREADLINE = @LTLIBREADLINE@ -LTLIBTASN1 = @LTLIBTASN1@ +LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ LZO_LIBS = @LZO_LIBS@ +MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ +MINOR_VERSION = @MINOR_VERSION@ MKDIR_P = @MKDIR_P@ -NETDB_H = @NETDB_H@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ -NM = @NM@ NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PATCH_VERSION = @PATCH_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@ +POSUB = @POSUB@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -694,78 +520,62 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MBRLEN = @REPLACE_MBRLEN@ -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ -REPLACE_MBSINIT = @REPLACE_MBSINIT@ -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ -REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ -REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ -SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +SOVERSION = @SOVERSION@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_IOCTL_H = @SYS_IOCTL_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_SELECT_H = @SYS_SELECT_H@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +USE_NLS = @USE_NLS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ -WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ -abs_aux_dir = @abs_aux_dir@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -797,11 +607,14 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ +lgl_LIBOBJS = @lgl_LIBOBJS@ +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ +lgltests_LIBOBJS = @lgltests_LIBOBJS@ +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -812,67 +625,57 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ +EXTRA_DIST = README README.srptool SUBDIRS = cfg -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) -AM_CPPFLAGS = \ - -I$(srcdir)/../gl \ - -I$(builddir)/../gl \ - -I$(builddir)/../lib/includes \ - -I$(srcdir)/../lib/includes \ - -I$(srcdir)/../libextra/includes \ +AM_CPPFLAGS = -I../includes -I$(top_srcdir)/includes \ + -I$(top_srcdir)/lgl -I$(top_builddir)/lgl \ + -I$(top_srcdir)/gl -I$(top_builddir)/gl \ -I$(srcdir)/cfg -noinst_LTLIBRARIES = libcmd-serv.la $(am__append_3) libcmd-psk.la \ - libcmd-cli.la libcmd-cli-debug.la $(am__append_5) \ - libcmd-certtool.la -gnutls_serv_SOURCES = list.h serv.c common.h common.c certtool-common.h -gnutls_serv_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la \ - libcmd-serv.la ../gl/libgnu.la $(LTLIBGCRYPT) $(LIBSOCKET) \ - $(GETADDRINFO_LIB) -libcmd_serv_la_CFLAGS = -libcmd_serv_la_SOURCES = serv.gaa serv-gaa.h serv-gaa.c -@ENABLE_SRP_TRUE@srptool_SOURCES = crypt.c -@ENABLE_SRP_TRUE@srptool_LDADD = ../lib/libgnutls.la libcmd-srp.la ../gl/libgnu.la -@ENABLE_SRP_TRUE@libcmd_srp_la_CFLAGS = -@ENABLE_SRP_TRUE@libcmd_srp_la_SOURCES = crypt.gaa crypt-gaa.h crypt-gaa.c -psktool_SOURCES = psk.c -psktool_LDADD = ../lib/libgnutls.la libcmd-psk.la ../gl/libgnu.la -libcmd_psk_la_CFLAGS = -libcmd_psk_la_SOURCES = psk.gaa psk-gaa.h psk-gaa.c -gnutls_cli_SOURCES = cli.c common.h common.c -gnutls_cli_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la \ - libcmd-cli.la ../gl/libgnu.la $(LTLIBGCRYPT) $(LIBSOCKET) \ - $(GETADDRINFO_LIB) -libcmd_cli_la_CFLAGS = -libcmd_cli_la_SOURCES = cli.gaa cli-gaa.h cli-gaa.c -gnutls_cli_debug_SOURCES = tls_test.c tests.h tests.c common.h common.c -gnutls_cli_debug_LDADD = ../lib/libgnutls.la libcmd-cli-debug.la \ - ../gl/libgnu.la $(LIBSOCKET) $(GETADDRINFO_LIB) -libcmd_cli_debug_la_CFLAGS = -libcmd_cli_debug_la_SOURCES = tls_test.gaa tls_test-gaa.h tls_test-gaa.c -certtool_SOURCES = certtool.c prime.c -certtool_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la \ - libcmd-certtool.la ../gl/libgnu.la $(LTLIBGCRYPT) \ - $(am__append_4) $(am__append_6) -@HAVE_LIBCFG_FALSE@libcfg_la_CFLAGS = -@HAVE_LIBCFG_FALSE@libcfg_la_SOURCES = cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c \ -@HAVE_LIBCFG_FALSE@ cfg/props.c cfg/shared.c cfg/platon/str/dynfgets.c \ -@HAVE_LIBCFG_FALSE@ cfg/platon/str/strctype.c cfg/platon/str/strdyn.c \ -@HAVE_LIBCFG_FALSE@ cfg/platon/str/strplus.c +gnutls_serv_SOURCES = serv.gaa serv-gaa.h serv-gaa.c list.h serv.c \ + common.h common.c select.c + +gnutls_serv_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) ../gl/libgnu.la + +@ENABLE_SRP_TRUE@srptool_SOURCES = crypt.gaa crypt-gaa.h crypt-gaa.c crypt.c +@ENABLE_SRP_TRUE@srptool_LDADD = ../lib/libgnutls.la \ +@ENABLE_SRP_TRUE@ $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ +@ENABLE_SRP_TRUE@ ../gl/libgnu.la ../lgl/liblgnu.la + +psktool_SOURCES = psk.gaa psk-gaa.h psk-gaa.c psk.c +psktool_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ + ../gl/libgnu.la ../lgl/liblgnu.la + +gnutls_cli_SOURCES = cli.gaa cli-gaa.h cli-gaa.c cli.c common.h \ + common.c select.c + +gnutls_cli_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) ../gl/libgnu.la + +gnutls_cli_debug_SOURCES = tls_test.gaa tls_test-gaa.h tls_test-gaa.c \ + tls_test.c tests.h tests.c common.h common.c + +gnutls_cli_debug_LDADD = ../lib/libgnutls.la \ + $(LIBGCRYPT_LIBS) \ + $(LIBTASN1_LIBS) ../gl/libgnu.la + +certtool_SOURCES = certtool.gaa certtool-gaa.h certtool-cfg.h \ + certtool-gaa.c certtool.c prime.c certtool-cfg.c \ + $(am__append_4) +certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) \ + $(LIBTASN1_LIBS) ../gl/libgnu.la @LTLIBREADLINE@ \ + $(am__append_3) +errcodes_SOURCES = errcodes.c +errcodes_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) \ + ../gl/libgnu.la ../lgl/liblgnu.la -libcmd_certtool_la_CFLAGS = -libcmd_certtool_la_SOURCES = certtool.gaa certtool-gaa.h \ - certtool-gaa.c certtool-cfg.h certtool-cfg.c - -libcmd_certtool_la_LIBADD = ../gl/libgnu.la $(LTLIBREADLINE) \ - ../lib/libgnutls.la ../libextra/libgnutls-extra.la \ - ../gl/libgnu.la $(INET_PTON_LIB) all: all-recursive .SUFFIXES: @@ -881,14 +684,14 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -906,76 +709,47 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libcfg.la: $(libcfg_la_OBJECTS) $(libcfg_la_DEPENDENCIES) - $(libcfg_la_LINK) $(am_libcfg_la_rpath) $(libcfg_la_OBJECTS) $(libcfg_la_LIBADD) $(LIBS) -libcmd-certtool.la: $(libcmd_certtool_la_OBJECTS) $(libcmd_certtool_la_DEPENDENCIES) - $(libcmd_certtool_la_LINK) $(libcmd_certtool_la_OBJECTS) $(libcmd_certtool_la_LIBADD) $(LIBS) -libcmd-cli-debug.la: $(libcmd_cli_debug_la_OBJECTS) $(libcmd_cli_debug_la_DEPENDENCIES) - $(libcmd_cli_debug_la_LINK) $(libcmd_cli_debug_la_OBJECTS) $(libcmd_cli_debug_la_LIBADD) $(LIBS) -libcmd-cli.la: $(libcmd_cli_la_OBJECTS) $(libcmd_cli_la_DEPENDENCIES) - $(libcmd_cli_la_LINK) $(libcmd_cli_la_OBJECTS) $(libcmd_cli_la_LIBADD) $(LIBS) -libcmd-psk.la: $(libcmd_psk_la_OBJECTS) $(libcmd_psk_la_DEPENDENCIES) - $(libcmd_psk_la_LINK) $(libcmd_psk_la_OBJECTS) $(libcmd_psk_la_LIBADD) $(LIBS) -libcmd-serv.la: $(libcmd_serv_la_OBJECTS) $(libcmd_serv_la_DEPENDENCIES) - $(libcmd_serv_la_LINK) $(libcmd_serv_la_OBJECTS) $(libcmd_serv_la_LIBADD) $(LIBS) -libcmd-srp.la: $(libcmd_srp_la_OBJECTS) $(libcmd_srp_la_DEPENDENCIES) - $(libcmd_srp_la_LINK) $(am_libcmd_srp_la_rpath) $(libcmd_srp_la_OBJECTS) $(libcmd_srp_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done certtool$(EXEEXT): $(certtool_OBJECTS) $(certtool_DEPENDENCIES) @rm -f certtool$(EXEEXT) $(LINK) $(certtool_OBJECTS) $(certtool_LDADD) $(LIBS) +errcodes$(EXEEXT): $(errcodes_OBJECTS) $(errcodes_DEPENDENCIES) + @rm -f errcodes$(EXEEXT) + $(LINK) $(errcodes_OBJECTS) $(errcodes_LDADD) $(LIBS) gnutls-cli$(EXEEXT): $(gnutls_cli_OBJECTS) $(gnutls_cli_DEPENDENCIES) @rm -f gnutls-cli$(EXEEXT) $(LINK) $(gnutls_cli_OBJECTS) $(gnutls_cli_LDADD) $(LIBS) @@ -998,172 +772,195 @@ distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certtool-cfg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certtool-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certtool.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfg+.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfgfile.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cli-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cli.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmdline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-cfg+.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-cfgfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-cmdline.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-dynfgets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-parse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-props.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-shared.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-strctype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-strdyn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfg_la-strplus.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_certtool_la-certtool-cfg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_certtool_la-certtool-gaa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_cli_debug_la-tls_test-gaa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_cli_la-cli-gaa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_psk_la-psk-gaa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_serv_la-serv-gaa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmd_srp_la-crypt-gaa.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynfgets.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errcodes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prime.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/props.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psk-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psk.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/serv-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/serv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shared.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strctype.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdyn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strplus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tests.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_test-gaa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -libcfg_la-cfg+.lo: cfg/cfg+.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-cfg+.lo -MD -MP -MF $(DEPDIR)/libcfg_la-cfg+.Tpo -c -o libcfg_la-cfg+.lo `test -f 'cfg/cfg+.c' || echo '$(srcdir)/'`cfg/cfg+.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-cfg+.Tpo $(DEPDIR)/libcfg_la-cfg+.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfg+.c' object='libcfg_la-cfg+.lo' libtool=yes @AMDEPBACKSLASH@ +cfg+.o: cfg/cfg+.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfg+.o -MD -MP -MF $(DEPDIR)/cfg+.Tpo -c -o cfg+.o `test -f 'cfg/cfg+.c' || echo '$(srcdir)/'`cfg/cfg+.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfg+.Tpo $(DEPDIR)/cfg+.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfg+.c' object='cfg+.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfg+.o `test -f 'cfg/cfg+.c' || echo '$(srcdir)/'`cfg/cfg+.c + +cfg+.obj: cfg/cfg+.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfg+.obj -MD -MP -MF $(DEPDIR)/cfg+.Tpo -c -o cfg+.obj `if test -f 'cfg/cfg+.c'; then $(CYGPATH_W) 'cfg/cfg+.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cfg+.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfg+.Tpo $(DEPDIR)/cfg+.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfg+.c' object='cfg+.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-cfg+.lo `test -f 'cfg/cfg+.c' || echo '$(srcdir)/'`cfg/cfg+.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfg+.obj `if test -f 'cfg/cfg+.c'; then $(CYGPATH_W) 'cfg/cfg+.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cfg+.c'; fi` -libcfg_la-cfgfile.lo: cfg/cfgfile.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-cfgfile.lo -MD -MP -MF $(DEPDIR)/libcfg_la-cfgfile.Tpo -c -o libcfg_la-cfgfile.lo `test -f 'cfg/cfgfile.c' || echo '$(srcdir)/'`cfg/cfgfile.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-cfgfile.Tpo $(DEPDIR)/libcfg_la-cfgfile.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfgfile.c' object='libcfg_la-cfgfile.lo' libtool=yes @AMDEPBACKSLASH@ +cfgfile.o: cfg/cfgfile.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfgfile.o -MD -MP -MF $(DEPDIR)/cfgfile.Tpo -c -o cfgfile.o `test -f 'cfg/cfgfile.c' || echo '$(srcdir)/'`cfg/cfgfile.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfgfile.Tpo $(DEPDIR)/cfgfile.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfgfile.c' object='cfgfile.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-cfgfile.lo `test -f 'cfg/cfgfile.c' || echo '$(srcdir)/'`cfg/cfgfile.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfgfile.o `test -f 'cfg/cfgfile.c' || echo '$(srcdir)/'`cfg/cfgfile.c -libcfg_la-cmdline.lo: cfg/cmdline.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-cmdline.lo -MD -MP -MF $(DEPDIR)/libcfg_la-cmdline.Tpo -c -o libcfg_la-cmdline.lo `test -f 'cfg/cmdline.c' || echo '$(srcdir)/'`cfg/cmdline.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-cmdline.Tpo $(DEPDIR)/libcfg_la-cmdline.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cmdline.c' object='libcfg_la-cmdline.lo' libtool=yes @AMDEPBACKSLASH@ +cfgfile.obj: cfg/cfgfile.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfgfile.obj -MD -MP -MF $(DEPDIR)/cfgfile.Tpo -c -o cfgfile.obj `if test -f 'cfg/cfgfile.c'; then $(CYGPATH_W) 'cfg/cfgfile.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cfgfile.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfgfile.Tpo $(DEPDIR)/cfgfile.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cfgfile.c' object='cfgfile.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-cmdline.lo `test -f 'cfg/cmdline.c' || echo '$(srcdir)/'`cfg/cmdline.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfgfile.obj `if test -f 'cfg/cfgfile.c'; then $(CYGPATH_W) 'cfg/cfgfile.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cfgfile.c'; fi` -libcfg_la-parse.lo: cfg/parse.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-parse.lo -MD -MP -MF $(DEPDIR)/libcfg_la-parse.Tpo -c -o libcfg_la-parse.lo `test -f 'cfg/parse.c' || echo '$(srcdir)/'`cfg/parse.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-parse.Tpo $(DEPDIR)/libcfg_la-parse.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/parse.c' object='libcfg_la-parse.lo' libtool=yes @AMDEPBACKSLASH@ +cmdline.o: cfg/cmdline.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmdline.o -MD -MP -MF $(DEPDIR)/cmdline.Tpo -c -o cmdline.o `test -f 'cfg/cmdline.c' || echo '$(srcdir)/'`cfg/cmdline.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cmdline.Tpo $(DEPDIR)/cmdline.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cmdline.c' object='cmdline.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-parse.lo `test -f 'cfg/parse.c' || echo '$(srcdir)/'`cfg/parse.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmdline.o `test -f 'cfg/cmdline.c' || echo '$(srcdir)/'`cfg/cmdline.c -libcfg_la-props.lo: cfg/props.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-props.lo -MD -MP -MF $(DEPDIR)/libcfg_la-props.Tpo -c -o libcfg_la-props.lo `test -f 'cfg/props.c' || echo '$(srcdir)/'`cfg/props.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-props.Tpo $(DEPDIR)/libcfg_la-props.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/props.c' object='libcfg_la-props.lo' libtool=yes @AMDEPBACKSLASH@ +cmdline.obj: cfg/cmdline.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmdline.obj -MD -MP -MF $(DEPDIR)/cmdline.Tpo -c -o cmdline.obj `if test -f 'cfg/cmdline.c'; then $(CYGPATH_W) 'cfg/cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cmdline.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cmdline.Tpo $(DEPDIR)/cmdline.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/cmdline.c' object='cmdline.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-props.lo `test -f 'cfg/props.c' || echo '$(srcdir)/'`cfg/props.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmdline.obj `if test -f 'cfg/cmdline.c'; then $(CYGPATH_W) 'cfg/cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cfg/cmdline.c'; fi` -libcfg_la-shared.lo: cfg/shared.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-shared.lo -MD -MP -MF $(DEPDIR)/libcfg_la-shared.Tpo -c -o libcfg_la-shared.lo `test -f 'cfg/shared.c' || echo '$(srcdir)/'`cfg/shared.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-shared.Tpo $(DEPDIR)/libcfg_la-shared.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/shared.c' object='libcfg_la-shared.lo' libtool=yes @AMDEPBACKSLASH@ +parse.o: cfg/parse.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parse.o -MD -MP -MF $(DEPDIR)/parse.Tpo -c -o parse.o `test -f 'cfg/parse.c' || echo '$(srcdir)/'`cfg/parse.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/parse.Tpo $(DEPDIR)/parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/parse.c' object='parse.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-shared.lo `test -f 'cfg/shared.c' || echo '$(srcdir)/'`cfg/shared.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parse.o `test -f 'cfg/parse.c' || echo '$(srcdir)/'`cfg/parse.c -libcfg_la-dynfgets.lo: cfg/platon/str/dynfgets.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-dynfgets.lo -MD -MP -MF $(DEPDIR)/libcfg_la-dynfgets.Tpo -c -o libcfg_la-dynfgets.lo `test -f 'cfg/platon/str/dynfgets.c' || echo '$(srcdir)/'`cfg/platon/str/dynfgets.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-dynfgets.Tpo $(DEPDIR)/libcfg_la-dynfgets.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/dynfgets.c' object='libcfg_la-dynfgets.lo' libtool=yes @AMDEPBACKSLASH@ +parse.obj: cfg/parse.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parse.obj -MD -MP -MF $(DEPDIR)/parse.Tpo -c -o parse.obj `if test -f 'cfg/parse.c'; then $(CYGPATH_W) 'cfg/parse.c'; else $(CYGPATH_W) '$(srcdir)/cfg/parse.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/parse.Tpo $(DEPDIR)/parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/parse.c' object='parse.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-dynfgets.lo `test -f 'cfg/platon/str/dynfgets.c' || echo '$(srcdir)/'`cfg/platon/str/dynfgets.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parse.obj `if test -f 'cfg/parse.c'; then $(CYGPATH_W) 'cfg/parse.c'; else $(CYGPATH_W) '$(srcdir)/cfg/parse.c'; fi` -libcfg_la-strctype.lo: cfg/platon/str/strctype.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-strctype.lo -MD -MP -MF $(DEPDIR)/libcfg_la-strctype.Tpo -c -o libcfg_la-strctype.lo `test -f 'cfg/platon/str/strctype.c' || echo '$(srcdir)/'`cfg/platon/str/strctype.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-strctype.Tpo $(DEPDIR)/libcfg_la-strctype.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strctype.c' object='libcfg_la-strctype.lo' libtool=yes @AMDEPBACKSLASH@ +props.o: cfg/props.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT props.o -MD -MP -MF $(DEPDIR)/props.Tpo -c -o props.o `test -f 'cfg/props.c' || echo '$(srcdir)/'`cfg/props.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/props.Tpo $(DEPDIR)/props.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/props.c' object='props.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-strctype.lo `test -f 'cfg/platon/str/strctype.c' || echo '$(srcdir)/'`cfg/platon/str/strctype.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o props.o `test -f 'cfg/props.c' || echo '$(srcdir)/'`cfg/props.c -libcfg_la-strdyn.lo: cfg/platon/str/strdyn.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-strdyn.lo -MD -MP -MF $(DEPDIR)/libcfg_la-strdyn.Tpo -c -o libcfg_la-strdyn.lo `test -f 'cfg/platon/str/strdyn.c' || echo '$(srcdir)/'`cfg/platon/str/strdyn.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-strdyn.Tpo $(DEPDIR)/libcfg_la-strdyn.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strdyn.c' object='libcfg_la-strdyn.lo' libtool=yes @AMDEPBACKSLASH@ +props.obj: cfg/props.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT props.obj -MD -MP -MF $(DEPDIR)/props.Tpo -c -o props.obj `if test -f 'cfg/props.c'; then $(CYGPATH_W) 'cfg/props.c'; else $(CYGPATH_W) '$(srcdir)/cfg/props.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/props.Tpo $(DEPDIR)/props.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/props.c' object='props.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-strdyn.lo `test -f 'cfg/platon/str/strdyn.c' || echo '$(srcdir)/'`cfg/platon/str/strdyn.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o props.obj `if test -f 'cfg/props.c'; then $(CYGPATH_W) 'cfg/props.c'; else $(CYGPATH_W) '$(srcdir)/cfg/props.c'; fi` -libcfg_la-strplus.lo: cfg/platon/str/strplus.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -MT libcfg_la-strplus.lo -MD -MP -MF $(DEPDIR)/libcfg_la-strplus.Tpo -c -o libcfg_la-strplus.lo `test -f 'cfg/platon/str/strplus.c' || echo '$(srcdir)/'`cfg/platon/str/strplus.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcfg_la-strplus.Tpo $(DEPDIR)/libcfg_la-strplus.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strplus.c' object='libcfg_la-strplus.lo' libtool=yes @AMDEPBACKSLASH@ +shared.o: cfg/shared.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shared.o -MD -MP -MF $(DEPDIR)/shared.Tpo -c -o shared.o `test -f 'cfg/shared.c' || echo '$(srcdir)/'`cfg/shared.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/shared.Tpo $(DEPDIR)/shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/shared.c' object='shared.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfg_la_CFLAGS) $(CFLAGS) -c -o libcfg_la-strplus.lo `test -f 'cfg/platon/str/strplus.c' || echo '$(srcdir)/'`cfg/platon/str/strplus.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shared.o `test -f 'cfg/shared.c' || echo '$(srcdir)/'`cfg/shared.c -libcmd_certtool_la-certtool-gaa.lo: certtool-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_certtool_la_CFLAGS) $(CFLAGS) -MT libcmd_certtool_la-certtool-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_certtool_la-certtool-gaa.Tpo -c -o libcmd_certtool_la-certtool-gaa.lo `test -f 'certtool-gaa.c' || echo '$(srcdir)/'`certtool-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_certtool_la-certtool-gaa.Tpo $(DEPDIR)/libcmd_certtool_la-certtool-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='certtool-gaa.c' object='libcmd_certtool_la-certtool-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +shared.obj: cfg/shared.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shared.obj -MD -MP -MF $(DEPDIR)/shared.Tpo -c -o shared.obj `if test -f 'cfg/shared.c'; then $(CYGPATH_W) 'cfg/shared.c'; else $(CYGPATH_W) '$(srcdir)/cfg/shared.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/shared.Tpo $(DEPDIR)/shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/shared.c' object='shared.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_certtool_la_CFLAGS) $(CFLAGS) -c -o libcmd_certtool_la-certtool-gaa.lo `test -f 'certtool-gaa.c' || echo '$(srcdir)/'`certtool-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shared.obj `if test -f 'cfg/shared.c'; then $(CYGPATH_W) 'cfg/shared.c'; else $(CYGPATH_W) '$(srcdir)/cfg/shared.c'; fi` -libcmd_certtool_la-certtool-cfg.lo: certtool-cfg.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_certtool_la_CFLAGS) $(CFLAGS) -MT libcmd_certtool_la-certtool-cfg.lo -MD -MP -MF $(DEPDIR)/libcmd_certtool_la-certtool-cfg.Tpo -c -o libcmd_certtool_la-certtool-cfg.lo `test -f 'certtool-cfg.c' || echo '$(srcdir)/'`certtool-cfg.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_certtool_la-certtool-cfg.Tpo $(DEPDIR)/libcmd_certtool_la-certtool-cfg.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='certtool-cfg.c' object='libcmd_certtool_la-certtool-cfg.lo' libtool=yes @AMDEPBACKSLASH@ +dynfgets.o: cfg/platon/str/dynfgets.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dynfgets.o -MD -MP -MF $(DEPDIR)/dynfgets.Tpo -c -o dynfgets.o `test -f 'cfg/platon/str/dynfgets.c' || echo '$(srcdir)/'`cfg/platon/str/dynfgets.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dynfgets.Tpo $(DEPDIR)/dynfgets.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/dynfgets.c' object='dynfgets.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_certtool_la_CFLAGS) $(CFLAGS) -c -o libcmd_certtool_la-certtool-cfg.lo `test -f 'certtool-cfg.c' || echo '$(srcdir)/'`certtool-cfg.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dynfgets.o `test -f 'cfg/platon/str/dynfgets.c' || echo '$(srcdir)/'`cfg/platon/str/dynfgets.c -libcmd_cli_debug_la-tls_test-gaa.lo: tls_test-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_cli_debug_la_CFLAGS) $(CFLAGS) -MT libcmd_cli_debug_la-tls_test-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_cli_debug_la-tls_test-gaa.Tpo -c -o libcmd_cli_debug_la-tls_test-gaa.lo `test -f 'tls_test-gaa.c' || echo '$(srcdir)/'`tls_test-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_cli_debug_la-tls_test-gaa.Tpo $(DEPDIR)/libcmd_cli_debug_la-tls_test-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tls_test-gaa.c' object='libcmd_cli_debug_la-tls_test-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +dynfgets.obj: cfg/platon/str/dynfgets.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dynfgets.obj -MD -MP -MF $(DEPDIR)/dynfgets.Tpo -c -o dynfgets.obj `if test -f 'cfg/platon/str/dynfgets.c'; then $(CYGPATH_W) 'cfg/platon/str/dynfgets.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/dynfgets.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dynfgets.Tpo $(DEPDIR)/dynfgets.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/dynfgets.c' object='dynfgets.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_cli_debug_la_CFLAGS) $(CFLAGS) -c -o libcmd_cli_debug_la-tls_test-gaa.lo `test -f 'tls_test-gaa.c' || echo '$(srcdir)/'`tls_test-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dynfgets.obj `if test -f 'cfg/platon/str/dynfgets.c'; then $(CYGPATH_W) 'cfg/platon/str/dynfgets.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/dynfgets.c'; fi` -libcmd_cli_la-cli-gaa.lo: cli-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_cli_la_CFLAGS) $(CFLAGS) -MT libcmd_cli_la-cli-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_cli_la-cli-gaa.Tpo -c -o libcmd_cli_la-cli-gaa.lo `test -f 'cli-gaa.c' || echo '$(srcdir)/'`cli-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_cli_la-cli-gaa.Tpo $(DEPDIR)/libcmd_cli_la-cli-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cli-gaa.c' object='libcmd_cli_la-cli-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +strctype.o: cfg/platon/str/strctype.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strctype.o -MD -MP -MF $(DEPDIR)/strctype.Tpo -c -o strctype.o `test -f 'cfg/platon/str/strctype.c' || echo '$(srcdir)/'`cfg/platon/str/strctype.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strctype.Tpo $(DEPDIR)/strctype.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strctype.c' object='strctype.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_cli_la_CFLAGS) $(CFLAGS) -c -o libcmd_cli_la-cli-gaa.lo `test -f 'cli-gaa.c' || echo '$(srcdir)/'`cli-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strctype.o `test -f 'cfg/platon/str/strctype.c' || echo '$(srcdir)/'`cfg/platon/str/strctype.c -libcmd_psk_la-psk-gaa.lo: psk-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_psk_la_CFLAGS) $(CFLAGS) -MT libcmd_psk_la-psk-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_psk_la-psk-gaa.Tpo -c -o libcmd_psk_la-psk-gaa.lo `test -f 'psk-gaa.c' || echo '$(srcdir)/'`psk-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_psk_la-psk-gaa.Tpo $(DEPDIR)/libcmd_psk_la-psk-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='psk-gaa.c' object='libcmd_psk_la-psk-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +strctype.obj: cfg/platon/str/strctype.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strctype.obj -MD -MP -MF $(DEPDIR)/strctype.Tpo -c -o strctype.obj `if test -f 'cfg/platon/str/strctype.c'; then $(CYGPATH_W) 'cfg/platon/str/strctype.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strctype.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strctype.Tpo $(DEPDIR)/strctype.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strctype.c' object='strctype.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_psk_la_CFLAGS) $(CFLAGS) -c -o libcmd_psk_la-psk-gaa.lo `test -f 'psk-gaa.c' || echo '$(srcdir)/'`psk-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strctype.obj `if test -f 'cfg/platon/str/strctype.c'; then $(CYGPATH_W) 'cfg/platon/str/strctype.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strctype.c'; fi` -libcmd_serv_la-serv-gaa.lo: serv-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_serv_la_CFLAGS) $(CFLAGS) -MT libcmd_serv_la-serv-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_serv_la-serv-gaa.Tpo -c -o libcmd_serv_la-serv-gaa.lo `test -f 'serv-gaa.c' || echo '$(srcdir)/'`serv-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_serv_la-serv-gaa.Tpo $(DEPDIR)/libcmd_serv_la-serv-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serv-gaa.c' object='libcmd_serv_la-serv-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +strdyn.o: cfg/platon/str/strdyn.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdyn.o -MD -MP -MF $(DEPDIR)/strdyn.Tpo -c -o strdyn.o `test -f 'cfg/platon/str/strdyn.c' || echo '$(srcdir)/'`cfg/platon/str/strdyn.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strdyn.Tpo $(DEPDIR)/strdyn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strdyn.c' object='strdyn.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_serv_la_CFLAGS) $(CFLAGS) -c -o libcmd_serv_la-serv-gaa.lo `test -f 'serv-gaa.c' || echo '$(srcdir)/'`serv-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdyn.o `test -f 'cfg/platon/str/strdyn.c' || echo '$(srcdir)/'`cfg/platon/str/strdyn.c -libcmd_srp_la-crypt-gaa.lo: crypt-gaa.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_srp_la_CFLAGS) $(CFLAGS) -MT libcmd_srp_la-crypt-gaa.lo -MD -MP -MF $(DEPDIR)/libcmd_srp_la-crypt-gaa.Tpo -c -o libcmd_srp_la-crypt-gaa.lo `test -f 'crypt-gaa.c' || echo '$(srcdir)/'`crypt-gaa.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libcmd_srp_la-crypt-gaa.Tpo $(DEPDIR)/libcmd_srp_la-crypt-gaa.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crypt-gaa.c' object='libcmd_srp_la-crypt-gaa.lo' libtool=yes @AMDEPBACKSLASH@ +strdyn.obj: cfg/platon/str/strdyn.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdyn.obj -MD -MP -MF $(DEPDIR)/strdyn.Tpo -c -o strdyn.obj `if test -f 'cfg/platon/str/strdyn.c'; then $(CYGPATH_W) 'cfg/platon/str/strdyn.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strdyn.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strdyn.Tpo $(DEPDIR)/strdyn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strdyn.c' object='strdyn.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcmd_srp_la_CFLAGS) $(CFLAGS) -c -o libcmd_srp_la-crypt-gaa.lo `test -f 'crypt-gaa.c' || echo '$(srcdir)/'`crypt-gaa.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdyn.obj `if test -f 'cfg/platon/str/strdyn.c'; then $(CYGPATH_W) 'cfg/platon/str/strdyn.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strdyn.c'; fi` + +strplus.o: cfg/platon/str/strplus.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strplus.o -MD -MP -MF $(DEPDIR)/strplus.Tpo -c -o strplus.o `test -f 'cfg/platon/str/strplus.c' || echo '$(srcdir)/'`cfg/platon/str/strplus.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strplus.Tpo $(DEPDIR)/strplus.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strplus.c' object='strplus.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strplus.o `test -f 'cfg/platon/str/strplus.c' || echo '$(srcdir)/'`cfg/platon/str/strplus.c + +strplus.obj: cfg/platon/str/strplus.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strplus.obj -MD -MP -MF $(DEPDIR)/strplus.Tpo -c -o strplus.obj `if test -f 'cfg/platon/str/strplus.c'; then $(CYGPATH_W) 'cfg/platon/str/strplus.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strplus.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strplus.Tpo $(DEPDIR)/strplus.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cfg/platon/str/strplus.c' object='strplus.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strplus.obj `if test -f 'cfg/platon/str/strplus.c'; then $(CYGPATH_W) 'cfg/platon/str/strplus.c'; else $(CYGPATH_W) '$(srcdir)/cfg/platon/str/strplus.c'; fi` mostlyclean-libtool: -rm -f *.lo @@ -1178,7 +975,7 @@ # (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): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1195,7 +992,7 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -1203,7 +1000,7 @@ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ + @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -1229,16 +1026,16 @@ else \ local_target="$$target"; \ fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -1246,14 +1043,14 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - set x; \ + tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -1265,7 +1062,7 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1274,34 +1071,29 @@ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) + tags=; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique + $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1322,51 +1114,36 @@ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ - am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) +all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ @@ -1392,7 +1169,6 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1400,7 +1176,7 @@ clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am + clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) @@ -1414,8 +1190,6 @@ html: html-recursive -html-am: - info: info-recursive info-am: @@ -1424,28 +1198,18 @@ install-dvi: install-dvi-recursive -install-dvi-am: - install-exec-am: install-binPROGRAMS install-html: install-html-recursive -install-html-am: - install-info: install-info-recursive -install-info-am: - install-man: install-pdf: install-pdf-recursive -install-pdf-am: - install-ps: install-ps-recursive -install-ps-am: - installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -1468,12 +1232,12 @@ uninstall-am: uninstall-binPROGRAMS -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ + clean-generic clean-libtool clean-noinstPROGRAMS ctags \ ctags-recursive distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ @@ -1500,7 +1264,6 @@ -$(GAA) $< -o tls_test-gaa.c -i tls_test-gaa.h serv-gaa.c: $(srcdir)/serv.gaa -$(GAA) $< -o serv-gaa.c -i serv-gaa.h - # 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: diff -Nru gnutls26-2.8.6/src/prime.c gnutls26-2.4.1/src/prime.c --- gnutls26-2.8.6/src/prime.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/prime.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004,2005,2007,2008,2009 Free Software Foundation + * Copyright (C) 2004,2005,2007 Free Software Foundation * Copyright (C) 2001,2002,2003 Nikos Mavrogiannopoulos * * This file is part of GNUTLS. @@ -8,12 +8,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS 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, see . */ @@ -28,7 +28,7 @@ #include #include -/* Generates Diffie-Hellman parameters (a prime and a generator +/* Generates Diffie Hellman parameters (a prime and a generator * of the group). Exports them in PKCS #3 format. Used by certtool. */ @@ -39,8 +39,6 @@ static int cparams = 0; -int generate_prime (int bits, int how); - /* If how is zero then the included parameters are used. */ int @@ -176,6 +174,7 @@ if (!cparams) { /* generate a PKCS#3 structure */ + int ret; size_t len = buffer_size; ret = gnutls_dh_params_export_pkcs3 (dh_params, GNUTLS_X509_FMT_PEM, diff -Nru gnutls26-2.8.6/src/psk.c gnutls26-2.4.1/src/psk.c --- gnutls26-2.8.6/src/psk.c 2009-07-22 19:26:40.000000000 +0100 +++ gnutls26-2.4.1/src/psk.c 2008-06-30 21:45:51.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2005, 2007, 2008 Free Software Foundation * * This file is part of GNUTLS. * @@ -19,14 +19,13 @@ #include -/* Gnulib portability files. */ -#include -#include +#define _MAX(x,y) (x>y?x:y) #ifndef ENABLE_PSK #include + int main (int argc, char **argv) { @@ -34,6 +33,12 @@ return 1; }; +void +psktool_version (void) +{ + fprintf (stderr, "GNU TLS dummy psktool.\n"); +} + #else #include @@ -43,7 +48,8 @@ #include #include -#include "../lib/random.h" /* for random */ +#include /* for randomize */ +#include "getpass.h" #include #include @@ -55,13 +61,20 @@ # include #endif -/* Gnulib portability files. */ -#include -#include "getpass.h" - static int write_key (const char *username, const char *key, int key_size, char *passwd_file); +void +psktool_version (void) +{ + const char *v = gnutls_check_version (NULL); + + printf ("psktool (GnuTLS) %s\n", LIBGNUTLS_VERSION); + if (strcmp (v, LIBGNUTLS_VERSION) != 0) + printf ("libgnutls %s\n", v); +} + + #define KPASSWD "/etc/passwd.psk" #define MAX_KEY_SIZE 64 int @@ -75,8 +88,6 @@ gnutls_datum_t dkey; size_t hex_key_size = sizeof (hex_key); - set_program_name (argv[0]); - if ((ret = gnutls_global_init ()) < 0) { fprintf (stderr, "global_init: %s\n", gnutls_strerror (ret)); @@ -92,7 +103,7 @@ } if (info.passwd == NULL) - info.passwd = (char*) KPASSWD; + info.passwd = KPASSWD; if (info.username == NULL) { @@ -137,12 +148,8 @@ ret = gnutls_psk_netconf_derive_key (passwd, info.username, - info.netconf_hint, &dkey); - if (ret < 0) - { - fprintf (stderr, "Deriving the key failed\n"); - exit (1); - } + info.netconf_hint, + &dkey); } else { @@ -151,8 +158,8 @@ printf ("Generating a random key for user '%s'\n", info.username); - ret = _gnutls_rnd (GNUTLS_RND_RANDOM, (char *) key, info.key_size); - if (ret < 0) + ret = gc_pseudo_random ((char *) key, info.key_size); + if (ret != GC_OK) { fprintf (stderr, "Not enough randomness\n"); exit (1); @@ -279,8 +286,9 @@ if (pp == NULL) continue; - if (strncmp (p, username, - MAX (strlen (username), (unsigned int) (pp - p))) == 0) + if (strncmp + (p, username, + _MAX (strlen (username), (unsigned int) (pp - p))) == 0) { put = 1; fprintf (fd, "%s:%s\n", username, key); @@ -307,15 +315,3 @@ } #endif /* ENABLE_PSK */ - -void psktool_version (void); - -void -psktool_version (void) -{ - const char *p = PACKAGE_NAME; - if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0) - p = PACKAGE_STRING; - version_etc (stdout, "psktool", p, gnutls_check_version (NULL), - "Nikos Mavrogiannopoulos", (char *) NULL); -} diff -Nru gnutls26-2.8.6/src/psk-gaa.c gnutls26-2.4.1/src/psk-gaa.c --- gnutls26-2.8.6/src/psk-gaa.c 2009-06-02 19:59:32.000000000 +0100 +++ gnutls26-2.4.1/src/psk-gaa.c 2008-06-30 21:45:51.000000000 +0100 @@ -377,12 +377,31 @@ return tmp; } +static char gaa_getchar(char *arg) +{ + if(strlen(arg) != 1) + { + printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); + GAAERROR(-1); + } + return arg[0]; +} static char* gaa_getstr(char *arg) { return arg; } - +static float gaa_getfloat(char *arg) +{ + float tmp; + char a; + if(sscanf(arg, "%f%c", &tmp, &a) < 1) + { + printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); + GAAERROR(-1); + } + return tmp; +} /* option structures */ struct GAAOPTION_keysize @@ -556,19 +575,16 @@ int gaa(int argc, char **argv, gaainfo *gaaval) { int tmp1, tmp2; - int l; - size_t i, j; + int i, j; char *opt_list; - i = 0; - GAAargv = argv; GAAargc = argc; opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1); - for(l = 0; l < GAA_NB_OPTION + 1; l++) - opt_list[l] = 0; + for(i = 0; i < GAA_NB_OPTION + 1; i++) + opt_list[i] = 0; /* initialization */ if(inited == 0) { @@ -585,27 +601,27 @@ gaa_arg_used = gaa_malloc(argc * sizeof(char)); } - for(l = 1; l < argc; l++) - gaa_arg_used[l] = 0; - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) + gaa_arg_used[i] = 0; + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { j = 0; - tmp1 = gaa_is_an_argument(GAAargv[l]); + tmp1 = gaa_is_an_argument(GAAargv[i]); switch(tmp1) { case GAA_WORD_OPTION: j++; case GAA_LETTER_OPTION: j++; - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%s'\n", argv[l]+j); + printf("Invalid option '%s'\n", argv[i]+j); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -618,18 +634,18 @@ default: printf("Unknown error\n"); } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; case GAA_MULTIPLE_OPTION: - for(j = 1; j < strlen(argv[l]); j++) + for(j = 1; j < strlen(argv[i]); j++) { - tmp2 = gaa_get_option_num(argv[l]+j, tmp1); + tmp2 = gaa_get_option_num(argv[i]+j, tmp1); if(tmp2 == GAA_ERROR_NOMATCH) { - printf("Invalid option '%c'\n", *(argv[l]+j)); + printf("Invalid option '%c'\n", *(argv[i]+j)); return 0; } - switch(gaa_try(tmp2, l+1, gaaval, opt_list)) + switch(gaa_try(tmp2, i+1, gaaval, opt_list)) { case GAA_ERROR_NOTENOUGH_ARGS: printf("'%s': not enough arguments\n",gaa_current_option); @@ -643,7 +659,7 @@ printf("Unknown error\n"); } } - gaa_arg_used[l] = 1; + gaa_arg_used[i] = 1; break; default: break; } @@ -669,9 +685,9 @@ } #endif } - for(l = 1; l < argc; l++) + for(i = 1; i < argc; i++) { - if(gaa_arg_used[l] == 0) + if(gaa_arg_used[i] == 0) { printf("Too many arguments\n"); return 0; diff -Nru gnutls26-2.8.6/src/README gnutls26-2.4.1/src/README --- gnutls26-2.8.6/src/README 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/src/README 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,9 @@ +In this directory you will find example applications +that use gnutls and libgcrypt. + +serv.c: + an example TLS/SSL server application. + +cli.c: + a TLS client application. + diff -Nru gnutls26-2.8.6/src/README.srptool gnutls26-2.4.1/src/README.srptool --- gnutls26-2.8.6/src/README.srptool 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/src/README.srptool 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,30 @@ +srptool is a very simple program that emulates the programs in the libsrp +found in http://srp.stanford.edu. + +It is intended for use in places where you don't expect srp +authentication to be the performed to system users. If this +is the case use libsrp and the pam modules provided. + + +Libsrp uses two files. One called 'tpasswd' which holds usernames and +verifiers, and 'tpasswd.conf' which holds generators and primes. + +How to use srptool: + +Run: srptool --create-conf /etc/tpasswd.conf + +* This will create tpasswd.conf which holds the g and n values for +SRP protocol (generator and a large prime). + +Run: srptool --passwd /etc/tpasswd --passwd-conf /etc/tpasswd.conf -u test + +* This will create /etc/tpasswd and will add user 'test' (you will also +be prompted for a password). Verifiers are stored by default in the +way libsrp expects (using a modified SHA()). However using this tool you +may also specify blowfish crypt instead of SHA (see --crypt parameter). + +Run: srptool --passwd /etc/tpasswd --passwd-conf /etc/tpasswd.conf --verify -u test + +* You will be promted for a password, and if this password matches the one +in /etc/tpasswd you will get an ok. + diff -Nru gnutls26-2.8.6/src/select.c gnutls26-2.4.1/src/select.c --- gnutls26-2.8.6/src/select.c 1970-01-01 01:00:00.000000000 +0100 +++ gnutls26-2.4.1/src/select.c 2008-06-19 11:00:10.000000000 +0100 @@ -0,0 +1,265 @@ +/* GnuTLS modifications: */ +#define SetErrnoFromWinsockError(x) errno = EIO; +#define SetErrnoFromWinError(x) x + +#include + +#include +#include +#include +#include +#include +#include + +#include "common.h" + +#if defined _WIN32 || defined __WIN32__ + +/* + This file is part of PlibC. + (C) 2005, 2006 Nils Durner (and other contributing authors) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + * Code originally written by Wez Furlong + * who originally placed it under the PHP License Version 3.0. + * Adapted for GNUnet by Nils Durner . + * GPLed with permission from Wez Furlong (see E-mail on + * gnunet-developers, also quoted in the GNUnet CVS logs). + * + * @file src/select.c + * @brief select implementation for Win32 + * @author Wez Furlong + * @author Nils Durner (GNUnet extensions) + */ + +/* + * Win32 select() will only work with sockets, so we roll our own + * implementation here. + * - If you supply only sockets, this simply passes through to winsock select(). + * - If you supply file handles, there is no way to distinguish between + * ready for read/write or OOB, so any set in which the handle is found will + * be marked as ready. + * - If you supply a mixture of handles and sockets, the system will interleave + * calls between select() and WaitForMultipleObjects(). The time slicing may + * cause this function call to take up to 100 ms longer than you specified. + * - Pipes are not checked for writability or errors (errno = ENOSYS) + */ +int _win_select(int max_fd, fd_set * rfds, fd_set * wfds, fd_set * efds, + const struct timeval *tv) +{ + DWORD ms_total, limit; + HANDLE handles[MAXIMUM_WAIT_OBJECTS], hPipes[MAXIMUM_WAIT_OBJECTS]; + int handle_slot_to_fd[MAXIMUM_WAIT_OBJECTS]; + int n_handles, i, iPipes; + fd_set sock_read, sock_write, sock_except; + fd_set aread, awrite, aexcept; + int sock_max_fd; + struct timeval tvslice; + int retcode; + +#define SAFE_FD_ISSET(fd, set) (set != NULL && FD_ISSET(fd, set)) + + n_handles = 0; + sock_max_fd = -1; + iPipes = 0; + + /* calculate how long we need to wait in milliseconds */ + if(tv == NULL) + ms_total = INFINITE; + else + { + ms_total = tv->tv_sec * 1000; + ms_total += tv->tv_usec / 1000; + } + + /* select() may be used as a portable way to sleep */ + if (!(rfds || wfds || efds)) + { + Sleep(ms_total); + + return 0; + } + + FD_ZERO(&sock_read); + FD_ZERO(&sock_write); + FD_ZERO(&sock_except); + + /* build an array of handles for non-sockets */ + for(i = 0; i < max_fd; i++) + { + if(SAFE_FD_ISSET(i, rfds) || SAFE_FD_ISSET(i, wfds) || + SAFE_FD_ISSET(i, efds)) + { + unsigned long ulVal; + + if (ioctlsocket(i, FIONREAD, &ulVal) != SOCKET_ERROR && _get_osfhandle(i) == -1) + { + /* socket */ + if(SAFE_FD_ISSET(i, rfds)) + FD_SET(i, &sock_read); + + if(SAFE_FD_ISSET(i, wfds)) + FD_SET(i, &sock_write); + + if(SAFE_FD_ISSET(i, efds)) + FD_SET(i, &sock_except); + + if(i > sock_max_fd) + sock_max_fd = i; + } + else + { + if (GetFileType((HANDLE) i) == FILE_TYPE_PIPE) + hPipes[iPipes++] = (HANDLE) i; /* Pipe */ + else + { + handles[n_handles] = (HANDLE) _get_osfhandle(i); + if ((DWORD) handles[n_handles] == 0xffffffff) + handles[n_handles] = (HANDLE) i; + handle_slot_to_fd[n_handles] = i; + n_handles++; + } + } + } + } + + if((n_handles == 0) && (iPipes == 0)) + { + /* plain sockets only - let winsock handle the whole thing */ + if ((retcode = select(max_fd, rfds, wfds, efds, tv)) == SOCKET_ERROR) + SetErrnoFromWinsockError(WSAGetLastError()); + return retcode; + } + + /* mixture of handles and sockets; lets multiplex between + * winsock and waiting on the handles */ + + FD_ZERO(&aread); + FD_ZERO(&awrite); + FD_ZERO(&aexcept); + + limit = GetTickCount() + ms_total; + do + { + retcode = 0; + + if(sock_max_fd >= 0) + { + /* overwrite the zero'd sets here; the select call + * will clear those that are not active */ + aread = sock_read; + awrite = sock_write; + aexcept = sock_except; + + tvslice.tv_sec = 0; + tvslice.tv_usec = 100000; + + if ((retcode = select(sock_max_fd + 1, &aread, &awrite, &aexcept, + &tvslice)) == SOCKET_ERROR) + { + SetErrnoFromWinsockError(WSAGetLastError()); + + return -1; + } + } + + if(n_handles > 0) + { + /* check handles */ + DWORD wret; + + wret = + MsgWaitForMultipleObjects(n_handles, handles, FALSE, + retcode > 0 ? 0 : 100, QS_ALLEVENTS); + + if(wret == WAIT_TIMEOUT) + { + /* set retcode to 0; this is the default. + * select() may have set it to something else, + * in which case we leave it alone, so this branch + * does nothing */ + ; + } + else if(wret == WAIT_FAILED) + { + SetErrnoFromWinError(GetLastError()); + + return -1; + } + else + { + for(i = 0; i < n_handles; i++) + { + if(WAIT_OBJECT_0 == WaitForSingleObject(handles[i], 0)) + { + if(SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) + { + FD_SET(handle_slot_to_fd[i], &aread); + } + + if(SAFE_FD_ISSET(handle_slot_to_fd[i], wfds)) + FD_SET(handle_slot_to_fd[i], &awrite); + + if(SAFE_FD_ISSET(handle_slot_to_fd[i], efds)) + FD_SET(handle_slot_to_fd[i], &aexcept); + + retcode++; + } + } + } + } + + /* Poll Pipes */ + for(i = 0; i < iPipes; i++) + { + DWORD dwBytes; + if(SAFE_FD_ISSET(hPipes[i], rfds)) + { + if (! PeekNamedPipe(hPipes[i], NULL, 0, NULL, &dwBytes, NULL)) + { + retcode = -1; + SetErrnoFromWinError(GetLastError()); + } + else if (dwBytes) + { + FD_SET((int) hPipes[i], &aread); + retcode++; + } + } + else if (SAFE_FD_ISSET(hPipes[i], wfds) || SAFE_FD_ISSET(hPipes[i], efds)) + { + errno = ENOSYS; + return -1; /* Not implemented */ + } + } + } + while(retcode == 0 && (ms_total == INFINITE || GetTickCount() < limit)); + + if(rfds) + *rfds = aread; + + if(wfds) + *wfds = awrite; + + if(efds) + *efds = aexcept; + + return retcode; +} + +#endif /* _WIN32 || defined __WIN32__ */ diff -Nru gnutls26-2.8.6/src/serv.c gnutls26-2.4.1/src/serv.c --- gnutls26-2.8.6/src/serv.c 2009-11-06 08:39:42.000000000 +0000 +++ gnutls26-2.4.1/src/serv.c 2008-06-19 11:00:10.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2006, 2007, 2008, 2009 Free Software Foundation + * Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation * Copyright (C) 2001,2002 Paul Sheer * Portions Copyright (C) 2002,2003 Nikos Mavrogiannopoulos * @@ -9,12 +9,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * GNUTLS 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, see . */ @@ -23,8 +23,6 @@ * (which means it is quite unreadable) */ -#include - #include "common.h" #include "serv-gaa.h" #include @@ -37,18 +35,19 @@ #include #include #include -#include #include #include -#include -#include -/* Gnulib portability files. */ -#include "progname.h" -#include "version-etc.h" +#if defined _WIN32 || defined __WIN32__ +int _win_select(int max_fd, fd_set * rfds, fd_set * wfds, fd_set * efds, + const struct timeval *tv); +#define select _win_select +#endif + +#include "error.h" #include "read-file.h" -#include "minmax.h" -#include "sockets.h" + +#include "getaddrinfo.h" /* konqueror cannot handle sending the page in multiple * pieces. @@ -88,7 +87,16 @@ #define SMALL_READ_TEST (2147483647) +#define SA struct sockaddr +#define ERR(err,s) if(err==-1) {perror(s);return(1);} #define GERR(ret) fprintf(stdout, "Error: %s\n", safe_strerror(ret)) +#define MAX_BUF 1024 + +#undef max +#define max(x,y) ((x) > (y) ? (x) : (y)) +#undef min +#define min(x,y) ((x) < (y) ? (x) : (y)) + #define HTTP_END "\n\n" @@ -101,6 +109,8 @@ "

    This is " \ "GNUTLS

    \n\n" +#define RENEGOTIATE + /* These are global */ gnutls_srp_server_credentials_t srp_cred = NULL; gnutls_psk_server_credentials_t psk_cred = NULL; @@ -125,7 +135,7 @@ LIST_TYPE_DECLARE (listener_item, char *http_request; char *http_response; int request_length; int response_length; int response_written; - int http_state; int listen_socket; + int http_state; int fd; gnutls_session_t tls_session; int handshake_ok;); static const char * @@ -141,8 +151,10 @@ listener_free (listener_item * j) { - free (j->http_request); - free (j->http_response); + if (j->http_request) + free (j->http_request); + if (j->http_response) + free (j->http_response); if (j->fd >= 0) { gnutls_bye (j->tls_session, GNUTLS_SHUT_WR); @@ -171,13 +183,13 @@ exit (1); } - /* Generate Diffie-Hellman parameters - for use with DHE + /* Generate Diffie Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated * once a week or once a month. Depends on the * security requirements. */ printf - ("Generating Diffie-Hellman parameters [%d]. Please wait...\n", + ("Generating Diffie Hellman parameters [%d]. Please wait...\n", prime_bits); fflush (stdout); @@ -229,7 +241,7 @@ exit (1); } - printf ("Read Diffie-Hellman parameters.\n"); + printf ("Read Diffie Hellman parameters.\n"); fflush (stdout); } @@ -253,8 +265,7 @@ exit (1); } - ret = gnutls_dh_params_import_pkcs3 (dh_params, ¶ms, - GNUTLS_X509_FMT_PEM); + ret = gnutls_dh_params_import_pkcs3 (dh_params, ¶ms, GNUTLS_X509_FMT_PEM); if (ret < 0) { @@ -262,7 +273,7 @@ exit (1); } - printf ("Set static Diffie-Hellman parameters, consider --dhparams.\n"); + printf ("Set static Diffie Hellman parameters, consider --dhparams.\n"); return 0; } @@ -333,7 +344,8 @@ oprfi_callback (gnutls_session_t session, void *userdata, size_t oprfi_len, - const unsigned char *in_oprfi, unsigned char *out_oprfi) + const unsigned char *in_oprfi, + unsigned char *out_oprfi) { size_t ourlen = strlen (info.opaque_prf_input); size_t i; @@ -344,14 +356,14 @@ printf ("%02x", in_oprfi[i]); printf ("\n"); - memset (out_oprfi, 0, oprfi_len); + memset(out_oprfi, 0, oprfi_len); strncpy (out_oprfi, info.opaque_prf_input, oprfi_len); return 0; } #endif -static gnutls_session_t +gnutls_session_t initialize_session (void) { gnutls_session_t session; @@ -373,8 +385,8 @@ if (gnutls_priority_set_direct (session, info.priorities, &err) < 0) { - fprintf (stderr, "Syntax error at: %s\n", err); - exit (1); + fprintf(stderr, "Syntax error at: %s\n", err); + exit(1); } if (cipher_priority[0]) @@ -403,13 +415,17 @@ if (disable_client_cert) gnutls_certificate_server_set_request (session, GNUTLS_CERT_IGNORE); - else - { - if (require_cert) - gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUIRE); - else - gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); - } + else { + if (require_cert) + gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUIRE); + else + gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); + } + + /* Set maximum compatibility mode. This is only suggested on public webservers + * that need to trade security for compatibility + */ + gnutls_session_enable_compatibility_mode( session); #ifdef ENABLE_OPRFI if (info.opaque_prf_input) @@ -429,9 +445,8 @@ /* Creates html with the current session information. */ #define tmp2 &http_buffer[strlen(http_buffer)] -static char * -peer_print_info (gnutls_session_t session, int *ret_length, - const char *header) +char * +peer_print_info (gnutls_session_t session, int *ret_length, const char *header) { const char *tmp; unsigned char sesid[32]; @@ -462,6 +477,7 @@ { const gnutls_datum_t *cert_list; unsigned int cert_list_size = 0; + size_t i; cert_list = gnutls_certificate_get_peers (session, &cert_list_size); @@ -493,10 +509,7 @@ http_buffer = malloc (len); if (http_buffer == NULL) - { - free(crtinfo); - return NULL; - } + return NULL; strcpy (http_buffer, HTTP_BEGIN); @@ -613,7 +626,6 @@ strcat (http_buffer, "
    ");
           strcat (http_buffer, crtinfo);
           strcat (http_buffer, "\n
    \n"); - free(crtinfo); } strcat (http_buffer, "

    Your HTTP header was:

    ");
    @@ -628,40 +640,12 @@
     }
     
     static int
    -get_port (const struct sockaddr *addr)
    -{
    -  switch (addr->sa_family)
    -    {
    -#if HAVE_IPV6
    -    case AF_INET6:
    -      return ntohs (((const struct sockaddr_in6 *) addr)->sin6_port);
    -#endif
    -
    -    case AF_INET:
    -      return ntohs (((const struct sockaddr_in *) addr)->sin_port);
    -    }
    -
    -  return -1;
    -}
    -
    -static const char *
    -addr_ntop (const struct sockaddr *sa, socklen_t salen,
    -	   char *buf, size_t buflen)
    -{
    -  if (getnameinfo (sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) == 0)
    -    return buf;
    -
    -  return NULL;
    -}
    -
    -static int
     listen_socket (const char *name, int listen_port)
     {
       struct addrinfo hints, *res, *ptr;
       char portname[6];
       int s;
       int yes;
    -  listener_item *j = NULL;
     
       snprintf (portname, sizeof (portname), "%d", listen_port);
       memset (&hints, 0, sizeof (hints));
    @@ -675,64 +659,46 @@
         }
       s = -1;
     
    -  for (ptr = res; ptr != NULL; ptr = ptr->ai_next)
    +  for (ptr = res; (ptr != NULL) && (s == -1); ptr = ptr->ai_next)
         {
    -      /* Print what we are doing. */
    -      {
    -	char topbuf[512];
    -
    -	fprintf (stderr, "%s listening on %s port %d family %d...",
    -		 name, addr_ntop (ptr->ai_addr, ptr->ai_addrlen,
    -				  topbuf, sizeof (topbuf)),
    -		 get_port (ptr->ai_addr), ptr->ai_family);
    -      }
    -
    -      if ((s = socket (ptr->ai_family, ptr->ai_socktype,
    -		       ptr->ai_protocol)) < 0)
    -	{
    -	  perror ("socket() failed");
    -	  continue;
    -	}
    +      if ((s = socket (ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol)) < 0)
    +        {
    +          perror ("socket() failed");
    +          continue;
    +        }
     
           yes = 1;
    -      if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR,
    -		      (const void *) &yes, sizeof (yes)) < 0)
    -	{
    -	  perror ("setsockopt() failed");
    -	failed:
    -	  close (s);
    -	  continue;
    -	}
    -
    -      if (bind (s, ptr->ai_addr, ptr->ai_addrlen) < 0)
    -	{
    -	  perror ("bind() failed");
    -	  goto failed;
    -	}
    +      if (setsockopt
    +          (s, SOL_SOCKET, SO_REUSEADDR, (const void *) &yes, sizeof (yes)) < 0)
    +        {
    +          perror ("setsockopt() failed");
    +        failed:
    +          close (s);
    +          s = -1;
    +          continue;
    +        }
    +
    +      if (bind (s, res->ai_addr, res->ai_addrlen) < 0)
    +        {
    +          perror ("bind() failed");
    +          goto failed;
    +        }
     
           if (listen (s, 10) < 0)
    -	{
    -	  perror ("listen() failed");
    -	  goto failed;
    -	}
    -
    -      /* new list entry for the connection */
    -      lappend (listener_list);
    -      j = listener_list.tail;
    -      j->listen_socket = 1;
    -      j->fd = s;
    -
    -      /* Complete earlier message. */
    -      fprintf (stderr, "done\n");
    +        {
    +          perror ("listen() failed");
    +          goto failed;
    +        }
         }
     
    -  fflush (stderr);
    -
       freeaddrinfo (res);
    -  if (!j)
    -    return -1;
    +  if (s == -1)
    +    {
    +      return -1;
    +    }
     
    -  return 0;
    +  printf ("%s ready. Listening to port '%s'.\n\n", name, portname);
    +  return s;
     }
     
     static void
    @@ -775,9 +741,7 @@
       *response_length = ((*response) ? strlen (*response) : 0);
     }
     
    -static void terminate (int sig) __attribute__ ((noreturn));
    -
    -static void
    +void
     terminate (int sig)
     {
       fprintf (stderr, "Exiting via signal %d\n", sig);
    @@ -810,28 +774,38 @@
     
     static void gaa_parser (int argc, char **argv);
     
    +static int get_port (const struct sockaddr_storage *addr)
    +{
    +  switch (addr->ss_family)
    +    {
    +      case AF_INET6:
    +        return ntohs (((const struct sockaddr_in6 *)addr)->sin6_port);
    +      case AF_INET:
    +        return ntohs (((const struct sockaddr_in *)addr)->sin_port);
    +    }
    +  return -1;
    +}
    +
    +static const char *addr_ntop (const struct sockaddr *sa, socklen_t salen,
    +                              char *buf, size_t buflen)
    +{
    +  if (getnameinfo (sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) == 0)
    +    {
    +      return buf;
    +    }
    +  return NULL;
    +}
    +
     int
     main (int argc, char **argv)
     {
    -  int ret, n;
    +  int ret, n, h;
       char topbuf[512];
       char name[256];
       int accept_fd;
       struct sockaddr_storage client_address;
       socklen_t calen;
     
    -  set_program_name (argv[0]);
    -
    -#ifdef gcry_fips_mode_active
    -  if (gcry_fips_mode_active ())
    -    {
    -      ret = gnutls_register_md5_handler ();
    -      if (ret)
    -	fprintf (stderr, "gnutls_register_md5_handler: %s\n",
    -		 gnutls_strerror (ret));
    -    }
    -#endif
    -
     #ifndef _WIN32
       signal (SIGPIPE, SIG_IGN);
       signal (SIGHUP, SIG_IGN);
    @@ -863,18 +837,11 @@
           fprintf (stderr, "global_init: %s\n", gnutls_strerror (ret));
           exit (1);
         }
    -
    -  if ((ret = gnutls_global_init_extra ()) < 0)
    -    {
    -      fprintf (stderr, "global_init_extra: %s\n", gnutls_strerror (ret));
    -      exit (1);
    -    }
    -
       gnutls_global_set_log_function (tls_log_func);
       gnutls_global_set_log_level (debug);
     
       /* Note that servers must generate parameters for
    -   * Diffie-Hellman. See gnutls_dh_params_generate(), and
    +   * Diffie Hellman. See gnutls_dh_params_generate(), and
        * gnutls_dh_params_set().
        */
       if (generate != 0)
    @@ -932,8 +899,7 @@
       if (pgp_keyring != NULL)
         {
           ret =
    -	gnutls_certificate_set_openpgp_keyring_file (cert_cred, pgp_keyring,
    -						     GNUTLS_OPENPGP_FMT_BASE64);
    +	gnutls_certificate_set_openpgp_keyring_file (cert_cred, pgp_keyring, GNUTLS_OPENPGP_FMT_BASE64);
           if (ret < 0)
     	{
     	  fprintf (stderr, "Error setting the OpenPGP keyring file\n");
    @@ -945,8 +911,7 @@
         {
           if (info.pgp_subkey != NULL)
     	ret = gnutls_certificate_set_openpgp_key_file2
    -	  (cert_cred, pgp_certfile, pgp_keyfile, info.pgp_subkey,
    -	   GNUTLS_OPENPGP_FMT_BASE64);
    +	  (cert_cred, pgp_certfile, pgp_keyfile, info.pgp_subkey, GNUTLS_OPENPGP_FMT_BASE64);
           else
     	ret = gnutls_certificate_set_openpgp_key_file
     	  (cert_cred, pgp_certfile, pgp_keyfile, GNUTLS_OPENPGP_FMT_BASE64);
    @@ -1044,7 +1009,8 @@
     /*      gnutls_anon_set_server_dh_params(dh_cred, dh_params); */
     #endif
     
    -  if (listen_socket (name, port) < 0)
    +  h = listen_socket (name, port);
    +  if (h < 0)
         exit (1);
     
       for (;;)
    @@ -1057,6 +1023,10 @@
           FD_ZERO (&wr);
           n = 0;
     
    +/* check for new incoming connections */
    +      FD_SET (h, &rd);
    +      n = max (n, h);
    +
     /* flag which connections we are reading or writing to within the fd sets */
           lloopstart (listener_list, j)
           {
    @@ -1070,20 +1040,15 @@
     	  }
     #endif
     
    -	if (j->listen_socket)
    -	  {
    -	    FD_SET (j->fd, &rd);
    -	    n = MAX (n, j->fd);
    -	  }
     	if (j->http_state == HTTP_STATE_REQUEST)
     	  {
     	    FD_SET (j->fd, &rd);
    -	    n = MAX (n, j->fd);
    +	    n = max (n, j->fd);
     	  }
     	if (j->http_state == HTTP_STATE_RESPONSE)
     	  {
     	    FD_SET (j->fd, &wr);
    -	    n = MAX (n, j->fd);
    +	    n = max (n, j->fd);
     	  }
           }
           lloopend (listener_list, j);
    @@ -1098,61 +1063,58 @@
     	  exit (1);
     	}
     
    -/* read or write to each connection as indicated by select()'s return argument */
    -      lloopstart (listener_list, j)
    -      {
    -
    -	/* a new connection has arrived */
    -	if (FD_ISSET (j->fd, &rd) && j->listen_socket)
    -	  {
    -	    gnutls_session_t tls_session;
    +/* a new connection has arrived */
    +      if (FD_ISSET (h, &rd))
    +	{
    +	  gnutls_session_t tls_session;
     
    -	    tls_session = initialize_session ();
    +	  tls_session = initialize_session ();
     
    -	    calen = sizeof (client_address);
    -	    memset (&client_address, 0, calen);
    -	    accept_fd = accept (j->fd, (struct sockaddr *) &client_address,
    -				&calen);
    +	  calen = sizeof (client_address);
    +	  memset (&client_address, 0, calen);
    +	  accept_fd = accept (h, (struct sockaddr *) &client_address, &calen);
     
    -	    if (accept_fd < 0)
    -	      {
    -		perror ("accept()");
    -	      }
    -	    else
    -	      {
    -		time_t tt;
    -		char *ctt;
    +	  if (accept_fd < 0)
    +	    {
    +	      perror ("accept()");
    +	    }
    +	  else
    +	    {
    +	      time_t tt;
    +	      char *ctt;
     
    -		/* new list entry for the connection */
    -		lappend (listener_list);
    -		j = listener_list.tail;
    -		j->http_request = (char *) strdup ("");
    -		j->http_state = HTTP_STATE_REQUEST;
    -		j->fd = accept_fd;
    -
    -		j->tls_session = tls_session;
    -		gnutls_transport_set_ptr (tls_session,
    -					  (gnutls_transport_ptr_t)
    -					  gl_fd_to_handle (accept_fd));
    -		j->handshake_ok = 0;
    +/* new list entry for the connection */
    +	      lappend (listener_list);
    +	      j = listener_list.tail;
    +	      j->http_request = (char *) strdup ("");
    +	      j->http_state = HTTP_STATE_REQUEST;
    +	      j->fd = accept_fd;
    +
    +	      j->tls_session = tls_session;
    +	      gnutls_transport_set_ptr (tls_session,
    +					(gnutls_transport_ptr_t) accept_fd);
    +	      j->handshake_ok = 0;
    +
    +	      if (verbose == 0)
    +		{
    +		  tt = time (0);
    +		  ctt = ctime (&tt);
    +		  ctt[strlen (ctt) - 1] = 0;
     
    -		if (verbose == 0)
    -		  {
    -		    tt = time (0);
    -		    ctt = ctime (&tt);
    -		    ctt[strlen (ctt) - 1] = 0;
    -
    -		    /*
    -		      printf("\n* connection from %s, port %d\n",
    -		      inet_ntop(AF_INET, &client_address.sin_addr, topbuf,
    -		      sizeof(topbuf)), ntohs(client_address.sin_port));
    -		    */
    +/*
    +		        printf("\n* connection from %s, port %d\n",
    +			     inet_ntop(AF_INET, &client_address.sin_addr, topbuf,
    +			       sizeof(topbuf)), ntohs(client_address.sin_port));
    +      */
     
    -		  }
    -	      }
    -	  }
    +		}
    +	    }
    +	}
     
    -	if (FD_ISSET (j->fd, &rd) && !j->listen_socket)
    +/* read or write to each connection as indicated by select()'s return argument */
    +      lloopstart (listener_list, j)
    +      {
    +	if (FD_ISSET (j->fd, &rd))
     	  {
     /* read partial GET request */
     	    char buf[1024];
    @@ -1189,11 +1151,9 @@
     		    if (verbose == 0)
     		      {
     			printf ("\n* connection from %s, port %d\n",
    -				addr_ntop ((struct sockaddr *)
    -					   &client_address, calen, topbuf,
    -					   sizeof (topbuf)),
    -				get_port ((struct sockaddr *)
    -					  &client_address));
    +				addr_ntop ((struct sockaddr *)&client_address, calen,
    +					   topbuf, sizeof (topbuf)),
    +				get_port (&client_address));
     			print_info (j->tls_session, NULL, 1);
     		      }
     		    j->handshake_ok = 1;
    @@ -1203,7 +1163,7 @@
     	    if (j->handshake_ok == 1)
     	      {
     		r = gnutls_record_recv (j->tls_session, buf,
    -					MIN (1024, SMALL_READ_TEST));
    +					min (1024, SMALL_READ_TEST));
     		if (r == GNUTLS_E_INTERRUPTED || r == GNUTLS_E_AGAIN)
     		  {
     		    /* do nothing */
    @@ -1287,11 +1247,9 @@
     		    if (verbose == 0)
     		      {
     			printf ("- connection from %s, port %d\n",
    -				addr_ntop ((struct sockaddr *)
    -					   &client_address, calen, topbuf,
    -					   sizeof (topbuf)),
    -				get_port ((struct sockaddr *)
    -					  &client_address));
    +				addr_ntop ((struct sockaddr*) &client_address, calen,
    +					   topbuf, sizeof (topbuf)),
    +				get_port (&client_address));
     
     			print_info (j->tls_session, NULL, 1);
     		      }
    @@ -1305,7 +1263,7 @@
     		r = gnutls_record_send (j->tls_session,
     					j->http_response +
     					j->response_written,
    -					MIN (j->response_length -
    +					min (j->response_length -
     					     j->response_written,
     					     SMALL_READ_TEST));
     		if (r == GNUTLS_E_INTERRUPTED || r == GNUTLS_E_AGAIN)
    @@ -1449,16 +1407,14 @@
       parse_comp (info.comp, info.ncomp, comp_priority);
     }
     
    -extern void serv_version(void);
    -
     void
     serv_version (void)
     {
    -  const char *p = PACKAGE_NAME;
    -  if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0)
    -    p = PACKAGE_STRING;
    -  version_etc (stdout, program_name, p, gnutls_check_version (NULL),
    -	       "Nikos Mavrogiannopoulos", (char *) NULL);
    +  const char *v = gnutls_check_version (NULL);
    +
    +  printf ("gnutls-serv (GnuTLS) %s\n", LIBGNUTLS_VERSION);
    +  if (strcmp (v, LIBGNUTLS_VERSION) != 0)
    +    printf ("libgnutls %s\n", v);
     }
     
     /* session resuming support */
    @@ -1481,6 +1437,7 @@
     static void
     wrap_db_init (void)
     {
    +
       /* allocate cache_db */
       cache_db = calloc (1, ssl_session_cache * sizeof (CACHE));
     }
    @@ -1528,6 +1485,8 @@
           if (key.size == cache_db[i].session_id_size &&
     	  memcmp (key.data, cache_db[i].session_id, key.size) == 0)
     	{
    +
    +
     	  res.size = cache_db[i].session_data_size;
     
     	  res.data = gnutls_malloc (res.size);
    @@ -1564,4 +1523,24 @@
         }
     
       return -1;
    +
    +}
    +
    +void
    +print_serv_license (void)
    +{
    +  fputs ("\nCopyright (C) 2001-2003 Paul Sheer, Nikos Mavrogiannopoulos\n"
    +	 "\nCopyright (C) 2004 Free Software Foundation\n"
    +	 "This program is free software; you can redistribute it and/or modify \n"
    +	 "it under the terms of the GNU General Public License as published by \n"
    +	 "the Free Software Foundation; either version 3 of the License, or \n"
    +	 "(at your option) any later version. \n" "\n"
    +	 "This program is distributed in the hope that it will be useful, \n"
    +	 "but WITHOUT ANY WARRANTY; without even the implied warranty of \n"
    +	 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the \n"
    +	 "GNU General Public License for more details. \n" "\n"
    +	 "You should have received a copy of the GNU General Public License \n"
    +	 "along with this program; if not, write to the Free Software \n"
    +	 "Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\n",
    +	 stdout);
     }
    diff -Nru gnutls26-2.8.6/src/serv.gaa gnutls26-2.4.1/src/serv.gaa
    --- gnutls26-2.8.6/src/serv.gaa	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/src/serv.gaa	2008-06-19 11:00:10.000000000 +0100
    @@ -1,8 +1,8 @@
     #{
     
    -#include 
     #include 
     
    +void print_serv_license(void);
     void serv_version(void);
     
     #}
    @@ -13,7 +13,7 @@
     option (d, debug) INT "integer" { $debug = $1 } "Enable debugging" 
     
     #int generate;
    -option (g, generate) { $generate = 1 } "Generate Diffie-Hellman Parameters."
    +option (g, generate) { $generate = 1 } "Generate Diffie Hellman Parameters."
     
     #int port;
     option (p, port) INT "integer" { $port = $1 } "The port to connect to."
    @@ -116,6 +116,7 @@
     option (h, help) { gaa_help(); exit(0); } "prints this help"
     
     option (v, version) { serv_version(); exit(0); } "prints the program's version number"
    +option ( copyright) { print_serv_license(); exit(0); } "prints the program's license"
     
     INCOMP ra
     
    diff -Nru gnutls26-2.8.6/src/serv-gaa.c gnutls26-2.4.1/src/serv-gaa.c
    --- gnutls26-2.8.6/src/serv-gaa.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/src/serv-gaa.c	2008-06-19 11:00:10.000000000 +0100
    @@ -4,9 +4,9 @@
     #line 1 "serv.gaa"
     
     
    -#include 
     #include 
     
    +void print_serv_license(void);
     void serv_version(void);
     
     #include 
    @@ -126,7 +126,7 @@
     {
     	printf("GNU TLS test server\nUsage: gnutls-serv [options]\n\n\n");
     	__gaa_helpsingle('d', "debug", "integer ", "Enable debugging");
    -	__gaa_helpsingle('g', "generate", "", "Generate Diffie-Hellman Parameters.");
    +	__gaa_helpsingle('g', "generate", "", "Generate Diffie Hellman Parameters.");
     	__gaa_helpsingle('p', "port", "integer ", "The port to connect to.");
     	__gaa_helpsingle('q', "quiet", "", "Suppress some messages.");
     	__gaa_helpsingle(0, "nodb", "", "Does not use the resume database.");
    @@ -161,6 +161,7 @@
     	__gaa_helpsingle('l', "list", "", "Print a list of the supported algorithms  and modes.");
     	__gaa_helpsingle('h', "help", "", "prints this help");
     	__gaa_helpsingle('v', "version", "", "prints the program's version number");
    +	__gaa_helpsingle(0, "copyright", "", "prints the program's license");
     
     #line 100 "gaa.skel"
     }
    @@ -305,43 +306,44 @@
     #define GAA_MULTIPLE_OPTION     3
     
     #define GAA_REST                0
    -#define GAA_NB_OPTION           36
    -#define GAAOPTID_version	1
    -#define GAAOPTID_help	2
    -#define GAAOPTID_list	3
    -#define GAAOPTID_priority	4
    -#define GAAOPTID_ctypes	5
    -#define GAAOPTID_kx	6
    -#define GAAOPTID_macs	7
    -#define GAAOPTID_comp	8
    -#define GAAOPTID_protocols	9
    -#define GAAOPTID_ciphers	10
    -#define GAAOPTID_opaque_prf_input	11
    -#define GAAOPTID_srppasswdconf	12
    -#define GAAOPTID_srppasswd	13
    -#define GAAOPTID_pskhint	14
    -#define GAAOPTID_pskpasswd	15
    -#define GAAOPTID_disable_client_cert	16
    -#define GAAOPTID_require_cert	17
    -#define GAAOPTID_x509dsacertfile	18
    -#define GAAOPTID_x509dsakeyfile	19
    -#define GAAOPTID_x509certfile	20
    -#define GAAOPTID_x509keyfile	21
    -#define GAAOPTID_pgpsubkey	22
    -#define GAAOPTID_pgpcertfile	23
    -#define GAAOPTID_pgpkeyfile	24
    -#define GAAOPTID_pgpkeyring	25
    -#define GAAOPTID_x509crlfile	26
    -#define GAAOPTID_x509cafile	27
    -#define GAAOPTID_x509fmtder	28
    -#define GAAOPTID_dhparams	29
    -#define GAAOPTID_echo	30
    -#define GAAOPTID_http	31
    -#define GAAOPTID_nodb	32
    -#define GAAOPTID_quiet	33
    -#define GAAOPTID_port	34
    -#define GAAOPTID_generate	35
    -#define GAAOPTID_debug	36
    +#define GAA_NB_OPTION           37
    +#define GAAOPTID_copyright	1
    +#define GAAOPTID_version	2
    +#define GAAOPTID_help	3
    +#define GAAOPTID_list	4
    +#define GAAOPTID_priority	5
    +#define GAAOPTID_ctypes	6
    +#define GAAOPTID_kx	7
    +#define GAAOPTID_macs	8
    +#define GAAOPTID_comp	9
    +#define GAAOPTID_protocols	10
    +#define GAAOPTID_ciphers	11
    +#define GAAOPTID_opaque_prf_input	12
    +#define GAAOPTID_srppasswdconf	13
    +#define GAAOPTID_srppasswd	14
    +#define GAAOPTID_pskhint	15
    +#define GAAOPTID_pskpasswd	16
    +#define GAAOPTID_disable_client_cert	17
    +#define GAAOPTID_require_cert	18
    +#define GAAOPTID_x509dsacertfile	19
    +#define GAAOPTID_x509dsakeyfile	20
    +#define GAAOPTID_x509certfile	21
    +#define GAAOPTID_x509keyfile	22
    +#define GAAOPTID_pgpsubkey	23
    +#define GAAOPTID_pgpcertfile	24
    +#define GAAOPTID_pgpkeyfile	25
    +#define GAAOPTID_pgpkeyring	26
    +#define GAAOPTID_x509crlfile	27
    +#define GAAOPTID_x509cafile	28
    +#define GAAOPTID_x509fmtder	29
    +#define GAAOPTID_dhparams	30
    +#define GAAOPTID_echo	31
    +#define GAAOPTID_http	32
    +#define GAAOPTID_nodb	33
    +#define GAAOPTID_quiet	34
    +#define GAAOPTID_port	35
    +#define GAAOPTID_generate	36
    +#define GAAOPTID_debug	37
     
     #line 168 "gaa.skel"
     
    @@ -501,12 +503,31 @@
         return tmp;
     }
     
    +static char gaa_getchar(char *arg)
    +{
    +    if(strlen(arg) != 1)
    +    {
    +        printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg);
    +        GAAERROR(-1);
    +    }
    +    return arg[0];
    +}
     
     static char* gaa_getstr(char *arg)
     {
         return arg;
     }
    -
    +static float gaa_getfloat(char *arg)
    +{
    +    float tmp;
    +    char a;
    +    if(sscanf(arg, "%f%c", &tmp, &a) < 1)
    +    {
    +        printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg);
    +        GAAERROR(-1);
    +    }
    +    return tmp;
    +}
     /* option structures */
     
     struct GAAOPTION_priority 
    @@ -715,6 +736,7 @@
     			GAA_CHECK1STR("d", GAAOPTID_debug);
             case GAA_MULTIPLE_OPTION:
     #line 375 "gaa.skel"
    +			GAA_CHECK1STR("", GAAOPTID_copyright);
     			GAA_CHECK1STR("v", GAAOPTID_version);
     			GAA_CHECK1STR("h", GAAOPTID_help);
     			GAA_CHECK1STR("l", GAAOPTID_list);
    @@ -730,6 +752,7 @@
     #line 277 "gaa.skel"
             break;
             case GAA_WORD_OPTION:
    +			GAA_CHECKSTR("copyright", GAAOPTID_copyright);
     			GAA_CHECKSTR("version", GAAOPTID_version);
     			GAA_CHECKSTR("help", GAAOPTID_help);
     			GAA_CHECKSTR("list", GAAOPTID_list);
    @@ -823,6 +846,13 @@
         
         switch(gaa_num)
         {
    +	case GAAOPTID_copyright:
    +	OK = 0;
    +#line 119 "serv.gaa"
    +{ print_serv_license(); exit(0); ;};
    +
    +		return GAA_OK;
    +		break;
     	case GAAOPTID_version:
     	OK = 0;
     #line 118 "serv.gaa"
    @@ -1148,24 +1178,21 @@
     int gaa(int argc, char **argv, gaainfo *gaaval)
     {
         int tmp1, tmp2;
    -    int l;
    -    size_t i, j, k;
    +    int i, j, k;
         char *opt_list;
     
    -    i = 0;
    -
         GAAargv = argv;
         GAAargc = argc;
     
         opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1);
     
    -    for(l = 0; l < GAA_NB_OPTION + 1; l++)
    -        opt_list[l] = 0;
    +    for(i = 0; i < GAA_NB_OPTION + 1; i++)
    +        opt_list[i] = 0;
         /* initialization */
         if(inited == 0)
         {
     
    -#line 122 "serv.gaa"
    +#line 123 "serv.gaa"
     { gaaval->generate=0; gaaval->port=5556; gaaval->http=0; gaaval->ciphers=NULL;
     	gaaval->kx=NULL; gaaval->comp=NULL; gaaval->macs=NULL; gaaval->ctype=NULL; gaaval->nciphers=0;
     	gaaval->nkx=0; gaaval->ncomp=0; gaaval->nmacs=0; gaaval->nctype = 0; gaaval->nodb = 0;
    @@ -1187,27 +1214,27 @@
           gaa_arg_used = gaa_malloc(argc * sizeof(char));
         }
     
    -    for(l = 1; l < argc; l++)
    -        gaa_arg_used[l] = 0;
    -    for(l = 1; l < argc; l++)
    +    for(i = 1; i < argc; i++)
    +        gaa_arg_used[i] = 0;
    +    for(i = 1; i < argc; i++)
         {
    -        if(gaa_arg_used[l] == 0)
    +        if(gaa_arg_used[i] == 0)
             {
                 j = 0;
    -            tmp1 = gaa_is_an_argument(GAAargv[l]);
    +            tmp1 = gaa_is_an_argument(GAAargv[i]);
                 switch(tmp1)
                 {
                 case GAA_WORD_OPTION:
                     j++;
                 case GAA_LETTER_OPTION:
                     j++;
    -                tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
    +                tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
                     if(tmp2 == GAA_ERROR_NOMATCH)
                     {
    -                    printf("Invalid option '%s'\n", argv[l]+j);
    +                    printf("Invalid option '%s'\n", argv[i]+j);
                         return 0;
                     }
    -                switch(gaa_try(tmp2, l+1, gaaval, opt_list))
    +                switch(gaa_try(tmp2, i+1, gaaval, opt_list))
                     {
                     case GAA_ERROR_NOTENOUGH_ARGS:
                         printf("'%s': not enough arguments\n",gaa_current_option);
    @@ -1220,18 +1247,18 @@
                     default:
                         printf("Unknown error\n");
                     }
    -                gaa_arg_used[l] = 1;
    +                gaa_arg_used[i] = 1;
                     break;
                 case GAA_MULTIPLE_OPTION:
    -                for(j = 1; j < strlen(argv[l]); j++)
    +                for(j = 1; j < strlen(argv[i]); j++)
                     {
    -                    tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
    +                    tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
                         if(tmp2 == GAA_ERROR_NOMATCH)
                         {
    -                        printf("Invalid option '%c'\n", *(argv[l]+j));
    +                        printf("Invalid option '%c'\n", *(argv[i]+j));
                             return 0;
                         }
    -                    switch(gaa_try(tmp2, l+1, gaaval, opt_list))
    +                    switch(gaa_try(tmp2, i+1, gaaval, opt_list))
                         {
                         case GAA_ERROR_NOTENOUGH_ARGS:
                             printf("'%s': not enough arguments\n",gaa_current_option);
    @@ -1245,7 +1272,7 @@
                             printf("Unknown error\n");
                         }
                     }
    -                gaa_arg_used[l] = 1;
    +                gaa_arg_used[i] = 1;
                     break;
                 default: break;
                 }
    @@ -1272,9 +1299,9 @@
         }
     #endif
     }
    -    for(l = 1; l < argc; l++)
    +    for(i = 1; i < argc; i++)
         {
    -        if(gaa_arg_used[l] == 0)
    +        if(gaa_arg_used[i] == 0)
             {
                 printf("Too many arguments\n");
                 return 0;
    diff -Nru gnutls26-2.8.6/src/tests.c gnutls26-2.4.1/src/tests.c
    --- gnutls26-2.8.6/src/tests.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/src/tests.c	2008-06-19 11:00:10.000000000 +0100
    @@ -53,7 +53,7 @@
     static int sfree = 0;
     static int handshake_output = 0;
     
    -static int
    +int
     do_handshake (gnutls_session_t session)
     {
       int ret, alert;
    @@ -104,13 +104,11 @@
     }
     
     static int protocol_priority[16] = { GNUTLS_TLS1, GNUTLS_SSL3, 0 };
    -
     static const int kx_priority[16] =
       { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA,
       GNUTLS_KX_ANON_DH,
       GNUTLS_KX_RSA_EXPORT, 0
     };
    -
     static const int cipher_priority[16] =
       { GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR_128,
       GNUTLS_CIPHER_ARCFOUR_40, 0
    @@ -156,7 +154,7 @@
     
     static void
     ADD_CIPHER4 (gnutls_session_t session, int cipher1, int cipher2, int cipher3,
    -	     int cipher4)
    +	int cipher4)
     {
       static int _cipher_priority[] = { 0, 0, 0, 0, 0 };
       _cipher_priority[0] = cipher1;
    @@ -218,8 +216,8 @@
     static int srp_detected;
     
     int
    -_test_srp_username_callback (gnutls_session_t session,
    -			     char **username, char **password)
    +_test_srp_username_callback (gnutls_session_t session, 
    +    char **username, char **password)
     {
       srp_detected = 1;
     
    @@ -479,7 +477,7 @@
     }
     
     static int alrm = 0;
    -static void
    +void
     got_alarm (int k)
     {
       alrm = 1;
    @@ -516,8 +514,8 @@
       old = siginterrupt (SIGALRM, 1);
       alarm (secs);
     #else
    -  setsockopt ((int) gnutls_transport_get_ptr (session), SOL_SOCKET,
    -	      SO_RCVTIMEO, (char *) &secs, sizeof (int));
    +  setsockopt ((int)gnutls_transport_get_ptr (session), SOL_SOCKET, SO_RCVTIMEO,
    +	      (char *) &secs, sizeof (int));
     #endif
     
       do
    @@ -606,10 +604,10 @@
       int ret;
     #ifdef	ENABLE_CAMELLIA
       ADD_CIPHER4 (session, GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_3DES_CBC,
    -	       GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_CIPHER_ARCFOUR_128);
    +	GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_CIPHER_ARCFOUR_128);
     #else
       ADD_CIPHER4 (session, GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_3DES_CBC,
    -	       GNUTLS_CIPHER_ARCFOUR_128, 0);
    +	GNUTLS_CIPHER_ARCFOUR_128, 0);
     #endif
       ADD_ALL_COMP (session);
       ADD_ALL_CERTTYPES (session);
    @@ -1022,7 +1020,7 @@
     {
       int ret;
       char tmp_session_id[32];
    -  size_t tmp_session_id_size;
    +  int tmp_session_id_size;
     
       if (session == NULL)
         return TEST_IGNORE;
    diff -Nru gnutls26-2.8.6/src/tls_test.c gnutls26-2.4.1/src/tls_test.c
    --- gnutls26-2.8.6/src/tls_test.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/src/tls_test.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2000,2001,2002,2003,2006,2007,2008,2009 Nikos Mavrogiannopoulos
    + * Copyright (C) 2000,2001,2002,2003,2006,2007 Nikos Mavrogiannopoulos
      * Copyright (C) 2004,2005, 2008 Free Software Foundation
      *
      * This file is part of GNUTLS.
    @@ -8,12 +8,12 @@
      * it under the terms of the GNU General Public License as published by
      * the Free Software Foundation, either version 3 of the License, or
      * (at your option) any later version.
    - *
    + *               
      * GNUTLS 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, see .
      */
    @@ -32,17 +32,13 @@
     #include 
     #include 
     
    -/* Gnulib portability files. */
    -#include 
    -#include 
    -#include "sockets.h"
    -
    +#define SA struct sockaddr
     #define ERR(err,s) if (err==-1) {perror(s);return(1);}
     #define MAX_BUF 4096
     
     /* global stuff here */
     int resume;
    -const char *hostname = NULL;
    +char *hostname = NULL;
     int port;
     int record_max_size;
     int fingerprint;
    @@ -71,11 +67,11 @@
     
     typedef struct
     {
    -  const char *test_name;
    +  char *test_name;
       TEST_FUNC func;
    -  const char *suc_str;
    -  const char *fail_str;
    -  const char *unsure_str;
    +  char *suc_str;
    +  char *fail_str;
    +  char *unsure_str;
     } TLS_TEST;
     
     static const TLS_TEST tls_tests[] = {
    @@ -90,7 +86,7 @@
       {"for version rollback bug in Client Hello", test_version_rollback,
        "no", "yes", "dunno"},
     
    -  /* this test will disable TLS 1.0 if the server is
    +  /* this test will disable TLS 1.0 if the server is 
        * buggy */
       {"whether we need to disable TLS 1.0", test_tls_disable, "no", "yes",
        "dunno"},
    @@ -116,12 +112,12 @@
     #ifdef ENABLE_ANON
       {"for anonymous authentication support", test_anonymous, "yes", "no",
        "dunno"},
    -  {"anonymous Diffie-Hellman group info", test_dhe_group, "", "N/A",
    +  {"anonymous Diffie Hellman group info", test_dhe_group, "", "N/A",
        "N/A"},
     #endif
    -  {"for ephemeral Diffie-Hellman support", test_dhe, "yes", "no",
    +  {"for ephemeral Diffie Hellman support", test_dhe, "yes", "no",
        "dunno"},
    -  {"ephemeral Diffie-Hellman group info", test_dhe_group, "", "N/A",
    +  {"ephemeral Diffie Hellman group info", test_dhe_group, "", "N/A",
        "N/A"},
       {"for AES cipher support (TLS extension)", test_aes, "yes", "no",
        "dunno"},
    @@ -167,7 +163,6 @@
       char portname[6];
       struct addrinfo hints, *res, *ptr;
     
    -  set_program_name (argv[0]);
       gaa_parser (argc, argv);
     
     #ifndef _WIN32
    @@ -242,27 +237,27 @@
     
           sd = -1;
           for (ptr = res; ptr != NULL; ptr = ptr->ai_next)
    -	{
    -	  sd = socket (ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol);
    -	  if (sd == -1)
    -	    {
    -	      continue;
    -	    }
    +        {
    +          sd = socket(ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol);
    +          if (sd == -1)
    +            {
    +              continue;
    +            }
    +
    +          getnameinfo (ptr->ai_addr, ptr->ai_addrlen, buffer, MAX_BUF,
    +                       NULL, 0, NI_NUMERICHOST);
    +          if (tt++ == 0) printf("Connecting to '%s:%d'...\n", buffer, port);
    +          if ((err = connect(sd, ptr->ai_addr, ptr->ai_addrlen)) != 0)
    +            {
    +              close (sd);
    +              sd = -1;
    +              continue;
    +            }
    +        }
    +      ERR(err, "connect")
     
    -	  getnameinfo (ptr->ai_addr, ptr->ai_addrlen, buffer, MAX_BUF,
    -		       NULL, 0, NI_NUMERICHOST);
    -	  if (tt++ == 0)
    -	    printf ("Connecting to '%s:%d'...\n", buffer, port);
    -	  if ((err = connect (sd, ptr->ai_addr, ptr->ai_addrlen)) != 0)
    -	    {
    -	      close (sd);
    -	      sd = -1;
    -	      continue;
    -	    }
    -	}
    -      ERR (err, "connect") gnutls_init (&state, GNUTLS_CLIENT);
    -      gnutls_transport_set_ptr (state, (gnutls_transport_ptr_t)
    -				gl_fd_to_handle (sd));
    +      gnutls_init (&state, GNUTLS_CLIENT);
    +      gnutls_transport_set_ptr (state, (gnutls_transport_ptr_t) sd);
     
           do
     	{
    @@ -330,14 +325,12 @@
     
     }
     
    -void tls_test_version (void);
    -
     void
     tls_test_version (void)
     {
    -  const char *p = PACKAGE_NAME;
    -  if (strcmp (gnutls_check_version (NULL), PACKAGE_VERSION) != 0)
    -    p = PACKAGE_STRING;
    -  version_etc (stdout, "gnutls-cli-debug", p, gnutls_check_version (NULL),
    -	       "Nikos Mavrogiannopoulos", (char *) NULL);
    +  const char *v = gnutls_check_version (NULL);
    +
    +  printf ("gnutls-cli-debug (GnuTLS) %s\n", LIBGNUTLS_VERSION);
    +  if (strcmp (v, LIBGNUTLS_VERSION) != 0)
    +    printf ("libgnutls %s\n", v);
     }
    diff -Nru gnutls26-2.8.6/src/tls_test-gaa.c gnutls26-2.4.1/src/tls_test-gaa.c
    --- gnutls26-2.8.6/src/tls_test-gaa.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/src/tls_test-gaa.c	2008-06-19 11:00:10.000000000 +0100
    @@ -375,12 +375,31 @@
         return tmp;
     }
     
    +static char gaa_getchar(char *arg)
    +{
    +    if(strlen(arg) != 1)
    +    {
    +        printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg);
    +        GAAERROR(-1);
    +    }
    +    return arg[0];
    +}
     
     static char* gaa_getstr(char *arg)
     {
         return arg;
     }
    -
    +static float gaa_getfloat(char *arg)
    +{
    +    float tmp;
    +    char a;
    +    if(sscanf(arg, "%f%c", &tmp, &a) < 1)
    +    {
    +        printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg);
    +        GAAERROR(-1);
    +    }
    +    return tmp;
    +}
     /* option structures */
     
     struct GAAOPTION_debug 
    @@ -541,19 +560,16 @@
     int gaa(int argc, char **argv, gaainfo *gaaval)
     {
         int tmp1, tmp2;
    -    int l;
    -    size_t i, j;
    +    int i, j;
         char *opt_list;
     
    -    i = 0;
    -
         GAAargv = argv;
         GAAargc = argc;
     
         opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1);
     
    -    for(l = 0; l < GAA_NB_OPTION + 1; l++)
    -        opt_list[l] = 0;
    +    for(i = 0; i < GAA_NB_OPTION + 1; i++)
    +        opt_list[i] = 0;
         /* initialization */
         if(inited == 0)
         {
    @@ -570,27 +586,27 @@
           gaa_arg_used = gaa_malloc(argc * sizeof(char));
         }
     
    -    for(l = 1; l < argc; l++)
    -        gaa_arg_used[l] = 0;
    -    for(l = 1; l < argc; l++)
    +    for(i = 1; i < argc; i++)
    +        gaa_arg_used[i] = 0;
    +    for(i = 1; i < argc; i++)
         {
    -        if(gaa_arg_used[l] == 0)
    +        if(gaa_arg_used[i] == 0)
             {
                 j = 0;
    -            tmp1 = gaa_is_an_argument(GAAargv[l]);
    +            tmp1 = gaa_is_an_argument(GAAargv[i]);
                 switch(tmp1)
                 {
                 case GAA_WORD_OPTION:
                     j++;
                 case GAA_LETTER_OPTION:
                     j++;
    -                tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
    +                tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
                     if(tmp2 == GAA_ERROR_NOMATCH)
                     {
    -                    printf("Invalid option '%s'\n", argv[l]+j);
    +                    printf("Invalid option '%s'\n", argv[i]+j);
                         return 0;
                     }
    -                switch(gaa_try(tmp2, l+1, gaaval, opt_list))
    +                switch(gaa_try(tmp2, i+1, gaaval, opt_list))
                     {
                     case GAA_ERROR_NOTENOUGH_ARGS:
                         printf("'%s': not enough arguments\n",gaa_current_option);
    @@ -603,18 +619,18 @@
                     default:
                         printf("Unknown error\n");
                     }
    -                gaa_arg_used[l] = 1;
    +                gaa_arg_used[i] = 1;
                     break;
                 case GAA_MULTIPLE_OPTION:
    -                for(j = 1; j < strlen(argv[l]); j++)
    +                for(j = 1; j < strlen(argv[i]); j++)
                     {
    -                    tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
    +                    tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
                         if(tmp2 == GAA_ERROR_NOMATCH)
                         {
    -                        printf("Invalid option '%c'\n", *(argv[l]+j));
    +                        printf("Invalid option '%c'\n", *(argv[i]+j));
                             return 0;
                         }
    -                    switch(gaa_try(tmp2, l+1, gaaval, opt_list))
    +                    switch(gaa_try(tmp2, i+1, gaaval, opt_list))
                         {
                         case GAA_ERROR_NOTENOUGH_ARGS:
                             printf("'%s': not enough arguments\n",gaa_current_option);
    @@ -628,7 +644,7 @@
                             printf("Unknown error\n");
                         }
                     }
    -                gaa_arg_used[l] = 1;
    +                gaa_arg_used[i] = 1;
                     break;
                 default: break;
                 }
    @@ -654,9 +670,9 @@
         }
     #endif
     }
    -    for(l = 1; l < argc; l++)
    +    for(i = 1; i < argc; i++)
         {
    -        if(gaa_arg_used[l] == 0)
    +        if(gaa_arg_used[i] == 0)
             {
                 printf("Too many arguments\n");
                 return 0;
    diff -Nru gnutls26-2.8.6/tests/anonself.c gnutls26-2.4.1/tests/anonself.c
    --- gnutls26-2.8.6/tests/anonself.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/anonself.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -37,8 +37,6 @@
     #include 
     #include 
     
    -#include "tcp.c"
    -
     #include "utils.h"
     
     static void
    @@ -53,7 +51,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static void
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -152,7 +189,7 @@
     /* These are global */
     gnutls_anon_server_credentials_t anoncred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -178,8 +215,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -198,7 +235,7 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -216,7 +253,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -237,7 +274,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -286,7 +323,7 @@
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/certificate_set_x509_crl.c gnutls26-2.4.1/tests/certificate_set_x509_crl.c
    --- gnutls26-2.8.6/tests/certificate_set_x509_crl.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/certificate_set_x509_crl.c	2008-06-19 11:00:10.000000000 +0100
    @@ -20,7 +20,7 @@
      * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
      */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -42,7 +42,8 @@
       "elUNpllhhTgXDTA2MTIyNzA4MDIzNFowCwYJKoZIhvcNAQEFA4GBAD0zX+J2hkcc\n"
       "Nbrq1Dn5IKL8nXLgPGcHv1I/le1MNo9t1ohGQxB5HnFUkRPAY82fR6Epor4aHgVy\n"
       "b+5y+neKN9Kn2mPF4iiun+a4o26CjJ0pArojCL1p8T0yyi9Xxvyc/ezaZ98HiIyP\n"
    -  "c3DGMNR+oUmSjKZ0jIhAYmeLxaPHfQwR\n" "-----END X509 CRL-----\n";
    +  "c3DGMNR+oUmSjKZ0jIhAYmeLxaPHfQwR\n"
    +  "-----END X509 CRL-----\n";
     
     /* Test regression of bug reported by Max Kellermann 
        in Message-ID: <20061211075202.GA1517@roonstrasse.net> to the
    diff -Nru gnutls26-2.8.6/tests/chainverify.c gnutls26-2.4.1/tests/chainverify.c
    --- gnutls26-2.8.6/tests/chainverify.c	2009-11-02 10:31:44.000000000 +0000
    +++ gnutls26-2.4.1/tests/chainverify.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,865 +0,0 @@
    -/*
    - * Copyright (C) 2008, 2009 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -#include 
    -
    -/* GnuTLS internally calls time() to find out the current time when
    -   verifying certificates.  To avoid a time bomb, we hard code the
    -   current time.  This should work fine on systems where the library
    -   call to time is resolved at run-time.  */
    -time_t
    -time (time_t *t)
    -{
    -  time_t then = 1256803113;
    -
    -  if (t)
    -    *t = then;
    -
    -  return then;
    -}
    -
    -/* *INDENT-OFF* */
    -
    -/* Triggers incorrect verification success on older versions */
    -static const char *cve_2008_4989_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
    -  "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
    -  "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
    -  "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
    -  "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
    -  "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
    -  "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
    -  "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
    -  "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
    -  "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
    -  "bF7pG7Cg3oEHUM0H5KUU\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] (not signed by next cert) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
    -  "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
    -  "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
    -  "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
    -  "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
    -  "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
    -  "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
    -  "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
    -  "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
    -  "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
    -  "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] (trusted CA cert) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
    -  "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
    -  "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
    -  "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
    -  "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
    -  "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
    -  "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
    -  "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
    -  "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
    -  "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
    -  "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
    -  "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
    -  "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
    -  "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
    -  "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
    -  "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
    -  "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
    -  "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
    -  "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
    -  "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
    -  "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
    -  "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
    -  "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
    -  "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Chain length 3 ends with trusted v1 RSA-MD2 chain */
    -static const char *verisign_com_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
    -  "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
    -  "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
    -  "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
    -  "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
    -  "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
    -  "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
    -  "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
    -  "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
    -  "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
    -  "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
    -  "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
    -  "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
    -  "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
    -  "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
    -  "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
    -  "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
    -  "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
    -  "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
    -  "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
    -  "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
    -  "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
    -  "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
    -  "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
    -  "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
    -  "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
    -  "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
    -  "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
    -  "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
    -  "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
    -  "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
    -  "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
    -  "nKMfhbyFQYPQ6J9g\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
    -  "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
    -  "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
    -  "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
    -  "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
    -  "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
    -  "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
    -  "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
    -  "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
    -  "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
    -  "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
    -  "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
    -  "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
    -  "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
    -  "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
    -  "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
    -  "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
    -  "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
    -  "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
    -  "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
    -  "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
    -  "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
    -  "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
    -  "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
    -  "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
    -  "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
    -  "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
    -  "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
    -  "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
    -  "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
    -  "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
    -  "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
    -  "Gh/aWKfkT8Fhrryi/ks=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
    -  "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
    -  "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
    -  "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
    -  "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
    -  "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
    -  "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
    -  "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
    -  "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
    -  "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
    -  "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
    -  "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
    -  "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
    -  "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
    -  "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
    -  "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
    -  "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
    -  "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
    -  "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
    -  "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
    -  "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
    -  "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
    -  "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
    -  "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
    -  "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
    -  "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
    -  "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[3] (CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
    -  "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
    -  "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
    -  "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
    -  "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
    -  "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
    -  "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
    -  "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
    -  "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
    -  "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
    -  "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
    -  "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Chain length 2 ends with trusted v1 RSA-MD2 cert */
    -static const char *citibank_com_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIENDCCA52gAwIBAgIQauOJMlH5Ob2tFZ6rJMBdjjANBgkqhkiG9w0BAQUFADCB\n"
    -  "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
    -  "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
    -  "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
    -  "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
    -  "ODA4MjkwMDAwMDBaFw0xMDA4MjkyMzU5NTlaMHgxCzAJBgNVBAYTAlVTMRMwEQYD\n"
    -  "VQQIEwpOZXcgSmVyc2V5MRIwEAYDVQQHFAlXZWVoYXdrZW4xEjAQBgNVBAoUCUNp\n"
    -  "dGlncm91cDERMA8GA1UECxQId2hnLW9hazYxGTAXBgNVBAMUEHd3dy5jaXRpYmFu\n"
    -  "ay5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALQJbSYtbndsIlslFveP\n"
    -  "IlVNE38HnUD56BHcwfvcb8rQItXeHzYmgOf/RgHPTKG3LEZOxKqM0QpcZtEJ6xwV\n"
    -  "cTG7Wjw/FrMisN8aO4JWaxe8dFGajstlEMxz43G5zlprb9jzjnbIvvcnz0ILikOQ\n"
    -  "qmcThopBTs1+d4j7w/yEJo1zAgMBAAGjggF6MIIBdjAJBgNVHRMEAjAAMAsGA1Ud\n"
    -  "DwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZlcmlzaWduLmNv\n"
    -  "bS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG\n"
    -  "SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv\n"
    -  "bS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
    -  "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln\n"
    -  "bi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJaW1hZ2UvZ2lmMCEwHzAH\n"
    -  "BgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYkaHR0cDovL2xvZ28udmVy\n"
    -  "aXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEBBQUAA4GBAFDXKsxtWkoo\n"
    -  "HBkNjcCvcnjNAo3Pe+eOtLHb39e5qhkNQLPGA/1/7AofY9KmEtSV2LVGeuuJI4Pi\n"
    -  "Lg7fPl9Q0OE/oHJpj5JkObBP9Wo1vbrDR2nGWUlCRWm20rH81dTn7OcDxarwGWsR\n"
    -  "ewTCNmpKYaMx8Q1dyMYunHJApu+fbrHu\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
    -  "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
    -  "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
    -  "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
    -  "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
    -  "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
    -  "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
    -  "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
    -  "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
    -  "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
    -  "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
    -  "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
    -  "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
    -  "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
    -  "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
    -  "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
    -  "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
    -  "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
    -  "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] (CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
    -  "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
    -  "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
    -  "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
    -  "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
    -  "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
    -  "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
    -  "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
    -  "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
    -  "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
    -  "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
    -  "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Self-signed certificate */
    -static const char *pem_self_cert[] = {
    -  "-----BEGIN CERTIFICATE-----\n"
    -    "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
    -    "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
    -    "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
    -    "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
    -    "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
    -    "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
    -    "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
    -    "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
    -    "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
    -    "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
    -    "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
    -    "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
    -    "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
    -    "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
    -    "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
    -    "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
    -    "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
    -    "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
    -    "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
    -    "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Chain length 2, CA constraint FALSE in v3 CA cert)*/
    -static const char *thea_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIC7DCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
    -  "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
    -  "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
    -  "MTExMDUyMDdaFw0xODA5MDkxMDUyMDdaMIGTMQswCQYDVQQGEwJERTEMMAoGA1UE\n"
    -  "CBMDUkxQMRcwFQYDVQQHEw5LYWlzZXJzbGF1dGVybjEgMB4GA1UEChMXVGVjaG5p\n"
    -  "c2NoZSBVbml2ZXJzaXRhZXQxGzAZBgNVBAsTEkZhY2hiZXJlaWNoIFBoeXNpazEe\n"
    -  "MBwGA1UEAxMVdGhlYS5waHlzaWsudW5pLWtsLmRlMIGfMA0GCSqGSIb3DQEBAQUA\n"
    -  "A4GNADCBiQKBgQC/gTUrXSeNvuRH+ibdR7zvlCGs+66C6tDaq14SpEDiY/FEw/S4\n"
    -  "mkhsHohiQkmqpcPJ0FONok7bvJryKZwwhGFHeESvvWjFVNIdxFgf6Jx2McKsRzBD\n"
    -  "nbgVNeK6bywh2L5WgOeckRm0vUxCwX+jWtETorNHSYnZI9smmBtJ1FIPkQIDAQAB\n"
    -  "o3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl\n"
    -  "ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUS0IiRshnnlH2bneYeCn6OkY9nZAwHwYD\n"
    -  "VR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQADgYEA\n"
    -  "g0f6XFxpUL2hncpQcnKorNYdOkZkZHiKqu2SINtla+IbLZFO4nVVO+LKt+RCo2o7\n"
    -  "tZIMLEU3aCeH5dgSEKQeyL5MPMg3MbA6ezjOBTkT/YgngzM4CMLOKcvAMLncfH/z\n"
    -  "GYBW1DXijIy1r/SxO0k9zy8OEtKeOOUO0GqQTWuTOOg=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] (CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICvzCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
    -  "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
    -  "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
    -  "MTExMDQ3NDRaFw0xODA5MDkxMDQ3NDRaMGcxCzAJBgNVBAYTAkRFMQwwCgYDVQQI\n"
    -  "EwNSTFAxIDAeBgNVBAoTF1RlY2huaXNjaGUgVW5pdmVyc2l0YWV0MRswGQYDVQQL\n"
    -  "ExJGYWNoYmVyZWljaCBQaHlzaWsxCzAJBgNVBAMTAkNBMIGfMA0GCSqGSIb3DQEB\n"
    -  "AQUAA4GNADCBiQKBgQC76RbqsB5J+VvU1KbBCrkIL3lgY8BxgFvYF3HiHgxtCdqq\n"
    -  "BmRpAaDBcVAuEb1ihhP68181sYQ1UPMY+zwBwXVNSVvjeBba1JjGmagwPnJXOCay\n"
    -  "7Cw5orY8KB7U33neEOGrlz1EKQGVaPsr993wGD/7AmntuVuxrRVpzoDP5s0PIwID\n"
    -  "AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\n"
    -  "YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+rCwSUUzK53X9W5otZG4okyY/rsw\n"
    -  "HwYDVR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQAD\n"
    -  "gYEAUT+LmosiDHGuLAZmY40obam0eexJzn/g++mDy3FMh3WmMBKSsfwFsFsQ4k7N\n"
    -  "lv1SCfTYeh2hpw/DQzkiYZUkcQI4mBR4hG5Zv56AfYQLGeLtN4VOOCMxguftvzv0\n"
    -  "kziQa2QW+VzVJqV1gpRCRT30Jaa9s4u6ipO9DT5N03F4CcI=\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Chain length 3 ends with trusted v1 RSA-MD2 cert, similar to
    -   verisign_com_chain above */
    -static const char *hbci_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIEczCCA9ygAwIBAgIQeODCPg2RbK2r7/1KoWjWZzANBgkqhkiG9w0BAQUFADCB\n"
    -  "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
    -  "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
    -  "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
    -  "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
    -  "ODA2MTAwMDAwMDBaFw0wOTA3MzAyMzU5NTlaMIG2MQswCQYDVQQGEwJERTEPMA0G\n"
    -  "A1UECBMGSGVzc2VuMRowGAYDVQQHFBFGcmFua2Z1cnQgYW0gTWFpbjEsMCoGA1UE\n"
    -  "ChQjU3Bhcmthc3NlbiBJbmZvcm1hdGlrIEdtYkggJiBDby4gS0cxKTAnBgNVBAsU\n"
    -  "IFRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tMSEwHwYDVQQDFBhoYmNp\n"
    -  "LXBpbnRhbi1ycC5zLWhiY2kuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
    -  "AK1CdQ9lqmChZWaRAInimuK7I36VImTuAVU0N6BIS4a2BbblkiekbVf15GVHGb6e\n"
    -  "QV06ANN6Nd8XIdfoxi3LoAs8sa+Ku7eoEsRFi/XIU96GgtFlxf3EsVA9RbGdtfer\n"
    -  "9iJGIBae2mJTlk+5LVg2EQr50PJlBuTgiYFc41xs9O2RAgMBAAGjggF6MIIBdjAJ\n"
    -  "BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8v\n"
    -  "Y3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBE\n"
    -  "BgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
    -  "d3d3LnZlcmlzaWduLmNvbS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEF\n"
    -  "BQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRw\n"
    -  "Oi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJ\n"
    -  "aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYk\n"
    -  "aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEB\n"
    -  "BQUAA4GBAJ03R0YAjYzlWm54gMSn6MqJi0mHdLCO2lk3CARwjbg7TEYAZvDsKqTd\n"
    -  "cRuhNk079BqrQ3QapffeN55SAVrc3mzHO54Nla4n5y6x3XIQXVvRjbJGwmWXsdvr\n"
    -  "W899F/pBEN30Tgdbmn7JR/iZlGhIJpY9Us1i7rwQhKYir9ZQBdj3\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
    -  "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
    -  "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
    -  "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
    -  "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
    -  "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
    -  "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
    -  "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
    -  "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
    -  "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
    -  "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
    -  "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
    -  "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
    -  "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
    -  "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
    -  "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
    -  "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
    -  "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
    -  "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
    -  "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
    -  "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
    -  "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
    -  "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
    -  "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
    -  "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
    -  "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
    -  "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
    -  "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
    -  "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
    -  "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* End-entity cert signed using RSA-MD5. */
    -static const char *mayfirst_chain[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDVTCCAr6gAwIBAgIDCHp1MA0GCSqGSIb3DQEBBAUAMFoxCzAJBgNVBAYTAlVT\n"
    -  "MRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0wKwYDVQQDEyRFcXVpZmF4\n"
    -  "IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTEwHhcNMDgwNTE5MDUyOTE5WhcN\n"
    -  "MDkxMDE5MDUyOTE5WjCBxDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFHN1cHBvcnQu\n"
    -  "bWF5Zmlyc3Qub3JnMRMwEQYDVQQLEwpHVDY5MDc5ODgwMTEwLwYDVQQLEyhTZWUg\n"
    -  "d3d3LnJhcGlkc3NsLmNvbS9yZXNvdXJjZXMvY3BzIChjKTA3MS8wLQYDVQQLEyZE\n"
    -  "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQgLSBSYXBpZFNTTChSKTEdMBsGA1UEAxMU\n"
    -  "c3VwcG9ydC5tYXlmaXJzdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
    -  "AN0TWIZwJ/hIfMHc08/bBMlzZ5WucJqEvxU/ZnxPo/H6V/m4v1iLpM2hip2c5cg0\n"
    -  "BcEMc/TBHQ1UEV8sb0Lh91kWfiMB1Sp+L2Fpz/wnhsivXC5j6jq9IcPqmOZOXBYX\n"
    -  "k04W1B6FKTvk9KrZJ0at2J44hp4SsAfWQI0eCKuas+R1AgMBAAGjgb0wgbowDgYD\n"
    -  "VR0PAQH/BAQDAgTwMB0GA1UdDgQWBBS0D4iuCxp35TLADTkINq2AhgTYVTA7BgNV\n"
    -  "HR8ENDAyMDCgLqAshipodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2Jh\n"
    -  "bGNhMS5jcmwwHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0l\n"
    -  "BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcN\n"
    -  "AQEEBQADgYEAXNWYnrO1mZgBSCwPlWhVa2aOKGCFmehLIcAPEBN+8xhXuOeigYBm\n"
    -  "ic5ShCO583ttgHNCV3Y5dW9sNhv1US4vSb6soKjgUlG11fJKUqU8mwFKvbs7TUSq\n"
    -  "j6h+1uvlfFI34WzODjJloY4QSM7FmbnW+HCiFKYyvra3iUqjcl9AeR4=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] (CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJV\n"
    -  "UzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1\n"
    -  "aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0\n"
    -  "MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoT\n"
    -  "E0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJl\n"
    -  "IEdsb2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\n"
    -  "gYkCgYEAuucXkAJlsTRVPEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQy\n"
    -  "td4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORR\n"
    -  "OhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxnhcXIw2EC\n"
    -  "AwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8w\n"
    -  "HwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6o\n"
    -  "oHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf\n"
    -  "2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkAZ70Br83gcfxa\n"
    -  "z2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIYNMR1\n"
    -  "pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Test V1 CA without basicConstraint. */
    -static const char *v1ca[] = {
    -  /* chain[0] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIE/zCCA+egAwIBAgIQBSsgZODO6vk6ayagofBQJDANBgkqhkiG9w0BAQUFADCB\n"
    -  "sDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
    -  "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
    -  "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMh\n"
    -  "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBMB4XDTA4MDUwNTAwMDAw\n"
    -  "MFoXDTA5MDUyMjIzNTk1OVowczELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlu\n"
    -  "b2lzMRAwDgYDVQQHFAdEdSBQYWdlMSQwIgYDVQQKFBtBcmdvbm5lIE5hdGlvbmFs\n"
    -  "IExhYm9yYXRvcnkxGTAXBgNVBAMUEGF1dGgyLml0LmFubC5nb3YwgZ8wDQYJKoZI\n"
    -  "hvcNAQEBBQADgY0AMIGJAoGBAMg6YPOXsPQedkLUug3RoMjv/OB+SfuDgGXxtef5\n"
    -  "iE0SjCcsKT5v+bfxt2+ccs7IN7kWn1luJ5NTb0ZrdE6LQoYp9oLsaX/ukOnxKUMY\n"
    -  "YhJJyHgutPtwyPvfZTZPpATWycJnZGIehY1S6thwxeofUyE3ykec2lalULzwXgel\n"
    -  "iC97AgMBAAGjggHTMIIBzzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBEBgNVHR8E\n"
    -  "PTA7MDmgN6A1hjNodHRwOi8vU1ZSU2VjdXJlLWNybC52ZXJpc2lnbi5jb20vU1ZS\n"
    -  "U2VjdXJlMjAwNS5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsG\n"
    -  "AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMB0GA1UdJQQWMBQG\n"
    -  "CCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRv7K+g3Yqk7/UqEGctP1WC\n"
    -  "vNfvJTB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZl\n"
    -  "cmlzaWduLmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL1NWUlNlY3VyZS1haWEudmVy\n"
    -  "aXNpZ24uY29tL1NWUlNlY3VyZTIwMDUtYWlhLmNlcjBuBggrBgEFBQcBDARiMGCh\n"
    -  "XqBcMFowWDBWFglpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRLa7kolgYMu9BSOJsp\n"
    -  "rEsHiyEFGDAmFiRodHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvMS5naWYw\n"
    -  "DQYJKoZIhvcNAQEFBQADggEBAEAKzE4gXeyjRDBSgAgWIaCozbWK+b1ct4aZhWZt\n"
    -  "ihAyASxsNgDjDJzkInINjXoO5FWuJHDuoyyWHBQBb7t96+KgFu/4ye90VUDNTuin\n"
    -  "mmqdOKeLSHVnlhfvGLCdrhWSWg/jZmAjYrXYRwkvxehl9IcHmOgNrHV3INdrSTdZ\n"
    -  "ZCVLL74tuMqhMMm/NJ0tdEmWgpJe+/0dky2F2gAB+mFXlyzFvCLoyS2Vl0PW/BxM\n"
    -  "Ly5t+scmAbgni9gzmFTNhbKHd0s2UE395z4ra6fUdZ0BClFgMDvUnb6kJ/uyKRSa\n"
    -  "h7uQbWFJbA8aNgGLvfTf6o9n+GwbZkcgtBgIVENt8wzqg2I=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIEnDCCBAWgAwIBAgIQdTN9mrDhIzuuLX3kRpFi1DANBgkqhkiG9w0BAQUFADBf\n"
    -  "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
    -  "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
    -  "HhcNMDUwMTE5MDAwMDAwWhcNMTUwMTE4MjM1OTU5WjCBsDELMAkGA1UEBhMCVVMx\n"
    -  "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
    -  "dCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cu\n"
    -  "dmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMhVmVyaVNpZ24gQ2xhc3Mg\n"
    -  "MyBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
    -  "AQEAlcMhEo5AxQ0BX3ZeZpTZcyxYGSK4yfx6OZAqd3J8HT732FXjr0LLhzAC3Fus\n"
    -  "cOa4RLQrNeuT0hcFfstG1lxToDJRnXRkWPkMmgDqXkRJZHL0zRDihQr5NO6ziGap\n"
    -  "paRa0A6Yf1gNK1K7hql+LvqySHyN2y1fAXWijQY7i7RhB8m+Ipn4G9G1V2YETTX0\n"
    -  "kXGWtZkIJZuXyDrzILHdnpgMSmO3ps6wAc74k2rzDG6fsemEe4GYQeaB3D0s57Rr\n"
    -  "4578CBbXs9W5ZhKZfG1xyE2+xw/j+zet1XWHIWuG0EQUWlR5OZZpVsm5Mc2JYVjh\n"
    -  "2XYFBa33uQKvp/1HkaIiNFox0QIDAQABo4IBgTCCAX0wEgYDVR0TAQH/BAgwBgEB\n"
    -  "/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0\n"
    -  "dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0\n"
    -  "cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBEG\n"
    -  "CWCGSAGG+EIBAQQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRQ2xhc3Mz\n"
    -  "Q0EyMDQ4LTEtNDUwHQYDVR0OBBYEFG/sr6DdiqTv9SoQZy0/VYK81+8lMIGABgNV\n"
    -  "HSMEeTB3oWOkYTBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu\n"
    -  "Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv\n"
    -  "biBBdXRob3JpdHmCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQEFBQADgYEA\n"
    -  "w34IRl2RNs9n3Nenr6+4IsOLBHTTsWC85v63RBKBWzFzFGNWxnIu0RoDQ1w4ClBK\n"
    -  "Tc3athmo9JkNr+P32PF1KGX2av6b9L1S2T/L2hbLpZ4ujmZSeD0m+v6UNohKlV4q\n"
    -  "TBnvbvqCPy0D79YoszcYz0KyNCFkR9MgazpM3OYDkAw=\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] (CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzEL\n"
    -  "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQL\n"
    -  "Ey5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
    -  "aXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UE\n"
    -  "BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
    -  "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGf\n"
    -  "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69q\n"
    -  "RUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3In\n"
    -  "zPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a\n"
    -  "/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtM\n"
    -  "EivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPw\n"
    -  "TtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzk\n"
    -  "uxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -/* Test CACert chain with RSA-MD5 signature. */
    -static const char *cacertrsamd5[] = {
    -  /* chain[0] (EE cert) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIE3zCCAsegAwIBAgICbmgwDQYJKoZIhvcNAQEFBQAwVDEUMBIGA1UEChMLQ0Fj\n"
    -  "ZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzEcMBoGA1UE\n"
    -  "AxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDAeFw0wOTAxMTYyMjI5NDdaFw0xMTAxMTYy\n"
    -  "MjI5NDdaMBsxGTAXBgNVBAMTEGZyeS5zZXJ2ZXJhbWEuZGUwgZ8wDQYJKoZIhvcN\n"
    -  "AQEBBQADgY0AMIGJAoGBAMh3WSR8Dxw/zDAZpHMjA1To0HJIaoyR9TqzQfLgn7Yr\n"
    -  "sQFrRMefVMWYHiEFAVJTRcO5GuUtkw3IxALLlyNMl7xJbZESzRKw3Tz3NtM3DopB\n"
    -  "8L7rI8ANy7Hh6P5QRMWJ9OJyiLhSpAi0TuJeGr+kKovHRj64V2/NtoPgDsytHMt9\n"
    -  "AgMBAAGjggF2MIIBcjAMBgNVHRMBAf8EAjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMC\n"
    -  "BggrBgEFBQcDAQYJYIZIAYb4QgQBBgorBgEEAYI3CgMDMAsGA1UdDwQEAwIFoDAz\n"
    -  "BggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmNhY2VydC5v\n"
    -  "cmcvMIHpBgNVHREEgeEwgd6CEGZyeS5zZXJ2ZXJhbWEuZGWgHgYIKwYBBQUHCAWg\n"
    -  "EgwQZnJ5LnNlcnZlcmFtYS5kZYIQZnJ5LnNlcnZlcmFtYS5kZaAeBggrBgEFBQcI\n"
    -  "BaASDBBmcnkuc2VydmVyYW1hLmRlghIqLmZyeS5zZXJ2ZXJhbWEuZGWgIAYIKwYB\n"
    -  "BQUHCAWgFAwSKi5mcnkuc2VydmVyYW1hLmRlggd6cHViLmRloBUGCCsGAQUFBwgF\n"
    -  "oAkMB3pwdWIuZGWCCSouenB1Yi5kZaAXBggrBgEFBQcIBaALDAkqLnpwdWIuZGUw\n"
    -  "DQYJKoZIhvcNAQEFBQADggIBAEWSsOlLbjdRjijMmOnDc2RcLQ5PQC9pjUW+bzGR\n"
    -  "KTJbf8Hf/wSdmHAam+UsIM6HzdQVi058dGyb8/NJQJD+9Dgv1m57x1prLerkt6xq\n"
    -  "UQCYmOpMxCJOykLqzEUnou9WtL5FaD+wBlOuqWFy0Cy2O3LHXkSkaMR+gdxC4pkI\n"
    -  "wSkI2SDdC0juvnoVI7iBaaIhYI/1FwV56hc6lxsAslf0NbtiiwhneVbHm5XRK1d4\n"
    -  "tabVKwOHnEuDyAnZd1yM1EqXKz+NwBlhoKWhC0fVUByID5A2WGEejBJcW/lVrYft\n"
    -  "4+sJpnwS+/VDS5yrDXMqMdYGE8TVMy7RsaoUdaeFQYv4Go48BBGDJB5uEkBJiSq8\n"
    -  "ViZA4iEKujBa5zKJ+CZXy3D/eHLBKUL+ayc9dLeeFTPZU0jYb83kE1wtlnWwF4J1\n"
    -  "8lUQI10nLFg+ALoZoAmFZej19XgbyG6im+ZRFuwrpV6F3HJRP+AMNInsLoQTuD9I\n"
    -  "l2gftVaIU1MqUmVMBcUeeNXG1BZ9vRonKzAC4Otfk1B6aW4Lz0E+sZ+HfCMicD3j\n"
    -  "N01KAeNZ64j8emgnLffurb7qUWbanTpMEzxrelBRufxJkXcn6BcFcxPBVgFnsMgF\n"
    -  "tP7e7N/cm55pI8Et+Gjp+ORJetSio118yu9bf7etSAJWOS6tQ2Ac7JeKP+a8jsvq\n"
    -  "Uyx7\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[1] (Class 3 CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIGCDCCA/CgAwIBAgIBATANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
    -  "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
    -  "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
    -  "Y2FjZXJ0Lm9yZzAeFw0wNTEwMTQwNzM2NTVaFw0zMzAzMjgwNzM2NTVaMFQxFDAS\n"
    -  "BgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5v\n"
    -  "cmcxHDAaBgNVBAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwggIiMA0GCSqGSIb3DQEB\n"
    -  "AQUAA4ICDwAwggIKAoICAQCrSTURSHzSJn5TlM9Dqd0o10Iqi/OHeBlYfA+e2ol9\n"
    -  "4fvrcpANdKGWZKufoCSZc9riVXbHF3v1BKxGuMO+f2SNEGwk82GcwPKQ+lHm9WkB\n"
    -  "Y8MPVuJKQs/iRIwlKKjFeQl9RrmK8+nzNCkIReQcn8uUBByBqBSzmGXEQ+xOgo0J\n"
    -  "0b2qW42S0OzekMV/CsLj6+YxWl50PpczWejDAz1gM7/30W9HxM3uYoNSbi4ImqTZ\n"
    -  "FRiRpoWSR7CuSOtttyHshRpocjWr//AQXcD0lKdq1TuSfkyQBX6TwSyLpI5idBVx\n"
    -  "bgtxA+qvFTia1NIFcm+M+SvrWnIl+TlG43IbPgTDZCciECqKT1inA62+tC4T7V2q\n"
    -  "SNfVfdQqe1z6RgRQ5MwOQluM7dvyz/yWk+DbETZUYjQ4jwxgmzuXVjit89Jbi6Bb\n"
    -  "6k6WuHzX1aCGcEDTkSm3ojyt9Yy7zxqSiuQ0e8DYbF/pCsLDpyCaWt8sXVJcukfV\n"
    -  "m+8kKHA4IC/VfynAskEDaJLM4JzMl0tF7zoQCqtwOpiVcK01seqFK6QcgCExqa5g\n"
    -  "eoAmSAC4AcCTY1UikTxW56/bOiXzjzFU6iaLgVn5odFTEcV7nQP2dBHgbbEsPyyG\n"
    -  "kZlxmqZ3izRg0RS0LKydr4wQ05/EavhvE/xzWfdmQnQeiuP43NJvmJzLR5iVQAX7\n"
    -  "6QIDAQABo4G/MIG8MA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUHAQEEUTBPMCMG\n"
    -  "CCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggrBgEFBQcwAoYc\n"
    -  "aHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBBMD8GCCsGAQQB\n"
    -  "gZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZy9pbmRleC5w\n"
    -  "aHA/aWQ9MTAwDQYJKoZIhvcNAQEEBQADggIBAH8IiKHaGlBJ2on7oQhy84r3HsQ6\n"
    -  "tHlbIDCxRd7CXdNlafHCXVRUPIVfuXtCkcKZ/RtRm6tGpaEQU55tiKxzbiwzpvD0\n"
    -  "nuB1wT6IRanhZkP+VlrRekF490DaSjrxC1uluxYG5sLnk7mFTZdPsR44Q4Dvmw2M\n"
    -  "77inYACHV30eRBzLI++bPJmdr7UpHEV5FpZNJ23xHGzDwlVks7wU4vOkHx4y/CcV\n"
    -  "Bc/dLq4+gmF78CEQGPZE6lM5+dzQmiDgxrvgu1pPxJnIB721vaLbLmINQjRBvP+L\n"
    -  "ivVRIqqIMADisNS8vmW61QNXeZvo3MhN+FDtkaVSKKKs+zZYPumUK5FQhxvWXtaM\n"
    -  "zPcPEAxSTtAWYeXlCmy/F8dyRlecmPVsYGN6b165Ti/Iubm7aoW8mA3t+T6XhDSU\n"
    -  "rgCvoeXnkm5OvfPi2RSLXNLrAWygF6UtEOucekq9ve7O/e0iQKtwOIj1CodqwqsF\n"
    -  "YMlIBdpTwd5Ed2qz8zw87YC8pjhKKSRf/lk7myV6VmMAZLldpGJ9VzZPrYPvH5JT\n"
    -  "oI53V93lYRE9IwCQTDz6o2CTBKOvNfYOao9PSmCnhQVsRqGP9Md246FZV/dxssRu\n"
    -  "FFxtbUFm3xuTsdQAw+7Lzzw9IYCpX2Nl/N3gX6T0K/CFcUHUZyX7GrGXrtaZghNB\n"
    -  "0m6lG5kngOcLqagA\n"
    -  "-----END CERTIFICATE-----\n",
    -  /* chain[2] (Root CA) */
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
    -  "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
    -  "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
    -  "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"
    -  "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"
    -  "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"
    -  "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"
    -  "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"
    -  "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"
    -  "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"
    -  "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"
    -  "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"
    -  "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"
    -  "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"
    -  "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"
    -  "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"
    -  "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"
    -  "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"
    -  "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"
    -  "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"
    -  "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"
    -  "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"
    -  "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"
    -  "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"
    -  "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"
    -  "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"
    -  "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"
    -  "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"
    -  "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"
    -  "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"
    -  "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"
    -  "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"
    -  "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"
    -  "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"
    -  "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"
    -  "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"
    -  "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"
    -  "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"
    -  "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"
    -  "-----END CERTIFICATE-----\n",
    -  NULL
    -};
    -
    -static struct
    -{
    -  const char *name;
    -  const char **chain;
    -  const char **ca;
    -  int verify_flags;
    -  int expected_verify_result;
    -} chains[] =
    -{
    -  { "CVE-2008-4989", cve_2008_4989_chain, &cve_2008_4989_chain[2],
    -    0, GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INVALID },
    -  { "verisign.com v1 fail", verisign_com_chain, &verisign_com_chain[3],
    -    0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
    -  { "verisign.com v1 fail2", verisign_com_chain, &verisign_com_chain[3],
    -    GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
    -  { "verisign.com v1 ok", verisign_com_chain, &verisign_com_chain[3],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    0 },
    -  { "citibank.com v1 fail", citibank_com_chain, &citibank_com_chain[2],
    -    0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
    -  { "expired self signed", pem_self_cert, &pem_self_cert[0],
    -    0, GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
    -  { "self signed", pem_self_cert, &pem_self_cert[0],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0 },
    -  { "ca=false", thea_chain, &thea_chain[1],
    -    GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
    -  { "ca=false2", thea_chain, &thea_chain[1],
    -    0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
    -  { "hbci v1 fail", hbci_chain, &hbci_chain[2],
    -    0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID},
    -  { "hbci v1 ok expired", hbci_chain, &hbci_chain[2],
    -    GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
    -  { "hbci v1 ok", hbci_chain, &hbci_chain[2],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    0 },
    -  { "rsa-md5 fail", mayfirst_chain, &mayfirst_chain[1],
    -    0, GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID },
    -  { "rsa-md5 not ok", mayfirst_chain, &mayfirst_chain[1],
    -    GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2,
    -    GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID },
    -  { "rsa-md5 not ok2", mayfirst_chain, &mayfirst_chain[1],
    -    GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
    -    GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
    -  { "rsa-md5 ok", mayfirst_chain, &mayfirst_chain[1],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5, 0 },
    -  { "v1ca fail", v1ca, &v1ca[2],
    -    0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
    -  { "v1ca expired", v1ca, &v1ca[2],
    -    GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID  },
    -  { "v1ca ok", v1ca, &v1ca[2],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
    -    0 },
    -  { "v1ca2 expired", v1ca, &v1ca[2],
    -    GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
    -    GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
    -  { "v1ca2 ok", v1ca, &v1ca[2],
    -    GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
    -    0 },
    -  { "cacertrsamd5 fail", cacertrsamd5, &cacertrsamd5[2],
    -    0, GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID },
    -  { "cacertrsamd5 ok", cacertrsamd5, &cacertrsamd5[2],
    -    GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5, 0 },
    -  { "cacertrsamd5 short-cut not ok", cacertrsamd5, &cacertrsamd5[1],
    -    GNUTLS_VERIFY_DO_NOT_ALLOW_SAME,
    -    GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INVALID },
    -  { "cacertrsamd5 short-cut ok", cacertrsamd5, &cacertrsamd5[1],
    -    0, 0 },
    -  { NULL, NULL, NULL, 0, 0}
    -};
    -/* *INDENT-ON* */
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "|<%d>| %s", level, str);
    -}
    -
    -int
    -main (int argc, char *argv[])
    -{
    -  int exit_val = 0;
    -  size_t i;
    -  int ret;
    -
    -  ret = gnutls_global_init ();
    -  if (ret != 0)
    -    {
    -      printf ("%d: %s\n", ret, gnutls_strerror (ret));
    -      return EXIT_FAILURE;
    -    }
    -
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (4711);
    -
    -  for (i = 0; chains[i].chain; i++)
    -    {
    -      unsigned int verify_status;
    -      gnutls_x509_crt_t certs[4];
    -      gnutls_x509_crt_t ca;
    -      gnutls_datum_t tmp;
    -      size_t j;
    -
    -      printf ("Chain '%s' (%d)...\n", chains[i].name, i);
    -
    -      for (j = 0; chains[i].chain[j]; j++)
    -	{
    -	  printf ("\tAdding certificate %d...", j);
    -
    -	  ret = gnutls_x509_crt_init (&certs[j]);
    -	  if (ret < 0)
    -	    error (EXIT_FAILURE, 0, "gnutls_x509_crt_init[%d,%d]: %s", i, j,
    -		   gnutls_strerror (ret));
    -
    -	  tmp.data = (char *) chains[i].chain[j];
    -	  tmp.size = strlen (chains[i].chain[j]);
    -
    -	  ret = gnutls_x509_crt_import (certs[j], &tmp, GNUTLS_X509_FMT_PEM);
    -	  printf ("done\n");
    -	  if (ret < 0)
    -	    error (EXIT_FAILURE, 0, "gnutls_x509_crt_import[%d,%d]: %s", i, j,
    -		   gnutls_strerror (ret));
    -
    -	  gnutls_x509_crt_print (certs[j], GNUTLS_CRT_PRINT_ONELINE, &tmp);
    -	  printf ("\tCertificate %d: %.*s\n", j, tmp.size, tmp.data);
    -	  gnutls_free (tmp.data);
    -	}
    -
    -      printf ("\tAdding CA certificate...");
    -
    -      ret = gnutls_x509_crt_init (&ca);
    -      if (ret < 0)
    -	error (EXIT_FAILURE, 0, "gnutls_x509_crt_init: %s",
    -	       gnutls_strerror (ret));
    -
    -      tmp.data = (char *) *chains[i].ca;
    -      tmp.size = strlen (*chains[i].ca);
    -
    -      ret = gnutls_x509_crt_import (ca, &tmp, GNUTLS_X509_FMT_PEM);
    -      if (ret < 0)
    -	error (EXIT_FAILURE, 0, "gnutls_x509_crt_import: %s",
    -	       gnutls_strerror (ret));
    -
    -      printf ("done\n");
    -
    -      gnutls_x509_crt_print (ca, GNUTLS_CRT_PRINT_ONELINE, &tmp);
    -      printf ("\tCA Certificate: %.*s\n", tmp.size, tmp.data);
    -      gnutls_free (tmp.data);
    -
    -      printf ("\tVerifying...");
    -
    -      ret = gnutls_x509_crt_list_verify (certs, j,
    -					 &ca, 1, NULL, 0,
    -					 chains[i].verify_flags,
    -					 &verify_status);
    -      if (ret < 0)
    -	error (EXIT_FAILURE, 0, "gnutls_x509_crt_list_verify[%d,%d]: %s",
    -	       i, j, gnutls_strerror (ret));
    -
    -      if (verify_status != chains[i].expected_verify_result)
    -	{
    -	  error (0, 0, "verify_status: %d expected: %d",
    -		 verify_status, chains[i].expected_verify_result);
    -	  exit_val = 1;
    -	  if (argc > 1)
    -	    {
    -	      printf ("Exiting early with status...%d\n", exit_val);
    -	      return exit_val;
    -	    }
    -	}
    -      else
    -	printf ("done\n");
    -      printf ("\tCleanup...");
    -
    -      gnutls_x509_crt_deinit (ca);
    -      for (j = 0; chains[i].chain[j]; j++)
    -	gnutls_x509_crt_deinit (certs[j]);
    -
    -      printf ("done\n");
    -    }
    -
    -  gnutls_global_deinit ();
    -
    -  printf ("Exit status...%d\n", exit_val);
    -
    -  return exit_val;
    -}
    diff -Nru gnutls26-2.8.6/tests/crq_key_id.c gnutls26-2.4.1/tests/crq_key_id.c
    --- gnutls26-2.8.6/tests/crq_key_id.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/crq_key_id.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,183 +0,0 @@
    -/*
    - * Copyright (C) 2008, 2009 Free Software Foundation
    - *
    - * Author: David Marín Carreño
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include "utils.h"
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "%s |<%d>| %s", "crq_key_id", level, str);
    -}
    -
    -void
    -doit (void)
    -{
    -  gnutls_x509_privkey_t pkey;
    -  gnutls_x509_crq_t crq;
    -
    -  size_t pkey_key_id_len;
    -  unsigned char *pkey_key_id = NULL;
    -
    -  size_t crq_key_id_len;
    -  unsigned char *crq_key_id = NULL;
    -
    -  gnutls_pk_algorithm_t algorithm;
    -
    -  int ret;
    -
    -  ret = gnutls_global_init ();
    -  if (ret < 0)
    -    fail ("gnutls_global_init: %d\n", ret);
    -
    -  gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0);
    -
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (4711);
    -
    -  for (algorithm = GNUTLS_PK_RSA; algorithm <= GNUTLS_PK_DSA; algorithm++)
    -    {
    -      ret = gnutls_x509_crq_init (&crq);
    -      if (ret < 0)
    -	fail ("gnutls_x509_crq_init: %d\n", ret);
    -
    -      ret = gnutls_x509_privkey_init (&pkey);
    -      if (ret < 0)
    -	{
    -	  fail ("gnutls_x509_privkey_init: %d\n", ret);
    -	}
    -
    -      ret = gnutls_x509_privkey_generate (pkey, algorithm, 1024, 0);
    -      if (ret < 0)
    -	{
    -	  fail ("gnutls_x509_privkey_generate (rsa): %d\n", ret);
    -	}
    -      else
    -	{
    -	  success ("Key[%s] generation ok: %d\n",
    -		   gnutls_pk_algorithm_get_name (algorithm), ret);
    -	}
    -
    -      pkey_key_id_len = 0;
    -      ret = gnutls_x509_privkey_get_key_id (pkey, 0, pkey_key_id,
    -					    &pkey_key_id_len);
    -      if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
    -	{
    -	  fail ("gnutls_x509_privkey_get_key_id incorrectly returns %d\n",
    -		ret);
    -	}
    -
    -      pkey_key_id = malloc (sizeof (unsigned char) * pkey_key_id_len);
    -      ret = gnutls_x509_privkey_get_key_id (pkey, 0, pkey_key_id,
    -					    &pkey_key_id_len);
    -      if (ret != GNUTLS_E_SUCCESS)
    -	{
    -	  fail ("gnutls_x509_privkey_get_key_id incorrectly returns %d\n",
    -		ret);
    -	}
    -
    -      ret = gnutls_x509_crq_set_version (crq, 1);
    -      if (ret < 0)
    -	{
    -	  fail ("gnutls_x509_crq_set_version: %d\n", ret);
    -	}
    -
    -      ret = gnutls_x509_crq_set_key (crq, pkey);
    -      if (ret < 0)
    -	{
    -	  fail ("gnutls_x509_crq_set_key: %d\n", ret);
    -	}
    -
    -      ret = gnutls_x509_crq_set_dn_by_oid (crq, GNUTLS_OID_X520_COMMON_NAME,
    -					   0, "CN-Test", 7);
    -      if (ret < 0)
    -	{
    -	  fail ("gnutls_x509_crq_set_dn_by_oid: %d\n", ret);
    -	}
    -
    -      ret = gnutls_x509_crq_sign (crq, pkey);
    -      if (ret)
    -	{
    -	  fail ("gnutls_x509_crq_sign: %d\n", ret);
    -	}
    -
    -      crq_key_id_len = 0;
    -      ret = gnutls_x509_crq_get_key_id (crq, 0, crq_key_id, &crq_key_id_len);
    -      if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
    -	{
    -	  fail ("gnutls_x509_crq_get_key_id incorrectly returns %d\n", ret);
    -	}
    -
    -      crq_key_id = malloc (sizeof (unsigned char) * crq_key_id_len);
    -      ret = gnutls_x509_crq_get_key_id (crq, 0, crq_key_id, &crq_key_id_len);
    -      if (ret != GNUTLS_E_SUCCESS)
    -	{
    -	  fail ("gnutls_x509_crq_get_key_id incorrectly returns %d\n", ret);
    -	}
    -
    -      if (crq_key_id_len == pkey_key_id_len)
    -	{
    -	  ret = memcmp (crq_key_id, pkey_key_id, crq_key_id_len);
    -	  if (ret == 0)
    -	    {
    -	      success ("Key ids are identical. OK.\n");
    -	    }
    -	  else
    -	    {
    -	      fail ("Key ids differ incorrectly: %d\n", ret);
    -	    }
    -	}
    -      else
    -	{
    -	  fail ("Key_id lengths differ incorrectly: %d - %d\n",
    -		crq_key_id_len, pkey_key_id_len);
    -	}
    -
    -
    -      if (pkey_key_id)
    -	{
    -	  free (pkey_key_id);
    -	  pkey_key_id = NULL;
    -	}
    -
    -      if (crq_key_id)
    -	{
    -	  free (crq_key_id);
    -	  crq_key_id = NULL;
    -	}
    -
    -      gnutls_x509_crq_deinit (crq);
    -      gnutls_x509_privkey_deinit (pkey);
    -    }
    -
    -  gnutls_global_deinit ();
    -}
    diff -Nru gnutls26-2.8.6/tests/crypto_rng.c gnutls26-2.4.1/tests/crypto_rng.c
    --- gnutls26-2.8.6/tests/crypto_rng.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/crypto_rng.c	2008-06-30 21:45:51.000000000 +0100
    @@ -1,24 +1,3 @@
    -/*
    - * Copyright (C) 2008 Free Software Foundation
    - *
    - * Author: Nikos Mavrogiannopoulos
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS.  If not, see .
    - *
    - */
     
     #ifdef HAVE_CONFIG_H
     # include 
    @@ -32,53 +11,54 @@
     #include 
     #include "../lib/random.h"
     
    -static int
    -rng_init (void **ctx)
    +void mylogfn( int level, const char*ptr)
     {
    -  return 0;
    +       printf ("Got Logs: ");
    +       if (ptr)
    +               printf ("%s", ptr);
     }
     
    -static int
    -rng_rnd (void *ctx, int level, void *data, size_t datasize)
    +int rng_init( void** ctx)
     {
    -  memset (data, 1, datasize);
    -  return 0;
    + return 0;
     }
     
    -static void
    -rng_deinit (void *ctx)
    +int rng_rnd ( void* ctx, int level, void* data, int datasize)
    +{
    +  memset(data, 1,datasize);
    + return 0;
    +}
    +
    +void rng_deinit( void* ctx)
     {
     }
     
     void
     doit (void)
     {
    -  int rc;
    -  char buf1[32];
    -  char buf2[32];
    -  int failed = 0;
    -  gnutls_crypto_rnd_st rng = { rng_init, rng_rnd, rng_deinit };
    + int rc;
    + char buf1[32];
    + char buf2[32];
    + int failed = 0;
    + gnutls_crypto_rnd_st rng = { rng_init, rng_rnd, rng_deinit };
     
     
    -  rc = gnutls_crypto_rnd_register (0, &rng);
    + rc = gnutls_crypto_rnd_register (0, &rng);
     
    -  gnutls_global_init ();
    + gnutls_global_init ();
     
    -  memset (buf2, 1, sizeof (buf2));
    + memset(buf2, 1, sizeof(buf2));
    + 
    + _gnutls_rnd(GNUTLS_RND_KEY, buf1, sizeof(buf1));
     
    -  _gnutls_rnd (GNUTLS_RND_RANDOM, buf1, sizeof (buf1));
    -
    -  if (memcmp (buf1, buf2, sizeof (buf1)) != 0)
    + if (memcmp( buf1, buf2, sizeof(buf1))!=0)
         failed = 1;
    + 
    + gnutls_global_deinit ();
     
    -  gnutls_global_deinit ();
    -
    -  if (failed == 0)
    -    {
    -      success ("rng registered ok\n");
    -    }
    -  else
    -    {
    -      fail ("rng register test failed: %d\n", rc);
    -    }
    + if (failed == 0) {
    +   success("rng registered ok\n");
    + } else {
    +    fail ("rng register test failed: %d\n", rc);
    + }
     }
    diff -Nru gnutls26-2.8.6/tests/cve-2008-4989.c gnutls26-2.4.1/tests/cve-2008-4989.c
    --- gnutls26-2.8.6/tests/cve-2008-4989.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/cve-2008-4989.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,243 +0,0 @@
    -/*
    - * Copyright (C) 2008, 2009 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -#include 
    -
    -/* Don't add more chains to this file, this is for cve-2008-4989
    -   related chains only.  See chainverify.c instead for a generic chain
    -   verification tester.  */
    -
    -static const char *pem_certs[] = {
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
    -  "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
    -  "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
    -  "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
    -  "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
    -  "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
    -  "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
    -  "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
    -  "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
    -  "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
    -  "bF7pG7Cg3oEHUM0H5KUU\n"
    -  "-----END CERTIFICATE-----\n",
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
    -  "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
    -  "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
    -  "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
    -  "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
    -  "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
    -  "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
    -  "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
    -  "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
    -  "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
    -  "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
    -  "-----END CERTIFICATE-----\n",
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
    -  "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
    -  "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
    -  "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
    -  "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
    -  "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
    -  "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
    -  "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
    -  "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
    -  "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
    -  "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
    -  "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
    -  "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
    -  "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
    -  "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
    -  "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
    -  "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
    -  "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
    -  "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
    -  "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
    -  "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
    -  "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
    -  "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
    -  "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
    -  "-----END CERTIFICATE-----\n"
    -};
    -
    -static const char *pem_ca = {
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
    -  "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
    -  "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
    -  "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
    -  "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
    -  "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
    -  "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
    -  "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
    -  "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
    -  "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
    -  "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
    -  "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
    -  "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
    -  "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
    -  "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
    -  "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
    -  "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
    -  "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
    -  "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
    -  "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
    -  "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
    -  "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
    -  "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
    -  "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
    -  "-----END CERTIFICATE-----\n"
    -};
    -
    -#define CHAIN_LENGTH (sizeof (pem_certs) / sizeof (pem_certs[0]))
    -
    -static const char *pem_self_cert = {
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
    -  "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
    -  "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
    -  "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
    -  "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
    -  "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
    -  "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
    -  "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
    -  "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
    -  "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
    -  "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
    -  "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
    -  "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
    -  "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
    -  "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
    -  "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
    -  "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
    -  "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
    -  "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
    -  "-----END CERTIFICATE-----\n"
    -};
    -
    -int
    -main (int argc, char *argv[])
    -{
    -  int ret;
    -  gnutls_x509_crt_t certs[3];
    -  gnutls_x509_crt_t ca;
    -  gnutls_x509_crt_t self_cert;
    -  gnutls_datum_t tmp;
    -  size_t i;
    -  unsigned int verify_status;
    -
    -  ret = gnutls_global_init ();
    -  if (ret != 0)
    -    {
    -      printf ("%d: %s\n", ret, gnutls_strerror (ret));
    -      return EXIT_FAILURE;
    -    }
    -
    -  for (i = 0; i < CHAIN_LENGTH; i++)
    -    {
    -      ret = gnutls_x509_crt_init (&certs[i]);
    -      if (ret < 0)
    -	error (EXIT_FAILURE, 0, "gnutls_x509_crt_init[%d]: %s", i,
    -	       gnutls_strerror (ret));
    -
    -      tmp.data = (char*) pem_certs[i];
    -      tmp.size = strlen (pem_certs[i]);
    -
    -      ret = gnutls_x509_crt_import (certs[i], &tmp, GNUTLS_X509_FMT_PEM);
    -      if (ret < 0)
    -	error (EXIT_FAILURE, 0, "gnutls_x509_crt_import[%d]: %s", i,
    -	       gnutls_strerror (ret));
    -    }
    -
    -  ret = gnutls_x509_crt_init (&ca);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_init: %s", gnutls_strerror (ret));
    -
    -  tmp.data = (char*) pem_ca;
    -  tmp.size = strlen (pem_ca);
    -
    -  ret = gnutls_x509_crt_import (ca, &tmp, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_import: %s",
    -	   gnutls_strerror (ret));
    -
    -  ret = gnutls_x509_crt_list_verify (certs, CHAIN_LENGTH,
    -				     &ca, 1,
    -				     NULL, 0,
    -				     GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
    -				     &verify_status);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_list_verify[%d]: %s", i,
    -	   gnutls_strerror (ret));
    -
    -  if (verify_status != (GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INVALID))
    -    error (EXIT_FAILURE, 0, "verify_status: %d", verify_status);
    -
    -  gnutls_x509_crt_deinit (ca);
    -  for (i = 0; i < CHAIN_LENGTH; i++)
    -    gnutls_x509_crt_deinit (certs[i]);
    -
    -  /* Also test chain length of 1, since the initial patch to solve the
    -     problem caused a crash in this situation. */
    -
    -  ret = gnutls_x509_crt_init (&self_cert);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_init: %s", gnutls_strerror (ret));
    -
    -  tmp.data = (char*) pem_self_cert;
    -  tmp.size = strlen (pem_self_cert);
    -
    -  ret = gnutls_x509_crt_import (self_cert, &tmp, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_import: %s",
    -	   gnutls_strerror (ret));
    -
    -  ret = gnutls_x509_crt_list_verify (&self_cert, 1,
    -				     &self_cert, 1,
    -				     NULL, 0,
    -				     GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
    -				     &verify_status);
    -  if (ret < 0)
    -    error (EXIT_FAILURE, 0, "gnutls_x509_crt_list_verify[%d]: %s", i,
    -	   gnutls_strerror (ret));
    -
    -  if (verify_status != 0)
    -    error (EXIT_FAILURE, 0, "verify_status: %d", verify_status);
    -
    -  gnutls_x509_crt_deinit (self_cert);
    -
    -  gnutls_global_deinit ();
    -
    -  return 0;
    -}
    diff -Nru gnutls26-2.8.6/tests/cve-2009-1415.c gnutls26-2.4.1/tests/cve-2009-1415.c
    --- gnutls26-2.8.6/tests/cve-2009-1415.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/cve-2009-1415.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,105 +0,0 @@
    -/*
    - * Copyright (C) 2009 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -/*
    - * Small code to reproduce the CVE-2009-1415 double-free problem.
    - *
    - * Build it using:
    - *
    - *  gcc -o cve-2009-1415 cve-2009-1415.c -lgnutls
    - *
    - * If your gnutls library is OK then running it will just print 'success!'.
    - *
    - * If your gnutls library is buggy, then running it will crash like this:
    - *
    - * ** glibc detected *** ./cve-2009-1415: munmap_chunk(): invalid pointer: 0xb7f80a9c ***
    - * ======= Backtrace: =========
    - * ...
    - */
    -
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -#include 
    -
    -static char dsa_cert[] =
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
    -  "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
    -  "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
    -  "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
    -  "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
    -  "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
    -  "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
    -  "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
    -  "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
    -  "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
    -  "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
    -  "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
    -  "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
    -  "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
    -  "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
    -  "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
    -  "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
    -  "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
    -  "QcDzQ8REwidsfh9uKAluk1c/KQ==\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -const gnutls_datum_t dsa_cert_dat = {
    -  dsa_cert, sizeof (dsa_cert)
    -};
    -
    -int
    -main (void)
    -{
    -  gnutls_x509_crt_t crt;
    -  gnutls_datum_t data = { (char *) "foo", 3 };
    -  gnutls_datum_t sig = { (char *) "bar", 3 };
    -  int ret;
    -
    -  gnutls_global_init ();
    -
    -  ret = gnutls_x509_crt_init (&crt);
    -  if (ret < 0)
    -    return 1;
    -
    -  ret = gnutls_x509_crt_import (crt, &dsa_cert_dat, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    return 1;
    -
    -  ret = gnutls_x509_crt_verify_data (crt, 0, &data, &sig);
    -  if (ret < 0)
    -    return 1;
    -
    -  printf ("success!\n");
    -
    -  gnutls_x509_crt_deinit (crt);
    -  gnutls_global_deinit ();
    -
    -  return 0;
    -}
    diff -Nru gnutls26-2.8.6/tests/cve-2009-1416.c gnutls26-2.4.1/tests/cve-2009-1416.c
    --- gnutls26-2.8.6/tests/cve-2009-1416.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/cve-2009-1416.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,88 +0,0 @@
    -/*
    - * Copyright (C) 2009 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -/*
    - * Small code to reproduce the CVE-2009-1416 bad DSA key problem.
    - *
    - * Build it using:
    - *
    - *  gcc -o cve-2009-1416 cve-2009-1416.c -lgnutls
    - *
    - * If your gnutls library is OK then running it will print 'success!'.
    - *
    - * If your gnutls library is buggy then running it will print 'buggy'.
    - *
    - */
    -
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -#include 
    -#include 
    -
    -int
    -main (void)
    -{
    -  gnutls_x509_privkey_t key;
    -  gnutls_datum_t p, q, g, y, x;
    -  int ret;
    -
    -  gnutls_global_init ();
    -  gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0);
    -
    -  ret = gnutls_x509_privkey_init (&key);
    -  if (ret < 0)
    -    return 1;
    -
    -  ret = gnutls_x509_privkey_generate (key, GNUTLS_PK_DSA, 512, 0);
    -  if (ret < 0)
    -    return 1;
    -
    -  ret = gnutls_x509_privkey_export_dsa_raw (key, &p, &q, &g, &y, &x);
    -  if (ret < 0)
    -    return 1;
    -
    -  if (q.size == 3 && memcmp (q.data, "\x01\x00\x01", 3) == 0)
    -    {
    -      printf ("buggy\n");
    -      return 1;
    -    }
    -  else
    -    printf ("success!\n");
    -
    -  gnutls_free (p.data);
    -  gnutls_free (q.data);
    -  gnutls_free (g.data);
    -  gnutls_free (y.data);
    -  gnutls_free (x.data);
    -
    -  gnutls_x509_privkey_deinit (key);
    -  gnutls_global_deinit ();
    -
    -  return 0;
    -}
    diff -Nru gnutls26-2.8.6/tests/dhepskself.c gnutls26-2.4.1/tests/dhepskself.c
    --- gnutls26-2.8.6/tests/dhepskself.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/dhepskself.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -37,8 +37,6 @@
     #include 
     #include 
     
    -#include "tcp.c"
    -
     #include "utils.h"
     
     /* A very basic TLS client, with PSK authentication.
    @@ -53,14 +51,53 @@
       fprintf (stderr, "|<%d>| %s", level, str);
     }
     
    -static void
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +void
     client (void)
     {
       int ret, sd, ii;
       gnutls_session_t session;
       char buffer[MAX_BUF + 1];
       gnutls_psk_client_credentials_t pskcred;
    -  const gnutls_datum_t key = { (char*) "DEADBEEF", 8 };
    +  const gnutls_datum_t key = { "DEADBEEF", 8 };
     
       gnutls_global_init ();
     
    @@ -119,7 +156,7 @@
     
       printf ("- Received %d bytes: ", ret);
       for (ii = 0; ii < ret; ii++)
    -    fputc (buffer[ii], stdout);
    +      fputc (buffer[ii], stdout);
       fputs ("\n", stdout);
     
       gnutls_bye (session, GNUTLS_SHUT_RDWR);
    @@ -141,11 +178,12 @@
     #define SA struct sockaddr
     #define MAX_BUF 1024
     #define PORT 5556		/* listen to 5556 port */
    +#define DH_BITS 1024
     
     /* These are global */
     gnutls_psk_server_credentials_t server_pskcred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -167,8 +205,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -200,7 +238,7 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static void
    +void
     server_start (void)
     {
       success ("Launched, generating DH parameters...\n");
    @@ -220,7 +258,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -241,7 +279,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -285,7 +323,7 @@
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/dn.c gnutls26-2.4.1/tests/dn.c
    --- gnutls26-2.8.6/tests/dn.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/dn.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2006, 2007, 2008 Free Software Foundation
    + * Copyright (C) 2006, 2007 Free Software Foundation
      * Author: Simon Josefsson, Howard Chu
      *
      * This file is part of GNUTLS.
    @@ -57,10 +57,10 @@
       "jxL92AgHPzSFy/nyqmZ1ADcnB5fC5WsEYyr9tPM1gpjJEsi95YIBrO7Uyt4tj5U3\n"
       "dYDvbU+Mg1r0gJi61wciuyAllwKfu9aqkCjJKQGHrTimWzRa6RPygaojWIEmap89\n"
       "bHarWgDg9CKVP1DggVkcD838s//kE1Vl2DReyfAtEQ1agSXLFncgxL+yOi1o3lcq\n"
    -  "+dmDgpDn168TY1Iug80uVKg7AfkLrA==\n" "-----END CERTIFICATE-----\n";
    +  "+dmDgpDn168TY1Iug80uVKg7AfkLrA==\n"
    +  "-----END CERTIFICATE-----\n";
     
    -static void
    -print_dn (gnutls_x509_dn_t dn)
    +void print_dn (gnutls_x509_dn_t dn)
     {
       int i, j, ret = 0;
       gnutls_x509_ava_st ava;
    @@ -68,7 +68,7 @@
       for (i = 0; ret == 0; i++)
         for (j = 0; ret == 0; j++)
           {
    -	ret = gnutls_x509_dn_get_rdn_ava (dn, i, j, &ava);
    +	ret = gnutls_x509_dn_get_rdn_ava(dn, i, j, &ava);
     	if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
     	  {
     	    if (j > 0)
    @@ -80,8 +80,9 @@
     	  }
     	if (ret < 0)
     	  fail ("get_rdn_ava %d\n", ret);
    -	printf ("dn[%d][%d] OID=%.*s\n\tDATA=%.*s\n", i, j,
    -		ava.oid.size, ava.oid.data, ava.value.size, ava.value.data);
    +	printf("dn[%d][%d] OID=%.*s\n\tDATA=%.*s\n", i, j,
    +	       ava.oid.size, ava.oid.data,
    +	       ava.value.size, ava.value.data);
           }
     }
     
    @@ -89,7 +90,7 @@
     doit (void)
     {
       int ret;
    -  gnutls_datum_t derCert = { pem, sizeof (pem) };
    +  gnutls_datum_t derCert = { pem, sizeof(pem) };
       gnutls_x509_crt_t cert;
       gnutls_x509_dn_t xdn;
     
    @@ -105,14 +106,14 @@
       if (ret < 0)
         fail ("crt_import %d\n", ret);
     
    -  ret = gnutls_x509_crt_get_issuer (cert, &xdn);
    +  ret = gnutls_x509_crt_get_issuer(cert, &xdn);
       if (ret < 0)
         fail ("get_subject %d\n", ret);
     
       printf ("Issuer:\n");
       print_dn (xdn);
     
    -  ret = gnutls_x509_crt_get_subject (cert, &xdn);
    +  ret = gnutls_x509_crt_get_subject(cert, &xdn);
       if (ret < 0)
         fail ("get_subject %d\n", ret);
     
    diff -Nru gnutls26-2.8.6/tests/finished.c gnutls26-2.4.1/tests/finished.c
    --- gnutls26-2.8.6/tests/finished.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/finished.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,273 +0,0 @@
    -/*
    - * Copyright (C) 2008 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -/* Based on mini.c. */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include "utils.h"
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "|<%d>| %s", level, str);
    -}
    -
    -char *to_server;
    -size_t to_server_len;
    -
    -char *to_client;
    -size_t to_client_len;
    -
    -static ssize_t
    -client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
    -{
    -  success ("client_pull len %d has %d\n", len, to_client_len);
    -
    -  if (to_client_len < len)
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  memcpy (data, to_client, len);
    -
    -  memmove (to_client, to_client + len, to_client_len - len);
    -  to_client_len -= len;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
    -{
    -  size_t newlen = to_server_len + len;
    -  char *tmp;
    -
    -  success ("client_push len %d has %d\n", len, to_server_len);
    -  hexprint (data, len);
    -
    -  tmp = realloc (to_server, newlen);
    -  if (!tmp)
    -    {
    -      fail ("Memory allocation failure...\n");
    -      exit (1);
    -    }
    -  to_server = tmp;
    -
    -  memcpy (to_server + to_server_len, data, len);
    -  to_server_len = newlen;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
    -{
    -  success ("server_pull len %d has %d\n", len, to_server_len);
    -
    -  if (to_server_len < len)
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  memcpy (data, to_server, len);
    -
    -  memmove (to_server, to_server + len, to_server_len - len);
    -  to_server_len -= len;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
    -{
    -  size_t newlen = to_client_len + len;
    -  char *tmp;
    -
    -  success ("server_push len %d has %d\n", len, to_client_len);
    -
    -  hexprint (data, len);
    -
    -  tmp = realloc (to_client, newlen);
    -  if (!tmp)
    -    {
    -      fail ("Memory allocation failure...\n");
    -      exit (1);
    -    }
    -  to_client = tmp;
    -
    -  memcpy (to_client + to_client_len, data, len);
    -  to_client_len = newlen;
    -
    -  return len;
    -}
    -
    -static void
    -client_finished_callback (gnutls_session_t session,
    -			  const void *finished, size_t len)
    -{
    -  success ("client finished (length %d)\n", len);
    -  hexprint (finished, len);
    -}
    -
    -static void
    -server_finished_callback (gnutls_session_t session,
    -			  const void *finished, size_t len)
    -{
    -  success ("server finished (length %d)\n", len);
    -  hexprint (finished, len);
    -}
    -
    -#define MAX_BUF 1024
    -#define MSG "Hello TLS"
    -
    -void
    -doit (void)
    -{
    -  /* Server stuff. */
    -  gnutls_anon_server_credentials_t s_anoncred;
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  static gnutls_dh_params_t dh_params;
    -  gnutls_session_t server;
    -  int sret = GNUTLS_E_AGAIN;
    -  /* Client stuff. */
    -  gnutls_anon_client_credentials_t c_anoncred;
    -  gnutls_session_t client;
    -  int n, cret = GNUTLS_E_AGAIN;
    -  /* Need to enable anonymous KX specifically. */
    -  const int kx_prio[] = { GNUTLS_KX_ANON_DH, 0 };
    -  char buffer[MAX_BUF + 1];
    -  ssize_t ns;
    -  int ret;
    -
    -  /* General init. */
    -  gnutls_global_init ();
    -  gnutls_global_set_log_function (tls_log_func);
    -  if (debug)
    -    gnutls_global_set_log_level (4711);
    -
    -  /* Init server */
    -  gnutls_anon_allocate_server_credentials (&s_anoncred);
    -  gnutls_dh_params_init (&dh_params);
    -  gnutls_dh_params_import_pkcs3 (dh_params, &p3, GNUTLS_X509_FMT_PEM);
    -  gnutls_anon_set_server_dh_params (s_anoncred, dh_params);
    -  gnutls_init (&server, GNUTLS_SERVER);
    -  gnutls_set_default_priority (server);
    -  gnutls_kx_set_priority (server, kx_prio);
    -  gnutls_credentials_set (server, GNUTLS_CRD_ANON, s_anoncred);
    -  gnutls_dh_set_prime_bits (server, 1024);
    -  gnutls_transport_set_push_function (server, server_push);
    -  gnutls_transport_set_pull_function (server, server_pull);
    -  gnutls_session_set_finished_function (server, server_finished_callback);
    -
    -  /* Init client */
    -  gnutls_anon_allocate_client_credentials (&c_anoncred);
    -  gnutls_init (&client, GNUTLS_CLIENT);
    -  gnutls_set_default_priority (client);
    -  gnutls_kx_set_priority (client, kx_prio);
    -  gnutls_credentials_set (client, GNUTLS_CRD_ANON, c_anoncred);
    -  gnutls_transport_set_push_function (client, client_push);
    -  gnutls_transport_set_pull_function (client, client_pull);
    -  gnutls_session_set_finished_function (client, client_finished_callback);
    -
    -  do
    -    {
    -      if (cret == GNUTLS_E_AGAIN)
    -	{
    -	  success ("loop invoking client:\n");
    -	  cret = gnutls_handshake (client);
    -	  success ("client %d: %s\n", cret, gnutls_strerror (cret));
    -	}
    -
    -      if (sret == GNUTLS_E_AGAIN)
    -	{
    -	  success ("loop invoking server:\n");
    -	  sret = gnutls_handshake (server);
    -	  success ("server %d: %s\n", sret, gnutls_strerror (sret));
    -	}
    -    }
    -  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
    -
    -  success ("Handshake established\n");
    -
    -  ns = gnutls_record_send (client, MSG, strlen (MSG));
    -  success ("client: sent %d\n", ns);
    -
    -  ret = gnutls_record_recv (server, buffer, MAX_BUF);
    -  if (ret == 0)
    -    fail ("server: didn't receive any data\n");
    -  else if (ret < 0)
    -    fail ("server: error: %s\n", gnutls_strerror (ret));
    -  else
    -    {
    -      printf ("server: received %d: ", ret);
    -      for (n = 0; n < ret; n++)
    -	fputc (buffer[n], stdout);
    -      fputs ("\n", stdout);
    -    }
    -
    -  ns = gnutls_record_send (server, MSG, strlen (MSG));
    -  success ("server: sent %d\n", ns);
    -
    -  ret = gnutls_record_recv (client, buffer, MAX_BUF);
    -  if (ret == 0)
    -    {
    -      fail ("client: Peer has closed the TLS connection\n");
    -    }
    -  else if (ret < 0)
    -    {
    -      fail ("client: Error: %s\n", gnutls_strerror (ret));
    -    }
    -  else
    -    {
    -      printf ("client: received %d: ", ret);
    -      for (n = 0; n < ret; n++)
    -	fputc (buffer[n], stdout);
    -      fputs ("\n", stdout);
    -    }
    -
    -  gnutls_bye (client, GNUTLS_SHUT_RDWR);
    -  gnutls_bye (server, GNUTLS_SHUT_RDWR);
    -
    -  gnutls_deinit (client);
    -  gnutls_deinit (server);
    -
    -  free (to_server);
    -  free (to_client);
    -
    -  gnutls_anon_free_client_credentials (c_anoncred);
    -  gnutls_anon_free_server_credentials (s_anoncred);
    -
    -  gnutls_dh_params_deinit (dh_params);
    -
    -  gnutls_global_deinit ();
    -}
    diff -Nru gnutls26-2.8.6/tests/gc.c gnutls26-2.4.1/tests/gc.c
    --- gnutls26-2.8.6/tests/gc.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/gc.c	2008-06-30 21:45:51.000000000 +0100
    @@ -27,10 +27,13 @@
     
     #include "utils.h"
     
    -#include "../lib/gnutls_int.h"
    -#include "../lib/gnutls_hash_int.h"
    -#include "../lib/x509/pbkdf2-sha1.h"
    -#include "../lib/debug.h"
    +#include "gc.h"
    +
    +int
    +is_secure_mem (const void *ign)
    +{
    +  return 0;
    +}
     
     void
     doit (void)
    @@ -39,56 +42,107 @@
       int err;
     
       /* XXX: We need this to fix secure memory. */
    -  gnutls_global_init ();
    +  gnutls_global_init();
    +
    +  err = gc_init ();
    +  if (err)
    +    fail ("gc_init() failed: %d\n", err);
    +
    +  gc_set_allocators (malloc, malloc, is_secure_mem, realloc, free);
    +
    +  err = gc_md5 ("abcdefgh", 8, digest);
    +  if (err)
    +    fail ("gc_md5() failed: %d\n", err);
    +  else
    +    {
    +      if (memcmp (digest, "\xe8\xdc\x40\x81\xb1\x34\x34\xb4"
    +		  "\x51\x89\xa7\x20\xb7\x7b\x68\x18", 16) == 0)
    +	success ("gc_md5() OK\n");
    +      else
    +	{
    +	  hexprint (digest, 16);
    +	  fail ("gc_md5() failure\n");
    +	}
    +    }
     
    -  err =
    -    _gnutls_hmac_fast (GNUTLS_MAC_MD5, "keykeykey", 9, "abcdefgh", 8, digest);
    -  if (err < 0)
    -    fail ("_gnutls_hmac_fast(MD5) failed: %d\n", err);
    +  err = gc_hash_buffer (GC_MD5, "abcdefgh", 8, digest);
    +  if (err)
    +    fail ("gc_hash_buffer(GC_MD5) failed: %d\n", err);
    +  else
    +    {
    +      if (memcmp (digest, "\xe8\xdc\x40\x81\xb1\x34\x34\xb4"
    +		  "\x51\x89\xa7\x20\xb7\x7b\x68\x18", 16) == 0)
    +	success ("gc_hash_buffer(GC_MD5) OK\n");
    +      else
    +	{
    +	  hexprint (digest, 16);
    +	  fail ("gc_hash_buffer(GC_MD5) failure\n");
    +	}
    +    }
    +
    +  err = gc_hash_buffer (GC_SHA1, "abcdefgh", 8, digest);
    +  if (err)
    +    fail ("gc_hash_buffer(GC_SHA1) failed: %d\n", err);
    +  else
    +    {
    +      if (memcmp (digest, "\x42\x5a\xf1\x2a\x07\x43\x50\x2b"
    +		  "\x32\x2e\x93\xa0\x15\xbc\xf8\x68\xe3\x24\xd5\x6a",
    +		  20) == 0)
    +	success ("gc_hash_buffer(GC_SHA1) OK\n");
    +      else
    +	{
    +	  hexprint (digest, 20);
    +	  fail ("gc_hash_buffer(GC_SHA1) failure\n");
    +	}
    +    }
    +
    +  err = gc_hmac_md5 ("keykeykey", 9, "abcdefgh", 8, digest);
    +  if (err)
    +    fail ("gc_hmac_md5() failed: %d\n", err);
       else
         {
           if (memcmp (digest, "\x3c\xb0\x9d\x83\x28\x01\xef\xc0"
     		  "\x7b\xb3\xaf\x42\x69\xe5\x93\x9a", 16) == 0)
    -	success ("_gnutls_hmac_fast(MD5) OK\n");
    +	success ("gc_hmac_md5() OK\n");
           else
     	{
     	  hexprint (digest, 16);
    -	  fail ("_gnutls_hmac_fast(MD5) failure\n");
    +	  fail ("gc_hmac_md5() failure\n");
     	}
         }
     
    -  err =
    -    _gnutls_hmac_fast (GNUTLS_MAC_SHA1, "keykeykey", 9, "abcdefgh", 8,
    -		       digest);
    -  if (err < 0)
    -    fail ("_gnutls_hmac_fast(SHA1) failed: %d\n", err);
    +  err = gc_hmac_sha1 ("keykeykey", 9, "abcdefgh", 8, digest);
    +  if (err)
    +    fail ("gc_hmac_sha1() failed: %d\n", err);
       else
         {
           if (memcmp (digest, "\x58\x93\x7a\x58\xfe\xea\x82\xf8"
     		  "\x0e\x64\x62\x01\x40\x2b\x2c\xed\x5d\x54\xc1\xfa",
     		  20) == 0)
    -	success ("_gnutls_hmac_fast(SHA1) OK\n");
    +	success ("gc_hmac_sha1() OK\n");
           else
     	{
     	  hexprint (digest, 20);
    -	  fail ("_gnutls_hmac_fast(SHA1) failure\n");
    +	  fail ("gc_hmac_sha1() failure\n");
     	}
         }
     
    -  err = _gnutls_pbkdf2_sha1 ("password", 8, "salt", 4, 4711, digest, 16);
    -  if (err < 0)
    -    fail ("_gnutls_pkcs5_pbkdf2_sha1() failed: %d\n", err);
    +  err = gc_pbkdf2_sha1 ("password", 8, "salt", 4, 4711, digest, 16);
    +  if (err)
    +    fail ("gc_pkcs5_pbkdf2_sha1() failed: %d\n", err);
       else
         {
           if (memcmp (digest, "\x09\xb7\x85\x57\xdd\xf6\x07\x15"
     		  "\x1c\x52\x34\xde\xba\x5c\xdc\x59", 16) == 0)
    -	success ("_gnutls_pkcs5_pbkdf2_sha1() OK\n");
    +	success ("gc_pkcs5_pbkdf2_sha1() OK\n");
           else
     	{
     	  hexprint (digest, 16);
    -	  fail ("_gnutls_pkcs5_pbkdf2_sha1() failure\n");
    +	  fail ("gc_pkcs5_pbkdf2_sha1() failure\n");
     	}
         }
     
    -  gnutls_global_deinit ();
    +  gc_done ();
    +
    +  gnutls_global_deinit();
     }
    diff -Nru gnutls26-2.8.6/tests/hostname-check/hostname-check.c gnutls26-2.4.1/tests/hostname-check/hostname-check.c
    --- gnutls26-2.8.6/tests/hostname-check/hostname-check.c	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check/hostname-check.c	2008-06-19 11:00:10.000000000 +0100
    @@ -0,0 +1,713 @@
    +/*
    + * Copyright (C) 2007 Free Software Foundation
    + *
    + * Author: Simon Josefsson
    + *
    + * This file is part of GNUTLS.
    + *
    + * GNUTLS 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 3 of the License, or
    + * (at your option) any later version.
    + *
    + * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    + */
    +
    +#if HAVE_CONFIG_H
    +# include 
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +
    +#include "utils.h"
    +
    +/* Certificate with no SAN nor CN. */
    +char pem1[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Issuer: O=GnuTLS hostname check test CA\n"
    +  "        Validity:\n"
    +  "                Not Before: Fri Feb 16 12:59:09 UTC 2007\n"
    +  "                Not After: Fri Mar 30 12:59:13 UTC 2007\n"
    +  "        Subject: O=GnuTLS hostname check test CA\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    +  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    +  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    +  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    +  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    +  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    +  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    +  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "        Signature Algorithm: RSA-SHA\n"
    +  "        Signature:\n"
    +  "                7b:e8:11:6c:15:3f:f9:01:a0:f1:28:0c:62:50:58:f8\n"
    +  "                92:44:fb:bf:ab:20:8a:3b:81:ca:e5:68:60:71:df:2b\n"
    +  "                e8:50:58:82:32:ef:fb:6e:4a:72:2c:c9:37:4f:88:1d\n"
    +  "                d7:1b:68:5b:db:83:1b:1a:f3:b4:8e:e0:88:03:e2:43\n"
    +  "                91:be:d8:b1:ca:f2:62:ec:a1:fd:1a:c8:41:8c:fe:53\n"
    +  "                1b:be:03:c9:a1:3d:f4:ae:57:fc:44:a6:34:bb:2c:2e\n"
    +  "                a7:56:14:1f:89:e9:3a:ec:1f:a3:da:d7:a1:94:3b:72\n"
    +  "                1d:12:71:b9:65:a1:85:a2:4c:3a:d1:2c:e9:e9:ea:1c\n"
    +  "Other Information:\n"
    +  "        MD5 fingerprint:\n"
    +  "                fd845ded8c28ba5e78d6c1844ceafd24\n"
    +  "        SHA-1 fingerprint:\n"
    +  "                0bae431dda3cae76012b82276e4cd92ad7961798\n"
    +  "        Public Key Id:\n"
    +  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIIB8TCCAVygAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    +  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTI1OTA5WhcNMDcwMzMw\n"
    +  "MTI1OTEzWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    +  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
    +  "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
    +  "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
    +  "8of+3HiTfFm/oXUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
    +  "6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBAHvoEWwVP/kBoPEo\n"
    +  "DGJQWPiSRPu/qyCKO4HK5Whgcd8r6FBYgjLv+25KcizJN0+IHdcbaFvbgxsa87SO\n"
    +  "4IgD4kORvtixyvJi7KH9GshBjP5TG74DyaE99K5X/ESmNLssLqdWFB+J6TrsH6Pa\n"
    +  "16GUO3IdEnG5ZaGFokw60Szp6eoc\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with CN but no SAN. */
    +char pem2[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Issuer: CN=www.example.org\n"
    +  "        Validity:\n"
    +  "                Not Before: Fri Feb 16 13:30:30 UTC 2007\n"
    +  "                Not After: Fri Mar 30 13:30:32 UTC 2007\n"
    +  "        Subject: CN=www.example.org\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    +  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    +  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    +  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    +  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    +  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    +  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    +  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "        Signature Algorithm: RSA-SHA\n"
    +  "        Signature:\n"
    +  "                b0:4e:ac:fb:89:12:36:27:f3:72:b8:1a:57:dc:bf:f3\n"
    +  "                a9:27:de:15:75:94:4f:65:cc:3a:59:12:4b:91:0e:28\n"
    +  "                b9:8d:d3:6e:ac:5d:a8:3e:b9:35:81:0c:8f:c7:95:72\n"
    +  "                d9:51:61:06:00:c6:aa:68:54:c8:52:3f:b6:1f:21:92\n"
    +  "                c8:fd:15:50:15:ac:d4:18:29:a1:ff:c9:25:5a:ce:5e\n"
    +  "                11:7f:82:b2:94:8c:44:3c:3f:de:d7:3b:ff:1c:da:9c\n"
    +  "                81:fa:63:e1:a7:67:ee:aa:fa:d0:c9:2f:66:1b:5e:af\n"
    +  "                46:8c:f9:53:55:e7:80:7e:74:95:98:d4:2d:5f:94:ab\n"
    +  "Other Information:\n"
    +  "        MD5 fingerprint:\n"
    +  "                30cda7de4f0360892547974f45111ac1\n"
    +  "        SHA-1 fingerprint:\n"
    +  "                39e3f8fec6a8d842390b6536998a957c1a6b7322\n"
    +  "        Public Key Id:\n"
    +  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIIB1TCCAUCgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
    +  "YW1wbGUub3JnMB4XDTA3MDIxNjEzMzAzMFoXDTA3MDMzMDEzMzAzMlowGjEYMBYG\n"
    +  "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
    +  "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
    +  "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
    +  "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABozIwMDAPBgNVHRMB\n"
    +  "Af8EBTADAQH/MB0GA1UdDgQWBBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG\n"
    +  "9w0BAQUDgYEAsE6s+4kSNifzcrgaV9y/86kn3hV1lE9lzDpZEkuRDii5jdNurF2o\n"
    +  "Prk1gQyPx5Vy2VFhBgDGqmhUyFI/th8hksj9FVAVrNQYKaH/ySVazl4Rf4KylIxE\n"
    +  "PD/e1zv/HNqcgfpj4adn7qr60MkvZhter0aM+VNV54B+dJWY1C1flKs=\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with SAN but no CN. */
    +char pem3[] =
    +  "X.509 Certificate Information:"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Issuer: O=GnuTLS hostname check test CA\n"
    +  "        Validity:\n"
    +  "                Not Before: Fri Feb 16 13:36:27 UTC 2007\n"
    +  "                Not After: Fri Mar 30 13:36:29 UTC 2007\n"
    +  "        Subject: O=GnuTLS hostname check test CA\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    +  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    +  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    +  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    +  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    +  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    +  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    +  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        DNSname: www.example.org\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "        Signature Algorithm: RSA-SHA\n"
    +  "        Signature:\n"
    +  "                a1:30:bc:01:b3:0f:98:7f:8e:76:7d:23:87:34:15:7f\n"
    +  "                a6:ae:a1:fb:87:75:e3:e8:1a:e5:5e:03:5d:bf:44:75\n"
    +  "                46:4f:d2:a1:28:50:84:49:6d:3b:e0:bc:4e:de:79:85\n"
    +  "                fa:e1:07:b7:6e:0c:14:04:4a:82:b9:f3:22:6a:bc:99\n"
    +  "                14:20:3b:49:1f:e4:97:d9:ea:eb:73:9a:83:a6:cc:b8\n"
    +  "                55:fb:52:8e:5f:86:7c:9d:fa:af:03:76:ae:97:e0:64\n"
    +  "                50:59:73:22:99:55:cf:da:59:31:0a:e8:6d:a0:53:bc\n"
    +  "                39:63:2e:ac:92:4a:e9:8b:1e:d0:03:df:33:bb:4e:88\n"
    +  "Other Information:\n"
    +  "        MD5 fingerprint:\n"
    +  "                df3f57d00c8149bd826b177d6ea4f369\n"
    +  "        SHA-1 fingerprint:\n"
    +  "                e95e56e2acac305f72ea6f698c11624663a595bd\n"
    +  "        Public Key Id:\n"
    +  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    +  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTMzNjI3WhcNMDcwMzMw\n"
    +  "MTMzNjI5WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    +  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
    +  "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
    +  "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
    +  "8of+3HiTfFm/oXUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
    +  "gg93d3cuZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
    +  "FOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQChMLwBsw+Yf452\n"
    +  "fSOHNBV/pq6h+4d14+ga5V4DXb9EdUZP0qEoUIRJbTvgvE7eeYX64Qe3bgwUBEqC\n"
    +  "ufMiaryZFCA7SR/kl9nq63Oag6bMuFX7Uo5fhnyd+q8Ddq6X4GRQWXMimVXP2lkx\n"
    +  "CuhtoFO8OWMurJJK6Yse0APfM7tOiA==\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with wildcard SAN but no CN. */
    +char pem4[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Issuer:\n"
    +  "        Validity:\n"
    +  "                Not Before: Fri Feb 16 13:40:10 UTC 2007\n"
    +  "                Not After: Fri Mar 30 13:40:12 UTC 2007\n"
    +  "        Subject:\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    +  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    +  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    +  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    +  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    +  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    +  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    +  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        DNSname: *.example.org\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "        Signature Algorithm: RSA-SHA\n"
    +  "        Signature:\n"
    +  "                b1:62:e5:e3:0b:a5:99:58:b0:1c:5c:f5:d1:3f:7c:bb\n"
    +  "                67:e1:43:c5:d7:a2:5c:db:f2:5a:f3:03:fc:76:e4:4d\n"
    +  "                c1:a0:89:36:24:82:a4:a1:ad:f5:83:e3:96:75:f4:c4\n"
    +  "                f3:eb:ff:3a:9b:da:d2:2c:58:d4:10:37:50:33:d1:39\n"
    +  "                53:71:9e:48:2d:b2:5b:27:ce:1e:d9:d5:36:59:ac:17\n"
    +  "                3a:83:cc:59:6b:8f:6a:24:b8:9f:f0:e6:14:03:23:5a\n"
    +  "                87:e7:33:10:32:11:58:a2:bb:f1:e5:5a:88:87:bb:80\n"
    +  "                1b:b6:bb:12:18:cb:15:d5:3a:fc:99:e4:42:5a:ba:45\n"
    +  "Other Information:\n"
    +  "        MD5 fingerprint:\n"
    +  "                a411da7b0fa064d214116d5f94e06c24\n"
    +  "        SHA-1 fingerprint:\n"
    +  "                3596e796c73ed096d762ab3d440a9ab55a386b3b\n"
    +  "        Public Key Id:\n"
    +  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIIB0DCCATugAwIBAgIBADALBgkqhkiG9w0BAQUwADAeFw0wNzAyMTYxMzQwMTBa\n"
    +  "Fw0wNzAzMzAxMzQwMTJaMAAwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgL7smHod\n"
    +  "b35rJZ7oIHhCoGQFZkOZbUnVGOx9uVhksoCjFGGdCk++L/Au/NKrXDbfU+xDx/ze\n"
    +  "kbweAaa3bLIHEC7LYUd1ygPOI2448TQnGhrN95bzs/ANZ3/Kd4Q/nCn0YpH2Elti\n"
    +  "Wsy67QguMkQmrP0jzlMbu/KH/tx4k3xZv6F1AgMBAAGjYTBfMA8GA1UdEwEB/wQF\n"
    +  "MAMBAf8wGAYDVR0RBBEwD4INKi5leGFtcGxlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
    +  "BQcDATAdBgNVHQ4EFgQU6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEF\n"
    +  "A4GBALFi5eMLpZlYsBxc9dE/fLtn4UPF16Jc2/Ja8wP8duRNwaCJNiSCpKGt9YPj\n"
    +  "lnX0xPPr/zqb2tIsWNQQN1Az0TlTcZ5ILbJbJ84e2dU2WawXOoPMWWuPaiS4n/Dm\n"
    +  "FAMjWofnMxAyEViiu/HlWoiHu4AbtrsSGMsV1Tr8meRCWrpF\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with ipaddress CN but no SAN. */
    +char pem5[] =
    +  "X.509 Certificate Information:"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Issuer: CN=www.example.org\n"
    +  "        Validity:\n"
    +  "                Not Before: Fri Feb 16 13:44:29 UTC 2007\n"
    +  "                Not After: Fri Mar 30 13:44:30 UTC 2007\n"
    +  "        Subject: CN=www.example.org\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    +  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    +  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    +  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    +  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    +  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    +  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    +  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        IPAddress: 1.2.3.4\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "        Signature Algorithm: RSA-SHA\n"
    +  "        Signature:\n"
    +  "                66:b1:32:9f:6e:06:d7:da:28:bf:3a:d7:56:d5:b6:fe\n"
    +  "                78:40:f0:48:92:3a:19:8a:1c:37:ad:59:6f:bc:af:f2\n"
    +  "                f0:89:81:33:33:01:a8:e4:1a:c1:31:a7:3c:6d:4a:9f\n"
    +  "                a5:86:6d:22:6e:5b:8b:69:65:83:28:b5:b8:68:72:c5\n"
    +  "                2b:af:99:89:dd:48:ad:fc:f6:90:55:c3:a5:41:f3:d7\n"
    +  "                bc:a2:57:56:25:f1:d1:12:fb:08:70:58:d5:45:57:86\n"
    +  "                1b:aa:f2:d4:63:62:c6:fd:b3:04:64:60:9c:77:c3:4b\n"
    +  "                d1:e4:c7:77:00:17:79:d2:2b:1f:14:ad:e9:34:c8:da\n"
    +  "Other Information:\n"
    +  "        MD5 fingerprint:\n"
    +  "                cdffe1ac9bf42a4f04a15298f9d18bf6\n"
    +  "        SHA-1 fingerprint:\n"
    +  "                4fa47b29e928499142c88c598ea175b9453957f7\n"
    +  "        Public Key Id:\n"
    +  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIIB/jCCAWmgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
    +  "YW1wbGUub3JnMB4XDTA3MDIxNjEzNDQyOVoXDTA3MDMzMDEzNDQzMFowGjEYMBYG\n"
    +  "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
    +  "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
    +  "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
    +  "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABo1swWTAPBgNVHRMB\n"
    +  "Af8EBTADAQH/MBIGA1UdEQQLMAmHBzEuMi4zLjQwEwYDVR0lBAwwCgYIKwYBBQUH\n"
    +  "AwEwHQYDVR0OBBYEFOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOB\n"
    +  "gQBmsTKfbgbX2ii/OtdW1bb+eEDwSJI6GYocN61Zb7yv8vCJgTMzAajkGsExpzxt\n"
    +  "Sp+lhm0ibluLaWWDKLW4aHLFK6+Zid1Irfz2kFXDpUHz17yiV1Yl8dES+whwWNVF\n"
    +  "V4YbqvLUY2LG/bMEZGCcd8NL0eTHdwAXedIrHxSt6TTI2g==\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with multiple wildcards SAN but no CN. */
    +char pem6[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Validity:\n"
    +  "                Not Before: Sat May  3 11:00:51 UTC 2008\n"
    +  "                Not After: Sat May 17 11:00:54 UTC 2008\n"
    +  "        Subject: O=GnuTLS hostname check test CA\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    +  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    +  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    +  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    +  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    +  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    +  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    +  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        DNSname: *.*.example.org\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "Other Information:\n"
    +  "        Public Key Id:\n"
    +  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    +  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMDUxWhcNMDgwNTE3\n"
    +  "MTEwMDU0WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    +  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    +  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    +  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    +  "AUp+YdcEIQVM8QcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
    +  "gg8qLiouZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
    +  "FFST5lmbKDtFKTeIGK75pKu/TZkYMAsGCSqGSIb3DQEBBQOBgQAQ9PStleVvfmlK\n"
    +  "wRs8RE/oOO+ouC3qLdnumNEITMRFh8Q12/X4yMLD3CH0aQ/hvHcP26PxAWzpNutk\n"
    +  "swNx7AzsCu6pN1t1aI3jLgo8e4/zZi57e8QcRuXZPDJxtJxVhJZX/C4pSz802WhS\n"
    +  "64NgtpHEMu9JUHFhtRwPcvVGYqPUUA==\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with prefixed and suffixed wildcard SAN but no CN. */
    +char pem7[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Validity:\n"
    +  "                Not Before: Sat May  3 11:02:43 UTC 2008\n"
    +  "                Not After: Sat May 17 11:02:45 UTC 2008\n"
    +  "        Subject: O=GnuTLS hostname check test CA\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    +  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    +  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    +  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    +  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    +  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    +  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    +  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        DNSname: foo*bar.example.org\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "Other Information:\n"
    +  "        Public Key Id:\n"
    +  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIICJjCCAZGgAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    +  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMjQzWhcNMDgwNTE3\n"
    +  "MTEwMjQ1WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    +  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    +  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    +  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    +  "AUp+YdcEIQVM8QcCAwEAAaNnMGUwDwYDVR0TAQH/BAUwAwEB/zAeBgNVHREEFzAV\n"
    +  "ghNmb28qYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1Ud\n"
    +  "DgQWBBRUk+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAPPNe38jc\n"
    +  "8NsZQVKKLYc1Y4y8LRPhvnxkSnlcGa1RzYZY1s12BZ6OVIfyxD1Z9BcNdqRSq7bQ\n"
    +  "kEicsGp5ugGQTNq6aSlzYOUD9/fUP3jDsH7HVb36aCF3waGCQWj+pLqK0LYcW2p/\n"
    +  "xnr5+z4YevFBhn7l/fMhg8TzKejxYm7TECg=\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +/* Certificate with ending wildcard SAN but no CN. */
    +char pem8[] =
    +  "X.509 Certificate Information:\n"
    +  "        Version: 3\n"
    +  "        Serial Number (hex): 00\n"
    +  "        Validity:\n"
    +  "                Not Before: Sat May  3 11:24:38 UTC 2008\n"
    +  "                Not After: Sat May 17 11:24:40 UTC 2008\n"
    +  "        Subject: O=GnuTLS hostname check test CA\n"
    +  "        Subject Public Key Algorithm: RSA\n"
    +  "                Modulus (bits 1024):\n"
    +  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    +  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    +  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    +  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    +  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    +  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    +  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    +  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    +  "                Exponent:\n"
    +  "                        01:00:01\n"
    +  "        Extensions:\n"
    +  "                Basic Constraints (critical):\n"
    +  "                        Certificate Authority (CA): TRUE\n"
    +  "                Subject Alternative Name (not critical):\n"
    +  "                        DNSname: www.example.*\n"
    +  "                Key Purpose (not critical):\n"
    +  "                        TLS WWW Server.\n"
    +  "                Subject Key Identifier (not critical):\n"
    +  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "Other Information:\n"
    +  "        Public Key Id:\n"
    +  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    +  "\n"
    +  "-----BEGIN CERTIFICATE-----\n"
    +  "MIICIDCCAYugAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    +  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEyNDM4WhcNMDgwNTE3\n"
    +  "MTEyNDQwWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    +  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    +  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    +  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    +  "AUp+YdcEIQVM8QcCAwEAAaNhMF8wDwYDVR0TAQH/BAUwAwEB/zAYBgNVHREEETAP\n"
    +  "gg13d3cuZXhhbXBsZS4qMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBRU\n"
    +  "k+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAZ7gLXtXwFW61dSAM\n"
    +  "0Qt6IN68WBH7LCzetSF8ofG1WVUImCUU3pqXhXYtPGTrswOh2AavWTRbzVTtrFvf\n"
    +  "WJg09Z7H6I70RPvAYGsK9t9qJ/4TPoYTGYQgsTbVpkv13O54O6jzemd8Zws/xMH5\n"
    +  "7/q6C7P5OUmGOtfVe7UVDY0taQM=\n"
    +  "-----END CERTIFICATE-----\n";
    +
    +
    +void
    +doit (void)
    +{
    +  gnutls_x509_crt_t cert;
    +  gnutls_datum_t data;
    +  int ret;
    +
    +  ret = gnutls_global_init ();
    +  if (ret < 0)
    +    fail ("gnutls_global_init: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_init (&cert);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_init: %d\n", ret);
    +
    +  success ("Testing pem1...\n");
    +  data.data = pem1;
    +  data.size = strlen (pem1);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  success ("Testing pem2...\n");
    +  data.data = pem2;
    +  data.size = strlen (pem2);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "*.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  success ("Testing pem3...\n");
    +  data.data = pem3;
    +  data.size = strlen (pem3);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "*.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  success ("Testing pem4...\n");
    +  data.data = pem4;
    +  data.size = strlen (pem4);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.com");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  success ("Testing pem5...\n");
    +  data.data = pem5;
    +  data.size = strlen (pem5);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "1.2.3.4");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  success ("Testing pem6...\n");
    +  data.data = pem6;
    +  data.size = strlen (pem6);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "bar.foo.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  success ("Testing pem7...\n");
    +  data.data = pem7;
    +  data.size = strlen (pem7);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foo.bar.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foobar.bar.example.org");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foobar.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "foobazbar.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  success ("Testing pem8...\n");
    +  data.data = pem8;
    +  data.size = strlen (pem8);
    +
    +  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    +  if (ret < 0)
    +    fail ("gnutls_x509_crt_import: %d\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.com");
    +  if (ret)
    +    success ("Hostname correctly matches (%d)\n", ret);
    +  else
    +    fail ("Hostname incorrectly does not match (%d)\n", ret);
    +
    +  ret = gnutls_x509_crt_check_hostname (cert, "www.example.foo.com");
    +  if (ret)
    +    fail ("Hostname incorrectly matches (%d)\n", ret);
    +  else
    +    success ("Hostname correctly does not match (%d)\n", ret);
    +
    +  gnutls_x509_crt_deinit (cert);
    +
    +  gnutls_global_deinit ();
    +}
    diff -Nru gnutls26-2.8.6/tests/hostname-check/Makefile.am gnutls26-2.4.1/tests/hostname-check/Makefile.am
    --- gnutls26-2.8.6/tests/hostname-check/Makefile.am	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -0,0 +1,35 @@
    +## Process this file with automake to produce Makefile.in
    +# Copyright (C) 2007 Free Software Foundation
    +#
    +# Author: Simon Josefsson
    +#
    +# This file is part of GNUTLS.
    +#
    +# 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 3 of the License, or
    +# (at your option) any later version.
    +#
    +# This file 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 file; if not, write to the Free Software Foundation,
    +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +
    +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl			\
    +	-I$(top_srcdir)/gl -I$(top_builddir)/gl				\
    +	-I$(top_srcdir)/includes -I$(top_builddir)/includes		\
    +	-I$(top_srcdir)/tests
    +AM_LDFLAGS = -no-install
    +LDADD = ../../lib/libgnutls.la ../libutils.la
    +
    +ctests = hostname-check
    +
    +check_PROGRAMS = $(ctests)
    +
    +TESTS = $(ctests)
    +
    +TESTS_ENVIRONMENT = $(VALGRIND)
    diff -Nru gnutls26-2.8.6/tests/hostname-check/Makefile.in gnutls26-2.4.1/tests/hostname-check/Makefile.in
    --- gnutls26-2.8.6/tests/hostname-check/Makefile.in	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -0,0 +1,903 @@
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
    +# @configure_input@
    +
    +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    +# 2003, 2004, 2005, 2006, 2007, 2008  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@
    +
    +# Copyright (C) 2007 Free Software Foundation
    +#
    +# Author: Simon Josefsson
    +#
    +# This file is part of GNUTLS.
    +#
    +# 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 3 of the License, or
    +# (at your option) any later version.
    +#
    +# This file 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 file; if not, write to the Free Software Foundation,
    +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +VPATH = @srcdir@
    +pkgdatadir = $(datadir)/@PACKAGE@
    +pkglibdir = $(libdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
    +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
    +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 = :
    +build_triplet = @build@
    +host_triplet = @host@
    +check_PROGRAMS = $(am__EXEEXT_1)
    +TESTS = $(am__EXEEXT_1)
    +subdir = tests/hostname-check
    +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
    +	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/extensions.m4 \
    +	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
    +	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
    +	$(top_srcdir)/gl/m4/getpass.m4 \
    +	$(top_srcdir)/gl/m4/gnulib-common.m4 \
    +	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/gl/m4/include_next.m4 \
    +	$(top_srcdir)/gl/m4/inet_ntop.m4 \
    +	$(top_srcdir)/gl/m4/inet_pton.m4 \
    +	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
    +	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
    +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    +	$(ACLOCAL_M4)
    +mkinstalldirs = $(install_sh) -d
    +CONFIG_HEADER = $(top_builddir)/config.h
    +CONFIG_CLEAN_FILES =
    +am__EXEEXT_1 = hostname-check$(EXEEXT)
    +hostname_check_SOURCES = hostname-check.c
    +hostname_check_OBJECTS = hostname-check.$(OBJEXT)
    +hostname_check_LDADD = $(LDADD)
    +hostname_check_DEPENDENCIES = ../../lib/libgnutls.la ../libutils.la
    +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
    +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
    +am__depfiles_maybe = depfiles
    +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    +	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    +	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    +CCLD = $(CC)
    +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    +	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
    +	$(LDFLAGS) -o $@
    +SOURCES = hostname-check.c
    +DIST_SOURCES = hostname-check.c
    +ETAGS = etags
    +CTAGS = ctags
    +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    +ACLOCAL = @ACLOCAL@
    +ALLOCA = @ALLOCA@
    +ALLOCA_H = @ALLOCA_H@
    +AMTAR = @AMTAR@
    +AM_CFLAGS = @AM_CFLAGS@
    +AR = @AR@
    +ARPA_INET_H = @ARPA_INET_H@
    +AS = @AS@
    +AUTOCONF = @AUTOCONF@
    +AUTOHEADER = @AUTOHEADER@
    +AUTOMAKE = @AUTOMAKE@
    +AWK = @AWK@
    +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
    +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
    +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
    +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
    +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
    +CC = @CC@
    +CCDEPMODE = @CCDEPMODE@
    +CFLAGS = @CFLAGS@
    +CPP = @CPP@
    +CPPFLAGS = @CPPFLAGS@
    +CXX = @CXX@
    +CXXCPP = @CXXCPP@
    +CXXDEPMODE = @CXXDEPMODE@
    +CXXFLAGS = @CXXFLAGS@
    +CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
    +DEFS = @DEFS@
    +DEPDIR = @DEPDIR@
    +DLLTOOL = @DLLTOOL@
    +DSYMUTIL = @DSYMUTIL@
    +ECHO = @ECHO@
    +ECHO_C = @ECHO_C@
    +ECHO_N = @ECHO_N@
    +ECHO_T = @ECHO_T@
    +EGREP = @EGREP@
    +EOVERFLOW = @EOVERFLOW@
    +EXEEXT = @EXEEXT@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
    +FLOAT_H = @FLOAT_H@
    +GAA = @GAA@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
    +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
    +GNULIB_CHOWN = @GNULIB_CHOWN@
    +GNULIB_DUP2 = @GNULIB_DUP2@
    +GNULIB_ENVIRON = @GNULIB_ENVIRON@
    +GNULIB_FCHDIR = @GNULIB_FCHDIR@
    +GNULIB_FFLUSH = @GNULIB_FFLUSH@
    +GNULIB_FOPEN = @GNULIB_FOPEN@
    +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    +GNULIB_FREOPEN = @GNULIB_FREOPEN@
    +GNULIB_FSEEK = @GNULIB_FSEEK@
    +GNULIB_FSEEKO = @GNULIB_FSEEKO@
    +GNULIB_FTELL = @GNULIB_FTELL@
    +GNULIB_FTELLO = @GNULIB_FTELLO@
    +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    +GNULIB_GETCWD = @GNULIB_GETCWD@
    +GNULIB_GETDELIM = @GNULIB_GETDELIM@
    +GNULIB_GETLINE = @GNULIB_GETLINE@
    +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
    +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
    +GNULIB_INET_PTON = @GNULIB_INET_PTON@
    +GNULIB_LCHOWN = @GNULIB_LCHOWN@
    +GNULIB_LSEEK = @GNULIB_LSEEK@
    +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
    +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
    +GNULIB_MBSCHR = @GNULIB_MBSCHR@
    +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    +GNULIB_MBSLEN = @GNULIB_MBSLEN@
    +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
    +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
    +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
    +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    +GNULIB_MBSSEP = @GNULIB_MBSSEP@
    +GNULIB_MBSSPN = @GNULIB_MBSSPN@
    +GNULIB_MBSSTR = @GNULIB_MBSSTR@
    +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
    +GNULIB_MEMMEM = @GNULIB_MEMMEM@
    +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
    +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
    +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
    +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
    +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
    +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    +GNULIB_PUTENV = @GNULIB_PUTENV@
    +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
    +GNULIB_READLINK = @GNULIB_READLINK@
    +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    +GNULIB_RPMATCH = @GNULIB_RPMATCH@
    +GNULIB_SETENV = @GNULIB_SETENV@
    +GNULIB_SLEEP = @GNULIB_SLEEP@
    +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    +GNULIB_STPCPY = @GNULIB_STPCPY@
    +GNULIB_STPNCPY = @GNULIB_STPNCPY@
    +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
    +GNULIB_STRDUP = @GNULIB_STRDUP@
    +GNULIB_STRERROR = @GNULIB_STRERROR@
    +GNULIB_STRNDUP = @GNULIB_STRNDUP@
    +GNULIB_STRNLEN = @GNULIB_STRNLEN@
    +GNULIB_STRPBRK = @GNULIB_STRPBRK@
    +GNULIB_STRSEP = @GNULIB_STRSEP@
    +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
    +GNULIB_STRSTR = @GNULIB_STRSTR@
    +GNULIB_STRTOD = @GNULIB_STRTOD@
    +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    +GNULIB_UNSETENV = @GNULIB_UNSETENV@
    +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
    +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
    +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    +GREP = @GREP@
    +GTKDOC_CHECK = @GTKDOC_CHECK@
    +GUILE = @GUILE@
    +GUILE_CFLAGS = @GUILE_CFLAGS@
    +GUILE_CONFIG = @GUILE_CONFIG@
    +GUILE_LDFLAGS = @GUILE_LDFLAGS@
    +GUILE_SITE = @GUILE_SITE@
    +GUILE_TOOLS = @GUILE_TOOLS@
    +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
    +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
    +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
    +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
    +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
    +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
    +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
    +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
    +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
    +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
    +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
    +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
    +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
    +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    +HAVE_DUP2 = @HAVE_DUP2@
    +HAVE_FSEEKO = @HAVE_FSEEKO@
    +HAVE_FTELLO = @HAVE_FTELLO@
    +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
    +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    +HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    +HAVE_LIBZ = @HAVE_LIBZ@
    +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
    +HAVE_LSTAT = @HAVE_LSTAT@
    +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    +HAVE_MEMPCPY = @HAVE_MEMPCPY@
    +HAVE_MKDTEMP = @HAVE_MKDTEMP@
    +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
    +HAVE_OS_H = @HAVE_OS_H@
    +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
    +HAVE_READLINK = @HAVE_READLINK@
    +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
    +HAVE_RPMATCH = @HAVE_RPMATCH@
    +HAVE_SETENV = @HAVE_SETENV@
    +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
    +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
    +HAVE_SLEEP = @HAVE_SLEEP@
    +HAVE_STDINT_H = @HAVE_STDINT_H@
    +HAVE_STPCPY = @HAVE_STPCPY@
    +HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
    +HAVE_STRCASESTR = @HAVE_STRCASESTR@
    +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
    +HAVE_STRNDUP = @HAVE_STRNDUP@
    +HAVE_STRPBRK = @HAVE_STRPBRK@
    +HAVE_STRSEP = @HAVE_STRSEP@
    +HAVE_STRTOD = @HAVE_STRTOD@
    +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
    +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
    +HAVE_UNISTD_H = @HAVE_UNISTD_H@
    +HAVE_UNSETENV = @HAVE_UNSETENV@
    +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
    +HAVE_VASPRINTF = @HAVE_VASPRINTF@
    +HAVE_WCHAR_H = @HAVE_WCHAR_H@
    +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
    +HAVE__BOOL = @HAVE__BOOL@
    +HTML_DIR = @HTML_DIR@
    +INCLUDE_NEXT = @INCLUDE_NEXT@
    +INSTALL = @INSTALL@
    +INSTALL_DATA = @INSTALL_DATA@
    +INSTALL_PROGRAM = @INSTALL_PROGRAM@
    +INSTALL_SCRIPT = @INSTALL_SCRIPT@
    +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
    +LDFLAGS = @LDFLAGS@
    +LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
    +LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
    +LIBINTL = @LIBINTL@
    +LIBOBJS = @LIBOBJS@
    +LIBREADLINE = @LIBREADLINE@
    +LIBS = @LIBS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
    +LIBTOOL = @LIBTOOL@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
    +LN_S = @LN_S@
    +LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
    +LTLIBINTL = @LTLIBINTL@
    +LTLIBOBJS = @LTLIBOBJS@
    +LTLIBREADLINE = @LTLIBREADLINE@
    +LTLIBZ = @LTLIBZ@
    +LT_AGE = @LT_AGE@
    +LT_CURRENT = @LT_CURRENT@
    +LT_REVISION = @LT_REVISION@
    +LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
    +MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
    +MKDIR_P = @MKDIR_P@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
    +NETINET_IN_H = @NETINET_IN_H@
    +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    +NEXT_FLOAT_H = @NEXT_FLOAT_H@
    +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
    +NEXT_STDARG_H = @NEXT_STDARG_H@
    +NEXT_STDINT_H = @NEXT_STDINT_H@
    +NEXT_STDIO_H = @NEXT_STDIO_H@
    +NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
    +NEXT_STRING_H = @NEXT_STRING_H@
    +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
    +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
    +NEXT_UNISTD_H = @NEXT_UNISTD_H@
    +NEXT_WCHAR_H = @NEXT_WCHAR_H@
    +NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
    +OBJDUMP = @OBJDUMP@
    +OBJEXT = @OBJEXT@
    +PACKAGE = @PACKAGE@
    +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
    +PACKAGE_NAME = @PACKAGE_NAME@
    +PACKAGE_STRING = @PACKAGE_STRING@
    +PACKAGE_TARNAME = @PACKAGE_TARNAME@
    +PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
    +PATH_SEPARATOR = @PATH_SEPARATOR@
    +PKG_CONFIG = @PKG_CONFIG@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
    +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
    +RANLIB = @RANLIB@
    +REPLACE_CHOWN = @REPLACE_CHOWN@
    +REPLACE_FCHDIR = @REPLACE_FCHDIR@
    +REPLACE_FFLUSH = @REPLACE_FFLUSH@
    +REPLACE_FOPEN = @REPLACE_FOPEN@
    +REPLACE_FPRINTF = @REPLACE_FPRINTF@
    +REPLACE_FREOPEN = @REPLACE_FREOPEN@
    +REPLACE_FSEEK = @REPLACE_FSEEK@
    +REPLACE_FSEEKO = @REPLACE_FSEEKO@
    +REPLACE_FTELL = @REPLACE_FTELL@
    +REPLACE_FTELLO = @REPLACE_FTELLO@
    +REPLACE_GETCWD = @REPLACE_GETCWD@
    +REPLACE_GETLINE = @REPLACE_GETLINE@
    +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    +REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
    +REPLACE_LSEEK = @REPLACE_LSEEK@
    +REPLACE_MEMMEM = @REPLACE_MEMMEM@
    +REPLACE_MKDIR = @REPLACE_MKDIR@
    +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
    +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    +REPLACE_PRINTF = @REPLACE_PRINTF@
    +REPLACE_PUTENV = @REPLACE_PUTENV@
    +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
    +REPLACE_SPRINTF = @REPLACE_SPRINTF@
    +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    +REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
    +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
    +REPLACE_STRSTR = @REPLACE_STRSTR@
    +REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
    +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
    +REPLACE_VPRINTF = @REPLACE_VPRINTF@
    +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
    +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    +SED = @SED@
    +SET_MAKE = @SET_MAKE@
    +SHELL = @SHELL@
    +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
    +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
    +STDARG_H = @STDARG_H@
    +STDBOOL_H = @STDBOOL_H@
    +STDINT_H = @STDINT_H@
    +STRIP = @STRIP@
    +SYS_SOCKET_H = @SYS_SOCKET_H@
    +SYS_STAT_H = @SYS_STAT_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
    +VALGRIND = @VALGRIND@
    +VERSION = @VERSION@
    +VOID_UNSETENV = @VOID_UNSETENV@
    +WCHAR_H = @WCHAR_H@
    +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    +WINT_T_SUFFIX = @WINT_T_SUFFIX@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
    +abs_builddir = @abs_builddir@
    +abs_srcdir = @abs_srcdir@
    +abs_top_builddir = @abs_top_builddir@
    +abs_top_srcdir = @abs_top_srcdir@
    +ac_ct_CC = @ac_ct_CC@
    +ac_ct_CXX = @ac_ct_CXX@
    +ac_ct_F77 = @ac_ct_F77@
    +am__include = @am__include@
    +am__leading_dot = @am__leading_dot@
    +am__quote = @am__quote@
    +am__tar = @am__tar@
    +am__untar = @am__untar@
    +bindir = @bindir@
    +build = @build@
    +build_alias = @build_alias@
    +build_cpu = @build_cpu@
    +build_os = @build_os@
    +build_vendor = @build_vendor@
    +builddir = @builddir@
    +datadir = @datadir@
    +datarootdir = @datarootdir@
    +docdir = @docdir@
    +dvidir = @dvidir@
    +exec_prefix = @exec_prefix@
    +gl_LIBOBJS = @gl_LIBOBJS@
    +gl_LTLIBOBJS = @gl_LTLIBOBJS@
    +gltests_LIBOBJS = @gltests_LIBOBJS@
    +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
    +guile_snarf = @guile_snarf@
    +host = @host@
    +host_alias = @host_alias@
    +host_cpu = @host_cpu@
    +host_os = @host_os@
    +host_vendor = @host_vendor@
    +htmldir = @htmldir@
    +includedir = @includedir@
    +infodir = @infodir@
    +install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
    +libdir = @libdir@
    +libexecdir = @libexecdir@
    +localedir = @localedir@
    +localstatedir = @localstatedir@
    +mandir = @mandir@
    +mkdir_p = @mkdir_p@
    +oldincludedir = @oldincludedir@
    +pdfdir = @pdfdir@
    +prefix = @prefix@
    +program_transform_name = @program_transform_name@
    +psdir = @psdir@
    +sbindir = @sbindir@
    +sharedstatedir = @sharedstatedir@
    +srcdir = @srcdir@
    +sysconfdir = @sysconfdir@
    +target_alias = @target_alias@
    +top_build_prefix = @top_build_prefix@
    +top_builddir = @top_builddir@
    +top_srcdir = @top_srcdir@
    +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl			\
    +	-I$(top_srcdir)/gl -I$(top_builddir)/gl				\
    +	-I$(top_srcdir)/includes -I$(top_builddir)/includes		\
    +	-I$(top_srcdir)/tests
    +
    +AM_LDFLAGS = -no-install
    +LDADD = ../../lib/libgnutls.la ../libutils.la
    +ctests = hostname-check
    +TESTS_ENVIRONMENT = $(VALGRIND)
    +all: all-am
    +
    +.SUFFIXES:
    +.SUFFIXES: .c .lo .o .obj
    +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    +	@for dep in $?; do \
    +	  case '$(am__configure_deps)' in \
    +	    *$$dep*) \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
    +	      exit 1;; \
    +	  esac; \
    +	done; \
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/hostname-check/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/hostname-check/Makefile
    +.PRECIOUS: Makefile
    +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    +	@case '$?' in \
    +	  *config.status*) \
    +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
    +	  *) \
    +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
    +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    +	esac;
    +
    +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +$(top_srcdir)/configure:  $(am__configure_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +clean-checkPROGRAMS:
    +	@list='$(check_PROGRAMS)'; for p in $$list; do \
    +	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
    +	  echo " rm -f $$p $$f"; \
    +	  rm -f $$p $$f ; \
    +	done
    +hostname-check$(EXEEXT): $(hostname_check_OBJECTS) $(hostname_check_DEPENDENCIES) 
    +	@rm -f hostname-check$(EXEEXT)
    +	$(LINK) $(hostname_check_OBJECTS) $(hostname_check_LDADD) $(LIBS)
    +
    +mostlyclean-compile:
    +	-rm -f *.$(OBJEXT)
    +
    +distclean-compile:
    +	-rm -f *.tab.c
    +
    +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostname-check.Po@am__quote@
    +
    +.c.o:
    +@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(COMPILE) -c $<
    +
    +.c.obj:
    +@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
    +
    +.c.lo:
    +@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
    +
    +mostlyclean-libtool:
    +	-rm -f *.lo
    +
    +clean-libtool:
    +	-rm -rf .libs _libs
    +
    +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; nonemtpy = 1; } \
    +	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    +	mkid -fID $$unique
    +tags: TAGS
    +
    +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; nonempty = 1; } \
    +	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    +	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
    +	  test -n "$$unique" || unique=$$empty_fix; \
    +	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    +	    $$tags $$unique; \
    +	fi
    +ctags: CTAGS
    +CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    +		$(TAGS_FILES) $(LISP)
    +	tags=; \
    +	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; nonempty = 1; } \
    +	      END { if (nonempty) { 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
    +
    +check-TESTS: $(TESTS)
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
    +	srcdir=$(srcdir); export srcdir; \
    +	list=' $(TESTS) '; \
    +	if test -n "$$list"; then \
    +	  for tst in $$list; do \
    +	    if test -f ./$$tst; then dir=./; \
    +	    elif test -f $$tst; then dir=; \
    +	    else dir="$(srcdir)/"; fi; \
    +	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
    +	      all=`expr $$all + 1`; \
    +	      case " $(XFAIL_TESTS) " in \
    +	      *$$ws$$tst$$ws*) \
    +		xpass=`expr $$xpass + 1`; \
    +		failed=`expr $$failed + 1`; \
    +		echo "XPASS: $$tst"; \
    +	      ;; \
    +	      *) \
    +		echo "PASS: $$tst"; \
    +	      ;; \
    +	      esac; \
    +	    elif test $$? -ne 77; then \
    +	      all=`expr $$all + 1`; \
    +	      case " $(XFAIL_TESTS) " in \
    +	      *$$ws$$tst$$ws*) \
    +		xfail=`expr $$xfail + 1`; \
    +		echo "XFAIL: $$tst"; \
    +	      ;; \
    +	      *) \
    +		failed=`expr $$failed + 1`; \
    +		echo "FAIL: $$tst"; \
    +	      ;; \
    +	      esac; \
    +	    else \
    +	      skip=`expr $$skip + 1`; \
    +	      echo "SKIP: $$tst"; \
    +	    fi; \
    +	  done; \
    +	  if test "$$failed" -eq 0; then \
    +	    if test "$$xfail" -eq 0; then \
    +	      banner="All $$all tests passed"; \
    +	    else \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
    +	    fi; \
    +	  else \
    +	    if test "$$xpass" -eq 0; then \
    +	      banner="$$failed of $$all tests failed"; \
    +	    else \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
    +	    fi; \
    +	  fi; \
    +	  dashes="$$banner"; \
    +	  skipped=""; \
    +	  if test "$$skip" -ne 0; then \
    +	    skipped="($$skip tests were not run)"; \
    +	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
    +	      dashes="$$skipped"; \
    +	  fi; \
    +	  report=""; \
    +	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
    +	    report="Please report to $(PACKAGE_BUGREPORT)"; \
    +	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
    +	      dashes="$$report"; \
    +	  fi; \
    +	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    +	  echo "$$dashes"; \
    +	  echo "$$banner"; \
    +	  test -z "$$skipped" || echo "$$skipped"; \
    +	  test -z "$$report" || echo "$$report"; \
    +	  echo "$$dashes"; \
    +	  test "$$failed" -eq 0; \
    +	else :; fi
    +
    +distdir: $(DISTFILES)
    +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	list='$(DISTFILES)'; \
    +	  dist_files=`for file in $$list; do echo $$file; done | \
    +	  sed -e "s|^$$srcdirstrip/||;t" \
    +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    +	case $$dist_files in \
    +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
    +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
    +			   sort -u` ;; \
    +	esac; \
    +	for file in $$dist_files; do \
    +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
    +	  if test -d $$d/$$file; then \
    +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    +	    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
    +	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
    +	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
    +check: check-am
    +all-am: Makefile
    +installdirs:
    +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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    +	  `test -z '$(STRIP)' || \
    +	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
    +mostlyclean-generic:
    +
    +clean-generic:
    +
    +distclean-generic:
    +	-test -z "$(CONFIG_CLEAN_FILES)" || 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-checkPROGRAMS clean-generic clean-libtool \
    +	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:
    +
    +html: html-am
    +
    +info: info-am
    +
    +info-am:
    +
    +install-data-am:
    +
    +install-dvi: install-dvi-am
    +
    +install-exec-am:
    +
    +install-html: install-html-am
    +
    +install-info: install-info-am
    +
    +install-man:
    +
    +install-pdf: install-pdf-am
    +
    +install-ps: install-ps-am
    +
    +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 \
    +	mostlyclean-libtool
    +
    +pdf: pdf-am
    +
    +pdf-am:
    +
    +ps: ps-am
    +
    +ps-am:
    +
    +uninstall-am:
    +
    +.MAKE: install-am install-strip
    +
    +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
    +	clean-checkPROGRAMS clean-generic clean-libtool ctags \
    +	distclean distclean-compile distclean-generic \
    +	distclean-libtool distclean-tags distdir dvi dvi-am html \
    +	html-am info info-am install install-am install-data \
    +	install-data-am install-dvi install-dvi-am install-exec \
    +	install-exec-am install-html install-html-am install-info \
    +	install-info-am install-man install-pdf install-pdf-am \
    +	install-ps install-ps-am install-strip installcheck \
    +	installcheck-am installdirs maintainer-clean \
    +	maintainer-clean-generic mostlyclean mostlyclean-compile \
    +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    +	tags uninstall uninstall-am
    +
    +# 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:
    diff -Nru gnutls26-2.8.6/tests/hostname-check/README gnutls26-2.4.1/tests/hostname-check/README
    --- gnutls26-2.8.6/tests/hostname-check/README	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check/README	2008-06-19 11:00:10.000000000 +0100
    @@ -0,0 +1,13 @@
    +hostname-check README -- Information about hostname-check self test.
    +Copyright (C) 2007 Simon Josefsson
    +See the end for copying conditions.
    +
    +This directory contains a self-test of the RFC 2818 hostname matching
    +algorithm.  Used to detect regressions of the bug reported in:
    +
    +http://lists.gnupg.org/pipermail/gnutls-dev/2007-February/001385.html
    +
    +----------------------------------------------------------------------
    +Copying and distribution of this file, with or without modification,
    +are permitted in any medium without royalty provided the copyright
    +notice and this notice are preserved.
    diff -Nru gnutls26-2.8.6/tests/hostname-check.c gnutls26-2.4.1/tests/hostname-check.c
    --- gnutls26-2.8.6/tests/hostname-check.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,708 +0,0 @@
    -/*
    - * Copyright (C) 2007 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -
    -#include "utils.h"
    -
    -/* Certificate with no SAN nor CN. */
    -char pem1[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Issuer: O=GnuTLS hostname check test CA\n"
    -  "        Validity:\n"
    -  "                Not Before: Fri Feb 16 12:59:09 UTC 2007\n"
    -  "                Not After: Fri Mar 30 12:59:13 UTC 2007\n"
    -  "        Subject: O=GnuTLS hostname check test CA\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    -  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    -  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    -  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    -  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    -  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    -  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    -  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "        Signature Algorithm: RSA-SHA\n"
    -  "        Signature:\n"
    -  "                7b:e8:11:6c:15:3f:f9:01:a0:f1:28:0c:62:50:58:f8\n"
    -  "                92:44:fb:bf:ab:20:8a:3b:81:ca:e5:68:60:71:df:2b\n"
    -  "                e8:50:58:82:32:ef:fb:6e:4a:72:2c:c9:37:4f:88:1d\n"
    -  "                d7:1b:68:5b:db:83:1b:1a:f3:b4:8e:e0:88:03:e2:43\n"
    -  "                91:be:d8:b1:ca:f2:62:ec:a1:fd:1a:c8:41:8c:fe:53\n"
    -  "                1b:be:03:c9:a1:3d:f4:ae:57:fc:44:a6:34:bb:2c:2e\n"
    -  "                a7:56:14:1f:89:e9:3a:ec:1f:a3:da:d7:a1:94:3b:72\n"
    -  "                1d:12:71:b9:65:a1:85:a2:4c:3a:d1:2c:e9:e9:ea:1c\n"
    -  "Other Information:\n"
    -  "        MD5 fingerprint:\n"
    -  "                fd845ded8c28ba5e78d6c1844ceafd24\n"
    -  "        SHA-1 fingerprint:\n"
    -  "                0bae431dda3cae76012b82276e4cd92ad7961798\n"
    -  "        Public Key Id:\n"
    -  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB8TCCAVygAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    -  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTI1OTA5WhcNMDcwMzMw\n"
    -  "MTI1OTEzWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    -  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
    -  "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
    -  "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
    -  "8of+3HiTfFm/oXUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
    -  "6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBAHvoEWwVP/kBoPEo\n"
    -  "DGJQWPiSRPu/qyCKO4HK5Whgcd8r6FBYgjLv+25KcizJN0+IHdcbaFvbgxsa87SO\n"
    -  "4IgD4kORvtixyvJi7KH9GshBjP5TG74DyaE99K5X/ESmNLssLqdWFB+J6TrsH6Pa\n"
    -  "16GUO3IdEnG5ZaGFokw60Szp6eoc\n" "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with CN but no SAN. */
    -char pem2[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Issuer: CN=www.example.org\n"
    -  "        Validity:\n"
    -  "                Not Before: Fri Feb 16 13:30:30 UTC 2007\n"
    -  "                Not After: Fri Mar 30 13:30:32 UTC 2007\n"
    -  "        Subject: CN=www.example.org\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    -  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    -  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    -  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    -  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    -  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    -  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    -  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "        Signature Algorithm: RSA-SHA\n"
    -  "        Signature:\n"
    -  "                b0:4e:ac:fb:89:12:36:27:f3:72:b8:1a:57:dc:bf:f3\n"
    -  "                a9:27:de:15:75:94:4f:65:cc:3a:59:12:4b:91:0e:28\n"
    -  "                b9:8d:d3:6e:ac:5d:a8:3e:b9:35:81:0c:8f:c7:95:72\n"
    -  "                d9:51:61:06:00:c6:aa:68:54:c8:52:3f:b6:1f:21:92\n"
    -  "                c8:fd:15:50:15:ac:d4:18:29:a1:ff:c9:25:5a:ce:5e\n"
    -  "                11:7f:82:b2:94:8c:44:3c:3f:de:d7:3b:ff:1c:da:9c\n"
    -  "                81:fa:63:e1:a7:67:ee:aa:fa:d0:c9:2f:66:1b:5e:af\n"
    -  "                46:8c:f9:53:55:e7:80:7e:74:95:98:d4:2d:5f:94:ab\n"
    -  "Other Information:\n"
    -  "        MD5 fingerprint:\n"
    -  "                30cda7de4f0360892547974f45111ac1\n"
    -  "        SHA-1 fingerprint:\n"
    -  "                39e3f8fec6a8d842390b6536998a957c1a6b7322\n"
    -  "        Public Key Id:\n"
    -  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB1TCCAUCgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
    -  "YW1wbGUub3JnMB4XDTA3MDIxNjEzMzAzMFoXDTA3MDMzMDEzMzAzMlowGjEYMBYG\n"
    -  "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
    -  "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
    -  "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
    -  "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABozIwMDAPBgNVHRMB\n"
    -  "Af8EBTADAQH/MB0GA1UdDgQWBBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG\n"
    -  "9w0BAQUDgYEAsE6s+4kSNifzcrgaV9y/86kn3hV1lE9lzDpZEkuRDii5jdNurF2o\n"
    -  "Prk1gQyPx5Vy2VFhBgDGqmhUyFI/th8hksj9FVAVrNQYKaH/ySVazl4Rf4KylIxE\n"
    -  "PD/e1zv/HNqcgfpj4adn7qr60MkvZhter0aM+VNV54B+dJWY1C1flKs=\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with SAN but no CN. */
    -char pem3[] =
    -  "X.509 Certificate Information:"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Issuer: O=GnuTLS hostname check test CA\n"
    -  "        Validity:\n"
    -  "                Not Before: Fri Feb 16 13:36:27 UTC 2007\n"
    -  "                Not After: Fri Mar 30 13:36:29 UTC 2007\n"
    -  "        Subject: O=GnuTLS hostname check test CA\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    -  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    -  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    -  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    -  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    -  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    -  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    -  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        DNSname: www.example.org\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "        Signature Algorithm: RSA-SHA\n"
    -  "        Signature:\n"
    -  "                a1:30:bc:01:b3:0f:98:7f:8e:76:7d:23:87:34:15:7f\n"
    -  "                a6:ae:a1:fb:87:75:e3:e8:1a:e5:5e:03:5d:bf:44:75\n"
    -  "                46:4f:d2:a1:28:50:84:49:6d:3b:e0:bc:4e:de:79:85\n"
    -  "                fa:e1:07:b7:6e:0c:14:04:4a:82:b9:f3:22:6a:bc:99\n"
    -  "                14:20:3b:49:1f:e4:97:d9:ea:eb:73:9a:83:a6:cc:b8\n"
    -  "                55:fb:52:8e:5f:86:7c:9d:fa:af:03:76:ae:97:e0:64\n"
    -  "                50:59:73:22:99:55:cf:da:59:31:0a:e8:6d:a0:53:bc\n"
    -  "                39:63:2e:ac:92:4a:e9:8b:1e:d0:03:df:33:bb:4e:88\n"
    -  "Other Information:\n"
    -  "        MD5 fingerprint:\n"
    -  "                df3f57d00c8149bd826b177d6ea4f369\n"
    -  "        SHA-1 fingerprint:\n"
    -  "                e95e56e2acac305f72ea6f698c11624663a595bd\n"
    -  "        Public Key Id:\n"
    -  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    -  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTMzNjI3WhcNMDcwMzMw\n"
    -  "MTMzNjI5WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    -  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
    -  "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
    -  "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
    -  "8of+3HiTfFm/oXUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
    -  "gg93d3cuZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
    -  "FOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQChMLwBsw+Yf452\n"
    -  "fSOHNBV/pq6h+4d14+ga5V4DXb9EdUZP0qEoUIRJbTvgvE7eeYX64Qe3bgwUBEqC\n"
    -  "ufMiaryZFCA7SR/kl9nq63Oag6bMuFX7Uo5fhnyd+q8Ddq6X4GRQWXMimVXP2lkx\n"
    -  "CuhtoFO8OWMurJJK6Yse0APfM7tOiA==\n" "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with wildcard SAN but no CN. */
    -char pem4[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Issuer:\n"
    -  "        Validity:\n"
    -  "                Not Before: Fri Feb 16 13:40:10 UTC 2007\n"
    -  "                Not After: Fri Mar 30 13:40:12 UTC 2007\n"
    -  "        Subject:\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    -  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    -  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    -  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    -  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    -  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    -  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    -  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        DNSname: *.example.org\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "        Signature Algorithm: RSA-SHA\n"
    -  "        Signature:\n"
    -  "                b1:62:e5:e3:0b:a5:99:58:b0:1c:5c:f5:d1:3f:7c:bb\n"
    -  "                67:e1:43:c5:d7:a2:5c:db:f2:5a:f3:03:fc:76:e4:4d\n"
    -  "                c1:a0:89:36:24:82:a4:a1:ad:f5:83:e3:96:75:f4:c4\n"
    -  "                f3:eb:ff:3a:9b:da:d2:2c:58:d4:10:37:50:33:d1:39\n"
    -  "                53:71:9e:48:2d:b2:5b:27:ce:1e:d9:d5:36:59:ac:17\n"
    -  "                3a:83:cc:59:6b:8f:6a:24:b8:9f:f0:e6:14:03:23:5a\n"
    -  "                87:e7:33:10:32:11:58:a2:bb:f1:e5:5a:88:87:bb:80\n"
    -  "                1b:b6:bb:12:18:cb:15:d5:3a:fc:99:e4:42:5a:ba:45\n"
    -  "Other Information:\n"
    -  "        MD5 fingerprint:\n"
    -  "                a411da7b0fa064d214116d5f94e06c24\n"
    -  "        SHA-1 fingerprint:\n"
    -  "                3596e796c73ed096d762ab3d440a9ab55a386b3b\n"
    -  "        Public Key Id:\n"
    -  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB0DCCATugAwIBAgIBADALBgkqhkiG9w0BAQUwADAeFw0wNzAyMTYxMzQwMTBa\n"
    -  "Fw0wNzAzMzAxMzQwMTJaMAAwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgL7smHod\n"
    -  "b35rJZ7oIHhCoGQFZkOZbUnVGOx9uVhksoCjFGGdCk++L/Au/NKrXDbfU+xDx/ze\n"
    -  "kbweAaa3bLIHEC7LYUd1ygPOI2448TQnGhrN95bzs/ANZ3/Kd4Q/nCn0YpH2Elti\n"
    -  "Wsy67QguMkQmrP0jzlMbu/KH/tx4k3xZv6F1AgMBAAGjYTBfMA8GA1UdEwEB/wQF\n"
    -  "MAMBAf8wGAYDVR0RBBEwD4INKi5leGFtcGxlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
    -  "BQcDATAdBgNVHQ4EFgQU6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEF\n"
    -  "A4GBALFi5eMLpZlYsBxc9dE/fLtn4UPF16Jc2/Ja8wP8duRNwaCJNiSCpKGt9YPj\n"
    -  "lnX0xPPr/zqb2tIsWNQQN1Az0TlTcZ5ILbJbJ84e2dU2WawXOoPMWWuPaiS4n/Dm\n"
    -  "FAMjWofnMxAyEViiu/HlWoiHu4AbtrsSGMsV1Tr8meRCWrpF\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with ipaddress CN but no SAN. */
    -char pem5[] =
    -  "X.509 Certificate Information:"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Issuer: CN=www.example.org\n"
    -  "        Validity:\n"
    -  "                Not Before: Fri Feb 16 13:44:29 UTC 2007\n"
    -  "                Not After: Fri Mar 30 13:44:30 UTC 2007\n"
    -  "        Subject: CN=www.example.org\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
    -  "                        05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
    -  "                        14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
    -  "                        ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
    -  "                        cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
    -  "                        f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
    -  "                        91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
    -  "                        23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        IPAddress: 1.2.3.4\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "        Signature Algorithm: RSA-SHA\n"
    -  "        Signature:\n"
    -  "                66:b1:32:9f:6e:06:d7:da:28:bf:3a:d7:56:d5:b6:fe\n"
    -  "                78:40:f0:48:92:3a:19:8a:1c:37:ad:59:6f:bc:af:f2\n"
    -  "                f0:89:81:33:33:01:a8:e4:1a:c1:31:a7:3c:6d:4a:9f\n"
    -  "                a5:86:6d:22:6e:5b:8b:69:65:83:28:b5:b8:68:72:c5\n"
    -  "                2b:af:99:89:dd:48:ad:fc:f6:90:55:c3:a5:41:f3:d7\n"
    -  "                bc:a2:57:56:25:f1:d1:12:fb:08:70:58:d5:45:57:86\n"
    -  "                1b:aa:f2:d4:63:62:c6:fd:b3:04:64:60:9c:77:c3:4b\n"
    -  "                d1:e4:c7:77:00:17:79:d2:2b:1f:14:ad:e9:34:c8:da\n"
    -  "Other Information:\n"
    -  "        MD5 fingerprint:\n"
    -  "                cdffe1ac9bf42a4f04a15298f9d18bf6\n"
    -  "        SHA-1 fingerprint:\n"
    -  "                4fa47b29e928499142c88c598ea175b9453957f7\n"
    -  "        Public Key Id:\n"
    -  "                e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIB/jCCAWmgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
    -  "YW1wbGUub3JnMB4XDTA3MDIxNjEzNDQyOVoXDTA3MDMzMDEzNDQzMFowGjEYMBYG\n"
    -  "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
    -  "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
    -  "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
    -  "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABo1swWTAPBgNVHRMB\n"
    -  "Af8EBTADAQH/MBIGA1UdEQQLMAmHBzEuMi4zLjQwEwYDVR0lBAwwCgYIKwYBBQUH\n"
    -  "AwEwHQYDVR0OBBYEFOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOB\n"
    -  "gQBmsTKfbgbX2ii/OtdW1bb+eEDwSJI6GYocN61Zb7yv8vCJgTMzAajkGsExpzxt\n"
    -  "Sp+lhm0ibluLaWWDKLW4aHLFK6+Zid1Irfz2kFXDpUHz17yiV1Yl8dES+whwWNVF\n"
    -  "V4YbqvLUY2LG/bMEZGCcd8NL0eTHdwAXedIrHxSt6TTI2g==\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with multiple wildcards SAN but no CN. */
    -char pem6[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Validity:\n"
    -  "                Not Before: Sat May  3 11:00:51 UTC 2008\n"
    -  "                Not After: Sat May 17 11:00:54 UTC 2008\n"
    -  "        Subject: O=GnuTLS hostname check test CA\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    -  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    -  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    -  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    -  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    -  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    -  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    -  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        DNSname: *.*.example.org\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "Other Information:\n"
    -  "        Public Key Id:\n"
    -  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    -  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMDUxWhcNMDgwNTE3\n"
    -  "MTEwMDU0WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    -  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    -  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    -  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    -  "AUp+YdcEIQVM8QcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
    -  "gg8qLiouZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
    -  "FFST5lmbKDtFKTeIGK75pKu/TZkYMAsGCSqGSIb3DQEBBQOBgQAQ9PStleVvfmlK\n"
    -  "wRs8RE/oOO+ouC3qLdnumNEITMRFh8Q12/X4yMLD3CH0aQ/hvHcP26PxAWzpNutk\n"
    -  "swNx7AzsCu6pN1t1aI3jLgo8e4/zZi57e8QcRuXZPDJxtJxVhJZX/C4pSz802WhS\n"
    -  "64NgtpHEMu9JUHFhtRwPcvVGYqPUUA==\n" "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with prefixed and suffixed wildcard SAN but no CN. */
    -char pem7[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Validity:\n"
    -  "                Not Before: Sat May  3 11:02:43 UTC 2008\n"
    -  "                Not After: Sat May 17 11:02:45 UTC 2008\n"
    -  "        Subject: O=GnuTLS hostname check test CA\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    -  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    -  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    -  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    -  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    -  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    -  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    -  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        DNSname: foo*bar.example.org\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "Other Information:\n"
    -  "        Public Key Id:\n"
    -  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICJjCCAZGgAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    -  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMjQzWhcNMDgwNTE3\n"
    -  "MTEwMjQ1WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    -  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    -  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    -  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    -  "AUp+YdcEIQVM8QcCAwEAAaNnMGUwDwYDVR0TAQH/BAUwAwEB/zAeBgNVHREEFzAV\n"
    -  "ghNmb28qYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1Ud\n"
    -  "DgQWBBRUk+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAPPNe38jc\n"
    -  "8NsZQVKKLYc1Y4y8LRPhvnxkSnlcGa1RzYZY1s12BZ6OVIfyxD1Z9BcNdqRSq7bQ\n"
    -  "kEicsGp5ugGQTNq6aSlzYOUD9/fUP3jDsH7HVb36aCF3waGCQWj+pLqK0LYcW2p/\n"
    -  "xnr5+z4YevFBhn7l/fMhg8TzKejxYm7TECg=\n" "-----END CERTIFICATE-----\n";
    -
    -/* Certificate with ending wildcard SAN but no CN. */
    -char pem8[] =
    -  "X.509 Certificate Information:\n"
    -  "        Version: 3\n"
    -  "        Serial Number (hex): 00\n"
    -  "        Validity:\n"
    -  "                Not Before: Sat May  3 11:24:38 UTC 2008\n"
    -  "                Not After: Sat May 17 11:24:40 UTC 2008\n"
    -  "        Subject: O=GnuTLS hostname check test CA\n"
    -  "        Subject Public Key Algorithm: RSA\n"
    -  "                Modulus (bits 1024):\n"
    -  "                        d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
    -  "                        f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
    -  "                        49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
    -  "                        19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
    -  "                        13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
    -  "                        f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
    -  "                        de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
    -  "                        42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
    -  "                Exponent:\n"
    -  "                        01:00:01\n"
    -  "        Extensions:\n"
    -  "                Basic Constraints (critical):\n"
    -  "                        Certificate Authority (CA): TRUE\n"
    -  "                Subject Alternative Name (not critical):\n"
    -  "                        DNSname: www.example.*\n"
    -  "                Key Purpose (not critical):\n"
    -  "                        TLS WWW Server.\n"
    -  "                Subject Key Identifier (not critical):\n"
    -  "                        5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "Other Information:\n"
    -  "        Public Key Id:\n"
    -  "                5493e6599b283b4529378818aef9a4abbf4d9918\n"
    -  "\n"
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICIDCCAYugAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
    -  "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEyNDM4WhcNMDgwNTE3\n"
    -  "MTEyNDQwWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
    -  "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
    -  "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
    -  "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
    -  "AUp+YdcEIQVM8QcCAwEAAaNhMF8wDwYDVR0TAQH/BAUwAwEB/zAYBgNVHREEETAP\n"
    -  "gg13d3cuZXhhbXBsZS4qMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBRU\n"
    -  "k+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAZ7gLXtXwFW61dSAM\n"
    -  "0Qt6IN68WBH7LCzetSF8ofG1WVUImCUU3pqXhXYtPGTrswOh2AavWTRbzVTtrFvf\n"
    -  "WJg09Z7H6I70RPvAYGsK9t9qJ/4TPoYTGYQgsTbVpkv13O54O6jzemd8Zws/xMH5\n"
    -  "7/q6C7P5OUmGOtfVe7UVDY0taQM=\n" "-----END CERTIFICATE-----\n";
    -
    -
    -void
    -doit (void)
    -{
    -  gnutls_x509_crt_t cert;
    -  gnutls_datum_t data;
    -  int ret;
    -
    -  ret = gnutls_global_init ();
    -  if (ret < 0)
    -    fail ("gnutls_global_init: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_init (&cert);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_init: %d\n", ret);
    -
    -  success ("Testing pem1...\n");
    -  data.data = pem1;
    -  data.size = strlen (pem1);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  success ("Testing pem2...\n");
    -  data.data = pem2;
    -  data.size = strlen (pem2);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "*.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  success ("Testing pem3...\n");
    -  data.data = pem3;
    -  data.size = strlen (pem3);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "*.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  success ("Testing pem4...\n");
    -  data.data = pem4;
    -  data.size = strlen (pem4);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.com");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  success ("Testing pem5...\n");
    -  data.data = pem5;
    -  data.size = strlen (pem5);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "1.2.3.4");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  success ("Testing pem6...\n");
    -  data.data = pem6;
    -  data.size = strlen (pem6);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "bar.foo.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  success ("Testing pem7...\n");
    -  data.data = pem7;
    -  data.size = strlen (pem7);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foo.bar.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foobar.bar.example.org");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foobar.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "foobazbar.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  success ("Testing pem8...\n");
    -  data.data = pem8;
    -  data.size = strlen (pem8);
    -
    -  ret = gnutls_x509_crt_import (cert, &data, GNUTLS_X509_FMT_PEM);
    -  if (ret < 0)
    -    fail ("gnutls_x509_crt_import: %d\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.org");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.com");
    -  if (ret)
    -    success ("Hostname correctly matches (%d)\n", ret);
    -  else
    -    fail ("Hostname incorrectly does not match (%d)\n", ret);
    -
    -  ret = gnutls_x509_crt_check_hostname (cert, "www.example.foo.com");
    -  if (ret)
    -    fail ("Hostname incorrectly matches (%d)\n", ret);
    -  else
    -    success ("Hostname correctly does not match (%d)\n", ret);
    -
    -  gnutls_x509_crt_deinit (cert);
    -
    -  gnutls_global_deinit ();
    -}
    diff -Nru gnutls26-2.8.6/tests/hostname-check.README gnutls26-2.4.1/tests/hostname-check.README
    --- gnutls26-2.8.6/tests/hostname-check.README	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/hostname-check.README	1970-01-01 01:00:00.000000000 +0100
    @@ -1,13 +0,0 @@
    -hostname-check README -- Information about hostname-check self test.
    -Copyright (C) 2007 Simon Josefsson
    -See the end for copying conditions.
    -
    -This directory contains a self-test of the RFC 2818 hostname matching
    -algorithm.  Used to detect regressions of the bug reported in:
    -
    -http://lists.gnupg.org/pipermail/gnutls-dev/2007-February/001385.html
    -
    -----------------------------------------------------------------------
    -Copying and distribution of this file, with or without modification,
    -are permitted in any medium without royalty provided the copyright
    -notice and this notice are preserved.
    diff -Nru gnutls26-2.8.6/tests/key-id/key-id gnutls26-2.4.1/tests/key-id/key-id
    --- gnutls26-2.8.6/tests/key-id/key-id	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/key-id/key-id	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -23,7 +23,7 @@
     set -e
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     PARAMS="--generate-certificate --load-privkey $srcdir/key-user.pem --load-ca-privkey $srcdir/key-ca.pem --template tmpl"
     
    diff -Nru gnutls26-2.8.6/tests/key-id/Makefile.am gnutls26-2.4.1/tests/key-id/Makefile.am
    --- gnutls26-2.8.6/tests/key-id/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/key-id/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -25,5 +25,3 @@
     dist_check_SCRIPTS = key-id
     
     TESTS = key-id
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/key-id/Makefile.in gnutls26-2.4.1/tests/key-id/Makefile.in
    --- gnutls26-2.8.6/tests/key-id/Makefile.in	2010-03-15 10:29:22.000000000 +0000
    +++ gnutls26-2.4.1/tests/key-id/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = README $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -653,7 +544,6 @@
     
     dist_check_SCRIPTS = key-id
     TESTS = key-id
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -661,14 +551,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/key-id/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/key-id/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/key-id/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/key-id/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -686,7 +576,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -701,10 +590,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -713,63 +601,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -780,15 +654,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -808,17 +678,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -848,7 +714,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -867,8 +732,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -877,28 +740,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -919,7 +772,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -933,7 +786,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/libgcrypt.supp gnutls26-2.4.1/tests/libgcrypt.supp
    --- gnutls26-2.8.6/tests/libgcrypt.supp	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/libgcrypt.supp	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     # libgcrypt.supp -- Valgrind suppresion file for libgcrypt
     
    -# Copyright (C) 2008, 2009 Simon Josefsson
    +# Copyright (C) 2008 Simon Josefsson
     
     # Copying and distribution of this file, with or without modification,
     # are permitted in any medium without royalty provided the copyright
    @@ -23,22 +23,6 @@
     }
     
     {
    -   libgcrypt1-new
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:_gcry_private_malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_module_add
    -   fun:pk_register_default
    -   fun:_gcry_pk_init
    -   fun:global_init
    -   fun:_gcry_check_version
    -   fun:gcry_check_version
    -   fun:gnutls_global_init
    -}
    -
    -{
        libgcrypt2
        Memcheck:Leak
        fun:malloc
    @@ -55,22 +39,6 @@
     }
     
     {
    -   libgcrypt2-new
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:_gcry_private_malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_module_add
    -   fun:md_register_default
    -   fun:_gcry_md_init
    -   fun:global_init
    -   fun:_gcry_check_version
    -   fun:gcry_check_version
    -   fun:gnutls_global_init
    -}
    -
    -{
        libgcrypt3
        Memcheck:Leak
        fun:malloc
    @@ -87,22 +55,6 @@
     }
     
     {
    -   libgcrypt3-new
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:_gcry_private_malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_module_add
    -   fun:cipher_register_default
    -   fun:_gcry_cipher_init
    -   fun:global_init
    -   fun:_gcry_check_version
    -   fun:gcry_check_version
    -   fun:gnutls_global_init
    -}
    -
    -{
        libgcrypt4
        Memcheck:Leak
        fun:malloc
    @@ -122,7 +74,6 @@
        libgcrypt5
        Memcheck:Leak
        fun:malloc
    -   fun:_gcry_private_malloc
        fun:do_malloc
        fun:_gcry_malloc
        fun:_gcry_xmalloc
    @@ -134,54 +85,3 @@
        fun:_gnutls_rnd_init
        fun:gnutls_global_init
     }
    -
    -{
    -   libgcrypt6
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_xmalloc
    -   fun:_gcry_xcalloc
    -   fun:initialize
    -   fun:_gcry_create_nonce
    -   fun:gcry_create_nonce
    -   fun:wrap_gcry_rnd_init
    -   fun:_gnutls_rnd_init
    -   fun:gnutls_global_init
    -}
    -
    -{
    -   libgcrypt7
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:_gcry_private_malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_xmalloc
    -   fun:_gcry_xcalloc
    -   fun:initialize
    -   fun:_gcry_create_nonce
    -   fun:gcry_create_nonce
    -   fun:wrap_gcry_rnd_init
    -   fun:_gnutls_rnd_init
    -   fun:gnutls_global_init
    -}
    -
    -{
    -   libgcrypt7-new
    -   Memcheck:Leak
    -   fun:malloc
    -   fun:_gcry_private_malloc
    -   fun:do_malloc
    -   fun:_gcry_malloc
    -   fun:_gcry_xmalloc
    -   fun:_gcry_xcalloc
    -   fun:initialize
    -   fun:_gcry_rngcsprng_create_nonce
    -   fun:_gcry_create_nonce
    -   fun:gcry_create_nonce
    -   fun:wrap_gcry_rnd_init
    -   fun:_gnutls_rnd_init
    -   fun:gnutls_global_init
    -}
    diff -Nru gnutls26-2.8.6/tests/Makefile.am gnutls26-2.4.1/tests/Makefile.am
    --- gnutls26-2.8.6/tests/Makefile.am	2010-01-24 10:06:21.000000000 +0000
    +++ gnutls26-2.4.1/tests/Makefile.am	2008-06-30 21:45:51.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    +# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -19,76 +19,51 @@
     # along with this file; if not, write to the Free Software Foundation,
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     
    -SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode	\
    -	userid pathlen key-id sha2
    +SUBDIRS = rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode	\
    +	userid pathlen key-id sha2 hostname-check
     
     if ENABLE_OPENPGP
    -SUBDIRS += openpgp-certs
    +SUBDIRS += openpgp openpgp-certs
     endif
     
    -EXTRA_DIST = libgcrypt.supp hostname-check.README
    +EXTRA_DIST = libgcrypt.supp
     
    -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
    -AM_CPPFLAGS = \
    -	-I$(top_srcdir)/gl			\
    -	-I$(top_builddir)/gl			\
    -	-I$(top_srcdir)/lib/includes		\
    -	-I$(top_builddir)/lib/includes		\
    -	-I$(top_srcdir)/libextra/includes	\
    -	-I$(top_builddir)/libextra/includes	\
    -	-I$(top_srcdir)/lib			\
    +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl			\
    +	-I$(top_srcdir)/gl -I$(top_builddir)/gl				\
    +	-I$(top_srcdir)/includes -I$(top_builddir)/includes		\
     	-I$(top_srcdir)/doc/examples
    -
     AM_LDFLAGS = -no-install
    -LDADD = ../lib/libgnutls.la \
    -	../gl/libgnu.la \
    -	libutils.la \
    -	$(LTLIBGCRYPT)	\
    -	$(LIBSOCKET) $(INET_NTOP_LIB) $(INET_PTON_LIB)
    -
    -if ENABLE_MINITASN1
    -AM_CPPFLAGS += -I$(srcdir)/../lib/minitasn1
    -endif
    +LDADD = ../lib/libgnutls.la ../gl/libgnu.la ../lgl/liblgnu.la libutils.la
     
     noinst_LTLIBRARIES = libutils.la
     libutils_la_SOURCES = utils.h utils.c
     
    -ctests = simple gc set_pkcs12_cred certder mpi				\
    -	certificate_set_x509_crl dn parse_ca moredn crypto_rng mini	\
    -	finished hostname-check cve-2008-4989 pkcs12_s2k chainverify	\
    -	crq_key_id x509sign-verify cve-2009-1415 cve-2009-1416 mini-eagain
    -
    -if ENABLE_OPENSSL
    -ctests +=  openssl
    +ctests = simple openssl gc set_pkcs12_cred certder			\
    +	certificate_set_x509_crl dn parse_ca moredn crypto_rng mini
     openssl_LDADD = $(LDADD) ../libextra/libgnutls-openssl.la
    -endif
    -
    -if ENABLE_OPENPGP
    -ctests += openpgp-keyring pgps2kgnu
    -openpgp_keyring_LDADD = $(LDADD) ../libextra/libgnutls-extra.la
    -endif
     
     if HAVE_FORK
     ctests += x509self x509signself x509dn anonself pskself dhepskself	\
    -	tlsia resume netconf-psk setcredcrash
    +	tlsia resume netconf-psk
     
     if ENABLE_OPENPGP
     ctests += openpgpself 
     endif
     
    -tlsia_LDADD = ../libextra/libgnutls-extra.la $(LDADD) $(LTLIBREADLINE)
    +tlsia_LDADD = ../libextra/libgnutls-extra.la $(LDADD) @LTLIBREADLINE@
     endif
     
     if ENABLE_OPRFI
     ctests +=  oprfi
     endif
     
    +gc_LDADD = $(LDADD) $(LIBGCRYPT_LIBS)
    +
     check_PROGRAMS = $(ctests)
    +
     TESTS = $(ctests)
     
     TESTS_ENVIRONMENT = \
     	PKCS12FILE=$(srcdir)/pkcs12-decode/client.p12	\
     	PKCS12PASSWORD=foobar \
    -	PKCS12FILE_2=$(srcdir)/pkcs12-decode/pkcs12_2certs.p12	\
    -	PKCS12PASSWORD_2="" \
     	$(VALGRIND)
    diff -Nru gnutls26-2.8.6/tests/Makefile.in gnutls26-2.4.1/tests/Makefile.in
    --- gnutls26-2.8.6/tests/Makefile.in	2010-03-15 10:29:22.000000000 +0000
    +++ gnutls26-2.4.1/tests/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    +# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -37,9 +36,8 @@
     
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -54,330 +52,221 @@
     POST_UNINSTALL = :
     build_triplet = @build@
     host_triplet = @host@
    -@ENABLE_OPENPGP_TRUE@am__append_1 = openpgp-certs
    -@ENABLE_MINITASN1_TRUE@am__append_2 = -I$(srcdir)/../lib/minitasn1
    -@ENABLE_OPENSSL_TRUE@am__append_3 = openssl
    -@ENABLE_OPENPGP_TRUE@am__append_4 = openpgp-keyring pgps2kgnu
    -@HAVE_FORK_TRUE@am__append_5 = x509self x509signself x509dn anonself pskself dhepskself	\
    -@HAVE_FORK_TRUE@	tlsia resume netconf-psk setcredcrash
    -
    -@ENABLE_OPENPGP_TRUE@@HAVE_FORK_TRUE@am__append_6 = openpgpself 
    -@ENABLE_OPRFI_TRUE@am__append_7 = oprfi
    -check_PROGRAMS = $(am__EXEEXT_6)
    -TESTS = $(am__EXEEXT_6)
    +@ENABLE_OPENPGP_TRUE@am__append_1 = openpgp openpgp-certs
    +@HAVE_FORK_TRUE@am__append_2 = x509self x509signself x509dn anonself pskself dhepskself	\
    +@HAVE_FORK_TRUE@	tlsia resume netconf-psk
    +
    +@ENABLE_OPENPGP_TRUE@@HAVE_FORK_TRUE@am__append_3 = openpgpself 
    +@ENABLE_OPRFI_TRUE@am__append_4 = oprfi
    +check_PROGRAMS = $(am__EXEEXT_4)
    +TESTS = $(am__EXEEXT_4)
     subdir = tests
     DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     LTLIBRARIES = $(noinst_LTLIBRARIES)
     libutils_la_LIBADD =
     am_libutils_la_OBJECTS = utils.lo
     libutils_la_OBJECTS = $(am_libutils_la_OBJECTS)
    -@ENABLE_OPENSSL_TRUE@am__EXEEXT_1 = openssl$(EXEEXT)
    -@ENABLE_OPENPGP_TRUE@am__EXEEXT_2 = openpgp-keyring$(EXEEXT) \
    -@ENABLE_OPENPGP_TRUE@	pgps2kgnu$(EXEEXT)
    -@HAVE_FORK_TRUE@am__EXEEXT_3 = x509self$(EXEEXT) x509signself$(EXEEXT) \
    +@HAVE_FORK_TRUE@am__EXEEXT_1 = x509self$(EXEEXT) x509signself$(EXEEXT) \
     @HAVE_FORK_TRUE@	x509dn$(EXEEXT) anonself$(EXEEXT) \
     @HAVE_FORK_TRUE@	pskself$(EXEEXT) dhepskself$(EXEEXT) \
     @HAVE_FORK_TRUE@	tlsia$(EXEEXT) resume$(EXEEXT) \
    -@HAVE_FORK_TRUE@	netconf-psk$(EXEEXT) setcredcrash$(EXEEXT)
    -@ENABLE_OPENPGP_TRUE@@HAVE_FORK_TRUE@am__EXEEXT_4 =  \
    +@HAVE_FORK_TRUE@	netconf-psk$(EXEEXT)
    +@ENABLE_OPENPGP_TRUE@@HAVE_FORK_TRUE@am__EXEEXT_2 =  \
     @ENABLE_OPENPGP_TRUE@@HAVE_FORK_TRUE@	openpgpself$(EXEEXT)
    -@ENABLE_OPRFI_TRUE@am__EXEEXT_5 = oprfi$(EXEEXT)
    -am__EXEEXT_6 = simple$(EXEEXT) gc$(EXEEXT) set_pkcs12_cred$(EXEEXT) \
    -	certder$(EXEEXT) mpi$(EXEEXT) \
    +@ENABLE_OPRFI_TRUE@am__EXEEXT_3 = oprfi$(EXEEXT)
    +am__EXEEXT_4 = simple$(EXEEXT) openssl$(EXEEXT) gc$(EXEEXT) \
    +	set_pkcs12_cred$(EXEEXT) certder$(EXEEXT) \
     	certificate_set_x509_crl$(EXEEXT) dn$(EXEEXT) \
     	parse_ca$(EXEEXT) moredn$(EXEEXT) crypto_rng$(EXEEXT) \
    -	mini$(EXEEXT) finished$(EXEEXT) hostname-check$(EXEEXT) \
    -	cve-2008-4989$(EXEEXT) pkcs12_s2k$(EXEEXT) \
    -	chainverify$(EXEEXT) crq_key_id$(EXEEXT) \
    -	x509sign-verify$(EXEEXT) cve-2009-1415$(EXEEXT) \
    -	cve-2009-1416$(EXEEXT) mini-eagain$(EXEEXT) $(am__EXEEXT_1) \
    -	$(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4) \
    -	$(am__EXEEXT_5)
    +	mini$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
     anonself_SOURCES = anonself.c
     anonself_OBJECTS = anonself.$(OBJEXT)
     anonself_LDADD = $(LDADD)
    -am__DEPENDENCIES_1 =
     anonself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     certder_SOURCES = certder.c
     certder_OBJECTS = certder.$(OBJEXT)
     certder_LDADD = $(LDADD)
    -certder_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +certder_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     certificate_set_x509_crl_SOURCES = certificate_set_x509_crl.c
     certificate_set_x509_crl_OBJECTS = certificate_set_x509_crl.$(OBJEXT)
     certificate_set_x509_crl_LDADD = $(LDADD)
     certificate_set_x509_crl_DEPENDENCIES = ../lib/libgnutls.la \
    -	../gl/libgnu.la libutils.la $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1)
    -chainverify_SOURCES = chainverify.c
    -chainverify_OBJECTS = chainverify.$(OBJEXT)
    -chainverify_LDADD = $(LDADD)
    -chainverify_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -crq_key_id_SOURCES = crq_key_id.c
    -crq_key_id_OBJECTS = crq_key_id.$(OBJEXT)
    -crq_key_id_LDADD = $(LDADD)
    -crq_key_id_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../gl/libgnu.la ../lgl/liblgnu.la libutils.la
     crypto_rng_SOURCES = crypto_rng.c
     crypto_rng_OBJECTS = crypto_rng.$(OBJEXT)
     crypto_rng_LDADD = $(LDADD)
     crypto_rng_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -cve_2008_4989_SOURCES = cve-2008-4989.c
    -cve_2008_4989_OBJECTS = cve-2008-4989.$(OBJEXT)
    -cve_2008_4989_LDADD = $(LDADD)
    -cve_2008_4989_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -cve_2009_1415_SOURCES = cve-2009-1415.c
    -cve_2009_1415_OBJECTS = cve-2009-1415.$(OBJEXT)
    -cve_2009_1415_LDADD = $(LDADD)
    -cve_2009_1415_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -cve_2009_1416_SOURCES = cve-2009-1416.c
    -cve_2009_1416_OBJECTS = cve-2009-1416.$(OBJEXT)
    -cve_2009_1416_LDADD = $(LDADD)
    -cve_2009_1416_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     dhepskself_SOURCES = dhepskself.c
     dhepskself_OBJECTS = dhepskself.$(OBJEXT)
     dhepskself_LDADD = $(LDADD)
     dhepskself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     dn_SOURCES = dn.c
     dn_OBJECTS = dn.$(OBJEXT)
     dn_LDADD = $(LDADD)
    -dn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -finished_SOURCES = finished.c
    -finished_OBJECTS = finished.$(OBJEXT)
    -finished_LDADD = $(LDADD)
    -finished_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +dn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     gc_SOURCES = gc.c
     gc_OBJECTS = gc.$(OBJEXT)
    -gc_LDADD = $(LDADD)
    -gc_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -hostname_check_SOURCES = hostname-check.c
    -hostname_check_OBJECTS = hostname-check.$(OBJEXT)
    -hostname_check_LDADD = $(LDADD)
    -hostname_check_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +am__DEPENDENCIES_1 =
    +gc_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1)
     mini_SOURCES = mini.c
     mini_OBJECTS = mini.$(OBJEXT)
     mini_LDADD = $(LDADD)
    -mini_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -mini_eagain_SOURCES = mini-eagain.c
    -mini_eagain_OBJECTS = mini-eagain.$(OBJEXT)
    -mini_eagain_LDADD = $(LDADD)
    -mini_eagain_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +mini_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     moredn_SOURCES = moredn.c
     moredn_OBJECTS = moredn.$(OBJEXT)
     moredn_LDADD = $(LDADD)
    -moredn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -mpi_SOURCES = mpi.c
    -mpi_OBJECTS = mpi.$(OBJEXT)
    -mpi_LDADD = $(LDADD)
    -mpi_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +moredn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     netconf_psk_SOURCES = netconf-psk.c
     netconf_psk_OBJECTS = netconf-psk.$(OBJEXT)
     netconf_psk_LDADD = $(LDADD)
     netconf_psk_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -openpgp_keyring_SOURCES = openpgp-keyring.c
    -openpgp_keyring_OBJECTS = openpgp-keyring.$(OBJEXT)
    -am__DEPENDENCIES_2 = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -@ENABLE_OPENPGP_TRUE@openpgp_keyring_DEPENDENCIES =  \
    -@ENABLE_OPENPGP_TRUE@	$(am__DEPENDENCIES_2) \
    -@ENABLE_OPENPGP_TRUE@	../libextra/libgnutls-extra.la
    +	../lgl/liblgnu.la libutils.la
     openpgpself_SOURCES = openpgpself.c
     openpgpself_OBJECTS = openpgpself.$(OBJEXT)
     openpgpself_LDADD = $(LDADD)
     openpgpself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     openssl_SOURCES = openssl.c
     openssl_OBJECTS = openssl.$(OBJEXT)
    -@ENABLE_OPENSSL_TRUE@openssl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
    -@ENABLE_OPENSSL_TRUE@	../libextra/libgnutls-openssl.la
    +openssl_DEPENDENCIES = $(LDADD) ../libextra/libgnutls-openssl.la
     oprfi_SOURCES = oprfi.c
     oprfi_OBJECTS = oprfi.$(OBJEXT)
     oprfi_LDADD = $(LDADD)
    -oprfi_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +oprfi_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     parse_ca_SOURCES = parse_ca.c
     parse_ca_OBJECTS = parse_ca.$(OBJEXT)
     parse_ca_LDADD = $(LDADD)
     parse_ca_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -pgps2kgnu_SOURCES = pgps2kgnu.c
    -pgps2kgnu_OBJECTS = pgps2kgnu.$(OBJEXT)
    -pgps2kgnu_LDADD = $(LDADD)
    -pgps2kgnu_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -pkcs12_s2k_SOURCES = pkcs12_s2k.c
    -pkcs12_s2k_OBJECTS = pkcs12_s2k.$(OBJEXT)
    -pkcs12_s2k_LDADD = $(LDADD)
    -pkcs12_s2k_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     pskself_SOURCES = pskself.c
     pskself_OBJECTS = pskself.$(OBJEXT)
     pskself_LDADD = $(LDADD)
    -pskself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +pskself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     resume_SOURCES = resume.c
     resume_OBJECTS = resume.$(OBJEXT)
     resume_LDADD = $(LDADD)
    -resume_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +resume_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     set_pkcs12_cred_SOURCES = set_pkcs12_cred.c
     set_pkcs12_cred_OBJECTS = set_pkcs12_cred.$(OBJEXT)
     set_pkcs12_cred_LDADD = $(LDADD)
     set_pkcs12_cred_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -setcredcrash_SOURCES = setcredcrash.c
    -setcredcrash_OBJECTS = setcredcrash.$(OBJEXT)
    -setcredcrash_LDADD = $(LDADD)
    -setcredcrash_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     simple_SOURCES = simple.c
     simple_OBJECTS = simple.$(OBJEXT)
     simple_LDADD = $(LDADD)
    -simple_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +simple_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     tlsia_SOURCES = tlsia.c
     tlsia_OBJECTS = tlsia.$(OBJEXT)
     @HAVE_FORK_TRUE@tlsia_DEPENDENCIES = ../libextra/libgnutls-extra.la \
    -@HAVE_FORK_TRUE@	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
    +@HAVE_FORK_TRUE@	$(LDADD)
     x509dn_SOURCES = x509dn.c
     x509dn_OBJECTS = x509dn.$(OBJEXT)
     x509dn_LDADD = $(LDADD)
    -x509dn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la libutils.la \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +x509dn_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    +	../lgl/liblgnu.la libutils.la
     x509self_SOURCES = x509self.c
     x509self_OBJECTS = x509self.$(OBJEXT)
     x509self_LDADD = $(LDADD)
     x509self_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    -x509sign_verify_SOURCES = x509sign-verify.c
    -x509sign_verify_OBJECTS = x509sign-verify.$(OBJEXT)
    -x509sign_verify_LDADD = $(LDADD)
    -x509sign_verify_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     x509signself_SOURCES = x509signself.c
     x509signself_OBJECTS = x509signself.$(OBJEXT)
     x509signself_LDADD = $(LDADD)
     x509signself_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la \
    -	libutils.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
    -	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
    +	../lgl/liblgnu.la libutils.la
     DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
     depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
     am__depfiles_maybe = depfiles
    -am__mv = mv -f
     COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
     	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    @@ -388,23 +277,15 @@
     	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
     	$(LDFLAGS) -o $@
     SOURCES = $(libutils_la_SOURCES) anonself.c certder.c \
    -	certificate_set_x509_crl.c chainverify.c crq_key_id.c \
    -	crypto_rng.c cve-2008-4989.c cve-2009-1415.c cve-2009-1416.c \
    -	dhepskself.c dn.c finished.c gc.c hostname-check.c mini.c \
    -	mini-eagain.c moredn.c mpi.c netconf-psk.c openpgp-keyring.c \
    -	openpgpself.c openssl.c oprfi.c parse_ca.c pgps2kgnu.c \
    -	pkcs12_s2k.c pskself.c resume.c set_pkcs12_cred.c \
    -	setcredcrash.c simple.c tlsia.c x509dn.c x509self.c \
    -	x509sign-verify.c x509signself.c
    +	certificate_set_x509_crl.c crypto_rng.c dhepskself.c dn.c gc.c \
    +	mini.c moredn.c netconf-psk.c openpgpself.c openssl.c oprfi.c \
    +	parse_ca.c pskself.c resume.c set_pkcs12_cred.c simple.c \
    +	tlsia.c x509dn.c x509self.c x509signself.c
     DIST_SOURCES = $(libutils_la_SOURCES) anonself.c certder.c \
    -	certificate_set_x509_crl.c chainverify.c crq_key_id.c \
    -	crypto_rng.c cve-2008-4989.c cve-2009-1415.c cve-2009-1416.c \
    -	dhepskself.c dn.c finished.c gc.c hostname-check.c mini.c \
    -	mini-eagain.c moredn.c mpi.c netconf-psk.c openpgp-keyring.c \
    -	openpgpself.c openssl.c oprfi.c parse_ca.c pgps2kgnu.c \
    -	pkcs12_s2k.c pskself.c resume.c set_pkcs12_cred.c \
    -	setcredcrash.c simple.c tlsia.c x509dn.c x509self.c \
    -	x509sign-verify.c x509signself.c
    +	certificate_set_x509_crl.c crypto_rng.c dhepskself.c dn.c gc.c \
    +	mini.c moredn.c netconf-psk.c openpgpself.c openssl.c oprfi.c \
    +	parse_ca.c pskself.c resume.c set_pkcs12_cred.c simple.c \
    +	tlsia.c x509dn.c x509self.c x509signself.c
     RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
     	html-recursive info-recursive install-data-recursive \
     	install-dvi-recursive install-exec-recursive \
    @@ -414,46 +295,17 @@
     	ps-recursive uninstall-recursive
     RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
       distclean-recursive maintainer-clean-recursive
    -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
    -	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
    -	distdir
     ETAGS = etags
     CTAGS = ctags
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
    -DIST_SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode \
    -	pkcs12-decode userid pathlen key-id sha2 openpgp-certs
    +DIST_SUBDIRS = rsa-md5-collision pkcs1-padding pkcs8-decode \
    +	pkcs12-decode userid pathlen key-id sha2 hostname-check \
    +	openpgp openpgp-certs
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    -am__relativize = \
    -  dir0=`pwd`; \
    -  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
    -  sed_rest='s,^[^/]*/*,,'; \
    -  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
    -  sed_butlast='s,/*[^/]*$$,,'; \
    -  while test -n "$$dir1"; do \
    -    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    -    if test "$$first" != "."; then \
    -      if test "$$first" = ".."; then \
    -        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
    -        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
    -      else \
    -        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
    -        if test "$$first2" = "$$first"; then \
    -          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
    -        else \
    -          dir2="../$$dir2"; \
    -        fi; \
    -        dir0="$$dir0"/"$$first"; \
    -      fi; \
    -    fi; \
    -    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
    -  done; \
    -  reldir="$$dir2"
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -476,96 +328,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -577,31 +393,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -616,29 +417,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -646,18 +433,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -666,51 +446,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -719,123 +481,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -847,78 +594,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -950,11 +681,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -965,44 +699,32 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
     top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
    -SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode \
    -	userid pathlen key-id sha2 $(am__append_1)
    -EXTRA_DIST = libgcrypt.supp hostname-check.README
    -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
    -AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_builddir)/gl \
    -	-I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes \
    -	-I$(top_srcdir)/libextra/includes \
    -	-I$(top_builddir)/libextra/includes -I$(top_srcdir)/lib \
    -	-I$(top_srcdir)/doc/examples $(am__append_2)
    -AM_LDFLAGS = -no-install
    -LDADD = ../lib/libgnutls.la \
    -	../gl/libgnu.la \
    -	libutils.la \
    -	$(LTLIBGCRYPT)	\
    -	$(LIBSOCKET) $(INET_NTOP_LIB) $(INET_PTON_LIB)
    +SUBDIRS = rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode \
    +	userid pathlen key-id sha2 hostname-check $(am__append_1)
    +EXTRA_DIST = libgcrypt.supp
    +AM_CPPFLAGS = -I$(top_srcdir)/lgl -I$(top_builddir)/lgl			\
    +	-I$(top_srcdir)/gl -I$(top_builddir)/gl				\
    +	-I$(top_srcdir)/includes -I$(top_builddir)/includes		\
    +	-I$(top_srcdir)/doc/examples
     
    +AM_LDFLAGS = -no-install
    +LDADD = ../lib/libgnutls.la ../gl/libgnu.la ../lgl/liblgnu.la libutils.la
     noinst_LTLIBRARIES = libutils.la
     libutils_la_SOURCES = utils.h utils.c
    -ctests = simple gc set_pkcs12_cred certder mpi \
    +ctests = simple openssl gc set_pkcs12_cred certder \
     	certificate_set_x509_crl dn parse_ca moredn crypto_rng mini \
    -	finished hostname-check cve-2008-4989 pkcs12_s2k chainverify \
    -	crq_key_id x509sign-verify cve-2009-1415 cve-2009-1416 \
    -	mini-eagain $(am__append_3) $(am__append_4) $(am__append_5) \
    -	$(am__append_6) $(am__append_7)
    -@ENABLE_OPENSSL_TRUE@openssl_LDADD = $(LDADD) ../libextra/libgnutls-openssl.la
    -@ENABLE_OPENPGP_TRUE@openpgp_keyring_LDADD = $(LDADD) ../libextra/libgnutls-extra.la
    -@HAVE_FORK_TRUE@tlsia_LDADD = ../libextra/libgnutls-extra.la $(LDADD) $(LTLIBREADLINE)
    +	$(am__append_2) $(am__append_3) $(am__append_4)
    +openssl_LDADD = $(LDADD) ../libextra/libgnutls-openssl.la
    +@HAVE_FORK_TRUE@tlsia_LDADD = ../libextra/libgnutls-extra.la $(LDADD) @LTLIBREADLINE@
    +gc_LDADD = $(LDADD) $(LIBGCRYPT_LIBS)
     TESTS_ENVIRONMENT = \
     	PKCS12FILE=$(srcdir)/pkcs12-decode/client.p12	\
     	PKCS12PASSWORD=foobar \
    -	PKCS12FILE_2=$(srcdir)/pkcs12-decode/pkcs12_2certs.p12	\
    -	PKCS12PASSWORD_2="" \
     	$(VALGRIND)
     
     all: all-recursive
    @@ -1013,14 +735,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -1038,7 +760,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     clean-noinstLTLIBRARIES:
     	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
    @@ -1052,13 +773,11 @@
     	$(LINK)  $(libutils_la_OBJECTS) $(libutils_la_LIBADD) $(LIBS)
     
     clean-checkPROGRAMS:
    -	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
    -	echo " rm -f" $$list; \
    -	rm -f $$list || exit $$?; \
    -	test -n "$(EXEEXT)" || exit 0; \
    -	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
    -	echo " rm -f" $$list; \
    -	rm -f $$list
    +	@list='$(check_PROGRAMS)'; for p in $$list; do \
    +	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
    +	  echo " rm -f $$p $$f"; \
    +	  rm -f $$p $$f ; \
    +	done
     anonself$(EXEEXT): $(anonself_OBJECTS) $(anonself_DEPENDENCIES) 
     	@rm -f anonself$(EXEEXT)
     	$(LINK) $(anonself_OBJECTS) $(anonself_LDADD) $(LIBS)
    @@ -1068,57 +787,27 @@
     certificate_set_x509_crl$(EXEEXT): $(certificate_set_x509_crl_OBJECTS) $(certificate_set_x509_crl_DEPENDENCIES) 
     	@rm -f certificate_set_x509_crl$(EXEEXT)
     	$(LINK) $(certificate_set_x509_crl_OBJECTS) $(certificate_set_x509_crl_LDADD) $(LIBS)
    -chainverify$(EXEEXT): $(chainverify_OBJECTS) $(chainverify_DEPENDENCIES) 
    -	@rm -f chainverify$(EXEEXT)
    -	$(LINK) $(chainverify_OBJECTS) $(chainverify_LDADD) $(LIBS)
    -crq_key_id$(EXEEXT): $(crq_key_id_OBJECTS) $(crq_key_id_DEPENDENCIES) 
    -	@rm -f crq_key_id$(EXEEXT)
    -	$(LINK) $(crq_key_id_OBJECTS) $(crq_key_id_LDADD) $(LIBS)
     crypto_rng$(EXEEXT): $(crypto_rng_OBJECTS) $(crypto_rng_DEPENDENCIES) 
     	@rm -f crypto_rng$(EXEEXT)
     	$(LINK) $(crypto_rng_OBJECTS) $(crypto_rng_LDADD) $(LIBS)
    -cve-2008-4989$(EXEEXT): $(cve_2008_4989_OBJECTS) $(cve_2008_4989_DEPENDENCIES) 
    -	@rm -f cve-2008-4989$(EXEEXT)
    -	$(LINK) $(cve_2008_4989_OBJECTS) $(cve_2008_4989_LDADD) $(LIBS)
    -cve-2009-1415$(EXEEXT): $(cve_2009_1415_OBJECTS) $(cve_2009_1415_DEPENDENCIES) 
    -	@rm -f cve-2009-1415$(EXEEXT)
    -	$(LINK) $(cve_2009_1415_OBJECTS) $(cve_2009_1415_LDADD) $(LIBS)
    -cve-2009-1416$(EXEEXT): $(cve_2009_1416_OBJECTS) $(cve_2009_1416_DEPENDENCIES) 
    -	@rm -f cve-2009-1416$(EXEEXT)
    -	$(LINK) $(cve_2009_1416_OBJECTS) $(cve_2009_1416_LDADD) $(LIBS)
     dhepskself$(EXEEXT): $(dhepskself_OBJECTS) $(dhepskself_DEPENDENCIES) 
     	@rm -f dhepskself$(EXEEXT)
     	$(LINK) $(dhepskself_OBJECTS) $(dhepskself_LDADD) $(LIBS)
     dn$(EXEEXT): $(dn_OBJECTS) $(dn_DEPENDENCIES) 
     	@rm -f dn$(EXEEXT)
     	$(LINK) $(dn_OBJECTS) $(dn_LDADD) $(LIBS)
    -finished$(EXEEXT): $(finished_OBJECTS) $(finished_DEPENDENCIES) 
    -	@rm -f finished$(EXEEXT)
    -	$(LINK) $(finished_OBJECTS) $(finished_LDADD) $(LIBS)
     gc$(EXEEXT): $(gc_OBJECTS) $(gc_DEPENDENCIES) 
     	@rm -f gc$(EXEEXT)
     	$(LINK) $(gc_OBJECTS) $(gc_LDADD) $(LIBS)
    -hostname-check$(EXEEXT): $(hostname_check_OBJECTS) $(hostname_check_DEPENDENCIES) 
    -	@rm -f hostname-check$(EXEEXT)
    -	$(LINK) $(hostname_check_OBJECTS) $(hostname_check_LDADD) $(LIBS)
     mini$(EXEEXT): $(mini_OBJECTS) $(mini_DEPENDENCIES) 
     	@rm -f mini$(EXEEXT)
     	$(LINK) $(mini_OBJECTS) $(mini_LDADD) $(LIBS)
    -mini-eagain$(EXEEXT): $(mini_eagain_OBJECTS) $(mini_eagain_DEPENDENCIES) 
    -	@rm -f mini-eagain$(EXEEXT)
    -	$(LINK) $(mini_eagain_OBJECTS) $(mini_eagain_LDADD) $(LIBS)
     moredn$(EXEEXT): $(moredn_OBJECTS) $(moredn_DEPENDENCIES) 
     	@rm -f moredn$(EXEEXT)
     	$(LINK) $(moredn_OBJECTS) $(moredn_LDADD) $(LIBS)
    -mpi$(EXEEXT): $(mpi_OBJECTS) $(mpi_DEPENDENCIES) 
    -	@rm -f mpi$(EXEEXT)
    -	$(LINK) $(mpi_OBJECTS) $(mpi_LDADD) $(LIBS)
     netconf-psk$(EXEEXT): $(netconf_psk_OBJECTS) $(netconf_psk_DEPENDENCIES) 
     	@rm -f netconf-psk$(EXEEXT)
     	$(LINK) $(netconf_psk_OBJECTS) $(netconf_psk_LDADD) $(LIBS)
    -openpgp-keyring$(EXEEXT): $(openpgp_keyring_OBJECTS) $(openpgp_keyring_DEPENDENCIES) 
    -	@rm -f openpgp-keyring$(EXEEXT)
    -	$(LINK) $(openpgp_keyring_OBJECTS) $(openpgp_keyring_LDADD) $(LIBS)
     openpgpself$(EXEEXT): $(openpgpself_OBJECTS) $(openpgpself_DEPENDENCIES) 
     	@rm -f openpgpself$(EXEEXT)
     	$(LINK) $(openpgpself_OBJECTS) $(openpgpself_LDADD) $(LIBS)
    @@ -1131,12 +820,6 @@
     parse_ca$(EXEEXT): $(parse_ca_OBJECTS) $(parse_ca_DEPENDENCIES) 
     	@rm -f parse_ca$(EXEEXT)
     	$(LINK) $(parse_ca_OBJECTS) $(parse_ca_LDADD) $(LIBS)
    -pgps2kgnu$(EXEEXT): $(pgps2kgnu_OBJECTS) $(pgps2kgnu_DEPENDENCIES) 
    -	@rm -f pgps2kgnu$(EXEEXT)
    -	$(LINK) $(pgps2kgnu_OBJECTS) $(pgps2kgnu_LDADD) $(LIBS)
    -pkcs12_s2k$(EXEEXT): $(pkcs12_s2k_OBJECTS) $(pkcs12_s2k_DEPENDENCIES) 
    -	@rm -f pkcs12_s2k$(EXEEXT)
    -	$(LINK) $(pkcs12_s2k_OBJECTS) $(pkcs12_s2k_LDADD) $(LIBS)
     pskself$(EXEEXT): $(pskself_OBJECTS) $(pskself_DEPENDENCIES) 
     	@rm -f pskself$(EXEEXT)
     	$(LINK) $(pskself_OBJECTS) $(pskself_LDADD) $(LIBS)
    @@ -1146,9 +829,6 @@
     set_pkcs12_cred$(EXEEXT): $(set_pkcs12_cred_OBJECTS) $(set_pkcs12_cred_DEPENDENCIES) 
     	@rm -f set_pkcs12_cred$(EXEEXT)
     	$(LINK) $(set_pkcs12_cred_OBJECTS) $(set_pkcs12_cred_LDADD) $(LIBS)
    -setcredcrash$(EXEEXT): $(setcredcrash_OBJECTS) $(setcredcrash_DEPENDENCIES) 
    -	@rm -f setcredcrash$(EXEEXT)
    -	$(LINK) $(setcredcrash_OBJECTS) $(setcredcrash_LDADD) $(LIBS)
     simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES) 
     	@rm -f simple$(EXEEXT)
     	$(LINK) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
    @@ -1161,9 +841,6 @@
     x509self$(EXEEXT): $(x509self_OBJECTS) $(x509self_DEPENDENCIES) 
     	@rm -f x509self$(EXEEXT)
     	$(LINK) $(x509self_OBJECTS) $(x509self_LDADD) $(LIBS)
    -x509sign-verify$(EXEEXT): $(x509sign_verify_OBJECTS) $(x509sign_verify_DEPENDENCIES) 
    -	@rm -f x509sign-verify$(EXEEXT)
    -	$(LINK) $(x509sign_verify_OBJECTS) $(x509sign_verify_LDADD) $(LIBS)
     x509signself$(EXEEXT): $(x509signself_OBJECTS) $(x509signself_DEPENDENCIES) 
     	@rm -f x509signself$(EXEEXT)
     	$(LINK) $(x509signself_OBJECTS) $(x509signself_LDADD) $(LIBS)
    @@ -1177,58 +854,44 @@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anonself.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certder.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certificate_set_x509_crl.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chainverify.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crq_key_id.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypto_rng.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cve-2008-4989.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cve-2009-1415.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cve-2009-1416.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dhepskself.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dn.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finished.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostname-check.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mini-eagain.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mini.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/moredn.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netconf-psk.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openpgp-keyring.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openpgpself.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openssl.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprfi.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_ca.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgps2kgnu.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkcs12_s2k.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pskself.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resume.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_pkcs12_cred.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setcredcrash.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlsia.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509dn.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509self.Po@am__quote@
    -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509sign-verify.Po@am__quote@
     @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509signself.Po@am__quote@
     
     .c.o:
     @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    -@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     @am__fastdepCC_FALSE@	$(COMPILE) -c $<
     
     .c.obj:
     @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
    -@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
     
     .c.lo:
     @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    -@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
    @@ -1246,7 +909,7 @@
     #     (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):
    -	@fail= failcom='exit 1'; \
    +	@failcom='exit 1'; \
     	for f in x $$MAKEFLAGS; do \
     	  case $$f in \
     	    *=* | --[!k]*);; \
    @@ -1263,7 +926,7 @@
     	  else \
     	    local_target="$$target"; \
     	  fi; \
    -	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
    +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     	  || eval $$failcom; \
     	done; \
     	if test "$$dot_seen" = "no"; then \
    @@ -1271,7 +934,7 @@
     	fi; test -z "$$fail"
     
     $(RECURSIVE_CLEAN_TARGETS):
    -	@fail= failcom='exit 1'; \
    +	@failcom='exit 1'; \
     	for f in x $$MAKEFLAGS; do \
     	  case $$f in \
     	    *=* | --[!k]*);; \
    @@ -1297,16 +960,16 @@
     	  else \
     	    local_target="$$target"; \
     	  fi; \
    -	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
    +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     	  || eval $$failcom; \
     	done && test -z "$$fail"
     tags-recursive:
     	list='$(SUBDIRS)'; for subdir in $$list; do \
    -	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
    +	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
     	done
     ctags-recursive:
     	list='$(SUBDIRS)'; for subdir in $$list; do \
    -	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
    +	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
     	done
     
     ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    @@ -1314,14 +977,14 @@
     	unique=`for i in $$list; do \
     	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
     	  done | \
    -	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    +	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
     	      END { if (nonempty) { for (i in files) print i; }; }'`; \
     	mkid -fID $$unique
     tags: TAGS
     
     TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
     		$(TAGS_FILES) $(LISP)
    -	set x; \
    +	tags=; \
     	here=`pwd`; \
     	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
     	  include_option=--etags-include; \
    @@ -1333,7 +996,7 @@
     	list='$(SUBDIRS)'; for subdir in $$list; do \
     	  if test "$$subdir" = .; then :; else \
     	    test ! -f $$subdir/TAGS || \
    -	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
    +	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
     	  fi; \
     	done; \
     	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    @@ -1342,43 +1005,37 @@
     	  done | \
     	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
     	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    -	shift; \
    -	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
    +	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
     	  test -n "$$unique" || unique=$$empty_fix; \
    -	  if test $$# -gt 0; then \
    -	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    -	      "$$@" $$unique; \
    -	  else \
    -	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    -	      $$unique; \
    -	  fi; \
    +	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    +	    $$tags $$unique; \
     	fi
     ctags: CTAGS
     CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
     		$(TAGS_FILES) $(LISP)
    +	tags=; \
     	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; nonempty = 1; } \
     	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    -	test -z "$(CTAGS_ARGS)$$unique" \
    +	test -z "$(CTAGS_ARGS)$$tags$$unique" \
     	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
    -	     $$unique
    +	     $$tags $$unique
     
     GTAGS:
     	here=`$(am__cd) $(top_builddir) && pwd` \
    -	  && $(am__cd) $(top_srcdir) \
    -	  && gtags -i $(GTAGS_ARGS) "$$here"
    +	  && cd $(top_srcdir) \
    +	  && gtags -i $(GTAGS_ARGS) $$here
     
     distclean-tags:
     	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -1387,63 +1044,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -1454,15 +1097,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -1482,44 +1121,29 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    -	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
    +	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
     	  if test "$$subdir" = .; then :; else \
     	    test -d "$(distdir)/$$subdir" \
     	    || $(MKDIR_P) "$(distdir)/$$subdir" \
     	    || exit 1; \
    -	  fi; \
    -	done
    -	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
    -	  if test "$$subdir" = .; then :; else \
    -	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
    -	    $(am__relativize); \
    -	    new_distdir=$$reldir; \
    -	    dir1=$$subdir; dir2="$(top_distdir)"; \
    -	    $(am__relativize); \
    -	    new_top_distdir=$$reldir; \
    -	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
    -	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
    -	    ($(am__cd) $$subdir && \
    +	    distdir=`$(am__cd) $(distdir) && pwd`; \
    +	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
    +	    (cd $$subdir && \
     	      $(MAKE) $(AM_MAKEFLAGS) \
    -	        top_distdir="$$new_top_distdir" \
    -	        distdir="$$new_distdir" \
    +	        top_distdir="$$top_distdir" \
    +	        distdir="$$distdir/$$subdir" \
     		am__remove_distdir=: \
     		am__skip_length_check=: \
    -		am__skip_mode_fix=: \
     	        distdir) \
     	      || exit 1; \
     	  fi; \
    @@ -1551,7 +1175,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -1573,8 +1196,6 @@
     
     html: html-recursive
     
    -html-am:
    -
     info: info-recursive
     
     info-am:
    @@ -1583,28 +1204,18 @@
     
     install-dvi: install-dvi-recursive
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-recursive
     
    -install-html-am:
    -
     install-info: install-info-recursive
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-recursive
     
    -install-pdf-am:
    -
     install-ps: install-ps-recursive
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-recursive
    @@ -1627,8 +1238,8 @@
     
     uninstall-am:
     
    -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
    -	ctags-recursive install-am install-strip tags-recursive
    +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
    +	install-strip
     
     .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
     	all all-am check check-TESTS check-am clean \
    @@ -1646,7 +1257,6 @@
     	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/mini.c gnutls26-2.4.1/tests/mini.c
    --- gnutls26-2.8.6/tests/mini.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/mini.c	2008-06-30 21:45:27.000000000 +0100
    @@ -20,7 +20,7 @@
      * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
      */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -44,7 +44,7 @@
     char *to_client;
     size_t to_client_len;
     
    -static ssize_t
    +ssize_t
     client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
     {
       success ("client_pull len %d has %d\n", len, to_client_len);
    @@ -63,7 +63,7 @@
       return len;
     }
     
    -static ssize_t
    +ssize_t
     client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
     {
       size_t newlen = to_server_len + len;
    @@ -86,7 +86,7 @@
       return len;
     }
     
    -static ssize_t
    +ssize_t
     server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
     {
       success ("server_pull len %d has %d\n", len, to_server_len);
    @@ -105,7 +105,7 @@
       return len;
     }
     
    -static ssize_t
    +ssize_t
     server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
     {
       size_t newlen = to_client_len + len;
    @@ -137,7 +137,7 @@
     {
       /* Server stuff. */
       gnutls_anon_server_credentials_t s_anoncred;
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
       static gnutls_dh_params_t dh_params;
       gnutls_session_t server;
       int sret = GNUTLS_E_AGAIN;
    @@ -179,23 +179,21 @@
       gnutls_transport_set_push_function (client, client_push);
       gnutls_transport_set_pull_function (client, client_pull);
     
    -  do
    -    {
    -      if (cret == GNUTLS_E_AGAIN)
    -	{
    -	  success ("loop invoking client:\n");
    -	  cret = gnutls_handshake (client);
    -	  success ("client %d: %s\n", cret, gnutls_strerror (cret));
    -	}
    -
    -      if (sret == GNUTLS_E_AGAIN)
    -	{
    -	  success ("loop invoking server:\n");
    -	  sret = gnutls_handshake (server);
    -	  success ("server %d: %s\n", sret, gnutls_strerror (sret));
    -	}
    -    }
    -  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
    +  do {
    +    if (cret == GNUTLS_E_AGAIN)
    +      {
    +	success ("loop invoking client:\n");
    +	cret = gnutls_handshake (client);
    +	success ("client %d: %s\n", cret, gnutls_strerror (cret));
    +      }
    +
    +    if (sret == GNUTLS_E_AGAIN)
    +      {
    +	success ("loop invoking server:\n");
    +	sret = gnutls_handshake (server);
    +	success ("server %d: %s\n", sret, gnutls_strerror (sret));
    +      }
    +  } while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
     
       success ("Handshake established\n");
     
    diff -Nru gnutls26-2.8.6/tests/mini-eagain.c gnutls26-2.4.1/tests/mini-eagain.c
    --- gnutls26-2.8.6/tests/mini-eagain.c	2009-08-10 15:28:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/mini-eagain.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,292 +0,0 @@
    -/*
    - * Copyright (C) 2008 Free Software Foundation
    - *
    - * Author: Simon Josefsson, Nikos Mavrogiannopoulos
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -
    -#include "utils.h"
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "|<%d>| %s", level, str);
    -}
    -
    -static int handshake = 0;
    -
    -char *to_server;
    -size_t to_server_len;
    -
    -char *to_client;
    -size_t to_client_len;
    -
    -
    -static ssize_t
    -client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
    -{
    -//  success ("client_pull len %d has %d\n", len, to_client_len);
    -  unsigned char rnd;
    -  gcry_create_nonce (&rnd, 1);
    -
    -  if (handshake == 0 && rnd % 2 == 0) 
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  if (to_client_len < len)
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  memcpy (data, to_client, len);
    -
    -  memmove (to_client, to_client + len, to_client_len - len);
    -  to_client_len -= len;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
    -{
    -  char *tmp;
    -  size_t newlen = to_server_len + len;
    -//  success ("client_push len %d has %d\n", len, to_server_len);
    -//  hexprint (data, len);
    -
    -  tmp = realloc (to_server, newlen);
    -  if (!tmp)
    -    {
    -      fail ("Memory allocation failure...\n");
    -      exit (1);
    -    }
    -  to_server = tmp;
    -
    -  memcpy (to_server + to_server_len, data, len);
    -  to_server_len = newlen;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
    -{
    -  //success ("server_pull len %d has %d\n", len, to_server_len);
    -  unsigned char rnd;
    -
    -  gcry_create_nonce (&rnd, 1);
    -  if (handshake == 0 && rnd % 2 == 0) 
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  if (to_server_len < len)
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -  memcpy (data, to_server, len);
    -
    -  memmove (to_server, to_server + len, to_server_len - len);
    -  to_server_len -= len;
    -
    -  return len;
    -}
    -
    -static ssize_t
    -server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
    -{
    -  unsigned char rnd;
    -  char *tmp;
    -  size_t newlen = to_client_len + len;
    -
    -  //success ("server_push len %d has %d\n", len, to_client_len);
    -  gcry_create_nonce (&rnd, 1);
    -  if (handshake == 0 && rnd % 2 == 0) 
    -    {
    -      gnutls_transport_set_global_errno (EAGAIN);
    -      return -1;
    -    }
    -
    -//  hexprint (data, len);
    -
    -  tmp = realloc (to_client, newlen);
    -  if (!tmp)
    -    {
    -      fail ("Memory allocation failure...\n");
    -      exit (1);
    -    }
    -  to_client = tmp;
    -
    -  memcpy (to_client + to_client_len, data, len);
    -  to_client_len = newlen;
    -
    -  return len;
    -}
    -
    -#define MAX_BUF 1024
    -#define MSG "Hello TLS"
    -
    -void
    -doit (void)
    -{
    -  /* Server stuff. */
    -  gnutls_anon_server_credentials_t s_anoncred;
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  static gnutls_dh_params_t dh_params;
    -  gnutls_session_t server;
    -  int sret = GNUTLS_E_AGAIN;
    -  /* Client stuff. */
    -  gnutls_anon_client_credentials_t c_anoncred;
    -  gnutls_session_t client;
    -  int cret = GNUTLS_E_AGAIN;
    -  /* Need to enable anonymous KX specifically. */
    -  const int kx_prio[] = { GNUTLS_KX_ANON_DH, 0 };
    -  char buffer[MAX_BUF + 1];
    -  ssize_t ns;
    -  int ret, transferred = 0;
    -
    -  /* General init. */
    -  gnutls_global_init ();
    -  gnutls_global_set_log_function (tls_log_func);
    -  if (debug)
    -    gnutls_global_set_log_level (99);
    -
    -  /* Init server */
    -  gnutls_anon_allocate_server_credentials (&s_anoncred);
    -  gnutls_dh_params_init (&dh_params);
    -  gnutls_dh_params_import_pkcs3 (dh_params, &p3, GNUTLS_X509_FMT_PEM);
    -  gnutls_anon_set_server_dh_params (s_anoncred, dh_params);
    -  gnutls_init (&server, GNUTLS_SERVER);
    -  gnutls_set_default_priority (server);
    -  gnutls_kx_set_priority (server, kx_prio);
    -  gnutls_credentials_set (server, GNUTLS_CRD_ANON, s_anoncred);
    -  gnutls_dh_set_prime_bits (server, 1024);
    -  gnutls_transport_set_push_function (server, server_push);
    -  gnutls_transport_set_pull_function (server, server_pull);
    -
    -  /* Init client */
    -  gnutls_anon_allocate_client_credentials (&c_anoncred);
    -  gnutls_init (&client, GNUTLS_CLIENT);
    -  gnutls_set_default_priority (client);
    -  gnutls_kx_set_priority (client, kx_prio);
    -  gnutls_credentials_set (client, GNUTLS_CRD_ANON, c_anoncred);
    -  gnutls_transport_set_push_function (client, client_push);
    -  gnutls_transport_set_pull_function (client, client_pull);
    -
    -  handshake = 1;
    -  do
    -    {
    -      if (cret == GNUTLS_E_AGAIN)
    -	{
    -	  //success ("loop invoking client:\n");
    -	  cret = gnutls_handshake (client);
    -	  //success ("client %d: %s\n", cret, gnutls_strerror (cret));
    -	}
    -
    -      if (sret == GNUTLS_E_AGAIN)
    -	{
    -	  //success ("loop invoking server:\n");
    -	  sret = gnutls_handshake (server);
    -	  //success ("server %d: %s\n", sret, gnutls_strerror (sret));
    -	}
    -    }
    -  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
    -  handshake = 0;
    -  success ("Handshake established\n");
    -
    -  ns = gnutls_record_send (client, MSG, strlen (MSG));
    -  //success ("client: sent %d\n", ns);
    -
    -  do 
    -    {
    -      //success("transferred: %d\n", transferred);
    -
    -      ret = gnutls_record_recv (server, buffer, MAX_BUF);
    -      if (ret == 0)
    -        fail ("server: didn't receive any data\n");
    -      else if (ret < 0) 
    -        {
    -          if (ret != GNUTLS_E_AGAIN) {
    -            fail ("server: error: %s\n", gnutls_strerror (ret));
    -            break;
    -          }
    -        } 
    -      else
    -        {
    -          transferred+=ret;
    -          fputs ("*", stdout);
    -        }
    -
    -    ns = gnutls_record_send (server, MSG, strlen (MSG));
    -    //success ("server: sent %d\n", ns);
    -
    -    ret = gnutls_record_recv (client, buffer, MAX_BUF);
    -    if (ret == 0)
    -      {
    -        fail ("client: Peer has closed the TLS connection\n");
    -      }
    -    else if (ret < 0)
    -      {
    -        if (ret != GNUTLS_E_AGAIN) {
    -          fail ("client: Error: %s\n", gnutls_strerror (ret));
    -          break;
    -        }
    -      }
    -    else
    -      {
    -        transferred+=ret;
    -        fputs (".", stdout);
    -      }
    -    }
    -  while (transferred < 7000);
    -  fputs ("\n", stdout);
    -
    -  gnutls_bye (client, GNUTLS_SHUT_RDWR);
    -  gnutls_bye (server, GNUTLS_SHUT_RDWR);
    -
    -  gnutls_deinit (client);
    -  gnutls_deinit (server);
    -
    -  free (to_server);
    -  free (to_client);
    -
    -  gnutls_anon_free_client_credentials (c_anoncred);
    -  gnutls_anon_free_server_credentials (s_anoncred);
    -
    -  gnutls_dh_params_deinit (dh_params);
    -
    -  gnutls_global_deinit ();
    -}
    diff -Nru gnutls26-2.8.6/tests/moredn.c gnutls26-2.4.1/tests/moredn.c
    --- gnutls26-2.8.6/tests/moredn.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/moredn.c	2008-06-19 11:00:10.000000000 +0100
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -50,10 +50,10 @@
       "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
       "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
       "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
    -  "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
    -static const gnutls_datum_t cert_datum = { (char *) cert_pem,
    -  sizeof (cert_pem)
    -};
    +  "dc8Siq5JojruiMizAf0pA7in\n"
    +  "-----END CERTIFICATE-----\n";
    +static const gnutls_datum_t cert_datum = { (char *)cert_pem,
    +					   sizeof (cert_pem) };
     
     void
     doit (void)
    @@ -67,7 +67,7 @@
     
       gnutls_global_init ();
     
    -  if (gnutls_x509_crt_init (&cert) == 0)
    +  if (gnutls_x509_crt_init(&cert) == 0)
         success ("success: cert init\n");
       else
         fail ("cert init failure\n");
    @@ -87,7 +87,8 @@
       if (rv == 0)
         success ("success: exported subject DN.\n");
       else
    -    fail ("FAIL: could not export subject DN: %s\n", gnutls_strerror (rv));
    +    fail ("FAIL: could not export subject DN: %s\n",
    +	  gnutls_strerror (rv));
     
       if (gnutls_x509_dn_init (&dn2) == 0)
         success ("success: init DN.\n");
    @@ -107,7 +108,8 @@
       if (rv == 0)
         success ("success: exported subject DN.\n");
       else
    -    fail ("FAIL: could not export subject DN: %s\n", gnutls_strerror (rv));
    +    fail ("FAIL: could not export subject DN: %s\n",
    +	  gnutls_strerror (rv));
     
       if (buflen == buf2len && memcmp (buf, buf2, buflen) == 0)
         success ("success: export/import/export match.\n");
    diff -Nru gnutls26-2.8.6/tests/mpi.c gnutls26-2.4.1/tests/mpi.c
    --- gnutls26-2.8.6/tests/mpi.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/mpi.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,80 +0,0 @@
    -/*
    - * Copyright (C) 2007 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -
    -#include "utils.h"
    -#include "../lib/gnutls_int.h"
    -#include "../lib/gnutls_mpi.h"
    -#include "../lib/debug.h"
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "|<%d>| %s", level, str);
    -}
    -
    -#define RND_BITS 510		/* not multiple of 8 */
    -void
    -doit (void)
    -{
    -  int rc;
    -  bigint_t n1, n2, n3, n4;
    -
    -  gnutls_global_init ();
    -
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (99);
    -
    -  n1 = _gnutls_mpi_new (1000);
    -  if (n1 == NULL)
    -    fail ("mpi_new failed\n");
    -
    -  n2 = _gnutls_mpi_set_ui (NULL, 2);
    -  if (n2 == NULL)
    -    fail ("mpi_set_ui failed\n");
    -
    -  n3 = _gnutls_mpi_set_ui (NULL, 5);
    -  if (n3 == NULL)
    -    fail ("mpi_set_ui failed\n");
    -
    -  _gnutls_mpi_randomize (n1, RND_BITS, GNUTLS_RND_NONCE);
    -
    -  _gnutls_dump_mpi ("rand:", n1);
    -
    -  rc = _gnutls_mpi_get_nbits (n1);
    -  if (rc > RND_BITS)
    -    fail ("mpi_get_nbits failed... returned %d\n", rc);
    -
    -  n4 = _gnutls_mpi_addm (NULL, n1, n3, n2);
    -  if (n4 == NULL)
    -    fail ("mpi_set_ui failed\n");
    -
    -  if (_gnutls_mpi_cmp_ui (n4, 0) != 0 && _gnutls_mpi_cmp_ui (n4, 1) != 0)
    -    fail ("mpi_cmp_ui failed\n");
    -
    -  success ("mpi ops ok\n");
    -}
    diff -Nru gnutls26-2.8.6/tests/netconf-psk.c gnutls26-2.4.1/tests/netconf-psk.c
    --- gnutls26-2.8.6/tests/netconf-psk.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/netconf-psk.c	2008-06-30 21:45:51.000000000 +0100
    @@ -20,7 +20,7 @@
      * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
      */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -34,12 +34,6 @@
     
     #include "utils.h"
     
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "<%d>| %s", level, str);
    -}
    -
     void
     doit (void)
     {
    @@ -50,9 +44,6 @@
     
       gnutls_global_init ();
     
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (2);
    -
       if (gnutls_psk_netconf_derive_key ("password", "psk_identity",
     				     "psk_identity_hint", &key) == 0)
         success ("success: gnutls_psk_netconf_derive_key\n");
    diff -Nru gnutls26-2.8.6/tests/openpgp/keyring.c gnutls26-2.4.1/tests/openpgp/keyring.c
    --- gnutls26-2.8.6/tests/openpgp/keyring.c	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/openpgp/keyring.c	2008-06-30 21:45:51.000000000 +0100
    @@ -0,0 +1,227 @@
    +/*
    + * Copyright (C) 2007 Free Software Foundation
    + * Author: Ludovic Courtès, Timo Schulz
    + *
    + * This file is part of GNUTLS.
    + *
    + * GNUTLS 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 3 of the License, or
    + * (at your option) any later version.
    + *
    + * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    + */
    +
    +#ifdef HAVE_CONFIG_H
    +# include "config.h"
    +#endif
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +#include "utils.h"
    +
    +/* A hex-encoded raw OpenPGP keyring.  This is a copy of (`sha1sum' output):
    +   5fdce61bff528070dfabdd237d91be618c353b4e  src/openpgp/cli_ring.gpg  */
    +static unsigned char raw_keyring[] = {
    +0x99, 0x01, 0xA2, 0x04, 0x3C, 0x67, 0x95, 0x8D, 0x11, 0x04, 0x00, 0x80, 
    +0xB1, 0x65, 0x21, 0x8B, 0xF8, 0x28, 0x06, 0xFA, 0x6F, 0x4C, 0x18, 0x0B, 
    +0xF1, 0xF1, 0x4F, 0xC0, 0x10, 0x2E, 0x0F, 0x4E, 0x15, 0x60, 0x51, 0x2D, 
    +0x0B, 0xBF, 0xB8, 0xA4, 0x1A, 0x7A, 0x90, 0x5B, 0x07, 0x8D, 0x44, 0x7B, 
    +0x4D, 0x35, 0x24, 0x06, 0xC3, 0xA4, 0xD8, 0xFB, 0xCC, 0x1E, 0xB0, 0xDD, 
    +0xBF, 0x4F, 0x82, 0xE3, 0x1D, 0x82, 0x1F, 0xC6, 0x06, 0x3F, 0x57, 0xBE, 
    +0x3B, 0x47, 0xF6, 0xC8, 0xB5, 0xA4, 0xF1, 0x4B, 0xBE, 0x92, 0x41, 0x75, 
    +0xDB, 0x28, 0xAA, 0x6D, 0xBB, 0xC3, 0x12, 0x20, 0x9D, 0x78, 0x94, 0xFA, 
    +0x73, 0x7B, 0xC8, 0xB2, 0xD6, 0x3C, 0xBC, 0x9F, 0x49, 0xB2, 0x8E, 0x60, 
    +0xFC, 0xB0, 0x7C, 0x5E, 0x08, 0x2A, 0xF3, 0xC4, 0x7B, 0x8D, 0x71, 0x52, 
    +0xDE, 0x11, 0xFE, 0x58, 0x2E, 0x6F, 0xFF, 0xA3, 0xFA, 0x48, 0x04, 0x5F, 
    +0xCD, 0x79, 0x78, 0xE7, 0xB7, 0x15, 0x7B, 0x00, 0xA0, 0xBF, 0x14, 0x9F, 
    +0x1A, 0xC9, 0xBD, 0x98, 0x5A, 0x2C, 0xA4, 0x9D, 0x01, 0xDD, 0x11, 0xB2, 
    +0x83, 0x93, 0x01, 0xD1, 0xDF, 0x03, 0xFD, 0x14, 0x10, 0xAF, 0x22, 0x42, 
    +0x19, 0xD4, 0x76, 0x9C, 0xB7, 0xB8, 0x55, 0xF7, 0x2D, 0x3C, 0xBD, 0x90, 
    +0x04, 0x3F, 0xF5, 0x5E, 0x1B, 0x6E, 0x6E, 0xA1, 0x1B, 0x7A, 0xD6, 0x95, 
    +0x3F, 0x1B, 0x2C, 0xAA, 0xB2, 0x5D, 0x03, 0xE7, 0xA9, 0x94, 0x14, 0x53, 
    +0xED, 0x41, 0xE8, 0x91, 0x20, 0x5A, 0x84, 0xCF, 0x20, 0x99, 0x29, 0x8D, 
    +0xB9, 0x2A, 0xCB, 0x0E, 0xE8, 0xCF, 0x7C, 0x4B, 0x5A, 0x32, 0x0E, 0x98, 
    +0x22, 0x40, 0x7E, 0x2A, 0xAD, 0x15, 0x78, 0x92, 0xC4, 0xD1, 0xC5, 0xD3, 
    +0x64, 0x81, 0xF6, 0xF4, 0xA2, 0x65, 0x23, 0xFA, 0xA4, 0xD7, 0x11, 0xB8, 
    +0x2B, 0xB0, 0xFA, 0x07, 0x47, 0x0A, 0x68, 0x70, 0xBF, 0x2F, 0x80, 0x48, 
    +0xA0, 0xA7, 0x10, 0x2C, 0x9C, 0xDF, 0x4C, 0x83, 0xF0, 0xDD, 0xFA, 0xD2, 
    +0xE2, 0x35, 0x5E, 0x35, 0xA4, 0x19, 0x34, 0x74, 0x95, 0xA9, 0x9F, 0x3F, 
    +0x56, 0x63, 0x8C, 0x03, 0xFF, 0x6B, 0x90, 0xDB, 0x5C, 0x71, 0x0E, 0x11, 
    +0x55, 0xDF, 0x56, 0x4C, 0x5A, 0x07, 0x2A, 0xF4, 0xF8, 0xBD, 0xF8, 0x88, 
    +0x48, 0x43, 0x88, 0xCC, 0xA1, 0xA6, 0x70, 0x16, 0x3D, 0x1F, 0x29, 0xAA, 
    +0xEC, 0xC0, 0x9C, 0x8B, 0x79, 0x8D, 0x7B, 0x80, 0x83, 0x22, 0x69, 0x2F, 
    +0x66, 0x09, 0xE3, 0x0E, 0x52, 0x40, 0x33, 0xDD, 0x42, 0x5F, 0x53, 0x83, 
    +0xB6, 0x13, 0xCB, 0x06, 0xAB, 0xF2, 0x86, 0x73, 0x21, 0x87, 0x10, 0xE7, 
    +0x68, 0x39, 0x78, 0x36, 0x1E, 0x36, 0xB8, 0xF3, 0x12, 0xAF, 0xD2, 0x44, 
    +0x5B, 0x62, 0x30, 0xA0, 0x86, 0xC5, 0x9D, 0xED, 0x74, 0x8A, 0x11, 0x93, 
    +0x3B, 0x89, 0x41, 0x4B, 0x50, 0xB6, 0xF1, 0x47, 0xD2, 0x18, 0x43, 0x26, 
    +0xFF, 0xC2, 0x41, 0x32, 0xDC, 0x40, 0x8D, 0xB6, 0x32, 0xDC, 0x16, 0x33, 
    +0x52, 0xD0, 0x8C, 0x03, 0xE6, 0xC6, 0x04, 0x6E, 0x95, 0xA1, 0xEE, 0x62, 
    +0xE4, 0xB4, 0x25, 0x44, 0x72, 0x2E, 0x20, 0x57, 0x68, 0x6F, 0x20, 0x28, 
    +0x4E, 0x6F, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x29, 
    +0x20, 0x3C, 0x77, 0x68, 0x6F, 0x40, 0x77, 0x68, 0x6F, 0x69, 0x73, 0x2E, 
    +0x6F, 0x72, 0x67, 0x3E, 0x88, 0x5D, 0x04, 0x13, 0x11, 0x02, 0x00, 0x1D, 
    +0x05, 0x02, 0x3C, 0x67, 0x95, 0x8D, 0x05, 0x09, 0x03, 0xC2, 0x67, 0x00, 
    +0x05, 0x0B, 0x07, 0x0A, 0x03, 0x04, 0x03, 0x15, 0x03, 0x02, 0x03, 0x16, 
    +0x02, 0x01, 0x02, 0x17, 0x80, 0x00, 0x0A, 0x09, 0x10, 0x35, 0x14, 0x5C, 
    +0xEA, 0xA7, 0xD9, 0x3C, 0x3F, 0x96, 0x58, 0x00, 0x9F, 0x78, 0x99, 0xCB, 
    +0xC9, 0xF6, 0xE9, 0x4C, 0x30, 0x7B, 0x98, 0x38, 0x77, 0x68, 0x04, 0xDB, 
    +0xFB, 0x43, 0xD7, 0xCF, 0x6F, 0x00, 0xA0, 0xA4, 0x5D, 0x02, 0x90, 0x55, 
    +0x33, 0xA0, 0x6D, 0xCB, 0xEB, 0xD6, 0xC9, 0x71, 0xFA, 0x1D, 0xF1, 0x7A, 
    +0x65, 0x38, 0xFE, 0x99, 0x01, 0xA2, 0x04, 0x3C, 0x4A, 0xC5, 0x6C, 0x11, 
    +0x04, 0x00, 0xE7, 0x2E, 0x76, 0xB6, 0x2E, 0xEF, 0xA9, 0xA3, 0xBD, 0x59, 
    +0x40, 0x93, 0x29, 0x24, 0x18, 0x05, 0x0C, 0x02, 0xD7, 0x02, 0x9D, 0x6C, 
    +0xA2, 0x06, 0x6E, 0xFC, 0x34, 0xC8, 0x60, 0x38, 0x62, 0x7C, 0x64, 0x3E, 
    +0xB1, 0xA6, 0x52, 0xA7, 0xAF, 0x1D, 0x37, 0xCF, 0x46, 0xFC, 0x50, 0x5A, 
    +0xC1, 0xE0, 0xC6, 0x99, 0xB3, 0x78, 0x95, 0xB4, 0xBC, 0xB3, 0xE5, 0x35, 
    +0x41, 0xFF, 0xDA, 0x47, 0x66, 0xD6, 0x16, 0x8C, 0x2B, 0x8A, 0xAF, 0xD6, 
    +0xAB, 0x22, 0x46, 0x6D, 0x06, 0xD1, 0x80, 0x34, 0xD5, 0xDA, 0xC6, 0x98, 
    +0xE6, 0x99, 0x3B, 0xA5, 0xB3, 0x50, 0xFF, 0x82, 0x2E, 0x1C, 0xD8, 0x70, 
    +0x2A, 0x75, 0x11, 0x4E, 0x8B, 0x73, 0xA6, 0xB0, 0x9C, 0xB3, 0xB9, 0x3C, 
    +0xE4, 0x4D, 0xBB, 0x51, 0x6C, 0x9B, 0xB5, 0xF9, 0x5B, 0xB6, 0x66, 0x18, 
    +0x86, 0x02, 0xA0, 0xA1, 0x44, 0x72, 0x36, 0xC0, 0x65, 0x8F, 0x00, 0xA0, 
    +0x8F, 0x5B, 0x5E, 0x78, 0xD8, 0x5F, 0x79, 0x2C, 0xC2, 0x07, 0x2F, 0x94, 
    +0x74, 0x64, 0x57, 0x26, 0xFB, 0x4D, 0x93, 0x73, 0x03, 0xFE, 0x35, 0x78, 
    +0xD6, 0x89, 0xD6, 0x60, 0x6E, 0x91, 0x18, 0xE9, 0xF9, 0xA7, 0x04, 0x2B, 
    +0x96, 0x3C, 0xF2, 0x3F, 0x3D, 0x8F, 0x13, 0x77, 0xA2, 0x73, 0xC0, 0xF0, 
    +0x97, 0x4D, 0xBF, 0x44, 0xB3, 0xCA, 0xBC, 0xBE, 0x14, 0xDD, 0x64, 0x41, 
    +0x25, 0x55, 0x86, 0x3E, 0x39, 0xA9, 0xC6, 0x27, 0x66, 0x2D, 0x77, 0xAC, 
    +0x36, 0x66, 0x2A, 0xE4, 0x49, 0x79, 0x2C, 0x32, 0x62, 0xD3, 0xF1, 0x2E, 
    +0x98, 0x32, 0xA7, 0x56, 0x53, 0x09, 0xD6, 0x7B, 0xA0, 0xAE, 0x4D, 0xF2, 
    +0x5F, 0x5E, 0xDA, 0x09, 0x37, 0x05, 0x6A, 0xD5, 0xBE, 0x89, 0xF4, 0x06, 
    +0x9E, 0xBD, 0x7E, 0xC7, 0x6C, 0xE4, 0x32, 0x44, 0x1D, 0xF5, 0xD5, 0x2F, 
    +0xFF, 0xD0, 0x6D, 0x39, 0xE5, 0xF6, 0x1E, 0x36, 0x94, 0x7B, 0x69, 0x8A, 
    +0x77, 0xCB, 0x62, 0xAB, 0x81, 0xE4, 0xA4, 0x12, 0x2B, 0xF9, 0x05, 0x06, 
    +0x71, 0xD9, 0x94, 0x6C, 0x86, 0x5E, 0x04, 0x00, 0xD0, 0x61, 0x43, 0x7A, 
    +0x96, 0x4D, 0xDE, 0x31, 0x88, 0x18, 0xC2, 0xB2, 0x4D, 0xE0, 0x08, 0xE6, 
    +0x00, 0x96, 0xB6, 0x0D, 0xB8, 0xA6, 0x84, 0xB8, 0x5A, 0x83, 0x8D, 0x11, 
    +0x9F, 0xC9, 0x30, 0x31, 0x18, 0x89, 0xAD, 0x57, 0xA3, 0xB9, 0x27, 0xF4, 
    +0x48, 0xF8, 0x4E, 0xB2, 0x53, 0xC6, 0x23, 0xED, 0xA7, 0x3B, 0x42, 0xFF, 
    +0x78, 0xBC, 0xE6, 0x3A, 0x6A, 0x53, 0x1D, 0x75, 0xA6, 0x4C, 0xE8, 0x54, 
    +0x05, 0x13, 0x80, 0x8E, 0x9F, 0x5B, 0x10, 0xCE, 0x07, 0x5D, 0x34, 0x17, 
    +0xB8, 0x01, 0x16, 0x49, 0x18, 0xB1, 0x31, 0xD3, 0x54, 0x4C, 0x87, 0x65, 
    +0xA8, 0xEC, 0xB9, 0x97, 0x1F, 0x61, 0xA0, 0x9F, 0xC7, 0x3D, 0x50, 0x98, 
    +0x06, 0x10, 0x6B, 0x59, 0x77, 0xD2, 0x11, 0xCB, 0x0E, 0x1D, 0x04, 0xD0, 
    +0xED, 0x96, 0xBC, 0xE8, 0x9B, 0xAE, 0x8F, 0x73, 0xD8, 0x00, 0xB0, 0x52, 
    +0x13, 0x9C, 0xBF, 0x8D, 0xB4, 0x49, 0x4F, 0x70, 0x65, 0x6E, 0x43, 0x44, 
    +0x4B, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6B, 0x65, 0x79, 0x20, 0x28, 
    +0x4F, 0x6E, 0x6C, 0x79, 0x20, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x65, 
    +0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x70, 
    +0x75, 0x72, 0x70, 0x6F, 0x73, 0x65, 0x73, 0x21, 0x29, 0x20, 0x3C, 0x6F, 
    +0x70, 0x65, 0x6E, 0x63, 0x64, 0x6B, 0x40, 0x66, 0x6F, 0x6F, 0x2D, 0x62, 
    +0x61, 0x72, 0x2E, 0x6F, 0x72, 0x67, 0x3E, 0x88, 0x62, 0x04, 0x13, 0x11, 
    +0x02, 0x00, 0x1A, 0x05, 0x02, 0x3C, 0x4A, 0xC5, 0x6C, 0x05, 0x0B, 0x07, 
    +0x0A, 0x03, 0x04, 0x03, 0x15, 0x03, 0x02, 0x03, 0x16, 0x02, 0x01, 0x02, 
    +0x1E, 0x01, 0x02, 0x17, 0x80, 0x00, 0x12, 0x09, 0x10, 0xBD, 0x57, 0x2C, 
    +0xDC, 0xCC, 0xC0, 0x7C, 0x35, 0x07, 0x65, 0x47, 0x50, 0x47, 0x00, 0x01, 
    +0x01, 0x81, 0xC1, 0x00, 0x9C, 0x0E, 0x12, 0x8D, 0x8E, 0xD4, 0x44, 0x7C, 
    +0x6D, 0xCB, 0xCE, 0x61, 0x50, 0xD9, 0xCD, 0x86, 0xE2, 0x0D, 0x84, 0x59, 
    +0xA5, 0x00, 0x9F, 0x66, 0x81, 0x66, 0x2C, 0x80, 0xC6, 0xAA, 0xCF, 0x1D, 
    +0x2D, 0x2B, 0xC2, 0x04, 0xF0, 0x82, 0xFE, 0x80, 0xD3, 0xDB, 0xA4, 0xB9, 
    +0x01, 0x0D, 0x04, 0x3C, 0x4A, 0xC5, 0x6F, 0x10, 0x04, 0x00, 0xE2, 0x01, 
    +0x56, 0x52, 0x60, 0x69, 0xD0, 0x67, 0xD2, 0x4F, 0x4D, 0x71, 0xE6, 0xD3, 
    +0x86, 0x58, 0xE0, 0x8B, 0xE3, 0xBF, 0x24, 0x6C, 0x1A, 0xDC, 0xE0, 0x8D, 
    +0xB6, 0x9C, 0xD8, 0xD4, 0x59, 0xC1, 0xED, 0x33, 0x57, 0x38, 0x41, 0x07, 
    +0x98, 0x75, 0x5A, 0xFD, 0xB7, 0x9F, 0x17, 0x97, 0xCF, 0x02, 0x2E, 0x70, 
    +0xC7, 0x96, 0x0F, 0x12, 0xCA, 0x68, 0x96, 0xD2, 0x7C, 0xFD, 0x24, 0xA1, 
    +0x1C, 0xD3, 0x16, 0xDD, 0xE1, 0xFB, 0xCC, 0x1E, 0xA6, 0x15, 0xC5, 0xC3, 
    +0x1F, 0xEC, 0x65, 0x6E, 0x46, 0x70, 0x78, 0xC8, 0x75, 0xFC, 0x50, 0x9B, 
    +0x1E, 0xCB, 0x99, 0xC8, 0xB5, 0x6C, 0x2D, 0x87, 0x5C, 0x50, 0xE2, 0x01, 
    +0x8B, 0x5B, 0x0F, 0xA3, 0x78, 0x60, 0x6E, 0xB6, 0x42, 0x5A, 0x25, 0x33, 
    +0x83, 0x0F, 0x55, 0xFD, 0x21, 0xD6, 0x49, 0x01, 0x56, 0x15, 0xD4, 0x9A, 
    +0x1D, 0x09, 0xE9, 0x51, 0x0F, 0x5F, 0x00, 0x03, 0x05, 0x04, 0x00, 0xD0, 
    +0xBD, 0xAD, 0xE4, 0x04, 0x32, 0x75, 0x86, 0x75, 0xC8, 0x7D, 0x07, 0x30, 
    +0xC3, 0x60, 0x98, 0x14, 0x67, 0xBA, 0xE1, 0xBE, 0xB6, 0xCC, 0x10, 0x5A, 
    +0x3C, 0x1F, 0x36, 0x6B, 0xFD, 0xBE, 0xA1, 0x2E, 0x37, 0x84, 0x56, 0x51, 
    +0x32, 0x38, 0xB8, 0xAD, 0x41, 0x4E, 0x52, 0xA2, 0xA9, 0x66, 0x1D, 0x1D, 
    +0xF1, 0xDB, 0x6B, 0xB5, 0xF3, 0x3F, 0x69, 0x06, 0x16, 0x61, 0x07, 0x55, 
    +0x6C, 0x81, 0x32, 0x24, 0x33, 0x0B, 0x30, 0x93, 0x2D, 0xB7, 0xC8, 0xCC, 
    +0x82, 0x25, 0x67, 0x2D, 0x7A, 0xE2, 0x4A, 0xF2, 0x46, 0x97, 0x50, 0xE5, 
    +0x39, 0xB6, 0x61, 0xEA, 0x64, 0x75, 0xD2, 0xE0, 0x3C, 0xD8, 0xD3, 0x83, 
    +0x8D, 0xC4, 0xA8, 0xAC, 0x4A, 0xFD, 0x21, 0x35, 0x36, 0xFE, 0x3E, 0x96, 
    +0xEC, 0x9D, 0x0A, 0xEA, 0x65, 0x16, 0x4B, 0x57, 0x6E, 0x01, 0xB3, 0x7A, 
    +0x8D, 0xCA, 0x89, 0xF2, 0xB2, 0x57, 0xD0, 0x88, 0x4E, 0x04, 0x18, 0x11, 
    +0x02, 0x00, 0x06, 0x05, 0x02, 0x3C, 0x4A, 0xC5, 0x6F, 0x00, 0x12, 0x09, 
    +0x10, 0xBD, 0x57, 0x2C, 0xDC, 0xCC, 0xC0, 0x7C, 0x35, 0x07, 0x65, 0x47, 
    +0x50, 0x47, 0x00, 0x01, 0x01, 0x75, 0x66, 0x00, 0x9F, 0x60, 0x1E, 0x1F, 
    +0x99, 0xE0, 0xB0, 0x7C, 0x77, 0xE6, 0x7F, 0x3E, 0xEC, 0xA1, 0xE1, 0x9F, 
    +0x94, 0x63, 0xD3, 0x73, 0x67, 0x00, 0x9F, 0x6A, 0xC6, 0x9E, 0xB4, 0x11, 
    +0x9A, 0x6F, 0xFB, 0xF4, 0x49, 0xE7, 0xD1, 0x54, 0xD8, 0x2E, 0x05, 0xD4, 
    +0x08, 0x61, 0xDB };
    +
    +/* The ID of a key known to be in the above keyring.  */
    +static const gnutls_openpgp_keyid_t id_in_keyring =
    +  /* "Dr. Who", first key in the keyring */
    +  { 0x35, 0x14, 0x5c, 0xea,
    +    0xa7, 0xd9, 0x3c, 0x3f };
    +
    +static const gnutls_openpgp_keyid_t id2_in_keyring =
    +  /* OpenCDK test key, second key in the keyring */
    +  { 0xbd, 0x57, 0x2c, 0xdc,
    +    0xcc, 0xc0, 0x7c, 0x35 };
    +
    +static const gnutls_openpgp_keyid_t id_not_in_keyring =
    +  { 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00 };
    +
    +
    +void
    +doit (void)
    +{
    +  gnutls_openpgp_keyring_t keyring;
    +  gnutls_datum_t data;
    +  int ret;
    +
    +  ret = gnutls_global_init ();
    +  if (ret < 0)
    +    fail ("init %d\n", ret);
    +
    +  ret = gnutls_global_init_extra ();
    +  if (ret < 0)
    +    fail ("extra-init %d\n", ret);
    +
    +  ret = gnutls_openpgp_keyring_init (&keyring);
    +  if (ret < 0)
    +    fail ("keyring-init %d\n", ret);
    +  
    +  data.data = raw_keyring;
    +  data.size = sizeof (raw_keyring) / sizeof (raw_keyring[0]);
    +  ret = gnutls_openpgp_keyring_import (keyring, &data,
    +				       GNUTLS_OPENPGP_FMT_RAW);
    +  if (ret < 0)
    +    fail ("keyring-import %d\n", ret);
    +  
    +  ret = gnutls_openpgp_keyring_check_id (keyring, id_not_in_keyring, 0);
    +  if (ret == 0)
    +    fail ("keyring-check-id (not-in-keyring) %d\n", ret);
    +
    +  ret = gnutls_openpgp_keyring_check_id (keyring, id_in_keyring, 0);
    +  if (ret != 0)
    +    fail ("keyring-check-id first key %d\n", ret);
    +  
    +  ret = gnutls_openpgp_keyring_check_id (keyring, id2_in_keyring, 0);
    +  if (ret != 0)
    +    fail ("keyring-check-id second key %d\n", ret);
    +
    +  success ("done\n");
    +
    +  gnutls_openpgp_keyring_deinit (keyring);
    +  gnutls_global_deinit ();
    +}
    +
    +/* Local Variables:
    +   coding: latin-1
    +   End:
    + */
    diff -Nru gnutls26-2.8.6/tests/openpgp/Makefile.am gnutls26-2.4.1/tests/openpgp/Makefile.am
    --- gnutls26-2.8.6/tests/openpgp/Makefile.am	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/openpgp/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -0,0 +1,42 @@
    +## Process this file with automake to produce Makefile.in
    +# Copyright (C) 2007 Free Software Foundation
    +#
    +# Author: Ludovic Courtès.
    +#
    +# This file is part of GNUTLS.
    +#
    +# 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 3 of the License, or
    +# (at your option) any later version.
    +#
    +# This file 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 file; if not, write to the Free Software Foundation,
    +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +
    +openpgp_sources = keyring.c
    +
    +if ENABLE_OPENPGP
    +TESTS_ENVIRONMENT = $(VALGRIND)
    +
    +TESTS = keyring
    +
    +check_PROGRAMS = keyring
    +
    +AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes	\
    +	      -I$(top_srcdir)/tests
    +LDADD = -L$(top_builddir)/libextra -lgnutls-extra	\
    +        -L$(top_builddir)/lib      -lgnutls		\
    +	-L$(top_builddir)/tests    -lutils
    +
    +else
    +
    +EXTRA_DIST = $(openpgp_sources)
    +
    +endif
    +
    diff -Nru gnutls26-2.8.6/tests/openpgp/Makefile.in gnutls26-2.4.1/tests/openpgp/Makefile.in
    --- gnutls26-2.8.6/tests/openpgp/Makefile.in	1970-01-01 01:00:00.000000000 +0100
    +++ gnutls26-2.4.1/tests/openpgp/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -0,0 +1,903 @@
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
    +# @configure_input@
    +
    +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    +# 2003, 2004, 2005, 2006, 2007, 2008  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@
    +
    +# Copyright (C) 2007 Free Software Foundation
    +#
    +# Author: Ludovic Courtès.
    +#
    +# This file is part of GNUTLS.
    +#
    +# 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 3 of the License, or
    +# (at your option) any later version.
    +#
    +# This file 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 file; if not, write to the Free Software Foundation,
    +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +VPATH = @srcdir@
    +pkgdatadir = $(datadir)/@PACKAGE@
    +pkglibdir = $(libdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
    +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
    +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 = :
    +build_triplet = @build@
    +host_triplet = @host@
    +@ENABLE_OPENPGP_TRUE@TESTS = keyring$(EXEEXT)
    +@ENABLE_OPENPGP_TRUE@check_PROGRAMS = keyring$(EXEEXT)
    +subdir = tests/openpgp
    +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
    +	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/extensions.m4 \
    +	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
    +	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
    +	$(top_srcdir)/gl/m4/getpass.m4 \
    +	$(top_srcdir)/gl/m4/gnulib-common.m4 \
    +	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/gl/m4/include_next.m4 \
    +	$(top_srcdir)/gl/m4/inet_ntop.m4 \
    +	$(top_srcdir)/gl/m4/inet_pton.m4 \
    +	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
    +	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
    +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    +	$(ACLOCAL_M4)
    +mkinstalldirs = $(install_sh) -d
    +CONFIG_HEADER = $(top_builddir)/config.h
    +CONFIG_CLEAN_FILES =
    +keyring_SOURCES = keyring.c
    +keyring_OBJECTS = keyring.$(OBJEXT)
    +keyring_LDADD = $(LDADD)
    +keyring_DEPENDENCIES =
    +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
    +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
    +am__depfiles_maybe = depfiles
    +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    +	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    +	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    +CCLD = $(CC)
    +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    +	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
    +	$(LDFLAGS) -o $@
    +SOURCES = keyring.c
    +DIST_SOURCES = keyring.c
    +ETAGS = etags
    +CTAGS = ctags
    +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    +ACLOCAL = @ACLOCAL@
    +ALLOCA = @ALLOCA@
    +ALLOCA_H = @ALLOCA_H@
    +AMTAR = @AMTAR@
    +AM_CFLAGS = @AM_CFLAGS@
    +AR = @AR@
    +ARPA_INET_H = @ARPA_INET_H@
    +AS = @AS@
    +AUTOCONF = @AUTOCONF@
    +AUTOHEADER = @AUTOHEADER@
    +AUTOMAKE = @AUTOMAKE@
    +AWK = @AWK@
    +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
    +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
    +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
    +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
    +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
    +CC = @CC@
    +CCDEPMODE = @CCDEPMODE@
    +CFLAGS = @CFLAGS@
    +CPP = @CPP@
    +CPPFLAGS = @CPPFLAGS@
    +CXX = @CXX@
    +CXXCPP = @CXXCPP@
    +CXXDEPMODE = @CXXDEPMODE@
    +CXXFLAGS = @CXXFLAGS@
    +CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
    +DEFS = @DEFS@
    +DEPDIR = @DEPDIR@
    +DLLTOOL = @DLLTOOL@
    +DSYMUTIL = @DSYMUTIL@
    +ECHO = @ECHO@
    +ECHO_C = @ECHO_C@
    +ECHO_N = @ECHO_N@
    +ECHO_T = @ECHO_T@
    +EGREP = @EGREP@
    +EOVERFLOW = @EOVERFLOW@
    +EXEEXT = @EXEEXT@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
    +FLOAT_H = @FLOAT_H@
    +GAA = @GAA@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
    +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
    +GNULIB_CHOWN = @GNULIB_CHOWN@
    +GNULIB_DUP2 = @GNULIB_DUP2@
    +GNULIB_ENVIRON = @GNULIB_ENVIRON@
    +GNULIB_FCHDIR = @GNULIB_FCHDIR@
    +GNULIB_FFLUSH = @GNULIB_FFLUSH@
    +GNULIB_FOPEN = @GNULIB_FOPEN@
    +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    +GNULIB_FREOPEN = @GNULIB_FREOPEN@
    +GNULIB_FSEEK = @GNULIB_FSEEK@
    +GNULIB_FSEEKO = @GNULIB_FSEEKO@
    +GNULIB_FTELL = @GNULIB_FTELL@
    +GNULIB_FTELLO = @GNULIB_FTELLO@
    +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    +GNULIB_GETCWD = @GNULIB_GETCWD@
    +GNULIB_GETDELIM = @GNULIB_GETDELIM@
    +GNULIB_GETLINE = @GNULIB_GETLINE@
    +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
    +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    +GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
    +GNULIB_INET_PTON = @GNULIB_INET_PTON@
    +GNULIB_LCHOWN = @GNULIB_LCHOWN@
    +GNULIB_LSEEK = @GNULIB_LSEEK@
    +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
    +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
    +GNULIB_MBSCHR = @GNULIB_MBSCHR@
    +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    +GNULIB_MBSLEN = @GNULIB_MBSLEN@
    +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
    +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
    +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
    +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    +GNULIB_MBSSEP = @GNULIB_MBSSEP@
    +GNULIB_MBSSPN = @GNULIB_MBSSPN@
    +GNULIB_MBSSTR = @GNULIB_MBSSTR@
    +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
    +GNULIB_MEMMEM = @GNULIB_MEMMEM@
    +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
    +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
    +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
    +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
    +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
    +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    +GNULIB_PUTENV = @GNULIB_PUTENV@
    +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
    +GNULIB_READLINK = @GNULIB_READLINK@
    +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    +GNULIB_RPMATCH = @GNULIB_RPMATCH@
    +GNULIB_SETENV = @GNULIB_SETENV@
    +GNULIB_SLEEP = @GNULIB_SLEEP@
    +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    +GNULIB_STPCPY = @GNULIB_STPCPY@
    +GNULIB_STPNCPY = @GNULIB_STPNCPY@
    +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
    +GNULIB_STRDUP = @GNULIB_STRDUP@
    +GNULIB_STRERROR = @GNULIB_STRERROR@
    +GNULIB_STRNDUP = @GNULIB_STRNDUP@
    +GNULIB_STRNLEN = @GNULIB_STRNLEN@
    +GNULIB_STRPBRK = @GNULIB_STRPBRK@
    +GNULIB_STRSEP = @GNULIB_STRSEP@
    +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
    +GNULIB_STRSTR = @GNULIB_STRSTR@
    +GNULIB_STRTOD = @GNULIB_STRTOD@
    +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    +GNULIB_UNSETENV = @GNULIB_UNSETENV@
    +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
    +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
    +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    +GREP = @GREP@
    +GTKDOC_CHECK = @GTKDOC_CHECK@
    +GUILE = @GUILE@
    +GUILE_CFLAGS = @GUILE_CFLAGS@
    +GUILE_CONFIG = @GUILE_CONFIG@
    +GUILE_LDFLAGS = @GUILE_LDFLAGS@
    +GUILE_SITE = @GUILE_SITE@
    +GUILE_TOOLS = @GUILE_TOOLS@
    +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
    +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
    +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
    +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
    +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
    +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
    +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
    +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
    +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
    +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
    +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
    +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
    +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
    +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    +HAVE_DUP2 = @HAVE_DUP2@
    +HAVE_FSEEKO = @HAVE_FSEEKO@
    +HAVE_FTELLO = @HAVE_FTELLO@
    +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
    +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    +HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    +HAVE_LIBZ = @HAVE_LIBZ@
    +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
    +HAVE_LSTAT = @HAVE_LSTAT@
    +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    +HAVE_MEMPCPY = @HAVE_MEMPCPY@
    +HAVE_MKDTEMP = @HAVE_MKDTEMP@
    +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
    +HAVE_OS_H = @HAVE_OS_H@
    +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
    +HAVE_READLINK = @HAVE_READLINK@
    +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
    +HAVE_RPMATCH = @HAVE_RPMATCH@
    +HAVE_SETENV = @HAVE_SETENV@
    +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
    +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
    +HAVE_SLEEP = @HAVE_SLEEP@
    +HAVE_STDINT_H = @HAVE_STDINT_H@
    +HAVE_STPCPY = @HAVE_STPCPY@
    +HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
    +HAVE_STRCASESTR = @HAVE_STRCASESTR@
    +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
    +HAVE_STRNDUP = @HAVE_STRNDUP@
    +HAVE_STRPBRK = @HAVE_STRPBRK@
    +HAVE_STRSEP = @HAVE_STRSEP@
    +HAVE_STRTOD = @HAVE_STRTOD@
    +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
    +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
    +HAVE_UNISTD_H = @HAVE_UNISTD_H@
    +HAVE_UNSETENV = @HAVE_UNSETENV@
    +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
    +HAVE_VASPRINTF = @HAVE_VASPRINTF@
    +HAVE_WCHAR_H = @HAVE_WCHAR_H@
    +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
    +HAVE__BOOL = @HAVE__BOOL@
    +HTML_DIR = @HTML_DIR@
    +INCLUDE_NEXT = @INCLUDE_NEXT@
    +INSTALL = @INSTALL@
    +INSTALL_DATA = @INSTALL_DATA@
    +INSTALL_PROGRAM = @INSTALL_PROGRAM@
    +INSTALL_SCRIPT = @INSTALL_SCRIPT@
    +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
    +LDFLAGS = @LDFLAGS@
    +LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
    +LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
    +LIBINTL = @LIBINTL@
    +LIBOBJS = @LIBOBJS@
    +LIBREADLINE = @LIBREADLINE@
    +LIBS = @LIBS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
    +LIBTOOL = @LIBTOOL@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
    +LN_S = @LN_S@
    +LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
    +LTLIBINTL = @LTLIBINTL@
    +LTLIBOBJS = @LTLIBOBJS@
    +LTLIBREADLINE = @LTLIBREADLINE@
    +LTLIBZ = @LTLIBZ@
    +LT_AGE = @LT_AGE@
    +LT_CURRENT = @LT_CURRENT@
    +LT_REVISION = @LT_REVISION@
    +LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
    +MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
    +MKDIR_P = @MKDIR_P@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
    +NETINET_IN_H = @NETINET_IN_H@
    +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    +NEXT_FLOAT_H = @NEXT_FLOAT_H@
    +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
    +NEXT_STDARG_H = @NEXT_STDARG_H@
    +NEXT_STDINT_H = @NEXT_STDINT_H@
    +NEXT_STDIO_H = @NEXT_STDIO_H@
    +NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
    +NEXT_STRING_H = @NEXT_STRING_H@
    +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
    +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
    +NEXT_UNISTD_H = @NEXT_UNISTD_H@
    +NEXT_WCHAR_H = @NEXT_WCHAR_H@
    +NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
    +OBJDUMP = @OBJDUMP@
    +OBJEXT = @OBJEXT@
    +PACKAGE = @PACKAGE@
    +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
    +PACKAGE_NAME = @PACKAGE_NAME@
    +PACKAGE_STRING = @PACKAGE_STRING@
    +PACKAGE_TARNAME = @PACKAGE_TARNAME@
    +PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
    +PATH_SEPARATOR = @PATH_SEPARATOR@
    +PKG_CONFIG = @PKG_CONFIG@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
    +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
    +RANLIB = @RANLIB@
    +REPLACE_CHOWN = @REPLACE_CHOWN@
    +REPLACE_FCHDIR = @REPLACE_FCHDIR@
    +REPLACE_FFLUSH = @REPLACE_FFLUSH@
    +REPLACE_FOPEN = @REPLACE_FOPEN@
    +REPLACE_FPRINTF = @REPLACE_FPRINTF@
    +REPLACE_FREOPEN = @REPLACE_FREOPEN@
    +REPLACE_FSEEK = @REPLACE_FSEEK@
    +REPLACE_FSEEKO = @REPLACE_FSEEKO@
    +REPLACE_FTELL = @REPLACE_FTELL@
    +REPLACE_FTELLO = @REPLACE_FTELLO@
    +REPLACE_GETCWD = @REPLACE_GETCWD@
    +REPLACE_GETLINE = @REPLACE_GETLINE@
    +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    +REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
    +REPLACE_LSEEK = @REPLACE_LSEEK@
    +REPLACE_MEMMEM = @REPLACE_MEMMEM@
    +REPLACE_MKDIR = @REPLACE_MKDIR@
    +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
    +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    +REPLACE_PRINTF = @REPLACE_PRINTF@
    +REPLACE_PUTENV = @REPLACE_PUTENV@
    +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
    +REPLACE_SPRINTF = @REPLACE_SPRINTF@
    +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    +REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
    +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
    +REPLACE_STRSTR = @REPLACE_STRSTR@
    +REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
    +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
    +REPLACE_VPRINTF = @REPLACE_VPRINTF@
    +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
    +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    +SED = @SED@
    +SET_MAKE = @SET_MAKE@
    +SHELL = @SHELL@
    +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
    +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
    +STDARG_H = @STDARG_H@
    +STDBOOL_H = @STDBOOL_H@
    +STDINT_H = @STDINT_H@
    +STRIP = @STRIP@
    +SYS_SOCKET_H = @SYS_SOCKET_H@
    +SYS_STAT_H = @SYS_STAT_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
    +VALGRIND = @VALGRIND@
    +VERSION = @VERSION@
    +VOID_UNSETENV = @VOID_UNSETENV@
    +WCHAR_H = @WCHAR_H@
    +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    +WINT_T_SUFFIX = @WINT_T_SUFFIX@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
    +abs_builddir = @abs_builddir@
    +abs_srcdir = @abs_srcdir@
    +abs_top_builddir = @abs_top_builddir@
    +abs_top_srcdir = @abs_top_srcdir@
    +ac_ct_CC = @ac_ct_CC@
    +ac_ct_CXX = @ac_ct_CXX@
    +ac_ct_F77 = @ac_ct_F77@
    +am__include = @am__include@
    +am__leading_dot = @am__leading_dot@
    +am__quote = @am__quote@
    +am__tar = @am__tar@
    +am__untar = @am__untar@
    +bindir = @bindir@
    +build = @build@
    +build_alias = @build_alias@
    +build_cpu = @build_cpu@
    +build_os = @build_os@
    +build_vendor = @build_vendor@
    +builddir = @builddir@
    +datadir = @datadir@
    +datarootdir = @datarootdir@
    +docdir = @docdir@
    +dvidir = @dvidir@
    +exec_prefix = @exec_prefix@
    +gl_LIBOBJS = @gl_LIBOBJS@
    +gl_LTLIBOBJS = @gl_LTLIBOBJS@
    +gltests_LIBOBJS = @gltests_LIBOBJS@
    +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
    +guile_snarf = @guile_snarf@
    +host = @host@
    +host_alias = @host_alias@
    +host_cpu = @host_cpu@
    +host_os = @host_os@
    +host_vendor = @host_vendor@
    +htmldir = @htmldir@
    +includedir = @includedir@
    +infodir = @infodir@
    +install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
    +libdir = @libdir@
    +libexecdir = @libexecdir@
    +localedir = @localedir@
    +localstatedir = @localstatedir@
    +mandir = @mandir@
    +mkdir_p = @mkdir_p@
    +oldincludedir = @oldincludedir@
    +pdfdir = @pdfdir@
    +prefix = @prefix@
    +program_transform_name = @program_transform_name@
    +psdir = @psdir@
    +sbindir = @sbindir@
    +sharedstatedir = @sharedstatedir@
    +srcdir = @srcdir@
    +sysconfdir = @sysconfdir@
    +target_alias = @target_alias@
    +top_build_prefix = @top_build_prefix@
    +top_builddir = @top_builddir@
    +top_srcdir = @top_srcdir@
    +openpgp_sources = keyring.c
    +@ENABLE_OPENPGP_TRUE@TESTS_ENVIRONMENT = $(VALGRIND)
    +@ENABLE_OPENPGP_TRUE@AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes	\
    +@ENABLE_OPENPGP_TRUE@	      -I$(top_srcdir)/tests
    +
    +@ENABLE_OPENPGP_TRUE@LDADD = -L$(top_builddir)/libextra -lgnutls-extra	\
    +@ENABLE_OPENPGP_TRUE@        -L$(top_builddir)/lib      -lgnutls		\
    +@ENABLE_OPENPGP_TRUE@	-L$(top_builddir)/tests    -lutils
    +
    +@ENABLE_OPENPGP_FALSE@EXTRA_DIST = $(openpgp_sources)
    +all: all-am
    +
    +.SUFFIXES:
    +.SUFFIXES: .c .lo .o .obj
    +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    +	@for dep in $?; do \
    +	  case '$(am__configure_deps)' in \
    +	    *$$dep*) \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
    +	      exit 1;; \
    +	  esac; \
    +	done; \
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/openpgp/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/openpgp/Makefile
    +.PRECIOUS: Makefile
    +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    +	@case '$?' in \
    +	  *config.status*) \
    +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
    +	  *) \
    +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
    +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    +	esac;
    +
    +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +$(top_srcdir)/configure:  $(am__configure_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +clean-checkPROGRAMS:
    +	@list='$(check_PROGRAMS)'; for p in $$list; do \
    +	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
    +	  echo " rm -f $$p $$f"; \
    +	  rm -f $$p $$f ; \
    +	done
    +keyring$(EXEEXT): $(keyring_OBJECTS) $(keyring_DEPENDENCIES) 
    +	@rm -f keyring$(EXEEXT)
    +	$(LINK) $(keyring_OBJECTS) $(keyring_LDADD) $(LIBS)
    +
    +mostlyclean-compile:
    +	-rm -f *.$(OBJEXT)
    +
    +distclean-compile:
    +	-rm -f *.tab.c
    +
    +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyring.Po@am__quote@
    +
    +.c.o:
    +@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(COMPILE) -c $<
    +
    +.c.obj:
    +@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
    +
    +.c.lo:
    +@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    +@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
    +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    +@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
    +
    +mostlyclean-libtool:
    +	-rm -f *.lo
    +
    +clean-libtool:
    +	-rm -rf .libs _libs
    +
    +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; nonemtpy = 1; } \
    +	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    +	mkid -fID $$unique
    +tags: TAGS
    +
    +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; nonempty = 1; } \
    +	      END { if (nonempty) { for (i in files) print i; }; }'`; \
    +	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
    +	  test -n "$$unique" || unique=$$empty_fix; \
    +	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    +	    $$tags $$unique; \
    +	fi
    +ctags: CTAGS
    +CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    +		$(TAGS_FILES) $(LISP)
    +	tags=; \
    +	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; nonempty = 1; } \
    +	      END { if (nonempty) { 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
    +
    +check-TESTS: $(TESTS)
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
    +	srcdir=$(srcdir); export srcdir; \
    +	list=' $(TESTS) '; \
    +	if test -n "$$list"; then \
    +	  for tst in $$list; do \
    +	    if test -f ./$$tst; then dir=./; \
    +	    elif test -f $$tst; then dir=; \
    +	    else dir="$(srcdir)/"; fi; \
    +	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
    +	      all=`expr $$all + 1`; \
    +	      case " $(XFAIL_TESTS) " in \
    +	      *$$ws$$tst$$ws*) \
    +		xpass=`expr $$xpass + 1`; \
    +		failed=`expr $$failed + 1`; \
    +		echo "XPASS: $$tst"; \
    +	      ;; \
    +	      *) \
    +		echo "PASS: $$tst"; \
    +	      ;; \
    +	      esac; \
    +	    elif test $$? -ne 77; then \
    +	      all=`expr $$all + 1`; \
    +	      case " $(XFAIL_TESTS) " in \
    +	      *$$ws$$tst$$ws*) \
    +		xfail=`expr $$xfail + 1`; \
    +		echo "XFAIL: $$tst"; \
    +	      ;; \
    +	      *) \
    +		failed=`expr $$failed + 1`; \
    +		echo "FAIL: $$tst"; \
    +	      ;; \
    +	      esac; \
    +	    else \
    +	      skip=`expr $$skip + 1`; \
    +	      echo "SKIP: $$tst"; \
    +	    fi; \
    +	  done; \
    +	  if test "$$failed" -eq 0; then \
    +	    if test "$$xfail" -eq 0; then \
    +	      banner="All $$all tests passed"; \
    +	    else \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
    +	    fi; \
    +	  else \
    +	    if test "$$xpass" -eq 0; then \
    +	      banner="$$failed of $$all tests failed"; \
    +	    else \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
    +	    fi; \
    +	  fi; \
    +	  dashes="$$banner"; \
    +	  skipped=""; \
    +	  if test "$$skip" -ne 0; then \
    +	    skipped="($$skip tests were not run)"; \
    +	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
    +	      dashes="$$skipped"; \
    +	  fi; \
    +	  report=""; \
    +	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
    +	    report="Please report to $(PACKAGE_BUGREPORT)"; \
    +	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
    +	      dashes="$$report"; \
    +	  fi; \
    +	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    +	  echo "$$dashes"; \
    +	  echo "$$banner"; \
    +	  test -z "$$skipped" || echo "$$skipped"; \
    +	  test -z "$$report" || echo "$$report"; \
    +	  echo "$$dashes"; \
    +	  test "$$failed" -eq 0; \
    +	else :; fi
    +
    +distdir: $(DISTFILES)
    +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	list='$(DISTFILES)'; \
    +	  dist_files=`for file in $$list; do echo $$file; done | \
    +	  sed -e "s|^$$srcdirstrip/||;t" \
    +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    +	case $$dist_files in \
    +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
    +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
    +			   sort -u` ;; \
    +	esac; \
    +	for file in $$dist_files; do \
    +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
    +	  if test -d $$d/$$file; then \
    +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    +	    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
    +	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
    +	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
    +check: check-am
    +all-am: Makefile
    +installdirs:
    +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_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    +	  `test -z '$(STRIP)' || \
    +	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
    +mostlyclean-generic:
    +
    +clean-generic:
    +
    +distclean-generic:
    +	-test -z "$(CONFIG_CLEAN_FILES)" || 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-checkPROGRAMS clean-generic clean-libtool \
    +	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:
    +
    +html: html-am
    +
    +info: info-am
    +
    +info-am:
    +
    +install-data-am:
    +
    +install-dvi: install-dvi-am
    +
    +install-exec-am:
    +
    +install-html: install-html-am
    +
    +install-info: install-info-am
    +
    +install-man:
    +
    +install-pdf: install-pdf-am
    +
    +install-ps: install-ps-am
    +
    +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 \
    +	mostlyclean-libtool
    +
    +pdf: pdf-am
    +
    +pdf-am:
    +
    +ps: ps-am
    +
    +ps-am:
    +
    +uninstall-am:
    +
    +.MAKE: install-am install-strip
    +
    +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
    +	clean-checkPROGRAMS clean-generic clean-libtool ctags \
    +	distclean distclean-compile distclean-generic \
    +	distclean-libtool distclean-tags distdir dvi dvi-am html \
    +	html-am info info-am install install-am install-data \
    +	install-data-am install-dvi install-dvi-am install-exec \
    +	install-exec-am install-html install-html-am install-info \
    +	install-info-am install-man install-pdf install-pdf-am \
    +	install-ps install-ps-am install-strip installcheck \
    +	installcheck-am installdirs maintainer-clean \
    +	maintainer-clean-generic mostlyclean mostlyclean-compile \
    +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    +	tags uninstall uninstall-am
    +
    +# 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:
    diff -Nru gnutls26-2.8.6/tests/openpgp-certs/Makefile.am gnutls26-2.4.1/tests/openpgp-certs/Makefile.am
    --- gnutls26-2.8.6/tests/openpgp-certs/Makefile.am	2010-03-15 10:24:27.000000000 +0000
    +++ gnutls26-2.4.1/tests/openpgp-certs/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc.
    +# Copyright (C) 2007, 2008 Free Software Foundation
     #
     # This file is part of GNUTLS.
     #
    @@ -17,19 +17,17 @@
     # along with this file; if not, write to the Free Software Foundation,
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     
    +if ENABLE_OPENPGP
    +
     EXTRA_DIST = ca-public.gpg srv-public-all-signed.gpg srv-secret.gpg	\
     	ca-secret.gpg srv-public.gpg srv-public-127.0.0.1-signed.gpg	\
    -	srv-public-localhost-signed.gpg					\
    -	selfsigs/alice-mallory-badsig18.pub				\
    -	selfsigs/alice-mallory-irrelevantsig.pub			\
    -	selfsigs/alice-mallory-nosig18.pub selfsigs/alice.pub
    -
    -dist_check_SCRIPTS = testselfsigs testcerts
    +	srv-public-localhost-signed.gpg
     
    -if ENABLE_OPENPGP
     # The selftest is disabled until we can make it work under Wine and
    -# under Debian buildds (problem with 127.0.0.2?).
    -TESTS = testselfsigs #testcerts
    -endif
    +# under Debian buildds (problem with 127.0.0.2?).  Just extra-dist it
    +# for now.
    +EXTRA_DIST += testcerts
    +#dist_check_SCRIPTS = testcerts
    +#TESTS = testcerts
     
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    +endif
    diff -Nru gnutls26-2.8.6/tests/openpgp-certs/Makefile.in gnutls26-2.4.1/tests/openpgp-certs/Makefile.in
    --- gnutls26-2.8.6/tests/openpgp-certs/Makefile.in	2010-03-15 10:29:22.000000000 +0000
    +++ gnutls26-2.4.1/tests/openpgp-certs/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc.
    +# Copyright (C) 2007, 2008 Free Software Foundation
     #
     # This file is part of GNUTLS.
     #
    @@ -34,9 +33,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -52,83 +50,94 @@
     build_triplet = @build@
     host_triplet = @host@
     subdir = tests/openpgp-certs
    -DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
    -	$(srcdir)/Makefile.in
    +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -151,96 +160,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -252,31 +225,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -291,29 +249,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -321,18 +265,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -341,51 +278,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -394,123 +313,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -522,78 +426,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -625,11 +513,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -640,25 +531,20 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
     top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
    -EXTRA_DIST = ca-public.gpg srv-public-all-signed.gpg srv-secret.gpg	\
    -	ca-secret.gpg srv-public.gpg srv-public-127.0.0.1-signed.gpg	\
    -	srv-public-localhost-signed.gpg					\
    -	selfsigs/alice-mallory-badsig18.pub				\
    -	selfsigs/alice-mallory-irrelevantsig.pub			\
    -	selfsigs/alice-mallory-nosig18.pub selfsigs/alice.pub
    -
    -dist_check_SCRIPTS = testselfsigs testcerts
     
     # The selftest is disabled until we can make it work under Wine and
    -# under Debian buildds (problem with 127.0.0.2?).
    -@ENABLE_OPENPGP_TRUE@TESTS = testselfsigs #testcerts
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    +# under Debian buildds (problem with 127.0.0.2?).  Just extra-dist it
    +# for now.
    +@ENABLE_OPENPGP_TRUE@EXTRA_DIST = ca-public.gpg \
    +@ENABLE_OPENPGP_TRUE@	srv-public-all-signed.gpg srv-secret.gpg \
    +@ENABLE_OPENPGP_TRUE@	ca-secret.gpg srv-public.gpg \
    +@ENABLE_OPENPGP_TRUE@	srv-public-127.0.0.1-signed.gpg \
    +@ENABLE_OPENPGP_TRUE@	srv-public-localhost-signed.gpg testcerts
     all: all-am
     
     .SUFFIXES:
    @@ -666,14 +552,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/openpgp-certs/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/openpgp-certs/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/openpgp-certs/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/openpgp-certs/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -691,7 +577,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -705,98 +590,6 @@
     CTAGS:
     
     
    -check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    -	srcdir=$(srcdir); export srcdir; \
    -	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
    -	if test -n "$$list"; then \
    -	  for tst in $$list; do \
    -	    if test -f ./$$tst; then dir=./; \
    -	    elif test -f $$tst; then dir=; \
    -	    else dir="$(srcdir)/"; fi; \
    -	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
    -	      all=`expr $$all + 1`; \
    -	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    -		xpass=`expr $$xpass + 1`; \
    -		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    -	      ;; \
    -	      *) \
    -		col=$$grn; res=PASS; \
    -	      ;; \
    -	      esac; \
    -	    elif test $$? -ne 77; then \
    -	      all=`expr $$all + 1`; \
    -	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    -		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    -	      ;; \
    -	      *) \
    -		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    -	      ;; \
    -	      esac; \
    -	    else \
    -	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    -	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
    -	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
    -	  if test "$$failed" -eq 0; then \
    -	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    -	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    -	    fi; \
    -	  else \
    -	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    -	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    -	    fi; \
    -	  fi; \
    -	  dashes="$$banner"; \
    -	  skipped=""; \
    -	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    -	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
    -	      dashes="$$skipped"; \
    -	  fi; \
    -	  report=""; \
    -	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
    -	    report="Please report to $(PACKAGE_BUGREPORT)"; \
    -	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
    -	      dashes="$$report"; \
    -	  fi; \
    -	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    -	  echo "$$banner"; \
    -	  test -z "$$skipped" || echo "$$skipped"; \
    -	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    -	  test "$$failed" -eq 0; \
    -	else :; fi
    -
     distdir: $(DISTFILES)
     	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
     	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    @@ -813,23 +606,17 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
     check-am: all-am
    -	$(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS)
    -	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
     check: check-am
     all-am: Makefile
     installdirs:
    @@ -853,7 +640,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -872,8 +658,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -882,28 +666,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -924,21 +698,21 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    -
    -.PHONY: all all-am check check-TESTS check-am clean clean-generic \
    -	clean-libtool distclean distclean-generic distclean-libtool \
    -	distdir dvi dvi-am html html-am info info-am install \
    -	install-am install-data install-data-am install-dvi \
    -	install-dvi-am install-exec install-exec-am install-html \
    -	install-html-am install-info install-info-am install-man \
    -	install-pdf install-pdf-am install-ps install-ps-am \
    -	install-strip installcheck installcheck-am installdirs \
    -	maintainer-clean maintainer-clean-generic mostlyclean \
    -	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    -	uninstall uninstall-am
    +.MAKE: install-am install-strip
     
    +.PHONY: all all-am check check-am clean clean-generic clean-libtool \
    +	distclean distclean-generic distclean-libtool distdir dvi \
    +	dvi-am html html-am info info-am install install-am \
    +	install-data install-data-am install-dvi install-dvi-am \
    +	install-exec install-exec-am install-html install-html-am \
    +	install-info install-info-am install-man install-pdf \
    +	install-pdf-am install-ps install-ps-am install-strip \
    +	installcheck installcheck-am installdirs maintainer-clean \
    +	maintainer-clean-generic mostlyclean mostlyclean-generic \
    +	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
     
    +#dist_check_SCRIPTS = testcerts
    +#TESTS = testcerts
     # 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:
    Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/tests/openpgp-certs/selfsigs/alice-mallory-badsig18.pub and /tmp/5mqzrPKESq/gnutls26-2.4.1/tests/openpgp-certs/selfsigs/alice-mallory-badsig18.pub differ
    Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/tests/openpgp-certs/selfsigs/alice-mallory-irrelevantsig.pub and /tmp/5mqzrPKESq/gnutls26-2.4.1/tests/openpgp-certs/selfsigs/alice-mallory-irrelevantsig.pub differ
    Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/tests/openpgp-certs/selfsigs/alice-mallory-nosig18.pub and /tmp/5mqzrPKESq/gnutls26-2.4.1/tests/openpgp-certs/selfsigs/alice-mallory-nosig18.pub differ
    Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/tests/openpgp-certs/selfsigs/alice.pub and /tmp/5mqzrPKESq/gnutls26-2.4.1/tests/openpgp-certs/selfsigs/alice.pub differ
    diff -Nru gnutls26-2.8.6/tests/openpgp-certs/testselfsigs gnutls26-2.4.1/tests/openpgp-certs/testselfsigs
    --- gnutls26-2.8.6/tests/openpgp-certs/testselfsigs	2010-03-15 10:24:22.000000000 +0000
    +++ gnutls26-2.4.1/tests/openpgp-certs/testselfsigs	1970-01-01 01:00:00.000000000 +0100
    @@ -1,53 +0,0 @@
    -#!/bin/sh
    -
    -# Copyright (C) 2010 Free Software Foundation, Inc.
    -#
    -# Author: Nikos Mavrogiannopoulos
    -#
    -# This file is part of GNUTLS.
    -#
    -# GNUTLS 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 3 of the License, or (at
    -# your option) any later version.
    -#
    -# GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    -
    -set -e
    -
    -srcdir="${srcdir:-.}"
    -CERTTOOL="${CERTTOOL:-../../src/certtool$EXEEXT}"
    -
    -unset RETCODE
    -
    -fail() {
    -   echo "Failure: $1" >&2
    -   RETCODE=${RETCODE:-${2:-1}}
    -}
    -
    -echo "Checking OpenPGP certificate self verification"
    -
    -($CERTTOOL --pgp-certificate-info < $srcdir/selfsigs/alice.pub \
    -    | grep "^Self Signature verification: ok" > /dev/null) || \
    -    fail "Self sig Verification should have succeeded!"
    -
    -($CERTTOOL --pgp-certificate-info < $srcdir/selfsigs/alice-mallory-badsig18.pub \
    -    | grep "^Self Signature verification: failed" > /dev/null) || \
    -    fail "Self sig Verification should have failed!"
    -
    -($CERTTOOL --pgp-certificate-info < $srcdir/selfsigs/alice-mallory-irrelevantsig.pub \
    -    | grep "^Self Signature verification: failed" >/dev/null) || \
    -    fail "Self sig Verification should have failed!"
    -
    -($CERTTOOL --pgp-certificate-info < $srcdir/selfsigs/alice-mallory-nosig18.pub \
    -    | grep "^Self Signature verification: failed" >/dev/null) || \
    -    fail "Self sig Verification should have failed!"
    -
    -exit ${RETCODE:-0}
    diff -Nru gnutls26-2.8.6/tests/openpgp-keyring.c gnutls26-2.4.1/tests/openpgp-keyring.c
    --- gnutls26-2.8.6/tests/openpgp-keyring.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/openpgp-keyring.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,240 +0,0 @@
    -/*
    - * Copyright (C) 2007 Free Software Foundation
    - * Author: Ludovic Courtès, Timo Schulz
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include "config.h"
    -#endif
    -
    -#include 
    -
    -#include 
    -#include 
    -#include 
    -
    -#include "utils.h"
    -
    -/* A hex-encoded raw OpenPGP keyring.  This is a copy of (`sha1sum' output):
    -   5fdce61bff528070dfabdd237d91be618c353b4e  src/openpgp/cli_ring.gpg  */
    -static unsigned char raw_keyring[] = {
    -  0x99, 0x01, 0xA2, 0x04, 0x3C, 0x67, 0x95, 0x8D, 0x11, 0x04, 0x00, 0x80,
    -  0xB1, 0x65, 0x21, 0x8B, 0xF8, 0x28, 0x06, 0xFA, 0x6F, 0x4C, 0x18, 0x0B,
    -  0xF1, 0xF1, 0x4F, 0xC0, 0x10, 0x2E, 0x0F, 0x4E, 0x15, 0x60, 0x51, 0x2D,
    -  0x0B, 0xBF, 0xB8, 0xA4, 0x1A, 0x7A, 0x90, 0x5B, 0x07, 0x8D, 0x44, 0x7B,
    -  0x4D, 0x35, 0x24, 0x06, 0xC3, 0xA4, 0xD8, 0xFB, 0xCC, 0x1E, 0xB0, 0xDD,
    -  0xBF, 0x4F, 0x82, 0xE3, 0x1D, 0x82, 0x1F, 0xC6, 0x06, 0x3F, 0x57, 0xBE,
    -  0x3B, 0x47, 0xF6, 0xC8, 0xB5, 0xA4, 0xF1, 0x4B, 0xBE, 0x92, 0x41, 0x75,
    -  0xDB, 0x28, 0xAA, 0x6D, 0xBB, 0xC3, 0x12, 0x20, 0x9D, 0x78, 0x94, 0xFA,
    -  0x73, 0x7B, 0xC8, 0xB2, 0xD6, 0x3C, 0xBC, 0x9F, 0x49, 0xB2, 0x8E, 0x60,
    -  0xFC, 0xB0, 0x7C, 0x5E, 0x08, 0x2A, 0xF3, 0xC4, 0x7B, 0x8D, 0x71, 0x52,
    -  0xDE, 0x11, 0xFE, 0x58, 0x2E, 0x6F, 0xFF, 0xA3, 0xFA, 0x48, 0x04, 0x5F,
    -  0xCD, 0x79, 0x78, 0xE7, 0xB7, 0x15, 0x7B, 0x00, 0xA0, 0xBF, 0x14, 0x9F,
    -  0x1A, 0xC9, 0xBD, 0x98, 0x5A, 0x2C, 0xA4, 0x9D, 0x01, 0xDD, 0x11, 0xB2,
    -  0x83, 0x93, 0x01, 0xD1, 0xDF, 0x03, 0xFD, 0x14, 0x10, 0xAF, 0x22, 0x42,
    -  0x19, 0xD4, 0x76, 0x9C, 0xB7, 0xB8, 0x55, 0xF7, 0x2D, 0x3C, 0xBD, 0x90,
    -  0x04, 0x3F, 0xF5, 0x5E, 0x1B, 0x6E, 0x6E, 0xA1, 0x1B, 0x7A, 0xD6, 0x95,
    -  0x3F, 0x1B, 0x2C, 0xAA, 0xB2, 0x5D, 0x03, 0xE7, 0xA9, 0x94, 0x14, 0x53,
    -  0xED, 0x41, 0xE8, 0x91, 0x20, 0x5A, 0x84, 0xCF, 0x20, 0x99, 0x29, 0x8D,
    -  0xB9, 0x2A, 0xCB, 0x0E, 0xE8, 0xCF, 0x7C, 0x4B, 0x5A, 0x32, 0x0E, 0x98,
    -  0x22, 0x40, 0x7E, 0x2A, 0xAD, 0x15, 0x78, 0x92, 0xC4, 0xD1, 0xC5, 0xD3,
    -  0x64, 0x81, 0xF6, 0xF4, 0xA2, 0x65, 0x23, 0xFA, 0xA4, 0xD7, 0x11, 0xB8,
    -  0x2B, 0xB0, 0xFA, 0x07, 0x47, 0x0A, 0x68, 0x70, 0xBF, 0x2F, 0x80, 0x48,
    -  0xA0, 0xA7, 0x10, 0x2C, 0x9C, 0xDF, 0x4C, 0x83, 0xF0, 0xDD, 0xFA, 0xD2,
    -  0xE2, 0x35, 0x5E, 0x35, 0xA4, 0x19, 0x34, 0x74, 0x95, 0xA9, 0x9F, 0x3F,
    -  0x56, 0x63, 0x8C, 0x03, 0xFF, 0x6B, 0x90, 0xDB, 0x5C, 0x71, 0x0E, 0x11,
    -  0x55, 0xDF, 0x56, 0x4C, 0x5A, 0x07, 0x2A, 0xF4, 0xF8, 0xBD, 0xF8, 0x88,
    -  0x48, 0x43, 0x88, 0xCC, 0xA1, 0xA6, 0x70, 0x16, 0x3D, 0x1F, 0x29, 0xAA,
    -  0xEC, 0xC0, 0x9C, 0x8B, 0x79, 0x8D, 0x7B, 0x80, 0x83, 0x22, 0x69, 0x2F,
    -  0x66, 0x09, 0xE3, 0x0E, 0x52, 0x40, 0x33, 0xDD, 0x42, 0x5F, 0x53, 0x83,
    -  0xB6, 0x13, 0xCB, 0x06, 0xAB, 0xF2, 0x86, 0x73, 0x21, 0x87, 0x10, 0xE7,
    -  0x68, 0x39, 0x78, 0x36, 0x1E, 0x36, 0xB8, 0xF3, 0x12, 0xAF, 0xD2, 0x44,
    -  0x5B, 0x62, 0x30, 0xA0, 0x86, 0xC5, 0x9D, 0xED, 0x74, 0x8A, 0x11, 0x93,
    -  0x3B, 0x89, 0x41, 0x4B, 0x50, 0xB6, 0xF1, 0x47, 0xD2, 0x18, 0x43, 0x26,
    -  0xFF, 0xC2, 0x41, 0x32, 0xDC, 0x40, 0x8D, 0xB6, 0x32, 0xDC, 0x16, 0x33,
    -  0x52, 0xD0, 0x8C, 0x03, 0xE6, 0xC6, 0x04, 0x6E, 0x95, 0xA1, 0xEE, 0x62,
    -  0xE4, 0xB4, 0x25, 0x44, 0x72, 0x2E, 0x20, 0x57, 0x68, 0x6F, 0x20, 0x28,
    -  0x4E, 0x6F, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x29,
    -  0x20, 0x3C, 0x77, 0x68, 0x6F, 0x40, 0x77, 0x68, 0x6F, 0x69, 0x73, 0x2E,
    -  0x6F, 0x72, 0x67, 0x3E, 0x88, 0x5D, 0x04, 0x13, 0x11, 0x02, 0x00, 0x1D,
    -  0x05, 0x02, 0x3C, 0x67, 0x95, 0x8D, 0x05, 0x09, 0x03, 0xC2, 0x67, 0x00,
    -  0x05, 0x0B, 0x07, 0x0A, 0x03, 0x04, 0x03, 0x15, 0x03, 0x02, 0x03, 0x16,
    -  0x02, 0x01, 0x02, 0x17, 0x80, 0x00, 0x0A, 0x09, 0x10, 0x35, 0x14, 0x5C,
    -  0xEA, 0xA7, 0xD9, 0x3C, 0x3F, 0x96, 0x58, 0x00, 0x9F, 0x78, 0x99, 0xCB,
    -  0xC9, 0xF6, 0xE9, 0x4C, 0x30, 0x7B, 0x98, 0x38, 0x77, 0x68, 0x04, 0xDB,
    -  0xFB, 0x43, 0xD7, 0xCF, 0x6F, 0x00, 0xA0, 0xA4, 0x5D, 0x02, 0x90, 0x55,
    -  0x33, 0xA0, 0x6D, 0xCB, 0xEB, 0xD6, 0xC9, 0x71, 0xFA, 0x1D, 0xF1, 0x7A,
    -  0x65, 0x38, 0xFE, 0x99, 0x01, 0xA2, 0x04, 0x3C, 0x4A, 0xC5, 0x6C, 0x11,
    -  0x04, 0x00, 0xE7, 0x2E, 0x76, 0xB6, 0x2E, 0xEF, 0xA9, 0xA3, 0xBD, 0x59,
    -  0x40, 0x93, 0x29, 0x24, 0x18, 0x05, 0x0C, 0x02, 0xD7, 0x02, 0x9D, 0x6C,
    -  0xA2, 0x06, 0x6E, 0xFC, 0x34, 0xC8, 0x60, 0x38, 0x62, 0x7C, 0x64, 0x3E,
    -  0xB1, 0xA6, 0x52, 0xA7, 0xAF, 0x1D, 0x37, 0xCF, 0x46, 0xFC, 0x50, 0x5A,
    -  0xC1, 0xE0, 0xC6, 0x99, 0xB3, 0x78, 0x95, 0xB4, 0xBC, 0xB3, 0xE5, 0x35,
    -  0x41, 0xFF, 0xDA, 0x47, 0x66, 0xD6, 0x16, 0x8C, 0x2B, 0x8A, 0xAF, 0xD6,
    -  0xAB, 0x22, 0x46, 0x6D, 0x06, 0xD1, 0x80, 0x34, 0xD5, 0xDA, 0xC6, 0x98,
    -  0xE6, 0x99, 0x3B, 0xA5, 0xB3, 0x50, 0xFF, 0x82, 0x2E, 0x1C, 0xD8, 0x70,
    -  0x2A, 0x75, 0x11, 0x4E, 0x8B, 0x73, 0xA6, 0xB0, 0x9C, 0xB3, 0xB9, 0x3C,
    -  0xE4, 0x4D, 0xBB, 0x51, 0x6C, 0x9B, 0xB5, 0xF9, 0x5B, 0xB6, 0x66, 0x18,
    -  0x86, 0x02, 0xA0, 0xA1, 0x44, 0x72, 0x36, 0xC0, 0x65, 0x8F, 0x00, 0xA0,
    -  0x8F, 0x5B, 0x5E, 0x78, 0xD8, 0x5F, 0x79, 0x2C, 0xC2, 0x07, 0x2F, 0x94,
    -  0x74, 0x64, 0x57, 0x26, 0xFB, 0x4D, 0x93, 0x73, 0x03, 0xFE, 0x35, 0x78,
    -  0xD6, 0x89, 0xD6, 0x60, 0x6E, 0x91, 0x18, 0xE9, 0xF9, 0xA7, 0x04, 0x2B,
    -  0x96, 0x3C, 0xF2, 0x3F, 0x3D, 0x8F, 0x13, 0x77, 0xA2, 0x73, 0xC0, 0xF0,
    -  0x97, 0x4D, 0xBF, 0x44, 0xB3, 0xCA, 0xBC, 0xBE, 0x14, 0xDD, 0x64, 0x41,
    -  0x25, 0x55, 0x86, 0x3E, 0x39, 0xA9, 0xC6, 0x27, 0x66, 0x2D, 0x77, 0xAC,
    -  0x36, 0x66, 0x2A, 0xE4, 0x49, 0x79, 0x2C, 0x32, 0x62, 0xD3, 0xF1, 0x2E,
    -  0x98, 0x32, 0xA7, 0x56, 0x53, 0x09, 0xD6, 0x7B, 0xA0, 0xAE, 0x4D, 0xF2,
    -  0x5F, 0x5E, 0xDA, 0x09, 0x37, 0x05, 0x6A, 0xD5, 0xBE, 0x89, 0xF4, 0x06,
    -  0x9E, 0xBD, 0x7E, 0xC7, 0x6C, 0xE4, 0x32, 0x44, 0x1D, 0xF5, 0xD5, 0x2F,
    -  0xFF, 0xD0, 0x6D, 0x39, 0xE5, 0xF6, 0x1E, 0x36, 0x94, 0x7B, 0x69, 0x8A,
    -  0x77, 0xCB, 0x62, 0xAB, 0x81, 0xE4, 0xA4, 0x12, 0x2B, 0xF9, 0x05, 0x06,
    -  0x71, 0xD9, 0x94, 0x6C, 0x86, 0x5E, 0x04, 0x00, 0xD0, 0x61, 0x43, 0x7A,
    -  0x96, 0x4D, 0xDE, 0x31, 0x88, 0x18, 0xC2, 0xB2, 0x4D, 0xE0, 0x08, 0xE6,
    -  0x00, 0x96, 0xB6, 0x0D, 0xB8, 0xA6, 0x84, 0xB8, 0x5A, 0x83, 0x8D, 0x11,
    -  0x9F, 0xC9, 0x30, 0x31, 0x18, 0x89, 0xAD, 0x57, 0xA3, 0xB9, 0x27, 0xF4,
    -  0x48, 0xF8, 0x4E, 0xB2, 0x53, 0xC6, 0x23, 0xED, 0xA7, 0x3B, 0x42, 0xFF,
    -  0x78, 0xBC, 0xE6, 0x3A, 0x6A, 0x53, 0x1D, 0x75, 0xA6, 0x4C, 0xE8, 0x54,
    -  0x05, 0x13, 0x80, 0x8E, 0x9F, 0x5B, 0x10, 0xCE, 0x07, 0x5D, 0x34, 0x17,
    -  0xB8, 0x01, 0x16, 0x49, 0x18, 0xB1, 0x31, 0xD3, 0x54, 0x4C, 0x87, 0x65,
    -  0xA8, 0xEC, 0xB9, 0x97, 0x1F, 0x61, 0xA0, 0x9F, 0xC7, 0x3D, 0x50, 0x98,
    -  0x06, 0x10, 0x6B, 0x59, 0x77, 0xD2, 0x11, 0xCB, 0x0E, 0x1D, 0x04, 0xD0,
    -  0xED, 0x96, 0xBC, 0xE8, 0x9B, 0xAE, 0x8F, 0x73, 0xD8, 0x00, 0xB0, 0x52,
    -  0x13, 0x9C, 0xBF, 0x8D, 0xB4, 0x49, 0x4F, 0x70, 0x65, 0x6E, 0x43, 0x44,
    -  0x4B, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6B, 0x65, 0x79, 0x20, 0x28,
    -  0x4F, 0x6E, 0x6C, 0x79, 0x20, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x65,
    -  0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x70,
    -  0x75, 0x72, 0x70, 0x6F, 0x73, 0x65, 0x73, 0x21, 0x29, 0x20, 0x3C, 0x6F,
    -  0x70, 0x65, 0x6E, 0x63, 0x64, 0x6B, 0x40, 0x66, 0x6F, 0x6F, 0x2D, 0x62,
    -  0x61, 0x72, 0x2E, 0x6F, 0x72, 0x67, 0x3E, 0x88, 0x62, 0x04, 0x13, 0x11,
    -  0x02, 0x00, 0x1A, 0x05, 0x02, 0x3C, 0x4A, 0xC5, 0x6C, 0x05, 0x0B, 0x07,
    -  0x0A, 0x03, 0x04, 0x03, 0x15, 0x03, 0x02, 0x03, 0x16, 0x02, 0x01, 0x02,
    -  0x1E, 0x01, 0x02, 0x17, 0x80, 0x00, 0x12, 0x09, 0x10, 0xBD, 0x57, 0x2C,
    -  0xDC, 0xCC, 0xC0, 0x7C, 0x35, 0x07, 0x65, 0x47, 0x50, 0x47, 0x00, 0x01,
    -  0x01, 0x81, 0xC1, 0x00, 0x9C, 0x0E, 0x12, 0x8D, 0x8E, 0xD4, 0x44, 0x7C,
    -  0x6D, 0xCB, 0xCE, 0x61, 0x50, 0xD9, 0xCD, 0x86, 0xE2, 0x0D, 0x84, 0x59,
    -  0xA5, 0x00, 0x9F, 0x66, 0x81, 0x66, 0x2C, 0x80, 0xC6, 0xAA, 0xCF, 0x1D,
    -  0x2D, 0x2B, 0xC2, 0x04, 0xF0, 0x82, 0xFE, 0x80, 0xD3, 0xDB, 0xA4, 0xB9,
    -  0x01, 0x0D, 0x04, 0x3C, 0x4A, 0xC5, 0x6F, 0x10, 0x04, 0x00, 0xE2, 0x01,
    -  0x56, 0x52, 0x60, 0x69, 0xD0, 0x67, 0xD2, 0x4F, 0x4D, 0x71, 0xE6, 0xD3,
    -  0x86, 0x58, 0xE0, 0x8B, 0xE3, 0xBF, 0x24, 0x6C, 0x1A, 0xDC, 0xE0, 0x8D,
    -  0xB6, 0x9C, 0xD8, 0xD4, 0x59, 0xC1, 0xED, 0x33, 0x57, 0x38, 0x41, 0x07,
    -  0x98, 0x75, 0x5A, 0xFD, 0xB7, 0x9F, 0x17, 0x97, 0xCF, 0x02, 0x2E, 0x70,
    -  0xC7, 0x96, 0x0F, 0x12, 0xCA, 0x68, 0x96, 0xD2, 0x7C, 0xFD, 0x24, 0xA1,
    -  0x1C, 0xD3, 0x16, 0xDD, 0xE1, 0xFB, 0xCC, 0x1E, 0xA6, 0x15, 0xC5, 0xC3,
    -  0x1F, 0xEC, 0x65, 0x6E, 0x46, 0x70, 0x78, 0xC8, 0x75, 0xFC, 0x50, 0x9B,
    -  0x1E, 0xCB, 0x99, 0xC8, 0xB5, 0x6C, 0x2D, 0x87, 0x5C, 0x50, 0xE2, 0x01,
    -  0x8B, 0x5B, 0x0F, 0xA3, 0x78, 0x60, 0x6E, 0xB6, 0x42, 0x5A, 0x25, 0x33,
    -  0x83, 0x0F, 0x55, 0xFD, 0x21, 0xD6, 0x49, 0x01, 0x56, 0x15, 0xD4, 0x9A,
    -  0x1D, 0x09, 0xE9, 0x51, 0x0F, 0x5F, 0x00, 0x03, 0x05, 0x04, 0x00, 0xD0,
    -  0xBD, 0xAD, 0xE4, 0x04, 0x32, 0x75, 0x86, 0x75, 0xC8, 0x7D, 0x07, 0x30,
    -  0xC3, 0x60, 0x98, 0x14, 0x67, 0xBA, 0xE1, 0xBE, 0xB6, 0xCC, 0x10, 0x5A,
    -  0x3C, 0x1F, 0x36, 0x6B, 0xFD, 0xBE, 0xA1, 0x2E, 0x37, 0x84, 0x56, 0x51,
    -  0x32, 0x38, 0xB8, 0xAD, 0x41, 0x4E, 0x52, 0xA2, 0xA9, 0x66, 0x1D, 0x1D,
    -  0xF1, 0xDB, 0x6B, 0xB5, 0xF3, 0x3F, 0x69, 0x06, 0x16, 0x61, 0x07, 0x55,
    -  0x6C, 0x81, 0x32, 0x24, 0x33, 0x0B, 0x30, 0x93, 0x2D, 0xB7, 0xC8, 0xCC,
    -  0x82, 0x25, 0x67, 0x2D, 0x7A, 0xE2, 0x4A, 0xF2, 0x46, 0x97, 0x50, 0xE5,
    -  0x39, 0xB6, 0x61, 0xEA, 0x64, 0x75, 0xD2, 0xE0, 0x3C, 0xD8, 0xD3, 0x83,
    -  0x8D, 0xC4, 0xA8, 0xAC, 0x4A, 0xFD, 0x21, 0x35, 0x36, 0xFE, 0x3E, 0x96,
    -  0xEC, 0x9D, 0x0A, 0xEA, 0x65, 0x16, 0x4B, 0x57, 0x6E, 0x01, 0xB3, 0x7A,
    -  0x8D, 0xCA, 0x89, 0xF2, 0xB2, 0x57, 0xD0, 0x88, 0x4E, 0x04, 0x18, 0x11,
    -  0x02, 0x00, 0x06, 0x05, 0x02, 0x3C, 0x4A, 0xC5, 0x6F, 0x00, 0x12, 0x09,
    -  0x10, 0xBD, 0x57, 0x2C, 0xDC, 0xCC, 0xC0, 0x7C, 0x35, 0x07, 0x65, 0x47,
    -  0x50, 0x47, 0x00, 0x01, 0x01, 0x75, 0x66, 0x00, 0x9F, 0x60, 0x1E, 0x1F,
    -  0x99, 0xE0, 0xB0, 0x7C, 0x77, 0xE6, 0x7F, 0x3E, 0xEC, 0xA1, 0xE1, 0x9F,
    -  0x94, 0x63, 0xD3, 0x73, 0x67, 0x00, 0x9F, 0x6A, 0xC6, 0x9E, 0xB4, 0x11,
    -  0x9A, 0x6F, 0xFB, 0xF4, 0x49, 0xE7, 0xD1, 0x54, 0xD8, 0x2E, 0x05, 0xD4,
    -  0x08, 0x61, 0xDB
    -};
    -
    -/* The ID of a key known to be in the above keyring.  */
    -static const gnutls_openpgp_keyid_t id_in_keyring =
    -  /* "Dr. Who", first key in the keyring */
    -{ 0x35, 0x14, 0x5c, 0xea,
    -  0xa7, 0xd9, 0x3c, 0x3f
    -};
    -
    -static const gnutls_openpgp_keyid_t id2_in_keyring =
    -  /* OpenCDK test key, second key in the keyring */
    -{ 0xbd, 0x57, 0x2c, 0xdc,
    -  0xcc, 0xc0, 0x7c, 0x35
    -};
    -
    -static const gnutls_openpgp_keyid_t id_not_in_keyring =
    -  { 0x00, 0x00, 0x00, 0x00,
    -  0x00, 0x00, 0x00, 0x00
    -};
    -
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "%d| %s", level, str);
    -}
    -
    -void
    -doit (void)
    -{
    -  gnutls_openpgp_keyring_t keyring;
    -  gnutls_datum_t data;
    -  int ret;
    -
    -  ret = gnutls_global_init ();
    -  if (ret < 0)
    -    fail ("init %d\n", ret);
    -
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (2);
    -
    -  ret = gnutls_global_init_extra ();
    -  if (ret < 0)
    -    fail ("extra-init %d\n", ret);
    -
    -  ret = gnutls_openpgp_keyring_init (&keyring);
    -  if (ret < 0)
    -    fail ("keyring-init %d\n", ret);
    -
    -  data.data = raw_keyring;
    -  data.size = sizeof (raw_keyring) / sizeof (raw_keyring[0]);
    -  ret = gnutls_openpgp_keyring_import (keyring, &data,
    -				       GNUTLS_OPENPGP_FMT_RAW);
    -  if (ret < 0)
    -    fail ("keyring-import %d\n", ret);
    -
    -  ret = gnutls_openpgp_keyring_check_id (keyring, id_not_in_keyring, 0);
    -  if (ret == 0)
    -    fail ("keyring-check-id (not-in-keyring) %d\n", ret);
    -
    -  ret = gnutls_openpgp_keyring_check_id (keyring, id_in_keyring, 0);
    -  if (ret != 0)
    -    fail ("keyring-check-id first key %d\n", ret);
    -
    -  ret = gnutls_openpgp_keyring_check_id (keyring, id2_in_keyring, 0);
    -  if (ret != 0)
    -    fail ("keyring-check-id second key %d\n", ret);
    -
    -  success ("done\n");
    -
    -  gnutls_openpgp_keyring_deinit (keyring);
    -  gnutls_global_deinit ();
    -}
    -
    -/* Local Variables:
    -   coding: latin-1
    -   End:
    - */
    diff -Nru gnutls26-2.8.6/tests/openpgpself.c gnutls26-2.4.1/tests/openpgpself.c
    --- gnutls26-2.8.6/tests/openpgpself.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/openpgpself.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -42,7 +42,6 @@
     
     #include "ex-session-info.c"
     #include "ex-x509-info.c"
    -#include "tcp.c"
     
     pid_t child;
     
    @@ -58,7 +57,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static unsigned char cert_txt[] =
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +const char cert_txt[] =
       "-----BEGIN PGP PUBLIC KEY BLOCK-----\n"
       "Version: GnuPG v1.0.6 (GNU/Linux)\n"
       "Comment: For info see http://www.gnupg.org\n"
    @@ -75,10 +113,11 @@
       "Tm8gY29tbWVudHMpIDx3aG9Ad2hvaXMub3JnPohdBBMRAgAdBQI8Z5WNBQkDwmcA\n"
       "BQsHCgMEAxUDAgMWAgECF4AACgkQNRRc6qfZPD+WWACfeJnLyfbpTDB7mDh3aATb\n"
       "+0PXz28AoKRdApBVM6Bty+vWyXH6HfF6ZTj+\n"
    -  "=m8dH\n" "-----END PGP PUBLIC KEY BLOCK-----\n";
    +  "=m8dH\n"
    +  "-----END PGP PUBLIC KEY BLOCK-----\n";
     const gnutls_datum_t cert = { cert_txt, sizeof (cert_txt) };
     
    -static unsigned char key_txt[] =
    +const char key_txt[] =
       "-----BEGIN PGP PRIVATE KEY BLOCK-----\n"
       "Version: GnuPG v1.0.6 (GNU/Linux)\n"
       "Comment: For info see http://www.gnupg.org\n"
    @@ -98,10 +137,11 @@
       "KE5vIGNvbW1lbnRzKSA8d2hvQHdob2lzLm9yZz6IXQQTEQIAHQUCPGeVjQUJA8Jn\n"
       "AAULBwoDBAMVAwIDFgIBAheAAAoJEDUUXOqn2Tw/llgAnjBPQdWxIqBCQGlcI2K/\n"
       "gLkZR1ARAJ9kaAeJYERc0bV/vlm0ot7UDdr+bQ==\n"
    -  "=4M0W\n" "-----END PGP PRIVATE KEY BLOCK-----\n";
    +  "=4M0W\n"
    +  "-----END PGP PRIVATE KEY BLOCK-----\n";
     const gnutls_datum_t key = { key_txt, sizeof (key_txt) };
     
    -static void
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -164,7 +204,7 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       gnutls_record_send (session, MSG, strlen (MSG));
     
    @@ -211,7 +251,7 @@
     /* These are global */
     gnutls_certificate_credentials_t pgp_cred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -239,8 +279,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -259,7 +299,7 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static unsigned char server_crt_txt[] =
    +const char server_crt_txt[] =
       "-----BEGIN PGP PUBLIC KEY BLOCK-----\n"
       "Version: GnuPG v1.4.6 (GNU/Linux)\n"
       "\n"
    @@ -285,10 +325,11 @@
       "fZJo+m0Xf8zI57NeQF+hXJhW7lIrWgQVr8IVp/lgo76acLHfL/t1n0Nhg4r2srz2\n"
       "fpP2w5laQ0qImYLnZhGFHU+rJUyFaHfhD8/svN2LuZkO570pjV/K68EaHnEfk5b8\n"
       "jWu/euohwcCwf20M1kTo3Bg=\n"
    -  "=Xjon\n" "-----END PGP PUBLIC KEY BLOCK-----\n";
    +  "=Xjon\n"
    +  "-----END PGP PUBLIC KEY BLOCK-----\n";
     const gnutls_datum_t server_crt = { server_crt_txt, sizeof (server_crt_txt) };
     
    -static unsigned char server_key_txt[] =
    +const char server_key_txt[] =
       "-----BEGIN PGP PRIVATE KEY BLOCK-----\n"
       "Version: GnuPG v1.4.6 (GNU/Linux)\n"
       "\n"
    @@ -331,10 +372,11 @@
       "uXDDNkpoJwhEJBw5uQuwxWh9kmj6bRd/zMjns15AX6FcmFbuUitaBBWvwhWn+WCj\n"
       "vppwsd8v+3WfQ2GDivayvPZ+k/bDmVpDSoiZgudmEYUdT6slTIVod+EPz+y83Yu5\n"
       "mQ7nvSmNX8rrwRoecR+TlvyNa7966iHBwLB/bQzWROjcGA==\n"
    -  "=mZnW\n" "-----END PGP PRIVATE KEY BLOCK-----\n";
    +  "=mZnW\n"
    +  "-----END PGP PRIVATE KEY BLOCK-----\n";
     const gnutls_datum_t server_key = { server_key_txt, sizeof (server_key_txt) };
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -352,7 +394,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -373,7 +415,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -425,12 +467,12 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/openssl.c gnutls26-2.4.1/tests/openssl.c
    --- gnutls26-2.8.6/tests/openssl.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/openssl.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -36,10 +36,7 @@
       MD5_CTX c;
       unsigned char md[MD5_DIGEST_LENGTH];
     
    -  if (gnutls_global_init () != 0)
    -    fail ("gnutls_global_init\n");
    -
    -  if (!gnutls_check_version (GNUTLS_VERSION))
    +  if (!gnutls_check_version (LIBGNUTLS_VERSION))
         success ("gnutls_check_version ERROR\n");
     
       MD5_Init (&c);
    diff -Nru gnutls26-2.8.6/tests/oprfi.c gnutls26-2.4.1/tests/oprfi.c
    --- gnutls26-2.8.6/tests/oprfi.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/oprfi.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -195,11 +195,12 @@
     oprfi_callback (gnutls_session_t session,
     		void *userdata,
     		size_t oprfi_len,
    -		const unsigned char *in_oprfi, unsigned char *out_oprfi)
    +		const unsigned char *in_oprfi,
    +		unsigned char *out_oprfi)
     {
       size_t i;
     
    -  puts ("cb");
    +  puts("cb");
     
       for (i = 0; i < oprfi_len; i++)
         printf ("OPRF[%d]: %02x %03d %c\n", i, in_oprfi[i],
    @@ -239,7 +240,7 @@
     generate_dh_params (void)
     {
       const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -292,7 +293,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -346,7 +347,7 @@
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/parse_ca.c gnutls26-2.4.1/tests/parse_ca.c
    --- gnutls26-2.8.6/tests/parse_ca.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/parse_ca.c	2008-06-19 11:00:10.000000000 +0100
    @@ -28,7 +28,7 @@
     
     #include "utils.h"
     
    -static char castr[] =
    +const static char castr[] =
       "-----BEGIN CERTIFICATE-----\r\n"
       "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\r\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\r\n"
    @@ -53,7 +53,8 @@
       "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\r\n"
       "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\r\n"
       "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\r\n"
    -  "PfqUpIhz5Bbm7J4=\r\n" "-----END CERTIFICATE-----\r\n";
    +  "PfqUpIhz5Bbm7J4=\r\n"
    +  "-----END CERTIFICATE-----\r\n";
     
     void
     doit (void)
    @@ -62,7 +63,7 @@
       gnutls_certificate_credentials_t cred;
       gnutls_datum_t ca = { castr, sizeof (castr) };
     
    -  gnutls_global_init ();
    +  gnutls_global_init();
     
       rc = gnutls_certificate_allocate_credentials (&cred);
       if (rc)
    @@ -74,7 +75,7 @@
     
       gnutls_certificate_free_credentials (cred);
     
    -  gnutls_global_deinit ();
    +  gnutls_global_deinit();
     
       success ("import ok\n");
     }
    diff -Nru gnutls26-2.8.6/tests/pathlen/ca-no-pathlen.pem gnutls26-2.4.1/tests/pathlen/ca-no-pathlen.pem
    --- gnutls26-2.8.6/tests/pathlen/ca-no-pathlen.pem	2010-01-20 10:00:13.000000000 +0000
    +++ gnutls26-2.4.1/tests/pathlen/ca-no-pathlen.pem	2008-06-19 11:00:10.000000000 +0100
    @@ -12,7 +12,7 @@
     			ad:28:dd:03:a8:c0:f4:17:bf:18:cd:9f:b3:5a:d1:de
     			21:41:db:a3:d2:6c:f9:66:87:69:7c:50:07:81:66:41
     			28:c9:99:e2:eb:cc:57:53:9d:0c:b1:94:6f:ef:eb:17
    -		Exponent (bits 24):
    +		Exponent:
     			01:00:01
     	Extensions:
     		Basic Constraints (critical):
    @@ -31,7 +31,7 @@
     	SHA-1 fingerprint:
     		f3ddd5478b80b142200b50c9eb2ee37061b09ed6
     	Public Key Id:
    -		5699601fb02430e8c247b86e4ef997e0915e131b
    +		3f00012df1304b60a3b0306cab0e93fe0158801b
     
     -----BEGIN CERTIFICATE-----
     MIIBYDCCAQygAwIBAgIBADALBgkqhkiG9w0BAQUwIjEgMB4GA1UEChMXR251VExT
    diff -Nru gnutls26-2.8.6/tests/pathlen/Makefile.am gnutls26-2.4.1/tests/pathlen/Makefile.am
    --- gnutls26-2.8.6/tests/pathlen/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pathlen/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -24,5 +24,3 @@
     dist_check_SCRIPTS = pathlen
     
     TESTS = pathlen
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/pathlen/Makefile.in gnutls26-2.4.1/tests/pathlen/Makefile.in
    --- gnutls26-2.8.6/tests/pathlen/Makefile.in	2010-03-15 10:29:22.000000000 +0000
    +++ gnutls26-2.4.1/tests/pathlen/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -651,7 +542,6 @@
     EXTRA_DIST = ca-no-pathlen.pem no-ca-or-pathlen.pem
     dist_check_SCRIPTS = pathlen
     TESTS = pathlen
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -659,14 +549,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/pathlen/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/pathlen/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/pathlen/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/pathlen/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -684,7 +574,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -699,10 +588,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -711,63 +599,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -778,15 +652,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -806,17 +676,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -846,7 +712,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -865,8 +730,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -875,28 +738,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -917,7 +770,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -931,7 +784,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/pathlen/no-ca-or-pathlen.pem gnutls26-2.4.1/tests/pathlen/no-ca-or-pathlen.pem
    --- gnutls26-2.8.6/tests/pathlen/no-ca-or-pathlen.pem	2010-01-20 10:00:34.000000000 +0000
    +++ gnutls26-2.4.1/tests/pathlen/no-ca-or-pathlen.pem	2008-06-19 11:00:10.000000000 +0100
    @@ -16,7 +16,7 @@
     			8b:54:15:49:55:a4:4d:cc:00:56:7b:c8:63:4e:37:de
     			fb:79:0f:45:dc:e9:5c:cd:70:f0:64:42:35:84:db:e6
     			59:a4:cb:4b:fe:0f:47:28:0c:35:11:a9:40:fc:ba:a5
    -		Exponent (bits 24):
    +		Exponent:
     			01:00:01
     	Extensions:
     		Basic Constraints (not critical):
    @@ -49,7 +49,7 @@
     	SHA-1 fingerprint:
     		8f735c5ddefd723f59b6a3bb2ac0522470c0182f
     	Public Key Id:
    -		678c03ba9250a094d1465ae3c90dc605e22110d3
    +		dd1a66393a03316acc51b1eca3aa368d3ba648fe
     
     -----BEGIN CERTIFICATE-----
     MIIEhDCCA+2gAwIBAgIQLhA3A99GhZ16VQ2mWWGFODANBgkqhkiG9w0BAQQFADCB
    diff -Nru gnutls26-2.8.6/tests/pathlen/pathlen gnutls26-2.4.1/tests/pathlen/pathlen
    --- gnutls26-2.8.6/tests/pathlen/pathlen	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pathlen/pathlen	2008-06-19 11:00:10.000000000 +0100
    @@ -23,7 +23,7 @@
     set -e
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     $CERTTOOL --certificate-info --infile $srcdir/ca-no-pathlen.pem \
     	  --outfile new-ca-no-pathlen.pem
    diff -Nru gnutls26-2.8.6/tests/pgps2kgnu.c gnutls26-2.4.1/tests/pgps2kgnu.c
    --- gnutls26-2.8.6/tests/pgps2kgnu.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pgps2kgnu.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,108 +0,0 @@
    -/*
    - * Copyright (C) 2008  Free Software Foundation, Inc.
    - *
    - * Author: Daniel Kahn Gillmor 
    -
    - * pgps2kgnu: test GNU extensions to the OpenPGP S2K specification.
    - *            at the moment, we just test the "GNU dummy" S2K
    - *            extension.
    -
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -static char dummy_key[] =
    -  "-----BEGIN PGP PRIVATE KEY BLOCK-----\n"
    -  "Version: GnuPG v1.4.9 (GNU/Linux)\n"
    -  "\n"
    -  "lQCVBEO3YdABBACRqqEnucag4+vyZny2M67Pai5+5suIRRvY+Ly8Ms5MvgCi3EVV\n"
    -  "xT05O/+0ShiRaf+QicCOFrhbU9PZzzU+seEvkeW2UCu4dQfILkmj+HBEIltGnHr3\n"
    -  "G0yegHj5pnqrcezERURf2e17gGFWX91cXB9Cm721FPXczuKraphKwCA9PwARAQAB\n"
    -  "/gNlAkdOVQG0OURlbW9uc3RyYXRpb24gS2V5IGZvciBTMksgR05VIGV4dGVuc2lv\n"
    -  "biAxMDAxIC0tIGdudS1kdW1teYi8BBMBAgAmBQJDt2HQAhsDBQkB4TOABgsJCAcD\n"
    -  "AgQVAggDBBYCAwECHgECF4AACgkQQZUwSa4UDezTOQP/TMQXUVrWzHYZGopoPZ2+\n"
    -  "ZS3qddiznBHsgb7MGYg1KlTiVJSroDUBCHIUJvdQKZV9zrzrFl47D07x6hGyUPHV\n"
    -  "aZXvuITW8t1o5MMHkCy3pmJ2KgfDvdUxrBvLfgPMICA4c6zA0mWquee43syEW9NY\n"
    -  "g3q61iPlQwD1J1kX1wlimLCdAdgEQ7dh0AEEANAwa63zlQbuy1Meliy8otwiOa+a\n"
    -  "mH6pxxUgUNggjyjO5qx+rl25mMjvGIRX4/L1QwIBXJBVi3SgvJW1COZxZqBYqj9U\n"
    -  "8HVT07mWKFEDf0rZLeUE2jTm16cF9fcW4DQhW+sfYm+hi2sY3HeMuwlUBK9KHfW2\n"
    -  "+bGeDzVZ4pqfUEudABEBAAEAA/0bemib+wxub9IyVFUp7nPobjQC83qxLSNzrGI/\n"
    -  "RHzgu/5CQi4tfLOnwbcQsLELfker2hYnjsLrT9PURqK4F7udrWEoZ1I1LymOtLG/\n"
    -  "4tNZ7Mnul3wRC2tCn7FKx8sGJwGh/3li8vZ6ALVJAyOia5TZ/buX0+QZzt6+hPKk\n"
    -  "7MU1WQIA4bUBjtrsqDwro94DvPj3/jBnMZbXr6WZIItLNeVDUcM8oHL807Am97K1\n"
    -  "ueO/f6v1sGAHG6lVPTmtekqPSTWBfwIA7CGFvEyvSALfB8NUa6jtk27NCiw0csql\n"
    -  "kuhCmwXGMVOiryKEfegkIahf2bAd/gnWHPrpWp7bUE20v8YoW22I4wIAhnm5Wr5Q\n"
    -  "Sy7EHDUxmJm5TzadFp9gq08qNzHBpXSYXXJ3JuWcL1/awUqp3tE1I6zZ0hZ38Ia6\n"
    -  "SdBMN88idnhDPqPoiKUEGAECAA8FAkO3YdACGyAFCQHhM4AACgkQQZUwSa4UDezm\n"
    -  "vQP/ZhK+2ly9oI2z7ZcNC/BJRch0/ybQ3haahII8pXXmOThpZohr/LUgoWgCZdXg\n"
    -  "vP6yiszNk2tIs8KphCAw7Lw/qzDC2hEORjWO4f46qk73RAgSqG/GyzI4ltWiDhqn\n"
    -  "vnQCFl3+QFSe4zinqykHnLwGPMXv428d/ZjkIc2ju8dRsn4=\n"
    -  "=CR5w\n" "-----END PGP PRIVATE KEY BLOCK-----\n";
    -
    -/* Test capability of reading the gnu-dummy OpenPGP S2K extension. 
    -   See: doc/DETAILS from gnupg
    -        http://lists.gnu.org/archive/html/gnutls-devel/2008-08/msg00023.html
    -*/
    -
    -int
    -main (void)
    -{
    -  int rc;
    -  gnutls_datum_t keydatum =
    -    { (unsigned char *) dummy_key, strlen (dummy_key) };
    -  gnutls_openpgp_privkey_t key;
    -
    -  rc = gnutls_global_init ();
    -  if (rc)
    -    {
    -      printf ("gnutls_global_init rc %d: %s\n", rc, gnutls_strerror (rc));
    -      return 1;
    -    }
    -
    -  rc = gnutls_openpgp_privkey_init (&key);
    -  if (rc)
    -    {
    -      printf ("gnutls_openpgp_privkey_init rc %d: %s\n",
    -	      rc, gnutls_strerror (rc));
    -      return 1;
    -    }
    -
    -  rc = gnutls_openpgp_privkey_import (key, &keydatum,
    -				      GNUTLS_OPENPGP_FMT_BASE64, NULL, 0);
    -  if (rc)
    -    {
    -      printf ("gnutls_openpgp_privkey_import rc %d: %s\n",
    -	      rc, gnutls_strerror (rc));
    -      return 1;
    -    }
    -
    -  gnutls_openpgp_privkey_deinit (key);
    -
    -  gnutls_global_deinit ();
    -
    -  return 0;
    -}
    diff -Nru gnutls26-2.8.6/tests/pkcs12-decode/Makefile.am gnutls26-2.4.1/tests/pkcs12-decode/Makefile.am
    --- gnutls26-2.8.6/tests/pkcs12-decode/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pkcs12-decode/Makefile.am	2008-06-30 21:45:51.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -19,10 +19,8 @@
     # along with this file; if not, write to the Free Software Foundation,
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     
    -EXTRA_DIST = client.p12 noclient.p12 unclient.p12 pkcs12_2certs.p12
    +EXTRA_DIST = client.p12 noclient.p12 unclient.p12
     
     dist_check_SCRIPTS = pkcs12
     
     TESTS = pkcs12
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/pkcs12-decode/Makefile.in gnutls26-2.4.1/tests/pkcs12-decode/Makefile.in
    --- gnutls26-2.8.6/tests/pkcs12-decode/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/pkcs12-decode/Makefile.in	2008-06-30 22:07:55.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,16 +534,14 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
     top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
    -EXTRA_DIST = client.p12 noclient.p12 unclient.p12 pkcs12_2certs.p12
    +EXTRA_DIST = client.p12 noclient.p12 unclient.p12
     dist_check_SCRIPTS = pkcs12
     TESTS = pkcs12
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -659,14 +549,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/pkcs12-decode/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/pkcs12-decode/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/pkcs12-decode/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/pkcs12-decode/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -684,7 +574,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -699,10 +588,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -711,63 +599,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -778,15 +652,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -806,17 +676,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -846,7 +712,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -865,8 +730,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -875,28 +738,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -917,7 +770,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -931,7 +784,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/pkcs12-decode/pkcs12 gnutls26-2.4.1/tests/pkcs12-decode/pkcs12
    --- gnutls26-2.8.6/tests/pkcs12-decode/pkcs12	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pkcs12-decode/pkcs12	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation
    +# Copyright (C) 2004, 2005, 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -24,7 +24,7 @@
     CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     ret=0
    -for p12 in 'client.p12 foobar' noclient.p12 unclient.p12 pkcs12_2certs.p12; do
    +for p12 in 'client.p12 foobar' noclient.p12 unclient.p12; do
         set -- $p12
         file=$1
         passwd=$2
    Binary files /tmp/rZoL3Agbtx/gnutls26-2.8.6/tests/pkcs12-decode/pkcs12_2certs.p12 and /tmp/5mqzrPKESq/gnutls26-2.4.1/tests/pkcs12-decode/pkcs12_2certs.p12 differ
    diff -Nru gnutls26-2.8.6/tests/pkcs12_s2k.c gnutls26-2.4.1/tests/pkcs12_s2k.c
    --- gnutls26-2.8.6/tests/pkcs12_s2k.c	2009-06-10 16:25:14.000000000 +0100
    +++ gnutls26-2.4.1/tests/pkcs12_s2k.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,104 +0,0 @@
    -/*
    - * Copyright (C) 2007, 2008, 2009 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -
    -#include 
    -#include "../../lib/gnutls_int.h"
    -#include "../../lib/x509/x509_int.h"
    -#include "../../lib/debug.h"
    -
    -static void
    -tls_log_func (int level, const char *str)
    -{
    -  fprintf (stderr, "|<%d>| %s", level, str);
    -}
    -
    -static const char *salt[3] = { "salt1", "ltsa22", "balt33" };
    -static const char *pw[3] = { "secret1", "verysecret2", "veryverysecret3" };
    -
    -static const char *values[] = {
    -/* 1.0 */
    -  "85a3c676a66f0960f4807144a28c8d61a0001b81846f301a1ac164289879972f",
    -/* 1.2 */
    -  "e659da7d5989733a3d268e0bf7752c35c116e5c75919449a98f6812f82a15b16",
    -/* 1.2 */
    -  "878b8a88bf6166ce803b7498822205b1ac82870d3aec20807148779375a61f1e",
    -/* 2.0 */
    -  "1c845be764371d633c7fd1056967a9940385e110e85b58f826d39ae8561a0019",
    -/* 2.1 */
    -  "de8dd3ffd59b65d3d5f59a1f71d7add582741f7752a786c045953e727e4465c0",
    -/* 2.2 */
    -#ifndef PKCS12_BROKEN_KEYGEN
    -  "9dd7f19e5e6aee5c5008b5deefd35889ab75193594ed49a605df4e93e7c2a155",
    -#else
    -  "9dd7f19e5e6aee5c5008b5deefd35889ab7519356f13478ecdee593c5ed689b1",
    -#endif
    -/* 3.0 */
    -  "1c165e5a291a1539f3dbcf82a3e6ed566eb9d50ad4b0b3b57b599b08f0531236",
    -/* 3.1 */
    -  "5c9abee3cde31656eedfc131b7c2f8061032a3c705961ee2306a826c8b4b1a76",
    -/* 3.2 */ "a9c94e0acdaeaea54d1b1b681c3b64916396a352dea7ffe635fb2c11d8502e98"
    -};
    -
    -void
    -doit (void)
    -{
    -  int rc, i, j, x;
    -  char key[32];
    -  char tmp[1024];
    -
    -  gnutls_global_init ();
    -
    -  gnutls_global_set_log_function (tls_log_func);
    -  gnutls_global_set_log_level (99);
    -
    -  x = 0;
    -  for (i = 1; i < 4; i++)
    -    {
    -      for (j = 0; j < 3; j++)
    -	{
    -	  rc =
    -	    _gnutls_pkcs12_string_to_key (i, salt[j], strlen (salt[j]),
    -					  j + i + 15, pw[j], sizeof (key),
    -					  key);
    -	  if (rc < 0)
    -	    fail ("_gnutls_pkcs12_string_to_key failed[0]\n");
    -
    -	  if (strcmp
    -	      (_gnutls_bin2hex (key, sizeof (key), tmp, sizeof (tmp)),
    -	       values[x]) != 0)
    -	    fail ("_gnutls_pkcs12_string_to_key failed[1]\n");
    -
    -	  printf ("ij: %d.%d: %s\n", i, j,
    -		  _gnutls_bin2hex (key, sizeof (key), tmp, sizeof (tmp)));
    -	  x++;
    -	}
    -    }
    -  printf ("\n");
    -
    -  success ("_gnutls_pkcs12_string_to_key ok\n");
    -}
    diff -Nru gnutls26-2.8.6/tests/pkcs1-padding/Makefile.am gnutls26-2.4.1/tests/pkcs1-padding/Makefile.am
    --- gnutls26-2.8.6/tests/pkcs1-padding/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pkcs1-padding/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -27,5 +27,3 @@
     dist_check_SCRIPTS = pkcs1-pad
     
     TESTS = pkcs1-pad
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/pkcs1-padding/Makefile.in gnutls26-2.4.1/tests/pkcs1-padding/Makefile.in
    --- gnutls26-2.8.6/tests/pkcs1-padding/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/pkcs1-padding/Makefile.in	2008-06-30 22:07:54.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -656,7 +547,6 @@
     
     dist_check_SCRIPTS = pkcs1-pad
     TESTS = pkcs1-pad
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -664,14 +554,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/pkcs1-padding/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/pkcs1-padding/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/pkcs1-padding/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/pkcs1-padding/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -689,7 +579,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -704,10 +593,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -716,63 +604,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -783,15 +657,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -811,17 +681,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -851,7 +717,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -870,8 +735,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -880,28 +743,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -922,7 +775,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -936,7 +789,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/pkcs1-padding/pkcs1-pad gnutls26-2.4.1/tests/pkcs1-padding/pkcs1-pad
    --- gnutls26-2.8.6/tests/pkcs1-padding/pkcs1-pad	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pkcs1-padding/pkcs1-pad	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2004, 2005, 2006, 2008, 2009 Free Software Foundation
    +# Copyright (C) 2004, 2005, 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -21,21 +21,14 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    -
    -# Check for datefudge
    -TSTAMP=`datefudge "2006-09-23" date -u +%s`
    -if test "$TSTAMP" != "1158962400"; then
    -    echo "Cannot fake timestamps, please install datefudge..."
    -    exit 77
    -fi
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     # Test 1, PKCS#1 pad digestAlgorithm.parameters
     
    -EXPECT1=3102
    +EXPECT1=2101
     
    -datefudge "2006-09-23" $CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-ok.pem | tee out1
    -datefudge "2006-09-23" $CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken.pem | tee out2
    +$CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-ok.pem | tee out1
    +$CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken.pem | tee out2
     
     out1oks=`grep 'Verified.' out1 | wc -l | tr -d " "`
     out2oks=`grep 'Verified.' out2 | wc -l | tr -d " "`
    @@ -56,10 +49,10 @@
     
     # Test 2, Bleichenbacher's Crypto 06 rump session
     
    -EXPECT2=2002
    +EXPECT2=1001
     
    -datefudge "2006-09-23" $CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-ok2.pem | tee out1
    -datefudge "2006-09-23" $CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken2.pem | tee out2
    +$CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-ok2.pem | tee out1
    +$CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken2.pem | tee out2
     
     out1oks=`grep 'Verified.' out1 | wc -l | tr -d " "`
     out2oks=`grep 'Verified.' out2 | wc -l | tr -d " "`
    @@ -81,9 +74,9 @@
     # Test 3, forged Starfield certificate,
     # by Andrei Pyshkin, Erik Tews and Ralf-Philipp Weinmann.
     
    -EXPECT3=12
    +EXPECT3=11
     
    -datefudge "2006-09-23" $CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken3.pem | tee out1
    +$CERTTOOL --verify-chain --infile $srcdir/pkcs1-pad-broken3.pem | tee out1
     
     out1oks=`grep 'Verified.' out1 | wc -l | tr -d " "`
     out1fails=`grep 'Not verified.' out1 | wc -l | tr -d " "`
    diff -Nru gnutls26-2.8.6/tests/pkcs8-decode/Makefile.in gnutls26-2.4.1/tests/pkcs8-decode/Makefile.in
    --- gnutls26-2.8.6/tests/pkcs8-decode/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/pkcs8-decode/Makefile.in	2008-06-30 22:07:55.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -658,14 +549,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/pkcs8-decode/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/pkcs8-decode/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/pkcs8-decode/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/pkcs8-decode/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -683,7 +574,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -698,10 +588,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -710,63 +599,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -777,15 +652,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -805,17 +676,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -845,7 +712,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -864,8 +730,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -874,28 +738,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -916,7 +770,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -930,7 +784,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/pskself.c gnutls26-2.4.1/tests/pskself.c
    --- gnutls26-2.8.6/tests/pskself.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/pskself.c	2008-06-19 11:00:10.000000000 +0100
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -37,8 +37,6 @@
     #include 
     #include 
     
    -#include "tcp.c"
    -
     #include "utils.h"
     
     /* A very basic TLS client, with PSK authentication.
    @@ -47,7 +45,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static void
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -56,7 +93,7 @@
       gnutls_psk_client_credentials_t pskcred;
       /* Need to enable anonymous KX specifically. */
       const int kx_prio[] = { GNUTLS_KX_PSK, 0 };
    -  const gnutls_datum_t key = { (char*) "DEADBEEF", 8 };
    +  const gnutls_datum_t key = { "DEADBEEF", 8 };
     
       gnutls_global_init ();
     
    @@ -144,7 +181,7 @@
     /* These are global */
     gnutls_psk_server_credentials_t server_pskcred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -186,7 +223,7 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static void
    +void
     server_start (void)
     {
       success ("Launched...\n");
    @@ -206,7 +243,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -227,7 +264,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -264,7 +301,7 @@
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/resume.c gnutls26-2.4.1/tests/resume.c
    --- gnutls26-2.8.6/tests/resume.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/resume.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -37,8 +37,6 @@
     #include 
     #include 
     
    -#include "tcp.c"
    -
     #include "utils.h"
     
     static void wrap_db_init (void);
    @@ -55,7 +53,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static void
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -186,7 +223,7 @@
     /* These are global */
     gnutls_anon_server_credentials_t anoncred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -220,8 +257,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -240,7 +277,7 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static void
    +void
     global_start (void)
     {
       /* Socket operations
    @@ -258,7 +295,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -279,7 +316,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     global_stop (void)
     {
       success ("global stop\n");
    @@ -291,11 +328,9 @@
       gnutls_global_deinit ();
     }
     
    -static void
    +void
     server (void)
     {
    -  size_t t;
    -
       /* this must be called once in the program, it is mostly for the server.
        */
       gnutls_global_init ();
    @@ -313,6 +348,8 @@
           wrap_db_init ();
         }
     
    +  int t;
    +
       for (t = 0; t < 2; t++)
         {
           client_len = sizeof (sa_cli);
    @@ -343,7 +380,7 @@
           i = 0;
           for (;;)
     	{
    -	  memset (buffer, 0, MAX_BUF + 1);
    +	  bzero (buffer, MAX_BUF + 1);
     	  ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
     	  if (ret == 0)
    @@ -443,7 +480,8 @@
     static void
     wrap_db_deinit (void)
     {
    -  free (cache_db);
    +  if (cache_db)
    +    free (cache_db);
       cache_db = NULL;
       return;
     }
    diff -Nru gnutls26-2.8.6/tests/rsa-md5-collision/Makefile.am gnutls26-2.4.1/tests/rsa-md5-collision/Makefile.am
    --- gnutls26-2.8.6/tests/rsa-md5-collision/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/rsa-md5-collision/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -27,5 +27,3 @@
     dist_check_SCRIPTS = rsa-md5-collision
     
     TESTS = rsa-md5-collision
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/rsa-md5-collision/Makefile.in gnutls26-2.4.1/tests/rsa-md5-collision/Makefile.in
    --- gnutls26-2.8.6/tests/rsa-md5-collision/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/rsa-md5-collision/Makefile.in	2008-06-30 22:07:55.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = README $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -655,7 +546,6 @@
     
     dist_check_SCRIPTS = rsa-md5-collision
     TESTS = rsa-md5-collision
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -663,14 +553,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/rsa-md5-collision/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/rsa-md5-collision/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/rsa-md5-collision/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/rsa-md5-collision/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -688,7 +578,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -703,10 +592,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -715,63 +603,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -782,15 +656,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -810,17 +680,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -850,7 +716,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -869,8 +734,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -879,28 +742,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -921,7 +774,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -935,7 +788,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/rsa-md5-collision/rsa-md5-collision gnutls26-2.4.1/tests/rsa-md5-collision/rsa-md5-collision
    --- gnutls26-2.8.6/tests/rsa-md5-collision/rsa-md5-collision	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/rsa-md5-collision/rsa-md5-collision	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -23,7 +23,7 @@
     set -e
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     $CERTTOOL --inder --certificate-info \
         --infile $srcdir/MD5CollisionCA.cer > ca.pem
    diff -Nru gnutls26-2.8.6/tests/setcredcrash.c gnutls26-2.4.1/tests/setcredcrash.c
    --- gnutls26-2.8.6/tests/setcredcrash.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/setcredcrash.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,55 +0,0 @@
    -/*
    - * Copyright (C) 2008 Free Software Foundation
    - *
    - * Author: Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -int
    -main (int argc, char *argv[])
    -{
    -  gnutls_anon_client_credentials_t c_anoncred;
    -  gnutls_session_t client;
    -
    -  gnutls_global_init ();
    -
    -  gnutls_anon_allocate_client_credentials (&c_anoncred);
    -  gnutls_init (&client, GNUTLS_CLIENT);
    -  gnutls_set_default_priority (client);
    -
    -  /* Test setting the same credential type twice.  Earlier GnuTLS had
    -     a bug that crashed when this happened. */
    -  gnutls_credentials_set (client, GNUTLS_CRD_ANON, c_anoncred);
    -  gnutls_credentials_set (client, GNUTLS_CRD_ANON, c_anoncred);
    -
    -  gnutls_deinit (client);
    -  gnutls_anon_free_client_credentials (c_anoncred);
    -
    -  gnutls_global_deinit ();
    -
    -  return 0;
    -}
    diff -Nru gnutls26-2.8.6/tests/set_pkcs12_cred.c gnutls26-2.4.1/tests/set_pkcs12_cred.c
    --- gnutls26-2.8.6/tests/set_pkcs12_cred.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/set_pkcs12_cred.c	2008-06-19 11:00:10.000000000 +0100
    @@ -32,7 +32,7 @@
     doit (void)
     {
       gnutls_certificate_credentials_t x509cred;
    -  const char *file, *password;
    +  char *file, *password;
       int ret;
     
       ret = gnutls_global_init ();
    @@ -64,33 +64,5 @@
     
       gnutls_certificate_free_credentials (x509cred);
     
    -  /* try now if we can read correctly from a pkcs12 file that
    -   * contains two certificates (one unrelated with key)
    -   */
    -  ret = gnutls_certificate_allocate_credentials (&x509cred);
    -  if (ret < 0)
    -    fail ("gnutls_certificate_allocate_credentials failed %d\n", ret);
    -
    -  file = getenv ("PKCS12FILE_2");
    -  password = getenv ("PKCS12PASSWORD_2");
    -
    -  if (!file)
    -    file = "pkcs12-decode/pkcs12_2certs.p12";
    -  if (!password)
    -    password = "";
    -
    -  success ("Reading PKCS#12 blob from `%s' using password `%s'.\n",
    -	   file, password);
    -  ret = gnutls_certificate_set_x509_simple_pkcs12_file (x509cred,
    -							file,
    -							GNUTLS_X509_FMT_DER,
    -							password);
    -  if (ret < 0)
    -    fail ("x509_pkcs12 failed %d: %s\n", ret, gnutls_strerror (ret));
    -
    -  success ("Read file OK\n");
    -
    -  gnutls_certificate_free_credentials (x509cred);
    -
       gnutls_global_deinit ();
     }
    diff -Nru gnutls26-2.8.6/tests/sha2/Makefile.am gnutls26-2.4.1/tests/sha2/Makefile.am
    --- gnutls26-2.8.6/tests/sha2/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/sha2/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -24,5 +24,3 @@
     dist_check_SCRIPTS = sha2
     
     TESTS = sha2
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/sha2/Makefile.in gnutls26-2.4.1/tests/sha2/Makefile.in
    --- gnutls26-2.8.6/tests/sha2/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/sha2/Makefile.in	2008-06-30 22:07:55.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2007, 2008 Free Software Foundation
    +# Copyright (C) 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -651,7 +542,6 @@
     EXTRA_DIST = key-ca.pem key-subca.pem key-subsubca.pem key-user.pem
     dist_check_SCRIPTS = sha2
     TESTS = sha2
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -659,14 +549,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/sha2/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/sha2/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/sha2/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/sha2/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -684,7 +574,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -699,10 +588,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -711,63 +599,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -778,15 +652,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -806,17 +676,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -846,7 +712,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -865,8 +730,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -875,28 +738,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -917,7 +770,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -931,7 +784,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/sha2/sha2 gnutls26-2.4.1/tests/sha2/sha2
    --- gnutls26-2.8.6/tests/sha2/sha2	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/sha2/sha2	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2006, 2007, 2008 Free Software Foundation
    +# Copyright (C) 2006, 2007 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -23,7 +23,7 @@
     set -e
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     echo ca > template
     echo cn = "SHA 512 CA" >> template
    @@ -66,7 +66,7 @@
     num=`cat new-user.pem new-subsubca.pem new-subca.pem new-ca.pem | $CERTTOOL --verify-chain | tee verify | grep -c Verified`
     cat verify
     
    -if test "$num" != "5"; then
    +if test "$num" != "4"; then
         echo Verification failure
         exit 1
     else
    diff -Nru gnutls26-2.8.6/tests/simple.c gnutls26-2.4.1/tests/simple.c
    --- gnutls26-2.8.6/tests/simple.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/simple.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -31,64 +31,14 @@
     void
     doit (void)
     {
    -  printf ("GnuTLS header version %s.\n", GNUTLS_VERSION);
    -  printf ("GnuTLS library version %s.\n", gnutls_check_version (NULL));
    +  if (debug)
    +    {
    +      printf ("GNUTLS header version %s.\n", LIBGNUTLS_VERSION);
    +      printf ("GNUTLS library version %s.\n", gnutls_check_version (NULL));
    +    }
     
    -  if (gnutls_check_version (GNUTLS_VERSION))
    +  if (gnutls_check_version (LIBGNUTLS_VERSION))
         success ("gnutls_check_version OK\n");
       else
         fail ("gnutls_check_version ERROR\n");
    -
    -  {
    -    const gnutls_pk_algorithm_t *algs;
    -    size_t i;
    -    int pk;
    -
    -    algs = gnutls_pk_list ();
    -    if (!algs)
    -      fail ("gnutls_pk_list return NULL\n");
    -
    -    for (i = 0; algs[i]; i++)
    -      {
    -	printf ("pk_list[%d] = %d = %s = %d\n", i, algs[i],
    -		gnutls_pk_algorithm_get_name (algs[i]),
    -		gnutls_pk_get_id (gnutls_pk_algorithm_get_name (algs[i])));
    -	if (gnutls_pk_get_id (gnutls_pk_algorithm_get_name (algs[i]))
    -	    != algs[i])
    -	  fail ("gnutls_pk id's doesn't match\n");
    -      }
    -
    -    pk = gnutls_pk_get_id ("foo");
    -    if (pk != GNUTLS_PK_UNKNOWN)
    -      fail ("gnutls_pk unknown test failed (%d)\n", pk);
    -
    -    success ("gnutls_pk_list ok\n");
    -  }
    -
    -  {
    -    const gnutls_sign_algorithm_t *algs;
    -    size_t i;
    -    int pk;
    -
    -    algs = gnutls_sign_list ();
    -    if (!algs)
    -      fail ("gnutls_sign_list return NULL\n");
    -
    -    for (i = 0; algs[i]; i++)
    -      {
    -	printf ("sign_list[%d] = %d = %s = %d\n", i, algs[i],
    -		gnutls_sign_algorithm_get_name (algs[i]),
    -		gnutls_sign_get_id (gnutls_sign_algorithm_get_name
    -				    (algs[i])));
    -	if (gnutls_sign_get_id (gnutls_sign_algorithm_get_name (algs[i])) !=
    -	    algs[i])
    -	  fail ("gnutls_sign id's doesn't match\n");
    -      }
    -
    -    pk = gnutls_sign_get_id ("foo");
    -    if (pk != GNUTLS_PK_UNKNOWN)
    -      fail ("gnutls_sign unknown test failed (%d)\n", pk);
    -
    -    success ("gnutls_sign_list ok\n");
    -  }
     }
    diff -Nru gnutls26-2.8.6/tests/tlsia.c gnutls26-2.4.1/tests/tlsia.c
    --- gnutls26-2.8.6/tests/tlsia.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/tlsia.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -40,8 +40,6 @@
     
     #include "utils.h"
     
    -#include "tcp.c"
    -
     #include 
     
     /* A very basic TLS client, with anonymous authentication.
    @@ -50,16 +48,55 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static int
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +int
     client_avp (gnutls_session_t session, void *ptr,
     	    const char *last, size_t lastlen, char **new, size_t * newlen)
     {
       static int iter = 0;
    -  const char *p;
    +  char *p;
     
       if (last)
         printf ("client: received %d bytes AVP: `%.*s'\n",
    -	    lastlen, (int) lastlen, last);
    +	    lastlen, lastlen, last);
       else
         printf ("client: new application phase\n");
     
    @@ -100,7 +137,7 @@
       return 0;
     }
     
    -static void
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -236,7 +273,7 @@
     gnutls_anon_server_credentials_t anoncred;
     gnutls_ia_server_credentials_t iacred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -262,8 +299,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -282,16 +319,16 @@
     char buffer[MAX_BUF + 1];
     int optval = 1;
     
    -static int
    +int
     server_avp (gnutls_session_t session, void *ptr,
     	    const char *last, size_t lastlen, char **new, size_t * newlen)
     {
       static int iter = 0;
    -  const char *p;
    +  char *p;
     
       if (last)
         printf ("server: received %d bytes AVP: `%.*s'\n",
    -	    lastlen, (int) lastlen, last);
    +	    lastlen, lastlen, last);
     
       gnutls_ia_permute_inner_secret (session, 3, "foo");
     
    @@ -360,7 +397,7 @@
       return 0;
     }
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -378,7 +415,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -399,17 +436,12 @@
       success ("server: ready. Listening to port '%d'\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
        */
    -  ret = gnutls_global_init ();
    -  if (ret)
    -    fail ("global_init: %d\n", ret);
    -  ret = gnutls_global_init_extra ();
    -  if (ret)
    -    fail ("global_init_extra: %d\n", ret);
    +  gnutls_global_init ();
     
       gnutls_anon_allocate_server_credentials (&anoncred);
       gnutls_ia_allocate_server_credentials (&iacred);
    @@ -472,7 +504,7 @@
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/userid/Makefile.am gnutls26-2.4.1/tests/userid/Makefile.am
    --- gnutls26-2.8.6/tests/userid/Makefile.am	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/userid/Makefile.am	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     ## Process this file with automake to produce Makefile.in
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -24,5 +24,3 @@
     dist_check_SCRIPTS = userid
     
     TESTS = userid
    -
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
    diff -Nru gnutls26-2.8.6/tests/userid/Makefile.in gnutls26-2.4.1/tests/userid/Makefile.in
    --- gnutls26-2.8.6/tests/userid/Makefile.in	2010-03-15 10:29:23.000000000 +0000
    +++ gnutls26-2.4.1/tests/userid/Makefile.in	2008-06-30 22:07:55.000000000 +0100
    @@ -1,9 +1,8 @@
    -# Makefile.in generated by automake 1.11.1 from Makefile.am.
    +# Makefile.in generated by automake 1.10.1 from Makefile.am.
     # @configure_input@
     
     # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    -# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
    -# Inc.
    +# 2003, 2004, 2005, 2006, 2007, 2008  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.
    @@ -15,7 +14,7 @@
     
     @SET_MAKE@
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -36,9 +35,8 @@
     # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     VPATH = @srcdir@
     pkgdatadir = $(datadir)/@PACKAGE@
    -pkgincludedir = $(includedir)/@PACKAGE@
     pkglibdir = $(libdir)/@PACKAGE@
    -pkglibexecdir = $(libexecdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
     am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     install_sh_DATA = $(install_sh) -c -m 644
     install_sh_PROGRAM = $(install_sh) -c
    @@ -57,80 +55,92 @@
     DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
     	$(srcdir)/Makefile.in
     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    -am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
    -	$(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
    -	$(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
    +am__aclocal_m4_deps = $(top_srcdir)/lgl/m4/alloca.m4 \
    +	$(top_srcdir)/lgl/m4/arcfour.m4 $(top_srcdir)/lgl/m4/arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/des.m4 $(top_srcdir)/lgl/m4/float_h.m4 \
    +	$(top_srcdir)/lgl/m4/fseeko.m4 $(top_srcdir)/lgl/m4/func.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arcfour.m4 \
    +	$(top_srcdir)/lgl/m4/gc-arctwo.m4 \
    +	$(top_srcdir)/lgl/m4/gc-camellia.m4 \
    +	$(top_srcdir)/lgl/m4/gc-des.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md2.m4 $(top_srcdir)/lgl/m4/gc-md4.m4 \
    +	$(top_srcdir)/lgl/m4/gc-md5.m4 \
    +	$(top_srcdir)/lgl/m4/gc-pbkdf2-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/gc-random.m4 \
    +	$(top_srcdir)/lgl/m4/gc-rijndael.m4 \
    +	$(top_srcdir)/lgl/m4/gc-sha1.m4 $(top_srcdir)/lgl/m4/gc.m4 \
    +	$(top_srcdir)/lgl/m4/gnulib-comp.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-md5.m4 \
    +	$(top_srcdir)/lgl/m4/hmac-sha1.m4 \
    +	$(top_srcdir)/lgl/m4/intmax_t.m4 $(top_srcdir)/lgl/m4/lseek.m4 \
    +	$(top_srcdir)/lgl/m4/malloc.m4 $(top_srcdir)/lgl/m4/md2.m4 \
    +	$(top_srcdir)/lgl/m4/md4.m4 $(top_srcdir)/lgl/m4/md5.m4 \
    +	$(top_srcdir)/lgl/m4/memchr.m4 $(top_srcdir)/lgl/m4/memcmp.m4 \
    +	$(top_srcdir)/lgl/m4/memmem.m4 $(top_srcdir)/lgl/m4/memmove.m4 \
    +	$(top_srcdir)/lgl/m4/memxor.m4 $(top_srcdir)/lgl/m4/minmax.m4 \
    +	$(top_srcdir)/lgl/m4/printf.m4 \
    +	$(top_srcdir)/lgl/m4/read-file.m4 \
    +	$(top_srcdir)/lgl/m4/realloc.m4 \
    +	$(top_srcdir)/lgl/m4/rijndael.m4 $(top_srcdir)/lgl/m4/sha1.m4 \
    +	$(top_srcdir)/lgl/m4/snprintf.m4 \
    +	$(top_srcdir)/lgl/m4/sockpfaf.m4 \
    +	$(top_srcdir)/lgl/m4/stdbool.m4 $(top_srcdir)/lgl/m4/stdint.m4 \
    +	$(top_srcdir)/lgl/m4/stdio_h.m4 \
    +	$(top_srcdir)/lgl/m4/stdlib_h.m4 \
    +	$(top_srcdir)/lgl/m4/strcase.m4 \
    +	$(top_srcdir)/lgl/m4/string_h.m4 \
    +	$(top_srcdir)/lgl/m4/strings_h.m4 \
    +	$(top_srcdir)/lgl/m4/strverscmp.m4 \
    +	$(top_srcdir)/lgl/m4/sys_socket_h.m4 \
    +	$(top_srcdir)/lgl/m4/sys_stat_h.m4 \
    +	$(top_srcdir)/lgl/m4/time_h.m4 $(top_srcdir)/lgl/m4/time_r.m4 \
    +	$(top_srcdir)/lgl/m4/unistd_h.m4 \
    +	$(top_srcdir)/lgl/m4/vasnprintf.m4 \
    +	$(top_srcdir)/lgl/m4/vasprintf.m4 \
    +	$(top_srcdir)/lgl/m4/wchar.m4 \
     	$(top_srcdir)/gl/m4/arpa_inet_h.m4 \
    -	$(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
    -	$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
    +	$(top_srcdir)/gl/m4/autobuild.m4 \
    +	$(top_srcdir)/gl/m4/eoverflow.m4 $(top_srcdir)/gl/m4/error.m4 \
     	$(top_srcdir)/gl/m4/extensions.m4 \
    -	$(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
    -	$(top_srcdir)/gl/m4/fseeko.m4 \
     	$(top_srcdir)/gl/m4/getaddrinfo.m4 \
     	$(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
     	$(top_srcdir)/gl/m4/getpass.m4 \
    -	$(top_srcdir)/gl/m4/gettimeofday.m4 \
     	$(top_srcdir)/gl/m4/gnulib-common.m4 \
     	$(top_srcdir)/gl/m4/gnulib-comp.m4 \
    -	$(top_srcdir)/gl/m4/hostent.m4 \
     	$(top_srcdir)/gl/m4/include_next.m4 \
     	$(top_srcdir)/gl/m4/inet_ntop.m4 \
     	$(top_srcdir)/gl/m4/inet_pton.m4 \
    -	$(top_srcdir)/gl/m4/intmax_t.m4 \
    -	$(top_srcdir)/gl/m4/inttypes_h.m4 \
    -	$(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
    -	$(top_srcdir)/gl/m4/lib-prefix.m4 \
    -	$(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
    -	$(top_srcdir)/gl/m4/malloc.m4 \
    -	$(top_srcdir)/gl/m4/manywarnings.m4 \
    -	$(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/multiarch.m4 \
    -	$(top_srcdir)/gl/m4/netdb_h.m4 \
     	$(top_srcdir)/gl/m4/netinet_in_h.m4 \
     	$(top_srcdir)/gl/m4/onceonly_2_57.m4 \
    -	$(top_srcdir)/gl/m4/perror.m4 \
    -	$(top_srcdir)/gl/m4/pmccabe2html.m4 \
    -	$(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \
    -	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
    -	$(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
    -	$(top_srcdir)/gl/m4/size_max.m4 \
    -	$(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
    -	$(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
    -	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
    -	$(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \
    -	$(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
    -	$(top_srcdir)/gl/m4/strerror.m4 \
    -	$(top_srcdir)/gl/m4/string_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_select_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_socket_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_stat_h.m4 \
    -	$(top_srcdir)/gl/m4/sys_time_h.m4 \
    -	$(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
    -	$(top_srcdir)/gl/m4/vasnprintf.m4 \
    -	$(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar.m4 \
    -	$(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
    -	$(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
    -	$(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
    -	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    -	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/valgrind.m4 \
    -	$(top_srcdir)/configure.ac
    +	$(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/socklen.m4 \
    +	$(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strdup.m4 \
    +	$(top_srcdir)/gl/m4/strerror.m4 $(top_srcdir)/m4/gettext.m4 \
    +	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/guile.m4 \
    +	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
    +	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
    +	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
    +	$(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtasn1.m4 \
    +	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \
    +	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
    +	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
    +	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
    +	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
    +	$(top_srcdir)/configure.in
     am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     	$(ACLOCAL_M4)
     mkinstalldirs = $(install_sh) -d
     CONFIG_HEADER = $(top_builddir)/config.h
     CONFIG_CLEAN_FILES =
    -CONFIG_CLEAN_VPATH_FILES =
     SOURCES =
     DIST_SOURCES =
    -am__tty_colors = \
    -red=; grn=; lgn=; blu=; std=
     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     ACLOCAL = @ACLOCAL@
     ALLOCA = @ALLOCA@
     ALLOCA_H = @ALLOCA_H@
     AMTAR = @AMTAR@
    -APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
    +AM_CFLAGS = @AM_CFLAGS@
     AR = @AR@
     ARPA_INET_H = @ARPA_INET_H@
     AS = @AS@
    @@ -153,96 +163,60 @@
     CXXDEPMODE = @CXXDEPMODE@
     CXXFLAGS = @CXXFLAGS@
     CYGPATH_W = @CYGPATH_W@
    +DEFINE_SSIZE_T = @DEFINE_SSIZE_T@
     DEFS = @DEFS@
     DEPDIR = @DEPDIR@
     DLLTOOL = @DLLTOOL@
    -DLL_VERSION = @DLL_VERSION@
     DSYMUTIL = @DSYMUTIL@
    -DUMPBIN = @DUMPBIN@
    +ECHO = @ECHO@
     ECHO_C = @ECHO_C@
     ECHO_N = @ECHO_N@
     ECHO_T = @ECHO_T@
     EGREP = @EGREP@
    -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
    -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
    -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
    -ENOLINK_VALUE = @ENOLINK_VALUE@
    -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
    -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
    -ERRNO_H = @ERRNO_H@
    +EOVERFLOW = @EOVERFLOW@
     EXEEXT = @EXEEXT@
    -FGREP = @FGREP@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
     FLOAT_H = @FLOAT_H@
     GAA = @GAA@
    -GETADDRINFO_LIB = @GETADDRINFO_LIB@
    -GNULIB_ACCEPT = @GNULIB_ACCEPT@
    -GNULIB_ATOLL = @GNULIB_ATOLL@
    -GNULIB_BIND = @GNULIB_BIND@
    -GNULIB_BTOWC = @GNULIB_BTOWC@
    +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
    +GMSGFMT = @GMSGFMT@
    +GMSGFMT_015 = @GMSGFMT_015@
     GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
     GNULIB_CHOWN = @GNULIB_CHOWN@
    -GNULIB_CLOSE = @GNULIB_CLOSE@
    -GNULIB_CONNECT = @GNULIB_CONNECT@
    -GNULIB_DPRINTF = @GNULIB_DPRINTF@
     GNULIB_DUP2 = @GNULIB_DUP2@
     GNULIB_ENVIRON = @GNULIB_ENVIRON@
    -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
     GNULIB_FCHDIR = @GNULIB_FCHDIR@
    -GNULIB_FCLOSE = @GNULIB_FCLOSE@
     GNULIB_FFLUSH = @GNULIB_FFLUSH@
     GNULIB_FOPEN = @GNULIB_FOPEN@
    -GNULIB_FPRINTF = @GNULIB_FPRINTF@
     GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
    -GNULIB_FPUTC = @GNULIB_FPUTC@
    -GNULIB_FPUTS = @GNULIB_FPUTS@
     GNULIB_FREOPEN = @GNULIB_FREOPEN@
     GNULIB_FSEEK = @GNULIB_FSEEK@
     GNULIB_FSEEKO = @GNULIB_FSEEKO@
    -GNULIB_FSYNC = @GNULIB_FSYNC@
     GNULIB_FTELL = @GNULIB_FTELL@
     GNULIB_FTELLO = @GNULIB_FTELLO@
     GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
    -GNULIB_FWRITE = @GNULIB_FWRITE@
    -GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
     GNULIB_GETCWD = @GNULIB_GETCWD@
     GNULIB_GETDELIM = @GNULIB_GETDELIM@
    -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
    -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
    -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
     GNULIB_GETLINE = @GNULIB_GETLINE@
    -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
     GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
     GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
    -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
    -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
    -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
     GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
    -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
     GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
     GNULIB_INET_PTON = @GNULIB_INET_PTON@
    -GNULIB_IOCTL = @GNULIB_IOCTL@
    -GNULIB_LCHMOD = @GNULIB_LCHMOD@
     GNULIB_LCHOWN = @GNULIB_LCHOWN@
    -GNULIB_LINK = @GNULIB_LINK@
    -GNULIB_LISTEN = @GNULIB_LISTEN@
     GNULIB_LSEEK = @GNULIB_LSEEK@
    -GNULIB_LSTAT = @GNULIB_LSTAT@
     GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
    -GNULIB_MBRLEN = @GNULIB_MBRLEN@
    -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
     GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
     GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
     GNULIB_MBSCHR = @GNULIB_MBSCHR@
     GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
    -GNULIB_MBSINIT = @GNULIB_MBSINIT@
     GNULIB_MBSLEN = @GNULIB_MBSLEN@
     GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
     GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
    -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
     GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
     GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
     GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
    -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
     GNULIB_MBSSEP = @GNULIB_MBSSEP@
     GNULIB_MBSSPN = @GNULIB_MBSSPN@
     GNULIB_MBSSTR = @GNULIB_MBSSTR@
    @@ -254,31 +228,16 @@
     GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
     GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
     GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
    -GNULIB_PERROR = @GNULIB_PERROR@
    -GNULIB_PRINTF = @GNULIB_PRINTF@
     GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
    -GNULIB_PUTC = @GNULIB_PUTC@
    -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
     GNULIB_PUTENV = @GNULIB_PUTENV@
    -GNULIB_PUTS = @GNULIB_PUTS@
    -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
     GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
     GNULIB_READLINK = @GNULIB_READLINK@
     GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
    -GNULIB_RECV = @GNULIB_RECV@
    -GNULIB_RECVFROM = @GNULIB_RECVFROM@
     GNULIB_RPMATCH = @GNULIB_RPMATCH@
    -GNULIB_SELECT = @GNULIB_SELECT@
    -GNULIB_SEND = @GNULIB_SEND@
    -GNULIB_SENDTO = @GNULIB_SENDTO@
     GNULIB_SETENV = @GNULIB_SETENV@
    -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
    -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
     GNULIB_SLEEP = @GNULIB_SLEEP@
     GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
    -GNULIB_SOCKET = @GNULIB_SOCKET@
     GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
    -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
     GNULIB_STPCPY = @GNULIB_STPCPY@
     GNULIB_STPNCPY = @GNULIB_STPNCPY@
     GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
    @@ -293,29 +252,15 @@
     GNULIB_STRSTR = @GNULIB_STRSTR@
     GNULIB_STRTOD = @GNULIB_STRTOD@
     GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
    -GNULIB_STRTOLL = @GNULIB_STRTOLL@
    -GNULIB_STRTOULL = @GNULIB_STRTOULL@
    -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
    -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
     GNULIB_UNSETENV = @GNULIB_UNSETENV@
     GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
    -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
    -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
     GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
    -GNULIB_VPRINTF = @GNULIB_VPRINTF@
     GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
     GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
     GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
    -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
    -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
    -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
    -GNULIB_WCTOB = @GNULIB_WCTOB@
     GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
    -GNULIB_WRITE = @GNULIB_WRITE@
     GREP = @GREP@
     GTKDOC_CHECK = @GTKDOC_CHECK@
    -GTKDOC_MKPDF = @GTKDOC_MKPDF@
    -GTKDOC_REBASE = @GTKDOC_REBASE@
     GUILE = @GUILE@
     GUILE_CFLAGS = @GUILE_CFLAGS@
     GUILE_CONFIG = @GUILE_CONFIG@
    @@ -323,18 +268,11 @@
     GUILE_SITE = @GUILE_SITE@
     GUILE_TOOLS = @GUILE_TOOLS@
     HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
    -HAVE_ATOLL = @HAVE_ATOLL@
    -HAVE_BTOWC = @HAVE_BTOWC@
     HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
     HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
    -HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
    -HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
    -HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
     HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
     HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
    -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
     HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
    -HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
     HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
     HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
     HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
    @@ -343,51 +281,33 @@
     HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
     HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
     HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
    +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
     HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
     HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
     HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
     HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
     HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
    -HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
     HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
    -HAVE_DPRINTF = @HAVE_DPRINTF@
     HAVE_DUP2 = @HAVE_DUP2@
    -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
     HAVE_FSEEKO = @HAVE_FSEEKO@
    -HAVE_FSYNC = @HAVE_FSYNC@
     HAVE_FTELLO = @HAVE_FTELLO@
     HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
    -HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
    -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
    -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
     HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
     HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
    -HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
     HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
    -HAVE_LCHMOD = @HAVE_LCHMOD@
     HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
    -HAVE_LIBTASN1 = @HAVE_LIBTASN1@
    -HAVE_LINK = @HAVE_LINK@
    +HAVE_LIBZ = @HAVE_LIBZ@
     HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
     HAVE_LSTAT = @HAVE_LSTAT@
     HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
    -HAVE_MBRLEN = @HAVE_MBRLEN@
    -HAVE_MBRTOWC = @HAVE_MBRTOWC@
    -HAVE_MBSINIT = @HAVE_MBSINIT@
    -HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
    -HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
     HAVE_MEMPCPY = @HAVE_MEMPCPY@
     HAVE_MKDTEMP = @HAVE_MKDTEMP@
    -HAVE_NETDB_H = @HAVE_NETDB_H@
     HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
     HAVE_OS_H = @HAVE_OS_H@
    -HAVE_RANDOM_H = @HAVE_RANDOM_H@
    -HAVE_RANDOM_R = @HAVE_RANDOM_R@
     HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
     HAVE_READLINK = @HAVE_READLINK@
     HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
     HAVE_RPMATCH = @HAVE_RPMATCH@
    -HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
     HAVE_SETENV = @HAVE_SETENV@
     HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
     HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
    @@ -396,123 +316,108 @@
     HAVE_STDINT_H = @HAVE_STDINT_H@
     HAVE_STPCPY = @HAVE_STPCPY@
     HAVE_STPNCPY = @HAVE_STPNCPY@
    +HAVE_STRCASECMP = @HAVE_STRCASECMP@
     HAVE_STRCASESTR = @HAVE_STRCASESTR@
     HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
     HAVE_STRNDUP = @HAVE_STRNDUP@
     HAVE_STRPBRK = @HAVE_STRPBRK@
     HAVE_STRSEP = @HAVE_STRSEP@
     HAVE_STRTOD = @HAVE_STRTOD@
    -HAVE_STRTOLL = @HAVE_STRTOLL@
    -HAVE_STRTOULL = @HAVE_STRTOULL@
    -HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
    -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
    -HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
    -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
    -HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
     HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
     HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
    -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
    -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
     HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
    -HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
     HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
    -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
     HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
     HAVE_UNISTD_H = @HAVE_UNISTD_H@
     HAVE_UNSETENV = @HAVE_UNSETENV@
     HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
     HAVE_VASPRINTF = @HAVE_VASPRINTF@
    -HAVE_VDPRINTF = @HAVE_VDPRINTF@
     HAVE_WCHAR_H = @HAVE_WCHAR_H@
    -HAVE_WCRTOMB = @HAVE_WCRTOMB@
    -HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
    -HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
     HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
    -HAVE_WINT_T = @HAVE_WINT_T@
     HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
     HAVE__BOOL = @HAVE__BOOL@
    -HOSTENT_LIB = @HOSTENT_LIB@
     HTML_DIR = @HTML_DIR@
     INCLUDE_NEXT = @INCLUDE_NEXT@
    -INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
    -INET_NTOP_LIB = @INET_NTOP_LIB@
    -INET_PTON_LIB = @INET_PTON_LIB@
     INSTALL = @INSTALL@
     INSTALL_DATA = @INSTALL_DATA@
     INSTALL_PROGRAM = @INSTALL_PROGRAM@
     INSTALL_SCRIPT = @INSTALL_SCRIPT@
     INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    -LD = @LD@
    +INTLLIBS = @INTLLIBS@
    +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
     LDFLAGS = @LDFLAGS@
     LIBGCRYPT = @LIBGCRYPT@
    +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
    +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
    +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
     LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
    +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
    +LIBGNUTLS_EXTRA_CFLAGS = @LIBGNUTLS_EXTRA_CFLAGS@
    +LIBGNUTLS_EXTRA_LIBS = @LIBGNUTLS_EXTRA_LIBS@
    +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
    +LIBICONV = @LIBICONV@
     LIBINTL = @LIBINTL@
     LIBOBJS = @LIBOBJS@
     LIBREADLINE = @LIBREADLINE@
     LIBS = @LIBS@
    -LIBSOCKET = @LIBSOCKET@
    -LIBTASN1 = @LIBTASN1@
    -LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
    -LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
    +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@
    +LIBTASN1_CONFIG = @LIBTASN1_CONFIG@
    +LIBTASN1_LIBS = @LIBTASN1_LIBS@
     LIBTOOL = @LIBTOOL@
    -LIPO = @LIPO@
    +LIBZ = @LIBZ@
    +LIBZ_PREFIX = @LIBZ_PREFIX@
     LN_S = @LN_S@
    -LTALLOCA = @LTALLOCA@
     LTLIBGCRYPT = @LTLIBGCRYPT@
    +LTLIBICONV = @LTLIBICONV@
     LTLIBINTL = @LTLIBINTL@
     LTLIBOBJS = @LTLIBOBJS@
     LTLIBREADLINE = @LTLIBREADLINE@
    -LTLIBTASN1 = @LTLIBTASN1@
    +LTLIBZ = @LTLIBZ@
     LT_AGE = @LT_AGE@
     LT_CURRENT = @LT_CURRENT@
     LT_REVISION = @LT_REVISION@
     LZO_LIBS = @LZO_LIBS@
    +MAJOR_VERSION = @MAJOR_VERSION@
     MAKEINFO = @MAKEINFO@
    +MINOR_VERSION = @MINOR_VERSION@
     MKDIR_P = @MKDIR_P@
    -NETDB_H = @NETDB_H@
    +MSGFMT = @MSGFMT@
    +MSGFMT_015 = @MSGFMT_015@
    +MSGMERGE = @MSGMERGE@
     NETINET_IN_H = @NETINET_IN_H@
     NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
    -NEXT_ERRNO_H = @NEXT_ERRNO_H@
     NEXT_FLOAT_H = @NEXT_FLOAT_H@
    -NEXT_NETDB_H = @NEXT_NETDB_H@
     NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
     NEXT_STDARG_H = @NEXT_STDARG_H@
     NEXT_STDINT_H = @NEXT_STDINT_H@
     NEXT_STDIO_H = @NEXT_STDIO_H@
     NEXT_STDLIB_H = @NEXT_STDLIB_H@
    +NEXT_STRINGS_H = @NEXT_STRINGS_H@
     NEXT_STRING_H = @NEXT_STRING_H@
    -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
    -NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
     NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
     NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
    -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
    +NEXT_TIME_H = @NEXT_TIME_H@
     NEXT_UNISTD_H = @NEXT_UNISTD_H@
     NEXT_WCHAR_H = @NEXT_WCHAR_H@
    -NM = @NM@
     NMEDIT = @NMEDIT@
    +NUMBER_VERSION = @NUMBER_VERSION@
     OBJDUMP = @OBJDUMP@
     OBJEXT = @OBJEXT@
    -OTOOL = @OTOOL@
    -OTOOL64 = @OTOOL64@
     PACKAGE = @PACKAGE@
     PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     PACKAGE_NAME = @PACKAGE_NAME@
     PACKAGE_STRING = @PACKAGE_STRING@
     PACKAGE_TARNAME = @PACKAGE_TARNAME@
    -PACKAGE_URL = @PACKAGE_URL@
     PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATCH_VERSION = @PATCH_VERSION@
     PATH_SEPARATOR = @PATH_SEPARATOR@
     PKG_CONFIG = @PKG_CONFIG@
    -PMCCABE = @PMCCABE@
    -PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
    +POSSIBLY_WARN_ABOUT_MISSING_FEATURES = @POSSIBLY_WARN_ABOUT_MISSING_FEATURES@
    +POSUB = @POSUB@
     PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
     RANLIB = @RANLIB@
    -REPLACE_BTOWC = @REPLACE_BTOWC@
     REPLACE_CHOWN = @REPLACE_CHOWN@
    -REPLACE_CLOSE = @REPLACE_CLOSE@
    -REPLACE_DPRINTF = @REPLACE_DPRINTF@
     REPLACE_FCHDIR = @REPLACE_FCHDIR@
    -REPLACE_FCLOSE = @REPLACE_FCLOSE@
     REPLACE_FFLUSH = @REPLACE_FFLUSH@
     REPLACE_FOPEN = @REPLACE_FOPEN@
     REPLACE_FPRINTF = @REPLACE_FPRINTF@
    @@ -524,78 +429,62 @@
     REPLACE_GETCWD = @REPLACE_GETCWD@
     REPLACE_GETLINE = @REPLACE_GETLINE@
     REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
    -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
     REPLACE_LCHOWN = @REPLACE_LCHOWN@
    +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
     REPLACE_LSEEK = @REPLACE_LSEEK@
    -REPLACE_LSTAT = @REPLACE_LSTAT@
    -REPLACE_MBRLEN = @REPLACE_MBRLEN@
    -REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
    -REPLACE_MBSINIT = @REPLACE_MBSINIT@
    -REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
    -REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
    -REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
     REPLACE_MEMMEM = @REPLACE_MEMMEM@
     REPLACE_MKDIR = @REPLACE_MKDIR@
     REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
    +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
     REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
    -REPLACE_PERROR = @REPLACE_PERROR@
     REPLACE_PRINTF = @REPLACE_PRINTF@
     REPLACE_PUTENV = @REPLACE_PUTENV@
    -REPLACE_SELECT = @REPLACE_SELECT@
     REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
     REPLACE_SPRINTF = @REPLACE_SPRINTF@
    -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
     REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
    -REPLACE_STRDUP = @REPLACE_STRDUP@
     REPLACE_STRERROR = @REPLACE_STRERROR@
    +REPLACE_STRPTIME = @REPLACE_STRPTIME@
     REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
     REPLACE_STRSTR = @REPLACE_STRSTR@
     REPLACE_STRTOD = @REPLACE_STRTOD@
    +REPLACE_TIMEGM = @REPLACE_TIMEGM@
     REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
    -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
     REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
     REPLACE_VPRINTF = @REPLACE_VPRINTF@
     REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
     REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
    -REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
    -REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
    -REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
    -REPLACE_WCTOB = @REPLACE_WCTOB@
     REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
    -REPLACE_WRITE = @REPLACE_WRITE@
     SED = @SED@
    -SERVENT_LIB = @SERVENT_LIB@
     SET_MAKE = @SET_MAKE@
     SHELL = @SHELL@
     SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
     SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
    +SOVERSION = @SOVERSION@
     STDARG_H = @STDARG_H@
     STDBOOL_H = @STDBOOL_H@
     STDINT_H = @STDINT_H@
     STRIP = @STRIP@
    -SYS_IOCTL_H = @SYS_IOCTL_H@
    -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
    -SYS_SELECT_H = @SYS_SELECT_H@
     SYS_SOCKET_H = @SYS_SOCKET_H@
     SYS_STAT_H = @SYS_STAT_H@
    -SYS_TIME_H = @SYS_TIME_H@
    -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
    +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
    +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
    +USE_NLS = @USE_NLS@
     VALGRIND = @VALGRIND@
     VERSION = @VERSION@
     VOID_UNSETENV = @VOID_UNSETENV@
    -WARN_CFLAGS = @WARN_CFLAGS@
     WCHAR_H = @WCHAR_H@
     WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
    -WERROR_CFLAGS = @WERROR_CFLAGS@
     WINT_T_SUFFIX = @WINT_T_SUFFIX@
    -abs_aux_dir = @abs_aux_dir@
    +XGETTEXT = @XGETTEXT@
    +XGETTEXT_015 = @XGETTEXT_015@
    +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
     abs_builddir = @abs_builddir@
     abs_srcdir = @abs_srcdir@
     abs_top_builddir = @abs_top_builddir@
     abs_top_srcdir = @abs_top_srcdir@
     ac_ct_CC = @ac_ct_CC@
     ac_ct_CXX = @ac_ct_CXX@
    -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    +ac_ct_F77 = @ac_ct_F77@
     am__include = @am__include@
     am__leading_dot = @am__leading_dot@
     am__quote = @am__quote@
    @@ -627,11 +516,14 @@
     includedir = @includedir@
     infodir = @infodir@
     install_sh = @install_sh@
    +lgl_LIBOBJS = @lgl_LIBOBJS@
    +lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
    +lgltests_LIBOBJS = @lgltests_LIBOBJS@
    +lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
     libdir = @libdir@
     libexecdir = @libexecdir@
     localedir = @localedir@
     localstatedir = @localstatedir@
    -lt_ECHO = @lt_ECHO@
     mandir = @mandir@
     mkdir_p = @mkdir_p@
     oldincludedir = @oldincludedir@
    @@ -642,7 +534,6 @@
     sbindir = @sbindir@
     sharedstatedir = @sharedstatedir@
     srcdir = @srcdir@
    -subdirs = @subdirs@
     sysconfdir = @sysconfdir@
     target_alias = @target_alias@
     top_build_prefix = @top_build_prefix@
    @@ -651,7 +542,6 @@
     EXTRA_DIST = userid.pem
     dist_check_SCRIPTS = userid
     TESTS = userid
    -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT)
     all: all-am
     
     .SUFFIXES:
    @@ -659,14 +549,14 @@
     	@for dep in $?; do \
     	  case '$(am__configure_deps)' in \
     	    *$$dep*) \
    -	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    -	        && { if test -f $@; then exit 0; else break; fi; }; \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
     	      exit 1;; \
     	  esac; \
     	done; \
    -	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/userid/Makefile'; \
    -	$(am__cd) $(top_srcdir) && \
    -	  $(AUTOMAKE) --gnu tests/userid/Makefile
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/userid/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --gnu  tests/userid/Makefile
     .PRECIOUS: Makefile
     Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     	@case '$?' in \
    @@ -684,7 +574,6 @@
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
     	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    -$(am__aclocal_m4_deps):
     
     mostlyclean-libtool:
     	-rm -f *.lo
    @@ -699,10 +588,9 @@
     
     
     check-TESTS: $(TESTS)
    -	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
    +	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
     	srcdir=$(srcdir); export srcdir; \
     	list=' $(TESTS) '; \
    -	$(am__tty_colors); \
     	if test -n "$$list"; then \
     	  for tst in $$list; do \
     	    if test -f ./$$tst; then dir=./; \
    @@ -711,63 +599,49 @@
     	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xpass=`expr $$xpass + 1`; \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=XPASS; \
    +		echo "XPASS: $$tst"; \
     	      ;; \
     	      *) \
    -		col=$$grn; res=PASS; \
    +		echo "PASS: $$tst"; \
     	      ;; \
     	      esac; \
     	    elif test $$? -ne 77; then \
     	      all=`expr $$all + 1`; \
     	      case " $(XFAIL_TESTS) " in \
    -	      *[\ \	]$$tst[\ \	]*) \
    +	      *$$ws$$tst$$ws*) \
     		xfail=`expr $$xfail + 1`; \
    -		col=$$lgn; res=XFAIL; \
    +		echo "XFAIL: $$tst"; \
     	      ;; \
     	      *) \
     		failed=`expr $$failed + 1`; \
    -		col=$$red; res=FAIL; \
    +		echo "FAIL: $$tst"; \
     	      ;; \
     	      esac; \
     	    else \
     	      skip=`expr $$skip + 1`; \
    -	      col=$$blu; res=SKIP; \
    +	      echo "SKIP: $$tst"; \
     	    fi; \
    -	    echo "$${col}$$res$${std}: $$tst"; \
     	  done; \
    -	  if test "$$all" -eq 1; then \
    -	    tests="test"; \
    -	    All=""; \
    -	  else \
    -	    tests="tests"; \
    -	    All="All "; \
    -	  fi; \
     	  if test "$$failed" -eq 0; then \
     	    if test "$$xfail" -eq 0; then \
    -	      banner="$$All$$all $$tests passed"; \
    +	      banner="All $$all tests passed"; \
     	    else \
    -	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
    -	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
    +	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
     	    fi; \
     	  else \
     	    if test "$$xpass" -eq 0; then \
    -	      banner="$$failed of $$all $$tests failed"; \
    +	      banner="$$failed of $$all tests failed"; \
     	    else \
    -	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
    -	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
    +	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
     	    fi; \
     	  fi; \
     	  dashes="$$banner"; \
     	  skipped=""; \
     	  if test "$$skip" -ne 0; then \
    -	    if test "$$skip" -eq 1; then \
    -	      skipped="($$skip test was not run)"; \
    -	    else \
    -	      skipped="($$skip tests were not run)"; \
    -	    fi; \
    +	    skipped="($$skip tests were not run)"; \
     	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
     	      dashes="$$skipped"; \
     	  fi; \
    @@ -778,15 +652,11 @@
     	      dashes="$$report"; \
     	  fi; \
     	  dashes=`echo "$$dashes" | sed s/./=/g`; \
    -	  if test "$$failed" -eq 0; then \
    -	    echo "$$grn$$dashes"; \
    -	  else \
    -	    echo "$$red$$dashes"; \
    -	  fi; \
    +	  echo "$$dashes"; \
     	  echo "$$banner"; \
     	  test -z "$$skipped" || echo "$$skipped"; \
     	  test -z "$$report" || echo "$$report"; \
    -	  echo "$$dashes$$std"; \
    +	  echo "$$dashes"; \
     	  test "$$failed" -eq 0; \
     	else :; fi
     
    @@ -806,17 +676,13 @@
     	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
     	  if test -d $$d/$$file; then \
     	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    -	    if test -d "$(distdir)/$$file"; then \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    -	    fi; \
     	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    -	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    -	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
     	    fi; \
    -	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
     	  else \
    -	    test -f "$(distdir)/$$file" \
    -	    || cp -p $$d/$$file "$(distdir)/$$file" \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
     	    || exit 1; \
     	  fi; \
     	done
    @@ -846,7 +712,6 @@
     
     distclean-generic:
     	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
     
     maintainer-clean-generic:
     	@echo "This command is intended for maintainers to use"
    @@ -865,8 +730,6 @@
     
     html: html-am
     
    -html-am:
    -
     info: info-am
     
     info-am:
    @@ -875,28 +738,18 @@
     
     install-dvi: install-dvi-am
     
    -install-dvi-am:
    -
     install-exec-am:
     
     install-html: install-html-am
     
    -install-html-am:
    -
     install-info: install-info-am
     
    -install-info-am:
    -
     install-man:
     
     install-pdf: install-pdf-am
     
    -install-pdf-am:
    -
     install-ps: install-ps-am
     
    -install-ps-am:
    -
     installcheck-am:
     
     maintainer-clean: maintainer-clean-am
    @@ -917,7 +770,7 @@
     
     uninstall-am:
     
    -.MAKE: check-am install-am install-strip
    +.MAKE: install-am install-strip
     
     .PHONY: all all-am check check-TESTS check-am clean clean-generic \
     	clean-libtool distclean distclean-generic distclean-libtool \
    @@ -931,7 +784,6 @@
     	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     	uninstall uninstall-am
     
    -
     # 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:
    diff -Nru gnutls26-2.8.6/tests/userid/userid gnutls26-2.4.1/tests/userid/userid
    --- gnutls26-2.8.6/tests/userid/userid	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/userid/userid	2008-06-19 11:00:10.000000000 +0100
    @@ -1,6 +1,6 @@
     #!/bin/sh
     
    -# Copyright (C) 2006, 2008 Free Software Foundation
    +# Copyright (C) 2006 Free Software Foundation
     #
     # Author: Simon Josefsson
     #
    @@ -23,6 +23,6 @@
     set -e
     
     srcdir=${srcdir:-.}
    -CERTTOOL=${CERTTOOL:-../../src/certtool$EXEEXT}
    +CERTTOOL=${CERTTOOL:-../../src/certtool}
     
     exec $CERTTOOL --certificate-info --infile $srcdir/userid.pem
    diff -Nru gnutls26-2.8.6/tests/utils.c gnutls26-2.4.1/tests/utils.c
    --- gnutls26-2.8.6/tests/utils.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/utils.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -33,7 +33,7 @@
     int error_count = 0;
     int break_on_error = 0;
     
    -const char *pkcs3 =
    +char *pkcs3 =
       "-----BEGIN DH PARAMETERS-----\n"
       "MIGGAoGAtkxw2jlsVCsrfLqxrN+IrF/3W8vVFvDzYbLmxi2GQv9s/PQGWP1d9i22\n"
       "P2DprfcJknWt7KhCI1SaYseOQIIIAYP78CfyIpGScW/vS8khrw0rlQiyeCvQgF3O\n"
    diff -Nru gnutls26-2.8.6/tests/utils.h gnutls26-2.4.1/tests/utils.h
    --- gnutls26-2.8.6/tests/utils.h	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/utils.h	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2007 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -27,22 +27,14 @@
     # include 
     # include 
     
    -#ifndef __attribute__
    -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
    -#  define __attribute__(Spec)	/* empty */
    -# endif
    -#endif
    -
     extern int debug;
     extern int error_count;
     extern int break_on_error;
     
    -extern const char *pkcs3;
    +extern char *pkcs3;
     
    -extern void fail (const char *format, ...)
    -  __attribute__ ((format (printf, 1, 2)));
    -extern void success (const char *format, ...)
    -  __attribute__ ((format (printf, 1, 2)));
    +extern void fail (const char *format, ...);
    +extern void success (const char *format, ...);
     
     extern void escapeprint (const char *str, size_t len);
     extern void hexprint (const char *str, size_t len);
    diff -Nru gnutls26-2.8.6/tests/x509dn.c gnutls26-2.4.1/tests/x509dn.c
    --- gnutls26-2.8.6/tests/x509dn.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/x509dn.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -41,7 +41,6 @@
     
     #include "ex-session-info.c"
     #include "ex-x509-info.c"
    -#include "tcp.c"
     
     pid_t child;
     
    @@ -57,7 +56,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static unsigned char ca_pem[] =
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +const char ca_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
    @@ -69,10 +107,11 @@
       "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
       "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
       "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
    -  "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
    +  "PfqUpIhz5Bbm7J4=\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t ca = { ca_pem, sizeof (ca_pem) };
     
    -static unsigned char cert_pem[] =
    +const char cert_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
    @@ -85,10 +124,11 @@
       "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
       "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
       "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
    -  "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
    +  "dc8Siq5JojruiMizAf0pA7in\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t cert = { cert_pem, sizeof (cert_pem) };
     
    -static unsigned char key_pem[] =
    +const char key_pem[] =
       "-----BEGIN RSA PRIVATE KEY-----\n"
       "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
       "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
    @@ -110,9 +150,9 @@
     
     static int
     cert_callback (gnutls_session session,
    -	       const gnutls_datum * req_ca_rdn, int nreqs,
    -	       const gnutls_pk_algorithm * sign_algos,
    -	       int sign_algos_length, gnutls_retr_st * st)
    +               const gnutls_datum *req_ca_rdn, int nreqs,
    +               const gnutls_pk_algorithm *sign_algos,
    +               int sign_algos_length, gnutls_retr_st *st)
     {
       int result;
       gnutls_x509_dn_t dn;
    @@ -125,7 +165,7 @@
     
       success ("client: invoked to provide client cert.\n");
     
    -  result = gnutls_x509_dn_init (&dn);
    +  result = gnutls_x509_dn_init( &dn);
       if (result < 0)
         {
           fail ("client: could not initialize DN.\n");
    @@ -136,43 +176,43 @@
       if (result == 0)
         {
           gnutls_x509_ava_st val;
    -
    +      
           success ("client: imported DN.\n");
    -
    +      
           if (gnutls_x509_dn_get_rdn_ava (dn, 0, 0, &val) == 0)
    -	{
    -	  success ("client: got RDN 0.\n");
    -
    -	  if (val.value.size == strlen (EXPECT_RDN0)
    -	      && strncmp (val.value.data, EXPECT_RDN0, val.value.size) == 0)
    -	    {
    -	      success ("client: RND 0 correct.\n");
    -	    }
    -	  else
    -	    {
    -	      fail ("client: RND 0 bad: %.*s\n",
    -		    val.value.size, val.value.data);
    -	      return -1;
    -	    }
    -	}
    +        {
    +          success ("client: got RDN 0.\n");
    +          
    +          if (val.value.size == strlen(EXPECT_RDN0)
    +              && strncmp(val.value.data, EXPECT_RDN0, val.value.size) == 0)
    +            {
    +              success ("client: RND 0 correct.\n");
    +            }
    +          else
    +            {
    +              fail ("client: RND 0 bad: %.*s\n", 
    +                    val.value.size, val.value.data);
    +              return -1;
    +            }
    +        }
           else
    -	{
    -	  fail ("client: could not retrieve RDN 0.\n");
    -	  return -1;
    -	}
    -
    +        {
    +          fail ("client: could not retrieve RDN 0.\n");
    +          return -1;
    +        }
    +      
           gnutls_x509_dn_deinit (dn);
         }
       else
         {
           fail ("client: failed to parse RDN: %s\n", gnutls_strerror (result));
         }
    -
    +  
       return 0;
     }
     
     
    -static void
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -230,7 +270,7 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       gnutls_record_send (session, MSG, strlen (MSG));
     
    @@ -277,7 +317,7 @@
     /* These are global */
     gnutls_certificate_credentials_t x509_cred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -305,8 +345,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -326,7 +366,7 @@
     int optval = 1;
     
     
    -static unsigned char server_cert_pem[] =
    +const char server_cert_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
    @@ -340,13 +380,13 @@
       "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
       "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
       "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
    -  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
    +  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
    +  "-----END CERTIFICATE-----\n";
     
     const gnutls_datum_t server_cert = { server_cert_pem,
    -  sizeof (server_cert_pem)
    -};
    +				     sizeof (server_cert_pem) };
     
    -static unsigned char server_key_pem[] =
    +const char server_key_pem[] =
       "-----BEGIN RSA PRIVATE KEY-----\n"
       "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
       "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
    @@ -364,10 +404,9 @@
       "-----END RSA PRIVATE KEY-----\n";
     
     const gnutls_datum_t server_key = { server_key_pem,
    -  sizeof (server_key_pem)
    -};
    +				    sizeof (server_key_pem) };
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -385,7 +424,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -406,7 +445,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -454,12 +493,12 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    @@ -519,21 +558,18 @@
           /* parent */
           server ();
           wait (&status);
    -
    -#if defined WIFEXITED && defined WEXITSTATUS
    +      
    +#if defined(WIFEXITED) && defined(WEXITSTATUS)
           if (WIFEXITED (status) && WEXITSTATUS (status))
    -	{
    -	  fail ("server: client failed with exit status %d\n",
    -		WEXITSTATUS (status));
    -	}
    +        {
    +          fail ("server: client failed with exit status %d\n", WEXITSTATUS (status));
    +        }
     #endif
    -
    -#if defined WIFSIGNALED && defined WTERMSIG
    +#if defined(WIFSIGNALED) && defined(WTERMSIG)
           if (WIFSIGNALED (status))
    -	{
    -	  fail ("server: client failed with fatal signal %d\n",
    -		WTERMSIG (status));
    -	}
    +        {
    +          fail ("server: client failed with fatal signal %d\n", WTERMSIG (status));
    +        }
     #endif
     
         }
    diff -Nru gnutls26-2.8.6/tests/x509self.c gnutls26-2.4.1/tests/x509self.c
    --- gnutls26-2.8.6/tests/x509self.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/x509self.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -41,7 +41,6 @@
     
     #include "ex-session-info.c"
     #include "ex-x509-info.c"
    -#include "tcp.c"
     
     pid_t child;
     
    @@ -57,7 +56,46 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    -static unsigned char ca_pem[] =
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
    +const char ca_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
    @@ -69,10 +107,11 @@
       "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
       "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
       "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
    -  "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
    +  "PfqUpIhz5Bbm7J4=\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t ca = { ca_pem, sizeof (ca_pem) };
     
    -static unsigned char cert_pem[] =
    +const char cert_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
    @@ -85,10 +124,11 @@
       "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
       "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
       "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
    -  "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
    +  "dc8Siq5JojruiMizAf0pA7in\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t cert = { cert_pem, sizeof (cert_pem) };
     
    -static unsigned char key_pem[] =
    +const char key_pem[] =
       "-----BEGIN RSA PRIVATE KEY-----\n"
       "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
       "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
    @@ -106,7 +146,7 @@
       "-----END RSA PRIVATE KEY-----\n";
     const gnutls_datum_t key = { key_pem, sizeof (key_pem) };
     
    -static void
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -118,7 +158,7 @@
     
       gnutls_global_set_log_function (tls_log_func);
       if (debug)
    -    gnutls_global_set_log_level (6);
    +    gnutls_global_set_log_level (4711);
     
       gnutls_certificate_allocate_credentials (&xcred);
     
    @@ -164,40 +204,11 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
    -  ret = gnutls_record_send (session, MSG, strlen (MSG));
    -  
    -  if (ret == strlen(MSG))
    -    {
    -      success ("client: sent record.\n");
    -    }
    -  else 
    -    {
    -      fail ("client: failed to send record.\n");
    -      gnutls_perror(ret);
    -      goto end;
    -    }
    +  gnutls_record_send (session, MSG, strlen (MSG));
     
       ret = gnutls_record_recv (session, buffer, MAX_BUF);
    -
    -  success ("client: recv returned %d.\n", ret);
    -
    -  if (ret == GNUTLS_E_REHANDSHAKE)
    -    {
    -      success ("client: doing handshake!\n");
    -      ret = gnutls_handshake (session);
    -      if (ret == 0) 
    -        {
    -          success ("client: handshake complete, reading again.\n");
    -          ret = gnutls_record_recv (session, buffer, MAX_BUF);
    -        }
    -      else
    -        {
    -          fail ("client: handshake failed.\n");
    -        }
    -  }
    -
       if (ret == 0)
         {
           success ("client: Peer has closed the TLS connection\n");
    @@ -240,7 +251,7 @@
     /* These are global */
     gnutls_certificate_credentials_t x509_cred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -255,9 +266,8 @@
       gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, x509_cred);
     
       /* request client certificate if any.
    -     Moved to later on to be able to test re-handshakes.
    +   */
       gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST);
    -  */
     
       gnutls_dh_set_prime_bits (session, DH_BITS);
     
    @@ -269,8 +279,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -290,7 +300,7 @@
     int optval = 1;
     
     
    -static unsigned char server_cert_pem[] =
    +const char server_cert_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
       "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
    @@ -304,13 +314,13 @@
       "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
       "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
       "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
    -  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
    +  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
    +  "-----END CERTIFICATE-----\n";
     
     const gnutls_datum_t server_cert = { server_cert_pem,
    -  sizeof (server_cert_pem)
    -};
    +				     sizeof (server_cert_pem) };
     
    -static unsigned char server_key_pem[] =
    +const char server_key_pem[] =
       "-----BEGIN RSA PRIVATE KEY-----\n"
       "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
       "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
    @@ -328,10 +338,9 @@
       "-----END RSA PRIVATE KEY-----\n";
     
     const gnutls_datum_t server_key = { server_key_pem,
    -  sizeof (server_key_pem)
    -};
    +				    sizeof (server_key_pem) };
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -349,7 +358,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -370,7 +379,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -379,7 +388,7 @@
     
       gnutls_global_set_log_function (tls_log_func);
       if (debug)
    -    gnutls_global_set_log_level (6);
    +    gnutls_global_set_log_level (4711);
     
       gnutls_certificate_allocate_credentials (&x509_cred);
       gnutls_certificate_set_x509_trust_mem (x509_cred, &ca, GNUTLS_X509_FMT_PEM);
    @@ -418,12 +427,12 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    @@ -438,28 +447,6 @@
     	}
           else if (ret > 0)
     	{
    -          gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST);
    -
    -          success ("server: got data, forcing rehandshake.\n");
    -
    -          ret = gnutls_rehandshake(session);
    -          if (ret < 0) 
    -            {
    -              fail ("server: rehandshake failed\n");
    -              gnutls_perror(ret);
    -              break;
    -            }
    -          
    -          ret = gnutls_handshake(session);
    -          if (ret < 0) 
    -            {
    -              fail ("server: (re)handshake failed\n");
    -              gnutls_perror(ret);
    -              break;
    -            }
    -            
    -          success ("server: rehandshake complete.\n");
    -
     	  /* echo data back to the client
     	   */
     	  gnutls_record_send (session, buffer, strlen (buffer));
    diff -Nru gnutls26-2.8.6/tests/x509signself.c gnutls26-2.4.1/tests/x509signself.c
    --- gnutls26-2.8.6/tests/x509signself.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/x509signself.c	2008-06-19 11:00:10.000000000 +0100
    @@ -1,5 +1,5 @@
     /*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
      *
      * Author: Simon Josefsson
      *
    @@ -22,7 +22,7 @@
     
     /* Parts copied from GnuTLS example programs. */
     
    -#ifdef HAVE_CONFIG_H
    +#if HAVE_CONFIG_H
     # include 
     #endif
     
    @@ -40,7 +40,7 @@
     
     #include "ex-session-info.c"
     #include "ex-x509-info.c"
    -#include "tcp.c"
    +extern int print_info (gnutls_session_t session);
     
     #include "utils.h"
     
    @@ -58,6 +58,45 @@
     #define MAX_BUF 1024
     #define MSG "Hello TLS"
     
    +/* Connects to the peer and returns a socket
    + * descriptor.
    + */
    +int
    +tcp_connect (void)
    +{
    +  const char *PORT = "5556";
    +  const char *SERVER = "127.0.0.1";
    +  int err, sd;
    +  struct sockaddr_in sa;
    +
    +  /* connects to server
    +   */
    +  sd = socket (AF_INET, SOCK_STREAM, 0);
    +
    +  memset (&sa, '\0', sizeof (sa));
    +  sa.sin_family = AF_INET;
    +  sa.sin_port = htons (atoi (PORT));
    +  inet_pton (AF_INET, SERVER, &sa.sin_addr);
    +
    +  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
    +  if (err < 0)
    +    {
    +      fprintf (stderr, "Connect error\n");
    +      exit (1);
    +    }
    +
    +  return sd;
    +}
    +
    +/* closes the given socket descriptor.
    + */
    +void
    +tcp_close (int sd)
    +{
    +  shutdown (sd, SHUT_RDWR);	/* no more receptions */
    +  close (sd);
    +}
    +
     static char ca_pem[] =
       "-----BEGIN CERTIFICATE-----\n"
       "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
    @@ -70,7 +109,8 @@
       "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
       "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
       "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
    -  "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
    +  "PfqUpIhz5Bbm7J4=\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t ca = { ca_pem, sizeof (ca_pem) };
     
     static char cert_pem[] =
    @@ -86,15 +126,17 @@
       "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
       "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
       "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
    -  "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
    +  "dc8Siq5JojruiMizAf0pA7in\n"
    +  "-----END CERTIFICATE-----\n";
     const gnutls_datum_t cert = { cert_pem, sizeof (cert_pem) };
     
    -static int
    +int
     sign_func (gnutls_session_t session,
     	   void *userdata,
     	   gnutls_certificate_type_t cert_type,
     	   const gnutls_datum_t * cert,
    -	   const gnutls_datum_t * hash, gnutls_datum_t * signature)
    +	   const gnutls_datum_t * hash,
    +	   gnutls_datum_t * signature)
     {
       gnutls_x509_privkey_t key;
       char key_pem[] =
    @@ -130,12 +172,12 @@
     
       ret = 0;
     
    -done:
    + done:
       gnutls_x509_privkey_deinit (key);
       return ret;
     }
     
    -static void
    +void
     client (void)
     {
       int ret, sd, ii;
    @@ -196,7 +238,7 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       gnutls_record_send (session, MSG, strlen (MSG));
     
    @@ -243,7 +285,7 @@
     /* These are global */
     gnutls_certificate_credentials_t x509_cred;
     
    -static gnutls_session_t
    +gnutls_session_t
     initialize_tls_session (void)
     {
       gnutls_session_t session;
    @@ -271,8 +313,8 @@
     static int
     generate_dh_params (void)
     {
    -  const gnutls_datum_t p3 = { (char*) pkcs3, strlen (pkcs3) };
    -  /* Generate Diffie-Hellman parameters - for use with DHE
    +  const gnutls_datum_t p3 = { pkcs3, strlen (pkcs3) };
    +  /* Generate Diffie Hellman parameters - for use with DHE
        * kx algorithms. These should be discarded and regenerated
        * once a day, once a week or once a month. Depending on the
        * security requirements.
    @@ -305,11 +347,11 @@
       "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
       "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
       "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
    -  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
    +  "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
    +  "-----END CERTIFICATE-----\n";
     
     const gnutls_datum_t server_cert = { server_cert_pem,
    -  sizeof (server_cert_pem)
    -};
    +				     sizeof (server_cert_pem) };
     
     static char server_key_pem[] =
       "-----BEGIN RSA PRIVATE KEY-----\n"
    @@ -329,10 +371,9 @@
       "-----END RSA PRIVATE KEY-----\n";
     
     const gnutls_datum_t server_key = { server_key_pem,
    -  sizeof (server_key_pem)
    -};
    +				    sizeof (server_key_pem) };
     
    -static void
    +void
     server_start (void)
     {
       /* Socket operations
    @@ -350,7 +391,7 @@
       sa_serv.sin_addr.s_addr = INADDR_ANY;
       sa_serv.sin_port = htons (PORT);	/* Server Port number */
     
    -  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, sizeof (int));
    +  setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (int));
     
       err = bind (listen_sd, (SA *) & sa_serv, sizeof (sa_serv));
       if (err == -1)
    @@ -371,7 +412,7 @@
       success ("server: ready. Listening to port '%d'.\n", PORT);
     }
     
    -static void
    +void
     server (void)
     {
       /* this must be called once in the program
    @@ -419,12 +460,12 @@
     	   gnutls_protocol_get_name (gnutls_protocol_get_version (session)));
     
       /* see the Getting peer's information example */
    -  print_info (session);
    +  print_info(session);
     
       i = 0;
       for (;;)
         {
    -      memset (buffer, 0, MAX_BUF + 1);
    +      bzero (buffer, MAX_BUF + 1);
           ret = gnutls_record_recv (session, buffer, MAX_BUF);
     
           if (ret == 0)
    diff -Nru gnutls26-2.8.6/tests/x509sign-verify.c gnutls26-2.4.1/tests/x509sign-verify.c
    --- gnutls26-2.8.6/tests/x509sign-verify.c	2009-06-02 19:59:32.000000000 +0100
    +++ gnutls26-2.4.1/tests/x509sign-verify.c	1970-01-01 01:00:00.000000000 +0100
    @@ -1,190 +0,0 @@
    -/*
    - * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
    - *
    - * Author: Nikos Mavrogiannopoulos, Simon Josefsson
    - *
    - * This file is part of GNUTLS.
    - *
    - * GNUTLS 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 3 of the License, or
    - * (at your option) any later version.
    - *
    - * GNUTLS 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 GNUTLS; if not, write to the Free Software Foundation,
    - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
    - */
    -
    -/* Parts copied from GnuTLS example programs. */
    -
    -#ifdef HAVE_CONFIG_H
    -# include 
    -#endif
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include "utils.h"
    -
    -/* sha1 hash of "hello" string */
    -const gnutls_datum_t hash_data = {
    -  (void *)
    -    "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
    -    "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
    -  20
    -};
    -
    -const gnutls_datum_t raw_data = {
    -  (void *) "hello",
    -  5
    -};
    -
    -static char pem1_cert[] =
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
    -  "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
    -  "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
    -  "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
    -  "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
    -  "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
    -  "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
    -  "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
    -  "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
    -  "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
    -  "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
    -  "dc8Siq5JojruiMizAf0pA7in\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -static char pem1_key[] =
    -  "-----BEGIN RSA PRIVATE KEY-----\n"
    -  "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
    -  "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
    -  "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
    -  "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
    -  "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
    -  "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
    -  "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
    -  "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
    -  "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
    -  "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
    -  "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
    -  "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
    -  "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
    -  "-----END RSA PRIVATE KEY-----\n";
    -
    -static char pem2_cert[] =
    -  "-----BEGIN CERTIFICATE-----\n"
    -  "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
    -  "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
    -  "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
    -  "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
    -  "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
    -  "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
    -  "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
    -  "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
    -  "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
    -  "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
    -  "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
    -  "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
    -  "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
    -  "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
    -  "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
    -  "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
    -  "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
    -  "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
    -  "QcDzQ8REwidsfh9uKAluk1c/KQ==\n"
    -  "-----END CERTIFICATE-----\n";
    -
    -static char pem2_key[] =
    -  "-----BEGIN DSA PRIVATE KEY-----\n"
    -  "MIIBugIBAAKBgQC5hPVagb4aDcWKc48Mmy+btg5Lw3Qaf2StnfMoxaBHvJtXVvGX\n"
    -  "1X43A+nyTPTji38wo10vu6GiN8LqNY8fsV+mol8B8SM2K+RPLy3dndU6pjmvelF8\n"
    -  "0iWOl3TPHsV7S3ZDgQcfBhS4blgS4ZDiN2/SG+xoxVji5jDgal4sY3jsBwIVAJ9W\n"
    -  "jEhkL/6NqnptltsEXRbvCKVxAoGAYgZ+5Fx2CLdGGl3Xl9QqIfsfMcnS9Po52CfR\n"
    -  "m/wnXacKpxr8U8EvQ8I3yIV/PUyrXYEy+x1eHlQRFiDGgFrZjJtD8N1roPTD8oqc\n"
    -  "OdIcew/v+iiTj9KhIuvc4IqLrSgOz+8Jhek2vYt6UNV79yUNbGARxO9wkM/WG+u7\n"
    -  "jsY+OpcCgYAPiodX8tHC3KzfS4sPi7op9+ED5FX6spgH1v0SsYC89bq0UNR/oA5D\n"
    -  "55/JeBFf5eQMLGtqpDXcvVTlYDaaMdGKWW5rHLq9LrrrfIfv2sjdoeukg+aLrfr6\n"
    -  "jlvXN8gyPpbCPvRD2n2RAg+3vPjvj/dBAF6W3w8IltzqsukGgq/SLwIUS5/r/2ya\n"
    -  "AoNBXjeBjgCGMei2m8E=\n"
    -  "-----END DSA PRIVATE KEY-----\n";
    -
    -const gnutls_datum_t cert_dat[] = {
    -  { pem1_cert, sizeof (pem1_cert) },
    -  { pem2_cert, sizeof (pem2_cert) }
    -};
    -
    -const gnutls_datum_t key_dat[] = {
    -  { pem1_key, sizeof (pem1_key) },
    -  { pem2_key, sizeof (pem2_key) }
    -};
    -
    -void
    -doit (void)
    -{
    -  gnutls_x509_privkey_t key;
    -  gnutls_x509_crt_t crt;
    -  gnutls_digest_algorithm_t hash_algo;
    -  unsigned char _signature[128];
    -  size_t _signature_size = sizeof (_signature);
    -  gnutls_datum signature;
    -  int ret;
    -  size_t i;
    -
    -  gnutls_global_init ();
    -
    -  for (i = 0; i < sizeof (key_dat) / sizeof (key_dat[0]); i++)
    -    {
    -      success ("loop %d\n", i);
    -
    -      ret = gnutls_x509_privkey_init (&key);
    -      if (ret < 0)
    -	fail ("gnutls_x509_privkey_init\n");
    -
    -      ret = gnutls_x509_privkey_import (key, &key_dat[i], GNUTLS_X509_FMT_PEM);
    -      if (ret < 0)
    -	fail ("gnutls_x509_privkey_import\n");
    -
    -      ret = gnutls_x509_privkey_sign_data (key, GNUTLS_DIG_SHA1, 0, &raw_data,
    -					   _signature, &_signature_size);
    -      if (ret < 0)
    -	fail ("gnutls_x509_privkey_sign_hash\n");
    -
    -      ret = gnutls_x509_crt_init (&crt);
    -      if (ret < 0)
    -	fail ("gnutls_x509_crt_init\n");
    -
    -      ret = gnutls_x509_crt_import (crt, &cert_dat[i], GNUTLS_X509_FMT_PEM);
    -      if (ret < 0)
    -	fail ("gnutls_x509_crt_import\n");
    -
    -      signature.data = _signature;
    -      signature.size = _signature_size;
    -
    -      ret = gnutls_x509_crt_get_verify_algorithm (crt, &signature, &hash_algo);
    -      if (ret < 0 || hash_algo != GNUTLS_DIG_SHA1)
    -	fail ("gnutls_x509_crt_get_verify_algorithm\n");
    -
    -      ret = gnutls_x509_crt_verify_hash (crt, 0, &hash_data, &signature);
    -      if (ret < 0)
    -	fail ("gnutls_x509_privkey_verify_hash\n");
    -
    -      gnutls_x509_privkey_deinit (key);
    -      gnutls_x509_crt_deinit (crt);
    -    }
    -
    -  gnutls_global_deinit ();
    -}
    diff -Nru gnutls26-2.8.6/THANKS gnutls26-2.4.1/THANKS
    --- gnutls26-2.8.6/THANKS	2010-01-20 09:38:42.000000000 +0000
    +++ gnutls26-2.4.1/THANKS	2008-06-30 22:02:37.000000000 +0100
    @@ -1,6 +1,6 @@
     GNU TLS THANKS -- Acknowledgements.
    -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
    -              2006, 2007, 2008, 2009, 2010 Free Software Foundation
    +Copyright (C) 2005, 2006, 2007, 2008  Free Software Foundation
    +Copyright (C) 2000, 2001, 2002, 2003, 2004 Nikos Mavrogiannopoulos
     See the end for copying conditions.
     
     Here is a list of people, who helped in GnuTLS development.  Please
    @@ -85,21 +85,6 @@
     Sam Varshavchik                 
     Tomas Mraz                      
     Matthias Koenig                 
    -Christian Grothoff              
    -James Westby                    
    -Kevin Quick                     
    -Arfrever Frehtes Taifersar Arahesis 
    -Jonathan Manktelow              
    -Thomas Viehmann                 
    -Aaron Ucko                      
    -Anton Lavrentiev                
    -Martin von Gagern               
    -Douglas E. Engert               
    -Dagobert Michelsen              
    -Tom G. Christensen              
    -Peter Hendrickson               
    -Wilankar Trupti                 
    -Boyan Kasarov                   
     
     ----------------------------------------------------------------------
     Copying and distribution of this file, with or without modification,